ruby-miradore 2.0.2 → 2.1.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +1 -1
- data/Gemfile.lock +24 -8
- data/fixtures/vcr_cassettes/Change_User_Email_Address.yml +2 -2
- data/fixtures/vcr_cassettes/Change_User_Email_Address_Error.yml +2 -2
- data/fixtures/vcr_cassettes/Change_User_Email_Address_Without_v1.yml +2 -2
- data/fixtures/vcr_cassettes/Get_Device_Location.yml +4 -4
- data/fixtures/vcr_cassettes/Get__Mobile_Device.yml +10 -8
- data/fixtures/vcr_cassettes/InvDevice.yml +5 -5
- data/fixtures/vcr_cassettes/LockDevice_all.yml +3 -3
- data/fixtures/vcr_cassettes/all_criteria.yml +59 -23
- data/fixtures/vcr_cassettes/auth_not_found.yml +3 -3
- data/fixtures/vcr_cassettes/error_by_serial_number.yml +3 -3
- data/fixtures/vcr_cassettes/full_list_and_details.yml +50 -0
- data/fixtures/vcr_cassettes/get_location.yml +3 -3
- data/fixtures/vcr_cassettes/get_user_from_miradore.yml +3 -3
- data/fixtures/vcr_cassettes/search_by_serial_number.yml +9 -8
- data/fixtures/vcr_cassettes/user_alredy_exist_in_miradore.yml +159 -0
- data/lib/ruby/miradore/version.rb +1 -1
- data/lib/ruby/miradore.rb +55 -35
- data/ruby-miradore.gemspec +3 -1
- metadata +33 -8
- data/ruby-miradore-0.1.2.gem +0 -0
- data/ruby-miradore-0.1.3.gem +0 -0
- data/ruby-miradore-1.1.0.gem +0 -0
- data/ruby-miradore-1.1.1.gem +0 -0
- data/ruby-miradore-1.2.2.gem +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 67c958b4edfb47eaded9bd961ccda1d2611e68bbd4f3c4a64cf31c549da5ec58
|
4
|
+
data.tar.gz: 1638439010818c0d5ddef7aac0d3ae4ab8dd098bf8578b239059a2f8e3f68dc0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5fca5b899740608d97377df42d0b2e36e6a6eb6606fc5284f6f44a0037eccfb5dcd73c43a6a824615985da2fea0bcb6af8e9367d46a8008c5953f77d1e2f07d3
|
7
|
+
data.tar.gz: 30961cd5edab5e80416084d2ca51f227ad8a9fe173cbd41b13531ba8b4076265e75e30e7c34f9b7334eeab7c04b29e816e6f31ea0127f9d679a1d1353f36287e
|
data/.travis.yml
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,7 +1,9 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
ruby-miradore (2.
|
4
|
+
ruby-miradore (2.1.3)
|
5
|
+
activesupport (~> 6.1)
|
6
|
+
builder (~> 3.1)
|
5
7
|
crack (~> 0.4)
|
6
8
|
finest-builder (~> 1.0)
|
7
9
|
httparty (~> 0.18)
|
@@ -12,22 +14,33 @@ PATH
|
|
12
14
|
GEM
|
13
15
|
remote: https://rubygems.org/
|
14
16
|
specs:
|
17
|
+
activesupport (6.1.4.1)
|
18
|
+
concurrent-ruby (~> 1.0, >= 1.0.2)
|
19
|
+
i18n (>= 1.6, < 2)
|
20
|
+
minitest (>= 5.1)
|
21
|
+
tzinfo (~> 2.0)
|
22
|
+
zeitwerk (~> 2.3)
|
15
23
|
addressable (2.8.0)
|
16
24
|
public_suffix (>= 2.0.2, < 5.0)
|
17
25
|
ast (2.4.2)
|
26
|
+
builder (3.2.4)
|
27
|
+
concurrent-ruby (1.1.9)
|
18
28
|
crack (0.4.5)
|
19
29
|
rexml
|
20
30
|
diff-lcs (1.4.4)
|
21
31
|
finest-builder (1.0.1)
|
22
32
|
hashdiff (1.0.1)
|
23
|
-
httparty (0.
|
33
|
+
httparty (0.20.0)
|
24
34
|
mime-types (~> 3.0)
|
25
35
|
multi_xml (>= 0.5.2)
|
36
|
+
i18n (1.8.10)
|
37
|
+
concurrent-ruby (~> 1.0)
|
26
38
|
mime-types (3.3.1)
|
27
39
|
mime-types-data (~> 3.2015)
|
28
|
-
mime-types-data (3.2021.
|
40
|
+
mime-types-data (3.2021.0901)
|
41
|
+
minitest (5.14.4)
|
29
42
|
multi_xml (0.6.0)
|
30
|
-
parallel (1.
|
43
|
+
parallel (1.21.0)
|
31
44
|
parser (3.0.2.0)
|
32
45
|
ast (~> 2.4.1)
|
33
46
|
public_suffix (4.0.6)
|
@@ -48,24 +61,27 @@ GEM
|
|
48
61
|
diff-lcs (>= 1.2.0, < 2.0)
|
49
62
|
rspec-support (~> 3.10.0)
|
50
63
|
rspec-support (3.10.2)
|
51
|
-
rubocop (1.
|
64
|
+
rubocop (1.22.3)
|
52
65
|
parallel (~> 1.10)
|
53
66
|
parser (>= 3.0.0.0)
|
54
67
|
rainbow (>= 2.2.2, < 4.0)
|
55
68
|
regexp_parser (>= 1.8, < 3.0)
|
56
69
|
rexml
|
57
|
-
rubocop-ast (>= 1.
|
70
|
+
rubocop-ast (>= 1.12.0, < 2.0)
|
58
71
|
ruby-progressbar (~> 1.7)
|
59
72
|
unicode-display_width (>= 1.4.0, < 3.0)
|
60
|
-
rubocop-ast (1.
|
73
|
+
rubocop-ast (1.12.0)
|
61
74
|
parser (>= 3.0.1.1)
|
62
75
|
ruby-progressbar (1.11.0)
|
63
|
-
|
76
|
+
tzinfo (2.0.4)
|
77
|
+
concurrent-ruby (~> 1.0)
|
78
|
+
unicode-display_width (2.1.0)
|
64
79
|
vcr (6.0.0)
|
65
80
|
webmock (3.14.0)
|
66
81
|
addressable (>= 2.8.0)
|
67
82
|
crack (>= 0.3.2)
|
68
83
|
hashdiff (>= 0.4.0, < 2.0.0)
|
84
|
+
zeitwerk (2.5.1)
|
69
85
|
|
70
86
|
PLATFORMS
|
71
87
|
x86_64-darwin-20
|
@@ -28,11 +28,11 @@ http_interactions:
|
|
28
28
|
- SAMEORIGIN
|
29
29
|
- SAMEORIGIN
|
30
30
|
Date:
|
31
|
-
-
|
31
|
+
- Fri, 29 Oct 2021 13:37:41 GMT
|
32
32
|
Content-Length:
|
33
33
|
- '0'
|
34
34
|
body:
|
35
35
|
encoding: UTF-8
|
36
36
|
string: ''
|
37
|
-
recorded_at:
|
37
|
+
recorded_at: Fri, 29 Oct 2021 13:37:39 GMT
|
38
38
|
recorded_with: VCR 6.0.0
|
@@ -30,11 +30,11 @@ http_interactions:
|
|
30
30
|
- SAMEORIGIN
|
31
31
|
- SAMEORIGIN
|
32
32
|
Date:
|
33
|
-
-
|
33
|
+
- Fri, 29 Oct 2021 13:37:41 GMT
|
34
34
|
Content-Length:
|
35
35
|
- '527'
|
36
36
|
body:
|
37
37
|
encoding: UTF-8
|
38
38
|
string: 'Status Code: 404; Not Found '
|
39
|
-
recorded_at:
|
39
|
+
recorded_at: Fri, 29 Oct 2021 13:37:39 GMT
|
40
40
|
recorded_with: VCR 6.0.0
|
@@ -28,11 +28,11 @@ http_interactions:
|
|
28
28
|
- SAMEORIGIN
|
29
29
|
- SAMEORIGIN
|
30
30
|
Date:
|
31
|
-
-
|
31
|
+
- Fri, 29 Oct 2021 13:37:42 GMT
|
32
32
|
Content-Length:
|
33
33
|
- '0'
|
34
34
|
body:
|
35
35
|
encoding: UTF-8
|
36
36
|
string: ''
|
37
|
-
recorded_at:
|
37
|
+
recorded_at: Fri, 29 Oct 2021 13:37:40 GMT
|
38
38
|
recorded_with: VCR 6.0.0
|
@@ -5,7 +5,7 @@ http_interactions:
|
|
5
5
|
uri: https://rzilient.online.miradore.com/API/v2/Device/1/location
|
6
6
|
body:
|
7
7
|
encoding: UTF-8
|
8
|
-
string:
|
8
|
+
string: "{}"
|
9
9
|
headers:
|
10
10
|
Content-Type:
|
11
11
|
- application/json
|
@@ -30,11 +30,11 @@ http_interactions:
|
|
30
30
|
- SAMEORIGIN
|
31
31
|
- SAMEORIGIN
|
32
32
|
Date:
|
33
|
-
-
|
33
|
+
- Fri, 29 Oct 2021 13:37:42 GMT
|
34
34
|
Content-Length:
|
35
35
|
- '172'
|
36
36
|
body:
|
37
37
|
encoding: UTF-8
|
38
|
-
string: '{"assetID":1,"latitude":"41.
|
39
|
-
recorded_at:
|
38
|
+
string: '{"assetID":1,"latitude":"41.37585082964286","longitude":"2.1679796580995383","fixTime":"2021-10-22T16:37:22","streetAddress":null,"zipCode":null,"city":null,"country":null}'
|
39
|
+
recorded_at: Fri, 29 Oct 2021 13:37:40 GMT
|
40
40
|
recorded_with: VCR 6.0.0
|
@@ -2,7 +2,7 @@
|
|
2
2
|
http_interactions:
|
3
3
|
- request:
|
4
4
|
method: get
|
5
|
-
uri: https://rzilient.online.miradore.com/API/Device?auth
|
5
|
+
uri: https://rzilient.online.miradore.com/API/Device?auth=&filters=(InvDevice.SerialNumber%20eq%20C76TLUEMHG7F)&select=*,*
|
6
6
|
body:
|
7
7
|
encoding: US-ASCII
|
8
8
|
string: ''
|
@@ -11,6 +11,8 @@ http_interactions:
|
|
11
11
|
- application/json
|
12
12
|
Accept:
|
13
13
|
- application/json
|
14
|
+
X-Api-Key:
|
15
|
+
-
|
14
16
|
Accept-Encoding:
|
15
17
|
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
16
18
|
User-Agent:
|
@@ -37,14 +39,14 @@ http_interactions:
|
|
37
39
|
X-Frame-Options:
|
38
40
|
- SAMEORIGIN
|
39
41
|
Date:
|
40
|
-
-
|
42
|
+
- Fri, 29 Oct 2021 13:37:41 GMT
|
41
43
|
Content-Length:
|
42
|
-
- '
|
44
|
+
- '561'
|
43
45
|
body:
|
44
46
|
encoding: ASCII-8BIT
|
45
|
-
string: <?xml version="1.0" encoding="utf-8"?><Content><Items count="1"><Device><ID>1</ID><User><ID>1</ID></User><Category><ID>1</ID></Category><Enrollment><ID>5</ID><User><ID>2</ID></User></Enrollment><OnlineStatus>Active</OnlineStatus><LastReported>
|
46
|
-
|
47
|
-
14.4.2</OSVersionName><Status>AutoGenerated</Status><Created>22.04.2021
|
48
|
-
13:
|
49
|
-
recorded_at:
|
47
|
+
string: <?xml version="1.0" encoding="utf-8"?><Content><Items count="1"><Device><ID>1</ID><User><ID>1</ID></User><Category><ID>1</ID></Category><Enrollment><ID>5</ID><User><ID>2</ID></User></Enrollment><OnlineStatus>Active</OnlineStatus><LastReported>29.10.2021
|
48
|
+
13:34:19</LastReported><LastReportedDays>0</LastReportedDays><LastReportedHours>0</LastReportedHours><LastReportedMinutes>3</LastReportedMinutes><IPAddress>46.25.75.22</IPAddress><MACAddress>d4:dc:cd:d6:09:be</MACAddress><Platform>iOS</Platform><OSVersionName>iOS
|
49
|
+
14.4.2</OSVersionName><Client><ID>1</ID></Client><ConfigProfileDeployments><ConfigProfileDeployment><ID>2</ID><ConfigProfile><ID>6</ID></ConfigProfile></ConfigProfileDeployment></ConfigProfileDeployments><Status>AutoGenerated</Status><Created>22.04.2021
|
50
|
+
06:33:20</Created><Modified>22.10.2021 13:09:20</Modified><Source>MiradoreOnline</Source></Device></Items></Content>
|
51
|
+
recorded_at: Fri, 29 Oct 2021 13:37:39 GMT
|
50
52
|
recorded_with: VCR 6.0.0
|
@@ -2,7 +2,7 @@
|
|
2
2
|
http_interactions:
|
3
3
|
- request:
|
4
4
|
method: get
|
5
|
-
uri: https://rzilient.online.miradore.com/API/Device?auth=&filters=&select
|
5
|
+
uri: https://rzilient.online.miradore.com/API/Device?auth=&filters=&select=*,InvDevice.*
|
6
6
|
body:
|
7
7
|
encoding: US-ASCII
|
8
8
|
string: ''
|
@@ -37,12 +37,12 @@ http_interactions:
|
|
37
37
|
X-Frame-Options:
|
38
38
|
- SAMEORIGIN
|
39
39
|
Date:
|
40
|
-
-
|
40
|
+
- Fri, 29 Oct 2021 13:37:40 GMT
|
41
41
|
Content-Length:
|
42
|
-
- '
|
42
|
+
- '5116'
|
43
43
|
body:
|
44
44
|
encoding: ASCII-8BIT
|
45
45
|
string: !binary |-
|
46
|
-
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48Q29udGVudD48SXRlbXMgY291bnQ9IjYiPjxEZXZpY2U+PElEPjE8L0lEPjxJbnZEZXZpY2U+PE1vZGVsPkFwcGxlIGlQaG9uZTksMzwvTW9kZWw+PE1hbnVmYWN0dXJlcj5BcHBsZTwvTWFudWZhY3R1cmVyPjxQcm9kdWN0TmFtZT5pUGhvbmU5LDM8L1Byb2R1Y3ROYW1lPjxTb2Z0d2FyZVZlcnNpb24+aU9TIDE0LjQuMjwvU29mdHdhcmVWZXJzaW9uPjxTZXJpYWxOdW1iZXI+Qzc2VExVRU1IRzdGPC9TZXJpYWxOdW1iZXI+PElNRUk+MzU1MzMyMDg4NDMzMzYwPC9JTUVJPjxXaUZpTUFDPmQ0OmRjOmNkOmQ2OjA5OmJlPC9XaUZpTUFDPjxCbHVldG9vdGhNQUM+ZDQ6ZGM6Y2Q6ZDY6MDk6ZTE8L0JsdWV0b290aE1BQz48VURJRD44NGM4N2E5ZWRmMGM1NzcyMjdiOTZkY2JlN2JmNDU3MTNjMzU4ZWRlPC9VRElEPjxTdG9yZUFjY291bnRBY3RpdmU+VHJ1ZTwvU3RvcmVBY2NvdW50QWN0aXZlPjxEb05vdERpc3R1cmJBY3RpdmU+RmFsc2U8L0RvTm90RGlzdHVyYkFjdGl2ZT48RGV2aWNlVHlwZT5NTjhYMlFMPC9EZXZpY2VUeXBlPjxFQVNJZGVudGlmaWVyPkxVMVIxSjVWMEg3M0pDVEVKMkE3MzJMSThHPC9FQVNJZGVudGlmaWVyPjxEZXZpY2VOYW1lPmlQaG9uZSBkZTogRWR1YXJkPC9EZXZpY2VOYW1lPjxJbnZlbnRvcnlUaW1lPjE2LjA4LjIwMjEgMTI6NTk6MjA8L0ludmVudG9yeVRpbWU+PC9JbnZEZXZpY2U+PC9EZXZpY2U+PERldmljZT48SUQ+MjwvSUQ+PEludkRldmljZT48TW9kZWw+QVNVU1RlSyBDT01QVVRFUiBJTkMuIFZpdm9Cb29rX0FTVVNMYXB0b3AgWDcxMkZBX1g3MTJGQTwvTW9kZWw+PE1hbnVmYWN0dXJlcj5BU1VTVGVLIENPTVBVVEVSIElOQy48L01hbnVmYWN0dXJlcj48UHJvZHVjdE5hbWU+Vml2b0Jvb2tfQVNVU0xhcHRvcCBYNzEyRkFfWDcxMkZBPC9Qcm9kdWN0TmFtZT48U29mdHdhcmVWZXJzaW9uPldpbmRvd3MgMTAgSG9tZSAoMjBIMik8L1NvZnR3YXJlVmVyc2lvbj48U2VyaWFsTnVtYmVyPks4TjBDVjA3MzE1MjMzQjwvU2VyaWFsTnVtYmVyPjxEZXZpY2VOYW1lPlFVRU5USU48L0RldmljZU5hbWU+PEludmVudG9yeVRpbWU+MTYuMDguMjAyMSAxMjo1MTozODwvSW52ZW50b3J5VGltZT48L0ludkRldmljZT48L0RldmljZT48RGV2aWNlPjxJRD4zPC9JRD48SW52RGV2aWNlPjxNb2RlbD5BcHBsZSBNYWNCb29rUHJvMTQsMzwvTW9kZWw+PE1hbnVmYWN0dXJlcj5BcHBsZTwvTWFudWZhY3R1cmVyPjxQcm9kdWN0TmFtZT5NYWNCb29rUHJvMTQsMzwvUHJvZHVjdE5hbWU+PFNvZnR3YXJlVmVyc2lvbj5tYWNPUyAxMS4zLjE8L1NvZnR3YXJlVmVyc2lvbj48U2VyaWFsTnVtYmVyPkMwMldXMUY1SFRENTwvU2VyaWFsTnVtYmVyPjxXaUZpTUFDPmYwOjE4Ojk4OjI0OmI0OjY2PC9XaUZpTUFDPjxVRElEPjExREI2QjNBLTMzNkUtNTM3Ny05OUU3LTQ2M0UxRTAyMTgxMTwvVURJRD48RGV2aWNlVHlwZT5NYWNCb29rUHJvMTQsMzwvRGV2aWNlVHlwZT48RGV2aWNlTmFtZT5NYWNCb29rIFBybyBkZSBFZHVhcmQ8L0RldmljZU5hbWU+PEludmVudG9yeVRpbWU+MTYuMDguMjAyMSAwNzoxMTo1ODwvSW52ZW50b3J5VGltZT48L0ludkRldmljZT48L0RldmljZT48RGV2aWNlPjxJRD40PC9JRD48SW52RGV2aWNlPjxNb2RlbD5MRU5PVk8gMjBNNTAwMTNGUjwvTW9kZWw+PE1hbnVmYWN0dXJlcj5MRU5PVk88L01hbnVmYWN0dXJlcj48UHJvZHVjdE5hbWU+MjBNNTAwMTNGUjwvUHJvZHVjdE5hbWU+PFNvZnR3YXJlVmVyc2lvbj5XaW5kb3dzIDEwIFBybyAoMTkwOSk8L1NvZnR3YXJlVmVyc2lvbj48U2VyaWFsTnVtYmVyPlI5MFFFTEVWPC9TZXJpYWxOdW1iZXI+PERldmljZU5hbWU+UEMxMzwvRGV2aWNlTmFtZT48SW52ZW50b3J5VGltZT4xNi4wOC4yMDIxIDA2OjE2OjU4PC9JbnZlbnRvcnlUaW1lPjwvSW52RGV2aWNlPjwvRGV2aWNlPjxEZXZpY2U+PElEPjU8L0lEPjxJbnZEZXZpY2U+PE1vZGVsPkFwcGxlIE1hY0Jvb2tQcm8xNCwxPC9Nb2RlbD48TWFudWZhY3R1cmVyPkFwcGxlPC9NYW51ZmFjdHVyZXI+PFByb2R1Y3ROYW1lPk1hY0Jvb2tQcm8xNCwxPC9Qcm9kdWN0TmFtZT48U29mdHdhcmVWZXJzaW9uPm1hY09TIDExLjQ8L1NvZnR3YXJlVmVyc2lvbj48U2VyaWFsTnVtYmVyPkZWRlhKMDgzSjlLMjwvU2VyaWFsTnVtYmVyPjxXaUZpTUFDPmYwOjE4Ojk4OjFlOjYwOmVjPC9XaUZpTUFDPjxCbHVldG9vdGhNQUM+ZjAtMTgtOTgtNjYtZTktZTI8L0JsdWV0b290aE1BQz48VURJRD5FODhEMUI4NC04MkYxLTU1NjQtQkE0MC0yNTMxNEVFNDU0RjI8L1VESUQ+PFN0b3JlQWNjb3VudEFjdGl2ZT5GYWxzZTwvU3RvcmVBY2NvdW50QWN0aXZlPjxEZXZpY2VUeXBlPk1hY0Jvb2tQcm8xNCwxPC9EZXZpY2VUeXBlPjxEZXZpY2VOYW1lPkFETUlO4oCZcyBNYWNCb29rIFBybzwvRGV2aWNlTmFtZT48SW52ZW50b3J5VGltZT4xNi4wOC4yMDIxIDA1OjM2OjIyPC9JbnZlbnRvcnlUaW1lPjwvSW52RGV2aWNlPjwvRGV2aWNlPjxEZXZpY2U+PElEPjY8L0lEPjxJbnZEZXZpY2U+PE1vZGVsPkFwcGxlIE1hY0Jvb2tBaXI3LDI8L01vZGVsPjxNYW51ZmFjdHVyZXI+QXBwbGU8L01hbnVmYWN0dXJlcj48UHJvZHVjdE5hbWU+TWFjQm9va0FpcjcsMjwvUHJvZHVjdE5hbWU+PFNvZnR3YXJlVmVyc2lvbj5tYWNPUyAxMS40PC9Tb2Z0d2FyZVZlcnNpb24+PFNlcmlhbE51bWJlcj5HQ0NWMzJWVUoxV0s8L1NlcmlhbE51bWJlcj48V2lGaU1BQz4zMDozNTphZDpiNTo1ZTpiZTwvV2lGaU1BQz48Qmx1ZXRvb3RoTUFDPjMwLTM1LWFkLWI1LTVlLWJmPC9CbHVldG9vdGhNQUM+PFVESUQ+Q0U5RTlGRkItNUFFMS01MTYxLTg3Q0ItQTFCNEVBQjYyQTRCPC9VRElEPjxTdG9yZUFjY291bnRBY3RpdmU+RmFsc2U8L1N0b3JlQWNjb3VudEFjdGl2ZT48RGV2aWNlVHlwZT5NYWNCb29rQWlyNywyPC9EZXZpY2VUeXBlPjxEZXZpY2VOYW1lPk1hY0Jvb2sgQWlyIGRlIE5pZGFhPC9EZXZpY2VOYW1lPjxJbnZlbnRvcnlUaW1lPjI2LjA3LjIwMjEgMDc6MjU6NTA8L0ludmVudG9yeVRpbWU+PC9JbnZEZXZpY2U+PC9EZXZpY2U+PC9JdGVtcz48L0NvbnRlbnQ+
|
47
|
-
recorded_at:
|
46
|
+
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48Q29udGVudD48SXRlbXMgY291bnQ9IjE1Ij48RGV2aWNlPjxJRD4xPC9JRD48VXNlcj48SUQ+MTwvSUQ+PC9Vc2VyPjxDYXRlZ29yeT48SUQ+MTwvSUQ+PC9DYXRlZ29yeT48RW5yb2xsbWVudD48SUQ+NTwvSUQ+PFVzZXI+PElEPjI8L0lEPjwvVXNlcj48L0Vucm9sbG1lbnQ+PE9ubGluZVN0YXR1cz5BY3RpdmU8L09ubGluZVN0YXR1cz48TGFzdFJlcG9ydGVkPjI5LjEwLjIwMjEgMTM6MzQ6MTk8L0xhc3RSZXBvcnRlZD48TGFzdFJlcG9ydGVkRGF5cz4wPC9MYXN0UmVwb3J0ZWREYXlzPjxMYXN0UmVwb3J0ZWRIb3Vycz4wPC9MYXN0UmVwb3J0ZWRIb3Vycz48TGFzdFJlcG9ydGVkTWludXRlcz4zPC9MYXN0UmVwb3J0ZWRNaW51dGVzPjxJUEFkZHJlc3M+NDYuMjUuNzUuMjI8L0lQQWRkcmVzcz48TUFDQWRkcmVzcz5kNDpkYzpjZDpkNjowOTpiZTwvTUFDQWRkcmVzcz48UGxhdGZvcm0+aU9TPC9QbGF0Zm9ybT48T1NWZXJzaW9uTmFtZT5pT1MgMTQuNC4yPC9PU1ZlcnNpb25OYW1lPjxDbGllbnQ+PElEPjE8L0lEPjwvQ2xpZW50PjxDb25maWdQcm9maWxlRGVwbG95bWVudHM+PENvbmZpZ1Byb2ZpbGVEZXBsb3ltZW50PjxJRD4yPC9JRD48Q29uZmlnUHJvZmlsZT48SUQ+NjwvSUQ+PC9Db25maWdQcm9maWxlPjwvQ29uZmlnUHJvZmlsZURlcGxveW1lbnQ+PC9Db25maWdQcm9maWxlRGVwbG95bWVudHM+PFN0YXR1cz5BdXRvR2VuZXJhdGVkPC9TdGF0dXM+PENyZWF0ZWQ+MjIuMDQuMjAyMSAwNjozMzoyMDwvQ3JlYXRlZD48TW9kaWZpZWQ+MjIuMTAuMjAyMSAxMzowOToyMDwvTW9kaWZpZWQ+PFNvdXJjZT5NaXJhZG9yZU9ubGluZTwvU291cmNlPjxJbnZEZXZpY2U+PE1vZGVsPkFwcGxlIGlQaG9uZTksMzwvTW9kZWw+PE1hbnVmYWN0dXJlcj5BcHBsZTwvTWFudWZhY3R1cmVyPjxNYXJrZXRpbmdOYW1lPmlQaG9uZSA3PC9NYXJrZXRpbmdOYW1lPjxQcm9kdWN0TmFtZT5pUGhvbmU5LDM8L1Byb2R1Y3ROYW1lPjxTb2Z0d2FyZVZlcnNpb24+aU9TIDE0LjQuMjwvU29mdHdhcmVWZXJzaW9uPjxTZXJpYWxOdW1iZXI+Qzc2VExVRU1IRzdGPC9TZXJpYWxOdW1iZXI+PElNRUk+MzU1MzMyMDg4NDMzMzYwPC9JTUVJPjxXaUZpTUFDPmQ0OmRjOmNkOmQ2OjA5OmJlPC9XaUZpTUFDPjxCbHVldG9vdGhNQUM+ZDQ6ZGM6Y2Q6ZDY6MDk6ZTE8L0JsdWV0b290aE1BQz48VURJRD44NGM4N2E5ZWRmMGM1NzcyMjdiOTZkY2JlN2JmNDU3MTNjMzU4ZWRlPC9VRElEPjxTdG9yZUFjY291bnRBY3RpdmU+VHJ1ZTwvU3RvcmVBY2NvdW50QWN0aXZlPjxEb05vdERpc3R1cmJBY3RpdmU+RmFsc2U8L0RvTm90RGlzdHVyYkFjdGl2ZT48RGV2aWNlVHlwZT5NTjhYMlFMPC9EZXZpY2VUeXBlPjxFQVNJZGVudGlmaWVyPkxVMVIxSjVWMEg3M0pDVEVKMkE3MzJMSThHPC9FQVNJZGVudGlmaWVyPjxEZXZpY2VOYW1lPmlQaG9uZSBkZTogRWR1YXJkPC9EZXZpY2VOYW1lPjxJbnZlbnRvcnlUaW1lPjI4LjEwLjIwMjEgMTc6NDg6MjA8L0ludmVudG9yeVRpbWU+PC9JbnZEZXZpY2U+PC9EZXZpY2U+PERldmljZT48SUQ+MjwvSUQ+PFVzZXI+PElEPjM8L0lEPjwvVXNlcj48RW5yb2xsbWVudD48SUQ+OTwvSUQ+PFVzZXI+PElEPjM8L0lEPjwvVXNlcj48L0Vucm9sbG1lbnQ+PE9ubGluZVN0YXR1cz5BY3RpdmU8L09ubGluZVN0YXR1cz48TGFzdFJlcG9ydGVkPjI5LjEwLjIwMjEgMDc6NTU6NTc8L0xhc3RSZXBvcnRlZD48TGFzdFJlcG9ydGVkRGF5cz4wPC9MYXN0UmVwb3J0ZWREYXlzPjxMYXN0UmVwb3J0ZWRIb3Vycz42PC9MYXN0UmVwb3J0ZWRIb3Vycz48TGFzdFJlcG9ydGVkTWludXRlcz4zNDI8L0xhc3RSZXBvcnRlZE1pbnV0ZXM+PElQQWRkcmVzcz4xNDkuNjIuMTU5LjI0NDwvSVBBZGRyZXNzPjxNQUNBZGRyZXNzPkRDOjcxOjk2OkZCOjhBOjU2PC9NQUNBZGRyZXNzPjxQbGF0Zm9ybT5XaW5kb3dzRGVza3RvcDwvUGxhdGZvcm0+PE9TVmVyc2lvbk5hbWU+V2luZG93cyAxMCBIb21lICgyMEgyKTwvT1NWZXJzaW9uTmFtZT48Q2xpZW50PjxJRD4yPC9JRD48L0NsaWVudD48Q29uZmlnUHJvZmlsZURlcGxveW1lbnRzIC8+PFN0YXR1cz5BdXRvR2VuZXJhdGVkPC9TdGF0dXM+PENyZWF0ZWQ+MjkuMDQuMjAyMSAxMzowMTowNDwvQ3JlYXRlZD48TW9kaWZpZWQ+MjguMDkuMjAyMSAxNTozMjoxMDwvTW9kaWZpZWQ+PFNvdXJjZT5NaXJhZG9yZU9ubGluZTwvU291cmNlPjxJbnZEZXZpY2U+PE1vZGVsPkFTVVNUZUsgQ09NUFVURVIgSU5DLiBWaXZvQm9va19BU1VTTGFwdG9wIFg3MTJGQV9YNzEyRkE8L01vZGVsPjxNYW51ZmFjdHVyZXI+QVNVU1RlSyBDT01QVVRFUiBJTkMuPC9NYW51ZmFjdHVyZXI+PFByb2R1Y3ROYW1lPlZpdm9Cb29rX0FTVVNMYXB0b3AgWDcxMkZBX1g3MTJGQTwvUHJvZHVjdE5hbWU+PFNvZnR3YXJlVmVyc2lvbj5XaW5kb3dzIDEwIEhvbWUgKDIwSDIpPC9Tb2Z0d2FyZVZlcnNpb24+PFNlcmlhbE51bWJlcj5LOE4wQ1YwNzMxNTIzM0I8L1NlcmlhbE51bWJlcj48RGV2aWNlTmFtZT5RVUVOVElOPC9EZXZpY2VOYW1lPjxJbnZlbnRvcnlUaW1lPjI4LjEwLjIwMjEgMDk6MDU6Mzg8L0ludmVudG9yeVRpbWU+PC9JbnZEZXZpY2U+PC9EZXZpY2U+PERldmljZT48SUQ+MzwvSUQ+PFVzZXI+PElEPjIwPC9JRD48L1VzZXI+PE9ubGluZVN0YXR1cz5BY3RpdmU8L09ubGluZVN0YXR1cz48TGFzdFJlcG9ydGVkPjI5LjEwLjIwMjEgMTM6MjY6NDc8L0xhc3RSZXBvcnRlZD48TGFzdFJlcG9ydGVkRGF5cz4wPC9MYXN0UmVwb3J0ZWREYXlzPjxMYXN0UmVwb3J0ZWRIb3Vycz4wPC9MYXN0UmVwb3J0ZWRIb3Vycz48TGFzdFJlcG9ydGVkTWludXRlcz4xMTwvTGFzdFJlcG9ydGVkTWludXRlcz48SVBBZGRyZXNzPjM3LjIyMy4zOS43NzwvSVBBZGRyZXNzPjxNQUNBZGRyZXNzPmYwOjE4Ojk4OjI0OmI0OjY2PC9NQUNBZGRyZXNzPjxQbGF0Zm9ybT5tYWNPUzwvUGxhdGZvcm0+PE9TVmVyc2lvbk5hbWU+bWFjT1MgMTEuNjwvT1NWZXJzaW9uTmFtZT48Q2xpZW50PjxJRD4zPC9JRD48L0NsaWVudD48Q29uZmlnUHJvZmlsZURlcGxveW1lbnRzIC8+PFN0YXR1cz5BdXRvR2VuZXJhdGVkPC9TdGF0dXM+PENyZWF0ZWQ+MTQuMDUuMjAyMSAxMToxNzoxMjwvQ3JlYXRlZD48TW9kaWZpZWQ+MjIuMTAuMjAyMSAxMTo1MDoyNDwvTW9kaWZpZWQ+PFNvdXJjZT5NaXJhZG9yZU9ubGluZTwvU291cmNlPjxJbnZEZXZpY2U+PE1vZGVsPkFwcGxlIE1hY0Jvb2tQcm8xNCwzPC9Nb2RlbD48TWFudWZhY3R1cmVyPkFwcGxlPC9NYW51ZmFjdHVyZXI+PFByb2R1Y3ROYW1lPk1hY0Jvb2tQcm8xNCwzPC9Qcm9kdWN0TmFtZT48U29mdHdhcmVWZXJzaW9uPm1hY09TIDExLjY8L1NvZnR3YXJlVmVyc2lvbj48U2VyaWFsTnVtYmVyPkMwMldXMUY1SFRENTwvU2VyaWFsTnVtYmVyPjxXaUZpTUFDPmYwOjE4Ojk4OjI0OmI0OjY2PC9XaUZpTUFDPjxVRElEPjExREI2QjNBLTMzNkUtNTM3Ny05OUU3LTQ2M0UxRTAyMTgxMTwvVURJRD48RGV2aWNlVHlwZT5NYWNCb29rUHJvMTQsMzwvRGV2aWNlVHlwZT48RGV2aWNlTmFtZT5NYWNCb29rIFBybyBkZSBFZHVhcmQ8L0RldmljZU5hbWU+PEludmVudG9yeVRpbWU+MjkuMTAuMjAyMSAwNzoyNDozMjwvSW52ZW50b3J5VGltZT48L0ludkRldmljZT48L0RldmljZT48RGV2aWNlPjxJRD40PC9JRD48VXNlcj48SUQ+NjwvSUQ+PC9Vc2VyPjxPcmdhbml6YXRpb24+PElEPjE8L0lEPjwvT3JnYW5pemF0aW9uPjxFbnJvbGxtZW50PjxJRD4xMjwvSUQ+PC9FbnJvbGxtZW50PjxPbmxpbmVTdGF0dXM+VW5tYW5hZ2VkPC9PbmxpbmVTdGF0dXM+PExhc3RSZXBvcnRlZD4yOC4wOS4yMDIxIDA5OjQ0OjA4PC9MYXN0UmVwb3J0ZWQ+PExhc3RSZXBvcnRlZERheXM+MzE8L0xhc3RSZXBvcnRlZERheXM+PExhc3RSZXBvcnRlZEhvdXJzPjc0ODwvTGFzdFJlcG9ydGVkSG91cnM+PExhc3RSZXBvcnRlZE1pbnV0ZXM+NDQ4NzM8L0xhc3RSZXBvcnRlZE1pbnV0ZXM+PElQQWRkcmVzcz45Mi4xNTQuMTQuMTg4PC9JUEFkZHJlc3M+PExvY2FsSVBBZGRyZXNzPjE5Mi4xNjguMS4zNjwvTG9jYWxJUEFkZHJlc3M+PE1BQ0FkZHJlc3M+RDQ6NkQ6NkQ6NjU6MEM6REU8L01BQ0FkZHJlc3M+PFBsYXRmb3JtPldpbmRvd3NEZXNrdG9wPC9QbGF0Zm9ybT48T1NWZXJzaW9uTmFtZT5XaW5kb3dzIDEwIFByb2Zlc3Npb25uZWwgKDE5MDkpPC9PU1ZlcnNpb25OYW1lPjxDbGllbnQ+PElEPjQ8L0lEPjwvQ2xpZW50PjxDb25maWdQcm9maWxlRGVwbG95bWVudHMgLz48U3RhdHVzPkRlbGV0ZWQ8L1N0YXR1cz48Q3JlYXRlZD4xNy4wNS4yMDIxIDA4OjE2OjExPC9DcmVhdGVkPjxNb2RpZmllZD4yNS4xMC4yMDIxIDE1OjUwOjMwPC9Nb2RpZmllZD48U291cmNlPk1pcmFkb3JlT25saW5lPC9Tb3VyY2U+PEludkRldmljZT48TW9kZWw+TEVOT1ZPIDIwTTUwMDEzRlI8L01vZGVsPjxNYW51ZmFjdHVyZXI+TEVOT1ZPPC9NYW51ZmFjdHVyZXI+PFByb2R1Y3ROYW1lPjIwTTUwMDEzRlI8L1Byb2R1Y3ROYW1lPjxTb2Z0d2FyZVZlcnNpb24+V2luZG93cyAxMCBQcm9mZXNzaW9ubmVsICgxOTA5KTwvU29mdHdhcmVWZXJzaW9uPjxTZXJpYWxOdW1iZXI+UjkwUUVMRVY8L1NlcmlhbE51bWJlcj48RGV2aWNlTmFtZT5QQzEzPC9EZXZpY2VOYW1lPjxJbnZlbnRvcnlUaW1lPjI4LjA5LjIwMjEgMDY6Mzk6MjU8L0ludmVudG9yeVRpbWU+PC9JbnZEZXZpY2U+PC9EZXZpY2U+PERldmljZT48SUQ+NTwvSUQ+PFVzZXI+PElEPjIxPC9JRD48L1VzZXI+PEVucm9sbG1lbnQ+PElEPjE1PC9JRD48VXNlcj48SUQ+OTwvSUQ+PC9Vc2VyPjwvRW5yb2xsbWVudD48T25saW5lU3RhdHVzPlVua25vd248L09ubGluZVN0YXR1cz48TGFzdFJlcG9ydGVkPjExLjEwLjIwMjEgMTU6NDE6NDY8L0xhc3RSZXBvcnRlZD48TGFzdFJlcG9ydGVkRGF5cz4xODwvTGFzdFJlcG9ydGVkRGF5cz48TGFzdFJlcG9ydGVkSG91cnM+NDMwPC9MYXN0UmVwb3J0ZWRIb3Vycz48TGFzdFJlcG9ydGVkTWludXRlcz4yNTc5NjwvTGFzdFJlcG9ydGVkTWludXRlcz48SVBBZGRyZXNzPjE4NS4yMTIuMjEuNjM8L0lQQWRkcmVzcz48TUFDQWRkcmVzcz5mMDoxODo5ODoxZTo2MDplYzwvTUFDQWRkcmVzcz48UGxhdGZvcm0+bWFjT1M8L1BsYXRmb3JtPjxPU1ZlcnNpb25OYW1lPm1hY09TIDExLjY8L09TVmVyc2lvbk5hbWU+PENsaWVudD48SUQ+NTwvSUQ+PC9DbGllbnQ+PENvbmZpZ1Byb2ZpbGVEZXBsb3ltZW50cyAvPjxTdGF0dXM+QXV0b0dlbmVyYXRlZDwvU3RhdHVzPjxDcmVhdGVkPjI2LjA1LjIwMjEgMDg6MjE6MjM8L0NyZWF0ZWQ+PE1vZGlmaWVkPjAxLjEwLjIwMjEgMTY6MzM6MTA8L01vZGlmaWVkPjxTb3VyY2U+TWlyYWRvcmVPbmxpbmU8L1NvdXJjZT48SW52RGV2aWNlPjxNb2RlbD5BcHBsZSBNYWNCb29rUHJvMTQsMTwvTW9kZWw+PE1hbnVmYWN0dXJlcj5BcHBsZTwvTWFudWZhY3R1cmVyPjxQcm9kdWN0TmFtZT5NYWNCb29rUHJvMTQsMTwvUHJvZHVjdE5hbWU+PFNvZnR3YXJlVmVyc2lvbj5tYWNPUyAxMS42PC9Tb2Z0d2FyZVZlcnNpb24+PFNlcmlhbE51bWJlcj5GVkZYSjA4M0o5SzI8L1NlcmlhbE51bWJlcj48V2lGaU1BQz5mMDoxODo5ODoxZTo2MDplYzwvV2lGaU1BQz48Qmx1ZXRvb3RoTUFDPmYwLTE4LTk4LTY2LWU5LWUyPC9CbHVldG9vdGhNQUM+PFVESUQ+RTg4RDFCODQtODJGMS01NTY0LUJBNDAtMjUzMTRFRTQ1NEYyPC9VRElEPjxEZXZpY2VUeXBlPk1hY0Jvb2tQcm8xNCwxPC9EZXZpY2VUeXBlPjxEZXZpY2VOYW1lPkFETUlO4oCZcyBNYWNCb29rIFBybzwvRGV2aWNlTmFtZT48SW52ZW50b3J5VGltZT4xMS4xMC4yMDIxIDEzOjAzOjIzPC9JbnZlbnRvcnlUaW1lPjwvSW52RGV2aWNlPjwvRGV2aWNlPjxEZXZpY2U+PElEPjY8L0lEPjxVc2VyPjxJRD4xNjwvSUQ+PC9Vc2VyPjxFbnJvbGxtZW50PjxJRD4yODwvSUQ+PFVzZXI+PElEPjIyPC9JRD48L1VzZXI+PC9FbnJvbGxtZW50PjxPbmxpbmVTdGF0dXM+VW5tYW5hZ2VkPC9PbmxpbmVTdGF0dXM+PExhc3RSZXBvcnRlZD4wNS4xMC4yMDIxIDA4OjU3OjE0PC9MYXN0UmVwb3J0ZWQ+PExhc3RSZXBvcnRlZERheXM+MjQ8L0xhc3RSZXBvcnRlZERheXM+PExhc3RSZXBvcnRlZEhvdXJzPjU4MTwvTGFzdFJlcG9ydGVkSG91cnM+PExhc3RSZXBvcnRlZE1pbnV0ZXM+MzQ4NDA8L0xhc3RSZXBvcnRlZE1pbnV0ZXM+PElQQWRkcmVzcz4xODUuMjEyLjIxLjYzPC9JUEFkZHJlc3M+PE1BQ0FkZHJlc3M+MzA6MzU6YWQ6YjU6NWU6YmU8L01BQ0FkZHJlc3M+PFBsYXRmb3JtPm1hY09TPC9QbGF0Zm9ybT48T1NWZXJzaW9uTmFtZT5tYWNPUyAxMS42PC9PU1ZlcnNpb25OYW1lPjxDbGllbnQ+PElEPjY8L0lEPjwvQ2xpZW50PjxDb25maWdQcm9maWxlRGVwbG95bWVudHMgLz48U3RhdHVzPkRlbGV0ZWQ8L1N0YXR1cz48Q3JlYXRlZD4yMC4wNy4yMDIxIDA4OjUwOjM0PC9DcmVhdGVkPjxNb2RpZmllZD4yNS4xMC4yMDIxIDE2OjA2OjE5PC9Nb2RpZmllZD48U291cmNlPk1pcmFkb3JlT25saW5lPC9Tb3VyY2U+PEludkRldmljZT48TW9kZWw+QXBwbGUgTWFjQm9va0FpcjcsMjwvTW9kZWw+PE1hbnVmYWN0dXJlcj5BcHBsZTwvTWFudWZhY3R1cmVyPjxQcm9kdWN0TmFtZT5NYWNCb29rQWlyNywyPC9Qcm9kdWN0TmFtZT48U29mdHdhcmVWZXJzaW9uPm1hY09TIDExLjY8L1NvZnR3YXJlVmVyc2lvbj48U2VyaWFsTnVtYmVyPkdDQ1YzMlZVSjFXSzwvU2VyaWFsTnVtYmVyPjxXaUZpTUFDPjMwOjM1OmFkOmI1OjVlOmJlPC9XaUZpTUFDPjxCbHVldG9vdGhNQUM+MzAtMzUtYWQtYjUtNWUtYmY8L0JsdWV0b290aE1BQz48VURJRD5DRTlFOUZGQi01QUUxLTUxNjEtODdDQi1BMUI0RUFCNjJBNEI8L1VESUQ+PFN0b3JlQWNjb3VudEFjdGl2ZT5GYWxzZTwvU3RvcmVBY2NvdW50QWN0aXZlPjxEZXZpY2VUeXBlPk1hY0Jvb2tBaXI3LDI8L0RldmljZVR5cGU+PERldmljZU5hbWU+TWFjQm9vayBBaXIgZGUgQWRtaW48L0RldmljZU5hbWU+PEludmVudG9yeVRpbWU+MDUuMTAuMjAyMSAwODo1NzowNjwvSW52ZW50b3J5VGltZT48L0ludkRldmljZT48L0RldmljZT48RGV2aWNlPjxJRD43PC9JRD48VXNlcj48SUQ+NjwvSUQ+PC9Vc2VyPjxFbnJvbGxtZW50PjxJRD4yNjwvSUQ+PFVzZXI+PElEPjY8L0lEPjwvVXNlcj48L0Vucm9sbG1lbnQ+PE9ubGluZVN0YXR1cz5Vbm1hbmFnZWQ8L09ubGluZVN0YXR1cz48TGFzdFJlcG9ydGVkPjA0LjEwLjIwMjEgMDg6MDc6MDk8L0xhc3RSZXBvcnRlZD48TGFzdFJlcG9ydGVkRGF5cz4yNTwvTGFzdFJlcG9ydGVkRGF5cz48TGFzdFJlcG9ydGVkSG91cnM+NjA1PC9MYXN0UmVwb3J0ZWRIb3Vycz48TGFzdFJlcG9ydGVkTWludXRlcz4zNjMzMDwvTGFzdFJlcG9ydGVkTWludXRlcz48SVBBZGRyZXNzPjE4NS4yMTIuMjEuNjM8L0lQQWRkcmVzcz48TUFDQWRkcmVzcz44Yzo4NTo5MDoxZjoyNDoyOTwvTUFDQWRkcmVzcz48UGxhdGZvcm0+bWFjT1M8L1BsYXRmb3JtPjxPU1ZlcnNpb25OYW1lPm1hY09TIDExLjY8L09TVmVyc2lvbk5hbWU+PENsaWVudD48SUQ+NzwvSUQ+PC9DbGllbnQ+PENvbmZpZ1Byb2ZpbGVEZXBsb3ltZW50cyAvPjxTdGF0dXM+RGVsZXRlZDwvU3RhdHVzPjxDcmVhdGVkPjAxLjEwLjIwMjEgMTA6NDI6MDA8L0NyZWF0ZWQ+PE1vZGlmaWVkPjA0LjEwLjIwMjEgMDg6MDc6MDc8L01vZGlmaWVkPjxTb3VyY2U+TWlyYWRvcmVPbmxpbmU8L1NvdXJjZT48SW52RGV2aWNlPjxNb2RlbD5BcHBsZSBNYWNCb29rUHJvMTQsMTwvTW9kZWw+PE1hbnVmYWN0dXJlcj5BcHBsZTwvTWFudWZhY3R1cmVyPjxQcm9kdWN0TmFtZT5NYWNCb29rUHJvMTQsMTwvUHJvZHVjdE5hbWU+PFNvZnR3YXJlVmVyc2lvbj5tYWNPUyAxMS42PC9Tb2Z0d2FyZVZlcnNpb24+PFNlcmlhbE51bWJlcj5DMDJWM0tTQUhWMjk8L1NlcmlhbE51bWJlcj48V2lGaU1BQz44Yzo4NTo5MDoxZjoyNDoyOTwvV2lGaU1BQz48Qmx1ZXRvb3RoTUFDPjhjLTg1LTkwLTIxLWIxLTEzPC9CbHVldG9vdGhNQUM+PFVESUQ+MTk1QTY5RDItRDlBNy01MTVELTgzNDktMzk5OTExRUMxNDUyPC9VRElEPjxEZXZpY2VUeXBlPk1hY0Jvb2tQcm8xNCwxPC9EZXZpY2VUeXBlPjxEZXZpY2VOYW1lPk1hY0Jvb2sgUHJvIGRlIGFkbWluPC9EZXZpY2VOYW1lPjxJbnZlbnRvcnlUaW1lPjA0LjEwLjIwMjEgMDc6NTY6MDk8L0ludmVudG9yeVRpbWU+PC9JbnZEZXZpY2U+PC9EZXZpY2U+PERldmljZT48SUQ+ODwvSUQ+PFVzZXI+PElEPjIyPC9JRD48L1VzZXI+PEVucm9sbG1lbnQ+PElEPjI3PC9JRD48VXNlcj48SUQ+MjI8L0lEPjwvVXNlcj48L0Vucm9sbG1lbnQ+PE9ubGluZVN0YXR1cz5BY3RpdmU8L09ubGluZVN0YXR1cz48TGFzdFJlcG9ydGVkPjI5LjEwLjIwMjEgMTA6NTU6NTE8L0xhc3RSZXBvcnRlZD48TGFzdFJlcG9ydGVkRGF5cz4wPC9MYXN0UmVwb3J0ZWREYXlzPjxMYXN0UmVwb3J0ZWRIb3Vycz4zPC9MYXN0UmVwb3J0ZWRIb3Vycz48TGFzdFJlcG9ydGVkTWludXRlcz4xNjI8L0xhc3RSZXBvcnRlZE1pbnV0ZXM+PElQQWRkcmVzcz4xODUuMjEyLjIxLjM0PC9JUEFkZHJlc3M+PE1BQ0FkZHJlc3M+ZjA6MTg6OTg6Mjg6N2U6OGU8L01BQ0FkZHJlc3M+PFBsYXRmb3JtPm1hY09TPC9QbGF0Zm9ybT48T1NWZXJzaW9uTmFtZT5tYWNPUyAxMS42PC9PU1ZlcnNpb25OYW1lPjxDbGllbnQ+PElEPjg8L0lEPjwvQ2xpZW50PjxDb25maWdQcm9maWxlRGVwbG95bWVudHMgLz48U3RhdHVzPkF1dG9HZW5lcmF0ZWQ8L1N0YXR1cz48Q3JlYXRlZD4wMS4xMC4yMDIxIDEyOjQ2OjQ2PC9DcmVhdGVkPjxNb2RpZmllZD4wMS4xMC4yMDIxIDEyOjQ2OjQ2PC9Nb2RpZmllZD48U291cmNlPk1pcmFkb3JlT25saW5lPC9Tb3VyY2U+PEludkRldmljZT48TW9kZWw+QXBwbGUgTWFjQm9va1BybzE1LDI8L01vZGVsPjxNYW51ZmFjdHVyZXI+QXBwbGU8L01hbnVmYWN0dXJlcj48UHJvZHVjdE5hbWU+TWFjQm9va1BybzE1LDI8L1Byb2R1Y3ROYW1lPjxTb2Z0d2FyZVZlcnNpb24+bWFjT1MgMTEuNjwvU29mdHdhcmVWZXJzaW9uPjxTZXJpYWxOdW1iZXI+QzAyWDcwR0NKSEQyPC9TZXJpYWxOdW1iZXI+PFdpRmlNQUM+ZjA6MTg6OTg6Mjg6N2U6OGU8L1dpRmlNQUM+PEJsdWV0b290aE1BQz5mMC0xOC05OC0yYi1jMi1kMTwvQmx1ZXRvb3RoTUFDPjxVRElEPkI4RkJCQUEzLTMyODktNTczNi04QjkyLUEzRTlGOEE1RTJDQTwvVURJRD48RGV2aWNlVHlwZT5NYWNCb29rUHJvMTUsMjwvRGV2aWNlVHlwZT48RGV2aWNlTmFtZT5NYWNCb29rIFBybyBkZSBSJmFtcDsjMjMzO2dpczwvRGV2aWNlTmFtZT48SW52ZW50b3J5VGltZT4yOS4xMC4yMDIxIDA2OjI5OjQ3PC9JbnZlbnRvcnlUaW1lPjwvSW52RGV2aWNlPjwvRGV2aWNlPjxEZXZpY2U+PElEPjk8L0lEPjxVc2VyPjxJRD4xNjwvSUQ+PC9Vc2VyPjxFbnJvbGxtZW50PjxJRD4yOTwvSUQ+PFVzZXI+PElEPjIyPC9JRD48L1VzZXI+PC9FbnJvbGxtZW50PjxPbmxpbmVTdGF0dXM+VW5tYW5hZ2VkPC9PbmxpbmVTdGF0dXM+PExhc3RSZXBvcnRlZD4yNi4xMC4yMDIxIDE2OjU1OjEwPC9MYXN0UmVwb3J0ZWQ+PExhc3RSZXBvcnRlZERheXM+MzwvTGFzdFJlcG9ydGVkRGF5cz48TGFzdFJlcG9ydGVkSG91cnM+Njk8L0xhc3RSZXBvcnRlZEhvdXJzPjxMYXN0UmVwb3J0ZWRNaW51dGVzPjQxMjI8L0xhc3RSZXBvcnRlZE1pbnV0ZXM+PElQQWRkcmVzcz4xODUuMjEyLjIxLjM0PC9JUEFkZHJlc3M+PE1BQ0FkZHJlc3M+ZDA6ODE6N2E6YmE6YTk6OTY8L01BQ0FkZHJlc3M+PFBsYXRmb3JtPm1hY09TPC9QbGF0Zm9ybT48T1NWZXJzaW9uTmFtZT5tYWNPUyAxMS41LjI8L09TVmVyc2lvbk5hbWU+PENsaWVudD48SUQ+OTwvSUQ+PC9DbGllbnQ+PENvbmZpZ1Byb2ZpbGVEZXBsb3ltZW50cyAvPjxTdGF0dXM+VW5tYW5hZ2VkPC9TdGF0dXM+PENyZWF0ZWQ+MDUuMTAuMjAyMSAwOTowNTozMzwvQ3JlYXRlZD48TW9kaWZpZWQ+MjYuMTAuMjAyMSAxNjo1NToxMDwvTW9kaWZpZWQ+PFNvdXJjZT5NaXJhZG9yZU9ubGluZTwvU291cmNlPjxJbnZEZXZpY2U+PE1vZGVsPkFwcGxlIE1hY0Jvb2tBaXI3LDI8L01vZGVsPjxNYW51ZmFjdHVyZXI+QXBwbGU8L01hbnVmYWN0dXJlcj48UHJvZHVjdE5hbWU+TWFjQm9va0FpcjcsMjwvUHJvZHVjdE5hbWU+PFNvZnR3YXJlVmVyc2lvbj5tYWNPUyAxMS41LjI8L1NvZnR3YXJlVmVyc2lvbj48U2VyaWFsTnVtYmVyPkZWSFZRRjFZSjFXSzwvU2VyaWFsTnVtYmVyPjxXaUZpTUFDPmQwOjgxOjdhOmJhOmE5Ojk2PC9XaUZpTUFDPjxCbHVldG9vdGhNQUM+ZDAtODEtN2EtYmEtYTktOTc8L0JsdWV0b290aE1BQz48VURJRD5ENTYzM0JEQi04ODM0LTU3MzItQjhCMS00MENCMDlBMTk1QjA8L1VESUQ+PERldmljZVR5cGU+TWFjQm9va0FpcjcsMjwvRGV2aWNlVHlwZT48RGV2aWNlTmFtZT5NYWNCb29rIEFpciBkZSByemlsaWVudCBJVDE8L0RldmljZU5hbWU+PEludmVudG9yeVRpbWU+MjYuMTAuMjAyMSAxNTo1MTozMDwvSW52ZW50b3J5VGltZT48L0ludkRldmljZT48L0RldmljZT48RGV2aWNlPjxJRD4xMDwvSUQ+PFVzZXI+PElEPjI0PC9JRD48L1VzZXI+PEVucm9sbG1lbnQ+PElEPjMyPC9JRD48L0Vucm9sbG1lbnQ+PE9ubGluZVN0YXR1cz5Vbm1hbmFnZWQ8L09ubGluZVN0YXR1cz48TGFzdFJlcG9ydGVkPjExLjEwLjIwMjEgMTQ6NDI6MTQ8L0xhc3RSZXBvcnRlZD48TGFzdFJlcG9ydGVkRGF5cz4xODwvTGFzdFJlcG9ydGVkRGF5cz48TGFzdFJlcG9ydGVkSG91cnM+NDMxPC9MYXN0UmVwb3J0ZWRIb3Vycz48TGFzdFJlcG9ydGVkTWludXRlcz4yNTg1NTwvTGFzdFJlcG9ydGVkTWludXRlcz48SVBBZGRyZXNzPjE4NS4yMTIuMjEuNjM8L0lQQWRkcmVzcz48TG9jYWxJUEFkZHJlc3M+MTcyLjE4LjI1Mi4yMDwvTG9jYWxJUEFkZHJlc3M+PE1BQ0FkZHJlc3M+RkM6Rjg6QUU6OTg6Mjk6NUM8L01BQ0FkZHJlc3M+PFBsYXRmb3JtPldpbmRvd3NEZXNrdG9wPC9QbGF0Zm9ybT48T1NWZXJzaW9uTmFtZT5XaW5kb3dzIDEwIFBybzwvT1NWZXJzaW9uTmFtZT48Q2xpZW50PjxJRD4xMDwvSUQ+PC9DbGllbnQ+PENvbmZpZ1Byb2ZpbGVEZXBsb3ltZW50cyAvPjxTdGF0dXM+RGVsZXRlZDwvU3RhdHVzPjxDcmVhdGVkPjA4LjEwLjIwMjEgMTE6MTg6MDU8L0NyZWF0ZWQ+PE1vZGlmaWVkPjEyLjEwLjIwMjEgMTQ6NDM6MTU8L01vZGlmaWVkPjxTb3VyY2U+TWlyYWRvcmVPbmxpbmU8L1NvdXJjZT48SW52RGV2aWNlPjxNb2RlbD5IZXdsZXR0LVBhY2thcmQgSFAgRWxpdGVCb29rIDg1MCBHMTwvTW9kZWw+PE1hbnVmYWN0dXJlcj5IZXdsZXR0LVBhY2thcmQ8L01hbnVmYWN0dXJlcj48UHJvZHVjdE5hbWU+SFAgRWxpdGVCb29rIDg1MCBHMTwvUHJvZHVjdE5hbWU+PFNvZnR3YXJlVmVyc2lvbj5XaW5kb3dzIDEwIFBybzwvU29mdHdhcmVWZXJzaW9uPjxTZXJpYWxOdW1iZXI+Q05VNDA4QlNOMzwvU2VyaWFsTnVtYmVyPjxEZXZpY2VOYW1lPkRFU0tUT1AtUE9MOFQyQzwvRGV2aWNlTmFtZT48SW52ZW50b3J5VGltZT4xMS4xMC4yMDIxIDE0OjQyOjEzPC9JbnZlbnRvcnlUaW1lPjwvSW52RGV2aWNlPjwvRGV2aWNlPjxEZXZpY2U+PElEPjExPC9JRD48VXNlcj48SUQ+MjM8L0lEPjwvVXNlcj48RW5yb2xsbWVudD48SUQ+MzE8L0lEPjxVc2VyPjxJRD4yMzwvSUQ+PC9Vc2VyPjwvRW5yb2xsbWVudD48T25saW5lU3RhdHVzPlVubWFuYWdlZDwvT25saW5lU3RhdHVzPjxMYXN0UmVwb3J0ZWQ+MjEuMTAuMjAyMSAxMzoxMTowMTwvTGFzdFJlcG9ydGVkPjxMYXN0UmVwb3J0ZWREYXlzPjg8L0xhc3RSZXBvcnRlZERheXM+PExhc3RSZXBvcnRlZEhvdXJzPjE5MjwvTGFzdFJlcG9ydGVkSG91cnM+PExhc3RSZXBvcnRlZE1pbnV0ZXM+MTE1NDY8L0xhc3RSZXBvcnRlZE1pbnV0ZXM+PElQQWRkcmVzcz4xODUuMjEyLjIxLjM0PC9JUEFkZHJlc3M+PE1BQ0FkZHJlc3M+M0M6OTE6ODA6RDE6RDU6QTU8L01BQ0FkZHJlc3M+PFBsYXRmb3JtPldpbmRvd3NEZXNrdG9wPC9QbGF0Zm9ybT48T1NWZXJzaW9uTmFtZT5XaW5kb3dzIDEwIEhvbWUgKDIwSDIpPC9PU1ZlcnNpb25OYW1lPjxDbGllbnQ+PElEPjExPC9JRD48L0NsaWVudD48Q29uZmlnUHJvZmlsZURlcGxveW1lbnRzIC8+PFN0YXR1cz5EZWxldGVkPC9TdGF0dXM+PENyZWF0ZWQ+MDguMTAuMjAyMSAxMzo0MzozMTwvQ3JlYXRlZD48TW9kaWZpZWQ+MjUuMTAuMjAyMSAxNTo1MTowNjwvTW9kaWZpZWQ+PFNvdXJjZT5NaXJhZG9yZU9ubGluZTwvU291cmNlPjxJbnZEZXZpY2U+PE1vZGVsPkFjZXIgQXNwaXJlIEEzMTQtMjE8L01vZGVsPjxNYW51ZmFjdHVyZXI+QWNlcjwvTWFudWZhY3R1cmVyPjxQcm9kdWN0TmFtZT5Bc3BpcmUgQTMxNC0yMTwvUHJvZHVjdE5hbWU+PFNvZnR3YXJlVmVyc2lvbj5XaW5kb3dzIDEwIEhvbWUgKDIwSDIpPC9Tb2Z0d2FyZVZlcnNpb24+PFNlcmlhbE51bWJlcj5OWEhFU0VCMDAxOTI1MTQxMzg3NjAwPC9TZXJpYWxOdW1iZXI+PERldmljZU5hbWU+REVTS1RPUC1INUNSTVYzPC9EZXZpY2VOYW1lPjxJbnZlbnRvcnlUaW1lPjIwLjEwLjIwMjEgMTc6MTE6MzQ8L0ludmVudG9yeVRpbWU+PC9JbnZEZXZpY2U+PC9EZXZpY2U+PERldmljZT48SUQ+MTI8L0lEPjxVc2VyPjxJRD42PC9JRD48L1VzZXI+PEVucm9sbG1lbnQ+PElEPjMzPC9JRD48VXNlcj48SUQ+MjI8L0lEPjwvVXNlcj48L0Vucm9sbG1lbnQ+PE9ubGluZVN0YXR1cz5BY3RpdmU8L09ubGluZVN0YXR1cz48TGFzdFJlcG9ydGVkPjI5LjEwLjIwMjEgMTE6NTU6MTc8L0xhc3RSZXBvcnRlZD48TGFzdFJlcG9ydGVkRGF5cz4wPC9MYXN0UmVwb3J0ZWREYXlzPjxMYXN0UmVwb3J0ZWRIb3Vycz4yPC9MYXN0UmVwb3J0ZWRIb3Vycz48TGFzdFJlcG9ydGVkTWludXRlcz4xMDI8L0xhc3RSZXBvcnRlZE1pbnV0ZXM+PElQQWRkcmVzcz4xODUuMjEyLjIxLjM0PC9JUEFkZHJlc3M+PE1BQ0FkZHJlc3M+YTQ6NWU6NjA6YzI6ODA6YTE8L01BQ0FkZHJlc3M+PFBsYXRmb3JtPm1hY09TPC9QbGF0Zm9ybT48T1NWZXJzaW9uTmFtZT5tYWNPUyAxMS42PC9PU1ZlcnNpb25OYW1lPjxDbGllbnQ+PElEPjEyPC9JRD48L0NsaWVudD48Q29uZmlnUHJvZmlsZURlcGxveW1lbnRzIC8+PFN0YXR1cz5BdXRvR2VuZXJhdGVkPC9TdGF0dXM+PENyZWF0ZWQ+MjEuMTAuMjAyMSAwODoxMjozNTwvQ3JlYXRlZD48TW9kaWZpZWQ+MjEuMTAuMjAyMSAwODoxOTowMTwvTW9kaWZpZWQ+PFNvdXJjZT5NaXJhZG9yZU9ubGluZTwvU291cmNlPjxJbnZEZXZpY2U+PE1vZGVsPkFwcGxlIE1hY0Jvb2tQcm8xMiwxPC9Nb2RlbD48TWFudWZhY3R1cmVyPkFwcGxlPC9NYW51ZmFjdHVyZXI+PFByb2R1Y3ROYW1lPk1hY0Jvb2tQcm8xMiwxPC9Qcm9kdWN0TmFtZT48U29mdHdhcmVWZXJzaW9uPm1hY09TIDExLjY8L1NvZnR3YXJlVmVyc2lvbj48U2VyaWFsTnVtYmVyPkMwMlBGMFZORlZIODwvU2VyaWFsTnVtYmVyPjxXaUZpTUFDPmE0OjVlOjYwOmMyOjgwOmExPC9XaUZpTUFDPjxCbHVldG9vdGhNQUM+YTQtNWUtNjAtYzItODAtYTI8L0JsdWV0b290aE1BQz48VURJRD5GMkI0MzYyRC00NkQ5LTVEODQtQjM3Qi0xMDFDMUIxMkIyNTM8L1VESUQ+PERldmljZVR5cGU+TWFjQm9va1BybzEyLDE8L0RldmljZVR5cGU+PERldmljZU5hbWU+TWFjQm9vayBQcm8gZGUgYWRtaW48L0RldmljZU5hbWU+PEludmVudG9yeVRpbWU+MjguMTAuMjAyMSAxMzowNToxMDwvSW52ZW50b3J5VGltZT48L0ludkRldmljZT48L0RldmljZT48RGV2aWNlPjxJRD4xMzwvSUQ+PFVzZXI+PElEPjIzPC9JRD48L1VzZXI+PEVucm9sbG1lbnQ+PElEPjM1PC9JRD48L0Vucm9sbG1lbnQ+PE9ubGluZVN0YXR1cz5Vbm1hbmFnZWQ8L09ubGluZVN0YXR1cz48TGFzdFJlcG9ydGVkPjIxLjEwLjIwMjEgMTU6MTI6MTY8L0xhc3RSZXBvcnRlZD48TGFzdFJlcG9ydGVkRGF5cz44PC9MYXN0UmVwb3J0ZWREYXlzPjxMYXN0UmVwb3J0ZWRIb3Vycz4xOTA8L0xhc3RSZXBvcnRlZEhvdXJzPjxMYXN0UmVwb3J0ZWRNaW51dGVzPjExNDI1PC9MYXN0UmVwb3J0ZWRNaW51dGVzPjxJUEFkZHJlc3M+MTg1LjIxMi4yMS4zNDwvSVBBZGRyZXNzPjxMb2NhbElQQWRkcmVzcz4xNzIuMTguMTkzLjI3PC9Mb2NhbElQQWRkcmVzcz48TUFDQWRkcmVzcz44MDpDRTo2MjozOTo1Nzo5ODwvTUFDQWRkcmVzcz48UGxhdGZvcm0+V2luZG93c0Rlc2t0b3A8L1BsYXRmb3JtPjxPU1ZlcnNpb25OYW1lPldpbmRvd3MgMTAgUHJvZmVzc2lvbm5lbCAoMjFIMSk8L09TVmVyc2lvbk5hbWU+PENsaWVudD48SUQ+MTM8L0lEPjwvQ2xpZW50PjxDb25maWdQcm9maWxlRGVwbG95bWVudHMgLz48U3RhdHVzPkRlbGV0ZWQ8L1N0YXR1cz48Q3JlYXRlZD4yMS4xMC4yMDIxIDExOjE2OjEwPC9DcmVhdGVkPjxNb2RpZmllZD4yNS4xMC4yMDIxIDE1OjUxOjA2PC9Nb2RpZmllZD48U291cmNlPk1pcmFkb3JlT25saW5lPC9Tb3VyY2U+PEludkRldmljZT48TW9kZWw+SFAgSFAgUHJvQm9vayA0MzAgRzQ8L01vZGVsPjxNYW51ZmFjdHVyZXI+SFA8L01hbnVmYWN0dXJlcj48UHJvZHVjdE5hbWU+SFAgUHJvQm9vayA0MzAgRzQ8L1Byb2R1Y3ROYW1lPjxTb2Z0d2FyZVZlcnNpb24+V2luZG93cyAxMCBQcm9mZXNzaW9ubmVsICgyMUgxKTwvU29mdHdhcmVWZXJzaW9uPjxTZXJpYWxOdW1iZXI+NUNENzI1OTNERjwvU2VyaWFsTnVtYmVyPjxEZXZpY2VOYW1lPkRFU0tUT1AtODAxR1M3VjwvRGV2aWNlTmFtZT48SW52ZW50b3J5VGltZT4yMS4xMC4yMDIxIDE1OjA0OjUyPC9JbnZlbnRvcnlUaW1lPjwvSW52RGV2aWNlPjwvRGV2aWNlPjxEZXZpY2U+PElEPjE0PC9JRD48VXNlcj48SUQ+MjQ8L0lEPjwvVXNlcj48RW5yb2xsbWVudD48SUQ+MzY8L0lEPjxVc2VyPjxJRD4yMjwvSUQ+PC9Vc2VyPjwvRW5yb2xsbWVudD48T25saW5lU3RhdHVzPkFjdGl2ZTwvT25saW5lU3RhdHVzPjxMYXN0UmVwb3J0ZWQ+MjkuMTAuMjAyMSAxMTowNTo1MjwvTGFzdFJlcG9ydGVkPjxMYXN0UmVwb3J0ZWREYXlzPjA8L0xhc3RSZXBvcnRlZERheXM+PExhc3RSZXBvcnRlZEhvdXJzPjI8L0xhc3RSZXBvcnRlZEhvdXJzPjxMYXN0UmVwb3J0ZWRNaW51dGVzPjE1MjwvTGFzdFJlcG9ydGVkTWludXRlcz48SVBBZGRyZXNzPjYyLjU3Ljk2LjE0MDwvSVBBZGRyZXNzPjxNQUNBZGRyZXNzPjhjOjg1OjkwOjU4OjllOmQ4PC9NQUNBZGRyZXNzPjxQbGF0Zm9ybT5tYWNPUzwvUGxhdGZvcm0+PE9TVmVyc2lvbk5hbWU+bWFjT1MgMTEuNjwvT1NWZXJzaW9uTmFtZT48Q2xpZW50PjxJRD4xNDwvSUQ+PC9DbGllbnQ+PENvbmZpZ1Byb2ZpbGVEZXBsb3ltZW50cyAvPjxTdGF0dXM+QXV0b0dlbmVyYXRlZDwvU3RhdHVzPjxDcmVhdGVkPjIyLjEwLjIwMjEgMTA6NTE6MjU8L0NyZWF0ZWQ+PE1vZGlmaWVkPjIyLjEwLjIwMjEgMTA6NTg6MjY8L01vZGlmaWVkPjxTb3VyY2U+TWlyYWRvcmVPbmxpbmU8L1NvdXJjZT48SW52RGV2aWNlPjxNb2RlbD5BcHBsZSBNYWNCb29rUHJvMTQsMTwvTW9kZWw+PE1hbnVmYWN0dXJlcj5BcHBsZTwvTWFudWZhY3R1cmVyPjxQcm9kdWN0TmFtZT5NYWNCb29rUHJvMTQsMTwvUHJvZHVjdE5hbWU+PFNvZnR3YXJlVmVyc2lvbj5tYWNPUyAxMS42PC9Tb2Z0d2FyZVZlcnNpb24+PFNlcmlhbE51bWJlcj5DMDJWSzAzNEhWMko8L1NlcmlhbE51bWJlcj48V2lGaU1BQz44Yzo4NTo5MDo1ODo5ZTpkODwvV2lGaU1BQz48Qmx1ZXRvb3RoTUFDPjhjLTg1LTkwLTY0LWFmLWU3PC9CbHVldG9vdGhNQUM+PFVESUQ+MzAxRTNGNkUtQkIxQS01QTk0LUI0OEYtNkY0RTY2ODMwODVBPC9VRElEPjxEZXZpY2VUeXBlPk1hY0Jvb2tQcm8xNCwxPC9EZXZpY2VUeXBlPjxEZXZpY2VOYW1lPkFkbWlu4oCZcyBNYWNCb29rIFBybzwvRGV2aWNlTmFtZT48SW52ZW50b3J5VGltZT4yOC4xMC4yMDIxIDE1OjU5OjEzPC9JbnZlbnRvcnlUaW1lPjwvSW52RGV2aWNlPjwvRGV2aWNlPjxEZXZpY2U+PElEPjE1PC9JRD48VXNlcj48SUQ+MjU8L0lEPjwvVXNlcj48RW5yb2xsbWVudD48SUQ+Mzg8L0lEPjwvRW5yb2xsbWVudD48T25saW5lU3RhdHVzPkFjdGl2ZTwvT25saW5lU3RhdHVzPjxMYXN0UmVwb3J0ZWQ+MjkuMTAuMjAyMSAxMjowOTowMzwvTGFzdFJlcG9ydGVkPjxMYXN0UmVwb3J0ZWREYXlzPjA8L0xhc3RSZXBvcnRlZERheXM+PExhc3RSZXBvcnRlZEhvdXJzPjE8L0xhc3RSZXBvcnRlZEhvdXJzPjxMYXN0UmVwb3J0ZWRNaW51dGVzPjg4PC9MYXN0UmVwb3J0ZWRNaW51dGVzPjxJUEFkZHJlc3M+MTg1LjIxMi4yMS4zNDwvSVBBZGRyZXNzPjxMb2NhbElQQWRkcmVzcz4xNzIuMTguMTkzLjIzPC9Mb2NhbElQQWRkcmVzcz48TUFDQWRkcmVzcz44MDozRjo1RDoyQTpEOTo3NzwvTUFDQWRkcmVzcz48UGxhdGZvcm0+V2luZG93c0Rlc2t0b3A8L1BsYXRmb3JtPjxPU1ZlcnNpb25OYW1lPldpbmRvd3MgMTAgUHJvPC9PU1ZlcnNpb25OYW1lPjxDbGllbnQ+PElEPjE1PC9JRD48L0NsaWVudD48Q29uZmlnUHJvZmlsZURlcGxveW1lbnRzIC8+PFN0YXR1cz5BY3RpdmU8L1N0YXR1cz48Q3JlYXRlZD4yNS4xMC4yMDIxIDE1OjM5OjMyPC9DcmVhdGVkPjxNb2RpZmllZD4yOS4xMC4yMDIxIDA3OjQ1OjM0PC9Nb2RpZmllZD48U291cmNlPk1pcmFkb3JlT25saW5lPC9Tb3VyY2U+PEludkRldmljZT48TW9kZWw+TEVOT1ZPIDIwRk1TNVFRMUE8L01vZGVsPjxNYW51ZmFjdHVyZXI+TEVOT1ZPPC9NYW51ZmFjdHVyZXI+PFByb2R1Y3ROYW1lPjIwRk1TNVFRMUE8L1Byb2R1Y3ROYW1lPjxTb2Z0d2FyZVZlcnNpb24+V2luZG93cyAxMCBQcm88L1NvZnR3YXJlVmVyc2lvbj48U2VyaWFsTnVtYmVyPlBDMEdQMVNNPC9TZXJpYWxOdW1iZXI+PERldmljZU5hbWU+REVTS1RPUC1USlM3SVFHPC9EZXZpY2VOYW1lPjxJbnZlbnRvcnlUaW1lPjI5LjEwLjIwMjEgMDc6NDU6MzQ8L0ludmVudG9yeVRpbWU+PC9JbnZEZXZpY2U+PC9EZXZpY2U+PC9JdGVtcz48L0NvbnRlbnQ+
|
47
|
+
recorded_at: Fri, 29 Oct 2021 13:37:38 GMT
|
48
48
|
recorded_with: VCR 6.0.0
|
@@ -5,7 +5,7 @@ http_interactions:
|
|
5
5
|
uri: https://rzilient.online.miradore.com/API/v2/Device/1/lock
|
6
6
|
body:
|
7
7
|
encoding: UTF-8
|
8
|
-
string:
|
8
|
+
string: "{}"
|
9
9
|
headers:
|
10
10
|
Content-Type:
|
11
11
|
- application/json
|
@@ -30,11 +30,11 @@ http_interactions:
|
|
30
30
|
- SAMEORIGIN
|
31
31
|
- SAMEORIGIN
|
32
32
|
Date:
|
33
|
-
-
|
33
|
+
- Fri, 29 Oct 2021 13:37:40 GMT
|
34
34
|
Content-Length:
|
35
35
|
- '2'
|
36
36
|
body:
|
37
37
|
encoding: UTF-8
|
38
38
|
string: '""'
|
39
|
-
recorded_at:
|
39
|
+
recorded_at: Fri, 29 Oct 2021 13:37:38 GMT
|
40
40
|
recorded_with: VCR 6.0.0
|
@@ -2,7 +2,7 @@
|
|
2
2
|
http_interactions:
|
3
3
|
- request:
|
4
4
|
method: get
|
5
|
-
uri: https://rzilient.online.miradore.com/API/Device?auth=&filters=&select
|
5
|
+
uri: https://rzilient.online.miradore.com/API/Device?auth=&filters=&select=*,*
|
6
6
|
body:
|
7
7
|
encoding: US-ASCII
|
8
8
|
string: ''
|
@@ -39,29 +39,65 @@ http_interactions:
|
|
39
39
|
X-Frame-Options:
|
40
40
|
- SAMEORIGIN
|
41
41
|
Date:
|
42
|
-
-
|
42
|
+
- Fri, 29 Oct 2021 13:37:43 GMT
|
43
43
|
Content-Length:
|
44
|
-
- '
|
44
|
+
- '2570'
|
45
45
|
body:
|
46
46
|
encoding: ASCII-8BIT
|
47
|
-
string: <?xml version="1.0" encoding="utf-8"?><Content><Items count="
|
48
|
-
|
49
|
-
14.4.2</OSVersionName><Status>AutoGenerated</Status><Created>22.04.2021
|
50
|
-
13:
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
11
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
08:
|
66
|
-
|
47
|
+
string: <?xml version="1.0" encoding="utf-8"?><Content><Items count="15"><Device><ID>1</ID><User><ID>1</ID></User><Category><ID>1</ID></Category><Enrollment><ID>5</ID><User><ID>2</ID></User></Enrollment><OnlineStatus>Active</OnlineStatus><LastReported>29.10.2021
|
48
|
+
13:34:19</LastReported><LastReportedDays>0</LastReportedDays><LastReportedHours>0</LastReportedHours><LastReportedMinutes>3</LastReportedMinutes><IPAddress>46.25.75.22</IPAddress><MACAddress>d4:dc:cd:d6:09:be</MACAddress><Platform>iOS</Platform><OSVersionName>iOS
|
49
|
+
14.4.2</OSVersionName><Client><ID>1</ID></Client><ConfigProfileDeployments><ConfigProfileDeployment><ID>2</ID><ConfigProfile><ID>6</ID></ConfigProfile></ConfigProfileDeployment></ConfigProfileDeployments><Status>AutoGenerated</Status><Created>22.04.2021
|
50
|
+
06:33:20</Created><Modified>22.10.2021 13:09:20</Modified><Source>MiradoreOnline</Source></Device><Device><ID>2</ID><User><ID>3</ID></User><Enrollment><ID>9</ID><User><ID>3</ID></User></Enrollment><OnlineStatus>Active</OnlineStatus><LastReported>29.10.2021
|
51
|
+
07:55:57</LastReported><LastReportedDays>0</LastReportedDays><LastReportedHours>6</LastReportedHours><LastReportedMinutes>342</LastReportedMinutes><IPAddress>149.62.159.244</IPAddress><MACAddress>DC:71:96:FB:8A:56</MACAddress><Platform>WindowsDesktop</Platform><OSVersionName>Windows
|
52
|
+
10 Home (20H2)</OSVersionName><Client><ID>2</ID></Client><ConfigProfileDeployments
|
53
|
+
/><Status>AutoGenerated</Status><Created>29.04.2021 13:01:04</Created><Modified>28.09.2021
|
54
|
+
15:32:10</Modified><Source>MiradoreOnline</Source></Device><Device><ID>3</ID><User><ID>20</ID></User><OnlineStatus>Active</OnlineStatus><LastReported>29.10.2021
|
55
|
+
13:26:47</LastReported><LastReportedDays>0</LastReportedDays><LastReportedHours>0</LastReportedHours><LastReportedMinutes>11</LastReportedMinutes><IPAddress>37.223.39.77</IPAddress><MACAddress>f0:18:98:24:b4:66</MACAddress><Platform>macOS</Platform><OSVersionName>macOS
|
56
|
+
11.6</OSVersionName><Client><ID>3</ID></Client><ConfigProfileDeployments /><Status>AutoGenerated</Status><Created>14.05.2021
|
57
|
+
11:17:12</Created><Modified>22.10.2021 11:50:24</Modified><Source>MiradoreOnline</Source></Device><Device><ID>4</ID><User><ID>6</ID></User><Organization><ID>1</ID></Organization><Enrollment><ID>12</ID></Enrollment><OnlineStatus>Unmanaged</OnlineStatus><LastReported>28.09.2021
|
58
|
+
09:44:08</LastReported><LastReportedDays>31</LastReportedDays><LastReportedHours>748</LastReportedHours><LastReportedMinutes>44873</LastReportedMinutes><IPAddress>92.154.14.188</IPAddress><LocalIPAddress>192.168.1.36</LocalIPAddress><MACAddress>D4:6D:6D:65:0C:DE</MACAddress><Platform>WindowsDesktop</Platform><OSVersionName>Windows
|
59
|
+
10 Professionnel (1909)</OSVersionName><Client><ID>4</ID></Client><ConfigProfileDeployments
|
60
|
+
/><Status>Deleted</Status><Created>17.05.2021 08:16:11</Created><Modified>25.10.2021
|
61
|
+
15:50:30</Modified><Source>MiradoreOnline</Source></Device><Device><ID>5</ID><User><ID>21</ID></User><Enrollment><ID>15</ID><User><ID>9</ID></User></Enrollment><OnlineStatus>Unknown</OnlineStatus><LastReported>11.10.2021
|
62
|
+
15:41:46</LastReported><LastReportedDays>18</LastReportedDays><LastReportedHours>430</LastReportedHours><LastReportedMinutes>25796</LastReportedMinutes><IPAddress>185.212.21.63</IPAddress><MACAddress>f0:18:98:1e:60:ec</MACAddress><Platform>macOS</Platform><OSVersionName>macOS
|
63
|
+
11.6</OSVersionName><Client><ID>5</ID></Client><ConfigProfileDeployments /><Status>AutoGenerated</Status><Created>26.05.2021
|
64
|
+
08:21:23</Created><Modified>01.10.2021 16:33:10</Modified><Source>MiradoreOnline</Source></Device><Device><ID>6</ID><User><ID>16</ID></User><Enrollment><ID>28</ID><User><ID>22</ID></User></Enrollment><OnlineStatus>Unmanaged</OnlineStatus><LastReported>05.10.2021
|
65
|
+
08:57:14</LastReported><LastReportedDays>24</LastReportedDays><LastReportedHours>581</LastReportedHours><LastReportedMinutes>34840</LastReportedMinutes><IPAddress>185.212.21.63</IPAddress><MACAddress>30:35:ad:b5:5e:be</MACAddress><Platform>macOS</Platform><OSVersionName>macOS
|
66
|
+
11.6</OSVersionName><Client><ID>6</ID></Client><ConfigProfileDeployments /><Status>Deleted</Status><Created>20.07.2021
|
67
|
+
08:50:34</Created><Modified>25.10.2021 16:06:19</Modified><Source>MiradoreOnline</Source></Device><Device><ID>7</ID><User><ID>6</ID></User><Enrollment><ID>26</ID><User><ID>6</ID></User></Enrollment><OnlineStatus>Unmanaged</OnlineStatus><LastReported>04.10.2021
|
68
|
+
08:07:09</LastReported><LastReportedDays>25</LastReportedDays><LastReportedHours>605</LastReportedHours><LastReportedMinutes>36330</LastReportedMinutes><IPAddress>185.212.21.63</IPAddress><MACAddress>8c:85:90:1f:24:29</MACAddress><Platform>macOS</Platform><OSVersionName>macOS
|
69
|
+
11.6</OSVersionName><Client><ID>7</ID></Client><ConfigProfileDeployments /><Status>Deleted</Status><Created>01.10.2021
|
70
|
+
10:42:00</Created><Modified>04.10.2021 08:07:07</Modified><Source>MiradoreOnline</Source></Device><Device><ID>8</ID><User><ID>22</ID></User><Enrollment><ID>27</ID><User><ID>22</ID></User></Enrollment><OnlineStatus>Active</OnlineStatus><LastReported>29.10.2021
|
71
|
+
10:55:51</LastReported><LastReportedDays>0</LastReportedDays><LastReportedHours>3</LastReportedHours><LastReportedMinutes>162</LastReportedMinutes><IPAddress>185.212.21.34</IPAddress><MACAddress>f0:18:98:28:7e:8e</MACAddress><Platform>macOS</Platform><OSVersionName>macOS
|
72
|
+
11.6</OSVersionName><Client><ID>8</ID></Client><ConfigProfileDeployments /><Status>AutoGenerated</Status><Created>01.10.2021
|
73
|
+
12:46:46</Created><Modified>01.10.2021 12:46:46</Modified><Source>MiradoreOnline</Source></Device><Device><ID>9</ID><User><ID>16</ID></User><Enrollment><ID>29</ID><User><ID>22</ID></User></Enrollment><OnlineStatus>Unmanaged</OnlineStatus><LastReported>26.10.2021
|
74
|
+
16:55:10</LastReported><LastReportedDays>3</LastReportedDays><LastReportedHours>69</LastReportedHours><LastReportedMinutes>4122</LastReportedMinutes><IPAddress>185.212.21.34</IPAddress><MACAddress>d0:81:7a:ba:a9:96</MACAddress><Platform>macOS</Platform><OSVersionName>macOS
|
75
|
+
11.5.2</OSVersionName><Client><ID>9</ID></Client><ConfigProfileDeployments
|
76
|
+
/><Status>Unmanaged</Status><Created>05.10.2021 09:05:33</Created><Modified>26.10.2021
|
77
|
+
16:55:10</Modified><Source>MiradoreOnline</Source></Device><Device><ID>10</ID><User><ID>24</ID></User><Enrollment><ID>32</ID></Enrollment><OnlineStatus>Unmanaged</OnlineStatus><LastReported>11.10.2021
|
78
|
+
14:42:14</LastReported><LastReportedDays>18</LastReportedDays><LastReportedHours>431</LastReportedHours><LastReportedMinutes>25855</LastReportedMinutes><IPAddress>185.212.21.63</IPAddress><LocalIPAddress>172.18.252.20</LocalIPAddress><MACAddress>FC:F8:AE:98:29:5C</MACAddress><Platform>WindowsDesktop</Platform><OSVersionName>Windows
|
79
|
+
10 Pro</OSVersionName><Client><ID>10</ID></Client><ConfigProfileDeployments
|
80
|
+
/><Status>Deleted</Status><Created>08.10.2021 11:18:05</Created><Modified>12.10.2021
|
81
|
+
14:43:15</Modified><Source>MiradoreOnline</Source></Device><Device><ID>11</ID><User><ID>23</ID></User><Enrollment><ID>31</ID><User><ID>23</ID></User></Enrollment><OnlineStatus>Unmanaged</OnlineStatus><LastReported>21.10.2021
|
82
|
+
13:11:01</LastReported><LastReportedDays>8</LastReportedDays><LastReportedHours>192</LastReportedHours><LastReportedMinutes>11546</LastReportedMinutes><IPAddress>185.212.21.34</IPAddress><MACAddress>3C:91:80:D1:D5:A5</MACAddress><Platform>WindowsDesktop</Platform><OSVersionName>Windows
|
83
|
+
10 Home (20H2)</OSVersionName><Client><ID>11</ID></Client><ConfigProfileDeployments
|
84
|
+
/><Status>Deleted</Status><Created>08.10.2021 13:43:31</Created><Modified>25.10.2021
|
85
|
+
15:51:06</Modified><Source>MiradoreOnline</Source></Device><Device><ID>12</ID><User><ID>6</ID></User><Enrollment><ID>33</ID><User><ID>22</ID></User></Enrollment><OnlineStatus>Active</OnlineStatus><LastReported>29.10.2021
|
86
|
+
11:55:17</LastReported><LastReportedDays>0</LastReportedDays><LastReportedHours>2</LastReportedHours><LastReportedMinutes>102</LastReportedMinutes><IPAddress>185.212.21.34</IPAddress><MACAddress>a4:5e:60:c2:80:a1</MACAddress><Platform>macOS</Platform><OSVersionName>macOS
|
87
|
+
11.6</OSVersionName><Client><ID>12</ID></Client><ConfigProfileDeployments
|
88
|
+
/><Status>AutoGenerated</Status><Created>21.10.2021 08:12:35</Created><Modified>21.10.2021
|
89
|
+
08:19:01</Modified><Source>MiradoreOnline</Source></Device><Device><ID>13</ID><User><ID>23</ID></User><Enrollment><ID>35</ID></Enrollment><OnlineStatus>Unmanaged</OnlineStatus><LastReported>21.10.2021
|
90
|
+
15:12:16</LastReported><LastReportedDays>8</LastReportedDays><LastReportedHours>190</LastReportedHours><LastReportedMinutes>11425</LastReportedMinutes><IPAddress>185.212.21.34</IPAddress><LocalIPAddress>172.18.193.27</LocalIPAddress><MACAddress>80:CE:62:39:57:98</MACAddress><Platform>WindowsDesktop</Platform><OSVersionName>Windows
|
91
|
+
10 Professionnel (21H1)</OSVersionName><Client><ID>13</ID></Client><ConfigProfileDeployments
|
92
|
+
/><Status>Deleted</Status><Created>21.10.2021 11:16:10</Created><Modified>25.10.2021
|
93
|
+
15:51:06</Modified><Source>MiradoreOnline</Source></Device><Device><ID>14</ID><User><ID>24</ID></User><Enrollment><ID>36</ID><User><ID>22</ID></User></Enrollment><OnlineStatus>Active</OnlineStatus><LastReported>29.10.2021
|
94
|
+
11:05:52</LastReported><LastReportedDays>0</LastReportedDays><LastReportedHours>2</LastReportedHours><LastReportedMinutes>152</LastReportedMinutes><IPAddress>62.57.96.140</IPAddress><MACAddress>8c:85:90:58:9e:d8</MACAddress><Platform>macOS</Platform><OSVersionName>macOS
|
95
|
+
11.6</OSVersionName><Client><ID>14</ID></Client><ConfigProfileDeployments
|
96
|
+
/><Status>AutoGenerated</Status><Created>22.10.2021 10:51:25</Created><Modified>22.10.2021
|
97
|
+
10:58:26</Modified><Source>MiradoreOnline</Source></Device><Device><ID>15</ID><User><ID>25</ID></User><Enrollment><ID>38</ID></Enrollment><OnlineStatus>Active</OnlineStatus><LastReported>29.10.2021
|
98
|
+
12:09:03</LastReported><LastReportedDays>0</LastReportedDays><LastReportedHours>1</LastReportedHours><LastReportedMinutes>88</LastReportedMinutes><IPAddress>185.212.21.34</IPAddress><LocalIPAddress>172.18.193.23</LocalIPAddress><MACAddress>80:3F:5D:2A:D9:77</MACAddress><Platform>WindowsDesktop</Platform><OSVersionName>Windows
|
99
|
+
10 Pro</OSVersionName><Client><ID>15</ID></Client><ConfigProfileDeployments
|
100
|
+
/><Status>Active</Status><Created>25.10.2021 15:39:32</Created><Modified>29.10.2021
|
101
|
+
07:45:34</Modified><Source>MiradoreOnline</Source></Device></Items></Content>
|
102
|
+
recorded_at: Fri, 29 Oct 2021 13:37:41 GMT
|
67
103
|
recorded_with: VCR 6.0.0
|
@@ -2,7 +2,7 @@
|
|
2
2
|
http_interactions:
|
3
3
|
- request:
|
4
4
|
method: get
|
5
|
-
uri: https://rzilient.online.miradore.com/API/Device?auth=&filters=&select
|
5
|
+
uri: https://rzilient.online.miradore.com/API/Device?auth=&filters=&select=*,InvDevice.*
|
6
6
|
body:
|
7
7
|
encoding: US-ASCII
|
8
8
|
string: ''
|
@@ -39,9 +39,9 @@ http_interactions:
|
|
39
39
|
X-Frame-Options:
|
40
40
|
- SAMEORIGIN
|
41
41
|
Date:
|
42
|
-
-
|
42
|
+
- Fri, 29 Oct 2021 13:37:44 GMT
|
43
43
|
body:
|
44
44
|
encoding: UTF-8
|
45
45
|
string: "<Content><Error><Description>Authentication failed</Description><Code>401</Code></Error></Content>"
|
46
|
-
recorded_at:
|
46
|
+
recorded_at: Fri, 29 Oct 2021 13:37:42 GMT
|
47
47
|
recorded_with: VCR 6.0.0
|
@@ -2,7 +2,7 @@
|
|
2
2
|
http_interactions:
|
3
3
|
- request:
|
4
4
|
method: get
|
5
|
-
uri: https://rzilient.online.miradore.com/API/Device?auth=&filters=(InvDevice.SerialNumber%20eq%20SRE)&select
|
5
|
+
uri: https://rzilient.online.miradore.com/API/Device?auth=&filters=(InvDevice.SerialNumber%20eq%20SRE)&select=*,*
|
6
6
|
body:
|
7
7
|
encoding: US-ASCII
|
8
8
|
string: ''
|
@@ -39,11 +39,11 @@ http_interactions:
|
|
39
39
|
X-Frame-Options:
|
40
40
|
- SAMEORIGIN
|
41
41
|
Date:
|
42
|
-
-
|
42
|
+
- Fri, 29 Oct 2021 13:37:44 GMT
|
43
43
|
Content-Length:
|
44
44
|
- '185'
|
45
45
|
body:
|
46
46
|
encoding: ASCII-8BIT
|
47
47
|
string: <?xml version="1.0" encoding="utf-8"?><Content><Items count="0" /></Content>
|
48
|
-
recorded_at:
|
48
|
+
recorded_at: Fri, 29 Oct 2021 13:37:42 GMT
|
49
49
|
recorded_with: VCR 6.0.0
|
@@ -0,0 +1,50 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://rzilient.online.miradore.com/API/Device?auth=&filters=&select=*,InvDevice.*,InvOS.*,InvStorage.*,Security.*,Location.*,Enrollment.*,User.*
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Content-Type:
|
11
|
+
- application/json
|
12
|
+
Accept:
|
13
|
+
- application/json
|
14
|
+
X-Api-Key:
|
15
|
+
-
|
16
|
+
Accept-Encoding:
|
17
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
18
|
+
User-Agent:
|
19
|
+
- Ruby
|
20
|
+
response:
|
21
|
+
status:
|
22
|
+
code: 200
|
23
|
+
message: OK
|
24
|
+
headers:
|
25
|
+
Cache-Control:
|
26
|
+
- no-cache
|
27
|
+
Pragma:
|
28
|
+
- no-cache
|
29
|
+
Content-Type:
|
30
|
+
- text/xml
|
31
|
+
Expires:
|
32
|
+
- "-1"
|
33
|
+
Vary:
|
34
|
+
- Accept-Encoding
|
35
|
+
Server:
|
36
|
+
- Microsoft-IIS/10.0
|
37
|
+
X-Aspnet-Version:
|
38
|
+
- 4.0.30319
|
39
|
+
X-Frame-Options:
|
40
|
+
- SAMEORIGIN
|
41
|
+
Date:
|
42
|
+
- Fri, 29 Oct 2021 13:37:46 GMT
|
43
|
+
Content-Length:
|
44
|
+
- '7902'
|
45
|
+
body:
|
46
|
+
encoding: ASCII-8BIT
|
47
|
+
string: !binary |-
|
48
|
+
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48Q29udGVudD48SXRlbXMgY291bnQ9IjE1Ij48RGV2aWNlPjxJRD4xPC9JRD48VXNlcj48SUQ+MTwvSUQ+PE5hbWU+IDwvTmFtZT48RW1haWw+ZWR1YXJkQHJ6aWxpZW50LmNsdWI8L0VtYWlsPjxQaG9uZU51bWJlcj4rMzQ2MDU0OTYyMTQ8L1Bob25lTnVtYmVyPjxTb3VyY2U+R1VJPC9Tb3VyY2U+PFN0YXR1cz5OZXc8L1N0YXR1cz48Q3JlYXRlZD4xMi4wNC4yMDIxIDE1OjIxOjExPC9DcmVhdGVkPjxNb2RpZmllZD4xMi4wNC4yMDIxIDE1OjIxOjExPC9Nb2RpZmllZD48L1VzZXI+PENhdGVnb3J5PjxJRD4xPC9JRD48L0NhdGVnb3J5PjxFbnJvbGxtZW50PjxJRD41PC9JRD48VXNlcj48SUQ+MjwvSUQ+PC9Vc2VyPjxDcmVhdGVkPjIyLjA0LjIwMjEgMDY6MzI6MDA8L0NyZWF0ZWQ+PENvbXBsZXRlZD4yMi4wNC4yMDIxIDA2OjMzOjIwPC9Db21wbGV0ZWQ+PFR5cGU+RW1haWw8L1R5cGU+PFNlbmRlcj5lZHVhcmRAcnppbGllbnQuY2x1YjwvU2VuZGVyPjwvRW5yb2xsbWVudD48T25saW5lU3RhdHVzPkFjdGl2ZTwvT25saW5lU3RhdHVzPjxMYXN0UmVwb3J0ZWQ+MjkuMTAuMjAyMSAxMzozNzo0NDwvTGFzdFJlcG9ydGVkPjxMYXN0UmVwb3J0ZWREYXlzPjA8L0xhc3RSZXBvcnRlZERheXM+PExhc3RSZXBvcnRlZEhvdXJzPjA8L0xhc3RSZXBvcnRlZEhvdXJzPjxMYXN0UmVwb3J0ZWRNaW51dGVzPjA8L0xhc3RSZXBvcnRlZE1pbnV0ZXM+PElQQWRkcmVzcz40Ni4yNS43NS4yMjwvSVBBZGRyZXNzPjxNQUNBZGRyZXNzPmQ0OmRjOmNkOmQ2OjA5OmJlPC9NQUNBZGRyZXNzPjxQbGF0Zm9ybT5pT1M8L1BsYXRmb3JtPjxPU1ZlcnNpb25OYW1lPmlPUyAxNC40LjI8L09TVmVyc2lvbk5hbWU+PENsaWVudD48SUQ+MTwvSUQ+PC9DbGllbnQ+PENvbmZpZ1Byb2ZpbGVEZXBsb3ltZW50cz48Q29uZmlnUHJvZmlsZURlcGxveW1lbnQ+PElEPjI8L0lEPjxDb25maWdQcm9maWxlPjxJRD42PC9JRD48L0NvbmZpZ1Byb2ZpbGU+PC9Db25maWdQcm9maWxlRGVwbG95bWVudD48L0NvbmZpZ1Byb2ZpbGVEZXBsb3ltZW50cz48U3RhdHVzPkF1dG9HZW5lcmF0ZWQ8L1N0YXR1cz48Q3JlYXRlZD4yMi4wNC4yMDIxIDA2OjMzOjIwPC9DcmVhdGVkPjxNb2RpZmllZD4yMi4xMC4yMDIxIDEzOjA5OjIwPC9Nb2RpZmllZD48U291cmNlPk1pcmFkb3JlT25saW5lPC9Tb3VyY2U+PEludkRldmljZT48TW9kZWw+QXBwbGUgaVBob25lOSwzPC9Nb2RlbD48TWFudWZhY3R1cmVyPkFwcGxlPC9NYW51ZmFjdHVyZXI+PE1hcmtldGluZ05hbWU+aVBob25lIDc8L01hcmtldGluZ05hbWU+PFByb2R1Y3ROYW1lPmlQaG9uZTksMzwvUHJvZHVjdE5hbWU+PFNvZnR3YXJlVmVyc2lvbj5pT1MgMTQuNC4yPC9Tb2Z0d2FyZVZlcnNpb24+PFNlcmlhbE51bWJlcj5DNzZUTFVFTUhHN0Y8L1NlcmlhbE51bWJlcj48SU1FST4zNTUzMzIwODg0MzMzNjA8L0lNRUk+PFdpRmlNQUM+ZDQ6ZGM6Y2Q6ZDY6MDk6YmU8L1dpRmlNQUM+PEJsdWV0b290aE1BQz5kNDpkYzpjZDpkNjowOTplMTwvQmx1ZXRvb3RoTUFDPjxVRElEPjg0Yzg3YTllZGYwYzU3NzIyN2I5NmRjYmU3YmY0NTcxM2MzNThlZGU8L1VESUQ+PFN0b3JlQWNjb3VudEFjdGl2ZT5UcnVlPC9TdG9yZUFjY291bnRBY3RpdmU+PERvTm90RGlzdHVyYkFjdGl2ZT5GYWxzZTwvRG9Ob3REaXN0dXJiQWN0aXZlPjxEZXZpY2VUeXBlPk1OOFgyUUw8L0RldmljZVR5cGU+PEVBU0lkZW50aWZpZXI+TFUxUjFKNVYwSDczSkNURUoyQTczMkxJOEc8L0VBU0lkZW50aWZpZXI+PERldmljZU5hbWU+aVBob25lIGRlOiBFZHVhcmQ8L0RldmljZU5hbWU+PEludmVudG9yeVRpbWU+MjguMTAuMjAyMSAxNzo0ODoyMDwvSW52ZW50b3J5VGltZT48L0ludkRldmljZT48SW52T1M+PFBsYXRmb3JtPmlPUzwvUGxhdGZvcm0+PFZlcnNpb24+MTQuNC4yPC9WZXJzaW9uPjxCdWlsZD4xOEQ3MDwvQnVpbGQ+PEludmVudG9yeVRpbWU+MjguMTAuMjAyMSAxNzo0ODoyMDwvSW52ZW50b3J5VGltZT48L0ludk9TPjxJbnZTdG9yYWdlcz48SW52U3RvcmFnZT48VHlwZT5JbnRlcm5hbDwvVHlwZT48RnJlZVNwYWNlPjE1NjExMzA2OTk1PC9GcmVlU3BhY2U+PFRvdGFsU3BhY2U+MzQzNTk3MzgzNjg8L1RvdGFsU3BhY2U+PEludmVudG9yeVRpbWU+MjguMTAuMjAyMSAxNzo0ODoyMDwvSW52ZW50b3J5VGltZT48L0ludlN0b3JhZ2U+PC9JbnZTdG9yYWdlcz48U2VjdXJpdHk+PFBhc3Njb2RlU2V0PlllczwvUGFzc2NvZGVTZXQ+PEVuY3J5cHRpb25TdGF0dXM+RW5hYmxlZDwvRW5jcnlwdGlvblN0YXR1cz48L1NlY3VyaXR5PjwvRGV2aWNlPjxEZXZpY2U+PElEPjI8L0lEPjxVc2VyPjxJRD4zPC9JRD48TmFtZT5kZSBMYW1iZXJ0IFF1ZW50aW48L05hbWU+PEVtYWlsPnF1ZW50aW5AcnppbGllbnQuY2x1YjwvRW1haWw+PEZpcnN0bmFtZT5RdWVudGluPC9GaXJzdG5hbWU+PExhc3RuYW1lPmRlIExhbWJlcnQ8L0xhc3RuYW1lPjxTb3VyY2U+R1VJPC9Tb3VyY2U+PFN0YXR1cz5BY3RpdmU8L1N0YXR1cz48Q3JlYXRlZD4yMi4wNC4yMDIxIDA2OjUxOjUzPC9DcmVhdGVkPjxNb2RpZmllZD4yMi4wNC4yMDIxIDA2OjUxOjUzPC9Nb2RpZmllZD48L1VzZXI+PEVucm9sbG1lbnQ+PElEPjk8L0lEPjxVc2VyPjxJRD4zPC9JRD48L1VzZXI+PENyZWF0ZWQ+MjkuMDQuMjAyMSAxMjoyMjozMTwvQ3JlYXRlZD48Q29tcGxldGVkPjI5LjA0LjIwMjEgMTM6MDE6MDQ8L0NvbXBsZXRlZD48VHlwZT5FbWFpbDwvVHlwZT48U2VuZGVyPmVkdWFyZEByemlsaWVudC5jbHViPC9TZW5kZXI+PC9FbnJvbGxtZW50PjxPbmxpbmVTdGF0dXM+QWN0aXZlPC9PbmxpbmVTdGF0dXM+PExhc3RSZXBvcnRlZD4yOS4xMC4yMDIxIDA3OjU1OjU3PC9MYXN0UmVwb3J0ZWQ+PExhc3RSZXBvcnRlZERheXM+MDwvTGFzdFJlcG9ydGVkRGF5cz48TGFzdFJlcG9ydGVkSG91cnM+NjwvTGFzdFJlcG9ydGVkSG91cnM+PExhc3RSZXBvcnRlZE1pbnV0ZXM+MzQyPC9MYXN0UmVwb3J0ZWRNaW51dGVzPjxJUEFkZHJlc3M+MTQ5LjYyLjE1OS4yNDQ8L0lQQWRkcmVzcz48TUFDQWRkcmVzcz5EQzo3MTo5NjpGQjo4QTo1NjwvTUFDQWRkcmVzcz48UGxhdGZvcm0+V2luZG93c0Rlc2t0b3A8L1BsYXRmb3JtPjxPU1ZlcnNpb25OYW1lPldpbmRvd3MgMTAgSG9tZSAoMjBIMik8L09TVmVyc2lvbk5hbWU+PENsaWVudD48SUQ+MjwvSUQ+PC9DbGllbnQ+PENvbmZpZ1Byb2ZpbGVEZXBsb3ltZW50cyAvPjxTdGF0dXM+QXV0b0dlbmVyYXRlZDwvU3RhdHVzPjxDcmVhdGVkPjI5LjA0LjIwMjEgMTM6MDE6MDQ8L0NyZWF0ZWQ+PE1vZGlmaWVkPjI4LjA5LjIwMjEgMTU6MzI6MTA8L01vZGlmaWVkPjxTb3VyY2U+TWlyYWRvcmVPbmxpbmU8L1NvdXJjZT48SW52RGV2aWNlPjxNb2RlbD5BU1VTVGVLIENPTVBVVEVSIElOQy4gVml2b0Jvb2tfQVNVU0xhcHRvcCBYNzEyRkFfWDcxMkZBPC9Nb2RlbD48TWFudWZhY3R1cmVyPkFTVVNUZUsgQ09NUFVURVIgSU5DLjwvTWFudWZhY3R1cmVyPjxQcm9kdWN0TmFtZT5WaXZvQm9va19BU1VTTGFwdG9wIFg3MTJGQV9YNzEyRkE8L1Byb2R1Y3ROYW1lPjxTb2Z0d2FyZVZlcnNpb24+V2luZG93cyAxMCBIb21lICgyMEgyKTwvU29mdHdhcmVWZXJzaW9uPjxTZXJpYWxOdW1iZXI+SzhOMENWMDczMTUyMzNCPC9TZXJpYWxOdW1iZXI+PERldmljZU5hbWU+UVVFTlRJTjwvRGV2aWNlTmFtZT48SW52ZW50b3J5VGltZT4yOC4xMC4yMDIxIDA5OjA1OjM4PC9JbnZlbnRvcnlUaW1lPjwvSW52RGV2aWNlPjxJbnZPUz48UGxhdGZvcm0+V2luZG93c0Rlc2t0b3A8L1BsYXRmb3JtPjxWZXJzaW9uPjEwLjAuMTkwNDIuMTI4ODwvVmVyc2lvbj48TGFuZ3VhZ2U+ZnItRlI8L0xhbmd1YWdlPjxJbnZlbnRvcnlUaW1lPjI4LjEwLjIwMjEgMDk6MDU6Mzg8L0ludmVudG9yeVRpbWU+PC9JbnZPUz48SW52U3RvcmFnZXM+PEludlN0b3JhZ2U+PFR5cGU+SW50ZXJuYWw8L1R5cGU+PFZvbHVtZT5DOiBPUzwvVm9sdW1lPjxGcmVlU3BhY2U+Mzg1OTQyNDU4MzY4PC9GcmVlU3BhY2U+PFRvdGFsU3BhY2U+NTExMTM3MDkxNTg0PC9Ub3RhbFNwYWNlPjxJbnZlbnRvcnlUaW1lPjI4LjEwLjIwMjEgMDk6MDU6Mzg8L0ludmVudG9yeVRpbWU+PC9JbnZTdG9yYWdlPjwvSW52U3RvcmFnZXM+PFNlY3VyaXR5PjxQYXNzY29kZVNldD5Vbmtub3duPC9QYXNzY29kZVNldD48RW5jcnlwdGlvblN0YXR1cz5EaXNhYmxlZDwvRW5jcnlwdGlvblN0YXR1cz48L1NlY3VyaXR5PjwvRGV2aWNlPjxEZXZpY2U+PElEPjM8L0lEPjxVc2VyPjxJRD4yMDwvSUQ+PEVtYWlsPnRyaXN0YW5AcnppbGllbnQuY2x1YjwvRW1haWw+PFNvdXJjZT5Vbmtub3duPC9Tb3VyY2U+PFN0YXR1cz5BY3RpdmU8L1N0YXR1cz48Q3JlYXRlZD4yMS4wOS4yMDIxIDE2OjIzOjI3PC9DcmVhdGVkPjxNb2RpZmllZD4yMS4wOS4yMDIxIDE2OjIzOjI3PC9Nb2RpZmllZD48L1VzZXI+PE9ubGluZVN0YXR1cz5BY3RpdmU8L09ubGluZVN0YXR1cz48TGFzdFJlcG9ydGVkPjI5LjEwLjIwMjEgMTM6MjY6NDc8L0xhc3RSZXBvcnRlZD48TGFzdFJlcG9ydGVkRGF5cz4wPC9MYXN0UmVwb3J0ZWREYXlzPjxMYXN0UmVwb3J0ZWRIb3Vycz4wPC9MYXN0UmVwb3J0ZWRIb3Vycz48TGFzdFJlcG9ydGVkTWludXRlcz4xMTwvTGFzdFJlcG9ydGVkTWludXRlcz48SVBBZGRyZXNzPjM3LjIyMy4zOS43NzwvSVBBZGRyZXNzPjxNQUNBZGRyZXNzPmYwOjE4Ojk4OjI0OmI0OjY2PC9NQUNBZGRyZXNzPjxQbGF0Zm9ybT5tYWNPUzwvUGxhdGZvcm0+PE9TVmVyc2lvbk5hbWU+bWFjT1MgMTEuNjwvT1NWZXJzaW9uTmFtZT48Q2xpZW50PjxJRD4zPC9JRD48L0NsaWVudD48Q29uZmlnUHJvZmlsZURlcGxveW1lbnRzIC8+PFN0YXR1cz5BdXRvR2VuZXJhdGVkPC9TdGF0dXM+PENyZWF0ZWQ+MTQuMDUuMjAyMSAxMToxNzoxMjwvQ3JlYXRlZD48TW9kaWZpZWQ+MjIuMTAuMjAyMSAxMTo1MDoyNDwvTW9kaWZpZWQ+PFNvdXJjZT5NaXJhZG9yZU9ubGluZTwvU291cmNlPjxJbnZEZXZpY2U+PE1vZGVsPkFwcGxlIE1hY0Jvb2tQcm8xNCwzPC9Nb2RlbD48TWFudWZhY3R1cmVyPkFwcGxlPC9NYW51ZmFjdHVyZXI+PFByb2R1Y3ROYW1lPk1hY0Jvb2tQcm8xNCwzPC9Qcm9kdWN0TmFtZT48U29mdHdhcmVWZXJzaW9uPm1hY09TIDExLjY8L1NvZnR3YXJlVmVyc2lvbj48U2VyaWFsTnVtYmVyPkMwMldXMUY1SFRENTwvU2VyaWFsTnVtYmVyPjxXaUZpTUFDPmYwOjE4Ojk4OjI0OmI0OjY2PC9XaUZpTUFDPjxVRElEPjExREI2QjNBLTMzNkUtNTM3Ny05OUU3LTQ2M0UxRTAyMTgxMTwvVURJRD48RGV2aWNlVHlwZT5NYWNCb29rUHJvMTQsMzwvRGV2aWNlVHlwZT48RGV2aWNlTmFtZT5NYWNCb29rIFBybyBkZSBFZHVhcmQ8L0RldmljZU5hbWU+PEludmVudG9yeVRpbWU+MjkuMTAuMjAyMSAwNzoyNDozMjwvSW52ZW50b3J5VGltZT48L0ludkRldmljZT48SW52T1M+PFBsYXRmb3JtPm1hY09TPC9QbGF0Zm9ybT48VmVyc2lvbj4xMS42PC9WZXJzaW9uPjxCdWlsZD4yMEcxNjU8L0J1aWxkPjxJbnZlbnRvcnlUaW1lPjI5LjEwLjIwMjEgMDc6MjQ6MzI8L0ludmVudG9yeVRpbWU+PC9JbnZPUz48SW52U3RvcmFnZXM+PEludlN0b3JhZ2U+PFR5cGU+SW50ZXJuYWw8L1R5cGU+PEZyZWVTcGFjZT4xMjU2Mjc3OTM0MDg8L0ZyZWVTcGFjZT48VG90YWxTcGFjZT4yNTAxODE4NDQ5OTI8L1RvdGFsU3BhY2U+PEludmVudG9yeVRpbWU+MjkuMTAuMjAyMSAwNzoyNDozMjwvSW52ZW50b3J5VGltZT48L0ludlN0b3JhZ2U+PC9JbnZTdG9yYWdlcz48U2VjdXJpdHk+PFBhc3Njb2RlU2V0PlVua25vd248L1Bhc3Njb2RlU2V0PjxFbmNyeXB0aW9uU3RhdHVzPkVuYWJsZWQ8L0VuY3J5cHRpb25TdGF0dXM+PC9TZWN1cml0eT48L0RldmljZT48RGV2aWNlPjxJRD40PC9JRD48VXNlcj48SUQ+NjwvSUQ+PE5hbWU+VmFsZXJvIEFsZXhpczwvTmFtZT48RW1haWw+YWxleGlzQHJ6aWxpZW50LmNsdWI8L0VtYWlsPjxGaXJzdG5hbWU+QWxleGlzPC9GaXJzdG5hbWU+PExhc3RuYW1lPlZhbGVybzwvTGFzdG5hbWU+PFNvdXJjZT5HVUk8L1NvdXJjZT48U3RhdHVzPkFjdGl2ZTwvU3RhdHVzPjxDcmVhdGVkPjE3LjA1LjIwMjEgMTI6MDY6NDY8L0NyZWF0ZWQ+PE1vZGlmaWVkPjE3LjA1LjIwMjEgMTI6MDY6NDY8L01vZGlmaWVkPjwvVXNlcj48T3JnYW5pemF0aW9uPjxJRD4xPC9JRD48L09yZ2FuaXphdGlvbj48RW5yb2xsbWVudD48SUQ+MTI8L0lEPjxDcmVhdGVkPjE3LjA1LjIwMjEgMDg6MTY6MTQ8L0NyZWF0ZWQ+PENvbXBsZXRlZD4xNy4wNS4yMDIxIDA4OjE2OjQ3PC9Db21wbGV0ZWQ+PFR5cGU+RW5yb2xsZWRCeU1ETTwvVHlwZT48L0Vucm9sbG1lbnQ+PE9ubGluZVN0YXR1cz5Vbm1hbmFnZWQ8L09ubGluZVN0YXR1cz48TGFzdFJlcG9ydGVkPjI4LjA5LjIwMjEgMDk6NDQ6MDg8L0xhc3RSZXBvcnRlZD48TGFzdFJlcG9ydGVkRGF5cz4zMTwvTGFzdFJlcG9ydGVkRGF5cz48TGFzdFJlcG9ydGVkSG91cnM+NzQ4PC9MYXN0UmVwb3J0ZWRIb3Vycz48TGFzdFJlcG9ydGVkTWludXRlcz40NDg3MzwvTGFzdFJlcG9ydGVkTWludXRlcz48SVBBZGRyZXNzPjkyLjE1NC4xNC4xODg8L0lQQWRkcmVzcz48TG9jYWxJUEFkZHJlc3M+MTkyLjE2OC4xLjM2PC9Mb2NhbElQQWRkcmVzcz48TUFDQWRkcmVzcz5ENDo2RDo2RDo2NTowQzpERTwvTUFDQWRkcmVzcz48UGxhdGZvcm0+V2luZG93c0Rlc2t0b3A8L1BsYXRmb3JtPjxPU1ZlcnNpb25OYW1lPldpbmRvd3MgMTAgUHJvZmVzc2lvbm5lbCAoMTkwOSk8L09TVmVyc2lvbk5hbWU+PENsaWVudD48SUQ+NDwvSUQ+PC9DbGllbnQ+PENvbmZpZ1Byb2ZpbGVEZXBsb3ltZW50cyAvPjxTdGF0dXM+RGVsZXRlZDwvU3RhdHVzPjxDcmVhdGVkPjE3LjA1LjIwMjEgMDg6MTY6MTE8L0NyZWF0ZWQ+PE1vZGlmaWVkPjI1LjEwLjIwMjEgMTU6NTA6MzA8L01vZGlmaWVkPjxTb3VyY2U+TWlyYWRvcmVPbmxpbmU8L1NvdXJjZT48SW52RGV2aWNlPjxNb2RlbD5MRU5PVk8gMjBNNTAwMTNGUjwvTW9kZWw+PE1hbnVmYWN0dXJlcj5MRU5PVk88L01hbnVmYWN0dXJlcj48UHJvZHVjdE5hbWU+MjBNNTAwMTNGUjwvUHJvZHVjdE5hbWU+PFNvZnR3YXJlVmVyc2lvbj5XaW5kb3dzIDEwIFByb2Zlc3Npb25uZWwgKDE5MDkpPC9Tb2Z0d2FyZVZlcnNpb24+PFNlcmlhbE51bWJlcj5SOTBRRUxFVjwvU2VyaWFsTnVtYmVyPjxEZXZpY2VOYW1lPlBDMTM8L0RldmljZU5hbWU+PEludmVudG9yeVRpbWU+MjguMDkuMjAyMSAwNjozOToyNTwvSW52ZW50b3J5VGltZT48L0ludkRldmljZT48SW52T1M+PFBsYXRmb3JtPldpbmRvd3NEZXNrdG9wPC9QbGF0Zm9ybT48VmVyc2lvbj4xMC4wLjE4MzYzLjE1OTM8L1ZlcnNpb24+PExhbmd1YWdlPmZyLUZSPC9MYW5ndWFnZT48SW52ZW50b3J5VGltZT4yOC4wOS4yMDIxIDA2OjM5OjI1PC9JbnZlbnRvcnlUaW1lPjwvSW52T1M+PEludlN0b3JhZ2VzPjxJbnZTdG9yYWdlPjxUeXBlPkludGVybmFsPC9UeXBlPjxWb2x1bWU+QzogV2luZG93czwvVm9sdW1lPjxGcmVlU3BhY2U+OTIzNzg0MTkyMDA8L0ZyZWVTcGFjZT48VG90YWxTcGFjZT4yNTQ3MjExMjY0MDA8L1RvdGFsU3BhY2U+PEludmVudG9yeVRpbWU+MjcuMDkuMjAyMSAxMzo0NTozNzwvSW52ZW50b3J5VGltZT48L0ludlN0b3JhZ2U+PEludlN0b3JhZ2U+PFR5cGU+SW50ZXJuYWw8L1R5cGU+PFZvbHVtZT5HOiA8L1ZvbHVtZT48SW52ZW50b3J5VGltZT4yNy4wOS4yMDIxIDEzOjQ1OjM3PC9JbnZlbnRvcnlUaW1lPjwvSW52U3RvcmFnZT48L0ludlN0b3JhZ2VzPjxTZWN1cml0eT48UGFzc2NvZGVTZXQ+VW5rbm93bjwvUGFzc2NvZGVTZXQ+PEVuY3J5cHRpb25TdGF0dXM+RW5hYmxlZDwvRW5jcnlwdGlvblN0YXR1cz48L1NlY3VyaXR5PjwvRGV2aWNlPjxEZXZpY2U+PElEPjU8L0lEPjxVc2VyPjxJRD4yMTwvSUQ+PEVtYWlsPnN0b2NrQHJ6aWxpZW50LmNsdWI8L0VtYWlsPjxTb3VyY2U+VW5rbm93bjwvU291cmNlPjxTdGF0dXM+QWN0aXZlPC9TdGF0dXM+PENyZWF0ZWQ+MjguMDkuMjAyMSAxNTozMjoxNzwvQ3JlYXRlZD48TW9kaWZpZWQ+MjguMDkuMjAyMSAxNTozMjoxNzwvTW9kaWZpZWQ+PC9Vc2VyPjxFbnJvbGxtZW50PjxJRD4xNTwvSUQ+PFVzZXI+PElEPjk8L0lEPjwvVXNlcj48Q3JlYXRlZD4yNi4wNS4yMDIxIDA4OjE5OjUzPC9DcmVhdGVkPjxDb21wbGV0ZWQ+MjYuMDUuMjAyMSAwODoyMToyMzwvQ29tcGxldGVkPjxUeXBlPkVtYWlsPC9UeXBlPjxTZW5kZXI+ZWR1YXJkQHJ6aWxpZW50LmNsdWI8L1NlbmRlcj48L0Vucm9sbG1lbnQ+PE9ubGluZVN0YXR1cz5Vbmtub3duPC9PbmxpbmVTdGF0dXM+PExhc3RSZXBvcnRlZD4xMS4xMC4yMDIxIDE1OjQxOjQ2PC9MYXN0UmVwb3J0ZWQ+PExhc3RSZXBvcnRlZERheXM+MTg8L0xhc3RSZXBvcnRlZERheXM+PExhc3RSZXBvcnRlZEhvdXJzPjQzMDwvTGFzdFJlcG9ydGVkSG91cnM+PExhc3RSZXBvcnRlZE1pbnV0ZXM+MjU3OTY8L0xhc3RSZXBvcnRlZE1pbnV0ZXM+PElQQWRkcmVzcz4xODUuMjEyLjIxLjYzPC9JUEFkZHJlc3M+PE1BQ0FkZHJlc3M+ZjA6MTg6OTg6MWU6NjA6ZWM8L01BQ0FkZHJlc3M+PFBsYXRmb3JtPm1hY09TPC9QbGF0Zm9ybT48T1NWZXJzaW9uTmFtZT5tYWNPUyAxMS42PC9PU1ZlcnNpb25OYW1lPjxDbGllbnQ+PElEPjU8L0lEPjwvQ2xpZW50PjxDb25maWdQcm9maWxlRGVwbG95bWVudHMgLz48U3RhdHVzPkF1dG9HZW5lcmF0ZWQ8L1N0YXR1cz48Q3JlYXRlZD4yNi4wNS4yMDIxIDA4OjIxOjIzPC9DcmVhdGVkPjxNb2RpZmllZD4wMS4xMC4yMDIxIDE2OjMzOjEwPC9Nb2RpZmllZD48U291cmNlPk1pcmFkb3JlT25saW5lPC9Tb3VyY2U+PEludkRldmljZT48TW9kZWw+QXBwbGUgTWFjQm9va1BybzE0LDE8L01vZGVsPjxNYW51ZmFjdHVyZXI+QXBwbGU8L01hbnVmYWN0dXJlcj48UHJvZHVjdE5hbWU+TWFjQm9va1BybzE0LDE8L1Byb2R1Y3ROYW1lPjxTb2Z0d2FyZVZlcnNpb24+bWFjT1MgMTEuNjwvU29mdHdhcmVWZXJzaW9uPjxTZXJpYWxOdW1iZXI+RlZGWEowODNKOUsyPC9TZXJpYWxOdW1iZXI+PFdpRmlNQUM+ZjA6MTg6OTg6MWU6NjA6ZWM8L1dpRmlNQUM+PEJsdWV0b290aE1BQz5mMC0xOC05OC02Ni1lOS1lMjwvQmx1ZXRvb3RoTUFDPjxVRElEPkU4OEQxQjg0LTgyRjEtNTU2NC1CQTQwLTI1MzE0RUU0NTRGMjwvVURJRD48RGV2aWNlVHlwZT5NYWNCb29rUHJvMTQsMTwvRGV2aWNlVHlwZT48RGV2aWNlTmFtZT5BRE1JTuKAmXMgTWFjQm9vayBQcm88L0RldmljZU5hbWU+PEludmVudG9yeVRpbWU+MTEuMTAuMjAyMSAxMzowMzoyMzwvSW52ZW50b3J5VGltZT48L0ludkRldmljZT48SW52T1M+PFBsYXRmb3JtPm1hY09TPC9QbGF0Zm9ybT48VmVyc2lvbj4xMS42PC9WZXJzaW9uPjxCdWlsZD4yMEcxNjU8L0J1aWxkPjxJbnZlbnRvcnlUaW1lPjExLjEwLjIwMjEgMTM6MDM6MjM8L0ludmVudG9yeVRpbWU+PC9JbnZPUz48SW52U3RvcmFnZXM+PEludlN0b3JhZ2U+PFR5cGU+SW50ZXJuYWw8L1R5cGU+PEZyZWVTcGFjZT4xNzM5NDYxNzU0ODg8L0ZyZWVTcGFjZT48VG90YWxTcGFjZT4yNTAxODE4NDQ5OTI8L1RvdGFsU3BhY2U+PEludmVudG9yeVRpbWU+MTEuMTAuMjAyMSAxMzowMzoyMzwvSW52ZW50b3J5VGltZT48L0ludlN0b3JhZ2U+PC9JbnZTdG9yYWdlcz48U2VjdXJpdHk+PFBhc3Njb2RlU2V0PlVua25vd248L1Bhc3Njb2RlU2V0PjxFbmNyeXB0aW9uU3RhdHVzPkRpc2FibGVkPC9FbmNyeXB0aW9uU3RhdHVzPjwvU2VjdXJpdHk+PC9EZXZpY2U+PERldmljZT48SUQ+NjwvSUQ+PFVzZXI+PElEPjE2PC9JRD48RW1haWw+ZmFrZXVzZXJAZmFrZXVzZXIuY29tPC9FbWFpbD48U291cmNlPlVua25vd248L1NvdXJjZT48U3RhdHVzPkFjdGl2ZTwvU3RhdHVzPjxDcmVhdGVkPjE3LjA4LjIwMjEgMTU6NTA6MzI8L0NyZWF0ZWQ+PE1vZGlmaWVkPjE3LjA4LjIwMjEgMTU6NTA6MzI8L01vZGlmaWVkPjwvVXNlcj48RW5yb2xsbWVudD48SUQ+Mjg8L0lEPjxVc2VyPjxJRD4yMjwvSUQ+PC9Vc2VyPjxDcmVhdGVkPjA1LjEwLjIwMjEgMDg6NTU6MTY8L0NyZWF0ZWQ+PENvbXBsZXRlZD4wNS4xMC4yMDIxIDA4OjU3OjAzPC9Db21wbGV0ZWQ+PFR5cGU+U2hvd0NyZWRlbnRpYWxzPC9UeXBlPjxTZW5kZXI+cmVnaXNAcnppbGllbnQuY2x1YjwvU2VuZGVyPjwvRW5yb2xsbWVudD48T25saW5lU3RhdHVzPlVubWFuYWdlZDwvT25saW5lU3RhdHVzPjxMYXN0UmVwb3J0ZWQ+MDUuMTAuMjAyMSAwODo1NzoxNDwvTGFzdFJlcG9ydGVkPjxMYXN0UmVwb3J0ZWREYXlzPjI0PC9MYXN0UmVwb3J0ZWREYXlzPjxMYXN0UmVwb3J0ZWRIb3Vycz41ODE8L0xhc3RSZXBvcnRlZEhvdXJzPjxMYXN0UmVwb3J0ZWRNaW51dGVzPjM0ODQwPC9MYXN0UmVwb3J0ZWRNaW51dGVzPjxJUEFkZHJlc3M+MTg1LjIxMi4yMS42MzwvSVBBZGRyZXNzPjxNQUNBZGRyZXNzPjMwOjM1OmFkOmI1OjVlOmJlPC9NQUNBZGRyZXNzPjxQbGF0Zm9ybT5tYWNPUzwvUGxhdGZvcm0+PE9TVmVyc2lvbk5hbWU+bWFjT1MgMTEuNjwvT1NWZXJzaW9uTmFtZT48Q2xpZW50PjxJRD42PC9JRD48L0NsaWVudD48Q29uZmlnUHJvZmlsZURlcGxveW1lbnRzIC8+PFN0YXR1cz5EZWxldGVkPC9TdGF0dXM+PENyZWF0ZWQ+MjAuMDcuMjAyMSAwODo1MDozNDwvQ3JlYXRlZD48TW9kaWZpZWQ+MjUuMTAuMjAyMSAxNjowNjoxOTwvTW9kaWZpZWQ+PFNvdXJjZT5NaXJhZG9yZU9ubGluZTwvU291cmNlPjxJbnZEZXZpY2U+PE1vZGVsPkFwcGxlIE1hY0Jvb2tBaXI3LDI8L01vZGVsPjxNYW51ZmFjdHVyZXI+QXBwbGU8L01hbnVmYWN0dXJlcj48UHJvZHVjdE5hbWU+TWFjQm9va0FpcjcsMjwvUHJvZHVjdE5hbWU+PFNvZnR3YXJlVmVyc2lvbj5tYWNPUyAxMS42PC9Tb2Z0d2FyZVZlcnNpb24+PFNlcmlhbE51bWJlcj5HQ0NWMzJWVUoxV0s8L1NlcmlhbE51bWJlcj48V2lGaU1BQz4zMDozNTphZDpiNTo1ZTpiZTwvV2lGaU1BQz48Qmx1ZXRvb3RoTUFDPjMwLTM1LWFkLWI1LTVlLWJmPC9CbHVldG9vdGhNQUM+PFVESUQ+Q0U5RTlGRkItNUFFMS01MTYxLTg3Q0ItQTFCNEVBQjYyQTRCPC9VRElEPjxTdG9yZUFjY291bnRBY3RpdmU+RmFsc2U8L1N0b3JlQWNjb3VudEFjdGl2ZT48RGV2aWNlVHlwZT5NYWNCb29rQWlyNywyPC9EZXZpY2VUeXBlPjxEZXZpY2VOYW1lPk1hY0Jvb2sgQWlyIGRlIEFkbWluPC9EZXZpY2VOYW1lPjxJbnZlbnRvcnlUaW1lPjA1LjEwLjIwMjEgMDg6NTc6MDY8L0ludmVudG9yeVRpbWU+PC9JbnZEZXZpY2U+PEludk9TPjxQbGF0Zm9ybT5tYWNPUzwvUGxhdGZvcm0+PFZlcnNpb24+MTEuNjwvVmVyc2lvbj48QnVpbGQ+MjBHMTY1PC9CdWlsZD48SW52ZW50b3J5VGltZT4wNS4xMC4yMDIxIDA4OjU3OjA2PC9JbnZlbnRvcnlUaW1lPjwvSW52T1M+PEludlN0b3JhZ2VzPjxJbnZTdG9yYWdlPjxUeXBlPkludGVybmFsPC9UeXBlPjxGcmVlU3BhY2U+OTM0MTU1Mzg2ODg8L0ZyZWVTcGFjZT48VG90YWxTcGFjZT4xMjAyNTkwODQyODg8L1RvdGFsU3BhY2U+PEludmVudG9yeVRpbWU+MDUuMTAuMjAyMSAwODo1NzowNjwvSW52ZW50b3J5VGltZT48L0ludlN0b3JhZ2U+PC9JbnZTdG9yYWdlcz48U2VjdXJpdHk+PFBhc3Njb2RlU2V0PlVua25vd248L1Bhc3Njb2RlU2V0PjxFbmNyeXB0aW9uU3RhdHVzPkRpc2FibGVkPC9FbmNyeXB0aW9uU3RhdHVzPjwvU2VjdXJpdHk+PC9EZXZpY2U+PERldmljZT48SUQ+NzwvSUQ+PFVzZXI+PElEPjY8L0lEPjxOYW1lPlZhbGVybyBBbGV4aXM8L05hbWU+PEVtYWlsPmFsZXhpc0ByemlsaWVudC5jbHViPC9FbWFpbD48Rmlyc3RuYW1lPkFsZXhpczwvRmlyc3RuYW1lPjxMYXN0bmFtZT5WYWxlcm88L0xhc3RuYW1lPjxTb3VyY2U+R1VJPC9Tb3VyY2U+PFN0YXR1cz5BY3RpdmU8L1N0YXR1cz48Q3JlYXRlZD4xNy4wNS4yMDIxIDEyOjA2OjQ2PC9DcmVhdGVkPjxNb2RpZmllZD4xNy4wNS4yMDIxIDEyOjA2OjQ2PC9Nb2RpZmllZD48L1VzZXI+PEVucm9sbG1lbnQ+PElEPjI2PC9JRD48VXNlcj48SUQ+NjwvSUQ+PC9Vc2VyPjxDcmVhdGVkPjAxLjEwLjIwMjEgMTA6MzI6MTA8L0NyZWF0ZWQ+PENvbXBsZXRlZD4wMS4xMC4yMDIxIDEwOjQyOjAwPC9Db21wbGV0ZWQ+PFR5cGU+U2hvd0NyZWRlbnRpYWxzPC9UeXBlPjxTZW5kZXI+cmVnaXNAcnppbGllbnQuY2x1YjwvU2VuZGVyPjwvRW5yb2xsbWVudD48T25saW5lU3RhdHVzPlVubWFuYWdlZDwvT25saW5lU3RhdHVzPjxMYXN0UmVwb3J0ZWQ+MDQuMTAuMjAyMSAwODowNzowOTwvTGFzdFJlcG9ydGVkPjxMYXN0UmVwb3J0ZWREYXlzPjI1PC9MYXN0UmVwb3J0ZWREYXlzPjxMYXN0UmVwb3J0ZWRIb3Vycz42MDU8L0xhc3RSZXBvcnRlZEhvdXJzPjxMYXN0UmVwb3J0ZWRNaW51dGVzPjM2MzMwPC9MYXN0UmVwb3J0ZWRNaW51dGVzPjxJUEFkZHJlc3M+MTg1LjIxMi4yMS42MzwvSVBBZGRyZXNzPjxNQUNBZGRyZXNzPjhjOjg1OjkwOjFmOjI0OjI5PC9NQUNBZGRyZXNzPjxQbGF0Zm9ybT5tYWNPUzwvUGxhdGZvcm0+PE9TVmVyc2lvbk5hbWU+bWFjT1MgMTEuNjwvT1NWZXJzaW9uTmFtZT48Q2xpZW50PjxJRD43PC9JRD48L0NsaWVudD48Q29uZmlnUHJvZmlsZURlcGxveW1lbnRzIC8+PFN0YXR1cz5EZWxldGVkPC9TdGF0dXM+PENyZWF0ZWQ+MDEuMTAuMjAyMSAxMDo0MjowMDwvQ3JlYXRlZD48TW9kaWZpZWQ+MDQuMTAuMjAyMSAwODowNzowNzwvTW9kaWZpZWQ+PFNvdXJjZT5NaXJhZG9yZU9ubGluZTwvU291cmNlPjxJbnZEZXZpY2U+PE1vZGVsPkFwcGxlIE1hY0Jvb2tQcm8xNCwxPC9Nb2RlbD48TWFudWZhY3R1cmVyPkFwcGxlPC9NYW51ZmFjdHVyZXI+PFByb2R1Y3ROYW1lPk1hY0Jvb2tQcm8xNCwxPC9Qcm9kdWN0TmFtZT48U29mdHdhcmVWZXJzaW9uPm1hY09TIDExLjY8L1NvZnR3YXJlVmVyc2lvbj48U2VyaWFsTnVtYmVyPkMwMlYzS1NBSFYyOTwvU2VyaWFsTnVtYmVyPjxXaUZpTUFDPjhjOjg1OjkwOjFmOjI0OjI5PC9XaUZpTUFDPjxCbHVldG9vdGhNQUM+OGMtODUtOTAtMjEtYjEtMTM8L0JsdWV0b290aE1BQz48VURJRD4xOTVBNjlEMi1EOUE3LTUxNUQtODM0OS0zOTk5MTFFQzE0NTI8L1VESUQ+PERldmljZVR5cGU+TWFjQm9va1BybzE0LDE8L0RldmljZVR5cGU+PERldmljZU5hbWU+TWFjQm9vayBQcm8gZGUgYWRtaW48L0RldmljZU5hbWU+PEludmVudG9yeVRpbWU+MDQuMTAuMjAyMSAwNzo1NjowOTwvSW52ZW50b3J5VGltZT48L0ludkRldmljZT48SW52T1M+PFBsYXRmb3JtPm1hY09TPC9QbGF0Zm9ybT48VmVyc2lvbj4xMS42PC9WZXJzaW9uPjxCdWlsZD4yMEcxNjU8L0J1aWxkPjxJbnZlbnRvcnlUaW1lPjA0LjEwLjIwMjEgMDc6NTY6MDk8L0ludmVudG9yeVRpbWU+PC9JbnZPUz48SW52U3RvcmFnZXM+PEludlN0b3JhZ2U+PFR5cGU+SW50ZXJuYWw8L1R5cGU+PEZyZWVTcGFjZT4yMzA4NTQ0OTIxNjA8L0ZyZWVTcGFjZT48VG90YWxTcGFjZT4yNTAxODE4NDQ5OTI8L1RvdGFsU3BhY2U+PEludmVudG9yeVRpbWU+MDQuMTAuMjAyMSAwNzo1NjowOTwvSW52ZW50b3J5VGltZT48L0ludlN0b3JhZ2U+PC9JbnZTdG9yYWdlcz48U2VjdXJpdHk+PFBhc3Njb2RlU2V0PlVua25vd248L1Bhc3Njb2RlU2V0PjxFbmNyeXB0aW9uU3RhdHVzPkRpc2FibGVkPC9FbmNyeXB0aW9uU3RhdHVzPjwvU2VjdXJpdHk+PC9EZXZpY2U+PERldmljZT48SUQ+ODwvSUQ+PFVzZXI+PElEPjIyPC9JRD48TmFtZT5HaW1lbm8gUsOpZ2lzPC9OYW1lPjxFbWFpbD5yZWdpc0ByemlsaWVudC5jbHViPC9FbWFpbD48Rmlyc3RuYW1lPlLDqWdpczwvRmlyc3RuYW1lPjxMYXN0bmFtZT5HaW1lbm88L0xhc3RuYW1lPjxQaG9uZU51bWJlcj4rMzM3ODA5MTgyMDwvUGhvbmVOdW1iZXI+PFNvdXJjZT5HVUk8L1NvdXJjZT48U3RhdHVzPk5ldzwvU3RhdHVzPjxDcmVhdGVkPjAxLjEwLjIwMjEgMTA6Mjc6NDQ8L0NyZWF0ZWQ+PE1vZGlmaWVkPjAxLjEwLjIwMjEgMTA6Mjc6NDQ8L01vZGlmaWVkPjwvVXNlcj48RW5yb2xsbWVudD48SUQ+Mjc8L0lEPjxVc2VyPjxJRD4yMjwvSUQ+PC9Vc2VyPjxDcmVhdGVkPjAxLjEwLjIwMjEgMTI6NDQ6Mzk8L0NyZWF0ZWQ+PENvbXBsZXRlZD4wMS4xMC4yMDIxIDEyOjQ2OjQ2PC9Db21wbGV0ZWQ+PFR5cGU+U2hvd0NyZWRlbnRpYWxzPC9UeXBlPjxTZW5kZXI+cmVnaXNAcnppbGllbnQuY2x1YjwvU2VuZGVyPjwvRW5yb2xsbWVudD48T25saW5lU3RhdHVzPkFjdGl2ZTwvT25saW5lU3RhdHVzPjxMYXN0UmVwb3J0ZWQ+MjkuMTAuMjAyMSAxMDo1NTo1MTwvTGFzdFJlcG9ydGVkPjxMYXN0UmVwb3J0ZWREYXlzPjA8L0xhc3RSZXBvcnRlZERheXM+PExhc3RSZXBvcnRlZEhvdXJzPjM8L0xhc3RSZXBvcnRlZEhvdXJzPjxMYXN0UmVwb3J0ZWRNaW51dGVzPjE2MjwvTGFzdFJlcG9ydGVkTWludXRlcz48SVBBZGRyZXNzPjE4NS4yMTIuMjEuMzQ8L0lQQWRkcmVzcz48TUFDQWRkcmVzcz5mMDoxODo5ODoyODo3ZTo4ZTwvTUFDQWRkcmVzcz48UGxhdGZvcm0+bWFjT1M8L1BsYXRmb3JtPjxPU1ZlcnNpb25OYW1lPm1hY09TIDExLjY8L09TVmVyc2lvbk5hbWU+PENsaWVudD48SUQ+ODwvSUQ+PC9DbGllbnQ+PENvbmZpZ1Byb2ZpbGVEZXBsb3ltZW50cyAvPjxTdGF0dXM+QXV0b0dlbmVyYXRlZDwvU3RhdHVzPjxDcmVhdGVkPjAxLjEwLjIwMjEgMTI6NDY6NDY8L0NyZWF0ZWQ+PE1vZGlmaWVkPjAxLjEwLjIwMjEgMTI6NDY6NDY8L01vZGlmaWVkPjxTb3VyY2U+TWlyYWRvcmVPbmxpbmU8L1NvdXJjZT48SW52RGV2aWNlPjxNb2RlbD5BcHBsZSBNYWNCb29rUHJvMTUsMjwvTW9kZWw+PE1hbnVmYWN0dXJlcj5BcHBsZTwvTWFudWZhY3R1cmVyPjxQcm9kdWN0TmFtZT5NYWNCb29rUHJvMTUsMjwvUHJvZHVjdE5hbWU+PFNvZnR3YXJlVmVyc2lvbj5tYWNPUyAxMS42PC9Tb2Z0d2FyZVZlcnNpb24+PFNlcmlhbE51bWJlcj5DMDJYNzBHQ0pIRDI8L1NlcmlhbE51bWJlcj48V2lGaU1BQz5mMDoxODo5ODoyODo3ZTo4ZTwvV2lGaU1BQz48Qmx1ZXRvb3RoTUFDPmYwLTE4LTk4LTJiLWMyLWQxPC9CbHVldG9vdGhNQUM+PFVESUQ+QjhGQkJBQTMtMzI4OS01NzM2LThCOTItQTNFOUY4QTVFMkNBPC9VRElEPjxEZXZpY2VUeXBlPk1hY0Jvb2tQcm8xNSwyPC9EZXZpY2VUeXBlPjxEZXZpY2VOYW1lPk1hY0Jvb2sgUHJvIGRlIFImYW1wOyMyMzM7Z2lzPC9EZXZpY2VOYW1lPjxJbnZlbnRvcnlUaW1lPjI5LjEwLjIwMjEgMDY6Mjk6NDc8L0ludmVudG9yeVRpbWU+PC9JbnZEZXZpY2U+PEludk9TPjxQbGF0Zm9ybT5tYWNPUzwvUGxhdGZvcm0+PFZlcnNpb24+MTEuNjwvVmVyc2lvbj48QnVpbGQ+MjBHMTY1PC9CdWlsZD48SW52ZW50b3J5VGltZT4yOS4xMC4yMDIxIDA2OjI5OjQ3PC9JbnZlbnRvcnlUaW1lPjwvSW52T1M+PEludlN0b3JhZ2VzPjxJbnZTdG9yYWdlPjxUeXBlPkludGVybmFsPC9UeXBlPjxGcmVlU3BhY2U+MTQ4MTc2MzcxNzEyPC9GcmVlU3BhY2U+PFRvdGFsU3BhY2U+MjUwMTgxODQ0OTkyPC9Ub3RhbFNwYWNlPjxJbnZlbnRvcnlUaW1lPjI5LjEwLjIwMjEgMDY6Mjk6NDc8L0ludmVudG9yeVRpbWU+PC9JbnZTdG9yYWdlPjwvSW52U3RvcmFnZXM+PFNlY3VyaXR5PjxQYXNzY29kZVNldD5Vbmtub3duPC9QYXNzY29kZVNldD48RW5jcnlwdGlvblN0YXR1cz5EaXNhYmxlZDwvRW5jcnlwdGlvblN0YXR1cz48L1NlY3VyaXR5PjwvRGV2aWNlPjxEZXZpY2U+PElEPjk8L0lEPjxVc2VyPjxJRD4xNjwvSUQ+PEVtYWlsPmZha2V1c2VyQGZha2V1c2VyLmNvbTwvRW1haWw+PFNvdXJjZT5Vbmtub3duPC9Tb3VyY2U+PFN0YXR1cz5BY3RpdmU8L1N0YXR1cz48Q3JlYXRlZD4xNy4wOC4yMDIxIDE1OjUwOjMyPC9DcmVhdGVkPjxNb2RpZmllZD4xNy4wOC4yMDIxIDE1OjUwOjMyPC9Nb2RpZmllZD48L1VzZXI+PEVucm9sbG1lbnQ+PElEPjI5PC9JRD48VXNlcj48SUQ+MjI8L0lEPjwvVXNlcj48Q3JlYXRlZD4wNS4xMC4yMDIxIDA5OjAzOjA3PC9DcmVhdGVkPjxDb21wbGV0ZWQ+MDUuMTAuMjAyMSAwOTowNTozMzwvQ29tcGxldGVkPjxUeXBlPlNob3dDcmVkZW50aWFsczwvVHlwZT48U2VuZGVyPnJlZ2lzQHJ6aWxpZW50LmNsdWI8L1NlbmRlcj48L0Vucm9sbG1lbnQ+PE9ubGluZVN0YXR1cz5Vbm1hbmFnZWQ8L09ubGluZVN0YXR1cz48TGFzdFJlcG9ydGVkPjI2LjEwLjIwMjEgMTY6NTU6MTA8L0xhc3RSZXBvcnRlZD48TGFzdFJlcG9ydGVkRGF5cz4zPC9MYXN0UmVwb3J0ZWREYXlzPjxMYXN0UmVwb3J0ZWRIb3Vycz42OTwvTGFzdFJlcG9ydGVkSG91cnM+PExhc3RSZXBvcnRlZE1pbnV0ZXM+NDEyMjwvTGFzdFJlcG9ydGVkTWludXRlcz48SVBBZGRyZXNzPjE4NS4yMTIuMjEuMzQ8L0lQQWRkcmVzcz48TUFDQWRkcmVzcz5kMDo4MTo3YTpiYTphOTo5NjwvTUFDQWRkcmVzcz48UGxhdGZvcm0+bWFjT1M8L1BsYXRmb3JtPjxPU1ZlcnNpb25OYW1lPm1hY09TIDExLjUuMjwvT1NWZXJzaW9uTmFtZT48Q2xpZW50PjxJRD45PC9JRD48L0NsaWVudD48Q29uZmlnUHJvZmlsZURlcGxveW1lbnRzIC8+PFN0YXR1cz5Vbm1hbmFnZWQ8L1N0YXR1cz48Q3JlYXRlZD4wNS4xMC4yMDIxIDA5OjA1OjMzPC9DcmVhdGVkPjxNb2RpZmllZD4yNi4xMC4yMDIxIDE2OjU1OjEwPC9Nb2RpZmllZD48U291cmNlPk1pcmFkb3JlT25saW5lPC9Tb3VyY2U+PEludkRldmljZT48TW9kZWw+QXBwbGUgTWFjQm9va0FpcjcsMjwvTW9kZWw+PE1hbnVmYWN0dXJlcj5BcHBsZTwvTWFudWZhY3R1cmVyPjxQcm9kdWN0TmFtZT5NYWNCb29rQWlyNywyPC9Qcm9kdWN0TmFtZT48U29mdHdhcmVWZXJzaW9uPm1hY09TIDExLjUuMjwvU29mdHdhcmVWZXJzaW9uPjxTZXJpYWxOdW1iZXI+RlZIVlFGMVlKMVdLPC9TZXJpYWxOdW1iZXI+PFdpRmlNQUM+ZDA6ODE6N2E6YmE6YTk6OTY8L1dpRmlNQUM+PEJsdWV0b290aE1BQz5kMC04MS03YS1iYS1hOS05NzwvQmx1ZXRvb3RoTUFDPjxVRElEPkQ1NjMzQkRCLTg4MzQtNTczMi1COEIxLTQwQ0IwOUExOTVCMDwvVURJRD48RGV2aWNlVHlwZT5NYWNCb29rQWlyNywyPC9EZXZpY2VUeXBlPjxEZXZpY2VOYW1lPk1hY0Jvb2sgQWlyIGRlIHJ6aWxpZW50IElUMTwvRGV2aWNlTmFtZT48SW52ZW50b3J5VGltZT4yNi4xMC4yMDIxIDE1OjUxOjMwPC9JbnZlbnRvcnlUaW1lPjwvSW52RGV2aWNlPjxJbnZPUz48UGxhdGZvcm0+bWFjT1M8L1BsYXRmb3JtPjxWZXJzaW9uPjExLjUuMjwvVmVyc2lvbj48QnVpbGQ+MjBHOTU8L0J1aWxkPjxJbnZlbnRvcnlUaW1lPjI2LjEwLjIwMjEgMTU6NTE6MzA8L0ludmVudG9yeVRpbWU+PC9JbnZPUz48SW52U3RvcmFnZXM+PEludlN0b3JhZ2U+PFR5cGU+SW50ZXJuYWw8L1R5cGU+PEZyZWVTcGFjZT45NTU2MzAyMjMzNjwvRnJlZVNwYWNlPjxUb3RhbFNwYWNlPjEyMDI1OTA4NDI4ODwvVG90YWxTcGFjZT48SW52ZW50b3J5VGltZT4yNi4xMC4yMDIxIDE1OjUxOjMwPC9JbnZlbnRvcnlUaW1lPjwvSW52U3RvcmFnZT48L0ludlN0b3JhZ2VzPjxTZWN1cml0eT48UGFzc2NvZGVTZXQ+VW5rbm93bjwvUGFzc2NvZGVTZXQ+PEVuY3J5cHRpb25TdGF0dXM+RGlzYWJsZWQ8L0VuY3J5cHRpb25TdGF0dXM+PC9TZWN1cml0eT48L0RldmljZT48RGV2aWNlPjxJRD4xMDwvSUQ+PFVzZXI+PElEPjI0PC9JRD48TmFtZT5Qb2d1IEF1ZHJleTwvTmFtZT48RW1haWw+YXVkcmV5QHJ6aWxpZW50LmNsdWI8L0VtYWlsPjxGaXJzdG5hbWU+QXVkcmV5PC9GaXJzdG5hbWU+PExhc3RuYW1lPlBvZ3U8L0xhc3RuYW1lPjxTb3VyY2U+R1VJPC9Tb3VyY2U+PFN0YXR1cz5BY3RpdmU8L1N0YXR1cz48Q3JlYXRlZD4wOC4xMC4yMDIxIDEwOjU2OjQ2PC9DcmVhdGVkPjxNb2RpZmllZD4wOC4xMC4yMDIxIDEwOjU2OjQ2PC9Nb2RpZmllZD48L1VzZXI+PEVucm9sbG1lbnQ+PElEPjMyPC9JRD48Q3JlYXRlZD4wOC4xMC4yMDIxIDExOjE4OjA5PC9DcmVhdGVkPjxDb21wbGV0ZWQ+MDguMTAuMjAyMSAxMToxODozOTwvQ29tcGxldGVkPjxUeXBlPkVucm9sbGVkQnlNRE08L1R5cGU+PC9FbnJvbGxtZW50PjxPbmxpbmVTdGF0dXM+VW5tYW5hZ2VkPC9PbmxpbmVTdGF0dXM+PExhc3RSZXBvcnRlZD4xMS4xMC4yMDIxIDE0OjQyOjE0PC9MYXN0UmVwb3J0ZWQ+PExhc3RSZXBvcnRlZERheXM+MTg8L0xhc3RSZXBvcnRlZERheXM+PExhc3RSZXBvcnRlZEhvdXJzPjQzMTwvTGFzdFJlcG9ydGVkSG91cnM+PExhc3RSZXBvcnRlZE1pbnV0ZXM+MjU4NTU8L0xhc3RSZXBvcnRlZE1pbnV0ZXM+PElQQWRkcmVzcz4xODUuMjEyLjIxLjYzPC9JUEFkZHJlc3M+PExvY2FsSVBBZGRyZXNzPjE3Mi4xOC4yNTIuMjA8L0xvY2FsSVBBZGRyZXNzPjxNQUNBZGRyZXNzPkZDOkY4OkFFOjk4OjI5OjVDPC9NQUNBZGRyZXNzPjxQbGF0Zm9ybT5XaW5kb3dzRGVza3RvcDwvUGxhdGZvcm0+PE9TVmVyc2lvbk5hbWU+V2luZG93cyAxMCBQcm88L09TVmVyc2lvbk5hbWU+PENsaWVudD48SUQ+MTA8L0lEPjwvQ2xpZW50PjxDb25maWdQcm9maWxlRGVwbG95bWVudHMgLz48U3RhdHVzPkRlbGV0ZWQ8L1N0YXR1cz48Q3JlYXRlZD4wOC4xMC4yMDIxIDExOjE4OjA1PC9DcmVhdGVkPjxNb2RpZmllZD4xMi4xMC4yMDIxIDE0OjQzOjE1PC9Nb2RpZmllZD48U291cmNlPk1pcmFkb3JlT25saW5lPC9Tb3VyY2U+PEludkRldmljZT48TW9kZWw+SGV3bGV0dC1QYWNrYXJkIEhQIEVsaXRlQm9vayA4NTAgRzE8L01vZGVsPjxNYW51ZmFjdHVyZXI+SGV3bGV0dC1QYWNrYXJkPC9NYW51ZmFjdHVyZXI+PFByb2R1Y3ROYW1lPkhQIEVsaXRlQm9vayA4NTAgRzE8L1Byb2R1Y3ROYW1lPjxTb2Z0d2FyZVZlcnNpb24+V2luZG93cyAxMCBQcm88L1NvZnR3YXJlVmVyc2lvbj48U2VyaWFsTnVtYmVyPkNOVTQwOEJTTjM8L1NlcmlhbE51bWJlcj48RGV2aWNlTmFtZT5ERVNLVE9QLVBPTDhUMkM8L0RldmljZU5hbWU+PEludmVudG9yeVRpbWU+MTEuMTAuMjAyMSAxNDo0MjoxMzwvSW52ZW50b3J5VGltZT48L0ludkRldmljZT48SW52T1M+PFBsYXRmb3JtPldpbmRvd3NEZXNrdG9wPC9QbGF0Zm9ybT48VmVyc2lvbj4xMC4wLjE5MDQzLjEyMzc8L1ZlcnNpb24+PExhbmd1YWdlPmZyLUZSPC9MYW5ndWFnZT48SW52ZW50b3J5VGltZT4xMS4xMC4yMDIxIDE0OjQyOjEzPC9JbnZlbnRvcnlUaW1lPjwvSW52T1M+PEludlN0b3JhZ2VzPjxJbnZTdG9yYWdlPjxUeXBlPkludGVybmFsPC9UeXBlPjxWb2x1bWU+QzogPC9Wb2x1bWU+PEZyZWVTcGFjZT4xMzY3NTk0NzYyMjQ8L0ZyZWVTcGFjZT48VG90YWxTcGFjZT4xNzg3NzQ0NDE5ODQ8L1RvdGFsU3BhY2U+PEludmVudG9yeVRpbWU+MTEuMTAuMjAyMSAxNDo0MjoxMzwvSW52ZW50b3J5VGltZT48L0ludlN0b3JhZ2U+PC9JbnZTdG9yYWdlcz48U2VjdXJpdHk+PFBhc3Njb2RlU2V0PlVua25vd248L1Bhc3Njb2RlU2V0PjxFbmNyeXB0aW9uU3RhdHVzPkRpc2FibGVkPC9FbmNyeXB0aW9uU3RhdHVzPjwvU2VjdXJpdHk+PC9EZXZpY2U+PERldmljZT48SUQ+MTE8L0lEPjxVc2VyPjxJRD4yMzwvSUQ+PE5hbWU+U2F3YXlhIFN0ZXBoYW5pZTwvTmFtZT48RW1haWw+c3RlcGhhbmllQHJ6aWxpZW50LmNsdWIgPC9FbWFpbD48Rmlyc3RuYW1lPlN0ZXBoYW5pZTwvRmlyc3RuYW1lPjxMYXN0bmFtZT5TYXdheWE8L0xhc3RuYW1lPjxTb3VyY2U+R1VJPC9Tb3VyY2U+PFN0YXR1cz5BY3RpdmU8L1N0YXR1cz48Q3JlYXRlZD4wOC4xMC4yMDIxIDEwOjU2OjEzPC9DcmVhdGVkPjxNb2RpZmllZD4wOC4xMC4yMDIxIDEwOjU2OjEzPC9Nb2RpZmllZD48L1VzZXI+PEVucm9sbG1lbnQ+PElEPjMxPC9JRD48VXNlcj48SUQ+MjM8L0lEPjwvVXNlcj48Q3JlYXRlZD4wOC4xMC4yMDIxIDEwOjU3OjExPC9DcmVhdGVkPjxDb21wbGV0ZWQ+MDguMTAuMjAyMSAxMzo0MzozMTwvQ29tcGxldGVkPjxUeXBlPlNob3dDcmVkZW50aWFsczwvVHlwZT48U2VuZGVyPnJlZ2lzQHJ6aWxpZW50LmNsdWI8L1NlbmRlcj48L0Vucm9sbG1lbnQ+PE9ubGluZVN0YXR1cz5Vbm1hbmFnZWQ8L09ubGluZVN0YXR1cz48TGFzdFJlcG9ydGVkPjIxLjEwLjIwMjEgMTM6MTE6MDE8L0xhc3RSZXBvcnRlZD48TGFzdFJlcG9ydGVkRGF5cz44PC9MYXN0UmVwb3J0ZWREYXlzPjxMYXN0UmVwb3J0ZWRIb3Vycz4xOTI8L0xhc3RSZXBvcnRlZEhvdXJzPjxMYXN0UmVwb3J0ZWRNaW51dGVzPjExNTQ2PC9MYXN0UmVwb3J0ZWRNaW51dGVzPjxJUEFkZHJlc3M+MTg1LjIxMi4yMS4zNDwvSVBBZGRyZXNzPjxNQUNBZGRyZXNzPjNDOjkxOjgwOkQxOkQ1OkE1PC9NQUNBZGRyZXNzPjxQbGF0Zm9ybT5XaW5kb3dzRGVza3RvcDwvUGxhdGZvcm0+PE9TVmVyc2lvbk5hbWU+V2luZG93cyAxMCBIb21lICgyMEgyKTwvT1NWZXJzaW9uTmFtZT48Q2xpZW50PjxJRD4xMTwvSUQ+PC9DbGllbnQ+PENvbmZpZ1Byb2ZpbGVEZXBsb3ltZW50cyAvPjxTdGF0dXM+RGVsZXRlZDwvU3RhdHVzPjxDcmVhdGVkPjA4LjEwLjIwMjEgMTM6NDM6MzE8L0NyZWF0ZWQ+PE1vZGlmaWVkPjI1LjEwLjIwMjEgMTU6NTE6MDY8L01vZGlmaWVkPjxTb3VyY2U+TWlyYWRvcmVPbmxpbmU8L1NvdXJjZT48SW52RGV2aWNlPjxNb2RlbD5BY2VyIEFzcGlyZSBBMzE0LTIxPC9Nb2RlbD48TWFudWZhY3R1cmVyPkFjZXI8L01hbnVmYWN0dXJlcj48UHJvZHVjdE5hbWU+QXNwaXJlIEEzMTQtMjE8L1Byb2R1Y3ROYW1lPjxTb2Z0d2FyZVZlcnNpb24+V2luZG93cyAxMCBIb21lICgyMEgyKTwvU29mdHdhcmVWZXJzaW9uPjxTZXJpYWxOdW1iZXI+TlhIRVNFQjAwMTkyNTE0MTM4NzYwMDwvU2VyaWFsTnVtYmVyPjxEZXZpY2VOYW1lPkRFU0tUT1AtSDVDUk1WMzwvRGV2aWNlTmFtZT48SW52ZW50b3J5VGltZT4yMC4xMC4yMDIxIDE3OjExOjM0PC9JbnZlbnRvcnlUaW1lPjwvSW52RGV2aWNlPjxJbnZPUz48UGxhdGZvcm0+V2luZG93c0Rlc2t0b3A8L1BsYXRmb3JtPjxWZXJzaW9uPjEwLjAuMTkwNDIuMTI4ODwvVmVyc2lvbj48TGFuZ3VhZ2U+ZnItRlI8L0xhbmd1YWdlPjxJbnZlbnRvcnlUaW1lPjIwLjEwLjIwMjEgMTc6MTE6MzQ8L0ludmVudG9yeVRpbWU+PC9JbnZPUz48SW52U3RvcmFnZXM+PEludlN0b3JhZ2U+PFR5cGU+SW50ZXJuYWw8L1R5cGU+PFZvbHVtZT5DOiA8L1ZvbHVtZT48RnJlZVNwYWNlPjIxMDgzMTc4MTg4ODwvRnJlZVNwYWNlPjxUb3RhbFNwYWNlPjI1NTM5ODUyNjk3NjwvVG90YWxTcGFjZT48SW52ZW50b3J5VGltZT4yMC4xMC4yMDIxIDE3OjExOjM0PC9JbnZlbnRvcnlUaW1lPjwvSW52U3RvcmFnZT48SW52U3RvcmFnZT48VHlwZT5JbnRlcm5hbDwvVHlwZT48Vm9sdW1lPkc6IDwvVm9sdW1lPjxJbnZlbnRvcnlUaW1lPjIwLjEwLjIwMjEgMTc6MTE6MzQ8L0ludmVudG9yeVRpbWU+PC9JbnZTdG9yYWdlPjwvSW52U3RvcmFnZXM+PFNlY3VyaXR5PjxQYXNzY29kZVNldD5Vbmtub3duPC9QYXNzY29kZVNldD48RW5jcnlwdGlvblN0YXR1cz5EaXNhYmxlZDwvRW5jcnlwdGlvblN0YXR1cz48L1NlY3VyaXR5PjwvRGV2aWNlPjxEZXZpY2U+PElEPjEyPC9JRD48VXNlcj48SUQ+NjwvSUQ+PE5hbWU+VmFsZXJvIEFsZXhpczwvTmFtZT48RW1haWw+YWxleGlzQHJ6aWxpZW50LmNsdWI8L0VtYWlsPjxGaXJzdG5hbWU+QWxleGlzPC9GaXJzdG5hbWU+PExhc3RuYW1lPlZhbGVybzwvTGFzdG5hbWU+PFNvdXJjZT5HVUk8L1NvdXJjZT48U3RhdHVzPkFjdGl2ZTwvU3RhdHVzPjxDcmVhdGVkPjE3LjA1LjIwMjEgMTI6MDY6NDY8L0NyZWF0ZWQ+PE1vZGlmaWVkPjE3LjA1LjIwMjEgMTI6MDY6NDY8L01vZGlmaWVkPjwvVXNlcj48RW5yb2xsbWVudD48SUQ+MzM8L0lEPjxVc2VyPjxJRD4yMjwvSUQ+PC9Vc2VyPjxDcmVhdGVkPjIxLjEwLjIwMjEgMDg6MDY6MzU8L0NyZWF0ZWQ+PENvbXBsZXRlZD4yMS4xMC4yMDIxIDA4OjEyOjM1PC9Db21wbGV0ZWQ+PFR5cGU+RW1haWw8L1R5cGU+PFNlbmRlcj5yZWdpc0ByemlsaWVudC5jbHViPC9TZW5kZXI+PC9FbnJvbGxtZW50PjxPbmxpbmVTdGF0dXM+QWN0aXZlPC9PbmxpbmVTdGF0dXM+PExhc3RSZXBvcnRlZD4yOS4xMC4yMDIxIDExOjU1OjE3PC9MYXN0UmVwb3J0ZWQ+PExhc3RSZXBvcnRlZERheXM+MDwvTGFzdFJlcG9ydGVkRGF5cz48TGFzdFJlcG9ydGVkSG91cnM+MjwvTGFzdFJlcG9ydGVkSG91cnM+PExhc3RSZXBvcnRlZE1pbnV0ZXM+MTAyPC9MYXN0UmVwb3J0ZWRNaW51dGVzPjxJUEFkZHJlc3M+MTg1LjIxMi4yMS4zNDwvSVBBZGRyZXNzPjxNQUNBZGRyZXNzPmE0OjVlOjYwOmMyOjgwOmExPC9NQUNBZGRyZXNzPjxQbGF0Zm9ybT5tYWNPUzwvUGxhdGZvcm0+PE9TVmVyc2lvbk5hbWU+bWFjT1MgMTEuNjwvT1NWZXJzaW9uTmFtZT48Q2xpZW50PjxJRD4xMjwvSUQ+PC9DbGllbnQ+PENvbmZpZ1Byb2ZpbGVEZXBsb3ltZW50cyAvPjxTdGF0dXM+QXV0b0dlbmVyYXRlZDwvU3RhdHVzPjxDcmVhdGVkPjIxLjEwLjIwMjEgMDg6MTI6MzU8L0NyZWF0ZWQ+PE1vZGlmaWVkPjIxLjEwLjIwMjEgMDg6MTk6MDE8L01vZGlmaWVkPjxTb3VyY2U+TWlyYWRvcmVPbmxpbmU8L1NvdXJjZT48SW52RGV2aWNlPjxNb2RlbD5BcHBsZSBNYWNCb29rUHJvMTIsMTwvTW9kZWw+PE1hbnVmYWN0dXJlcj5BcHBsZTwvTWFudWZhY3R1cmVyPjxQcm9kdWN0TmFtZT5NYWNCb29rUHJvMTIsMTwvUHJvZHVjdE5hbWU+PFNvZnR3YXJlVmVyc2lvbj5tYWNPUyAxMS42PC9Tb2Z0d2FyZVZlcnNpb24+PFNlcmlhbE51bWJlcj5DMDJQRjBWTkZWSDg8L1NlcmlhbE51bWJlcj48V2lGaU1BQz5hNDo1ZTo2MDpjMjo4MDphMTwvV2lGaU1BQz48Qmx1ZXRvb3RoTUFDPmE0LTVlLTYwLWMyLTgwLWEyPC9CbHVldG9vdGhNQUM+PFVESUQ+RjJCNDM2MkQtNDZEOS01RDg0LUIzN0ItMTAxQzFCMTJCMjUzPC9VRElEPjxEZXZpY2VUeXBlPk1hY0Jvb2tQcm8xMiwxPC9EZXZpY2VUeXBlPjxEZXZpY2VOYW1lPk1hY0Jvb2sgUHJvIGRlIGFkbWluPC9EZXZpY2VOYW1lPjxJbnZlbnRvcnlUaW1lPjI4LjEwLjIwMjEgMTM6MDU6MTA8L0ludmVudG9yeVRpbWU+PC9JbnZEZXZpY2U+PEludk9TPjxQbGF0Zm9ybT5tYWNPUzwvUGxhdGZvcm0+PFZlcnNpb24+MTEuNjwvVmVyc2lvbj48QnVpbGQ+MjBHMTY1PC9CdWlsZD48SW52ZW50b3J5VGltZT4yOC4xMC4yMDIxIDEzOjA1OjEwPC9JbnZlbnRvcnlUaW1lPjwvSW52T1M+PEludlN0b3JhZ2VzPjxJbnZTdG9yYWdlPjxUeXBlPkludGVybmFsPC9UeXBlPjxGcmVlU3BhY2U+NDY4MTUxNDM1MjY0PC9GcmVlU3BhY2U+PFRvdGFsU3BhY2U+NDk5Mjg5OTQ4MTYwPC9Ub3RhbFNwYWNlPjxJbnZlbnRvcnlUaW1lPjI4LjEwLjIwMjEgMTM6MDU6MTA8L0ludmVudG9yeVRpbWU+PC9JbnZTdG9yYWdlPjwvSW52U3RvcmFnZXM+PFNlY3VyaXR5PjxQYXNzY29kZVNldD5Vbmtub3duPC9QYXNzY29kZVNldD48RW5jcnlwdGlvblN0YXR1cz5EaXNhYmxlZDwvRW5jcnlwdGlvblN0YXR1cz48L1NlY3VyaXR5PjwvRGV2aWNlPjxEZXZpY2U+PElEPjEzPC9JRD48VXNlcj48SUQ+MjM8L0lEPjxOYW1lPlNhd2F5YSBTdGVwaGFuaWU8L05hbWU+PEVtYWlsPnN0ZXBoYW5pZUByemlsaWVudC5jbHViIDwvRW1haWw+PEZpcnN0bmFtZT5TdGVwaGFuaWU8L0ZpcnN0bmFtZT48TGFzdG5hbWU+U2F3YXlhPC9MYXN0bmFtZT48U291cmNlPkdVSTwvU291cmNlPjxTdGF0dXM+QWN0aXZlPC9TdGF0dXM+PENyZWF0ZWQ+MDguMTAuMjAyMSAxMDo1NjoxMzwvQ3JlYXRlZD48TW9kaWZpZWQ+MDguMTAuMjAyMSAxMDo1NjoxMzwvTW9kaWZpZWQ+PC9Vc2VyPjxFbnJvbGxtZW50PjxJRD4zNTwvSUQ+PENyZWF0ZWQ+MjEuMTAuMjAyMSAxMToxNjoxMjwvQ3JlYXRlZD48Q29tcGxldGVkPjIxLjEwLjIwMjEgMTE6MTc6NDY8L0NvbXBsZXRlZD48VHlwZT5FbnJvbGxlZEJ5TURNPC9UeXBlPjwvRW5yb2xsbWVudD48T25saW5lU3RhdHVzPlVubWFuYWdlZDwvT25saW5lU3RhdHVzPjxMYXN0UmVwb3J0ZWQ+MjEuMTAuMjAyMSAxNToxMjoxNjwvTGFzdFJlcG9ydGVkPjxMYXN0UmVwb3J0ZWREYXlzPjg8L0xhc3RSZXBvcnRlZERheXM+PExhc3RSZXBvcnRlZEhvdXJzPjE5MDwvTGFzdFJlcG9ydGVkSG91cnM+PExhc3RSZXBvcnRlZE1pbnV0ZXM+MTE0MjU8L0xhc3RSZXBvcnRlZE1pbnV0ZXM+PElQQWRkcmVzcz4xODUuMjEyLjIxLjM0PC9JUEFkZHJlc3M+PExvY2FsSVBBZGRyZXNzPjE3Mi4xOC4xOTMuMjc8L0xvY2FsSVBBZGRyZXNzPjxNQUNBZGRyZXNzPjgwOkNFOjYyOjM5OjU3Ojk4PC9NQUNBZGRyZXNzPjxQbGF0Zm9ybT5XaW5kb3dzRGVza3RvcDwvUGxhdGZvcm0+PE9TVmVyc2lvbk5hbWU+V2luZG93cyAxMCBQcm9mZXNzaW9ubmVsICgyMUgxKTwvT1NWZXJzaW9uTmFtZT48Q2xpZW50PjxJRD4xMzwvSUQ+PC9DbGllbnQ+PENvbmZpZ1Byb2ZpbGVEZXBsb3ltZW50cyAvPjxTdGF0dXM+RGVsZXRlZDwvU3RhdHVzPjxDcmVhdGVkPjIxLjEwLjIwMjEgMTE6MTY6MTA8L0NyZWF0ZWQ+PE1vZGlmaWVkPjI1LjEwLjIwMjEgMTU6NTE6MDY8L01vZGlmaWVkPjxTb3VyY2U+TWlyYWRvcmVPbmxpbmU8L1NvdXJjZT48SW52RGV2aWNlPjxNb2RlbD5IUCBIUCBQcm9Cb29rIDQzMCBHNDwvTW9kZWw+PE1hbnVmYWN0dXJlcj5IUDwvTWFudWZhY3R1cmVyPjxQcm9kdWN0TmFtZT5IUCBQcm9Cb29rIDQzMCBHNDwvUHJvZHVjdE5hbWU+PFNvZnR3YXJlVmVyc2lvbj5XaW5kb3dzIDEwIFByb2Zlc3Npb25uZWwgKDIxSDEpPC9Tb2Z0d2FyZVZlcnNpb24+PFNlcmlhbE51bWJlcj41Q0Q3MjU5M0RGPC9TZXJpYWxOdW1iZXI+PERldmljZU5hbWU+REVTS1RPUC04MDFHUzdWPC9EZXZpY2VOYW1lPjxJbnZlbnRvcnlUaW1lPjIxLjEwLjIwMjEgMTU6MDQ6NTI8L0ludmVudG9yeVRpbWU+PC9JbnZEZXZpY2U+PEludk9TPjxQbGF0Zm9ybT5XaW5kb3dzRGVza3RvcDwvUGxhdGZvcm0+PFZlcnNpb24+MTAuMC4xOTA0My4xMjg4PC9WZXJzaW9uPjxMYW5ndWFnZT5mci1GUjwvTGFuZ3VhZ2U+PEludmVudG9yeVRpbWU+MjEuMTAuMjAyMSAxNTowNDo1MjwvSW52ZW50b3J5VGltZT48L0ludk9TPjxJbnZTdG9yYWdlcz48SW52U3RvcmFnZT48VHlwZT5JbnRlcm5hbDwvVHlwZT48Vm9sdW1lPkM6IDwvVm9sdW1lPjxGcmVlU3BhY2U+MjI3ODEwNjY0NDQ4PC9GcmVlU3BhY2U+PFRvdGFsU3BhY2U+MjU1Mzk4NTI2OTc2PC9Ub3RhbFNwYWNlPjxJbnZlbnRvcnlUaW1lPjIxLjEwLjIwMjEgMTE6MTY6MTA8L0ludmVudG9yeVRpbWU+PC9JbnZTdG9yYWdlPjwvSW52U3RvcmFnZXM+PFNlY3VyaXR5PjxQYXNzY29kZVNldD5Vbmtub3duPC9QYXNzY29kZVNldD48RW5jcnlwdGlvblN0YXR1cz5EaXNhYmxlZDwvRW5jcnlwdGlvblN0YXR1cz48L1NlY3VyaXR5PjwvRGV2aWNlPjxEZXZpY2U+PElEPjE0PC9JRD48VXNlcj48SUQ+MjQ8L0lEPjxOYW1lPlBvZ3UgQXVkcmV5PC9OYW1lPjxFbWFpbD5hdWRyZXlAcnppbGllbnQuY2x1YjwvRW1haWw+PEZpcnN0bmFtZT5BdWRyZXk8L0ZpcnN0bmFtZT48TGFzdG5hbWU+UG9ndTwvTGFzdG5hbWU+PFNvdXJjZT5HVUk8L1NvdXJjZT48U3RhdHVzPkFjdGl2ZTwvU3RhdHVzPjxDcmVhdGVkPjA4LjEwLjIwMjEgMTA6NTY6NDY8L0NyZWF0ZWQ+PE1vZGlmaWVkPjA4LjEwLjIwMjEgMTA6NTY6NDY8L01vZGlmaWVkPjwvVXNlcj48RW5yb2xsbWVudD48SUQ+MzY8L0lEPjxVc2VyPjxJRD4yMjwvSUQ+PC9Vc2VyPjxDcmVhdGVkPjIyLjEwLjIwMjEgMTA6NDk6MzA8L0NyZWF0ZWQ+PENvbXBsZXRlZD4yMi4xMC4yMDIxIDEwOjUxOjI1PC9Db21wbGV0ZWQ+PFR5cGU+RW1haWw8L1R5cGU+PFNlbmRlcj5yZWdpc0ByemlsaWVudC5jbHViPC9TZW5kZXI+PC9FbnJvbGxtZW50PjxPbmxpbmVTdGF0dXM+QWN0aXZlPC9PbmxpbmVTdGF0dXM+PExhc3RSZXBvcnRlZD4yOS4xMC4yMDIxIDExOjA1OjUyPC9MYXN0UmVwb3J0ZWQ+PExhc3RSZXBvcnRlZERheXM+MDwvTGFzdFJlcG9ydGVkRGF5cz48TGFzdFJlcG9ydGVkSG91cnM+MjwvTGFzdFJlcG9ydGVkSG91cnM+PExhc3RSZXBvcnRlZE1pbnV0ZXM+MTUyPC9MYXN0UmVwb3J0ZWRNaW51dGVzPjxJUEFkZHJlc3M+NjIuNTcuOTYuMTQwPC9JUEFkZHJlc3M+PE1BQ0FkZHJlc3M+OGM6ODU6OTA6NTg6OWU6ZDg8L01BQ0FkZHJlc3M+PFBsYXRmb3JtPm1hY09TPC9QbGF0Zm9ybT48T1NWZXJzaW9uTmFtZT5tYWNPUyAxMS42PC9PU1ZlcnNpb25OYW1lPjxDbGllbnQ+PElEPjE0PC9JRD48L0NsaWVudD48Q29uZmlnUHJvZmlsZURlcGxveW1lbnRzIC8+PFN0YXR1cz5BdXRvR2VuZXJhdGVkPC9TdGF0dXM+PENyZWF0ZWQ+MjIuMTAuMjAyMSAxMDo1MToyNTwvQ3JlYXRlZD48TW9kaWZpZWQ+MjIuMTAuMjAyMSAxMDo1ODoyNjwvTW9kaWZpZWQ+PFNvdXJjZT5NaXJhZG9yZU9ubGluZTwvU291cmNlPjxJbnZEZXZpY2U+PE1vZGVsPkFwcGxlIE1hY0Jvb2tQcm8xNCwxPC9Nb2RlbD48TWFudWZhY3R1cmVyPkFwcGxlPC9NYW51ZmFjdHVyZXI+PFByb2R1Y3ROYW1lPk1hY0Jvb2tQcm8xNCwxPC9Qcm9kdWN0TmFtZT48U29mdHdhcmVWZXJzaW9uPm1hY09TIDExLjY8L1NvZnR3YXJlVmVyc2lvbj48U2VyaWFsTnVtYmVyPkMwMlZLMDM0SFYySjwvU2VyaWFsTnVtYmVyPjxXaUZpTUFDPjhjOjg1OjkwOjU4OjllOmQ4PC9XaUZpTUFDPjxCbHVldG9vdGhNQUM+OGMtODUtOTAtNjQtYWYtZTc8L0JsdWV0b290aE1BQz48VURJRD4zMDFFM0Y2RS1CQjFBLTVBOTQtQjQ4Ri02RjRFNjY4MzA4NUE8L1VESUQ+PERldmljZVR5cGU+TWFjQm9va1BybzE0LDE8L0RldmljZVR5cGU+PERldmljZU5hbWU+QWRtaW7igJlzIE1hY0Jvb2sgUHJvPC9EZXZpY2VOYW1lPjxJbnZlbnRvcnlUaW1lPjI4LjEwLjIwMjEgMTU6NTk6MTM8L0ludmVudG9yeVRpbWU+PC9JbnZEZXZpY2U+PEludk9TPjxQbGF0Zm9ybT5tYWNPUzwvUGxhdGZvcm0+PFZlcnNpb24+MTEuNjwvVmVyc2lvbj48QnVpbGQ+MjBHMTY1PC9CdWlsZD48SW52ZW50b3J5VGltZT4yOC4xMC4yMDIxIDE1OjU5OjEzPC9JbnZlbnRvcnlUaW1lPjwvSW52T1M+PEludlN0b3JhZ2VzPjxJbnZTdG9yYWdlPjxUeXBlPkludGVybmFsPC9UeXBlPjxGcmVlU3BhY2U+MjA2MTU4NDMwMjA4PC9GcmVlU3BhY2U+PFRvdGFsU3BhY2U+MjUwMTgxODQ0OTkyPC9Ub3RhbFNwYWNlPjxJbnZlbnRvcnlUaW1lPjI4LjEwLjIwMjEgMTU6NTk6MTM8L0ludmVudG9yeVRpbWU+PC9JbnZTdG9yYWdlPjwvSW52U3RvcmFnZXM+PFNlY3VyaXR5PjxQYXNzY29kZVNldD5Vbmtub3duPC9QYXNzY29kZVNldD48RW5jcnlwdGlvblN0YXR1cz5EaXNhYmxlZDwvRW5jcnlwdGlvblN0YXR1cz48L1NlY3VyaXR5PjwvRGV2aWNlPjxEZXZpY2U+PElEPjE1PC9JRD48VXNlcj48SUQ+MjU8L0lEPjxFbWFpbD5tYXhAcnppbGllbnQuY2x1YjwvRW1haWw+PFNvdXJjZT5HVUk8L1NvdXJjZT48U3RhdHVzPk5ldzwvU3RhdHVzPjxDcmVhdGVkPjIwLjEwLjIwMjEgMTQ6Mjg6NTk8L0NyZWF0ZWQ+PE1vZGlmaWVkPjIwLjEwLjIwMjEgMTQ6Mjg6NTk8L01vZGlmaWVkPjwvVXNlcj48RW5yb2xsbWVudD48SUQ+Mzg8L0lEPjxDcmVhdGVkPjI1LjEwLjIwMjEgMTU6Mzk6MzQ8L0NyZWF0ZWQ+PENvbXBsZXRlZD4yNS4xMC4yMDIxIDE1OjQwOjUxPC9Db21wbGV0ZWQ+PFR5cGU+RW5yb2xsZWRCeU1ETTwvVHlwZT48L0Vucm9sbG1lbnQ+PE9ubGluZVN0YXR1cz5BY3RpdmU8L09ubGluZVN0YXR1cz48TGFzdFJlcG9ydGVkPjI5LjEwLjIwMjEgMTI6MDk6MDM8L0xhc3RSZXBvcnRlZD48TGFzdFJlcG9ydGVkRGF5cz4wPC9MYXN0UmVwb3J0ZWREYXlzPjxMYXN0UmVwb3J0ZWRIb3Vycz4xPC9MYXN0UmVwb3J0ZWRIb3Vycz48TGFzdFJlcG9ydGVkTWludXRlcz44ODwvTGFzdFJlcG9ydGVkTWludXRlcz48SVBBZGRyZXNzPjE4NS4yMTIuMjEuMzQ8L0lQQWRkcmVzcz48TG9jYWxJUEFkZHJlc3M+MTcyLjE4LjE5My4yMzwvTG9jYWxJUEFkZHJlc3M+PE1BQ0FkZHJlc3M+ODA6M0Y6NUQ6MkE6RDk6Nzc8L01BQ0FkZHJlc3M+PFBsYXRmb3JtPldpbmRvd3NEZXNrdG9wPC9QbGF0Zm9ybT48T1NWZXJzaW9uTmFtZT5XaW5kb3dzIDEwIFBybzwvT1NWZXJzaW9uTmFtZT48Q2xpZW50PjxJRD4xNTwvSUQ+PC9DbGllbnQ+PENvbmZpZ1Byb2ZpbGVEZXBsb3ltZW50cyAvPjxTdGF0dXM+QWN0aXZlPC9TdGF0dXM+PENyZWF0ZWQ+MjUuMTAuMjAyMSAxNTozOTozMjwvQ3JlYXRlZD48TW9kaWZpZWQ+MjkuMTAuMjAyMSAwNzo0NTozNDwvTW9kaWZpZWQ+PFNvdXJjZT5NaXJhZG9yZU9ubGluZTwvU291cmNlPjxJbnZEZXZpY2U+PE1vZGVsPkxFTk9WTyAyMEZNUzVRUTFBPC9Nb2RlbD48TWFudWZhY3R1cmVyPkxFTk9WTzwvTWFudWZhY3R1cmVyPjxQcm9kdWN0TmFtZT4yMEZNUzVRUTFBPC9Qcm9kdWN0TmFtZT48U29mdHdhcmVWZXJzaW9uPldpbmRvd3MgMTAgUHJvPC9Tb2Z0d2FyZVZlcnNpb24+PFNlcmlhbE51bWJlcj5QQzBHUDFTTTwvU2VyaWFsTnVtYmVyPjxEZXZpY2VOYW1lPkRFU0tUT1AtVEpTN0lRRzwvRGV2aWNlTmFtZT48SW52ZW50b3J5VGltZT4yOS4xMC4yMDIxIDA3OjQ1OjM0PC9JbnZlbnRvcnlUaW1lPjwvSW52RGV2aWNlPjxJbnZPUz48UGxhdGZvcm0+V2luZG93c0Rlc2t0b3A8L1BsYXRmb3JtPjxWZXJzaW9uPjEwLjAuMTkwNDMuMTMyMDwvVmVyc2lvbj48TGFuZ3VhZ2U+ZnItRlI8L0xhbmd1YWdlPjxJbnZlbnRvcnlUaW1lPjI5LjEwLjIwMjEgMDc6NDU6MzQ8L0ludmVudG9yeVRpbWU+PC9JbnZPUz48SW52U3RvcmFnZXM+PEludlN0b3JhZ2U+PFR5cGU+SW50ZXJuYWw8L1R5cGU+PFZvbHVtZT5DOiBXaW5kb3dzPC9Wb2x1bWU+PEZyZWVTcGFjZT40NDI5MDExNzYzMjA8L0ZyZWVTcGFjZT48VG90YWxTcGFjZT41MTA5MTM0MDkwMjQ8L1RvdGFsU3BhY2U+PEludmVudG9yeVRpbWU+MjkuMTAuMjAyMSAwNzo0NTozNDwvSW52ZW50b3J5VGltZT48L0ludlN0b3JhZ2U+PC9JbnZTdG9yYWdlcz48U2VjdXJpdHk+PFBhc3Njb2RlU2V0PlVua25vd248L1Bhc3Njb2RlU2V0PjxFbmNyeXB0aW9uU3RhdHVzPkRpc2FibGVkPC9FbmNyeXB0aW9uU3RhdHVzPjwvU2VjdXJpdHk+PC9EZXZpY2U+PC9JdGVtcz48L0NvbnRlbnQ+
|
49
|
+
recorded_at: Fri, 29 Oct 2021 13:37:44 GMT
|
50
|
+
recorded_with: VCR 6.0.0
|
@@ -2,7 +2,7 @@
|
|
2
2
|
http_interactions:
|
3
3
|
- request:
|
4
4
|
method: get
|
5
|
-
uri: https://rzilient.online.miradore.com/API/Organization?auth=&filters=&select
|
5
|
+
uri: https://rzilient.online.miradore.com/API/Organization?auth=&filters=&select=*,*
|
6
6
|
body:
|
7
7
|
encoding: US-ASCII
|
8
8
|
string: ''
|
@@ -35,7 +35,7 @@ http_interactions:
|
|
35
35
|
X-Frame-Options:
|
36
36
|
- SAMEORIGIN
|
37
37
|
Date:
|
38
|
-
-
|
38
|
+
- Fri, 29 Oct 2021 13:37:45 GMT
|
39
39
|
Content-Length:
|
40
40
|
- '282'
|
41
41
|
body:
|
@@ -43,5 +43,5 @@ http_interactions:
|
|
43
43
|
string: <?xml version="1.0" encoding="utf-8"?><Content><Items count="1"><Organization><ID>1</ID><Name>PUR
|
44
44
|
Projet</Name><FullName>PUR Projet</FullName><Created>17.05.2021 09:02:43</Created><Modified>17.05.2021
|
45
45
|
09:02:43</Modified></Organization></Items></Content>
|
46
|
-
recorded_at:
|
46
|
+
recorded_at: Fri, 29 Oct 2021 13:37:43 GMT
|
47
47
|
recorded_with: VCR 6.0.0
|
@@ -2,7 +2,7 @@
|
|
2
2
|
http_interactions:
|
3
3
|
- request:
|
4
4
|
method: get
|
5
|
-
uri: https://rzilient.online.miradore.com/API/User?auth=&filters=(ID%20eq%202)&select
|
5
|
+
uri: https://rzilient.online.miradore.com/API/User?auth=&filters=(ID%20eq%202)&select=*,*
|
6
6
|
body:
|
7
7
|
encoding: US-ASCII
|
8
8
|
string: ''
|
@@ -35,12 +35,12 @@ http_interactions:
|
|
35
35
|
X-Frame-Options:
|
36
36
|
- SAMEORIGIN
|
37
37
|
Date:
|
38
|
-
-
|
38
|
+
- Fri, 29 Oct 2021 13:37:44 GMT
|
39
39
|
Content-Length:
|
40
40
|
- '301'
|
41
41
|
body:
|
42
42
|
encoding: ASCII-8BIT
|
43
43
|
string: <?xml version="1.0" encoding="utf-8"?><Content><Items count="1"><User><ID>2</ID><Email>edugarcas@gmail.com</Email><Source>GUI</Source><Status>Active</Status><Created>22.04.2021
|
44
44
|
06:32:00</Created><Modified>22.04.2021 06:32:00</Modified></User></Items></Content>
|
45
|
-
recorded_at:
|
45
|
+
recorded_at: Fri, 29 Oct 2021 13:37:43 GMT
|
46
46
|
recorded_with: VCR 6.0.0
|
@@ -2,7 +2,7 @@
|
|
2
2
|
http_interactions:
|
3
3
|
- request:
|
4
4
|
method: get
|
5
|
-
uri: https://rzilient.online.miradore.com/API/Device?auth=&filters=(InvDevice.SerialNumber%20eq%20K8N0CV07315233B)&select
|
5
|
+
uri: https://rzilient.online.miradore.com/API/Device?auth=&filters=(InvDevice.SerialNumber%20eq%20K8N0CV07315233B)&select=*,*
|
6
6
|
body:
|
7
7
|
encoding: US-ASCII
|
8
8
|
string: ''
|
@@ -39,14 +39,15 @@ http_interactions:
|
|
39
39
|
X-Frame-Options:
|
40
40
|
- SAMEORIGIN
|
41
41
|
Date:
|
42
|
-
-
|
42
|
+
- Fri, 29 Oct 2021 13:37:43 GMT
|
43
43
|
Content-Length:
|
44
|
-
- '
|
44
|
+
- '566'
|
45
45
|
body:
|
46
46
|
encoding: ASCII-8BIT
|
47
|
-
string: <?xml version="1.0" encoding="utf-8"?><Content><Items count="1"><Device><ID>2</ID><User><ID>3</ID></User><Enrollment><ID>9</ID><User><ID>3</ID></User></Enrollment><OnlineStatus>Active</OnlineStatus><LastReported>
|
48
|
-
|
49
|
-
|
50
|
-
13:01:04</Created><Modified>
|
51
|
-
|
47
|
+
string: <?xml version="1.0" encoding="utf-8"?><Content><Items count="1"><Device><ID>2</ID><User><ID>3</ID></User><Enrollment><ID>9</ID><User><ID>3</ID></User></Enrollment><OnlineStatus>Active</OnlineStatus><LastReported>29.10.2021
|
48
|
+
07:55:57</LastReported><LastReportedDays>0</LastReportedDays><LastReportedHours>6</LastReportedHours><LastReportedMinutes>342</LastReportedMinutes><IPAddress>149.62.159.244</IPAddress><MACAddress>DC:71:96:FB:8A:56</MACAddress><Platform>WindowsDesktop</Platform><OSVersionName>Windows
|
49
|
+
10 Home (20H2)</OSVersionName><Client><ID>2</ID></Client><ConfigProfileDeployments
|
50
|
+
/><Status>AutoGenerated</Status><Created>29.04.2021 13:01:04</Created><Modified>28.09.2021
|
51
|
+
15:32:10</Modified><Source>MiradoreOnline</Source></Device></Items></Content>
|
52
|
+
recorded_at: Fri, 29 Oct 2021 13:37:41 GMT
|
52
53
|
recorded_with: VCR 6.0.0
|
@@ -0,0 +1,159 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: https://rzilient.online.miradore.com/API/User?auth=&filters=&select=*,ID
|
6
|
+
body:
|
7
|
+
encoding: UTF-8
|
8
|
+
string: |
|
9
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
10
|
+
<Content>
|
11
|
+
<Items>
|
12
|
+
<User>
|
13
|
+
<Email>jim.straw@trestacom.com</Email>
|
14
|
+
<Firstname>Jim</Firstname>
|
15
|
+
<Lastname>Straw</Lastname>
|
16
|
+
<PhoneNumber>123456789</PhoneNumber>
|
17
|
+
</User>
|
18
|
+
</Items>
|
19
|
+
</Content>
|
20
|
+
headers:
|
21
|
+
Accept-Encoding:
|
22
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
23
|
+
Accept:
|
24
|
+
- "*/*"
|
25
|
+
User-Agent:
|
26
|
+
- Ruby
|
27
|
+
response:
|
28
|
+
status:
|
29
|
+
code: 400
|
30
|
+
message: Bad Request
|
31
|
+
headers:
|
32
|
+
Cache-Control:
|
33
|
+
- no-cache
|
34
|
+
Pragma:
|
35
|
+
- no-cache
|
36
|
+
Content-Length:
|
37
|
+
- '179'
|
38
|
+
Content-Type:
|
39
|
+
- text/xml; charset=utf-8
|
40
|
+
Expires:
|
41
|
+
- "-1"
|
42
|
+
Server:
|
43
|
+
- Microsoft-IIS/10.0
|
44
|
+
X-Aspnet-Version:
|
45
|
+
- 4.0.30319
|
46
|
+
X-Frame-Options:
|
47
|
+
- SAMEORIGIN
|
48
|
+
Date:
|
49
|
+
- Tue, 02 Nov 2021 11:37:07 GMT
|
50
|
+
body:
|
51
|
+
encoding: UTF-8
|
52
|
+
string: "<Content><Error><Description>Failed to validate imported 'User':
|
53
|
+
Email 'jim.straw@trestacom.com' is already in use.</Description><Code>400</Code></Error></Content>"
|
54
|
+
recorded_at: Tue, 02 Nov 2021 11:37:08 GMT
|
55
|
+
- request:
|
56
|
+
method: post
|
57
|
+
uri: https://rzilient.online.miradore.com/API/User?auth=&filters=&select=*,ID
|
58
|
+
body:
|
59
|
+
encoding: UTF-8
|
60
|
+
string: |
|
61
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
62
|
+
<Content>
|
63
|
+
<Items>
|
64
|
+
<User>
|
65
|
+
<Email>jim.straw@trestacom.com</Email>
|
66
|
+
<Firstname>Jim</Firstname>
|
67
|
+
<Lastname>Straw</Lastname>
|
68
|
+
<PhoneNumber>123456789</PhoneNumber>
|
69
|
+
</User>
|
70
|
+
</Items>
|
71
|
+
</Content>
|
72
|
+
headers:
|
73
|
+
Accept-Encoding:
|
74
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
75
|
+
Accept:
|
76
|
+
- "*/*"
|
77
|
+
User-Agent:
|
78
|
+
- Ruby
|
79
|
+
response:
|
80
|
+
status:
|
81
|
+
code: 400
|
82
|
+
message: Bad Request
|
83
|
+
headers:
|
84
|
+
Cache-Control:
|
85
|
+
- no-cache
|
86
|
+
Pragma:
|
87
|
+
- no-cache
|
88
|
+
Content-Length:
|
89
|
+
- '179'
|
90
|
+
Content-Type:
|
91
|
+
- text/xml; charset=utf-8
|
92
|
+
Expires:
|
93
|
+
- "-1"
|
94
|
+
Server:
|
95
|
+
- Microsoft-IIS/10.0
|
96
|
+
X-Aspnet-Version:
|
97
|
+
- 4.0.30319
|
98
|
+
X-Frame-Options:
|
99
|
+
- SAMEORIGIN
|
100
|
+
Date:
|
101
|
+
- Tue, 02 Nov 2021 11:37:12 GMT
|
102
|
+
body:
|
103
|
+
encoding: UTF-8
|
104
|
+
string: "<Content><Error><Description>Failed to validate imported 'User':
|
105
|
+
Email 'jim.straw@trestacom.com' is already in use.</Description><Code>400</Code></Error></Content>"
|
106
|
+
recorded_at: Tue, 02 Nov 2021 11:37:12 GMT
|
107
|
+
- request:
|
108
|
+
method: post
|
109
|
+
uri: https://rzilient.online.miradore.com/API/User?auth=&filters=&select=*,ID
|
110
|
+
body:
|
111
|
+
encoding: UTF-8
|
112
|
+
string: |
|
113
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
114
|
+
<Content>
|
115
|
+
<Items>
|
116
|
+
<User>
|
117
|
+
<Email>jim.straw@trestacom.com</Email>
|
118
|
+
<Firstname>Jim</Firstname>
|
119
|
+
<Lastname>Straw</Lastname>
|
120
|
+
<PhoneNumber>123456789</PhoneNumber>
|
121
|
+
</User>
|
122
|
+
</Items>
|
123
|
+
</Content>
|
124
|
+
headers:
|
125
|
+
Accept-Encoding:
|
126
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
127
|
+
Accept:
|
128
|
+
- "*/*"
|
129
|
+
User-Agent:
|
130
|
+
- Ruby
|
131
|
+
response:
|
132
|
+
status:
|
133
|
+
code: 400
|
134
|
+
message: Bad Request
|
135
|
+
headers:
|
136
|
+
Cache-Control:
|
137
|
+
- no-cache
|
138
|
+
Pragma:
|
139
|
+
- no-cache
|
140
|
+
Content-Length:
|
141
|
+
- '179'
|
142
|
+
Content-Type:
|
143
|
+
- text/xml; charset=utf-8
|
144
|
+
Expires:
|
145
|
+
- "-1"
|
146
|
+
Server:
|
147
|
+
- Microsoft-IIS/10.0
|
148
|
+
X-Aspnet-Version:
|
149
|
+
- 4.0.30319
|
150
|
+
X-Frame-Options:
|
151
|
+
- SAMEORIGIN
|
152
|
+
Date:
|
153
|
+
- Tue, 02 Nov 2021 11:37:54 GMT
|
154
|
+
body:
|
155
|
+
encoding: UTF-8
|
156
|
+
string: "<Content><Error><Description>Failed to validate imported 'User':
|
157
|
+
Email 'jim.straw@trestacom.com' is already in use.</Description><Code>400</Code></Error></Content>"
|
158
|
+
recorded_at: Tue, 02 Nov 2021 11:37:54 GMT
|
159
|
+
recorded_with: VCR 6.0.0
|
data/lib/ruby/miradore.rb
CHANGED
@@ -4,6 +4,7 @@ require_relative "miradore/version"
|
|
4
4
|
require "httparty"
|
5
5
|
require "json"
|
6
6
|
require "crack/xml"
|
7
|
+
require "active_support/core_ext/hash/conversions"
|
7
8
|
require "finest/builder"
|
8
9
|
|
9
10
|
module Ruby
|
@@ -11,7 +12,7 @@ module Ruby
|
|
11
12
|
|
12
13
|
def self.url
|
13
14
|
{
|
14
|
-
item_v1: "https://%<subdomain>s.online.miradore.com/API/%<item>s?auth=%<auth>s&select
|
15
|
+
item_v1: "https://%<subdomain>s.online.miradore.com/API/%<item>s?auth=%<auth>s&select=*,%<attribute>s&filters=%<filter>s",
|
15
16
|
request_v1: "https://%<subdomain>s.online.miradore.com/API/Device?auth=%<auth>s&select=*,Category.*,InvDevice.*,InvStorage.*,InvOS.*,Enrollment.*,Client.*,User.*,Location.*,Security.*,ReportedLocation.*&filters=%<filter>s",
|
16
17
|
v2: "https://%<subdomain>s.online.miradore.com/API/v2/Device/%<id>s/%<method>s"
|
17
18
|
}
|
@@ -32,54 +33,58 @@ module Ruby
|
|
32
33
|
remove_instance_variable(:@auth) if @auth.nil?
|
33
34
|
end
|
34
35
|
|
35
|
-
#
|
36
|
-
# This call will perform all GET calls regardless the API version that it's calling.
|
37
|
-
# The version would be determined based on the superclass name.
|
38
|
-
# If the superclass is Request the GET will call simple_v1 which will require the item which is class name.
|
39
|
-
# otherwise will call to retrieve devices based on filters.
|
40
|
-
#
|
41
|
-
def self.all(**args)
|
42
|
-
response = JSON.parse(
|
43
|
-
Crack::XML.parse(
|
44
|
-
get(
|
45
|
-
Miradore.url[version] % args.merge(
|
46
|
-
item: object_name,
|
47
|
-
attribute: args.fetch(:attribute, "*"),
|
48
|
-
auth: args.fetch(:auth, nil),
|
49
|
-
filter: args.fetch(:filter, nil)
|
50
|
-
)
|
51
|
-
).body
|
52
|
-
).to_json,
|
53
|
-
quirks_mode: true
|
54
|
-
).dig("Content", "Items")
|
55
|
-
transform(response, args)
|
56
|
-
rescue StandardError => e
|
57
|
-
MiradoreError.new({ error: e&.message || "Error connecting to manager service provider", status: :not_found })
|
58
|
-
end
|
59
|
-
|
60
36
|
class << self
|
37
|
+
#
|
38
|
+
# This call will perform all GET calls regardless the API version that it's calling.
|
39
|
+
# The version would be determined based on the superclass name.
|
40
|
+
# If the superclass is Request the GET will call simple_v1 which will require the item which is class name.
|
41
|
+
# otherwise will call to retrieve devices based on filters.
|
42
|
+
#
|
43
|
+
def all(**args)
|
44
|
+
transform(
|
45
|
+
Crack::XML.parse(
|
46
|
+
http_method(args).body
|
47
|
+
).dig("Content", "Items"), args
|
48
|
+
)
|
49
|
+
end
|
50
|
+
|
51
|
+
def add(**args)
|
52
|
+
transform(
|
53
|
+
Crack::XML.parse(
|
54
|
+
http_method(args.merge(method: :post, attribute: "ID")).body
|
55
|
+
)
|
56
|
+
)
|
57
|
+
end
|
58
|
+
|
59
|
+
protected
|
60
|
+
|
61
|
+
def http_method(**args)
|
62
|
+
url = Miradore.url[version] % args.merge(
|
63
|
+
item: to_s.demodulize,
|
64
|
+
attribute: args.fetch(:attribute, "*"),
|
65
|
+
auth: args.fetch(:auth, nil),
|
66
|
+
filter: args.fetch(:filter, nil)
|
67
|
+
)
|
68
|
+
method(args.fetch(:method, :get)).call(url, body: args.fetch(:body, nil)&.to_xml(root: "Content"))
|
69
|
+
end
|
70
|
+
|
61
71
|
private
|
62
72
|
|
63
73
|
def transform(res, args = {})
|
64
|
-
instance_name = "Ruby::Miradore::#{res.keys.first.capitalize}"
|
65
74
|
if res.values.first.is_a?(Array)
|
66
75
|
return res.values.first.map! do |e|
|
67
|
-
|
76
|
+
const_get(to_s).new(args.merge(e.transform_keys(&:downcase)))
|
68
77
|
end
|
69
78
|
end
|
70
|
-
|
71
|
-
Object.const_get(instance_name).new(args.merge(res.values.first&.transform_keys(&:downcase)))
|
79
|
+
const_get(to_s).new(args.merge(res.values.first&.transform_keys(&:downcase)))
|
72
80
|
rescue StandardError
|
73
|
-
|
81
|
+
{ error: "#{to_s.demodulize}(s) not found", status: :not_found }
|
74
82
|
end
|
75
83
|
|
76
84
|
def version
|
77
85
|
superclass == Object ? :request_v1 : :item_v1
|
78
86
|
end
|
79
87
|
|
80
|
-
def object_name
|
81
|
-
to_s.split("::").last
|
82
|
-
end
|
83
88
|
end
|
84
89
|
|
85
90
|
end
|
@@ -118,6 +123,22 @@ module Ruby
|
|
118
123
|
http_method(args.merge(method: :patch))
|
119
124
|
end
|
120
125
|
|
126
|
+
def device_serial_number
|
127
|
+
invdevice.serial_number || invdevice.hardware_serial_number
|
128
|
+
end
|
129
|
+
|
130
|
+
def device_model
|
131
|
+
invdevice.marketing_name || invdevice.product_name
|
132
|
+
end
|
133
|
+
|
134
|
+
def online?
|
135
|
+
onlinestatus.downcase.to_sym == :active
|
136
|
+
end
|
137
|
+
|
138
|
+
def phone?
|
139
|
+
!!invdevice&.imei
|
140
|
+
end
|
141
|
+
|
121
142
|
private
|
122
143
|
|
123
144
|
def http_method(**args)
|
@@ -138,6 +159,5 @@ module Ruby
|
|
138
159
|
|
139
160
|
class Organization < Request; end
|
140
161
|
|
141
|
-
class MiradoreError < Request; end
|
142
162
|
end
|
143
163
|
end
|
data/ruby-miradore.gemspec
CHANGED
@@ -12,7 +12,7 @@ Gem::Specification.new do |spec|
|
|
12
12
|
spec.description = "Miradore MSP Ruby Gem"
|
13
13
|
spec.homepage = "https://github.com/eddygarcas/ruby-miradore"
|
14
14
|
spec.license = "MIT"
|
15
|
-
spec.required_ruby_version = Gem::Requirement.new(">= 2.7.
|
15
|
+
spec.required_ruby_version = Gem::Requirement.new(">= 2.7.4")
|
16
16
|
|
17
17
|
spec.metadata["allowed_push_host"] = "https://rubygems.org/"
|
18
18
|
|
@@ -31,6 +31,8 @@ Gem::Specification.new do |spec|
|
|
31
31
|
|
32
32
|
# Uncomment to register a new dependency of your gem
|
33
33
|
# spec.add_dependency "example-gem", "~> 1.0"
|
34
|
+
spec.add_dependency "activesupport", "~> 6.1"
|
35
|
+
spec.add_dependency 'builder', '~> 3.1'
|
34
36
|
spec.add_dependency "crack", "~> 0.4"
|
35
37
|
spec.add_dependency "finest-builder", "~> 1.0"
|
36
38
|
spec.add_dependency "httparty", "~> 0.18"
|
metadata
CHANGED
@@ -1,15 +1,43 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-miradore
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eduard Garcia Castelló
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-11-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: activesupport
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '6.1'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '6.1'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: builder
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '3.1'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '3.1'
|
13
41
|
- !ruby/object:Gem::Dependency
|
14
42
|
name: crack
|
15
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -125,16 +153,13 @@ files:
|
|
125
153
|
- fixtures/vcr_cassettes/all_criteria.yml
|
126
154
|
- fixtures/vcr_cassettes/auth_not_found.yml
|
127
155
|
- fixtures/vcr_cassettes/error_by_serial_number.yml
|
156
|
+
- fixtures/vcr_cassettes/full_list_and_details.yml
|
128
157
|
- fixtures/vcr_cassettes/get_location.yml
|
129
158
|
- fixtures/vcr_cassettes/get_user_from_miradore.yml
|
130
159
|
- fixtures/vcr_cassettes/search_by_serial_number.yml
|
160
|
+
- fixtures/vcr_cassettes/user_alredy_exist_in_miradore.yml
|
131
161
|
- lib/ruby/miradore.rb
|
132
162
|
- lib/ruby/miradore/version.rb
|
133
|
-
- ruby-miradore-0.1.2.gem
|
134
|
-
- ruby-miradore-0.1.3.gem
|
135
|
-
- ruby-miradore-1.1.0.gem
|
136
|
-
- ruby-miradore-1.1.1.gem
|
137
|
-
- ruby-miradore-1.2.2.gem
|
138
163
|
- ruby-miradore.gemspec
|
139
164
|
homepage: https://github.com/eddygarcas/ruby-miradore
|
140
165
|
licenses:
|
@@ -152,7 +177,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
152
177
|
requirements:
|
153
178
|
- - ">="
|
154
179
|
- !ruby/object:Gem::Version
|
155
|
-
version: 2.7.
|
180
|
+
version: 2.7.4
|
156
181
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
157
182
|
requirements:
|
158
183
|
- - ">="
|
data/ruby-miradore-0.1.2.gem
DELETED
Binary file
|
data/ruby-miradore-0.1.3.gem
DELETED
Binary file
|
data/ruby-miradore-1.1.0.gem
DELETED
Binary file
|
data/ruby-miradore-1.1.1.gem
DELETED
Binary file
|
data/ruby-miradore-1.2.2.gem
DELETED
Binary file
|