cb_nitride 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (46) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +17 -0
  3. data/Gemfile +14 -0
  4. data/LICENSE.txt +22 -0
  5. data/README.md +29 -0
  6. data/Rakefile +10 -0
  7. data/cb_nitride.gemspec +23 -0
  8. data/lib/cb_nitride/category_sorter.rb +70 -0
  9. data/lib/cb_nitride/configuration.rb +15 -0
  10. data/lib/cb_nitride/diamond_item.rb +95 -0
  11. data/lib/cb_nitride/diamond_login.rb +45 -0
  12. data/lib/cb_nitride/diamond_number_generator.rb +52 -0
  13. data/lib/cb_nitride/exceptions.rb +3 -0
  14. data/lib/cb_nitride/hasher_methods.rb +20 -0
  15. data/lib/cb_nitride/module_methods.rb +17 -0
  16. data/lib/cb_nitride/private_hasher.rb +72 -0
  17. data/lib/cb_nitride/public_hasher.rb +83 -0
  18. data/lib/cb_nitride/version.rb +3 -0
  19. data/lib/cb_nitride.rb +43 -0
  20. data/test/cassettes/test_that_it_can_log_in_cassette.yml +880 -0
  21. data/test/cassettes/test_that_it_fails_with_bad_information_cassette.yml +294 -0
  22. data/test/cassettes/test_that_it_resets_the_agent_cassette.yml +2188 -0
  23. data/test/cassettes/test_that_the_private_diamond_item_contains_the_right_fields_cassette.yml +660 -0
  24. data/test/cassettes/test_that_the_private_hash_contains_the_right_fields_cassette.yml +708 -0
  25. data/test/cassettes/test_that_the_private_hash_identifies_collection_cassette.yml +714 -0
  26. data/test/cassettes/test_that_the_private_hash_identifies_invalid_diamond_codes_cassette.yml +636 -0
  27. data/test/cassettes/test_that_the_private_hash_identifies_issues_cassette.yml +707 -0
  28. data/test/cassettes/test_that_the_private_hash_identifies_merchandise_cassette.yml +705 -0
  29. data/test/cassettes/test_that_the_private_hash_identifies_variants_cassette.yml +708 -0
  30. data/test/cassettes/test_that_the_private_hash_produces_a_diamond_item_cassette.yml +660 -0
  31. data/test/cassettes/test_that_the_public_diamond_item_contains_the_right_fields_cassette.yml +196 -0
  32. data/test/cassettes/test_that_the_public_hash_contains_the_right_fields_cassette.yml +208 -0
  33. data/test/cassettes/test_that_the_public_hash_identifies_collection_cassette.yml +212 -0
  34. data/test/cassettes/test_that_the_public_hash_identifies_invalid_diamond_codes_cassette.yml +570 -0
  35. data/test/cassettes/test_that_the_public_hash_identifies_issues_cassette.yml +208 -0
  36. data/test/cassettes/test_that_the_public_hash_identifies_merchandise_cassette.yml +207 -0
  37. data/test/cassettes/test_that_the_public_hash_identifies_variants_cassette.yml +209 -0
  38. data/test/cassettes/test_that_the_public_hash_produces_a_diamond_item_cassette.yml +599 -0
  39. data/test/test_helper.rb +67 -0
  40. data/test/unit/configuration_test.rb +19 -0
  41. data/test/unit/diamond_item_test.rb +42 -0
  42. data/test/unit/diamond_login_test.rb +42 -0
  43. data/test/unit/private_hasher_test.rb +67 -0
  44. data/test/unit/public_hasher_test.rb +59 -0
  45. data/test/unit/pull_test.rb +8 -0
  46. metadata +142 -0
@@ -0,0 +1,599 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://www.previewsworld.com/Home/1/1/71/952?stockItemID=APR130131
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip,deflate,identity
12
+ Accept:
13
+ - '*/*'
14
+ User-Agent:
15
+ - Mechanize/2.7.1 Ruby/2.0.0p0 (http://github.com/sparklemotion/mechanize/)
16
+ Accept-Charset:
17
+ - ISO-8859-1,utf-8;q=0.7,*;q=0.7
18
+ Accept-Language:
19
+ - en-us,en;q=0.5
20
+ Host:
21
+ - www.previewsworld.com
22
+ Connection:
23
+ - keep-alive
24
+ Keep-Alive:
25
+ - 300
26
+ response:
27
+ status:
28
+ code: 200
29
+ message: OK
30
+ headers:
31
+ Cache-Control:
32
+ - private
33
+ Content-Type:
34
+ - text/html; charset=utf-8
35
+ Server:
36
+ - Microsoft-IIS/7.5
37
+ X-Aspnetmvc-Version:
38
+ - '3.0'
39
+ X-Aspnet-Version:
40
+ - 4.0.30319
41
+ X-Powered-By:
42
+ - ASP.NET
43
+ Date:
44
+ - Wed, 24 Jul 2013 01:35:40 GMT
45
+ Content-Length:
46
+ - '24602'
47
+ body:
48
+ encoding: ASCII-8BIT
49
+ string: !binary |-
50
+ DQo8IURPQ1RZUEUgaHRtbD4NCjxodG1sPg0KCTxoZWFkPg0KDQoJCTxtZXRh
51
+ IHByb3BlcnR5PSJkZXNjcmlwdGlvbiIgY29udGVudD0iR1JFRU4gQVJST1cg
52
+ IzIxIiAvPg0KCQk8bWV0YSBwcm9wZXJ0eT0ib2c6dGl0bGUiIGNvbnRlbnQ9
53
+ IkdSRUVOIEFSUk9XICMyMSIgLz4NCgkJPG1ldGEgcHJvcGVydHk9Im9nOmlt
54
+ YWdlIiBjb250ZW50PSJodHRwOi8vd3d3LnByZXZpZXdzd29ybGQuY29tL1N0
55
+ b2NrY29kZVRodW1ibmFpbEltYWdlL0FQUjEzMDEzMSIgLz4NCgkJPG1ldGEg
56
+ cHJvcGVydHk9Im9nOnVybCIgY29udGVudD0iaHR0cDovL3d3dy5wcmV2aWV3
57
+ c3dvcmxkLmNvbS9Ib21lLzEvMS83MS85NTI/c3RvY2tJdGVtSUQ9QVBSMTMw
58
+ MTMxIiAvPg0KCQk8bWV0YSBwcm9wZXJ0eT0ib2c6dHlwZSIgY29udGVudD0i
59
+ d2Vic2l0ZSIgLz4NCiA8bWV0YSBwcm9wZXJ0eT0iZmI6YWRtaW5zIiBjb250
60
+ ZW50PSIxNDIzNDk2MDkxNDUzOTQiIC8+IA0KIDxtZXRhIG5hbWU9IktleXdv
61
+ cmRzIiBjb250ZW50PSJQcmV2aWV3cywgUHJldmlld3MgQ2F0YWxvZywgdXBj
62
+ b21pbmcgcmVsZWFzZXMsIG5ldyByZWxlYXNlcywgc2hpcHBpbmcgbGlzdHMs
63
+ IGNvbWljIGJvb2sgcmVsZWFzZSBkYXRlcywgY29taWMgc2hvcOKAmXMgY2F0
64
+ YWxvZywgZ3JhcGhpYyBub3ZlbHMsIGdyYXBoaWMgbm92ZWwsIERpYW1vbmQg
65
+ Q29taWMgRGlzdHJpYnV0b3JzLCBjb21pYyBib29rIGJlc3RzZWxsZXJzLCBn
66
+ cmFwaGljIG5vdmVsIGJlc3RzZWxsZXJzLCBjb21pY3MsIGNvbWljLCBjb21p
67
+ YyBib29rLCBtYW5nYSwgZGlnaXRhbCBjb21pY3MsIGRpZ2l0YWwgY29taWMg
68
+ Ym9va3MsIERpYW1vbmQgRGlnaXRhbCwgUHJldmlld3MgRGlnaXRhbCwgY29t
69
+ aWMgYm9vayBzZWFyY2giIC8+ICA8bWV0YSBuYW1lPSJnb29nbGUtc2l0ZS12
70
+ ZXJpZmljYXRpb24iIGNvbnRlbnQ9InRvUTJ0Z2dnNGVBZWF3OUx4Z3NLMGg3
71
+ ZHM3WGRNbFE2UmRfTVgwOUhGRTgiIC8+IA0KPG1ldGEgbmFtZT0iUk9CT1RT
72
+ IiBjb250ZW50PSJJTkRFWCwgRk9MTE9XIiAvPg0KPG1ldGEgaHR0cC1lcXVp
73
+ dj0iWC1VQS1Db21wYXRpYmxlIiBjb250ZW50PSJJRT1FZGdlIi8+DQoJCTx0
74
+ aXRsZT4NClBSRVZJRVdTd29ybGQgLSBHUkVFTiBBUlJPVyAjMjEJCTwvdGl0
75
+ bGU+DQoNCgkJPGxpbmsgaHJlZj0iL0NvbnRlbnQvQ29udGVudFNpdGVHbG9i
76
+ YWwuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiAvPg0K
77
+ CQk8bGluayBocmVmPSIvQ29udGVudC9jc2xzLmNzcyIgcmVsPSJzdHlsZXNo
78
+ ZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgLz4NCgkJPGxpbmsgaHJlZj0iL0NvbnRl
79
+ bnQvUHJldmlld3NXb3JsZC5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0i
80
+ dGV4dC9jc3MiIC8+DQoJCTxsaW5rIGhyZWY9Ii9TY3JpcHRzL0ZhbmN5Qm94
81
+ L2pxdWVyeS5mYW5jeWJveC0xLjMuNC5jc3MiIHJlbD0iU3R5bGVzaGVldCIg
82
+ dHlwZT0idGV4dC9jc3MiIC8+DQoJCTxzY3JpcHQgc3JjPSIvU2NyaXB0cy9q
83
+ cXVlcnktMS43LjEubWluLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwv
84
+ c2NyaXB0Pg0KCQk8c2NyaXB0IHNyYz0iL1NjcmlwdHMvRmFuY3lCb3gvanF1
85
+ ZXJ5Lm1vdXNld2hlZWwtMy4wLjQucGFjay5qcyIgdHlwZT0idGV4dC9qYXZh
86
+ c2NyaXB0Ij48L3NjcmlwdD4NCgkJPHNjcmlwdCBzcmM9Ii9TY3JpcHRzL0Zh
87
+ bmN5Qm94L2pxdWVyeS5lYXNpbmctMS4zLnBhY2suanMiIHR5cGU9InRleHQv
88
+ amF2YXNjcmlwdCI+PC9zY3JpcHQ+DQoJCTxzY3JpcHQgc3JjPSIvU2NyaXB0
89
+ cy9GYW5jeUJveC9qcXVlcnkuZmFuY3lib3gtMS4zLjQucGFjay5qcyIgdHlw
90
+ ZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4NCgkJPHNjcmlwdCBzcmM9
91
+ Ii9TY3JpcHRzL0dhbGxlcmlhL2dhbGxlcmlhLTEuMi42Lm1pbi5qcyIgdHlw
92
+ ZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4NCgkJPHNjcmlwdCBzcmM9
93
+ Ii9TY3JpcHRzL2pzX2Z1bmN0aW9ucy5qcyIgdHlwZT0idGV4dC9qYXZhc2Ny
94
+ aXB0Ij48L3NjcmlwdD4NCgkJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
95
+ cHQiPg0KCQkJJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24gKCkgew0KCQkJ
96
+ CUdhbGxlcmlhLmxvYWRUaGVtZSgnL1NjcmlwdHMvR2FsbGVyaWEvVGhlbWVz
97
+ L1R3ZWx2ZS9nYWxsZXJpYS50d2VsdmUubWluLmpzJyk7DQoJCQl9KTsNCgkJ
98
+ PC9zY3JpcHQ+DQoJCTxzY3JpcHQgc3JjPSIvU2NyaXB0cy9DaGFuZ2VTdGF0
99
+ dXMuanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+PC9zY3JpcHQ+DQoJCTxz
100
+ Y3JpcHQgc3JjPSIvU2NyaXB0cy9qcXVlcnkuc2Nyb2xsVG8tbWluLmpzIiB0
101
+ eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0Pg0KCQk8c2NyaXB0IHNy
102
+ Yz0iL1NjcmlwdHMvSW5saW5lU2xpZGVTaG93L2pxdWVyeS5kaWFtb25kY29t
103
+ aWNzLmlubGluZXNsaWRlc2hvdy0xLjAuanMiIHR5cGU9InRleHQvamF2YXNj
104
+ cmlwdCI+PC9zY3JpcHQ+DQoJCTxzY3JpcHQgc3JjPSIvU2NyaXB0cy9qcXVl
105
+ cnktd2F0ZXJtYXJrLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2Ny
106
+ aXB0Pg0KCQk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQoJCQkk
107
+ KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbiAoKSB7DQoJCQkJJCgiLkZhbmN5
108
+ UG9wdXAiKS5mYW5jeWJveCh7DQoJCQkJCSd0cmFuc2l0aW9uSW4nOiAnZWxh
109
+ c3RpYycsDQoJCQkJCSd0cmFuc2l0aW9uT3V0JzogJ2VsYXN0aWMnLA0KCQkJ
110
+ CQknY2VudGVyT25TY3JvbGwnOiAndHJ1ZScsDQoJCQkJCSd0eXBlJzogJ2lm
111
+ cmFtZScsDQoJCQkJCSd0aXRsZVBvc2l0aW9uJzogJ292ZXInLA0KCQkJCQkn
112
+ b25Db21wbGV0ZSc6IGZ1bmN0aW9uKCkgew0KCQkJCQkJJCgiI2ZhbmN5Ym94
113
+ LXRpdGxlIikuY3NzKHsndG9wJzonMHB4JywgJ2JvdHRvbSc6J2F1dG8nfSk7
114
+ IA0KCQkJCQkJfSwNCgkJCQkJJ3dpZHRoJzogJzc1JScsDQoJCQkJCSdoZWln
115
+ aHQnOiAnNjAwJw0KCQkJCX0pOw0KCQkJfSk7DQoJCQkkKGRvY3VtZW50KS5y
116
+ ZWFkeShmdW5jdGlvbiAoKSB7DQoJCQkJJCgiLkZhbmN5UG9wdXBJbWFnZSIp
117
+ LmZhbmN5Ym94KHsNCgkJCQkJJ3RyYW5zaXRpb25Jbic6ICdlbGFzdGljJywN
118
+ CgkJCQkJJ3RyYW5zaXRpb25PdXQnOiAnZWxhc3RpYycsDQoJCQkJCSdjZW50
119
+ ZXJPblNjcm9sbCc6ICd0cnVlJywNCgkJCQkJJ3R5cGUnOiAnaW1hZ2UnLA0K
120
+ CQkJCQkndGl0bGVQb3NpdGlvbic6ICdvdmVyJywNCgkJCQkJJ29uQ29tcGxl
121
+ dGUnOiBmdW5jdGlvbiAoKSB7DQoJCQkJCQkkKCIjZmFuY3lib3gtdGl0bGUi
122
+ KS5jc3MoeyAndG9wJzogJzBweCcsICdib3R0b20nOiAnYXV0bycgfSk7DQoJ
123
+ CQkJCX0NCgkJCQl9KTsNCgkJCX0pOw0KCQkJJChkb2N1bWVudCkucmVhZHko
124
+ ZnVuY3Rpb24gKCkgew0KCQkJCSQoJy5IdG1sQ29udGVudCBhW2hyZWZePSIj
125
+ Il0nKS5jbGljayhmdW5jdGlvbiAoKSB7DQoJCQkJCXZhciBpdGVtID0gJCh0
126
+ aGlzKS5hdHRyKCJocmVmIik7DQoJCQkJCWl0ZW0gPSBpdGVtLnN1YnN0cmlu
127
+ ZygxKTsNCgkJCQkJdmFyIGFpdGVtID0gJCgiW25hbWU9JyIgKyBpdGVtICsg
128
+ IiddIikNCgkJCQkJJC5zY3JvbGxUbyhhaXRlbSk7DQoJCQkJCXJldHVybiBm
129
+ YWxzZTsNCgkJCQl9KTsNCgkJCX0pOw0KLy8JCQkkKGRvY3VtZW50KS5yZWFk
130
+ eShmdW5jdGlvbiAoKSB7DQovLwkJCQkkKCdkaXZbY2xhc3NePUdvb2dsZUFk
131
+ dmVydGlzZW1lbnRdJykuZWFjaChmdW5jdGlvbiAoKSB7DQovLwkJCQkJLy9p
132
+ ZiAoJCh0aGlzKS5jaGlsZHJlbigiZGl2W2lkXj0nZ29vZ2xlX2Fkc19kaXZd
133
+ IikubGVuZ3RoID09IDApIHsNCi8vCQkJCQlhbGVydCgkKHRoaXMpLnRleHQo
134
+ KSk7DQovLwkJCQkJaWYgKCQodGhpcykubGVuZ3RoKCkgPT0gMCkgew0KLy8J
135
+ CQkJCQkkKHRoaXMpLmhpZGUoKTsNCi8vCQkJCQl9DQovLwkJCQl9KQ0KLy8J
136
+ CQl9KTsNCg0KCQkJZnVuY3Rpb24gQ2xvc2VGYW5jeWJveCgpIHsgJC5mYW5j
137
+ eWJveC5jbG9zZSgpOyB9DQoJCTwvc2NyaXB0Pg0KCQk8c2NyaXB0IHR5cGU9
138
+ InRleHQvamF2YXNjcmlwdCI+R2FsbGVyaWEubG9hZFRoZW1lKCcvU2NyaXB0
139
+ cy9HYWxsZXJpYS9UaGVtZXMvQ2xhc3NpYy9nYWxsZXJpYS5jbGFzc2ljLm1p
140
+ bi5qcycpOzwvc2NyaXB0Pg0KCQk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
141
+ cmlwdCIgc3JjPSJodHRwOi8vd2lkZ2V0cy50d2ltZy5jb20vai8yL3dpZGdl
142
+ dC5qcyI+PC9zY3JpcHQ+DQoJCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
143
+ aXB0IiBzcmM9Imh0dHA6Ly9wYXJ0bmVyLmdvb2dsZWFkc2VydmljZXMuY29t
144
+ L2dhbXBhZC9nb29nbGVfc2VydmljZS5qcyI+PC9zY3JpcHQ+DQoJCTxzY3Jp
145
+ cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCgkJCUdTX2dvb2dsZUFkZEFk
146
+ U2Vuc2VTZXJ2aWNlKCJjYS1wdWItOTMxNDE1OTg4NjExODA5MSIpOw0KCQkJ
147
+ R1NfZ29vZ2xlRW5hYmxlQWxsU2VydmljZXMoKTsNCgkJPC9zY3JpcHQ+DQoJ
148
+ CTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCi8vCQkJR1NfZ29v
149
+ Z2xlQWRkQWRTZW5zZVNlcnZpY2UoImNhLXB1Yi05MzE0MTU5ODg2MTE4MDkx
150
+ Iik7DQovLwkJCUdTX2dvb2dsZUVuYWJsZUFsbFNlcnZpY2VzKCk7DQoJCQlH
151
+ QV9nb29nbGVBZGRTbG90KCJjYS1wdWItOTMxNDE1OTg4NjExODA5MSIsICJS
152
+ Vi1Ib21lcy1GdWxsLUJhbm5lci1MZWFkIik7DQoJCQlHQV9nb29nbGVBZGRT
153
+ bG90KCJjYS1wdWItOTMxNDE1OTg4NjExODA5MSIsICJSVi1Ib21lcy1CdXR0
154
+ b24tMSIpOw0KCQkJR0FfZ29vZ2xlQWRkU2xvdCgiY2EtcHViLTkzMTQxNTk4
155
+ ODYxMTgwOTEiLCAiUlYtSG9tZXMtQnV0dG9uLTEtTnVtYmVyLTIiKTsNCgkJ
156
+ CUdBX2dvb2dsZUFkZFNsb3QoImNhLXB1Yi05MzE0MTU5ODg2MTE4MDkxIiwg
157
+ IlJWLUhvbWVzLUJ1dHRvbi0yIik7DQoJCQlHQV9nb29nbGVBZGRTbG90KCJj
158
+ YS1wdWItOTMxNDE1OTg4NjExODA5MSIsICJSVi1Ib21lcy1Ta3lzY3JhcGVy
159
+ Iik7DQoJCQlHQV9nb29nbGVBZGRTbG90KCJjYS1wdWItOTMxNDE1OTg4NjEx
160
+ ODA5MSIsICJSVi1Ib21lcy1WZXJ0aWNhbC1CYW5uZXIiKTsNCgkJCUdBX2dv
161
+ b2dsZUFkZFNsb3QoImNhLXB1Yi05MzE0MTU5ODg2MTE4MDkxIiwgIlBXLUhv
162
+ bWUtRnVsbC1CYW5uZXItTGVhZCIpOw0KCQkJR0FfZ29vZ2xlQWRkU2xvdCgi
163
+ Y2EtcHViLTkzMTQxNTk4ODYxMTgwOTEiLCAiUFctSG9tZS1CdXR0b24tMSIp
164
+ Ow0KCQkJR0FfZ29vZ2xlQWRkU2xvdCgiY2EtcHViLTkzMTQxNTk4ODYxMTgw
165
+ OTEiLCAiUFctSG9tZS1CdXR0b24tMS1OdW1iZXIyIik7DQoJCQlHQV9nb29n
166
+ bGVBZGRTbG90KCJjYS1wdWItOTMxNDE1OTg4NjExODA5MSIsICJQVy1Ib21l
167
+ LUJ1dHRvbi0yIik7DQoJCQlHQV9nb29nbGVBZGRTbG90KCJjYS1wdWItOTMx
168
+ NDE1OTg4NjExODA5MSIsICJQVy1Ib21lLVZlcnRpY2FsLUJhbm5lciIpOw0K
169
+ CQkJR0FfZ29vZ2xlQWRkU2xvdCgiY2EtcHViLTkzMTQxNTk4ODYxMTgwOTEi
170
+ LCAiUFctSG9tZS1Ta3lzY3JhcGVyIik7DQoJCQlHQV9nb29nbGVBZGRTbG90
171
+ KCJjYS1wdWItOTMxNDE1OTg4NjExODA5MSIsICJQVy1Ib21lLVNreXNjcmFw
172
+ ZXItMiIpOw0KCQkJR0FfZ29vZ2xlQWRkU2xvdCgiY2EtcHViLTkzMTQxNTk4
173
+ ODYxMTgwOTEiLCAiUFctSG9tZS1Ta3lzY3JhcGVyLTMiKTsNCgkJCUdBX2dv
174
+ b2dsZUFkZFNsb3QoImNhLXB1Yi05MzE0MTU5ODg2MTE4MDkxIiwgIkJvb2tz
175
+ aGVsZi1GdWxsLUJhbm5lci1MZWFkIik7DQoJCQlHQV9nb29nbGVBZGRTbG90
176
+ KCJjYS1wdWItOTMxNDE1OTg4NjExODA5MSIsICJCb29rc2hlbGYtQnV0dG9u
177
+ LTIiKTsNCgkJCUdBX2dvb2dsZUFkZFNsb3QoImNhLXB1Yi05MzE0MTU5ODg2
178
+ MTE4MDkxIiwgIkJvb2tzaGVsZi1Ta3lzY3JhcGVyIik7DQoJCQlHQV9nb29n
179
+ bGVBZGRTbG90KCJjYS1wdWItOTMxNDE1OTg4NjExODA5MSIsICJCb29rc2hl
180
+ bGYtU2t5c2NyYXBlci0yIik7DQoJCQlHQV9nb29nbGVBZGRTbG90KCJjYS1w
181
+ dWItOTMxNDE1OTg4NjExODA5MSIsICJCb29rc2hlbGYtVmVydGljYWwtQmFu
182
+ bmVyIik7DQoJCQlHQV9nb29nbGVBZGRTbG90KCJjYS1wdWItOTMxNDE1OTg4
183
+ NjExODA5MSIsICJEQkQtRnVsbC1MZWFkZXJib2FyZCIpOw0KCQkJR0FfZ29v
184
+ Z2xlQWRkU2xvdCgiY2EtcHViLTkzMTQxNTk4ODYxMTgwOTEiLCAiRkNCRC1G
185
+ dWxsLUxlYWRlcmJvYXJkIik7DQoJCQlHQV9nb29nbGVBZGRTbG90KCJjYS1w
186
+ dWItOTMxNDE1OTg4NjExODA5MSIsICJGQ0JEX1JJR0hUX0NPTDEiKTsNCgkJ
187
+ CUdBX2dvb2dsZUFkZFNsb3QoImNhLXB1Yi05MzE0MTU5ODg2MTE4MDkxIiwg
188
+ IkZDQkRfUklHSFRfQ09MMiIpOw0KCQkJR0FfZ29vZ2xlQWRkU2xvdCgiY2Et
189
+ cHViLTkzMTQxNTk4ODYxMTgwOTEiLCAiVENOLUZ1bGwtTGVhZGVyYm9hcmQi
190
+ KTsNCgkJCUdBX2dvb2dsZUFkZFNsb3QoImNhLXB1Yi05MzE0MTU5ODg2MTE4
191
+ MDkxIiwgIlRDTi1WZXJ0aWNhbC1CYW5uZXIiKTsNCgkJCUdBX2dvb2dsZUFk
192
+ ZFNsb3QoImNhLXB1Yi05MzE0MTU5ODg2MTE4MDkxIiwgIlRDTi1Ta3lzY3Jh
193
+ cGVyIik7DQoJCQlHQV9nb29nbGVBZGRTbG90KCJjYS1wdWItOTMxNDE1OTg4
194
+ NjExODA5MSIsICJUQ04tTG93ZXItU2t5c2NyYXBlciIpOw0KCQkJR0FfZ29v
195
+ Z2xlRmV0Y2hBZHMoKTsNCgkJPC9zY3JpcHQ+DQoJCQ0KCQk8c2NyaXB0IHR5
196
+ cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvU2NyaXB0cy9RdWFudGNhc3Qv
197
+ UXVhbnRjYXN0QXN5bmNHZW5lcmljLmpzIj48L3NjcmlwdD4NCgkJPHNjcmlw
198
+ dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPl9xZXZlbnRzLnB1c2goeyBxYWNj
199
+ dDogInAtZjdjeVpSdmdzQzlLMiIgfSk7PC9zY3JpcHQ+DQoJCTxub3Njcmlw
200
+ dD48ZGl2IHN0eWxlPSJkaXNwbGF5OiBub25lOyI+PGltZyBzcmM9Imh0dHA6
201
+ Ly9waXhlbC5xdWFudHNlcnZlLmNvbS9waXhlbC9wLWY3Y3laUnZnc0M5SzIu
202
+ Z2lmIiBoZWlnaHQ9IjEiIHdpZHRoPSIxIiBhbHQ9IlF1YW50Y2FzdCIvPjwv
203
+ ZGl2Pjwvbm9zY3JpcHQ+DQoNCgkJPHNjcmlwdCBzcmM9Ii9TY3JpcHRzL1dl
204
+ YkxvZ0V4cGVydC93bGVfdHJhY2tlci5qcyIgdHlwZT0idGV4dC9qYXZhc2Ny
205
+ aXB0Ij48L3NjcmlwdD4NCg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
206
+ cHQiPg0KCXZhciBfZ2FxID0gX2dhcSB8fCBbXTsNCglfZ2FxLnB1c2goWydf
207
+ c2V0QWNjb3VudCcsICdVQS0yOTcyNTY2NS0yJ10pOw0KCV9nYXEucHVzaChb
208
+ J19zZXREb21haW5OYW1lJywgJ3ByZXZpZXdzd29ybGQuY29tJ10pOw0KCV9n
209
+ YXEucHVzaChbJ190cmFja1BhZ2V2aWV3J10pOw0KDQoJKGZ1bmN0aW9uICgp
210
+ IHsNCgkJdmFyIGdhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0
211
+ Jyk7IGdhLnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0JzsgZ2EuYXN5bmMgPSB0
212
+ cnVlOw0KCQlnYS5zcmMgPSAoJ2h0dHBzOicgPT0gZG9jdW1lbnQubG9jYXRp
213
+ b24ucHJvdG9jb2wgPyAnaHR0cHM6Ly9zc2wnIDogJ2h0dHA6Ly93d3cnKSAr
214
+ ICcuZ29vZ2xlLWFuYWx5dGljcy5jb20vZ2EuanMnOw0KCQl2YXIgcyA9IGRv
215
+ Y3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzY3JpcHQnKVswXTsgcy5w
216
+ YXJlbnROb2RlLmluc2VydEJlZm9yZShnYSwgcyk7DQoJfSkoKTsNCjwvc2Ny
217
+ aXB0Pg0KCTwvaGVhZD4NCg0KCTxib2R5Pg0KCQk8ZGl2IGlkPSJMYXlvdXRD
218
+ b250YWluZXIiPg0KCQkJPGRpdiBpZD0iSGVhZGVyIj4NCg0KDQo8ZGl2IGNs
219
+ YXNzPSJIZWFkZXJMb2dvIj4NCg0KPGRpdiBjbGFzcz0iQWR2ZXJ0aXNlbWVu
220
+ dCI+PGEgaHJlZj0iL0hvbWUvUmVkaXJlY3QvOTQ5IiB0YXJnZXQ9Il9zZWxm
221
+ IiBsYW5ndWFnZT0iamF2YXNjcmlwdCIgb25Nb3VzZU92ZXI9ImNoYW5nZVN0
222
+ YXR1cygnJyk7cmV0dXJuIHRydWUiPjxpbWcgc3JjPSIvQWRzLzk0OS5qcGci
223
+ IGJvcmRlcj0iMCIgYWx0PSJTaXRlIExvZ28gUHJldmlld3MiPjwvYT48L2Rp
224
+ dj48L2Rpdj4NCg0KPGRpdiBjbGFzcz0iR29vZ2xlQWR2ZXJ0aXNlbWVudCI+
225
+ PHNjcmlwdD5HQV9nb29nbGVGaWxsU2xvdCgiUFctSG9tZS1GdWxsLUJhbm5l
226
+ ci1MZWFkIik7PC9zY3JpcHQ+PC9kaXY+CQkJCTxkaXYgY2xhc3M9IkRhdGVU
227
+ aW1lQmFyIj4NCgkJCQkJPGRpdiBjbGFzcz0iRGF0ZVRpbWVEaXNwbGF5Ij4N
228
+ CgkJCQkJCVR1ZXNkYXksIEp1bHkgMjMsIDIwMTMNCgkJCQkJPC9kaXY+DQoJ
229
+ CQkJCTxkaXYgY2xhc3M9IlNsb2dhbiI+DQoJCQkJCQkNCgkJCQkJPC9kaXY+
230
+ DQoJCQkJPC9kaXY+DQoJCQkJPGRpdiBpZD0iU2l0ZUxpbmtzTWluaUJhciI+
231
+ DQoNCjxhIGhyZWY9Ii8iPjxzdHJvbmc+SG9tZTwvc3Ryb25nPjwvYT4NCg0K
232
+ PHRleHQ+fDwvdGV4dD4gPGEgaHJlZj0iaHR0cDovL3d3dy5kaWFtb25kY29t
233
+ aWNzLmNvbSI+RGlhbW9uZENvbWljczwvYT4NCjx0ZXh0Pnw8L3RleHQ+IDxh
234
+ IGhyZWY9Imh0dHA6Ly93d3cudG95Y2hlc3RuZXdzLmNvbSI+VG95Q2hlc3RO
235
+ ZXdzPC9hPg0KPHRleHQ+fDwvdGV4dD4gPGEgaHJlZj0iaHR0cDovL3d3dy5n
236
+ YW1ldHJhZGVtYWdhemluZS5jb20iPkdhbWVUcmFkZU1hZ2F6aW5lPC9hPg0K
237
+ PHRleHQ+fDwvdGV4dD4gPGEgaHJlZj0iaHR0cDovL3d3dy5raWRzY29taWNz
238
+ LmNvbSI+a2lkc0NvbWljczwvYT4NCjx0ZXh0Pnw8L3RleHQ+IDxhIGhyZWY9
239
+ Imh0dHA6Ly93d3cuZGlhbW9uZGJvb2tzaGVsZi5jb20iPkRpYW1vbmRCb29r
240
+ U2hlbGY8L2E+DQo8dGV4dD58PC90ZXh0PiA8YSBocmVmPSJodHRwOi8vcmV0
241
+ YWlsZXIuZGlhbW9uZGNvbWljcy5jb20iPlJldGFpbGVyczwvYT4NCjx0ZXh0
242
+ Pnw8L3RleHQ+IDxhIGhyZWY9Imh0dHA6Ly92ZW5kb3IuZGlhbW9uZGNvbWlj
243
+ cy5jb20iPlZlbmRvcnM8L2E+CQkJCTwvZGl2Pg0KCQkJPC9kaXY+DQoJDQoJ
244
+ CQk8ZGl2IGlkPSJDb250ZW50QXJlYUhlYWRlciI+DQoJCQkJPGRpdiBjbGFz
245
+ cz0iTmF2aWdhdGlvbiI+PC9kaXY+DQoJCQkJPGRpdiBjbGFzcz0iU2lkZUJh
246
+ ciI+PC9kaXY+DQoJCQkJPGRpdiBjbGFzcz0iTWFpbkNvbnRlbnQiPjwvZGl2
247
+ Pg0KCQkJPC9kaXY+DQoJDQoJCQk8ZGl2IGlkPSJDb250ZW50QXJlYSI+DQoJ
248
+ CQkJPGRpdiBjbGFzcz0iTmF2aWdhdGlvbiI+DQoJCQkJCTxkaXYgY2xhc3M9
249
+ Ik5hdmlnYXRpb25Db250ZW50Ij4NCg0KDQo8ZGl2IGNsYXNzPSJBZHZlcnRp
250
+ c2VtZW50Ij48YSBocmVmPSIvSG9tZS9SZWRpcmVjdC8zNzI1IiB0YXJnZXQ9
251
+ Il9zZWxmIiBsYW5ndWFnZT0iamF2YXNjcmlwdCIgb25Nb3VzZU92ZXI9ImNo
252
+ YW5nZVN0YXR1cygnJyk7cmV0dXJuIHRydWUiPjxpbWcgc3JjPSIvQWRzLzM3
253
+ MjUuanBnIiBib3JkZXI9IjAiIHdpZHRoPSIxNDQiIGFsdD0iUHJldmlld3Mg
254
+ Q292ZXItQXVndXN0IDEzIEJhY2siPjwvYT48L2Rpdj4JCSAgIA0KPGRpdiBj
255
+ bGFzcz0iU29jaWFsTmV0d29ya2luZ0ljb25zIj4NCgkJPGEgaHJlZj0iaHR0
256
+ cDovL3d3dy5mYWNlYm9vay5jb20vcHJldmlld3N3b3JsZCIgdGFyZ2V0PSJf
257
+ YmxhbmsiPjxpbWcgc3JjPSIvR2VuZXJpY0ltYWdlcy9mYWNlYm9vay1pY29u
258
+ LnBuZyIgYWx0PSJGYWNlYm9vayBJY29uIiAvPjwvYT4NCg0KCQk8YSBocmVm
259
+ PSJodHRwOi8vdHdpdHRlci5jb20vUFJFVklFV1N3b3JsZCIgdGFyZ2V0PSJf
260
+ YmxhbmsiPjxpbWcgc3JjPSIvR2VuZXJpY0ltYWdlcy90d2l0dGVyLWljb24u
261
+ cG5nIiBhbHQ9IlR3aXR0ZXIgSWNvbiIgLz48L2E+DQoNCg0KDQoNCgkJPGEg
262
+ aHJlZj0iL0hvbWUvMS8xLzcxLzk0OC8iIHRhcmdldD0iX3NlbGYiPjxpbWcg
263
+ c3JjPSIvR2VuZXJpY0ltYWdlcy9yc3MtZmVlZHMucG5nIiBhbHQ9IlJzcyBG
264
+ ZWVkIiAvPjwvYT4NCg0KCQk8YSBocmVmPSIvSG9tZS8xLzEvNzEvOTM2IiB0
265
+ YXJnZXQ9Il9zZWxmIj48aW1nIHNyYz0iL0dlbmVyaWNJbWFnZXMvZW1haWwt
266
+ aWNvbi5wbmciIGFsdD0iRW1haWwiIC8+PC9hPg0KCQ0KCQk8YSBocmVmPSJo
267
+ dHRwOi8vd3d3LnlvdXR1YmUuY29tL3ByZXZpZXdzd29ybGQiIHRhcmdldD0i
268
+ X2JsYW5rIj48aW1nIHNyYz0iL0dlbmVyaWNJbWFnZXMveW91dHViZS1pY29u
269
+ LXRyYW5zcGFyZW50LnBuZyIgYWx0PSJZb3VUdWJlIEljb24iIC8+PC9hPg0K
270
+ PC9kaXY+DQoNCg0KCTxkaXYgY2xhc3M9IlNlY3Rpb25Hcm91cCI+DQoJCTxk
271
+ aXYgY2xhc3M9IlNlY3Rpb25Hcm91cE5hbWUiPlByZW1pZXI8L2Rpdj4NCgkJ
272
+ PGhyIGNsYXNzPSJTZWN0aW9uR3JvdXBSdWxlIiAvPg0KDQoJCQk8ZGl2IGNs
273
+ YXNzPSJOYXZpZ2F0aW9uSXRlbSI+DQoJCQkJPGRpdiBjbGFzcz0iTmF2aWdh
274
+ dGlvbkltZyI+DQoJCQkJPC9kaXY+DQoJCQ0KCQkJCTxkaXYgY2xhc3M9Ik5h
275
+ dmlnYXRpb25MaW5rIj4NCgkJCQkJCQkJPGEgaHJlZj0iL0hvbWUvMS8xLzcx
276
+ LzkxNCI+RGFyayBIb3JzZTwvYT4NCgkJCQk8L2Rpdj4NCgkJCTwvZGl2Pg0K
277
+ CQkJPGRpdiBjbGFzcz0iTmF2aWdhdGlvbkl0ZW0iPg0KCQkJCTxkaXYgY2xh
278
+ c3M9Ik5hdmlnYXRpb25JbWciPg0KCQkJCTwvZGl2Pg0KCQkNCgkJCQk8ZGl2
279
+ IGNsYXNzPSJOYXZpZ2F0aW9uTGluayI+DQoJCQkJCQkJCTxhIGhyZWY9Ii9I
280
+ b21lLzEvMS83MS85MTUiPkRDIENvbWljczwvYT4NCgkJCQk8L2Rpdj4NCgkJ
281
+ CTwvZGl2Pg0KCQkJPGRpdiBjbGFzcz0iTmF2aWdhdGlvbkl0ZW0iPg0KCQkJ
282
+ CTxkaXYgY2xhc3M9Ik5hdmlnYXRpb25JbWciPg0KCQkJCTwvZGl2Pg0KCQkN
283
+ CgkJCQk8ZGl2IGNsYXNzPSJOYXZpZ2F0aW9uTGluayI+DQoJCQkJCQkJCTxh
284
+ IGhyZWY9Ii9Ib21lLzEvMS83MS85MTYiPklEVzwvYT4NCgkJCQk8L2Rpdj4N
285
+ CgkJCTwvZGl2Pg0KCQkJPGRpdiBjbGFzcz0iTmF2aWdhdGlvbkl0ZW0iPg0K
286
+ CQkJCTxkaXYgY2xhc3M9Ik5hdmlnYXRpb25JbWciPg0KCQkJCTwvZGl2Pg0K
287
+ CQkNCgkJCQk8ZGl2IGNsYXNzPSJOYXZpZ2F0aW9uTGluayI+DQoJCQkJCQkJ
288
+ CTxhIGhyZWY9Ii9Ib21lLzEvMS83MS85MTciPkltYWdlPC9hPg0KCQkJCTwv
289
+ ZGl2Pg0KCQkJPC9kaXY+DQoJCQk8ZGl2IGNsYXNzPSJOYXZpZ2F0aW9uSXRl
290
+ bSI+DQoJCQkJPGRpdiBjbGFzcz0iTmF2aWdhdGlvbkltZyI+DQoJCQkJPC9k
291
+ aXY+DQoJCQ0KCQkJCTxkaXYgY2xhc3M9Ik5hdmlnYXRpb25MaW5rIj4NCgkJ
292
+ CQkJCQkJPGEgaHJlZj0iL0hvbWUvMS8xLzcxLzkxOCI+TWFydmVsPC9hPg0K
293
+ CQkJCTwvZGl2Pg0KCQkJPC9kaXY+DQoJPC9kaXY+DQoNCg0KCTxkaXYgY2xh
294
+ c3M9IlNlY3Rpb25Hcm91cCI+DQoJCTxkaXYgY2xhc3M9IlNlY3Rpb25Hcm91
295
+ cE5hbWUiPlNlY3Rpb25zPC9kaXY+DQoJCTxociBjbGFzcz0iU2VjdGlvbkdy
296
+ b3VwUnVsZSIgLz4NCg0KCQkJPGRpdiBjbGFzcz0iTmF2aWdhdGlvbkl0ZW0i
297
+ Pg0KCQkJCTxkaXYgY2xhc3M9Ik5hdmlnYXRpb25JbWciPg0KCQkJCTwvZGl2
298
+ Pg0KCQkNCgkJCQk8ZGl2IGNsYXNzPSJOYXZpZ2F0aW9uTGluayI+DQoJCQkJ
299
+ CQkJCTxhIGhyZWY9Ii9Ib21lLzEvMS83MS85MjAiPkNvbWljcyAmYW1wOyBH
300
+ cmFwaGljIE5vdmVsczwvYT4NCgkJCQk8L2Rpdj4NCgkJCTwvZGl2Pg0KCQkJ
301
+ PGRpdiBjbGFzcz0iTmF2aWdhdGlvbkl0ZW0iPg0KCQkJCTxkaXYgY2xhc3M9
302
+ Ik5hdmlnYXRpb25JbWciPg0KCQkJCTwvZGl2Pg0KCQkNCgkJCQk8ZGl2IGNs
303
+ YXNzPSJOYXZpZ2F0aW9uTGluayI+DQoJCQkJCQkJCTxhIGhyZWY9Ii9Ib21l
304
+ LzEvMS83MS85MjEiPkJvb2tzICZhbXA7IE1hZ2F6aW5lczwvYT4NCgkJCQk8
305
+ L2Rpdj4NCgkJCTwvZGl2Pg0KCQkJPGRpdiBjbGFzcz0iTmF2aWdhdGlvbkl0
306
+ ZW0iPg0KCQkJCTxkaXYgY2xhc3M9Ik5hdmlnYXRpb25JbWciPg0KCQkJCTwv
307
+ ZGl2Pg0KCQkNCgkJCQk8ZGl2IGNsYXNzPSJOYXZpZ2F0aW9uTGluayI+DQoJ
308
+ CQkJCQkJCTxhIGhyZWY9Ii9Ib21lLzEvMS83MS85MjQiPlRyYWRpbmcgQ2Fy
309
+ ZHM8L2E+DQoJCQkJPC9kaXY+DQoJCQk8L2Rpdj4NCgkJCTxkaXYgY2xhc3M9
310
+ Ik5hdmlnYXRpb25JdGVtIj4NCgkJCQk8ZGl2IGNsYXNzPSJOYXZpZ2F0aW9u
311
+ SW1nIj4NCgkJCQk8L2Rpdj4NCgkJDQoJCQkJPGRpdiBjbGFzcz0iTmF2aWdh
312
+ dGlvbkxpbmsiPg0KCQkJCQkJCQk8YSBocmVmPSIvSG9tZS8xLzEvNzEvOTI1
313
+ Ij5BcHBhcmVsPC9hPg0KCQkJCTwvZGl2Pg0KCQkJPC9kaXY+DQoJCQk8ZGl2
314
+ IGNsYXNzPSJOYXZpZ2F0aW9uSXRlbSI+DQoJCQkJPGRpdiBjbGFzcz0iTmF2
315
+ aWdhdGlvbkltZyI+DQoJCQkJPC9kaXY+DQoJCQ0KCQkJCTxkaXYgY2xhc3M9
316
+ Ik5hdmlnYXRpb25MaW5rIj4NCgkJCQkJCQkJPGEgaHJlZj0iL0hvbWUvMS8x
317
+ LzcxLzkyNiI+VG95cyBTdGF0dWVzICZhbXA7IE1vZGVsczwvYT4NCgkJCQk8
318
+ L2Rpdj4NCgkJCTwvZGl2Pg0KCQkJPGRpdiBjbGFzcz0iTmF2aWdhdGlvbkl0
319
+ ZW0iPg0KCQkJCTxkaXYgY2xhc3M9Ik5hdmlnYXRpb25JbWciPg0KCQkJCTwv
320
+ ZGl2Pg0KCQkNCgkJCQk8ZGl2IGNsYXNzPSJOYXZpZ2F0aW9uTGluayI+DQoJ
321
+ CQkJCQkJCTxhIGhyZWY9Ii9Ib21lLzEvMS83MS85MjgiPkltcG9ydCBUb3lz
322
+ PC9hPg0KCQkJCTwvZGl2Pg0KCQkJPC9kaXY+DQoJCQk8ZGl2IGNsYXNzPSJO
323
+ YXZpZ2F0aW9uSXRlbSI+DQoJCQkJPGRpdiBjbGFzcz0iTmF2aWdhdGlvbklt
324
+ ZyI+DQoJCQkJPC9kaXY+DQoJCQ0KCQkJCTxkaXYgY2xhc3M9Ik5hdmlnYXRp
325
+ b25MaW5rIj4NCgkJCQkJCQkJPGEgaHJlZj0iL0hvbWUvMS8xLzcxLzkyOSI+
326
+ Q29sbGVjdGlibGVzICZhbXA7IE5vdmVsdGllczwvYT4NCgkJCQk8L2Rpdj4N
327
+ CgkJCTwvZGl2Pg0KCQkJPGRpdiBjbGFzcz0iTmF2aWdhdGlvbkl0ZW0iPg0K
328
+ CQkJCTxkaXYgY2xhc3M9Ik5hdmlnYXRpb25JbWciPg0KCQkJCTwvZGl2Pg0K
329
+ CQkNCgkJCQk8ZGl2IGNsYXNzPSJOYXZpZ2F0aW9uTGluayI+DQoJCQkJCQkJ
330
+ CTxhIGhyZWY9Ii9Ib21lLzEvMS83MS85MzAiPkdhbWVzPC9hPg0KCQkJCTwv
331
+ ZGl2Pg0KCQkJPC9kaXY+DQoJCQk8ZGl2IGNsYXNzPSJOYXZpZ2F0aW9uSXRl
332
+ bSI+DQoJCQkJPGRpdiBjbGFzcz0iTmF2aWdhdGlvbkltZyI+DQoJCQkJPC9k
333
+ aXY+DQoJCQ0KCQkJCTxkaXYgY2xhc3M9Ik5hdmlnYXRpb25MaW5rIj4NCgkJ
334
+ CQkJCQkJPGEgaHJlZj0iL0hvbWUvMS8xLzcxLzkzMSI+RFZEcyAmYW1wOyBE
335
+ aWdpdGFsIE1lZGlhPC9hPg0KCQkJCTwvZGl2Pg0KCQkJPC9kaXY+DQoJCQk8
336
+ ZGl2IGNsYXNzPSJOYXZpZ2F0aW9uSXRlbSI+DQoJCQkJPGRpdiBjbGFzcz0i
337
+ TmF2aWdhdGlvbkltZyI+DQoJCQkJPC9kaXY+DQoJCQ0KCQkJCTxkaXYgY2xh
338
+ c3M9Ik5hdmlnYXRpb25MaW5rIj4NCgkJCQkJCQkJPGEgaHJlZj0iL0hvbWUv
339
+ MS8xLzcxLzkzMiI+UFJFVklFV1MgVUs8L2E+DQoJCQkJPC9kaXY+DQoJCQk8
340
+ L2Rpdj4NCgkJCTxkaXYgY2xhc3M9Ik5hdmlnYXRpb25JdGVtIj4NCgkJCQk8
341
+ ZGl2IGNsYXNzPSJOYXZpZ2F0aW9uSW1nIj4NCgkJCQk8L2Rpdj4NCgkJDQoJ
342
+ CQkJPGRpdiBjbGFzcz0iTmF2aWdhdGlvbkxpbmsiPg0KCQkJCQkJCQk8YSBo
343
+ cmVmPSIvUHJldmlld3NQbHVzLzEvMS83MS85MzMiPlBSRVZJRVdTIFBsdXM8
344
+ L2E+DQoJCQkJPC9kaXY+DQoJCQk8L2Rpdj4NCgkJCTxkaXYgY2xhc3M9Ik5h
345
+ dmlnYXRpb25JdGVtIj4NCgkJCQk8ZGl2IGNsYXNzPSJOYXZpZ2F0aW9uSW1n
346
+ Ij4NCgkJCQk8L2Rpdj4NCgkJDQoJCQkJPGRpdiBjbGFzcz0iTmF2aWdhdGlv
347
+ bkxpbmsiPg0KCQkJCQkJCQk8YSBocmVmPSIvSG9tZS8xLzEvNzEvOTM3Ij5Q
348
+ UkVWSUVXUyBQdWJsaWNhdGlvbnM8L2E+DQoJCQkJPC9kaXY+DQoJCQk8L2Rp
349
+ dj4NCgk8L2Rpdj4NCg0KDQoJPGRpdiBjbGFzcz0iU2VjdGlvbkdyb3VwIj4N
350
+ CgkJPGRpdiBjbGFzcz0iU2VjdGlvbkdyb3VwTmFtZSI+RGVwYXJ0bWVudHM8
351
+ L2Rpdj4NCgkJPGhyIGNsYXNzPSJTZWN0aW9uR3JvdXBSdWxlIiAvPg0KDQoJ
352
+ CQk8ZGl2IGNsYXNzPSJOYXZpZ2F0aW9uSXRlbSI+DQoJCQkJPGRpdiBjbGFz
353
+ cz0iTmF2aWdhdGlvbkltZyI+DQoJCQkJPC9kaXY+DQoJCQ0KCQkJCTxkaXYg
354
+ Y2xhc3M9Ik5hdmlnYXRpb25MaW5rIj4NCgkJCQkJCQkJPGEgaHJlZj0iL0hv
355
+ bWUvMS8xLzcxLzk0MSI+U3RhZmYgUGlja3M8L2E+DQoJCQkJPC9kaXY+DQoJ
356
+ CQk8L2Rpdj4NCgkJCTxkaXYgY2xhc3M9Ik5hdmlnYXRpb25JdGVtIj4NCgkJ
357
+ CQk8ZGl2IGNsYXNzPSJOYXZpZ2F0aW9uSW1nIj4NCgkJCQk8L2Rpdj4NCgkJ
358
+ DQoJCQkJPGRpdiBjbGFzcz0iTmF2aWdhdGlvbkxpbmsiPg0KCQkJCQkJCQk8
359
+ YSBocmVmPSIvSG9tZS8xLzEvNzEvOTQyIj5JbmRpZSBFZGdlPC9hPg0KCQkJ
360
+ CTwvZGl2Pg0KCQkJPC9kaXY+DQoJCQk8ZGl2IGNsYXNzPSJOYXZpZ2F0aW9u
361
+ SXRlbSI+DQoJCQkJPGRpdiBjbGFzcz0iTmF2aWdhdGlvbkltZyI+DQoJCQkJ
362
+ PC9kaXY+DQoJCQ0KCQkJCTxkaXYgY2xhc3M9Ik5hdmlnYXRpb25MaW5rIj4N
363
+ CgkJCQkJCQkJPGEgaHJlZj0iL0hvbWUvMS8xLzcxLzk0Mz9hcnRpY2xlSUQ9
364
+ MTIzMDYiPkNlcnRpZmllZCBDb29sPC9hPg0KCQkJCTwvZGl2Pg0KCQkJPC9k
365
+ aXY+DQoJCQk8ZGl2IGNsYXNzPSJOYXZpZ2F0aW9uSXRlbSI+DQoJCQkJPGRp
366
+ diBjbGFzcz0iTmF2aWdhdGlvbkltZyI+DQoJCQkJPC9kaXY+DQoJCQ0KCQkJ
367
+ CTxkaXYgY2xhc3M9Ik5hdmlnYXRpb25MaW5rIj4NCgkJCQkJCQkJPGEgaHJl
368
+ Zj0iL0hvbWUvMS8xLzcxLzk0NCI+TmV3IFNlcmllczwvYT4NCgkJCQk8L2Rp
369
+ dj4NCgkJCTwvZGl2Pg0KCQkJPGRpdiBjbGFzcz0iTmF2aWdhdGlvbkl0ZW0i
370
+ Pg0KCQkJCTxkaXYgY2xhc3M9Ik5hdmlnYXRpb25JbWciPg0KCQkJCTwvZGl2
371
+ Pg0KCQkNCgkJCQk8ZGl2IGNsYXNzPSJOYXZpZ2F0aW9uTGluayI+DQoJCQkJ
372
+ CQkJCTxhIGhyZWY9Ii9Ib21lLzEvMS83MS85NDUiPkJlc3RzZWxsZXJzPC9h
373
+ Pg0KCQkJCTwvZGl2Pg0KCQkJPC9kaXY+DQoJCQk8ZGl2IGNsYXNzPSJOYXZp
374
+ Z2F0aW9uSXRlbSI+DQoJCQkJPGRpdiBjbGFzcz0iTmF2aWdhdGlvbkltZyI+
375
+ DQoJCQkJPC9kaXY+DQoJCQ0KCQkJCTxkaXYgY2xhc3M9Ik5hdmlnYXRpb25M
376
+ aW5rIj4NCgkJCQkJCQkJPGEgaHJlZj0iL0hvbWUvMS8xLzcxLzk0NiI+RXZl
377
+ bnQgQ2FsZW5kYXI8L2E+DQoJCQkJPC9kaXY+DQoJCQk8L2Rpdj4NCgk8L2Rp
378
+ dj4NCg0KDQoJPGRpdiBjbGFzcz0iU2VjdGlvbkdyb3VwIj4NCgkJPGRpdiBj
379
+ bGFzcz0iU2VjdGlvbkdyb3VwTmFtZSI+UmVzb3VyY2VzPC9kaXY+DQoJCTxo
380
+ ciBjbGFzcz0iU2VjdGlvbkdyb3VwUnVsZSIgLz4NCg0KCQkJPGRpdiBjbGFz
381
+ cz0iTmF2aWdhdGlvbkl0ZW0iPg0KCQkJCTxkaXYgY2xhc3M9Ik5hdmlnYXRp
382
+ b25JbWciPg0KCQkJCTwvZGl2Pg0KCQkNCgkJCQk8ZGl2IGNsYXNzPSJOYXZp
383
+ Z2F0aW9uTGluayI+DQoJCQkJCQkJCTxhIGhyZWY9Ii9Ib21lLzEvMS83MS85
384
+ MzYiPlN1YnNjcmliZTwvYT4NCgkJCQk8L2Rpdj4NCgkJCTwvZGl2Pg0KCQkJ
385
+ PGRpdiBjbGFzcz0iTmF2aWdhdGlvbkl0ZW0iPg0KCQkJCTxkaXYgY2xhc3M9
386
+ Ik5hdmlnYXRpb25JbWciPg0KCQkJCTwvZGl2Pg0KCQkNCgkJCQk8ZGl2IGNs
387
+ YXNzPSJOYXZpZ2F0aW9uTGluayI+DQoJCQkJCQkJCTxhIGhyZWY9Ii9Ib21l
388
+ LzEvMS83MS85NDciPk9yZGVyIEZvcm1zPC9hPg0KCQkJCTwvZGl2Pg0KCQkJ
389
+ PC9kaXY+DQoJCQk8ZGl2IGNsYXNzPSJOYXZpZ2F0aW9uSXRlbSI+DQoJCQkJ
390
+ PGRpdiBjbGFzcz0iTmF2aWdhdGlvbkltZyI+DQoJCQkJPC9kaXY+DQoJCQ0K
391
+ CQkJCTxkaXYgY2xhc3M9Ik5hdmlnYXRpb25MaW5rIj4NCgkJCQkJCQkJPGEg
392
+ aHJlZj0iL0hvbWUvMS8xLzcxLzk0OCI+UlNTIEZlZWRzPC9hPg0KCQkJCTwv
393
+ ZGl2Pg0KCQkJPC9kaXY+DQoJCQk8ZGl2IGNsYXNzPSJOYXZpZ2F0aW9uSXRl
394
+ bSI+DQoJCQkJPGRpdiBjbGFzcz0iTmF2aWdhdGlvbkltZyI+DQoJCQkJPC9k
395
+ aXY+DQoJCQ0KCQkJCTxkaXYgY2xhc3M9Ik5hdmlnYXRpb25MaW5rIj4NCgkJ
396
+ CQkJCQkJPGEgaHJlZj0iL0hvbWUvMS8xLzcxLzk0OSI+VXNlcnMgR3VpZGU8
397
+ L2E+DQoJCQkJPC9kaXY+DQoJCQk8L2Rpdj4NCgkJCTxkaXYgY2xhc3M9Ik5h
398
+ dmlnYXRpb25JdGVtIj4NCgkJCQk8ZGl2IGNsYXNzPSJOYXZpZ2F0aW9uSW1n
399
+ Ij4NCgkJCQk8L2Rpdj4NCgkJDQoJCQkJPGRpdiBjbGFzcz0iTmF2aWdhdGlv
400
+ bkxpbmsiPg0KCQkJCQkJCQk8YSBocmVmPSIvSG9tZS8xLzEvNzEvOTUwIj5B
401
+ cmNoaXZlczwvYT4NCgkJCQk8L2Rpdj4NCgkJCTwvZGl2Pg0KCQkJPGRpdiBj
402
+ bGFzcz0iTmF2aWdhdGlvbkl0ZW0iPg0KCQkJCTxkaXYgY2xhc3M9Ik5hdmln
403
+ YXRpb25JbWciPg0KCQkJCTwvZGl2Pg0KCQkNCgkJCQk8ZGl2IGNsYXNzPSJO
404
+ YXZpZ2F0aW9uTGluayI+DQoJCQkJCQkJCTxhIGhyZWY9Ii9Ib21lLzEvMS83
405
+ MS85NTEiPkNvbnRhY3QgVXM8L2E+DQoJCQkJPC9kaXY+DQoJCQk8L2Rpdj4N
406
+ Cgk8L2Rpdj4NCg0KDQoJPGRpdiBjbGFzcz0iU2VjdGlvbkdyb3VwIj4NCgkJ
407
+ PGRpdiBjbGFzcz0iU2VjdGlvbkdyb3VwTmFtZSI+UmVsZWFzZSBJbmZvPC9k
408
+ aXY+DQoJCTxociBjbGFzcz0iU2VjdGlvbkdyb3VwUnVsZSIgLz4NCg0KCQkJ
409
+ PGRpdiBjbGFzcz0iTmF2aWdhdGlvbkl0ZW0iPg0KCQkJCTxkaXYgY2xhc3M9
410
+ Ik5hdmlnYXRpb25JbWciPg0KCQkJCTwvZGl2Pg0KCQkNCgkJCQk8ZGl2IGNs
411
+ YXNzPSJOYXZpZ2F0aW9uTGluayI+DQoJCQkJCQkJCTxhIGhyZWY9Ii9Ib21l
412
+ LzEvMS83MS85NTIiPk5ldyBSZWxlYXNlczwvYT4NCgkJCQk8L2Rpdj4NCgkJ
413
+ CTwvZGl2Pg0KCQkJPGRpdiBjbGFzcz0iTmF2aWdhdGlvbkl0ZW0iPg0KCQkJ
414
+ CTxkaXYgY2xhc3M9Ik5hdmlnYXRpb25JbWciPg0KCQkJCTwvZGl2Pg0KCQkN
415
+ CgkJCQk8ZGl2IGNsYXNzPSJOYXZpZ2F0aW9uTGluayI+DQoJCQkJCQkJCTxh
416
+ IGhyZWY9Ii9Ib21lLzEvMS83MS85NTMiPkZlYXR1cmVkIFRoaXMgV2Vlazwv
417
+ YT4NCgkJCQk8L2Rpdj4NCgkJCTwvZGl2Pg0KCQkJPGRpdiBjbGFzcz0iTmF2
418
+ aWdhdGlvbkl0ZW0iPg0KCQkJCTxkaXYgY2xhc3M9Ik5hdmlnYXRpb25JbWci
419
+ Pg0KCQkJCTwvZGl2Pg0KCQkNCgkJCQk8ZGl2IGNsYXNzPSJOYXZpZ2F0aW9u
420
+ TGluayI+DQoJCQkJCQkJCTxhIGhyZWY9Ii9Ib21lLzEvMS83MS85NTQiPlVw
421
+ Y29taW5nIFJlbGVhc2VzPC9hPg0KCQkJCTwvZGl2Pg0KCQkJPC9kaXY+DQoJ
422
+ CQk8ZGl2IGNsYXNzPSJOYXZpZ2F0aW9uSXRlbSI+DQoJCQkJPGRpdiBjbGFz
423
+ cz0iTmF2aWdhdGlvbkltZyI+DQoJCQkJPC9kaXY+DQoJCQ0KCQkJCTxkaXYg
424
+ Y2xhc3M9Ik5hdmlnYXRpb25MaW5rIj4NCgkJCQkJCQkJPGEgaHJlZj0iL0hv
425
+ bWUvMS8xLzcxLzExNjU/YXJ0aWNsZUlEPTAiPkRpZ2l0YWwgQ29taWNzIFJl
426
+ bGVhc2VzPC9hPg0KCQkJCTwvZGl2Pg0KCQkJPC9kaXY+DQoJCQk8ZGl2IGNs
427
+ YXNzPSJOYXZpZ2F0aW9uSXRlbSI+DQoJCQkJPGRpdiBjbGFzcz0iTmF2aWdh
428
+ dGlvbkltZyI+DQoJCQkJPC9kaXY+DQoJCQ0KCQkJCTxkaXYgY2xhc3M9Ik5h
429
+ dmlnYXRpb25MaW5rIj4NCgkJCQkJCQkJPGEgaHJlZj0iL0hvbWUvMS8xLzcx
430
+ Lzk1NSI+TmV3IFByaW50aW5ncyAmYW1wOyBWYXJpYW50czwvYT4NCgkJCQk8
431
+ L2Rpdj4NCgkJCTwvZGl2Pg0KCQkJPGRpdiBjbGFzcz0iTmF2aWdhdGlvbkl0
432
+ ZW0iPg0KCQkJCTxkaXYgY2xhc3M9Ik5hdmlnYXRpb25JbWciPg0KCQkJCTwv
433
+ ZGl2Pg0KCQkNCgkJCQk8ZGl2IGNsYXNzPSJOYXZpZ2F0aW9uTGluayI+DQoJ
434
+ CQkJCQkJCTxhIGhyZWY9Ii9Ib21lLzEvMS83MS85NTYiPkNhbmNlbGxhdGlv
435
+ bnM8L2E+DQoJCQkJPC9kaXY+DQoJCQk8L2Rpdj4NCgkJCTxkaXYgY2xhc3M9
436
+ Ik5hdmlnYXRpb25JdGVtIj4NCgkJCQk8ZGl2IGNsYXNzPSJOYXZpZ2F0aW9u
437
+ SW1nIj4NCgkJCQk8L2Rpdj4NCgkJDQoJCQkJPGRpdiBjbGFzcz0iTmF2aWdh
438
+ dGlvbkxpbmsiPg0KCQkJCQkJCQk8YSBocmVmPSIvSG9tZS8xLzEvNzEvOTU3
439
+ Ij5TaGlwcGluZyBVcGRhdGVzPC9hPg0KCQkJCTwvZGl2Pg0KCQkJPC9kaXY+
440
+ DQoJCQk8ZGl2IGNsYXNzPSJOYXZpZ2F0aW9uSXRlbSI+DQoJCQkJPGRpdiBj
441
+ bGFzcz0iTmF2aWdhdGlvbkltZyI+DQoJCQkJPC9kaXY+DQoJCQ0KCQkJCTxk
442
+ aXYgY2xhc3M9Ik5hdmlnYXRpb25MaW5rIj4NCgkJCQkJCQkJPGEgaHJlZj0i
443
+ L0hvbWUvMS8xLzcxLzk1OCI+UHJvZHVjdCBDaGFuZ2VzPC9hPg0KCQkJCTwv
444
+ ZGl2Pg0KCQkJPC9kaXY+DQoJPC9kaXY+DQoNCg0KDQoNCgkJCQkJPC9kaXY+
445
+ DQoJCQkJCTxkaXYgY2xhc3M9IlNvY2lhbE5ldHdvcmtpbmdMaXZlRmVlZHMi
446
+ Pg0KCQkgICANCgk8c2NyaXB0IHNyYz0iL1NjcmlwdHMvVHdpdHRlci9QcmV2
447
+ aWV3c1dvcmxkLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0
448
+ Pg0KCQkJCQk8L2Rpdj4NCgkJCQkJPGRpdiBjbGFzcz0iTmF2aWdhdGlvblBv
449
+ bGxzIj4NCg0KCQkJCQk8L2Rpdj4NCgkJCQk8L2Rpdj4NCgkNCgkJCQk8ZGl2
450
+ IGNsYXNzPSJTaWRlQmFyIj4NCgkJCQkJPGRpdiBjbGFzcz0iU2lkZUJhckNv
451
+ bnRlbnQiPg0KDQoNCg0KPGRpdiBjbGFzcz0iSW5ob3VzZUFkdmVydGlzZW1l
452
+ bnQiPg0KDQo8L2Rpdj4NCg0KPGRpdiBjbGFzcz0iR29vZ2xlQWR2ZXJ0aXNl
453
+ bWVudCIgc3R5bGU9InBhZGRpbmctdG9wOiAwcHg7IHBhZGRpbmctYm90dG9t
454
+ OiAwcHg7Ij4NCgk8ZGl2IGNsYXNzPSJDc2xzQWQiPjxzY3JpcHQgdHlwZT0i
455
+ dGV4dC9qYXZhc2NyaXB0Ij5HQV9nb29nbGVGaWxsU2xvdCgiUFctSG9tZS1C
456
+ dXR0b24tMSIpOzwvc2NyaXB0PjwvZGl2Pg0KPC9kaXY+DQo8ZGl2IGNsYXNz
457
+ PSJHb29nbGVBZHZlcnRpc2VtZW50Ij48c2NyaXB0IHR5cGU9InRleHQvamF2
458
+ YXNjcmlwdCI+R0FfZ29vZ2xlRmlsbFNsb3QoIlBXLUhvbWUtQnV0dG9uLTEt
459
+ TnVtYmVyMiIpOzwvc2NyaXB0PjwvZGl2Pg0KPGRpdiBjbGFzcz0iR29vZ2xl
460
+ QWR2ZXJ0aXNlbWVudCI+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
461
+ PkdBX2dvb2dsZUZpbGxTbG90KCJQVy1Ib21lLUJ1dHRvbi0yIik7PC9zY3Jp
462
+ cHQ+PC9kaXY+DQo8ZGl2IGNsYXNzPSJHb29nbGVBZHZlcnRpc2VtZW50Ij48
463
+ c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+R0FfZ29vZ2xlRmlsbFNs
464
+ b3QoIlBXLUhvbWUtVmVydGljYWwtQmFubmVyIik7PC9zY3JpcHQ+PC9kaXY+
465
+ DQo8ZGl2IGNsYXNzPSJHb29nbGVBZHZlcnRpc2VtZW50Ij48c2NyaXB0IHR5
466
+ cGU9InRleHQvamF2YXNjcmlwdCI+R0FfZ29vZ2xlRmlsbFNsb3QoIlBXLUhv
467
+ bWUtU2t5c2NyYXBlciIpOzwvc2NyaXB0PjwvZGl2Pg0KPGRpdiBjbGFzcz0i
468
+ R29vZ2xlQWR2ZXJ0aXNlbWVudCI+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
469
+ Y3JpcHQiPkdBX2dvb2dsZUZpbGxTbG90KCJQVy1Ib21lLVNreXNjcmFwZXIt
470
+ MiIpOzwvc2NyaXB0PjwvZGl2Pg0KPGRpdiBjbGFzcz0iR29vZ2xlQWR2ZXJ0
471
+ aXNlbWVudCI+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPkdBX2dv
472
+ b2dsZUZpbGxTbG90KCJQVy1Ib21lLVNreXNjcmFwZXItMyIpOzwvc2NyaXB0
473
+ PjwvZGl2Pg0KDQoNCgkJCQkJPC9kaXY+DQoJCQkJPC9kaXY+DQoJDQoJCQkJ
474
+ PGRpdiBjbGFzcz0iTWFpbkNvbnRlbnQiPg0KCQkJCQkNCg0KDQo8ZGl2IGNs
475
+ YXNzPSJBZHZlcnRpc2VtZW50Ij48YSBocmVmPSIvSG9tZS9SZWRpcmVjdC8z
476
+ NzI3IiB0YXJnZXQ9Il9zZWxmIiBsYW5ndWFnZT0iamF2YXNjcmlwdCIgb25N
477
+ b3VzZU92ZXI9ImNoYW5nZVN0YXR1cygnJyk7cmV0dXJuIHRydWUiPjxpbWcg
478
+ c3JjPSIvQWRzLzM3MjcuanBnIiBib3JkZXI9IjAiIHdpZHRoPSI0NjgiIGhl
479
+ aWdodD0iNjAiIGFsdD0iSW1hZ2UgUFJFVklFV1N3b3JsZCBDZW50ZXIgQWQg
480
+ SnVseSAxMyI+PC9hPjwvZGl2Pg0KDQoNCg0KPGRpdiBjbGFzcz0iTWFpblNl
481
+ Y3Rpb24iPg0KCQk8ZGl2IGNsYXNzPSJTZWN0aW9uQmFubmVyIj4NCgkJCQkJ
482
+ PGRpdiBjbGFzcz0iU2VjdGlvbkJhbm5lckltYWdlIj4NCgkJCQkJCQk8aW1n
483
+ IHNyYz0iL25ld3NfaW1hZ2VzL21lbnVfaW1hZ2VzLzk1Ml9TZWN0aW9uQmFu
484
+ bmVySW1hZ2UuanBnIiBhbHQ9Ik5ldyBSZWxlYXNlcyIgdGl0bGU9Ik5ldyBS
485
+ ZWxlYXNlcyIgY2xhc3M9ImJhbm5lcl9pbWFnZSIgLz4NCgkJCQkJCQk8cD48
486
+ L3A+DQoJCQkJCTwvZGl2Pg0KCQk8L2Rpdj4NCg0KDQoNCg0KDQoNCg0KDQoN
487
+ CgkJPGRpdiBjbGFzcz0iU3RvY2tJdGVtcyI+DQoJPGRpdiBjbGFzcz0iTWFp
488
+ blN0b2NrQ29kZSI+DQoNCjxkaXYgY2xhc3M9IlN0b2NrQ29kZSI+DQoJPGRp
489
+ diBjbGFzcz0iU3RvY2tDb2RlRGVzY3JpcHRpb24iPjxhIGhyZWY9Ii9Ib21l
490
+ LzEvMS83MS85NTI/c3RvY2tJdGVtSUQ9U1RLNjExMTY5Ij5HUkVFTiBBUlJP
491
+ VyAjMjE8L2E+PC9kaXY+DQoNCgkJPGRpdiBjbGFzcz0iU3RvY2tDb2RlSW1h
492
+ Z2UiPg0KCQkJPGEgY2xhc3M9IkZhbmN5UG9wdXBJbWFnZSIgaHJlZj0iL2Nh
493
+ dGFsb2dpbWFnZXMvU1RLX0lNQUdFUy9TVEs2MDAwMDEtNjIwMDAwL1NUSzYx
494
+ MTE2OS5qcGciPg0KCQkJCTxpbWcgc3JjPSIvY2F0YWxvZ2ltYWdlcy9TVEtf
495
+ SU1BR0VTL1NUSzYwMDAwMS02MjAwMDAvU1RLNjExMTY5LmpwZyIgYWx0PSJT
496
+ VEs2MTExNjkgSW1hZ2UiIC8+DQoJCQk8L2E+DQoJCTwvZGl2Pg0KDQoJCTxk
497
+ aXYgY2xhc3M9IlN0b2NrQ29kZVB1Ymxpc2hlciI+PHN0cm9uZz5QdWJsaXNo
498
+ ZXI6Jm5ic3A7PC9zdHJvbmc+REMgQ09NSUNTPC9kaXY+DQoJCTxkaXYgY2xh
499
+ c3M9IlN0b2NrQ29kZUNyZWF0b3JzIj4oVykgSmVmZiBMZW1pcmUgKEEvQ0Ep
500
+ IEFuZHJlYSBTb3JyZW50aW5vPC9kaXY+DQoJCTxkaXYgY2xhc3M9IlByZXZp
501
+ ZXdzSHRtbCI+T2xsaWUgcmV0dXJucyB0byB0aGUgaXNsYW5kIHdoZXJlIGhl
502
+ IGZpcnN0IGJlY2FtZSBHcmVlbiBBcnJvdyBhbmQgbGVhcm5zIHNvbWUgaGFy
503
+ ZCB0cnV0aHMgYWJvdXQgaGlzIGZhdGhlciBhbmQgdGhlIG15c3RlcmlvdXMg
504
+ T3V0c2lkZXJzIQ0KPC9mb250Pg0KPC9kaXY+DQoJPGRpdiBjbGFzcz0iU3Rv
505
+ Y2tDb2RlSW5mbyI+DQoJCTxkaXYgY2xhc3M9IlN0b2NrQ29kZURpYW1kTm8i
506
+ PjxzdHJvbmc+SXRlbSBDb2RlOiA8L3N0cm9uZz5BUFIxMzAxMzE8L2Rpdj4N
507
+ CgkJCTxkaXYgY2xhc3M9IlN0b2NrQ29kZUluU2hvcHNEYXRlIj48c3Ryb25n
508
+ PkluIFNob3BzOiA8L3N0cm9uZz42LzUvMjAxMzwvZGl2Pg0KCQk8ZGl2IGNs
509
+ YXNzPSJTdG9ja0NvZGVTcnAiPjxzdHJvbmc+U1JQOiA8L3N0cm9uZz4NCiQy
510
+ Ljk5CQk8L2Rpdj4NCgkJPGRpdiBzdHlsZT0iY2xlYXI6IGJvdGgiPjwvZGl2
511
+ Pg0KCTwvZGl2Pg0KPC9kaXY+CQkJPGRpdiBjbGFzcz0iU29jaWFsTmV0d29y
512
+ a2luZ1N0b2NrY29kZUJsb2dJY29ucyI+DQoNCjxkaXYgY2xhc3M9IlN0b2Nr
513
+ Y29kZUJsb2dGYWNlYm9vayI+PHNjcmlwdCBzcmM9Imh0dHA6Ly9jb25uZWN0
514
+ LmZhY2Vib29rLm5ldC9lbl9VUy9hbGwuanMjeGZibWw9MSI+PC9zY3JpcHQ+
515
+ PGZiOmxpa2UgaHJlZj0iaHR0cDovL3d3dy5wcmV2aWV3c3dvcmxkLmNvbS9I
516
+ b21lLzEvMS83MS85NTI/c3RvY2tJdGVtSUQ9QVBSMTMwMTMxIiBsYXlvdXQ9
517
+ InN0YW5kYXJkIiBhY3Rpb249Imxpa2UiIHdpZHRoPSIxMDAlIiBzaG93X2Zh
518
+ Y2VzPSJmYWxzZSI+PC9mYjpsaWtlPjwvZGl2Pg0KPGRpdiBjbGFzcz0iU3Rv
519
+ Y2tjb2RlQmxvZ1R3aXR0ZXIiPjxhIGhyZWY9Imh0dHA6Ly90d2l0dGVyLmNv
520
+ bS9zaGFyZSIgY2xhc3M9InR3aXR0ZXItc2hhcmUtYnV0dG9uIiBkYXRhLXVy
521
+ bD0iaHR0cDovL3d3dy5wcmV2aWV3c3dvcmxkLmNvbS9Ib21lLzEvMS83MS85
522
+ NTI/c3RvY2tJdGVtSUQ9QVBSMTMwMTMxIiBkYXRhLWNvdW50PSJob3Jpem9u
523
+ dGFsIiBkYXRhLXZpYT0iUFJFVklFV1N3b3JsZCI+VHdlZXQ8L2E+PHNjcmlw
524
+ dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cDovL3BsYXRmb3Jt
525
+ LnR3aXR0ZXIuY29tL3dpZGdldHMuanMiPjwvc2NyaXB0PjwvZGl2Pg0KPGRp
526
+ diBjbGFzcz0iY2xlYXIiPjwvZGl2PgkJCTwvZGl2Pg0KCTwvZGl2Pg0KPC9k
527
+ aXY+DQoJCQ0KCQ0KCQk8ZGl2IGNsYXNzPSJGb290ZXJBcnRpY2xlIj4NCg0K
528
+ PGRpdiBjbGFzcz0iSGVhZGxpbmUiPg0KCQk8YSBocmVmPSIvSG9tZS8xLzEv
529
+ NzEvOTU0P2FydGljbGVJRD0xMjg0OTUiPg0KCQkJTU9SRSBGUk9NIFBSRVZJ
530
+ RVdTV09STEQNCgkJPC9hPg0KCQk8YnIgLz4NCjwvZGl2Pg0KCQ0KDQoJCQ0K
531
+ CQ0KPGRpdiBjbGFzcz0iSHRtbENvbnRlbnQiPg0KCTx0YWJsZSBib3JkZXI9
532
+ IjAiIGFsaWduPSJjZW50ZXIiPg0KPHRib2R5Pg0KPHRyPg0KPHRkPjxpbWcg
533
+ c3JjPSIvbmV3c19pbWFnZXMvMTI4NDk1XzQ1ODc3M181LmpwZyIgaGVpZ2h0
534
+ PSI1OCIgd2lkdGg9IjQ4MCIgLz48L3RkPg0KPC90cj4NCjwvdGJvZHk+DQo8
535
+ L3RhYmxlPg0KPHRhYmxlIHN0eWxlPSJ3aWR0aDogNDgwcHg7IGhlaWdodDog
536
+ MTUwcHg7IGJvcmRlcjogMnB4IHNvbGlkICMwMTJlNzI7IiBib3JkZXI9IjIi
537
+ IGZyYW1lPSJib3JkZXIiIHJ1bGVzPSJyb3dzIiBhbGlnbj0iY2VudGVyIj4N
538
+ Cjx0Ym9keT4NCjx0cj4NCjx0ZCBzdHlsZT0iYm9yZGVyLWNvbG9yOiAjMDAy
539
+ ZTcyOyBib3JkZXItc3R5bGU6IHNvbGlkOyBib3JkZXItd2lkdGg6IDFweDsi
540
+ PjxhIGhyZWY9Imh0dHA6Ly93d3cucHJldmlld3N3b3JsZC5jb20vSG9tZS8x
541
+ LzEvNzEvOTc3P2FydGljbGVJRD0xMzcyMDQiPjxpbWcgc3JjPSJodHRwOi8v
542
+ d3d3LnByZXZpZXdzd29ybGQuY29tL0ltYWdlL05ld3NJbWFnZS8xLzEzNzIw
543
+ NC81MTA2MzMvMSIgaGVpZ2h0PSI3MCIgd2lkdGg9IjExMCIgLz48L2E+PC90
544
+ ZD4NCjx0ZCBzdHlsZT0iYm9yZGVyLWNvbG9yOiAjMDAyZTcyOyBib3JkZXIt
545
+ c3R5bGU6IHNvbGlkOyBib3JkZXItd2lkdGg6IDFweDsiPjxhIGhyZWY9Imh0
546
+ dHA6Ly93d3cucHJldmlld3N3b3JsZC5jb20vSG9tZS8xLzEvNzEvOTc3P2Fy
547
+ dGljbGVJRD0xMzcyMDgiPjxpbWcgc3JjPSJodHRwOi8vd3d3LnByZXZpZXdz
548
+ d29ybGQuY29tL0ltYWdlL05ld3NJbWFnZS8xLzEzNzIwOC81MTA2NTEvMSIg
549
+ aGVpZ2h0PSI3MCIgd2lkdGg9IjExMCIgLz48L2E+PC90ZD4NCjx0ZCBzdHls
550
+ ZT0iYm9yZGVyLWNvbG9yOiAjMDAyZTcyOyBib3JkZXItc3R5bGU6IHNvbGlk
551
+ OyBib3JkZXItd2lkdGg6IDFweDsiPjxhIGhyZWY9Imh0dHA6Ly93d3cucHJl
552
+ dmlld3N3b3JsZC5jb20vSG9tZS8xLzEvNzEvOTc5P2FydGljbGVJRD0xMzY4
553
+ MDEiPjxpbWcgc3JjPSIvbmV3c19pbWFnZXMvMTI4NDk1XzUwOTM0MF84NS5q
554
+ cGciIGhlaWdodD0iNzAiIHdpZHRoPSIxMTAiIC8+PC9hPjwvdGQ+DQo8dGQg
555
+ c3R5bGU9ImJvcmRlci1jb2xvcjogIzAwMmU3MjsgYm9yZGVyLXN0eWxlOiBz
556
+ b2xpZDsgYm9yZGVyLXdpZHRoOiAxcHg7Ij48YSBocmVmPSJodHRwOi8vd3d3
557
+ LnByZXZpZXdzd29ybGQuY29tL0hvbWUvMS8xLzcxLzkzNiI+PGltZyBzcmM9
558
+ Ii9uZXdzX2ltYWdlcy8xMjg0OTVfNTA5NjM0Xzg2LmpwZyIgaGVpZ2h0PSI3
559
+ MCIgd2lkdGg9IjExMCIgLz48L2E+PC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQg
560
+ c3R5bGU9ImJvcmRlci1jb2xvcjogIzAwMmU3MjsgYm9yZGVyLXN0eWxlOiBz
561
+ b2xpZDsgYm9yZGVyLXdpZHRoOiAxcHg7Ij48YSBocmVmPSJodHRwOi8vd3d3
562
+ LnByZXZpZXdzd29ybGQuY29tL0hvbWUvMS8xLzcxLzk3Nz9hcnRpY2xlSUQ9
563
+ MTM3MjA0Ij5LZXZpbiBFYXN0bWFuIFRhbGtzIENvbWljcyBhbmQgSGVybyBJ
564
+ bml0aWF0aXZlPC9hPjwvdGQ+DQo8dGQgc3R5bGU9ImJvcmRlci1jb2xvcjog
565
+ IzAwMmU3MjsgYm9yZGVyLXN0eWxlOiBzb2xpZDsgYm9yZGVyLXdpZHRoOiAx
566
+ cHg7Ij48YSBocmVmPSJodHRwOi8vd3d3LnByZXZpZXdzd29ybGQuY29tL0hv
567
+ bWUvMS8xLzcxLzk3Nz9hcnRpY2xlSUQ9MTM3MjA4Ij5CcmlhbiBNaWNoYWVs
568
+ IEJlbmRpcyBSYXBzIEFib3V0IEJhdHRsZSBvZiB0aGUgQXRvbSA8L2E+PC90
569
+ ZD4NCjx0ZCBzdHlsZT0iYm9yZGVyLWNvbG9yOiAjMDAyZTcyOyBib3JkZXIt
570
+ c3R5bGU6IHNvbGlkOyBib3JkZXItd2lkdGg6IDFweDsiPjxhIGhyZWY9Imh0
571
+ dHA6Ly93d3cucHJldmlld3N3b3JsZC5jb20vSG9tZS8xLzEvNzEvOTc5P2Fy
572
+ dGljbGVJRD0xMzY4MDEiPkdlbXMgb2YgdGhlIE1vbnRoIGZvciBQUkVWSUVX
573
+ UyBBdWd1c3QgMjAxMzwvYT48L3RkPg0KPHRkIHN0eWxlPSJib3JkZXItY29s
574
+ b3I6ICMwMDJlNzI7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci13aWR0
575
+ aDogMXB4OyI+PGEgaHJlZj0iaHR0cDovL3d3dy5wcmV2aWV3c3dvcmxkLmNv
576
+ bS9Ib21lLzEvMS83MS85MzYiPlN1YnNjcmliZSBub3cgdG8gdGhlIFBSRVZJ
577
+ RVdTd29ybGQgRlJFRSB3ZWVrbHkgZS1OZXdzbGV0dGVyITwvYT48L3RkPg0K
578
+ PC90cj4NCjwvdGJvZHk+DQo8L3RhYmxlPg0KPC9kaXY+DQo8ZGl2IHN0eWxl
579
+ PSJjbGVhcjogYm90aDsiPjwvZGl2PgkJPC9kaXY+DQo8L2Rpdj4NCg0KDQoN
580
+ Cg0KCQkJCTwvZGl2Pg0KCQkJPC9kaXY+DQoJDQoJCQk8ZGl2IGlkPSJDb250
581
+ ZW50QXJlYUZvb3RlciI+DQoJCQkJPGRpdiBjbGFzcz0iTmF2aWdhdGlvbiI+
582
+ PC9kaXY+DQoJCQkJPGRpdiBjbGFzcz0iU2lkZUJhciI+PC9kaXY+DQoJCQkJ
583
+ PGRpdiBjbGFzcz0iTWFpbkNvbnRlbnQiPjwvZGl2Pg0KCQkJPC9kaXY+DQoJ
584
+ DQoJCQk8ZGl2IGlkPSJGb290ZXIiPg0KDQo8ZGl2IGNsYXNzPSJGb290ZXJM
585
+ b2dvIj4NCiA8YSBocmVmPSJodHRwOi8vd3d3LmRpYW1vbmRjb21pY3MuY29t
586
+ LyI+PGltZyBzcmM9Ii9HZW5lcmljSW1hZ2VzL2RjZC00Ny5naWYiIC8+PC9h
587
+ PiA8L2Rpdj4NCg0KPGRpdiBjbGFzcz0iRm9vdGVyTGVnYWwiPg0KPGEgY2xh
588
+ c3M9IkZhbmN5UG9wdXAiIGhyZWY9Ii9Ib21lL0NvcHlyaWdodCIgdGl0bGU9
589
+ IkRDRCBUZXJtcyBPZiBVc2UiPkNvcHlyaWdodCAmIzE2OTsyMDEzIERpYW1v
590
+ bmQgQ29taWMgRGlzdHJpYnV0b3JzLCBJbmMuPC9hPjwvZGl2Pg0KDQo8ZGl2
591
+ IGNsYXNzPSJGb290ZXJMaW5rcyI+DQoJPGEgY2xhc3M9IkZhbmN5UG9wdXAi
592
+ IGhyZWY9Ii9Ib21lL1ByaXZhY3lQb2xpY3kiIHRpdGxlPSJQcml2YWN5IFBv
593
+ bGljeSI+UHJpdmFjeSBQb2xpY3k8L2E+ICZhbXA7IA0KCTxhIGNsYXNzPSJG
594
+ YW5jeVBvcHVwIiBocmVmPSIvSG9tZS9UZXJtc09mVXNlIiB0aXRsZT0iVGVy
595
+ bXMgT2YgVXNlIj5UZXJtcyBvZiB1c2U8L2E+DQo8L2Rpdj4NCgkJCTwvZGl2
596
+ Pg0KCQk8L2Rpdj4NCgk8L2JvZHk+DQo8L2h0bWw+DQo=
597
+ http_version:
598
+ recorded_at: Wed, 24 Jul 2013 01:35:34 GMT
599
+ recorded_with: VCR 2.5.0
@@ -0,0 +1,67 @@
1
+ require 'rubygems'
2
+
3
+ using_git = File.exist?(File.expand_path('../../.git/', __FILE__))
4
+ require 'bundler/setup' if using_git
5
+
6
+ require File.expand_path('../../lib/cb_nitride.rb', __FILE__)
7
+
8
+ require 'minitest/autorun'
9
+ require 'minitest/pride'
10
+ require 'webmock'
11
+ require 'pry'
12
+ require 'vcr'
13
+
14
+ VCR.configure do |c|
15
+ c.hook_into :webmock
16
+ c.cassette_library_dir = 'test/cassettes'
17
+ c.default_cassette_options = { record: :new_episodes}
18
+ end
19
+
20
+
21
+ module CategoryCodes
22
+ ISSUE_CATEGORY_CODE = "1"
23
+ COLLECTION_CATEGORY_CODE = "3"
24
+ MERCHANDISE_CATEGORY_CODES = ["2", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16"]
25
+ end
26
+
27
+ module LoginInformation
28
+ def set_login_data
29
+ CbNitride.configure do |c|
30
+ c.username = "XXX"
31
+ c.account_number = "YYY"
32
+ c.password = "ZZZ"
33
+ end
34
+ end
35
+
36
+ def clear_login_data
37
+ CbNitride.configure do |c|
38
+ c.username = ""
39
+ c.account_number = ""
40
+ c.password = ""
41
+ end
42
+ end
43
+ end
44
+
45
+ module HasherTests
46
+
47
+ ISSUE_CODE = "APR130131"
48
+ VARIANT_CODE = "APR130183"
49
+ MERCH_CODE = "MAR131699"
50
+ COLLECTION_CODE = "FEB130068"
51
+
52
+ end
53
+
54
+ module Recordable
55
+ def setup_vcr
56
+ VCR.insert_cassette(__name__ + "_cassette")
57
+ end
58
+
59
+ def clear_vcr
60
+ VCR.eject_cassette
61
+ end
62
+ end
63
+
64
+ class MiniTest::Unit::TestCase
65
+
66
+ end
67
+