MS4gSU5UUk9EVVpJT05FCgpXaW5lIOggdW4gcHJvZ3JhbW1hIGNoZSBwZXJtZXR0ZSBkaSBlc2VndWlyZSBwcm9ncmFtbWkgc3ZpbHVwcGF0aSBwZXIgTWljcm9zb2Z0CldpbmRvd3MgKGNvbXByZXNpIGVzZWd1aWJpbGkgRE9TLCBXaW5kb3dzIDMueCBlIFdpbjMyKSBzdSBVbml4LiBFJyBjb3N0aXR1aXRvCmRhIHVuIGNhcmljYXRvcmUgZGkgcHJvZ3JhbW1hIGNoZSBjYXJpY2EgZWQgZXNlZ3VlIGNvZGljZSBiaW5hcmlvIE1pY3Jvc29mdApXaW5kb3dzLCBlZCB1bmEgbGlicmVyaWEgKGNoaWFtYXRhIFdpbmVsaWIpIGNoZSBpbXBsZW1lbnRhIGxlIGNoaWFtYXRlIGFsbGUgQVBJCldpbmRvd3MgdXNhbmRvIGlsIGxvcm8gZXF1aXZhbGVudGUgVW5peCBlIFgxMS4gTGEgbGlicmVyaWEgcHXyIGVzc2VyZSB1c2F0YQphbmNoZSBwZXIgcG9ydGFyZSBjb2RpY2UgV2luMzIgaW4gZXNlZ3VpYmlsaSBVbml4IG5hdGl2aS4KV2luZSDoIHVuIGZyZWUgc29mdHdhcmUsIHJpbGFzY2lhdG8gc290dG8gR05VIExHUEw7IGxlZ2dpIGlsIGZpbGUgTElDRU5TRSBwZXIgaQpkZXR0YWdsaS4KCjIuIFFVSUNLIFNUQVJUCgpPZ25pIHZvbHRhIGNoZSBzaSBjb21waWxhIGRhbCBzb3JnZW50ZSwg6CByYWNjb21hbmRhYmlsZSB1c2FyZSBpbCBXaW5lIGluc3RhbGxlcgpwZXIgY29tcGlsYXJlIGUgaW5zdGFsbGFyZSBXaW5lLiBEYWxsYSBkaXJlY3RvcnkgZGkgcHJpbmNpcGFsZSBkZWwKc29yZ2VudGUgV2luZSwgZXNlZ3VpOgoKLi90b29scy93aW5laW5zdGFsbAoKRXNlZ3VpIGkgcHJvZ3JhbW1pIGNvbiAid2luZSBbb3B6aW9uaV0gcHJvZ3JhbW1hIi4gUGVyIGFsdHJlIGluZm9ybWF6aW9uaSBlCnJpc29sdXppb25lIGRpIHByb2JsZW1pLCBsZWdnaSBpbCByZXN0byBkaSBxdWVzdG8gZmlsZSwgbGEgcGFnaW5hIFdpbmUgbWFuLCBpCmZpbGUgbmVsbGEgZGlyZWN0b3J5IGRvY3VtZW50YXppb25lIGRlbCBzb3JnZW50ZSBXaW5lIChsZWdnaSAiRE9DVU1FTlRBWklPTkUiKSwKZWQgaW4gbW9kbyBwYXJ0aWNvbGFyZSBsYSBub3Rldm9sZSBxdWFudGl04CBkaSBpbmZvcm1hemlvbmkgY2hlIHB1b2kgdHJvdmFyZSBhCmh0dHA6Ly93d3cud2luZWhxLm9yZy4KCjMuIFJFUVVJU0lUSSBNSU5JTUkgREkgU0lTVEVNQQoKUGVyIGNvbXBpbGFyZSBlZCBlc2VndWlyZSBXaW5lLCBkZXZpIGF2ZXJlIHVubyBkZWkgc2VndWVudGk6CgoJTGludXggdmVyc2lvbmUgMi4wLjM2IG8gc3VwZXJpb3JlCglGcmVlQlNEIDQueCBvIEZyZWVCU0QgNS1DT1JSRU5URSBvIHN1cGVyaW9yZQoJU29sYXJpcyB4ODYgMi41IG8gc3VwZXJpb3JlCglOZXRCU0QtQ09SUkVOVEUKCnBvaWNo6SBXaW5lIHJpY2hpZWRlIGlsIHN1cHBvcnRvIGFsIEtlcm5lbC1sZXZlbCB0aHJlYWQgcGVyIGVzc2VyZSBlc2VndWl0bywKc29sbyBpIHNpc3RlbWkgb3BlcmF0aXZpIHNvcHJhIG1lbnppb25hdGkgc29ubyBzdXBwb3J0YXRpLgpBbHRyaSBzaXN0ZW1pIG9wZXJhdGl2aSBjaGUgc3VwcG9ydGFubyBpIGtlcm5lbCB0aHJlYWRzIHBvdHJhbm5vIGVzc2VyZQpzdXBwb3J0YXRpIGluIGZ1dHVyby4KCkluZm9ybWF6aW9uaSBMaW51eDoKCk1lbnRyZSBMaW51eCAyLjIueCBkb3ZyZWJiZSBmdW56aW9uYXJlLCBMaW51eCAyLjAueCBwb3RyZWJiZSBmdW56aW9uYXJlCih2ZXJzaW9uaSBwafkgdmVjY2hpZSBkZWxsYSAyLjAueCBhdmV2YW5vIGNyYXNoIGNvbGxlZ2F0aSBhaSB0aHJlYWQpLCDoCmNvbnNpZ2xpYWJpbGUgcXVpbmRpIGF2ZXJlIHVuYSB2ZXJzaW9uZSBjb3JyZW50ZSBkZWwgS2VybmVsIGNvbWUgbGEgMi40LnguCgpJbmZvcm1hemlvbmkgRnJlZUJTRDoKCkFzc2ljdXJhdGkgY2hlIGxlIG9wemlvbmkgVVNFUl9MRFQsIFNZU1ZTSE0sIFNZU1ZTRU0sIGUgU1lTVk1TRyBzaWFubyBhYmlsaXRhdGUgbmVsCktlcm5lbC4gQWx0cmUgaW5mb3JtYXppb25pIHNpIHRyb3Zhbm8gbmVsIHBvcnRzIHRyZWU6CmZ0cDovL2Z0cC5mcmVlYnNkLm9yZy9wdWIvRnJlZUJTRC9wb3J0cy9wb3J0cy9lbXVsYXRvcnMvd2luZS8KCkluZm9ybWF6aW9uaSBTb2xhcmlzOgoKU2Fy4CBuZWNlc3NhcmlvIGNvbXBpbGFyZSBXaW5lIGNvbiBsJ2luc2llbWUgZGkgdG9vbCBHTlUgKGdjYywgZ2FzLCBldGMuKS4KQXR0ZW56aW9uZSA6IGluc3RhbGxhcmUgZ2FzICpub24qIHNpZ25pZmljYSBjaGUgcXVlc3RvIHNhcuAgdXNhdG8gZGEgZ2NjLgpFJyBuZWNlc3NhcmlvIHJpY29tcGlsYXJlIGdjYyBkb3BvIGF2ZXIgaW5zdGFsbGF0byBnYXMgbyBzeW1ibGlua2luZyBjYywgY29z7Apjb21lIGxvIOggcGVyIGxkIGRlbGxlIGdudSB0b29scy4KCkluZm9ybWF6aW9uaSBOZXRCU0Q6CgpBc3NpY3VyYXRpIGNoZSBsZSBvcHppb25pIFVTRVJfTERULCBTWVNWU0hNLCBTWVNWU0VNLCBlIFNZU1ZNU0cgc2lhbm8gYWJpbGl0YXRlIG5lbApLZXJuZWwuCgpGaWxlIFN5c3RlbSBzdXBwb3J0YXRpOgpXaW5lIGRvdnJlYmJlIHBvdGVyIGVzc2VyZSBlc2VndWl0byBzdWxsYSBtYWdnaW9yYW56YSBkZWkgZmlsZSBzeXN0ZW0uIFR1dHRhdmlhLApXaW5lIHBvdHJlYmJlIG5vbiBwYXJ0aXJlIHNlIHVtc2RvcyDoIHVzYXRvIHBlciBsYSBkaXJlY3RvcnkgL3RtcC4gQWxjdW5pCnByb2JsZW1pIGRpIGNvbXBhdGliaWxpdOAgc29ubyBzdGF0aSByaXBvcnRhdGkgdXNhbmRvIGwnYWNjZXNzbyBhaSBmaWxlCmF0dHJhdmVyc28gU2FtYmEuIElub2x0cmUsIHBvaWNo6SBOVEZTIHB18iBlc3NlcmUgdXNhdG8gaW4gbWFuaWVyYSBzaWN1cmEgc29sbwpjb24gYWNjZXNzbyBkaSBzb2xhIGxldHR1cmEgcGVyIG9yYSwgc2NvbnNpZ2xpYW1vIGwndXRpbGl6em8gZGVsIE5URlMsIHBvaWNo6SBpCnByb2dyYW1taSBXaW5kb3dzIGhhbm5vIGJpc29nbm8gZGkgYXZlcmUgYWNjZXNzbyBpbiBzY3JpdHR1cmEgb3Z1bnF1ZS4KTmVsIGNhc28gIGRpIGZpbGUgTlRGUywgcXVlc3RpIHZhbm5vIGNvcGlhdGkgaW4gdW5hIGxvY2F6aW9uZSBuZWxsYSBxdWFsZSBzaSBoYQphY2Nlc3NvIGluIHNjcml0dHVyYS4KClJlcXVpc2l0aSBiYXNlOgoKRGV2ZSBlc3NlcmUgaW5zdGFsbGF0byBhbmNoZSBsJ1gxMSBkZXZlbG9wbWVudCBpbmNsdXNpIGkgZmlsZSAoY2hpYW1hdG8KeGxpYjZnLWRldiBpbiBEZWJpYW4gZSBYZnJlZTg2LWRldmVsIGluIFJlZEhhdCkuCgpUb29sIGRpIGNvbXBpbGF6aW9uZSBuZWNlc3Nhcmk6CgpTdSBzaXN0ZW1pIHg4NiDoIHJpY2hpZXN0YSB1bmEgdmVyc2lvbmUgZ2NjID49IGEgMi43LjIuClZlcnNpb25pIHBp+SB2ZWNjaGllIHBvdHJlYmJlcm8gYXZlcmUgZGVpIHByb2JsZW1pIHF1YW5kbyBhbGN1bmkgZmlsZSB2ZW5nb25vCmNvbXBpbGF0aSBjb24gbCdvdHRpbWl6emF6aW9uZSwgYSBjYXVzYSBkaSBwcm9ibGVtaSBjb24gbGEgZ2VzdGlvbmUgZGVnbGkgaGVhZGVyCmRlaSBmaWxlLiBQZ2NjIGFsIG1vbWVudG8gbm9uIGZ1bnppb25hIGNvbiBXaW5lLiBMYSBjYXVzYSBkaSBxdWVzdG8gcHJvYmxlbWEK6CBzY29ub3NjaXV0YS4KCkNoaWFyYW1lbnRlIOggbmVjZXNzYXJpbyBhbmNoZSAibWFrZSIgKHBp+SBwcmVjaXNhbWVudGUgR05VIG1ha2UpLgoKRScgbmVjZXNzYXJpbyBhbmNoZSBmbGV4IHZlcnNpb25lIDIuNSBvIHN1Y2Nlc3NpdmEgZSBiaXNvbi4KU2Ugc3RhaSB1c2FuZG8gdW5hIFJlZEhhdCBvIERlYmlhbiwgaW5zdGFsbGEgaSBwYWNjaGV0dGkgRmxleCBlIEJpc29uLgoKTGlicmVyaWUgcGVyIHN1cHBvcnRpIG9wemlvbmFsaToKClNlIHZ1b2kgaWwgc3VwcG9ydG8gYWxsYSBzdGFtcGEgQ1VQUywgaW5zdGFsbGEgaSBwYWNjaGV0dGkgc2lhIGN1cHMgY2hlCmN1cHMtZGV2ZWwuCgpQZXIgbCdlc2VjdXppb25lIGF1dG9tYXRpY2EgZGVsbGEgc3VpdGUgZGkgc2NyaXB0IHRlc3QsIGF2cmFpIGJpc29nbm8gZGVsCnN1cHBvcnRvIGRlbGxhIExpYnBlcmwgZGV2ZWxvcG1lbnQgaGVhZGVyIChwYWNjaGV0dG8gbGlicGVybC1kZXYgc3UgRGViaWFuKS4KCk5lbCBjYXNvIGluIGN1aSB2b2xlc3NpIGNvbXBpbGFyZSBsYSBkb2N1bWVudGF6aW9uZSBkYSBzb2xvLCBsZWdnaSBsYSBzZXppb25lCiJET0NVTUVOVEFaSU9ORSIuCgo0LiBDT01QSUxBWklPTkUKCk5lbCBjYXNvIGluIGN1aSBzaSBzY2VnbGllc3NlIGRpIG5vbiB1dGlsaXp6YXJlIFdpbmVpbnN0YWxsLCBlc2VndWkgaSBzZWd1ZW50aQpjb21hbmRpIHBlciBjb21waWxhcmUgV2luZToKCi4vY29uZmlndXJlCm1ha2UgZGVwZW5kCm1ha2UKClF1ZXN0byBjb21waWxlcuAgaWwgcHJvZ3JhbW1hICJ3aW5lIiBlIG51bWVyb3NlIGxpYnJlcmllIGUgYmluYXJpIGRpIHN1cHBvcnRvLgpJbCBwcm9ncm1tYSAid2luZSIgY2FyaWNhIGVkIGVzZWd1ZSBnbGkgZXNlZ3VpYmlsaSBXaW5kb3dzLgpMYSBsaWJyZXJpYSAibGlid2luZSIgKCJXaW5lbGliIikgcHXyIGVzc2VyZSB1c2F0YSBwZXIgY29tcGlsYXJlIGUgbGlua2FyZSBpbApjb2RpY2Ugc29yZ2VudGUgV2luZG93cyBzb3R0byBVbml4LgoKUGVyIHZlZGVyZSBsZSBvcHppb25pIGRlbGxhIGNvbmZpZ3VyYXppb25lIGRlbGxhIGNvbXBpbGF6aW9uZSwgZXNlZ3VpCi4vY29uZmlndXJlIC1oZWxwLgoKUGVyIGZhcmUgbCdhZ2dpb3JuYW1lbnRvIGFkIHVuYSBudW92YSB2ZXJzaW9uZSB1dGlsaXp6YW5kbyB1bmEgcGF0Y2gsIHByaW1hIGVudHJhCm5lbGxhIGRpcmVjdG9yeSBwcmluY2lwYWxlIGRlaSBzb3JnZW50aSAocXVlbGxhIGNoZSBjb250aWVuZSBxdWVzdG8KZmlsZSBSRUFETUUpLiBRdWluZGkgZXNlZ3VpICJtYWtlIGRpc3RjbGVhbiIsIGVkIGFwcGxpY2EgbGEgcGF0Y2ggYWxsYSByZWxlYXNlIGNvbjoKCglHdW56aXAgLWMgcGF0Y2gtZmlsZSB8IHBhdGNoIC1wMQoKZG92ZSAicGF0Y2gtZmlsZSIg6CBpbCBub21lIGRlbGxhIHBhdGNoIChxdWFsY29zYSBjb21lIFdpbmUtYWFtbWdnLmRpZmYuZ3opLgpQdW9pIHF1aW5kaSByaWVzZWd1aXJlICIuL2NvbmZpZ3VyZSIsIGUgcXVpbmRpIGVzZWd1aXJlICJtYWtlIGRlcGVuZCAmJiBtYWtlIi4KCjUuIFNFVFVQCgpVbmEgdm9sdGEgY2hlIFdpbmUg6CBzdGF0byBjb21waWxhdG8gY29ycmV0dGFtZW50ZSwgcHVvaSBlc2VndWlyZQoibWFrZSBpbnN0YWxsIjsgcXVlc3RvIGluc3RhbGxlcuAgZ2xpIGVzZWd1aWJpbGkgd2luZSwgbGEgcGFnaW5hIFdpbmUgbWFuLCBlCnBvY2hpIGFsdHJpIGZpbGUgbmVjZXNzYXJpLgoKTm9uIGRpbWVudGljYXJ0aSBkaSBkaXNpbnN0YWxsYXJlIHF1YWxzaWFzaSBwcmVjZWRlbnRlIGluc3RhbGxhemlvbmUgZGkgV2luZSBpbgpjb25mbGl0dG8uIFByb3ZhIHNpYSAiZHBrZyAtciB3aW5lIiBvICJycG0gLWUgd2luZSIgbyAibWFrZSB1bmluc3RhbGwiIHByaW1hIGRpCmluc3RhbGxhcmUuCgpTZSB2dW9pIGxlZ2dlcmUgbGEgZG9jdW1lbnRhemlvbmUgZm9ybml0YSBjb24gaWwgc29yZ2VudGUgV2luZSwgY29udHJvbGxhIGxhCnNlemlvbmUgIkRPQ1VNRU5UQVpJT05FIi4KCldpbmUgaGEgYmlzb2dubyBkaSB1biBmaWxlIGRpIGNvbmZpZ3VyYXppb25lIGNoaWFtYXRvICJjb25maWciIG5lbGxhIHR1YQpkaXJlY3Rvcnkgfi8ud2luZS4gSWwgZm9ybWF0byBkaSBxdWVzdG8gZmlsZSDoIHNwaWVnYXRvIG5lbGxhIHBhZ2luYSBjb25maWcgZmlsZQptYW4gKGRvY3VtZW50YXRpb24vd2luZS5jb25mLm1hbikuCklsIGZpbGUgZG9jdW1lbnRhdGlvbi9zYW1wbGVzL2NvbmZpZyBjb250aWVuZSB1biBlc2VtcGlvIGRpIGZpbGUgZGkKY29uZmlndXJhemlvbmUgY2hlIGRldmUgZXNzZXJlIGFkYXR0YXRvIGUgY29waWF0byBuZWxsYSBsb2NhemlvbmUgbWVuemlvbmF0YSBpbgpwcmVjZWRlbnphLgoKQ29udHJvbGxhIGwnYXJlYSBTdXBwb3J0IHN1IGh0dHA6Ly93d3cud2luZWhxLm9yZy8gcGVyIGFsdHJpIHN1Z2dlcmltZW50aSBzdWxsYQpjb25maWd1cmF6aW9uZS4KCk5lbCBjYXNvIGRpIGVycm9yaSBkaSBjYXJpY2FtZW50byBkZWxsZSBsaWJyZXJpZQooZS5nLiAiRXJyb3Igd2hpbGUgbG9hZGluZyBzaGFyZWQgbGlicmFyaWVzOiBsaWJudGRsbC5zbyIpLCBhY2NlcnRhdGkgZGkKYWdnaXVuZ2VyZSBpbCBwZXJjb3JzbyBkZWxsYSBkaXJlY3RvcnkgYSAvZXRjL2xkLnNvLmNvbmYgZWQgZXNlZ3VpIGxkY29uZmlnIGNvbWUKcm9vdC4KCjYuIEVTRUdVSVJFIEkgUFJPR1JBTU1JCgpRdWFuZG8gc2kgZXNlZ3VlIFdpbmUsIHNpIHB18iBzcGVjaWZpY2FyZSBsJ2ludGVybyBwZXJjb3JzbyBkZWxsJ2VzZWd1aWJpbGUgbwpzb2xvIGlsIG5vbWUgZGVsIGZpbGUuCgpQZXIgZXNlbXBpbzogcGVyIGVzZWd1aXJlIFNvbGl0YXJpbzoKCgl3aW5lIHNvbAkoVXRpbGl6emFuZG8gaWwgcGVyY29yc28gZGkgcmljZXJjYSBjb21lIHNwZWNpZmljYXRvCgl3aW5lIHNvbC5leGUgICAgICBuZWwgZmlsZSBkaSBjb25maWd1cmF6aW9uZSBwZXIgbG9jYWxpenphcmUgaWwgZmlsZSkKCgl3aW5lIGM6XFx3aW5kb3dzXFxzb2wuZXhlICh1dGlsaXp6YW5kbyBsYSBzaW50YXNzaSBET1MpCgl3aW5lIC91c3Ivd2luZG93cy9zb2wuZXhlICh1dGlsaXp6YW5kbyBsYSBzaW50YXNzaSBVbml4KQoJd2luZSBzb2wuZXhlIC9wYXJhbWV0ZXIxIC1wYXJhbWV0ZXIyIHBhcmFtZXRlcjMKCQkJCSAgKGNoaWFtYSBpbCBwcm9ncmFtbWEgY29uIGRlaSBwYXJhbWV0cmkpCgpOb3RhOiBpbCBwZXJjb3JzbyBkZWwgZmlsZSBwdfIgZXNzZXJlIGFnZ2l1bnRvIGFsIHBlcmNvcnNvIHF1YW5kbyDoIGZvcm5pdG8gdW4Kbm9tZSBpbnRlcm8gc3VsbGEgY29tbWFuZGxpbmUuCgpXaW5lIG5vbiDoIGFuY29yYSBjb21wbGV0bywgcXVpbmRpIG1vbHRpIHByb2dyYW1taSBwb3RyZWJiZXJvIGFuZGFyZSBpbiBjcmFzaC4gU2UKd2luZWRiZyDoIHNldHRhdG8gY29ycmV0dGFtZW50ZSBpbiBhY2NvcmRvIGNvbiBsYSBkb2N1bWVudGF6aW9uZSBjb250ZW51dGEgaW4KZG9jdW1lbnRhdGlvbi9kZWJ1Z2dlci5zZ21sLCBzYXJhaSBtYW5kYXRvIGFsbCdpbnRlcm5vIGRpIHVuIGRlYnVnZ2VyIGNvc+wKcG90cmFpIHN0dWRpYXJlIGUgcmlzb2x2ZXJlIGlsIHByb2JsZW1hLgpQZXIgbWFnZ2lvcmkgaW5mb3JtYXppb25pIHN1IGNvbWUgZmFyZSBjafIsIHBlciBmYXZvcmUgbGVnZ2kgaWwgZmlsZQpkb2N1bWVudGF0aW9uL2RlYnVnZ2luZy5zZ21sLgoKRG92cmVzdGkgZmFyZSB1biBiYWNrdXAgZGkgdHV0dGkgaSB0dW9pIGZpbGUgaW1wb3J0YW50aSBhaSBxdWFsaSBjb25jZWRpCmwnYWNjZXNzbyBkYSBwYXJ0ZSBkaSBXaW5lLCBvcHB1cmUgY3JlYW5lIHVuYSBzcGVjaWFsZSBjb3BpYSBXaW5lLCBwb2ljaOkgc2kKc29ubyB2ZXJpZmljYXRpIGRlaSBjYXNpIGRpIHV0ZW50aSBjaGUgaGFubm8gcmlwb3J0YXRvIGxhIGNvcnJ1emlvbmUgZGkgZmlsZS4KTk9OIGVzZWd1aXJlIEV4cGxvcmVyLCBhZCBlc2VtcGlvLCBzZSBub24gaGFpIHVuIGJhY2t1cCBhcHByb3ByaWF0bywgcGVyY2jpIGEKdm9sdGUgcmlub21pbmEvc3RvcnBpYSBkaXZlcnNlIGRpcmVjdG9yeS4gQW5jaGUgYWx0cmUgYXBwbGljYXppb25pIE1TIG5vbiBzb25vCnNpY3VyZSBjb21lIGFkIGVzZW1waW8gTWVzc2VuZ2VyLCB2aXN0byBjaGUgbGFuY2lhbm8gRXhwbG9yZXIgaW4gdW4gbW9kbyBvCm5lbGwnYWx0cm8uIFF1ZXN0ZSBwYXJ0aWNvbGFyaSBjb3JydXppb25pICghJCEkISQhJC5wZnIpIHBvc3Nvbm8gZXNzZXJlCnBhcnppYWxtZW50ZSBjb3JyZXR0ZSB1dGlsaXp6YW5kbwpodHRwOi8vaG9tZS5uZXhnby5kZS9hbmRpLm1vaHIvZG93bmxvYWQvZGVjb3JydXB0X2V4cGxvcmVyCgo3LiBET0NVTUVOVEFaSU9ORQoKUHVvaSB0cm92YXJlIGRlbGxhIGRvY3VtZW50YXppb25lIChkaXZlcnNlIGd1aWRlIHBlciBXaW5lIGV0Yy4pIG5lbGxhIGRpcmVjdG9yeQpkb2N1bWVudGF0aW9uLyAoYSBwYXJ0ZSBxdWVsbGUgZGlzcG9uaWJpbGkgc3UgV2luZUhRKS4KClNlIHZ1b2kgcHJvY2Vzc2FyZSBpIGZpbGUgU0dNTCwgcHVvaSBlc2VndWlyZSAibWFrZSBkb2MiIG5lbGxhIGRpcmVjdG9yeQpkb2N1bWVudGF0aW9uLy4KUGVyIGZhcmUgY2nyIOggcmljaGllc3RvIGlsIHBhY2NoZXR0byBkaSB0b29sIHNnbWwgKHBlciBkYjJodG1sLCBkYjJwcywgZGIycGRmKQpjaGlhbWF0aToKCkRlYmlhbjoJCWRvY2Jvb2stdXRpbHMKTWFuZHJha2U6CXNnbWwtdG9vbHMtQS5CLkMtRERtZGsKU3VTRToJCWRvY2JrdGxzLUEuQkIuQy1ERAoKOC4gUEVSIE9UVEVORVJFIFBJVScgSU5GT1JNQVpJT05JCgpXV1c6IAlVbiBncmFuIHF1YW50aXRhdGl2byBkaSBpbmZvcm1hemlvbmkgbWVzc2UgYSBkaXNwb3NpemlvbmUgZGEgV2luZUhRIHN1IFdpbmUKCeggZGlzcG9uaWJpbGUgYWxsJ2luZGlyaXp6byBodHRwOi8vd3d3LndpbmVocS5vcmcvOiB2YXJpZSBndWlkZSBzdSBXaW5lLAoJZGF0YWJhc2UsIGlkZW50aWZpY2F6aW9uZSBkaSBidWcuIFF1ZXN0byDoIHByb2JhYmlsbWVudGUgaWwgbWlnbGlvciBwdW50byBkaQoJcGFydGVuemEuCgpGQVE6IAlMZSBGQVEgZGkgV2luZSBzaSB0cm92YW5vIGFsbCdpbmRpcml6em8gaHR0cDovL3d3dy53aW5laHEub3JnL0ZBUQoKVXNlbmV0OiBQdW9pIGRpc2N1dGVyZSBkaSBhcmdvbWVudGkgY29sbGVnYXRpIGEgV2luZSBlZCBvdHRlbmVyZSBhaXV0byBzdQoJY29tcC5lbXVsYXRvcnMubXMtd2luZG93cy53aW5lLgoKQnVnczoJIFNlZ25hbGEgaSBCdWcgc3UgV2luZSBCdWd6aWxsYSBhbGwnaW5kaXJpenpvIGh0dHA6Ly9idWdzLndpbmVocS5vcmcKCXBlciBmYXZvcmUgY2VyY2EgbmVsIGRhdGFiYXNlIGRpIGJ1Z3ppbGxhIHBlciB2ZXJpZmljYXJlIGNoZSBpbCB0dW8gcHJvYmxlbWEKCW5vbiBzaWEgZ2ngIHN0YXRvIHRyb3ZhdG8gcHJpbWEgZGkgcG9zdGFyZSB1biByYXBwb3J0byBzdSB1biBidWcuCglQdW9pIGFuY2hlIG1hbmRhcmUgbGUgc2VnbmFsYXppb25pIHN1aSBidWcgYSBjb21wLmVtdWxhdG9ycy5tcy13aW5kb3dzLndpbmUuCglQZXIgZmF2b3JlIGxlZ2dpIGlsIGZpbGUgZG9jdW1lbnRhdGlvbi9idWdzLnNnbWwgcGVyIHZlcmlmaWNhcmUgcXVhbGkKCWluZm9ybWF6aW9uaSBzb25vIHJpY2hpZXN0ZS4KCklSQzoJIEFpdXRvIG9ubGluZSDoIGRpc3BvbmliaWxlIG5lbCBjYW5hbGUgI3dpbmVocSBzdSBpcmMuZnJlZW5vZGUubmV0LgoKQ1ZTOiAJTCdhbGJlcm8gZGkgc3ZpbHVwcG8gY29ycmVudGUgZGkgd2luZSBlJyBkaXNwb25pYmlsZSBpbiBDVlMuIFZpc2l0YQoJaHR0cDovL3d3dy53aW5laHEub3JnL2N2cyBwZXIgdWx0ZXJpb3JpIGluZm9ybWF6aW9uaS4KCk1haWxpbmcgbGlzdDoKCUVzaXN0b25vIGRpdmVyc2UgbWFpbGluZyBsaXN0IHBlciBnbGkgc3ZpbHVwcGF0b3JpIGRpIFdpbmU7IHZpc2l0YQoJaHR0cDovL3d3dy53aW5laHEub3JnL2ZvcnVtcyBwZXIgdWx0ZXJpb3JpIGluZm9ybWF6aW9uaS4KClNlIGFnZ2l1bmdpIHF1YWxjb3NhLCBvIGNvcnJlZ2dpIHVuIGJ1ZywgcGVyIGZhdm9yZSBtYW5kYSB1bmEgcGF0Y2ggKG5lbCBmb3JtYXRvCidkaWZmIC11JykgYSB3aW5lLXBhdGNoZXNAd2luZWhxLm9yZyBwZXIgZXNzZXJlIGZhcmxvIGluY2x1ZGVyZSBuZWxsYSBwcm9zc2ltYSByZWxlYXNlLgoKLS0KQWxleGFuZHJlIEp1bGxpYXJkCmp1bGxpYXJkQHdpbmVocS5vcmcKCnRyYWRvdHRvIGRhOgpGcmFuY2VzY28gRGkgUHVuemlvCmZyYW5jZXNjb19kaXB1bnppb0B2aXJnaWxpby5pdApzZSB0cm92aSBlcnJvcmkgbmVsbGEgdHJhZHV6aW9uZSBwZXIgZmF2b3JlIHNlZ25hbGFsaSB0cmFtaXRlIGUtbWFpbC4gR3JhemllClRyYWR1emlvbmUgYWdnaW9ybmF0YSBpbCAxOC8wMS8yMDA0IGRhIEl2YW4gTGVvIFB1b3RpClBvdGV0ZSBjb250YXRhcm1pIGFsbCdpbmRpcml6em8gcHVvdGlAaW53aW5kLml0Cg==