{"blobs":{"147295d4f79c596728b4e0c3a60f4967e21b3f59ddd0509827a3dc1242b926ba":"ZTJlLXRlc3Rpbmc6IHRoaXJkLXBhcnR5IG5vdGljZXMKClRoaXMgc2tpbGwgY29tYmluZXMgT3JxZXN0cmlhJ3Mgb3duIHRleHQgd2l0aCBtYXRlcmlhbCBmcm9tIHRoZSBzb3VyY2VzIGJlbG93LgpBZGFwdGVkIGZvciBPcnFlc3RyaWE6IGNvbmRlbnNlZCBhbmQgY2hhbmdlZC4KCjEuIGFudGhyb3BpY3Mvc2tpbGxzLCBza2lsbHMvd2ViYXBwLXRlc3RpbmcKICAgaHR0cHM6Ly9naXRodWIuY29tL2FudGhyb3BpY3Mvc2tpbGxzL3RyZWUvbWFpbi9za2lsbHMvd2ViYXBwLXRlc3RpbmcKICAgTGljZW5zZTogQXBhY2hlLTIuMAogICBDb3B5cmlnaHQgMjAyNiBBbnRocm9waWMsIFBCQy4KCjIuIG1pY3Jvc29mdC9wbGF5d3JpZ2h0LCBkb2NzL3NyYy9iZXN0LXByYWN0aWNlcy1qcy5tZAogICBodHRwczovL2dpdGh1Yi5jb20vbWljcm9zb2Z0L3BsYXl3cmlnaHQvYmxvYi9tYWluL2RvY3Mvc3JjL2Jlc3QtcHJhY3RpY2VzLWpzLm1kCiAgIExpY2Vuc2U6IEFwYWNoZS0yLjAKICAgUG9ydGlvbnMgQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uCiAgIFBvcnRpb25zIENvcHlyaWdodCAyMDE3IEdvb2dsZSBJbmMuCgozLiBQcmFtb2REdXR0YS9xYXNraWxscywgc2VlZC1za2lsbHMvZTJlLXRlc3RpbmctcGF0dGVybnMKICAgaHR0cHM6Ly9naXRodWIuY29tL1ByYW1vZER1dHRhL3Fhc2tpbGxzL2Jsb2IvbWFpbi9zZWVkLXNraWxscy9lMmUtdGVzdGluZy1wYXR0ZXJucy9TS0lMTC5tZAogICBMaWNlbnNlOiBNSVQKICAgQ29weXJpZ2h0IChjKSAyMDI2IFByYW1vZCBEdXR0YSAoVGhlIFRlc3RpbmcgQWNhZGVteSkKCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpQcmFtb2REdXR0YS9xYXNraWxscywgc2VlZC1za2lsbHMvZTJlLXRlc3RpbmctcGF0dGVybnMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgpNSVQgTGljZW5zZQoKQ29weXJpZ2h0IChjKSAyMDI2IFByYW1vZCBEdXR0YSAoVGhlIFRlc3RpbmcgQWNhZGVteSkKClBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkKb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwKaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cwp0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsCmNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcwpmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgoKVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsCmNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCgpUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgpJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCkFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwKT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKU09GVFdBUkUuCgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUGxheXdyaWdodCBOT1RJQ0UgKHJlcHJvZHVjZWQgYXMgcmVxdWlyZWQgYnkgQXBhY2hlIExpY2Vuc2UgMi4wLCBzZWN0aW9uIDQoZCkpOgoKUGxheXdyaWdodApDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbgoKVGhpcyBzb2Z0d2FyZSBjb250YWlucyBjb2RlIGRlcml2ZWQgZnJvbSB0aGUgUHVwcGV0ZWVyIHByb2plY3QgKGh0dHBzOi8vZ2l0aHViLmNvbS9wdXBwZXRlZXIvcHVwcGV0ZWVyKSwKYXZhaWxhYmxlIHVuZGVyIHRoZSBBcGFjaGUgMi4wIGxpY2Vuc2UgKGh0dHBzOi8vZ2l0aHViLmNvbS9wdXBwZXRlZXIvcHVwcGV0ZWVyL2Jsb2IvbWFzdGVyL0xJQ0VOU0UpLgoKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkFwYWNoZSBMaWNlbnNlIDIuMCwgZm9yOiBhbnRocm9waWNzL3NraWxscywgc2tpbGxzL3dlYmFwcC10ZXN0aW5nOyBtaWNyb3NvZnQvcGxheXdyaWdodCwgZG9jcy9zcmMvYmVzdC1wcmFjdGljZXMtanMubWQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBcGFjaGUgTGljZW5zZQogICAgICAgICAgICAgICAgICAgICAgICAgICBWZXJzaW9uIDIuMCwgSmFudWFyeSAyMDA0CiAgICAgICAgICAgICAgICAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy8KCiAgIFRFUk1TIEFORCBDT05ESVRJT05TIEZPUiBVU0UsIFJFUFJPRFVDVElPTiwgQU5EIERJU1RSSUJVVElPTgoKICAgMS4gRGVmaW5pdGlvbnMuCgogICAgICAiTGljZW5zZSIgc2hhbGwgbWVhbiB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgZm9yIHVzZSwgcmVwcm9kdWN0aW9uLAogICAgICBhbmQgZGlzdHJpYnV0aW9uIGFzIGRlZmluZWQgYnkgU2VjdGlvbnMgMSB0aHJvdWdoIDkgb2YgdGhpcyBkb2N1bWVudC4KCiAgICAgICJMaWNlbnNvciIgc2hhbGwgbWVhbiB0aGUgY29weXJpZ2h0IG93bmVyIG9yIGVudGl0eSBhdXRob3JpemVkIGJ5CiAgICAgIHRoZSBjb3B5cmlnaHQgb3duZXIgdGhhdCBpcyBncmFudGluZyB0aGUgTGljZW5zZS4KCiAgICAgICJMZWdhbCBFbnRpdHkiIHNoYWxsIG1lYW4gdGhlIHVuaW9uIG9mIHRoZSBhY3RpbmcgZW50aXR5IGFuZCBhbGwKICAgICAgb3RoZXIgZW50aXRpZXMgdGhhdCBjb250cm9sLCBhcmUgY29udHJvbGxlZCBieSwgb3IgYXJlIHVuZGVyIGNvbW1vbgogICAgICBjb250cm9sIHdpdGggdGhhdCBlbnRpdHkuIEZvciB0aGUgcHVycG9zZXMgb2YgdGhpcyBkZWZpbml0aW9uLAogICAgICAiY29udHJvbCIgbWVhbnMgKGkpIHRoZSBwb3dlciwgZGlyZWN0IG9yIGluZGlyZWN0LCB0byBjYXVzZSB0aGUKICAgICAgZGlyZWN0aW9uIG9yIG1hbmFnZW1lbnQgb2Ygc3VjaCBlbnRpdHksIHdoZXRoZXIgYnkgY29udHJhY3Qgb3IKICAgICAgb3RoZXJ3aXNlLCBvciAoaWkpIG93bmVyc2hpcCBvZiBmaWZ0eSBwZXJjZW50ICg1MCUpIG9yIG1vcmUgb2YgdGhlCiAgICAgIG91dHN0YW5kaW5nIHNoYXJlcywgb3IgKGlpaSkgYmVuZWZpY2lhbCBvd25lcnNoaXAgb2Ygc3VjaCBlbnRpdHkuCgogICAgICAiWW91IiAob3IgIllvdXIiKSBzaGFsbCBtZWFuIGFuIGluZGl2aWR1YWwgb3IgTGVnYWwgRW50aXR5CiAgICAgIGV4ZXJjaXNpbmcgcGVybWlzc2lvbnMgZ3JhbnRlZCBieSB0aGlzIExpY2Vuc2UuCgogICAgICAiU291cmNlIiBmb3JtIHNoYWxsIG1lYW4gdGhlIHByZWZlcnJlZCBmb3JtIGZvciBtYWtpbmcgbW9kaWZpY2F0aW9ucywKICAgICAgaW5jbHVkaW5nIGJ1dCBub3QgbGltaXRlZCB0byBzb2Z0d2FyZSBzb3VyY2UgY29kZSwgZG9jdW1lbnRhdGlvbgogICAgICBzb3VyY2UsIGFuZCBjb25maWd1cmF0aW9uIGZpbGVzLgoKICAgICAgIk9iamVjdCIgZm9ybSBzaGFsbCBtZWFuIGFueSBmb3JtIHJlc3VsdGluZyBmcm9tIG1lY2hhbmljYWwKICAgICAgdHJhbnNmb3JtYXRpb24gb3IgdHJhbnNsYXRpb24gb2YgYSBTb3VyY2UgZm9ybSwgaW5jbHVkaW5nIGJ1dAogICAgICBub3QgbGltaXRlZCB0byBjb21waWxlZCBvYmplY3QgY29kZSwgZ2VuZXJhdGVkIGRvY3VtZW50YXRpb24sCiAgICAgIGFuZCBjb252ZXJzaW9ucyB0byBvdGhlciBtZWRpYSB0eXBlcy4KCiAgICAgICJXb3JrIiBzaGFsbCBtZWFuIHRoZSB3b3JrIG9mIGF1dGhvcnNoaXAsIHdoZXRoZXIgaW4gU291cmNlIG9yCiAgICAgIE9iamVjdCBmb3JtLCBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgTGljZW5zZSwgYXMgaW5kaWNhdGVkIGJ5IGEKICAgICAgY29weXJpZ2h0IG5vdGljZSB0aGF0IGlzIGluY2x1ZGVkIGluIG9yIGF0dGFjaGVkIHRvIHRoZSB3b3JrCiAgICAgIChhbiBleGFtcGxlIGlzIHByb3ZpZGVkIGluIHRoZSBBcHBlbmRpeCBiZWxvdykuCgogICAgICAiRGVyaXZhdGl2ZSBXb3JrcyIgc2hhbGwgbWVhbiBhbnkgd29yaywgd2hldGhlciBpbiBTb3VyY2Ugb3IgT2JqZWN0CiAgICAgIGZvcm0sIHRoYXQgaXMgYmFzZWQgb24gKG9yIGRlcml2ZWQgZnJvbSkgdGhlIFdvcmsgYW5kIGZvciB3aGljaCB0aGUKICAgICAgZWRpdG9yaWFsIHJldmlzaW9ucywgYW5ub3RhdGlvbnMsIGVsYWJvcmF0aW9ucywgb3Igb3RoZXIgbW9kaWZpY2F0aW9ucwogICAgICByZXByZXNlbnQsIGFzIGEgd2hvbGUsIGFuIG9yaWdpbmFsIHdvcmsgb2YgYXV0aG9yc2hpcC4gRm9yIHRoZSBwdXJwb3NlcwogICAgICBvZiB0aGlzIExpY2Vuc2UsIERlcml2YXRpdmUgV29ya3Mgc2hhbGwgbm90IGluY2x1ZGUgd29ya3MgdGhhdCByZW1haW4KICAgICAgc2VwYXJhYmxlIGZyb20sIG9yIG1lcmVseSBsaW5rIChvciBiaW5kIGJ5IG5hbWUpIHRvIHRoZSBpbnRlcmZhY2VzIG9mLAogICAgICB0aGUgV29yayBhbmQgRGVyaXZhdGl2ZSBXb3JrcyB0aGVyZW9mLgoKICAgICAgIkNvbnRyaWJ1dGlvbiIgc2hhbGwgbWVhbiBhbnkgd29yayBvZiBhdXRob3JzaGlwLCBpbmNsdWRpbmcKICAgICAgdGhlIG9yaWdpbmFsIHZlcnNpb24gb2YgdGhlIFdvcmsgYW5kIGFueSBtb2RpZmljYXRpb25zIG9yIGFkZGl0aW9ucwogICAgICB0byB0aGF0IFdvcmsgb3IgRGVyaXZhdGl2ZSBXb3JrcyB0aGVyZW9mLCB0aGF0IGlzIGludGVudGlvbmFsbHkKICAgICAgc3VibWl0dGVkIHRvIExpY2Vuc29yIGZvciBpbmNsdXNpb24gaW4gdGhlIFdvcmsgYnkgdGhlIGNvcHlyaWdodCBvd25lcgogICAgICBvciBieSBhbiBpbmRpdmlkdWFsIG9yIExlZ2FsIEVudGl0eSBhdXRob3JpemVkIHRvIHN1Ym1pdCBvbiBiZWhhbGYgb2YKICAgICAgdGhlIGNvcHlyaWdodCBvd25lci4gRm9yIHRoZSBwdXJwb3NlcyBvZiB0aGlzIGRlZmluaXRpb24sICJzdWJtaXR0ZWQiCiAgICAgIG1lYW5zIGFueSBmb3JtIG9mIGVsZWN0cm9uaWMsIHZlcmJhbCwgb3Igd3JpdHRlbiBjb21tdW5pY2F0aW9uIHNlbnQKICAgICAgdG8gdGhlIExpY2Vuc29yIG9yIGl0cyByZXByZXNlbnRhdGl2ZXMsIGluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8KICAgICAgY29tbXVuaWNhdGlvbiBvbiBlbGVjdHJvbmljIG1haWxpbmcgbGlzdHMsIHNvdXJjZSBjb2RlIGNvbnRyb2wgc3lzdGVtcywKICAgICAgYW5kIGlzc3VlIHRyYWNraW5nIHN5c3RlbXMgdGhhdCBhcmUgbWFuYWdlZCBieSwgb3Igb24gYmVoYWxmIG9mLCB0aGUKICAgICAgTGljZW5zb3IgZm9yIHRoZSBwdXJwb3NlIG9mIGRpc2N1c3NpbmcgYW5kIGltcHJvdmluZyB0aGUgV29yaywgYnV0CiAgICAgIGV4Y2x1ZGluZyBjb21tdW5pY2F0aW9uIHRoYXQgaXMgY29uc3BpY3VvdXNseSBtYXJrZWQgb3Igb3RoZXJ3aXNlCiAgICAgIGRlc2lnbmF0ZWQgaW4gd3JpdGluZyBieSB0aGUgY29weXJpZ2h0IG93bmVyIGFzICJOb3QgYSBDb250cmlidXRpb24uIgoKICAgICAgIkNvbnRyaWJ1dG9yIiBzaGFsbCBtZWFuIExpY2Vuc29yIGFuZCBhbnkgaW5kaXZpZHVhbCBvciBMZWdhbCBFbnRpdHkKICAgICAgb24gYmVoYWxmIG9mIHdob20gYSBDb250cmlidXRpb24gaGFzIGJlZW4gcmVjZWl2ZWQgYnkgTGljZW5zb3IgYW5kCiAgICAgIHN1YnNlcXVlbnRseSBpbmNvcnBvcmF0ZWQgd2l0aGluIHRoZSBXb3JrLgoKICAgMi4gR3JhbnQgb2YgQ29weXJpZ2h0IExpY2Vuc2UuIFN1YmplY3QgdG8gdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mCiAgICAgIHRoaXMgTGljZW5zZSwgZWFjaCBDb250cmlidXRvciBoZXJlYnkgZ3JhbnRzIHRvIFlvdSBhIHBlcnBldHVhbCwKICAgICAgd29ybGR3aWRlLCBub24tZXhjbHVzaXZlLCBuby1jaGFyZ2UsIHJveWFsdHktZnJlZSwgaXJyZXZvY2FibGUKICAgICAgY29weXJpZ2h0IGxpY2Vuc2UgdG8gcmVwcm9kdWNlLCBwcmVwYXJlIERlcml2YXRpdmUgV29ya3Mgb2YsCiAgICAgIHB1YmxpY2x5IGRpc3BsYXksIHB1YmxpY2x5IHBlcmZvcm0sIHN1YmxpY2Vuc2UsIGFuZCBkaXN0cmlidXRlIHRoZQogICAgICBXb3JrIGFuZCBzdWNoIERlcml2YXRpdmUgV29ya3MgaW4gU291cmNlIG9yIE9iamVjdCBmb3JtLgoKICAgMy4gR3JhbnQgb2YgUGF0ZW50IExpY2Vuc2UuIFN1YmplY3QgdG8gdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mCiAgICAgIHRoaXMgTGljZW5zZSwgZWFjaCBDb250cmlidXRvciBoZXJlYnkgZ3JhbnRzIHRvIFlvdSBhIHBlcnBldHVhbCwKICAgICAgd29ybGR3aWRlLCBub24tZXhjbHVzaXZlLCBuby1jaGFyZ2UsIHJveWFsdHktZnJlZSwgaXJyZXZvY2FibGUKICAgICAgKGV4Y2VwdCBhcyBzdGF0ZWQgaW4gdGhpcyBzZWN0aW9uKSBwYXRlbnQgbGljZW5zZSB0byBtYWtlLCBoYXZlIG1hZGUsCiAgICAgIHVzZSwgb2ZmZXIgdG8gc2VsbCwgc2VsbCwgaW1wb3J0LCBhbmQgb3RoZXJ3aXNlIHRyYW5zZmVyIHRoZSBXb3JrLAogICAgICB3aGVyZSBzdWNoIGxpY2Vuc2UgYXBwbGllcyBvbmx5IHRvIHRob3NlIHBhdGVudCBjbGFpbXMgbGljZW5zYWJsZQogICAgICBieSBzdWNoIENvbnRyaWJ1dG9yIHRoYXQgYXJlIG5lY2Vzc2FyaWx5IGluZnJpbmdlZCBieSB0aGVpcgogICAgICBDb250cmlidXRpb24ocykgYWxvbmUgb3IgYnkgY29tYmluYXRpb24gb2YgdGhlaXIgQ29udHJpYnV0aW9uKHMpCiAgICAgIHdpdGggdGhlIFdvcmsgdG8gd2hpY2ggc3VjaCBDb250cmlidXRpb24ocykgd2FzIHN1Ym1pdHRlZC4gSWYgWW91CiAgICAgIGluc3RpdHV0ZSBwYXRlbnQgbGl0aWdhdGlvbiBhZ2FpbnN0IGFueSBlbnRpdHkgKGluY2x1ZGluZyBhCiAgICAgIGNyb3NzLWNsYWltIG9yIGNvdW50ZXJjbGFpbSBpbiBhIGxhd3N1aXQpIGFsbGVnaW5nIHRoYXQgdGhlIFdvcmsKICAgICAgb3IgYSBDb250cmlidXRpb24gaW5jb3Jwb3JhdGVkIHdpdGhpbiB0aGUgV29yayBjb25zdGl0dXRlcyBkaXJlY3QKICAgICAgb3IgY29udHJpYnV0b3J5IHBhdGVudCBpbmZyaW5nZW1lbnQsIHRoZW4gYW55IHBhdGVudCBsaWNlbnNlcwogICAgICBncmFudGVkIHRvIFlvdSB1bmRlciB0aGlzIExpY2Vuc2UgZm9yIHRoYXQgV29yayBzaGFsbCB0ZXJtaW5hdGUKICAgICAgYXMgb2YgdGhlIGRhdGUgc3VjaCBsaXRpZ2F0aW9uIGlzIGZpbGVkLgoKICAgNC4gUmVkaXN0cmlidXRpb24uIFlvdSBtYXkgcmVwcm9kdWNlIGFuZCBkaXN0cmlidXRlIGNvcGllcyBvZiB0aGUKICAgICAgV29yayBvciBEZXJpdmF0aXZlIFdvcmtzIHRoZXJlb2YgaW4gYW55IG1lZGl1bSwgd2l0aCBvciB3aXRob3V0CiAgICAgIG1vZGlmaWNhdGlvbnMsIGFuZCBpbiBTb3VyY2Ugb3IgT2JqZWN0IGZvcm0sIHByb3ZpZGVkIHRoYXQgWW91CiAgICAgIG1lZXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgoKICAgICAgKGEpIFlvdSBtdXN0IGdpdmUgYW55IG90aGVyIHJlY2lwaWVudHMgb2YgdGhlIFdvcmsgb3IKICAgICAgICAgIERlcml2YXRpdmUgV29ya3MgYSBjb3B5IG9mIHRoaXMgTGljZW5zZTsgYW5kCgogICAgICAoYikgWW91IG11c3QgY2F1c2UgYW55IG1vZGlmaWVkIGZpbGVzIHRvIGNhcnJ5IHByb21pbmVudCBub3RpY2VzCiAgICAgICAgICBzdGF0aW5nIHRoYXQgWW91IGNoYW5nZWQgdGhlIGZpbGVzOyBhbmQKCiAgICAgIChjKSBZb3UgbXVzdCByZXRhaW4sIGluIHRoZSBTb3VyY2UgZm9ybSBvZiBhbnkgRGVyaXZhdGl2ZSBXb3JrcwogICAgICAgICAgdGhhdCBZb3UgZGlzdHJpYnV0ZSwgYWxsIGNvcHlyaWdodCwgcGF0ZW50LCB0cmFkZW1hcmssIGFuZAogICAgICAgICAgYXR0cmlidXRpb24gbm90aWNlcyBmcm9tIHRoZSBTb3VyY2UgZm9ybSBvZiB0aGUgV29yaywKICAgICAgICAgIGV4Y2x1ZGluZyB0aG9zZSBub3RpY2VzIHRoYXQgZG8gbm90IHBlcnRhaW4gdG8gYW55IHBhcnQgb2YKICAgICAgICAgIHRoZSBEZXJpdmF0aXZlIFdvcmtzOyBhbmQKCiAgICAgIChkKSBJZiB0aGUgV29yayBpbmNsdWRlcyBhICJOT1RJQ0UiIHRleHQgZmlsZSBhcyBwYXJ0IG9mIGl0cwogICAgICAgICAgZGlzdHJpYnV0aW9uLCB0aGVuIGFueSBEZXJpdmF0aXZlIFdvcmtzIHRoYXQgWW91IGRpc3RyaWJ1dGUgbXVzdAogICAgICAgICAgaW5jbHVkZSBhIHJlYWRhYmxlIGNvcHkgb2YgdGhlIGF0dHJpYnV0aW9uIG5vdGljZXMgY29udGFpbmVkCiAgICAgICAgICB3aXRoaW4gc3VjaCBOT1RJQ0UgZmlsZSwgZXhjbHVkaW5nIHRob3NlIG5vdGljZXMgdGhhdCBkbyBub3QKICAgICAgICAgIHBlcnRhaW4gdG8gYW55IHBhcnQgb2YgdGhlIERlcml2YXRpdmUgV29ya3MsIGluIGF0IGxlYXN0IG9uZQogICAgICAgICAgb2YgdGhlIGZvbGxvd2luZyBwbGFjZXM6IHdpdGhpbiBhIE5PVElDRSB0ZXh0IGZpbGUgZGlzdHJpYnV0ZWQKICAgICAgICAgIGFzIHBhcnQgb2YgdGhlIERlcml2YXRpdmUgV29ya3M7IHdpdGhpbiB0aGUgU291cmNlIGZvcm0gb3IKICAgICAgICAgIGRvY3VtZW50YXRpb24sIGlmIHByb3ZpZGVkIGFsb25nIHdpdGggdGhlIERlcml2YXRpdmUgV29ya3M7IG9yLAogICAgICAgICAgd2l0aGluIGEgZGlzcGxheSBnZW5lcmF0ZWQgYnkgdGhlIERlcml2YXRpdmUgV29ya3MsIGlmIGFuZAogICAgICAgICAgd2hlcmV2ZXIgc3VjaCB0aGlyZC1wYXJ0eSBub3RpY2VzIG5vcm1hbGx5IGFwcGVhci4gVGhlIGNvbnRlbnRzCiAgICAgICAgICBvZiB0aGUgTk9USUNFIGZpbGUgYXJlIGZvciBpbmZvcm1hdGlvbmFsIHB1cnBvc2VzIG9ubHkgYW5kCiAgICAgICAgICBkbyBub3QgbW9kaWZ5IHRoZSBMaWNlbnNlLiBZb3UgbWF5IGFkZCBZb3VyIG93biBhdHRyaWJ1dGlvbgogICAgICAgICAgbm90aWNlcyB3aXRoaW4gRGVyaXZhdGl2ZSBXb3JrcyB0aGF0IFlvdSBkaXN0cmlidXRlLCBhbG9uZ3NpZGUKICAgICAgICAgIG9yIGFzIGFuIGFkZGVuZHVtIHRvIHRoZSBOT1RJQ0UgdGV4dCBmcm9tIHRoZSBXb3JrLCBwcm92aWRlZAogICAgICAgICAgdGhhdCBzdWNoIGFkZGl0aW9uYWwgYXR0cmlidXRpb24gbm90aWNlcyBjYW5ub3QgYmUgY29uc3RydWVkCiAgICAgICAgICBhcyBtb2RpZnlpbmcgdGhlIExpY2Vuc2UuCgogICAgICBZb3UgbWF5IGFkZCBZb3VyIG93biBjb3B5cmlnaHQgc3RhdGVtZW50IHRvIFlvdXIgbW9kaWZpY2F0aW9ucyBhbmQKICAgICAgbWF5IHByb3ZpZGUgYWRkaXRpb25hbCBvciBkaWZmZXJlbnQgbGljZW5zZSB0ZXJtcyBhbmQgY29uZGl0aW9ucwogICAgICBmb3IgdXNlLCByZXByb2R1Y3Rpb24sIG9yIGRpc3RyaWJ1dGlvbiBvZiBZb3VyIG1vZGlmaWNhdGlvbnMsIG9yCiAgICAgIGZvciBhbnkgc3VjaCBEZXJpdmF0aXZlIFdvcmtzIGFzIGEgd2hvbGUsIHByb3ZpZGVkIFlvdXIgdXNlLAogICAgICByZXByb2R1Y3Rpb24sIGFuZCBkaXN0cmlidXRpb24gb2YgdGhlIFdvcmsgb3RoZXJ3aXNlIGNvbXBsaWVzIHdpdGgKICAgICAgdGhlIGNvbmRpdGlvbnMgc3RhdGVkIGluIHRoaXMgTGljZW5zZS4KCiAgIDUuIFN1Ym1pc3Npb24gb2YgQ29udHJpYnV0aW9ucy4gVW5sZXNzIFlvdSBleHBsaWNpdGx5IHN0YXRlIG90aGVyd2lzZSwKICAgICAgYW55IENvbnRyaWJ1dGlvbiBpbnRlbnRpb25hbGx5IHN1Ym1pdHRlZCBmb3IgaW5jbHVzaW9uIGluIHRoZSBXb3JrCiAgICAgIGJ5IFlvdSB0byB0aGUgTGljZW5zb3Igc2hhbGwgYmUgdW5kZXIgdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mCiAgICAgIHRoaXMgTGljZW5zZSwgd2l0aG91dCBhbnkgYWRkaXRpb25hbCB0ZXJtcyBvciBjb25kaXRpb25zLgogICAgICBOb3R3aXRoc3RhbmRpbmcgdGhlIGFib3ZlLCBub3RoaW5nIGhlcmVpbiBzaGFsbCBzdXBlcnNlZGUgb3IgbW9kaWZ5CiAgICAgIHRoZSB0ZXJtcyBvZiBhbnkgc2VwYXJhdGUgbGljZW5zZSBhZ3JlZW1lbnQgeW91IG1heSBoYXZlIGV4ZWN1dGVkCiAgICAgIHdpdGggTGljZW5zb3IgcmVnYXJkaW5nIHN1Y2ggQ29udHJpYnV0aW9ucy4KCiAgIDYuIFRyYWRlbWFya3MuIFRoaXMgTGljZW5zZSBkb2VzIG5vdCBncmFudCBwZXJtaXNzaW9uIHRvIHVzZSB0aGUgdHJhZGUKICAgICAgbmFtZXMsIHRyYWRlbWFya3MsIHNlcnZpY2UgbWFya3MsIG9yIHByb2R1Y3QgbmFtZXMgb2YgdGhlIExpY2Vuc29yLAogICAgICBleGNlcHQgYXMgcmVxdWlyZWQgZm9yIHJlYXNvbmFibGUgYW5kIGN1c3RvbWFyeSB1c2UgaW4gZGVzY3JpYmluZyB0aGUKICAgICAgb3JpZ2luIG9mIHRoZSBXb3JrIGFuZCByZXByb2R1Y2luZyB0aGUgY29udGVudCBvZiB0aGUgTk9USUNFIGZpbGUuCgogICA3LiBEaXNjbGFpbWVyIG9mIFdhcnJhbnR5LiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IKICAgICAgYWdyZWVkIHRvIGluIHdyaXRpbmcsIExpY2Vuc29yIHByb3ZpZGVzIHRoZSBXb3JrIChhbmQgZWFjaAogICAgICBDb250cmlidXRvciBwcm92aWRlcyBpdHMgQ29udHJpYnV0aW9ucykgb24gYW4gIkFTIElTIiBCQVNJUywKICAgICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yCiAgICAgIGltcGxpZWQsIGluY2x1ZGluZywgd2l0aG91dCBsaW1pdGF0aW9uLCBhbnkgd2FycmFudGllcyBvciBjb25kaXRpb25zCiAgICAgIG9mIFRJVExFLCBOT04tSU5GUklOR0VNRU5ULCBNRVJDSEFOVEFCSUxJVFksIG9yIEZJVE5FU1MgRk9SIEEKICAgICAgUEFSVElDVUxBUiBQVVJQT1NFLiBZb3UgYXJlIHNvbGVseSByZXNwb25zaWJsZSBmb3IgZGV0ZXJtaW5pbmcgdGhlCiAgICAgIGFwcHJvcHJpYXRlbmVzcyBvZiB1c2luZyBvciByZWRpc3RyaWJ1dGluZyB0aGUgV29yayBhbmQgYXNzdW1lIGFueQogICAgICByaXNrcyBhc3NvY2lhdGVkIHdpdGggWW91ciBleGVyY2lzZSBvZiBwZXJtaXNzaW9ucyB1bmRlciB0aGlzIExpY2Vuc2UuCgogICA4LiBMaW1pdGF0aW9uIG9mIExpYWJpbGl0eS4gSW4gbm8gZXZlbnQgYW5kIHVuZGVyIG5vIGxlZ2FsIHRoZW9yeSwKICAgICAgd2hldGhlciBpbiB0b3J0IChpbmNsdWRpbmcgbmVnbGlnZW5jZSksIGNvbnRyYWN0LCBvciBvdGhlcndpc2UsCiAgICAgIHVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyAoc3VjaCBhcyBkZWxpYmVyYXRlIGFuZCBncm9zc2x5CiAgICAgIG5lZ2xpZ2VudCBhY3RzKSBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc2hhbGwgYW55IENvbnRyaWJ1dG9yIGJlCiAgICAgIGxpYWJsZSB0byBZb3UgZm9yIGRhbWFnZXMsIGluY2x1ZGluZyBhbnkgZGlyZWN0LCBpbmRpcmVjdCwgc3BlY2lhbCwKICAgICAgaW5jaWRlbnRhbCwgb3IgY29uc2VxdWVudGlhbCBkYW1hZ2VzIG9mIGFueSBjaGFyYWN0ZXIgYXJpc2luZyBhcyBhCiAgICAgIHJlc3VsdCBvZiB0aGlzIExpY2Vuc2Ugb3Igb3V0IG9mIHRoZSB1c2Ugb3IgaW5hYmlsaXR5IHRvIHVzZSB0aGUKICAgICAgV29yayAoaW5jbHVkaW5nIGJ1dCBub3QgbGltaXRlZCB0byBkYW1hZ2VzIGZvciBsb3NzIG9mIGdvb2R3aWxsLAogICAgICB3b3JrIHN0b3BwYWdlLCBjb21wdXRlciBmYWlsdXJlIG9yIG1hbGZ1bmN0aW9uLCBvciBhbnkgYW5kIGFsbAogICAgICBvdGhlciBjb21tZXJjaWFsIGRhbWFnZXMgb3IgbG9zc2VzKSwgZXZlbiBpZiBzdWNoIENvbnRyaWJ1dG9yCiAgICAgIGhhcyBiZWVuIGFkdmlzZWQgb2YgdGhlIHBvc3NpYmlsaXR5IG9mIHN1Y2ggZGFtYWdlcy4KCiAgIDkuIEFjY2VwdGluZyBXYXJyYW50eSBvciBBZGRpdGlvbmFsIExpYWJpbGl0eS4gV2hpbGUgcmVkaXN0cmlidXRpbmcKICAgICAgdGhlIFdvcmsgb3IgRGVyaXZhdGl2ZSBXb3JrcyB0aGVyZW9mLCBZb3UgbWF5IGNob29zZSB0byBvZmZlciwKICAgICAgYW5kIGNoYXJnZSBhIGZlZSBmb3IsIGFjY2VwdGFuY2Ugb2Ygc3VwcG9ydCwgd2FycmFudHksIGluZGVtbml0eSwKICAgICAgb3Igb3RoZXIgbGlhYmlsaXR5IG9ibGlnYXRpb25zIGFuZC9vciByaWdodHMgY29uc2lzdGVudCB3aXRoIHRoaXMKICAgICAgTGljZW5zZS4gSG93ZXZlciwgaW4gYWNjZXB0aW5nIHN1Y2ggb2JsaWdhdGlvbnMsIFlvdSBtYXkgYWN0IG9ubHkKICAgICAgb24gWW91ciBvd24gYmVoYWxmIGFuZCBvbiBZb3VyIHNvbGUgcmVzcG9uc2liaWxpdHksIG5vdCBvbiBiZWhhbGYKICAgICAgb2YgYW55IG90aGVyIENvbnRyaWJ1dG9yLCBhbmQgb25seSBpZiBZb3UgYWdyZWUgdG8gaW5kZW1uaWZ5LAogICAgICBkZWZlbmQsIGFuZCBob2xkIGVhY2ggQ29udHJpYnV0b3IgaGFybWxlc3MgZm9yIGFueSBsaWFiaWxpdHkKICAgICAgaW5jdXJyZWQgYnksIG9yIGNsYWltcyBhc3NlcnRlZCBhZ2FpbnN0LCBzdWNoIENvbnRyaWJ1dG9yIGJ5IHJlYXNvbgogICAgICBvZiB5b3VyIGFjY2VwdGluZyBhbnkgc3VjaCB3YXJyYW50eSBvciBhZGRpdGlvbmFsIGxpYWJpbGl0eS4KCiAgIEVORCBPRiBURVJNUyBBTkQgQ09ORElUSU9OUwo=","85af69e43c4db2c98321d23df93883051f6b1bc88be97d1a0bd006d5d5d9aacf":"LS0tCm5hbWU6IGUyZS10ZXN0aW5nCmRlc2NyaXB0aW9uOiBVc2Ugd2hlbiB0ZXN0aW5nIGEgY29tcGxldGUgdXNlciBmbG93IGVuZCB0byBlbmQgaW4gYSByZWFsIGJyb3dzZXIsIHNpZ251cCwgbG9naW4sIGNoZWNrb3V0LCBwYXltZW50LCBmb3Jtcywgb25ib2FyZGluZywgY3JpdGljYWwgcGF0aHMgb3Igc21va2UgdGVzdHMsIHdyaXRpbmcgUGxheXdyaWdodCBvciBDeXByZXNzIHRlc3RzLCBmaXhpbmcgZmxha3kgZW5kLXRvLWVuZCB0ZXN0cywgb3IgaGFuZGxpbmcgdGVzdCBkYXRhLCBzYW5kYm94ZXMsIGNvbnNvbGUgYW5kIG5ldHdvcmsgZXJyb3JzLgpsaWNlbnNlOiBBcGFjaGUtMi4wIEFORCBNSVQKbWV0YWRhdGE6CiAgc291cmNlOiBbaHR0cHM6Ly9naXRodWIuY29tL2FudGhyb3BpY3Mvc2tpbGxzL3RyZWUvbWFpbi9za2lsbHMvd2ViYXBwLXRlc3RpbmcsIGh0dHBzOi8vZ2l0aHViLmNvbS9taWNyb3NvZnQvcGxheXdyaWdodC9ibG9iL21haW4vZG9jcy9zcmMvYmVzdC1wcmFjdGljZXMtanMubWQsIGh0dHBzOi8vZ2l0aHViLmNvbS9QcmFtb2REdXR0YS9xYXNraWxscy9ibG9iL21haW4vc2VlZC1za2lsbHMvZTJlLXRlc3RpbmctcGF0dGVybnMvU0tJTEwubWRdCi0tLQojIEVuZC10by1FbmQgVGVzdGluZwoKUHJvdmUgdGhhdCB0aGUgY3JpdGljYWwgdXNlciBmbG93cyB3b3JrIGluIGEgcmVhbCBicm93c2VyIGFnYWluc3QgdGhlIHJ1bm5pbmcgc3lzdGVtLiBMYXlvdXQgYW5kIHZpc3VhbCBjaGVja3MgYmVsb25nIHRvIHZpc3VhbCBRQTsgdGhpcyBpcyBhYm91dCBmbG93cyBhbmQgYmVoYXZpb3IuCgojIyBDaG9vc2UgdGhlIGZsb3dzCi0gRW5kLXRvLWVuZCB0ZXN0cyBvbmx5IGZvciB0aGUgY3JpdGljYWwgam91cm5leXMgKHNpZ24gdXAsIHNpZ24gaW4sIHRoZSBtYWluIHRhc2sgb3IgcHVyY2hhc2UsIHBheW1lbnQsIGRhdGEgc3VibWlzc2lvbikgcGx1cyBhIHNob3J0IHNtb2tlIHNldC4gRWRnZSBjYXNlcyBhbmQgdmFsaWRhdGlvbiBwZXJtdXRhdGlvbnMgYmVsb25nIGluIHVuaXQgYW5kIGludGVncmF0aW9uIHRlc3RzLgotIFdyaXRlIGVhY2ggZmxvdyBhcyBhIHVzZXIgd291bGQgZGVzY3JpYmUgaXQsIHdpdGggdGhlIGV4cGVjdGVkIG91dGNvbWUgb2YgZXZlcnkgc3RlcC4KCiMjIEVudmlyb25tZW50IGFuZCBkYXRhCi0gUnVuIGFnYWluc3QgYSBsb2NhbCBvciB0ZXN0IGVudmlyb25tZW50IHN0YXJ0ZWQgd2l0aCB0aGUgcHJvamVjdCdzIGNvbW1hbmRzLCBuZXZlciBhZ2FpbnN0IHByb2R1Y3Rpb24uCi0gRWFjaCB0ZXN0IGNyZWF0ZXMgaXRzIG93biBkYXRhLCBwcmVmZXJhYmx5IHRocm91Z2ggdGhlIEFQSSBvciBhIHNlZWQgc3RlcCByYXRoZXIgdGhhbiBieSBjbGlja2luZywgd2l0aCB1bmlxdWUgdmFsdWVzIHBlciBydW4sIGFuZCBjbGVhbnMgdXAgYWZ0ZXIgaXRzZWxmLiBObyB0ZXN0IGRlcGVuZHMgb24gYW5vdGhlciB0ZXN0J3Mgb3JkZXIgb3Igc3RhdGUuCi0gUmV1c2UgYSBzaWduZWQtaW4gc3RhdGUgcGVyIHJvbGUgaW5zdGVhZCBvZiBsb2dnaW5nIGluIHRocm91Z2ggdGhlIFVJIGluIGV2ZXJ5IHRlc3Q7IGtlZXAgb25lIHRlc3Qgb2YgdGhlIHJlYWwgbG9naW4uCi0gRXh0ZXJuYWwgc2VydmljZXMgcnVuIGluIHRlc3Qgb3Igc2FuZGJveCBtb2RlIChwYXltZW50IHRlc3Qga2V5cyBhbmQgdGVzdCBjYXJkcywgY2FwdHVyZWQgZW1haWwsIFNNUyBzYW5kYm94ZXMpIG9yIGFyZSBtb2NrZWQgYXQgdGhlIG5ldHdvcmsgYm91bmRhcnkuIEEgdGVzdCBuZXZlciBzZW5kcyBhIHJlYWwgZW1haWwgb3IgbWVzc2FnZSBhbmQgbmV2ZXIgY2hhcmdlcyBhIHJlYWwgY2FyZC4KCiMjIERyaXZlIHRoZSBicm93c2VyIGxpa2UgYSB1c2VyCi0gTG9vayBiZWZvcmUgYWN0aW5nOiBvcGVuIHRoZSBwYWdlLCB3YWl0IHVudGlsIGl0IGhhcyBzZXR0bGVkLCBpbnNwZWN0IHRoZSByZW5kZXJlZCByZXN1bHQgKGEgc2NyZWVuc2hvdCBvciB0aGUgYWNjZXNzaWJpbGl0eSB0cmVlKSwgdGhlbiBjaG9vc2UgdGhlIGNvbnRyb2xzLgotIExvY2F0ZSBlbGVtZW50cyBieSByb2xlLCBsYWJlbCBhbmQgdmlzaWJsZSB0ZXh0LCB0aGVuIHRlc3QgaWRzOyBuZXZlciBieSBDU1MgY2xhc3NlcyBvciBET00gcG9zaXRpb24sIHdoaWNoIGNoYW5nZSB3aXRoIHN0eWxpbmcuCi0gVXNlIGFzc2VydGlvbnMgdGhhdCB3YWl0IGFuZCByZXRyeSB1bnRpbCB0aGUgY29uZGl0aW9uIGhvbGRzLiBObyBmaXhlZCBzbGVlcHMsIGFuZCBubyBvbmUtb2ZmIGNoZWNrIG9mIHNvbWV0aGluZyBzdGlsbCBsb2FkaW5nLgotIEFzc2VydCBib3RoIHdoYXQgdGhlIHVzZXIgc2VlcyBhbmQgd2hhdCB0aGUgc3lzdGVtIGRpZDogdGhlIGNvbmZpcm1hdGlvbiwgdGhlIG5ldyByZWNvcmQgaW4gdGhlIGxpc3QsIHRoZSBlbWFpbCBjYXVnaHQgaW4gdGhlIHNhbmRib3gsIHRoZSBBUEkgcmVzcG9uc2Ugd2l0aCB0aGUgZXhwZWN0ZWQgc3RhdHVzLgoKIyMgRmluZCBoaWRkZW4gZmFpbHVyZXMKLSBDb2xsZWN0IGNvbnNvbGUgZXJyb3JzIGFuZCB3YXJuaW5ncyBhbmQgZmFpbGVkIG5ldHdvcmsgcmVxdWVzdHMgKDR4eCwgNXh4LCBhYm9ydGVkKSBkdXJpbmcgZXZlcnkgZmxvdy4gQSBmbG93IHRoYXQgcGFzc2VzIHdpdGggZXJyb3JzIGluIHRoZSBjb25zb2xlIGlzIHN0aWxsIGEgZmluZGluZy4KLSBSdW4gdGhlIHVuaGFwcHkgcGF0aHMgb2YgZWFjaCBjcml0aWNhbCBmbG93OiBpbnZhbGlkIGlucHV0LCBhIGRlY2xpbmVkIHBheW1lbnQsIGFuIGV4cGlyZWQgc2Vzc2lvbiwgYSBzbG93IG9yIGZhaWxpbmcgZGVwZW5kZW5jeSwgZ29pbmcgYmFjayBtaWQtZmxvdywgZG91YmxlIHN1Ym1pdC4KLSBDaGVjayB0aGF0IGEgZmFpbGVkIHN0ZXAgbGVhdmVzIHRoZSBzeXN0ZW0gY29uc2lzdGVudDogbm8gaGFsZi1jcmVhdGVkIG9yZGVyLCBubyBzZWNvbmQgY2hhcmdlLgoKIyMgRmxha3kgdGVzdHMKLSBBIGZsYWt5IHRlc3QgaXMgYSBkZWZlY3QuIEZpbmQgdGhlIGNhdXNlIChzaGFyZWQgc3RhdGUsIHRpbWluZywgdGVzdCBvcmRlciwgcmVhbCBleHRlcm5hbCBjYWxscyk7IG5ldmVyIHJldHJ5IHVudGlsIGl0IGlzIGdyZWVuLgotIEtlZXAgdHJhY2VzLCBzY3JlZW5zaG90cyBhbmQgY29uc29sZSBvdXRwdXQgb2YgZmFpbHVyZXMgc28gdGhleSBjYW4gYmUgZGlhZ25vc2VkIHdpdGhvdXQgcmUtcnVubmluZy4KLSBBZnRlciBjaGFuZ2luZyB0aW1pbmctc2Vuc2l0aXZlIGNvZGUsIHJ1biB0aGUgc3VpdGUgbW9yZSB0aGFuIG9uY2UuCgojIyBSZXBvcnQKTGlzdCB0aGUgZmxvd3MgcnVuLCB0aGUgZW52aXJvbm1lbnQsIGJyb3dzZXJzIGFuZCB3aWR0aHMsIGFuZCBlYWNoIHN0ZXAncyByZXN1bHQsIHdpdGggZXZpZGVuY2UgZm9yIGZhaWx1cmVzLiBTYXkgd2hpY2ggZmxvd3Mgd2VyZSBub3QgcnVuIGFuZCB3aHkuCgojIyBCZWZvcmUgeW91IGZpbmlzaAotIFsgXSBDcml0aWNhbCBmbG93cyBhbmQgdGhlaXIgbWFpbiB1bmhhcHB5IHBhdGhzIGFyZSBjb3ZlcmVkLgotIFsgXSBFYWNoIHRlc3Qgb3ducyBpdHMgZGF0YTsgbm8gcmVhbCBzZW5kcyBvciBjaGFyZ2VzOyB0aGlyZCBwYXJ0aWVzIGFyZSBzYW5kYm94ZWQgb3IgbW9ja2VkLgotIFsgXSBSb2xlLCBsYWJlbCBhbmQgdGV4dCBsb2NhdG9ycyB3aXRoIHdhaXRpbmcgYXNzZXJ0aW9uczsgbm8gZml4ZWQgc2xlZXBzLgotIFsgXSBDb25zb2xlIGFuZCBuZXR3b3JrIHdlcmUgY2hlY2tlZCBmb3IgZXJyb3JzIGluIGV2ZXJ5IGZsb3cuCg=="},"entities":{"agents":[],"projects":[],"skills":[{"files":[{"blob":"147295d4f79c596728b4e0c3a60f4967e21b3f59ddd0509827a3dc1242b926ba","executable":false,"path":"LICENSE.txt"},{"blob":"85af69e43c4db2c98321d23df93883051f6b1bc88be97d1a0bd006d5d5d9aacf","executable":false,"path":"SKILL.md"}],"id":"skill-e2e-testing","name":"e2e-testing","origin":"orqestria-builtin-skill-e2e-testing","version":"1.0.0+e1d01c9119b2f5ae370881c6"}],"teams":[],"workflows":[]},"format":"orqestria.bundle","package":{"description":"e2e-testing: Trace failures to their root cause and independently verify fixes across frontend, backend, data and integrations.","id":"orqestria-skill-e2e-testing","kind":"skill","name":"e2e-testing","readme":"# e2e-testing\n\ne2e-testing: Trace failures to their root cause and independently verify fixes across frontend, backend, data and integrations.\n\nIncludes the complete skill and its supporting files (2 files). The exact authored scope is preserved below.\n\nOriginal skill description (source language)\n\nUse when testing a complete user flow end to end in a real browser, signup, login, checkout, payment, forms, onboarding, critical paths or smoke tests, writing Playwright or Cypress tests, fixing flaky end-to-end tests, or handling test data, sandboxes, console and network errors.\n\nInstall the skill, review its source and trust settings, then enable it for the relevant project or agent.","requirements":["Orqestria installed on your computer."],"root":"skill-e2e-testing","version":"1.0.0+847d9b6acc7516b957a125f7"},"schemaVersion":1}
