ZGlmZiAtLWdpdCBhL01hYy9EZW1vL2J1aWxkaW5nLmh0bWwgYi9NYWMvRGVtby9idWlsZGluZy5odG1sCmluZGV4IDgzZTg4ZTQuLjcwMjE1MzcgMTAwNjQ0Ci0tLSBhL01hYy9EZW1vL2J1aWxkaW5nLmh0bWwKKysrIGIvTWFjL0RlbW8vYnVpbGRpbmcuaHRtbApAQCAtMzIsNyArMzIsMTAgQEAKIAogPExJPiBZb3UgbmVlZCBhIE1hY1B5dGhvbiBzb3VyY2UgZGlzdHJpYnV0aW9uLCBvZiBjb3Vyc2UuIFlvdSBjYW4KIG9idGFpbiBvbmUgZnJvbSA8QQotSFJFRj0iZnRwOi8vZnRwLmN3aS5ubC9wdWIvamFjay9weXRob24vbWFjIj5mdHA6Ly9mdHAuY3dpLm5sL3B1Yi9qYWNrL3B5dGhvbi9tYWM8L0E+LAorSFJFRj0iZnRwOi8vZnRwLmN3aS5ubC9wdWIvamFjay9weXRob24vbWFjIj5mdHA6Ly9mdHAuY3dpLm5sL3B1Yi9qYWNrL3B5dGhvbi9tYWM8L0E+CitvciBmcm9tIHRoZSBjb21wYW5pb24gd2VicGFnZSBhdCA8QSBIUkVGPSJodHRwOi8vd3d3LmN3aS5ubC9+amFjay9tYWNweXRob24uaHRtbCI+CitodHRwOi8vd3d3LmN3aS5ubC9+amFjay9tYWNweXRob24uaHRtbDwvQT4gKHdoaWNoIGhhcyB1cC10by1kYXRlIGxpbmtzIHRvIHRoZSBvdGhlcgorcGFja2FnZXMgbmVlZGVkIHRvbykKIGFuZCBwb3NzaWJseSBhbHNvIGZyb20gdGhlIHN0YW5kYXJkIDxBCiBIUkVGPSJmdHA6Ly9mdHAucHl0aG9uLm9yZy9wdWIvcHl0aG9uL21hYyI+cHl0aG9uLm9yZyBmdHAKIHNpdGU8L0E+LiBFdmVyeXRoaW5nIHlvdSBuZWVkIGlzIGFsc28gaW5jbHVkZWQgaW4gdGhlIHN0YW5kYXJkIFB5dGhvbgpAQCAtNDEsMTggKzQ0LDE5IEBACiByZWxhdGVkIHN0dWZmLgogCiA8TEk+IFlvdSBuZWVkIE1ldHJvV2Vya3MgQ29kZVdhcnJpb3IuIFRoZSBjdXJyZW50IGRpc3RyaWJ1dGlvbiBoYXMKLWJlZW4gYnVpbHQgd2l0aCB2ZXJzaW9uIDEwIG9mIENvZGVXYXJyaW9yLiBPcmRlcmluZyBpbmZvcm1hdGlvbiBpcworYmVlbiBidWlsdCB3aXRoIHZlcnNpb24gMTEgb2YgQ29kZVdhcnJpb3IuIE9yZGVyaW5nIGluZm9ybWF0aW9uIGlzCiBhdmFpbGFibGUgb24gdGhlIDxBIEhSRUY9Imh0dHA6Ly93d3cubWV0cm93ZXJrcy5jb20vIj5NZXRyb1dlcmtzCiBob21lcGFnZTwvQT4uIFlvdSBtaWdodCBzdGlsbCBiZSBhYmxlIHRvIGJ1aWxkIFB5dGhvbiB3aXRoIE1QVyBvcgogVGhpbmsvU3ltYW50ZWMgQyBidXQgeW91IGFyZSBiYXNpY2FsbHkgb24geW91ciBvd24uCiAKIDxMST4gWW91IG5lZWQgR1VTSSwgdGhlIEdyYW5kIFVuaWZpZWQgU29ja2V0IEludGVyZmFjZSwgYnkgTWF0dGhpYXMKLU5lZXJhY2hlci4gVGhlIGN1cnJlbnQgZGlzdHJpYnV0aW9uIGhhcyBiZWVuIGJ1aWx0IHdpdGggYSBtb2RpZmllZCB2ZXJzaW9uIG9mCi1DV0dVU0kgMS44LjAuIENXR1VTSSBpcworTmVlcmFjaGVyLiBUaGUgb3JpZ2luYWwgQ1dHVVNJIGlzCiBvYnRhaW5hYmxlIGZyb20gPEEKIEhSRUY9ImZ0cDovL3N1bnNpdGUuY25sYWItc3dpdGNoLmNoL3NvZnR3YXJlL3BsYXRmb3JtL21hY29zL3NyYyI+Ci1mdHA6Ly9zdW5zaXRlLmNubGFiLXN3aXRjaC5jaC9zb2Z0d2FyZS9wbGF0Zm9ybS9tYWNvcy9zcmM8L0E+LgotSXQgaXMgcG9zc2libGUgdG8gYnVpbGQgYSBub24tR1VTSSBQeXRob24sIHNlZSBiZWxvdy4KK2Z0cDovL3N1bnNpdGUuY25sYWItc3dpdGNoLmNoL3NvZnR3YXJlL3BsYXRmb3JtL21hY29zL3NyYzwvQT4sCitidXQgYXQgdGhlIG1vbWVudCBQeXRob24gaXMgYnVpbHQgd2l0aCBhIHJhdGhlciBoYWNrZWQtdXAgdmVyc2lvbiBvZiBHVVNJLAorYXZhaWxhYmxlIGZyb20gSmFjaydzIFB5dGhvbiB3ZWJwYWdlIGFuZCBmdHAtZGlyZWN0b3J5IHJlZmVyZW5jZWQgYWJvdmUuCitJdCBpcyBhbHNvIHBvc3NpYmxlIHRvIGJ1aWxkIGEgbm9uLUdVU0kgUHl0aG9uLCBzZWUgYmVsb3cuCiAKIDwvVUw+CiAKQEAgLTgyLDMwICs4NiwzMCBAQAogSFJFRj0iZnRwOi8vcmhpbm8uaGFydmFyZC5lZHUvcHViL2Rhbi9XQVNURSI+Jmx0O2Z0cDovL3JoaW5vLmhhcnZhcmQuZWR1L3B1Yi9kYW4vV0FTVEUmZ3Q7PC9BPgogYW5kIHZhcmlvdXMgb3RoZXIgcGxhY2VzLgogCi08TEk+IEpQRUcgbGlicmFyeSBieSB0aGUgSW5kZXBlbmRlbnQgSlBFRyBHcm91cC4gUHl0aG9uIGlzIHN0aWxsIGJ1aWx0Ci11c2luZyBhbiBhcmNoYWljIHZlcnNpb24gb2YgdGhlIGxpYnJhcnksIHZlcnNpb24gNC4gSXQgY2FuIGJlIG9idGFpbmVkCi1mcm9tIHRoZSA8QSBIUkVGPSJmdHA6Ly9mdHAuY3dpLm5sL3B1Yi9qYWNrL3B5dGhvbi9tYWMiPgotZnRwOi8vZnRwLmN3aS5ubC9wdWIvamFjay9weXRob24vbWFjPC9BPiBkaXJlY3RvcnksIGNvbXBsZXRlIHdpdGggQ1c4Ci1wcm9qZWN0cy4gSWYgc29tZW9uZSBtYW5hZ2VzIHRvIGJ1aWxkIFB5dGhvbiB3aXRoIHRoZSB2ZXJzaW9uIDYKLWxpYnJhcnkgSSB3b3VsZCBiZSBncmF0ZWZ1bCBpZiB0aGV5IHNlbnQgbWUgdGhlIGNoYW5nZXMgbmVlZGVkLiAgVGhlCi1tb3N0IHJlY2VudCBKUEVHIGxpYnJhcnkgY2FuIGFsd2F5cyBiZSBvYnRhaW5lZCBmcm9tIDxBCis8TEk+IEdkYm0gbGlicmFyeSBmb3IgdGhlIE1hYy4gQXZhaWxhYmxlIGZyb20gSmFjaydzIE1hYyBzb2Z0d2FyZSBwYWdlIGF0Cis8QSBIUkVGPSJodHRwOi8vd3d3LmN3aS5ubC9+amFjay9tYWNzb2Z0d2FyZS5odG1sIj4KK2h0dHA6Ly93d3cuY3dpLm5sL35qYWNrL21hY3NvZnR3YXJlLmh0bWw8L0E+IGFuZCA8QSBIUkVGPSJmdHA6Ly9mdHAuY3dpLm5sL3B1Yi9qYWNrL21hYyI+CitmdHA6Ly9mdHAuY3dpLm5sL3B1Yi9qYWNrL21hYzwvQT4uCisKKzxMST4gSlBFRyBsaWJyYXJ5IGJ5IHRoZSBJbmRlcGVuZGVudCBKUEVHIEdyb3VwLiBBIHZlcnNpb24gaW5jbHVkaW5nCitNYWMgcHJvamVjdHMgY2FuIGJlIGZvdW5kIGF0IEphY2sncyBwYWdlIG1lbnRpb25lZCBhYm92ZS4gCitUaGUgbW9zdCByZWNlbnQgSlBFRyBsaWJyYXJ5IGNhbiBhbHdheXMgYmUgb2J0YWluZWQgZnJvbSA8QQogSFJFRj0iZnRwOi8vZnRwLnV1Lm5ldC9ncmFwaGljcy9qcGVnLyI+ZnRwOi8vZnRwLnV1Lm5ldC9ncmFwaGljcy9qcGVnLzwvQT4uCiAKLTxMST4gVGhlIG5ldHBibS9wYm1wbHVzIGFuZCBsaWJ0aWZmIGxpYnJhcmllcy4gVGhlIG5ldHBibSBkaXN0cmlidXRpb24KKzxMST4gVGhlIG5ldHBibS9wYm1wbHVzLCBsaWJ0aWZmLCB6bGliIGFuZCBwbmcgbGlicmFyaWVzLiBUaGUgbmV0cGJtIGRpc3RyaWJ1dGlvbgogKHdoaWNoIGluY2x1ZGVzIGxpYnRpZmYpIGlzIGdlbmVyYWxseSBhdmFpbGFibGUgb24gSW50ZXJuZXQgZnRwCiBzZXJ2ZXJzLiBGb3IgUHl0aG9uIHBibXBsdXMsIGFuIG9sZGVyIGluY2FybmF0aW9uIG9mIG5ldHBibSwgaXMKIGZ1bmN0aW9uYWxseSBpZGVudGljYWwgdG8gbmV0cGJtLCBzaW5jZSBQeXRob24gb25seSB1c2VzIHRoZSBsaWJyYXJ5CiBhbmQgbm90IHRoZSBjb21wbGV0ZSBhcHBsaWNhdGlvbnMuIEEgZGlzdHJpYnV0aW9uIHdpdGggY29ycmVjdAotcHJvamVjdHMgYW5kIGxpYnJhcnkgc291cmNlIG9ubHkgaXMgYXZhaWxhYmxlIGZyb20sIHlvdSBndWVzc2VkIGl0LCA8QQotSFJFRj0iZnRwOi8vZnRwLmN3aS5ubC9wdWIvamFjay9weXRob24vbWFjIj5mdHA6Ly9mdHAuY3dpLm5sL3B1Yi9qYWNrL3B5dGhvbi9tYWM8L0E+LgorcHJvamVjdHMgYW5kIGxpYnJhcnkgc291cmNlIG9ubHkgaXMgYXZhaWxhYmxlIGZyb20sIHlvdSBndWVzc2VkIGl0LCBKYWNrJ3MgTWFjIHNvZnR3YXJlCitwYWdlIG1lbnRpb25lZCBhYm92ZS4KIAogPC9VTD4KIAogPEgyPlNldHRpbmcgVXA8L0gyPgogCiBOb3cgdGhhdCB5b3UgaGF2ZSBjb2xsZWN0ZWQgZXZlcnl0aGluZyB5b3Ugc2hvdWxkIHN0YXJ0IHdpdGggYnVpbGRpbmcKLXRoZSB2YXJpb3VzIHBhcnRzLiBFdmVyeXRoaW5nIGlzIGluZGVwZW5kZW50LCB3aXRoIHRoZSBzaW5nbGUKLWV4Y2VwdGlvbiB0aGF0IFRjbCBhbmQgVGsgZGVwZW5kIG9uIENXR1VTSS4gSWYgeW91IGRvbid0IHdhbnQgdG8gZml4Cit0aGUgdmFyaW91cyBwYXJ0cy4gIElmIHlvdSBkb24ndCB3YW50IHRvIGZpeAogYWNjZXNzIHBhdGhzIHRyeSB0byBzZXQgdGhpbmdzIHVwIGFzIGZvbGxvd3M6CiAKIDxQUkU+CkBAIC0xMTQsNyArMTE4LDEwIEBACiAJaW1nbGlicwogCQlsaWJqcGVnCiAJCXBibXBsdXMKLQkJCWxpYnRpZmYKKwkJbGlidGlmZgorCQl6bGliCisJCWxpYnBuZworCWdkYm0KIAlNb3JlRmlsZXMgMS40LjMgKG5vdCBuZWVkZWQgYnkgUHl0aG9uLCBvbmx5IGJ5IHRjbC90aykKIAlQeXRob24KIAlUY2wgNy42CkBAIC0xMjIsNyArMTI5LDggQEAKIAlXYXN0ZSAxLjIgZGlzdHJpYnV0aW9uIChpZiB5b3Ugd2FudCB3YXN0ZSkKIDwvUFJFPgogCi1GaXJzdCBidWlsZCBHVVNJLiBNb3ZlIHRoZSBmaWxlcyBmcm9tIHRoZSAiQ1dHVVNJLW1vZHMiIHRvIHRoZSByaWdodAorRmlyc3QgYnVpbGQgR1VTSS4gSWYgeW91IGRpZG4ndCBnZXQgdGhlIHB5dGhvbi1zcGVjaWZpYyBHVVNJIHlvdSBoYXZlIHRvIAorbW92ZSB0aGUgZmlsZXMgZnJvbSB0aGUgIkNXR1VTSS1tb2RzIiB0byB0aGUgcmlnaHQKIHBsYWNlIGluIHRoZSBDV0dVU0kgZGlzdHJpYnV0aW9uIGZvbGRlciwgYW5kIGJ1aWxkIHRoZQogcHJvamVjdHMgPGNvZGU+R1VTSS42OEsutTwvY29kZT4sIDxjb2RlPkdVU0kuQ0ZNNjhLLrU8L2NvZGU+IGFuZAogPGNvZGU+R1VTSS5QUEMutTwvY29kZT4uCkBAIC0xNDEsOCArMTQ5LDEwIEBACiAiRGVsYXkgU2lvdXggd2luZG93IiBwcmVmZXJlbmNlcyBpbiBQeXRob24uCiAKIE5leHQsIGluCi08Y29kZT5Nb3JlRmlsZXM8L2NvZGU+LCA8Y29kZT5saWJqcGVnPC9jb2RlPiwgPGNvZGU+cGJtcGx1czwvY29kZT4KLWFuZDxjb2RlPmxpYnRpZmY8L2NvZGU+IHlvdSBidWlsZCBhbGwgcHJvamVjdHMuIFRjbC90ayBpcyBhIHNwZWNpYWwKKzxjb2RlPk1vcmVGaWxlczwvY29kZT4sIDxjb2RlPmxpYmpwZWc8L2NvZGU+LCA8Y29kZT5wYm1wbHVzPC9jb2RlPiwKKzxjb2RlPnpsaWI8L2NvZGU+LCA8Y29kZT5saWJwbmc8L2NvZGU+LCA8Y29kZT5nZGJtPC9jb2RlPiwKK2FuZDxjb2RlPmxpYnRpZmY8L2NvZGU+IHlvdSBidWlsZCBhbGwgcHJvamVjdHMuIFNvbWV0aW1lcyB0aGUgcHJvamVjdHMgYXJlIGluICJtYWMiCitzdWJmb2xkZXJzLCBzb21ldGltZXMgdGhleSBhcmUgaW4gdGhlIG1haW4gZm9sZGVyLiBUY2wvdGsgaXMgYSBzcGVjaWFsCiBjYXNlLCBzZWUgYmVsb3cuIE9mIGNvdXJzZSwgaWYgeW91IGFyZSBvbmx5IGludGVyZXN0ZWQgaW4gb25lIG9mCiBzdGF0aWMgNjhLLCBDRk02OEsgb3IgUFBDIHlvdSBjYW4gc2tpcCBidWlsZGluZyB0aGUgb3RoZXIgbGlicmFyaWVzLgogCkBAIC0xODcsNiArMTk3LDggQEAKIHRoZSA8Y29kZT5fdGtpbnRlcjwvY29kZT4gbW9kdWxlIHRvIHdvcmsgd2l0aG91dCBhbiBpbnN0YWxsZWQgVGsvVGNsIG9uIHlvdXIKIG1hY2hpbmUuCiAKKzxMST4gWW91IGhhdmUgdG8gYWRhcHQgdGhlIHByb2plY3RzIHRvIHVzZSB0aGUgTVNMIGxpYnJhcmllcy4gVGhpcyBpcyBpbXBvcnRhbnQuCisKIDwvVUw+CiAKIEJ1aWxkIGZpcnN0IHRoZSBUY2wgbGlicmFyeSwgdGhlbgpAQCAtMjE1LDcgKzIyNyw3IEBACiAKIDxETD4KIDxEVD4gYnVpbGQubWFjNjhrLnN0YW5kCi08REQ+IFRoaXMgaXMgd2hlcmUgeW91IHdpbGwgYnVpbGQgc3RhdGljIDY4SyBpbnRlcnByZXRlcnMuCis8REQ+IFRoaXMgaXMgd2hlcmUgeW91IGJ1aWxkIHN0YXRpYyA2OEsgaW50ZXJwcmV0ZXJzLgogCiA8RFQ+IGJ1aWxkLm1hYzY4ay5zaGFyZWQKIDxERD4gVGhpcyBpcyB3aGVyZSB5b3UgYnVpbGQgdGhlIENGTTY4SyBzaGFyZWQgbGlicmFyeSwgaW50ZXJwcmV0ZXIKQEAgLTM2MywxMCArMzc1LDYgQEAKIHRoZSBmb2xsb3dpbmc6CiAKIDxETD4KLTxEVD4gTVdSdW50aW1lU3RhdGljTGliCi08REQ+IEEgbW9kaWZpZWQgdmVyc2lvbiBvZiB0aGUgTWV0cm9XZXJrcyBydW50aW1lIGxpYnJhcnkgdGhhdCBpcwotc3VpdGFibGUgZm9yIFB5dGhvbnMnIHNoYXJlZCBsaWJyYXJ5IGFyY2hpdGVjdHVyZS4gVGhlIHNvdXJjZXMgYWxsCi1jb21lIGZyb20gdGhlIE1XIGRpc3RyaWJ1dGlvbi4KIAogPERUPiBQeXRob25Db3JlUFBDCiA8REQ+IFRoZSBzaGFyZWQgbGlicmFyeSB0aGF0IGNvbnRhaW5zIHRoZSBidWxrIG9mIHRoZSBpbnRlcnByZXRlciBhbmQKQEAgLTM3NywxMSArMzg1LDEwIEBACiAKIDxEVD4gUHl0aG9uUFBDCiA8REQ+IFRoZSBpbnRlcnByZXRlci4gVGhpcyBpcyBiYXNpY2FsbHkgYSByb3V0aW5lIHRvIGNhbGwgb3V0IHRvIHRoZQotc2hhcmVkIGxpYnJhcnkuIEJlY2F1c2Ugb2YgdGhlIG9yZ2FuaXphdGlvbiBvZiBHVVNJIGl0IGFsc28gY29udGFpbnMKLXRoZSBHdXNpIHNldHRpbmdzIHJlc291cmNlICh0b2dldGhlciB3aXRoIGEgUmVzRWRpdCB0ZW1wbGF0ZSwgc28geW91Ci1jYW4gY2hhbmdlIHRoZSBndXNpIHNldHRpbmdzIHNob3VsZCB5b3UgZmVlbCBsaWtlIGRvaW5nIHNvKS4gIERvCitzaGFyZWQgbGlicmFyeS4gRG8KIDxlbT5ub3Q8L2VtPiBydW4gaXQgeWV0LCB0aGlzIHdpbGwgcG9zc2libHkgcmVzdWx0IGluIGEgZ2FyYmxlZAotcHJlZmVyZW5jZXMgZmlsZS4gPHA+CitwcmVmZXJlbmNlcyBmaWxlLiBTZWUgdGhlIHNlY3Rpb24gYmVsb3cgb24gcmVidWlsZGluZyAuZXhwIGZpbGVzIGlmIHlvdQorZ2V0IGZ1bm55IGxpbmtlciBlcnJvcnMuIDxwPgogCiA8RFQ+IFB5dGhvbkFwcGxldFBQQwogPEREPiBUaGUgYXBwbGV0IHNrZWxldG9uIGFwcGxpY2F0aW9uLiBWZXJ5IHNpbWlsYXIgdG8KQEAgLTQ0MCw3ICs0NDcsOSBAQAogcmVmZXJlbmNlIHRvIGl0IGluIHRoZSBwcm9qZWN0IChpbiB0aGUgImNvbmZpZyIgc2VjdGlvbikuIE5leHQsIGJ1aWxkIFB5dGhvbkNvcmUuCiBUaGlzIHdpbGwgY3JlYXRlIGEgbmV3IC5leHAgZmlsZS4gRWRpdCB0aGlzIGZpbGUgdG8gcmVtb3ZlIHRoZSByZWZlcmVuY2VzIHRvCiB0aGUgc3ltYm9scyA8Y29kZT5fX2luaXRpYWxpemU8L2NvZGU+LCA8Y29kZT5fX3Rlcm1pbmF0ZTwvY29kZT4sIDxjb2RlPnNldGptcDwvY29kZT4sCi08Y29kZT5sb25nam1wPC9jb2RlPiBhbmQgPGNvZGU+X19wdG1mX251bGw8L2NvZGU+LiBOZXh0LCBhZGQgdGhlIC5leHAgZmlsZSB0byB0aGUgcHJvamVjdAorPGNvZGU+bG9uZ2ptcDwvY29kZT4sIDxjb2RlPm1haW48L2NvZGU+IGFuZCAoZm9yIFBQQykgPGNvZGU+X19wdG1mX251bGw8L2NvZGU+IG9yIChmb3IKK0NGTTY4SykgPGNvZGU+X19zdGFydDwvY29kZT4gYW5kIDxjb2RlPmR1bW15X2luaXRfcm91dGluZTwvY29kZT4uCitOZXh0LCBhZGQgdGhlIC5leHAgZmlsZSB0byB0aGUgcHJvamVjdAogYWdhaW4gYW5kIHJlYnVpbGQgUHl0aG9uQ29yZS4gPHA+CiAKIFRoaXMgcmF0aGVyIGNvbnZvbHV0ZWQgcHJvY2VkdXJlIGlzIG5lZWRlZCB0byBlbnN1cmUgdGhhdCBwbHVnaW4gbW9kdWxlcyBkb24ndApAQCAtNDU1LDcgKzQ2NCw3IEBACiAKIDxMST4gSXQgbWF5IGJlIHBvc3NpYmxlIHRvIHVzZSB0aGUgPGNvZGU+UHl0aG9uQ29yZTwvY29kZT4gc2hhcmVkCiBsaWJyYXJ5IHRvIGVtYmVkIFB5dGhvbiBpbiBhbm90aGVyIHByb2dyYW0sIGlmIHlvdXIgcHJvZ3JhbSBjYW4gbGl2ZQotd2l0aCB1c2luZyBHVVNJIGZvciBJL08uIFVzZSBQeXRob25Db3JlIGluIHN0ZWFkIG9mIHlvdXIgQyBsaWJyYXJ5Cit3aXRoIHVzaW5nIEdVU0kgZm9yIEkvTy4gVXNlIFB5dGhvbkNvcmUgaW4gc3RlYWQgb2YgeW91ciBNU0wgQyBsaWJyYXJ5CiAob3IsIGF0IHRoZSB2ZXJ5IGxlYXN0LCBsaW5rIGl0IGJlZm9yZSB0aGUgbm9ybWFsIEMgbGlicmFyeSkuIExldCBtZQoga25vdyB3aGV0aGVyIHRoaXMgd29ya3MuCiAKQEAgLTQ2OSwxNyArNDc4LDE3IEBACiA8TEk+IFRoZSBQeXRob24gc2hhcmVkIGxpYnJhcnkgYXJjaGl0ZWN0dXJlIGlzIGEgdmFyaWFudCBvZiB0aGUgYXJjaGl0ZWN0dXJlCiBkZXNjcmliZWQgYXMgImFwcGxpY2F0aW9uIHdpdGggc2hhcmVkIGxpYnJhcmllcyBhbmQgZHJvcGlucyIgaW4gdGhlIE1ldHJvV2Vya3MKICJUYXJnZXRpbmcgTWFjT1MiIGRvY3VtZW50YXRpb24uIFRoZSBQeXRob24gQXBwbGljYXRpb24gYW5kIGFwcGxldC10ZW1wbGF0ZSB1c2UKLXRoZSA8Y29kZT5BcHBSdW50aW1lLkxpYjwvY29kZT4gcnVudGltZSBsaWJyYXJ5ICh3aXRoIHByb3Blcmx5IHNldCBDRk0KLWluaXRpYWxpemF0aW9uIGFuZCB0ZXJtaW5hdGlvbiByb3V0aW5lcykuIFB5dGhvbkNvcmUgdXNlcyA8Y29kZT5TaGxpYlJ1bnRpbWUuTGliPC9jb2RlPgotYW5kIDxjb2RlPk1XUnVudGltZVN0YXRpY0xpYi5MaWI8L2NvZGU+LCB3aGljaCBpcyBhbG1vc3QgaWRlbnRpY2FsIHRvIHRoZSBNVwotc3RhbmRhcmQgPGNvZGU+TVdSdW50aW1lTGliPC9jb2RlPiwgYnV0IG5vdCBkeW5hbWljYWxseSBsb2FkZWQuIFRoaXMgbGlicmFyeSBjb250YWlucwotdGhlIHBhcnQgb2YgdGhlIHJ1bnRpbWUgdGhhdCBjYW4gKG9yIG11c3QpIGJlIHNoYXJlZCBiZXR3ZWVuIGFsbCBtb2R1bGVzIGluIHRoZSBwcm9ncmFtLgordGhlIDxjb2RlPk1TTCBBcHBSdW50aW1lLkxpYjwvY29kZT4gcnVudGltZSBsaWJyYXJ5ICh3aXRoIHByb3Blcmx5IHNldCBDRk0KK2luaXRpYWxpemF0aW9uIGFuZCB0ZXJtaW5hdGlvbiByb3V0aW5lcykuIFB5dGhvbkNvcmUgdXNlcyA8Y29kZT5NU0wgUnVudGltZS5MaWI8L2NvZGU+LAord2hpY2ggaXMgcmVhbGx5IGludGVuZGVkIGZvciBzdGFuZGFsb25lIHByb2dyYW1zIGJ1dCB3aGljaCB3ZSBmb29sIGludG8gd29ya2luZyBieQorcHJvdmlkaW5nIGEgZHVtbXkgbWFpbiBwcm9ncmFtLgogSXQgaXMgbGlua2VkIHN0YXRpY2FsbHkgaW50byBQeXRob25Db3JlIChhbmQgZXhwb3J0ZWQgdG8gdGhlIGFwcGxpY2F0aW9ucyBhbmQgcGx1Z2lucykKIHNvIHdlIGRvIG5vdCBoYXZlIHRvIGRpc3RyaWJ1dGUgeWV0IGFub3RoZXIgc2hhcmVkIGxpYnJhcnkuIFBsdWdpbiBtb2R1bGVzIHVzZQotPGNvZGU+U2hsaWJSdW50aW1lLkxpYjwvY29kZT4gYW5kIG9idGFpbiB0aGUgcmVzdCBmcm9tIFB5dGhvbkNvcmUuIFB5dGhvbkNvcmUgdXNlcyBhCis8Y29kZT5NU0wgU2hsaWJSdW50aW1lLkxpYjwvY29kZT4gKG5vdCB0aGUgZHJvcGluIHJ1bnRpbWU6IG1vZHVsZXMgYXJlIG5ldmVyIHVubG9hZGVkKQorYW5kIG9idGFpbiB0aGUgcmVzdCBmcm9tIFB5dGhvbkNvcmUuIFB5dGhvbkNvcmUgdXNlcyBhCiBub24tc3RhbmRhcmQgaW5pdGlhbGl6YXRpb24gZW50cnkgcG9pbnQsIDxjb2RlPl9faW5pdGlhbGl6ZV93aXRoX3Jlc291cmNlczwvY29kZT4sIHRvCi1iZSBhYmxlIHRvIG9idGFpbiByZXNvdXJjZXMgZnJvbSB0aGUgbGlicmFyeSBmaWxlIGxhdGVyb24uIFBsdWdpbnMgY2FuIGRvIHRoZSBzYW1lIG9yCi11c2UgdGhlIHN0YW5kYXJkIDxjb2RlPl9faW5pdGlhbGl6ZTwvY29kZT4gZW50cnkgcG9pbnQuCitiZSBhYmxlIHRvIG9idGFpbiByZXNvdXJjZXMgZnJvbSB0aGUgbGlicmFyeSBmaWxlIGxhdGVyIG9uLiBQbHVnaW5zIGNhbiBkbyB0aGUgc2FtZQorKF90a2ludGVyIGRvZXMpIG9yIHVzZSB0aGUgc3RhbmRhcmQgPGNvZGU+X19pbml0aWFsaXplPC9jb2RlPiBlbnRyeSBwb2ludC4KIAogCiA8L1VMPgo=