EGP_Rates 0.3.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/lib/egp_rates.rb CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  require 'oga'
4
4
  require 'json'
5
+ require 'thread'
5
6
  require 'egp_rates/bank'
6
7
  require 'egp_rates/cbe'
7
8
  require 'egp_rates/nbe'
@@ -16,6 +17,13 @@ require 'egp_rates/saib'
16
17
  require 'egp_rates/midb'
17
18
  require 'egp_rates/ube'
18
19
  require 'egp_rates/cae'
20
+ require 'egp_rates/edbe'
21
+ require 'egp_rates/alex_bank'
22
+ require 'egp_rates/blom'
23
+ require 'egp_rates/adib'
24
+ require 'egp_rates/egb'
25
+ require 'egp_rates/nbg'
26
+ require 'egp_rates/faisal_bank'
19
27
 
20
28
  # Base Module
21
29
  module EGPRates
@@ -23,4 +31,56 @@ module EGPRates
23
31
  # while scraping the [Bank] data
24
32
  class ResponseError < StandardError
25
33
  end
34
+
35
+ # Threaded execution to get the exchange rates from different banks
36
+ # @return [Hash] of the exchange rates of different banks
37
+ # {
38
+ # BANK: {
39
+ # sell: { SYM: rate, SYM: rate },
40
+ # buy: { SYM: rate, SYM: rate }
41
+ # },
42
+ # BANK: {
43
+ # sell: { SYM: rate, SYM: rate },
44
+ # buy: { SYM: rate, SYM: rate }
45
+ # },
46
+ # }
47
+ def self.exchange_rates
48
+ semaphore = Mutex.new
49
+ # Fetch all the constants (Banks) implemented
50
+ (constants - [:Bank, :ResponseError]).each_with_object({}) do |klass, rates|
51
+ Thread.new do
52
+ bank = EGPRates.const_get(klass).new
53
+
54
+ semaphore.synchronize do
55
+ begin
56
+ rates[klass] = bank.exchange_rates
57
+ rescue ResponseError
58
+ rates[klass] = 'Failed to get exchange rates'
59
+ end
60
+ end
61
+ end.join
62
+ end
63
+ end
64
+
65
+ # Return the exchange rate of a single currency from different banks
66
+ # @param [Symbol] sym, 3 charachter ISO symbol of the currency
67
+ # @param [Boolean] cache_result, a boolean to indicate whether or not
68
+ # the result of the exchange_rates call be cached
69
+ # @return [Hash] of the exchange rates in different banks for a specific
70
+ # currency
71
+ def self.exchange_rate(sym = :USD, cache_result = true)
72
+ @exchange_rates ||= exchange_rates if cache_result
73
+ @exchange_rates = exchange_rates unless cache_result
74
+
75
+ @exchange_rates.each_with_object({}) do |rates, result|
76
+ begin
77
+ result[rates[0]] = {
78
+ sell: rates[1][:sell].fetch(sym.upcase, 'Not Available'),
79
+ buy: rates[1][:buy].fetch(sym.upcase, 'Not Available')
80
+ }
81
+ rescue TypeError
82
+ result[rates[0]] = rates[1]
83
+ end
84
+ end
85
+ end
26
86
  end
@@ -0,0 +1,457 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://www.adib.eg/
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - "*/*"
14
+ User-Agent:
15
+ - Ruby
16
+ Host:
17
+ - www.adib.eg
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Cache-Control:
24
+ - private,no-cache
25
+ Content-Type:
26
+ - text/html; charset=utf-8
27
+ X-Content-Type-Options:
28
+ - nosniff
29
+ X-Frame-Options:
30
+ - SAMEORIGIN
31
+ X-Xss-Protection:
32
+ - '1'
33
+ Strict-Transport-Security:
34
+ - max-age=31536000;includeSubDomains
35
+ Date:
36
+ - Sun, 20 Nov 2016 20:08:35 GMT
37
+ Content-Length:
38
+ - '18557'
39
+ body:
40
+ encoding: ASCII-8BIT
41
+ string: !binary |-
42
+ PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAg
43
+ VHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1s
44
+ MS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPjxodG1sIHhtbG5zPSJo
45
+ dHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj48aGVhZD4KPG1ldGEgbmFt
46
+ ZT0ic3VtbWFyeSIgY29udGVudD0iIGRlc2NyaXB0aW9uIiBjb250ZW50PSJB
47
+ RElCIEVneXB0IGlzIG9uZSBvZiB0aGUgbGFyZ2VzdCBJc2xhbWljIGJhbmtz
48
+ IG9wZXJhdGluZyBpbiBFZ3lwdCwgcHJvdmlkaW5nIGEgY29tcHJlaGVuc2l2
49
+ ZSByYW5nZSBvZiBJc2xhbWljIFNoYXJp4oCZYSBjb21wbGlhbnQgYmFua2lu
50
+ ZyBhbmQgZmluYW5jaWFsIHNlcnZpY2VzLiIgLz4KPG1ldGEgbmFtZT0iZGVz
51
+ Y3JpcHRpb24iIGNvbnRlbnQ9IkFESUIgRWd5cHQgaXMgb25lIG9mIHRoZSBs
52
+ YXJnZXN0IElzbGFtaWMgYmFua3Mgb3BlcmF0aW5nIGluIEVneXB0LCBwcm92
53
+ aWRpbmcgYSBjb21wcmVoZW5zaXZlIHJhbmdlIG9mIElzbGFtaWMgU2hhcmni
54
+ gJlhIGNvbXBsaWFudCBiYW5raW5nIGFuZCBmaW5hbmNpYWwgc2VydmljZXMu
55
+ Ii8+CjxtZXRhIG5hbWU9ImtleXdvcmRzIiBjb250ZW50PSJJbnRlcm5ldCBi
56
+ YW5raW5nLCBiYW5rLCBiYW5raW5nLCBiYW5rcywgYmFuaydzLCBmaW5hbmNp
57
+ YWwsIGZpbmFuY2lhbHMsIEJhbmtzIGluIEVneXB0LCBFZ3lwdCBCYW5rcywg
58
+ QmFuayBpbiBFZ3lwdCwgSXNsYW1pYyBCYW5rLCBFZ3lwdCBCYW5rLCBTYXZp
59
+ bmdzIEFjY291bnQsIFNhdmluZ3MsIEFjY291bnQsIEludmVzdG1lbnQgQWNj
60
+ b3VudCwgQ3VycmVudCBBY2NvdW50LCBVQUUtRWd5cHQgQWNjb3VudCwgIE1h
61
+ c3RlciBDYXJkLCBDcmVkaXQgQ2FyZCwgQ2FzaGJhY2ssIEVneXB0LCBCYW5r
62
+ LCBCYW5rcywgUGVyc29uYWwgYmFua2luZywgQ29ycG9yYXRlIGJhbmtpbmcs
63
+ IEludmVzdG1lbnQsIGZpbmFuY2lhbCwgQ2FzaCBNYW5hZ2VtZW50LCBDb3Jw
64
+ b3JhdGUgZmluYW5jZSwgUGVyc29uYWwgRmluYW5jZSwgVHJhdmVsIEZpbmFu
65
+ Y2UsIENsdWIgRmluYW5jZSwgSGFqaiwgT21yYSwgVW1yYWgsIEVkdWNhdGlv
66
+ biBGaW5hbmNlLCBJc2xhbWljIEJhbmtpbmcsIFNhbmFiZWwsIENoYXJpdGFi
67
+ bGUgQWNjb3VudHMsIFVuZGVyc3RhbmRpbmcgSXNsYW1pYyBCYW5raW5nLCBB
68
+ RElCLCBMb2FuLCBNb25leSwgU1VLVUssIEF1dG8gTG9hbiwgQXV0bywgTXVy
69
+ YWJhaGEsIElqYXJhaCwgTXVkYXJhYmEsIEd1YXJhbnRlZSBTZXJ2aWNlcywg
70
+ RXhwb3J0IFNlcnZpY2VzLCBJbXBvcnQgU2VydmljZXMiLz4KPG1ldGEgbmFt
71
+ ZT0ibXN2YWxpZGF0ZS4wMSIgY29udGVudD0iMEUxQjY4NTkwOUVGNjU1MTFF
72
+ MEU5Rjk3NUZDRDI3NjAiIC8+CjxtZXRhIG5hbWU9InJvYm90cyIgY29udGVu
73
+ dD0iaW5kZXgsIGZvbGxvdyIgLz4KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVu
74
+ dC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7Y2hhcnNldD11dGYtOCIvPjx0
75
+ aXRsZT5BYnUgRGhhYmkgSXNsYW1pYyBCYW5rIChBRElCKSAtIEVneXB0PC90
76
+ aXRsZT48bGluayByZWw9InNob3J0Y3V0IGljb24iIGhyZWY9Ii9pbWFnZXMv
77
+ ZmF2aWNvbi5wbmciIHR5cGU9ImltYWdlL3gtaWNvbiI+PGxpbmsgcmVsPSJz
78
+ dHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iL2Nzcy9jc3MuY3Nz
79
+ Ii8+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvY3NzL3NsaWRlci5j
80
+ c3MiIHR5cGU9InRleHQvY3NzIiBtZWRpYT0ic2NyZWVuIi8+PHNjcmlwdCB0
81
+ eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogIHZhciBfZ2FxID0gX2dhcSB8fCBb
82
+ XTsKdmFyIHBsdWdpblVybCA9CicvL3d3dy5nb29nbGUtYW5hbHl0aWNzLmNv
83
+ bS9wbHVnaW5zL2dhL2lucGFnZV9saW5raWQuanMnOwpfZ2FxLnB1c2goWydf
84
+ cmVxdWlyZScsICdpbnBhZ2VfbGlua2lkJywgcGx1Z2luVXJsXSk7CiAgX2dh
85
+ cS5wdXNoKFsnX3NldEFjY291bnQnLCAnVUEtNDM3NjEzODAtMSddKTsKICBf
86
+ Z2FxLnB1c2goWydfdHJhY2tQYWdldmlldyddKTsKIAogIChmdW5jdGlvbigp
87
+ IHsKICAgIHZhciBnYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3Njcmlw
88
+ dCcpOyBnYS50eXBlID0gJ3RleHQvamF2YXNjcmlwdCc7IGdhLmFzeW5jID0g
89
+ dHJ1ZTsKICAgIGdhLnNyYyA9ICgnaHR0cHM6JyA9PSBkb2N1bWVudC5sb2Nh
90
+ dGlvbi5wcm90b2NvbCA/ICdodHRwczovLycgOiAnaHR0cDovLycpICsgJ3N0
91
+ YXRzLmcuZG91YmxlY2xpY2submV0L2RjLmpzJzsKICAgIHZhciBzID0gZG9j
92
+ dW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NjcmlwdCcpWzBdOyBzLnBh
93
+ cmVudE5vZGUuaW5zZXJ0QmVmb3JlKGdhLCBzKTsKICB9KSgpOwo8L3Njcmlw
94
+ dD4KICAgPHNjcmlwdCBzcmM9Ii9jc3MvanMvanF1ZXJ5LTEuOS4xLmpzIj48
95
+ L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iL2Nzcy9qcy9qcXVlcnktdWku
96
+ Y3NzIj48L3NjcmlwdD4KICAKICA8c3R5bGU+CiAgICAjbWFzayB7CiBkaXNw
97
+ bGF5OiBub25lOwogYmFja2dyb3VuZDogIzAwMDsKIHBvc2l0aW9uOiBmaXhl
98
+ ZDsgbGVmdDogMDsgdG9wOiAwOwogei1pbmRleDogMTA7CiB3aWR0aDogMTAw
99
+ JTsgaGVpZ2h0OiAxMDAlOwogb3BhY2l0eTogMC44Owogei1pbmRleDogOTk5
100
+ OwogICAgICBiYWNrZ3JvdW5kOnVybCgvaW1hZ2VzL2JnU3ViTWVudS5wbmcp
101
+ IGxlZnQgMCByZXBlYXQ7Cn0KICAgIDwvc3R5bGU+CjxzY3JpcHQ+CmZ1bmN0
102
+ aW9uIG15RnVuY3Rpb24oKSB7CiAgICB2YXIgbXlXaW5kb3cgPSB3aW5kb3cu
103
+ b3BlbigiaHR0cHM6Ly9pYi5hZGliLmVnL2RvY3VtZW50cy9zZWN1cml0eVRp
104
+ cC5odG1sIiwgIm15V2luZG93IiwgInRvb2xiYXI9eWVzLCBzY3JvbGxiYXJz
105
+ PXllcyx3aWR0aD02MDAsIGhlaWdodD02MDAiKTsKCn0KPC9zY3JpcHQ+CiAg
106
+ ICA8c2NyaXB0PgogIChmdW5jdGlvbihpLHMsbyxnLHIsYSxtKXtpWydHb29n
107
+ bGVBbmFseXRpY3NPYmplY3QnXT1yO2lbcl09aVtyXXx8ZnVuY3Rpb24oKXsK
108
+ ICAoaVtyXS5xPWlbcl0ucXx8W10pLnB1c2goYXJndW1lbnRzKX0saVtyXS5s
109
+ PTEqbmV3IERhdGUoKTthPXMuY3JlYXRlRWxlbWVudChvKSwKICBtPXMuZ2V0
110
+ RWxlbWVudHNCeVRhZ05hbWUobylbMF07YS5hc3luYz0xO2Euc3JjPWc7bS5w
111
+ YXJlbnROb2RlLmluc2VydEJlZm9yZShhLG0pCiAgfSkod2luZG93LGRvY3Vt
112
+ ZW50LCdzY3JpcHQnLCcvL3d3dy5nb29nbGUtYW5hbHl0aWNzLmNvbS9hbmFs
113
+ eXRpY3MuanMnLCdnYScpOwogIGdhKCdjcmVhdGUnLCAnVUEtNDM3NjEzODAt
114
+ MScsICdhZGliLmVnJyk7CiAgZ2EoJ3NlbmQnLCAncGFnZXZpZXcnKTsKPC9z
115
+ Y3JpcHQ+CiAgPHNjcmlwdD4KICAgICQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0
116
+ aW9uKCl7CiAgICAgICQoIiNsbmthcmFiaWMiKS5jbGljayggZnVuY3Rpb24o
117
+ KXsKdmFyIGxuayA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmOwogICAgICAgd2lu
118
+ ZG93LmxvY2F0aW9uLmhyZWYgPSBsbmsucmVwbGFjZSgiLmVnIiwiLmVnL2Fy
119
+ YWJpYyIpOwogICAgICB9CiAgICAKICAgICk7CiAgICAKICAgIH0pOwogICAg
120
+ CiAgICA8L3NjcmlwdD4KICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
121
+ dCI+CjwhLS0KZnVuY3Rpb24gZ2V0Q29uZmlybWF0aW9uKCl7CiAgIHZhciBy
122
+ ZXRWYWwgPSBjb25maXJtKCJZb3UgYXJlIGFib3V0IHRvIG9wZW4gYW4gZXh0
123
+ ZXJhbmwgbGluaywgcGxlYXNlIG5vdGUgdGhhdCBBRElCIEVneXB0IGlzIG5v
124
+ dCByZXNwb25zaWJsZSBmb3IgdGhlIGNvbnRlbnQgb3IgdGhlIHNlY3VyaXR5
125
+ IG9mIGFueSBleHRlcm5hbCBsaW5rcy4iKTsKICAgaWYoIHJldFZhbCA9PSB0
126
+ cnVlICl7CiAgIAogIHdpbmRvdy5vcGVuKCJodHRwOi8vaWZuYXdhcmRzLnJl
127
+ ZG1vbmV5Z3JvdXAuY29tL2Jlc3RiYW5rcy8yMDE1L2NhdC5hc3A/Y2F0PTEi
128
+ LCAiTXNnV2luZG93IiwgIndpZHRoPTEwMDAsIGhlaWdodD0xMDAwLCBzY3Jv
129
+ bGxiYXJzPXllcyIpOwoKICAgfWVsc2V7CgogICB9Cn0KLy8tLT4KPC9zY3Jp
130
+ cHQ+CjxtZXRhIG5hbWU9InA6ZG9tYWluX3ZlcmlmeSIgY29udGVudD0iYjcz
131
+ Mjk2NTNlOGVjZjI5MTRjNWM1MmEyMjk5NTdmNjciLz4KICA8L2hlYWQ+PGJv
132
+ ZHk+CgogIDwhLS0gR29vZ2xlIFRhZyBNYW5hZ2VyIC0tPgo8bm9zY3JpcHQ+
133
+ PGlmcmFtZSBzcmM9Ii8vd3d3Lmdvb2dsZXRhZ21hbmFnZXIuY29tL25zLmh0
134
+ bWw/aWQ9R1RNLU03SlQ4QiIKaGVpZ2h0PSIwIiB3aWR0aD0iMCIgc3R5bGU9
135
+ ImRpc3BsYXk6bm9uZTt2aXNpYmlsaXR5OmhpZGRlbiI+PC9pZnJhbWU+PC9u
136
+ b3NjcmlwdD4KPHNjcmlwdD4oZnVuY3Rpb24odyxkLHMsbCxpKXt3W2xdPXdb
137
+ bF18fFtdO3dbbF0ucHVzaCh7J2d0bS5zdGFydCc6Cm5ldyBEYXRlKCkuZ2V0
138
+ VGltZSgpLGV2ZW50OidndG0uanMnfSk7dmFyIGY9ZC5nZXRFbGVtZW50c0J5
139
+ VGFnTmFtZShzKVswXSwKaj1kLmNyZWF0ZUVsZW1lbnQocyksZGw9bCE9J2Rh
140
+ dGFMYXllcic/JyZsPScrbDonJztqLmFzeW5jPXRydWU7ai5zcmM9CicvL3d3
141
+ dy5nb29nbGV0YWdtYW5hZ2VyLmNvbS9ndG0uanM/aWQ9JytpK2RsO2YucGFy
142
+ ZW50Tm9kZS5pbnNlcnRCZWZvcmUoaixmKTsKfSkod2luZG93LGRvY3VtZW50
143
+ LCdzY3JpcHQnLCdkYXRhTGF5ZXInLCdHVE0tTTdKVDhCJyk7PC9zY3JpcHQ+
144
+ CjwhLS0gRW5kIEdvb2dsZSBUYWcgTWFuYWdlciAtLT4KCiAgPGZvcm0gbWV0
145
+ aG9kPSJwb3N0IiBhY3Rpb249Ii8iIGlkPSJmb3JtMSI+DQo8ZGl2IGNsYXNz
146
+ PSJhc3BOZXRIaWRkZW4iPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0i
147
+ X19WSUVXU1RBVEUiIGlkPSJfX1ZJRVdTVEFURSIgdmFsdWU9Ii93RVBEd1VF
148
+ TlRNNE1XUmtsZ1pPVHBxcnZacE5QK2hwUnBzTXJYR0tTSVA5REtwMnh0dktr
149
+ RDkvQlA4PSIgLz4NCjwvZGl2Pg0KPGRpdiBpZD0id3JhcHBlciI+PGRpdiBp
150
+ ZD0iY29udHNXcmFwIj4KICAKICAgCiAgCiAgPGRpdiBpZD0iaGVhZGVyd3Jh
151
+ cCI+PGEgaWQ9Imxua2FyYWJpYyIgY2xhc3M9ImxhbmdlIj48L2E+PGRpdiBp
152
+ ZD0iTmJkX0xvZ28iPjxzcGFuPjxhIGhyZWY9Ii8iIHRpdGxlPSJBRElCIEVn
153
+ eXB0Ij48L2E+PC9zcGFuPjwvZGl2PgogIDxkaXYgY2xhc3M9InRvcE5hdiI+
154
+ CiAgICA8dWwgaWQ9ImpEcm9wRG93biI+CiAgICAgIDxsaT48YSBocmVmPSIv
155
+ Ij5Ib21lPC9hPjwvbGk+CiAgICAgIDxsaT58PC9saT4KICAgICAgPGxpPjxh
156
+ IGhyZWY9Ii9hYm91dC1hZGliLWVneXB0Ij4gQWJvdXQgQURJQiBFZ3lwdDwv
157
+ YT4KICAgICAgPGRpdiBjbGFzcz0iY29sdW1uXzIiPgogICAgICAgIDx1bD4K
158
+ ICAgICAgICAgIDxsaT48YSBocmVmPSIvYWJvdXQtYWRpYi1lZ3lwdC9hYm91
159
+ dC1hZGliLWVneXB0Ij5BYm91dCBBRElCIEVneXB0IDwvYT48L2xpPgogICAg
160
+ ICAgICAgPGxpPjxhIGhyZWY9Ii9hYm91dC1hZGliLWVneXB0L3Zpc2lvbi1t
161
+ aXNzaW9uIj5WaXNpb24gJiBNaXNzaW9uIDwvYT48L2xpPgogICAgICAgICAg
162
+ PGxpPjxhIGhyZWY9Ii9hYm91dC1hZGliLWVneXB0L2JvYXJkLW9mLWRpcmVj
163
+ dG9ycyI+Qm9hcmQgb2YgRGlyZWN0b3JzIDwvYT48L2xpPgogICAgICAgICAg
164
+ PGxpPjxhIGhyZWY9Ii9hYm91dC1hZGliLWVneXB0L2NvcnBvcmF0ZS12YWx1
165
+ ZXMiPkNvcnBvcmF0ZSBWYWx1ZXMgPC9hPjwvbGk+CiAgICAgICAgPC91bD4K
166
+ ICAgICAgPC9kaXY+CiAgICAgIDwvbGk+CiAgICAgIDxsaT58PC9saT4KICAg
167
+ ICAgPGxpPjxhIGhyZWY9Ii91bmRlcnN0YW5kaW5nLWlzbGFtaWMtYmFua2lu
168
+ ZyI+VW5kZXJzdGFuZGluZyBJc2xhbWljIEJhbmtpbmc8L2E+PC9saT4KICAg
169
+ ICAgPGxpPnw8L2xpPgogICAgICA8bGkgY2xhc3M9ImRpc3BsYXlOb25lIj58
170
+ PC9saT48bGk+PGEgaHJlZj0iL2NzciI+Q1NSPC9hPjwvbGk+CiAgICAgIDxs
171
+ aT58PC9saT48bGk+PGEgPkludmVzdG9yIFJlbGF0aW9uczwvYT4KICAgICAg
172
+ PGRpdiBjbGFzcz0iY29sdW1uXzIiPgogICAgICAgIDx1bD4KICAgICAgICA8
173
+ bGk+PGEgaHJlZj0iL2ZpbmFuY2lhbC1yZXN1bHRzIj5GaW5hbmNpYWwgUmVw
174
+ b3J0cyA8L2E+PC9saT4KICAgICAgICAgIDxsaT48YSBocmVmPSIvYXVkaXQt
175
+ Y29tbWl0dGVlLXJlcG9ydHMiPkF1ZGl0IENvbW1pdHRlZSBSZXBvcnRzPC9h
176
+ PjwvbGk+CiAgICAgICAgICA8bGk+PGEgaHJlZj0iL3NoYXJlaG9sZGVycy1z
177
+ dHJ1Y3R1cmUiPlNoYXJlaG9sZGVycyBTdHJ1Y3R1cmU8L2E+PC9saT4KICAg
178
+ ICAgICAgIDxsaT48YSBocmVmPSIvZXhlY3V0aXZlLW1hbmFnZW1lbnQiPkV4
179
+ ZWN1dGl2ZSBNYW5hZ2VtZW50PC9hPjwvbGk+CiAgICAgICAgICA8bGk+PGEg
180
+ aHJlZj0iL2Fib3V0LWFkaWItZWd5cHQvYm9hcmQtb2YtZGlyZWN0b3JzIj5C
181
+ b2FyZCBvZiBEaXJlY3RvcnM8L2E+PC9saT4KICAgICAgICAgIDxsaT48YSBo
182
+ cmVmPSIvZ2FtLXJlc29sdXRpb25zIj5HYW0gUmVzb2x1dGlvbnM8L2E+PC9s
183
+ aT4KICAgICAgICAgIDxsaT48YSBocmVmPSIvZ2FtLW1pbnV0ZXMiPkdhbSBN
184
+ aW51dGVzPC9hPjwvbGk+CiAgICAgICAgICA8bGk+PGEgaHJlZj0iL21ham9y
185
+ LWRlY2lzaW9ucyI+TWFqb3IgRGVjaXNpb25zPC9hPjwvbGk+CiAgICAgICAg
186
+ ICA8bGk+PGEgaHJlZj0iL2ludmVzdG9ycy1yZWxhdGlvbnMtb2ZmaWNpYWxz
187
+ Ij5JbnZlc3RvcnMgUmVsYXRpb25zIE9mZmljaWFsczwvYT48L2xpPgogICAg
188
+ ICAgICAgPGxpPjxhIGhyZWY9Ii9hZGRpdGlvbmFsLWluZm9ybWF0aW9uIj5B
189
+ RElCIEFkZGl0aW9uYWwgSW5mb3JtYXRpb248L2E+PC9saT4KICAgICAgICA8
190
+ L3VsPgogICAgICA8L2Rpdj4KICAgICAgPC9saT4KICAgICAgPGxpPnw8L2xp
191
+ PjxsaT48YSBocmVmPSIvY29udGFjdC11cyI+Q29udGFjdCBVczwvYT48L2xp
192
+ PjxsaT4KICAgICAgICAgICAgPGEgaWQ9Imxua2FyYWJpYyIgY2xhc3M9Imxh
193
+ bmciPj8/Pz88L2E+CiAgICAgICAgICAgIDwvbGk+PC91bD48L2Rpdj48L2Rp
194
+ dj48ZGl2IGlkPSJMZWZ0U2lkZSI+PGRpdiBpZD0iaGVhZGVyIj48ZGl2IGNs
195
+ YXNzPSJ3cmFwIj48ZGl2IGlkPSJzbGlkZS1ob2xkZXIiPjxkaXYgaWQ9InNs
196
+ aWRlLXJ1bm5lciI+CiAgICAgICAgICAgIDxwPjxhIGhyZWY9Ii9uZXdicmFu
197
+ Y2hlcy9pbmRleC5odG1sIj48aW1nIHNyYz0iL21lZGlhLzE5NjQxOS9uZXct
198
+ YnJhbmNoZXN3d3cuanBnIiB3aWR0aD0iNzU3IiBoZWlnaHQ9IjE4MiIgYWx0
199
+ PSJBRElCIFNNQVJUIiBjbGFzcz0ic2xpZGUiIGlkPSJzbGlkZS1pbWctMTAy
200
+ Ii8+PC9hPjxhIGhyZWY9Ii9wZXJzb25hbC1iYW5raW5nL0FESUItU21hcnQv
201
+ c21hcnQiPjxpbWcgc3JjPSIvbWVkaWEvMTY2NTQ5L3NtYXJ0LS0tZW4tNzU3
202
+ LmpwZyIgd2lkdGg9Ijc1NyIgaGVpZ2h0PSIxODIiIGFsdD0iQURJQiBTTUFS
203
+ VCIgY2xhc3M9InNsaWRlIiBpZD0ic2xpZGUtaW1nLTEwMyIvPjwvYT48YSBo
204
+ cmVmPSIvcGVyc29uYWwtYmFua2luZy9zdWt1ay91c2Qtc3VrdWsiIHRpdGxl
205
+ PSJVU0QgU3VrdWsiPjxpbWcgc3JjPSIvbWVkaWEvMTQyMDUwL2FkaWJfLV91
206
+ c2Rfc3VrdWtfZW5nbGlzaF83NTd4MTgyX2Jhbm5lcl8yMC05LTE1LmpwZyIg
207
+ d2lkdGg9Ijc1NyIgaGVpZ2h0PSIxODIiIGFsdD0iVVNEIFN1a3VrIiBjbGFz
208
+ cz0ic2xpZGUiIGlkPSJzbGlkZS1pbWctMTA0Ii8+PC9hPjxhIGhyZWY9Ii9i
209
+ dXNpbmVzcy1iYW5raW5nL2J1c2luZXNzLWZpbmFuY2luZyIgdGl0bGU9IkFE
210
+ SUIgQnVzaW5lc3MiPjxpbWcgc3JjPSIvbWVkaWEvMTUzNTAyL2J1c2luZXNz
211
+ YmFua2luZy1lbi13ZWJiYW5uZXIuanBnIiB3aWR0aD0iNzU3IiBoZWlnaHQ9
212
+ IjE4MiIgYWx0PSJTYXZpbmcgRmVzdGl2YWwiIGNsYXNzPSJzbGlkZSIgaWQ9
213
+ InNsaWRlLWltZy0xMDUiLz48L2E+PGEgaHJlZj0iL3BlcnNvbmFsLWJhbmtp
214
+ bmcvY2FzaC1iYWNrLWNhcmQiPjxpbWcgc3JjPSIvbWVkaWEvMTMwNTc4L3dl
215
+ YnNpdGVfYmFubmVycy03NTd4MTgyLWVuZy5qcGciIHdpZHRoPSI3NTciIGhl
216
+ aWdodD0iMTgyIiBhbHQ9IkNhc2ggRGVib3NpdCBBVE1zIiBjbGFzcz0ic2xp
217
+ ZGUiIGlkPSJzbGlkZS1pbWctMTA2Ii8+PC9hPjxhIGhyZWY9Ii93aG9sZXNh
218
+ bGUtYmFua2luZyI+PGltZyBzcmM9Ii9tZWRpYS8xNTYxNDgvY29ycG9yYXRl
219
+ LWJhbm5lci1lbi5qcGciIHdpZHRoPSI3NTciIGhlaWdodD0iMTgyIiBhbHQ9
220
+ IlRvZ3RoZXIuLi4gV2Ugd2lsbCBoZWxwIHlvdSB3aXRoIHlvdXIgbmVlZHMi
221
+ IGNsYXNzPSJzbGlkZSIgaWQ9InNsaWRlLWltZy0xMDciLz48L2E+PC9wPgog
222
+ ICAgICAgICAgICAKICAgICAgICAgICAgPGRpdiBpZD0ic2xpZGUtY29udHJv
223
+ bHMiPjxwIGlkPSJzbGlkZS1uYXYiPjwvcD48L2Rpdj48L2Rpdj48L2Rpdj48
224
+ L2Rpdj48L2Rpdj4KICAgICAgICAgICAgPHAgY2xhc3M9IkJhbmtpbmdNTUYi
225
+ PkNsb3NpbmcgcHJpY2Ugb2YgQURJQiBFZ3lwdCBTaGFyaSdhIENvbXBsaWFu
226
+ dCBNb25leSBNYXJrZXQgRnVuZCB3aXRoPGJyIC8+RGFpbHkgQ3VtdWxhdGl2
227
+ ZSBSZXR1cm5zIGFzIG9mOiAxOS8xMS8yMDE2IGF0IDxzcGFuIGNsYXNzPSJy
228
+ ZWQiPkVHUCAxMTYuPHNwYW4gY2xhc3M9InJlZCI+ODM1MDwvc3Bhbj48L3Nw
229
+ YW4+PC9wPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJCb3hBbGwiPgogICAg
230
+ ICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyIj48L2Rpdj4K
231
+ ICAgICAgICAgICAgCgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJCb3giPjxk
232
+ aXYgY2xhc3M9IkJveFRvcDIiPjxzcGFuPlBlcnNvbmFsIEJhbmtpbmc8L3Nw
233
+ YW4+PC9kaXY+PGRpdiBjbGFzcz0iQm94Q29udGVudCI+PHVsPgo8bGkgc3R5
234
+ bGU9IndpZHRoOiAxNTBweDsiPjxhIGhyZWY9Ii9wZXJzb25hbC1iYW5raW5n
235
+ L0FESUItU21hcnQiIHRpdGxlPSJBRElCIFNNQVJUIj5BRElCIFNNQVJUPC9h
236
+ PjwvbGk+CjxsaSBzdHlsZT0id2lkdGg6IDE1MHB4OyI+PGEgaHJlZj0iL3Bl
237
+ cnNvbmFsLWJhbmtpbmcvY2FzaC1iYWNrLWNhcmQiIHRpdGxlPSJDYXNoIEJh
238
+ Y2sgQ2FyZCI+Q2FzaCBCYWNrIENhcmQ8L2E+PC9saT4KPGxpPjxhIGhyZWY9
239
+ Ii9wZXJzb25hbC1iYW5raW5nL2FjY291bnRzIiB0aXRsZT0iQWNjb3VudHMi
240
+ PkFjY291bnRzPC9hPjwvbGk+CjxsaT48YSBocmVmPSIvcGVyc29uYWwtYmFu
241
+ a2luZy9zdWt1ayIgdGl0bGU9IlNoYXJpJ2EgQ29tcGxpYW50IENlcnRpZmlj
242
+ YXRlcyBvZiBEZXBvc2l0Ij5TdWt1azwvYT48L2xpPgo8bGk+PGEgaHJlZj0i
243
+ L3BlcnNvbmFsLWJhbmtpbmcvZmluYW5jaW5nLW9wdGlvbnMiIHRpdGxlPSJG
244
+ aW5hbmNpbmcgT3B0aW9ucyI+RmluYW5jaW5nIE9wdGlvbnM8L2E+PC9saT4K
245
+ PGxpPjxhIGhyZWY9Ii9wZXJzb25hbC1iYW5raW5nL2NoYXJpdGFibGUtYWNj
246
+ b3VudHMiIHRpdGxlPSJDaGFyaXRhYmxlIEFjY291bnRzIj5DaGFyaXRhYmxl
247
+ IEFjY291bnRzPC9hPjwvbGk+CjxsaT48YSBocmVmPSIvcGVyc29uYWwtYmFu
248
+ a2luZy9zYW5hYmVsIiB0aXRsZT0iU2FuYWJlbCI+U2FuYWJlbDwvYT48L2xp
249
+ Pgo8L3VsPjwvZGl2PjxkaXYgY2xhc3M9Ik1vcmVCb3gyIj48YSBocmVmPSIv
250
+ cGVyc29uYWwtYmFua2luZyI+Q2xpY2sgaGVyZSB0byBrbm93IG1vcmU8L2E+
251
+ PC9kaXY+PGRpdiBjbGFzcz0iQm94RW5kIj48L2Rpdj48L2Rpdj4KICAgICAg
252
+ ICAgICAgPGRpdiBjbGFzcz0iQm94Ij48ZGl2IGNsYXNzPSJCb3hUb3AyIj48
253
+ c3Bhbj5CdXNpbmVzcyBCYW5raW5nPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9
254
+ IkJveENvbnRlbnQiPjx1bD4KPGxpPjxhIGhyZWY9Ii9idXNpbmVzcy1iYW5r
255
+ aW5nL2FkaWItYnVzaW5lc3MtYmFua2luZyIgdGl0bGU9IkFESUIgQnVzaW5l
256
+ c3MgQmFua2luZyI+QURJQiBCdXNpbmVzcyBCYW5raW5nPC9hPjwvbGk+Cjxs
257
+ aT48YSBocmVmPSIvYnVzaW5lc3MtYmFua2luZy9idXNpbmVzcy1maW5hbmNp
258
+ bmciIHRpdGxlPSJCdXNpbmVzcyBGaW5hbmNpbmciPkJ1c2luZXNzIEJhbmtp
259
+ bmcgRmluYW5jaW5nPC9hPjwvbGk+CjwvdWw+PC9kaXY+PGRpdiBjbGFzcz0i
260
+ TW9yZUJveDIiPjxhIGhyZWY9Ii9idXNpbmVzcy1iYW5raW5nIj5DbGljayBo
261
+ ZXJlIHRvIGtub3cgbW9yZTwvYT48L2Rpdj48ZGl2IGNsYXNzPSJCb3hFbmQi
262
+ PjwvZGl2PjwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJCb3giPjxk
263
+ aXYgY2xhc3M9IkJveFRvcDIiPjxzcGFuPldob2xlc2FsZSBCYW5raW5nPC9z
264
+ cGFuPjwvZGl2PjxkaXYgY2xhc3M9IkJveENvbnRlbnQiPjx1bD4KPGxpPjxh
265
+ IGhyZWY9Ii93aG9sZXNhbGUtYmFua2luZy9jb3Jwb3JhdGUtYmFua2luZy1w
266
+ YXJ0Ij5Db3Jwb3JhdGUgQmFua2luZzwvYT48L2xpPgo8bGk+PGEgaHJlZj0i
267
+ L3dob2xlc2FsZS1iYW5raW5nL2ZpbmFuY2lhbC1pbnN0aXR1dGlvbnMtZmki
268
+ PkZpbmFuY2lhbCBJbnN0aXR1dGlvbnPCoCZhbXA7PC9hPiA8YSBocmVmPSIv
269
+ d2hvbGVzYWxlLWJhbmtpbmcvdHJhZGUtZmluYW5jZSI+VHJhZGU8L2E+PC9s
270
+ aT4KPGxpPjxhIGhyZWY9Ii93aG9sZXNhbGUtYmFua2luZyI+Q2FzaCBNYW5h
271
+ Z2VtZW50PC9hPjwvbGk+CjxsaT48YSBocmVmPSIvd2hvbGVzYWxlLWJhbmtp
272
+ bmcvY29ycG9yYXRlLWZpbmFuY2UiPkNvcnBvcmF0ZSBGaW5hbmNlPC9hPjwv
273
+ bGk+CjxsaT48YSBocmVmPSIvbWVkaWEvNzk0NzAvYmFua2luZ19zZXJ2aWNl
274
+ c19hZ3JlZW1lbnRfZm9yX2NvcnBvcmF0ZXMucGRmIj5Db3Jwb3JhdGUgQlNB
275
+ PC9hPsKgYW5kIDxhIGhyZWY9Ii9tZWRpYS83OTQ3My9ic2EtY29ycC10ZXJt
276
+ c19hbmRfY29uZGl0aW9ucy5wZGYiPnRlcm1zICZhbXA7IGNvbmRpdGlvbnM8
277
+ L2E+wqA8aW1nIHNyYz0iL21lZGlhLzc5NzY5L3BkZi5wbmciIHdpZHRoPSIx
278
+ NCIgaGVpZ2h0PSIxOCIgYWx0PSJQZGYiLz48L2xpPgo8L3VsPjwvZGl2Pjxk
279
+ aXYgY2xhc3M9Ik1vcmVCb3gyIj48YSBocmVmPSIvd2hvbGVzYWxlLWJhbmtp
280
+ bmciPkNsaWNrIGhlcmUgdG8ga25vdyBtb3JlPC9hPjwvZGl2PjxkaXYgY2xh
281
+ c3M9IkJveEVuZCI+PC9kaXY+PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xh
282
+ c3M9IkJveCI+PGRpdiBjbGFzcz0iQm94VG9wMiI+PHNwYW4+VHJlYXN1cnk8
283
+ L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0iQm94Q29udGVudCI+PHVsPgo8bGk+
284
+ PGEgaHJlZj0iL3RyZWFzdXJ5Ij5Gb3JlaWduIEV4Y2hhbmdlPC9hPjwvbGk+
285
+ CjxsaT48YSBocmVmPSIvdHJlYXN1cnkiPlNoYXJpJ2EgY29tcGxpYW50IHBy
286
+ b2R1Y3RzPC9hPjwvbGk+CjxsaT48YSBocmVmPSIvdHJlYXN1cnkiPk1hcmtl
287
+ dCBBbmFseXNpcy9VcGRhdGVzPC9hPjwvbGk+CjwvdWw+PC9kaXY+PGRpdiBj
288
+ bGFzcz0iTW9yZUJveDIiPjxhIGhyZWY9Ii90cmVhc3VyeSI+Q2xpY2sgaGVy
289
+ ZSB0byBrbm93IG1vcmU8L2E+PC9kaXY+PGRpdiBjbGFzcz0iQm94RW5kIj48
290
+ L2Rpdj48L2Rpdj4KICAgICAgICAgICAgCiAgICAgICAgICAgIDxkaXYgY2xh
291
+ c3M9ImNsZWFyIj48L2Rpdj4KCjxkaXYgc3R5bGU9Im1hcmdpbi10b3A6MjVw
292
+ eCIgYWxpZ249ImNlbnRlciIgPgogICAgPGEgaHJlZj0iL2JyYW5jaGVzLTki
293
+ PjxpbWcgU3JjPSIvbWVkaWEvMTg2NTk0LzlwbS5qcGciIGJvcmRlcj0iMCI+
294
+ PC9hPgogICAgICAgIDwhLS0gICAgIDxhIGhyZWY9ImphdmFzY3JpcHQ6Z2V0
295
+ Q29uZmlybWF0aW9uKCk7Ij48aW1nIFNyYz0iL21lZGlhLzE0ODgyNi9pZm5f
296
+ YXdhcmRfcG9sbF8yMDE1LmpwZyIgYm9yZGVyPSIwIj48L2E+LS0+PC9kaXY+
297
+ CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAKICAgICAgICAgICAg
298
+ PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9IlJpZ2h0U2lkZSI+PGRp
299
+ diBjbGFzcz0iV2F5cyI+PC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFz
300
+ cz0iQ2FsbFVzIj4KICAgICAgICAgICAgICAgIDx1bD4KPGxpPjxzdHJvbmc+
301
+ ZS1BRElCPGJyIC8+SW50ZXJuZXQgQmFua2luZzwvc3Ryb25nPgo8ZGl2IGNs
302
+ YXNzPSJsb2dpbiI+Cjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIw
303
+ IiBjZWxscGFkZGluZz0iMCIgc3R5bGU9IndpZHRoOiAxNzBweDsgaGVpZ2h0
304
+ OiAxMnB4OyI+Cjx0Ym9keT4KPHRyPgo8dGQgYWxpZ249ImxlZnQiIHN0eWxl
305
+ PSJ3aWR0aDogMTAwcHg7Ij48YSBocmVmPSIvcmVnaXN0cmF0aW9uIiB0aXRs
306
+ ZT0iSW50ZXJuZXQgQmFua2luZyBSZWdpc3RyYXRpb24iPjxpbWcgc3JjPSIv
307
+ bWVkaWEvMTA4NDE3L3JlZ2lzdGVyLW9ubGluZS5wbmciIHdpZHRoPSI5NCIg
308
+ aGVpZ2h0PSIyMCIgYWx0PSJSZWdpc3RlciAtb25saW5lIi8+PC9hPjwvdGQ+
309
+ Cjx0ZCBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iaHR0cHM6Ly9pYi5hZGliLmVn
310
+ L3JlYi9yZWJjdy9Db250cm9sbGVyLmpwZiIgdGl0bGU9IkludGVybmV0IEJh
311
+ bmtpbmcgTG9naW4iPjxpbWcgc3JjPSIvbWVkaWEvMTA4NDIyL2xvZ2luLnBu
312
+ ZyIgd2lkdGg9IjQ3IiBoZWlnaHQ9IjIwIiBhbHQ9IkxvZ2luIi8+PC9hPjwv
313
+ dGQ+CjwvdHI+Cjx0cj4KPHRkIGNvbHNwYW49IjIiPgo8YSBocmVmPSIiPjxp
314
+ bWcgc3JjPSIvbWVkaWEvODU1MjYvc24tZW4tbGluay5wbmciIHdpZHRoPSIx
315
+ MzBweCIgc3R5bGU9InBhZGRpbmctdG9wOjVweCIgb25jbGljaz0ibXlGdW5j
316
+ dGlvbigpIiAvPjwvYT4KPC90ZD4KPC90cj4KPC90Ym9keT4KPC90YWJsZT4K
317
+ PC9kaXY+CjwvbGk+CjxsaT48c3Ryb25nPkNBTEwgVVMgT048L3N0cm9uZz4K
318
+ PHAgY2xhc3M9IkltZ2UiPsKgPC9wPgo8L2xpPgo8bGkgc3R5bGU9ImZvbnQt
319
+ c2l6ZTogMTVweDsiPjxhIGhyZWY9Ii9icmFuY2hlcyIgY2xhc3M9IkNhbGxV
320
+ c0xpbmsiPkJyYW5jaGVzPC9hPjwvbGk+CjxsaSBzdHlsZT0iZm9udC1zaXpl
321
+ OiAxNXB4OyI+PGEgaHJlZj0iL2F0bS1sb2NhdGlvbnMiIGNsYXNzPSJDYWxs
322
+ VXNMaW5rIj5BVE0gTG9jYXRpb25zPC9hPjwvbGk+CjwvdWw+Cjx0YWJsZSBi
323
+ b3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIyIiBjZWxscGFkZGluZz0iMiIgc3R5
324
+ bGU9IndpZHRoOiAxOTVweDsiPgo8dGJvZHk+Cjx0cj4KPHRkIGNvbHNwYW49
325
+ IjMiIHdpZHRoPSIxOTUiIGhlaWdodD0iMjUiPgo8aDM+Q3VycmVuY3kgRXhj
326
+ aGFuZ2UgUmF0ZXM8L2gzPgoyMC8xMS8yMDE2IC0gMTA8c3Bhbj46MjYgQU08
327
+ L3NwYW4+PC90ZD4KPC90cj4KPHRyIHN0eWxlPSJjb2xvcjogd2hpdGU7Ij4K
328
+ PHRkIGJnY29sb3I9IiMyMmFlZWMiPjxzdHJvbmc+Q3VycmVuY3k8L3N0cm9u
329
+ Zz48L3RkPgo8dGQgYWxpZ249ImNlbnRlciIgYmdjb2xvcj0iIzIyYWVlYyI+
330
+ PHN0cm9uZz5CdXlpbmc8L3N0cm9uZz48L3RkPgo8dGQgYWxpZ249ImNlbnRl
331
+ ciIgYmdjb2xvcj0iIzIyYWVlYyI+PHN0cm9uZz5TZWxsaW5nPC9zdHJvbmc+
332
+ PC90ZD4KPC90cj4KPHRyPgo8dGQ+VVNEPC90ZD4KPHRkIGFsaWduPSJjZW50
333
+ ZXIiPjxzcGFuPjE3LjAwMDA8L3NwYW4+PC90ZD4KPHRkIGFsaWduPSJjZW50
334
+ ZXIiPjE3LjUwMDA8L3RkPgo8L3RyPgo8dHI+Cjx0ZCBiZ2NvbG9yPSIjZGZm
335
+ NWZiIj5HQlA8L3RkPgo8dGQgYWxpZ249ImNlbnRlciIgYmdjb2xvcj0iI2Rm
336
+ ZjVmYiI+PHNwYW4+PHNwYW4+MjAuOTA0OTwvc3Bhbj48L3NwYW4+PC90ZD4K
337
+ PHRkIGFsaWduPSJjZW50ZXIiIGJnY29sb3I9IiNkZmY1ZmIiPjxzcGFuPjIx
338
+ Ljc2MzA8L3NwYW4+PC90ZD4KPC90cj4KPHRyPgo8dGQ+RVVSPC90ZD4KPHRk
339
+ IGFsaWduPSJjZW50ZXIiPjxzcGFuPjxzcGFuPjE3Ljk2Mzk8L3NwYW4+PC9z
340
+ cGFuPjwvdGQ+Cjx0ZCBhbGlnbj0iY2VudGVyIj48c3Bhbj4xOC42MjM1PC9z
341
+ cGFuPjwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGJnY29sb3I9IiNkZmY1ZmIiPlNB
342
+ UjwvdGQ+Cjx0ZCBhbGlnbj0iY2VudGVyIiBiZ2NvbG9yPSIjZGZmNWZiIj48
343
+ c3Bhbj48c3Bhbj40LjUzMjU8L3NwYW4+PC9zcGFuPjwvdGQ+Cjx0ZCBhbGln
344
+ bj0iY2VudGVyIiBiZ2NvbG9yPSIjZGZmNWZiIj48c3Bhbj40LjY2Njk8L3Nw
345
+ YW4+PC90ZD4KPC90cj4KPHRyPgo8dGQ+QUVEPC90ZD4KPHRkIGFsaWduPSJj
346
+ ZW50ZXIiPjxzcGFuPjxzcGFuPjQuNjI4NDwvc3Bhbj48L3NwYW4+PC90ZD4K
347
+ PHRkIGFsaWduPSJjZW50ZXIiPjxzcGFuPjQuNzY0Njwvc3Bhbj48L3RkPgo8
348
+ L3RyPgo8L3Rib2R5Pgo8L3RhYmxlPgogICAgICAgICAgICAgIDwvZGl2Pgog
349
+ ICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsciI+PC9kaXY+PGJy
350
+ Lz4gICAgCiAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IlNjaGVkdWxlIj4K
351
+ ICAgICAgICAgICAgICA8aDM+U0NIRURVTEUgT0YgQ0hBUkdFUzwvaDM+CiAg
352
+ ICAgICAgICAgICAgPHA+RGV0YWlsZWQgcGVyc29uYWwgYXMgd2VsbCBhcyBj
353
+ b3Jwb3JhdGUgYmFua2luZyByZWxhdGVkIGZlZXMgYW5kIGNoYXJnZXMuIDwv
354
+ cD4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJNb3JlU2NoZWR1bGUiPjxh
355
+ IGhyZWY9Ii9zY2hlZHVsZS1vZi1jaGFyZ2VzIj5DbGljayBoZXJlIHRvIGtu
356
+ b3cgbW9yZTwvYT48L2Rpdj4KICAgICAgICAgICAgICAgICAKICAgICAgICAg
357
+ ICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2
358
+ IGNsYXNzPSJOZXdzU2VjdGlvbiI+CiAgICAgICAgICAgICAgPGRpdiBjbGFz
359
+ cz0iTmV3c3VwZGF0ZXMiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0i
360
+ QWxsIj4KICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iIyIgY2xhc3M9InZp
361
+ c2liaWxpdHlIaWRkZW4iPlZpZXcgQWxsIDwvYT4KICAgICAgICAgICAgICAg
362
+ ICAgPGltZyBzcmM9Ii9pbWFnZXMvTmV3cy5qcGciIGFsdD0iTmV3cyIgd2lk
363
+ dGg9IjkyIiBoZWlnaHQ9IjgxIi8+CiAgICAgICAgICAgICAgICA8L2Rpdj4K
364
+ ICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Ik5ld3NEZXMiPgogICAgICAg
365
+ ICAgICAgICAgICA8aDI+TmV3cyAmIHVwZGF0ZXM8L2gyPgogICAgICAgICAg
366
+ ICAgICAgICA8dWw+PGxpPjxzdHJvbmc+MDEtMDQtMjAxNjwvc3Ryb25nPjxh
367
+ IGhyZWY9Ii9uZXdzL2dsb2JhbC1maW5hbmNlLTIwMTYiPkFESUItRWd5cHQg
368
+ TmFtZWQg4oCcQmVzdCBJc2xhbWljIEZpbmFuY2lhbCBJbnN0aXR1dGlvbuKA
369
+ nSBieSBHbG9iYWwgRmluYW5jZSA8L2E+PC9saT48L3VsPjxkaXYgY2xhc3M9
370
+ Ik1vcmVCb3gzIiBzdHlsZT0iZmxvYXQ6cmlnaHQ7Ij48YSBjbGFzcz0idmll
371
+ dyIgaHJlZj0iL25ld3MiPlZpZXcgQWxsPC9hPjwvZGl2PgogICAgICAgICAg
372
+ ICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAg
373
+ ICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iTmV3c3VwZGF0ZXMiPgogICAg
374
+ ICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iQWxsIj4KICAgICAgICAg
375
+ ICAgICAgICAgICAgICAgPGEgaHJlZj0iIyIgY2xhc3M9InZpc2liaWxpdHlI
376
+ aWRkZW4iPlZpZXcgQWxsIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAg
377
+ PGltZyBzcmM9Ii9pbWFnZXMvZmluYW5jYWwtcmVwb3J0LmpwZyIgYWx0PSJG
378
+ aW5hbmNpYWwgUmVwb3J0cyIgd2lkdGg9IjkyIiBoZWlnaHQ9IjgxIi8+PC9k
379
+ aXY+PGRpdiBjbGFzcz0iTmV3c0RlcyI+PGgyPiBGaW5hbmNpYWwgUmVwb3J0
380
+ czwvaDI+PHVsPgo8bGk+PHN0cm9uZz4zMS0wMy0yMDE2PC9zdHJvbmc+PGEg
381
+ aHJlZj0iL21lZGlhLzE2ODMwMi9xMV8yMDE2X2NvbnNpbGlkYXRlZF9lbi5w
382
+ ZGYiIHRhcmdldD0iX2JsYW5rIj4gUTEgLSAyMDE2IEZpbmFuY2lhbCBSZXBv
383
+ cnQgKENvbnMpPC9hPjwvbGk+CjxsaT48c3Ryb25nPjMxLTAzLTIwMTY8L3N0
384
+ cm9uZz48YSBocmVmPSIvbWVkaWEvMTY4Mjk5L3ExXzIwMTZfc3RhbmRhbG9u
385
+ ZV9lbi5wZGYiIHRhcmdldD0iX2JsYW5rIj4gUTEgLSAyMDE2IEZpbmFuY2lh
386
+ bCBSZXBvcnQgKFNBKTwvYT48L2xpPgo8L3VsPgo8ZGl2IGNsYXNzPSJNb3Jl
387
+ Qm94MyI+PGEgaHJlZj0iL2ZpbmFuY2lhbC1yZXN1bHRzIj5Nb3JlIEZpbmFu
388
+ Y2lhbCBSZXBvcnRzPC9hPjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9
389
+ Ik5ld3N1cGRhdGVzIj48ZGl2IGNsYXNzPSJBbGwiPjwvZGl2PjxkaXYgY2xh
390
+ c3M9Ik5ld3NEZXMiPjxoMj4gQW5udWFsIFJlcG9ydDwvaDI+PHVsPgo8bGk+
391
+ PHN0cm9uZz4zMS0xMi0yMDEzPC9zdHJvbmc+PGEgaHJlZj0iL0FESUIlMjBB
392
+ bm51YWwlMjBSZXBvcnQlMjAyMDEzJTIwRW4ucGRmIiB0YXJnZXQ9Il9ibGFu
393
+ ayI+IEFubnVhbCBSZXBvcnQgMjAxMzwvYT48L2xpPgo8L3VsPjwvZGl2Pjwv
394
+ ZGl2PjwvZGl2PjxkaXYgY2xhc3M9IkJnRm9vdGVyIj48YSBocmVmPSIvY2Fs
395
+ Y3VsYXRvciIgY2xhc3M9ImFGb290ZXIiPkZpbmFuY2UgQ2FsY3VsYXRvcjwv
396
+ YT48L2Rpdj48ZGl2IGNsYXNzPSJGb290ZXJMaW5rcyI+PGEgaHJlZj0iL3Np
397
+ dGVtYXAiPlNpdGUgTWFwPC9hPiB8IDxhIGhyZWY9Ii90ZXJtLWNvbmRpdGlv
398
+ biI+VGVybXMgJiBDb25kaXRpb25zIDwvYT48L2Rpdj48ZGl2IGNsYXNzPSJD
399
+ b3B5UmlnaHQiPkRldmVsb3BlZCBCeSA8YSBocmVmPSJodHRwOi8vd3d3Lm5l
400
+ dC13YXZlLm5ldCIgdGFyZ2V0PSJfYmxhbmsiPk5ldFdhdmU8L2E+PC9kaXY+
401
+ PC9kaXY+PC9kaXY+PC9mb3JtPgogICAgICAgICAgPHNjcmlwdCBzcmM9Ii9j
402
+ c3MvanMvanF1ZXJ5LTEuOS4xLmpzIj48L3NjcmlwdD4KICAgICAgICAgIDxz
403
+ Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBsYW5ndWFnZT0iamF2YXNj
404
+ cmlwdCIgc3JjPSIvY3NzL2pzL3NjcmlwdHMuanMiPjwvc2NyaXB0PgogICAg
405
+ ICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgbGFuZ3Vh
406
+ Z2U9ImphdmFzY3JpcHQiIHNyYz0iL2Nzcy9qcy9kcm9wZG93bi5jbGFzcy5q
407
+ cyI+PC9zY3JpcHQ+CiAgICAgICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9q
408
+ YXZhc2NyaXB0IiBsYW5ndWFnZT0iamF2YXNjcmlwdCIgc3JjPSIvY3NzL2pz
409
+ L21lbnUuanMiPjwvc2NyaXB0PgogICAgICAgICAgICA8c2NyaXB0IHR5cGU9
410
+ InRleHQvamF2YXNjcmlwdCIgc3JjPSIvY3NzL2pzL2NvbnZlcnNpb24uanMi
411
+ Pjwvc2NyaXB0Pjxub3NjcmlwdD48ZGl2PjxpbWcgaGVpZ2h0PSIxIiB3aWR0
412
+ aD0iMSIgYm9yZGVyPSIwIiBhbHQ9IiIgc3JjPSIvL2dvb2dsZWFkcy5nLmRv
413
+ dWJsZWNsaWNrLm5ldC9wYWdlYWQvdmlld3Rocm91Z2hjb252ZXJzaW9uLzEw
414
+ MDg2OTI1OTMvP3ZhbHVlPTAmbGFiZWw9cFhlbENMZXg5d0lROGRyOTRBTSZn
415
+ dWlkPU9OJnNjcmlwdD0wIi8+PC9kaXY+PC9ub3NjcmlwdD4KICAgICAgICAg
416
+ ICAgICA8ZGl2IGlkPSJtYXNrIj48L2Rpdj4KICAgICAgICAgICAgICA8YSB0
417
+ aXRsZT0iUmVhbCBUaW1lIFdlYiBBbmFseXRpY3MiIGhyZWY9Imh0dHA6Ly9j
418
+ bGlja3kuY29tLzEwMDc4OTM0MSI+PC9hPgo8c2NyaXB0IHNyYz0iLy9zdGF0
419
+ aWMuZ2V0Y2xpY2t5LmNvbS9qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48
420
+ L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPnRyeXsg
421
+ Y2xpY2t5LmluaXQoMTAwNzg5MzQxKTsgfWNhdGNoKGUpe308L3NjcmlwdD4K
422
+ PG5vc2NyaXB0Pjwvbm9zY3JpcHQ+CiAgICAgICAgICAgICAgCiAgICAgICAg
423
+ ICAgICAgPCEtLSBTdGFydCBvZiBBc3luYyBIdWJTcG90IEFuYWx5dGljcyBD
424
+ b2RlIC0tPgogIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAg
425
+ IChmdW5jdGlvbihkLHMsaSxyKSB7CiAgICAgIGlmIChkLmdldEVsZW1lbnRC
426
+ eUlkKGkpKXtyZXR1cm47fQogICAgICB2YXIgbj1kLmNyZWF0ZUVsZW1lbnQo
427
+ cyksZT1kLmdldEVsZW1lbnRzQnlUYWdOYW1lKHMpWzBdOwogICAgICBuLmlk
428
+ PWk7bi5zcmM9Jy8vanMuaHMtYW5hbHl0aWNzLm5ldC9hbmFseXRpY3MvJyso
429
+ TWF0aC5jZWlsKG5ldyBEYXRlKCkvcikqcikrJy80NzI1NjMuanMnOwogICAg
430
+ ICBlLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKG4sIGUpOwogICAgfSkoZG9j
431
+ dW1lbnQsInNjcmlwdCIsImhzLWFuYWx5dGljcyIsMzAwMDAwKTsKICA8L3Nj
432
+ cmlwdD4KPCEtLSBFbmQgb2YgQXN5bmMgSHViU3BvdCBBbmFseXRpY3MgQ29k
433
+ ZSAtLT4KICAgICAgICAgICAgICAgICAgICAgIDwhLS0gR29vZ2xlIENvZGUg
434
+ Zm9yIFJlbWFya2V0aW5nIFRhZyAtLT4KPCEtLS0tLS0tLS0tLS0tLS0tLS0t
435
+ LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpSZW1hcmtldGluZyB0
436
+ YWdzIG1heSBub3QgYmUgYXNzb2NpYXRlZCB3aXRoIHBlcnNvbmFsbHkgaWRl
437
+ bnRpZmlhYmxlIGluZm9ybWF0aW9uIG9yIHBsYWNlZCBvbiBwYWdlcyByZWxh
438
+ dGVkIHRvIHNlbnNpdGl2ZSBjYXRlZ29yaWVzLiBTZWUgbW9yZSBpbmZvcm1h
439
+ dGlvbiBhbmQgaW5zdHJ1Y3Rpb25zIG9uIGhvdyB0byBzZXR1cCB0aGUgdGFn
440
+ IG9uOiBodHRwOi8vZ29vZ2xlLmNvbS9hZHMvcmVtYXJrZXRpbmdzZXR1cAot
441
+ LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
442
+ LS0tLS0+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLyogPCFb
443
+ Q0RBVEFbICovCnZhciBnb29nbGVfY29udmVyc2lvbl9pZCA9IDk1NTg3NjMw
444
+ MTsKdmFyIGdvb2dsZV9jdXN0b21fcGFyYW1zID0gd2luZG93Lmdvb2dsZV90
445
+ YWdfcGFyYW1zOwp2YXIgZ29vZ2xlX3JlbWFya2V0aW5nX29ubHkgPSB0cnVl
446
+ OwovKiBdXT4gKi8KPC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
447
+ c2NyaXB0IiBzcmM9Ii8vd3d3Lmdvb2dsZWFkc2VydmljZXMuY29tL3BhZ2Vh
448
+ ZC9jb252ZXJzaW9uLmpzIj4KPC9zY3JpcHQ+Cjxub3NjcmlwdD4KPGRpdiBz
449
+ dHlsZT0iZGlzcGxheTppbmxpbmU7Ij4KPGltZyBoZWlnaHQ9IjEiIHdpZHRo
450
+ PSIxIiBzdHlsZT0iYm9yZGVyLXN0eWxlOm5vbmU7IiBhbHQ9IiIgc3JjPSIv
451
+ L2dvb2dsZWFkcy5nLmRvdWJsZWNsaWNrLm5ldC9wYWdlYWQvdmlld3Rocm91
452
+ Z2hjb252ZXJzaW9uLzk1NTg3NjMwMS8/dmFsdWU9MCZhbXA7Z3VpZD1PTiZh
453
+ bXA7c2NyaXB0PTAiLz4KPC9kaXY+Cjwvbm9zY3JpcHQ+CiAgICAgICAgICAg
454
+ ICAgPC9ib2R5PjwvaHRtbD4=
455
+ http_version:
456
+ recorded_at: Sun, 20 Nov 2016 20:08:42 GMT
457
+ recorded_with: VCR 3.0.3