metanorma-standoc 2.2.0 → 2.2.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (38) hide show
  1. checksums.yaml +4 -4
  2. data/lib/metanorma/standoc/base.rb +12 -0
  3. data/lib/metanorma/standoc/blocks.rb +25 -15
  4. data/lib/metanorma/standoc/cleanup_biblio.rb +14 -8
  5. data/lib/metanorma/standoc/cleanup_reqt.rb +3 -136
  6. data/lib/metanorma/standoc/front.rb +6 -1
  7. data/lib/metanorma/standoc/front_contributor.rb +0 -10
  8. data/lib/metanorma/standoc/macros_inline.rb +1 -1
  9. data/lib/metanorma/standoc/reqt.rb +19 -75
  10. data/lib/metanorma/standoc/section.rb +35 -3
  11. data/lib/metanorma/standoc/utils.rb +9 -43
  12. data/lib/metanorma/standoc/validate.rb +1 -69
  13. data/lib/metanorma/standoc/validate_table.rb +91 -0
  14. data/lib/metanorma/standoc/version.rb +1 -1
  15. data/metanorma-standoc.gemspec +2 -2
  16. data/spec/metanorma/biblio_spec.rb +9 -9
  17. data/spec/metanorma/blocks_spec.rb +20 -266
  18. data/spec/metanorma/cleanup_blocks_spec.rb +0 -168
  19. data/spec/metanorma/macros_concept_spec.rb +1033 -0
  20. data/spec/metanorma/macros_spec.rb +1 -1031
  21. data/spec/metanorma/refs_spec.rb +0 -2
  22. data/spec/metanorma/reqt_spec.rb +130 -0
  23. data/spec/metanorma/section_spec.rb +5 -0
  24. data/spec/metanorma/validate_spec.rb +46 -6
  25. data/spec/vcr_cassettes/bsi16341.yml +80 -52
  26. data/spec/vcr_cassettes/dated_iso_ref_joint_iso_iec.yml +94 -94
  27. data/spec/vcr_cassettes/dated_iso_ref_joint_iso_iec1.yml +10 -10
  28. data/spec/vcr_cassettes/hide_refs.yml +74 -74
  29. data/spec/vcr_cassettes/isobib_get_123.yml +11 -11
  30. data/spec/vcr_cassettes/isobib_get_123_1.yml +22 -22
  31. data/spec/vcr_cassettes/isobib_get_123_1_fr.yml +30 -30
  32. data/spec/vcr_cassettes/isobib_get_123_2.yml +23 -23
  33. data/spec/vcr_cassettes/isobib_get_123_2001.yml +9 -9
  34. data/spec/vcr_cassettes/isobib_get_124.yml +10 -10
  35. data/spec/vcr_cassettes/rfcbib_get_rfc8341.yml +30 -60
  36. data/spec/vcr_cassettes/separates_iev_citations_by_top_level_clause.yml +45 -45
  37. data/spec/vcr_cassettes/std-link.yml +11 -11
  38. metadata +10 -7
@@ -31,7 +31,7 @@ http_interactions:
31
31
  Server:
32
32
  - nginx
33
33
  Date:
34
- - Thu, 28 Jul 2022 14:51:34 GMT
34
+ - Mon, 22 Aug 2022 14:40:58 GMT
35
35
  Content-Type:
36
36
  - application/json; charset=UTF-8
37
37
  Transfer-Encoding:
@@ -39,7 +39,7 @@ http_interactions:
39
39
  Connection:
40
40
  - keep-alive
41
41
  X-Alg-Pt:
42
- - '4'
42
+ - '3'
43
43
  Accept-Encoding:
44
44
  - deflate, gzip
45
45
  Cache-Control:
@@ -57,8 +57,8 @@ http_interactions:
57
57
  body:
58
58
  encoding: ASCII-8BIT
59
59
  string: !binary |-
60
- eyJoaXRzIjpbeyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wMC8zOS8zOTQ0IiwidXVpZCI6IjQwMDRhYzZjLTQ3NjEtNDFjOS1iOTg3LWMwMTkyYTE4MjU5YyIsInRpdGxlIjoiSVNPIDEzMToxOTc5IEFjb3VzdGljcyDigJQgRXhwcmVzc2lvbiBvZiBwaHlzaWNhbCBhbmQgc3ViamVjdGl2ZSBtYWduaXR1ZGVzIG9mIHNvdW5kIG9yIG5vaXNlIGluIGFpciIsInN0YXR1cyI6IldpdGhkcmF3biIsInllYXIiOjE5OTYsIm9yZGVyIjoxMDAsIm9iamVjdElEIjoiMzk0NF8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT46MTk3OSBBY291c3RpY3Mg4oCUIEV4cHJlc3Npb24gb2YgcGh5c2ljYWwgYW5kIHN1YmplY3RpdmUgbWFnbml0dWRlcyBvZiBzb3VuZCBvciBub2lzZSBpbiBhaXIiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNy84OC83ODg2MyIsInV1aWQiOiIwMzE1YzM3Mi0zMjU1LTQ0ODQtODIyZC1hZGFmYjE0YjBhYmMiLCJ0aXRsZSI6IklTTyAxMzExMS0yOjIwMjIgSW50ZWxsaWdlbnQgdHJhbnNwb3J0IHN5c3RlbXMgKElUUykg4oCUIFRoZSB1c2Ugb2YgcGVyc29uYWwgSVRTIHN0YXRpb25zIHRvIHN1cHBvcnQgSVRTIHNlcnZpY2UgcHJvdmlzaW9uIGZvciB0cmF2ZWxsZXJzIOKAlCBQYXJ0IDI6IEdlbmVyYWwgcmVxdWlyZW1lbnRzIGZvciBkYXRhIGV4Y2hhbmdlIGJldHdlZW4gSVRTIHN0YXRpb25zIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAyMiwib3JkZXIiOjExLCJ0ZXh0IjoiVGhpcyBkb2N1bWVudCBkZWZpbmVzIHRoZSBkYXRhIGV4Y2hhbmdlIHByb3RvY29sIHVzZWQgdG8gaW1wbGVtZW50IHVzZSBjYXNlcyBmb3IgYXBwbGljYXRpb25zIGJhc2VkIG9uIHRoZSBwZXJzb25hbCBJVFMgc3RhdGlvbiBkZWZpbmVkIGluIElTT8KgMTMxMTEtMSwgd2hpY2ggcHJvdmlkZXMgYW5kIG1haW50YWlucyBJVFMgc2VydmljZXMgdG8gdHJhdmVsbGVycywgaW5jbHVkaW5nIGRyaXZlcnMsIHBhc3NlbmdlcnMgYW5kIHBlZGVzdHJpYW5zLiBUaGUgSVRTIGFwcGxpY2F0aW9ucyBzdXBwb3J0ZWQgYnkgdGhpcyBkb2N1bWVudCBpbmNsdWRlIG11bHRpbW9kYWwgdHJhbnNwb3J0YXRpb24gaW5mb3JtYXRpb24gc2VydmljZXMgYW5kIG11bHRpbW9kYWwgbmF2aWdhdGlvbiBzZXJ2aWNlcyB0aGF0IGFyZSBiYXNlZCBvbiBwZXJzb25hbCBJVFMgc3RhdGlvbnMgaW4gdmFyaW91cyBhcHBsaWNhdGlvbiBzY2VuYXJpb3MgZGVmaW5lZCBpbiBJU0/CoDEzMTExLTEuIFRoZSB1c2UgY2FzZSBpbXBsZW1lbnRhdGlvbnMgZGVzY3JpYmVkIGluIHRoaXMgZG9jdW1lbnQgcmVmZXIgdG8gdGhlIGFyY2hpdGVjdHVyZSBkZWZpbmVkIGluIElTT8KgMjEyMTcgYW5kIElTT8KgMTMxODQuICIsIm9iamVjdElEIjoiNzg4NjNfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+MTEtMjoyMDIyIEludGVsbGlnZW50IHRyYW5zcG9ydCBzeXN0ZW1zIChJVFMpIOKAlCBUaGUgdXNlIG9mIHBlcnNvbmFsIElUUyBzdGF0aW9ucyB0byBzdXBwb3J0IElUUyBzZXJ2aWNlIHByb3Zpc2lvbiBmb3IgdHJhdmVsbGVycyDigJQgUGFydCAyOiBHZW5lcmFsIHJlcXVpcmVtZW50cyBmb3IgZGF0YSBleGNoYW5nZSBiZXR3ZWVuIElUUyBzdGF0aW9ucyIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiJUaGlzIGRvY3VtZW50IGRlZmluZXMgdGhlIGRhdGEgZXhjaGFuZ2UgcHJvdG9jb2wgdXNlZCB0byBpbXBsZW1lbnQgdXNlIGNhc2VzIGZvciBhcHBsaWNhdGlvbnMgYmFzZWQgb24gdGhlIHBlcnNvbmFsIElUUyBzdGF0aW9uIGRlZmluZWQgaW4gPGVtPklTTzwvZW0+wqA8ZW0+MTMxPC9lbT4xMS0xLCB3aGljaCBwcm92aWRlcyBhbmQgbWFpbnRhaW5zIElUUyBzZXJ2aWNlcyB0byB0cmF2ZWxsZXJzLCBpbmNsdWRpbmcgZHJpdmVycywgcGFzc2VuZ2VycyBhbmQgcGVkZXN0cmlhbnMuIFRoZSBJVFMgYXBwbGljYXRpb25zIHN1cHBvcnRlZCBieSB0aGlzIGRvY3VtZW50IGluY2x1ZGUgbXVsdGltb2RhbCB0cmFuc3BvcnRhdGlvbiBpbmZvcm1hdGlvbiBzZXJ2aWNlcyBhbmQgbXVsdGltb2RhbCBuYXZpZ2F0aW9uIHNlcnZpY2VzIHRoYXQgYXJlIGJhc2VkIG9uIHBlcnNvbmFsIElUUyBzdGF0aW9ucyBpbiB2YXJpb3VzIGFwcGxpY2F0aW9uIHNjZW5hcmlvcyBkZWZpbmVkIGluIDxlbT5JU088L2VtPsKgPGVtPjEzMTwvZW0+MTEtMS4gVGhlIHVzZSBjYXNlIGltcGxlbWVudGF0aW9ucyBkZXNjcmliZWQgaW4gdGhpcyBkb2N1bWVudCByZWZlciB0byB0aGUgYXJjaGl0ZWN0dXJlIGRlZmluZWQgaW4gPGVtPklTTzwvZW0+wqAyMTIxNyBhbmQgPGVtPklTTzwvZW0+wqA8ZW0+MTMxPC9lbT44NC4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDcvODMvNzgzNTQiLCJ1dWlkIjoiZjdiZjY3ZjMtYmZmZC00YmU5LWJhMGUtNzk2M2FmZDczNDdkIiwidGl0bGUiOiJJU08gMTMxNDMtMToyMDIwIEVsZWN0cm9uaWMgZmVlIGNvbGxlY3Rpb24g4oCUIEV2YWx1YXRpb24gb2Ygb24tYm9hcmQgYW5kIHJvYWRzaWRlIGVxdWlwbWVudCBmb3IgY29uZm9ybWl0eSB0byBJU08gMTI4MTMg4oCUIFBhcnQgMTogVGVzdCBzdWl0ZSBzdHJ1Y3R1cmUgYW5kIHRlc3QgcHVycG9zZXMiLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDIyLCJvcmRlciI6MTEsInRleHQiOiJUaGlzIGRvY3VtZW50IHNwZWNpZmllcyB0aGUgdGVzdCBzdWl0ZSBzdHJ1Y3R1cmUgKFRTUykgYW5kIHRlc3QgcHVycG9zZXMgKFRQcykgZm9yIGV2YWx1YXRpbmcgdGhlIGNvbmZvcm1pdHkgb2Ygb24tYm9hcmQgZXF1aXBtZW50IChPQkUpIGFuZCByb2Fkc2lkZSBlcXVpcG1lbnQgKFJTRSkgdG8gSVNPIDEyODEzLiBJdCBwcm92aWRlcyBhIGJhc2lzIGZvciBjb25mb3JtYW5jZSB0ZXN0cyBmb3IgZGVkaWNhdGVkIHNob3J0LXJhbmdlIGNvbW11bmljYXRpb24gKERTUkMpIE9CRSBhbmQgUlNFIHRvIHN1cHBvcnQgaW50ZXJvcGVyYWJpbGl0eSBiZXR3ZWVuIGRpZmZlcmVudCBlcXVpcG1lbnQgc3VwcGxpZWQgYnkgZGlmZmVyZW50IG1hbnVmYWN0dXJlcnMuIElTTyAxMjgxMyBkZWZpbmVzIHJlcXVpcmVtZW50cyBvbiB0aGUgY29tcGxpYW5jZSBjaGVjayBjb21tdW5pY2F0aW9uIChDQ0MpIGludGVyZmFjZSBsZXZlbCwgYnV0IG5vdCBmb3IgdGhlIFJTRSBvciBPQkUgaW50ZXJuYWwgZnVuY3Rpb25hbCBiZWhhdmlvdXIuIENvbnNlcXVlbnRseSwgdGVzdHMgcmVnYXJkaW5nIE9CRSBhbmQvb3IgUlNFIGZ1bmN0aW9uYWwgYmVoYXZpb3VyIHJlbWFpbiBvdXRzaWRlIHRoZSBzY29wZSBvZiB0aGlzIGRvY3VtZW50LiAiLCJvYmplY3RJRCI6Ijc4MzU0XzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjQzLTE6MjAyMCBFbGVjdHJvbmljIGZlZSBjb2xsZWN0aW9uIOKAlCBFdmFsdWF0aW9uIG9mIG9uLWJvYXJkIGFuZCByb2Fkc2lkZSBlcXVpcG1lbnQgZm9yIGNvbmZvcm1pdHkgdG8gPGVtPklTTzwvZW0+IDEyODEzIOKAlCBQYXJ0IDE6IFRlc3Qgc3VpdGUgc3RydWN0dXJlIGFuZCB0ZXN0IHB1cnBvc2VzIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IlRoaXMgZG9jdW1lbnQgc3BlY2lmaWVzIHRoZSB0ZXN0IHN1aXRlIHN0cnVjdHVyZSAoVFNTKSBhbmQgdGVzdCBwdXJwb3NlcyAoVFBzKSBmb3IgZXZhbHVhdGluZyB0aGUgY29uZm9ybWl0eSBvZiBvbi1ib2FyZCBlcXVpcG1lbnQgKE9CRSkgYW5kIHJvYWRzaWRlIGVxdWlwbWVudCAoUlNFKSB0byA8ZW0+SVNPPC9lbT4gMTI4MTMuIEl0IHByb3ZpZGVzIGEgYmFzaXMgZm9yIGNvbmZvcm1hbmNlIHRlc3RzIGZvciBkZWRpY2F0ZWQgc2hvcnQtcmFuZ2UgY29tbXVuaWNhdGlvbiAoRFNSQykgT0JFIGFuZCBSU0UgdG8gc3VwcG9ydCBpbnRlcm9wZXJhYmlsaXR5IGJldHdlZW4gZGlmZmVyZW50IGVxdWlwbWVudCBzdXBwbGllZCBieSBkaWZmZXJlbnQgbWFudWZhY3R1cmVycy4gPGVtPklTTzwvZW0+IDEyODEzIGRlZmluZXMgcmVxdWlyZW1lbnRzIG9uIHRoZSBjb21wbGlhbmNlIGNoZWNrIGNvbW11bmljYXRpb24gKENDQykgaW50ZXJmYWNlIGxldmVsLCBidXQgbm90IGZvciB0aGUgUlNFIG9yIE9CRSBpbnRlcm5hbCBmdW5jdGlvbmFsIGJlaGF2aW91ci4gQ29uc2VxdWVudGx5LCB0ZXN0cyByZWdhcmRpbmcgT0JFIGFuZC9vciBSU0UgZnVuY3Rpb25hbCBiZWhhdmlvdXIgcmVtYWluIG91dHNpZGUgdGhlIHNjb3BlIG9mIHRoaXMgZG9jdW1lbnQuICIsIm1hdGNoTGV2ZWwiOiJwYXJ0aWFsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA3LzAwLzcwMDQ4IiwidXVpZCI6IjNmMmZiMzM1LWE5YzQtNGZlNy1iOTRjLWRjY2NjOGI5M2Y5NiIsInRpdGxlIjoiSVNPIDEzMTQwLTI6MjAxNiBFbGVjdHJvbmljIGZlZSBjb2xsZWN0aW9uIOKAlCBFdmFsdWF0aW9uIG9mIG9uLWJvYXJkIGFuZCByb2Fkc2lkZSBlcXVpcG1lbnQgZm9yIGNvbmZvcm1pdHkgdG8gSVNPIDEzMTQxIOKAlCBQYXJ0IDI6IEFic3RyYWN0IHRlc3Qgc3VpdGUiLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDIyLCJvcmRlciI6MTEsInRleHQiOiJJU08gMTMxNDAtMjoyMDE2IHNwZWNpZmllcyB0aGUgYWJzdHJhY3QgdGVzdCBzdWl0ZSAoQVRTKSB0byBldmFsdWF0ZSB0aGUgY29uZm9ybWl0eSBvZiBvbi1ib2FyZCBlcXVpcG1lbnQgKE9CRSkgYW5kIHJvYWRzaWRlIGVxdWlwbWVudCAoUlNFKSB0byBJU08gMTMxNDE6MjAxNSBpbiBhY2NvcmRhbmNlIHdpdGggdGhlIHRlc3Qgc3VpdGUgc3RydWN0dXJlIGFuZCB0ZXN0IHB1cnBvc2VzIGRlZmluZWQgaW4gSVNPIDEzMTQw4oCRMToyMDE2LiBJdCBwcm92aWRlcyBhIGJhc2lzIGZvciBjb25mb3JtYW5jZSB0ZXN0cyBmb3IgZGVkaWNhdGVkIHNob3J0LXJhbmdlIGNvbW11bmljYXRpb24gKERTUkMpIGVxdWlwbWVudCAoT0JFIGFuZCBSU0UpIHRvIHN1cHBvcnQgaW50ZXJvcGVyYWJpbGl0eSBiZXR3ZWVuIGRpZmZlcmVudCBlcXVpcG1lbnQgc3VwcGxpZWQgYnkgZGlmZmVyZW50IG1hbnVmYWN0dXJlcnMuICIsIm9iamVjdElEIjoiNzAwNDhfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NDAtMjoyMDE2IEVsZWN0cm9uaWMgZmVlIGNvbGxlY3Rpb24g4oCUIEV2YWx1YXRpb24gb2Ygb24tYm9hcmQgYW5kIHJvYWRzaWRlIGVxdWlwbWVudCBmb3IgY29uZm9ybWl0eSB0byA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NDEg4oCUIFBhcnQgMjogQWJzdHJhY3QgdGVzdCBzdWl0ZSIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NDAtMjoyMDE2IHNwZWNpZmllcyB0aGUgYWJzdHJhY3QgdGVzdCBzdWl0ZSAoQVRTKSB0byBldmFsdWF0ZSB0aGUgY29uZm9ybWl0eSBvZiBvbi1ib2FyZCBlcXVpcG1lbnQgKE9CRSkgYW5kIHJvYWRzaWRlIGVxdWlwbWVudCAoUlNFKSB0byA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NDE6MjAxNSBpbiBhY2NvcmRhbmNlIHdpdGggdGhlIHRlc3Qgc3VpdGUgc3RydWN0dXJlIGFuZCB0ZXN0IHB1cnBvc2VzIGRlZmluZWQgaW4gPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjQw4oCRMToyMDE2LiBJdCBwcm92aWRlcyBhIGJhc2lzIGZvciBjb25mb3JtYW5jZSB0ZXN0cyBmb3IgZGVkaWNhdGVkIHNob3J0LXJhbmdlIGNvbW11bmljYXRpb24gKERTUkMpIGVxdWlwbWVudCAoT0JFIGFuZCBSU0UpIHRvIHN1cHBvcnQgaW50ZXJvcGVyYWJpbGl0eSBiZXR3ZWVuIGRpZmZlcmVudCBlcXVpcG1lbnQgc3VwcGxpZWQgYnkgZGlmZmVyZW50IG1hbnVmYWN0dXJlcnMuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA2LzgyLzY4MjQ3IiwidXVpZCI6IjMyOWNmODAzLTI1YmMtNGFjNy1hODE1LTk0Yzk2MTQ0YTY0ZiIsInRpdGxlIjoiSVNPIDEzMTQzLTI6MjAxNiBFbGVjdHJvbmljIGZlZSBjb2xsZWN0aW9uIOKAlCBFdmFsdWF0aW9uIG9mIG9uLWJvYXJkIGFuZCByb2Fkc2lkZSBlcXVpcG1lbnQgZm9yIGNvbmZvcm1pdHkgdG8gSVNPIDEyODEzIOKAlCBQYXJ0IDI6IEFic3RyYWN0IHRlc3Qgc3VpdGUiLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDIyLCJvcmRlciI6MTEsInRleHQiOiJJU08gMTMxNDMtMjoyMDE2IHNwZWNpZmllcyB0aGUgYWJzdHJhY3QgdGVzdCBzdWl0ZSAoQVRTKSB0byBldmFsdWF0ZSB0aGUgY29uZm9ybWl0eSBvZiBvbi1ib2FyZCBlcXVpcG1lbnQgKE9CRSkgYW5kIHJvYWRzaWRlIGVxdWlwbWVudCAoUlNFKSB0byBJU08gMTI4MTMgaW4gYWNjb3JkYW5jZSB3aXRoIHRoZSB0ZXN0IHN1aXRlIHN0cnVjdHVyZSBhbmQgdGVzdCBwdXJwb3NlcyBkZWZpbmVkIGluIElTTyAxMzE0M+KAkTE6MjAxNi4gSXQgcHJvdmlkZXMgYSBiYXNpcyBmb3IgY29uZm9ybWFuY2UgdGVzdHMgZm9yIGRlZGljYXRlZCBzaG9ydC1yYW5nZSBjb21tdW5pY2F0aW9uIChEU1JDKSBlcXVpcG1lbnQgKE9CRSBhbmQgUlNFKSB0byBlbmFibGUgaW50ZXJvcGVyYWJpbGl0eSBiZXR3ZWVuIGVxdWlwbWVudCBzdXBwbGllZCBieSBkaWZmZXJlbnQgbWFudWZhY3R1cmVycy4gSW4gb3JkZXIgdG8gYXNjZXJ0YWluIHRoYXQgT0JFIGFuZCBSU0UgZnVsZmlsIGVzc2VudGlhbCByYWRpbyByZXF1aXJlbWVudHMsIHRoZXkgYXJlIGFsc28gbGlrZWx5IHRvIGJlIHN1YmplY3QgdG8gYWRkaXRpb25hbCBmYWN0b3J5LCBzaXRlIGFuZCBzeXN0ZW0gYWNjZXB0YW5jZSB0ZXN0aW5nIChlLmcuIG9mIHBoeXNpY2FsIGFuZCBlbnZpcm9ubWVudGFsIGVuZHVyYW5jZSwgcXVhbGl0eSBhc3N1cmFuY2UgYW5kIGNvbnRyb2wgYXQgbWFudWZhY3R1cmluZywgYW5kIGNoYXJnZSBwb2ludCBpbnRlZ3JhdGlvbiksIHdoaWNoIGlzIG91dHNpZGUgdGhlIHNjb3BlIG9mIHRoaXMgZG9jdW1lbnQuICIsIm9iamVjdElEIjoiNjgyNDdfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NDMtMjoyMDE2IEVsZWN0cm9uaWMgZmVlIGNvbGxlY3Rpb24g4oCUIEV2YWx1YXRpb24gb2Ygb24tYm9hcmQgYW5kIHJvYWRzaWRlIGVxdWlwbWVudCBmb3IgY29uZm9ybWl0eSB0byA8ZW0+SVNPPC9lbT4gMTI4MTMg4oCUIFBhcnQgMjogQWJzdHJhY3QgdGVzdCBzdWl0ZSIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NDMtMjoyMDE2IHNwZWNpZmllcyB0aGUgYWJzdHJhY3QgdGVzdCBzdWl0ZSAoQVRTKSB0byBldmFsdWF0ZSB0aGUgY29uZm9ybWl0eSBvZiBvbi1ib2FyZCBlcXVpcG1lbnQgKE9CRSkgYW5kIHJvYWRzaWRlIGVxdWlwbWVudCAoUlNFKSB0byA8ZW0+SVNPPC9lbT4gMTI4MTMgaW4gYWNjb3JkYW5jZSB3aXRoIHRoZSB0ZXN0IHN1aXRlIHN0cnVjdHVyZSBhbmQgdGVzdCBwdXJwb3NlcyBkZWZpbmVkIGluIDxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT40M+KAkTE6MjAxNi4gSXQgcHJvdmlkZXMgYSBiYXNpcyBmb3IgY29uZm9ybWFuY2UgdGVzdHMgZm9yIGRlZGljYXRlZCBzaG9ydC1yYW5nZSBjb21tdW5pY2F0aW9uIChEU1JDKSBlcXVpcG1lbnQgKE9CRSBhbmQgUlNFKSB0byBlbmFibGUgaW50ZXJvcGVyYWJpbGl0eSBiZXR3ZWVuIGVxdWlwbWVudCBzdXBwbGllZCBieSBkaWZmZXJlbnQgbWFudWZhY3R1cmVycy4gSW4gb3JkZXIgdG8gYXNjZXJ0YWluIHRoYXQgT0JFIGFuZCBSU0UgZnVsZmlsIGVzc2VudGlhbCByYWRpbyByZXF1aXJlbWVudHMsIHRoZXkgYXJlIGFsc28gbGlrZWx5IHRvIGJlIHN1YmplY3QgdG8gYWRkaXRpb25hbCBmYWN0b3J5LCBzaXRlIGFuZCBzeXN0ZW0gYWNjZXB0YW5jZSB0ZXN0aW5nIChlLmcuIG9mIHBoeXNpY2FsIGFuZCBlbnZpcm9ubWVudGFsIGVuZHVyYW5jZSwgcXVhbGl0eSBhc3N1cmFuY2UgYW5kIGNvbnRyb2wgYXQgbWFudWZhY3R1cmluZywgYW5kIGNoYXJnZSBwb2ludCBpbnRlZ3JhdGlvbiksIHdoaWNoIGlzIG91dHNpZGUgdGhlIHNjb3BlIG9mIHRoaXMgZG9jdW1lbnQuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA2LzgyLzY4MjQ1IiwidXVpZCI6IjRkZGJmNWM0LTU2YTgtNDA4My1iZTYzLWQ5ZWU2NmE0MjY3YSIsInRpdGxlIjoiSVNPIDEzMTQwLTE6MjAxNiBFbGVjdHJvbmljIGZlZSBjb2xsZWN0aW9uIOKAlCBFdmFsdWF0aW9uIG9mIG9uLWJvYXJkIGFuZCByb2Fkc2lkZSBlcXVpcG1lbnQgZm9yIGNvbmZvcm1pdHkgdG8gSVNPIDEzMTQxIOKAlCBQYXJ0IDE6IFRlc3Qgc3VpdGUgc3RydWN0dXJlIGFuZCB0ZXN0IHB1cnBvc2VzIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAyMiwib3JkZXIiOjExLCJ0ZXh0IjoiSVNPIDEzMTQwLTE6MjAxNiBzcGVjaWZpZXMgdGhlIHRlc3Qgc3VpdGUgc3RydWN0dXJlIChUU1MpIGFuZCB0ZXN0IHB1cnBvc2VzIChUUCkgdG8gZXZhbHVhdGUgdGhlIGNvbmZvcm1pdHkgb2Ygb24tYm9hcmQgdW5pdHMgKE9CVSkgYW5kIHJvYWRzaWRlIGVxdWlwbWVudCAoUlNFKSB0byBJU08gMTMxNDEuIEl0IHByb3ZpZGVzIGEgYmFzaXMgZm9yIGNvbmZvcm1hbmNlIHRlc3RzIGZvciBkZWRpY2F0ZWQgc2hvcnQtcmFuZ2UgY29tbXVuaWNhdGlvbiAoRFNSQykgZXF1aXBtZW50IChvbi1ib2FyZCB1bml0cyBhbmQgcm9hZHNpZGUgdW5pdHMpIHRvIGVuYWJsZSBpbnRlcm9wZXJhYmlsaXR5IGJldHdlZW4gZGlmZmVyZW50IGVxdWlwbWVudCBzdXBwbGllZCBieSBkaWZmZXJlbnQgbWFudWZhY3R1cmVycy4gIiwib2JqZWN0SUQiOiI2ODI0NV8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT40MC0xOjIwMTYgRWxlY3Ryb25pYyBmZWUgY29sbGVjdGlvbiDigJQgRXZhbHVhdGlvbiBvZiBvbi1ib2FyZCBhbmQgcm9hZHNpZGUgZXF1aXBtZW50IGZvciBjb25mb3JtaXR5IHRvIDxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT40MSDigJQgUGFydCAxOiBUZXN0IHN1aXRlIHN0cnVjdHVyZSBhbmQgdGVzdCBwdXJwb3NlcyIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NDAtMToyMDE2IHNwZWNpZmllcyB0aGUgdGVzdCBzdWl0ZSBzdHJ1Y3R1cmUgKFRTUykgYW5kIHRlc3QgcHVycG9zZXMgKFRQKSB0byBldmFsdWF0ZSB0aGUgY29uZm9ybWl0eSBvZiBvbi1ib2FyZCB1bml0cyAoT0JVKSBhbmQgcm9hZHNpZGUgZXF1aXBtZW50IChSU0UpIHRvIDxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT40MS4gSXQgcHJvdmlkZXMgYSBiYXNpcyBmb3IgY29uZm9ybWFuY2UgdGVzdHMgZm9yIGRlZGljYXRlZCBzaG9ydC1yYW5nZSBjb21tdW5pY2F0aW9uIChEU1JDKSBlcXVpcG1lbnQgKG9uLWJvYXJkIHVuaXRzIGFuZCByb2Fkc2lkZSB1bml0cykgdG8gZW5hYmxlIGludGVyb3BlcmFiaWxpdHkgYmV0d2VlbiBkaWZmZXJlbnQgZXF1aXBtZW50IHN1cHBsaWVkIGJ5IGRpZmZlcmVudCBtYW51ZmFjdHVyZXJzLiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNi82Mi82NjIwMiIsInV1aWQiOiIwMTk2ODk0Zi0wZWM2LTQxNDUtODdkOC0xNTQxNDVhOGQyN2MiLCJ0aXRsZSI6IklTTyAxMzE3MToyMDE2IEVzc2VudGlhbCBvaWwgb2Ygb3JlZ2FubyBbT3JpZ2FudW0gdnVsZ2FyZSBMLiBzdWJzcC4gaGlydHVtIChMaW5rKSBsZXRzd10iLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDIyLCJvcmRlciI6MTEsInRleHQiOiJJU08gMTMxNzE6MjAxNiBzcGVjaWZpZXMgY2VydGFpbiBjaGFyYWN0ZXJpc3RpY3Mgb2YgdGhlIGVzc2VudGlhbCBvaWwgb2Ygb3JlZ2FubyBbIE9yaWdhbnVtIHZ1bGdhcmUgTC4gc3Vic3AuIGhpcnR1bSAoTGluaykgbGV0c3ddLCBpbiBvcmRlciB0byBmYWNpbGl0YXRlIHRoZSBhc3Nlc3NtZW50IG9mIGl0cyBxdWFsaXR5LiAiLCJvYmplY3RJRCI6IjY2MjAyXzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjcxOjIwMTYgRXNzZW50aWFsIG9pbCBvZiBvcmVnYW5vIFtPcmlnYW51bSB2dWxnYXJlIEwuIHN1YnNwLiBoaXJ0dW0gKExpbmspIGxldHN3XSIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NzE6MjAxNiBzcGVjaWZpZXMgY2VydGFpbiBjaGFyYWN0ZXJpc3RpY3Mgb2YgdGhlIGVzc2VudGlhbCBvaWwgb2Ygb3JlZ2FubyBbIE9yaWdhbnVtIHZ1bGdhcmUgTC4gc3Vic3AuIGhpcnR1bSAoTGluaykgbGV0c3ddLCBpbiBvcmRlciB0byBmYWNpbGl0YXRlIHRoZSBhc3Nlc3NtZW50IG9mIGl0cyBxdWFsaXR5LiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNi8yMi82MjI4NSIsInV1aWQiOiJmYjE2YzVkOS1iZDBiLTQyMGQtODA4Zi01NjFkNWMzYWM0YzAiLCJ0aXRsZSI6IklTTyAxMzEwNS0yOjIwMTQgQnVpbGRpbmcgY29uc3RydWN0aW9uIG1hY2hpbmVyeSBhbmQgZXF1aXBtZW50IOKAlCBNYWNoaW5lcnkgZm9yIGNvbmNyZXRlIHN1cmZhY2UgZmxvYXRpbmcgYW5kIGZpbmlzaGluZyDigJQgUGFydCAyOiBTYWZldHkgcmVxdWlyZW1lbnRzIGFuZCB2ZXJpZmljYXRpb24iLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDIyLCJvcmRlciI6MTEsInRleHQiOiJJU08gMTMxMDUtMjoyMDE0IHNwZWNpZmllcyBzYWZldHkgcmVxdWlyZW1lbnRzIGZvciBtYWNoaW5lcyB1c2VkIGZvciBjb25jcmV0ZSBzdXJmYWNlIGZsb2F0aW5nIGFuZCBmaW5pc2hpbmcuIFRoaXMgaW5jbHVkZXMgcGVkZXN0cmlhbi1jb250cm9sbGVkIGVxdWlwbWVudCBhbmQgcmlkZS1vbiBlcXVpcG1lbnQuIEl0IGlzIG5vdCBhcHBsaWNhYmxlIHRvICAgIGludGVybmFsIG9yIGV4dGVybmFsIHZpYnJhdG9ycyBvciBhbmNpbGxhcnkgZXF1aXBtZW50IHVzZWQgd2l0aCBpbnRlcm5hbCBhbmQgZXh0ZXJuYWwgdmlicmF0b3JzLCBmb3IgZXhhbXBsZSwgYWlyIGNvbXByZXNzb3JzLCBoeWRyYXVsaWMgcG93ZXIgc291cmNlcywgYW5kIHZvbHRhZ2UgdHJhbnNmb3JtZXJzLCB0byByZW1vdGUtY29udHJvbGxlZCBvciBoYW5kLWhlbGQgc21vb3RoaW5nIG1hY2hpbmVzIGFuZCBzZWxmLWFjdGluZyAocm9ib3RpYykgc21vb3RoaW5nIG1hY2hpbmVzLCBvciB0byBzdHJpa2Utb2ZmIHR5cGUgbWFjaGluZXMgY29tbW9ubHkga25vd24gYXMgc2NyZWVkcy4gSXQgZGVhbHMgd2l0aCBzaWduaWZpY2FudCBoYXphcmRzLCBoYXphcmRvdXMgc2l0dWF0aW9ucywgb3IgaGF6YXJkb3VzIGV2ZW50cyByZWxldmFudCB0byBtYWNoaW5lcnkgZm9yIGNvbmNyZXRlIHN1cmZhY2UgZmxvYXRpbmcgYW5kIGZpbmlzaGluZyAocG93ZXIgdHJvd2Vscykgd2hlbiB1c2VkIGFzIGludGVuZGVkIGFuZCB1bmRlciBjb25kaXRpb25zIG9mIG1pc3VzZSB3aGljaCBhcmUgcmVhc29uYWJseSBmb3Jlc2VlYWJsZSBieSB0aGUgbWFudWZhY3R1cmVyLiBJdCBpcyBub3QgYXBwbGljYWJsZSB0byBtYWNoaW5lcyB3aGljaCBhcmUgbWFudWZhY3R1cmVkIGJlZm9yZSB0aGUgZGF0ZSBvZiBpdHMgcHVibGljYXRpb24uICIsIm9iamVjdElEIjoiNjIyODVfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+MDUtMjoyMDE0IEJ1aWxkaW5nIGNvbnN0cnVjdGlvbiBtYWNoaW5lcnkgYW5kIGVxdWlwbWVudCDigJQgTWFjaGluZXJ5IGZvciBjb25jcmV0ZSBzdXJmYWNlIGZsb2F0aW5nIGFuZCBmaW5pc2hpbmcg4oCUIFBhcnQgMjogU2FmZXR5IHJlcXVpcmVtZW50cyBhbmQgdmVyaWZpY2F0aW9uIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT4wNS0yOjIwMTQgc3BlY2lmaWVzIHNhZmV0eSByZXF1aXJlbWVudHMgZm9yIG1hY2hpbmVzIHVzZWQgZm9yIGNvbmNyZXRlIHN1cmZhY2UgZmxvYXRpbmcgYW5kIGZpbmlzaGluZy4gVGhpcyBpbmNsdWRlcyBwZWRlc3RyaWFuLWNvbnRyb2xsZWQgZXF1aXBtZW50IGFuZCByaWRlLW9uIGVxdWlwbWVudC4gSXQgaXMgbm90IGFwcGxpY2FibGUgdG8gICAgaW50ZXJuYWwgb3IgZXh0ZXJuYWwgdmlicmF0b3JzIG9yIGFuY2lsbGFyeSBlcXVpcG1lbnQgdXNlZCB3aXRoIGludGVybmFsIGFuZCBleHRlcm5hbCB2aWJyYXRvcnMsIGZvciBleGFtcGxlLCBhaXIgY29tcHJlc3NvcnMsIGh5ZHJhdWxpYyBwb3dlciBzb3VyY2VzLCBhbmQgdm9sdGFnZSB0cmFuc2Zvcm1lcnMsIHRvIHJlbW90ZS1jb250cm9sbGVkIG9yIGhhbmQtaGVsZCBzbW9vdGhpbmcgbWFjaGluZXMgYW5kIHNlbGYtYWN0aW5nIChyb2JvdGljKSBzbW9vdGhpbmcgbWFjaGluZXMsIG9yIHRvIHN0cmlrZS1vZmYgdHlwZSBtYWNoaW5lcyBjb21tb25seSBrbm93biBhcyBzY3JlZWRzLiBJdCBkZWFscyB3aXRoIHNpZ25pZmljYW50IGhhemFyZHMsIGhhemFyZG91cyBzaXR1YXRpb25zLCBvciBoYXphcmRvdXMgZXZlbnRzIHJlbGV2YW50IHRvIG1hY2hpbmVyeSBmb3IgY29uY3JldGUgc3VyZmFjZSBmbG9hdGluZyBhbmQgZmluaXNoaW5nIChwb3dlciB0cm93ZWxzKSB3aGVuIHVzZWQgYXMgaW50ZW5kZWQgYW5kIHVuZGVyIGNvbmRpdGlvbnMgb2YgbWlzdXNlIHdoaWNoIGFyZSByZWFzb25hYmx5IGZvcmVzZWVhYmxlIGJ5IHRoZSBtYW51ZmFjdHVyZXIuIEl0IGlzIG5vdCBhcHBsaWNhYmxlIHRvIG1hY2hpbmVzIHdoaWNoIGFyZSBtYW51ZmFjdHVyZWQgYmVmb3JlIHRoZSBkYXRlIG9mIGl0cyBwdWJsaWNhdGlvbi4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDYvMTUvNjE1NjIiLCJ1dWlkIjoiNGU1NmJjNmYtMzM0Ny00MGQ0LThmNTEtMWMzMzJmNjE2MjIyIiwidGl0bGUiOiJJU08gMTMxMTEtMToyMDE3IEludGVsbGlnZW50IHRyYW5zcG9ydCBzeXN0ZW1zIChJVFMpIOKAlCBUaGUgdXNlIG9mIHBlcnNvbmFsIElUUyBzdGF0aW9uIHRvIHN1cHBvcnQgSVRTIHNlcnZpY2UgcHJvdmlzaW9uIGZvciB0cmF2ZWxsZXJzIOKAlCBQYXJ0IDE6IEdlbmVyYWwgaW5mb3JtYXRpb24gYW5kIHVzZSBjYXNlIGRlZmluaXRpb25zIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAyMiwib3JkZXIiOjExLCJ0ZXh0IjoiSVNPIDEzMTExLTE6MjAxNyBkZWZpbmVzIHRoZSBnZW5lcmFsIGluZm9ybWF0aW9uIGFuZCB1c2UgY2FzZXMgb2YgdGhlIGFwcGxpY2F0aW9ucyBiYXNlZCBvbiB0aGUgcGVyc29uYWwgSVRTIHN0YXRpb24gdG8gcHJvdmlkZSBhbmQgbWFpbnRhaW4gSVRTIHNlcnZpY2VzIHRvIHRyYXZlbGxlcnMgaW5jbHVkaW5nIGRyaXZlcnMsIHBhc3NlbmdlcnMgYW5kIHBlZGVzdHJpYW5zLiBUaGUgSVRTIGFwcGxpY2F0aW9ucyBzdXBwb3J0ZWQgYnkgSVNPIDEzMTExLTE6MjAxNyBpbmNsdWRlIG11bHRpLW1vZGFsIHRyYW5zcG9ydGF0aW9uIGluZm9ybWF0aW9uIHNlcnZpY2UgYW5kIG11bHRpbW9kYWwgbmF2aWdhdGlvbiBzZXJ2aWNlIHdoaWNoIGFyZSBiYXNlZCBvbiBwZXJzb25hbCBJVFMgc3RhdGlvbnMgaW4gdmFyaW91cyBhcHBsaWNhdGlvbiBzY2VuYXJpb3MgYXMgZm9sbG93cy4gLSAgICAgIFNsb3cgdHJhbnNwb3J0IGluZm9ybWF0aW9uIHNlcnZpY2UgYW5kIG5hdmlnYXRpb24gc2VydmljZSBzdWNoIGFzIHBlZGVzdHJpYW5zLCBiaWN5Y2xlcyBhbmQgZGlzYWJsZWQgKHdoZWVsY2hhaXIgYWNjZXNzaWJsZSkgbmF2aWdhdGlvbiwgYXMgd2VsbCBhcyBpbnRlcm5hbCB0cmFmZmljIG5hdmlnYXRpb24gaW5zaWRlIHRoZSBsb2NhbCB0cmFuc3BvcnQgYXJlYS4gLSAgICAgIFRyYW5zZmVyIGluZm9ybWF0aW9uIHNlcnZpY2UuIFRoZSBjb25zaWRlcmVkIGFwcGxpY2F0aW9uIGVudmlyb25tZW50IGluY2x1ZGVzIHRoZSB0cmFuc2ZlciBpbmZvcm1hdGlvbiBzZXJ2aWNlIGluIGEgdHJhbnNmZXIgbm9kZSBzdWNoIGFzIHRoZSBpbnRlZ3JhdGVkIHRyYW5zcG9ydGF0aW9uIGh1YiwgYnVzIHN0YXRpb25zLCBjYXIgcGFya2luZyBsb3QsIGFuIGluZG9vciB0cmFuc2ZlciBhcmVhLCBldGMuIC0gICAgICBNdWx0aS1tb2RhbCB0cmFmZmljIGluZm9ybWF0aW9uIHNlcnZpY2UuIFR5cGVzIG9mIHRyYWZmaWMgaW5mb3JtYXRpb24gaW5jbHVkZSByZWFsLXRpbWUgcm9hZCB0cmFmZmljIGluZm9ybWF0aW9uLCBwdWJsaWMgdHJhbnNwb3J0IG9wZXJhdGluZyBpbmZvcm1hdGlvbiwgc2VydmljZSBpbmZvcm1hdGlvbiBmb3IgcGVkZXN0cmlhbnMnIHJvYWQgbmV0d29yayBhbmQgc2VydmljZSBpbmZvcm1hdGlvbiBmb3IgdHJhbnNmZXIgbm9kZSBzdWNoIGFzIGludGVncmF0ZWQgdHJhbnNwb3J0YXRpb24gaHViLCBidXMgc3RhdGlvbnMsIGNhciBwYXJraW5nIGxvdCwgYW4gaW5kb29yIHRyYW5zZmVyIGFyZWEsIGV0Yy4gLSAgICAgIE11bHRpLW1vZGFsIG5hdmlnYXRpb24gc2VydmljZS4gSW5jbHVkZXMgc3RhdGljIGFuZCBkeW5hbWljIG11bHRpLW1vZGFsIHJvdXRpbmcgYW5kIHJlLXJvdXRpbmcgc2VydmljZSwgYXMgd2VsbCBhcyByZWFsLXRpbWUgZ3VpZGFuY2Ugc2VydmljZSB3aXRoIHZvaWNlL2ltYWdlL3RleHQvbWFwIGRyYXdpbmdzLiAtICAgICAgQ29tbXVuaXRpZXMgYWN0aXZpdGllcy4gRm9yIGV4YW1wbGUsIGEgdGVhbSB0cmF2ZWwgd2hlbiBhIGdyb3VwIG9mIHZlaGljbGVzIChvciBiaWN5Y2xlcykgdHJhY2sgdGhlIGxlYWQgdmVoaWNsZSBvbiB0aGUgd2F5IHRvIHRoZSBzYW1lIGRlc3RpbmF0aW9uLiAiLCJvYmplY3RJRCI6IjYxNTYyXzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjExLTE6MjAxNyBJbnRlbGxpZ2VudCB0cmFuc3BvcnQgc3lzdGVtcyAoSVRTKSDigJQgVGhlIHVzZSBvZiBwZXJzb25hbCBJVFMgc3RhdGlvbiB0byBzdXBwb3J0IElUUyBzZXJ2aWNlIHByb3Zpc2lvbiBmb3IgdHJhdmVsbGVycyDigJQgUGFydCAxOiBHZW5lcmFsIGluZm9ybWF0aW9uIGFuZCB1c2UgY2FzZSBkZWZpbml0aW9ucyIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+MTEtMToyMDE3IGRlZmluZXMgdGhlIGdlbmVyYWwgaW5mb3JtYXRpb24gYW5kIHVzZSBjYXNlcyBvZiB0aGUgYXBwbGljYXRpb25zIGJhc2VkIG9uIHRoZSBwZXJzb25hbCBJVFMgc3RhdGlvbiB0byBwcm92aWRlIGFuZCBtYWludGFpbiBJVFMgc2VydmljZXMgdG8gdHJhdmVsbGVycyBpbmNsdWRpbmcgZHJpdmVycywgcGFzc2VuZ2VycyBhbmQgcGVkZXN0cmlhbnMuIFRoZSBJVFMgYXBwbGljYXRpb25zIHN1cHBvcnRlZCBieSA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+MTEtMToyMDE3IGluY2x1ZGUgbXVsdGktbW9kYWwgdHJhbnNwb3J0YXRpb24gaW5mb3JtYXRpb24gc2VydmljZSBhbmQgbXVsdGltb2RhbCBuYXZpZ2F0aW9uIHNlcnZpY2Ugd2hpY2ggYXJlIGJhc2VkIG9uIHBlcnNvbmFsIElUUyBzdGF0aW9ucyBpbiB2YXJpb3VzIGFwcGxpY2F0aW9uIHNjZW5hcmlvcyBhcyBmb2xsb3dzLiAtICAgICAgU2xvdyB0cmFuc3BvcnQgaW5mb3JtYXRpb24gc2VydmljZSBhbmQgbmF2aWdhdGlvbiBzZXJ2aWNlIHN1Y2ggYXMgcGVkZXN0cmlhbnMsIGJpY3ljbGVzIGFuZCBkaXNhYmxlZCAod2hlZWxjaGFpciBhY2Nlc3NpYmxlKSBuYXZpZ2F0aW9uLCBhcyB3ZWxsIGFzIGludGVybmFsIHRyYWZmaWMgbmF2aWdhdGlvbiBpbnNpZGUgdGhlIGxvY2FsIHRyYW5zcG9ydCBhcmVhLiAtICAgICAgVHJhbnNmZXIgaW5mb3JtYXRpb24gc2VydmljZS4gVGhlIGNvbnNpZGVyZWQgYXBwbGljYXRpb24gZW52aXJvbm1lbnQgaW5jbHVkZXMgdGhlIHRyYW5zZmVyIGluZm9ybWF0aW9uIHNlcnZpY2UgaW4gYSB0cmFuc2ZlciBub2RlIHN1Y2ggYXMgdGhlIGludGVncmF0ZWQgdHJhbnNwb3J0YXRpb24gaHViLCBidXMgc3RhdGlvbnMsIGNhciBwYXJraW5nIGxvdCwgYW4gaW5kb29yIHRyYW5zZmVyIGFyZWEsIGV0Yy4gLSAgICAgIE11bHRpLW1vZGFsIHRyYWZmaWMgaW5mb3JtYXRpb24gc2VydmljZS4gVHlwZXMgb2YgdHJhZmZpYyBpbmZvcm1hdGlvbiBpbmNsdWRlIHJlYWwtdGltZSByb2FkIHRyYWZmaWMgaW5mb3JtYXRpb24sIHB1YmxpYyB0cmFuc3BvcnQgb3BlcmF0aW5nIGluZm9ybWF0aW9uLCBzZXJ2aWNlIGluZm9ybWF0aW9uIGZvciBwZWRlc3RyaWFucycgcm9hZCBuZXR3b3JrIGFuZCBzZXJ2aWNlIGluZm9ybWF0aW9uIGZvciB0cmFuc2ZlciBub2RlIHN1Y2ggYXMgaW50ZWdyYXRlZCB0cmFuc3BvcnRhdGlvbiBodWIsIGJ1cyBzdGF0aW9ucywgY2FyIHBhcmtpbmcgbG90LCBhbiBpbmRvb3IgdHJhbnNmZXIgYXJlYSwgZXRjLiAtICAgICAgTXVsdGktbW9kYWwgbmF2aWdhdGlvbiBzZXJ2aWNlLiBJbmNsdWRlcyBzdGF0aWMgYW5kIGR5bmFtaWMgbXVsdGktbW9kYWwgcm91dGluZyBhbmQgcmUtcm91dGluZyBzZXJ2aWNlLCBhcyB3ZWxsIGFzIHJlYWwtdGltZSBndWlkYW5jZSBzZXJ2aWNlIHdpdGggdm9pY2UvaW1hZ2UvdGV4dC9tYXAgZHJhd2luZ3MuIC0gICAgICBDb21tdW5pdGllcyBhY3Rpdml0aWVzLiBGb3IgZXhhbXBsZSwgYSB0ZWFtIHRyYXZlbCB3aGVuIGEgZ3JvdXAgb2YgdmVoaWNsZXMgKG9yIGJpY3ljbGVzKSB0cmFjayB0aGUgbGVhZCB2ZWhpY2xlIG9uIHRoZSB3YXkgdG8gdGhlIHNhbWUgZGVzdGluYXRpb24uICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA1LzcyLzU3MjM2IiwidXVpZCI6IjhjM2MwMDcwLTRkNjYtNDFlNC1hM2IxLTVmN2FlZjVkYzU0NiIsInRpdGxlIjoiSVNPIDEzMTA1LTE6MjAxNCBCdWlsZGluZyBjb25zdHJ1Y3Rpb24gbWFjaGluZXJ5IGFuZCBlcXVpcG1lbnQg4oCUIE1hY2hpbmVyeSBmb3IgY29uY3JldGUgc3VyZmFjZSBmbG9hdGluZyBhbmQgZmluaXNoaW5nIOKAlCBQYXJ0IDE6IFRlcm1zIGFuZCBjb21tZXJjaWFsIHNwZWNpZmljYXRpb25zIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAyMiwib3JkZXIiOjExLCJ0ZXh0IjoiSVNPIDEzMTA1LTE6MjAxNCBkZWZpbmVzIHRlcm1zIGFuZCBjb21tZXJjaWFsIHNwZWNpZmljYXRpb25zIGZvciBtYWNoaW5lcyB1c2VkIGZvciBjb25jcmV0ZSBzdXJmYWNlIGZsb2F0aW5nIGFuZCBmaW5pc2hpbmcgKGFsc28ga25vd24gYXMgcG93ZXIgdHJvd2VscykuIFRoaXMgaW5jbHVkZXMgcGVkZXN0cmlhbi1jb250cm9sbGVkIGVxdWlwbWVudCBhbmQgcmlkZS1vbiBlcXVpcG1lbnQuIEl0IGRvZXMgbm90IGFkZHJlc3Mgc3RyaWtlLW9mZiB0eXBlIG1hY2hpbmVzLCBjb21tb25seSBrbm93biBhcyBzY3JlZWRzLiAiLCJvYmplY3RJRCI6IjU3MjM2XzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjA1LTE6MjAxNCBCdWlsZGluZyBjb25zdHJ1Y3Rpb24gbWFjaGluZXJ5IGFuZCBlcXVpcG1lbnQg4oCUIE1hY2hpbmVyeSBmb3IgY29uY3JldGUgc3VyZmFjZSBmbG9hdGluZyBhbmQgZmluaXNoaW5nIOKAlCBQYXJ0IDE6IFRlcm1zIGFuZCBjb21tZXJjaWFsIHNwZWNpZmljYXRpb25zIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT4wNS0xOjIwMTQgZGVmaW5lcyB0ZXJtcyBhbmQgY29tbWVyY2lhbCBzcGVjaWZpY2F0aW9ucyBmb3IgbWFjaGluZXMgdXNlZCBmb3IgY29uY3JldGUgc3VyZmFjZSBmbG9hdGluZyBhbmQgZmluaXNoaW5nIChhbHNvIGtub3duIGFzIHBvd2VyIHRyb3dlbHMpLiBUaGlzIGluY2x1ZGVzIHBlZGVzdHJpYW4tY29udHJvbGxlZCBlcXVpcG1lbnQgYW5kIHJpZGUtb24gZXF1aXBtZW50LiBJdCBkb2VzIG5vdCBhZGRyZXNzIHN0cmlrZS1vZmYgdHlwZSBtYWNoaW5lcywgY29tbW9ubHkga25vd24gYXMgc2NyZWVkcy4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDUvMzQvNTM0NzgiLCJ1dWlkIjoiZGJkNGVlY2MtNjFmOC00MmIwLWI2OTctNmFlMWM5M2E5MjA5IiwidGl0bGUiOiJJU08gMTMxOTQ6MjAxMSBCb3ggcGFsbGV0cyDigJQgUHJpbmNpcGFsIHJlcXVpcmVtZW50cyBhbmQgdGVzdCBtZXRob2RzIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAyMiwib3JkZXIiOjExLCJ0ZXh0IjoiSVNPIDEzMTk0OjIwMTEgc3BlY2lmaWVzIHRoZSBkZWZpbml0aW9ucywgcHJpbmNpcGFsIHJlcXVpcmVtZW50cyBhbmQgdGVzdCBtZXRob2RzIGZvciBib3ggcGFsbGV0cyBvZiBhbGwgbWF0ZXJpYWxzLiBJdCBhcHBsaWVzIHRvIGJveCBwYWxsZXRzLCBpbmNsdWRpbmcgcG9zdCBwYWxsZXRzIGFuZCBjYWdlIHBhbGxldHMsIGJ1dCBpcyBub3QgaW50ZW5kZWQgdG8gYXBwbHkgdG8gdGFuayBhbmQgc2lsbyBwYWxsZXRzIGFzIGRlZmluZWQgaW4gSVNPIDQ0NS4gSXQgYWxzbyBhcHBsaWVzIHRvIGJveCBwYWxsZXRzIHdoaWNoIGNhbiBiZSBzdGFja2VkIGFuZCBoYW5kbGVkIGJ5IGZvcmtsaWZ0IHRydWNrcyBvciBwYWxsZXQgdHJ1Y2tzLCBidXQgZXhjbHVkZXMgb3RoZXIgbGlmdGluZyBkZXZpY2VzLiBJU08gMTMxOTQ6MjAxMSBhZGRyZXNzZXMgdGhlIHBlcmZvcm1hbmNlIG9mIHRoZSBib3ggcGFsbGV0IG9ubHksIGFuZCBub3QgaXRzIGNvbnRlbnRzLiAiLCJvYmplY3RJRCI6IjUzNDc4XzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjk0OjIwMTEgQm94IHBhbGxldHMg4oCUIFByaW5jaXBhbCByZXF1aXJlbWVudHMgYW5kIHRlc3QgbWV0aG9kcyIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+OTQ6MjAxMSBzcGVjaWZpZXMgdGhlIGRlZmluaXRpb25zLCBwcmluY2lwYWwgcmVxdWlyZW1lbnRzIGFuZCB0ZXN0IG1ldGhvZHMgZm9yIGJveCBwYWxsZXRzIG9mIGFsbCBtYXRlcmlhbHMuIEl0IGFwcGxpZXMgdG8gYm94IHBhbGxldHMsIGluY2x1ZGluZyBwb3N0IHBhbGxldHMgYW5kIGNhZ2UgcGFsbGV0cywgYnV0IGlzIG5vdCBpbnRlbmRlZCB0byBhcHBseSB0byB0YW5rIGFuZCBzaWxvIHBhbGxldHMgYXMgZGVmaW5lZCBpbiA8ZW0+SVNPPC9lbT4gNDQ1LiBJdCBhbHNvIGFwcGxpZXMgdG8gYm94IHBhbGxldHMgd2hpY2ggY2FuIGJlIHN0YWNrZWQgYW5kIGhhbmRsZWQgYnkgZm9ya2xpZnQgdHJ1Y2tzIG9yIHBhbGxldCB0cnVja3MsIGJ1dCBleGNsdWRlcyBvdGhlciBsaWZ0aW5nIGRldmljZXMuIDxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT45NDoyMDExIGFkZHJlc3NlcyB0aGUgcGVyZm9ybWFuY2Ugb2YgdGhlIGJveCBwYWxsZXQgb25seSwgYW5kIG5vdCBpdHMgY29udGVudHMuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA1LzMzLzUzMzg5IiwidXVpZCI6ImNlZGI3ZDI5LWJmOWQtNDI4ZC1hNDVmLTk1YmFkNmE5MWJmYiIsInRpdGxlIjoiSVNPIDEzMTQ1OjIwMTIgUnViYmVyIOKAlCBEZXRlcm1pbmF0aW9uIG9mIHZpc2Nvc2l0eSBhbmQgc3RyZXNzIHJlbGF4YXRpb24gdXNpbmcgYSByb3Rvcmxlc3Mgc2VhbGVkIHNoZWFyIHJoZW9tZXRlciIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMjIsIm9yZGVyIjoxMSwidGV4dCI6IklTTyAxMzE0NToyMDEyIGRlc2NyaWJlcyBhIG1ldGhvZCBmb3IgdGhlIGRldGVybWluYXRpb24gb2YgdGhlIHZpc2Nvc2l0eSBhbmQgc3RyZXNzIHJlbGF4YXRpb24gb2YgcmF3IG9yIGNvbXBvdW5kZWQgcnViYmVyIHVuZGVyIHNwZWNpZmllZCBjb25kaXRpb25zLiBUaGUgdmlzY29zaXR5IGRldGVybWluYXRpb24gY29uc2lzdHMgb2YgYSBjb25zdGFudCBzdHJhaW4sIHRlbXBlcmF0dXJlIGFuZCBmcmVxdWVuY3kgdGVzdCBpbiB3aGljaCB0aGUgZWxhc3RpYyBhbmQgdGhlIGxvc3MgY29tcG9uZW50cyBvZiB0aGUgY29tcGxleCBzaGVhciBtb2R1bHVzIGNhbiBiZSBkZXRlcm1pbmVkLiBUaGUgZGV0ZXJtaW5hdGlvbiBvZiBzdHJlc3MgcmVsYXhhdGlvbiBjb25zaXN0cyBvZiBhIGNvbnN0YW50IHN0YXRpYyBzdHJhaW4gYW5kIHRlbXBlcmF0dXJlIHRlc3QgaW4gd2hpY2ggdGhlIHRvcnF1ZSBkZWNyZWFzZSBjYW4gYmUgZGV0ZXJtaW5lZC4gIiwib2JqZWN0SUQiOiI1MzM4OV8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT40NToyMDEyIFJ1YmJlciDigJQgRGV0ZXJtaW5hdGlvbiBvZiB2aXNjb3NpdHkgYW5kIHN0cmVzcyByZWxheGF0aW9uIHVzaW5nIGEgcm90b3JsZXNzIHNlYWxlZCBzaGVhciByaGVvbWV0ZXIiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjQ1OjIwMTIgZGVzY3JpYmVzIGEgbWV0aG9kIGZvciB0aGUgZGV0ZXJtaW5hdGlvbiBvZiB0aGUgdmlzY29zaXR5IGFuZCBzdHJlc3MgcmVsYXhhdGlvbiBvZiByYXcgb3IgY29tcG91bmRlZCBydWJiZXIgdW5kZXIgc3BlY2lmaWVkIGNvbmRpdGlvbnMuIFRoZSB2aXNjb3NpdHkgZGV0ZXJtaW5hdGlvbiBjb25zaXN0cyBvZiBhIGNvbnN0YW50IHN0cmFpbiwgdGVtcGVyYXR1cmUgYW5kIGZyZXF1ZW5jeSB0ZXN0IGluIHdoaWNoIHRoZSBlbGFzdGljIGFuZCB0aGUgbG9zcyBjb21wb25lbnRzIG9mIHRoZSBjb21wbGV4IHNoZWFyIG1vZHVsdXMgY2FuIGJlIGRldGVybWluZWQuIFRoZSBkZXRlcm1pbmF0aW9uIG9mIHN0cmVzcyByZWxheGF0aW9uIGNvbnNpc3RzIG9mIGEgY29uc3RhbnQgc3RhdGljIHN0cmFpbiBhbmQgdGVtcGVyYXR1cmUgdGVzdCBpbiB3aGljaCB0aGUgdG9ycXVlIGRlY3JlYXNlIGNhbiBiZSBkZXRlcm1pbmVkLiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNS8zMy81MzMzMSIsInV1aWQiOiI4NTNkZDdjZC1lZWIzLTQ5MmEtYTY2OS00OTY2NTliMjFkZTkiLCJ0aXRsZSI6IklTTyAxMzEzODoyMDEyIEFpciBxdWFsaXR5IOKAlCBTYW1wbGluZyBjb252ZW50aW9ucyBmb3IgYWlyYm9ybmUgcGFydGljbGUgZGVwb3NpdGlvbiBpbiB0aGUgaHVtYW4gcmVzcGlyYXRvcnkgc3lzdGVtIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAyMiwib3JkZXIiOjExLCJ0ZXh0IjoiSVNPIDEzMTM4OjIwMTIgc3BlY2lmaWVzIHNhbXBsaW5nIGNvbnZlbnRpb25zIHRvIGRlZmluZSBpZGVhbGl6ZWQgc2FtcGxlcnMgZm9yIGVzdGltYXRpbmcgdGhlIGRlcG9zaXRpb24gb2Ygbm9uLXZvbGF0aWxlLCBub24taHlncm9zY29waWMsIG5vbi1maWJyb3VzIGFlcm9zb2xzIGluIGZpdmUgc3BlY2lmaWMgbG9jaSBvZiB0aGUgcmVzcGlyYXRvcnkgdHJhY3QuIFRoZSBmaXZlIGxvY2kgY29uc2lzdCBvZiB0aGUgYW50ZXJpb3IgYW5kIHBvc3RlcmlvciBhcmVhcyBvZiB0aGUgbmFzYWwgcGFzc2FnZXMsIHRoZSBjaWxpYXRlZCBhbmQgbm9uLWNpbGlhdGVkIHBhcnRzIG9mIHRoZSB0cmFjaGVvYnJvbmNoaWFsIGFyZWEsIGFuZCB0aGUgYWx2ZW9sYXIgKGdhcyBleGNoYW5nZSkgcmVnaW9uLiBUaGUgY29udmVudGlvbnMgYXJlIHNlcGFyYXRlZCBpbnRvIHRocmVlIGluZGVwZW5kZW50IHNhbXBsaW5nIGVmZmljaWVuY2llcyBkZWZpbmVkIGluIHRlcm1zIG9mIHRoZXJtb2R5bmFtaWMgZGlhbWV0ZXIgY2hhcmFjdGVyaXppbmcgdGhlIGRpZmZ1c2l2ZSAoQnJvd25pYW4pIG1vdGlvbiBvZiBzdWItbWljcm9tZXRyZSBwYXJ0aWNsZXMgYW5kIGZvdXIgZWZmaWNpZW5jaWVzIGluIHRlcm1zIG9mIGFlcm9keW5hbWljIGRpYW1ldGVyIO+AvjAsMSDOvG0gY2hhcmFjdGVyaXppbmcgZGVwb3NpdGlvbiBieSBpbXBhY3Rpb24sIGludGVyY2VwdGlvbiBvciBncmF2aXRhdGlvbmFsIHNldHRsaW5nLiBFYWNoIGNvbnZlbnRpb25hbCBjdXJ2ZSBoYXMgYmVlbiBkZXZlbG9wZWQgYXMgYW4gYXZlcmFnZSBvZiAxMiBkZXBvc2l0aW9uIGN1cnZlcyBjb3JyZXNwb25kaW5nIHRvIDEyIGJyZWF0aGluZyBjb25kaXRpb25zIHJhbmdpbmcgZnJvbSBzaXR0aW5nIHRvIGhlYXZ5IGV4ZXJjaXNlLCBtYWxlIHZzIGZlbWFsZSwgYW5kIGJyZWF0aGluZyBtb2RlIChtb3V0aCB2cyBuYXNhbCBicmVhdGhpbmcpLiAiLCJvYmplY3RJRCI6IjUzMzMxXzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjM4OjIwMTIgQWlyIHF1YWxpdHkg4oCUIFNhbXBsaW5nIGNvbnZlbnRpb25zIGZvciBhaXJib3JuZSBwYXJ0aWNsZSBkZXBvc2l0aW9uIGluIHRoZSBodW1hbiByZXNwaXJhdG9yeSBzeXN0ZW0iLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjM4OjIwMTIgc3BlY2lmaWVzIHNhbXBsaW5nIGNvbnZlbnRpb25zIHRvIGRlZmluZSBpZGVhbGl6ZWQgc2FtcGxlcnMgZm9yIGVzdGltYXRpbmcgdGhlIGRlcG9zaXRpb24gb2Ygbm9uLXZvbGF0aWxlLCBub24taHlncm9zY29waWMsIG5vbi1maWJyb3VzIGFlcm9zb2xzIGluIGZpdmUgc3BlY2lmaWMgbG9jaSBvZiB0aGUgcmVzcGlyYXRvcnkgdHJhY3QuIFRoZSBmaXZlIGxvY2kgY29uc2lzdCBvZiB0aGUgYW50ZXJpb3IgYW5kIHBvc3RlcmlvciBhcmVhcyBvZiB0aGUgbmFzYWwgcGFzc2FnZXMsIHRoZSBjaWxpYXRlZCBhbmQgbm9uLWNpbGlhdGVkIHBhcnRzIG9mIHRoZSB0cmFjaGVvYnJvbmNoaWFsIGFyZWEsIGFuZCB0aGUgYWx2ZW9sYXIgKGdhcyBleGNoYW5nZSkgcmVnaW9uLiBUaGUgY29udmVudGlvbnMgYXJlIHNlcGFyYXRlZCBpbnRvIHRocmVlIGluZGVwZW5kZW50IHNhbXBsaW5nIGVmZmljaWVuY2llcyBkZWZpbmVkIGluIHRlcm1zIG9mIHRoZXJtb2R5bmFtaWMgZGlhbWV0ZXIgY2hhcmFjdGVyaXppbmcgdGhlIGRpZmZ1c2l2ZSAoQnJvd25pYW4pIG1vdGlvbiBvZiBzdWItbWljcm9tZXRyZSBwYXJ0aWNsZXMgYW5kIGZvdXIgZWZmaWNpZW5jaWVzIGluIHRlcm1zIG9mIGFlcm9keW5hbWljIGRpYW1ldGVyIO+AvjAsMSDOvG0gY2hhcmFjdGVyaXppbmcgZGVwb3NpdGlvbiBieSBpbXBhY3Rpb24sIGludGVyY2VwdGlvbiBvciBncmF2aXRhdGlvbmFsIHNldHRsaW5nLiBFYWNoIGNvbnZlbnRpb25hbCBjdXJ2ZSBoYXMgYmVlbiBkZXZlbG9wZWQgYXMgYW4gYXZlcmFnZSBvZiAxMiBkZXBvc2l0aW9uIGN1cnZlcyBjb3JyZXNwb25kaW5nIHRvIDEyIGJyZWF0aGluZyBjb25kaXRpb25zIHJhbmdpbmcgZnJvbSBzaXR0aW5nIHRvIGhlYXZ5IGV4ZXJjaXNlLCBtYWxlIHZzIGZlbWFsZSwgYW5kIGJyZWF0aGluZyBtb2RlIChtb3V0aCB2cyBuYXNhbCBicmVhdGhpbmcpLiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNS8zMC81MzAwNiIsInV1aWQiOiJlMzFkZTdmMy0yNjg3LTRiNWItODZiYi01MDc2ZDczZjA3ZWYiLCJ0aXRsZSI6IklTTyAxMzEyMzoyMDExIE1ldGFsbGljIGFuZCBvdGhlciBpbm9yZ2FuaWMgY29hdGluZ3Mg4oCUIFRlc3QgbWV0aG9kIG9mIGN5Y2xpYyBoZWF0aW5nIGZvciB0aGVybWFsLWJhcnJpZXIgY29hdGluZ3MgdW5kZXIgdGVtcGVyYXR1cmUgZ3JhZGllbnQiLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDIyLCJvcmRlciI6MTEsInRleHQiOiJJU08gMTMxMjM6MjAxMSBhcHBsaWVzIHRvIHRoZSB0ZXN0IG1ldGhvZCBvZiBjeWNsaWMgaGVhdGluZyB0byBldmFsdWF0ZSB0aGUgdGhlcm1hbC1iYXJyaWVyIHBlcmZvcm1hbmNlIGFuZCBjeWNsaWMgaGVhdCByZXNpc3RhbmNlIG9mIHRoZSB0aGVybWFsLWJhcnJpZXIgY29hdGluZ3MgcHJvdmlkZWQgZm9yIGhpZ2gtdGVtcGVyYXR1cmUgY29tcG9uZW50cywgc3VjaCBhcyBidXJuZXJzLCByb3RvciBhbmQgc3RhdG9yIGJsYWRlcywgZXRjLiBvZiBwb3dlci1nZW5lcmF0aW9uIGdhcyB0dXJiaW5lcyB1c2VkIGluIHRoZXJtYWwgcG93ZXIgcGxhbnRzLCBhaXJjcmFmdCBlbmdpbmVzIGFuZCByb2NrZXQgZW5naW5lcy4gIiwib2JqZWN0SUQiOiI1MzAwNl8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT4yMzoyMDExIE1ldGFsbGljIGFuZCBvdGhlciBpbm9yZ2FuaWMgY29hdGluZ3Mg4oCUIFRlc3QgbWV0aG9kIG9mIGN5Y2xpYyBoZWF0aW5nIGZvciB0aGVybWFsLWJhcnJpZXIgY29hdGluZ3MgdW5kZXIgdGVtcGVyYXR1cmUgZ3JhZGllbnQiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjIzOjIwMTEgYXBwbGllcyB0byB0aGUgdGVzdCBtZXRob2Qgb2YgY3ljbGljIGhlYXRpbmcgdG8gZXZhbHVhdGUgdGhlIHRoZXJtYWwtYmFycmllciBwZXJmb3JtYW5jZSBhbmQgY3ljbGljIGhlYXQgcmVzaXN0YW5jZSBvZiB0aGUgdGhlcm1hbC1iYXJyaWVyIGNvYXRpbmdzIHByb3ZpZGVkIGZvciBoaWdoLXRlbXBlcmF0dXJlIGNvbXBvbmVudHMsIHN1Y2ggYXMgYnVybmVycywgcm90b3IgYW5kIHN0YXRvciBibGFkZXMsIGV0Yy4gb2YgcG93ZXItZ2VuZXJhdGlvbiBnYXMgdHVyYmluZXMgdXNlZCBpbiB0aGVybWFsIHBvd2VyIHBsYW50cywgYWlyY3JhZnQgZW5naW5lcyBhbmQgcm9ja2V0IGVuZ2luZXMuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA3Lzk4Lzc5ODI3IiwidXVpZCI6Ijk5MzcxYzgxLTEzZTgtNDQ5Ny05MjUwLTY4NDYwMDdlYWM2ZCIsInRpdGxlIjoiSVNPIDEzMTc5LTE6MjAyMSBJbXBsYW50cyBmb3Igc3VyZ2VyeSDigJQgQ29hdGluZ3Mgb24gbWV0YWxsaWMgc3VyZ2ljYWwgaW1wbGFudHMg4oCUIFBhcnQgMTogUGxhc21hLXNwcmF5ZWQgY29hdGluZ3MgZGVyaXZlZCBmcm9tIHRpdGFuaXVtIG9yIHRpdGFuaXVtLTYgYWx1bWludW0tNCB2YW5hZGl1bSBhbGxveSBwb3dkZXJzIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAyMSwib3JkZXIiOjExLCJ0ZXh0IjoiVGhpcyBkb2N1bWVudCBzcGVjaWZpZXMgZ2VuZXJhbCByZXF1aXJlbWVudHMgZm9yIHBsYXNtYS1zcHJheWVkIHRpdGFuaXVtIGNvYXRpbmdzIG9uIG1ldGFsbGljIHN1cmdpY2FsIGltcGxhbnRzLiBUaGlzIGRvY3VtZW50IGFwcGxpZXMgdG8gYXRtb3NwaGVyaWMgcGxhc21hIHNwcmF5aW5nIGFuZCB2YWN1dW0gcGxhc21hIHNwcmF5aW5nLiBUaGlzIGRvY3VtZW50IGRvZXMgbm90IGFwcGx5IHRvIGNvYXRpbmdzIG1hZGUgb2Ygb3RoZXIgbWF0ZXJpYWxzIHRoYW4gdGl0YW5pdW0gb3IgdGl0YW5pdW0tNiBhbHVtaW51bS00IHZhbmFkaXVtIGFsbG95IG9yIHRvIGNvYXRpbmdzIHJlYWxpemVkIGJ5IGFub3RoZXIgdGVjaG5vbG9neSB0aGFuIHBsYXNtYSBzcHJheWluZy4gTk9URcKgwqDCoMKgwqDCoCBBIHF1YWxpdHkgbWFuYWdlbWVudCBzeXN0ZW0gY2FuIGJlIHVzZWZ1bCwgZS5nLiBhcyBkZXNjcmliZWQgaW4gSVNPwqAxMzQ4NS4gUmVxdWlyZW1lbnRzIGZvciB0aGUgY29tcGV0ZW5jZSBvZiB0ZXN0aW5nIGxhYm9yYXRvcmllcyBjYW4gYmUgZm91bmQgaW4gSVNPL0lFQ8KgMTcwMjUuICIsIm9iamVjdElEIjoiNzk4MjdfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NzktMToyMDIxIEltcGxhbnRzIGZvciBzdXJnZXJ5IOKAlCBDb2F0aW5ncyBvbiBtZXRhbGxpYyBzdXJnaWNhbCBpbXBsYW50cyDigJQgUGFydCAxOiBQbGFzbWEtc3ByYXllZCBjb2F0aW5ncyBkZXJpdmVkIGZyb20gdGl0YW5pdW0gb3IgdGl0YW5pdW0tNiBhbHVtaW51bS00IHZhbmFkaXVtIGFsbG95IHBvd2RlcnMiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiVGhpcyBkb2N1bWVudCBzcGVjaWZpZXMgZ2VuZXJhbCByZXF1aXJlbWVudHMgZm9yIHBsYXNtYS1zcHJheWVkIHRpdGFuaXVtIGNvYXRpbmdzIG9uIG1ldGFsbGljIHN1cmdpY2FsIGltcGxhbnRzLiBUaGlzIGRvY3VtZW50IGFwcGxpZXMgdG8gYXRtb3NwaGVyaWMgcGxhc21hIHNwcmF5aW5nIGFuZCB2YWN1dW0gcGxhc21hIHNwcmF5aW5nLiBUaGlzIGRvY3VtZW50IGRvZXMgbm90IGFwcGx5IHRvIGNvYXRpbmdzIG1hZGUgb2Ygb3RoZXIgbWF0ZXJpYWxzIHRoYW4gdGl0YW5pdW0gb3IgdGl0YW5pdW0tNiBhbHVtaW51bS00IHZhbmFkaXVtIGFsbG95IG9yIHRvIGNvYXRpbmdzIHJlYWxpemVkIGJ5IGFub3RoZXIgdGVjaG5vbG9neSB0aGFuIHBsYXNtYSBzcHJheWluZy4gTk9URcKgwqDCoMKgwqDCoCBBIHF1YWxpdHkgbWFuYWdlbWVudCBzeXN0ZW0gY2FuIGJlIHVzZWZ1bCwgZS5nLiBhcyBkZXNjcmliZWQgaW4gPGVtPklTTzwvZW0+wqAxMzQ4NS4gUmVxdWlyZW1lbnRzIGZvciB0aGUgY29tcGV0ZW5jZSBvZiB0ZXN0aW5nIGxhYm9yYXRvcmllcyBjYW4gYmUgZm91bmQgaW4gPGVtPklTTzwvZW0+L0lFQ8KgMTcwMjUuICIsIm1hdGNoTGV2ZWwiOiJwYXJ0aWFsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA3Lzg4Lzc4ODQ1IiwidXVpZCI6IjUxMGE3YjVlLWMxM2UtNGRlMy1iOWNhLTE2ZDk0NjY1OGFlZiIsInRpdGxlIjoiSVNPIDEzMTYzOjIwMjEgV2F0ZXIgcXVhbGl0eSDigJQgTGVhZC0yMTAg4oCUIFRlc3QgbWV0aG9kIHVzaW5nIGxpcXVpZCBzY2ludGlsbGF0aW9uIGNvdW50aW5nIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAyMSwib3JkZXIiOjExLCJ0ZXh0IjoiVGhpcyBkb2N1bWVudCBzcGVjaWZpZXMgYSBtZXRob2QgZm9yIHRoZSBtZWFzdXJlbWVudCBvZiAyMTAgUGIgaW4gYWxsIHR5cGVzIG9mIHdhdGVycyBieSBsaXF1aWQgc2NpbnRpbGxhdGlvbiBjb3VudGluZyAoTFNDKS4gVGhlIG1ldGhvZCBpcyBhcHBsaWNhYmxlIHRvIHRlc3Qgc2FtcGxlcyBvZiBzdXBwbHkvZHJpbmtpbmcgd2F0ZXIsIHJhaW53YXRlciwgc3VyZmFjZSBhbmQgZ3JvdW5kIHdhdGVyLCBhcyB3ZWxsIGFzIGNvb2xpbmcgd2F0ZXIsIGluZHVzdHJpYWwgd2F0ZXIsIGRvbWVzdGljLCBhbmQgaW5kdXN0cmlhbCB3YXN0ZXdhdGVyIGFmdGVyIHByb3BlciBzYW1wbGluZyBhbmQgaGFuZGxpbmcsIGFuZCB0ZXN0IHNhbXBsZSBwcmVwYXJhdGlvbi4gRmlsdHJhdGlvbiBvZiB0aGUgdGVzdCBzYW1wbGUgaXMgbmVjZXNzYXJ5LiBMZWFk4oCRMjEwIGFjdGl2aXR5IGNvbmNlbnRyYXRpb24gaW4gdGhlIGVudmlyb25tZW50IGNhbiB2YXJ5IGFuZCB1c3VhbGx5IHJhbmdlcyBmcm9tIDLCoG1CccKgbCAtMSB0b8KgMzAwwqBtQnHCoGwgLTEgWzI3XVsyOF0gLiBVc2luZyBjdXJyZW50bHkgYXZhaWxhYmxlIGxpcXVpZCBzY2ludGlsbGF0aW9uIGNvdW50ZXJzLCB0aGUgbGltaXQgb2YgZGV0ZWN0aW9uIG9mIHRoaXMgbWV0aG9kIGZvcsKgIDIxMCBQYiBpcyBnZW5lcmFsbHkgb2YgdGhlIG9yZGVyIG9mIDIwwqBtQnHCoGwgLTEgdG8gNTDCoG1CccKgbCAtMSAsIHdoaWNoIGlzIGxvd2VyIHRoYW4gdGhlIFdITyBjcml0ZXJpYSBmb3Igc2FmZSBjb25zdW1wdGlvbiBvZiBkcmlua2luZyB3YXRlciAoMTAwwqBtQnEgbCDiiJIxICkuIFs0XVs2XSBUaGVzZSB2YWx1ZXMgY2FuIGJlIGFjaGlldmVkIHdpdGggYSBjb3VudGluZyB0aW1lIGJldHdlZW4gMTgwwqBtaW4gYW5kIDcyMMKgbWluIGZvciBhIHNhbXBsZSB2b2x1bWUgZnJvbSAwLDXCoGwgdG8gMSw1wqBsLiBIaWdoZXIgYWN0aXZpdHkgY29uY2VudHJhdGlvbnMgY2FuIGJlIG1lYXN1cmVkIGJ5IGVpdGhlciBkaWx1dGluZyB0aGUgc2FtcGxlIG9yIHVzaW5nIHNtYWxsZXIgc2FtcGxlIGFsaXF1b3RzIG9yIGJvdGguIFRoZSBtZXRob2QgcHJlc2VudGVkIGluIHRoaXMgZG9jdW1lbnQgaXMgbm90IGludGVuZGVkIGZvciB0aGUgZGV0ZXJtaW5hdGlvbiBvZiBhbiB1bHRyYS10cmFjZSBhbW91bnQgb2YgMjEwIFBiLiBUaGUgcmFuZ2Ugb2YgYXBwbGljYXRpb24gZGVwZW5kcyBvbiB0aGUgYW1vdW50IG9mIGRpc3NvbHZlZCBtYXRlcmlhbCBpbiB0aGUgd2F0ZXIgYW5kIG9uIHRoZSBwZXJmb3JtYW5jZSBjaGFyYWN0ZXJpc3RpY3Mgb2YgdGhlIG1lYXN1cmVtZW50IGVxdWlwbWVudCAoYmFja2dyb3VuZCBjb3VudCByYXRlIGFuZCBjb3VudGluZyBlZmZpY2llbmN5KS4gVGhlIG1ldGhvZCBkZXNjcmliZWQgaW4gdGhpcyBkb2N1bWVudCBpcyBhcHBsaWNhYmxlIHRvIGFuIGVtZXJnZW5jeSBzaXR1YXRpb24uIFRoZSBhbmFseXNpcyBvZiBQYiBhZHNvcmJlZCB0byBzdXNwZW5kZWQgbWF0dGVyIGlzIG5vdCBjb3ZlcmVkIGJ5IHRoaXMgbWV0aG9kLiBJdCBpcyB0aGUgdXNlcuKAmXMgcmVzcG9uc2liaWxpdHkgdG8gZW5zdXJlIHRoZSB2YWxpZGl0eSBvZiB0aGlzIHRlc3QgbWV0aG9kIGZvciB0aGUgd2F0ZXIgc2FtcGxlcyB0ZXN0ZWQuICIsIm9iamVjdElEIjoiNzg4NDVfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NjM6MjAyMSBXYXRlciBxdWFsaXR5IOKAlCBMZWFkLTIxMCDigJQgVGVzdCBtZXRob2QgdXNpbmcgbGlxdWlkIHNjaW50aWxsYXRpb24gY291bnRpbmciLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiVGhpcyBkb2N1bWVudCBzcGVjaWZpZXMgYSBtZXRob2QgZm9yIHRoZSBtZWFzdXJlbWVudCBvZiAyMTAgUGIgaW4gYWxsIHR5cGVzIG9mIHdhdGVycyBieSBsaXF1aWQgc2NpbnRpbGxhdGlvbiBjb3VudGluZyAoTFNDKS4gVGhlIG1ldGhvZCBpcyBhcHBsaWNhYmxlIHRvIHRlc3Qgc2FtcGxlcyBvZiBzdXBwbHkvZHJpbmtpbmcgd2F0ZXIsIHJhaW53YXRlciwgc3VyZmFjZSBhbmQgZ3JvdW5kIHdhdGVyLCBhcyB3ZWxsIGFzIGNvb2xpbmcgd2F0ZXIsIGluZHVzdHJpYWwgd2F0ZXIsIGRvbWVzdGljLCBhbmQgaW5kdXN0cmlhbCB3YXN0ZXdhdGVyIGFmdGVyIHByb3BlciBzYW1wbGluZyBhbmQgaGFuZGxpbmcsIGFuZCB0ZXN0IHNhbXBsZSBwcmVwYXJhdGlvbi4gRmlsdHJhdGlvbiBvZiB0aGUgdGVzdCBzYW1wbGUgaXMgbmVjZXNzYXJ5LiBMZWFk4oCRMjEwIGFjdGl2aXR5IGNvbmNlbnRyYXRpb24gaW4gdGhlIGVudmlyb25tZW50IGNhbiB2YXJ5IGFuZCB1c3VhbGx5IHJhbmdlcyBmcm9tIDLCoG1CccKgbCAtMSB0b8KgMzAwwqBtQnHCoGwgLTEgWzI3XVsyOF0gLiBVc2luZyBjdXJyZW50bHkgYXZhaWxhYmxlIGxpcXVpZCBzY2ludGlsbGF0aW9uIGNvdW50ZXJzLCB0aGUgbGltaXQgb2YgZGV0ZWN0aW9uIG9mIHRoaXMgbWV0aG9kIGZvcsKgIDIxMCBQYiBpcyBnZW5lcmFsbHkgb2YgdGhlIG9yZGVyIG9mIDIwwqBtQnHCoGwgLTEgdG8gNTDCoG1CccKgbCAtMSAsIHdoaWNoIGlzIGxvd2VyIHRoYW4gdGhlIFdITyBjcml0ZXJpYSBmb3Igc2FmZSBjb25zdW1wdGlvbiBvZiBkcmlua2luZyB3YXRlciAoMTAwwqBtQnEgbCDiiJIxICkuIFs0XVs2XSBUaGVzZSB2YWx1ZXMgY2FuIGJlIGFjaGlldmVkIHdpdGggYSBjb3VudGluZyB0aW1lIGJldHdlZW4gMTgwwqBtaW4gYW5kIDcyMMKgbWluIGZvciBhIHNhbXBsZSB2b2x1bWUgZnJvbSAwLDXCoGwgdG8gMSw1wqBsLiBIaWdoZXIgYWN0aXZpdHkgY29uY2VudHJhdGlvbnMgY2FuIGJlIG1lYXN1cmVkIGJ5IGVpdGhlciBkaWx1dGluZyB0aGUgc2FtcGxlIG9yIHVzaW5nIHNtYWxsZXIgc2FtcGxlIGFsaXF1b3RzIG9yIGJvdGguIFRoZSBtZXRob2QgcHJlc2VudGVkIGluIHRoaXMgZG9jdW1lbnQgaXMgbm90IGludGVuZGVkIGZvciB0aGUgZGV0ZXJtaW5hdGlvbiBvZiBhbiB1bHRyYS10cmFjZSBhbW91bnQgb2YgMjEwIFBiLiBUaGUgcmFuZ2Ugb2YgYXBwbGljYXRpb24gZGVwZW5kcyBvbiB0aGUgYW1vdW50IG9mIGRpc3NvbHZlZCBtYXRlcmlhbCBpbiB0aGUgd2F0ZXIgYW5kIG9uIHRoZSBwZXJmb3JtYW5jZSBjaGFyYWN0ZXJpc3RpY3Mgb2YgdGhlIG1lYXN1cmVtZW50IGVxdWlwbWVudCAoYmFja2dyb3VuZCBjb3VudCByYXRlIGFuZCBjb3VudGluZyBlZmZpY2llbmN5KS4gVGhlIG1ldGhvZCBkZXNjcmliZWQgaW4gdGhpcyBkb2N1bWVudCBpcyBhcHBsaWNhYmxlIHRvIGFuIGVtZXJnZW5jeSBzaXR1YXRpb24uIFRoZSBhbmFseXNpcyBvZiBQYiBhZHNvcmJlZCB0byBzdXNwZW5kZWQgbWF0dGVyIGlzIG5vdCBjb3ZlcmVkIGJ5IHRoaXMgbWV0aG9kLiBJdCBpcyB0aGUgdXNlcuKAmXMgcmVzcG9uc2liaWxpdHkgdG8gZW5zdXJlIHRoZSB2YWxpZGl0eSBvZiB0aGlzIHRlc3QgbWV0aG9kIGZvciB0aGUgd2F0ZXIgc2FtcGxlcyB0ZXN0ZWQuICIsIm1hdGNoTGV2ZWwiOiJub25lIiwibWF0Y2hlZFdvcmRzIjpbXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA3LzgyLzc4MjA1IiwidXVpZCI6ImFlM2M5MGZlLTUyNjUtNDQ3NC05OTNjLTNlZTNhMjQ3ZGUzMSIsInRpdGxlIjoiSVNPIDEzMTYwOjIwMjEgV2F0ZXIgcXVhbGl0eSDigJQgU3Ryb250aXVtIDkwIGFuZCBzdHJvbnRpdW0gODkg4oCUIFRlc3QgbWV0aG9kcyB1c2luZyBsaXF1aWQgc2NpbnRpbGxhdGlvbiBjb3VudGluZyBvciBwcm9wb3J0aW9uYWwgY291bnRpbmciLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDIxLCJvcmRlciI6MTEsInRleHQiOiJUaGlzIGRvY3VtZW50IHNwZWNpZmllcyBjb25kaXRpb25zIGZvciB0aGUgZGV0ZXJtaW5hdGlvbiBvZiA5MCBTciBhbmQgODkgU3IgYWN0aXZpdHkgY29uY2VudHJhdGlvbiBpbiBzYW1wbGVzIG9mIGVudmlyb25tZW50YWwgd2F0ZXIgdXNpbmcgbGlxdWlkIHNjaW50aWxsYXRpb24gY291bnRpbmcgKExTQykgb3IgcHJvcG9ydGlvbmFsIGNvdW50aW5nIChQQykuIFRoZSBtZXRob2QgaXMgYXBwbGljYWJsZSB0byB0ZXN0IHNhbXBsZXMgb2YgZHJpbmtpbmcgd2F0ZXIsIHJhaW53YXRlciwgc3VyZmFjZSBhbmQgZ3JvdW5kIHdhdGVyLCBtYXJpbmUgd2F0ZXIsIGFzIHdlbGwgYXMgY29vbGluZyB3YXRlciwgaW5kdXN0cmlhbCB3YXRlciwgZG9tZXN0aWMsIGFuZCBpbmR1c3RyaWFsIHdhc3Rld2F0ZXIgYWZ0ZXIgcHJvcGVyIHNhbXBsaW5nIGFuZCBoYW5kbGluZywgYW5kIHRlc3Qgc2FtcGxlIHByZXBhcmF0aW9uLiBGaWx0cmF0aW9uIG9mIHRoZSB0ZXN0IHNhbXBsZSBhbmQgYSBjaGVtaWNhbCBzZXBhcmF0aW9uIGFyZSByZXF1aXJlZCB0byBzZXBhcmF0ZSBhbmQgcHVyaWZ5IHN0cm9udGl1bSBmcm9tIGEgdGVzdCBwb3J0aW9uIG9mIHRoZSBzYW1wbGUuIFRoZSBkZXRlY3Rpb24gbGltaXQgZGVwZW5kcyBvbiB0aGUgc2FtcGxlIHZvbHVtZSwgdGhlIGluc3RydW1lbnQgdXNlZCwgdGhlIHNhbXBsZSBjb3VudCB0aW1lLCB0aGUgYmFja2dyb3VuZCBjb3VudCByYXRlLCB0aGUgZGV0ZWN0aW9uIGVmZmljaWVuY3kgYW5kIHRoZSBjaGVtaWNhbCB5aWVsZC4gVGhlIG1ldGhvZCBkZXNjcmliZWQgaW4gdGhpcyBkb2N1bWVudCwgdXNpbmcgY3VycmVudGx5IGF2YWlsYWJsZSBMU0MgY291bnRlcnMsIGhhcyBhIGRldGVjdGlvbiBsaW1pdCBvZiBhcHByb3hpbWF0ZWx5IDEwwqBtQnEgbCDiiJIxIGFuZCAywqBtQnEgbCDiiJIxIGZvciA4OSBTciBhbmQgOTAgU3IsIHJlc3BlY3RpdmVseSwgd2hpY2ggaXMgbG93ZXIgdGhhbiB0aGUgV0hPIGNyaXRlcmlhIGZvciBzYWZlIGNvbnN1bXB0aW9uIG9mIGRyaW5raW5nIHdhdGVyICgxMDDCoEJxwrdsIOKIkjEgZm9yIDg5IFNyIGFuZCAxMMKgQnHCt2wg4oiSMSBmb3IgOTAgU3IpIFsgMyBdIC4gVGhlc2UgdmFsdWVzIGNhbiBiZSBhY2hpZXZlZCB3aXRoIGEgY291bnRpbmcgdGltZSBvZiAxwqAwMDDCoG1pbiBmb3IgYSBzYW1wbGUgdm9sdW1lIG9mIDLCoGwuIFRoZSBtZXRob2RzIGRlc2NyaWJlZCBpbiB0aGlzIGRvY3VtZW50IGFyZSBhcHBsaWNhYmxlIGluIHRoZSBldmVudCBvZiBhbiBlbWVyZ2VuY3kgc2l0dWF0aW9uLiBXaGVuIGZhbGxvdXQgb2NjdXJzIGZvbGxvd2luZyBhIG51Y2xlYXIgYWNjaWRlbnQsIHRoZSBjb250cmlidXRpb24gb2YgODkgU3IgdG8gdGhlIHRvdGFsIGFtb3VudCBvZiByYWRpb2FjdGl2ZSBzdHJvbnRpdW0gaXMgbm90IG5lZ2xpZ2libGUuIFRoaXMgZG9jdW1lbnQgcHJvdmlkZXMgdGVzdCBtZXRob2RzIHRvIGRldGVybWluZSB0aGUgYWN0aXZpdHkgY29uY2VudHJhdGlvbiBvZiA5MCBTciBpbiBwcmVzZW5jZSBvZiA4OSBTci4gVGhlIGFuYWx5c2lzIG9mIDkwIFNyIGFuZCA4OSBTciBhZHNvcmJlZCB0byBzdXNwZW5kZWQgbWF0dGVyIGlzIG5vdCBjb3ZlcmVkIGJ5IHRoaXMgbWV0aG9kLiBJdCBpcyB0aGUgdXNlcuKAmXMgcmVzcG9uc2liaWxpdHkgdG8gZW5zdXJlIHRoZSB2YWxpZGl0eSBvZiB0aGlzIHRlc3QgbWV0aG9kIHNlbGVjdGVkIGZvciB0aGUgd2F0ZXIgc2FtcGxlcyB0ZXN0ZWQuICIsIm9iamVjdElEIjoiNzgyMDVfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NjA6MjAyMSBXYXRlciBxdWFsaXR5IOKAlCBTdHJvbnRpdW0gOTAgYW5kIHN0cm9udGl1bSA4OSDigJQgVGVzdCBtZXRob2RzIHVzaW5nIGxpcXVpZCBzY2ludGlsbGF0aW9uIGNvdW50aW5nIG9yIHByb3BvcnRpb25hbCBjb3VudGluZyIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiJUaGlzIGRvY3VtZW50IHNwZWNpZmllcyBjb25kaXRpb25zIGZvciB0aGUgZGV0ZXJtaW5hdGlvbiBvZiA5MCBTciBhbmQgODkgU3IgYWN0aXZpdHkgY29uY2VudHJhdGlvbiBpbiBzYW1wbGVzIG9mIGVudmlyb25tZW50YWwgd2F0ZXIgdXNpbmcgbGlxdWlkIHNjaW50aWxsYXRpb24gY291bnRpbmcgKExTQykgb3IgcHJvcG9ydGlvbmFsIGNvdW50aW5nIChQQykuIFRoZSBtZXRob2QgaXMgYXBwbGljYWJsZSB0byB0ZXN0IHNhbXBsZXMgb2YgZHJpbmtpbmcgd2F0ZXIsIHJhaW53YXRlciwgc3VyZmFjZSBhbmQgZ3JvdW5kIHdhdGVyLCBtYXJpbmUgd2F0ZXIsIGFzIHdlbGwgYXMgY29vbGluZyB3YXRlciwgaW5kdXN0cmlhbCB3YXRlciwgZG9tZXN0aWMsIGFuZCBpbmR1c3RyaWFsIHdhc3Rld2F0ZXIgYWZ0ZXIgcHJvcGVyIHNhbXBsaW5nIGFuZCBoYW5kbGluZywgYW5kIHRlc3Qgc2FtcGxlIHByZXBhcmF0aW9uLiBGaWx0cmF0aW9uIG9mIHRoZSB0ZXN0IHNhbXBsZSBhbmQgYSBjaGVtaWNhbCBzZXBhcmF0aW9uIGFyZSByZXF1aXJlZCB0byBzZXBhcmF0ZSBhbmQgcHVyaWZ5IHN0cm9udGl1bSBmcm9tIGEgdGVzdCBwb3J0aW9uIG9mIHRoZSBzYW1wbGUuIFRoZSBkZXRlY3Rpb24gbGltaXQgZGVwZW5kcyBvbiB0aGUgc2FtcGxlIHZvbHVtZSwgdGhlIGluc3RydW1lbnQgdXNlZCwgdGhlIHNhbXBsZSBjb3VudCB0aW1lLCB0aGUgYmFja2dyb3VuZCBjb3VudCByYXRlLCB0aGUgZGV0ZWN0aW9uIGVmZmljaWVuY3kgYW5kIHRoZSBjaGVtaWNhbCB5aWVsZC4gVGhlIG1ldGhvZCBkZXNjcmliZWQgaW4gdGhpcyBkb2N1bWVudCwgdXNpbmcgY3VycmVudGx5IGF2YWlsYWJsZSBMU0MgY291bnRlcnMsIGhhcyBhIGRldGVjdGlvbiBsaW1pdCBvZiBhcHByb3hpbWF0ZWx5IDEwwqBtQnEgbCDiiJIxIGFuZCAywqBtQnEgbCDiiJIxIGZvciA4OSBTciBhbmQgOTAgU3IsIHJlc3BlY3RpdmVseSwgd2hpY2ggaXMgbG93ZXIgdGhhbiB0aGUgV0hPIGNyaXRlcmlhIGZvciBzYWZlIGNvbnN1bXB0aW9uIG9mIGRyaW5raW5nIHdhdGVyICgxMDDCoEJxwrdsIOKIkjEgZm9yIDg5IFNyIGFuZCAxMMKgQnHCt2wg4oiSMSBmb3IgOTAgU3IpIFsgMyBdIC4gVGhlc2UgdmFsdWVzIGNhbiBiZSBhY2hpZXZlZCB3aXRoIGEgY291bnRpbmcgdGltZSBvZiAxwqAwMDDCoG1pbiBmb3IgYSBzYW1wbGUgdm9sdW1lIG9mIDLCoGwuIFRoZSBtZXRob2RzIGRlc2NyaWJlZCBpbiB0aGlzIGRvY3VtZW50IGFyZSBhcHBsaWNhYmxlIGluIHRoZSBldmVudCBvZiBhbiBlbWVyZ2VuY3kgc2l0dWF0aW9uLiBXaGVuIGZhbGxvdXQgb2NjdXJzIGZvbGxvd2luZyBhIG51Y2xlYXIgYWNjaWRlbnQsIHRoZSBjb250cmlidXRpb24gb2YgODkgU3IgdG8gdGhlIHRvdGFsIGFtb3VudCBvZiByYWRpb2FjdGl2ZSBzdHJvbnRpdW0gaXMgbm90IG5lZ2xpZ2libGUuIFRoaXMgZG9jdW1lbnQgcHJvdmlkZXMgdGVzdCBtZXRob2RzIHRvIGRldGVybWluZSB0aGUgYWN0aXZpdHkgY29uY2VudHJhdGlvbiBvZiA5MCBTciBpbiBwcmVzZW5jZSBvZiA4OSBTci4gVGhlIGFuYWx5c2lzIG9mIDkwIFNyIGFuZCA4OSBTciBhZHNvcmJlZCB0byBzdXNwZW5kZWQgbWF0dGVyIGlzIG5vdCBjb3ZlcmVkIGJ5IHRoaXMgbWV0aG9kLiBJdCBpcyB0aGUgdXNlcuKAmXMgcmVzcG9uc2liaWxpdHkgdG8gZW5zdXJlIHRoZSB2YWxpZGl0eSBvZiB0aGlzIHRlc3QgbWV0aG9kIHNlbGVjdGVkIGZvciB0aGUgd2F0ZXIgc2FtcGxlcyB0ZXN0ZWQuICIsIm1hdGNoTGV2ZWwiOiJub25lIiwibWF0Y2hlZFdvcmRzIjpbXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA3LzU5Lzc1OTYyIiwidXVpZCI6IjMyNmM0OGI5LTU1MzYtNDZjMy04ZmViLTQ5ODljNDI2MjUyOSIsInRpdGxlIjoiSVNPIDEzMTMxOjIwMjEgSGVhbHRoIGluZm9ybWF0aWNzIOKAlCBUZWxlaGVhbHRoIHNlcnZpY2VzIOKAlCBRdWFsaXR5IHBsYW5uaW5nIGd1aWRlbGluZXMiLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDIxLCJvcmRlciI6MTEsInRleHQiOiJUaGlzIGRvY3VtZW50IHByb3ZpZGVzIHByb2Nlc3NlcyB0aGF0IGNhbiBiZSB1c2VkIHRvIGFuYWx5emUgdGhlIHJpc2tzIHRvIHRoZSBxdWFsaXR5IGFuZCBzYWZldHkgb2YgaGVhbHRoY2FyZSBhbmQgY29udGludWl0eSBvZiBjYXJlIHdoZW4gdGVsZWhlYWx0aCBzZXJ2aWNlcyBhcmUgdXNlZCB0byBzdXBwb3J0IGhlYWx0aGNhcmUgYWN0aXZpdGllcy4gVXNpbmcgcmlzayBtYW5hZ2VtZW50IHByb2Nlc3NlcywgcXVhbGl0eSBvYmplY3RpdmVzIGFuZCBwcm9jZWR1cmVzIGFyZSBkZXJpdmVkIHdoaWNoIHByb3ZpZGUgZ3VpZGVsaW5lcyBmb3IgdGhlIG9wZXJhdGlvbnMgb2YgdGVsZWhlYWx0aCBzZXJ2aWNlcy4gVGhlc2UgaW5jbHVkZSBidXQgYXJlIG5vdCBsaW1pdGVkIHRvIHRoZSBmb2xsb3dpbmcgZG9tYWluczog4oCUwqDCoMKgIG1hbmFnZW1lbnQgb2YgdGVsZWhlYWx0aCBxdWFsaXR5IHByb2Nlc3NlcyBieSB0aGUgaGVhbHRoY2FyZSBvcmdhbml6YXRpb247IOKAlMKgwqDCoCBzdHJhdGVnaWMgYW5kIG9wZXJhdGlvbmFsIHByb2Nlc3MgbWFuYWdlbWVudCByZWxhdGluZyB0byByZWd1bGF0aW9ucywga25vd2xlZGdlIG1hbmFnZW1lbnQgKGJlc3QgcHJhY3RpY2UpIGFuZCBndWlkZWxpbmVzOyDigJTCoMKgwqAgaGVhbHRoY2FyZSBwcm9jZXNzZXMgcmVsYXRpbmcgdG8gcGVvcGxlIHN1Y2ggYXMgaGVhbHRoY2FyZSBhY3Rpdml0aWVzLCBwbGFubmluZywgYW5kIHJlc3BvbnNpYmlsaXRpZXM7IOKAlMKgwqDCoCBtYW5hZ2VtZW50IG9mIGZpbmFuY2lhbCByZXNvdXJjZXMgdG8gc3VwcG9ydCB0ZWxlaGVhbHRoIHNlcnZpY2VzOyDigJTCoMKgwqAgbWFuYWdlbWVudCBvZiBpbmZvcm1hdGlvbiBtYW5hZ2VtZW50IGFuZCBzZWN1cml0eSB1c2VkIGluIHRlbGVoZWFsdGggc2VydmljZXM7IOKAlMKgwqDCoCBwcm9jZXNzZXMgcmVsYXRlZCB0byB0aGUgcGxhbm5pbmcgYW5kIHByb3Zpc2lvbiBvZiBodW1hbiByZXNvdXJjZXMsIGluZnJhc3RydWN0dXJlLCBmYWNpbGl0aWVzIGFuZCB0ZWNobm9sb2d5IHJlc291cmNlcyBmb3IgdXNlIGJ5IHRlbGVoZWFsdGggc2VydmljZXMuIFRoaXMgZG9jdW1lbnQgcHJvdmlkZXMgYSBzZXQgb2YgZXhhbXBsZSBndWlkZWxpbmVzIGNvbnRhaW5pbmcgcXVhbGl0eSBvYmplY3RpdmVzIGFuZCBwcm9jZWR1cmVzIGZvciBlYWNoIGRvbWFpbi4gT3JnYW5pemF0aW9ucyBjYW4gYXBwbHkgdGhlIHF1YWxpdHkgYW5kIHJpc2sgbWFuYWdlbWVudCBwcm9jZXNzZXMgZGVzY3JpYmVkIGluIENsYXVzZXPCoDUgYW5kIDYgdG8gZGV2ZWxvcCBxdWFsaXR5IG9iamVjdGl2ZXMgYW5kIHByb2NlZHVyZXMgYXBwcm9wcmlhdGUgdG8gdGhlIHRlbGVoZWFsdGggc2VydmljZXMgdGhleSBwcm92aWRlLiBUaGlzIGRvY3VtZW50IGRvZXMgbm90IHByb3ZpZGUgZ3VpZGFuY2UgZm9yIHRoZSBtYW51ZmFjdHVyZSwgYXNzZW1ibHksIGNvbmZpZ3VyYXRpb24sIGludGVyb3BlcmFiaWxpdHkgb3IgbWFuYWdlbWVudCBvZiBkZXZpY2VzLCBwcm9kdWN0cyBvciB0ZWNobmljYWwgc3lzdGVtcy4gQW5uZXjCoEEgcHJvdmlkZXMgcHJvY2VkdXJlcyBmb3IgdGhlIGltcGxlbWVudGF0aW9uIG9mIHRlbGVoZWFsdGggc2VydmljZXMgYnkgYSBsYXJnZSBvcmdhbml6YXRpb24uIEFubmV4wqBCIHByb3ZpZGVzIHVzZSBjYXNlcyBmb3IgdGhlIGFwcGxpY2F0aW9uIG9mIHF1YWxpdHkgcGxhbm5pbmcgZ3VpZGVsaW5lcyBpbiBkaWZmZXJlbnQgdHlwZXMgb2YgcmVhbC13b3JsZCB0ZWxlaGVhbHRoIHNlcnZpY2VzLiAiLCJvYmplY3RJRCI6Ijc1OTYyXzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjMxOjIwMjEgSGVhbHRoIGluZm9ybWF0aWNzIOKAlCBUZWxlaGVhbHRoIHNlcnZpY2VzIOKAlCBRdWFsaXR5IHBsYW5uaW5nIGd1aWRlbGluZXMiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiVGhpcyBkb2N1bWVudCBwcm92aWRlcyBwcm9jZXNzZXMgdGhhdCBjYW4gYmUgdXNlZCB0byBhbmFseXplIHRoZSByaXNrcyB0byB0aGUgcXVhbGl0eSBhbmQgc2FmZXR5IG9mIGhlYWx0aGNhcmUgYW5kIGNvbnRpbnVpdHkgb2YgY2FyZSB3aGVuIHRlbGVoZWFsdGggc2VydmljZXMgYXJlIHVzZWQgdG8gc3VwcG9ydCBoZWFsdGhjYXJlIGFjdGl2aXRpZXMuIFVzaW5nIHJpc2sgbWFuYWdlbWVudCBwcm9jZXNzZXMsIHF1YWxpdHkgb2JqZWN0aXZlcyBhbmQgcHJvY2VkdXJlcyBhcmUgZGVyaXZlZCB3aGljaCBwcm92aWRlIGd1aWRlbGluZXMgZm9yIHRoZSBvcGVyYXRpb25zIG9mIHRlbGVoZWFsdGggc2VydmljZXMuIFRoZXNlIGluY2x1ZGUgYnV0IGFyZSBub3QgbGltaXRlZCB0byB0aGUgZm9sbG93aW5nIGRvbWFpbnM6IOKAlMKgwqDCoCBtYW5hZ2VtZW50IG9mIHRlbGVoZWFsdGggcXVhbGl0eSBwcm9jZXNzZXMgYnkgdGhlIGhlYWx0aGNhcmUgb3JnYW5pemF0aW9uOyDigJTCoMKgwqAgc3RyYXRlZ2ljIGFuZCBvcGVyYXRpb25hbCBwcm9jZXNzIG1hbmFnZW1lbnQgcmVsYXRpbmcgdG8gcmVndWxhdGlvbnMsIGtub3dsZWRnZSBtYW5hZ2VtZW50IChiZXN0IHByYWN0aWNlKSBhbmQgZ3VpZGVsaW5lczsg4oCUwqDCoMKgIGhlYWx0aGNhcmUgcHJvY2Vzc2VzIHJlbGF0aW5nIHRvIHBlb3BsZSBzdWNoIGFzIGhlYWx0aGNhcmUgYWN0aXZpdGllcywgcGxhbm5pbmcsIGFuZCByZXNwb25zaWJpbGl0aWVzOyDigJTCoMKgwqAgbWFuYWdlbWVudCBvZiBmaW5hbmNpYWwgcmVzb3VyY2VzIHRvIHN1cHBvcnQgdGVsZWhlYWx0aCBzZXJ2aWNlczsg4oCUwqDCoMKgIG1hbmFnZW1lbnQgb2YgaW5mb3JtYXRpb24gbWFuYWdlbWVudCBhbmQgc2VjdXJpdHkgdXNlZCBpbiB0ZWxlaGVhbHRoIHNlcnZpY2VzOyDigJTCoMKgwqAgcHJvY2Vzc2VzIHJlbGF0ZWQgdG8gdGhlIHBsYW5uaW5nIGFuZCBwcm92aXNpb24gb2YgaHVtYW4gcmVzb3VyY2VzLCBpbmZyYXN0cnVjdHVyZSwgZmFjaWxpdGllcyBhbmQgdGVjaG5vbG9neSByZXNvdXJjZXMgZm9yIHVzZSBieSB0ZWxlaGVhbHRoIHNlcnZpY2VzLiBUaGlzIGRvY3VtZW50IHByb3ZpZGVzIGEgc2V0IG9mIGV4YW1wbGUgZ3VpZGVsaW5lcyBjb250YWluaW5nIHF1YWxpdHkgb2JqZWN0aXZlcyBhbmQgcHJvY2VkdXJlcyBmb3IgZWFjaCBkb21haW4uIE9yZ2FuaXphdGlvbnMgY2FuIGFwcGx5IHRoZSBxdWFsaXR5IGFuZCByaXNrIG1hbmFnZW1lbnQgcHJvY2Vzc2VzIGRlc2NyaWJlZCBpbiBDbGF1c2VzwqA1IGFuZCA2IHRvIGRldmVsb3AgcXVhbGl0eSBvYmplY3RpdmVzIGFuZCBwcm9jZWR1cmVzIGFwcHJvcHJpYXRlIHRvIHRoZSB0ZWxlaGVhbHRoIHNlcnZpY2VzIHRoZXkgcHJvdmlkZS4gVGhpcyBkb2N1bWVudCBkb2VzIG5vdCBwcm92aWRlIGd1aWRhbmNlIGZvciB0aGUgbWFudWZhY3R1cmUsIGFzc2VtYmx5LCBjb25maWd1cmF0aW9uLCBpbnRlcm9wZXJhYmlsaXR5IG9yIG1hbmFnZW1lbnQgb2YgZGV2aWNlcywgcHJvZHVjdHMgb3IgdGVjaG5pY2FsIHN5c3RlbXMuIEFubmV4wqBBIHByb3ZpZGVzIHByb2NlZHVyZXMgZm9yIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiB0ZWxlaGVhbHRoIHNlcnZpY2VzIGJ5IGEgbGFyZ2Ugb3JnYW5pemF0aW9uLiBBbm5leMKgQiBwcm92aWRlcyB1c2UgY2FzZXMgZm9yIHRoZSBhcHBsaWNhdGlvbiBvZiBxdWFsaXR5IHBsYW5uaW5nIGd1aWRlbGluZXMgaW4gZGlmZmVyZW50IHR5cGVzIG9mIHJlYWwtd29ybGQgdGVsZWhlYWx0aCBzZXJ2aWNlcy4gIiwibWF0Y2hMZXZlbCI6Im5vbmUiLCJtYXRjaGVkV29yZHMiOltdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDcvNTgvNzU4NTciLCJ1dWlkIjoiOTM0NDNjMDYtOWQxMC00YmY2LWE0ZDEtNmFkZjA3NDhmNmEzIiwidGl0bGUiOiJJU08gMTMxNDI6MjAyMSBPcHRpY3MgYW5kIHBob3RvbmljcyDigJQgTGFzZXJzIGFuZCBsYXNlci1yZWxhdGVkIGVxdWlwbWVudCDigJQgQ2F2aXR5IHJpbmctZG93biBtZXRob2QgZm9yIGhpZ2gtcmVmbGVjdGFuY2UgYW5kIGhpZ2gtdHJhbnNtaXR0YW5jZSBtZWFzdXJlbWVudHMiLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDIxLCJvcmRlciI6MTEsInRleHQiOiJUaGlzIGRvY3VtZW50IHNwZWNpZmllcyBtZWFzdXJlbWVudCBwcm9jZWR1cmVzIGZvciB0aGUgcHJlY2lzZSBkZXRlcm1pbmF0aW9uIG9mIHRoZSBoaWdoIHJlZmxlY3RhbmNlIG9yIGhpZ2ggdHJhbnNtaXR0YW5jZSAoPjk5wqAlKSBvZiBvcHRpY2FsIGxhc2VyIGNvbXBvbmVudHMuIFRoZSBtZXRob2RzIGdpdmVuIGluIHRoaXMgZG9jdW1lbnQgYXJlIGludGVuZGVkIHRvIGJlIHVzZWQgZm9yIHRoZSB0ZXN0aW5nIGFuZCBjaGFyYWN0ZXJpemF0aW9uIG9mIGhpZ2ggcmVmbGVjdGFuY2Ugb2YgYm90aCBjb25jYXZlIGFuZCBwbGFuZSBtaXJyb3JzIG9yIGhpZ2ggdHJhbnNtaXR0YW5jZSBvZiBwbGFuZSB3aW5kb3dzIHVzZWQgaW4gbGFzZXIgc3lzdGVtcyBhbmQgbGFzZXItYmFzZWQgaW5zdHJ1bWVudHMuIFRoZSByZWZsZWN0YW5jZSBvZiBjb252ZXggbWlycm9ycyBvciB0cmFuc21pdHRhbmNlIG9mIHBvc2l0aXZlIG9yIG5lZ2F0aXZlIGxlbnNlcyBjYW4gYWxzbyBiZSB0ZXN0ZWQgYnkgdGFraW5nIGludG8gY29uc2lkZXJhdGlvbiB0aGUgcmFkaXVzIG9mIGN1cnZhdHVyZSBvZiB0aGUgbWlycm9yIHN1cmZhY2Ugb3IgdGhlIGZvY2FsIGxlbmd0aCBvZiB0aGUgbGVucy4gVGhpcyBkb2N1bWVudCBpcyBjb21wbGVtZW50YXJ5IHRvIElTT8KgMTUzNjggd2hpY2ggc3BlY2lmaWVzIHRoZSBtZWFzdXJlbWVudCBwcm9jZWR1cmVzIGZvciB0aGUgZGV0ZXJtaW5hdGlvbiBvZiByZWZsZWN0YW5jZSBhbmQgdHJhbnNtaXR0YW5jZSBvZiBvcHRpY2FsIGNvbXBvbmVudHMgd2l0aCBzcGVjdHJvcGhvdG9tZXRyeS4gSVNPwqAxNTM2OCBpcyBhcHBsaWNhYmxlIHRvIHRoZSBtZWFzdXJlbWVudHMgb2YgcmVmbGVjdGFuY2UgYW5kIHRyYW5zbWl0dGFuY2UgaW4gdGhlIHJhbmdlIGZyb20gMMKgJSB0byAxMDDCoCUgd2l0aCBhIHR5cGljYWwgYWNjdXJhY3kgb2YgwrEwLDPCoCUsIGFuZCBpcyB0aGVyZWZvcmUgbm90IGFwcGxpY2FibGUgdG8gdGhlIHByZWNpc2UgbWVhc3VyZW1lbnRzIG9mIHJlZmxlY3RhbmNlIGFuZCB0cmFuc21pdHRhbmNlIGhpZ2hlciB0aGFuIDk5LDnCoCUuICIsIm9iamVjdElEIjoiNzU4NTdfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NDI6MjAyMSBPcHRpY3MgYW5kIHBob3RvbmljcyDigJQgTGFzZXJzIGFuZCBsYXNlci1yZWxhdGVkIGVxdWlwbWVudCDigJQgQ2F2aXR5IHJpbmctZG93biBtZXRob2QgZm9yIGhpZ2gtcmVmbGVjdGFuY2UgYW5kIGhpZ2gtdHJhbnNtaXR0YW5jZSBtZWFzdXJlbWVudHMiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiVGhpcyBkb2N1bWVudCBzcGVjaWZpZXMgbWVhc3VyZW1lbnQgcHJvY2VkdXJlcyBmb3IgdGhlIHByZWNpc2UgZGV0ZXJtaW5hdGlvbiBvZiB0aGUgaGlnaCByZWZsZWN0YW5jZSBvciBoaWdoIHRyYW5zbWl0dGFuY2UgKD45OcKgJSkgb2Ygb3B0aWNhbCBsYXNlciBjb21wb25lbnRzLiBUaGUgbWV0aG9kcyBnaXZlbiBpbiB0aGlzIGRvY3VtZW50IGFyZSBpbnRlbmRlZCB0byBiZSB1c2VkIGZvciB0aGUgdGVzdGluZyBhbmQgY2hhcmFjdGVyaXphdGlvbiBvZiBoaWdoIHJlZmxlY3RhbmNlIG9mIGJvdGggY29uY2F2ZSBhbmQgcGxhbmUgbWlycm9ycyBvciBoaWdoIHRyYW5zbWl0dGFuY2Ugb2YgcGxhbmUgd2luZG93cyB1c2VkIGluIGxhc2VyIHN5c3RlbXMgYW5kIGxhc2VyLWJhc2VkIGluc3RydW1lbnRzLiBUaGUgcmVmbGVjdGFuY2Ugb2YgY29udmV4IG1pcnJvcnMgb3IgdHJhbnNtaXR0YW5jZSBvZiBwb3NpdGl2ZSBvciBuZWdhdGl2ZSBsZW5zZXMgY2FuIGFsc28gYmUgdGVzdGVkIGJ5IHRha2luZyBpbnRvIGNvbnNpZGVyYXRpb24gdGhlIHJhZGl1cyBvZiBjdXJ2YXR1cmUgb2YgdGhlIG1pcnJvciBzdXJmYWNlIG9yIHRoZSBmb2NhbCBsZW5ndGggb2YgdGhlIGxlbnMuIFRoaXMgZG9jdW1lbnQgaXMgY29tcGxlbWVudGFyeSB0byA8ZW0+SVNPPC9lbT7CoDE1MzY4IHdoaWNoIHNwZWNpZmllcyB0aGUgbWVhc3VyZW1lbnQgcHJvY2VkdXJlcyBmb3IgdGhlIGRldGVybWluYXRpb24gb2YgcmVmbGVjdGFuY2UgYW5kIHRyYW5zbWl0dGFuY2Ugb2Ygb3B0aWNhbCBjb21wb25lbnRzIHdpdGggc3BlY3Ryb3Bob3RvbWV0cnkuIDxlbT5JU088L2VtPsKgMTUzNjggaXMgYXBwbGljYWJsZSB0byB0aGUgbWVhc3VyZW1lbnRzIG9mIHJlZmxlY3RhbmNlIGFuZCB0cmFuc21pdHRhbmNlIGluIHRoZSByYW5nZSBmcm9tIDDCoCUgdG8gMTAwwqAlIHdpdGggYSB0eXBpY2FsIGFjY3VyYWN5IG9mIMKxMCwzwqAlLCBhbmQgaXMgdGhlcmVmb3JlIG5vdCBhcHBsaWNhYmxlIHRvIHRoZSBwcmVjaXNlIG1lYXN1cmVtZW50cyBvZiByZWZsZWN0YW5jZSBhbmQgdHJhbnNtaXR0YW5jZSBoaWdoZXIgdGhhbiA5OSw5wqAlLiAiLCJtYXRjaExldmVsIjoicGFydGlhbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNy81OC83NTgyMSIsInV1aWQiOiIwNzRkMTM3OC0yYjM1LTQ1MjUtYWM3YS02N2RmMDc3MzI4MGEiLCJ0aXRsZSI6IklTTyAxMzE2MjoyMDIxIFdhdGVyIHF1YWxpdHkg4oCUIENhcmJvbiAxNCDigJQgVGVzdCBtZXRob2QgdXNpbmcgbGlxdWlkIHNjaW50aWxsYXRpb24gY291bnRpbmciLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDIxLCJvcmRlciI6MTEsInRleHQiOiJUaGlzIGRvY3VtZW50IHNwZWNpZmllcyBhIG1ldGhvZCBmb3IgdGhlIG1lYXN1cmVtZW50IG9mIDE0IEMgYWN0aXZpdHkgY29uY2VudHJhdGlvbiBpbiBhbGwgdHlwZXMgb2Ygd2F0ZXIgc2FtcGxlcyBieSBsaXF1aWQgc2NpbnRpbGxhdGlvbiBjb3VudGluZyAoTFNDKSBlaXRoZXIgZGlyZWN0bHkgb24gdGhlIHRlc3Qgc2FtcGxlIG9yIGZvbGxvd2luZyBhIGNoZW1pY2FsIHNlcGFyYXRpb24uIFRoZSBtZXRob2QgaXMgYXBwbGljYWJsZSB0byB0ZXN0IHNhbXBsZXMgb2Ygc3VwcGx5L2RyaW5raW5nIHdhdGVyLCByYWlud2F0ZXIsIHN1cmZhY2UgYW5kIGdyb3VuZCB3YXRlciwgbWFyaW5lIHdhdGVyLCBhcyB3ZWxsIGFzIGNvb2xpbmcgd2F0ZXIsIGluZHVzdHJpYWwgd2F0ZXIsIGRvbWVzdGljLCBhbmQgaW5kdXN0cmlhbCB3YXN0ZXdhdGVyLiBUaGUgZGV0ZWN0aW9uIGxpbWl0IGRlcGVuZHMgb24gdGhlIHNhbXBsZSB2b2x1bWUsIHRoZSBpbnN0cnVtZW50IHVzZWQsIHRoZSBzYW1wbGUgY291bnRpbmcgdGltZSwgdGhlIGJhY2tncm91bmQgY291bnQgcmF0ZSwgdGhlIGRldGVjdGlvbiBlZmZpY2llbmN5IGFuZCB0aGUgY2hlbWljYWwgcmVjb3ZlcnkuIFRoZSBtZXRob2QgZGVzY3JpYmVkIGluIHRoaXMgZG9jdW1lbnQsIHVzaW5nIGN1cnJlbnRseSBhdmFpbGFibGUgbGlxdWlkIHNjaW50aWxsYXRpb24gY291bnRlcnMgYW5kIHN1aXRhYmxlIHRlY2huaWNhbCBjb25kaXRpb25zLCBoYXMgYSBkZXRlY3Rpb24gbGltaXQgYXMgbG93IGFzIDHCoEJx4oiZbCDiiJIxICwgd2hpY2ggaXMgbG93ZXIgdGhhbiB0aGUgV0hPIGNyaXRlcmlhIGZvciBzYWZlIGNvbnN1bXB0aW9uIG9mIGRyaW5raW5nIHdhdGVyICgxMDDCoEJxwrdsIC0xICkuIDE0IEMgYWN0aXZpdHkgY29uY2VudHJhdGlvbnMgY2FuIGJlIG1lYXN1cmVkIHVwIHRvIDEwIDYgwqBCceKImWwgLTEgd2l0aG91dCBhbnkgc2FtcGxlIGRpbHV0aW9uLiBJdCBpcyB0aGUgdXNlcuKAmXMgcmVzcG9uc2liaWxpdHkgdG8gZW5zdXJlIHRoZSB2YWxpZGl0eSBvZiB0aGlzIHRlc3QgbWV0aG9kIGZvciB0aGUgd2F0ZXIgc2FtcGxlcyB0ZXN0ZWQuICIsIm9iamVjdElEIjoiNzU4MjFfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NjI6MjAyMSBXYXRlciBxdWFsaXR5IOKAlCBDYXJib24gMTQg4oCUIFRlc3QgbWV0aG9kIHVzaW5nIGxpcXVpZCBzY2ludGlsbGF0aW9uIGNvdW50aW5nIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IlRoaXMgZG9jdW1lbnQgc3BlY2lmaWVzIGEgbWV0aG9kIGZvciB0aGUgbWVhc3VyZW1lbnQgb2YgMTQgQyBhY3Rpdml0eSBjb25jZW50cmF0aW9uIGluIGFsbCB0eXBlcyBvZiB3YXRlciBzYW1wbGVzIGJ5IGxpcXVpZCBzY2ludGlsbGF0aW9uIGNvdW50aW5nIChMU0MpIGVpdGhlciBkaXJlY3RseSBvbiB0aGUgdGVzdCBzYW1wbGUgb3IgZm9sbG93aW5nIGEgY2hlbWljYWwgc2VwYXJhdGlvbi4gVGhlIG1ldGhvZCBpcyBhcHBsaWNhYmxlIHRvIHRlc3Qgc2FtcGxlcyBvZiBzdXBwbHkvZHJpbmtpbmcgd2F0ZXIsIHJhaW53YXRlciwgc3VyZmFjZSBhbmQgZ3JvdW5kIHdhdGVyLCBtYXJpbmUgd2F0ZXIsIGFzIHdlbGwgYXMgY29vbGluZyB3YXRlciwgaW5kdXN0cmlhbCB3YXRlciwgZG9tZXN0aWMsIGFuZCBpbmR1c3RyaWFsIHdhc3Rld2F0ZXIuIFRoZSBkZXRlY3Rpb24gbGltaXQgZGVwZW5kcyBvbiB0aGUgc2FtcGxlIHZvbHVtZSwgdGhlIGluc3RydW1lbnQgdXNlZCwgdGhlIHNhbXBsZSBjb3VudGluZyB0aW1lLCB0aGUgYmFja2dyb3VuZCBjb3VudCByYXRlLCB0aGUgZGV0ZWN0aW9uIGVmZmljaWVuY3kgYW5kIHRoZSBjaGVtaWNhbCByZWNvdmVyeS4gVGhlIG1ldGhvZCBkZXNjcmliZWQgaW4gdGhpcyBkb2N1bWVudCwgdXNpbmcgY3VycmVudGx5IGF2YWlsYWJsZSBsaXF1aWQgc2NpbnRpbGxhdGlvbiBjb3VudGVycyBhbmQgc3VpdGFibGUgdGVjaG5pY2FsIGNvbmRpdGlvbnMsIGhhcyBhIGRldGVjdGlvbiBsaW1pdCBhcyBsb3cgYXMgMcKgQnHiiJlsIOKIkjEgLCB3aGljaCBpcyBsb3dlciB0aGFuIHRoZSBXSE8gY3JpdGVyaWEgZm9yIHNhZmUgY29uc3VtcHRpb24gb2YgZHJpbmtpbmcgd2F0ZXIgKDEwMMKgQnHCt2wgLTEgKS4gMTQgQyBhY3Rpdml0eSBjb25jZW50cmF0aW9ucyBjYW4gYmUgbWVhc3VyZWQgdXAgdG8gMTAgNiDCoEJx4oiZbCAtMSB3aXRob3V0IGFueSBzYW1wbGUgZGlsdXRpb24uIEl0IGlzIHRoZSB1c2Vy4oCZcyByZXNwb25zaWJpbGl0eSB0byBlbnN1cmUgdGhlIHZhbGlkaXR5IG9mIHRoaXMgdGVzdCBtZXRob2QgZm9yIHRoZSB3YXRlciBzYW1wbGVzIHRlc3RlZC4gIiwibWF0Y2hMZXZlbCI6Im5vbmUiLCJtYXRjaGVkV29yZHMiOltdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDYvNDEvNjQxNjYiLCJ1dWlkIjoiYjIwZjExNDItYzYwMC00MjEwLTlmMzEtNjhhMGUyYjY4N2M3IiwidGl0bGUiOiJJU08gMTMxNDE6MjAxNSBFbGVjdHJvbmljIGZlZSBjb2xsZWN0aW9uIOKAlCBMb2NhbGlzYXRpb24gYXVnbWVudGF0aW9uIGNvbW11bmljYXRpb24gZm9yIGF1dG9ub21vdXMgc3lzdGVtcyIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMjEsIm9yZGVyIjoxMSwidGV4dCI6IklTTyAxMzE0MToyMDE1IGVzdGFibGlzaGVzIHJlcXVpcmVtZW50cyBmb3Igc2hvcnQtcmFuZ2UgY29tbXVuaWNhdGlvbiBmb3IgdGhlIHB1cnBvc2VzIG9mIGF1Z21lbnRpbmcgdGhlIGxvY2FsaXphdGlvbiBpbiBhdXRvbm9tb3VzIGVsZWN0cm9uaWMgZmVlIGNvbGxlY3Rpb24gKEVGQykgc3lzdGVtcy4gTG9jYWxpemF0aW9uIGF1Z21lbnRhdGlvbiBzZXJ2ZXMgdG8gaW5mb3JtIG9uLWJvYXJkIGVxdWlwbWVudCAoT0JFKSBhYm91dCBnZW9ncmFwaGljYWwgbG9jYXRpb24gYW5kIHRoZSBpZGVudGlmaWNhdGlvbiBvZiBhIGNoYXJnZSBvYmplY3QuIFRoaXMgSW50ZXJuYXRpb25hbCBTdGFuZGFyZCBzcGVjaWZpZXMgdGhlIHByb3Zpc2lvbiBvZiBsb2NhdGlvbiBhbmQgaGVhZGluZyBpbmZvcm1hdGlvbiBhbmQgc2VjdXJpdHkgbWVhbnMgdG8gcHJvdGVjdCBmcm9tIHRoZSBtYW5pcHVsYXRpb24gb2YgdGhlIE9CRSB3aXRoIGZhbHNlIHJvYWRzaWRlIGVxdWlwbWVudCAoUlNFKS4gVGhlIGxvY2FsaXphdGlvbiBhdWdtZW50YXRpb24gY29tbXVuaWNhdGlvbiB0YWtlcyBwbGFjZSBiZXR3ZWVuIGFuIE9CRSBpbiBhIHZlaGljbGUgYW5kIGZpeGVkIHJvYWRzaWRlIGVxdWlwbWVudC4gVGhpcyBJbnRlcm5hdGlvbmFsIFN0YW5kYXJkIGlzIGFwcGxpY2FibGUgdG8gT0JFIGluIGFuIGF1dG9ub21vdXMgbW9kZSBvZiBvcGVyYXRpb24uIElTTyAxMzE0MToyMDE1IGRlZmluZXMgYXR0cmlidXRlcyBhbmQgZnVuY3Rpb25zIGZvciB0aGUgcHVycG9zZSBvZiBsb2NhbGl6YXRpb24gYXVnbWVudGF0aW9uLCBieSBtYWtpbmcgdXNlIG9mIHRoZSBkZWRpY2F0ZWQgc2hvcnQtcmFuZ2UgY29tbXVuaWNhdGlvbnMgKERTUkMpIGNvbW11bmljYXRpb24gc2VydmljZXMgcHJvdmlkZWQgYnkgRFNSQyBMYXllciA3LCBhbmQgbWFrZXMgdGhlc2UgTEFDIGF0dHJpYnV0ZXMgYW5kIGZ1bmN0aW9ucyBhdmFpbGFibGUgdG8gdGhlIExBQyBhcHBsaWNhdGlvbnMgYXQgdGhlIFJTRSBhbmQgdGhlIE9CRS4gQXR0cmlidXRlcyBhbmQgZnVuY3Rpb25zIGFyZSBkZWZpbmVkIG9uIHRoZSBsZXZlbCBvZiBBcHBsaWNhdGlvbiBEYXRhIFVuaXRzIChBRFVzLCBzZWUgRmlndXJlIDEpLiAiLCJvYmplY3RJRCI6IjY0MTY2XzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjQxOjIwMTUgRWxlY3Ryb25pYyBmZWUgY29sbGVjdGlvbiDigJQgTG9jYWxpc2F0aW9uIGF1Z21lbnRhdGlvbiBjb21tdW5pY2F0aW9uIGZvciBhdXRvbm9tb3VzIHN5c3RlbXMiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjQxOjIwMTUgZXN0YWJsaXNoZXMgcmVxdWlyZW1lbnRzIGZvciBzaG9ydC1yYW5nZSBjb21tdW5pY2F0aW9uIGZvciB0aGUgcHVycG9zZXMgb2YgYXVnbWVudGluZyB0aGUgbG9jYWxpemF0aW9uIGluIGF1dG9ub21vdXMgZWxlY3Ryb25pYyBmZWUgY29sbGVjdGlvbiAoRUZDKSBzeXN0ZW1zLiBMb2NhbGl6YXRpb24gYXVnbWVudGF0aW9uIHNlcnZlcyB0byBpbmZvcm0gb24tYm9hcmQgZXF1aXBtZW50IChPQkUpIGFib3V0IGdlb2dyYXBoaWNhbCBsb2NhdGlvbiBhbmQgdGhlIGlkZW50aWZpY2F0aW9uIG9mIGEgY2hhcmdlIG9iamVjdC4gVGhpcyBJbnRlcm5hdGlvbmFsIFN0YW5kYXJkIHNwZWNpZmllcyB0aGUgcHJvdmlzaW9uIG9mIGxvY2F0aW9uIGFuZCBoZWFkaW5nIGluZm9ybWF0aW9uIGFuZCBzZWN1cml0eSBtZWFucyB0byBwcm90ZWN0IGZyb20gdGhlIG1hbmlwdWxhdGlvbiBvZiB0aGUgT0JFIHdpdGggZmFsc2Ugcm9hZHNpZGUgZXF1aXBtZW50IChSU0UpLiBUaGUgbG9jYWxpemF0aW9uIGF1Z21lbnRhdGlvbiBjb21tdW5pY2F0aW9uIHRha2VzIHBsYWNlIGJldHdlZW4gYW4gT0JFIGluIGEgdmVoaWNsZSBhbmQgZml4ZWQgcm9hZHNpZGUgZXF1aXBtZW50LiBUaGlzIEludGVybmF0aW9uYWwgU3RhbmRhcmQgaXMgYXBwbGljYWJsZSB0byBPQkUgaW4gYW4gYXV0b25vbW91cyBtb2RlIG9mIG9wZXJhdGlvbi4gPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjQxOjIwMTUgZGVmaW5lcyBhdHRyaWJ1dGVzIGFuZCBmdW5jdGlvbnMgZm9yIHRoZSBwdXJwb3NlIG9mIGxvY2FsaXphdGlvbiBhdWdtZW50YXRpb24sIGJ5IG1ha2luZyB1c2Ugb2YgdGhlIGRlZGljYXRlZCBzaG9ydC1yYW5nZSBjb21tdW5pY2F0aW9ucyAoRFNSQykgY29tbXVuaWNhdGlvbiBzZXJ2aWNlcyBwcm92aWRlZCBieSBEU1JDIExheWVyIDcsIGFuZCBtYWtlcyB0aGVzZSBMQUMgYXR0cmlidXRlcyBhbmQgZnVuY3Rpb25zIGF2YWlsYWJsZSB0byB0aGUgTEFDIGFwcGxpY2F0aW9ucyBhdCB0aGUgUlNFIGFuZCB0aGUgT0JFLiBBdHRyaWJ1dGVzIGFuZCBmdW5jdGlvbnMgYXJlIGRlZmluZWQgb24gdGhlIGxldmVsIG9mIEFwcGxpY2F0aW9uIERhdGEgVW5pdHMgKEFEVXMsIHNlZSBGaWd1cmUgMSkuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA2LzI0LzYyNDI0IiwidXVpZCI6Ijk0MTVhMzA4LTk0MGEtNDBkYi1iNmI2LTVjM2EzMDI2YzkzYiIsInRpdGxlIjoiSVNPIDEzMTY0LTQ6MjAxNSBXYXRlciBxdWFsaXR5IOKAlCBSYWRvbi0yMjIg4oCUIFBhcnQgNDogVGVzdCBtZXRob2QgdXNpbmcgdHdvLXBoYXNlIGxpcXVpZCBzY2ludGlsbGF0aW9uIGNvdW50aW5nIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAyMSwib3JkZXIiOjExLCJ0ZXh0IjoiSVNPIDEzMTY0LTQ6MjAxNSBkZXNjcmliZXMgYSB0ZXN0IG1ldGhvZCBmb3IgdGhlIGRldGVybWluYXRpb24gb2YgcmFkb24tMjIyICggMjIyIFJuKSBhY3Rpdml0eSBjb25jZW50cmF0aW9uIGluIG5vbi1zYWxpbmUgd2F0ZXJzIGJ5IGV4dHJhY3Rpb24gYW5kIGxpcXVpZCBzY2ludGlsbGF0aW9uIGNvdW50aW5nLiBUaGUgcmFkb24tMjIyIGFjdGl2aXR5IGNvbmNlbnRyYXRpb25zLCB3aGljaCBjYW4gYmUgbWVhc3VyZWQgYnkgdGhpcyB0ZXN0IG1ldGhvZCB1dGlsaXppbmcgY3VycmVudGx5IGF2YWlsYWJsZSBpbnN0cnVtZW50cywgYXJlIGF0IGxlYXN0IGFib3ZlIDAsNSBCcSBsIOKIkjEgZm9yIGEgMTAgbWwgdGVzdCBzYW1wbGUgYW5kIGEgbWVhc3VyaW5nIHRpbWUgb2YgMSBoLiBUaGlzIHRlc3QgbWV0aG9kIGNhbiBiZSB1c2VkIHN1Y2Nlc3NmdWxseSB3aXRoIGRyaW5raW5nIHdhdGVyIHNhbXBsZXMgYW5kIGl0IGlzIHRoZSByZXNwb25zaWJpbGl0eSBvZiB0aGUgbGFib3JhdG9yeSB0byBlbnN1cmUgdGhlIHZhbGlkaXR5IG9mIHRoaXMgdGVzdCBtZXRob2QgZm9yIHdhdGVyIHNhbXBsZXMgb2YgdW50ZXN0ZWQgbWF0cmljZXMuIEFubmV4IEEgZ2l2ZXMgaW5kaWNhdGlvbiBvbiB0aGUgbmVjZXNzYXJ5IGNvdW50aW5nIGNvbmRpdGlvbnMgdG8gbWVldCB0aGUgcmVxdWlyZWQgZGV0ZWN0aW9uIGxpbWl0cyBmb3IgZHJpbmtpbmcgd2F0ZXIgbW9uaXRvcmluZy4gIiwib2JqZWN0SUQiOiI2MjQyNF8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT42NC00OjIwMTUgV2F0ZXIgcXVhbGl0eSDigJQgUmFkb24tMjIyIOKAlCBQYXJ0IDQ6IFRlc3QgbWV0aG9kIHVzaW5nIHR3by1waGFzZSBsaXF1aWQgc2NpbnRpbGxhdGlvbiBjb3VudGluZyIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NjQtNDoyMDE1IGRlc2NyaWJlcyBhIHRlc3QgbWV0aG9kIGZvciB0aGUgZGV0ZXJtaW5hdGlvbiBvZiByYWRvbi0yMjIgKCAyMjIgUm4pIGFjdGl2aXR5IGNvbmNlbnRyYXRpb24gaW4gbm9uLXNhbGluZSB3YXRlcnMgYnkgZXh0cmFjdGlvbiBhbmQgbGlxdWlkIHNjaW50aWxsYXRpb24gY291bnRpbmcuIFRoZSByYWRvbi0yMjIgYWN0aXZpdHkgY29uY2VudHJhdGlvbnMsIHdoaWNoIGNhbiBiZSBtZWFzdXJlZCBieSB0aGlzIHRlc3QgbWV0aG9kIHV0aWxpemluZyBjdXJyZW50bHkgYXZhaWxhYmxlIGluc3RydW1lbnRzLCBhcmUgYXQgbGVhc3QgYWJvdmUgMCw1IEJxIGwg4oiSMSBmb3IgYSAxMCBtbCB0ZXN0IHNhbXBsZSBhbmQgYSBtZWFzdXJpbmcgdGltZSBvZiAxIGguIFRoaXMgdGVzdCBtZXRob2QgY2FuIGJlIHVzZWQgc3VjY2Vzc2Z1bGx5IHdpdGggZHJpbmtpbmcgd2F0ZXIgc2FtcGxlcyBhbmQgaXQgaXMgdGhlIHJlc3BvbnNpYmlsaXR5IG9mIHRoZSBsYWJvcmF0b3J5IHRvIGVuc3VyZSB0aGUgdmFsaWRpdHkgb2YgdGhpcyB0ZXN0IG1ldGhvZCBmb3Igd2F0ZXIgc2FtcGxlcyBvZiB1bnRlc3RlZCBtYXRyaWNlcy4gQW5uZXggQSBnaXZlcyBpbmRpY2F0aW9uIG9uIHRoZSBuZWNlc3NhcnkgY291bnRpbmcgY29uZGl0aW9ucyB0byBtZWV0IHRoZSByZXF1aXJlZCBkZXRlY3Rpb24gbGltaXRzIGZvciBkcmlua2luZyB3YXRlciBtb25pdG9yaW5nLiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNi8xNS82MTU3MyIsInV1aWQiOiI2MGZjMTM2Ny1mZjRlLTQyZDUtYTkzNC02NTNjOTc1NzFlMjYiLCJ0aXRsZSI6IklTTyAxMzE4NC0yOjIwMTYgSW50ZWxsaWdlbnQgdHJhbnNwb3J0IHN5c3RlbXMgKElUUykg4oCUIEd1aWRhbmNlIHByb3RvY29sIHZpYSBwZXJzb25hbCBJVFMgc3RhdGlvbiBmb3IgYWR2aXNvcnkgc2FmZXR5IHN5c3RlbXMg4oCUIFBhcnQgMjogUm9hZCBndWlkYW5jZSBwcm90b2NvbCAoUkdQKSByZXF1aXJlbWVudHMgYW5kIHNwZWNpZmljYXRpb24iLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDIxLCJvcmRlciI6MTEsInRleHQiOiJJU08gMTMxODQtMjoyMDE2IHNwZWNpZmllcyB0aGUgcm9hZCBndWlkYW5jZSB1c2UgY2FzZXMgb24gdGhlIERYTSB0byBwcm92aWRlIHRoZSByZWFsLXRpbWUgZGVjaXNpb24gc3VwcG9ydCBzeXN0ZW0gdG8gZHJpdmVycyBvciBwZWRlc3RyaWFucyB1c2luZyBQLUlUUy1TLiBUaGUgcm9hZCBndWlkYW5jZSBwcm90b2NvbCAoUkdQKSBpcyBhbiBpbnN0YW50aWF0aW9uIG9mIHRoZSBkYXRhIGV4Y2hhbmdlIG1lc3NhZ2UgKERYTSksIHdoaWNoIHJlcHJlc2VudHMgYSBnZW5lcmljIG1lc3NhZ2UgdG8gZXhjaGFuZ2UgZGF0YSBiZXR3ZWVuIElUUyBzdGF0aW9ucy4gVGhlIFJHUCBkZWZpbmVzIGFuIGludGVyb3BlcmFibGUgc2VydmljZSBwcm90b2NvbCBiZXR3ZWVuIFAtSVRTLVMgYW5kIFItSVRTLVMgZm9yIGV4Y2hhbmdpbmcgZGF0YSBlbGVtZW50cy4gVGhpcyBwYXJ0IG9mIElTTyAxMzE4NCBzcGVjaWZpZXMgdGhlIGZvbGxvd2luZzogLSAgICAgIFJlZmVyZW5jZSBhcmNoaXRlY3R1cmUgZm9yIHJlYWwtdGltZSBkZWNpc2lvbiBzdXBwb3J0IHN5c3RlbS4gVGhpcyByZWZlcmVuY2UgYXJjaGl0ZWN0dXJlIHByb3ZpZGVzIGEgZ2VuZXJhbCBzdHJ1Y3R1cmUgZm9yIHRoZSByZWFsLXRpbWUgZGVjaXNpb24gc3VwcG9ydCBzeXN0ZW0gYW5kIHRoZSBtZXRob2Qgb2YgbWVzc2FnZSBleGNoYW5nZSBiZXR3ZWVuIHRoZSBQLUlUUy1TIGFuZCB0aGUgUi1JVFMtUy4gVGhpcyByZWZlcmVuY2UgYXJjaGl0ZWN0dXJlIGlzIHVzZWQgdG8gYnVpbGQgdGhlIGludGVyY29ubmVjdGlvbnMgYmV0d2VlbiB0aGUgUC1JVFMtUyBhbmQgdGhlIFItSVRTLVMuIC0gICAgICBUZWNobmlxdWUgb2YgYXBwbGljYXRpb24gcHJvdG9jb2wgZGVzaWduIGZvciB2YXJpb3VzIHVzZSBjYXNlcyBvbiBhIFAtSVRTLVMuIFRoaXMgdGVjaG5pcXVlIGFkb3B0cyBhIGZsZXhpYmxlIGFuZCBleHRlbmRhYmxlIHByb3RvY29sIGRlc2lnbi4gSW4gbWFueSBjYXNlcywgdGhlIGFwcGxpY2F0aW9uIHByb3RvY29sIGZvciB0aGUgSVRTIGlzIGRlc2lnbmVkIHRvIHByb3ZpZGUgYSBzZXQgb2YgbWVzc2FnZXMgdGhhdCBpcyBkZXBlbmRlbnQgb24gdGhlIHVzZSBjYXNlcyBhbmQgdGhlIG1lc3NhZ2UgZXhjaGFuZ2UgbWV0aG9kLiBIb3dldmVyLCBpdCBpcyBub3QgZWFzeSB0byBlbnVtZXJhdGUgYWxsIHVzZSBjYXNlcyBmb3Igc29tZSBhcHBsaWNhdGlvbnMuIFRoZSB1c2UgY2FzZXMgY2FuIGJlIGNoYW5nZWQgb3IgZW5oYW5jZWQgZnJlcXVlbnRseS4gRm9yIHRoaXMgdHlwZSBvZiBhcHBsaWNhdGlvbiwgdGhlIHByb3RvY29sIGRlc2lnbiwgZGVwZW5kaW5nIG9uIHRoZSB1c2UgY2FzZXMsIGlzIG5vdCBhcHByb3ByaWF0ZS4gVGhpcyBwYXJ0IG9mIElTTyAxMzE4NCBwcm92aWRlcyBhIGdlbmVyYWwgdGVjaG5pcXVlIG9mIGRlc2lnbmluZyB0aGUgcm9hZCBndWlkYW5jZSBhcHBsaWNhdGlvbiBwcm90b2NvbCBiYXNlZCBvbiB0aGUgdXNlIGNhc2VzLiAtICAgICAgUHJpbWl0aXZlIGRhdGEgZWxlbWVudC4gVGhlIHByaW1pdGl2ZSBkYXRhIGVsZW1lbnQgd2lsbCBiZSBjb21tb25seSB1c2VkIHRvIGNvbmZpZ3VyZSB0aGUgc2FmZXR5IHdhcm5pbmcgYW5kIHBhcmtpbmcgZ3VpZGUgc2VydmljZSBpbiB0aGUgZm9ybSBvZiBzcGVlZCwgbG9jYXRpb24gYW5kIHRpbWUuIC0gICAgICBVc2UgY2FzZXMgYXQgdGhlIHJvYWQgYW5kIHBhcmtpbmcgc3BhY2VzIGZvciB3YXJuaW5nIGFuZCBwYXJraW5nIGd1aWRlLiBUaGlzIHBhcnQgb2YgSVNPIDEzMTg0IGRlc2NyaWJlcyB0aGUgdXNlIGNhc2VzIGFwcGxpY2FibGUgdG8gdGhlIGNvbW11bmljYXRpb24gc2VydmljZXMgYmV0d2VlbiB0aGUgUC1JVFMtUyBhbmQgdGhlIFItSVRTLVMgZm9yIHRoZSBwdXJwb3NlcyBvZiBwcm92aWRpbmcgc2FmZXR5IHdhcm5pbmcgYW5kIHBhcmtpbmcgZ3VpZGFuY2UuIElTTyAxMzE4NCAoYWxsIHBhcnRzKSBoYXZlIGJlZW4gYWxpZ25lZCBhY2NvcmRpbmcgdG8gdGhlIHJlcXVpcmVtZW50cyBzcGVjaWZpZWQgaW4gSVNPIDIxMjE3LCBJU08vVFMgMTc0MTkgYW5kIElTTy9UUyAxNzQyMy4gSVNPIDEzMTg0LTI6MjAxNiBvbmx5IHNwZWNpZmllcyB0aGUgUkdQIG1lc3NhZ2VzIGJhc2VkIG9uIHRoZSBEWE0gZGVmaW5pdGlvbiAoc2VlIEFubmV4IEIgYW5kIEFubmV4IEMpIGF0IHJlYWwtdGltZS4gVGhlIGNvbnRlbnQgb2YgdGhlIFJHUCBtZXNzYWdlcyBhcmUgYmFzZWQgb24gdGhlIGRlZmluaXRpb24gb2Ygcm9hZCBndWlkYW5jZSB1c2UgY2FzZXMgYXMgZG9jdW1lbnRlZCBpbiBJU08gMTMxODQ/MS4gVGhpcyBwYXJ0IG9mIElTTyAxMzE4NCBpbXBsZW1lbnRzIElUUy1TVSBvYmplY3RzLCB3aGljaCBpcyBhIGdlbmVyYWwgcmVmZXJlbmNlIHRvIElUUyBhcHBsaWNhdGlvbiBvYmplY3RzLCBJVFMgbWVzc2FnZSBzZXRzIGFuZCBvdGhlciBvYmplY3RzIHdoaWNoIG1heSByZXF1aXJlIGdsb2JhbGx5IHVuaXF1ZSBpZGVudGlmaWNhdGlvbiBhbmQgcmVnaXN0cmF0aW9uLiBUaGUgbWFuYWdlbWVudCBvZiBJVFMtU1Ugb2JqZWN0cyBpcyBtYW55LWZvbGQsIGUuZy4gc3BlY2lmaWVkIGluIElTTyAyNDEwMj80LCBJU08gMjQxMDI/NSwgSVNPIDI0MTAyPzYsIElTTyAyNDEwMj83LCBJU08gMjQxMDI/OCBhbmQgSVNPIDI0MTAyPzksIGFuZCBpbiBDRU4vSVNPL1RTIDE3NDIzLiBUaGlzIHBhcnQgb2YgSVNPIDEzMTg0IGltcGxlbWVudHMgYXV0aG9yaXplZCBhbmQgY29udHJvbGxlZCBvcGVyYXRpb24gb2YgSVRTLVNVIG9iamVjdHMsIHdoaWNoIHJlcXVpcmVzIGNvbnNpZGVyYXRpb25zIG9mIElUUy1TVSBvYmplY3QgaWRlbnRpZmllcnMsIGkuZS4gSVRTLUFJRCwgSVRTLU1zZ1NldElELCBJVFMtU1VJRCwgSVRTLVNDVUlELCBhZGRyZXNzZXMgYW5kIHByb3RvY29sIGlkZW50aWZpZXJzIHVzZWQgaW4gdGhlIGNvbW11bmljYXRpb24gcHJvdG9jb2wgc3RhY2sgb2YgYW4gSVRTLVMsIGFuZCBvdGhlcnMuIE5PVEUgICAgICAgICAgVGhlIGFjY3VyYWN5IG9mIHRoZSBuYXZpZ2F0aW9uIGFuZCBwb3NpdGlvbmluZyBzeXN0ZW0gYXMgaW5wdXQgdG8gdGhlIFJvYWQgR3VpZGFuY2UgYXBwbGljYXRpb24gaXMgaW1wb3J0YW50IGZvciByb2FkIGd1aWRhbmNlIGJ1dCBpcyBub3QgcGFydCBvZiB0aGUgSVNPIDEzMTg0IHNlcmllcy4gRGV0YWlsZWQgaW5mb3JtYXRpb24gYWJvdXQgY3Jvc3Nyb2FkcyBpcyBuZWVkZWQgZm9yIGltcGxlbWVudGF0aW9uIG9mIFJvYWQgR3VpZGFuY2UgYXBwbGljYXRpb25zLiAiLCJvYmplY3RJRCI6IjYxNTczXzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjg0LTI6MjAxNiBJbnRlbGxpZ2VudCB0cmFuc3BvcnQgc3lzdGVtcyAoSVRTKSDigJQgR3VpZGFuY2UgcHJvdG9jb2wgdmlhIHBlcnNvbmFsIElUUyBzdGF0aW9uIGZvciBhZHZpc29yeSBzYWZldHkgc3lzdGVtcyDigJQgUGFydCAyOiBSb2FkIGd1aWRhbmNlIHByb3RvY29sIChSR1ApIHJlcXVpcmVtZW50cyBhbmQgc3BlY2lmaWNhdGlvbiIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+ODQtMjoyMDE2IHNwZWNpZmllcyB0aGUgcm9hZCBndWlkYW5jZSB1c2UgY2FzZXMgb24gdGhlIERYTSB0byBwcm92aWRlIHRoZSByZWFsLXRpbWUgZGVjaXNpb24gc3VwcG9ydCBzeXN0ZW0gdG8gZHJpdmVycyBvciBwZWRlc3RyaWFucyB1c2luZyBQLUlUUy1TLiBUaGUgcm9hZCBndWlkYW5jZSBwcm90b2NvbCAoUkdQKSBpcyBhbiBpbnN0YW50aWF0aW9uIG9mIHRoZSBkYXRhIGV4Y2hhbmdlIG1lc3NhZ2UgKERYTSksIHdoaWNoIHJlcHJlc2VudHMgYSBnZW5lcmljIG1lc3NhZ2UgdG8gZXhjaGFuZ2UgZGF0YSBiZXR3ZWVuIElUUyBzdGF0aW9ucy4gVGhlIFJHUCBkZWZpbmVzIGFuIGludGVyb3BlcmFibGUgc2VydmljZSBwcm90b2NvbCBiZXR3ZWVuIFAtSVRTLVMgYW5kIFItSVRTLVMgZm9yIGV4Y2hhbmdpbmcgZGF0YSBlbGVtZW50cy4gVGhpcyBwYXJ0IG9mIDxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT44NCBzcGVjaWZpZXMgdGhlIGZvbGxvd2luZzogLSAgICAgIFJlZmVyZW5jZSBhcmNoaXRlY3R1cmUgZm9yIHJlYWwtdGltZSBkZWNpc2lvbiBzdXBwb3J0IHN5c3RlbS4gVGhpcyByZWZlcmVuY2UgYXJjaGl0ZWN0dXJlIHByb3ZpZGVzIGEgZ2VuZXJhbCBzdHJ1Y3R1cmUgZm9yIHRoZSByZWFsLXRpbWUgZGVjaXNpb24gc3VwcG9ydCBzeXN0ZW0gYW5kIHRoZSBtZXRob2Qgb2YgbWVzc2FnZSBleGNoYW5nZSBiZXR3ZWVuIHRoZSBQLUlUUy1TIGFuZCB0aGUgUi1JVFMtUy4gVGhpcyByZWZlcmVuY2UgYXJjaGl0ZWN0dXJlIGlzIHVzZWQgdG8gYnVpbGQgdGhlIGludGVyY29ubmVjdGlvbnMgYmV0d2VlbiB0aGUgUC1JVFMtUyBhbmQgdGhlIFItSVRTLVMuIC0gICAgICBUZWNobmlxdWUgb2YgYXBwbGljYXRpb24gcHJvdG9jb2wgZGVzaWduIGZvciB2YXJpb3VzIHVzZSBjYXNlcyBvbiBhIFAtSVRTLVMuIFRoaXMgdGVjaG5pcXVlIGFkb3B0cyBhIGZsZXhpYmxlIGFuZCBleHRlbmRhYmxlIHByb3RvY29sIGRlc2lnbi4gSW4gbWFueSBjYXNlcywgdGhlIGFwcGxpY2F0aW9uIHByb3RvY29sIGZvciB0aGUgSVRTIGlzIGRlc2lnbmVkIHRvIHByb3ZpZGUgYSBzZXQgb2YgbWVzc2FnZXMgdGhhdCBpcyBkZXBlbmRlbnQgb24gdGhlIHVzZSBjYXNlcyBhbmQgdGhlIG1lc3NhZ2UgZXhjaGFuZ2UgbWV0aG9kLiBIb3dldmVyLCBpdCBpcyBub3QgZWFzeSB0byBlbnVtZXJhdGUgYWxsIHVzZSBjYXNlcyBmb3Igc29tZSBhcHBsaWNhdGlvbnMuIFRoZSB1c2UgY2FzZXMgY2FuIGJlIGNoYW5nZWQgb3IgZW5oYW5jZWQgZnJlcXVlbnRseS4gRm9yIHRoaXMgdHlwZSBvZiBhcHBsaWNhdGlvbiwgdGhlIHByb3RvY29sIGRlc2lnbiwgZGVwZW5kaW5nIG9uIHRoZSB1c2UgY2FzZXMsIGlzIG5vdCBhcHByb3ByaWF0ZS4gVGhpcyBwYXJ0IG9mIDxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT44NCBwcm92aWRlcyBhIGdlbmVyYWwgdGVjaG5pcXVlIG9mIGRlc2lnbmluZyB0aGUgcm9hZCBndWlkYW5jZSBhcHBsaWNhdGlvbiBwcm90b2NvbCBiYXNlZCBvbiB0aGUgdXNlIGNhc2VzLiAtICAgICAgUHJpbWl0aXZlIGRhdGEgZWxlbWVudC4gVGhlIHByaW1pdGl2ZSBkYXRhIGVsZW1lbnQgd2lsbCBiZSBjb21tb25seSB1c2VkIHRvIGNvbmZpZ3VyZSB0aGUgc2FmZXR5IHdhcm5pbmcgYW5kIHBhcmtpbmcgZ3VpZGUgc2VydmljZSBpbiB0aGUgZm9ybSBvZiBzcGVlZCwgbG9jYXRpb24gYW5kIHRpbWUuIC0gICAgICBVc2UgY2FzZXMgYXQgdGhlIHJvYWQgYW5kIHBhcmtpbmcgc3BhY2VzIGZvciB3YXJuaW5nIGFuZCBwYXJraW5nIGd1aWRlLiBUaGlzIHBhcnQgb2YgPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjg0IGRlc2NyaWJlcyB0aGUgdXNlIGNhc2VzIGFwcGxpY2FibGUgdG8gdGhlIGNvbW11bmljYXRpb24gc2VydmljZXMgYmV0d2VlbiB0aGUgUC1JVFMtUyBhbmQgdGhlIFItSVRTLVMgZm9yIHRoZSBwdXJwb3NlcyBvZiBwcm92aWRpbmcgc2FmZXR5IHdhcm5pbmcgYW5kIHBhcmtpbmcgZ3VpZGFuY2UuIDxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT44NCAoYWxsIHBhcnRzKSBoYXZlIGJlZW4gYWxpZ25lZCBhY2NvcmRpbmcgdG8gdGhlIHJlcXVpcmVtZW50cyBzcGVjaWZpZWQgaW4gPGVtPklTTzwvZW0+IDIxMjE3LCA8ZW0+SVNPPC9lbT4vVFMgMTc0MTkgYW5kIDxlbT5JU088L2VtPi9UUyAxNzQyMy4gPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjg0LTI6MjAxNiBvbmx5IHNwZWNpZmllcyB0aGUgUkdQIG1lc3NhZ2VzIGJhc2VkIG9uIHRoZSBEWE0gZGVmaW5pdGlvbiAoc2VlIEFubmV4IEIgYW5kIEFubmV4IEMpIGF0IHJlYWwtdGltZS4gVGhlIGNvbnRlbnQgb2YgdGhlIFJHUCBtZXNzYWdlcyBhcmUgYmFzZWQgb24gdGhlIGRlZmluaXRpb24gb2Ygcm9hZCBndWlkYW5jZSB1c2UgY2FzZXMgYXMgZG9jdW1lbnRlZCBpbiA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+ODQ/MS4gVGhpcyBwYXJ0IG9mIDxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT44NCBpbXBsZW1lbnRzIElUUy1TVSBvYmplY3RzLCB3aGljaCBpcyBhIGdlbmVyYWwgcmVmZXJlbmNlIHRvIElUUyBhcHBsaWNhdGlvbiBvYmplY3RzLCBJVFMgbWVzc2FnZSBzZXRzIGFuZCBvdGhlciBvYmplY3RzIHdoaWNoIG1heSByZXF1aXJlIGdsb2JhbGx5IHVuaXF1ZSBpZGVudGlmaWNhdGlvbiBhbmQgcmVnaXN0cmF0aW9uLiBUaGUgbWFuYWdlbWVudCBvZiBJVFMtU1Ugb2JqZWN0cyBpcyBtYW55LWZvbGQsIGUuZy4gc3BlY2lmaWVkIGluIDxlbT5JU088L2VtPiAyNDEwMj80LCA8ZW0+SVNPPC9lbT4gMjQxMDI/NSwgPGVtPklTTzwvZW0+IDI0MTAyPzYsIDxlbT5JU088L2VtPiAyNDEwMj83LCA8ZW0+SVNPPC9lbT4gMjQxMDI/OCBhbmQgPGVtPklTTzwvZW0+IDI0MTAyPzksIGFuZCBpbiBDRU4vPGVtPklTTzwvZW0+L1RTIDE3NDIzLiBUaGlzIHBhcnQgb2YgPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjg0IGltcGxlbWVudHMgYXV0aG9yaXplZCBhbmQgY29udHJvbGxlZCBvcGVyYXRpb24gb2YgSVRTLVNVIG9iamVjdHMsIHdoaWNoIHJlcXVpcmVzIGNvbnNpZGVyYXRpb25zIG9mIElUUy1TVSBvYmplY3QgaWRlbnRpZmllcnMsIGkuZS4gSVRTLUFJRCwgSVRTLU1zZ1NldElELCBJVFMtU1VJRCwgSVRTLVNDVUlELCBhZGRyZXNzZXMgYW5kIHByb3RvY29sIGlkZW50aWZpZXJzIHVzZWQgaW4gdGhlIGNvbW11bmljYXRpb24gcHJvdG9jb2wgc3RhY2sgb2YgYW4gSVRTLVMsIGFuZCBvdGhlcnMuIE5PVEUgICAgICAgICAgVGhlIGFjY3VyYWN5IG9mIHRoZSBuYXZpZ2F0aW9uIGFuZCBwb3NpdGlvbmluZyBzeXN0ZW0gYXMgaW5wdXQgdG8gdGhlIFJvYWQgR3VpZGFuY2UgYXBwbGljYXRpb24gaXMgaW1wb3J0YW50IGZvciByb2FkIGd1aWRhbmNlIGJ1dCBpcyBub3QgcGFydCBvZiB0aGUgPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjg0IHNlcmllcy4gRGV0YWlsZWQgaW5mb3JtYXRpb24gYWJvdXQgY3Jvc3Nyb2FkcyBpcyBuZWVkZWQgZm9yIGltcGxlbWVudGF0aW9uIG9mIFJvYWQgR3VpZGFuY2UgYXBwbGljYXRpb25zLiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNi8wMS82MDE0NiIsInV1aWQiOiJjNTkyZjI0Yi1lYjRlLTQ2NjMtYTAxMC04YzRkZGU5MWUyODUiLCJ0aXRsZSI6IklTTyAxMzE2NS0zOjIwMTYgV2F0ZXIgcXVhbGl0eSDigJQgUmFkaXVtLTIyNiDigJQgUGFydCAzOiBUZXN0IG1ldGhvZCB1c2luZyBjb3ByZWNpcGl0YXRpb24gYW5kIGdhbW1hLXNwZWN0cm9tZXRyeSIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMjEsIm9yZGVyIjoxMSwidGV4dCI6IklTTyAxMzE2NS0zOjIwMTYgc3BlY2lmaWVzIHRoZSBkZXRlcm1pbmF0aW9uIG9mIHJhZGl1bS0yMjYgKDIyNlJhKSBhY3Rpdml0eSBjb25jZW50cmF0aW9uIGluIGFsbCB0eXBlcyBvZiB3YXRlciBieSBjb3ByZWNpcGl0YXRpb24gZm9sbG93ZWQgYnkgZ2FtbWEtc3BlY3Ryb21ldHJ5IChzZWUgSVNPIDE4NTg54oCRMykuIFRoZSBtZXRob2QgZGVzY3JpYmVkIGlzIHN1aXRhYmxlIGZvciBkZXRlcm1pbmF0aW9uIG9mIHNvbHVibGUgMjI2UmEgYWN0aXZpdHkgY29uY2VudHJhdGlvbnMgZ3JlYXRlciB0aGFuIDAsMDIgQnEgbOKIkjEgdXNpbmcgYSBzYW1wbGUgdm9sdW1lIG9mIDEgbCB0byAxMDAgbCBvZiBhbnkgd2F0ZXIgdHlwZS4gRm9yIHdhdGVyIHNhbXBsZXMgc21hbGxlciB0aGFuIGEgdm9sdW1lIG9mIDEgbCwgZGlyZWN0IGdhbW1hLXNwZWN0cm9tZXRyeSBjYW4gYmUgcGVyZm9ybWVkIGZvbGxvd2luZyBJU08gMTA3MDMgd2l0aCBhIGhpZ2hlciBkZXRlY3Rpb24gbGltaXQuIE5PVEUgICAgICAgICAgVGhpcyB0ZXN0IG1ldGhvZCBhbHNvIGFsbG93cyBvdGhlciBpc290b3BlcyBvZiByYWRpdW0sIDIyM1JhLCAyMjRSYSwgYW5kIDIyOFJhLCB0byBiZSBkZXRlcm1pbmVkLiAiLCJvYmplY3RJRCI6IjYwMTQ2XzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjY1LTM6MjAxNiBXYXRlciBxdWFsaXR5IOKAlCBSYWRpdW0tMjI2IOKAlCBQYXJ0IDM6IFRlc3QgbWV0aG9kIHVzaW5nIGNvcHJlY2lwaXRhdGlvbiBhbmQgZ2FtbWEtc3BlY3Ryb21ldHJ5IiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT42NS0zOjIwMTYgc3BlY2lmaWVzIHRoZSBkZXRlcm1pbmF0aW9uIG9mIHJhZGl1bS0yMjYgKDIyNlJhKSBhY3Rpdml0eSBjb25jZW50cmF0aW9uIGluIGFsbCB0eXBlcyBvZiB3YXRlciBieSBjb3ByZWNpcGl0YXRpb24gZm9sbG93ZWQgYnkgZ2FtbWEtc3BlY3Ryb21ldHJ5IChzZWUgPGVtPklTTzwvZW0+IDE4NTg54oCRMykuIFRoZSBtZXRob2QgZGVzY3JpYmVkIGlzIHN1aXRhYmxlIGZvciBkZXRlcm1pbmF0aW9uIG9mIHNvbHVibGUgMjI2UmEgYWN0aXZpdHkgY29uY2VudHJhdGlvbnMgZ3JlYXRlciB0aGFuIDAsMDIgQnEgbOKIkjEgdXNpbmcgYSBzYW1wbGUgdm9sdW1lIG9mIDEgbCB0byAxMDAgbCBvZiBhbnkgd2F0ZXIgdHlwZS4gRm9yIHdhdGVyIHNhbXBsZXMgc21hbGxlciB0aGFuIGEgdm9sdW1lIG9mIDEgbCwgZGlyZWN0IGdhbW1hLXNwZWN0cm9tZXRyeSBjYW4gYmUgcGVyZm9ybWVkIGZvbGxvd2luZyA8ZW0+SVNPPC9lbT4gMTA3MDMgd2l0aCBhIGhpZ2hlciBkZXRlY3Rpb24gbGltaXQuIE5PVEUgICAgICAgICAgVGhpcyB0ZXN0IG1ldGhvZCBhbHNvIGFsbG93cyBvdGhlciBpc290b3BlcyBvZiByYWRpdW0sIDIyM1JhLCAyMjRSYSwgYW5kIDIyOFJhLCB0byBiZSBkZXRlcm1pbmVkLiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNS8zNC81MzQwOCIsInV1aWQiOiIwM2I4OTU4Yy1lMDliLTQ0N2YtYjYxMS0xZjIwMjg2ZmUwZGQiLCJ0aXRsZSI6IklTTyAxMzE2NzoyMDE1IFdhdGVyIHF1YWxpdHkg4oCUIFBsdXRvbml1bSwgYW1lcmljaXVtLCBjdXJpdW0gYW5kIG5lcHR1bml1bSDigJQgVGVzdCBtZXRob2QgdXNpbmcgYWxwaGEgc3BlY3Ryb21ldHJ5Iiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAyMSwib3JkZXIiOjExLCJ0ZXh0IjoiSVNPIDEzMTY3OjIwMTUgc3BlY2lmaWVzIGEgdGVzdCBtZXRob2QgZm9yIG1lYXN1cmluZyBhY3RpbmlkZXMgKCAyMzggUHUsIDIzOSsyNDAgUHUsIDI0MSBBbSwgMjQyIENtLCAyNDMrMjQ0IENtIGFuZCAyMzcgTnApIGluIHdhdGVyIHNhbXBsZXMgYnkgYWxwaGEgc3BlY3Ryb21ldHJ5IGZvbGxvd2luZyBhIGNoZW1pY2FsIHNlcGFyYXRpb24uIFRoZSBtZXRob2QgY2FuIGJlIHVzZWQgZm9yIGFueSB0eXBlIG9mIGVudmlyb25tZW50YWwgc3R1ZHkgb3IgbW9uaXRvcmluZy4gVGhlIHZvbHVtZSBvZiB0aGUgdGVzdCBwb3J0aW9uIHJlcXVpcmVkIGRlcGVuZHMgb24gdGhlIGFzc3VtZWQgYWN0aXZpdHkgb2YgdGhlIHNhbXBsZSBhbmQgdGhlIGRlc2lyZWQgZGV0ZWN0aW9uIGxpbWl0LiBUaGUgZGV0ZWN0aW9uIGxpbWl0IG9mIHRoZSB0ZXN0IG1ldGhvZCBpcyA1IMOXIDEwIOKIkjMgdG8gNSDDlyAxMCDiiJI0IEJxL2wgZm9yIGEgdm9sdW1lIG9mIHRoZSB0ZXN0IHBvcnRpb24gb2YgMCwxIGwgdG8gNSBsIHdpdGggYSBjb3VudGluZyB0aW1lIG9mIHR3byB0byB0ZW4gZGF5cy4gIiwib2JqZWN0SUQiOiI1MzQwOF8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT42NzoyMDE1IFdhdGVyIHF1YWxpdHkg4oCUIFBsdXRvbml1bSwgYW1lcmljaXVtLCBjdXJpdW0gYW5kIG5lcHR1bml1bSDigJQgVGVzdCBtZXRob2QgdXNpbmcgYWxwaGEgc3BlY3Ryb21ldHJ5IiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT42NzoyMDE1IHNwZWNpZmllcyBhIHRlc3QgbWV0aG9kIGZvciBtZWFzdXJpbmcgYWN0aW5pZGVzICggMjM4IFB1LCAyMzkrMjQwIFB1LCAyNDEgQW0sIDI0MiBDbSwgMjQzKzI0NCBDbSBhbmQgMjM3IE5wKSBpbiB3YXRlciBzYW1wbGVzIGJ5IGFscGhhIHNwZWN0cm9tZXRyeSBmb2xsb3dpbmcgYSBjaGVtaWNhbCBzZXBhcmF0aW9uLiBUaGUgbWV0aG9kIGNhbiBiZSB1c2VkIGZvciBhbnkgdHlwZSBvZiBlbnZpcm9ubWVudGFsIHN0dWR5IG9yIG1vbml0b3JpbmcuIFRoZSB2b2x1bWUgb2YgdGhlIHRlc3QgcG9ydGlvbiByZXF1aXJlZCBkZXBlbmRzIG9uIHRoZSBhc3N1bWVkIGFjdGl2aXR5IG9mIHRoZSBzYW1wbGUgYW5kIHRoZSBkZXNpcmVkIGRldGVjdGlvbiBsaW1pdC4gVGhlIGRldGVjdGlvbiBsaW1pdCBvZiB0aGUgdGVzdCBtZXRob2QgaXMgNSDDlyAxMCDiiJIzIHRvIDUgw5cgMTAg4oiSNCBCcS9sIGZvciBhIHZvbHVtZSBvZiB0aGUgdGVzdCBwb3J0aW9uIG9mIDAsMSBsIHRvIDUgbCB3aXRoIGEgY291bnRpbmcgdGltZSBvZiB0d28gdG8gdGVuIGRheXMuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA1LzMwLzUzMDU0IiwidXVpZCI6IjY3ODE2ODg0LTdjNTEtNGU1ZS1iZDZjLTZlZTFhZmVhNWE4ZCIsInRpdGxlIjoiSVNPIDEzMTMyOjIwMTEgTGFib3JhdG9yeSBnbGFzc3dhcmUg4oCUIFBldHJpIGRpc2hlcyIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMjEsIm9yZGVyIjoxMSwidGV4dCI6IklTTyAxMzEzMjoyMDExIHNwZWNpZmllcyByZXF1aXJlbWVudHMgYW5kIHRlc3RzIGZvciBnbGFzcyBQZXRyaSBkaXNoZXMgaW50ZW5kZWQgZm9yIGdlbmVyYWwgbGFib3JhdG9yeSBwdXJwb3NlcyBhbmQgbWljcm9iaW9sb2dpY2FsIHdvcmsuICIsIm9iamVjdElEIjoiNTMwNTRfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+MzI6MjAxMSBMYWJvcmF0b3J5IGdsYXNzd2FyZSDigJQgUGV0cmkgZGlzaGVzIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT4zMjoyMDExIHNwZWNpZmllcyByZXF1aXJlbWVudHMgYW5kIHRlc3RzIGZvciBnbGFzcyBQZXRyaSBkaXNoZXMgaW50ZW5kZWQgZm9yIGdlbmVyYWwgbGFib3JhdG9yeSBwdXJwb3NlcyBhbmQgbWljcm9iaW9sb2dpY2FsIHdvcmsuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA1LzMwLzUzMDA3IiwidXVpZCI6ImQyY2NmMmJjLTU5ZGYtNDE3YS1hNWRlLTIzOWI0YmNkNDBmZSIsInRpdGxlIjoiSVNPIDEzMTI0OjIwMTEgRmluZSBjZXJhbWljcyAoYWR2YW5jZWQgY2VyYW1pY3MsIGFkdmFuY2VkIHRlY2huaWNhbCBjZXJhbWljcykg4oCUIFRlc3QgbWV0aG9kIGZvciBpbnRlcmZhY2lhbCBib25kIHN0cmVuZ3RoIG9mIGNlcmFtaWMgbWF0ZXJpYWxzIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAyMSwib3JkZXIiOjExLCJ0ZXh0IjoiSVNPIDEzMTI0OjIwMTEgc3BlY2lmaWVzIGEgdGVzdCBtZXRob2QgZm9yIGRldGVybWluaW5nIHRoZSBpbnRlcmZhY2lhbCB0ZW5zaWxlIGFuZCBzaGVhciBib25kIHN0cmVuZ3RoIG9mIGNlcmFtaWMtY2VyYW1pYywgY2VyYW1pYy1tZXRhbCwgYW5kIGNlcmFtaWMtZ2xhc3Mgam9pbmluZyBhdCBhbWJpZW50IHRlbXBlcmF0dXJlIGJ5IGNvbXByZXNzaW9uIHRlc3RzIG9uIGNyb3NzLWJvbmRlZCB0ZXN0IHBpZWNlcy4gTWV0aG9kcyBmb3IgdGVzdC1waWVjZSBwcmVwYXJhdGlvbiwgdGVzdCBtb2RlcyBhbmQgcmF0ZXMgKGxvYWQgcmF0ZSBvciBkaXNwbGFjZW1lbnQgcmF0ZSksIGRhdGEgY29sbGVjdGlvbiBhbmQgcmVwb3J0aW5nIHByb2NlZHVyZXMgYXJlIGFkZHJlc3NlZC4gSVNPIDEzMTI0OjIwMTEgYXBwbGllcyBwcmltYXJpbHkgdG8gY2VyYW1pYyBtYXRlcmlhbHMsIGluY2x1ZGluZyBtb25vbGl0aGljIGZpbmUgY2VyYW1pY3MgYW5kIHdoaXNrZXItLCBmaWJyZS0gb3IgcGFydGljdWxhdGUtcmVpbmZvcmNlZCBjZXJhbWljIGNvbXBvc2l0ZXMuIFRoaXMgdGVzdCBtZXRob2QgY2FuIGJlIHVzZWQgZm9yIG1hdGVyaWFscyByZXNlYXJjaCwgcXVhbGl0eSBjb250cm9sLCBhbmQgY2hhcmFjdGVyaXphdGlvbiBhbmQgZGVzaWduIGRhdGEgZ2VuZXJhdGlvbiBwdXJwb3Nlcy4gIiwib2JqZWN0SUQiOiI1MzAwN18wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT4yNDoyMDExIEZpbmUgY2VyYW1pY3MgKGFkdmFuY2VkIGNlcmFtaWNzLCBhZHZhbmNlZCB0ZWNobmljYWwgY2VyYW1pY3MpIOKAlCBUZXN0IG1ldGhvZCBmb3IgaW50ZXJmYWNpYWwgYm9uZCBzdHJlbmd0aCBvZiBjZXJhbWljIG1hdGVyaWFscyIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+MjQ6MjAxMSBzcGVjaWZpZXMgYSB0ZXN0IG1ldGhvZCBmb3IgZGV0ZXJtaW5pbmcgdGhlIGludGVyZmFjaWFsIHRlbnNpbGUgYW5kIHNoZWFyIGJvbmQgc3RyZW5ndGggb2YgY2VyYW1pYy1jZXJhbWljLCBjZXJhbWljLW1ldGFsLCBhbmQgY2VyYW1pYy1nbGFzcyBqb2luaW5nIGF0IGFtYmllbnQgdGVtcGVyYXR1cmUgYnkgY29tcHJlc3Npb24gdGVzdHMgb24gY3Jvc3MtYm9uZGVkIHRlc3QgcGllY2VzLiBNZXRob2RzIGZvciB0ZXN0LXBpZWNlIHByZXBhcmF0aW9uLCB0ZXN0IG1vZGVzIGFuZCByYXRlcyAobG9hZCByYXRlIG9yIGRpc3BsYWNlbWVudCByYXRlKSwgZGF0YSBjb2xsZWN0aW9uIGFuZCByZXBvcnRpbmcgcHJvY2VkdXJlcyBhcmUgYWRkcmVzc2VkLiA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+MjQ6MjAxMSBhcHBsaWVzIHByaW1hcmlseSB0byBjZXJhbWljIG1hdGVyaWFscywgaW5jbHVkaW5nIG1vbm9saXRoaWMgZmluZSBjZXJhbWljcyBhbmQgd2hpc2tlci0sIGZpYnJlLSBvciBwYXJ0aWN1bGF0ZS1yZWluZm9yY2VkIGNlcmFtaWMgY29tcG9zaXRlcy4gVGhpcyB0ZXN0IG1ldGhvZCBjYW4gYmUgdXNlZCBmb3IgbWF0ZXJpYWxzIHJlc2VhcmNoLCBxdWFsaXR5IGNvbnRyb2wsIGFuZCBjaGFyYWN0ZXJpemF0aW9uIGFuZCBkZXNpZ24gZGF0YSBnZW5lcmF0aW9uIHB1cnBvc2VzLiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wOC8wMC84MDAzNyIsInV1aWQiOiIzMjVjMzEzOC1kOTZiLTRlZTEtYWRkMi03MTIyZDhlZTA2NDIiLCJ0aXRsZSI6IklTTyAxMzE2NjoyMDIwIFdhdGVyIHF1YWxpdHkg4oCUIFVyYW5pdW0gaXNvdG9wZXMg4oCUIFRlc3QgbWV0aG9kIHVzaW5nIGFscGhhLXNwZWN0cm9tZXRyeSIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMjAsIm9yZGVyIjoxMSwidGV4dCI6IlRoaXMgZG9jdW1lbnQgc3BlY2lmaWVzIHRoZSBjb25kaXRpb25zIGZvciB0aGUgZGV0ZXJtaW5hdGlvbiBvZiB1cmFuaXVtIGlzb3RvcGUgYWN0aXZpdHkgY29uY2VudHJhdGlvbiBpbiBzYW1wbGVzIG9mIGVudmlyb25tZW50YWwgd2F0ZXIgKGluY2x1ZGluZyBzZWEgd2F0ZXJzKSB1c2luZyBhbHBoYS1zcGVjdHJvbWV0cnkgYW5kIDIzMiBVIGFzIGEgeWllbGQgdHJhY2VyLiBBIGNoZW1pY2FsIHNlcGFyYXRpb24gaXMgcmVxdWlyZWQgdG8gc2VwYXJhdGUgYW5kIHB1cmlmeSB1cmFuaXVtIGZyb20gYSB0ZXN0IHBvcnRpb24gb2YgdGhlIHNhbXBsZS4gIiwib2JqZWN0SUQiOiI4MDAzN18wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT42NjoyMDIwIFdhdGVyIHF1YWxpdHkg4oCUIFVyYW5pdW0gaXNvdG9wZXMg4oCUIFRlc3QgbWV0aG9kIHVzaW5nIGFscGhhLXNwZWN0cm9tZXRyeSIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiJUaGlzIGRvY3VtZW50IHNwZWNpZmllcyB0aGUgY29uZGl0aW9ucyBmb3IgdGhlIGRldGVybWluYXRpb24gb2YgdXJhbml1bSBpc290b3BlIGFjdGl2aXR5IGNvbmNlbnRyYXRpb24gaW4gc2FtcGxlcyBvZiBlbnZpcm9ubWVudGFsIHdhdGVyIChpbmNsdWRpbmcgc2VhIHdhdGVycykgdXNpbmcgYWxwaGEtc3BlY3Ryb21ldHJ5IGFuZCAyMzIgVSBhcyBhIHlpZWxkIHRyYWNlci4gQSBjaGVtaWNhbCBzZXBhcmF0aW9uIGlzIHJlcXVpcmVkIHRvIHNlcGFyYXRlIGFuZCBwdXJpZnkgdXJhbml1bSBmcm9tIGEgdGVzdCBwb3J0aW9uIG9mIHRoZSBzYW1wbGUuICIsIm1hdGNoTGV2ZWwiOiJub25lIiwibWF0Y2hlZFdvcmRzIjpbXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA3LzQ3Lzc0Nzc2IiwidXVpZCI6IjU0YjBjMmMwLTY0NDItNDc0NC04MmY5LTA3Y2I4MGZiMDk4OSIsInRpdGxlIjoiSVNPIDEzMTYxOjIwMjAgV2F0ZXIgcXVhbGl0eSDigJQgUG9sb25pdW0gMjEwIOKAlCBUZXN0IG1ldGhvZCB1c2luZyBhbHBoYSBzcGVjdHJvbWV0cnkiLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDIwLCJvcmRlciI6MTEsInRleHQiOiJUaGlzIGRvY3VtZW50IHNwZWNpZmllcyBhIG1ldGhvZCBmb3IgdGhlIG1lYXN1cmVtZW50IG9mIDIxMCBQbyBpbiBhbGwgdHlwZXMgb2Ygd2F0ZXJzIGJ5IGFscGhhIHNwZWN0cm9tZXRyeS4gVGhlIG1ldGhvZCBpcyBhcHBsaWNhYmxlIHRvIHRlc3Qgc2FtcGxlcyBvZiBzdXBwbHkvZHJpbmtpbmcgd2F0ZXIsIHJhaW53YXRlciwgc3VyZmFjZSBhbmQgZ3JvdW5kIHdhdGVyLCBtYXJpbmUgd2F0ZXIsIGFzIHdlbGwgYXMgY29vbGluZyB3YXRlciwgaW5kdXN0cmlhbCB3YXRlciwgZG9tZXN0aWMsIGFuZCBpbmR1c3RyaWFsIHdhc3Rld2F0ZXIgYWZ0ZXIgcHJvcGVyIHNhbXBsaW5nIGFuZCBoYW5kbGluZywgYW5kIHRlc3Qgc2FtcGxlIHByZXBhcmF0aW9uLiBGaWx0cmF0aW9uIG9mIHRoZSB0ZXN0IHNhbXBsZSBtYXkgYmUgcmVxdWlyZWQuIFRoZSBkZXRlY3Rpb24gbGltaXQgZGVwZW5kcyBvbiB0aGUgc2FtcGxlIHZvbHVtZSwgdGhlIGluc3RydW1lbnQgdXNlZCwgdGhlIGNvdW50aW5nIHRpbWUsIHRoZSBiYWNrZ3JvdW5kIGNvdW50IHJhdGUsIHRoZSBkZXRlY3Rpb24gZWZmaWNpZW5jeSBhbmQgdGhlIGNoZW1pY2FsIHlpZWxkLiBUaGUgbWV0aG9kIGRlc2NyaWJlZCBpbiB0aGlzIGRvY3VtZW50LCB1c2luZyBjdXJyZW50bHkgYXZhaWxhYmxlIGFscGhhIHNwZWN0cm9tZXRyeSBhcHBhcmF0dXMsIGhhcyBhIGRldGVjdGlvbiBsaW1pdCBvZiBhcHByb3hpbWF0ZWx5IDUgbUJxIGwg4oiSMSAsIHdoaWNoIGlzIGxvd2VyIHRoYW4gdGhlIFdITyBjcml0ZXJpYSBmb3Igc2FmZSBjb25zdW1wdGlvbiBvZiBkcmlua2luZyB3YXRlciAoMTAwIG1CcSBsIOKIkjEgKS4gVGhpcyB2YWx1ZSBjYW4gYmUgYWNoaWV2ZWQgd2l0aCBhIGNvdW50aW5nIHRpbWUgb2YgMjQgaCBmb3IgYSBzYW1wbGUgdm9sdW1lIG9mIDUwMCBtbC4gVGhlIG1ldGhvZCBkZXNjcmliZWQgaW4gdGhpcyBkb2N1bWVudCBpcyBhbHNvIGFwcGxpY2FibGUgaW4gYW4gZW1lcmdlbmN5IHNpdHVhdGlvbi4gVGhlIGFuYWx5c2lzIG9mIDIxMCBQbyBhZHNvcmJlZCB0byBzdXNwZW5kZWQgbWF0dGVyIGluIHRoZSBzYW1wbGUgaXMgbm90IGNvdmVyZWQgYnkgdGhpcyBtZXRob2QuIElmIHN1c3BlbmRlZCBtYXRlcmlhbCBoYXMgdG8gYmUgcmVtb3ZlZCBvciBhbmFseXNlZCwgZmlsdHJhdGlvbiB1c2luZyBhIDAsNDUgzrxtIGZpbHRlciBpcyByZWNvbW1lbmRlZC4gVGhlIGFuYWx5c2lzIG9mIHRoZSBpbnNvbHVibGUgZnJhY3Rpb24gcmVxdWlyZXMgYSBtaW5lcmFsaXphdGlvbiBzdGVwIHRoYXQgaXMgbm90IGNvdmVyZWQgYnkgdGhpcyBkb2N1bWVudCBbMTNdIC4gSW4gdGhpcyBjYXNlLCB0aGUgbWVhc3VyZW1lbnQgaXMgbWFkZSBvbiB0aGUgZGlmZmVyZW50IHBoYXNlcyBvYnRhaW5lZC4gVGhlIGZpbmFsIGFjdGl2aXR5IGlzIHRoZSBzdW0gb2YgYWxsIHRoZSBtZWFzdXJlZCBhY3Rpdml0eSBjb25jZW50cmF0aW9ucy4gSXQgaXMgdGhlIHVzZXIncyByZXNwb25zaWJpbGl0eSB0byBlbnN1cmUgdGhlIHZhbGlkaXR5IG9mIHRoaXMgdGVzdCBtZXRob2QgZm9yIHRoZSB3YXRlciBzYW1wbGVzIHRlc3RlZC4gIiwib2JqZWN0SUQiOiI3NDc3Nl8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT42MToyMDIwIFdhdGVyIHF1YWxpdHkg4oCUIFBvbG9uaXVtIDIxMCDigJQgVGVzdCBtZXRob2QgdXNpbmcgYWxwaGEgc3BlY3Ryb21ldHJ5IiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IlRoaXMgZG9jdW1lbnQgc3BlY2lmaWVzIGEgbWV0aG9kIGZvciB0aGUgbWVhc3VyZW1lbnQgb2YgMjEwIFBvIGluIGFsbCB0eXBlcyBvZiB3YXRlcnMgYnkgYWxwaGEgc3BlY3Ryb21ldHJ5LiBUaGUgbWV0aG9kIGlzIGFwcGxpY2FibGUgdG8gdGVzdCBzYW1wbGVzIG9mIHN1cHBseS9kcmlua2luZyB3YXRlciwgcmFpbndhdGVyLCBzdXJmYWNlIGFuZCBncm91bmQgd2F0ZXIsIG1hcmluZSB3YXRlciwgYXMgd2VsbCBhcyBjb29saW5nIHdhdGVyLCBpbmR1c3RyaWFsIHdhdGVyLCBkb21lc3RpYywgYW5kIGluZHVzdHJpYWwgd2FzdGV3YXRlciBhZnRlciBwcm9wZXIgc2FtcGxpbmcgYW5kIGhhbmRsaW5nLCBhbmQgdGVzdCBzYW1wbGUgcHJlcGFyYXRpb24uIEZpbHRyYXRpb24gb2YgdGhlIHRlc3Qgc2FtcGxlIG1heSBiZSByZXF1aXJlZC4gVGhlIGRldGVjdGlvbiBsaW1pdCBkZXBlbmRzIG9uIHRoZSBzYW1wbGUgdm9sdW1lLCB0aGUgaW5zdHJ1bWVudCB1c2VkLCB0aGUgY291bnRpbmcgdGltZSwgdGhlIGJhY2tncm91bmQgY291bnQgcmF0ZSwgdGhlIGRldGVjdGlvbiBlZmZpY2llbmN5IGFuZCB0aGUgY2hlbWljYWwgeWllbGQuIFRoZSBtZXRob2QgZGVzY3JpYmVkIGluIHRoaXMgZG9jdW1lbnQsIHVzaW5nIGN1cnJlbnRseSBhdmFpbGFibGUgYWxwaGEgc3BlY3Ryb21ldHJ5IGFwcGFyYXR1cywgaGFzIGEgZGV0ZWN0aW9uIGxpbWl0IG9mIGFwcHJveGltYXRlbHkgNSBtQnEgbCDiiJIxICwgd2hpY2ggaXMgbG93ZXIgdGhhbiB0aGUgV0hPIGNyaXRlcmlhIGZvciBzYWZlIGNvbnN1bXB0aW9uIG9mIGRyaW5raW5nIHdhdGVyICgxMDAgbUJxIGwg4oiSMSApLiBUaGlzIHZhbHVlIGNhbiBiZSBhY2hpZXZlZCB3aXRoIGEgY291bnRpbmcgdGltZSBvZiAyNCBoIGZvciBhIHNhbXBsZSB2b2x1bWUgb2YgNTAwIG1sLiBUaGUgbWV0aG9kIGRlc2NyaWJlZCBpbiB0aGlzIGRvY3VtZW50IGlzIGFsc28gYXBwbGljYWJsZSBpbiBhbiBlbWVyZ2VuY3kgc2l0dWF0aW9uLiBUaGUgYW5hbHlzaXMgb2YgMjEwIFBvIGFkc29yYmVkIHRvIHN1c3BlbmRlZCBtYXR0ZXIgaW4gdGhlIHNhbXBsZSBpcyBub3QgY292ZXJlZCBieSB0aGlzIG1ldGhvZC4gSWYgc3VzcGVuZGVkIG1hdGVyaWFsIGhhcyB0byBiZSByZW1vdmVkIG9yIGFuYWx5c2VkLCBmaWx0cmF0aW9uIHVzaW5nIGEgMCw0NSDOvG0gZmlsdGVyIGlzIHJlY29tbWVuZGVkLiBUaGUgYW5hbHlzaXMgb2YgdGhlIGluc29sdWJsZSBmcmFjdGlvbiByZXF1aXJlcyBhIG1pbmVyYWxpemF0aW9uIHN0ZXAgdGhhdCBpcyBub3QgY292ZXJlZCBieSB0aGlzIGRvY3VtZW50IFsxM10gLiBJbiB0aGlzIGNhc2UsIHRoZSBtZWFzdXJlbWVudCBpcyBtYWRlIG9uIHRoZSBkaWZmZXJlbnQgcGhhc2VzIG9idGFpbmVkLiBUaGUgZmluYWwgYWN0aXZpdHkgaXMgdGhlIHN1bSBvZiBhbGwgdGhlIG1lYXN1cmVkIGFjdGl2aXR5IGNvbmNlbnRyYXRpb25zLiBJdCBpcyB0aGUgdXNlcidzIHJlc3BvbnNpYmlsaXR5IHRvIGVuc3VyZSB0aGUgdmFsaWRpdHkgb2YgdGhpcyB0ZXN0IG1ldGhvZCBmb3IgdGhlIHdhdGVyIHNhbXBsZXMgdGVzdGVkLiAiLCJtYXRjaExldmVsIjoibm9uZSIsIm1hdGNoZWRXb3JkcyI6W119fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNy80My83NDMzNyIsInV1aWQiOiJiMDcyYzQwYS03ZTg2LTRjZGEtYjg1My00YTQwOWYzM2E4OGIiLCJ0aXRsZSI6IklTTyAxMzE4NS00OjIwMjAgSW50ZWxsaWdlbnQgdHJhbnNwb3J0IHN5c3RlbXMg4oCUIFZlaGljbGUgaW50ZXJmYWNlIGZvciBwcm92aXNpb25pbmcgYW5kIHN1cHBvcnQgb2YgSVRTIFNlcnZpY2VzIOKAlCBQYXJ0IDQ6IFVuaWZpZWQgdmVoaWNsZSBpbnRlcmZhY2UgcHJvdG9jb2wgKFVWSVApIGNvbmZvcm1hbmNlIHRlc3Qgc3BlY2lmaWNhdGlvbiIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMjAsIm9yZGVyIjoxMSwidGV4dCI6IlRoaXMgZG9jdW1lbnQgc3BlY2lmaWVzIGEgY29uZm9ybWFuY2UgdGVzdCBmb3IgYSBVVklQIHNlcnZlciBhbmQgY2xpZW50IHN5c3RlbSBkZXZlbG9wZXIgYXNzZXNzbWVudCBvZiBzZWxmLWNvbmZvcm1hbmNlIG9mIHRoZSBzdXBwbGllcidzIFVWSVAgc2VydmVyIGFuZCBjbGllbnQgc3lzdGVtLiBUaGUgY29uZm9ybWFuY2UgdGVzdCBjYXNlcyBmb2xsb3cgdGhlIHVzZSBjYXNlcyBkZWZpbml0aW9uIG9mIElTTyAxMzE4NS0xIGFuZCB0aGUgcmVxdWlyZW1lbnRzIHN0YXRlZCBpbiBJU08gMTMxODUtMiBhbmQgSVNPIDEzMTg1LTMuIFRoZSBwdXJwb3NlIG9mIHRoaXMgZG9jdW1lbnQgaXMgdG8gcHJvdmlkZSBpbmZvcm1hdGlvbiB0byB0aGUgVVZJUCBzZXJ2ZXIgYW5kIGNsaWVudCBzeXN0ZW0gcHJvdmlkZXIgdG8gYnVpbGQgYW5kIHRlc3QgdGhlIFVWSVAgc2VydmVyIGFuZCBjbGllbnQgc3lzdGVtIGFnYWluc3QgdGhlIGNvbmZvcm1hbmNlIHRlc3QgY2FzZXMuICIsIm9iamVjdElEIjoiNzQzMzdfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+ODUtNDoyMDIwIEludGVsbGlnZW50IHRyYW5zcG9ydCBzeXN0ZW1zIOKAlCBWZWhpY2xlIGludGVyZmFjZSBmb3IgcHJvdmlzaW9uaW5nIGFuZCBzdXBwb3J0IG9mIElUUyBTZXJ2aWNlcyDigJQgUGFydCA0OiBVbmlmaWVkIHZlaGljbGUgaW50ZXJmYWNlIHByb3RvY29sIChVVklQKSBjb25mb3JtYW5jZSB0ZXN0IHNwZWNpZmljYXRpb24iLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiVGhpcyBkb2N1bWVudCBzcGVjaWZpZXMgYSBjb25mb3JtYW5jZSB0ZXN0IGZvciBhIFVWSVAgc2VydmVyIGFuZCBjbGllbnQgc3lzdGVtIGRldmVsb3BlciBhc3Nlc3NtZW50IG9mIHNlbGYtY29uZm9ybWFuY2Ugb2YgdGhlIHN1cHBsaWVyJ3MgVVZJUCBzZXJ2ZXIgYW5kIGNsaWVudCBzeXN0ZW0uIFRoZSBjb25mb3JtYW5jZSB0ZXN0IGNhc2VzIGZvbGxvdyB0aGUgdXNlIGNhc2VzIGRlZmluaXRpb24gb2YgPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjg1LTEgYW5kIHRoZSByZXF1aXJlbWVudHMgc3RhdGVkIGluIDxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT44NS0yIGFuZCA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+ODUtMy4gVGhlIHB1cnBvc2Ugb2YgdGhpcyBkb2N1bWVudCBpcyB0byBwcm92aWRlIGluZm9ybWF0aW9uIHRvIHRoZSBVVklQIHNlcnZlciBhbmQgY2xpZW50IHN5c3RlbSBwcm92aWRlciB0byBidWlsZCBhbmQgdGVzdCB0aGUgVVZJUCBzZXJ2ZXIgYW5kIGNsaWVudCBzeXN0ZW0gYWdhaW5zdCB0aGUgY29uZm9ybWFuY2UgdGVzdCBjYXNlcy4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDYvMzEvNjMxMzUiLCJ1dWlkIjoiNTFhODRjNjYtYzA2Zi00ZTI1LWFkYzgtNjRjYjgyZmJmMmIzIiwidGl0bGUiOiJJU08gMTMxMTY6MjAxNCBEZW50aXN0cnkg4oCUIFRlc3QgbWV0aG9kIGZvciBkZXRlcm1pbmluZyByYWRpby1vcGFjaXR5IG9mIG1hdGVyaWFscyIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMjAsIm9yZGVyIjoxMSwidGV4dCI6IklTTyAxMzExNjoyMDE0IHNwZWNpZmllcyB0ZXN0IG1ldGhvZHMgZm9yIGRldGVybWluYXRpb24gb2YgcmFkaW8tb3BhY2l0eSBvZiBhIHRlc3QgbWF0ZXJpYWwgYnkgcmVmZXJlbmNlIHRvIGEgc3BlY2ltZW4gb2YgYW4gYWx1bWluaXVtIHN0YW5kYXJkLiBUaGUgbWV0aG9kIGlzIGRlc2lnbmVkIHRvIGRpc2NyaW1pbmF0ZSByYWRpby1vcGFjaXR5IGF0IGEgY2xpbmljYWxseSBtZWFuaW5nZnVsIGxldmVsIGFuZCBpcyBub3QgZGVzaWduZWQgdG8gdGFrZSBhY2NvdW50IG9mIGZhY3RvcnMgd2hpY2ggbWF5IGFmZmVjdCBwcmVjaXNlLCBpbmhlcmVudCB2YWx1ZXMgb2YgcmFkaW8tb3BhY2l0eSBzdWNoIGFzIGJhY2tncm91bmQgbm9pc2UsIFgtcmF5IGJlYW0gcG93ZXIsIGdyZXkgc2NhbGUgY29ycmVjdGlvbiBhbmQgaW1hZ2UgZW5oYW5jZW1lbnQuIEl0IGlzIHJlY29nbml6ZWQgdGhhdCBzdWNoIGZhY3RvcnMgY2FuIGNoYW5nZSB0aGUgdmFsdWUgb2YgcmFkaW8tb3BhY2l0eSBidXQgbm90IHRoZSByZWxhdGl2ZSByYW5raW5nIGNvbXBhcmVkIHRvIHN0YW5kYXJkIHRoaWNrbmVzc2VzIG9mIGFuIGludGVybmFsIHN0YW5kYXJkIHN1Y2ggYXMgYWx1bWluaXVtLiBUaGlzIHRlc3QgbWF5IGJlIHBlcmZvcm1lZCB3aXRoIGNvbnZlbnRpb25hbCBvciBkaWdpdGFsIHNlbnNvcmluZyB0ZWNobmlxdWVzIG9mIGRlbnRhbCBYLXJheSBhcHBhcmF0dXMuICIsIm9iamVjdElEIjoiNjMxMzVfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+MTY6MjAxNCBEZW50aXN0cnkg4oCUIFRlc3QgbWV0aG9kIGZvciBkZXRlcm1pbmluZyByYWRpby1vcGFjaXR5IG9mIG1hdGVyaWFscyIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+MTY6MjAxNCBzcGVjaWZpZXMgdGVzdCBtZXRob2RzIGZvciBkZXRlcm1pbmF0aW9uIG9mIHJhZGlvLW9wYWNpdHkgb2YgYSB0ZXN0IG1hdGVyaWFsIGJ5IHJlZmVyZW5jZSB0byBhIHNwZWNpbWVuIG9mIGFuIGFsdW1pbml1bSBzdGFuZGFyZC4gVGhlIG1ldGhvZCBpcyBkZXNpZ25lZCB0byBkaXNjcmltaW5hdGUgcmFkaW8tb3BhY2l0eSBhdCBhIGNsaW5pY2FsbHkgbWVhbmluZ2Z1bCBsZXZlbCBhbmQgaXMgbm90IGRlc2lnbmVkIHRvIHRha2UgYWNjb3VudCBvZiBmYWN0b3JzIHdoaWNoIG1heSBhZmZlY3QgcHJlY2lzZSwgaW5oZXJlbnQgdmFsdWVzIG9mIHJhZGlvLW9wYWNpdHkgc3VjaCBhcyBiYWNrZ3JvdW5kIG5vaXNlLCBYLXJheSBiZWFtIHBvd2VyLCBncmV5IHNjYWxlIGNvcnJlY3Rpb24gYW5kIGltYWdlIGVuaGFuY2VtZW50LiBJdCBpcyByZWNvZ25pemVkIHRoYXQgc3VjaCBmYWN0b3JzIGNhbiBjaGFuZ2UgdGhlIHZhbHVlIG9mIHJhZGlvLW9wYWNpdHkgYnV0IG5vdCB0aGUgcmVsYXRpdmUgcmFua2luZyBjb21wYXJlZCB0byBzdGFuZGFyZCB0aGlja25lc3NlcyBvZiBhbiBpbnRlcm5hbCBzdGFuZGFyZCBzdWNoIGFzIGFsdW1pbml1bS4gVGhpcyB0ZXN0IG1heSBiZSBwZXJmb3JtZWQgd2l0aCBjb252ZW50aW9uYWwgb3IgZGlnaXRhbCBzZW5zb3JpbmcgdGVjaG5pcXVlcyBvZiBkZW50YWwgWC1yYXkgYXBwYXJhdHVzLiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNS82OC81NjgyMSIsInV1aWQiOiI5MzI4NDJlNC00OWM1LTQxOWQtYTYwYi0zNDZjNTNiOWE2ZmIiLCJ0aXRsZSI6IklTTyAxMzE4NS0yOjIwMTUgSW50ZWxsaWdlbnQgdHJhbnNwb3J0IHN5c3RlbXMg4oCUIFZlaGljbGUgaW50ZXJmYWNlIGZvciBwcm92aXNpb25pbmcgYW5kIHN1cHBvcnQgb2YgSVRTIHNlcnZpY2VzIOKAlCBQYXJ0IDI6IFVuaWZpZWQgZ2F0ZXdheSBwcm90b2NvbCAoVUdQKSByZXF1aXJlbWVudHMgYW5kIHNwZWNpZmljYXRpb24gZm9yIHZlaGljbGUgSVRTIHN0YXRpb24gZ2F0ZXdheSAoVi1JVFMtU0cpIGludGVyZmFjZSIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMjAsIm9yZGVyIjoxMSwidGV4dCI6IklTTyAxMzE4NS0yOjIwMTUgc3BlY2lmaWVzIHRoZSByZXF1aXJlbWVudHMgb2YgYW4gQVNOLjEtYmFzZWQgcHJvdG9jb2wgYmV0d2VlbiBhIHZlaGljbGUtSVRTLVN0YXRpb24gR2F0ZXdheSAoVi1JVFMtU0cpIGFuZCBhIG5vbWFkaWMgYW5kL29yIG1vYmlsZSBkZXZpY2UgKE5EKSB0byBlYXNpbHkgZXhjaGFuZ2UgdmVoaWNsZSBpbmZvcm1hdGlvbiBkYXRhLiBUaGUgQVNOLjEtYmFzZWQgcHJvdG9jb2wgaGFzIGJlZW4gc3BlY2lmaWVkIHRvIHN1cHBvcnQgYSB3aXJlZCBvciB3aXJlbGVzcyBjb25uZWN0aW9uIGJldHdlZW4gdGhlIE5EIGFuZCBWLUlUUy1TRy4gVGhlIFVuaWZpZWQgR2F0ZXdheSBQcm90b2NvbCAoVUdQKSBpcyB1c2VkIGJldHdlZW4gdGhlIFYtSVRTLVNHIGFuZCB0aGUgTkQuIFVHUCBzdXBwb3J0cyBzZXZlcmFsIGZlYXR1cmVzIGluIG9yZGVyIHRvIHByb3ZpZGUgwrcgICAgICAgICBhdXRob3JpemF0aW9uIChkYXRhIHByaXZhY3kpLCDCtyAgICAgICAgIHNlY3VyZWQgYWNjZXNzLCDCtyAgICAgICAgIFYtSVRTLVNHIGFuZCBpbi12ZWhpY2xlIEVDVXMgaWRlbnRpZmljYXRpb24sIMK3ICAgICAgICAgcmVhbC10aW1lIHZlaGljbGUgZGF0YSBwYXJhbWV0ZXJzIHdpdGggaWRlbnRpZmllciBhbmQgdHlwZSBpbmZvcm1hdGlvbiBpbiBBU04uMSBmb3JtYXQsIGFuZCDCtyAgICAgICAgIGVuaGFuY2VkIHZlaGljbGUgZGF0YSBwYXJhbWV0ZXJzIHdpdGggaWRlbnRpZmllciBhbmQgdHlwZSBpbmZvcm1hdGlvbiBpbiBBU04uMSBmb3JtYXQuICIsIm9iamVjdElEIjoiNTY4MjFfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+ODUtMjoyMDE1IEludGVsbGlnZW50IHRyYW5zcG9ydCBzeXN0ZW1zIOKAlCBWZWhpY2xlIGludGVyZmFjZSBmb3IgcHJvdmlzaW9uaW5nIGFuZCBzdXBwb3J0IG9mIElUUyBzZXJ2aWNlcyDigJQgUGFydCAyOiBVbmlmaWVkIGdhdGV3YXkgcHJvdG9jb2wgKFVHUCkgcmVxdWlyZW1lbnRzIGFuZCBzcGVjaWZpY2F0aW9uIGZvciB2ZWhpY2xlIElUUyBzdGF0aW9uIGdhdGV3YXkgKFYtSVRTLVNHKSBpbnRlcmZhY2UiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjg1LTI6MjAxNSBzcGVjaWZpZXMgdGhlIHJlcXVpcmVtZW50cyBvZiBhbiBBU04uMS1iYXNlZCBwcm90b2NvbCBiZXR3ZWVuIGEgdmVoaWNsZS1JVFMtU3RhdGlvbiBHYXRld2F5IChWLUlUUy1TRykgYW5kIGEgbm9tYWRpYyBhbmQvb3IgbW9iaWxlIGRldmljZSAoTkQpIHRvIGVhc2lseSBleGNoYW5nZSB2ZWhpY2xlIGluZm9ybWF0aW9uIGRhdGEuIFRoZSBBU04uMS1iYXNlZCBwcm90b2NvbCBoYXMgYmVlbiBzcGVjaWZpZWQgdG8gc3VwcG9ydCBhIHdpcmVkIG9yIHdpcmVsZXNzIGNvbm5lY3Rpb24gYmV0d2VlbiB0aGUgTkQgYW5kIFYtSVRTLVNHLiBUaGUgVW5pZmllZCBHYXRld2F5IFByb3RvY29sIChVR1ApIGlzIHVzZWQgYmV0d2VlbiB0aGUgVi1JVFMtU0cgYW5kIHRoZSBORC4gVUdQIHN1cHBvcnRzIHNldmVyYWwgZmVhdHVyZXMgaW4gb3JkZXIgdG8gcHJvdmlkZSDCtyAgICAgICAgIGF1dGhvcml6YXRpb24gKGRhdGEgcHJpdmFjeSksIMK3ICAgICAgICAgc2VjdXJlZCBhY2Nlc3MsIMK3ICAgICAgICAgVi1JVFMtU0cgYW5kIGluLXZlaGljbGUgRUNVcyBpZGVudGlmaWNhdGlvbiwgwrcgICAgICAgICByZWFsLXRpbWUgdmVoaWNsZSBkYXRhIHBhcmFtZXRlcnMgd2l0aCBpZGVudGlmaWVyIGFuZCB0eXBlIGluZm9ybWF0aW9uIGluIEFTTi4xIGZvcm1hdCwgYW5kIMK3ICAgICAgICAgZW5oYW5jZWQgdmVoaWNsZSBkYXRhIHBhcmFtZXRlcnMgd2l0aCBpZGVudGlmaWVyIGFuZCB0eXBlIGluZm9ybWF0aW9uIGluIEFTTi4xIGZvcm1hdC4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDUvMzQvNTM0OTQiLCJ1dWlkIjoiOGNkZjgyZTgtOWYyZC00MmZiLTlkMTMtMDZkYTlhN2JkOTU1IiwidGl0bGUiOiJJU08gMTMxOTk6MjAxMiBTdGF0aW9uYXJ5IHNvdXJjZSBlbWlzc2lvbnMg4oCUIERldGVybWluYXRpb24gb2YgdG90YWwgdm9sYXRpbGUgb3JnYW5pYyBjb21wb3VuZHMgKFRWT0NzKSBpbiB3YXN0ZSBnYXNlcyBmcm9tIG5vbi1jb21idXN0aW9uIHByb2Nlc3NlcyDigJQgTm9uLWRpc3BlcnNpdmUgaW5mcmFyZWQgYW5hbHlzZXIgZXF1aXBwZWQgd2l0aCBjYXRhbHl0aWMgY29udmVydGVyIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAyMCwib3JkZXIiOjExLCJ0ZXh0IjoiSVNPIDEzMTk5OjIwMTIgc3BlY2lmaWVzIHRoZSBwcmluY2lwbGUsIHRoZSBlc3NlbnRpYWwgcGVyZm9ybWFuY2UgY3JpdGVyaWEgYW5kIHF1YWxpdHkgYXNzdXJhbmNlL3F1YWxpdHkgY29udHJvbCAoUUEvUUMpIHByb2NlZHVyZXMgb2YgYW4gYXV0b21hdGljIG1ldGhvZCBmb3IgbWVhc3VyaW5nIHRvdGFsIHZvbGF0aWxlIG9yZ2FuaWMgY29tcG91bmQgKFRWT0MpIGNvbnRlbnQgaW4gd2FzdGUgZ2FzZXMgb2Ygc3RhdGlvbmFyeSBzb3VyY2VzLCB1c2luZyBhIG5vbi1kaXNwZXJzaXZlIGluZnJhcmVkIGFic29ycHRpb24gKE5ESVIpIGFuYWx5c2VyIGVxdWlwcGVkIHdpdGggYSBjYXRhbHl0aWMgY29udmVydGVyIHdoaWNoIG94aWRpemVzIFZPQyB0byBjYXJib24gZGlveGlkZS4gVGhpcyBtZXRob2QgaXMgc3VpdGFibGUgZm9yIHRoZSBtZWFzdXJlbWVudCBvZiBUVk9DIGVtaXNzaW9ucyBmcm9tIG5vbi1jb21idXN0aW9uIHByb2Nlc3Nlcy4gVGhpcyBtZXRob2QgYWxsb3dzIGNvbnRpbnVvdXMgbW9uaXRvcmluZyB3aXRoIHBlcm1hbmVudGx5IGluc3RhbGxlZCBtZWFzdXJpbmcgc3lzdGVtcywgYXMgd2VsbCBhcyBpbnRlcm1pdHRlbnQgbWVhc3VyZW1lbnRzIG9mIFRWT0MgZW1pc3Npb25zLiBUaGUgbWV0aG9kIGhhcyBiZWVuIHRlc3RlZCBvbiBmaWVsZCBvcGVyYXRpb24gZm9yIHBhaW50aW5nIGFuZCBwcmludGluZyBwcm9jZXNzZXMsIHdoZXJlIFRWT0MgY29uY2VudHJhdGlvbnMgaW4gdGhlIHdhc3RlIGdhc2VzIHdlcmUgZnJvbSBhYm91dCA3MCBtZy9tIDMgdG8gNjAwIG1nL20gMyAuICIsIm9iamVjdElEIjoiNTM0OTRfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+OTk6MjAxMiBTdGF0aW9uYXJ5IHNvdXJjZSBlbWlzc2lvbnMg4oCUIERldGVybWluYXRpb24gb2YgdG90YWwgdm9sYXRpbGUgb3JnYW5pYyBjb21wb3VuZHMgKFRWT0NzKSBpbiB3YXN0ZSBnYXNlcyBmcm9tIG5vbi1jb21idXN0aW9uIHByb2Nlc3NlcyDigJQgTm9uLWRpc3BlcnNpdmUgaW5mcmFyZWQgYW5hbHlzZXIgZXF1aXBwZWQgd2l0aCBjYXRhbHl0aWMgY29udmVydGVyIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT45OToyMDEyIHNwZWNpZmllcyB0aGUgcHJpbmNpcGxlLCB0aGUgZXNzZW50aWFsIHBlcmZvcm1hbmNlIGNyaXRlcmlhIGFuZCBxdWFsaXR5IGFzc3VyYW5jZS9xdWFsaXR5IGNvbnRyb2wgKFFBL1FDKSBwcm9jZWR1cmVzIG9mIGFuIGF1dG9tYXRpYyBtZXRob2QgZm9yIG1lYXN1cmluZyB0b3RhbCB2b2xhdGlsZSBvcmdhbmljIGNvbXBvdW5kIChUVk9DKSBjb250ZW50IGluIHdhc3RlIGdhc2VzIG9mIHN0YXRpb25hcnkgc291cmNlcywgdXNpbmcgYSBub24tZGlzcGVyc2l2ZSBpbmZyYXJlZCBhYnNvcnB0aW9uIChORElSKSBhbmFseXNlciBlcXVpcHBlZCB3aXRoIGEgY2F0YWx5dGljIGNvbnZlcnRlciB3aGljaCBveGlkaXplcyBWT0MgdG8gY2FyYm9uIGRpb3hpZGUuIFRoaXMgbWV0aG9kIGlzIHN1aXRhYmxlIGZvciB0aGUgbWVhc3VyZW1lbnQgb2YgVFZPQyBlbWlzc2lvbnMgZnJvbSBub24tY29tYnVzdGlvbiBwcm9jZXNzZXMuIFRoaXMgbWV0aG9kIGFsbG93cyBjb250aW51b3VzIG1vbml0b3Jpbmcgd2l0aCBwZXJtYW5lbnRseSBpbnN0YWxsZWQgbWVhc3VyaW5nIHN5c3RlbXMsIGFzIHdlbGwgYXMgaW50ZXJtaXR0ZW50IG1lYXN1cmVtZW50cyBvZiBUVk9DIGVtaXNzaW9ucy4gVGhlIG1ldGhvZCBoYXMgYmVlbiB0ZXN0ZWQgb24gZmllbGQgb3BlcmF0aW9uIGZvciBwYWludGluZyBhbmQgcHJpbnRpbmcgcHJvY2Vzc2VzLCB3aGVyZSBUVk9DIGNvbmNlbnRyYXRpb25zIGluIHRoZSB3YXN0ZSBnYXNlcyB3ZXJlIGZyb20gYWJvdXQgNzAgbWcvbSAzIHRvIDYwMCBtZy9tIDMgLiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNS8zNC81MzQ0NyIsInV1aWQiOiJkMWE3NGViNi1jZTNjLTRmM2EtYTU4MS03NWFmMzQ1YzMyM2MiLCJ0aXRsZSI6IklTTyAxMzE3NS0zOjIwMTIgSW1wbGFudHMgZm9yIHN1cmdlcnkg4oCUIENhbGNpdW0gcGhvc3BoYXRlcyDigJQgUGFydCAzOiBIeWRyb3h5YXBhdGl0ZSBhbmQgYmV0YS10cmljYWxjaXVtIHBob3NwaGF0ZSBib25lIHN1YnN0aXR1dGVzIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAyMCwib3JkZXIiOjExLCJ0ZXh0IjoiMSBTY29wZSBUaGlzIHBhcnQgb2YgSVNPIDEzMTc1IHNwZWNpZmllcyByZXF1aXJlbWVudHMgZm9yIG1vbm9waGFzaWMgaHlkcm94eWFwYXRpdGUgYm9uZSBzdWJzdGl0dXRlcywgbW9ub3BoYXNpYyDOsi10cmljYWxjaXVtIHBob3NwaGF0ZSBib25lIHN1YnN0aXR1dGVzIGFuZCBiaXBoYXNpYyBoeWRyb3h5YXBhdGl0ZS/Osi10cmljYWxjaXVtIHBob3NwaGF0ZSBib25lIHN1YnN0aXR1dGVzIGluIHRoZSBmb3JtIG9mIGJsb2NrcyBvciBncmFudWxlcy4gVGhpcyBwYXJ0IG9mIElTTyAxMzE3NSBpcyBub3QgYXBwbGljYWJsZSB0byBjZWxsLXNlZWRlZCBib25lIHZvaWQgZmlsbGVycywgY2FsY2l1bSBwaG9zcGhhdGUgY2VtZW50cyBvciBib25lIHZvaWQgZmlsbGVycyBjb250YWluaW5nIG1hdGVyaWFscyBvdGhlciB0aGFuIGh5ZHJveHlhcGF0aXRlIGFuZCDOsi10cmljYWxjaXVtIHBob3NwaGF0ZS4gIiwib2JqZWN0SUQiOiI1MzQ0N18wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT43NS0zOjIwMTIgSW1wbGFudHMgZm9yIHN1cmdlcnkg4oCUIENhbGNpdW0gcGhvc3BoYXRlcyDigJQgUGFydCAzOiBIeWRyb3h5YXBhdGl0ZSBhbmQgYmV0YS10cmljYWxjaXVtIHBob3NwaGF0ZSBib25lIHN1YnN0aXR1dGVzIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjEgU2NvcGUgVGhpcyBwYXJ0IG9mIDxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT43NSBzcGVjaWZpZXMgcmVxdWlyZW1lbnRzIGZvciBtb25vcGhhc2ljIGh5ZHJveHlhcGF0aXRlIGJvbmUgc3Vic3RpdHV0ZXMsIG1vbm9waGFzaWMgzrItdHJpY2FsY2l1bSBwaG9zcGhhdGUgYm9uZSBzdWJzdGl0dXRlcyBhbmQgYmlwaGFzaWMgaHlkcm94eWFwYXRpdGUvzrItdHJpY2FsY2l1bSBwaG9zcGhhdGUgYm9uZSBzdWJzdGl0dXRlcyBpbiB0aGUgZm9ybSBvZiBibG9ja3Mgb3IgZ3JhbnVsZXMuIFRoaXMgcGFydCBvZiA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NzUgaXMgbm90IGFwcGxpY2FibGUgdG8gY2VsbC1zZWVkZWQgYm9uZSB2b2lkIGZpbGxlcnMsIGNhbGNpdW0gcGhvc3BoYXRlIGNlbWVudHMgb3IgYm9uZSB2b2lkIGZpbGxlcnMgY29udGFpbmluZyBtYXRlcmlhbHMgb3RoZXIgdGhhbiBoeWRyb3h5YXBhdGl0ZSBhbmQgzrItdHJpY2FsY2l1bSBwaG9zcGhhdGUuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA1LzM0LzUzNDA5IiwidXVpZCI6IjU4NDA0MGYxLWY4N2ItNGI4Ni04OGI1LWE0ZDg0MDM2NjQzZSIsInRpdGxlIjoiSVNPIDEzMTY4OjIwMTUgV2F0ZXIgcXVhbGl0eSDigJQgU2ltdWx0YW5lb3VzIGRldGVybWluYXRpb24gb2YgdHJpdGl1bSBhbmQgY2FyYm9uIDE0IGFjdGl2aXRpZXMg4oCUIFRlc3QgbWV0aG9kIHVzaW5nIGxpcXVpZCBzY2ludGlsbGF0aW9uIGNvdW50aW5nIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAyMCwib3JkZXIiOjExLCJ0ZXh0IjoiSVNPIDEzMTY4OjIwMTUgZGVzY3JpYmVzIGEgdGVzdCBtZXRob2QgZm9yIHRoZSBzaW11bHRhbmVvdXMgbWVhc3VyZW1lbnQgb2YgdHJpdGl1bSBhbmQgY2FyYm9uLTE0IGluIHdhdGVyIHNhbXBsZXMgYnkgbGlxdWlkIHNjaW50aWxsYXRpb24gY291bnRpbmcgb2YgYSBzb3VyY2Ugb2J0YWluZWQgYnkgbWl4aW5nIHRoZSB3YXRlciBzYW1wbGUgd2l0aCBhIGh5ZHJvcGhpbGljIHNjaW50aWxsYXRpb24gY29ja3RhaWwuIFRoaXMgaXMgY29uc2lkZXJlZCBhIHNjcmVlbmluZyBtZXRob2QgYmVjYXVzZSBvZiB0aGUgcG90ZW50aWFsIHByZXNlbmNlIG9mIGludGVyZmVyaW5nIG51Y2xpZGVzIGluIHRoZSB0ZXN0IHNhbXBsZS4gVGhlIG1ldGhvZCBjYW4gYmUgdXNlZCBmb3IgYW55IHR5cGUgb2YgZW52aXJvbm1lbnRhbCBzdHVkeSBvciBtb25pdG9yaW5nLiBJU08gMTMxNjg6MjAxNSBpcyBhcHBsaWNhYmxlIHRvIGFsbCB0eXBlcyBvZiB3YXRlcnMgaGF2aW5nIGFuIGFjdGl2aXR5IGNvbmNlbnRyYXRpb24gcmFuZ2luZyBmcm9tIDUgQnEvbCB0byAxMCA2IEJxL2wgKHVwcGVyIGxpbWl0IG9mIHRoZSBsaXF1aWQgc2NpbnRpbGxhdGlvbiBjb3VudGVycyBmb3IgZGlyZWN0IGNvdW50aW5nKS4gRm9yIGhpZ2hlciBhY3Rpdml0eSBjb25jZW50cmF0aW9ucywgdGhlIHNhbXBsZSBjYW4gYmUgZGlsdXRlZCB0byBvYnRhaW4gYSB0ZXN0IHNhbXBsZSB3aXRoaW4gdGhpcyByYW5nZS4gIiwib2JqZWN0SUQiOiI1MzQwOV8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT42ODoyMDE1IFdhdGVyIHF1YWxpdHkg4oCUIFNpbXVsdGFuZW91cyBkZXRlcm1pbmF0aW9uIG9mIHRyaXRpdW0gYW5kIGNhcmJvbiAxNCBhY3Rpdml0aWVzIOKAlCBUZXN0IG1ldGhvZCB1c2luZyBsaXF1aWQgc2NpbnRpbGxhdGlvbiBjb3VudGluZyIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+Njg6MjAxNSBkZXNjcmliZXMgYSB0ZXN0IG1ldGhvZCBmb3IgdGhlIHNpbXVsdGFuZW91cyBtZWFzdXJlbWVudCBvZiB0cml0aXVtIGFuZCBjYXJib24tMTQgaW4gd2F0ZXIgc2FtcGxlcyBieSBsaXF1aWQgc2NpbnRpbGxhdGlvbiBjb3VudGluZyBvZiBhIHNvdXJjZSBvYnRhaW5lZCBieSBtaXhpbmcgdGhlIHdhdGVyIHNhbXBsZSB3aXRoIGEgaHlkcm9waGlsaWMgc2NpbnRpbGxhdGlvbiBjb2NrdGFpbC4gVGhpcyBpcyBjb25zaWRlcmVkIGEgc2NyZWVuaW5nIG1ldGhvZCBiZWNhdXNlIG9mIHRoZSBwb3RlbnRpYWwgcHJlc2VuY2Ugb2YgaW50ZXJmZXJpbmcgbnVjbGlkZXMgaW4gdGhlIHRlc3Qgc2FtcGxlLiBUaGUgbWV0aG9kIGNhbiBiZSB1c2VkIGZvciBhbnkgdHlwZSBvZiBlbnZpcm9ubWVudGFsIHN0dWR5IG9yIG1vbml0b3JpbmcuIDxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT42ODoyMDE1IGlzIGFwcGxpY2FibGUgdG8gYWxsIHR5cGVzIG9mIHdhdGVycyBoYXZpbmcgYW4gYWN0aXZpdHkgY29uY2VudHJhdGlvbiByYW5naW5nIGZyb20gNSBCcS9sIHRvIDEwIDYgQnEvbCAodXBwZXIgbGltaXQgb2YgdGhlIGxpcXVpZCBzY2ludGlsbGF0aW9uIGNvdW50ZXJzIGZvciBkaXJlY3QgY291bnRpbmcpLiBGb3IgaGlnaGVyIGFjdGl2aXR5IGNvbmNlbnRyYXRpb25zLCB0aGUgc2FtcGxlIGNhbiBiZSBkaWx1dGVkIHRvIG9idGFpbiBhIHRlc3Qgc2FtcGxlIHdpdGhpbiB0aGlzIHJhbmdlLiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNS8zNC81MzQwNiIsInV1aWQiOiJkNjI4NDdkZC05OGUxLTRjNjYtOTJjNi03ZjhjOTEyOWUwNWMiLCJ0aXRsZSI6IklTTyAxMzE2NS0yOjIwMTQgV2F0ZXIgcXVhbGl0eSDigJQgUmFkaXVtLTIyNiDigJQgUGFydCAyOiBUZXN0IG1ldGhvZCB1c2luZyBlbWFub21ldHJ5Iiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAyMCwib3JkZXIiOjExLCJ0ZXh0IjoiSVNPIDEzMTY1LTI6MjAxNCBzcGVjaWZpZXMgdGhlIGRldGVybWluYXRpb24gb2YgcmFkaXVtLTIyNiAoIDIyNiBSYSkgYWN0aXZpdHkgY29uY2VudHJhdGlvbiBpbiBhbGwgdHlwZXMgb2Ygd2F0ZXIgYnkgZW1hbm9tZXRyeS4gVGhlIG1ldGhvZCBzcGVjaWZpZWQgaXMgc3VpdGFibGUgZm9yIHRoZSBkZXRlcm1pbmF0aW9uIG9mIHRoZSBzb2x1YmxlLCBzdXNwZW5kZWQsIGFuZCB0b3RhbCAyMjYgUmEgYWN0aXZpdHkgY29uY2VudHJhdGlvbiBpbiBhbGwgdHlwZXMgb2Ygd2F0ZXIgd2l0aCBzb2x1YmxlIDIyNiBSYSBhY3Rpdml0eSBjb25jZW50cmF0aW9ucyBncmVhdGVyIHRoYW4gMCwwMiBCcSBsIOKIkjEgLiBJbiB3YXRlciBjb250YWluaW5nIGhpZ2ggYWN0aXZpdHkgY29uY2VudHJhdGlvbnMgb2YgMjI4IFRoLCBpbnRlcmZlcmVuY2UgZnJvbSAyMjAgUm4gZGVjYXkgcHJvZHVjdHMgY2FuIGxlYWQgdG8gb3ZlcmVzdGltYXRpb24gb2YgbWVhc3VyZWQgbGV2ZWxzLiAiLCJvYmplY3RJRCI6IjUzNDA2XzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjY1LTI6MjAxNCBXYXRlciBxdWFsaXR5IOKAlCBSYWRpdW0tMjI2IOKAlCBQYXJ0IDI6IFRlc3QgbWV0aG9kIHVzaW5nIGVtYW5vbWV0cnkiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjY1LTI6MjAxNCBzcGVjaWZpZXMgdGhlIGRldGVybWluYXRpb24gb2YgcmFkaXVtLTIyNiAoIDIyNiBSYSkgYWN0aXZpdHkgY29uY2VudHJhdGlvbiBpbiBhbGwgdHlwZXMgb2Ygd2F0ZXIgYnkgZW1hbm9tZXRyeS4gVGhlIG1ldGhvZCBzcGVjaWZpZWQgaXMgc3VpdGFibGUgZm9yIHRoZSBkZXRlcm1pbmF0aW9uIG9mIHRoZSBzb2x1YmxlLCBzdXNwZW5kZWQsIGFuZCB0b3RhbCAyMjYgUmEgYWN0aXZpdHkgY29uY2VudHJhdGlvbiBpbiBhbGwgdHlwZXMgb2Ygd2F0ZXIgd2l0aCBzb2x1YmxlIDIyNiBSYSBhY3Rpdml0eSBjb25jZW50cmF0aW9ucyBncmVhdGVyIHRoYW4gMCwwMiBCcSBsIOKIkjEgLiBJbiB3YXRlciBjb250YWluaW5nIGhpZ2ggYWN0aXZpdHkgY29uY2VudHJhdGlvbnMgb2YgMjI4IFRoLCBpbnRlcmZlcmVuY2UgZnJvbSAyMjAgUm4gZGVjYXkgcHJvZHVjdHMgY2FuIGxlYWQgdG8gb3ZlcmVzdGltYXRpb24gb2YgbWVhc3VyZWQgbGV2ZWxzLiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNi85My82OTMxOCIsInV1aWQiOiJiYWY0MjljMC1hMWY1LTQ5OWUtOTBiNS1iMWJjN2EzYjFjOWEiLCJ0aXRsZSI6IklTTyAxMzEyMDoyMDE5IEhlYWx0aCBpbmZvcm1hdGljcyDigJQgU3ludGF4IHRvIHJlcHJlc2VudCB0aGUgY29udGVudCBvZiBoZWFsdGhjYXJlIGNsYXNzaWZpY2F0aW9uIHN5c3RlbXMg4oCUIENsYXNzaWZpY2F0aW9uIE1hcmt1cCBMYW5ndWFnZSAoQ2xhTUwpIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAxOSwib3JkZXIiOjExLCJ0ZXh0IjoiVGhlIG1haW4gcHVycG9zZSBvZiBDbGFNTCBpcyB0byBmb3JtYWxseSByZXByZXNlbnQgdGhlIGNvbnRlbnQgYW5kIGhpZXJhcmNoaWNhbCBzdHJ1Y3R1cmUgb2YgaGVhbHRoY2FyZSBjbGFzc2lmaWNhdGlvbiBzeXN0ZW1zIGluIGEgbWFya3VwIGxhbmd1YWdlIGZvciB0aGUgc2FmZSBleGNoYW5nZSBhbmQgZGlzdHJpYnV0aW9uIG9mIGRhdGEgYW5kIHN0cnVjdHVyZSBiZXR3ZWVuIG9yZ2FuaXphdGlvbnMgYW5kIGRpc3NpbWlsYXIgc29mdHdhcmUgcHJvZHVjdHMuIFRoZSBzY29wZSBvZiBoZWFsdGhjYXJlIGNsYXNzaWZpY2F0aW9uIHN5c3RlbXMgY292ZXJlZCBieSB0aGlzIGRvY3VtZW50IGVuY29tcGFzc2VzIHRlcm1pbm9sb2dpZXMsIGFuZCBpcyBjb25zdHJhaW5lZCB0byB0cmFkaXRpb25hbCBwYXBlci1iYXNlZCBzeXN0ZW1zIChsaWtlIElDRC0xMCkgYW5kIHN5c3RlbXMgYnVpbHQgYWNjb3JkaW5nIHRvIGNhdGVnb3JpYWwgc3RydWN0dXJlcyBhbmQgYSBjcm9zcyB0aGVzYXVydXMgKGxpa2UgSUNOUClbMl0uIENsYU1MIGlzIGludGVuZGVkIGZvciByZXByZXNlbnRhdGlvbiBvZiBoZWFsdGhjYXJlIGNsYXNzaWZpY2F0aW9uIHN5c3RlbXMgaW4gd2hpY2ggY2xhc3NlcyBoYXZlIHRleHR1YWwgZGVmaW5pdGlvbnMsIGhpZXJhcmNoaWNhbCBvcmRlcmluZywgbmFtZWQgaGllcmFyY2hpY2FsIGxldmVscyAoc3VjaCBhcyBcImNoYXB0ZXJcIiwgXCJzZWN0aW9uXCIpLCBpbmNsdXNpb24gYW5kIGV4Y2x1c2lvbiBjcml0ZXJpYSwgYW5kIGNvZGVzLiBJdCBpcyBub3QgaW50ZW5kZWQgdG8gY292ZXIgYW55IGZvcm1hbCByZXByZXNlbnRhdGlvbiwgbmVpdGhlciBmb3IgZGVmaW5pdGlvbiBvciBjb21wb3NpdGlvbiBvZiBjb25jZXB0cywgbm9yIGZvciBzcGVjaWZpY2F0aW9uIG9mIGNsYXNzaWZpY2F0aW9uIHJ1bGVzLiBTeXN0ZW1zIHdpdGggc3VjaCBmb3JtYWwgc3BlY2lmaWNhdGlvbnMgY2FuIGF0IGJlc3QgYmUgcGFydGlhbGx5IHJlcHJlc2VudGVkIHVzaW5nIENsYU1MLCBhbmQgYXJlIGhlbmNlIG91dCBvZiBzY29wZS4gTW9zdCBvZiB0aGUgbm90ZXMgYW5kIGV4YW1wbGVzIGluIHRoaXMgZG9jdW1lbnQgcmVsYXRlIHRvIElDRC4gVGhpcyBpcyBiZWNhdXNlIElDRCBpcyB0aGUgbW9zdCBjb21tb24gY2xhc3NpZmljYXRpb24gc3lzdGVtIGluIHRoZSBzY29wZSBvZiB0aGlzIGRvY3VtZW50LiBBcyBhIGhpZ2hseSBjb21wbGV4IGNsYXNzaWZpY2F0aW9uIHN5c3RlbSBpdCBpcyBhbiBpbmV4aGF1c3RpYmxlIHNvdXJjZSBmb3IgZXhhbXBsZXMgb2YgbmVhcmx5IGFueSBraW5kLiBCdXQgYWxsIHRoZXNlIG5vdGVzIGFuZCBleGFtcGxlcyByZXByZXNlbnQgYWxzbyBvdGhlciBzaW1pbGFyIGNsYXNzaWZpY2F0aW9uIHN5c3RlbXMsIGlmIGFwcGxpY2FibGUsIHdoaWNoIGFyZSB1c3VhbGx5IGxlc3MgY29tcGxleC4gQW4gb3ZlcnZpZXcgb2YgY3VycmVudGx5IGtub3duIGNsYXNzaWZpY2F0aW9uIHN5c3RlbXMgdXNpbmcgQ2xhTUwgaXMgcHJvdmlkZWQgaW4gYSBzZXBhcmF0ZSBkb2N1bWVudCB3aGljaCBpcyBlbGVjdHJvbmljYWxseSBhdmFpbGFibGUgKHNlZSA3LjMpLiBUaGlzIGRvY3VtZW50IGlzIG5vdCBpbnRlbmRlZCB0bzogYSkgICAgcHJvdmlkZSBhIG5vcm1hdGl2ZSBzeW50YXggb24gaG93IGEgaGVhbHRoY2FyZSBjbGFzc2lmaWNhdGlvbiBzeXN0ZW0gaXMgdG8gYmUgY29uc3RydWN0ZWQ7IGIpICAgIGRlZmluZSBsaW5rIHR5cGVzIGJldHdlZW4gZWxlbWVudHMgaW4gYSBoZWFsdGhjYXJlIGNsYXNzaWZpY2F0aW9uIHN5c3RlbSAodGhpcyBpcyBsZWZ0IHRvIHRoZSBkZXZlbG9wZXJzIG9mIGhlYWx0aGNhcmUgY2xhc3NpZmljYXRpb24gc3lzdGVtcyk7IGMpICAgIHByb3ZpZGUgYSByZXByZXNlbnRhdGlvbiBmb3IgZGlyZWN0IHZpZXdpbmcgb3IgcHJpbnRpbmcuICIsIm9iamVjdElEIjoiNjkzMThfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+MjA6MjAxOSBIZWFsdGggaW5mb3JtYXRpY3Mg4oCUIFN5bnRheCB0byByZXByZXNlbnQgdGhlIGNvbnRlbnQgb2YgaGVhbHRoY2FyZSBjbGFzc2lmaWNhdGlvbiBzeXN0ZW1zIOKAlCBDbGFzc2lmaWNhdGlvbiBNYXJrdXAgTGFuZ3VhZ2UgKENsYU1MKSIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiJUaGUgbWFpbiBwdXJwb3NlIG9mIENsYU1MIGlzIHRvIGZvcm1hbGx5IHJlcHJlc2VudCB0aGUgY29udGVudCBhbmQgaGllcmFyY2hpY2FsIHN0cnVjdHVyZSBvZiBoZWFsdGhjYXJlIGNsYXNzaWZpY2F0aW9uIHN5c3RlbXMgaW4gYSBtYXJrdXAgbGFuZ3VhZ2UgZm9yIHRoZSBzYWZlIGV4Y2hhbmdlIGFuZCBkaXN0cmlidXRpb24gb2YgZGF0YSBhbmQgc3RydWN0dXJlIGJldHdlZW4gb3JnYW5pemF0aW9ucyBhbmQgZGlzc2ltaWxhciBzb2Z0d2FyZSBwcm9kdWN0cy4gVGhlIHNjb3BlIG9mIGhlYWx0aGNhcmUgY2xhc3NpZmljYXRpb24gc3lzdGVtcyBjb3ZlcmVkIGJ5IHRoaXMgZG9jdW1lbnQgZW5jb21wYXNzZXMgdGVybWlub2xvZ2llcywgYW5kIGlzIGNvbnN0cmFpbmVkIHRvIHRyYWRpdGlvbmFsIHBhcGVyLWJhc2VkIHN5c3RlbXMgKGxpa2UgSUNELTEwKSBhbmQgc3lzdGVtcyBidWlsdCBhY2NvcmRpbmcgdG8gY2F0ZWdvcmlhbCBzdHJ1Y3R1cmVzIGFuZCBhIGNyb3NzIHRoZXNhdXJ1cyAobGlrZSBJQ05QKVsyXS4gQ2xhTUwgaXMgaW50ZW5kZWQgZm9yIHJlcHJlc2VudGF0aW9uIG9mIGhlYWx0aGNhcmUgY2xhc3NpZmljYXRpb24gc3lzdGVtcyBpbiB3aGljaCBjbGFzc2VzIGhhdmUgdGV4dHVhbCBkZWZpbml0aW9ucywgaGllcmFyY2hpY2FsIG9yZGVyaW5nLCBuYW1lZCBoaWVyYXJjaGljYWwgbGV2ZWxzIChzdWNoIGFzIFwiY2hhcHRlclwiLCBcInNlY3Rpb25cIiksIGluY2x1c2lvbiBhbmQgZXhjbHVzaW9uIGNyaXRlcmlhLCBhbmQgY29kZXMuIEl0IGlzIG5vdCBpbnRlbmRlZCB0byBjb3ZlciBhbnkgZm9ybWFsIHJlcHJlc2VudGF0aW9uLCBuZWl0aGVyIGZvciBkZWZpbml0aW9uIG9yIGNvbXBvc2l0aW9uIG9mIGNvbmNlcHRzLCBub3IgZm9yIHNwZWNpZmljYXRpb24gb2YgY2xhc3NpZmljYXRpb24gcnVsZXMuIFN5c3RlbXMgd2l0aCBzdWNoIGZvcm1hbCBzcGVjaWZpY2F0aW9ucyBjYW4gYXQgYmVzdCBiZSBwYXJ0aWFsbHkgcmVwcmVzZW50ZWQgdXNpbmcgQ2xhTUwsIGFuZCBhcmUgaGVuY2Ugb3V0IG9mIHNjb3BlLiBNb3N0IG9mIHRoZSBub3RlcyBhbmQgZXhhbXBsZXMgaW4gdGhpcyBkb2N1bWVudCByZWxhdGUgdG8gSUNELiBUaGlzIGlzIGJlY2F1c2UgSUNEIGlzIHRoZSBtb3N0IGNvbW1vbiBjbGFzc2lmaWNhdGlvbiBzeXN0ZW0gaW4gdGhlIHNjb3BlIG9mIHRoaXMgZG9jdW1lbnQuIEFzIGEgaGlnaGx5IGNvbXBsZXggY2xhc3NpZmljYXRpb24gc3lzdGVtIGl0IGlzIGFuIGluZXhoYXVzdGlibGUgc291cmNlIGZvciBleGFtcGxlcyBvZiBuZWFybHkgYW55IGtpbmQuIEJ1dCBhbGwgdGhlc2Ugbm90ZXMgYW5kIGV4YW1wbGVzIHJlcHJlc2VudCBhbHNvIG90aGVyIHNpbWlsYXIgY2xhc3NpZmljYXRpb24gc3lzdGVtcywgaWYgYXBwbGljYWJsZSwgd2hpY2ggYXJlIHVzdWFsbHkgbGVzcyBjb21wbGV4LiBBbiBvdmVydmlldyBvZiBjdXJyZW50bHkga25vd24gY2xhc3NpZmljYXRpb24gc3lzdGVtcyB1c2luZyBDbGFNTCBpcyBwcm92aWRlZCBpbiBhIHNlcGFyYXRlIGRvY3VtZW50IHdoaWNoIGlzIGVsZWN0cm9uaWNhbGx5IGF2YWlsYWJsZSAoc2VlIDcuMykuIFRoaXMgZG9jdW1lbnQgaXMgbm90IGludGVuZGVkIHRvOiBhKSAgICBwcm92aWRlIGEgbm9ybWF0aXZlIHN5bnRheCBvbiBob3cgYSBoZWFsdGhjYXJlIGNsYXNzaWZpY2F0aW9uIHN5c3RlbSBpcyB0byBiZSBjb25zdHJ1Y3RlZDsgYikgICAgZGVmaW5lIGxpbmsgdHlwZXMgYmV0d2VlbiBlbGVtZW50cyBpbiBhIGhlYWx0aGNhcmUgY2xhc3NpZmljYXRpb24gc3lzdGVtICh0aGlzIGlzIGxlZnQgdG8gdGhlIGRldmVsb3BlcnMgb2YgaGVhbHRoY2FyZSBjbGFzc2lmaWNhdGlvbiBzeXN0ZW1zKTsgYykgICAgcHJvdmlkZSBhIHJlcHJlc2VudGF0aW9uIGZvciBkaXJlY3Qgdmlld2luZyBvciBwcmludGluZy4gIiwibWF0Y2hMZXZlbCI6Im5vbmUiLCJtYXRjaGVkV29yZHMiOltdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDUvNjQvNTY0NjQiLCJ1dWlkIjoiZGZmNWE0ZTEtMTYzMy00YmZhLTk4OWUtMmJjODIwNTA2MTg5IiwidGl0bGUiOiJJU08gMTMxNjUtMToyMDEzIFdhdGVyIHF1YWxpdHkg4oCUIFJhZGl1bS0yMjYg4oCUIFBhcnQgMTogVGVzdCBtZXRob2QgdXNpbmcgbGlxdWlkIHNjaW50aWxsYXRpb24gY291bnRpbmciLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDE5LCJvcmRlciI6MTEsInRleHQiOiJJU08gMTMxNjUtMToyMDEzIHNwZWNpZmllcyB0aGUgZGV0ZXJtaW5hdGlvbiBvZiByYWRpdW0tMjI2ICggMjI2IFJhKSBhY3Rpdml0eSBjb25jZW50cmF0aW9uIGluIG5vbi1zYWxpbmUgd2F0ZXIgc2FtcGxlcyBieSBleHRyYWN0aW9uIG9mIGl0cyBkYXVnaHRlciByYWRvbi0yMjIgKCAyMjIgUm4pIGFuZCBpdHMgbWVhc3VyZW1lbnQgdXNpbmcgbGlxdWlkIHNjaW50aWxsYXRpb24gY291bnRpbmcuIFJhZGl1bS0yMjYgYWN0aXZpdHkgY29uY2VudHJhdGlvbnMgd2hpY2ggY2FuIGJlIG1lYXN1cmVkIGJ5IHRoaXMgdGVzdCBtZXRob2QgdXRpbGl6aW5nIGN1cnJlbnRseSBhdmFpbGFibGUgbGlxdWlkIHNjaW50aWxsYXRpb24gY291bnRlcnMgZ29lcyBkb3duIHRvIDUwIG1CcSBsIOKIkjEgLiBUaGlzIG1ldGhvZCBpcyBub3QgYXBwbGljYWJsZSB0byB0aGUgbWVhc3VyZW1lbnQgb2Ygb3RoZXIgcmFkaXVtIGlzb3RvcGVzLiAiLCJvYmplY3RJRCI6IjU2NDY0XzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjY1LTE6MjAxMyBXYXRlciBxdWFsaXR5IOKAlCBSYWRpdW0tMjI2IOKAlCBQYXJ0IDE6IFRlc3QgbWV0aG9kIHVzaW5nIGxpcXVpZCBzY2ludGlsbGF0aW9uIGNvdW50aW5nIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT42NS0xOjIwMTMgc3BlY2lmaWVzIHRoZSBkZXRlcm1pbmF0aW9uIG9mIHJhZGl1bS0yMjYgKCAyMjYgUmEpIGFjdGl2aXR5IGNvbmNlbnRyYXRpb24gaW4gbm9uLXNhbGluZSB3YXRlciBzYW1wbGVzIGJ5IGV4dHJhY3Rpb24gb2YgaXRzIGRhdWdodGVyIHJhZG9uLTIyMiAoIDIyMiBSbikgYW5kIGl0cyBtZWFzdXJlbWVudCB1c2luZyBsaXF1aWQgc2NpbnRpbGxhdGlvbiBjb3VudGluZy4gUmFkaXVtLTIyNiBhY3Rpdml0eSBjb25jZW50cmF0aW9ucyB3aGljaCBjYW4gYmUgbWVhc3VyZWQgYnkgdGhpcyB0ZXN0IG1ldGhvZCB1dGlsaXppbmcgY3VycmVudGx5IGF2YWlsYWJsZSBsaXF1aWQgc2NpbnRpbGxhdGlvbiBjb3VudGVycyBnb2VzIGRvd24gdG8gNTAgbUJxIGwg4oiSMSAuIFRoaXMgbWV0aG9kIGlzIG5vdCBhcHBsaWNhYmxlIHRvIHRoZSBtZWFzdXJlbWVudCBvZiBvdGhlciByYWRpdW0gaXNvdG9wZXMuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA1LzYxLzU2MTA5IiwidXVpZCI6ImY4MGVmYzU5LWM0OTEtNGYxZC1hOGJjLTkyOWRiZTlmN2I0NyIsInRpdGxlIjoiSVNPIDEzMTY0LTM6MjAxMyBXYXRlciBxdWFsaXR5IOKAlCBSYWRvbi0yMjIg4oCUIFBhcnQgMzogVGVzdCBtZXRob2QgdXNpbmcgZW1hbm9tZXRyeSIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMTksIm9yZGVyIjoxMSwidGV4dCI6IklTTyAxMzE2NC0zOjIwMTMgc3BlY2lmaWVzIGEgdGVzdCBtZXRob2QgZm9yIHRoZSBkZXRlcm1pbmF0aW9uIG9mIHJhZG9uLTIyMiBhY3Rpdml0eSBjb25jZW50cmF0aW9uIGluIGEgc2FtcGxlIG9mIHdhdGVyIGZvbGxvd2luZyBpdHMgdHJhbnNmZXIgZnJvbSB0aGUgYXF1ZW91cyBwaGFzZSB0byB0aGUgYWlyIHBoYXNlIGJ5IGRlZ2Fzc2luZyBhbmQgaXRzIGRldGVjdGlvbi4gSXQgZ2l2ZXMgcmVjb21tZW5kYXRpb25zIGZvciByYXBpZCBtZWFzdXJlbWVudHMgcGVyZm9ybWVkIHdpdGhpbiBsZXNzIHRoYW4gMSBoLiBUaGUgcmFkb24tMjIyIGFjdGl2aXR5IGNvbmNlbnRyYXRpb25zLCB3aGljaCBjYW4gYmUgbWVhc3VyZWQgYnkgdGhpcyB0ZXN0IG1ldGhvZCB1dGlsaXppbmcgY3VycmVudGx5IGF2YWlsYWJsZSBpbnN0cnVtZW50cywgcmFuZ2UgZnJvbSAwLDEgQnEgbCDiiJIxIHRvIHNldmVyYWwgaHVuZHJlZCB0aG91c2FuZCBiZWNxdWVyZWxzIHBlciBsaXRyZSBmb3IgYSAxMDAgbWwgdGVzdCBzYW1wbGUuIFRoaXMgdGVzdCBtZXRob2QgaXMgdXNlZCBzdWNjZXNzZnVsbHkgd2l0aCBkcmlua2luZyB3YXRlciBzYW1wbGVzLiBUaGUgbGFib3JhdG9yeSBpcyByZXNwb25zaWJsZSBmb3IgZW5zdXJpbmcgdGhlIHZhbGlkaXR5IG9mIHRoaXMgdGVzdCBtZXRob2QgZm9yIHdhdGVyIHNhbXBsZXMgb2YgdW50ZXN0ZWQgbWF0cmljZXMuIFRoaXMgdGVzdCBtZXRob2QgY2FuIGJlIGFwcGxpZWQgb24gZmllbGQgc2l0ZXMgb3IgaW4gdGhlIGxhYm9yYXRvcnkuIEFubmV4ZXMgQSBhbmQgQiBnaXZlIGluZGljYXRpb25zIG9uIHRoZSBuZWNlc3NhcnkgY291bnRpbmcgY29uZGl0aW9ucyB0byBtZWV0IHRoZSByZXF1aXJlZCBzZW5zaXRpdml0eSBmb3IgZHJpbmtpbmcgd2F0ZXIgbW9uaXRvcmluZyAiLCJvYmplY3RJRCI6IjU2MTA5XzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjY0LTM6MjAxMyBXYXRlciBxdWFsaXR5IOKAlCBSYWRvbi0yMjIg4oCUIFBhcnQgMzogVGVzdCBtZXRob2QgdXNpbmcgZW1hbm9tZXRyeSIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NjQtMzoyMDEzIHNwZWNpZmllcyBhIHRlc3QgbWV0aG9kIGZvciB0aGUgZGV0ZXJtaW5hdGlvbiBvZiByYWRvbi0yMjIgYWN0aXZpdHkgY29uY2VudHJhdGlvbiBpbiBhIHNhbXBsZSBvZiB3YXRlciBmb2xsb3dpbmcgaXRzIHRyYW5zZmVyIGZyb20gdGhlIGFxdWVvdXMgcGhhc2UgdG8gdGhlIGFpciBwaGFzZSBieSBkZWdhc3NpbmcgYW5kIGl0cyBkZXRlY3Rpb24uIEl0IGdpdmVzIHJlY29tbWVuZGF0aW9ucyBmb3IgcmFwaWQgbWVhc3VyZW1lbnRzIHBlcmZvcm1lZCB3aXRoaW4gbGVzcyB0aGFuIDEgaC4gVGhlIHJhZG9uLTIyMiBhY3Rpdml0eSBjb25jZW50cmF0aW9ucywgd2hpY2ggY2FuIGJlIG1lYXN1cmVkIGJ5IHRoaXMgdGVzdCBtZXRob2QgdXRpbGl6aW5nIGN1cnJlbnRseSBhdmFpbGFibGUgaW5zdHJ1bWVudHMsIHJhbmdlIGZyb20gMCwxIEJxIGwg4oiSMSB0byBzZXZlcmFsIGh1bmRyZWQgdGhvdXNhbmQgYmVjcXVlcmVscyBwZXIgbGl0cmUgZm9yIGEgMTAwIG1sIHRlc3Qgc2FtcGxlLiBUaGlzIHRlc3QgbWV0aG9kIGlzIHVzZWQgc3VjY2Vzc2Z1bGx5IHdpdGggZHJpbmtpbmcgd2F0ZXIgc2FtcGxlcy4gVGhlIGxhYm9yYXRvcnkgaXMgcmVzcG9uc2libGUgZm9yIGVuc3VyaW5nIHRoZSB2YWxpZGl0eSBvZiB0aGlzIHRlc3QgbWV0aG9kIGZvciB3YXRlciBzYW1wbGVzIG9mIHVudGVzdGVkIG1hdHJpY2VzLiBUaGlzIHRlc3QgbWV0aG9kIGNhbiBiZSBhcHBsaWVkIG9uIGZpZWxkIHNpdGVzIG9yIGluIHRoZSBsYWJvcmF0b3J5LiBBbm5leGVzIEEgYW5kIEIgZ2l2ZSBpbmRpY2F0aW9ucyBvbiB0aGUgbmVjZXNzYXJ5IGNvdW50aW5nIGNvbmRpdGlvbnMgdG8gbWVldCB0aGUgcmVxdWlyZWQgc2Vuc2l0aXZpdHkgZm9yIGRyaW5raW5nIHdhdGVyIG1vbml0b3JpbmcgIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDUvNjEvNTYxMDgiLCJ1dWlkIjoiZjdhNmE0NTgtODdmOC00NjhjLWJmYzEtMzdiN2YwMGUwMGZjIiwidGl0bGUiOiJJU08gMTMxNjQtMjoyMDEzIFdhdGVyIHF1YWxpdHkg4oCUIFJhZG9uLTIyMiDigJQgUGFydCAyOiBUZXN0IG1ldGhvZCB1c2luZyBnYW1tYS1yYXkgc3BlY3Ryb21ldHJ5Iiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAxOSwib3JkZXIiOjExLCJ0ZXh0IjoiSVNPIDEzMTY0LTI6MjAxMyBzcGVjaWZpZXMgYSB0ZXN0IG1ldGhvZCBmb3IgdGhlIGRldGVybWluYXRpb24gb2YgcmFkb24tMjIyIGFjdGl2aXR5IGNvbmNlbnRyYXRpb24gaW4gYSBzYW1wbGUgb2Ygd2F0ZXIgZm9sbG93aW5nIHRoZSBtZWFzdXJlbWVudCBvZiBpdHMgc2hvcnQtbGl2ZWQgZGVjYXkgcHJvZHVjdHMgYnkgZGlyZWN0IGdhbW1hLXNwZWN0cm9tZXRyeSBvZiB0aGUgd2F0ZXIgc2FtcGxlLiBUaGUgcmFkb24tMjIyIGFjdGl2aXR5IGNvbmNlbnRyYXRpb25zLCB3aGljaCBjYW4gYmUgbWVhc3VyZWQgYnkgdGhpcyB0ZXN0IG1ldGhvZCB1dGlsaXppbmcgY3VycmVudGx5IGF2YWlsYWJsZSBnYW1tYS1yYXkgaW5zdHJ1bWVudHMsIHJhbmdlIGZyb20gYSBmZXcgYmVjcXVlcmVscyBwZXIgbGl0cmUgdG8gc2V2ZXJhbCBodW5kcmVkIHRob3VzYW5kIGJlY3F1ZXJlbHMgcGVyIGxpdHJlIGZvciBhIDEgbCB0ZXN0IHNhbXBsZS4gVGhpcyB0ZXN0IG1ldGhvZCBjYW4gYmUgdXNlZCBzdWNjZXNzZnVsbHkgd2l0aCBkcmlua2luZyB3YXRlciBzYW1wbGVzLiBUaGUgbGFib3JhdG9yeSBpcyByZXNwb25zaWJsZSBmb3IgZW5zdXJpbmcgdGhlIHZhbGlkaXR5IG9mIHRoaXMgdGVzdCBtZXRob2QgZm9yIHdhdGVyIHNhbXBsZXMgb2YgdW50ZXN0ZWQgbWF0cmljZXMuIEFuIGFubmV4IGdpdmVzIGluZGljYXRpb25zIG9uIHRoZSBuZWNlc3NhcnkgY291bnRpbmcgY29uZGl0aW9ucyB0byBtZWV0IHRoZSByZXF1aXJlZCBzZW5zaXRpdml0eSBmb3IgZHJpbmtpbmcgd2F0ZXIgbW9uaXRvcmluZy4gIiwib2JqZWN0SUQiOiI1NjEwOF8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT42NC0yOjIwMTMgV2F0ZXIgcXVhbGl0eSDigJQgUmFkb24tMjIyIOKAlCBQYXJ0IDI6IFRlc3QgbWV0aG9kIHVzaW5nIGdhbW1hLXJheSBzcGVjdHJvbWV0cnkiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjY0LTI6MjAxMyBzcGVjaWZpZXMgYSB0ZXN0IG1ldGhvZCBmb3IgdGhlIGRldGVybWluYXRpb24gb2YgcmFkb24tMjIyIGFjdGl2aXR5IGNvbmNlbnRyYXRpb24gaW4gYSBzYW1wbGUgb2Ygd2F0ZXIgZm9sbG93aW5nIHRoZSBtZWFzdXJlbWVudCBvZiBpdHMgc2hvcnQtbGl2ZWQgZGVjYXkgcHJvZHVjdHMgYnkgZGlyZWN0IGdhbW1hLXNwZWN0cm9tZXRyeSBvZiB0aGUgd2F0ZXIgc2FtcGxlLiBUaGUgcmFkb24tMjIyIGFjdGl2aXR5IGNvbmNlbnRyYXRpb25zLCB3aGljaCBjYW4gYmUgbWVhc3VyZWQgYnkgdGhpcyB0ZXN0IG1ldGhvZCB1dGlsaXppbmcgY3VycmVudGx5IGF2YWlsYWJsZSBnYW1tYS1yYXkgaW5zdHJ1bWVudHMsIHJhbmdlIGZyb20gYSBmZXcgYmVjcXVlcmVscyBwZXIgbGl0cmUgdG8gc2V2ZXJhbCBodW5kcmVkIHRob3VzYW5kIGJlY3F1ZXJlbHMgcGVyIGxpdHJlIGZvciBhIDEgbCB0ZXN0IHNhbXBsZS4gVGhpcyB0ZXN0IG1ldGhvZCBjYW4gYmUgdXNlZCBzdWNjZXNzZnVsbHkgd2l0aCBkcmlua2luZyB3YXRlciBzYW1wbGVzLiBUaGUgbGFib3JhdG9yeSBpcyByZXNwb25zaWJsZSBmb3IgZW5zdXJpbmcgdGhlIHZhbGlkaXR5IG9mIHRoaXMgdGVzdCBtZXRob2QgZm9yIHdhdGVyIHNhbXBsZXMgb2YgdW50ZXN0ZWQgbWF0cmljZXMuIEFuIGFubmV4IGdpdmVzIGluZGljYXRpb25zIG9uIHRoZSBuZWNlc3NhcnkgY291bnRpbmcgY29uZGl0aW9ucyB0byBtZWV0IHRoZSByZXF1aXJlZCBzZW5zaXRpdml0eSBmb3IgZHJpbmtpbmcgd2F0ZXIgbW9uaXRvcmluZy4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDUvMzQvNTM0OTAiLCJ1dWlkIjoiM2RiMDI3ZWYtN2EzZS00NzU3LThmYjEtYmYwY2M2OGQwZDliIiwidGl0bGUiOiJJU08gMTMxOTY6MjAxMyBTb2lsIHF1YWxpdHkg4oCUIFNjcmVlbmluZyBzb2lscyBmb3Igc2VsZWN0ZWQgZWxlbWVudHMgYnkgZW5lcmd5LWRpc3BlcnNpdmUgWC1yYXkgZmx1b3Jlc2NlbmNlIHNwZWN0cm9tZXRyeSB1c2luZyBhIGhhbmRoZWxkIG9yIHBvcnRhYmxlIGluc3RydW1lbnQiLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDE5LCJvcmRlciI6MTEsInRleHQiOiJJU08gMTMxOTY6MjAxMyBzcGVjaWZpZXMgdGhlIHByb2NlZHVyZSBmb3Igc2NyZWVuaW5nIHNvaWxzIGFuZCBzb2lsLWxpa2UgbWF0ZXJpYWxzIGZvciBzZWxlY3RlZCBlbGVtZW50cyB3aGVuIGhhbmRoZWxkIG9yIHBvcnRhYmxlIGVuZXJneS1kaXNwZXJzaXZlIFhSRiBzcGVjdHJvbWV0ZXJzIGFyZSB1c2VkLiBUaGlzIHF1aWNrIG1ldGhvZCBpcyBhc3N1bWVkIHRvIGJlIGFwcGxpZWQgb24tc2l0ZSB0byBvYnRhaW4gcXVhbGl0YXRpdmUgb3Igc2VtaXF1YW50aXRhdGl2ZSBkYXRhIHRoYXQgYXNzaXN0cyBkZWNpc2lvbnMgb24gZnVydGhlciBzYW1wbGluZyBzdHJhdGVneSBmb3IgYXNzZXNzaW5nIHNvaWwgcXVhbGl0eS4gVGhlIGhpZ2hlciB0aGUgZWZmb3J0cyBmb3IgcHJldHJlYXRtZW50IHVzZWQgb24gc29pbCBzYW1wbGVzLCB0aGUgYmV0dGVyIHRoZSBhbmFseXRpY2FsIHJlc3VsdHMgY2FuIGJlIGV4cGVjdGVkLiBJU08gMTMxOTY6MjAxMyBkb2VzIG5vdCBleHBsaWNpdGx5IHNwZWNpZnkgZWxlbWVudHMgZm9yIHdoaWNoIGl0IGlzIGFwcGxpY2FibGUsIHNpbmNlIHRoZSBhcHBsaWNhYmlsaXR5IGRlcGVuZHMgb24gdGhlIHBlcmZvcm1hbmNlIG9mIHRoZSBhcHBhcmF0dXMgYW5kIHRoZSBvYmplY3RpdmUgb2YgdGhlIHNjcmVlbmluZy4gVGhlIGVsZW1lbnRzIHdoaWNoIGNhbiBiZSBkZXRlcm1pbmVkIGFyZSBsaW1pdGVkIGJ5IHRoZSBwZXJmb3JtYW5jZSBvZiB0aGUgaW5zdHJ1bWVudHMgdXNlZCwgdGhlIGNvbmNlbnRyYXRpb24gb2YgdGhlIGVsZW1lbnQgcHJlc2VudCBpbiB0aGUgc29pbCwgYW5kIHRoZSByZXF1aXJlbWVudHMgb2YgdGhlIGludmVzdGlnYXRpb24gKGUuZy4gZ3VpZGVsaW5lIHZhbHVlKS4gRm9yIEhnLCBDZCwgQ28sIE1vLCBWIGFuZCBTYiwgYSBtYWpvcml0eSBvZiBpbnN0cnVtZW50cyBhcmUgbm90IHNlbnNpdGl2ZSBlbm91Z2ggdG8gcmVhY2ggc3VmZmljaWVudGx5IGxvdyBsaW1pdHMgb2YgcXVhbnRpZmljYXRpb24gKExPUSkgdG8gbWVldCB0aGUgcmVxdWlyZW1lbnRzIChsaW1pdCBvciB0aHJlc2hvbGQgdmFsdWVzKSBzZXQgaW4gdGhlIG9yZGluYW5jZXMgb2YgZGlmZmVyZW50IGNvdW50cmllcy4gSW4gdGhpcyBjYXNlLCBvdGhlciBtZXRob2RzIG5lZWQgdG8gYmUgZW1wbG95ZWQgdG8gbWVhc3VyZSB0aGVzZSBsb3cgY29uY2VudHJhdGlvbnMuIFVzdWFsbHksIHdldCBjaGVtaWNhbCBtZXRob2RzIGFyZSB1c2VkLCBiYXNlZCBvbiBhcXVhIHJlZ2lhIGV4dHJhY3RzLCBpbiBjb21iaW5hdGlvbiB3aXRoIG9wdGljYWwgb3IgbWFzcyBzcGVjdHJvbWV0cmljIChNUykgbWV0aG9kcyBsaWtlIGF0b21pYyBhYnNvcnB0aW9uIHNwZWN0cm9tZXRyeSAoQUFTKSwgaW5kdWN0aXZlbHkgY291cGxlZCBwbGFzbWEvb3B0aWNhbCBlbWlzc2lvbiBzcGVjdHJvbWV0cnkgKElDUC9PRVMpIG9yIElDUC9NUy4gIiwib2JqZWN0SUQiOiI1MzQ5MF8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT45NjoyMDEzIFNvaWwgcXVhbGl0eSDigJQgU2NyZWVuaW5nIHNvaWxzIGZvciBzZWxlY3RlZCBlbGVtZW50cyBieSBlbmVyZ3ktZGlzcGVyc2l2ZSBYLXJheSBmbHVvcmVzY2VuY2Ugc3BlY3Ryb21ldHJ5IHVzaW5nIGEgaGFuZGhlbGQgb3IgcG9ydGFibGUgaW5zdHJ1bWVudCIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+OTY6MjAxMyBzcGVjaWZpZXMgdGhlIHByb2NlZHVyZSBmb3Igc2NyZWVuaW5nIHNvaWxzIGFuZCBzb2lsLWxpa2UgbWF0ZXJpYWxzIGZvciBzZWxlY3RlZCBlbGVtZW50cyB3aGVuIGhhbmRoZWxkIG9yIHBvcnRhYmxlIGVuZXJneS1kaXNwZXJzaXZlIFhSRiBzcGVjdHJvbWV0ZXJzIGFyZSB1c2VkLiBUaGlzIHF1aWNrIG1ldGhvZCBpcyBhc3N1bWVkIHRvIGJlIGFwcGxpZWQgb24tc2l0ZSB0byBvYnRhaW4gcXVhbGl0YXRpdmUgb3Igc2VtaXF1YW50aXRhdGl2ZSBkYXRhIHRoYXQgYXNzaXN0cyBkZWNpc2lvbnMgb24gZnVydGhlciBzYW1wbGluZyBzdHJhdGVneSBmb3IgYXNzZXNzaW5nIHNvaWwgcXVhbGl0eS4gVGhlIGhpZ2hlciB0aGUgZWZmb3J0cyBmb3IgcHJldHJlYXRtZW50IHVzZWQgb24gc29pbCBzYW1wbGVzLCB0aGUgYmV0dGVyIHRoZSBhbmFseXRpY2FsIHJlc3VsdHMgY2FuIGJlIGV4cGVjdGVkLiA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+OTY6MjAxMyBkb2VzIG5vdCBleHBsaWNpdGx5IHNwZWNpZnkgZWxlbWVudHMgZm9yIHdoaWNoIGl0IGlzIGFwcGxpY2FibGUsIHNpbmNlIHRoZSBhcHBsaWNhYmlsaXR5IGRlcGVuZHMgb24gdGhlIHBlcmZvcm1hbmNlIG9mIHRoZSBhcHBhcmF0dXMgYW5kIHRoZSBvYmplY3RpdmUgb2YgdGhlIHNjcmVlbmluZy4gVGhlIGVsZW1lbnRzIHdoaWNoIGNhbiBiZSBkZXRlcm1pbmVkIGFyZSBsaW1pdGVkIGJ5IHRoZSBwZXJmb3JtYW5jZSBvZiB0aGUgaW5zdHJ1bWVudHMgdXNlZCwgdGhlIGNvbmNlbnRyYXRpb24gb2YgdGhlIGVsZW1lbnQgcHJlc2VudCBpbiB0aGUgc29pbCwgYW5kIHRoZSByZXF1aXJlbWVudHMgb2YgdGhlIGludmVzdGlnYXRpb24gKGUuZy4gZ3VpZGVsaW5lIHZhbHVlKS4gRm9yIEhnLCBDZCwgQ28sIE1vLCBWIGFuZCBTYiwgYSBtYWpvcml0eSBvZiBpbnN0cnVtZW50cyBhcmUgbm90IHNlbnNpdGl2ZSBlbm91Z2ggdG8gcmVhY2ggc3VmZmljaWVudGx5IGxvdyBsaW1pdHMgb2YgcXVhbnRpZmljYXRpb24gKExPUSkgdG8gbWVldCB0aGUgcmVxdWlyZW1lbnRzIChsaW1pdCBvciB0aHJlc2hvbGQgdmFsdWVzKSBzZXQgaW4gdGhlIG9yZGluYW5jZXMgb2YgZGlmZmVyZW50IGNvdW50cmllcy4gSW4gdGhpcyBjYXNlLCBvdGhlciBtZXRob2RzIG5lZWQgdG8gYmUgZW1wbG95ZWQgdG8gbWVhc3VyZSB0aGVzZSBsb3cgY29uY2VudHJhdGlvbnMuIFVzdWFsbHksIHdldCBjaGVtaWNhbCBtZXRob2RzIGFyZSB1c2VkLCBiYXNlZCBvbiBhcXVhIHJlZ2lhIGV4dHJhY3RzLCBpbiBjb21iaW5hdGlvbiB3aXRoIG9wdGljYWwgb3IgbWFzcyBzcGVjdHJvbWV0cmljIChNUykgbWV0aG9kcyBsaWtlIGF0b21pYyBhYnNvcnB0aW9uIHNwZWN0cm9tZXRyeSAoQUFTKSwgaW5kdWN0aXZlbHkgY291cGxlZCBwbGFzbWEvb3B0aWNhbCBlbWlzc2lvbiBzcGVjdHJvbWV0cnkgKElDUC9PRVMpIG9yIElDUC9NUy4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDUvMzQvNTM0MDUiLCJ1dWlkIjoiZTRlZGY1ZmYtYTE1NC00YjZlLWFhZmYtZGY0YzRhYmZmODQ4IiwidGl0bGUiOiJJU08gMTMxNjQtMToyMDEzIFdhdGVyIHF1YWxpdHkg4oCUIFJhZG9uLTIyMiDigJQgUGFydCAxOiBHZW5lcmFsIHByaW5jaXBsZXMiLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDE5LCJvcmRlciI6MTEsInRleHQiOiJJU08gMTMxNjQtMToyMDEzIGdpdmVzIGdlbmVyYWwgZ3VpZGVsaW5lcyBmb3Igc2FtcGxpbmcsIHBhY2thZ2luZywgYW5kIHRyYW5zcG9ydGluZyBvZiBhbGwga2luZHMgb2Ygd2F0ZXIgc2FtcGxlcywgZm9yIHRoZSBtZWFzdXJlbWVudCBvZiB0aGUgYWN0aXZpdHkgY29uY2VudHJhdGlvbiBvZiByYWRvbi0yMjIuIFRoZSB0ZXN0IG1ldGhvZHMgZmFsbCBpbnRvIHR3byBjYXRlZ29yaWVzOiBhKSBkaXJlY3QgbWVhc3VyZW1lbnQgb2YgdGhlIHdhdGVyIHNhbXBsZSB3aXRob3V0IGFueSB0cmFuc2ZlciBvZiBwaGFzZSAoc2VlIElTTyAxMzE2NOKAkTIpOyBiKSBpbmRpcmVjdCBtZWFzdXJlbWVudCBpbnZvbHZpbmcgdGhlIHRyYW5zZmVyIG9mIHRoZSByYWRvbi0yMjIgZnJvbSB0aGUgYXF1ZW91cyBwaGFzZSB0byBhbm90aGVyIHBoYXNlIChzZWUgSVNPIDEzMTY04oCRMykuIFRoZSB0ZXN0IG1ldGhvZHMgY2FuIGJlIGFwcGxpZWQgZWl0aGVyIGluIHRoZSBsYWJvcmF0b3J5IG9yIG9uIHNpdGUuIFRoZSBsYWJvcmF0b3J5IGlzIHJlc3BvbnNpYmxlIGZvciBlbnN1cmluZyB0aGUgc3VpdGFiaWxpdHkgb2YgdGhlIHRlc3QgbWV0aG9kIGZvciB0aGUgd2F0ZXIgc2FtcGxlcyB0ZXN0ZWQuICIsIm9iamVjdElEIjoiNTM0MDVfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NjQtMToyMDEzIFdhdGVyIHF1YWxpdHkg4oCUIFJhZG9uLTIyMiDigJQgUGFydCAxOiBHZW5lcmFsIHByaW5jaXBsZXMiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjY0LTE6MjAxMyBnaXZlcyBnZW5lcmFsIGd1aWRlbGluZXMgZm9yIHNhbXBsaW5nLCBwYWNrYWdpbmcsIGFuZCB0cmFuc3BvcnRpbmcgb2YgYWxsIGtpbmRzIG9mIHdhdGVyIHNhbXBsZXMsIGZvciB0aGUgbWVhc3VyZW1lbnQgb2YgdGhlIGFjdGl2aXR5IGNvbmNlbnRyYXRpb24gb2YgcmFkb24tMjIyLiBUaGUgdGVzdCBtZXRob2RzIGZhbGwgaW50byB0d28gY2F0ZWdvcmllczogYSkgZGlyZWN0IG1lYXN1cmVtZW50IG9mIHRoZSB3YXRlciBzYW1wbGUgd2l0aG91dCBhbnkgdHJhbnNmZXIgb2YgcGhhc2UgKHNlZSA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NjTigJEyKTsgYikgaW5kaXJlY3QgbWVhc3VyZW1lbnQgaW52b2x2aW5nIHRoZSB0cmFuc2ZlciBvZiB0aGUgcmFkb24tMjIyIGZyb20gdGhlIGFxdWVvdXMgcGhhc2UgdG8gYW5vdGhlciBwaGFzZSAoc2VlIDxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT42NOKAkTMpLiBUaGUgdGVzdCBtZXRob2RzIGNhbiBiZSBhcHBsaWVkIGVpdGhlciBpbiB0aGUgbGFib3JhdG9yeSBvciBvbiBzaXRlLiBUaGUgbGFib3JhdG9yeSBpcyByZXNwb25zaWJsZSBmb3IgZW5zdXJpbmcgdGhlIHN1aXRhYmlsaXR5IG9mIHRoZSB0ZXN0IG1ldGhvZCBmb3IgdGhlIHdhdGVyIHNhbXBsZXMgdGVzdGVkLiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNS8zMy81MzMzMCIsInV1aWQiOiJiNmViMjE0Ni1hNGIzLTQ0Y2UtYjA3My1iNzU0OWMzNmU0ODYiLCJ0aXRsZSI6IklTTyAxMzEzNzoyMDEzIFdvcmtwbGFjZSBhdG1vc3BoZXJlcyDigJQgUHVtcHMgZm9yIHBlcnNvbmFsIHNhbXBsaW5nIG9mIGNoZW1pY2FsIGFuZCBiaW9sb2dpY2FsIGFnZW50cyDigJQgUmVxdWlyZW1lbnRzIGFuZCB0ZXN0IG1ldGhvZHMiLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDE5LCJvcmRlciI6MTEsInRleHQiOiJJU08gMTMxMzc6MjAxMyBzcGVjaWZpZXMgcGVyZm9ybWFuY2UgcmVxdWlyZW1lbnRzIGZvciBiYXR0ZXJ5IHBvd2VyZWQgcHVtcHMgdXNlZCBmb3IgcGVyc29uYWwgc2FtcGxpbmcgb2YgY2hlbWljYWwgYW5kIGJpb2xvZ2ljYWwgYWdlbnRzIGluIHdvcmtwbGFjZSBhaXIuIEl0IGFsc28gc3BlY2lmaWVzIHRlc3QgbWV0aG9kcyBpbiBvcmRlciB0byBkZXRlcm1pbmUgdGhlIHBlcmZvcm1hbmNlIGNoYXJhY3RlcmlzdGljcyBvZiBzdWNoIHB1bXBzIHVuZGVyIHByZXNjcmliZWQgbGFib3JhdG9yeSBjb25kaXRpb25zLiBJU08gMTMxMzc6MjAxMyBpcyBhcHBsaWNhYmxlIHRvIGJhdHRlcnkgcG93ZXJlZCBwdW1wcyBoYXZpbmcgYSBub21pbmFsIHZvbHVtZSBmbG93IHJhdGUgYWJvdmUgMTAgbWwg4ouFIG1pbiDiiJIxICwgYXMgdXNlZCB3aXRoIGNvbWJpbmF0aW9ucyBvZiBzYW1wbGVyIGFuZCBjb2xsZWN0aW9uIHN1YnN0cmF0ZSBmb3Igc2FtcGxpbmcgb2YgZ2FzZXMsIHZhcG91cnMsIGR1c3RzLCBmdW1lcywgbWlzdHMgYW5kIGZpYnJlcy4gSVNPIDEzMTM3OjIwMTMgaXMgcHJpbWFyaWx5IGludGVuZGVkIGZvciBmbG93LWNvbnRyb2xsZWQgcHVtcHMuICIsIm9iamVjdElEIjoiNTMzMzBfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+Mzc6MjAxMyBXb3JrcGxhY2UgYXRtb3NwaGVyZXMg4oCUIFB1bXBzIGZvciBwZXJzb25hbCBzYW1wbGluZyBvZiBjaGVtaWNhbCBhbmQgYmlvbG9naWNhbCBhZ2VudHMg4oCUIFJlcXVpcmVtZW50cyBhbmQgdGVzdCBtZXRob2RzIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT4zNzoyMDEzIHNwZWNpZmllcyBwZXJmb3JtYW5jZSByZXF1aXJlbWVudHMgZm9yIGJhdHRlcnkgcG93ZXJlZCBwdW1wcyB1c2VkIGZvciBwZXJzb25hbCBzYW1wbGluZyBvZiBjaGVtaWNhbCBhbmQgYmlvbG9naWNhbCBhZ2VudHMgaW4gd29ya3BsYWNlIGFpci4gSXQgYWxzbyBzcGVjaWZpZXMgdGVzdCBtZXRob2RzIGluIG9yZGVyIHRvIGRldGVybWluZSB0aGUgcGVyZm9ybWFuY2UgY2hhcmFjdGVyaXN0aWNzIG9mIHN1Y2ggcHVtcHMgdW5kZXIgcHJlc2NyaWJlZCBsYWJvcmF0b3J5IGNvbmRpdGlvbnMuIDxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT4zNzoyMDEzIGlzIGFwcGxpY2FibGUgdG8gYmF0dGVyeSBwb3dlcmVkIHB1bXBzIGhhdmluZyBhIG5vbWluYWwgdm9sdW1lIGZsb3cgcmF0ZSBhYm92ZSAxMCBtbCDii4UgbWluIOKIkjEgLCBhcyB1c2VkIHdpdGggY29tYmluYXRpb25zIG9mIHNhbXBsZXIgYW5kIGNvbGxlY3Rpb24gc3Vic3RyYXRlIGZvciBzYW1wbGluZyBvZiBnYXNlcywgdmFwb3VycywgZHVzdHMsIGZ1bWVzLCBtaXN0cyBhbmQgZmlicmVzLiA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+Mzc6MjAxMyBpcyBwcmltYXJpbHkgaW50ZW5kZWQgZm9yIGZsb3ctY29udHJvbGxlZCBwdW1wcy4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDUvMzAvNTMwMTkiLCJ1dWlkIjoiNDEzZWE3NTktNWJhMy00ZTIzLTllM2EtNDY5YzMzMjM3YjQ4IiwidGl0bGUiOiJJU08gMTMxMjc6MjAxMiBQYWNrYWdpbmcg4oCUIENoaWxkIHJlc2lzdGFudCBwYWNrYWdpbmcg4oCUIE1lY2hhbmljYWwgdGVzdCBtZXRob2RzIGZvciByZWNsb3NhYmxlIGNoaWxkIHJlc2lzdGFudCBwYWNrYWdpbmcgc3lzdGVtcyIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMTksIm9yZGVyIjoxMSwidGV4dCI6IklTTyAxMzEyNzoyMDEyIHNwZWNpZmllcyB0ZXN0IG1ldGhvZHMgZm9yIG1lY2hhbmljYWwgdGVzdGluZyBvZiByZWNsb3NhYmxlIGNoaWxkIHJlc2lzdGFudCBwYWNrYWdpbmcuIFRoZSBkYXRhIGdlbmVyYXRlZCBieSB0aGVzZSBtZWNoYW5pY2FsIHRlc3QgbWV0aG9kcyBhcmUgc3VpdGFibGUgZm9yIGNvbXBhcmluZyBjaGlsZCByZXNpc3RhbnQgY2hhcmFjdGVyaXN0aWNzIG9mIHJlbGF0ZWQgcmVjbG9zYWJsZSBwYWNrYWdpbmcgc3lzdGVtcy4gIiwib2JqZWN0SUQiOiI1MzAxOV8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT4yNzoyMDEyIFBhY2thZ2luZyDigJQgQ2hpbGQgcmVzaXN0YW50IHBhY2thZ2luZyDigJQgTWVjaGFuaWNhbCB0ZXN0IG1ldGhvZHMgZm9yIHJlY2xvc2FibGUgY2hpbGQgcmVzaXN0YW50IHBhY2thZ2luZyBzeXN0ZW1zIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT4yNzoyMDEyIHNwZWNpZmllcyB0ZXN0IG1ldGhvZHMgZm9yIG1lY2hhbmljYWwgdGVzdGluZyBvZiByZWNsb3NhYmxlIGNoaWxkIHJlc2lzdGFudCBwYWNrYWdpbmcuIFRoZSBkYXRhIGdlbmVyYXRlZCBieSB0aGVzZSBtZWNoYW5pY2FsIHRlc3QgbWV0aG9kcyBhcmUgc3VpdGFibGUgZm9yIGNvbXBhcmluZyBjaGlsZCByZXNpc3RhbnQgY2hhcmFjdGVyaXN0aWNzIG9mIHJlbGF0ZWQgcmVjbG9zYWJsZSBwYWNrYWdpbmcgc3lzdGVtcy4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDUvMjgvNTI4MzYiLCJ1dWlkIjoiYjdkNjFjODQtNjgxMS00NThiLWE0YTktYzU3MDNlNzk4NjY4IiwidGl0bGUiOiJJU08gMTMxMDY6MjAxNCBQbGFzdGljcyDigJQgQmxvdy1tb3VsZGVkIHBvbHlwcm9weWxlbmUgY29udGFpbmVycyBmb3IgcGFja2FnaW5nIG9mIGxpcXVpZCBmb29kc3R1ZmZzIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAxOSwib3JkZXIiOjExLCJ0ZXh0IjoiSVNPIDEzMTA2OjIwMTQgcHJvdmlkZXMgdGhlIHJlcXVpcmVtZW50cyBmb3IgcG9seXByb3B5bGVuZSByZXNpbnMgaW50ZW5kZWQgZm9yIHVzZSBpbiBibG93LW1vdWxkZWQsIHJvdW5kIGNvbnRhaW5lcnMgd2l0aCBjYXBhY2l0aWVzIHVwIHRvLCBhbmQgaW5jbHVkaW5nIHR3byBsaXRyZXMgaW50ZW5kZWQgZm9yIHRoZSBwYWNrYWdpbmcgb2YgbGlxdWlkcyBmb3IgaHVtYW4gY29uc3VtcHRpb24uIElTTyAxMzEwNjoyMDE0IGFsc28gcHJvdmlkZXMgdG9sZXJhbmNlcyBvbiBtYXNzLCBkaW1lbnNpb25zLCBtZXRob2RzIG9mIHNhbXBsaW5nLCB0ZXN0aW5nLCBhbmQgcGVyZm9ybWFuY2UgcmVxdWlyZW1lbnRzLiAiLCJvYmplY3RJRCI6IjUyODM2XzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjA2OjIwMTQgUGxhc3RpY3Mg4oCUIEJsb3ctbW91bGRlZCBwb2x5cHJvcHlsZW5lIGNvbnRhaW5lcnMgZm9yIHBhY2thZ2luZyBvZiBsaXF1aWQgZm9vZHN0dWZmcyIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+MDY6MjAxNCBwcm92aWRlcyB0aGUgcmVxdWlyZW1lbnRzIGZvciBwb2x5cHJvcHlsZW5lIHJlc2lucyBpbnRlbmRlZCBmb3IgdXNlIGluIGJsb3ctbW91bGRlZCwgcm91bmQgY29udGFpbmVycyB3aXRoIGNhcGFjaXRpZXMgdXAgdG8sIGFuZCBpbmNsdWRpbmcgdHdvIGxpdHJlcyBpbnRlbmRlZCBmb3IgdGhlIHBhY2thZ2luZyBvZiBsaXF1aWRzIGZvciBodW1hbiBjb25zdW1wdGlvbi4gPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjA2OjIwMTQgYWxzbyBwcm92aWRlcyB0b2xlcmFuY2VzIG9uIG1hc3MsIGRpbWVuc2lvbnMsIG1ldGhvZHMgb2Ygc2FtcGxpbmcsIHRlc3RpbmcsIGFuZCBwZXJmb3JtYW5jZSByZXF1aXJlbWVudHMuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA2Lzg3LzY4NzY5IiwidXVpZCI6IjM2YTY2MzIwLWMwZjgtNGE4NC1iYmUxLTgwZDMyNTE2OGNkNiIsInRpdGxlIjoiSVNPIDEzMTY5OjIwMTggV2F0ZXIgcXVhbGl0eSDigJQgVXJhbml1bSDigJQgVGVzdCBtZXRob2QgdXNpbmcgYWxwaGEgbGlxdWlkIHNjaW50aWxsYXRpb24gY291bnRpbmciLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDE4LCJvcmRlciI6MTEsInRleHQiOiJUaGlzIGRvY3VtZW50IHNwZWNpZmllcyB0aGUgbWVhc3VyZW1lbnQgbWV0aG9kIGZvciB0aGUgZGV0ZXJtaW5hdGlvbiBvZiB0b3RhbCBhY3Rpdml0eSBjb25jZW50cmF0aW9uIG9mIHVyYW5pdW0gaXNvdG9wZXMgaW4gbm9uLXNhbGluZSB3YXRlcnMgYnkgZXh0cmFjdGlvbiBhbmQgbGlxdWlkIHNjaW50aWxsYXRpb24gY291bnRpbmcuIFRoaXMgbWV0aG9kIGNvdmVycyB0aGUgbWVhc3VyZW1lbnQgb2Ygc29sdWJsZSB1cmFuaXVtIGlzb3RvcGVzIGluIHdhdGVyIGluIGFjdGl2aXR5IGNvbmNlbnRyYXRpb25zIGJldHdlZW4gYXBwcm94aW1hdGVseSAywrcxMCDiiJIzIEJxL2tnIGFuZCAxMCBCcS9rZyB3aGVuIGFuYWx5c2luZyBhIDEgbCB0ZXN0IHNhbXBsZSB2b2x1bWUgd2l0aCBhIDYwIDAwMCBzIGNvdW50aW5nIHRpbWUgd2l0aCBhIHR5cGljYWwgYWxwaGEgTFNDIGluc3RydW1lbnQuIFRoZSByYXRpbyAyMzQgVS8gMjM4IFUgY2FuIGFsc28gYmUgZGV0ZXJtaW5lZC4gVGhpcyBtZXRob2QgaGFzIG5vdCBiZWVuIHRlc3RlZCBmb3IgdGhlIG1lYXN1cmVtZW50IG9mIG90aGVyIHVyYW5pdW0gaXNvdG9wZXMuICIsIm9iamVjdElEIjoiNjg3NjlfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+Njk6MjAxOCBXYXRlciBxdWFsaXR5IOKAlCBVcmFuaXVtIOKAlCBUZXN0IG1ldGhvZCB1c2luZyBhbHBoYSBsaXF1aWQgc2NpbnRpbGxhdGlvbiBjb3VudGluZyIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiJUaGlzIGRvY3VtZW50IHNwZWNpZmllcyB0aGUgbWVhc3VyZW1lbnQgbWV0aG9kIGZvciB0aGUgZGV0ZXJtaW5hdGlvbiBvZiB0b3RhbCBhY3Rpdml0eSBjb25jZW50cmF0aW9uIG9mIHVyYW5pdW0gaXNvdG9wZXMgaW4gbm9uLXNhbGluZSB3YXRlcnMgYnkgZXh0cmFjdGlvbiBhbmQgbGlxdWlkIHNjaW50aWxsYXRpb24gY291bnRpbmcuIFRoaXMgbWV0aG9kIGNvdmVycyB0aGUgbWVhc3VyZW1lbnQgb2Ygc29sdWJsZSB1cmFuaXVtIGlzb3RvcGVzIGluIHdhdGVyIGluIGFjdGl2aXR5IGNvbmNlbnRyYXRpb25zIGJldHdlZW4gYXBwcm94aW1hdGVseSAywrcxMCDiiJIzIEJxL2tnIGFuZCAxMCBCcS9rZyB3aGVuIGFuYWx5c2luZyBhIDEgbCB0ZXN0IHNhbXBsZSB2b2x1bWUgd2l0aCBhIDYwIDAwMCBzIGNvdW50aW5nIHRpbWUgd2l0aCBhIHR5cGljYWwgYWxwaGEgTFNDIGluc3RydW1lbnQuIFRoZSByYXRpbyAyMzQgVS8gMjM4IFUgY2FuIGFsc28gYmUgZGV0ZXJtaW5lZC4gVGhpcyBtZXRob2QgaGFzIG5vdCBiZWVuIHRlc3RlZCBmb3IgdGhlIG1lYXN1cmVtZW50IG9mIG90aGVyIHVyYW5pdW0gaXNvdG9wZXMuICIsIm1hdGNoTGV2ZWwiOiJub25lIiwibWF0Y2hlZFdvcmRzIjpbXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA2LzE1LzYxNTcyIiwidXVpZCI6IjYzOGExOTc4LTk2ZmItNDg4OC05ODEwLWVkY2VmYjllYmJmZiIsInRpdGxlIjoiSVNPIDEzMTg1LTM6MjAxOCBJbnRlbGxpZ2VudCB0cmFuc3BvcnQgc3lzdGVtcyAg4oCUIFZlaGljbGUgaW50ZXJmYWNlIGZvciBwcm92aXNpb25pbmcgYW5kIHN1cHBvcnQgb2YgSVRTIFNlcnZpY2VzIOKAlCBQYXJ0IDM6IFVuaWZpZWQgdmVoaWNsZSBpbnRlcmZhY2UgcHJvdG9jb2wgKFVWSVApIHNlcnZlciBhbmQgY2xpZW50IEFQSSBzcGVjaWZpY2F0aW9uIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAxOCwib3JkZXIiOjExLCJ0ZXh0IjoiVGhpcyBkb2N1bWVudCBzcGVjaWZpZXMgdGhlIHNlcnZlciBhbmQgY2xpZW50IEFQSXMgb2YgdGhlIFVuaWZpZWQgR2F0ZXdheSBQcm90b2NvbCAoVUdQKS4gRmlndXJlIDEgc2hvd3MgYW4gb3ZlcnZpZXcgb2YgdGhlIFVHUCBjbGllbnQgYW5kIHNlcnZlciBBUEkuIEEgVUdQIGNsaWVudCBhcHBsaWNhdGlvbiBvbiBhIFAtSVRTLVMgY29tbXVuaWNhdGVzIHdpdGggYSBVR1Agc2VydmVyIGFwcGxpY2F0aW9uIG9uIGEgVi1JVFMtUy4gVGhlIFVHUCBjbGllbnQgYXBwbGljYXRpb24gaW1wbGVtZW50cyB0aGUgVUdQIGNsaWVudCBBUEkgdXNpbmcgSVNPIDEzMTg1LTIuIFRoZSBVR1Agc2VydmVyIGFwcGxpY2F0aW9uIGltcGxlbWVudHMgdGhlIFVHUCBzZXJ2ZXIgQVBJIHVzaW5nIElTTyAxMzE4NS0yLiAiLCJvYmplY3RJRCI6IjYxNTcyXzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjg1LTM6MjAxOCBJbnRlbGxpZ2VudCB0cmFuc3BvcnQgc3lzdGVtcyAg4oCUIFZlaGljbGUgaW50ZXJmYWNlIGZvciBwcm92aXNpb25pbmcgYW5kIHN1cHBvcnQgb2YgSVRTIFNlcnZpY2VzIOKAlCBQYXJ0IDM6IFVuaWZpZWQgdmVoaWNsZSBpbnRlcmZhY2UgcHJvdG9jb2wgKFVWSVApIHNlcnZlciBhbmQgY2xpZW50IEFQSSBzcGVjaWZpY2F0aW9uIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IlRoaXMgZG9jdW1lbnQgc3BlY2lmaWVzIHRoZSBzZXJ2ZXIgYW5kIGNsaWVudCBBUElzIG9mIHRoZSBVbmlmaWVkIEdhdGV3YXkgUHJvdG9jb2wgKFVHUCkuIEZpZ3VyZSAxIHNob3dzIGFuIG92ZXJ2aWV3IG9mIHRoZSBVR1AgY2xpZW50IGFuZCBzZXJ2ZXIgQVBJLiBBIFVHUCBjbGllbnQgYXBwbGljYXRpb24gb24gYSBQLUlUUy1TIGNvbW11bmljYXRlcyB3aXRoIGEgVUdQIHNlcnZlciBhcHBsaWNhdGlvbiBvbiBhIFYtSVRTLVMuIFRoZSBVR1AgY2xpZW50IGFwcGxpY2F0aW9uIGltcGxlbWVudHMgdGhlIFVHUCBjbGllbnQgQVBJIHVzaW5nIDxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT44NS0yLiBUaGUgVUdQIHNlcnZlciBhcHBsaWNhdGlvbiBpbXBsZW1lbnRzIHRoZSBVR1Agc2VydmVyIEFQSSB1c2luZyA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+ODUtMi4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDUvMzYvNTM2NjAiLCJ1dWlkIjoiNzdlNTc1NDAtYjM1NS00MWMyLWE5Y2QtMDI2MmQwN2I4YTI4IiwidGl0bGUiOiJJU08gMTMxNzQ6MjAxMiBDYXRob2RpYyBwcm90ZWN0aW9uIG9mIGhhcmJvdXIgaW5zdGFsbGF0aW9ucyIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMTgsIm9yZGVyIjoxMSwidGV4dCI6IklTTyAxMzE3NDoyMDEyIGRlZmluZXMgdGhlIG1lYW5zIHRvIGJlIHVzZWQgdG8gZW5zdXJlIHRoYXQgY2F0aG9kaWMgcHJvdGVjdGlvbiBpcyBlZmZpY2llbnRseSBhcHBsaWVkIHRvIHRoZSBpbW1lcnNlZCBhbmQgZHJpdmVuL2J1cmllZCBtZXRhbGxpYyBleHRlcm5hbCBzdXJmYWNlcyBvZiBzdGVlbCBwb3J0LCBoYXJib3VyLCBjb2FzdGFsIGFuZCBmbG9vZCBkZWZlbmNlIGluc3RhbGxhdGlvbnMgYW5kIGFwcHVydGVuYW5jZXMgaW4gc2Vhd2F0ZXIgYW5kIHNhbGluZSBtdWQgdG8gcHJvdmlkZSBwcm90ZWN0aW9uIGZyb20gY29ycm9zaW9uLiBJU08gMTMxNzQ6MjAxMiBzcGVjaWZpZXMgY2F0aG9kaWMgcHJvdGVjdGlvbiBvZiBmaXhlZCBhbmQgZmxvYXRpbmcgcG9ydCBhbmQgaGFyYm91ciBzdHJ1Y3R1cmVzLiBUaGlzIGluY2x1ZGVzIHBpZXJzLCBqZXR0aWVzLCBkb2xwaGlucyAobW9vcmluZyBhbmQgYmVydGhpbmcpLCBzaGVldCBvciB0dWJ1bGFyIHBpbGluZywgcG9udG9vbnMsIGJ1b3lzLCBmbG9hdGluZyBkb2NrcywgbG9jayBhbmQgc2x1aWNlIGdhdGVzLiBJdCBhbHNvIHNwZWNpZmllcyBjYXRob2RpYyBwcm90ZWN0aW9uIG9mIHRoZSBzdWJtZXJnZWQgYXJlYXMgb2YgYXBwdXJ0ZW5hbmNlcywgc3VjaCBhcyBjaGFpbnMgYXR0YWNoZWQgdG8gdGhlIHN0cnVjdHVyZSwgd2hlbiB0aGVzZSBhcmUgbm90IGVsZWN0cmljYWxseSBpc29sYXRlZCBmcm9tIHRoZSBzdHJ1Y3R1cmUuIElTTyAxMzE3NDoyMDEyIGlzIHRvIGJlIHVzZWQgaW4gcmVzcGVjdCBvZiBjYXRob2RpYyBwcm90ZWN0aW9uIHN5c3RlbXMgd2hlcmUgdGhlIGFub2RlcyBhcmUgZXhwb3NlZCB0byB3YXRlciBvciBzYWxpbmUgbXVkLiBGb3IgYnVyaWVkIGFyZWFzLCB0eXBpY2FsbHkgaW4gc29pbCBvciBzYW5kIGZpbGxlZCBhcmVhcyBiZWhpbmQgcGlsZWQgd2FsbHMgb3Igd2l0aGluIGZpbGxlZCBjYWlzc29ucywgd2hpY2ggbWF5IGJlIHNpZ25pZmljYW50bHkgYWZmZWN0ZWQgYnkgY29ycm9zaW9uLCBzcGVjaWZpYyBjYXRob2RpYyBwcm90ZWN0aW9uIGRlc2lnbiBhbmQgb3BlcmF0aW9uIHJlcXVpcmVtZW50cyBhcmUgZGVmaW5lZCBpbiBFTiAxMjk1NCwgdGhlIGFub2RlcyBiZWluZyBleHBvc2VkIHRvIHNvaWxzLiBJU08gMTMxNzQ6MjAxMiBkb2VzIG5vdCBjb3ZlciB0aGUgY2F0aG9kaWMgcHJvdGVjdGlvbiBvZiBmaXhlZCBvciBmbG9hdGluZyBvZmZzaG9yZSBzdHJ1Y3R1cmVzIChpbmNsdWRpbmcgb2Zmc2hvcmUgbG9hZGluZyBidW95cyksIHN1Ym1hcmluZSBwaXBlbGluZXMgb3Igc2hpcHMuIElTTyAxMzE3NDoyMDEyIGRvZXMgbm90IGluY2x1ZGUgdGhlIGludGVybmFsIHByb3RlY3Rpb24gb2Ygc3VyZmFjZXMgb2YgYW55IGNvbXBvbmVudHMgc3VjaCBhcyBiYWxsYXN0IHRhbmtzLCBpbnRlcm5hbHMgb2YgZmxvYXRpbmcgc3RydWN0dXJlcyBmbG9vZGVkIGNvbXBhcnRtZW50cyBvZiBsb2NrIGFuZCBzbHVpY2UgZ2F0ZXMgb3IgdGhlIGludGVybmFscyBvZiB0dWJ1bGFyIHN0ZWVsIHBpbGVzLiBJU08gMTMxNzQ6MjAxMiBjb3ZlcnMgdGhlIGNhdGhvZGljIHByb3RlY3Rpb24gb2Ygc3RydWN0dXJlcyBmYWJyaWNhdGVkIHByaW5jaXBhbGx5IGZyb20gYmFyZSBvciBjb2F0ZWQgY2FyYm9uIGFuZCBjYXJib24gbWFuZ2FuZXNlIHN0ZWVscy4gQXMgc29tZSBwYXJ0cyBvZiB0aGUgc3RydWN0dXJlIG1heSBiZSBtYWRlIG9mIG1ldGFsbGljIG1hdGVyaWFscyBvdGhlciB0aGFuIGNhcmJvbiBzdGVlbHMsIHRoZSBjYXRob2RpYyBwcm90ZWN0aW9uIHN5c3RlbSBzaG91bGQgYmUgZGVzaWduZWQgdG8gZW5zdXJlIHRoYXQgdGhlcmUgaXMgYSBjb21wbGV0ZSBjb250cm9sIG92ZXIgYW55IGdhbHZhbmljIGNvdXBsaW5nIGFuZCBtaW5pbWl6ZSByaXNrcyBkdWUgdG8gaHlkcm9nZW4gZW1icml0dGxlbWVudCBvciBoeWRyb2dlbi1pbmR1Y2VkIGNyYWNraW5nIChzZWUgSVNPIDEyNDczICkuIElTTyAxMzE3NDoyMDEyIGRvZXMgbm90IGFkZHJlc3Mgc3RlZWwgcmVpbmZvcmNlZCBjb25jcmV0ZSBzdHJ1Y3R1cmVzIChzZWUgRU4gMTI2OTYpLiBJU08gMTMxNzQ6MjAxMiBpcyBhcHBsaWNhYmxlIHRvIHRoZSB3aG9sZSBzdWJtZXJnZWQgem9uZSBpbiBzZWF3YXRlciwgYnJhY2tpc2ggd2F0ZXJzIGFuZCBzYWxpbmUgbXVkIGFuZCByZWxhdGVkIGJ1cmllZCBhcmVhcyB3aGljaCBjYW4gbm9ybWFsbHkgYmUgZm91bmQgaW4gcG9ydCwgaGFyYm91ciwgY29hc3RhbCBhbmQgZmxvb2QgZGVmZW5jZSBpbnN0YWxsYXRpb25zIHdoZXJldmVyIHRoZXNlIHN0cnVjdHVyZXMgYXJlIGZpeGVkIG9yIGZsb2F0aW5nLiBGb3Igc3VyZmFjZXMgd2hpY2ggYXJlIGFsdGVybmF0ZWx5IGltbWVyc2VkIGFuZCBleHBvc2VkIHRvIHRoZSBhdG1vc3BoZXJlLCB0aGUgY2F0aG9kaWMgcHJvdGVjdGlvbiBpcyBvbmx5IGVmZmVjdGl2ZSB3aGVuIHRoZSBpbW1lcnNpb24gdGltZSBpcyBsb25nIGVub3VnaCBmb3IgdGhlIHN0ZWVsIHRvIGJlY29tZSBwb2xhcml6ZWQuIFR5cGljYWxseSwgZWZmZWN0aXZlIGNhdGhvZGljIHByb3RlY3Rpb24gaXMgYWNoaWV2ZWQgZm9yIGFsbCBzdXJmYWNlcyBiZWxvdyBtaWQgdGlkZS4gRm9yIHN0cnVjdHVyZXMgc3VjaCBhcyBzaGVldCBzdGVlbCBhbmQgdHVidWxhciBzdGVlbCBwaWxlcyB0aGF0IGFyZSBkcml2ZW4gaW50byB0aGUgc2VhIGJlZCBvciB0aG9zZSB0aGF0IGFyZSBwYXJ0aWFsbHkgYnVyaWVkIG9yIGNvdmVyZWQgaW4gbXVkLCBJU08gMTMxNzQ6MjAxMiBpcyBhbHNvIGFwcGxpY2FibGUgdG8gdGhlIHN1cmZhY2VzIGJ1cmllZCwgZHJpdmVuIGFuZCBleHBvc2VkIHRvIG11ZCB3aGljaCBhcmUgaW50ZW5kZWQgdG8gcmVjZWl2ZSBjYXRob2RpYyBwcm90ZWN0aW9uIGFsb25nIHdpdGggc3VyZmFjZXMgaW1tZXJzZWQgaW4gd2F0ZXIuIENhdGhvZGljIHByb3RlY3Rpb24gbWF5IGFsc28gYmUgYXBwbGllZCB0byB0aGUgcmVhciBmYWNlcyBvZiBzaGVldCBzdGVlbCBwaWxlZCB3YWxscyBhbmQgdGhlIGludGVybmFsIHN1cmZhY2VzIG9mIGZpbGxlZCBjYWlzc29ucy4gQ2F0aG9kaWMgcHJvdGVjdGlvbiBvZiBzdWNoIHN1cmZhY2VzIGlzIHNwZWNpZmllZCBieSBFTiAxMjk1NC4gIiwib2JqZWN0SUQiOiI1MzY2MF8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT43NDoyMDEyIENhdGhvZGljIHByb3RlY3Rpb24gb2YgaGFyYm91ciBpbnN0YWxsYXRpb25zIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT43NDoyMDEyIGRlZmluZXMgdGhlIG1lYW5zIHRvIGJlIHVzZWQgdG8gZW5zdXJlIHRoYXQgY2F0aG9kaWMgcHJvdGVjdGlvbiBpcyBlZmZpY2llbnRseSBhcHBsaWVkIHRvIHRoZSBpbW1lcnNlZCBhbmQgZHJpdmVuL2J1cmllZCBtZXRhbGxpYyBleHRlcm5hbCBzdXJmYWNlcyBvZiBzdGVlbCBwb3J0LCBoYXJib3VyLCBjb2FzdGFsIGFuZCBmbG9vZCBkZWZlbmNlIGluc3RhbGxhdGlvbnMgYW5kIGFwcHVydGVuYW5jZXMgaW4gc2Vhd2F0ZXIgYW5kIHNhbGluZSBtdWQgdG8gcHJvdmlkZSBwcm90ZWN0aW9uIGZyb20gY29ycm9zaW9uLiA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NzQ6MjAxMiBzcGVjaWZpZXMgY2F0aG9kaWMgcHJvdGVjdGlvbiBvZiBmaXhlZCBhbmQgZmxvYXRpbmcgcG9ydCBhbmQgaGFyYm91ciBzdHJ1Y3R1cmVzLiBUaGlzIGluY2x1ZGVzIHBpZXJzLCBqZXR0aWVzLCBkb2xwaGlucyAobW9vcmluZyBhbmQgYmVydGhpbmcpLCBzaGVldCBvciB0dWJ1bGFyIHBpbGluZywgcG9udG9vbnMsIGJ1b3lzLCBmbG9hdGluZyBkb2NrcywgbG9jayBhbmQgc2x1aWNlIGdhdGVzLiBJdCBhbHNvIHNwZWNpZmllcyBjYXRob2RpYyBwcm90ZWN0aW9uIG9mIHRoZSBzdWJtZXJnZWQgYXJlYXMgb2YgYXBwdXJ0ZW5hbmNlcywgc3VjaCBhcyBjaGFpbnMgYXR0YWNoZWQgdG8gdGhlIHN0cnVjdHVyZSwgd2hlbiB0aGVzZSBhcmUgbm90IGVsZWN0cmljYWxseSBpc29sYXRlZCBmcm9tIHRoZSBzdHJ1Y3R1cmUuIDxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT43NDoyMDEyIGlzIHRvIGJlIHVzZWQgaW4gcmVzcGVjdCBvZiBjYXRob2RpYyBwcm90ZWN0aW9uIHN5c3RlbXMgd2hlcmUgdGhlIGFub2RlcyBhcmUgZXhwb3NlZCB0byB3YXRlciBvciBzYWxpbmUgbXVkLiBGb3IgYnVyaWVkIGFyZWFzLCB0eXBpY2FsbHkgaW4gc29pbCBvciBzYW5kIGZpbGxlZCBhcmVhcyBiZWhpbmQgcGlsZWQgd2FsbHMgb3Igd2l0aGluIGZpbGxlZCBjYWlzc29ucywgd2hpY2ggbWF5IGJlIHNpZ25pZmljYW50bHkgYWZmZWN0ZWQgYnkgY29ycm9zaW9uLCBzcGVjaWZpYyBjYXRob2RpYyBwcm90ZWN0aW9uIGRlc2lnbiBhbmQgb3BlcmF0aW9uIHJlcXVpcmVtZW50cyBhcmUgZGVmaW5lZCBpbiBFTiAxMjk1NCwgdGhlIGFub2RlcyBiZWluZyBleHBvc2VkIHRvIHNvaWxzLiA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NzQ6MjAxMiBkb2VzIG5vdCBjb3ZlciB0aGUgY2F0aG9kaWMgcHJvdGVjdGlvbiBvZiBmaXhlZCBvciBmbG9hdGluZyBvZmZzaG9yZSBzdHJ1Y3R1cmVzIChpbmNsdWRpbmcgb2Zmc2hvcmUgbG9hZGluZyBidW95cyksIHN1Ym1hcmluZSBwaXBlbGluZXMgb3Igc2hpcHMuIDxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT43NDoyMDEyIGRvZXMgbm90IGluY2x1ZGUgdGhlIGludGVybmFsIHByb3RlY3Rpb24gb2Ygc3VyZmFjZXMgb2YgYW55IGNvbXBvbmVudHMgc3VjaCBhcyBiYWxsYXN0IHRhbmtzLCBpbnRlcm5hbHMgb2YgZmxvYXRpbmcgc3RydWN0dXJlcyBmbG9vZGVkIGNvbXBhcnRtZW50cyBvZiBsb2NrIGFuZCBzbHVpY2UgZ2F0ZXMgb3IgdGhlIGludGVybmFscyBvZiB0dWJ1bGFyIHN0ZWVsIHBpbGVzLiA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NzQ6MjAxMiBjb3ZlcnMgdGhlIGNhdGhvZGljIHByb3RlY3Rpb24gb2Ygc3RydWN0dXJlcyBmYWJyaWNhdGVkIHByaW5jaXBhbGx5IGZyb20gYmFyZSBvciBjb2F0ZWQgY2FyYm9uIGFuZCBjYXJib24gbWFuZ2FuZXNlIHN0ZWVscy4gQXMgc29tZSBwYXJ0cyBvZiB0aGUgc3RydWN0dXJlIG1heSBiZSBtYWRlIG9mIG1ldGFsbGljIG1hdGVyaWFscyBvdGhlciB0aGFuIGNhcmJvbiBzdGVlbHMsIHRoZSBjYXRob2RpYyBwcm90ZWN0aW9uIHN5c3RlbSBzaG91bGQgYmUgZGVzaWduZWQgdG8gZW5zdXJlIHRoYXQgdGhlcmUgaXMgYSBjb21wbGV0ZSBjb250cm9sIG92ZXIgYW55IGdhbHZhbmljIGNvdXBsaW5nIGFuZCBtaW5pbWl6ZSByaXNrcyBkdWUgdG8gaHlkcm9nZW4gZW1icml0dGxlbWVudCBvciBoeWRyb2dlbi1pbmR1Y2VkIGNyYWNraW5nIChzZWUgPGVtPklTTzwvZW0+IDEyNDczICkuIDxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT43NDoyMDEyIGRvZXMgbm90IGFkZHJlc3Mgc3RlZWwgcmVpbmZvcmNlZCBjb25jcmV0ZSBzdHJ1Y3R1cmVzIChzZWUgRU4gMTI2OTYpLiA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NzQ6MjAxMiBpcyBhcHBsaWNhYmxlIHRvIHRoZSB3aG9sZSBzdWJtZXJnZWQgem9uZSBpbiBzZWF3YXRlciwgYnJhY2tpc2ggd2F0ZXJzIGFuZCBzYWxpbmUgbXVkIGFuZCByZWxhdGVkIGJ1cmllZCBhcmVhcyB3aGljaCBjYW4gbm9ybWFsbHkgYmUgZm91bmQgaW4gcG9ydCwgaGFyYm91ciwgY29hc3RhbCBhbmQgZmxvb2QgZGVmZW5jZSBpbnN0YWxsYXRpb25zIHdoZXJldmVyIHRoZXNlIHN0cnVjdHVyZXMgYXJlIGZpeGVkIG9yIGZsb2F0aW5nLiBGb3Igc3VyZmFjZXMgd2hpY2ggYXJlIGFsdGVybmF0ZWx5IGltbWVyc2VkIGFuZCBleHBvc2VkIHRvIHRoZSBhdG1vc3BoZXJlLCB0aGUgY2F0aG9kaWMgcHJvdGVjdGlvbiBpcyBvbmx5IGVmZmVjdGl2ZSB3aGVuIHRoZSBpbW1lcnNpb24gdGltZSBpcyBsb25nIGVub3VnaCBmb3IgdGhlIHN0ZWVsIHRvIGJlY29tZSBwb2xhcml6ZWQuIFR5cGljYWxseSwgZWZmZWN0aXZlIGNhdGhvZGljIHByb3RlY3Rpb24gaXMgYWNoaWV2ZWQgZm9yIGFsbCBzdXJmYWNlcyBiZWxvdyBtaWQgdGlkZS4gRm9yIHN0cnVjdHVyZXMgc3VjaCBhcyBzaGVldCBzdGVlbCBhbmQgdHVidWxhciBzdGVlbCBwaWxlcyB0aGF0IGFyZSBkcml2ZW4gaW50byB0aGUgc2VhIGJlZCBvciB0aG9zZSB0aGF0IGFyZSBwYXJ0aWFsbHkgYnVyaWVkIG9yIGNvdmVyZWQgaW4gbXVkLCA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NzQ6MjAxMiBpcyBhbHNvIGFwcGxpY2FibGUgdG8gdGhlIHN1cmZhY2VzIGJ1cmllZCwgZHJpdmVuIGFuZCBleHBvc2VkIHRvIG11ZCB3aGljaCBhcmUgaW50ZW5kZWQgdG8gcmVjZWl2ZSBjYXRob2RpYyBwcm90ZWN0aW9uIGFsb25nIHdpdGggc3VyZmFjZXMgaW1tZXJzZWQgaW4gd2F0ZXIuIENhdGhvZGljIHByb3RlY3Rpb24gbWF5IGFsc28gYmUgYXBwbGllZCB0byB0aGUgcmVhciBmYWNlcyBvZiBzaGVldCBzdGVlbCBwaWxlZCB3YWxscyBhbmQgdGhlIGludGVybmFsIHN1cmZhY2VzIG9mIGZpbGxlZCBjYWlzc29ucy4gQ2F0aG9kaWMgcHJvdGVjdGlvbiBvZiBzdWNoIHN1cmZhY2VzIGlzIHNwZWNpZmllZCBieSBFTiAxMjk1NC4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDUvMzQvNTM0NDkiLCJ1dWlkIjoiODVhMzhiNmYtMjE0NS00ZDM2LWEzNjgtNmZkNGE3MDJkNjM2IiwidGl0bGUiOiJJU08gMTMxODM6MjAxMiBJbnRlbGxpZ2VudCB0cmFuc3BvcnQgc3lzdGVtcyDigJQgQ29tbXVuaWNhdGlvbnMgYWNjZXNzIGZvciBsYW5kIG1vYmlsZXMgKENBTE0pIOKAlCBVc2luZyBicm9hZGNhc3QgY29tbXVuaWNhdGlvbnMiLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDE4LCJvcmRlciI6MTEsInRleHQiOiJJU08gMTMxODM6MjAxMiBzcGVjaWZpZXMgdGhlIGFyY2hpdGVjdHVyYWwgY29tbXVuaWNhdGlvbnMgZnJhbWV3b3JrIG9mIGludGVsbGlnZW50IHRyYW5zcG9ydCBzeXN0ZW1zIChJVFMpIGZvciB0aGUgZmFtaWx5IG9mIGNvbW11bmljYXRpb25zIGFjY2VzcyBmb3IgbGFuZCBtb2JpbGVzIChDQUxNKSByZWxhdGVkIEludGVybmF0aW9uYWwgU3RhbmRhcmRzLiBUaGUgYXJjaGl0ZWN0dXJlIGlzIGRlc2NyaWJlZCBpbiBhbiBhYnN0cmFjdCB3YXkgd2l0aCBzZXZlcmFsIGdyYXBoaWNhbCB2aWV3cyBhbmQgZXhhbXBsZXMuIFRoZSBncmFwaGljYWwgcmVwcmVzZW50YXRpb25zIHBhcnRseSBmb2xsb3cgdGhlIElTTyBvcGVuIHN5c3RlbXMgaW50ZXJjb25uZWN0aW9uIChPU0kpIHByaW5jaXBsZXMuIEluIGFkZGl0aW9uIHRvIHRoZSByZXF1aXJlbWVudHMgc3BlY2lmaWVkIHdpdGhpbiBJU08gMTMxODM6MjAxMiwgYSBudW1iZXIgb2Ygbm90ZXMgYW5kIGV4YW1wbGVzIGFyZSBwcm92aWRlZCB0byBpbGx1c3RyYXRlIHRoZSBDQUxNIGNvbmNlcHQuICIsIm9iamVjdElEIjoiNTM0NDlfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+ODM6MjAxMiBJbnRlbGxpZ2VudCB0cmFuc3BvcnQgc3lzdGVtcyDigJQgQ29tbXVuaWNhdGlvbnMgYWNjZXNzIGZvciBsYW5kIG1vYmlsZXMgKENBTE0pIOKAlCBVc2luZyBicm9hZGNhc3QgY29tbXVuaWNhdGlvbnMiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjgzOjIwMTIgc3BlY2lmaWVzIHRoZSBhcmNoaXRlY3R1cmFsIGNvbW11bmljYXRpb25zIGZyYW1ld29yayBvZiBpbnRlbGxpZ2VudCB0cmFuc3BvcnQgc3lzdGVtcyAoSVRTKSBmb3IgdGhlIGZhbWlseSBvZiBjb21tdW5pY2F0aW9ucyBhY2Nlc3MgZm9yIGxhbmQgbW9iaWxlcyAoQ0FMTSkgcmVsYXRlZCBJbnRlcm5hdGlvbmFsIFN0YW5kYXJkcy4gVGhlIGFyY2hpdGVjdHVyZSBpcyBkZXNjcmliZWQgaW4gYW4gYWJzdHJhY3Qgd2F5IHdpdGggc2V2ZXJhbCBncmFwaGljYWwgdmlld3MgYW5kIGV4YW1wbGVzLiBUaGUgZ3JhcGhpY2FsIHJlcHJlc2VudGF0aW9ucyBwYXJ0bHkgZm9sbG93IHRoZSA8ZW0+SVNPPC9lbT4gb3BlbiBzeXN0ZW1zIGludGVyY29ubmVjdGlvbiAoT1NJKSBwcmluY2lwbGVzLiBJbiBhZGRpdGlvbiB0byB0aGUgcmVxdWlyZW1lbnRzIHNwZWNpZmllZCB3aXRoaW4gPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjgzOjIwMTIsIGEgbnVtYmVyIG9mIG5vdGVzIGFuZCBleGFtcGxlcyBhcmUgcHJvdmlkZWQgdG8gaWxsdXN0cmF0ZSB0aGUgQ0FMTSBjb25jZXB0LiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNS8zNC81MzQwMSIsInV1aWQiOiIyMzY4OGMzYS0zYWMzLTRhMWItYTMyYi03MmY1NGQxOTExYTQiLCJ0aXRsZSI6IklTTyAxMzE1MzoyMDEyIEZyYW1ld29yayBvZiB0aGUgZGVzaWduIHByb2Nlc3MgZm9yIGVuZXJneS1zYXZpbmcgc2luZ2xlLWZhbWlseSByZXNpZGVudGlhbCBhbmQgc21hbGwgY29tbWVyY2lhbCBidWlsZGluZ3MiLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDE4LCJvcmRlciI6MTEsInRleHQiOiJJU08gMTMxNTM6MjAxMiBzcGVjaWZpZXMgYSBmcmFtZXdvcmsgb2YgdGhlIGRlc2lnbiBwcm9jZXNzIGZvciBlbmVyZ3ktc2F2aW5nIHNpbmdsZS1mYW1pbHkgcmVzaWRlbnRpYWwgYW5kIHNtYWxsIGNvbW1lcmNpYWwgYnVpbGRpbmdzLCB3aXRoIHRoZSBlbmVyZ3kgY29uc3VtcHRpb24gcmF0aW8gYXMgdGhlIGtleSBjcml0ZXJpb24uIEl0IGlzIGludGVuZGVkIHRvIGFzc2lzdCBpbiB0aGUgZGV2ZWxvcG1lbnQgb2YgZGVzaWduIGd1aWRlbGluZXMgZm9yIHByYWN0aXRpb25lcnMgd2hvIGRlc2lnbiBlbmVyZ3ktcmVsYXRlZCBwYXJ0cyBvZiBidWlsZGluZ3MuICIsIm9iamVjdElEIjoiNTM0MDFfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NTM6MjAxMiBGcmFtZXdvcmsgb2YgdGhlIGRlc2lnbiBwcm9jZXNzIGZvciBlbmVyZ3ktc2F2aW5nIHNpbmdsZS1mYW1pbHkgcmVzaWRlbnRpYWwgYW5kIHNtYWxsIGNvbW1lcmNpYWwgYnVpbGRpbmdzIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT41MzoyMDEyIHNwZWNpZmllcyBhIGZyYW1ld29yayBvZiB0aGUgZGVzaWduIHByb2Nlc3MgZm9yIGVuZXJneS1zYXZpbmcgc2luZ2xlLWZhbWlseSByZXNpZGVudGlhbCBhbmQgc21hbGwgY29tbWVyY2lhbCBidWlsZGluZ3MsIHdpdGggdGhlIGVuZXJneSBjb25zdW1wdGlvbiByYXRpbyBhcyB0aGUga2V5IGNyaXRlcmlvbi4gSXQgaXMgaW50ZW5kZWQgdG8gYXNzaXN0IGluIHRoZSBkZXZlbG9wbWVudCBvZiBkZXNpZ24gZ3VpZGVsaW5lcyBmb3IgcHJhY3RpdGlvbmVycyB3aG8gZGVzaWduIGVuZXJneS1yZWxhdGVkIHBhcnRzIG9mIGJ1aWxkaW5ncy4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDUvMzAvNTMwNTAiLCJ1dWlkIjoiMmI2NGE4MDYtNGFlYS00MTlhLWE2YTAtN2QxNjhiYjlhYmFiIiwidGl0bGUiOiJJU08gMTMxMjk6MjAxMiBQYWludHMgYW5kIHZhcm5pc2hlcyDigJQgRWxlY3Ryb2NoZW1pY2FsIG1lYXN1cmVtZW50IG9mIHRoZSBwcm90ZWN0aW9uIHByb3ZpZGVkIHRvIHN0ZWVsIGJ5IHBhaW50IGNvYXRpbmdzIOKAlCBDdXJyZW50IGludGVycnVwdGVyIChDSSkgdGVjaG5pcXVlLCByZWxheGF0aW9uIHZvbHRhbW1ldHJ5IChSVikgdGVjaG5pcXVlIGFuZCBEQyB0cmFuc2llbnQgKERDVCkgbWVhc3VyZW1lbnRzIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAxOCwib3JkZXIiOjExLCJ0ZXh0IjoiMSBTY29wZSBUaGlzIEludGVybmF0aW9uYWwgU3RhbmRhcmQgc3BlY2lmaWVzIHRoZSBwcm9jZWR1cmUgZm9yIGV2YWx1YXRpb24gb2YgdGhlIGV4cGVyaW1lbnRhbCBzZXQtdXAgb2YgZWxlY3Ryb2NoZW1pY2FsIG1lYXN1cmVtZW50cyBvbiBoaWdoLWltcGVkYW5jZSBjb2F0ZWQgc2FtcGxlcyB1c2luZyBtZXRob2RzIHRoYXQgYXJlIGJhc2VkIG9uIHRoZSBjdXJyZW50IGludGVycnVwdGVyIChDSSkgdGVjaG5pcXVlLCByZWxheGF0aW9uIHZvbHRhbW1ldHJ5IChSVikgb3IgREMgdHJhbnNpZW50IChEQ1QpIG1lYXN1cmVtZW50cy4gSXQgcHJvdmlkZXMgc3BlY2lmaWMgZGVmaW5pdGlvbnMgYW5kIGd1aWRhbmNlIG9uIG9wdGltaXppbmcgdGhlIGNvbGxlY3Rpb24gb2YgQ0ksIFJWIGFuZCBEQ1QgZGF0YSBmcm9tIGhpZ2hpbXBlZGFuY2Ugc3lzdGVtcy4gSGlnaCBpbXBlZGFuY2UgaW4gdGhlIGNvbnRleHQgb2YgaW50YWN0IGNvYXRpbmdzIHJlZmVycyB0byBzeXN0ZW1zIHdpdGggYW4gaW1wZWRhbmNlIGdyZWF0ZXIgdGhhbiAxMDkgzqkvY20yLiBUaGlzIGRvZXMgbm90IHByZWNsdWRlIG1lYXN1cmVtZW50cyBvbiBzeXN0ZW1zIHdpdGggbG93ZXIgaW1wZWRhbmNlLiBUaGlzIEludGVybmF0aW9uYWwgU3RhbmRhcmQgZGVhbHMgaW4gcGFydGljdWxhciB3aXRoOiDigJQgaW5zdHJ1bWVudGFsIHNldC11cDogcmVxdWlyZW1lbnRzIGFuZCBzaG9ydGNvbWluZ3M7IOKAlCBkYXRhIHZhbGlkYXRpb246IGNoZWNraW5nIHRoZSBtZWFzdXJlbWVudCByYW5nZSBhbmQgdGhlIGFjY3VyYWN5IG9mIHRoZSBkYXRhOyDigJQgcGVyZm9ybWluZyBDSSwgUlYsIERDVCBtZWFzdXJlbWVudHM6IHNwZWNpbWVuIGNvbnNpZGVyYXRpb25zIGFuZCBpbnN0cnVtZW50YWwgcGFyYW1ldGVyczsg4oCUIHRoZSBleHBlcmltZW50YWwgcmVzdWx0czogZGlmZmVyZW50IG1ldGhvZHMgb2YgcHJlc2VudGluZyBDSSwgUlYgYW5kIERDVCBkYXRhLiBGb2xsb3dpbmcgdGhlIHJlY29tbWVuZGF0aW9ucyBzaG91bGQgZW5zdXJlIHRoZSBhY3F1aXNpdGlvbiBvZiBDSSwgUlYgYW5kIERDVCBkYXRhIHRoYXQgY2FuIGJlIHVzZWQgdG8gc3R1ZHkgdGhlIHBlcmZvcm1hbmNlIG9mIHRoZSBzcGVjaW1lbi4gVGhpcyBJbnRlcm5hdGlvbmFsIFN0YW5kYXJkIGRvZXMgbm90IGdpdmUgZ3VpZGVsaW5lcyBmb3IgdGhlIGludGVycHJldGF0aW9uIG9mIHRoZSBkYXRhLiAiLCJvYmplY3RJRCI6IjUzMDUwXzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjI5OjIwMTIgUGFpbnRzIGFuZCB2YXJuaXNoZXMg4oCUIEVsZWN0cm9jaGVtaWNhbCBtZWFzdXJlbWVudCBvZiB0aGUgcHJvdGVjdGlvbiBwcm92aWRlZCB0byBzdGVlbCBieSBwYWludCBjb2F0aW5ncyDigJQgQ3VycmVudCBpbnRlcnJ1cHRlciAoQ0kpIHRlY2huaXF1ZSwgcmVsYXhhdGlvbiB2b2x0YW1tZXRyeSAoUlYpIHRlY2huaXF1ZSBhbmQgREMgdHJhbnNpZW50IChEQ1QpIG1lYXN1cmVtZW50cyIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiIxIFNjb3BlIFRoaXMgSW50ZXJuYXRpb25hbCBTdGFuZGFyZCBzcGVjaWZpZXMgdGhlIHByb2NlZHVyZSBmb3IgZXZhbHVhdGlvbiBvZiB0aGUgZXhwZXJpbWVudGFsIHNldC11cCBvZiBlbGVjdHJvY2hlbWljYWwgbWVhc3VyZW1lbnRzIG9uIGhpZ2gtaW1wZWRhbmNlIGNvYXRlZCBzYW1wbGVzIHVzaW5nIG1ldGhvZHMgdGhhdCBhcmUgYmFzZWQgb24gdGhlIGN1cnJlbnQgaW50ZXJydXB0ZXIgKENJKSB0ZWNobmlxdWUsIHJlbGF4YXRpb24gdm9sdGFtbWV0cnkgKFJWKSBvciBEQyB0cmFuc2llbnQgKERDVCkgbWVhc3VyZW1lbnRzLiBJdCBwcm92aWRlcyBzcGVjaWZpYyBkZWZpbml0aW9ucyBhbmQgZ3VpZGFuY2Ugb24gb3B0aW1pemluZyB0aGUgY29sbGVjdGlvbiBvZiBDSSwgUlYgYW5kIERDVCBkYXRhIGZyb20gaGlnaGltcGVkYW5jZSBzeXN0ZW1zLiBIaWdoIGltcGVkYW5jZSBpbiB0aGUgY29udGV4dCBvZiBpbnRhY3QgY29hdGluZ3MgcmVmZXJzIHRvIHN5c3RlbXMgd2l0aCBhbiBpbXBlZGFuY2UgZ3JlYXRlciB0aGFuIDEwOSDOqS9jbTIuIFRoaXMgZG9lcyBub3QgcHJlY2x1ZGUgbWVhc3VyZW1lbnRzIG9uIHN5c3RlbXMgd2l0aCBsb3dlciBpbXBlZGFuY2UuIFRoaXMgSW50ZXJuYXRpb25hbCBTdGFuZGFyZCBkZWFscyBpbiBwYXJ0aWN1bGFyIHdpdGg6IOKAlCBpbnN0cnVtZW50YWwgc2V0LXVwOiByZXF1aXJlbWVudHMgYW5kIHNob3J0Y29taW5nczsg4oCUIGRhdGEgdmFsaWRhdGlvbjogY2hlY2tpbmcgdGhlIG1lYXN1cmVtZW50IHJhbmdlIGFuZCB0aGUgYWNjdXJhY3kgb2YgdGhlIGRhdGE7IOKAlCBwZXJmb3JtaW5nIENJLCBSViwgRENUIG1lYXN1cmVtZW50czogc3BlY2ltZW4gY29uc2lkZXJhdGlvbnMgYW5kIGluc3RydW1lbnRhbCBwYXJhbWV0ZXJzOyDigJQgdGhlIGV4cGVyaW1lbnRhbCByZXN1bHRzOiBkaWZmZXJlbnQgbWV0aG9kcyBvZiBwcmVzZW50aW5nIENJLCBSViBhbmQgRENUIGRhdGEuIEZvbGxvd2luZyB0aGUgcmVjb21tZW5kYXRpb25zIHNob3VsZCBlbnN1cmUgdGhlIGFjcXVpc2l0aW9uIG9mIENJLCBSViBhbmQgRENUIGRhdGEgdGhhdCBjYW4gYmUgdXNlZCB0byBzdHVkeSB0aGUgcGVyZm9ybWFuY2Ugb2YgdGhlIHNwZWNpbWVuLiBUaGlzIEludGVybmF0aW9uYWwgU3RhbmRhcmQgZG9lcyBub3QgZ2l2ZSBndWlkZWxpbmVzIGZvciB0aGUgaW50ZXJwcmV0YXRpb24gb2YgdGhlIGRhdGEuICIsIm1hdGNoTGV2ZWwiOiJub25lIiwibWF0Y2hlZFdvcmRzIjpbXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA1LzMwLzUzMDA5IiwidXVpZCI6IjE5OTJlOGRmLWExZDctNGY1Yy1iNGZlLTRmOGVkZDk5N2IyZSIsInRpdGxlIjoiSVNPIDEzMTI1OjIwMTMgRmluZSBjZXJhbWljcyAoYWR2YW5jZWQgY2VyYW1pY3MsIGFkdmFuY2VkIHRlY2huaWNhbCBjZXJhbWljcykg4oCUIFRlc3QgbWV0aG9kIGZvciBhbnRpZnVuZ2FsIGFjdGl2aXR5IG9mIHNlbWljb25kdWN0aW5nIHBob3RvY2F0YWx5dGljIG1hdGVyaWFscyIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMTgsIm9yZGVyIjoxMSwidGV4dCI6IklTTyAxMzEyNToyMDEzIHNwZWNpZmllcyBhIHRlc3QgbWV0aG9kIGNvdmVyaW5nIHRoZSBkZXRlcm1pbmF0aW9uIG9mIHRoZSBhbnRpZnVuZ2FsIGFjdGl2aXR5IG9mIG1hdGVyaWFscyB0aGF0IGNvbnRhaW4gYSBwaG90b2NhdGFseXN0IG9yIGhhdmUgcGhvdG9jYXRhbHl0aWMgZmlsbXMgb24gdGhlaXIgc3VyZmFjZSwgYnkgY291bnRpbmcgdGhlIG51bWJlciBvZiBwcmUtaW5jdWJhdGVkIGZ1bmdhbCBzcG9yZXMgdGhhdCBzdXJ2aXZlIGV4cG9zdXJlIHRvIHVsdHJhdmlvbGV0IChVVi1BKSBsaWdodC4gSVNPIDEzMTI1OjIwMTMgcHJvdmlkZXMgZm9yIHRoZSBhc3Nlc3NtZW50IG9mIGRpZmZlcmVudCBraW5kcyBvbiBtYXRlcmlhbHMgdXNlZCBpbiB2YXJpb3VzIGFwcGxpY2F0aW9ucywgc3VjaCBhcyBjb25zdHJ1Y3Rpb24gbWF0ZXJpYWxzIGluIGZsYXQgY29hdGluZywgc2hlZXQsIGJvYXJkIG9yIHBsYXRlIGZvcm0sIGV0Yy4gUG93ZGVyLCBncmFudWxhciwgZmlicm91cyBvciBwb3JvdXMgcGhvdG9jYXRhbHl0aWMgbWF0ZXJpYWxzIGFyZSBub3QgaW5jbHVkZWQuIFZhbHVlcyBleHByZXNzZWQgaW4gSVNPIDEzMTI1OjIwMTMgYXJlIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgSW50ZXJuYXRpb25hbCBTeXN0ZW0gb2YgVW5pdHMgKFNJKS4gIiwib2JqZWN0SUQiOiI1MzAwOV8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT4yNToyMDEzIEZpbmUgY2VyYW1pY3MgKGFkdmFuY2VkIGNlcmFtaWNzLCBhZHZhbmNlZCB0ZWNobmljYWwgY2VyYW1pY3MpIOKAlCBUZXN0IG1ldGhvZCBmb3IgYW50aWZ1bmdhbCBhY3Rpdml0eSBvZiBzZW1pY29uZHVjdGluZyBwaG90b2NhdGFseXRpYyBtYXRlcmlhbHMiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjI1OjIwMTMgc3BlY2lmaWVzIGEgdGVzdCBtZXRob2QgY292ZXJpbmcgdGhlIGRldGVybWluYXRpb24gb2YgdGhlIGFudGlmdW5nYWwgYWN0aXZpdHkgb2YgbWF0ZXJpYWxzIHRoYXQgY29udGFpbiBhIHBob3RvY2F0YWx5c3Qgb3IgaGF2ZSBwaG90b2NhdGFseXRpYyBmaWxtcyBvbiB0aGVpciBzdXJmYWNlLCBieSBjb3VudGluZyB0aGUgbnVtYmVyIG9mIHByZS1pbmN1YmF0ZWQgZnVuZ2FsIHNwb3JlcyB0aGF0IHN1cnZpdmUgZXhwb3N1cmUgdG8gdWx0cmF2aW9sZXQgKFVWLUEpIGxpZ2h0LiA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+MjU6MjAxMyBwcm92aWRlcyBmb3IgdGhlIGFzc2Vzc21lbnQgb2YgZGlmZmVyZW50IGtpbmRzIG9uIG1hdGVyaWFscyB1c2VkIGluIHZhcmlvdXMgYXBwbGljYXRpb25zLCBzdWNoIGFzIGNvbnN0cnVjdGlvbiBtYXRlcmlhbHMgaW4gZmxhdCBjb2F0aW5nLCBzaGVldCwgYm9hcmQgb3IgcGxhdGUgZm9ybSwgZXRjLiBQb3dkZXIsIGdyYW51bGFyLCBmaWJyb3VzIG9yIHBvcm91cyBwaG90b2NhdGFseXRpYyBtYXRlcmlhbHMgYXJlIG5vdCBpbmNsdWRlZC4gVmFsdWVzIGV4cHJlc3NlZCBpbiA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+MjU6MjAxMyBhcmUgaW4gYWNjb3JkYW5jZSB3aXRoIHRoZSBJbnRlcm5hdGlvbmFsIFN5c3RlbSBvZiBVbml0cyAoU0kpLiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNS8yOS81Mjk3OSIsInV1aWQiOiJhNGEwN2E5OC1lYzljLTRiYWQtYjNkYy0wOGYzODQyMjEyNjciLCJ0aXRsZSI6IklTTyAxMzEyMjoyMDExIFNoaXBzIGFuZCBtYXJpbmUgdGVjaG5vbG9neSDigJQgTGF1bmNoaW5nIGFwcGxpYW5jZXMgZm9yIGRhdml0LWxhdW5jaGVkIGxpZmVyYWZ0cyIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMTgsIm9yZGVyIjoxMSwidGV4dCI6IklTTyAxMzEyMjoyMDExIHNwZWNpZmllcyByZXF1aXJlbWVudHMgZm9yIHRoZSBwZXJmb3JtYW5jZSwgZGVzaWduLCBjb25zdHJ1Y3Rpb24sIG9wZXJhdGlvbiwgc2FmZXR5LCBpbnNwZWN0aW9uLCBtYWludGVuYW5jZSwgYW5kIHRlc3RpbmcgYW5kIGFjY2VwdGFuY2Ugb2YgbGF1bmNoaW5nIGFwcGxpYW5jZXMgZm9yIGRhdml0LWxhdW5jaGVkIGxpZmVyYWZ0cyBpbnN0YWxsZWQgb24gYSB2YXJpZXR5IG9mIHNlYS1nb2luZyBzaGlwcy4gIiwib2JqZWN0SUQiOiI1Mjk3OV8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT4yMjoyMDExIFNoaXBzIGFuZCBtYXJpbmUgdGVjaG5vbG9neSDigJQgTGF1bmNoaW5nIGFwcGxpYW5jZXMgZm9yIGRhdml0LWxhdW5jaGVkIGxpZmVyYWZ0cyIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+MjI6MjAxMSBzcGVjaWZpZXMgcmVxdWlyZW1lbnRzIGZvciB0aGUgcGVyZm9ybWFuY2UsIGRlc2lnbiwgY29uc3RydWN0aW9uLCBvcGVyYXRpb24sIHNhZmV0eSwgaW5zcGVjdGlvbiwgbWFpbnRlbmFuY2UsIGFuZCB0ZXN0aW5nIGFuZCBhY2NlcHRhbmNlIG9mIGxhdW5jaGluZyBhcHBsaWFuY2VzIGZvciBkYXZpdC1sYXVuY2hlZCBsaWZlcmFmdHMgaW5zdGFsbGVkIG9uIGEgdmFyaWV0eSBvZiBzZWEtZ29pbmcgc2hpcHMuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA1LzI5LzUyOTUxIiwidXVpZCI6IjllZmVhNzE2LWI4NDYtNDFkNS04ZDgzLTE0MmUyZGUzY2E4MyIsInRpdGxlIjoiSVNPIDEzMTE5OjIwMTIgSGVhbHRoIGluZm9ybWF0aWNzIOKAlCBDbGluaWNhbCBrbm93bGVkZ2UgcmVzb3VyY2VzIOKAlCBNZXRhZGF0YSIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMTgsIm9yZGVyIjoxMSwidGV4dCI6IklTTyAxMzExOToyMDEyIHNwZWNpZmllcyBhIG51bWJlciBvZiBtZXRhZGF0YSBlbGVtZW50cyB0aGF0IGRlc2NyaWJlIHJlc291cmNlcyBjb250YWluaW5nIG1lZGljYWwga25vd2xlZGdlLiBJdCBpcyBwcmltYXJpbHkgYXBwbGljYWJsZSB0byBkaWdpdGFsIGRvY3VtZW50cyBwcm92aWRlZCBhcyB3ZWIgcmVzb3VyY2VzLCBhY2Nlc3NpYmxlIGZyb20gZGF0YWJhc2VzIG9yIHZpYSBmaWxlIHRyYW5zZmVyLCBidXQgY2FuIGJlIGFwcGxpY2FibGUgYWxzbyB0byBwYXBlciBkb2N1bWVudHMsIGUuZy4gYXJ0aWNsZXMgaW4gbWVkaWNhbCBsaXRlcmF0dXJlLiAiLCJvYmplY3RJRCI6IjUyOTUxXzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjE5OjIwMTIgSGVhbHRoIGluZm9ybWF0aWNzIOKAlCBDbGluaWNhbCBrbm93bGVkZ2UgcmVzb3VyY2VzIOKAlCBNZXRhZGF0YSIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+MTk6MjAxMiBzcGVjaWZpZXMgYSBudW1iZXIgb2YgbWV0YWRhdGEgZWxlbWVudHMgdGhhdCBkZXNjcmliZSByZXNvdXJjZXMgY29udGFpbmluZyBtZWRpY2FsIGtub3dsZWRnZS4gSXQgaXMgcHJpbWFyaWx5IGFwcGxpY2FibGUgdG8gZGlnaXRhbCBkb2N1bWVudHMgcHJvdmlkZWQgYXMgd2ViIHJlc291cmNlcywgYWNjZXNzaWJsZSBmcm9tIGRhdGFiYXNlcyBvciB2aWEgZmlsZSB0cmFuc2ZlciwgYnV0IGNhbiBiZSBhcHBsaWNhYmxlIGFsc28gdG8gcGFwZXIgZG9jdW1lbnRzLCBlLmcuIGFydGljbGVzIGluIG1lZGljYWwgbGl0ZXJhdHVyZS4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDUvMjgvNTI4OTgiLCJ1dWlkIjoiZjY2NjE2ZWQtZDE5My00ZWUxLWFiZTAtMzc0ODgyNGU3YWU5IiwidGl0bGUiOiJJU08gMTMxMTA6MjAxMiBDaWdhcmV0dGVzIOKAlCBEZXRlcm1pbmF0aW9uIG9mIG1lbnRob2wgaW4gc21va2UgY29uZGVuc2F0ZXMg4oCUIEdhcy1jaHJvbWF0b2dyYXBoaWMgbWV0aG9kIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAxOCwib3JkZXIiOjExLCJ0ZXh0IjoiSVNPIDEzMTEwOjIwMTIgc3BlY2lmaWVzIGEgbWV0aG9kIGZvciB0aGUgZ2FzLWNocm9tYXRvZ3JhcGhpYyBkZXRlcm1pbmF0aW9uIG9mIG1lbnRob2wgaW4gdGhlIHRvdGFsIHBhcnRpY3VsYXRlIG1hdHRlciAoVFBNKSBvZiBtZW50aG9sYXRlZCBjaWdhcmV0dGUgc21va2UgY29uZGVuc2F0ZXMuIFRoZSBzbW9raW5nIG9mIGNpZ2FyZXR0ZXMgYW5kIHRoZSBjb2xsZWN0aW9uIG9mIG1haW5zdHJlYW0gc21va2UgYXJlIGNhcnJpZWQgb3V0IGluIGFjY29yZGFuY2Ugd2l0aCBJU08gNDM4NyB3aXRoIHNvbWUgZXhjZXB0aW9ucy4gRW5jYXBzdWxhdGVkIG1lbnRob2wgaW4gc3BlY2lmaWMgcHJvZHVjdHMgbWF5IGxlYWQgdG8gc3BlY2lmaWMgaGFuZGxpbmcgbm90IGRlc2NyaWJlZCBpbiBJU08gMTMxMTA6MjAxMi4gIiwib2JqZWN0SUQiOiI1Mjg5OF8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT4xMDoyMDEyIENpZ2FyZXR0ZXMg4oCUIERldGVybWluYXRpb24gb2YgbWVudGhvbCBpbiBzbW9rZSBjb25kZW5zYXRlcyDigJQgR2FzLWNocm9tYXRvZ3JhcGhpYyBtZXRob2QiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjEwOjIwMTIgc3BlY2lmaWVzIGEgbWV0aG9kIGZvciB0aGUgZ2FzLWNocm9tYXRvZ3JhcGhpYyBkZXRlcm1pbmF0aW9uIG9mIG1lbnRob2wgaW4gdGhlIHRvdGFsIHBhcnRpY3VsYXRlIG1hdHRlciAoVFBNKSBvZiBtZW50aG9sYXRlZCBjaWdhcmV0dGUgc21va2UgY29uZGVuc2F0ZXMuIFRoZSBzbW9raW5nIG9mIGNpZ2FyZXR0ZXMgYW5kIHRoZSBjb2xsZWN0aW9uIG9mIG1haW5zdHJlYW0gc21va2UgYXJlIGNhcnJpZWQgb3V0IGluIGFjY29yZGFuY2Ugd2l0aCA8ZW0+SVNPPC9lbT4gNDM4NyB3aXRoIHNvbWUgZXhjZXB0aW9ucy4gRW5jYXBzdWxhdGVkIG1lbnRob2wgaW4gc3BlY2lmaWMgcHJvZHVjdHMgbWF5IGxlYWQgdG8gc3BlY2lmaWMgaGFuZGxpbmcgbm90IGRlc2NyaWJlZCBpbiA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+MTA6MjAxMi4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDcvMjUvNzI1NjEiLCJ1dWlkIjoiMjhkYjdlNDctODA2ZC00ZGRlLWFlMzItNmMzNjhlZTRmMWY4IiwidGl0bGUiOiJJU08gMTMxMDUtMjoyMDE0L0FtZCAxOjIwMTcgQnVpbGRpbmcgY29uc3RydWN0aW9uIG1hY2hpbmVyeSBhbmQgZXF1aXBtZW50IOKAlCBNYWNoaW5lcnkgZm9yIGNvbmNyZXRlIHN1cmZhY2UgZmxvYXRpbmcgYW5kIGZpbmlzaGluZyDigJQgUGFydCAyOiBTYWZldHkgcmVxdWlyZW1lbnRzIGFuZCB2ZXJpZmljYXRpb24g4oCUIEFtZW5kbWVudCAxIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAxNywib3JkZXIiOjExLCJvYmplY3RJRCI6IjcyNTYxXzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjA1LTI6MjAxNC9BbWQgMToyMDE3IEJ1aWxkaW5nIGNvbnN0cnVjdGlvbiBtYWNoaW5lcnkgYW5kIGVxdWlwbWVudCDigJQgTWFjaGluZXJ5IGZvciBjb25jcmV0ZSBzdXJmYWNlIGZsb2F0aW5nIGFuZCBmaW5pc2hpbmcg4oCUIFBhcnQgMjogU2FmZXR5IHJlcXVpcmVtZW50cyBhbmQgdmVyaWZpY2F0aW9uIOKAlCBBbWVuZG1lbnQgMSIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA3LzE4LzcxODcxIiwidXVpZCI6IjliNDFkZTgyLTIxMWUtNDI5ZC1iOTk5LTZkMmZkY2MwMGVkNSIsInRpdGxlIjoiSVNPIDEzMTg0LTM6MjAxNyBJbnRlbGxpZ2VudCB0cmFuc3BvcnQgc3lzdGVtcyAoSVRTKSDigJQgR3VpZGFuY2UgcHJvdG9jb2wgdmlhIHBlcnNvbmFsIElUUyBzdGF0aW9uIGZvciBhZHZpc29yeSBzYWZldHkgc3lzdGVtcyDigJQgUGFydCAzOiBSb2FkIGd1aWRhbmNlIHByb3RvY29sIChSR1ApIGNvbmZvcm1hbmNlIHRlc3Qgc3BlY2lmaWNhdGlvbiIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMTcsIm9yZGVyIjoxMSwidGV4dCI6IklTTyAxMzE4NC0zOjIwMTcgc3BlY2lmaWVzIGNvbmZvcm1hbmNlIHRlc3RzIGZvciBhIHNlbGYtY29uZm9ybWFuY2UgYXNzZXNzbWVudCBvZiB0aGUgc3VwcGxpZXIncyBQLUlUUy1TIHN5c3RlbS4gVGhlIGNvbmZvcm1hbmNlIHRlc3QgY2FzZXMgZm9sbG93IHRoZSB1c2UgY2FzZSBkZWZpbml0aW9uIG9mIElTTy9UUiAxMzE4NOKAkTEgYW5kIHRoZSByZXF1aXJlbWVudHMgc3RhdGVkIGluIElTTyAxMzE4NOKAkTIgYmFzZWQgb24gdGhlIERhdGEgZVhjaGFuZ2UgTWVzc2FnZSAoRFhNKSBhdCB0aGUgYXBwbGljYXRpb24gbGV2ZWwgcmVnYXJkaW5nIHRoZSBzYWZldHkgd2FybmluZyBhbmQgcGFya2luZyBndWlkZSBzZXJ2aWNlcyBiZXR3ZWVuIC0gICAgICB0aGUgVmVoaWNsZSBJVFMgU3RhdGlvbiAoVi1JVFMtUykgaW5zdGFsbGVkIGluIHRoZSB2ZWhpY2xlLCBvciAtICAgICAgYSBQZXJzb25hbCBJVFMgU3RhdGlvbiAoUC1JVFMtUyksIGUuZy4gTm9tYWRpYyBEZXZpY2UsIGluIGEgdmVoaWNsZSBvciB1c2VkIGJ5IGEgcGVkZXN0cmlhbiwgYW5kIC0gICAgICBhIFJvYWRzaWRlIElUUyBTdGF0aW9uIChSLUlUUy1TKSBpbnN0YWxsZWQgYXQgdGhlIHJvYWRzaWRlLiBUaGUgcHJpbWFyeSBidXQgbm90IGV4Y2x1c2l2ZSBwdXJwb3NlIG9mIHRoaXMgZG9jdW1lbnQgaXMgdG8gcHJvdmlkZSBpbmZvcm1hdGlvbiB0byB0aGUgUC1JVFMtUyBzeXN0ZW0gcHJvdmlkZXIgdG8gYnVpbGQgYW5kIHRlc3QgdGhlIFAtSVRTLVMgc3lzdGVtIGFnYWluc3QgdGhlIGNvbmZvcm1hbmNlIHRlc3QgY2FzZXMuIFRoaXMgZmluYWwgc3RlcCBpbiB0aGUgZGV2ZWxvcG1lbnQgcHJvY2VzcyBvZiB0aGUgUC1JVFMtUyBzeXN0ZW0gZW5zdXJlcyBwcm92aWRlcnMgdGhhdCB0aGVpciBQLUlUUy1TIHN5c3RlbSBtZWV0cyBhIGhpZ2ggZGVncmVlIG9mIGZ1bmN0aW9uYWwgcmVxdWlyZW1lbnRzIGV4cGVjdGVkIGJ5IHRoZSBlbmQgdXNlci4gIiwib2JqZWN0SUQiOiI3MTg3MV8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT44NC0zOjIwMTcgSW50ZWxsaWdlbnQgdHJhbnNwb3J0IHN5c3RlbXMgKElUUykg4oCUIEd1aWRhbmNlIHByb3RvY29sIHZpYSBwZXJzb25hbCBJVFMgc3RhdGlvbiBmb3IgYWR2aXNvcnkgc2FmZXR5IHN5c3RlbXMg4oCUIFBhcnQgMzogUm9hZCBndWlkYW5jZSBwcm90b2NvbCAoUkdQKSBjb25mb3JtYW5jZSB0ZXN0IHNwZWNpZmljYXRpb24iLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjg0LTM6MjAxNyBzcGVjaWZpZXMgY29uZm9ybWFuY2UgdGVzdHMgZm9yIGEgc2VsZi1jb25mb3JtYW5jZSBhc3Nlc3NtZW50IG9mIHRoZSBzdXBwbGllcidzIFAtSVRTLVMgc3lzdGVtLiBUaGUgY29uZm9ybWFuY2UgdGVzdCBjYXNlcyBmb2xsb3cgdGhlIHVzZSBjYXNlIGRlZmluaXRpb24gb2YgPGVtPklTTzwvZW0+L1RSIDxlbT4xMzE8L2VtPjg04oCRMSBhbmQgdGhlIHJlcXVpcmVtZW50cyBzdGF0ZWQgaW4gPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjg04oCRMiBiYXNlZCBvbiB0aGUgRGF0YSBlWGNoYW5nZSBNZXNzYWdlIChEWE0pIGF0IHRoZSBhcHBsaWNhdGlvbiBsZXZlbCByZWdhcmRpbmcgdGhlIHNhZmV0eSB3YXJuaW5nIGFuZCBwYXJraW5nIGd1aWRlIHNlcnZpY2VzIGJldHdlZW4gLSAgICAgIHRoZSBWZWhpY2xlIElUUyBTdGF0aW9uIChWLUlUUy1TKSBpbnN0YWxsZWQgaW4gdGhlIHZlaGljbGUsIG9yIC0gICAgICBhIFBlcnNvbmFsIElUUyBTdGF0aW9uIChQLUlUUy1TKSwgZS5nLiBOb21hZGljIERldmljZSwgaW4gYSB2ZWhpY2xlIG9yIHVzZWQgYnkgYSBwZWRlc3RyaWFuLCBhbmQgLSAgICAgIGEgUm9hZHNpZGUgSVRTIFN0YXRpb24gKFItSVRTLVMpIGluc3RhbGxlZCBhdCB0aGUgcm9hZHNpZGUuIFRoZSBwcmltYXJ5IGJ1dCBub3QgZXhjbHVzaXZlIHB1cnBvc2Ugb2YgdGhpcyBkb2N1bWVudCBpcyB0byBwcm92aWRlIGluZm9ybWF0aW9uIHRvIHRoZSBQLUlUUy1TIHN5c3RlbSBwcm92aWRlciB0byBidWlsZCBhbmQgdGVzdCB0aGUgUC1JVFMtUyBzeXN0ZW0gYWdhaW5zdCB0aGUgY29uZm9ybWFuY2UgdGVzdCBjYXNlcy4gVGhpcyBmaW5hbCBzdGVwIGluIHRoZSBkZXZlbG9wbWVudCBwcm9jZXNzIG9mIHRoZSBQLUlUUy1TIHN5c3RlbSBlbnN1cmVzIHByb3ZpZGVycyB0aGF0IHRoZWlyIFAtSVRTLVMgc3lzdGVtIG1lZXRzIGEgaGlnaCBkZWdyZWUgb2YgZnVuY3Rpb25hbCByZXF1aXJlbWVudHMgZXhwZWN0ZWQgYnkgdGhlIGVuZCB1c2VyLiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNy8wMC83MDAzNCIsInV1aWQiOiIxY2VmNzEyOS00NjlkLTRmMTEtYTlmZC04OWFiZWI5MTc0MmUiLCJ0aXRsZSI6IklTTyAxMzE0MToyMDE1L0FtZCAxOjIwMTcgRWxlY3Ryb25pYyBmZWUgY29sbGVjdGlvbiDigJQgTG9jYWxpc2F0aW9uIGF1Z21lbnRhdGlvbiBjb21tdW5pY2F0aW9uIGZvciBhdXRvbm9tb3VzIHN5c3RlbXMg4oCUIEFtZW5kbWVudCAxIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAxNywib3JkZXIiOjExLCJvYmplY3RJRCI6IjcwMDM0XzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjQxOjIwMTUvQW1kIDE6MjAxNyBFbGVjdHJvbmljIGZlZSBjb2xsZWN0aW9uIOKAlCBMb2NhbGlzYXRpb24gYXVnbWVudGF0aW9uIGNvbW11bmljYXRpb24gZm9yIGF1dG9ub21vdXMgc3lzdGVtcyDigJQgQW1lbmRtZW50IDEiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNS8zMC81MzA1MSIsInV1aWQiOiIzYTFjOGZjZi00ODljLTQxYjYtYjVjOC0zMmNmZGFmZjYwNjQiLCJ0aXRsZSI6IklTTyAxMzEzMDoyMDExIExhYm9yYXRvcnkgZ2xhc3N3YXJlIOKAlCBEZXNpY2NhdG9ycyIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMTcsIm9yZGVyIjoxMSwidGV4dCI6IklTTyAxMzEzMDoyMDExIHNwZWNpZmllcyByZXF1aXJlbWVudHMgYW5kIHRlc3RzIGZvciBkZXNpY2NhdG9ycyBhbmQgdmFjdXVtIGRlc2ljY2F0b3JzIGludGVuZGVkIGZvciBnZW5lcmFsIGxhYm9yYXRvcnkgcHVycG9zZXMgc3VjaCBhcyBkcnlpbmcgb2Ygc3Vic3RhbmNlcyBvciBtYXRlcmlhbC4gIiwib2JqZWN0SUQiOiI1MzA1MV8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT4zMDoyMDExIExhYm9yYXRvcnkgZ2xhc3N3YXJlIOKAlCBEZXNpY2NhdG9ycyIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+MzA6MjAxMSBzcGVjaWZpZXMgcmVxdWlyZW1lbnRzIGFuZCB0ZXN0cyBmb3IgZGVzaWNjYXRvcnMgYW5kIHZhY3V1bSBkZXNpY2NhdG9ycyBpbnRlbmRlZCBmb3IgZ2VuZXJhbCBsYWJvcmF0b3J5IHB1cnBvc2VzIHN1Y2ggYXMgZHJ5aW5nIG9mIHN1YnN0YW5jZXMgb3IgbWF0ZXJpYWwuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA1LzI4LzUyODIxIiwidXVpZCI6ImUxYzdmNDE0LWQ5NjktNDI2Ni1iY2ZjLWIzODc0MWNmOGU5MSIsInRpdGxlIjoiSVNPIDEzMTAyOjIwMTIgR2VvbWV0cmljYWwgcHJvZHVjdCBzcGVjaWZpY2F0aW9ucyAoR1BTKSDigJQgRGltZW5zaW9uYWwgbWVhc3VyaW5nIGVxdWlwbWVudDogRWxlY3Ryb25pYyBkaWdpdGFsLWluZGljYXRvciBnYXVnZSDigJQgRGVzaWduIGFuZCBtZXRyb2xvZ2ljYWwgY2hhcmFjdGVyaXN0aWNzIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAxNywib3JkZXIiOjExLCJ0ZXh0IjoiSVNPIDEzMTAyOjIwMTIgc3BlY2lmaWVzIHRoZSBtb3N0IGltcG9ydGFudCBkZXNpZ24gYW5kIG1ldHJvbG9naWNhbCBjaGFyYWN0ZXJpc3RpY3Mgb2YgZWxlY3Ryb25pYyBkaWdpdGFsLWluZGljYXRvciBnYXVnZXMuICIsIm9iamVjdElEIjoiNTI4MjFfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+MDI6MjAxMiBHZW9tZXRyaWNhbCBwcm9kdWN0IHNwZWNpZmljYXRpb25zIChHUFMpIOKAlCBEaW1lbnNpb25hbCBtZWFzdXJpbmcgZXF1aXBtZW50OiBFbGVjdHJvbmljIGRpZ2l0YWwtaW5kaWNhdG9yIGdhdWdlIOKAlCBEZXNpZ24gYW5kIG1ldHJvbG9naWNhbCBjaGFyYWN0ZXJpc3RpY3MiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjAyOjIwMTIgc3BlY2lmaWVzIHRoZSBtb3N0IGltcG9ydGFudCBkZXNpZ24gYW5kIG1ldHJvbG9naWNhbCBjaGFyYWN0ZXJpc3RpY3Mgb2YgZWxlY3Ryb25pYyBkaWdpdGFsLWluZGljYXRvciBnYXVnZXMuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA2LzMwLzYzMDkxIiwidXVpZCI6ImFhY2E2OTgwLWNjMzctNGM3ZS05YWJjLWNmYThjZjkxMjA5OSIsInRpdGxlIjoiSVNPIDEzMTI3OjIwMTIvQ29yIDE6MjAxMiBQYWNrYWdpbmcg4oCUIENoaWxkIHJlc2lzdGFudCBwYWNrYWdpbmcg4oCUIE1lY2hhbmljYWwgdGVzdCBtZXRob2RzIGZvciByZWNsb3NhYmxlIGNoaWxkIHJlc2lzdGFudCBwYWNrYWdpbmcgc3lzdGVtcyDigJQgVGVjaG5pY2FsIENvcnJpZ2VuZHVtIDEiLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDEyLCJvcmRlciI6MTEsIm9iamVjdElEIjoiNjMwOTFfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+Mjc6MjAxMi9Db3IgMToyMDEyIFBhY2thZ2luZyDigJQgQ2hpbGQgcmVzaXN0YW50IHBhY2thZ2luZyDigJQgTWVjaGFuaWNhbCB0ZXN0IG1ldGhvZHMgZm9yIHJlY2xvc2FibGUgY2hpbGQgcmVzaXN0YW50IHBhY2thZ2luZyBzeXN0ZW1zIOKAlCBUZWNobmljYWwgQ29ycmlnZW5kdW0gMSIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA4LzIwLzgyMDA2IiwidXVpZCI6IjJmNzc0MTZhLWQzOWItNDk1NC04NjMyLTM5NjQyN2MxZjRlZSIsInRpdGxlIjoiSVNPIDEzMTY1LTIgV2F0ZXIgcXVhbGl0eSDigJQgUmFkaXVtLTIyNiDigJQgUGFydCAyOiBUZXN0IG1ldGhvZCB1c2luZyBlbWFub21ldHJ5Iiwic3RhdHVzIjoiVW5kZXIgZGV2ZWxvcG1lbnQiLCJ5ZWFyIjoyMDIyLCJvcmRlciI6MTIsIm9iamVjdElEIjoiODIwMDZfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NjUtMiBXYXRlciBxdWFsaXR5IOKAlCBSYWRpdW0tMjI2IOKAlCBQYXJ0IDI6IFRlc3QgbWV0aG9kIHVzaW5nIGVtYW5vbWV0cnkiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNy84OC83ODgwMiIsInV1aWQiOiJkZTMzZjU3YS00MzBjLTQ4OTctODBhMy1hOTI0MWU0ZWI0Y2YiLCJ0aXRsZSI6IklTTyAxMzE2NS0xIFdhdGVyIHF1YWxpdHkg4oCUIFJhZGl1bS0yMjYg4oCUIFBhcnQgMTogVGVzdCBtZXRob2QgdXNpbmcgbGlxdWlkIHNjaW50aWxsYXRpb24gY291bnRpbmciLCJzdGF0dXMiOiJVbmRlciBkZXZlbG9wbWVudCIsInllYXIiOjIwMjIsIm9yZGVyIjoxMiwib2JqZWN0SUQiOiI3ODgwMl8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT42NS0xIFdhdGVyIHF1YWxpdHkg4oCUIFJhZGl1bS0yMjYg4oCUIFBhcnQgMTogVGVzdCBtZXRob2QgdXNpbmcgbGlxdWlkIHNjaW50aWxsYXRpb24gY291bnRpbmciLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNS82NC81NjQ2MyIsInV1aWQiOiJhOWUxYWYxMC1iM2FiLTRkN2ItYjU3OC0zNTkwMTNkNWJhODciLCJ0aXRsZSI6IklTTyAxMzE2MzoyMDEzIFdhdGVyIHF1YWxpdHkg4oCUIExlYWQtMjEwIOKAlCBUZXN0IG1ldGhvZCB1c2luZyBsaXF1aWQgc2NpbnRpbGxhdGlvbiBjb3VudGluZyIsInN0YXR1cyI6IldpdGhkcmF3biIsInllYXIiOjIwMjEsIm9yZGVyIjoxMDAsInRleHQiOiJJU08gMTMxNjMgc3BlY2lmaWVzIHRoZSBkZXRlcm1pbmF0aW9uIG9mIGxlYWQtMjEwICgyMTBQYikgYWN0aXZpdHkgY29uY2VudHJhdGlvbiBpbiBzYW1wbGVzIG9mIGFsbCB0eXBlcyBvZiB3YXRlciB1c2luZyBsaXF1aWQgc2NpbnRpbGxhdGlvbiBjb3VudGluZyAoTFNDKS4gRm9yIHJhdyBhbmQgZHJpbmtpbmcgd2F0ZXIsIHRoZSBzYW1wbGUgc2hvdWxkIGJlIGRlZ2Fzc2VkIGluIG9yZGVyIHRvIG1pbmltaXplIHRoZSBpbmdyb3d0aCBvZiAyMTAgUGIgZnJvbSByYWRvbi0yMjIgKCAyMjIgUm4pLiBVc2luZyBjdXJyZW50bHkgYXZhaWxhYmxlIGxpcXVpZCBzY2ludGlsbGF0aW9uIGNvdW50ZXJzLCB0aGlzIHRlc3QgbWV0aG9kIGNhbiBtZWFzdXJlIHRoZSAyMTAgUGIgYWN0aXZpdHkgY29uY2VudHJhdGlvbnMgaW4gdGhlIHJhbmdlIG9mIGxlc3MgdGhhbiAyMCBtQnHii4VsIC0xIHRvIDUwIG1CceKLhWwgLTEgLiBUaGVzZSB2YWx1ZXMgY2FuIGJlIGFjaGlldmVkIHdpdGggYSBjb3VudGluZyB0aW1lIGJldHdlZW4gMTgwIG1pbiBhbmQgNzIwIG1pbiBmb3IgYSBzYW1wbGUgdm9sdW1lIGZyb20gMCw1IGwgdG8gMSw1IGwuIEhpZ2hlciAyMTAgUGIgYWN0aXZpdHkgY29uY2VudHJhdGlvbnMgY2FuIGJlIG1lYXN1cmVkIGJ5IGVpdGhlciBkaWx1dGluZyB0aGUgc2FtcGxlIG9yIHVzaW5nIHNtYWxsZXIgc2FtcGxlIGFsaXF1b3RzIG9yIGJvdGguIEl0IGlzIHRoZSBsYWJvcmF0b3J5J3MgcmVzcG9uc2liaWxpdHkgdG8gZW5zdXJlIHRoZSBzdWl0YWJpbGl0eSBvZiB0aGlzIHRlc3QgbWV0aG9kIGZvciB0aGUgd2F0ZXIgc2FtcGxlcyB0ZXN0ZWQuICIsIm9iamVjdElEIjoiNTY0NjNfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NjM6MjAxMyBXYXRlciBxdWFsaXR5IOKAlCBMZWFkLTIxMCDigJQgVGVzdCBtZXRob2QgdXNpbmcgbGlxdWlkIHNjaW50aWxsYXRpb24gY291bnRpbmciLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjYzIHNwZWNpZmllcyB0aGUgZGV0ZXJtaW5hdGlvbiBvZiBsZWFkLTIxMCAoMjEwUGIpIGFjdGl2aXR5IGNvbmNlbnRyYXRpb24gaW4gc2FtcGxlcyBvZiBhbGwgdHlwZXMgb2Ygd2F0ZXIgdXNpbmcgbGlxdWlkIHNjaW50aWxsYXRpb24gY291bnRpbmcgKExTQykuIEZvciByYXcgYW5kIGRyaW5raW5nIHdhdGVyLCB0aGUgc2FtcGxlIHNob3VsZCBiZSBkZWdhc3NlZCBpbiBvcmRlciB0byBtaW5pbWl6ZSB0aGUgaW5ncm93dGggb2YgMjEwIFBiIGZyb20gcmFkb24tMjIyICggMjIyIFJuKS4gVXNpbmcgY3VycmVudGx5IGF2YWlsYWJsZSBsaXF1aWQgc2NpbnRpbGxhdGlvbiBjb3VudGVycywgdGhpcyB0ZXN0IG1ldGhvZCBjYW4gbWVhc3VyZSB0aGUgMjEwIFBiIGFjdGl2aXR5IGNvbmNlbnRyYXRpb25zIGluIHRoZSByYW5nZSBvZiBsZXNzIHRoYW4gMjAgbUJx4ouFbCAtMSB0byA1MCBtQnHii4VsIC0xIC4gVGhlc2UgdmFsdWVzIGNhbiBiZSBhY2hpZXZlZCB3aXRoIGEgY291bnRpbmcgdGltZSBiZXR3ZWVuIDE4MCBtaW4gYW5kIDcyMCBtaW4gZm9yIGEgc2FtcGxlIHZvbHVtZSBmcm9tIDAsNSBsIHRvIDEsNSBsLiBIaWdoZXIgMjEwIFBiIGFjdGl2aXR5IGNvbmNlbnRyYXRpb25zIGNhbiBiZSBtZWFzdXJlZCBieSBlaXRoZXIgZGlsdXRpbmcgdGhlIHNhbXBsZSBvciB1c2luZyBzbWFsbGVyIHNhbXBsZSBhbGlxdW90cyBvciBib3RoLiBJdCBpcyB0aGUgbGFib3JhdG9yeSdzIHJlc3BvbnNpYmlsaXR5IHRvIGVuc3VyZSB0aGUgc3VpdGFiaWxpdHkgb2YgdGhpcyB0ZXN0IG1ldGhvZCBmb3IgdGhlIHdhdGVyIHNhbXBsZXMgdGVzdGVkLiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNS8zNC81MzQ0OCIsInV1aWQiOiI1NjVjOGYxMC0wZjRmLTRiNmItYWEzZS00MTZjMGZjOTc2ZGQiLCJ0aXRsZSI6IklTTyAxMzE3OS0xOjIwMTQgSW1wbGFudHMgZm9yIHN1cmdlcnkg4oCUIFBsYXNtYS1zcHJheWVkIHVuYWxsb3llZCB0aXRhbml1bSBjb2F0aW5ncyBvbiBtZXRhbGxpYyBzdXJnaWNhbCBpbXBsYW50cyDigJQgUGFydCAxOiBHZW5lcmFsIHJlcXVpcmVtZW50cyIsInN0YXR1cyI6IldpdGhkcmF3biIsInllYXIiOjIwMjEsIm9yZGVyIjoxMDAsInRleHQiOiJJU08gMTMxNzktMToyMDE0IHNwZWNpZmllcyBnZW5lcmFsIHJlcXVpcmVtZW50cyBmb3IgcGxhc21hLXNwcmF5ZWQgdW5hbGxveWVkIHRpdGFuaXVtIGNvYXRpbmdzIG9uIG1ldGFsbGljIHN1cmdpY2FsIGltcGxhbnRzLiBJdCBhcHBsaWVzIHRvIHBsYXNtYSBzcHJheWluZyBpbiBhaXIgYW5kIGluIHZhY3V1bS4gSVNPIDEzMTc5LTE6MjAxNCBkb2VzIG5vdCBhcHBseSB0byBjb2F0aW5ncyBtYWRlIG9mIG90aGVyIG1hdGVyaWFscyB0aGFuIHVuYWxsb3llZCB0aXRhbml1bSBvciBjb2F0aW5ncyByZWFsaXplZCBieSBhbm90aGVyIHRlY2hub2xvZ3kgdGhhbiBwbGFzbWEgc3ByYXlpbmcuICIsIm9iamVjdElEIjoiNTM0NDhfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NzktMToyMDE0IEltcGxhbnRzIGZvciBzdXJnZXJ5IOKAlCBQbGFzbWEtc3ByYXllZCB1bmFsbG95ZWQgdGl0YW5pdW0gY29hdGluZ3Mgb24gbWV0YWxsaWMgc3VyZ2ljYWwgaW1wbGFudHMg4oCUIFBhcnQgMTogR2VuZXJhbCByZXF1aXJlbWVudHMiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjc5LTE6MjAxNCBzcGVjaWZpZXMgZ2VuZXJhbCByZXF1aXJlbWVudHMgZm9yIHBsYXNtYS1zcHJheWVkIHVuYWxsb3llZCB0aXRhbml1bSBjb2F0aW5ncyBvbiBtZXRhbGxpYyBzdXJnaWNhbCBpbXBsYW50cy4gSXQgYXBwbGllcyB0byBwbGFzbWEgc3ByYXlpbmcgaW4gYWlyIGFuZCBpbiB2YWN1dW0uIDxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT43OS0xOjIwMTQgZG9lcyBub3QgYXBwbHkgdG8gY29hdGluZ3MgbWFkZSBvZiBvdGhlciBtYXRlcmlhbHMgdGhhbiB1bmFsbG95ZWQgdGl0YW5pdW0gb3IgY29hdGluZ3MgcmVhbGl6ZWQgYnkgYW5vdGhlciB0ZWNobm9sb2d5IHRoYW4gcGxhc21hIHNwcmF5aW5nLiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNS8zNC81MzQwMyIsInV1aWQiOiI4MDg5NWU4My1kM2NkLTQ0NzUtOWMzYS0wOGZjNjk4MmI2NTYiLCJ0aXRsZSI6IklTTyAxMzE2MjoyMDExIFdhdGVyIHF1YWxpdHkg4oCUIERldGVybWluYXRpb24gb2YgY2FyYm9uIDE0IGFjdGl2aXR5IOKAlCBMaXF1aWQgc2NpbnRpbGxhdGlvbiBjb3VudGluZyBtZXRob2QiLCJzdGF0dXMiOiJXaXRoZHJhd24iLCJ5ZWFyIjoyMDIxLCJvcmRlciI6MTAwLCJ0ZXh0IjoiSVNPIDEzMTYyOjIwMTEgc3BlY2lmaWVzIHRoZSBjb25kaXRpb25zIGZvciB0aGUgZGV0ZXJtaW5hdGlvbiBvZiAxNCBDIGFjdGl2aXR5IGNvbmNlbnRyYXRpb24gaW4gc2FtcGxlcyBvZiBlbnZpcm9ubWVudGFsIHdhdGVyIG9yIG9mIDE0IEMtY29udGFpbmluZyB3YXRlciB1c2luZyBsaXF1aWQgc2NpbnRpbGxhdGlvbiBjb3VudGluZy4gVGhlIG1ldGhvZCBpcyBhcHBsaWNhYmxlIHRvIHRoZSBhbmFseXNpcyBvZiBhbnkgb3JnYW5pYyBtb2xlY3VsZSBzb2x1YmxlIGluIHdhdGVyIHRoYXQgaXMgd2VsbCBtaXhlZCB3aXRoIHRoZSBzY2ludGlsbGF0aW9uIGNvY2t0YWlsLiBJdCBkb2VzIG5vdCBhcHBseSB0byBtaWNlbGxlcyBvciBcImxhcmdlXCIgcGFydGljbGVzIChsaXBpZHMsIGZ1bHZpYyBhY2lkLCBodW1pYyBhY2lkLCBldGMuKSB0aGF0IGFyZSBpbmFkZXF1YXRlbHkgbWl4ZWQgd2l0aCB0aGUgc2NpbnRpbGxhdGlvbiBjb2NrdGFpbCBhbmQgdGhlIHdhdGVyLiBTb21lIGJldGEgZW5lcmd5IGlzIGxvc3Qgd2l0aG91dCBhbnkgZXhjaXRhdGlvbiBvZiB0aGUgc2NpbnRpbGxhdGlvbiBjb2NrdGFpbCBhbmQgdGhlIHJlc3VsdHMgYXJlIHVuZGVyZXN0aW1hdGVkLiBUaGUgbWV0aG9kIGlzIG5vdCBhcHBsaWNhYmxlIHRvIHRoZSBhbmFseXNpcyBvZiBvcmdhbmljYWxseSBib3VuZCAxNCBDLCB3aG9zZSBkZXRlcm1pbmF0aW9uIHJlcXVpcmVzIGFkZGl0aW9uYWwgY2hlbWljYWwgcHJvY2Vzc2luZyAoc3VjaCBhcyBjaGVtaWNhbCBveGlkYXRpb24sIGNvbWJ1c3Rpb24pLiBJdCBpcyBwb3NzaWJsZSB0byBkZXRlcm1pbmUgMTQgQyBhY3Rpdml0eSBjb25jZW50cmF0aW9ucyBiZWxvdyAxMCA2IEJxIGwgLSAxIHdpdGhvdXQgYW55IHNhbXBsZSBkaWx1dGlvbi4gIiwib2JqZWN0SUQiOiI1MzQwM18wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT42MjoyMDExIFdhdGVyIHF1YWxpdHkg4oCUIERldGVybWluYXRpb24gb2YgY2FyYm9uIDE0IGFjdGl2aXR5IOKAlCBMaXF1aWQgc2NpbnRpbGxhdGlvbiBjb3VudGluZyBtZXRob2QiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjYyOjIwMTEgc3BlY2lmaWVzIHRoZSBjb25kaXRpb25zIGZvciB0aGUgZGV0ZXJtaW5hdGlvbiBvZiAxNCBDIGFjdGl2aXR5IGNvbmNlbnRyYXRpb24gaW4gc2FtcGxlcyBvZiBlbnZpcm9ubWVudGFsIHdhdGVyIG9yIG9mIDE0IEMtY29udGFpbmluZyB3YXRlciB1c2luZyBsaXF1aWQgc2NpbnRpbGxhdGlvbiBjb3VudGluZy4gVGhlIG1ldGhvZCBpcyBhcHBsaWNhYmxlIHRvIHRoZSBhbmFseXNpcyBvZiBhbnkgb3JnYW5pYyBtb2xlY3VsZSBzb2x1YmxlIGluIHdhdGVyIHRoYXQgaXMgd2VsbCBtaXhlZCB3aXRoIHRoZSBzY2ludGlsbGF0aW9uIGNvY2t0YWlsLiBJdCBkb2VzIG5vdCBhcHBseSB0byBtaWNlbGxlcyBvciBcImxhcmdlXCIgcGFydGljbGVzIChsaXBpZHMsIGZ1bHZpYyBhY2lkLCBodW1pYyBhY2lkLCBldGMuKSB0aGF0IGFyZSBpbmFkZXF1YXRlbHkgbWl4ZWQgd2l0aCB0aGUgc2NpbnRpbGxhdGlvbiBjb2NrdGFpbCBhbmQgdGhlIHdhdGVyLiBTb21lIGJldGEgZW5lcmd5IGlzIGxvc3Qgd2l0aG91dCBhbnkgZXhjaXRhdGlvbiBvZiB0aGUgc2NpbnRpbGxhdGlvbiBjb2NrdGFpbCBhbmQgdGhlIHJlc3VsdHMgYXJlIHVuZGVyZXN0aW1hdGVkLiBUaGUgbWV0aG9kIGlzIG5vdCBhcHBsaWNhYmxlIHRvIHRoZSBhbmFseXNpcyBvZiBvcmdhbmljYWxseSBib3VuZCAxNCBDLCB3aG9zZSBkZXRlcm1pbmF0aW9uIHJlcXVpcmVzIGFkZGl0aW9uYWwgY2hlbWljYWwgcHJvY2Vzc2luZyAoc3VjaCBhcyBjaGVtaWNhbCBveGlkYXRpb24sIGNvbWJ1c3Rpb24pLiBJdCBpcyBwb3NzaWJsZSB0byBkZXRlcm1pbmUgMTQgQyBhY3Rpdml0eSBjb25jZW50cmF0aW9ucyBiZWxvdyAxMCA2IEJxIGwgLSAxIHdpdGhvdXQgYW55IHNhbXBsZSBkaWx1dGlvbi4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDUvMzMvNTMzNjIiLCJ1dWlkIjoiMThlYjFmODItNGRhOC00MGMyLTljZTEtN2Y0MWY4NDhiOWNmIiwidGl0bGUiOiJJU08gMTMxNDI6MjAxNSBFbGVjdHJvLW9wdGljYWwgc3lzdGVtcyDigJQgQ2F2aXR5IHJpbmctZG93biB0ZWNobmlxdWUgZm9yIGhpZ2gtcmVmbGVjdGFuY2UgbWVhc3VyZW1lbnQiLCJzdGF0dXMiOiJXaXRoZHJhd24iLCJ5ZWFyIjoyMDIxLCJvcmRlciI6MTAwLCJ0ZXh0IjoiSVNPIDEzMTQyOjIwMTUgc3BlY2lmaWVzIG1lYXN1cmVtZW50IHByb2NlZHVyZXMgZm9yIHRoZSBwcmVjaXNlIGRldGVybWluYXRpb24gb2YgdGhlIGhpZ2ggcmVmbGVjdGFuY2Ugb2Ygb3B0aWNhbCBsYXNlciBjb21wb25lbnRzLiBVcCB0byBub3csIHRoZSBJU08gc3RhbmRhcmRpemVkIHRlc3RpbmcgbWV0aG9kcyBmb3IgcmVmbGVjdGFuY2Ugb2Ygb3B0aWNhbCBsYXNlciBjb21wb25lbnRzIGhhdmUgdGhlIGFjY3VyYWN5IGxpbWl0IG9mIGFwcHJveGltYXRlbHkgMCwwMSAlIChmb3IgbWVhc3VyZW1lbnQgb2YgYWJzb2x1dGUgcmVmbGVjdGFuY2UpIHdoaWNoIGFyZSBub3QgYXBwcm9wcmlhdGUgZm9yIG1lYXN1cmluZyB0aGUgcmVmbGVjdGFuY2UgaGlnaGVyIHRoYW4gOTksOTkgJSBvciwgaW4gc29tZSBjYXNlcywgbWVhc3VyZW1lbnQgYWNjdXJhY3kgYmV0dGVyIHRoYW4gMCwwMSAlIGlzIHJlcXVpcmVkLiBUaGUgcmFuZ2Ugb2YgYXBwbGljYXRpb24gb2YgdGhpcyBzdGFuZGFyZGl6ZWQgdGVzdCBtZXRob2QgaXMgcmVmbGVjdGFuY2UgOTkgJSBhbmQgaGlnaGVyICh0aGVvcmV0aWNhbGx5IHVwIHRvIDEwMCAlKS4gVGhlIG1ldGhvZHMgZ2l2ZW4gaW4gSVNPIDEzMTQyOjIwMTUgYXJlIGludGVuZGVkIHRvIGJlIHVzZWQgZm9yIHRoZSB0ZXN0aW5nIGFuZCBjaGFyYWN0ZXJpemF0aW9uIG9mIGhpZ2ggcmVmbGVjdGFuY2Ugb2YgYm90aCBjb25jYXZlIGFuZCBwbGFuZSBtaXJyb3JzIHVzZWQgaW4gbGFzZXIgc3lzdGVtcyBhbmQgbGFzZXItYmFzZWQgaW5zdHJ1bWVudHMuIFRoZSByZWZsZWN0YW5jZSBvZiBjb252ZXggbWlycm9ycyBjYW4gYWxzbyBiZSB0ZXN0ZWQgYnkgdGFraW5nIGludG8gY29uc2lkZXJhdGlvbiB0aGUgcmFkaXVzIG9mIGN1cnZhdHVyZSBvZiB0aGUgbWlycm9yIHN1cmZhY2UuICIsIm9iamVjdElEIjoiNTMzNjJfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NDI6MjAxNSBFbGVjdHJvLW9wdGljYWwgc3lzdGVtcyDigJQgQ2F2aXR5IHJpbmctZG93biB0ZWNobmlxdWUgZm9yIGhpZ2gtcmVmbGVjdGFuY2UgbWVhc3VyZW1lbnQiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjQyOjIwMTUgc3BlY2lmaWVzIG1lYXN1cmVtZW50IHByb2NlZHVyZXMgZm9yIHRoZSBwcmVjaXNlIGRldGVybWluYXRpb24gb2YgdGhlIGhpZ2ggcmVmbGVjdGFuY2Ugb2Ygb3B0aWNhbCBsYXNlciBjb21wb25lbnRzLiBVcCB0byBub3csIHRoZSA8ZW0+SVNPPC9lbT4gc3RhbmRhcmRpemVkIHRlc3RpbmcgbWV0aG9kcyBmb3IgcmVmbGVjdGFuY2Ugb2Ygb3B0aWNhbCBsYXNlciBjb21wb25lbnRzIGhhdmUgdGhlIGFjY3VyYWN5IGxpbWl0IG9mIGFwcHJveGltYXRlbHkgMCwwMSAlIChmb3IgbWVhc3VyZW1lbnQgb2YgYWJzb2x1dGUgcmVmbGVjdGFuY2UpIHdoaWNoIGFyZSBub3QgYXBwcm9wcmlhdGUgZm9yIG1lYXN1cmluZyB0aGUgcmVmbGVjdGFuY2UgaGlnaGVyIHRoYW4gOTksOTkgJSBvciwgaW4gc29tZSBjYXNlcywgbWVhc3VyZW1lbnQgYWNjdXJhY3kgYmV0dGVyIHRoYW4gMCwwMSAlIGlzIHJlcXVpcmVkLiBUaGUgcmFuZ2Ugb2YgYXBwbGljYXRpb24gb2YgdGhpcyBzdGFuZGFyZGl6ZWQgdGVzdCBtZXRob2QgaXMgcmVmbGVjdGFuY2UgOTkgJSBhbmQgaGlnaGVyICh0aGVvcmV0aWNhbGx5IHVwIHRvIDEwMCAlKS4gVGhlIG1ldGhvZHMgZ2l2ZW4gaW4gPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjQyOjIwMTUgYXJlIGludGVuZGVkIHRvIGJlIHVzZWQgZm9yIHRoZSB0ZXN0aW5nIGFuZCBjaGFyYWN0ZXJpemF0aW9uIG9mIGhpZ2ggcmVmbGVjdGFuY2Ugb2YgYm90aCBjb25jYXZlIGFuZCBwbGFuZSBtaXJyb3JzIHVzZWQgaW4gbGFzZXIgc3lzdGVtcyBhbmQgbGFzZXItYmFzZWQgaW5zdHJ1bWVudHMuIFRoZSByZWZsZWN0YW5jZSBvZiBjb252ZXggbWlycm9ycyBjYW4gYWxzbyBiZSB0ZXN0ZWQgYnkgdGFraW5nIGludG8gY29uc2lkZXJhdGlvbiB0aGUgcmFkaXVzIG9mIGN1cnZhdHVyZSBvZiB0aGUgbWlycm9yIHN1cmZhY2UuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA1LzMzLzUzMzMyIiwidXVpZCI6IjlhZjRkMDZjLTUxOWItNDk1Ny1iMTE5LWVhOWYxZTM4MGY2OCIsInRpdGxlIjoiSVNPIDEzMTYwOjIwMTIgV2F0ZXIgcXVhbGl0eSDigJQgU3Ryb250aXVtIDkwIGFuZCBzdHJvbnRpdW0gODkg4oCUIFRlc3QgbWV0aG9kcyB1c2luZyBsaXF1aWQgc2NpbnRpbGxhdGlvbiBjb3VudGluZyBvciBwcm9wb3J0aW9uYWwgY291bnRpbmciLCJzdGF0dXMiOiJXaXRoZHJhd24iLCJ5ZWFyIjoyMDIxLCJvcmRlciI6MTAwLCJ0ZXh0IjoiSVNPIDEzMTYwOjIwMTIgc3BlY2lmaWVzIHRoZSB0ZXN0IG1ldGhvZHMgYW5kIHRoZWlyIGFzc29jaWF0ZWQgcHJpbmNpcGxlcyBmb3IgdGhlIG1lYXN1cmVtZW50IG9mIHRoZSBhY3Rpdml0eSBvZiA5MCBTciBpbiBlcXVpbGlicml1bSB3aXRoIDkwIFksIGFuZCA4OSBTciwgcHVyZSBiZXRhLWVtaXR0aW5nIHJhZGlvbnVjbGlkZXMsIGluIHdhdGVyIHNhbXBsZXMuIERpZmZlcmVudCBjaGVtaWNhbCBzZXBhcmF0aW9uIG1ldGhvZHMgYXJlIHByZXNlbnRlZCB0byBwcm9kdWNlIHN0cm9udGl1bSBhbmQgeXR0cml1bSBzb3VyY2VzLCB0aGUgYWN0aXZpdHkgb2Ygd2hpY2ggaXMgZGV0ZXJtaW5lZCB1c2luZyBhIHByb3BvcnRpb25hbCBjb3VudGVyIChQQykgb3IgbGlxdWlkIHNjaW50aWxsYXRpb24gY291bnRlciAoTFNDKS4gVGhlIHNlbGVjdGlvbiBvZiB0aGUgdGVzdCBtZXRob2QgZGVwZW5kcyBvbiB0aGUgb3JpZ2luIG9mIHRoZSBjb250YW1pbmF0aW9uLCB0aGUgY2hhcmFjdGVyaXN0aWNzIG9mIHRoZSB3YXRlciB0byBiZSBhbmFseXNlZCwgdGhlIHJlcXVpcmVkIGFjY3VyYWN5IG9mIHRlc3QgcmVzdWx0cyBhbmQgdGhlIGF2YWlsYWJsZSByZXNvdXJjZXMgb2YgdGhlIGxhYm9yYXRvcmllcy4gVGhlc2UgdGVzdCBtZXRob2RzIGFyZSB1c2VkIGZvciB3YXRlciBtb25pdG9yaW5nIGZvbGxvd2luZywgcGFzdCBvciBwcmVzZW50LCBhY2NpZGVudGFsIG9yIHJvdXRpbmUsIGxpcXVpZCBvciBnYXNlb3VzIGRpc2NoYXJnZXMuIEl0IGFsc28gY292ZXJzIHRoZSBtb25pdG9yaW5nIG9mIGNvbnRhbWluYXRpb24gY2F1c2VkIGJ5IGdsb2JhbCBmYWxsb3V0LiBXaGVuIGZhbGxvdXQgb2NjdXJzIGltbWVkaWF0ZWx5IGZvbGxvd2luZyBhIG51Y2xlYXIgYWNjaWRlbnQsIHRoZSBjb250cmlidXRpb24gb2YgODkgU3IgdG8gdGhlIHRvdGFsIGFtb3VudCBvZiBzdHJvbnRpdW0gYWN0aXZpdHkgaXMgbm90IG5lZ2xpZ2libGUuIElTTyAxMzE2MDoyMDEyIHByb3ZpZGVzIHRoZSB0ZXN0IG1ldGhvZHMgdG8gZGV0ZXJtaW5lIHRoZSBhY3Rpdml0eSBjb25jZW50cmF0aW9uIG9mIDkwIFNyIGluIHByZXNlbmNlIG9mIDg5IFNyLiAiLCJvYmplY3RJRCI6IjUzMzMyXzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjYwOjIwMTIgV2F0ZXIgcXVhbGl0eSDigJQgU3Ryb250aXVtIDkwIGFuZCBzdHJvbnRpdW0gODkg4oCUIFRlc3QgbWV0aG9kcyB1c2luZyBsaXF1aWQgc2NpbnRpbGxhdGlvbiBjb3VudGluZyBvciBwcm9wb3J0aW9uYWwgY291bnRpbmciLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjYwOjIwMTIgc3BlY2lmaWVzIHRoZSB0ZXN0IG1ldGhvZHMgYW5kIHRoZWlyIGFzc29jaWF0ZWQgcHJpbmNpcGxlcyBmb3IgdGhlIG1lYXN1cmVtZW50IG9mIHRoZSBhY3Rpdml0eSBvZiA5MCBTciBpbiBlcXVpbGlicml1bSB3aXRoIDkwIFksIGFuZCA4OSBTciwgcHVyZSBiZXRhLWVtaXR0aW5nIHJhZGlvbnVjbGlkZXMsIGluIHdhdGVyIHNhbXBsZXMuIERpZmZlcmVudCBjaGVtaWNhbCBzZXBhcmF0aW9uIG1ldGhvZHMgYXJlIHByZXNlbnRlZCB0byBwcm9kdWNlIHN0cm9udGl1bSBhbmQgeXR0cml1bSBzb3VyY2VzLCB0aGUgYWN0aXZpdHkgb2Ygd2hpY2ggaXMgZGV0ZXJtaW5lZCB1c2luZyBhIHByb3BvcnRpb25hbCBjb3VudGVyIChQQykgb3IgbGlxdWlkIHNjaW50aWxsYXRpb24gY291bnRlciAoTFNDKS4gVGhlIHNlbGVjdGlvbiBvZiB0aGUgdGVzdCBtZXRob2QgZGVwZW5kcyBvbiB0aGUgb3JpZ2luIG9mIHRoZSBjb250YW1pbmF0aW9uLCB0aGUgY2hhcmFjdGVyaXN0aWNzIG9mIHRoZSB3YXRlciB0byBiZSBhbmFseXNlZCwgdGhlIHJlcXVpcmVkIGFjY3VyYWN5IG9mIHRlc3QgcmVzdWx0cyBhbmQgdGhlIGF2YWlsYWJsZSByZXNvdXJjZXMgb2YgdGhlIGxhYm9yYXRvcmllcy4gVGhlc2UgdGVzdCBtZXRob2RzIGFyZSB1c2VkIGZvciB3YXRlciBtb25pdG9yaW5nIGZvbGxvd2luZywgcGFzdCBvciBwcmVzZW50LCBhY2NpZGVudGFsIG9yIHJvdXRpbmUsIGxpcXVpZCBvciBnYXNlb3VzIGRpc2NoYXJnZXMuIEl0IGFsc28gY292ZXJzIHRoZSBtb25pdG9yaW5nIG9mIGNvbnRhbWluYXRpb24gY2F1c2VkIGJ5IGdsb2JhbCBmYWxsb3V0LiBXaGVuIGZhbGxvdXQgb2NjdXJzIGltbWVkaWF0ZWx5IGZvbGxvd2luZyBhIG51Y2xlYXIgYWNjaWRlbnQsIHRoZSBjb250cmlidXRpb24gb2YgODkgU3IgdG8gdGhlIHRvdGFsIGFtb3VudCBvZiBzdHJvbnRpdW0gYWN0aXZpdHkgaXMgbm90IG5lZ2xpZ2libGUuIDxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT42MDoyMDEyIHByb3ZpZGVzIHRoZSB0ZXN0IG1ldGhvZHMgdG8gZGV0ZXJtaW5lIHRoZSBhY3Rpdml0eSBjb25jZW50cmF0aW9uIG9mIDkwIFNyIGluIHByZXNlbmNlIG9mIDg5IFNyLiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNi84Mi82ODI0NiIsInV1aWQiOiIwYTFmNDk5MC00ODI0LTQ3NDctYTllNC0xZThkZGIxODkxMWEiLCJ0aXRsZSI6IklTTyAxMzE0My0xOjIwMTYgRWxlY3Ryb25pYyBmZWUgY29sbGVjdGlvbiDigJQgRXZhbHVhdGlvbiBvZiBvbi1ib2FyZCBhbmQgcm9hZHNpZGUgZXF1aXBtZW50IGZvciBjb25mb3JtaXR5IHRvIElTTyAxMjgxMyDigJQgUGFydCAxOiBUZXN0IHN1aXRlIHN0cnVjdHVyZSBhbmQgdGVzdCBwdXJwb3NlcyIsInN0YXR1cyI6IldpdGhkcmF3biIsInllYXIiOjIwMjAsIm9yZGVyIjoxMDAsInRleHQiOiJJU08gMTgxNDMtMToyMDE2IHNwZWNpZmllcyB0aGUgdGVzdCBzdWl0ZSBzdHJ1Y3R1cmUgKFRTUykgYW5kIHRlc3QgcHVycG9zZXMgKFRQKSB0byBldmFsdWF0ZSB0aGUgY29uZm9ybWl0eSBvZiBvbi1ib2FyZCB1bml0cyAoT0JVKSBhbmQgcm9hZHNpZGUgZXF1aXBtZW50IChSU0UpIHRvIElTTyAxMjgxMzoyMDE1LiBJdCBwcm92aWRlcyBhIGJhc2lzIGZvciBjb25mb3JtYW5jZSB0ZXN0cyBmb3IgZGVkaWNhdGVkIHNob3J0LXJhbmdlIGNvbW11bmljYXRpb24gKERTUkMpIGVxdWlwbWVudCAob24tYm9hcmQgdW5pdHMgYW5kIHJvYWRzaWRlIHVuaXRzKSB0byBlbmFibGUgaW50ZXJvcGVyYWJpbGl0eSBiZXR3ZWVuIGRpZmZlcmVudCBlcXVpcG1lbnQgc3VwcGxpZWQgYnkgZGlmZmVyZW50IG1hbnVmYWN0dXJlcnMuICIsIm9iamVjdElEIjoiNjgyNDZfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NDMtMToyMDE2IEVsZWN0cm9uaWMgZmVlIGNvbGxlY3Rpb24g4oCUIEV2YWx1YXRpb24gb2Ygb24tYm9hcmQgYW5kIHJvYWRzaWRlIGVxdWlwbWVudCBmb3IgY29uZm9ybWl0eSB0byA8ZW0+SVNPPC9lbT4gMTI4MTMg4oCUIFBhcnQgMTogVGVzdCBzdWl0ZSBzdHJ1Y3R1cmUgYW5kIHRlc3QgcHVycG9zZXMiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDE4MTQzLTE6MjAxNiBzcGVjaWZpZXMgdGhlIHRlc3Qgc3VpdGUgc3RydWN0dXJlIChUU1MpIGFuZCB0ZXN0IHB1cnBvc2VzIChUUCkgdG8gZXZhbHVhdGUgdGhlIGNvbmZvcm1pdHkgb2Ygb24tYm9hcmQgdW5pdHMgKE9CVSkgYW5kIHJvYWRzaWRlIGVxdWlwbWVudCAoUlNFKSB0byA8ZW0+SVNPPC9lbT4gMTI4MTM6MjAxNS4gSXQgcHJvdmlkZXMgYSBiYXNpcyBmb3IgY29uZm9ybWFuY2UgdGVzdHMgZm9yIGRlZGljYXRlZCBzaG9ydC1yYW5nZSBjb21tdW5pY2F0aW9uIChEU1JDKSBlcXVpcG1lbnQgKG9uLWJvYXJkIHVuaXRzIGFuZCByb2Fkc2lkZSB1bml0cykgdG8gZW5hYmxlIGludGVyb3BlcmFiaWxpdHkgYmV0d2VlbiBkaWZmZXJlbnQgZXF1aXBtZW50IHN1cHBsaWVkIGJ5IGRpZmZlcmVudCBtYW51ZmFjdHVyZXJzLiAiLCJtYXRjaExldmVsIjoicGFydGlhbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNS85Mi81OTIwOSIsInV1aWQiOiI4MmE1ZjVjZS05NjAwLTRjOTMtODQzZS1lNmI5ZjE2ZmI3MmMiLCJ0aXRsZSI6IklTTyAxMzE2NjoyMDE0IFdhdGVyIHF1YWxpdHkg4oCUIFVyYW5pdW0gaXNvdG9wZXMg4oCUIFRlc3QgbWV0aG9kIHVzaW5nIGFscGhhLXNwZWN0cm9tZXRyeSIsInN0YXR1cyI6IldpdGhkcmF3biIsInllYXIiOjIwMjAsIm9yZGVyIjoxMDAsInRleHQiOiJJU08gMTMxNjY6MjAxNCBzcGVjaWZpZXMgdGhlIGNvbmRpdGlvbnMgZm9yIHRoZSBkZXRlcm1pbmF0aW9uIG9mIHVyYW5pdW0gaXNvdG9wZSBhY3Rpdml0eSBjb25jZW50cmF0aW9uIGluIHNhbXBsZXMgb2YgZW52aXJvbm1lbnRhbCB3YXRlciAoaW5jbHVkaW5nIHNlYSB3YXRlcnMpIHVzaW5nIGFscGhhLXNwZWN0cm9tZXRyeSBhbmQgMjMyIFUgYXMgYSB5aWVsZCB0cmFjZXIuIEEgY2hlbWljYWwgc2VwYXJhdGlvbiBpcyByZXF1aXJlZCB0byBzZXBhcmF0ZSBhbmQgcHVyaWZ5IHVyYW5pdW0gZnJvbSBhIHRlc3QgcG9ydGlvbiBvZiB0aGUgc2FtcGxlLiBQbHV0b25pdW0gaXNvdG9wZXMgY2FuIGludGVyZmVyZSwgaWYgcHJlc2VudCwgd2l0aCBkZXRlY3RhYmxlIGFjdGl2aXRpZXMgaW4gdGhlIHNhbXBsZS4gVGhlIGRldGVjdGlvbiBsaW1pdCBmb3IgbWVhc3VyZW1lbnQgb2YgYSB0ZXN0IHBvcnRpb24gb2YgYWJvdXQgNTAwIG1sIGlzIGFwcHJveGltYXRlbHkgNSBtQnEgwrcgbCDiiJIxIHdpdGggYSBjb3VudGluZyB0aW1lIG9mIGFib3V0IDIwMCAwMDAgcy4gIiwib2JqZWN0SUQiOiI1OTIwOV8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT42NjoyMDE0IFdhdGVyIHF1YWxpdHkg4oCUIFVyYW5pdW0gaXNvdG9wZXMg4oCUIFRlc3QgbWV0aG9kIHVzaW5nIGFscGhhLXNwZWN0cm9tZXRyeSIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NjY6MjAxNCBzcGVjaWZpZXMgdGhlIGNvbmRpdGlvbnMgZm9yIHRoZSBkZXRlcm1pbmF0aW9uIG9mIHVyYW5pdW0gaXNvdG9wZSBhY3Rpdml0eSBjb25jZW50cmF0aW9uIGluIHNhbXBsZXMgb2YgZW52aXJvbm1lbnRhbCB3YXRlciAoaW5jbHVkaW5nIHNlYSB3YXRlcnMpIHVzaW5nIGFscGhhLXNwZWN0cm9tZXRyeSBhbmQgMjMyIFUgYXMgYSB5aWVsZCB0cmFjZXIuIEEgY2hlbWljYWwgc2VwYXJhdGlvbiBpcyByZXF1aXJlZCB0byBzZXBhcmF0ZSBhbmQgcHVyaWZ5IHVyYW5pdW0gZnJvbSBhIHRlc3QgcG9ydGlvbiBvZiB0aGUgc2FtcGxlLiBQbHV0b25pdW0gaXNvdG9wZXMgY2FuIGludGVyZmVyZSwgaWYgcHJlc2VudCwgd2l0aCBkZXRlY3RhYmxlIGFjdGl2aXRpZXMgaW4gdGhlIHNhbXBsZS4gVGhlIGRldGVjdGlvbiBsaW1pdCBmb3IgbWVhc3VyZW1lbnQgb2YgYSB0ZXN0IHBvcnRpb24gb2YgYWJvdXQgNTAwIG1sIGlzIGFwcHJveGltYXRlbHkgNSBtQnEgwrcgbCDiiJIxIHdpdGggYSBjb3VudGluZyB0aW1lIG9mIGFib3V0IDIwMCAwMDAgcy4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDUvMzQvNTM0MDIiLCJ1dWlkIjoiNmI2ZmM3YzUtNzRhYS00NjkwLWEyNmMtZDYyNGMzNzE5NGNmIiwidGl0bGUiOiJJU08gMTMxNjE6MjAxMSBXYXRlciBxdWFsaXR5IOKAlCBNZWFzdXJlbWVudCBvZiBwb2xvbml1bSAyMTAgYWN0aXZpdHkgY29uY2VudHJhdGlvbiBpbiB3YXRlciBieSBhbHBoYSBzcGVjdHJvbWV0cnkiLCJzdGF0dXMiOiJXaXRoZHJhd24iLCJ5ZWFyIjoyMDIwLCJvcmRlciI6MTAwLCJ0ZXh0IjoiSVNPIDEzMTYxOjIwMTEgc3BlY2lmaWVzIHRoZSBtZWFzdXJlbWVudCBvZiAyMTAgUG8gYWN0aXZpdHkgY29uY2VudHJhdGlvbiBieSBhbHBoYSBzcGVjdHJvbWV0cnkgaW4gYWxsIGtpbmRzIG9mIG5hdHVyYWwgd2F0ZXJzLiBUaGUgZGV0ZWN0aW9uIGxpbWl0IG9mIHRoaXMgbWV0aG9kIGRlcGVuZHMgb24gdGhlIHZvbHVtZSBvZiB0aGUgc2FtcGxlLCB0aGUgY291bnRpbmcgdGltZSwgdGhlIGJhY2tncm91bmQgY291bnQgcmF0ZSBhbmQgdGhlIGRldGVjdGlvbiBlZmZpY2llbmN5LiBJbiB0aGUgY2FzZSBvZiBkcmlua2luZyB3YXRlciwgdGhlIGFuYWx5c2lzIGlzIHVzdWFsbHkgY2FycmllZCBvdXQgb24gdGhlIHJhdyBzYW1wbGUsIHdpdGhvdXQgZmlsdHJhdGlvbiBvciBvdGhlciBwcmV0cmVhdG1lbnQuIElmIHN1c3BlbmRlZCBtYXRlcmlhbCBoYXMgdG8gYmUgcmVtb3ZlZCBvciBhbmFseXNlZCwgZmlsdHJhdGlvbiBhdCAwLDQ1IMK1bSBpcyByZWNvbW1lbmRlZC4gVGhlIGFuYWx5c2lzIG9mIHRoZSBpbnNvbHVibGUgZnJhY3Rpb24gcmVxdWlyZXMgYSBtaW5lcmFsaXphdGlvbiBzdGVwIHRoYXQgaXMgbm90IGNvdmVyZWQgYnkgSVNPIDEzMTYxOjIwMTEuIEluIHRoaXMgY2FzZSwgdGhlIG1lYXN1cmVtZW50IGlzIG1hZGUgb24gdGhlIGRpZmZlcmVudCBwaGFzZXMgb2J0YWluZWQuIFRoZSBmaW5hbCBhY3Rpdml0eSBpcyB0aGUgc3VtIG9mIGFsbCB0aGUgbWVhc3VyZWQgYWN0aXZpdHkgY29uY2VudHJhdGlvbnMuICIsIm9iamVjdElEIjoiNTM0MDJfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NjE6MjAxMSBXYXRlciBxdWFsaXR5IOKAlCBNZWFzdXJlbWVudCBvZiBwb2xvbml1bSAyMTAgYWN0aXZpdHkgY29uY2VudHJhdGlvbiBpbiB3YXRlciBieSBhbHBoYSBzcGVjdHJvbWV0cnkiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjYxOjIwMTEgc3BlY2lmaWVzIHRoZSBtZWFzdXJlbWVudCBvZiAyMTAgUG8gYWN0aXZpdHkgY29uY2VudHJhdGlvbiBieSBhbHBoYSBzcGVjdHJvbWV0cnkgaW4gYWxsIGtpbmRzIG9mIG5hdHVyYWwgd2F0ZXJzLiBUaGUgZGV0ZWN0aW9uIGxpbWl0IG9mIHRoaXMgbWV0aG9kIGRlcGVuZHMgb24gdGhlIHZvbHVtZSBvZiB0aGUgc2FtcGxlLCB0aGUgY291bnRpbmcgdGltZSwgdGhlIGJhY2tncm91bmQgY291bnQgcmF0ZSBhbmQgdGhlIGRldGVjdGlvbiBlZmZpY2llbmN5LiBJbiB0aGUgY2FzZSBvZiBkcmlua2luZyB3YXRlciwgdGhlIGFuYWx5c2lzIGlzIHVzdWFsbHkgY2FycmllZCBvdXQgb24gdGhlIHJhdyBzYW1wbGUsIHdpdGhvdXQgZmlsdHJhdGlvbiBvciBvdGhlciBwcmV0cmVhdG1lbnQuIElmIHN1c3BlbmRlZCBtYXRlcmlhbCBoYXMgdG8gYmUgcmVtb3ZlZCBvciBhbmFseXNlZCwgZmlsdHJhdGlvbiBhdCAwLDQ1IMK1bSBpcyByZWNvbW1lbmRlZC4gVGhlIGFuYWx5c2lzIG9mIHRoZSBpbnNvbHVibGUgZnJhY3Rpb24gcmVxdWlyZXMgYSBtaW5lcmFsaXphdGlvbiBzdGVwIHRoYXQgaXMgbm90IGNvdmVyZWQgYnkgPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjYxOjIwMTEuIEluIHRoaXMgY2FzZSwgdGhlIG1lYXN1cmVtZW50IGlzIG1hZGUgb24gdGhlIGRpZmZlcmVudCBwaGFzZXMgb2J0YWluZWQuIFRoZSBmaW5hbCBhY3Rpdml0eSBpcyB0aGUgc3VtIG9mIGFsbCB0aGUgbWVhc3VyZWQgYWN0aXZpdHkgY29uY2VudHJhdGlvbnMuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA1LzI5LzUyOTUyIiwidXVpZCI6IjBkN2M1NmM2LWI0OTctNGNmNC04NjM0LWJmNThmYzQ3ZDQ0NyIsInRpdGxlIjoiSVNPIDEzMTIwOjIwMTMgSGVhbHRoIGluZm9ybWF0aWNzIOKAlCBTeW50YXggdG8gcmVwcmVzZW50IHRoZSBjb250ZW50IG9mIGhlYWx0aGNhcmUgY2xhc3NpZmljYXRpb24gc3lzdGVtcyDigJQgQ2xhc3NpZmljYXRpb24gTWFya3VwIExhbmd1YWdlIChDbGFNTCkiLCJzdGF0dXMiOiJXaXRoZHJhd24iLCJ5ZWFyIjoyMDE5LCJvcmRlciI6MTAwLCJ0ZXh0IjoiVGhlIG1haW4gcHVycG9zZSBvZiBJU08gMTMxMjA6MjAxMyBpcyB0byBmb3JtYWxseSByZXByZXNlbnQgdGhlIGNvbnRlbnQgYW5kIGhpZXJhcmNoaWNhbCBzdHJ1Y3R1cmUgb2YgaGVhbHRoY2FyZSBjbGFzc2lmaWNhdGlvbiBzeXN0ZW1zIGluIGEgbWFya3VwIGxhbmd1YWdlIGZvciB0aGUgc2FmZSBleGNoYW5nZSBhbmQgZGlzdHJpYnV0aW9uIG9mIGRhdGEgYW5kIHN0cnVjdHVyZSBiZXR3ZWVuIG9yZ2FuaXphdGlvbnMgYW5kIGRpc3NpbWlsYXIgc29mdHdhcmUgcHJvZHVjdHMuIFRoZSBzY29wZSBvZiBoZWFsdGhjYXJlIGNsYXNzaWZpY2F0aW9ucyBzeXN0ZW1zIGNvdmVyZWQgaW4gSVNPIDEzMTIwOjIwMTMgZW5jb21wYXNzZXMgdGVybWlub2xvZ2llcywgYW5kIGlzIGNvbnN0cmFpbmVkIHRvIHRyYWRpdGlvbmFsIHBhcGVyLWJhc2VkIHN5c3RlbXMgKGxpa2UgSUNELTEwKSBhbmQgc3lzdGVtcyBidWlsdCBhY2NvcmRpbmcgdG8gY2F0ZWdvcmlhbCBzdHJ1Y3R1cmVzIGFuZCBhIGNyb3NzIHRoZXNhdXJ1cyAobGlrZSBJQ05QKS4gSVNPIDEzMTIwOjIwMTMgaXMgaW50ZW5kZWQgZm9yIHJlcHJlc2VudGF0aW9uIG9mIGhlYWx0aGNhcmUgY2xhc3NpZmljYXRpb24gc3lzdGVtcyBpbiB3aGljaCBjbGFzc2VzIGhhdmUgdGV4dHVhbCBkZWZpbml0aW9ucywgaGllcmFyY2hpY2FsIG9yZGVyaW5nLCBuYW1lZCBoaWVyYXJjaGljYWwgbGV2ZWxzIChzdWNoIGFzIFwiY2hhcHRlclwiLCBcInNlY3Rpb25cIiksIGluY2x1c2lvbi0gYW5kIGV4Y2x1c2lvbiBjcml0ZXJpYSwgYW5kIGNvZGVzLiBJdCBpcyBub3QgaW50ZW5kZWQgdG8gY292ZXIgYW55IGZvcm1hbCByZXByZXNlbnRhdGlvbiwgZWl0aGVyIGZvciBkZWZpbml0aW9uIG9yIGNvbXBvc2l0aW9uLCBvZiBjb25jZXB0cywgb3IgZm9yIHNwZWNpZmljYXRpb24gb2YgY2xhc3NpZmljYXRpb24gcnVsZXMuIFN5c3RlbXMgd2l0aCBzdWNoIGZvcm1hbCBzcGVjaWZpY2F0aW9ucyBjYW4gYXQgYmVzdCBiZSBwYXJ0aWFsbHkgcmVwcmVzZW50ZWQgdXNpbmcgSVNPIDEzMTIwOjIwMTMsIGFuZCBhcmUgaGVuY2Ugb3V0IG9mIHNjb3BlLiBJU08gMTMxMjA6MjAxMyBpcyBub3QgaW50ZW5kZWQgdG86IHByb3ZpZGUgYSBub3JtYXRpdmUgc3ludGF4IG9uIGhvdyBhIGhlYWx0aGNhcmUgY2xhc3NpZmljYXRpb24gc3lzdGVtIGlzIHRvIGJlIGNvbnN0cnVjdGVkOyBkZWZpbmUgbGluayB0eXBlcyBiZXR3ZWVuIGVsZW1lbnRzIGluIGEgaGVhbHRoY2FyZSBjbGFzc2lmaWNhdGlvbiBzeXN0ZW07IHRoaXMgaXMgbGVmdCB0byB0aGUgZGV2ZWxvcGVycyBvZiBoZWFsdGhjYXJlIGNsYXNzaWZpY2F0aW9uIHN5c3RlbXM7IHByb3ZpZGUgYSByZXByZXNlbnRhdGlvbiBmb3IgZGlyZWN0IHZpZXdpbmcgb3IgcHJpbnRpbmcuICIsIm9iamVjdElEIjoiNTI5NTJfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+MjA6MjAxMyBIZWFsdGggaW5mb3JtYXRpY3Mg4oCUIFN5bnRheCB0byByZXByZXNlbnQgdGhlIGNvbnRlbnQgb2YgaGVhbHRoY2FyZSBjbGFzc2lmaWNhdGlvbiBzeXN0ZW1zIOKAlCBDbGFzc2lmaWNhdGlvbiBNYXJrdXAgTGFuZ3VhZ2UgKENsYU1MKSIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiJUaGUgbWFpbiBwdXJwb3NlIG9mIDxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT4yMDoyMDEzIGlzIHRvIGZvcm1hbGx5IHJlcHJlc2VudCB0aGUgY29udGVudCBhbmQgaGllcmFyY2hpY2FsIHN0cnVjdHVyZSBvZiBoZWFsdGhjYXJlIGNsYXNzaWZpY2F0aW9uIHN5c3RlbXMgaW4gYSBtYXJrdXAgbGFuZ3VhZ2UgZm9yIHRoZSBzYWZlIGV4Y2hhbmdlIGFuZCBkaXN0cmlidXRpb24gb2YgZGF0YSBhbmQgc3RydWN0dXJlIGJldHdlZW4gb3JnYW5pemF0aW9ucyBhbmQgZGlzc2ltaWxhciBzb2Z0d2FyZSBwcm9kdWN0cy4gVGhlIHNjb3BlIG9mIGhlYWx0aGNhcmUgY2xhc3NpZmljYXRpb25zIHN5c3RlbXMgY292ZXJlZCBpbiA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+MjA6MjAxMyBlbmNvbXBhc3NlcyB0ZXJtaW5vbG9naWVzLCBhbmQgaXMgY29uc3RyYWluZWQgdG8gdHJhZGl0aW9uYWwgcGFwZXItYmFzZWQgc3lzdGVtcyAobGlrZSBJQ0QtMTApIGFuZCBzeXN0ZW1zIGJ1aWx0IGFjY29yZGluZyB0byBjYXRlZ29yaWFsIHN0cnVjdHVyZXMgYW5kIGEgY3Jvc3MgdGhlc2F1cnVzIChsaWtlIElDTlApLiA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+MjA6MjAxMyBpcyBpbnRlbmRlZCBmb3IgcmVwcmVzZW50YXRpb24gb2YgaGVhbHRoY2FyZSBjbGFzc2lmaWNhdGlvbiBzeXN0ZW1zIGluIHdoaWNoIGNsYXNzZXMgaGF2ZSB0ZXh0dWFsIGRlZmluaXRpb25zLCBoaWVyYXJjaGljYWwgb3JkZXJpbmcsIG5hbWVkIGhpZXJhcmNoaWNhbCBsZXZlbHMgKHN1Y2ggYXMgXCJjaGFwdGVyXCIsIFwic2VjdGlvblwiKSwgaW5jbHVzaW9uLSBhbmQgZXhjbHVzaW9uIGNyaXRlcmlhLCBhbmQgY29kZXMuIEl0IGlzIG5vdCBpbnRlbmRlZCB0byBjb3ZlciBhbnkgZm9ybWFsIHJlcHJlc2VudGF0aW9uLCBlaXRoZXIgZm9yIGRlZmluaXRpb24gb3IgY29tcG9zaXRpb24sIG9mIGNvbmNlcHRzLCBvciBmb3Igc3BlY2lmaWNhdGlvbiBvZiBjbGFzc2lmaWNhdGlvbiBydWxlcy4gU3lzdGVtcyB3aXRoIHN1Y2ggZm9ybWFsIHNwZWNpZmljYXRpb25zIGNhbiBhdCBiZXN0IGJlIHBhcnRpYWxseSByZXByZXNlbnRlZCB1c2luZyA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+MjA6MjAxMywgYW5kIGFyZSBoZW5jZSBvdXQgb2Ygc2NvcGUuIDxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT4yMDoyMDEzIGlzIG5vdCBpbnRlbmRlZCB0bzogcHJvdmlkZSBhIG5vcm1hdGl2ZSBzeW50YXggb24gaG93IGEgaGVhbHRoY2FyZSBjbGFzc2lmaWNhdGlvbiBzeXN0ZW0gaXMgdG8gYmUgY29uc3RydWN0ZWQ7IGRlZmluZSBsaW5rIHR5cGVzIGJldHdlZW4gZWxlbWVudHMgaW4gYSBoZWFsdGhjYXJlIGNsYXNzaWZpY2F0aW9uIHN5c3RlbTsgdGhpcyBpcyBsZWZ0IHRvIHRoZSBkZXZlbG9wZXJzIG9mIGhlYWx0aGNhcmUgY2xhc3NpZmljYXRpb24gc3lzdGVtczsgcHJvdmlkZSBhIHJlcHJlc2VudGF0aW9uIGZvciBkaXJlY3Qgdmlld2luZyBvciBwcmludGluZy4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDAvNTgvNTg5MSIsInV1aWQiOiIyNmZmNzQ1MS02ZGQ5LTQ4YjYtYjFkMC0yODkyZTBhZGU3NDMiLCJ0aXRsZSI6IklTTyAxMzEwOjE5NzQgQ2FyYm9uIGJsYWNrIGZvciB1c2UgaW4gdGhlIHJ1YmJlciBpbmR1c3RyeSDigJQgU2FtcGxpbmcgcGFja2FnZWQgc2hpcG1lbnRzIiwic3RhdHVzIjoiV2l0aGRyYXduIiwieWVhciI6MTk4OSwib3JkZXIiOjEwMCwib2JqZWN0SUQiOiI1ODkxXzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjA6MTk3NCBDYXJib24gYmxhY2sgZm9yIHVzZSBpbiB0aGUgcnViYmVyIGluZHVzdHJ5IOKAlCBTYW1wbGluZyBwYWNrYWdlZCBzaGlwbWVudHMiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wOC80OS84NDkxNSIsInV1aWQiOiIwN2MwYjI4ZS00NzM1LTRjOWMtOTFlOS1iNjQzNGExYjliZjAiLCJ0aXRsZSI6IklTTy9BV0kgMTMxMDUtMiBCdWlsZGluZyBjb25zdHJ1Y3Rpb24gbWFjaGluZXJ5IGFuZCBlcXVpcG1lbnQg4oCUIE1hY2hpbmVyeSBmb3IgY29uY3JldGUgc3VyZmFjZSBmbG9hdGluZyBhbmQgZmluaXNoaW5nIOKAlCBQYXJ0IDI6IFNhZmV0eSByZXF1aXJlbWVudHMgYW5kIHZlcmlmaWNhdGlvbiIsInN0YXR1cyI6IlVuZGVyIGRldmVsb3BtZW50IiwieWVhciI6MjAyMiwib3JkZXIiOjEyLCJ0ZXh0IjoiSVNPIDEzMTA1LTI6MjAxNCBzcGVjaWZpZXMgc2FmZXR5IHJlcXVpcmVtZW50cyBmb3IgbWFjaGluZXMgdXNlZCBmb3IgY29uY3JldGUgc3VyZmFjZSBmbG9hdGluZyBhbmQgZmluaXNoaW5nLiBUaGlzIGluY2x1ZGVzIHBlZGVzdHJpYW4tY29udHJvbGxlZCBlcXVpcG1lbnQgYW5kIHJpZGUtb24gZXF1aXBtZW50LiBJdCBpcyBub3QgYXBwbGljYWJsZSB0byBpbnRlcm5hbCBvciBleHRlcm5hbCB2aWJyYXRvcnMgb3IgYW5jaWxsYXJ5IGVxdWlwbWVudCB1c2VkIHdpdGggaW50ZXJuYWwgYW5kIGV4dGVybmFsIHZpYnJhdG9ycywgZm9yIGV4YW1wbGUsIGFpciBjb21wcmVzc29ycywgaHlkcmF1bGljIHBvd2VyIHNvdXJjZXMsIGFuZCB2b2x0YWdlIHRyYW5zZm9ybWVycywgdG8gcmVtb3RlLWNvbnRyb2xsZWQgb3IgaGFuZC1oZWxkIHNtb290aGluZyBtYWNoaW5lcyBhbmQgc2VsZi1hY3RpbmcgKHJvYm90aWMpIHNtb290aGluZyBtYWNoaW5lcywgb3IgdG8gc3RyaWtlLW9mZiB0eXBlIG1hY2hpbmVzIGNvbW1vbmx5IGtub3duIGFzIHNjcmVlZHMuIEl0IGRlYWxzIHdpdGggc2lnbmlmaWNhbnQgaGF6YXJkcywgaGF6YXJkb3VzIHNpdHVhdGlvbnMsIG9yIGhhemFyZG91cyBldmVudHMgcmVsZXZhbnQgdG8gbWFjaGluZXJ5IGZvciBjb25jcmV0ZSBzdXJmYWNlIGZsb2F0aW5nIGFuZCBmaW5pc2hpbmcgKHBvd2VyIHRyb3dlbHMpIHdoZW4gdXNlZCBhcyBpbnRlbmRlZCBhbmQgdW5kZXIgY29uZGl0aW9ucyBvZiBtaXN1c2Ugd2hpY2ggYXJlIHJlYXNvbmFibHkgZm9yZXNlZWFibGUgYnkgdGhlIG1hbnVmYWN0dXJlci4gSXQgaXMgbm90IGFwcGxpY2FibGUgdG8gbWFjaGluZXMgd2hpY2ggYXJlIG1hbnVmYWN0dXJlZCBiZWZvcmUgdGhlIGRhdGUgb2YgaXRzIHB1YmxpY2F0aW9uLiAiLCJvYmplY3RJRCI6Ijg0OTE1XzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+L0FXSSA8ZW0+MTMxPC9lbT4wNS0yIEJ1aWxkaW5nIGNvbnN0cnVjdGlvbiBtYWNoaW5lcnkgYW5kIGVxdWlwbWVudCDigJQgTWFjaGluZXJ5IGZvciBjb25jcmV0ZSBzdXJmYWNlIGZsb2F0aW5nIGFuZCBmaW5pc2hpbmcg4oCUIFBhcnQgMjogU2FmZXR5IHJlcXVpcmVtZW50cyBhbmQgdmVyaWZpY2F0aW9uIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT4wNS0yOjIwMTQgc3BlY2lmaWVzIHNhZmV0eSByZXF1aXJlbWVudHMgZm9yIG1hY2hpbmVzIHVzZWQgZm9yIGNvbmNyZXRlIHN1cmZhY2UgZmxvYXRpbmcgYW5kIGZpbmlzaGluZy4gVGhpcyBpbmNsdWRlcyBwZWRlc3RyaWFuLWNvbnRyb2xsZWQgZXF1aXBtZW50IGFuZCByaWRlLW9uIGVxdWlwbWVudC4gSXQgaXMgbm90IGFwcGxpY2FibGUgdG8gaW50ZXJuYWwgb3IgZXh0ZXJuYWwgdmlicmF0b3JzIG9yIGFuY2lsbGFyeSBlcXVpcG1lbnQgdXNlZCB3aXRoIGludGVybmFsIGFuZCBleHRlcm5hbCB2aWJyYXRvcnMsIGZvciBleGFtcGxlLCBhaXIgY29tcHJlc3NvcnMsIGh5ZHJhdWxpYyBwb3dlciBzb3VyY2VzLCBhbmQgdm9sdGFnZSB0cmFuc2Zvcm1lcnMsIHRvIHJlbW90ZS1jb250cm9sbGVkIG9yIGhhbmQtaGVsZCBzbW9vdGhpbmcgbWFjaGluZXMgYW5kIHNlbGYtYWN0aW5nIChyb2JvdGljKSBzbW9vdGhpbmcgbWFjaGluZXMsIG9yIHRvIHN0cmlrZS1vZmYgdHlwZSBtYWNoaW5lcyBjb21tb25seSBrbm93biBhcyBzY3JlZWRzLiBJdCBkZWFscyB3aXRoIHNpZ25pZmljYW50IGhhemFyZHMsIGhhemFyZG91cyBzaXR1YXRpb25zLCBvciBoYXphcmRvdXMgZXZlbnRzIHJlbGV2YW50IHRvIG1hY2hpbmVyeSBmb3IgY29uY3JldGUgc3VyZmFjZSBmbG9hdGluZyBhbmQgZmluaXNoaW5nIChwb3dlciB0cm93ZWxzKSB3aGVuIHVzZWQgYXMgaW50ZW5kZWQgYW5kIHVuZGVyIGNvbmRpdGlvbnMgb2YgbWlzdXNlIHdoaWNoIGFyZSByZWFzb25hYmx5IGZvcmVzZWVhYmxlIGJ5IHRoZSBtYW51ZmFjdHVyZXIuIEl0IGlzIG5vdCBhcHBsaWNhYmxlIHRvIG1hY2hpbmVzIHdoaWNoIGFyZSBtYW51ZmFjdHVyZWQgYmVmb3JlIHRoZSBkYXRlIG9mIGl0cyBwdWJsaWNhdGlvbi4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDgvNDkvODQ5MTQiLCJ1dWlkIjoiYTBjNGZiMjUtYzFmOS00YmYyLWIwODEtYjM1MDFlNWI0OGU4IiwidGl0bGUiOiJJU08vQVdJIDEzMTA1LTEgQnVpbGRpbmcgY29uc3RydWN0aW9uIG1hY2hpbmVyeSBhbmQgZXF1aXBtZW50IOKAlCBNYWNoaW5lcnkgZm9yIGNvbmNyZXRlIHN1cmZhY2UgZmxvYXRpbmcgYW5kIGZpbmlzaGluZyDigJQgUGFydCAxOiBUZXJtcyBhbmQgY29tbWVyY2lhbCBzcGVjaWZpY2F0aW9ucyIsInN0YXR1cyI6IlVuZGVyIGRldmVsb3BtZW50IiwieWVhciI6MjAyMiwib3JkZXIiOjEyLCJ0ZXh0IjoiSVNPIDEzMTA1LTE6MjAxNCBkZWZpbmVzIHRlcm1zIGFuZCBjb21tZXJjaWFsIHNwZWNpZmljYXRpb25zIGZvciBtYWNoaW5lcyB1c2VkIGZvciBjb25jcmV0ZSBzdXJmYWNlIGZsb2F0aW5nIGFuZCBmaW5pc2hpbmcgKGFsc28ga25vd24gYXMgcG93ZXIgdHJvd2VscykuIFRoaXMgaW5jbHVkZXMgcGVkZXN0cmlhbi1jb250cm9sbGVkIGVxdWlwbWVudCBhbmQgcmlkZS1vbiBlcXVpcG1lbnQuIEl0IGRvZXMgbm90IGFkZHJlc3Mgc3RyaWtlLW9mZiB0eXBlIG1hY2hpbmVzLCBjb21tb25seSBrbm93biBhcyBzY3JlZWRzLiAiLCJvYmplY3RJRCI6Ijg0OTE0XzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+L0FXSSA8ZW0+MTMxPC9lbT4wNS0xIEJ1aWxkaW5nIGNvbnN0cnVjdGlvbiBtYWNoaW5lcnkgYW5kIGVxdWlwbWVudCDigJQgTWFjaGluZXJ5IGZvciBjb25jcmV0ZSBzdXJmYWNlIGZsb2F0aW5nIGFuZCBmaW5pc2hpbmcg4oCUIFBhcnQgMTogVGVybXMgYW5kIGNvbW1lcmNpYWwgc3BlY2lmaWNhdGlvbnMiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjA1LTE6MjAxNCBkZWZpbmVzIHRlcm1zIGFuZCBjb21tZXJjaWFsIHNwZWNpZmljYXRpb25zIGZvciBtYWNoaW5lcyB1c2VkIGZvciBjb25jcmV0ZSBzdXJmYWNlIGZsb2F0aW5nIGFuZCBmaW5pc2hpbmcgKGFsc28ga25vd24gYXMgcG93ZXIgdHJvd2VscykuIFRoaXMgaW5jbHVkZXMgcGVkZXN0cmlhbi1jb250cm9sbGVkIGVxdWlwbWVudCBhbmQgcmlkZS1vbiBlcXVpcG1lbnQuIEl0IGRvZXMgbm90IGFkZHJlc3Mgc3RyaWtlLW9mZiB0eXBlIG1hY2hpbmVzLCBjb21tb25seSBrbm93biBhcyBzY3JlZWRzLiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wOC8zMC84MzA1NiIsInV1aWQiOiI0MmQ0NjUyZC1mZjk5LTRmNGMtYjdlZS1jYzI4OTQ3YWU1OGYiLCJ0aXRsZSI6IklTTy9ESVMgMTMxNjcgV2F0ZXIgcXVhbGl0eSDigJQgUGx1dG9uaXVtLCBhbWVyaWNpdW0sIGN1cml1bSBhbmQgbmVwdHVuaXVtIOKAlCBUZXN0IG1ldGhvZCB1c2luZyBhbHBoYSBzcGVjdHJvbWV0cnkiLCJzdGF0dXMiOiJVbmRlciBkZXZlbG9wbWVudCIsInllYXIiOjIwMjIsIm9yZGVyIjoxMiwidGV4dCI6IklTTyAxMzE2NzoyMDE1IHNwZWNpZmllcyBhIHRlc3QgbWV0aG9kIGZvciBtZWFzdXJpbmcgYWN0aW5pZGVzICggMjM4IFB1LCAyMzkrMjQwIFB1LCAyNDEgQW0sIDI0MiBDbSwgMjQzKzI0NCBDbSBhbmQgMjM3IE5wKSBpbiB3YXRlciBzYW1wbGVzIGJ5IGFscGhhIHNwZWN0cm9tZXRyeSBmb2xsb3dpbmcgYSBjaGVtaWNhbCBzZXBhcmF0aW9uLiBUaGUgbWV0aG9kIGNhbiBiZSB1c2VkIGZvciBhbnkgdHlwZSBvZiBlbnZpcm9ubWVudGFsIHN0dWR5IG9yIG1vbml0b3JpbmcuIFRoZSB2b2x1bWUgb2YgdGhlIHRlc3QgcG9ydGlvbiByZXF1aXJlZCBkZXBlbmRzIG9uIHRoZSBhc3N1bWVkIGFjdGl2aXR5IG9mIHRoZSBzYW1wbGUgYW5kIHRoZSBkZXNpcmVkIGRldGVjdGlvbiBsaW1pdC4gVGhlIGRldGVjdGlvbiBsaW1pdCBvZiB0aGUgdGVzdCBtZXRob2QgaXMgNSDDlyAxMCDiiJIzIHRvIDUgw5cgMTAg4oiSNCBCcS9sIGZvciBhIHZvbHVtZSBvZiB0aGUgdGVzdCBwb3J0aW9uIG9mIDAsMSBsIHRvIDUgbCB3aXRoIGEgY291bnRpbmcgdGltZSBvZiB0d28gdG8gdGVuIGRheXMuICIsIm9iamVjdElEIjoiODMwNTZfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4vRElTIDxlbT4xMzE8L2VtPjY3IFdhdGVyIHF1YWxpdHkg4oCUIFBsdXRvbml1bSwgYW1lcmljaXVtLCBjdXJpdW0gYW5kIG5lcHR1bml1bSDigJQgVGVzdCBtZXRob2QgdXNpbmcgYWxwaGEgc3BlY3Ryb21ldHJ5IiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT42NzoyMDE1IHNwZWNpZmllcyBhIHRlc3QgbWV0aG9kIGZvciBtZWFzdXJpbmcgYWN0aW5pZGVzICggMjM4IFB1LCAyMzkrMjQwIFB1LCAyNDEgQW0sIDI0MiBDbSwgMjQzKzI0NCBDbSBhbmQgMjM3IE5wKSBpbiB3YXRlciBzYW1wbGVzIGJ5IGFscGhhIHNwZWN0cm9tZXRyeSBmb2xsb3dpbmcgYSBjaGVtaWNhbCBzZXBhcmF0aW9uLiBUaGUgbWV0aG9kIGNhbiBiZSB1c2VkIGZvciBhbnkgdHlwZSBvZiBlbnZpcm9ubWVudGFsIHN0dWR5IG9yIG1vbml0b3JpbmcuIFRoZSB2b2x1bWUgb2YgdGhlIHRlc3QgcG9ydGlvbiByZXF1aXJlZCBkZXBlbmRzIG9uIHRoZSBhc3N1bWVkIGFjdGl2aXR5IG9mIHRoZSBzYW1wbGUgYW5kIHRoZSBkZXNpcmVkIGRldGVjdGlvbiBsaW1pdC4gVGhlIGRldGVjdGlvbiBsaW1pdCBvZiB0aGUgdGVzdCBtZXRob2QgaXMgNSDDlyAxMCDiiJIzIHRvIDUgw5cgMTAg4oiSNCBCcS9sIGZvciBhIHZvbHVtZSBvZiB0aGUgdGVzdCBwb3J0aW9uIG9mIDAsMSBsIHRvIDUgbCB3aXRoIGEgY291bnRpbmcgdGltZSBvZiB0d28gdG8gdGVuIGRheXMuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA4LzMwLzgzMDU1IiwidXVpZCI6IjIwODFmODc5LWZkNDAtNGZjZi1iMzEzLTNkYWM2MzQwNDc0NCIsInRpdGxlIjoiSVNPL0RJUyAxMzE2NC00IFdhdGVyIHF1YWxpdHkg4oCUIFJhZG9uLTIyMiDigJQgUGFydCA0OiBUZXN0IG1ldGhvZCB1c2luZyB0d28tcGhhc2UgbGlxdWlkIHNjaW50aWxsYXRpb24gY291bnRpbmciLCJzdGF0dXMiOiJVbmRlciBkZXZlbG9wbWVudCIsInllYXIiOjIwMjIsIm9yZGVyIjoxMiwidGV4dCI6IklTTyAxMzE2NC00OjIwMTUgZGVzY3JpYmVzIGEgdGVzdCBtZXRob2QgZm9yIHRoZSBkZXRlcm1pbmF0aW9uIG9mIHJhZG9uLTIyMiAoIDIyMiBSbikgYWN0aXZpdHkgY29uY2VudHJhdGlvbiBpbiBub24tc2FsaW5lIHdhdGVycyBieSBleHRyYWN0aW9uIGFuZCBsaXF1aWQgc2NpbnRpbGxhdGlvbiBjb3VudGluZy4gVGhlIHJhZG9uLTIyMiBhY3Rpdml0eSBjb25jZW50cmF0aW9ucywgd2hpY2ggY2FuIGJlIG1lYXN1cmVkIGJ5IHRoaXMgdGVzdCBtZXRob2QgdXRpbGl6aW5nIGN1cnJlbnRseSBhdmFpbGFibGUgaW5zdHJ1bWVudHMsIGFyZSBhdCBsZWFzdCBhYm92ZSAwLDUgQnEgbCDiiJIxIGZvciBhIDEwIG1sIHRlc3Qgc2FtcGxlIGFuZCBhIG1lYXN1cmluZyB0aW1lIG9mIDEgaC4gVGhpcyB0ZXN0IG1ldGhvZCBjYW4gYmUgdXNlZCBzdWNjZXNzZnVsbHkgd2l0aCBkcmlua2luZyB3YXRlciBzYW1wbGVzIGFuZCBpdCBpcyB0aGUgcmVzcG9uc2liaWxpdHkgb2YgdGhlIGxhYm9yYXRvcnkgdG8gZW5zdXJlIHRoZSB2YWxpZGl0eSBvZiB0aGlzIHRlc3QgbWV0aG9kIGZvciB3YXRlciBzYW1wbGVzIG9mIHVudGVzdGVkIG1hdHJpY2VzLiBBbm5leCBBIGdpdmVzIGluZGljYXRpb24gb24gdGhlIG5lY2Vzc2FyeSBjb3VudGluZyBjb25kaXRpb25zIHRvIG1lZXQgdGhlIHJlcXVpcmVkIGRldGVjdGlvbiBsaW1pdHMgZm9yIGRyaW5raW5nIHdhdGVyIG1vbml0b3JpbmcuICIsIm9iamVjdElEIjoiODMwNTVfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4vRElTIDxlbT4xMzE8L2VtPjY0LTQgV2F0ZXIgcXVhbGl0eSDigJQgUmFkb24tMjIyIOKAlCBQYXJ0IDQ6IFRlc3QgbWV0aG9kIHVzaW5nIHR3by1waGFzZSBsaXF1aWQgc2NpbnRpbGxhdGlvbiBjb3VudGluZyIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NjQtNDoyMDE1IGRlc2NyaWJlcyBhIHRlc3QgbWV0aG9kIGZvciB0aGUgZGV0ZXJtaW5hdGlvbiBvZiByYWRvbi0yMjIgKCAyMjIgUm4pIGFjdGl2aXR5IGNvbmNlbnRyYXRpb24gaW4gbm9uLXNhbGluZSB3YXRlcnMgYnkgZXh0cmFjdGlvbiBhbmQgbGlxdWlkIHNjaW50aWxsYXRpb24gY291bnRpbmcuIFRoZSByYWRvbi0yMjIgYWN0aXZpdHkgY29uY2VudHJhdGlvbnMsIHdoaWNoIGNhbiBiZSBtZWFzdXJlZCBieSB0aGlzIHRlc3QgbWV0aG9kIHV0aWxpemluZyBjdXJyZW50bHkgYXZhaWxhYmxlIGluc3RydW1lbnRzLCBhcmUgYXQgbGVhc3QgYWJvdmUgMCw1IEJxIGwg4oiSMSBmb3IgYSAxMCBtbCB0ZXN0IHNhbXBsZSBhbmQgYSBtZWFzdXJpbmcgdGltZSBvZiAxIGguIFRoaXMgdGVzdCBtZXRob2QgY2FuIGJlIHVzZWQgc3VjY2Vzc2Z1bGx5IHdpdGggZHJpbmtpbmcgd2F0ZXIgc2FtcGxlcyBhbmQgaXQgaXMgdGhlIHJlc3BvbnNpYmlsaXR5IG9mIHRoZSBsYWJvcmF0b3J5IHRvIGVuc3VyZSB0aGUgdmFsaWRpdHkgb2YgdGhpcyB0ZXN0IG1ldGhvZCBmb3Igd2F0ZXIgc2FtcGxlcyBvZiB1bnRlc3RlZCBtYXRyaWNlcy4gQW5uZXggQSBnaXZlcyBpbmRpY2F0aW9uIG9uIHRoZSBuZWNlc3NhcnkgY291bnRpbmcgY29uZGl0aW9ucyB0byBtZWV0IHRoZSByZXF1aXJlZCBkZXRlY3Rpb24gbGltaXRzIGZvciBkcmlua2luZyB3YXRlciBtb25pdG9yaW5nLiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wOC8yOS84Mjk3OSIsInV1aWQiOiIxYjQzOWNlNy01ZTkzLTRjNmQtODM2Ny0yMTI0N2M4YzQ5YzciLCJ0aXRsZSI6IklTTy9ESVMgMTMxMzIgTGFib3JhdG9yeSBnbGFzc3dhcmUg4oCUIFBldHJpIGRpc2hlcyIsInN0YXR1cyI6IlVuZGVyIGRldmVsb3BtZW50IiwieWVhciI6MjAyMiwib3JkZXIiOjEyLCJ0ZXh0IjoiSVNPIDEzMTMyOjIwMTEgc3BlY2lmaWVzIHJlcXVpcmVtZW50cyBhbmQgdGVzdHMgZm9yIGdsYXNzIFBldHJpIGRpc2hlcyBpbnRlbmRlZCBmb3IgZ2VuZXJhbCBsYWJvcmF0b3J5IHB1cnBvc2VzIGFuZCBtaWNyb2Jpb2xvZ2ljYWwgd29yay4gIiwib2JqZWN0SUQiOiI4Mjk3OV8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPi9ESVMgPGVtPjEzMTwvZW0+MzIgTGFib3JhdG9yeSBnbGFzc3dhcmUg4oCUIFBldHJpIGRpc2hlcyIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+MzI6MjAxMSBzcGVjaWZpZXMgcmVxdWlyZW1lbnRzIGFuZCB0ZXN0cyBmb3IgZ2xhc3MgUGV0cmkgZGlzaGVzIGludGVuZGVkIGZvciBnZW5lcmFsIGxhYm9yYXRvcnkgcHVycG9zZXMgYW5kIG1pY3JvYmlvbG9naWNhbCB3b3JrLiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wOC80Mi84NDIzOCIsInV1aWQiOiI4Yzc0NWNhYi0yMWQwLTQyZTEtYTg5OC03MGFmZmI1MDU2YWEiLCJ0aXRsZSI6IklTTy9DRCAxMzE2NS0zIFdhdGVyIHF1YWxpdHkg4oCUIFJhZGl1bS0yMjYg4oCUIFBhcnQgMzogVGVzdCBtZXRob2QgdXNpbmcgY29wcmVjaXBpdGF0aW9uIGFuZCBnYW1tYS1zcGVjdHJvbWV0cnkiLCJzdGF0dXMiOiJVbmRlciBkZXZlbG9wbWVudCIsInllYXIiOjIwMjEsIm9yZGVyIjoxMiwidGV4dCI6IklTTyAxMzE2NS0zOjIwMTYgc3BlY2lmaWVzIHRoZSBkZXRlcm1pbmF0aW9uIG9mIHJhZGl1bS0yMjYgKDIyNlJhKSBhY3Rpdml0eSBjb25jZW50cmF0aW9uIGluIGFsbCB0eXBlcyBvZiB3YXRlciBieSBjb3ByZWNpcGl0YXRpb24gZm9sbG93ZWQgYnkgZ2FtbWEtc3BlY3Ryb21ldHJ5IChzZWUgSVNPIDE4NTg54oCRMykuIFRoZSBtZXRob2QgZGVzY3JpYmVkIGlzIHN1aXRhYmxlIGZvciBkZXRlcm1pbmF0aW9uIG9mIHNvbHVibGUgMjI2UmEgYWN0aXZpdHkgY29uY2VudHJhdGlvbnMgZ3JlYXRlciB0aGFuIDAsMDIgQnEgbOKIkjEgdXNpbmcgYSBzYW1wbGUgdm9sdW1lIG9mIDEgbCB0byAxMDAgbCBvZiBhbnkgd2F0ZXIgdHlwZS4gRm9yIHdhdGVyIHNhbXBsZXMgc21hbGxlciB0aGFuIGEgdm9sdW1lIG9mIDEgbCwgZGlyZWN0IGdhbW1hLXNwZWN0cm9tZXRyeSBjYW4gYmUgcGVyZm9ybWVkIGZvbGxvd2luZyBJU08gMTA3MDMgd2l0aCBhIGhpZ2hlciBkZXRlY3Rpb24gbGltaXQuIE5PVEUgICAgICAgICAgVGhpcyB0ZXN0IG1ldGhvZCBhbHNvIGFsbG93cyBvdGhlciBpc290b3BlcyBvZiByYWRpdW0sIDIyM1JhLCAyMjRSYSwgYW5kIDIyOFJhLCB0byBiZSBkZXRlcm1pbmVkLiAiLCJvYmplY3RJRCI6Ijg0MjM4XzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+L0NEIDxlbT4xMzE8L2VtPjY1LTMgV2F0ZXIgcXVhbGl0eSDigJQgUmFkaXVtLTIyNiDigJQgUGFydCAzOiBUZXN0IG1ldGhvZCB1c2luZyBjb3ByZWNpcGl0YXRpb24gYW5kIGdhbW1hLXNwZWN0cm9tZXRyeSIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NjUtMzoyMDE2IHNwZWNpZmllcyB0aGUgZGV0ZXJtaW5hdGlvbiBvZiByYWRpdW0tMjI2ICgyMjZSYSkgYWN0aXZpdHkgY29uY2VudHJhdGlvbiBpbiBhbGwgdHlwZXMgb2Ygd2F0ZXIgYnkgY29wcmVjaXBpdGF0aW9uIGZvbGxvd2VkIGJ5IGdhbW1hLXNwZWN0cm9tZXRyeSAoc2VlIDxlbT5JU088L2VtPiAxODU4OeKAkTMpLiBUaGUgbWV0aG9kIGRlc2NyaWJlZCBpcyBzdWl0YWJsZSBmb3IgZGV0ZXJtaW5hdGlvbiBvZiBzb2x1YmxlIDIyNlJhIGFjdGl2aXR5IGNvbmNlbnRyYXRpb25zIGdyZWF0ZXIgdGhhbiAwLDAyIEJxIGziiJIxIHVzaW5nIGEgc2FtcGxlIHZvbHVtZSBvZiAxIGwgdG8gMTAwIGwgb2YgYW55IHdhdGVyIHR5cGUuIEZvciB3YXRlciBzYW1wbGVzIHNtYWxsZXIgdGhhbiBhIHZvbHVtZSBvZiAxIGwsIGRpcmVjdCBnYW1tYS1zcGVjdHJvbWV0cnkgY2FuIGJlIHBlcmZvcm1lZCBmb2xsb3dpbmcgPGVtPklTTzwvZW0+IDEwNzAzIHdpdGggYSBoaWdoZXIgZGV0ZWN0aW9uIGxpbWl0LiBOT1RFICAgICAgICAgIFRoaXMgdGVzdCBtZXRob2QgYWxzbyBhbGxvd3Mgb3RoZXIgaXNvdG9wZXMgb2YgcmFkaXVtLCAyMjNSYSwgMjI0UmEsIGFuZCAyMjhSYSwgdG8gYmUgZGV0ZXJtaW5lZC4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDgvMjkvODI5MzAiLCJ1dWlkIjoiYTI0ODY2NjQtNDU4YS00OTU1LTg3YmQtZjU4MWRiNzg3ZTRmIiwidGl0bGUiOiJJU08vQ0QgMTMxNDEgRWxlY3Ryb25pYyBmZWUgY29sbGVjdGlvbiDigJQgTG9jYWxpc2F0aW9uIGF1Z21lbnRhdGlvbiBjb21tdW5pY2F0aW9uIGZvciBhdXRvbm9tb3VzIHN5c3RlbXMiLCJzdGF0dXMiOiJVbmRlciBkZXZlbG9wbWVudCIsInllYXIiOjIwMjEsIm9yZGVyIjoxMiwidGV4dCI6IklTTyAxMzE0MToyMDE1IGVzdGFibGlzaGVzIHJlcXVpcmVtZW50cyBmb3Igc2hvcnQtcmFuZ2UgY29tbXVuaWNhdGlvbiBmb3IgdGhlIHB1cnBvc2VzIG9mIGF1Z21lbnRpbmcgdGhlIGxvY2FsaXphdGlvbiBpbiBhdXRvbm9tb3VzIGVsZWN0cm9uaWMgZmVlIGNvbGxlY3Rpb24gKEVGQykgc3lzdGVtcy4gTG9jYWxpemF0aW9uIGF1Z21lbnRhdGlvbiBzZXJ2ZXMgdG8gaW5mb3JtIG9uLWJvYXJkIGVxdWlwbWVudCAoT0JFKSBhYm91dCBnZW9ncmFwaGljYWwgbG9jYXRpb24gYW5kIHRoZSBpZGVudGlmaWNhdGlvbiBvZiBhIGNoYXJnZSBvYmplY3QuIFRoaXMgSW50ZXJuYXRpb25hbCBTdGFuZGFyZCBzcGVjaWZpZXMgdGhlIHByb3Zpc2lvbiBvZiBsb2NhdGlvbiBhbmQgaGVhZGluZyBpbmZvcm1hdGlvbiBhbmQgc2VjdXJpdHkgbWVhbnMgdG8gcHJvdGVjdCBmcm9tIHRoZSBtYW5pcHVsYXRpb24gb2YgdGhlIE9CRSB3aXRoIGZhbHNlIHJvYWRzaWRlIGVxdWlwbWVudCAoUlNFKS4gVGhlIGxvY2FsaXphdGlvbiBhdWdtZW50YXRpb24gY29tbXVuaWNhdGlvbiB0YWtlcyBwbGFjZSBiZXR3ZWVuIGFuIE9CRSBpbiBhIHZlaGljbGUgYW5kIGZpeGVkIHJvYWRzaWRlIGVxdWlwbWVudC4gVGhpcyBJbnRlcm5hdGlvbmFsIFN0YW5kYXJkIGlzIGFwcGxpY2FibGUgdG8gT0JFIGluIGFuIGF1dG9ub21vdXMgbW9kZSBvZiBvcGVyYXRpb24uIElTTyAxMzE0MToyMDE1IGRlZmluZXMgYXR0cmlidXRlcyBhbmQgZnVuY3Rpb25zIGZvciB0aGUgcHVycG9zZSBvZiBsb2NhbGl6YXRpb24gYXVnbWVudGF0aW9uLCBieSBtYWtpbmcgdXNlIG9mIHRoZSBkZWRpY2F0ZWQgc2hvcnQtcmFuZ2UgY29tbXVuaWNhdGlvbnMgKERTUkMpIGNvbW11bmljYXRpb24gc2VydmljZXMgcHJvdmlkZWQgYnkgRFNSQyBMYXllciA3LCBhbmQgbWFrZXMgdGhlc2UgTEFDIGF0dHJpYnV0ZXMgYW5kIGZ1bmN0aW9ucyBhdmFpbGFibGUgdG8gdGhlIExBQyBhcHBsaWNhdGlvbnMgYXQgdGhlIFJTRSBhbmQgdGhlIE9CRS4gQXR0cmlidXRlcyBhbmQgZnVuY3Rpb25zIGFyZSBkZWZpbmVkIG9uIHRoZSBsZXZlbCBvZiBBcHBsaWNhdGlvbiBEYXRhIFVuaXRzIChBRFVzLCBzZWUgRmlndXJlIDEpLiAiLCJvYmplY3RJRCI6IjgyOTMwXzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+L0NEIDxlbT4xMzE8L2VtPjQxIEVsZWN0cm9uaWMgZmVlIGNvbGxlY3Rpb24g4oCUIExvY2FsaXNhdGlvbiBhdWdtZW50YXRpb24gY29tbXVuaWNhdGlvbiBmb3IgYXV0b25vbW91cyBzeXN0ZW1zIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT40MToyMDE1IGVzdGFibGlzaGVzIHJlcXVpcmVtZW50cyBmb3Igc2hvcnQtcmFuZ2UgY29tbXVuaWNhdGlvbiBmb3IgdGhlIHB1cnBvc2VzIG9mIGF1Z21lbnRpbmcgdGhlIGxvY2FsaXphdGlvbiBpbiBhdXRvbm9tb3VzIGVsZWN0cm9uaWMgZmVlIGNvbGxlY3Rpb24gKEVGQykgc3lzdGVtcy4gTG9jYWxpemF0aW9uIGF1Z21lbnRhdGlvbiBzZXJ2ZXMgdG8gaW5mb3JtIG9uLWJvYXJkIGVxdWlwbWVudCAoT0JFKSBhYm91dCBnZW9ncmFwaGljYWwgbG9jYXRpb24gYW5kIHRoZSBpZGVudGlmaWNhdGlvbiBvZiBhIGNoYXJnZSBvYmplY3QuIFRoaXMgSW50ZXJuYXRpb25hbCBTdGFuZGFyZCBzcGVjaWZpZXMgdGhlIHByb3Zpc2lvbiBvZiBsb2NhdGlvbiBhbmQgaGVhZGluZyBpbmZvcm1hdGlvbiBhbmQgc2VjdXJpdHkgbWVhbnMgdG8gcHJvdGVjdCBmcm9tIHRoZSBtYW5pcHVsYXRpb24gb2YgdGhlIE9CRSB3aXRoIGZhbHNlIHJvYWRzaWRlIGVxdWlwbWVudCAoUlNFKS4gVGhlIGxvY2FsaXphdGlvbiBhdWdtZW50YXRpb24gY29tbXVuaWNhdGlvbiB0YWtlcyBwbGFjZSBiZXR3ZWVuIGFuIE9CRSBpbiBhIHZlaGljbGUgYW5kIGZpeGVkIHJvYWRzaWRlIGVxdWlwbWVudC4gVGhpcyBJbnRlcm5hdGlvbmFsIFN0YW5kYXJkIGlzIGFwcGxpY2FibGUgdG8gT0JFIGluIGFuIGF1dG9ub21vdXMgbW9kZSBvZiBvcGVyYXRpb24uIDxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT40MToyMDE1IGRlZmluZXMgYXR0cmlidXRlcyBhbmQgZnVuY3Rpb25zIGZvciB0aGUgcHVycG9zZSBvZiBsb2NhbGl6YXRpb24gYXVnbWVudGF0aW9uLCBieSBtYWtpbmcgdXNlIG9mIHRoZSBkZWRpY2F0ZWQgc2hvcnQtcmFuZ2UgY29tbXVuaWNhdGlvbnMgKERTUkMpIGNvbW11bmljYXRpb24gc2VydmljZXMgcHJvdmlkZWQgYnkgRFNSQyBMYXllciA3LCBhbmQgbWFrZXMgdGhlc2UgTEFDIGF0dHJpYnV0ZXMgYW5kIGZ1bmN0aW9ucyBhdmFpbGFibGUgdG8gdGhlIExBQyBhcHBsaWNhdGlvbnMgYXQgdGhlIFJTRSBhbmQgdGhlIE9CRS4gQXR0cmlidXRlcyBhbmQgZnVuY3Rpb25zIGFyZSBkZWZpbmVkIG9uIHRoZSBsZXZlbCBvZiBBcHBsaWNhdGlvbiBEYXRhIFVuaXRzIChBRFVzLCBzZWUgRmlndXJlIDEpLiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNi85NC82OTQwNCIsInV1aWQiOiI2ZGU4MmVmMy02NDQ4LTRjOGEtYmE5MC0xYzMzMzE3ZDViMWQiLCJ0aXRsZSI6IklTTyAyMDg5OToyMDE4IFdhdGVyIHF1YWxpdHkg4oCUIFBsdXRvbml1bSBhbmQgbmVwdHVuaXVtIOKAlCBUZXN0IG1ldGhvZCB1c2luZyBJQ1AtTVMiLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDE4LCJvcmRlciI6MTEsInRleHQiOiJUaGlzIGRvY3VtZW50IHNwZWNpZmllcyBtZXRob2RzIHVzZWQgdG8gZGV0ZXJtaW5lIHRoZSBjb25jZW50cmF0aW9uIG9mIHBsdXRvbml1bSBhbmQgbmVwdHVuaXVtIGlzb3RvcGVzIGluIHdhdGVyIGJ5IGluZHVjdGl2ZWx5IGNvdXBsZWQgcGxhc21hIG1hc3Mgc3BlY3Ryb21ldHJ5IChJQ1AtTVMpICgyMzlQdSwgMjQwUHUsIDI0MVB1IGFuZCAyMzdOcCkuIFRoZSBjb25jZW50cmF0aW9ucyBvYnRhaW5lZCBjYW4gYmUgY29udmVydGVkIGludG8gYWN0aXZpdHkgY29uY2VudHJhdGlvbnMgb2YgdGhlIGRpZmZlcmVudCBpc290b3Blc1s5XS4gRHVlIHRvIGl0cyByZWxhdGl2ZWx5IHNob3J0IGhhbGYtbGlmZSBhbmQgMjM4VSBpc29iYXJpYyBpbnRlcmZlcmVuY2UsIDIzOFB1IGNhbiBoYXJkbHkgYmUgbWVhc3VyZWQgYnkgdGhpcyBtZXRob2QuIFRvIHF1YW50aWZ5IHRoaXMgaXNvdG9wZSwgb3RoZXIgdGVjaG5pcXVlcyBjYW4gYmUgdXNlZCAoSUNQLU1TIHdpdGggY29sbGlzaW9uLXJlYWN0aW9uIGNlbGwsIElDUC1NUy9NUyB3aXRoIGNvbGxpc2lvbi1yZWFjdGlvbiBjZWxsIG9yIGNoZW1pY2FsIHNlcGFyYXRpb24pLiBBbHBoYSBzcGVjdHJvbWV0cnkgbWVhc3VyZW1lbnQsIGFzIGRlc2NyaWJlZCBpbiBJU08gMTMxNjdbMTBdLCBpcyBjdXJyZW50bHkgdXNlZFsxMV0uIFRoaXMgbWV0aG9kIGlzIGFwcGxpY2FibGUgdG8gYWxsIHR5cGVzIG9mIHdhdGVyIGhhdmluZyBhIHNhbGluZSBsb2FkIGxlc3MgdGhhbiAxIGfCt2ziiJIxLiBBIGRpbHV0aW9uIG9mIHRoZSBzYW1wbGUgaXMgcG9zc2libGUgdG8gb2J0YWluIGEgc29sdXRpb24gaGF2aW5nIGEgc2FsaW5lIGxvYWQgYW5kIGFjdGl2aXR5IGNvbmNlbnRyYXRpb25zIGNvbXBhdGlibGUgd2l0aCB0aGUgcHJlcGFyYXRpb24gYW5kIHRoZSBtZWFzdXJlbWVudCBhc3NlbWJseS4gQSBmaWx0cmF0aW9uIGF0IDAsNDUgzrxtIGlzIG5lZWRlZCBmb3IgZGV0ZXJtaW5hdGlvbiBvZiBkaXNzb2x2ZWQgbnVjbGlkZXMuIEFjaWRpZmljYXRpb24gYW5kIGNoZW1pY2FsIHNlcGFyYXRpb24gb2YgdGhlIHNhbXBsZSBhcmUgYWx3YXlzIG5lZWRlZC4gVGhlIGxpbWl0IG9mIHF1YW50aWZpY2F0aW9uIGRlcGVuZHMgb24gdGhlIGNoZW1pY2FsIHNlcGFyYXRpb24gYW5kIHRoZSBwZXJmb3JtYW5jZSBvZiB0aGUgbWVhc3VyZW1lbnQgZGV2aWNlLiBUaGlzIG1ldGhvZCBjb3ZlcnMgdGhlIG1lYXN1cmVtZW50IG9mIHRob3NlIGlzb3RvcGVzIGluIHdhdGVyIGluIGFjdGl2aXR5IGNvbmNlbnRyYXRpb25zIGJldHdlZW4gYXJvdW5kWzEyXVsxM106IOKAlCAgICAgICAgICAxIG1CccK3bOKIkjEgdG8gNSBCccK3bOKIkjEgZm9yIDIzOVB1LCAyNDBQdSBhbmQgMjM3TnA7IOKAlCAgICAgICAgICAxIEJxwrds4oiSMSB0byA1IEJxwrds4oiSMSBmb3IgMjQxUHUuIEluIGJvdGggY2FzZXMsIHNhbXBsZXMgd2l0aCBoaWdoZXIgYWN0aXZpdHkgY29uY2VudHJhdGlvbnMgdGhhbiA1IEJxwrds4oiSMSBjYW4gYmUgbWVhc3VyZWQgaWYgYSBkaWx1dGlvbiBpcyBwZXJmb3JtZWQgYmVmb3JlIHRoZSBjaGVtaWNhbCBzZXBhcmF0aW9uLiBJdCBpcyBwb3NzaWJsZSB0byBtZWFzdXJlIDI0MVB1IGZvbGxvd2luZyBhIHByZS1jb25jZW50cmF0aW9uIHN0ZXAgb2YgYXQgbGVhc3QgMSAwMDAuICIsIm9iamVjdElEIjoiNjk0MDRfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gMjA4OTk6MjAxOCBXYXRlciBxdWFsaXR5IOKAlCBQbHV0b25pdW0gYW5kIG5lcHR1bml1bSDigJQgVGVzdCBtZXRob2QgdXNpbmcgSUNQLU1TIiwibWF0Y2hMZXZlbCI6InBhcnRpYWwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyJdfSwidGV4dCI6eyJ2YWx1ZSI6IlRoaXMgZG9jdW1lbnQgc3BlY2lmaWVzIG1ldGhvZHMgdXNlZCB0byBkZXRlcm1pbmUgdGhlIGNvbmNlbnRyYXRpb24gb2YgcGx1dG9uaXVtIGFuZCBuZXB0dW5pdW0gaXNvdG9wZXMgaW4gd2F0ZXIgYnkgaW5kdWN0aXZlbHkgY291cGxlZCBwbGFzbWEgbWFzcyBzcGVjdHJvbWV0cnkgKElDUC1NUykgKDIzOVB1LCAyNDBQdSwgMjQxUHUgYW5kIDIzN05wKS4gVGhlIGNvbmNlbnRyYXRpb25zIG9idGFpbmVkIGNhbiBiZSBjb252ZXJ0ZWQgaW50byBhY3Rpdml0eSBjb25jZW50cmF0aW9ucyBvZiB0aGUgZGlmZmVyZW50IGlzb3RvcGVzWzldLiBEdWUgdG8gaXRzIHJlbGF0aXZlbHkgc2hvcnQgaGFsZi1saWZlIGFuZCAyMzhVIGlzb2JhcmljIGludGVyZmVyZW5jZSwgMjM4UHUgY2FuIGhhcmRseSBiZSBtZWFzdXJlZCBieSB0aGlzIG1ldGhvZC4gVG8gcXVhbnRpZnkgdGhpcyBpc290b3BlLCBvdGhlciB0ZWNobmlxdWVzIGNhbiBiZSB1c2VkIChJQ1AtTVMgd2l0aCBjb2xsaXNpb24tcmVhY3Rpb24gY2VsbCwgSUNQLU1TL01TIHdpdGggY29sbGlzaW9uLXJlYWN0aW9uIGNlbGwgb3IgY2hlbWljYWwgc2VwYXJhdGlvbikuIEFscGhhIHNwZWN0cm9tZXRyeSBtZWFzdXJlbWVudCwgYXMgZGVzY3JpYmVkIGluIDxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT42N1sxMF0sIGlzIGN1cnJlbnRseSB1c2VkWzExXS4gVGhpcyBtZXRob2QgaXMgYXBwbGljYWJsZSB0byBhbGwgdHlwZXMgb2Ygd2F0ZXIgaGF2aW5nIGEgc2FsaW5lIGxvYWQgbGVzcyB0aGFuIDEgZ8K3bOKIkjEuIEEgZGlsdXRpb24gb2YgdGhlIHNhbXBsZSBpcyBwb3NzaWJsZSB0byBvYnRhaW4gYSBzb2x1dGlvbiBoYXZpbmcgYSBzYWxpbmUgbG9hZCBhbmQgYWN0aXZpdHkgY29uY2VudHJhdGlvbnMgY29tcGF0aWJsZSB3aXRoIHRoZSBwcmVwYXJhdGlvbiBhbmQgdGhlIG1lYXN1cmVtZW50IGFzc2VtYmx5LiBBIGZpbHRyYXRpb24gYXQgMCw0NSDOvG0gaXMgbmVlZGVkIGZvciBkZXRlcm1pbmF0aW9uIG9mIGRpc3NvbHZlZCBudWNsaWRlcy4gQWNpZGlmaWNhdGlvbiBhbmQgY2hlbWljYWwgc2VwYXJhdGlvbiBvZiB0aGUgc2FtcGxlIGFyZSBhbHdheXMgbmVlZGVkLiBUaGUgbGltaXQgb2YgcXVhbnRpZmljYXRpb24gZGVwZW5kcyBvbiB0aGUgY2hlbWljYWwgc2VwYXJhdGlvbiBhbmQgdGhlIHBlcmZvcm1hbmNlIG9mIHRoZSBtZWFzdXJlbWVudCBkZXZpY2UuIFRoaXMgbWV0aG9kIGNvdmVycyB0aGUgbWVhc3VyZW1lbnQgb2YgdGhvc2UgaXNvdG9wZXMgaW4gd2F0ZXIgaW4gYWN0aXZpdHkgY29uY2VudHJhdGlvbnMgYmV0d2VlbiBhcm91bmRbMTJdWzEzXTog4oCUICAgICAgICAgIDEgbUJxwrds4oiSMSB0byA1IEJxwrds4oiSMSBmb3IgMjM5UHUsIDI0MFB1IGFuZCAyMzdOcDsg4oCUICAgICAgICAgIDEgQnHCt2ziiJIxIHRvIDUgQnHCt2ziiJIxIGZvciAyNDFQdS4gSW4gYm90aCBjYXNlcywgc2FtcGxlcyB3aXRoIGhpZ2hlciBhY3Rpdml0eSBjb25jZW50cmF0aW9ucyB0aGFuIDUgQnHCt2ziiJIxIGNhbiBiZSBtZWFzdXJlZCBpZiBhIGRpbHV0aW9uIGlzIHBlcmZvcm1lZCBiZWZvcmUgdGhlIGNoZW1pY2FsIHNlcGFyYXRpb24uIEl0IGlzIHBvc3NpYmxlIHRvIG1lYXN1cmUgMjQxUHUgZm9sbG93aW5nIGEgcHJlLWNvbmNlbnRyYXRpb24gc3RlcCBvZiBhdCBsZWFzdCAxIDAwMC4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDYvNzcvNjc3MjkiLCJ1dWlkIjoiNGY1NWRiMjktMTExNC00MGY3LWI0MmYtOTI2ZDY1Zjg4NGVkIiwidGl0bGUiOiJJU08gMTI0NzM6MjAxNyBHZW5lcmFsIHByaW5jaXBsZXMgb2YgY2F0aG9kaWMgcHJvdGVjdGlvbiBpbiBzZWF3YXRlciIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMTcsIm9yZGVyIjoxMSwidGV4dCI6IklTTyAxMjQ3MyBjb3ZlcnMgdGhlIGdlbmVyYWwgcHJpbmNpcGxlcyBvZiBjYXRob2RpYyBwcm90ZWN0aW9uIHdoZW4gYXBwbGllZCBpbiBzZWF3YXRlciwgYnJhY2tpc2ggd2F0ZXJzIGFuZCBtYXJpbmUgbXVkLiBJdCBpcyBpbnRlbmRlZCB0byBiZSBhbiBpbnRyb2R1Y3Rpb24sIHRvIHByb3ZpZGUgYSBsaW5rIGJldHdlZW4gdGhlIHRoZW9yZXRpY2FsIGFzcGVjdHMgYW5kIHRoZSBwcmFjdGljYWwgYXBwbGljYXRpb25zLCBhbmQgdG8gY29uc3RpdHV0ZSBhIHN1cHBvcnQgdG8gdGhlIG90aGVyIHN0YW5kYXJkcyBkZXZvdGVkIHRvIGNhdGhvZGljIHByb3RlY3Rpb24gb2Ygc3RlZWwgc3RydWN0dXJlcyBpbiBzZWF3YXRlci4gSVNPIDEyNDczIHNwZWNpZmllcyB0aGUgY3JpdGVyaWEgcmVxdWlyZWQgZm9yIGNhdGhvZGljIHByb3RlY3Rpb24uIEl0IHByb3ZpZGVzIHJlY29tbWVuZGF0aW9ucyBhbmQgaW5mb3JtYXRpb24gb24gcmVmZXJlbmNlIGVsZWN0cm9kZXMsIGRlc2lnbiBjb25zaWRlcmF0aW9ucyBhbmQgcHJldmVudGlvbiBvZiB0aGUgc2Vjb25kYXJ5IGVmZmVjdHMgb2YgY2F0aG9kaWMgcHJvdGVjdGlvbi4gVGhlIHByYWN0aWNhbCBhcHBsaWNhdGlvbnMgb2YgY2F0aG9kaWMgcHJvdGVjdGlvbiBpbiBzZWF3YXRlciBhcmUgY292ZXJlZCBieSB0aGUgZm9sbG93aW5nIHN0YW5kYXJkczogLSAgICAgIEVOIDEyNDk1LCBDYXRob2RpYyBwcm90ZWN0aW9uIGZvciBmaXhlZCBzdGVlbCBvZmZzaG9yZSBzdHJ1Y3R1cmVzIDsgLSAgICAgIElTTyAxMzE3NCwgQ2F0aG9kaWMgcHJvdGVjdGlvbiBvZiBoYXJib3VyIGluc3RhbGxhdGlvbnMgKCBJU08gMTMxNzQgKSA7IC0gICAgICBFTiAxMjQ5NiwgR2FsdmFuaWMgYW5vZGVzIGZvciBjYXRob2RpYyBwcm90ZWN0aW9uIGluIHNlYXdhdGVyIGFuZCBzYWxpbmUgbXVkIDsgLSAgICAgIEVOIDEzMTczLCBDYXRob2RpYyBwcm90ZWN0aW9uIGZvciBzdGVlbCBvZmZzaG9yZSBmbG9hdGluZyBzdHJ1Y3R1cmVzIDsgLSAgICAgIEVOIDE2MjIyLCBDYXRob2RpYyBwcm90ZWN0aW9uIG9mIHNoaXAgaHVsbHMgOyAtICAgICAgRU4gMTI0NzQsIENhdGhvZGljIHByb3RlY3Rpb24gb2Ygc3VibWFyaW5lIHBpcGVsaW5lcyA7IC0gICAgICBJU08gMTU1ODnigJEyLCBQZXRyb2xldW0sIHBldHJvY2hlbWljYWwgYW5kIG5hdHVyYWwgZ2FzIGluZHVzdHJpZXMgPyBDYXRob2RpYyBwcm90ZWN0aW9uIG9mIHBpcGVsaW5lIHRyYW5zcG9ydGF0aW9uIHN5c3RlbXMgPyBQYXJ0IDI6IE9mZnNob3JlIHBpcGVsaW5lcyAuIEZvciBjYXRob2RpYyBwcm90ZWN0aW9uIG9mIHN0ZWVsIHJlaW5mb3JjZWQgY29uY3JldGUgd2hldGhlciBleHBvc2VkIHRvIHNlYXdhdGVyIG9yIHRvIHRoZSBhdG1vc3BoZXJlLCBJU08gMTI2OTYgYXBwbGllcy4gIiwib2JqZWN0SUQiOiI2NzcyOV8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiAxMjQ3MzoyMDE3IEdlbmVyYWwgcHJpbmNpcGxlcyBvZiBjYXRob2RpYyBwcm90ZWN0aW9uIGluIHNlYXdhdGVyIiwibWF0Y2hMZXZlbCI6InBhcnRpYWwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiAxMjQ3MyBjb3ZlcnMgdGhlIGdlbmVyYWwgcHJpbmNpcGxlcyBvZiBjYXRob2RpYyBwcm90ZWN0aW9uIHdoZW4gYXBwbGllZCBpbiBzZWF3YXRlciwgYnJhY2tpc2ggd2F0ZXJzIGFuZCBtYXJpbmUgbXVkLiBJdCBpcyBpbnRlbmRlZCB0byBiZSBhbiBpbnRyb2R1Y3Rpb24sIHRvIHByb3ZpZGUgYSBsaW5rIGJldHdlZW4gdGhlIHRoZW9yZXRpY2FsIGFzcGVjdHMgYW5kIHRoZSBwcmFjdGljYWwgYXBwbGljYXRpb25zLCBhbmQgdG8gY29uc3RpdHV0ZSBhIHN1cHBvcnQgdG8gdGhlIG90aGVyIHN0YW5kYXJkcyBkZXZvdGVkIHRvIGNhdGhvZGljIHByb3RlY3Rpb24gb2Ygc3RlZWwgc3RydWN0dXJlcyBpbiBzZWF3YXRlci4gPGVtPklTTzwvZW0+IDEyNDczIHNwZWNpZmllcyB0aGUgY3JpdGVyaWEgcmVxdWlyZWQgZm9yIGNhdGhvZGljIHByb3RlY3Rpb24uIEl0IHByb3ZpZGVzIHJlY29tbWVuZGF0aW9ucyBhbmQgaW5mb3JtYXRpb24gb24gcmVmZXJlbmNlIGVsZWN0cm9kZXMsIGRlc2lnbiBjb25zaWRlcmF0aW9ucyBhbmQgcHJldmVudGlvbiBvZiB0aGUgc2Vjb25kYXJ5IGVmZmVjdHMgb2YgY2F0aG9kaWMgcHJvdGVjdGlvbi4gVGhlIHByYWN0aWNhbCBhcHBsaWNhdGlvbnMgb2YgY2F0aG9kaWMgcHJvdGVjdGlvbiBpbiBzZWF3YXRlciBhcmUgY292ZXJlZCBieSB0aGUgZm9sbG93aW5nIHN0YW5kYXJkczogLSAgICAgIEVOIDEyNDk1LCBDYXRob2RpYyBwcm90ZWN0aW9uIGZvciBmaXhlZCBzdGVlbCBvZmZzaG9yZSBzdHJ1Y3R1cmVzIDsgLSAgICAgIDxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT43NCwgQ2F0aG9kaWMgcHJvdGVjdGlvbiBvZiBoYXJib3VyIGluc3RhbGxhdGlvbnMgKCA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NzQgKSA7IC0gICAgICBFTiAxMjQ5NiwgR2FsdmFuaWMgYW5vZGVzIGZvciBjYXRob2RpYyBwcm90ZWN0aW9uIGluIHNlYXdhdGVyIGFuZCBzYWxpbmUgbXVkIDsgLSAgICAgIEVOIDxlbT4xMzE8L2VtPjczLCBDYXRob2RpYyBwcm90ZWN0aW9uIGZvciBzdGVlbCBvZmZzaG9yZSBmbG9hdGluZyBzdHJ1Y3R1cmVzIDsgLSAgICAgIEVOIDE2MjIyLCBDYXRob2RpYyBwcm90ZWN0aW9uIG9mIHNoaXAgaHVsbHMgOyAtICAgICAgRU4gMTI0NzQsIENhdGhvZGljIHByb3RlY3Rpb24gb2Ygc3VibWFyaW5lIHBpcGVsaW5lcyA7IC0gICAgICA8ZW0+SVNPPC9lbT4gMTU1ODnigJEyLCBQZXRyb2xldW0sIHBldHJvY2hlbWljYWwgYW5kIG5hdHVyYWwgZ2FzIGluZHVzdHJpZXMgPyBDYXRob2RpYyBwcm90ZWN0aW9uIG9mIHBpcGVsaW5lIHRyYW5zcG9ydGF0aW9uIHN5c3RlbXMgPyBQYXJ0IDI6IE9mZnNob3JlIHBpcGVsaW5lcyAuIEZvciBjYXRob2RpYyBwcm90ZWN0aW9uIG9mIHN0ZWVsIHJlaW5mb3JjZWQgY29uY3JldGUgd2hldGhlciBleHBvc2VkIHRvIHNlYXdhdGVyIG9yIHRvIHRoZSBhdG1vc3BoZXJlLCA8ZW0+SVNPPC9lbT4gMTI2OTYgYXBwbGllcy4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDQvNTMvNDUzODAiLCJ1dWlkIjoiYzhhZjcxMzEtNjFlMy00M2Q4LTk3ZmYtYjZhMmUzMjU1M2JjIiwidGl0bGUiOiJJU08gMjkyODI6MjAxMSBJbnRlbGxpZ2VudCB0cmFuc3BvcnQgc3lzdGVtcyDigJQgQ29tbXVuaWNhdGlvbnMgYWNjZXNzIGZvciBsYW5kIG1vYmlsZXMgKENBTE0pIOKAlCBTYXRlbGxpdGUgbmV0d29ya3MiLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDE4LCJvcmRlciI6MTEsInRleHQiOiJJU08gMjkyODI6MjAxMSBwcm92aWRlcyBkZWZpbml0aW9ucyBhbmQgcHJvY2VkdXJlcyBmb3IgdGhlIGVzdGFibGlzaG1lbnQsIG1haW50ZW5hbmNlIGFuZCB0ZXJtaW5hdGlvbiBvZiBhbiBJVFMgKGludGVsbGlnZW50IHRyYW5zcG9ydCBzeXN0ZW1zKSBjb21tdW5pY2F0aW9ucyBzZXNzaW9uIHdpdGhpbiBhIENBTE0gKGNvbW11bmljYXRpb24gYWNjZXNzIGZvciBsYW5kIG1vYmlsZXMpIHN5c3RlbSBlbnZpcm9ubWVudCB1c2luZyBiaS1kaXJlY3Rpb25hbCBzYXRlbGxpdGUgY29tbXVuaWNhdGlvbnMuIEl0IGRlZmluZXMgdGhlIG9wZXJhdGlvbiBvZiB0aGUgbWVkaXVtIG1hbmFnZW1lbnQgYWRhcHRhdGlvbiBlbnRpdHkgKE1NQUUpLCB3aGljaCBwcm92aWRlcyB0aGUgbWFuYWdlbWVudCBpbnRlcmZhY2UgYmV0d2VlbiBhIHByb3ByaWV0YXJ5IHNhdGVsbGl0ZSBjb21tdW5pY2F0aW9ucyBtZWRpdW0gYW5kIHRoZSBcIklUUyBzdGF0aW9uIG1hbmFnZW1lbnRcIi4gVGhpcyBlbmFibGVzIHRoZSBcIklUUyBzdGF0aW9uIG1hbmFnZW1lbnRcIiB0byBrbm93IHRoZSBzdGF0dXMgb2YgdGhlIGNvbW11bmljYXRpb25zIG1lZGl1bSBhbmQgY29udHJvbCB0aGUgaW50ZXJmYWNlIHdpdGhvdXQgdGhlIG5lZWQgZm9yIGFwcGxpY2F0aW9ucyBhdCB0aGUgSVRTIHN0YXRpb24gdG8gaGF2ZSBhbnkga25vd2xlZGdlIG9mIHRoZSBzYXRlbGxpdGUgY29tbXVuaWNhdGlvbnMgaW50ZXJmYWNlLiBUaGUgcHJvY2VkdXJlcyB0aGF0IHRoZSBcIklUUyBzdGF0aW9uIG1hbmFnZW1lbnRcIiBleHBlY3RzIHRvIHVzZSBhcmUgYWxzbyBleHBsYWluZWQuIElTTyAyOTI4MjoyMDExIGRlZmluZXMgaG93IHRvIGNvbm5lY3QgYW5kIGRpc2Nvbm5lY3QgYSBjb21tdW5pY2F0aW9uIHNlc3Npb24gdXNpbmcgc2F0ZWxsaXRlIGNvbW11bmljYXRpb24gc3lzdGVtcyBpbiB0aGUgY29udGV4dCBvZiBhbiBhcHBsaWNhdGlvbiBvcGVyYXRlZCB3aXRoaW4gdGhlIGVudmlyb25tZW50IGRlZmluZWQgaW4gSVNPIDIxMjE3LiBJdCBzdXBwb3J0cyBwZWVyLXRvLXBlZXIgbW9kZXMgb2YgY29tbXVuaWNhdGlvbi4gU3VwcG9ydCBmb3IgYnJvYWRjYXN0IHNhdGVsbGl0ZSBzeXN0ZW1zIGlzIGRlZmluZWQgaW4gSVNPIDEzMTgzLCB3aGljaCBwcm92aWRlcyBhIGNvbW1vbiBhcHByb2FjaCBmb3IgYWxsIGJyb2FkY2FzdCBtZWRpYS4gSXQgc3VwcG9ydHMgc2F0ZWxsaXRlIGNvbW11bmljYXRpb25zIG5ldHdvcmtzIHRoYXQgYXJlIGludGVyY29ubmVjdGVkIHdpdGggdGhlIHB1YmxpYyBuZXR3b3JrLCBhcyB3ZWxsIGFzIHRob3NlIHdoaWNoIGNvbm5lY3QgdmlhIHRoZSBpbnRlcm5ldCBhbmQgdGhvc2Ugd2hpY2ggcHJvdmlkZSBhIHN0YW5kLWFsb25lIGNhcGFiaWxpdHkuICIsIm9iamVjdElEIjoiNDUzODBfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gMjkyODI6MjAxMSBJbnRlbGxpZ2VudCB0cmFuc3BvcnQgc3lzdGVtcyDigJQgQ29tbXVuaWNhdGlvbnMgYWNjZXNzIGZvciBsYW5kIG1vYmlsZXMgKENBTE0pIOKAlCBTYXRlbGxpdGUgbmV0d29ya3MiLCJtYXRjaExldmVsIjoicGFydGlhbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDI5MjgyOjIwMTEgcHJvdmlkZXMgZGVmaW5pdGlvbnMgYW5kIHByb2NlZHVyZXMgZm9yIHRoZSBlc3RhYmxpc2htZW50LCBtYWludGVuYW5jZSBhbmQgdGVybWluYXRpb24gb2YgYW4gSVRTIChpbnRlbGxpZ2VudCB0cmFuc3BvcnQgc3lzdGVtcykgY29tbXVuaWNhdGlvbnMgc2Vzc2lvbiB3aXRoaW4gYSBDQUxNIChjb21tdW5pY2F0aW9uIGFjY2VzcyBmb3IgbGFuZCBtb2JpbGVzKSBzeXN0ZW0gZW52aXJvbm1lbnQgdXNpbmcgYmktZGlyZWN0aW9uYWwgc2F0ZWxsaXRlIGNvbW11bmljYXRpb25zLiBJdCBkZWZpbmVzIHRoZSBvcGVyYXRpb24gb2YgdGhlIG1lZGl1bSBtYW5hZ2VtZW50IGFkYXB0YXRpb24gZW50aXR5IChNTUFFKSwgd2hpY2ggcHJvdmlkZXMgdGhlIG1hbmFnZW1lbnQgaW50ZXJmYWNlIGJldHdlZW4gYSBwcm9wcmlldGFyeSBzYXRlbGxpdGUgY29tbXVuaWNhdGlvbnMgbWVkaXVtIGFuZCB0aGUgXCJJVFMgc3RhdGlvbiBtYW5hZ2VtZW50XCIuIFRoaXMgZW5hYmxlcyB0aGUgXCJJVFMgc3RhdGlvbiBtYW5hZ2VtZW50XCIgdG8ga25vdyB0aGUgc3RhdHVzIG9mIHRoZSBjb21tdW5pY2F0aW9ucyBtZWRpdW0gYW5kIGNvbnRyb2wgdGhlIGludGVyZmFjZSB3aXRob3V0IHRoZSBuZWVkIGZvciBhcHBsaWNhdGlvbnMgYXQgdGhlIElUUyBzdGF0aW9uIHRvIGhhdmUgYW55IGtub3dsZWRnZSBvZiB0aGUgc2F0ZWxsaXRlIGNvbW11bmljYXRpb25zIGludGVyZmFjZS4gVGhlIHByb2NlZHVyZXMgdGhhdCB0aGUgXCJJVFMgc3RhdGlvbiBtYW5hZ2VtZW50XCIgZXhwZWN0cyB0byB1c2UgYXJlIGFsc28gZXhwbGFpbmVkLiA8ZW0+SVNPPC9lbT4gMjkyODI6MjAxMSBkZWZpbmVzIGhvdyB0byBjb25uZWN0IGFuZCBkaXNjb25uZWN0IGEgY29tbXVuaWNhdGlvbiBzZXNzaW9uIHVzaW5nIHNhdGVsbGl0ZSBjb21tdW5pY2F0aW9uIHN5c3RlbXMgaW4gdGhlIGNvbnRleHQgb2YgYW4gYXBwbGljYXRpb24gb3BlcmF0ZWQgd2l0aGluIHRoZSBlbnZpcm9ubWVudCBkZWZpbmVkIGluIDxlbT5JU088L2VtPiAyMTIxNy4gSXQgc3VwcG9ydHMgcGVlci10by1wZWVyIG1vZGVzIG9mIGNvbW11bmljYXRpb24uIFN1cHBvcnQgZm9yIGJyb2FkY2FzdCBzYXRlbGxpdGUgc3lzdGVtcyBpcyBkZWZpbmVkIGluIDxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT44Mywgd2hpY2ggcHJvdmlkZXMgYSBjb21tb24gYXBwcm9hY2ggZm9yIGFsbCBicm9hZGNhc3QgbWVkaWEuIEl0IHN1cHBvcnRzIHNhdGVsbGl0ZSBjb21tdW5pY2F0aW9ucyBuZXR3b3JrcyB0aGF0IGFyZSBpbnRlcmNvbm5lY3RlZCB3aXRoIHRoZSBwdWJsaWMgbmV0d29yaywgYXMgd2VsbCBhcyB0aG9zZSB3aGljaCBjb25uZWN0IHZpYSB0aGUgaW50ZXJuZXQgYW5kIHRob3NlIHdoaWNoIHByb3ZpZGUgYSBzdGFuZC1hbG9uZSBjYXBhYmlsaXR5LiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNi83MC82NzA4OSIsInV1aWQiOiI0OTg1Y2E0MS1jNDYwLTRkMmYtODdlNi01OTk0Y2I0YzgxYjQiLCJ0aXRsZSI6IklTTyAxNzQzOC00OjIwMTkgSW50ZWxsaWdlbnQgdHJhbnNwb3J0IHN5c3RlbXMg4oCUIEluZG9vciBuYXZpZ2F0aW9uIGZvciBwZXJzb25hbCBhbmQgdmVoaWNsZSBJVFMgc3RhdGlvbiDigJQgUGFydCA0OiBSZXF1aXJlbWVudHMgYW5kIHNwZWNpZmljYXRpb25zIGZvciBpbnRlcmZhY2UgYmV0d2VlbiBwZXJzb25hbC92ZWhpY2xlIGFuZCBjZW50cmFsIElUUyBzdGF0aW9ucyIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMTksIm9yZGVyIjoxMSwidGV4dCI6IlRoaXMgZG9jdW1lbnQgZGVmaW5lcyBkZXRhaWxlZCB1c2UgY2FzZXMsIHJlcXVpcmVtZW50cyBhbmQgbWVzc2FnZSBzcGVjaWZpY2F0aW9ucyBmb3Igc3VwcG9ydGluZyBpbmRvb3IgbmF2aWdhdGlvbiBmdW5jdGlvbmFsaXR5IGJldHdlZW4gYSBwZXJzb25hbC92ZWhpY2xlIChQL1YpIElUUyBzdGF0aW9uIGFuZCBhIGNlbnRyYWwgSVRTIHN0YXRpb24uIFRoaXMgZG9jdW1lbnQgZGVmaW5lczogYSkgICAgQ2x1c3RlcnMgb2YgdXNlIGNhc2VzIGJhc2VkIG9uIHByb2Nlc3NpbmcgZmxvd3MgZm9yIGluZG9vciBuYXZpZ2F0aW9uIGJldHdlZW4gYSBQL1YgSVRTIHN0YXRpb24gYW5kIGEgY2VudHJhbCBJVFMgc3RhdGlvbjsgYikgICAgRGV0YWlsZWQgdXNlIGNhc2VzIGRlcml2ZWQgZnJvbSB0aGUgY2x1c3RlcnMgb2YgdXNlIGNhc2VzIGZvciBpbmRvb3IgbmF2aWdhdGlvbjsgYykgICAgTWVzc2FnZSBzcGVjaWZpY2F0aW9ucyB0byBzdXBwb3J0IHNvbWUgb2YgdGhlIGRldGFpbGVkIHVzZSBjYXNlcy4gVGhlIG1lc3NhZ2Ugc3BlY2lmaWNhdGlvbnMgaW5jbHVkZSBtYW5kYXRvcnksIGNvbmRpdGlvbmFsIGFuZCBvcHRpb25hbCBlbGVtZW50cy4gVGhpcyBkb2N1bWVudCBpcyBvbmx5IGFwcGxpY2FibGUgdG8gdGhlIGNvcmUgZmxvdyBmb3IgdGhlIG5hdmlnYXRpb25hbCBmdW5jdGlvbmFsaXR5IGluIGluZG9vciBzcGFjZS4gVGhlIGZvbGxvd2luZyBpc3N1ZXMgd2hpY2ggYXJlIGFkanVuY3RpdmUgYnV0IGVzc2VudGlhbCBmb3IgY29tbWVyY2lhbCBuYXZpZ2F0aW9uIHNlcnZpY2VzIGFyZSBiZXlvbmQgdGhlIHNjb3BlIG9mIHRoaXMgZG9jdW1lbnQ6IOKAlCAgICAgICAgICBBdXRob3JpemVkIGFuZCBhdXRoZW50aWNhdGVkIGFjY2VzcyBvZiB1c2VycyBhbmQgc2VydmljZXMsIGluY2x1ZGluZyBzZWN1cml0eTsg4oCUICAgICAgICAgIFBheW1lbnQ7IOKAlCAgICAgICAgICBQcmVwYXJhdGlvbiBvZiBpbmRvb3IgZGF0YSB3aGljaCBhcmUgbmVjZXNzYXJ5IGZvciBpbmRvb3IgbmF2aWdhdGlvbjsg4oCUICAgICAgICAgIERldGFpbGVkIGRhdGEgZm9ybWF0cyBmb3IgaW5kb29yIG5hdmlnYXRpb24gZGF0YSwgaW5jbHVkaW5nIGluZG9vciBtYXBzIGFuZCBpbmRvb3IgcG9zaXRpb25pbmcgcmVmZXJlbmNlcyAodGhlc2UgZm9ybSBhIHBhcnQgb2YgSVNPIDE3NDM4LTJbMV0gYW5kIElTTyAxNzQzOC0zWzJdKTsg4oCUICAgICAgICAgIEhvdyB0byB0cmFuc2ZlciBhbmQgc2hhcmUgZGF0YSByZXF1aXJlZCBmb3IgaW5kb29yIG5hdmlnYXRpb24gYmV0d2VlbiBhIHJvYWRzaWRlIElUUyBzdGF0aW9uIGFuZCBhIGNlbnRyYWwgSVRTIHN0YXRpb24sIGkuZS4gbG93LWxldmVsIGNvbW11bmljYXRpb24gcHJvdG9jb2xzOyDigJQgICAgICAgICAgT3RoZXIgaXNzdWVzIGRlcGVuZGVudCBvbiBpbXBsZW1lbnRhdGlvbiBvZiBhbiBpbnN0YW5jZSBvZiBpbmRvb3IgbmF2aWdhdGlvbiwgZS5nLiBpbmRvb3Itb3V0ZG9vciBzZWFtbGVzcyBuYXZpZ2F0aW9uLiBUaGlzIGRvY3VtZW50IHVzZXMgdGhlIFhNTCBhbmQgRGF0YSBlWGNoYW5nZSBNZXNzYWdlIChEWE0pIGZvcm1hdCBkZWZpbmVkIGluIElTTyAxMzE4NC0yIHRvIGVuY29kZSBkZWZpbmVkIG1lc3NhZ2VzLiBbMV0gVW5kZXIgZGV2ZWxvcG1lbnQuIEN1cnJlbnQgc3RhZ2UgMC4wMC4gWzJdIFVuZGVyIGRldmVsb3BtZW50LiBDdXJyZW50IHN0YWdlIDAuMDAuICIsIm9iamVjdElEIjoiNjcwODlfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gMTc0MzgtNDoyMDE5IEludGVsbGlnZW50IHRyYW5zcG9ydCBzeXN0ZW1zIOKAlCBJbmRvb3IgbmF2aWdhdGlvbiBmb3IgcGVyc29uYWwgYW5kIHZlaGljbGUgSVRTIHN0YXRpb24g4oCUIFBhcnQgNDogUmVxdWlyZW1lbnRzIGFuZCBzcGVjaWZpY2F0aW9ucyBmb3IgaW50ZXJmYWNlIGJldHdlZW4gcGVyc29uYWwvdmVoaWNsZSBhbmQgY2VudHJhbCBJVFMgc3RhdGlvbnMiLCJtYXRjaExldmVsIjoicGFydGlhbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIl19LCJ0ZXh0Ijp7InZhbHVlIjoiVGhpcyBkb2N1bWVudCBkZWZpbmVzIGRldGFpbGVkIHVzZSBjYXNlcywgcmVxdWlyZW1lbnRzIGFuZCBtZXNzYWdlIHNwZWNpZmljYXRpb25zIGZvciBzdXBwb3J0aW5nIGluZG9vciBuYXZpZ2F0aW9uIGZ1bmN0aW9uYWxpdHkgYmV0d2VlbiBhIHBlcnNvbmFsL3ZlaGljbGUgKFAvVikgSVRTIHN0YXRpb24gYW5kIGEgY2VudHJhbCBJVFMgc3RhdGlvbi4gVGhpcyBkb2N1bWVudCBkZWZpbmVzOiBhKSAgICBDbHVzdGVycyBvZiB1c2UgY2FzZXMgYmFzZWQgb24gcHJvY2Vzc2luZyBmbG93cyBmb3IgaW5kb29yIG5hdmlnYXRpb24gYmV0d2VlbiBhIFAvViBJVFMgc3RhdGlvbiBhbmQgYSBjZW50cmFsIElUUyBzdGF0aW9uOyBiKSAgICBEZXRhaWxlZCB1c2UgY2FzZXMgZGVyaXZlZCBmcm9tIHRoZSBjbHVzdGVycyBvZiB1c2UgY2FzZXMgZm9yIGluZG9vciBuYXZpZ2F0aW9uOyBjKSAgICBNZXNzYWdlIHNwZWNpZmljYXRpb25zIHRvIHN1cHBvcnQgc29tZSBvZiB0aGUgZGV0YWlsZWQgdXNlIGNhc2VzLiBUaGUgbWVzc2FnZSBzcGVjaWZpY2F0aW9ucyBpbmNsdWRlIG1hbmRhdG9yeSwgY29uZGl0aW9uYWwgYW5kIG9wdGlvbmFsIGVsZW1lbnRzLiBUaGlzIGRvY3VtZW50IGlzIG9ubHkgYXBwbGljYWJsZSB0byB0aGUgY29yZSBmbG93IGZvciB0aGUgbmF2aWdhdGlvbmFsIGZ1bmN0aW9uYWxpdHkgaW4gaW5kb29yIHNwYWNlLiBUaGUgZm9sbG93aW5nIGlzc3VlcyB3aGljaCBhcmUgYWRqdW5jdGl2ZSBidXQgZXNzZW50aWFsIGZvciBjb21tZXJjaWFsIG5hdmlnYXRpb24gc2VydmljZXMgYXJlIGJleW9uZCB0aGUgc2NvcGUgb2YgdGhpcyBkb2N1bWVudDog4oCUICAgICAgICAgIEF1dGhvcml6ZWQgYW5kIGF1dGhlbnRpY2F0ZWQgYWNjZXNzIG9mIHVzZXJzIGFuZCBzZXJ2aWNlcywgaW5jbHVkaW5nIHNlY3VyaXR5OyDigJQgICAgICAgICAgUGF5bWVudDsg4oCUICAgICAgICAgIFByZXBhcmF0aW9uIG9mIGluZG9vciBkYXRhIHdoaWNoIGFyZSBuZWNlc3NhcnkgZm9yIGluZG9vciBuYXZpZ2F0aW9uOyDigJQgICAgICAgICAgRGV0YWlsZWQgZGF0YSBmb3JtYXRzIGZvciBpbmRvb3IgbmF2aWdhdGlvbiBkYXRhLCBpbmNsdWRpbmcgaW5kb29yIG1hcHMgYW5kIGluZG9vciBwb3NpdGlvbmluZyByZWZlcmVuY2VzICh0aGVzZSBmb3JtIGEgcGFydCBvZiA8ZW0+SVNPPC9lbT4gMTc0MzgtMlsxXSBhbmQgPGVtPklTTzwvZW0+IDE3NDM4LTNbMl0pOyDigJQgICAgICAgICAgSG93IHRvIHRyYW5zZmVyIGFuZCBzaGFyZSBkYXRhIHJlcXVpcmVkIGZvciBpbmRvb3IgbmF2aWdhdGlvbiBiZXR3ZWVuIGEgcm9hZHNpZGUgSVRTIHN0YXRpb24gYW5kIGEgY2VudHJhbCBJVFMgc3RhdGlvbiwgaS5lLiBsb3ctbGV2ZWwgY29tbXVuaWNhdGlvbiBwcm90b2NvbHM7IOKAlCAgICAgICAgICBPdGhlciBpc3N1ZXMgZGVwZW5kZW50IG9uIGltcGxlbWVudGF0aW9uIG9mIGFuIGluc3RhbmNlIG9mIGluZG9vciBuYXZpZ2F0aW9uLCBlLmcuIGluZG9vci1vdXRkb29yIHNlYW1sZXNzIG5hdmlnYXRpb24uIFRoaXMgZG9jdW1lbnQgdXNlcyB0aGUgWE1MIGFuZCBEYXRhIGVYY2hhbmdlIE1lc3NhZ2UgKERYTSkgZm9ybWF0IGRlZmluZWQgaW4gPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjg0LTIgdG8gZW5jb2RlIGRlZmluZWQgbWVzc2FnZXMuIFsxXSBVbmRlciBkZXZlbG9wbWVudC4gQ3VycmVudCBzdGFnZSAwLjAwLiBbMl0gVW5kZXIgZGV2ZWxvcG1lbnQuIEN1cnJlbnQgc3RhZ2UgMC4wMC4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDcvMjMvNzIzNzMiLCJ1dWlkIjoiNTFhYWI0NTktM2E2NS00MDFjLWJjYmYtZjhjZDZkNjg1MWI5IiwidGl0bGUiOiJJU08gMjIwMTc6MjAyMCBXYXRlciBxdWFsaXR5IOKAlCBHdWlkYW5jZSBmb3IgcmFwaWQgcmFkaW9hY3Rpdml0eSBtZWFzdXJlbWVudHMgaW4gbnVjbGVhciBvciByYWRpb2xvZ2ljYWwgZW1lcmdlbmN5IHNpdHVhdGlvbiIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMjAsIm9yZGVyIjoxMSwidGV4dCI6IlRoaXMgZG9jdW1lbnQgcHJvdmlkZXMgZ3VpZGVsaW5lcyBmb3IgdGVzdGluZyBsYWJvcmF0b3JpZXMgd2FudGluZyB0byB1c2UgcmFwaWQgdGVzdCBtZXRob2RzIG9uIHdhdGVyIHNhbXBsZXMgdGhhdCBtYXkgYmUgY29udGFtaW5hdGVkIGZvbGxvd2luZyBhIG51Y2xlYXIgb3IgcmFkaW9sb2dpY2FsIGVtZXJnZW5jeSBpbmNpZGVudC4gSW4gYW4gZW1lcmdlbmN5IHNpdHVhdGlvbiwgY29uc2lkZXJhdGlvbiBzaG91bGQgYmUgZ2l2ZW4gdG86IOKAlCAgICAgdGFraW5nIGludG8gYWNjb3VudCB0aGUgc3BlY2lmaWMgY29udGV4dCBmb3IgdGhlIHRlc3RzIHRvIGJlIHBlcmZvcm1lZCwgZS5nLiBhIHBvdGVudGlhbGx5IGhpZ2ggbGV2ZWwgb2YgY29udGFtaW5hdGlvbjsg4oCUICAgICB1c2luZyBvciBhZGp1c3RpbmcsIHdoZW4gcG9zc2libGUsIHJhZGlvYWN0aXZpdHkgdGVzdCBtZXRob2RzIGltcGxlbWVudGVkIGR1cmluZyByb3V0aW5lIHNpdHVhdGlvbnMgdG8gb2J0YWluIGEgcmVzdWx0IHJhcGlkbHkgb3IsIGZvciB0ZXN0cyBub3QgcGVyZm9ybWVkIHJvdXRpbmVseSwgYXBwbHlpbmcgc3BlY2lmaWMgcmFwaWQgdGVzdCBtZXRob2RzIHByZXZpb3VzbHkgdmFsaWRhdGVkIGJ5IHRoZSBsYWJvcmF0b3J5LCBlLmcuIGZvciA4OSBTciBkZXRlcm1pbmF0aW9uOyDigJQgICAgIHByZXBhcmluZyB0aGUgdGVzdCBsYWJvcmF0b3J5IHRvIG1lYXN1cmUgYSBsYXJnZSBudW1iZXIgb2YgcG90ZW50aWFsbHkgY29udGFtaW5hdGVkIHNhbXBsZXMuIFRoZSBhaW0gb2YgdGhpcyBkb2N1bWVudCBpcyB0byBlbnN1cmUgZGVjaXNpb24gbWFrZXJzIGhhdmUgcmVsaWFibGUgcmVzdWx0cyBuZWVkZWQgdG8gdGFrZSBhY3Rpb25zIHF1aWNrbHkgYW5kIG1pbmltaXplIHRoZSByYWRpYXRpb24gZG9zZSB0byB0aGUgcHVibGljLiBNZWFzdXJlbWVudHMgYXJlIHBlcmZvcm1lZCBpbiBvcmRlciB0byBtaW5pbWl6ZSB0aGUgcmlzayB0byB0aGUgcHVibGljIGJ5IGNoZWNraW5nIHRoZSBxdWFsaXR5IG9mIHdhdGVyIHN1cHBsaWVzLiBGb3IgZW1lcmdlbmN5IHNpdHVhdGlvbnMsIHRlc3QgcmVzdWx0cyBhcmUgb2Z0ZW4gY29tcGFyZWQgdG8gb3BlcmF0aW9uYWwgaW50ZXJ2ZW50aW9uIGxldmVscy4gTk9URSAgICBPcGVyYXRpb25hbCBpbnRlcnZlbnRpb24gbGV2ZWxzIChPSUxzKSBhcmUgZGVyaXZlZCBmcm9tIElBRUEgU2FmZXR5IFN0YW5kYXJkcyBbOF0gb3IgbmF0aW9uYWwgYXV0aG9yaXRpZXMgWzldIC4gQSBrZXkgZWxlbWVudCBvZiByYXBpZCBhbmFseXNpcyBjYW4gYmUgdGhlIHVzZSBvZiByb3V0aW5lIG1ldGhvZHMgYnV0IHdpdGggYSByZWR1Y2VkIHR1cm5hcm91bmQgdGltZS4gVGhlIGdvYWwgb2YgdGhlc2UgcmFwaWQgbWVhc3VyZW1lbnRzIGlzIG9mdGVuIHRvIGNoZWNrIGZvciB1bnVzdWFsIHJhZGlvYWN0aXZpdHkgbGV2ZWxzIGluIHRoZSB0ZXN0IHNhbXBsZSwgdG8gaWRlbnRpZnkgdGhlIHJhZGlvbnVjbGlkZXMgcHJlc2VudCBhbmQgdGhlaXIgYWN0aXZpdHkgY29uY2VudHJhdGlvbiBsZXZlbHMgYW5kIHRvIGVzdGFibGlzaCBjb21wbGlhbmNlIG9mIHRoZSB3YXRlciB3aXRoIGludGVydmVudGlvbiBsZXZlbHMgWzEwXVsxMV1bMTJdIC4gSXQgc2hvdWxkIGJlIG5vdGVkIHRoYXQgaW4gc3VjaCBjaXJjdW1zdGFuY2VzLCB2YWxpZGF0aW9uIHBhcmFtZXRlcnMgZXZhbHVhdGVkIGZvciByb3V0aW5lIHVzZSAoZS5nLiByZXByb2R1Y2liaWxpdHksIHByZWNpc2lvbiwgZXRjLikgbWF5IG5vdCBiZSBhcHBsaWNhYmxlIHRvIHRoZSBtb2RpZmllZCByYXBpZCBtZXRob2QuIEhvd2V2ZXIsIGR1ZSB0byB0aGUgY2lyY3Vtc3RhbmNlcyBhcmlzaW5nIGFmdGVyIGFuIGVtZXJnZW5jeSwgdGhlIG1vZGlmaWVkIG1ldGhvZCBtYXkgc3RpbGwgYmUgZml0LWZvci1wdXJwb3NlIGFsdGhvdWdoIHVuY2VydGFpbnRpZXMgYXNzb2NpYXRlZCB3aXRoIHRoZSB0ZXN0IHJlc3VsdHMgbmVlZCB0byBiZSBldmFsdWF0ZWQgYW5kIG1heSBpbmNyZWFzZSBmcm9tIHJvdXRpbmUgYW5hbHlzZXMuIFRoZSBmaXJzdCBzdGVwcyBvZiB0aGUgYW5hbHl0aWNhbCBhcHByb2FjaCBhcmUgdXN1YWxseSBzY3JlZW5pbmcgbWV0aG9kcyBiYXNlZCBvbiBncm9zcyBhbHBoYSBhbmQgZ3Jvc3MgYmV0YSB0ZXN0IG1ldGhvZHMgKGFkYXB0YXRpb24gb2YgSVNPIDEwNzA0IGFuZCBJU08gMTE3MDQpIGFuZCBnYW1tYSBzcGVjdHJvbWV0cnkgKGFkYXB0YXRpb24gb2YgSVNPIDIwMDQyLCBJU08gMTA3MDMgYW5kIElTTyAxOTU4MSkuIFRoZW4sIGlmIHJlcXVpcmVkIFsxM10gLCB0ZXN0IG1ldGhvZCBzdGFuZGFyZHMgZm9yIHNwZWNpZmljIHJhZGlvbnVjbGlkZXMgKHNlZSBDbGF1c2UgMikgYXJlIGFkYXB0ZWQgYW5kIGFwcGxpZWQgKGZvciBleGFtcGxlLCA5MCBTciBtZWFzdXJlbWVudCBhY2NvcmRpbmcgdG8gSVNPIDEzMTYwKSBhcyBwcm9wb3NlZCBpbiBBbm5leCBBLiBUaGlzIGRvY3VtZW50IHJlZmVycyB0byBwdWJsaXNoZWQgSVNPIGRvY3VtZW50cy4gV2hlbiBhcHByb3ByaWF0ZSwgdGhpcyBkb2N1bWVudCBhbHNvIHJlZmVycyB0byBuYXRpb25hbCBzdGFuZGFyZHMgb3Igb3RoZXIgcHVibGljbHkgYXZhaWxhYmxlIGRvY3VtZW50cy4gU2NyZWVuaW5nIHRlY2huaXF1ZXMgdGhhdCBjYW4gYmUgY2FycmllZCBvdXQgZGlyZWN0bHkgaW4gdGhlIGZpZWxkIGFyZSBub3QgcGFydCBvZiB0aGlzIGRvY3VtZW50LiAiLCJvYmplY3RJRCI6IjcyMzczXzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDIyMDE3OjIwMjAgV2F0ZXIgcXVhbGl0eSDigJQgR3VpZGFuY2UgZm9yIHJhcGlkIHJhZGlvYWN0aXZpdHkgbWVhc3VyZW1lbnRzIGluIG51Y2xlYXIgb3IgcmFkaW9sb2dpY2FsIGVtZXJnZW5jeSBzaXR1YXRpb24iLCJtYXRjaExldmVsIjoicGFydGlhbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIl19LCJ0ZXh0Ijp7InZhbHVlIjoiVGhpcyBkb2N1bWVudCBwcm92aWRlcyBndWlkZWxpbmVzIGZvciB0ZXN0aW5nIGxhYm9yYXRvcmllcyB3YW50aW5nIHRvIHVzZSByYXBpZCB0ZXN0IG1ldGhvZHMgb24gd2F0ZXIgc2FtcGxlcyB0aGF0IG1heSBiZSBjb250YW1pbmF0ZWQgZm9sbG93aW5nIGEgbnVjbGVhciBvciByYWRpb2xvZ2ljYWwgZW1lcmdlbmN5IGluY2lkZW50LiBJbiBhbiBlbWVyZ2VuY3kgc2l0dWF0aW9uLCBjb25zaWRlcmF0aW9uIHNob3VsZCBiZSBnaXZlbiB0bzog4oCUICAgICB0YWtpbmcgaW50byBhY2NvdW50IHRoZSBzcGVjaWZpYyBjb250ZXh0IGZvciB0aGUgdGVzdHMgdG8gYmUgcGVyZm9ybWVkLCBlLmcuIGEgcG90ZW50aWFsbHkgaGlnaCBsZXZlbCBvZiBjb250YW1pbmF0aW9uOyDigJQgICAgIHVzaW5nIG9yIGFkanVzdGluZywgd2hlbiBwb3NzaWJsZSwgcmFkaW9hY3Rpdml0eSB0ZXN0IG1ldGhvZHMgaW1wbGVtZW50ZWQgZHVyaW5nIHJvdXRpbmUgc2l0dWF0aW9ucyB0byBvYnRhaW4gYSByZXN1bHQgcmFwaWRseSBvciwgZm9yIHRlc3RzIG5vdCBwZXJmb3JtZWQgcm91dGluZWx5LCBhcHBseWluZyBzcGVjaWZpYyByYXBpZCB0ZXN0IG1ldGhvZHMgcHJldmlvdXNseSB2YWxpZGF0ZWQgYnkgdGhlIGxhYm9yYXRvcnksIGUuZy4gZm9yIDg5IFNyIGRldGVybWluYXRpb247IOKAlCAgICAgcHJlcGFyaW5nIHRoZSB0ZXN0IGxhYm9yYXRvcnkgdG8gbWVhc3VyZSBhIGxhcmdlIG51bWJlciBvZiBwb3RlbnRpYWxseSBjb250YW1pbmF0ZWQgc2FtcGxlcy4gVGhlIGFpbSBvZiB0aGlzIGRvY3VtZW50IGlzIHRvIGVuc3VyZSBkZWNpc2lvbiBtYWtlcnMgaGF2ZSByZWxpYWJsZSByZXN1bHRzIG5lZWRlZCB0byB0YWtlIGFjdGlvbnMgcXVpY2tseSBhbmQgbWluaW1pemUgdGhlIHJhZGlhdGlvbiBkb3NlIHRvIHRoZSBwdWJsaWMuIE1lYXN1cmVtZW50cyBhcmUgcGVyZm9ybWVkIGluIG9yZGVyIHRvIG1pbmltaXplIHRoZSByaXNrIHRvIHRoZSBwdWJsaWMgYnkgY2hlY2tpbmcgdGhlIHF1YWxpdHkgb2Ygd2F0ZXIgc3VwcGxpZXMuIEZvciBlbWVyZ2VuY3kgc2l0dWF0aW9ucywgdGVzdCByZXN1bHRzIGFyZSBvZnRlbiBjb21wYXJlZCB0byBvcGVyYXRpb25hbCBpbnRlcnZlbnRpb24gbGV2ZWxzLiBOT1RFICAgIE9wZXJhdGlvbmFsIGludGVydmVudGlvbiBsZXZlbHMgKE9JTHMpIGFyZSBkZXJpdmVkIGZyb20gSUFFQSBTYWZldHkgU3RhbmRhcmRzIFs4XSBvciBuYXRpb25hbCBhdXRob3JpdGllcyBbOV0gLiBBIGtleSBlbGVtZW50IG9mIHJhcGlkIGFuYWx5c2lzIGNhbiBiZSB0aGUgdXNlIG9mIHJvdXRpbmUgbWV0aG9kcyBidXQgd2l0aCBhIHJlZHVjZWQgdHVybmFyb3VuZCB0aW1lLiBUaGUgZ29hbCBvZiB0aGVzZSByYXBpZCBtZWFzdXJlbWVudHMgaXMgb2Z0ZW4gdG8gY2hlY2sgZm9yIHVudXN1YWwgcmFkaW9hY3Rpdml0eSBsZXZlbHMgaW4gdGhlIHRlc3Qgc2FtcGxlLCB0byBpZGVudGlmeSB0aGUgcmFkaW9udWNsaWRlcyBwcmVzZW50IGFuZCB0aGVpciBhY3Rpdml0eSBjb25jZW50cmF0aW9uIGxldmVscyBhbmQgdG8gZXN0YWJsaXNoIGNvbXBsaWFuY2Ugb2YgdGhlIHdhdGVyIHdpdGggaW50ZXJ2ZW50aW9uIGxldmVscyBbMTBdWzExXVsxMl0gLiBJdCBzaG91bGQgYmUgbm90ZWQgdGhhdCBpbiBzdWNoIGNpcmN1bXN0YW5jZXMsIHZhbGlkYXRpb24gcGFyYW1ldGVycyBldmFsdWF0ZWQgZm9yIHJvdXRpbmUgdXNlIChlLmcuIHJlcHJvZHVjaWJpbGl0eSwgcHJlY2lzaW9uLCBldGMuKSBtYXkgbm90IGJlIGFwcGxpY2FibGUgdG8gdGhlIG1vZGlmaWVkIHJhcGlkIG1ldGhvZC4gSG93ZXZlciwgZHVlIHRvIHRoZSBjaXJjdW1zdGFuY2VzIGFyaXNpbmcgYWZ0ZXIgYW4gZW1lcmdlbmN5LCB0aGUgbW9kaWZpZWQgbWV0aG9kIG1heSBzdGlsbCBiZSBmaXQtZm9yLXB1cnBvc2UgYWx0aG91Z2ggdW5jZXJ0YWludGllcyBhc3NvY2lhdGVkIHdpdGggdGhlIHRlc3QgcmVzdWx0cyBuZWVkIHRvIGJlIGV2YWx1YXRlZCBhbmQgbWF5IGluY3JlYXNlIGZyb20gcm91dGluZSBhbmFseXNlcy4gVGhlIGZpcnN0IHN0ZXBzIG9mIHRoZSBhbmFseXRpY2FsIGFwcHJvYWNoIGFyZSB1c3VhbGx5IHNjcmVlbmluZyBtZXRob2RzIGJhc2VkIG9uIGdyb3NzIGFscGhhIGFuZCBncm9zcyBiZXRhIHRlc3QgbWV0aG9kcyAoYWRhcHRhdGlvbiBvZiA8ZW0+SVNPPC9lbT4gMTA3MDQgYW5kIDxlbT5JU088L2VtPiAxMTcwNCkgYW5kIGdhbW1hIHNwZWN0cm9tZXRyeSAoYWRhcHRhdGlvbiBvZiA8ZW0+SVNPPC9lbT4gMjAwNDIsIDxlbT5JU088L2VtPiAxMDcwMyBhbmQgPGVtPklTTzwvZW0+IDE5NTgxKS4gVGhlbiwgaWYgcmVxdWlyZWQgWzEzXSAsIHRlc3QgbWV0aG9kIHN0YW5kYXJkcyBmb3Igc3BlY2lmaWMgcmFkaW9udWNsaWRlcyAoc2VlIENsYXVzZSAyKSBhcmUgYWRhcHRlZCBhbmQgYXBwbGllZCAoZm9yIGV4YW1wbGUsIDkwIFNyIG1lYXN1cmVtZW50IGFjY29yZGluZyB0byA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NjApIGFzIHByb3Bvc2VkIGluIEFubmV4IEEuIFRoaXMgZG9jdW1lbnQgcmVmZXJzIHRvIHB1Ymxpc2hlZCA8ZW0+SVNPPC9lbT4gZG9jdW1lbnRzLiBXaGVuIGFwcHJvcHJpYXRlLCB0aGlzIGRvY3VtZW50IGFsc28gcmVmZXJzIHRvIG5hdGlvbmFsIHN0YW5kYXJkcyBvciBvdGhlciBwdWJsaWNseSBhdmFpbGFibGUgZG9jdW1lbnRzLiBTY3JlZW5pbmcgdGVjaG5pcXVlcyB0aGF0IGNhbiBiZSBjYXJyaWVkIG91dCBkaXJlY3RseSBpbiB0aGUgZmllbGQgYXJlIG5vdCBwYXJ0IG9mIHRoaXMgZG9jdW1lbnQuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzAwLzAwLzQ2IiwidXVpZCI6IjQxZTdlZTkxLTQwZmMtNGU5My04OTMzLWE2YTMzZWNmODE4NyIsInRpdGxlIjoiSVNPL1IgMTMxOjE5NTkgVGl0bGUgbWlzc2luZyAtIExlZ2FjeSBwYXBlciBkb2N1bWVudCIsInN0YXR1cyI6IldpdGhkcmF3biIsInllYXIiOjE5NjQsIm9yZGVyIjoxMDAsIm9iamVjdElEIjoiNDZfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4vUiA8ZW0+MTMxPC9lbT46MTk1OSBUaXRsZSBtaXNzaW5nIC0gTGVnYWN5IHBhcGVyIGRvY3VtZW50IiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDUvNzkvNTc5NTQiLCJ1dWlkIjoiOGJmZDc1MDMtYjg5Ny00ZjFiLWI4NjgtMmZlMzZhZjcxYzNhIiwidGl0bGUiOiJJU08vSUVDIDEzMTU2OjIwMTEgSW5mb3JtYXRpb24gdGVjaG5vbG9neSDigJQgVGVsZWNvbW11bmljYXRpb25zIGFuZCBpbmZvcm1hdGlvbiBleGNoYW5nZSBiZXR3ZWVuIHN5c3RlbXMg4oCUIEhpZ2ggcmF0ZSA2MCBHSHogUEhZLCBNQUMgYW5kIFBBTHMiLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDIyLCJvcmRlciI6MTEsInRleHQiOiJJU08vSUVDIDEzMTU2OjIwMTEgc3BlY2lmaWVzIGEgcGh5c2ljYWwgbGF5ZXIgKFBIWSksIGRpc3RyaWJ1dGVkIG1lZGl1bSBhY2Nlc3MgY29udHJvbCAoTUFDKSBzdWJsYXllciwgYW5kIGFuIEhETUkgcHJvdG9jb2wgYWRhcHRhdGlvbiBsYXllciAoUEFMKSBmb3IgNjAgR0h6IHdpcmVsZXNzIG5ldHdvcmtzLiAiLCJvYmplY3RJRCI6IjU3OTU0XzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+L0lFQyA8ZW0+MTMxPC9lbT41NjoyMDExIEluZm9ybWF0aW9uIHRlY2hub2xvZ3kg4oCUIFRlbGVjb21tdW5pY2F0aW9ucyBhbmQgaW5mb3JtYXRpb24gZXhjaGFuZ2UgYmV0d2VlbiBzeXN0ZW1zIOKAlCBIaWdoIHJhdGUgNjAgR0h6IFBIWSwgTUFDIGFuZCBQQUxzIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPi9JRUMgPGVtPjEzMTwvZW0+NTY6MjAxMSBzcGVjaWZpZXMgYSBwaHlzaWNhbCBsYXllciAoUEhZKSwgZGlzdHJpYnV0ZWQgbWVkaXVtIGFjY2VzcyBjb250cm9sIChNQUMpIHN1YmxheWVyLCBhbmQgYW4gSERNSSBwcm90b2NvbCBhZGFwdGF0aW9uIGxheWVyIChQQUwpIGZvciA2MCBHSHogd2lyZWxlc3MgbmV0d29ya3MuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA2LzkzLzY5MzQ0IiwidXVpZCI6ImNlZjZiZWI3LTcxZDktNDViYi04MWU3LTRhZmM5NTdiZDc1OSIsInRpdGxlIjoiSVNPL0lFQyAxMzE1Ny01OjIwMTYgSW5mb3JtYXRpb24gdGVjaG5vbG9neSDigJQgVGVsZWNvbW11bmljYXRpb25zIGFuZCBpbmZvcm1hdGlvbiBleGNoYW5nZSBiZXR3ZWVuIHN5c3RlbXMg4oCUIE5GQyBTZWN1cml0eSDigJQgUGFydCA1OiBORkMtU0VDIGVudGl0eSBhdXRoZW50aWNhdGlvbiBhbmQga2V5IGFncmVlbWVudCB1c2luZyBzeW1tZXRyaWMgY3J5cHRvZ3JhcGh5Iiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAyMSwib3JkZXIiOjExLCJ0ZXh0IjoiSVNPL0lFQyAxMzE1Ny01OjIwMTYgc3BlY2lmaWVzIHRoZSBtZXNzYWdlIGNvbnRlbnRzIGFuZCB0aGUgY3J5cHRvZ3JhcGhpYyBtZWNoYW5pc21zIGZvciBQSUQgMDQuIElTTy9JRUMgMTMxNTctNToyMDE2IHNwZWNpZmllcyBrZXkgYWdyZWVtZW50IGFuZCBjb25maXJtYXRpb24gbWVjaGFuaXNtcyBwcm92aWRpbmcgbXV0dWFsIGF1dGhlbnRpY2F0aW9uLCB1c2luZyBzeW1tZXRyaWMgY3J5cHRvZ3JhcGh5LiBJU08vSUVDIDEzMTU3LTU6MjAxNiBhZGRzIGVudGl0eSBhdXRoZW50aWNhdGlvbiB0byB0aGUgc2VydmljZXMgcHJvdmlkZWQgYnkgSVNPL0lFQyAxMzE1Ny0zIChFQ01B4oCRNDA5KSBORkMtU0VDLTAyLiAiLCJvYmplY3RJRCI6IjY5MzQ0XzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+L0lFQyA8ZW0+MTMxPC9lbT41Ny01OjIwMTYgSW5mb3JtYXRpb24gdGVjaG5vbG9neSDigJQgVGVsZWNvbW11bmljYXRpb25zIGFuZCBpbmZvcm1hdGlvbiBleGNoYW5nZSBiZXR3ZWVuIHN5c3RlbXMg4oCUIE5GQyBTZWN1cml0eSDigJQgUGFydCA1OiBORkMtU0VDIGVudGl0eSBhdXRoZW50aWNhdGlvbiBhbmQga2V5IGFncmVlbWVudCB1c2luZyBzeW1tZXRyaWMgY3J5cHRvZ3JhcGh5IiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPi9JRUMgPGVtPjEzMTwvZW0+NTctNToyMDE2IHNwZWNpZmllcyB0aGUgbWVzc2FnZSBjb250ZW50cyBhbmQgdGhlIGNyeXB0b2dyYXBoaWMgbWVjaGFuaXNtcyBmb3IgUElEIDA0LiA8ZW0+SVNPPC9lbT4vSUVDIDxlbT4xMzE8L2VtPjU3LTU6MjAxNiBzcGVjaWZpZXMga2V5IGFncmVlbWVudCBhbmQgY29uZmlybWF0aW9uIG1lY2hhbmlzbXMgcHJvdmlkaW5nIG11dHVhbCBhdXRoZW50aWNhdGlvbiwgdXNpbmcgc3ltbWV0cmljIGNyeXB0b2dyYXBoeS4gPGVtPklTTzwvZW0+L0lFQyA8ZW0+MTMxPC9lbT41Ny01OjIwMTYgYWRkcyBlbnRpdHkgYXV0aGVudGljYXRpb24gdG8gdGhlIHNlcnZpY2VzIHByb3ZpZGVkIGJ5IDxlbT5JU088L2VtPi9JRUMgPGVtPjEzMTwvZW0+NTctMyAoRUNNQeKAkTQwOSkgTkZDLVNFQy0wMi4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDYvOTMvNjkzNDMiLCJ1dWlkIjoiODZiYzQyNGYtZjY1My00MWI4LWIyNTItMjI5NGJiMWUxOTdhIiwidGl0bGUiOiJJU08vSUVDIDEzMTU3LTQ6MjAxNiBJbmZvcm1hdGlvbiB0ZWNobm9sb2d5IOKAlCBUZWxlY29tbXVuaWNhdGlvbnMgYW5kIGluZm9ybWF0aW9uIGV4Y2hhbmdlIGJldHdlZW4gc3lzdGVtcyDigJQgTkZDIFNlY3VyaXR5IOKAlCBQYXJ0IDQ6IE5GQy1TRUMgZW50aXR5IGF1dGhlbnRpY2F0aW9uIGFuZCBrZXkgYWdyZWVtZW50IHVzaW5nIGFzeW1tZXRyaWMgY3J5cHRvZ3JhcGh5Iiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAyMSwib3JkZXIiOjExLCJ0ZXh0IjoiSVNPL0lFQyAxMzE1Ny00OjIwMTYgc3BlY2lmaWVzIHRoZSBtZXNzYWdlIGNvbnRlbnRzIGFuZCB0aGUgY3J5cHRvZ3JhcGhpYyBtZWNoYW5pc21zIGZvciBQSUQgMDMuIElTTy9JRUMgMTMxNTctNDoyMDE2IHNwZWNpZmllcyBrZXkgYWdyZWVtZW50IGFuZCBjb25maXJtYXRpb24gbWVjaGFuaXNtcyBwcm92aWRpbmcgbXV0dWFsIGF1dGhlbnRpY2F0aW9uLCB1c2luZyBhc3ltbWV0cmljIGNyeXB0b2dyYXBoeSwgYW5kIHRoZSB0cmFuc3BvcnQgcHJvdG9jb2wgcmVxdWlyZW1lbnRzIGZvciB0aGUgZXhjaGFuZ2UgYmV0d2VlbiBTZW5kZXIgYW5kIFRUUC4gTk9URSBJU08vSUVDIDEzMTU3LTQ6MjAxNiBhZGRzIGVudGl0eSBhdXRoZW50aWNhdGlvbiB0byB0aGUgc2VydmljZXMgcHJvdmlkZWQgYnkgSVNPL0lFQyAxMzE1Ny0zIChFQ01BLTQwOSkgTkZDLVNFQy0wMi4gIiwib2JqZWN0SUQiOiI2OTM0M18wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPi9JRUMgPGVtPjEzMTwvZW0+NTctNDoyMDE2IEluZm9ybWF0aW9uIHRlY2hub2xvZ3kg4oCUIFRlbGVjb21tdW5pY2F0aW9ucyBhbmQgaW5mb3JtYXRpb24gZXhjaGFuZ2UgYmV0d2VlbiBzeXN0ZW1zIOKAlCBORkMgU2VjdXJpdHkg4oCUIFBhcnQgNDogTkZDLVNFQyBlbnRpdHkgYXV0aGVudGljYXRpb24gYW5kIGtleSBhZ3JlZW1lbnQgdXNpbmcgYXN5bW1ldHJpYyBjcnlwdG9ncmFwaHkiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+L0lFQyA8ZW0+MTMxPC9lbT41Ny00OjIwMTYgc3BlY2lmaWVzIHRoZSBtZXNzYWdlIGNvbnRlbnRzIGFuZCB0aGUgY3J5cHRvZ3JhcGhpYyBtZWNoYW5pc21zIGZvciBQSUQgMDMuIDxlbT5JU088L2VtPi9JRUMgPGVtPjEzMTwvZW0+NTctNDoyMDE2IHNwZWNpZmllcyBrZXkgYWdyZWVtZW50IGFuZCBjb25maXJtYXRpb24gbWVjaGFuaXNtcyBwcm92aWRpbmcgbXV0dWFsIGF1dGhlbnRpY2F0aW9uLCB1c2luZyBhc3ltbWV0cmljIGNyeXB0b2dyYXBoeSwgYW5kIHRoZSB0cmFuc3BvcnQgcHJvdG9jb2wgcmVxdWlyZW1lbnRzIGZvciB0aGUgZXhjaGFuZ2UgYmV0d2VlbiBTZW5kZXIgYW5kIFRUUC4gTk9URSA8ZW0+SVNPPC9lbT4vSUVDIDxlbT4xMzE8L2VtPjU3LTQ6MjAxNiBhZGRzIGVudGl0eSBhdXRoZW50aWNhdGlvbiB0byB0aGUgc2VydmljZXMgcHJvdmlkZWQgYnkgPGVtPklTTzwvZW0+L0lFQyA8ZW0+MTMxPC9lbT41Ny0zIChFQ01BLTQwOSkgTkZDLVNFQy0wMi4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDYvOTMvNjkzNDIiLCJ1dWlkIjoiOTBmZjU1MGYtZjc4My00YTgzLWE2YmQtMzhiYTBjYTg0ODZkIiwidGl0bGUiOiJJU08vSUVDIDEzMTU3LTM6MjAxNiBJbmZvcm1hdGlvbiB0ZWNobm9sb2d5IOKAlCBUZWxlY29tbXVuaWNhdGlvbnMgYW5kIGluZm9ybWF0aW9uIGV4Y2hhbmdlIGJldHdlZW4gc3lzdGVtcyDigJQgTkZDIFNlY3VyaXR5IOKAlCBQYXJ0IDM6IE5GQy1TRUMgY3J5cHRvZ3JhcGh5IHN0YW5kYXJkIHVzaW5nIEVDREgtMjU2IGFuZCBBRVMtR0NNIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAyMSwib3JkZXIiOjExLCJ0ZXh0IjoiSVNPL0lFQyAxMzE1Ny0zOjIwMTYgc3BlY2lmaWVzIHRoZSBtZXNzYWdlIGNvbnRlbnRzIGFuZCB0aGUgY3J5cHRvZ3JhcGhpYyBtZXRob2RzIGZvciBQSUQgMDIuIEl0IHNwZWNpZmllcyBjcnlwdG9ncmFwaGljIG1lY2hhbmlzbXMgdGhhdCB1c2UgdGhlIEVsbGlwdGljIEN1cnZlcyBEaWZmaWUtSGVsbG1hbiAoRUNESCkgcHJvdG9jb2wgd2l0aCBhIGtleSBsZW5ndGggb2YgMjU2IGJpdHMgZm9yIGtleSBhZ3JlZW1lbnQgYW5kIHRoZSBBRVMgYWxnb3JpdGhtIGluIEdDTSBtb2RlIHRvIHByb3ZpZGUgZGF0YSBhdXRoZW50aWNhdGVkIGVuY3J5cHRpb24uICIsIm9iamVjdElEIjoiNjkzNDJfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4vSUVDIDxlbT4xMzE8L2VtPjU3LTM6MjAxNiBJbmZvcm1hdGlvbiB0ZWNobm9sb2d5IOKAlCBUZWxlY29tbXVuaWNhdGlvbnMgYW5kIGluZm9ybWF0aW9uIGV4Y2hhbmdlIGJldHdlZW4gc3lzdGVtcyDigJQgTkZDIFNlY3VyaXR5IOKAlCBQYXJ0IDM6IE5GQy1TRUMgY3J5cHRvZ3JhcGh5IHN0YW5kYXJkIHVzaW5nIEVDREgtMjU2IGFuZCBBRVMtR0NNIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPi9JRUMgPGVtPjEzMTwvZW0+NTctMzoyMDE2IHNwZWNpZmllcyB0aGUgbWVzc2FnZSBjb250ZW50cyBhbmQgdGhlIGNyeXB0b2dyYXBoaWMgbWV0aG9kcyBmb3IgUElEIDAyLiBJdCBzcGVjaWZpZXMgY3J5cHRvZ3JhcGhpYyBtZWNoYW5pc21zIHRoYXQgdXNlIHRoZSBFbGxpcHRpYyBDdXJ2ZXMgRGlmZmllLUhlbGxtYW4gKEVDREgpIHByb3RvY29sIHdpdGggYSBrZXkgbGVuZ3RoIG9mIDI1NiBiaXRzIGZvciBrZXkgYWdyZWVtZW50IGFuZCB0aGUgQUVTIGFsZ29yaXRobSBpbiBHQ00gbW9kZSB0byBwcm92aWRlIGRhdGEgYXV0aGVudGljYXRlZCBlbmNyeXB0aW9uLiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNi85My82OTMyOCIsInV1aWQiOiJjNTBkMTRkZi1hNjc5LTRkNzctOTlmYy1hOGIyZTJjMmVlZjYiLCJ0aXRsZSI6IklTTy9JRUMgMTMxNTctMjoyMDE2IEluZm9ybWF0aW9uIHRlY2hub2xvZ3kg4oCUIFRlbGVjb21tdW5pY2F0aW9ucyBhbmQgaW5mb3JtYXRpb24gZXhjaGFuZ2UgYmV0d2VlbiBzeXN0ZW1zIOKAlCBORkMgU2VjdXJpdHkg4oCUIFBhcnQgMjogTkZDLVNFQyBjcnlwdG9ncmFwaHkgc3RhbmRhcmQgdXNpbmcgRUNESCBhbmQgQUVTIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAyMSwib3JkZXIiOjExLCJ0ZXh0IjoiSVNPL0lFQyAxMzE1Ny0yOjIwMTYgc3BlY2lmaWVzIHRoZSBtZXNzYWdlIGNvbnRlbnRzIGFuZCB0aGUgY3J5cHRvZ3JhcGhpYyBtZXRob2RzIGZvciBQSUQgMDEuIElTTy9JRUMgMTMxNTctMjoyMDE2IHNwZWNpZmllcyBjcnlwdG9ncmFwaGljIG1lY2hhbmlzbXMgdGhhdCB1c2UgdGhlIEVsbGlwdGljIEN1cnZlcyBEaWZmaWUtSGVsbG1hbiAoRUNESCkgcHJvdG9jb2wgZm9yIGtleSBhZ3JlZW1lbnQgYW5kIHRoZSBBRVMgYWxnb3JpdGhtIGZvciBkYXRhIGVuY3J5cHRpb24gYW5kIGludGVncml0eS4gIiwib2JqZWN0SUQiOiI2OTMyOF8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPi9JRUMgPGVtPjEzMTwvZW0+NTctMjoyMDE2IEluZm9ybWF0aW9uIHRlY2hub2xvZ3kg4oCUIFRlbGVjb21tdW5pY2F0aW9ucyBhbmQgaW5mb3JtYXRpb24gZXhjaGFuZ2UgYmV0d2VlbiBzeXN0ZW1zIOKAlCBORkMgU2VjdXJpdHkg4oCUIFBhcnQgMjogTkZDLVNFQyBjcnlwdG9ncmFwaHkgc3RhbmRhcmQgdXNpbmcgRUNESCBhbmQgQUVTIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPi9JRUMgPGVtPjEzMTwvZW0+NTctMjoyMDE2IHNwZWNpZmllcyB0aGUgbWVzc2FnZSBjb250ZW50cyBhbmQgdGhlIGNyeXB0b2dyYXBoaWMgbWV0aG9kcyBmb3IgUElEIDAxLiA8ZW0+SVNPPC9lbT4vSUVDIDxlbT4xMzE8L2VtPjU3LTI6MjAxNiBzcGVjaWZpZXMgY3J5cHRvZ3JhcGhpYyBtZWNoYW5pc21zIHRoYXQgdXNlIHRoZSBFbGxpcHRpYyBDdXJ2ZXMgRGlmZmllLUhlbGxtYW4gKEVDREgpIHByb3RvY29sIGZvciBrZXkgYWdyZWVtZW50IGFuZCB0aGUgQUVTIGFsZ29yaXRobSBmb3IgZGF0YSBlbmNyeXB0aW9uIGFuZCBpbnRlZ3JpdHkuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA1LzM0LzUzNDM0IiwidXVpZCI6Ijc5NGIxNDg0LTlmNDYtNDMyZS1hY2YwLTE4MThhYjMzNGUwOSIsInRpdGxlIjoiSVNPL0lFQyAxMzE3MDoyMDA5IEluZm9ybWF0aW9uIHRlY2hub2xvZ3kg4oCUIDEyMCBtbSAoOCw1NCBHYnl0ZXMgcGVyIHNpZGUpIGFuZCA4MCBtbSAoMiw2NiBHYnl0ZXMgcGVyIHNpZGUpIERWRCByZS1yZWNvcmRhYmxlIGRpc2sgZm9yIGR1YWwgbGF5ZXIgKERWRC1SVyBmb3IgREwpIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAyMCwib3JkZXIiOjExLCJ0ZXh0IjoiSVNPL0lFQyAxMzE3MDoyMDEwIHNwZWNpZmllcyB0aGUgbWVjaGFuaWNhbCwgcGh5c2ljYWwgYW5kIG9wdGljYWwgY2hhcmFjdGVyaXN0aWNzIG9mIGEgMTIwIG1tIGFuZCBhbiA4MCBtbSBkdWFsIGxheWVyIERWRCByZS1yZWNvcmRhYmxlIGRpc2sgdG8gZW5hYmxlIHRoZSBpbnRlcmNoYW5nZSBvZiBzdWNoIGRpc2tzLiBJdCBzcGVjaWZpZXMgdGhlIHF1YWxpdHkgb2YgdGhlIGVtYm9zc2VkLCB1bnJlY29yZGVkIGFuZCB0aGUgcmVjb3JkZWQgc2lnbmFscywgdGhlIGZvcm1hdCBvZiB0aGUgZGF0YSwgdGhlIGZvcm1hdCBvZiB0aGUgaW5mb3JtYXRpb24gem9uZSwgdGhlIGZvcm1hdCBvZiB0aGUgdW5yZWNvcmRlZCB6b25lLCBhbmQgdGhlIHJlY29yZGluZyBtZXRob2QsIHRoZXJlYnkgYWxsb3dpbmcgZm9yIGluZm9ybWF0aW9uIGludGVyY2hhbmdlIGJ5IG1lYW5zIG9mIHN1Y2ggZGlza3MuIFRoaXMgZGlzayBpcyBpZGVudGlmaWVkIGFzIGEgRFZEIHJlLXJlY29yZGFibGUgZGlzayBmb3IgZHVhbCBsYXllciAoRFZELVJXIGZvciBETCkuIElTTy9JRUMgMTMxNzA6MjAxMCBzcGVjaWZpZXM6IDEyMCBtbSBhbmQgODAgbW0gbm9taW5hbCBkaWFtZXRlciBkaXNrcyB0aGF0IG1heSBiZSBlaXRoZXIgc2luZ2xlIG9yIGRvdWJsZSBzaWRlZDsgdGhlIGNvbmRpdGlvbnMgZm9yIGNvbmZvcm1hbmNlOyB0aGUgZW52aXJvbm1lbnRzIGluIHdoaWNoIHRoZSBkaXNrIGlzIHRvIGJlIG9wZXJhdGVkIGFuZCBzdG9yZWQ7IHRoZSBtZWNoYW5pY2FsIGFuZCBwaHlzaWNhbCBjaGFyYWN0ZXJpc3RpY3Mgb2YgdGhlIGRpc2ssIHNvIGFzIHRvIHByb3ZpZGUgbWVjaGFuaWNhbCBpbnRlcmNoYW5nZSBiZXR3ZWVuIGRhdGEgcHJvY2Vzc2luZyBzeXN0ZW1zOyB0aGUgZm9ybWF0IG9mIHRoZSBlbWJvc3NlZCBpbmZvcm1hdGlvbiBvbiBhbiB1bnJlY29yZGVkIGRpc2ssIGluY2x1ZGluZyB0aGUgcGh5c2ljYWwgZGlzcG9zaXRpb24gb2YgdGhlIHRyYWNrcyBhbmQgc2VjdG9ycywgdGhlIGVycm9yIGNvcnJlY3RpbmcgY29kZXMgYW5kIHRoZSBjb2RpbmcgbWV0aG9kIHVzZWQ7IHRoZSBmb3JtYXQgb2YgdGhlIGRhdGEgYW5kIHRoZSByZWNvcmRlZCBpbmZvcm1hdGlvbiBvbiB0aGUgZGlzaywgaW5jbHVkaW5nIHRoZSBwaHlzaWNhbCBkaXNwb3NpdGlvbiBvZiB0aGUgdHJhY2tzIGFuZCBzZWN0b3JzLCB0aGUgZXJyb3IgY29ycmVjdGluZyBjb2RlcyBhbmQgdGhlIGNvZGluZyBtZXRob2QgdXNlZDsgdGhlIGNoYXJhY3RlcmlzdGljcyBvZiB0aGUgc2lnbmFscyBmcm9tIGVtYm9zc2VkIGFuZCB1bnJlY29yZGVkIGFyZWFzIG9uIHRoZSBkaXNrLCBlbmFibGluZyBkYXRhIHByb2Nlc3Npbmcgc3lzdGVtcyB0byByZWFkIHRoZSBlbWJvc3NlZCBpbmZvcm1hdGlvbiBhbmQgdG8gd3JpdGUgdG8gdGhlIGRpc2tzOyB0aGUgY2hhcmFjdGVyaXN0aWNzIG9mIHRoZSBzaWduYWxzIHJlY29yZGVkIG9uIHRoZSBkaXNrLCBlbmFibGluZyBkYXRhIHByb2Nlc3Npbmcgc3lzdGVtcyB0byByZWFkIHRoZSBkYXRhIGZyb20gdGhlIGRpc2suIElTTy9JRUMgMTMxNzA6MjAxMCBwcm92aWRlcyBmb3IgaW50ZXJjaGFuZ2Ugb2YgZGlza3MgYmV0d2VlbiBkaXNrIGRyaXZlcy4gVG9nZXRoZXIgd2l0aCBhbiBJbnRlcm5hdGlvbmFsIFN0YW5kYXJkIGZvciB2b2x1bWUgYW5kIGZpbGUgc3RydWN0dXJlLCBpdCBwcm92aWRlcyBmb3IgZnVsbCBkYXRhIGludGVyY2hhbmdlIGJldHdlZW4gZGF0YSBwcm9jZXNzaW5nIHN5c3RlbXMuICIsIm9iamVjdElEIjoiNTM0MzRfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4vSUVDIDxlbT4xMzE8L2VtPjcwOjIwMDkgSW5mb3JtYXRpb24gdGVjaG5vbG9neSDigJQgMTIwIG1tICg4LDU0IEdieXRlcyBwZXIgc2lkZSkgYW5kIDgwIG1tICgyLDY2IEdieXRlcyBwZXIgc2lkZSkgRFZEIHJlLXJlY29yZGFibGUgZGlzayBmb3IgZHVhbCBsYXllciAoRFZELVJXIGZvciBETCkiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+L0lFQyA8ZW0+MTMxPC9lbT43MDoyMDEwIHNwZWNpZmllcyB0aGUgbWVjaGFuaWNhbCwgcGh5c2ljYWwgYW5kIG9wdGljYWwgY2hhcmFjdGVyaXN0aWNzIG9mIGEgMTIwIG1tIGFuZCBhbiA4MCBtbSBkdWFsIGxheWVyIERWRCByZS1yZWNvcmRhYmxlIGRpc2sgdG8gZW5hYmxlIHRoZSBpbnRlcmNoYW5nZSBvZiBzdWNoIGRpc2tzLiBJdCBzcGVjaWZpZXMgdGhlIHF1YWxpdHkgb2YgdGhlIGVtYm9zc2VkLCB1bnJlY29yZGVkIGFuZCB0aGUgcmVjb3JkZWQgc2lnbmFscywgdGhlIGZvcm1hdCBvZiB0aGUgZGF0YSwgdGhlIGZvcm1hdCBvZiB0aGUgaW5mb3JtYXRpb24gem9uZSwgdGhlIGZvcm1hdCBvZiB0aGUgdW5yZWNvcmRlZCB6b25lLCBhbmQgdGhlIHJlY29yZGluZyBtZXRob2QsIHRoZXJlYnkgYWxsb3dpbmcgZm9yIGluZm9ybWF0aW9uIGludGVyY2hhbmdlIGJ5IG1lYW5zIG9mIHN1Y2ggZGlza3MuIFRoaXMgZGlzayBpcyBpZGVudGlmaWVkIGFzIGEgRFZEIHJlLXJlY29yZGFibGUgZGlzayBmb3IgZHVhbCBsYXllciAoRFZELVJXIGZvciBETCkuIDxlbT5JU088L2VtPi9JRUMgPGVtPjEzMTwvZW0+NzA6MjAxMCBzcGVjaWZpZXM6IDEyMCBtbSBhbmQgODAgbW0gbm9taW5hbCBkaWFtZXRlciBkaXNrcyB0aGF0IG1heSBiZSBlaXRoZXIgc2luZ2xlIG9yIGRvdWJsZSBzaWRlZDsgdGhlIGNvbmRpdGlvbnMgZm9yIGNvbmZvcm1hbmNlOyB0aGUgZW52aXJvbm1lbnRzIGluIHdoaWNoIHRoZSBkaXNrIGlzIHRvIGJlIG9wZXJhdGVkIGFuZCBzdG9yZWQ7IHRoZSBtZWNoYW5pY2FsIGFuZCBwaHlzaWNhbCBjaGFyYWN0ZXJpc3RpY3Mgb2YgdGhlIGRpc2ssIHNvIGFzIHRvIHByb3ZpZGUgbWVjaGFuaWNhbCBpbnRlcmNoYW5nZSBiZXR3ZWVuIGRhdGEgcHJvY2Vzc2luZyBzeXN0ZW1zOyB0aGUgZm9ybWF0IG9mIHRoZSBlbWJvc3NlZCBpbmZvcm1hdGlvbiBvbiBhbiB1bnJlY29yZGVkIGRpc2ssIGluY2x1ZGluZyB0aGUgcGh5c2ljYWwgZGlzcG9zaXRpb24gb2YgdGhlIHRyYWNrcyBhbmQgc2VjdG9ycywgdGhlIGVycm9yIGNvcnJlY3RpbmcgY29kZXMgYW5kIHRoZSBjb2RpbmcgbWV0aG9kIHVzZWQ7IHRoZSBmb3JtYXQgb2YgdGhlIGRhdGEgYW5kIHRoZSByZWNvcmRlZCBpbmZvcm1hdGlvbiBvbiB0aGUgZGlzaywgaW5jbHVkaW5nIHRoZSBwaHlzaWNhbCBkaXNwb3NpdGlvbiBvZiB0aGUgdHJhY2tzIGFuZCBzZWN0b3JzLCB0aGUgZXJyb3IgY29ycmVjdGluZyBjb2RlcyBhbmQgdGhlIGNvZGluZyBtZXRob2QgdXNlZDsgdGhlIGNoYXJhY3RlcmlzdGljcyBvZiB0aGUgc2lnbmFscyBmcm9tIGVtYm9zc2VkIGFuZCB1bnJlY29yZGVkIGFyZWFzIG9uIHRoZSBkaXNrLCBlbmFibGluZyBkYXRhIHByb2Nlc3Npbmcgc3lzdGVtcyB0byByZWFkIHRoZSBlbWJvc3NlZCBpbmZvcm1hdGlvbiBhbmQgdG8gd3JpdGUgdG8gdGhlIGRpc2tzOyB0aGUgY2hhcmFjdGVyaXN0aWNzIG9mIHRoZSBzaWduYWxzIHJlY29yZGVkIG9uIHRoZSBkaXNrLCBlbmFibGluZyBkYXRhIHByb2Nlc3Npbmcgc3lzdGVtcyB0byByZWFkIHRoZSBkYXRhIGZyb20gdGhlIGRpc2suIDxlbT5JU088L2VtPi9JRUMgPGVtPjEzMTwvZW0+NzA6MjAxMCBwcm92aWRlcyBmb3IgaW50ZXJjaGFuZ2Ugb2YgZGlza3MgYmV0d2VlbiBkaXNrIGRyaXZlcy4gVG9nZXRoZXIgd2l0aCBhbiBJbnRlcm5hdGlvbmFsIFN0YW5kYXJkIGZvciB2b2x1bWUgYW5kIGZpbGUgc3RydWN0dXJlLCBpdCBwcm92aWRlcyBmb3IgZnVsbCBkYXRhIGludGVyY2hhbmdlIGJldHdlZW4gZGF0YSBwcm9jZXNzaW5nIHN5c3RlbXMuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA2LzQ3LzY0NzE5IiwidXVpZCI6IjUxODU2NjFhLWEyYmQtNDAwMS05NGIwLWMxMTgyNGM1MjI3YiIsInRpdGxlIjoiSVNPL0lFQyAxMzE1Ny0xOjIwMTQgSW5mb3JtYXRpb24gdGVjaG5vbG9neSDigJQgVGVsZWNvbW11bmljYXRpb25zIGFuZCBpbmZvcm1hdGlvbiBleGNoYW5nZSBiZXR3ZWVuIHN5c3RlbXMg4oCUIE5GQyBTZWN1cml0eSDigJQgUGFydCAxOiBORkMtU0VDIE5GQ0lQLTEgc2VjdXJpdHkgc2VydmljZXMgYW5kIHByb3RvY29sIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAxOSwib3JkZXIiOjExLCJ0ZXh0IjoiSVNPL0lFQyAxMzE1Ny0xOjIwMTQgc3BlY2lmaWVzIHRoZSBORkMtU0VDIHNlY3VyZSBjaGFubmVsIGFuZCBzaGFyZWQgc2VjcmV0IHNlcnZpY2VzIGZvciBORkNJUC0xIGFuZCB0aGUgUHJvdG9jb2wgRGF0YSBVbml0cyBhbmQgcHJvdG9jb2wgZm9yIHRob3NlIHNlcnZpY2VzLiAiLCJvYmplY3RJRCI6IjY0NzE5XzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+L0lFQyA8ZW0+MTMxPC9lbT41Ny0xOjIwMTQgSW5mb3JtYXRpb24gdGVjaG5vbG9neSDigJQgVGVsZWNvbW11bmljYXRpb25zIGFuZCBpbmZvcm1hdGlvbiBleGNoYW5nZSBiZXR3ZWVuIHN5c3RlbXMg4oCUIE5GQyBTZWN1cml0eSDigJQgUGFydCAxOiBORkMtU0VDIE5GQ0lQLTEgc2VjdXJpdHkgc2VydmljZXMgYW5kIHByb3RvY29sIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPi9JRUMgPGVtPjEzMTwvZW0+NTctMToyMDE0IHNwZWNpZmllcyB0aGUgTkZDLVNFQyBzZWN1cmUgY2hhbm5lbCBhbmQgc2hhcmVkIHNlY3JldCBzZXJ2aWNlcyBmb3IgTkZDSVAtMSBhbmQgdGhlIFByb3RvY29sIERhdGEgVW5pdHMgYW5kIHByb3RvY29sIGZvciB0aG9zZSBzZXJ2aWNlcy4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDUvMzQvNTM0NzkiLCJ1dWlkIjoiM2QxNjE1MTMtMDBmNi00ZDU4LTg1NTEtNjVhZWVjZWRhZjc3IiwidGl0bGUiOiJJU08vVFIgMTMxOTU6MjAxNSBTZWxlY3RlZCBpbGx1c3RyYXRpb25zIG9mIHJlc3BvbnNlIHN1cmZhY2UgbWV0aG9kIOKAlCBDZW50cmFsIGNvbXBvc2l0ZSBkZXNpZ24iLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDE5LCJvcmRlciI6MTEsInRleHQiOiJJU08vVFIgMTMxOTU6MjAxNSBkZXNjcmliZXMgdGhlIHN0ZXBzIG5lY2Vzc2FyeSB0byB1bmRlcnN0YW5kIHRoZSBzY29wZSBvZiBSZXNwb25zZSBTdXJmYWNlIE1ldGhvZG9sb2d5IChSU00pIGFuZCB0aGUgbWV0aG9kIHRvIGFuYWx5c2UgZGF0YSBjb2xsZWN0ZWQgdXNpbmcgQ2VudHJhbCBDb21wb3NpdGUgRGVzaWducyAoQ0NEKSB0aHJvdWdoIGlsbHVzdHJhdGlvbiB3aXRoIGZvdXIgZGlzdGluY3QgYXBwbGljYXRpb25zIG9mIHRoaXMgbWV0aG9kb2xvZ3kuIFJlc3BvbnNlIHN1cmZhY2UgbWV0aG9kb2xvZ3kgKFJTTSkgaXMgdXNlZCBpbiBvcmRlciB0byBpbnZlc3RpZ2F0ZSBhIHJlbGF0aW9uIGJldHdlZW4gdGhlIHJlc3BvbnNlIGFuZCB0aGUgc2V0IG9mIHF1YW50aXRhdGl2ZSBwcmVkaWN0b3IgdmFyaWFibGVzIG9yIGZhY3RvcnMuIEVzcGVjaWFsbHkgYWZ0ZXIgc3BlY2lmeWluZyB0aGUgdml0YWwgZmV3IGNvbnRyb2xsYWJsZSBmYWN0b3JzLCBSU00gaXMgdXNlZCBpbiBvcmRlciB0byBmaW5kIHRoZSBmYWN0b3Igc2V0dGluZyB3aGljaCBvcHRpbWl6ZXMgdGhlIHJlc3BvbnNlLiAiLCJvYmplY3RJRCI6IjUzNDc5XzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+L1RSIDxlbT4xMzE8L2VtPjk1OjIwMTUgU2VsZWN0ZWQgaWxsdXN0cmF0aW9ucyBvZiByZXNwb25zZSBzdXJmYWNlIG1ldGhvZCDigJQgQ2VudHJhbCBjb21wb3NpdGUgZGVzaWduIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPi9UUiA8ZW0+MTMxPC9lbT45NToyMDE1IGRlc2NyaWJlcyB0aGUgc3RlcHMgbmVjZXNzYXJ5IHRvIHVuZGVyc3RhbmQgdGhlIHNjb3BlIG9mIFJlc3BvbnNlIFN1cmZhY2UgTWV0aG9kb2xvZ3kgKFJTTSkgYW5kIHRoZSBtZXRob2QgdG8gYW5hbHlzZSBkYXRhIGNvbGxlY3RlZCB1c2luZyBDZW50cmFsIENvbXBvc2l0ZSBEZXNpZ25zIChDQ0QpIHRocm91Z2ggaWxsdXN0cmF0aW9uIHdpdGggZm91ciBkaXN0aW5jdCBhcHBsaWNhdGlvbnMgb2YgdGhpcyBtZXRob2RvbG9neS4gUmVzcG9uc2Ugc3VyZmFjZSBtZXRob2RvbG9neSAoUlNNKSBpcyB1c2VkIGluIG9yZGVyIHRvIGludmVzdGlnYXRlIGEgcmVsYXRpb24gYmV0d2VlbiB0aGUgcmVzcG9uc2UgYW5kIHRoZSBzZXQgb2YgcXVhbnRpdGF0aXZlIHByZWRpY3RvciB2YXJpYWJsZXMgb3IgZmFjdG9ycy4gRXNwZWNpYWxseSBhZnRlciBzcGVjaWZ5aW5nIHRoZSB2aXRhbCBmZXcgY29udHJvbGxhYmxlIGZhY3RvcnMsIFJTTSBpcyB1c2VkIGluIG9yZGVyIHRvIGZpbmQgdGhlIGZhY3RvciBzZXR0aW5nIHdoaWNoIG9wdGltaXplcyB0aGUgcmVzcG9uc2UuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA1LzMzLzUzMzI4IiwidXVpZCI6ImQ4MGZhZWEwLWZkNzYtNDIxYy1iNGZkLTk0NGU2NTJlNmQyOSIsInRpdGxlIjoiSVNPL1RTIDEzMTM2OjIwMTIgTWljcm9iaW9sb2d5IG9mIGZvb2QgYW5kIGFuaW1hbCBmZWVkIOKAlCBSZWFsLXRpbWUgcG9seW1lcmFzZSBjaGFpbiByZWFjdGlvbiAoUENSKS1iYXNlZCBtZXRob2QgZm9yIHRoZSBkZXRlY3Rpb24gb2YgZm9vZC1ib3JuZSBwYXRob2dlbnMg4oCUIEhvcml6b250YWwgbWV0aG9kIGZvciB0aGUgZGV0ZWN0aW9uIG9mIFNoaWdhIHRveGluLXByb2R1Y2luZyBFc2NoZXJpY2hpYSBjb2xpIChTVEVDKSBhbmQgdGhlIGRldGVybWluYXRpb24gb2YgTzE1NywgTzExMSwgTzI2LCBPMTAzIGFuZCBPMTQ1IHNlcm9ncm91cHMiLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDE5LCJvcmRlciI6MTEsInRleHQiOiJJU08vVFIgMTMxMzY6MjAxMiBkZXNjcmliZXMgdGhlIGlkZW50aWZpY2F0aW9uIG9mIFNoaWdhIHRveGluLXByb2R1Y2luZyBFc2NoZXJpY2hpYSBjb2xpIChTVEVDKSBieSBtZWFucyBvZiB0aGUgZGV0ZWN0aW9uIG9mIHRoZSBmb2xsb3dpbmcgZ2VuZXM6IGEpIHRoZSBtYWpvciB2aXJ1bGVuY2UgZ2VuZXMgb2YgU1RFQywgc3R4IGFuZCBlYWUgOyBiKSB0aGUgZ2VuZXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBzZXJvZ3JvdXBzIE8xNTcsIE8xMTEsIE8yNiwgTzEwMywgYW5kIE8xNDUuIEluIGFueSBjYXNlLCB3aGVuIG9uZSBvciBib3RoIG9mIHRoZSBzdHggZ2VuZXMgaXMvYXJlIGRldGVjdGVkLCB0aGUgaXNvbGF0aW9uIG9mIHRoZSBzdHJhaW4gaXMgYXR0ZW1wdGVkLiBUaGUgaXNvbGF0aW9uIG9mIFNURUMgZnJvbSBzYW1wbGVzIHBvc2l0aXZlIGZvciB0aGUgcHJlc2VuY2Ugb2YgdGhlIGdlbmVzIHNwZWNpZnlpbmcgdGhlIHNlcm9ncm91cHMgaW4gdGhlIHNjb3BlIG9mIHRoaXMgbWV0aG9kIGNhbiBiZSBmYWNpbGl0YXRlZCBieSB1c2luZyBzZXJvZ3JvdXAtc3BlY2lmaWMgZW5yaWNobWVudCB0ZWNobmlxdWVzIChlLmcuIGltbXVub21hZ25ldGljIHNlcGFyYXRpb24sIElNUykuIFRoZSBwcm90b2NvbCB1c2VzIHJlYWwtdGltZSBQQ1IgYXMgdGhlIHJlZmVyZW5jZSB0ZWNobm9sb2d5IGZvciBkZXRlY3Rpb24gb2YgdGhlIHZpcnVsZW5jZSBhbmQgc2Vyb2dyb3VwLWFzc29jaWF0ZWQgZ2VuZXMuIElTTy9UUiAxMzEzNjoyMDEyIGlzIGFwcGxpY2FibGUgdG86IDEpIHByb2R1Y3RzIGludGVuZGVkIGZvciBodW1hbiBjb25zdW1wdGlvbiBhbmQgdGhlIGZlZWRpbmcgb2YgYW5pbWFsczsgMikgZW52aXJvbm1lbnRhbCBzYW1wbGVzIGluIHRoZSBhcmVhIG9mIGZvb2QgcHJvZHVjdGlvbiBhbmQgZm9vZCBoYW5kbGluZzsgMykgZW52aXJvbm1lbnRhbCBzYW1wbGVzIGluIHRoZSBhcmVhIG9mIHByaW1hcnkgcHJvZHVjdGlvbi4gIiwib2JqZWN0SUQiOiI1MzMyOF8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPi9UUyA8ZW0+MTMxPC9lbT4zNjoyMDEyIE1pY3JvYmlvbG9neSBvZiBmb29kIGFuZCBhbmltYWwgZmVlZCDigJQgUmVhbC10aW1lIHBvbHltZXJhc2UgY2hhaW4gcmVhY3Rpb24gKFBDUiktYmFzZWQgbWV0aG9kIGZvciB0aGUgZGV0ZWN0aW9uIG9mIGZvb2QtYm9ybmUgcGF0aG9nZW5zIOKAlCBIb3Jpem9udGFsIG1ldGhvZCBmb3IgdGhlIGRldGVjdGlvbiBvZiBTaGlnYSB0b3hpbi1wcm9kdWNpbmcgRXNjaGVyaWNoaWEgY29saSAoU1RFQykgYW5kIHRoZSBkZXRlcm1pbmF0aW9uIG9mIE8xNTcsIE8xMTEsIE8yNiwgTzEwMyBhbmQgTzE0NSBzZXJvZ3JvdXBzIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPi9UUiA8ZW0+MTMxPC9lbT4zNjoyMDEyIGRlc2NyaWJlcyB0aGUgaWRlbnRpZmljYXRpb24gb2YgU2hpZ2EgdG94aW4tcHJvZHVjaW5nIEVzY2hlcmljaGlhIGNvbGkgKFNURUMpIGJ5IG1lYW5zIG9mIHRoZSBkZXRlY3Rpb24gb2YgdGhlIGZvbGxvd2luZyBnZW5lczogYSkgdGhlIG1ham9yIHZpcnVsZW5jZSBnZW5lcyBvZiBTVEVDLCBzdHggYW5kIGVhZSA7IGIpIHRoZSBnZW5lcyBhc3NvY2lhdGVkIHdpdGggdGhlIHNlcm9ncm91cHMgTzE1NywgTzExMSwgTzI2LCBPMTAzLCBhbmQgTzE0NS4gSW4gYW55IGNhc2UsIHdoZW4gb25lIG9yIGJvdGggb2YgdGhlIHN0eCBnZW5lcyBpcy9hcmUgZGV0ZWN0ZWQsIHRoZSBpc29sYXRpb24gb2YgdGhlIHN0cmFpbiBpcyBhdHRlbXB0ZWQuIFRoZSBpc29sYXRpb24gb2YgU1RFQyBmcm9tIHNhbXBsZXMgcG9zaXRpdmUgZm9yIHRoZSBwcmVzZW5jZSBvZiB0aGUgZ2VuZXMgc3BlY2lmeWluZyB0aGUgc2Vyb2dyb3VwcyBpbiB0aGUgc2NvcGUgb2YgdGhpcyBtZXRob2QgY2FuIGJlIGZhY2lsaXRhdGVkIGJ5IHVzaW5nIHNlcm9ncm91cC1zcGVjaWZpYyBlbnJpY2htZW50IHRlY2huaXF1ZXMgKGUuZy4gaW1tdW5vbWFnbmV0aWMgc2VwYXJhdGlvbiwgSU1TKS4gVGhlIHByb3RvY29sIHVzZXMgcmVhbC10aW1lIFBDUiBhcyB0aGUgcmVmZXJlbmNlIHRlY2hub2xvZ3kgZm9yIGRldGVjdGlvbiBvZiB0aGUgdmlydWxlbmNlIGFuZCBzZXJvZ3JvdXAtYXNzb2NpYXRlZCBnZW5lcy4gPGVtPklTTzwvZW0+L1RSIDxlbT4xMzE8L2VtPjM2OjIwMTIgaXMgYXBwbGljYWJsZSB0bzogMSkgcHJvZHVjdHMgaW50ZW5kZWQgZm9yIGh1bWFuIGNvbnN1bXB0aW9uIGFuZCB0aGUgZmVlZGluZyBvZiBhbmltYWxzOyAyKSBlbnZpcm9ubWVudGFsIHNhbXBsZXMgaW4gdGhlIGFyZWEgb2YgZm9vZCBwcm9kdWN0aW9uIGFuZCBmb29kIGhhbmRsaW5nOyAzKSBlbnZpcm9ubWVudGFsIHNhbXBsZXMgaW4gdGhlIGFyZWEgb2YgcHJpbWFyeSBwcm9kdWN0aW9uLiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNS8zNC81MzQ1OCIsInV1aWQiOiJmMGExYTkxOC0xOTE1LTRkMDItOTU1YS01NzdkZDc1NDc3OTkiLCJ0aXRsZSI6IklTTy9JRUMgMTMxODc6MjAxMSBJbmZvcm1hdGlvbiB0ZWNobm9sb2d5IOKAlCBTZXJ2ZXIgbWFuYWdlbWVudCBjb21tYW5kIGxpbmUgcHJvdG9jb2wgKFNNIENMUCkgc3BlY2lmaWNhdGlvbiIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMTgsIm9yZGVyIjoxMSwidGV4dCI6IklTTy9JRUMgMTMxODc6MjAxMShFKSBsYXlzIG91dCB0aGUgZ2VuZXJhbCBmcmFtZXdvcmsgZm9yIHRoZVxuU2VydmVyIE1hbmFnZW1lbnQgQ29tbWFuZCBMaW5lIFByb3RvY29sIChTTSBDTFApLiBUaGlzIHN0YW5kYXJkIGlzIGludGVuZGVkIHRvXG5ndWlkZSBkZXZlbG9wZXJzIG9mIGltcGxlbWVudGF0aW9ucyBvZiB0aGUgU00gQ0xQIGFuZCBtYXkgYWxzbyBiZSB1c2VkIGFzIGFcbnJlZmVyZW5jZSBieSBzeXN0ZW0gYWRtaW5pc3RyYXRvcnMgYW5kIG90aGVyIHVzZXJzIG9mIFNNIENMUCBpbXBsZW1lbnRhdGlvbnMuXG5JdCB3YXMgcHJlcGFyZWQgYnkgU05JQSAoU3RvcmFnZSBOZXR3b3JraW5nIEluZHVzdHJ5IEFzc29jaWF0aW9uKSwgd2FzIGFkb3B0ZWQsXG51bmRlciB0aGUgZmFzdCB0cmFjayBwcm9jZWR1cmUuICIsIm9iamVjdElEIjoiNTM0NThfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4vSUVDIDxlbT4xMzE8L2VtPjg3OjIwMTEgSW5mb3JtYXRpb24gdGVjaG5vbG9neSDigJQgU2VydmVyIG1hbmFnZW1lbnQgY29tbWFuZCBsaW5lIHByb3RvY29sIChTTSBDTFApIHNwZWNpZmljYXRpb24iLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+L0lFQyA8ZW0+MTMxPC9lbT44NzoyMDExKEUpIGxheXMgb3V0IHRoZSBnZW5lcmFsIGZyYW1ld29yayBmb3IgdGhlXG5TZXJ2ZXIgTWFuYWdlbWVudCBDb21tYW5kIExpbmUgUHJvdG9jb2wgKFNNIENMUCkuIFRoaXMgc3RhbmRhcmQgaXMgaW50ZW5kZWQgdG9cbmd1aWRlIGRldmVsb3BlcnMgb2YgaW1wbGVtZW50YXRpb25zIG9mIHRoZSBTTSBDTFAgYW5kIG1heSBhbHNvIGJlIHVzZWQgYXMgYVxucmVmZXJlbmNlIGJ5IHN5c3RlbSBhZG1pbmlzdHJhdG9ycyBhbmQgb3RoZXIgdXNlcnMgb2YgU00gQ0xQIGltcGxlbWVudGF0aW9ucy5cbkl0IHdhcyBwcmVwYXJlZCBieSBTTklBIChTdG9yYWdlIE5ldHdvcmtpbmcgSW5kdXN0cnkgQXNzb2NpYXRpb24pLCB3YXMgYWRvcHRlZCxcbnVuZGVyIHRoZSBmYXN0IHRyYWNrIHByb2NlZHVyZS4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDYvOTMvNjkzNDciLCJ1dWlkIjoiODA1OTliMzQtYzFmNy00NTVmLWFkNWUtYjA1OTQ1MmQyOTRhIiwidGl0bGUiOiJJU08vVFIgMTMxNTQ6MjAxNyBNZWRpY2FsIGVsZWN0cmljYWwgZXF1aXBtZW50IOKAlCBEZXBsb3ltZW50LCBpbXBsZW1lbnRhdGlvbiBhbmQgb3BlcmF0aW9uYWwgZ3VpZGVsaW5lcyBmb3IgaWRlbnRpZnlpbmcgZmVicmlsZSBodW1hbnMgdXNpbmcgYSBzY3JlZW5pbmcgdGhlcm1vZ3JhcGgiLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDE3LCJvcmRlciI6MTEsInRleHQiOiJJU08vVFIgMTMxNTQ6MjAxNyBwcm92aWRlcyBnZW5lcmFsIGd1aWRlbGluZXMgZm9yIHRoZSBkZXBsb3ltZW50LCBpbXBsZW1lbnRhdGlvbiBhbmQgb3BlcmF0aW9uIG9mIGEgc2NyZWVuaW5nIHRoZXJtb2dyYXBoIGludGVuZGVkIHRvIGJlIHVzZWQgZm9yIG5vbi1pbnZhc2l2ZSBmZWJyaWxlIHRlbXBlcmF0dXJlIHNjcmVlbmluZyBvZiBpbmRpdmlkdWFscyB1bmRlciBpbmRvb3IgZW52aXJvbm1lbnRhbCBjb25kaXRpb25zIHRvIHByZXZlbnQgdGhlIHNwcmVhZCBvZiBpbmZlY3Rpb24uIE5PVEUgICAgICAgICAgVGhlIGVxdWlwbWVudCBzdGFuZGFyZCBmb3Igc2NyZWVuaW5nIHRoZXJtb2dyYXBocyBpcyBmb3VuZCBpbiBJRUMgODA2MDE/Mi01OS4gIiwib2JqZWN0SUQiOiI2OTM0N18wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPi9UUiA8ZW0+MTMxPC9lbT41NDoyMDE3IE1lZGljYWwgZWxlY3RyaWNhbCBlcXVpcG1lbnQg4oCUIERlcGxveW1lbnQsIGltcGxlbWVudGF0aW9uIGFuZCBvcGVyYXRpb25hbCBndWlkZWxpbmVzIGZvciBpZGVudGlmeWluZyBmZWJyaWxlIGh1bWFucyB1c2luZyBhIHNjcmVlbmluZyB0aGVybW9ncmFwaCIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4vVFIgPGVtPjEzMTwvZW0+NTQ6MjAxNyBwcm92aWRlcyBnZW5lcmFsIGd1aWRlbGluZXMgZm9yIHRoZSBkZXBsb3ltZW50LCBpbXBsZW1lbnRhdGlvbiBhbmQgb3BlcmF0aW9uIG9mIGEgc2NyZWVuaW5nIHRoZXJtb2dyYXBoIGludGVuZGVkIHRvIGJlIHVzZWQgZm9yIG5vbi1pbnZhc2l2ZSBmZWJyaWxlIHRlbXBlcmF0dXJlIHNjcmVlbmluZyBvZiBpbmRpdmlkdWFscyB1bmRlciBpbmRvb3IgZW52aXJvbm1lbnRhbCBjb25kaXRpb25zIHRvIHByZXZlbnQgdGhlIHNwcmVhZCBvZiBpbmZlY3Rpb24uIE5PVEUgICAgICAgICAgVGhlIGVxdWlwbWVudCBzdGFuZGFyZCBmb3Igc2NyZWVuaW5nIHRoZXJtb2dyYXBocyBpcyBmb3VuZCBpbiBJRUMgODA2MDE/Mi01OS4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDUvNzAvNTcwMjQiLCJ1dWlkIjoiNmUzNjhkMjUtZDAzOS00ZGQwLWFlZTUtMDVjY2VkNTY4OWEzIiwidGl0bGUiOiJJU08vVFIgMTMxODQtMToyMDEzIEludGVsbGlnZW50IHRyYW5zcG9ydCBzeXN0ZW1zIChJVFMpIOKAlCBHdWlkYW5jZSBwcm90b2NvbCB2aWEgcGVyc29uYWwgSVRTIHN0YXRpb24gZm9yIGFkdmlzb3J5IHNhZmV0eSBzeXN0ZW1zIOKAlCBQYXJ0IDE6IEdlbmVyYWwgaW5mb3JtYXRpb24gYW5kIHVzZSBjYXNlIGRlZmluaXRpb25zIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAxMywib3JkZXIiOjExLCJ0ZXh0IjoiSVNPL1RSIDEzMTg0LTE6MjAxMyBzcGVjaWZpZXMgZ3VpZGFuY2UgaW5mb3JtYXRpb24gcHJvdG9jb2wgdG8gcHJvdmlkZSByZWFsLXRpbWUgZGVjaXNpb24gc3VwcG9ydCBzeXN0ZW0gdG8gZHJpdmVycyBvciBwZWRlc3RyaWFucyB1c2luZyBwZXJzb25hbCBJVFMgc3RhdGlvbnM6IGEpIFJlZmVyZW5jZSBhcmNoaXRlY3R1cmUgZm9yIHJlYWwtdGltZSBkZWNpc2lvbiBzdXBwb3J0IHN5c3RlbXMgVGhpcyByZWZlcmVuY2UgYXJjaGl0ZWN0dXJlIHByb3ZpZGVzIGEgZ2VuZXJhbCBzdHJ1Y3R1cmUgZm9yIHJlYWwtdGltZSBkZWNpc2lvbiBzdXBwb3J0IHN5c3RlbXMgYW5kIHRoZSBtZXRob2Qgb2YgbWVzc2FnZSBleGNoYW5nZSBiZXR3ZWVuIHRoZSBwZXJzb25hbCBJVFMgc3RhdGlvbiBhbmQgdGhlIHJvYWRzaWRlIElUUyBzdGF0aW9uLiBUaGlzIHJlZmVyZW5jZSBhcmNoaXRlY3R1cmUgaXMgdXNlZCB0byBidWlsZCB0aGUgaW50ZXJjb25uZWN0aW9ucyBiZXR3ZWVuIHBlcnNvbmFsIElUUyBzdGF0aW9ucyBhbmQgcm9hZHNpZGUgSVRTIHN0YXRpb25zLiBiKSBEIGVzaWduIG1ldGhvZCBvZiBhcHBsaWNhdGlvbiBwcm90b2NvbHMgZm9yIGxpZ2h0LXdlaWdodGVkIGRldmljZXMgVGhpcyBtZXRob2QgaXMgYSBmbGV4aWJsZSBhcHBsaWNhdGlvbiBwcm90b2NvbCBmb3Igc2FmZXR5IHdhcm5pbmcgYW5kIHBhcmtpbmcgZ3VpZGFuY2Ugc2VydmljZXMuIFVubGlrZSBtYW55IG90aGVyIGFwcGxpY2F0aW9uIHByb3RvY29scyBpbiB0aGUgSVRTIGFuZCBUZWxlbWF0aWNzIGRvbWFpbnMsIHRoaXMgcHJvdG9jb2wgbWFrZXMgdGhlIGNsaWVudCBwYXJ0IGluZGVwZW5kZW50IG9mIHVzZSBjYXNlcyBmb3Igc3VwcG9ydGluZyBsaWdodC13ZWlnaHRlZCBkZXZpY2VzLiBjKSBVc2UgY2FzZXMgYXQgdGhlIHJvYWQgYW5kIHBhcmtpbmcgYmF5cyBmb3Igd2FybmluZyBhbmQgcGFya2luZyBndWlkZSBJU08vVFIgMTMxODQtMToyMDEzIGRlc2NyaWJlcyB0aGUgdXNlIGNhc2VzIGFwcGxpY2FibGUgdG8gdGhlIGNvbW11bmljYXRpb24gc2VydmljZXMgYmV0d2VlbiBwZXJzb25hbCBJVFMgc3RhdGlvbnMgYW5kIHJvYWRzaWRlIElUUyBzdGF0aW9ucyBmb3IgdGhlIHB1cnBvc2VzIG9mIHByb3ZpZGluZyBzYWZldHkgd2FybmluZyBhbmQgcGFya2luZyBndWlkYW5jZS4gIiwib2JqZWN0SUQiOiI1NzAyNF8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPi9UUiA8ZW0+MTMxPC9lbT44NC0xOjIwMTMgSW50ZWxsaWdlbnQgdHJhbnNwb3J0IHN5c3RlbXMgKElUUykg4oCUIEd1aWRhbmNlIHByb3RvY29sIHZpYSBwZXJzb25hbCBJVFMgc3RhdGlvbiBmb3IgYWR2aXNvcnkgc2FmZXR5IHN5c3RlbXMg4oCUIFBhcnQgMTogR2VuZXJhbCBpbmZvcm1hdGlvbiBhbmQgdXNlIGNhc2UgZGVmaW5pdGlvbnMiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+L1RSIDxlbT4xMzE8L2VtPjg0LTE6MjAxMyBzcGVjaWZpZXMgZ3VpZGFuY2UgaW5mb3JtYXRpb24gcHJvdG9jb2wgdG8gcHJvdmlkZSByZWFsLXRpbWUgZGVjaXNpb24gc3VwcG9ydCBzeXN0ZW0gdG8gZHJpdmVycyBvciBwZWRlc3RyaWFucyB1c2luZyBwZXJzb25hbCBJVFMgc3RhdGlvbnM6IGEpIFJlZmVyZW5jZSBhcmNoaXRlY3R1cmUgZm9yIHJlYWwtdGltZSBkZWNpc2lvbiBzdXBwb3J0IHN5c3RlbXMgVGhpcyByZWZlcmVuY2UgYXJjaGl0ZWN0dXJlIHByb3ZpZGVzIGEgZ2VuZXJhbCBzdHJ1Y3R1cmUgZm9yIHJlYWwtdGltZSBkZWNpc2lvbiBzdXBwb3J0IHN5c3RlbXMgYW5kIHRoZSBtZXRob2Qgb2YgbWVzc2FnZSBleGNoYW5nZSBiZXR3ZWVuIHRoZSBwZXJzb25hbCBJVFMgc3RhdGlvbiBhbmQgdGhlIHJvYWRzaWRlIElUUyBzdGF0aW9uLiBUaGlzIHJlZmVyZW5jZSBhcmNoaXRlY3R1cmUgaXMgdXNlZCB0byBidWlsZCB0aGUgaW50ZXJjb25uZWN0aW9ucyBiZXR3ZWVuIHBlcnNvbmFsIElUUyBzdGF0aW9ucyBhbmQgcm9hZHNpZGUgSVRTIHN0YXRpb25zLiBiKSBEIGVzaWduIG1ldGhvZCBvZiBhcHBsaWNhdGlvbiBwcm90b2NvbHMgZm9yIGxpZ2h0LXdlaWdodGVkIGRldmljZXMgVGhpcyBtZXRob2QgaXMgYSBmbGV4aWJsZSBhcHBsaWNhdGlvbiBwcm90b2NvbCBmb3Igc2FmZXR5IHdhcm5pbmcgYW5kIHBhcmtpbmcgZ3VpZGFuY2Ugc2VydmljZXMuIFVubGlrZSBtYW55IG90aGVyIGFwcGxpY2F0aW9uIHByb3RvY29scyBpbiB0aGUgSVRTIGFuZCBUZWxlbWF0aWNzIGRvbWFpbnMsIHRoaXMgcHJvdG9jb2wgbWFrZXMgdGhlIGNsaWVudCBwYXJ0IGluZGVwZW5kZW50IG9mIHVzZSBjYXNlcyBmb3Igc3VwcG9ydGluZyBsaWdodC13ZWlnaHRlZCBkZXZpY2VzLiBjKSBVc2UgY2FzZXMgYXQgdGhlIHJvYWQgYW5kIHBhcmtpbmcgYmF5cyBmb3Igd2FybmluZyBhbmQgcGFya2luZyBndWlkZSA8ZW0+SVNPPC9lbT4vVFIgPGVtPjEzMTwvZW0+ODQtMToyMDEzIGRlc2NyaWJlcyB0aGUgdXNlIGNhc2VzIGFwcGxpY2FibGUgdG8gdGhlIGNvbW11bmljYXRpb24gc2VydmljZXMgYmV0d2VlbiBwZXJzb25hbCBJVFMgc3RhdGlvbnMgYW5kIHJvYWRzaWRlIElUUyBzdGF0aW9ucyBmb3IgdGhlIHB1cnBvc2VzIG9mIHByb3ZpZGluZyBzYWZldHkgd2FybmluZyBhbmQgcGFya2luZyBndWlkYW5jZS4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDUvMzQvNTM0NTUiLCJ1dWlkIjoiNzYxNzQxZWEtNjI4ZC00MGEzLTlkODAtMzViN2ExNDU2NjQ5IiwidGl0bGUiOiJJU08vVFIgMTMxODUtMToyMDEyIEludGVsbGlnZW50IHRyYW5zcG9ydCBzeXN0ZW1zIOKAlCBWZWhpY2xlIGludGVyZmFjZSBmb3IgcHJvdmlzaW9uaW5nIGFuZCBzdXBwb3J0IG9mIElUUyBzZXJ2aWNlcyDigJQgUGFydCAxOiBHZW5lcmFsIGluZm9ybWF0aW9uIGFuZCB1c2UgY2FzZSBkZWZpbml0aW9uIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAxMiwib3JkZXIiOjExLCJ0ZXh0IjoiSVNPL1RSIDEzMTg1LTE6MjAxMiBzcGVjaWZpZXMgdGhlIGNvbW11bmljYXRpb25zIGFyY2hpdGVjdHVyZSBhbmQgZ2VuZXJpYyBwcm90b2NvbCB0byBwcm92aWRlIGFuZCBtYWludGFpbiBJVFMgc2VydmljZXMgdG8gdHJhdmVsbGVycyAoaW5jbHVkaW5nIGRyaXZlcnMsIHBhc3NlbmdlcnMgYW5kIHBlZGVzdHJpYW5zKSwgdXNpbmcgbm9tYWRpYyBhbmQgcG9ydGFibGUgZGV2aWNlcy4gIiwib2JqZWN0SUQiOiI1MzQ1NV8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPi9UUiA8ZW0+MTMxPC9lbT44NS0xOjIwMTIgSW50ZWxsaWdlbnQgdHJhbnNwb3J0IHN5c3RlbXMg4oCUIFZlaGljbGUgaW50ZXJmYWNlIGZvciBwcm92aXNpb25pbmcgYW5kIHN1cHBvcnQgb2YgSVRTIHNlcnZpY2VzIOKAlCBQYXJ0IDE6IEdlbmVyYWwgaW5mb3JtYXRpb24gYW5kIHVzZSBjYXNlIGRlZmluaXRpb24iLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+L1RSIDxlbT4xMzE8L2VtPjg1LTE6MjAxMiBzcGVjaWZpZXMgdGhlIGNvbW11bmljYXRpb25zIGFyY2hpdGVjdHVyZSBhbmQgZ2VuZXJpYyBwcm90b2NvbCB0byBwcm92aWRlIGFuZCBtYWludGFpbiBJVFMgc2VydmljZXMgdG8gdHJhdmVsbGVycyAoaW5jbHVkaW5nIGRyaXZlcnMsIHBhc3NlbmdlcnMgYW5kIHBlZGVzdHJpYW5zKSwgdXNpbmcgbm9tYWRpYyBhbmQgcG9ydGFibGUgZGV2aWNlcy4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDUvMzAvNTMwNDYiLCJ1dWlkIjoiOTYzNGRmODUtMjE2My00NzMzLTlhOTctOGZmNTllNDlmOTU2IiwidGl0bGUiOiJJU08vVFIgMTMxMjg6MjAxMiBIZWFsdGggSW5mb3JtYXRpY3Mg4oCUIENsaW5pY2FsIGRvY3VtZW50IHJlZ2lzdHJ5IGZlZGVyYXRpb24iLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDEyLCJvcmRlciI6MTEsInRleHQiOiJUaGlzIFRlY2huaWNhbCBSZXBvcnQgY292ZXJzIGFzcGVjdHMgb2YgZmVkZXJhdGlvbnMgb2YgQ2xpbmljYWwgRG9jdW1lbnQgUmVnaXN0cmllcyAoQ0RScykgaW5jbHVkaW5nIGNhc2VzIHdoZXJlIHRoZSB3aG9sZSBjb250ZW50IG9mIGEgQ0RSIGhhcyBiZWVuIHJlcGxpY2F0ZWQgaW4gYW5vdGhlciBDRFIgb2YgdGhlIHNhbWUgZmVkZXJhdGlvbi4gTW9yZSBzcGVjaWZpY2FsbHksIHRoZSBmb2xsb3dpbmcgYXNwZWN0cyBhcmUgY292ZXJlZC4gYSkgUmVjb21tZW5kYXRpb25zIGZvciB0aGUgY3JlYXRpb24gYW5kIG1hbmFnZW1lbnQgb2YgZmVkZXJhdGlvbnMgb2YgQ0RScyBhbmQgZmVkZXJhdGlvbiBtZXRhZGF0YS4gYikgQ3JlYXRpb24gYW5kIG1hbmFnZW1lbnQgb2YgZmVkZXJhdGVkIHJlcGxpY2FzLCBpbmNsdWRpbmcgc3BlY2lmaWNhdGlvbnMgdG8gY3JlYXRlLCByZW1vdmUgYW5kIG1haW50YWluIGZlZGVyYXRlZCByZXBsaWNhcyBhcyB3ZWxsIGFzIG1ldGFkYXRhIGZvciB0aGVtLiBjKSBVc2UgY2FzZXMgb2YgZmVkZXJhdGlvbnMgd2l0aCBxdWVyeSBwcm9jZXNzaW5nIGV4YW1wbGVzLCBpbmNsdWRpbmcgdmFyaW91cyB1c2UgY2FzZXMgb2YgZmVkZXJhdGlvbnMgb2YgQ0RScywgdG9nZXRoZXIgd2l0aCBleGFtcGxlcyBvZiBxdWVyeSBwcm9jZXNzaW5nIHBvbGljaWVzIHRvIGVuaGFuY2UgdGhlIHBlcmZvcm1hbmNlIGFuZCBmYXVsdC10b2xlcmFuY2UuIGQpIFByb2Nlc3Npbmcgb2YgcXVlcmllcyBpbiB0aGUgcHJlc2VuY2Ugb2YgZmVkZXJhdGlvbnMgYW5kIHJlcGxpY2FzOiB0aGUgcHJlc2VuY2Ugb2YgZmVkZXJhdGVkIHJlcGxpY2FzIG1pZ2h0IGFmZmVjdCB0aGUgc2VtYW50aWNzIG9mIGJvdGggbG9jYWwgYW5kIGZlZGVyYXRlZCBxdWVyaWVzLiBJbmZvcm1hdGl2ZSBleGFtcGxlcyB0byBkZWZpbmUgZXhhY3QgYmVoYXZpb3VycyBvZiBwcm9jZXNzaW5nIHRoZSBxdWVyaWVzIGFyZSBnaXZlbi4gTk9URSBJdCBpcyBhc3N1bWVkIHRoYXQgdGhlIHByb2JsZW0gb2YgcGF0aWVudCBpZGVudGlmaWNhdGlvbiBoYXMgYmVlbiBzb2x2ZWQgaW4gYSB3YXkgdGhhdCBpcyBiZXlvbmQgdGhlIHNjb3BlIG9mIHRoaXMgVGVjaG5pY2FsIFJlcG9ydCwgc3VjaCBhcyBJSEUgWENQRCAoQ3Jvc3MtQ29tbXVuaXR5IFBhdGllbnQgRGlzY292ZXJ5KSBQcm9maWxlLiBTb21lIHBvdGVudGlhbCBpc3N1ZXMgdGhhdCB3aWxsIG5vdCBiZSBhZGRyZXNzZWQgaW4gdGhpcyBUZWNobmljYWwgUmVwb3J0IGluY2x1ZGUgcGF0aWVudCBpZGVudGl0eSBtYW5hZ2VtZW50LCBwb3RlbnRpYWwgbGltaXRhdGlvbnMgb2YgcmVnaXN0cmllcyBkdWUgdG8ganVyaXNkaWN0aW9uYWwgcG9saWNpZXMgb3IgcmVxdWlyZW1lbnRzLCBhbmQgaG93IHJlcGxpY2F0ZXMgYXJlIGhhbmRsZWQuICIsIm9iamVjdElEIjoiNTMwNDZfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4vVFIgPGVtPjEzMTwvZW0+Mjg6MjAxMiBIZWFsdGggSW5mb3JtYXRpY3Mg4oCUIENsaW5pY2FsIGRvY3VtZW50IHJlZ2lzdHJ5IGZlZGVyYXRpb24iLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiVGhpcyBUZWNobmljYWwgUmVwb3J0IGNvdmVycyBhc3BlY3RzIG9mIGZlZGVyYXRpb25zIG9mIENsaW5pY2FsIERvY3VtZW50IFJlZ2lzdHJpZXMgKENEUnMpIGluY2x1ZGluZyBjYXNlcyB3aGVyZSB0aGUgd2hvbGUgY29udGVudCBvZiBhIENEUiBoYXMgYmVlbiByZXBsaWNhdGVkIGluIGFub3RoZXIgQ0RSIG9mIHRoZSBzYW1lIGZlZGVyYXRpb24uIE1vcmUgc3BlY2lmaWNhbGx5LCB0aGUgZm9sbG93aW5nIGFzcGVjdHMgYXJlIGNvdmVyZWQuIGEpIFJlY29tbWVuZGF0aW9ucyBmb3IgdGhlIGNyZWF0aW9uIGFuZCBtYW5hZ2VtZW50IG9mIGZlZGVyYXRpb25zIG9mIENEUnMgYW5kIGZlZGVyYXRpb24gbWV0YWRhdGEuIGIpIENyZWF0aW9uIGFuZCBtYW5hZ2VtZW50IG9mIGZlZGVyYXRlZCByZXBsaWNhcywgaW5jbHVkaW5nIHNwZWNpZmljYXRpb25zIHRvIGNyZWF0ZSwgcmVtb3ZlIGFuZCBtYWludGFpbiBmZWRlcmF0ZWQgcmVwbGljYXMgYXMgd2VsbCBhcyBtZXRhZGF0YSBmb3IgdGhlbS4gYykgVXNlIGNhc2VzIG9mIGZlZGVyYXRpb25zIHdpdGggcXVlcnkgcHJvY2Vzc2luZyBleGFtcGxlcywgaW5jbHVkaW5nIHZhcmlvdXMgdXNlIGNhc2VzIG9mIGZlZGVyYXRpb25zIG9mIENEUnMsIHRvZ2V0aGVyIHdpdGggZXhhbXBsZXMgb2YgcXVlcnkgcHJvY2Vzc2luZyBwb2xpY2llcyB0byBlbmhhbmNlIHRoZSBwZXJmb3JtYW5jZSBhbmQgZmF1bHQtdG9sZXJhbmNlLiBkKSBQcm9jZXNzaW5nIG9mIHF1ZXJpZXMgaW4gdGhlIHByZXNlbmNlIG9mIGZlZGVyYXRpb25zIGFuZCByZXBsaWNhczogdGhlIHByZXNlbmNlIG9mIGZlZGVyYXRlZCByZXBsaWNhcyBtaWdodCBhZmZlY3QgdGhlIHNlbWFudGljcyBvZiBib3RoIGxvY2FsIGFuZCBmZWRlcmF0ZWQgcXVlcmllcy4gSW5mb3JtYXRpdmUgZXhhbXBsZXMgdG8gZGVmaW5lIGV4YWN0IGJlaGF2aW91cnMgb2YgcHJvY2Vzc2luZyB0aGUgcXVlcmllcyBhcmUgZ2l2ZW4uIE5PVEUgSXQgaXMgYXNzdW1lZCB0aGF0IHRoZSBwcm9ibGVtIG9mIHBhdGllbnQgaWRlbnRpZmljYXRpb24gaGFzIGJlZW4gc29sdmVkIGluIGEgd2F5IHRoYXQgaXMgYmV5b25kIHRoZSBzY29wZSBvZiB0aGlzIFRlY2huaWNhbCBSZXBvcnQsIHN1Y2ggYXMgSUhFIFhDUEQgKENyb3NzLUNvbW11bml0eSBQYXRpZW50IERpc2NvdmVyeSkgUHJvZmlsZS4gU29tZSBwb3RlbnRpYWwgaXNzdWVzIHRoYXQgd2lsbCBub3QgYmUgYWRkcmVzc2VkIGluIHRoaXMgVGVjaG5pY2FsIFJlcG9ydCBpbmNsdWRlIHBhdGllbnQgaWRlbnRpdHkgbWFuYWdlbWVudCwgcG90ZW50aWFsIGxpbWl0YXRpb25zIG9mIHJlZ2lzdHJpZXMgZHVlIHRvIGp1cmlzZGljdGlvbmFsIHBvbGljaWVzIG9yIHJlcXVpcmVtZW50cywgYW5kIGhvdyByZXBsaWNhdGVzIGFyZSBoYW5kbGVkLiAiLCJtYXRjaExldmVsIjoibm9uZSIsIm1hdGNoZWRXb3JkcyI6W119fX1dLCJuYkhpdHMiOjE3NywicGFnZSI6MCwibmJQYWdlcyI6MiwiaGl0c1BlclBhZ2UiOjEwMCwiZXhoYXVzdGl2ZU5iSGl0cyI6dHJ1ZSwiZXhoYXVzdGl2ZVR5cG8iOnRydWUsInF1ZXJ5IjoiSVNPIDEzMSIsInBhcmFtcyI6InF1ZXJ5PUlTTysxMzEmaGl0c1BlclBhZ2U9MTAwJmZpbHRlcnM9Y2F0ZWdvcnklM0FzdGFuZGFyZCIsInByb2Nlc3NpbmdUaW1lTVMiOjV9
61
- recorded_at: Thu, 28 Jul 2022 14:51:34 GMT
60
+ eyJoaXRzIjpbeyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wMC8zOS8zOTQ0IiwidXVpZCI6IjQwMDRhYzZjLTQ3NjEtNDFjOS1iOTg3LWMwMTkyYTE4MjU5YyIsInRpdGxlIjoiSVNPIDEzMToxOTc5IEFjb3VzdGljcyDigJQgRXhwcmVzc2lvbiBvZiBwaHlzaWNhbCBhbmQgc3ViamVjdGl2ZSBtYWduaXR1ZGVzIG9mIHNvdW5kIG9yIG5vaXNlIGluIGFpciIsInN0YXR1cyI6IldpdGhkcmF3biIsInllYXIiOjE5OTYsIm9yZGVyIjoxMDAsIm9iamVjdElEIjoiMzk0NF8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT46MTk3OSBBY291c3RpY3Mg4oCUIEV4cHJlc3Npb24gb2YgcGh5c2ljYWwgYW5kIHN1YmplY3RpdmUgbWFnbml0dWRlcyBvZiBzb3VuZCBvciBub2lzZSBpbiBhaXIiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNy84OC83ODg2MyIsInV1aWQiOiIwMzE1YzM3Mi0zMjU1LTQ0ODQtODIyZC1hZGFmYjE0YjBhYmMiLCJ0aXRsZSI6IklTTyAxMzExMS0yOjIwMjIgSW50ZWxsaWdlbnQgdHJhbnNwb3J0IHN5c3RlbXMgKElUUykg4oCUIFRoZSB1c2Ugb2YgcGVyc29uYWwgSVRTIHN0YXRpb25zIHRvIHN1cHBvcnQgSVRTIHNlcnZpY2UgcHJvdmlzaW9uIGZvciB0cmF2ZWxsZXJzIOKAlCBQYXJ0IDI6IEdlbmVyYWwgcmVxdWlyZW1lbnRzIGZvciBkYXRhIGV4Y2hhbmdlIGJldHdlZW4gSVRTIHN0YXRpb25zIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAyMiwib3JkZXIiOjExLCJ0ZXh0IjoiVGhpcyBkb2N1bWVudCBkZWZpbmVzIHRoZSBkYXRhIGV4Y2hhbmdlIHByb3RvY29sIHVzZWQgdG8gaW1wbGVtZW50IHVzZSBjYXNlcyBmb3IgYXBwbGljYXRpb25zIGJhc2VkIG9uIHRoZSBwZXJzb25hbCBJVFMgc3RhdGlvbiBkZWZpbmVkIGluIElTT8KgMTMxMTEtMSwgd2hpY2ggcHJvdmlkZXMgYW5kIG1haW50YWlucyBJVFMgc2VydmljZXMgdG8gdHJhdmVsbGVycywgaW5jbHVkaW5nIGRyaXZlcnMsIHBhc3NlbmdlcnMgYW5kIHBlZGVzdHJpYW5zLiBUaGUgSVRTIGFwcGxpY2F0aW9ucyBzdXBwb3J0ZWQgYnkgdGhpcyBkb2N1bWVudCBpbmNsdWRlIG11bHRpbW9kYWwgdHJhbnNwb3J0YXRpb24gaW5mb3JtYXRpb24gc2VydmljZXMgYW5kIG11bHRpbW9kYWwgbmF2aWdhdGlvbiBzZXJ2aWNlcyB0aGF0IGFyZSBiYXNlZCBvbiBwZXJzb25hbCBJVFMgc3RhdGlvbnMgaW4gdmFyaW91cyBhcHBsaWNhdGlvbiBzY2VuYXJpb3MgZGVmaW5lZCBpbiBJU0/CoDEzMTExLTEuIFRoZSB1c2UgY2FzZSBpbXBsZW1lbnRhdGlvbnMgZGVzY3JpYmVkIGluIHRoaXMgZG9jdW1lbnQgcmVmZXIgdG8gdGhlIGFyY2hpdGVjdHVyZSBkZWZpbmVkIGluIElTT8KgMjEyMTcgYW5kIElTT8KgMTMxODQuICIsIm9iamVjdElEIjoiNzg4NjNfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+MTEtMjoyMDIyIEludGVsbGlnZW50IHRyYW5zcG9ydCBzeXN0ZW1zIChJVFMpIOKAlCBUaGUgdXNlIG9mIHBlcnNvbmFsIElUUyBzdGF0aW9ucyB0byBzdXBwb3J0IElUUyBzZXJ2aWNlIHByb3Zpc2lvbiBmb3IgdHJhdmVsbGVycyDigJQgUGFydCAyOiBHZW5lcmFsIHJlcXVpcmVtZW50cyBmb3IgZGF0YSBleGNoYW5nZSBiZXR3ZWVuIElUUyBzdGF0aW9ucyIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiJUaGlzIGRvY3VtZW50IGRlZmluZXMgdGhlIGRhdGEgZXhjaGFuZ2UgcHJvdG9jb2wgdXNlZCB0byBpbXBsZW1lbnQgdXNlIGNhc2VzIGZvciBhcHBsaWNhdGlvbnMgYmFzZWQgb24gdGhlIHBlcnNvbmFsIElUUyBzdGF0aW9uIGRlZmluZWQgaW4gPGVtPklTTzwvZW0+wqA8ZW0+MTMxPC9lbT4xMS0xLCB3aGljaCBwcm92aWRlcyBhbmQgbWFpbnRhaW5zIElUUyBzZXJ2aWNlcyB0byB0cmF2ZWxsZXJzLCBpbmNsdWRpbmcgZHJpdmVycywgcGFzc2VuZ2VycyBhbmQgcGVkZXN0cmlhbnMuIFRoZSBJVFMgYXBwbGljYXRpb25zIHN1cHBvcnRlZCBieSB0aGlzIGRvY3VtZW50IGluY2x1ZGUgbXVsdGltb2RhbCB0cmFuc3BvcnRhdGlvbiBpbmZvcm1hdGlvbiBzZXJ2aWNlcyBhbmQgbXVsdGltb2RhbCBuYXZpZ2F0aW9uIHNlcnZpY2VzIHRoYXQgYXJlIGJhc2VkIG9uIHBlcnNvbmFsIElUUyBzdGF0aW9ucyBpbiB2YXJpb3VzIGFwcGxpY2F0aW9uIHNjZW5hcmlvcyBkZWZpbmVkIGluIDxlbT5JU088L2VtPsKgPGVtPjEzMTwvZW0+MTEtMS4gVGhlIHVzZSBjYXNlIGltcGxlbWVudGF0aW9ucyBkZXNjcmliZWQgaW4gdGhpcyBkb2N1bWVudCByZWZlciB0byB0aGUgYXJjaGl0ZWN0dXJlIGRlZmluZWQgaW4gPGVtPklTTzwvZW0+wqAyMTIxNyBhbmQgPGVtPklTTzwvZW0+wqA8ZW0+MTMxPC9lbT44NC4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDcvODMvNzgzNTQiLCJ1dWlkIjoiZjdiZjY3ZjMtYmZmZC00YmU5LWJhMGUtNzk2M2FmZDczNDdkIiwidGl0bGUiOiJJU08gMTMxNDMtMToyMDIwIEVsZWN0cm9uaWMgZmVlIGNvbGxlY3Rpb24g4oCUIEV2YWx1YXRpb24gb2Ygb24tYm9hcmQgYW5kIHJvYWRzaWRlIGVxdWlwbWVudCBmb3IgY29uZm9ybWl0eSB0byBJU08gMTI4MTMg4oCUIFBhcnQgMTogVGVzdCBzdWl0ZSBzdHJ1Y3R1cmUgYW5kIHRlc3QgcHVycG9zZXMiLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDIyLCJvcmRlciI6MTEsInRleHQiOiJUaGlzIGRvY3VtZW50IHNwZWNpZmllcyB0aGUgdGVzdCBzdWl0ZSBzdHJ1Y3R1cmUgKFRTUykgYW5kIHRlc3QgcHVycG9zZXMgKFRQcykgZm9yIGV2YWx1YXRpbmcgdGhlIGNvbmZvcm1pdHkgb2Ygb24tYm9hcmQgZXF1aXBtZW50IChPQkUpIGFuZCByb2Fkc2lkZSBlcXVpcG1lbnQgKFJTRSkgdG8gSVNPIDEyODEzLiBJdCBwcm92aWRlcyBhIGJhc2lzIGZvciBjb25mb3JtYW5jZSB0ZXN0cyBmb3IgZGVkaWNhdGVkIHNob3J0LXJhbmdlIGNvbW11bmljYXRpb24gKERTUkMpIE9CRSBhbmQgUlNFIHRvIHN1cHBvcnQgaW50ZXJvcGVyYWJpbGl0eSBiZXR3ZWVuIGRpZmZlcmVudCBlcXVpcG1lbnQgc3VwcGxpZWQgYnkgZGlmZmVyZW50IG1hbnVmYWN0dXJlcnMuIElTTyAxMjgxMyBkZWZpbmVzIHJlcXVpcmVtZW50cyBvbiB0aGUgY29tcGxpYW5jZSBjaGVjayBjb21tdW5pY2F0aW9uIChDQ0MpIGludGVyZmFjZSBsZXZlbCwgYnV0IG5vdCBmb3IgdGhlIFJTRSBvciBPQkUgaW50ZXJuYWwgZnVuY3Rpb25hbCBiZWhhdmlvdXIuIENvbnNlcXVlbnRseSwgdGVzdHMgcmVnYXJkaW5nIE9CRSBhbmQvb3IgUlNFIGZ1bmN0aW9uYWwgYmVoYXZpb3VyIHJlbWFpbiBvdXRzaWRlIHRoZSBzY29wZSBvZiB0aGlzIGRvY3VtZW50LiAiLCJvYmplY3RJRCI6Ijc4MzU0XzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjQzLTE6MjAyMCBFbGVjdHJvbmljIGZlZSBjb2xsZWN0aW9uIOKAlCBFdmFsdWF0aW9uIG9mIG9uLWJvYXJkIGFuZCByb2Fkc2lkZSBlcXVpcG1lbnQgZm9yIGNvbmZvcm1pdHkgdG8gPGVtPklTTzwvZW0+IDEyODEzIOKAlCBQYXJ0IDE6IFRlc3Qgc3VpdGUgc3RydWN0dXJlIGFuZCB0ZXN0IHB1cnBvc2VzIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IlRoaXMgZG9jdW1lbnQgc3BlY2lmaWVzIHRoZSB0ZXN0IHN1aXRlIHN0cnVjdHVyZSAoVFNTKSBhbmQgdGVzdCBwdXJwb3NlcyAoVFBzKSBmb3IgZXZhbHVhdGluZyB0aGUgY29uZm9ybWl0eSBvZiBvbi1ib2FyZCBlcXVpcG1lbnQgKE9CRSkgYW5kIHJvYWRzaWRlIGVxdWlwbWVudCAoUlNFKSB0byA8ZW0+SVNPPC9lbT4gMTI4MTMuIEl0IHByb3ZpZGVzIGEgYmFzaXMgZm9yIGNvbmZvcm1hbmNlIHRlc3RzIGZvciBkZWRpY2F0ZWQgc2hvcnQtcmFuZ2UgY29tbXVuaWNhdGlvbiAoRFNSQykgT0JFIGFuZCBSU0UgdG8gc3VwcG9ydCBpbnRlcm9wZXJhYmlsaXR5IGJldHdlZW4gZGlmZmVyZW50IGVxdWlwbWVudCBzdXBwbGllZCBieSBkaWZmZXJlbnQgbWFudWZhY3R1cmVycy4gPGVtPklTTzwvZW0+IDEyODEzIGRlZmluZXMgcmVxdWlyZW1lbnRzIG9uIHRoZSBjb21wbGlhbmNlIGNoZWNrIGNvbW11bmljYXRpb24gKENDQykgaW50ZXJmYWNlIGxldmVsLCBidXQgbm90IGZvciB0aGUgUlNFIG9yIE9CRSBpbnRlcm5hbCBmdW5jdGlvbmFsIGJlaGF2aW91ci4gQ29uc2VxdWVudGx5LCB0ZXN0cyByZWdhcmRpbmcgT0JFIGFuZC9vciBSU0UgZnVuY3Rpb25hbCBiZWhhdmlvdXIgcmVtYWluIG91dHNpZGUgdGhlIHNjb3BlIG9mIHRoaXMgZG9jdW1lbnQuICIsIm1hdGNoTGV2ZWwiOiJwYXJ0aWFsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA3LzAwLzcwMDQ4IiwidXVpZCI6IjNmMmZiMzM1LWE5YzQtNGZlNy1iOTRjLWRjY2NjOGI5M2Y5NiIsInRpdGxlIjoiSVNPIDEzMTQwLTI6MjAxNiBFbGVjdHJvbmljIGZlZSBjb2xsZWN0aW9uIOKAlCBFdmFsdWF0aW9uIG9mIG9uLWJvYXJkIGFuZCByb2Fkc2lkZSBlcXVpcG1lbnQgZm9yIGNvbmZvcm1pdHkgdG8gSVNPIDEzMTQxIOKAlCBQYXJ0IDI6IEFic3RyYWN0IHRlc3Qgc3VpdGUiLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDIyLCJvcmRlciI6MTEsInRleHQiOiJJU08gMTMxNDAtMjoyMDE2IHNwZWNpZmllcyB0aGUgYWJzdHJhY3QgdGVzdCBzdWl0ZSAoQVRTKSB0byBldmFsdWF0ZSB0aGUgY29uZm9ybWl0eSBvZiBvbi1ib2FyZCBlcXVpcG1lbnQgKE9CRSkgYW5kIHJvYWRzaWRlIGVxdWlwbWVudCAoUlNFKSB0byBJU08gMTMxNDE6MjAxNSBpbiBhY2NvcmRhbmNlIHdpdGggdGhlIHRlc3Qgc3VpdGUgc3RydWN0dXJlIGFuZCB0ZXN0IHB1cnBvc2VzIGRlZmluZWQgaW4gSVNPIDEzMTQw4oCRMToyMDE2LiBJdCBwcm92aWRlcyBhIGJhc2lzIGZvciBjb25mb3JtYW5jZSB0ZXN0cyBmb3IgZGVkaWNhdGVkIHNob3J0LXJhbmdlIGNvbW11bmljYXRpb24gKERTUkMpIGVxdWlwbWVudCAoT0JFIGFuZCBSU0UpIHRvIHN1cHBvcnQgaW50ZXJvcGVyYWJpbGl0eSBiZXR3ZWVuIGRpZmZlcmVudCBlcXVpcG1lbnQgc3VwcGxpZWQgYnkgZGlmZmVyZW50IG1hbnVmYWN0dXJlcnMuICIsIm9iamVjdElEIjoiNzAwNDhfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NDAtMjoyMDE2IEVsZWN0cm9uaWMgZmVlIGNvbGxlY3Rpb24g4oCUIEV2YWx1YXRpb24gb2Ygb24tYm9hcmQgYW5kIHJvYWRzaWRlIGVxdWlwbWVudCBmb3IgY29uZm9ybWl0eSB0byA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NDEg4oCUIFBhcnQgMjogQWJzdHJhY3QgdGVzdCBzdWl0ZSIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NDAtMjoyMDE2IHNwZWNpZmllcyB0aGUgYWJzdHJhY3QgdGVzdCBzdWl0ZSAoQVRTKSB0byBldmFsdWF0ZSB0aGUgY29uZm9ybWl0eSBvZiBvbi1ib2FyZCBlcXVpcG1lbnQgKE9CRSkgYW5kIHJvYWRzaWRlIGVxdWlwbWVudCAoUlNFKSB0byA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NDE6MjAxNSBpbiBhY2NvcmRhbmNlIHdpdGggdGhlIHRlc3Qgc3VpdGUgc3RydWN0dXJlIGFuZCB0ZXN0IHB1cnBvc2VzIGRlZmluZWQgaW4gPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjQw4oCRMToyMDE2LiBJdCBwcm92aWRlcyBhIGJhc2lzIGZvciBjb25mb3JtYW5jZSB0ZXN0cyBmb3IgZGVkaWNhdGVkIHNob3J0LXJhbmdlIGNvbW11bmljYXRpb24gKERTUkMpIGVxdWlwbWVudCAoT0JFIGFuZCBSU0UpIHRvIHN1cHBvcnQgaW50ZXJvcGVyYWJpbGl0eSBiZXR3ZWVuIGRpZmZlcmVudCBlcXVpcG1lbnQgc3VwcGxpZWQgYnkgZGlmZmVyZW50IG1hbnVmYWN0dXJlcnMuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA2LzgyLzY4MjQ3IiwidXVpZCI6IjMyOWNmODAzLTI1YmMtNGFjNy1hODE1LTk0Yzk2MTQ0YTY0ZiIsInRpdGxlIjoiSVNPIDEzMTQzLTI6MjAxNiBFbGVjdHJvbmljIGZlZSBjb2xsZWN0aW9uIOKAlCBFdmFsdWF0aW9uIG9mIG9uLWJvYXJkIGFuZCByb2Fkc2lkZSBlcXVpcG1lbnQgZm9yIGNvbmZvcm1pdHkgdG8gSVNPIDEyODEzIOKAlCBQYXJ0IDI6IEFic3RyYWN0IHRlc3Qgc3VpdGUiLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDIyLCJvcmRlciI6MTEsInRleHQiOiJJU08gMTMxNDMtMjoyMDE2IHNwZWNpZmllcyB0aGUgYWJzdHJhY3QgdGVzdCBzdWl0ZSAoQVRTKSB0byBldmFsdWF0ZSB0aGUgY29uZm9ybWl0eSBvZiBvbi1ib2FyZCBlcXVpcG1lbnQgKE9CRSkgYW5kIHJvYWRzaWRlIGVxdWlwbWVudCAoUlNFKSB0byBJU08gMTI4MTMgaW4gYWNjb3JkYW5jZSB3aXRoIHRoZSB0ZXN0IHN1aXRlIHN0cnVjdHVyZSBhbmQgdGVzdCBwdXJwb3NlcyBkZWZpbmVkIGluIElTTyAxMzE0M+KAkTE6MjAxNi4gSXQgcHJvdmlkZXMgYSBiYXNpcyBmb3IgY29uZm9ybWFuY2UgdGVzdHMgZm9yIGRlZGljYXRlZCBzaG9ydC1yYW5nZSBjb21tdW5pY2F0aW9uIChEU1JDKSBlcXVpcG1lbnQgKE9CRSBhbmQgUlNFKSB0byBlbmFibGUgaW50ZXJvcGVyYWJpbGl0eSBiZXR3ZWVuIGVxdWlwbWVudCBzdXBwbGllZCBieSBkaWZmZXJlbnQgbWFudWZhY3R1cmVycy4gSW4gb3JkZXIgdG8gYXNjZXJ0YWluIHRoYXQgT0JFIGFuZCBSU0UgZnVsZmlsIGVzc2VudGlhbCByYWRpbyByZXF1aXJlbWVudHMsIHRoZXkgYXJlIGFsc28gbGlrZWx5IHRvIGJlIHN1YmplY3QgdG8gYWRkaXRpb25hbCBmYWN0b3J5LCBzaXRlIGFuZCBzeXN0ZW0gYWNjZXB0YW5jZSB0ZXN0aW5nIChlLmcuIG9mIHBoeXNpY2FsIGFuZCBlbnZpcm9ubWVudGFsIGVuZHVyYW5jZSwgcXVhbGl0eSBhc3N1cmFuY2UgYW5kIGNvbnRyb2wgYXQgbWFudWZhY3R1cmluZywgYW5kIGNoYXJnZSBwb2ludCBpbnRlZ3JhdGlvbiksIHdoaWNoIGlzIG91dHNpZGUgdGhlIHNjb3BlIG9mIHRoaXMgZG9jdW1lbnQuICIsIm9iamVjdElEIjoiNjgyNDdfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NDMtMjoyMDE2IEVsZWN0cm9uaWMgZmVlIGNvbGxlY3Rpb24g4oCUIEV2YWx1YXRpb24gb2Ygb24tYm9hcmQgYW5kIHJvYWRzaWRlIGVxdWlwbWVudCBmb3IgY29uZm9ybWl0eSB0byA8ZW0+SVNPPC9lbT4gMTI4MTMg4oCUIFBhcnQgMjogQWJzdHJhY3QgdGVzdCBzdWl0ZSIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NDMtMjoyMDE2IHNwZWNpZmllcyB0aGUgYWJzdHJhY3QgdGVzdCBzdWl0ZSAoQVRTKSB0byBldmFsdWF0ZSB0aGUgY29uZm9ybWl0eSBvZiBvbi1ib2FyZCBlcXVpcG1lbnQgKE9CRSkgYW5kIHJvYWRzaWRlIGVxdWlwbWVudCAoUlNFKSB0byA8ZW0+SVNPPC9lbT4gMTI4MTMgaW4gYWNjb3JkYW5jZSB3aXRoIHRoZSB0ZXN0IHN1aXRlIHN0cnVjdHVyZSBhbmQgdGVzdCBwdXJwb3NlcyBkZWZpbmVkIGluIDxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT40M+KAkTE6MjAxNi4gSXQgcHJvdmlkZXMgYSBiYXNpcyBmb3IgY29uZm9ybWFuY2UgdGVzdHMgZm9yIGRlZGljYXRlZCBzaG9ydC1yYW5nZSBjb21tdW5pY2F0aW9uIChEU1JDKSBlcXVpcG1lbnQgKE9CRSBhbmQgUlNFKSB0byBlbmFibGUgaW50ZXJvcGVyYWJpbGl0eSBiZXR3ZWVuIGVxdWlwbWVudCBzdXBwbGllZCBieSBkaWZmZXJlbnQgbWFudWZhY3R1cmVycy4gSW4gb3JkZXIgdG8gYXNjZXJ0YWluIHRoYXQgT0JFIGFuZCBSU0UgZnVsZmlsIGVzc2VudGlhbCByYWRpbyByZXF1aXJlbWVudHMsIHRoZXkgYXJlIGFsc28gbGlrZWx5IHRvIGJlIHN1YmplY3QgdG8gYWRkaXRpb25hbCBmYWN0b3J5LCBzaXRlIGFuZCBzeXN0ZW0gYWNjZXB0YW5jZSB0ZXN0aW5nIChlLmcuIG9mIHBoeXNpY2FsIGFuZCBlbnZpcm9ubWVudGFsIGVuZHVyYW5jZSwgcXVhbGl0eSBhc3N1cmFuY2UgYW5kIGNvbnRyb2wgYXQgbWFudWZhY3R1cmluZywgYW5kIGNoYXJnZSBwb2ludCBpbnRlZ3JhdGlvbiksIHdoaWNoIGlzIG91dHNpZGUgdGhlIHNjb3BlIG9mIHRoaXMgZG9jdW1lbnQuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA2LzgyLzY4MjQ1IiwidXVpZCI6IjRkZGJmNWM0LTU2YTgtNDA4My1iZTYzLWQ5ZWU2NmE0MjY3YSIsInRpdGxlIjoiSVNPIDEzMTQwLTE6MjAxNiBFbGVjdHJvbmljIGZlZSBjb2xsZWN0aW9uIOKAlCBFdmFsdWF0aW9uIG9mIG9uLWJvYXJkIGFuZCByb2Fkc2lkZSBlcXVpcG1lbnQgZm9yIGNvbmZvcm1pdHkgdG8gSVNPIDEzMTQxIOKAlCBQYXJ0IDE6IFRlc3Qgc3VpdGUgc3RydWN0dXJlIGFuZCB0ZXN0IHB1cnBvc2VzIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAyMiwib3JkZXIiOjExLCJ0ZXh0IjoiSVNPIDEzMTQwLTE6MjAxNiBzcGVjaWZpZXMgdGhlIHRlc3Qgc3VpdGUgc3RydWN0dXJlIChUU1MpIGFuZCB0ZXN0IHB1cnBvc2VzIChUUCkgdG8gZXZhbHVhdGUgdGhlIGNvbmZvcm1pdHkgb2Ygb24tYm9hcmQgdW5pdHMgKE9CVSkgYW5kIHJvYWRzaWRlIGVxdWlwbWVudCAoUlNFKSB0byBJU08gMTMxNDEuIEl0IHByb3ZpZGVzIGEgYmFzaXMgZm9yIGNvbmZvcm1hbmNlIHRlc3RzIGZvciBkZWRpY2F0ZWQgc2hvcnQtcmFuZ2UgY29tbXVuaWNhdGlvbiAoRFNSQykgZXF1aXBtZW50IChvbi1ib2FyZCB1bml0cyBhbmQgcm9hZHNpZGUgdW5pdHMpIHRvIGVuYWJsZSBpbnRlcm9wZXJhYmlsaXR5IGJldHdlZW4gZGlmZmVyZW50IGVxdWlwbWVudCBzdXBwbGllZCBieSBkaWZmZXJlbnQgbWFudWZhY3R1cmVycy4gIiwib2JqZWN0SUQiOiI2ODI0NV8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT40MC0xOjIwMTYgRWxlY3Ryb25pYyBmZWUgY29sbGVjdGlvbiDigJQgRXZhbHVhdGlvbiBvZiBvbi1ib2FyZCBhbmQgcm9hZHNpZGUgZXF1aXBtZW50IGZvciBjb25mb3JtaXR5IHRvIDxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT40MSDigJQgUGFydCAxOiBUZXN0IHN1aXRlIHN0cnVjdHVyZSBhbmQgdGVzdCBwdXJwb3NlcyIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NDAtMToyMDE2IHNwZWNpZmllcyB0aGUgdGVzdCBzdWl0ZSBzdHJ1Y3R1cmUgKFRTUykgYW5kIHRlc3QgcHVycG9zZXMgKFRQKSB0byBldmFsdWF0ZSB0aGUgY29uZm9ybWl0eSBvZiBvbi1ib2FyZCB1bml0cyAoT0JVKSBhbmQgcm9hZHNpZGUgZXF1aXBtZW50IChSU0UpIHRvIDxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT40MS4gSXQgcHJvdmlkZXMgYSBiYXNpcyBmb3IgY29uZm9ybWFuY2UgdGVzdHMgZm9yIGRlZGljYXRlZCBzaG9ydC1yYW5nZSBjb21tdW5pY2F0aW9uIChEU1JDKSBlcXVpcG1lbnQgKG9uLWJvYXJkIHVuaXRzIGFuZCByb2Fkc2lkZSB1bml0cykgdG8gZW5hYmxlIGludGVyb3BlcmFiaWxpdHkgYmV0d2VlbiBkaWZmZXJlbnQgZXF1aXBtZW50IHN1cHBsaWVkIGJ5IGRpZmZlcmVudCBtYW51ZmFjdHVyZXJzLiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNi82Mi82NjIwMiIsInV1aWQiOiIwMTk2ODk0Zi0wZWM2LTQxNDUtODdkOC0xNTQxNDVhOGQyN2MiLCJ0aXRsZSI6IklTTyAxMzE3MToyMDE2IEVzc2VudGlhbCBvaWwgb2Ygb3JlZ2FubyBbT3JpZ2FudW0gdnVsZ2FyZSBMLiBzdWJzcC4gaGlydHVtIChMaW5rKSBsZXRzd10iLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDIyLCJvcmRlciI6MTEsInRleHQiOiJJU08gMTMxNzE6MjAxNiBzcGVjaWZpZXMgY2VydGFpbiBjaGFyYWN0ZXJpc3RpY3Mgb2YgdGhlIGVzc2VudGlhbCBvaWwgb2Ygb3JlZ2FubyBbIE9yaWdhbnVtIHZ1bGdhcmUgTC4gc3Vic3AuIGhpcnR1bSAoTGluaykgbGV0c3ddLCBpbiBvcmRlciB0byBmYWNpbGl0YXRlIHRoZSBhc3Nlc3NtZW50IG9mIGl0cyBxdWFsaXR5LiAiLCJvYmplY3RJRCI6IjY2MjAyXzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjcxOjIwMTYgRXNzZW50aWFsIG9pbCBvZiBvcmVnYW5vIFtPcmlnYW51bSB2dWxnYXJlIEwuIHN1YnNwLiBoaXJ0dW0gKExpbmspIGxldHN3XSIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NzE6MjAxNiBzcGVjaWZpZXMgY2VydGFpbiBjaGFyYWN0ZXJpc3RpY3Mgb2YgdGhlIGVzc2VudGlhbCBvaWwgb2Ygb3JlZ2FubyBbIE9yaWdhbnVtIHZ1bGdhcmUgTC4gc3Vic3AuIGhpcnR1bSAoTGluaykgbGV0c3ddLCBpbiBvcmRlciB0byBmYWNpbGl0YXRlIHRoZSBhc3Nlc3NtZW50IG9mIGl0cyBxdWFsaXR5LiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNi8yMi82MjI4NSIsInV1aWQiOiJmYjE2YzVkOS1iZDBiLTQyMGQtODA4Zi01NjFkNWMzYWM0YzAiLCJ0aXRsZSI6IklTTyAxMzEwNS0yOjIwMTQgQnVpbGRpbmcgY29uc3RydWN0aW9uIG1hY2hpbmVyeSBhbmQgZXF1aXBtZW50IOKAlCBNYWNoaW5lcnkgZm9yIGNvbmNyZXRlIHN1cmZhY2UgZmxvYXRpbmcgYW5kIGZpbmlzaGluZyDigJQgUGFydCAyOiBTYWZldHkgcmVxdWlyZW1lbnRzIGFuZCB2ZXJpZmljYXRpb24iLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDIyLCJvcmRlciI6MTEsInRleHQiOiJJU08gMTMxMDUtMjoyMDE0IHNwZWNpZmllcyBzYWZldHkgcmVxdWlyZW1lbnRzIGZvciBtYWNoaW5lcyB1c2VkIGZvciBjb25jcmV0ZSBzdXJmYWNlIGZsb2F0aW5nIGFuZCBmaW5pc2hpbmcuIFRoaXMgaW5jbHVkZXMgcGVkZXN0cmlhbi1jb250cm9sbGVkIGVxdWlwbWVudCBhbmQgcmlkZS1vbiBlcXVpcG1lbnQuIEl0IGlzIG5vdCBhcHBsaWNhYmxlIHRvICAgIGludGVybmFsIG9yIGV4dGVybmFsIHZpYnJhdG9ycyBvciBhbmNpbGxhcnkgZXF1aXBtZW50IHVzZWQgd2l0aCBpbnRlcm5hbCBhbmQgZXh0ZXJuYWwgdmlicmF0b3JzLCBmb3IgZXhhbXBsZSwgYWlyIGNvbXByZXNzb3JzLCBoeWRyYXVsaWMgcG93ZXIgc291cmNlcywgYW5kIHZvbHRhZ2UgdHJhbnNmb3JtZXJzLCB0byByZW1vdGUtY29udHJvbGxlZCBvciBoYW5kLWhlbGQgc21vb3RoaW5nIG1hY2hpbmVzIGFuZCBzZWxmLWFjdGluZyAocm9ib3RpYykgc21vb3RoaW5nIG1hY2hpbmVzLCBvciB0byBzdHJpa2Utb2ZmIHR5cGUgbWFjaGluZXMgY29tbW9ubHkga25vd24gYXMgc2NyZWVkcy4gSXQgZGVhbHMgd2l0aCBzaWduaWZpY2FudCBoYXphcmRzLCBoYXphcmRvdXMgc2l0dWF0aW9ucywgb3IgaGF6YXJkb3VzIGV2ZW50cyByZWxldmFudCB0byBtYWNoaW5lcnkgZm9yIGNvbmNyZXRlIHN1cmZhY2UgZmxvYXRpbmcgYW5kIGZpbmlzaGluZyAocG93ZXIgdHJvd2Vscykgd2hlbiB1c2VkIGFzIGludGVuZGVkIGFuZCB1bmRlciBjb25kaXRpb25zIG9mIG1pc3VzZSB3aGljaCBhcmUgcmVhc29uYWJseSBmb3Jlc2VlYWJsZSBieSB0aGUgbWFudWZhY3R1cmVyLiBJdCBpcyBub3QgYXBwbGljYWJsZSB0byBtYWNoaW5lcyB3aGljaCBhcmUgbWFudWZhY3R1cmVkIGJlZm9yZSB0aGUgZGF0ZSBvZiBpdHMgcHVibGljYXRpb24uICIsIm9iamVjdElEIjoiNjIyODVfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+MDUtMjoyMDE0IEJ1aWxkaW5nIGNvbnN0cnVjdGlvbiBtYWNoaW5lcnkgYW5kIGVxdWlwbWVudCDigJQgTWFjaGluZXJ5IGZvciBjb25jcmV0ZSBzdXJmYWNlIGZsb2F0aW5nIGFuZCBmaW5pc2hpbmcg4oCUIFBhcnQgMjogU2FmZXR5IHJlcXVpcmVtZW50cyBhbmQgdmVyaWZpY2F0aW9uIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT4wNS0yOjIwMTQgc3BlY2lmaWVzIHNhZmV0eSByZXF1aXJlbWVudHMgZm9yIG1hY2hpbmVzIHVzZWQgZm9yIGNvbmNyZXRlIHN1cmZhY2UgZmxvYXRpbmcgYW5kIGZpbmlzaGluZy4gVGhpcyBpbmNsdWRlcyBwZWRlc3RyaWFuLWNvbnRyb2xsZWQgZXF1aXBtZW50IGFuZCByaWRlLW9uIGVxdWlwbWVudC4gSXQgaXMgbm90IGFwcGxpY2FibGUgdG8gICAgaW50ZXJuYWwgb3IgZXh0ZXJuYWwgdmlicmF0b3JzIG9yIGFuY2lsbGFyeSBlcXVpcG1lbnQgdXNlZCB3aXRoIGludGVybmFsIGFuZCBleHRlcm5hbCB2aWJyYXRvcnMsIGZvciBleGFtcGxlLCBhaXIgY29tcHJlc3NvcnMsIGh5ZHJhdWxpYyBwb3dlciBzb3VyY2VzLCBhbmQgdm9sdGFnZSB0cmFuc2Zvcm1lcnMsIHRvIHJlbW90ZS1jb250cm9sbGVkIG9yIGhhbmQtaGVsZCBzbW9vdGhpbmcgbWFjaGluZXMgYW5kIHNlbGYtYWN0aW5nIChyb2JvdGljKSBzbW9vdGhpbmcgbWFjaGluZXMsIG9yIHRvIHN0cmlrZS1vZmYgdHlwZSBtYWNoaW5lcyBjb21tb25seSBrbm93biBhcyBzY3JlZWRzLiBJdCBkZWFscyB3aXRoIHNpZ25pZmljYW50IGhhemFyZHMsIGhhemFyZG91cyBzaXR1YXRpb25zLCBvciBoYXphcmRvdXMgZXZlbnRzIHJlbGV2YW50IHRvIG1hY2hpbmVyeSBmb3IgY29uY3JldGUgc3VyZmFjZSBmbG9hdGluZyBhbmQgZmluaXNoaW5nIChwb3dlciB0cm93ZWxzKSB3aGVuIHVzZWQgYXMgaW50ZW5kZWQgYW5kIHVuZGVyIGNvbmRpdGlvbnMgb2YgbWlzdXNlIHdoaWNoIGFyZSByZWFzb25hYmx5IGZvcmVzZWVhYmxlIGJ5IHRoZSBtYW51ZmFjdHVyZXIuIEl0IGlzIG5vdCBhcHBsaWNhYmxlIHRvIG1hY2hpbmVzIHdoaWNoIGFyZSBtYW51ZmFjdHVyZWQgYmVmb3JlIHRoZSBkYXRlIG9mIGl0cyBwdWJsaWNhdGlvbi4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDYvMTUvNjE1NjIiLCJ1dWlkIjoiNGU1NmJjNmYtMzM0Ny00MGQ0LThmNTEtMWMzMzJmNjE2MjIyIiwidGl0bGUiOiJJU08gMTMxMTEtMToyMDE3IEludGVsbGlnZW50IHRyYW5zcG9ydCBzeXN0ZW1zIChJVFMpIOKAlCBUaGUgdXNlIG9mIHBlcnNvbmFsIElUUyBzdGF0aW9uIHRvIHN1cHBvcnQgSVRTIHNlcnZpY2UgcHJvdmlzaW9uIGZvciB0cmF2ZWxsZXJzIOKAlCBQYXJ0IDE6IEdlbmVyYWwgaW5mb3JtYXRpb24gYW5kIHVzZSBjYXNlIGRlZmluaXRpb25zIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAyMiwib3JkZXIiOjExLCJ0ZXh0IjoiSVNPIDEzMTExLTE6MjAxNyBkZWZpbmVzIHRoZSBnZW5lcmFsIGluZm9ybWF0aW9uIGFuZCB1c2UgY2FzZXMgb2YgdGhlIGFwcGxpY2F0aW9ucyBiYXNlZCBvbiB0aGUgcGVyc29uYWwgSVRTIHN0YXRpb24gdG8gcHJvdmlkZSBhbmQgbWFpbnRhaW4gSVRTIHNlcnZpY2VzIHRvIHRyYXZlbGxlcnMgaW5jbHVkaW5nIGRyaXZlcnMsIHBhc3NlbmdlcnMgYW5kIHBlZGVzdHJpYW5zLiBUaGUgSVRTIGFwcGxpY2F0aW9ucyBzdXBwb3J0ZWQgYnkgSVNPIDEzMTExLTE6MjAxNyBpbmNsdWRlIG11bHRpLW1vZGFsIHRyYW5zcG9ydGF0aW9uIGluZm9ybWF0aW9uIHNlcnZpY2UgYW5kIG11bHRpbW9kYWwgbmF2aWdhdGlvbiBzZXJ2aWNlIHdoaWNoIGFyZSBiYXNlZCBvbiBwZXJzb25hbCBJVFMgc3RhdGlvbnMgaW4gdmFyaW91cyBhcHBsaWNhdGlvbiBzY2VuYXJpb3MgYXMgZm9sbG93cy4gLSAgICAgIFNsb3cgdHJhbnNwb3J0IGluZm9ybWF0aW9uIHNlcnZpY2UgYW5kIG5hdmlnYXRpb24gc2VydmljZSBzdWNoIGFzIHBlZGVzdHJpYW5zLCBiaWN5Y2xlcyBhbmQgZGlzYWJsZWQgKHdoZWVsY2hhaXIgYWNjZXNzaWJsZSkgbmF2aWdhdGlvbiwgYXMgd2VsbCBhcyBpbnRlcm5hbCB0cmFmZmljIG5hdmlnYXRpb24gaW5zaWRlIHRoZSBsb2NhbCB0cmFuc3BvcnQgYXJlYS4gLSAgICAgIFRyYW5zZmVyIGluZm9ybWF0aW9uIHNlcnZpY2UuIFRoZSBjb25zaWRlcmVkIGFwcGxpY2F0aW9uIGVudmlyb25tZW50IGluY2x1ZGVzIHRoZSB0cmFuc2ZlciBpbmZvcm1hdGlvbiBzZXJ2aWNlIGluIGEgdHJhbnNmZXIgbm9kZSBzdWNoIGFzIHRoZSBpbnRlZ3JhdGVkIHRyYW5zcG9ydGF0aW9uIGh1YiwgYnVzIHN0YXRpb25zLCBjYXIgcGFya2luZyBsb3QsIGFuIGluZG9vciB0cmFuc2ZlciBhcmVhLCBldGMuIC0gICAgICBNdWx0aS1tb2RhbCB0cmFmZmljIGluZm9ybWF0aW9uIHNlcnZpY2UuIFR5cGVzIG9mIHRyYWZmaWMgaW5mb3JtYXRpb24gaW5jbHVkZSByZWFsLXRpbWUgcm9hZCB0cmFmZmljIGluZm9ybWF0aW9uLCBwdWJsaWMgdHJhbnNwb3J0IG9wZXJhdGluZyBpbmZvcm1hdGlvbiwgc2VydmljZSBpbmZvcm1hdGlvbiBmb3IgcGVkZXN0cmlhbnMnIHJvYWQgbmV0d29yayBhbmQgc2VydmljZSBpbmZvcm1hdGlvbiBmb3IgdHJhbnNmZXIgbm9kZSBzdWNoIGFzIGludGVncmF0ZWQgdHJhbnNwb3J0YXRpb24gaHViLCBidXMgc3RhdGlvbnMsIGNhciBwYXJraW5nIGxvdCwgYW4gaW5kb29yIHRyYW5zZmVyIGFyZWEsIGV0Yy4gLSAgICAgIE11bHRpLW1vZGFsIG5hdmlnYXRpb24gc2VydmljZS4gSW5jbHVkZXMgc3RhdGljIGFuZCBkeW5hbWljIG11bHRpLW1vZGFsIHJvdXRpbmcgYW5kIHJlLXJvdXRpbmcgc2VydmljZSwgYXMgd2VsbCBhcyByZWFsLXRpbWUgZ3VpZGFuY2Ugc2VydmljZSB3aXRoIHZvaWNlL2ltYWdlL3RleHQvbWFwIGRyYXdpbmdzLiAtICAgICAgQ29tbXVuaXRpZXMgYWN0aXZpdGllcy4gRm9yIGV4YW1wbGUsIGEgdGVhbSB0cmF2ZWwgd2hlbiBhIGdyb3VwIG9mIHZlaGljbGVzIChvciBiaWN5Y2xlcykgdHJhY2sgdGhlIGxlYWQgdmVoaWNsZSBvbiB0aGUgd2F5IHRvIHRoZSBzYW1lIGRlc3RpbmF0aW9uLiAiLCJvYmplY3RJRCI6IjYxNTYyXzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjExLTE6MjAxNyBJbnRlbGxpZ2VudCB0cmFuc3BvcnQgc3lzdGVtcyAoSVRTKSDigJQgVGhlIHVzZSBvZiBwZXJzb25hbCBJVFMgc3RhdGlvbiB0byBzdXBwb3J0IElUUyBzZXJ2aWNlIHByb3Zpc2lvbiBmb3IgdHJhdmVsbGVycyDigJQgUGFydCAxOiBHZW5lcmFsIGluZm9ybWF0aW9uIGFuZCB1c2UgY2FzZSBkZWZpbml0aW9ucyIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+MTEtMToyMDE3IGRlZmluZXMgdGhlIGdlbmVyYWwgaW5mb3JtYXRpb24gYW5kIHVzZSBjYXNlcyBvZiB0aGUgYXBwbGljYXRpb25zIGJhc2VkIG9uIHRoZSBwZXJzb25hbCBJVFMgc3RhdGlvbiB0byBwcm92aWRlIGFuZCBtYWludGFpbiBJVFMgc2VydmljZXMgdG8gdHJhdmVsbGVycyBpbmNsdWRpbmcgZHJpdmVycywgcGFzc2VuZ2VycyBhbmQgcGVkZXN0cmlhbnMuIFRoZSBJVFMgYXBwbGljYXRpb25zIHN1cHBvcnRlZCBieSA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+MTEtMToyMDE3IGluY2x1ZGUgbXVsdGktbW9kYWwgdHJhbnNwb3J0YXRpb24gaW5mb3JtYXRpb24gc2VydmljZSBhbmQgbXVsdGltb2RhbCBuYXZpZ2F0aW9uIHNlcnZpY2Ugd2hpY2ggYXJlIGJhc2VkIG9uIHBlcnNvbmFsIElUUyBzdGF0aW9ucyBpbiB2YXJpb3VzIGFwcGxpY2F0aW9uIHNjZW5hcmlvcyBhcyBmb2xsb3dzLiAtICAgICAgU2xvdyB0cmFuc3BvcnQgaW5mb3JtYXRpb24gc2VydmljZSBhbmQgbmF2aWdhdGlvbiBzZXJ2aWNlIHN1Y2ggYXMgcGVkZXN0cmlhbnMsIGJpY3ljbGVzIGFuZCBkaXNhYmxlZCAod2hlZWxjaGFpciBhY2Nlc3NpYmxlKSBuYXZpZ2F0aW9uLCBhcyB3ZWxsIGFzIGludGVybmFsIHRyYWZmaWMgbmF2aWdhdGlvbiBpbnNpZGUgdGhlIGxvY2FsIHRyYW5zcG9ydCBhcmVhLiAtICAgICAgVHJhbnNmZXIgaW5mb3JtYXRpb24gc2VydmljZS4gVGhlIGNvbnNpZGVyZWQgYXBwbGljYXRpb24gZW52aXJvbm1lbnQgaW5jbHVkZXMgdGhlIHRyYW5zZmVyIGluZm9ybWF0aW9uIHNlcnZpY2UgaW4gYSB0cmFuc2ZlciBub2RlIHN1Y2ggYXMgdGhlIGludGVncmF0ZWQgdHJhbnNwb3J0YXRpb24gaHViLCBidXMgc3RhdGlvbnMsIGNhciBwYXJraW5nIGxvdCwgYW4gaW5kb29yIHRyYW5zZmVyIGFyZWEsIGV0Yy4gLSAgICAgIE11bHRpLW1vZGFsIHRyYWZmaWMgaW5mb3JtYXRpb24gc2VydmljZS4gVHlwZXMgb2YgdHJhZmZpYyBpbmZvcm1hdGlvbiBpbmNsdWRlIHJlYWwtdGltZSByb2FkIHRyYWZmaWMgaW5mb3JtYXRpb24sIHB1YmxpYyB0cmFuc3BvcnQgb3BlcmF0aW5nIGluZm9ybWF0aW9uLCBzZXJ2aWNlIGluZm9ybWF0aW9uIGZvciBwZWRlc3RyaWFucycgcm9hZCBuZXR3b3JrIGFuZCBzZXJ2aWNlIGluZm9ybWF0aW9uIGZvciB0cmFuc2ZlciBub2RlIHN1Y2ggYXMgaW50ZWdyYXRlZCB0cmFuc3BvcnRhdGlvbiBodWIsIGJ1cyBzdGF0aW9ucywgY2FyIHBhcmtpbmcgbG90LCBhbiBpbmRvb3IgdHJhbnNmZXIgYXJlYSwgZXRjLiAtICAgICAgTXVsdGktbW9kYWwgbmF2aWdhdGlvbiBzZXJ2aWNlLiBJbmNsdWRlcyBzdGF0aWMgYW5kIGR5bmFtaWMgbXVsdGktbW9kYWwgcm91dGluZyBhbmQgcmUtcm91dGluZyBzZXJ2aWNlLCBhcyB3ZWxsIGFzIHJlYWwtdGltZSBndWlkYW5jZSBzZXJ2aWNlIHdpdGggdm9pY2UvaW1hZ2UvdGV4dC9tYXAgZHJhd2luZ3MuIC0gICAgICBDb21tdW5pdGllcyBhY3Rpdml0aWVzLiBGb3IgZXhhbXBsZSwgYSB0ZWFtIHRyYXZlbCB3aGVuIGEgZ3JvdXAgb2YgdmVoaWNsZXMgKG9yIGJpY3ljbGVzKSB0cmFjayB0aGUgbGVhZCB2ZWhpY2xlIG9uIHRoZSB3YXkgdG8gdGhlIHNhbWUgZGVzdGluYXRpb24uICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA1LzcyLzU3MjM2IiwidXVpZCI6IjhjM2MwMDcwLTRkNjYtNDFlNC1hM2IxLTVmN2FlZjVkYzU0NiIsInRpdGxlIjoiSVNPIDEzMTA1LTE6MjAxNCBCdWlsZGluZyBjb25zdHJ1Y3Rpb24gbWFjaGluZXJ5IGFuZCBlcXVpcG1lbnQg4oCUIE1hY2hpbmVyeSBmb3IgY29uY3JldGUgc3VyZmFjZSBmbG9hdGluZyBhbmQgZmluaXNoaW5nIOKAlCBQYXJ0IDE6IFRlcm1zIGFuZCBjb21tZXJjaWFsIHNwZWNpZmljYXRpb25zIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAyMiwib3JkZXIiOjExLCJ0ZXh0IjoiSVNPIDEzMTA1LTE6MjAxNCBkZWZpbmVzIHRlcm1zIGFuZCBjb21tZXJjaWFsIHNwZWNpZmljYXRpb25zIGZvciBtYWNoaW5lcyB1c2VkIGZvciBjb25jcmV0ZSBzdXJmYWNlIGZsb2F0aW5nIGFuZCBmaW5pc2hpbmcgKGFsc28ga25vd24gYXMgcG93ZXIgdHJvd2VscykuIFRoaXMgaW5jbHVkZXMgcGVkZXN0cmlhbi1jb250cm9sbGVkIGVxdWlwbWVudCBhbmQgcmlkZS1vbiBlcXVpcG1lbnQuIEl0IGRvZXMgbm90IGFkZHJlc3Mgc3RyaWtlLW9mZiB0eXBlIG1hY2hpbmVzLCBjb21tb25seSBrbm93biBhcyBzY3JlZWRzLiAiLCJvYmplY3RJRCI6IjU3MjM2XzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjA1LTE6MjAxNCBCdWlsZGluZyBjb25zdHJ1Y3Rpb24gbWFjaGluZXJ5IGFuZCBlcXVpcG1lbnQg4oCUIE1hY2hpbmVyeSBmb3IgY29uY3JldGUgc3VyZmFjZSBmbG9hdGluZyBhbmQgZmluaXNoaW5nIOKAlCBQYXJ0IDE6IFRlcm1zIGFuZCBjb21tZXJjaWFsIHNwZWNpZmljYXRpb25zIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT4wNS0xOjIwMTQgZGVmaW5lcyB0ZXJtcyBhbmQgY29tbWVyY2lhbCBzcGVjaWZpY2F0aW9ucyBmb3IgbWFjaGluZXMgdXNlZCBmb3IgY29uY3JldGUgc3VyZmFjZSBmbG9hdGluZyBhbmQgZmluaXNoaW5nIChhbHNvIGtub3duIGFzIHBvd2VyIHRyb3dlbHMpLiBUaGlzIGluY2x1ZGVzIHBlZGVzdHJpYW4tY29udHJvbGxlZCBlcXVpcG1lbnQgYW5kIHJpZGUtb24gZXF1aXBtZW50LiBJdCBkb2VzIG5vdCBhZGRyZXNzIHN0cmlrZS1vZmYgdHlwZSBtYWNoaW5lcywgY29tbW9ubHkga25vd24gYXMgc2NyZWVkcy4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDUvMzQvNTM0NzgiLCJ1dWlkIjoiZGJkNGVlY2MtNjFmOC00MmIwLWI2OTctNmFlMWM5M2E5MjA5IiwidGl0bGUiOiJJU08gMTMxOTQ6MjAxMSBCb3ggcGFsbGV0cyDigJQgUHJpbmNpcGFsIHJlcXVpcmVtZW50cyBhbmQgdGVzdCBtZXRob2RzIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAyMiwib3JkZXIiOjExLCJ0ZXh0IjoiSVNPIDEzMTk0OjIwMTEgc3BlY2lmaWVzIHRoZSBkZWZpbml0aW9ucywgcHJpbmNpcGFsIHJlcXVpcmVtZW50cyBhbmQgdGVzdCBtZXRob2RzIGZvciBib3ggcGFsbGV0cyBvZiBhbGwgbWF0ZXJpYWxzLiBJdCBhcHBsaWVzIHRvIGJveCBwYWxsZXRzLCBpbmNsdWRpbmcgcG9zdCBwYWxsZXRzIGFuZCBjYWdlIHBhbGxldHMsIGJ1dCBpcyBub3QgaW50ZW5kZWQgdG8gYXBwbHkgdG8gdGFuayBhbmQgc2lsbyBwYWxsZXRzIGFzIGRlZmluZWQgaW4gSVNPIDQ0NS4gSXQgYWxzbyBhcHBsaWVzIHRvIGJveCBwYWxsZXRzIHdoaWNoIGNhbiBiZSBzdGFja2VkIGFuZCBoYW5kbGVkIGJ5IGZvcmtsaWZ0IHRydWNrcyBvciBwYWxsZXQgdHJ1Y2tzLCBidXQgZXhjbHVkZXMgb3RoZXIgbGlmdGluZyBkZXZpY2VzLiBJU08gMTMxOTQ6MjAxMSBhZGRyZXNzZXMgdGhlIHBlcmZvcm1hbmNlIG9mIHRoZSBib3ggcGFsbGV0IG9ubHksIGFuZCBub3QgaXRzIGNvbnRlbnRzLiAiLCJvYmplY3RJRCI6IjUzNDc4XzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjk0OjIwMTEgQm94IHBhbGxldHMg4oCUIFByaW5jaXBhbCByZXF1aXJlbWVudHMgYW5kIHRlc3QgbWV0aG9kcyIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+OTQ6MjAxMSBzcGVjaWZpZXMgdGhlIGRlZmluaXRpb25zLCBwcmluY2lwYWwgcmVxdWlyZW1lbnRzIGFuZCB0ZXN0IG1ldGhvZHMgZm9yIGJveCBwYWxsZXRzIG9mIGFsbCBtYXRlcmlhbHMuIEl0IGFwcGxpZXMgdG8gYm94IHBhbGxldHMsIGluY2x1ZGluZyBwb3N0IHBhbGxldHMgYW5kIGNhZ2UgcGFsbGV0cywgYnV0IGlzIG5vdCBpbnRlbmRlZCB0byBhcHBseSB0byB0YW5rIGFuZCBzaWxvIHBhbGxldHMgYXMgZGVmaW5lZCBpbiA8ZW0+SVNPPC9lbT4gNDQ1LiBJdCBhbHNvIGFwcGxpZXMgdG8gYm94IHBhbGxldHMgd2hpY2ggY2FuIGJlIHN0YWNrZWQgYW5kIGhhbmRsZWQgYnkgZm9ya2xpZnQgdHJ1Y2tzIG9yIHBhbGxldCB0cnVja3MsIGJ1dCBleGNsdWRlcyBvdGhlciBsaWZ0aW5nIGRldmljZXMuIDxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT45NDoyMDExIGFkZHJlc3NlcyB0aGUgcGVyZm9ybWFuY2Ugb2YgdGhlIGJveCBwYWxsZXQgb25seSwgYW5kIG5vdCBpdHMgY29udGVudHMuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA1LzMzLzUzMzg5IiwidXVpZCI6ImNlZGI3ZDI5LWJmOWQtNDI4ZC1hNDVmLTk1YmFkNmE5MWJmYiIsInRpdGxlIjoiSVNPIDEzMTQ1OjIwMTIgUnViYmVyIOKAlCBEZXRlcm1pbmF0aW9uIG9mIHZpc2Nvc2l0eSBhbmQgc3RyZXNzIHJlbGF4YXRpb24gdXNpbmcgYSByb3Rvcmxlc3Mgc2VhbGVkIHNoZWFyIHJoZW9tZXRlciIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMjIsIm9yZGVyIjoxMSwidGV4dCI6IklTTyAxMzE0NToyMDEyIGRlc2NyaWJlcyBhIG1ldGhvZCBmb3IgdGhlIGRldGVybWluYXRpb24gb2YgdGhlIHZpc2Nvc2l0eSBhbmQgc3RyZXNzIHJlbGF4YXRpb24gb2YgcmF3IG9yIGNvbXBvdW5kZWQgcnViYmVyIHVuZGVyIHNwZWNpZmllZCBjb25kaXRpb25zLiBUaGUgdmlzY29zaXR5IGRldGVybWluYXRpb24gY29uc2lzdHMgb2YgYSBjb25zdGFudCBzdHJhaW4sIHRlbXBlcmF0dXJlIGFuZCBmcmVxdWVuY3kgdGVzdCBpbiB3aGljaCB0aGUgZWxhc3RpYyBhbmQgdGhlIGxvc3MgY29tcG9uZW50cyBvZiB0aGUgY29tcGxleCBzaGVhciBtb2R1bHVzIGNhbiBiZSBkZXRlcm1pbmVkLiBUaGUgZGV0ZXJtaW5hdGlvbiBvZiBzdHJlc3MgcmVsYXhhdGlvbiBjb25zaXN0cyBvZiBhIGNvbnN0YW50IHN0YXRpYyBzdHJhaW4gYW5kIHRlbXBlcmF0dXJlIHRlc3QgaW4gd2hpY2ggdGhlIHRvcnF1ZSBkZWNyZWFzZSBjYW4gYmUgZGV0ZXJtaW5lZC4gIiwib2JqZWN0SUQiOiI1MzM4OV8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT40NToyMDEyIFJ1YmJlciDigJQgRGV0ZXJtaW5hdGlvbiBvZiB2aXNjb3NpdHkgYW5kIHN0cmVzcyByZWxheGF0aW9uIHVzaW5nIGEgcm90b3JsZXNzIHNlYWxlZCBzaGVhciByaGVvbWV0ZXIiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjQ1OjIwMTIgZGVzY3JpYmVzIGEgbWV0aG9kIGZvciB0aGUgZGV0ZXJtaW5hdGlvbiBvZiB0aGUgdmlzY29zaXR5IGFuZCBzdHJlc3MgcmVsYXhhdGlvbiBvZiByYXcgb3IgY29tcG91bmRlZCBydWJiZXIgdW5kZXIgc3BlY2lmaWVkIGNvbmRpdGlvbnMuIFRoZSB2aXNjb3NpdHkgZGV0ZXJtaW5hdGlvbiBjb25zaXN0cyBvZiBhIGNvbnN0YW50IHN0cmFpbiwgdGVtcGVyYXR1cmUgYW5kIGZyZXF1ZW5jeSB0ZXN0IGluIHdoaWNoIHRoZSBlbGFzdGljIGFuZCB0aGUgbG9zcyBjb21wb25lbnRzIG9mIHRoZSBjb21wbGV4IHNoZWFyIG1vZHVsdXMgY2FuIGJlIGRldGVybWluZWQuIFRoZSBkZXRlcm1pbmF0aW9uIG9mIHN0cmVzcyByZWxheGF0aW9uIGNvbnNpc3RzIG9mIGEgY29uc3RhbnQgc3RhdGljIHN0cmFpbiBhbmQgdGVtcGVyYXR1cmUgdGVzdCBpbiB3aGljaCB0aGUgdG9ycXVlIGRlY3JlYXNlIGNhbiBiZSBkZXRlcm1pbmVkLiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNS8zMy81MzMzMSIsInV1aWQiOiI4NTNkZDdjZC1lZWIzLTQ5MmEtYTY2OS00OTY2NTliMjFkZTkiLCJ0aXRsZSI6IklTTyAxMzEzODoyMDEyIEFpciBxdWFsaXR5IOKAlCBTYW1wbGluZyBjb252ZW50aW9ucyBmb3IgYWlyYm9ybmUgcGFydGljbGUgZGVwb3NpdGlvbiBpbiB0aGUgaHVtYW4gcmVzcGlyYXRvcnkgc3lzdGVtIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAyMiwib3JkZXIiOjExLCJ0ZXh0IjoiSVNPIDEzMTM4OjIwMTIgc3BlY2lmaWVzIHNhbXBsaW5nIGNvbnZlbnRpb25zIHRvIGRlZmluZSBpZGVhbGl6ZWQgc2FtcGxlcnMgZm9yIGVzdGltYXRpbmcgdGhlIGRlcG9zaXRpb24gb2Ygbm9uLXZvbGF0aWxlLCBub24taHlncm9zY29waWMsIG5vbi1maWJyb3VzIGFlcm9zb2xzIGluIGZpdmUgc3BlY2lmaWMgbG9jaSBvZiB0aGUgcmVzcGlyYXRvcnkgdHJhY3QuIFRoZSBmaXZlIGxvY2kgY29uc2lzdCBvZiB0aGUgYW50ZXJpb3IgYW5kIHBvc3RlcmlvciBhcmVhcyBvZiB0aGUgbmFzYWwgcGFzc2FnZXMsIHRoZSBjaWxpYXRlZCBhbmQgbm9uLWNpbGlhdGVkIHBhcnRzIG9mIHRoZSB0cmFjaGVvYnJvbmNoaWFsIGFyZWEsIGFuZCB0aGUgYWx2ZW9sYXIgKGdhcyBleGNoYW5nZSkgcmVnaW9uLiBUaGUgY29udmVudGlvbnMgYXJlIHNlcGFyYXRlZCBpbnRvIHRocmVlIGluZGVwZW5kZW50IHNhbXBsaW5nIGVmZmljaWVuY2llcyBkZWZpbmVkIGluIHRlcm1zIG9mIHRoZXJtb2R5bmFtaWMgZGlhbWV0ZXIgY2hhcmFjdGVyaXppbmcgdGhlIGRpZmZ1c2l2ZSAoQnJvd25pYW4pIG1vdGlvbiBvZiBzdWItbWljcm9tZXRyZSBwYXJ0aWNsZXMgYW5kIGZvdXIgZWZmaWNpZW5jaWVzIGluIHRlcm1zIG9mIGFlcm9keW5hbWljIGRpYW1ldGVyIO+AvjAsMSDOvG0gY2hhcmFjdGVyaXppbmcgZGVwb3NpdGlvbiBieSBpbXBhY3Rpb24sIGludGVyY2VwdGlvbiBvciBncmF2aXRhdGlvbmFsIHNldHRsaW5nLiBFYWNoIGNvbnZlbnRpb25hbCBjdXJ2ZSBoYXMgYmVlbiBkZXZlbG9wZWQgYXMgYW4gYXZlcmFnZSBvZiAxMiBkZXBvc2l0aW9uIGN1cnZlcyBjb3JyZXNwb25kaW5nIHRvIDEyIGJyZWF0aGluZyBjb25kaXRpb25zIHJhbmdpbmcgZnJvbSBzaXR0aW5nIHRvIGhlYXZ5IGV4ZXJjaXNlLCBtYWxlIHZzIGZlbWFsZSwgYW5kIGJyZWF0aGluZyBtb2RlIChtb3V0aCB2cyBuYXNhbCBicmVhdGhpbmcpLiAiLCJvYmplY3RJRCI6IjUzMzMxXzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjM4OjIwMTIgQWlyIHF1YWxpdHkg4oCUIFNhbXBsaW5nIGNvbnZlbnRpb25zIGZvciBhaXJib3JuZSBwYXJ0aWNsZSBkZXBvc2l0aW9uIGluIHRoZSBodW1hbiByZXNwaXJhdG9yeSBzeXN0ZW0iLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjM4OjIwMTIgc3BlY2lmaWVzIHNhbXBsaW5nIGNvbnZlbnRpb25zIHRvIGRlZmluZSBpZGVhbGl6ZWQgc2FtcGxlcnMgZm9yIGVzdGltYXRpbmcgdGhlIGRlcG9zaXRpb24gb2Ygbm9uLXZvbGF0aWxlLCBub24taHlncm9zY29waWMsIG5vbi1maWJyb3VzIGFlcm9zb2xzIGluIGZpdmUgc3BlY2lmaWMgbG9jaSBvZiB0aGUgcmVzcGlyYXRvcnkgdHJhY3QuIFRoZSBmaXZlIGxvY2kgY29uc2lzdCBvZiB0aGUgYW50ZXJpb3IgYW5kIHBvc3RlcmlvciBhcmVhcyBvZiB0aGUgbmFzYWwgcGFzc2FnZXMsIHRoZSBjaWxpYXRlZCBhbmQgbm9uLWNpbGlhdGVkIHBhcnRzIG9mIHRoZSB0cmFjaGVvYnJvbmNoaWFsIGFyZWEsIGFuZCB0aGUgYWx2ZW9sYXIgKGdhcyBleGNoYW5nZSkgcmVnaW9uLiBUaGUgY29udmVudGlvbnMgYXJlIHNlcGFyYXRlZCBpbnRvIHRocmVlIGluZGVwZW5kZW50IHNhbXBsaW5nIGVmZmljaWVuY2llcyBkZWZpbmVkIGluIHRlcm1zIG9mIHRoZXJtb2R5bmFtaWMgZGlhbWV0ZXIgY2hhcmFjdGVyaXppbmcgdGhlIGRpZmZ1c2l2ZSAoQnJvd25pYW4pIG1vdGlvbiBvZiBzdWItbWljcm9tZXRyZSBwYXJ0aWNsZXMgYW5kIGZvdXIgZWZmaWNpZW5jaWVzIGluIHRlcm1zIG9mIGFlcm9keW5hbWljIGRpYW1ldGVyIO+AvjAsMSDOvG0gY2hhcmFjdGVyaXppbmcgZGVwb3NpdGlvbiBieSBpbXBhY3Rpb24sIGludGVyY2VwdGlvbiBvciBncmF2aXRhdGlvbmFsIHNldHRsaW5nLiBFYWNoIGNvbnZlbnRpb25hbCBjdXJ2ZSBoYXMgYmVlbiBkZXZlbG9wZWQgYXMgYW4gYXZlcmFnZSBvZiAxMiBkZXBvc2l0aW9uIGN1cnZlcyBjb3JyZXNwb25kaW5nIHRvIDEyIGJyZWF0aGluZyBjb25kaXRpb25zIHJhbmdpbmcgZnJvbSBzaXR0aW5nIHRvIGhlYXZ5IGV4ZXJjaXNlLCBtYWxlIHZzIGZlbWFsZSwgYW5kIGJyZWF0aGluZyBtb2RlIChtb3V0aCB2cyBuYXNhbCBicmVhdGhpbmcpLiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNS8zMC81MzAwNiIsInV1aWQiOiJlMzFkZTdmMy0yNjg3LTRiNWItODZiYi01MDc2ZDczZjA3ZWYiLCJ0aXRsZSI6IklTTyAxMzEyMzoyMDExIE1ldGFsbGljIGFuZCBvdGhlciBpbm9yZ2FuaWMgY29hdGluZ3Mg4oCUIFRlc3QgbWV0aG9kIG9mIGN5Y2xpYyBoZWF0aW5nIGZvciB0aGVybWFsLWJhcnJpZXIgY29hdGluZ3MgdW5kZXIgdGVtcGVyYXR1cmUgZ3JhZGllbnQiLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDIyLCJvcmRlciI6MTEsInRleHQiOiJJU08gMTMxMjM6MjAxMSBhcHBsaWVzIHRvIHRoZSB0ZXN0IG1ldGhvZCBvZiBjeWNsaWMgaGVhdGluZyB0byBldmFsdWF0ZSB0aGUgdGhlcm1hbC1iYXJyaWVyIHBlcmZvcm1hbmNlIGFuZCBjeWNsaWMgaGVhdCByZXNpc3RhbmNlIG9mIHRoZSB0aGVybWFsLWJhcnJpZXIgY29hdGluZ3MgcHJvdmlkZWQgZm9yIGhpZ2gtdGVtcGVyYXR1cmUgY29tcG9uZW50cywgc3VjaCBhcyBidXJuZXJzLCByb3RvciBhbmQgc3RhdG9yIGJsYWRlcywgZXRjLiBvZiBwb3dlci1nZW5lcmF0aW9uIGdhcyB0dXJiaW5lcyB1c2VkIGluIHRoZXJtYWwgcG93ZXIgcGxhbnRzLCBhaXJjcmFmdCBlbmdpbmVzIGFuZCByb2NrZXQgZW5naW5lcy4gIiwib2JqZWN0SUQiOiI1MzAwNl8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT4yMzoyMDExIE1ldGFsbGljIGFuZCBvdGhlciBpbm9yZ2FuaWMgY29hdGluZ3Mg4oCUIFRlc3QgbWV0aG9kIG9mIGN5Y2xpYyBoZWF0aW5nIGZvciB0aGVybWFsLWJhcnJpZXIgY29hdGluZ3MgdW5kZXIgdGVtcGVyYXR1cmUgZ3JhZGllbnQiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjIzOjIwMTEgYXBwbGllcyB0byB0aGUgdGVzdCBtZXRob2Qgb2YgY3ljbGljIGhlYXRpbmcgdG8gZXZhbHVhdGUgdGhlIHRoZXJtYWwtYmFycmllciBwZXJmb3JtYW5jZSBhbmQgY3ljbGljIGhlYXQgcmVzaXN0YW5jZSBvZiB0aGUgdGhlcm1hbC1iYXJyaWVyIGNvYXRpbmdzIHByb3ZpZGVkIGZvciBoaWdoLXRlbXBlcmF0dXJlIGNvbXBvbmVudHMsIHN1Y2ggYXMgYnVybmVycywgcm90b3IgYW5kIHN0YXRvciBibGFkZXMsIGV0Yy4gb2YgcG93ZXItZ2VuZXJhdGlvbiBnYXMgdHVyYmluZXMgdXNlZCBpbiB0aGVybWFsIHBvd2VyIHBsYW50cywgYWlyY3JhZnQgZW5naW5lcyBhbmQgcm9ja2V0IGVuZ2luZXMuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA3Lzk4Lzc5ODI3IiwidXVpZCI6Ijk5MzcxYzgxLTEzZTgtNDQ5Ny05MjUwLTY4NDYwMDdlYWM2ZCIsInRpdGxlIjoiSVNPIDEzMTc5LTE6MjAyMSBJbXBsYW50cyBmb3Igc3VyZ2VyeSDigJQgQ29hdGluZ3Mgb24gbWV0YWxsaWMgc3VyZ2ljYWwgaW1wbGFudHMg4oCUIFBhcnQgMTogUGxhc21hLXNwcmF5ZWQgY29hdGluZ3MgZGVyaXZlZCBmcm9tIHRpdGFuaXVtIG9yIHRpdGFuaXVtLTYgYWx1bWludW0tNCB2YW5hZGl1bSBhbGxveSBwb3dkZXJzIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAyMSwib3JkZXIiOjExLCJ0ZXh0IjoiVGhpcyBkb2N1bWVudCBzcGVjaWZpZXMgZ2VuZXJhbCByZXF1aXJlbWVudHMgZm9yIHBsYXNtYS1zcHJheWVkIHRpdGFuaXVtIGNvYXRpbmdzIG9uIG1ldGFsbGljIHN1cmdpY2FsIGltcGxhbnRzLiBUaGlzIGRvY3VtZW50IGFwcGxpZXMgdG8gYXRtb3NwaGVyaWMgcGxhc21hIHNwcmF5aW5nIGFuZCB2YWN1dW0gcGxhc21hIHNwcmF5aW5nLiBUaGlzIGRvY3VtZW50IGRvZXMgbm90IGFwcGx5IHRvIGNvYXRpbmdzIG1hZGUgb2Ygb3RoZXIgbWF0ZXJpYWxzIHRoYW4gdGl0YW5pdW0gb3IgdGl0YW5pdW0tNiBhbHVtaW51bS00IHZhbmFkaXVtIGFsbG95IG9yIHRvIGNvYXRpbmdzIHJlYWxpemVkIGJ5IGFub3RoZXIgdGVjaG5vbG9neSB0aGFuIHBsYXNtYSBzcHJheWluZy4gTk9URcKgwqDCoMKgwqDCoCBBIHF1YWxpdHkgbWFuYWdlbWVudCBzeXN0ZW0gY2FuIGJlIHVzZWZ1bCwgZS5nLiBhcyBkZXNjcmliZWQgaW4gSVNPwqAxMzQ4NS4gUmVxdWlyZW1lbnRzIGZvciB0aGUgY29tcGV0ZW5jZSBvZiB0ZXN0aW5nIGxhYm9yYXRvcmllcyBjYW4gYmUgZm91bmQgaW4gSVNPL0lFQ8KgMTcwMjUuICIsIm9iamVjdElEIjoiNzk4MjdfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NzktMToyMDIxIEltcGxhbnRzIGZvciBzdXJnZXJ5IOKAlCBDb2F0aW5ncyBvbiBtZXRhbGxpYyBzdXJnaWNhbCBpbXBsYW50cyDigJQgUGFydCAxOiBQbGFzbWEtc3ByYXllZCBjb2F0aW5ncyBkZXJpdmVkIGZyb20gdGl0YW5pdW0gb3IgdGl0YW5pdW0tNiBhbHVtaW51bS00IHZhbmFkaXVtIGFsbG95IHBvd2RlcnMiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiVGhpcyBkb2N1bWVudCBzcGVjaWZpZXMgZ2VuZXJhbCByZXF1aXJlbWVudHMgZm9yIHBsYXNtYS1zcHJheWVkIHRpdGFuaXVtIGNvYXRpbmdzIG9uIG1ldGFsbGljIHN1cmdpY2FsIGltcGxhbnRzLiBUaGlzIGRvY3VtZW50IGFwcGxpZXMgdG8gYXRtb3NwaGVyaWMgcGxhc21hIHNwcmF5aW5nIGFuZCB2YWN1dW0gcGxhc21hIHNwcmF5aW5nLiBUaGlzIGRvY3VtZW50IGRvZXMgbm90IGFwcGx5IHRvIGNvYXRpbmdzIG1hZGUgb2Ygb3RoZXIgbWF0ZXJpYWxzIHRoYW4gdGl0YW5pdW0gb3IgdGl0YW5pdW0tNiBhbHVtaW51bS00IHZhbmFkaXVtIGFsbG95IG9yIHRvIGNvYXRpbmdzIHJlYWxpemVkIGJ5IGFub3RoZXIgdGVjaG5vbG9neSB0aGFuIHBsYXNtYSBzcHJheWluZy4gTk9URcKgwqDCoMKgwqDCoCBBIHF1YWxpdHkgbWFuYWdlbWVudCBzeXN0ZW0gY2FuIGJlIHVzZWZ1bCwgZS5nLiBhcyBkZXNjcmliZWQgaW4gPGVtPklTTzwvZW0+wqAxMzQ4NS4gUmVxdWlyZW1lbnRzIGZvciB0aGUgY29tcGV0ZW5jZSBvZiB0ZXN0aW5nIGxhYm9yYXRvcmllcyBjYW4gYmUgZm91bmQgaW4gPGVtPklTTzwvZW0+L0lFQ8KgMTcwMjUuICIsIm1hdGNoTGV2ZWwiOiJwYXJ0aWFsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA3Lzg4Lzc4ODQ1IiwidXVpZCI6IjUxMGE3YjVlLWMxM2UtNGRlMy1iOWNhLTE2ZDk0NjY1OGFlZiIsInRpdGxlIjoiSVNPIDEzMTYzOjIwMjEgV2F0ZXIgcXVhbGl0eSDigJQgTGVhZC0yMTAg4oCUIFRlc3QgbWV0aG9kIHVzaW5nIGxpcXVpZCBzY2ludGlsbGF0aW9uIGNvdW50aW5nIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAyMSwib3JkZXIiOjExLCJ0ZXh0IjoiVGhpcyBkb2N1bWVudCBzcGVjaWZpZXMgYSBtZXRob2QgZm9yIHRoZSBtZWFzdXJlbWVudCBvZiAyMTAgUGIgaW4gYWxsIHR5cGVzIG9mIHdhdGVycyBieSBsaXF1aWQgc2NpbnRpbGxhdGlvbiBjb3VudGluZyAoTFNDKS4gVGhlIG1ldGhvZCBpcyBhcHBsaWNhYmxlIHRvIHRlc3Qgc2FtcGxlcyBvZiBzdXBwbHkvZHJpbmtpbmcgd2F0ZXIsIHJhaW53YXRlciwgc3VyZmFjZSBhbmQgZ3JvdW5kIHdhdGVyLCBhcyB3ZWxsIGFzIGNvb2xpbmcgd2F0ZXIsIGluZHVzdHJpYWwgd2F0ZXIsIGRvbWVzdGljLCBhbmQgaW5kdXN0cmlhbCB3YXN0ZXdhdGVyIGFmdGVyIHByb3BlciBzYW1wbGluZyBhbmQgaGFuZGxpbmcsIGFuZCB0ZXN0IHNhbXBsZSBwcmVwYXJhdGlvbi4gRmlsdHJhdGlvbiBvZiB0aGUgdGVzdCBzYW1wbGUgaXMgbmVjZXNzYXJ5LiBMZWFk4oCRMjEwIGFjdGl2aXR5IGNvbmNlbnRyYXRpb24gaW4gdGhlIGVudmlyb25tZW50IGNhbiB2YXJ5IGFuZCB1c3VhbGx5IHJhbmdlcyBmcm9tIDLCoG1CccKgbCAtMSB0b8KgMzAwwqBtQnHCoGwgLTEgWzI3XVsyOF0gLiBVc2luZyBjdXJyZW50bHkgYXZhaWxhYmxlIGxpcXVpZCBzY2ludGlsbGF0aW9uIGNvdW50ZXJzLCB0aGUgbGltaXQgb2YgZGV0ZWN0aW9uIG9mIHRoaXMgbWV0aG9kIGZvcsKgIDIxMCBQYiBpcyBnZW5lcmFsbHkgb2YgdGhlIG9yZGVyIG9mIDIwwqBtQnHCoGwgLTEgdG8gNTDCoG1CccKgbCAtMSAsIHdoaWNoIGlzIGxvd2VyIHRoYW4gdGhlIFdITyBjcml0ZXJpYSBmb3Igc2FmZSBjb25zdW1wdGlvbiBvZiBkcmlua2luZyB3YXRlciAoMTAwwqBtQnEgbCDiiJIxICkuIFs0XVs2XSBUaGVzZSB2YWx1ZXMgY2FuIGJlIGFjaGlldmVkIHdpdGggYSBjb3VudGluZyB0aW1lIGJldHdlZW4gMTgwwqBtaW4gYW5kIDcyMMKgbWluIGZvciBhIHNhbXBsZSB2b2x1bWUgZnJvbSAwLDXCoGwgdG8gMSw1wqBsLiBIaWdoZXIgYWN0aXZpdHkgY29uY2VudHJhdGlvbnMgY2FuIGJlIG1lYXN1cmVkIGJ5IGVpdGhlciBkaWx1dGluZyB0aGUgc2FtcGxlIG9yIHVzaW5nIHNtYWxsZXIgc2FtcGxlIGFsaXF1b3RzIG9yIGJvdGguIFRoZSBtZXRob2QgcHJlc2VudGVkIGluIHRoaXMgZG9jdW1lbnQgaXMgbm90IGludGVuZGVkIGZvciB0aGUgZGV0ZXJtaW5hdGlvbiBvZiBhbiB1bHRyYS10cmFjZSBhbW91bnQgb2YgMjEwIFBiLiBUaGUgcmFuZ2Ugb2YgYXBwbGljYXRpb24gZGVwZW5kcyBvbiB0aGUgYW1vdW50IG9mIGRpc3NvbHZlZCBtYXRlcmlhbCBpbiB0aGUgd2F0ZXIgYW5kIG9uIHRoZSBwZXJmb3JtYW5jZSBjaGFyYWN0ZXJpc3RpY3Mgb2YgdGhlIG1lYXN1cmVtZW50IGVxdWlwbWVudCAoYmFja2dyb3VuZCBjb3VudCByYXRlIGFuZCBjb3VudGluZyBlZmZpY2llbmN5KS4gVGhlIG1ldGhvZCBkZXNjcmliZWQgaW4gdGhpcyBkb2N1bWVudCBpcyBhcHBsaWNhYmxlIHRvIGFuIGVtZXJnZW5jeSBzaXR1YXRpb24uIFRoZSBhbmFseXNpcyBvZiBQYiBhZHNvcmJlZCB0byBzdXNwZW5kZWQgbWF0dGVyIGlzIG5vdCBjb3ZlcmVkIGJ5IHRoaXMgbWV0aG9kLiBJdCBpcyB0aGUgdXNlcuKAmXMgcmVzcG9uc2liaWxpdHkgdG8gZW5zdXJlIHRoZSB2YWxpZGl0eSBvZiB0aGlzIHRlc3QgbWV0aG9kIGZvciB0aGUgd2F0ZXIgc2FtcGxlcyB0ZXN0ZWQuICIsIm9iamVjdElEIjoiNzg4NDVfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NjM6MjAyMSBXYXRlciBxdWFsaXR5IOKAlCBMZWFkLTIxMCDigJQgVGVzdCBtZXRob2QgdXNpbmcgbGlxdWlkIHNjaW50aWxsYXRpb24gY291bnRpbmciLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiVGhpcyBkb2N1bWVudCBzcGVjaWZpZXMgYSBtZXRob2QgZm9yIHRoZSBtZWFzdXJlbWVudCBvZiAyMTAgUGIgaW4gYWxsIHR5cGVzIG9mIHdhdGVycyBieSBsaXF1aWQgc2NpbnRpbGxhdGlvbiBjb3VudGluZyAoTFNDKS4gVGhlIG1ldGhvZCBpcyBhcHBsaWNhYmxlIHRvIHRlc3Qgc2FtcGxlcyBvZiBzdXBwbHkvZHJpbmtpbmcgd2F0ZXIsIHJhaW53YXRlciwgc3VyZmFjZSBhbmQgZ3JvdW5kIHdhdGVyLCBhcyB3ZWxsIGFzIGNvb2xpbmcgd2F0ZXIsIGluZHVzdHJpYWwgd2F0ZXIsIGRvbWVzdGljLCBhbmQgaW5kdXN0cmlhbCB3YXN0ZXdhdGVyIGFmdGVyIHByb3BlciBzYW1wbGluZyBhbmQgaGFuZGxpbmcsIGFuZCB0ZXN0IHNhbXBsZSBwcmVwYXJhdGlvbi4gRmlsdHJhdGlvbiBvZiB0aGUgdGVzdCBzYW1wbGUgaXMgbmVjZXNzYXJ5LiBMZWFk4oCRMjEwIGFjdGl2aXR5IGNvbmNlbnRyYXRpb24gaW4gdGhlIGVudmlyb25tZW50IGNhbiB2YXJ5IGFuZCB1c3VhbGx5IHJhbmdlcyBmcm9tIDLCoG1CccKgbCAtMSB0b8KgMzAwwqBtQnHCoGwgLTEgWzI3XVsyOF0gLiBVc2luZyBjdXJyZW50bHkgYXZhaWxhYmxlIGxpcXVpZCBzY2ludGlsbGF0aW9uIGNvdW50ZXJzLCB0aGUgbGltaXQgb2YgZGV0ZWN0aW9uIG9mIHRoaXMgbWV0aG9kIGZvcsKgIDIxMCBQYiBpcyBnZW5lcmFsbHkgb2YgdGhlIG9yZGVyIG9mIDIwwqBtQnHCoGwgLTEgdG8gNTDCoG1CccKgbCAtMSAsIHdoaWNoIGlzIGxvd2VyIHRoYW4gdGhlIFdITyBjcml0ZXJpYSBmb3Igc2FmZSBjb25zdW1wdGlvbiBvZiBkcmlua2luZyB3YXRlciAoMTAwwqBtQnEgbCDiiJIxICkuIFs0XVs2XSBUaGVzZSB2YWx1ZXMgY2FuIGJlIGFjaGlldmVkIHdpdGggYSBjb3VudGluZyB0aW1lIGJldHdlZW4gMTgwwqBtaW4gYW5kIDcyMMKgbWluIGZvciBhIHNhbXBsZSB2b2x1bWUgZnJvbSAwLDXCoGwgdG8gMSw1wqBsLiBIaWdoZXIgYWN0aXZpdHkgY29uY2VudHJhdGlvbnMgY2FuIGJlIG1lYXN1cmVkIGJ5IGVpdGhlciBkaWx1dGluZyB0aGUgc2FtcGxlIG9yIHVzaW5nIHNtYWxsZXIgc2FtcGxlIGFsaXF1b3RzIG9yIGJvdGguIFRoZSBtZXRob2QgcHJlc2VudGVkIGluIHRoaXMgZG9jdW1lbnQgaXMgbm90IGludGVuZGVkIGZvciB0aGUgZGV0ZXJtaW5hdGlvbiBvZiBhbiB1bHRyYS10cmFjZSBhbW91bnQgb2YgMjEwIFBiLiBUaGUgcmFuZ2Ugb2YgYXBwbGljYXRpb24gZGVwZW5kcyBvbiB0aGUgYW1vdW50IG9mIGRpc3NvbHZlZCBtYXRlcmlhbCBpbiB0aGUgd2F0ZXIgYW5kIG9uIHRoZSBwZXJmb3JtYW5jZSBjaGFyYWN0ZXJpc3RpY3Mgb2YgdGhlIG1lYXN1cmVtZW50IGVxdWlwbWVudCAoYmFja2dyb3VuZCBjb3VudCByYXRlIGFuZCBjb3VudGluZyBlZmZpY2llbmN5KS4gVGhlIG1ldGhvZCBkZXNjcmliZWQgaW4gdGhpcyBkb2N1bWVudCBpcyBhcHBsaWNhYmxlIHRvIGFuIGVtZXJnZW5jeSBzaXR1YXRpb24uIFRoZSBhbmFseXNpcyBvZiBQYiBhZHNvcmJlZCB0byBzdXNwZW5kZWQgbWF0dGVyIGlzIG5vdCBjb3ZlcmVkIGJ5IHRoaXMgbWV0aG9kLiBJdCBpcyB0aGUgdXNlcuKAmXMgcmVzcG9uc2liaWxpdHkgdG8gZW5zdXJlIHRoZSB2YWxpZGl0eSBvZiB0aGlzIHRlc3QgbWV0aG9kIGZvciB0aGUgd2F0ZXIgc2FtcGxlcyB0ZXN0ZWQuICIsIm1hdGNoTGV2ZWwiOiJub25lIiwibWF0Y2hlZFdvcmRzIjpbXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA3LzgyLzc4MjA1IiwidXVpZCI6ImFlM2M5MGZlLTUyNjUtNDQ3NC05OTNjLTNlZTNhMjQ3ZGUzMSIsInRpdGxlIjoiSVNPIDEzMTYwOjIwMjEgV2F0ZXIgcXVhbGl0eSDigJQgU3Ryb250aXVtIDkwIGFuZCBzdHJvbnRpdW0gODkg4oCUIFRlc3QgbWV0aG9kcyB1c2luZyBsaXF1aWQgc2NpbnRpbGxhdGlvbiBjb3VudGluZyBvciBwcm9wb3J0aW9uYWwgY291bnRpbmciLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDIxLCJvcmRlciI6MTEsInRleHQiOiJUaGlzIGRvY3VtZW50IHNwZWNpZmllcyBjb25kaXRpb25zIGZvciB0aGUgZGV0ZXJtaW5hdGlvbiBvZiA5MCBTciBhbmQgODkgU3IgYWN0aXZpdHkgY29uY2VudHJhdGlvbiBpbiBzYW1wbGVzIG9mIGVudmlyb25tZW50YWwgd2F0ZXIgdXNpbmcgbGlxdWlkIHNjaW50aWxsYXRpb24gY291bnRpbmcgKExTQykgb3IgcHJvcG9ydGlvbmFsIGNvdW50aW5nIChQQykuIFRoZSBtZXRob2QgaXMgYXBwbGljYWJsZSB0byB0ZXN0IHNhbXBsZXMgb2YgZHJpbmtpbmcgd2F0ZXIsIHJhaW53YXRlciwgc3VyZmFjZSBhbmQgZ3JvdW5kIHdhdGVyLCBtYXJpbmUgd2F0ZXIsIGFzIHdlbGwgYXMgY29vbGluZyB3YXRlciwgaW5kdXN0cmlhbCB3YXRlciwgZG9tZXN0aWMsIGFuZCBpbmR1c3RyaWFsIHdhc3Rld2F0ZXIgYWZ0ZXIgcHJvcGVyIHNhbXBsaW5nIGFuZCBoYW5kbGluZywgYW5kIHRlc3Qgc2FtcGxlIHByZXBhcmF0aW9uLiBGaWx0cmF0aW9uIG9mIHRoZSB0ZXN0IHNhbXBsZSBhbmQgYSBjaGVtaWNhbCBzZXBhcmF0aW9uIGFyZSByZXF1aXJlZCB0byBzZXBhcmF0ZSBhbmQgcHVyaWZ5IHN0cm9udGl1bSBmcm9tIGEgdGVzdCBwb3J0aW9uIG9mIHRoZSBzYW1wbGUuIFRoZSBkZXRlY3Rpb24gbGltaXQgZGVwZW5kcyBvbiB0aGUgc2FtcGxlIHZvbHVtZSwgdGhlIGluc3RydW1lbnQgdXNlZCwgdGhlIHNhbXBsZSBjb3VudCB0aW1lLCB0aGUgYmFja2dyb3VuZCBjb3VudCByYXRlLCB0aGUgZGV0ZWN0aW9uIGVmZmljaWVuY3kgYW5kIHRoZSBjaGVtaWNhbCB5aWVsZC4gVGhlIG1ldGhvZCBkZXNjcmliZWQgaW4gdGhpcyBkb2N1bWVudCwgdXNpbmcgY3VycmVudGx5IGF2YWlsYWJsZSBMU0MgY291bnRlcnMsIGhhcyBhIGRldGVjdGlvbiBsaW1pdCBvZiBhcHByb3hpbWF0ZWx5IDEwwqBtQnEgbCDiiJIxIGFuZCAywqBtQnEgbCDiiJIxIGZvciA4OSBTciBhbmQgOTAgU3IsIHJlc3BlY3RpdmVseSwgd2hpY2ggaXMgbG93ZXIgdGhhbiB0aGUgV0hPIGNyaXRlcmlhIGZvciBzYWZlIGNvbnN1bXB0aW9uIG9mIGRyaW5raW5nIHdhdGVyICgxMDDCoEJxwrdsIOKIkjEgZm9yIDg5IFNyIGFuZCAxMMKgQnHCt2wg4oiSMSBmb3IgOTAgU3IpIFsgMyBdIC4gVGhlc2UgdmFsdWVzIGNhbiBiZSBhY2hpZXZlZCB3aXRoIGEgY291bnRpbmcgdGltZSBvZiAxwqAwMDDCoG1pbiBmb3IgYSBzYW1wbGUgdm9sdW1lIG9mIDLCoGwuIFRoZSBtZXRob2RzIGRlc2NyaWJlZCBpbiB0aGlzIGRvY3VtZW50IGFyZSBhcHBsaWNhYmxlIGluIHRoZSBldmVudCBvZiBhbiBlbWVyZ2VuY3kgc2l0dWF0aW9uLiBXaGVuIGZhbGxvdXQgb2NjdXJzIGZvbGxvd2luZyBhIG51Y2xlYXIgYWNjaWRlbnQsIHRoZSBjb250cmlidXRpb24gb2YgODkgU3IgdG8gdGhlIHRvdGFsIGFtb3VudCBvZiByYWRpb2FjdGl2ZSBzdHJvbnRpdW0gaXMgbm90IG5lZ2xpZ2libGUuIFRoaXMgZG9jdW1lbnQgcHJvdmlkZXMgdGVzdCBtZXRob2RzIHRvIGRldGVybWluZSB0aGUgYWN0aXZpdHkgY29uY2VudHJhdGlvbiBvZiA5MCBTciBpbiBwcmVzZW5jZSBvZiA4OSBTci4gVGhlIGFuYWx5c2lzIG9mIDkwIFNyIGFuZCA4OSBTciBhZHNvcmJlZCB0byBzdXNwZW5kZWQgbWF0dGVyIGlzIG5vdCBjb3ZlcmVkIGJ5IHRoaXMgbWV0aG9kLiBJdCBpcyB0aGUgdXNlcuKAmXMgcmVzcG9uc2liaWxpdHkgdG8gZW5zdXJlIHRoZSB2YWxpZGl0eSBvZiB0aGlzIHRlc3QgbWV0aG9kIHNlbGVjdGVkIGZvciB0aGUgd2F0ZXIgc2FtcGxlcyB0ZXN0ZWQuICIsIm9iamVjdElEIjoiNzgyMDVfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NjA6MjAyMSBXYXRlciBxdWFsaXR5IOKAlCBTdHJvbnRpdW0gOTAgYW5kIHN0cm9udGl1bSA4OSDigJQgVGVzdCBtZXRob2RzIHVzaW5nIGxpcXVpZCBzY2ludGlsbGF0aW9uIGNvdW50aW5nIG9yIHByb3BvcnRpb25hbCBjb3VudGluZyIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiJUaGlzIGRvY3VtZW50IHNwZWNpZmllcyBjb25kaXRpb25zIGZvciB0aGUgZGV0ZXJtaW5hdGlvbiBvZiA5MCBTciBhbmQgODkgU3IgYWN0aXZpdHkgY29uY2VudHJhdGlvbiBpbiBzYW1wbGVzIG9mIGVudmlyb25tZW50YWwgd2F0ZXIgdXNpbmcgbGlxdWlkIHNjaW50aWxsYXRpb24gY291bnRpbmcgKExTQykgb3IgcHJvcG9ydGlvbmFsIGNvdW50aW5nIChQQykuIFRoZSBtZXRob2QgaXMgYXBwbGljYWJsZSB0byB0ZXN0IHNhbXBsZXMgb2YgZHJpbmtpbmcgd2F0ZXIsIHJhaW53YXRlciwgc3VyZmFjZSBhbmQgZ3JvdW5kIHdhdGVyLCBtYXJpbmUgd2F0ZXIsIGFzIHdlbGwgYXMgY29vbGluZyB3YXRlciwgaW5kdXN0cmlhbCB3YXRlciwgZG9tZXN0aWMsIGFuZCBpbmR1c3RyaWFsIHdhc3Rld2F0ZXIgYWZ0ZXIgcHJvcGVyIHNhbXBsaW5nIGFuZCBoYW5kbGluZywgYW5kIHRlc3Qgc2FtcGxlIHByZXBhcmF0aW9uLiBGaWx0cmF0aW9uIG9mIHRoZSB0ZXN0IHNhbXBsZSBhbmQgYSBjaGVtaWNhbCBzZXBhcmF0aW9uIGFyZSByZXF1aXJlZCB0byBzZXBhcmF0ZSBhbmQgcHVyaWZ5IHN0cm9udGl1bSBmcm9tIGEgdGVzdCBwb3J0aW9uIG9mIHRoZSBzYW1wbGUuIFRoZSBkZXRlY3Rpb24gbGltaXQgZGVwZW5kcyBvbiB0aGUgc2FtcGxlIHZvbHVtZSwgdGhlIGluc3RydW1lbnQgdXNlZCwgdGhlIHNhbXBsZSBjb3VudCB0aW1lLCB0aGUgYmFja2dyb3VuZCBjb3VudCByYXRlLCB0aGUgZGV0ZWN0aW9uIGVmZmljaWVuY3kgYW5kIHRoZSBjaGVtaWNhbCB5aWVsZC4gVGhlIG1ldGhvZCBkZXNjcmliZWQgaW4gdGhpcyBkb2N1bWVudCwgdXNpbmcgY3VycmVudGx5IGF2YWlsYWJsZSBMU0MgY291bnRlcnMsIGhhcyBhIGRldGVjdGlvbiBsaW1pdCBvZiBhcHByb3hpbWF0ZWx5IDEwwqBtQnEgbCDiiJIxIGFuZCAywqBtQnEgbCDiiJIxIGZvciA4OSBTciBhbmQgOTAgU3IsIHJlc3BlY3RpdmVseSwgd2hpY2ggaXMgbG93ZXIgdGhhbiB0aGUgV0hPIGNyaXRlcmlhIGZvciBzYWZlIGNvbnN1bXB0aW9uIG9mIGRyaW5raW5nIHdhdGVyICgxMDDCoEJxwrdsIOKIkjEgZm9yIDg5IFNyIGFuZCAxMMKgQnHCt2wg4oiSMSBmb3IgOTAgU3IpIFsgMyBdIC4gVGhlc2UgdmFsdWVzIGNhbiBiZSBhY2hpZXZlZCB3aXRoIGEgY291bnRpbmcgdGltZSBvZiAxwqAwMDDCoG1pbiBmb3IgYSBzYW1wbGUgdm9sdW1lIG9mIDLCoGwuIFRoZSBtZXRob2RzIGRlc2NyaWJlZCBpbiB0aGlzIGRvY3VtZW50IGFyZSBhcHBsaWNhYmxlIGluIHRoZSBldmVudCBvZiBhbiBlbWVyZ2VuY3kgc2l0dWF0aW9uLiBXaGVuIGZhbGxvdXQgb2NjdXJzIGZvbGxvd2luZyBhIG51Y2xlYXIgYWNjaWRlbnQsIHRoZSBjb250cmlidXRpb24gb2YgODkgU3IgdG8gdGhlIHRvdGFsIGFtb3VudCBvZiByYWRpb2FjdGl2ZSBzdHJvbnRpdW0gaXMgbm90IG5lZ2xpZ2libGUuIFRoaXMgZG9jdW1lbnQgcHJvdmlkZXMgdGVzdCBtZXRob2RzIHRvIGRldGVybWluZSB0aGUgYWN0aXZpdHkgY29uY2VudHJhdGlvbiBvZiA5MCBTciBpbiBwcmVzZW5jZSBvZiA4OSBTci4gVGhlIGFuYWx5c2lzIG9mIDkwIFNyIGFuZCA4OSBTciBhZHNvcmJlZCB0byBzdXNwZW5kZWQgbWF0dGVyIGlzIG5vdCBjb3ZlcmVkIGJ5IHRoaXMgbWV0aG9kLiBJdCBpcyB0aGUgdXNlcuKAmXMgcmVzcG9uc2liaWxpdHkgdG8gZW5zdXJlIHRoZSB2YWxpZGl0eSBvZiB0aGlzIHRlc3QgbWV0aG9kIHNlbGVjdGVkIGZvciB0aGUgd2F0ZXIgc2FtcGxlcyB0ZXN0ZWQuICIsIm1hdGNoTGV2ZWwiOiJub25lIiwibWF0Y2hlZFdvcmRzIjpbXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA3LzU5Lzc1OTYyIiwidXVpZCI6IjMyNmM0OGI5LTU1MzYtNDZjMy04ZmViLTQ5ODljNDI2MjUyOSIsInRpdGxlIjoiSVNPIDEzMTMxOjIwMjEgSGVhbHRoIGluZm9ybWF0aWNzIOKAlCBUZWxlaGVhbHRoIHNlcnZpY2VzIOKAlCBRdWFsaXR5IHBsYW5uaW5nIGd1aWRlbGluZXMiLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDIxLCJvcmRlciI6MTEsInRleHQiOiJUaGlzIGRvY3VtZW50IHByb3ZpZGVzIHByb2Nlc3NlcyB0aGF0IGNhbiBiZSB1c2VkIHRvIGFuYWx5emUgdGhlIHJpc2tzIHRvIHRoZSBxdWFsaXR5IGFuZCBzYWZldHkgb2YgaGVhbHRoY2FyZSBhbmQgY29udGludWl0eSBvZiBjYXJlIHdoZW4gdGVsZWhlYWx0aCBzZXJ2aWNlcyBhcmUgdXNlZCB0byBzdXBwb3J0IGhlYWx0aGNhcmUgYWN0aXZpdGllcy4gVXNpbmcgcmlzayBtYW5hZ2VtZW50IHByb2Nlc3NlcywgcXVhbGl0eSBvYmplY3RpdmVzIGFuZCBwcm9jZWR1cmVzIGFyZSBkZXJpdmVkIHdoaWNoIHByb3ZpZGUgZ3VpZGVsaW5lcyBmb3IgdGhlIG9wZXJhdGlvbnMgb2YgdGVsZWhlYWx0aCBzZXJ2aWNlcy4gVGhlc2UgaW5jbHVkZSBidXQgYXJlIG5vdCBsaW1pdGVkIHRvIHRoZSBmb2xsb3dpbmcgZG9tYWluczog4oCUwqDCoMKgIG1hbmFnZW1lbnQgb2YgdGVsZWhlYWx0aCBxdWFsaXR5IHByb2Nlc3NlcyBieSB0aGUgaGVhbHRoY2FyZSBvcmdhbml6YXRpb247IOKAlMKgwqDCoCBzdHJhdGVnaWMgYW5kIG9wZXJhdGlvbmFsIHByb2Nlc3MgbWFuYWdlbWVudCByZWxhdGluZyB0byByZWd1bGF0aW9ucywga25vd2xlZGdlIG1hbmFnZW1lbnQgKGJlc3QgcHJhY3RpY2UpIGFuZCBndWlkZWxpbmVzOyDigJTCoMKgwqAgaGVhbHRoY2FyZSBwcm9jZXNzZXMgcmVsYXRpbmcgdG8gcGVvcGxlIHN1Y2ggYXMgaGVhbHRoY2FyZSBhY3Rpdml0aWVzLCBwbGFubmluZywgYW5kIHJlc3BvbnNpYmlsaXRpZXM7IOKAlMKgwqDCoCBtYW5hZ2VtZW50IG9mIGZpbmFuY2lhbCByZXNvdXJjZXMgdG8gc3VwcG9ydCB0ZWxlaGVhbHRoIHNlcnZpY2VzOyDigJTCoMKgwqAgbWFuYWdlbWVudCBvZiBpbmZvcm1hdGlvbiBtYW5hZ2VtZW50IGFuZCBzZWN1cml0eSB1c2VkIGluIHRlbGVoZWFsdGggc2VydmljZXM7IOKAlMKgwqDCoCBwcm9jZXNzZXMgcmVsYXRlZCB0byB0aGUgcGxhbm5pbmcgYW5kIHByb3Zpc2lvbiBvZiBodW1hbiByZXNvdXJjZXMsIGluZnJhc3RydWN0dXJlLCBmYWNpbGl0aWVzIGFuZCB0ZWNobm9sb2d5IHJlc291cmNlcyBmb3IgdXNlIGJ5IHRlbGVoZWFsdGggc2VydmljZXMuIFRoaXMgZG9jdW1lbnQgcHJvdmlkZXMgYSBzZXQgb2YgZXhhbXBsZSBndWlkZWxpbmVzIGNvbnRhaW5pbmcgcXVhbGl0eSBvYmplY3RpdmVzIGFuZCBwcm9jZWR1cmVzIGZvciBlYWNoIGRvbWFpbi4gT3JnYW5pemF0aW9ucyBjYW4gYXBwbHkgdGhlIHF1YWxpdHkgYW5kIHJpc2sgbWFuYWdlbWVudCBwcm9jZXNzZXMgZGVzY3JpYmVkIGluIENsYXVzZXPCoDUgYW5kIDYgdG8gZGV2ZWxvcCBxdWFsaXR5IG9iamVjdGl2ZXMgYW5kIHByb2NlZHVyZXMgYXBwcm9wcmlhdGUgdG8gdGhlIHRlbGVoZWFsdGggc2VydmljZXMgdGhleSBwcm92aWRlLiBUaGlzIGRvY3VtZW50IGRvZXMgbm90IHByb3ZpZGUgZ3VpZGFuY2UgZm9yIHRoZSBtYW51ZmFjdHVyZSwgYXNzZW1ibHksIGNvbmZpZ3VyYXRpb24sIGludGVyb3BlcmFiaWxpdHkgb3IgbWFuYWdlbWVudCBvZiBkZXZpY2VzLCBwcm9kdWN0cyBvciB0ZWNobmljYWwgc3lzdGVtcy4gQW5uZXjCoEEgcHJvdmlkZXMgcHJvY2VkdXJlcyBmb3IgdGhlIGltcGxlbWVudGF0aW9uIG9mIHRlbGVoZWFsdGggc2VydmljZXMgYnkgYSBsYXJnZSBvcmdhbml6YXRpb24uIEFubmV4wqBCIHByb3ZpZGVzIHVzZSBjYXNlcyBmb3IgdGhlIGFwcGxpY2F0aW9uIG9mIHF1YWxpdHkgcGxhbm5pbmcgZ3VpZGVsaW5lcyBpbiBkaWZmZXJlbnQgdHlwZXMgb2YgcmVhbC13b3JsZCB0ZWxlaGVhbHRoIHNlcnZpY2VzLiAiLCJvYmplY3RJRCI6Ijc1OTYyXzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjMxOjIwMjEgSGVhbHRoIGluZm9ybWF0aWNzIOKAlCBUZWxlaGVhbHRoIHNlcnZpY2VzIOKAlCBRdWFsaXR5IHBsYW5uaW5nIGd1aWRlbGluZXMiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiVGhpcyBkb2N1bWVudCBwcm92aWRlcyBwcm9jZXNzZXMgdGhhdCBjYW4gYmUgdXNlZCB0byBhbmFseXplIHRoZSByaXNrcyB0byB0aGUgcXVhbGl0eSBhbmQgc2FmZXR5IG9mIGhlYWx0aGNhcmUgYW5kIGNvbnRpbnVpdHkgb2YgY2FyZSB3aGVuIHRlbGVoZWFsdGggc2VydmljZXMgYXJlIHVzZWQgdG8gc3VwcG9ydCBoZWFsdGhjYXJlIGFjdGl2aXRpZXMuIFVzaW5nIHJpc2sgbWFuYWdlbWVudCBwcm9jZXNzZXMsIHF1YWxpdHkgb2JqZWN0aXZlcyBhbmQgcHJvY2VkdXJlcyBhcmUgZGVyaXZlZCB3aGljaCBwcm92aWRlIGd1aWRlbGluZXMgZm9yIHRoZSBvcGVyYXRpb25zIG9mIHRlbGVoZWFsdGggc2VydmljZXMuIFRoZXNlIGluY2x1ZGUgYnV0IGFyZSBub3QgbGltaXRlZCB0byB0aGUgZm9sbG93aW5nIGRvbWFpbnM6IOKAlMKgwqDCoCBtYW5hZ2VtZW50IG9mIHRlbGVoZWFsdGggcXVhbGl0eSBwcm9jZXNzZXMgYnkgdGhlIGhlYWx0aGNhcmUgb3JnYW5pemF0aW9uOyDigJTCoMKgwqAgc3RyYXRlZ2ljIGFuZCBvcGVyYXRpb25hbCBwcm9jZXNzIG1hbmFnZW1lbnQgcmVsYXRpbmcgdG8gcmVndWxhdGlvbnMsIGtub3dsZWRnZSBtYW5hZ2VtZW50IChiZXN0IHByYWN0aWNlKSBhbmQgZ3VpZGVsaW5lczsg4oCUwqDCoMKgIGhlYWx0aGNhcmUgcHJvY2Vzc2VzIHJlbGF0aW5nIHRvIHBlb3BsZSBzdWNoIGFzIGhlYWx0aGNhcmUgYWN0aXZpdGllcywgcGxhbm5pbmcsIGFuZCByZXNwb25zaWJpbGl0aWVzOyDigJTCoMKgwqAgbWFuYWdlbWVudCBvZiBmaW5hbmNpYWwgcmVzb3VyY2VzIHRvIHN1cHBvcnQgdGVsZWhlYWx0aCBzZXJ2aWNlczsg4oCUwqDCoMKgIG1hbmFnZW1lbnQgb2YgaW5mb3JtYXRpb24gbWFuYWdlbWVudCBhbmQgc2VjdXJpdHkgdXNlZCBpbiB0ZWxlaGVhbHRoIHNlcnZpY2VzOyDigJTCoMKgwqAgcHJvY2Vzc2VzIHJlbGF0ZWQgdG8gdGhlIHBsYW5uaW5nIGFuZCBwcm92aXNpb24gb2YgaHVtYW4gcmVzb3VyY2VzLCBpbmZyYXN0cnVjdHVyZSwgZmFjaWxpdGllcyBhbmQgdGVjaG5vbG9neSByZXNvdXJjZXMgZm9yIHVzZSBieSB0ZWxlaGVhbHRoIHNlcnZpY2VzLiBUaGlzIGRvY3VtZW50IHByb3ZpZGVzIGEgc2V0IG9mIGV4YW1wbGUgZ3VpZGVsaW5lcyBjb250YWluaW5nIHF1YWxpdHkgb2JqZWN0aXZlcyBhbmQgcHJvY2VkdXJlcyBmb3IgZWFjaCBkb21haW4uIE9yZ2FuaXphdGlvbnMgY2FuIGFwcGx5IHRoZSBxdWFsaXR5IGFuZCByaXNrIG1hbmFnZW1lbnQgcHJvY2Vzc2VzIGRlc2NyaWJlZCBpbiBDbGF1c2VzwqA1IGFuZCA2IHRvIGRldmVsb3AgcXVhbGl0eSBvYmplY3RpdmVzIGFuZCBwcm9jZWR1cmVzIGFwcHJvcHJpYXRlIHRvIHRoZSB0ZWxlaGVhbHRoIHNlcnZpY2VzIHRoZXkgcHJvdmlkZS4gVGhpcyBkb2N1bWVudCBkb2VzIG5vdCBwcm92aWRlIGd1aWRhbmNlIGZvciB0aGUgbWFudWZhY3R1cmUsIGFzc2VtYmx5LCBjb25maWd1cmF0aW9uLCBpbnRlcm9wZXJhYmlsaXR5IG9yIG1hbmFnZW1lbnQgb2YgZGV2aWNlcywgcHJvZHVjdHMgb3IgdGVjaG5pY2FsIHN5c3RlbXMuIEFubmV4wqBBIHByb3ZpZGVzIHByb2NlZHVyZXMgZm9yIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiB0ZWxlaGVhbHRoIHNlcnZpY2VzIGJ5IGEgbGFyZ2Ugb3JnYW5pemF0aW9uLiBBbm5leMKgQiBwcm92aWRlcyB1c2UgY2FzZXMgZm9yIHRoZSBhcHBsaWNhdGlvbiBvZiBxdWFsaXR5IHBsYW5uaW5nIGd1aWRlbGluZXMgaW4gZGlmZmVyZW50IHR5cGVzIG9mIHJlYWwtd29ybGQgdGVsZWhlYWx0aCBzZXJ2aWNlcy4gIiwibWF0Y2hMZXZlbCI6Im5vbmUiLCJtYXRjaGVkV29yZHMiOltdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDcvNTgvNzU4NTciLCJ1dWlkIjoiOTM0NDNjMDYtOWQxMC00YmY2LWE0ZDEtNmFkZjA3NDhmNmEzIiwidGl0bGUiOiJJU08gMTMxNDI6MjAyMSBPcHRpY3MgYW5kIHBob3RvbmljcyDigJQgTGFzZXJzIGFuZCBsYXNlci1yZWxhdGVkIGVxdWlwbWVudCDigJQgQ2F2aXR5IHJpbmctZG93biBtZXRob2QgZm9yIGhpZ2gtcmVmbGVjdGFuY2UgYW5kIGhpZ2gtdHJhbnNtaXR0YW5jZSBtZWFzdXJlbWVudHMiLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDIxLCJvcmRlciI6MTEsInRleHQiOiJUaGlzIGRvY3VtZW50IHNwZWNpZmllcyBtZWFzdXJlbWVudCBwcm9jZWR1cmVzIGZvciB0aGUgcHJlY2lzZSBkZXRlcm1pbmF0aW9uIG9mIHRoZSBoaWdoIHJlZmxlY3RhbmNlIG9yIGhpZ2ggdHJhbnNtaXR0YW5jZSAoPjk5wqAlKSBvZiBvcHRpY2FsIGxhc2VyIGNvbXBvbmVudHMuIFRoZSBtZXRob2RzIGdpdmVuIGluIHRoaXMgZG9jdW1lbnQgYXJlIGludGVuZGVkIHRvIGJlIHVzZWQgZm9yIHRoZSB0ZXN0aW5nIGFuZCBjaGFyYWN0ZXJpemF0aW9uIG9mIGhpZ2ggcmVmbGVjdGFuY2Ugb2YgYm90aCBjb25jYXZlIGFuZCBwbGFuZSBtaXJyb3JzIG9yIGhpZ2ggdHJhbnNtaXR0YW5jZSBvZiBwbGFuZSB3aW5kb3dzIHVzZWQgaW4gbGFzZXIgc3lzdGVtcyBhbmQgbGFzZXItYmFzZWQgaW5zdHJ1bWVudHMuIFRoZSByZWZsZWN0YW5jZSBvZiBjb252ZXggbWlycm9ycyBvciB0cmFuc21pdHRhbmNlIG9mIHBvc2l0aXZlIG9yIG5lZ2F0aXZlIGxlbnNlcyBjYW4gYWxzbyBiZSB0ZXN0ZWQgYnkgdGFraW5nIGludG8gY29uc2lkZXJhdGlvbiB0aGUgcmFkaXVzIG9mIGN1cnZhdHVyZSBvZiB0aGUgbWlycm9yIHN1cmZhY2Ugb3IgdGhlIGZvY2FsIGxlbmd0aCBvZiB0aGUgbGVucy4gVGhpcyBkb2N1bWVudCBpcyBjb21wbGVtZW50YXJ5IHRvIElTT8KgMTUzNjggd2hpY2ggc3BlY2lmaWVzIHRoZSBtZWFzdXJlbWVudCBwcm9jZWR1cmVzIGZvciB0aGUgZGV0ZXJtaW5hdGlvbiBvZiByZWZsZWN0YW5jZSBhbmQgdHJhbnNtaXR0YW5jZSBvZiBvcHRpY2FsIGNvbXBvbmVudHMgd2l0aCBzcGVjdHJvcGhvdG9tZXRyeS4gSVNPwqAxNTM2OCBpcyBhcHBsaWNhYmxlIHRvIHRoZSBtZWFzdXJlbWVudHMgb2YgcmVmbGVjdGFuY2UgYW5kIHRyYW5zbWl0dGFuY2UgaW4gdGhlIHJhbmdlIGZyb20gMMKgJSB0byAxMDDCoCUgd2l0aCBhIHR5cGljYWwgYWNjdXJhY3kgb2YgwrEwLDPCoCUsIGFuZCBpcyB0aGVyZWZvcmUgbm90IGFwcGxpY2FibGUgdG8gdGhlIHByZWNpc2UgbWVhc3VyZW1lbnRzIG9mIHJlZmxlY3RhbmNlIGFuZCB0cmFuc21pdHRhbmNlIGhpZ2hlciB0aGFuIDk5LDnCoCUuICIsIm9iamVjdElEIjoiNzU4NTdfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NDI6MjAyMSBPcHRpY3MgYW5kIHBob3RvbmljcyDigJQgTGFzZXJzIGFuZCBsYXNlci1yZWxhdGVkIGVxdWlwbWVudCDigJQgQ2F2aXR5IHJpbmctZG93biBtZXRob2QgZm9yIGhpZ2gtcmVmbGVjdGFuY2UgYW5kIGhpZ2gtdHJhbnNtaXR0YW5jZSBtZWFzdXJlbWVudHMiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiVGhpcyBkb2N1bWVudCBzcGVjaWZpZXMgbWVhc3VyZW1lbnQgcHJvY2VkdXJlcyBmb3IgdGhlIHByZWNpc2UgZGV0ZXJtaW5hdGlvbiBvZiB0aGUgaGlnaCByZWZsZWN0YW5jZSBvciBoaWdoIHRyYW5zbWl0dGFuY2UgKD45OcKgJSkgb2Ygb3B0aWNhbCBsYXNlciBjb21wb25lbnRzLiBUaGUgbWV0aG9kcyBnaXZlbiBpbiB0aGlzIGRvY3VtZW50IGFyZSBpbnRlbmRlZCB0byBiZSB1c2VkIGZvciB0aGUgdGVzdGluZyBhbmQgY2hhcmFjdGVyaXphdGlvbiBvZiBoaWdoIHJlZmxlY3RhbmNlIG9mIGJvdGggY29uY2F2ZSBhbmQgcGxhbmUgbWlycm9ycyBvciBoaWdoIHRyYW5zbWl0dGFuY2Ugb2YgcGxhbmUgd2luZG93cyB1c2VkIGluIGxhc2VyIHN5c3RlbXMgYW5kIGxhc2VyLWJhc2VkIGluc3RydW1lbnRzLiBUaGUgcmVmbGVjdGFuY2Ugb2YgY29udmV4IG1pcnJvcnMgb3IgdHJhbnNtaXR0YW5jZSBvZiBwb3NpdGl2ZSBvciBuZWdhdGl2ZSBsZW5zZXMgY2FuIGFsc28gYmUgdGVzdGVkIGJ5IHRha2luZyBpbnRvIGNvbnNpZGVyYXRpb24gdGhlIHJhZGl1cyBvZiBjdXJ2YXR1cmUgb2YgdGhlIG1pcnJvciBzdXJmYWNlIG9yIHRoZSBmb2NhbCBsZW5ndGggb2YgdGhlIGxlbnMuIFRoaXMgZG9jdW1lbnQgaXMgY29tcGxlbWVudGFyeSB0byA8ZW0+SVNPPC9lbT7CoDE1MzY4IHdoaWNoIHNwZWNpZmllcyB0aGUgbWVhc3VyZW1lbnQgcHJvY2VkdXJlcyBmb3IgdGhlIGRldGVybWluYXRpb24gb2YgcmVmbGVjdGFuY2UgYW5kIHRyYW5zbWl0dGFuY2Ugb2Ygb3B0aWNhbCBjb21wb25lbnRzIHdpdGggc3BlY3Ryb3Bob3RvbWV0cnkuIDxlbT5JU088L2VtPsKgMTUzNjggaXMgYXBwbGljYWJsZSB0byB0aGUgbWVhc3VyZW1lbnRzIG9mIHJlZmxlY3RhbmNlIGFuZCB0cmFuc21pdHRhbmNlIGluIHRoZSByYW5nZSBmcm9tIDDCoCUgdG8gMTAwwqAlIHdpdGggYSB0eXBpY2FsIGFjY3VyYWN5IG9mIMKxMCwzwqAlLCBhbmQgaXMgdGhlcmVmb3JlIG5vdCBhcHBsaWNhYmxlIHRvIHRoZSBwcmVjaXNlIG1lYXN1cmVtZW50cyBvZiByZWZsZWN0YW5jZSBhbmQgdHJhbnNtaXR0YW5jZSBoaWdoZXIgdGhhbiA5OSw5wqAlLiAiLCJtYXRjaExldmVsIjoicGFydGlhbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNy81OC83NTgyMSIsInV1aWQiOiIwNzRkMTM3OC0yYjM1LTQ1MjUtYWM3YS02N2RmMDc3MzI4MGEiLCJ0aXRsZSI6IklTTyAxMzE2MjoyMDIxIFdhdGVyIHF1YWxpdHkg4oCUIENhcmJvbiAxNCDigJQgVGVzdCBtZXRob2QgdXNpbmcgbGlxdWlkIHNjaW50aWxsYXRpb24gY291bnRpbmciLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDIxLCJvcmRlciI6MTEsInRleHQiOiJUaGlzIGRvY3VtZW50IHNwZWNpZmllcyBhIG1ldGhvZCBmb3IgdGhlIG1lYXN1cmVtZW50IG9mIDE0IEMgYWN0aXZpdHkgY29uY2VudHJhdGlvbiBpbiBhbGwgdHlwZXMgb2Ygd2F0ZXIgc2FtcGxlcyBieSBsaXF1aWQgc2NpbnRpbGxhdGlvbiBjb3VudGluZyAoTFNDKSBlaXRoZXIgZGlyZWN0bHkgb24gdGhlIHRlc3Qgc2FtcGxlIG9yIGZvbGxvd2luZyBhIGNoZW1pY2FsIHNlcGFyYXRpb24uIFRoZSBtZXRob2QgaXMgYXBwbGljYWJsZSB0byB0ZXN0IHNhbXBsZXMgb2Ygc3VwcGx5L2RyaW5raW5nIHdhdGVyLCByYWlud2F0ZXIsIHN1cmZhY2UgYW5kIGdyb3VuZCB3YXRlciwgbWFyaW5lIHdhdGVyLCBhcyB3ZWxsIGFzIGNvb2xpbmcgd2F0ZXIsIGluZHVzdHJpYWwgd2F0ZXIsIGRvbWVzdGljLCBhbmQgaW5kdXN0cmlhbCB3YXN0ZXdhdGVyLiBUaGUgZGV0ZWN0aW9uIGxpbWl0IGRlcGVuZHMgb24gdGhlIHNhbXBsZSB2b2x1bWUsIHRoZSBpbnN0cnVtZW50IHVzZWQsIHRoZSBzYW1wbGUgY291bnRpbmcgdGltZSwgdGhlIGJhY2tncm91bmQgY291bnQgcmF0ZSwgdGhlIGRldGVjdGlvbiBlZmZpY2llbmN5IGFuZCB0aGUgY2hlbWljYWwgcmVjb3ZlcnkuIFRoZSBtZXRob2QgZGVzY3JpYmVkIGluIHRoaXMgZG9jdW1lbnQsIHVzaW5nIGN1cnJlbnRseSBhdmFpbGFibGUgbGlxdWlkIHNjaW50aWxsYXRpb24gY291bnRlcnMgYW5kIHN1aXRhYmxlIHRlY2huaWNhbCBjb25kaXRpb25zLCBoYXMgYSBkZXRlY3Rpb24gbGltaXQgYXMgbG93IGFzIDHCoEJx4oiZbCDiiJIxICwgd2hpY2ggaXMgbG93ZXIgdGhhbiB0aGUgV0hPIGNyaXRlcmlhIGZvciBzYWZlIGNvbnN1bXB0aW9uIG9mIGRyaW5raW5nIHdhdGVyICgxMDDCoEJxwrdsIC0xICkuIDE0IEMgYWN0aXZpdHkgY29uY2VudHJhdGlvbnMgY2FuIGJlIG1lYXN1cmVkIHVwIHRvIDEwIDYgwqBCceKImWwgLTEgd2l0aG91dCBhbnkgc2FtcGxlIGRpbHV0aW9uLiBJdCBpcyB0aGUgdXNlcuKAmXMgcmVzcG9uc2liaWxpdHkgdG8gZW5zdXJlIHRoZSB2YWxpZGl0eSBvZiB0aGlzIHRlc3QgbWV0aG9kIGZvciB0aGUgd2F0ZXIgc2FtcGxlcyB0ZXN0ZWQuICIsIm9iamVjdElEIjoiNzU4MjFfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NjI6MjAyMSBXYXRlciBxdWFsaXR5IOKAlCBDYXJib24gMTQg4oCUIFRlc3QgbWV0aG9kIHVzaW5nIGxpcXVpZCBzY2ludGlsbGF0aW9uIGNvdW50aW5nIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IlRoaXMgZG9jdW1lbnQgc3BlY2lmaWVzIGEgbWV0aG9kIGZvciB0aGUgbWVhc3VyZW1lbnQgb2YgMTQgQyBhY3Rpdml0eSBjb25jZW50cmF0aW9uIGluIGFsbCB0eXBlcyBvZiB3YXRlciBzYW1wbGVzIGJ5IGxpcXVpZCBzY2ludGlsbGF0aW9uIGNvdW50aW5nIChMU0MpIGVpdGhlciBkaXJlY3RseSBvbiB0aGUgdGVzdCBzYW1wbGUgb3IgZm9sbG93aW5nIGEgY2hlbWljYWwgc2VwYXJhdGlvbi4gVGhlIG1ldGhvZCBpcyBhcHBsaWNhYmxlIHRvIHRlc3Qgc2FtcGxlcyBvZiBzdXBwbHkvZHJpbmtpbmcgd2F0ZXIsIHJhaW53YXRlciwgc3VyZmFjZSBhbmQgZ3JvdW5kIHdhdGVyLCBtYXJpbmUgd2F0ZXIsIGFzIHdlbGwgYXMgY29vbGluZyB3YXRlciwgaW5kdXN0cmlhbCB3YXRlciwgZG9tZXN0aWMsIGFuZCBpbmR1c3RyaWFsIHdhc3Rld2F0ZXIuIFRoZSBkZXRlY3Rpb24gbGltaXQgZGVwZW5kcyBvbiB0aGUgc2FtcGxlIHZvbHVtZSwgdGhlIGluc3RydW1lbnQgdXNlZCwgdGhlIHNhbXBsZSBjb3VudGluZyB0aW1lLCB0aGUgYmFja2dyb3VuZCBjb3VudCByYXRlLCB0aGUgZGV0ZWN0aW9uIGVmZmljaWVuY3kgYW5kIHRoZSBjaGVtaWNhbCByZWNvdmVyeS4gVGhlIG1ldGhvZCBkZXNjcmliZWQgaW4gdGhpcyBkb2N1bWVudCwgdXNpbmcgY3VycmVudGx5IGF2YWlsYWJsZSBsaXF1aWQgc2NpbnRpbGxhdGlvbiBjb3VudGVycyBhbmQgc3VpdGFibGUgdGVjaG5pY2FsIGNvbmRpdGlvbnMsIGhhcyBhIGRldGVjdGlvbiBsaW1pdCBhcyBsb3cgYXMgMcKgQnHiiJlsIOKIkjEgLCB3aGljaCBpcyBsb3dlciB0aGFuIHRoZSBXSE8gY3JpdGVyaWEgZm9yIHNhZmUgY29uc3VtcHRpb24gb2YgZHJpbmtpbmcgd2F0ZXIgKDEwMMKgQnHCt2wgLTEgKS4gMTQgQyBhY3Rpdml0eSBjb25jZW50cmF0aW9ucyBjYW4gYmUgbWVhc3VyZWQgdXAgdG8gMTAgNiDCoEJx4oiZbCAtMSB3aXRob3V0IGFueSBzYW1wbGUgZGlsdXRpb24uIEl0IGlzIHRoZSB1c2Vy4oCZcyByZXNwb25zaWJpbGl0eSB0byBlbnN1cmUgdGhlIHZhbGlkaXR5IG9mIHRoaXMgdGVzdCBtZXRob2QgZm9yIHRoZSB3YXRlciBzYW1wbGVzIHRlc3RlZC4gIiwibWF0Y2hMZXZlbCI6Im5vbmUiLCJtYXRjaGVkV29yZHMiOltdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDYvNDEvNjQxNjYiLCJ1dWlkIjoiYjIwZjExNDItYzYwMC00MjEwLTlmMzEtNjhhMGUyYjY4N2M3IiwidGl0bGUiOiJJU08gMTMxNDE6MjAxNSBFbGVjdHJvbmljIGZlZSBjb2xsZWN0aW9uIOKAlCBMb2NhbGlzYXRpb24gYXVnbWVudGF0aW9uIGNvbW11bmljYXRpb24gZm9yIGF1dG9ub21vdXMgc3lzdGVtcyIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMjEsIm9yZGVyIjoxMSwidGV4dCI6IklTTyAxMzE0MToyMDE1IGVzdGFibGlzaGVzIHJlcXVpcmVtZW50cyBmb3Igc2hvcnQtcmFuZ2UgY29tbXVuaWNhdGlvbiBmb3IgdGhlIHB1cnBvc2VzIG9mIGF1Z21lbnRpbmcgdGhlIGxvY2FsaXphdGlvbiBpbiBhdXRvbm9tb3VzIGVsZWN0cm9uaWMgZmVlIGNvbGxlY3Rpb24gKEVGQykgc3lzdGVtcy4gTG9jYWxpemF0aW9uIGF1Z21lbnRhdGlvbiBzZXJ2ZXMgdG8gaW5mb3JtIG9uLWJvYXJkIGVxdWlwbWVudCAoT0JFKSBhYm91dCBnZW9ncmFwaGljYWwgbG9jYXRpb24gYW5kIHRoZSBpZGVudGlmaWNhdGlvbiBvZiBhIGNoYXJnZSBvYmplY3QuIFRoaXMgSW50ZXJuYXRpb25hbCBTdGFuZGFyZCBzcGVjaWZpZXMgdGhlIHByb3Zpc2lvbiBvZiBsb2NhdGlvbiBhbmQgaGVhZGluZyBpbmZvcm1hdGlvbiBhbmQgc2VjdXJpdHkgbWVhbnMgdG8gcHJvdGVjdCBmcm9tIHRoZSBtYW5pcHVsYXRpb24gb2YgdGhlIE9CRSB3aXRoIGZhbHNlIHJvYWRzaWRlIGVxdWlwbWVudCAoUlNFKS4gVGhlIGxvY2FsaXphdGlvbiBhdWdtZW50YXRpb24gY29tbXVuaWNhdGlvbiB0YWtlcyBwbGFjZSBiZXR3ZWVuIGFuIE9CRSBpbiBhIHZlaGljbGUgYW5kIGZpeGVkIHJvYWRzaWRlIGVxdWlwbWVudC4gVGhpcyBJbnRlcm5hdGlvbmFsIFN0YW5kYXJkIGlzIGFwcGxpY2FibGUgdG8gT0JFIGluIGFuIGF1dG9ub21vdXMgbW9kZSBvZiBvcGVyYXRpb24uIElTTyAxMzE0MToyMDE1IGRlZmluZXMgYXR0cmlidXRlcyBhbmQgZnVuY3Rpb25zIGZvciB0aGUgcHVycG9zZSBvZiBsb2NhbGl6YXRpb24gYXVnbWVudGF0aW9uLCBieSBtYWtpbmcgdXNlIG9mIHRoZSBkZWRpY2F0ZWQgc2hvcnQtcmFuZ2UgY29tbXVuaWNhdGlvbnMgKERTUkMpIGNvbW11bmljYXRpb24gc2VydmljZXMgcHJvdmlkZWQgYnkgRFNSQyBMYXllciA3LCBhbmQgbWFrZXMgdGhlc2UgTEFDIGF0dHJpYnV0ZXMgYW5kIGZ1bmN0aW9ucyBhdmFpbGFibGUgdG8gdGhlIExBQyBhcHBsaWNhdGlvbnMgYXQgdGhlIFJTRSBhbmQgdGhlIE9CRS4gQXR0cmlidXRlcyBhbmQgZnVuY3Rpb25zIGFyZSBkZWZpbmVkIG9uIHRoZSBsZXZlbCBvZiBBcHBsaWNhdGlvbiBEYXRhIFVuaXRzIChBRFVzLCBzZWUgRmlndXJlIDEpLiAiLCJvYmplY3RJRCI6IjY0MTY2XzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjQxOjIwMTUgRWxlY3Ryb25pYyBmZWUgY29sbGVjdGlvbiDigJQgTG9jYWxpc2F0aW9uIGF1Z21lbnRhdGlvbiBjb21tdW5pY2F0aW9uIGZvciBhdXRvbm9tb3VzIHN5c3RlbXMiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjQxOjIwMTUgZXN0YWJsaXNoZXMgcmVxdWlyZW1lbnRzIGZvciBzaG9ydC1yYW5nZSBjb21tdW5pY2F0aW9uIGZvciB0aGUgcHVycG9zZXMgb2YgYXVnbWVudGluZyB0aGUgbG9jYWxpemF0aW9uIGluIGF1dG9ub21vdXMgZWxlY3Ryb25pYyBmZWUgY29sbGVjdGlvbiAoRUZDKSBzeXN0ZW1zLiBMb2NhbGl6YXRpb24gYXVnbWVudGF0aW9uIHNlcnZlcyB0byBpbmZvcm0gb24tYm9hcmQgZXF1aXBtZW50IChPQkUpIGFib3V0IGdlb2dyYXBoaWNhbCBsb2NhdGlvbiBhbmQgdGhlIGlkZW50aWZpY2F0aW9uIG9mIGEgY2hhcmdlIG9iamVjdC4gVGhpcyBJbnRlcm5hdGlvbmFsIFN0YW5kYXJkIHNwZWNpZmllcyB0aGUgcHJvdmlzaW9uIG9mIGxvY2F0aW9uIGFuZCBoZWFkaW5nIGluZm9ybWF0aW9uIGFuZCBzZWN1cml0eSBtZWFucyB0byBwcm90ZWN0IGZyb20gdGhlIG1hbmlwdWxhdGlvbiBvZiB0aGUgT0JFIHdpdGggZmFsc2Ugcm9hZHNpZGUgZXF1aXBtZW50IChSU0UpLiBUaGUgbG9jYWxpemF0aW9uIGF1Z21lbnRhdGlvbiBjb21tdW5pY2F0aW9uIHRha2VzIHBsYWNlIGJldHdlZW4gYW4gT0JFIGluIGEgdmVoaWNsZSBhbmQgZml4ZWQgcm9hZHNpZGUgZXF1aXBtZW50LiBUaGlzIEludGVybmF0aW9uYWwgU3RhbmRhcmQgaXMgYXBwbGljYWJsZSB0byBPQkUgaW4gYW4gYXV0b25vbW91cyBtb2RlIG9mIG9wZXJhdGlvbi4gPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjQxOjIwMTUgZGVmaW5lcyBhdHRyaWJ1dGVzIGFuZCBmdW5jdGlvbnMgZm9yIHRoZSBwdXJwb3NlIG9mIGxvY2FsaXphdGlvbiBhdWdtZW50YXRpb24sIGJ5IG1ha2luZyB1c2Ugb2YgdGhlIGRlZGljYXRlZCBzaG9ydC1yYW5nZSBjb21tdW5pY2F0aW9ucyAoRFNSQykgY29tbXVuaWNhdGlvbiBzZXJ2aWNlcyBwcm92aWRlZCBieSBEU1JDIExheWVyIDcsIGFuZCBtYWtlcyB0aGVzZSBMQUMgYXR0cmlidXRlcyBhbmQgZnVuY3Rpb25zIGF2YWlsYWJsZSB0byB0aGUgTEFDIGFwcGxpY2F0aW9ucyBhdCB0aGUgUlNFIGFuZCB0aGUgT0JFLiBBdHRyaWJ1dGVzIGFuZCBmdW5jdGlvbnMgYXJlIGRlZmluZWQgb24gdGhlIGxldmVsIG9mIEFwcGxpY2F0aW9uIERhdGEgVW5pdHMgKEFEVXMsIHNlZSBGaWd1cmUgMSkuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA2LzI0LzYyNDI0IiwidXVpZCI6Ijk0MTVhMzA4LTk0MGEtNDBkYi1iNmI2LTVjM2EzMDI2YzkzYiIsInRpdGxlIjoiSVNPIDEzMTY0LTQ6MjAxNSBXYXRlciBxdWFsaXR5IOKAlCBSYWRvbi0yMjIg4oCUIFBhcnQgNDogVGVzdCBtZXRob2QgdXNpbmcgdHdvLXBoYXNlIGxpcXVpZCBzY2ludGlsbGF0aW9uIGNvdW50aW5nIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAyMSwib3JkZXIiOjExLCJ0ZXh0IjoiSVNPIDEzMTY0LTQ6MjAxNSBkZXNjcmliZXMgYSB0ZXN0IG1ldGhvZCBmb3IgdGhlIGRldGVybWluYXRpb24gb2YgcmFkb24tMjIyICggMjIyIFJuKSBhY3Rpdml0eSBjb25jZW50cmF0aW9uIGluIG5vbi1zYWxpbmUgd2F0ZXJzIGJ5IGV4dHJhY3Rpb24gYW5kIGxpcXVpZCBzY2ludGlsbGF0aW9uIGNvdW50aW5nLiBUaGUgcmFkb24tMjIyIGFjdGl2aXR5IGNvbmNlbnRyYXRpb25zLCB3aGljaCBjYW4gYmUgbWVhc3VyZWQgYnkgdGhpcyB0ZXN0IG1ldGhvZCB1dGlsaXppbmcgY3VycmVudGx5IGF2YWlsYWJsZSBpbnN0cnVtZW50cywgYXJlIGF0IGxlYXN0IGFib3ZlIDAsNSBCcSBsIOKIkjEgZm9yIGEgMTAgbWwgdGVzdCBzYW1wbGUgYW5kIGEgbWVhc3VyaW5nIHRpbWUgb2YgMSBoLiBUaGlzIHRlc3QgbWV0aG9kIGNhbiBiZSB1c2VkIHN1Y2Nlc3NmdWxseSB3aXRoIGRyaW5raW5nIHdhdGVyIHNhbXBsZXMgYW5kIGl0IGlzIHRoZSByZXNwb25zaWJpbGl0eSBvZiB0aGUgbGFib3JhdG9yeSB0byBlbnN1cmUgdGhlIHZhbGlkaXR5IG9mIHRoaXMgdGVzdCBtZXRob2QgZm9yIHdhdGVyIHNhbXBsZXMgb2YgdW50ZXN0ZWQgbWF0cmljZXMuIEFubmV4IEEgZ2l2ZXMgaW5kaWNhdGlvbiBvbiB0aGUgbmVjZXNzYXJ5IGNvdW50aW5nIGNvbmRpdGlvbnMgdG8gbWVldCB0aGUgcmVxdWlyZWQgZGV0ZWN0aW9uIGxpbWl0cyBmb3IgZHJpbmtpbmcgd2F0ZXIgbW9uaXRvcmluZy4gIiwib2JqZWN0SUQiOiI2MjQyNF8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT42NC00OjIwMTUgV2F0ZXIgcXVhbGl0eSDigJQgUmFkb24tMjIyIOKAlCBQYXJ0IDQ6IFRlc3QgbWV0aG9kIHVzaW5nIHR3by1waGFzZSBsaXF1aWQgc2NpbnRpbGxhdGlvbiBjb3VudGluZyIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NjQtNDoyMDE1IGRlc2NyaWJlcyBhIHRlc3QgbWV0aG9kIGZvciB0aGUgZGV0ZXJtaW5hdGlvbiBvZiByYWRvbi0yMjIgKCAyMjIgUm4pIGFjdGl2aXR5IGNvbmNlbnRyYXRpb24gaW4gbm9uLXNhbGluZSB3YXRlcnMgYnkgZXh0cmFjdGlvbiBhbmQgbGlxdWlkIHNjaW50aWxsYXRpb24gY291bnRpbmcuIFRoZSByYWRvbi0yMjIgYWN0aXZpdHkgY29uY2VudHJhdGlvbnMsIHdoaWNoIGNhbiBiZSBtZWFzdXJlZCBieSB0aGlzIHRlc3QgbWV0aG9kIHV0aWxpemluZyBjdXJyZW50bHkgYXZhaWxhYmxlIGluc3RydW1lbnRzLCBhcmUgYXQgbGVhc3QgYWJvdmUgMCw1IEJxIGwg4oiSMSBmb3IgYSAxMCBtbCB0ZXN0IHNhbXBsZSBhbmQgYSBtZWFzdXJpbmcgdGltZSBvZiAxIGguIFRoaXMgdGVzdCBtZXRob2QgY2FuIGJlIHVzZWQgc3VjY2Vzc2Z1bGx5IHdpdGggZHJpbmtpbmcgd2F0ZXIgc2FtcGxlcyBhbmQgaXQgaXMgdGhlIHJlc3BvbnNpYmlsaXR5IG9mIHRoZSBsYWJvcmF0b3J5IHRvIGVuc3VyZSB0aGUgdmFsaWRpdHkgb2YgdGhpcyB0ZXN0IG1ldGhvZCBmb3Igd2F0ZXIgc2FtcGxlcyBvZiB1bnRlc3RlZCBtYXRyaWNlcy4gQW5uZXggQSBnaXZlcyBpbmRpY2F0aW9uIG9uIHRoZSBuZWNlc3NhcnkgY291bnRpbmcgY29uZGl0aW9ucyB0byBtZWV0IHRoZSByZXF1aXJlZCBkZXRlY3Rpb24gbGltaXRzIGZvciBkcmlua2luZyB3YXRlciBtb25pdG9yaW5nLiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNi8xNS82MTU3MyIsInV1aWQiOiI2MGZjMTM2Ny1mZjRlLTQyZDUtYTkzNC02NTNjOTc1NzFlMjYiLCJ0aXRsZSI6IklTTyAxMzE4NC0yOjIwMTYgSW50ZWxsaWdlbnQgdHJhbnNwb3J0IHN5c3RlbXMgKElUUykg4oCUIEd1aWRhbmNlIHByb3RvY29sIHZpYSBwZXJzb25hbCBJVFMgc3RhdGlvbiBmb3IgYWR2aXNvcnkgc2FmZXR5IHN5c3RlbXMg4oCUIFBhcnQgMjogUm9hZCBndWlkYW5jZSBwcm90b2NvbCAoUkdQKSByZXF1aXJlbWVudHMgYW5kIHNwZWNpZmljYXRpb24iLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDIxLCJvcmRlciI6MTEsInRleHQiOiJJU08gMTMxODQtMjoyMDE2IHNwZWNpZmllcyB0aGUgcm9hZCBndWlkYW5jZSB1c2UgY2FzZXMgb24gdGhlIERYTSB0byBwcm92aWRlIHRoZSByZWFsLXRpbWUgZGVjaXNpb24gc3VwcG9ydCBzeXN0ZW0gdG8gZHJpdmVycyBvciBwZWRlc3RyaWFucyB1c2luZyBQLUlUUy1TLiBUaGUgcm9hZCBndWlkYW5jZSBwcm90b2NvbCAoUkdQKSBpcyBhbiBpbnN0YW50aWF0aW9uIG9mIHRoZSBkYXRhIGV4Y2hhbmdlIG1lc3NhZ2UgKERYTSksIHdoaWNoIHJlcHJlc2VudHMgYSBnZW5lcmljIG1lc3NhZ2UgdG8gZXhjaGFuZ2UgZGF0YSBiZXR3ZWVuIElUUyBzdGF0aW9ucy4gVGhlIFJHUCBkZWZpbmVzIGFuIGludGVyb3BlcmFibGUgc2VydmljZSBwcm90b2NvbCBiZXR3ZWVuIFAtSVRTLVMgYW5kIFItSVRTLVMgZm9yIGV4Y2hhbmdpbmcgZGF0YSBlbGVtZW50cy4gVGhpcyBwYXJ0IG9mIElTTyAxMzE4NCBzcGVjaWZpZXMgdGhlIGZvbGxvd2luZzogLSAgICAgIFJlZmVyZW5jZSBhcmNoaXRlY3R1cmUgZm9yIHJlYWwtdGltZSBkZWNpc2lvbiBzdXBwb3J0IHN5c3RlbS4gVGhpcyByZWZlcmVuY2UgYXJjaGl0ZWN0dXJlIHByb3ZpZGVzIGEgZ2VuZXJhbCBzdHJ1Y3R1cmUgZm9yIHRoZSByZWFsLXRpbWUgZGVjaXNpb24gc3VwcG9ydCBzeXN0ZW0gYW5kIHRoZSBtZXRob2Qgb2YgbWVzc2FnZSBleGNoYW5nZSBiZXR3ZWVuIHRoZSBQLUlUUy1TIGFuZCB0aGUgUi1JVFMtUy4gVGhpcyByZWZlcmVuY2UgYXJjaGl0ZWN0dXJlIGlzIHVzZWQgdG8gYnVpbGQgdGhlIGludGVyY29ubmVjdGlvbnMgYmV0d2VlbiB0aGUgUC1JVFMtUyBhbmQgdGhlIFItSVRTLVMuIC0gICAgICBUZWNobmlxdWUgb2YgYXBwbGljYXRpb24gcHJvdG9jb2wgZGVzaWduIGZvciB2YXJpb3VzIHVzZSBjYXNlcyBvbiBhIFAtSVRTLVMuIFRoaXMgdGVjaG5pcXVlIGFkb3B0cyBhIGZsZXhpYmxlIGFuZCBleHRlbmRhYmxlIHByb3RvY29sIGRlc2lnbi4gSW4gbWFueSBjYXNlcywgdGhlIGFwcGxpY2F0aW9uIHByb3RvY29sIGZvciB0aGUgSVRTIGlzIGRlc2lnbmVkIHRvIHByb3ZpZGUgYSBzZXQgb2YgbWVzc2FnZXMgdGhhdCBpcyBkZXBlbmRlbnQgb24gdGhlIHVzZSBjYXNlcyBhbmQgdGhlIG1lc3NhZ2UgZXhjaGFuZ2UgbWV0aG9kLiBIb3dldmVyLCBpdCBpcyBub3QgZWFzeSB0byBlbnVtZXJhdGUgYWxsIHVzZSBjYXNlcyBmb3Igc29tZSBhcHBsaWNhdGlvbnMuIFRoZSB1c2UgY2FzZXMgY2FuIGJlIGNoYW5nZWQgb3IgZW5oYW5jZWQgZnJlcXVlbnRseS4gRm9yIHRoaXMgdHlwZSBvZiBhcHBsaWNhdGlvbiwgdGhlIHByb3RvY29sIGRlc2lnbiwgZGVwZW5kaW5nIG9uIHRoZSB1c2UgY2FzZXMsIGlzIG5vdCBhcHByb3ByaWF0ZS4gVGhpcyBwYXJ0IG9mIElTTyAxMzE4NCBwcm92aWRlcyBhIGdlbmVyYWwgdGVjaG5pcXVlIG9mIGRlc2lnbmluZyB0aGUgcm9hZCBndWlkYW5jZSBhcHBsaWNhdGlvbiBwcm90b2NvbCBiYXNlZCBvbiB0aGUgdXNlIGNhc2VzLiAtICAgICAgUHJpbWl0aXZlIGRhdGEgZWxlbWVudC4gVGhlIHByaW1pdGl2ZSBkYXRhIGVsZW1lbnQgd2lsbCBiZSBjb21tb25seSB1c2VkIHRvIGNvbmZpZ3VyZSB0aGUgc2FmZXR5IHdhcm5pbmcgYW5kIHBhcmtpbmcgZ3VpZGUgc2VydmljZSBpbiB0aGUgZm9ybSBvZiBzcGVlZCwgbG9jYXRpb24gYW5kIHRpbWUuIC0gICAgICBVc2UgY2FzZXMgYXQgdGhlIHJvYWQgYW5kIHBhcmtpbmcgc3BhY2VzIGZvciB3YXJuaW5nIGFuZCBwYXJraW5nIGd1aWRlLiBUaGlzIHBhcnQgb2YgSVNPIDEzMTg0IGRlc2NyaWJlcyB0aGUgdXNlIGNhc2VzIGFwcGxpY2FibGUgdG8gdGhlIGNvbW11bmljYXRpb24gc2VydmljZXMgYmV0d2VlbiB0aGUgUC1JVFMtUyBhbmQgdGhlIFItSVRTLVMgZm9yIHRoZSBwdXJwb3NlcyBvZiBwcm92aWRpbmcgc2FmZXR5IHdhcm5pbmcgYW5kIHBhcmtpbmcgZ3VpZGFuY2UuIElTTyAxMzE4NCAoYWxsIHBhcnRzKSBoYXZlIGJlZW4gYWxpZ25lZCBhY2NvcmRpbmcgdG8gdGhlIHJlcXVpcmVtZW50cyBzcGVjaWZpZWQgaW4gSVNPIDIxMjE3LCBJU08vVFMgMTc0MTkgYW5kIElTTy9UUyAxNzQyMy4gSVNPIDEzMTg0LTI6MjAxNiBvbmx5IHNwZWNpZmllcyB0aGUgUkdQIG1lc3NhZ2VzIGJhc2VkIG9uIHRoZSBEWE0gZGVmaW5pdGlvbiAoc2VlIEFubmV4IEIgYW5kIEFubmV4IEMpIGF0IHJlYWwtdGltZS4gVGhlIGNvbnRlbnQgb2YgdGhlIFJHUCBtZXNzYWdlcyBhcmUgYmFzZWQgb24gdGhlIGRlZmluaXRpb24gb2Ygcm9hZCBndWlkYW5jZSB1c2UgY2FzZXMgYXMgZG9jdW1lbnRlZCBpbiBJU08gMTMxODQ/MS4gVGhpcyBwYXJ0IG9mIElTTyAxMzE4NCBpbXBsZW1lbnRzIElUUy1TVSBvYmplY3RzLCB3aGljaCBpcyBhIGdlbmVyYWwgcmVmZXJlbmNlIHRvIElUUyBhcHBsaWNhdGlvbiBvYmplY3RzLCBJVFMgbWVzc2FnZSBzZXRzIGFuZCBvdGhlciBvYmplY3RzIHdoaWNoIG1heSByZXF1aXJlIGdsb2JhbGx5IHVuaXF1ZSBpZGVudGlmaWNhdGlvbiBhbmQgcmVnaXN0cmF0aW9uLiBUaGUgbWFuYWdlbWVudCBvZiBJVFMtU1Ugb2JqZWN0cyBpcyBtYW55LWZvbGQsIGUuZy4gc3BlY2lmaWVkIGluIElTTyAyNDEwMj80LCBJU08gMjQxMDI/NSwgSVNPIDI0MTAyPzYsIElTTyAyNDEwMj83LCBJU08gMjQxMDI/OCBhbmQgSVNPIDI0MTAyPzksIGFuZCBpbiBDRU4vSVNPL1RTIDE3NDIzLiBUaGlzIHBhcnQgb2YgSVNPIDEzMTg0IGltcGxlbWVudHMgYXV0aG9yaXplZCBhbmQgY29udHJvbGxlZCBvcGVyYXRpb24gb2YgSVRTLVNVIG9iamVjdHMsIHdoaWNoIHJlcXVpcmVzIGNvbnNpZGVyYXRpb25zIG9mIElUUy1TVSBvYmplY3QgaWRlbnRpZmllcnMsIGkuZS4gSVRTLUFJRCwgSVRTLU1zZ1NldElELCBJVFMtU1VJRCwgSVRTLVNDVUlELCBhZGRyZXNzZXMgYW5kIHByb3RvY29sIGlkZW50aWZpZXJzIHVzZWQgaW4gdGhlIGNvbW11bmljYXRpb24gcHJvdG9jb2wgc3RhY2sgb2YgYW4gSVRTLVMsIGFuZCBvdGhlcnMuIE5PVEUgICAgICAgICAgVGhlIGFjY3VyYWN5IG9mIHRoZSBuYXZpZ2F0aW9uIGFuZCBwb3NpdGlvbmluZyBzeXN0ZW0gYXMgaW5wdXQgdG8gdGhlIFJvYWQgR3VpZGFuY2UgYXBwbGljYXRpb24gaXMgaW1wb3J0YW50IGZvciByb2FkIGd1aWRhbmNlIGJ1dCBpcyBub3QgcGFydCBvZiB0aGUgSVNPIDEzMTg0IHNlcmllcy4gRGV0YWlsZWQgaW5mb3JtYXRpb24gYWJvdXQgY3Jvc3Nyb2FkcyBpcyBuZWVkZWQgZm9yIGltcGxlbWVudGF0aW9uIG9mIFJvYWQgR3VpZGFuY2UgYXBwbGljYXRpb25zLiAiLCJvYmplY3RJRCI6IjYxNTczXzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjg0LTI6MjAxNiBJbnRlbGxpZ2VudCB0cmFuc3BvcnQgc3lzdGVtcyAoSVRTKSDigJQgR3VpZGFuY2UgcHJvdG9jb2wgdmlhIHBlcnNvbmFsIElUUyBzdGF0aW9uIGZvciBhZHZpc29yeSBzYWZldHkgc3lzdGVtcyDigJQgUGFydCAyOiBSb2FkIGd1aWRhbmNlIHByb3RvY29sIChSR1ApIHJlcXVpcmVtZW50cyBhbmQgc3BlY2lmaWNhdGlvbiIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+ODQtMjoyMDE2IHNwZWNpZmllcyB0aGUgcm9hZCBndWlkYW5jZSB1c2UgY2FzZXMgb24gdGhlIERYTSB0byBwcm92aWRlIHRoZSByZWFsLXRpbWUgZGVjaXNpb24gc3VwcG9ydCBzeXN0ZW0gdG8gZHJpdmVycyBvciBwZWRlc3RyaWFucyB1c2luZyBQLUlUUy1TLiBUaGUgcm9hZCBndWlkYW5jZSBwcm90b2NvbCAoUkdQKSBpcyBhbiBpbnN0YW50aWF0aW9uIG9mIHRoZSBkYXRhIGV4Y2hhbmdlIG1lc3NhZ2UgKERYTSksIHdoaWNoIHJlcHJlc2VudHMgYSBnZW5lcmljIG1lc3NhZ2UgdG8gZXhjaGFuZ2UgZGF0YSBiZXR3ZWVuIElUUyBzdGF0aW9ucy4gVGhlIFJHUCBkZWZpbmVzIGFuIGludGVyb3BlcmFibGUgc2VydmljZSBwcm90b2NvbCBiZXR3ZWVuIFAtSVRTLVMgYW5kIFItSVRTLVMgZm9yIGV4Y2hhbmdpbmcgZGF0YSBlbGVtZW50cy4gVGhpcyBwYXJ0IG9mIDxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT44NCBzcGVjaWZpZXMgdGhlIGZvbGxvd2luZzogLSAgICAgIFJlZmVyZW5jZSBhcmNoaXRlY3R1cmUgZm9yIHJlYWwtdGltZSBkZWNpc2lvbiBzdXBwb3J0IHN5c3RlbS4gVGhpcyByZWZlcmVuY2UgYXJjaGl0ZWN0dXJlIHByb3ZpZGVzIGEgZ2VuZXJhbCBzdHJ1Y3R1cmUgZm9yIHRoZSByZWFsLXRpbWUgZGVjaXNpb24gc3VwcG9ydCBzeXN0ZW0gYW5kIHRoZSBtZXRob2Qgb2YgbWVzc2FnZSBleGNoYW5nZSBiZXR3ZWVuIHRoZSBQLUlUUy1TIGFuZCB0aGUgUi1JVFMtUy4gVGhpcyByZWZlcmVuY2UgYXJjaGl0ZWN0dXJlIGlzIHVzZWQgdG8gYnVpbGQgdGhlIGludGVyY29ubmVjdGlvbnMgYmV0d2VlbiB0aGUgUC1JVFMtUyBhbmQgdGhlIFItSVRTLVMuIC0gICAgICBUZWNobmlxdWUgb2YgYXBwbGljYXRpb24gcHJvdG9jb2wgZGVzaWduIGZvciB2YXJpb3VzIHVzZSBjYXNlcyBvbiBhIFAtSVRTLVMuIFRoaXMgdGVjaG5pcXVlIGFkb3B0cyBhIGZsZXhpYmxlIGFuZCBleHRlbmRhYmxlIHByb3RvY29sIGRlc2lnbi4gSW4gbWFueSBjYXNlcywgdGhlIGFwcGxpY2F0aW9uIHByb3RvY29sIGZvciB0aGUgSVRTIGlzIGRlc2lnbmVkIHRvIHByb3ZpZGUgYSBzZXQgb2YgbWVzc2FnZXMgdGhhdCBpcyBkZXBlbmRlbnQgb24gdGhlIHVzZSBjYXNlcyBhbmQgdGhlIG1lc3NhZ2UgZXhjaGFuZ2UgbWV0aG9kLiBIb3dldmVyLCBpdCBpcyBub3QgZWFzeSB0byBlbnVtZXJhdGUgYWxsIHVzZSBjYXNlcyBmb3Igc29tZSBhcHBsaWNhdGlvbnMuIFRoZSB1c2UgY2FzZXMgY2FuIGJlIGNoYW5nZWQgb3IgZW5oYW5jZWQgZnJlcXVlbnRseS4gRm9yIHRoaXMgdHlwZSBvZiBhcHBsaWNhdGlvbiwgdGhlIHByb3RvY29sIGRlc2lnbiwgZGVwZW5kaW5nIG9uIHRoZSB1c2UgY2FzZXMsIGlzIG5vdCBhcHByb3ByaWF0ZS4gVGhpcyBwYXJ0IG9mIDxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT44NCBwcm92aWRlcyBhIGdlbmVyYWwgdGVjaG5pcXVlIG9mIGRlc2lnbmluZyB0aGUgcm9hZCBndWlkYW5jZSBhcHBsaWNhdGlvbiBwcm90b2NvbCBiYXNlZCBvbiB0aGUgdXNlIGNhc2VzLiAtICAgICAgUHJpbWl0aXZlIGRhdGEgZWxlbWVudC4gVGhlIHByaW1pdGl2ZSBkYXRhIGVsZW1lbnQgd2lsbCBiZSBjb21tb25seSB1c2VkIHRvIGNvbmZpZ3VyZSB0aGUgc2FmZXR5IHdhcm5pbmcgYW5kIHBhcmtpbmcgZ3VpZGUgc2VydmljZSBpbiB0aGUgZm9ybSBvZiBzcGVlZCwgbG9jYXRpb24gYW5kIHRpbWUuIC0gICAgICBVc2UgY2FzZXMgYXQgdGhlIHJvYWQgYW5kIHBhcmtpbmcgc3BhY2VzIGZvciB3YXJuaW5nIGFuZCBwYXJraW5nIGd1aWRlLiBUaGlzIHBhcnQgb2YgPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjg0IGRlc2NyaWJlcyB0aGUgdXNlIGNhc2VzIGFwcGxpY2FibGUgdG8gdGhlIGNvbW11bmljYXRpb24gc2VydmljZXMgYmV0d2VlbiB0aGUgUC1JVFMtUyBhbmQgdGhlIFItSVRTLVMgZm9yIHRoZSBwdXJwb3NlcyBvZiBwcm92aWRpbmcgc2FmZXR5IHdhcm5pbmcgYW5kIHBhcmtpbmcgZ3VpZGFuY2UuIDxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT44NCAoYWxsIHBhcnRzKSBoYXZlIGJlZW4gYWxpZ25lZCBhY2NvcmRpbmcgdG8gdGhlIHJlcXVpcmVtZW50cyBzcGVjaWZpZWQgaW4gPGVtPklTTzwvZW0+IDIxMjE3LCA8ZW0+SVNPPC9lbT4vVFMgMTc0MTkgYW5kIDxlbT5JU088L2VtPi9UUyAxNzQyMy4gPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjg0LTI6MjAxNiBvbmx5IHNwZWNpZmllcyB0aGUgUkdQIG1lc3NhZ2VzIGJhc2VkIG9uIHRoZSBEWE0gZGVmaW5pdGlvbiAoc2VlIEFubmV4IEIgYW5kIEFubmV4IEMpIGF0IHJlYWwtdGltZS4gVGhlIGNvbnRlbnQgb2YgdGhlIFJHUCBtZXNzYWdlcyBhcmUgYmFzZWQgb24gdGhlIGRlZmluaXRpb24gb2Ygcm9hZCBndWlkYW5jZSB1c2UgY2FzZXMgYXMgZG9jdW1lbnRlZCBpbiA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+ODQ/MS4gVGhpcyBwYXJ0IG9mIDxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT44NCBpbXBsZW1lbnRzIElUUy1TVSBvYmplY3RzLCB3aGljaCBpcyBhIGdlbmVyYWwgcmVmZXJlbmNlIHRvIElUUyBhcHBsaWNhdGlvbiBvYmplY3RzLCBJVFMgbWVzc2FnZSBzZXRzIGFuZCBvdGhlciBvYmplY3RzIHdoaWNoIG1heSByZXF1aXJlIGdsb2JhbGx5IHVuaXF1ZSBpZGVudGlmaWNhdGlvbiBhbmQgcmVnaXN0cmF0aW9uLiBUaGUgbWFuYWdlbWVudCBvZiBJVFMtU1Ugb2JqZWN0cyBpcyBtYW55LWZvbGQsIGUuZy4gc3BlY2lmaWVkIGluIDxlbT5JU088L2VtPiAyNDEwMj80LCA8ZW0+SVNPPC9lbT4gMjQxMDI/NSwgPGVtPklTTzwvZW0+IDI0MTAyPzYsIDxlbT5JU088L2VtPiAyNDEwMj83LCA8ZW0+SVNPPC9lbT4gMjQxMDI/OCBhbmQgPGVtPklTTzwvZW0+IDI0MTAyPzksIGFuZCBpbiBDRU4vPGVtPklTTzwvZW0+L1RTIDE3NDIzLiBUaGlzIHBhcnQgb2YgPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjg0IGltcGxlbWVudHMgYXV0aG9yaXplZCBhbmQgY29udHJvbGxlZCBvcGVyYXRpb24gb2YgSVRTLVNVIG9iamVjdHMsIHdoaWNoIHJlcXVpcmVzIGNvbnNpZGVyYXRpb25zIG9mIElUUy1TVSBvYmplY3QgaWRlbnRpZmllcnMsIGkuZS4gSVRTLUFJRCwgSVRTLU1zZ1NldElELCBJVFMtU1VJRCwgSVRTLVNDVUlELCBhZGRyZXNzZXMgYW5kIHByb3RvY29sIGlkZW50aWZpZXJzIHVzZWQgaW4gdGhlIGNvbW11bmljYXRpb24gcHJvdG9jb2wgc3RhY2sgb2YgYW4gSVRTLVMsIGFuZCBvdGhlcnMuIE5PVEUgICAgICAgICAgVGhlIGFjY3VyYWN5IG9mIHRoZSBuYXZpZ2F0aW9uIGFuZCBwb3NpdGlvbmluZyBzeXN0ZW0gYXMgaW5wdXQgdG8gdGhlIFJvYWQgR3VpZGFuY2UgYXBwbGljYXRpb24gaXMgaW1wb3J0YW50IGZvciByb2FkIGd1aWRhbmNlIGJ1dCBpcyBub3QgcGFydCBvZiB0aGUgPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjg0IHNlcmllcy4gRGV0YWlsZWQgaW5mb3JtYXRpb24gYWJvdXQgY3Jvc3Nyb2FkcyBpcyBuZWVkZWQgZm9yIGltcGxlbWVudGF0aW9uIG9mIFJvYWQgR3VpZGFuY2UgYXBwbGljYXRpb25zLiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNi8wMS82MDE0NiIsInV1aWQiOiJjNTkyZjI0Yi1lYjRlLTQ2NjMtYTAxMC04YzRkZGU5MWUyODUiLCJ0aXRsZSI6IklTTyAxMzE2NS0zOjIwMTYgV2F0ZXIgcXVhbGl0eSDigJQgUmFkaXVtLTIyNiDigJQgUGFydCAzOiBUZXN0IG1ldGhvZCB1c2luZyBjb3ByZWNpcGl0YXRpb24gYW5kIGdhbW1hLXNwZWN0cm9tZXRyeSIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMjEsIm9yZGVyIjoxMSwidGV4dCI6IklTTyAxMzE2NS0zOjIwMTYgc3BlY2lmaWVzIHRoZSBkZXRlcm1pbmF0aW9uIG9mIHJhZGl1bS0yMjYgKDIyNlJhKSBhY3Rpdml0eSBjb25jZW50cmF0aW9uIGluIGFsbCB0eXBlcyBvZiB3YXRlciBieSBjb3ByZWNpcGl0YXRpb24gZm9sbG93ZWQgYnkgZ2FtbWEtc3BlY3Ryb21ldHJ5IChzZWUgSVNPIDE4NTg54oCRMykuIFRoZSBtZXRob2QgZGVzY3JpYmVkIGlzIHN1aXRhYmxlIGZvciBkZXRlcm1pbmF0aW9uIG9mIHNvbHVibGUgMjI2UmEgYWN0aXZpdHkgY29uY2VudHJhdGlvbnMgZ3JlYXRlciB0aGFuIDAsMDIgQnEgbOKIkjEgdXNpbmcgYSBzYW1wbGUgdm9sdW1lIG9mIDEgbCB0byAxMDAgbCBvZiBhbnkgd2F0ZXIgdHlwZS4gRm9yIHdhdGVyIHNhbXBsZXMgc21hbGxlciB0aGFuIGEgdm9sdW1lIG9mIDEgbCwgZGlyZWN0IGdhbW1hLXNwZWN0cm9tZXRyeSBjYW4gYmUgcGVyZm9ybWVkIGZvbGxvd2luZyBJU08gMTA3MDMgd2l0aCBhIGhpZ2hlciBkZXRlY3Rpb24gbGltaXQuIE5PVEUgICAgICAgICAgVGhpcyB0ZXN0IG1ldGhvZCBhbHNvIGFsbG93cyBvdGhlciBpc290b3BlcyBvZiByYWRpdW0sIDIyM1JhLCAyMjRSYSwgYW5kIDIyOFJhLCB0byBiZSBkZXRlcm1pbmVkLiAiLCJvYmplY3RJRCI6IjYwMTQ2XzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjY1LTM6MjAxNiBXYXRlciBxdWFsaXR5IOKAlCBSYWRpdW0tMjI2IOKAlCBQYXJ0IDM6IFRlc3QgbWV0aG9kIHVzaW5nIGNvcHJlY2lwaXRhdGlvbiBhbmQgZ2FtbWEtc3BlY3Ryb21ldHJ5IiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT42NS0zOjIwMTYgc3BlY2lmaWVzIHRoZSBkZXRlcm1pbmF0aW9uIG9mIHJhZGl1bS0yMjYgKDIyNlJhKSBhY3Rpdml0eSBjb25jZW50cmF0aW9uIGluIGFsbCB0eXBlcyBvZiB3YXRlciBieSBjb3ByZWNpcGl0YXRpb24gZm9sbG93ZWQgYnkgZ2FtbWEtc3BlY3Ryb21ldHJ5IChzZWUgPGVtPklTTzwvZW0+IDE4NTg54oCRMykuIFRoZSBtZXRob2QgZGVzY3JpYmVkIGlzIHN1aXRhYmxlIGZvciBkZXRlcm1pbmF0aW9uIG9mIHNvbHVibGUgMjI2UmEgYWN0aXZpdHkgY29uY2VudHJhdGlvbnMgZ3JlYXRlciB0aGFuIDAsMDIgQnEgbOKIkjEgdXNpbmcgYSBzYW1wbGUgdm9sdW1lIG9mIDEgbCB0byAxMDAgbCBvZiBhbnkgd2F0ZXIgdHlwZS4gRm9yIHdhdGVyIHNhbXBsZXMgc21hbGxlciB0aGFuIGEgdm9sdW1lIG9mIDEgbCwgZGlyZWN0IGdhbW1hLXNwZWN0cm9tZXRyeSBjYW4gYmUgcGVyZm9ybWVkIGZvbGxvd2luZyA8ZW0+SVNPPC9lbT4gMTA3MDMgd2l0aCBhIGhpZ2hlciBkZXRlY3Rpb24gbGltaXQuIE5PVEUgICAgICAgICAgVGhpcyB0ZXN0IG1ldGhvZCBhbHNvIGFsbG93cyBvdGhlciBpc290b3BlcyBvZiByYWRpdW0sIDIyM1JhLCAyMjRSYSwgYW5kIDIyOFJhLCB0byBiZSBkZXRlcm1pbmVkLiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNS8zNC81MzQwOCIsInV1aWQiOiIwM2I4OTU4Yy1lMDliLTQ0N2YtYjYxMS0xZjIwMjg2ZmUwZGQiLCJ0aXRsZSI6IklTTyAxMzE2NzoyMDE1IFdhdGVyIHF1YWxpdHkg4oCUIFBsdXRvbml1bSwgYW1lcmljaXVtLCBjdXJpdW0gYW5kIG5lcHR1bml1bSDigJQgVGVzdCBtZXRob2QgdXNpbmcgYWxwaGEgc3BlY3Ryb21ldHJ5Iiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAyMSwib3JkZXIiOjExLCJ0ZXh0IjoiSVNPIDEzMTY3OjIwMTUgc3BlY2lmaWVzIGEgdGVzdCBtZXRob2QgZm9yIG1lYXN1cmluZyBhY3RpbmlkZXMgKCAyMzggUHUsIDIzOSsyNDAgUHUsIDI0MSBBbSwgMjQyIENtLCAyNDMrMjQ0IENtIGFuZCAyMzcgTnApIGluIHdhdGVyIHNhbXBsZXMgYnkgYWxwaGEgc3BlY3Ryb21ldHJ5IGZvbGxvd2luZyBhIGNoZW1pY2FsIHNlcGFyYXRpb24uIFRoZSBtZXRob2QgY2FuIGJlIHVzZWQgZm9yIGFueSB0eXBlIG9mIGVudmlyb25tZW50YWwgc3R1ZHkgb3IgbW9uaXRvcmluZy4gVGhlIHZvbHVtZSBvZiB0aGUgdGVzdCBwb3J0aW9uIHJlcXVpcmVkIGRlcGVuZHMgb24gdGhlIGFzc3VtZWQgYWN0aXZpdHkgb2YgdGhlIHNhbXBsZSBhbmQgdGhlIGRlc2lyZWQgZGV0ZWN0aW9uIGxpbWl0LiBUaGUgZGV0ZWN0aW9uIGxpbWl0IG9mIHRoZSB0ZXN0IG1ldGhvZCBpcyA1IMOXIDEwIOKIkjMgdG8gNSDDlyAxMCDiiJI0IEJxL2wgZm9yIGEgdm9sdW1lIG9mIHRoZSB0ZXN0IHBvcnRpb24gb2YgMCwxIGwgdG8gNSBsIHdpdGggYSBjb3VudGluZyB0aW1lIG9mIHR3byB0byB0ZW4gZGF5cy4gIiwib2JqZWN0SUQiOiI1MzQwOF8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT42NzoyMDE1IFdhdGVyIHF1YWxpdHkg4oCUIFBsdXRvbml1bSwgYW1lcmljaXVtLCBjdXJpdW0gYW5kIG5lcHR1bml1bSDigJQgVGVzdCBtZXRob2QgdXNpbmcgYWxwaGEgc3BlY3Ryb21ldHJ5IiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT42NzoyMDE1IHNwZWNpZmllcyBhIHRlc3QgbWV0aG9kIGZvciBtZWFzdXJpbmcgYWN0aW5pZGVzICggMjM4IFB1LCAyMzkrMjQwIFB1LCAyNDEgQW0sIDI0MiBDbSwgMjQzKzI0NCBDbSBhbmQgMjM3IE5wKSBpbiB3YXRlciBzYW1wbGVzIGJ5IGFscGhhIHNwZWN0cm9tZXRyeSBmb2xsb3dpbmcgYSBjaGVtaWNhbCBzZXBhcmF0aW9uLiBUaGUgbWV0aG9kIGNhbiBiZSB1c2VkIGZvciBhbnkgdHlwZSBvZiBlbnZpcm9ubWVudGFsIHN0dWR5IG9yIG1vbml0b3JpbmcuIFRoZSB2b2x1bWUgb2YgdGhlIHRlc3QgcG9ydGlvbiByZXF1aXJlZCBkZXBlbmRzIG9uIHRoZSBhc3N1bWVkIGFjdGl2aXR5IG9mIHRoZSBzYW1wbGUgYW5kIHRoZSBkZXNpcmVkIGRldGVjdGlvbiBsaW1pdC4gVGhlIGRldGVjdGlvbiBsaW1pdCBvZiB0aGUgdGVzdCBtZXRob2QgaXMgNSDDlyAxMCDiiJIzIHRvIDUgw5cgMTAg4oiSNCBCcS9sIGZvciBhIHZvbHVtZSBvZiB0aGUgdGVzdCBwb3J0aW9uIG9mIDAsMSBsIHRvIDUgbCB3aXRoIGEgY291bnRpbmcgdGltZSBvZiB0d28gdG8gdGVuIGRheXMuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA1LzMwLzUzMDU0IiwidXVpZCI6IjY3ODE2ODg0LTdjNTEtNGU1ZS1iZDZjLTZlZTFhZmVhNWE4ZCIsInRpdGxlIjoiSVNPIDEzMTMyOjIwMTEgTGFib3JhdG9yeSBnbGFzc3dhcmUg4oCUIFBldHJpIGRpc2hlcyIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMjEsIm9yZGVyIjoxMSwidGV4dCI6IklTTyAxMzEzMjoyMDExIHNwZWNpZmllcyByZXF1aXJlbWVudHMgYW5kIHRlc3RzIGZvciBnbGFzcyBQZXRyaSBkaXNoZXMgaW50ZW5kZWQgZm9yIGdlbmVyYWwgbGFib3JhdG9yeSBwdXJwb3NlcyBhbmQgbWljcm9iaW9sb2dpY2FsIHdvcmsuICIsIm9iamVjdElEIjoiNTMwNTRfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+MzI6MjAxMSBMYWJvcmF0b3J5IGdsYXNzd2FyZSDigJQgUGV0cmkgZGlzaGVzIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT4zMjoyMDExIHNwZWNpZmllcyByZXF1aXJlbWVudHMgYW5kIHRlc3RzIGZvciBnbGFzcyBQZXRyaSBkaXNoZXMgaW50ZW5kZWQgZm9yIGdlbmVyYWwgbGFib3JhdG9yeSBwdXJwb3NlcyBhbmQgbWljcm9iaW9sb2dpY2FsIHdvcmsuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA1LzMwLzUzMDA3IiwidXVpZCI6ImQyY2NmMmJjLTU5ZGYtNDE3YS1hNWRlLTIzOWI0YmNkNDBmZSIsInRpdGxlIjoiSVNPIDEzMTI0OjIwMTEgRmluZSBjZXJhbWljcyAoYWR2YW5jZWQgY2VyYW1pY3MsIGFkdmFuY2VkIHRlY2huaWNhbCBjZXJhbWljcykg4oCUIFRlc3QgbWV0aG9kIGZvciBpbnRlcmZhY2lhbCBib25kIHN0cmVuZ3RoIG9mIGNlcmFtaWMgbWF0ZXJpYWxzIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAyMSwib3JkZXIiOjExLCJ0ZXh0IjoiSVNPIDEzMTI0OjIwMTEgc3BlY2lmaWVzIGEgdGVzdCBtZXRob2QgZm9yIGRldGVybWluaW5nIHRoZSBpbnRlcmZhY2lhbCB0ZW5zaWxlIGFuZCBzaGVhciBib25kIHN0cmVuZ3RoIG9mIGNlcmFtaWMtY2VyYW1pYywgY2VyYW1pYy1tZXRhbCwgYW5kIGNlcmFtaWMtZ2xhc3Mgam9pbmluZyBhdCBhbWJpZW50IHRlbXBlcmF0dXJlIGJ5IGNvbXByZXNzaW9uIHRlc3RzIG9uIGNyb3NzLWJvbmRlZCB0ZXN0IHBpZWNlcy4gTWV0aG9kcyBmb3IgdGVzdC1waWVjZSBwcmVwYXJhdGlvbiwgdGVzdCBtb2RlcyBhbmQgcmF0ZXMgKGxvYWQgcmF0ZSBvciBkaXNwbGFjZW1lbnQgcmF0ZSksIGRhdGEgY29sbGVjdGlvbiBhbmQgcmVwb3J0aW5nIHByb2NlZHVyZXMgYXJlIGFkZHJlc3NlZC4gSVNPIDEzMTI0OjIwMTEgYXBwbGllcyBwcmltYXJpbHkgdG8gY2VyYW1pYyBtYXRlcmlhbHMsIGluY2x1ZGluZyBtb25vbGl0aGljIGZpbmUgY2VyYW1pY3MgYW5kIHdoaXNrZXItLCBmaWJyZS0gb3IgcGFydGljdWxhdGUtcmVpbmZvcmNlZCBjZXJhbWljIGNvbXBvc2l0ZXMuIFRoaXMgdGVzdCBtZXRob2QgY2FuIGJlIHVzZWQgZm9yIG1hdGVyaWFscyByZXNlYXJjaCwgcXVhbGl0eSBjb250cm9sLCBhbmQgY2hhcmFjdGVyaXphdGlvbiBhbmQgZGVzaWduIGRhdGEgZ2VuZXJhdGlvbiBwdXJwb3Nlcy4gIiwib2JqZWN0SUQiOiI1MzAwN18wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT4yNDoyMDExIEZpbmUgY2VyYW1pY3MgKGFkdmFuY2VkIGNlcmFtaWNzLCBhZHZhbmNlZCB0ZWNobmljYWwgY2VyYW1pY3MpIOKAlCBUZXN0IG1ldGhvZCBmb3IgaW50ZXJmYWNpYWwgYm9uZCBzdHJlbmd0aCBvZiBjZXJhbWljIG1hdGVyaWFscyIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+MjQ6MjAxMSBzcGVjaWZpZXMgYSB0ZXN0IG1ldGhvZCBmb3IgZGV0ZXJtaW5pbmcgdGhlIGludGVyZmFjaWFsIHRlbnNpbGUgYW5kIHNoZWFyIGJvbmQgc3RyZW5ndGggb2YgY2VyYW1pYy1jZXJhbWljLCBjZXJhbWljLW1ldGFsLCBhbmQgY2VyYW1pYy1nbGFzcyBqb2luaW5nIGF0IGFtYmllbnQgdGVtcGVyYXR1cmUgYnkgY29tcHJlc3Npb24gdGVzdHMgb24gY3Jvc3MtYm9uZGVkIHRlc3QgcGllY2VzLiBNZXRob2RzIGZvciB0ZXN0LXBpZWNlIHByZXBhcmF0aW9uLCB0ZXN0IG1vZGVzIGFuZCByYXRlcyAobG9hZCByYXRlIG9yIGRpc3BsYWNlbWVudCByYXRlKSwgZGF0YSBjb2xsZWN0aW9uIGFuZCByZXBvcnRpbmcgcHJvY2VkdXJlcyBhcmUgYWRkcmVzc2VkLiA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+MjQ6MjAxMSBhcHBsaWVzIHByaW1hcmlseSB0byBjZXJhbWljIG1hdGVyaWFscywgaW5jbHVkaW5nIG1vbm9saXRoaWMgZmluZSBjZXJhbWljcyBhbmQgd2hpc2tlci0sIGZpYnJlLSBvciBwYXJ0aWN1bGF0ZS1yZWluZm9yY2VkIGNlcmFtaWMgY29tcG9zaXRlcy4gVGhpcyB0ZXN0IG1ldGhvZCBjYW4gYmUgdXNlZCBmb3IgbWF0ZXJpYWxzIHJlc2VhcmNoLCBxdWFsaXR5IGNvbnRyb2wsIGFuZCBjaGFyYWN0ZXJpemF0aW9uIGFuZCBkZXNpZ24gZGF0YSBnZW5lcmF0aW9uIHB1cnBvc2VzLiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wOC8wMC84MDAzNyIsInV1aWQiOiIzMjVjMzEzOC1kOTZiLTRlZTEtYWRkMi03MTIyZDhlZTA2NDIiLCJ0aXRsZSI6IklTTyAxMzE2NjoyMDIwIFdhdGVyIHF1YWxpdHkg4oCUIFVyYW5pdW0gaXNvdG9wZXMg4oCUIFRlc3QgbWV0aG9kIHVzaW5nIGFscGhhLXNwZWN0cm9tZXRyeSIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMjAsIm9yZGVyIjoxMSwidGV4dCI6IlRoaXMgZG9jdW1lbnQgc3BlY2lmaWVzIHRoZSBjb25kaXRpb25zIGZvciB0aGUgZGV0ZXJtaW5hdGlvbiBvZiB1cmFuaXVtIGlzb3RvcGUgYWN0aXZpdHkgY29uY2VudHJhdGlvbiBpbiBzYW1wbGVzIG9mIGVudmlyb25tZW50YWwgd2F0ZXIgKGluY2x1ZGluZyBzZWEgd2F0ZXJzKSB1c2luZyBhbHBoYS1zcGVjdHJvbWV0cnkgYW5kIDIzMiBVIGFzIGEgeWllbGQgdHJhY2VyLiBBIGNoZW1pY2FsIHNlcGFyYXRpb24gaXMgcmVxdWlyZWQgdG8gc2VwYXJhdGUgYW5kIHB1cmlmeSB1cmFuaXVtIGZyb20gYSB0ZXN0IHBvcnRpb24gb2YgdGhlIHNhbXBsZS4gIiwib2JqZWN0SUQiOiI4MDAzN18wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT42NjoyMDIwIFdhdGVyIHF1YWxpdHkg4oCUIFVyYW5pdW0gaXNvdG9wZXMg4oCUIFRlc3QgbWV0aG9kIHVzaW5nIGFscGhhLXNwZWN0cm9tZXRyeSIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiJUaGlzIGRvY3VtZW50IHNwZWNpZmllcyB0aGUgY29uZGl0aW9ucyBmb3IgdGhlIGRldGVybWluYXRpb24gb2YgdXJhbml1bSBpc290b3BlIGFjdGl2aXR5IGNvbmNlbnRyYXRpb24gaW4gc2FtcGxlcyBvZiBlbnZpcm9ubWVudGFsIHdhdGVyIChpbmNsdWRpbmcgc2VhIHdhdGVycykgdXNpbmcgYWxwaGEtc3BlY3Ryb21ldHJ5IGFuZCAyMzIgVSBhcyBhIHlpZWxkIHRyYWNlci4gQSBjaGVtaWNhbCBzZXBhcmF0aW9uIGlzIHJlcXVpcmVkIHRvIHNlcGFyYXRlIGFuZCBwdXJpZnkgdXJhbml1bSBmcm9tIGEgdGVzdCBwb3J0aW9uIG9mIHRoZSBzYW1wbGUuICIsIm1hdGNoTGV2ZWwiOiJub25lIiwibWF0Y2hlZFdvcmRzIjpbXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA3LzQ3Lzc0Nzc2IiwidXVpZCI6IjU0YjBjMmMwLTY0NDItNDc0NC04MmY5LTA3Y2I4MGZiMDk4OSIsInRpdGxlIjoiSVNPIDEzMTYxOjIwMjAgV2F0ZXIgcXVhbGl0eSDigJQgUG9sb25pdW0gMjEwIOKAlCBUZXN0IG1ldGhvZCB1c2luZyBhbHBoYSBzcGVjdHJvbWV0cnkiLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDIwLCJvcmRlciI6MTEsInRleHQiOiJUaGlzIGRvY3VtZW50IHNwZWNpZmllcyBhIG1ldGhvZCBmb3IgdGhlIG1lYXN1cmVtZW50IG9mIDIxMCBQbyBpbiBhbGwgdHlwZXMgb2Ygd2F0ZXJzIGJ5IGFscGhhIHNwZWN0cm9tZXRyeS4gVGhlIG1ldGhvZCBpcyBhcHBsaWNhYmxlIHRvIHRlc3Qgc2FtcGxlcyBvZiBzdXBwbHkvZHJpbmtpbmcgd2F0ZXIsIHJhaW53YXRlciwgc3VyZmFjZSBhbmQgZ3JvdW5kIHdhdGVyLCBtYXJpbmUgd2F0ZXIsIGFzIHdlbGwgYXMgY29vbGluZyB3YXRlciwgaW5kdXN0cmlhbCB3YXRlciwgZG9tZXN0aWMsIGFuZCBpbmR1c3RyaWFsIHdhc3Rld2F0ZXIgYWZ0ZXIgcHJvcGVyIHNhbXBsaW5nIGFuZCBoYW5kbGluZywgYW5kIHRlc3Qgc2FtcGxlIHByZXBhcmF0aW9uLiBGaWx0cmF0aW9uIG9mIHRoZSB0ZXN0IHNhbXBsZSBtYXkgYmUgcmVxdWlyZWQuIFRoZSBkZXRlY3Rpb24gbGltaXQgZGVwZW5kcyBvbiB0aGUgc2FtcGxlIHZvbHVtZSwgdGhlIGluc3RydW1lbnQgdXNlZCwgdGhlIGNvdW50aW5nIHRpbWUsIHRoZSBiYWNrZ3JvdW5kIGNvdW50IHJhdGUsIHRoZSBkZXRlY3Rpb24gZWZmaWNpZW5jeSBhbmQgdGhlIGNoZW1pY2FsIHlpZWxkLiBUaGUgbWV0aG9kIGRlc2NyaWJlZCBpbiB0aGlzIGRvY3VtZW50LCB1c2luZyBjdXJyZW50bHkgYXZhaWxhYmxlIGFscGhhIHNwZWN0cm9tZXRyeSBhcHBhcmF0dXMsIGhhcyBhIGRldGVjdGlvbiBsaW1pdCBvZiBhcHByb3hpbWF0ZWx5IDUgbUJxIGwg4oiSMSAsIHdoaWNoIGlzIGxvd2VyIHRoYW4gdGhlIFdITyBjcml0ZXJpYSBmb3Igc2FmZSBjb25zdW1wdGlvbiBvZiBkcmlua2luZyB3YXRlciAoMTAwIG1CcSBsIOKIkjEgKS4gVGhpcyB2YWx1ZSBjYW4gYmUgYWNoaWV2ZWQgd2l0aCBhIGNvdW50aW5nIHRpbWUgb2YgMjQgaCBmb3IgYSBzYW1wbGUgdm9sdW1lIG9mIDUwMCBtbC4gVGhlIG1ldGhvZCBkZXNjcmliZWQgaW4gdGhpcyBkb2N1bWVudCBpcyBhbHNvIGFwcGxpY2FibGUgaW4gYW4gZW1lcmdlbmN5IHNpdHVhdGlvbi4gVGhlIGFuYWx5c2lzIG9mIDIxMCBQbyBhZHNvcmJlZCB0byBzdXNwZW5kZWQgbWF0dGVyIGluIHRoZSBzYW1wbGUgaXMgbm90IGNvdmVyZWQgYnkgdGhpcyBtZXRob2QuIElmIHN1c3BlbmRlZCBtYXRlcmlhbCBoYXMgdG8gYmUgcmVtb3ZlZCBvciBhbmFseXNlZCwgZmlsdHJhdGlvbiB1c2luZyBhIDAsNDUgzrxtIGZpbHRlciBpcyByZWNvbW1lbmRlZC4gVGhlIGFuYWx5c2lzIG9mIHRoZSBpbnNvbHVibGUgZnJhY3Rpb24gcmVxdWlyZXMgYSBtaW5lcmFsaXphdGlvbiBzdGVwIHRoYXQgaXMgbm90IGNvdmVyZWQgYnkgdGhpcyBkb2N1bWVudCBbMTNdIC4gSW4gdGhpcyBjYXNlLCB0aGUgbWVhc3VyZW1lbnQgaXMgbWFkZSBvbiB0aGUgZGlmZmVyZW50IHBoYXNlcyBvYnRhaW5lZC4gVGhlIGZpbmFsIGFjdGl2aXR5IGlzIHRoZSBzdW0gb2YgYWxsIHRoZSBtZWFzdXJlZCBhY3Rpdml0eSBjb25jZW50cmF0aW9ucy4gSXQgaXMgdGhlIHVzZXIncyByZXNwb25zaWJpbGl0eSB0byBlbnN1cmUgdGhlIHZhbGlkaXR5IG9mIHRoaXMgdGVzdCBtZXRob2QgZm9yIHRoZSB3YXRlciBzYW1wbGVzIHRlc3RlZC4gIiwib2JqZWN0SUQiOiI3NDc3Nl8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT42MToyMDIwIFdhdGVyIHF1YWxpdHkg4oCUIFBvbG9uaXVtIDIxMCDigJQgVGVzdCBtZXRob2QgdXNpbmcgYWxwaGEgc3BlY3Ryb21ldHJ5IiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IlRoaXMgZG9jdW1lbnQgc3BlY2lmaWVzIGEgbWV0aG9kIGZvciB0aGUgbWVhc3VyZW1lbnQgb2YgMjEwIFBvIGluIGFsbCB0eXBlcyBvZiB3YXRlcnMgYnkgYWxwaGEgc3BlY3Ryb21ldHJ5LiBUaGUgbWV0aG9kIGlzIGFwcGxpY2FibGUgdG8gdGVzdCBzYW1wbGVzIG9mIHN1cHBseS9kcmlua2luZyB3YXRlciwgcmFpbndhdGVyLCBzdXJmYWNlIGFuZCBncm91bmQgd2F0ZXIsIG1hcmluZSB3YXRlciwgYXMgd2VsbCBhcyBjb29saW5nIHdhdGVyLCBpbmR1c3RyaWFsIHdhdGVyLCBkb21lc3RpYywgYW5kIGluZHVzdHJpYWwgd2FzdGV3YXRlciBhZnRlciBwcm9wZXIgc2FtcGxpbmcgYW5kIGhhbmRsaW5nLCBhbmQgdGVzdCBzYW1wbGUgcHJlcGFyYXRpb24uIEZpbHRyYXRpb24gb2YgdGhlIHRlc3Qgc2FtcGxlIG1heSBiZSByZXF1aXJlZC4gVGhlIGRldGVjdGlvbiBsaW1pdCBkZXBlbmRzIG9uIHRoZSBzYW1wbGUgdm9sdW1lLCB0aGUgaW5zdHJ1bWVudCB1c2VkLCB0aGUgY291bnRpbmcgdGltZSwgdGhlIGJhY2tncm91bmQgY291bnQgcmF0ZSwgdGhlIGRldGVjdGlvbiBlZmZpY2llbmN5IGFuZCB0aGUgY2hlbWljYWwgeWllbGQuIFRoZSBtZXRob2QgZGVzY3JpYmVkIGluIHRoaXMgZG9jdW1lbnQsIHVzaW5nIGN1cnJlbnRseSBhdmFpbGFibGUgYWxwaGEgc3BlY3Ryb21ldHJ5IGFwcGFyYXR1cywgaGFzIGEgZGV0ZWN0aW9uIGxpbWl0IG9mIGFwcHJveGltYXRlbHkgNSBtQnEgbCDiiJIxICwgd2hpY2ggaXMgbG93ZXIgdGhhbiB0aGUgV0hPIGNyaXRlcmlhIGZvciBzYWZlIGNvbnN1bXB0aW9uIG9mIGRyaW5raW5nIHdhdGVyICgxMDAgbUJxIGwg4oiSMSApLiBUaGlzIHZhbHVlIGNhbiBiZSBhY2hpZXZlZCB3aXRoIGEgY291bnRpbmcgdGltZSBvZiAyNCBoIGZvciBhIHNhbXBsZSB2b2x1bWUgb2YgNTAwIG1sLiBUaGUgbWV0aG9kIGRlc2NyaWJlZCBpbiB0aGlzIGRvY3VtZW50IGlzIGFsc28gYXBwbGljYWJsZSBpbiBhbiBlbWVyZ2VuY3kgc2l0dWF0aW9uLiBUaGUgYW5hbHlzaXMgb2YgMjEwIFBvIGFkc29yYmVkIHRvIHN1c3BlbmRlZCBtYXR0ZXIgaW4gdGhlIHNhbXBsZSBpcyBub3QgY292ZXJlZCBieSB0aGlzIG1ldGhvZC4gSWYgc3VzcGVuZGVkIG1hdGVyaWFsIGhhcyB0byBiZSByZW1vdmVkIG9yIGFuYWx5c2VkLCBmaWx0cmF0aW9uIHVzaW5nIGEgMCw0NSDOvG0gZmlsdGVyIGlzIHJlY29tbWVuZGVkLiBUaGUgYW5hbHlzaXMgb2YgdGhlIGluc29sdWJsZSBmcmFjdGlvbiByZXF1aXJlcyBhIG1pbmVyYWxpemF0aW9uIHN0ZXAgdGhhdCBpcyBub3QgY292ZXJlZCBieSB0aGlzIGRvY3VtZW50IFsxM10gLiBJbiB0aGlzIGNhc2UsIHRoZSBtZWFzdXJlbWVudCBpcyBtYWRlIG9uIHRoZSBkaWZmZXJlbnQgcGhhc2VzIG9idGFpbmVkLiBUaGUgZmluYWwgYWN0aXZpdHkgaXMgdGhlIHN1bSBvZiBhbGwgdGhlIG1lYXN1cmVkIGFjdGl2aXR5IGNvbmNlbnRyYXRpb25zLiBJdCBpcyB0aGUgdXNlcidzIHJlc3BvbnNpYmlsaXR5IHRvIGVuc3VyZSB0aGUgdmFsaWRpdHkgb2YgdGhpcyB0ZXN0IG1ldGhvZCBmb3IgdGhlIHdhdGVyIHNhbXBsZXMgdGVzdGVkLiAiLCJtYXRjaExldmVsIjoibm9uZSIsIm1hdGNoZWRXb3JkcyI6W119fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNy80My83NDMzNyIsInV1aWQiOiJiMDcyYzQwYS03ZTg2LTRjZGEtYjg1My00YTQwOWYzM2E4OGIiLCJ0aXRsZSI6IklTTyAxMzE4NS00OjIwMjAgSW50ZWxsaWdlbnQgdHJhbnNwb3J0IHN5c3RlbXMg4oCUIFZlaGljbGUgaW50ZXJmYWNlIGZvciBwcm92aXNpb25pbmcgYW5kIHN1cHBvcnQgb2YgSVRTIFNlcnZpY2VzIOKAlCBQYXJ0IDQ6IFVuaWZpZWQgdmVoaWNsZSBpbnRlcmZhY2UgcHJvdG9jb2wgKFVWSVApIGNvbmZvcm1hbmNlIHRlc3Qgc3BlY2lmaWNhdGlvbiIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMjAsIm9yZGVyIjoxMSwidGV4dCI6IlRoaXMgZG9jdW1lbnQgc3BlY2lmaWVzIGEgY29uZm9ybWFuY2UgdGVzdCBmb3IgYSBVVklQIHNlcnZlciBhbmQgY2xpZW50IHN5c3RlbSBkZXZlbG9wZXIgYXNzZXNzbWVudCBvZiBzZWxmLWNvbmZvcm1hbmNlIG9mIHRoZSBzdXBwbGllcidzIFVWSVAgc2VydmVyIGFuZCBjbGllbnQgc3lzdGVtLiBUaGUgY29uZm9ybWFuY2UgdGVzdCBjYXNlcyBmb2xsb3cgdGhlIHVzZSBjYXNlcyBkZWZpbml0aW9uIG9mIElTTyAxMzE4NS0xIGFuZCB0aGUgcmVxdWlyZW1lbnRzIHN0YXRlZCBpbiBJU08gMTMxODUtMiBhbmQgSVNPIDEzMTg1LTMuIFRoZSBwdXJwb3NlIG9mIHRoaXMgZG9jdW1lbnQgaXMgdG8gcHJvdmlkZSBpbmZvcm1hdGlvbiB0byB0aGUgVVZJUCBzZXJ2ZXIgYW5kIGNsaWVudCBzeXN0ZW0gcHJvdmlkZXIgdG8gYnVpbGQgYW5kIHRlc3QgdGhlIFVWSVAgc2VydmVyIGFuZCBjbGllbnQgc3lzdGVtIGFnYWluc3QgdGhlIGNvbmZvcm1hbmNlIHRlc3QgY2FzZXMuICIsIm9iamVjdElEIjoiNzQzMzdfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+ODUtNDoyMDIwIEludGVsbGlnZW50IHRyYW5zcG9ydCBzeXN0ZW1zIOKAlCBWZWhpY2xlIGludGVyZmFjZSBmb3IgcHJvdmlzaW9uaW5nIGFuZCBzdXBwb3J0IG9mIElUUyBTZXJ2aWNlcyDigJQgUGFydCA0OiBVbmlmaWVkIHZlaGljbGUgaW50ZXJmYWNlIHByb3RvY29sIChVVklQKSBjb25mb3JtYW5jZSB0ZXN0IHNwZWNpZmljYXRpb24iLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiVGhpcyBkb2N1bWVudCBzcGVjaWZpZXMgYSBjb25mb3JtYW5jZSB0ZXN0IGZvciBhIFVWSVAgc2VydmVyIGFuZCBjbGllbnQgc3lzdGVtIGRldmVsb3BlciBhc3Nlc3NtZW50IG9mIHNlbGYtY29uZm9ybWFuY2Ugb2YgdGhlIHN1cHBsaWVyJ3MgVVZJUCBzZXJ2ZXIgYW5kIGNsaWVudCBzeXN0ZW0uIFRoZSBjb25mb3JtYW5jZSB0ZXN0IGNhc2VzIGZvbGxvdyB0aGUgdXNlIGNhc2VzIGRlZmluaXRpb24gb2YgPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjg1LTEgYW5kIHRoZSByZXF1aXJlbWVudHMgc3RhdGVkIGluIDxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT44NS0yIGFuZCA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+ODUtMy4gVGhlIHB1cnBvc2Ugb2YgdGhpcyBkb2N1bWVudCBpcyB0byBwcm92aWRlIGluZm9ybWF0aW9uIHRvIHRoZSBVVklQIHNlcnZlciBhbmQgY2xpZW50IHN5c3RlbSBwcm92aWRlciB0byBidWlsZCBhbmQgdGVzdCB0aGUgVVZJUCBzZXJ2ZXIgYW5kIGNsaWVudCBzeXN0ZW0gYWdhaW5zdCB0aGUgY29uZm9ybWFuY2UgdGVzdCBjYXNlcy4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDYvMzEvNjMxMzUiLCJ1dWlkIjoiNTFhODRjNjYtYzA2Zi00ZTI1LWFkYzgtNjRjYjgyZmJmMmIzIiwidGl0bGUiOiJJU08gMTMxMTY6MjAxNCBEZW50aXN0cnkg4oCUIFRlc3QgbWV0aG9kIGZvciBkZXRlcm1pbmluZyByYWRpby1vcGFjaXR5IG9mIG1hdGVyaWFscyIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMjAsIm9yZGVyIjoxMSwidGV4dCI6IklTTyAxMzExNjoyMDE0IHNwZWNpZmllcyB0ZXN0IG1ldGhvZHMgZm9yIGRldGVybWluYXRpb24gb2YgcmFkaW8tb3BhY2l0eSBvZiBhIHRlc3QgbWF0ZXJpYWwgYnkgcmVmZXJlbmNlIHRvIGEgc3BlY2ltZW4gb2YgYW4gYWx1bWluaXVtIHN0YW5kYXJkLiBUaGUgbWV0aG9kIGlzIGRlc2lnbmVkIHRvIGRpc2NyaW1pbmF0ZSByYWRpby1vcGFjaXR5IGF0IGEgY2xpbmljYWxseSBtZWFuaW5nZnVsIGxldmVsIGFuZCBpcyBub3QgZGVzaWduZWQgdG8gdGFrZSBhY2NvdW50IG9mIGZhY3RvcnMgd2hpY2ggbWF5IGFmZmVjdCBwcmVjaXNlLCBpbmhlcmVudCB2YWx1ZXMgb2YgcmFkaW8tb3BhY2l0eSBzdWNoIGFzIGJhY2tncm91bmQgbm9pc2UsIFgtcmF5IGJlYW0gcG93ZXIsIGdyZXkgc2NhbGUgY29ycmVjdGlvbiBhbmQgaW1hZ2UgZW5oYW5jZW1lbnQuIEl0IGlzIHJlY29nbml6ZWQgdGhhdCBzdWNoIGZhY3RvcnMgY2FuIGNoYW5nZSB0aGUgdmFsdWUgb2YgcmFkaW8tb3BhY2l0eSBidXQgbm90IHRoZSByZWxhdGl2ZSByYW5raW5nIGNvbXBhcmVkIHRvIHN0YW5kYXJkIHRoaWNrbmVzc2VzIG9mIGFuIGludGVybmFsIHN0YW5kYXJkIHN1Y2ggYXMgYWx1bWluaXVtLiBUaGlzIHRlc3QgbWF5IGJlIHBlcmZvcm1lZCB3aXRoIGNvbnZlbnRpb25hbCBvciBkaWdpdGFsIHNlbnNvcmluZyB0ZWNobmlxdWVzIG9mIGRlbnRhbCBYLXJheSBhcHBhcmF0dXMuICIsIm9iamVjdElEIjoiNjMxMzVfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+MTY6MjAxNCBEZW50aXN0cnkg4oCUIFRlc3QgbWV0aG9kIGZvciBkZXRlcm1pbmluZyByYWRpby1vcGFjaXR5IG9mIG1hdGVyaWFscyIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+MTY6MjAxNCBzcGVjaWZpZXMgdGVzdCBtZXRob2RzIGZvciBkZXRlcm1pbmF0aW9uIG9mIHJhZGlvLW9wYWNpdHkgb2YgYSB0ZXN0IG1hdGVyaWFsIGJ5IHJlZmVyZW5jZSB0byBhIHNwZWNpbWVuIG9mIGFuIGFsdW1pbml1bSBzdGFuZGFyZC4gVGhlIG1ldGhvZCBpcyBkZXNpZ25lZCB0byBkaXNjcmltaW5hdGUgcmFkaW8tb3BhY2l0eSBhdCBhIGNsaW5pY2FsbHkgbWVhbmluZ2Z1bCBsZXZlbCBhbmQgaXMgbm90IGRlc2lnbmVkIHRvIHRha2UgYWNjb3VudCBvZiBmYWN0b3JzIHdoaWNoIG1heSBhZmZlY3QgcHJlY2lzZSwgaW5oZXJlbnQgdmFsdWVzIG9mIHJhZGlvLW9wYWNpdHkgc3VjaCBhcyBiYWNrZ3JvdW5kIG5vaXNlLCBYLXJheSBiZWFtIHBvd2VyLCBncmV5IHNjYWxlIGNvcnJlY3Rpb24gYW5kIGltYWdlIGVuaGFuY2VtZW50LiBJdCBpcyByZWNvZ25pemVkIHRoYXQgc3VjaCBmYWN0b3JzIGNhbiBjaGFuZ2UgdGhlIHZhbHVlIG9mIHJhZGlvLW9wYWNpdHkgYnV0IG5vdCB0aGUgcmVsYXRpdmUgcmFua2luZyBjb21wYXJlZCB0byBzdGFuZGFyZCB0aGlja25lc3NlcyBvZiBhbiBpbnRlcm5hbCBzdGFuZGFyZCBzdWNoIGFzIGFsdW1pbml1bS4gVGhpcyB0ZXN0IG1heSBiZSBwZXJmb3JtZWQgd2l0aCBjb252ZW50aW9uYWwgb3IgZGlnaXRhbCBzZW5zb3JpbmcgdGVjaG5pcXVlcyBvZiBkZW50YWwgWC1yYXkgYXBwYXJhdHVzLiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNS82OC81NjgyMSIsInV1aWQiOiI5MzI4NDJlNC00OWM1LTQxOWQtYTYwYi0zNDZjNTNiOWE2ZmIiLCJ0aXRsZSI6IklTTyAxMzE4NS0yOjIwMTUgSW50ZWxsaWdlbnQgdHJhbnNwb3J0IHN5c3RlbXMg4oCUIFZlaGljbGUgaW50ZXJmYWNlIGZvciBwcm92aXNpb25pbmcgYW5kIHN1cHBvcnQgb2YgSVRTIHNlcnZpY2VzIOKAlCBQYXJ0IDI6IFVuaWZpZWQgZ2F0ZXdheSBwcm90b2NvbCAoVUdQKSByZXF1aXJlbWVudHMgYW5kIHNwZWNpZmljYXRpb24gZm9yIHZlaGljbGUgSVRTIHN0YXRpb24gZ2F0ZXdheSAoVi1JVFMtU0cpIGludGVyZmFjZSIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMjAsIm9yZGVyIjoxMSwidGV4dCI6IklTTyAxMzE4NS0yOjIwMTUgc3BlY2lmaWVzIHRoZSByZXF1aXJlbWVudHMgb2YgYW4gQVNOLjEtYmFzZWQgcHJvdG9jb2wgYmV0d2VlbiBhIHZlaGljbGUtSVRTLVN0YXRpb24gR2F0ZXdheSAoVi1JVFMtU0cpIGFuZCBhIG5vbWFkaWMgYW5kL29yIG1vYmlsZSBkZXZpY2UgKE5EKSB0byBlYXNpbHkgZXhjaGFuZ2UgdmVoaWNsZSBpbmZvcm1hdGlvbiBkYXRhLiBUaGUgQVNOLjEtYmFzZWQgcHJvdG9jb2wgaGFzIGJlZW4gc3BlY2lmaWVkIHRvIHN1cHBvcnQgYSB3aXJlZCBvciB3aXJlbGVzcyBjb25uZWN0aW9uIGJldHdlZW4gdGhlIE5EIGFuZCBWLUlUUy1TRy4gVGhlIFVuaWZpZWQgR2F0ZXdheSBQcm90b2NvbCAoVUdQKSBpcyB1c2VkIGJldHdlZW4gdGhlIFYtSVRTLVNHIGFuZCB0aGUgTkQuIFVHUCBzdXBwb3J0cyBzZXZlcmFsIGZlYXR1cmVzIGluIG9yZGVyIHRvIHByb3ZpZGUgwrcgICAgICAgICBhdXRob3JpemF0aW9uIChkYXRhIHByaXZhY3kpLCDCtyAgICAgICAgIHNlY3VyZWQgYWNjZXNzLCDCtyAgICAgICAgIFYtSVRTLVNHIGFuZCBpbi12ZWhpY2xlIEVDVXMgaWRlbnRpZmljYXRpb24sIMK3ICAgICAgICAgcmVhbC10aW1lIHZlaGljbGUgZGF0YSBwYXJhbWV0ZXJzIHdpdGggaWRlbnRpZmllciBhbmQgdHlwZSBpbmZvcm1hdGlvbiBpbiBBU04uMSBmb3JtYXQsIGFuZCDCtyAgICAgICAgIGVuaGFuY2VkIHZlaGljbGUgZGF0YSBwYXJhbWV0ZXJzIHdpdGggaWRlbnRpZmllciBhbmQgdHlwZSBpbmZvcm1hdGlvbiBpbiBBU04uMSBmb3JtYXQuICIsIm9iamVjdElEIjoiNTY4MjFfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+ODUtMjoyMDE1IEludGVsbGlnZW50IHRyYW5zcG9ydCBzeXN0ZW1zIOKAlCBWZWhpY2xlIGludGVyZmFjZSBmb3IgcHJvdmlzaW9uaW5nIGFuZCBzdXBwb3J0IG9mIElUUyBzZXJ2aWNlcyDigJQgUGFydCAyOiBVbmlmaWVkIGdhdGV3YXkgcHJvdG9jb2wgKFVHUCkgcmVxdWlyZW1lbnRzIGFuZCBzcGVjaWZpY2F0aW9uIGZvciB2ZWhpY2xlIElUUyBzdGF0aW9uIGdhdGV3YXkgKFYtSVRTLVNHKSBpbnRlcmZhY2UiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjg1LTI6MjAxNSBzcGVjaWZpZXMgdGhlIHJlcXVpcmVtZW50cyBvZiBhbiBBU04uMS1iYXNlZCBwcm90b2NvbCBiZXR3ZWVuIGEgdmVoaWNsZS1JVFMtU3RhdGlvbiBHYXRld2F5IChWLUlUUy1TRykgYW5kIGEgbm9tYWRpYyBhbmQvb3IgbW9iaWxlIGRldmljZSAoTkQpIHRvIGVhc2lseSBleGNoYW5nZSB2ZWhpY2xlIGluZm9ybWF0aW9uIGRhdGEuIFRoZSBBU04uMS1iYXNlZCBwcm90b2NvbCBoYXMgYmVlbiBzcGVjaWZpZWQgdG8gc3VwcG9ydCBhIHdpcmVkIG9yIHdpcmVsZXNzIGNvbm5lY3Rpb24gYmV0d2VlbiB0aGUgTkQgYW5kIFYtSVRTLVNHLiBUaGUgVW5pZmllZCBHYXRld2F5IFByb3RvY29sIChVR1ApIGlzIHVzZWQgYmV0d2VlbiB0aGUgVi1JVFMtU0cgYW5kIHRoZSBORC4gVUdQIHN1cHBvcnRzIHNldmVyYWwgZmVhdHVyZXMgaW4gb3JkZXIgdG8gcHJvdmlkZSDCtyAgICAgICAgIGF1dGhvcml6YXRpb24gKGRhdGEgcHJpdmFjeSksIMK3ICAgICAgICAgc2VjdXJlZCBhY2Nlc3MsIMK3ICAgICAgICAgVi1JVFMtU0cgYW5kIGluLXZlaGljbGUgRUNVcyBpZGVudGlmaWNhdGlvbiwgwrcgICAgICAgICByZWFsLXRpbWUgdmVoaWNsZSBkYXRhIHBhcmFtZXRlcnMgd2l0aCBpZGVudGlmaWVyIGFuZCB0eXBlIGluZm9ybWF0aW9uIGluIEFTTi4xIGZvcm1hdCwgYW5kIMK3ICAgICAgICAgZW5oYW5jZWQgdmVoaWNsZSBkYXRhIHBhcmFtZXRlcnMgd2l0aCBpZGVudGlmaWVyIGFuZCB0eXBlIGluZm9ybWF0aW9uIGluIEFTTi4xIGZvcm1hdC4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDUvMzQvNTM0OTQiLCJ1dWlkIjoiOGNkZjgyZTgtOWYyZC00MmZiLTlkMTMtMDZkYTlhN2JkOTU1IiwidGl0bGUiOiJJU08gMTMxOTk6MjAxMiBTdGF0aW9uYXJ5IHNvdXJjZSBlbWlzc2lvbnMg4oCUIERldGVybWluYXRpb24gb2YgdG90YWwgdm9sYXRpbGUgb3JnYW5pYyBjb21wb3VuZHMgKFRWT0NzKSBpbiB3YXN0ZSBnYXNlcyBmcm9tIG5vbi1jb21idXN0aW9uIHByb2Nlc3NlcyDigJQgTm9uLWRpc3BlcnNpdmUgaW5mcmFyZWQgYW5hbHlzZXIgZXF1aXBwZWQgd2l0aCBjYXRhbHl0aWMgY29udmVydGVyIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAyMCwib3JkZXIiOjExLCJ0ZXh0IjoiSVNPIDEzMTk5OjIwMTIgc3BlY2lmaWVzIHRoZSBwcmluY2lwbGUsIHRoZSBlc3NlbnRpYWwgcGVyZm9ybWFuY2UgY3JpdGVyaWEgYW5kIHF1YWxpdHkgYXNzdXJhbmNlL3F1YWxpdHkgY29udHJvbCAoUUEvUUMpIHByb2NlZHVyZXMgb2YgYW4gYXV0b21hdGljIG1ldGhvZCBmb3IgbWVhc3VyaW5nIHRvdGFsIHZvbGF0aWxlIG9yZ2FuaWMgY29tcG91bmQgKFRWT0MpIGNvbnRlbnQgaW4gd2FzdGUgZ2FzZXMgb2Ygc3RhdGlvbmFyeSBzb3VyY2VzLCB1c2luZyBhIG5vbi1kaXNwZXJzaXZlIGluZnJhcmVkIGFic29ycHRpb24gKE5ESVIpIGFuYWx5c2VyIGVxdWlwcGVkIHdpdGggYSBjYXRhbHl0aWMgY29udmVydGVyIHdoaWNoIG94aWRpemVzIFZPQyB0byBjYXJib24gZGlveGlkZS4gVGhpcyBtZXRob2QgaXMgc3VpdGFibGUgZm9yIHRoZSBtZWFzdXJlbWVudCBvZiBUVk9DIGVtaXNzaW9ucyBmcm9tIG5vbi1jb21idXN0aW9uIHByb2Nlc3Nlcy4gVGhpcyBtZXRob2QgYWxsb3dzIGNvbnRpbnVvdXMgbW9uaXRvcmluZyB3aXRoIHBlcm1hbmVudGx5IGluc3RhbGxlZCBtZWFzdXJpbmcgc3lzdGVtcywgYXMgd2VsbCBhcyBpbnRlcm1pdHRlbnQgbWVhc3VyZW1lbnRzIG9mIFRWT0MgZW1pc3Npb25zLiBUaGUgbWV0aG9kIGhhcyBiZWVuIHRlc3RlZCBvbiBmaWVsZCBvcGVyYXRpb24gZm9yIHBhaW50aW5nIGFuZCBwcmludGluZyBwcm9jZXNzZXMsIHdoZXJlIFRWT0MgY29uY2VudHJhdGlvbnMgaW4gdGhlIHdhc3RlIGdhc2VzIHdlcmUgZnJvbSBhYm91dCA3MCBtZy9tIDMgdG8gNjAwIG1nL20gMyAuICIsIm9iamVjdElEIjoiNTM0OTRfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+OTk6MjAxMiBTdGF0aW9uYXJ5IHNvdXJjZSBlbWlzc2lvbnMg4oCUIERldGVybWluYXRpb24gb2YgdG90YWwgdm9sYXRpbGUgb3JnYW5pYyBjb21wb3VuZHMgKFRWT0NzKSBpbiB3YXN0ZSBnYXNlcyBmcm9tIG5vbi1jb21idXN0aW9uIHByb2Nlc3NlcyDigJQgTm9uLWRpc3BlcnNpdmUgaW5mcmFyZWQgYW5hbHlzZXIgZXF1aXBwZWQgd2l0aCBjYXRhbHl0aWMgY29udmVydGVyIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT45OToyMDEyIHNwZWNpZmllcyB0aGUgcHJpbmNpcGxlLCB0aGUgZXNzZW50aWFsIHBlcmZvcm1hbmNlIGNyaXRlcmlhIGFuZCBxdWFsaXR5IGFzc3VyYW5jZS9xdWFsaXR5IGNvbnRyb2wgKFFBL1FDKSBwcm9jZWR1cmVzIG9mIGFuIGF1dG9tYXRpYyBtZXRob2QgZm9yIG1lYXN1cmluZyB0b3RhbCB2b2xhdGlsZSBvcmdhbmljIGNvbXBvdW5kIChUVk9DKSBjb250ZW50IGluIHdhc3RlIGdhc2VzIG9mIHN0YXRpb25hcnkgc291cmNlcywgdXNpbmcgYSBub24tZGlzcGVyc2l2ZSBpbmZyYXJlZCBhYnNvcnB0aW9uIChORElSKSBhbmFseXNlciBlcXVpcHBlZCB3aXRoIGEgY2F0YWx5dGljIGNvbnZlcnRlciB3aGljaCBveGlkaXplcyBWT0MgdG8gY2FyYm9uIGRpb3hpZGUuIFRoaXMgbWV0aG9kIGlzIHN1aXRhYmxlIGZvciB0aGUgbWVhc3VyZW1lbnQgb2YgVFZPQyBlbWlzc2lvbnMgZnJvbSBub24tY29tYnVzdGlvbiBwcm9jZXNzZXMuIFRoaXMgbWV0aG9kIGFsbG93cyBjb250aW51b3VzIG1vbml0b3Jpbmcgd2l0aCBwZXJtYW5lbnRseSBpbnN0YWxsZWQgbWVhc3VyaW5nIHN5c3RlbXMsIGFzIHdlbGwgYXMgaW50ZXJtaXR0ZW50IG1lYXN1cmVtZW50cyBvZiBUVk9DIGVtaXNzaW9ucy4gVGhlIG1ldGhvZCBoYXMgYmVlbiB0ZXN0ZWQgb24gZmllbGQgb3BlcmF0aW9uIGZvciBwYWludGluZyBhbmQgcHJpbnRpbmcgcHJvY2Vzc2VzLCB3aGVyZSBUVk9DIGNvbmNlbnRyYXRpb25zIGluIHRoZSB3YXN0ZSBnYXNlcyB3ZXJlIGZyb20gYWJvdXQgNzAgbWcvbSAzIHRvIDYwMCBtZy9tIDMgLiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNS8zNC81MzQ0NyIsInV1aWQiOiJkMWE3NGViNi1jZTNjLTRmM2EtYTU4MS03NWFmMzQ1YzMyM2MiLCJ0aXRsZSI6IklTTyAxMzE3NS0zOjIwMTIgSW1wbGFudHMgZm9yIHN1cmdlcnkg4oCUIENhbGNpdW0gcGhvc3BoYXRlcyDigJQgUGFydCAzOiBIeWRyb3h5YXBhdGl0ZSBhbmQgYmV0YS10cmljYWxjaXVtIHBob3NwaGF0ZSBib25lIHN1YnN0aXR1dGVzIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAyMCwib3JkZXIiOjExLCJ0ZXh0IjoiMSBTY29wZSBUaGlzIHBhcnQgb2YgSVNPIDEzMTc1IHNwZWNpZmllcyByZXF1aXJlbWVudHMgZm9yIG1vbm9waGFzaWMgaHlkcm94eWFwYXRpdGUgYm9uZSBzdWJzdGl0dXRlcywgbW9ub3BoYXNpYyDOsi10cmljYWxjaXVtIHBob3NwaGF0ZSBib25lIHN1YnN0aXR1dGVzIGFuZCBiaXBoYXNpYyBoeWRyb3h5YXBhdGl0ZS/Osi10cmljYWxjaXVtIHBob3NwaGF0ZSBib25lIHN1YnN0aXR1dGVzIGluIHRoZSBmb3JtIG9mIGJsb2NrcyBvciBncmFudWxlcy4gVGhpcyBwYXJ0IG9mIElTTyAxMzE3NSBpcyBub3QgYXBwbGljYWJsZSB0byBjZWxsLXNlZWRlZCBib25lIHZvaWQgZmlsbGVycywgY2FsY2l1bSBwaG9zcGhhdGUgY2VtZW50cyBvciBib25lIHZvaWQgZmlsbGVycyBjb250YWluaW5nIG1hdGVyaWFscyBvdGhlciB0aGFuIGh5ZHJveHlhcGF0aXRlIGFuZCDOsi10cmljYWxjaXVtIHBob3NwaGF0ZS4gIiwib2JqZWN0SUQiOiI1MzQ0N18wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT43NS0zOjIwMTIgSW1wbGFudHMgZm9yIHN1cmdlcnkg4oCUIENhbGNpdW0gcGhvc3BoYXRlcyDigJQgUGFydCAzOiBIeWRyb3h5YXBhdGl0ZSBhbmQgYmV0YS10cmljYWxjaXVtIHBob3NwaGF0ZSBib25lIHN1YnN0aXR1dGVzIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjEgU2NvcGUgVGhpcyBwYXJ0IG9mIDxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT43NSBzcGVjaWZpZXMgcmVxdWlyZW1lbnRzIGZvciBtb25vcGhhc2ljIGh5ZHJveHlhcGF0aXRlIGJvbmUgc3Vic3RpdHV0ZXMsIG1vbm9waGFzaWMgzrItdHJpY2FsY2l1bSBwaG9zcGhhdGUgYm9uZSBzdWJzdGl0dXRlcyBhbmQgYmlwaGFzaWMgaHlkcm94eWFwYXRpdGUvzrItdHJpY2FsY2l1bSBwaG9zcGhhdGUgYm9uZSBzdWJzdGl0dXRlcyBpbiB0aGUgZm9ybSBvZiBibG9ja3Mgb3IgZ3JhbnVsZXMuIFRoaXMgcGFydCBvZiA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NzUgaXMgbm90IGFwcGxpY2FibGUgdG8gY2VsbC1zZWVkZWQgYm9uZSB2b2lkIGZpbGxlcnMsIGNhbGNpdW0gcGhvc3BoYXRlIGNlbWVudHMgb3IgYm9uZSB2b2lkIGZpbGxlcnMgY29udGFpbmluZyBtYXRlcmlhbHMgb3RoZXIgdGhhbiBoeWRyb3h5YXBhdGl0ZSBhbmQgzrItdHJpY2FsY2l1bSBwaG9zcGhhdGUuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA1LzM0LzUzNDA5IiwidXVpZCI6IjU4NDA0MGYxLWY4N2ItNGI4Ni04OGI1LWE0ZDg0MDM2NjQzZSIsInRpdGxlIjoiSVNPIDEzMTY4OjIwMTUgV2F0ZXIgcXVhbGl0eSDigJQgU2ltdWx0YW5lb3VzIGRldGVybWluYXRpb24gb2YgdHJpdGl1bSBhbmQgY2FyYm9uIDE0IGFjdGl2aXRpZXMg4oCUIFRlc3QgbWV0aG9kIHVzaW5nIGxpcXVpZCBzY2ludGlsbGF0aW9uIGNvdW50aW5nIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAyMCwib3JkZXIiOjExLCJ0ZXh0IjoiSVNPIDEzMTY4OjIwMTUgZGVzY3JpYmVzIGEgdGVzdCBtZXRob2QgZm9yIHRoZSBzaW11bHRhbmVvdXMgbWVhc3VyZW1lbnQgb2YgdHJpdGl1bSBhbmQgY2FyYm9uLTE0IGluIHdhdGVyIHNhbXBsZXMgYnkgbGlxdWlkIHNjaW50aWxsYXRpb24gY291bnRpbmcgb2YgYSBzb3VyY2Ugb2J0YWluZWQgYnkgbWl4aW5nIHRoZSB3YXRlciBzYW1wbGUgd2l0aCBhIGh5ZHJvcGhpbGljIHNjaW50aWxsYXRpb24gY29ja3RhaWwuIFRoaXMgaXMgY29uc2lkZXJlZCBhIHNjcmVlbmluZyBtZXRob2QgYmVjYXVzZSBvZiB0aGUgcG90ZW50aWFsIHByZXNlbmNlIG9mIGludGVyZmVyaW5nIG51Y2xpZGVzIGluIHRoZSB0ZXN0IHNhbXBsZS4gVGhlIG1ldGhvZCBjYW4gYmUgdXNlZCBmb3IgYW55IHR5cGUgb2YgZW52aXJvbm1lbnRhbCBzdHVkeSBvciBtb25pdG9yaW5nLiBJU08gMTMxNjg6MjAxNSBpcyBhcHBsaWNhYmxlIHRvIGFsbCB0eXBlcyBvZiB3YXRlcnMgaGF2aW5nIGFuIGFjdGl2aXR5IGNvbmNlbnRyYXRpb24gcmFuZ2luZyBmcm9tIDUgQnEvbCB0byAxMCA2IEJxL2wgKHVwcGVyIGxpbWl0IG9mIHRoZSBsaXF1aWQgc2NpbnRpbGxhdGlvbiBjb3VudGVycyBmb3IgZGlyZWN0IGNvdW50aW5nKS4gRm9yIGhpZ2hlciBhY3Rpdml0eSBjb25jZW50cmF0aW9ucywgdGhlIHNhbXBsZSBjYW4gYmUgZGlsdXRlZCB0byBvYnRhaW4gYSB0ZXN0IHNhbXBsZSB3aXRoaW4gdGhpcyByYW5nZS4gIiwib2JqZWN0SUQiOiI1MzQwOV8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT42ODoyMDE1IFdhdGVyIHF1YWxpdHkg4oCUIFNpbXVsdGFuZW91cyBkZXRlcm1pbmF0aW9uIG9mIHRyaXRpdW0gYW5kIGNhcmJvbiAxNCBhY3Rpdml0aWVzIOKAlCBUZXN0IG1ldGhvZCB1c2luZyBsaXF1aWQgc2NpbnRpbGxhdGlvbiBjb3VudGluZyIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+Njg6MjAxNSBkZXNjcmliZXMgYSB0ZXN0IG1ldGhvZCBmb3IgdGhlIHNpbXVsdGFuZW91cyBtZWFzdXJlbWVudCBvZiB0cml0aXVtIGFuZCBjYXJib24tMTQgaW4gd2F0ZXIgc2FtcGxlcyBieSBsaXF1aWQgc2NpbnRpbGxhdGlvbiBjb3VudGluZyBvZiBhIHNvdXJjZSBvYnRhaW5lZCBieSBtaXhpbmcgdGhlIHdhdGVyIHNhbXBsZSB3aXRoIGEgaHlkcm9waGlsaWMgc2NpbnRpbGxhdGlvbiBjb2NrdGFpbC4gVGhpcyBpcyBjb25zaWRlcmVkIGEgc2NyZWVuaW5nIG1ldGhvZCBiZWNhdXNlIG9mIHRoZSBwb3RlbnRpYWwgcHJlc2VuY2Ugb2YgaW50ZXJmZXJpbmcgbnVjbGlkZXMgaW4gdGhlIHRlc3Qgc2FtcGxlLiBUaGUgbWV0aG9kIGNhbiBiZSB1c2VkIGZvciBhbnkgdHlwZSBvZiBlbnZpcm9ubWVudGFsIHN0dWR5IG9yIG1vbml0b3JpbmcuIDxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT42ODoyMDE1IGlzIGFwcGxpY2FibGUgdG8gYWxsIHR5cGVzIG9mIHdhdGVycyBoYXZpbmcgYW4gYWN0aXZpdHkgY29uY2VudHJhdGlvbiByYW5naW5nIGZyb20gNSBCcS9sIHRvIDEwIDYgQnEvbCAodXBwZXIgbGltaXQgb2YgdGhlIGxpcXVpZCBzY2ludGlsbGF0aW9uIGNvdW50ZXJzIGZvciBkaXJlY3QgY291bnRpbmcpLiBGb3IgaGlnaGVyIGFjdGl2aXR5IGNvbmNlbnRyYXRpb25zLCB0aGUgc2FtcGxlIGNhbiBiZSBkaWx1dGVkIHRvIG9idGFpbiBhIHRlc3Qgc2FtcGxlIHdpdGhpbiB0aGlzIHJhbmdlLiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNS8zNC81MzQwNiIsInV1aWQiOiJkNjI4NDdkZC05OGUxLTRjNjYtOTJjNi03ZjhjOTEyOWUwNWMiLCJ0aXRsZSI6IklTTyAxMzE2NS0yOjIwMTQgV2F0ZXIgcXVhbGl0eSDigJQgUmFkaXVtLTIyNiDigJQgUGFydCAyOiBUZXN0IG1ldGhvZCB1c2luZyBlbWFub21ldHJ5Iiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAyMCwib3JkZXIiOjExLCJ0ZXh0IjoiSVNPIDEzMTY1LTI6MjAxNCBzcGVjaWZpZXMgdGhlIGRldGVybWluYXRpb24gb2YgcmFkaXVtLTIyNiAoIDIyNiBSYSkgYWN0aXZpdHkgY29uY2VudHJhdGlvbiBpbiBhbGwgdHlwZXMgb2Ygd2F0ZXIgYnkgZW1hbm9tZXRyeS4gVGhlIG1ldGhvZCBzcGVjaWZpZWQgaXMgc3VpdGFibGUgZm9yIHRoZSBkZXRlcm1pbmF0aW9uIG9mIHRoZSBzb2x1YmxlLCBzdXNwZW5kZWQsIGFuZCB0b3RhbCAyMjYgUmEgYWN0aXZpdHkgY29uY2VudHJhdGlvbiBpbiBhbGwgdHlwZXMgb2Ygd2F0ZXIgd2l0aCBzb2x1YmxlIDIyNiBSYSBhY3Rpdml0eSBjb25jZW50cmF0aW9ucyBncmVhdGVyIHRoYW4gMCwwMiBCcSBsIOKIkjEgLiBJbiB3YXRlciBjb250YWluaW5nIGhpZ2ggYWN0aXZpdHkgY29uY2VudHJhdGlvbnMgb2YgMjI4IFRoLCBpbnRlcmZlcmVuY2UgZnJvbSAyMjAgUm4gZGVjYXkgcHJvZHVjdHMgY2FuIGxlYWQgdG8gb3ZlcmVzdGltYXRpb24gb2YgbWVhc3VyZWQgbGV2ZWxzLiAiLCJvYmplY3RJRCI6IjUzNDA2XzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjY1LTI6MjAxNCBXYXRlciBxdWFsaXR5IOKAlCBSYWRpdW0tMjI2IOKAlCBQYXJ0IDI6IFRlc3QgbWV0aG9kIHVzaW5nIGVtYW5vbWV0cnkiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjY1LTI6MjAxNCBzcGVjaWZpZXMgdGhlIGRldGVybWluYXRpb24gb2YgcmFkaXVtLTIyNiAoIDIyNiBSYSkgYWN0aXZpdHkgY29uY2VudHJhdGlvbiBpbiBhbGwgdHlwZXMgb2Ygd2F0ZXIgYnkgZW1hbm9tZXRyeS4gVGhlIG1ldGhvZCBzcGVjaWZpZWQgaXMgc3VpdGFibGUgZm9yIHRoZSBkZXRlcm1pbmF0aW9uIG9mIHRoZSBzb2x1YmxlLCBzdXNwZW5kZWQsIGFuZCB0b3RhbCAyMjYgUmEgYWN0aXZpdHkgY29uY2VudHJhdGlvbiBpbiBhbGwgdHlwZXMgb2Ygd2F0ZXIgd2l0aCBzb2x1YmxlIDIyNiBSYSBhY3Rpdml0eSBjb25jZW50cmF0aW9ucyBncmVhdGVyIHRoYW4gMCwwMiBCcSBsIOKIkjEgLiBJbiB3YXRlciBjb250YWluaW5nIGhpZ2ggYWN0aXZpdHkgY29uY2VudHJhdGlvbnMgb2YgMjI4IFRoLCBpbnRlcmZlcmVuY2UgZnJvbSAyMjAgUm4gZGVjYXkgcHJvZHVjdHMgY2FuIGxlYWQgdG8gb3ZlcmVzdGltYXRpb24gb2YgbWVhc3VyZWQgbGV2ZWxzLiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNi85My82OTMxOCIsInV1aWQiOiJiYWY0MjljMC1hMWY1LTQ5OWUtOTBiNS1iMWJjN2EzYjFjOWEiLCJ0aXRsZSI6IklTTyAxMzEyMDoyMDE5IEhlYWx0aCBpbmZvcm1hdGljcyDigJQgU3ludGF4IHRvIHJlcHJlc2VudCB0aGUgY29udGVudCBvZiBoZWFsdGhjYXJlIGNsYXNzaWZpY2F0aW9uIHN5c3RlbXMg4oCUIENsYXNzaWZpY2F0aW9uIE1hcmt1cCBMYW5ndWFnZSAoQ2xhTUwpIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAxOSwib3JkZXIiOjExLCJ0ZXh0IjoiVGhlIG1haW4gcHVycG9zZSBvZiBDbGFNTCBpcyB0byBmb3JtYWxseSByZXByZXNlbnQgdGhlIGNvbnRlbnQgYW5kIGhpZXJhcmNoaWNhbCBzdHJ1Y3R1cmUgb2YgaGVhbHRoY2FyZSBjbGFzc2lmaWNhdGlvbiBzeXN0ZW1zIGluIGEgbWFya3VwIGxhbmd1YWdlIGZvciB0aGUgc2FmZSBleGNoYW5nZSBhbmQgZGlzdHJpYnV0aW9uIG9mIGRhdGEgYW5kIHN0cnVjdHVyZSBiZXR3ZWVuIG9yZ2FuaXphdGlvbnMgYW5kIGRpc3NpbWlsYXIgc29mdHdhcmUgcHJvZHVjdHMuIFRoZSBzY29wZSBvZiBoZWFsdGhjYXJlIGNsYXNzaWZpY2F0aW9uIHN5c3RlbXMgY292ZXJlZCBieSB0aGlzIGRvY3VtZW50IGVuY29tcGFzc2VzIHRlcm1pbm9sb2dpZXMsIGFuZCBpcyBjb25zdHJhaW5lZCB0byB0cmFkaXRpb25hbCBwYXBlci1iYXNlZCBzeXN0ZW1zIChsaWtlIElDRC0xMCkgYW5kIHN5c3RlbXMgYnVpbHQgYWNjb3JkaW5nIHRvIGNhdGVnb3JpYWwgc3RydWN0dXJlcyBhbmQgYSBjcm9zcyB0aGVzYXVydXMgKGxpa2UgSUNOUClbMl0uIENsYU1MIGlzIGludGVuZGVkIGZvciByZXByZXNlbnRhdGlvbiBvZiBoZWFsdGhjYXJlIGNsYXNzaWZpY2F0aW9uIHN5c3RlbXMgaW4gd2hpY2ggY2xhc3NlcyBoYXZlIHRleHR1YWwgZGVmaW5pdGlvbnMsIGhpZXJhcmNoaWNhbCBvcmRlcmluZywgbmFtZWQgaGllcmFyY2hpY2FsIGxldmVscyAoc3VjaCBhcyBcImNoYXB0ZXJcIiwgXCJzZWN0aW9uXCIpLCBpbmNsdXNpb24gYW5kIGV4Y2x1c2lvbiBjcml0ZXJpYSwgYW5kIGNvZGVzLiBJdCBpcyBub3QgaW50ZW5kZWQgdG8gY292ZXIgYW55IGZvcm1hbCByZXByZXNlbnRhdGlvbiwgbmVpdGhlciBmb3IgZGVmaW5pdGlvbiBvciBjb21wb3NpdGlvbiBvZiBjb25jZXB0cywgbm9yIGZvciBzcGVjaWZpY2F0aW9uIG9mIGNsYXNzaWZpY2F0aW9uIHJ1bGVzLiBTeXN0ZW1zIHdpdGggc3VjaCBmb3JtYWwgc3BlY2lmaWNhdGlvbnMgY2FuIGF0IGJlc3QgYmUgcGFydGlhbGx5IHJlcHJlc2VudGVkIHVzaW5nIENsYU1MLCBhbmQgYXJlIGhlbmNlIG91dCBvZiBzY29wZS4gTW9zdCBvZiB0aGUgbm90ZXMgYW5kIGV4YW1wbGVzIGluIHRoaXMgZG9jdW1lbnQgcmVsYXRlIHRvIElDRC4gVGhpcyBpcyBiZWNhdXNlIElDRCBpcyB0aGUgbW9zdCBjb21tb24gY2xhc3NpZmljYXRpb24gc3lzdGVtIGluIHRoZSBzY29wZSBvZiB0aGlzIGRvY3VtZW50LiBBcyBhIGhpZ2hseSBjb21wbGV4IGNsYXNzaWZpY2F0aW9uIHN5c3RlbSBpdCBpcyBhbiBpbmV4aGF1c3RpYmxlIHNvdXJjZSBmb3IgZXhhbXBsZXMgb2YgbmVhcmx5IGFueSBraW5kLiBCdXQgYWxsIHRoZXNlIG5vdGVzIGFuZCBleGFtcGxlcyByZXByZXNlbnQgYWxzbyBvdGhlciBzaW1pbGFyIGNsYXNzaWZpY2F0aW9uIHN5c3RlbXMsIGlmIGFwcGxpY2FibGUsIHdoaWNoIGFyZSB1c3VhbGx5IGxlc3MgY29tcGxleC4gQW4gb3ZlcnZpZXcgb2YgY3VycmVudGx5IGtub3duIGNsYXNzaWZpY2F0aW9uIHN5c3RlbXMgdXNpbmcgQ2xhTUwgaXMgcHJvdmlkZWQgaW4gYSBzZXBhcmF0ZSBkb2N1bWVudCB3aGljaCBpcyBlbGVjdHJvbmljYWxseSBhdmFpbGFibGUgKHNlZSA3LjMpLiBUaGlzIGRvY3VtZW50IGlzIG5vdCBpbnRlbmRlZCB0bzogYSkgICAgcHJvdmlkZSBhIG5vcm1hdGl2ZSBzeW50YXggb24gaG93IGEgaGVhbHRoY2FyZSBjbGFzc2lmaWNhdGlvbiBzeXN0ZW0gaXMgdG8gYmUgY29uc3RydWN0ZWQ7IGIpICAgIGRlZmluZSBsaW5rIHR5cGVzIGJldHdlZW4gZWxlbWVudHMgaW4gYSBoZWFsdGhjYXJlIGNsYXNzaWZpY2F0aW9uIHN5c3RlbSAodGhpcyBpcyBsZWZ0IHRvIHRoZSBkZXZlbG9wZXJzIG9mIGhlYWx0aGNhcmUgY2xhc3NpZmljYXRpb24gc3lzdGVtcyk7IGMpICAgIHByb3ZpZGUgYSByZXByZXNlbnRhdGlvbiBmb3IgZGlyZWN0IHZpZXdpbmcgb3IgcHJpbnRpbmcuICIsIm9iamVjdElEIjoiNjkzMThfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+MjA6MjAxOSBIZWFsdGggaW5mb3JtYXRpY3Mg4oCUIFN5bnRheCB0byByZXByZXNlbnQgdGhlIGNvbnRlbnQgb2YgaGVhbHRoY2FyZSBjbGFzc2lmaWNhdGlvbiBzeXN0ZW1zIOKAlCBDbGFzc2lmaWNhdGlvbiBNYXJrdXAgTGFuZ3VhZ2UgKENsYU1MKSIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiJUaGUgbWFpbiBwdXJwb3NlIG9mIENsYU1MIGlzIHRvIGZvcm1hbGx5IHJlcHJlc2VudCB0aGUgY29udGVudCBhbmQgaGllcmFyY2hpY2FsIHN0cnVjdHVyZSBvZiBoZWFsdGhjYXJlIGNsYXNzaWZpY2F0aW9uIHN5c3RlbXMgaW4gYSBtYXJrdXAgbGFuZ3VhZ2UgZm9yIHRoZSBzYWZlIGV4Y2hhbmdlIGFuZCBkaXN0cmlidXRpb24gb2YgZGF0YSBhbmQgc3RydWN0dXJlIGJldHdlZW4gb3JnYW5pemF0aW9ucyBhbmQgZGlzc2ltaWxhciBzb2Z0d2FyZSBwcm9kdWN0cy4gVGhlIHNjb3BlIG9mIGhlYWx0aGNhcmUgY2xhc3NpZmljYXRpb24gc3lzdGVtcyBjb3ZlcmVkIGJ5IHRoaXMgZG9jdW1lbnQgZW5jb21wYXNzZXMgdGVybWlub2xvZ2llcywgYW5kIGlzIGNvbnN0cmFpbmVkIHRvIHRyYWRpdGlvbmFsIHBhcGVyLWJhc2VkIHN5c3RlbXMgKGxpa2UgSUNELTEwKSBhbmQgc3lzdGVtcyBidWlsdCBhY2NvcmRpbmcgdG8gY2F0ZWdvcmlhbCBzdHJ1Y3R1cmVzIGFuZCBhIGNyb3NzIHRoZXNhdXJ1cyAobGlrZSBJQ05QKVsyXS4gQ2xhTUwgaXMgaW50ZW5kZWQgZm9yIHJlcHJlc2VudGF0aW9uIG9mIGhlYWx0aGNhcmUgY2xhc3NpZmljYXRpb24gc3lzdGVtcyBpbiB3aGljaCBjbGFzc2VzIGhhdmUgdGV4dHVhbCBkZWZpbml0aW9ucywgaGllcmFyY2hpY2FsIG9yZGVyaW5nLCBuYW1lZCBoaWVyYXJjaGljYWwgbGV2ZWxzIChzdWNoIGFzIFwiY2hhcHRlclwiLCBcInNlY3Rpb25cIiksIGluY2x1c2lvbiBhbmQgZXhjbHVzaW9uIGNyaXRlcmlhLCBhbmQgY29kZXMuIEl0IGlzIG5vdCBpbnRlbmRlZCB0byBjb3ZlciBhbnkgZm9ybWFsIHJlcHJlc2VudGF0aW9uLCBuZWl0aGVyIGZvciBkZWZpbml0aW9uIG9yIGNvbXBvc2l0aW9uIG9mIGNvbmNlcHRzLCBub3IgZm9yIHNwZWNpZmljYXRpb24gb2YgY2xhc3NpZmljYXRpb24gcnVsZXMuIFN5c3RlbXMgd2l0aCBzdWNoIGZvcm1hbCBzcGVjaWZpY2F0aW9ucyBjYW4gYXQgYmVzdCBiZSBwYXJ0aWFsbHkgcmVwcmVzZW50ZWQgdXNpbmcgQ2xhTUwsIGFuZCBhcmUgaGVuY2Ugb3V0IG9mIHNjb3BlLiBNb3N0IG9mIHRoZSBub3RlcyBhbmQgZXhhbXBsZXMgaW4gdGhpcyBkb2N1bWVudCByZWxhdGUgdG8gSUNELiBUaGlzIGlzIGJlY2F1c2UgSUNEIGlzIHRoZSBtb3N0IGNvbW1vbiBjbGFzc2lmaWNhdGlvbiBzeXN0ZW0gaW4gdGhlIHNjb3BlIG9mIHRoaXMgZG9jdW1lbnQuIEFzIGEgaGlnaGx5IGNvbXBsZXggY2xhc3NpZmljYXRpb24gc3lzdGVtIGl0IGlzIGFuIGluZXhoYXVzdGlibGUgc291cmNlIGZvciBleGFtcGxlcyBvZiBuZWFybHkgYW55IGtpbmQuIEJ1dCBhbGwgdGhlc2Ugbm90ZXMgYW5kIGV4YW1wbGVzIHJlcHJlc2VudCBhbHNvIG90aGVyIHNpbWlsYXIgY2xhc3NpZmljYXRpb24gc3lzdGVtcywgaWYgYXBwbGljYWJsZSwgd2hpY2ggYXJlIHVzdWFsbHkgbGVzcyBjb21wbGV4LiBBbiBvdmVydmlldyBvZiBjdXJyZW50bHkga25vd24gY2xhc3NpZmljYXRpb24gc3lzdGVtcyB1c2luZyBDbGFNTCBpcyBwcm92aWRlZCBpbiBhIHNlcGFyYXRlIGRvY3VtZW50IHdoaWNoIGlzIGVsZWN0cm9uaWNhbGx5IGF2YWlsYWJsZSAoc2VlIDcuMykuIFRoaXMgZG9jdW1lbnQgaXMgbm90IGludGVuZGVkIHRvOiBhKSAgICBwcm92aWRlIGEgbm9ybWF0aXZlIHN5bnRheCBvbiBob3cgYSBoZWFsdGhjYXJlIGNsYXNzaWZpY2F0aW9uIHN5c3RlbSBpcyB0byBiZSBjb25zdHJ1Y3RlZDsgYikgICAgZGVmaW5lIGxpbmsgdHlwZXMgYmV0d2VlbiBlbGVtZW50cyBpbiBhIGhlYWx0aGNhcmUgY2xhc3NpZmljYXRpb24gc3lzdGVtICh0aGlzIGlzIGxlZnQgdG8gdGhlIGRldmVsb3BlcnMgb2YgaGVhbHRoY2FyZSBjbGFzc2lmaWNhdGlvbiBzeXN0ZW1zKTsgYykgICAgcHJvdmlkZSBhIHJlcHJlc2VudGF0aW9uIGZvciBkaXJlY3Qgdmlld2luZyBvciBwcmludGluZy4gIiwibWF0Y2hMZXZlbCI6Im5vbmUiLCJtYXRjaGVkV29yZHMiOltdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDUvNjQvNTY0NjQiLCJ1dWlkIjoiZGZmNWE0ZTEtMTYzMy00YmZhLTk4OWUtMmJjODIwNTA2MTg5IiwidGl0bGUiOiJJU08gMTMxNjUtMToyMDEzIFdhdGVyIHF1YWxpdHkg4oCUIFJhZGl1bS0yMjYg4oCUIFBhcnQgMTogVGVzdCBtZXRob2QgdXNpbmcgbGlxdWlkIHNjaW50aWxsYXRpb24gY291bnRpbmciLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDE5LCJvcmRlciI6MTEsInRleHQiOiJJU08gMTMxNjUtMToyMDEzIHNwZWNpZmllcyB0aGUgZGV0ZXJtaW5hdGlvbiBvZiByYWRpdW0tMjI2ICggMjI2IFJhKSBhY3Rpdml0eSBjb25jZW50cmF0aW9uIGluIG5vbi1zYWxpbmUgd2F0ZXIgc2FtcGxlcyBieSBleHRyYWN0aW9uIG9mIGl0cyBkYXVnaHRlciByYWRvbi0yMjIgKCAyMjIgUm4pIGFuZCBpdHMgbWVhc3VyZW1lbnQgdXNpbmcgbGlxdWlkIHNjaW50aWxsYXRpb24gY291bnRpbmcuIFJhZGl1bS0yMjYgYWN0aXZpdHkgY29uY2VudHJhdGlvbnMgd2hpY2ggY2FuIGJlIG1lYXN1cmVkIGJ5IHRoaXMgdGVzdCBtZXRob2QgdXRpbGl6aW5nIGN1cnJlbnRseSBhdmFpbGFibGUgbGlxdWlkIHNjaW50aWxsYXRpb24gY291bnRlcnMgZ29lcyBkb3duIHRvIDUwIG1CcSBsIOKIkjEgLiBUaGlzIG1ldGhvZCBpcyBub3QgYXBwbGljYWJsZSB0byB0aGUgbWVhc3VyZW1lbnQgb2Ygb3RoZXIgcmFkaXVtIGlzb3RvcGVzLiAiLCJvYmplY3RJRCI6IjU2NDY0XzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjY1LTE6MjAxMyBXYXRlciBxdWFsaXR5IOKAlCBSYWRpdW0tMjI2IOKAlCBQYXJ0IDE6IFRlc3QgbWV0aG9kIHVzaW5nIGxpcXVpZCBzY2ludGlsbGF0aW9uIGNvdW50aW5nIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT42NS0xOjIwMTMgc3BlY2lmaWVzIHRoZSBkZXRlcm1pbmF0aW9uIG9mIHJhZGl1bS0yMjYgKCAyMjYgUmEpIGFjdGl2aXR5IGNvbmNlbnRyYXRpb24gaW4gbm9uLXNhbGluZSB3YXRlciBzYW1wbGVzIGJ5IGV4dHJhY3Rpb24gb2YgaXRzIGRhdWdodGVyIHJhZG9uLTIyMiAoIDIyMiBSbikgYW5kIGl0cyBtZWFzdXJlbWVudCB1c2luZyBsaXF1aWQgc2NpbnRpbGxhdGlvbiBjb3VudGluZy4gUmFkaXVtLTIyNiBhY3Rpdml0eSBjb25jZW50cmF0aW9ucyB3aGljaCBjYW4gYmUgbWVhc3VyZWQgYnkgdGhpcyB0ZXN0IG1ldGhvZCB1dGlsaXppbmcgY3VycmVudGx5IGF2YWlsYWJsZSBsaXF1aWQgc2NpbnRpbGxhdGlvbiBjb3VudGVycyBnb2VzIGRvd24gdG8gNTAgbUJxIGwg4oiSMSAuIFRoaXMgbWV0aG9kIGlzIG5vdCBhcHBsaWNhYmxlIHRvIHRoZSBtZWFzdXJlbWVudCBvZiBvdGhlciByYWRpdW0gaXNvdG9wZXMuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA1LzYxLzU2MTA5IiwidXVpZCI6ImY4MGVmYzU5LWM0OTEtNGYxZC1hOGJjLTkyOWRiZTlmN2I0NyIsInRpdGxlIjoiSVNPIDEzMTY0LTM6MjAxMyBXYXRlciBxdWFsaXR5IOKAlCBSYWRvbi0yMjIg4oCUIFBhcnQgMzogVGVzdCBtZXRob2QgdXNpbmcgZW1hbm9tZXRyeSIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMTksIm9yZGVyIjoxMSwidGV4dCI6IklTTyAxMzE2NC0zOjIwMTMgc3BlY2lmaWVzIGEgdGVzdCBtZXRob2QgZm9yIHRoZSBkZXRlcm1pbmF0aW9uIG9mIHJhZG9uLTIyMiBhY3Rpdml0eSBjb25jZW50cmF0aW9uIGluIGEgc2FtcGxlIG9mIHdhdGVyIGZvbGxvd2luZyBpdHMgdHJhbnNmZXIgZnJvbSB0aGUgYXF1ZW91cyBwaGFzZSB0byB0aGUgYWlyIHBoYXNlIGJ5IGRlZ2Fzc2luZyBhbmQgaXRzIGRldGVjdGlvbi4gSXQgZ2l2ZXMgcmVjb21tZW5kYXRpb25zIGZvciByYXBpZCBtZWFzdXJlbWVudHMgcGVyZm9ybWVkIHdpdGhpbiBsZXNzIHRoYW4gMSBoLiBUaGUgcmFkb24tMjIyIGFjdGl2aXR5IGNvbmNlbnRyYXRpb25zLCB3aGljaCBjYW4gYmUgbWVhc3VyZWQgYnkgdGhpcyB0ZXN0IG1ldGhvZCB1dGlsaXppbmcgY3VycmVudGx5IGF2YWlsYWJsZSBpbnN0cnVtZW50cywgcmFuZ2UgZnJvbSAwLDEgQnEgbCDiiJIxIHRvIHNldmVyYWwgaHVuZHJlZCB0aG91c2FuZCBiZWNxdWVyZWxzIHBlciBsaXRyZSBmb3IgYSAxMDAgbWwgdGVzdCBzYW1wbGUuIFRoaXMgdGVzdCBtZXRob2QgaXMgdXNlZCBzdWNjZXNzZnVsbHkgd2l0aCBkcmlua2luZyB3YXRlciBzYW1wbGVzLiBUaGUgbGFib3JhdG9yeSBpcyByZXNwb25zaWJsZSBmb3IgZW5zdXJpbmcgdGhlIHZhbGlkaXR5IG9mIHRoaXMgdGVzdCBtZXRob2QgZm9yIHdhdGVyIHNhbXBsZXMgb2YgdW50ZXN0ZWQgbWF0cmljZXMuIFRoaXMgdGVzdCBtZXRob2QgY2FuIGJlIGFwcGxpZWQgb24gZmllbGQgc2l0ZXMgb3IgaW4gdGhlIGxhYm9yYXRvcnkuIEFubmV4ZXMgQSBhbmQgQiBnaXZlIGluZGljYXRpb25zIG9uIHRoZSBuZWNlc3NhcnkgY291bnRpbmcgY29uZGl0aW9ucyB0byBtZWV0IHRoZSByZXF1aXJlZCBzZW5zaXRpdml0eSBmb3IgZHJpbmtpbmcgd2F0ZXIgbW9uaXRvcmluZyAiLCJvYmplY3RJRCI6IjU2MTA5XzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjY0LTM6MjAxMyBXYXRlciBxdWFsaXR5IOKAlCBSYWRvbi0yMjIg4oCUIFBhcnQgMzogVGVzdCBtZXRob2QgdXNpbmcgZW1hbm9tZXRyeSIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NjQtMzoyMDEzIHNwZWNpZmllcyBhIHRlc3QgbWV0aG9kIGZvciB0aGUgZGV0ZXJtaW5hdGlvbiBvZiByYWRvbi0yMjIgYWN0aXZpdHkgY29uY2VudHJhdGlvbiBpbiBhIHNhbXBsZSBvZiB3YXRlciBmb2xsb3dpbmcgaXRzIHRyYW5zZmVyIGZyb20gdGhlIGFxdWVvdXMgcGhhc2UgdG8gdGhlIGFpciBwaGFzZSBieSBkZWdhc3NpbmcgYW5kIGl0cyBkZXRlY3Rpb24uIEl0IGdpdmVzIHJlY29tbWVuZGF0aW9ucyBmb3IgcmFwaWQgbWVhc3VyZW1lbnRzIHBlcmZvcm1lZCB3aXRoaW4gbGVzcyB0aGFuIDEgaC4gVGhlIHJhZG9uLTIyMiBhY3Rpdml0eSBjb25jZW50cmF0aW9ucywgd2hpY2ggY2FuIGJlIG1lYXN1cmVkIGJ5IHRoaXMgdGVzdCBtZXRob2QgdXRpbGl6aW5nIGN1cnJlbnRseSBhdmFpbGFibGUgaW5zdHJ1bWVudHMsIHJhbmdlIGZyb20gMCwxIEJxIGwg4oiSMSB0byBzZXZlcmFsIGh1bmRyZWQgdGhvdXNhbmQgYmVjcXVlcmVscyBwZXIgbGl0cmUgZm9yIGEgMTAwIG1sIHRlc3Qgc2FtcGxlLiBUaGlzIHRlc3QgbWV0aG9kIGlzIHVzZWQgc3VjY2Vzc2Z1bGx5IHdpdGggZHJpbmtpbmcgd2F0ZXIgc2FtcGxlcy4gVGhlIGxhYm9yYXRvcnkgaXMgcmVzcG9uc2libGUgZm9yIGVuc3VyaW5nIHRoZSB2YWxpZGl0eSBvZiB0aGlzIHRlc3QgbWV0aG9kIGZvciB3YXRlciBzYW1wbGVzIG9mIHVudGVzdGVkIG1hdHJpY2VzLiBUaGlzIHRlc3QgbWV0aG9kIGNhbiBiZSBhcHBsaWVkIG9uIGZpZWxkIHNpdGVzIG9yIGluIHRoZSBsYWJvcmF0b3J5LiBBbm5leGVzIEEgYW5kIEIgZ2l2ZSBpbmRpY2F0aW9ucyBvbiB0aGUgbmVjZXNzYXJ5IGNvdW50aW5nIGNvbmRpdGlvbnMgdG8gbWVldCB0aGUgcmVxdWlyZWQgc2Vuc2l0aXZpdHkgZm9yIGRyaW5raW5nIHdhdGVyIG1vbml0b3JpbmcgIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDUvNjEvNTYxMDgiLCJ1dWlkIjoiZjdhNmE0NTgtODdmOC00NjhjLWJmYzEtMzdiN2YwMGUwMGZjIiwidGl0bGUiOiJJU08gMTMxNjQtMjoyMDEzIFdhdGVyIHF1YWxpdHkg4oCUIFJhZG9uLTIyMiDigJQgUGFydCAyOiBUZXN0IG1ldGhvZCB1c2luZyBnYW1tYS1yYXkgc3BlY3Ryb21ldHJ5Iiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAxOSwib3JkZXIiOjExLCJ0ZXh0IjoiSVNPIDEzMTY0LTI6MjAxMyBzcGVjaWZpZXMgYSB0ZXN0IG1ldGhvZCBmb3IgdGhlIGRldGVybWluYXRpb24gb2YgcmFkb24tMjIyIGFjdGl2aXR5IGNvbmNlbnRyYXRpb24gaW4gYSBzYW1wbGUgb2Ygd2F0ZXIgZm9sbG93aW5nIHRoZSBtZWFzdXJlbWVudCBvZiBpdHMgc2hvcnQtbGl2ZWQgZGVjYXkgcHJvZHVjdHMgYnkgZGlyZWN0IGdhbW1hLXNwZWN0cm9tZXRyeSBvZiB0aGUgd2F0ZXIgc2FtcGxlLiBUaGUgcmFkb24tMjIyIGFjdGl2aXR5IGNvbmNlbnRyYXRpb25zLCB3aGljaCBjYW4gYmUgbWVhc3VyZWQgYnkgdGhpcyB0ZXN0IG1ldGhvZCB1dGlsaXppbmcgY3VycmVudGx5IGF2YWlsYWJsZSBnYW1tYS1yYXkgaW5zdHJ1bWVudHMsIHJhbmdlIGZyb20gYSBmZXcgYmVjcXVlcmVscyBwZXIgbGl0cmUgdG8gc2V2ZXJhbCBodW5kcmVkIHRob3VzYW5kIGJlY3F1ZXJlbHMgcGVyIGxpdHJlIGZvciBhIDEgbCB0ZXN0IHNhbXBsZS4gVGhpcyB0ZXN0IG1ldGhvZCBjYW4gYmUgdXNlZCBzdWNjZXNzZnVsbHkgd2l0aCBkcmlua2luZyB3YXRlciBzYW1wbGVzLiBUaGUgbGFib3JhdG9yeSBpcyByZXNwb25zaWJsZSBmb3IgZW5zdXJpbmcgdGhlIHZhbGlkaXR5IG9mIHRoaXMgdGVzdCBtZXRob2QgZm9yIHdhdGVyIHNhbXBsZXMgb2YgdW50ZXN0ZWQgbWF0cmljZXMuIEFuIGFubmV4IGdpdmVzIGluZGljYXRpb25zIG9uIHRoZSBuZWNlc3NhcnkgY291bnRpbmcgY29uZGl0aW9ucyB0byBtZWV0IHRoZSByZXF1aXJlZCBzZW5zaXRpdml0eSBmb3IgZHJpbmtpbmcgd2F0ZXIgbW9uaXRvcmluZy4gIiwib2JqZWN0SUQiOiI1NjEwOF8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT42NC0yOjIwMTMgV2F0ZXIgcXVhbGl0eSDigJQgUmFkb24tMjIyIOKAlCBQYXJ0IDI6IFRlc3QgbWV0aG9kIHVzaW5nIGdhbW1hLXJheSBzcGVjdHJvbWV0cnkiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjY0LTI6MjAxMyBzcGVjaWZpZXMgYSB0ZXN0IG1ldGhvZCBmb3IgdGhlIGRldGVybWluYXRpb24gb2YgcmFkb24tMjIyIGFjdGl2aXR5IGNvbmNlbnRyYXRpb24gaW4gYSBzYW1wbGUgb2Ygd2F0ZXIgZm9sbG93aW5nIHRoZSBtZWFzdXJlbWVudCBvZiBpdHMgc2hvcnQtbGl2ZWQgZGVjYXkgcHJvZHVjdHMgYnkgZGlyZWN0IGdhbW1hLXNwZWN0cm9tZXRyeSBvZiB0aGUgd2F0ZXIgc2FtcGxlLiBUaGUgcmFkb24tMjIyIGFjdGl2aXR5IGNvbmNlbnRyYXRpb25zLCB3aGljaCBjYW4gYmUgbWVhc3VyZWQgYnkgdGhpcyB0ZXN0IG1ldGhvZCB1dGlsaXppbmcgY3VycmVudGx5IGF2YWlsYWJsZSBnYW1tYS1yYXkgaW5zdHJ1bWVudHMsIHJhbmdlIGZyb20gYSBmZXcgYmVjcXVlcmVscyBwZXIgbGl0cmUgdG8gc2V2ZXJhbCBodW5kcmVkIHRob3VzYW5kIGJlY3F1ZXJlbHMgcGVyIGxpdHJlIGZvciBhIDEgbCB0ZXN0IHNhbXBsZS4gVGhpcyB0ZXN0IG1ldGhvZCBjYW4gYmUgdXNlZCBzdWNjZXNzZnVsbHkgd2l0aCBkcmlua2luZyB3YXRlciBzYW1wbGVzLiBUaGUgbGFib3JhdG9yeSBpcyByZXNwb25zaWJsZSBmb3IgZW5zdXJpbmcgdGhlIHZhbGlkaXR5IG9mIHRoaXMgdGVzdCBtZXRob2QgZm9yIHdhdGVyIHNhbXBsZXMgb2YgdW50ZXN0ZWQgbWF0cmljZXMuIEFuIGFubmV4IGdpdmVzIGluZGljYXRpb25zIG9uIHRoZSBuZWNlc3NhcnkgY291bnRpbmcgY29uZGl0aW9ucyB0byBtZWV0IHRoZSByZXF1aXJlZCBzZW5zaXRpdml0eSBmb3IgZHJpbmtpbmcgd2F0ZXIgbW9uaXRvcmluZy4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDUvMzQvNTM0OTAiLCJ1dWlkIjoiM2RiMDI3ZWYtN2EzZS00NzU3LThmYjEtYmYwY2M2OGQwZDliIiwidGl0bGUiOiJJU08gMTMxOTY6MjAxMyBTb2lsIHF1YWxpdHkg4oCUIFNjcmVlbmluZyBzb2lscyBmb3Igc2VsZWN0ZWQgZWxlbWVudHMgYnkgZW5lcmd5LWRpc3BlcnNpdmUgWC1yYXkgZmx1b3Jlc2NlbmNlIHNwZWN0cm9tZXRyeSB1c2luZyBhIGhhbmRoZWxkIG9yIHBvcnRhYmxlIGluc3RydW1lbnQiLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDE5LCJvcmRlciI6MTEsInRleHQiOiJJU08gMTMxOTY6MjAxMyBzcGVjaWZpZXMgdGhlIHByb2NlZHVyZSBmb3Igc2NyZWVuaW5nIHNvaWxzIGFuZCBzb2lsLWxpa2UgbWF0ZXJpYWxzIGZvciBzZWxlY3RlZCBlbGVtZW50cyB3aGVuIGhhbmRoZWxkIG9yIHBvcnRhYmxlIGVuZXJneS1kaXNwZXJzaXZlIFhSRiBzcGVjdHJvbWV0ZXJzIGFyZSB1c2VkLiBUaGlzIHF1aWNrIG1ldGhvZCBpcyBhc3N1bWVkIHRvIGJlIGFwcGxpZWQgb24tc2l0ZSB0byBvYnRhaW4gcXVhbGl0YXRpdmUgb3Igc2VtaXF1YW50aXRhdGl2ZSBkYXRhIHRoYXQgYXNzaXN0cyBkZWNpc2lvbnMgb24gZnVydGhlciBzYW1wbGluZyBzdHJhdGVneSBmb3IgYXNzZXNzaW5nIHNvaWwgcXVhbGl0eS4gVGhlIGhpZ2hlciB0aGUgZWZmb3J0cyBmb3IgcHJldHJlYXRtZW50IHVzZWQgb24gc29pbCBzYW1wbGVzLCB0aGUgYmV0dGVyIHRoZSBhbmFseXRpY2FsIHJlc3VsdHMgY2FuIGJlIGV4cGVjdGVkLiBJU08gMTMxOTY6MjAxMyBkb2VzIG5vdCBleHBsaWNpdGx5IHNwZWNpZnkgZWxlbWVudHMgZm9yIHdoaWNoIGl0IGlzIGFwcGxpY2FibGUsIHNpbmNlIHRoZSBhcHBsaWNhYmlsaXR5IGRlcGVuZHMgb24gdGhlIHBlcmZvcm1hbmNlIG9mIHRoZSBhcHBhcmF0dXMgYW5kIHRoZSBvYmplY3RpdmUgb2YgdGhlIHNjcmVlbmluZy4gVGhlIGVsZW1lbnRzIHdoaWNoIGNhbiBiZSBkZXRlcm1pbmVkIGFyZSBsaW1pdGVkIGJ5IHRoZSBwZXJmb3JtYW5jZSBvZiB0aGUgaW5zdHJ1bWVudHMgdXNlZCwgdGhlIGNvbmNlbnRyYXRpb24gb2YgdGhlIGVsZW1lbnQgcHJlc2VudCBpbiB0aGUgc29pbCwgYW5kIHRoZSByZXF1aXJlbWVudHMgb2YgdGhlIGludmVzdGlnYXRpb24gKGUuZy4gZ3VpZGVsaW5lIHZhbHVlKS4gRm9yIEhnLCBDZCwgQ28sIE1vLCBWIGFuZCBTYiwgYSBtYWpvcml0eSBvZiBpbnN0cnVtZW50cyBhcmUgbm90IHNlbnNpdGl2ZSBlbm91Z2ggdG8gcmVhY2ggc3VmZmljaWVudGx5IGxvdyBsaW1pdHMgb2YgcXVhbnRpZmljYXRpb24gKExPUSkgdG8gbWVldCB0aGUgcmVxdWlyZW1lbnRzIChsaW1pdCBvciB0aHJlc2hvbGQgdmFsdWVzKSBzZXQgaW4gdGhlIG9yZGluYW5jZXMgb2YgZGlmZmVyZW50IGNvdW50cmllcy4gSW4gdGhpcyBjYXNlLCBvdGhlciBtZXRob2RzIG5lZWQgdG8gYmUgZW1wbG95ZWQgdG8gbWVhc3VyZSB0aGVzZSBsb3cgY29uY2VudHJhdGlvbnMuIFVzdWFsbHksIHdldCBjaGVtaWNhbCBtZXRob2RzIGFyZSB1c2VkLCBiYXNlZCBvbiBhcXVhIHJlZ2lhIGV4dHJhY3RzLCBpbiBjb21iaW5hdGlvbiB3aXRoIG9wdGljYWwgb3IgbWFzcyBzcGVjdHJvbWV0cmljIChNUykgbWV0aG9kcyBsaWtlIGF0b21pYyBhYnNvcnB0aW9uIHNwZWN0cm9tZXRyeSAoQUFTKSwgaW5kdWN0aXZlbHkgY291cGxlZCBwbGFzbWEvb3B0aWNhbCBlbWlzc2lvbiBzcGVjdHJvbWV0cnkgKElDUC9PRVMpIG9yIElDUC9NUy4gIiwib2JqZWN0SUQiOiI1MzQ5MF8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT45NjoyMDEzIFNvaWwgcXVhbGl0eSDigJQgU2NyZWVuaW5nIHNvaWxzIGZvciBzZWxlY3RlZCBlbGVtZW50cyBieSBlbmVyZ3ktZGlzcGVyc2l2ZSBYLXJheSBmbHVvcmVzY2VuY2Ugc3BlY3Ryb21ldHJ5IHVzaW5nIGEgaGFuZGhlbGQgb3IgcG9ydGFibGUgaW5zdHJ1bWVudCIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+OTY6MjAxMyBzcGVjaWZpZXMgdGhlIHByb2NlZHVyZSBmb3Igc2NyZWVuaW5nIHNvaWxzIGFuZCBzb2lsLWxpa2UgbWF0ZXJpYWxzIGZvciBzZWxlY3RlZCBlbGVtZW50cyB3aGVuIGhhbmRoZWxkIG9yIHBvcnRhYmxlIGVuZXJneS1kaXNwZXJzaXZlIFhSRiBzcGVjdHJvbWV0ZXJzIGFyZSB1c2VkLiBUaGlzIHF1aWNrIG1ldGhvZCBpcyBhc3N1bWVkIHRvIGJlIGFwcGxpZWQgb24tc2l0ZSB0byBvYnRhaW4gcXVhbGl0YXRpdmUgb3Igc2VtaXF1YW50aXRhdGl2ZSBkYXRhIHRoYXQgYXNzaXN0cyBkZWNpc2lvbnMgb24gZnVydGhlciBzYW1wbGluZyBzdHJhdGVneSBmb3IgYXNzZXNzaW5nIHNvaWwgcXVhbGl0eS4gVGhlIGhpZ2hlciB0aGUgZWZmb3J0cyBmb3IgcHJldHJlYXRtZW50IHVzZWQgb24gc29pbCBzYW1wbGVzLCB0aGUgYmV0dGVyIHRoZSBhbmFseXRpY2FsIHJlc3VsdHMgY2FuIGJlIGV4cGVjdGVkLiA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+OTY6MjAxMyBkb2VzIG5vdCBleHBsaWNpdGx5IHNwZWNpZnkgZWxlbWVudHMgZm9yIHdoaWNoIGl0IGlzIGFwcGxpY2FibGUsIHNpbmNlIHRoZSBhcHBsaWNhYmlsaXR5IGRlcGVuZHMgb24gdGhlIHBlcmZvcm1hbmNlIG9mIHRoZSBhcHBhcmF0dXMgYW5kIHRoZSBvYmplY3RpdmUgb2YgdGhlIHNjcmVlbmluZy4gVGhlIGVsZW1lbnRzIHdoaWNoIGNhbiBiZSBkZXRlcm1pbmVkIGFyZSBsaW1pdGVkIGJ5IHRoZSBwZXJmb3JtYW5jZSBvZiB0aGUgaW5zdHJ1bWVudHMgdXNlZCwgdGhlIGNvbmNlbnRyYXRpb24gb2YgdGhlIGVsZW1lbnQgcHJlc2VudCBpbiB0aGUgc29pbCwgYW5kIHRoZSByZXF1aXJlbWVudHMgb2YgdGhlIGludmVzdGlnYXRpb24gKGUuZy4gZ3VpZGVsaW5lIHZhbHVlKS4gRm9yIEhnLCBDZCwgQ28sIE1vLCBWIGFuZCBTYiwgYSBtYWpvcml0eSBvZiBpbnN0cnVtZW50cyBhcmUgbm90IHNlbnNpdGl2ZSBlbm91Z2ggdG8gcmVhY2ggc3VmZmljaWVudGx5IGxvdyBsaW1pdHMgb2YgcXVhbnRpZmljYXRpb24gKExPUSkgdG8gbWVldCB0aGUgcmVxdWlyZW1lbnRzIChsaW1pdCBvciB0aHJlc2hvbGQgdmFsdWVzKSBzZXQgaW4gdGhlIG9yZGluYW5jZXMgb2YgZGlmZmVyZW50IGNvdW50cmllcy4gSW4gdGhpcyBjYXNlLCBvdGhlciBtZXRob2RzIG5lZWQgdG8gYmUgZW1wbG95ZWQgdG8gbWVhc3VyZSB0aGVzZSBsb3cgY29uY2VudHJhdGlvbnMuIFVzdWFsbHksIHdldCBjaGVtaWNhbCBtZXRob2RzIGFyZSB1c2VkLCBiYXNlZCBvbiBhcXVhIHJlZ2lhIGV4dHJhY3RzLCBpbiBjb21iaW5hdGlvbiB3aXRoIG9wdGljYWwgb3IgbWFzcyBzcGVjdHJvbWV0cmljIChNUykgbWV0aG9kcyBsaWtlIGF0b21pYyBhYnNvcnB0aW9uIHNwZWN0cm9tZXRyeSAoQUFTKSwgaW5kdWN0aXZlbHkgY291cGxlZCBwbGFzbWEvb3B0aWNhbCBlbWlzc2lvbiBzcGVjdHJvbWV0cnkgKElDUC9PRVMpIG9yIElDUC9NUy4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDUvMzQvNTM0MDUiLCJ1dWlkIjoiZTRlZGY1ZmYtYTE1NC00YjZlLWFhZmYtZGY0YzRhYmZmODQ4IiwidGl0bGUiOiJJU08gMTMxNjQtMToyMDEzIFdhdGVyIHF1YWxpdHkg4oCUIFJhZG9uLTIyMiDigJQgUGFydCAxOiBHZW5lcmFsIHByaW5jaXBsZXMiLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDE5LCJvcmRlciI6MTEsInRleHQiOiJJU08gMTMxNjQtMToyMDEzIGdpdmVzIGdlbmVyYWwgZ3VpZGVsaW5lcyBmb3Igc2FtcGxpbmcsIHBhY2thZ2luZywgYW5kIHRyYW5zcG9ydGluZyBvZiBhbGwga2luZHMgb2Ygd2F0ZXIgc2FtcGxlcywgZm9yIHRoZSBtZWFzdXJlbWVudCBvZiB0aGUgYWN0aXZpdHkgY29uY2VudHJhdGlvbiBvZiByYWRvbi0yMjIuIFRoZSB0ZXN0IG1ldGhvZHMgZmFsbCBpbnRvIHR3byBjYXRlZ29yaWVzOiBhKSBkaXJlY3QgbWVhc3VyZW1lbnQgb2YgdGhlIHdhdGVyIHNhbXBsZSB3aXRob3V0IGFueSB0cmFuc2ZlciBvZiBwaGFzZSAoc2VlIElTTyAxMzE2NOKAkTIpOyBiKSBpbmRpcmVjdCBtZWFzdXJlbWVudCBpbnZvbHZpbmcgdGhlIHRyYW5zZmVyIG9mIHRoZSByYWRvbi0yMjIgZnJvbSB0aGUgYXF1ZW91cyBwaGFzZSB0byBhbm90aGVyIHBoYXNlIChzZWUgSVNPIDEzMTY04oCRMykuIFRoZSB0ZXN0IG1ldGhvZHMgY2FuIGJlIGFwcGxpZWQgZWl0aGVyIGluIHRoZSBsYWJvcmF0b3J5IG9yIG9uIHNpdGUuIFRoZSBsYWJvcmF0b3J5IGlzIHJlc3BvbnNpYmxlIGZvciBlbnN1cmluZyB0aGUgc3VpdGFiaWxpdHkgb2YgdGhlIHRlc3QgbWV0aG9kIGZvciB0aGUgd2F0ZXIgc2FtcGxlcyB0ZXN0ZWQuICIsIm9iamVjdElEIjoiNTM0MDVfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NjQtMToyMDEzIFdhdGVyIHF1YWxpdHkg4oCUIFJhZG9uLTIyMiDigJQgUGFydCAxOiBHZW5lcmFsIHByaW5jaXBsZXMiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjY0LTE6MjAxMyBnaXZlcyBnZW5lcmFsIGd1aWRlbGluZXMgZm9yIHNhbXBsaW5nLCBwYWNrYWdpbmcsIGFuZCB0cmFuc3BvcnRpbmcgb2YgYWxsIGtpbmRzIG9mIHdhdGVyIHNhbXBsZXMsIGZvciB0aGUgbWVhc3VyZW1lbnQgb2YgdGhlIGFjdGl2aXR5IGNvbmNlbnRyYXRpb24gb2YgcmFkb24tMjIyLiBUaGUgdGVzdCBtZXRob2RzIGZhbGwgaW50byB0d28gY2F0ZWdvcmllczogYSkgZGlyZWN0IG1lYXN1cmVtZW50IG9mIHRoZSB3YXRlciBzYW1wbGUgd2l0aG91dCBhbnkgdHJhbnNmZXIgb2YgcGhhc2UgKHNlZSA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NjTigJEyKTsgYikgaW5kaXJlY3QgbWVhc3VyZW1lbnQgaW52b2x2aW5nIHRoZSB0cmFuc2ZlciBvZiB0aGUgcmFkb24tMjIyIGZyb20gdGhlIGFxdWVvdXMgcGhhc2UgdG8gYW5vdGhlciBwaGFzZSAoc2VlIDxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT42NOKAkTMpLiBUaGUgdGVzdCBtZXRob2RzIGNhbiBiZSBhcHBsaWVkIGVpdGhlciBpbiB0aGUgbGFib3JhdG9yeSBvciBvbiBzaXRlLiBUaGUgbGFib3JhdG9yeSBpcyByZXNwb25zaWJsZSBmb3IgZW5zdXJpbmcgdGhlIHN1aXRhYmlsaXR5IG9mIHRoZSB0ZXN0IG1ldGhvZCBmb3IgdGhlIHdhdGVyIHNhbXBsZXMgdGVzdGVkLiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNS8zMy81MzMzMCIsInV1aWQiOiJiNmViMjE0Ni1hNGIzLTQ0Y2UtYjA3My1iNzU0OWMzNmU0ODYiLCJ0aXRsZSI6IklTTyAxMzEzNzoyMDEzIFdvcmtwbGFjZSBhdG1vc3BoZXJlcyDigJQgUHVtcHMgZm9yIHBlcnNvbmFsIHNhbXBsaW5nIG9mIGNoZW1pY2FsIGFuZCBiaW9sb2dpY2FsIGFnZW50cyDigJQgUmVxdWlyZW1lbnRzIGFuZCB0ZXN0IG1ldGhvZHMiLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDE5LCJvcmRlciI6MTEsInRleHQiOiJJU08gMTMxMzc6MjAxMyBzcGVjaWZpZXMgcGVyZm9ybWFuY2UgcmVxdWlyZW1lbnRzIGZvciBiYXR0ZXJ5IHBvd2VyZWQgcHVtcHMgdXNlZCBmb3IgcGVyc29uYWwgc2FtcGxpbmcgb2YgY2hlbWljYWwgYW5kIGJpb2xvZ2ljYWwgYWdlbnRzIGluIHdvcmtwbGFjZSBhaXIuIEl0IGFsc28gc3BlY2lmaWVzIHRlc3QgbWV0aG9kcyBpbiBvcmRlciB0byBkZXRlcm1pbmUgdGhlIHBlcmZvcm1hbmNlIGNoYXJhY3RlcmlzdGljcyBvZiBzdWNoIHB1bXBzIHVuZGVyIHByZXNjcmliZWQgbGFib3JhdG9yeSBjb25kaXRpb25zLiBJU08gMTMxMzc6MjAxMyBpcyBhcHBsaWNhYmxlIHRvIGJhdHRlcnkgcG93ZXJlZCBwdW1wcyBoYXZpbmcgYSBub21pbmFsIHZvbHVtZSBmbG93IHJhdGUgYWJvdmUgMTAgbWwg4ouFIG1pbiDiiJIxICwgYXMgdXNlZCB3aXRoIGNvbWJpbmF0aW9ucyBvZiBzYW1wbGVyIGFuZCBjb2xsZWN0aW9uIHN1YnN0cmF0ZSBmb3Igc2FtcGxpbmcgb2YgZ2FzZXMsIHZhcG91cnMsIGR1c3RzLCBmdW1lcywgbWlzdHMgYW5kIGZpYnJlcy4gSVNPIDEzMTM3OjIwMTMgaXMgcHJpbWFyaWx5IGludGVuZGVkIGZvciBmbG93LWNvbnRyb2xsZWQgcHVtcHMuICIsIm9iamVjdElEIjoiNTMzMzBfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+Mzc6MjAxMyBXb3JrcGxhY2UgYXRtb3NwaGVyZXMg4oCUIFB1bXBzIGZvciBwZXJzb25hbCBzYW1wbGluZyBvZiBjaGVtaWNhbCBhbmQgYmlvbG9naWNhbCBhZ2VudHMg4oCUIFJlcXVpcmVtZW50cyBhbmQgdGVzdCBtZXRob2RzIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT4zNzoyMDEzIHNwZWNpZmllcyBwZXJmb3JtYW5jZSByZXF1aXJlbWVudHMgZm9yIGJhdHRlcnkgcG93ZXJlZCBwdW1wcyB1c2VkIGZvciBwZXJzb25hbCBzYW1wbGluZyBvZiBjaGVtaWNhbCBhbmQgYmlvbG9naWNhbCBhZ2VudHMgaW4gd29ya3BsYWNlIGFpci4gSXQgYWxzbyBzcGVjaWZpZXMgdGVzdCBtZXRob2RzIGluIG9yZGVyIHRvIGRldGVybWluZSB0aGUgcGVyZm9ybWFuY2UgY2hhcmFjdGVyaXN0aWNzIG9mIHN1Y2ggcHVtcHMgdW5kZXIgcHJlc2NyaWJlZCBsYWJvcmF0b3J5IGNvbmRpdGlvbnMuIDxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT4zNzoyMDEzIGlzIGFwcGxpY2FibGUgdG8gYmF0dGVyeSBwb3dlcmVkIHB1bXBzIGhhdmluZyBhIG5vbWluYWwgdm9sdW1lIGZsb3cgcmF0ZSBhYm92ZSAxMCBtbCDii4UgbWluIOKIkjEgLCBhcyB1c2VkIHdpdGggY29tYmluYXRpb25zIG9mIHNhbXBsZXIgYW5kIGNvbGxlY3Rpb24gc3Vic3RyYXRlIGZvciBzYW1wbGluZyBvZiBnYXNlcywgdmFwb3VycywgZHVzdHMsIGZ1bWVzLCBtaXN0cyBhbmQgZmlicmVzLiA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+Mzc6MjAxMyBpcyBwcmltYXJpbHkgaW50ZW5kZWQgZm9yIGZsb3ctY29udHJvbGxlZCBwdW1wcy4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDUvMzAvNTMwMTkiLCJ1dWlkIjoiNDEzZWE3NTktNWJhMy00ZTIzLTllM2EtNDY5YzMzMjM3YjQ4IiwidGl0bGUiOiJJU08gMTMxMjc6MjAxMiBQYWNrYWdpbmcg4oCUIENoaWxkIHJlc2lzdGFudCBwYWNrYWdpbmcg4oCUIE1lY2hhbmljYWwgdGVzdCBtZXRob2RzIGZvciByZWNsb3NhYmxlIGNoaWxkIHJlc2lzdGFudCBwYWNrYWdpbmcgc3lzdGVtcyIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMTksIm9yZGVyIjoxMSwidGV4dCI6IklTTyAxMzEyNzoyMDEyIHNwZWNpZmllcyB0ZXN0IG1ldGhvZHMgZm9yIG1lY2hhbmljYWwgdGVzdGluZyBvZiByZWNsb3NhYmxlIGNoaWxkIHJlc2lzdGFudCBwYWNrYWdpbmcuIFRoZSBkYXRhIGdlbmVyYXRlZCBieSB0aGVzZSBtZWNoYW5pY2FsIHRlc3QgbWV0aG9kcyBhcmUgc3VpdGFibGUgZm9yIGNvbXBhcmluZyBjaGlsZCByZXNpc3RhbnQgY2hhcmFjdGVyaXN0aWNzIG9mIHJlbGF0ZWQgcmVjbG9zYWJsZSBwYWNrYWdpbmcgc3lzdGVtcy4gIiwib2JqZWN0SUQiOiI1MzAxOV8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT4yNzoyMDEyIFBhY2thZ2luZyDigJQgQ2hpbGQgcmVzaXN0YW50IHBhY2thZ2luZyDigJQgTWVjaGFuaWNhbCB0ZXN0IG1ldGhvZHMgZm9yIHJlY2xvc2FibGUgY2hpbGQgcmVzaXN0YW50IHBhY2thZ2luZyBzeXN0ZW1zIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT4yNzoyMDEyIHNwZWNpZmllcyB0ZXN0IG1ldGhvZHMgZm9yIG1lY2hhbmljYWwgdGVzdGluZyBvZiByZWNsb3NhYmxlIGNoaWxkIHJlc2lzdGFudCBwYWNrYWdpbmcuIFRoZSBkYXRhIGdlbmVyYXRlZCBieSB0aGVzZSBtZWNoYW5pY2FsIHRlc3QgbWV0aG9kcyBhcmUgc3VpdGFibGUgZm9yIGNvbXBhcmluZyBjaGlsZCByZXNpc3RhbnQgY2hhcmFjdGVyaXN0aWNzIG9mIHJlbGF0ZWQgcmVjbG9zYWJsZSBwYWNrYWdpbmcgc3lzdGVtcy4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDUvMjgvNTI4MzYiLCJ1dWlkIjoiYjdkNjFjODQtNjgxMS00NThiLWE0YTktYzU3MDNlNzk4NjY4IiwidGl0bGUiOiJJU08gMTMxMDY6MjAxNCBQbGFzdGljcyDigJQgQmxvdy1tb3VsZGVkIHBvbHlwcm9weWxlbmUgY29udGFpbmVycyBmb3IgcGFja2FnaW5nIG9mIGxpcXVpZCBmb29kc3R1ZmZzIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAxOSwib3JkZXIiOjExLCJ0ZXh0IjoiSVNPIDEzMTA2OjIwMTQgcHJvdmlkZXMgdGhlIHJlcXVpcmVtZW50cyBmb3IgcG9seXByb3B5bGVuZSByZXNpbnMgaW50ZW5kZWQgZm9yIHVzZSBpbiBibG93LW1vdWxkZWQsIHJvdW5kIGNvbnRhaW5lcnMgd2l0aCBjYXBhY2l0aWVzIHVwIHRvLCBhbmQgaW5jbHVkaW5nIHR3byBsaXRyZXMgaW50ZW5kZWQgZm9yIHRoZSBwYWNrYWdpbmcgb2YgbGlxdWlkcyBmb3IgaHVtYW4gY29uc3VtcHRpb24uIElTTyAxMzEwNjoyMDE0IGFsc28gcHJvdmlkZXMgdG9sZXJhbmNlcyBvbiBtYXNzLCBkaW1lbnNpb25zLCBtZXRob2RzIG9mIHNhbXBsaW5nLCB0ZXN0aW5nLCBhbmQgcGVyZm9ybWFuY2UgcmVxdWlyZW1lbnRzLiAiLCJvYmplY3RJRCI6IjUyODM2XzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjA2OjIwMTQgUGxhc3RpY3Mg4oCUIEJsb3ctbW91bGRlZCBwb2x5cHJvcHlsZW5lIGNvbnRhaW5lcnMgZm9yIHBhY2thZ2luZyBvZiBsaXF1aWQgZm9vZHN0dWZmcyIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+MDY6MjAxNCBwcm92aWRlcyB0aGUgcmVxdWlyZW1lbnRzIGZvciBwb2x5cHJvcHlsZW5lIHJlc2lucyBpbnRlbmRlZCBmb3IgdXNlIGluIGJsb3ctbW91bGRlZCwgcm91bmQgY29udGFpbmVycyB3aXRoIGNhcGFjaXRpZXMgdXAgdG8sIGFuZCBpbmNsdWRpbmcgdHdvIGxpdHJlcyBpbnRlbmRlZCBmb3IgdGhlIHBhY2thZ2luZyBvZiBsaXF1aWRzIGZvciBodW1hbiBjb25zdW1wdGlvbi4gPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjA2OjIwMTQgYWxzbyBwcm92aWRlcyB0b2xlcmFuY2VzIG9uIG1hc3MsIGRpbWVuc2lvbnMsIG1ldGhvZHMgb2Ygc2FtcGxpbmcsIHRlc3RpbmcsIGFuZCBwZXJmb3JtYW5jZSByZXF1aXJlbWVudHMuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA2Lzg3LzY4NzY5IiwidXVpZCI6IjM2YTY2MzIwLWMwZjgtNGE4NC1iYmUxLTgwZDMyNTE2OGNkNiIsInRpdGxlIjoiSVNPIDEzMTY5OjIwMTggV2F0ZXIgcXVhbGl0eSDigJQgVXJhbml1bSDigJQgVGVzdCBtZXRob2QgdXNpbmcgYWxwaGEgbGlxdWlkIHNjaW50aWxsYXRpb24gY291bnRpbmciLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDE4LCJvcmRlciI6MTEsInRleHQiOiJUaGlzIGRvY3VtZW50IHNwZWNpZmllcyB0aGUgbWVhc3VyZW1lbnQgbWV0aG9kIGZvciB0aGUgZGV0ZXJtaW5hdGlvbiBvZiB0b3RhbCBhY3Rpdml0eSBjb25jZW50cmF0aW9uIG9mIHVyYW5pdW0gaXNvdG9wZXMgaW4gbm9uLXNhbGluZSB3YXRlcnMgYnkgZXh0cmFjdGlvbiBhbmQgbGlxdWlkIHNjaW50aWxsYXRpb24gY291bnRpbmcuIFRoaXMgbWV0aG9kIGNvdmVycyB0aGUgbWVhc3VyZW1lbnQgb2Ygc29sdWJsZSB1cmFuaXVtIGlzb3RvcGVzIGluIHdhdGVyIGluIGFjdGl2aXR5IGNvbmNlbnRyYXRpb25zIGJldHdlZW4gYXBwcm94aW1hdGVseSAywrcxMCDiiJIzIEJxL2tnIGFuZCAxMCBCcS9rZyB3aGVuIGFuYWx5c2luZyBhIDEgbCB0ZXN0IHNhbXBsZSB2b2x1bWUgd2l0aCBhIDYwIDAwMCBzIGNvdW50aW5nIHRpbWUgd2l0aCBhIHR5cGljYWwgYWxwaGEgTFNDIGluc3RydW1lbnQuIFRoZSByYXRpbyAyMzQgVS8gMjM4IFUgY2FuIGFsc28gYmUgZGV0ZXJtaW5lZC4gVGhpcyBtZXRob2QgaGFzIG5vdCBiZWVuIHRlc3RlZCBmb3IgdGhlIG1lYXN1cmVtZW50IG9mIG90aGVyIHVyYW5pdW0gaXNvdG9wZXMuICIsIm9iamVjdElEIjoiNjg3NjlfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+Njk6MjAxOCBXYXRlciBxdWFsaXR5IOKAlCBVcmFuaXVtIOKAlCBUZXN0IG1ldGhvZCB1c2luZyBhbHBoYSBsaXF1aWQgc2NpbnRpbGxhdGlvbiBjb3VudGluZyIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiJUaGlzIGRvY3VtZW50IHNwZWNpZmllcyB0aGUgbWVhc3VyZW1lbnQgbWV0aG9kIGZvciB0aGUgZGV0ZXJtaW5hdGlvbiBvZiB0b3RhbCBhY3Rpdml0eSBjb25jZW50cmF0aW9uIG9mIHVyYW5pdW0gaXNvdG9wZXMgaW4gbm9uLXNhbGluZSB3YXRlcnMgYnkgZXh0cmFjdGlvbiBhbmQgbGlxdWlkIHNjaW50aWxsYXRpb24gY291bnRpbmcuIFRoaXMgbWV0aG9kIGNvdmVycyB0aGUgbWVhc3VyZW1lbnQgb2Ygc29sdWJsZSB1cmFuaXVtIGlzb3RvcGVzIGluIHdhdGVyIGluIGFjdGl2aXR5IGNvbmNlbnRyYXRpb25zIGJldHdlZW4gYXBwcm94aW1hdGVseSAywrcxMCDiiJIzIEJxL2tnIGFuZCAxMCBCcS9rZyB3aGVuIGFuYWx5c2luZyBhIDEgbCB0ZXN0IHNhbXBsZSB2b2x1bWUgd2l0aCBhIDYwIDAwMCBzIGNvdW50aW5nIHRpbWUgd2l0aCBhIHR5cGljYWwgYWxwaGEgTFNDIGluc3RydW1lbnQuIFRoZSByYXRpbyAyMzQgVS8gMjM4IFUgY2FuIGFsc28gYmUgZGV0ZXJtaW5lZC4gVGhpcyBtZXRob2QgaGFzIG5vdCBiZWVuIHRlc3RlZCBmb3IgdGhlIG1lYXN1cmVtZW50IG9mIG90aGVyIHVyYW5pdW0gaXNvdG9wZXMuICIsIm1hdGNoTGV2ZWwiOiJub25lIiwibWF0Y2hlZFdvcmRzIjpbXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA2LzE1LzYxNTcyIiwidXVpZCI6IjYzOGExOTc4LTk2ZmItNDg4OC05ODEwLWVkY2VmYjllYmJmZiIsInRpdGxlIjoiSVNPIDEzMTg1LTM6MjAxOCBJbnRlbGxpZ2VudCB0cmFuc3BvcnQgc3lzdGVtcyAg4oCUIFZlaGljbGUgaW50ZXJmYWNlIGZvciBwcm92aXNpb25pbmcgYW5kIHN1cHBvcnQgb2YgSVRTIFNlcnZpY2VzIOKAlCBQYXJ0IDM6IFVuaWZpZWQgdmVoaWNsZSBpbnRlcmZhY2UgcHJvdG9jb2wgKFVWSVApIHNlcnZlciBhbmQgY2xpZW50IEFQSSBzcGVjaWZpY2F0aW9uIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAxOCwib3JkZXIiOjExLCJ0ZXh0IjoiVGhpcyBkb2N1bWVudCBzcGVjaWZpZXMgdGhlIHNlcnZlciBhbmQgY2xpZW50IEFQSXMgb2YgdGhlIFVuaWZpZWQgR2F0ZXdheSBQcm90b2NvbCAoVUdQKS4gRmlndXJlIDEgc2hvd3MgYW4gb3ZlcnZpZXcgb2YgdGhlIFVHUCBjbGllbnQgYW5kIHNlcnZlciBBUEkuIEEgVUdQIGNsaWVudCBhcHBsaWNhdGlvbiBvbiBhIFAtSVRTLVMgY29tbXVuaWNhdGVzIHdpdGggYSBVR1Agc2VydmVyIGFwcGxpY2F0aW9uIG9uIGEgVi1JVFMtUy4gVGhlIFVHUCBjbGllbnQgYXBwbGljYXRpb24gaW1wbGVtZW50cyB0aGUgVUdQIGNsaWVudCBBUEkgdXNpbmcgSVNPIDEzMTg1LTIuIFRoZSBVR1Agc2VydmVyIGFwcGxpY2F0aW9uIGltcGxlbWVudHMgdGhlIFVHUCBzZXJ2ZXIgQVBJIHVzaW5nIElTTyAxMzE4NS0yLiAiLCJvYmplY3RJRCI6IjYxNTcyXzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjg1LTM6MjAxOCBJbnRlbGxpZ2VudCB0cmFuc3BvcnQgc3lzdGVtcyAg4oCUIFZlaGljbGUgaW50ZXJmYWNlIGZvciBwcm92aXNpb25pbmcgYW5kIHN1cHBvcnQgb2YgSVRTIFNlcnZpY2VzIOKAlCBQYXJ0IDM6IFVuaWZpZWQgdmVoaWNsZSBpbnRlcmZhY2UgcHJvdG9jb2wgKFVWSVApIHNlcnZlciBhbmQgY2xpZW50IEFQSSBzcGVjaWZpY2F0aW9uIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IlRoaXMgZG9jdW1lbnQgc3BlY2lmaWVzIHRoZSBzZXJ2ZXIgYW5kIGNsaWVudCBBUElzIG9mIHRoZSBVbmlmaWVkIEdhdGV3YXkgUHJvdG9jb2wgKFVHUCkuIEZpZ3VyZSAxIHNob3dzIGFuIG92ZXJ2aWV3IG9mIHRoZSBVR1AgY2xpZW50IGFuZCBzZXJ2ZXIgQVBJLiBBIFVHUCBjbGllbnQgYXBwbGljYXRpb24gb24gYSBQLUlUUy1TIGNvbW11bmljYXRlcyB3aXRoIGEgVUdQIHNlcnZlciBhcHBsaWNhdGlvbiBvbiBhIFYtSVRTLVMuIFRoZSBVR1AgY2xpZW50IGFwcGxpY2F0aW9uIGltcGxlbWVudHMgdGhlIFVHUCBjbGllbnQgQVBJIHVzaW5nIDxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT44NS0yLiBUaGUgVUdQIHNlcnZlciBhcHBsaWNhdGlvbiBpbXBsZW1lbnRzIHRoZSBVR1Agc2VydmVyIEFQSSB1c2luZyA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+ODUtMi4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDUvMzYvNTM2NjAiLCJ1dWlkIjoiNzdlNTc1NDAtYjM1NS00MWMyLWE5Y2QtMDI2MmQwN2I4YTI4IiwidGl0bGUiOiJJU08gMTMxNzQ6MjAxMiBDYXRob2RpYyBwcm90ZWN0aW9uIG9mIGhhcmJvdXIgaW5zdGFsbGF0aW9ucyIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMTgsIm9yZGVyIjoxMSwidGV4dCI6IklTTyAxMzE3NDoyMDEyIGRlZmluZXMgdGhlIG1lYW5zIHRvIGJlIHVzZWQgdG8gZW5zdXJlIHRoYXQgY2F0aG9kaWMgcHJvdGVjdGlvbiBpcyBlZmZpY2llbnRseSBhcHBsaWVkIHRvIHRoZSBpbW1lcnNlZCBhbmQgZHJpdmVuL2J1cmllZCBtZXRhbGxpYyBleHRlcm5hbCBzdXJmYWNlcyBvZiBzdGVlbCBwb3J0LCBoYXJib3VyLCBjb2FzdGFsIGFuZCBmbG9vZCBkZWZlbmNlIGluc3RhbGxhdGlvbnMgYW5kIGFwcHVydGVuYW5jZXMgaW4gc2Vhd2F0ZXIgYW5kIHNhbGluZSBtdWQgdG8gcHJvdmlkZSBwcm90ZWN0aW9uIGZyb20gY29ycm9zaW9uLiBJU08gMTMxNzQ6MjAxMiBzcGVjaWZpZXMgY2F0aG9kaWMgcHJvdGVjdGlvbiBvZiBmaXhlZCBhbmQgZmxvYXRpbmcgcG9ydCBhbmQgaGFyYm91ciBzdHJ1Y3R1cmVzLiBUaGlzIGluY2x1ZGVzIHBpZXJzLCBqZXR0aWVzLCBkb2xwaGlucyAobW9vcmluZyBhbmQgYmVydGhpbmcpLCBzaGVldCBvciB0dWJ1bGFyIHBpbGluZywgcG9udG9vbnMsIGJ1b3lzLCBmbG9hdGluZyBkb2NrcywgbG9jayBhbmQgc2x1aWNlIGdhdGVzLiBJdCBhbHNvIHNwZWNpZmllcyBjYXRob2RpYyBwcm90ZWN0aW9uIG9mIHRoZSBzdWJtZXJnZWQgYXJlYXMgb2YgYXBwdXJ0ZW5hbmNlcywgc3VjaCBhcyBjaGFpbnMgYXR0YWNoZWQgdG8gdGhlIHN0cnVjdHVyZSwgd2hlbiB0aGVzZSBhcmUgbm90IGVsZWN0cmljYWxseSBpc29sYXRlZCBmcm9tIHRoZSBzdHJ1Y3R1cmUuIElTTyAxMzE3NDoyMDEyIGlzIHRvIGJlIHVzZWQgaW4gcmVzcGVjdCBvZiBjYXRob2RpYyBwcm90ZWN0aW9uIHN5c3RlbXMgd2hlcmUgdGhlIGFub2RlcyBhcmUgZXhwb3NlZCB0byB3YXRlciBvciBzYWxpbmUgbXVkLiBGb3IgYnVyaWVkIGFyZWFzLCB0eXBpY2FsbHkgaW4gc29pbCBvciBzYW5kIGZpbGxlZCBhcmVhcyBiZWhpbmQgcGlsZWQgd2FsbHMgb3Igd2l0aGluIGZpbGxlZCBjYWlzc29ucywgd2hpY2ggbWF5IGJlIHNpZ25pZmljYW50bHkgYWZmZWN0ZWQgYnkgY29ycm9zaW9uLCBzcGVjaWZpYyBjYXRob2RpYyBwcm90ZWN0aW9uIGRlc2lnbiBhbmQgb3BlcmF0aW9uIHJlcXVpcmVtZW50cyBhcmUgZGVmaW5lZCBpbiBFTiAxMjk1NCwgdGhlIGFub2RlcyBiZWluZyBleHBvc2VkIHRvIHNvaWxzLiBJU08gMTMxNzQ6MjAxMiBkb2VzIG5vdCBjb3ZlciB0aGUgY2F0aG9kaWMgcHJvdGVjdGlvbiBvZiBmaXhlZCBvciBmbG9hdGluZyBvZmZzaG9yZSBzdHJ1Y3R1cmVzIChpbmNsdWRpbmcgb2Zmc2hvcmUgbG9hZGluZyBidW95cyksIHN1Ym1hcmluZSBwaXBlbGluZXMgb3Igc2hpcHMuIElTTyAxMzE3NDoyMDEyIGRvZXMgbm90IGluY2x1ZGUgdGhlIGludGVybmFsIHByb3RlY3Rpb24gb2Ygc3VyZmFjZXMgb2YgYW55IGNvbXBvbmVudHMgc3VjaCBhcyBiYWxsYXN0IHRhbmtzLCBpbnRlcm5hbHMgb2YgZmxvYXRpbmcgc3RydWN0dXJlcyBmbG9vZGVkIGNvbXBhcnRtZW50cyBvZiBsb2NrIGFuZCBzbHVpY2UgZ2F0ZXMgb3IgdGhlIGludGVybmFscyBvZiB0dWJ1bGFyIHN0ZWVsIHBpbGVzLiBJU08gMTMxNzQ6MjAxMiBjb3ZlcnMgdGhlIGNhdGhvZGljIHByb3RlY3Rpb24gb2Ygc3RydWN0dXJlcyBmYWJyaWNhdGVkIHByaW5jaXBhbGx5IGZyb20gYmFyZSBvciBjb2F0ZWQgY2FyYm9uIGFuZCBjYXJib24gbWFuZ2FuZXNlIHN0ZWVscy4gQXMgc29tZSBwYXJ0cyBvZiB0aGUgc3RydWN0dXJlIG1heSBiZSBtYWRlIG9mIG1ldGFsbGljIG1hdGVyaWFscyBvdGhlciB0aGFuIGNhcmJvbiBzdGVlbHMsIHRoZSBjYXRob2RpYyBwcm90ZWN0aW9uIHN5c3RlbSBzaG91bGQgYmUgZGVzaWduZWQgdG8gZW5zdXJlIHRoYXQgdGhlcmUgaXMgYSBjb21wbGV0ZSBjb250cm9sIG92ZXIgYW55IGdhbHZhbmljIGNvdXBsaW5nIGFuZCBtaW5pbWl6ZSByaXNrcyBkdWUgdG8gaHlkcm9nZW4gZW1icml0dGxlbWVudCBvciBoeWRyb2dlbi1pbmR1Y2VkIGNyYWNraW5nIChzZWUgSVNPIDEyNDczICkuIElTTyAxMzE3NDoyMDEyIGRvZXMgbm90IGFkZHJlc3Mgc3RlZWwgcmVpbmZvcmNlZCBjb25jcmV0ZSBzdHJ1Y3R1cmVzIChzZWUgRU4gMTI2OTYpLiBJU08gMTMxNzQ6MjAxMiBpcyBhcHBsaWNhYmxlIHRvIHRoZSB3aG9sZSBzdWJtZXJnZWQgem9uZSBpbiBzZWF3YXRlciwgYnJhY2tpc2ggd2F0ZXJzIGFuZCBzYWxpbmUgbXVkIGFuZCByZWxhdGVkIGJ1cmllZCBhcmVhcyB3aGljaCBjYW4gbm9ybWFsbHkgYmUgZm91bmQgaW4gcG9ydCwgaGFyYm91ciwgY29hc3RhbCBhbmQgZmxvb2QgZGVmZW5jZSBpbnN0YWxsYXRpb25zIHdoZXJldmVyIHRoZXNlIHN0cnVjdHVyZXMgYXJlIGZpeGVkIG9yIGZsb2F0aW5nLiBGb3Igc3VyZmFjZXMgd2hpY2ggYXJlIGFsdGVybmF0ZWx5IGltbWVyc2VkIGFuZCBleHBvc2VkIHRvIHRoZSBhdG1vc3BoZXJlLCB0aGUgY2F0aG9kaWMgcHJvdGVjdGlvbiBpcyBvbmx5IGVmZmVjdGl2ZSB3aGVuIHRoZSBpbW1lcnNpb24gdGltZSBpcyBsb25nIGVub3VnaCBmb3IgdGhlIHN0ZWVsIHRvIGJlY29tZSBwb2xhcml6ZWQuIFR5cGljYWxseSwgZWZmZWN0aXZlIGNhdGhvZGljIHByb3RlY3Rpb24gaXMgYWNoaWV2ZWQgZm9yIGFsbCBzdXJmYWNlcyBiZWxvdyBtaWQgdGlkZS4gRm9yIHN0cnVjdHVyZXMgc3VjaCBhcyBzaGVldCBzdGVlbCBhbmQgdHVidWxhciBzdGVlbCBwaWxlcyB0aGF0IGFyZSBkcml2ZW4gaW50byB0aGUgc2VhIGJlZCBvciB0aG9zZSB0aGF0IGFyZSBwYXJ0aWFsbHkgYnVyaWVkIG9yIGNvdmVyZWQgaW4gbXVkLCBJU08gMTMxNzQ6MjAxMiBpcyBhbHNvIGFwcGxpY2FibGUgdG8gdGhlIHN1cmZhY2VzIGJ1cmllZCwgZHJpdmVuIGFuZCBleHBvc2VkIHRvIG11ZCB3aGljaCBhcmUgaW50ZW5kZWQgdG8gcmVjZWl2ZSBjYXRob2RpYyBwcm90ZWN0aW9uIGFsb25nIHdpdGggc3VyZmFjZXMgaW1tZXJzZWQgaW4gd2F0ZXIuIENhdGhvZGljIHByb3RlY3Rpb24gbWF5IGFsc28gYmUgYXBwbGllZCB0byB0aGUgcmVhciBmYWNlcyBvZiBzaGVldCBzdGVlbCBwaWxlZCB3YWxscyBhbmQgdGhlIGludGVybmFsIHN1cmZhY2VzIG9mIGZpbGxlZCBjYWlzc29ucy4gQ2F0aG9kaWMgcHJvdGVjdGlvbiBvZiBzdWNoIHN1cmZhY2VzIGlzIHNwZWNpZmllZCBieSBFTiAxMjk1NC4gIiwib2JqZWN0SUQiOiI1MzY2MF8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT43NDoyMDEyIENhdGhvZGljIHByb3RlY3Rpb24gb2YgaGFyYm91ciBpbnN0YWxsYXRpb25zIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT43NDoyMDEyIGRlZmluZXMgdGhlIG1lYW5zIHRvIGJlIHVzZWQgdG8gZW5zdXJlIHRoYXQgY2F0aG9kaWMgcHJvdGVjdGlvbiBpcyBlZmZpY2llbnRseSBhcHBsaWVkIHRvIHRoZSBpbW1lcnNlZCBhbmQgZHJpdmVuL2J1cmllZCBtZXRhbGxpYyBleHRlcm5hbCBzdXJmYWNlcyBvZiBzdGVlbCBwb3J0LCBoYXJib3VyLCBjb2FzdGFsIGFuZCBmbG9vZCBkZWZlbmNlIGluc3RhbGxhdGlvbnMgYW5kIGFwcHVydGVuYW5jZXMgaW4gc2Vhd2F0ZXIgYW5kIHNhbGluZSBtdWQgdG8gcHJvdmlkZSBwcm90ZWN0aW9uIGZyb20gY29ycm9zaW9uLiA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NzQ6MjAxMiBzcGVjaWZpZXMgY2F0aG9kaWMgcHJvdGVjdGlvbiBvZiBmaXhlZCBhbmQgZmxvYXRpbmcgcG9ydCBhbmQgaGFyYm91ciBzdHJ1Y3R1cmVzLiBUaGlzIGluY2x1ZGVzIHBpZXJzLCBqZXR0aWVzLCBkb2xwaGlucyAobW9vcmluZyBhbmQgYmVydGhpbmcpLCBzaGVldCBvciB0dWJ1bGFyIHBpbGluZywgcG9udG9vbnMsIGJ1b3lzLCBmbG9hdGluZyBkb2NrcywgbG9jayBhbmQgc2x1aWNlIGdhdGVzLiBJdCBhbHNvIHNwZWNpZmllcyBjYXRob2RpYyBwcm90ZWN0aW9uIG9mIHRoZSBzdWJtZXJnZWQgYXJlYXMgb2YgYXBwdXJ0ZW5hbmNlcywgc3VjaCBhcyBjaGFpbnMgYXR0YWNoZWQgdG8gdGhlIHN0cnVjdHVyZSwgd2hlbiB0aGVzZSBhcmUgbm90IGVsZWN0cmljYWxseSBpc29sYXRlZCBmcm9tIHRoZSBzdHJ1Y3R1cmUuIDxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT43NDoyMDEyIGlzIHRvIGJlIHVzZWQgaW4gcmVzcGVjdCBvZiBjYXRob2RpYyBwcm90ZWN0aW9uIHN5c3RlbXMgd2hlcmUgdGhlIGFub2RlcyBhcmUgZXhwb3NlZCB0byB3YXRlciBvciBzYWxpbmUgbXVkLiBGb3IgYnVyaWVkIGFyZWFzLCB0eXBpY2FsbHkgaW4gc29pbCBvciBzYW5kIGZpbGxlZCBhcmVhcyBiZWhpbmQgcGlsZWQgd2FsbHMgb3Igd2l0aGluIGZpbGxlZCBjYWlzc29ucywgd2hpY2ggbWF5IGJlIHNpZ25pZmljYW50bHkgYWZmZWN0ZWQgYnkgY29ycm9zaW9uLCBzcGVjaWZpYyBjYXRob2RpYyBwcm90ZWN0aW9uIGRlc2lnbiBhbmQgb3BlcmF0aW9uIHJlcXVpcmVtZW50cyBhcmUgZGVmaW5lZCBpbiBFTiAxMjk1NCwgdGhlIGFub2RlcyBiZWluZyBleHBvc2VkIHRvIHNvaWxzLiA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NzQ6MjAxMiBkb2VzIG5vdCBjb3ZlciB0aGUgY2F0aG9kaWMgcHJvdGVjdGlvbiBvZiBmaXhlZCBvciBmbG9hdGluZyBvZmZzaG9yZSBzdHJ1Y3R1cmVzIChpbmNsdWRpbmcgb2Zmc2hvcmUgbG9hZGluZyBidW95cyksIHN1Ym1hcmluZSBwaXBlbGluZXMgb3Igc2hpcHMuIDxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT43NDoyMDEyIGRvZXMgbm90IGluY2x1ZGUgdGhlIGludGVybmFsIHByb3RlY3Rpb24gb2Ygc3VyZmFjZXMgb2YgYW55IGNvbXBvbmVudHMgc3VjaCBhcyBiYWxsYXN0IHRhbmtzLCBpbnRlcm5hbHMgb2YgZmxvYXRpbmcgc3RydWN0dXJlcyBmbG9vZGVkIGNvbXBhcnRtZW50cyBvZiBsb2NrIGFuZCBzbHVpY2UgZ2F0ZXMgb3IgdGhlIGludGVybmFscyBvZiB0dWJ1bGFyIHN0ZWVsIHBpbGVzLiA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NzQ6MjAxMiBjb3ZlcnMgdGhlIGNhdGhvZGljIHByb3RlY3Rpb24gb2Ygc3RydWN0dXJlcyBmYWJyaWNhdGVkIHByaW5jaXBhbGx5IGZyb20gYmFyZSBvciBjb2F0ZWQgY2FyYm9uIGFuZCBjYXJib24gbWFuZ2FuZXNlIHN0ZWVscy4gQXMgc29tZSBwYXJ0cyBvZiB0aGUgc3RydWN0dXJlIG1heSBiZSBtYWRlIG9mIG1ldGFsbGljIG1hdGVyaWFscyBvdGhlciB0aGFuIGNhcmJvbiBzdGVlbHMsIHRoZSBjYXRob2RpYyBwcm90ZWN0aW9uIHN5c3RlbSBzaG91bGQgYmUgZGVzaWduZWQgdG8gZW5zdXJlIHRoYXQgdGhlcmUgaXMgYSBjb21wbGV0ZSBjb250cm9sIG92ZXIgYW55IGdhbHZhbmljIGNvdXBsaW5nIGFuZCBtaW5pbWl6ZSByaXNrcyBkdWUgdG8gaHlkcm9nZW4gZW1icml0dGxlbWVudCBvciBoeWRyb2dlbi1pbmR1Y2VkIGNyYWNraW5nIChzZWUgPGVtPklTTzwvZW0+IDEyNDczICkuIDxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT43NDoyMDEyIGRvZXMgbm90IGFkZHJlc3Mgc3RlZWwgcmVpbmZvcmNlZCBjb25jcmV0ZSBzdHJ1Y3R1cmVzIChzZWUgRU4gMTI2OTYpLiA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NzQ6MjAxMiBpcyBhcHBsaWNhYmxlIHRvIHRoZSB3aG9sZSBzdWJtZXJnZWQgem9uZSBpbiBzZWF3YXRlciwgYnJhY2tpc2ggd2F0ZXJzIGFuZCBzYWxpbmUgbXVkIGFuZCByZWxhdGVkIGJ1cmllZCBhcmVhcyB3aGljaCBjYW4gbm9ybWFsbHkgYmUgZm91bmQgaW4gcG9ydCwgaGFyYm91ciwgY29hc3RhbCBhbmQgZmxvb2QgZGVmZW5jZSBpbnN0YWxsYXRpb25zIHdoZXJldmVyIHRoZXNlIHN0cnVjdHVyZXMgYXJlIGZpeGVkIG9yIGZsb2F0aW5nLiBGb3Igc3VyZmFjZXMgd2hpY2ggYXJlIGFsdGVybmF0ZWx5IGltbWVyc2VkIGFuZCBleHBvc2VkIHRvIHRoZSBhdG1vc3BoZXJlLCB0aGUgY2F0aG9kaWMgcHJvdGVjdGlvbiBpcyBvbmx5IGVmZmVjdGl2ZSB3aGVuIHRoZSBpbW1lcnNpb24gdGltZSBpcyBsb25nIGVub3VnaCBmb3IgdGhlIHN0ZWVsIHRvIGJlY29tZSBwb2xhcml6ZWQuIFR5cGljYWxseSwgZWZmZWN0aXZlIGNhdGhvZGljIHByb3RlY3Rpb24gaXMgYWNoaWV2ZWQgZm9yIGFsbCBzdXJmYWNlcyBiZWxvdyBtaWQgdGlkZS4gRm9yIHN0cnVjdHVyZXMgc3VjaCBhcyBzaGVldCBzdGVlbCBhbmQgdHVidWxhciBzdGVlbCBwaWxlcyB0aGF0IGFyZSBkcml2ZW4gaW50byB0aGUgc2VhIGJlZCBvciB0aG9zZSB0aGF0IGFyZSBwYXJ0aWFsbHkgYnVyaWVkIG9yIGNvdmVyZWQgaW4gbXVkLCA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NzQ6MjAxMiBpcyBhbHNvIGFwcGxpY2FibGUgdG8gdGhlIHN1cmZhY2VzIGJ1cmllZCwgZHJpdmVuIGFuZCBleHBvc2VkIHRvIG11ZCB3aGljaCBhcmUgaW50ZW5kZWQgdG8gcmVjZWl2ZSBjYXRob2RpYyBwcm90ZWN0aW9uIGFsb25nIHdpdGggc3VyZmFjZXMgaW1tZXJzZWQgaW4gd2F0ZXIuIENhdGhvZGljIHByb3RlY3Rpb24gbWF5IGFsc28gYmUgYXBwbGllZCB0byB0aGUgcmVhciBmYWNlcyBvZiBzaGVldCBzdGVlbCBwaWxlZCB3YWxscyBhbmQgdGhlIGludGVybmFsIHN1cmZhY2VzIG9mIGZpbGxlZCBjYWlzc29ucy4gQ2F0aG9kaWMgcHJvdGVjdGlvbiBvZiBzdWNoIHN1cmZhY2VzIGlzIHNwZWNpZmllZCBieSBFTiAxMjk1NC4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDUvMzQvNTM0NDkiLCJ1dWlkIjoiODVhMzhiNmYtMjE0NS00ZDM2LWEzNjgtNmZkNGE3MDJkNjM2IiwidGl0bGUiOiJJU08gMTMxODM6MjAxMiBJbnRlbGxpZ2VudCB0cmFuc3BvcnQgc3lzdGVtcyDigJQgQ29tbXVuaWNhdGlvbnMgYWNjZXNzIGZvciBsYW5kIG1vYmlsZXMgKENBTE0pIOKAlCBVc2luZyBicm9hZGNhc3QgY29tbXVuaWNhdGlvbnMiLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDE4LCJvcmRlciI6MTEsInRleHQiOiJJU08gMTMxODM6MjAxMiBzcGVjaWZpZXMgdGhlIGFyY2hpdGVjdHVyYWwgY29tbXVuaWNhdGlvbnMgZnJhbWV3b3JrIG9mIGludGVsbGlnZW50IHRyYW5zcG9ydCBzeXN0ZW1zIChJVFMpIGZvciB0aGUgZmFtaWx5IG9mIGNvbW11bmljYXRpb25zIGFjY2VzcyBmb3IgbGFuZCBtb2JpbGVzIChDQUxNKSByZWxhdGVkIEludGVybmF0aW9uYWwgU3RhbmRhcmRzLiBUaGUgYXJjaGl0ZWN0dXJlIGlzIGRlc2NyaWJlZCBpbiBhbiBhYnN0cmFjdCB3YXkgd2l0aCBzZXZlcmFsIGdyYXBoaWNhbCB2aWV3cyBhbmQgZXhhbXBsZXMuIFRoZSBncmFwaGljYWwgcmVwcmVzZW50YXRpb25zIHBhcnRseSBmb2xsb3cgdGhlIElTTyBvcGVuIHN5c3RlbXMgaW50ZXJjb25uZWN0aW9uIChPU0kpIHByaW5jaXBsZXMuIEluIGFkZGl0aW9uIHRvIHRoZSByZXF1aXJlbWVudHMgc3BlY2lmaWVkIHdpdGhpbiBJU08gMTMxODM6MjAxMiwgYSBudW1iZXIgb2Ygbm90ZXMgYW5kIGV4YW1wbGVzIGFyZSBwcm92aWRlZCB0byBpbGx1c3RyYXRlIHRoZSBDQUxNIGNvbmNlcHQuICIsIm9iamVjdElEIjoiNTM0NDlfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+ODM6MjAxMiBJbnRlbGxpZ2VudCB0cmFuc3BvcnQgc3lzdGVtcyDigJQgQ29tbXVuaWNhdGlvbnMgYWNjZXNzIGZvciBsYW5kIG1vYmlsZXMgKENBTE0pIOKAlCBVc2luZyBicm9hZGNhc3QgY29tbXVuaWNhdGlvbnMiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjgzOjIwMTIgc3BlY2lmaWVzIHRoZSBhcmNoaXRlY3R1cmFsIGNvbW11bmljYXRpb25zIGZyYW1ld29yayBvZiBpbnRlbGxpZ2VudCB0cmFuc3BvcnQgc3lzdGVtcyAoSVRTKSBmb3IgdGhlIGZhbWlseSBvZiBjb21tdW5pY2F0aW9ucyBhY2Nlc3MgZm9yIGxhbmQgbW9iaWxlcyAoQ0FMTSkgcmVsYXRlZCBJbnRlcm5hdGlvbmFsIFN0YW5kYXJkcy4gVGhlIGFyY2hpdGVjdHVyZSBpcyBkZXNjcmliZWQgaW4gYW4gYWJzdHJhY3Qgd2F5IHdpdGggc2V2ZXJhbCBncmFwaGljYWwgdmlld3MgYW5kIGV4YW1wbGVzLiBUaGUgZ3JhcGhpY2FsIHJlcHJlc2VudGF0aW9ucyBwYXJ0bHkgZm9sbG93IHRoZSA8ZW0+SVNPPC9lbT4gb3BlbiBzeXN0ZW1zIGludGVyY29ubmVjdGlvbiAoT1NJKSBwcmluY2lwbGVzLiBJbiBhZGRpdGlvbiB0byB0aGUgcmVxdWlyZW1lbnRzIHNwZWNpZmllZCB3aXRoaW4gPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjgzOjIwMTIsIGEgbnVtYmVyIG9mIG5vdGVzIGFuZCBleGFtcGxlcyBhcmUgcHJvdmlkZWQgdG8gaWxsdXN0cmF0ZSB0aGUgQ0FMTSBjb25jZXB0LiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNS8zNC81MzQwMSIsInV1aWQiOiIyMzY4OGMzYS0zYWMzLTRhMWItYTMyYi03MmY1NGQxOTExYTQiLCJ0aXRsZSI6IklTTyAxMzE1MzoyMDEyIEZyYW1ld29yayBvZiB0aGUgZGVzaWduIHByb2Nlc3MgZm9yIGVuZXJneS1zYXZpbmcgc2luZ2xlLWZhbWlseSByZXNpZGVudGlhbCBhbmQgc21hbGwgY29tbWVyY2lhbCBidWlsZGluZ3MiLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDE4LCJvcmRlciI6MTEsInRleHQiOiJJU08gMTMxNTM6MjAxMiBzcGVjaWZpZXMgYSBmcmFtZXdvcmsgb2YgdGhlIGRlc2lnbiBwcm9jZXNzIGZvciBlbmVyZ3ktc2F2aW5nIHNpbmdsZS1mYW1pbHkgcmVzaWRlbnRpYWwgYW5kIHNtYWxsIGNvbW1lcmNpYWwgYnVpbGRpbmdzLCB3aXRoIHRoZSBlbmVyZ3kgY29uc3VtcHRpb24gcmF0aW8gYXMgdGhlIGtleSBjcml0ZXJpb24uIEl0IGlzIGludGVuZGVkIHRvIGFzc2lzdCBpbiB0aGUgZGV2ZWxvcG1lbnQgb2YgZGVzaWduIGd1aWRlbGluZXMgZm9yIHByYWN0aXRpb25lcnMgd2hvIGRlc2lnbiBlbmVyZ3ktcmVsYXRlZCBwYXJ0cyBvZiBidWlsZGluZ3MuICIsIm9iamVjdElEIjoiNTM0MDFfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NTM6MjAxMiBGcmFtZXdvcmsgb2YgdGhlIGRlc2lnbiBwcm9jZXNzIGZvciBlbmVyZ3ktc2F2aW5nIHNpbmdsZS1mYW1pbHkgcmVzaWRlbnRpYWwgYW5kIHNtYWxsIGNvbW1lcmNpYWwgYnVpbGRpbmdzIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT41MzoyMDEyIHNwZWNpZmllcyBhIGZyYW1ld29yayBvZiB0aGUgZGVzaWduIHByb2Nlc3MgZm9yIGVuZXJneS1zYXZpbmcgc2luZ2xlLWZhbWlseSByZXNpZGVudGlhbCBhbmQgc21hbGwgY29tbWVyY2lhbCBidWlsZGluZ3MsIHdpdGggdGhlIGVuZXJneSBjb25zdW1wdGlvbiByYXRpbyBhcyB0aGUga2V5IGNyaXRlcmlvbi4gSXQgaXMgaW50ZW5kZWQgdG8gYXNzaXN0IGluIHRoZSBkZXZlbG9wbWVudCBvZiBkZXNpZ24gZ3VpZGVsaW5lcyBmb3IgcHJhY3RpdGlvbmVycyB3aG8gZGVzaWduIGVuZXJneS1yZWxhdGVkIHBhcnRzIG9mIGJ1aWxkaW5ncy4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDUvMzAvNTMwNTAiLCJ1dWlkIjoiMmI2NGE4MDYtNGFlYS00MTlhLWE2YTAtN2QxNjhiYjlhYmFiIiwidGl0bGUiOiJJU08gMTMxMjk6MjAxMiBQYWludHMgYW5kIHZhcm5pc2hlcyDigJQgRWxlY3Ryb2NoZW1pY2FsIG1lYXN1cmVtZW50IG9mIHRoZSBwcm90ZWN0aW9uIHByb3ZpZGVkIHRvIHN0ZWVsIGJ5IHBhaW50IGNvYXRpbmdzIOKAlCBDdXJyZW50IGludGVycnVwdGVyIChDSSkgdGVjaG5pcXVlLCByZWxheGF0aW9uIHZvbHRhbW1ldHJ5IChSVikgdGVjaG5pcXVlIGFuZCBEQyB0cmFuc2llbnQgKERDVCkgbWVhc3VyZW1lbnRzIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAxOCwib3JkZXIiOjExLCJ0ZXh0IjoiMSBTY29wZSBUaGlzIEludGVybmF0aW9uYWwgU3RhbmRhcmQgc3BlY2lmaWVzIHRoZSBwcm9jZWR1cmUgZm9yIGV2YWx1YXRpb24gb2YgdGhlIGV4cGVyaW1lbnRhbCBzZXQtdXAgb2YgZWxlY3Ryb2NoZW1pY2FsIG1lYXN1cmVtZW50cyBvbiBoaWdoLWltcGVkYW5jZSBjb2F0ZWQgc2FtcGxlcyB1c2luZyBtZXRob2RzIHRoYXQgYXJlIGJhc2VkIG9uIHRoZSBjdXJyZW50IGludGVycnVwdGVyIChDSSkgdGVjaG5pcXVlLCByZWxheGF0aW9uIHZvbHRhbW1ldHJ5IChSVikgb3IgREMgdHJhbnNpZW50IChEQ1QpIG1lYXN1cmVtZW50cy4gSXQgcHJvdmlkZXMgc3BlY2lmaWMgZGVmaW5pdGlvbnMgYW5kIGd1aWRhbmNlIG9uIG9wdGltaXppbmcgdGhlIGNvbGxlY3Rpb24gb2YgQ0ksIFJWIGFuZCBEQ1QgZGF0YSBmcm9tIGhpZ2hpbXBlZGFuY2Ugc3lzdGVtcy4gSGlnaCBpbXBlZGFuY2UgaW4gdGhlIGNvbnRleHQgb2YgaW50YWN0IGNvYXRpbmdzIHJlZmVycyB0byBzeXN0ZW1zIHdpdGggYW4gaW1wZWRhbmNlIGdyZWF0ZXIgdGhhbiAxMDkgzqkvY20yLiBUaGlzIGRvZXMgbm90IHByZWNsdWRlIG1lYXN1cmVtZW50cyBvbiBzeXN0ZW1zIHdpdGggbG93ZXIgaW1wZWRhbmNlLiBUaGlzIEludGVybmF0aW9uYWwgU3RhbmRhcmQgZGVhbHMgaW4gcGFydGljdWxhciB3aXRoOiDigJQgaW5zdHJ1bWVudGFsIHNldC11cDogcmVxdWlyZW1lbnRzIGFuZCBzaG9ydGNvbWluZ3M7IOKAlCBkYXRhIHZhbGlkYXRpb246IGNoZWNraW5nIHRoZSBtZWFzdXJlbWVudCByYW5nZSBhbmQgdGhlIGFjY3VyYWN5IG9mIHRoZSBkYXRhOyDigJQgcGVyZm9ybWluZyBDSSwgUlYsIERDVCBtZWFzdXJlbWVudHM6IHNwZWNpbWVuIGNvbnNpZGVyYXRpb25zIGFuZCBpbnN0cnVtZW50YWwgcGFyYW1ldGVyczsg4oCUIHRoZSBleHBlcmltZW50YWwgcmVzdWx0czogZGlmZmVyZW50IG1ldGhvZHMgb2YgcHJlc2VudGluZyBDSSwgUlYgYW5kIERDVCBkYXRhLiBGb2xsb3dpbmcgdGhlIHJlY29tbWVuZGF0aW9ucyBzaG91bGQgZW5zdXJlIHRoZSBhY3F1aXNpdGlvbiBvZiBDSSwgUlYgYW5kIERDVCBkYXRhIHRoYXQgY2FuIGJlIHVzZWQgdG8gc3R1ZHkgdGhlIHBlcmZvcm1hbmNlIG9mIHRoZSBzcGVjaW1lbi4gVGhpcyBJbnRlcm5hdGlvbmFsIFN0YW5kYXJkIGRvZXMgbm90IGdpdmUgZ3VpZGVsaW5lcyBmb3IgdGhlIGludGVycHJldGF0aW9uIG9mIHRoZSBkYXRhLiAiLCJvYmplY3RJRCI6IjUzMDUwXzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjI5OjIwMTIgUGFpbnRzIGFuZCB2YXJuaXNoZXMg4oCUIEVsZWN0cm9jaGVtaWNhbCBtZWFzdXJlbWVudCBvZiB0aGUgcHJvdGVjdGlvbiBwcm92aWRlZCB0byBzdGVlbCBieSBwYWludCBjb2F0aW5ncyDigJQgQ3VycmVudCBpbnRlcnJ1cHRlciAoQ0kpIHRlY2huaXF1ZSwgcmVsYXhhdGlvbiB2b2x0YW1tZXRyeSAoUlYpIHRlY2huaXF1ZSBhbmQgREMgdHJhbnNpZW50IChEQ1QpIG1lYXN1cmVtZW50cyIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiIxIFNjb3BlIFRoaXMgSW50ZXJuYXRpb25hbCBTdGFuZGFyZCBzcGVjaWZpZXMgdGhlIHByb2NlZHVyZSBmb3IgZXZhbHVhdGlvbiBvZiB0aGUgZXhwZXJpbWVudGFsIHNldC11cCBvZiBlbGVjdHJvY2hlbWljYWwgbWVhc3VyZW1lbnRzIG9uIGhpZ2gtaW1wZWRhbmNlIGNvYXRlZCBzYW1wbGVzIHVzaW5nIG1ldGhvZHMgdGhhdCBhcmUgYmFzZWQgb24gdGhlIGN1cnJlbnQgaW50ZXJydXB0ZXIgKENJKSB0ZWNobmlxdWUsIHJlbGF4YXRpb24gdm9sdGFtbWV0cnkgKFJWKSBvciBEQyB0cmFuc2llbnQgKERDVCkgbWVhc3VyZW1lbnRzLiBJdCBwcm92aWRlcyBzcGVjaWZpYyBkZWZpbml0aW9ucyBhbmQgZ3VpZGFuY2Ugb24gb3B0aW1pemluZyB0aGUgY29sbGVjdGlvbiBvZiBDSSwgUlYgYW5kIERDVCBkYXRhIGZyb20gaGlnaGltcGVkYW5jZSBzeXN0ZW1zLiBIaWdoIGltcGVkYW5jZSBpbiB0aGUgY29udGV4dCBvZiBpbnRhY3QgY29hdGluZ3MgcmVmZXJzIHRvIHN5c3RlbXMgd2l0aCBhbiBpbXBlZGFuY2UgZ3JlYXRlciB0aGFuIDEwOSDOqS9jbTIuIFRoaXMgZG9lcyBub3QgcHJlY2x1ZGUgbWVhc3VyZW1lbnRzIG9uIHN5c3RlbXMgd2l0aCBsb3dlciBpbXBlZGFuY2UuIFRoaXMgSW50ZXJuYXRpb25hbCBTdGFuZGFyZCBkZWFscyBpbiBwYXJ0aWN1bGFyIHdpdGg6IOKAlCBpbnN0cnVtZW50YWwgc2V0LXVwOiByZXF1aXJlbWVudHMgYW5kIHNob3J0Y29taW5nczsg4oCUIGRhdGEgdmFsaWRhdGlvbjogY2hlY2tpbmcgdGhlIG1lYXN1cmVtZW50IHJhbmdlIGFuZCB0aGUgYWNjdXJhY3kgb2YgdGhlIGRhdGE7IOKAlCBwZXJmb3JtaW5nIENJLCBSViwgRENUIG1lYXN1cmVtZW50czogc3BlY2ltZW4gY29uc2lkZXJhdGlvbnMgYW5kIGluc3RydW1lbnRhbCBwYXJhbWV0ZXJzOyDigJQgdGhlIGV4cGVyaW1lbnRhbCByZXN1bHRzOiBkaWZmZXJlbnQgbWV0aG9kcyBvZiBwcmVzZW50aW5nIENJLCBSViBhbmQgRENUIGRhdGEuIEZvbGxvd2luZyB0aGUgcmVjb21tZW5kYXRpb25zIHNob3VsZCBlbnN1cmUgdGhlIGFjcXVpc2l0aW9uIG9mIENJLCBSViBhbmQgRENUIGRhdGEgdGhhdCBjYW4gYmUgdXNlZCB0byBzdHVkeSB0aGUgcGVyZm9ybWFuY2Ugb2YgdGhlIHNwZWNpbWVuLiBUaGlzIEludGVybmF0aW9uYWwgU3RhbmRhcmQgZG9lcyBub3QgZ2l2ZSBndWlkZWxpbmVzIGZvciB0aGUgaW50ZXJwcmV0YXRpb24gb2YgdGhlIGRhdGEuICIsIm1hdGNoTGV2ZWwiOiJub25lIiwibWF0Y2hlZFdvcmRzIjpbXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA1LzMwLzUzMDA5IiwidXVpZCI6IjE5OTJlOGRmLWExZDctNGY1Yy1iNGZlLTRmOGVkZDk5N2IyZSIsInRpdGxlIjoiSVNPIDEzMTI1OjIwMTMgRmluZSBjZXJhbWljcyAoYWR2YW5jZWQgY2VyYW1pY3MsIGFkdmFuY2VkIHRlY2huaWNhbCBjZXJhbWljcykg4oCUIFRlc3QgbWV0aG9kIGZvciBhbnRpZnVuZ2FsIGFjdGl2aXR5IG9mIHNlbWljb25kdWN0aW5nIHBob3RvY2F0YWx5dGljIG1hdGVyaWFscyIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMTgsIm9yZGVyIjoxMSwidGV4dCI6IklTTyAxMzEyNToyMDEzIHNwZWNpZmllcyBhIHRlc3QgbWV0aG9kIGNvdmVyaW5nIHRoZSBkZXRlcm1pbmF0aW9uIG9mIHRoZSBhbnRpZnVuZ2FsIGFjdGl2aXR5IG9mIG1hdGVyaWFscyB0aGF0IGNvbnRhaW4gYSBwaG90b2NhdGFseXN0IG9yIGhhdmUgcGhvdG9jYXRhbHl0aWMgZmlsbXMgb24gdGhlaXIgc3VyZmFjZSwgYnkgY291bnRpbmcgdGhlIG51bWJlciBvZiBwcmUtaW5jdWJhdGVkIGZ1bmdhbCBzcG9yZXMgdGhhdCBzdXJ2aXZlIGV4cG9zdXJlIHRvIHVsdHJhdmlvbGV0IChVVi1BKSBsaWdodC4gSVNPIDEzMTI1OjIwMTMgcHJvdmlkZXMgZm9yIHRoZSBhc3Nlc3NtZW50IG9mIGRpZmZlcmVudCBraW5kcyBvbiBtYXRlcmlhbHMgdXNlZCBpbiB2YXJpb3VzIGFwcGxpY2F0aW9ucywgc3VjaCBhcyBjb25zdHJ1Y3Rpb24gbWF0ZXJpYWxzIGluIGZsYXQgY29hdGluZywgc2hlZXQsIGJvYXJkIG9yIHBsYXRlIGZvcm0sIGV0Yy4gUG93ZGVyLCBncmFudWxhciwgZmlicm91cyBvciBwb3JvdXMgcGhvdG9jYXRhbHl0aWMgbWF0ZXJpYWxzIGFyZSBub3QgaW5jbHVkZWQuIFZhbHVlcyBleHByZXNzZWQgaW4gSVNPIDEzMTI1OjIwMTMgYXJlIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgSW50ZXJuYXRpb25hbCBTeXN0ZW0gb2YgVW5pdHMgKFNJKS4gIiwib2JqZWN0SUQiOiI1MzAwOV8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT4yNToyMDEzIEZpbmUgY2VyYW1pY3MgKGFkdmFuY2VkIGNlcmFtaWNzLCBhZHZhbmNlZCB0ZWNobmljYWwgY2VyYW1pY3MpIOKAlCBUZXN0IG1ldGhvZCBmb3IgYW50aWZ1bmdhbCBhY3Rpdml0eSBvZiBzZW1pY29uZHVjdGluZyBwaG90b2NhdGFseXRpYyBtYXRlcmlhbHMiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjI1OjIwMTMgc3BlY2lmaWVzIGEgdGVzdCBtZXRob2QgY292ZXJpbmcgdGhlIGRldGVybWluYXRpb24gb2YgdGhlIGFudGlmdW5nYWwgYWN0aXZpdHkgb2YgbWF0ZXJpYWxzIHRoYXQgY29udGFpbiBhIHBob3RvY2F0YWx5c3Qgb3IgaGF2ZSBwaG90b2NhdGFseXRpYyBmaWxtcyBvbiB0aGVpciBzdXJmYWNlLCBieSBjb3VudGluZyB0aGUgbnVtYmVyIG9mIHByZS1pbmN1YmF0ZWQgZnVuZ2FsIHNwb3JlcyB0aGF0IHN1cnZpdmUgZXhwb3N1cmUgdG8gdWx0cmF2aW9sZXQgKFVWLUEpIGxpZ2h0LiA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+MjU6MjAxMyBwcm92aWRlcyBmb3IgdGhlIGFzc2Vzc21lbnQgb2YgZGlmZmVyZW50IGtpbmRzIG9uIG1hdGVyaWFscyB1c2VkIGluIHZhcmlvdXMgYXBwbGljYXRpb25zLCBzdWNoIGFzIGNvbnN0cnVjdGlvbiBtYXRlcmlhbHMgaW4gZmxhdCBjb2F0aW5nLCBzaGVldCwgYm9hcmQgb3IgcGxhdGUgZm9ybSwgZXRjLiBQb3dkZXIsIGdyYW51bGFyLCBmaWJyb3VzIG9yIHBvcm91cyBwaG90b2NhdGFseXRpYyBtYXRlcmlhbHMgYXJlIG5vdCBpbmNsdWRlZC4gVmFsdWVzIGV4cHJlc3NlZCBpbiA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+MjU6MjAxMyBhcmUgaW4gYWNjb3JkYW5jZSB3aXRoIHRoZSBJbnRlcm5hdGlvbmFsIFN5c3RlbSBvZiBVbml0cyAoU0kpLiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNS8yOS81Mjk3OSIsInV1aWQiOiJhNGEwN2E5OC1lYzljLTRiYWQtYjNkYy0wOGYzODQyMjEyNjciLCJ0aXRsZSI6IklTTyAxMzEyMjoyMDExIFNoaXBzIGFuZCBtYXJpbmUgdGVjaG5vbG9neSDigJQgTGF1bmNoaW5nIGFwcGxpYW5jZXMgZm9yIGRhdml0LWxhdW5jaGVkIGxpZmVyYWZ0cyIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMTgsIm9yZGVyIjoxMSwidGV4dCI6IklTTyAxMzEyMjoyMDExIHNwZWNpZmllcyByZXF1aXJlbWVudHMgZm9yIHRoZSBwZXJmb3JtYW5jZSwgZGVzaWduLCBjb25zdHJ1Y3Rpb24sIG9wZXJhdGlvbiwgc2FmZXR5LCBpbnNwZWN0aW9uLCBtYWludGVuYW5jZSwgYW5kIHRlc3RpbmcgYW5kIGFjY2VwdGFuY2Ugb2YgbGF1bmNoaW5nIGFwcGxpYW5jZXMgZm9yIGRhdml0LWxhdW5jaGVkIGxpZmVyYWZ0cyBpbnN0YWxsZWQgb24gYSB2YXJpZXR5IG9mIHNlYS1nb2luZyBzaGlwcy4gIiwib2JqZWN0SUQiOiI1Mjk3OV8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT4yMjoyMDExIFNoaXBzIGFuZCBtYXJpbmUgdGVjaG5vbG9neSDigJQgTGF1bmNoaW5nIGFwcGxpYW5jZXMgZm9yIGRhdml0LWxhdW5jaGVkIGxpZmVyYWZ0cyIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+MjI6MjAxMSBzcGVjaWZpZXMgcmVxdWlyZW1lbnRzIGZvciB0aGUgcGVyZm9ybWFuY2UsIGRlc2lnbiwgY29uc3RydWN0aW9uLCBvcGVyYXRpb24sIHNhZmV0eSwgaW5zcGVjdGlvbiwgbWFpbnRlbmFuY2UsIGFuZCB0ZXN0aW5nIGFuZCBhY2NlcHRhbmNlIG9mIGxhdW5jaGluZyBhcHBsaWFuY2VzIGZvciBkYXZpdC1sYXVuY2hlZCBsaWZlcmFmdHMgaW5zdGFsbGVkIG9uIGEgdmFyaWV0eSBvZiBzZWEtZ29pbmcgc2hpcHMuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA1LzI5LzUyOTUxIiwidXVpZCI6IjllZmVhNzE2LWI4NDYtNDFkNS04ZDgzLTE0MmUyZGUzY2E4MyIsInRpdGxlIjoiSVNPIDEzMTE5OjIwMTIgSGVhbHRoIGluZm9ybWF0aWNzIOKAlCBDbGluaWNhbCBrbm93bGVkZ2UgcmVzb3VyY2VzIOKAlCBNZXRhZGF0YSIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMTgsIm9yZGVyIjoxMSwidGV4dCI6IklTTyAxMzExOToyMDEyIHNwZWNpZmllcyBhIG51bWJlciBvZiBtZXRhZGF0YSBlbGVtZW50cyB0aGF0IGRlc2NyaWJlIHJlc291cmNlcyBjb250YWluaW5nIG1lZGljYWwga25vd2xlZGdlLiBJdCBpcyBwcmltYXJpbHkgYXBwbGljYWJsZSB0byBkaWdpdGFsIGRvY3VtZW50cyBwcm92aWRlZCBhcyB3ZWIgcmVzb3VyY2VzLCBhY2Nlc3NpYmxlIGZyb20gZGF0YWJhc2VzIG9yIHZpYSBmaWxlIHRyYW5zZmVyLCBidXQgY2FuIGJlIGFwcGxpY2FibGUgYWxzbyB0byBwYXBlciBkb2N1bWVudHMsIGUuZy4gYXJ0aWNsZXMgaW4gbWVkaWNhbCBsaXRlcmF0dXJlLiAiLCJvYmplY3RJRCI6IjUyOTUxXzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjE5OjIwMTIgSGVhbHRoIGluZm9ybWF0aWNzIOKAlCBDbGluaWNhbCBrbm93bGVkZ2UgcmVzb3VyY2VzIOKAlCBNZXRhZGF0YSIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+MTk6MjAxMiBzcGVjaWZpZXMgYSBudW1iZXIgb2YgbWV0YWRhdGEgZWxlbWVudHMgdGhhdCBkZXNjcmliZSByZXNvdXJjZXMgY29udGFpbmluZyBtZWRpY2FsIGtub3dsZWRnZS4gSXQgaXMgcHJpbWFyaWx5IGFwcGxpY2FibGUgdG8gZGlnaXRhbCBkb2N1bWVudHMgcHJvdmlkZWQgYXMgd2ViIHJlc291cmNlcywgYWNjZXNzaWJsZSBmcm9tIGRhdGFiYXNlcyBvciB2aWEgZmlsZSB0cmFuc2ZlciwgYnV0IGNhbiBiZSBhcHBsaWNhYmxlIGFsc28gdG8gcGFwZXIgZG9jdW1lbnRzLCBlLmcuIGFydGljbGVzIGluIG1lZGljYWwgbGl0ZXJhdHVyZS4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDUvMjgvNTI4OTgiLCJ1dWlkIjoiZjY2NjE2ZWQtZDE5My00ZWUxLWFiZTAtMzc0ODgyNGU3YWU5IiwidGl0bGUiOiJJU08gMTMxMTA6MjAxMiBDaWdhcmV0dGVzIOKAlCBEZXRlcm1pbmF0aW9uIG9mIG1lbnRob2wgaW4gc21va2UgY29uZGVuc2F0ZXMg4oCUIEdhcy1jaHJvbWF0b2dyYXBoaWMgbWV0aG9kIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAxOCwib3JkZXIiOjExLCJ0ZXh0IjoiSVNPIDEzMTEwOjIwMTIgc3BlY2lmaWVzIGEgbWV0aG9kIGZvciB0aGUgZ2FzLWNocm9tYXRvZ3JhcGhpYyBkZXRlcm1pbmF0aW9uIG9mIG1lbnRob2wgaW4gdGhlIHRvdGFsIHBhcnRpY3VsYXRlIG1hdHRlciAoVFBNKSBvZiBtZW50aG9sYXRlZCBjaWdhcmV0dGUgc21va2UgY29uZGVuc2F0ZXMuIFRoZSBzbW9raW5nIG9mIGNpZ2FyZXR0ZXMgYW5kIHRoZSBjb2xsZWN0aW9uIG9mIG1haW5zdHJlYW0gc21va2UgYXJlIGNhcnJpZWQgb3V0IGluIGFjY29yZGFuY2Ugd2l0aCBJU08gNDM4NyB3aXRoIHNvbWUgZXhjZXB0aW9ucy4gRW5jYXBzdWxhdGVkIG1lbnRob2wgaW4gc3BlY2lmaWMgcHJvZHVjdHMgbWF5IGxlYWQgdG8gc3BlY2lmaWMgaGFuZGxpbmcgbm90IGRlc2NyaWJlZCBpbiBJU08gMTMxMTA6MjAxMi4gIiwib2JqZWN0SUQiOiI1Mjg5OF8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT4xMDoyMDEyIENpZ2FyZXR0ZXMg4oCUIERldGVybWluYXRpb24gb2YgbWVudGhvbCBpbiBzbW9rZSBjb25kZW5zYXRlcyDigJQgR2FzLWNocm9tYXRvZ3JhcGhpYyBtZXRob2QiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjEwOjIwMTIgc3BlY2lmaWVzIGEgbWV0aG9kIGZvciB0aGUgZ2FzLWNocm9tYXRvZ3JhcGhpYyBkZXRlcm1pbmF0aW9uIG9mIG1lbnRob2wgaW4gdGhlIHRvdGFsIHBhcnRpY3VsYXRlIG1hdHRlciAoVFBNKSBvZiBtZW50aG9sYXRlZCBjaWdhcmV0dGUgc21va2UgY29uZGVuc2F0ZXMuIFRoZSBzbW9raW5nIG9mIGNpZ2FyZXR0ZXMgYW5kIHRoZSBjb2xsZWN0aW9uIG9mIG1haW5zdHJlYW0gc21va2UgYXJlIGNhcnJpZWQgb3V0IGluIGFjY29yZGFuY2Ugd2l0aCA8ZW0+SVNPPC9lbT4gNDM4NyB3aXRoIHNvbWUgZXhjZXB0aW9ucy4gRW5jYXBzdWxhdGVkIG1lbnRob2wgaW4gc3BlY2lmaWMgcHJvZHVjdHMgbWF5IGxlYWQgdG8gc3BlY2lmaWMgaGFuZGxpbmcgbm90IGRlc2NyaWJlZCBpbiA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+MTA6MjAxMi4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDcvMjUvNzI1NjEiLCJ1dWlkIjoiMjhkYjdlNDctODA2ZC00ZGRlLWFlMzItNmMzNjhlZTRmMWY4IiwidGl0bGUiOiJJU08gMTMxMDUtMjoyMDE0L0FtZCAxOjIwMTcgQnVpbGRpbmcgY29uc3RydWN0aW9uIG1hY2hpbmVyeSBhbmQgZXF1aXBtZW50IOKAlCBNYWNoaW5lcnkgZm9yIGNvbmNyZXRlIHN1cmZhY2UgZmxvYXRpbmcgYW5kIGZpbmlzaGluZyDigJQgUGFydCAyOiBTYWZldHkgcmVxdWlyZW1lbnRzIGFuZCB2ZXJpZmljYXRpb24g4oCUIEFtZW5kbWVudCAxIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAxNywib3JkZXIiOjExLCJvYmplY3RJRCI6IjcyNTYxXzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjA1LTI6MjAxNC9BbWQgMToyMDE3IEJ1aWxkaW5nIGNvbnN0cnVjdGlvbiBtYWNoaW5lcnkgYW5kIGVxdWlwbWVudCDigJQgTWFjaGluZXJ5IGZvciBjb25jcmV0ZSBzdXJmYWNlIGZsb2F0aW5nIGFuZCBmaW5pc2hpbmcg4oCUIFBhcnQgMjogU2FmZXR5IHJlcXVpcmVtZW50cyBhbmQgdmVyaWZpY2F0aW9uIOKAlCBBbWVuZG1lbnQgMSIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA3LzE4LzcxODcxIiwidXVpZCI6IjliNDFkZTgyLTIxMWUtNDI5ZC1iOTk5LTZkMmZkY2MwMGVkNSIsInRpdGxlIjoiSVNPIDEzMTg0LTM6MjAxNyBJbnRlbGxpZ2VudCB0cmFuc3BvcnQgc3lzdGVtcyAoSVRTKSDigJQgR3VpZGFuY2UgcHJvdG9jb2wgdmlhIHBlcnNvbmFsIElUUyBzdGF0aW9uIGZvciBhZHZpc29yeSBzYWZldHkgc3lzdGVtcyDigJQgUGFydCAzOiBSb2FkIGd1aWRhbmNlIHByb3RvY29sIChSR1ApIGNvbmZvcm1hbmNlIHRlc3Qgc3BlY2lmaWNhdGlvbiIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMTcsIm9yZGVyIjoxMSwidGV4dCI6IklTTyAxMzE4NC0zOjIwMTcgc3BlY2lmaWVzIGNvbmZvcm1hbmNlIHRlc3RzIGZvciBhIHNlbGYtY29uZm9ybWFuY2UgYXNzZXNzbWVudCBvZiB0aGUgc3VwcGxpZXIncyBQLUlUUy1TIHN5c3RlbS4gVGhlIGNvbmZvcm1hbmNlIHRlc3QgY2FzZXMgZm9sbG93IHRoZSB1c2UgY2FzZSBkZWZpbml0aW9uIG9mIElTTy9UUiAxMzE4NOKAkTEgYW5kIHRoZSByZXF1aXJlbWVudHMgc3RhdGVkIGluIElTTyAxMzE4NOKAkTIgYmFzZWQgb24gdGhlIERhdGEgZVhjaGFuZ2UgTWVzc2FnZSAoRFhNKSBhdCB0aGUgYXBwbGljYXRpb24gbGV2ZWwgcmVnYXJkaW5nIHRoZSBzYWZldHkgd2FybmluZyBhbmQgcGFya2luZyBndWlkZSBzZXJ2aWNlcyBiZXR3ZWVuIC0gICAgICB0aGUgVmVoaWNsZSBJVFMgU3RhdGlvbiAoVi1JVFMtUykgaW5zdGFsbGVkIGluIHRoZSB2ZWhpY2xlLCBvciAtICAgICAgYSBQZXJzb25hbCBJVFMgU3RhdGlvbiAoUC1JVFMtUyksIGUuZy4gTm9tYWRpYyBEZXZpY2UsIGluIGEgdmVoaWNsZSBvciB1c2VkIGJ5IGEgcGVkZXN0cmlhbiwgYW5kIC0gICAgICBhIFJvYWRzaWRlIElUUyBTdGF0aW9uIChSLUlUUy1TKSBpbnN0YWxsZWQgYXQgdGhlIHJvYWRzaWRlLiBUaGUgcHJpbWFyeSBidXQgbm90IGV4Y2x1c2l2ZSBwdXJwb3NlIG9mIHRoaXMgZG9jdW1lbnQgaXMgdG8gcHJvdmlkZSBpbmZvcm1hdGlvbiB0byB0aGUgUC1JVFMtUyBzeXN0ZW0gcHJvdmlkZXIgdG8gYnVpbGQgYW5kIHRlc3QgdGhlIFAtSVRTLVMgc3lzdGVtIGFnYWluc3QgdGhlIGNvbmZvcm1hbmNlIHRlc3QgY2FzZXMuIFRoaXMgZmluYWwgc3RlcCBpbiB0aGUgZGV2ZWxvcG1lbnQgcHJvY2VzcyBvZiB0aGUgUC1JVFMtUyBzeXN0ZW0gZW5zdXJlcyBwcm92aWRlcnMgdGhhdCB0aGVpciBQLUlUUy1TIHN5c3RlbSBtZWV0cyBhIGhpZ2ggZGVncmVlIG9mIGZ1bmN0aW9uYWwgcmVxdWlyZW1lbnRzIGV4cGVjdGVkIGJ5IHRoZSBlbmQgdXNlci4gIiwib2JqZWN0SUQiOiI3MTg3MV8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT44NC0zOjIwMTcgSW50ZWxsaWdlbnQgdHJhbnNwb3J0IHN5c3RlbXMgKElUUykg4oCUIEd1aWRhbmNlIHByb3RvY29sIHZpYSBwZXJzb25hbCBJVFMgc3RhdGlvbiBmb3IgYWR2aXNvcnkgc2FmZXR5IHN5c3RlbXMg4oCUIFBhcnQgMzogUm9hZCBndWlkYW5jZSBwcm90b2NvbCAoUkdQKSBjb25mb3JtYW5jZSB0ZXN0IHNwZWNpZmljYXRpb24iLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjg0LTM6MjAxNyBzcGVjaWZpZXMgY29uZm9ybWFuY2UgdGVzdHMgZm9yIGEgc2VsZi1jb25mb3JtYW5jZSBhc3Nlc3NtZW50IG9mIHRoZSBzdXBwbGllcidzIFAtSVRTLVMgc3lzdGVtLiBUaGUgY29uZm9ybWFuY2UgdGVzdCBjYXNlcyBmb2xsb3cgdGhlIHVzZSBjYXNlIGRlZmluaXRpb24gb2YgPGVtPklTTzwvZW0+L1RSIDxlbT4xMzE8L2VtPjg04oCRMSBhbmQgdGhlIHJlcXVpcmVtZW50cyBzdGF0ZWQgaW4gPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjg04oCRMiBiYXNlZCBvbiB0aGUgRGF0YSBlWGNoYW5nZSBNZXNzYWdlIChEWE0pIGF0IHRoZSBhcHBsaWNhdGlvbiBsZXZlbCByZWdhcmRpbmcgdGhlIHNhZmV0eSB3YXJuaW5nIGFuZCBwYXJraW5nIGd1aWRlIHNlcnZpY2VzIGJldHdlZW4gLSAgICAgIHRoZSBWZWhpY2xlIElUUyBTdGF0aW9uIChWLUlUUy1TKSBpbnN0YWxsZWQgaW4gdGhlIHZlaGljbGUsIG9yIC0gICAgICBhIFBlcnNvbmFsIElUUyBTdGF0aW9uIChQLUlUUy1TKSwgZS5nLiBOb21hZGljIERldmljZSwgaW4gYSB2ZWhpY2xlIG9yIHVzZWQgYnkgYSBwZWRlc3RyaWFuLCBhbmQgLSAgICAgIGEgUm9hZHNpZGUgSVRTIFN0YXRpb24gKFItSVRTLVMpIGluc3RhbGxlZCBhdCB0aGUgcm9hZHNpZGUuIFRoZSBwcmltYXJ5IGJ1dCBub3QgZXhjbHVzaXZlIHB1cnBvc2Ugb2YgdGhpcyBkb2N1bWVudCBpcyB0byBwcm92aWRlIGluZm9ybWF0aW9uIHRvIHRoZSBQLUlUUy1TIHN5c3RlbSBwcm92aWRlciB0byBidWlsZCBhbmQgdGVzdCB0aGUgUC1JVFMtUyBzeXN0ZW0gYWdhaW5zdCB0aGUgY29uZm9ybWFuY2UgdGVzdCBjYXNlcy4gVGhpcyBmaW5hbCBzdGVwIGluIHRoZSBkZXZlbG9wbWVudCBwcm9jZXNzIG9mIHRoZSBQLUlUUy1TIHN5c3RlbSBlbnN1cmVzIHByb3ZpZGVycyB0aGF0IHRoZWlyIFAtSVRTLVMgc3lzdGVtIG1lZXRzIGEgaGlnaCBkZWdyZWUgb2YgZnVuY3Rpb25hbCByZXF1aXJlbWVudHMgZXhwZWN0ZWQgYnkgdGhlIGVuZCB1c2VyLiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNy8wMC83MDAzNCIsInV1aWQiOiIxY2VmNzEyOS00NjlkLTRmMTEtYTlmZC04OWFiZWI5MTc0MmUiLCJ0aXRsZSI6IklTTyAxMzE0MToyMDE1L0FtZCAxOjIwMTcgRWxlY3Ryb25pYyBmZWUgY29sbGVjdGlvbiDigJQgTG9jYWxpc2F0aW9uIGF1Z21lbnRhdGlvbiBjb21tdW5pY2F0aW9uIGZvciBhdXRvbm9tb3VzIHN5c3RlbXMg4oCUIEFtZW5kbWVudCAxIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAxNywib3JkZXIiOjExLCJvYmplY3RJRCI6IjcwMDM0XzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjQxOjIwMTUvQW1kIDE6MjAxNyBFbGVjdHJvbmljIGZlZSBjb2xsZWN0aW9uIOKAlCBMb2NhbGlzYXRpb24gYXVnbWVudGF0aW9uIGNvbW11bmljYXRpb24gZm9yIGF1dG9ub21vdXMgc3lzdGVtcyDigJQgQW1lbmRtZW50IDEiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNS8zMC81MzA1MSIsInV1aWQiOiIzYTFjOGZjZi00ODljLTQxYjYtYjVjOC0zMmNmZGFmZjYwNjQiLCJ0aXRsZSI6IklTTyAxMzEzMDoyMDExIExhYm9yYXRvcnkgZ2xhc3N3YXJlIOKAlCBEZXNpY2NhdG9ycyIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMTcsIm9yZGVyIjoxMSwidGV4dCI6IklTTyAxMzEzMDoyMDExIHNwZWNpZmllcyByZXF1aXJlbWVudHMgYW5kIHRlc3RzIGZvciBkZXNpY2NhdG9ycyBhbmQgdmFjdXVtIGRlc2ljY2F0b3JzIGludGVuZGVkIGZvciBnZW5lcmFsIGxhYm9yYXRvcnkgcHVycG9zZXMgc3VjaCBhcyBkcnlpbmcgb2Ygc3Vic3RhbmNlcyBvciBtYXRlcmlhbC4gIiwib2JqZWN0SUQiOiI1MzA1MV8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT4zMDoyMDExIExhYm9yYXRvcnkgZ2xhc3N3YXJlIOKAlCBEZXNpY2NhdG9ycyIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+MzA6MjAxMSBzcGVjaWZpZXMgcmVxdWlyZW1lbnRzIGFuZCB0ZXN0cyBmb3IgZGVzaWNjYXRvcnMgYW5kIHZhY3V1bSBkZXNpY2NhdG9ycyBpbnRlbmRlZCBmb3IgZ2VuZXJhbCBsYWJvcmF0b3J5IHB1cnBvc2VzIHN1Y2ggYXMgZHJ5aW5nIG9mIHN1YnN0YW5jZXMgb3IgbWF0ZXJpYWwuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA1LzI4LzUyODIxIiwidXVpZCI6ImUxYzdmNDE0LWQ5NjktNDI2Ni1iY2ZjLWIzODc0MWNmOGU5MSIsInRpdGxlIjoiSVNPIDEzMTAyOjIwMTIgR2VvbWV0cmljYWwgcHJvZHVjdCBzcGVjaWZpY2F0aW9ucyAoR1BTKSDigJQgRGltZW5zaW9uYWwgbWVhc3VyaW5nIGVxdWlwbWVudDogRWxlY3Ryb25pYyBkaWdpdGFsLWluZGljYXRvciBnYXVnZSDigJQgRGVzaWduIGFuZCBtZXRyb2xvZ2ljYWwgY2hhcmFjdGVyaXN0aWNzIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAxNywib3JkZXIiOjExLCJ0ZXh0IjoiSVNPIDEzMTAyOjIwMTIgc3BlY2lmaWVzIHRoZSBtb3N0IGltcG9ydGFudCBkZXNpZ24gYW5kIG1ldHJvbG9naWNhbCBjaGFyYWN0ZXJpc3RpY3Mgb2YgZWxlY3Ryb25pYyBkaWdpdGFsLWluZGljYXRvciBnYXVnZXMuICIsIm9iamVjdElEIjoiNTI4MjFfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+MDI6MjAxMiBHZW9tZXRyaWNhbCBwcm9kdWN0IHNwZWNpZmljYXRpb25zIChHUFMpIOKAlCBEaW1lbnNpb25hbCBtZWFzdXJpbmcgZXF1aXBtZW50OiBFbGVjdHJvbmljIGRpZ2l0YWwtaW5kaWNhdG9yIGdhdWdlIOKAlCBEZXNpZ24gYW5kIG1ldHJvbG9naWNhbCBjaGFyYWN0ZXJpc3RpY3MiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjAyOjIwMTIgc3BlY2lmaWVzIHRoZSBtb3N0IGltcG9ydGFudCBkZXNpZ24gYW5kIG1ldHJvbG9naWNhbCBjaGFyYWN0ZXJpc3RpY3Mgb2YgZWxlY3Ryb25pYyBkaWdpdGFsLWluZGljYXRvciBnYXVnZXMuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA2LzMwLzYzMDkxIiwidXVpZCI6ImFhY2E2OTgwLWNjMzctNGM3ZS05YWJjLWNmYThjZjkxMjA5OSIsInRpdGxlIjoiSVNPIDEzMTI3OjIwMTIvQ29yIDE6MjAxMiBQYWNrYWdpbmcg4oCUIENoaWxkIHJlc2lzdGFudCBwYWNrYWdpbmcg4oCUIE1lY2hhbmljYWwgdGVzdCBtZXRob2RzIGZvciByZWNsb3NhYmxlIGNoaWxkIHJlc2lzdGFudCBwYWNrYWdpbmcgc3lzdGVtcyDigJQgVGVjaG5pY2FsIENvcnJpZ2VuZHVtIDEiLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDEyLCJvcmRlciI6MTEsIm9iamVjdElEIjoiNjMwOTFfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+Mjc6MjAxMi9Db3IgMToyMDEyIFBhY2thZ2luZyDigJQgQ2hpbGQgcmVzaXN0YW50IHBhY2thZ2luZyDigJQgTWVjaGFuaWNhbCB0ZXN0IG1ldGhvZHMgZm9yIHJlY2xvc2FibGUgY2hpbGQgcmVzaXN0YW50IHBhY2thZ2luZyBzeXN0ZW1zIOKAlCBUZWNobmljYWwgQ29ycmlnZW5kdW0gMSIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA4LzIwLzgyMDA2IiwidXVpZCI6IjJmNzc0MTZhLWQzOWItNDk1NC04NjMyLTM5NjQyN2MxZjRlZSIsInRpdGxlIjoiSVNPIDEzMTY1LTIgV2F0ZXIgcXVhbGl0eSDigJQgUmFkaXVtLTIyNiDigJQgUGFydCAyOiBUZXN0IG1ldGhvZCB1c2luZyBlbWFub21ldHJ5Iiwic3RhdHVzIjoiVW5kZXIgZGV2ZWxvcG1lbnQiLCJ5ZWFyIjoyMDIyLCJvcmRlciI6MTIsIm9iamVjdElEIjoiODIwMDZfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NjUtMiBXYXRlciBxdWFsaXR5IOKAlCBSYWRpdW0tMjI2IOKAlCBQYXJ0IDI6IFRlc3QgbWV0aG9kIHVzaW5nIGVtYW5vbWV0cnkiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNy85Ni83OTY4MiIsInV1aWQiOiI3MzI0NWQyZS1iODFlLTQ5OTgtYTc0Mi1kNTNiZjE4ZGI1ZWUiLCJ0aXRsZSI6IklTTyAxMzEzNyBXb3JrcGxhY2UgYXRtb3NwaGVyZXMg4oCUIFB1bXBzIGZvciBwZXJzb25hbCBzYW1wbGluZyBvZiBjaGVtaWNhbCBhbmQgYmlvbG9naWNhbCBhZ2VudHMg4oCUIFJlcXVpcmVtZW50cyBhbmQgdGVzdCBtZXRob2RzIiwic3RhdHVzIjoiVW5kZXIgZGV2ZWxvcG1lbnQiLCJ5ZWFyIjoyMDIyLCJvcmRlciI6MTIsIm9iamVjdElEIjoiNzk2ODJfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+MzcgV29ya3BsYWNlIGF0bW9zcGhlcmVzIOKAlCBQdW1wcyBmb3IgcGVyc29uYWwgc2FtcGxpbmcgb2YgY2hlbWljYWwgYW5kIGJpb2xvZ2ljYWwgYWdlbnRzIOKAlCBSZXF1aXJlbWVudHMgYW5kIHRlc3QgbWV0aG9kcyIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA3Lzg4Lzc4ODAyIiwidXVpZCI6ImRlMzNmNTdhLTQzMGMtNDg5Ny04MGEzLWE5MjQxZTRlYjRjZiIsInRpdGxlIjoiSVNPIDEzMTY1LTEgV2F0ZXIgcXVhbGl0eSDigJQgUmFkaXVtLTIyNiDigJQgUGFydCAxOiBUZXN0IG1ldGhvZCB1c2luZyBsaXF1aWQgc2NpbnRpbGxhdGlvbiBjb3VudGluZyIsInN0YXR1cyI6IlVuZGVyIGRldmVsb3BtZW50IiwieWVhciI6MjAyMiwib3JkZXIiOjEyLCJvYmplY3RJRCI6Ijc4ODAyXzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjY1LTEgV2F0ZXIgcXVhbGl0eSDigJQgUmFkaXVtLTIyNiDigJQgUGFydCAxOiBUZXN0IG1ldGhvZCB1c2luZyBsaXF1aWQgc2NpbnRpbGxhdGlvbiBjb3VudGluZyIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA3LzgzLzc4MzkyIiwidXVpZCI6ImViN2VlZmY5LWI2MDUtNGUzYi1hMmU2LTlmM2MyNGIzMTkxMCIsInRpdGxlIjoiSVNPIDEzMTE5IEhlYWx0aCBpbmZvcm1hdGljcyDigJQgQ2xpbmljYWwga25vd2xlZGdlIHJlc291cmNlcyDigJQgTWV0YWRhdGEiLCJzdGF0dXMiOiJVbmRlciBkZXZlbG9wbWVudCIsInllYXIiOjIwMjIsIm9yZGVyIjoxMiwib2JqZWN0SUQiOiI3ODM5Ml8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT4xOSBIZWFsdGggaW5mb3JtYXRpY3Mg4oCUIENsaW5pY2FsIGtub3dsZWRnZSByZXNvdXJjZXMg4oCUIE1ldGFkYXRhIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDUvNjQvNTY0NjMiLCJ1dWlkIjoiYTllMWFmMTAtYjNhYi00ZDdiLWI1NzgtMzU5MDEzZDViYTg3IiwidGl0bGUiOiJJU08gMTMxNjM6MjAxMyBXYXRlciBxdWFsaXR5IOKAlCBMZWFkLTIxMCDigJQgVGVzdCBtZXRob2QgdXNpbmcgbGlxdWlkIHNjaW50aWxsYXRpb24gY291bnRpbmciLCJzdGF0dXMiOiJXaXRoZHJhd24iLCJ5ZWFyIjoyMDIxLCJvcmRlciI6MTAwLCJ0ZXh0IjoiSVNPIDEzMTYzIHNwZWNpZmllcyB0aGUgZGV0ZXJtaW5hdGlvbiBvZiBsZWFkLTIxMCAoMjEwUGIpIGFjdGl2aXR5IGNvbmNlbnRyYXRpb24gaW4gc2FtcGxlcyBvZiBhbGwgdHlwZXMgb2Ygd2F0ZXIgdXNpbmcgbGlxdWlkIHNjaW50aWxsYXRpb24gY291bnRpbmcgKExTQykuIEZvciByYXcgYW5kIGRyaW5raW5nIHdhdGVyLCB0aGUgc2FtcGxlIHNob3VsZCBiZSBkZWdhc3NlZCBpbiBvcmRlciB0byBtaW5pbWl6ZSB0aGUgaW5ncm93dGggb2YgMjEwIFBiIGZyb20gcmFkb24tMjIyICggMjIyIFJuKS4gVXNpbmcgY3VycmVudGx5IGF2YWlsYWJsZSBsaXF1aWQgc2NpbnRpbGxhdGlvbiBjb3VudGVycywgdGhpcyB0ZXN0IG1ldGhvZCBjYW4gbWVhc3VyZSB0aGUgMjEwIFBiIGFjdGl2aXR5IGNvbmNlbnRyYXRpb25zIGluIHRoZSByYW5nZSBvZiBsZXNzIHRoYW4gMjAgbUJx4ouFbCAtMSB0byA1MCBtQnHii4VsIC0xIC4gVGhlc2UgdmFsdWVzIGNhbiBiZSBhY2hpZXZlZCB3aXRoIGEgY291bnRpbmcgdGltZSBiZXR3ZWVuIDE4MCBtaW4gYW5kIDcyMCBtaW4gZm9yIGEgc2FtcGxlIHZvbHVtZSBmcm9tIDAsNSBsIHRvIDEsNSBsLiBIaWdoZXIgMjEwIFBiIGFjdGl2aXR5IGNvbmNlbnRyYXRpb25zIGNhbiBiZSBtZWFzdXJlZCBieSBlaXRoZXIgZGlsdXRpbmcgdGhlIHNhbXBsZSBvciB1c2luZyBzbWFsbGVyIHNhbXBsZSBhbGlxdW90cyBvciBib3RoLiBJdCBpcyB0aGUgbGFib3JhdG9yeSdzIHJlc3BvbnNpYmlsaXR5IHRvIGVuc3VyZSB0aGUgc3VpdGFiaWxpdHkgb2YgdGhpcyB0ZXN0IG1ldGhvZCBmb3IgdGhlIHdhdGVyIHNhbXBsZXMgdGVzdGVkLiAiLCJvYmplY3RJRCI6IjU2NDYzXzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjYzOjIwMTMgV2F0ZXIgcXVhbGl0eSDigJQgTGVhZC0yMTAg4oCUIFRlc3QgbWV0aG9kIHVzaW5nIGxpcXVpZCBzY2ludGlsbGF0aW9uIGNvdW50aW5nIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT42MyBzcGVjaWZpZXMgdGhlIGRldGVybWluYXRpb24gb2YgbGVhZC0yMTAgKDIxMFBiKSBhY3Rpdml0eSBjb25jZW50cmF0aW9uIGluIHNhbXBsZXMgb2YgYWxsIHR5cGVzIG9mIHdhdGVyIHVzaW5nIGxpcXVpZCBzY2ludGlsbGF0aW9uIGNvdW50aW5nIChMU0MpLiBGb3IgcmF3IGFuZCBkcmlua2luZyB3YXRlciwgdGhlIHNhbXBsZSBzaG91bGQgYmUgZGVnYXNzZWQgaW4gb3JkZXIgdG8gbWluaW1pemUgdGhlIGluZ3Jvd3RoIG9mIDIxMCBQYiBmcm9tIHJhZG9uLTIyMiAoIDIyMiBSbikuIFVzaW5nIGN1cnJlbnRseSBhdmFpbGFibGUgbGlxdWlkIHNjaW50aWxsYXRpb24gY291bnRlcnMsIHRoaXMgdGVzdCBtZXRob2QgY2FuIG1lYXN1cmUgdGhlIDIxMCBQYiBhY3Rpdml0eSBjb25jZW50cmF0aW9ucyBpbiB0aGUgcmFuZ2Ugb2YgbGVzcyB0aGFuIDIwIG1CceKLhWwgLTEgdG8gNTAgbUJx4ouFbCAtMSAuIFRoZXNlIHZhbHVlcyBjYW4gYmUgYWNoaWV2ZWQgd2l0aCBhIGNvdW50aW5nIHRpbWUgYmV0d2VlbiAxODAgbWluIGFuZCA3MjAgbWluIGZvciBhIHNhbXBsZSB2b2x1bWUgZnJvbSAwLDUgbCB0byAxLDUgbC4gSGlnaGVyIDIxMCBQYiBhY3Rpdml0eSBjb25jZW50cmF0aW9ucyBjYW4gYmUgbWVhc3VyZWQgYnkgZWl0aGVyIGRpbHV0aW5nIHRoZSBzYW1wbGUgb3IgdXNpbmcgc21hbGxlciBzYW1wbGUgYWxpcXVvdHMgb3IgYm90aC4gSXQgaXMgdGhlIGxhYm9yYXRvcnkncyByZXNwb25zaWJpbGl0eSB0byBlbnN1cmUgdGhlIHN1aXRhYmlsaXR5IG9mIHRoaXMgdGVzdCBtZXRob2QgZm9yIHRoZSB3YXRlciBzYW1wbGVzIHRlc3RlZC4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDUvMzQvNTM0NDgiLCJ1dWlkIjoiNTY1YzhmMTAtMGY0Zi00YjZiLWFhM2UtNDE2YzBmYzk3NmRkIiwidGl0bGUiOiJJU08gMTMxNzktMToyMDE0IEltcGxhbnRzIGZvciBzdXJnZXJ5IOKAlCBQbGFzbWEtc3ByYXllZCB1bmFsbG95ZWQgdGl0YW5pdW0gY29hdGluZ3Mgb24gbWV0YWxsaWMgc3VyZ2ljYWwgaW1wbGFudHMg4oCUIFBhcnQgMTogR2VuZXJhbCByZXF1aXJlbWVudHMiLCJzdGF0dXMiOiJXaXRoZHJhd24iLCJ5ZWFyIjoyMDIxLCJvcmRlciI6MTAwLCJ0ZXh0IjoiSVNPIDEzMTc5LTE6MjAxNCBzcGVjaWZpZXMgZ2VuZXJhbCByZXF1aXJlbWVudHMgZm9yIHBsYXNtYS1zcHJheWVkIHVuYWxsb3llZCB0aXRhbml1bSBjb2F0aW5ncyBvbiBtZXRhbGxpYyBzdXJnaWNhbCBpbXBsYW50cy4gSXQgYXBwbGllcyB0byBwbGFzbWEgc3ByYXlpbmcgaW4gYWlyIGFuZCBpbiB2YWN1dW0uIElTTyAxMzE3OS0xOjIwMTQgZG9lcyBub3QgYXBwbHkgdG8gY29hdGluZ3MgbWFkZSBvZiBvdGhlciBtYXRlcmlhbHMgdGhhbiB1bmFsbG95ZWQgdGl0YW5pdW0gb3IgY29hdGluZ3MgcmVhbGl6ZWQgYnkgYW5vdGhlciB0ZWNobm9sb2d5IHRoYW4gcGxhc21hIHNwcmF5aW5nLiAiLCJvYmplY3RJRCI6IjUzNDQ4XzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjc5LTE6MjAxNCBJbXBsYW50cyBmb3Igc3VyZ2VyeSDigJQgUGxhc21hLXNwcmF5ZWQgdW5hbGxveWVkIHRpdGFuaXVtIGNvYXRpbmdzIG9uIG1ldGFsbGljIHN1cmdpY2FsIGltcGxhbnRzIOKAlCBQYXJ0IDE6IEdlbmVyYWwgcmVxdWlyZW1lbnRzIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT43OS0xOjIwMTQgc3BlY2lmaWVzIGdlbmVyYWwgcmVxdWlyZW1lbnRzIGZvciBwbGFzbWEtc3ByYXllZCB1bmFsbG95ZWQgdGl0YW5pdW0gY29hdGluZ3Mgb24gbWV0YWxsaWMgc3VyZ2ljYWwgaW1wbGFudHMuIEl0IGFwcGxpZXMgdG8gcGxhc21hIHNwcmF5aW5nIGluIGFpciBhbmQgaW4gdmFjdXVtLiA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NzktMToyMDE0IGRvZXMgbm90IGFwcGx5IHRvIGNvYXRpbmdzIG1hZGUgb2Ygb3RoZXIgbWF0ZXJpYWxzIHRoYW4gdW5hbGxveWVkIHRpdGFuaXVtIG9yIGNvYXRpbmdzIHJlYWxpemVkIGJ5IGFub3RoZXIgdGVjaG5vbG9neSB0aGFuIHBsYXNtYSBzcHJheWluZy4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDUvMzQvNTM0MDMiLCJ1dWlkIjoiODA4OTVlODMtZDNjZC00NDc1LTljM2EtMDhmYzY5ODJiNjU2IiwidGl0bGUiOiJJU08gMTMxNjI6MjAxMSBXYXRlciBxdWFsaXR5IOKAlCBEZXRlcm1pbmF0aW9uIG9mIGNhcmJvbiAxNCBhY3Rpdml0eSDigJQgTGlxdWlkIHNjaW50aWxsYXRpb24gY291bnRpbmcgbWV0aG9kIiwic3RhdHVzIjoiV2l0aGRyYXduIiwieWVhciI6MjAyMSwib3JkZXIiOjEwMCwidGV4dCI6IklTTyAxMzE2MjoyMDExIHNwZWNpZmllcyB0aGUgY29uZGl0aW9ucyBmb3IgdGhlIGRldGVybWluYXRpb24gb2YgMTQgQyBhY3Rpdml0eSBjb25jZW50cmF0aW9uIGluIHNhbXBsZXMgb2YgZW52aXJvbm1lbnRhbCB3YXRlciBvciBvZiAxNCBDLWNvbnRhaW5pbmcgd2F0ZXIgdXNpbmcgbGlxdWlkIHNjaW50aWxsYXRpb24gY291bnRpbmcuIFRoZSBtZXRob2QgaXMgYXBwbGljYWJsZSB0byB0aGUgYW5hbHlzaXMgb2YgYW55IG9yZ2FuaWMgbW9sZWN1bGUgc29sdWJsZSBpbiB3YXRlciB0aGF0IGlzIHdlbGwgbWl4ZWQgd2l0aCB0aGUgc2NpbnRpbGxhdGlvbiBjb2NrdGFpbC4gSXQgZG9lcyBub3QgYXBwbHkgdG8gbWljZWxsZXMgb3IgXCJsYXJnZVwiIHBhcnRpY2xlcyAobGlwaWRzLCBmdWx2aWMgYWNpZCwgaHVtaWMgYWNpZCwgZXRjLikgdGhhdCBhcmUgaW5hZGVxdWF0ZWx5IG1peGVkIHdpdGggdGhlIHNjaW50aWxsYXRpb24gY29ja3RhaWwgYW5kIHRoZSB3YXRlci4gU29tZSBiZXRhIGVuZXJneSBpcyBsb3N0IHdpdGhvdXQgYW55IGV4Y2l0YXRpb24gb2YgdGhlIHNjaW50aWxsYXRpb24gY29ja3RhaWwgYW5kIHRoZSByZXN1bHRzIGFyZSB1bmRlcmVzdGltYXRlZC4gVGhlIG1ldGhvZCBpcyBub3QgYXBwbGljYWJsZSB0byB0aGUgYW5hbHlzaXMgb2Ygb3JnYW5pY2FsbHkgYm91bmQgMTQgQywgd2hvc2UgZGV0ZXJtaW5hdGlvbiByZXF1aXJlcyBhZGRpdGlvbmFsIGNoZW1pY2FsIHByb2Nlc3NpbmcgKHN1Y2ggYXMgY2hlbWljYWwgb3hpZGF0aW9uLCBjb21idXN0aW9uKS4gSXQgaXMgcG9zc2libGUgdG8gZGV0ZXJtaW5lIDE0IEMgYWN0aXZpdHkgY29uY2VudHJhdGlvbnMgYmVsb3cgMTAgNiBCcSBsIC0gMSB3aXRob3V0IGFueSBzYW1wbGUgZGlsdXRpb24uICIsIm9iamVjdElEIjoiNTM0MDNfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NjI6MjAxMSBXYXRlciBxdWFsaXR5IOKAlCBEZXRlcm1pbmF0aW9uIG9mIGNhcmJvbiAxNCBhY3Rpdml0eSDigJQgTGlxdWlkIHNjaW50aWxsYXRpb24gY291bnRpbmcgbWV0aG9kIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT42MjoyMDExIHNwZWNpZmllcyB0aGUgY29uZGl0aW9ucyBmb3IgdGhlIGRldGVybWluYXRpb24gb2YgMTQgQyBhY3Rpdml0eSBjb25jZW50cmF0aW9uIGluIHNhbXBsZXMgb2YgZW52aXJvbm1lbnRhbCB3YXRlciBvciBvZiAxNCBDLWNvbnRhaW5pbmcgd2F0ZXIgdXNpbmcgbGlxdWlkIHNjaW50aWxsYXRpb24gY291bnRpbmcuIFRoZSBtZXRob2QgaXMgYXBwbGljYWJsZSB0byB0aGUgYW5hbHlzaXMgb2YgYW55IG9yZ2FuaWMgbW9sZWN1bGUgc29sdWJsZSBpbiB3YXRlciB0aGF0IGlzIHdlbGwgbWl4ZWQgd2l0aCB0aGUgc2NpbnRpbGxhdGlvbiBjb2NrdGFpbC4gSXQgZG9lcyBub3QgYXBwbHkgdG8gbWljZWxsZXMgb3IgXCJsYXJnZVwiIHBhcnRpY2xlcyAobGlwaWRzLCBmdWx2aWMgYWNpZCwgaHVtaWMgYWNpZCwgZXRjLikgdGhhdCBhcmUgaW5hZGVxdWF0ZWx5IG1peGVkIHdpdGggdGhlIHNjaW50aWxsYXRpb24gY29ja3RhaWwgYW5kIHRoZSB3YXRlci4gU29tZSBiZXRhIGVuZXJneSBpcyBsb3N0IHdpdGhvdXQgYW55IGV4Y2l0YXRpb24gb2YgdGhlIHNjaW50aWxsYXRpb24gY29ja3RhaWwgYW5kIHRoZSByZXN1bHRzIGFyZSB1bmRlcmVzdGltYXRlZC4gVGhlIG1ldGhvZCBpcyBub3QgYXBwbGljYWJsZSB0byB0aGUgYW5hbHlzaXMgb2Ygb3JnYW5pY2FsbHkgYm91bmQgMTQgQywgd2hvc2UgZGV0ZXJtaW5hdGlvbiByZXF1aXJlcyBhZGRpdGlvbmFsIGNoZW1pY2FsIHByb2Nlc3NpbmcgKHN1Y2ggYXMgY2hlbWljYWwgb3hpZGF0aW9uLCBjb21idXN0aW9uKS4gSXQgaXMgcG9zc2libGUgdG8gZGV0ZXJtaW5lIDE0IEMgYWN0aXZpdHkgY29uY2VudHJhdGlvbnMgYmVsb3cgMTAgNiBCcSBsIC0gMSB3aXRob3V0IGFueSBzYW1wbGUgZGlsdXRpb24uICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA1LzMzLzUzMzYyIiwidXVpZCI6IjE4ZWIxZjgyLTRkYTgtNDBjMi05Y2UxLTdmNDFmODQ4YjljZiIsInRpdGxlIjoiSVNPIDEzMTQyOjIwMTUgRWxlY3Ryby1vcHRpY2FsIHN5c3RlbXMg4oCUIENhdml0eSByaW5nLWRvd24gdGVjaG5pcXVlIGZvciBoaWdoLXJlZmxlY3RhbmNlIG1lYXN1cmVtZW50Iiwic3RhdHVzIjoiV2l0aGRyYXduIiwieWVhciI6MjAyMSwib3JkZXIiOjEwMCwidGV4dCI6IklTTyAxMzE0MjoyMDE1IHNwZWNpZmllcyBtZWFzdXJlbWVudCBwcm9jZWR1cmVzIGZvciB0aGUgcHJlY2lzZSBkZXRlcm1pbmF0aW9uIG9mIHRoZSBoaWdoIHJlZmxlY3RhbmNlIG9mIG9wdGljYWwgbGFzZXIgY29tcG9uZW50cy4gVXAgdG8gbm93LCB0aGUgSVNPIHN0YW5kYXJkaXplZCB0ZXN0aW5nIG1ldGhvZHMgZm9yIHJlZmxlY3RhbmNlIG9mIG9wdGljYWwgbGFzZXIgY29tcG9uZW50cyBoYXZlIHRoZSBhY2N1cmFjeSBsaW1pdCBvZiBhcHByb3hpbWF0ZWx5IDAsMDEgJSAoZm9yIG1lYXN1cmVtZW50IG9mIGFic29sdXRlIHJlZmxlY3RhbmNlKSB3aGljaCBhcmUgbm90IGFwcHJvcHJpYXRlIGZvciBtZWFzdXJpbmcgdGhlIHJlZmxlY3RhbmNlIGhpZ2hlciB0aGFuIDk5LDk5ICUgb3IsIGluIHNvbWUgY2FzZXMsIG1lYXN1cmVtZW50IGFjY3VyYWN5IGJldHRlciB0aGFuIDAsMDEgJSBpcyByZXF1aXJlZC4gVGhlIHJhbmdlIG9mIGFwcGxpY2F0aW9uIG9mIHRoaXMgc3RhbmRhcmRpemVkIHRlc3QgbWV0aG9kIGlzIHJlZmxlY3RhbmNlIDk5ICUgYW5kIGhpZ2hlciAodGhlb3JldGljYWxseSB1cCB0byAxMDAgJSkuIFRoZSBtZXRob2RzIGdpdmVuIGluIElTTyAxMzE0MjoyMDE1IGFyZSBpbnRlbmRlZCB0byBiZSB1c2VkIGZvciB0aGUgdGVzdGluZyBhbmQgY2hhcmFjdGVyaXphdGlvbiBvZiBoaWdoIHJlZmxlY3RhbmNlIG9mIGJvdGggY29uY2F2ZSBhbmQgcGxhbmUgbWlycm9ycyB1c2VkIGluIGxhc2VyIHN5c3RlbXMgYW5kIGxhc2VyLWJhc2VkIGluc3RydW1lbnRzLiBUaGUgcmVmbGVjdGFuY2Ugb2YgY29udmV4IG1pcnJvcnMgY2FuIGFsc28gYmUgdGVzdGVkIGJ5IHRha2luZyBpbnRvIGNvbnNpZGVyYXRpb24gdGhlIHJhZGl1cyBvZiBjdXJ2YXR1cmUgb2YgdGhlIG1pcnJvciBzdXJmYWNlLiAiLCJvYmplY3RJRCI6IjUzMzYyXzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjQyOjIwMTUgRWxlY3Ryby1vcHRpY2FsIHN5c3RlbXMg4oCUIENhdml0eSByaW5nLWRvd24gdGVjaG5pcXVlIGZvciBoaWdoLXJlZmxlY3RhbmNlIG1lYXN1cmVtZW50IiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT40MjoyMDE1IHNwZWNpZmllcyBtZWFzdXJlbWVudCBwcm9jZWR1cmVzIGZvciB0aGUgcHJlY2lzZSBkZXRlcm1pbmF0aW9uIG9mIHRoZSBoaWdoIHJlZmxlY3RhbmNlIG9mIG9wdGljYWwgbGFzZXIgY29tcG9uZW50cy4gVXAgdG8gbm93LCB0aGUgPGVtPklTTzwvZW0+IHN0YW5kYXJkaXplZCB0ZXN0aW5nIG1ldGhvZHMgZm9yIHJlZmxlY3RhbmNlIG9mIG9wdGljYWwgbGFzZXIgY29tcG9uZW50cyBoYXZlIHRoZSBhY2N1cmFjeSBsaW1pdCBvZiBhcHByb3hpbWF0ZWx5IDAsMDEgJSAoZm9yIG1lYXN1cmVtZW50IG9mIGFic29sdXRlIHJlZmxlY3RhbmNlKSB3aGljaCBhcmUgbm90IGFwcHJvcHJpYXRlIGZvciBtZWFzdXJpbmcgdGhlIHJlZmxlY3RhbmNlIGhpZ2hlciB0aGFuIDk5LDk5ICUgb3IsIGluIHNvbWUgY2FzZXMsIG1lYXN1cmVtZW50IGFjY3VyYWN5IGJldHRlciB0aGFuIDAsMDEgJSBpcyByZXF1aXJlZC4gVGhlIHJhbmdlIG9mIGFwcGxpY2F0aW9uIG9mIHRoaXMgc3RhbmRhcmRpemVkIHRlc3QgbWV0aG9kIGlzIHJlZmxlY3RhbmNlIDk5ICUgYW5kIGhpZ2hlciAodGhlb3JldGljYWxseSB1cCB0byAxMDAgJSkuIFRoZSBtZXRob2RzIGdpdmVuIGluIDxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT40MjoyMDE1IGFyZSBpbnRlbmRlZCB0byBiZSB1c2VkIGZvciB0aGUgdGVzdGluZyBhbmQgY2hhcmFjdGVyaXphdGlvbiBvZiBoaWdoIHJlZmxlY3RhbmNlIG9mIGJvdGggY29uY2F2ZSBhbmQgcGxhbmUgbWlycm9ycyB1c2VkIGluIGxhc2VyIHN5c3RlbXMgYW5kIGxhc2VyLWJhc2VkIGluc3RydW1lbnRzLiBUaGUgcmVmbGVjdGFuY2Ugb2YgY29udmV4IG1pcnJvcnMgY2FuIGFsc28gYmUgdGVzdGVkIGJ5IHRha2luZyBpbnRvIGNvbnNpZGVyYXRpb24gdGhlIHJhZGl1cyBvZiBjdXJ2YXR1cmUgb2YgdGhlIG1pcnJvciBzdXJmYWNlLiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNS8zMy81MzMzMiIsInV1aWQiOiI5YWY0ZDA2Yy01MTliLTQ5NTctYjExOS1lYTlmMWUzODBmNjgiLCJ0aXRsZSI6IklTTyAxMzE2MDoyMDEyIFdhdGVyIHF1YWxpdHkg4oCUIFN0cm9udGl1bSA5MCBhbmQgc3Ryb250aXVtIDg5IOKAlCBUZXN0IG1ldGhvZHMgdXNpbmcgbGlxdWlkIHNjaW50aWxsYXRpb24gY291bnRpbmcgb3IgcHJvcG9ydGlvbmFsIGNvdW50aW5nIiwic3RhdHVzIjoiV2l0aGRyYXduIiwieWVhciI6MjAyMSwib3JkZXIiOjEwMCwidGV4dCI6IklTTyAxMzE2MDoyMDEyIHNwZWNpZmllcyB0aGUgdGVzdCBtZXRob2RzIGFuZCB0aGVpciBhc3NvY2lhdGVkIHByaW5jaXBsZXMgZm9yIHRoZSBtZWFzdXJlbWVudCBvZiB0aGUgYWN0aXZpdHkgb2YgOTAgU3IgaW4gZXF1aWxpYnJpdW0gd2l0aCA5MCBZLCBhbmQgODkgU3IsIHB1cmUgYmV0YS1lbWl0dGluZyByYWRpb251Y2xpZGVzLCBpbiB3YXRlciBzYW1wbGVzLiBEaWZmZXJlbnQgY2hlbWljYWwgc2VwYXJhdGlvbiBtZXRob2RzIGFyZSBwcmVzZW50ZWQgdG8gcHJvZHVjZSBzdHJvbnRpdW0gYW5kIHl0dHJpdW0gc291cmNlcywgdGhlIGFjdGl2aXR5IG9mIHdoaWNoIGlzIGRldGVybWluZWQgdXNpbmcgYSBwcm9wb3J0aW9uYWwgY291bnRlciAoUEMpIG9yIGxpcXVpZCBzY2ludGlsbGF0aW9uIGNvdW50ZXIgKExTQykuIFRoZSBzZWxlY3Rpb24gb2YgdGhlIHRlc3QgbWV0aG9kIGRlcGVuZHMgb24gdGhlIG9yaWdpbiBvZiB0aGUgY29udGFtaW5hdGlvbiwgdGhlIGNoYXJhY3RlcmlzdGljcyBvZiB0aGUgd2F0ZXIgdG8gYmUgYW5hbHlzZWQsIHRoZSByZXF1aXJlZCBhY2N1cmFjeSBvZiB0ZXN0IHJlc3VsdHMgYW5kIHRoZSBhdmFpbGFibGUgcmVzb3VyY2VzIG9mIHRoZSBsYWJvcmF0b3JpZXMuIFRoZXNlIHRlc3QgbWV0aG9kcyBhcmUgdXNlZCBmb3Igd2F0ZXIgbW9uaXRvcmluZyBmb2xsb3dpbmcsIHBhc3Qgb3IgcHJlc2VudCwgYWNjaWRlbnRhbCBvciByb3V0aW5lLCBsaXF1aWQgb3IgZ2FzZW91cyBkaXNjaGFyZ2VzLiBJdCBhbHNvIGNvdmVycyB0aGUgbW9uaXRvcmluZyBvZiBjb250YW1pbmF0aW9uIGNhdXNlZCBieSBnbG9iYWwgZmFsbG91dC4gV2hlbiBmYWxsb3V0IG9jY3VycyBpbW1lZGlhdGVseSBmb2xsb3dpbmcgYSBudWNsZWFyIGFjY2lkZW50LCB0aGUgY29udHJpYnV0aW9uIG9mIDg5IFNyIHRvIHRoZSB0b3RhbCBhbW91bnQgb2Ygc3Ryb250aXVtIGFjdGl2aXR5IGlzIG5vdCBuZWdsaWdpYmxlLiBJU08gMTMxNjA6MjAxMiBwcm92aWRlcyB0aGUgdGVzdCBtZXRob2RzIHRvIGRldGVybWluZSB0aGUgYWN0aXZpdHkgY29uY2VudHJhdGlvbiBvZiA5MCBTciBpbiBwcmVzZW5jZSBvZiA4OSBTci4gIiwib2JqZWN0SUQiOiI1MzMzMl8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT42MDoyMDEyIFdhdGVyIHF1YWxpdHkg4oCUIFN0cm9udGl1bSA5MCBhbmQgc3Ryb250aXVtIDg5IOKAlCBUZXN0IG1ldGhvZHMgdXNpbmcgbGlxdWlkIHNjaW50aWxsYXRpb24gY291bnRpbmcgb3IgcHJvcG9ydGlvbmFsIGNvdW50aW5nIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT42MDoyMDEyIHNwZWNpZmllcyB0aGUgdGVzdCBtZXRob2RzIGFuZCB0aGVpciBhc3NvY2lhdGVkIHByaW5jaXBsZXMgZm9yIHRoZSBtZWFzdXJlbWVudCBvZiB0aGUgYWN0aXZpdHkgb2YgOTAgU3IgaW4gZXF1aWxpYnJpdW0gd2l0aCA5MCBZLCBhbmQgODkgU3IsIHB1cmUgYmV0YS1lbWl0dGluZyByYWRpb251Y2xpZGVzLCBpbiB3YXRlciBzYW1wbGVzLiBEaWZmZXJlbnQgY2hlbWljYWwgc2VwYXJhdGlvbiBtZXRob2RzIGFyZSBwcmVzZW50ZWQgdG8gcHJvZHVjZSBzdHJvbnRpdW0gYW5kIHl0dHJpdW0gc291cmNlcywgdGhlIGFjdGl2aXR5IG9mIHdoaWNoIGlzIGRldGVybWluZWQgdXNpbmcgYSBwcm9wb3J0aW9uYWwgY291bnRlciAoUEMpIG9yIGxpcXVpZCBzY2ludGlsbGF0aW9uIGNvdW50ZXIgKExTQykuIFRoZSBzZWxlY3Rpb24gb2YgdGhlIHRlc3QgbWV0aG9kIGRlcGVuZHMgb24gdGhlIG9yaWdpbiBvZiB0aGUgY29udGFtaW5hdGlvbiwgdGhlIGNoYXJhY3RlcmlzdGljcyBvZiB0aGUgd2F0ZXIgdG8gYmUgYW5hbHlzZWQsIHRoZSByZXF1aXJlZCBhY2N1cmFjeSBvZiB0ZXN0IHJlc3VsdHMgYW5kIHRoZSBhdmFpbGFibGUgcmVzb3VyY2VzIG9mIHRoZSBsYWJvcmF0b3JpZXMuIFRoZXNlIHRlc3QgbWV0aG9kcyBhcmUgdXNlZCBmb3Igd2F0ZXIgbW9uaXRvcmluZyBmb2xsb3dpbmcsIHBhc3Qgb3IgcHJlc2VudCwgYWNjaWRlbnRhbCBvciByb3V0aW5lLCBsaXF1aWQgb3IgZ2FzZW91cyBkaXNjaGFyZ2VzLiBJdCBhbHNvIGNvdmVycyB0aGUgbW9uaXRvcmluZyBvZiBjb250YW1pbmF0aW9uIGNhdXNlZCBieSBnbG9iYWwgZmFsbG91dC4gV2hlbiBmYWxsb3V0IG9jY3VycyBpbW1lZGlhdGVseSBmb2xsb3dpbmcgYSBudWNsZWFyIGFjY2lkZW50LCB0aGUgY29udHJpYnV0aW9uIG9mIDg5IFNyIHRvIHRoZSB0b3RhbCBhbW91bnQgb2Ygc3Ryb250aXVtIGFjdGl2aXR5IGlzIG5vdCBuZWdsaWdpYmxlLiA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NjA6MjAxMiBwcm92aWRlcyB0aGUgdGVzdCBtZXRob2RzIHRvIGRldGVybWluZSB0aGUgYWN0aXZpdHkgY29uY2VudHJhdGlvbiBvZiA5MCBTciBpbiBwcmVzZW5jZSBvZiA4OSBTci4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDYvODIvNjgyNDYiLCJ1dWlkIjoiMGExZjQ5OTAtNDgyNC00NzQ3LWE5ZTQtMWU4ZGRiMTg5MTFhIiwidGl0bGUiOiJJU08gMTMxNDMtMToyMDE2IEVsZWN0cm9uaWMgZmVlIGNvbGxlY3Rpb24g4oCUIEV2YWx1YXRpb24gb2Ygb24tYm9hcmQgYW5kIHJvYWRzaWRlIGVxdWlwbWVudCBmb3IgY29uZm9ybWl0eSB0byBJU08gMTI4MTMg4oCUIFBhcnQgMTogVGVzdCBzdWl0ZSBzdHJ1Y3R1cmUgYW5kIHRlc3QgcHVycG9zZXMiLCJzdGF0dXMiOiJXaXRoZHJhd24iLCJ5ZWFyIjoyMDIwLCJvcmRlciI6MTAwLCJ0ZXh0IjoiSVNPIDE4MTQzLTE6MjAxNiBzcGVjaWZpZXMgdGhlIHRlc3Qgc3VpdGUgc3RydWN0dXJlIChUU1MpIGFuZCB0ZXN0IHB1cnBvc2VzIChUUCkgdG8gZXZhbHVhdGUgdGhlIGNvbmZvcm1pdHkgb2Ygb24tYm9hcmQgdW5pdHMgKE9CVSkgYW5kIHJvYWRzaWRlIGVxdWlwbWVudCAoUlNFKSB0byBJU08gMTI4MTM6MjAxNS4gSXQgcHJvdmlkZXMgYSBiYXNpcyBmb3IgY29uZm9ybWFuY2UgdGVzdHMgZm9yIGRlZGljYXRlZCBzaG9ydC1yYW5nZSBjb21tdW5pY2F0aW9uIChEU1JDKSBlcXVpcG1lbnQgKG9uLWJvYXJkIHVuaXRzIGFuZCByb2Fkc2lkZSB1bml0cykgdG8gZW5hYmxlIGludGVyb3BlcmFiaWxpdHkgYmV0d2VlbiBkaWZmZXJlbnQgZXF1aXBtZW50IHN1cHBsaWVkIGJ5IGRpZmZlcmVudCBtYW51ZmFjdHVyZXJzLiAiLCJvYmplY3RJRCI6IjY4MjQ2XzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjQzLTE6MjAxNiBFbGVjdHJvbmljIGZlZSBjb2xsZWN0aW9uIOKAlCBFdmFsdWF0aW9uIG9mIG9uLWJvYXJkIGFuZCByb2Fkc2lkZSBlcXVpcG1lbnQgZm9yIGNvbmZvcm1pdHkgdG8gPGVtPklTTzwvZW0+IDEyODEzIOKAlCBQYXJ0IDE6IFRlc3Qgc3VpdGUgc3RydWN0dXJlIGFuZCB0ZXN0IHB1cnBvc2VzIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiAxODE0My0xOjIwMTYgc3BlY2lmaWVzIHRoZSB0ZXN0IHN1aXRlIHN0cnVjdHVyZSAoVFNTKSBhbmQgdGVzdCBwdXJwb3NlcyAoVFApIHRvIGV2YWx1YXRlIHRoZSBjb25mb3JtaXR5IG9mIG9uLWJvYXJkIHVuaXRzIChPQlUpIGFuZCByb2Fkc2lkZSBlcXVpcG1lbnQgKFJTRSkgdG8gPGVtPklTTzwvZW0+IDEyODEzOjIwMTUuIEl0IHByb3ZpZGVzIGEgYmFzaXMgZm9yIGNvbmZvcm1hbmNlIHRlc3RzIGZvciBkZWRpY2F0ZWQgc2hvcnQtcmFuZ2UgY29tbXVuaWNhdGlvbiAoRFNSQykgZXF1aXBtZW50IChvbi1ib2FyZCB1bml0cyBhbmQgcm9hZHNpZGUgdW5pdHMpIHRvIGVuYWJsZSBpbnRlcm9wZXJhYmlsaXR5IGJldHdlZW4gZGlmZmVyZW50IGVxdWlwbWVudCBzdXBwbGllZCBieSBkaWZmZXJlbnQgbWFudWZhY3R1cmVycy4gIiwibWF0Y2hMZXZlbCI6InBhcnRpYWwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDUvOTIvNTkyMDkiLCJ1dWlkIjoiODJhNWY1Y2UtOTYwMC00YzkzLTg0M2UtZTZiOWYxNmZiNzJjIiwidGl0bGUiOiJJU08gMTMxNjY6MjAxNCBXYXRlciBxdWFsaXR5IOKAlCBVcmFuaXVtIGlzb3RvcGVzIOKAlCBUZXN0IG1ldGhvZCB1c2luZyBhbHBoYS1zcGVjdHJvbWV0cnkiLCJzdGF0dXMiOiJXaXRoZHJhd24iLCJ5ZWFyIjoyMDIwLCJvcmRlciI6MTAwLCJ0ZXh0IjoiSVNPIDEzMTY2OjIwMTQgc3BlY2lmaWVzIHRoZSBjb25kaXRpb25zIGZvciB0aGUgZGV0ZXJtaW5hdGlvbiBvZiB1cmFuaXVtIGlzb3RvcGUgYWN0aXZpdHkgY29uY2VudHJhdGlvbiBpbiBzYW1wbGVzIG9mIGVudmlyb25tZW50YWwgd2F0ZXIgKGluY2x1ZGluZyBzZWEgd2F0ZXJzKSB1c2luZyBhbHBoYS1zcGVjdHJvbWV0cnkgYW5kIDIzMiBVIGFzIGEgeWllbGQgdHJhY2VyLiBBIGNoZW1pY2FsIHNlcGFyYXRpb24gaXMgcmVxdWlyZWQgdG8gc2VwYXJhdGUgYW5kIHB1cmlmeSB1cmFuaXVtIGZyb20gYSB0ZXN0IHBvcnRpb24gb2YgdGhlIHNhbXBsZS4gUGx1dG9uaXVtIGlzb3RvcGVzIGNhbiBpbnRlcmZlcmUsIGlmIHByZXNlbnQsIHdpdGggZGV0ZWN0YWJsZSBhY3Rpdml0aWVzIGluIHRoZSBzYW1wbGUuIFRoZSBkZXRlY3Rpb24gbGltaXQgZm9yIG1lYXN1cmVtZW50IG9mIGEgdGVzdCBwb3J0aW9uIG9mIGFib3V0IDUwMCBtbCBpcyBhcHByb3hpbWF0ZWx5IDUgbUJxIMK3IGwg4oiSMSB3aXRoIGEgY291bnRpbmcgdGltZSBvZiBhYm91dCAyMDAgMDAwIHMuICIsIm9iamVjdElEIjoiNTkyMDlfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NjY6MjAxNCBXYXRlciBxdWFsaXR5IOKAlCBVcmFuaXVtIGlzb3RvcGVzIOKAlCBUZXN0IG1ldGhvZCB1c2luZyBhbHBoYS1zcGVjdHJvbWV0cnkiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjY2OjIwMTQgc3BlY2lmaWVzIHRoZSBjb25kaXRpb25zIGZvciB0aGUgZGV0ZXJtaW5hdGlvbiBvZiB1cmFuaXVtIGlzb3RvcGUgYWN0aXZpdHkgY29uY2VudHJhdGlvbiBpbiBzYW1wbGVzIG9mIGVudmlyb25tZW50YWwgd2F0ZXIgKGluY2x1ZGluZyBzZWEgd2F0ZXJzKSB1c2luZyBhbHBoYS1zcGVjdHJvbWV0cnkgYW5kIDIzMiBVIGFzIGEgeWllbGQgdHJhY2VyLiBBIGNoZW1pY2FsIHNlcGFyYXRpb24gaXMgcmVxdWlyZWQgdG8gc2VwYXJhdGUgYW5kIHB1cmlmeSB1cmFuaXVtIGZyb20gYSB0ZXN0IHBvcnRpb24gb2YgdGhlIHNhbXBsZS4gUGx1dG9uaXVtIGlzb3RvcGVzIGNhbiBpbnRlcmZlcmUsIGlmIHByZXNlbnQsIHdpdGggZGV0ZWN0YWJsZSBhY3Rpdml0aWVzIGluIHRoZSBzYW1wbGUuIFRoZSBkZXRlY3Rpb24gbGltaXQgZm9yIG1lYXN1cmVtZW50IG9mIGEgdGVzdCBwb3J0aW9uIG9mIGFib3V0IDUwMCBtbCBpcyBhcHByb3hpbWF0ZWx5IDUgbUJxIMK3IGwg4oiSMSB3aXRoIGEgY291bnRpbmcgdGltZSBvZiBhYm91dCAyMDAgMDAwIHMuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA1LzM0LzUzNDAyIiwidXVpZCI6IjZiNmZjN2M1LTc0YWEtNDY5MC1hMjZjLWQ2MjRjMzcxOTRjZiIsInRpdGxlIjoiSVNPIDEzMTYxOjIwMTEgV2F0ZXIgcXVhbGl0eSDigJQgTWVhc3VyZW1lbnQgb2YgcG9sb25pdW0gMjEwIGFjdGl2aXR5IGNvbmNlbnRyYXRpb24gaW4gd2F0ZXIgYnkgYWxwaGEgc3BlY3Ryb21ldHJ5Iiwic3RhdHVzIjoiV2l0aGRyYXduIiwieWVhciI6MjAyMCwib3JkZXIiOjEwMCwidGV4dCI6IklTTyAxMzE2MToyMDExIHNwZWNpZmllcyB0aGUgbWVhc3VyZW1lbnQgb2YgMjEwIFBvIGFjdGl2aXR5IGNvbmNlbnRyYXRpb24gYnkgYWxwaGEgc3BlY3Ryb21ldHJ5IGluIGFsbCBraW5kcyBvZiBuYXR1cmFsIHdhdGVycy4gVGhlIGRldGVjdGlvbiBsaW1pdCBvZiB0aGlzIG1ldGhvZCBkZXBlbmRzIG9uIHRoZSB2b2x1bWUgb2YgdGhlIHNhbXBsZSwgdGhlIGNvdW50aW5nIHRpbWUsIHRoZSBiYWNrZ3JvdW5kIGNvdW50IHJhdGUgYW5kIHRoZSBkZXRlY3Rpb24gZWZmaWNpZW5jeS4gSW4gdGhlIGNhc2Ugb2YgZHJpbmtpbmcgd2F0ZXIsIHRoZSBhbmFseXNpcyBpcyB1c3VhbGx5IGNhcnJpZWQgb3V0IG9uIHRoZSByYXcgc2FtcGxlLCB3aXRob3V0IGZpbHRyYXRpb24gb3Igb3RoZXIgcHJldHJlYXRtZW50LiBJZiBzdXNwZW5kZWQgbWF0ZXJpYWwgaGFzIHRvIGJlIHJlbW92ZWQgb3IgYW5hbHlzZWQsIGZpbHRyYXRpb24gYXQgMCw0NSDCtW0gaXMgcmVjb21tZW5kZWQuIFRoZSBhbmFseXNpcyBvZiB0aGUgaW5zb2x1YmxlIGZyYWN0aW9uIHJlcXVpcmVzIGEgbWluZXJhbGl6YXRpb24gc3RlcCB0aGF0IGlzIG5vdCBjb3ZlcmVkIGJ5IElTTyAxMzE2MToyMDExLiBJbiB0aGlzIGNhc2UsIHRoZSBtZWFzdXJlbWVudCBpcyBtYWRlIG9uIHRoZSBkaWZmZXJlbnQgcGhhc2VzIG9idGFpbmVkLiBUaGUgZmluYWwgYWN0aXZpdHkgaXMgdGhlIHN1bSBvZiBhbGwgdGhlIG1lYXN1cmVkIGFjdGl2aXR5IGNvbmNlbnRyYXRpb25zLiAiLCJvYmplY3RJRCI6IjUzNDAyXzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjYxOjIwMTEgV2F0ZXIgcXVhbGl0eSDigJQgTWVhc3VyZW1lbnQgb2YgcG9sb25pdW0gMjEwIGFjdGl2aXR5IGNvbmNlbnRyYXRpb24gaW4gd2F0ZXIgYnkgYWxwaGEgc3BlY3Ryb21ldHJ5IiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT42MToyMDExIHNwZWNpZmllcyB0aGUgbWVhc3VyZW1lbnQgb2YgMjEwIFBvIGFjdGl2aXR5IGNvbmNlbnRyYXRpb24gYnkgYWxwaGEgc3BlY3Ryb21ldHJ5IGluIGFsbCBraW5kcyBvZiBuYXR1cmFsIHdhdGVycy4gVGhlIGRldGVjdGlvbiBsaW1pdCBvZiB0aGlzIG1ldGhvZCBkZXBlbmRzIG9uIHRoZSB2b2x1bWUgb2YgdGhlIHNhbXBsZSwgdGhlIGNvdW50aW5nIHRpbWUsIHRoZSBiYWNrZ3JvdW5kIGNvdW50IHJhdGUgYW5kIHRoZSBkZXRlY3Rpb24gZWZmaWNpZW5jeS4gSW4gdGhlIGNhc2Ugb2YgZHJpbmtpbmcgd2F0ZXIsIHRoZSBhbmFseXNpcyBpcyB1c3VhbGx5IGNhcnJpZWQgb3V0IG9uIHRoZSByYXcgc2FtcGxlLCB3aXRob3V0IGZpbHRyYXRpb24gb3Igb3RoZXIgcHJldHJlYXRtZW50LiBJZiBzdXNwZW5kZWQgbWF0ZXJpYWwgaGFzIHRvIGJlIHJlbW92ZWQgb3IgYW5hbHlzZWQsIGZpbHRyYXRpb24gYXQgMCw0NSDCtW0gaXMgcmVjb21tZW5kZWQuIFRoZSBhbmFseXNpcyBvZiB0aGUgaW5zb2x1YmxlIGZyYWN0aW9uIHJlcXVpcmVzIGEgbWluZXJhbGl6YXRpb24gc3RlcCB0aGF0IGlzIG5vdCBjb3ZlcmVkIGJ5IDxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT42MToyMDExLiBJbiB0aGlzIGNhc2UsIHRoZSBtZWFzdXJlbWVudCBpcyBtYWRlIG9uIHRoZSBkaWZmZXJlbnQgcGhhc2VzIG9idGFpbmVkLiBUaGUgZmluYWwgYWN0aXZpdHkgaXMgdGhlIHN1bSBvZiBhbGwgdGhlIG1lYXN1cmVkIGFjdGl2aXR5IGNvbmNlbnRyYXRpb25zLiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNS8yOS81Mjk1MiIsInV1aWQiOiIwZDdjNTZjNi1iNDk3LTRjZjQtODYzNC1iZjU4ZmM0N2Q0NDciLCJ0aXRsZSI6IklTTyAxMzEyMDoyMDEzIEhlYWx0aCBpbmZvcm1hdGljcyDigJQgU3ludGF4IHRvIHJlcHJlc2VudCB0aGUgY29udGVudCBvZiBoZWFsdGhjYXJlIGNsYXNzaWZpY2F0aW9uIHN5c3RlbXMg4oCUIENsYXNzaWZpY2F0aW9uIE1hcmt1cCBMYW5ndWFnZSAoQ2xhTUwpIiwic3RhdHVzIjoiV2l0aGRyYXduIiwieWVhciI6MjAxOSwib3JkZXIiOjEwMCwidGV4dCI6IlRoZSBtYWluIHB1cnBvc2Ugb2YgSVNPIDEzMTIwOjIwMTMgaXMgdG8gZm9ybWFsbHkgcmVwcmVzZW50IHRoZSBjb250ZW50IGFuZCBoaWVyYXJjaGljYWwgc3RydWN0dXJlIG9mIGhlYWx0aGNhcmUgY2xhc3NpZmljYXRpb24gc3lzdGVtcyBpbiBhIG1hcmt1cCBsYW5ndWFnZSBmb3IgdGhlIHNhZmUgZXhjaGFuZ2UgYW5kIGRpc3RyaWJ1dGlvbiBvZiBkYXRhIGFuZCBzdHJ1Y3R1cmUgYmV0d2VlbiBvcmdhbml6YXRpb25zIGFuZCBkaXNzaW1pbGFyIHNvZnR3YXJlIHByb2R1Y3RzLiBUaGUgc2NvcGUgb2YgaGVhbHRoY2FyZSBjbGFzc2lmaWNhdGlvbnMgc3lzdGVtcyBjb3ZlcmVkIGluIElTTyAxMzEyMDoyMDEzIGVuY29tcGFzc2VzIHRlcm1pbm9sb2dpZXMsIGFuZCBpcyBjb25zdHJhaW5lZCB0byB0cmFkaXRpb25hbCBwYXBlci1iYXNlZCBzeXN0ZW1zIChsaWtlIElDRC0xMCkgYW5kIHN5c3RlbXMgYnVpbHQgYWNjb3JkaW5nIHRvIGNhdGVnb3JpYWwgc3RydWN0dXJlcyBhbmQgYSBjcm9zcyB0aGVzYXVydXMgKGxpa2UgSUNOUCkuIElTTyAxMzEyMDoyMDEzIGlzIGludGVuZGVkIGZvciByZXByZXNlbnRhdGlvbiBvZiBoZWFsdGhjYXJlIGNsYXNzaWZpY2F0aW9uIHN5c3RlbXMgaW4gd2hpY2ggY2xhc3NlcyBoYXZlIHRleHR1YWwgZGVmaW5pdGlvbnMsIGhpZXJhcmNoaWNhbCBvcmRlcmluZywgbmFtZWQgaGllcmFyY2hpY2FsIGxldmVscyAoc3VjaCBhcyBcImNoYXB0ZXJcIiwgXCJzZWN0aW9uXCIpLCBpbmNsdXNpb24tIGFuZCBleGNsdXNpb24gY3JpdGVyaWEsIGFuZCBjb2Rlcy4gSXQgaXMgbm90IGludGVuZGVkIHRvIGNvdmVyIGFueSBmb3JtYWwgcmVwcmVzZW50YXRpb24sIGVpdGhlciBmb3IgZGVmaW5pdGlvbiBvciBjb21wb3NpdGlvbiwgb2YgY29uY2VwdHMsIG9yIGZvciBzcGVjaWZpY2F0aW9uIG9mIGNsYXNzaWZpY2F0aW9uIHJ1bGVzLiBTeXN0ZW1zIHdpdGggc3VjaCBmb3JtYWwgc3BlY2lmaWNhdGlvbnMgY2FuIGF0IGJlc3QgYmUgcGFydGlhbGx5IHJlcHJlc2VudGVkIHVzaW5nIElTTyAxMzEyMDoyMDEzLCBhbmQgYXJlIGhlbmNlIG91dCBvZiBzY29wZS4gSVNPIDEzMTIwOjIwMTMgaXMgbm90IGludGVuZGVkIHRvOiBwcm92aWRlIGEgbm9ybWF0aXZlIHN5bnRheCBvbiBob3cgYSBoZWFsdGhjYXJlIGNsYXNzaWZpY2F0aW9uIHN5c3RlbSBpcyB0byBiZSBjb25zdHJ1Y3RlZDsgZGVmaW5lIGxpbmsgdHlwZXMgYmV0d2VlbiBlbGVtZW50cyBpbiBhIGhlYWx0aGNhcmUgY2xhc3NpZmljYXRpb24gc3lzdGVtOyB0aGlzIGlzIGxlZnQgdG8gdGhlIGRldmVsb3BlcnMgb2YgaGVhbHRoY2FyZSBjbGFzc2lmaWNhdGlvbiBzeXN0ZW1zOyBwcm92aWRlIGEgcmVwcmVzZW50YXRpb24gZm9yIGRpcmVjdCB2aWV3aW5nIG9yIHByaW50aW5nLiAiLCJvYmplY3RJRCI6IjUyOTUyXzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjIwOjIwMTMgSGVhbHRoIGluZm9ybWF0aWNzIOKAlCBTeW50YXggdG8gcmVwcmVzZW50IHRoZSBjb250ZW50IG9mIGhlYWx0aGNhcmUgY2xhc3NpZmljYXRpb24gc3lzdGVtcyDigJQgQ2xhc3NpZmljYXRpb24gTWFya3VwIExhbmd1YWdlIChDbGFNTCkiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiVGhlIG1haW4gcHVycG9zZSBvZiA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+MjA6MjAxMyBpcyB0byBmb3JtYWxseSByZXByZXNlbnQgdGhlIGNvbnRlbnQgYW5kIGhpZXJhcmNoaWNhbCBzdHJ1Y3R1cmUgb2YgaGVhbHRoY2FyZSBjbGFzc2lmaWNhdGlvbiBzeXN0ZW1zIGluIGEgbWFya3VwIGxhbmd1YWdlIGZvciB0aGUgc2FmZSBleGNoYW5nZSBhbmQgZGlzdHJpYnV0aW9uIG9mIGRhdGEgYW5kIHN0cnVjdHVyZSBiZXR3ZWVuIG9yZ2FuaXphdGlvbnMgYW5kIGRpc3NpbWlsYXIgc29mdHdhcmUgcHJvZHVjdHMuIFRoZSBzY29wZSBvZiBoZWFsdGhjYXJlIGNsYXNzaWZpY2F0aW9ucyBzeXN0ZW1zIGNvdmVyZWQgaW4gPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjIwOjIwMTMgZW5jb21wYXNzZXMgdGVybWlub2xvZ2llcywgYW5kIGlzIGNvbnN0cmFpbmVkIHRvIHRyYWRpdGlvbmFsIHBhcGVyLWJhc2VkIHN5c3RlbXMgKGxpa2UgSUNELTEwKSBhbmQgc3lzdGVtcyBidWlsdCBhY2NvcmRpbmcgdG8gY2F0ZWdvcmlhbCBzdHJ1Y3R1cmVzIGFuZCBhIGNyb3NzIHRoZXNhdXJ1cyAobGlrZSBJQ05QKS4gPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjIwOjIwMTMgaXMgaW50ZW5kZWQgZm9yIHJlcHJlc2VudGF0aW9uIG9mIGhlYWx0aGNhcmUgY2xhc3NpZmljYXRpb24gc3lzdGVtcyBpbiB3aGljaCBjbGFzc2VzIGhhdmUgdGV4dHVhbCBkZWZpbml0aW9ucywgaGllcmFyY2hpY2FsIG9yZGVyaW5nLCBuYW1lZCBoaWVyYXJjaGljYWwgbGV2ZWxzIChzdWNoIGFzIFwiY2hhcHRlclwiLCBcInNlY3Rpb25cIiksIGluY2x1c2lvbi0gYW5kIGV4Y2x1c2lvbiBjcml0ZXJpYSwgYW5kIGNvZGVzLiBJdCBpcyBub3QgaW50ZW5kZWQgdG8gY292ZXIgYW55IGZvcm1hbCByZXByZXNlbnRhdGlvbiwgZWl0aGVyIGZvciBkZWZpbml0aW9uIG9yIGNvbXBvc2l0aW9uLCBvZiBjb25jZXB0cywgb3IgZm9yIHNwZWNpZmljYXRpb24gb2YgY2xhc3NpZmljYXRpb24gcnVsZXMuIFN5c3RlbXMgd2l0aCBzdWNoIGZvcm1hbCBzcGVjaWZpY2F0aW9ucyBjYW4gYXQgYmVzdCBiZSBwYXJ0aWFsbHkgcmVwcmVzZW50ZWQgdXNpbmcgPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjIwOjIwMTMsIGFuZCBhcmUgaGVuY2Ugb3V0IG9mIHNjb3BlLiA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+MjA6MjAxMyBpcyBub3QgaW50ZW5kZWQgdG86IHByb3ZpZGUgYSBub3JtYXRpdmUgc3ludGF4IG9uIGhvdyBhIGhlYWx0aGNhcmUgY2xhc3NpZmljYXRpb24gc3lzdGVtIGlzIHRvIGJlIGNvbnN0cnVjdGVkOyBkZWZpbmUgbGluayB0eXBlcyBiZXR3ZWVuIGVsZW1lbnRzIGluIGEgaGVhbHRoY2FyZSBjbGFzc2lmaWNhdGlvbiBzeXN0ZW07IHRoaXMgaXMgbGVmdCB0byB0aGUgZGV2ZWxvcGVycyBvZiBoZWFsdGhjYXJlIGNsYXNzaWZpY2F0aW9uIHN5c3RlbXM7IHByb3ZpZGUgYSByZXByZXNlbnRhdGlvbiBmb3IgZGlyZWN0IHZpZXdpbmcgb3IgcHJpbnRpbmcuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzAwLzU4LzU4OTEiLCJ1dWlkIjoiMjZmZjc0NTEtNmRkOS00OGI2LWIxZDAtMjg5MmUwYWRlNzQzIiwidGl0bGUiOiJJU08gMTMxMDoxOTc0IENhcmJvbiBibGFjayBmb3IgdXNlIGluIHRoZSBydWJiZXIgaW5kdXN0cnkg4oCUIFNhbXBsaW5nIHBhY2thZ2VkIHNoaXBtZW50cyIsInN0YXR1cyI6IldpdGhkcmF3biIsInllYXIiOjE5ODksIm9yZGVyIjoxMDAsIm9iamVjdElEIjoiNTg5MV8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT4wOjE5NzQgQ2FyYm9uIGJsYWNrIGZvciB1c2UgaW4gdGhlIHJ1YmJlciBpbmR1c3RyeSDigJQgU2FtcGxpbmcgcGFja2FnZWQgc2hpcG1lbnRzIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDgvNDkvODQ5MTUiLCJ1dWlkIjoiMDdjMGIyOGUtNDczNS00YzljLTkxZTktYjY0MzRhMWI5YmYwIiwidGl0bGUiOiJJU08vRElTIDEzMTA1LTIgQnVpbGRpbmcgY29uc3RydWN0aW9uIG1hY2hpbmVyeSBhbmQgZXF1aXBtZW50IOKAlCBNYWNoaW5lcnkgZm9yIGNvbmNyZXRlIHN1cmZhY2UgZmxvYXRpbmcgYW5kIGZpbmlzaGluZyDigJQgUGFydCAyOiBTYWZldHkgcmVxdWlyZW1lbnRzIGFuZCB2ZXJpZmljYXRpb24iLCJzdGF0dXMiOiJVbmRlciBkZXZlbG9wbWVudCIsInllYXIiOjIwMjIsIm9yZGVyIjoxMiwidGV4dCI6IklTTyAxMzEwNS0yOjIwMTQgc3BlY2lmaWVzIHNhZmV0eSByZXF1aXJlbWVudHMgZm9yIG1hY2hpbmVzIHVzZWQgZm9yIGNvbmNyZXRlIHN1cmZhY2UgZmxvYXRpbmcgYW5kIGZpbmlzaGluZy4gVGhpcyBpbmNsdWRlcyBwZWRlc3RyaWFuLWNvbnRyb2xsZWQgZXF1aXBtZW50IGFuZCByaWRlLW9uIGVxdWlwbWVudC4gSXQgaXMgbm90IGFwcGxpY2FibGUgdG8gaW50ZXJuYWwgb3IgZXh0ZXJuYWwgdmlicmF0b3JzIG9yIGFuY2lsbGFyeSBlcXVpcG1lbnQgdXNlZCB3aXRoIGludGVybmFsIGFuZCBleHRlcm5hbCB2aWJyYXRvcnMsIGZvciBleGFtcGxlLCBhaXIgY29tcHJlc3NvcnMsIGh5ZHJhdWxpYyBwb3dlciBzb3VyY2VzLCBhbmQgdm9sdGFnZSB0cmFuc2Zvcm1lcnMsIHRvIHJlbW90ZS1jb250cm9sbGVkIG9yIGhhbmQtaGVsZCBzbW9vdGhpbmcgbWFjaGluZXMgYW5kIHNlbGYtYWN0aW5nIChyb2JvdGljKSBzbW9vdGhpbmcgbWFjaGluZXMsIG9yIHRvIHN0cmlrZS1vZmYgdHlwZSBtYWNoaW5lcyBjb21tb25seSBrbm93biBhcyBzY3JlZWRzLiBJdCBkZWFscyB3aXRoIHNpZ25pZmljYW50IGhhemFyZHMsIGhhemFyZG91cyBzaXR1YXRpb25zLCBvciBoYXphcmRvdXMgZXZlbnRzIHJlbGV2YW50IHRvIG1hY2hpbmVyeSBmb3IgY29uY3JldGUgc3VyZmFjZSBmbG9hdGluZyBhbmQgZmluaXNoaW5nIChwb3dlciB0cm93ZWxzKSB3aGVuIHVzZWQgYXMgaW50ZW5kZWQgYW5kIHVuZGVyIGNvbmRpdGlvbnMgb2YgbWlzdXNlIHdoaWNoIGFyZSByZWFzb25hYmx5IGZvcmVzZWVhYmxlIGJ5IHRoZSBtYW51ZmFjdHVyZXIuIEl0IGlzIG5vdCBhcHBsaWNhYmxlIHRvIG1hY2hpbmVzIHdoaWNoIGFyZSBtYW51ZmFjdHVyZWQgYmVmb3JlIHRoZSBkYXRlIG9mIGl0cyBwdWJsaWNhdGlvbi4gIiwib2JqZWN0SUQiOiI4NDkxNV8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPi9ESVMgPGVtPjEzMTwvZW0+MDUtMiBCdWlsZGluZyBjb25zdHJ1Y3Rpb24gbWFjaGluZXJ5IGFuZCBlcXVpcG1lbnQg4oCUIE1hY2hpbmVyeSBmb3IgY29uY3JldGUgc3VyZmFjZSBmbG9hdGluZyBhbmQgZmluaXNoaW5nIOKAlCBQYXJ0IDI6IFNhZmV0eSByZXF1aXJlbWVudHMgYW5kIHZlcmlmaWNhdGlvbiIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+MDUtMjoyMDE0IHNwZWNpZmllcyBzYWZldHkgcmVxdWlyZW1lbnRzIGZvciBtYWNoaW5lcyB1c2VkIGZvciBjb25jcmV0ZSBzdXJmYWNlIGZsb2F0aW5nIGFuZCBmaW5pc2hpbmcuIFRoaXMgaW5jbHVkZXMgcGVkZXN0cmlhbi1jb250cm9sbGVkIGVxdWlwbWVudCBhbmQgcmlkZS1vbiBlcXVpcG1lbnQuIEl0IGlzIG5vdCBhcHBsaWNhYmxlIHRvIGludGVybmFsIG9yIGV4dGVybmFsIHZpYnJhdG9ycyBvciBhbmNpbGxhcnkgZXF1aXBtZW50IHVzZWQgd2l0aCBpbnRlcm5hbCBhbmQgZXh0ZXJuYWwgdmlicmF0b3JzLCBmb3IgZXhhbXBsZSwgYWlyIGNvbXByZXNzb3JzLCBoeWRyYXVsaWMgcG93ZXIgc291cmNlcywgYW5kIHZvbHRhZ2UgdHJhbnNmb3JtZXJzLCB0byByZW1vdGUtY29udHJvbGxlZCBvciBoYW5kLWhlbGQgc21vb3RoaW5nIG1hY2hpbmVzIGFuZCBzZWxmLWFjdGluZyAocm9ib3RpYykgc21vb3RoaW5nIG1hY2hpbmVzLCBvciB0byBzdHJpa2Utb2ZmIHR5cGUgbWFjaGluZXMgY29tbW9ubHkga25vd24gYXMgc2NyZWVkcy4gSXQgZGVhbHMgd2l0aCBzaWduaWZpY2FudCBoYXphcmRzLCBoYXphcmRvdXMgc2l0dWF0aW9ucywgb3IgaGF6YXJkb3VzIGV2ZW50cyByZWxldmFudCB0byBtYWNoaW5lcnkgZm9yIGNvbmNyZXRlIHN1cmZhY2UgZmxvYXRpbmcgYW5kIGZpbmlzaGluZyAocG93ZXIgdHJvd2Vscykgd2hlbiB1c2VkIGFzIGludGVuZGVkIGFuZCB1bmRlciBjb25kaXRpb25zIG9mIG1pc3VzZSB3aGljaCBhcmUgcmVhc29uYWJseSBmb3Jlc2VlYWJsZSBieSB0aGUgbWFudWZhY3R1cmVyLiBJdCBpcyBub3QgYXBwbGljYWJsZSB0byBtYWNoaW5lcyB3aGljaCBhcmUgbWFudWZhY3R1cmVkIGJlZm9yZSB0aGUgZGF0ZSBvZiBpdHMgcHVibGljYXRpb24uICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA4LzQ5Lzg0OTE0IiwidXVpZCI6ImEwYzRmYjI1LWMxZjktNGJmMi1iMDgxLWIzNTAxZTViNDhlOCIsInRpdGxlIjoiSVNPL0RJUyAxMzEwNS0xIEJ1aWxkaW5nIGNvbnN0cnVjdGlvbiBtYWNoaW5lcnkgYW5kIGVxdWlwbWVudCDigJQgTWFjaGluZXJ5IGZvciBjb25jcmV0ZSBzdXJmYWNlIGZsb2F0aW5nIGFuZCBmaW5pc2hpbmcg4oCUIFBhcnQgMTogVGVybXMgYW5kIGNvbW1lcmNpYWwgc3BlY2lmaWNhdGlvbnMiLCJzdGF0dXMiOiJVbmRlciBkZXZlbG9wbWVudCIsInllYXIiOjIwMjIsIm9yZGVyIjoxMiwidGV4dCI6IklTTyAxMzEwNS0xOjIwMTQgZGVmaW5lcyB0ZXJtcyBhbmQgY29tbWVyY2lhbCBzcGVjaWZpY2F0aW9ucyBmb3IgbWFjaGluZXMgdXNlZCBmb3IgY29uY3JldGUgc3VyZmFjZSBmbG9hdGluZyBhbmQgZmluaXNoaW5nIChhbHNvIGtub3duIGFzIHBvd2VyIHRyb3dlbHMpLiBUaGlzIGluY2x1ZGVzIHBlZGVzdHJpYW4tY29udHJvbGxlZCBlcXVpcG1lbnQgYW5kIHJpZGUtb24gZXF1aXBtZW50LiBJdCBkb2VzIG5vdCBhZGRyZXNzIHN0cmlrZS1vZmYgdHlwZSBtYWNoaW5lcywgY29tbW9ubHkga25vd24gYXMgc2NyZWVkcy4gIiwib2JqZWN0SUQiOiI4NDkxNF8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPi9ESVMgPGVtPjEzMTwvZW0+MDUtMSBCdWlsZGluZyBjb25zdHJ1Y3Rpb24gbWFjaGluZXJ5IGFuZCBlcXVpcG1lbnQg4oCUIE1hY2hpbmVyeSBmb3IgY29uY3JldGUgc3VyZmFjZSBmbG9hdGluZyBhbmQgZmluaXNoaW5nIOKAlCBQYXJ0IDE6IFRlcm1zIGFuZCBjb21tZXJjaWFsIHNwZWNpZmljYXRpb25zIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT4wNS0xOjIwMTQgZGVmaW5lcyB0ZXJtcyBhbmQgY29tbWVyY2lhbCBzcGVjaWZpY2F0aW9ucyBmb3IgbWFjaGluZXMgdXNlZCBmb3IgY29uY3JldGUgc3VyZmFjZSBmbG9hdGluZyBhbmQgZmluaXNoaW5nIChhbHNvIGtub3duIGFzIHBvd2VyIHRyb3dlbHMpLiBUaGlzIGluY2x1ZGVzIHBlZGVzdHJpYW4tY29udHJvbGxlZCBlcXVpcG1lbnQgYW5kIHJpZGUtb24gZXF1aXBtZW50LiBJdCBkb2VzIG5vdCBhZGRyZXNzIHN0cmlrZS1vZmYgdHlwZSBtYWNoaW5lcywgY29tbW9ubHkga25vd24gYXMgc2NyZWVkcy4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDgvMzAvODMwNTYiLCJ1dWlkIjoiNDJkNDY1MmQtZmY5OS00ZjRjLWI3ZWUtY2MyODk0N2FlNThmIiwidGl0bGUiOiJJU08vRElTIDEzMTY3IFdhdGVyIHF1YWxpdHkg4oCUIFBsdXRvbml1bSwgYW1lcmljaXVtLCBjdXJpdW0gYW5kIG5lcHR1bml1bSDigJQgVGVzdCBtZXRob2QgdXNpbmcgYWxwaGEgc3BlY3Ryb21ldHJ5Iiwic3RhdHVzIjoiVW5kZXIgZGV2ZWxvcG1lbnQiLCJ5ZWFyIjoyMDIyLCJvcmRlciI6MTIsInRleHQiOiJJU08gMTMxNjc6MjAxNSBzcGVjaWZpZXMgYSB0ZXN0IG1ldGhvZCBmb3IgbWVhc3VyaW5nIGFjdGluaWRlcyAoIDIzOCBQdSwgMjM5KzI0MCBQdSwgMjQxIEFtLCAyNDIgQ20sIDI0MysyNDQgQ20gYW5kIDIzNyBOcCkgaW4gd2F0ZXIgc2FtcGxlcyBieSBhbHBoYSBzcGVjdHJvbWV0cnkgZm9sbG93aW5nIGEgY2hlbWljYWwgc2VwYXJhdGlvbi4gVGhlIG1ldGhvZCBjYW4gYmUgdXNlZCBmb3IgYW55IHR5cGUgb2YgZW52aXJvbm1lbnRhbCBzdHVkeSBvciBtb25pdG9yaW5nLiBUaGUgdm9sdW1lIG9mIHRoZSB0ZXN0IHBvcnRpb24gcmVxdWlyZWQgZGVwZW5kcyBvbiB0aGUgYXNzdW1lZCBhY3Rpdml0eSBvZiB0aGUgc2FtcGxlIGFuZCB0aGUgZGVzaXJlZCBkZXRlY3Rpb24gbGltaXQuIFRoZSBkZXRlY3Rpb24gbGltaXQgb2YgdGhlIHRlc3QgbWV0aG9kIGlzIDUgw5cgMTAg4oiSMyB0byA1IMOXIDEwIOKIkjQgQnEvbCBmb3IgYSB2b2x1bWUgb2YgdGhlIHRlc3QgcG9ydGlvbiBvZiAwLDEgbCB0byA1IGwgd2l0aCBhIGNvdW50aW5nIHRpbWUgb2YgdHdvIHRvIHRlbiBkYXlzLiAiLCJvYmplY3RJRCI6IjgzMDU2XzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+L0RJUyA8ZW0+MTMxPC9lbT42NyBXYXRlciBxdWFsaXR5IOKAlCBQbHV0b25pdW0sIGFtZXJpY2l1bSwgY3VyaXVtIGFuZCBuZXB0dW5pdW0g4oCUIFRlc3QgbWV0aG9kIHVzaW5nIGFscGhhIHNwZWN0cm9tZXRyeSIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+Njc6MjAxNSBzcGVjaWZpZXMgYSB0ZXN0IG1ldGhvZCBmb3IgbWVhc3VyaW5nIGFjdGluaWRlcyAoIDIzOCBQdSwgMjM5KzI0MCBQdSwgMjQxIEFtLCAyNDIgQ20sIDI0MysyNDQgQ20gYW5kIDIzNyBOcCkgaW4gd2F0ZXIgc2FtcGxlcyBieSBhbHBoYSBzcGVjdHJvbWV0cnkgZm9sbG93aW5nIGEgY2hlbWljYWwgc2VwYXJhdGlvbi4gVGhlIG1ldGhvZCBjYW4gYmUgdXNlZCBmb3IgYW55IHR5cGUgb2YgZW52aXJvbm1lbnRhbCBzdHVkeSBvciBtb25pdG9yaW5nLiBUaGUgdm9sdW1lIG9mIHRoZSB0ZXN0IHBvcnRpb24gcmVxdWlyZWQgZGVwZW5kcyBvbiB0aGUgYXNzdW1lZCBhY3Rpdml0eSBvZiB0aGUgc2FtcGxlIGFuZCB0aGUgZGVzaXJlZCBkZXRlY3Rpb24gbGltaXQuIFRoZSBkZXRlY3Rpb24gbGltaXQgb2YgdGhlIHRlc3QgbWV0aG9kIGlzIDUgw5cgMTAg4oiSMyB0byA1IMOXIDEwIOKIkjQgQnEvbCBmb3IgYSB2b2x1bWUgb2YgdGhlIHRlc3QgcG9ydGlvbiBvZiAwLDEgbCB0byA1IGwgd2l0aCBhIGNvdW50aW5nIHRpbWUgb2YgdHdvIHRvIHRlbiBkYXlzLiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wOC8zMC84MzA1NSIsInV1aWQiOiIyMDgxZjg3OS1mZDQwLTRmY2YtYjMxMy0zZGFjNjM0MDQ3NDQiLCJ0aXRsZSI6IklTTy9ESVMgMTMxNjQtNCBXYXRlciBxdWFsaXR5IOKAlCBSYWRvbi0yMjIg4oCUIFBhcnQgNDogVGVzdCBtZXRob2QgdXNpbmcgdHdvLXBoYXNlIGxpcXVpZCBzY2ludGlsbGF0aW9uIGNvdW50aW5nIiwic3RhdHVzIjoiVW5kZXIgZGV2ZWxvcG1lbnQiLCJ5ZWFyIjoyMDIyLCJvcmRlciI6MTIsInRleHQiOiJJU08gMTMxNjQtNDoyMDE1IGRlc2NyaWJlcyBhIHRlc3QgbWV0aG9kIGZvciB0aGUgZGV0ZXJtaW5hdGlvbiBvZiByYWRvbi0yMjIgKCAyMjIgUm4pIGFjdGl2aXR5IGNvbmNlbnRyYXRpb24gaW4gbm9uLXNhbGluZSB3YXRlcnMgYnkgZXh0cmFjdGlvbiBhbmQgbGlxdWlkIHNjaW50aWxsYXRpb24gY291bnRpbmcuIFRoZSByYWRvbi0yMjIgYWN0aXZpdHkgY29uY2VudHJhdGlvbnMsIHdoaWNoIGNhbiBiZSBtZWFzdXJlZCBieSB0aGlzIHRlc3QgbWV0aG9kIHV0aWxpemluZyBjdXJyZW50bHkgYXZhaWxhYmxlIGluc3RydW1lbnRzLCBhcmUgYXQgbGVhc3QgYWJvdmUgMCw1IEJxIGwg4oiSMSBmb3IgYSAxMCBtbCB0ZXN0IHNhbXBsZSBhbmQgYSBtZWFzdXJpbmcgdGltZSBvZiAxIGguIFRoaXMgdGVzdCBtZXRob2QgY2FuIGJlIHVzZWQgc3VjY2Vzc2Z1bGx5IHdpdGggZHJpbmtpbmcgd2F0ZXIgc2FtcGxlcyBhbmQgaXQgaXMgdGhlIHJlc3BvbnNpYmlsaXR5IG9mIHRoZSBsYWJvcmF0b3J5IHRvIGVuc3VyZSB0aGUgdmFsaWRpdHkgb2YgdGhpcyB0ZXN0IG1ldGhvZCBmb3Igd2F0ZXIgc2FtcGxlcyBvZiB1bnRlc3RlZCBtYXRyaWNlcy4gQW5uZXggQSBnaXZlcyBpbmRpY2F0aW9uIG9uIHRoZSBuZWNlc3NhcnkgY291bnRpbmcgY29uZGl0aW9ucyB0byBtZWV0IHRoZSByZXF1aXJlZCBkZXRlY3Rpb24gbGltaXRzIGZvciBkcmlua2luZyB3YXRlciBtb25pdG9yaW5nLiAiLCJvYmplY3RJRCI6IjgzMDU1XzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+L0RJUyA8ZW0+MTMxPC9lbT42NC00IFdhdGVyIHF1YWxpdHkg4oCUIFJhZG9uLTIyMiDigJQgUGFydCA0OiBUZXN0IG1ldGhvZCB1c2luZyB0d28tcGhhc2UgbGlxdWlkIHNjaW50aWxsYXRpb24gY291bnRpbmciLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjY0LTQ6MjAxNSBkZXNjcmliZXMgYSB0ZXN0IG1ldGhvZCBmb3IgdGhlIGRldGVybWluYXRpb24gb2YgcmFkb24tMjIyICggMjIyIFJuKSBhY3Rpdml0eSBjb25jZW50cmF0aW9uIGluIG5vbi1zYWxpbmUgd2F0ZXJzIGJ5IGV4dHJhY3Rpb24gYW5kIGxpcXVpZCBzY2ludGlsbGF0aW9uIGNvdW50aW5nLiBUaGUgcmFkb24tMjIyIGFjdGl2aXR5IGNvbmNlbnRyYXRpb25zLCB3aGljaCBjYW4gYmUgbWVhc3VyZWQgYnkgdGhpcyB0ZXN0IG1ldGhvZCB1dGlsaXppbmcgY3VycmVudGx5IGF2YWlsYWJsZSBpbnN0cnVtZW50cywgYXJlIGF0IGxlYXN0IGFib3ZlIDAsNSBCcSBsIOKIkjEgZm9yIGEgMTAgbWwgdGVzdCBzYW1wbGUgYW5kIGEgbWVhc3VyaW5nIHRpbWUgb2YgMSBoLiBUaGlzIHRlc3QgbWV0aG9kIGNhbiBiZSB1c2VkIHN1Y2Nlc3NmdWxseSB3aXRoIGRyaW5raW5nIHdhdGVyIHNhbXBsZXMgYW5kIGl0IGlzIHRoZSByZXNwb25zaWJpbGl0eSBvZiB0aGUgbGFib3JhdG9yeSB0byBlbnN1cmUgdGhlIHZhbGlkaXR5IG9mIHRoaXMgdGVzdCBtZXRob2QgZm9yIHdhdGVyIHNhbXBsZXMgb2YgdW50ZXN0ZWQgbWF0cmljZXMuIEFubmV4IEEgZ2l2ZXMgaW5kaWNhdGlvbiBvbiB0aGUgbmVjZXNzYXJ5IGNvdW50aW5nIGNvbmRpdGlvbnMgdG8gbWVldCB0aGUgcmVxdWlyZWQgZGV0ZWN0aW9uIGxpbWl0cyBmb3IgZHJpbmtpbmcgd2F0ZXIgbW9uaXRvcmluZy4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDgvMjkvODI5NzkiLCJ1dWlkIjoiMWI0MzljZTctNWU5My00YzZkLTgzNjctMjEyNDdjOGM0OWM3IiwidGl0bGUiOiJJU08vRElTIDEzMTMyIExhYm9yYXRvcnkgZ2xhc3N3YXJlIOKAlCBQZXRyaSBkaXNoZXMiLCJzdGF0dXMiOiJVbmRlciBkZXZlbG9wbWVudCIsInllYXIiOjIwMjIsIm9yZGVyIjoxMiwidGV4dCI6IklTTyAxMzEzMjoyMDExIHNwZWNpZmllcyByZXF1aXJlbWVudHMgYW5kIHRlc3RzIGZvciBnbGFzcyBQZXRyaSBkaXNoZXMgaW50ZW5kZWQgZm9yIGdlbmVyYWwgbGFib3JhdG9yeSBwdXJwb3NlcyBhbmQgbWljcm9iaW9sb2dpY2FsIHdvcmsuICIsIm9iamVjdElEIjoiODI5NzlfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4vRElTIDxlbT4xMzE8L2VtPjMyIExhYm9yYXRvcnkgZ2xhc3N3YXJlIOKAlCBQZXRyaSBkaXNoZXMiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjMyOjIwMTEgc3BlY2lmaWVzIHJlcXVpcmVtZW50cyBhbmQgdGVzdHMgZm9yIGdsYXNzIFBldHJpIGRpc2hlcyBpbnRlbmRlZCBmb3IgZ2VuZXJhbCBsYWJvcmF0b3J5IHB1cnBvc2VzIGFuZCBtaWNyb2Jpb2xvZ2ljYWwgd29yay4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDgvNDIvODQyMzgiLCJ1dWlkIjoiOGM3NDVjYWItMjFkMC00MmUxLWE4OTgtNzBhZmZiNTA1NmFhIiwidGl0bGUiOiJJU08vQ0QgMTMxNjUtMyBXYXRlciBxdWFsaXR5IOKAlCBSYWRpdW0tMjI2IOKAlCBQYXJ0IDM6IFRlc3QgbWV0aG9kIHVzaW5nIGNvcHJlY2lwaXRhdGlvbiBhbmQgZ2FtbWEtc3BlY3Ryb21ldHJ5Iiwic3RhdHVzIjoiVW5kZXIgZGV2ZWxvcG1lbnQiLCJ5ZWFyIjoyMDIxLCJvcmRlciI6MTIsInRleHQiOiJJU08gMTMxNjUtMzoyMDE2IHNwZWNpZmllcyB0aGUgZGV0ZXJtaW5hdGlvbiBvZiByYWRpdW0tMjI2ICgyMjZSYSkgYWN0aXZpdHkgY29uY2VudHJhdGlvbiBpbiBhbGwgdHlwZXMgb2Ygd2F0ZXIgYnkgY29wcmVjaXBpdGF0aW9uIGZvbGxvd2VkIGJ5IGdhbW1hLXNwZWN0cm9tZXRyeSAoc2VlIElTTyAxODU4OeKAkTMpLiBUaGUgbWV0aG9kIGRlc2NyaWJlZCBpcyBzdWl0YWJsZSBmb3IgZGV0ZXJtaW5hdGlvbiBvZiBzb2x1YmxlIDIyNlJhIGFjdGl2aXR5IGNvbmNlbnRyYXRpb25zIGdyZWF0ZXIgdGhhbiAwLDAyIEJxIGziiJIxIHVzaW5nIGEgc2FtcGxlIHZvbHVtZSBvZiAxIGwgdG8gMTAwIGwgb2YgYW55IHdhdGVyIHR5cGUuIEZvciB3YXRlciBzYW1wbGVzIHNtYWxsZXIgdGhhbiBhIHZvbHVtZSBvZiAxIGwsIGRpcmVjdCBnYW1tYS1zcGVjdHJvbWV0cnkgY2FuIGJlIHBlcmZvcm1lZCBmb2xsb3dpbmcgSVNPIDEwNzAzIHdpdGggYSBoaWdoZXIgZGV0ZWN0aW9uIGxpbWl0LiBOT1RFICAgICAgICAgIFRoaXMgdGVzdCBtZXRob2QgYWxzbyBhbGxvd3Mgb3RoZXIgaXNvdG9wZXMgb2YgcmFkaXVtLCAyMjNSYSwgMjI0UmEsIGFuZCAyMjhSYSwgdG8gYmUgZGV0ZXJtaW5lZC4gIiwib2JqZWN0SUQiOiI4NDIzOF8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPi9DRCA8ZW0+MTMxPC9lbT42NS0zIFdhdGVyIHF1YWxpdHkg4oCUIFJhZGl1bS0yMjYg4oCUIFBhcnQgMzogVGVzdCBtZXRob2QgdXNpbmcgY29wcmVjaXBpdGF0aW9uIGFuZCBnYW1tYS1zcGVjdHJvbWV0cnkiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjY1LTM6MjAxNiBzcGVjaWZpZXMgdGhlIGRldGVybWluYXRpb24gb2YgcmFkaXVtLTIyNiAoMjI2UmEpIGFjdGl2aXR5IGNvbmNlbnRyYXRpb24gaW4gYWxsIHR5cGVzIG9mIHdhdGVyIGJ5IGNvcHJlY2lwaXRhdGlvbiBmb2xsb3dlZCBieSBnYW1tYS1zcGVjdHJvbWV0cnkgKHNlZSA8ZW0+SVNPPC9lbT4gMTg1ODnigJEzKS4gVGhlIG1ldGhvZCBkZXNjcmliZWQgaXMgc3VpdGFibGUgZm9yIGRldGVybWluYXRpb24gb2Ygc29sdWJsZSAyMjZSYSBhY3Rpdml0eSBjb25jZW50cmF0aW9ucyBncmVhdGVyIHRoYW4gMCwwMiBCcSBs4oiSMSB1c2luZyBhIHNhbXBsZSB2b2x1bWUgb2YgMSBsIHRvIDEwMCBsIG9mIGFueSB3YXRlciB0eXBlLiBGb3Igd2F0ZXIgc2FtcGxlcyBzbWFsbGVyIHRoYW4gYSB2b2x1bWUgb2YgMSBsLCBkaXJlY3QgZ2FtbWEtc3BlY3Ryb21ldHJ5IGNhbiBiZSBwZXJmb3JtZWQgZm9sbG93aW5nIDxlbT5JU088L2VtPiAxMDcwMyB3aXRoIGEgaGlnaGVyIGRldGVjdGlvbiBsaW1pdC4gTk9URSAgICAgICAgICBUaGlzIHRlc3QgbWV0aG9kIGFsc28gYWxsb3dzIG90aGVyIGlzb3RvcGVzIG9mIHJhZGl1bSwgMjIzUmEsIDIyNFJhLCBhbmQgMjI4UmEsIHRvIGJlIGRldGVybWluZWQuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA4LzI5LzgyOTMwIiwidXVpZCI6ImEyNDg2NjY0LTQ1OGEtNDk1NS04N2JkLWY1ODFkYjc4N2U0ZiIsInRpdGxlIjoiSVNPL0NEIDEzMTQxIEVsZWN0cm9uaWMgZmVlIGNvbGxlY3Rpb24g4oCUIExvY2FsaXNhdGlvbiBhdWdtZW50YXRpb24gY29tbXVuaWNhdGlvbiBmb3IgYXV0b25vbW91cyBzeXN0ZW1zIiwic3RhdHVzIjoiVW5kZXIgZGV2ZWxvcG1lbnQiLCJ5ZWFyIjoyMDIxLCJvcmRlciI6MTIsInRleHQiOiJJU08gMTMxNDE6MjAxNSBlc3RhYmxpc2hlcyByZXF1aXJlbWVudHMgZm9yIHNob3J0LXJhbmdlIGNvbW11bmljYXRpb24gZm9yIHRoZSBwdXJwb3NlcyBvZiBhdWdtZW50aW5nIHRoZSBsb2NhbGl6YXRpb24gaW4gYXV0b25vbW91cyBlbGVjdHJvbmljIGZlZSBjb2xsZWN0aW9uIChFRkMpIHN5c3RlbXMuIExvY2FsaXphdGlvbiBhdWdtZW50YXRpb24gc2VydmVzIHRvIGluZm9ybSBvbi1ib2FyZCBlcXVpcG1lbnQgKE9CRSkgYWJvdXQgZ2VvZ3JhcGhpY2FsIGxvY2F0aW9uIGFuZCB0aGUgaWRlbnRpZmljYXRpb24gb2YgYSBjaGFyZ2Ugb2JqZWN0LiBUaGlzIEludGVybmF0aW9uYWwgU3RhbmRhcmQgc3BlY2lmaWVzIHRoZSBwcm92aXNpb24gb2YgbG9jYXRpb24gYW5kIGhlYWRpbmcgaW5mb3JtYXRpb24gYW5kIHNlY3VyaXR5IG1lYW5zIHRvIHByb3RlY3QgZnJvbSB0aGUgbWFuaXB1bGF0aW9uIG9mIHRoZSBPQkUgd2l0aCBmYWxzZSByb2Fkc2lkZSBlcXVpcG1lbnQgKFJTRSkuIFRoZSBsb2NhbGl6YXRpb24gYXVnbWVudGF0aW9uIGNvbW11bmljYXRpb24gdGFrZXMgcGxhY2UgYmV0d2VlbiBhbiBPQkUgaW4gYSB2ZWhpY2xlIGFuZCBmaXhlZCByb2Fkc2lkZSBlcXVpcG1lbnQuIFRoaXMgSW50ZXJuYXRpb25hbCBTdGFuZGFyZCBpcyBhcHBsaWNhYmxlIHRvIE9CRSBpbiBhbiBhdXRvbm9tb3VzIG1vZGUgb2Ygb3BlcmF0aW9uLiBJU08gMTMxNDE6MjAxNSBkZWZpbmVzIGF0dHJpYnV0ZXMgYW5kIGZ1bmN0aW9ucyBmb3IgdGhlIHB1cnBvc2Ugb2YgbG9jYWxpemF0aW9uIGF1Z21lbnRhdGlvbiwgYnkgbWFraW5nIHVzZSBvZiB0aGUgZGVkaWNhdGVkIHNob3J0LXJhbmdlIGNvbW11bmljYXRpb25zIChEU1JDKSBjb21tdW5pY2F0aW9uIHNlcnZpY2VzIHByb3ZpZGVkIGJ5IERTUkMgTGF5ZXIgNywgYW5kIG1ha2VzIHRoZXNlIExBQyBhdHRyaWJ1dGVzIGFuZCBmdW5jdGlvbnMgYXZhaWxhYmxlIHRvIHRoZSBMQUMgYXBwbGljYXRpb25zIGF0IHRoZSBSU0UgYW5kIHRoZSBPQkUuIEF0dHJpYnV0ZXMgYW5kIGZ1bmN0aW9ucyBhcmUgZGVmaW5lZCBvbiB0aGUgbGV2ZWwgb2YgQXBwbGljYXRpb24gRGF0YSBVbml0cyAoQURVcywgc2VlIEZpZ3VyZSAxKS4gIiwib2JqZWN0SUQiOiI4MjkzMF8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPi9DRCA8ZW0+MTMxPC9lbT40MSBFbGVjdHJvbmljIGZlZSBjb2xsZWN0aW9uIOKAlCBMb2NhbGlzYXRpb24gYXVnbWVudGF0aW9uIGNvbW11bmljYXRpb24gZm9yIGF1dG9ub21vdXMgc3lzdGVtcyIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NDE6MjAxNSBlc3RhYmxpc2hlcyByZXF1aXJlbWVudHMgZm9yIHNob3J0LXJhbmdlIGNvbW11bmljYXRpb24gZm9yIHRoZSBwdXJwb3NlcyBvZiBhdWdtZW50aW5nIHRoZSBsb2NhbGl6YXRpb24gaW4gYXV0b25vbW91cyBlbGVjdHJvbmljIGZlZSBjb2xsZWN0aW9uIChFRkMpIHN5c3RlbXMuIExvY2FsaXphdGlvbiBhdWdtZW50YXRpb24gc2VydmVzIHRvIGluZm9ybSBvbi1ib2FyZCBlcXVpcG1lbnQgKE9CRSkgYWJvdXQgZ2VvZ3JhcGhpY2FsIGxvY2F0aW9uIGFuZCB0aGUgaWRlbnRpZmljYXRpb24gb2YgYSBjaGFyZ2Ugb2JqZWN0LiBUaGlzIEludGVybmF0aW9uYWwgU3RhbmRhcmQgc3BlY2lmaWVzIHRoZSBwcm92aXNpb24gb2YgbG9jYXRpb24gYW5kIGhlYWRpbmcgaW5mb3JtYXRpb24gYW5kIHNlY3VyaXR5IG1lYW5zIHRvIHByb3RlY3QgZnJvbSB0aGUgbWFuaXB1bGF0aW9uIG9mIHRoZSBPQkUgd2l0aCBmYWxzZSByb2Fkc2lkZSBlcXVpcG1lbnQgKFJTRSkuIFRoZSBsb2NhbGl6YXRpb24gYXVnbWVudGF0aW9uIGNvbW11bmljYXRpb24gdGFrZXMgcGxhY2UgYmV0d2VlbiBhbiBPQkUgaW4gYSB2ZWhpY2xlIGFuZCBmaXhlZCByb2Fkc2lkZSBlcXVpcG1lbnQuIFRoaXMgSW50ZXJuYXRpb25hbCBTdGFuZGFyZCBpcyBhcHBsaWNhYmxlIHRvIE9CRSBpbiBhbiBhdXRvbm9tb3VzIG1vZGUgb2Ygb3BlcmF0aW9uLiA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NDE6MjAxNSBkZWZpbmVzIGF0dHJpYnV0ZXMgYW5kIGZ1bmN0aW9ucyBmb3IgdGhlIHB1cnBvc2Ugb2YgbG9jYWxpemF0aW9uIGF1Z21lbnRhdGlvbiwgYnkgbWFraW5nIHVzZSBvZiB0aGUgZGVkaWNhdGVkIHNob3J0LXJhbmdlIGNvbW11bmljYXRpb25zIChEU1JDKSBjb21tdW5pY2F0aW9uIHNlcnZpY2VzIHByb3ZpZGVkIGJ5IERTUkMgTGF5ZXIgNywgYW5kIG1ha2VzIHRoZXNlIExBQyBhdHRyaWJ1dGVzIGFuZCBmdW5jdGlvbnMgYXZhaWxhYmxlIHRvIHRoZSBMQUMgYXBwbGljYXRpb25zIGF0IHRoZSBSU0UgYW5kIHRoZSBPQkUuIEF0dHJpYnV0ZXMgYW5kIGZ1bmN0aW9ucyBhcmUgZGVmaW5lZCBvbiB0aGUgbGV2ZWwgb2YgQXBwbGljYXRpb24gRGF0YSBVbml0cyAoQURVcywgc2VlIEZpZ3VyZSAxKS4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDYvOTQvNjk0MDQiLCJ1dWlkIjoiNmRlODJlZjMtNjQ0OC00YzhhLWJhOTAtMWMzMzMxN2Q1YjFkIiwidGl0bGUiOiJJU08gMjA4OTk6MjAxOCBXYXRlciBxdWFsaXR5IOKAlCBQbHV0b25pdW0gYW5kIG5lcHR1bml1bSDigJQgVGVzdCBtZXRob2QgdXNpbmcgSUNQLU1TIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAxOCwib3JkZXIiOjExLCJ0ZXh0IjoiVGhpcyBkb2N1bWVudCBzcGVjaWZpZXMgbWV0aG9kcyB1c2VkIHRvIGRldGVybWluZSB0aGUgY29uY2VudHJhdGlvbiBvZiBwbHV0b25pdW0gYW5kIG5lcHR1bml1bSBpc290b3BlcyBpbiB3YXRlciBieSBpbmR1Y3RpdmVseSBjb3VwbGVkIHBsYXNtYSBtYXNzIHNwZWN0cm9tZXRyeSAoSUNQLU1TKSAoMjM5UHUsIDI0MFB1LCAyNDFQdSBhbmQgMjM3TnApLiBUaGUgY29uY2VudHJhdGlvbnMgb2J0YWluZWQgY2FuIGJlIGNvbnZlcnRlZCBpbnRvIGFjdGl2aXR5IGNvbmNlbnRyYXRpb25zIG9mIHRoZSBkaWZmZXJlbnQgaXNvdG9wZXNbOV0uIER1ZSB0byBpdHMgcmVsYXRpdmVseSBzaG9ydCBoYWxmLWxpZmUgYW5kIDIzOFUgaXNvYmFyaWMgaW50ZXJmZXJlbmNlLCAyMzhQdSBjYW4gaGFyZGx5IGJlIG1lYXN1cmVkIGJ5IHRoaXMgbWV0aG9kLiBUbyBxdWFudGlmeSB0aGlzIGlzb3RvcGUsIG90aGVyIHRlY2huaXF1ZXMgY2FuIGJlIHVzZWQgKElDUC1NUyB3aXRoIGNvbGxpc2lvbi1yZWFjdGlvbiBjZWxsLCBJQ1AtTVMvTVMgd2l0aCBjb2xsaXNpb24tcmVhY3Rpb24gY2VsbCBvciBjaGVtaWNhbCBzZXBhcmF0aW9uKS4gQWxwaGEgc3BlY3Ryb21ldHJ5IG1lYXN1cmVtZW50LCBhcyBkZXNjcmliZWQgaW4gSVNPIDEzMTY3WzEwXSwgaXMgY3VycmVudGx5IHVzZWRbMTFdLiBUaGlzIG1ldGhvZCBpcyBhcHBsaWNhYmxlIHRvIGFsbCB0eXBlcyBvZiB3YXRlciBoYXZpbmcgYSBzYWxpbmUgbG9hZCBsZXNzIHRoYW4gMSBnwrds4oiSMS4gQSBkaWx1dGlvbiBvZiB0aGUgc2FtcGxlIGlzIHBvc3NpYmxlIHRvIG9idGFpbiBhIHNvbHV0aW9uIGhhdmluZyBhIHNhbGluZSBsb2FkIGFuZCBhY3Rpdml0eSBjb25jZW50cmF0aW9ucyBjb21wYXRpYmxlIHdpdGggdGhlIHByZXBhcmF0aW9uIGFuZCB0aGUgbWVhc3VyZW1lbnQgYXNzZW1ibHkuIEEgZmlsdHJhdGlvbiBhdCAwLDQ1IM68bSBpcyBuZWVkZWQgZm9yIGRldGVybWluYXRpb24gb2YgZGlzc29sdmVkIG51Y2xpZGVzLiBBY2lkaWZpY2F0aW9uIGFuZCBjaGVtaWNhbCBzZXBhcmF0aW9uIG9mIHRoZSBzYW1wbGUgYXJlIGFsd2F5cyBuZWVkZWQuIFRoZSBsaW1pdCBvZiBxdWFudGlmaWNhdGlvbiBkZXBlbmRzIG9uIHRoZSBjaGVtaWNhbCBzZXBhcmF0aW9uIGFuZCB0aGUgcGVyZm9ybWFuY2Ugb2YgdGhlIG1lYXN1cmVtZW50IGRldmljZS4gVGhpcyBtZXRob2QgY292ZXJzIHRoZSBtZWFzdXJlbWVudCBvZiB0aG9zZSBpc290b3BlcyBpbiB3YXRlciBpbiBhY3Rpdml0eSBjb25jZW50cmF0aW9ucyBiZXR3ZWVuIGFyb3VuZFsxMl1bMTNdOiDigJQgICAgICAgICAgMSBtQnHCt2ziiJIxIHRvIDUgQnHCt2ziiJIxIGZvciAyMzlQdSwgMjQwUHUgYW5kIDIzN05wOyDigJQgICAgICAgICAgMSBCccK3bOKIkjEgdG8gNSBCccK3bOKIkjEgZm9yIDI0MVB1LiBJbiBib3RoIGNhc2VzLCBzYW1wbGVzIHdpdGggaGlnaGVyIGFjdGl2aXR5IGNvbmNlbnRyYXRpb25zIHRoYW4gNSBCccK3bOKIkjEgY2FuIGJlIG1lYXN1cmVkIGlmIGEgZGlsdXRpb24gaXMgcGVyZm9ybWVkIGJlZm9yZSB0aGUgY2hlbWljYWwgc2VwYXJhdGlvbi4gSXQgaXMgcG9zc2libGUgdG8gbWVhc3VyZSAyNDFQdSBmb2xsb3dpbmcgYSBwcmUtY29uY2VudHJhdGlvbiBzdGVwIG9mIGF0IGxlYXN0IDEgMDAwLiAiLCJvYmplY3RJRCI6IjY5NDA0XzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDIwODk5OjIwMTggV2F0ZXIgcXVhbGl0eSDigJQgUGx1dG9uaXVtIGFuZCBuZXB0dW5pdW0g4oCUIFRlc3QgbWV0aG9kIHVzaW5nIElDUC1NUyIsIm1hdGNoTGV2ZWwiOiJwYXJ0aWFsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iXX0sInRleHQiOnsidmFsdWUiOiJUaGlzIGRvY3VtZW50IHNwZWNpZmllcyBtZXRob2RzIHVzZWQgdG8gZGV0ZXJtaW5lIHRoZSBjb25jZW50cmF0aW9uIG9mIHBsdXRvbml1bSBhbmQgbmVwdHVuaXVtIGlzb3RvcGVzIGluIHdhdGVyIGJ5IGluZHVjdGl2ZWx5IGNvdXBsZWQgcGxhc21hIG1hc3Mgc3BlY3Ryb21ldHJ5IChJQ1AtTVMpICgyMzlQdSwgMjQwUHUsIDI0MVB1IGFuZCAyMzdOcCkuIFRoZSBjb25jZW50cmF0aW9ucyBvYnRhaW5lZCBjYW4gYmUgY29udmVydGVkIGludG8gYWN0aXZpdHkgY29uY2VudHJhdGlvbnMgb2YgdGhlIGRpZmZlcmVudCBpc290b3Blc1s5XS4gRHVlIHRvIGl0cyByZWxhdGl2ZWx5IHNob3J0IGhhbGYtbGlmZSBhbmQgMjM4VSBpc29iYXJpYyBpbnRlcmZlcmVuY2UsIDIzOFB1IGNhbiBoYXJkbHkgYmUgbWVhc3VyZWQgYnkgdGhpcyBtZXRob2QuIFRvIHF1YW50aWZ5IHRoaXMgaXNvdG9wZSwgb3RoZXIgdGVjaG5pcXVlcyBjYW4gYmUgdXNlZCAoSUNQLU1TIHdpdGggY29sbGlzaW9uLXJlYWN0aW9uIGNlbGwsIElDUC1NUy9NUyB3aXRoIGNvbGxpc2lvbi1yZWFjdGlvbiBjZWxsIG9yIGNoZW1pY2FsIHNlcGFyYXRpb24pLiBBbHBoYSBzcGVjdHJvbWV0cnkgbWVhc3VyZW1lbnQsIGFzIGRlc2NyaWJlZCBpbiA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NjdbMTBdLCBpcyBjdXJyZW50bHkgdXNlZFsxMV0uIFRoaXMgbWV0aG9kIGlzIGFwcGxpY2FibGUgdG8gYWxsIHR5cGVzIG9mIHdhdGVyIGhhdmluZyBhIHNhbGluZSBsb2FkIGxlc3MgdGhhbiAxIGfCt2ziiJIxLiBBIGRpbHV0aW9uIG9mIHRoZSBzYW1wbGUgaXMgcG9zc2libGUgdG8gb2J0YWluIGEgc29sdXRpb24gaGF2aW5nIGEgc2FsaW5lIGxvYWQgYW5kIGFjdGl2aXR5IGNvbmNlbnRyYXRpb25zIGNvbXBhdGlibGUgd2l0aCB0aGUgcHJlcGFyYXRpb24gYW5kIHRoZSBtZWFzdXJlbWVudCBhc3NlbWJseS4gQSBmaWx0cmF0aW9uIGF0IDAsNDUgzrxtIGlzIG5lZWRlZCBmb3IgZGV0ZXJtaW5hdGlvbiBvZiBkaXNzb2x2ZWQgbnVjbGlkZXMuIEFjaWRpZmljYXRpb24gYW5kIGNoZW1pY2FsIHNlcGFyYXRpb24gb2YgdGhlIHNhbXBsZSBhcmUgYWx3YXlzIG5lZWRlZC4gVGhlIGxpbWl0IG9mIHF1YW50aWZpY2F0aW9uIGRlcGVuZHMgb24gdGhlIGNoZW1pY2FsIHNlcGFyYXRpb24gYW5kIHRoZSBwZXJmb3JtYW5jZSBvZiB0aGUgbWVhc3VyZW1lbnQgZGV2aWNlLiBUaGlzIG1ldGhvZCBjb3ZlcnMgdGhlIG1lYXN1cmVtZW50IG9mIHRob3NlIGlzb3RvcGVzIGluIHdhdGVyIGluIGFjdGl2aXR5IGNvbmNlbnRyYXRpb25zIGJldHdlZW4gYXJvdW5kWzEyXVsxM106IOKAlCAgICAgICAgICAxIG1CccK3bOKIkjEgdG8gNSBCccK3bOKIkjEgZm9yIDIzOVB1LCAyNDBQdSBhbmQgMjM3TnA7IOKAlCAgICAgICAgICAxIEJxwrds4oiSMSB0byA1IEJxwrds4oiSMSBmb3IgMjQxUHUuIEluIGJvdGggY2FzZXMsIHNhbXBsZXMgd2l0aCBoaWdoZXIgYWN0aXZpdHkgY29uY2VudHJhdGlvbnMgdGhhbiA1IEJxwrds4oiSMSBjYW4gYmUgbWVhc3VyZWQgaWYgYSBkaWx1dGlvbiBpcyBwZXJmb3JtZWQgYmVmb3JlIHRoZSBjaGVtaWNhbCBzZXBhcmF0aW9uLiBJdCBpcyBwb3NzaWJsZSB0byBtZWFzdXJlIDI0MVB1IGZvbGxvd2luZyBhIHByZS1jb25jZW50cmF0aW9uIHN0ZXAgb2YgYXQgbGVhc3QgMSAwMDAuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA2Lzc3LzY3NzI5IiwidXVpZCI6IjRmNTVkYjI5LTExMTQtNDBmNy1iNDJmLTkyNmQ2NWY4ODRlZCIsInRpdGxlIjoiSVNPIDEyNDczOjIwMTcgR2VuZXJhbCBwcmluY2lwbGVzIG9mIGNhdGhvZGljIHByb3RlY3Rpb24gaW4gc2Vhd2F0ZXIiLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDE3LCJvcmRlciI6MTEsInRleHQiOiJJU08gMTI0NzMgY292ZXJzIHRoZSBnZW5lcmFsIHByaW5jaXBsZXMgb2YgY2F0aG9kaWMgcHJvdGVjdGlvbiB3aGVuIGFwcGxpZWQgaW4gc2Vhd2F0ZXIsIGJyYWNraXNoIHdhdGVycyBhbmQgbWFyaW5lIG11ZC4gSXQgaXMgaW50ZW5kZWQgdG8gYmUgYW4gaW50cm9kdWN0aW9uLCB0byBwcm92aWRlIGEgbGluayBiZXR3ZWVuIHRoZSB0aGVvcmV0aWNhbCBhc3BlY3RzIGFuZCB0aGUgcHJhY3RpY2FsIGFwcGxpY2F0aW9ucywgYW5kIHRvIGNvbnN0aXR1dGUgYSBzdXBwb3J0IHRvIHRoZSBvdGhlciBzdGFuZGFyZHMgZGV2b3RlZCB0byBjYXRob2RpYyBwcm90ZWN0aW9uIG9mIHN0ZWVsIHN0cnVjdHVyZXMgaW4gc2Vhd2F0ZXIuIElTTyAxMjQ3MyBzcGVjaWZpZXMgdGhlIGNyaXRlcmlhIHJlcXVpcmVkIGZvciBjYXRob2RpYyBwcm90ZWN0aW9uLiBJdCBwcm92aWRlcyByZWNvbW1lbmRhdGlvbnMgYW5kIGluZm9ybWF0aW9uIG9uIHJlZmVyZW5jZSBlbGVjdHJvZGVzLCBkZXNpZ24gY29uc2lkZXJhdGlvbnMgYW5kIHByZXZlbnRpb24gb2YgdGhlIHNlY29uZGFyeSBlZmZlY3RzIG9mIGNhdGhvZGljIHByb3RlY3Rpb24uIFRoZSBwcmFjdGljYWwgYXBwbGljYXRpb25zIG9mIGNhdGhvZGljIHByb3RlY3Rpb24gaW4gc2Vhd2F0ZXIgYXJlIGNvdmVyZWQgYnkgdGhlIGZvbGxvd2luZyBzdGFuZGFyZHM6IC0gICAgICBFTiAxMjQ5NSwgQ2F0aG9kaWMgcHJvdGVjdGlvbiBmb3IgZml4ZWQgc3RlZWwgb2Zmc2hvcmUgc3RydWN0dXJlcyA7IC0gICAgICBJU08gMTMxNzQsIENhdGhvZGljIHByb3RlY3Rpb24gb2YgaGFyYm91ciBpbnN0YWxsYXRpb25zICggSVNPIDEzMTc0ICkgOyAtICAgICAgRU4gMTI0OTYsIEdhbHZhbmljIGFub2RlcyBmb3IgY2F0aG9kaWMgcHJvdGVjdGlvbiBpbiBzZWF3YXRlciBhbmQgc2FsaW5lIG11ZCA7IC0gICAgICBFTiAxMzE3MywgQ2F0aG9kaWMgcHJvdGVjdGlvbiBmb3Igc3RlZWwgb2Zmc2hvcmUgZmxvYXRpbmcgc3RydWN0dXJlcyA7IC0gICAgICBFTiAxNjIyMiwgQ2F0aG9kaWMgcHJvdGVjdGlvbiBvZiBzaGlwIGh1bGxzIDsgLSAgICAgIEVOIDEyNDc0LCBDYXRob2RpYyBwcm90ZWN0aW9uIG9mIHN1Ym1hcmluZSBwaXBlbGluZXMgOyAtICAgICAgSVNPIDE1NTg54oCRMiwgUGV0cm9sZXVtLCBwZXRyb2NoZW1pY2FsIGFuZCBuYXR1cmFsIGdhcyBpbmR1c3RyaWVzID8gQ2F0aG9kaWMgcHJvdGVjdGlvbiBvZiBwaXBlbGluZSB0cmFuc3BvcnRhdGlvbiBzeXN0ZW1zID8gUGFydCAyOiBPZmZzaG9yZSBwaXBlbGluZXMgLiBGb3IgY2F0aG9kaWMgcHJvdGVjdGlvbiBvZiBzdGVlbCByZWluZm9yY2VkIGNvbmNyZXRlIHdoZXRoZXIgZXhwb3NlZCB0byBzZWF3YXRlciBvciB0byB0aGUgYXRtb3NwaGVyZSwgSVNPIDEyNjk2IGFwcGxpZXMuICIsIm9iamVjdElEIjoiNjc3MjlfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gMTI0NzM6MjAxNyBHZW5lcmFsIHByaW5jaXBsZXMgb2YgY2F0aG9kaWMgcHJvdGVjdGlvbiBpbiBzZWF3YXRlciIsIm1hdGNoTGV2ZWwiOiJwYXJ0aWFsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gMTI0NzMgY292ZXJzIHRoZSBnZW5lcmFsIHByaW5jaXBsZXMgb2YgY2F0aG9kaWMgcHJvdGVjdGlvbiB3aGVuIGFwcGxpZWQgaW4gc2Vhd2F0ZXIsIGJyYWNraXNoIHdhdGVycyBhbmQgbWFyaW5lIG11ZC4gSXQgaXMgaW50ZW5kZWQgdG8gYmUgYW4gaW50cm9kdWN0aW9uLCB0byBwcm92aWRlIGEgbGluayBiZXR3ZWVuIHRoZSB0aGVvcmV0aWNhbCBhc3BlY3RzIGFuZCB0aGUgcHJhY3RpY2FsIGFwcGxpY2F0aW9ucywgYW5kIHRvIGNvbnN0aXR1dGUgYSBzdXBwb3J0IHRvIHRoZSBvdGhlciBzdGFuZGFyZHMgZGV2b3RlZCB0byBjYXRob2RpYyBwcm90ZWN0aW9uIG9mIHN0ZWVsIHN0cnVjdHVyZXMgaW4gc2Vhd2F0ZXIuIDxlbT5JU088L2VtPiAxMjQ3MyBzcGVjaWZpZXMgdGhlIGNyaXRlcmlhIHJlcXVpcmVkIGZvciBjYXRob2RpYyBwcm90ZWN0aW9uLiBJdCBwcm92aWRlcyByZWNvbW1lbmRhdGlvbnMgYW5kIGluZm9ybWF0aW9uIG9uIHJlZmVyZW5jZSBlbGVjdHJvZGVzLCBkZXNpZ24gY29uc2lkZXJhdGlvbnMgYW5kIHByZXZlbnRpb24gb2YgdGhlIHNlY29uZGFyeSBlZmZlY3RzIG9mIGNhdGhvZGljIHByb3RlY3Rpb24uIFRoZSBwcmFjdGljYWwgYXBwbGljYXRpb25zIG9mIGNhdGhvZGljIHByb3RlY3Rpb24gaW4gc2Vhd2F0ZXIgYXJlIGNvdmVyZWQgYnkgdGhlIGZvbGxvd2luZyBzdGFuZGFyZHM6IC0gICAgICBFTiAxMjQ5NSwgQ2F0aG9kaWMgcHJvdGVjdGlvbiBmb3IgZml4ZWQgc3RlZWwgb2Zmc2hvcmUgc3RydWN0dXJlcyA7IC0gICAgICA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NzQsIENhdGhvZGljIHByb3RlY3Rpb24gb2YgaGFyYm91ciBpbnN0YWxsYXRpb25zICggPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjc0ICkgOyAtICAgICAgRU4gMTI0OTYsIEdhbHZhbmljIGFub2RlcyBmb3IgY2F0aG9kaWMgcHJvdGVjdGlvbiBpbiBzZWF3YXRlciBhbmQgc2FsaW5lIG11ZCA7IC0gICAgICBFTiA8ZW0+MTMxPC9lbT43MywgQ2F0aG9kaWMgcHJvdGVjdGlvbiBmb3Igc3RlZWwgb2Zmc2hvcmUgZmxvYXRpbmcgc3RydWN0dXJlcyA7IC0gICAgICBFTiAxNjIyMiwgQ2F0aG9kaWMgcHJvdGVjdGlvbiBvZiBzaGlwIGh1bGxzIDsgLSAgICAgIEVOIDEyNDc0LCBDYXRob2RpYyBwcm90ZWN0aW9uIG9mIHN1Ym1hcmluZSBwaXBlbGluZXMgOyAtICAgICAgPGVtPklTTzwvZW0+IDE1NTg54oCRMiwgUGV0cm9sZXVtLCBwZXRyb2NoZW1pY2FsIGFuZCBuYXR1cmFsIGdhcyBpbmR1c3RyaWVzID8gQ2F0aG9kaWMgcHJvdGVjdGlvbiBvZiBwaXBlbGluZSB0cmFuc3BvcnRhdGlvbiBzeXN0ZW1zID8gUGFydCAyOiBPZmZzaG9yZSBwaXBlbGluZXMgLiBGb3IgY2F0aG9kaWMgcHJvdGVjdGlvbiBvZiBzdGVlbCByZWluZm9yY2VkIGNvbmNyZXRlIHdoZXRoZXIgZXhwb3NlZCB0byBzZWF3YXRlciBvciB0byB0aGUgYXRtb3NwaGVyZSwgPGVtPklTTzwvZW0+IDEyNjk2IGFwcGxpZXMuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA0LzUzLzQ1MzgwIiwidXVpZCI6ImM4YWY3MTMxLTYxZTMtNDNkOC05N2ZmLWI2YTJlMzI1NTNiYyIsInRpdGxlIjoiSVNPIDI5MjgyOjIwMTEgSW50ZWxsaWdlbnQgdHJhbnNwb3J0IHN5c3RlbXMg4oCUIENvbW11bmljYXRpb25zIGFjY2VzcyBmb3IgbGFuZCBtb2JpbGVzIChDQUxNKSDigJQgU2F0ZWxsaXRlIG5ldHdvcmtzIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAxOCwib3JkZXIiOjExLCJ0ZXh0IjoiSVNPIDI5MjgyOjIwMTEgcHJvdmlkZXMgZGVmaW5pdGlvbnMgYW5kIHByb2NlZHVyZXMgZm9yIHRoZSBlc3RhYmxpc2htZW50LCBtYWludGVuYW5jZSBhbmQgdGVybWluYXRpb24gb2YgYW4gSVRTIChpbnRlbGxpZ2VudCB0cmFuc3BvcnQgc3lzdGVtcykgY29tbXVuaWNhdGlvbnMgc2Vzc2lvbiB3aXRoaW4gYSBDQUxNIChjb21tdW5pY2F0aW9uIGFjY2VzcyBmb3IgbGFuZCBtb2JpbGVzKSBzeXN0ZW0gZW52aXJvbm1lbnQgdXNpbmcgYmktZGlyZWN0aW9uYWwgc2F0ZWxsaXRlIGNvbW11bmljYXRpb25zLiBJdCBkZWZpbmVzIHRoZSBvcGVyYXRpb24gb2YgdGhlIG1lZGl1bSBtYW5hZ2VtZW50IGFkYXB0YXRpb24gZW50aXR5IChNTUFFKSwgd2hpY2ggcHJvdmlkZXMgdGhlIG1hbmFnZW1lbnQgaW50ZXJmYWNlIGJldHdlZW4gYSBwcm9wcmlldGFyeSBzYXRlbGxpdGUgY29tbXVuaWNhdGlvbnMgbWVkaXVtIGFuZCB0aGUgXCJJVFMgc3RhdGlvbiBtYW5hZ2VtZW50XCIuIFRoaXMgZW5hYmxlcyB0aGUgXCJJVFMgc3RhdGlvbiBtYW5hZ2VtZW50XCIgdG8ga25vdyB0aGUgc3RhdHVzIG9mIHRoZSBjb21tdW5pY2F0aW9ucyBtZWRpdW0gYW5kIGNvbnRyb2wgdGhlIGludGVyZmFjZSB3aXRob3V0IHRoZSBuZWVkIGZvciBhcHBsaWNhdGlvbnMgYXQgdGhlIElUUyBzdGF0aW9uIHRvIGhhdmUgYW55IGtub3dsZWRnZSBvZiB0aGUgc2F0ZWxsaXRlIGNvbW11bmljYXRpb25zIGludGVyZmFjZS4gVGhlIHByb2NlZHVyZXMgdGhhdCB0aGUgXCJJVFMgc3RhdGlvbiBtYW5hZ2VtZW50XCIgZXhwZWN0cyB0byB1c2UgYXJlIGFsc28gZXhwbGFpbmVkLiBJU08gMjkyODI6MjAxMSBkZWZpbmVzIGhvdyB0byBjb25uZWN0IGFuZCBkaXNjb25uZWN0IGEgY29tbXVuaWNhdGlvbiBzZXNzaW9uIHVzaW5nIHNhdGVsbGl0ZSBjb21tdW5pY2F0aW9uIHN5c3RlbXMgaW4gdGhlIGNvbnRleHQgb2YgYW4gYXBwbGljYXRpb24gb3BlcmF0ZWQgd2l0aGluIHRoZSBlbnZpcm9ubWVudCBkZWZpbmVkIGluIElTTyAyMTIxNy4gSXQgc3VwcG9ydHMgcGVlci10by1wZWVyIG1vZGVzIG9mIGNvbW11bmljYXRpb24uIFN1cHBvcnQgZm9yIGJyb2FkY2FzdCBzYXRlbGxpdGUgc3lzdGVtcyBpcyBkZWZpbmVkIGluIElTTyAxMzE4Mywgd2hpY2ggcHJvdmlkZXMgYSBjb21tb24gYXBwcm9hY2ggZm9yIGFsbCBicm9hZGNhc3QgbWVkaWEuIEl0IHN1cHBvcnRzIHNhdGVsbGl0ZSBjb21tdW5pY2F0aW9ucyBuZXR3b3JrcyB0aGF0IGFyZSBpbnRlcmNvbm5lY3RlZCB3aXRoIHRoZSBwdWJsaWMgbmV0d29yaywgYXMgd2VsbCBhcyB0aG9zZSB3aGljaCBjb25uZWN0IHZpYSB0aGUgaW50ZXJuZXQgYW5kIHRob3NlIHdoaWNoIHByb3ZpZGUgYSBzdGFuZC1hbG9uZSBjYXBhYmlsaXR5LiAiLCJvYmplY3RJRCI6IjQ1MzgwXzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDI5MjgyOjIwMTEgSW50ZWxsaWdlbnQgdHJhbnNwb3J0IHN5c3RlbXMg4oCUIENvbW11bmljYXRpb25zIGFjY2VzcyBmb3IgbGFuZCBtb2JpbGVzIChDQUxNKSDigJQgU2F0ZWxsaXRlIG5ldHdvcmtzIiwibWF0Y2hMZXZlbCI6InBhcnRpYWwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiAyOTI4MjoyMDExIHByb3ZpZGVzIGRlZmluaXRpb25zIGFuZCBwcm9jZWR1cmVzIGZvciB0aGUgZXN0YWJsaXNobWVudCwgbWFpbnRlbmFuY2UgYW5kIHRlcm1pbmF0aW9uIG9mIGFuIElUUyAoaW50ZWxsaWdlbnQgdHJhbnNwb3J0IHN5c3RlbXMpIGNvbW11bmljYXRpb25zIHNlc3Npb24gd2l0aGluIGEgQ0FMTSAoY29tbXVuaWNhdGlvbiBhY2Nlc3MgZm9yIGxhbmQgbW9iaWxlcykgc3lzdGVtIGVudmlyb25tZW50IHVzaW5nIGJpLWRpcmVjdGlvbmFsIHNhdGVsbGl0ZSBjb21tdW5pY2F0aW9ucy4gSXQgZGVmaW5lcyB0aGUgb3BlcmF0aW9uIG9mIHRoZSBtZWRpdW0gbWFuYWdlbWVudCBhZGFwdGF0aW9uIGVudGl0eSAoTU1BRSksIHdoaWNoIHByb3ZpZGVzIHRoZSBtYW5hZ2VtZW50IGludGVyZmFjZSBiZXR3ZWVuIGEgcHJvcHJpZXRhcnkgc2F0ZWxsaXRlIGNvbW11bmljYXRpb25zIG1lZGl1bSBhbmQgdGhlIFwiSVRTIHN0YXRpb24gbWFuYWdlbWVudFwiLiBUaGlzIGVuYWJsZXMgdGhlIFwiSVRTIHN0YXRpb24gbWFuYWdlbWVudFwiIHRvIGtub3cgdGhlIHN0YXR1cyBvZiB0aGUgY29tbXVuaWNhdGlvbnMgbWVkaXVtIGFuZCBjb250cm9sIHRoZSBpbnRlcmZhY2Ugd2l0aG91dCB0aGUgbmVlZCBmb3IgYXBwbGljYXRpb25zIGF0IHRoZSBJVFMgc3RhdGlvbiB0byBoYXZlIGFueSBrbm93bGVkZ2Ugb2YgdGhlIHNhdGVsbGl0ZSBjb21tdW5pY2F0aW9ucyBpbnRlcmZhY2UuIFRoZSBwcm9jZWR1cmVzIHRoYXQgdGhlIFwiSVRTIHN0YXRpb24gbWFuYWdlbWVudFwiIGV4cGVjdHMgdG8gdXNlIGFyZSBhbHNvIGV4cGxhaW5lZC4gPGVtPklTTzwvZW0+IDI5MjgyOjIwMTEgZGVmaW5lcyBob3cgdG8gY29ubmVjdCBhbmQgZGlzY29ubmVjdCBhIGNvbW11bmljYXRpb24gc2Vzc2lvbiB1c2luZyBzYXRlbGxpdGUgY29tbXVuaWNhdGlvbiBzeXN0ZW1zIGluIHRoZSBjb250ZXh0IG9mIGFuIGFwcGxpY2F0aW9uIG9wZXJhdGVkIHdpdGhpbiB0aGUgZW52aXJvbm1lbnQgZGVmaW5lZCBpbiA8ZW0+SVNPPC9lbT4gMjEyMTcuIEl0IHN1cHBvcnRzIHBlZXItdG8tcGVlciBtb2RlcyBvZiBjb21tdW5pY2F0aW9uLiBTdXBwb3J0IGZvciBicm9hZGNhc3Qgc2F0ZWxsaXRlIHN5c3RlbXMgaXMgZGVmaW5lZCBpbiA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+ODMsIHdoaWNoIHByb3ZpZGVzIGEgY29tbW9uIGFwcHJvYWNoIGZvciBhbGwgYnJvYWRjYXN0IG1lZGlhLiBJdCBzdXBwb3J0cyBzYXRlbGxpdGUgY29tbXVuaWNhdGlvbnMgbmV0d29ya3MgdGhhdCBhcmUgaW50ZXJjb25uZWN0ZWQgd2l0aCB0aGUgcHVibGljIG5ldHdvcmssIGFzIHdlbGwgYXMgdGhvc2Ugd2hpY2ggY29ubmVjdCB2aWEgdGhlIGludGVybmV0IGFuZCB0aG9zZSB3aGljaCBwcm92aWRlIGEgc3RhbmQtYWxvbmUgY2FwYWJpbGl0eS4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDYvNzAvNjcwODkiLCJ1dWlkIjoiNDk4NWNhNDEtYzQ2MC00ZDJmLTg3ZTYtNTk5NGNiNGM4MWI0IiwidGl0bGUiOiJJU08gMTc0MzgtNDoyMDE5IEludGVsbGlnZW50IHRyYW5zcG9ydCBzeXN0ZW1zIOKAlCBJbmRvb3IgbmF2aWdhdGlvbiBmb3IgcGVyc29uYWwgYW5kIHZlaGljbGUgSVRTIHN0YXRpb24g4oCUIFBhcnQgNDogUmVxdWlyZW1lbnRzIGFuZCBzcGVjaWZpY2F0aW9ucyBmb3IgaW50ZXJmYWNlIGJldHdlZW4gcGVyc29uYWwvdmVoaWNsZSBhbmQgY2VudHJhbCBJVFMgc3RhdGlvbnMiLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDE5LCJvcmRlciI6MTEsInRleHQiOiJUaGlzIGRvY3VtZW50IGRlZmluZXMgZGV0YWlsZWQgdXNlIGNhc2VzLCByZXF1aXJlbWVudHMgYW5kIG1lc3NhZ2Ugc3BlY2lmaWNhdGlvbnMgZm9yIHN1cHBvcnRpbmcgaW5kb29yIG5hdmlnYXRpb24gZnVuY3Rpb25hbGl0eSBiZXR3ZWVuIGEgcGVyc29uYWwvdmVoaWNsZSAoUC9WKSBJVFMgc3RhdGlvbiBhbmQgYSBjZW50cmFsIElUUyBzdGF0aW9uLiBUaGlzIGRvY3VtZW50IGRlZmluZXM6IGEpICAgIENsdXN0ZXJzIG9mIHVzZSBjYXNlcyBiYXNlZCBvbiBwcm9jZXNzaW5nIGZsb3dzIGZvciBpbmRvb3IgbmF2aWdhdGlvbiBiZXR3ZWVuIGEgUC9WIElUUyBzdGF0aW9uIGFuZCBhIGNlbnRyYWwgSVRTIHN0YXRpb247IGIpICAgIERldGFpbGVkIHVzZSBjYXNlcyBkZXJpdmVkIGZyb20gdGhlIGNsdXN0ZXJzIG9mIHVzZSBjYXNlcyBmb3IgaW5kb29yIG5hdmlnYXRpb247IGMpICAgIE1lc3NhZ2Ugc3BlY2lmaWNhdGlvbnMgdG8gc3VwcG9ydCBzb21lIG9mIHRoZSBkZXRhaWxlZCB1c2UgY2FzZXMuIFRoZSBtZXNzYWdlIHNwZWNpZmljYXRpb25zIGluY2x1ZGUgbWFuZGF0b3J5LCBjb25kaXRpb25hbCBhbmQgb3B0aW9uYWwgZWxlbWVudHMuIFRoaXMgZG9jdW1lbnQgaXMgb25seSBhcHBsaWNhYmxlIHRvIHRoZSBjb3JlIGZsb3cgZm9yIHRoZSBuYXZpZ2F0aW9uYWwgZnVuY3Rpb25hbGl0eSBpbiBpbmRvb3Igc3BhY2UuIFRoZSBmb2xsb3dpbmcgaXNzdWVzIHdoaWNoIGFyZSBhZGp1bmN0aXZlIGJ1dCBlc3NlbnRpYWwgZm9yIGNvbW1lcmNpYWwgbmF2aWdhdGlvbiBzZXJ2aWNlcyBhcmUgYmV5b25kIHRoZSBzY29wZSBvZiB0aGlzIGRvY3VtZW50OiDigJQgICAgICAgICAgQXV0aG9yaXplZCBhbmQgYXV0aGVudGljYXRlZCBhY2Nlc3Mgb2YgdXNlcnMgYW5kIHNlcnZpY2VzLCBpbmNsdWRpbmcgc2VjdXJpdHk7IOKAlCAgICAgICAgICBQYXltZW50OyDigJQgICAgICAgICAgUHJlcGFyYXRpb24gb2YgaW5kb29yIGRhdGEgd2hpY2ggYXJlIG5lY2Vzc2FyeSBmb3IgaW5kb29yIG5hdmlnYXRpb247IOKAlCAgICAgICAgICBEZXRhaWxlZCBkYXRhIGZvcm1hdHMgZm9yIGluZG9vciBuYXZpZ2F0aW9uIGRhdGEsIGluY2x1ZGluZyBpbmRvb3IgbWFwcyBhbmQgaW5kb29yIHBvc2l0aW9uaW5nIHJlZmVyZW5jZXMgKHRoZXNlIGZvcm0gYSBwYXJ0IG9mIElTTyAxNzQzOC0yWzFdIGFuZCBJU08gMTc0MzgtM1syXSk7IOKAlCAgICAgICAgICBIb3cgdG8gdHJhbnNmZXIgYW5kIHNoYXJlIGRhdGEgcmVxdWlyZWQgZm9yIGluZG9vciBuYXZpZ2F0aW9uIGJldHdlZW4gYSByb2Fkc2lkZSBJVFMgc3RhdGlvbiBhbmQgYSBjZW50cmFsIElUUyBzdGF0aW9uLCBpLmUuIGxvdy1sZXZlbCBjb21tdW5pY2F0aW9uIHByb3RvY29sczsg4oCUICAgICAgICAgIE90aGVyIGlzc3VlcyBkZXBlbmRlbnQgb24gaW1wbGVtZW50YXRpb24gb2YgYW4gaW5zdGFuY2Ugb2YgaW5kb29yIG5hdmlnYXRpb24sIGUuZy4gaW5kb29yLW91dGRvb3Igc2VhbWxlc3MgbmF2aWdhdGlvbi4gVGhpcyBkb2N1bWVudCB1c2VzIHRoZSBYTUwgYW5kIERhdGEgZVhjaGFuZ2UgTWVzc2FnZSAoRFhNKSBmb3JtYXQgZGVmaW5lZCBpbiBJU08gMTMxODQtMiB0byBlbmNvZGUgZGVmaW5lZCBtZXNzYWdlcy4gWzFdIFVuZGVyIGRldmVsb3BtZW50LiBDdXJyZW50IHN0YWdlIDAuMDAuIFsyXSBVbmRlciBkZXZlbG9wbWVudC4gQ3VycmVudCBzdGFnZSAwLjAwLiAiLCJvYmplY3RJRCI6IjY3MDg5XzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDE3NDM4LTQ6MjAxOSBJbnRlbGxpZ2VudCB0cmFuc3BvcnQgc3lzdGVtcyDigJQgSW5kb29yIG5hdmlnYXRpb24gZm9yIHBlcnNvbmFsIGFuZCB2ZWhpY2xlIElUUyBzdGF0aW9uIOKAlCBQYXJ0IDQ6IFJlcXVpcmVtZW50cyBhbmQgc3BlY2lmaWNhdGlvbnMgZm9yIGludGVyZmFjZSBiZXR3ZWVuIHBlcnNvbmFsL3ZlaGljbGUgYW5kIGNlbnRyYWwgSVRTIHN0YXRpb25zIiwibWF0Y2hMZXZlbCI6InBhcnRpYWwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyJdfSwidGV4dCI6eyJ2YWx1ZSI6IlRoaXMgZG9jdW1lbnQgZGVmaW5lcyBkZXRhaWxlZCB1c2UgY2FzZXMsIHJlcXVpcmVtZW50cyBhbmQgbWVzc2FnZSBzcGVjaWZpY2F0aW9ucyBmb3Igc3VwcG9ydGluZyBpbmRvb3IgbmF2aWdhdGlvbiBmdW5jdGlvbmFsaXR5IGJldHdlZW4gYSBwZXJzb25hbC92ZWhpY2xlIChQL1YpIElUUyBzdGF0aW9uIGFuZCBhIGNlbnRyYWwgSVRTIHN0YXRpb24uIFRoaXMgZG9jdW1lbnQgZGVmaW5lczogYSkgICAgQ2x1c3RlcnMgb2YgdXNlIGNhc2VzIGJhc2VkIG9uIHByb2Nlc3NpbmcgZmxvd3MgZm9yIGluZG9vciBuYXZpZ2F0aW9uIGJldHdlZW4gYSBQL1YgSVRTIHN0YXRpb24gYW5kIGEgY2VudHJhbCBJVFMgc3RhdGlvbjsgYikgICAgRGV0YWlsZWQgdXNlIGNhc2VzIGRlcml2ZWQgZnJvbSB0aGUgY2x1c3RlcnMgb2YgdXNlIGNhc2VzIGZvciBpbmRvb3IgbmF2aWdhdGlvbjsgYykgICAgTWVzc2FnZSBzcGVjaWZpY2F0aW9ucyB0byBzdXBwb3J0IHNvbWUgb2YgdGhlIGRldGFpbGVkIHVzZSBjYXNlcy4gVGhlIG1lc3NhZ2Ugc3BlY2lmaWNhdGlvbnMgaW5jbHVkZSBtYW5kYXRvcnksIGNvbmRpdGlvbmFsIGFuZCBvcHRpb25hbCBlbGVtZW50cy4gVGhpcyBkb2N1bWVudCBpcyBvbmx5IGFwcGxpY2FibGUgdG8gdGhlIGNvcmUgZmxvdyBmb3IgdGhlIG5hdmlnYXRpb25hbCBmdW5jdGlvbmFsaXR5IGluIGluZG9vciBzcGFjZS4gVGhlIGZvbGxvd2luZyBpc3N1ZXMgd2hpY2ggYXJlIGFkanVuY3RpdmUgYnV0IGVzc2VudGlhbCBmb3IgY29tbWVyY2lhbCBuYXZpZ2F0aW9uIHNlcnZpY2VzIGFyZSBiZXlvbmQgdGhlIHNjb3BlIG9mIHRoaXMgZG9jdW1lbnQ6IOKAlCAgICAgICAgICBBdXRob3JpemVkIGFuZCBhdXRoZW50aWNhdGVkIGFjY2VzcyBvZiB1c2VycyBhbmQgc2VydmljZXMsIGluY2x1ZGluZyBzZWN1cml0eTsg4oCUICAgICAgICAgIFBheW1lbnQ7IOKAlCAgICAgICAgICBQcmVwYXJhdGlvbiBvZiBpbmRvb3IgZGF0YSB3aGljaCBhcmUgbmVjZXNzYXJ5IGZvciBpbmRvb3IgbmF2aWdhdGlvbjsg4oCUICAgICAgICAgIERldGFpbGVkIGRhdGEgZm9ybWF0cyBmb3IgaW5kb29yIG5hdmlnYXRpb24gZGF0YSwgaW5jbHVkaW5nIGluZG9vciBtYXBzIGFuZCBpbmRvb3IgcG9zaXRpb25pbmcgcmVmZXJlbmNlcyAodGhlc2UgZm9ybSBhIHBhcnQgb2YgPGVtPklTTzwvZW0+IDE3NDM4LTJbMV0gYW5kIDxlbT5JU088L2VtPiAxNzQzOC0zWzJdKTsg4oCUICAgICAgICAgIEhvdyB0byB0cmFuc2ZlciBhbmQgc2hhcmUgZGF0YSByZXF1aXJlZCBmb3IgaW5kb29yIG5hdmlnYXRpb24gYmV0d2VlbiBhIHJvYWRzaWRlIElUUyBzdGF0aW9uIGFuZCBhIGNlbnRyYWwgSVRTIHN0YXRpb24sIGkuZS4gbG93LWxldmVsIGNvbW11bmljYXRpb24gcHJvdG9jb2xzOyDigJQgICAgICAgICAgT3RoZXIgaXNzdWVzIGRlcGVuZGVudCBvbiBpbXBsZW1lbnRhdGlvbiBvZiBhbiBpbnN0YW5jZSBvZiBpbmRvb3IgbmF2aWdhdGlvbiwgZS5nLiBpbmRvb3Itb3V0ZG9vciBzZWFtbGVzcyBuYXZpZ2F0aW9uLiBUaGlzIGRvY3VtZW50IHVzZXMgdGhlIFhNTCBhbmQgRGF0YSBlWGNoYW5nZSBNZXNzYWdlIChEWE0pIGZvcm1hdCBkZWZpbmVkIGluIDxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT44NC0yIHRvIGVuY29kZSBkZWZpbmVkIG1lc3NhZ2VzLiBbMV0gVW5kZXIgZGV2ZWxvcG1lbnQuIEN1cnJlbnQgc3RhZ2UgMC4wMC4gWzJdIFVuZGVyIGRldmVsb3BtZW50LiBDdXJyZW50IHN0YWdlIDAuMDAuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA3LzIzLzcyMzczIiwidXVpZCI6IjUxYWFiNDU5LTNhNjUtNDAxYy1iY2JmLWY4Y2Q2ZDY4NTFiOSIsInRpdGxlIjoiSVNPIDIyMDE3OjIwMjAgV2F0ZXIgcXVhbGl0eSDigJQgR3VpZGFuY2UgZm9yIHJhcGlkIHJhZGlvYWN0aXZpdHkgbWVhc3VyZW1lbnRzIGluIG51Y2xlYXIgb3IgcmFkaW9sb2dpY2FsIGVtZXJnZW5jeSBzaXR1YXRpb24iLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDIwLCJvcmRlciI6MTEsInRleHQiOiJUaGlzIGRvY3VtZW50IHByb3ZpZGVzIGd1aWRlbGluZXMgZm9yIHRlc3RpbmcgbGFib3JhdG9yaWVzIHdhbnRpbmcgdG8gdXNlIHJhcGlkIHRlc3QgbWV0aG9kcyBvbiB3YXRlciBzYW1wbGVzIHRoYXQgbWF5IGJlIGNvbnRhbWluYXRlZCBmb2xsb3dpbmcgYSBudWNsZWFyIG9yIHJhZGlvbG9naWNhbCBlbWVyZ2VuY3kgaW5jaWRlbnQuIEluIGFuIGVtZXJnZW5jeSBzaXR1YXRpb24sIGNvbnNpZGVyYXRpb24gc2hvdWxkIGJlIGdpdmVuIHRvOiDigJQgICAgIHRha2luZyBpbnRvIGFjY291bnQgdGhlIHNwZWNpZmljIGNvbnRleHQgZm9yIHRoZSB0ZXN0cyB0byBiZSBwZXJmb3JtZWQsIGUuZy4gYSBwb3RlbnRpYWxseSBoaWdoIGxldmVsIG9mIGNvbnRhbWluYXRpb247IOKAlCAgICAgdXNpbmcgb3IgYWRqdXN0aW5nLCB3aGVuIHBvc3NpYmxlLCByYWRpb2FjdGl2aXR5IHRlc3QgbWV0aG9kcyBpbXBsZW1lbnRlZCBkdXJpbmcgcm91dGluZSBzaXR1YXRpb25zIHRvIG9idGFpbiBhIHJlc3VsdCByYXBpZGx5IG9yLCBmb3IgdGVzdHMgbm90IHBlcmZvcm1lZCByb3V0aW5lbHksIGFwcGx5aW5nIHNwZWNpZmljIHJhcGlkIHRlc3QgbWV0aG9kcyBwcmV2aW91c2x5IHZhbGlkYXRlZCBieSB0aGUgbGFib3JhdG9yeSwgZS5nLiBmb3IgODkgU3IgZGV0ZXJtaW5hdGlvbjsg4oCUICAgICBwcmVwYXJpbmcgdGhlIHRlc3QgbGFib3JhdG9yeSB0byBtZWFzdXJlIGEgbGFyZ2UgbnVtYmVyIG9mIHBvdGVudGlhbGx5IGNvbnRhbWluYXRlZCBzYW1wbGVzLiBUaGUgYWltIG9mIHRoaXMgZG9jdW1lbnQgaXMgdG8gZW5zdXJlIGRlY2lzaW9uIG1ha2VycyBoYXZlIHJlbGlhYmxlIHJlc3VsdHMgbmVlZGVkIHRvIHRha2UgYWN0aW9ucyBxdWlja2x5IGFuZCBtaW5pbWl6ZSB0aGUgcmFkaWF0aW9uIGRvc2UgdG8gdGhlIHB1YmxpYy4gTWVhc3VyZW1lbnRzIGFyZSBwZXJmb3JtZWQgaW4gb3JkZXIgdG8gbWluaW1pemUgdGhlIHJpc2sgdG8gdGhlIHB1YmxpYyBieSBjaGVja2luZyB0aGUgcXVhbGl0eSBvZiB3YXRlciBzdXBwbGllcy4gRm9yIGVtZXJnZW5jeSBzaXR1YXRpb25zLCB0ZXN0IHJlc3VsdHMgYXJlIG9mdGVuIGNvbXBhcmVkIHRvIG9wZXJhdGlvbmFsIGludGVydmVudGlvbiBsZXZlbHMuIE5PVEUgICAgT3BlcmF0aW9uYWwgaW50ZXJ2ZW50aW9uIGxldmVscyAoT0lMcykgYXJlIGRlcml2ZWQgZnJvbSBJQUVBIFNhZmV0eSBTdGFuZGFyZHMgWzhdIG9yIG5hdGlvbmFsIGF1dGhvcml0aWVzIFs5XSAuIEEga2V5IGVsZW1lbnQgb2YgcmFwaWQgYW5hbHlzaXMgY2FuIGJlIHRoZSB1c2Ugb2Ygcm91dGluZSBtZXRob2RzIGJ1dCB3aXRoIGEgcmVkdWNlZCB0dXJuYXJvdW5kIHRpbWUuIFRoZSBnb2FsIG9mIHRoZXNlIHJhcGlkIG1lYXN1cmVtZW50cyBpcyBvZnRlbiB0byBjaGVjayBmb3IgdW51c3VhbCByYWRpb2FjdGl2aXR5IGxldmVscyBpbiB0aGUgdGVzdCBzYW1wbGUsIHRvIGlkZW50aWZ5IHRoZSByYWRpb251Y2xpZGVzIHByZXNlbnQgYW5kIHRoZWlyIGFjdGl2aXR5IGNvbmNlbnRyYXRpb24gbGV2ZWxzIGFuZCB0byBlc3RhYmxpc2ggY29tcGxpYW5jZSBvZiB0aGUgd2F0ZXIgd2l0aCBpbnRlcnZlbnRpb24gbGV2ZWxzIFsxMF1bMTFdWzEyXSAuIEl0IHNob3VsZCBiZSBub3RlZCB0aGF0IGluIHN1Y2ggY2lyY3Vtc3RhbmNlcywgdmFsaWRhdGlvbiBwYXJhbWV0ZXJzIGV2YWx1YXRlZCBmb3Igcm91dGluZSB1c2UgKGUuZy4gcmVwcm9kdWNpYmlsaXR5LCBwcmVjaXNpb24sIGV0Yy4pIG1heSBub3QgYmUgYXBwbGljYWJsZSB0byB0aGUgbW9kaWZpZWQgcmFwaWQgbWV0aG9kLiBIb3dldmVyLCBkdWUgdG8gdGhlIGNpcmN1bXN0YW5jZXMgYXJpc2luZyBhZnRlciBhbiBlbWVyZ2VuY3ksIHRoZSBtb2RpZmllZCBtZXRob2QgbWF5IHN0aWxsIGJlIGZpdC1mb3ItcHVycG9zZSBhbHRob3VnaCB1bmNlcnRhaW50aWVzIGFzc29jaWF0ZWQgd2l0aCB0aGUgdGVzdCByZXN1bHRzIG5lZWQgdG8gYmUgZXZhbHVhdGVkIGFuZCBtYXkgaW5jcmVhc2UgZnJvbSByb3V0aW5lIGFuYWx5c2VzLiBUaGUgZmlyc3Qgc3RlcHMgb2YgdGhlIGFuYWx5dGljYWwgYXBwcm9hY2ggYXJlIHVzdWFsbHkgc2NyZWVuaW5nIG1ldGhvZHMgYmFzZWQgb24gZ3Jvc3MgYWxwaGEgYW5kIGdyb3NzIGJldGEgdGVzdCBtZXRob2RzIChhZGFwdGF0aW9uIG9mIElTTyAxMDcwNCBhbmQgSVNPIDExNzA0KSBhbmQgZ2FtbWEgc3BlY3Ryb21ldHJ5IChhZGFwdGF0aW9uIG9mIElTTyAyMDA0MiwgSVNPIDEwNzAzIGFuZCBJU08gMTk1ODEpLiBUaGVuLCBpZiByZXF1aXJlZCBbMTNdICwgdGVzdCBtZXRob2Qgc3RhbmRhcmRzIGZvciBzcGVjaWZpYyByYWRpb251Y2xpZGVzIChzZWUgQ2xhdXNlIDIpIGFyZSBhZGFwdGVkIGFuZCBhcHBsaWVkIChmb3IgZXhhbXBsZSwgOTAgU3IgbWVhc3VyZW1lbnQgYWNjb3JkaW5nIHRvIElTTyAxMzE2MCkgYXMgcHJvcG9zZWQgaW4gQW5uZXggQS4gVGhpcyBkb2N1bWVudCByZWZlcnMgdG8gcHVibGlzaGVkIElTTyBkb2N1bWVudHMuIFdoZW4gYXBwcm9wcmlhdGUsIHRoaXMgZG9jdW1lbnQgYWxzbyByZWZlcnMgdG8gbmF0aW9uYWwgc3RhbmRhcmRzIG9yIG90aGVyIHB1YmxpY2x5IGF2YWlsYWJsZSBkb2N1bWVudHMuIFNjcmVlbmluZyB0ZWNobmlxdWVzIHRoYXQgY2FuIGJlIGNhcnJpZWQgb3V0IGRpcmVjdGx5IGluIHRoZSBmaWVsZCBhcmUgbm90IHBhcnQgb2YgdGhpcyBkb2N1bWVudC4gIiwib2JqZWN0SUQiOiI3MjM3M18wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiAyMjAxNzoyMDIwIFdhdGVyIHF1YWxpdHkg4oCUIEd1aWRhbmNlIGZvciByYXBpZCByYWRpb2FjdGl2aXR5IG1lYXN1cmVtZW50cyBpbiBudWNsZWFyIG9yIHJhZGlvbG9naWNhbCBlbWVyZ2VuY3kgc2l0dWF0aW9uIiwibWF0Y2hMZXZlbCI6InBhcnRpYWwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyJdfSwidGV4dCI6eyJ2YWx1ZSI6IlRoaXMgZG9jdW1lbnQgcHJvdmlkZXMgZ3VpZGVsaW5lcyBmb3IgdGVzdGluZyBsYWJvcmF0b3JpZXMgd2FudGluZyB0byB1c2UgcmFwaWQgdGVzdCBtZXRob2RzIG9uIHdhdGVyIHNhbXBsZXMgdGhhdCBtYXkgYmUgY29udGFtaW5hdGVkIGZvbGxvd2luZyBhIG51Y2xlYXIgb3IgcmFkaW9sb2dpY2FsIGVtZXJnZW5jeSBpbmNpZGVudC4gSW4gYW4gZW1lcmdlbmN5IHNpdHVhdGlvbiwgY29uc2lkZXJhdGlvbiBzaG91bGQgYmUgZ2l2ZW4gdG86IOKAlCAgICAgdGFraW5nIGludG8gYWNjb3VudCB0aGUgc3BlY2lmaWMgY29udGV4dCBmb3IgdGhlIHRlc3RzIHRvIGJlIHBlcmZvcm1lZCwgZS5nLiBhIHBvdGVudGlhbGx5IGhpZ2ggbGV2ZWwgb2YgY29udGFtaW5hdGlvbjsg4oCUICAgICB1c2luZyBvciBhZGp1c3RpbmcsIHdoZW4gcG9zc2libGUsIHJhZGlvYWN0aXZpdHkgdGVzdCBtZXRob2RzIGltcGxlbWVudGVkIGR1cmluZyByb3V0aW5lIHNpdHVhdGlvbnMgdG8gb2J0YWluIGEgcmVzdWx0IHJhcGlkbHkgb3IsIGZvciB0ZXN0cyBub3QgcGVyZm9ybWVkIHJvdXRpbmVseSwgYXBwbHlpbmcgc3BlY2lmaWMgcmFwaWQgdGVzdCBtZXRob2RzIHByZXZpb3VzbHkgdmFsaWRhdGVkIGJ5IHRoZSBsYWJvcmF0b3J5LCBlLmcuIGZvciA4OSBTciBkZXRlcm1pbmF0aW9uOyDigJQgICAgIHByZXBhcmluZyB0aGUgdGVzdCBsYWJvcmF0b3J5IHRvIG1lYXN1cmUgYSBsYXJnZSBudW1iZXIgb2YgcG90ZW50aWFsbHkgY29udGFtaW5hdGVkIHNhbXBsZXMuIFRoZSBhaW0gb2YgdGhpcyBkb2N1bWVudCBpcyB0byBlbnN1cmUgZGVjaXNpb24gbWFrZXJzIGhhdmUgcmVsaWFibGUgcmVzdWx0cyBuZWVkZWQgdG8gdGFrZSBhY3Rpb25zIHF1aWNrbHkgYW5kIG1pbmltaXplIHRoZSByYWRpYXRpb24gZG9zZSB0byB0aGUgcHVibGljLiBNZWFzdXJlbWVudHMgYXJlIHBlcmZvcm1lZCBpbiBvcmRlciB0byBtaW5pbWl6ZSB0aGUgcmlzayB0byB0aGUgcHVibGljIGJ5IGNoZWNraW5nIHRoZSBxdWFsaXR5IG9mIHdhdGVyIHN1cHBsaWVzLiBGb3IgZW1lcmdlbmN5IHNpdHVhdGlvbnMsIHRlc3QgcmVzdWx0cyBhcmUgb2Z0ZW4gY29tcGFyZWQgdG8gb3BlcmF0aW9uYWwgaW50ZXJ2ZW50aW9uIGxldmVscy4gTk9URSAgICBPcGVyYXRpb25hbCBpbnRlcnZlbnRpb24gbGV2ZWxzIChPSUxzKSBhcmUgZGVyaXZlZCBmcm9tIElBRUEgU2FmZXR5IFN0YW5kYXJkcyBbOF0gb3IgbmF0aW9uYWwgYXV0aG9yaXRpZXMgWzldIC4gQSBrZXkgZWxlbWVudCBvZiByYXBpZCBhbmFseXNpcyBjYW4gYmUgdGhlIHVzZSBvZiByb3V0aW5lIG1ldGhvZHMgYnV0IHdpdGggYSByZWR1Y2VkIHR1cm5hcm91bmQgdGltZS4gVGhlIGdvYWwgb2YgdGhlc2UgcmFwaWQgbWVhc3VyZW1lbnRzIGlzIG9mdGVuIHRvIGNoZWNrIGZvciB1bnVzdWFsIHJhZGlvYWN0aXZpdHkgbGV2ZWxzIGluIHRoZSB0ZXN0IHNhbXBsZSwgdG8gaWRlbnRpZnkgdGhlIHJhZGlvbnVjbGlkZXMgcHJlc2VudCBhbmQgdGhlaXIgYWN0aXZpdHkgY29uY2VudHJhdGlvbiBsZXZlbHMgYW5kIHRvIGVzdGFibGlzaCBjb21wbGlhbmNlIG9mIHRoZSB3YXRlciB3aXRoIGludGVydmVudGlvbiBsZXZlbHMgWzEwXVsxMV1bMTJdIC4gSXQgc2hvdWxkIGJlIG5vdGVkIHRoYXQgaW4gc3VjaCBjaXJjdW1zdGFuY2VzLCB2YWxpZGF0aW9uIHBhcmFtZXRlcnMgZXZhbHVhdGVkIGZvciByb3V0aW5lIHVzZSAoZS5nLiByZXByb2R1Y2liaWxpdHksIHByZWNpc2lvbiwgZXRjLikgbWF5IG5vdCBiZSBhcHBsaWNhYmxlIHRvIHRoZSBtb2RpZmllZCByYXBpZCBtZXRob2QuIEhvd2V2ZXIsIGR1ZSB0byB0aGUgY2lyY3Vtc3RhbmNlcyBhcmlzaW5nIGFmdGVyIGFuIGVtZXJnZW5jeSwgdGhlIG1vZGlmaWVkIG1ldGhvZCBtYXkgc3RpbGwgYmUgZml0LWZvci1wdXJwb3NlIGFsdGhvdWdoIHVuY2VydGFpbnRpZXMgYXNzb2NpYXRlZCB3aXRoIHRoZSB0ZXN0IHJlc3VsdHMgbmVlZCB0byBiZSBldmFsdWF0ZWQgYW5kIG1heSBpbmNyZWFzZSBmcm9tIHJvdXRpbmUgYW5hbHlzZXMuIFRoZSBmaXJzdCBzdGVwcyBvZiB0aGUgYW5hbHl0aWNhbCBhcHByb2FjaCBhcmUgdXN1YWxseSBzY3JlZW5pbmcgbWV0aG9kcyBiYXNlZCBvbiBncm9zcyBhbHBoYSBhbmQgZ3Jvc3MgYmV0YSB0ZXN0IG1ldGhvZHMgKGFkYXB0YXRpb24gb2YgPGVtPklTTzwvZW0+IDEwNzA0IGFuZCA8ZW0+SVNPPC9lbT4gMTE3MDQpIGFuZCBnYW1tYSBzcGVjdHJvbWV0cnkgKGFkYXB0YXRpb24gb2YgPGVtPklTTzwvZW0+IDIwMDQyLCA8ZW0+SVNPPC9lbT4gMTA3MDMgYW5kIDxlbT5JU088L2VtPiAxOTU4MSkuIFRoZW4sIGlmIHJlcXVpcmVkIFsxM10gLCB0ZXN0IG1ldGhvZCBzdGFuZGFyZHMgZm9yIHNwZWNpZmljIHJhZGlvbnVjbGlkZXMgKHNlZSBDbGF1c2UgMikgYXJlIGFkYXB0ZWQgYW5kIGFwcGxpZWQgKGZvciBleGFtcGxlLCA5MCBTciBtZWFzdXJlbWVudCBhY2NvcmRpbmcgdG8gPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjYwKSBhcyBwcm9wb3NlZCBpbiBBbm5leCBBLiBUaGlzIGRvY3VtZW50IHJlZmVycyB0byBwdWJsaXNoZWQgPGVtPklTTzwvZW0+IGRvY3VtZW50cy4gV2hlbiBhcHByb3ByaWF0ZSwgdGhpcyBkb2N1bWVudCBhbHNvIHJlZmVycyB0byBuYXRpb25hbCBzdGFuZGFyZHMgb3Igb3RoZXIgcHVibGljbHkgYXZhaWxhYmxlIGRvY3VtZW50cy4gU2NyZWVuaW5nIHRlY2huaXF1ZXMgdGhhdCBjYW4gYmUgY2FycmllZCBvdXQgZGlyZWN0bHkgaW4gdGhlIGZpZWxkIGFyZSBub3QgcGFydCBvZiB0aGlzIGRvY3VtZW50LiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wMC8wMC80NiIsInV1aWQiOiI0MWU3ZWU5MS00MGZjLTRlOTMtODkzMy1hNmEzM2VjZjgxODciLCJ0aXRsZSI6IklTTy9SIDEzMToxOTU5IFRpdGxlIG1pc3NpbmcgLSBMZWdhY3kgcGFwZXIgZG9jdW1lbnQiLCJzdGF0dXMiOiJXaXRoZHJhd24iLCJ5ZWFyIjoxOTY0LCJvcmRlciI6MTAwLCJvYmplY3RJRCI6IjQ2XzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+L1IgPGVtPjEzMTwvZW0+OjE5NTkgVGl0bGUgbWlzc2luZyAtIExlZ2FjeSBwYXBlciBkb2N1bWVudCIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA1Lzc5LzU3OTU0IiwidXVpZCI6IjhiZmQ3NTAzLWI4OTctNGYxYi1iODY4LTJmZTM2YWY3MWMzYSIsInRpdGxlIjoiSVNPL0lFQyAxMzE1NjoyMDExIEluZm9ybWF0aW9uIHRlY2hub2xvZ3kg4oCUIFRlbGVjb21tdW5pY2F0aW9ucyBhbmQgaW5mb3JtYXRpb24gZXhjaGFuZ2UgYmV0d2VlbiBzeXN0ZW1zIOKAlCBIaWdoIHJhdGUgNjAgR0h6IFBIWSwgTUFDIGFuZCBQQUxzIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAyMiwib3JkZXIiOjExLCJ0ZXh0IjoiSVNPL0lFQyAxMzE1NjoyMDExIHNwZWNpZmllcyBhIHBoeXNpY2FsIGxheWVyIChQSFkpLCBkaXN0cmlidXRlZCBtZWRpdW0gYWNjZXNzIGNvbnRyb2wgKE1BQykgc3VibGF5ZXIsIGFuZCBhbiBIRE1JIHByb3RvY29sIGFkYXB0YXRpb24gbGF5ZXIgKFBBTCkgZm9yIDYwIEdIeiB3aXJlbGVzcyBuZXR3b3Jrcy4gIiwib2JqZWN0SUQiOiI1Nzk1NF8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPi9JRUMgPGVtPjEzMTwvZW0+NTY6MjAxMSBJbmZvcm1hdGlvbiB0ZWNobm9sb2d5IOKAlCBUZWxlY29tbXVuaWNhdGlvbnMgYW5kIGluZm9ybWF0aW9uIGV4Y2hhbmdlIGJldHdlZW4gc3lzdGVtcyDigJQgSGlnaCByYXRlIDYwIEdIeiBQSFksIE1BQyBhbmQgUEFMcyIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4vSUVDIDxlbT4xMzE8L2VtPjU2OjIwMTEgc3BlY2lmaWVzIGEgcGh5c2ljYWwgbGF5ZXIgKFBIWSksIGRpc3RyaWJ1dGVkIG1lZGl1bSBhY2Nlc3MgY29udHJvbCAoTUFDKSBzdWJsYXllciwgYW5kIGFuIEhETUkgcHJvdG9jb2wgYWRhcHRhdGlvbiBsYXllciAoUEFMKSBmb3IgNjAgR0h6IHdpcmVsZXNzIG5ldHdvcmtzLiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNS8zMy81MzMyOCIsInV1aWQiOiJkODBmYWVhMC1mZDc2LTQyMWMtYjRmZC05NDRlNjUyZTZkMjkiLCJ0aXRsZSI6IklTTy9UUyAxMzEzNjoyMDEyIE1pY3JvYmlvbG9neSBvZiBmb29kIGFuZCBhbmltYWwgZmVlZCDigJQgUmVhbC10aW1lIHBvbHltZXJhc2UgY2hhaW4gcmVhY3Rpb24gKFBDUiktYmFzZWQgbWV0aG9kIGZvciB0aGUgZGV0ZWN0aW9uIG9mIGZvb2QtYm9ybmUgcGF0aG9nZW5zIOKAlCBIb3Jpem9udGFsIG1ldGhvZCBmb3IgdGhlIGRldGVjdGlvbiBvZiBTaGlnYSB0b3hpbi1wcm9kdWNpbmcgRXNjaGVyaWNoaWEgY29saSAoU1RFQykgYW5kIHRoZSBkZXRlcm1pbmF0aW9uIG9mIE8xNTcsIE8xMTEsIE8yNiwgTzEwMyBhbmQgTzE0NSBzZXJvZ3JvdXBzIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAyMiwib3JkZXIiOjExLCJ0ZXh0IjoiSVNPL1RSIDEzMTM2OjIwMTIgZGVzY3JpYmVzIHRoZSBpZGVudGlmaWNhdGlvbiBvZiBTaGlnYSB0b3hpbi1wcm9kdWNpbmcgRXNjaGVyaWNoaWEgY29saSAoU1RFQykgYnkgbWVhbnMgb2YgdGhlIGRldGVjdGlvbiBvZiB0aGUgZm9sbG93aW5nIGdlbmVzOiBhKSB0aGUgbWFqb3IgdmlydWxlbmNlIGdlbmVzIG9mIFNURUMsIHN0eCBhbmQgZWFlIDsgYikgdGhlIGdlbmVzIGFzc29jaWF0ZWQgd2l0aCB0aGUgc2Vyb2dyb3VwcyBPMTU3LCBPMTExLCBPMjYsIE8xMDMsIGFuZCBPMTQ1LiBJbiBhbnkgY2FzZSwgd2hlbiBvbmUgb3IgYm90aCBvZiB0aGUgc3R4IGdlbmVzIGlzL2FyZSBkZXRlY3RlZCwgdGhlIGlzb2xhdGlvbiBvZiB0aGUgc3RyYWluIGlzIGF0dGVtcHRlZC4gVGhlIGlzb2xhdGlvbiBvZiBTVEVDIGZyb20gc2FtcGxlcyBwb3NpdGl2ZSBmb3IgdGhlIHByZXNlbmNlIG9mIHRoZSBnZW5lcyBzcGVjaWZ5aW5nIHRoZSBzZXJvZ3JvdXBzIGluIHRoZSBzY29wZSBvZiB0aGlzIG1ldGhvZCBjYW4gYmUgZmFjaWxpdGF0ZWQgYnkgdXNpbmcgc2Vyb2dyb3VwLXNwZWNpZmljIGVucmljaG1lbnQgdGVjaG5pcXVlcyAoZS5nLiBpbW11bm9tYWduZXRpYyBzZXBhcmF0aW9uLCBJTVMpLiBUaGUgcHJvdG9jb2wgdXNlcyByZWFsLXRpbWUgUENSIGFzIHRoZSByZWZlcmVuY2UgdGVjaG5vbG9neSBmb3IgZGV0ZWN0aW9uIG9mIHRoZSB2aXJ1bGVuY2UgYW5kIHNlcm9ncm91cC1hc3NvY2lhdGVkIGdlbmVzLiBJU08vVFIgMTMxMzY6MjAxMiBpcyBhcHBsaWNhYmxlIHRvOiAxKSBwcm9kdWN0cyBpbnRlbmRlZCBmb3IgaHVtYW4gY29uc3VtcHRpb24gYW5kIHRoZSBmZWVkaW5nIG9mIGFuaW1hbHM7IDIpIGVudmlyb25tZW50YWwgc2FtcGxlcyBpbiB0aGUgYXJlYSBvZiBmb29kIHByb2R1Y3Rpb24gYW5kIGZvb2QgaGFuZGxpbmc7IDMpIGVudmlyb25tZW50YWwgc2FtcGxlcyBpbiB0aGUgYXJlYSBvZiBwcmltYXJ5IHByb2R1Y3Rpb24uICIsIm9iamVjdElEIjoiNTMzMjhfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4vVFMgPGVtPjEzMTwvZW0+MzY6MjAxMiBNaWNyb2Jpb2xvZ3kgb2YgZm9vZCBhbmQgYW5pbWFsIGZlZWQg4oCUIFJlYWwtdGltZSBwb2x5bWVyYXNlIGNoYWluIHJlYWN0aW9uIChQQ1IpLWJhc2VkIG1ldGhvZCBmb3IgdGhlIGRldGVjdGlvbiBvZiBmb29kLWJvcm5lIHBhdGhvZ2VucyDigJQgSG9yaXpvbnRhbCBtZXRob2QgZm9yIHRoZSBkZXRlY3Rpb24gb2YgU2hpZ2EgdG94aW4tcHJvZHVjaW5nIEVzY2hlcmljaGlhIGNvbGkgKFNURUMpIGFuZCB0aGUgZGV0ZXJtaW5hdGlvbiBvZiBPMTU3LCBPMTExLCBPMjYsIE8xMDMgYW5kIE8xNDUgc2Vyb2dyb3VwcyIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4vVFIgPGVtPjEzMTwvZW0+MzY6MjAxMiBkZXNjcmliZXMgdGhlIGlkZW50aWZpY2F0aW9uIG9mIFNoaWdhIHRveGluLXByb2R1Y2luZyBFc2NoZXJpY2hpYSBjb2xpIChTVEVDKSBieSBtZWFucyBvZiB0aGUgZGV0ZWN0aW9uIG9mIHRoZSBmb2xsb3dpbmcgZ2VuZXM6IGEpIHRoZSBtYWpvciB2aXJ1bGVuY2UgZ2VuZXMgb2YgU1RFQywgc3R4IGFuZCBlYWUgOyBiKSB0aGUgZ2VuZXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBzZXJvZ3JvdXBzIE8xNTcsIE8xMTEsIE8yNiwgTzEwMywgYW5kIE8xNDUuIEluIGFueSBjYXNlLCB3aGVuIG9uZSBvciBib3RoIG9mIHRoZSBzdHggZ2VuZXMgaXMvYXJlIGRldGVjdGVkLCB0aGUgaXNvbGF0aW9uIG9mIHRoZSBzdHJhaW4gaXMgYXR0ZW1wdGVkLiBUaGUgaXNvbGF0aW9uIG9mIFNURUMgZnJvbSBzYW1wbGVzIHBvc2l0aXZlIGZvciB0aGUgcHJlc2VuY2Ugb2YgdGhlIGdlbmVzIHNwZWNpZnlpbmcgdGhlIHNlcm9ncm91cHMgaW4gdGhlIHNjb3BlIG9mIHRoaXMgbWV0aG9kIGNhbiBiZSBmYWNpbGl0YXRlZCBieSB1c2luZyBzZXJvZ3JvdXAtc3BlY2lmaWMgZW5yaWNobWVudCB0ZWNobmlxdWVzIChlLmcuIGltbXVub21hZ25ldGljIHNlcGFyYXRpb24sIElNUykuIFRoZSBwcm90b2NvbCB1c2VzIHJlYWwtdGltZSBQQ1IgYXMgdGhlIHJlZmVyZW5jZSB0ZWNobm9sb2d5IGZvciBkZXRlY3Rpb24gb2YgdGhlIHZpcnVsZW5jZSBhbmQgc2Vyb2dyb3VwLWFzc29jaWF0ZWQgZ2VuZXMuIDxlbT5JU088L2VtPi9UUiA8ZW0+MTMxPC9lbT4zNjoyMDEyIGlzIGFwcGxpY2FibGUgdG86IDEpIHByb2R1Y3RzIGludGVuZGVkIGZvciBodW1hbiBjb25zdW1wdGlvbiBhbmQgdGhlIGZlZWRpbmcgb2YgYW5pbWFsczsgMikgZW52aXJvbm1lbnRhbCBzYW1wbGVzIGluIHRoZSBhcmVhIG9mIGZvb2QgcHJvZHVjdGlvbiBhbmQgZm9vZCBoYW5kbGluZzsgMykgZW52aXJvbm1lbnRhbCBzYW1wbGVzIGluIHRoZSBhcmVhIG9mIHByaW1hcnkgcHJvZHVjdGlvbi4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDYvOTMvNjkzNDQiLCJ1dWlkIjoiY2VmNmJlYjctNzFkOS00NWJiLTgxZTctNGFmYzk1N2JkNzU5IiwidGl0bGUiOiJJU08vSUVDIDEzMTU3LTU6MjAxNiBJbmZvcm1hdGlvbiB0ZWNobm9sb2d5IOKAlCBUZWxlY29tbXVuaWNhdGlvbnMgYW5kIGluZm9ybWF0aW9uIGV4Y2hhbmdlIGJldHdlZW4gc3lzdGVtcyDigJQgTkZDIFNlY3VyaXR5IOKAlCBQYXJ0IDU6IE5GQy1TRUMgZW50aXR5IGF1dGhlbnRpY2F0aW9uIGFuZCBrZXkgYWdyZWVtZW50IHVzaW5nIHN5bW1ldHJpYyBjcnlwdG9ncmFwaHkiLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDIxLCJvcmRlciI6MTEsInRleHQiOiJJU08vSUVDIDEzMTU3LTU6MjAxNiBzcGVjaWZpZXMgdGhlIG1lc3NhZ2UgY29udGVudHMgYW5kIHRoZSBjcnlwdG9ncmFwaGljIG1lY2hhbmlzbXMgZm9yIFBJRCAwNC4gSVNPL0lFQyAxMzE1Ny01OjIwMTYgc3BlY2lmaWVzIGtleSBhZ3JlZW1lbnQgYW5kIGNvbmZpcm1hdGlvbiBtZWNoYW5pc21zIHByb3ZpZGluZyBtdXR1YWwgYXV0aGVudGljYXRpb24sIHVzaW5nIHN5bW1ldHJpYyBjcnlwdG9ncmFwaHkuIElTTy9JRUMgMTMxNTctNToyMDE2IGFkZHMgZW50aXR5IGF1dGhlbnRpY2F0aW9uIHRvIHRoZSBzZXJ2aWNlcyBwcm92aWRlZCBieSBJU08vSUVDIDEzMTU3LTMgKEVDTUHigJE0MDkpIE5GQy1TRUMtMDIuICIsIm9iamVjdElEIjoiNjkzNDRfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4vSUVDIDxlbT4xMzE8L2VtPjU3LTU6MjAxNiBJbmZvcm1hdGlvbiB0ZWNobm9sb2d5IOKAlCBUZWxlY29tbXVuaWNhdGlvbnMgYW5kIGluZm9ybWF0aW9uIGV4Y2hhbmdlIGJldHdlZW4gc3lzdGVtcyDigJQgTkZDIFNlY3VyaXR5IOKAlCBQYXJ0IDU6IE5GQy1TRUMgZW50aXR5IGF1dGhlbnRpY2F0aW9uIGFuZCBrZXkgYWdyZWVtZW50IHVzaW5nIHN5bW1ldHJpYyBjcnlwdG9ncmFwaHkiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+L0lFQyA8ZW0+MTMxPC9lbT41Ny01OjIwMTYgc3BlY2lmaWVzIHRoZSBtZXNzYWdlIGNvbnRlbnRzIGFuZCB0aGUgY3J5cHRvZ3JhcGhpYyBtZWNoYW5pc21zIGZvciBQSUQgMDQuIDxlbT5JU088L2VtPi9JRUMgPGVtPjEzMTwvZW0+NTctNToyMDE2IHNwZWNpZmllcyBrZXkgYWdyZWVtZW50IGFuZCBjb25maXJtYXRpb24gbWVjaGFuaXNtcyBwcm92aWRpbmcgbXV0dWFsIGF1dGhlbnRpY2F0aW9uLCB1c2luZyBzeW1tZXRyaWMgY3J5cHRvZ3JhcGh5LiA8ZW0+SVNPPC9lbT4vSUVDIDxlbT4xMzE8L2VtPjU3LTU6MjAxNiBhZGRzIGVudGl0eSBhdXRoZW50aWNhdGlvbiB0byB0aGUgc2VydmljZXMgcHJvdmlkZWQgYnkgPGVtPklTTzwvZW0+L0lFQyA8ZW0+MTMxPC9lbT41Ny0zIChFQ01B4oCRNDA5KSBORkMtU0VDLTAyLiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNi85My82OTM0MyIsInV1aWQiOiI4NmJjNDI0Zi1mNjUzLTQxYjgtYjI1Mi0yMjk0YmIxZTE5N2EiLCJ0aXRsZSI6IklTTy9JRUMgMTMxNTctNDoyMDE2IEluZm9ybWF0aW9uIHRlY2hub2xvZ3kg4oCUIFRlbGVjb21tdW5pY2F0aW9ucyBhbmQgaW5mb3JtYXRpb24gZXhjaGFuZ2UgYmV0d2VlbiBzeXN0ZW1zIOKAlCBORkMgU2VjdXJpdHkg4oCUIFBhcnQgNDogTkZDLVNFQyBlbnRpdHkgYXV0aGVudGljYXRpb24gYW5kIGtleSBhZ3JlZW1lbnQgdXNpbmcgYXN5bW1ldHJpYyBjcnlwdG9ncmFwaHkiLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDIxLCJvcmRlciI6MTEsInRleHQiOiJJU08vSUVDIDEzMTU3LTQ6MjAxNiBzcGVjaWZpZXMgdGhlIG1lc3NhZ2UgY29udGVudHMgYW5kIHRoZSBjcnlwdG9ncmFwaGljIG1lY2hhbmlzbXMgZm9yIFBJRCAwMy4gSVNPL0lFQyAxMzE1Ny00OjIwMTYgc3BlY2lmaWVzIGtleSBhZ3JlZW1lbnQgYW5kIGNvbmZpcm1hdGlvbiBtZWNoYW5pc21zIHByb3ZpZGluZyBtdXR1YWwgYXV0aGVudGljYXRpb24sIHVzaW5nIGFzeW1tZXRyaWMgY3J5cHRvZ3JhcGh5LCBhbmQgdGhlIHRyYW5zcG9ydCBwcm90b2NvbCByZXF1aXJlbWVudHMgZm9yIHRoZSBleGNoYW5nZSBiZXR3ZWVuIFNlbmRlciBhbmQgVFRQLiBOT1RFIElTTy9JRUMgMTMxNTctNDoyMDE2IGFkZHMgZW50aXR5IGF1dGhlbnRpY2F0aW9uIHRvIHRoZSBzZXJ2aWNlcyBwcm92aWRlZCBieSBJU08vSUVDIDEzMTU3LTMgKEVDTUEtNDA5KSBORkMtU0VDLTAyLiAiLCJvYmplY3RJRCI6IjY5MzQzXzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+L0lFQyA8ZW0+MTMxPC9lbT41Ny00OjIwMTYgSW5mb3JtYXRpb24gdGVjaG5vbG9neSDigJQgVGVsZWNvbW11bmljYXRpb25zIGFuZCBpbmZvcm1hdGlvbiBleGNoYW5nZSBiZXR3ZWVuIHN5c3RlbXMg4oCUIE5GQyBTZWN1cml0eSDigJQgUGFydCA0OiBORkMtU0VDIGVudGl0eSBhdXRoZW50aWNhdGlvbiBhbmQga2V5IGFncmVlbWVudCB1c2luZyBhc3ltbWV0cmljIGNyeXB0b2dyYXBoeSIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4vSUVDIDxlbT4xMzE8L2VtPjU3LTQ6MjAxNiBzcGVjaWZpZXMgdGhlIG1lc3NhZ2UgY29udGVudHMgYW5kIHRoZSBjcnlwdG9ncmFwaGljIG1lY2hhbmlzbXMgZm9yIFBJRCAwMy4gPGVtPklTTzwvZW0+L0lFQyA8ZW0+MTMxPC9lbT41Ny00OjIwMTYgc3BlY2lmaWVzIGtleSBhZ3JlZW1lbnQgYW5kIGNvbmZpcm1hdGlvbiBtZWNoYW5pc21zIHByb3ZpZGluZyBtdXR1YWwgYXV0aGVudGljYXRpb24sIHVzaW5nIGFzeW1tZXRyaWMgY3J5cHRvZ3JhcGh5LCBhbmQgdGhlIHRyYW5zcG9ydCBwcm90b2NvbCByZXF1aXJlbWVudHMgZm9yIHRoZSBleGNoYW5nZSBiZXR3ZWVuIFNlbmRlciBhbmQgVFRQLiBOT1RFIDxlbT5JU088L2VtPi9JRUMgPGVtPjEzMTwvZW0+NTctNDoyMDE2IGFkZHMgZW50aXR5IGF1dGhlbnRpY2F0aW9uIHRvIHRoZSBzZXJ2aWNlcyBwcm92aWRlZCBieSA8ZW0+SVNPPC9lbT4vSUVDIDxlbT4xMzE8L2VtPjU3LTMgKEVDTUEtNDA5KSBORkMtU0VDLTAyLiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNi85My82OTM0MiIsInV1aWQiOiI5MGZmNTUwZi1mNzgzLTRhODMtYTZiZC0zOGJhMGNhODQ4NmQiLCJ0aXRsZSI6IklTTy9JRUMgMTMxNTctMzoyMDE2IEluZm9ybWF0aW9uIHRlY2hub2xvZ3kg4oCUIFRlbGVjb21tdW5pY2F0aW9ucyBhbmQgaW5mb3JtYXRpb24gZXhjaGFuZ2UgYmV0d2VlbiBzeXN0ZW1zIOKAlCBORkMgU2VjdXJpdHkg4oCUIFBhcnQgMzogTkZDLVNFQyBjcnlwdG9ncmFwaHkgc3RhbmRhcmQgdXNpbmcgRUNESC0yNTYgYW5kIEFFUy1HQ00iLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDIxLCJvcmRlciI6MTEsInRleHQiOiJJU08vSUVDIDEzMTU3LTM6MjAxNiBzcGVjaWZpZXMgdGhlIG1lc3NhZ2UgY29udGVudHMgYW5kIHRoZSBjcnlwdG9ncmFwaGljIG1ldGhvZHMgZm9yIFBJRCAwMi4gSXQgc3BlY2lmaWVzIGNyeXB0b2dyYXBoaWMgbWVjaGFuaXNtcyB0aGF0IHVzZSB0aGUgRWxsaXB0aWMgQ3VydmVzIERpZmZpZS1IZWxsbWFuIChFQ0RIKSBwcm90b2NvbCB3aXRoIGEga2V5IGxlbmd0aCBvZiAyNTYgYml0cyBmb3Iga2V5IGFncmVlbWVudCBhbmQgdGhlIEFFUyBhbGdvcml0aG0gaW4gR0NNIG1vZGUgdG8gcHJvdmlkZSBkYXRhIGF1dGhlbnRpY2F0ZWQgZW5jcnlwdGlvbi4gIiwib2JqZWN0SUQiOiI2OTM0Ml8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPi9JRUMgPGVtPjEzMTwvZW0+NTctMzoyMDE2IEluZm9ybWF0aW9uIHRlY2hub2xvZ3kg4oCUIFRlbGVjb21tdW5pY2F0aW9ucyBhbmQgaW5mb3JtYXRpb24gZXhjaGFuZ2UgYmV0d2VlbiBzeXN0ZW1zIOKAlCBORkMgU2VjdXJpdHkg4oCUIFBhcnQgMzogTkZDLVNFQyBjcnlwdG9ncmFwaHkgc3RhbmRhcmQgdXNpbmcgRUNESC0yNTYgYW5kIEFFUy1HQ00iLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+L0lFQyA8ZW0+MTMxPC9lbT41Ny0zOjIwMTYgc3BlY2lmaWVzIHRoZSBtZXNzYWdlIGNvbnRlbnRzIGFuZCB0aGUgY3J5cHRvZ3JhcGhpYyBtZXRob2RzIGZvciBQSUQgMDIuIEl0IHNwZWNpZmllcyBjcnlwdG9ncmFwaGljIG1lY2hhbmlzbXMgdGhhdCB1c2UgdGhlIEVsbGlwdGljIEN1cnZlcyBEaWZmaWUtSGVsbG1hbiAoRUNESCkgcHJvdG9jb2wgd2l0aCBhIGtleSBsZW5ndGggb2YgMjU2IGJpdHMgZm9yIGtleSBhZ3JlZW1lbnQgYW5kIHRoZSBBRVMgYWxnb3JpdGhtIGluIEdDTSBtb2RlIHRvIHByb3ZpZGUgZGF0YSBhdXRoZW50aWNhdGVkIGVuY3J5cHRpb24uICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA2LzkzLzY5MzI4IiwidXVpZCI6ImM1MGQxNGRmLWE2NzktNGQ3Ny05OWZjLWE4YjJlMmMyZWVmNiIsInRpdGxlIjoiSVNPL0lFQyAxMzE1Ny0yOjIwMTYgSW5mb3JtYXRpb24gdGVjaG5vbG9neSDigJQgVGVsZWNvbW11bmljYXRpb25zIGFuZCBpbmZvcm1hdGlvbiBleGNoYW5nZSBiZXR3ZWVuIHN5c3RlbXMg4oCUIE5GQyBTZWN1cml0eSDigJQgUGFydCAyOiBORkMtU0VDIGNyeXB0b2dyYXBoeSBzdGFuZGFyZCB1c2luZyBFQ0RIIGFuZCBBRVMiLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDIxLCJvcmRlciI6MTEsInRleHQiOiJJU08vSUVDIDEzMTU3LTI6MjAxNiBzcGVjaWZpZXMgdGhlIG1lc3NhZ2UgY29udGVudHMgYW5kIHRoZSBjcnlwdG9ncmFwaGljIG1ldGhvZHMgZm9yIFBJRCAwMS4gSVNPL0lFQyAxMzE1Ny0yOjIwMTYgc3BlY2lmaWVzIGNyeXB0b2dyYXBoaWMgbWVjaGFuaXNtcyB0aGF0IHVzZSB0aGUgRWxsaXB0aWMgQ3VydmVzIERpZmZpZS1IZWxsbWFuIChFQ0RIKSBwcm90b2NvbCBmb3Iga2V5IGFncmVlbWVudCBhbmQgdGhlIEFFUyBhbGdvcml0aG0gZm9yIGRhdGEgZW5jcnlwdGlvbiBhbmQgaW50ZWdyaXR5LiAiLCJvYmplY3RJRCI6IjY5MzI4XzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+L0lFQyA8ZW0+MTMxPC9lbT41Ny0yOjIwMTYgSW5mb3JtYXRpb24gdGVjaG5vbG9neSDigJQgVGVsZWNvbW11bmljYXRpb25zIGFuZCBpbmZvcm1hdGlvbiBleGNoYW5nZSBiZXR3ZWVuIHN5c3RlbXMg4oCUIE5GQyBTZWN1cml0eSDigJQgUGFydCAyOiBORkMtU0VDIGNyeXB0b2dyYXBoeSBzdGFuZGFyZCB1c2luZyBFQ0RIIGFuZCBBRVMiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+L0lFQyA8ZW0+MTMxPC9lbT41Ny0yOjIwMTYgc3BlY2lmaWVzIHRoZSBtZXNzYWdlIGNvbnRlbnRzIGFuZCB0aGUgY3J5cHRvZ3JhcGhpYyBtZXRob2RzIGZvciBQSUQgMDEuIDxlbT5JU088L2VtPi9JRUMgPGVtPjEzMTwvZW0+NTctMjoyMDE2IHNwZWNpZmllcyBjcnlwdG9ncmFwaGljIG1lY2hhbmlzbXMgdGhhdCB1c2UgdGhlIEVsbGlwdGljIEN1cnZlcyBEaWZmaWUtSGVsbG1hbiAoRUNESCkgcHJvdG9jb2wgZm9yIGtleSBhZ3JlZW1lbnQgYW5kIHRoZSBBRVMgYWxnb3JpdGhtIGZvciBkYXRhIGVuY3J5cHRpb24gYW5kIGludGVncml0eS4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDUvMzQvNTM0MzQiLCJ1dWlkIjoiNzk0YjE0ODQtOWY0Ni00MzJlLWFjZjAtMTgxOGFiMzM0ZTA5IiwidGl0bGUiOiJJU08vSUVDIDEzMTcwOjIwMDkgSW5mb3JtYXRpb24gdGVjaG5vbG9neSDigJQgMTIwIG1tICg4LDU0IEdieXRlcyBwZXIgc2lkZSkgYW5kIDgwIG1tICgyLDY2IEdieXRlcyBwZXIgc2lkZSkgRFZEIHJlLXJlY29yZGFibGUgZGlzayBmb3IgZHVhbCBsYXllciAoRFZELVJXIGZvciBETCkiLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDIwLCJvcmRlciI6MTEsInRleHQiOiJJU08vSUVDIDEzMTcwOjIwMTAgc3BlY2lmaWVzIHRoZSBtZWNoYW5pY2FsLCBwaHlzaWNhbCBhbmQgb3B0aWNhbCBjaGFyYWN0ZXJpc3RpY3Mgb2YgYSAxMjAgbW0gYW5kIGFuIDgwIG1tIGR1YWwgbGF5ZXIgRFZEIHJlLXJlY29yZGFibGUgZGlzayB0byBlbmFibGUgdGhlIGludGVyY2hhbmdlIG9mIHN1Y2ggZGlza3MuIEl0IHNwZWNpZmllcyB0aGUgcXVhbGl0eSBvZiB0aGUgZW1ib3NzZWQsIHVucmVjb3JkZWQgYW5kIHRoZSByZWNvcmRlZCBzaWduYWxzLCB0aGUgZm9ybWF0IG9mIHRoZSBkYXRhLCB0aGUgZm9ybWF0IG9mIHRoZSBpbmZvcm1hdGlvbiB6b25lLCB0aGUgZm9ybWF0IG9mIHRoZSB1bnJlY29yZGVkIHpvbmUsIGFuZCB0aGUgcmVjb3JkaW5nIG1ldGhvZCwgdGhlcmVieSBhbGxvd2luZyBmb3IgaW5mb3JtYXRpb24gaW50ZXJjaGFuZ2UgYnkgbWVhbnMgb2Ygc3VjaCBkaXNrcy4gVGhpcyBkaXNrIGlzIGlkZW50aWZpZWQgYXMgYSBEVkQgcmUtcmVjb3JkYWJsZSBkaXNrIGZvciBkdWFsIGxheWVyIChEVkQtUlcgZm9yIERMKS4gSVNPL0lFQyAxMzE3MDoyMDEwIHNwZWNpZmllczogMTIwIG1tIGFuZCA4MCBtbSBub21pbmFsIGRpYW1ldGVyIGRpc2tzIHRoYXQgbWF5IGJlIGVpdGhlciBzaW5nbGUgb3IgZG91YmxlIHNpZGVkOyB0aGUgY29uZGl0aW9ucyBmb3IgY29uZm9ybWFuY2U7IHRoZSBlbnZpcm9ubWVudHMgaW4gd2hpY2ggdGhlIGRpc2sgaXMgdG8gYmUgb3BlcmF0ZWQgYW5kIHN0b3JlZDsgdGhlIG1lY2hhbmljYWwgYW5kIHBoeXNpY2FsIGNoYXJhY3RlcmlzdGljcyBvZiB0aGUgZGlzaywgc28gYXMgdG8gcHJvdmlkZSBtZWNoYW5pY2FsIGludGVyY2hhbmdlIGJldHdlZW4gZGF0YSBwcm9jZXNzaW5nIHN5c3RlbXM7IHRoZSBmb3JtYXQgb2YgdGhlIGVtYm9zc2VkIGluZm9ybWF0aW9uIG9uIGFuIHVucmVjb3JkZWQgZGlzaywgaW5jbHVkaW5nIHRoZSBwaHlzaWNhbCBkaXNwb3NpdGlvbiBvZiB0aGUgdHJhY2tzIGFuZCBzZWN0b3JzLCB0aGUgZXJyb3IgY29ycmVjdGluZyBjb2RlcyBhbmQgdGhlIGNvZGluZyBtZXRob2QgdXNlZDsgdGhlIGZvcm1hdCBvZiB0aGUgZGF0YSBhbmQgdGhlIHJlY29yZGVkIGluZm9ybWF0aW9uIG9uIHRoZSBkaXNrLCBpbmNsdWRpbmcgdGhlIHBoeXNpY2FsIGRpc3Bvc2l0aW9uIG9mIHRoZSB0cmFja3MgYW5kIHNlY3RvcnMsIHRoZSBlcnJvciBjb3JyZWN0aW5nIGNvZGVzIGFuZCB0aGUgY29kaW5nIG1ldGhvZCB1c2VkOyB0aGUgY2hhcmFjdGVyaXN0aWNzIG9mIHRoZSBzaWduYWxzIGZyb20gZW1ib3NzZWQgYW5kIHVucmVjb3JkZWQgYXJlYXMgb24gdGhlIGRpc2ssIGVuYWJsaW5nIGRhdGEgcHJvY2Vzc2luZyBzeXN0ZW1zIHRvIHJlYWQgdGhlIGVtYm9zc2VkIGluZm9ybWF0aW9uIGFuZCB0byB3cml0ZSB0byB0aGUgZGlza3M7IHRoZSBjaGFyYWN0ZXJpc3RpY3Mgb2YgdGhlIHNpZ25hbHMgcmVjb3JkZWQgb24gdGhlIGRpc2ssIGVuYWJsaW5nIGRhdGEgcHJvY2Vzc2luZyBzeXN0ZW1zIHRvIHJlYWQgdGhlIGRhdGEgZnJvbSB0aGUgZGlzay4gSVNPL0lFQyAxMzE3MDoyMDEwIHByb3ZpZGVzIGZvciBpbnRlcmNoYW5nZSBvZiBkaXNrcyBiZXR3ZWVuIGRpc2sgZHJpdmVzLiBUb2dldGhlciB3aXRoIGFuIEludGVybmF0aW9uYWwgU3RhbmRhcmQgZm9yIHZvbHVtZSBhbmQgZmlsZSBzdHJ1Y3R1cmUsIGl0IHByb3ZpZGVzIGZvciBmdWxsIGRhdGEgaW50ZXJjaGFuZ2UgYmV0d2VlbiBkYXRhIHByb2Nlc3Npbmcgc3lzdGVtcy4gIiwib2JqZWN0SUQiOiI1MzQzNF8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPi9JRUMgPGVtPjEzMTwvZW0+NzA6MjAwOSBJbmZvcm1hdGlvbiB0ZWNobm9sb2d5IOKAlCAxMjAgbW0gKDgsNTQgR2J5dGVzIHBlciBzaWRlKSBhbmQgODAgbW0gKDIsNjYgR2J5dGVzIHBlciBzaWRlKSBEVkQgcmUtcmVjb3JkYWJsZSBkaXNrIGZvciBkdWFsIGxheWVyIChEVkQtUlcgZm9yIERMKSIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4vSUVDIDxlbT4xMzE8L2VtPjcwOjIwMTAgc3BlY2lmaWVzIHRoZSBtZWNoYW5pY2FsLCBwaHlzaWNhbCBhbmQgb3B0aWNhbCBjaGFyYWN0ZXJpc3RpY3Mgb2YgYSAxMjAgbW0gYW5kIGFuIDgwIG1tIGR1YWwgbGF5ZXIgRFZEIHJlLXJlY29yZGFibGUgZGlzayB0byBlbmFibGUgdGhlIGludGVyY2hhbmdlIG9mIHN1Y2ggZGlza3MuIEl0IHNwZWNpZmllcyB0aGUgcXVhbGl0eSBvZiB0aGUgZW1ib3NzZWQsIHVucmVjb3JkZWQgYW5kIHRoZSByZWNvcmRlZCBzaWduYWxzLCB0aGUgZm9ybWF0IG9mIHRoZSBkYXRhLCB0aGUgZm9ybWF0IG9mIHRoZSBpbmZvcm1hdGlvbiB6b25lLCB0aGUgZm9ybWF0IG9mIHRoZSB1bnJlY29yZGVkIHpvbmUsIGFuZCB0aGUgcmVjb3JkaW5nIG1ldGhvZCwgdGhlcmVieSBhbGxvd2luZyBmb3IgaW5mb3JtYXRpb24gaW50ZXJjaGFuZ2UgYnkgbWVhbnMgb2Ygc3VjaCBkaXNrcy4gVGhpcyBkaXNrIGlzIGlkZW50aWZpZWQgYXMgYSBEVkQgcmUtcmVjb3JkYWJsZSBkaXNrIGZvciBkdWFsIGxheWVyIChEVkQtUlcgZm9yIERMKS4gPGVtPklTTzwvZW0+L0lFQyA8ZW0+MTMxPC9lbT43MDoyMDEwIHNwZWNpZmllczogMTIwIG1tIGFuZCA4MCBtbSBub21pbmFsIGRpYW1ldGVyIGRpc2tzIHRoYXQgbWF5IGJlIGVpdGhlciBzaW5nbGUgb3IgZG91YmxlIHNpZGVkOyB0aGUgY29uZGl0aW9ucyBmb3IgY29uZm9ybWFuY2U7IHRoZSBlbnZpcm9ubWVudHMgaW4gd2hpY2ggdGhlIGRpc2sgaXMgdG8gYmUgb3BlcmF0ZWQgYW5kIHN0b3JlZDsgdGhlIG1lY2hhbmljYWwgYW5kIHBoeXNpY2FsIGNoYXJhY3RlcmlzdGljcyBvZiB0aGUgZGlzaywgc28gYXMgdG8gcHJvdmlkZSBtZWNoYW5pY2FsIGludGVyY2hhbmdlIGJldHdlZW4gZGF0YSBwcm9jZXNzaW5nIHN5c3RlbXM7IHRoZSBmb3JtYXQgb2YgdGhlIGVtYm9zc2VkIGluZm9ybWF0aW9uIG9uIGFuIHVucmVjb3JkZWQgZGlzaywgaW5jbHVkaW5nIHRoZSBwaHlzaWNhbCBkaXNwb3NpdGlvbiBvZiB0aGUgdHJhY2tzIGFuZCBzZWN0b3JzLCB0aGUgZXJyb3IgY29ycmVjdGluZyBjb2RlcyBhbmQgdGhlIGNvZGluZyBtZXRob2QgdXNlZDsgdGhlIGZvcm1hdCBvZiB0aGUgZGF0YSBhbmQgdGhlIHJlY29yZGVkIGluZm9ybWF0aW9uIG9uIHRoZSBkaXNrLCBpbmNsdWRpbmcgdGhlIHBoeXNpY2FsIGRpc3Bvc2l0aW9uIG9mIHRoZSB0cmFja3MgYW5kIHNlY3RvcnMsIHRoZSBlcnJvciBjb3JyZWN0aW5nIGNvZGVzIGFuZCB0aGUgY29kaW5nIG1ldGhvZCB1c2VkOyB0aGUgY2hhcmFjdGVyaXN0aWNzIG9mIHRoZSBzaWduYWxzIGZyb20gZW1ib3NzZWQgYW5kIHVucmVjb3JkZWQgYXJlYXMgb24gdGhlIGRpc2ssIGVuYWJsaW5nIGRhdGEgcHJvY2Vzc2luZyBzeXN0ZW1zIHRvIHJlYWQgdGhlIGVtYm9zc2VkIGluZm9ybWF0aW9uIGFuZCB0byB3cml0ZSB0byB0aGUgZGlza3M7IHRoZSBjaGFyYWN0ZXJpc3RpY3Mgb2YgdGhlIHNpZ25hbHMgcmVjb3JkZWQgb24gdGhlIGRpc2ssIGVuYWJsaW5nIGRhdGEgcHJvY2Vzc2luZyBzeXN0ZW1zIHRvIHJlYWQgdGhlIGRhdGEgZnJvbSB0aGUgZGlzay4gPGVtPklTTzwvZW0+L0lFQyA8ZW0+MTMxPC9lbT43MDoyMDEwIHByb3ZpZGVzIGZvciBpbnRlcmNoYW5nZSBvZiBkaXNrcyBiZXR3ZWVuIGRpc2sgZHJpdmVzLiBUb2dldGhlciB3aXRoIGFuIEludGVybmF0aW9uYWwgU3RhbmRhcmQgZm9yIHZvbHVtZSBhbmQgZmlsZSBzdHJ1Y3R1cmUsIGl0IHByb3ZpZGVzIGZvciBmdWxsIGRhdGEgaW50ZXJjaGFuZ2UgYmV0d2VlbiBkYXRhIHByb2Nlc3Npbmcgc3lzdGVtcy4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDYvNDcvNjQ3MTkiLCJ1dWlkIjoiNTE4NTY2MWEtYTJiZC00MDAxLTk0YjAtYzExODI0YzUyMjdiIiwidGl0bGUiOiJJU08vSUVDIDEzMTU3LTE6MjAxNCBJbmZvcm1hdGlvbiB0ZWNobm9sb2d5IOKAlCBUZWxlY29tbXVuaWNhdGlvbnMgYW5kIGluZm9ybWF0aW9uIGV4Y2hhbmdlIGJldHdlZW4gc3lzdGVtcyDigJQgTkZDIFNlY3VyaXR5IOKAlCBQYXJ0IDE6IE5GQy1TRUMgTkZDSVAtMSBzZWN1cml0eSBzZXJ2aWNlcyBhbmQgcHJvdG9jb2wiLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDE5LCJvcmRlciI6MTEsInRleHQiOiJJU08vSUVDIDEzMTU3LTE6MjAxNCBzcGVjaWZpZXMgdGhlIE5GQy1TRUMgc2VjdXJlIGNoYW5uZWwgYW5kIHNoYXJlZCBzZWNyZXQgc2VydmljZXMgZm9yIE5GQ0lQLTEgYW5kIHRoZSBQcm90b2NvbCBEYXRhIFVuaXRzIGFuZCBwcm90b2NvbCBmb3IgdGhvc2Ugc2VydmljZXMuICIsIm9iamVjdElEIjoiNjQ3MTlfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4vSUVDIDxlbT4xMzE8L2VtPjU3LTE6MjAxNCBJbmZvcm1hdGlvbiB0ZWNobm9sb2d5IOKAlCBUZWxlY29tbXVuaWNhdGlvbnMgYW5kIGluZm9ybWF0aW9uIGV4Y2hhbmdlIGJldHdlZW4gc3lzdGVtcyDigJQgTkZDIFNlY3VyaXR5IOKAlCBQYXJ0IDE6IE5GQy1TRUMgTkZDSVAtMSBzZWN1cml0eSBzZXJ2aWNlcyBhbmQgcHJvdG9jb2wiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+L0lFQyA8ZW0+MTMxPC9lbT41Ny0xOjIwMTQgc3BlY2lmaWVzIHRoZSBORkMtU0VDIHNlY3VyZSBjaGFubmVsIGFuZCBzaGFyZWQgc2VjcmV0IHNlcnZpY2VzIGZvciBORkNJUC0xIGFuZCB0aGUgUHJvdG9jb2wgRGF0YSBVbml0cyBhbmQgcHJvdG9jb2wgZm9yIHRob3NlIHNlcnZpY2VzLiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNS8zNC81MzQ3OSIsInV1aWQiOiIzZDE2MTUxMy0wMGY2LTRkNTgtODU1MS02NWFlZWNlZGFmNzciLCJ0aXRsZSI6IklTTy9UUiAxMzE5NToyMDE1IFNlbGVjdGVkIGlsbHVzdHJhdGlvbnMgb2YgcmVzcG9uc2Ugc3VyZmFjZSBtZXRob2Qg4oCUIENlbnRyYWwgY29tcG9zaXRlIGRlc2lnbiIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMTksIm9yZGVyIjoxMSwidGV4dCI6IklTTy9UUiAxMzE5NToyMDE1IGRlc2NyaWJlcyB0aGUgc3RlcHMgbmVjZXNzYXJ5IHRvIHVuZGVyc3RhbmQgdGhlIHNjb3BlIG9mIFJlc3BvbnNlIFN1cmZhY2UgTWV0aG9kb2xvZ3kgKFJTTSkgYW5kIHRoZSBtZXRob2QgdG8gYW5hbHlzZSBkYXRhIGNvbGxlY3RlZCB1c2luZyBDZW50cmFsIENvbXBvc2l0ZSBEZXNpZ25zIChDQ0QpIHRocm91Z2ggaWxsdXN0cmF0aW9uIHdpdGggZm91ciBkaXN0aW5jdCBhcHBsaWNhdGlvbnMgb2YgdGhpcyBtZXRob2RvbG9neS4gUmVzcG9uc2Ugc3VyZmFjZSBtZXRob2RvbG9neSAoUlNNKSBpcyB1c2VkIGluIG9yZGVyIHRvIGludmVzdGlnYXRlIGEgcmVsYXRpb24gYmV0d2VlbiB0aGUgcmVzcG9uc2UgYW5kIHRoZSBzZXQgb2YgcXVhbnRpdGF0aXZlIHByZWRpY3RvciB2YXJpYWJsZXMgb3IgZmFjdG9ycy4gRXNwZWNpYWxseSBhZnRlciBzcGVjaWZ5aW5nIHRoZSB2aXRhbCBmZXcgY29udHJvbGxhYmxlIGZhY3RvcnMsIFJTTSBpcyB1c2VkIGluIG9yZGVyIHRvIGZpbmQgdGhlIGZhY3RvciBzZXR0aW5nIHdoaWNoIG9wdGltaXplcyB0aGUgcmVzcG9uc2UuICIsIm9iamVjdElEIjoiNTM0NzlfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4vVFIgPGVtPjEzMTwvZW0+OTU6MjAxNSBTZWxlY3RlZCBpbGx1c3RyYXRpb25zIG9mIHJlc3BvbnNlIHN1cmZhY2UgbWV0aG9kIOKAlCBDZW50cmFsIGNvbXBvc2l0ZSBkZXNpZ24iLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+L1RSIDxlbT4xMzE8L2VtPjk1OjIwMTUgZGVzY3JpYmVzIHRoZSBzdGVwcyBuZWNlc3NhcnkgdG8gdW5kZXJzdGFuZCB0aGUgc2NvcGUgb2YgUmVzcG9uc2UgU3VyZmFjZSBNZXRob2RvbG9neSAoUlNNKSBhbmQgdGhlIG1ldGhvZCB0byBhbmFseXNlIGRhdGEgY29sbGVjdGVkIHVzaW5nIENlbnRyYWwgQ29tcG9zaXRlIERlc2lnbnMgKENDRCkgdGhyb3VnaCBpbGx1c3RyYXRpb24gd2l0aCBmb3VyIGRpc3RpbmN0IGFwcGxpY2F0aW9ucyBvZiB0aGlzIG1ldGhvZG9sb2d5LiBSZXNwb25zZSBzdXJmYWNlIG1ldGhvZG9sb2d5IChSU00pIGlzIHVzZWQgaW4gb3JkZXIgdG8gaW52ZXN0aWdhdGUgYSByZWxhdGlvbiBiZXR3ZWVuIHRoZSByZXNwb25zZSBhbmQgdGhlIHNldCBvZiBxdWFudGl0YXRpdmUgcHJlZGljdG9yIHZhcmlhYmxlcyBvciBmYWN0b3JzLiBFc3BlY2lhbGx5IGFmdGVyIHNwZWNpZnlpbmcgdGhlIHZpdGFsIGZldyBjb250cm9sbGFibGUgZmFjdG9ycywgUlNNIGlzIHVzZWQgaW4gb3JkZXIgdG8gZmluZCB0aGUgZmFjdG9yIHNldHRpbmcgd2hpY2ggb3B0aW1pemVzIHRoZSByZXNwb25zZS4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDUvMzQvNTM0NTgiLCJ1dWlkIjoiZjBhMWE5MTgtMTkxNS00ZDAyLTk1NWEtNTc3ZGQ3NTQ3Nzk5IiwidGl0bGUiOiJJU08vSUVDIDEzMTg3OjIwMTEgSW5mb3JtYXRpb24gdGVjaG5vbG9neSDigJQgU2VydmVyIG1hbmFnZW1lbnQgY29tbWFuZCBsaW5lIHByb3RvY29sIChTTSBDTFApIHNwZWNpZmljYXRpb24iLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDE4LCJvcmRlciI6MTEsInRleHQiOiJJU08vSUVDIDEzMTg3OjIwMTEoRSkgbGF5cyBvdXQgdGhlIGdlbmVyYWwgZnJhbWV3b3JrIGZvciB0aGVcblNlcnZlciBNYW5hZ2VtZW50IENvbW1hbmQgTGluZSBQcm90b2NvbCAoU00gQ0xQKS4gVGhpcyBzdGFuZGFyZCBpcyBpbnRlbmRlZCB0b1xuZ3VpZGUgZGV2ZWxvcGVycyBvZiBpbXBsZW1lbnRhdGlvbnMgb2YgdGhlIFNNIENMUCBhbmQgbWF5IGFsc28gYmUgdXNlZCBhcyBhXG5yZWZlcmVuY2UgYnkgc3lzdGVtIGFkbWluaXN0cmF0b3JzIGFuZCBvdGhlciB1c2VycyBvZiBTTSBDTFAgaW1wbGVtZW50YXRpb25zLlxuSXQgd2FzIHByZXBhcmVkIGJ5IFNOSUEgKFN0b3JhZ2UgTmV0d29ya2luZyBJbmR1c3RyeSBBc3NvY2lhdGlvbiksIHdhcyBhZG9wdGVkLFxudW5kZXIgdGhlIGZhc3QgdHJhY2sgcHJvY2VkdXJlLiAiLCJvYmplY3RJRCI6IjUzNDU4XzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+L0lFQyA8ZW0+MTMxPC9lbT44NzoyMDExIEluZm9ybWF0aW9uIHRlY2hub2xvZ3kg4oCUIFNlcnZlciBtYW5hZ2VtZW50IGNvbW1hbmQgbGluZSBwcm90b2NvbCAoU00gQ0xQKSBzcGVjaWZpY2F0aW9uIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPi9JRUMgPGVtPjEzMTwvZW0+ODc6MjAxMShFKSBsYXlzIG91dCB0aGUgZ2VuZXJhbCBmcmFtZXdvcmsgZm9yIHRoZVxuU2VydmVyIE1hbmFnZW1lbnQgQ29tbWFuZCBMaW5lIFByb3RvY29sIChTTSBDTFApLiBUaGlzIHN0YW5kYXJkIGlzIGludGVuZGVkIHRvXG5ndWlkZSBkZXZlbG9wZXJzIG9mIGltcGxlbWVudGF0aW9ucyBvZiB0aGUgU00gQ0xQIGFuZCBtYXkgYWxzbyBiZSB1c2VkIGFzIGFcbnJlZmVyZW5jZSBieSBzeXN0ZW0gYWRtaW5pc3RyYXRvcnMgYW5kIG90aGVyIHVzZXJzIG9mIFNNIENMUCBpbXBsZW1lbnRhdGlvbnMuXG5JdCB3YXMgcHJlcGFyZWQgYnkgU05JQSAoU3RvcmFnZSBOZXR3b3JraW5nIEluZHVzdHJ5IEFzc29jaWF0aW9uKSwgd2FzIGFkb3B0ZWQsXG51bmRlciB0aGUgZmFzdCB0cmFjayBwcm9jZWR1cmUuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA2LzkzLzY5MzQ3IiwidXVpZCI6IjgwNTk5YjM0LWMxZjctNDU1Zi1hZDVlLWIwNTk0NTJkMjk0YSIsInRpdGxlIjoiSVNPL1RSIDEzMTU0OjIwMTcgTWVkaWNhbCBlbGVjdHJpY2FsIGVxdWlwbWVudCDigJQgRGVwbG95bWVudCwgaW1wbGVtZW50YXRpb24gYW5kIG9wZXJhdGlvbmFsIGd1aWRlbGluZXMgZm9yIGlkZW50aWZ5aW5nIGZlYnJpbGUgaHVtYW5zIHVzaW5nIGEgc2NyZWVuaW5nIHRoZXJtb2dyYXBoIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAxNywib3JkZXIiOjExLCJ0ZXh0IjoiSVNPL1RSIDEzMTU0OjIwMTcgcHJvdmlkZXMgZ2VuZXJhbCBndWlkZWxpbmVzIGZvciB0aGUgZGVwbG95bWVudCwgaW1wbGVtZW50YXRpb24gYW5kIG9wZXJhdGlvbiBvZiBhIHNjcmVlbmluZyB0aGVybW9ncmFwaCBpbnRlbmRlZCB0byBiZSB1c2VkIGZvciBub24taW52YXNpdmUgZmVicmlsZSB0ZW1wZXJhdHVyZSBzY3JlZW5pbmcgb2YgaW5kaXZpZHVhbHMgdW5kZXIgaW5kb29yIGVudmlyb25tZW50YWwgY29uZGl0aW9ucyB0byBwcmV2ZW50IHRoZSBzcHJlYWQgb2YgaW5mZWN0aW9uLiBOT1RFICAgICAgICAgIFRoZSBlcXVpcG1lbnQgc3RhbmRhcmQgZm9yIHNjcmVlbmluZyB0aGVybW9ncmFwaHMgaXMgZm91bmQgaW4gSUVDIDgwNjAxPzItNTkuICIsIm9iamVjdElEIjoiNjkzNDdfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4vVFIgPGVtPjEzMTwvZW0+NTQ6MjAxNyBNZWRpY2FsIGVsZWN0cmljYWwgZXF1aXBtZW50IOKAlCBEZXBsb3ltZW50LCBpbXBsZW1lbnRhdGlvbiBhbmQgb3BlcmF0aW9uYWwgZ3VpZGVsaW5lcyBmb3IgaWRlbnRpZnlpbmcgZmVicmlsZSBodW1hbnMgdXNpbmcgYSBzY3JlZW5pbmcgdGhlcm1vZ3JhcGgiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+L1RSIDxlbT4xMzE8L2VtPjU0OjIwMTcgcHJvdmlkZXMgZ2VuZXJhbCBndWlkZWxpbmVzIGZvciB0aGUgZGVwbG95bWVudCwgaW1wbGVtZW50YXRpb24gYW5kIG9wZXJhdGlvbiBvZiBhIHNjcmVlbmluZyB0aGVybW9ncmFwaCBpbnRlbmRlZCB0byBiZSB1c2VkIGZvciBub24taW52YXNpdmUgZmVicmlsZSB0ZW1wZXJhdHVyZSBzY3JlZW5pbmcgb2YgaW5kaXZpZHVhbHMgdW5kZXIgaW5kb29yIGVudmlyb25tZW50YWwgY29uZGl0aW9ucyB0byBwcmV2ZW50IHRoZSBzcHJlYWQgb2YgaW5mZWN0aW9uLiBOT1RFICAgICAgICAgIFRoZSBlcXVpcG1lbnQgc3RhbmRhcmQgZm9yIHNjcmVlbmluZyB0aGVybW9ncmFwaHMgaXMgZm91bmQgaW4gSUVDIDgwNjAxPzItNTkuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA1LzcwLzU3MDI0IiwidXVpZCI6IjZlMzY4ZDI1LWQwMzktNGRkMC1hZWU1LTA1Y2NlZDU2ODlhMyIsInRpdGxlIjoiSVNPL1RSIDEzMTg0LTE6MjAxMyBJbnRlbGxpZ2VudCB0cmFuc3BvcnQgc3lzdGVtcyAoSVRTKSDigJQgR3VpZGFuY2UgcHJvdG9jb2wgdmlhIHBlcnNvbmFsIElUUyBzdGF0aW9uIGZvciBhZHZpc29yeSBzYWZldHkgc3lzdGVtcyDigJQgUGFydCAxOiBHZW5lcmFsIGluZm9ybWF0aW9uIGFuZCB1c2UgY2FzZSBkZWZpbml0aW9ucyIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMTMsIm9yZGVyIjoxMSwidGV4dCI6IklTTy9UUiAxMzE4NC0xOjIwMTMgc3BlY2lmaWVzIGd1aWRhbmNlIGluZm9ybWF0aW9uIHByb3RvY29sIHRvIHByb3ZpZGUgcmVhbC10aW1lIGRlY2lzaW9uIHN1cHBvcnQgc3lzdGVtIHRvIGRyaXZlcnMgb3IgcGVkZXN0cmlhbnMgdXNpbmcgcGVyc29uYWwgSVRTIHN0YXRpb25zOiBhKSBSZWZlcmVuY2UgYXJjaGl0ZWN0dXJlIGZvciByZWFsLXRpbWUgZGVjaXNpb24gc3VwcG9ydCBzeXN0ZW1zIFRoaXMgcmVmZXJlbmNlIGFyY2hpdGVjdHVyZSBwcm92aWRlcyBhIGdlbmVyYWwgc3RydWN0dXJlIGZvciByZWFsLXRpbWUgZGVjaXNpb24gc3VwcG9ydCBzeXN0ZW1zIGFuZCB0aGUgbWV0aG9kIG9mIG1lc3NhZ2UgZXhjaGFuZ2UgYmV0d2VlbiB0aGUgcGVyc29uYWwgSVRTIHN0YXRpb24gYW5kIHRoZSByb2Fkc2lkZSBJVFMgc3RhdGlvbi4gVGhpcyByZWZlcmVuY2UgYXJjaGl0ZWN0dXJlIGlzIHVzZWQgdG8gYnVpbGQgdGhlIGludGVyY29ubmVjdGlvbnMgYmV0d2VlbiBwZXJzb25hbCBJVFMgc3RhdGlvbnMgYW5kIHJvYWRzaWRlIElUUyBzdGF0aW9ucy4gYikgRCBlc2lnbiBtZXRob2Qgb2YgYXBwbGljYXRpb24gcHJvdG9jb2xzIGZvciBsaWdodC13ZWlnaHRlZCBkZXZpY2VzIFRoaXMgbWV0aG9kIGlzIGEgZmxleGlibGUgYXBwbGljYXRpb24gcHJvdG9jb2wgZm9yIHNhZmV0eSB3YXJuaW5nIGFuZCBwYXJraW5nIGd1aWRhbmNlIHNlcnZpY2VzLiBVbmxpa2UgbWFueSBvdGhlciBhcHBsaWNhdGlvbiBwcm90b2NvbHMgaW4gdGhlIElUUyBhbmQgVGVsZW1hdGljcyBkb21haW5zLCB0aGlzIHByb3RvY29sIG1ha2VzIHRoZSBjbGllbnQgcGFydCBpbmRlcGVuZGVudCBvZiB1c2UgY2FzZXMgZm9yIHN1cHBvcnRpbmcgbGlnaHQtd2VpZ2h0ZWQgZGV2aWNlcy4gYykgVXNlIGNhc2VzIGF0IHRoZSByb2FkIGFuZCBwYXJraW5nIGJheXMgZm9yIHdhcm5pbmcgYW5kIHBhcmtpbmcgZ3VpZGUgSVNPL1RSIDEzMTg0LTE6MjAxMyBkZXNjcmliZXMgdGhlIHVzZSBjYXNlcyBhcHBsaWNhYmxlIHRvIHRoZSBjb21tdW5pY2F0aW9uIHNlcnZpY2VzIGJldHdlZW4gcGVyc29uYWwgSVRTIHN0YXRpb25zIGFuZCByb2Fkc2lkZSBJVFMgc3RhdGlvbnMgZm9yIHRoZSBwdXJwb3NlcyBvZiBwcm92aWRpbmcgc2FmZXR5IHdhcm5pbmcgYW5kIHBhcmtpbmcgZ3VpZGFuY2UuICIsIm9iamVjdElEIjoiNTcwMjRfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4vVFIgPGVtPjEzMTwvZW0+ODQtMToyMDEzIEludGVsbGlnZW50IHRyYW5zcG9ydCBzeXN0ZW1zIChJVFMpIOKAlCBHdWlkYW5jZSBwcm90b2NvbCB2aWEgcGVyc29uYWwgSVRTIHN0YXRpb24gZm9yIGFkdmlzb3J5IHNhZmV0eSBzeXN0ZW1zIOKAlCBQYXJ0IDE6IEdlbmVyYWwgaW5mb3JtYXRpb24gYW5kIHVzZSBjYXNlIGRlZmluaXRpb25zIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPi9UUiA8ZW0+MTMxPC9lbT44NC0xOjIwMTMgc3BlY2lmaWVzIGd1aWRhbmNlIGluZm9ybWF0aW9uIHByb3RvY29sIHRvIHByb3ZpZGUgcmVhbC10aW1lIGRlY2lzaW9uIHN1cHBvcnQgc3lzdGVtIHRvIGRyaXZlcnMgb3IgcGVkZXN0cmlhbnMgdXNpbmcgcGVyc29uYWwgSVRTIHN0YXRpb25zOiBhKSBSZWZlcmVuY2UgYXJjaGl0ZWN0dXJlIGZvciByZWFsLXRpbWUgZGVjaXNpb24gc3VwcG9ydCBzeXN0ZW1zIFRoaXMgcmVmZXJlbmNlIGFyY2hpdGVjdHVyZSBwcm92aWRlcyBhIGdlbmVyYWwgc3RydWN0dXJlIGZvciByZWFsLXRpbWUgZGVjaXNpb24gc3VwcG9ydCBzeXN0ZW1zIGFuZCB0aGUgbWV0aG9kIG9mIG1lc3NhZ2UgZXhjaGFuZ2UgYmV0d2VlbiB0aGUgcGVyc29uYWwgSVRTIHN0YXRpb24gYW5kIHRoZSByb2Fkc2lkZSBJVFMgc3RhdGlvbi4gVGhpcyByZWZlcmVuY2UgYXJjaGl0ZWN0dXJlIGlzIHVzZWQgdG8gYnVpbGQgdGhlIGludGVyY29ubmVjdGlvbnMgYmV0d2VlbiBwZXJzb25hbCBJVFMgc3RhdGlvbnMgYW5kIHJvYWRzaWRlIElUUyBzdGF0aW9ucy4gYikgRCBlc2lnbiBtZXRob2Qgb2YgYXBwbGljYXRpb24gcHJvdG9jb2xzIGZvciBsaWdodC13ZWlnaHRlZCBkZXZpY2VzIFRoaXMgbWV0aG9kIGlzIGEgZmxleGlibGUgYXBwbGljYXRpb24gcHJvdG9jb2wgZm9yIHNhZmV0eSB3YXJuaW5nIGFuZCBwYXJraW5nIGd1aWRhbmNlIHNlcnZpY2VzLiBVbmxpa2UgbWFueSBvdGhlciBhcHBsaWNhdGlvbiBwcm90b2NvbHMgaW4gdGhlIElUUyBhbmQgVGVsZW1hdGljcyBkb21haW5zLCB0aGlzIHByb3RvY29sIG1ha2VzIHRoZSBjbGllbnQgcGFydCBpbmRlcGVuZGVudCBvZiB1c2UgY2FzZXMgZm9yIHN1cHBvcnRpbmcgbGlnaHQtd2VpZ2h0ZWQgZGV2aWNlcy4gYykgVXNlIGNhc2VzIGF0IHRoZSByb2FkIGFuZCBwYXJraW5nIGJheXMgZm9yIHdhcm5pbmcgYW5kIHBhcmtpbmcgZ3VpZGUgPGVtPklTTzwvZW0+L1RSIDxlbT4xMzE8L2VtPjg0LTE6MjAxMyBkZXNjcmliZXMgdGhlIHVzZSBjYXNlcyBhcHBsaWNhYmxlIHRvIHRoZSBjb21tdW5pY2F0aW9uIHNlcnZpY2VzIGJldHdlZW4gcGVyc29uYWwgSVRTIHN0YXRpb25zIGFuZCByb2Fkc2lkZSBJVFMgc3RhdGlvbnMgZm9yIHRoZSBwdXJwb3NlcyBvZiBwcm92aWRpbmcgc2FmZXR5IHdhcm5pbmcgYW5kIHBhcmtpbmcgZ3VpZGFuY2UuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fV0sIm5iSGl0cyI6MTc5LCJwYWdlIjowLCJuYlBhZ2VzIjoyLCJoaXRzUGVyUGFnZSI6MTAwLCJleGhhdXN0aXZlTmJIaXRzIjp0cnVlLCJleGhhdXN0aXZlVHlwbyI6dHJ1ZSwicXVlcnkiOiJJU08gMTMxIiwicGFyYW1zIjoicXVlcnk9SVNPKzEzMSZoaXRzUGVyUGFnZT0xMDAmZmlsdGVycz1jYXRlZ29yeSUzQXN0YW5kYXJkIiwicHJvY2Vzc2luZ1RpbWVNUyI6NSwicHJvY2Vzc2luZ1RpbWluZ3NNUyI6eyJhZnRlclNlYXJjaCI6eyJmb3JtYXQiOnsiaGlnaGxpZ2h0aW5nIjozLCJ0b3RhbCI6NH0sInRvdGFsIjo1fSwidG90YWwiOjV9fQ==
61
+ recorded_at: Mon, 22 Aug 2022 14:40:58 GMT
62
62
  - request:
63
63
  method: get
64
64
  uri: https://www.iso.org/contents/data/standard/00/39/3944.html
@@ -86,21 +86,21 @@ http_interactions:
86
86
  Pragma:
87
87
  - no-cache
88
88
  Set-Cookie:
89
- - BIGipServerpool_prod_iso_www-jahia=747131274.36895.0000; path=/; Httponly;
89
+ - BIGipServerpool_prod_iso_www-jahia=730354058.36895.0000; path=/; Httponly;
90
90
  Secure
91
- - JSESSIONID=D6B11188285C8E69FD1E0A130BA8AA3D; Path=/; Secure; HttpOnly
91
+ - JSESSIONID=924C4B66DB5A8201F39A8224128DED0F; Path=/; Secure; HttpOnly
92
92
  Location:
93
93
  - "/standard/3944.html"
94
94
  Content-Length:
95
95
  - '0'
96
96
  Date:
97
- - Thu, 28 Jul 2022 14:51:41 GMT
97
+ - Mon, 22 Aug 2022 14:41:03 GMT
98
98
  Strict-Transport-Security:
99
99
  - max-age=31536000; includeSubDomains
100
100
  body:
101
101
  encoding: UTF-8
102
102
  string: ''
103
- recorded_at: Thu, 28 Jul 2022 14:51:41 GMT
103
+ recorded_at: Mon, 22 Aug 2022 14:41:04 GMT
104
104
  - request:
105
105
  method: get
106
106
  uri: https://www.iso.org/standard/3944.html
@@ -130,7 +130,7 @@ http_interactions:
130
130
  Set-Cookie:
131
131
  - BIGipServerpool_prod_iso_www-jahia=747131274.36895.0000; path=/; Httponly;
132
132
  Secure
133
- - JSESSIONID=F454BA98B261D88D8187343E9780BB8B; Path=/; Secure; HttpOnly
133
+ - JSESSIONID=02FB5988C7FBC2840E63AE0DD0A3439D; Path=/; Secure; HttpOnly
134
134
  Vary:
135
135
  - accept-encoding
136
136
  Content-Type:
@@ -138,12 +138,12 @@ http_interactions:
138
138
  Transfer-Encoding:
139
139
  - chunked
140
140
  Date:
141
- - Thu, 28 Jul 2022 14:51:42 GMT
141
+ - Mon, 22 Aug 2022 14:41:05 GMT
142
142
  Strict-Transport-Security:
143
143
  - max-age=31536000; includeSubDomains
144
144
  body:
145
145
  encoding: ASCII-8BIT
146
146
  string: !binary |-
147
147
  PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KICA8aGVhZD48bGluayByZWw9ImNhbm9uaWNhbCIgaHJlZj0iaHR0cHM6Ly93d3cuaXNvLm9yZy9zdGFuZGFyZC8zOTQ0Lmh0bWwiIC8+CjxsaW5rIHJlbD0iYWx0ZXJuYXRlIiBocmVmbGFuZz0iZnIiIGhyZWY9Imh0dHBzOi8vd3d3Lmlzby5vcmcvZnIvc3RhbmRhcmQvMzk0NC5odG1sIiAvPgogICAgPHNjcmlwdD4KICAgICAgZGF0YUxheWVyID0gW3sKICAgICAgICAncGFnZVR5cGUnOiAnaXRzOnN0YW5kYXJkJywKICAgICAgICAncGFnZUxhbmd1YWdlJzogJ2VuJwogICAgICB9XTsKICAgIDwvc2NyaXB0PgoKICAgIDwhLS0gT25lVHJ1c3QgQ29va2llcyBDb25zZW50IE5vdGljZSBzdGFydCBmb3Igd3d3Lmlzby5vcmcgLS0+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vY2RuLmNvb2tpZWxhdy5vcmcvY29uc2VudC8wOTY0NDkzYS1iMzk2LTQ2ODUtOTE1MC0xOGY3NDlhYmZiZmIvT3RBdXRvQmxvY2suanMiID48L3NjcmlwdD4KPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmNvb2tpZWxhdy5vcmcvc2NyaXB0dGVtcGxhdGVzL290U0RLU3R1Yi5qcyIgZGF0YS1kb2N1bWVudC1sYW5ndWFnZT0idHJ1ZSIgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBjaGFyc2V0PSJVVEYtOCIgZGF0YS1kb21haW4tc2NyaXB0PSIwOTY0NDkzYS1iMzk2LTQ2ODUtOTE1MC0xOGY3NDlhYmZiZmIiID48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgovLyBmdW5jdGlvbiB0byBwdWxsIGNvb2tpZSB2YWx1ZQpmdW5jdGlvbiBnZXRDb29raWUobmFtZSkgewogICAgdmFyIHZhbHVlID0gIjsgIiArIGRvY3VtZW50LmNvb2tpZTsKICAgIHZhciBwYXJ0cyA9IHZhbHVlLnNwbGl0KCI7ICIgKyBuYW1lICsgIj0iKTsKICAgIGlmIChwYXJ0cy5sZW5ndGggPT0gMikgcmV0dXJuIHBhcnRzLnBvcCgpLnNwbGl0KCI7Iikuc2hpZnQoKTsKfQoKZnVuY3Rpb24gT3B0YW5vbldyYXBwZXIoKSB7CiAgICBjb25zb2xlLmxvZygiT3B0YW5vbldyYXBwZXIgY2FsbGVkIik7CgogICAgdmFyIE9BQkNjb29raWVOYW1lID0gIk9wdGFub25BbGVydEJveENsb3NlZCI7CiAgICB2YXIgYmFubmVyQWNjZXB0QnRuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm9uZXRydXN0LWFjY2VwdC1idG4taGFuZGxlciIpOwogICAgdmFyIHBjQWxsb3dBbGxCdG4gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYWNjZXB0LXJlY29tbWVuZGVkLWJ0bi1oYW5kbGVyIik7CiAgICB2YXIgcGNTYXZlQnRuID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgic2F2ZS1wcmVmZXJlbmNlLWJ0bi1oYW5kbGVyIG9uZXRydXN0LWNsb3NlLWJ0bi1oYW5kbGVyIGJ1dHRvbi10aGVtZSIpWzBdOwogICAgdmFyIE9BQkNjb29raWUgPSBnZXRDb29raWUoT0FCQ2Nvb2tpZU5hbWUpOwoKICAgIC8vIElGIGxvZ2ljIG5lZWRlZCBoZXJlIGJlY2F1c2Ugb3QtYmFubmVyLXNkayBESVYgaXMgbm90IGluamVjdGVkIG9uIHBhZ2UgbG9hZHMgaWYgYmFubmVyIGlzIG5vdCBleHBvc2VkCgogICAgaWYgKCFPQUJDY29va2llICYmIGJhbm5lckFjY2VwdEJ0bikgewogICAgICAgIGJhbm5lckFjY2VwdEJ0bi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICBsb2NhdGlvbi5yZWxvYWQoKTsKICAgICAgICB9KTsKICAgIH0KICAgIGlmIChwY0FsbG93QWxsQnRuKQogICAgICAgIHBjQWxsb3dBbGxCdG4uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgbG9jYXRpb24ucmVsb2FkKCk7CiAgICAgICAgfSk7CgogICAgcGNTYXZlQnRuLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oKSB7CiAgICAgICAgbG9jYXRpb24ucmVsb2FkKCk7CiAgICB9KTsKfQo8L3NjcmlwdD4KPCEtLSBPbmVUcnVzdCBDb29raWVzIENvbnNlbnQgTm90aWNlIGVuZCBmb3Igd3d3Lmlzby5vcmcgLS0+Cgo8IS0tIEhvdGphciBUcmFja2luZyBDb2RlIGZvciB3d3cuaXNvLm9yZyAtLT4KPHNjcmlwdCB0eXBlPSJ0ZXh0L3BsYWluIiBjbGFzcz0ib3B0YW5vbi1jYXRlZ29yeS1DMDAwMyI+CiAgICAoZnVuY3Rpb24oaCxvLHQsaixhLHIpewogICAgICAgIGguaGo9aC5oanx8ZnVuY3Rpb24oKXsoaC5oai5xPWguaGoucXx8W10pLnB1c2goYXJndW1lbnRzKX07CiAgICAgICAgaC5faGpTZXR0aW5ncz17aGppZDoyNTEwODA1LGhqc3Y6Nn07CiAgICAgICAgYT1vLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF07CiAgICAgICAgcj1vLmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO3IuYXN5bmM9MTsKICAgICAgICByLnNyYz10K2guX2hqU2V0dGluZ3MuaGppZCtqK2guX2hqU2V0dGluZ3MuaGpzdjsKICAgICAgICBhLmFwcGVuZENoaWxkKHIpOwogICAgfSkod2luZG93LGRvY3VtZW50LCdodHRwczovL3N0YXRpYy5ob3RqYXIuY29tL2MvaG90amFyLScsJy5qcz9zdj0nKTsKPC9zY3JpcHQ+PCEtLSBHb29nbGUgVGFnIE1hbmFnZXIgLS0+CiAgICAgIDxzY3JpcHQ+KGZ1bmN0aW9uKHcsZCxzLGwsaSl7d1tsXT13W2xdfHxbXTt3W2xdLnB1c2goeydndG0uc3RhcnQnOgogICAgICAgICAgbmV3IERhdGUoKS5nZXRUaW1lKCksZXZlbnQ6J2d0bS5qcyd9KTt2YXIgZj1kLmdldEVsZW1lbnRzQnlUYWdOYW1lKHMpWzBdLAogICAgICAgIGo9ZC5jcmVhdGVFbGVtZW50KHMpLGRsPWwhPSdkYXRhTGF5ZXInPycmbD0nK2w6Jyc7ai5hc3luYz10cnVlO2ouc3JjPQogICAgICAgICdodHRwczovL3d3dy5nb29nbGV0YWdtYW5hZ2VyLmNvbS9ndG0uanM/aWQ9JytpK2RsO2YucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoaixmKTsKICAgICAgfSkod2luZG93LGRvY3VtZW50LCdzY3JpcHQnLCdkYXRhTGF5ZXInLCdHVE0tVEZHS1FRQicpOzwvc2NyaXB0PgogICAgICA8IS0tIEVuZCBHb29nbGUgVGFnIE1hbmFnZXIgLS0+CiAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgogICAgPG1ldGEgaHR0cC1lcXVpdj0iWC1VQS1Db21wYXRpYmxlIiBjb250ZW50PSJJRT1lZGdlIj4KICAgIDx0aXRsZT5JU08gLSBJU08gMTMxOjE5NzkgLSBBY291c3RpY3Mg4oCUIEV4cHJlc3Npb24gb2YgcGh5c2ljYWwgYW5kIHN1YmplY3RpdmUgbWFnbml0dWRlcyBvZiBzb3VuZCBvciBub2lzZSBpbiBhaXI8L3RpdGxlPgoKICAgIDwhLS0KICAgICAgPGxpbmsgcmVsPSJwcmVjb25uZWN0IiBocmVmPSJodHRwczovL2Nkbi5pc28ub3JnLyIgY3Jvc3NvcmlnaW4gLz4KICAgICAgPGxpbmsgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0IiBocmVmPSJodHRwczovL2Nkbi5pc28ub3JnL3Jlc291cmNlcy93b29kLzMuMy43L3dvb2QuZnVsbC5taW4uanMiIGNyb3Nzb3JpZ2luIC8+CiAgICAgIDxsaW5rIHJlbD0icHJlbG9hZCIgYXM9InN0eWxlIiBocmVmPSJodHRwczovL2Nkbi5pc28ub3JnL3Jlc291cmNlcy93b29kLzMuMy43L3dvb2QuZnVsbC5taW4uY3NzIiBjcm9zc29yaWdpbiAvPgogICAgICA8bGluayByZWw9InByZWxvYWQiIGFzPSJmb250IiBocmVmPSJodHRwczovL2Nkbi5pc28ub3JnL3Jlc291cmNlcy9mb250cy9ib290c3RyYXAvMy4zLjIvZ2x5cGhpY29ucy1oYWxmbGluZ3MtcmVndWxhci53b2ZmMiIgY3Jvc3NvcmlnaW4gLz4KICAgICAgPGxpbmsgcmVsPSJwcmVsb2FkIiBhcz0iZm9udCIgaHJlZj0iaHR0cHM6Ly9jZG4uaXNvLm9yZy9yZXNvdXJjZXMvZm9udHMvbWV0YXdlYnByby83LjUwNC9NZXRhV2ViUHJvLUJvbGQud29mZiIgY3Jvc3NvcmlnaW4gLz4KICAgICAgPGxpbmsgcmVsPSJwcmVsb2FkIiBhcz0iZm9udCIgaHJlZj0iaHR0cHM6Ly9jZG4uaXNvLm9yZy9yZXNvdXJjZXMvZm9udHMvbWV0YXdlYnByby83LjUwNC9NZXRhV2ViUHJvLU5vcm1hbC53b2ZmIiBjcm9zc29yaWdpbiAvPgogICAgICA8bGluayByZWw9InByZWxvYWQiIGFzPSJmb250IiBocmVmPSJodHRwczovL2Nkbi5pc28ub3JnL3Jlc291cmNlcy9mb250cy9tZXRhd2VicHJvLzcuNTA0L01ldGFXZWJQcm8tTm9ybWFsSXRhLndvZmYiIGNyb3Nzb3JpZ2luIC8+CiAgICAgIC0tPgoKICAgIAo8bGluayByZWw9ImNhbm9uaWNhbCIgaHJlZj0iaHR0cHM6Ly93d3cuaXNvLm9yZy9zdGFuZGFyZC8zOTQ0Lmh0bWwiIC8+CgogICAgPCEtLSBzdGFydCBmYXZpY29ucyAtLT4KICAgIDxsaW5rIHJlbD0iYXBwbGUtdG91Y2gtaWNvbi1wcmVjb21wb3NlZCIgaHJlZj0iaHR0cHM6Ly9jZG4uaXNvLm9yZy9yZXNvdXJjZXMvd29vZC8zLjMuNy9pbWcvaXNvL2Zhdmljb24vcmVkL2FwcGxlLXRvdWNoLWljb24tMTUyeDE1Mi1wcmVjb21wb3NlZC5wbmciPgogICAgPGxpbmsgcmVsPSJzaG9ydGN1dCBpY29uIiBocmVmPSJodHRwczovL2Nkbi5pc28ub3JnL3Jlc291cmNlcy93b29kLzMuMy43L2ltZy9pc28vZmF2aWNvbi9yZWQvZmF2aWNvbi5pY28iPgogICAgPG1ldGEgbmFtZT0ibXNhcHBsaWNhdGlvbi1UaWxlQ29sb3IiIGNvbnRlbnQ9IiNlZWUiPgogICAgPG1ldGEgbmFtZT0ibXNhcHBsaWNhdGlvbi1UaWxlSW1hZ2UiIGNvbnRlbnQ9Imh0dHBzOi8vY2RuLmlzby5vcmcvcmVzb3VyY2VzL3dvb2QvMy4zLjcvaW1nL2lzby9mYXZpY29uL3JlZC9tc3RpbGUtMTQ0eDE0NC5wbmciPgogICAgPCEtLSBlbmQgZmF2aWNvbnMgLS0+CgogICAgPG1ldGEgbmFtZT0idGhlbWUtY29sb3IiIGNvbnRlbnQ9IiMzMzMiPgoKICAKPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi9qc29uIiBpZD0iamFoaWEtZGF0YS1jdHgiPnsiY29udGV4dFBhdGgiOiIiLCJsYW5nIjoiZW4iLCJ1aWxhbmciOiJlbiIsInNpdGVVdWlkIjoiNDM5MTQ2ZjgtNjc3ZS00ZGRlLWI2YzYtYjY5MmI3NTM0ZjUyIiwid2NhZyI6ZmFsc2UsImNrZUNmZyI6IiJ9PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24vanNvbiIgaWQ9ImphaGlhLWRhdGEtY2siPnsicGF0aCI6Ii9tb2R1bGVzL2NrZWRpdG9yL2phdmFzY3JpcHQvIiwibG5nIjoiZW5fVVMifTwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0iL2phdmFzY3JpcHQvaW5pdEphaGlhQ29udGV4dC5qcyI+PC9zY3JpcHQ+CjxsaW5rIGlkPSJzdGF0aWNBc3NldENTUzAiIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9jZG4uaXNvLm9yZy9yZXNvdXJjZXMvd29vZC8zLjMuNy93b29kLmZ1bGwubWluLmNzcyIgbWVkaWE9InNjcmVlbixwcmludCxoYW5kaGVsZCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgaWQ9InN0YXRpY0Fzc2V0Q1NTMSIgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvbW9kdWxlcy9hc3NldHMvY3NzL2xhbmd1YWdlU3dpdGNoaW5nTGlua3MuY3NzPzE1ODg2MDQ1MzU3NTgiIG1lZGlhPSJzY3JlZW4iIHR5cGU9InRleHQvY3NzIi8+CjxsaW5rIGlkPSJzdGF0aWNBc3NldENTUzIiIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL21vZHVsZXMvaXNvLWphaGlhLXNlcnZpY2UtbW9kdWxlL2Nzcy9jYXRhbG9ndWUuY3NzPzE2NTcwMjgxMjYyNjciIG1lZGlhPSJzY3JlZW4iIHR5cGU9InRleHQvY3NzIi8+CjxzY3JpcHQgaWQ9InN0YXRpY0Fzc2V0SmF2YXNjcmlwdDAiIHNyYz0iaHR0cHM6Ly9jZG4uaXNvLm9yZy9yZXNvdXJjZXMvd29vZC8zLjMuNy93b29kLmZ1bGwubWluLmpzIiAgPjwvc2NyaXB0Pgo8c2NyaXB0IGlkPSJzdGF0aWNBc3NldEphdmFzY3JpcHQxIiBzcmM9Ii9tb2R1bGVzL2lzby1qYWhpYS1zZXJ2aWNlLW1vZHVsZS9qYXZhc2NyaXB0L2NhdGFsb2d1ZS5qcz8xNjU3MDI4MTI2MjY3IiAgPjwvc2NyaXB0Pgo8c2NyaXB0IGlkPSJzdGF0aWNBc3NldEphdmFzY3JpcHQyIiBzcmM9Ii9tb2R1bGVzL2lzb29yZy10ZW1wbGF0ZS9qYXZhc2NyaXB0L2N1c3RvbS5qcz8xNjQ4NTQ4MzA0ODM4IiAgPjwvc2NyaXB0Pgo8bWV0YSBuYW1lPSJjYXRlZ29yeSIgY29udGVudD0idyIgLz4KICA8bWV0YSBuYW1lPSJwdWJkYXRlIiBjb250ZW50PSIxOTk2MDMwNyIgLz4KICAKPCEtLSBUd2l0dGVyIENhcmQgZGF0YSAtLT4KICA8bWV0YSBuYW1lPSJ0d2l0dGVyOnNpdGUiIGNvbnRlbnQ9IkBpc29zdGFuZGFyZHMiIC8+CgogIDwhLS0gT3BlbiBHcmFwaCBkYXRhIC0tPgogIDxtZXRhIHByb3BlcnR5PSJvZzpzaXRlX25hbWUiIGNvbnRlbnQ9IklTTyIgLz4KICA8bWV0YSBwcm9wZXJ0eT0ib2c6dXJsIiBjb250ZW50PSJodHRwczovL3d3dy5pc28ub3JnL2Ntcy9yZW5kZXIvbGl2ZS9lbi9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wMC8zOS8zOTQ0Lmh0bWwiIC8+CiAgPG1ldGEgcHJvcGVydHk9Im9nOnR5cGUiIGNvbnRlbnQ9IndlYnNpdGUiIC8+CiAgPCEtLSBUaHVtYm5haWwgaW1hZ2UgKGZvciB0d2l0dGVyIGFuZCBPcGVuIEdyYXBoKSAtLT4KICAgIDxtZXRhIG5hbWU9InRodW1ibmFpbCIgY29udGVudD0iaHR0cHM6Ly9jZG4uaXNvLm9yZy9yZXNvdXJjZXMvd29vZC8zLjMuMy9pbWcvaXNvL2lzby1sb2dvLXByaW50LmdpZiIgLz4KICAgIDxtZXRhIG5hbWU9InR3aXR0ZXI6Y2FyZCIgY29udGVudD0ic3VtbWFyeSIgLz4KICAgIDxtZXRhIG5hbWU9InR3aXR0ZXI6aW1hZ2UiIGNvbnRlbnQ9Imh0dHBzOi8vY2RuLmlzby5vcmcvcmVzb3VyY2VzL3dvb2QvMy4zLjMvaW1nL2lzby9pc28tbG9nby1wcmludC5naWYiIC8+CiAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6aW1hZ2UiIGNvbnRlbnQ9Imh0dHBzOi8vY2RuLmlzby5vcmcvcmVzb3VyY2VzL3dvb2QvMy4zLjMvaW1nL2lzby9pc28tbG9nby1wcmludC5naWYiIC8+CiAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6aW1hZ2U6YWx0IiBjb250ZW50PSJJU08gbG9nbyIgLz4KICA8IS0tIFRpdGxlIChmb3IgdHdpdHRlciBhbmQgT3BlbiBHcmFwaCkgLS0+CiAgICA8bWV0YSBuYW1lPSJ0d2l0dGVyOnRpdGxlIiBjb250ZW50PSJJU08gMTMxOjE5NzkiIC8+CiAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6dGl0bGUiIGNvbnRlbnQ9IklTTyAxMzE6MTk3OSIgLz4KICA8IS0tIERlc2NyaXB0aW9uIChmb3IgZ29vZ2xlLCB0d2l0dGVyIGFuZCBPcGVuIEdyYXBoKSAtLT4KICAgIDxtZXRhIG5hbWU9InR3aXR0ZXI6ZGVzY3JpcHRpb24iIGNvbnRlbnQ9IkFjb3VzdGljcyDigJQgRXhwcmVzc2lvbiBvZiBwaHlzaWNhbCBhbmQgc3ViamVjdGl2ZSBtYWduaXR1ZGVzIG9mIHNvdW5kIG9yIG5vaXNlIGluIGFpciIgLz4KICAgIDxtZXRhIHByb3BlcnR5PSJvZzpkZXNjcmlwdGlvbiIgY29udGVudD0iQWNvdXN0aWNzIOKAlCBFeHByZXNzaW9uIG9mIHBoeXNpY2FsIGFuZCBzdWJqZWN0aXZlIG1hZ25pdHVkZXMgb2Ygc291bmQgb3Igbm9pc2UgaW4gYWlyIiAvPgogICAgPG1ldGEgbmFtZT0iZGVzY3JpcHRpb24iIGNvbnRlbnQ9IkFjb3VzdGljcyDigJQgRXhwcmVzc2lvbiBvZiBwaHlzaWNhbCBhbmQgc3ViamVjdGl2ZSBtYWduaXR1ZGVzIG9mIHNvdW5kIG9yIG5vaXNlIGluIGFpciIgLz4KICA8IS0tIEZhY2Vib29rIGFkbWlucyA6IExpb25lbCxNYXJpYSAtLT4KICA8bWV0YSBwcm9wZXJ0eT0iZmI6YWRtaW5zIiBjb250ZW50PSIxMDAwMDExMTYwNzk2NzYsMTAwMDAxNDQwMDAzMzA1IiAvPgoKICAKCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii9tb2R1bGVzL0NzcmZTZXJ2bGV0Ij48L3NjcmlwdD4KPC9oZWFkPgogIDxib2R5IGNsYXNzPSJ0aGVtZS1yZWQiIGlkPSJvZmZjYW52YXMtY29udGVudCI+CiAgICA8IS0tIEdvb2dsZSBUYWcgTWFuYWdlciAobm9zY3JpcHQpIC0tPgogICAgICA8bm9zY3JpcHQgYXJpYS1oaWRkZW49InRydWUiPjxpZnJhbWUgc3JjPSJodHRwczovL3d3dy5nb29nbGV0YWdtYW5hZ2VyLmNvbS9ucy5odG1sP2lkPUdUTS1URkdLUVFCIiBoZWlnaHQ9IjAiIHdpZHRoPSIwIiBzdHlsZT0iZGlzcGxheTpub25lO3Zpc2liaWxpdHk6aGlkZGVuIj48L2lmcmFtZT48L25vc2NyaXB0PgogICAgICA8IS0tIEVuZCBHb29nbGUgVGFnIE1hbmFnZXIgKG5vc2NyaXB0KSAtLT4KICAgIDxhIGNsYXNzPSJza2lwLW5hdmlnYXRpb24gYnRuIGJ0bi1pbmZvIHNyLW9ubHkgc3Itb25seS1mb2N1c2FibGUiIGhyZWY9IiNjb250ZW50Ij5Ta2lwIHRvIG1haW4gY29udGVudDwvYT4KICAgIDwhLS0gSGVhZGVyIElTTy5PUkcgLS0+CiAgICA8aGVhZGVyIHJvbGU9ImJhbm5lciIgYXJpYS1sYWJlbD0iSGVhZGVyIiBjbGFzcz0idGhlbWUtcmVkIGhlYWRlci1hY2VyICIgaWQ9InBhZ2UtdG9wIj4KICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJuYXZiYXIgbmF2YmFyLWludmVyc2UgbmF2YmFyLWZpeGVkLXRvcCBuYXZiYXItZGVmYXVsdCBuYXZiYXItYWNlciB0aGVtZS1yZWQiIGRhdGEtc3B5PSJhZmZpeCIgZGF0YS1vZmZzZXQtdG9wPSIyMDAiPgogICAgICAgICAgPGJ1dHRvbiByb2xlPSJidXR0b24iIGlkPSJvZmZjYW52YXMtYnRuIiBjbGFzcz0iYnRuIGJ0bi10cmFuc3BhcmVudCBwdWxsLXJpZ2h0IiBkYXRhLXRvZ2dsZT0ib3Blbi1vZmZjYW52YXMiPjxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLW1lbnUtaGFtYnVyZ2VyIj48L3NwYW4+PHNwYW4gY2xhc3M9ImhpZGRlbi14eHMiPiBNZW51PC9zcGFuPjwvYnV0dG9uPgoKICAgICAgICAgIDwhLS0gU0lERSBOQVZJR0FUSU9OIC0tPgogICAgICAgICAgPG5hdiByb2xlPSJuYXZpZ2F0aW9uIiBhcmlhLWxhYmVsPSJTaWRlIE5hdmlnYXRpb24iIGNsYXNzPSJzaWRlbmF2IiBpZD0ib2ZmY2FudmFzLXBhbmVsIj48dWwgcm9sZT0ibWVudWJhciIgY2xhc3M9Im5hdiBuYXZiYXItbmF2IG5hdi1sZXZlbDEiPjxsaSByb2xlPSJub25lIiBjbGFzcz0iaGFzQ2hpbGRyZW4gZHJvcGRvd24gZmlyc3RJbkxldmVsIj48YSByb2xlPSJtZW51aXRlbSIgaHJlZj0iL3N0YW5kYXJkcy5odG1sIiBjbGFzcz0iZHJvcGRvd24tdG9nZ2xlIiByb2xlPSJidXR0b24iPlN0YW5kYXJkczwvYT48dWwgcm9sZT0ibWVudSIgY2xhc3M9Im5hdiBuYXZiYXItbmF2IG5hdi1sZXZlbDIgZHJvcGRvd24tbWVudSI+PGxpIHJvbGU9Im5vbmUiIGNsYXNzPSJoYXNDaGlsZHJlbiBkcm9wZG93biBmaXJzdEluTGV2ZWwiPjxhIHJvbGU9Im1lbnVpdGVtIiBocmVmPSIvYmVuZWZpdHMtb2Ytc3RhbmRhcmRzLmh0bWwiIGNsYXNzPSJkcm9wZG93bi10b2dnbGUiIHJvbGU9ImJ1dHRvbiI+QmVuZWZpdHM8L2E+PHVsIHJvbGU9Im1lbnUiIGNsYXNzPSJuYXYgbmF2YmFyLW5hdiBuYXYtbGV2ZWwzIGRyb3Bkb3duLW1lbnUiPjxsaSByb2xlPSJub25lIiBjbGFzcz0ibm9DaGlsZHJlbiBmaXJzdEluTGV2ZWwiPjxhIHJvbGU9Im1lbnVpdGVtIiBocmVmPSIvaXNvLWFuZC1zbWVzLmh0bWwiIGNsYXNzPSJkcm9wZG93bi10b2dnbGUiIHJvbGU9ImJ1dHRvbiI+U01FczwvYT48L2xpPjxsaSByb2xlPSJub25lIiBjbGFzcz0ibm9DaGlsZHJlbiI+PGEgcm9sZT0ibWVudWl0ZW0iIGhyZWY9Ii9pc28tYW5kLWNvbnN1bWVycy5odG1sIiBjbGFzcz0iZHJvcGRvd24tdG9nZ2xlIiByb2xlPSJidXR0b24iPkNvbnN1bWVyczwvYT48L2xpPjxsaSByb2xlPSJub25lIiBjbGFzcz0ibm9DaGlsZHJlbiI+PGEgcm9sZT0ibWVudWl0ZW0iIGhyZWY9Ii9pc28tYW5kLXBvbGljeS1tYWtlcnMuaHRtbCIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSIgcm9sZT0iYnV0dG9uIj5JU08gYW5kIHBvbGljeSBtYWtlcnM8L2E+PC9saT48bGkgcm9sZT0ibm9uZSIgY2xhc3M9Im5vQ2hpbGRyZW4gbGFzdEluTGV2ZWwiPjxhIHJvbGU9Im1lbnVpdGVtIiBocmVmPSIvc3RhbmRhcmRzLWluLWFjdGlvbi5odG1sIiBjbGFzcz0iZHJvcGRvd24tdG9nZ2xlIiByb2xlPSJidXR0b24iPlN0YW5kYXJkcyBpbiBhY3Rpb248L2E+PC9saT48L3VsPjwhLS0gY2xvc2Ugb2YgdWwgbGV2ZWwgLS0+PC9saT48bGkgcm9sZT0ibm9uZSIgY2xhc3M9Im5vQ2hpbGRyZW4iPjxhIHJvbGU9Im1lbnVpdGVtIiBocmVmPSIvcG9wdWxhci1zdGFuZGFyZHMuaHRtbCIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSIgcm9sZT0iYnV0dG9uIj5Qb3B1bGFyIHN0YW5kYXJkczwvYT48L2xpPjxsaSByb2xlPSJub25lIiBjbGFzcz0iaGFzQ2hpbGRyZW4gZHJvcGRvd24iPjxhIHJvbGU9Im1lbnVpdGVtIiBocmVmPSIvY29uZm9ybWl0eS1hc3Nlc3NtZW50Lmh0bWwiIGNsYXNzPSJkcm9wZG93bi10b2dnbGUiIHJvbGU9ImJ1dHRvbiI+Q2VydGlmaWNhdGlvbiAmIGNvbmZvcm1pdHk8L2E+PHVsIHJvbGU9Im1lbnUiIGNsYXNzPSJuYXYgbmF2YmFyLW5hdiBuYXYtbGV2ZWwzIGRyb3Bkb3duLW1lbnUiPjxsaSByb2xlPSJub25lIiBjbGFzcz0ibm9DaGlsZHJlbiBmaXJzdEluTGV2ZWwiPjxhIHJvbGU9Im1lbnVpdGVtIiBocmVmPSIvY2VydGlmaWNhdGlvbi5odG1sIiBjbGFzcz0iZHJvcGRvd24tdG9nZ2xlIiByb2xlPSJidXR0b24iPkNlcnRpZmljYXRpb248L2E+PC9saT48bGkgcm9sZT0ibm9uZSIgY2xhc3M9Im5vQ2hpbGRyZW4iPjxhIHJvbGU9Im1lbnVpdGVtIiBocmVmPSIvY2FzY28uaHRtbCIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSIgcm9sZT0iYnV0dG9uIj5DQVNDTzwvYT48L2xpPjxsaSByb2xlPSJub25lIiBjbGFzcz0ibm9DaGlsZHJlbiI+PGEgcm9sZT0ibWVudWl0ZW0iIGhyZWY9Ii90aGUtaXNvLXN1cnZleS5odG1sIiBjbGFzcz0iZHJvcGRvd24tdG9nZ2xlIiByb2xlPSJidXR0b24iPlRoZSBJU08gU3VydmV5PC9hPjwvbGk+PGxpIHJvbGU9Im5vbmUiIGNsYXNzPSJub0NoaWxkcmVuIGxhc3RJbkxldmVsIj48YSByb2xlPSJtZW51aXRlbSIgaHJlZj0iL3Jlc291cmNlcy1mb3ItY29uZm9ybWl0eS1hc3Nlc3NtZW50Lmh0bWwiIGNsYXNzPSJkcm9wZG93bi10b2dnbGUiIHJvbGU9ImJ1dHRvbiI+UmVzb3VyY2VzPC9hPjwvbGk+PC91bD48IS0tIGNsb3NlIG9mIHVsIGxldmVsIC0tPjwvbGk+PGxpIHJvbGU9Im5vbmUiIGNsYXNzPSJub0NoaWxkcmVuIGxhc3RJbkxldmVsIj48YSByb2xlPSJtZW51aXRlbSIgaHJlZj0iL3NkZ3MuaHRtbCIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSIgcm9sZT0iYnV0dG9uIj5TREdzPC9hPjwvbGk+PC91bD48IS0tIGNsb3NlIG9mIHVsIGxldmVsIC0tPjwvbGk+PGxpIHJvbGU9Im5vbmUiIGNsYXNzPSJoYXNDaGlsZHJlbiBkcm9wZG93biI+PGEgcm9sZT0ibWVudWl0ZW0iIGhyZWY9Ii9hYm91dC11cy5odG1sIiBjbGFzcz0iZHJvcGRvd24tdG9nZ2xlIiByb2xlPSJidXR0b24iPkFib3V0IHVzPC9hPjx1bCByb2xlPSJtZW51IiBjbGFzcz0ibmF2IG5hdmJhci1uYXYgbmF2LWxldmVsMiBkcm9wZG93bi1tZW51Ij48bGkgcm9sZT0ibm9uZSIgY2xhc3M9Imhhc0NoaWxkcmVuIGRyb3Bkb3duIGZpcnN0SW5MZXZlbCI+PGEgcm9sZT0ibWVudWl0ZW0iIGhyZWY9Ii93aGF0LXdlLWRvLmh0bWwiIGNsYXNzPSJkcm9wZG93bi10b2dnbGUiIHJvbGU9ImJ1dHRvbiI+V2hhdCB3ZSBkbzwvYT48dWwgcm9sZT0ibWVudSIgY2xhc3M9Im5hdiBuYXZiYXItbmF2IG5hdi1sZXZlbDMgZHJvcGRvd24tbWVudSI+PGxpIHJvbGU9Im5vbmUiIGNsYXNzPSJub0NoaWxkcmVuIGZpcnN0SW5MZXZlbCI+PGEgcm9sZT0ibWVudWl0ZW0iIGhyZWY9Ii9kZXZlbG9waW5nLXN0YW5kYXJkcy5odG1sIiAgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSIgcm9sZT0iYnV0dG9uIj5EZXZlbG9waW5nIHN0YW5kYXJkczwvYT48L2xpPjxsaSByb2xlPSJub25lIiBjbGFzcz0iaGFzQ2hpbGRyZW4gZHJvcGRvd24iPjxhIHJvbGU9Im1lbnVpdGVtIiBocmVmPSIvcmVzZWFyY2gtYW5kLWVkdWNhdGlvbi5odG1sIiBjbGFzcz0iZHJvcGRvd24tdG9nZ2xlIiByb2xlPSJidXR0b24iPlJlc2VhcmNoPC9hPjx1bCByb2xlPSJtZW51IiBjbGFzcz0ibmF2IG5hdmJhci1uYXYgbmF2LWxldmVsNCBkcm9wZG93bi1tZW51Ij48bGkgcm9sZT0ibm9uZSIgY2xhc3M9Im5vQ2hpbGRyZW4gZmlyc3RJbkxldmVsIj48YSByb2xlPSJtZW51aXRlbSIgaHJlZj0iI2dyYW50IiAgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSIgcm9sZT0iYnV0dG9uIj5HcmFudDwvYT48L2xpPjxsaSByb2xlPSJub25lIiBjbGFzcz0ibm9DaGlsZHJlbiI+PGEgcm9sZT0ibWVudWl0ZW0iIGhyZWY9IiNmb3Jlc2lnaHQiICBjbGFzcz0iZHJvcGRvd24tdG9nZ2xlIiByb2xlPSJidXR0b24iPkZvcmVzaWdodDwvYT48L2xpPjxsaSByb2xlPSJub25lIiBjbGFzcz0ibm9DaGlsZHJlbiI+PGEgcm9sZT0ibWVudWl0ZW0iIGhyZWY9IiNsaWJyYXJ5IiAgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSIgcm9sZT0iYnV0dG9uIj5MaWJyYXJ5PC9hPjwvbGk+PC91bD48IS0tIGNsb3NlIG9mIHVsIGxldmVsIC0tPjwvbGk+PGxpIHJvbGU9Im5vbmUiIGNsYXNzPSJub0NoaWxkcmVuIj48YSByb2xlPSJtZW51aXRlbSIgaHJlZj0iL2NhcGFjaXR5LWJ1aWxkaW5nLmh0bWwiIGNsYXNzPSJkcm9wZG93bi10b2dnbGUiIHJvbGU9ImJ1dHRvbiI+Q2FwYWNpdHkgYnVpbGRpbmc8L2E+PC9saT48bGkgcm9sZT0ibm9uZSIgY2xhc3M9Im5vQ2hpbGRyZW4gbGFzdEluTGV2ZWwiPjxhIHJvbGU9Im1lbnVpdGVtIiBocmVmPSIvZWR1Y2F0aW9uLWFib3V0LXN0YW5kYXJkcy5odG1sIiBjbGFzcz0iZHJvcGRvd24tdG9nZ2xlIiByb2xlPSJidXR0b24iPkVkdWNhdGlvbiBhYm91dCBzdGFuZGFyZHM8L2E+PC9saT48L3VsPjwhLS0gY2xvc2Ugb2YgdWwgbGV2ZWwgLS0+PC9saT48bGkgcm9sZT0ibm9uZSIgY2xhc3M9Im5vQ2hpbGRyZW4iPjxhIHJvbGU9Im1lbnVpdGVtIiBocmVmPSIvc3RydWN0dXJlLmh0bWwiIGNsYXNzPSJkcm9wZG93bi10b2dnbGUiIHJvbGU9ImJ1dHRvbiI+U3RydWN0dXJlPC9hPjwvbGk+PGxpIHJvbGU9Im5vbmUiIGNsYXNzPSJub0NoaWxkcmVuIj48YSByb2xlPSJtZW51aXRlbSIgaHJlZj0iL21lbWJlcnMuaHRtbCIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSIgcm9sZT0iYnV0dG9uIj5NZW1iZXJzPC9hPjwvbGk+PGxpIHJvbGU9Im5vbmUiIGNsYXNzPSJub0NoaWxkcmVuIj48YSByb2xlPSJtZW51aXRlbSIgaHJlZj0iL2Fubm91bmNlbWVudHMuaHRtbCIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSIgcm9sZT0iYnV0dG9uIj5Bbm5vdW5jZW1lbnRzPC9hPjwvbGk+PGxpIHJvbGU9Im5vbmUiIGNsYXNzPSJoYXNDaGlsZHJlbiBkcm9wZG93biBsYXN0SW5MZXZlbCI+PGEgcm9sZT0ibWVudWl0ZW0iIGhyZWY9Ii9zdHJhdGVneTIwMzAuaHRtbCIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSIgcm9sZT0iYnV0dG9uIj5TdHJhdGVneTwvYT48dWwgcm9sZT0ibWVudSIgY2xhc3M9Im5hdiBuYXZiYXItbmF2IG5hdi1sZXZlbDMgZHJvcGRvd24tbWVudSI+PGxpIHJvbGU9Im5vbmUiIGNsYXNzPSJub0NoaWxkcmVuIj48YSByb2xlPSJtZW51aXRlbSIgaHJlZj0iL3N0cmF0ZWd5MjAzMC9kcml2ZXJzLW9mLWNoYW5nZS5odG1sIiBjbGFzcz0iZHJvcGRvd24tdG9nZ2xlIiByb2xlPSJidXR0b24iPkRyaXZlcnMgb2YgY2hhbmdlPC9hPjwvbGk+PGxpIHJvbGU9Im5vbmUiIGNsYXNzPSJub0NoaWxkcmVuIj48YSByb2xlPSJtZW51aXRlbSIgaHJlZj0iL3N0cmF0ZWd5MjAzMC9vdXItZ29hbHMuaHRtbCIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSIgcm9sZT0iYnV0dG9uIj5PdXIgZ29hbHM8L2E+PC9saT48bGkgcm9sZT0ibm9uZSIgY2xhc3M9Im5vQ2hpbGRyZW4iPjxhIHJvbGU9Im1lbnVpdGVtIiBocmVmPSIvc3RyYXRlZ3kyMDMwL3ByaW9yaXRpZXMuaHRtbCIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSIgcm9sZT0iYnV0dG9uIj5Qcmlvcml0aWVzPC9hPjwvbGk+PGxpIHJvbGU9Im5vbmUiIGNsYXNzPSJub0NoaWxkcmVuIj48YSByb2xlPSJtZW51aXRlbSIgaHJlZj0iL3N0cmF0ZWd5MjAzMC9rZXktYXJlYXMtb2Ytd29yay5odG1sIiBjbGFzcz0iZHJvcGRvd24tdG9nZ2xlIiByb2xlPSJidXR0b24iPktleSBhcmVhcyBvZiB3b3JrPC9hPjwvbGk+PGxpIHJvbGU9Im5vbmUiIGNsYXNzPSJub0NoaWxkcmVuIGxhc3RJbkxldmVsIj48YSByb2xlPSJtZW51aXRlbSIgaHJlZj0iL3N0cmF0ZWd5MjAzMC9tZWFzdXJpbmctc3VjY2Vzcy5odG1sIiBjbGFzcz0iZHJvcGRvd24tdG9nZ2xlIiByb2xlPSJidXR0b24iPk1lYXN1cmluZyBzdWNjZXNzPC9hPjwvbGk+PC91bD48IS0tIGNsb3NlIG9mIHVsIGxldmVsIC0tPjwvbGk+PC91bD48IS0tIGNsb3NlIG9mIHVsIGxldmVsIC0tPjwvbGk+PGxpIHJvbGU9Im5vbmUiIGNsYXNzPSJoYXNDaGlsZHJlbiBkcm9wZG93biI+PGEgcm9sZT0ibWVudWl0ZW0iIGhyZWY9Ii9uZXdzLmh0bWwiIGNsYXNzPSJkcm9wZG93bi10b2dnbGUiIHJvbGU9ImJ1dHRvbiI+TmV3czwvYT48dWwgcm9sZT0ibWVudSIgY2xhc3M9Im5hdiBuYXZiYXItbmF2IG5hdi1sZXZlbDIgZHJvcGRvd24tbWVudSI+PGxpIHJvbGU9Im5vbmUiIGNsYXNzPSJub0NoaWxkcmVuIj48YSByb2xlPSJtZW51aXRlbSIgaHJlZj0iL2V2ZW50cy5odG1sIiBjbGFzcz0iZHJvcGRvd24tdG9nZ2xlIiByb2xlPSJidXR0b24iPkV2ZW50czwvYT48L2xpPjxsaSByb2xlPSJub25lIiBjbGFzcz0ibm9DaGlsZHJlbiI+PGEgcm9sZT0ibWVudWl0ZW0iIGhyZWY9Ii9tZWRpYS1raXQuaHRtbCIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSIgcm9sZT0iYnV0dG9uIj5NZWRpYSBraXQ8L2E+PC9saT48L3VsPjwhLS0gY2xvc2Ugb2YgdWwgbGV2ZWwgLS0+PC9saT48bGkgcm9sZT0ibm9uZSIgY2xhc3M9Imhhc0NoaWxkcmVuIGRyb3Bkb3duIj48YSByb2xlPSJtZW51aXRlbSIgaHJlZj0iL2RldmVsb3Bpbmctc3RhbmRhcmRzLmh0bWwiIGNsYXNzPSJkcm9wZG93bi10b2dnbGUiIHJvbGU9ImJ1dHRvbiI+VGFraW5nIHBhcnQ8L2E+PHVsIHJvbGU9Im1lbnUiIGNsYXNzPSJuYXYgbmF2YmFyLW5hdiBuYXYtbGV2ZWwyIGRyb3Bkb3duLW1lbnUiPjxsaSByb2xlPSJub25lIiBjbGFzcz0iaGFzQ2hpbGRyZW4gZHJvcGRvd24gZmlyc3RJbkxldmVsIj48YSByb2xlPSJtZW51aXRlbSIgaHJlZj0iL3doby1kZXZlbG9wcy1zdGFuZGFyZHMuaHRtbCIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSIgcm9sZT0iYnV0dG9uIj5XaG8gZGV2ZWxvcHMgc3RhbmRhcmRzPC9hPjx1bCByb2xlPSJtZW51IiBjbGFzcz0ibmF2IG5hdmJhci1uYXYgbmF2LWxldmVsMyBkcm9wZG93bi1tZW51Ij48bGkgcm9sZT0ibm9uZSIgY2xhc3M9Im5vQ2hpbGRyZW4gZmlyc3RJbkxldmVsIj48YSByb2xlPSJtZW51aXRlbSIgaHJlZj0iL3RlY2huaWNhbC1jb21taXR0ZWVzLmh0bWwiIGNsYXNzPSJkcm9wZG93bi10b2dnbGUiIHJvbGU9ImJ1dHRvbiI+VGVjaG5pY2FsIENvbW1pdHRlZXM8L2E+PC9saT48bGkgcm9sZT0ibm9uZSIgY2xhc3M9Im5vQ2hpbGRyZW4iPjxhIHJvbGU9Im1lbnVpdGVtIiBocmVmPSIvb3RoZXItYm9kaWVzLWRldmVsb3Bpbmctc3RhbmRhcmRzLmh0bWwiIGNsYXNzPSJkcm9wZG93bi10b2dnbGUiIHJvbGU9ImJ1dHRvbiI+T3RoZXIgYm9kaWVzPC9hPjwvbGk+PGxpIHJvbGU9Im5vbmUiIGNsYXNzPSJub0NoaWxkcmVuIGxhc3RJbkxldmVsIj48YSByb2xlPSJtZW51aXRlbSIgaHJlZj0iL29yZ2FuaXphdGlvbnMtaW4tY29vcGVyYXRpb24td2l0aC1pc28uaHRtbCIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSIgcm9sZT0iYnV0dG9uIj5Pcmdhbml6YXRpb25zIGluIGNvb3BlcmF0aW9uPC9hPjwvbGk+PC91bD48IS0tIGNsb3NlIG9mIHVsIGxldmVsIC0tPjwvbGk+PGxpIHJvbGU9Im5vbmUiIGNsYXNzPSJub0NoaWxkcmVuIj48YSByb2xlPSJtZW51aXRlbSIgaHJlZj0iL2RlbGl2ZXJhYmxlcy1hbGwuaHRtbCIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSIgcm9sZT0iYnV0dG9uIj5EZWxpdmVyYWJsZXM8L2E+PC9saT48bGkgcm9sZT0ibm9uZSIgY2xhc3M9Im5vQ2hpbGRyZW4iPjxhIHJvbGU9Im1lbnVpdGVtIiBocmVmPSIvZ2V0LWludm9sdmVkLmh0bWwiIGNsYXNzPSJkcm9wZG93bi10b2dnbGUiIHJvbGU9ImJ1dHRvbiI+R2V0IGludm9sdmVkPC9hPjwvbGk+PGxpIHJvbGU9Im5vbmUiIGNsYXNzPSJub0NoaWxkcmVuIj48YSByb2xlPSJtZW51aXRlbSIgaHJlZj0iL0NsaW1hdGVBY3Rpb24uaHRtbCIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSIgcm9sZT0iYnV0dG9uIj5DbGltYXRlIGFjdGlvbiBraXQ8L2E+PC9saT48bGkgcm9sZT0ibm9uZSIgY2xhc3M9Im5vQ2hpbGRyZW4gbGFzdEluTGV2ZWwiPjxhIHJvbGU9Im1lbnVpdGVtIiBocmVmPSIvcmVzb3VyY2VzLmh0bWwiIGNsYXNzPSJkcm9wZG93bi10b2dnbGUiIHJvbGU9ImJ1dHRvbiI+UmVzb3VyY2VzPC9hPjwvbGk+PC91bD48IS0tIGNsb3NlIG9mIHVsIGxldmVsIC0tPjwvbGk+PGxpIHJvbGU9Im5vbmUiIGNsYXNzPSJoYXNDaGlsZHJlbiBkcm9wZG93biBpblBhdGggbGFzdEluTGV2ZWwiPjxhIHJvbGU9Im1lbnVpdGVtIiBocmVmPSIvc3RvcmUuaHRtbCIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSIgcm9sZT0iYnV0dG9uIj5TdG9yZTwvYT48dWwgcm9sZT0ibWVudSIgY2xhc3M9Im5hdiBuYXZiYXItbmF2IG5hdi1sZXZlbDIgZHJvcGRvd24tbWVudSI+PGxpIHJvbGU9Im5vbmUiIGNsYXNzPSJub0NoaWxkcmVuIGluUGF0aCBhY3RpdmUgZmlyc3RJbkxldmVsIj48YSByb2xlPSJtZW51aXRlbSIgaHJlZj0iL3N0YW5kYXJkcy1jYXRhbG9ndWUvYnJvd3NlLWJ5LWljcy5odG1sIiAgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSIgcm9sZT0iYnV0dG9uIj5TdGFuZGFyZHMgY2F0YWxvZ3VlPC9hPjwvbGk+PGxpIHJvbGU9Im5vbmUiIGNsYXNzPSJub0NoaWxkcmVuIj48YSByb2xlPSJtZW51aXRlbSIgaHJlZj0iL3B1YmxpY2F0aW9uLWxpc3QuaHRtbCIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSIgcm9sZT0iYnV0dG9uIj5QdWJsaWNhdGlvbnMgYW5kIHByb2R1Y3RzPC9hPjwvbGk+PGxpIHJvbGU9Im5vbmUiIGNsYXNzPSJub0NoaWxkcmVuIGxhc3RJbkxldmVsIj48YSByb2xlPSJtZW51aXRlbSIgaHJlZj0iaHR0cHM6Ly93d3cuaXNvLm9yZy9vYnAvdWkvI2FjY291bnQvcHJvZHVjdHMiICB0YXJnZXQ9Il9ibGFuayIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSIgcm9sZT0iYnV0dG9uIj5NeSBhY2NvdW50PC9hPjwvbGk+PC91bD48IS0tIGNsb3NlIG9mIHVsIGxldmVsIC0tPjwvbGk+PC91bD48IS0tIGNsb3NlIG9mIHVsIGxldmVsIC0tPjwvbmF2PjxkaXYgY2xhc3M9ImNvbnRhaW5lciBvZmZjYW52YXMtcmlnaWQiPgogICAgICAgICAgICA8YSBjbGFzcz0ibG9nbyBpc29sb2dvIiBocmVmPSIvaG9tZS5odG1sIiB0aXRsZT0iSW50ZXJuYXRpb25hbCBPcmdhbml6YXRpb24gZm9yIFN0YW5kYXJkaXphdGlvbiIgYWx0PSJJU08gbG9nbyI+PC9hPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJpc29sb2dvLXByaW50Ij48aW1nIHNyYz0iaHR0cHM6Ly9jZG4uaXNvLm9yZy9yZXNvdXJjZXMvd29vZC8zLjMuNy9pbWcvaXNvL2lzby1sb2dvLXByaW50LmdpZiIgYWx0PSJJU08gbG9nbyBmb3IgcHJpbnQiLz48L2Rpdj4KCiAgICAgICAgICAgIDx1bCBpZD0idXRpbGl0eU5hdiIgYXJpYS1sYWJlbD0iVXRpbGl0aWVzIE5hdmlnYXRpb24iIGNsYXNzPSJuYXYgbmF2YmFyLW5hdiBuYXZiYXItcmlnaHQiPgogICAgICAgICAgICAgIDxsaSBjbGFzcz0ibmF2LWdseXBoaWNvbiBuYXYtc2VhcmNoIiBpZD0ibmF2LXNlYXJjaCI+CiAgICAgICAgICAgICAgICA8Zm9ybSBjbGFzcz0iZXhwYW5kYWJsZSBpc29zZWFyY2giIHJvbGU9InNlYXJjaCI+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJoaWRkZW4iIGRhdGEtdXJsYmFzZT0iL2Ntcy9yZW5kZXIvbGl2ZS9lbiI+PC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaGlkZGVuIiBkYXRhLXNlYXJjaHBhZ2VwYXRoPSIvc2l0ZXMvaXNvb3JnL3NlYXJjaCI+PC9zcGFuPgogICAgICAgICAgICAgICAgICA8bGFiZWwgaWQ9ImlucHV0LXNlYXJjaCIgY2xhc3M9ImNvbnRyb2wtbGFiZWwgaGlkZGVuLXhzIiBmb3I9ImlucHV0LXNlYXJjaCI+U2VhcmNoPC9sYWJlbD4KICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InNlYXJjaCIgcGxhY2Vob2xkZXI9IiIgYXJpYS1sYWJlbGxlZGJ5PSJpbnB1dC1zZWFyY2giPgogICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLXNlYXJjaCIgdHlwZT0ic3VibWl0IiBhcmlhLWxhYmVsbGVkYnk9ImlucHV0LXNlYXJjaCI+PC9idXR0b24+CiAgICAgICAgICAgICAgICA8L2Zvcm0+CiAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICA8bGkgY2xhc3M9Im5hdi1nbHlwaGljb24iPgogICAgICAgICAgICAgICAgPGEgY2xhc3M9InNob3BwaW5nLWNhcnQtbGluayIgaHJlZj0iL3dlYnN0b3JlL3Nob3BwaW5nYmFza2V0P21lbWJlcklkPUlTTyZndWlsYW5nPWVuIiB0aXRsZT0iU2hvcHBpbmcgY2FydCIgYXJpYS1sYWJlbD0iU2hvcHBpbmcgY2FydCI+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLXNob3BwaW5nLWNhcnQiIGlkPSJzaG9wcGluZ0l0ZW1zIj48L3NwYW4+CiAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAKPGxpIGNsYXNzPSJkcm9wZG93biIgaWQ9Imxhbmctc3dpdGNoZXIiPgogIDxhIGNsYXNzPSJkcm9wZG93bi10b2dnbGUiIGRhdGEtdG9nZ2xlPSJkcm9wZG93biIgaHJlZj0iIyI+RU48c3BhbiBjbGFzcz0iY2FyZXQiPjwvc3Bhbj48L2E+CiAgPHVsIGNsYXNzPSJkcm9wZG93bi1tZW51Ij4KICAgIDxsaT48YSBocmVmPSIvZnIvc3RhbmRhcmQvMzk0NC5odG1sIj5mcmFuw6dhaXM8L2E+PC9saT48bGk+PGEgaHJlZj0iL3J1L3N0YW5kYXJkLzM5NDQuaHRtbCI+0YDRg9GB0YHQutC40Lk8L2E+PC9saT48L3VsPgo8L2xpPjwvdWw+CiAgICAgICAgICAgIDwhLS0gVE9QIExFVkVMMSBOQVZJR0FUSU9OIC0tPgogICAgICAgICAgICA8bmF2IHJvbGU9Im5hdmlnYXRpb24iIGFyaWEtbGFiZWw9Ik1haW4gTmF2aWdhdGlvbiIgY2xhc3M9InNpZGVuYXYiIGlkPSJtYWluTmF2Ij48dWwgcm9sZT0ibWVudWJhciIgY2xhc3M9Im5hdiBuYXZiYXItbmF2IG5hdmJhci1yaWdodCBhZmZpeC10b3BuYXYtbGV2ZWwxIj48bGkgcm9sZT0ibm9uZSIgY2xhc3M9Im5vQ2hpbGRyZW4gZmlyc3RJbkxldmVsIj48YSByb2xlPSJtZW51aXRlbSIgaHJlZj0iL3N0YW5kYXJkcy5odG1sIj5TdGFuZGFyZHM8L2E+PC9saT48bGkgcm9sZT0ibm9uZSIgY2xhc3M9Im5vQ2hpbGRyZW4iPjxhIHJvbGU9Im1lbnVpdGVtIiBocmVmPSIvYWJvdXQtdXMuaHRtbCI+QWJvdXQgdXM8L2E+PC9saT48bGkgcm9sZT0ibm9uZSIgY2xhc3M9Im5vQ2hpbGRyZW4iPjxhIHJvbGU9Im1lbnVpdGVtIiBocmVmPSIvbmV3cy5odG1sIj5OZXdzPC9hPjwvbGk+PGxpIHJvbGU9Im5vbmUiIGNsYXNzPSJub0NoaWxkcmVuIj48YSByb2xlPSJtZW51aXRlbSIgaHJlZj0iL2RldmVsb3Bpbmctc3RhbmRhcmRzLmh0bWwiPlRha2luZyBwYXJ0PC9hPjwvbGk+PGxpIHJvbGU9Im5vbmUiIGNsYXNzPSJub0NoaWxkcmVuIGluUGF0aCBsYXN0SW5MZXZlbCI+PGEgcm9sZT0ibWVudWl0ZW0iIGhyZWY9Ii9zdG9yZS5odG1sIj5TdG9yZTwvYT48L2xpPjwvdWw+PCEtLSBjbG9zZSBvZiB1bCBsZXZlbCAtLT48L25hdj48L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGlkPSJzZWFyY2gtY3VydGFpbiI+PC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPC9oZWFkZXI+CiAgICA8IS0tIE1BSU4gQ09OVEVOVCAtLT4KICAgIDxtYWluIHJvbGU9Im1haW4iIGlkPSJjb250ZW50IiBjbGFzcz0iYWNlciIgYXJpYS1sYWJlbD0iQ29udGVudCIgdGFiaW5kZXg9Ii0xIj4KICAgICAgCgoKCjxzcGFuIGNsYXNzPSJoaWRkZW4iIGlkPSJpbmRleFJlZmVyZW5jZSIgZGF0YS1pbmRleD0iMzk0NCAtIElTTyAxMzE6MTk3OSAtIEFjb3VzdGljcyDigJQgRXhwcmVzc2lvbiBvZiBwaHlzaWNhbCBhbmQgc3ViamVjdGl2ZSBtYWduaXR1ZGVzIG9mIHNvdW5kIG9yIG5vaXNlIGluIGFpciI+PC9zcGFuPgo8c3BhbiBjbGFzcz0iaGlkZGVuIiBpZD0iaXRlbVJlZmVyZW5jZSI+SVNPIDEzMToxOTc5PC9zcGFuPgo8c2VjdGlvbiBpdGVtc2NvcGUgaXRlbXR5cGU9Imh0dHBzOi8vc2NoZW1hLm9yZy9Qcm9kdWN0IiBjbGFzcz0ic2VjdGlvbi1uYXZpZ2F0aW9uIj4KICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTEyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJoaWRkZW4iIGl0ZW1wcm9wPSJjYXRlZ29yeSI+dzwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImhpZGRlbiIgaXRlbXByb3A9InByb2R1Y3RJRCIgaWQ9ImNzTnVtYmVyIj4zOTQ0PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iaGlkZGVuIiBpdGVtcHJvcD0iYnJhbmQiIGl0ZW1zY29wZSBpdGVtdHlwZT0iaHR0cHM6Ly9zY2hlbWEub3JnL09yZ2FuaXphdGlvbiI+CiAgICAgICAgICA8ZGl2IGl0ZW1wcm9wPSJsb2dvIiBpdGVtc2NvcGUgaXRlbXR5cGU9Imh0dHBzOi8vc2NoZW1hLm9yZy9JbWFnZU9iamVjdCI+CiAgICAgICAgICAgIDxtZXRhIGl0ZW1wcm9wPSJ1cmwiIGNvbnRlbnQ9Imh0dHBzOi8vY2RuLmlzby5vcmcvcmVzb3VyY2VzL3dvb2QvMy4zLjMvaW1nL2lzby9pc28tbG9nby1wcmludC5naWYiLz4KICAgICAgICAgICAgPG1ldGEgaXRlbXByb3A9IndpZHRoIiBjb250ZW50PSIyODMiPgogICAgICAgICAgICA8bWV0YSBpdGVtcHJvcD0iaGVpZ2h0IiBjb250ZW50PSIyNjEiPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8bWV0YSBpdGVtcHJvcD0ibmFtZSIgY29udGVudD0iSVNPIC0gSW50ZXJuYXRpb25hbCBPcmdhbml6YXRpb24gZm9yIFN0YW5kYXJkaXphdGlvbiI+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxuYXYgcm9sZT0ibmF2aWdhdGlvbiIgYXJpYS1sYWJlbD0iQ2hpbGRyZW4gTmF2aWdhdGlvbiIgY2xhc3M9ImhlYWRpbmctY29uZGVuc2VkIG5hdi1yZWxhdGl2ZXMiPgoKICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWhlYWQgd3JhcHBlZC1kYW5nZXIgd3JhcHBlZC1oMSI+PHNwYW4gY2xhc3M9Imljb24gIj48L3NwYW4+PGEgdGFyZ2V0PSIiIGhyZWY9Ii9zdGFuZGFyZHMtY2F0YWxvZ3VlL2Jyb3dzZS1ieS1pY3MuaHRtbCJ0aXRsZT0iQnJvd3NlIHRoZSBmdWxsIGNvbGxlY3Rpb24gb2YgSVNPIHN0YW5kYXJkcyBhbmQgZmluZCB0aGUgb25lcyB0aGF0IGFwcGx5IHRvIHlvdXIgc2VjdG9yLiI+SUNTPC9hPiA+Jm5ic3A7PGEgaHJlZj0iL2VuL2ljcy8xNy5odG1sIj4xNzwvYT4gPiZuYnNwOzxhIGhyZWY9Ii9lbi9pY3MvMTcuMTQwLmh0bWwiPjE3LjE0MDwvYT4gPiZuYnNwOzxhIGhyZWY9Ii9lbi9pY3MvMTcuMTQwLjAxLmh0bWwiPjE3LjE0MC4wMTwvYT48L2Rpdj4KICA8aDE+SVNPIDEzMToxOTc5PC9oMT4KICA8aDIgY2xhc3M9Im5vLXVwcGVyY2FzZSI+QWNvdXN0aWNzIOKAlCBFeHByZXNzaW9uIG9mIHBoeXNpY2FsIGFuZCBzdWJqZWN0aXZlIG1hZ25pdHVkZXMgb2Ygc291bmQgb3Igbm9pc2UgaW4gYWlyPC9oMj48L25hdj48L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2Pgo8L3NlY3Rpb24+Cgo8c2VjdGlvbiBpZD0icHJvZHVjdC1kZXRhaWxzIj4KICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTciPgogICAgICAgIDxoMz4KICBHZW5lcmFsIGluZm9ybWF0aW9uPHN1cD48YSBocmVmPSIvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wMC8zOS8zOTQ0LmRldGFpbC5yc3MiIGNsYXNzPSJzcy1pY29uIHNzLXNvY2lhbC1jaXJjbGUgdGV4dC13YXJuaW5nIHRleHQtc20iIGRhdGEtdG9nZ2xlPSJpc28tdG9vbHRpcCIgZGF0YS1vcmlnaW5hbC10aXRsZT0iU3Vic2NyaWJlJm5ic3A7dG8mbmJzcDt1cGRhdGVzIj4mI3hFMzEwOzwvYT48L3N1cD4KICAmbmJzcDs8L2gzPgo8dWwgY2xhc3M9InJlZmluZSI+CiAgPGxpPgogICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTYiPgogICAgICAgIDxzdHJvbmc+U3RhdHVzJm5ic3A7OiZuYnNwOyZuYnNwOzwvc3Ryb25nPjxzcGFuPjxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWJhbi1jaXJjbGUiIHRpdGxlPSJXaXRoZHJhd24iPjwvc3Bhbj5XaXRoZHJhd248L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS02Ij4KICAgICAgICA8c3Ryb25nPlB1YmxpY2F0aW9uIGRhdGUmbmJzcDs6IDwvc3Ryb25nPjxzcGFuIGl0ZW1wcm9wPSJyZWxlYXNlRGF0ZSI+MTk3OS0xMTwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvbGk+CiAgPGxpPgogICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTYiPgogICAgICAgIDxzdHJvbmc+RWRpdGlvbiZuYnNwOzo8L3N0cm9uZz4gMTwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tNiI+CiAgICAgICAgPHN0cm9uZz5OdW1iZXIgb2YgcGFnZXMmbmJzcDs6PC9zdHJvbmc+IDM8L2Rpdj4KICAgIDwvZGl2PgogIDwvbGk+CiAgPGxpPgogICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCI+CiAgICAgICAgPGRpdiBjbGFzcz0iZW50cnktbGFiZWwiPlRlY2huaWNhbCBDb21taXR0ZWU8L2Rpdj4gOgogICAgICAgIDxkaXYgY2xhc3M9ImVudHJ5LW5hbWUgZW50cnktYmxvY2siPgogICAgICAgICAgPGEgaHJlZj0iL2NvbW1pdHRlZS80ODQ1OC5odG1sIj5JU08vVEMgNDM8L2E+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iZW50cnktdGl0bGUiPkFjb3VzdGljczwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvbGk+CiAgPGxpPgogICAgPGRsIGNsYXNzPSJkbC1pbmxpbmUgbm8tYm90dG9tLW1hcmdpbiI+CiAgICAgIDxkdCBjbGFzcz0iZW50cnktbGFiZWwgZW50cnktYmxvY2siPjxzdHJvbmc+SUNTIDogPC9zdHJvbmc+PC9kdD4KICAgICAgPGRkPgogICAgICAgICAgPGRpdiBjbGFzcz0iZW50cnktbmFtZSBlbnRyeS1ibG9jayI+CiAgICAgICAgICAgIDxhIGhyZWY9Ii9pY3MvMTcuMTQwLjAxLmh0bWwiPgogICAgICAgICAgICAgICAgMTcuMTQwLjAxPC9hPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJlbnRyeS10aXRsZSI+QWNvdXN0aWMgbWVhc3VyZW1lbnRzIGFuZCBub2lzZSBhYmF0ZW1lbnQgaW4gZ2VuZXJhbDwvZGl2PgogICAgICAgIDwvZGQ+CiAgICAgIDwvZGw+CiAgPC9saT4KPC91bD4KPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNCBjb2wtbWQtb2Zmc2V0LTEiPgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+Cjwvc2VjdGlvbj4KCjxzZWN0aW9uIGlkPSJsaWZlY3ljbGUiPgogIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtMTIiPgogICAgICAgIDxoMz5MaWZlIGN5Y2xlPC9oMz4KICAgICAgICA8YnIvPgogICAgICAgIDxkaXYgY2xhc3M9ImxpZmVjeWNsZSI+CiAgICAgICAgICA8dWwgY2xhc3M9InN0ZXBzIj4KICAgICAgICAgICAgPGxpIGNsYXNzPSJ0aW1lLXN0ZXAiPgogICAgICAgICAgICAgICAgPGg0IGNsYXNzPSJ0ZXh0LWhlbHAiPlByZXZpb3VzbHk8L2g0PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RlcCBzdGVwLW11dGVkIj4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RlcC1pdGVtIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWhlYWQiPldpdGhkcmF3bjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxoNT48YSBocmVmPSIvc3RhbmRhcmQvNDMyMy5odG1sIj5JU08vUiAzNTc6MTk2MzwvYT48L2g1PgogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgIDxsaSBjbGFzcz0idGltZS1zdGVwIj4KICAgICAgICAgICAgICA8aDQgY2xhc3M9InRleHQtaGVscCI+Tm93PC9oND4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGVwIHN0ZXAtaGVscCBhY3RpdmUiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24taGVhZCI+V2l0aGRyYXduPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGg1PklTTyAxMzE6MTk3OTwvaDU+CiAgICAgICAgICAgICAgICAgIDxhIGRhdGEtdG9nZ2xlPSJjb2xsYXBzZSIgcm9sZT0iYnV0dG9uIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSIgZGF0YS10YXJnZXQ9IiNzdGFnZXMiIGNsYXNzPSJkcm9wZG93bi10b2dnbGUgY3VycmVudC1zdGFnZSB0ZXh0LXNtIj5TdGFnZTogPHN0cm9uZz45NS45OTwvc3Ryb25nPjxzcGFuIGNsYXNzPSJjYXJldCI+PC9zcGFuPjwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPHVsIGNsYXNzPSJuYXYgbmF2YmFyLW5hdiBzdGFnZXMgY29sbGFwc2UiIGlkPSJzdGFnZXMiPgogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJkcm9wZG93biBzdGF0ZS1pbmZvIj4KICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKSIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSIgZGF0YS10b2dnbGU9ImRyb3Bkb3duIiByb2xlPSJidXR0b24iIGFyaWEtaGFzcG9wdXA9InRydWUiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InN0YWdlLWNvZGUiPjxzdHJvbmc+MDA8L3N0cm9uZz48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YWdlLXRpdGxlIj5QcmVsaW1pbmFyeTwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2E+CgogICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJkcm9wZG93biBzdGF0ZS1pbmZvIj4KICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKSIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSIgZGF0YS10b2dnbGU9ImRyb3Bkb3duIiByb2xlPSJidXR0b24iIGFyaWEtaGFzcG9wdXA9InRydWUiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InN0YWdlLWNvZGUiPjxzdHJvbmc+MTA8L3N0cm9uZz48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YWdlLXRpdGxlIj5Qcm9wb3NhbDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2E+CgogICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJkcm9wZG93biBzdGF0ZS1pbmZvIj4KICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKSIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSIgZGF0YS10b2dnbGU9ImRyb3Bkb3duIiByb2xlPSJidXR0b24iIGFyaWEtaGFzcG9wdXA9InRydWUiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InN0YWdlLWNvZGUiPjxzdHJvbmc+MjA8L3N0cm9uZz48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YWdlLXRpdGxlIj5QcmVwYXJhdG9yeTwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2E+CgogICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJkcm9wZG93biBzdGF0ZS1pbmZvIj4KICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKSIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSIgZGF0YS10b2dnbGU9ImRyb3Bkb3duIiByb2xlPSJidXR0b24iIGFyaWEtaGFzcG9wdXA9InRydWUiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InN0YWdlLWNvZGUiPjxzdHJvbmc+MzA8L3N0cm9uZz48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YWdlLXRpdGxlIj5Db21taXR0ZWU8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNhcmV0Ij48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KCiAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImRyb3Bkb3duLW1lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9zdGFnZS1jb2Rlcy5odG1sIzMwXzAwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InN0YWdlLWNvZGUiPjMwLjAwPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3RhZ2UtZGF0ZSI+MTk3OC0wNy0wMTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhZ2UtdGl0bGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbW1pdHRlZSBkcmFmdCAoQ0QpIHJlZ2lzdGVyZWQ8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImRyb3Bkb3duIHN0YXRlLWluZm8iPgogICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApIiBjbGFzcz0iZHJvcGRvd24tdG9nZ2xlIiBkYXRhLXRvZ2dsZT0iZHJvcGRvd24iIHJvbGU9ImJ1dHRvbiIgYXJpYS1oYXNwb3B1cD0idHJ1ZSIgYXJpYS1leHBhbmRlZD0iZmFsc2UiPgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3RhZ2UtY29kZSI+PHN0cm9uZz40MDwvc3Ryb25nPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhZ2UtdGl0bGUiPkVucXVpcnk8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgoKICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZHJvcGRvd24gc3RhdGUtaW5mbyI+CiAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiIGNsYXNzPSJkcm9wZG93bi10b2dnbGUiIGRhdGEtdG9nZ2xlPSJkcm9wZG93biIgcm9sZT0iYnV0dG9uIiBhcmlhLWhhc3BvcHVwPSJ0cnVlIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGFnZS1jb2RlIj48c3Ryb25nPjUwPC9zdHJvbmc+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGFnZS10aXRsZSI+QXBwcm92YWw8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNhcmV0Ij48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KCiAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImRyb3Bkb3duLW1lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9zdGFnZS1jb2Rlcy5odG1sIzUwXzAwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InN0YWdlLWNvZGUiPjUwLjAwPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3RhZ2UtZGF0ZSI+MTk3OS0wMy0wMTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhZ2UtdGl0bGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbmFsIHRleHQgcmVjZWl2ZWQgb3IgRkRJUyByZWdpc3RlcmVkIGZvciBmb3JtYWwgYXBwcm92YWw8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPjxsaSA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIvc3RhZ2UtY29kZXMuaHRtbCM1MF8yMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGFnZS1jb2RlIj41MC4yMDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InN0YWdlLWRhdGUiPjE5NzktMDgtMDE8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YWdlLXRpdGxlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcm9vZiBzZW50IHRvIHNlY3JldGFyaWF0IG9yIEZESVMgYmFsbG90IGluaXRpYXRlZDogOCB3ZWVrczwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+PGxpID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9zdGFnZS1jb2Rlcy5odG1sIzUwXzYwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InN0YWdlLWNvZGUiPjUwLjYwPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3RhZ2UtZGF0ZSI+MTk3OS0wOC0wMTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhZ2UtdGl0bGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENsb3NlIG9mIHZvdGluZy4gUHJvb2YgcmV0dXJuZWQgYnkgc2VjcmV0YXJpYXQ8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImRyb3Bkb3duIHN0YXRlLXN1Y2Nlc3MiPgogICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApIiBjbGFzcz0iZHJvcGRvd24tdG9nZ2xlIiBkYXRhLXRvZ2dsZT0iZHJvcGRvd24iIHJvbGU9ImJ1dHRvbiIgYXJpYS1oYXNwb3B1cD0idHJ1ZSIgYXJpYS1leHBhbmRlZD0iZmFsc2UiPgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3RhZ2UtY29kZSI+PHN0cm9uZz42MDwvc3Ryb25nPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhZ2UtdGl0bGUiPlB1YmxpY2F0aW9uPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYXJldCI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E+CgogICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJkcm9wZG93bi1tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIvc3RhZ2UtY29kZXMuaHRtbCM2MF82MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGFnZS1jb2RlIj42MC42MDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InN0YWdlLWRhdGUiPjE5NzktMTEtMDE8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YWdlLXRpdGxlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbnRlcm5hdGlvbmFsIFN0YW5kYXJkIHB1Ymxpc2hlZDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+PC91bD4KICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZHJvcGRvd24gc3RhdGUtc3VjY2VzcyI+CiAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiIGNsYXNzPSJkcm9wZG93bi10b2dnbGUiIGRhdGEtdG9nZ2xlPSJkcm9wZG93biIgcm9sZT0iYnV0dG9uIiBhcmlhLWhhc3BvcHVwPSJ0cnVlIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGFnZS1jb2RlIj48c3Ryb25nPjkwPC9zdHJvbmc+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGFnZS10aXRsZSI+UmV2aWV3PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYXJldCI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E+CgogICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJkcm9wZG93bi1tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSAgY2xhc3M9J2xpc3Qtc2VwYXJhdGlvbic+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIvc3RhZ2UtY29kZXMuaHRtbCM5MF8yMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGFnZS1jb2RlIj45MC4yMDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InN0YWdlLWRhdGUiPjE5OTMtMTEtMzA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YWdlLXRpdGxlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbnRlcm5hdGlvbmFsIFN0YW5kYXJkIHVuZGVyIHN5c3RlbWF0aWMgcmV2aWV3PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT48bGkgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL3N0YWdlLWNvZGVzLmh0bWwjOTBfNjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3RhZ2UtY29kZSI+OTAuNjA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGFnZS1kYXRlIj4xOTk0LTA3LTE1PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGFnZS10aXRsZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2xvc2Ugb2YgcmV2aWV3PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT48bGkgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL3N0YWdlLWNvZGVzLmh0bWwjOTBfOTkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3RhZ2UtY29kZSI+OTAuOTk8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGFnZS1kYXRlIj4xOTk1LTA3LTE5PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGFnZS10aXRsZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2l0aGRyYXdhbCBvZiBJbnRlcm5hdGlvbmFsIFN0YW5kYXJkIHByb3Bvc2VkIGJ5IFRDIG9yIFNDPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT48L3VsPgogICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJkcm9wZG93biBiZy1oZWxwIGFjdGl2ZSI+CiAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiIGNsYXNzPSJkcm9wZG93bi10b2dnbGUiIGRhdGEtdG9nZ2xlPSJkcm9wZG93biIgcm9sZT0iYnV0dG9uIiBhcmlhLWhhc3BvcHVwPSJ0cnVlIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGFnZS1jb2RlIj48c3Ryb25nPjk1PC9zdHJvbmc+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGFnZS10aXRsZSI+V2l0aGRyYXdhbDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2FyZXQiPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgoKICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0iZHJvcGRvd24tbWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL3N0YWdlLWNvZGVzLmh0bWwjOTVfMjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3RhZ2UtY29kZSI+OTUuMjA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGFnZS1kYXRlIj4xOTk1LTA4LTEwPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGFnZS10aXRsZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2l0aGRyYXdhbCBiYWxsb3QgaW5pdGlhdGVkPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT48bGkgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL3N0YWdlLWNvZGVzLmh0bWwjOTVfNjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3RhZ2UtY29kZSI+OTUuNjA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGFnZS1kYXRlIj4xOTk1LTExLTA4PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGFnZS10aXRsZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2xvc2Ugb2Ygdm90aW5nPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT48bGkgY2xhc3M9ImFjdGl2ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIvc3RhZ2UtY29kZXMuaHRtbCM5NV85OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGFnZS1jb2RlIj45NS45OTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InN0YWdlLWRhdGUiPjE5OTYtMDMtMDc8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YWdlLXRpdGxlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXaXRoZHJhd2FsIG9mIEludGVybmF0aW9uYWwgU3RhbmRhcmQ8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICA8L3VsPgoKICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPC91bD4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9zZWN0aW9uPgo8c2VjdGlvbiBjbGFzcz0iYmctaW5mbyIgaWQ9ImNvbnRhY3QiPgogIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNCI+CiAgICAgICAgPGg0PkdvdCBhIHF1ZXN0aW9uPzwvaDQ+Cgo8cD5DaGVjayBvdXQgb3VyIDxhIGhyZWY9Ii9mcmVxdWVudGx5LWFza2VkLXF1ZXN0aW9ucy1mYXFzLmh0bWwiIHRpdGxlPSJGcmVxdWVudGx5IEFza2VkIFF1ZXN0aW9ucyAoRkFRcykiPkZBUXM8L2E+PC9wPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNCI+CiAgICAgICAgPGRpdiBjbGFzcz0idmNhcmQgY29udGFjdCBuby1maWd1cmUgY2xlYXJmaXgiIGl0ZW1zY29wZT0iIiBpdGVtdHlwZT0iaHR0cDovL3NjaGVtYS5vcmcvUGVyc29uIj4KPGRpdiBjbGFzcz0iY29udGVudC1ib3ggbm8taW1hZ2UiPgo8ZGl2IGNsYXNzPSJmbiBuIj48c3BhbiBjbGFzcz0iZ2l2ZW4tbmFtZSIgaXRlbXByb3A9ImdpdmVuTmFtZSI+Q3VzdG9tZXIgY2FyZTwvc3Bhbj48L2Rpdj4KCjxkaXYgY2xhc3M9InRlbCIgaXRlbXByb3A9InRlbGVwaG9uZSI+KzQxIDIyIDc0OSAwOCA4ODwvZGl2PgoKPGRpdiBjbGFzcz0iZW1haWwiIGl0ZW1wcm9wPSJlbWFpbCI+PGEgaHJlZj0ibWFpbHRvOmN1c3RvbWVyc2VydmljZUBpc28ub3JnIj5jdXN0b21lcnNlcnZpY2VAaXNvLm9yZzwvYT48L2Rpdj4KCjxociAvPgo8ZGl2IGNsYXNzPSJub3RlIj4KPHAgY2xhc3M9InNtYWxsIj5PcGVuaW5nIGhvdXJzOjxiciAvPgpNb25kYXkgdG8gRnJpZGF5IC0gMDk6MDAtMTI6MDAsIDE0OjAwLTE3OjAwIChVVEMrMSk8L3A+CjwvZGl2Pgo8L2Rpdj4KPC9kaXY+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC00Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJ3ZWxsIHRleHQtY2VudGVyIGNsZWFyZml4Ij4KICA8aDQ+S2VlcCB1cCB0byBkYXRlIHdpdGggSVNPPC9oND4KCjxwPlNpZ24gdXAgdG8gb3VyIG5ld3NsZXR0ZXIgZm9yIHRoZSBsYXRlc3QgbmV3cywgdmlld3MgYW5kIHByb2R1Y3QgaW5mb3JtYXRpb24uPC9wPjxkaXY+PGEgY2xhc3M9ImJ0biBidG4tcHJpbWFyeSIgZGF0YS1mYW5jeWJveD0iIiBkYXRhLXR5cGU9ImlmcmFtZSIgaHJlZj0iaHR0cHM6Ly9jb25maXJtc3Vic2NyaXB0aW9uLmNvbS9oL2QvMzQxMkRBNzk5M0FDM0I3QyI+U3Vic2NyaWJlPC9hPjwvZGl2Pgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPi5mYW5jeWJveC1zbGlkZS0taWZyYW1lIC5mYW5jeWJveC1jb250ZW50IHsKIHdpZHRoICA6IDUwMHB4OwogaGVpZ2h0IDogNjAwcHg7CiBtYXgtd2lkdGggIDogODAlOwogbWF4LWhlaWdodCA6IDgwJTsKIG1hcmdpbjogMDsKfQouZmFuY3lib3gtc2xpZGUtLWlmcmFtZSAuZmFuY3lib3gtY29udGVudCAubC1wYWdlLWNvbnRhaW5lciB7CnBhZGRpbmctdG9wOiAxLjVyZW0gIWltcG9ydGFudDsKfQo8L3N0eWxlPjwvZGl2PjwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+Cjwvc2VjdGlvbj48ZGl2IGNsYXNzPSJuYXYtYnJlYWRjcnVtYiBwcmludC1mb290ZXIgYmctZGFya2dyYXkiPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tOCBzbWFsbCI+CiAgICAgICAgICAgICAgPCEtLSBCUkVBRENSVU1CIC0tPgogICAgICAgICAgICAgIDxvbCBjbGFzcz0iYnJlYWRjcnVtYiI+CiAgICA8bGk+PGEgaHJlZj0iL2hvbWUuaHRtbCIgdGl0bGU9IkhvbWUgcGFnZSI+PHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24taG9tZSIgYXJpYS1oaWRkZW49InRydWUiPjwvc3Bhbj48L2E+PC9saT4KICAgIDxsaT4KICAgICAgICAgIDxhIGhyZWY9Ii9zdG9yZS5odG1sIj5TdG9yZTwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgPGxpPgogICAgICAgICAgPGEgaHJlZj0iL3N0YW5kYXJkcy1jYXRhbG9ndWUvYnJvd3NlLWJ5LWljcy5odG1sIiA+U3RhbmRhcmRzIGNhdGFsb2d1ZTwvYT4KPC9saT4KICAgICAgPGxpPgogICAgICAgICAgPGEgaHJlZj0iL3N0YW5kYXJkcy1jYXRhbG9ndWUvYnJvd3NlLWJ5LWljcy5odG1sIj5JQ1M8L2E+CiAgICAgICAgICAgIDwvbGk+CiAgICAgIDxsaT48YSBocmVmPSIvZW4vaWNzLzE3Lmh0bWwiPjE3PC9hPjwvbGk+CiAgICA8bGk+PGEgaHJlZj0iL2VuL2ljcy8xNy4xNDAuaHRtbCI+MTcuMTQwPC9hPjwvbGk+CiAgICA8bGk+PGEgaHJlZj0iL2VuL2ljcy8xNy4xNDAuMDEuaHRtbCI+MTcuMTQwLjAxPC9hPjwvbGk+PGxpPklTTyAxMzE6MTk3OTwvbGk+PC9vbD48L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTQgaGlkZGVuLXByaW50IHRleHQtcmlnaHQgc21hbGwiPgogICAgICAgICAgICAgIDxhIHJvbGU9ImJ1dHRvbiIgY2xhc3M9ImFjY29yZGlvbi10b2dnbGUgY29sbGFwc2VkIiBkYXRhLXRvZ2dsZT0iY29sbGFwc2UiIGhyZWY9IiNjb2xsYXBzZVNpdGVtYXAiIHRhcmdldD0iX3NlbGYiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIgogICAgICAgICAgICAgICAgIGFyaWEtY29udHJvbHM9ImNvbGxhcHNlU2l0ZW1hcCI+U2l0ZW1hcDwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2xsYXBzZSBib3JkZXItdG9wIiBpZD0iY29sbGFwc2VTaXRlbWFwIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgICAgICAgICA8IS0tIFNJVEVNQVAgLS0+CiAgICAgICAgICAgICAgPG5hdiByb2xlPSJuYXZpZ2F0aW9uIiBhcmlhLWxhYmVsPSJTaXRlbWFwIiBjbGFzcz0ic2l0ZW1hcC1mb290ZXIgY2xlYXJmaXggc21hbGwiIGlkPSJuYXYtc2l0ZW1hcCI+PHVsIHJvbGU9Im1lbnViYXIiIGNsYXNzPSJuYXYtbGV2ZWwxIGxpc3QtaW5saW5lLTUgY2xlYXJmaXgiPjxsaSByb2xlPSJub25lIiBjbGFzcz0iaGFzQ2hpbGRyZW4gZmlyc3RJbkxldmVsIj48YSByb2xlPSJtZW51aXRlbSIgaHJlZj0iL3N0YW5kYXJkcy5odG1sIj5TdGFuZGFyZHM8L2E+PHVsIHJvbGU9Im1lbnUiIGNsYXNzPSJuYXYtbGV2ZWwyIGxpc3QtdW5zdHlsZWQiPjxsaSByb2xlPSJub25lIiBjbGFzcz0ibm9DaGlsZHJlbiBmaXJzdEluTGV2ZWwiPjxhIHJvbGU9Im1lbnVpdGVtIiBocmVmPSIvYmVuZWZpdHMtb2Ytc3RhbmRhcmRzLmh0bWwiPkJlbmVmaXRzPC9hPjwvbGk+PGxpIHJvbGU9Im5vbmUiIGNsYXNzPSJub0NoaWxkcmVuIj48YSByb2xlPSJtZW51aXRlbSIgaHJlZj0iL3BvcHVsYXItc3RhbmRhcmRzLmh0bWwiPlBvcHVsYXIgc3RhbmRhcmRzPC9hPjwvbGk+PGxpIHJvbGU9Im5vbmUiIGNsYXNzPSJub0NoaWxkcmVuIj48YSByb2xlPSJtZW51aXRlbSIgaHJlZj0iL2NvbmZvcm1pdHktYXNzZXNzbWVudC5odG1sIj5DZXJ0aWZpY2F0aW9uICYgY29uZm9ybWl0eTwvYT48L2xpPjxsaSByb2xlPSJub25lIiBjbGFzcz0ibm9DaGlsZHJlbiBsYXN0SW5MZXZlbCI+PGEgcm9sZT0ibWVudWl0ZW0iIGhyZWY9Ii9zZGdzLmh0bWwiPlNER3M8L2E+PC9saT48L3VsPjwhLS0gY2xvc2Ugb2YgdWwgbGV2ZWwgLS0+PC9saT48bGkgcm9sZT0ibm9uZSIgY2xhc3M9Imhhc0NoaWxkcmVuIj48YSByb2xlPSJtZW51aXRlbSIgaHJlZj0iL2Fib3V0LXVzLmh0bWwiPkFib3V0IHVzPC9hPjx1bCByb2xlPSJtZW51IiBjbGFzcz0ibmF2LWxldmVsMiBsaXN0LXVuc3R5bGVkIj48bGkgcm9sZT0ibm9uZSIgY2xhc3M9Im5vQ2hpbGRyZW4gZmlyc3RJbkxldmVsIj48YSByb2xlPSJtZW51aXRlbSIgaHJlZj0iL3doYXQtd2UtZG8uaHRtbCI+V2hhdCB3ZSBkbzwvYT48L2xpPjxsaSByb2xlPSJub25lIiBjbGFzcz0ibm9DaGlsZHJlbiI+PGEgcm9sZT0ibWVudWl0ZW0iIGhyZWY9Ii9zdHJ1Y3R1cmUuaHRtbCI+U3RydWN0dXJlPC9hPjwvbGk+PGxpIHJvbGU9Im5vbmUiIGNsYXNzPSJub0NoaWxkcmVuIj48YSByb2xlPSJtZW51aXRlbSIgaHJlZj0iL21lbWJlcnMuaHRtbCI+TWVtYmVyczwvYT48L2xpPjxsaSByb2xlPSJub25lIiBjbGFzcz0ibm9DaGlsZHJlbiBsYXN0SW5MZXZlbCI+PGEgcm9sZT0ibWVudWl0ZW0iIGhyZWY9Ii9zdHJhdGVneTIwMzAuaHRtbCI+U3RyYXRlZ3k8L2E+PC9saT48L3VsPjwhLS0gY2xvc2Ugb2YgdWwgbGV2ZWwgLS0+PC9saT48bGkgcm9sZT0ibm9uZSIgY2xhc3M9Imhhc0NoaWxkcmVuIj48YSByb2xlPSJtZW51aXRlbSIgaHJlZj0iL25ld3MuaHRtbCI+TmV3czwvYT48dWwgcm9sZT0ibWVudSIgY2xhc3M9Im5hdi1sZXZlbDIgbGlzdC11bnN0eWxlZCI+PGxpIHJvbGU9Im5vbmUiIGNsYXNzPSJub0NoaWxkcmVuIj48YSByb2xlPSJtZW51aXRlbSIgaHJlZj0iL2V2ZW50cy5odG1sIj5FdmVudHM8L2E+PC9saT48bGkgcm9sZT0ibm9uZSIgY2xhc3M9Im5vQ2hpbGRyZW4iPjxhIHJvbGU9Im1lbnVpdGVtIiBocmVmPSIvbWVkaWEta2l0Lmh0bWwiPk1lZGlhIGtpdDwvYT48L2xpPjwvdWw+PCEtLSBjbG9zZSBvZiB1bCBsZXZlbCAtLT48L2xpPjxsaSByb2xlPSJub25lIiBjbGFzcz0iaGFzQ2hpbGRyZW4iPjxhIHJvbGU9Im1lbnVpdGVtIiBocmVmPSIvZGV2ZWxvcGluZy1zdGFuZGFyZHMuaHRtbCI+VGFraW5nIHBhcnQ8L2E+PHVsIHJvbGU9Im1lbnUiIGNsYXNzPSJuYXYtbGV2ZWwyIGxpc3QtdW5zdHlsZWQiPjxsaSByb2xlPSJub25lIiBjbGFzcz0ibm9DaGlsZHJlbiBmaXJzdEluTGV2ZWwiPjxhIHJvbGU9Im1lbnVpdGVtIiBocmVmPSIvd2hvLWRldmVsb3BzLXN0YW5kYXJkcy5odG1sIj5XaG8gZGV2ZWxvcHMgc3RhbmRhcmRzPC9hPjwvbGk+PGxpIHJvbGU9Im5vbmUiIGNsYXNzPSJub0NoaWxkcmVuIj48YSByb2xlPSJtZW51aXRlbSIgaHJlZj0iL2RlbGl2ZXJhYmxlcy1hbGwuaHRtbCI+RGVsaXZlcmFibGVzPC9hPjwvbGk+PGxpIHJvbGU9Im5vbmUiIGNsYXNzPSJub0NoaWxkcmVuIj48YSByb2xlPSJtZW51aXRlbSIgaHJlZj0iL2dldC1pbnZvbHZlZC5odG1sIj5HZXQgaW52b2x2ZWQ8L2E+PC9saT48bGkgcm9sZT0ibm9uZSIgY2xhc3M9Im5vQ2hpbGRyZW4iPjxhIHJvbGU9Im1lbnVpdGVtIiBocmVmPSIvQ2xpbWF0ZUFjdGlvbi5odG1sIj5DbGltYXRlIGFjdGlvbiBraXQ8L2E+PC9saT48bGkgcm9sZT0ibm9uZSIgY2xhc3M9Im5vQ2hpbGRyZW4gbGFzdEluTGV2ZWwiPjxhIHJvbGU9Im1lbnVpdGVtIiBocmVmPSIvcmVzb3VyY2VzLmh0bWwiPlJlc291cmNlczwvYT48L2xpPjwvdWw+PCEtLSBjbG9zZSBvZiB1bCBsZXZlbCAtLT48L2xpPjxsaSByb2xlPSJub25lIiBjbGFzcz0iaGFzQ2hpbGRyZW4gaW5QYXRoIGxhc3RJbkxldmVsIj48YSByb2xlPSJtZW51aXRlbSIgaHJlZj0iL3N0b3JlLmh0bWwiPlN0b3JlPC9hPjx1bCByb2xlPSJtZW51IiBjbGFzcz0ibmF2LWxldmVsMiBsaXN0LXVuc3R5bGVkIj48bGkgcm9sZT0ibm9uZSIgY2xhc3M9Im5vQ2hpbGRyZW4gaW5QYXRoIGFjdGl2ZSBmaXJzdEluTGV2ZWwiPjxhIHJvbGU9Im1lbnVpdGVtIiBocmVmPSIvc3RhbmRhcmRzLWNhdGFsb2d1ZS9icm93c2UtYnktaWNzLmh0bWwiID5TdGFuZGFyZHMgY2F0YWxvZ3VlPC9hPjwvbGk+PGxpIHJvbGU9Im5vbmUiIGNsYXNzPSJub0NoaWxkcmVuIj48YSByb2xlPSJtZW51aXRlbSIgaHJlZj0iL3B1YmxpY2F0aW9uLWxpc3QuaHRtbCI+UHVibGljYXRpb25zIGFuZCBwcm9kdWN0czwvYT48L2xpPjwvdWw+PCEtLSBjbG9zZSBvZiB1bCBsZXZlbCAtLT48L2xpPjwvdWw+PCEtLSBjbG9zZSBvZiB1bCBsZXZlbCAtLT48L25hdj48L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgIDxmb290ZXIgcm9sZT0iY29udGVudGluZm8iIGFyaWEtbGFiZWw9IkZvb3RlciIgY2xhc3M9ImZvb3Rlci1pc28gZm9vdGVyLWRhcmsgYmctZGFya2VyZ3JheSI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlci1saW5rcyBjZW50ZXItYmxvY2siPgogICAgICAgICAgICA8IS0tIEZPT1RFUiBMSU5LUyAtLT4KICAgICAgICAgICAgPG5hdiByb2xlPSJuYXZpZ2F0aW9uIiBhcmlhLWxhYmVsPSJJbmxpbmUgTmF2aWdhdGlvbiIgID48dWwgcm9sZT0ibWVudWJhciIgY2xhc3M9Imxpc3QtaW5saW5lIGNsZWFyZml4IG5hdi1sZXZlbDEiPjxsaSByb2xlPSJub25lIiBjbGFzcz0ibm9DaGlsZHJlbiBmaXJzdEluTGV2ZWwiPjxhIHJvbGU9Im1lbnVpdGVtIiBocmVmPSIvaXNvLW5hbWUtYW5kLWxvZ28uaHRtbCI+SVNPIG5hbWUgYW5kIGxvZ288L2E+PC9saT48bGkgcm9sZT0ibm9uZSIgY2xhc3M9Im5vQ2hpbGRyZW4iPjxhIHJvbGU9Im1lbnVpdGVtIiBocmVmPSIvcHJpdmFjeS1hbmQtY29weXJpZ2h0Lmh0bWwiPlByaXZhY3kgYW5kIGNvcHlyaWdodDwvYT48L2xpPjxsaSByb2xlPSJub25lIiBjbGFzcz0ibm9DaGlsZHJlbiI+PGEgcm9sZT0ibWVudWl0ZW0iIGhyZWY9Ii9jb29raWVzLmh0bWwiPkNvb2tpZSBwb2xpY3k8L2E+PC9saT48bGkgcm9sZT0ibm9uZSIgY2xhc3M9Im5vQ2hpbGRyZW4iPjxhIHJvbGU9Im1lbnVpdGVtIiBocmVmPSIvd29ya2luZy13aXRoLWlzby5odG1sIiA+Sm9iczwvYT48L2xpPjxsaSByb2xlPSJub25lIiBjbGFzcz0ibm9DaGlsZHJlbiI+PGEgcm9sZT0ibWVudWl0ZW0iIGhyZWY9Ii9mcmVxdWVudGx5LWFza2VkLXF1ZXN0aW9ucy1mYXFzLmh0bWwiPkZBUXM8L2E+PC9saT48bGkgcm9sZT0ibm9uZSIgY2xhc3M9Im5vQ2hpbGRyZW4gbGFzdEluTGV2ZWwiPjxhIHJvbGU9Im1lbnVpdGVtIiBocmVmPSIvY29udGFjdC1pc28uaHRtbCI+Q29udGFjdCBJU088L2E+PC9saT48L3VsPjwhLS0gY2xvc2Ugb2YgdWwgbGV2ZWwgLS0+PC9uYXY+PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXItc29jaWFsIHNzLWljb24gY2xlYXJmaXgiPgogICAgICAgICAgICA8dWwgaXRlbXNjb3BlIGl0ZW10eXBlPSJodHRwczovL3NjaGVtYS5vcmcvT3JnYW5pemF0aW9uIj4KICAgICAgICAgICAgICA8bGluayBpdGVtcHJvcD0idXJsIiBocmVmPSJodHRwczovL3d3dy5pc28ub3JnLyI+CiAgICAgICAgICAgICAgPGxpPjxhIGl0ZW1wcm9wPSJzYW1lQXMiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIiBocmVmPSJodHRwczovL3d3dy5saW5rZWRpbi5jb20vY29tcGFueS9pc29zdGFuZGFyZHMiIHRpdGxlPSJMaW5rZWRpbiI+75iSPC9hPjwvbGk+CiAgICAgICAgICAgICAgPGxpPjxhIGl0ZW1wcm9wPSJzYW1lQXMiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIiBocmVmPSJodHRwczovL3R3aXR0ZXIuY29tL2lzb3N0YW5kYXJkcyIgdGl0bGU9IlR3aXR0ZXIiPu+YkTwvYT48L2xpPgogICAgICAgICAgICAgIDxsaT48YSBpdGVtcHJvcD0ic2FtZUFzIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciIgaHJlZj0iaHR0cHM6Ly93d3cuZmFjZWJvb2suY29tL2lzb3N0YW5kYXJkcyIgdGl0bGU9IkZhY2Vib29rIj7vmJA8L2E+PC9saT4KICAgICAgICAgICAgICA8bGk+PGEgaXRlbXByb3A9InNhbWVBcyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3VzZXIvUGxhbmV0SVNPIiB0aXRsZT0iWW91VHViZSI+75iwPC9hPjwvbGk+CiAgICAgICAgICAgICAgPGxpPjxhIGl0ZW1wcm9wPSJzYW1lQXMiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIiBocmVmPSJodHRwczovL3d3dy5pbnN0YWdyYW0uY29tL2lzb3N0YW5kYXJkcyIgdGl0bGU9Ikluc3RhZ3JhbSI+75mBPC9hPjwvbGk+CiAgICAgICAgICAgICAgPGxpPjxhIGl0ZW1wcm9wPSJzYW1lQXMiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIiBocmVmPSJodHRwczovL3d3dy5mbGlja3IuY29tL3Bob3Rvcy9pc29zdGFuZGFyZHMiIHRpdGxlPSJGbGlja3IiPu+ZgDwvYT48L2xpPgogICAgICAgICAgICA8L3VsPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8cCBjbGFzcz0ibGVhZCI+R3JlYXQgdGhpbmdzIGhhcHBlbiB3aGVuIHRoZSB3b3JsZCBhZ3JlZXM8L3A+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtOCBjb2wtbWQtb2Zmc2V0LTIgcHVsbC1sZWZ0Ij4KICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC14cyI+V2UgYXJlIGNvbW1pdHRlZCB0byBlbnN1cmluZyB0aGF0IG91ciB3ZWJzaXRlIGlzIGFjY2Vzc2libGUgdG8gZXZlcnlvbmUuIElmIHlvdSBoYXZlIGFueSBxdWVzdGlvbnMgb3Igc3VnZ2VzdGlvbnMgcmVnYXJkaW5nIHRoZSBhY2Nlc3NpYmlsaXR5IG9mIHRoaXMgc2l0ZSwgcGxlYXNlIDxhIGhyZWY9Im1haWx0bzp3ZWJtYXN0ZXJAaXNvLm9yZz9zdWJqZWN0PUFjY2Vzc2liaWxpdHkiIHN0eWxlPSJ3aGl0ZS1zcGFjZTogbm93cmFwIj5jb250YWN0IHVzPC9hPi48L3A+CiAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtc20iPjxhIGhyZWY9IiNjb3B5cmlnaHQiIHRhcmdldD0iX3NlbGYiIGRhdGEtdG9nZ2xlPSJjb2xsYXBzZSIgYXJpYS1leHBhbmRlZD0iZmFsc2UiIGFyaWEtY29udHJvbHM9ImNvcHlyaWdodCI+wqkgQWxsIFJpZ2h0cyBSZXNlcnZlZDwvYT4gPHNwYW4gaWQ9ImNvcHlyaWdodCIgY2xhc3M9ImNvbGxhcHNlIj5BbGwgSVNPIHB1YmxpY2F0aW9ucyBhbmQgbWF0ZXJpYWxzIGFyZSBwcm90ZWN0ZWQgYnkgY29weXJpZ2h0IGFuZCBhcmUgc3ViamVjdCB0byB0aGUgdXNlcuKAmXMgYWNjZXB0YW5jZSBvZiBJU0/igJlzIGNvbmRpdGlvbnMgb2YgY29weXJpZ2h0LiBBbnkgdXNlLCBpbmNsdWRpbmcgcmVwcm9kdWN0aW9uIHJlcXVpcmVzIG91ciB3cml0dGVuIHBlcm1pc3Npb24uIEFsbCBjb3B5cmlnaHQgcmVxdWVzdHMgc2hvdWxkIGJlIGFkZHJlc3NlZCB0byA8YSBocmVmPSJtYWlsdG86Y29weXJpZ2h0QGlzby5vcmciPmNvcHlyaWdodEBpc28ub3JnPC9hPi48L3NwYW4+PC9wPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InRvcGJhciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BiYXItY29udGVudCI+CiAgICAgICAgICAgIDxhIGNsYXNzPSJsb2dvIGlzb2xvZ28gbG9nby14cyB0aGVtZS1yZWQgcG93ZXJlZGJ5IHBhZ2Utc2Nyb2xsIGxvZ28tc2Nyb2xsVG9wIiBocmVmPSIjcGFnZS10b3AiIHRpdGxlPSJTY3JvbGwgdG8gdG9wIj48L2E+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Imlzb2xvZ28tcHJpbnQiPjxpbWcgc3JjPSJodHRwczovL2Nkbi5pc28ub3JnL3Jlc291cmNlcy93b29kLzMuMy43L2ltZy9pc28vaXNvLWxvZ28tcHJpbnQuZ2lmIiBhbHQ9IklTTyBsb2dvIGZvciBwcmludCIgLz48L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icG93ZXJlZGJ5LXR4dCI+UG93ZXJlZCBieTwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0icnViYmVyIj48L2Rpdj4KICAgICAgPC9mb290ZXI+CgogICAgPC9tYWluPgoKICAgIAoKPC9ib2R5Pgo8L2h0bWw+
148
- recorded_at: Thu, 28 Jul 2022 14:51:43 GMT
148
+ recorded_at: Mon, 22 Aug 2022 14:41:06 GMT
149
149
  recorded_with: VCR 6.1.0