{"id":6403,"date":"2026-07-11T01:11:07","date_gmt":"2026-07-11T01:11:07","guid":{"rendered":"https:\/\/allenglish4u.com\/celpip-set-6-test-2-reading\/"},"modified":"2026-07-12T03:24:34","modified_gmt":"2026-07-12T03:24:34","slug":"celpip-set-6-test-2-reading","status":"publish","type":"page","link":"https:\/\/allenglish4u.com\/vi\/celpip-set-6-test-2-reading\/","title":{"rendered":"CELPIP Reading \u2014 Set 6 \u00b7 Practice Test 2"},"content":{"rendered":"<div class=\"clpr-wrap\" id=\"clprWrap\">\n<section class=\"clpr-hero\">\n<div class=\"clpr-aurora\"><span><\/span><span><\/span><span><\/span><\/div>\n<div class=\"clpr-hero-badges\"> <span class=\"clpr-badge-brand\">AllEnglish4U<\/span> <span class=\"clpr-badge-set\">CELPIP General &middot; Set 6<\/span> <\/div>\n<h1>Reading Practice Test 2<\/h1>\n<p class=\"clpr-hero-sub\">4 parts &middot; 38 questions &middot; about 55 minutes. Read each passage and choose the best option for every drop-down. Official Paragon question set with verified answer key.<\/p>\n<div class=\"clpr-hero-chips\"> <span class=\"clpr-chip\">Part 1 &middot; Correspondence<\/span> <span class=\"clpr-chip\">Part 2 &middot; Apply a Diagram<\/span> <span class=\"clpr-chip\">Part 3 &middot; Information<\/span> <span class=\"clpr-chip\">Part 4 &middot; Viewpoints<\/span> <\/div>\n<p> <button class=\"clpr-cta\" id=\"clprStart\">Start the Reading Test<\/button> <\/section>\n<div class=\"clpr-toolbar\" id=\"clprToolbar\" hidden> <span class=\"clpr-score-chip\" id=\"clprScoreChip\">0 \/ 38 answered<\/span> <span class=\"clpr-toolbar-spacer\"><\/span> <button class=\"clpr-tbtn\" id=\"clprReset\">Reset<\/button> <button class=\"clpr-tbtn clpr-tbtn-check\" id=\"clprCheck\">Check answers<\/button> <\/div>\n<div class=\"clpr-sim\" id=\"clprSim\" hidden>\n<div class=\"clpr-dots\" id=\"clprDots\"><\/div>\n<div class=\"clpr-cat\" id=\"clprCat\"><\/div>\n<\/p><\/div>\n<div class=\"clpr-results\" id=\"clprResults\" hidden><\/div>\n<\/p><\/div>\n<p><script>eval(atob(\"J3VzZSBzdHJpY3QnOwovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgQ0VMUElQIFJlYWRpbmcgXHUyMDE0IFByYWN0aWNlIFRlc3QgMiAoU2V0IDEpCiAgIFNvdXJjZTogUGFyYWdvbiBvZmZpY2lhbCAiUHJhY3RpY2UgVGVzdCAyIFNldCAxIC0gUmVhZGluZyIgKDM3IHBwKS4KICAgQWxsIHN0ZW1zLCBvcHRpb25zIGFuZCBrZXlzIHZlcmlmaWVkIGFnYWluc3QgdGhlIHByaW50ZWQgQW5zd2VyIEtleS4KICAgRGF0YSBtb2RlbDogcGFydHNbXSAtPiB7IHBhc3NhZ2UobGVmdCkgLCBibG9ja3NbXShyaWdodCkgfQogICAgIGJsb2NrLnR5cGU6ICdzdGVtbGlzdCcgfCAnY2xvemUnIHwgJ21hdGNoJwogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KdmFyIFJEQVRBID0geyJ0ZXN0TGFiZWwiOiJQcmFjdGljZSBUZXN0IDIiLCJwYXJ0cyI6W3siaWQiOjEsIm5hbWUiOiJSZWFkaW5nIFBhcnQgMTogUmVhZGluZyBDb3JyZXNwb25kZW5jZSIsInRpbWUiOiIxMCBtaW51dGVzIiwicGFzc2FnZSI6eyJ0eXBlIjoidGV4dCIsImxhYmVsIjoiUmVhZCB0aGUgZm9sbG93aW5nIG1lc3NhZ2UuIiwiaHRtbCI6IjxwPkRlYXIgTXMuIEdyZWVuLDwvcD48cD5JIGFtIHNvcnJ5IHRvIGJvdGhlciB5b3UsIGFzIEkga25vdyB5b3UgYXJlIHZlcnkgYnVzeSwgYnV0IEkgd291bGQgbGlrZSB0byBjaGFuZ2UgbXkgdmFjYXRpb24gdGltZSByZXF1ZXN0LiBJIGFza2VkIHRvIHRha2UgdGhlIGZpcnN0IDIgd2Vla3Mgb2YgSnVseSBvZmYsIGJ1dCBub3csIGlmIGl0IGlzIG9rYXksIEkgd291bGQgbGlrZSB0aGUgZmlyc3QgMiB3ZWVrcyBvZiBBdWd1c3QgaW5zdGVhZC48L3A+PHA+VGhlIHJ1bGUgaXMgdGhhdCBubyBjaGFuZ2VzIG1heSBiZSBtYWRlIG9uY2UgcmVxdWVzdHMgaGF2ZSBiZWVuIHN1Ym1pdHRlZCBpbiB3cml0aW5nLCBidXQgSSB0aGluayB0aGF0IHJlcXVpcmluZyByZXF1ZXN0cyB0byBiZSBtYWRlIGluIEphbnVhcnkgaXMgYSBsaXR0bGUgdW5yZWFzb25hYmxlLiBJdCBpcyBkaWZmaWN1bHQgZm9yIHNvbWUgcGVvcGxlIHRvIGtub3csIDYgbW9udGhzIGluIGFkdmFuY2UsIHdoYXQgdGhlaXIgc3VtbWVyIHBsYW5zIHdpbGwgYmUuIEkgdW5kZXJzdGFuZCB0aGF0IHRpbWUgaXMgbmVlZGVkIHRvIGhpcmUgdGVtcG9yYXJ5IHJlcGxhY2VtZW50cyB0byB0YWtlIGNhcmUgb2YgdGhpbmdzIHdoaWxlIHBlb3BsZSBhcmUgYXdheS4gSSBhbSBhbHNvIGF3YXJlIHRoYXQgZXZlcnlvbmUgbmVlZHMgdG8gY29vcmRpbmF0ZSB0aGVpciB2YWNhdGlvbiBwbGFucyBpbiBhIHdheSB0aGF0IGVuc3VyZXMgbm8gc2luZ2xlIGRlcGFydG1lbnQgaXMgdW5kZXJzdGFmZmVkLiBIb3dldmVyLCBJIGJlbGlldmUgMiBvciAzIG1vbnRocyZyc3F1bzsgbm90aWNlIHNob3VsZCBiZSBzdWZmaWNpZW50LiBBY2NvcmRpbmcgdG8gbXkgZnJpZW5kcywgdGhhdCZyc3F1bztzIHRoZSBhbW91bnQgb2Ygbm90aWNlIHJlcXVpcmVkIGJ5IG90aGVyIHBsYWNlcyBvZiBlbXBsb3ltZW50IGhlcmUgaW4gQ2FuYWRhLjwvcD48cD5UaGUgcmVhc29uIEkgYW0gY2hhbmdpbmcgbXkgcmVxdWVzdCBpcyB0aGF0IEkgaGFkIG9yaWdpbmFsbHkgcGxhbm5lZCB0byB0YWtlIGEgdHJpcCB0byBKYXBhbiBkdXJpbmcgdGhlIGZpcnN0IDIgd2Vla3Mgb2YgSnVseS4gSG93ZXZlciwgSSBoYXZlIG5vdyBkZWNpZGVkIHRvIGdvIHRvIEFmcmljYSBpbnN0ZWFkLCBhbmQgdGhhdCB0b3VyIGlzIHNjaGVkdWxlZCBmb3IgdGhlIGZpcnN0IDIgd2Vla3Mgb2YgQXVndXN0LiBNeSBodXNiYW5kIGFuZCBoaXMgcmV0aXJlZCBwYXJlbnRzIGhhdmUgYWxyZWFkeSBtYWRlIGEgbm9uLXJlZnVuZGFibGUgZGVwb3NpdCBmb3IgdGhlIHRyaXAgdG8gQWZyaWNhIGZvciB0aGUgZm91ciBvZiB1cywgYW5kIHRoZXkgYXJlIHJlYWxseSBsb29raW5nIGZvcndhcmQgdG8gaXQuIEluIGZhY3QsIG15IGh1c2JhbmQsIHdobyB3aWxsIGJlIHRha2luZyBhIHNvbG8gYnVzaW5lc3MgdHJpcCB0byBNZXhpY28gYWZ0ZXJ3YXJkcywgYm91Z2h0IHNpeCBzdWl0Y2FzZXMgeWVzdGVyZGF5IGFuZCBoYXMgYWxyZWFkeSBzdGFydGVkIHBsYW5uaW5nIGV2ZXJ5dGhpbmcuIEkgZG8gbm90IHdhbnQgdG8gZGlzYXBwb2ludCBteSBmYW1pbHkgd2l0aCBuZXdzIHRoYXQgSSBjYW5ub3QgZ2V0IHRoZSB0aW1lIG9mZi4gQXMgSSBhbSBzdGlsbCBnaXZpbmcgNSBtb250aHMmcnNxdW87IG5vdGljZSwgSSBob3BlIGl0IHdpbGwgYmUgc3VmZmljaWVudC48L3A+PHA+UGxlYXNlIGxldCBtZSBrbm93IGF0IHlvdXIgZWFybGllc3QgY29udmVuaWVuY2Ugd2hldGhlciBJIGNhbiBjaGFuZ2UgbXkgdmFjYXRpb24gdGltZSB0byB0aGUgZmlyc3QgMiB3ZWVrcyBvZiBBdWd1c3QsIGFzIEkgd2lsbCBuZWVkIHRvIGVpdGhlciBmaW5hbGl6ZSB0aGUgYm9va2luZyB3aXRoIEdsb2JhbCBUcmF2ZWwgQWdlbmN5IG9yIHRyeSB0byBnZXQgb3VyIG5vbi1yZWZ1bmRhYmxlIGRlcG9zaXQgYmFjayE8L3A+PHA+VGhhbmsgeW91LDxicj5FbHNlIEJpcmNoPC9wPiJ9LCJibG9ja3MiOlt7InR5cGUiOiJzdGVtbGlzdCIsImluc3RyIjoiVXNpbmcgdGhlIGRyb3AtZG93biBtZW51ICggJiM5NjYyOyApLCBjaG9vc2UgdGhlIGJlc3Qgb3B0aW9uIGFjY29yZGluZyB0byB0aGUgaW5mb3JtYXRpb24gZ2l2ZW4gaW4gdGhlIG1lc3NhZ2UuIiwiaXRlbXMiOlt7Im4iOjEsInByZSI6Ikl0IHdhcyB1bm5lY2Vzc2FyeSBmb3IgdGhlIHdyaXRlciB0byBtZW50aW9uIHRoZSIsIm9wdGlvbnMiOlsiZGF0ZSBvZiBoZXIgaW5pdGlhbCByZXF1ZXN0LiIsImV4cGVjdGVkIHBlcmlvZCBvZiBhYnNlbmNlLiIsIm5hbWUgb2YgdGhlIHRyYXZlbCBhZ2VuY3kuIiwidHlwZSBvZiBkZXBvc2l0IHNoZSBtYWRlLiJdLCJrZXkiOjN9LHsibiI6MiwicHJlIjoiTXJzLiBCaXJjaCBhY2NlcHRzIHRoYXQiLCJvcHRpb25zIjpbImFkdmFuY2Ugbm90aWNlIG9mIHZhY2F0aW9uIGlzIHJlcXVpcmVkLiIsIm1vc3QgZGVwYXJ0bWVudHMgYXJlIHVuZGVyc3RhZmZlZC4iLCJyZXBsYWNlbWVudCB3b3JrZXJzIGFyZSB1bmF2YWlsYWJsZS4iLCI2IG1vbnRoc1x1MjAxOSBub3RpY2UgaXMgdGhlIG1pbmltdW0uIl0sImtleSI6MX0seyJuIjozLCJwcmUiOiJNcnMuIEJpcmNoIGRpc2FncmVlcyB3aXRoIHRoZSIsIm9wdGlvbnMiOlsiXCJjaGFuZ2VzIG5vdCBhbGxvd2VkXCIgcnVsZS4iLCJcIm5vIG90aGVyIGVtcGxveW1lbnRcIiBydWxlLiIsIlwicmVxdWVzdHMgbXVzdCBiZSBpbiB3cml0aW5nXCIgcnVsZS4iLCJcIjYgbW9udGhzXHUyMDE5IG5vdGljZVwiIHJ1bGUuIl0sImtleSI6MX0seyJuIjo0LCJwcmUiOiJUaGUgdHJpcCB0byBBZnJpY2EiLCJvcHRpb25zIjpbImlzIG9mZmVyZWQgb25seSBpbiB0aGUgc3VtbWVyLiIsIm9jY3VycyB3aGVuIEp1bHkgaXMgb3Zlci4iLCJ0YWtlcyA0IHdlZWtzIGluIHRvdGFsLiIsIndpbGwgZGVwYXJ0IGZyb20gSmFwYW4uIl0sImtleSI6Mn0seyJuIjo1LCJwcmUiOiJNcnMuIEJpcmNoXHUyMDE5cyB0cmF2ZWwgcGxhbnMgaW5jbHVkZSIsIm9wdGlvbnMiOlsiZmFtaWx5IG1lbWJlcnMuIiwiaGVyIGNsb3Nlc3QgZnJpZW5kcy4iLCJvbmx5IGhlciBodXNiYW5kLiIsImhlciBjby13b3JrZXJzLiJdLCJrZXkiOjF9LHsibiI6NiwicHJlIjoiSW4gZ2VuZXJhbCwgTXJzLiBCaXJjaCBzZWVtcyIsIm9wdGlvbnMiOlsiY29uZnVzZWQuIiwiaGFwcHkuIiwicHJlc3N1cmVkLiIsInNvcnJ5LiJdLCJrZXkiOjN9XX0seyJ0eXBlIjoiY2xvemUiLCJpbnN0ciI6IkhlcmUgaXMgYSByZXNwb25zZSB0byB0aGUgbWVzc2FnZS4gQ29tcGxldGUgdGhlIHJlc3BvbnNlIGJ5IGZpbGxpbmcgaW4gdGhlIGJsYW5rcy4gU2VsZWN0IHRoZSBiZXN0IGNob2ljZSBmb3IgZWFjaCBibGFuayBmcm9tIHRoZSBkcm9wLWRvd24gbWVudSAoICYjOTY2MjsgKS4iLCJib2R5IjpbIkRlYXIgRWxzZSxcblxuVGhhbmsgeW91IGZvciB5b3VyIHJlY2VudCBlbWFpbCBhc2tpbmcgbWUgdG8gIix7ImIiOjcsIm9wdGlvbnMiOlsiY2hhbmdlIHRoZSBkYXRlcyB5b3VcdTIwMTlsbCBiZSBhd2F5IiwiY29uZmlybSB5b3VyIHRyYXZlbCBpbnN1cmFuY2UiLCJnaXZlIHlvdSBleHRyYSB0aW1lIG9mZiB3b3JrIiwicmV2aXNlIG91ciB2YWNhdGlvbiBwb2xpY3kiXSwia2V5IjoxfSwiLiBJIHdvdWxkIGxpa2UgdG8gYXNzdXJlIHlvdSB0aGF0IEkgdmVyeSBtdWNoIGFwcHJlY2lhdGUgeW91ciBjb21tZW50cyBhYm91dCBvdXIgcG9saWN5LiBZb3UgYXJlIGNlcnRhaW5seSBub3QgdGhlIGZpcnN0IGVtcGxveWVlIGhlcmUgYXQgVGhlIEZhYnVsb3VzIEZ1cm5pdHVyZSBDb21wYW55IHRvICIseyJiIjo4LCJvcHRpb25zIjpbImhhdmUgZGlmZmljdWx0eSBtZWV0aW5nIiwiaW5zaXN0IG9uIGNoYW5nZXMgdG8iLCJuZWVkIGFuIGV4cGxhbmF0aW9uIG9mIiwicmVmdXNlIHRvIGZvbGxvdyJdLCJrZXkiOjF9LCIgdGhlIHJlcXVpcmVtZW50cy4gSSBhbSBhd2FyZSwgYXMgeW91ciBlbWFpbCBzdWdnZXN0cywgdGhhdCBvdGhlciBjb21wYW5pZXMgYXJlICIseyJiIjo5LCJvcHRpb25zIjpbImRpZmZlcmVudCBpbiB0ZXJtcyBvZiB0aGVpciIsImlnbm9yaW5nIHN1Y2ggdmFjYXRpb24iLCJub3cgY2hhbmdpbmcgc3VjaCBzdHJpY3QiLCJwb3B1bGFyIGJlY2F1c2Ugb2YgdGhlaXIiXSwia2V5IjoxfSwiIHBvbGljaWVzLlxuXG5HaXZlbiB0aGUgaW5mb3JtYXRpb24geW91IGhhdmUgcHJvdmlkZWQsIElcdTIwMTltIHBsZWFzZWQgdG8gc2F5IHRoYXQgSSBoYXZlIGRlY2lkZWQgdG8gbWFrZSBhbiBleGNlcHRpb24gYW5kICIseyJiIjoxMCwib3B0aW9ucyI6WyJhcHByb3ZlIDIgbW9udGhzXHUyMDE5IHZhY2F0aW9uIiwiZm9yd2FyZCB5b3VyIG1lc3NhZ2UgdXB3YXJkcyIsImdyYW50IHlvdXIgcmV2aXNlZCByZXF1ZXN0IiwiaGlyZSB5b3VyIHRlbXBvcmFyeSByZXBsYWNlbWVudCJdLCJrZXkiOjN9LCIuXG5cbkkgZG8gaG9wZSB5b3UgZW5qb3kgeW91ciBhZHZlbnR1cmUgLS0gSSBteXNlbGYgaGF2ZSB3YW50ZWQgdG8gdmlzaXQgIix7ImIiOjExLCJvcHRpb25zIjpbIkFmcmljYSIsIkNhbmFkYSIsIkphcGFuIiwiTWV4aWNvIl0sImtleSI6MX0sIiBmb3Igc29tZSB0aW1lIG5vdyFcblxuUmVnYXJkcyxcbk1zLiBHcmVlbiJdfV19LHsiaWQiOjIsIm5hbWUiOiJSZWFkaW5nIFBhcnQgMjogUmVhZGluZyB0byBBcHBseSBhIERpYWdyYW0iLCJ0aW1lIjoiOCBtaW51dGVzIiwicGFzc2FnZSI6eyJ0eXBlIjoidGV4dCIsImxhYmVsIjoiUmVhZCB0aGUgZm9sbG93aW5nIGRpYWdyYW0uIiwiaHRtbCI6IjxzdHlsZT4uYWUtZ2RmbHl7Ym9yZGVyOjFweCBzb2xpZCAjYjdjOWEzO2JvcmRlci1yYWRpdXM6OHB4O292ZXJmbG93OmhpZGRlbjtmb250LXNpemU6MTRweDtiYWNrZ3JvdW5kOiNmZmZ9LmFlLWdkaGVhZHtiYWNrZ3JvdW5kOiM5M2M0N2Q7Y29sb3I6IzIwM2ExMztwYWRkaW5nOjEwcHggMTRweDt0ZXh0LWFsaWduOmNlbnRlcn0uYWUtZ2RoZWFkIGgze21hcmdpbjowIDAgNHB4O2NvbG9yOiMyMDNhMTM7Zm9udC1zaXplOjE5cHh9LmFlLWdkaGVhZCBwe21hcmdpbjowO2ZvbnQtc2l6ZToxMi41cHg7bGluZS1oZWlnaHQ6MS40NX0uYWUtZ2Rncmlke2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDFmcjtnYXA6MXB4O2JhY2tncm91bmQ6I2I3YzlhM30uYWUtZ2Rib3h7YmFja2dyb3VuZDojZmRmM2U3O3BhZGRpbmc6MTBweCAxMnB4fS5hZS1nZGFsdHtiYWNrZ3JvdW5kOiNlYWYzZTB9LmFlLWdkYm94IGg0e21hcmdpbjowIDAgNHB4O3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtc2l6ZToxNXB4O2NvbG9yOiM0ZDMzMTl9LmFlLWdkbWV0YXttYXJnaW46MCAwIDZweDtmb250LXNpemU6MTIuNXB4O3RleHQtYWxpZ246Y2VudGVyfS5hZS1nZGJveCB1bHttYXJnaW46MDtwYWRkaW5nLWxlZnQ6MThweDtmb250LXNpemU6MTNweDtsaW5lLWhlaWdodDoxLjV9QG1lZGlhKG1heC13aWR0aDo1NjBweCl7LmFlLWdkZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyfX08L3N0eWxlPjxkaXYgY2xhc3M9XCJhZS1nZGZseVwiPjxkaXYgY2xhc3M9XCJhZS1nZGhlYWRcIj48aDM+TGVtb25ncmFzcyBHYXJkZW5pbmcgQ2VudHJlPC9oMz48cD5Hcm93IHlvdXIgb3duIG9yZ2FuaWMgZ2FyZGVuIHdpdGggb3VyIHNlbGVjdGlvbiBvZiBmcnVpdCBhbmQgdmVnZXRhYmxlIHNlZWRzITxicj5HYXJkZW5pbmcgd29ya3Nob3BzIGhlbGQgZXZlcnkgVHVlc2RheSBmcm9tIDY6MDAtNzowMCBwLm0uIE9yLCBzaW1wbHkgZHJvcCBieSBvdXIgc3RvcmUgYW5kIHNwZWFrIHRvIGFueSBvZiBvdXIga25vd2xlZGdhYmxlIHN0YWZmLjxicj5XZSBhcmUgaGVyZSB0byBtYWtlIHlvdXIgZ2FyZGVuIGEgc3VjY2VzcyE8L3A+PC9kaXY+PGRpdiBjbGFzcz1cImFlLWdkZ3JpZFwiPjxkaXYgY2xhc3M9XCJhZS1nZGJveFwiPjxoND5Ub21hdG9lczwvaDQ+PHAgY2xhc3M9XCJhZS1nZG1ldGFcIj48c3Ryb25nPkRpZmZpY3VsdHk6PC9zdHJvbmc+IE1vZGVyYXRlICZuYnNwOyZidWxsOyZuYnNwOyA8c3Ryb25nPlNlYXNvbjo8L3N0cm9uZz4gU3ByaW5nPC9wPjx1bD48bGk+bmVlZCBwbGVudHkgb2YgZGlyZWN0IHN1bmxpZ2h0PC9saT48bGk+cGxhbnQgc2VlZHMgZGVlcGx5IGluIHRoZSBzb2lsPC9saT48bGk+cmVxdWlyZSBtb2RlcmF0ZSB3YXRlcmluZyBwZXIgd2VlazwvbGk+PGxpPmdyb3cgd2VsbCBuZXh0IHRvIGNhcnJvdHM8L2xpPjwvdWw+PC9kaXY+PGRpdiBjbGFzcz1cImFlLWdkYm94XCI+PGg0PkNhcnJvdHM8L2g0PjxwIGNsYXNzPVwiYWUtZ2RtZXRhXCI+PHN0cm9uZz5EaWZmaWN1bHR5Ojwvc3Ryb25nPiBFYXN5ICZuYnNwOyZidWxsOyZuYnNwOyA8c3Ryb25nPlNlYXNvbjo8L3N0cm9uZz4gU3ByaW5nPC9wPjx1bD48bGk+Z3JvdyB3ZWxsIGluIGZ1bGwgc3VuIG9yIHBhcnRpYWwgc2hhZGU8L2xpPjxsaT5tdXN0IGJlIHBsYW50ZWQgc2hhbGxvd2x5PC9saT48bGk+a2VlcCBzZWVkcyBtb2lzdCBidXQgZG8gbm90IGRyZW5jaDwvbGk+PGxpPmNhbiBiZSBoYXJ2ZXN0ZWQgYXQgYW55IHNpemU8L2xpPjwvdWw+PC9kaXY+PGRpdiBjbGFzcz1cImFlLWdkYm94IGFlLWdkYWx0XCI+PGg0PldhdGVybWVsb248L2g0PjxwIGNsYXNzPVwiYWUtZ2RtZXRhXCI+PHN0cm9uZz5EaWZmaWN1bHR5Ojwvc3Ryb25nPiBEaWZmaWN1bHQgJm5ic3A7JmJ1bGw7Jm5ic3A7IDxzdHJvbmc+U2Vhc29uOjwvc3Ryb25nPiBTdW1tZXI8L3A+PHVsPjxsaT5saWtlcyBsb3RzIG9mIGRpcmVjdCBzdW48L2xpPjxsaT5wbGFjZSBzZWVkcyBhdCBsZWFzdCBoYWxmIGEgbWV0cmUgYXBhcnQ8L2xpPjxsaT53YXRlciByb290cyBvZiBwbGFudCBmcmVxdWVudGx5PC9saT48bGk+cmVxdWlyZXMgYSBsb3Qgb2YgZm9vZCwgaGVhdmlseSBjb21wb3N0IHRoZSBzb2lsPC9saT48L3VsPjwvZGl2PjxkaXYgY2xhc3M9XCJhZS1nZGJveCBhZS1nZGFsdFwiPjxoND5TcGluYWNoPC9oND48cCBjbGFzcz1cImFlLWdkbWV0YVwiPjxzdHJvbmc+RGlmZmljdWx0eTo8L3N0cm9uZz4gRWFzeSAmbmJzcDsmYnVsbDsmbmJzcDsgPHN0cm9uZz5TZWFzb246PC9zdHJvbmc+IFNwcmluZzwvcD48dWw+PGxpPmdyb3dzIGJlc3QgaW4gc2hhZHkgY29uZGl0aW9uczwvbGk+PGxpPnBsYW50IHNlZWRzIDEvMiBpbmNoIGRlZXAgaW4gc29pbDwvbGk+PGxpPndhdGVyIGRhaWx5IHRvIGtlZXAgdGhlIHNvaWwgY29vbDwvbGk+PGxpPnBpY2sgd2hlbiB0aGUgbGVhdmVzIGFyZSA3LTEwIGNtIGluIGxlbmd0aDwvbGk+PC91bD48L2Rpdj48ZGl2IGNsYXNzPVwiYWUtZ2Rib3hcIj48aDQ+UGVhczwvaDQ+PHAgY2xhc3M9XCJhZS1nZG1ldGFcIj48c3Ryb25nPkRpZmZpY3VsdHk6PC9zdHJvbmc+IEVhc3kgJm5ic3A7JmJ1bGw7Jm5ic3A7IDxzdHJvbmc+U2Vhc29uOjwvc3Ryb25nPiBXaW50ZXIgb3IgU3ByaW5nPC9wPjx1bD48bGk+cHJlZmVyIGZ1bGwgc3VuIGJ1dCBjYW4gZ3JvdyBpbiBwYXJ0aWFsIHNoYWRlPC9saT48bGk+cGxhbnQgc2VlZHMgMSBpbmNoIGRlZXA8L2xpPjxsaT5hdm9pZCBvdmVyLXdhdGVyaW5nIHRoZSBzZWVkczwvbGk+PGxpPmdyb3cgdmVyeSB0YWxsPC9saT48bGk+cGxhbnQgbmVhciBhIGZlbmNlIG9yIHRyZWxsaXM8L2xpPjwvdWw+PC9kaXY+PGRpdiBjbGFzcz1cImFlLWdkYm94XCI+PGg0PlB1bXBraW5zPC9oND48cCBjbGFzcz1cImFlLWdkbWV0YVwiPjxzdHJvbmc+RGlmZmljdWx0eTo8L3N0cm9uZz4gRGlmZmljdWx0ICZuYnNwOyZidWxsOyZuYnNwOyA8c3Ryb25nPlNlYXNvbjo8L3N0cm9uZz4gU3VtbWVyPC9wPjx1bD48bGk+cmVxdWlyZSBsb3RzIG9mIGRpcmVjdCBzdW48L2xpPjxsaT5rZWVwIHNvaWwgd2VsbC13YXRlcmVkPC9saT48bGk+cmVxdWlyZSBsb3RzIG9mIHJvb20gdG8gZ3JvdzwvbGk+PGxpPnBsYW50IHNlZWRzIGluIGVxdWFsIHBhcnRzIGNvbXBvc3QgYW5kIHNvaWw8L2xpPjwvdWw+PC9kaXY+PC9kaXY+PC9kaXY+In0sImJsb2NrcyI6W3sidHlwZSI6ImNsb3plIiwiaW5zdHIiOiJSZWFkIHRoZSBmb2xsb3dpbmcgZW1haWwgbWVzc2FnZSBhYm91dCB0aGUgZGlhZ3JhbSBvbiB0aGUgbGVmdC4gQ29tcGxldGUgdGhlIGVtYWlsIGJ5IGZpbGxpbmcgaW4gdGhlIGJsYW5rcy4gU2VsZWN0IHRoZSBiZXN0IGNob2ljZSBmb3IgZWFjaCBibGFuayBmcm9tIHRoZSBkcm9wLWRvd24gbWVudSAoICYjOTY2MjsgKS4iLCJib2R5IjpbIkZyb206IDxhbWFsYW5lQHJlZG1haWwuY29tPlxuVG86IDxsbGFuY2VAZ3JlZW5tYWlsLmNvbT5cblN1YmplY3Q6IEdhcmRlbmluZ1xuXG5IZXkgTHVjeSxcblxuQW55IGludGVyZXN0IGluIHBsYW50aW5nIGEgdmVnZXRhYmxlIGdhcmRlbj8gSXRcdTIwMTlkIGJlIGEgZ3JlYXQgd2F5IHRvIGdldCBjaGVhcCwgbnV0cml0aW91cyBmb29kLiBJIGtub3cgeW91XHUyMDE5cmUgbm90IGEgZmFuIG9mIGRpcnQsIGJ1dCBpdCBjb3VsZCBiZSBmdW4hIENoZWNrIG91dCB0aGUgYnJvY2h1cmUhXG5cblNpbmNlIHdlXHUyMDE5cmUgZmlyc3QgdGltZSBnYXJkZW5lcnMsIElcdTIwMTlkIHN1Z2dlc3Qgc3RhcnRpbmcgd2l0aCBzb21ldGhpbmcgc2ltcGxlLiBPYnZpb3VzbHksIHdlXHUyMDE5ZCB3YW50IHRvIGF2b2lkIGdyb3dpbmcgIix7ImIiOjEsIm9wdGlvbnMiOlsid2F0ZXJtZWxvbiIsInBlYXMiLCJ0b21hdG9lcyIsImNhcnJvdHMiXSwia2V5IjoxfSwiLiBBbHNvLCBvdXIgeWFyZCBpcyB2ZXJ5IHN1bm55LCBzbyBpdCBjb3VsZCBiZSBkaWZmaWN1bHQgdG8gZ3JvdyAiLHsiYiI6Miwib3B0aW9ucyI6WyJzcGluYWNoIiwicGVhcyIsIndhdGVybWVsb24iLCJjYXJyb3RzIl0sImtleSI6MX0sIi4gT2YgY291cnNlLCB3ZVx1MjAxOWQgZGVmaW5pdGVseSBuZWVkIHRvIHBsYW50IHB1bXBraW4sIHNpbmNlLCBhcyB5b3Uga25vdywgSSBsb3ZlIHB1bXBraW4gcGllcy4gV2UgY291bGQgd29yayBzb21ldGhpbmcgb3V0IGV2ZW4gdGhvdWdoIHRoZXkgcmVxdWlyZSAiLHsiYiI6Mywib3B0aW9ucyI6WyJwbGVudHkgb2Ygc3BhY2UiLCJ3YXJtIGFuZCBkcnkgc29pbCIsImxvdHMgb2Ygc2hhZGUiLCJzcGVjaWFsaXplZCBzZWVkIGNvbXBvc3QiXSwia2V5IjoxfSwiLiBGb3IgZnJlc2ggcGllcywgSSBhY2NlcHQgdGhlIGNoYWxsZW5nZSFcblxuTGV0XHUyMDE5cyBjaGVjayBvdXQgdGhlIGdhcmRlbmluZyBjZW50cmUgYWZ0ZXIgZGlubmVyLiBJdCBzb3VuZHMgbGlrZSB0aGUgIix7ImIiOjQsIm9wdGlvbnMiOlsibW9zdCBoZWxwZnVsIiwiYnVzaWVzdCIsImxhcmdlc3QiLCJtb3N0IHBvcHVsYXIiXSwia2V5IjoxfSwiIHBsYWNlIGluIHRvd24uIEFsc28sIElcdTIwMTlsbCBzdG9wIGJ5IHRoZSBsaWJyYXJ5IGZvciBhIGdhcmRlbmluZyBndWlkZSBzaW5jZSB0aGUgYnJvY2h1cmUgZG9lc25cdTIwMTl0IHByb3ZpZGUgY29tcGxldGUgaW5mb3JtYXRpb24gZm9yIGVhY2ggcGxhbnQuIFRoZSBicm9jaHVyZSBtZW50aW9ucyBoYXJ2ZXN0IHRpbWUgZm9yIG9ubHkgIix7ImIiOjUsIm9wdGlvbnMiOlsiY2Fycm90cyBhbmQgc3BpbmFjaCIsIndhdGVybWVsb24gYW5kIHBlYXMiLCJzcGluYWNoIGFuZCB0b21hdG9lcyIsInB1bXBraW4gYW5kIGNhcnJvdHMiXSwia2V5IjoxfSwiLiBUaGF0XHUyMDE5cyBzb21ldGhpbmcgd2VcdTIwMTlkIGRlZmluaXRlbHkgbmVlZCB0byBrbm93IVxuXG5CZXN0LFxuXG5BbGFuIl19LHsidHlwZSI6InN0ZW1saXN0IiwiaW5zdHIiOiJVc2luZyB0aGUgZHJvcC1kb3duIG1lbnUgKCAmIzk2NjI7ICksIGNob29zZSB0aGUgYmVzdCBvcHRpb24uIiwiaXRlbXMiOlt7Im4iOjYsInByZSI6IldoYXQgZG9lcyBBbGFuIHdhbnQgTHVjeSB0byBkbz8iLCJvcHRpb25zIjpbImNhbGwgdGhlIGdhcmRlbiBjZW50cmUgZm9yIGluZm9ybWF0aW9uIiwicmVzZWFyY2ggdGhlIGhhcnZlc3QgdGltZSBvZiBlYWNoIHBsYW50IiwibWFrZSBhIHB1bXBraW4gcGllIGZvciBkaW5uZXIiLCJwbGFudCBhIHZlZ2V0YWJsZSBnYXJkZW4gd2l0aCBoaW0iXSwia2V5Ijo0fSx7Im4iOjcsInByZSI6IldoeSBkb2VzIEFsYW4gdGhpbmsgYSBnYXJkZW4gaXMgYSBnb29kIGlkZWE\/Iiwib3B0aW9ucyI6WyJIZSBrbm93cyBMdWN5IHdvdWxkIGVuam95IGl0LiIsIkl0IGlzIGFuIGFmZm9yZGFibGUgd2F5IHRvIGVhdCBoZWFsdGh5IGZvb2QuIiwiSXQgd2lsbCBmaWxsIGVtcHR5IHNwYWNlIGluIHRoZWlyIHlhcmQuIiwiSGUgZmVlbHMgdGhleSBkb25cdTIwMTl0IGVhdCBlbm91Z2ggaGVhbHRoeSBmb29kLiJdLCJrZXkiOjJ9LHsibiI6OCwicHJlIjoiV2h5IGRpZCBBbGFuIGF0dGFjaCB0aGUgYnJvY2h1cmUgdG8gaGlzIGVtYWlsPyIsIm9wdGlvbnMiOlsidG8gc2hvdyBoZXIgdGhlIG5ldyBnYXJkZW5pbmcgY2VudHJlIGluIHRvd24iLCJ0byBwcm92aWRlIGV4YW1wbGVzIG9mIHRoaW5ncyB0aGV5IGNhbiBncm93IiwidG8gZW5jb3VyYWdlIEx1Y3kgdG8gcGxhbnQgYSBnYXJkZW4gYWdhaW4iLCJ0byBleHBsYWluIHdoYXQgaGVcdTIwMTlsbCBiZSBkb2luZyB0aGlzIHN1bW1lciJdLCJrZXkiOjJ9XX1dfSx7ImlkIjozLCJuYW1lIjoiUmVhZGluZyBQYXJ0IDM6IFJlYWRpbmcgZm9yIEluZm9ybWF0aW9uIiwidGltZSI6IjkgbWludXRlcyIsInBhc3NhZ2UiOnsidHlwZSI6InRleHQiLCJsYWJlbCI6IlJlYWQgdGhlIGZvbGxvd2luZyBwYXNzYWdlLiIsImh0bWwiOiI8cD48c3Ryb25nPkEuPC9zdHJvbmc+IFdpdGggbW9zdCBDYW5hZGlhbnMgbGl2aW5nIGluIHRoZSBzb3V0aGVybiBwYXJ0IG9mIHRoZSBjb3VudHJ5LCBtdWNoIG9mIENhbmFkYSZyc3F1bztzIDkuOSBtaWxsaW9uIHNxdWFyZSBraWxvbWV0cmVzIGlzIHVuaW5oYWJpdGVkLiBDb25zZXF1ZW50bHksIG91dGRvb3Igd2lsZGVybmVzcyBhY3Rpdml0aWVzJm1kYXNoO3N1Y2ggYXMgaHVudGluZywgZmlzaGluZywgY2FtcGluZywgaGlraW5nLCBhbmQgY2Fub2VpbmcmbWRhc2g7YXJlIHN1aXRhYmxlIHBhc3RpbWVzLiBPZiB0aGVzZSwgY2FtcGluZyBoYXMgdGhlIHdpZGVzdCBhcHBlYWwuIE1vcmUgdGhhbiBvbmUgdGhpcmQgb2YgQ2FuYWRpYW4gaG91c2Vob2xkcyBjb250YWluIGNhbXBpbmcgZXF1aXBtZW50LCBhbmQgYWJvdXQgb25lIHF1YXJ0ZXIgb2YgdGhlIHBvcHVsYXRpb24gY2FtcHMgZWFjaCBhbmQgZXZlcnkgeWVhci4gTW9yZSB0aGFuIDM3IG5hdGlvbmFsIHBhcmtzIHBsdXMgaW5udW1lcmFibGUgcHJvdmluY2lhbCBwYXJrcyBhbmQgcHJpdmF0ZSBjYW1wZ3JvdW5kcyByZWd1bGFybHkgYXR0cmFjdCBjYW1waW5nIGVudGh1c2lhc3RzIGFuZCBpc3N1ZSB0aG91c2FuZHMgb2YgcGVybWl0cyBlYWNoIHllYXIuPC9wPjxwPjxzdHJvbmc+Qi48L3N0cm9uZz4gVGhlIG1vc3QgY29tbW9uIGNhbXBpbmcgY2hvaWNlcyBpbiBDYW5hZGEgcmFuZ2UgZnJvbSBwb3NoLCBmdWxseS1lcXVpcHBlZCBtb3RvcmhvbWVzIHRvIHJ1c3RpYyB3aWxkZXJuZXNzIGNhbXBpbmcgd2l0aCB3aGF0ZXZlciB0aGUgaGlrZXIgY2FuIGNhcnJ5IGluIGEgYmFja3BhY2suIFRoZSBtb3N0IGxhdmlzaCBvcHRpb24sIHRoZSA2LSB0byAxMy1tZXRyZS1sb25nIG1vdG9yaG9tZSwgY29uc3VtZXMgdHJlbWVuZG91cyBhbW91bnRzIG9mIGZ1ZWwgYW5kIHJlcXVpcmVzIGxhcmdlIHBhcmtpbmcgc3BhY2VzIGluIGNhbXBncm91bmRzLiBUaGVzZSBjYW1wZXJzIHNob3VsZCByZXNlcnZlIHRoZWlyIGNhbXBzaXRlcyB3ZWxsIGluIGFkdmFuY2UuIFJldGlyZWQgY291cGxlcyBzb21ldGltZXMgdGFrZSBhIHllYXIgb3IgbW9yZSB0byB0cmF2ZWwgYXJvdW5kIE5vcnRoIEFtZXJpY2EgdGhpcyB3YXksIHBlcmhhcHMgaW4gYSBjYXZhbGNhZGUgb2YgdXAgdG8gYSBodW5kcmVkIHZlaGljbGVzLiBBbm90aGVyIG9wdGlvbiBpcyB0aGUgUlYgdHJhaWxlciwgd2hpY2ggaXMgc2hvcnRlciBidXQgcmVxdWlyZXMgYSB0b3dpbmcgdmVoaWNsZS4gUlYgdHJhaWxlcnMgYXJlIGZhciBjaGVhcGVyIHRoYW4gbW90b3Job21lcyBidXQgc3RpbGwgcHJvdmlkZSB0aGUgY29udmVuaWVuY2VzIG9mIGhvbWUuPC9wPjxwPjxzdHJvbmc+Qy48L3N0cm9uZz4gSW4gQ2FuYWRhLCBtb3RvcmhvbWVzIGFuZCBSVnMgYXJlIGNvc3RseSB0byBidXkgb3IgcmVudCBhbmQgdG8gdXNlLiBGb3IgdGhvc2UgcmVxdWlyaW5nIGEgY2hlYXBlciBhbHRlcm5hdGl2ZSBhbmQgd2lsbGluZyB0byBmb3JnbyBob21leSBjb252ZW5pZW5jZXMsIHRoZSBsaWdodHdlaWdodCB0ZW50IHRyYWlsZXIgaXMgYSBwb3NzaWJpbGl0eS4gVHlwaWNhbGx5IGNvc3RpbmcgbGVzcyB0aGFuICQxMCwwMDAsIGl0JnJzcXVvO3MgZWFzeSB0byBwdWxsIGFuZCBtYW5vZXV2cmUuIEVzc2VudGlhbGx5LCBpdCZyc3F1bztzIGEgY29sbGFwc2libGUgdGVudC1saWtlIHN0cnVjdHVyZSBtb3VudGVkIG9uIGEgcmVjdGFuZ3VsYXIgZm91ci1zaWRlZCBib3ggYXR0YWNoZWQgdG8gdHdvIHdoZWVscy4gVGhlIGludGVyaW9yIHZhcmllcyB3aXRoIHRoZSBtb2RlbCwgdGhlIG1vcmUgZXhwZW5zaXZlIG9uZXMgaW5jbHVkaW5nIGEgcnVzdGljIGtpdGNoZW4sIGJlZHMsIHJ1bm5pbmcgd2F0ZXIsIGFuZCBhbiBlbGVjdHJpY2FsIGhvb2t1cC4gTW9yZSBzdGFibGUgdGhhbiBhIHRlbnQsIHdoaWNoIHNpdHMgb24gdGhlIGdyb3VuZCwgaXRzIGNvbnN0cnVjdGlvbiBtYXkgc3RpbGwgbGVhZCB0byBjYW1wZXIgZGlzY29tZm9ydCBkdXJpbmcgZXh0cmVtZSB3ZWF0aGVyLjwvcD48cD48c3Ryb25nPkQuPC9zdHJvbmc+IExlc3MgcmVzdHJpY3RpdmUgYW5kIG1vcmUgZWNvbm9taWNhbCB0aGFuIG90aGVyIG1vYmlsZSBhY2NvbW1vZGF0aW9ucywgdGVudHMgY2FuIGJlIHVzZWQgYWxvbmcgZGVzaWduYXRlZCBoaWtpbmcgdHJhaWxzIG9yIGluIGVzdGFibGlzaGVkIGNhbXBncm91bmRzOyB0aG91Z2gsIHJlZ3VsYXRpb25zIHByZXZlbnQgdGVudGVycyBmcm9tIHBpdGNoaW5nIGEgdGVudCBhbnl3aGVyZSB0aGV5IGNob29zZS4gVHJhdmVsbGVycyBkcml2aW5nIG9yIGJpa2luZyBhbG9uZyB0aGUgVHJhbnMtQ2FuYWRhIGhpZ2h3YXksIGZvciBleGFtcGxlLCB3aWxsIG5vdGljZSBjYW1wZ3JvdW5kcyB0aGF0IGNhdGVyIHRvIG1vdG9yaG9tZXMsIHRlbnQgdHJhaWxlcnMsIGFuZCB0ZW50ZXJzLiBTb21lIGNhbXBncm91bmRzIGhhdmUgcnVubmluZyB3YXRlciBhbmQgc2hvd2Vycywgd2hlcmVhcyBvdGhlcnMgaGF2ZSBvbmx5IG91dGhvdXNlcyBhbmQgb3V0ZG9vciBjb2xkLXdhdGVyIHRhcHMuIFJlc2VydmF0aW9ucyBhcmUgYWNjZXB0ZWQgZm9yIGFueSB0eXBlIG9mIGNhbXBpbmcuIFdlYnNpdGVzIGFuZCBib29rcyBhcmUgYXZhaWxhYmxlIHdpdGggZGV0YWlsZWQgaW5mb3JtYXRpb24gYWJvdXQgY2FtcHNpdGVzIGluIGVhY2ggcHJvdmluY2UsIGZhY2lsaXRhdGluZyB2YWNhdGlvbiBwbGFubmluZyBmb3IgYWR2ZW50dXJvdXMgY2FtcGVycy48L3A+PHA+PHN0cm9uZz5FLjwvc3Ryb25nPiBOb3QgZ2l2ZW4gaW4gYW55IG9mIHRoZSBhYm92ZSBwYXJhZ3JhcGhzLjwvcD4ifSwiYmxvY2tzIjpbeyJ0eXBlIjoibWF0Y2giLCJpbnN0ciI6IkRlY2lkZSB3aGljaCBwYXJhZ3JhcGgsIEEgdG8gRCwgaGFzIHRoZSBpbmZvcm1hdGlvbiBnaXZlbiBpbiBlYWNoIHN0YXRlbWVudCBiZWxvdy4gU2VsZWN0IEUgaWYgdGhlIGluZm9ybWF0aW9uIGlzIG5vdCBnaXZlbiBpbiBhbnkgb2YgdGhlIHBhcmFncmFwaHMuIiwibGV0dGVycyI6WyJBIiwiQiIsIkMiLCJEIiwiRSJdLCJpdGVtcyI6W3sibiI6MSwidGV4dCI6IkNhbXBpbmdcdTIwMTlzIHBvcHVsYXJpdHkgaW4gQ2FuYWRhIGlzIGV2aWRlbmNlZCBieSB0aGUgcGVyY2VudGFnZSBvZiBmcmVxdWVudCBjYW1wZXJzLiIsImtleSI6MX0seyJuIjoyLCJ0ZXh0IjoiQ2VydGFpbiB0eXBlcyBvZiBjYW1waW5nIGNhbm5vdCBiZSBkb25lIHNwb250YW5lb3VzbHkuIiwia2V5IjoyfSx7Im4iOjMsInRleHQiOiJTb21lIHBlb3BsZSB3aG8gcHJlZmVyIG9uZSBzdHlsZSBvZiBjYW1waW5nIGVuam95IHRyYXZlbGxpbmcgaW4gZ3JvdXBzLiIsImtleSI6Mn0seyJuIjo0LCJ0ZXh0IjoiQ2FtcGluZyBpcyBhIGdyb3dpbmcgdHJlbmQgYW1vbmcgd2lsZGVybmVzcyBlbnRodXNpYXN0cy4iLCJrZXkiOjV9LHsibiI6NSwidGV4dCI6IkNhbXBlcnMgc2hvdWxkIGNoZWNrIHdoZXJlIHRoZXkgYXJlIHBlcm1pdHRlZCB0byBzZXQgdXAgY2FtcC4iLCJrZXkiOjR9LHsibiI6NiwidGV4dCI6IkNhbXBzaXRlcyBjYW4gYmUgZm91bmQgYWNyb3NzIHRoZSBsZW5ndGggb2YgQ2FuYWRhLiIsImtleSI6NH0seyJuIjo3LCJ0ZXh0IjoiUGVvcGxlIHdobyB1c2UgbW90b3Job21lcyBicmluZyBhIHNlY29uZCB2ZWhpY2xlIHdpdGggdGhlbS4iLCJrZXkiOjV9LHsibiI6OCwidGV4dCI6IlNvbWUgY2FtcGVycyBjaG9vc2UgYSBtaWRkbGUgZ3JvdW5kIGJldHdlZW4gbHV4dXJ5IGFuZCBydXN0aWMgY2FtcGluZy4iLCJrZXkiOjN9LHsibiI6OSwidGV4dCI6IlNvbWUgY2FtcGluZyBlcXVpcG1lbnQgaXMgbGVzcyBhYmxlIHRvIHdpdGhzdGFuZCB1bnBsZWFzYW50IGNvbmRpdGlvbnMuIiwia2V5IjozfV19XX0seyJpZCI6NCwibmFtZSI6IlJlYWRpbmcgUGFydCA0OiBSZWFkaW5nIGZvciBWaWV3cG9pbnRzIiwidGltZSI6IjEyIG1pbnV0ZXMiLCJwYXNzYWdlIjp7InR5cGUiOiJ0ZXh0IiwibGFiZWwiOiJSZWFkIHRoZSBmb2xsb3dpbmcgYXJ0aWNsZSBmcm9tIGEgd2Vic2l0ZS4iLCJodG1sIjoiPHA+PHN0cm9uZz5MYW5ndWFnZSBEZWNsaW5lPC9zdHJvbmc+PC9wPjxwPlRoZSBudW1iZXJzIGFyZSBpbiwgYW5kIHRoZXkmcnNxdW87cmUgZ3JpbTogVGhyZWUgdGhvdXNhbmQgb2YgdGhlIHdvcmxkJnJzcXVvO3Mgc2V2ZW4gdGhvdXNhbmQgbGFuZ3VhZ2VzIGFyZSBpbiBkZWNsaW5lIGFuZCBleHBlY3RlZCB0byBwZXJpc2ggYnkgYXJvdW5kIDIxMDAuIFdoaWxlIHRoZSBtb3N0IHByZXZhbGVudCBsYW5ndWFnZXMgYXJlIHRha2luZyBhIGZpcm1lciBob2xkIGFjcm9zcyB0aGUgZ2xvYmUsIHRoZSBleHRpbmN0aW9uIHJhdGUgZm9yIGxhbmd1YWdlcyBpcyAyNSBwZXIgeWVhci4gQ2hhcnRpbmcgbGFuZ3VhZ2UgZGVtaXNlLCBVTkVTQ08gcmFua3MgZHdpbmRsaW5nIGxhbmd1YWdlcyBvbiBhIHNjYWxlIHJhbmdpbmcgZnJvbSAmbGRxdW87dnVsbmVyYWJsZSZyZHF1bzsgdG8gJmxkcXVvO2NyaXRpY2FsbHkgZW5kYW5nZXJlZC4mcmRxdW87IFRoZSBxdWVzdGlvbiBpcyBob3csIG9yIHdoZXRoZXIsIFVORVNDTyBvciBzb3ZlcmVpZ24gZ292ZXJubWVudHMgc2hvdWxkIGludGVydmVuZT88L3A+PHA+Q29uY2VybmVkIGxhbmd1YWdlIHByZXNlcnZhdGlvbiBvcmdhbml6YXRpb25zIGluY2x1ZGUgdGhlIENhbmFkaWFuIEFzc29jaWF0aW9uIGZvciBMYW5ndWFnZSBEaXZlcnNpdHkgKENBTEQpLCBhIGNoYXJpdHkgd2hvc2UgZ29hbCBpcyB0byBwcmV2ZW50IGxhbmd1YWdlIGV4dGluY3Rpb25zLiBJQUxEIHNwb2tlc3BlcnNvbiBOb3JtYW4gUmVpZGVnZXIgc2F5cyBhbGwgZW5kYW5nZXJlZCBsYW5ndWFnZXMgc2hvdWxkIGJlIHNhdmVkLiAmbGRxdW87Rm9yIGluZGl2aWR1YWxzLCBsYW5ndWFnZSBmb3N0ZXJzIGEgc2Vuc2Ugb2YgcGVyc29uYWwgaWRlbnRpdHkuIExhbmd1YWdlIGV4dGluY3Rpb24gbWVhbnMgbG9zcyBvZiBwcmljZWxlc3MsIGlycmVwbGFjZWFibGUgY3VsdHVyYWwga25vd2xlZGdlJm1kYXNoO3RoZSBncmFtbWFyLCBtdXNpYywgbmFycmF0aXZlcywgYW5kIGV2ZW4gbWVkaWNhbCBrbm93bGVkZ2UgZW1iZWRkZWQgaW4gYSBsYW5ndWFnZS4gQSBsaW5ndWlzdGljYWxseSBkaXZlcnNlIHBsYW5ldCBpcyBhIGhlYWx0aHkgcGxhbmV0LiZyZHF1bzs8L3A+PHA+Q29uY29yZGlhIFVuaXZlcnNpdHkgbGluZ3Vpc3RpY3MgcHJvZmVzc29yIE1hcmlhbm5lIEhvdXNlbWFuIGRlcGxvcmVzIHN1Y2ggdXNlIG9mIGJpb2RpdmVyc2l0eSByaGV0b3JpYyBpbiBsaW5ndWlzdGljcyBkaXNjb3Vyc2UuICZsZHF1bztMaWZlIGlzIGxpZmUsIGFuZCBsYW5ndWFnZSBpcyBsYW5ndWFnZSwmcmRxdW87IHNoZSBjbGFyaWZpZXMuIEhvdXNlbWFuIGlzIHNrZXB0aWNhbCBhYm91dCB3aGV0aGVyIHNwZWFrZXJzIG9mIGVuZGFuZ2VyZWQgbGFuZ3VhZ2VzIGJlbmVmaXQgZnJvbSBsaW5ndWlzdGljIHByZXNlcnZhdGlvbiwgbm90aW5nIHRoYXQgdGhvc2Ugd2hvIGFiYW5kb24gdGhlaXIgbGFuZ3VhZ2UgbWF5IGJlIGFjdGluZyBpbiB0aGVpciBvd24gYmVzdCBpbnRlcmVzdHMgYnkgYWRhcHRpbmcgdG8gYSBuYXR1cmFsbHkgZXZvbHZpbmcgc29jaW8tZWNvbm9taWMgY2xpbWF0ZS4gJmxkcXVvO1dob3NlIG5lZWRzIGFyZSBzZXJ2ZWQgYnkgZ292ZXJubWVudC1mdW5kZWQgc29jaWFsJm1kYXNoO29yIHNvY2lvLWxpbmd1aXN0aWMmbWRhc2g7ZW5naW5lZXJpbmcgc2NoZW1lcz8mcmRxdW87IGFza3MgSG91c2VtYW4sICZsZHF1bztUaGVpciBwcm9wb25lbnRzIGFyZSB0eXBpY2FsbHkgbmF0aW9uYWxpc3QgcmVnaW1lcyBhZHZhbmNpbmcgdGhlaXIgb3duIHRlcnJpdG9yaWFsLCBwb2xpdGljYWwgYW5kIGVjb25vbWljIGFnZW5kYXMuJnJkcXVvOzwvcD48cD5Bbm5hbGlzYSBEdWNoYXJtZSwgYSBNZW1vcmlhbCBVbml2ZXJzaXR5IGRvY3RvcmFsIGNhbmRpZGF0ZSwgcG9pbnRzIG91dCB0aGF0IGEgY29uZm91bmRpbmcgZmFjdG9yIGlzIHZhcmlhdGlvbiB3aXRoaW4gYSBsYW5ndWFnZS4gJmxkcXVvO09uZSBsYW5ndWFnZSBjYW4gaGF2ZSBtdWx0aXBsZSBkaWFsZWN0cyZtZGFzaDtyZWdpb25hbCB2YXJpZXRpZXMsJnJkcXVvOyBzYXlzIER1Y2hhcm1lLCAmbGRxdW87SWYgYW4gZW5kYW5nZXJlZCBsYW5ndWFnZSBpcyB0byBiZSBhcnRpZmljaWFsbHkgcHJvcHBlZCB1cCB3aXRoIGdvdmVybm1lbnQgZnVuZGVkIHNjaG9vbHMgYW5kIHByZXNjaG9vbHMsIGFzIHRoZXkgZG8gd2l0aCBzb21lIEZpcnN0IE5hdGlvbiBsYW5ndWFnZXMgaW4gQ2FuYWRhLCB0aGVuIHdoaWNoJm1kYXNoO3dob3NlJm1kYXNoO3ZlcnNpb24gb2YgdGhlIGxhbmd1YWdlIHNob3VsZCBiZSBkZWVtZWQgJmxkcXVvO2Vzc2VudGlhbCZyZHF1bzsgYW5kIHRoZXJlZm9yZSB3b3J0aCBzYXZpbmc\/JnJkcXVvOyBBcyB3ZWxsIGFzIEZpcnN0IE5hdGlvbiBsYW5ndWFnZXMsIER1Y2hlbm5lIHBvaW50cyB0byBGcmVuY2gsIHdoaWNoICZsZHF1bztoYXMgbWFueSBkaWFsZWN0cyB3b3J0aCBzdXN0YWluaW5nLiBHbG9iYWxseSwgRnJhbmNlLCBMb3Vpc2lhbmEsIGFuZCBBZnJpY2EgaGF2ZSB0aGVpciBvd24gdmVyc2lvbnMuIEluIE5ldyBCcnVuc3dpY2ssIEZyZW5jaCBkaWFsZWN0cyBpbmNsdWRlIFF1ZWJlY29pcywgQWNhZGlhbiwgYW5kIENoaWFjLCBhIHN1Yi1kaWFsZWN0IHRoYXQgYmxlbmRzIEFjYWRpYW4gRnJlbmNoLCBFbmdsaXNoLCBhbmQgW2Fib3JpZ2luYWxdIE1pJnJzcXVvO2ttYXEuJnJkcXVvOzwvcD4ifSwiYmxvY2tzIjpbeyJ0eXBlIjoic3RlbWxpc3QiLCJpbnN0ciI6IlVzaW5nIHRoZSBkcm9wLWRvd24gbWVudSAoICYjOTY2MjsgKSwgY2hvb3NlIHRoZSBiZXN0IG9wdGlvbiBhY2NvcmRpbmcgdG8gdGhlIGluZm9ybWF0aW9uIGdpdmVuIG9uIHRoZSB3ZWJzaXRlLiIsIml0ZW1zIjpbeyJuIjoxLCJwcmUiOiJBbm5hbGlzYSBEdWNoYXJtZSBtb3N0IGxpa2VseSBvYmplY3RzIHRvIiwib3B0aW9ucyI6WyJpbmZsYXRlZCBjbGFpbXMgYWJvdXQgbGFuZ3VhZ2UgcHJlc2VydmF0aW9uIG91dGNvbWVzLiIsInB1YmxpYyBwcm9ncmFtcyB0byByZXZpdGFsaXplIGR5aW5nIGxhbmd1YWdlcyBmb3IgcG9saXRpY2FsIHJlYXNvbnMuIiwiZGVuaWFscyBhYm91dCB0aGUgcmF0ZSBvZiBsYW5ndWFnZSBleHRpbmN0aW9uLiIsImEgc2ltcGxpc3RpYyBjYXRlZ29yaXphdGlvbiBvciBkZWZpbml0aW9uIG9mIGEgbGFuZ3VhZ2UuIl0sImtleSI6NH0seyJuIjoyLCJwcmUiOiJNYXJpYW5uZSBIb3VzZW1hbiB0aGlua3MgbGFuZ3VhZ2UgcHJlc2VydmF0aW9uIHByb2dyYW1zIHNob3VsZCBiZSIsIm9wdGlvbnMiOlsibW9kaWZpZWQuIiwiY29udGludWVkLiIsImNvbnNvbGlkYXRlZC4iLCJhYmFuZG9uZWQuIl0sImtleSI6NH0seyJuIjozLCJwcmUiOiJXaG8gaG9sZHMgZGlyZWN0bHkgb3Bwb3Npbmcgdmlld3BvaW50cz8iLCJvcHRpb25zIjpbIkR1Y2hhcm1lIGFuZCBVTkVTQ08iLCJIb3VzZW1hbiBhbmQgUmVpZGVnZXIiLCJSZWlkZWdlciBhbmQgRHVjaGFybWUiLCJEdWNoYXJtZSBhbmQgSG91c2VtYW4iXSwia2V5IjoyfSx7Im4iOjQsInByZSI6Ik1hcmlhbm5lIEhvdXNlbWFuIHdvdWxkIG1vc3QgbGlrZWx5IGFncmVlIHRoYXQiLCJvcHRpb25zIjpbImludmVzdG1lbnRzIGluIGxhbmd1YWdlIGltbWVyc2lvbiBzY2hvb2xzIGFyZSBkZWZlbnNpYmxlLiIsImxhbmd1YWdlIHByZXNlcnZhdGlvbiBwb2xpY2llcyBkZXNlcnZlIHB1YmxpYyBhdHRlbnRpb24uIiwicGVvcGxlIHN0YW5kIHRvIGdhaW4gZnJvbSBzcGVha2luZyBhIGxpbmd1YSBmcmFuY2EuIiwiZHlpbmcgbGFuZ3VhZ2VzIGFyZSBhIHByaWNlbGVzcyBjdWx0dXJhbCByZXNvdXJjZS4iXSwia2V5IjozfSx7Im4iOjUsInByZSI6Ik92ZXJhbGwsIHRoZSBhcnRpY2xlIHN1Z2dlc3RzIHRoYXQgZWZmb3J0cyB0byBwcmVzZXJ2ZSBkeWluZyBsYW5ndWFnZXMgYXJlIiwib3B0aW9ucyI6WyJoYW1wZXJlZCBieSB0aGUgbGluayBiZXR3ZWVuIGxhbmd1YWdlIGFuZCBpZGVudGl0eS4iLCJmcmF1Z2h0IHdpdGggYW4gYXJyYXkgb2Ygc29jaW9wb2xpdGljYWwgY29tcGxpY2F0aW9ucy4iLCJ3YXJyYW50ZWQgb24gdGhlIGJhc2lzIG9mIGRpc3R1cmJpbmcgZ2xvYmFsIHN0YXRpc3RpY3MuIiwiZXNzZW50aWFsIGZvciB0aGUgc2FrZSBvZiBwcmVzZXJ2aW5nIGluZGlnZW5vdXMgY3VsdHVyZXMuIl0sImtleSI6Mn1dfSx7InR5cGUiOiJjbG96ZSIsImluc3RyIjoiVGhlIGZvbGxvd2luZyBpcyBhIGNvbW1lbnQgYnkgYSB2aXNpdG9yIHRvIHRoZSB3ZWJzaXRlIHBhZ2UuIENvbXBsZXRlIHRoZSBjb21tZW50IGJ5IGNob29zaW5nIHRoZSBiZXN0IG9wdGlvbiB0byBmaWxsIGluIGVhY2ggYmxhbmsuIiwiYm9keSI6WyJNeSBncmFuZHBhcmVudHMgc3Bva2UgYSByZWdpb25hbCBkaWFsZWN0IGF0IGhvbWUsIGJ1dCBpdCB3YXMgbmV2ZXIgcGFzc2VkIG9uIHRvICIseyJiIjo2LCJvcHRpb25zIjpbInRoZSBuZXh0IGdlbmVyYXRpb24iLCJsaW5ndWlzdGljIHJlc2VhcmNoZXJzIiwiYSByYW5nZSBvZiBGaXJzdCBOYXRpb24gZ3JvdXBzIiwiTWljaGlmIHNwZWFrZXJzIl0sImtleSI6MX0sIiwgc28gdGhpcyBhcnRpY2xlIHJlYWxseSBoaXQgaG9tZSBmb3IgbWUuIEV2ZW4gc28sIHRoZSBwZXJzb24gSSBmb3VuZCBteXNlbGYgYWdyZWVpbmcgd2l0aCB3YXMgdGhlICIseyJiIjo3LCJvcHRpb25zIjpbInByb2Zlc3NvciIsImdyYWR1YXRlIHN0dWRlbnQiLCJDQUxEIHJlcHJlc2VudGF0aXZlIiwiVW5pdGVkIE5hdGlvbnMiXSwia2V5IjoxfSwiLiBQZW9wbGUgZ2l2ZSB1cCBhIGxhbmd1YWdlIGZvciBwcmFjdGljYWwgcmVhc29ucywgYW5kIGl0IGlzIHVucmVhbGlzdGljIHRvIGV4cGVjdCBhIGR5aW5nIGxhbmd1YWdlIHRvICIseyJiIjo4LCJvcHRpb25zIjpbImNvbnRpbnVlIGV2b2x2aW5nIiwiZ3JvdyBtb3JlIGRpdmVyc2UiLCJtYWtlIGEgY29tZWJhY2siLCJiZWNvbWUgb2ZmaWNpYWwiXSwia2V5IjozfSwiIHNpbXBseSBiZWNhdXNlIGEgZ292ZXJubWVudCBmdW5kcyBhIGZldyBzcGVjaWFsIHNjaG9vbHMuIEhvdXNlbWFuIGlzIGFsc28gcmlnaHQgdG8gYXNrIHdobyByZWFsbHkgYmVuZWZpdHMgZnJvbSB0aGVzZSBzY2hlbWVzOyB0b28gb2Z0ZW4gdGhleSBzZXJ2ZSAiLHsiYiI6OSwib3B0aW9ucyI6WyJsYW5ndWFnZSBzdGFuZGFyZGl6YXRpb24gZWZmb3J0cyIsImFnZ3Jlc3NpdmUgbmF0aW9uYWxpc3QgYWdlbmRhcyIsImxpa2VseSB0byBwcm9saWZlcmF0ZSIsImluZHVsZ2VudCBjaGFyaXR5IGNhbXBhaWducyJdLCJrZXkiOjJ9LCIgcmF0aGVyIHRoYW4gdGhlIHNwZWFrZXJzIHRoZW1zZWx2ZXMuIEFuZCBhcyBEdWNoYXJtZSBwb2ludHMgb3V0LCBkZWNpZGluZyB3aGljaCB2ZXJzaW9uIG9mIGEgbGFuZ3VhZ2UgZGVzZXJ2ZXMgc2F2aW5nIHdvdWxkIGJlIGNvbXBsZXRlbHkgIix7ImIiOjEwLCJvcHRpb25zIjpbInVubmVjZXNzYXJ5IiwibGluZ3Vpc3RpYyIsImVzc2VudGlhbCIsImFyYml0cmFyeSJdLCJrZXkiOjR9LCIuIl19XX1dfTsKCmZ1bmN0aW9uIGNsYkVzdGltYXRlUihyYXcpewogIGlmIChyYXcgPj0gMzUpIHJldHVybiB7IGxldmVsOidDRUxQSVAgMTBcdTIwMTMxMicsIG5vdGU6J0FkdmFuY2VkIHByb2ZpY2llbmN5JyB9OwogIGlmIChyYXcgPj0gMzApIHJldHVybiB7IGxldmVsOidDRUxQSVAgOScsICBub3RlOidFZmZlY3RpdmUgcHJvZmljaWVuY3knIH07CiAgaWYgKHJhdyA+PSAyNykgcmV0dXJuIHsgbGV2ZWw6J0NFTFBJUCA4JywgIG5vdGU6J0dvb2QgcHJvZmljaWVuY3knIH07CiAgaWYgKHJhdyA+PSAyMikgcmV0dXJuIHsgbGV2ZWw6J0NFTFBJUCA3JywgIG5vdGU6J0FkZXF1YXRlIHByb2ZpY2llbmN5JyB9OwogIGlmIChyYXcgPj0gMTcpIHJldHVybiB7IGxldmVsOidDRUxQSVAgNicsICBub3RlOidEZXZlbG9waW5nIHByb2ZpY2llbmN5JyB9OwogIGlmIChyYXcgPj0gMTEpIHJldHVybiB7IGxldmVsOidDRUxQSVAgNScsICBub3RlOidBY3F1aXJpbmcgcHJvZmljaWVuY3knIH07CiAgcmV0dXJuIHsgbGV2ZWw6J0NFTFBJUCA0IG9yIGJlbG93Jywgbm90ZTonS2VlcCBwcmFjdGljaW5nIScgfTsKfQoKKGZ1bmN0aW9uKCl7CiAgLyogLS0tLSBpbmplY3Qgc2NvcGVkIENTUyAoV29yZFByZXNzLXNhZmU6IDxzdHlsZT4gaW4gY29udGVudCBjYW4gYmUgc3RyaXBwZWQpIC0tLS0gKi8KICB2YXIgQ1NTID0gYAouY2xwci13cmFwey0tbmF2eTojMDUwRTIwOy0tYjkwMDojMEQyMzUyOy0tYjcwMDojMTI0NUE4Oy0tYjUwMDojMjU2M0VCOy0tYjQwMDojM0I4MkY2Oy0tYjIwMDojOTNDNUZEOy0tYjEwMDojREJFQUZFOy0tYjUwOiNFRkY2RkY7LS10ZWFsOiMwRDk0ODg7LS1jeWFuOiMwNkI2RDQ7LS1ncmVlbjojMTBCOTgxOy0tZ3JlZW41MDojRUNGREY1Oy0tcm9zZTojRjQzRjVFOy0tdGV4dDojMEYxNzJBOy0tbXV0ZWQ6IzQ3NTU2OTstLXN1YnRsZTojOTRBM0I4Oy0tYm9yZGVyOiNFMkU4RjA7LS1iYXItYmc6I0U4RUJFRjstLWJhci1ib3JkZXI6I0QzRDlFMDstLWJhci10ZXh0OiMxRjI5Mzc7LS1wYW5lbC1wLWJnOiNGNEY1Rjc7LS1wYW5lbC1wLWJvcmRlcjojRTNFNkVBOy0tcGFuZWwtcS1iZzojRTlGNEY3Oy0tcGFuZWwtcS1ib3JkZXI6I0Q2RThFRDstLWRkLW9wZW4tYmc6I0NCRUJGNDtmb250LWZhbWlseTonUGx1cyBKYWthcnRhIFNhbnMnLHN5c3RlbS11aSwtYXBwbGUtc3lzdGVtLFNlZ29lIFVJLFJvYm90byxzYW5zLXNlcmlmO2NvbG9yOnZhcigtLXRleHQpO21heC13aWR0aDoxMTgwcHg7bWFyZ2luOjAgYXV0bztwYWRkaW5nOjE2cHggMTZweCA1NnB4O2xpbmUtaGVpZ2h0OjEuNTtmb250LXNpemU6MTZweDt9Ci5jbHByLXdyYXAgKiwuY2xwci13cmFwICo6OmJlZm9yZSwuY2xwci13cmFwICo6OmFmdGVye2JveC1zaXppbmc6Ym9yZGVyLWJveDt9Ci5jbHByLXdyYXAgYnV0dG9ue2ZvbnQtZmFtaWx5OmluaGVyaXQ7Y3Vyc29yOnBvaW50ZXI7fQouY2xwci13cmFwIGgxLC5jbHByLXdyYXAgaDIsLmNscHItd3JhcCBoMywuY2xwci13cmFwIHB7bWFyZ2luOjA7fQouY2xwci1oZXJve3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbjtib3JkZXItcmFkaXVzOjIycHg7YmFja2dyb3VuZDp2YXIoLS1uYXZ5KTtjb2xvcjojZmZmO3BhZGRpbmc6MzRweCAzOHB4O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjEzcHg7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtib3gtc2hhZG93OjAgMjBweCA0MHB4IC0yMHB4IHJnYmEoNSwxNCwzMiwuNDUpO30KLmNscHItYXVyb3Jhe3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7cG9pbnRlci1ldmVudHM6bm9uZTt9Ci5jbHByLWF1cm9yYSBzcGFue3Bvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6YmxvY2s7Ym9yZGVyLXJhZGl1czo1MCU7ZmlsdGVyOmJsdXIoNDZweCk7b3BhY2l0eTouNTU7fQouY2xwci1hdXJvcmEgc3BhbjpudGgtY2hpbGQoMSl7d2lkdGg6NDIwcHg7aGVpZ2h0OjQyMHB4O2xlZnQ6LTEyMHB4O3RvcDotMjAwcHg7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCMxMjQ1QTggMCUsdHJhbnNwYXJlbnQgNzAlKTt9Ci5jbHByLWF1cm9yYSBzcGFuOm50aC1jaGlsZCgyKXt3aWR0aDozODBweDtoZWlnaHQ6MzgwcHg7cmlnaHQ6LTgwcHg7dG9wOi0xNjBweDtiYWNrZ3JvdW5kOnJhZGlhbC1ncmFkaWVudChjaXJjbGUsIzBEOTQ4OCAwJSx0cmFuc3BhcmVudCA3MCUpO30KLmNscHItYXVyb3JhIHNwYW46bnRoLWNoaWxkKDMpe3dpZHRoOjM0MHB4O2hlaWdodDozNDBweDtyaWdodDoyMiU7Ym90dG9tOi0yNDBweDtiYWNrZ3JvdW5kOnJhZGlhbC1ncmFkaWVudChjaXJjbGUsIzI1NjNFQiAwJSx0cmFuc3BhcmVudCA3MCUpO30KLmNscHItaGVyby1iYWRnZXN7ZGlzcGxheTpmbGV4O2dhcDoxMHB4O2FsaWduLWl0ZW1zOmNlbnRlcjtmbGV4LXdyYXA6d3JhcDtwb3NpdGlvbjpyZWxhdGl2ZTt9Ci5jbHByLWJhZGdlLWJyYW5ke2JhY2tncm91bmQ6I2ZmZjtjb2xvcjp2YXIoLS1iOTAwKTtmb250LXdlaWdodDo4MDA7Zm9udC1zaXplOjEzcHg7cGFkZGluZzo0cHggMTFweDtib3JkZXItcmFkaXVzOjk5OXB4O2xldHRlci1zcGFjaW5nOi4wMWVtO30KLmNscHItYmFkZ2Utc2V0e2NvbG9yOnZhcigtLWIyMDApO2ZvbnQtc2l6ZToxM3B4O2ZvbnQtd2VpZ2h0OjYwMDt9Ci5jbHByLWhlcm8gaDF7cG9zaXRpb246cmVsYXRpdmU7Zm9udC1zaXplOmNsYW1wKDI2cHgsNHZ3LDQwcHgpO2ZvbnQtd2VpZ2h0OjgwMDtsZXR0ZXItc3BhY2luZzotLjAyZW07bGluZS1oZWlnaHQ6MS4xMjt9Ci5jbHByLWhlcm8tc3Vie3Bvc2l0aW9uOnJlbGF0aXZlO2NvbG9yOiNDN0QyRTM7Zm9udC1zaXplOjE0LjVweDttYXgtd2lkdGg6NzYwcHg7fQouY2xwci1oZXJvLWNoaXBze2Rpc3BsYXk6ZmxleDtnYXA6OHB4O2ZsZXgtd3JhcDp3cmFwO3Bvc2l0aW9uOnJlbGF0aXZlO30KLmNscHItY2hpcHtmb250LXNpemU6MTIuNXB4O2ZvbnQtd2VpZ2h0OjYwMDtjb2xvcjojRTVFRUZCO2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMDgpO2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMTYpO3BhZGRpbmc6NXB4IDExcHg7Ym9yZGVyLXJhZGl1czo5OTlweDt9Ci5jbHByLWN0YXtwb3NpdGlvbjpyZWxhdGl2ZTttYXJnaW4tdG9wOjZweDtiYWNrZ3JvdW5kOnZhcigtLWI1MDApO2NvbG9yOiNmZmY7Ym9yZGVyOm5vbmU7Zm9udC13ZWlnaHQ6NzAwO2ZvbnQtc2l6ZToxNXB4O3BhZGRpbmc6MTJweCAyMnB4O2JvcmRlci1yYWRpdXM6MTJweDtib3gtc2hhZG93OjAgMTJweCAyNHB4IC0xMHB4IHJnYmEoMzcsOTksMjM1LC44KTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMTVzLGJhY2tncm91bmQgLjE1czt9Ci5jbHByLWN0YTpob3Zlcnt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMnB4KTtiYWNrZ3JvdW5kOnZhcigtLWI0MDApO30KLmNscHItdG9vbGJhcntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4O21hcmdpbi10b3A6MThweDtwYWRkaW5nOjEwcHggMTRweDtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO2JvcmRlci1yYWRpdXM6MTRweDtib3gtc2hhZG93OjAgNnB4IDE4cHggLTEycHggcmdiYSgxNSwyMyw0MiwuMjUpO3Bvc2l0aW9uOnN0aWNreTt0b3A6OHB4O3otaW5kZXg6MzA7fQouY2xwci10b29sYmFyW2hpZGRlbl17ZGlzcGxheTpub25lO30KLmNscHItdG9vbGJhci1zcGFjZXJ7ZmxleDoxO30KLmNscHItc2NvcmUtY2hpcHtmb250LXNpemU6MTNweDtmb250LXdlaWdodDo3MDA7Y29sb3I6dmFyKC0tYjkwMCk7YmFja2dyb3VuZDp2YXIoLS1iNTApO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYjEwMCk7cGFkZGluZzo2cHggMTJweDtib3JkZXItcmFkaXVzOjk5OXB4O30KLmNscHItdGJ0bntiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO2NvbG9yOnZhcigtLXRleHQpO2ZvbnQtd2VpZ2h0OjcwMDtmb250LXNpemU6MTNweDtwYWRkaW5nOjhweCAxNXB4O2JvcmRlci1yYWRpdXM6MTBweDt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMTJzLGJveC1zaGFkb3cgLjEyczt9Ci5jbHByLXRidG46aG92ZXJ7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTFweCk7Ym94LXNoYWRvdzowIDZweCAxNHB4IC04cHggcmdiYSgxNSwyMyw0MiwuMyk7fQouY2xwci10YnRuLWNoZWNre2JhY2tncm91bmQ6dmFyKC0tZ3JlZW4pO2JvcmRlci1jb2xvcjp2YXIoLS1ncmVlbik7Y29sb3I6I2ZmZjt9Ci5jbHByLXRidG4tY2hlY2s6aG92ZXJ7YmFja2dyb3VuZDojMGNhNjc4O30KLmNscHItdGJ0bltkaXNhYmxlZF17b3BhY2l0eTouNTtjdXJzb3I6bm90LWFsbG93ZWQ7dHJhbnNmb3JtOm5vbmU7Ym94LXNoYWRvdzpub25lO30KLmNscHItc2lte21hcmdpbi10b3A6MTZweDt9Ci5jbHByLXNpbVtoaWRkZW5de2Rpc3BsYXk6bm9uZTt9Ci5jbHByLWRvdHN7ZGlzcGxheTpmbGV4O2dhcDo4cHg7bWFyZ2luOjAgMCAxMnB4IDJweDtmbGV4LXdyYXA6d3JhcDt9Ci5jbHByLWRvdHtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6N3B4O2ZvbnQtc2l6ZToxMi41cHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOnZhcigtLW11dGVkKTtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO3BhZGRpbmc6NnB4IDEycHg7Ym9yZGVyLXJhZGl1czo5OTlweDtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmFsbCAuMTVzO30KLmNscHItZG90IGJ7ZGlzcGxheTppbmxpbmUtZmxleDt3aWR0aDoxOXB4O2hlaWdodDoxOXB4O2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6dmFyKC0tYjEwMCk7Y29sb3I6dmFyKC0tYjkwMCk7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Zm9udC1zaXplOjExcHg7fQouY2xwci1kb3QuY2xwci1jdXJ7YmFja2dyb3VuZDp2YXIoLS1iNTAwKTtib3JkZXItY29sb3I6dmFyKC0tYjUwMCk7Y29sb3I6I2ZmZjt9Ci5jbHByLWRvdC5jbHByLWN1ciBie2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMjUpO2NvbG9yOiNmZmY7fQouY2xwci1kb3QuY2xwci1kb25lIGJ7YmFja2dyb3VuZDp2YXIoLS1ncmVlbik7Y29sb3I6I2ZmZjt9Ci5jbHByLWNhdHtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1iYXItYm9yZGVyKTtib3JkZXItcmFkaXVzOjEycHg7b3ZlcmZsb3c6aGlkZGVuO2JveC1zaGFkb3c6MCAxMHB4IDMwcHggLTE4cHggcmdiYSgxNSwyMyw0MiwuNCk7fQouY2xwci1iYXJ7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTJweDtwYWRkaW5nOjExcHggMTZweDtiYWNrZ3JvdW5kOnZhcigtLWJhci1iZyk7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tYmFyLWJvcmRlcik7fQouY2xwci1iYXItdGl0bGV7Zm9udC1zaXplOjEzcHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOnZhcigtLWJhci10ZXh0KTtmbGV4OjE7bWluLXdpZHRoOjA7fQouY2xwci1iYXItdGltZXJ7Zm9udC1zaXplOjEycHg7Y29sb3I6dmFyKC0tYmFyLXRleHQpO3doaXRlLXNwYWNlOm5vd3JhcDt9Ci5jbHByLWJhci10aW1lciBie2ZvbnQtd2VpZ2h0OjgwMDt9Ci5jbHByLWNvbHN7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgMWZyO2dhcDowO30KLmNscHItcGFzc2FnZXtwYWRkaW5nOjIwcHggMjJweDtiYWNrZ3JvdW5kOnZhcigtLXBhbmVsLXAtYmcpO2JvcmRlci1yaWdodDoxcHggc29saWQgdmFyKC0tcGFuZWwtcC1ib3JkZXIpO21heC1oZWlnaHQ6MTIwMHB4O292ZXJmbG93OmF1dG87fQouY2xwci1xY29se3BhZGRpbmc6MThweCAyMnB4O2JhY2tncm91bmQ6dmFyKC0tcGFuZWwtcS1iZyk7bWF4LWhlaWdodDoxMjAwcHg7b3ZlcmZsb3c6YXV0bzt9Ci5jbHByLXBsYWJlbCwuY2xwci1pbnN0cntkaXNwbGF5OmZsZXg7Z2FwOjlweDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjp2YXIoLS1iOTAwKTttYXJnaW4tYm90dG9tOjEycHg7fQouY2xwci1wbGFiZWw6OmJlZm9yZSwuY2xwci1pbnN0cjo6YmVmb3Jle2NvbnRlbnQ6ImkiO2ZsZXg6bm9uZTt3aWR0aDoxN3B4O2hlaWdodDoxN3B4O2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6dmFyKC0tYjUwMCk7Y29sb3I6I2ZmZjtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo4MDA7Zm9udC1zdHlsZTppdGFsaWM7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21hcmdpbi10b3A6MXB4O30KLmNscHItcGFzc2FnZSBwe2ZvbnQtc2l6ZToxNC41cHg7Y29sb3I6IzFlMmEzYTttYXJnaW4tYm90dG9tOjExcHg7bGluZS1oZWlnaHQ6MS43Mjt9Ci5jbHByLXBpbWd7d2lkdGg6MTAwJTtoZWlnaHQ6YXV0bztib3JkZXI6MXB4IHNvbGlkIHZhcigtLXBhbmVsLXAtYm9yZGVyKTtib3JkZXItcmFkaXVzOjhweDtiYWNrZ3JvdW5kOiNmZmY7ZGlzcGxheTpibG9jazt9Ci5jbHByLWJsb2Nre2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHZhcigtLXBhbmVsLXEtYm9yZGVyKTtib3JkZXItcmFkaXVzOjEycHg7cGFkZGluZzoxNnB4IDE2cHg7bWFyZ2luLWJvdHRvbToxNnB4O30KLmNscHItc3RlbXtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo4cHg7ZmxleC13cmFwOndyYXA7Zm9udC1zaXplOjE1cHg7Y29sb3I6dmFyKC0tdGV4dCk7cGFkZGluZzo5cHggMDtsaW5lLWhlaWdodDoxLjc7fQouY2xwci1zdGVtICsgLmNscHItc3RlbXtib3JkZXItdG9wOjFweCBkYXNoZWQgI0U2RURGMTt9Ci5jbHByLXNudW17Zm9udC13ZWlnaHQ6ODAwO2NvbG9yOnZhcigtLWI3MDApO30KLmNscHItY2xvemV7Zm9udC1zaXplOjE1cHg7Y29sb3I6dmFyKC0tdGV4dCk7bGluZS1oZWlnaHQ6Mi4xNTt9Ci5jbHByLWNsb3plIC5jbHByLXBhcmF7bWFyZ2luLWJvdHRvbToxMnB4O3doaXRlLXNwYWNlOnByZS13cmFwO30KLmNscHItbWF0Y2gtcm93e2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2dhcDoxMnB4O3BhZGRpbmc6MTFweCAwO2ZvbnQtc2l6ZToxNC41cHg7bGluZS1oZWlnaHQ6MS42O30KLmNscHItbWF0Y2gtcm93ICsgLmNscHItbWF0Y2gtcm93e2JvcmRlci10b3A6MXB4IGRhc2hlZCAjRTZFREYxO30KLmNscHItbWF0Y2gtcm93IC5jbHByLXNudW17bWFyZ2luLXRvcDo1cHg7fQovKiBkcm9wZG93biB3aWRnZXQgKi8KLmNscHItZGR7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTppbmxpbmUtZmxleDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7bWFyZ2luOjJweCAycHg7fQouY2xwci1kZC1idG57ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweDttaW4td2lkdGg6NjRweDttYXgtd2lkdGg6MzQwcHg7YmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgI0I3QzJDRTtib3JkZXItcmFkaXVzOjZweDtwYWRkaW5nOjVweCA5cHg7Zm9udC1zaXplOjEzLjVweDtjb2xvcjp2YXIoLS10ZXh0KTtsaW5lLWhlaWdodDoxLjM1O3RleHQtYWxpZ246bGVmdDt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjEycyxib3JkZXItY29sb3IgLjEyczt9Ci5jbHByLWRkLWJ0bjpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLWI1MCk7Ym9yZGVyLWNvbG9yOnZhcigtLWI0MDApO30KLmNscHItZGQuY2xwci1vcGVuIC5jbHByLWRkLWJ0bntiYWNrZ3JvdW5kOnZhcigtLWRkLW9wZW4tYmcpO2JvcmRlci1jb2xvcjp2YXIoLS1iNDAwKTt9Ci5jbHByLWRkLXR4dHtmbGV4OjE7bWluLXdpZHRoOjA7fQouY2xwci1kZC10eHQuY2xwci1lbXB0eXtjb2xvcjp2YXIoLS1zdWJ0bGUpO2xldHRlci1zcGFjaW5nOjNweDt9Ci5jbHByLWRkLWNhcmV0e2ZvbnQtc2l6ZTo5cHg7Y29sb3I6dmFyKC0tYjcwMCk7ZmxleDpub25lO30KLmNscHItZGQtbWVudXtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjYwO3RvcDpjYWxjKDEwMCUgKyA0cHgpO2xlZnQ6MDttaW4td2lkdGg6MjQwcHg7bWF4LXdpZHRoOjM2MHB4O2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNDNkQwREE7Ym9yZGVyLXJhZGl1czo4cHg7Ym94LXNoYWRvdzowIDE2cHggMzRweCAtMTJweCByZ2JhKDE1LDIzLDQyLC40KTtwYWRkaW5nOjVweDtkaXNwbGF5Om5vbmU7fQouY2xwci1kZC5jbHByLW9wZW4gLmNscHItZGQtbWVudXtkaXNwbGF5OmJsb2NrO30KLmNscHItZGQtb3B0e2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2dhcDo5cHg7cGFkZGluZzo4cHggOXB4O2JvcmRlci1yYWRpdXM6NnB4O2ZvbnQtc2l6ZToxMy41cHg7Y29sb3I6dmFyKC0tdGV4dCk7Y3Vyc29yOnBvaW50ZXI7bGluZS1oZWlnaHQ6MS40O30KLmNscHItZGQtb3B0OmhvdmVye2JhY2tncm91bmQ6dmFyKC0tYjUwKTt9Ci5jbHByLWRkLW9wdCAuY2xwci1yYWRpb3tmbGV4Om5vbmU7d2lkdGg6MTVweDtoZWlnaHQ6MTVweDtib3JkZXItcmFkaXVzOjUwJTtib3JkZXI6MS41cHggc29saWQgIzlBQTdCNDttYXJnaW4tdG9wOjFweDt9Ci5jbHByLWRkLW9wdC5jbHByLXNlbCAuY2xwci1yYWRpb3tib3JkZXItY29sb3I6dmFyKC0tYjUwMCk7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCMyNTYzRUIgNDIlLCNmZmYgNDclKTt9Ci5jbHByLWRkLmNscHItcmlnaHQgLmNscHItZGQtYnRue2JhY2tncm91bmQ6dmFyKC0tZ3JlZW41MCk7Ym9yZGVyOjJweCBzb2xpZCB2YXIoLS1ncmVlbik7Y29sb3I6IzA0Nzg1Nzt9Ci5jbHByLWRkLmNscHItd3JvbmcgLmNscHItZGQtYnRue2JhY2tncm91bmQ6I0ZGRjFGMjtib3JkZXI6MnB4IHNvbGlkIHZhcigtLXJvc2UpO2NvbG9yOiNCRTEyM0M7fQouY2xwci1zb2x2ZWR7ZGlzcGxheTpub25lO21hcmdpbi1sZWZ0OjdweDtmb250LXNpemU6MTIuNXB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjojMDQ3ODU3O30KLmNscHItZGQuY2xwci13cm9uZyAuY2xwci1zb2x2ZWR7ZGlzcGxheTppbmxpbmU7fQouY2xwci1uYXZ7ZGlzcGxheTpmbGV4O2dhcDoxMHB4O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO3BhZGRpbmc6MTRweCAxOHB4O2JhY2tncm91bmQ6dmFyKC0tYmFyLWJnKTtib3JkZXItdG9wOjFweCBzb2xpZCB2YXIoLS1iYXItYm9yZGVyKTt9Ci5jbHByLW5hdmJ0bntiYWNrZ3JvdW5kOnZhcigtLWI5MDApO2NvbG9yOiNmZmY7Ym9yZGVyOm5vbmU7Zm9udC13ZWlnaHQ6NzAwO2ZvbnQtc2l6ZToxMy41cHg7cGFkZGluZzo5cHggMjBweDtib3JkZXItcmFkaXVzOjlweDt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMTJzLGJhY2tncm91bmQgLjEyczt9Ci5jbHByLW5hdmJ0bjpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLWI3MDApO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xcHgpO30KLmNscHItbmF2YnRuLmNscHItZ2hvc3R7YmFja2dyb3VuZDojZmZmO2NvbG9yOnZhcigtLW11dGVkKTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJhci1ib3JkZXIpO30KLmNscHItbmF2YnRuW2Rpc2FibGVkXXtvcGFjaXR5Oi40O2N1cnNvcjpub3QtYWxsb3dlZDt0cmFuc2Zvcm06bm9uZTt9Ci5jbHByLXJlc3VsdHN7bWFyZ2luLXRvcDoxOHB4O30KLmNscHItcmVzdWx0c1toaWRkZW5de2Rpc3BsYXk6bm9uZTt9Ci5jbHByLXJlcy1jYXJke2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7Ym9yZGVyLXJhZGl1czoxOHB4O3BhZGRpbmc6MjRweCAyNnB4O2JveC1zaGFkb3c6MCAxNnB4IDQwcHggLTIycHggcmdiYSgxNSwyMyw0MiwuNCk7fQouY2xwci1yZXMtdG9we2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjIwcHg7ZmxleC13cmFwOndyYXA7fQouY2xwci1yZXMtc2NvcmV7Zm9udC1zaXplOjQ0cHg7Zm9udC13ZWlnaHQ6ODAwO2NvbG9yOnZhcigtLWI3MDApO2xpbmUtaGVpZ2h0OjE7fQouY2xwci1yZXMtc2NvcmUgc3Bhbntmb250LXNpemU6MjBweDtjb2xvcjp2YXIoLS1zdWJ0bGUpO30KLmNscHItcmVzLWNsYntiYWNrZ3JvdW5kOnZhcigtLWI1MCk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1iMTAwKTtib3JkZXItcmFkaXVzOjEycHg7cGFkZGluZzoxMHB4IDE2cHg7fQouY2xwci1yZXMtY2xiIGJ7ZGlzcGxheTpibG9jaztmb250LXNpemU6MThweDtjb2xvcjp2YXIoLS1iOTAwKTt9Ci5jbHByLXJlcy1jbGIgc21hbGx7Y29sb3I6dmFyKC0tbXV0ZWQpO30KLmNscHItcmVzLWJyZWFre2Rpc3BsYXk6ZmxleDtnYXA6MTBweDtmbGV4LXdyYXA6d3JhcDttYXJnaW4tdG9wOjE2cHg7fQouY2xwci1yZXMtcGlsbHtmb250LXNpemU6MTNweDtmb250LXdlaWdodDo3MDA7Y29sb3I6dmFyKC0tbXV0ZWQpO2JhY2tncm91bmQ6I0YxRjVGOTtib3JkZXItcmFkaXVzOjk5OXB4O3BhZGRpbmc6NnB4IDEzcHg7fQouY2xwci1yZXMtYWN0aW9uc3tkaXNwbGF5OmZsZXg7Z2FwOjEwcHg7bWFyZ2luLXRvcDoxOHB4O2ZsZXgtd3JhcDp3cmFwO30KQG1lZGlhKG1heC13aWR0aDo4MjBweCl7LmNscHItY29sc3tncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyO30uY2xwci1wYXNzYWdle2JvcmRlci1yaWdodDpub25lO2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLXBhbmVsLXAtYm9yZGVyKTttYXgtaGVpZ2h0Om5vbmU7fS5jbHByLXFjb2x7bWF4LWhlaWdodDpub25lO319CmA7CiAgdmFyIHN0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTsgc3QudGV4dENvbnRlbnQgPSBDU1M7IGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc3QpOwogIHZhciB3cmFwID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NscHJXcmFwJyk7CiAgdmFyIHN0YXJ0QnRuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NscHJTdGFydCcpOwogIHZhciB0b29sYmFyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NscHJUb29sYmFyJyk7CiAgdmFyIHNpbSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjbHByU2ltJyk7CiAgdmFyIGRvdHNFbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjbHByRG90cycpOwogIHZhciBjYXRFbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjbHByQ2F0Jyk7CiAgdmFyIHJlc3VsdHNFbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjbHByUmVzdWx0cycpOwogIHZhciBzY29yZUNoaXAgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2xwclNjb3JlQ2hpcCcpOwogIHZhciBjaGVja0J0biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjbHByQ2hlY2snKTsKICB2YXIgcmVzZXRCdG4gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2xwclJlc2V0Jyk7CgogIHZhciBRID0gW107CiAgdmFyIGN1clBhcnQgPSAwOwogIHZhciBjaGVja2VkID0gZmFsc2U7CgogIGZ1bmN0aW9uIGVsKHRhZywgY2xzLCBodG1sKXsgdmFyIGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWcpOyBpZihjbHMpZS5jbGFzc05hbWU9Y2xzOyBpZihodG1sIT1udWxsKWUuaW5uZXJIVE1MPWh0bWw7IHJldHVybiBlOyB9CgogIC8qIEJ1aWxkIHRoZSBwZXJzaXN0ZW50IHF1ZXN0aW9uIGxpc3QgT05DRTsgYXR0YWNoIC5fcSB0byBlYWNoIGl0ZW0vYmxhbmsgc28KICAgICByZS1yZW5kZXJpbmcgYSBwYXJ0IHJldXNlcyB0aGUgc2FtZSBzdGF0ZSBpbnN0ZWFkIG9mIGR1cGxpY2F0aW5nIGl0LiAqLwogIGZ1bmN0aW9uIGluaXRRdWVzdGlvbnMoKXsKICAgIFEgPSBbXTsKICAgIFJEQVRBLnBhcnRzLmZvckVhY2goZnVuY3Rpb24ocGFydCl7CiAgICAgIHBhcnQuYmxvY2tzLmZvckVhY2goZnVuY3Rpb24oYmxrKXsKICAgICAgICBpZihibGsudHlwZT09PSdjbG96ZScpewogICAgICAgICAgYmxrLmJvZHkuZm9yRWFjaChmdW5jdGlvbih0b2speyBpZih0eXBlb2YgdG9rPT09J29iamVjdCcpeyB0b2suX3E9e3NlbDpudWxsLGtleTp0b2sua2V5LG46dG9rLmIscGFydDpwYXJ0LmlkfTsgUS5wdXNoKHRvay5fcSk7IH0gfSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGJsay5pdGVtcy5mb3JFYWNoKGZ1bmN0aW9uKGl0KXsgaXQuX3E9e3NlbDpudWxsLGtleTppdC5rZXksbjppdC5uLHBhcnQ6cGFydC5pZH07IFEucHVzaChpdC5fcSk7IH0pOwogICAgICAgIH0KICAgICAgfSk7CiAgICB9KTsKICB9CgogIGZ1bmN0aW9uIG1ha2VEcm9wZG93bihvcHRpb25zLCBxcmVmKXsKICAgIHZhciBkZCA9IGVsKCdzcGFuJywnY2xwci1kZCcpOwogICAgdmFyIGJ0biA9IGVsKCdidXR0b24nLCdjbHByLWRkLWJ0bicpOwogICAgdmFyIHR4dCA9IGVsKCdzcGFuJywnY2xwci1kZC10eHQgY2xwci1lbXB0eScsJyAgICcpOwogICAgdmFyIGNhcmV0ID0gZWwoJ3NwYW4nLCdjbHByLWRkLWNhcmV0JywnXHUyNWJlJyk7CiAgICBidG4uYXBwZW5kQ2hpbGQodHh0KTsgYnRuLmFwcGVuZENoaWxkKGNhcmV0KTsKICAgIHZhciBzb2x2ZWQgPSBlbCgnc3BhbicsJ2NscHItc29sdmVkJywnJyk7CiAgICB2YXIgbWVudSA9IGVsKCdzcGFuJywnY2xwci1kZC1tZW51Jyk7CiAgICBvcHRpb25zLmZvckVhY2goZnVuY3Rpb24ob3B0LCBpKXsKICAgICAgdmFyIG8gPSBlbCgnc3BhbicsJ2NscHItZGQtb3B0Jyk7CiAgICAgIG8uYXBwZW5kQ2hpbGQoZWwoJ3NwYW4nLCdjbHByLXJhZGlvJykpOwogICAgICBvLmFwcGVuZENoaWxkKGVsKCdzcGFuJyxudWxsLG9wdCkpOwogICAgICBvLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZXYpewogICAgICAgIGV2LnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgIGlmKGNoZWNrZWQpIHJldHVybjsKICAgICAgICBxcmVmLnNlbCA9IGkrMTsKICAgICAgICB0eHQudGV4dENvbnRlbnQgPSBvcHQ7IHR4dC5jbGFzc05hbWU9J2NscHItZGQtdHh0JzsKICAgICAgICBtZW51LnF1ZXJ5U2VsZWN0b3JBbGwoJy5jbHByLWRkLW9wdCcpLmZvckVhY2goZnVuY3Rpb24oeCl7eC5jbGFzc0xpc3QucmVtb3ZlKCdjbHByLXNlbCcpO30pOwogICAgICAgIG8uY2xhc3NMaXN0LmFkZCgnY2xwci1zZWwnKTsKICAgICAgICBjbG9zZUFsbCgpOwogICAgICAgIHVwZGF0ZVNjb3JlQ2hpcCgpOwogICAgICB9KTsKICAgICAgbWVudS5hcHBlbmRDaGlsZChvKTsKICAgIH0pOwogICAgYnRuLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZXYpewogICAgICBldi5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgaWYoY2hlY2tlZCkgcmV0dXJuOwogICAgICB2YXIgd2FzT3BlbiA9IGRkLmNsYXNzTGlzdC5jb250YWlucygnY2xwci1vcGVuJyk7CiAgICAgIGNsb3NlQWxsKCk7CiAgICAgIGlmKCF3YXNPcGVuKSBkZC5jbGFzc0xpc3QuYWRkKCdjbHByLW9wZW4nKTsKICAgIH0pOwogICAgZGQuYXBwZW5kQ2hpbGQoYnRuKTsgZGQuYXBwZW5kQ2hpbGQoc29sdmVkKTsgZGQuYXBwZW5kQ2hpbGQobWVudSk7CiAgICBxcmVmLmRkRWwgPSBkZDsgcXJlZi50eHRFbCA9IHR4dDsgcXJlZi5zb2x2ZWRFbCA9IHNvbHZlZDsgcXJlZi5vcHRpb25zID0gb3B0aW9uczsKICAgIGlmKHFyZWYuc2VsIT1udWxsKXsKICAgICAgdHh0LnRleHRDb250ZW50ID0gb3B0aW9uc1txcmVmLnNlbC0xXTsgdHh0LmNsYXNzTmFtZT0nY2xwci1kZC10eHQnOwogICAgICB2YXIgc28gPSBtZW51LnF1ZXJ5U2VsZWN0b3JBbGwoJy5jbHByLWRkLW9wdCcpW3FyZWYuc2VsLTFdOyBpZihzbykgc28uY2xhc3NMaXN0LmFkZCgnY2xwci1zZWwnKTsKICAgIH0KICAgIHJldHVybiBkZDsKICB9CiAgZnVuY3Rpb24gY2xvc2VBbGwoKXsgd3JhcC5xdWVyeVNlbGVjdG9yQWxsKCcuY2xwci1kZC5jbHByLW9wZW4nKS5mb3JFYWNoKGZ1bmN0aW9uKGQpe2QuY2xhc3NMaXN0LnJlbW92ZSgnY2xwci1vcGVuJyk7fSk7IH0KICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGNsb3NlQWxsKTsKCiAgZnVuY3Rpb24gYnVpbGRQYXJ0KHBpKXsKICAgIHZhciBwYXJ0ID0gUkRBVEEucGFydHNbcGldOwogICAgY2F0RWwuaW5uZXJIVE1MPScnOwogICAgdmFyIGJhciA9IGVsKCdkaXYnLCdjbHByLWJhcicpOwogICAgYmFyLmFwcGVuZENoaWxkKGVsKCdkaXYnLCdjbHByLWJhci10aXRsZScsICdQcmFjdGljZSBUZXN0IDIgXHUyMDEzICcrcGFydC5uYW1lKSk7CiAgICBiYXIuYXBwZW5kQ2hpbGQoZWwoJ2RpdicsJ2NscHItYmFyLXRpbWVyJywnU3VnZ2VzdGVkIHRpbWU6IDxiPicrcGFydC50aW1lKyc8L2I+JykpOwogICAgY2F0RWwuYXBwZW5kQ2hpbGQoYmFyKTsKICAgIHZhciBjb2xzID0gZWwoJ2RpdicsJ2NscHItY29scycpOwogICAgdmFyIGxlZnQgPSBlbCgnZGl2JywnY2xwci1wYXNzYWdlJyk7CiAgICBsZWZ0LmFwcGVuZENoaWxkKGVsKCdkaXYnLCdjbHByLXBsYWJlbCcsIHBhcnQucGFzc2FnZS5sYWJlbCkpOwogICAgaWYocGFydC5wYXNzYWdlLnR5cGU9PT0naW1hZ2UnKXsKICAgICAgdmFyIGltZyA9IGVsKCdpbWcnLCdjbHByLXBpbWcnKTsgaW1nLnNyYyA9IHBhcnQucGFzc2FnZS5zcmM7IGltZy5hbHQgPSBwYXJ0LnBhc3NhZ2UuYWx0fHwnJzsgbGVmdC5hcHBlbmRDaGlsZChpbWcpOwogICAgfSBlbHNlIHsKICAgICAgbGVmdC5hcHBlbmRDaGlsZChlbCgnZGl2JyxudWxsLCBwYXJ0LnBhc3NhZ2UuaHRtbCkpOwogICAgfQogICAgdmFyIHJpZ2h0ID0gZWwoJ2RpdicsJ2NscHItcWNvbCcpOwogICAgcGFydC5ibG9ja3MuZm9yRWFjaChmdW5jdGlvbihibG9jayl7IHJpZ2h0LmFwcGVuZENoaWxkKGJ1aWxkQmxvY2soYmxvY2ssIHBhcnQpKTsgfSk7CiAgICBjb2xzLmFwcGVuZENoaWxkKGxlZnQpOyBjb2xzLmFwcGVuZENoaWxkKHJpZ2h0KTsKICAgIGNhdEVsLmFwcGVuZENoaWxkKGNvbHMpOwogICAgdmFyIG5hdiA9IGVsKCdkaXYnLCdjbHByLW5hdicpOwogICAgdmFyIHByZXYgPSBlbCgnYnV0dG9uJywnY2xwci1uYXZidG4gY2xwci1naG9zdCcsJ1x1MjE5MCBQcmV2aW91cyBwYXJ0Jyk7CiAgICB2YXIgbmV4dCA9IGVsKCdidXR0b24nLCdjbHByLW5hdmJ0bicsJ05leHQgcGFydCBcdTIxOTInKTsKICAgIHByZXYuZGlzYWJsZWQgPSAocGk9PT0wKTsgbmV4dC5kaXNhYmxlZCA9IChwaT09PVJEQVRBLnBhcnRzLmxlbmd0aC0xKTsKICAgIHByZXYuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbigpeyBpZihwaT4wKSBnbyhwaS0xKTsgfSk7CiAgICBuZXh0LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oKXsgaWYocGk8UkRBVEEucGFydHMubGVuZ3RoLTEpIGdvKHBpKzEpOyB9KTsKICAgIG5hdi5hcHBlbmRDaGlsZChwcmV2KTsgbmF2LmFwcGVuZENoaWxkKG5leHQpOwogICAgY2F0RWwuYXBwZW5kQ2hpbGQobmF2KTsKICAgIGlmKGNoZWNrZWQpIGFwcGx5TWFya3MoKTsKICB9CgogIGZ1bmN0aW9uIGJ1aWxkQmxvY2soYmxvY2ssIHBhcnQpewogICAgdmFyIHdyYXBCID0gZWwoJ2RpdicsJ2NscHItYmxvY2snKTsKICAgIHdyYXBCLmFwcGVuZENoaWxkKGVsKCdkaXYnLCdjbHByLWluc3RyJywgYmxvY2suaW5zdHIpKTsKICAgIGlmKGJsb2NrLnR5cGU9PT0nc3RlbWxpc3QnKXsKICAgICAgYmxvY2suaXRlbXMuZm9yRWFjaChmdW5jdGlvbihpdCl7CiAgICAgICAgdmFyIHJvdyA9IGVsKCdkaXYnLCdjbHByLXN0ZW0nKTsKICAgICAgICByb3cuYXBwZW5kQ2hpbGQoZWwoJ3NwYW4nLCdjbHByLXNudW0nLCBpdC5uKycuJykpOwogICAgICAgIHJvdy5hcHBlbmRDaGlsZChlbCgnc3BhbicsbnVsbCwgaXQucHJlKycgJykpOwogICAgICAgIHJvdy5hcHBlbmRDaGlsZChtYWtlRHJvcGRvd24oaXQub3B0aW9ucywgaXQuX3EpKTsKICAgICAgICB3cmFwQi5hcHBlbmRDaGlsZChyb3cpOwogICAgICB9KTsKICAgIH0gZWxzZSBpZihibG9jay50eXBlPT09J2Nsb3plJyl7CiAgICAgIHZhciBib3ggPSBlbCgnZGl2JywnY2xwci1jbG96ZScpOwogICAgICBibG9jay5ib2R5LmZvckVhY2goZnVuY3Rpb24odG9rKXsKICAgICAgICBpZih0eXBlb2YgdG9rPT09J3N0cmluZycpewogICAgICAgICAgdmFyIHNlZ3MgPSB0b2suc3BsaXQoJ1xuXG4nKTsKICAgICAgICAgIHNlZ3MuZm9yRWFjaChmdW5jdGlvbihzZWcsIGlkeCl7CiAgICAgICAgICAgIGlmKGlkeD4wKXsgYm94LmFwcGVuZENoaWxkKGVsKCdzcGFuJyxudWxsLCc8YnI+PGJyPicpKTsgfQogICAgICAgICAgICBib3guYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoc2VnKSk7CiAgICAgICAgICB9KTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgYm94LmFwcGVuZENoaWxkKG1ha2VEcm9wZG93bih0b2sub3B0aW9ucywgdG9rLl9xKSk7CiAgICAgICAgfQogICAgICB9KTsKICAgICAgd3JhcEIuYXBwZW5kQ2hpbGQoYm94KTsKICAgIH0gZWxzZSBpZihibG9jay50eXBlPT09J21hdGNoJyl7CiAgICAgIGJsb2NrLml0ZW1zLmZvckVhY2goZnVuY3Rpb24oaXQpewogICAgICAgIHZhciByb3cgPSBlbCgnZGl2JywnY2xwci1tYXRjaC1yb3cnKTsKICAgICAgICByb3cuYXBwZW5kQ2hpbGQobWFrZURyb3Bkb3duKGJsb2NrLmxldHRlcnMsIGl0Ll9xKSk7CiAgICAgICAgcm93LmFwcGVuZENoaWxkKGVsKCdzcGFuJywnY2xwci1zbnVtJywgaXQubisnLicpKTsKICAgICAgICByb3cuYXBwZW5kQ2hpbGQoZWwoJ3NwYW4nLG51bGwsIGl0LnRleHQpKTsKICAgICAgICB3cmFwQi5hcHBlbmRDaGlsZChyb3cpOwogICAgICB9KTsKICAgIH0KICAgIHJldHVybiB3cmFwQjsKICB9CgogIGZ1bmN0aW9uIGJ1aWxkRG90cygpewogICAgZG90c0VsLmlubmVySFRNTD0nJzsKICAgIFJEQVRBLnBhcnRzLmZvckVhY2goZnVuY3Rpb24ocCwgaSl7CiAgICAgIHZhciBkID0gZWwoJ2J1dHRvbicsJ2NscHItZG90JysoaT09PWN1clBhcnQ\/JyBjbHByLWN1cic6JycpKTsKICAgICAgZC5hcHBlbmRDaGlsZChlbCgnYicsbnVsbCwoaSsxKSkpOwogICAgICBkLmFwcGVuZENoaWxkKGVsKCdzcGFuJyxudWxsLFsnQ29ycmVzcG9uZGVuY2UnLCdBcHBseSBhIERpYWdyYW0nLCdJbmZvcm1hdGlvbicsJ1ZpZXdwb2ludHMnXVtpXSkpOwogICAgICBkLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oKXsgZ28oaSk7IH0pOwogICAgICBkb3RzRWwuYXBwZW5kQ2hpbGQoZCk7CiAgICB9KTsKICB9CiAgZnVuY3Rpb24gZ28ocGkpeyBjdXJQYXJ0PXBpOyBidWlsZERvdHMoKTsgYnVpbGRQYXJ0KHBpKTsgY2F0RWwuc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOidzbW9vdGgnLGJsb2NrOidzdGFydCd9KTsgfQoKICBmdW5jdGlvbiB1cGRhdGVTY29yZUNoaXAoKXsKICAgIHZhciBhbnMgPSBRLmZpbHRlcihmdW5jdGlvbihxKXtyZXR1cm4gcS5zZWwhPW51bGw7fSkubGVuZ3RoOwogICAgc2NvcmVDaGlwLnRleHRDb250ZW50ID0gY2hlY2tlZCA\/IChRLmZpbHRlcihmdW5jdGlvbihxKXtyZXR1cm4gcS5zZWw9PT1xLmtleTt9KS5sZW5ndGgrJyAvICcrUS5sZW5ndGgrJyBjb3JyZWN0JykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAoYW5zKycgLyAnK1EubGVuZ3RoKycgYW5zd2VyZWQnKTsKICB9CgogIGZ1bmN0aW9uIGFwcGx5TWFya3MoKXsKICAgIFEuZm9yRWFjaChmdW5jdGlvbihxKXsKICAgICAgaWYoIXEuZGRFbCkgcmV0dXJuOwogICAgICBxLmRkRWwuY2xhc3NMaXN0LnJlbW92ZSgnY2xwci1yaWdodCcsJ2NscHItd3JvbmcnKTsKICAgICAgaWYocS5zZWw9PT1xLmtleSl7IHEuZGRFbC5jbGFzc0xpc3QuYWRkKCdjbHByLXJpZ2h0Jyk7IH0KICAgICAgZWxzZSB7CiAgICAgICAgcS5kZEVsLmNsYXNzTGlzdC5hZGQoJ2NscHItd3JvbmcnKTsKICAgICAgICBpZihxLnNvbHZlZEVsKSBxLnNvbHZlZEVsLnRleHRDb250ZW50ID0gJ1x1MjcxMyAnK3Eub3B0aW9uc1txLmtleS0xXTsKICAgICAgICBpZihxLnNlbD09bnVsbCAmJiBxLnR4dEVsKXsgcS50eHRFbC50ZXh0Q29udGVudD0nKG5vIGFuc3dlciknOyBxLnR4dEVsLmNsYXNzTmFtZT0nY2xwci1kZC10eHQnOyB9CiAgICAgIH0KICAgIH0pOwogIH0KCiAgZnVuY3Rpb24gZG9DaGVjaygpewogICAgY2hlY2tlZCA9IHRydWU7CiAgICBhcHBseU1hcmtzKCk7CiAgICB2YXIgY29ycmVjdCA9IFEuZmlsdGVyKGZ1bmN0aW9uKHEpe3JldHVybiBxLnNlbD09PXEua2V5O30pLmxlbmd0aDsKICAgIHVwZGF0ZVNjb3JlQ2hpcCgpOwogICAgY2hlY2tCdG4uZGlzYWJsZWQgPSB0cnVlOwogICAgdmFyIGJ5UGFydCA9IHt9OwogICAgUS5mb3JFYWNoKGZ1bmN0aW9uKHEpeyBieVBhcnRbcS5wYXJ0XT1ieVBhcnRbcS5wYXJ0XXx8e2M6MCx0OjB9OyBieVBhcnRbcS5wYXJ0XS50Kys7IGlmKHEuc2VsPT09cS5rZXkpYnlQYXJ0W3EucGFydF0uYysrOyB9KTsKICAgIHZhciBlc3QgPSBjbGJFc3RpbWF0ZVIoY29ycmVjdCk7CiAgICB2YXIgcGlsbHMgPSBSREFUQS5wYXJ0cy5tYXAoZnVuY3Rpb24ocCl7IHZhciBiPWJ5UGFydFtwLmlkXXx8e2M6MCx0OjB9OyByZXR1cm4gJzxzcGFuIGNsYXNzPSJjbHByLXJlcy1waWxsIj5QYXJ0ICcrcC5pZCsnOiAnK2IuYysnLycrYi50Kyc8L3NwYW4+JzsgfSkuam9pbignJyk7CiAgICByZXN1bHRzRWwuaW5uZXJIVE1MID0gJzxkaXYgY2xhc3M9ImNscHItcmVzLWNhcmQiPicKICAgICAgKyAnPGRpdiBjbGFzcz0iY2xwci1yZXMtdG9wIj4nCiAgICAgICsgJzxkaXYgY2xhc3M9ImNscHItcmVzLXNjb3JlIj4nK2NvcnJlY3QrJzxzcGFuPi8nK1EubGVuZ3RoKyc8L3NwYW4+PC9kaXY+JwogICAgICArICc8ZGl2IGNsYXNzPSJjbHByLXJlcy1jbGIiPjxiPicrZXN0LmxldmVsKyc8L2I+PHNtYWxsPicrZXN0Lm5vdGUrJyAmbWlkZG90OyBlc3RpbWF0ZWQgUmVhZGluZyBiYW5kPC9zbWFsbD48L2Rpdj4nCiAgICAgICsgJzwvZGl2PicKICAgICAgKyAnPGRpdiBjbGFzcz0iY2xwci1yZXMtYnJlYWsiPicrcGlsbHMrJzwvZGl2PicKICAgICAgKyAnPGRpdiBjbGFzcz0iY2xwci1yZXMtYWN0aW9ucyI+PGJ1dHRvbiBjbGFzcz0iY2xwci1uYXZidG4gY2xwci1naG9zdCIgaWQ9ImNscHJSZXZpZXciPlJldmlldyBhbnN3ZXJzIGluIGVhY2ggcGFydDwvYnV0dG9uPjxidXR0b24gY2xhc3M9ImNscHItbmF2YnRuIiBpZD0iY2xwclJldHJ5Ij5UcnkgYWdhaW48L2J1dHRvbj48L2Rpdj4nCiAgICAgICsgJzxwIHN0eWxlPSJtYXJnaW4tdG9wOjEycHg7Zm9udC1zaXplOjEyLjVweDtjb2xvcjp2YXIoLS1tdXRlZCkiPkVzdGltYXRlZCBiYW5kIGlzIGEgc3R1ZHkgZ3VpZGUgb25seSwgbm90IGFuIG9mZmljaWFsIENFTFBJUCBzY29yZS4gQ29ycmVjdCBhbnN3ZXJzIGFyZSBzaG93biB3aXRoIGEgZ3JlZW4gY2hlY2sgb24gZWFjaCBkcm9wLWRvd24geW91IGFuc3dlcmVkIGluY29ycmVjdGx5LjwvcD4nCiAgICAgICsgJzwvZGl2Pic7CiAgICByZXN1bHRzRWwuaGlkZGVuID0gZmFsc2U7CiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2xwclJldHJ5JykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCByZXNldEFsbCk7CiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2xwclJldmlldycpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oKXsgZ28oMCk7IH0pOwogICAgcmVzdWx0c0VsLnNjcm9sbEludG9WaWV3KHtiZWhhdmlvcjonc21vb3RoJyxibG9jazonc3RhcnQnfSk7CiAgfQoKICBmdW5jdGlvbiByZXNldEFsbCgpewogICAgY2hlY2tlZD1mYWxzZTsgaW5pdFF1ZXN0aW9ucygpOyBjdXJQYXJ0PTA7CiAgICBjaGVja0J0bi5kaXNhYmxlZD1mYWxzZTsKICAgIHJlc3VsdHNFbC5oaWRkZW49dHJ1ZTsgcmVzdWx0c0VsLmlubmVySFRNTD0nJzsKICAgIGJ1aWxkRG90cygpOyBidWlsZFBhcnQoMCk7CiAgICB1cGRhdGVTY29yZUNoaXAoKTsKICAgIHNpbS5zY3JvbGxJbnRvVmlldyh7YmVoYXZpb3I6J3Ntb290aCcsYmxvY2s6J3N0YXJ0J30pOwogIH0KCiAgc3RhcnRCdG4uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbigpewogICAgd3JhcC5xdWVyeVNlbGVjdG9yKCcuY2xwci1oZXJvJykuc3R5bGUuZGlzcGxheT0nbm9uZSc7CiAgICB0b29sYmFyLmhpZGRlbj1mYWxzZTsgc2ltLmhpZGRlbj1mYWxzZTsKICAgIGluaXRRdWVzdGlvbnMoKTsgY3VyUGFydD0wOyBjaGVja2VkPWZhbHNlOwogICAgYnVpbGREb3RzKCk7IGJ1aWxkUGFydCgwKTsgdXBkYXRlU2NvcmVDaGlwKCk7CiAgfSk7CiAgY2hlY2tCdG4uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBkb0NoZWNrKTsKICByZXNldEJ0bi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHJlc2V0QWxsKTsKfSkoKTs=\"))<\/script><\/p>","protected":false},"excerpt":{"rendered":"<p>CELPIP Reading Set 6 Practice Test 2: 4 parts, 38 questions in the real exam format with instant scoring and answer key. About 55 minutes. Free, no sign-up.<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"page-with-title","meta":{"footnotes":""},"class_list":["post-6403","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/pages\/6403","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/comments?post=6403"}],"version-history":[{"count":2,"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/pages\/6403\/revisions"}],"predecessor-version":[{"id":6559,"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/pages\/6403\/revisions\/6559"}],"wp:attachment":[{"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/media?parent=6403"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}