Resource Conservation
Resource Conservation

Resource Conservation

Goals:

  • Significantly decrease overall community consumption, specifically the consumption of non-local, non-renewable, non-recyclable and non-recycled materials, water, energy, and fuels.
  • The City should take a leadership role in encouraging sustainable procurement, extended producer responsibility and should model innovative strategies to become a zero waste city.
  • Within renewable limits, encourage the use of local, non-polluting, renewable and recycled resources (water, energy, and material resources).

Successes:

  • 20% overall reduction in municipal irrigation since 2013.
  • 368 sustainable landscape grants and rebates issued to residents and businesses resulting in annual estimated water savings of 5.9 million gallons since 2010.
  • 403 housing units have received LEED certification of silver or higher since 2010.
eyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJpZCI6Im5hdmgtaWdmMiIsIm5hbWUiOiJSZXNvdXJjZSBDb25zZXJ2YXRpb24iLCJtZXRhZGF0YSI6IntcImRlc2NyaXB0aW9uXCI6XCIjIEdvYWxzOlxcblxcbiogU2lnbmlmaWNhbnRseSBkZWNyZWFzZSBvdmVyYWxsIGNvbW11bml0eSBjb25zdW1wdGlvbiwgc3BlY2lmaWNhbGx5IHRoZSBjb25zdW1wdGlvbiBvZiBub24tbG9jYWwsIG5vbi1yZW5ld2FibGUsIG5vbi1yZWN5Y2xhYmxlIGFuZCBub24tcmVjeWNsZWQgbWF0ZXJpYWxzLCB3YXRlciwgZW5lcmd5LCBhbmQgZnVlbHMuXFxuKiBUaGUgQ2l0eSBzaG91bGQgdGFrZSBhIGxlYWRlcnNoaXAgcm9sZSBpbiBlbmNvdXJhZ2luZyBzdXN0YWluYWJsZSBwcm9jdXJlbWVudCwgZXh0ZW5kZWQgcHJvZHVjZXIgcmVzcG9uc2liaWxpdHkgYW5kIHNob3VsZCBtb2RlbCBpbm5vdmF0aXZlIHN0cmF0ZWdpZXMgdG8gYmVjb21lIGEgemVybyB3YXN0ZSBjaXR5LlxcbiogV2l0aGluIHJlbmV3YWJsZSBsaW1pdHMsIGVuY291cmFnZSB0aGUgdXNlIG9mIGxvY2FsLCBub24tcG9sbHV0aW5nLCByZW5ld2FibGUgYW5kIHJlY3ljbGVkIHJlc291cmNlcyAod2F0ZXIsIGVuZXJneSwgYW5kIG1hdGVyaWFsIHJlc291cmNlcykuXFxuXFxuKipTdWNjZXNzZXM6KipcXG5cXG4qIDIwJSBvdmVyYWxsIHJlZHVjdGlvbiBpbiBtdW5pY2lwYWwgaXJyaWdhdGlvbiBzaW5jZSAyMDEzLlxcbiogMzY4IHN1c3RhaW5hYmxlIGxhbmRzY2FwZSBncmFudHMgYW5kIHJlYmF0ZXMgaXNzdWVkIHRvIHJlc2lkZW50cyBhbmQgYnVzaW5lc3NlcyByZXN1bHRpbmcgaW4gYW5udWFsIGVzdGltYXRlZCB3YXRlciBzYXZpbmdzIG9mIDUuOSBtaWxsaW9uIGdhbGxvbnMgc2luY2UgMjAxMC5cXG4qIDQwMyBob3VzaW5nIHVuaXRzIGhhdmUgcmVjZWl2ZWQgTEVFRCBjZXJ0aWZpY2F0aW9uIG9mIHNpbHZlciBvciBoaWdoZXIgc2luY2UgMjAxMC5cXG5cIixcImltYWdlXCI6XCIvYXBpL2Fzc2V0cy84RTZBMzA0Ni1FRDJBLTQ3QTktOEUzNS02MjFGQzYyQzIyRjNcIn0iLCJjYXRlZ29yaWVzIjpbeyJpZCI6InVuY2F0ZWdvcml6ZWQiLCJuYW1lIjoidW5jYXRlZ29yaXplZCIsImdvYWxzIjpbXX0seyJpZCI6IndtZ3ctMnBxZCIsIm5hbWUiOiJTb2xpZCBXYXN0ZSIsImdvYWxzIjpbeyJpZCI6ImFuZGEtNGE0OCIsIm5hbWUiOiJHZW5lcmF0ZSBMZXNzIFdhc3RlIiwiaXNfcHVibGljIjp0cnVlLCJtZXRhZGF0YSI6eyJtZXRhZGF0YSI6IntcInJldGlyZW1lbnRfbmFycmF0aXZlXCI6W10sXCJuYXJyYXRpdmVcIjpbe1widHlwZVwiOlwidHdvQ29sTGF5b3V0XCIsXCJjb2x1bW5zXCI6W1t7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIqKldoYXQgaXMgdGhpcyBpbmRpY2F0b3I/KipcXG5cXG5UaGUgQ2l0eeKAmXMgZ29hbHMgZm9yIHNvbGlkIHdhc3RlIGFyZSBmaXJzdCB0byByZWR1Y2Ugd2FzdGUgZ2VuZXJhdGlvbiBhbmQgdGhlbiB0byBpbmNyZWFzZSB0aGUgcGVyY2VudGFnZSBvZiB3YXN0ZSB0aGF0IGlzIGRpdmVydGVkIGZyb20gbGFuZGZpbGxzLiBUaGUgQ2l0eSBsb29rcyBhdCBzb2xpZCB3YXN0ZSBpbiB0ZXJtcyBvZiB0aGUgdG90YWwgYW1vdW50IGdlbmVyYXRlZCwgdGhlIGFtb3VudCBsYW5kZmlsbGVkLCBhbmQgdGhlIGFtb3VudCBkaXZlcnRlZCBmcm9tIGxhbmRmaWxscyB0aHJvdWdoIGNvbnNlcnZhdGlvbiwgcmVjeWNsaW5nLCBjb21wb3N0aW5nLCByZXVzZSwgYW5kIHdhc3RlLXRvLWVuZXJneSBjb252ZXJzaW9uLiBUaGlzIGluZGljYXRvciBtZWFzdXJlcyB0aGUgbmV0IGFtb3VudCBvZiBzb2xpZCB3YXN0ZSBnZW5lcmF0ZWQgYnkgcmVzaWRlbnRzIGluIHRvbnMuXFxuXFxuKipXaHkgaXMgdGhpcyBpbXBvcnRhbnQ/KipcXG5cXG5PdmVyLWNvbnN1bXB0aW9uIG9mIG5vbi1sb2NhbCwgbm9uLXJlbmV3YWJsZSwgYW5kIG5vbi1yZWN5Y2xhYmxlIG1hdGVyaWFscyBpcyB1bnN1c3RhaW5hYmxlLiBUaGVyZSBpcyBvcHBvcnR1bml0eSBmb3IgaW1wcm92ZW1lbnQgdGhyb3VnaCBiZWhhdmlvcmFsIGNoYW5nZXMgYW5kIHN0cmF0ZWdpYyBkaXZlcnNpb24gcHJhY3RpY2VzLiBJbiBhZGRpdGlvbiwgbGFuZGZpbGwgc3BhY2UgaW4gYW5kIGFyb3VuZCBTYW50YSBNb25pY2EgaGFzIGJlY29tZSBpbmNyZWFzaW5nbHkgc2NhcmNlIGFuZCBleHBlbnNpdmUuIFJlZHVjaW5nIHNvbGlkIHdhc3RlIGdlbmVyYXRpb24gcHV0cyBsZXNzIHByZXNzdXJlIG9uIGxhbmRmaWxscyBhbmQgdGhlIGVudmlyb25tZW50LCB3aGlsZSBzYXZpbmcgbW9uZXkgZm9yIHRoZSBDaXR5IGFuZCBpdHMgcmVzaWRlbnRzLiBJbiBvcmRlciB0byBhY2hpZXZlIG1vcmUgc3VzdGFpbmFibGUgd2FzdGUgbWFuYWdlbWVudCBwcmFjdGljZXMsIGEgcmVkdWN0aW9uIGluIHdhc3RlIGdlbmVyYXRpb24gc2hvdWxkIGJlIGFjY29tcGFuaWVkIGJ5IHNlbmRpbmcgZmV3ZXIgbWF0ZXJpYWxzIHRvIHRoZSBsYW5kZmlsbCBhbmQgaW5jcmVhc2luZyByZXVzZSwgcmVjeWNsaW5nLCBhbmQgY29tcG9zdGluZyBwcm9ncmFtcy5cXG5cXG4qKkhvdyBhcmUgd2UgZG9pbmc/KipcXG5cXG5JbiAyMDE0LCB0aGUgdG90YWwgYW1vdW50IG9mIHdhc3RlIGdlbmVyYXRlZCBieSBTYW50YSBNb25pY2EgcmVzaWRlbnRzIHdhcyA4Nyw4OTEgdG9ucy4gVGhlIENpdHkgYWltcyB0byByZWFjaCBaZXJvIFdhc3RlIGJ5IDIwMzAgKDkwJSB3YXN0ZSBkaXZlcnNpb24pLiBUaGUgYW1vdW50IG9mIHdhc3RlIGdlbmVyYXRlZCBoYXMgYmVlbiBvbiBhIGRvd253YXJkIHRyZW5kIHNpbmNlIDIwMDUuIEFzIG9mIDIwMTQsIDc5JSBvZiBzb2xpZCB3YXN0ZSB3YXMgYmVpbmcgZGl2ZXJ0ZWQgZnJvbSBsYW5kZmlsbHMgdGhyb3VnaCByZWN5Y2xpbmcgcHJvZ3JhbXMgYW5kIG9yZ2FuaWNzIGNvbGxlY3Rpb24uIFRoZSBjaXR5IGlzIHdlbGwgb24gdHJhY2sgdG8gbWVldCB0aGUgMjAyMCB0YXJnZXQgb2YgYW4gODUlIGRpdmVyc2lvbiByYXRlLlxcblxcblRvIGhlbHAgcmVkdWNlIG11bmljaXBhbCB3YXN0ZSwgQ2l0eSBzdGFmZiBpbXBsZW1lbnRlZCBhIHplcm8gd2FzdGUgcHJvZ3JhbSBhdCBDaXR5IEhhbGwgYW5kIHRoZSBNYWluIExpYnJhcnkgaW4gMjAxNS4gV2FzdGUgY29udGFpbmVycyBuZWFyIGRlc2tzIHdlcmUgcmVwbGFjZWQgd2l0aCByZWN5Y2xpbmcgYmlucywgYW5kIHJlY3ljbGluZyBiaW5zIGFuZCBvcmdhbmljcyBjb250YWluZXJzIChmb3IgY29tcG9zdCkgd2VyZSBwbGFjZWQgaW4gY29tbXVuYWwgYXJlYXMuIEJhc2VkIG9uIHdhc3RlIGFzc2Vzc21lbnRzIGF0IGVhY2ggc2l0ZSwgZ2FyYmFnZSBnZW5lcmF0aW9uIGRyYXN0aWNhbGx5IGRlY3JlYXNlZCB3aGlsZSBvcmdhbmljcyBhbmQgcmVjeWNsaW5nIGNvbGxlY3Rpb24gaW5jcmVhc2VkLlxcblxcblRoZSBDaXR5IGFsc28gaW1wbGVtZW50ZWQgYSBCdWxreSBJdGVtIENvbGxlY3Rpb247IE1vdmUtaW4vTW92ZS1vdXQgUHJvZ3JhbSBmb3IgTXVsdGktRmFtaWx5IER3ZWxsaW5ncywgd2hpY2ggbGVkIHRvIHRoZSBjb2xsZWN0aW9uIG9mIDEsMDU2IHRvbnMgb2YgbWF0ZXJpYWxzIGFuZCBkZWNyZWFzZWQgdGhlIGFtb3VudCBvZiBpbGxlZ2FsIGR1bXBpbmcgYW5kIGJsaWdodCB0aHJvdWdob3V0IHRoZSBDaXR5LlxcblxcblwifV0sW3tcInR5cGVcIjpcImltYWdlXCIsXCJzcmNcIjpcIi9hcGkvYXNzZXRzL0VFRDU5OUZELURBNEYtNDdEOC1CRDU4LTcwNzBFN0M1OTRGNlwifSx7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIqKkhvdyBjYW4gd2UgaGVscD8qKlxcblxcbiogUGFydGljaXBhdGUgaW4gdGhlIENpdHkgb2YgW1NhbnRhIE1vbmljYSBTd2FwIG9yIFNoYXJlXVswXS4gVGhlIFJlc291cmNlIFJlY292ZXJ5ICYgUmVjeWNsaW5nIERpdmlzaW9uIHNlZWtzIHRvIGluY3JlYXNlIHJldXNlIGJ5IGludml0aW5nIFNhbnRhIE1vbmljYSByZXNpZGVudHMgdG8gcmVkdWNlIHdhc3RlIGJ5IHN3YXBwaW5nIGFuZCBzaGFyaW5nIGl0ZW1zIHdpdGggdGhlaXIgbmVpZ2hib3JzLlxcbiogU2hvcCB1c2luZyByZXVzYWJsZSBiYWdzLlxcbiogQXZvaWQgcHJvZHVjdHMgdGhhdCBhcmUgZXhjZXNzaXZlbHkgcGFja2FnZWQuXFxuKiBGaXggaXRlbXMgcmF0aGVyIHRoYW4gZGlzcG9zaW5nIGFuZCByZXBsYWNpbmcgd2hlbiBwb3NzaWJsZS5cXG5cXG5bMF06IGh0dHA6Ly9uZWlnaGJvcmdvb2RzLm5ldC9ncm91cHMvY2l0eS1vZi1zYW50YS1tb25pY2Etc2hhcmVzXCJ9LHtcInR5cGVcIjpcInZpelwiLFwiZGF0YXNldFwiOlwiNnc0dC0yendmXCJ9XV19XSxcImljb25cIjpcIlwiLFwidXNlX2N1c3RvbV90aXRsZVwiOnRydWUsXCJjdXN0b21fdGl0bGVcIjpcIlwiLFwidXNlX2N1c3RvbV9zdWJ0aXRsZVwiOnRydWUsXCJjdXN0b21fc3VidGl0bGVcIjpcIlRoaXMgaW5kaWNhdG9yIG1lYXN1cmVzIHdhc3RlIGdlbmVyYXRpb24gaW4gYW5udWFsIHRvbnMuXCIsXCJ0aXRsZV9pbWFnZVwiOlwiL2FwaS9hc3NldHMvQkY5REQ3NTMtRjRBNC00MjNFLUI5QUEtQzhCRkFDRENFODc0XCJ9In0sInByZXZhaWxpbmdfbWVhc3VyZSI6eyJzdGFydCI6IjIwMDEtMTItMzFUMDA6MDA6MDAuMDAwIiwiZW5kIjoiMjAyMC0xMi0zMVQyMzo1OTo1OS4wMDAiLCJ1bml0IjoidG9ucyIsInRhcmdldCI6Mi40LCJ0YXJnZXRfdHlwZSI6InJlbGF0aXZlIiwidGFyZ2V0X2RlbHRhIjowLCJ0YXJnZXRfZGVsdGFfaXNfcGVyY2VudCI6ZmFsc2UsImJhc2VsaW5lIjo5MzA1MSwibWV0cmljIjp7Im1ldGFkYXRhIjoiIiwiaWQiOiJxczdxLW02OWQifSwiY29tcGFyaXNvbiI6eyJjb21wYXJpc29uX2Z1bmN0aW9uIjoiPCJ9LCJtZXRhZGF0YSI6eyJtZXRhZGF0YSI6IntcImVkaXRcIjp7XCJzdGFydFwiOntcImRhdGVcIjpcImVuZFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDAxfSxcImVuZFwiOntcImRhdGVcIjpcImVuZFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDIwfSxcImFjdGlvbl90eXBlXCI6XCJtYWludGFpblwiLFwidGFyZ2V0X3R5cGVcIjpcImFic29sdXRlXCIsXCJtYWludGFpbl90eXBlXCI6XCI8XCJ9LFwiYmFzZWxpbmVcIjp7XCJzcXVpc2h5XCI6e1wic3RhcnRcIjp7XCJkYXRlXCI6XCJzdGFydFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDE1fSxcImVuZFwiOntcImRhdGVcIjpcInN0YXJ0XCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMTV9fSxcInN0YXJ0XCI6XCIyMDE1LTAxLTAxVDAwOjAwOjAwLjAwMFwiLFwiZW5kXCI6XCIyMDE1LTAxLTAxVDIzOjU5OjU5LjAwMFwiLFwibWV0cmljXCI6e1wibWV0YWRhdGFcIjpcIntcXFwid2l6YXJkXFxcIjp7XFxcImZpbHRlcl9hc3RcXFwiOlt7XFxcInZhbHVlc1xcXCI6W3t9XX1dfX1cIn19LFwibmFtZVwiOlwiY2l0eXdpZGUgZ2VuZXJhdGlvblwifSJ9LCJ1cGRhdGVkX2F0IjoiMjAxNi0wNC0xM1QxNDo1Njo1My42MzZaIiwiY3JlYXRlZF9hdCI6IjIwMTUtMDUtMjJUMjE6NTA6NTAuMTE4WiIsInZlcnNpb24iOiIyMDE2LTA0LTEzVDE0OjU2OjUzLjYzNloiLCJpZCI6IjNxemctdXFhZCJ9LCJyZWxhdGVkX21lYXN1cmVzIjpbXSwiYmFzZV9kYXNoYm9hcmQiOiJuYXZoLWlnZjIiLCJ1cGRhdGVkX2F0IjoiMjAxNi0wNC0xM1QxNDo1OTo1MC4yNDJaIiwiY3JlYXRlZF9hdCI6IjIwMTUtMDEtMzBUMjM6MTQ6MDIuNzU0WiIsInZlcnNpb24iOiIyMDE2LTA0LTEzVDE0OjU5OjUwLjI0MloiLCJjcmVhdGVkX2J5IjoibnR1Ni1rdnNiIn0seyJpZCI6IjJlZGYtZ25xMiIsIm5hbWUiOiJTZW5kIExlc3MgV2FzdGUgdG8gTGFuZGZpbGxzIiwiaXNfcHVibGljIjp0cnVlLCJtZXRhZGF0YSI6eyJtZXRhZGF0YSI6IntcInJldGlyZW1lbnRfbmFycmF0aXZlXCI6W10sXCJuYXJyYXRpdmVcIjpbe1widHlwZVwiOlwidHdvQ29sTGF5b3V0XCIsXCJjb2x1bW5zXCI6W1t7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIqKldoYXQgaXMgdGhpcyBpbmRpY2F0b3I/KipcXG5cXG5UaGUgQ2l0eeKAmXMgZ29hbHMgZm9yIHNvbGlkIHdhc3RlIGFyZSBmaXJzdCB0byByZWR1Y2Ugd2FzdGUgZ2VuZXJhdGlvbiBhbmQgdGhlbiB0byBpbmNyZWFzZSB0aGUgcGVyY2VudGFnZSBvZiB3YXN0ZSB0aGF0IGlzIGRpdmVydGVkIGZyb20gbGFuZGZpbGxzLiBUaGUgQ2l0eSBsb29rcyBhdCBzb2xpZCB3YXN0ZSBpbiB0ZXJtcyBvZiB0aGUgdG90YWwgYW1vdW50IGdlbmVyYXRlZCwgdGhlIGFtb3VudCBsYW5kZmlsbGVkLCBhbmQgdGhlIGFtb3VudCBkaXZlcnRlZCBmcm9tIGxhbmRmaWxscyB0aHJvdWdoIGNvbnNlcnZhdGlvbiwgcmVjeWNsaW5nLCBjb21wb3N0aW5nLCByZXVzZSwgYW5kIHdhc3RlLXRvLWVuZXJneSBjb252ZXJzaW9uLiBUaGlzIGluZGljYXRvciBtZWFzdXJlcyBwb3VuZHMgb2YgcGVyIGNhcGl0YSB3YXN0ZSBsYW5kZmlsbGVkIGRhaWx5LiBJbiBjb21wbGlhbmNlIHdpdGggU0IgMTAxNiwgdGhlIGNpdHkgcmVwb3J0cyBwZXIgY2FwaXRhIGRpc3Bvc2FsIHJhdGVzIHVzaW5nIHR3byBmYWN0b3JzOiBhIGp1cmlzZGljdGlvbidzIHBvcHVsYXRpb24gYW5kIGl0cyBkaXNwb3NhbCBhcyByZXBvcnRlZCBieSBkaXNwb3NhbCBmYWNpbGl0aWVzLlxcblxcbioqV2h5IGlzIHRoaXMgaW1wb3J0YW50PyoqXFxuXFxuT3ZlciBjb25zdW1wdGlvbiBvZiBub24tbG9jYWwsIG5vbi1yZW5ld2FibGUsIGFuZCBub24tcmVjeWNsYWJsZSBtYXRlcmlhbHMgaXMgdW5zdXN0YWluYWJsZS4gVGhlcmUgaXMgb3Bwb3J0dW5pdHkgZm9yIGltcHJvdmVtZW50IHRocm91Z2ggYmVoYXZpb3JhbCBjaGFuZ2VzIGFuZCBzdHJhdGVnaWMgZGl2ZXJzaW9uIHByYWN0aWNlcy4gSW4gYWRkaXRpb24sIGxhbmRmaWxsIHNwYWNlIGluIGFuZCBhcm91bmQgU2FudGEgTW9uaWNhIGhhcyBiZWNvbWUgaW5jcmVhc2luZ2x5IHNjYXJjZSBhbmQgZXhwZW5zaXZlLiBTZXR0aW5nIGEgZ29hbCB0byByZWR1Y2UgcGVyIGNhcGl0YSB3YXN0ZSBsYW5kZmlsbGVkIHRvIDIuNCBsYnMgcGVyIGRheSBlbmNvdXJhZ2VzIGEgc2hpZnQgdG8gbW9yZSBzdXN0YWluYWJsZSByZXNvdXJjZSB1c2UgYW5kIHB1dHMgbGVzcyBwcmVzc3VyZSBvbiBsYW5kZmlsbHMgYW5kIHRoZSBlbnZpcm9ubWVudCwgd2hpbGUgc2F2aW5nIG1vbmV5IGZvciB0aGUgQ2l0eSBhbmQgaXRzIHJlc2lkZW50cy4gVGhlIGNpdHkgaXMgcHJvZ3Jlc3NpbmcgdG93YXJkIG1vcmUgc3VzdGFpbmFibGUgd2FzdGUgbWFuYWdlbWVudCBwcmFjdGljZXMgYnkgcmVkdWNpbmcgd2FzdGUgZ2VuZXJhdGlvbiBpbmNyZWFzaW5nIHdhc3RlIGRpdmVyc2lvbiB0aHJvdWdoIHJlY3ljbGluZyBhbmQgb3JnYW5pY3MgY29sbGVjdGlvbi5cXG5cXG5PcmdhbmljcyAoZm9vZCBzY3JhcHMpIGFyZSBub3cgdGhlIGxhcmdlc3Qgc2luZ2xlIGNhdGVnb3J5IG9mIGRpc3Bvc2VkIHdhc3RlIGluIENhbGlmb3JuaWEuIFdoZW4gZm9vZCBzY3JhcHMgYXJlIHBsYWNlZCBpbiBhIGxhbmRmaWxsIGFuZCBkZWNvbXBvc2UsIGl0IHByb2R1Y2VzIG1ldGhhbmUsIGEgc2lnbmlmaWNhbnQgZ3JlZW5ob3VzZSBnYXMgY29udHJpYnV0b3IuIFRoZXNlIHByb2dyYW1zIGFyZSBhbHNvIGhlbHBpbmcgdGhlIENpdHkgbWVldCBzdGF0ZSByZXF1aXJlbWVudHMgdW5kZXIgQXNzZW1ibHkgQmlsbCAzMi4gT25lIGNvbXBvbmVudCBvZiBBQiAzMiBjYWxscyBmb3IgYSByZWR1Y3Rpb24gaW4gdGhlIGFtb3VudCBvZiBvcmdhbmljIG1hdGVyaWFscyBzZW50IHRvIGxhbmRmaWxscyBhbmQgaW5jcmVhc2VkIHByb2R1Y3Rpb24gb2YgY29tcG9zdCBhbmQgbXVsY2guXFxuXFxuKipIb3cgYXJlIHdlIGRvaW5nPyoqXFxuXFxuVW5kZXIgdGhlIFNCIDEwMTYgcmVwb3J0aW5nLCBwZXIgY2FwaXRhIHdhc3RlIGxhbmRmaWxsZWQgaW4gMjAxNCB3YXMgNC43IGxicyBvZiB3YXN0ZSBwZXIgZGF5LCBleGNsdXNpdmUgb2Ygd2FzdGUtdG8tZW5lcmd5IHRyYW5zZm9ybWF0aW9uLiBJbiAyMDEwLCB0aGUgZGFpbHkgcmF0ZSB3YXMgMy42IGxicy9yZXNpZGVudC9kYXkuIFRoZSBDaXR5IGlzIG9uIHRyYWNrIHRvIG1lZXQgdGhlIDIwMjAgdGFyZ2V0IG9mIDIuNCBsYnMgb2Ygd2FzdGUgbGFuZGZpbGxlZCBwZXIgcGVyc29uIHBlciBkYXkuIFRoZSBDaXR5IGFpbXMgdG8gcmVhY2ggWmVybyBXYXN0ZSAoOTAlIHdhc3RlIGRpdmVyc2lvbikgYnkgMjAzMCAuIEV4Y2x1ZGluZyAyMDA1IGFuZCBtb3JlIHJlY2VudGx5LCAyMDEzLCB0aGUgY29tbXVuaXR5IGhhcyBiZWVuIHJlZHVjaW5nIHRoZSBwZXIgY2FwaXRhIGFtb3VudHMgbGFuZGZpbGxlZC5cXG5cXG5cIn1dLFt7XCJ0eXBlXCI6XCJpbWFnZVwiLFwic3JjXCI6XCIvYXBpL2Fzc2V0cy8wREFENkE4QS0wNzA3LTRGMjAtQkMyMi05QzU4MEUyNjc4RjFcIn0se1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiKipIb3cgY2FuIHdlIGhlbHA/KipcXG5cXG4qIFBhcnRpY2lwYXRlIGluIHRoZSBDaXR5IG9mIFtTYW50YSBNb25pY2EgU3dhcCBvciBTaGFyZV1bMF0uIFRoZSBSZXNvdXJjZSBSZWNvdmVyeSAmIFJlY3ljbGluZyBEaXZpc2lvbiBzZWVrcyB0byBpbmNyZWFzZSByZXVzZSBieSBpbnZpdGluZyBTYW50YSBNb25pY2EgcmVzaWRlbnRzIHRvIHJlZHVjZSB3YXN0ZSBieSBzd2FwcGluZyBhbmQgc2hhcmluZyBpdGVtcyB3aXRoIHRoZWlyIG5laWdoYm9ycy5cXG4gICogU2hvcCB1c2luZyByZXVzYWJsZSBiYWdzLlxcbiogQXZvaWQgcHJvZHVjdHMgdGhhdCBhcmUgZXhjZXNzaXZlbHkgcGFja2FnZWQuXFxuKiBGaXggaXRlbXMgcmF0aGVyIHRoYW4gZGlzcG9zaW5nIGFuZCByZXBsYWNpbmcgd2hlbiBwb3NzaWJsZS5cXG5cXG5bMF06IGh0dHA6Ly9uZWlnaGJvcmdvb2RzLm5ldC9ncm91cHMvY2l0eS1vZi1zYW50YS1tb25pY2Etc2hhcmVzXCJ9LHtcInR5cGVcIjpcInZpelwiLFwiZGF0YXNldFwiOlwic2Jlcy10cHZ4XCJ9XV19XSxcInVzZV9jdXN0b21fc3VidGl0bGVcIjp0cnVlLFwiY3VzdG9tX3N1YnRpdGxlXCI6XCJUaGlzIGluZGljYXRvciBtZWFzdXJlcyBsYnMgb2Ygc29saWQgd2FzdGUgbGFuZGZpbGxlZCBwZXIgcGVyc29uIHBlciBkYXkuXCIsXCJ1c2VfY3VzdG9tX3RpdGxlXCI6dHJ1ZSxcImN1c3RvbV90aXRsZVwiOlwiUmVkdWNlIGRhaWx5IHBlciBjYXBpdGEgd2FzdGUgbGFuZGZpbGxlZCB0byAyLjQgbGJzXCIsXCJ0aXRsZV9pbWFnZVwiOlwiL2FwaS9hc3NldHMvNUJGMjQxRjktQUQ5MC00NkQ3LUIxNEYtRUE1ODhBMUY3RDgwXCJ9In0sInByZXZhaWxpbmdfbWVhc3VyZSI6eyJzdGFydCI6IjE5OTUtMTItMzFUMDA6MDA6MDAuMDAwIiwiZW5kIjoiMjAyMC0xMi0zMVQyMzo1OTo1OS4wMDAiLCJ1bml0IjoicG91bmRzIHBlciBwZXJzb24vZGF5IiwidGFyZ2V0IjoyLjQsInRhcmdldF90eXBlIjoiYWJzb2x1dGUiLCJ0YXJnZXRfZGVsdGFfaXNfcGVyY2VudCI6ZmFsc2UsIm1ldHJpYyI6eyJtZXRhZGF0YSI6IiIsImlkIjoicXh3cS1lYnhpIn0sImNvbXBhcmlzb24iOnsiY29tcGFyaXNvbl9mdW5jdGlvbiI6IjwifSwibWV0YWRhdGEiOnsibWV0YWRhdGEiOiJ7XCJlZGl0XCI6e1wic3RhcnRcIjp7XCJkYXRlXCI6XCJlbmRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MTk5NX0sXCJlbmRcIjp7XCJkYXRlXCI6XCJlbmRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAyMH0sXCJhY3Rpb25fdHlwZVwiOlwicmVkdWNlXCJ9LFwiYmFzZWxpbmVcIjp7XCJzcXVpc2h5XCI6e1wic3RhcnRcIjp7XCJkYXRlXCI6XCJzdGFydFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDE0fSxcImVuZFwiOntcImRhdGVcIjpcInN0YXJ0XCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMTR9fSxcInN0YXJ0XCI6XCIyMDE0LTAxLTAxVDAwOjAwOjAwLjAwMFwiLFwiZW5kXCI6XCIyMDE0LTAxLTAxVDIzOjU5OjU5LjAwMFwiLFwibWV0cmljXCI6e1wibWV0YWRhdGFcIjpcIntcXFwid2l6YXJkXFxcIjp7XFxcImZpbHRlcl9hc3RcXFwiOlt7XFxcInZhbHVlc1xcXCI6W3t9XX1dfX1cIn19LFwibmFtZVwiOlwibGJzIHBlciBjYXBpdGEgbGFuZGZpbGxlZFwifSJ9LCJ1cGRhdGVkX2F0IjoiMjAxNS0wNy0yMFQxODozODowMS40MDJaIiwiY3JlYXRlZF9hdCI6IjIwMTQtMTItMDVUMTg6NTQ6MTAuMzE4WiIsInZlcnNpb24iOiIyMDE1LTA3LTIwVDE4OjM4OjAxLjQwMloiLCJpZCI6IjlmZDMtanR1dyJ9LCJyZWxhdGVkX21lYXN1cmVzIjpbXSwiYmFzZV9kYXNoYm9hcmQiOiJuYXZoLWlnZjIiLCJ1cGRhdGVkX2F0IjoiMjAxNi0wNC0xM1QxNTowMjo0OS4wODhaIiwiY3JlYXRlZF9hdCI6IjIwMTQtMTItMDVUMTg6Mzc6MjAuMjY2WiIsInZlcnNpb24iOiIyMDE2LTA0LTEzVDE1OjAyOjQ5LjA4OFoiLCJjcmVhdGVkX2J5IjoibnR1Ni1rdnNiIn0seyJpZCI6InVlbTMtdHprNyIsIm5hbWUiOiJJbmNyZWFzZSBXYXN0ZSBEaXZlcnNpb24iLCJpc19wdWJsaWMiOnRydWUsIm1ldGFkYXRhIjp7Im1ldGFkYXRhIjoie1wicmV0aXJlbWVudF9uYXJyYXRpdmVcIjpbXSxcImljb25cIjpcIlwiLFwibmFycmF0aXZlXCI6W3tcInR5cGVcIjpcInR3b0NvbExheW91dFwiLFwiY29sdW1uc1wiOltbe1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiKipXaGF0IGlzIHRoaXMgaW5kaWNhdG9yPyoqXFxuXFxuVGhlIENpdHnigJlzIGdvYWxzIGZvciBzb2xpZCB3YXN0ZSBhcmUgZmlyc3QgdG8gcmVkdWNlIHdhc3RlIGdlbmVyYXRpb24gYW5kIHRoZW4gdG8gaW5jcmVhc2UgdGhlIHBlcmNlbnRhZ2Ugb2Ygd2FzdGUgdGhhdCBpcyBkaXZlcnRlZCBmcm9tIGxhbmRmaWxscy4gVGhlIENpdHkgbG9va3MgYXQgc29saWQgd2FzdGUgaW4gdGVybXMgb2YgdGhlIHRvdGFsIGFtb3VudCBnZW5lcmF0ZWQsIHRoZSBhbW91bnQgbGFuZGZpbGxlZCwgYW5kIHRoZSBhbW91bnQgZGl2ZXJ0ZWQgZnJvbSBsYW5kZmlsbHMuIFdhc3RlIGRpdmVyc2lvbiBhcHBsaWVzIHRvIHdhc3RlIHRoYXQgaGFzIGJlZW4gcmV1c2VkLCBjb21wb3N0ZWQsIG9yIGNvbnZlcnRlZCBpbnRvIGVuZXJneSByYXRoZXIgdGhhbiBzZW50IHRvIGEgbGFuZGZpbGwuXFxuXFxuKipXaHkgaXMgdGhpcyBpbXBvcnRhbnQ/KipcXG5cXG5BIHNpZ25pZmljYW50IHBvcnRpb24gb2YgZGlzcG9zZWQgc29saWQgd2FzdGUgY2FuIGJlIGRpdmVydGVkIGZyb20gbGFuZGZpbGxzIHRocm91Z2ggYmVoYXZpb3JhbCBjaGFuZ2VzIGFuZCBtdW5pY2lwYWwgYWN0aW9uLiBJbiBhZGRpdGlvbiwgbGFuZGZpbGwgc3BhY2UgaW4gYW5kIGFyb3VuZCBTYW50YSBNb25pY2EgaGFzIGJlY29tZSBzY2FyY2UgYW5kIGV4cGVuc2l2ZS4gQSBoaWdoZXIgZGl2ZXJzaW9uIHRhcmdldCBlbmNvdXJhZ2VzIGEgc2hpZnQgdG8gbW9yZSBzdXN0YWluYWJsZSByZXNvdXJjZSB1c2UgYW5kIHB1dHMgbGVzcyBwcmVzc3VyZSBvbiBsYW5kZmlsbHMgYW5kIHRoZSBlbnZpcm9ubWVudCwgd2hpbGUgc2F2aW5nIG1vbmV5IGZvciB0aGUgQ2l0eSBhbmQgaXRzIHJlc2lkZW50cy4gSW4gb3JkZXIgdG8gYWNoaWV2ZSBtb3JlIHN1c3RhaW5hYmxlIHdhc3RlIG1hbmFnZW1lbnQgcHJhY3RpY2VzIGFuZCByZWR1Y2UgdGhlIGFtb3VudCBvZiB3YXN0ZSBsYW5kZmlsbGVkLCBhbiBpbmNyZWFzZSBpbiB3YXN0ZSBkaXZlcnNpb24gc2hvdWxkIGJlIGFjY29tcGFuaWVkIGJ5IGEgcmVkdWN0aW9uIGluIHBlciBjYXBpdGEgd2FzdGUgZ2VuZXJhdGlvbi5cXG5cXG4qKkhvdyBhcmUgd2UgZG9pbmc/KipcXG5cXG5BcyBvZiAyMDE0LCA3OSUgb2Ygc29saWQgd2FzdGUgd2FzIGJlaW5nIGRpdmVydGVkIGZyb20gbGFuZGZpbGxzLiBUaGUgY2l0eSBpcyB3ZWxsIG9uIHRyYWNrIHRvIG1lZXQgdGhlIDIwMjAgdGFyZ2V0IG9mIGFuIDg1JSBkaXZlcnNpb24gcmF0ZSBhcyBhIHJlc3VsdCBvZiByZWN5Y2xpbmcgcHJvZ3JhbXMsIG9yZ2FuaWNzIGNvbGxlY3Rpb24sIGFuZCB3YXN0ZS10by1lbmVyZ3kgdHJhbnNmb3JtYXRpb24uIFRoZSBDaXR5IGFpbXMgdG8gcmVhY2ggWmVybyBXYXN0ZSAoOTAlIHdhc3RlIGRpdmVyc2lvbikgYnkgMjAzMCAuXFxuXFxuIFwifV0sW3tcInR5cGVcIjpcImltYWdlXCIsXCJzcmNcIjpcIi9hcGkvYXNzZXRzLzBEM0ZFRDUwLTM2NDItNDBGOS05NTNGLTE5Q0JEMUU3RTQ3RlwifSx7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIqKkhvdyBjYW4gd2UgaGVscD8qKlxcblxcbiogUGFydGljaXBhdGUgaW4gdGhlIFtDaXR5IG9mIFNhbnRhIE1vbmljYSBTd2FwIG9yIFNoYXJlXVswXS5cXG4qIFRoZSBSZXNvdXJjZSBSZWNvdmVyeSAmIFJlY3ljbGluZyBEaXZpc2lvbiBzZWVrcyB0byBpbmNyZWFzZSByZXVzZSBieSBpbnZpdGluZyBTYW50YSBNb25pY2EgcmVzaWRlbnRzIHRvIHJlZHVjZSB3YXN0ZSBieSBzd2FwcGluZyBhbmQgc2hhcmluZyBpdGVtcyB3aXRoIHRoZWlyIG5laWdoYm9ycy5cXG4qIFNob3AgdXNpbmcgcmV1c2FibGUgYmFncy5cXG4qIEF2b2lkIHByb2R1Y3RzIHRoYXQgYXJlIGV4Y2Vzc2l2ZWx5IHBhY2thZ2VkLlxcbiogRml4IGl0ZW1zIHJhdGhlciB0aGFuIGRpc3Bvc2luZyBhbmQgcmVwbGFjaW5nIHdoZW4gcG9zc2libGUuXFxuXFxuWzBdOiBodHRwOi8vbmVpZ2hib3Jnb29kcy5uZXQvZ3JvdXBzL2NpdHktb2Ytc2FudGEtbW9uaWNhLXNoYXJlc1wifSx7XCJ0eXBlXCI6XCJ2aXpcIixcImRhdGFzZXRcIjpcImFkcjUtbTc3dVwifV1dfV0sXCJ1c2VfY3VzdG9tX3N1YnRpdGxlXCI6dHJ1ZSxcImN1c3RvbV9zdWJ0aXRsZVwiOlwiVGhpcyBpbmRpY2F0b3IgbWVhc3VyZXMgZGl2ZXJzaW9uIGZyb20gbGFuZGZpbGwgaW4gcGVyY2VudFwiLFwidXNlX2N1c3RvbV90aXRsZVwiOnRydWUsXCJjdXN0b21fdGl0bGVcIjpcIkluY3JlYXNlIGRpdmVyc2lvbiBmcm9tIGxhbmRmaWxsIHRvIDg1IHBlcmNlbnRcIixcInRpdGxlX2ltYWdlXCI6XCIvYXBpL2Fzc2V0cy9DM0Q0M0ZCQi05MEI1LTQxODctQTlDQS0wRjRBNURCNTU1QUZcIn0ifSwicHJldmFpbGluZ19tZWFzdXJlIjp7InN0YXJ0IjoiMTk5NS0wMS0wMVQwMDowMDowMC4wMDAiLCJlbmQiOiIyMDIwLTEyLTMxVDIzOjU5OjU5LjAwMCIsInVuaXQiOiJwZXJjZW50IGRpdmVydGVkIiwidGFyZ2V0Ijo4NSwidGFyZ2V0X3R5cGUiOiJhYnNvbHV0ZSIsInRhcmdldF9kZWx0YV9pc19wZXJjZW50IjpmYWxzZSwibWV0cmljIjp7Im1ldGFkYXRhIjoiIiwiaWQiOiJzczZ0LW5lY2EifSwiY29tcGFyaXNvbiI6eyJjb21wYXJpc29uX2Z1bmN0aW9uIjoiPiJ9LCJtZXRhZGF0YSI6eyJtZXRhZGF0YSI6IntcImVkaXRcIjp7XCJzdGFydFwiOntcImRhdGVcIjpcInN0YXJ0XCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjE5OTV9LFwiZW5kXCI6e1wiZGF0ZVwiOlwiZW5kXCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMjB9fSxcImJhc2VsaW5lXCI6e1wic3F1aXNoeVwiOntcInN0YXJ0XCI6e1wiZGF0ZVwiOlwic3RhcnRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAxNX0sXCJlbmRcIjp7XCJkYXRlXCI6XCJzdGFydFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDE1fX0sXCJzdGFydFwiOlwiMjAxNS0wMS0wMVQwMDowMDowMC4wMDBcIixcImVuZFwiOlwiMjAxNS0wMS0wMVQyMzo1OTo1OS4wMDBcIixcIm1ldHJpY1wiOntcIm1ldGFkYXRhXCI6XCJ7XFxcIndpemFyZFxcXCI6e1xcXCJmaWx0ZXJfYXN0XFxcIjpbe1xcXCJ2YWx1ZXNcXFwiOlt7fV19XX19XCJ9fSxcIm5hbWVcIjpcImRpdmVyc2lvbiBmcm9tIGxhbmRmaWxsXCJ9In0sInVwZGF0ZWRfYXQiOiIyMDE1LTA3LTIwVDE4OjM1OjQxLjQxMFoiLCJjcmVhdGVkX2F0IjoiMjAxNS0wNS0yN1QwMDowMToxNC40MjRaIiwidmVyc2lvbiI6IjIwMTUtMDctMjBUMTg6MzU6NDEuNDEwWiIsImlkIjoiN2RpdS02NG13In0sInJlbGF0ZWRfbWVhc3VyZXMiOltdLCJiYXNlX2Rhc2hib2FyZCI6Im5hdmgtaWdmMiIsInVwZGF0ZWRfYXQiOiIyMDE2LTA0LTEzVDE1OjAzOjM5LjMyNloiLCJjcmVhdGVkX2F0IjoiMjAxNS0wMS0zMFQyMzoxNDowMi43NTRaIiwidmVyc2lvbiI6IjIwMTYtMDQtMTNUMTU6MDM6MzkuMzI2WiIsImNyZWF0ZWRfYnkiOiJudHU2LWt2c2IifV0sInZlcnNpb24iOiIyMDE1LTA4LTEwVDE3OjQ3OjUzLjM0N1oifSx7ImlkIjoianQ4Ni1iZG5pIiwibmFtZSI6IldhdGVyIFVzZSIsImdvYWxzIjpbeyJpZCI6IjM4aTYtM2l2aCIsIm5hbWUiOiJSZWR1Y2UgQ2l0eXdpZGUgV2F0ZXIgRGVtYW5kIiwiaXNfcHVibGljIjp0cnVlLCJtZXRhZGF0YSI6eyJtZXRhZGF0YSI6IntcInJldGlyZW1lbnRfbmFycmF0aXZlXCI6W10sXCJuYXJyYXRpdmVcIjpbe1widHlwZVwiOlwidHdvQ29sTGF5b3V0XCIsXCJjb2x1bW5zXCI6W1t7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIqKldoYXQgaXMgdGhpcyBpbmRpY2F0b3I/KipcXG5cXG5Ub3RhbCBjaXR5d2lkZSB1c2UgaXMgdGhlIHRvdGFsIGFtb3VudCBvZiB3YXRlciB1c2VkIGJ5IFNhbnRhIE1vbmljYSByZXNpZGVudHMsIGJ1c2luZXNzZXMsIGFuZCB2aXNpdG9ycywgbWVhc3VyZWQgaW4gbWlsbGlvbnMgb2YgZ2FsbG9ucyBwZXIgZGF5IChNR0QpLlxcblxcbioqV2h5IGlzIHRoaXMgaW1wb3J0YW50PyoqXFxuXFxuVGhlIENpdHkgb2YgU2FudGEgTW9uaWNhIHN1cHBsaWVzIGltcG9ydGVkIGFuZCBsb2NhbCB3YXRlciB0byBhcHByb3hpbWF0ZWx5IDkyLDAwMCByZXNpZGVudHMgY292ZXJpbmcgYW4gYXJlYSBvZiBhcHByb3hpbWF0ZWx5IDggc3F1YXJlIG1pbGVzLiBMb29raW5nIHRvIGl0cyBmdXR1cmUsIHRoZSBDaXR5IGhvcGVzIHRvIGVsaW1pbmF0ZSBpdHMgZGVwZW5kZW5jZSBvbiBpbXBvcnRlZCB3YXRlciBieSBhZGRyZXNzaW5nIHRoZSBjaGFsbGVuZ2Ugb2YgZXhpc3RpbmcgZ3JvdW5kd2F0ZXIgcXVhbGl0eSwgaWRlbnRpZnlpbmcgbmV3IHNvdXJjZXMgb2YgbG9jYWwgd2F0ZXIgc3VwcGx5LCBhbmQgbW9yZSBlZmZlY3RpdmVseSByZWR1Y2UgYW5kIG1hbmFnZSBpdHMgd2F0ZXIgZGVtYW5kcy5XaXRoIGFuIGFkb3B0ZWQgZ29hbCBvZiB3YXRlciBzZWxmLXN1ZmZpY2llbmN5IGFjaGlldmVkIGJ5IGVsaW1pbmF0aW5nIHJlbGlhbmNlIG9uIE1ldHJvcG9saXRhbiBXYXRlciBEaXN0cmljdCBvZiBTb3V0aGVybiBDYWxpZm9ybmlhIChNV0QpIHN1cHBseSBieSAyMDIwLCB0aGUgQ2l0eSBvZiBTYW50YSBNb25pY2EgZGV2ZWxvcGVkIGEgW1N1c3RhaW5hYmxlIFdhdGVyIE1hc3RlciBQbGFuXVswXSBmb2N1c2VkIG9uIHJlZHVjaW5nIHdhdGVyIGRlbWFuZCBhbmQgZW5oYW5jaW5nIGxvY2FsIHdhdGVyIHN1cHBseSBwcm9kdWN0aW9uIGNhcGFiaWxpdGllcy5cXG5cXG4qKkhvdyBhcmUgd2UgZG9pbmc/KipcXG5cXG5EZXNwaXRlIGluY3JlYXNlcyBpbiBkZXZlbG9wbWVudCBhbmQgYSBncm93aW5nIGRheXRpbWUgcG9wdWxhdGlvbiwgU2FudGEgTW9uaWNhIGhhcyBiZWVuIHJlbGF0aXZlbHkgc3VjY2Vzc2Z1bCBhdCBtYW5hZ2luZyBjaXR5d2lkZSB3YXRlciBkZW1hbmQuIEFzIG9mIEp1bmUgMjAxNSwgdG90YWwgY2l0eXdpZGUgdXNlIHdhcyAxMS42IE1HRCwgd2hpY2ggaXMgdGhlIHNhbWUgYXMgaW4gMjAxMC4gSW1wcm92ZW1lbnQgaXMgbmVlZGVkIHRvIGRyb3AgdG8gdGhlIDEwLjMgTUdEIHRhcmdldCBieSAyMDIwIChhIHJlZHVjdGlvbiBvZiAxLjMgTUdEKS4gVGhlIG1ham9yaXR5ICg2NiUpIG9mIHRoZSBDaXR54oCZcyB3YXRlciB1c2Ugb2NjdXJzIHdpdGhpbiB0aGUgcmVzaWRlbnRpYWwgc2VjdG9yLiBSZWR1Y2luZyBjaXR5d2lkZSB3YXRlciB1c2UgdGhyb3VnaCBlZHVjYXRpb25hbCBjYW1wYWlnbnMgYW5kIHJlYmF0ZXMgZm9yIGhpZ2gtZWZmaWNpZW5jeSB3YXRlciBmaXh0dXJlcyBhbmQgbGF3biByZW1vdmFsIGFyZSBwYXJ0IG9mIFNhbnRhIE1vbmljYeKAmXMgY2l0eXdpZGUgY29uc2VydmF0aW9uIGVmZm9ydHMuXFxuXFxuQ3VycmVudCBpbml0aWF0aXZlcyB0byBjdXJiIHdhdGVyIHVzZSBpbmNsdWRlIHRoZSBbV2F0ZXIgU3VwcGx5IFNob3J0YWdlIFJlc3BvbnNlIFBsYW5dWzFdICh1cGRhdGVkIGFuZCByZS1hZG9wdGVkIGJ5IENpdHkgQ291bmNpbCBpbiBKYW51YXJ5IDIwMTUpIGFuZCB0aGUgW1dhdGVyIENvbnNlcnZhdGlvbiBDYW1wYWlnbl1bMl0sIGxhdW5jaGVkIGluIE1heSAyMDE1LCB0byBhY2hpZXZlIHdhdGVyLXNhdmluZ3Mgb2YgMjAlIGZyb20gMjAxMyBsZXZlbHMgYnkgRGVjZW1iZXIgMjAxNi4gU2FudGEgTW9uaWNhIHJlc2lkZW50cywgdmlzaXRvcnMsIGJ1c2luZXNzZXMgYW5kIHRoZWlyIGVtcGxveWVlcyBhcmUgYXNrZWQgdG8gdGFrZSBpbW1lZGlhdGUgYWN0aW9uIHRvIHJlZHVjZSB0aGUgQ2l0eeKAmXMgd2F0ZXIgdXNlIGJ5IGEgY29sbGVjdGl2ZSB0b3RhbCBvZiAyLjIgbWlsbGlvbiBnYWxsb25zIHBlciBkYXkuIFJlZHVjaW5nIHdhdGVyIHVzZSB3aWxsIGxlc3NlbiB0aGUgaW1wYWN0cyBvZiB0aGUgZHJvdWdodCBvbiBsb2NhbCBncm91bmR3YXRlciBhbmQgaW1wb3J0ZWQgd2F0ZXIgc3VwcGxpZXMgd2hpbGUgaW1wcm92aW5nIGxvY2FsLCByZWdpb25hbCBhbmQgc3RhdGUtd2lkZSB3YXRlciBzdXN0YWluYWJpbGl0eS5cXG5cXG5BcyBwYXJ0IG9mIHRoZSBXYXRlciBTdXBwbHkgU2hvcnRhZ2UgUmVzcG9uc2UgUGxhbiwgV2F0ZXIgVXNlIEFsbG93YW5jZXMgd2VyZSBpbXBsZW1lbnRlZCBmb3IgYWxsIG9mIHRoZSBDaXR54oCZcyB3YXRlciBjdXN0b21lcnMuIFRoZSBXYXRlciBVc2UgQWxsb3dhbmNlIGlzIGEgMjAlIHJlZHVjdGlvbiBpbiB3YXRlciB1c2UgZnJvbSAyMDEzIGxldmVscyBmb3IgdGhlIHNhbWUgYmlsbGluZyBwZXJpb2QgYW5kIHN0YXJ0ZWQgYXBwZWFyaW5nIG9uIHV0aWxpdHkgaW52b2ljZXMgaW4gSnVuZSAyMDE1LlxcblxcblRoZSBtb3N0IHBvcHVsYXIgcmViYXRlLCB0aGUgU3VzdGFpbmFibGUgTGFuZHNjYXBlIFJlYmF0ZSwgcGF5cyAkMy41MCBmb3IgZWFjaCBzcXVhcmUgZm9vdCBvZiBsYXduIHRoYXQgaXMgcmVtb3ZlZCBhbmQgcmVwbGFjZWQgd2l0aCBzdXN0YWluYWJsZSBsYW5kc2NhcGluZy4gSW4gYWRkaXRpb24sIGN1c3RvbWVycyBtYXkgY2hvb3NlIHRvIHJlY2VpdmUgYSAyLWhvdXIgY29uc3VsdGF0aW9uIHdpdGggZXhwZXJ0IGxhbmRzY2FwZSBkZXNpZ25lcnMgZm9yIGEgc21hbGwgZmVlLlxcblxcblswXTogaHR0cDovL3d3dy5zbWdvdi5uZXQvZGVwYXJ0bWVudHMvY291bmNpbC9hZ2VuZGFzLzIwMTQvMjAxNDEwMjgvczIwMTQxMDI4MDgtQy0xLmh0bVxcblsxXTogaHR0cDovL3d3dy5zbWdvdi5uZXQvZGVwYXJ0bWVudHMvY291bmNpbC9hZ2VuZGFzLzIwMTUvMjAxNTAxMTMvczIwMTUwMTEzMDgtQi0yLmh0bVxcblsyXTogaHR0cDovL3d3dy5zbWdvdi5uZXQvdXBsb2FkZWRGaWxlcy9EZXBhcnRtZW50cy9PU0UvQ2F0ZWdvcmllcy9XYXRlci9XYXRlcl9Db25zZXJ2YXRpb25fQ2FtcGFpZ25fTGF1bmNoX1ByZXNzX1JlbGVhc2VfTWF5XzA5LnBkZlwifV0sW3tcInR5cGVcIjpcImltYWdlXCIsXCJzcmNcIjpcIi9hcGkvYXNzZXRzLzNBODYyMTM4LTdDMEMtNDM1Ny05N0MxLTYzRjE0QzM2RkVFMVwifSx7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIqKkhvdyBjYW4gSSBoZWxwPyoqXFxuXFxuKiBSZXBsYWNlIG9sZGVyIGZsdXNoIGFuZCBmbG93IGZpeHR1cmVzIHdpdGggaGlnaC1lZmZpY2llbmN5IGRldmljZXMuIFtUb2lsZXQgcmViYXRlc11bMF0gYXJlIGF2YWlsYWJsZSBhbmQgdGhlIENpdHnigJlzIE9mZmljZSBvZiBTdXN0YWluYWJpbGl0eSBhbmQgdGhlIEVudmlyb25tZW50IHByb3ZpZGVzIGZyZWUgZmF1Y2V0IGFlcmF0b3JzIGFuZCBzaG93ZXIgaGVhZHMuIENhbGwgMzEwLTQ1OC04OTcyLlxcbiogUmVwbGFjZSB5b3VyIGxhd24gYW5kIHBhcmt3YXlzIHdpdGggZHJvdWdodC10b2xlcmFudCBsYW5kc2NhcGluZy4gU2lnbiB1cCBmb3IgYSBbTGFuZHNjYXBlIERlc2lnbiBDb25zdWx0YXRpb25dWzFdIGFuZCBhcHBseSBmb3IgYSBbU3VzdGFpbmFibGUgTGFuZHNjYXBlIHJlYmF0ZS5dWzJdXFxuKiBVc2UgZHJpcCBpcnJpZ2F0aW9uIG9yIGEgd2VhdGhlci1iYXNlZCBpcnJpZ2F0aW9uIGNvbnRyb2xsZXJzIHRvIGFkanVzdCBpcnJpZ2F0aW9uIGJhc2VkIG9uIHdlYXRoZXIgY29uZGl0aW9ucy4gW1JlYmF0ZXNdWzBdIGFyZSBhdmFpbGFibGUuXFxuKiBTaWduIHVwIGZvciBhIGZyZWUgW1dhdGVyIFVzZSBDb25zdWx0YXRpb25dWzFdIGZvciB5b3VyIGhvbWUgb3IgYnVzaW5lc3MuXFxuKiBGaW5kIG1vcmUgd2F0ZXItc2F2aW5nIHRpcHMgYXQgW3NtZ292Lm5ldC93YXRlcl1bM10uXFxuXFxuWzBdOiBodHRwOi8vd3d3LnNtZ292Lm5ldC9kZXBhcnRtZW50cy9vc2UvcmViYXRlcy9jb250ZW50LmFzcHg/aWQ9NDM1OFxcblsxXTogaHR0cDovL3d3dy5zbWdvdi5uZXQvRGVwYXJ0bWVudHMvT1NFL0NhdGVnb3JpZXMvV2F0ZXIvV2F0ZXJfU2F2aW5nX0NvbnN1bHRhdGlvbnMuYXNweFxcblsyXTogaHR0cDovL3d3dy5zbWdvdi5uZXQvRGVwYXJ0bWVudHMvT1NFL1JlYmF0ZXMvTGFuZHNjYXBlX1JlYmF0ZS5hc3B4XFxuWzNdOiBodHRwOi8vd3d3LnNtZ292Lm5ldC93YXRlclwifSx7XCJ0eXBlXCI6XCJ2aXpcIixcImRhdGFzZXRcIjpcIjc5ZnQtZ3BiZFwifV1dfSx7XCJ0eXBlXCI6XCJ0d29Db2xMYXlvdXRcIixcImNvbHVtbnNcIjpbW3tcInR5cGVcIjpcInZpelwiLFwiZGF0YXNldFwiOlwiOGs4cS1mczM2XCJ9XSxbXV19XSxcInVzZV9jdXN0b21fc3VidGl0bGVcIjp0cnVlLFwiY3VzdG9tX3N1YnRpdGxlXCI6XCJUaGlzIGluZGljYXRvciBtZWFzdXJlcyB3YXRlciBkZW1hbmQgaW4gbWlsbGlvbiBnYWxsb25zIHBlciBkYXkuXCIsXCJ0aXRsZV9pbWFnZVwiOlwiL2FwaS9hc3NldHMvNzBGREFCNDktRTJEQS00RTRFLTk3NDAtMUE5RjkzQzI4OUQ5XCIsXCJ1c2VfY3VzdG9tX3RpdGxlXCI6dHJ1ZSxcImN1c3RvbV90aXRsZVwiOlwiUmVkdWNlIGNpdHl3aWRlIHdhdGVyIGRlbWFuZCB0byAxMC4zIG1pbGxpb24gZ2FsbG9ucyBwZXIgZGF5XCJ9In0sInByZXZhaWxpbmdfbWVhc3VyZSI6eyJzdGFydCI6IjIwMDAtMDEtMDFUMDA6MDA6MDAuMDAwIiwiZW5kIjoiMjAyMC0xMi0zMVQyMzo1OTo1OS4wMDAiLCJ1bml0IjoibWlsbGlvbiBnYWxsb25zIHBlciBkYXkiLCJ0YXJnZXQiOjEwLjMsInRhcmdldF90eXBlIjoiYWJzb2x1dGUiLCJ0YXJnZXRfZGVsdGFfaXNfcGVyY2VudCI6ZmFsc2UsIm1ldHJpYyI6eyJtZXRhZGF0YSI6IiIsImlkIjoiNWl3cS1pNnphIn0sImNvbXBhcmlzb24iOnsiY29tcGFyaXNvbl9mdW5jdGlvbiI6IjwifSwibWV0YWRhdGEiOnsibWV0YWRhdGEiOiJ7XCJlZGl0XCI6e1wic3RhcnRcIjp7XCJkYXRlXCI6XCJzdGFydFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDAwfSxcImVuZFwiOntcImRhdGVcIjpcImVuZFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDIwfSxcImFjdGlvbl90eXBlXCI6XCJyZWR1Y2VcIn0sXCJiYXNlbGluZVwiOntcInNxdWlzaHlcIjp7XCJzdGFydFwiOntcImRhdGVcIjpcInN0YXJ0XCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMTV9LFwiZW5kXCI6e1wiZGF0ZVwiOlwic3RhcnRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAxNX19LFwic3RhcnRcIjpcIjIwMTUtMDEtMDFUMDA6MDA6MDAuMDAwXCIsXCJlbmRcIjpcIjIwMTUtMDEtMDFUMjM6NTk6NTkuMDAwXCIsXCJtZXRyaWNcIjp7XCJtZXRhZGF0YVwiOlwie1xcXCJ3aXphcmRcXFwiOntcXFwiZmlsdGVyX2FzdFxcXCI6W3tcXFwidmFsdWVzXFxcIjpbe31dfV19fVwifX0sXCJuYW1lXCI6XCJDaXR5d2lkZSBXYXRlciBEZW1hbmRcIn0ifSwidXBkYXRlZF9hdCI6IjIwMTUtMDctMjBUMjM6MDg6MjMuMDk5WiIsImNyZWF0ZWRfYXQiOiIyMDE1LTA1LTI3VDIwOjAyOjIxLjc2NVoiLCJ2ZXJzaW9uIjoiMjAxNS0wNy0yMFQyMzowODoyMy4wOTlaIiwiaWQiOiJoZmh1LXQzcXMifSwicmVsYXRlZF9tZWFzdXJlcyI6W10sImJhc2VfZGFzaGJvYXJkIjoibmF2aC1pZ2YyIiwidXBkYXRlZF9hdCI6IjIwMTYtMDItMTlUMDA6Mzc6MzcuMzg4WiIsImNyZWF0ZWRfYXQiOiIyMDE0LTEyLTA1VDE4OjQ0OjE4LjE5MFoiLCJ2ZXJzaW9uIjoiMjAxNi0wMi0xOVQwMDozNzozNy4zODhaIiwiY3JlYXRlZF9ieSI6IjRzbXktY21rMiJ9LHsiaWQiOiJ1N2EzLTdpdnMiLCJuYW1lIjoiUmVkdWNlIFBlciBDYXBpdGEgV2F0ZXIgVXNlIiwiaXNfcHVibGljIjp0cnVlLCJtZXRhZGF0YSI6eyJtZXRhZGF0YSI6IntcInJldGlyZW1lbnRfbmFycmF0aXZlXCI6W10sXCJuYXJyYXRpdmVcIjpbe1widHlwZVwiOlwidHdvQ29sTGF5b3V0XCIsXCJjb2x1bW5zXCI6W1t7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIqKldoYXQgaXMgdGhpcyBpbmRpY2F0b3I/KipcXG5cXG5UaGlzIGluZGljYXRvciBtZWFzdXJlcyB0aGUgZ2FsbG9ucyBvZiBwZXIgY2FwaXRhIGRhaWx5IHdhdGVyIHVzZSAoR1BDRCkgaW4gU2FudGEgTW9uaWNhIGJ5IGRpdmlkaW5nIHRoZSB0b3RhbCBjaXR5d2lkZSB3YXRlciB1c2UgYnkgdGhlIG51bWJlciBvZiByZXNpZGVudHMgYW5kIGRheXMgcGVyIHllYXIuXFxuXFxuKipXaHkgaXMgdGhpcyBpbXBvcnRhbnQ/KipcXG5cXG5UaGUgQ2l0eSBvZiBTYW50YSBNb25pY2Egc3VwcGxpZXMgaW1wb3J0ZWQgYW5kIGxvY2FsIHdhdGVyIHRvIGFwcHJveGltYXRlbHkgOTIsMDAwIHJlc2lkZW50cyBjb3ZlcmluZyBhbiBhcmVhIG9mIGFwcHJveGltYXRlbHkgOCBzcXVhcmUgbWlsZXMuIExvb2tpbmcgdG8gaXRzIGZ1dHVyZSwgdGhlIENpdHkgaG9wZXMgdG8gZWxpbWluYXRlIGl0cyBkZXBlbmRlbmNlIG9uIGltcG9ydGVkIHdhdGVyIGJ5IGFkZHJlc3NpbmcgdGhlIGNoYWxsZW5nZSBvZiBleGlzdGluZyBncm91bmR3YXRlciBxdWFsaXR5LGlkZW50aWZ5aW5nIG5ldyBzb3VyY2VzIG9mIGxvY2FsIHdhdGVyIHN1cHBseSwgYW5kIG1vcmUgZWZmZWN0aXZlbHkgcmVkdWNlIGFuZCBtYW5hZ2UgaXRzIHdhdGVyIGRlbWFuZHMuXFxuXFxuV2l0aCBhbiBhZG9wdGVkIGdvYWwgb2Ygd2F0ZXIgc2VsZi1zdWZmaWNpZW5jeSBhY2hpZXZlZCBieSBlbGltaW5hdGluZyByZWxpYW5jZSBvbiBNZXRyb3BvbGl0YW4gV2F0ZXIgRGlzdHJpY3Qgb2YgU291dGhlcm4gQ2FsaWZvcm5pYSAoTVdEKSBzdXBwbHkgYnkgMjAyMCwgdGhlIENpdHkgb2YgU2FudGEgTW9uaWNhIGRldmVsb3BlZCBhIFtTdXN0YWluYWJsZSBXYXRlciBNYXN0ZXIgUGxhbl1bMF0gZm9jdXNlZCBvbiByZWR1Y2luZyB3YXRlciBkZW1hbmQgYW5kIGVuaGFuY2luZyBsb2NhbCB3YXRlciBzdXBwbHkgcHJvZHVjdGlvbiBjYXBhYmlsaXRpZXMuXFxuXFxuSW4gdGhlIG1pZHN0IG9mIG9uZSBvZiB0aGUgbW9zdCBzZXZlcmUgZHJvdWdodHMgaW4gQ2FsaWZvcm5pYeKAmXMgaGlzdG9yeSwgU2FudGEgTW9uaWNhIHJlc2lkZW50cyBtdXN0IGJlIGEgcGFydCBvZiB0aGUgc29sdXRpb24gYnkgcGFydGljaXBhdGluZyBpbiBzdGF0ZXdpZGUgYW5kIGNpdHl3aWRlIGVmZm9ydHMgdG8gbG93ZXIgd2F0ZXIgY29uc3VtcHRpb24uUmVkdWNpbmcgcGVyIGNhcGl0YSB3YXRlciB1c2Ugd2lsbCBhbHNvIGhlbHAgdGhlIGNpdHkgd2VhbiBpdHNlbGYgb2ZmIG9mIGltcG9ydGVkIHdhdGVyIHN1cHBsaWVzIGFuZCBtb3ZlIHRvd2FyZCBzZWxmLXN1ZmZpY2llbmN5IGJ5IDIwMjAsIGFzIGRpcmVjdGVkIGJ5IHRoZSBTYW50YSBNb25pY2EgU3VzdGFpbmFibGUgV2F0ZXIgTWFzdGVyIFBsYW4uXFxuXFxuKipIb3cgYXJlIHdlIGRvaW5nPyoqXFxuXFxuQXMgb2YgSnVuZSAyMDE1LCB3ZSBhcmUgb24gdHJhY2sgdG8gbWVldCB0aGUgd2F0ZXIgY29uc2VydmF0aW9uIGdvYWxzIG91dGxpbmVkIGluIHRoZSBTdXN0YWluYWJsZSBXYXRlciBNYXN0ZXIgUGxhbiBhbmQgaW4gY29tcGxpYW5jZSB3aXRoIFN0YXRlIHJlZ3VsYXRpb25zIChTQng3LTcpLCB3aXRoIHJlc2lkZW50cyB1c2luZyBhbiBhdmVyYWdlIG9mIDExMyBHUENELiBUaGlzIGlzIGEgc2lnbmlmaWNhbnQgaW1wcm92ZW1lbnQgb3ZlciAyMDEwIHVzYWdlIG9mIDEzMCBHUENELiBUaGUgbWFqb3JpdHkgKDY2JSkgb2YgdGhlIENpdHnigJlzIHdhdGVyIHVzZSBvY2N1cnMgd2l0aGluIHRoZSByZXNpZGVudGlhbCBzZWN0b3IuXFxuXFxuQ3VycmVudCBpbml0aWF0aXZlcyB0byBjdXJiIHdhdGVyIHVzZSBpbiByZXNwb25zZSB0byB0aGUgZHJvdWdodCBpbmNsdWRlIHRoZSBbV2F0ZXIgU3VwcGx5IFNob3J0YWdlIFJlc3BvbnNlIFBsYW5dWzFdICh1cGRhdGVkIGFuZCByZS1hZG9wdGVkIGJ5IENpdHkgQ291bmNpbCBpbiBKYW51YXJ5IDIwMTUpIGFuZCB0aGUgW1dhdGVyIENvbnNlcnZhdGlvbiBDYW1wYWlnbl1bMl0gLCBsYXVuY2hlZCBpbiBNYXkgMjAxNSB0byBhY2hpZXZlIHdhdGVyLXNhdmluZ3Mgb2YgMjAlIGZyb20gMjAxMyBsZXZlbHMgYnkgRGVjZW1iZXIgMjAxNi4gVGhpcyBpcyBpbiBsaW5lIHdpdGggdGhlIFN0YXRl4oCZcyB3YXRlciByZWR1Y3Rpb24gdGFyZ2V0IGluIHJlc3BvbnNlIHRvIHRoZSBkcm91Z2h0LiBTYW50YSBNb25pY2EgcmVzaWRlbnRzLCB2aXNpdG9ycyxidXNpbmVzc2VzIGFuZCB0aGVpciBlbXBsb3llZXMgYXJlIGFza2VkIHRvIHRha2UgaW1tZWRpYXRlIGFjdGlvbiB0byByZWR1Y2UgdGhlIENpdHnigJlzIHdhdGVyIHVzZSBieSBhIGNvbGxlY3RpdmUgdG90YWwgb2YgMi4yIG1pbGxpb24gZ2FsbG9ucyBwZXIgZGF5LiBSZWR1Y2luZyB3YXRlciB1c2Ugd2lsbCBsZXNzZW4gdGhlIGltcGFjdHMgb2YgdGhlIGRyb3VnaHQgb24gbG9jYWwgZ3JvdW5kd2F0ZXIgYW5kIGltcG9ydGVkIHdhdGVyIHN1cHBsaWVzIHdoaWxlIGltcHJvdmluZyBsb2NhbCwgcmVnaW9uYWwgYW5kIHN0YXRlLXdpZGUgd2F0ZXIgc3VzdGFpbmFiaWxpdHkuIEluIGl0cyBmaXJzdCBtb250aCBvZiBTdGF0ZSByZXF1aXJlZCB3YXRlciByZWR1Y3Rpb24gcmVwb3J0aW5nLHRoZSBjaXR5IG1ldCBpdHMgMjAlIHJlZHVjdGlvbiB0YXJnZXQuXFxuXFxuQXMgcGFydCBvZiB0aGUgV2F0ZXIgU3VwcGx5IFNob3J0YWdlIFJlc3BvbnNlIFBsYW4sIFdhdGVyIFVzZSBBbGxvd2FuY2VzIHdlcmUgaW1wbGVtZW50ZWQgZm9yIGFsbCBvZiB0aGUgQ2l0eeKAmXMgd2F0ZXIgY3VzdG9tZXJzLiBUaGUgV2F0ZXIgVXNlIEFsbG93YW5jZSBpcyBhIDIwJSByZWR1Y3Rpb24gaW4gd2F0ZXIgdXNlIGZyb20gMjAxMyBsZXZlbHMgZm9yIHRoZSBzYW1lIGJpbGxpbmcgcGVyaW9kIGFuZCBzdGFydGVkIGFwcGVhcmluZyBvbiB1dGlsaXR5IGludm9pY2VzIGluIEp1bmUgMjAxNS5cXG5cXG5UaGUgbW9zdCBwb3B1bGFyIHJlYmF0ZSwgdGhlIFN1c3RhaW5hYmxlIExhbmRzY2FwZSBSZWJhdGUsIHBheXMkMy41MCBmb3IgZWFjaCBzcXVhcmUgZm9vdCBvZiBsYXduIHRoYXQgaXMgcmVtb3ZlZCBhbmQgcmVwbGFjZWQgd2l0aCBzdXN0YWluYWJsZSBsYW5kc2NhcGluZy4gSW4gYWRkaXRpb24sIGN1c3RvbWVycyBtYXkgY2hvb3NlIHRvIHJlY2VpdmUgYSAyLWhvdXIgY29uc3VsdGF0aW9uIHdpdGggZXhwZXJ0IGxhbmRzY2FwZSBkZXNpZ25lcnMgZm9yIGEgc21hbGwgZmVlLlxcblxcblswXTogaHR0cDovL3d3dy5zbWdvdi5uZXQvZGVwYXJ0bWVudHMvY291bmNpbC9hZ2VuZGFzLzIwMTQvMjAxNDEwMjgvczIwMTQxMDI4MDgtQy0xLmh0bVxcblsxXTogaHR0cDovL3d3dy5zbWdvdi5uZXQvZGVwYXJ0bWVudHMvY291bmNpbC9hZ2VuZGFzLzIwMTUvMjAxNTAxMTMvczIwMTUwMTEzMDgtQi0yLmh0bVxcblsyXTogaHR0cDovL3d3dy5zbWdvdi5uZXQvdXBsb2FkZWRGaWxlcy9EZXBhcnRtZW50cy9PU0UvQ2F0ZWdvcmllcy9XYXRlci9XYXRlcl9Db25zZXJ2YXRpb25fQ2FtcGFpZ25fTGF1bmNoX1ByZXNzX1JlbGVhc2VfTWF5XzA5LnBkZlwifV0sW3tcInR5cGVcIjpcImltYWdlXCIsXCJzcmNcIjpcIi9hcGkvYXNzZXRzLzc2M0FFNDk2LTQzNjEtNEFBOC05RDZELUQ1MUI0OTVDNzRDMlwifSx7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIqKkhvdyBjYW4gSSBoZWxwPyoqXFxuXFxuKiBSZXBsYWNlIG9sZGVyIGZsdXNoIGFuZCBmbG93IGZpeHR1cmVzIHdpdGggaGlnaC1lZmZpY2llbmN5IGRldmljZXMuIFtUb2lsZXQgcmViYXRlc11bMF0gYXJlIGF2YWlsYWJsZSBhbmQgdGhlIENpdHnigJlzIE9mZmljZSBvZiBTdXN0YWluYWJpbGl0eSBhbmQgdGhlIEVudmlyb25tZW50IHByb3ZpZGVzIGZyZWUgZmF1Y2V0IGFlcmF0b3JzIGFuZCBzaG93ZXIgaGVhZHMuIENhbGwgMzEwLTQ1OC04OTcyLlxcbiogUmVwbGFjZSB5b3VyIGxhd24gYW5kIHBhcmt3YXlzIHdpdGggZHJvdWdodC10b2xlcmFudCBsYW5kc2NhcGluZy4gU2lnbiB1cCBmb3IgYSBbTGFuZHNjYXBlIERlc2lnbiBDb25zdWx0YXRpb25dWzFdICBhbmQgYXBwbHkgZm9yIGEgIFNbdXN0YWluYWJsZSBMYW5kc2NhcGUgcmViYXRlXVsyXS5cXG4qIFVzZSBkcmlwIGlycmlnYXRpb24gb3IgYSB3ZWF0aGVyLWJhc2VkIGlycmlnYXRpb24gY29udHJvbGxlcnMgdG8gYWRqdXN0IGlycmlnYXRpb24gYmFzZWQgb24gd2VhdGhlciBjb25kaXRpb25zLiBbUmViYXRlc11bMF0gYXJlIGF2YWlsYWJsZS5cXG4qIFNpZ24gdXAgZm9yIGEgZnJlZSBbV2F0ZXIgVXNlIENvbnN1bHRhdGlvbl1bMV0gIGZvciB5b3VyIGhvbWUgb3IgYnVzaW5lc3MuXFxuKiBGaW5kIG1vcmUgd2F0ZXItc2F2aW5nIHRpcHMgYXQgW3NtZ292Lm5ldC93YXRlcl1bM10gLlxcblxcblxcblxcblswXTogaHR0cDovL3d3dy5zdXN0YWluYWJsZXNtLm9yZy9yZWJhdGVzXFxuWzFdOiBodHRwOi8vd3d3LnNtZ292Lm5ldC9EZXBhcnRtZW50cy9PU0UvY2F0ZWdvcmllcy93YXRlci5hc3B4XFxuWzJdOiBodHRwOi8vd3d3LnNtZ292Lm5ldC9EZXBhcnRtZW50cy9PU0UvUmViYXRlcy9MYW5kc2NhcGVfUmViYXRlLmFzcHhcXG5bM106IGh0dHA6Ly93d3cuc21nb3YubmV0L3dhdGVyXCJ9LHtcInR5cGVcIjpcInZpelwiLFwiZGF0YXNldFwiOlwidTc5ay10N2Q2XCJ9XV19XSxcInVzZV9jdXN0b21fc3VidGl0bGVcIjp0cnVlLFwiY3VzdG9tX3N1YnRpdGxlXCI6XCJUaGlzIGluZGljYXRvciBtZWFzdXJlcyB3YXRlciB1c2UgaW4gZ2FsbG9ucyBwZXIgcGVyc29uIHBlciBkYXkuXCIsXCJ0aXRsZV9pbWFnZVwiOlwiL2FwaS9hc3NldHMvNzk4NkIxNEEtMjA2Mi00QTc1LTgzRUQtM0EzMjc0OEVFMEZBXCIsXCJ1c2VfY3VzdG9tX3RpdGxlXCI6dHJ1ZSxcImN1c3RvbV90aXRsZVwiOlwiUmVkdWNlIHBlciBwZXJzb24gd2F0ZXIgdXNlIHRvIDEyMyBnYWxsb25zIHBlciBkYXlcIn0ifSwicHJldmFpbGluZ19tZWFzdXJlIjp7InN0YXJ0IjoiMjAwMC0wMS0wMVQwMDowMDowMC4wMDAiLCJlbmQiOiIyMDIwLTEyLTMxVDIzOjU5OjU5LjAwMCIsInVuaXQiOiJnYWxsb25zIHBlciBwZXJzb24vZGF5IiwidGFyZ2V0IjoxMjMsInRhcmdldF90eXBlIjoiYWJzb2x1dGUiLCJ0YXJnZXRfZGVsdGFfaXNfcGVyY2VudCI6ZmFsc2UsIm1ldHJpYyI6eyJtZXRhZGF0YSI6IiIsImlkIjoicHQ4OS1wbmJjIn0sImNvbXBhcmlzb24iOnsiY29tcGFyaXNvbl9mdW5jdGlvbiI6IjwifSwibWV0YWRhdGEiOnsibWV0YWRhdGEiOiJ7XCJlZGl0XCI6e1wic3RhcnRcIjp7XCJkYXRlXCI6XCJzdGFydFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDAwfSxcImVuZFwiOntcImRhdGVcIjpcImVuZFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDIwfSxcImFjdGlvbl90eXBlXCI6XCJyZWR1Y2VcIn0sXCJiYXNlbGluZVwiOntcInNxdWlzaHlcIjp7XCJzdGFydFwiOntcImRhdGVcIjpcInN0YXJ0XCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMTV9LFwiZW5kXCI6e1wiZGF0ZVwiOlwic3RhcnRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAxNX19LFwic3RhcnRcIjpcIjIwMTUtMDEtMDFUMDA6MDA6MDAuMDAwXCIsXCJlbmRcIjpcIjIwMTUtMDEtMDFUMjM6NTk6NTkuMDAwXCIsXCJtZXRyaWNcIjp7XCJtZXRhZGF0YVwiOlwie1xcXCJ3aXphcmRcXFwiOntcXFwiZmlsdGVyX2FzdFxcXCI6W3tcXFwidmFsdWVzXFxcIjpbe31dfV19fVwifX0sXCJuYW1lXCI6XCJQZXIgQ2FwaXRhIFdhdGVyIFVzZVwifSJ9LCJ1cGRhdGVkX2F0IjoiMjAxNS0wNy0yMFQxODo0MjowOS42OTVaIiwiY3JlYXRlZF9hdCI6IjIwMTUtMDUtMjdUMjE6Mzk6NDkuNTQ2WiIsInZlcnNpb24iOiIyMDE1LTA3LTIwVDE4OjQyOjA5LjY5NVoiLCJpZCI6InNyMnctdWhoZCJ9LCJyZWxhdGVkX21lYXN1cmVzIjpbXSwiYmFzZV9kYXNoYm9hcmQiOiJuYXZoLWlnZjIiLCJ1cGRhdGVkX2F0IjoiMjAxNi0wNC0xOVQxNjo1NjoxOS41NDJaIiwiY3JlYXRlZF9hdCI6IjIwMTUtMDEtMzBUMjM6MTY6MjIuNDQxWiIsInZlcnNpb24iOiIyMDE2LTA0LTE5VDE2OjU2OjE5LjU0MloiLCJjcmVhdGVkX2J5IjoiNHNteS1jbWsyIn0seyJpZCI6Ijk0cTgtYTQ5eiIsIm5hbWUiOiJTb3VyY2UgV2F0ZXIgTG9jYWxseSIsImlzX3B1YmxpYyI6dHJ1ZSwibWV0YWRhdGEiOnsibWV0YWRhdGEiOiJ7XCJyZXRpcmVtZW50X25hcnJhdGl2ZVwiOltdLFwibmFycmF0aXZlXCI6W3tcInR5cGVcIjpcInR3b0NvbExheW91dFwiLFwiY29sdW1uc1wiOltbe1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiKipXaGF0IGlzIHRoaXMgaW5kaWNhdG9yPyoqXFxuXFxuTG9jYWwgd2F0ZXIgcmVmZXJzIHRvIHdhdGVyIHRoYXQgaXMgc291cmNlZCB3aXRoaW4gdGhlIENpdHkgb2YgU2FudGEgTW9uaWNhLiBJbXBvcnRlZCB3YXRlciBjb21lcyBmcm9tIGFueXdoZXJlIGJleW9uZCB0aGUgY2l0eeKAmXMgYm9yZGVycywgaW5jbHVkaW5nIGRpc3RhbnQgd2F0ZXJzaGVkcyBpbiBDYWxpZm9ybmlhIGFuZCB0aHJvdWdob3V0IHRoZSBXZXN0ZXJuIFVuaXRlZCBTdGF0ZXMuIFRoaXMgaW5kaWNhdG9yIG1lYXN1cmVzIHRoZSBwZXJjZW50IG9mIHRvdGFsIHdhdGVyIGluIFNhbnRhIE1vbmljYSB0aGF0IGlzIHNvdXJjZWQgbG9jYWxseS5cXG5cXG4qKldoeSBpcyB0aGlzIGltcG9ydGFudD8qKlxcblxcbkxvb2tpbmcgdG8gaXRzIGZ1dHVyZSwgdGhlIENpdHkgaG9wZXMgdG8gZWxpbWluYXRlIGl0cyBkZXBlbmRlbmNlIG9uIGltcG9ydGVkIHdhdGVyIGJ5IGFkZHJlc3NpbmcgdGhlIGNoYWxsZW5nZSBvZiBleGlzdGluZyBncm91bmR3YXRlciBxdWFsaXR5LCBpZGVudGlmeWluZyBuZXcgc291cmNlcyBvZiBsb2NhbCB3YXRlciBzdXBwbHksIGFuZCBtb3JlIGVmZmVjdGl2ZWx5IHJlZHVjaW5nIGFuZCBtYW5hZ2luZyBpdHMgd2F0ZXIgZGVtYW5kcy5cXG5cXG5XaXRoIGFuIGFkb3B0ZWQgZ29hbCBvZiB3YXRlciBzZWxmLXN1ZmZpY2llbmN5IGFjaGlldmVkIGJ5IGVsaW1pbmF0aW5nIHJlbGlhbmNlIG9uIE1ldHJvcG9saXRhbiBXYXRlciBEaXN0cmljdCBvZiBTb3V0aGVybiBDYWxpZm9ybmlhIChNV0QpIHN1cHBseSBieSAyMDIwLCB0aGUgQ2l0eSBvZiBTYW50YSBNb25pY2EgZGV2ZWxvcGVkIGEgW1N1c3RhaW5hYmxlIFdhdGVyIE1hc3RlciBQbGFuXVswXSBmb2N1c2VkIG9uIHJlZHVjaW5nIHdhdGVyIGRlbWFuZCBhbmQgZW5oYW5jaW5nIGxvY2FsIHdhdGVyIHN1cHBseSBwcm9kdWN0aW9uIGNhcGFiaWxpdGllcy5cXG5cXG5BY2hpZXZpbmcgMTAwJSB3YXRlciBzZWxmLXN1ZmZpY2llbmN5IG1lYW5zIGNsb3NpbmcgdGhlIGdhcCB0aGF0IGV4aXN0cyBiZXR3ZWVuIHRvdGFsIHdhdGVyIGRlbWFuZCBhbmQgdG90YWwgd2F0ZXIgYXZhaWxhYmxlIGxvY2FsbHkuIFRoaXMgZ2FwIG9mIDYsNTAwIGFjcmUtZmVldCBwZXIgeWVhciAoQUZZKSBtYXkgYmUgcmVkdWNlZCBieSBhIGNvbWJpbmF0aW9uIG9mIG1heGltaXppbmcgdGhlIHVzZSBvZiBncm91bmR3YXRlciByZXNvdXJjZXMgYXQgYSBzdXN0YWluYWJsZSBsZXZlbCwgaW5jcmVhc2luZyB3YXRlciBjb25zZXJ2YXRpb24gZWZmb3J0cywgY2FwdHVyaW5nIGFuZCB1c2luZyByYWlud2F0ZXIgYW5kIGRyeS13ZWF0aGVyIHJ1bm9mZiwgYW5kIHJldXNpbmcgZ3JleSB3YXRlci4gSXQgbWF5IGFsc28gcmVxdWlyZSBlbmhhbmNlZCB3YXRlciByZWN5Y2xpbmcgZWZmb3J0cyBhbmQgcmV1c2Ugb2Ygd2FzdGUgd2F0ZXIgYW5kIG90aGVyIGlubm92YXRpb25zLlxcblxcbkFzIHN0YXRlIHdhdGVyIHN1cHBsaWVzIGRyb3AgYW5kIHRoZSBjdXJyZW50IGRyb3VnaHQgY29udGludWVzLCBpbmNyZWFzaW5nIHRoZSBwZXJjZW50YWdlIG9mIHdhdGVyIHRoYXQgY29tZXMgZnJvbSBsb2NhbCBzb3VyY2VzIGlzIGFuIGltcG9ydGFudCBzdGVwIHRvd2FyZHMgd2F0ZXIgc2VsZi1zdWZmaWNpZW5jeS5cXG5cXG4qKkhvdyBhcmUgd2UgZG9pbmc/KipcXG5cXG5JbiBhbiBlZmZvcnQgdG8gbWVyZ2UgdGhlc2UgZWxlbWVudHMgdG93YXJkIHJlYWxpemluZyBzZWxmLXN1ZmZpY2llbmN5LCB0aGUgQ2l0eSBkZXZlbG9wZWQgdGhlIFN1c3RhaW5hYmxlIFdhdGVyIE1hc3RlciBQbGFuIGluIDIwMTQuIFRoZSBtYXN0ZXIgcGxhbiBzZXJ2ZXMgYXMgYSBzdHJhdGVnaWMgcmV2aWV3IGFuZCBmb3JlY2FzdCBvZiB0aGUgY2l0eeKAmXMgd2F0ZXIgc3VwcGx5IGFuZCBkZW1hbmQgcGljdHVyZSwgYXMgd2VsbCBhcyBhbiDigJx1bWJyZWxsYeKAnSBwbGFuIHRvIGFtYWxnYW1hdGUgZXhpc3Rpbmcgc3RyYXRlZ2llcy5cXG5cXG5QcmV2aW91cyBncm91bmR3YXRlciBwb2xsdXRpb24gZnJvbSB1bmRlcmdyb3VuZCBnYXNvbGluZSB0YW5rcyBpbiB0aGUgbWlkLTE5OTDigJlzIGxlZnQgU2FudGEgTW9uaWNhIGhpZ2hseSBkZXBlbmRlbnQgb24gaGlnaC1wcmljZWQgd2F0ZXIgZnJvbSBNV0QuIFNpbmNlIHRoZW4sIHRoZSBDaGFybm9jayBXZWxscyBoYXZlIGJlZW4gcmVzdG9yZWQgYW5kIHdlcmUgcmVvcGVuZWQgZm9sbG93aW5nIHJlbWVkaWF0aW9uIGluIDIwMTAuIFRoZSBuZXcgcGxhbnQgYWxsb3dzIHRoZSBzdWJzdGl0dXRpb24gb2YgbW9yZSBjb3N0IGVmZmVjdGl2ZSBsb2NhbGx5LXByb2R1Y2VkIHdhdGVyLCB0aGVyZWJ5IHJlZHVjaW5nIHRoZSBleHBlbnNlIGFuZCBlbmVyZ3kgdXNlIGFzc29jaWF0ZWQgd2l0aCBpbXBvcnRlZCB3YXRlci4gQXMgb2YgSnVuZSAyMDE1LCB0aGUgY2l0eSBwcm9kdWNlcyA3MiUgb2YgaXRzIHdhdGVyIHN1cHBseSBmcm9tIGxvY2FsIGdyb3VuZHdhdGVyIHdlbGxzIGFuZCBpbXBvcnRzIHRoZSByZW1haW5pbmcgMjglIGZyb20gTVdELiBMb2NhbCB3YXRlciBwcm9kdWN0aW9uIGhhcyBpbmNyZWFzZWQgc3Vic3RhbnRpYWxseSBzaW5jZSAyMDEwLCBidXQgdGhpcyBhcmVhIG5lZWRzIGNvbnRpbnVlZCBpbXByb3ZlbWVudCBpbiBvcmRlciB0byBtZWV0IHRoZSAxMDAlIGxvY2FsIHdhdGVyIHRhcmdldCBieSAyMDIwLlxcblxcblNhbnRhIE1vbmljYeKAmXMgbW9zdCBwcm9taXNpbmcgc29sdXRpb25zIGZvciByZWR1Y2luZyBpbXBvcnRlZCB3YXRlciBhcmUgdGhyb3VnaCBleHBhbmRlZCBzdG9ybXdhdGVyIGFuZCByYWlud2F0ZXIgY2FwdHVyZS4gUmFpbndhdGVyIGhhcnZlc3RpbmcgaXMgYSBsZXNzIHJlbGlhYmxlIG9wdGlvbiBkdWUgdG8gdGhlIGNpc3Rlcm4gc2l6ZSByZXF1aXJlbWVudHMgYW5kIGxhY2sgb2YgaW5jZW50aXZlIGZvciByZXNpZGVudGlhbCBpbnN0YWxsYXRpb24uXFxuXFxuUHJlbGltaW5hcnkgcmVjb21tZW5kYXRpb25zIGZyb20gdGhlIFN1c3RhaW5hYmxlIFdhdGVyIE1hc3RlciBQbGFuIGZvciBleHBhbmRpbmcgZ3JvdW5kd2F0ZXIgcmVzb3VyY2VzIGluY2x1ZGU6XFxuXFxuKiBFeHBhbnNpb24gb2YgdGhlIGV4aXN0aW5nIEFyY2FkaWEgV2F0ZXIgVHJlYXRtZW50IFBsYW50LlxcbiogRGVzaWduIGFuZCBjb25zdHJ1Y3QgdGhlIG5ldyBPbHltcGljIFdhdGVyIFRyZWF0bWVudCBQbGFudCAoR2lsbGV0dGUvQm9laW5nIFNldHRsZW1lbnQgUHJvamVjdCkuXFxuKiBSZWhhYmlsaXRhdGUgb2xkIHdlbGxzIGFuZCBkcmlsbCBhZGRpdGlvbmFsIG5ldyB3ZWxscyBpbiB0aGUgT2x5bXBpYywgQ2hhcm5vY2sgYW5kIENvYXN0YWwgU3ViLWJhc2lucy5cXG4qIERldmVsb3AgYW5kIGltcGxlbWVudCBpbXByb3ZlbWVudHMgaW4gdHJlYXRtZW50IGVmZmljaWVuY3kgdG8gcmVkdWNlIHRoZSBhbW91bnQgb2Ygd2F0ZXIgbG9zdCB0byBicmluZSBkaXNwb3NhbCBkdXJpbmcgdHJlYXRtZW50IChyZWR1Y3Rpb24gb2YgYnJpbmUgd2F0ZXIgbG9zc2VzIGJleW9uZCB0aGUgY3VycmVudCAxOCUpLlxcblxcblswXTogaHR0cDovL3d3dy5zbWdvdi5uZXQvZGVwYXJ0bWVudHMvY291bmNpbC9hZ2VuZGFzLzIwMTQvMjAxNDEwMjgvczIwMTQxMDI4MDgtQy0xLmh0bVwifV0sW3tcInR5cGVcIjpcImltYWdlXCIsXCJzcmNcIjpcIi9hcGkvYXNzZXRzL0MwNUZCRDg5LUQxNjYtNEYwRS04NDM4LTc5REE1MDI0Mjc4NVwifSx7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIqKkhvdyBjYW4gSSBoZWxwL2xlYXJuIG1vcmU/KipcXG5cXG4qIFJldmlldyBDaXR5IHN0cmF0ZWdpZXMgdG8gYmVjb21lIHdhdGVyIHNlbGYtc3VmZmljaWVudCBpbiB0aGUgW1N1c3RhaW5hYmxlIFdhdGVyIE1hc3RlciBQbGFuXVswXS5cXG4qIFJlcGxhY2Ugb2xkIHRvaWxldHMgYW5kIHNob3dlciBoZWFkcyB3aXRoIGhpZ2gtZWZmaWNpZW5jeSBhcHBsaWFuY2VzLiBUb2lsZXQgcmViYXRlcyBhcmUgYXZhaWxhYmxlIGFuZCB0aGUgQ2l0eeKAmXMgT2ZmaWNlIG9mIFN1c3RhaW5hYmlsaXR5IGFuZCB0aGUgRW52aXJvbm1lbnQgcHJvdmlkZXMgZnJlZSBmYXVjZXQgYWVyYXRvcnMgYW5kIHNob3dlciBoZWFkcy4gQ2FsbCAzMTAtNDU4LTg5NzIuXFxuKiBSZXBsYWNlIHlvdXIgbGF3biBhbmQgcGFya3dheXMgd2l0aCBkcm91Z2h0LXRvbGVyYW50IGxhbmRzY2FwaW5nLiBTaWduIHVwIGZvciBhIExhbmRzY2FwZSBEZXNpZ24gQ29uc3VsdGF0aW9uIGFuZCBhcHBseSBmb3IgYSBbU3VzdGFpbmFibGUgTGFuZHNjYXBlIHJlYmF0ZS5dWzFdXFxuKiBVc2UgZHJpcCBpcnJpZ2F0aW9uIG9yIHdlYXRoZXItYmFzZWQgaXJyaWdhdGlvbiBjb250cm9sbGVycyB0byBhZGp1c3QgaXJyaWdhdGlvbiBiYXNlZCBvbiB3ZWF0aGVyIGNvbmRpdGlvbnMuIFtSZWJhdGVzXVsyXSBhcmUgYXZhaWxhYmxlLlxcbiogRmluZCBtb3JlIHdhdGVyLXNhdmluZyB0aXBzIGF0IFtzbWdvdi5uZXQvd2F0ZXJdWzNdLlxcblxcblswXTogaHR0cDovL3d3dy5zbWdvdi5uZXQvZGVwYXJ0bWVudHMvY291bmNpbC9hZ2VuZGFzLzIwMTQvMjAxNDEwMjgvczIwMTQxMDI4MDgtQy0xLmh0bVxcblsxXTogaHR0cDovL3d3dy5zbWdvdi5uZXQvRGVwYXJ0bWVudHMvT1NFL1JlYmF0ZXMvTGFuZHNjYXBlX1JlYmF0ZS5hc3B4XFxuWzJdOiBodHRwOi8vd3d3LnN1c3RhaW5hYmxlc20ub3JnL3JlYmF0ZXNcXG5bM106IGh0dHA6Ly93d3cuc21nb3YubmV0L3dhdGVyXCJ9LHtcInR5cGVcIjpcInZpelwiLFwiZGF0YXNldFwiOlwicjRpcy0yaDY3XCJ9XV19XSxcInVzZV9jdXN0b21fc3VidGl0bGVcIjp0cnVlLFwiY3VzdG9tX3N1YnRpdGxlXCI6XCJUaGlzIGluZGljYXRvciBtZWFzdXJlcyB0aGUgcGVyY2VudCBvZiB3YXRlciBwcm9kdWNlZCBsb2NhbGx5IGNvbXBhcmVkIHRvIGltcG9ydGVkIHdhdGVyLlwiLFwidGl0bGVfaW1hZ2VcIjpcIi9hcGkvYXNzZXRzL0FBNTZDOUIyLUE3RkMtNDBCRS1BMTMxLTIwM0QxRDdGMUEzOVwiLFwidXNlX2N1c3RvbV90aXRsZVwiOnRydWUsXCJjdXN0b21fdGl0bGVcIjpcIkluY3JlYXNlIHdhdGVyIHNvdXJjZWQgbG9jYWxseSB0byAxMDAgcGVyY2VudC5cIn0ifSwicHJldmFpbGluZ19tZWFzdXJlIjp7InN0YXJ0IjoiMjAwMC0wMS0wMVQwMDowMDowMC4wMDAiLCJlbmQiOiIyMDIwLTEyLTMxVDIzOjU5OjU5LjAwMCIsInVuaXQiOiJwZXJjZW50IiwidGFyZ2V0IjoxMDAsInRhcmdldF90eXBlIjoiYWJzb2x1dGUiLCJ0YXJnZXRfZGVsdGFfaXNfcGVyY2VudCI6ZmFsc2UsIm1ldHJpYyI6eyJtZXRhZGF0YSI6IiIsImlkIjoiaHloNC15NXNtIn0sImNvbXBhcmlzb24iOnsiY29tcGFyaXNvbl9mdW5jdGlvbiI6Ij4ifSwibWV0YWRhdGEiOnsibWV0YWRhdGEiOiJ7XCJlZGl0XCI6e1wic3RhcnRcIjp7XCJkYXRlXCI6XCJzdGFydFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDAwfSxcImVuZFwiOntcImRhdGVcIjpcImVuZFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDIwfX0sXCJiYXNlbGluZVwiOntcInNxdWlzaHlcIjp7XCJzdGFydFwiOntcImRhdGVcIjpcInN0YXJ0XCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMTV9LFwiZW5kXCI6e1wiZGF0ZVwiOlwic3RhcnRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAxNX19LFwic3RhcnRcIjpcIjIwMTUtMDEtMDFUMDA6MDA6MDAuMDAwXCIsXCJlbmRcIjpcIjIwMTUtMDEtMDFUMjM6NTk6NTkuMDAwXCIsXCJtZXRyaWNcIjp7XCJtZXRhZGF0YVwiOlwie1xcXCJ3aXphcmRcXFwiOntcXFwiZmlsdGVyX2FzdFxcXCI6W3tcXFwidmFsdWVzXFxcIjpbe31dfV19fVwifX0sXCJuYW1lXCI6XCJ3YXRlciBzb3VyY2VkIGxvY2FsbHlcIn0ifSwidXBkYXRlZF9hdCI6IjIwMTUtMDctMjBUMjI6NDY6NDcuNDgyWiIsImNyZWF0ZWRfYXQiOiIyMDE1LTA1LTI3VDIxOjMwOjUyLjYwOFoiLCJ2ZXJzaW9uIjoiMjAxNS0wNy0yMFQyMjo0Njo0Ny40ODJaIiwiaWQiOiJuZHJiLTVjYXgifSwicmVsYXRlZF9tZWFzdXJlcyI6W3sibWV0YWRhdGEiOiIiLCJpZCI6InNkaHgtd2VwcCJ9XSwiYmFzZV9kYXNoYm9hcmQiOiJuYXZoLWlnZjIiLCJ1cGRhdGVkX2F0IjoiMjAxOS0wOS0wOVQyMTozMDozOS42MTBaIiwiY3JlYXRlZF9hdCI6IjIwMTUtMDEtMzBUMjM6MTY6MjIuNDMyWiIsInZlcnNpb24iOiIyMDE5LTA5LTA5VDIxOjMwOjM5LjYxMFoiLCJjcmVhdGVkX2J5IjoicWJkei1kdHBuIn0seyJpZCI6InFmdDctYWR6ZyIsIm5hbWUiOiJJbmNyZWFzZSBOb24tUG90YWJsZSBXYXRlciBVc2UiLCJpc19wdWJsaWMiOnRydWUsIm1ldGFkYXRhIjp7Im1ldGFkYXRhIjoie1wicmV0aXJlbWVudF9uYXJyYXRpdmVcIjpbXSxcIm5hcnJhdGl2ZVwiOlt7XCJ0eXBlXCI6XCJ0d29Db2xMYXlvdXRcIixcImNvbHVtbnNcIjpbW3tcInR5cGVcIjpcInRleHRcIixcInRleHRcIjpcIioqV2hhdCBpcyB0aGlzIGluZGljYXRvcj8qKlxcblxcbk5vbi1wb3RhYmxlIHdhdGVyIGlzIHdhdGVyIHRoYXQgaGFzIG5vdCBiZWVuIHRyZWF0ZWQgdG8gZHJpbmtpbmcgd2F0ZXIgc3RhbmRhcmRzIGFuZC9vciBhcHByb3ZlZCBmb3IgZHJpbmtpbmcsIGJ1dCBjYW4gYmUgdXNlZCBmb3Igb3RoZXIgcHVycG9zZXMgc3VjaCBhcyB3YXNoaW5nIGFuZCBpcnJpZ2F0aW9uIGRlcGVuZGluZyBvbiBpdHMgcXVhbGl0eS4gSXTigJlzIG9mdGVuIHJlZmVycmVkIHRvIGFzIHJlY3ljbGVkIG9yIHJlY2xhaW1lZCB3YXRlci4gVGhpcyBpbmRpY2F0b3IgbWVhc3VyZXMgdGhlIGFtb3VudCBvZiBub24tcG90YWJsZSB3YXRlciB1c2VkIGluIFNhbnRhIE1vbmljYSBieSBtaWxsaW9ucyBvZiBnYWxsb25zIHBlciB5ZWFyIChNR1kpLlxcblxcbioqV2h5IGlzIGl0IGltcG9ydGFudD8qKlxcblxcblRoZSBDaXR5IG9mIFNhbnRhIE1vbmljYSAoQ2l0eSkgc3VwcGxpZXMgaW1wb3J0ZWQgYW5kIGxvY2FsIHdhdGVyIHRvIGFwcHJveGltYXRlbHkgOTIsMDAwIHJlc2lkZW50cyBjb3ZlcmluZyBhbiBhcmVhIG9mIGFwcHJveGltYXRlbHkgOCBzcXVhcmUgbWlsZXMuIExvb2tpbmcgdG8gaXRzIGZ1dHVyZSwgdGhlIENpdHkgaG9wZXMgdG8gZWxpbWluYXRlIGl0cyByZWxpYWJpbGl0eSBvbiBpbXBvcnRlZCB3YXRlciBieSBhZGRyZXNzaW5nIHRoZSBjaGFsbGVuZ2Ugb2YgZXhpc3RpbmcgZ3JvdW5kd2F0ZXIgcXVhbGl0eSwgaWRlbnRpZnlpbmcgbmV3IHNvdXJjZXMgb2YgbG9jYWwgd2F0ZXIgc3VwcGx5LCBhbmQgbW9yZSBlZmZlY3RpdmVseSByZWR1Y2luZyBhbmQgbWFuYWdpbmcgaXRzIHdhdGVyIGRlbWFuZHMuXFxuXFxuV2l0aCBhbiBhZG9wdGVkIGdvYWwgb2Ygd2F0ZXIgc2VsZi1zdWZmaWNpZW5jeSBhY2hpZXZlZCBieSBlbGltaW5hdGluZyByZWxpYW5jZSBvbiBNZXRyb3BvbGl0YW4gV2F0ZXIgRGlzdHJpY3Qgb2YgU291dGhlcm4gQ2FsaWZvcm5pYSAoTVdEKSBzdXBwbHkgYnkgMjAyMCwgdGhlIENpdHkgb2YgU2FudGEgTW9uaWNhIHJldGFpbmVkIEtlbm5lZHkvSmVua3MgQ29uc3VsdGFudHMgdG8gZGV2ZWxvcCBhIFN1c3RhaW5hYmxlIFdhdGVyIE1hc3RlciBQbGFuLiBUaGlzIE1hc3RlciBQbGFuIGFkZHJlc3NlcyBzdXBwbHkgYW5kIGRlbWFuZCBtYW5hZ2VtZW50IG9wdGlvbnMgdG8gY29zdCBlZmZlY3RpdmVseSByZWR1Y2UgZnV0dXJlIHdhdGVyIGRlbWFuZHMgYW5kIGVuaGFuY2UgbG9jYWwgd2F0ZXIgc3VwcGx5IHByb2R1Y3Rpb24gY2FwYWJpbGl0aWVzLlxcblxcblRoZSBtYWpvcml0eSBvZiB3YXRlciB1c2VkIGluIFNhbnRhIE1vbmljYSBpcyB0cmVhdGVkIHRvIHBvdGFibGUgcXVhbGl0eSwgaW5jbHVkaW5nIHdhdGVyIHRoYXQgZmx1c2hlcyBvdXIgdG9pbGV0cyBhbmQgaXJyaWdhdGVzIG91ciBsYXducy4gVGhpcyBsZXZlbCBvZiB0cmVhdG1lbnQgZm9yIG5vbi1wb3RhYmxlIHB1cnBvc2VzIGlzIHVubmVjZXNzYXJ5IGFuZCB1bnN1c3RhaW5hYmxlLCBwYXJ0aWN1bGFybHkgaW4gdGltZXMgb2YgbG93IHdhdGVyIHN1cHBseSBzdWNoIGFzIGEgZHJvdWdodC4gUmVwbGFjaW5nIHNvbWUgb2YgdGhlIHVubmVjZXNzYXJ5IHVzZXMgb2YgcG90YWJsZSB3YXRlciB3aXRoIG5vbi1wb3RhYmxlIHNvdXJjZXMgd2lsbCBoZWxwIHN1c3RhaW4gY3JpdGljYWwgd2F0ZXIgcmVzb3VyY2VzLlxcblxcbioqSG93IGFyZSB3ZSBkb2luZz8qKlxcblxcbkluIDIwMTUsIG5vbi1wb3RhYmxlIHdhdGVyIHVzZSB0b3RhbGVkIDI2IG1pbGxpb24gZ2FsbG9ucyAoTUcpIGNvbXBhcmVkIHRvIDI0LjUwIE1HIGluIDIwMTAuXFxuXFxuIFxcblxcblNhbnRhIE1vbmljYSBVcmJhbiBSdW5vZmYgJiBSZWN5Y2xpbmcgRmFjaWxpdHkgKFNNVVJSRikgcHJvZHVjZXMgbm9uLXBvdGFibGUgd2F0ZXIgZm9yIHVzZSBpbiBsYW5kc2NhcGUgaXJyaWdhdGlvbiwgYXQgY2l0eSBwYXJrcyBhbmQgY2VtZXRlcmllcywgdG9pbGV0IGZsdXNoaW5nIGFuZCBpbiBzb21lIGNpdHkgZm91bnRhaW5zLCBidXQgdGhpcyB3YXRlciBvbmx5IGFjY291bnRzIGZvciBhcHByb3hpbWF0ZWx5IDElIG9mIHRvdGFsIHdhdGVyIHVzZSAoMjUgTUcpLlxcblxcbkRlc2lnbmVkIHRvIHJvdXRpbmVseSB0cmVhdCAwLjUgbWlsbGlvbiBnYWxsb25zIGRhaWx5IChNR0QpLCB3aXRoIGEgcGVhayB0cmVhdG1lbnQgY2FwYWNpdHkgb2YgMC43NSBNR0QsIHRoZSBTTVVSUkYgcmVtb3ZlcyB1cmJhbiBjb250YW1pbmFudHMgYW5kIHRyZWF0cyB0aGUgaW5mbHVlbnQgd2F0ZXIuIFRoZSB3YXRlciBpcyB0aGVuIHB1bXBlZCB0aHJvdWdoIGEgc2VwYXJhdGUgd2F0ZXIgZGlzdHJpYnV0aW9uIHN5c3RlbSB0byBzZXJ2ZSBhIG51bWJlciBvZiBwYXJrcywgbWVkaWFucywgV29vZGxhd24gQ2VtZXRlcnkgYW5kIHNldmVyYWwgd2F0ZXIgYWNjb3VudHMgd2l0aCBkdWFsLXBsdW1iZWQgYnVpbGRpbmdzIGZvciB0b2lsZXQgZmx1c2hpbmcgYW5kIGlycmlnYXRpb24uXFxuXFxuVGhlIFNNVVJSRiBoYXMgYWxsb3dlZCB0aGUgQ2l0eSB0byBzbGlnaHRseSByZWR1Y2UgaXRzIHJlbGlhbmNlIHVwb24gTVdEIHdhdGVyIGF0IGEgdGltZSB3aGVuIHRoZSBDaXR5IHJlbGllZCBoZWF2aWx5IHVwb24gaW1wb3J0ZWQgd2F0ZXIgZHVlIHRvIHRoZSBsYWNrIG9mIHByb2R1Y3Rpb24gZnJvbSBncm91bmR3YXRlciB3ZWxscy4gSG93ZXZlciwgc2luY2UgZHJ5IHdlYXRoZXIgdXJiYW4gcnVub2ZmIGlzIGFuIHVuc3RhYmxlIHN1cHBseSwgdGhlIGZvY3VzIG9mIHRoaXMgZmFjaWxpdHkgaGFzIGJlZW4gcHJlZG9taW5hbnRseSB3YXRlciBxdWFsaXR5IGltcHJvdmVtZW50cyB0byBTYW50YSBNb25pY2EgQmF5LiBIaXN0b3JpY2FsbHksIFNNVVJSRiBoYXMgaGFkIGFuIGF2ZXJhZ2UgcHJvZHVjdGlvbiBvZiAxNTQgYWNyZS1mb290IHBlciB5ZWFyIChBRlkpLCB3aXRoIGEgaGlnaCBvZiAzNTQgQUYgYW5kIGEgbG93IG9mIDk0IEFGLiBGb3IgcmVzaWRlbnRzIGFuZCBidXNpbmVzc2VzIHRvIHRha2UgZnVydGhlciBhZHZhbnRhZ2Ugb2YgdGhpcyByZWNsYWltZWQgd2F0ZXIsIG1vcmUgaW5mcmFzdHJ1Y3R1cmUgaXMgcmVxdWlyZWQgdGhhbiBpcyBjdXJyZW50bHkgaW4gcGxhY2UuIEFuIGFjcmUtZm9vdCBpcyAzMjUsODUxIGdhbGxvbnMsIGFwcHJveGltYXRlbHkgZXF1aXZhbGVudCB0byBhIGZvb3RiYWxsIGZpZWxkIGNvdmVyZWQgb25lIGZvb3QgZGVlcCBpbiB3YXRlci5cXG5cXG5DdXJyZW50IGVmZm9ydHMgdG8gaW5jcmVhc2UgdGhlIHVzZSBvZiBub24tcG90YWJsZSB3YXRlciBpbmNsdWRlIGlkZW50aWZ5aW5nIGZlYXNpYmxlIG5vbi1wb3RhYmxlIHdhdGVyIHN0b3JhZ2UgZmFjaWxpdGllcyB0byBleHBhbmQgdGhlIG9wZXJhdGlvbmFsIGNhcGFiaWxpdGllcyBvZiBTTVVSUkYgYW5kIGVuY291cmFnaW5nIHRoZSBleHBhbnNpb24gb2YgYSByZWdpb25hbCBub24tcG90YWJsZSBkaXN0cmlidXRpb24gc3lzdGVtIGN1cnJlbnRseSBvcGVyYXRlZCBieSBhIG5laWdoYm9yaW5nIGFnZW5jeS5cXG5cXG5cIn1dLFt7XCJ0eXBlXCI6XCJpbWFnZVwiLFwic3JjXCI6XCIvYXBpL2Fzc2V0cy9FMTQxMUU5OC05NjgxLTRCNzMtQjI2OC02MkVCNTE2MjVCRjhcIn0se1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiKipIb3cgY2FuIHdlIGhlbHA/KipcXG5cXG4qIFJldmlldyB0aGUgW1N1c3RhaW5hYmxlIFdhdGVyIE1hc3RlciBQbGFuXVswXS5cXG4qIFJldmlldyB3YXRlciBzYXZpbmcgdGlwcyBhdCBbc21nb3YubmV0L3dhdGVyXVsxXS5cXG4qIFJldmlldyByZWJhdGVzIGZvciB3YXRlciBzYXZpbmcgZGV2aWNlcyBhbmQgbGFuZHNjYXBlIGF0IFtzdXN0YWluYWJsZXNtLm9yZy9yZWJhdGVzXVsyXS5cXG5cXG5bMF06IGh0dHA6Ly93d3cuc21nb3YubmV0L2RlcGFydG1lbnRzL2NvdW5jaWwvYWdlbmRhcy8yMDE0LzIwMTQxMDI4L3MyMDE0MTAyODA4LUMtMS5odG1cXG5bMV06IGh0dHA6Ly9zbWdvdi5uZXQvd2F0ZXJcXG5bMl06IGh0dHA6Ly9zdXN0YWluYWJsZXNtLm9yZy9yZWJhdGVzXCJ9LHtcInR5cGVcIjpcInZpelwiLFwiZGF0YXNldFwiOlwiZmg3cC01eW11XCJ9XV19XSxcInVzZV9jdXN0b21fc3VidGl0bGVcIjp0cnVlLFwiY3VzdG9tX3N1YnRpdGxlXCI6XCJUaGlzIGluZGljYXRvciBtZWFzdXJlcyBVc2Ugb2YgTm9uLVBvdGFibGUgV2F0ZXIgaW4gTUdZLlwiLFwidGl0bGVfaW1hZ2VcIjpcIi9hcGkvYXNzZXRzLzA2NjA1RkM0LTlENUQtNDI5OS04MTA4LTkyRjcyMjgwQzcxOFwiLFwidXNlX2N1c3RvbV90aXRsZVwiOnRydWUsXCJjdXN0b21fdGl0bGVcIjpcIk1haW50YWluIHVzZSBvZiBub24tcG90YWJsZSB3YXRlciBhYm92ZSAzMSBtaWxsaW9uIGdhbGxvbnMgcGVyIHllYXJcIn0ifSwicHJldmFpbGluZ19tZWFzdXJlIjp7InN0YXJ0IjoiMjAwMC0wMS0wMVQwMDowMDowMC4wMDAiLCJlbmQiOiIyMDIwLTEyLTMxVDIzOjU5OjU5LjAwMCIsInVuaXQiOiJtaWxsaW9uIGdhbGxvbnMgcGVyIHllYXIiLCJ0YXJnZXQiOjI1LCJ0YXJnZXRfdHlwZSI6InJlbGF0aXZlIiwidGFyZ2V0X2RlbHRhIjowLCJ0YXJnZXRfZGVsdGFfaXNfcGVyY2VudCI6ZmFsc2UsImJhc2VsaW5lIjozMSwibWV0cmljIjp7Im1ldGFkYXRhIjoiIiwiaWQiOiJhOThyLXJneWQifSwiY29tcGFyaXNvbiI6eyJjb21wYXJpc29uX2Z1bmN0aW9uIjoiPiJ9LCJtZXRhZGF0YSI6eyJtZXRhZGF0YSI6IntcImVkaXRcIjp7XCJzdGFydFwiOntcImRhdGVcIjpcInN0YXJ0XCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMDB9LFwiZW5kXCI6e1wiZGF0ZVwiOlwiZW5kXCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMjB9LFwiYWN0aW9uX3R5cGVcIjpcIm1haW50YWluXCIsXCJtYWludGFpbl90eXBlXCI6XCI+XCJ9LFwiYmFzZWxpbmVcIjp7XCJzcXVpc2h5XCI6e1wic3RhcnRcIjp7XCJkYXRlXCI6XCJzdGFydFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDE1fSxcImVuZFwiOntcImRhdGVcIjpcInN0YXJ0XCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMTV9fSxcInN0YXJ0XCI6XCIyMDE1LTAxLTAxVDAwOjAwOjAwLjAwMFwiLFwiZW5kXCI6XCIyMDE1LTAxLTAxVDIzOjU5OjU5LjAwMFwiLFwibWV0cmljXCI6e1wibWV0YWRhdGFcIjpcIntcXFwid2l6YXJkXFxcIjp7XFxcImZpbHRlcl9hc3RcXFwiOlt7XFxcInZhbHVlc1xcXCI6W3t9XX1dfX1cIn19LFwibmFtZVwiOlwidXNlIG9mIG5vbi1wb3RhYmxlIHdhdGVyXCJ9In0sInVwZGF0ZWRfYXQiOiIyMDE1LTA3LTE3VDE5OjU1OjU4LjQxMVoiLCJjcmVhdGVkX2F0IjoiMjAxNS0wNS0yN1QyMTo0Mjo1OS41NjJaIiwidmVyc2lvbiI6IjIwMTUtMDctMTdUMTk6NTU6NTguNDExWiIsImlkIjoiaWp5di1jZzRrIn0sInJlbGF0ZWRfbWVhc3VyZXMiOltdLCJiYXNlX2Rhc2hib2FyZCI6Im5hdmgtaWdmMiIsInVwZGF0ZWRfYXQiOiIyMDE2LTA0LTE5VDE2OjU5OjExLjg0OFoiLCJjcmVhdGVkX2F0IjoiMjAxNS0wMS0zMFQyMzoxNjoyMi40MzNaIiwidmVyc2lvbiI6IjIwMTYtMDQtMTlUMTY6NTk6MTEuODQ4WiIsImNyZWF0ZWRfYnkiOiI0c215LWNtazIifV0sInZlcnNpb24iOiIyMDE1LTA2LTMwVDIzOjI5OjUwLjE1N1oifSx7ImlkIjoiZGlneS1idmN1IiwibmFtZSI6IkVuZXJneSBVc2UiLCJnb2FscyI6W3siaWQiOiI0ZXhuLWZ6cnQiLCJuYW1lIjoiUmVkdWNlIENpdHl3aWRlIEVuZXJneSBVc2UgIiwiaXNfcHVibGljIjp0cnVlLCJtZXRhZGF0YSI6eyJtZXRhZGF0YSI6IntcInJldGlyZW1lbnRfbmFycmF0aXZlXCI6W10sXCJuYXJyYXRpdmVcIjpbe1widHlwZVwiOlwidHdvQ29sTGF5b3V0XCIsXCJjb2x1bW5zXCI6W1t7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIqKldoYXQgaXMgdGhpcyBpbmRpY2F0b3I/KipcXG5cXG5UaGlzIGluZGljYXRvciBtZWFzdXJlcyB0b3RhbCBhbm51YWwgZWxlY3RyaWNpdHkgdXNlIChrV2gpIGFuZCBjb25zaXN0cyBvZiB0aGUgcmVzaWRlbnRpYWwsIGNvbW1lcmNpYWwgYW5kIGluZHVzdHJpYWwgc2VjdG9ycy4gTmF0dXJhbCBnYXMgaXMgYWxzbyB0cmFja2VkIGluIGFubnVhbCB0aGVybXMgdXNlZCBieSB0aGUgc2FtZSBzZWN0b3JzLiBUaGUgdGFyZ2V0IGlzIGEgMTAlIHJlZHVjdGlvbiBmcm9tIDIwMTAgbGV2ZWxzIGJ5IDIwMjAuXFxuXFxuKipXaHkgaXMgdGhpcyBpbXBvcnRhbnQ/KipcXG5cXG4gUmVzaWRlbnRpYWwgZWxlY3RyaWNpdHkgdXNhZ2UgYWNjb3VudHMgZm9yIDMwJSBvZiBhbGwgZWxlY3RyaWNpdHkgY29uc3VtZWQgaW4gU2FudGEgTW9uaWNhLiBFbGVjdHJpY2l0eSB1c2UgZnJvbSB0aGUgcmVzaWRlbnRpYWwgYW5kIGNvbW1lcmNpYWwgc2VjdG9ycyBhY2NvdW50IGZvciBvdmVyIDUwJSBvZiBncmVlbmhvdXNlIGdhcyBlbWlzc2lvbnMgZ2VuZXJhdGVkIGluIHRoZSBjb21tdW5pdHkuXFxuXFxuTW9zdCBvZiBvdXIgZWxlY3RyaWNpdHkgY29tZXMgZnJvbSB0aGUgYnVybmluZyBvZiBvaWwgb3IgY29hbCwgd2hpY2ggYXJlIHBvbGx1dGluZyBhbmQgbm9uLXJlbmV3YWJsZSByZXNvdXJjZXMgdGhhdCBnZW5lcmF0ZSBncmVlbmhvdXNlIGdhcyBlbWlzc2lvbnMuIFJlZHVjaW5nIGVuZXJneSB1c2FnZSBhbmQgY2xlYW5pbmcgb3VyIGVuZXJneSBzb3VyY2VzIGFyZSBpbXBvcnRhbnQgdG8gbGltaXRpbmcgZ3JlZW5ob3VzZSBnYXNlcyBhbmQgY2xpbWF0ZSBjaGFuZ2UuXFxuXFxuKipIb3cgYXJlIHdlIGRvaW5nPyoqXFxuXFxuRW5lcmd5IGNvbnNlcnZhdGlvbiBtZWFzdXJlcyBoYXZlIGJlZW4gbGFyZ2VseSBzdWNjZXNzZnVsIGFuZCBlbmVyZ3kgdXNlIGluIHRoZSBjaXR5IHJlbWFpbnMgc3RhYmxlLCBkZXNwaXRlIGluY3JlYXNlcyBpbiBwb3B1bGF0aW9uIGFuZCBkZXZlbG9wbWVudC4gRWxlY3RyaWNpdHkgdXNlIHdhcyBzdGVhZGlseSBkZWNsaW5pbmcgdW50aWwgMjAxMywgZHVlIHRvIGltcHJvdmVtZW50cyBpbiBsaWdodGluZyB0ZWNobm9sb2d5IGFuZCBlbmVyZ3kgZWZmaWNpZW50IGVxdWlwbWVudCwgYnV0IGhhcyBzaW5jZSBiZWVuIG9uIHRoZSByaXNlIGR1ZSB0byBhbiBpbmNyZWFzZSBpbiBlbGVjdHJpY2l0eSB1c2VkIGluIGxhcmdlIGNvbW1lcmNpYWwgYnVpbGRpbmdzLiBOYXR1cmFsIGdhcyB1c2UgaGFzIHJlbWFpbmVkIGNvbnN0YW50IG92ZXIgdGhlIHllYXJzLCBhcyBnYXMtcmVsYXRlZCBlcXVpcG1lbnQgYW5kIHN5c3RlbXMgYXJlIHR5cGljYWxseSBsYXJnZXIgaW52ZXN0bWVudHMgd2l0aCBsb25nZXIgbGlmZXNwYW5zLlxcblxcbiBUbyByZWFjaCB0aGUgMTAlIHJlZHVjdGlvbiB0YXJnZXQgb2YgNzM4LDUzMCBNV2ggYnkgMjAyMCwgdGhlIGNpdHkgbmVlZHMgdG8gY29udGludWUgcHJvbW90aW5nIGVuZXJneSBjb25zZXJ2YXRpb24gc3RyYXRlZ2llcyBhbmQgaW5jZW50aXZpemluZyBlZmZpY2llbnQgZW5lcmd5IHNvdXJjZXMgYW5kIGFwcGxpYW5jZXMgLlxcblxcblwifV0sW3tcInR5cGVcIjpcImltYWdlXCIsXCJzcmNcIjpcIi9hcGkvYXNzZXRzLzdFRUYwMkUyLUZFNzgtNEQ0MC1CMDQzLTk1QzdERUM0QTA5RVwifSx7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIqKkhvdyBjYW4gd2UgaGVscD8qKlxcblxcbkF2YWlsYWJsZSByZXNvdXJjZXMgdG8gaGVscCByZWR1Y2UgZWxlY3RyaWNpdHkgdXNlIGluIGJ1aWxkaW5ncyBpbmNsdWRlOlxcblxcbiogW0VuZXJneSBVcGdyYWRlIENhbGlmb3JuaWHigJlzIEhvbWUgRW5lcmd5IFVwZ3JhZGVdWzBdLCB3aGljaCBvZmZlcnMgU291dGhlcm4gQ2FsaWZvcm5pYSBFZGlzb24gYW5kIFNvQ2FsR2FzIGN1c3RvbWVycyByZWJhdGVzIHVwIHRvICQzLDAwMCBmb3IgcXVhbGlmeWluZyBlbmVyZ3kgZWZmaWNpZW5jeSB1cGdyYWRlcy5cXG4qIFtQQUNFIEZpbmFuY2luZyBQcm9ncmFtXVsxXSBwdXRzIHNvbGFyIGFuZCBlZmZpY2llbmN5IHdpdGhpbiByZWFjaCBieSBoZWxwaW5nIGN1c3RvbWVycyBmaW5hbmNlIGVuZXJneSBlZmZpY2llbnQgcHJvZHVjdHMuXFxuKiBbVGhlIEVuZXJneSBTYXZpbmcgQXNzaXN0YW5jZSBQcm9ncmFtXVsyXSBpcyBhIGZyZWUgcHJvZ3JhbSB0byBoZWxwIGluY29tZS1xdWFsaWZpZWQgcmVzaWRlbnRzIHNhdmUgZW5lcmd5IGFuZCBtb25leSBvbiBtb250aGx5IHV0aWxpdHkgYmlsbHMuXFxuKiBbU29sYXIgU2FudGEgTW9uaWNhXVszXSBpcyBhIGZyZWUgc2VydmljZSB0aGF0IGNvbm5lY3RzIHJlc2lkZW50cyBhbmQgYnVzaW5lc3NlcyBpbnRlcmVzdGVkIGluIGdvaW5nIHNvbGFyIHdpdGggZXhwZXJ0cyB3aG8gcHJvdmlkZSB0ZWNobmljYWwgYWR2aWNlIHRvIGhlbHAgbmF2aWdhdGUgdGhlIHByb2Nlc3MuXFxuXFxuWzBdOiBodHRwOi8vdGVucmVzLmNvbS9ob21lLXVwZ3JhZGUvXFxuWzFdOiBodHRwczovL2hlcm9wcm9ncmFtLmNvbS9zYW50YW1vbmljYVxcblsyXTogaHR0cDovL3d3dy5zbWdvdi5uZXQvZGVwYXJ0bWVudHMvb3NlL2NhdGVnb3JpZXMvZm9ybS5hc3B4P2VrZnJtPTUwNjU0XFxuWzNdOiBodHRwOi8vd3d3LnNtZ292Lm5ldC9EZXBhcnRtZW50cy9PU0UvY2F0ZWdvcmllcy9zb2xhci5hc3B4XCJ9LHtcInR5cGVcIjpcInZpelwiLFwiZGF0YXNldFwiOlwicHY3eC1pNWhzXCJ9XV19LHtcInR5cGVcIjpcInR3b0NvbExheW91dFwiLFwiY29sdW1uc1wiOltbe1widHlwZVwiOlwidml6XCIsXCJkYXRhc2V0XCI6XCJwMzc5LXBqdDhcIn1dLFt7XCJ0eXBlXCI6XCJ2aXpcIixcImRhdGFzZXRcIjpcImI3MnQtanVmZVwifV1dfV0sXCJ0aXRsZV9pbWFnZVwiOlwiL2FwaS9hc3NldHMvM0FFNDNDQjEtODg0MC00RTI3LUFCRjAtMjQxQzhCMzM0RUY3XCIsXCJ1c2VfY3VzdG9tX3RpdGxlXCI6dHJ1ZSxcImN1c3RvbV90aXRsZVwiOlwiUmVkdWNlIGNpdHl3aWRlIGVuZXJneSB1c2UgYnkgMTAlXCIsXCJ1c2VfY3VzdG9tX3N1YnRpdGxlXCI6dHJ1ZSxcImN1c3RvbV9zdWJ0aXRsZVwiOlwiVGhpcyBpbmRpY2F0b3IgbWVhc3VyZXMgdG90YWwgZWxlY3RyaWNpdHkgdXNlZCBhbm51YWxseSBpbiBTYW50YSBNb25pY2EgaW4ga1doLlwiLFwiaWNvblwiOlwiXCJ9In0sInByZXZhaWxpbmdfbWVhc3VyZSI6eyJzdGFydCI6IjIwMTAtMDEtMDFUMDA6MDA6MDAuMDAwIiwiZW5kIjoiMjAyMC0xMi0zMVQyMzo1OTo1OS4wMDAiLCJ1bml0IjoiYW5udWFsIGtXaCIsInRhcmdldCI6NzM4NTI5OTU2LjksInRhcmdldF90eXBlIjoiYWJzb2x1dGUiLCJ0YXJnZXRfZGVsdGFfaXNfcGVyY2VudCI6ZmFsc2UsIm1ldHJpYyI6eyJtZXRhZGF0YSI6IiIsImlkIjoiYTlrNi1zN2NyIn0sImNvbXBhcmlzb24iOnsiY29tcGFyaXNvbl9mdW5jdGlvbiI6IjwifSwibWV0YWRhdGEiOnsibWV0YWRhdGEiOiJ7XCJlZGl0XCI6e1wic3RhcnRcIjp7XCJkYXRlXCI6XCJzdGFydFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDEwfSxcImVuZFwiOntcImRhdGVcIjpcImVuZFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDIwfSxcImFjdGlvbl90eXBlXCI6XCJyZWR1Y2VcIn0sXCJiYXNlbGluZVwiOntcInNxdWlzaHlcIjp7XCJzdGFydFwiOntcImRhdGVcIjpcInN0YXJ0XCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMTR9LFwiZW5kXCI6e1wiZGF0ZVwiOlwic3RhcnRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAxNH19LFwic3RhcnRcIjpcIjIwMTQtMDEtMDFUMDA6MDA6MDAuMDAwXCIsXCJlbmRcIjpcIjIwMTQtMDEtMDFUMjM6NTk6NTkuMDAwXCIsXCJtZXRyaWNcIjp7XCJtZXRhZGF0YVwiOlwie1xcXCJ3aXphcmRcXFwiOntcXFwiZmlsdGVyX2FzdFxcXCI6W3tcXFwidmFsdWVzXFxcIjpbe31dfV19fVwifX0sXCJuYW1lXCI6XCJUb3RhbCBFbmVyZ3kgVXNlIGluIHRoZSBDb21tdW5pdHlcIn0ifSwidXBkYXRlZF9hdCI6IjIwMTYtMDItMDhUMjI6MTM6MDMuMzk2WiIsImNyZWF0ZWRfYXQiOiIyMDE0LTEyLTE3VDE5OjQ3OjU2Ljg5N1oiLCJ2ZXJzaW9uIjoiMjAxNi0wMi0wOFQyMjoxMzowMy4zOTZaIiwidGFyZ2V0X3RvbGVyYW5jZSI6MTAwMDAwMCwiaWQiOiJ0NDJ5LXdjOHkifSwicmVsYXRlZF9tZWFzdXJlcyI6W3sibWV0YWRhdGEiOiIiLCJpZCI6Imc3NjgtNzg1YSJ9XSwiYmFzZV9kYXNoYm9hcmQiOiJuYXZoLWlnZjIiLCJ1cGRhdGVkX2F0IjoiMjAxNi0wNC0xM1QxNTo1NDozNi4xNjNaIiwiY3JlYXRlZF9hdCI6IjIwMTQtMTItMDVUMTg6NTE6NTcuMTk3WiIsInZlcnNpb24iOiIyMDE2LTA0LTEzVDE1OjU0OjM2LjE2M1oiLCJjcmVhdGVkX2J5IjoibnR1Ni1rdnNiIn0seyJpZCI6IjVheXotd3YyaCIsIm5hbWUiOiJSZWR1Y2UgTXVuaWNpcGFsIEVuZXJneSBVc2UiLCJpc19wdWJsaWMiOnRydWUsIm1ldGFkYXRhIjp7Im1ldGFkYXRhIjoie1wicmV0aXJlbWVudF9uYXJyYXRpdmVcIjpbXSxcIm5hcnJhdGl2ZVwiOlt7XCJ0eXBlXCI6XCJ0d29Db2xMYXlvdXRcIixcImNvbHVtbnNcIjpbW3tcInR5cGVcIjpcInRleHRcIixcInRleHRcIjpcIioqV2hhdCBpcyB0aGlzIGluZGljYXRvcj8qKlxcblxcblRoaXMgaW5kaWNhdG9yIG1lYXN1cmVzIHRvdGFsIGVsZWN0cmljaXR5IHVzZWQgaW4gbXVuaWNpcGFsIGJ1aWxkaW5ncyBhbmQgZmFjaWxpdGllcyBpbiBraWxvd2F0dCBob3Vycy4gVGhlIENpdHkgaXMgYWxzbyB0cmFja2luZyBuYXR1cmFsIGdhcyB1c2FnZSBhbmQgdmVoaWNsZSBmdWVsIHVzZS5cXG5cXG4qKldoeSBpcyBpdCBpbXBvcnRhbnQ/KipcXG5cXG5BbHRob3VnaCB0aGUgQ2l0eSBwcm9jdXJlcyBncmVlbiBwb3dlciB0aHJvdWdoIHJlbmV3YWJsZSBlbmVyZ3kgY3JlZGl0cyAoUkVDcyksIHJlZHVjaW5nIHBvd2VyIGNvbnN1bXB0aW9uIGhlbHBzIGxvd2VyIHV0aWxpdHkgYW5kIG1haW50ZW5hbmNlIGNvc3RzIGFuZCBwcm92aWRlcyBhIHNpZ25hbCB0byB0aGUgZW5lcmd5IGVmZmljaWVuY3kgbWFya2V0LiBBcyBhbiBvcGVyYXRvciBvZiBtYWpvciBjb21tdW5pdHkgaW5zdGl0dXRpb25zIGFuZCBjcml0aWNhbCBmYWNpbGl0aWVzLCBsaWtlIHdhdGVyIHN1cHBseSBhbmQgcHVibGljIHNhZmV0eSwgcmVkdWNpbmcgbXVuaWNpcGFsIGVuZXJneSBkZW1hbmQgd2lsbCBzdWJzdGFudGlhbGx5IGltcHJvdmUgdGhlIENpdHnigJlzIGFiaWxpdHkgdG8gb3BlcmF0ZSBpbmRlcGVuZGVudGx5IGZyb20gdGhlIGdyaWQgYW5kIGxvd2VyIGNvc3RzLiBJbiBvcmRlciB0byBkZW1vbnN0cmF0ZSBsZWFkZXJzaGlwLCB0aGUgQ2l0eSBtdXN0IGNvbW1pdCB0byBhZ2dyZXNzaXZlbHkgcmVkdWNpbmcgZWxlY3RyaWNpdHkgY29uc3VtcHRpb24uXFxuXFxuKipIb3cgYXJlIHdlIGRvaW5nPyoqXFxuXFxuU2luY2UgMjAxMSwgZWxlY3RyaWNpdHkgY29uc3VtcHRpb24gaGFzIGluY3JlYXNlZCBzbGlnaHRseS4gV2hpbGUgdGhlIENpdHkgaGFzIHB1cnN1ZWQgZW5lcmd5IGVmZmljaWVuY3ksIGl0IGhhcyBhbHNvIHJlY2VudGx5IGFkZGVkIG9yIGV4cGFuZGVkIG5ldyBlbmVyZ3ktaW50ZW5zaXZlIGZhY2lsaXRpZXMgbGlrZSB0aGUgQXJjYWRpYSBXYXRlciBUcmVhdG1lbnQgUGxhbiwgUGljbyBCcmFuY2ggTGlicmFyeSwgUGFya2luZyBTdHJ1Y3R1cmUgNiBhbmQgVG9uZ3ZhIFBhcmsuXFxuXFxuVGhpcyBleHBhbnNpb24gc2VydmljZXMgYW5kIGZhY2lsaXRpZXMgd2lsbCBjaGFsbGVuZ2UgdGhlIENpdHkncyBhYmlsaXR5IHRvIHJlZHVjZSBpdHMgb3duIGVuZXJneSB1c2UsIGhvd2V2ZXIsIHRoZSBuZXQgZ2FpbiBmcm9tIHRoZSBjb21tdW5pdHkgYmVuZWZpdHMgb3Igb3RoZXIgc3VzdGFpbmFiaWxpdHkgaW5pdGlhdGl2ZXMsIGxpa2Ugd2F0ZXIgc2VsZi1zdWZmaWNpZW5jeSwgd2lsbCBiZSBtdWNoIGxhcmdlci5cXG5cXG5cIn1dLFt7XCJ0eXBlXCI6XCJpbWFnZVwiLFwic3JjXCI6XCIvYXBpL2Fzc2V0cy85MkE0MDJDNi00ODY0LTQyNTMtQTJGQi02NjlBQkFBOTIwNzFcIn0se1widHlwZVwiOlwidml6XCIsXCJkYXRhc2V0XCI6XCJ0c3ozLTZ1dXFcIn1dXX1dLFwidXNlX2N1c3RvbV90aXRsZVwiOnRydWUsXCJjdXN0b21fdGl0bGVcIjpcIlJlZHVjZSBtdW5pY2lwYWwgZW5lcmd5IHVzZSBieSAxMCBwZXJjZW50XCIsXCJ1c2VfY3VzdG9tX3N1YnRpdGxlXCI6dHJ1ZSxcImN1c3RvbV9zdWJ0aXRsZVwiOlwiVGhpcyBpbmRpY2F0b3IgbWVhc3VyZXMgbXVuaWNpcGFsIGVuZXJneSB1c2UgaW4ga1doLlwiLFwidGl0bGVfaW1hZ2VcIjpcIi9hcGkvYXNzZXRzLzMwMzlFQjMyLUFGRjctNDk0Mi1CNEY1LUQ3NUZENEE3Q0U1NlwifSJ9LCJwcmV2YWlsaW5nX21lYXN1cmUiOnsic3RhcnQiOiIxOTkwLTAxLTAxVDAwOjAwOjAwLjAwMCIsImVuZCI6IjIwMjAtMTItMzFUMjM6NTk6NTkuMDAwIiwidW5pdCI6ImFubnVhbCBrV2giLCJ0YXJnZXRfdHlwZSI6InJlbGF0aXZlIiwidGFyZ2V0X2RlbHRhIjo0MzczNzgsInRhcmdldF9kZWx0YV9pc19wZXJjZW50IjpmYWxzZSwiYmFzZWxpbmUiOjQzNzMxODEzLCJtZXRyaWMiOnsibWV0YWRhdGEiOiIiLCJpZCI6ImpyZDktdWJiNyJ9LCJjb21wYXJpc29uIjp7ImNvbXBhcmlzb25fZnVuY3Rpb24iOiI8In0sIm1ldGFkYXRhIjp7Im1ldGFkYXRhIjoie1wiZWRpdFwiOntcInN0YXJ0XCI6e1wiZGF0ZVwiOlwic3RhcnRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MTk5MH0sXCJlbmRcIjp7XCJkYXRlXCI6XCJlbmRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAyMH0sXCJhY3Rpb25fdHlwZVwiOlwicmVkdWNlXCIsXCJ0YXJnZXRfdHlwZVwiOlwicmVsYXRpdmVcIn0sXCJiYXNlbGluZVwiOntcInNxdWlzaHlcIjp7XCJzdGFydFwiOntcImRhdGVcIjpcInN0YXJ0XCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMTV9LFwiZW5kXCI6e1wiZGF0ZVwiOlwic3RhcnRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAxNX19LFwic3RhcnRcIjpcIjIwMTUtMDEtMDFUMDA6MDA6MDAuMDAwXCIsXCJlbmRcIjpcIjIwMTUtMDEtMDFUMjM6NTk6NTkuMDAwXCIsXCJtZXRyaWNcIjp7XCJtZXRhZGF0YVwiOlwie1xcXCJ3aXphcmRcXFwiOntcXFwiZmlsdGVyX2FzdFxcXCI6W3tcXFwidmFsdWVzXFxcIjpbe31dfV19fVwifX0sXCJuYW1lXCI6XCJtdW5pY2lwYWwgZW5lcmd5IHVzZVwifSJ9LCJ1cGRhdGVkX2F0IjoiMjAxNS0wNy0xNVQyMjowMzoxNC42NDFaIiwiY3JlYXRlZF9hdCI6IjIwMTUtMDYtMzBUMjM6NTE6NDMuODk1WiIsInZlcnNpb24iOiIyMDE1LTA3LTE1VDIyOjAzOjE0LjY0MVoiLCJpZCI6IjJkd2UtanNhayJ9LCJyZWxhdGVkX21lYXN1cmVzIjpbXSwiYmFzZV9kYXNoYm9hcmQiOiJuYXZoLWlnZjIiLCJ1cGRhdGVkX2F0IjoiMjAxNi0wNC0xM1QxNTo1NjowNC4zOTdaIiwiY3JlYXRlZF9hdCI6IjIwMTUtMDEtMzBUMjM6MjE6MzkuNTM0WiIsInZlcnNpb24iOiIyMDE2LTA0LTEzVDE1OjU2OjA0LjM5N1oiLCJjcmVhdGVkX2J5IjoibnR1Ni1rdnNiIn1dLCJ2ZXJzaW9uIjoiMjAxNi0wNC0wN1QxODoyMDo1OC43NTVaIn0seyJpZCI6Im13aTctaWlpYyIsIm5hbWUiOiJSZW5ld2FibGUgRW5lcmd5IFVzZSIsImdvYWxzIjpbeyJpZCI6Inc2ZWYtZm14ayIsIm5hbWUiOiJJbmNyZWFzZSBSZW5ld2FibGUgRW5lcmd5IFN1cHBseSIsImlzX3B1YmxpYyI6dHJ1ZSwibWV0YWRhdGEiOnsibWV0YWRhdGEiOiJ7XCJyZXRpcmVtZW50X25hcnJhdGl2ZVwiOltdLFwibmFycmF0aXZlXCI6W3tcInR5cGVcIjpcInR3b0NvbExheW91dFwiLFwiY29sdW1uc1wiOltbe1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiKipXaGF0IGlzIHRoaXMgaW5kaWNhdG9yPyoqXFxuXFxuVGhpcyBpbmRpY2F0b3IgbWVhc3VyZXMgdGhlIHBlcmNlbnRhZ2Ugb2YgZWxlY3RyaWNpdHkgdGhhdCBpcyBmcm9tIHJlbmV3YWJsZSByZXNvdXJjZXMgcHJvdmlkZWQgYnkgU291dGhlcm4gQ2FsaWZvcm5pYSBFZGlzb24gYW5kIHByb2R1Y2VkIGZyb20gbG9jYWxseS1pbnN0YWxsZWQgc29sYXIuIFNvdXRoZXJuIENhbGlmb3JuaWEgRWRpc29uIHB1YmxpY2x5IHJlcG9ydHMgaXRzIGFubnVhbCBQb3dlciBDb250ZW50IE1peCB0byB0aGUgW0NhbGlmb3JuaWEgRW5lcmd5IENvbW1pc3Npb25dWzBdLlxcblxcbioqV2h5IGlzIGl0IGltcG9ydGFudD8qKlxcblxcbkVsZWN0cmljaXR5IHVzZWQgYXQgaG9tZSBvciBhdCB3b3JrIGdlbmVyYXRlIGdyZWVuaG91c2UgZ2FzIGVtaXNzaW9ucyBmcm9tIGZvc3NpbC1mdWVsZWQgcGxhbnRzLiBSZWR1Y2luZyBlbmVyZ3kgdXNlIGFuZCBpbmNyZWFzaW5nIHJlbmV3YWJsZSBzb3VyY2VzIG9mIGVsZWN0cmljaXR5IGxpa2Ugd2luZCwgZ2VvdGhlcm1hbCBhbmQgc29sYXIsIHdpbGwgaGVscCBhdm9pZCBlbWlzc2lvbnMgdGhhdCBjYXVzZSBnbG9iYWwgd2FybWluZy5cXG5cXG4qKkhvdyBhcmUgd2UgZG9pbmc/KipcXG5cXG5JbnZlc3Rvci1Pd25lZCBVdGlsaXRpZXMgYXJlIHJlcXVpcmVkIHRvIG1lZXQgdGhlIFN0YXRlJ3MgdGFyZ2V0cyBvZiAzMyUgcmVuZXdhYmxlIGJ5IDIwMjAgYW5kIDUwJSByZW5ld2FibGUgYnkgMjAzMC4gRGVzcGl0ZSB0aGUgcHJvZ3Jlc3MgdG93YXJkIGEgbGFyZ2VyIHJlbmV3YWJsZSBwb3J0Zm9saW8sIHRoZSBpbXBhY3Qgb24gdGhlIGdyaWTigJlzIGVtaXNzaW9uIGZhY3RvciBoYXMgYmVlbiB1bmRlY2lkZWQuIFRoZSBjbG9zdXJlIG9mIFNDReKAmXMgbGFyZ2VzdCBudWNsZWFyIGZhY2lsaXR5IGluIFNhbiBPbm9mcmUsIHVuZXhwZWN0ZWRseSBmb3JjZWQgdGhlIHV0aWxpdHkgdG8gc2VlayBvdXQgYnJvd24gcG93ZXIgZnJvbSB2YXJpb3VzIHNvdXJjZXMuXFxuXFxuTG9jYWxseS1pbnN0YWxsZWQgc29sYXIgYWNjb3VudHMgZm9yIGEgdmVyeSBzbWFsbCBwb3J0aW9uIG9mIHRoZSBDaXR5J3MgdG90YWwgZGVtYW5kLCBzdGlsbCBsZWF2aW5nIGEgbGFyZ2UgcG90ZW50aWFsIGZvciBsb2NhbCBjbGVhbiBwb3dlci5cXG5cXG5bMF06IGh0dHA6Ly93d3cuZW5lcmd5LmNhLmdvdi9zYjEzMDUvbGFiZWxzL1wifV0sW3tcInR5cGVcIjpcImltYWdlXCIsXCJzcmNcIjpcIi9hcGkvYXNzZXRzL0ExNDNEMTNELUVGMEUtNEQ4MS1BRDJCLUFGNTIxNTM4RTQ4RVwifSx7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIqKkhvdyBjYW4gSSBoZWxwPyoqXFxuXFxuKiBWaXNpdCBbc3VzdGFpbmFibGVzbS5vcmcvZW5lcmd5XVswXSB0byBsZWFybiBob3cgeW91IGNhbiByZWR1Y2UgeW91ciBlbmVyZ3kgdXNhZ2UgYXQgaG9tZSBhbmQgYXQgd29yay5cXG4qIFZpc2l0IFtzb2xhcnNhbnRhbW9uaWNhLmNvbV1bMV0gYW5kIGNvbnNpZGVyIGdvaW5nIHNvbGFyLlxcblxcblswXTogaHR0cDovL3d3dy5zdXN0YWluYWJsZXNtLm9yZy9lbmVyZ3lcXG5bMV06IGh0dHA6Ly93d3cuc29sYXJzYW50YW1vbmljYS5jb21cIn1dXX1dLFwidXNlX2N1c3RvbV90aXRsZVwiOnRydWUsXCJjdXN0b21fdGl0bGVcIjpcIkluY3JlYXNlIHBlcmNlbnRhZ2Ugb2YgcmVuZXdhYmxlIGVsZWN0cmljaXR5IHNvdXJjZXMgdG8gNTAgcGVyY2VudC5cIixcInVzZV9jdXN0b21fc3VidGl0bGVcIjp0cnVlLFwiY3VzdG9tX3N1YnRpdGxlXCI6XCJUaGlzIGluZGljYXRvciBtZWFzdXJlcyBTb3V0aGVybiBDYWxpZm9ybmlhIEVkaXNvbidzIHJlbmV3YWJsZSBzb3VyY2VzIG9mIGVsZWN0cmljaXR5IGFuZCBsb2NhbGx5IGluc3RhbGxlZCBzb2xhci5cIixcInRpdGxlX2ltYWdlXCI6XCIvYXBpL2Fzc2V0cy82Mzk0NjE3NS01QjBELTQ2RTMtOUMzNy00OERGMjMzOTM5MTlcIn0ifSwicHJldmFpbGluZ19tZWFzdXJlIjp7InN0YXJ0IjoiMjAwNy0wMS0wMVQwMDowMDowMC4wMDAiLCJlbmQiOiIyMDIwLTEyLTMxVDIzOjU5OjU5LjAwMCIsInVuaXQiOiJwZXJjZW50IiwidGFyZ2V0Ijo1MCwidGFyZ2V0X3R5cGUiOiJhYnNvbHV0ZSIsInRhcmdldF9kZWx0YV9pc19wZXJjZW50IjpmYWxzZSwibWV0cmljIjp7Im1ldGFkYXRhIjoiIiwiaWQiOiJkbXNnLWJzaWcifSwiY29tcGFyaXNvbiI6eyJjb21wYXJpc29uX2Z1bmN0aW9uIjoiPiJ9LCJtZXRhZGF0YSI6eyJtZXRhZGF0YSI6IntcImVkaXRcIjp7XCJzdGFydFwiOntcImRhdGVcIjpcInN0YXJ0XCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMDd9LFwiZW5kXCI6e1wiZGF0ZVwiOlwiZW5kXCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMjB9fSxcImJhc2VsaW5lXCI6e1wic3F1aXNoeVwiOntcInN0YXJ0XCI6e1wiZGF0ZVwiOlwic3RhcnRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAxNX0sXCJlbmRcIjp7XCJkYXRlXCI6XCJzdGFydFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDE1fX0sXCJzdGFydFwiOlwiMjAxNS0wMS0wMVQwMDowMDowMC4wMDBcIixcImVuZFwiOlwiMjAxNS0wMS0wMVQyMzo1OTo1OS4wMDBcIixcIm1ldHJpY1wiOntcIm1ldGFkYXRhXCI6XCJ7XFxcIndpemFyZFxcXCI6e1xcXCJmaWx0ZXJfYXN0XFxcIjpbe1xcXCJ2YWx1ZXNcXFwiOlt7fV19XX19XCJ9fSxcIm5hbWVcIjpcInBlcmNlbnRhZ2Ugb2YgcmVuZXdhYmxlIGVsZWN0cmljaXR5IHNvdXJjZXNcIn0ifSwidXBkYXRlZF9hdCI6IjIwMTUtMTItMTZUMTY6MjI6NDEuNzc4WiIsImNyZWF0ZWRfYXQiOiIyMDE1LTA3LTEzVDIwOjUyOjUyLjU4MVoiLCJ2ZXJzaW9uIjoiMjAxNS0xMi0xNlQxNjoyMjo0MS43NzhaIiwidGFyZ2V0X3RvbGVyYW5jZSI6NSwiaWQiOiJ4eW0zLWphYjYifSwicmVsYXRlZF9tZWFzdXJlcyI6W10sImJhc2VfZGFzaGJvYXJkIjoibmF2aC1pZ2YyIiwidXBkYXRlZF9hdCI6IjIwMTUtMTItMTZUMTY6MjI6NDEuOTIxWiIsImNyZWF0ZWRfYXQiOiIyMDE0LTEyLTA1VDE5OjIxOjQ3LjQ1MFoiLCJ2ZXJzaW9uIjoiMjAxNS0xMi0xNlQxNjoyMjo0MS45MjFaIiwiY3JlYXRlZF9ieSI6InMyNmctZTl4dCJ9LHsiaWQiOiJoYmM0LWJyZ2siLCJuYW1lIjoiSW5jcmVhc2UgQ2l0eXdpZGUgU29sYXIgSW5zdGFsbGF0aW9ucyIsImlzX3B1YmxpYyI6dHJ1ZSwibWV0YWRhdGEiOnsibWV0YWRhdGEiOiJ7XCJyZXRpcmVtZW50X25hcnJhdGl2ZVwiOltdLFwibmFycmF0aXZlXCI6W3tcInR5cGVcIjpcInR3b0NvbExheW91dFwiLFwiY29sdW1uc1wiOltbe1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiIyBXaGF0IGlzIHRoaXMgaW5kaWNhdG9yP1xcblxcblRoaXMgaW5kaWNhdG9yIGlzIG1lYXN1cmVkIGJ5IHRyYWNraW5nIGRpc3RyaWJ1dGVkIGdlbmVyYXRpb24gZnJvbSBzb2xhciBpbiBtZWdhd2F0dCAoTVcpIGNhcGFjaXR5LlxcblxcblwifSx7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIjIFdoeSBpcyBpdCBpbXBvcnRhbnQ/XFxuXFxuVGhlIENpdHkgYWltcyB0byBpbmNyZWFzZSB0aGUgdXNlIG9mIHJlbmV3YWJsZSBlbmVyZ3kgYW5kIHRodXMsIHJlZHVjZSB0aGUgY29tbXVuaXR54oCZcyB0b3RhbCBhbW91bnQgb2YgZ3JlZW5ob3VzZSBnYXMgZW1pc3Npb25zIGFuZCBjb25zdW1wdGlvbiBvZiBmb3NzaWwgZnVlbHMuIEluIGEgcmVnaW9uIHdoZXJlIHRoZSBzdW4gc2hpbmVzIGFuIGF2ZXJhZ2Ugb2YgMzEwIGRheXMgcGVyIHllYXIsIHNvbGFyIGVuZXJneSBpcyBhIHZpYWJsZSBvcHRpb24gdG8gaW5jcmVhc2UgdGhlIGFtb3VudCBvZiBlbmVyZ3kgc3VwcGxpZWQgYnkgcmVuZXdhYmxlIHNvdXJjZXMgaW4gU2FudGEgTW9uaWNhLlxcblxcbkRlc3BpdGUgbWVhc3VyYWJsZSBwcm9ncmVzcywgdGhlIG1ham9yaXR5IG9mIFNhbnRhIE1vbmljYeKAmXMgZW5lcmd5IGlzIHN0aWxsIHN1cHBsaWVkIGJ5IG5vbi1yZW5ld2FibGUgc291cmNlcyBzdWNoIGFzIGNvYWwgYW5kIG5hdHVyYWwgZ2FzLiBUaGVzZSBzb3VyY2VzIGdlbmVyYXRlIGhhcm1mdWwgcG9sbHV0YW50cyBkdXJpbmcgdGhlIGVuZXJneSBwcm9kdWN0aW9uIHByb2Nlc3MsIHdoaWNoIHRha2UgYSBkcmFtYXRpYyB0b2xsIG9uIG91ciBlbnZpcm9ubWVudCBhbmQgcG9wdWxhdGlvbi4gSW4gY29udHJhc3QsIG1vc3QgcmVuZXdhYmxlIGVuZXJneSB0ZWNobm9sb2dpZXMgcHJvZHVjZSBsaXR0bGUgb3Igbm8gcG9sbHV0aW9uIGFuZCBoYXZlIGEgbG93IHJlbGlhbmNlIG9uIGZvc3NpbCBmdWVscyB0byBzdXBwb3J0IHRoZWlyIG9wZXJhdGlvbnMuSW5jcmVhc2luZyB0aGUgYW1vdW50IG9mIGVsZWN0cmljaXR5IGdlbmVyYXRlZCBmcm9tIHNvbGFyIGVuZXJneSB3aWxsIGhlbHAgdG8gaW1wcm92ZSBhaXIgcXVhbGl0eSwgbG93ZXIgZ3JlZW5ob3VzZSBnYXMgZW1pc3Npb25zLCBhbmQgcHJvdmlkZSBhIHN1c3RhaW5hYmxlIGVuZXJneSBzdXBwbHkgZm9yIHRoZSBmdXR1cmUuIEFuIGluY3JlYXNlIGluIHNvbGFyIGdlbmVyYXRpb24gd2lsbCBhbHNvIGhlbHAgbWVldCB0aGUgc3RhdGXigJlzIFJlbmV3YWJsZSBQb3J0Zm9saW8gU3RhbmRhcmQgKFJQUykgd2hpY2ggYWltcyBmb3IgYSAzMyUgdG90YWwgcmVuZXdhYmxlIGVuZXJneSBwb3J0Zm9saW8gaW4gQ2FsaWZvcm5pYSBieSAyMDIwLlxcblxcblwifSx7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIjIEhvdyBhcmUgd2UgZG9pbmc/XFxuXFxuVG8gZGF0ZSwgcmVzaWRlbnRzIGFuZCBidXNpbmVzc2VzIGhhdmUgaW5zdGFsbGVkIG92ZXIgNC41IE1XICgyMDE1IFEyKSBvZiBzb2xhciBvbiB0aGVpciByb29mdG9wcy4gVGhlIGZhbGxpbmcgY29zdHMgYW5kIG5ldyBmaW5hbmNpbmcgb3B0aW9ucyBoYXZlIGluY3JlYXNlZCB0aGUgdmlhYmlsaXR5IG9mIHNvbGFyIGluIHRoZSBtYXJrZXQuIFNvbGFyIGluc3RhbGxhdGlvbiBuZWVkcyB0byBpbmNyZWFzZSBzaWduaWZpY2FudGx5IHRvIHJlYWNoIHRoZSAyMDIwIHRhcmdldCBvZiA3LjUgTVcgY2FwYWNpdHkuXFxuXFxuIFxcblxcblNvdXRoZXJuIENhbGlmb3JuaWEgRWRpc29uIChTQ0UpLCBTYW50YSBNb25pY2HigJlzIGVsZWN0cmljYWwgdXRpbGl0eSwgYm9hc3RzIGEgcmVuZXdhYmxlIHBvcnRmb2xpbyB3aGljaCB3ZWxsIGV4Y2VlZHMgdGhhdCBvZiB0aGUgc3RhdGUgYXMgYSB3aG9sZTogMjIlIGluIDIwMTMuIERlc3BpdGUgdGhlIHByb2dyZXNzIHRvd2FyZCBhIGxhcmdlciByZW5ld2FibGUgcG9ydGZvbGlvLCB0aGUgaW1wYWN0IG9uIHRoZSBncmlk4oCZcyBlbWlzc2lvbiBmYWN0b3IgaGFzIGJlZW4gdW5kZWNpZGVkLiBUaGUgY2xvc3VyZSBvZiBTQ0XigJlzIGxhcmdlc3QgbnVjbGVhciBmYWNpbGl0eSBpbiBTYW4gT25vZnJlLCB1bmV4cGVjdGVkbHkgZm9yY2VkIHRoZSB1dGlsaXR5IHRvIHNlZWsgb3V0IGJyb3duIHBvd2VyIGZyb20gdmFyaW91cyBzb3VyY2VzLlxcblxcblwifV0sW3tcInR5cGVcIjpcInZpelwiLFwiZGF0YXNldFwiOlwiNWt4dC1qa3R3XCJ9LHtcInR5cGVcIjpcInRleHRcIixcInRleHRcIjpcIiMgSG93IGNhbiB3ZSBoZWxwP1xcblxcbkdvIHNvbGFyISBbU29sYXIgU2FudGEgTW9uaWNhXVswXSBpcyBhIGZyZWUgc2VydmljZSBmb3IgcmVzaWRlbnRzIGFuZCBidXNpbmVzc2VzIGxvb2tpbmcgdG8gZ28gc29sYXIuIFNvbGFyIGV4cGVydHMgYXJlIGF2YWlsYWJsZSB0byBwcm92aWRlIHlvdSB1bmJpYXNlZCB0ZWNobmljYWwgYWR2aWNlIHRvIGhlbHAgeW91IG5hdmlnYXRlIHRoZSBjaGFuZ2luZyBydWxlcywgaW5jZW50aXZlcyBhbmQgZmluYW5jaW5nIG9wdGlvbnMuXFxuXFxuWzBdOiBodHRwOi8vd3d3LnNvbGFyc2FudGFtb25pY2EuY29tXCJ9XV19XSxcInVzZV9jdXN0b21fdGl0bGVcIjp0cnVlLFwiY3VzdG9tX3RpdGxlXCI6XCJJbmNyZWFzZSBjaXR5d2lkZSBzb2xhciB0byA3LjUgTVcuXCIsXCJ1c2VfY3VzdG9tX3N1YnRpdGxlXCI6dHJ1ZSxcImN1c3RvbV9zdWJ0aXRsZVwiOlwiVGhpcyBpbmRpY2F0b3IgbWVhc3VyZXMgZGlzdHJpYnV0ZWQgZ2VuZXJhdGlvbiBmcm9tIHNvbGFyIGluIE1XIGNhcGFjaXR5LlwiLFwidGl0bGVfaW1hZ2VcIjpcIi9hcGkvYXNzZXRzL0ZCNTQ0MjBFLURBQ0UtNDc3My04M0VFLTcyRUU5RTcxQzAzM1wifSJ9LCJwcmV2YWlsaW5nX21lYXN1cmUiOnsic3RhcnQiOiIyMDAxLTEyLTMxVDAwOjAwOjAwLjAwMCIsImVuZCI6IjIwMjAtMTItMzFUMjM6NTk6NTkuMDAwIiwidW5pdCI6Ik1XIGNhcGFjaXR5IiwidGFyZ2V0Ijo3LjUsInRhcmdldF90eXBlIjoiYWJzb2x1dGUiLCJ0YXJnZXRfZGVsdGFfaXNfcGVyY2VudCI6ZmFsc2UsIm1ldHJpYyI6eyJtZXRhZGF0YSI6IiIsImlkIjoidHc2bi10OGdyIn0sImNvbXBhcmlzb24iOnsiY29tcGFyaXNvbl9mdW5jdGlvbiI6Ij4ifSwibWV0YWRhdGEiOnsibWV0YWRhdGEiOiJ7XCJlZGl0XCI6e1wic3RhcnRcIjp7XCJkYXRlXCI6XCJlbmRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAwMX0sXCJlbmRcIjp7XCJkYXRlXCI6XCJlbmRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAyMH19LFwiYmFzZWxpbmVcIjp7XCJzcXVpc2h5XCI6e1wic3RhcnRcIjp7XCJkYXRlXCI6XCJzdGFydFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDE1fSxcImVuZFwiOntcImRhdGVcIjpcInN0YXJ0XCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMTV9fSxcInN0YXJ0XCI6XCIyMDE1LTAxLTAxVDAwOjAwOjAwLjAwMFwiLFwiZW5kXCI6XCIyMDE1LTAxLTAxVDIzOjU5OjU5LjAwMFwiLFwibWV0cmljXCI6e1wibWV0YWRhdGFcIjpcIntcXFwid2l6YXJkXFxcIjp7XFxcImZpbHRlcl9hc3RcXFwiOlt7XFxcInZhbHVlc1xcXCI6W3t9XX1dfX1cIn19LFwibmFtZVwiOlwiZGlzdHJpYnV0ZWQgZ2VuZXJhdGlvbiBmcm9tIHNvbGFyXCJ9In0sInVwZGF0ZWRfYXQiOiIyMDE5LTA5LTEwVDAwOjMwOjM5LjY1OVoiLCJjcmVhdGVkX2F0IjoiMjAxNS0wNS0yMlQyMzozNjozOC4zMTNaIiwidmVyc2lvbiI6IjIwMTktMDktMTBUMDA6MzA6MzkuNjU5WiIsImlkIjoidHdjeS1nd2VnIn0sInJlbGF0ZWRfbWVhc3VyZXMiOltdLCJiYXNlX2Rhc2hib2FyZCI6Im5hdmgtaWdmMiIsInVwZGF0ZWRfYXQiOiIyMDE5LTA5LTEwVDAwOjMwOjM5Ljc5NloiLCJjcmVhdGVkX2F0IjoiMjAxNS0wMS0zMFQyMzoyMDoxNy45ODFaIiwidmVyc2lvbiI6IjIwMTktMDktMTBUMDA6MzA6MzkuNzk2WiIsImNyZWF0ZWRfYnkiOiJxYmR6LWR0cG4ifSx7ImlkIjoiNWVmeC0yZmNpIiwibmFtZSI6IkluY3JlYXNlIE11bmljaXBhbCBTb2xhciBJbnN0YWxsYXRpb25zIiwiaXNfcHVibGljIjp0cnVlLCJtZXRhZGF0YSI6eyJtZXRhZGF0YSI6IntcInJldGlyZW1lbnRfbmFycmF0aXZlXCI6W10sXCJuYXJyYXRpdmVcIjpbe1widHlwZVwiOlwidHdvQ29sTGF5b3V0XCIsXCJjb2x1bW5zXCI6W1t7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIqKldoYXQgaXMgdGhpcyBpbmRpY2F0b3I/KipcXG5cXG5UaGUgY2l0eSBhaW1zIHRvIGluY3JlYXNlIHRoZSB1c2Ugb2YgcmVuZXdhYmxlIGVuZXJneSBhbmQgdGh1cyByZWR1Y2UgdGhlIGNpdHnigJlzIHRvdGFsIGFtb3VudCBvZiBncmVlbmhvdXNlIGdhcyBlbWlzc2lvbnMgYW5kIGNvbnN1bXB0aW9uIG9mIGZvc3NpbCBmdWVscy4gSW4gYSByZWdpb24gd2hlcmUgdGhlIHN1biBzaGluZXMgY2xvc2UgdG8gMzY1IGRheXMgcGVyIHllYXIsIHNvbGFyIGVuZXJneSBpcyBhIHZpYWJsZSBvcHRpb24gdG8gaW5jcmVhc2UgdGhlIGFtb3VudCBvZiBlbmVyZ3kgc3VwcGxpZWQgYnkgcmVuZXdhYmxlIHNvdXJjZXMgaW4gU2FudGEgTW9uaWNhLiBUaGlzIGdvYWwgaXMgbWVhc3VyZWQgYnkgdHJhY2tpbmcgZGlzdHJpYnV0ZWQgZ2VuZXJhdGlvbiBmcm9tIHNvbGFyIGluIGtXIGNhcGFjaXR5LlxcblxcbioqV2h5IGlzIGl0IGltcG9ydGFudD8qKlxcblxcbkNpdHktb3BlcmF0ZWQgZmFjaWxpdGllcyBzaG91bGQgbGVhZCB0aGUgd2F5IGJ5IGluc3RhbGxpbmcgc29sYXIgb24gYWxsIHZpYWJsZSByb29mIHNwYWNlLiBEZXNwaXRlIG1lYXN1cmFibGUgcHJvZ3Jlc3MsIHRoZSBtYWpvcml0eSBvZiBTYW50YSBNb25pY2HigJlzIGVuZXJneSBpcyBzdGlsbCBzdXBwbGllZCBieSBub24tcmVuZXdhYmxlIHNvdXJjZXMgc3VjaCBhcyBvaWwgYW5kIGdhcy4gVGhlc2Ugc291cmNlcyBnZW5lcmF0ZSBoYXJtZnVsIHBvbGx1dGFudHMgZHVyaW5nIHRoZSBlbmVyZ3kgcHJvZHVjdGlvbiBwcm9jZXNzLCB3aGljaCB0YWtlIGEgZHJhbWF0aWMgdG9sbCBvbiBvdXIgZW52aXJvbm1lbnQgYW5kIHBvcHVsYXRpb24uIEluIGNvbnRyYXN0LCBtb3N0IHJlbmV3YWJsZSBlbmVyZ3kgdGVjaG5vbG9naWVzIHByb2R1Y2UgbGl0dGxlIG9yIG5vIHBvbGx1dGlvbiBhbmQgaGF2ZSBhIGxvd1xcblxcbiBcIn0se1widHlwZVwiOlwidGV4dFwifV0sW3tcInR5cGVcIjpcImltYWdlXCIsXCJzcmNcIjpcIi9hcGkvYXNzZXRzLzAxQ0JDRjVDLTZFRUMtNDQ3QS1CNkJFLTY0RTFFMEJBRTcyNlwifSx7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIqKkhvdyBhcmUgd2UgZG9pbmc/KipcXG5cXG5TaW5jZSAyMDExLCBlbGVjdHJpY2l0eSBjb25zdW1wdGlvbiBoYXMgZGVjcmVhc2VkIGJ5IDIlLiBXaGlsZSB0aGUgQ2l0eSBoYXMgcHVyc3VlZCBlbmVyZ3kgZWZmaWNpZW5jeSwgaXQgaGFzIGFsc28gcmVjZW50bHkgYWRkZWQgb3IgZXhwYW5kZWQgbmV3IGZhY2lsaXRpZXMgbGlrZSB0aGUgQXJjYWRpYSBXYXRlciBUcmVhdG1lbnQgUGxhbiwgUGljbyBCcmFuY2ggTGlicmFyeSwgUGFya2luZyBTdHJ1Y3R1cmUgNiBhbmQgVG9uZ3ZhIFBhcmsuXFxuXFxuVGhlIGV4cGFuc2lvbiBvZiBzb21lIHNlcnZpY2VzIGFuZCBmYWNpbGl0aWVzIHdpbGwgY2hhbGxlbmdlIHRoZSBDaXR5J3MgYWJpbGl0eSB0byByZWR1Y2UgaXRzIG93biBlbmVyZ3kgdXNlLCBob3dldmVyLCB0aGUgbmV0IGdhaW4gZnJvbSB0aGUgY29tbXVuaXR5IGJlbmVmaXRzIG9yIG90aGVyIHN1c3RhaW5hYmlsaXR5IGluaXRpYXRpdmVzLCBsaWtlIHdhdGVyIHNlbGYtc3VmZmljaWVuY3ksIHdpbGwgYmUgbXVjaCBsYXJnZXIuXFxuXFxuXCJ9XV19XSxcInVzZV9jdXN0b21fdGl0bGVcIjp0cnVlLFwiY3VzdG9tX3RpdGxlXCI6XCJJbmNyZWFzZSBtdW5pY2lwYWxseSBvd25lZCBzb2xhciB0byAxIE1XIG9mIGNhcGFjaXR5XCIsXCJ1c2VfY3VzdG9tX3N1YnRpdGxlXCI6dHJ1ZSxcImN1c3RvbV9zdWJ0aXRsZVwiOlwiVGhpcyBnb2FsIGlzIG1lYXN1cmVkIGJ5IHRyYWNraW5nIG11bmljaXBhbGx5IG93bmVkIHNvbGFyIGluIGtXLlwiLFwidGl0bGVfaW1hZ2VcIjpcIi9hcGkvYXNzZXRzLzU1MTc0NUVGLTNBRTEtNDAzNy1BOUY1LTQxNDI1RTNBNUI3N1wifSJ9LCJwcmV2YWlsaW5nX21lYXN1cmUiOnsic3RhcnQiOiIyMDAwLTAxLTAxVDAwOjAwOjAwLjAwMCIsImVuZCI6IjIwMjAtMTItMzFUMjM6NTk6NTkuMDAwIiwidW5pdCI6ImtXIGNhcGFjaXR5IiwidGFyZ2V0IjoxMDAwLCJ0YXJnZXRfdHlwZSI6ImFic29sdXRlIiwidGFyZ2V0X2RlbHRhX2lzX3BlcmNlbnQiOmZhbHNlLCJtZXRyaWMiOnsibWV0YWRhdGEiOiIiLCJpZCI6InQ4emgtcjdoZSJ9LCJjb21wYXJpc29uIjp7ImNvbXBhcmlzb25fZnVuY3Rpb24iOiI+In0sIm1ldGFkYXRhIjp7Im1ldGFkYXRhIjoie1wiZWRpdFwiOntcInN0YXJ0XCI6e1wiZGF0ZVwiOlwic3RhcnRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAwMH0sXCJlbmRcIjp7XCJkYXRlXCI6XCJlbmRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAyMH19LFwiYmFzZWxpbmVcIjp7XCJzcXVpc2h5XCI6e1wic3RhcnRcIjp7XCJkYXRlXCI6XCJzdGFydFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDE1fSxcImVuZFwiOntcImRhdGVcIjpcInN0YXJ0XCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMTV9fSxcInN0YXJ0XCI6XCIyMDE1LTAxLTAxVDAwOjAwOjAwLjAwMFwiLFwiZW5kXCI6XCIyMDE1LTAxLTAxVDIzOjU5OjU5LjAwMFwiLFwibWV0cmljXCI6e1wibWV0YWRhdGFcIjpcIntcXFwid2l6YXJkXFxcIjp7XFxcImZpbHRlcl9hc3RcXFwiOlt7XFxcInZhbHVlc1xcXCI6W3t9XX1dfX1cIn19LFwibmFtZVwiOlwibXVuaWNpcGFsbHkgb3duZWQgc29sYXJcIn0ifSwidXBkYXRlZF9hdCI6IjIwMTUtMDctMTVUMjI6MjI6MjEuMzM0WiIsImNyZWF0ZWRfYXQiOiIyMDE1LTA3LTE1VDIyOjIxOjQxLjg3OFoiLCJ2ZXJzaW9uIjoiMjAxNS0wNy0xNVQyMjoyMjoyMS4zMzRaIiwiaWQiOiJkdHE1LW54bWEifSwicmVsYXRlZF9tZWFzdXJlcyI6W10sImJhc2VfZGFzaGJvYXJkIjoibmF2aC1pZ2YyIiwidXBkYXRlZF9hdCI6IjIwMTUtMDctMzBUMTc6Mjc6MTMuNjIyWiIsImNyZWF0ZWRfYXQiOiIyMDE1LTA2LTE4VDE1OjU3OjI5LjkyMloiLCJ2ZXJzaW9uIjoiMjAxNS0wNy0zMFQxNzoyNzoxMy42MjJaIiwiY3JlYXRlZF9ieSI6IjRzbXktY21rMiJ9XSwidmVyc2lvbiI6IjIwMTUtMDYtMzBUMjM6NTU6MTguOTI1WiJ9LHsiaWQiOiI1ZjVmLWpqZXIiLCJuYW1lIjoiR3JlZW5ob3VzZSBHYXMgRW1pc3Npb25zIiwiZ29hbHMiOlt7ImlkIjoiN3Z1dC1rZmI0IiwibmFtZSI6IlJlZHVjZSBNdW5pY2lwYWwgRW1pc3Npb25zIiwiaXNfcHVibGljIjp0cnVlLCJtZXRhZGF0YSI6eyJtZXRhZGF0YSI6IntcInJldGlyZW1lbnRfbmFycmF0aXZlXCI6W10sXCJuYXJyYXRpdmVcIjpbe1widHlwZVwiOlwidHdvQ29sTGF5b3V0XCIsXCJjb2x1bW5zXCI6W1t7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIqKldoYXQgaXMgdGhpcyBpbmRpY2F0b3I/KipcXG5cXG4gXFxuXFxuVGhlIG1ham9yaXR5IG9mIGdyZWVuaG91c2UgZ2FzIGVtaXNzaW9ucyBjb21lIGZyb20gY2FyYm9uIGRpb3hpZGUsIHdoaWNoIGVudGVycyB0aGUgYXRtb3NwaGVyZSB0aHJvdWdoIGJ1cm5pbmcgZm9zc2lsIGZ1ZWxzLCBzb2xpZCB3YXN0ZSwgdHJlZXMsIGFuZCBvdGhlciBzb3VyY2VzLiBJdCBpcyBtZWFzdXJlZCBoZXJlIGluIHRlcm1zIG9mIG11bmljaXBhbCBlbWlzc2lvbnMgcGVyIHRvbiBvZiBjYXJib24gZGlveGlkZS5cXG5cXG4gXFxuXFxuKipXaHkgaXMgaXQgaW1wb3J0YW50PyoqXFxuXFxuIFRoZSBzY2llbnRpZmljIGNvbW11bml0eSBhbmQsIGluY3JlYXNpbmdseSB0aGUgZ2VuZXJhbCBwdWJsaWMsIGFjY2VwdCBjbGltYXRlIGNoYW5nZSBhcyBhIGdlbnVpbmUgc2NpZW50aWZpYyBwaGVub21lbm9uIHdoaWNoIGh1bWFuIGFjdGl2aXR5IGhhcyBhY2NlbGVyYXRlZC4gVGhlIGNpdHkgaGFzIGluY2x1ZGVkIGEgbWVhc3VyZSBvZiBHcmVlbmhvdXNlIEdhcyBFbWlzc2lvbnMgKEdIRykgYW1vbmcgaXRzIGluZGljYXRvcnMgYmVjYXVzZSBpdCByZWNvZ25pemVzIHRoYXQgdGhlIHBoeXNpY2FsIGFuZCBzb2Npby1lY29ub21pYyBkaXNydXB0aW9ucyB3aGljaCBjbGltYXRlIGNoYW5nZSB3aWxsIGNhdXNlIGlmIHVuYWJhdGVkIHdpbGwgYmUgdW5zdXN0YWluYWJsZSBmb3IgdGhlIGNvbW11bml0eSBhbmQgdGhlIHJlZ2lvbi5cXG5cXG5cIn1dLFt7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIqKkhvdyBhcmUgd2UgZG9pbmc/KipcXG5cXG5NdW5pY2lwYWwgZW5lcmd5IGFuZCBmdWVsIHVzYWdlIGZyb20gQmlnIEJsdWUgQnVzIGhhcyBpbmNyZWFzZWQgYXMgQ2l0eSBzZXJ2aWNlcyBhbmQgZmFjaWxpdGllcyBoYXZlIGdyb3duIHRvIGFjY29tbW9kYXRlIG5ldyBuZWVkcyBpbiB0aGUgY29tbXVuaXR5LiBXaGlsZSB0aGUgQ2l0eSBoYXMgcHVyc3VlZCBlbmVyZ3kgZWZmaWNpZW5jeSwgaXQgaGFzIGFsc28gcmVjZW50bHkgYWRkZWQgb3IgZXhwYW5kZWQgbmV3IGVuZXJneS1pbnRlbnNpdmUgZmFjaWxpdGllcyBsaWtlIHRoZSBBcmNhZGlhIFdhdGVyIFRyZWF0bWVudCBQbGFuLCBQaWNvIEJyYW5jaCBMaWJyYXJ5LCBQYXJraW5nIFN0cnVjdHVyZSA2IGFuZCBUb25ndmEgUGFyay4gVGhpcyBleHBhbnNpb24gc2VydmljZXMgYW5kIGZhY2lsaXRpZXMgd2lsbCBjaGFsbGVuZ2UgdGhlIENpdHkncyBhYmlsaXR5IHRvIHJlZHVjZSBpdHMgb3duIGVuZXJneSB1c2UgYW5kIGdyZWVuaG91c2UgZ2FzIGVtaXNzaW9ucywgaG93ZXZlciwgdGhlIG5ldCBnYWluIGZyb20gdGhlIGNvbW11bml0eSBiZW5lZml0cyBvciBvdGhlciBzdXN0YWluYWJpbGl0eSBpbml0aWF0aXZlcywgbGlrZSB3YXRlciBzZWxmLXN1ZmZpY2llbmN5LCB3aWxsIGJlIG11Y2ggbGFyZ2VyLlxcblxcbkJpZyBCbHVlIEJ1cyBjb21wcmlzZXMgYSBtYWpvcml0eSBvZiB0aGUgQ2l0eSdzIGVtaXNzaW9ucyBwcm9maWxlLiBIb3dldmVyLCBhcyBvZiAyMDE1LCB0aGUgZmxlZXQgbm93IHJ1bnMgY29tcGxldGVseSBvbiAxMDAlIHJlbmV3YWJsZSBuYXR1cmFsIGdhcyBzb3VyY2VkIGZyb20gbGFuZGZpbGxzLiBUaGlzIHJlZHVjdGlvbiB3aWxsIGJlIHJlZmxlY3RlZCBhcyB0aGUgQ2l0eSdzIDIwMTUgZ3JlZW5ob3VzZSBnYXMgZW1pc3Npb25zIGludmVudG9yeSBpcyBwcmVwYXJlZC5cXG5cXG5cXG5cXG4qKkhvdyBjYW4gd2UgaGVscD8qKlxcblxcbiogTG93ZXIgeW91ciBncmVlbmhvdXNlIGdhcyBlbWlzc2lvbnMgYnk6XFxuKiBUYWtpbmcgdHJhbnNpdCwgYmlraW5nLCBvciB3YWxraW5nIGluc3RlYWQgb2YgZHJpdmluZyB3aGVuIHBvc3NpYmxlXFxuKiBJbnZlc3RpbmcgaW4gYW4gZWxlY3RyaWMgdmVoaWNsZVxcbiogSW5zdGFsbGluZyBzb2xhciBhdCBob21lXFxuKiBJbXByb3ZpbmcgZW5lcmd5IGVmZmljaWVuY3kuIExlYXJuIGFib3V0IGVuZXJneSBzYXZpbmdzIGFuZCByZWJhdGUgcHJvZ3JhbXMgW2hlcmVdWzBdXFxuXFxuWzBdOiBodHRwOi8vd3d3LnNtZ292Lm5ldC9EZXBhcnRtZW50cy9PU0UvY2F0ZWdvcmllcy9lbmVyZ3kuYXNweCUyNTIwXCJ9XV19XSxcInRpdGxlX2ltYWdlXCI6XCIvYXBpL2Fzc2V0cy9FMEFCM0YwRi0zRDUzLTRGRDItOTU3Ny0wRTY3MDkyRjEyREZcIixcInVzZV9jdXN0b21fdGl0bGVcIjp0cnVlLFwiY3VzdG9tX3RpdGxlXCI6XCJSZWR1Y2UgY2FyYm9uIGVtaXNzaW9ucyBmcm9tIG11bmljaXBhbCBvcGVyYXRpb25zIGJ5IDMwJSBmcm9tIDE5OTAgbGV2ZWxzIGJ5IDIwMjBcIixcInVzZV9jdXN0b21fc3VidGl0bGVcIjp0cnVlLFwiY3VzdG9tX3N1YnRpdGxlXCI6XCJUaGlzIGluZGljYXRvciBpcyBtZWFzdXJlZCBieSB0cmFja2luZyBjYXJib24gZW1pc3Npb25zIGZyb20gbXVuaWNpcGFsIG9wZXJhdGlvbnMgaW4gbWV0cmljIHRvbnMgb2YgY2FyYm9uIGRpb3hpZGUuXCJ9In0sInByZXZhaWxpbmdfbWVhc3VyZSI6eyJzdGFydCI6IjE5OTAtMDEtMDFUMDA6MDA6MDAuMDAwIiwiZW5kIjoiMjAyMC0xMi0zMVQyMzo1OTo1OS4wMDAiLCJ1bml0IjoibWV0cmljIHRvbnMgb2YgY2FyYm9uIGRpb3hpZGUiLCJ0YXJnZXRfdHlwZSI6InJlbGF0aXZlIiwidGFyZ2V0X2RlbHRhIjo3MDYxLCJ0YXJnZXRfZGVsdGFfaXNfcGVyY2VudCI6ZmFsc2UsImJhc2VsaW5lIjoyMzUzOCwibWV0cmljIjp7Im1ldGFkYXRhIjoiIiwiaWQiOiJuaGJpLW1rNTMifSwiY29tcGFyaXNvbiI6eyJjb21wYXJpc29uX2Z1bmN0aW9uIjoiPCJ9LCJtZXRhZGF0YSI6eyJtZXRhZGF0YSI6IntcImVkaXRcIjp7XCJzdGFydFwiOntcImRhdGVcIjpcInN0YXJ0XCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjE5OTB9LFwiZW5kXCI6e1wiZGF0ZVwiOlwiZW5kXCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMjB9LFwiYWN0aW9uX3R5cGVcIjpcInJlZHVjZVwiLFwidGFyZ2V0X3R5cGVcIjpcInJlbGF0aXZlXCJ9LFwiYmFzZWxpbmVcIjp7XCJzcXVpc2h5XCI6e1wic3RhcnRcIjp7XCJkYXRlXCI6XCJzdGFydFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDE1fSxcImVuZFwiOntcImRhdGVcIjpcInN0YXJ0XCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMTV9fSxcInN0YXJ0XCI6XCIyMDE1LTAxLTAxVDAwOjAwOjAwLjAwMFwiLFwiZW5kXCI6XCIyMDE1LTAxLTAxVDIzOjU5OjU5LjAwMFwiLFwibWV0cmljXCI6e1wibWV0YWRhdGFcIjpcIntcXFwid2l6YXJkXFxcIjp7XFxcImZpbHRlcl9hc3RcXFwiOlt7XFxcInZhbHVlc1xcXCI6W3t9XX1dfX1cIn19LFwibmFtZVwiOlwiY2FyYm9uIGVtaXNzaW9ucyBmcm9tIG11bmljaXBhbCBvcGVyYXRpb25zXCJ9In0sInVwZGF0ZWRfYXQiOiIyMDE2LTExLTA0VDIyOjI0OjI5LjA2OFoiLCJjcmVhdGVkX2F0IjoiMjAxNS0wNy0yMFQyMjowMjowNy45MTJaIiwidmVyc2lvbiI6IjIwMTYtMTEtMDRUMjI6MjQ6MjkuMDY4WiIsImlkIjoibnBnMi1jdzhiIn0sInJlbGF0ZWRfbWVhc3VyZXMiOltdLCJiYXNlX2Rhc2hib2FyZCI6Im5hdmgtaWdmMiIsInVwZGF0ZWRfYXQiOiIyMDE2LTExLTA0VDIyOjI0OjM2LjcwMloiLCJjcmVhdGVkX2F0IjoiMjAxNS0wMS0zMFQyMzoxODo1MS43MzJaIiwidmVyc2lvbiI6IjIwMTYtMTEtMDRUMjI6MjQ6MzYuNzAyWiIsImNyZWF0ZWRfYnkiOiJzMjZnLWU5eHQifSx7ImlkIjoiYnZkMi1rbnZuIiwibmFtZSI6IlJlZHVjZSBDb21tdW5pdHkgRW1pc3Npb25zIiwiaXNfcHVibGljIjp0cnVlLCJtZXRhZGF0YSI6eyJtZXRhZGF0YSI6IntcInJldGlyZW1lbnRfbmFycmF0aXZlXCI6W10sXCJuYXJyYXRpdmVcIjpbe1widHlwZVwiOlwidHdvQ29sTGF5b3V0XCIsXCJjb2x1bW5zXCI6W1t7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIjIFdoYXQgaXMgdGhpcyBpbmRpY2F0b3I/XFxuXFxuR3JlZW5ob3VzZSBnYXMgZW1pc3Npb25zIGFyZSBnZW5lcmF0ZWQgZnJvbSB0aGUgY29tYnVzdGlvbiBvZiBmb3NzaWwgZnVlbHMgdGhyb3VnaCBlbGVjdHJpY2l0eSBnZW5lcmF0aW9uLCBuYXR1cmFsIGdhcyB1c2UgaW4gYnVpbGRpbmdzIGFuZCB2ZWhpY2xlIGZ1ZWxzLCBmcm9tIHRoZSBkZWNvbXBvc2l0aW9uIG9mIHdhc3RlIGZyb20gYWdyaWN1bHR1cmUgYW5kIGxhbmRmaWxscywgYW5kIGZyb20gZGVmb3Jlc3RhdGlvbi4gU2FudGEgTW9uaWNhJ3MgZW1pc3Npb24gc291cmNlcyBhcmUgZnJvbSBidWlsZGluZyBlbmVyZ3kgdXNlLCBsYW5kZmlsbGVkIHdhc3RlIGFuZCB2ZWhpY2xlIGZ1ZWwgdXNlLiBJdCBpcyBtZWFzdXJlZCBoZXJlIGluIHRlcm1zIG9mIG1ldHJpYyB0b25zIG9mIGNhcmJvbiBkaW94aWRlIGVxdWl2YWxlbnRzIChNVENPMmUpLiBUaGlzIG1ldHJpYyBjYXB0dXJlcyBjYXJib24gZGlveGlkZSAoQ08yKSwgbml0cm91cyBveGlkZSAoTk8yKSBhbmQgbWV0aGFuZSAoQ0g0KSBpbiBhIHNpbmd1bGFyIG1ldHJpYy4gVGhlIHRhcmdldCBpcyBhIDIwJSBkZWNyZWFzZSBpbiBncmVlbmhvdXNlIGdhcyBlbWlzc2lvbnMgYmVsb3cgMTk5MCBsZXZlbHMgYiAyMDIwLlxcblxcbiBcIn0se1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiIyBXaHkgaXMgaXQgaW1wb3J0YW50P1xcblxcblRoZSBhY2N1bXVsYXRpb24gb2YgZ3JlZW5ob3VzZSBnYXNlcyBjYXVzZXMgZ2xvYmFsIHdhcm1pbmcgYnkgdHJhcHBpbmcgbW9yZSBoZWF0IGluIHRoZSBFYXJ0aCdzIGF0bW9zcGhlcmUuIEFzIGdsb2JhbCB3YXJtaW5nIGluY3JlYXNlcywgaXQgZGlzcnVwdHMgdGhlIEVhcnRoJ3MgaGlzdG9yaWNhbCBjbGltYXRlIHBhdHRlcm5zLCB3aGljaCBpcyBjYXVzaW5nIG1vcmUgZXh0cmVtZSB3ZWF0aGVyIGV2ZW50cyBpbiBpbmNyZWFzZWQgZnJlcXVlbmN5LiBUaGlzIHBoZW5vbWVuYSBpcyBnZW5lcmFsbHkga25vd24gYXMgY2xpbWF0ZSBjaGFuZ2UuIEdsb2JhbGx5LCBjbGltYXRlIGNoYW5nZSBpcyByZXNwb25zaWJsZSBmb3IgaW5jcmVhc2VkIHRlbXBlcmF0dXJlcyBhbmQgaGVhdHdhdmVzLCBpbmZyZXF1ZW50IGFuZCBpbnRlbnNlIHByZWNpcGl0YXRpb24sIGluY3JlYXNlZCBvY2VhbiB0ZW1wZXJhdHVyZXMgYW5kIGFjaWRpZmljYXRpb24sIG1vcmUgZnJlcXVlbnQgYW5kIGludGVuc2Ugd2lsZGZpcmVzIGFuZCBkcm91Z2h0LiBBZGRpdGlvbmFsbHksIGdsb2JhbCB3YXJtaW5nIGhhcyBpbmNyZWFzZWQgdGhlIHJhdGUgb2YgZ2xhY2lhbCBtZWx0aW5nIGluIHRoZSBub3J0aGVybiBoZW1pc3BoZXJlLCB3aGljaCBpcyBjYXVzaW5nIHNlYSBsZXZlbCByaXNlLlxcblxcbiBTb21lIGltcGFjdHMgb2YgY2xpbWF0ZSBjaGFuZ2UgYXJlIHVuYXZvaWRhYmxlLiBIb3dldmVyLCBieSBjdXJiaW5nIGdyZWVuaG91c2UgZ2FzIGVtaXNzaW9ucyBjb21tdW5pdGllcyBoYXZlIHRoZSBvcHBvcnR1bml0eSB0byBpbXByb3ZlIHF1YWxpdHkgb2YgbGlmZSwgcHJlc2VydmUgbmF0dXJhbCByZXNvdXJjZXMgYW5kIGVuaGFuY2Ugc3VzdGFpbmFiaWxpdHkuIFJlZHVjaW5nIGVuZXJneSB1c2UsIGluY3JlYXNpbmcgcmVuZXdhYmxlIGVuZXJneSwgaW1wcm92aW5nIG1vYmlsaXR5IGFuZCBhY3RpdmUgdHJhbnNwb3J0YXRpb24gYW5kIHJlZHVjaW5nIHdhc3RlIHdpbGwgZW5hYmxlIHVzIHRvIHN1c3RhaW4gYW5kIGltcHJvdmUgYSBxdWFsaXR5IG9mIGxpZmUgdGhhdCBpcyBpbiBiYWxhbmNlIHdpdGggb3VyIG5hdHVyYWwgZW52aXJvbm1lbnQuXFxuXFxuXCJ9XSxbe1widHlwZVwiOlwiaW1hZ2VcIn0se1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiIyBIb3cgYXJlIHdlIGRvaW5nP1xcblxcblNpbmNlIDE5OTAsIFNhbnRhIE1vbmljYSdzIGVtaXNzaW9ucyBoYXZlIGRlY3JlYXNlZCBieSAxNCUgKDIwMTEgZGF0YSkuIFRoaXMgZGVjcmVhc2UgaW4gZW1pc3Npb25zIGNhbiBiZSBhdHRyaWJ1dGVkIHRvIGEgdmFyaWV0eSBvZiBmYWN0b3JzIGluY2x1ZGluZyBpbmNyZWFzZWQgZW5lcmd5IGVmZmljaWVuY3kgYW5kIHJlbmV3YWJsZSBnZW5lcmF0aW9uLCB0aGUgZWNvbm9taWMgcmVjZXNzaW9uIGFuZCBpbmNyZWFzZWQgcmVjeWNsaW5nIHJhdGVzLiBUaGUgbW9zdCBpbmZsdWVudGlhbCBmYWN0b3IgaW4gdGhlIGRlY3JlYXNlIGhhcyBiZWVuIHRoZSBDYWxpZm9ybmlhIFJlbmV3YWJsZSBQb3J0Zm9saW8gU3RhbmRhcmQuXFxuXFxuKipIb3cgY2FuIHdlIGhlbHA/KipcXG5cXG4qIExvd2VyIHlvdXIgZ3JlZW5ob3VzZSBnYXMgZW1pc3Npb25zIGJ5OlxcbiogVGFraW5nIHRyYW5zaXQsIGJpa2luZywgb3Igd2Fsa2luZyBpbnN0ZWFkIG9mIGRyaXZpbmcgd2hlbiBwb3NzaWJsZVxcbiogSW52ZXN0aW5nIGluIGFuIGVsZWN0cmljIHZlaGljbGVcXG4qIEluc3RhbGxpbmcgc29sYXIgYXQgeW91ciBob21lIG9yIGJ1c2luZXNzXFxuKiBJbXByb3ZpbmcgZW5lcmd5IGVmZmljaWVuY3kuIExlYXJuIGFib3V0IGVuZXJneSBzYXZpbmdzIGFuZCByZWJhdGUgcHJvZ3JhbXMgW2hlcmVdWzBdXFxuXFxuWzBdOiBodHRwOi8vd3d3LnNtZ292Lm5ldC9EZXBhcnRtZW50cy9PU0UvY2F0ZWdvcmllcy9lbmVyZ3kuYXNweFwifV1dfV0sXCJ0aXRsZV9pbWFnZVwiOlwiL2FwaS9hc3NldHMvMDAzRTZENzQtMUVCMy00MEFCLUFCNkMtNzVCNUYyNTJCQTFEXCIsXCJ1c2VfY3VzdG9tX3RpdGxlXCI6dHJ1ZSxcImN1c3RvbV90aXRsZVwiOlwiUmVkdWNlIGNvbW11bml0eSBncmVlbmhvdXNlIGdhcyBlbWlzc2lvbnMgYnkgMjAlIGZyb20gMTk5MCBsZXZlbHMgYnkgMjAxNVwiLFwidXNlX2N1c3RvbV9zdWJ0aXRsZVwiOnRydWUsXCJjdXN0b21fc3VidGl0bGVcIjpcIlRoaXMgaW5kaWNhdG9yIGlzIG1lYXN1cmVkIGJ5IHRyYWNraW5nIGNvbW11bml0eSBncmVlbmhvdXNlIGdhcyBlbWlzc2lvbnMgaW4gbWV0cmljIHRvbnMgb2YgQ08yZS5cIn0ifSwicHJldmFpbGluZ19tZWFzdXJlIjp7InN0YXJ0IjoiMTk5MC0wMS0wMVQwMDowMDowMC4wMDAiLCJlbmQiOiIyMDIwLTEyLTMxVDIzOjU5OjU5LjAwMCIsInVuaXQiOiJtZXRyaWMgdG9ucyBvZiBDTzJlIiwidGFyZ2V0X3R5cGUiOiJyZWxhdGl2ZSIsInRhcmdldF9kZWx0YSI6Mjc3MzI4LCJ0YXJnZXRfZGVsdGFfaXNfcGVyY2VudCI6ZmFsc2UsImJhc2VsaW5lIjoxMzg2NjQwLCJtZXRyaWMiOnsibWV0YWRhdGEiOiIiLCJpZCI6ImhnZWYtM2VociJ9LCJjb21wYXJpc29uIjp7ImNvbXBhcmlzb25fZnVuY3Rpb24iOiI8In0sIm1ldGFkYXRhIjp7Im1ldGFkYXRhIjoie1wiZWRpdFwiOntcInN0YXJ0XCI6e1wiZGF0ZVwiOlwic3RhcnRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MTk5MH0sXCJlbmRcIjp7XCJkYXRlXCI6XCJlbmRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAyMH0sXCJhY3Rpb25fdHlwZVwiOlwicmVkdWNlXCIsXCJ0YXJnZXRfdHlwZVwiOlwicmVsYXRpdmVcIn0sXCJiYXNlbGluZVwiOntcInNxdWlzaHlcIjp7XCJzdGFydFwiOntcImRhdGVcIjpcInN0YXJ0XCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMTV9LFwiZW5kXCI6e1wiZGF0ZVwiOlwic3RhcnRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAxNX19LFwic3RhcnRcIjpcIjIwMTUtMDEtMDFUMDA6MDA6MDAuMDAwXCIsXCJlbmRcIjpcIjIwMTUtMDEtMDFUMjM6NTk6NTkuMDAwXCIsXCJtZXRyaWNcIjp7XCJtZXRhZGF0YVwiOlwie1xcXCJ3aXphcmRcXFwiOntcXFwiZmlsdGVyX2FzdFxcXCI6W3tcXFwidmFsdWVzXFxcIjpbe31dfV19fVwifX0sXCJuYW1lXCI6XCJjb21tdW5pdHkgZ3JlZW5ob3VzZSBnYXMgZW1pc3Npb25zXCJ9In0sInVwZGF0ZWRfYXQiOiIyMDE2LTExLTA0VDIyOjI2OjQ1LjU4MVoiLCJjcmVhdGVkX2F0IjoiMjAxNS0wNy0yMFQyMjowMjoxOC40MDBaIiwidmVyc2lvbiI6IjIwMTYtMTEtMDRUMjI6MjY6NDUuNTgxWiIsImlkIjoicHJheS1tZTh3In0sInJlbGF0ZWRfbWVhc3VyZXMiOltdLCJiYXNlX2Rhc2hib2FyZCI6Im5hdmgtaWdmMiIsInVwZGF0ZWRfYXQiOiIyMDE4LTA0LTE4VDIzOjEzOjU3Ljg4N1oiLCJjcmVhdGVkX2F0IjoiMjAxNC0xMi0wNVQxOToxODozNi45NThaIiwidmVyc2lvbiI6IjIwMTgtMDQtMThUMjM6MTM6NTcuODg3WiIsImNyZWF0ZWRfYnkiOiJzMjZnLWU5eHQifV0sInZlcnNpb24iOiIyMDE1LTAxLTMwVDIzOjE4OjUxLjg0M1oifSx7ImlkIjoicmsydy1iaGtjIiwibmFtZSI6IkVjb2xvZ2ljYWwgRm9vdHByaW50IiwiZ29hbHMiOltdLCJ2ZXJzaW9uIjoiMjAxNS0wMS0zMFQyMzoxODoxNS4zOTdaIn0seyJpZCI6ImZuZ2YtdXE2diIsIm5hbWUiOiJHcmVlbiBDb25zdHJ1Y3Rpb24iLCJnb2FscyI6W3siaWQiOiJ2MmlpLTRtbXMiLCJuYW1lIjoiSW5jcmVhc2UgQ2l0eXdpZGUgR3JlZW4gQnVpbGRpbmdzIiwiaXNfcHVibGljIjp0cnVlLCJtZXRhZGF0YSI6eyJtZXRhZGF0YSI6IntcInJldGlyZW1lbnRfbmFycmF0aXZlXCI6W10sXCJuYXJyYXRpdmVcIjpbe1widHlwZVwiOlwidHdvQ29sTGF5b3V0XCIsXCJjb2x1bW5zXCI6W1t7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIqKldoYXQgaXMgdGhpcyBpbmRpY2F0b3I/KipcXG5cXG5UaGUgQ2l0eSBpcyB3b3JraW5nIHRvIGluY3JlYXNlIHRoZSBudW1iZXIgb2YgdGhlIFUuUy4gR3JlZW4gQnVpbGRpbmcgQ291bmNpbCdzIFxcXCJMZWFkZXJzaGlwIGluIEVuZXJneSBhbmQgRW52aXJvbm1lbnRhbCBEZXNpZ25cXFwiIChMRUVEKSBjZXJ0aWZpZWQgYnVpbGRpbmdzIGluIFNhbnRhIE1vbmljYS4gTEVFRCBjZXJ0aWZpZWQgYnVpbGRpbmcgcmF0aW5ncyByYW5nZSBmcm9tIFBsYXRpbnVtLCB0aGUgaGlnaGVzdCBsZXZlbCBvZiBhY2hpZXZlbWVudCwgdG8gR29sZCwgU2lsdmVyLCBCcm9uemUsIGFuZCBmaW5hbGx5IENlcnRpZmllZCwgdGhlIG1vc3QgYmFzaWMgbGV2ZWwuIExFRUQgZm9yIE5ldyBDb25zdHJ1Y3Rpb24gYWRkcmVzc2VzIGRlc2lnbiBhbmQgY29uc3RydWN0aW9uIGFjdGl2aXRpZXMgZm9yIGJvdGggbmV3IGJ1aWxkaW5ncyBhbmQgbWFqb3IgcmVub3ZhdGlvbnMgb2YgZXhpc3RpbmcgY29tbWVyY2lhbCBidWlsZGluZ3MgKFVTR0JDKS5cXG5cXG4gXFxuXFxuVGhpcyBpbmRpY2F0b3IgaXMgbWVhc3VyZWQgYnkgdGhlIHBlcmNlbnQgb2YgbmV3IG11bmljaXBhbCBidWlsZGluZ3MgdGhhdCBhY2hpZXZlIExFRUQgZm9yIE5ldyBDb25zdHJ1Y3Rpb24gKExFRUQgTkMpIGF0IGEgbGV2ZWwgb2YgR29sZCBvciBoaWdoZXIuXFxuXFxuKipXaHkgaXMgaXQgaW1wb3J0YW50PyoqXFxuXFxuTEVFRCBjZXJ0aWZpZWQgYnVpbGRpbmdzIGFyZSBhIHRlc3RhbWVudCB0byBsZWFkZXJzaGlwIGluIHN1c3RhaW5hYmxlIGRlc2lnbi4gR3JlZW4gY29uc3RydWN0aW9uIHByYWN0aWNlcyBjYW4gc2lnbmlmaWNhbnRseSByZWR1Y2UgdGhlIGFtb3VudCBvZiB3YXN0ZSB0aGF0IGVudGVycyBsYW5kZmlsbHMsIGVuY291cmFnZSByZW5ld2FibGUgZW5lcmd5IHVzZSBhbmQgY29uc3VtcHRpb24sIGFuZCBlbmFibGUgd2F0ZXIgcmVkdWN0aW9uIHRlY2hub2xvZ2llcywgYW1vbmcgb3RoZXIgYmVuZWZpdHMuIEluIGFkZGl0aW9uLCBMRUVEIGJ1aWxkaW5ncyBlbXBoYXNpemUgaGVhbHRoeSBwcmFjdGljZXMgc3VjaCBhcyBsb3ctVk9DIG1hdGVyaWFscywgd2hpY2ggZW5oYW5jZSBpbmRvb3IgYWlyIHF1YWxpdHkgZm9yIG9jY3VwYW50cy4gQWNoaWV2aW5nIExFRUQgR29sZCBjZXJ0aWZpY2F0aW9uIGZvciAxMDAlIG9mIG5ldyBtdW5pY2lwYWwgYnVpbGRpbmdzIChOZXcgQ29uc3RydWN0aW9uKSwgT3BlcmF0aW9ucyAmIE1haW50ZW5hbmNlIChPJk0pLGFuZCBpbmNyZWFzaW5nIHRoZSBwZXJjZW50YWdlIG9mIHJlc2lkZW50aWFsIGFuZCBub24tcmVzaWRlbnRpYWwgYnVpbGRpbmdzIHRoYXQgYWNoaWV2ZSBncmVlbiBjb25zdHJ1Y3Rpb24gY2VydGlmaWNhdGlvbnMgd2lsbCBicmluZyBzdWJzdGFudGlhbCBlbnZpcm9ubWVudGFsIGFuZCBlY29ub21pYyBiZW5lZml0cyB0byB0aGUgQ2l0eSBvZiBTYW50YSBNb25pY2EgYW5kIGl0cyByZXNpZGVudHMuXFxuXFxuXCJ9XSxbe1widHlwZVwiOlwiaW1hZ2VcIixcInNyY1wiOlwiL2FwaS9hc3NldHMvNUQ5Qzg1QzMtRURGQy00OEQwLUE5OTEtRUQ4NkNFMzY5RkZGXCJ9LHtcInR5cGVcIjpcInRleHRcIixcInRleHRcIjpcIioqSG93IGFyZSB3ZSBkb2luZz8qKlxcblxcbkFzIHBhcnQgb2YgU2FudGEgTW9uaWNhJ3MgZ3Jvd2luZyBjb21taXRtZW50IHRvIGdyZWVuIGJ1aWxkaW5nLCB0aGUgQ2l0eSBoYXMgZXN0YWJsaXNoZWQgcGVyZm9ybWFuY2Ugc3RhbmRhcmRzIHRoYXQgbmV3IGNvbnN0cnVjdGlvbiBwcm9qZWN0cyBtdXN0IG1lZXQuIFNpbmNlIDIwMTAsIHR3byBvdXQgb2YgdGhyZWUgbmV3IG11bmljaXBhbCBidWlsZGluZ3MgaGF2ZSBhY2hpZXZlZCBMRUVEIEdvbGQgY2VydGlmaWNhdGlvbiAoVGhlIFBpY28gQnJhbmNoIExpYnJhcnkgYW5kIFBhcmtpbmcgU3RydWN0dXJlIDYpLCBjb21wcmlzaW5nIDIyLDkyOSBzcXVhcmUgZmVldC4gQW4gYWRkaXRpb25hbCBtdW5pY2lwYWwgcHJvamVjdCAodGhlIEJpZyBCbHVlIEJ1cyBGdWVsIGFuZCBXYXNoIEZhY2lsaXR5KSBhY2hpZXZlZCBMRUVEIFNpbHZlciBjZXJ0aWZpY2F0aW9uIGZvciBhIGNvbW1lcmNpYWwgaW50ZXJpb3IgcHJvamVjdCwgY29tcHJpc2luZyAxNyw1NTYgc3F1YXJlIGZlZXQuIFRoZSBQaWNvIEJyYW5jaCBMaWJyYXJ5IGlzIHRoZSBvbmx5IG11bmljaXBhbCBidWlsZGluZyB0byBnbyBiZXlvbmQgdGhlIEdvbGQgbGV2ZWwgYW5kIGFjaGlldmUgTEVFRCBQbGF0aW51bSBjZXJ0aWZpY2F0aW9uLiBJbiB0aGlzIHRpbWUgZnJhbWUsIDczLDUwMSBzcXVhcmUgZmVldCBvZiB0b3RhbCBMRUVEIGNlcnRpZmlhYmxlIG11bmljaXBhbCBjb25zdHJ1Y3Rpb24gd2FzIGJ1aWx0LlxcblxcbkFzIHBhcnQgb2YgdGhlIENpdHnigJlzIGNvbW1pdG1lbnQgdG8gbGVhZGVyc2hpcCBpbiBncmVlbiBidWlsZGluZywgdGhlIENpdHkgaXMgc2Vla2luZyBbTGl2aW5nIEJ1aWxkaW5nIENoYWxsZW5nZV1bMF0gY2VydGlmaWNhdGlvbiBmb3IgdGhlIG5ldyBDaXR5IFNlcnZpY2VzIEJ1aWxkaW5nLCBzY2hlZHVsZWQgdG8gb3BlbiBpbiAyMDE3LiBUaGUgTGl2aW5nIEJ1aWxkaW5nIENoYWxsZW5nZSBpcyB0aGUgbW9zdCByaWdvcm91cyBncmVlbiBidWlsZGluZyBzdGFuZGFyZCBhdmFpbGFibGUsIHJlcXVpcmluZyBuZXQgemVybyBlbmVyZ3kgYW5kIHdhdGVyIHBlcmZvcm1hbmNlLCBhbW9uZyBvdGhlciBhbWJpdGlvdXMgcmVxdWlyZW1lbnRzLlxcblxcbioqSG93IGNhbiB3ZSBoZWxwPyoqXFxuXFxuKiBMZWFybiBtb3JlIGFib3V0IHRoZSBQaWNvIEJyYW5jaCBMaWJyYXJ54oCZcyBzdXN0YWluYWJsZSBmZWF0dXJlIFtoZXJlXVsxXSAuXFxuKiBGaW5kIGEgbGlzdCBvZiBMRUVEIGNlcnRpZmllZCBidWlsZGluZyBpbiBTYW50YSBNb25pY2EgW2diaWcub3JnIC5dWzJdXFxuKiBGaW5kIG91dCBtb3JlIGFib3V0IHRoZSBMaXZpbmcgQnVpbGRpbmcgQ2hhbGxlbmdlIGNlcnRpZmljYXRpb24gW2hlcmVdWzBdIC5cXG4qIElmIHlvdSBhcmUgYSBidWlsZGluZyBvd25lciBvciBkZXZlbG9wZXIsIHlvdSBjYW4gZmluZCBpbmZvcm1hdGlvbiBvbiBob3cgdG8gcHVyc3VlIExFRUQgY2VydGlmaWNhdGlvbiB0aHJvdWdoIFVTR0JDIFtoZXJlXVszXSAuXFxuKiBJZiB5b3UgYXJlIGEgdGVuYW50LCB0YWxrIHRvIHlvdXIgbGFuZGxvcmQgYWJvdXQgdGhlIFtiZW5lZml0c11bNF0gb2YgYXR0YWluaW5nIExFRUQgY2VydGlmaWNhdGlvbi5cXG4qIElmIHlvdSBhcmUgaW50ZXJlc3RlZCBpbiBsZWFybmluZyBtb3JlIGFib3V0IHRoZSBMRUVEIGNlcnRpZmljYXRpb24gcHJvY2VzcyBhbmQvb3IgZ3VpZGluZyBvdGhlcnMgaW4gdGhpcyBwcm9jZXNzLCBmaW5kIG91dCBhYm91dCBiZWNvbWluZyBhIExFRUQtYWNjcmVkaXRlZCBwcm9mZXNzaW9uYWwgW2hlcmVdWzVdIC5cXG5cXG5bMF06IGh0dHA6Ly9saXZpbmctZnV0dXJlLm9yZy9sYmNcXG5bMV06IGh0dHA6Ly93d3cuc21nb3YubmV0L0RlcGFydG1lbnRzL09TRS9DYXRlZ29yaWVzL0dyZWVuX0J1aWxkaW5nL1BpY29fQnJhbmNoX0xpYnJhcnkuYXNweFxcblsyXTogaHR0cDovL3d3dy5nYmlnLm9yZy9wbGFjZXMvMTY4N1xcblszXTogaHR0cDovL3d3dy51c2diYy5vcmcvY2VydGlmaWNhdGlvblxcbls0XTogaHR0cDovL3d3dy51c2diYy5vcmcvbGVlZFxcbls1XTogaHR0cDovL3d3dy51c2diYy5vcmcvY3JlZGVudGlhbHNcIn1dXX1dLFwidGl0bGVfaW1hZ2VcIjpcIi9hcGkvYXNzZXRzL0Q3NDI3NTM5LTA3MjgtNDc0MS1CMUUzLUJERkY4NUNGRTRGQ1wifSJ9LCJwcmV2YWlsaW5nX21lYXN1cmUiOnsic3RhcnQiOiIyMDEwLTAxLTAxVDAwOjAwOjAwLjAwMCIsImVuZCI6IjIwMjAtMTItMzFUMjM6NTk6NTkuMDAwIiwidW5pdCI6InBlcmNlbnQiLCJ0YXJnZXQiOjEwMCwidGFyZ2V0X3R5cGUiOiJhYnNvbHV0ZSIsInRhcmdldF9kZWx0YV9pc19wZXJjZW50IjpmYWxzZSwibWV0cmljIjp7Im1ldGFkYXRhIjoiIiwiaWQiOiJjeGNoLXJnOTQifSwiY29tcGFyaXNvbiI6eyJjb21wYXJpc29uX2Z1bmN0aW9uIjoiPiJ9LCJtZXRhZGF0YSI6eyJtZXRhZGF0YSI6IntcImVkaXRcIjp7XCJzdGFydFwiOntcImRhdGVcIjpcInN0YXJ0XCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMTB9LFwiZW5kXCI6e1wiZGF0ZVwiOlwiZW5kXCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMjB9fSxcImJhc2VsaW5lXCI6e1wic3F1aXNoeVwiOntcInN0YXJ0XCI6e1wiZGF0ZVwiOlwic3RhcnRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAxNX0sXCJlbmRcIjp7XCJkYXRlXCI6XCJzdGFydFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDE1fX0sXCJzdGFydFwiOlwiMjAxNS0wMS0wMVQwMDowMDowMC4wMDBcIixcImVuZFwiOlwiMjAxNS0wMS0wMVQyMzo1OTo1OS4wMDBcIixcIm1ldHJpY1wiOntcIm1ldGFkYXRhXCI6XCJ7XFxcIndpemFyZFxcXCI6e1xcXCJmaWx0ZXJfYXN0XFxcIjpbe1xcXCJ2YWx1ZXNcXFwiOlt7fV19XX19XCJ9fSxcIm5hbWVcIjpcIk11bmljaXBhbCBMRUVEIEdvbGQgTmV3IENvbnN0cnVjdGlvblwifSJ9LCJ1cGRhdGVkX2F0IjoiMjAxNi0wMi0xOFQyMjo1ODowNy42NTZaIiwiY3JlYXRlZF9hdCI6IjIwMTUtMDctMTZUMTc6MTI6NTIuMTEyWiIsInZlcnNpb24iOiIyMDE2LTAyLTE4VDIyOjU4OjA3LjY1NloiLCJpZCI6ImV0Y3ItYnY5bSJ9LCJyZWxhdGVkX21lYXN1cmVzIjpbXSwiYmFzZV9kYXNoYm9hcmQiOiJuYXZoLWlnZjIiLCJ1cGRhdGVkX2F0IjoiMjAxNi0wNC0xM1QxNjowOTowNC4wNzVaIiwiY3JlYXRlZF9hdCI6IjIwMTUtMDEtMzBUMjM6MTg6MTUuMjYyWiIsInZlcnNpb24iOiIyMDE2LTA0LTEzVDE2OjA5OjA0LjA3NVoiLCJjcmVhdGVkX2J5IjoibnR1Ni1rdnNiIn1dLCJ2ZXJzaW9uIjoiMjAxNi0wNS0xMFQyMDoyMjo0MS41MDZaIn1dLCJpc19wdWJsaWMiOnRydWUsInZlcnNpb24iOiIyMDE3LTAxLTA1VDIzOjU1OjEzLjg0OVoifX0=
eyJzdGF0dXMiOjQwNCwiZGF0YSI6eyJjb2RlIjoibm90X2ZvdW5kIiwiZXJyb3IiOnRydWUsIm1lc3NhZ2UiOiJVc2VyIG5vdCBmb3VuZCJ9fQ==
eyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJjb21wdXRlIjp7ImFnZ3JlZ2F0aW9uX2Z1bmN0aW9uIjoibW9zdF9yZWNlbnQifSwiZGF0ZV9jb2x1bW4iOiJ5ZWFyIiwidmVyc2lvbiI6IjIwMTYtMDQtMTNUMTQ6NTk6NTAuMTgyWiIsImlkIjoicXM3cS1tNjlkIiwiY29sdW1uMSI6ImdlbmVyYXRlZCIsImRhdGFzZXQiOiIzNm03LTRtc3QiLCJtZXRhZGF0YSI6IntcIndpemFyZFwiOntcImZpbHRlcl9hc3RcIjpbe1widmFsdWVzXCI6W3t9XSxcImRhdGFzZXRcIjpcIjM2bTctNG1zdFwifV0sXCJ2YWx1ZVR5cGVcIjpcIm9uZVwiLFwicHJlZmlsdGVyVHlwZVwiOlwidW5maWx0ZXJlZFwifX0iLCJkYXRhc2V0X2RvbWFpbiI6ImRhdGEuc3VzdGFpbmFibGVzbS5vcmciLCJjcmVhdGVkX2F0IjoiMjAxNS0wNS0yMlQyMTo1MDo1MC4wMzJaIiwidXBkYXRlZF9hdCI6IjIwMTYtMDQtMTNUMTQ6NTk6NTAuMTgyWiJ9fQ==
eyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJjb21wdXRlIjp7ImFnZ3JlZ2F0aW9uX2Z1bmN0aW9uIjoibW9zdF9yZWNlbnQifSwiZGF0ZV9jb2x1bW4iOiJ5ZWFyIiwidmVyc2lvbiI6IjIwMTYtMDQtMTNUMTU6MDI6NDguODk1WiIsImlkIjoicXh3cS1lYnhpIiwiY29sdW1uMSI6ImFjdHVhbF9zYl8xMDE2X3Blcl9yZXNpZGVudF9yYXRlIiwiZGF0YXNldCI6IjM2bTctNG1zdCIsIm1ldGFkYXRhIjoie1wid2l6YXJkXCI6e1wiZmlsdGVyX2FzdFwiOlt7XCJ2YWx1ZXNcIjpbe31dLFwiZGF0YXNldFwiOlwiMzZtNy00bXN0XCJ9XSxcInZhbHVlVHlwZVwiOlwib25lXCJ9fSIsImRhdGFzZXRfZG9tYWluIjoiZGF0YS5zdXN0YWluYWJsZXNtLm9yZyIsImNyZWF0ZWRfYXQiOiIyMDE1LTAxLTA2VDE4OjI3OjAwLjIwNFoiLCJ1cGRhdGVkX2F0IjoiMjAxNi0wNC0xM1QxNTowMjo0OC44OTVaIn19
eyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJjb21wdXRlIjp7ImFnZ3JlZ2F0aW9uX2Z1bmN0aW9uIjoibW9zdF9yZWNlbnQifSwiZGF0ZV9jb2x1bW4iOiJ5ZWFyIiwidmVyc2lvbiI6IjIwMTYtMDQtMTNUMTU6MDM6MzkuMDcxWiIsImlkIjoic3M2dC1uZWNhIiwiY29sdW1uMSI6ImFjdHVhbF9kaXZlcnRlZF9wY3QiLCJkYXRhc2V0IjoiMzZtNy00bXN0IiwibWV0YWRhdGEiOiJ7XCJ3aXphcmRcIjp7XCJmaWx0ZXJfYXN0XCI6W3tcInZhbHVlc1wiOlt7fV0sXCJkYXRhc2V0XCI6XCIzNm03LTRtc3RcIn1dLFwidmFsdWVUeXBlXCI6XCJvbmVcIn19IiwiZGF0YXNldF9kb21haW4iOiJkYXRhLnN1c3RhaW5hYmxlc20ub3JnIiwiY3JlYXRlZF9hdCI6IjIwMTUtMDUtMjdUMDA6MDE6MTQuMjM4WiIsInVwZGF0ZWRfYXQiOiIyMDE2LTA0LTEzVDE1OjAzOjM5LjA3MVoifX0=
eyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJjb21wdXRlIjp7ImFnZ3JlZ2F0aW9uX2Z1bmN0aW9uIjoibW9zdF9yZWNlbnQifSwiZGF0ZV9jb2x1bW4iOiJ5ZWFyIiwidmVyc2lvbiI6IjIwMTUtMDUtMjdUMjA6MTE6NTYuNzg0WiIsImlkIjoiNWl3cS1pNnphIiwiY29sdW1uMSI6ImRlbWFuZF9tZ2QiLCJkYXRhc2V0IjoiaGlmdS0yenNyIiwibWV0YWRhdGEiOiJ7XCJ3aXphcmRcIjp7XCJmaWx0ZXJfYXN0XCI6W3tcInZhbHVlc1wiOlt7fV0sXCJkYXRhc2V0XCI6XCJoaWZ1LTJ6c3JcIn1dLFwidmFsdWVUeXBlXCI6XCJvbmVcIn19IiwiZGF0YXNldF9kb21haW4iOiJzYW50YW1vbmljYS1zdGF0LmRlbW8uc29jcmF0YS5jb20iLCJjcmVhdGVkX2F0IjoiMjAxNS0wNS0yN1QyMDoxMTo1Ni43ODRaIn19
eyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJjb21wdXRlIjp7ImFnZ3JlZ2F0aW9uX2Z1bmN0aW9uIjoibW9zdF9yZWNlbnQifSwiZGF0ZV9jb2x1bW4iOiJ5ZWFyIiwidmVyc2lvbiI6IjIwMTUtMDUtMjdUMjE6Mzk6NDkuMzYyWiIsImlkIjoicHQ4OS1wbmJjIiwiY29sdW1uMSI6ImRlbV9wZXJfY2FwX2dwZCIsImRhdGFzZXQiOiJoaWZ1LTJ6c3IiLCJtZXRhZGF0YSI6IntcIndpemFyZFwiOntcImZpbHRlcl9hc3RcIjpbe1widmFsdWVzXCI6W3t9XSxcImRhdGFzZXRcIjpcImhpZnUtMnpzclwifV0sXCJ2YWx1ZVR5cGVcIjpcIm9uZVwifX0iLCJkYXRhc2V0X2RvbWFpbiI6InNhbnRhbW9uaWNhLXN0YXQuZGVtby5zb2NyYXRhLmNvbSIsImNyZWF0ZWRfYXQiOiIyMDE1LTA1LTI3VDIxOjM5OjQ5LjM2MloifX0=
eyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJjb21wdXRlIjp7ImFnZ3JlZ2F0aW9uX2Z1bmN0aW9uIjoibW9zdF9yZWNlbnQifSwiZGF0ZV9jb2x1bW4iOiJ5ZWFyIiwidmVyc2lvbiI6IjIwMTUtMDUtMjdUMjE6MzI6MzYuNTQ5WiIsImlkIjoiaHloNC15NXNtIiwiY29sdW1uMSI6InBjdF9sb2NhbCIsImRhdGFzZXQiOiJoaWZ1LTJ6c3IiLCJtZXRhZGF0YSI6IntcIndpemFyZFwiOntcImZpbHRlcl9hc3RcIjpbe1widmFsdWVzXCI6W3t9XSxcImRhdGFzZXRcIjpcImhpZnUtMnpzclwifV0sXCJ2YWx1ZVR5cGVcIjpcIm9uZVwifX0iLCJkYXRhc2V0X2RvbWFpbiI6InNhbnRhbW9uaWNhLXN0YXQuZGVtby5zb2NyYXRhLmNvbSIsImNyZWF0ZWRfYXQiOiIyMDE1LTA1LTI3VDIxOjMyOjM2LjU0OVoifX0=
eyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJjb21wdXRlIjp7ImFnZ3JlZ2F0aW9uX2Z1bmN0aW9uIjoibW9zdF9yZWNlbnQifSwiZGF0ZV9jb2x1bW4iOiJ5ZWFyIiwidmVyc2lvbiI6IjIwMTYtMDQtMTlUMTY6NTk6MTEuNjg5WiIsImlkIjoiYTk4ci1yZ3lkIiwiY29sdW1uMSI6Im5vbl9wb3RhYmxlX21neSIsImRhdGFzZXQiOiJoaWZ1LTJ6c3IiLCJtZXRhZGF0YSI6IntcIndpemFyZFwiOntcImZpbHRlcl9hc3RcIjpbe1widmFsdWVzXCI6W3t9XSxcImRhdGFzZXRcIjpcImhpZnUtMnpzclwifV0sXCJ2YWx1ZVR5cGVcIjpcIm9uZVwifX0iLCJkYXRhc2V0X2RvbWFpbiI6ImRhdGEuc3VzdGFpbmFibGVzbS5vcmciLCJjcmVhdGVkX2F0IjoiMjAxNS0wNS0yN1QyMTo0Mjo1OS4zODdaIiwidXBkYXRlZF9hdCI6IjIwMTYtMDQtMTlUMTY6NTk6MTEuNjg5WiJ9fQ==
eyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJjb21wdXRlIjp7ImFnZ3JlZ2F0aW9uX2Z1bmN0aW9uIjoibW9zdF9yZWNlbnQifSwiZGF0ZV9jb2x1bW4iOiJ5ZWFyIiwidmVyc2lvbiI6IjIwMTYtMDQtMTNUMTU6NTQ6MzQuMTI4WiIsImlkIjoiYTlrNi1zN2NyIiwiY29sdW1uMSI6ImVsZWN0cmljaXR5X3RvdGFsX2t3aCIsImRhdGFzZXQiOiI2YWl4LXZ1aWciLCJtZXRhZGF0YSI6IntcIndpemFyZFwiOntcImZpbHRlcl9hc3RcIjpbe1widmFsdWVzXCI6W3t9XSxcImRhdGFzZXRcIjpcIjZhaXgtdnVpZ1wifV0sXCJ2YWx1ZVR5cGVcIjpcIm9uZVwifX0iLCJkYXRhc2V0X2RvbWFpbiI6ImRhdGEuc3VzdGFpbmFibGVzbS5vcmciLCJjcmVhdGVkX2F0IjoiMjAxNC0xMi0xN1QxOTo1MDo0OC45NDRaIiwidXBkYXRlZF9hdCI6IjIwMTYtMDQtMTNUMTU6NTQ6MzQuMTI4WiJ9fQ==
eyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJjb21wdXRlIjp7ImFnZ3JlZ2F0aW9uX2Z1bmN0aW9uIjoibW9zdF9yZWNlbnQifSwiZGF0ZV9jb2x1bW4iOiJ5ZWFyIiwidmVyc2lvbiI6IjIwMTYtMDQtMTNUMTU6NTY6MDEuODI1WiIsImlkIjoianJkOS11YmI3IiwiY29sdW1uMSI6InRvdGFsX2VsZWN0cmljaXR5X3NjZV9sYWR3cCIsImRhdGFzZXQiOiJqZzZwLXBzbnciLCJtZXRhZGF0YSI6IntcIndpemFyZFwiOntcImZpbHRlcl9hc3RcIjpbe1widmFsdWVzXCI6W3t9XSxcImRhdGFzZXRcIjpcImpnNnAtcHNud1wifV0sXCJ2YWx1ZVR5cGVcIjpcIm9uZVwifX0iLCJkYXRhc2V0X2RvbWFpbiI6ImRhdGEuc3VzdGFpbmFibGVzbS5vcmciLCJjcmVhdGVkX2F0IjoiMjAxNS0wNy0xNFQyMzo1OTozMS41MjZaIiwidXBkYXRlZF9hdCI6IjIwMTYtMDQtMTNUMTU6NTY6MDEuODI1WiJ9fQ==
eyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJjb21wdXRlIjp7ImNvbHVtbl9mdW5jdGlvbiI6IisiLCJhZ2dyZWdhdGlvbl9mdW5jdGlvbiI6Im1vc3RfcmVjZW50In0sImRhdGVfY29sdW1uIjoieWVhciIsInZlcnNpb24iOiIyMDE1LTEyLTE2VDE2OjIyOjQxLjc3N1oiLCJpZCI6ImRtc2ctYnNpZyIsImNvbHVtbjEiOiJvZl90b3RhbF9lbGVjdHJpY2l0eV9jb25zdW1wdGlvbiIsImNvbHVtbjIiOiJzY2VfcmVuZXdhYmxlX3BvcnRmb2xpb19zdGFuZGFyZCIsImRhdGFzZXQiOiI2YWl4LXZ1aWciLCJtZXRhZGF0YSI6IntcIndpemFyZFwiOntcImZpbHRlcl9hc3RcIjpbe1widmFsdWVzXCI6W3t9XSxcImRhdGFzZXRcIjpcIjZhaXgtdnVpZ1wifV0sXCJ2YWx1ZVR5cGVcIjpcInR3b1wifX0iLCJkYXRhc2V0X2RvbWFpbiI6ImRhdGEuc3VzdGFpbmFibGVzbS5vcmciLCJjcmVhdGVkX2F0IjoiMjAxNS0wNy0xM1QyMDo1NDoyNC45MjFaIiwidXBkYXRlZF9hdCI6IjIwMTUtMTItMTZUMTY6MjI6NDEuNzc3WiJ9fQ==
eyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJjb21wdXRlIjp7ImFnZ3JlZ2F0aW9uX2Z1bmN0aW9uIjoibW9zdF9yZWNlbnQifSwiZGF0ZV9jb2x1bW4iOiJ5ZWFyIiwidmVyc2lvbiI6IjIwMTYtMDQtMTNUMTY6MDI6MjUuODA0WiIsImlkIjoidHc2bi10OGdyIiwiY29sdW1uMSI6ImN1bXVsYXRpdmVfc29sYXJfY2FwYWNpdHlfa3ciLCJkYXRhc2V0IjoiNmFpeC12dWlnIiwibWV0YWRhdGEiOiJ7XCJ3aXphcmRcIjp7XCJmaWx0ZXJfYXN0XCI6W3tcInZhbHVlc1wiOlt7fV0sXCJkYXRhc2V0XCI6XCI2YWl4LXZ1aWdcIn1dLFwidmFsdWVUeXBlXCI6XCJvbmVcIn19IiwiZGF0YXNldF9kb21haW4iOiJkYXRhLnN1c3RhaW5hYmxlc20ub3JnIiwiY3JlYXRlZF9hdCI6IjIwMTUtMDUtMjJUMjM6MzY6MzguMTA0WiIsInVwZGF0ZWRfYXQiOiIyMDE2LTA0LTEzVDE2OjAyOjI1LjgwNFoifX0=
eyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJjb21wdXRlIjp7ImFnZ3JlZ2F0aW9uX2Z1bmN0aW9uIjoibW9zdF9yZWNlbnQifSwiZGF0ZV9jb2x1bW4iOiJ5ZWFyIiwidmVyc2lvbiI6IjIwMTUtMDctMTVUMjI6MjE6NDEuNjk3WiIsImlkIjoidDh6aC1yN2hlIiwiY29sdW1uMSI6ImNpdHlfb3duZWRfc29sYXJfa3ciLCJkYXRhc2V0Ijoiamc2cC1wc253IiwibWV0YWRhdGEiOiJ7XCJ3aXphcmRcIjp7XCJmaWx0ZXJfYXN0XCI6W3tcInZhbHVlc1wiOlt7fV0sXCJkYXRhc2V0XCI6XCJqZzZwLXBzbndcIn1dLFwidmFsdWVUeXBlXCI6XCJvbmVcIn19IiwiZGF0YXNldF9kb21haW4iOiJzYW50YW1vbmljYS1zdGF0LmRlbW8uc29jcmF0YS5jb20iLCJjcmVhdGVkX2F0IjoiMjAxNS0wNy0xNVQyMjoyMTo0MS42OTdaIn19
eyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJjb21wdXRlIjp7ImFnZ3JlZ2F0aW9uX2Z1bmN0aW9uIjoibW9zdF9yZWNlbnQifSwiZGF0ZV9jb2x1bW4iOiJ5ZWFyIiwidmVyc2lvbiI6IjIwMTYtMTEtMDRUMjI6MjQ6MzYuNjg4WiIsImlkIjoibmhiaS1tazUzIiwiY29sdW1uMSI6Imdvdl9vcF9sZXNzX2dwX3RvdGFsIiwiZGF0YXNldCI6InNrNWYtcG5wNSIsIm1ldGFkYXRhIjoie1wid2l6YXJkXCI6e1wiZmlsdGVyX2FzdFwiOlt7XCJ2YWx1ZXNcIjpbe31dLFwiZGF0YXNldFwiOlwic2s1Zi1wbnA1XCJ9XSxcInZhbHVlVHlwZVwiOlwib25lXCJ9fSIsImRhdGFzZXRfZG9tYWluIjoiZGF0YS5zdXN0YWluYWJsZXNtLm9yZyIsImNyZWF0ZWRfYXQiOiIyMDE1LTEyLTE3VDE2OjM1OjIyLjIxOFoiLCJ1cGRhdGVkX2F0IjoiMjAxNi0xMS0wNFQyMjoyNDozNi42ODhaIn19
eyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJjb21wdXRlIjp7ImFnZ3JlZ2F0aW9uX2Z1bmN0aW9uIjoibW9zdF9yZWNlbnQifSwiZGF0ZV9jb2x1bW4iOiJ5ZWFyIiwidmVyc2lvbiI6IjIwMTYtMTEtMDRUMjI6MjY6NTQuMDI4WiIsImlkIjoiaGdlZi0zZWhyIiwiY29sdW1uMSI6InRvdGFsX2NvbW11bml0eV9naGciLCJkYXRhc2V0Ijoic2s1Zi1wbnA1IiwibWV0YWRhdGEiOiJ7XCJ3aXphcmRcIjp7XCJmaWx0ZXJfYXN0XCI6W3tcInZhbHVlc1wiOlt7fV0sXCJkYXRhc2V0XCI6XCJzazVmLXBucDVcIn1dLFwidmFsdWVUeXBlXCI6XCJvbmVcIn19IiwiZGF0YXNldF9kb21haW4iOiJkYXRhLnN1c3RhaW5hYmxlc20ub3JnIiwiY3JlYXRlZF9hdCI6IjIwMTUtMTItMTdUMTY6MTk6MjQuOTUwWiIsInVwZGF0ZWRfYXQiOiIyMDE2LTExLTA0VDIyOjI2OjU0LjAyOFoifX0=
eyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJjb21wdXRlIjp7ImFnZ3JlZ2F0aW9uX2Z1bmN0aW9uIjoibW9zdF9yZWNlbnQifSwiZGF0ZV9jb2x1bW4iOiJ5ZWFyIiwidmVyc2lvbiI6IjIwMTYtMDQtMTNUMTY6MDk6MDQuMDMwWiIsImlkIjoiY3hjaC1yZzk0IiwiY29sdW1uMSI6Im5ld19tdW5pY2lwYWxfYnVpbGRpbmdzX2xlZWRfZ29sZF9uY19vcl9oaWdoZXIiLCJkYXRhc2V0IjoicjR6YS1mdTl5IiwibWV0YWRhdGEiOiJ7XCJ3aXphcmRcIjp7XCJmaWx0ZXJfYXN0XCI6W3tcInZhbHVlc1wiOlt7fV0sXCJkYXRhc2V0XCI6XCJyNHphLWZ1OXlcIn1dLFwidmFsdWVUeXBlXCI6XCJvbmVcIn19IiwiZGF0YXNldF9kb21haW4iOiJkYXRhLnN1c3RhaW5hYmxlc20ub3JnIiwiY3JlYXRlZF9hdCI6IjIwMTUtMTItMjhUMTk6MTQ6NDAuMDg4WiIsInVwZGF0ZWRfYXQiOiIyMDE2LTA0LTEzVDE2OjA5OjA0LjAzMFoifX0=