marketplace_opportunity_scraper 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (18) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +2 -2
  3. data/fixtures/cassettes/MarketplaceOpportunityScraper_Opportunity/_all/gets_the_correct_opportunity_data.yml +475 -629
  4. data/fixtures/cassettes/MarketplaceOpportunityScraper_Opportunity/_all/returns_all_open_opportunities.yml +474 -628
  5. data/fixtures/cassettes/MarketplaceOpportunityScraper_Opportunity/_all/when_status_is_specified/returns_the_correct_opportunities.yml +495 -5885
  6. data/fixtures/cassettes/MarketplaceOpportunityScraper_Opportunity/_all/when_type_is_specified/gets_data_that_is_not_on_the_homepage.yml +656 -271
  7. data/fixtures/cassettes/MarketplaceOpportunityScraper_Opportunity/_all/when_type_is_specified/returns_the_correct_opportunities.yml +656 -271
  8. data/fixtures/cassettes/MarketplaceOpportunityScraper_Opportunity/_awarded_to/when_an_opportunity_has_been_awarded/1_4_1_1.yml +15 -15
  9. data/fixtures/cassettes/MarketplaceOpportunityScraper_Opportunity/_awarded_to/when_an_opportunity_has_not_been_awarded/1_4_2_1.yml +15 -15
  10. data/fixtures/cassettes/MarketplaceOpportunityScraper_Opportunity/_awarded_to/when_an_opportunity_is_still_open/1_4_3_1.yml +16 -16
  11. data/fixtures/cassettes/MarketplaceOpportunityScraper_Opportunity/_find/gets_the_correct_opportunity_data.yml +15 -15
  12. data/fixtures/cassettes/MarketplaceOpportunityScraper_Opportunity/_status/when_an_opportunity_has_been_awarded/1_3_4_1.yml +15 -15
  13. data/fixtures/cassettes/MarketplaceOpportunityScraper_Opportunity/_status/when_an_opportunity_is_awaiting/1_3_2_1.yml +16 -16
  14. data/fixtures/cassettes/MarketplaceOpportunityScraper_Opportunity/_status/when_an_opportunity_is_cancelled/1_3_3_1.yml +15 -15
  15. data/fixtures/cassettes/MarketplaceOpportunityScraper_Opportunity/_status/when_an_opportunity_is_still_open/1_3_1_1.yml +15 -17
  16. data/lib/marketplace_opportunity_scraper/opportunity.rb +3 -3
  17. data/lib/marketplace_opportunity_scraper/version.rb +1 -1
  18. metadata +2 -2
@@ -2,7 +2,7 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: get
5
- uri: https://www.digitalmarketplace.service.gov.uk/digital-outcomes-and-specialists/opportunities/12543
5
+ uri: https://www.digitalmarketplace.service.gov.uk/digital-outcomes-and-specialists/opportunities/13198
6
6
  body:
7
7
  encoding: US-ASCII
8
8
  string: ''
@@ -17,8 +17,6 @@ http_interactions:
17
17
  - ISO-8859-1,utf-8;q=0.7,*;q=0.7
18
18
  Accept-Language:
19
19
  - en-us,en;q=0.5
20
- Cookie:
21
- - dm_cookie_probe=yum; dm_session=eyJfZnJlc2giOmZhbHNlLCJfcGVybWFuZW50Ijp0cnVlfQ.Xun8AA.Whis01EBzm6gEJEC2_kKA3bV1XI
22
20
  Host:
23
21
  - www.digitalmarketplace.service.gov.uk
24
22
  Connection:
@@ -33,48 +31,48 @@ http_interactions:
33
31
  Content-Type:
34
32
  - text/html; charset=utf-8
35
33
  Content-Length:
36
- - '29730'
34
+ - '40249'
37
35
  Connection:
38
36
  - keep-alive
39
37
  Date:
40
- - Wed, 17 Jun 2020 11:18:24 GMT
38
+ - Wed, 30 Sep 2020 10:27:09 GMT
41
39
  Dm-Request-Id:
42
- - fd450f5b712dd0d8
40
+ - 72289455ad462a6b
43
41
  Server:
44
42
  - nginx
45
43
  Set-Cookie:
46
- - dm_cookie_probe=yum; Expires=Thu, 17-Jun-2021 11:18:24 GMT; Max-Age=31536000.0;
44
+ - dm_cookie_probe=yum; Expires=Thu, 30-Sep-2021 10:27:09 GMT; Max-Age=31536000.0;
47
45
  Path=/
48
- - dm_session=eyJfZnJlc2giOmZhbHNlLCJfcGVybWFuZW50Ijp0cnVlfQ.Xun8AA.Whis01EBzm6gEJEC2_kKA3bV1XI;
49
- Expires=Wed, 17-Jun-2020 12:18:24 GMT; Secure; HttpOnly; Path=/; SameSite=Lax
46
+ - dm_session=eyJfZnJlc2giOmZhbHNlLCJfcGVybWFuZW50Ijp0cnVlfQ.X3RdfQ.zrlpO8aoe431mdfjGZyp-IP2avY;
47
+ Expires=Wed, 30-Sep-2020 11:27:09 GMT; Secure; HttpOnly; Path=/; SameSite=Lax
50
48
  Strict-Transport-Security:
51
49
  - max-age=31536000; includeSubdomains
52
50
  Vary:
53
51
  - Cookie
54
52
  X-B3-Spanid:
55
- - fd450f5b712dd0d8
53
+ - 72289455ad462a6b
56
54
  X-B3-Traceid:
57
- - fd450f5b712dd0d8
55
+ - 72289455ad462a6b
58
56
  X-Content-Type-Options:
59
57
  - nosniff
60
58
  X-Frame-Options:
61
59
  - DENY
62
60
  X-Vcap-Request-Id:
63
- - 1acbb993-7410-423b-65a5-164a415defaa
61
+ - 38643d9c-1f3a-4544-47a8-89c3b5fa78f4
64
62
  X-Xss-Protection:
65
63
  - 1; mode=block
66
64
  X-Cache:
67
65
  - Miss from cloudfront
68
66
  Via:
69
- - 1.1 b2ce71f6c09ab30df63d53e155a1cded.cloudfront.net (CloudFront)
67
+ - 1.1 6c973aa0cbaa9809a414d7a4e20e26ce.cloudfront.net (CloudFront)
70
68
  X-Amz-Cf-Pop:
71
69
  - LHR61-C1
72
70
  X-Amz-Cf-Id:
73
- - WRMsKNT88l4-T1_sYMJZI7m7qLqAz3dStdcGQkMj0QWSGpvpj3H3OA==
71
+ - PATBRVb2JY05LN1E_5Fc1-Kl0CnI9xPKiuP2zZqBcSL5hglvEXKAgg==
74
72
  body:
75
73
  encoding: ASCII-8BIT
76
74
  string: !binary |-
77
- CjwhRE9DVFlQRSBodG1sPgo8aHRtbCBsYW5nPSJlbiIgY2xhc3M9ImdvdnVrLXRlbXBsYXRlICI+CiAgPGhlYWQ+CiAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KICAgIDx0aXRsZT4KICBEZXZlbG9wZXIgLSBMYXcgRW5mb3JjZW1lbnQgYW5kIFNlY3VyaXR5IGZvciBEYXRhIFNlcnZpY2VzICZhbXA7IEFuYWx5dGljcyAoMi8yKSAtIERpZ2l0YWwgTWFya2V0cGxhY2UKPC90aXRsZT4KICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdmlld3BvcnQtZml0PWNvdmVyIj4KICAgIDxtZXRhIG5hbWU9InRoZW1lLWNvbG9yIiBjb250ZW50PSIjMGIwYzBjIiAvPiAKICAgIAogICAgPG1ldGEgaHR0cC1lcXVpdj0iWC1VQS1Db21wYXRpYmxlIiBjb250ZW50PSJJRT1lZGdlIiAvPgoKICAgIAogICAgICA8bGluayByZWw9InNob3J0Y3V0IGljb24iIHNpemVzPSIxNngxNiAzMngzMiA0OHg0OCIgaHJlZj0iL3N0YXRpYy9pbWFnZXMvZmF2aWNvbi5pY28iIHR5cGU9ImltYWdlL3gtaWNvbiIgLz4KICAgICAgPGxpbmsgcmVsPSJtYXNrLWljb24iIGhyZWY9Ii9zdGF0aWMvaW1hZ2VzL2dvdnVrLW1hc2staWNvbi5zdmciIGNvbG9yPSIjMGIwYzBjIj4gCiAgICAgIDxsaW5rIHJlbD0iYXBwbGUtdG91Y2gtaWNvbiIgc2l6ZXM9IjE4MHgxODAiIGhyZWY9Ii9zdGF0aWMvaW1hZ2VzL2dvdnVrLWFwcGxlLXRvdWNoLWljb24tMTgweDE4MC5wbmciPgogICAgICA8bGluayByZWw9ImFwcGxlLXRvdWNoLWljb24iIHNpemVzPSIxNjd4MTY3IiBocmVmPSIvc3RhdGljL2ltYWdlcy9nb3Z1ay1hcHBsZS10b3VjaC1pY29uLTE2N3gxNjcucG5nIj4KICAgICAgPGxpbmsgcmVsPSJhcHBsZS10b3VjaC1pY29uIiBzaXplcz0iMTUyeDE1MiIgaHJlZj0iL3N0YXRpYy9pbWFnZXMvZ292dWstYXBwbGUtdG91Y2gtaWNvbi0xNTJ4MTUyLnBuZyI+CiAgICAgIDxsaW5rIHJlbD0iYXBwbGUtdG91Y2gtaWNvbiIgaHJlZj0iL3N0YXRpYy9pbWFnZXMvZ292dWstYXBwbGUtdG91Y2gtaWNvbi5wbmciPgogICAgCgogICAgCiAgCgoKCgoKCgoKICAKICA8bWV0YSBuYW1lPSJnb29nbGUtc2l0ZS12ZXJpZmljYXRpb24iIGNvbnRlbnQ9IlRLR1NHWm5mSHB4MS1sS090aEkxN0FOdHdrN2Z6M0Y0U2JyNzdJMHBwTzAiPgoKICA8bGluayB0eXBlPSJ0ZXh0L2NzcyIgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvc3RhdGljL3N0eWxlc2hlZXRzL2FwcGxpY2F0aW9uLmNzcz82Zjk3MWI0ZDdmNTNhMmU4MTY2YjNlNmE0OTdmOGYwYyIgLz4KICAKCiAgICAKICAgIAogICAgPG1ldGEgcHJvcGVydHk9Im9nOmltYWdlIiBjb250ZW50PSIvc3RhdGljL2ltYWdlcy9nb3Z1ay1vcGVuZ3JhcGgtaW1hZ2UucG5nIj4KICA8L2hlYWQ+CiAgPGJvZHkgY2xhc3M9ImdvdnVrLXRlbXBsYXRlX19ib2R5ICI+CiAgICA8c2NyaXB0PmRvY3VtZW50LmJvZHkuY2xhc3NOYW1lID0gKChkb2N1bWVudC5ib2R5LmNsYXNzTmFtZSkgPyBkb2N1bWVudC5ib2R5LmNsYXNzTmFtZSArICcganMtZW5hYmxlZCcgOiAnanMtZW5hYmxlZCcpOzwvc2NyaXB0PgogICAgCgogICAgCiAgICAgIDxhIGhyZWY9IiNtYWluLWNvbnRlbnQiIGNsYXNzPSJnb3Z1ay1za2lwLWxpbmsiPlNraXAgdG8gbWFpbiBjb250ZW50PC9hPgogICAgCgogICAgCiAgCiAgCgoKCgo8ZGl2IGlkPSJkbS1jb29raWUtYmFubmVyIiBjbGFzcz0iZG0tY29va2llLWJhbm5lciBnb3Z1ay13aWR0aC1jb250YWluZXIiIGRhdGEtbW9kdWxlPSJkbS1jb29raWUtYmFubmVyIiByb2xlPSJyZWdpb24iIGFyaWEtZGVzY3JpYmVkYnk9ImRtLWNvb2tpZS1iYW5uZXJfX2hlYWRpbmciPgogIDxkaXYgY2xhc3M9ImRtLWNvb2tpZS1iYW5uZXJfX3dyYXBwZXIiPgogICAgPGgyIGNsYXNzPSJkbS1jb29raWUtYmFubmVyX19oZWFkaW5nIGdvdnVrLWhlYWRpbmctbSIgaWQ9ImRtLWNvb2tpZS1iYW5uZXJfX2hlYWRpbmciPgogICAgICBDYW4gd2Ugc3RvcmUgYW5hbHl0aWNzIGNvb2tpZXMgb24geW91ciBkZXZpY2U/CiAgICA8L2gyPgogICAgPHAgY2xhc3M9ImdvdnVrLWJvZHkiPgogICAgICBBbmFseXRpY3MgY29va2llcyBoZWxwIHVzIHVuZGVyc3RhbmQgaG93IG91ciB3ZWJzaXRlIGlzIGJlaW5nIHVzZWQuCiAgICA8L3A+CiAgICA8ZGl2IGNsYXNzPSJkbS1jb29raWUtYmFubmVyX19idXR0b25zIj4KICAgICAgPGJ1dHRvbiBjbGFzcz0iZ292dWstYnV0dG9uIGRtLWNvb2tpZS1iYW5uZXJfX2J1dHRvbiBkbS1jb29raWUtYmFubmVyX19idXR0b24tLWFjY2VwdCIgdHlwZT0ic3VibWl0IiBkYXRhLWFjY2VwdC1jb29raWVzPSJ0cnVlIiBhcmlhLWRlc2NyaWJlZGJ5PSJkbS1jb29raWUtYmFubmVyX19oZWFkaW5nIj4KICAgICAgICBZZXM8c3BhbiBjbGFzcz0iZ292dWstdmlzdWFsbHktaGlkZGVuIj4sIERpZ2l0YWwgTWFya2V0cGxhY2UgY2FuIHN0b3JlIGFuYWx5dGljcyBjb29raWVzIG9uIHlvdXIgZGV2aWNlPC9zcGFuPgogICAgICA8L2J1dHRvbj4KICAgICAgPGJ1dHRvbiBjbGFzcz0iZ292dWstYnV0dG9uIGRtLWNvb2tpZS1iYW5uZXJfX2J1dHRvbiBkbS1jb29raWUtYmFubmVyX19idXR0b24tLXJlamVjdCIgdHlwZT0ic3VibWl0IiBkYXRhLWFjY2VwdC1jb29raWVzPSJmYWxzZSIgYXJpYS1kZXNjcmliZWRieT0iZG0tY29va2llLWJhbm5lcl9faGVhZGluZyI+CiAgICAgICAgTm88c3BhbiBjbGFzcz0iZ292dWstdmlzdWFsbHktaGlkZGVuIj4sIERpZ2l0YWwgTWFya2V0cGxhY2UgY2Fubm90IHN0b3JlIGFuYWx5dGljcyBjb29raWVzIG9uIHlvdXIgZGV2aWNlPC9zcGFuPgogICAgICA8L2J1dHRvbj4KICAgICAgPGEgY2xhc3M9ImdvdnVrLWxpbmsgZG0tY29va2llLWJhbm5lcl9fbGluayIgaHJlZj0iL2Nvb2tpZXMiPkhvdyBEaWdpdGFsIE1hcmtldHBsYWNlIHVzZXMgY29va2llczwvYT4KICAgIDwvZGl2PgogIDwvZGl2PgoKICA8ZGl2IGNsYXNzPSJkbS1jb29raWUtYmFubmVyX19jb25maXJtYXRpb24iIHRhYmluZGV4PSItMSI+CiAgICA8cCBjbGFzcz0iZG0tY29va2llLWJhbm5lcl9fY29uZmlybWF0aW9uLW1lc3NhZ2UgZ292dWstYm9keSI+CiAgICAgIFlvdSBjYW4gPGEgY2xhc3M9ImdvdnVrLWxpbmsiIGhyZWY9Ii91c2VyL2Nvb2tpZS1zZXR0aW5ncyI+Y2hhbmdlIHlvdXIgY29va2llIHNldHRpbmdzPC9hPiBhdCBhbnkgdGltZS4KICAgIDwvcD4KICAgIDxidXR0b24gY2xhc3M9ImRtLWNvb2tpZS1iYW5uZXJfX2hpZGUtYnV0dG9uIGdvdnVrLWxpbmsiIGRhdGEtaGlkZS1jb29raWUtYmFubmVyPSJ0cnVlIiByb2xlPSJsaW5rIj5IaWRlPC9idXR0b24+CiAgPC9kaXY+CjwvZGl2PgoKICAKCgoKCgogIAogIAoKCgogIAoKPGhlYWRlciBjbGFzcz0iZ292dWstaGVhZGVyICIgcm9sZT0iYmFubmVyIiBkYXRhLW1vZHVsZT0iaGVhZGVyIj4KICA8ZGl2IGNsYXNzPSJnb3Z1ay1oZWFkZXJfX2NvbnRhaW5lciBnb3Z1ay13aWR0aC1jb250YWluZXIiPgoKICAgIDxkaXYgY2xhc3M9ImdvdnVrLWhlYWRlcl9fbG9nbyI+CiAgICAgIDxhIGhyZWY9Ii8iIGNsYXNzPSJnb3Z1ay1oZWFkZXJfX2xpbmsgZ292dWstaGVhZGVyX19saW5rLS1ob21lcGFnZSI+CiAgICAgICAgPHNwYW4gY2xhc3M9ImdvdnVrLWhlYWRlcl9fbG9nb3R5cGUiPgogICAgICAgICAgCiAgICAgICAgICA8c3ZnCiAgICAgICAgICAgIHJvbGU9InByZXNlbnRhdGlvbiIKICAgICAgICAgICAgZm9jdXNhYmxlPSJmYWxzZSIKICAgICAgICAgICAgY2xhc3M9ImdvdnVrLWhlYWRlcl9fbG9nb3R5cGUtY3Jvd24iCiAgICAgICAgICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgICAgICAgICAgdmlld2JveD0iMCAwIDEzMiA5NyIKICAgICAgICAgICAgaGVpZ2h0PSIzMiIKICAgICAgICAgICAgd2lkdGg9IjM2IgogICAgICAgICAgPgogICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIgogICAgICAgICAgICAgIGQ9Ik0yNSAzMC4yYzMuNSAxLjUgNy43LS4yIDkuMS0zLjcgMS41LTMuNi0uMi03LjgtMy45LTkuMi0zLjYtMS40LTcuNi4zLTkuMSAzLjktMS40IDMuNS4zIDcuNSAzLjkgOXpNOSAzOS41YzMuNiAxLjUgNy44LS4yIDkuMi0zLjcgMS41LTMuNi0uMi03LjgtMy45LTkuMS0zLjYtMS41LTcuNi4yLTkuMSAzLjgtMS40IDMuNS4zIDcuNSAzLjggOXpNNC40IDU3LjJjMy41IDEuNSA3LjctLjIgOS4xLTMuOCAxLjUtMy42LS4yLTcuNy0zLjktOS4xLTMuNS0xLjUtNy42LjMtOS4xIDMuOC0xLjQgMy41LjMgNy42IDMuOSA5LjF6bTM4LjMtMjEuNGMzLjUgMS41IDcuNy0uMiA5LjEtMy44IDEuNS0zLjYtLjItNy43LTMuOS05LjEtMy42LTEuNS03LjYuMy05LjEgMy44LTEuMyAzLjYuNCA3LjcgMy45IDkuMXptNjQuNC01LjZjLTMuNiAxLjUtNy44LS4yLTkuMS0zLjctMS41LTMuNi4yLTcuOCAzLjgtOS4yIDMuNi0xLjQgNy43LjMgOS4yIDMuOSAxLjMgMy41LS40IDcuNS0zLjkgOXptMTUuOSA5LjNjLTMuNiAxLjUtNy43LS4yLTkuMS0zLjctMS41LTMuNi4yLTcuOCAzLjctOS4xIDMuNi0xLjUgNy43LjIgOS4yIDMuOCAxLjUgMy41LS4zIDcuNS0zLjggOXptNC43IDE3LjdjLTMuNiAxLjUtNy44LS4yLTkuMi0zLjgtMS41LTMuNi4yLTcuNyAzLjktOS4xIDMuNi0xLjUgNy43LjMgOS4yIDMuOCAxLjMgMy41LS40IDcuNi0zLjkgOS4xek04OS4zIDM1LjhjLTMuNiAxLjUtNy44LS4yLTkuMi0zLjgtMS40LTMuNi4yLTcuNyAzLjktOS4xIDMuNi0xLjUgNy43LjMgOS4yIDMuOCAxLjQgMy42LS4zIDcuNy0zLjkgOS4xek02OS43IDE3LjdsOC45IDQuN1Y5LjNsLTguOSAyLjhjLS4yLS4zLS41LS42LS45LS45TDcyLjQgMEg1OS42bDMuNSAxMS4yYy0uMy4zLS42LjUtLjkuOWwtOC44LTIuOHYxMy4xbDguOC00LjdjLjMuMy42LjcuOS45bC01IDE1LjR2LjFjLS4yLjgtLjQgMS42LS40IDIuNCAwIDQuMSAzLjEgNy41IDcgOC4xaC4yYy4zIDAgLjcuMSAxIC4xLjQgMCAuNyAwIDEtLjFoLjJjNC0uNiA3LjEtNC4xIDcuMS04LjEgMC0uOC0uMS0xLjctLjQtMi40VjM0bC01LjEtMTUuNGMuNC0uMi43LS42IDEtLjl6TTY2IDkyLjhjMTYuOSAwIDMyLjggMS4xIDQ3LjEgMy4yIDQtMTYuOSA4LjktMjYuNyAxNC0zMy41bC05LjYtMy40YzEgNC45IDEuMSA3LjIgMCAxMC4yLTEuNS0xLjQtMy00LjMtNC4yLTguN0wxMDguNiA3NmMyLjgtMiA1LTMuMiA3LjUtMy4zLTQuNCA5LjQtMTAgMTEuOS0xMy42IDExLjItNC4zLS44LTYuMy00LjYtNS42LTcuOSAxLTQuNyA1LjctNS45IDgtLjUgNC4zLTguNy0zLTExLjQtNy42LTguOCA3LjEtNy4yIDcuOS0xMy41IDIuMS0yMS4xLTggNi4xLTguMSAxMi4zLTQuNSAyMC44LTQuNy01LjQtMTIuMS0yLjUtOS41IDYuMiAzLjQtNS4yIDcuOS0yIDcuMiAzLjEtLjYgNC4zLTYuNCA3LjgtMTMuNSA3LjItMTAuMy0uOS0xMC45LTgtMTEuMi0xMy44IDIuNS0uNSA3LjEgMS44IDExIDcuM0w4MC4yIDYwYy00LjEgNC40LTggNS4zLTEyLjMgNS40IDEuNC00LjQgOC0xMS42IDgtMTEuNkg1NS41czYuNCA3LjIgNy45IDExLjZjLTQuMi0uMS04LTEtMTIuMy01LjRsMS40IDE2LjRjMy45LTUuNSA4LjUtNy43IDEwLjktNy4zLS4zIDUuOC0uOSAxMi44LTExLjEgMTMuOC03LjIuNi0xMi45LTIuOS0xMy41LTcuMi0uNy01IDMuOC04LjMgNy4xLTMuMSAyLjctOC43LTQuNi0xMS42LTkuNC02LjIgMy43LTguNSAzLjYtMTQuNy00LjYtMjAuOC01LjggNy42LTUgMTMuOSAyLjIgMjEuMS00LjctMi42LTExLjkuMS03LjcgOC44IDIuMy01LjUgNy4xLTQuMiA4LjEuNS43IDMuMy0xLjMgNy4xLTUuNyA3LjktMy41LjctOS0xLjgtMTMuNS0xMS4yIDIuNS4xIDQuNyAxLjMgNy41IDMuM2wtNC43LTE1LjRjLTEuMiA0LjQtMi43IDcuMi00LjMgOC43LTEuMS0zLS45LTUuMyAwLTEwLjJsLTkuNSAzLjRjNSA2LjkgOS45IDE2LjcgMTQgMzMuNSAxNC44LTIuMSAzMC44LTMuMiA0Ny43LTMuMnoiCiAgICAgICAgICAgID48L3BhdGg+CiAgICAgICAgICAgIAogICAgICAgICAgICA8aW1hZ2Ugc3JjPSIvYXNzZXRzL2ltYWdlcy9nb3Z1ay1sb2dvdHlwZS1jcm93bi5wbmciIHhsaW5rOmhyZWY9IiIgY2xhc3M9ImdvdnVrLWhlYWRlcl9fbG9nb3R5cGUtY3Jvd24tZmFsbGJhY2staW1hZ2UiIHdpZHRoPSIzNiIgaGVpZ2h0PSIzMiI+PC9pbWFnZT4KICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgPHNwYW4gY2xhc3M9ImdvdnVrLWhlYWRlcl9fbG9nb3R5cGUtdGV4dCI+CiAgICAgICAgICAgIEdPVi5VSwogICAgICAgICAgPC9zcGFuPgogICAgICAgIDwvc3Bhbj4KICAgICAgICAKICAgICAgICA8c3BhbiBjbGFzcz0iZ292dWstaGVhZGVyX19wcm9kdWN0LW5hbWUiPgogICAgICAgICAgRGlnaXRhbCBNYXJrZXRwbGFjZQogICAgICAgIDwvc3Bhbj4KICAgICAgICAKICAgICAgPC9hPgogICAgPC9kaXY+CiAgICAKICAgIDxkaXYgY2xhc3M9ImdvdnVrLWhlYWRlcl9fY29udGVudCI+CgogICAgCgogICAgCiAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgcm9sZT0iYnV0dG9uIiBjbGFzcz0iZ292dWstaGVhZGVyX19tZW51LWJ1dHRvbiBqcy1oZWFkZXItdG9nZ2xlIiBhcmlhLWNvbnRyb2xzPSJuYXZpZ2F0aW9uIiBhcmlhLWxhYmVsPSJTaG93IG9yIGhpZGUgVG9wIExldmVsIE5hdmlnYXRpb24iPk1lbnU8L2J1dHRvbj4KICAgIDxuYXY+CiAgICAgIDx1bCBpZD0ibmF2aWdhdGlvbiIgY2xhc3M9ImdvdnVrLWhlYWRlcl9fbmF2aWdhdGlvbiAiIGFyaWEtbGFiZWw9IlRvcCBMZXZlbCBOYXZpZ2F0aW9uIj4KICAgICAgICAKICAgICAgICAgIAogICAgICAgICAgICA8bGkgY2xhc3M9ImdvdnVrLWhlYWRlcl9fbmF2aWdhdGlvbi1pdGVtIj4KICAgICAgICAgICAgICA8YSBjbGFzcz0iZ292dWstaGVhZGVyX19saW5rIiBocmVmPSJodHRwczovL3d3dy5nb3YudWsvZ3VpZGFuY2UvYnV5aW5nLWFuZC1zZWxsaW5nLW9uLXRoZS1kaWdpdGFsLW1hcmtldHBsYWNlIj4KICAgICAgICAgICAgICAgIEd1aWRhbmNlCiAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAKICAgICAgICAgICAgPGxpIGNsYXNzPSJnb3Z1ay1oZWFkZXJfX25hdmlnYXRpb24taXRlbSI+CiAgICAgICAgICAgICAgPGEgY2xhc3M9ImdvdnVrLWhlYWRlcl9fbGluayIgaHJlZj0iL2hlbHAiPgogICAgICAgICAgICAgICAgSGVscAogICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgCiAgICAgICAgICAgIDxsaSBjbGFzcz0iZ292dWstaGVhZGVyX19uYXZpZ2F0aW9uLWl0ZW0iPgogICAgICAgICAgICAgIDxhIGNsYXNzPSJnb3Z1ay1oZWFkZXJfX2xpbmsiIGhyZWY9Ii91c2VyL2xvZ2luIj4KICAgICAgICAgICAgICAgIExvZyBpbgogICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgIAogICAgICAgIAogICAgICA8L3VsPgogICAgPC9uYXY+CiAgICAKICAgIDwvZGl2PgogICAgCiAgPC9kaXY+CjwvaGVhZGVyPgoKCiAgICAKICAgICAgPGRpdiBjbGFzcz0iZ292dWstd2lkdGgtY29udGFpbmVyIj4KICAgICAgICAKICAKICAgIDxkaXYgY2xhc3M9ImdvdnVrLXBoYXNlLWJhbm5lciI+CiAgPHAgY2xhc3M9ImdvdnVrLXBoYXNlLWJhbm5lcl9fY29udGVudCI+PHN0cm9uZyBjbGFzcz0iZ292dWstdGFnIGdvdnVrLXBoYXNlLWJhbm5lcl9fY29udGVudF9fdGFnICI+CiAgYmV0YQo8L3N0cm9uZz48c3BhbiBjbGFzcz0iZ292dWstcGhhc2UtYmFubmVyX190ZXh0Ij4KICAgICAgSGVscCB1cyBpbXByb3ZlIHRoZSBEaWdpdGFsIE1hcmtldHBsYWNlIC0gPGEgY2xhc3M9ImdvdnVrLWxpbmsiIGhyZWY9Ii9oZWxwIj5zZW5kIHlvdXIgZmVlZGJhY2s8L2E+CiAgICA8L3NwYW4+CiAgPC9wPgo8L2Rpdj4KICAKICAKPGRpdiBjbGFzcz0iZ292dWstYnJlYWRjcnVtYnMiPgogIDxvbCBjbGFzcz0iZ292dWstYnJlYWRjcnVtYnNfX2xpc3QiPgogIAogICAgCiAgICA8bGkgY2xhc3M9ImdvdnVrLWJyZWFkY3J1bWJzX19saXN0LWl0ZW0iPgogICAgICA8YSBjbGFzcz0iZ292dWstYnJlYWRjcnVtYnNfX2xpbmsiIGhyZWY9Ii8iPkRpZ2l0YWwgTWFya2V0cGxhY2U8L2E+CiAgICA8L2xpPgogICAgCiAgCiAgICAKICAgIDxsaSBjbGFzcz0iZ292dWstYnJlYWRjcnVtYnNfX2xpc3QtaXRlbSI+CiAgICAgIDxhIGNsYXNzPSJnb3Z1ay1icmVhZGNydW1ic19fbGluayIgaHJlZj0iL2RpZ2l0YWwtb3V0Y29tZXMtYW5kLXNwZWNpYWxpc3RzL29wcG9ydHVuaXRpZXMiPlN1cHBsaWVyIG9wcG9ydHVuaXRpZXM8L2E+CiAgICA8L2xpPgogICAgCiAgCiAgPC9vbD4KPC9kaXY+CgoKICAgICAgICA8bWFpbiBjbGFzcz0iZ292dWstbWFpbi13cmFwcGVyICIgaWQ9Im1haW4tY29udGVudCIgcm9sZT0ibWFpbiI+CiAgICAgICAgICAKICAKICAKCiAgCiAgICAKICAKICAKCgoKPGRpdiBjbGFzcz0iZ292dWstZ3JpZC1yb3ciPgogIDxkaXYgY2xhc3M9ImdvdnVrLWdyaWQtY29sdW1uLXR3by10aGlyZHMiPgogICAgPHNwYW4gY2xhc3M9ImdvdnVrLWNhcHRpb24tbCI+RGF0YSBTZXJ2aWNlIGFuZCBBbmFseXRpY3MgKERTQSksIEhvbWUgT2ZmaWNlPC9zcGFuPgogICAgPGgxIGNsYXNzPSJnb3Z1ay1oZWFkaW5nLWwiPkRldmVsb3BlciAtIExhdyBFbmZvcmNlbWVudCBhbmQgU2VjdXJpdHkgZm9yIERhdGEgU2VydmljZXMgJmFtcDsgQW5hbHl0aWNzICgyLzIpPC9oMT4KICAgIDxzcGFuIGRhdGEtbG90PSJkaWdpdGFsLXNwZWNpYWxpc3RzIj48L3NwYW4+CiAgPC9kaXY+CjwvZGl2PgoKPGRpdiBjbGFzcz0iZ292dWstZ3JpZC1yb3cgZ292dWstIS1tYXJnaW4tYm90dG9tLTkiPgogIDxkaXYgY2xhc3M9ImdvdnVrLWdyaWQtY29sdW1uLW9uZS10aGlyZCBhcHAtc3RhdC1ibG9jayIgaWQ9ImluY29tcGxldGUtYXBwbGljYXRpb25zIj4KICAgPGgyPgogICAgICA8c3BhbiBjbGFzcz0iZ292dWstIS1mb250LXNpemUtMzYgZ292dWstIS1kaXNwbGF5LWJsb2NrIj4xPC9zcGFuPgogICAgICA8c3Bhbj5JbmNvbXBsZXRlIGFwcGxpY2F0aW9uPC9zcGFuPgogICA8L2gyPgogICA8cCBjbGFzcz0iZ292dWstYm9keSBnb3Z1ay0hLWZvbnQtc2l6ZS0xNiI+MSBTTUUsIDAgbGFyZ2U8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJnb3Z1ay1ncmlkLWNvbHVtbi1vbmUtdGhpcmQgYXBwLXN0YXQtYmxvY2siIGlkPSJjb21wbGV0ZWQtYXBwbGljYXRpb25zIj4KICAgPGgyPgogICAgICA8c3BhbiBjbGFzcz0iZ292dWstIS1mb250LXNpemUtMzYgZ292dWstIS1kaXNwbGF5LWJsb2NrIj4wPC9zcGFuPgogICAgICA8c3Bhbj5Db21wbGV0ZWQgYXBwbGljYXRpb25zPC9zcGFuPgogICA8L2gyPgogICA8cCBjbGFzcz0iZ292dWstYm9keSBnb3Z1ay0hLWZvbnQtc2l6ZS0xNiI+PC9wPgo8L2Rpdj4KCjwvZGl2PgoKPGRpdiBjbGFzcz0iZ292dWstZ3JpZC1yb3ciPgogIDxkaXYgY2xhc3M9ImdvdnVrLWdyaWQtY29sdW1uLWZ1bGwiPgogICAgCgo8aDIgY2xhc3M9ImdvdnVrLXZpc3VhbGx5LWhpZGRlbiI+SW1wb3J0YW50IGRhdGVzPC9oMj4KCgoKICAKCiAgCgogIAo8ZGwgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdCBhcHAtZ292dWstc3VtbWFyeS1saXN0IGFwcC1nb3Z1ay1zdW1tYXJ5LWxpc3QtLXRvcC1ib3JkZXIgZ292dWstIS1tYXJnaW4tYm90dG9tLTgiIGlkPSJvcHBvcnR1bml0eS1pbXBvcnRhbnQtZGF0ZXMiPgogIAogICAgPGRpdiBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19yb3ciPgogICAgICA8ZHQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5Ij4KICAgICAgICBQdWJsaXNoZWQKICAgICAgPC9kdD4KICAgICAgPGRkIGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlIj4KICAgICAgICBXZWRuZXNkYXkgMTcgSnVuZSAyMDIwCiAgICAgIDwvZGQ+CiAgICAgIAogICAgPC9kaXY+CiAgCiAgICA8ZGl2IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3JvdyI+CiAgICAgIDxkdCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19rZXkiPgogICAgICAgIERlYWRsaW5lIGZvciBhc2tpbmcgcXVlc3Rpb25zCiAgICAgIDwvZHQ+CiAgICAgIDxkZCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSI+CiAgICAgICAgV2VkbmVzZGF5IDI0IEp1bmUgMjAyMCBhdCAxMTo1OXBtIEdNVAogICAgICA8L2RkPgogICAgICAKICAgIDwvZGl2PgogIAogICAgPGRpdiBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19yb3ciPgogICAgICA8ZHQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5Ij4KICAgICAgICBDbG9zaW5nIGRhdGUgZm9yIGFwcGxpY2F0aW9ucwogICAgICA8L2R0PgogICAgICA8ZGQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUiPgogICAgICAgIFdlZG5lc2RheSAxIEp1bHkgMjAyMCBhdCAxMTo1OXBtIEdNVAogICAgICA8L2RkPgogICAgICAKICAgIDwvZGl2PgogIAo8L2RsPgoKCiAgPGgyIGlkPSJvcHBvcnR1bml0eS1hdHRyaWJ1dGVzLTEiIGNsYXNzPSJnb3Z1ay1oZWFkaW5nLW0gYXBwLXN1bW1hcnktbGlzdC1oZWFkaW5nIj5PdmVydmlldzwvaDI+CiAgCiAgCgoKICAKCiAgCgogIAoKICAKCiAgCgogIAoKICAKPGRsIGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3QgYXBwLWdvdnVrLXN1bW1hcnktbGlzdCBhcHAtZ292dWstc3VtbWFyeS1saXN0LS10b3AtYm9yZGVyIGdvdnVrLSEtbWFyZ2luLWJvdHRvbS04Ij4KICAKICAgIDxkaXYgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fcm93Ij4KICAgICAgPGR0IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleSI+CiAgICAgICAgU3BlY2lhbGlzdCByb2xlCiAgICAgIDwvZHQ+CiAgICAgIDxkZCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSI+CiAgICAgICAgRGV2ZWxvcGVyCiAgICAgIDwvZGQ+CiAgICAgIAogICAgPC9kaXY+CiAgCiAgICA8ZGl2IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3JvdyI+CiAgICAgIDxkdCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19rZXkiPgogICAgICAgIFN1bW1hcnkgb2YgdGhlIHdvcmsKICAgICAgPC9kdD4KICAgICAgPGRkIGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlIj4KICAgICAgICBBIERldmVsb3BlciB0byBiZSBwYXJ0IG9mIGEgZGVsaXZlcnkgdGVhbSBkZXZlbG9waW5nIHByb2R1Y3RzIGFuZCBzZXJ2aWNlcyB3aXRoIG9wZXJhdGlvbmFsIGltcGFjdCBmb3IgTGF3IEVuZm9yY2VtZW50IGFuZCBTZWN1cml0eSB1c2Vycy4gPGJyPlN1cHBvcnRpbmcgdGhlIGRlbGl2ZXJ5IG9mIGFuIGVuZC10by1lbmQgcHJvY2VzcyBhdCB0aGUgY29yZSBvZiB0aGUgSG9tZSBPZmZpY2XigJlzIGR1dHkgdG8ga2VlcCBjaXRpemVucyBzYWZlIGFuZCB0aGUgY291bnRyeSBzZWN1cmUuCiAgICAgIDwvZGQ+CiAgICAgIAogICAgPC9kaXY+CiAgCiAgICA8ZGl2IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3JvdyI+CiAgICAgIDxkdCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19rZXkiPgogICAgICAgIExhdGVzdCBzdGFydCBkYXRlCiAgICAgIDwvZHQ+CiAgICAgIDxkZCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSI+CiAgICAgICAgTW9uZGF5IDEzIEp1bHkgMjAyMAogICAgICA8L2RkPgogICAgICAKICAgIDwvZGl2PgogIAogICAgPGRpdiBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19yb3ciPgogICAgICA8ZHQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5Ij4KICAgICAgICBFeHBlY3RlZCBjb250cmFjdCBsZW5ndGgKICAgICAgPC9kdD4KICAgICAgPGRkIGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlIj4KICAgICAgICBNYXggMiB5ZWFycwogICAgICA8L2RkPgogICAgICAKICAgIDwvZGl2PgogIAogICAgPGRpdiBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19yb3ciPgogICAgICA8ZHQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5Ij4KICAgICAgICBMb2NhdGlvbgogICAgICA8L2R0PgogICAgICA8ZGQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUiPgogICAgICAgIExvbmRvbgogICAgICA8L2RkPgogICAgICAKICAgIDwvZGl2PgogIAogICAgPGRpdiBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19yb3ciPgogICAgICA8ZHQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5Ij4KICAgICAgICBPcmdhbmlzYXRpb24gdGhlIHdvcmsgaXMgZm9yCiAgICAgIDwvZHQ+CiAgICAgIDxkZCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSI+CiAgICAgICAgRGF0YSBTZXJ2aWNlIGFuZCBBbmFseXRpY3MgKERTQSksIEhvbWUgT2ZmaWNlCiAgICAgIDwvZGQ+CiAgICAgIAogICAgPC9kaXY+CiAgCiAgICA8ZGl2IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3JvdyI+CiAgICAgIDxkdCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19rZXkiPgogICAgICAgIE1heGltdW0gZGF5IHJhdGUKICAgICAgPC9kdD4KICAgICAgPGRkIGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlIj4KICAgICAgICDCozU1MCBleGNsdWRpbmcgVkFUCiAgICAgIDwvZGQ+CiAgICAgIAogICAgPC9kaXY+CiAgCjwvZGw+CgogIDxoMiBpZD0ib3Bwb3J0dW5pdHktYXR0cmlidXRlcy0yIiBjbGFzcz0iZ292dWstaGVhZGluZy1tIGFwcC1zdW1tYXJ5LWxpc3QtaGVhZGluZyI+QWJvdXQgdGhlIHdvcms8L2gyPgogIAogIAoKCiAgCgogIAoKICAKPGRsIGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3QgYXBwLWdvdnVrLXN1bW1hcnktbGlzdCBhcHAtZ292dWstc3VtbWFyeS1saXN0LS10b3AtYm9yZGVyIGdvdnVrLSEtbWFyZ2luLWJvdHRvbS04Ij4KICAKICAgIDxkaXYgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fcm93Ij4KICAgICAgPGR0IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleSI+CiAgICAgICAgRWFybHkgbWFya2V0IGVuZ2FnZW1lbnQKICAgICAgPC9kdD4KICAgICAgPGRkIGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlIj4KICAgICAgICAKICAgICAgPC9kZD4KICAgICAgCiAgICA8L2Rpdj4KICAKICAgIDxkaXYgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fcm93Ij4KICAgICAgPGR0IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleSI+CiAgICAgICAgV2hvIHRoZSBzcGVjaWFsaXN0IHdpbGwgd29yayB3aXRoCiAgICAgIDwvZHQ+CiAgICAgIDxkZCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSI+CiAgICAgICAgQSBtdWx0aS1kaXNjaXBsaW5hcnkgYWdpbGUgdGVhbSBpbmNsdWRpbmcgVXNlciBSZXNlYXJjaGVyLCBVWCBkZXNpZ25lciwgSnVuaW9yIGRldmVsb3BlcnMsIGRhdGEgc2NpZW50aXN0cywgdGVzdGVyLCBkZXYgb3BzLCBpbmZyYXN0cnVjdHVyZSwgYW5kIHByb2R1Y3QgbWFuYWdlcnMuCiAgICAgIDwvZGQ+CiAgICAgIAogICAgPC9kaXY+CiAgCiAgICA8ZGl2IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3JvdyI+CiAgICAgIDxkdCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19rZXkiPgogICAgICAgIFdoYXQgdGhlIHNwZWNpYWxpc3Qgd2lsbCB3b3JrIG9uCiAgICAgIDwvZHQ+CiAgICAgIDxkZCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSI+CiAgICAgICAgRnVsbCBzdGFjayBkZXZlbG9wbWVudDo8YnI+LQlnb3YudWsgc2VydmljZSBmb3IgcmVjZWl2aW5nIHB1YmxpYyBzdWJtaXNzaW9ucyBvZiBTdXNwaWNpb3VzIEFjdGl2aXR5IFJlcG9ydHMuPGJyPi0JRXhpc3RpbmcgU2VhcmNoICZhbXA7IFZpc3VhbGlzYXRpb24gdG9vbC48YnI+QkFVIG9wZXJhdGlvbnMuIDxicj5EZWxpdmVyeSBvZiBlbmhhbmNlZCBmZWF0dXJlcyBhbmQgbmV3IGZ1bmN0aW9uYWxpdHkuPGJyPk5ldyBmZWF0dXJlIGRldmVsb3BtZW50Ljxicj5EZWxpdmVyIHRlY2hub2xvZ3kgJmFtcDsgYXJjaGl0ZWN0dXJlIGNoYW5nZS4gPGJyPlN1cHBvcnQgdGhlIGJ1aWxkIG9mIGludGVybmFsIHRvb2xpbmcgYW5kIHRoZSBhcHBsaWNhdGlvbiBvZiBhbmFseXRpY2FsIHRlY2huaXF1ZXMuPGJyPlN1cHBvcnQganVuaW9yIG1lbWJlcnMgb2YgdGhlIHRlYW0KICAgICAgPC9kZD4KICAgICAgCiAgICA8L2Rpdj4KICAKPC9kbD4KCiAgPGgyIGlkPSJvcHBvcnR1bml0eS1hdHRyaWJ1dGVzLTMiIGNsYXNzPSJnb3Z1ay1oZWFkaW5nLW0gYXBwLXN1bW1hcnktbGlzdC1oZWFkaW5nIj5Xb3JrIHNldHVwPC9oMj4KICAKICAKCgogIAoKICAKCiAgCjxkbCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0IGFwcC1nb3Z1ay1zdW1tYXJ5LWxpc3QgYXBwLWdvdnVrLXN1bW1hcnktbGlzdC0tdG9wLWJvcmRlciBnb3Z1ay0hLW1hcmdpbi1ib3R0b20tOCI+CiAgCiAgICA8ZGl2IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3JvdyI+CiAgICAgIDxkdCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19rZXkiPgogICAgICAgIEFkZHJlc3Mgd2hlcmUgdGhlIHdvcmsgd2lsbCB0YWtlIHBsYWNlCiAgICAgIDwvZHQ+CiAgICAgIDxkZCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSI+CiAgICAgICAgV29yayB3aWxsIGJlIGNhcnJpZWQgb3V0IGZyb20gYSBIb21lIE9mZmljZSBsb2NhdGlvbiBwcmltYXJpbHkgaW4gQ3JveWRvbiBhbmQgYXMgcmVxdWlyZWQgYW5kIGluIHN1cHBsaWVyc+KAmSBvZmZpY2VzLjxicj5SZW1vdGUgYnkgYXJyYW5nZW1lbnQgJmFtcDsgYXMgbmVlZGVkIHRvIGFjY29tbW9kYXRlIGN1cnJlbnQgQ09WSUQtMTkgcmVzdHJpY3Rpb25zLgogICAgICA8L2RkPgogICAgICAKICAgIDwvZGl2PgogIAogICAgPGRpdiBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19yb3ciPgogICAgICA8ZHQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5Ij4KICAgICAgICBXb3JraW5nIGFycmFuZ2VtZW50cwogICAgICA8L2R0PgogICAgICA8ZGQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUiPgogICAgICAgIFRoZSB3b3JrIHdpbGwgcmVxdWlyZSB0aGUgaW5kaXZpZHVhbCB0byB3b3JrIHdpdGhpbiBhbiBhZ2lsZSBtdWx0aWRpc2NpcGxpbmFyeSBwcm9kdWN0IHRlYW0gaW4gTG9uZG9uLiAgVGhlIHRlYW0gd2lsbCB3b3JrIGZyb20gdGhlIGJhc2UgbG9jYXRpb24gYXMgcmVxdWlyZWQsIE1vbmRheSB0byBGcmlkYXkgMDk6MDAg4oCTIDE3OjAwLiBQYXJ0aWNpcGF0aW9uIGluIHN0YW5kLXVwcywgcGxhbm5pbmcgc2Vzc2lvbnMsIHNob3cgJmFtcDsgdGVsbHMgYW5kIHJldHJvc3BlY3RpdmVzIGFzIHJlcXVpcmVkLjxicj48YnI+VHJhdmVsIHRvIHN0YWtlaG9sZGVyIGJ1aWxkaW5ncyB3aXRoaW4gdGhlIE0yNSBhcmVhIG9uIGEgcmVndWxhciBiYXNpcy4gQWRkaXRpb25hbCB0cmF2ZWwgb3V0c2lkZSBvZiBMb25kb24gbWF5IGJlIHJlcXVpcmVkLjxicj48YnI+RXhwZW5zZXMgb3V0c2lkZSB0aGUgTTI1IHdpbGwgYmUgcGF5YWJsZSBpbiBhY2NvcmRhbmNlIHdpdGggdGhlIEhvbWUgT2ZmaWNlIFRyYXZlbCAobm8gU3Vic2lzdGVuY2UpIHBvbGljeS4KICAgICAgPC9kZD4KICAgICAgCiAgICA8L2Rpdj4KICAKICAgIDxkaXYgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fcm93Ij4KICAgICAgPGR0IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleSI+CiAgICAgICAgU2VjdXJpdHkgY2xlYXJhbmNlCiAgICAgIDwvZHQ+CiAgICAgIDxkZCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSI+CiAgICAgICAgVGhlIFNvZnR3YXJlIEVuZ2luZWVyIG11c3QgYmUgSG9tZSBPZmZpY2UgU0MgY2xlYXJlZCBiZWZvcmUgdGhleSBjYW4gc3RhcnQgd29yay4gPGJyPjxicj5EViBjbGVhcmFuY2UgaXMgZGVzaXJhYmxlLgogICAgICA8L2RkPgogICAgICAKICAgIDwvZGl2PgogIAo8L2RsPgoKICA8aDIgaWQ9Im9wcG9ydHVuaXR5LWF0dHJpYnV0ZXMtNCIgY2xhc3M9ImdvdnVrLWhlYWRpbmctbSBhcHAtc3VtbWFyeS1saXN0LWhlYWRpbmciPkFkZGl0aW9uYWwgaW5mb3JtYXRpb248L2gyPgogIAogIAoKCiAgCjxkbCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0IGFwcC1nb3Z1ay1zdW1tYXJ5LWxpc3QgYXBwLWdvdnVrLXN1bW1hcnktbGlzdC0tdG9wLWJvcmRlciBnb3Z1ay0hLW1hcmdpbi1ib3R0b20tOCI+CiAgCiAgICA8ZGl2IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3JvdyI+CiAgICAgIDxkdCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19rZXkiPgogICAgICAgIEFkZGl0aW9uYWwgdGVybXMgYW5kIGNvbmRpdGlvbnMKICAgICAgPC9kdD4KICAgICAgPGRkIGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlIj4KICAgICAgICBTdGF0ZW1lbnRzIG9mIHdvcmsgd2lsbCBiZSBhZ3JlZWQgcGVyaW9kaWNhbGx5IHdpdGggdGhlIHN1cHBsaWVyIG9uIGEgZml4ZWQgcHJpY2UsIGNhcHBlZCwgb3IgVCZhbXA7TSBiYXNpcyB3aXRoIGFncmVlZCBkZWxpdmVyYWJsZXMuPGJyPlN0YW5kYXJkIERPUyBmcmFtZXdvcmsgYW5kIGNhbGwtb2ZmIHRlcm1zIGFuZCBjb25kaXRpb25zLjxicj5FeHBlbnNlcyBvdXRzaWRlIHRoZSBNMjUgd2lsbCBiZSBwYXlhYmxlIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgSG9tZSBPZmZpY2UgVHJhdmVsIChubyBTdWJzaXN0ZW5jZSkgcG9saWN5Ljxicj5BZGhlcmVuY2UgdG8gRFNBIGFuZCBITyBzZWN1cml0eSBnb3Zlcm5hbmNlIGFuZCBzdGFuZGFyZHMgaXMgbWFuZGF0b3J5LgogICAgICA8L2RkPgogICAgICAKICAgIDwvZGl2PgogIAo8L2RsPgoKICA8aDIgaWQ9Im9wcG9ydHVuaXR5LWF0dHJpYnV0ZXMtNSIgY2xhc3M9ImdvdnVrLWhlYWRpbmctbSBhcHAtc3VtbWFyeS1saXN0LWhlYWRpbmciPlNraWxscyBhbmQgZXhwZXJpZW5jZTwvaDI+CiAgCiAgPHAgY2xhc3M9ImdvdnVrLWJvZHkgZ292dWstIS1tYXJnaW4tdG9wLTMiPkJ1eWVycyB3aWxsIHVzZSB0aGUgZXNzZW50aWFsIGFuZCBuaWNlLXRvLWhhdmUgc2tpbGxzIGFuZCBleHBlcmllbmNlIHRvIGhlbHAgdGhlbSBldmFsdWF0ZSBzdXBwbGllcnPigJkgdGVjaG5pY2FsIGNvbXBldGVuY2UuPC9wPgogIAogIAogIAoKCiAgCgogIAo8ZGwgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdCBhcHAtZ292dWstc3VtbWFyeS1saXN0IGFwcC1nb3Z1ay1zdW1tYXJ5LWxpc3QtLXRvcC1ib3JkZXIgZ292dWstIS1tYXJnaW4tYm90dG9tLTgiPgogIAogICAgPGRpdiBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19yb3ciPgogICAgICA8ZHQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5Ij4KICAgICAgICBFc3NlbnRpYWwgc2tpbGxzIGFuZCBleHBlcmllbmNlCiAgICAgIDwvZHQ+CiAgICAgIDxkZCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSI+CiAgICAgICAgPHVsIGNsYXNzPSJnb3Z1ay1saXN0IGdvdnVrLWxpc3QtLWJ1bGxldCI+CiAgICAgICAgICA8bGk+SGF2ZSBleHBlcnRpc2UgYXMgd29ya2luZyBhIG11bHRpLWRpc2NpcGxpbmFyeSBhZ2lsZSB0ZWFtIGFjcm9zcyB0aGUgZnVsbCBzdGFjayBvZiBkZXZlbG9wbWVudC48L2xpPgogICAgICAgICAgPGxpPkhhdmUgZXhwZXJ0aXNlIGluIG5vZGUuanMsIFJlYWN0LCBBTkdVTEFSLCB0eXBlc2NyaXB0PC9saT4KICAgICAgICAgIDxsaT5IYXZlIGV4cGVydGlzZSBpbiBFbGFzdGljc2VhcmNoLCBMb2dzdGFzaCwgS2liYW5hLCBNb25nb0RCPC9saT4KICAgICAgICAgIDxsaT5IYXZlIGV4cGVydGlzZSBpbiBDSS9DRCBQaXBlbGluZXMsIGVzcGVjaWFsbHkgd2l0aCBLdWJlcm5ldGVzPC9saT4KICAgICAgICAgIDxsaT5IYXZlIGV4cGVydGlzZSBpbiBEZXZlbG9waW5nIGFwcGxpY2F0aW9ucyBvbiBBbWF6b24gV2ViIFNlcnZpY2VzIChBV1MpPC9saT4KICAgICAgICAgIDxsaT5IYXZlIGV4cGVydGlzZSBpbiB3cml0aW5nIGNsZWFuIGNvZGUgYW5kIGNvbXByZWhlbnNpdmUsIGNsZWFyIHRlc3RzLjwvbGk+CiAgICAgICAgPC91bD4KICAgICAgPC9kZD4KICAgICAgCiAgICA8L2Rpdj4KICAKICAgIDxkaXYgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fcm93Ij4KICAgICAgPGR0IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleSI+CiAgICAgICAgTmljZS10by1oYXZlIHNraWxscyBhbmQgZXhwZXJpZW5jZQogICAgICA8L2R0PgogICAgICA8ZGQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUiPgogICAgICAgIDx1bCBjbGFzcz0iZ292dWstbGlzdCBnb3Z1ay1saXN0LS1idWxsZXQiPgogICAgICAgICAgPGxpPkhhdmUgZXhwZXJpZW5jZSBpbiBzdXBwb3J0aW5nIGFsbCBhc3BlY3RzIG9mIHVzZXIgc3RvcnkgZGV2ZWxvcG1lbnQgaW5jbHVkaW5nIGFuYWx5c2lzLCB0ZXN0aW5nIGFuZCBkZXBsb3ltZW50PC9saT4KICAgICAgICAgIDxsaT5IYXZlIGV4cGVyaWVuY2Ugb2YgdGhlIEdvdmVybm1lbnQgRGlnaXRhbCBTZXJ2aWNl4oCZcyBEZXNpZ24gUHJpbmNpcGxlcyBhbmQgRGlnaXRhbCBTZXJ2aWNlIFN0YW5kYXJkIGFuZCBpdHMgYXBwbGljYXRpb24gdG8gaW50ZXJuYWwgcHJvZHVjdHMgYW5kIHNlcnZpY2VzLjwvbGk+CiAgICAgICAgICA8bGk+SGF2ZSBleHBlcmllbmNlIG9mIHN1cHBvcnRpbmcgbGl2ZSBzeXN0ZW1zLjwvbGk+CiAgICAgICAgICA8bGk+SGF2ZSBleHBlcmllbmNlIHdpdGggR3JhcGggZGF0YWJhc2VzLCB2aXN1YWxpc2F0aW9uLCBKYXZhLCBTUUw8L2xpPgogICAgICAgICAgPGxpPkhhdmUgZXhwZXJpZW5jZSB3aXRoIHB5dGhvbiBhbmQgZGF0YSBzY2llbmNlIHRvb2xpbmcgKHNjaWtpdC1sZWFybiwgcGFuZGFzKTwvbGk+CiAgICAgICAgICA8bGk+SGF2ZSBleHBlcmllbmNlIGNvbGxhYm9yYXRpbmcgd2l0aCBkYXRhIGFuYWx5c2lzL3NjaWVuY2UgdGVhbXM8L2xpPgogICAgICAgIDwvdWw+CiAgICAgIDwvZGQ+CiAgICAgIAogICAgPC9kaXY+CiAgCjwvZGw+CgogIDxoMiBpZD0ib3Bwb3J0dW5pdHktYXR0cmlidXRlcy02IiBjbGFzcz0iZ292dWstaGVhZGluZy1tIGFwcC1zdW1tYXJ5LWxpc3QtaGVhZGluZyI+SG93IHN1cHBsaWVycyB3aWxsIGJlIGV2YWx1YXRlZDwvaDI+CiAgCiAgPHAgY2xhc3M9ImdvdnVrLWJvZHkgZ292dWstIS1tYXJnaW4tdG9wLTMiPkFsbCBzdXBwbGllcnMgd2lsbCBiZSBhc2tlZCB0byBwcm92aWRlIGEgd29yayBoaXN0b3J5LjwvcD4KICAKICAKCgogIAoKICAKCiAgCgogIAo8ZGwgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdCBhcHAtZ292dWstc3VtbWFyeS1saXN0IGFwcC1nb3Z1ay1zdW1tYXJ5LWxpc3QtLXRvcC1ib3JkZXIgZ292dWstIS1tYXJnaW4tYm90dG9tLTgiPgogIAogICAgPGRpdiBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19yb3ciPgogICAgICA8ZHQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5Ij4KICAgICAgICBIb3cgbWFueSBzcGVjaWFsaXN0cyB0byBldmFsdWF0ZQogICAgICA8L2R0PgogICAgICA8ZGQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUiPgogICAgICAgIDYKICAgICAgPC9kZD4KICAgICAgCiAgICA8L2Rpdj4KICAKICAgIDxkaXYgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fcm93Ij4KICAgICAgPGR0IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleSI+CiAgICAgICAgQ3VsdHVyYWwgZml0IGNyaXRlcmlhCiAgICAgIDwvZHQ+CiAgICAgIDxkZCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSI+CiAgICAgICAgPHVsIGNsYXNzPSJnb3Z1ay1saXN0IGdvdnVrLWxpc3QtLWJ1bGxldCI+CiAgICAgICAgICA8bGk+QmUgYWJsZSB0byB3b3JrIGNvbGxhYm9yYXRpdmVseSwgcHJvbW90ZSBpZGVhcyBhbmQgd29yayBlZmZlY3RpdmVseSBpbiBhIG11bHRpLXN1cHBsaWVyIGVudmlyb25tZW50PC9saT4KICAgICAgICAgIDxsaT5CZSBhYmxlIHRvIHByb3ZpZGUga25vd2xlZGdlLXRyYW5zZmVyIGFuZCBzaGFyZSBiZXN0IHByYWN0aWNlPC9saT4KICAgICAgICAgIDxsaT5CZSBhYmxlIHRvIG1haW50YWluIGEgbm8tYmxhbWUgY3VsdHVyZSBhbmQgZW5jb3VyYWdlIHBlb3BsZSB0byBsZWFybiBmcm9tIHRoZWlyIG1pc3Rha2VzPC9saT4KICAgICAgICAgIDxsaT5IYXZlIGV4Y2VsbGVudCBjb21tdW5pY2F0aW9uIHNraWxscywgZXhwZXJpZW5jZWQgYXQgY29tbXVuaWNhdGluZyB3aXRoIHN0YWZmIGF0IGFsbCBsZXZlbHMgb2YgYW4gb3JnYW5pc2F0aW9uPC9saT4KICAgICAgICA8L3VsPgogICAgICA8L2RkPgogICAgICAKICAgIDwvZGl2PgogIAogICAgPGRpdiBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19yb3ciPgogICAgICA8ZHQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5Ij4KICAgICAgICBBZGRpdGlvbmFsIGFzc2Vzc21lbnQgbWV0aG9kcwogICAgICA8L2R0PgogICAgICA8ZGQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUiPgogICAgICAgIDx1bCBjbGFzcz0iZ292dWstbGlzdCBnb3Z1ay1saXN0LS1idWxsZXQiPgogICAgICAgICAgPGxpPlJlZmVyZW5jZTwvbGk+CiAgICAgICAgICA8bGk+SW50ZXJ2aWV3PC9saT4KICAgICAgICAgIDxsaT5QcmVzZW50YXRpb248L2xpPgogICAgICAgIDwvdWw+CiAgICAgIDwvZGQ+CiAgICAgIAogICAgPC9kaXY+CiAgCiAgICA8ZGl2IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3JvdyI+CiAgICAgIDxkdCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19rZXkiPgogICAgICAgIEV2YWx1YXRpb24gd2VpZ2h0aW5nCiAgICAgIDwvZHQ+CiAgICAgIDxkZCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSI+CiAgICAgICAgPHAgY2xhc3M9ImdvdnVrLWJvZHkgZ292dWstIS1tYXJnaW4tdG9wLTAgZ292dWstIS1tYXJnaW4tYm90dG9tLTEiPlRlY2huaWNhbCBjb21wZXRlbmNlPC9wPgogICAgICAgIDxkaXY+NjAlPC9kaXY+CiAgICAgICAgPHAgY2xhc3M9ImdvdnVrLWJvZHkgZ292dWstIS1tYXJnaW4tdG9wLTMgZ292dWstIS1tYXJnaW4tYm90dG9tLTEiPkN1bHR1cmFsIGZpdDwvcD4KICAgICAgICA8ZGl2PjUlPC9kaXY+CiAgICAgICAgPHAgY2xhc3M9ImdvdnVrLWJvZHkgZ292dWstIS1tYXJnaW4tdG9wLTMgZ292dWstIS1tYXJnaW4tYm90dG9tLTEiPlByaWNlPC9wPgogICAgICAgIDxkaXY+MzUlPC9kaXY+CiAgICAgIDwvZGQ+CiAgICAgIAogICAgPC9kaXY+CiAgCjwvZGw+CgogIDwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0iZ292dWstZ3JpZC1yb3ciPgogIDxkaXYgY2xhc3M9ImdvdnVrLWdyaWQtY29sdW1uLWZ1bGwiPgogICAgCgoKCjxoMiBpZD0iY2xhcmlmaWNhdGlvbi1xdWVzdGlvbnMiIGNsYXNzPSJnb3Z1ay1oZWFkaW5nLW0gYXBwLXN1bW1hcnktbGlzdC1oZWFkaW5nIj5RdWVzdGlvbnMgYXNrZWQgYnkgc3VwcGxpZXJzPC9oMj4KIAo8cCBjbGFzcz0ic3VtbWFyeS1pdGVtLW5vLWNvbnRlbnQiPk5vIHF1ZXN0aW9ucyBoYXZlIGJlZW4gYW5zd2VyZWQgeWV0PC9wPgoKCgogIDxhIGNsYXNzPSJnb3Z1ay1saW5rIiBocmVmPSIvc3VwcGxpZXJzL29wcG9ydHVuaXRpZXMvMTI1NDMvYXNrLWEtcXVlc3Rpb24iPgogICAgCiAgICAgIExvZyBpbiB0byBhc2sgYSBxdWVzdGlvbgogICAgCiAgPC9hPgoKICA8L2Rpdj4KPC9kaXY+CgoKICA8YnIvPjwhLS0gPC0gcmVtb3ZlIG9uY2UgZ3JpZCBhbmQgYm9keSBlbGVtZW50cyBoYXZlIGJlZW4gY29udmVydGVkIHRvIGdvdnVrIGZyb250ZW5kIC0tPgogIDxkaXYgY2xhc3M9ImdvdnVrLWdyaWQtcm93Ij4KICAgIDxkaXYgY2xhc3M9ImdvdnVrLWdyaWQtY29sdW1uLXR3by10aGlyZHMiPgogICAgICA8Zm9ybSBhY3Rpb249Ii9zdXBwbGllcnMvb3Bwb3J0dW5pdGllcy8xMjU0My9yZXNwb25zZXMvc3RhcnQiIG1ldGhvZD0iZ2V0Ij4KICAgICAgICAKICAKICAgIAogIAoKPGJ1dHRvbiB0eXBlPSJzdWJtaXQiIGNsYXNzPSJnb3Z1ay1idXR0b24iPgogIEFwcGx5IGZvciB0aGlzIG9wcG9ydHVuaXR5CjwvYnV0dG9uPgogICAgICA8L2Zvcm0+CiAgICA8L2Rpdj4KICA8L2Rpdj4KCgoKCiAgICAgICAgPC9tYWluPgogICAgICA8L2Rpdj4KICAgIAoKICAgIAogIDxmb290ZXIgY2xhc3M9ImdvdnVrLWZvb3RlciAiIHJvbGU9ImNvbnRlbnRpbmZvIj4KICA8ZGl2IGNsYXNzPSJnb3Z1ay13aWR0aC1jb250YWluZXIgIj4KICAgIAogICAgICA8ZGl2IGNsYXNzPSJnb3Z1ay1mb290ZXJfX25hdmlnYXRpb24iPgogICAgICAgIAogICAgICAgICAgPGRpdiBjbGFzcz0iZ292dWstZm9vdGVyX19zZWN0aW9uIj4KICAgICAgICAgICAgPGgyIGNsYXNzPSJnb3Z1ay1mb290ZXJfX2hlYWRpbmcgZ292dWstaGVhZGluZy1tIj5BYm91dCBEaWdpdGFsIE1hcmtldHBsYWNlPC9oMj4KICAgICAgICAgICAgCiAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgPHVsIGNsYXNzPSJnb3Z1ay1mb290ZXJfX2xpc3QgIj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImdvdnVrLWZvb3Rlcl9fbGlzdC1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJnb3Z1ay1mb290ZXJfX2xpbmsiIGhyZWY9Ii9oZWxwIj4KICAgICAgICAgICAgICAgICAgICAgICAgQ29udGFjdAogICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZ292dWstZm9vdGVyX19saXN0LWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImdvdnVrLWZvb3Rlcl9fbGluayIgaHJlZj0iaHR0cHM6Ly93d3cuZ292LnVrL2d1aWRhbmNlL2RpZ2l0YWwtbWFya2V0cGxhY2UtYnV5ZXJzLWd1aWRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgU2VydmljZXMgeW91IGNhbiBidXkKICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImdvdnVrLWZvb3Rlcl9fbGlzdC1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJnb3Z1ay1mb290ZXJfX2xpbmsiIGhyZWY9Imh0dHBzOi8vd3d3Lmdvdi51ay9ndWlkYW5jZS9kaWdpdGFsLW1hcmtldHBsYWNlLXN1cHBsaWVycy1ndWlkZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIFNlcnZpY2VzIHlvdSBjYW4gc2VsbAogICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZ292dWstZm9vdGVyX19saXN0LWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImdvdnVrLWZvb3Rlcl9fbGluayIgaHJlZj0iaHR0cHM6Ly93d3cuZ292LnVrL2dvdmVybm1lbnQvb3JnYW5pc2F0aW9ucy9jcm93bi1jb21tZXJjaWFsLXNlcnZpY2UiPgogICAgICAgICAgICAgICAgICAgICAgICBBYm91dCBDcm93biBDb21tZXJjaWFsIFNlcnZpY2VzCiAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJnb3Z1ay1mb290ZXJfX2xpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iZ292dWstZm9vdGVyX19saW5rIiBocmVmPSJodHRwczovL3d3dy5nb3YudWsvZ292ZXJubWVudC9vcmdhbmlzYXRpb25zL2dvdmVybm1lbnQtZGlnaXRhbC1zZXJ2aWNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgQWJvdXQgR292ZXJubWVudCBEaWdpdGFsIFNlcnZpY2VzCiAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJnb3Z1ay1mb290ZXJfX2xpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iZ292dWstZm9vdGVyX19saW5rIiBocmVmPSIvZy1jbG91ZC9zdXBwbGllcnMiPgogICAgICAgICAgICAgICAgICAgICAgICBHLUNsb3VkIHN1cHBsaWVyIEEgdG8gWgogICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgCiAgICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICAgIDxkaXYgY2xhc3M9ImdvdnVrLWZvb3Rlcl9fc2VjdGlvbiI+CiAgICAgICAgICAgIDxoMiBjbGFzcz0iZ292dWstZm9vdGVyX19oZWFkaW5nIGdvdnVrLWhlYWRpbmctbSI+R3VpZGFuY2UgZm9yIHVzaW5nIERpZ2l0YWwgTWFya2V0cGxhY2U8L2gyPgogICAgICAgICAgICAKICAgICAgICAgICAgICAKICAgICAgICAgICAgICA8dWwgY2xhc3M9ImdvdnVrLWZvb3Rlcl9fbGlzdCAiPgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZ292dWstZm9vdGVyX19saXN0LWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImdvdnVrLWZvb3Rlcl9fbGluayIgaHJlZj0iaHR0cHM6Ly93d3cuZ292LnVrL2d1aWRhbmNlL2ctY2xvdWQtc3VwcGxpZXJzLWd1aWRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgQXBwbHlpbmcgdG8gc2VsbCBvbiB0aGUgRy1DbG91ZCBmcmFtZXdvcmsKICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImdvdnVrLWZvb3Rlcl9fbGlzdC1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJnb3Z1ay1mb290ZXJfX2xpbmsiIGhyZWY9Imh0dHBzOi8vd3d3Lmdvdi51ay9ndWlkYW5jZS9kaWdpdGFsLW91dGNvbWVzLWFuZC1zcGVjaWFsaXN0cy1zdXBwbGllcnMtZ3VpZGUiPgogICAgICAgICAgICAgICAgICAgICAgICBBcHBseWluZyB0byBzZWxsIG9uIHRoZSBET1MgZnJhbWV3b3JrCiAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJnb3Z1ay1mb290ZXJfX2xpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iZ292dWstZm9vdGVyX19saW5rIiBocmVmPSJodHRwczovL3d3dy5nb3YudWsvZ3VpZGFuY2UvaG93LXRvLXNlbGwteW91ci1kaWdpdGFsLW91dGNvbWVzLWFuZC1zcGVjaWFsaXN0cy1zZXJ2aWNlcyI+CiAgICAgICAgICAgICAgICAgICAgICAgIFJlc3BvbmRpbmcgdG8gYnV5ZXIgcmVxdWlyZW1lbnRzIG9uIHRoZSBET1MgZnJhbWV3b3JrCiAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJnb3Z1ay1mb290ZXJfX2xpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iZ292dWstZm9vdGVyX19saW5rIiBocmVmPSJodHRwczovL3d3dy5nb3YudWsvZ3VpZGFuY2UvZy1jbG91ZC1idXllcnMtZ3VpZGUiPgogICAgICAgICAgICAgICAgICAgICAgICBCdXlpbmcgb24gdGhlIEctQ2xvdWQgZnJhbWV3b3JrCiAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJnb3Z1ay1mb290ZXJfX2xpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iZ292dWstZm9vdGVyX19saW5rIiBocmVmPSJodHRwczovL3d3dy5nb3YudWsvZ3VpZGFuY2UvZGlnaXRhbC1vdXRjb21lcy1hbmQtc3BlY2lhbGlzdHMtYnV5ZXJzLWd1aWRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgQnV5aW5nIG9uIHRoZSBET1MgZnJhbWV3b3JrCiAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJnb3Z1ay1mb290ZXJfX2xpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iZ292dWstZm9vdGVyX19saW5rIiBocmVmPSJodHRwczovL3d3dy5nb3YudWsvZ3VpZGFuY2UvdGhlLWNyb3duLWhvc3RpbmctZGF0YS1jZW50cmVzLWZyYW1ld29yay1vbi10aGUtZGlnaXRhbC1tYXJrZXRwbGFjZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIEJ1eWluZyBvbiB0aGUgQ3Jvd24gSG9zdGluZyBmcmFtZXdvcmsKICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIAogICAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgIDwvZGl2PgogICAgICA8aHIgY2xhc3M9ImdvdnVrLWZvb3Rlcl9fc2VjdGlvbi1icmVhayI+CiAgICAKICAgIDxkaXYgY2xhc3M9ImdvdnVrLWZvb3Rlcl9fbWV0YSI+CiAgICAgIDxkaXYgY2xhc3M9ImdvdnVrLWZvb3Rlcl9fbWV0YS1pdGVtIGdvdnVrLWZvb3Rlcl9fbWV0YS1pdGVtLS1ncm93Ij4KICAgICAgICAKICAgICAgICAgIDxoMiBjbGFzcz0iZ292dWstdmlzdWFsbHktaGlkZGVuIj5TdXBwb3J0IGxpbmtzPC9oMj4KICAgICAgICAgIAogICAgICAgICAgICA8dWwgY2xhc3M9ImdvdnVrLWZvb3Rlcl9faW5saW5lLWxpc3QiPgogICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJnb3Z1ay1mb290ZXJfX2lubGluZS1saXN0LWl0ZW0iPgogICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iZ292dWstZm9vdGVyX19saW5rIiBocmVmPSIvdGVybXMtYW5kLWNvbmRpdGlvbnMiPgogICAgICAgICAgICAgICAgICAgIFRlcm1zIGFuZCBjb25kaXRpb25zCiAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImdvdnVrLWZvb3Rlcl9faW5saW5lLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJnb3Z1ay1mb290ZXJfX2xpbmsiIGhyZWY9Ii9jb29raWVzIj4KICAgICAgICAgICAgICAgICAgICBDb29raWVzCiAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImdvdnVrLWZvb3Rlcl9faW5saW5lLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJnb3Z1ay1mb290ZXJfX2xpbmsiIGhyZWY9Ii9wcml2YWN5LW5vdGljZSI+CiAgICAgICAgICAgICAgICAgICAgUHJpdmFjeSBub3RpY2UKICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAKICAgICAgICAgICAgPC91bD4KICAgICAgICAgIAogICAgICAgICAgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdvdnVrLWZvb3Rlcl9fbWV0YS1jdXN0b20iPgogICAgICAgICAgICAgIEJ1aWx0IGJ5IHRoZSA8YSBocmVmPSJodHRwczovL3d3dy5nb3YudWsvZ292ZXJubWVudC9vcmdhbmlzYXRpb25zL2dvdmVybm1lbnQtZGlnaXRhbC1zZXJ2aWNlIiBjbGFzcz0iZ292dWstZm9vdGVyX19saW5rIj5Hb3Zlcm5tZW50IERpZ2l0YWwgU2VydmljZTwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAKICAgICAgICAKICAgICAgICA8c3ZnCiAgICAgICAgICByb2xlPSJwcmVzZW50YXRpb24iCiAgICAgICAgICBmb2N1c2FibGU9ImZhbHNlIgogICAgICAgICAgY2xhc3M9ImdvdnVrLWZvb3Rlcl9fbGljZW5jZS1sb2dvIgogICAgICAgICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICAgICAgICAgdmlld2JveD0iMCAwIDQ4My4yIDE5NS43IgogICAgICAgICAgaGVpZ2h0PSIxNyIKICAgICAgICAgIHdpZHRoPSI0MSIKICAgICAgICA+CiAgICAgICAgICA8cGF0aAogICAgICAgICAgICBmaWxsPSJjdXJyZW50Q29sb3IiCiAgICAgICAgICAgIGQ9Ik00MjEuNSAxNDIuOFYuMWwtNTAuNyAzMi4zdjE2MS4xaDExMi40di01MC43em0tMTIyLjMtOS42QTQ3LjEyIDQ3LjEyIDAgMCAxIDIyMSA5Ny44YzAtMjYgMjEuMS00Ny4xIDQ3LjEtNDcuMSAxNi43IDAgMzEuNCA4LjcgMzkuNyAyMS44bDQyLjctMjcuMkE5Ny42MyA5Ny42MyAwIDAgMCAyNjguMSAwYy0zNi41IDAtNjguMyAyMC4xLTg1LjEgNDkuN0E5OCA5OCAwIDAgMCA5Ny44IDBDNDMuOSAwIDAgNDMuOSAwIDk3LjhzNDMuOSA5Ny44IDk3LjggOTcuOGMzNi41IDAgNjguMy0yMC4xIDg1LjEtNDkuN2E5Ny43NiA5Ny43NiAwIDAgMCAxNDkuNiAyNS40bDE5LjQgMjIuMmgzdi04Ny44aC04MGwyNC4zIDI3LjV6TTk3LjggMTQ1Yy0yNiAwLTQ3LjEtMjEuMS00Ny4xLTQ3LjFzMjEuMS00Ny4xIDQ3LjEtNDcuMSA0Ny4yIDIxIDQ3LjIgNDdTMTIzLjggMTQ1IDk3LjggMTQ1IgogICAgICAgICAgLz4KICAgICAgICA8L3N2Zz4KICAgICAgICA8c3BhbiBjbGFzcz0iZ292dWstZm9vdGVyX19saWNlbmNlLWRlc2NyaXB0aW9uIj4KICAgICAgICAgIEFsbCBjb250ZW50IGlzIGF2YWlsYWJsZSB1bmRlciB0aGUKICAgICAgICAgIDxhCiAgICAgICAgICAgIGNsYXNzPSJnb3Z1ay1mb290ZXJfX2xpbmsiCiAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vd3d3Lm5hdGlvbmFsYXJjaGl2ZXMuZ292LnVrL2RvYy9vcGVuLWdvdmVybm1lbnQtbGljZW5jZS92ZXJzaW9uLzMvIgogICAgICAgICAgICByZWw9ImxpY2Vuc2UiCiAgICAgICAgICA+T3BlbiBHb3Zlcm5tZW50IExpY2VuY2UgdjMuMDwvYT4sIGV4Y2VwdCB3aGVyZSBvdGhlcndpc2Ugc3RhdGVkCiAgICAgICAgPC9zcGFuPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iZ292dWstZm9vdGVyX19tZXRhLWl0ZW0iPgogICAgICAgIDxhCiAgICAgICAgICBjbGFzcz0iZ292dWstZm9vdGVyX19saW5rIGdvdnVrLWZvb3Rlcl9fY29weXJpZ2h0LWxvZ28iCiAgICAgICAgICBocmVmPSJodHRwczovL3d3dy5uYXRpb25hbGFyY2hpdmVzLmdvdi51ay9pbmZvcm1hdGlvbi1tYW5hZ2VtZW50L3JlLXVzaW5nLXB1YmxpYy1zZWN0b3ItaW5mb3JtYXRpb24vdWstZ292ZXJubWVudC1saWNlbnNpbmctZnJhbWV3b3JrL2Nyb3duLWNvcHlyaWdodC8iCiAgICAgICAgPsKpIENyb3duIGNvcHlyaWdodDwvYT4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9mb290ZXI+CgoKICAgIAogIDxzY3JpcHQgc3JjPSIvc3RhdGljL2phdmFzY3JpcHRzL2FwcGxpY2F0aW9uLmpzPzA2NGMzYmY3ZDU5ZWM5NzIxNTkxOGU1NTNiMzBlMjQ5Ij48L3NjcmlwdD4KICAKCiAgPC9ib2R5Pgo8L2h0bWw+
78
- http_version:
79
- recorded_at: Wed, 17 Jun 2020 11:18:24 GMT
75
+ CjwhRE9DVFlQRSBodG1sPgo8aHRtbCBsYW5nPSJlbiIgY2xhc3M9ImdvdnVrLXRlbXBsYXRlICI+CiAgPGhlYWQ+CiAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KICAgIDx0aXRsZT4KICBDQ1Q5MzQtTU9EIEZIUlMgRGVsaXZlcnkgUGFydG5lciBmb3IgT3JhY2xlIFNhYVMgJmFtcDsgUGFhUyBUZWNobmljYWwsIEJ1c2luZXNzICZhbXA7IFNlcnZpY2UgQ2hhbmdlIC0gRGlnaXRhbCBNYXJrZXRwbGFjZQo8L3RpdGxlPgogICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB2aWV3cG9ydC1maXQ9Y292ZXIiPgogICAgPG1ldGEgbmFtZT0idGhlbWUtY29sb3IiIGNvbnRlbnQ9IiMwYjBjMGMiIC8+IAogICAgCiAgICA8bWV0YSBodHRwLWVxdWl2PSJYLVVBLUNvbXBhdGlibGUiIGNvbnRlbnQ9IklFPWVkZ2UiIC8+CgogICAgCiAgICAgIDxsaW5rIHJlbD0ic2hvcnRjdXQgaWNvbiIgc2l6ZXM9IjE2eDE2IDMyeDMyIDQ4eDQ4IiBocmVmPSIvc3RhdGljL2ltYWdlcy9mYXZpY29uLmljbyIgdHlwZT0iaW1hZ2UveC1pY29uIiAvPgogICAgICA8bGluayByZWw9Im1hc2staWNvbiIgaHJlZj0iL3N0YXRpYy9pbWFnZXMvZ292dWstbWFzay1pY29uLnN2ZyIgY29sb3I9IiMwYjBjMGMiPiAKICAgICAgPGxpbmsgcmVsPSJhcHBsZS10b3VjaC1pY29uIiBzaXplcz0iMTgweDE4MCIgaHJlZj0iL3N0YXRpYy9pbWFnZXMvZ292dWstYXBwbGUtdG91Y2gtaWNvbi0xODB4MTgwLnBuZyI+CiAgICAgIDxsaW5rIHJlbD0iYXBwbGUtdG91Y2gtaWNvbiIgc2l6ZXM9IjE2N3gxNjciIGhyZWY9Ii9zdGF0aWMvaW1hZ2VzL2dvdnVrLWFwcGxlLXRvdWNoLWljb24tMTY3eDE2Ny5wbmciPgogICAgICA8bGluayByZWw9ImFwcGxlLXRvdWNoLWljb24iIHNpemVzPSIxNTJ4MTUyIiBocmVmPSIvc3RhdGljL2ltYWdlcy9nb3Z1ay1hcHBsZS10b3VjaC1pY29uLTE1MngxNTIucG5nIj4KICAgICAgPGxpbmsgcmVsPSJhcHBsZS10b3VjaC1pY29uIiBocmVmPSIvc3RhdGljL2ltYWdlcy9nb3Z1ay1hcHBsZS10b3VjaC1pY29uLnBuZyI+CiAgICAKCiAgICAKICAKCgoKCgoKCgogIAogIDxtZXRhIG5hbWU9Imdvb2dsZS1zaXRlLXZlcmlmaWNhdGlvbiIgY29udGVudD0iVEtHU0dabmZIcHgxLWxLT3RoSTE3QU50d2s3ZnozRjRTYnI3N0kwcHBPMCI+CgogIDxsaW5rIHR5cGU9InRleHQvY3NzIiByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii9zdGF0aWMvc3R5bGVzaGVldHMvYXBwbGljYXRpb24uY3NzPzY5ZWI3OTcwODA3ZjQ0NTI0MGFjNDQxZjVhMDIzYTc2IiAvPgogIAoKICAgIAogICAgCiAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6aW1hZ2UiIGNvbnRlbnQ9Ii9zdGF0aWMvaW1hZ2VzL2dvdnVrLW9wZW5ncmFwaC1pbWFnZS5wbmciPgogIDwvaGVhZD4KICA8Ym9keSBjbGFzcz0iZ292dWstdGVtcGxhdGVfX2JvZHkgIj4KICAgIDxzY3JpcHQ+ZG9jdW1lbnQuYm9keS5jbGFzc05hbWUgPSAoKGRvY3VtZW50LmJvZHkuY2xhc3NOYW1lKSA/IGRvY3VtZW50LmJvZHkuY2xhc3NOYW1lICsgJyBqcy1lbmFibGVkJyA6ICdqcy1lbmFibGVkJyk7PC9zY3JpcHQ+CiAgICAKCiAgICAKICAgICAgPGEgaHJlZj0iI21haW4tY29udGVudCIgY2xhc3M9ImdvdnVrLXNraXAtbGluayI+U2tpcCB0byBtYWluIGNvbnRlbnQ8L2E+CiAgICAKCiAgICAKICAKICAKCgoKCjxkaXYgaWQ9ImRtLWNvb2tpZS1iYW5uZXIiIGNsYXNzPSJkbS1jb29raWUtYmFubmVyIGdvdnVrLXdpZHRoLWNvbnRhaW5lciIgZGF0YS1tb2R1bGU9ImRtLWNvb2tpZS1iYW5uZXIiIHJvbGU9InJlZ2lvbiIgYXJpYS1sYWJlbD0iQ29va2llIEJhbm5lciIgYXJpYS1kZXNjcmliZWRieT0iZG0tY29va2llLWJhbm5lcl9faGVhZGluZyI+CiAgPGRpdiBjbGFzcz0iZG0tY29va2llLWJhbm5lcl9fd3JhcHBlciI+CiAgICA8aDIgY2xhc3M9ImRtLWNvb2tpZS1iYW5uZXJfX2hlYWRpbmcgZ292dWstaGVhZGluZy1tIiBpZD0iZG0tY29va2llLWJhbm5lcl9faGVhZGluZyI+CiAgICAgIENhbiB3ZSBzdG9yZSBhbmFseXRpY3MgY29va2llcyBvbiB5b3VyIGRldmljZT8KICAgIDwvaDI+CiAgICA8cCBjbGFzcz0iZ292dWstYm9keSI+CiAgICAgIEFuYWx5dGljcyBjb29raWVzIGhlbHAgdXMgdW5kZXJzdGFuZCBob3cgb3VyIHdlYnNpdGUgaXMgYmVpbmcgdXNlZC4KICAgIDwvcD4KICAgIDxkaXYgY2xhc3M9ImRtLWNvb2tpZS1iYW5uZXJfX2J1dHRvbnMiPgogICAgICA8YnV0dG9uIGNsYXNzPSJnb3Z1ay1idXR0b24gZG0tY29va2llLWJhbm5lcl9fYnV0dG9uIGRtLWNvb2tpZS1iYW5uZXJfX2J1dHRvbi0tYWNjZXB0IiB0eXBlPSJzdWJtaXQiIGRhdGEtYWNjZXB0LWNvb2tpZXM9InRydWUiIGFyaWEtZGVzY3JpYmVkYnk9ImRtLWNvb2tpZS1iYW5uZXJfX2hlYWRpbmciPgogICAgICAgIFllczxzcGFuIGNsYXNzPSJnb3Z1ay12aXN1YWxseS1oaWRkZW4iPiwgRGlnaXRhbCBNYXJrZXRwbGFjZSBjYW4gc3RvcmUgYW5hbHl0aWNzIGNvb2tpZXMgb24geW91ciBkZXZpY2U8L3NwYW4+CiAgICAgIDwvYnV0dG9uPgogICAgICA8YnV0dG9uIGNsYXNzPSJnb3Z1ay1idXR0b24gZG0tY29va2llLWJhbm5lcl9fYnV0dG9uIGRtLWNvb2tpZS1iYW5uZXJfX2J1dHRvbi0tcmVqZWN0IiB0eXBlPSJzdWJtaXQiIGRhdGEtYWNjZXB0LWNvb2tpZXM9ImZhbHNlIiBhcmlhLWRlc2NyaWJlZGJ5PSJkbS1jb29raWUtYmFubmVyX19oZWFkaW5nIj4KICAgICAgICBObzxzcGFuIGNsYXNzPSJnb3Z1ay12aXN1YWxseS1oaWRkZW4iPiwgRGlnaXRhbCBNYXJrZXRwbGFjZSBjYW5ub3Qgc3RvcmUgYW5hbHl0aWNzIGNvb2tpZXMgb24geW91ciBkZXZpY2U8L3NwYW4+CiAgICAgIDwvYnV0dG9uPgogICAgICA8YSBjbGFzcz0iZ292dWstbGluayBkbS1jb29raWUtYmFubmVyX19saW5rIiBocmVmPSIvY29va2llcyI+SG93IERpZ2l0YWwgTWFya2V0cGxhY2UgdXNlcyBjb29raWVzPC9hPgogICAgPC9kaXY+CiAgPC9kaXY+CgogIDxkaXYgY2xhc3M9ImRtLWNvb2tpZS1iYW5uZXJfX2NvbmZpcm1hdGlvbiIgdGFiaW5kZXg9Ii0xIj4KICAgIDxwIGNsYXNzPSJkbS1jb29raWUtYmFubmVyX19jb25maXJtYXRpb24tbWVzc2FnZSBnb3Z1ay1ib2R5Ij4KICAgICAgWW91IGNhbiA8YSBjbGFzcz0iZ292dWstbGluayIgaHJlZj0iL3VzZXIvY29va2llLXNldHRpbmdzIj5jaGFuZ2UgeW91ciBjb29raWUgc2V0dGluZ3M8L2E+IGF0IGFueSB0aW1lLgogICAgPC9wPgogICAgPGJ1dHRvbiBjbGFzcz0iZG0tY29va2llLWJhbm5lcl9faGlkZS1idXR0b24gZ292dWstbGluayIgZGF0YS1oaWRlLWNvb2tpZS1iYW5uZXI9InRydWUiIHJvbGU9ImxpbmsiPkhpZGU8L2J1dHRvbj4KICA8L2Rpdj4KPC9kaXY+CgogIAoKCgoKCiAgCiAgCgoKCiAgCgo8aGVhZGVyIGNsYXNzPSJnb3Z1ay1oZWFkZXIgIiByb2xlPSJiYW5uZXIiIGRhdGEtbW9kdWxlPSJoZWFkZXIiPgogIDxkaXYgY2xhc3M9ImdvdnVrLWhlYWRlcl9fY29udGFpbmVyIGdvdnVrLXdpZHRoLWNvbnRhaW5lciI+CgogICAgPGRpdiBjbGFzcz0iZ292dWstaGVhZGVyX19sb2dvIj4KICAgICAgPGEgaHJlZj0iLyIgY2xhc3M9ImdvdnVrLWhlYWRlcl9fbGluayBnb3Z1ay1oZWFkZXJfX2xpbmstLWhvbWVwYWdlIj4KICAgICAgICA8c3BhbiBjbGFzcz0iZ292dWstaGVhZGVyX19sb2dvdHlwZSI+CiAgICAgICAgICAKICAgICAgICAgIDxzdmcKICAgICAgICAgICAgcm9sZT0icHJlc2VudGF0aW9uIgogICAgICAgICAgICBmb2N1c2FibGU9ImZhbHNlIgogICAgICAgICAgICBjbGFzcz0iZ292dWstaGVhZGVyX19sb2dvdHlwZS1jcm93biIKICAgICAgICAgICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICAgICAgICAgICB2aWV3Ym94PSIwIDAgMTMyIDk3IgogICAgICAgICAgICBoZWlnaHQ9IjMyIgogICAgICAgICAgICB3aWR0aD0iMzYiCiAgICAgICAgICA+CiAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiCiAgICAgICAgICAgICAgZD0iTTI1IDMwLjJjMy41IDEuNSA3LjctLjIgOS4xLTMuNyAxLjUtMy42LS4yLTcuOC0zLjktOS4yLTMuNi0xLjQtNy42LjMtOS4xIDMuOS0xLjQgMy41LjMgNy41IDMuOSA5ek05IDM5LjVjMy42IDEuNSA3LjgtLjIgOS4yLTMuNyAxLjUtMy42LS4yLTcuOC0zLjktOS4xLTMuNi0xLjUtNy42LjItOS4xIDMuOC0xLjQgMy41LjMgNy41IDMuOCA5ek00LjQgNTcuMmMzLjUgMS41IDcuNy0uMiA5LjEtMy44IDEuNS0zLjYtLjItNy43LTMuOS05LjEtMy41LTEuNS03LjYuMy05LjEgMy44LTEuNCAzLjUuMyA3LjYgMy45IDkuMXptMzguMy0yMS40YzMuNSAxLjUgNy43LS4yIDkuMS0zLjggMS41LTMuNi0uMi03LjctMy45LTkuMS0zLjYtMS41LTcuNi4zLTkuMSAzLjgtMS4zIDMuNi40IDcuNyAzLjkgOS4xem02NC40LTUuNmMtMy42IDEuNS03LjgtLjItOS4xLTMuNy0xLjUtMy42LjItNy44IDMuOC05LjIgMy42LTEuNCA3LjcuMyA5LjIgMy45IDEuMyAzLjUtLjQgNy41LTMuOSA5em0xNS45IDkuM2MtMy42IDEuNS03LjctLjItOS4xLTMuNy0xLjUtMy42LjItNy44IDMuNy05LjEgMy42LTEuNSA3LjcuMiA5LjIgMy44IDEuNSAzLjUtLjMgNy41LTMuOCA5em00LjcgMTcuN2MtMy42IDEuNS03LjgtLjItOS4yLTMuOC0xLjUtMy42LjItNy43IDMuOS05LjEgMy42LTEuNSA3LjcuMyA5LjIgMy44IDEuMyAzLjUtLjQgNy42LTMuOSA5LjF6TTg5LjMgMzUuOGMtMy42IDEuNS03LjgtLjItOS4yLTMuOC0xLjQtMy42LjItNy43IDMuOS05LjEgMy42LTEuNSA3LjcuMyA5LjIgMy44IDEuNCAzLjYtLjMgNy43LTMuOSA5LjF6TTY5LjcgMTcuN2w4LjkgNC43VjkuM2wtOC45IDIuOGMtLjItLjMtLjUtLjYtLjktLjlMNzIuNCAwSDU5LjZsMy41IDExLjJjLS4zLjMtLjYuNS0uOS45bC04LjgtMi44djEzLjFsOC44LTQuN2MuMy4zLjYuNy45LjlsLTUgMTUuNHYuMWMtLjIuOC0uNCAxLjYtLjQgMi40IDAgNC4xIDMuMSA3LjUgNyA4LjFoLjJjLjMgMCAuNy4xIDEgLjEuNCAwIC43IDAgMS0uMWguMmM0LS42IDcuMS00LjEgNy4xLTguMSAwLS44LS4xLTEuNy0uNC0yLjRWMzRsLTUuMS0xNS40Yy40LS4yLjctLjYgMS0uOXpNNjYgOTIuOGMxNi45IDAgMzIuOCAxLjEgNDcuMSAzLjIgNC0xNi45IDguOS0yNi43IDE0LTMzLjVsLTkuNi0zLjRjMSA0LjkgMS4xIDcuMiAwIDEwLjItMS41LTEuNC0zLTQuMy00LjItOC43TDEwOC42IDc2YzIuOC0yIDUtMy4yIDcuNS0zLjMtNC40IDkuNC0xMCAxMS45LTEzLjYgMTEuMi00LjMtLjgtNi4zLTQuNi01LjYtNy45IDEtNC43IDUuNy01LjkgOC0uNSA0LjMtOC43LTMtMTEuNC03LjYtOC44IDcuMS03LjIgNy45LTEzLjUgMi4xLTIxLjEtOCA2LjEtOC4xIDEyLjMtNC41IDIwLjgtNC43LTUuNC0xMi4xLTIuNS05LjUgNi4yIDMuNC01LjIgNy45LTIgNy4yIDMuMS0uNiA0LjMtNi40IDcuOC0xMy41IDcuMi0xMC4zLS45LTEwLjktOC0xMS4yLTEzLjggMi41LS41IDcuMSAxLjggMTEgNy4zTDgwLjIgNjBjLTQuMSA0LjQtOCA1LjMtMTIuMyA1LjQgMS40LTQuNCA4LTExLjYgOC0xMS42SDU1LjVzNi40IDcuMiA3LjkgMTEuNmMtNC4yLS4xLTgtMS0xMi4zLTUuNGwxLjQgMTYuNGMzLjktNS41IDguNS03LjcgMTAuOS03LjMtLjMgNS44LS45IDEyLjgtMTEuMSAxMy44LTcuMi42LTEyLjktMi45LTEzLjUtNy4yLS43LTUgMy44LTguMyA3LjEtMy4xIDIuNy04LjctNC42LTExLjYtOS40LTYuMiAzLjctOC41IDMuNi0xNC43LTQuNi0yMC44LTUuOCA3LjYtNSAxMy45IDIuMiAyMS4xLTQuNy0yLjYtMTEuOS4xLTcuNyA4LjggMi4zLTUuNSA3LjEtNC4yIDguMS41LjcgMy4zLTEuMyA3LjEtNS43IDcuOS0zLjUuNy05LTEuOC0xMy41LTExLjIgMi41LjEgNC43IDEuMyA3LjUgMy4zbC00LjctMTUuNGMtMS4yIDQuNC0yLjcgNy4yLTQuMyA4LjctMS4xLTMtLjktNS4zIDAtMTAuMmwtOS41IDMuNGM1IDYuOSA5LjkgMTYuNyAxNCAzMy41IDE0LjgtMi4xIDMwLjgtMy4yIDQ3LjctMy4yeiIKICAgICAgICAgICAgPjwvcGF0aD4KICAgICAgICAgICAgCiAgICAgICAgICAgIDxpbWFnZSBzcmM9Ii9hc3NldHMvaW1hZ2VzL2dvdnVrLWxvZ290eXBlLWNyb3duLnBuZyIgeGxpbms6aHJlZj0iIiBjbGFzcz0iZ292dWstaGVhZGVyX19sb2dvdHlwZS1jcm93bi1mYWxsYmFjay1pbWFnZSIgd2lkdGg9IjM2IiBoZWlnaHQ9IjMyIj48L2ltYWdlPgogICAgICAgICAgPC9zdmc+CiAgICAgICAgICA8c3BhbiBjbGFzcz0iZ292dWstaGVhZGVyX19sb2dvdHlwZS10ZXh0Ij4KICAgICAgICAgICAgR09WLlVLCiAgICAgICAgICA8L3NwYW4+CiAgICAgICAgPC9zcGFuPgogICAgICAgIAogICAgICAgIDxzcGFuIGNsYXNzPSJnb3Z1ay1oZWFkZXJfX3Byb2R1Y3QtbmFtZSI+CiAgICAgICAgICBEaWdpdGFsIE1hcmtldHBsYWNlCiAgICAgICAgPC9zcGFuPgogICAgICAgIAogICAgICA8L2E+CiAgICA8L2Rpdj4KICAgIAogICAgPGRpdiBjbGFzcz0iZ292dWstaGVhZGVyX19jb250ZW50Ij4KCiAgICAKCiAgICAKICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiByb2xlPSJidXR0b24iIGNsYXNzPSJnb3Z1ay1oZWFkZXJfX21lbnUtYnV0dG9uIGpzLWhlYWRlci10b2dnbGUiIGFyaWEtY29udHJvbHM9Im5hdmlnYXRpb24iIGFyaWEtbGFiZWw9IlNob3cgb3IgaGlkZSBUb3AgTGV2ZWwgTmF2aWdhdGlvbiI+TWVudTwvYnV0dG9uPgogICAgPG5hdj4KICAgICAgPHVsIGlkPSJuYXZpZ2F0aW9uIiBjbGFzcz0iZ292dWstaGVhZGVyX19uYXZpZ2F0aW9uICIgYXJpYS1sYWJlbD0iVG9wIExldmVsIE5hdmlnYXRpb24iPgogICAgICAgIAogICAgICAgICAgCiAgICAgICAgICAgIDxsaSBjbGFzcz0iZ292dWstaGVhZGVyX19uYXZpZ2F0aW9uLWl0ZW0iPgogICAgICAgICAgICAgIDxhIGNsYXNzPSJnb3Z1ay1oZWFkZXJfX2xpbmsiIGhyZWY9Imh0dHBzOi8vd3d3Lmdvdi51ay9ndWlkYW5jZS9idXlpbmctYW5kLXNlbGxpbmctb24tdGhlLWRpZ2l0YWwtbWFya2V0cGxhY2UiPgogICAgICAgICAgICAgICAgR3VpZGFuY2UKICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAKICAgICAgICAKICAgICAgICAgIAogICAgICAgICAgICA8bGkgY2xhc3M9ImdvdnVrLWhlYWRlcl9fbmF2aWdhdGlvbi1pdGVtIj4KICAgICAgICAgICAgICA8YSBjbGFzcz0iZ292dWstaGVhZGVyX19saW5rIiBocmVmPSIvaGVscCI+CiAgICAgICAgICAgICAgICBIZWxwCiAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAKICAgICAgICAgICAgPGxpIGNsYXNzPSJnb3Z1ay1oZWFkZXJfX25hdmlnYXRpb24taXRlbSI+CiAgICAgICAgICAgICAgPGEgY2xhc3M9ImdvdnVrLWhlYWRlcl9fbGluayIgaHJlZj0iL3VzZXIvbG9naW4iPgogICAgICAgICAgICAgICAgTG9nIGluCiAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgCiAgICAgICAgCiAgICAgIDwvdWw+CiAgICA8L25hdj4KICAgIAogICAgPC9kaXY+CiAgICAKICA8L2Rpdj4KPC9oZWFkZXI+CgoKICAgIAogICAgICA8ZGl2IGNsYXNzPSJnb3Z1ay13aWR0aC1jb250YWluZXIiPgogICAgICAgIAogIAogICAgPGRpdiBjbGFzcz0iZ292dWstcGhhc2UtYmFubmVyIj4KICA8cCBjbGFzcz0iZ292dWstcGhhc2UtYmFubmVyX19jb250ZW50Ij48c3Ryb25nIGNsYXNzPSJnb3Z1ay10YWcgZ292dWstcGhhc2UtYmFubmVyX19jb250ZW50X190YWcgIj4KICBiZXRhCjwvc3Ryb25nPjxzcGFuIGNsYXNzPSJnb3Z1ay1waGFzZS1iYW5uZXJfX3RleHQiPgogICAgICBIZWxwIHVzIGltcHJvdmUgdGhlIERpZ2l0YWwgTWFya2V0cGxhY2UgLSA8YSBjbGFzcz0iZ292dWstbGluayIgaHJlZj0iL2hlbHAiPnNlbmQgeW91ciBmZWVkYmFjazwvYT4KICAgIDwvc3Bhbj4KICA8L3A+CjwvZGl2PgogIAogIAo8ZGl2IGNsYXNzPSJnb3Z1ay1icmVhZGNydW1icyI+CiAgPG9sIGNsYXNzPSJnb3Z1ay1icmVhZGNydW1ic19fbGlzdCI+CiAgCiAgICAKICAgIDxsaSBjbGFzcz0iZ292dWstYnJlYWRjcnVtYnNfX2xpc3QtaXRlbSI+CiAgICAgIDxhIGNsYXNzPSJnb3Z1ay1icmVhZGNydW1ic19fbGluayIgaHJlZj0iLyI+RGlnaXRhbCBNYXJrZXRwbGFjZTwvYT4KICAgIDwvbGk+CiAgICAKICAKICAgIAogICAgPGxpIGNsYXNzPSJnb3Z1ay1icmVhZGNydW1ic19fbGlzdC1pdGVtIj4KICAgICAgPGEgY2xhc3M9ImdvdnVrLWJyZWFkY3J1bWJzX19saW5rIiBocmVmPSIvZGlnaXRhbC1vdXRjb21lcy1hbmQtc3BlY2lhbGlzdHMvb3Bwb3J0dW5pdGllcyI+U3VwcGxpZXIgb3Bwb3J0dW5pdGllczwvYT4KICAgIDwvbGk+CiAgICAKICAKICA8L29sPgo8L2Rpdj4KCgogICAgICAgIDxtYWluIGNsYXNzPSJnb3Z1ay1tYWluLXdyYXBwZXIgIiBpZD0ibWFpbi1jb250ZW50IiByb2xlPSJtYWluIj4KICAgICAgICAgIAogIAogICAgCiAgICAgIAogICAgCiAgCiAgCiAgICAKICAKICAKCgoKPGRpdiBjbGFzcz0iZ292dWstZ3JpZC1yb3ciPgogIDxkaXYgY2xhc3M9ImdvdnVrLWdyaWQtY29sdW1uLXR3by10aGlyZHMiPgogICAgPHNwYW4gY2xhc3M9ImdvdnVrLWNhcHRpb24tbCI+TWluaXN0cnkgb2YgRGVmZW5jZTwvc3Bhbj4KICAgIDxoMSBjbGFzcz0iZ292dWstaGVhZGluZy1sIj5DQ1Q5MzQtTU9EIEZIUlMgRGVsaXZlcnkgUGFydG5lciBmb3IgT3JhY2xlIFNhYVMgJmFtcDsgUGFhUyBUZWNobmljYWwsIEJ1c2luZXNzICZhbXA7IFNlcnZpY2UgQ2hhbmdlPC9oMT4KICAgIDxzcGFuIGRhdGEtbG90PSJkaWdpdGFsLW91dGNvbWVzIj48L3NwYW4+CiAgPC9kaXY+CjwvZGl2PgoKPGRpdiBjbGFzcz0iZ292dWstZ3JpZC1yb3cgZ292dWstIS1tYXJnaW4tYm90dG9tLTkiPgogIDxkaXYgY2xhc3M9ImdvdnVrLWdyaWQtY29sdW1uLW9uZS10aGlyZCBhcHAtc3RhdC1ibG9jayIgaWQ9ImluY29tcGxldGUtYXBwbGljYXRpb25zIj4KICAgPGgyPgogICAgICA8c3BhbiBjbGFzcz0iZ292dWstIS1mb250LXNpemUtMzYgZ292dWstIS1kaXNwbGF5LWJsb2NrIj4wPC9zcGFuPgogICAgICA8c3Bhbj5JbmNvbXBsZXRlIGFwcGxpY2F0aW9uczwvc3Bhbj4KICAgPC9oMj4KICAgPHAgY2xhc3M9ImdvdnVrLWJvZHkgZ292dWstIS1mb250LXNpemUtMTYiPjwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9ImdvdnVrLWdyaWQtY29sdW1uLW9uZS10aGlyZCBhcHAtc3RhdC1ibG9jayIgaWQ9ImNvbXBsZXRlZC1hcHBsaWNhdGlvbnMiPgogICA8aDI+CiAgICAgIDxzcGFuIGNsYXNzPSJnb3Z1ay0hLWZvbnQtc2l6ZS0zNiBnb3Z1ay0hLWRpc3BsYXktYmxvY2siPjA8L3NwYW4+CiAgICAgIDxzcGFuPkNvbXBsZXRlZCBhcHBsaWNhdGlvbnM8L3NwYW4+CiAgIDwvaDI+CiAgIDxwIGNsYXNzPSJnb3Z1ay1ib2R5IGdvdnVrLSEtZm9udC1zaXplLTE2Ij48L3A+CjwvZGl2PgoKPC9kaXY+Cgo8ZGl2IGNsYXNzPSJnb3Z1ay1ncmlkLXJvdyI+CiAgPGRpdiBjbGFzcz0iZ292dWstZ3JpZC1jb2x1bW4tZnVsbCI+CiAgICA8aDIgY2xhc3M9ImdvdnVrLXZpc3VhbGx5LWhpZGRlbiI+SW1wb3J0YW50IGRhdGVzPC9oMj4KCgoKICAKCiAgCgogIAo8ZGwgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdCBhcHAtZ292dWstc3VtbWFyeS1saXN0IGFwcC1nb3Z1ay1zdW1tYXJ5LWxpc3QtLXRvcC1ib3JkZXIgZ292dWstIS1tYXJnaW4tYm90dG9tLTgiIGlkPSJvcHBvcnR1bml0eS1pbXBvcnRhbnQtZGF0ZXMiPgogIAogICAgPGRpdiBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19yb3ciPgogICAgICA8ZHQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5Ij4KICAgICAgICBQdWJsaXNoZWQKICAgICAgPC9kdD4KICAgICAgPGRkIGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlIj4KICAgICAgICBXZWRuZXNkYXkgMzAgU2VwdGVtYmVyIDIwMjAKICAgICAgPC9kZD4KICAgICAgCiAgICA8L2Rpdj4KICAKICAgIDxkaXYgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fcm93Ij4KICAgICAgPGR0IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleSI+CiAgICAgICAgRGVhZGxpbmUgZm9yIGFza2luZyBxdWVzdGlvbnMKICAgICAgPC9kdD4KICAgICAgPGRkIGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlIj4KICAgICAgICBXZWRuZXNkYXkgNyBPY3RvYmVyIDIwMjAgYXQgMTE6NTlwbSBHTVQKICAgICAgPC9kZD4KICAgICAgCiAgICA8L2Rpdj4KICAKICAgIDxkaXYgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fcm93Ij4KICAgICAgPGR0IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleSI+CiAgICAgICAgQ2xvc2luZyBkYXRlIGZvciBhcHBsaWNhdGlvbnMKICAgICAgPC9kdD4KICAgICAgPGRkIGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlIj4KICAgICAgICBXZWRuZXNkYXkgMTQgT2N0b2JlciAyMDIwIGF0IDExOjU5cG0gR01UCiAgICAgIDwvZGQ+CiAgICAgIAogICAgPC9kaXY+CiAgCjwvZGw+CgoKICA8aDIgaWQ9Im9wcG9ydHVuaXR5LWF0dHJpYnV0ZXMtMSIgY2xhc3M9ImdvdnVrLWhlYWRpbmctbSBhcHAtc3VtbWFyeS1saXN0LWhlYWRpbmciPk92ZXJ2aWV3PC9oMj4KICAKICAKCgogIAoKICAKCiAgCgogIAoKICAKCiAgCjxkbCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0IGFwcC1nb3Z1ay1zdW1tYXJ5LWxpc3QgYXBwLWdvdnVrLXN1bW1hcnktbGlzdC0tdG9wLWJvcmRlciBnb3Z1ay0hLW1hcmdpbi1ib3R0b20tOCI+CiAgCiAgICA8ZGl2IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3JvdyI+CiAgICAgIDxkdCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19rZXkiPgogICAgICAgIFN1bW1hcnkgb2YgdGhlIHdvcmsKICAgICAgPC9kdD4KICAgICAgPGRkIGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlIj4KICAgICAgICBTdXBwb3J0IHRvIE1PRCBhbmQgREUmYW1wO1MgaW4gZGVsaXZlcnkgb2YgY29uZmlndXJlZCBPcmFjbGUgSENNIGFuZCBQSlJNIHRocm91Z2ggU3lzdGVtICZhbXA7IFVzZXIgVGVzdGluZywgQnVzaW5lc3MgYW5kIFNlcnZpY2UgQ2hhbmdlIGFuZCAzIG1vbnRocyBwb3N0IGdvLWxpdmUgc3VwcG9ydC4KICAgICAgPC9kZD4KICAgICAgCiAgICA8L2Rpdj4KICAKICAgIDxkaXYgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fcm93Ij4KICAgICAgPGR0IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleSI+CiAgICAgICAgTGF0ZXN0IHN0YXJ0IGRhdGUKICAgICAgPC9kdD4KICAgICAgPGRkIGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlIj4KICAgICAgICBNb25kYXkgMTQgRGVjZW1iZXIgMjAyMAogICAgICA8L2RkPgogICAgICAKICAgIDwvZGl2PgogIAogICAgPGRpdiBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19yb3ciPgogICAgICA8ZHQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5Ij4KICAgICAgICBFeHBlY3RlZCBjb250cmFjdCBsZW5ndGgKICAgICAgPC9kdD4KICAgICAgPGRkIGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlIj4KICAgICAgICAxMSBtb250aHMgd2l0aCBhIDMgbW9udGggT3B0aW9uYWwgZXh0ZW5zaW9uIHBlcmlvZAogICAgICA8L2RkPgogICAgICAKICAgIDwvZGl2PgogIAogICAgPGRpdiBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19yb3ciPgogICAgICA8ZHQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5Ij4KICAgICAgICBMb2NhdGlvbgogICAgICA8L2R0PgogICAgICA8ZGQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUiPgogICAgICAgIFNvdXRoIFdlc3QgRW5nbGFuZAogICAgICA8L2RkPgogICAgICAKICAgIDwvZGl2PgogIAogICAgPGRpdiBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19yb3ciPgogICAgICA8ZHQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5Ij4KICAgICAgICBPcmdhbmlzYXRpb24gdGhlIHdvcmsgaXMgZm9yCiAgICAgIDwvZHQ+CiAgICAgIDxkZCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSI+CiAgICAgICAgTWluaXN0cnkgb2YgRGVmZW5jZQogICAgICA8L2RkPgogICAgICAKICAgIDwvZGl2PgogIAogICAgPGRpdiBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19yb3ciPgogICAgICA8ZHQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5Ij4KICAgICAgICBCdWRnZXQgcmFuZ2UKICAgICAgPC9kdD4KICAgICAgPGRkIGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlIj4KICAgICAgICDCozUsMjgwLDMxOSAgKGV4IFZBVCkKICAgICAgPC9kZD4KICAgICAgCiAgICA8L2Rpdj4KICAKPC9kbD4KCiAgPGgyIGlkPSJvcHBvcnR1bml0eS1hdHRyaWJ1dGVzLTIiIGNsYXNzPSJnb3Z1ay1oZWFkaW5nLW0gYXBwLXN1bW1hcnktbGlzdC1oZWFkaW5nIj5BYm91dCB0aGUgd29yazwvaDI+CiAgCiAgCgoKICAKCiAgCgogIAoKICAKCiAgCgogIAoKICAKPGRsIGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3QgYXBwLWdvdnVrLXN1bW1hcnktbGlzdCBhcHAtZ292dWstc3VtbWFyeS1saXN0LS10b3AtYm9yZGVyIGdvdnVrLSEtbWFyZ2luLWJvdHRvbS04Ij4KICAKICAgIDxkaXYgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fcm93Ij4KICAgICAgPGR0IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleSI+CiAgICAgICAgV2h5IHRoZSB3b3JrIGlzIGJlaW5nIGRvbmUKICAgICAgPC9kdD4KICAgICAgPGRkIGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlIj4KICAgICAgICBNT0QgYW5kIERFJmFtcDtTIGhhdmUgY29udHJhY3RlZCB3aXRoIEluc2lnaHQvT3JhY2xlIHRvIGltcGxlbWVudCBTYWFTIEhDTSwgSUEsIEhSIEhlbHAgRGVzaywgT3JhY2xlIExlYXJuaW5nIENsb3VkIFNlcnZpY2UsIFByb2plY3QgUmVzb3VyY2UgTWFuYWdlbWVudCAoUGpSTSksIE9yYWNsZSBSZWNydWl0aW5nIENsb3VkIGFuZCBTdHJhdGVnaWMgV29ya2ZvcmNlIFBsYW5uaW5nIChTV1ApLiBPdmVyIHRoZSBwYXN0IDE1IG1vbnRocyB0aGUgTU9EIGFuZCBERSZhbXA7UyBoYXZlIHdvcmtlZCB3aXRoIGEgZGVsaXZlcnkgcGFydG5lciB0byBjb25maWd1cmUgdGhlIG1vZHVsZXMgdG8gIE1PRCByZXF1aXJlbWVudHMsIGRldmVsb3Agc3BlY2lmaWNhdGlvbnMgYW5kIGJ1aWxkIGludGVyZmFjZSBjYXBhYmlsaXR5IHRvIE1PRCBhbmQgREUmYW1wO1Mgc3lzdGVtcyBhbmQgcGxhbiBzZXJ2aWNlIGFuZCBidXNpbmVzcyBjaGFuZ2UuIEEgbmV3IERlbGl2ZXJ5IFBhcnRuZXIgQ29udHJhY3QgaXMgcmVxdWlyZWQgdG8gc3VwcG9ydCB0aGUgaW1wbGVtZW50YXRpb24gb2YgU2FhUyBpbiB0aGUgTU9EIHRlY2huaWNhbCBlbnZpcm9ubWVudCwgIG1pZ3JhdGUgZGF0YSBmcm9tIHRoZSBQZW9wbGVTb2Z0IEhSIG9uIHByZW1pc2Ugc3lzdGVtIGFuZCBsZWdhY3kgREUmYW1wO1Mgc3lzdGVtcyBpbiBzY29wZSBmb3IgcmVwbGFjZW1lbnQsIGFyY2hpdmUgaGlzdG9yaWMgZGF0YSwgY3JlYXRlIHRyYWluaW5nIGRvY3VtZW50YXRpb24sIGFuZCBhc3Npc3QgaW4gdGhlIGVkdWNhdGlvbiBvZiB0aGUgc2VydmljZSBvcmdhbmlzYXRpb24gYW5kIHVzZXJzLgogICAgICA8L2RkPgogICAgICAKICAgIDwvZGl2PgogIAogICAgPGRpdiBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19yb3ciPgogICAgICA8ZHQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5Ij4KICAgICAgICBQcm9ibGVtIHRvIGJlIHNvbHZlZAogICAgICA8L2R0PgogICAgICA8ZGQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUiPgogICAgICAgIE1PRCBhbmQgREUmYW1wO1MgbmVlZCBhIGRlbGl2ZXJ5IHBhcnRuZXIgdG8gcHJvdmlkZSBzcGVjaWFsaXN0IGtub3dsZWRnZSBhbmQgZXhwZXJpZW5jZSBpbiB0aGUgc3lzdGVtIGludGVncmF0aW9uIGFuZCBVQVQgb2YgYSBjb25maWd1cmVkIFNhYVMgc3lzdGVtLCB3aXRoIHRoZSBleGNlcHRpb24gb2YgSW50ZWxsaWdlbnQgQWR2aXNvciB3aGljaCB3aWxsIHJlcXVpcmUgY29uZmlndXJhdGlvbjsgY29tcGxldGUgTU9EIGFuZCBERSZhbXA7UyBhc3N1cmFuY2UgYW5kICAgYWNjcmVkaXRhdGlvbiwgYW5kIGRlbGl2ZXIgR28gTGl2ZSwgQnVzaW5lc3MsIGFuZCBTZXJ2aWNlICBDaGFuZ2U8YnI+PGJyPkhlbHAgZGV2ZWxvcCBhbmQgcHJvZHVjZSBxdWFsaXR5IHRyYWluaW5nIG1hdGVyaWFscyB0byBzdXBwb3J0IHRoZSBjaGFuZ2Ugb2YgZGVsaXZlcnkgaW4gSFIgc2VydmljZXMsIGFuZCBjaGFuZ2UgaW4gdXNlciBiZWhhdmlvdXIgdG8gZW1icmFjZSBIUiAgc2VsZi1zZXJ2aWNlLiA8YnI+PGJyPlRlY2huaWNhbCBzdXBwb3J0IHRvIHN5c3RlbSBpbnRlZ3JhdGlvbiB0ZXN0aW5nIG9mIG11bHRpcGxlIGludGVyZmFjZXMgYnVpbHQgdG8gaW50ZXJmYWNlIHdpdGggIFNhYVMsIGFuZCByZXNvbHZlIGlzc3VlcyB0aGF0IGFyaXNlLjxicj48YnI+VXNlIGtub3dsZWRnZSBvZiBNT0QgYW5kIERFJmFtcDtTIGFjY3JlZGl0YXRpb24gYW5kIGFzc3VyYW5jZSBzdXBwb3J0IHRoZSBwcm9qZWN0IGluIGdhaW5pbmcgYXBwcm92YWwgdG8gdGVzdCBhbmQgYXBwcm92YWwgdG8gb3BlcmF0ZS4gPGJyPjxicj5TdXBwb3J0IHRlc3RpbmcgYW5kIHRoZSBjb3JyZWN0aW9uIG9mIGRlZmVjdHMgaWRlbnRpZmllZC48YnI+PGJyPkxlYWQgZGF0YSBtaWdyYXRpb24sIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgc3RyYXRlZ2llcyBkZXZlbG9wZWQuIDxicj48YnI+Q29uZmlndXJlIHRvIE1PRCBhbmQgREUmYW1wO1MgcmVxdWlyZW1lbnRzIGFuZCB0ZXN0IE9yYWNsZSBJbnRlbGxpZ2VudCBBc3Npc3RhbnQsIGFuZCB0cmFuc2ZlciBrbm93bGVkZ2UgdG8gREUmYW1wO1MgYW5kIE1PRCBzdGFmZi48YnI+PGJyPlN1cHBvcnQgdGhlIGZpcnN0IHRocmVlIG1vbnRocyBvZiBTYWFTIG9wZXJhdGlvbiBlbnN1cmluZyBNT0QgYW5kIERFJmFtcDtTIGFyZSBjb21wZXRlbnQgdG8gdW5kZXJ0YWtlIHRoZSBtYW5hZ2VtZW50IGFuZCBtYWludGVuYW5jZSBvZiBTYWFTIHBvc3Qgcm9sbC1vZmYuPGJyPjxicj5SZXF1aXJlZCB0byBnYWluIGEgZnVsbCB1bmRlcnN0YW5kaW5nIG9mIHRoZSBzeXN0ZW0gY29uZmlndXJhdGlvbiwgaW50ZXJmYWNlIHNwZWNpZmljYXRpb25zIGFuZCBjaGFuZ2UgYW5kIHNlcnZpY2UgZGVsaXZlcnkgZGlyZWN0aW9uIGFzIHBhcnQgb2YgYSBoYW5kb3ZlciBmcm9tIHRoZSBpbmN1bWJlbnQuCiAgICAgIDwvZGQ+CiAgICAgIAogICAgPC9kaXY+CiAgCiAgICA8ZGl2IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3JvdyI+CiAgICAgIDxkdCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19rZXkiPgogICAgICAgIFdobyB0aGUgdXNlcnMgYXJlIGFuZCB3aGF0IHRoZXkgbmVlZCB0byBkbwogICAgICA8L2R0PgogICAgICA8ZGQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUiPgogICAgICAgIEFjY2VzcyBpcyBieSBNT0QgZGV2aWNlIG9ubHkuIH41NiwwMDAgdXNlcnMgY3VycmVudGx5IHVzaW5nIGEgYmVzcG9rZSBQZW9wbGVTb2Z0IEhSIHN5c3RlbSwgaW5jbHVkaW5nIH4xMiwwMDAgdXNlcnMgaW4gREUmYW1wO1MgYW5kIH4gNywwMDAgbWlsaXRhcnkgbGluZSBtYW5hZ2VycyB3aWxsIHVzZSBTYWFTIHRvIG1hbmFnZSBjaXZpbGlhbiBzdGFmZi4gQSBzbWFsbCBwb3B1bGF0aW9uIG9mIEFzc2lzdGVkIERpZ2l0YWwgKEFEKSB1c2VycyB3aWxsIGhhdmUgYWNjZXNzIHRvICBhc3Npc3RlZCBzZXJ2aWNlcy4gU2FhUyBIUiB3aWxsIG1vdmUgZW1wbG95ZWVzIGFuZCBtYW5hZ2VycyB0byBzZWxmIHNlcnZpY2UuIFNlcnZpY2UgcHJvdmlkZXJzIGFuZCBIUiBidXNpbmVzcyBwcm9mZXNzaW9uYWxzIHdpbGwgaGF2ZSBpbmNyZWFzZWQgYWNjZXNzdCB0byAgYnVpbHQgcmVwb3J0cyBhbmQgaW5mb3JtYXRpb24uIEFsbCB1c2VycyB0byBiZSB0cmFpbmVkIGFuZCBlbXBvd2VyZWQgdG8gZXhwbG9pdCB0aGUgc3lzdGVtIGZvciBzZWxmIHNlcnZpY2UgYW5kIHJlZHVjZSBkZW1hbmQgb24gc2VydmljZSBwcm92aWRlci4gQUQgdXNlcnMgdW5kZXJzdGFuZCB0aGUgc3lzdGVtIGFuZCBzZXJ2aWNlIHByb3ZpZGVkLiA8YnI+PGJyPlNlcnZpY2UgYW5kIEJ1c2luZXNzIENoYW5nZSBUZWFtcyB0byByZWNlaXZlIGtub3dsZWRnZSB0cmFuc2ZlciB0byBydW4gU2FhUy4KICAgICAgPC9kZD4KICAgICAgCiAgICA8L2Rpdj4KICAKICAgIDxkaXYgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fcm93Ij4KICAgICAgPGR0IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleSI+CiAgICAgICAgRWFybHkgbWFya2V0IGVuZ2FnZW1lbnQKICAgICAgPC9kdD4KICAgICAgPGRkIGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlIj4KICAgICAgICAKICAgICAgPC9kZD4KICAgICAgCiAgICA8L2Rpdj4KICAKICAgIDxkaXYgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fcm93Ij4KICAgICAgPGR0IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleSI+CiAgICAgICAgQW55IHdvcmsgdGhhdOKAmXMgYWxyZWFkeSBiZWVuIGRvbmUKICAgICAgPC9kdD4KICAgICAgPGRkIGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlIj4KICAgICAgICBTYWFTIGhhcyBiZWVuIGNvbmZpZ3VyZWQgdG8gbWVldCBNT0QgYW5kIERFJmFtcDtTIHJlcXVpcmVtZW50cy4gU3BlY2lmaWNhdGlvbiBkb2N1bWVudHMgaGF2ZSBiZWVuIHdyaXR0ZW4gYW5kIGludGVyZmFjZXMgYnVpbHQuIERhdGEgTWlncmF0aW9uIGhhcyBiZWVuIHVuZGVydGFrZW4uIERhdGEgY2xlYW5zaW5nIGhhcyBiZWVuIGluaXRpYXRlZC4gQnVzaW5lc3MgYW5kIFNlcnZpY2UgQ2hhbmdlIGhhcyBiZWVuIGlkZW50aWZpZWQuIEEgbmV3IFNlcnZpY2UgRGVsaXZlcnkgU2VydmljZSBhbmQgVGVjaG5pY2FsIERlbGl2ZXJ5IE1vZGVsIGhhdmUgYmVlbiBkZXNpZ25lZC4gUHJvY2VzcyBtYXBzIGhhdmUgYmVlbiBjb21wbGV0ZWQuIFNlcnZpY2UgYW5kIFVzZXIgdHJhaW5pbmcgbmVlZHMgYXJlIGluIHByb2Nlc3Mgb2YgYmVpbmcgaWRlbnRpZmllZC4KICAgICAgPC9kZD4KICAgICAgCiAgICA8L2Rpdj4KICAKICAgIDxkaXYgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fcm93Ij4KICAgICAgPGR0IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleSI+CiAgICAgICAgRXhpc3RpbmcgdGVhbQogICAgICA8L2R0PgogICAgICA8ZGQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUiPgogICAgICAgIFRoZSBNT0QgRkhSUy1DaXYgcHJvamVjdCB0ZWFtIGlzICBqb2ludCBiZXR3ZWVuLCBNT0QgYW5kIERFJmFtcDtTLjxicj48YnI+TU9EIHRlYW06ICAyMyBmdWxsLXRpbWUgY2l2aWwgc2VydmFudHMgYWNyb3NzIDMtbG9jYXRpb25zOiBQcm9qZWN0IERpcmVjdG9yLCBCdXNpbmVzcyBDaGFuZ2UsIFVzZXIgUHJlcGFyYXRpb24gYW5kIENvbW1zIFRlYW0sIFNlcnZpY2UgVGVhbSwgVGVjaG5pY2FsIFRlYW0gYW5kIERlbGl2ZXJ5IFRlYW0uIFN1cHBvcnRlZCBieSBEQlMgYW5kIERlZmVuY2UtRGlnaXRhbC4gPGJyPjxicj5ERSZhbXA7UyB0ZWFtOiAyMSBmdWxsLXRpbWUgYW5kIDUgcGFydC10aW1lIGNpdmlsIHNlcnZhbnRzOiBQcm9qZWN0IE1hbmFnZW1lbnQsIEhSIFRlYW0sIEJ1c2luZXNzIEFuYWx5c2lzICwgQ2hhbmdlIFRlYW0sIGFuZCBUZWNobmljYWwgVGVhbS48YnI+PGJyPkEgb24tZ29pbmcgY29udHJhY3QgaXMgaW4gcGxhY2UgZm9yIE9yYWNsZSB0byBkZWxpdmVyIHRoZSBTYWFTIGFuZCBQYWFTLCAgVGhlIERlbGl2ZXJ5IFBhcnRuZXIgaXMgcmVzcG9uc2libGUgZm9yIHRoZSBkZXNpZ24vZGVsaXZlcnkgb2YgTXlIUiBmdW5jdGlvbmFsaXR5IGFuZCBpbnRlcmZhY2VzIGJhc2VkIG9uIHVzZSBvZiBPcmFjbGUgSENNIGFuZCBQYWFTIHBsYXRmb3JtcyB1bmRlciBBdXRob3JpdHkgb3ZlcnNpZ2h0LgogICAgICA8L2RkPgogICAgICAKICAgIDwvZGl2PgogIAogICAgPGRpdiBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19yb3ciPgogICAgICA8ZHQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5Ij4KICAgICAgICBDdXJyZW50IHBoYXNlCiAgICAgIDwvZHQ+CiAgICAgIDxkZCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSI+CiAgICAgICAgQmV0YQogICAgICA8L2RkPgogICAgICAKICAgIDwvZGl2PgogIAo8L2RsPgoKICA8aDIgaWQ9Im9wcG9ydHVuaXR5LWF0dHJpYnV0ZXMtMyIgY2xhc3M9ImdvdnVrLWhlYWRpbmctbSBhcHAtc3VtbWFyeS1saXN0LWhlYWRpbmciPldvcmsgc2V0dXA8L2gyPgogIAogIAoKCiAgCgogIAoKICAKPGRsIGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3QgYXBwLWdvdnVrLXN1bW1hcnktbGlzdCBhcHAtZ292dWstc3VtbWFyeS1saXN0LS10b3AtYm9yZGVyIGdvdnVrLSEtbWFyZ2luLWJvdHRvbS04Ij4KICAKICAgIDxkaXYgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fcm93Ij4KICAgICAgPGR0IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleSI+CiAgICAgICAgQWRkcmVzcyB3aGVyZSB0aGUgd29yayB3aWxsIHRha2UgcGxhY2UKICAgICAgPC9kdD4KICAgICAgPGRkIGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlIj4KICAgICAgICBNT0QgREJTIGFuZCBERSZhbXA7UyBUZWNobmljYWwgYW5kIFNlcnZpY2UgdGVhbSBsZWFkcywgdGhlIFBNTyBhbmQgREUmYW1wO1MgQnVzaW5lc3MgQ2hhbmdlIGFuZCBDSU8gRGV2ZWxvcG1lbnQgYXJlIGluIEFiYmV5IFdvb2QsIHNlcGFyYXRlIHNpdGVzLjxicj7igKIJREJTLCBNT0QgQWJiZXkgV29vZCBOb3J0aCwgQlMzNCA4UVcgYW5kIDxicj7igKIJREUmYW1wO1MgQWJiZXkgV29vZCBTb3V0aCwgQlMzNCA4SkguIDxicj48YnI+TU9EIEJ1c2luZXNzIENoYW5nZSwgUHJvZHVjdCBPd25lciBhbmQgUHJvamVjdCBEaXJlY3RvciwgYmFzZWQgaW4gTG9uZG9uOiA8YnI+4oCiCTYtSiBNT0QgTWFpbiBCdWlsZGluZywgV2hpdGVoYWxsLCBMb25kb24uIFNXMUEgMkhCLiAgPGJyPjxicj5NT0QgREJTIGFwcGxpY2F0aW9uIGNvbmZpZ3VyYXRpb24gYW5kIHBhcnRzIG9mIHRoZSBzZXJ2aWNlIGFuZCB0ZWNobmljYWwgdGVhbXMgYXJlIGluIE1hbmNoZXN0ZXIgYW5kIERFJmFtcDtTIGluIEJyaXN0b2w6IDxicj7igKIJREJTLCBEYWlyeSBMYW5lLCBDaGVhZGxlIEh1bG1lLCBTSzggN05VLjxicj5hbmQ8YnI+4oCiCURFJmFtcDtTIEJ1c2luZXNzIENoYW5nZSBBYmJleSBXb29kIFNvdXRoLCBCUzM0IDhKSAogICAgICA8L2RkPgogICAgICAKICAgIDwvZGl2PgogIAogICAgPGRpdiBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19yb3ciPgogICAgICA8ZHQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5Ij4KICAgICAgICBXb3JraW5nIGFycmFuZ2VtZW50cwogICAgICA8L2R0PgogICAgICA8ZGQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUiPgogICAgICAgIEF0IHRoZSBjdXJyZW50IHRpbWUgdGhlIHRlYW0gaXMgd29ya2luZyByZW1vdGVseSB3aXRoIHZpcnR1YWwgbWVldGluZ3MuIExpbWl0ZWQgTU9EIGRldmljZXMgYXJlIGF2YWlsYWJsZSBhbmQgcGFydG5lcnMgbmVlZCB0byB1c2Ugb3duIGRldmljZXMgIGZvciBjb2xsYWJvcmF0aXZlIHdvcmtpbmcuPGJyPjxicj5Ob3JtYWxseSBpdCB3b3VsZCBiZSBleHBlY3RlZCB0aGUgUGFydG5lciB3b3VsZCB3b3JrIGFsb25nc2lkZSBNT0QgY2l2aWwgc2VydmFudHMgb24gc2l0ZS48YnI+PGJyPk1PRDogUGFydG5lciBzaG91bGQgaGF2ZSBhIHN1aXRhYmxlIHByZXNlbmNlIGluIERCUyBCcmlzdG9sIGFuZCBEQlMgQ2hlYWRsZSBIdWxtZSAgKDItNCBkYXlzIGEgd2VlayksIExvbmRvbiAoMS0yIGRheXMgcGVyIHdlZWspIDxicj48YnI+REUmYW1wO1M6IFBhcnRuZXIgc2hvdWxkIGhhdmUgYSBwcmVzZW5jZSBpbiBERSZhbXA7UyBCcmlzdG9sICgzLTQgZGF5cyBhIHdlZWspLjxicj5UcmF2ZWwgYmV0d2VlbiBhYm92ZSBkZWZlbmNlIGVzdGFibGlzaG1lbnRzIGFuZCB0aGUgd2lkZXIgZXN0YXRlIGluIGxpbmUgd2l0aCBwcm9qZWN0IG5lZWQuCiAgICAgIDwvZGQ+CiAgICAgIAogICAgPC9kaXY+CiAgCiAgICA8ZGl2IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3JvdyI+CiAgICAgIDxkdCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19rZXkiPgogICAgICAgIFNlY3VyaXR5IGNsZWFyYW5jZQogICAgICA8L2R0PgogICAgICA8ZGQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUiPgogICAgICAgIFNDIGVzc2VudGlhbDxicj48YnI+QWxsIHBlcnNvbm5lbCB1dGlsaXNlZCBieSBTdXBwbGllciBtdXN0IGhhdmUgU2VjdXJpdHkgQ2xlYXJhbmNlIGluIGFkdmFuY2Ugb2Ygc3RhcnRpbmcgY29udHJhY3QsIGR1ZSB0byB0aWdodCB0aW1lIGNvbnN0cmFpbnRzLgogICAgICA8L2RkPgogICAgICAKICAgIDwvZGl2PgogIAo8L2RsPgoKICA8aDIgaWQ9Im9wcG9ydHVuaXR5LWF0dHJpYnV0ZXMtNCIgY2xhc3M9ImdvdnVrLWhlYWRpbmctbSBhcHAtc3VtbWFyeS1saXN0LWhlYWRpbmciPkFkZGl0aW9uYWwgaW5mb3JtYXRpb248L2gyPgogIAogIAoKCiAgCjxkbCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0IGFwcC1nb3Z1ay1zdW1tYXJ5LWxpc3QgYXBwLWdvdnVrLXN1bW1hcnktbGlzdC0tdG9wLWJvcmRlciBnb3Z1ay0hLW1hcmdpbi1ib3R0b20tOCI+CiAgCiAgICA8ZGl2IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3JvdyI+CiAgICAgIDxkdCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19rZXkiPgogICAgICAgIEFkZGl0aW9uYWwgdGVybXMgYW5kIGNvbmRpdGlvbnMKICAgICAgPC9kdD4KICAgICAgPGRkIGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlIj4KICAgICAgICDigKIJU3VwcGxpZXJzIG11c3QgdXNlIHRoZSBBdXRob3JpdHnigJlzIFB1cmNoYXNlIHRvIFBheW1lbnQgVG9vbCBjYWxsZWQgQ1AmYW1wO0Ygb3IgYmUgcHJlcGFyZWQgdG8gc2lnbiB1cCB0byB0aGUgdG9vbC48YnI+PGJyPuKAoglVc2Ugb2YgTU9EIGRldmljZXMgYW5kIFBhcnRuZXJzIG93biBkZXZpY2VzIHJlcXVpcmVkIGZvciBjb2xsYWJvcmF0aXZlIHdvcmtpbmcuPGJyPjxicj7igKIJQWRoZXJlbmNlIHRvIE1PRCBhbmQgREUmYW1wO1MgUG9saWN5IGFuZCBQcm9jZWR1cmVzLiBEZXRhaWwgd2lsbCBiZSBwcm92aWRlZCBhdCB0aGUgdGVuZGVyIHN0YWdlLCBmb3Igc3VwcGxpZXJzIHRoYXQgcGFzcyB0aGUgc2hvcnRsaXN0aW5nIHN0YWdlLjxicj48YnI+4oCiCUZ1cnRoZXIgZGVmZW5jZSBzcGVjaWZpYyBjb250cmFjdHVhbCBjb25kaXRpb25zIHdpbGwgYXBwbHksIHRoZXNlIHdpbGwgYmUgY29uZmlybWVkIGxhdGVyIGluIHRoZSB0ZW5kZXJpbmcgcHJvY2Vzcy4gPGJyPjxicj7igKIJTWF4aW11bSBjbGFzc2lmaWNhdGlvbiBmb3IgdGhpcyByZXF1aXJlbWVudCB3aWxsIGJlIE9mZmljaWFsIFNlbnNpdGl2ZS48YnI+PGJyPuKAoglJUjM1IGRvZXMgbm90IGFwcGx5LgogICAgICA8L2RkPgogICAgICAKICAgIDwvZGl2PgogIAo8L2RsPgoKICA8aDIgaWQ9Im9wcG9ydHVuaXR5LWF0dHJpYnV0ZXMtNSIgY2xhc3M9ImdvdnVrLWhlYWRpbmctbSBhcHAtc3VtbWFyeS1saXN0LWhlYWRpbmciPlNraWxscyBhbmQgZXhwZXJpZW5jZTwvaDI+CiAgCiAgPHAgY2xhc3M9ImdvdnVrLWJvZHkgZ292dWstIS1tYXJnaW4tdG9wLTMiPkJ1eWVycyB3aWxsIHVzZSB0aGUgZXNzZW50aWFsIGFuZCBuaWNlLXRvLWhhdmUgc2tpbGxzIGFuZCBleHBlcmllbmNlIHRvIGhlbHAgdGhlbSBldmFsdWF0ZSBzdXBwbGllcnPigJkgdGVjaG5pY2FsIGNvbXBldGVuY2UuPC9wPgogIAogIAogIAoKCiAgCgogIAo8ZGwgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdCBhcHAtZ292dWstc3VtbWFyeS1saXN0IGFwcC1nb3Z1ay1zdW1tYXJ5LWxpc3QtLXRvcC1ib3JkZXIgZ292dWstIS1tYXJnaW4tYm90dG9tLTgiPgogIAogICAgPGRpdiBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19yb3ciPgogICAgICA8ZHQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5Ij4KICAgICAgICBFc3NlbnRpYWwgc2tpbGxzIGFuZCBleHBlcmllbmNlCiAgICAgIDwvZHQ+CiAgICAgIDxkZCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSI+CiAgICAgICAgPHVsIGNsYXNzPSJnb3Z1ay1saXN0IGdvdnVrLWxpc3QtLWJ1bGxldCI+CiAgICAgICAgICA8bGk+RXhwZXJpZW5jZSwgd2l0aGluIHRoZSBsYXN0IDQgeWVhcnMsIG9mIGVuZ2luZWVyaW5nIE9yYWNsZSBiYXNlZCBTYWFTL1BhYVMgc29sdXRpb25zIHRoYXQgYWxpZ24gdG8gdGhlIGJ1c2luZXNzIHJlcXVpcmVtZW50cy4gKDVwdHMpPC9saT4KICAgICAgICAgIDxsaT5FeHBlcmllbmNlIG9mIHVuZGVydGFraW5nIGVuZCB0byBlbmQgdGVzdGluZyBvZiBhIFNhYVMvUGFhUyBzb2x1dGlvbiB3aXRoaW4gYSBtdWx0aSB2ZW5kb3IgZGVsaXZlcnkgbW9kZWwuICg1cHRzKTwvbGk+CiAgICAgICAgICA8bGk+RXhwZXJpZW5jZSwgd2l0aGluIHRoZSBsYXN0IDQgeWVhcnMsIG9mIHRyYW5zaXRpb25pbmcgdG8gbGl2ZSBhICBTYWFTL1BhYVMgc29sdXRpb24gd2l0aG91dCBpbXBhY3Rpbmcgb24gdGhlIGJ1c2luZXNzLiAoNXB0cyk8L2xpPgogICAgICAgICAgPGxpPkV4cGVyaWVuY2UsIHdpdGhpbiB0aGUgbGFzdCA0IHllYXJzLCBvZiBwcm92aWRpbmcgZWFybHkgbGlmZSBzdXBwb3J0IHBvc3QgZ28gbGl2ZSBvZiBTYWFTL1BhYVMgdG8gc3lzdGVtIG9wZXJhdG9ycy4gKDVwdHMpPC9saT4KICAgICAgICAgIDxsaT5FeHBlcmllbmNlIGluIGdhaW5pbmcgc2VjdXJpdHkgYW5kIGNvbXBsaWFuY2UgYXBwcm92YWwgdG8gb3BlcmF0ZSBjbG91ZCBzb2x1dGlvbnMgd2l0aGluIGEgR292ZXJubWVudCBEZXBhcnRtZW50LiAoNXB0cyk8L2xpPgogICAgICAgICAgPGxpPkV4cGVyaWVuY2Ugb2YgZGVsaXZlcmluZyBhbmQgdGVzdGluZyBvZiBzZWN1cmUgaW50ZWdyYXRpb25zIHdpdGhpbiBjbG91ZC9vbi1wcmVtaXNlIGh5YnJpZCBhcmNoaXRlY3R1cmVzIHRvIGVuYWJsZSBwcm9jZXNzIGhhbmQtb2ZmcywgdGhlIGdlbmVyYXRpb24gb2YgYnVzaW5lc3MgaW50ZWxsaWdlbmNlIGFuZCBhcmNoaXZpbmcuICg1cHRzKTwvbGk+CiAgICAgICAgICA8bGk+RXhwZXJpZW5jZSBvZiBlbmFibGluZyBzZXJ2aWNlcyBhbmQgdHJhbnNpdGlvbmluZyB1c2VycyB0byBhIG5ldyBzb2x1dGlvbiB3aGlsc3QgY29tcGx5aW5nICB3aXRoIERQQTE4L0dEUFIgbGVnaXNsYXRpb24uICg4cHRzKTwvbGk+CiAgICAgICAgICA8bGk+RXhwZXJpZW5jZSBvZiB0YWtpbmcgYSBjdXN0b21lciB0aHJvdWdoIHNlcnZpY2UgcmVhZGluZXNzIHRvIHRyYW5zaXRpb24gYW5kIG9wZXJhdGlvbiBvZiBhIG5ldyBTYWFTIHNvbHV0aW9uIGFuZCBzZXJ2aWNlIHRvIGNpcmNhIDU1LDAwMCB1c2Vycy4gKDhwdHMpPC9saT4KICAgICAgICAgIDxsaT5FeHBlcmllbmNlIG9mIHRha2luZyBvdmVyIGEgc3lzdGVtIGJ1aWxkLCBidXNpbmVzcyBjaGFuZ2UgYXBwcm9hY2ggYW5kIHNlcnZpY2UgZGVzaWduIGZyb20gYSBwcmV2aW91cyBwYXJ0bmVyLCBkZWxpdmVyaW5nIHNtb290aCB0cmFuc2l0aW9uIHRocm91Z2ggU0lULCBVQVQsIGJ1c2luZXNzIGFuZCB1c2VyIHByZXBhcmVkbmVzcy4gKDRwdHMpPC9saT4KICAgICAgICAgIDxsaT5FeHBlcmllbmNlLCB3aXRoaW4gdGhlIGxhc3QgNSB5ZWFycywgb2YgYXNzaXN0aW5nIGEgY3VzdG9tZXIgaW4gbWFuYWdpbmcgY2hhbmdlIGFuZCBvbmdvaW5nIGZ1bmN0aW9uYWxpdHkgZGVzaWduIGFuZCBkZWxpdmVyeSBpbiBhIGNvbXBsZXggbXVsdGktc3Rha2Vob2xkZXIgZW52aXJvbm1lbnQuICAoNHB0cyk8L2xpPgogICAgICAgICAgPGxpPkV4cGVyaWVuY2UsIHdpdGhpbiB0aGUgbGFzdCA1IHllYXJzLCBvZiBob3cgeW91IGlkZW50aWZpZWQsIGFzc2Vzc2VkIGFuZCBzdXBwb3J0ZWQgYnVzaW5lc3MgY29uZmlndXJhdGlvbiBjaGFuZ2VzIHJlcXVpcmVkIHRvIGltcGxlbWVudCBTYWFTLiAoNXB0cyk8L2xpPgogICAgICAgICAgPGxpPkV4cGVyaWVuY2UgaWRlbnRpZnlpbmcgdGhlICBhc3NvY2lhdGVkIGJ1c2luZXNzIGNoYW5nZSBpbXBhY3QgKHBlb3BsZSwgcG9saWN5IG9yIHNlcnZpY2UpIHJlcXVpcmVkIHRvIGltcGxlbWVudCBTYWFTLiAoNXB0cyk8L2xpPgogICAgICAgICAgPGxpPkV4cGVyaWVuY2UsIHdpdGhpbiB0aGUgbGFzdCA1IHllYXJzLCBvZiBlc3RhYmxpc2hpbmcgYSBTYWFTIEhSIHNlcnZpY2UsIHlvdXIgc3RyYXRlZ3kgZm9yIGRldmVsb3BtZW50IG9mIHN1cHBvcnQgbWF0ZXJpYWwgYW5kIHRyYWluaW5nIGZvciB1c2VycywgdGhlIGJ1c2luZXNzIGFuZCBzZXJ2aWNlIGRlbGl2ZXJ5LiAoNXB0cyk8L2xpPgogICAgICAgICAgPGxpPkV4cGVyaWVuY2UsIHdpdGhpbiB0aGUgbGFzdCA1IHllYXJzLCBvZiB0cmFuc2ZlcnJpbmcga25vd2xlZGdlIHRvIHRoZSBjdXN0b21lciBhbmQgZGVtb25zdHJhdGluZyB0aGUgY3VzdG9tZXIgaXMgY29tcGV0ZW50IHRvIHByb3ZpZGUgZWZmZWN0aXZlIHN1cHBvcnQgd2l0aG91dCBleHRlcm5hbCBhc3Npc3RhbmNlLiAoOHB0cyk8L2xpPgogICAgICAgICAgPGxpPkV4cGVyaWVuY2UsIHdpdGhpbiB0aGUgbGFzdCA1IHllYXJzLCBvZiBnYWluaW5nIGVuZ2FnZW1lbnQgYW5kIGNvbW11bmljYXRpbmcgd2l0aCBhIGxhcmdlIChjaXJjYSA1NSwwMDApIGRpdmVyc2UgYW5kIGdlb2dyYXBoaWNhbGx5IGRpc3BlcnNlZCB3b3JrLWZvcmNlLCB3aGVyZSBzaWduaWZpY2FudCBjdWx0dXJhbCBhbmQgYmVoYXZpb3VyYWwgY2hhbmdlIHdhcyByZXF1aXJlZC4gKDRwdHMpPC9saT4KICAgICAgICAgIDxsaT5FeHBlcmllbmNlIG9mIHN1Y2Nlc3NmdWxseSBidWlsZGluZywgY29uZmlndXJpbmcsIG9yIGV4dGVuZGluZyBPcmFjbGUgRGlnaXRhbCBBc3Npc3RhbnQgKE9EQSkgIHRvIHRoZSAgY3VzdG9tZXImIzM5O3MgcmVxdWlyZW1lbnRzLiAoNHB0cyk8L2xpPgogICAgICAgICAgPGxpPkV4cGVyaWVuY2Ugb2YgbGVhcm5pbmcgZnJvbSBvdGhlcnMgYW5kIGJlbmNobWFya2luZyB0byBpbXByb3ZlIHRoZSBkZWxpdmVyeSBvZiB0aGUgcHJvamVjdCBvdXRwdXRzL291dGNvbWVzLiAoNHB0cyk8L2xpPgogICAgICAgIDwvdWw+CiAgICAgIDwvZGQ+CiAgICAgIAogICAgPC9kaXY+CiAgCiAgICA8ZGl2IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3JvdyI+CiAgICAgIDxkdCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19rZXkiPgogICAgICAgIE5pY2UtdG8taGF2ZSBza2lsbHMgYW5kIGV4cGVyaWVuY2UKICAgICAgPC9kdD4KICAgICAgPGRkIGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlIj4KICAgICAgICA8dWwgY2xhc3M9ImdvdnVrLWxpc3QgZ292dWstbGlzdC0tYnVsbGV0Ij4KICAgICAgICAgIDxsaT5FeHBlcmllbmNlLCB3aXRoaW4gdGhlIGxhc3QgNCB5ZWFycywgb2YgcmVzb2x2aW5nIGlzc3VlcyB3aXRoIHRoZSBtaWdyYXRpb24gdG8gYSBTYWFTIHNvbHV0aW9uLiAoMnB0cyk8L2xpPgogICAgICAgICAgPGxpPkV4cGVyaWVuY2UsIHdpdGhpbiB0aGUgbGFzdCA0IHllYXJzLCBvZiBlbmdpbmVlcmluZyBPcmFjbGUgYmFzZWQgU2FhUy9QYWFTIHNvbHV0aW9ucyB1c2luZyBGdXNpb24gQXBwbGljYXRpb25zIEh1bWFuIENhcGl0YWwgTWFuYWdlbWVudCAoSENNKSB0aGF0IGFsaWduIHRvIHRoZSBidXNpbmVzcyByZXF1aXJlbWVudHMuICgzcHRzKTwvbGk+CiAgICAgICAgICA8bGk+RXhwZXJpZW5jZSBpbiBnYWluaW5nIHNlY3VyaXR5IGFuZCBjb21wbGlhbmNlIGFwcHJvdmFsIHRvIG9wZXJhdGUgY2xvdWQgc29sdXRpb25zIHdpdGhpbiBhIERlZmVuY2UgZW52aXJvbm1lbnQuICgycHRzKTwvbGk+CiAgICAgICAgICA8bGk+RXhwZXJpZW5jZSBvZiBzdXBwb3J0aW5nIHRoZSBjdXN0b21lciB0aHJvdWdoIHRoZSBHb3Zlcm5tZW50IERpZ2l0YWwgU2VydmljZSBBc3Nlc3NtZW50cyBwcm9jZXNzLiAoMnB0cyk8L2xpPgogICAgICAgICAgPGxpPkV4cGVyaWVuY2Ugb2YgZGVwbG95aW5nIHJlbGV2YW50IHNraWxsc2V0IHRvIGFkZHJlc3MgbmV3IGNoYWxsZW5nZXMgb3IgaXNzdWVzIGFzIHRoZXkgbWF0ZXJpYWxpc2UuICgycHRzKTwvbGk+CiAgICAgICAgPC91bD4KICAgICAgPC9kZD4KICAgICAgCiAgICA8L2Rpdj4KICAKPC9kbD4KCiAgPGgyIGlkPSJvcHBvcnR1bml0eS1hdHRyaWJ1dGVzLTYiIGNsYXNzPSJnb3Z1ay1oZWFkaW5nLW0gYXBwLXN1bW1hcnktbGlzdC1oZWFkaW5nIj5Ib3cgc3VwcGxpZXJzIHdpbGwgYmUgZXZhbHVhdGVkPC9oMj4KICAKICA8cCBjbGFzcz0iZ292dWstYm9keSBnb3Z1ay0hLW1hcmdpbi10b3AtMyI+QWxsIHN1cHBsaWVycyB3aWxsIGJlIGFza2VkIHRvIHByb3ZpZGUgYSB3cml0dGVuIHByb3Bvc2FsLjwvcD4KICAKICAKCgogIAoKICAKCiAgCgogIAoKICAKCiAgCjxkbCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0IGFwcC1nb3Z1ay1zdW1tYXJ5LWxpc3QgYXBwLWdvdnVrLXN1bW1hcnktbGlzdC0tdG9wLWJvcmRlciBnb3Z1ay0hLW1hcmdpbi1ib3R0b20tOCI+CiAgCiAgICA8ZGl2IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3JvdyI+CiAgICAgIDxkdCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19rZXkiPgogICAgICAgIEhvdyBtYW55IHN1cHBsaWVycyB0byBldmFsdWF0ZQogICAgICA8L2R0PgogICAgICA8ZGQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUiPgogICAgICAgIDQKICAgICAgPC9kZD4KICAgICAgCiAgICA8L2Rpdj4KICAKICAgIDxkaXYgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fcm93Ij4KICAgICAgPGR0IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleSI+CiAgICAgICAgUHJvcG9zYWwgY3JpdGVyaWEKICAgICAgPC9kdD4KICAgICAgPGRkIGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlIj4KICAgICAgICA8dWwgY2xhc3M9ImdvdnVrLWxpc3QgZ292dWstbGlzdC0tYnVsbGV0Ij4KICAgICAgICAgIDxsaT5UaGUgcHJvcG9zZWQgdGVhbSBoYXMgZGVtb25zdHJhYmxlIHJlbGV2YW50IGV4cGVyaWVuY2UgYW5kIHNraWxscyB0byBkZWxpdmVyIHRoZSBmdWxsIG91dGNvbWUuICgxMHB0cyk8L2xpPgogICAgICAgICAgPGxpPlRoZSBwcm9wb3NhbCBkZW1vbnN0cmF0ZXMgYSBjbGVhciBhbmQgY29tcGV0ZW50IGFwcHJvYWNoIHRvIGVuZ2luZWVyaW5nIFNhYVMgYW5kIFBhYVMgc29sdXRpb25zLiAoMTBwdHMpPC9saT4KICAgICAgICAgIDxsaT5UaGUgcHJvcG9zYWwgZGVtb25zdHJhdGVzIGEgY2xlYXIgYW5kIGNvbXBldGVudCBhcHByb2FjaCB0byBlbmQgdG8gZW5kIHNvbHV0aW9uIHRlc3RpbmcuICgxMHB0cyk8L2xpPgogICAgICAgICAgPGxpPlRoZSBwcm9wb3NhbCBkZW1vbnN0cmF0ZXMgYSBjbGVhciBhbmQgY29tcGV0ZW50IGFwcHJvYWNoIHRvIFRyYW5zaXRpb24gdG8gbGl2ZSBzZXJ2aWNlIGNvdmVyaW5nIHRlY2huaWNhbCwgYnVzaW5lc3MsIGN1bHR1cmFsIGFuZCBzdXBwb3J0IGFzcGVjdHMsIHdoaWxzdCBhY2tub3dsZWRnaW5nIGNoYWxsZW5nZXMuICgyMHB0cyk8L2xpPgogICAgICAgICAgPGxpPlRoZSBwcm9wb3NhbCBkZW1vbnN0cmF0ZXMgYSBjbGVhciBhbmQgY29tcGV0ZW50IGFwcHJvYWNoIGZvciBFYXJseSBMaWZlIFN1cHBvcnQgdGhhdCBtZWV0cyB0aGUgQXV0aG9yaXR54oCZcyBnb2FsIHRvIHN1cHBvcnQgdGhlIHNvbHV0aW9uIGluLXNlcnZpY2UgdXNpbmcgY2l2aWwgc2VydmFudHMgbm90IGNvbnRyYWN0b3JzLiAoMTBwdHMpPC9saT4KICAgICAgICAgIDxsaT5UaGUgcHJvcG9zYWwgZGVtb25zdHJhdGVzIGhvdyB0aGUgQXV0aG9yaXR5IHJlcXVpcmVtZW50cyBmb3IgZW5kIHRvIGVuZCBzZWN1cml0eSBvZiB0aGUgc29sdXRpb24gYW5kIGNvbXBsaWFuY2Ugd2l0aCBEUEExOCBhcmUgZW1iZWRkZWQuICg1cHRzKTwvbGk+CiAgICAgICAgICA8bGk+VGhlIHByb3Bvc2FsIGRlbW9uc3RyYXRlcyBhIGNsZWFyIGFuZCBjb21wZXRlbnQgYXBwcm9hY2ggdG8gSGFuZC1PdmVyL1Rha2UtT3ZlciBmcm9tIHRoZSBpbmN1bWJlbnQgb3ZlciBhIDMtNCB3ZWVrIHBlcmlvZC4gKDVwdHMpPC9saT4KICAgICAgICAgIDxsaT5UaGUgcHJvcG9zYWwgZGVtb25zdHJhdGVzIGEgY2xlYXIgYW5kIGNvbXBldGVudCBhcHByb2FjaCB0byBpbnRlcmFjdGluZyB3aXRoIG11bHRpcGxlIHN0YWtlaG9sZGVycyBmcm9tIGFjcm9zcyB0aGUgYnVzaW5lc3MuICg1cHRzKTwvbGk+CiAgICAgICAgICA8bGk+VGhlIHByb3Bvc2FsIGRlbW9uc3RyYXRlcyBhIGNsZWFyIGFuZCBjb21wZXRlbnQgYXBwcm9hY2ggdG8gbWFuYWdpbmcgY29uZmlndXJhdGlvbiBjaGFuZ2UgYW5kIGFzc2Vzc2luZyB0aGUgaW1wYWN0cyBvbiBhbnkgYnVzaW5lc3MgY2hhbmdlcy4gKDVwdHMpPC9saT4KICAgICAgICAgIDxsaT5UaGUgcHJvcG9zYWwgZGVtb25zdHJhdGVzIGEgY2xlYXIgYW5kIGNvbXBldGVudCBhcHByb2FjaCB0byB0aGUgcHJvdmlzaW9uIG9mIHN1cHBvcnQgYW5kIHRyYWluaW5nIG1hdGVyaWFscy4gICg1cHRzKTwvbGk+CiAgICAgICAgICA8bGk+VGhlIHByb3Bvc2FsIHByb3ZpZGVzIGNsZWFyIGFuZCBjb21wZXRlbnQgYXBwcm9hY2ggdG8gY29tbXVuaWNhdGluZyBjaGFuZ2UgYWNyb3NzIHRoZSBsYXJnZSwgZGl2ZXJzZSBhbmQgZ2VvZ3JhcGhpY2FsbHkgZGlzcGVyc2VkIHdvcmtmb3JjZS4gKDVwdHMpPC9saT4KICAgICAgICAgIDxsaT5UaGUgcHJvcG9zYWwgZGVzY3JpYmVzIGEgY2xlYXIgYW5kIGNvbXBldGVudCBhcHByb2FjaCB0byBidWlsZGluZy9jb25maWd1cmluZyBvciBleHRlbmRpbmcgT3JhY2xlIERpZ2l0YWwgQXNzaXN0YW50LiAoNXB0cyk8L2xpPgogICAgICAgICAgPGxpPlRoZSBwcm9wb3NhbCBkZW1vbnN0cmF0ZXMgY29udGludW91cyBsZWFybmluZyB0byBzdXBwb3J0IGRlbGl2ZXJ5IG9mIGltcHJvdmVkIG91dGNvbWVzLiAoNXB0cyk8L2xpPgogICAgICAgIDwvdWw+CiAgICAgIDwvZGQ+CiAgICAgIAogICAgPC9kaXY+CiAgCiAgICA8ZGl2IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3JvdyI+CiAgICAgIDxkdCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19rZXkiPgogICAgICAgIEN1bHR1cmFsIGZpdCBjcml0ZXJpYQogICAgICA8L2R0PgogICAgICA8ZGQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUiPgogICAgICAgIDx1bCBjbGFzcz0iZ292dWstbGlzdCBnb3Z1ay1saXN0LS1idWxsZXQiPgogICAgICAgICAgPGxpPldvcmtzIGFzIGEgdGVhbSB3aXRoIG9yZ2FuaXNhdGlvbnMgYW5kIHN0YWtlaG9sZGVyczwvbGk+CiAgICAgICAgICA8bGk+SW5mb3JtcywgZW1wb3dlcnMgYW5kIGNhdGFseXNlcyB0aW1lbHkgY2xpZW50IGRlY2lzaW9uIG1ha2luZyBhbmQgbWFuYWdlbWVudCBvZiByaXNrcy9pc3N1ZXM8L2xpPgogICAgICAgICAgPGxpPlRyYW5zcGFyZW50IGFuZCBob25lc3Qgd2l0aCBjbGllbnRzIGFuZCBmb3JnZXMgc3Ryb25nIHJlbGF0aW9uc2hpcHMgYmFzZWQgb24gbXV0dWFsIHJlc3BlY3Q8L2xpPgogICAgICAgICAgPGxpPldvcmtzIGNvbGxhYm9yYXRpdmVseSBhY3Jvc3MgbXVsdGlwbGUgbG9jYXRpb25zIGFuZCBvcmdhbmlzYXRpb25zIHRvIGFjaGlldmUgc3VjY2VzczwvbGk+CiAgICAgICAgICA8bGk+RHJpdmVzIHdvcmsgZm9yd2FyZCwgdGFraW5nIHRoZSBpbml0aWF0aXZlIGFuZCBjYXRhbHlzaW5nIHByb2dyZXNzPC9saT4KICAgICAgICAgIDxsaT5UYWtlcyByZXNwb25zaWJpbGl0eSBmb3IgZGVsaXZlcnkgb2YgdGhlaXIgd29yazwvbGk+CiAgICAgICAgICA8bGk+QXNzdXJlcyB0aGUgcXVhbGl0eSBvZiB0aGVpciB3b3JrLCBiZW5jaG1hcmtpbmcgYWdhaW5zdCBiZXN0IHByYWN0aWNlL290aGVyIG9yZ2FuaXNhdGlvbnMgYW5kIG9wZW4gdG8gc2hhcmluZyB0aG9zZSBpbXByb3ZlbWVudHMgdG8gdGhlIGJlbmVmaXQgb2YgdGhlIGJ1eWVyPC9saT4KICAgICAgICAgIDxsaT5TaGFyZXMga25vd2xlZGdlIHRvIHVwc2tpbGwgaW4taG91c2UgdGVhbXM8L2xpPgogICAgICAgICAgPGxpPkFkZHMgdmFsdWUgcHJvYWN0aXZlbHkgdG8gc3RyZW5ndGhlbiBwcm9qZWN0IG91dHB1dHMsIHN0cmF0ZWdpZXMgYW5kIHRoaW5raW5nPC9saT4KICAgICAgICA8L3VsPgogICAgICA8L2RkPgogICAgICAKICAgIDwvZGl2PgogIAogICAgPGRpdiBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19yb3ciPgogICAgICA8ZHQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5Ij4KICAgICAgICBQYXltZW50IGFwcHJvYWNoCiAgICAgIDwvZHQ+CiAgICAgIDxkZCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSI+CiAgICAgICAgQ2FwcGVkIHRpbWUgYW5kIG1hdGVyaWFscwogICAgICA8L2RkPgogICAgICAKICAgIDwvZGl2PgogIAogICAgPGRpdiBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19yb3ciPgogICAgICA8ZHQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5Ij4KICAgICAgICBBZGRpdGlvbmFsIGFzc2Vzc21lbnQgbWV0aG9kcwogICAgICA8L2R0PgogICAgICA8ZGQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUiPgogICAgICAgIDx1bCBjbGFzcz0iZ292dWstbGlzdCBnb3Z1ay1saXN0LS1idWxsZXQiPgogICAgICAgICAgPGxpPkNhc2Ugc3R1ZHk8L2xpPgogICAgICAgICAgPGxpPldvcmsgaGlzdG9yeTwvbGk+CiAgICAgICAgICA8bGk+UmVmZXJlbmNlPC9saT4KICAgICAgICAgIDxsaT5QcmVzZW50YXRpb248L2xpPgogICAgICAgIDwvdWw+CiAgICAgIDwvZGQ+CiAgICAgIAogICAgPC9kaXY+CiAgCiAgICA8ZGl2IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3JvdyI+CiAgICAgIDxkdCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19rZXkiPgogICAgICAgIEV2YWx1YXRpb24gd2VpZ2h0aW5nCiAgICAgIDwvZHQ+CiAgICAgIDxkZCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSI+CiAgICAgICAgPHAgY2xhc3M9ImdvdnVrLWJvZHkgZ292dWstIS1tYXJnaW4tdG9wLTAgZ292dWstIS1tYXJnaW4tYm90dG9tLTEiPlRlY2huaWNhbCBjb21wZXRlbmNlPC9wPgogICAgICAgIDxkaXY+NjAlPC9kaXY+CiAgICAgICAgPHAgY2xhc3M9ImdvdnVrLWJvZHkgZ292dWstIS1tYXJnaW4tdG9wLTMgZ292dWstIS1tYXJnaW4tYm90dG9tLTEiPkN1bHR1cmFsIGZpdDwvcD4KICAgICAgICA8ZGl2PjEwJTwvZGl2PgogICAgICAgIDxwIGNsYXNzPSJnb3Z1ay1ib2R5IGdvdnVrLSEtbWFyZ2luLXRvcC0zIGdvdnVrLSEtbWFyZ2luLWJvdHRvbS0xIj5QcmljZTwvcD4KICAgICAgICA8ZGl2PjMwJTwvZGl2PgogICAgICA8L2RkPgogICAgICAKICAgIDwvZGl2PgogIAo8L2RsPgoKICA8L2Rpdj4KPC9kaXY+CjxkaXYgY2xhc3M9ImdvdnVrLWdyaWQtcm93Ij4KICA8ZGl2IGNsYXNzPSJnb3Z1ay1ncmlkLWNvbHVtbi1mdWxsIj4KICAgIAoKPGgyIGlkPSJjbGFyaWZpY2F0aW9uLXF1ZXN0aW9ucyIgY2xhc3M9ImdvdnVrLWhlYWRpbmctbSBhcHAtc3VtbWFyeS1saXN0LWhlYWRpbmciPlF1ZXN0aW9ucyBhc2tlZCBieSBzdXBwbGllcnM8L2gyPgogCjxwIGNsYXNzPSJzdW1tYXJ5LWl0ZW0tbm8tY29udGVudCI+Tm8gcXVlc3Rpb25zIGhhdmUgYmVlbiBhbnN3ZXJlZCB5ZXQ8L3A+CgoKCiAgPGEgY2xhc3M9ImdvdnVrLWxpbmsiIGhyZWY9Ii9zdXBwbGllcnMvb3Bwb3J0dW5pdGllcy8xMzE5OC9hc2stYS1xdWVzdGlvbiI+CiAgICAKICAgICAgTG9nIGluIHRvIGFzayBhIHF1ZXN0aW9uCiAgICAKICA8L2E+CgogIDwvZGl2Pgo8L2Rpdj4KCgogIDxici8+PCEtLSA8LSByZW1vdmUgb25jZSBncmlkIGFuZCBib2R5IGVsZW1lbnRzIGhhdmUgYmVlbiBjb252ZXJ0ZWQgdG8gZ292dWsgZnJvbnRlbmQgLS0+CiAgPGRpdiBjbGFzcz0iZ292dWstZ3JpZC1yb3ciPgogICAgPGRpdiBjbGFzcz0iZ292dWstZ3JpZC1jb2x1bW4tdHdvLXRoaXJkcyI+CiAgICAgIDxmb3JtIGFjdGlvbj0iL3N1cHBsaWVycy9vcHBvcnR1bml0aWVzLzEzMTk4L3Jlc3BvbnNlcy9zdGFydCIgbWV0aG9kPSJnZXQiPgogICAgICAgIAogIAogICAgCiAgCgo8YnV0dG9uIHR5cGU9InN1Ym1pdCIgY2xhc3M9ImdvdnVrLWJ1dHRvbiI+CiAgQXBwbHkgZm9yIHRoaXMgb3Bwb3J0dW5pdHkKPC9idXR0b24+CiAgICAgIDwvZm9ybT4KICAgIDwvZGl2PgogIDwvZGl2PgoKCgoKICAgICAgICA8L21haW4+CiAgICAgIDwvZGl2PgogICAgCgogICAgCiAgPGZvb3RlciBjbGFzcz0iZ292dWstZm9vdGVyICIgcm9sZT0iY29udGVudGluZm8iPgogIDxkaXYgY2xhc3M9ImdvdnVrLXdpZHRoLWNvbnRhaW5lciAiPgogICAgCiAgICAgIDxkaXYgY2xhc3M9ImdvdnVrLWZvb3Rlcl9fbmF2aWdhdGlvbiI+CiAgICAgICAgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJnb3Z1ay1mb290ZXJfX3NlY3Rpb24iPgogICAgICAgICAgICA8aDIgY2xhc3M9ImdvdnVrLWZvb3Rlcl9faGVhZGluZyBnb3Z1ay1oZWFkaW5nLW0iPkFib3V0IERpZ2l0YWwgTWFya2V0cGxhY2U8L2gyPgogICAgICAgICAgICAKICAgICAgICAgICAgICAKICAgICAgICAgICAgICA8dWwgY2xhc3M9ImdvdnVrLWZvb3Rlcl9fbGlzdCAiPgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZ292dWstZm9vdGVyX19saXN0LWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImdvdnVrLWZvb3Rlcl9fbGluayIgaHJlZj0iL2hlbHAiPgogICAgICAgICAgICAgICAgICAgICAgICBDb250YWN0CiAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJnb3Z1ay1mb290ZXJfX2xpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iZ292dWstZm9vdGVyX19saW5rIiBocmVmPSJodHRwczovL3d3dy5nb3YudWsvZ3VpZGFuY2UvZGlnaXRhbC1tYXJrZXRwbGFjZS1idXllcnMtZ3VpZGUiPgogICAgICAgICAgICAgICAgICAgICAgICBTZXJ2aWNlcyB5b3UgY2FuIGJ1eQogICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZ292dWstZm9vdGVyX19saXN0LWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImdvdnVrLWZvb3Rlcl9fbGluayIgaHJlZj0iaHR0cHM6Ly93d3cuZ292LnVrL2d1aWRhbmNlL2RpZ2l0YWwtbWFya2V0cGxhY2Utc3VwcGxpZXJzLWd1aWRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgU2VydmljZXMgeW91IGNhbiBzZWxsCiAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJnb3Z1ay1mb290ZXJfX2xpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iZ292dWstZm9vdGVyX19saW5rIiBocmVmPSJodHRwczovL3d3dy5nb3YudWsvZ292ZXJubWVudC9vcmdhbmlzYXRpb25zL2Nyb3duLWNvbW1lcmNpYWwtc2VydmljZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIEFib3V0IENyb3duIENvbW1lcmNpYWwgU2VydmljZXMKICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImdvdnVrLWZvb3Rlcl9fbGlzdC1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJnb3Z1ay1mb290ZXJfX2xpbmsiIGhyZWY9Imh0dHBzOi8vd3d3Lmdvdi51ay9nb3Zlcm5tZW50L29yZ2FuaXNhdGlvbnMvZ292ZXJubWVudC1kaWdpdGFsLXNlcnZpY2UiPgogICAgICAgICAgICAgICAgICAgICAgICBBYm91dCBHb3Zlcm5tZW50IERpZ2l0YWwgU2VydmljZXMKICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImdvdnVrLWZvb3Rlcl9fbGlzdC1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJnb3Z1ay1mb290ZXJfX2xpbmsiIGhyZWY9Ii9nLWNsb3VkL3N1cHBsaWVycyI+CiAgICAgICAgICAgICAgICAgICAgICAgIEctQ2xvdWQgc3VwcGxpZXIgQSB0byBaCiAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAKICAgICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgICAgPGRpdiBjbGFzcz0iZ292dWstZm9vdGVyX19zZWN0aW9uIj4KICAgICAgICAgICAgPGgyIGNsYXNzPSJnb3Z1ay1mb290ZXJfX2hlYWRpbmcgZ292dWstaGVhZGluZy1tIj5HdWlkYW5jZSBmb3IgdXNpbmcgRGlnaXRhbCBNYXJrZXRwbGFjZTwvaDI+CiAgICAgICAgICAgIAogICAgICAgICAgICAgIAogICAgICAgICAgICAgIDx1bCBjbGFzcz0iZ292dWstZm9vdGVyX19saXN0ICI+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJnb3Z1ay1mb290ZXJfX2xpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iZ292dWstZm9vdGVyX19saW5rIiBocmVmPSJodHRwczovL3d3dy5nb3YudWsvZ3VpZGFuY2UvZy1jbG91ZC1zdXBwbGllcnMtZ3VpZGUiPgogICAgICAgICAgICAgICAgICAgICAgICBBcHBseWluZyB0byBzZWxsIG9uIHRoZSBHLUNsb3VkIGZyYW1ld29yawogICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZ292dWstZm9vdGVyX19saXN0LWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImdvdnVrLWZvb3Rlcl9fbGluayIgaHJlZj0iaHR0cHM6Ly93d3cuZ292LnVrL2d1aWRhbmNlL2RpZ2l0YWwtb3V0Y29tZXMtYW5kLXNwZWNpYWxpc3RzLXN1cHBsaWVycy1ndWlkZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIEFwcGx5aW5nIHRvIHNlbGwgb24gdGhlIERPUyBmcmFtZXdvcmsKICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImdvdnVrLWZvb3Rlcl9fbGlzdC1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJnb3Z1ay1mb290ZXJfX2xpbmsiIGhyZWY9Imh0dHBzOi8vd3d3Lmdvdi51ay9ndWlkYW5jZS9ob3ctdG8tc2VsbC15b3VyLWRpZ2l0YWwtb3V0Y29tZXMtYW5kLXNwZWNpYWxpc3RzLXNlcnZpY2VzIj4KICAgICAgICAgICAgICAgICAgICAgICAgUmVzcG9uZGluZyB0byBidXllciByZXF1aXJlbWVudHMgb24gdGhlIERPUyBmcmFtZXdvcmsKICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImdvdnVrLWZvb3Rlcl9fbGlzdC1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJnb3Z1ay1mb290ZXJfX2xpbmsiIGhyZWY9Imh0dHBzOi8vd3d3Lmdvdi51ay9ndWlkYW5jZS9nLWNsb3VkLWJ1eWVycy1ndWlkZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIEJ1eWluZyBvbiB0aGUgRy1DbG91ZCBmcmFtZXdvcmsKICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImdvdnVrLWZvb3Rlcl9fbGlzdC1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJnb3Z1ay1mb290ZXJfX2xpbmsiIGhyZWY9Imh0dHBzOi8vd3d3Lmdvdi51ay9ndWlkYW5jZS9kaWdpdGFsLW91dGNvbWVzLWFuZC1zcGVjaWFsaXN0cy1idXllcnMtZ3VpZGUiPgogICAgICAgICAgICAgICAgICAgICAgICBCdXlpbmcgb24gdGhlIERPUyBmcmFtZXdvcmsKICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImdvdnVrLWZvb3Rlcl9fbGlzdC1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJnb3Z1ay1mb290ZXJfX2xpbmsiIGhyZWY9Imh0dHBzOi8vd3d3Lmdvdi51ay9ndWlkYW5jZS90aGUtY3Jvd24taG9zdGluZy1kYXRhLWNlbnRyZXMtZnJhbWV3b3JrLW9uLXRoZS1kaWdpdGFsLW1hcmtldHBsYWNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgQnV5aW5nIG9uIHRoZSBDcm93biBIb3N0aW5nIGZyYW1ld29yawogICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgCiAgICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgPC9kaXY+CiAgICAgIDxociBjbGFzcz0iZ292dWstZm9vdGVyX19zZWN0aW9uLWJyZWFrIj4KICAgIAogICAgPGRpdiBjbGFzcz0iZ292dWstZm9vdGVyX19tZXRhIj4KICAgICAgPGRpdiBjbGFzcz0iZ292dWstZm9vdGVyX19tZXRhLWl0ZW0gZ292dWstZm9vdGVyX19tZXRhLWl0ZW0tLWdyb3ciPgogICAgICAgIAogICAgICAgICAgPGgyIGNsYXNzPSJnb3Z1ay12aXN1YWxseS1oaWRkZW4iPlN1cHBvcnQgbGlua3M8L2gyPgogICAgICAgICAgCiAgICAgICAgICAgIDx1bCBjbGFzcz0iZ292dWstZm9vdGVyX19pbmxpbmUtbGlzdCI+CiAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImdvdnVrLWZvb3Rlcl9faW5saW5lLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJnb3Z1ay1mb290ZXJfX2xpbmsiIGhyZWY9Ii90ZXJtcy1hbmQtY29uZGl0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgVGVybXMgYW5kIGNvbmRpdGlvbnMKICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZ292dWstZm9vdGVyX19pbmxpbmUtbGlzdC1pdGVtIj4KICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImdvdnVrLWZvb3Rlcl9fbGluayIgaHJlZj0iL2Nvb2tpZXMiPgogICAgICAgICAgICAgICAgICAgIENvb2tpZXMKICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZ292dWstZm9vdGVyX19pbmxpbmUtbGlzdC1pdGVtIj4KICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImdvdnVrLWZvb3Rlcl9fbGluayIgaHJlZj0iL3ByaXZhY3ktbm90aWNlIj4KICAgICAgICAgICAgICAgICAgICBQcml2YWN5IG5vdGljZQogICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJnb3Z1ay1mb290ZXJfX2lubGluZS1saXN0LWl0ZW0iPgogICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iZ292dWstZm9vdGVyX19saW5rIiBocmVmPSIvYWNjZXNzaWJpbGl0eS1zdGF0ZW1lbnQiPgogICAgICAgICAgICAgICAgICAgIEFjY2Vzc2liaWxpdHkgc3RhdGVtZW50CiAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgCiAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAKICAgICAgICAgIAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJnb3Z1ay1mb290ZXJfX21ldGEtY3VzdG9tIj4KICAgICAgICAgICAgICBCdWlsdCBieSB0aGUgPGEgaHJlZj0iaHR0cHM6Ly93d3cuZ292LnVrL2dvdmVybm1lbnQvb3JnYW5pc2F0aW9ucy9nb3Zlcm5tZW50LWRpZ2l0YWwtc2VydmljZSIgY2xhc3M9ImdvdnVrLWZvb3Rlcl9fbGluayI+R292ZXJubWVudCBEaWdpdGFsIFNlcnZpY2U8L2E+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgCiAgICAgICAgCiAgICAgICAgPHN2ZwogICAgICAgICAgcm9sZT0icHJlc2VudGF0aW9uIgogICAgICAgICAgZm9jdXNhYmxlPSJmYWxzZSIKICAgICAgICAgIGNsYXNzPSJnb3Z1ay1mb290ZXJfX2xpY2VuY2UtbG9nbyIKICAgICAgICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgICAgICAgIHZpZXdib3g9IjAgMCA0ODMuMiAxOTUuNyIKICAgICAgICAgIGhlaWdodD0iMTciCiAgICAgICAgICB3aWR0aD0iNDEiCiAgICAgICAgPgogICAgICAgICAgPHBhdGgKICAgICAgICAgICAgZmlsbD0iY3VycmVudENvbG9yIgogICAgICAgICAgICBkPSJNNDIxLjUgMTQyLjhWLjFsLTUwLjcgMzIuM3YxNjEuMWgxMTIuNHYtNTAuN3ptLTEyMi4zLTkuNkE0Ny4xMiA0Ny4xMiAwIDAgMSAyMjEgOTcuOGMwLTI2IDIxLjEtNDcuMSA0Ny4xLTQ3LjEgMTYuNyAwIDMxLjQgOC43IDM5LjcgMjEuOGw0Mi43LTI3LjJBOTcuNjMgOTcuNjMgMCAwIDAgMjY4LjEgMGMtMzYuNSAwLTY4LjMgMjAuMS04NS4xIDQ5LjdBOTggOTggMCAwIDAgOTcuOCAwQzQzLjkgMCAwIDQzLjkgMCA5Ny44czQzLjkgOTcuOCA5Ny44IDk3LjhjMzYuNSAwIDY4LjMtMjAuMSA4NS4xLTQ5LjdhOTcuNzYgOTcuNzYgMCAwIDAgMTQ5LjYgMjUuNGwxOS40IDIyLjJoM3YtODcuOGgtODBsMjQuMyAyNy41ek05Ny44IDE0NWMtMjYgMC00Ny4xLTIxLjEtNDcuMS00Ny4xczIxLjEtNDcuMSA0Ny4xLTQ3LjEgNDcuMiAyMSA0Ny4yIDQ3UzEyMy44IDE0NSA5Ny44IDE0NSIKICAgICAgICAgIC8+CiAgICAgICAgPC9zdmc+CiAgICAgICAgPHNwYW4gY2xhc3M9ImdvdnVrLWZvb3Rlcl9fbGljZW5jZS1kZXNjcmlwdGlvbiI+CiAgICAgICAgICBBbGwgY29udGVudCBpcyBhdmFpbGFibGUgdW5kZXIgdGhlCiAgICAgICAgICA8YQogICAgICAgICAgICBjbGFzcz0iZ292dWstZm9vdGVyX19saW5rIgogICAgICAgICAgICBocmVmPSJodHRwczovL3d3dy5uYXRpb25hbGFyY2hpdmVzLmdvdi51ay9kb2Mvb3Blbi1nb3Zlcm5tZW50LWxpY2VuY2UvdmVyc2lvbi8zLyIKICAgICAgICAgICAgcmVsPSJsaWNlbnNlIgogICAgICAgICAgPk9wZW4gR292ZXJubWVudCBMaWNlbmNlIHYzLjA8L2E+LCBleGNlcHQgd2hlcmUgb3RoZXJ3aXNlIHN0YXRlZAogICAgICAgIDwvc3Bhbj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImdvdnVrLWZvb3Rlcl9fbWV0YS1pdGVtIj4KICAgICAgICA8YQogICAgICAgICAgY2xhc3M9ImdvdnVrLWZvb3Rlcl9fbGluayBnb3Z1ay1mb290ZXJfX2NvcHlyaWdodC1sb2dvIgogICAgICAgICAgaHJlZj0iaHR0cHM6Ly93d3cubmF0aW9uYWxhcmNoaXZlcy5nb3YudWsvaW5mb3JtYXRpb24tbWFuYWdlbWVudC9yZS11c2luZy1wdWJsaWMtc2VjdG9yLWluZm9ybWF0aW9uL3VrLWdvdmVybm1lbnQtbGljZW5zaW5nLWZyYW1ld29yay9jcm93bi1jb3B5cmlnaHQvIgogICAgICAgID7CqSBDcm93biBjb3B5cmlnaHQ8L2E+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+CjwvZm9vdGVyPgoKCiAgICAKICA8c2NyaXB0IHNyYz0iL3N0YXRpYy9qYXZhc2NyaXB0cy9hcHBsaWNhdGlvbi5qcz82MTYxNDAzYzJjYTExN2YxOTBlNTZkODRlYzEzODM1ZiI+PC9zY3JpcHQ+CiAgCgogIDwvYm9keT4KPC9odG1sPg==
76
+ http_version:
77
+ recorded_at: Wed, 30 Sep 2020 10:27:10 GMT
80
78
  recorded_with: VCR 4.0.0
@@ -30,7 +30,7 @@ module MarketplaceOpportunityScraper
30
30
  def all(type: nil, status: "open")
31
31
  url = build_url(type, status)
32
32
  page = mechanize.get(url)
33
- opportunities = page.search(".search-result")
33
+ opportunities = page.search(".app-search-result")
34
34
 
35
35
  opportunities.map { |o| opportunity_from_search_result(o) }
36
36
  end
@@ -69,7 +69,7 @@ module MarketplaceOpportunityScraper
69
69
  end
70
70
 
71
71
  def opportunity_from_search_result(element)
72
- title = element.at(".search-result-title")
72
+ title = element.at("h2")
73
73
  url = BASE_URL + title.at("a").attributes["href"].value
74
74
 
75
75
  opportunity_from_id(url.split("/").last.to_i)
@@ -117,7 +117,7 @@ module MarketplaceOpportunityScraper
117
117
  private
118
118
 
119
119
  def banner
120
- @banner ||= page.at(".banner-temporary-message-without-action")
120
+ @banner ||= page.at(".dm-banner")
121
121
  end
122
122
  end
123
123
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module MarketplaceOpportunityScraper
4
- VERSION = "0.2.0"
4
+ VERSION = "0.2.1"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: marketplace_opportunity_scraper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stuart Harrison
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-06-17 00:00:00.000000000 Z
11
+ date: 2020-09-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler