Submitted URL: http://www.xrares.com/
Effective URL: https://www.xrares.com/
Submission: On July 24 via manual from IN

Summary

This website contacted 18 IPs in 8 countries across 16 domains to perform 68 HTTP transactions. The main IP is 89.248.174.186, located in Seychelles and belongs to QUASINETWORKS, NL. The main domain is www.xrares.com.
TLS certificate: Issued by COMODO RSA Domain Validation Secure S... on October 19th 2017. Valid for: 3 years.
This is the only time www.xrares.com was scanned on urlscan.io!

urlscan.io Verdict: No classification

Domain & IP information

IP Address AS Autonomous System
1 44 89.248.174.186 29073 (QUASINETW...)
1 2a00:1450:400... 15169 (GOOGLE)
2 104.111.228.202 16625 (AKAMAI-AS)
2 204.155.151.83 40824 (WZCOM-US)
1 152.195.34.118 15133 (EDGECAST)
1 185.187.81.35 43332 (IDSTRATEG...)
2 185.187.81.38 43332 (IDSTRATEG...)
1 160.153.76.70 26496 (AS-26496-...)
1 88.208.59.100 39572 (ADVANCEDH...)
1 2a00:1450:400... 15169 (GOOGLE)
4 2a00:1450:400... 15169 (GOOGLE)
1 2a03:90c0:999... 199524 (GCORE)
3 66.155.97.114 13768 (COGECO-PEER1)
1 198.134.112.242 27257 (WEBAIR-IN...)
1 195.154.46.150 12876 (AS12876)
1 2400:cb00:204... 13335 (CLOUDFLAR...)
1 2a00:1450:400... 15169 (GOOGLE)
68 18
Domain Requested by
44 www.xrares.com 1 redirects www.xrares.com
4 fonts.gstatic.com www.xrares.com
jsc.traffic-media.co.uk
3 afgr4.com www.xrares.com
2 th-us2.vporn.com www.xrares.com
1 www.google-analytics.com www.xrares.com
1 m.addthisedge.com s7.addthis.com
1 browsers.support ejdkqclkzq.com
1 servicer.traffic-media.co.uk jsc.traffic-media.co.uk
1 ejdkqclkzq.com www.xrares.com
1 jsc.traffic-media.co.uk www.xrares.com
1 n2-r2d2.amgload.net www.xrares.com
1 fonts.googleapis.com www.xrares.com
1 api.clickaine.com www.xrares.com
1 tpmedia-reactads.com www.xrares.com
1 xk1o.amgload.net www.xrares.com
1 kz9c.piguiqproxy.com www.xrares.com
1 bi.phncdn.com www.xrares.com
1 s7.addthis.com www.xrares.com
1 ajax.googleapis.com www.xrares.com
68 19
Subject Issuer Validity Valid
xrares.com
COMODO RSA Domain Validation Secure Server CA
2017-10-19 -
2020-10-18
3 years crt.sh
afgr4.com
COMODO RSA Domain Validation Secure Server CA
2018-06-04 -
2019-06-04
a year crt.sh

This page contains 5 frames:

Primary Page: https://www.xrares.com/
Frame ID: 6942FFF6E026B0997B69F66E30F3B467
Requests: 65 HTTP requests in this frame

Frame: https://jsc.traffic-media.co.uk/x/r/xrares.com.207326.js?t=1186249
Frame ID: 9E2C9D810A650D0105F45BF513C6C8FC
Requests: 2 HTTP requests in this frame

Frame: https://afgr4.com/en/us/banner/url/zone?zid=11906&pid=0&custom1=XDating&custom2=60531&custom3={transaction_id}&custom6=&custom7=PUB_66610&cturl=https://t.irtyf.com/ihxg01j1ds?offer_id=3785&aff_id=66610&file_id=252177&aff_sub=XDating&url=
Frame ID: D59178D6C0BF31118A495D1653B1F6D5
Requests: 1 HTTP requests in this frame

Frame: https://afgr4.com/en/us/banner/url/zone?zid=11924&pid=0&custom1=XVOD&custom2=60672&custom3={transaction_id}&custom6=&custom7=PUB_66610&cturl=https://t.irtyf.com/ihxg01j1ds?offer_id=3784&aff_id=66610&file_id=252624&source={source}&aff_sub=XVOD&aff_sub2={aff_sub2}&aff_sub3={aff_sub3}&aff_sub4={aff_sub4}&aff_sub5={aff_sub5}&url=
Frame ID: D57AD78F95AF5520B859D432D31A427D
Requests: 1 HTTP requests in this frame

Frame: https://afgr4.com/en/us/banner/url/zone?zid=11925&pid=0&custom1=XGaming&custom2=60674&custom3={transaction_id}&custom6=&custom7=PUB_66610&cturl=https://t.irtyf.com/ihxg01j1ds?offer_id=4090&aff_id=66610&file_id=252621&source={source}&aff_sub=XGaming&aff_sub2={aff_sub2}&aff_sub3={aff_sub3}&aff_sub4={aff_sub4}&aff_sub5={aff_sub5}&url=
Frame ID: 02F94ADC90AADC18FDC1F459A3B01154
Requests: 1 HTTP requests in this frame

Screenshot


Page URL History Show full URLs

  1. http://www.xrares.com/ HTTP 302
    https://www.xrares.com/ Page URL

Detected technologies

Overall confidence: 100%
Detected patterns
  • headers server /(?:Apache(?:$|\/([\d.]+)|[^\/-])|(?:^|)HTTPD)/i

Overall confidence: 100%
Detected patterns
  • env /^addthis/i

Overall confidence: 100%
Detected patterns
  • html /<link[^>]* href=[^>]+font-awesome(?:\.min)?\.css/i

Overall confidence: 100%
Detected patterns
  • env /^gaGlobal$/i

Overall confidence: 100%
Detected patterns
  • env /^google_tag_manager$/i

Overall confidence: 100%
Detected patterns
  • script /\/([\d.]+)\/jquery(?:\.min)?\.js/i
  • script /jquery.*\.js/i
  • env /^jQuery$/i

Overall confidence: 100%
Detected patterns
  • html /<link[^>]+?href="[^"]+bootstrap(?:\.min)?\.css/i

Page Statistics

68
Requests

68 %
HTTPS

35 %
IPv6

16
Domains

19
Subdomains

18
IPs

8
Countries

1015 kB
Transfer

1662 kB
Size

8
Cookies

Page URL History

This captures the URL locations of the websites, including HTTP redirects and client-side redirects via JavaScript or Meta fields.

  1. http://www.xrares.com/ HTTP 302
    https://www.xrares.com/ Page URL

Redirected requests

There were HTTP redirect chains for the following requests:

68 HTTP transactions

Resource
Path
Size
x-fer
Type
MIME-Type
Primary Request Cookie set /
www.xrares.com/
Redirect Chain
  • http://www.xrares.com/
  • https://www.xrares.com/
71 KB
16 KB
Document
General
Full URL
https://www.xrares.com/
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
89.248.174.186 , Seychelles, ASN29073 (QUASINETWORKS, NL),
Reverse DNS
cpanel.adammo.win
Software
Apache / PHP/5.5.38
Resource Hash
408b7da762688d6e1c966f0ee22e6906fcd717069ef333293d8e064f9ad7e7bc

Request headers

Host
www.xrares.com
Connection
keep-alive
Pragma
no-cache
Cache-Control
no-cache
Upgrade-Insecure-Requests
1
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Accept
text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Encoding
gzip, deflate
Upgrade-Insecure-Requests
1
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
X-DevTools-Emulate-Network-Conditions-Client-Id
6942FFF6E026B0997B69F66E30F3B467

Response headers

Date
Tue, 24 Jul 2018 09:05:55 GMT
Server
Apache
X-Powered-By
PHP/5.5.38
Expires
Thu, 19 Nov 1981 08:52:00 GMT
Last-Modified
Tue, 24 Jul 2018 09:05:55 GMT
Cache-Control
no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma
no-cache
Set-Cookie
AVS=08k62htk1gr208qflcr2l3kf34; path=/ xsaws=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0
Content-Encoding
gzip
Keep-Alive
timeout=15, max=100
Connection
Keep-Alive
Transfer-Encoding
chunked
Content-Type
text/html; charset=UTF-8

Redirect headers

Date
Tue, 24 Jul 2018 09:05:54 GMT
Server
Apache
Location
https://www.xrares.com/
Content-Length
271
Keep-Alive
timeout=15, max=100
Connection
Keep-Alive
Content-Type
text/html; charset=iso-8859-1
jquery.min.js
ajax.googleapis.com/ajax/libs/jquery/1.11.1/
94 KB
33 KB
Script
General
Full URL
https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js
Requested by
Host: www.xrares.com
URL: https://www.xrares.com/
Protocol
SPDY
Server
2a00:1450:4001:825::200a , Ireland, ASN15169 (GOOGLE - Google LLC, US),
Reverse DNS
Software
sffe /
Resource Hash
540bc6dec1dd4b92ea4d3fb903f69eabf6d919afd48f4e312b163c28cff0f441
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 1; mode=block

Request headers

Referer
https://www.xrares.com/
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36

Response headers

date
Sat, 14 Jul 2018 15:32:55 GMT
content-encoding
gzip
x-content-type-options
nosniff
age
840774
status
200
alt-svc
quic=":443"; ma=2592000; v="44,43,39,35"
content-length
33434
x-xss-protection
1; mode=block
last-modified
Tue, 20 Dec 2016 18:17:03 GMT
server
sffe
vary
Accept-Encoding
content-type
text/javascript; charset=UTF-8
access-control-allow-origin
*
cache-control
public, max-age=31536000, stale-while-revalidate=2592000
accept-ranges
bytes
timing-allow-origin
*
expires
Sun, 14 Jul 2019 15:32:55 GMT
bootstrap.css
www.xrares.com/templates/frontend/dark-magenta/css/
134 KB
134 KB
Stylesheet
General
Full URL
https://www.xrares.com/templates/frontend/dark-magenta/css/bootstrap.css
Requested by
Host: www.xrares.com
URL: https://www.xrares.com/
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
89.248.174.186 , Seychelles, ASN29073 (QUASINETWORKS, NL),
Reverse DNS
cpanel.adammo.win
Software
Apache /
Resource Hash
a6ff5f44a7e77b4f1085a76936a77823f8de8587eed5d5e68167f4a13d8f44d5

Request headers

Pragma
no-cache
Accept-Encoding
gzip, deflate
Host
www.xrares.com
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Accept
text/css,*/*;q=0.1
Referer
https://www.xrares.com/
Cookie
AVS=08k62htk1gr208qflcr2l3kf34
Connection
keep-alive
Cache-Control
no-cache
Referer
https://www.xrares.com/
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36

Response headers

Date
Tue, 24 Jul 2018 09:05:55 GMT
Last-Modified
Wed, 20 Jun 2018 09:11:44 GMT
Server
Apache
ETag
"1a2a5a-217f6-56f0f300bf8b6"
Content-Type
text/css
Cache-Control
max-age=1209600
Connection
Keep-Alive
Accept-Ranges
bytes
Keep-Alive
timeout=15, max=99
Content-Length
137206
Expires
Tue, 07 Aug 2018 09:05:55 GMT
style.css
www.xrares.com/templates/frontend/dark-magenta/css/
18 KB
18 KB
Stylesheet
General
Full URL
https://www.xrares.com/templates/frontend/dark-magenta/css/style.css?13
Requested by
Host: www.xrares.com
URL: https://www.xrares.com/
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
89.248.174.186 , Seychelles, ASN29073 (QUASINETWORKS, NL),
Reverse DNS
cpanel.adammo.win
Software
Apache /
Resource Hash
d357e4bb7bac0871b0058d33bbedd363a44d4304444930b6203df95924845930

Request headers

Pragma
no-cache
Accept-Encoding
gzip, deflate
Host
www.xrares.com
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Accept
text/css,*/*;q=0.1
Referer
https://www.xrares.com/
Cookie
AVS=08k62htk1gr208qflcr2l3kf34
Connection
keep-alive
Cache-Control
no-cache
Referer
https://www.xrares.com/
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36

Response headers

Date
Tue, 24 Jul 2018 09:05:55 GMT
Last-Modified
Wed, 20 Jun 2018 09:11:28 GMT
Server
Apache
ETag
"1a2a4c-4842-56f0f2f0ce7d6"
Content-Type
text/css
Cache-Control
max-age=1209600
Connection
Keep-Alive
Accept-Ranges
bytes
Keep-Alive
timeout=15, max=100
Content-Length
18498
Expires
Tue, 07 Aug 2018 09:05:55 GMT
responsive.css
www.xrares.com/templates/frontend/dark-magenta/css/
3 KB
3 KB
Stylesheet
General
Full URL
https://www.xrares.com/templates/frontend/dark-magenta/css/responsive.css?13
Requested by
Host: www.xrares.com
URL: https://www.xrares.com/
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
89.248.174.186 , Seychelles, ASN29073 (QUASINETWORKS, NL),
Reverse DNS
cpanel.adammo.win
Software
Apache /
Resource Hash
b925916a5df6e766b5284d935ca56935179ce32f458822130239088e88093f33

Request headers

Pragma
no-cache
Accept-Encoding
gzip, deflate
Host
www.xrares.com
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Accept
text/css,*/*;q=0.1
Referer
https://www.xrares.com/
Cookie
AVS=08k62htk1gr208qflcr2l3kf34
Connection
keep-alive
Cache-Control
no-cache
Referer
https://www.xrares.com/
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36

Response headers

Date
Tue, 24 Jul 2018 09:05:55 GMT
Last-Modified
Fri, 24 Nov 2017 06:22:32 GMT
Server
Apache
ETag
"1a2a57-baf-55eb493ea9446"
Content-Type
text/css
Cache-Control
max-age=1209600
Connection
Keep-Alive
Accept-Ranges
bytes
Keep-Alive
timeout=15, max=100
Content-Length
2991
Expires
Tue, 07 Aug 2018 09:05:55 GMT
font-awesome.min.css
www.xrares.com/templates/frontend/dark-magenta/css/
20 KB
21 KB
Stylesheet
General
Full URL
https://www.xrares.com/templates/frontend/dark-magenta/css/font-awesome.min.css
Requested by
Host: www.xrares.com
URL: https://www.xrares.com/
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
89.248.174.186 , Seychelles, ASN29073 (QUASINETWORKS, NL),
Reverse DNS
cpanel.adammo.win
Software
Apache /
Resource Hash
b769324e0921f9f649611113e65f528ebae5e140da8a7e63c5d6ea7bc7a33bc0

Request headers

Pragma
no-cache
Accept-Encoding
gzip, deflate
Host
www.xrares.com
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Accept
text/css,*/*;q=0.1
Referer
https://www.xrares.com/
Cookie
AVS=08k62htk1gr208qflcr2l3kf34
Connection
keep-alive
Cache-Control
no-cache
Referer
https://www.xrares.com/
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36

Response headers

Date
Tue, 24 Jul 2018 09:05:55 GMT
Last-Modified
Thu, 13 Apr 2017 23:49:43 GMT
Server
Apache
ETag
"1a2a58-511e-54d14fa9f93c0"
Content-Type
text/css
Cache-Control
max-age=1209600
Connection
Keep-Alive
Accept-Ranges
bytes
Keep-Alive
timeout=15, max=100
Content-Length
20766
Expires
Tue, 07 Aug 2018 09:05:55 GMT
colors.css
www.xrares.com/templates/frontend/dark-magenta/css/
12 KB
13 KB
Stylesheet
General
Full URL
https://www.xrares.com/templates/frontend/dark-magenta/css/colors.css
Requested by
Host: www.xrares.com
URL: https://www.xrares.com/
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
89.248.174.186 , Seychelles, ASN29073 (QUASINETWORKS, NL),
Reverse DNS
cpanel.adammo.win
Software
Apache /
Resource Hash
bac14eef090eb2df6aa94c6f754f31411ed47cba6992b494e515bf78124c1a80

Request headers

Pragma
no-cache
Accept-Encoding
gzip, deflate
Host
www.xrares.com
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Accept
text/css,*/*;q=0.1
Referer
https://www.xrares.com/
Cookie
AVS=08k62htk1gr208qflcr2l3kf34
Connection
keep-alive
Cache-Control
no-cache
Referer
https://www.xrares.com/
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36

Response headers

Date
Tue, 24 Jul 2018 09:05:55 GMT
Last-Modified
Fri, 14 Apr 2017 00:17:06 GMT
Server
Apache
ETag
"1a2a4b-30f8-54d155c8dc480"
Content-Type
text/css
Cache-Control
max-age=1209600
Connection
Keep-Alive
Accept-Ranges
bytes
Keep-Alive
timeout=15, max=100
Content-Length
12536
Expires
Tue, 07 Aug 2018 09:05:55 GMT
logo.png
www.xrares.com/images/logo/
3 KB
3 KB
Image
General
Full URL
https://www.xrares.com/images/logo/logo.png
Requested by
Host: www.xrares.com
URL: https://www.xrares.com/
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
89.248.174.186 , Seychelles, ASN29073 (QUASINETWORKS, NL),
Reverse DNS
cpanel.adammo.win
Software
Apache /
Resource Hash
fc45e859185deb9e0b866a1718acf24cb0f3f4fc17c5d2b1e751bae1cf61cbbc

Request headers

Pragma
no-cache
Accept-Encoding
gzip, deflate
Host
www.xrares.com
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Accept
image/webp,image/apng,image/*,*/*;q=0.8
Referer
https://www.xrares.com/
Cookie
AVS=08k62htk1gr208qflcr2l3kf34
Connection
keep-alive
Cache-Control
no-cache
Referer
https://www.xrares.com/
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36

Response headers

Date
Tue, 24 Jul 2018 09:05:55 GMT
Last-Modified
Mon, 17 Apr 2017 21:44:32 GMT
Server
Apache
ETag
"1a26ff-a8b-54d63b24c5000"
Content-Type
image/png
Cache-Control
max-age=1209600
Connection
Keep-Alive
Accept-Ranges
bytes
Keep-Alive
timeout=15, max=99
Content-Length
2699
Expires
Tue, 07 Aug 2018 09:05:55 GMT
addthis_widget.js
s7.addthis.com/js/300/
349 KB
112 KB
Script
General
Full URL
https://s7.addthis.com/js/300/addthis_widget.js
Requested by
Host: www.xrares.com
URL: https://www.xrares.com/
Protocol
SPDY
Server
104.111.228.202 Amsterdam, Netherlands, ASN16625 (AKAMAI-AS - Akamai Technologies, Inc., US),
Reverse DNS
a104-111-228-202.deploy.static.akamaitechnologies.com
Software
/
Resource Hash
3184cf0ad08a1d1717d57dec220001ab34e08bd3c337de3b5b59ed226edd05f5

Request headers

Referer
https://www.xrares.com/
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36

Response headers

date
Tue, 24 Jul 2018 09:05:49 GMT
content-encoding
gzip
surrogate-key
client_dist
last-modified
Mon, 23 Jul 2018 16:49:02 GMT
etag
"5b5606fe-57536"
vary
Accept-Encoding
x-distribution
99
cache-tag
client_dist
status
200
cache-control
public, max-age=600
x-host
s7.addthis.com
accept-ranges
bytes
timing-allow-origin
*
content-type
application/javascript
d13.jpg
th-us2.vporn.com/t/98/1656398/
5 KB
5 KB
Image
General
Full URL
https://th-us2.vporn.com/t/98/1656398/d13.jpg
Requested by
Host: www.xrares.com
URL: https://www.xrares.com/
Protocol
SPDY
Server
204.155.151.83 Panama City, Panama, ASN40824 (WZCOM-US - WZ Communications Inc., US),
Reverse DNS
th-us2.vporn.com
Software
nginx/1.10.3 /
Resource Hash
123f4c4d98cba336140d4cc077ba19531e9498b0de13c187f411aa97d72496dd

Request headers

Referer
https://www.xrares.com/
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36

Response headers

date
Tue, 24 Jul 2018 09:05:49 GMT
last-modified
Tue, 13 Jun 2017 13:05:34 GMT
server
nginx/1.10.3
etag
"593fe31e-1364"
vary
Accept
content-type
image/webp
status
200
cache-control
max-age=63072000
accept-ranges
bytes
content-length
4964
expires
Thu, 23 Jul 2020 09:05:49 GMT
1.jpg
www.xrares.com/media/videos/tmb/13510/
10 KB
10 KB
Image
General
Full URL
https://www.xrares.com/media/videos/tmb/13510/1.jpg
Requested by
Host: www.xrares.com
URL: https://www.xrares.com/
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
89.248.174.186 , Seychelles, ASN29073 (QUASINETWORKS, NL),
Reverse DNS
cpanel.adammo.win
Software
Apache /
Resource Hash
7278d98718e13b1919af8b39b8efd943bd87b89e943cb150d2232f3e8b71f448

Request headers

Pragma
no-cache
Accept-Encoding
gzip, deflate
Host
www.xrares.com
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Accept
image/webp,image/apng,image/*,*/*;q=0.8
Referer
https://www.xrares.com/
Cookie
AVS=08k62htk1gr208qflcr2l3kf34
Connection
keep-alive
Cache-Control
no-cache
Referer
https://www.xrares.com/
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36

Response headers

Pragma
no-cache
Date
Tue, 24 Jul 2018 09:05:55 GMT
Last-Modified
Mon, 23 Jul 2018 04:18:29 GMT
Server
Apache
ETag
"a41364-27fb-571a2f00d4828"
Content-Type
image/jpeg
Cache-Control
no-cache, no-store, must-revalidate
Connection
Keep-Alive
Accept-Ranges
bytes
Keep-Alive
timeout=15, max=98
Content-Length
10235
Expires
0
1.jpg
www.xrares.com/media/videos/tmb/13509/
6 KB
7 KB
Image
General
Full URL
https://www.xrares.com/media/videos/tmb/13509/1.jpg
Requested by
Host: www.xrares.com
URL: https://www.xrares.com/
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
89.248.174.186 , Seychelles, ASN29073 (QUASINETWORKS, NL),
Reverse DNS
cpanel.adammo.win
Software
Apache /
Resource Hash
80570ad1da30a863565eb2829164b752c76c8d8fde2c89fe4e9a8a21473498bb

Request headers

Pragma
no-cache
Accept-Encoding
gzip, deflate
Host
www.xrares.com
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Accept
image/webp,image/apng,image/*,*/*;q=0.8
Referer
https://www.xrares.com/
Cookie
AVS=08k62htk1gr208qflcr2l3kf34
Connection
keep-alive
Cache-Control
no-cache
Referer
https://www.xrares.com/
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36

Response headers

Pragma
no-cache
Date
Tue, 24 Jul 2018 09:05:55 GMT
Last-Modified
Mon, 23 Jul 2018 02:52:07 GMT
Server
Apache
ETag
"a412e0-19e8-571a1bb307ecc"
Content-Type
image/jpeg
Cache-Control
no-cache, no-store, must-revalidate
Connection
Keep-Alive
Accept-Ranges
bytes
Keep-Alive
timeout=15, max=97
Content-Length
6632
Expires
0
8.jpg
www.xrares.com/media/videos/tmb/3640/
6 KB
6 KB
Image
General
Full URL
https://www.xrares.com/media/videos/tmb/3640/8.jpg
Requested by
Host: www.xrares.com
URL: https://www.xrares.com/
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
89.248.174.186 , Seychelles, ASN29073 (QUASINETWORKS, NL),
Reverse DNS
cpanel.adammo.win
Software
Apache /
Resource Hash
1c6fac0e15b4b0d042f60ab85a727389112e86d482b5a840be72d801509648c0

Request headers

Pragma
no-cache
Accept-Encoding
gzip, deflate
Host
www.xrares.com
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Accept
image/webp,image/apng,image/*,*/*;q=0.8
Referer
https://www.xrares.com/
Cookie
AVS=08k62htk1gr208qflcr2l3kf34
Connection
keep-alive
Cache-Control
no-cache
Referer
https://www.xrares.com/
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36

Response headers

Pragma
no-cache
Date
Tue, 24 Jul 2018 09:05:55 GMT
Last-Modified
Thu, 13 Apr 2017 23:49:21 GMT
Server
Apache
ETag
"81fe0-1630-54d14f94fe240"
Content-Type
image/jpeg
Cache-Control
no-cache, no-store, must-revalidate
Connection
Keep-Alive
Accept-Ranges
bytes
Keep-Alive
timeout=15, max=98
Content-Length
5680
Expires
0
11.jpg
www.xrares.com/media/videos/tmb/3314/
4 KB
4 KB
Image
General
Full URL
https://www.xrares.com/media/videos/tmb/3314/11.jpg
Requested by
Host: www.xrares.com
URL: https://www.xrares.com/
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
89.248.174.186 , Seychelles, ASN29073 (QUASINETWORKS, NL),
Reverse DNS
cpanel.adammo.win
Software
Apache /
Resource Hash
22353092147c73107f666475a2cc8d279b8458f75ebeef80f21451364f557357

Request headers

Pragma
no-cache
Accept-Encoding
gzip, deflate
Host
www.xrares.com
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Accept
image/webp,image/apng,image/*,*/*;q=0.8
Referer
https://www.xrares.com/
Cookie
AVS=08k62htk1gr208qflcr2l3kf34
Connection
keep-alive
Cache-Control
no-cache
Referer
https://www.xrares.com/
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36

Response headers

Pragma
no-cache
Date
Tue, 24 Jul 2018 09:05:55 GMT
Last-Modified
Thu, 13 Apr 2017 23:48:39 GMT
Server
Apache
ETag
"180a18-ff2-54d14f6cf03c0"
Content-Type
image/jpeg
Cache-Control
no-cache, no-store, must-revalidate
Connection
Keep-Alive
Accept-Ranges
bytes
Keep-Alive
timeout=15, max=98
Content-Length
4082
Expires
0
5.jpg
www.xrares.com/media/videos/tmb/3028/
5 KB
5 KB
Image
General
Full URL
https://www.xrares.com/media/videos/tmb/3028/5.jpg
Requested by
Host: www.xrares.com
URL: https://www.xrares.com/
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
89.248.174.186 , Seychelles, ASN29073 (QUASINETWORKS, NL),
Reverse DNS
cpanel.adammo.win
Software
Apache /
Resource Hash
fc82413e348a46b2327d51782b4a0c80cb52ae7dde13758ddc55bd2bee9eca73

Request headers

Pragma
no-cache
Accept-Encoding
gzip, deflate
Host
www.xrares.com
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Accept
image/webp,image/apng,image/*,*/*;q=0.8
Referer
https://www.xrares.com/
Cookie
AVS=08k62htk1gr208qflcr2l3kf34
Connection
keep-alive
Cache-Control
no-cache
Referer
https://www.xrares.com/
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36

Response headers

Pragma
no-cache
Date
Tue, 24 Jul 2018 09:05:55 GMT
Last-Modified
Thu, 13 Apr 2017 23:48:14 GMT
Server
Apache
ETag
"a169d-12aa-54d14f5518b80"
Content-Type
image/jpeg
Cache-Control
no-cache, no-store, must-revalidate
Connection
Keep-Alive
Accept-Ranges
bytes
Keep-Alive
timeout=15, max=98
Content-Length
4778
Expires
0
5.jpg
www.xrares.com/media/videos/tmb/2761/
5 KB
6 KB
Image
General
Full URL
https://www.xrares.com/media/videos/tmb/2761/5.jpg
Requested by
Host: www.xrares.com
URL: https://www.xrares.com/
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
89.248.174.186 , Seychelles, ASN29073 (QUASINETWORKS, NL),
Reverse DNS
cpanel.adammo.win
Software
Apache /
Resource Hash
96738dc0be24c935681b23ba95fc47c6da135a5cd7906e9d83644f6ad1efcf4c

Request headers

Pragma
no-cache
Accept-Encoding
gzip, deflate
Host
www.xrares.com
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Accept
image/webp,image/apng,image/*,*/*;q=0.8
Referer
https://www.xrares.com/
Cookie
AVS=08k62htk1gr208qflcr2l3kf34
Connection
keep-alive
Cache-Control
no-cache
Referer
https://www.xrares.com/
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36

Response headers

Pragma
no-cache
Date
Tue, 24 Jul 2018 09:05:55 GMT
Last-Modified
Thu, 13 Apr 2017 23:47:38 GMT
Server
Apache
ETag
"e0802-156e-54d14f32c3a80"
Content-Type
image/jpeg
Cache-Control
no-cache, no-store, must-revalidate
Connection
Keep-Alive
Accept-Ranges
bytes
Keep-Alive
timeout=15, max=97
Content-Length
5486
Expires
0
1.jpg
www.xrares.com/media/videos/tmb/6794/
6 KB
7 KB
Image
General
Full URL
https://www.xrares.com/media/videos/tmb/6794/1.jpg
Requested by
Host: www.xrares.com
URL: https://www.xrares.com/
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
89.248.174.186 , Seychelles, ASN29073 (QUASINETWORKS, NL),
Reverse DNS
cpanel.adammo.win
Software
Apache /
Resource Hash
4c28f1a12d3a7ba643a9b17aa6d1c0ac289abbb2399c4b61470fb7ef46f6e182

Request headers

Pragma
no-cache
Accept-Encoding
gzip, deflate
Host
www.xrares.com
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Accept
image/webp,image/apng,image/*,*/*;q=0.8
Referer
https://www.xrares.com/
Cookie
AVS=08k62htk1gr208qflcr2l3kf34
Connection
keep-alive
Cache-Control
no-cache
Referer
https://www.xrares.com/
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36

Response headers

Pragma
no-cache
Date
Tue, 24 Jul 2018 09:05:55 GMT
Last-Modified
Thu, 13 Apr 2017 23:49:21 GMT
Server
Apache
ETag
"41156-18b4-54d14f94fe240"
Content-Type
image/jpeg
Cache-Control
no-cache, no-store, must-revalidate
Connection
Keep-Alive
Accept-Ranges
bytes
Keep-Alive
timeout=15, max=97
Content-Length
6324
Expires
0
8.jpg
www.xrares.com/media/videos/tmb/4576/
6 KB
6 KB
Image
General
Full URL
https://www.xrares.com/media/videos/tmb/4576/8.jpg
Requested by
Host: www.xrares.com
URL: https://www.xrares.com/
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
89.248.174.186 , Seychelles, ASN29073 (QUASINETWORKS, NL),
Reverse DNS
cpanel.adammo.win
Software
Apache /
Resource Hash
85ed1732b630c7d716ad3ff2c3bcee6511df3f3a838c4fa0c65128e7a9269696

Request headers

Pragma
no-cache
Accept-Encoding
gzip, deflate
Host
www.xrares.com
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Accept
image/webp,image/apng,image/*,*/*;q=0.8
Referer
https://www.xrares.com/
Cookie
AVS=08k62htk1gr208qflcr2l3kf34
Connection
keep-alive
Cache-Control
no-cache
Referer
https://www.xrares.com/
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36

Response headers

Pragma
no-cache
Date
Tue, 24 Jul 2018 09:05:55 GMT
Last-Modified
Thu, 13 Apr 2017 23:49:16 GMT
Server
Apache
ETag
"a2354-16c4-54d14f9039700"
Content-Type
image/jpeg
Cache-Control
no-cache, no-store, must-revalidate
Connection
Keep-Alive
Accept-Ranges
bytes
Keep-Alive
timeout=15, max=96
Content-Length
5828
Expires
0
1.jpg
www.xrares.com/media/videos/tmb/13429/
7 KB
7 KB
Image
General
Full URL
https://www.xrares.com/media/videos/tmb/13429/1.jpg
Requested by
Host: www.xrares.com
URL: https://www.xrares.com/
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
89.248.174.186 , Seychelles, ASN29073 (QUASINETWORKS, NL),
Reverse DNS
cpanel.adammo.win
Software
Apache /
Resource Hash
de3017035d8dc859b3f4cda0dc9d80a8186be66ea93f34bea163739c56d01522

Request headers

Pragma
no-cache
Accept-Encoding
gzip, deflate
Host
www.xrares.com
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Accept
image/webp,image/apng,image/*,*/*;q=0.8
Referer
https://www.xrares.com/
Cookie
AVS=08k62htk1gr208qflcr2l3kf34
Connection
keep-alive
Cache-Control
no-cache
Referer
https://www.xrares.com/
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36

Response headers

Pragma
no-cache
Date
Tue, 24 Jul 2018 09:05:55 GMT
Last-Modified
Sat, 14 Jul 2018 02:45:27 GMT
Server
Apache
ETag
"9a367a-1b8d-570ec96c3f668"
Content-Type
image/jpeg
Cache-Control
no-cache, no-store, must-revalidate
Connection
Keep-Alive
Accept-Ranges
bytes
Keep-Alive
timeout=15, max=97
Content-Length
7053
Expires
0
1.jpg
www.xrares.com/media/videos/tmb/13512/
6 KB
6 KB
Image
General
Full URL
https://www.xrares.com/media/videos/tmb/13512/1.jpg
Requested by
Host: www.xrares.com
URL: https://www.xrares.com/
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
89.248.174.186 , Seychelles, ASN29073 (QUASINETWORKS, NL),
Reverse DNS
cpanel.adammo.win
Software
Apache /
Resource Hash
b240e5227e448d5b1f07275e27fe4541e10aeb490a190526b0c0dc802578b6b9

Request headers

Pragma
no-cache
Accept-Encoding
gzip, deflate
Host
www.xrares.com
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Accept
image/webp,image/apng,image/*,*/*;q=0.8
Referer
https://www.xrares.com/
Cookie
AVS=08k62htk1gr208qflcr2l3kf34
Connection
keep-alive
Cache-Control
no-cache
Referer
https://www.xrares.com/
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36

Response headers

Pragma
no-cache
Date
Tue, 24 Jul 2018 09:05:55 GMT
Last-Modified
Mon, 23 Jul 2018 06:36:21 GMT
Server
Apache
ETag
"a413a6-17be-571a4dd1a2719"
Content-Type
image/jpeg
Cache-Control
no-cache, no-store, must-revalidate
Connection
Keep-Alive
Accept-Ranges
bytes
Keep-Alive
timeout=15, max=97
Content-Length
6078
Expires
0
5.jpg
www.xrares.com/media/videos/tmb/3419/
5 KB
5 KB
Image
General
Full URL
https://www.xrares.com/media/videos/tmb/3419/5.jpg
Requested by
Host: www.xrares.com
URL: https://www.xrares.com/
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
89.248.174.186 , Seychelles, ASN29073 (QUASINETWORKS, NL),
Reverse DNS
cpanel.adammo.win
Software
Apache /
Resource Hash
9f3c3b4846efa3757aade1d7c3cbf3b3bfd245bb9e014c56ccb5cc20ffd7c990

Request headers

Pragma
no-cache
Accept-Encoding
gzip, deflate
Host
www.xrares.com
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Accept
image/webp,image/apng,image/*,*/*;q=0.8
Referer
https://www.xrares.com/
Cookie
AVS=08k62htk1gr208qflcr2l3kf34
Connection
keep-alive
Cache-Control
no-cache
Referer
https://www.xrares.com/
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36

Response headers

Pragma
no-cache
Date
Tue, 24 Jul 2018 09:05:55 GMT
Last-Modified
Thu, 13 Apr 2017 23:48:41 GMT
Server
Apache
ETag
"81749-13eb-54d14f6ed8840"
Content-Type
image/jpeg
Cache-Control
no-cache, no-store, must-revalidate
Connection
Keep-Alive
Accept-Ranges
bytes
Keep-Alive
timeout=15, max=96
Content-Length
5099
Expires
0
(m=q_TT2-Sbe0YHGgaaaa)(mh=j6SKYtXsypk6eXhk)0.jpg
bi.phncdn.com/videos/201612/29/100578342/original/
7 KB
8 KB
Image
General
Full URL
https://bi.phncdn.com/videos/201612/29/100578342/original/(m=q_TT2-Sbe0YHGgaaaa)(mh=j6SKYtXsypk6eXhk)0.jpg
Requested by
Host: www.xrares.com
URL: https://www.xrares.com/
Protocol
SPDY
Server
152.195.34.118 Ashburn, United States, ASN15133 (EDGECAST - MCI Communications Services, Inc. d/b/a Verizon Business, US),
Reverse DNS
Software
ECAcc (frb/6708) /
Resource Hash
01c6c81dbad9bf5397de8d0820b36d71e63bb56f88e752272348f7524ccf2150

Request headers

Referer
https://www.xrares.com/
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36

Response headers

date
Tue, 24 Jul 2018 09:05:49 GMT
last-modified
Thu, 02 Nov 2017 15:11:58 GMT
server
ECAcc (frb/6708)
status
200
x-cache
HIT
content-type
image/jpeg
access-control-allow-origin
*
cache-control
max-age=10211021
accept-ranges
bytes
timing-allow-origin
*
content-length
7635
expires
Mon, 19 Nov 2018 13:29:30 GMT
1.jpg
www.xrares.com/media/videos/tmb/8128/
3 KB
3 KB
Image
General
Full URL
https://www.xrares.com/media/videos/tmb/8128/1.jpg
Requested by
Host: www.xrares.com
URL: https://www.xrares.com/
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
89.248.174.186 , Seychelles, ASN29073 (QUASINETWORKS, NL),
Reverse DNS
cpanel.adammo.win
Software
Apache /
Resource Hash
103ecdb0e0f2442834e352ea8be9f2ff8b5cb1d8e4c3ecca39be8234b4bf7970

Request headers

Pragma
no-cache
Accept-Encoding
gzip, deflate
Host
www.xrares.com
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Accept
image/webp,image/apng,image/*,*/*;q=0.8
Referer
https://www.xrares.com/
Cookie
AVS=08k62htk1gr208qflcr2l3kf34
Connection
keep-alive
Cache-Control
no-cache
Referer
https://www.xrares.com/
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36

Response headers

Pragma
no-cache
Date
Tue, 24 Jul 2018 09:05:55 GMT
Last-Modified
Thu, 08 Jun 2017 08:32:54 GMT
Server
Apache
ETag
"1810ae-bf0-5516eb2f1d980"
Content-Type
image/jpeg
Cache-Control
no-cache, no-store, must-revalidate
Connection
Keep-Alive
Accept-Ranges
bytes
Keep-Alive
timeout=15, max=96
Content-Length
3056
Expires
0
1.jpg
www.xrares.com/media/videos/tmb/13501/
7 KB
7 KB
Image
General
Full URL
https://www.xrares.com/media/videos/tmb/13501/1.jpg
Requested by
Host: www.xrares.com
URL: https://www.xrares.com/
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
89.248.174.186 , Seychelles, ASN29073 (QUASINETWORKS, NL),
Reverse DNS
cpanel.adammo.win
Software
Apache /
Resource Hash
613c6df2b0009c0deb972980de6c4d377e953b9f54384c69f2a42850337e7d49

Request headers

Pragma
no-cache
Accept-Encoding
gzip, deflate
Host
www.xrares.com
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Accept
image/webp,image/apng,image/*,*/*;q=0.8
Referer
https://www.xrares.com/
Cookie
AVS=08k62htk1gr208qflcr2l3kf34
Connection
keep-alive
Cache-Control
no-cache
Referer
https://www.xrares.com/
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36

Response headers

Pragma
no-cache
Date
Tue, 24 Jul 2018 09:05:55 GMT
Last-Modified
Sun, 22 Jul 2018 22:02:36 GMT
Server
Apache
ETag
"a40f1f-1bc3-5719dafcd2b5b"
Content-Type
image/jpeg
Cache-Control
no-cache, no-store, must-revalidate
Connection
Keep-Alive
Accept-Ranges
bytes
Keep-Alive
timeout=15, max=96
Content-Length
7107
Expires
0
1.jpg
www.xrares.com/media/videos/tmb/7706/
7 KB
7 KB
Image
General
Full URL
https://www.xrares.com/media/videos/tmb/7706/1.jpg
Requested by
Host: www.xrares.com
URL: https://www.xrares.com/
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
89.248.174.186 , Seychelles, ASN29073 (QUASINETWORKS, NL),
Reverse DNS
cpanel.adammo.win
Software
Apache /
Resource Hash
fac035fb54b47de537137d660845a03c839f55bb24611b8c9e9b0c697254931b

Request headers

Pragma
no-cache
Accept-Encoding
gzip, deflate
Host
www.xrares.com
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Accept
image/webp,image/apng,image/*,*/*;q=0.8
Referer
https://www.xrares.com/
Cookie
AVS=08k62htk1gr208qflcr2l3kf34
Connection
keep-alive
Cache-Control
no-cache
Referer
https://www.xrares.com/
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36

Response headers

Pragma
no-cache
Date
Tue, 24 Jul 2018 09:05:55 GMT
Last-Modified
Wed, 10 May 2017 13:43:13 GMT
Server
Apache
ETag
"607ce-1c7f-54f2ba7535e40"
Content-Type
image/jpeg
Cache-Control
no-cache, no-store, must-revalidate
Connection
Keep-Alive
Accept-Ranges
bytes
Keep-Alive
timeout=15, max=96
Content-Length
7295
Expires
0
7.jpg
www.xrares.com/media/videos/tmb/2682/
9 KB
9 KB
Image
General
Full URL
https://www.xrares.com/media/videos/tmb/2682/7.jpg
Requested by
Host: www.xrares.com
URL: https://www.xrares.com/
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
89.248.174.186 , Seychelles, ASN29073 (QUASINETWORKS, NL),
Reverse DNS
cpanel.adammo.win
Software
Apache /
Resource Hash
03d876ffd1e7225a694adbbf0dec43fe2e51d4267bbf8f67d9da7998e24b32b2

Request headers

Pragma
no-cache
Accept-Encoding
gzip, deflate
Host
www.xrares.com
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Accept
image/webp,image/apng,image/*,*/*;q=0.8
Referer
https://www.xrares.com/
Cookie
AVS=08k62htk1gr208qflcr2l3kf34
Connection
keep-alive
Cache-Control
no-cache
Referer
https://www.xrares.com/
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36

Response headers

Pragma
no-cache
Date
Tue, 24 Jul 2018 09:05:55 GMT
Last-Modified
Thu, 13 Apr 2017 23:48:17 GMT
Server
Apache
ETag
"e1b71-22cd-54d14f57f5240"
Content-Type
image/jpeg
Cache-Control
no-cache, no-store, must-revalidate
Connection
Keep-Alive
Accept-Ranges
bytes
Keep-Alive
timeout=15, max=95
Content-Length
8909
Expires
0
1.jpg
www.xrares.com/media/videos/tmb/7251/
3 KB
3 KB
Image
General
Full URL
https://www.xrares.com/media/videos/tmb/7251/1.jpg
Requested by
Host: www.xrares.com
URL: https://www.xrares.com/
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
89.248.174.186 , Seychelles, ASN29073 (QUASINETWORKS, NL),
Reverse DNS
cpanel.adammo.win
Software
Apache /
Resource Hash
daa303ef263075e9c642ed43081178de6e385dffccaa9b7f2423fac7baa8e6fd

Request headers

Pragma
no-cache
Accept-Encoding
gzip, deflate
Host
www.xrares.com
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Accept
image/webp,image/apng,image/*,*/*;q=0.8
Referer
https://www.xrares.com/
Cookie
AVS=08k62htk1gr208qflcr2l3kf34
Connection
keep-alive
Cache-Control
no-cache
Referer
https://www.xrares.com/
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36

Response headers

Pragma
no-cache
Date
Tue, 24 Jul 2018 09:05:55 GMT
Last-Modified
Sun, 23 Apr 2017 11:55:08 GMT
Server
Apache
ETag
"e1dcf-c6c-54dd4297cbf00"
Content-Type
image/jpeg
Cache-Control
no-cache, no-store, must-revalidate
Connection
Keep-Alive
Accept-Ranges
bytes
Keep-Alive
timeout=15, max=95
Content-Length
3180
Expires
0
d7.jpg
th-us2.vporn.com/t/48/1634748/
9 KB
10 KB
Image
General
Full URL
https://th-us2.vporn.com/t/48/1634748/d7.jpg
Requested by
Host: www.xrares.com
URL: https://www.xrares.com/
Protocol
SPDY
Server
204.155.151.83 Panama City, Panama, ASN40824 (WZCOM-US - WZ Communications Inc., US),
Reverse DNS
th-us2.vporn.com
Software
nginx/1.10.3 /
Resource Hash
f3183514e6e2f8567ae1b7cb5dafeb7fdde020969bd06a8e9a40dd3018ae0b62

Request headers

Referer
https://www.xrares.com/
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36

Response headers

date
Tue, 24 Jul 2018 09:05:49 GMT
last-modified
Tue, 13 Jun 2017 07:14:46 GMT
server
nginx/1.10.3
etag
"593f90e6-255a"
vary
Accept
content-type
image/webp
status
200
cache-control
max-age=63072000
accept-ranges
bytes
content-length
9562
expires
Thu, 23 Jul 2020 09:05:49 GMT
4.jpg
www.xrares.com/media/videos/tmb/13519/
5 KB
5 KB
Image
General
Full URL
https://www.xrares.com/media/videos/tmb/13519/4.jpg
Requested by
Host: www.xrares.com
URL: https://www.xrares.com/
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
89.248.174.186 , Seychelles, ASN29073 (QUASINETWORKS, NL),
Reverse DNS
cpanel.adammo.win
Software
Apache /
Resource Hash
760f1dc968d1da3f151d2587a6fcd12aa86e7d00e0c446d68f593670993ee453

Request headers

Pragma
no-cache
Accept-Encoding
gzip, deflate
Host
www.xrares.com
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Accept
image/webp,image/apng,image/*,*/*;q=0.8
Referer
https://www.xrares.com/
Cookie
AVS=08k62htk1gr208qflcr2l3kf34
Connection
keep-alive
Cache-Control
no-cache
Referer
https://www.xrares.com/
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36

Response headers

Pragma
no-cache
Date
Tue, 24 Jul 2018 09:05:55 GMT
Last-Modified
Tue, 24 Jul 2018 08:27:31 GMT
Server
Apache
ETag
"a41470-1490-571ba887e5e72"
Content-Type
image/jpeg
Cache-Control
no-cache, no-store, must-revalidate
Connection
Keep-Alive
Accept-Ranges
bytes
Keep-Alive
timeout=15, max=95
Content-Length
5264
Expires
0
1.jpg
www.xrares.com/media/videos/tmb/13518/
8 KB
9 KB
Image
General
Full URL
https://www.xrares.com/media/videos/tmb/13518/1.jpg
Requested by
Host: www.xrares.com
URL: https://www.xrares.com/
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
89.248.174.186 , Seychelles, ASN29073 (QUASINETWORKS, NL),
Reverse DNS
cpanel.adammo.win
Software
Apache /
Resource Hash
e13456d51f6e7b1eb7d051b01680aebd34fc12bdf460017601070f552c1b1623

Request headers

Pragma
no-cache
Accept-Encoding
gzip, deflate
Host
www.xrares.com
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Accept
image/webp,image/apng,image/*,*/*;q=0.8
Referer
https://www.xrares.com/
Cookie
AVS=08k62htk1gr208qflcr2l3kf34
Connection
keep-alive
Cache-Control
no-cache
Referer
https://www.xrares.com/
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36

Response headers

Pragma
no-cache
Date
Tue, 24 Jul 2018 09:05:55 GMT
Last-Modified
Tue, 24 Jul 2018 05:03:13 GMT
Server
Apache
ETag
"a41224-20d4-571b7add69034"
Content-Type
image/jpeg
Cache-Control
no-cache, no-store, must-revalidate
Connection
Keep-Alive
Accept-Ranges
bytes
Keep-Alive
timeout=15, max=95
Content-Length
8404
Expires
0
16.jpg
www.xrares.com/media/videos/tmb/13517/
5 KB
5 KB
Image
General
Full URL
https://www.xrares.com/media/videos/tmb/13517/16.jpg
Requested by
Host: www.xrares.com
URL: https://www.xrares.com/
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
89.248.174.186 , Seychelles, ASN29073 (QUASINETWORKS, NL),
Reverse DNS
cpanel.adammo.win
Software
Apache /
Resource Hash
acd1a7483eec1872f7d1e26da6d532ebf49c65ca989d4dad01af4ddb834b12bb

Request headers

Pragma
no-cache
Accept-Encoding
gzip, deflate
Host
www.xrares.com
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Accept
image/webp,image/apng,image/*,*/*;q=0.8
Referer
https://www.xrares.com/
Cookie
AVS=08k62htk1gr208qflcr2l3kf34
Connection
keep-alive
Cache-Control
no-cache
Referer
https://www.xrares.com/
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36

Response headers

Pragma
no-cache
Date
Tue, 24 Jul 2018 09:05:55 GMT
Last-Modified
Tue, 24 Jul 2018 04:44:35 GMT
Server
Apache
ETag
"a410b7-143b-571b76b39534d"
Content-Type
image/jpeg
Cache-Control
no-cache, no-store, must-revalidate
Connection
Keep-Alive
Accept-Ranges
bytes
Keep-Alive
timeout=15, max=94
Content-Length
5179
Expires
0
1.jpg
www.xrares.com/media/videos/tmb/13516/
8 KB
8 KB
Image
General
Full URL
https://www.xrares.com/media/videos/tmb/13516/1.jpg
Requested by
Host: www.xrares.com
URL: https://www.xrares.com/
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
89.248.174.186 , Seychelles, ASN29073 (QUASINETWORKS, NL),
Reverse DNS
cpanel.adammo.win
Software
Apache /
Resource Hash
6e9dc95c94635fa8e426cd7d0a278e5dee5047b1e2500fbd1ac1fbe91caef50e

Request headers

Pragma
no-cache
Accept-Encoding
gzip, deflate
Host
www.xrares.com
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Accept
image/webp,image/apng,image/*,*/*;q=0.8
Referer
https://www.xrares.com/
Cookie
AVS=08k62htk1gr208qflcr2l3kf34
Connection
keep-alive
Cache-Control
no-cache
Referer
https://www.xrares.com/
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36

Response headers

Pragma
no-cache
Date
Tue, 24 Jul 2018 09:05:55 GMT
Last-Modified
Tue, 24 Jul 2018 00:14:43 GMT
Server
Apache
ETag
"a41456-1e61-571b3a61abd0b"
Content-Type
image/jpeg
Cache-Control
no-cache, no-store, must-revalidate
Connection
Keep-Alive
Accept-Ranges
bytes
Keep-Alive
timeout=15, max=95
Content-Length
7777
Expires
0
1.jpg
www.xrares.com/media/videos/tmb/13515/
13 KB
13 KB
Image
General
Full URL
https://www.xrares.com/media/videos/tmb/13515/1.jpg
Requested by
Host: www.xrares.com
URL: https://www.xrares.com/
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
89.248.174.186 , Seychelles, ASN29073 (QUASINETWORKS, NL),
Reverse DNS
cpanel.adammo.win
Software
Apache /
Resource Hash
e869834c2f8f7a605e518ce1328888e317c0aa3698ce65ad1c05241120be649c

Request headers

Pragma
no-cache
Accept-Encoding
gzip, deflate
Host
www.xrares.com
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Accept
image/webp,image/apng,image/*,*/*;q=0.8
Referer
https://www.xrares.com/
Cookie
AVS=08k62htk1gr208qflcr2l3kf34
Connection
keep-alive
Cache-Control
no-cache
Referer
https://www.xrares.com/
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36

Response headers

Pragma
no-cache
Date
Tue, 24 Jul 2018 09:05:55 GMT
Last-Modified
Mon, 23 Jul 2018 19:46:40 GMT
Server
Apache
ETag
"a4142a-3437-571afe775ddc8"
Content-Type
image/jpeg
Cache-Control
no-cache, no-store, must-revalidate
Connection
Keep-Alive
Accept-Ranges
bytes
Keep-Alive
timeout=15, max=94
Content-Length
13367
Expires
0
1.jpg
www.xrares.com/media/videos/tmb/13514/
5 KB
6 KB
Image
General
Full URL
https://www.xrares.com/media/videos/tmb/13514/1.jpg
Requested by
Host: www.xrares.com
URL: https://www.xrares.com/
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
89.248.174.186 , Seychelles, ASN29073 (QUASINETWORKS, NL),
Reverse DNS
cpanel.adammo.win
Software
Apache /
Resource Hash
63f3540c9a078187bec62323a7e3d31027b6018c975186743c18890090225107

Request headers

Pragma
no-cache
Accept-Encoding
gzip, deflate
Host
www.xrares.com
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Accept
image/webp,image/apng,image/*,*/*;q=0.8
Referer
https://www.xrares.com/
Cookie
AVS=08k62htk1gr208qflcr2l3kf34
Connection
keep-alive
Cache-Control
no-cache
Referer
https://www.xrares.com/
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36

Response headers

Pragma
no-cache
Date
Tue, 24 Jul 2018 09:05:55 GMT
Last-Modified
Mon, 23 Jul 2018 06:37:37 GMT
Server
Apache
ETag
"a413fa-14e5-571a4e1a7a649"
Content-Type
image/jpeg
Cache-Control
no-cache, no-store, must-revalidate
Connection
Keep-Alive
Accept-Ranges
bytes
Keep-Alive
timeout=15, max=94
Content-Length
5349
Expires
0
1.jpg
www.xrares.com/media/videos/tmb/13513/
6 KB
6 KB
Image
General
Full URL
https://www.xrares.com/media/videos/tmb/13513/1.jpg
Requested by
Host: www.xrares.com
URL: https://www.xrares.com/
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
89.248.174.186 , Seychelles, ASN29073 (QUASINETWORKS, NL),
Reverse DNS
cpanel.adammo.win
Software
Apache /
Resource Hash
554f902cf2e64721ec76255766ef7905b0135054335ba6702e780b04c97c7618

Request headers

Pragma
no-cache
Accept-Encoding
gzip, deflate
Host
www.xrares.com
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Accept
image/webp,image/apng,image/*,*/*;q=0.8
Referer
https://www.xrares.com/
Cookie
AVS=08k62htk1gr208qflcr2l3kf34
Connection
keep-alive
Cache-Control
no-cache
Referer
https://www.xrares.com/
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36

Response headers

Pragma
no-cache
Date
Tue, 24 Jul 2018 09:05:55 GMT
Last-Modified
Mon, 23 Jul 2018 06:37:37 GMT
Server
Apache
ETag
"a413bc-17cf-571a4e1a50281"
Content-Type
image/jpeg
Cache-Control
no-cache, no-store, must-revalidate
Connection
Keep-Alive
Accept-Ranges
bytes
Keep-Alive
timeout=15, max=94
Content-Length
6095
Expires
0
z
kz9c.piguiqproxy.com/
660 B
908 B
XHR
General
Full URL
https://kz9c.piguiqproxy.com/z
Requested by
Host: www.xrares.com
URL: https://www.xrares.com/
Protocol
SPDY
Server
185.187.81.35 , Ukraine, ASN43332 (IDSTRATEGY-AS ---------- UPSTREAMS ----------, UA),
Reverse DNS
Software
nginx /
Resource Hash
5b68105cc06528650c49aeca35f8001f5290b0a904e6c125132bdc93a415d7dc

Request headers

Referer
https://www.xrares.com/
Origin
https://www.xrares.com
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Content-Type
text/plain;charset=UTF-8

Response headers

date
Tue, 24 Jul 2018 09:05:49 GMT
server
nginx
status
200
content-type
text/plain; charset=utf-8
access-control-allow-origin
*
access-control-expose-headers
X-Meta-Request-Id, X-Location, X-Meta-Status, X-Check
cache-control
no-cache, no-store
x-check
abce67dcc589523deab49708542a3aa1
content-length
660
expires
Thu, 01 Jan 1970 00:00:01 GMT
z
xk1o.amgload.net/
652 B
900 B
XHR
General
Full URL
https://xk1o.amgload.net/z
Requested by
Host: www.xrares.com
URL: https://www.xrares.com/
Protocol
SPDY
Server
185.187.81.38 , Ukraine, ASN43332 (IDSTRATEGY-AS ---------- UPSTREAMS ----------, UA),
Reverse DNS
Software
nginx /
Resource Hash
083e3cfb82c571be8ee9748e88f97a0ad0cdc1b71dc79a1850456c7382b00c91

Request headers

Referer
https://www.xrares.com/
Origin
https://www.xrares.com
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Content-Type
text/plain;charset=UTF-8

Response headers

date
Tue, 24 Jul 2018 09:05:49 GMT
server
nginx
status
200
content-type
text/plain; charset=utf-8
access-control-allow-origin
*
access-control-expose-headers
X-Meta-Request-Id, X-Location, X-Meta-Status, X-Check
cache-control
no-cache, no-store
x-check
abce67dcc589523deab49708542a3aa1
content-length
652
expires
Thu, 01 Jan 1970 00:00:01 GMT
1.jpg
www.xrares.com/media/videos/pthum/
11 KB
12 KB
Image
General
Full URL
https://www.xrares.com/media/videos/pthum/1.jpg
Requested by
Host: www.xrares.com
URL: https://www.xrares.com/
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
89.248.174.186 , Seychelles, ASN29073 (QUASINETWORKS, NL),
Reverse DNS
cpanel.adammo.win
Software
Apache /
Resource Hash
c155d63aa1ef2339c1cfb48a5609f7a0537e4be99c266c9354d0a66f35fd8eb5

Request headers

Pragma
no-cache
Accept-Encoding
gzip, deflate
Host
www.xrares.com
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Accept
image/webp,image/apng,image/*,*/*;q=0.8
Referer
https://www.xrares.com/
Cookie
AVS=08k62htk1gr208qflcr2l3kf34
Connection
keep-alive
Cache-Control
no-cache
Referer
https://www.xrares.com/
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36

Response headers

Pragma
no-cache
Date
Tue, 24 Jul 2018 09:05:55 GMT
Last-Modified
Sun, 11 Feb 2018 11:21:08 GMT
Server
Apache
ETag
"6c806bd-2da1-564edf540cad8"
Content-Type
image/jpeg
Cache-Control
no-cache, no-store, must-revalidate
Connection
Keep-Alive
Accept-Ranges
bytes
Keep-Alive
timeout=15, max=94
Content-Length
11681
Expires
0
3.jpg
www.xrares.com/media/videos/pthum/
10 KB
10 KB
Image
General
Full URL
https://www.xrares.com/media/videos/pthum/3.jpg
Requested by
Host: www.xrares.com
URL: https://www.xrares.com/
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
89.248.174.186 , Seychelles, ASN29073 (QUASINETWORKS, NL),
Reverse DNS
cpanel.adammo.win
Software
Apache /
Resource Hash
3c4718562aad535e6020fee09658fe305bed70ed03b0e26b7f2ae993de6dd24c

Request headers

Pragma
no-cache
Accept-Encoding
gzip, deflate
Host
www.xrares.com
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Accept
image/webp,image/apng,image/*,*/*;q=0.8
Referer
https://www.xrares.com/
Cookie
AVS=08k62htk1gr208qflcr2l3kf34
Connection
keep-alive
Cache-Control
no-cache
Referer
https://www.xrares.com/
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36

Response headers

Pragma
no-cache
Date
Tue, 24 Jul 2018 09:05:55 GMT
Last-Modified
Sun, 11 Feb 2018 11:21:08 GMT
Server
Apache
ETag
"6c806be-2706-564edf543d048"
Content-Type
image/jpeg
Cache-Control
no-cache, no-store, must-revalidate
Connection
Keep-Alive
Accept-Ranges
bytes
Keep-Alive
timeout=15, max=93
Content-Length
9990
Expires
0
4.jpg
www.xrares.com/media/videos/pthum/
13 KB
13 KB
Image
General
Full URL
https://www.xrares.com/media/videos/pthum/4.jpg
Requested by
Host: www.xrares.com
URL: https://www.xrares.com/
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
89.248.174.186 , Seychelles, ASN29073 (QUASINETWORKS, NL),
Reverse DNS
cpanel.adammo.win
Software
Apache /
Resource Hash
44ea688ab380f21d423d0b7c2c0d5a67c74c38f4beddffdefa8e25e349b84a1a

Request headers

Pragma
no-cache
Accept-Encoding
gzip, deflate
Host
www.xrares.com
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Accept
image/webp,image/apng,image/*,*/*;q=0.8
Referer
https://www.xrares.com/
Cookie
AVS=08k62htk1gr208qflcr2l3kf34
Connection
keep-alive
Cache-Control
no-cache
Referer
https://www.xrares.com/
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36

Response headers

Pragma
no-cache
Date
Tue, 24 Jul 2018 09:05:55 GMT
Last-Modified
Sun, 11 Feb 2018 11:21:08 GMT
Server
Apache
ETag
"6c806bc-3314-564edf53d6f78"
Content-Type
image/jpeg
Cache-Control
no-cache, no-store, must-revalidate
Connection
Keep-Alive
Accept-Ranges
bytes
Keep-Alive
timeout=15, max=93
Content-Length
13076
Expires
0
5.jpg
www.xrares.com/media/videos/pthum/
17 KB
18 KB
Image
General
Full URL
https://www.xrares.com/media/videos/pthum/5.jpg
Requested by
Host: www.xrares.com
URL: https://www.xrares.com/
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
89.248.174.186 , Seychelles, ASN29073 (QUASINETWORKS, NL),
Reverse DNS
cpanel.adammo.win
Software
Apache /
Resource Hash
373ca80bfea0a08e0d4c0f7ba906da81ea8b15a5e5b2c92e408a0dc26a7960c4

Request headers

Pragma
no-cache
Accept-Encoding
gzip, deflate
Host
www.xrares.com
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Accept
image/webp,image/apng,image/*,*/*;q=0.8
Referer
https://www.xrares.com/
Cookie
AVS=08k62htk1gr208qflcr2l3kf34
Connection
keep-alive
Cache-Control
no-cache
Referer
https://www.xrares.com/
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36

Response headers

Pragma
no-cache
Date
Tue, 24 Jul 2018 09:05:55 GMT
Last-Modified
Sun, 11 Feb 2018 11:21:07 GMT
Server
Apache
ETag
"6c806bb-4497-564edf53a2f70"
Content-Type
image/jpeg
Cache-Control
no-cache, no-store, must-revalidate
Connection
Keep-Alive
Accept-Ranges
bytes
Keep-Alive
timeout=15, max=99
Content-Length
17559
Expires
0
bootstrap.min.js
www.xrares.com/templates/frontend/dark-magenta/js/
31 KB
31 KB
Script
General
Full URL
https://www.xrares.com/templates/frontend/dark-magenta/js/bootstrap.min.js
Requested by
Host: www.xrares.com
URL: https://www.xrares.com/
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
89.248.174.186 , Seychelles, ASN29073 (QUASINETWORKS, NL),
Reverse DNS
cpanel.adammo.win
Software
Apache /
Resource Hash
24cc29533598f962823c4229bc280487646a27a42a95257c31de1b9b18f3710f

Request headers

Pragma
no-cache
Accept-Encoding
gzip, deflate
Host
www.xrares.com
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Accept
*/*
Referer
https://www.xrares.com/
Cookie
AVS=08k62htk1gr208qflcr2l3kf34
Connection
keep-alive
Cache-Control
no-cache
Referer
https://www.xrares.com/
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36

Response headers

Date
Tue, 24 Jul 2018 09:05:55 GMT
Last-Modified
Thu, 13 Apr 2017 23:49:43 GMT
Server
Apache
ETag
"1a2aa6-7c4b-54d14fa9f93c0"
Content-Type
text/javascript
Cache-Control
max-age=1209600
Connection
Keep-Alive
Accept-Ranges
bytes
Keep-Alive
timeout=15, max=98
Content-Length
31819
Expires
Tue, 07 Aug 2018 09:05:55 GMT
jquery.rotator-0.2.js
www.xrares.com/templates/frontend/dark-magenta/js/
2 KB
2 KB
Script
General
Full URL
https://www.xrares.com/templates/frontend/dark-magenta/js/jquery.rotator-0.2.js
Requested by
Host: www.xrares.com
URL: https://www.xrares.com/
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
89.248.174.186 , Seychelles, ASN29073 (QUASINETWORKS, NL),
Reverse DNS
cpanel.adammo.win
Software
Apache /
Resource Hash
b03ab8d775750a2c8920babb0f463b1bae0b9906874fe65189654ff2347dc0fb

Request headers

Pragma
no-cache
Accept-Encoding
gzip, deflate
Host
www.xrares.com
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Accept
*/*
Referer
https://www.xrares.com/
Cookie
AVS=08k62htk1gr208qflcr2l3kf34
Connection
keep-alive
Cache-Control
no-cache
Referer
https://www.xrares.com/
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36

Response headers

Date
Tue, 24 Jul 2018 09:05:55 GMT
Last-Modified
Thu, 13 Apr 2017 23:49:43 GMT
Server
Apache
ETag
"1a2aa1-705-54d14fa9f93c0"
Content-Type
text/javascript
Cache-Control
max-age=1209600
Connection
Keep-Alive
Accept-Ranges
bytes
Keep-Alive
timeout=15, max=99
Content-Length
1797
Expires
Tue, 07 Aug 2018 09:05:55 GMT
jquery.avs-0.2.js
www.xrares.com/templates/frontend/dark-magenta/js/
12 KB
13 KB
Script
General
Full URL
https://www.xrares.com/templates/frontend/dark-magenta/js/jquery.avs-0.2.js
Requested by
Host: www.xrares.com
URL: https://www.xrares.com/
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
89.248.174.186 , Seychelles, ASN29073 (QUASINETWORKS, NL),
Reverse DNS
cpanel.adammo.win
Software
Apache /
Resource Hash
acbe8a84452584663a0bc615e094aad32df900000c02393fb3889f52da642566

Request headers

Pragma
no-cache
Accept-Encoding
gzip, deflate
Host
www.xrares.com
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Accept
*/*
Referer
https://www.xrares.com/
Cookie
AVS=08k62htk1gr208qflcr2l3kf34
Connection
keep-alive
Cache-Control
no-cache
Referer
https://www.xrares.com/
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36

Response headers

Date
Tue, 24 Jul 2018 09:05:55 GMT
Last-Modified
Fri, 14 Apr 2017 00:17:08 GMT
Server
Apache
ETag
"1a2a8f-30ca-54d155cac4900"
Content-Type
text/javascript
Cache-Control
max-age=1209600
Connection
Keep-Alive
Accept-Ranges
bytes
Keep-Alive
timeout=15, max=99
Content-Length
12490
Expires
Tue, 07 Aug 2018 09:05:55 GMT
service-worker.js
www.xrares.com/
161 B
515 B
Script
General
Full URL
https://www.xrares.com/service-worker.js
Requested by
Host: www.xrares.com
URL: https://www.xrares.com/
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
89.248.174.186 , Seychelles, ASN29073 (QUASINETWORKS, NL),
Reverse DNS
cpanel.adammo.win
Software
Apache /
Resource Hash
4e6c6d00d25e538e747620675fdd7d43b4c0959f971fce000178b3dc942d83b3

Request headers

Pragma
no-cache
Accept-Encoding
gzip, deflate
Host
www.xrares.com
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Accept
*/*
Referer
https://www.xrares.com/
Cookie
AVS=08k62htk1gr208qflcr2l3kf34
Connection
keep-alive
Cache-Control
no-cache
Referer
https://www.xrares.com/
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36

Response headers

Date
Tue, 24 Jul 2018 09:05:55 GMT
Last-Modified
Tue, 17 Jul 2018 12:30:13 GMT
Server
Apache
ETag
"6c0d8a2-a1-571311b9676e3"
Content-Type
text/javascript
Cache-Control
max-age=1209600
Connection
Keep-Alive
Accept-Ranges
bytes
Keep-Alive
timeout=15, max=99
Content-Length
161
Expires
Tue, 07 Aug 2018 09:05:55 GMT
somgo.js
www.xrares.com/templates/frontend/dark-magenta/js/
51 KB
51 KB
Script
General
Full URL
https://www.xrares.com/templates/frontend/dark-magenta/js/somgo.js
Requested by
Host: www.xrares.com
URL: https://www.xrares.com/
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
89.248.174.186 , Seychelles, ASN29073 (QUASINETWORKS, NL),
Reverse DNS
cpanel.adammo.win
Software
Apache /
Resource Hash
a81b2cecb4c4252f701a717b21052e6b67ca1d7f83d612f14d0e4ffba434b015

Request headers

Pragma
no-cache
Accept-Encoding
gzip, deflate
Host
www.xrares.com
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Accept
*/*
Referer
https://www.xrares.com/
Cookie
AVS=08k62htk1gr208qflcr2l3kf34
Connection
keep-alive
Cache-Control
no-cache
Referer
https://www.xrares.com/
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36

Response headers

Date
Tue, 24 Jul 2018 09:05:55 GMT
Last-Modified
Sat, 21 Oct 2017 15:48:44 GMT
Server
Apache
ETag
"1a27b5-cc3b-55c10863135ee"
Content-Type
text/javascript
Cache-Control
max-age=1209600
Connection
Keep-Alive
Accept-Ranges
bytes
Keep-Alive
timeout=15, max=93
Content-Length
52283
Expires
Tue, 07 Aug 2018 09:05:55 GMT
reactAds-script.js
tpmedia-reactads.com/
61 KB
25 KB
Script
General
Full URL
https://tpmedia-reactads.com/reactAds-script.js
Requested by
Host: www.xrares.com
URL: https://www.xrares.com/
Protocol
HTTP/1.1
Server
160.153.76.70 Scottsdale, United States, ASN26496 (AS-26496-GO-DADDY-COM-LLC - GoDaddy.com, LLC, US),
Reverse DNS
ip-160-153-76-70.ip.secureserver.net
Software
Apache /
Resource Hash
1a10faf45cce1eeadebbc79cc40396ae1eebfe3cdb914ab265df36017fb93049

Request headers

Referer
https://www.xrares.com/
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36

Response headers

Date
Tue, 24 Jul 2018 09:05:50 GMT
Content-Encoding
gzip
Last-Modified
Wed, 20 Jun 2018 19:11:38 GMT
Server
Apache
ETag
"da0314-f28c-56f17916df2c8-gzip"
Vary
Accept-Encoding,User-Agent
Content-Type
application/javascript
Connection
Keep-Alive
Accept-Ranges
bytes
Keep-Alive
timeout=5
Content-Length
24993
16357
api.clickaine.com/v1/apop/js/zone/
90 KB
37 KB
Script
General
Full URL
https://api.clickaine.com/v1/apop/js/zone/16357?frequency=100
Requested by
Host: www.xrares.com
URL: https://www.xrares.com/
Protocol
SPDY
Server
88.208.59.100 , Netherlands, ASN39572 (ADVANCEDHOSTERS-AS, NL),
Reverse DNS
Software
nginx /
Resource Hash
5ae29fb517a4b087c5bbe9aa2dd52b875e84d4c6ddc14b4c1208729183273928

Request headers

Referer
https://www.xrares.com/
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36

Response headers

date
Tue, 24 Jul 2018 09:05:49 GMT
content-encoding
gzip
referrer-policy
unsafe-url
server
nginx
status
200
access-control-max-age
86400
content-type
text/javascript; charset=UTF-8
access-control-allow-origin
*
vary
Accept-Encoding
css
fonts.googleapis.com/
5 KB
850 B
Stylesheet
General
Full URL
https://fonts.googleapis.com/css?family=Open+Sans:400,700
Requested by
Host: www.xrares.com
URL: https://www.xrares.com/
Protocol
SPDY
Server
2a00:1450:4001:81d::200a , Ireland, ASN15169 (GOOGLE - Google LLC, US),
Reverse DNS
Software
ESF /
Resource Hash
b3dd58a587d33c5200140cee13c1332ac4d7f59b2551d3a8b841738616e54eee
Security Headers
Name Value
Strict-Transport-Security max-age=600
X-Frame-Options SAMEORIGIN
X-Xss-Protection 1; mode=block

Request headers

Referer
https://www.xrares.com/
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36

Response headers

strict-transport-security
max-age=600
content-encoding
gzip
last-modified
Tue, 24 Jul 2018 09:05:49 GMT
server
ESF
link
<https://fonts.gstatic.com>; rel=preconnect; crossorigin
status
200
date
Tue, 24 Jul 2018 09:05:49 GMT
x-frame-options
SAMEORIGIN
content-type
text/css; charset=utf-8
access-control-allow-origin
*
cache-control
private, max-age=86400, stale-while-revalidate=604800
timing-allow-origin
*
alt-svc
quic=":443"; ma=2592000; v="44,43,39,35"
x-xss-protection
1; mode=block
expires
Tue, 24 Jul 2018 09:05:49 GMT
mem8YaGs126MiZpBA-UFVZ0bf8pkAg.woff2
fonts.gstatic.com/s/opensans/v15/
9 KB
9 KB
Font
General
Full URL
https://fonts.gstatic.com/s/opensans/v15/mem8YaGs126MiZpBA-UFVZ0bf8pkAg.woff2
Requested by
Host: www.xrares.com
URL: https://www.xrares.com/
Protocol
SPDY
Server
2a00:1450:4001:81d::2003 , Ireland, ASN15169 (GOOGLE - Google LLC, US),
Reverse DNS
Software
sffe /
Resource Hash
8868d2a2f803ea6802d54a11564b5b96c7d8be56117a328c8f605539d6dee167
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 1; mode=block

Request headers

User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Referer
https://fonts.googleapis.com/css?family=Open+Sans:400,700
Origin
https://www.xrares.com

Response headers

date
Thu, 19 Jul 2018 18:17:53 GMT
x-content-type-options
nosniff
last-modified
Wed, 11 Oct 2017 21:49:46 GMT
server
sffe
age
398876
status
200
content-type
font/woff2
access-control-allow-origin
*
cache-control
public, max-age=31536000
accept-ranges
bytes
timing-allow-origin
*
alt-svc
quic=":443"; ma=2592000; v="44,43,39,35"
content-length
8892
x-xss-protection
1; mode=block
expires
Fri, 19 Jul 2019 18:17:53 GMT
fontawesome-webfont.woff
www.xrares.com/templates/frontend/dark-magenta/fonts/
82 KB
82 KB
Font
General
Full URL
https://www.xrares.com/templates/frontend/dark-magenta/fonts/fontawesome-webfont.woff?v=4.1.0
Requested by
Host: www.xrares.com
URL: https://www.xrares.com/
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
89.248.174.186 , Seychelles, ASN29073 (QUASINETWORKS, NL),
Reverse DNS
cpanel.adammo.win
Software
Apache /
Resource Hash
66db52b456efe7e29cec11fa09421d03cb09e37ed1b567307ec0444fd605ce31

Request headers

Pragma
no-cache
Origin
https://www.xrares.com
Accept-Encoding
gzip, deflate
Host
www.xrares.com
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Accept
*/*
Referer
https://www.xrares.com/templates/frontend/dark-magenta/css/font-awesome.min.css
Cookie
AVS=08k62htk1gr208qflcr2l3kf34
Connection
keep-alive
Cache-Control
no-cache
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Referer
https://www.xrares.com/templates/frontend/dark-magenta/css/font-awesome.min.css
Origin
https://www.xrares.com

Response headers

Date
Tue, 24 Jul 2018 09:05:55 GMT
Last-Modified
Thu, 13 Apr 2017 23:49:43 GMT
Server
Apache
ETag
"1a2a6c-14730-54d14fa9f93c0"
Content-Type
text/plain; charset=UTF-8
Cache-Control
max-age=1209600
Connection
Keep-Alive
Accept-Ranges
bytes
Keep-Alive
timeout=15, max=100
Content-Length
83760
Expires
Tue, 07 Aug 2018 09:05:55 GMT
mem5YaGs126MiZpBA-UN7rgOUuhpKKSTjw.woff2
fonts.gstatic.com/s/opensans/v15/
9 KB
9 KB
Font
General
Full URL
https://fonts.gstatic.com/s/opensans/v15/mem5YaGs126MiZpBA-UN7rgOUuhpKKSTjw.woff2
Requested by
Host: www.xrares.com
URL: https://www.xrares.com/
Protocol
SPDY
Server
2a00:1450:4001:81d::2003 , Ireland, ASN15169 (GOOGLE - Google LLC, US),
Reverse DNS
Software
sffe /
Resource Hash
fe32c9921874b35b87acb0a3b558784ca7b9fed91ed34c1d2a68b6566c9d09be
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 1; mode=block

Request headers

User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Referer
https://fonts.googleapis.com/css?family=Open+Sans:400,700
Origin
https://www.xrares.com

Response headers

date
Thu, 19 Jul 2018 18:17:53 GMT
x-content-type-options
nosniff
last-modified
Wed, 11 Oct 2017 21:49:39 GMT
server
sffe
age
398876
status
200
content-type
font/woff2
access-control-allow-origin
*
cache-control
public, max-age=31536000
accept-ranges
bytes
timing-allow-origin
*
alt-svc
quic=":443"; ma=2592000; v="44,43,39,35"
content-length
8800
x-xss-protection
1; mode=block
expires
Fri, 19 Jul 2019 18:17:53 GMT
f704YTFVBAUHVlJVUFAEBVMDCFEEBQFQUFQEUAUACAcIU1BVB1dNOEpDXARFCV4FE1sTBlQVbgBDBl4PE00TBVAVUEMLGhMCXgxcCEVDC0MGAlJQAgJ-SWQMCBlcAWAVQAlJTAFUEUwdQUAQFUFUCUwNQVABVUgYAE00TExNbAxxMUABRV1AJBwVZAlUEUgdUBVcE...
n2-r2d2.amgload.net/
129 KB
51 KB
XHR
General
Full URL
https://n2-r2d2.amgload.net/f704YTFVBAUHVlJVUFAEBVMDCFEEBQFQUFQEUAUACAcIU1BVB1dNOEpDXARFCV4FE1sTBlQVbgBDBl4PE00TBVAVUEMLGhMCXgxcCEVDC0MGAlJQAgJ-SWQMCBlcAWAVQAlJTAFUEUwdQUAQFUFUCUwNQVABVUgYAE00TExNbAxxMUABRV1AJBwVZAlUEUgdUBVcEVQhUCVhQWVQABwRUV1AEBQBQVQUAA1VVUwkFCFkAWARQBVQHVQhXUFgGAABWAQAAVldQCVEFUAIHBFkHVQVSBFQIVwlVUFRUWAdZVABQBAVXUAQFAANVVQAJVQhTAAUEWQVYB1AIVFBVBlcAWAEAAFZX-AAlWBVACUQRQBwcFWQRVCFIJVFBXVFU
Requested by
Host: www.xrares.com
URL: https://www.xrares.com/
Protocol
SPDY
Server
185.187.81.38 , Ukraine, ASN43332 (IDSTRATEGY-AS ---------- UPSTREAMS ----------, UA),
Reverse DNS
Software
nginx /
Resource Hash
114c469837508a67c6792a4ac24c14e3bf418216dae19d0ba411a5cdf03b35e0

Request headers

User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Referer
https://www.xrares.com/
Origin
https://www.xrares.com

Response headers

date
Tue, 24 Jul 2018 09:05:49 GMT
content-encoding
gzip
last-modified
Tue, 24 Jul 2018 07:32:11 GMT
server
nginx
etag
"5b56d5fb-c97e"
status
200
content-type
application/javascript
access-control-allow-origin
*
access-control-expose-headers
X-Location, X-Meta-Status, X-Set-Cookie, X-Cookie, X-Check
cache-control
max-age=31536000
x-meta-data
{"method":"get_argon","data":{"commit":"7cc13cc82c76194133badebfa15da43221ead37a","r":2}}
x-check
fa321000c2ed5400a4d8a00057570400
x-meta-controller-version
Argon controller (commit: beb3fbc2)
content-length
51582
expires
Wed, 24 Jul 2019 09:05:49 GMT
xrares.com.207326.js
jsc.traffic-media.co.uk/x/r/ Frame 9E2C
102 KB
34 KB
Script
General
Full URL
https://jsc.traffic-media.co.uk/x/r/xrares.com.207326.js?t=1186249
Requested by
Host: www.xrares.com
URL: https://www.xrares.com/
Protocol
SPDY
Server
2a03:90c0:9997::9997 , Austria, ASN199524 (GCORE, AT),
Reverse DNS
Software
nginx /
Resource Hash
0c45602d7582b65a97c46c7671e3925fd7548a1be1e7c0c40ae4f6e6d1d27a56

Request headers

Referer
https://www.xrares.com/
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36

Response headers

x-id
nkf-up-gc14
date
Tue, 24 Jul 2018 09:05:49 GMT
content-encoding
gzip
last-modified
Tue, 17 Jul 2018 13:19:42 GMT
server
nginx
etag
W/"5b4decee-199e0"
x-cached-since
2018-07-24T01:24:47+00:00
content-type
application/javascript
status
200
cache-control
max-age=86400
cache
HIT
expires
Wed, 25 Jul 2018 01:24:47 GMT
Cookie set zone
afgr4.com/en/us/banner/url/ Frame D591
0
0
Document
General
Full URL
https://afgr4.com/en/us/banner/url/zone?zid=11906&pid=0&custom1=XDating&custom2=60531&custom3={transaction_id}&custom6=&custom7=PUB_66610&cturl=https://t.irtyf.com/ihxg01j1ds?offer_id=3785&aff_id=66610&file_id=252177&aff_sub=XDating&url=
Requested by
Host: www.xrares.com
URL: https://www.xrares.com/
Protocol
HTTP/1.1
Security
TLS 1.2, RSA, AES_256_GCM
Server
66.155.97.114 Atlanta, United States, ASN13768 (COGECO-PEER1 - Cogeco Peer 1, CA),
Reverse DNS
Software
Apache-Coyote/1.1 /
Resource Hash

Request headers

Host
afgr4.com
Connection
keep-alive
Pragma
no-cache
Cache-Control
no-cache
Upgrade-Insecure-Requests
1
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Accept
text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Referer
https://www.xrares.com/
Accept-Encoding
gzip, deflate
Upgrade-Insecure-Requests
1
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
X-DevTools-Emulate-Network-Conditions-Client-Id
6942FFF6E026B0997B69F66E30F3B467
Referer
https://www.xrares.com/

Response headers

Server
Apache-Coyote/1.1
Set-Cookie
AVPUID=789db272256a578d97be5d25c9bd2c0d; Expires=Wed, 24-Jul-2019 09:05:50 GMT; Path=/
Content-Type
text/html;charset=UTF-8
Content-Length
1233
Date
Tue, 24 Jul 2018 09:05:50 GMT
Cookie set zone
afgr4.com/en/us/banner/url/ Frame D57A
0
0
Document
General
Full URL
https://afgr4.com/en/us/banner/url/zone?zid=11924&pid=0&custom1=XVOD&custom2=60672&custom3={transaction_id}&custom6=&custom7=PUB_66610&cturl=https://t.irtyf.com/ihxg01j1ds?offer_id=3784&aff_id=66610&file_id=252624&source={source}&aff_sub=XVOD&aff_sub2={aff_sub2}&aff_sub3={aff_sub3}&aff_sub4={aff_sub4}&aff_sub5={aff_sub5}&url=
Requested by
Host: www.xrares.com
URL: https://www.xrares.com/
Protocol
HTTP/1.1
Security
TLS 1.2, RSA, AES_256_GCM
Server
66.155.97.114 Atlanta, United States, ASN13768 (COGECO-PEER1 - Cogeco Peer 1, CA),
Reverse DNS
Software
Apache-Coyote/1.1 /
Resource Hash

Request headers

Host
afgr4.com
Connection
keep-alive
Pragma
no-cache
Cache-Control
no-cache
Upgrade-Insecure-Requests
1
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Accept
text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Referer
https://www.xrares.com/
Accept-Encoding
gzip, deflate
Upgrade-Insecure-Requests
1
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
X-DevTools-Emulate-Network-Conditions-Client-Id
6942FFF6E026B0997B69F66E30F3B467
Referer
https://www.xrares.com/

Response headers

Server
Apache-Coyote/1.1
Set-Cookie
AVPUID=cf2cac92595459a43f7b70a5c85b6da4; Expires=Wed, 24-Jul-2019 09:05:50 GMT; Path=/
Content-Type
text/html;charset=UTF-8
Content-Length
1400
Date
Tue, 24 Jul 2018 09:05:50 GMT
Cookie set zone
afgr4.com/en/us/banner/url/ Frame 02F9
0
0
Document
General
Full URL
https://afgr4.com/en/us/banner/url/zone?zid=11925&pid=0&custom1=XGaming&custom2=60674&custom3={transaction_id}&custom6=&custom7=PUB_66610&cturl=https://t.irtyf.com/ihxg01j1ds?offer_id=4090&aff_id=66610&file_id=252621&source={source}&aff_sub=XGaming&aff_sub2={aff_sub2}&aff_sub3={aff_sub3}&aff_sub4={aff_sub4}&aff_sub5={aff_sub5}&url=
Requested by
Host: www.xrares.com
URL: https://www.xrares.com/
Protocol
HTTP/1.1
Security
TLS 1.2, RSA, AES_256_GCM
Server
66.155.97.114 Atlanta, United States, ASN13768 (COGECO-PEER1 - Cogeco Peer 1, CA),
Reverse DNS
Software
Apache-Coyote/1.1 /
Resource Hash

Request headers

Host
afgr4.com
Connection
keep-alive
Pragma
no-cache
Cache-Control
no-cache
Upgrade-Insecure-Requests
1
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Accept
text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Referer
https://www.xrares.com/
Accept-Encoding
gzip, deflate
Upgrade-Insecure-Requests
1
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
X-DevTools-Emulate-Network-Conditions-Client-Id
6942FFF6E026B0997B69F66E30F3B467
Referer
https://www.xrares.com/

Response headers

Server
Apache-Coyote/1.1
Set-Cookie
AVPUID=c6423711c7639130b9f0c8bdd8eb65fc; Expires=Wed, 24-Jul-2019 10:06:00 GMT; Path=/
Content-Type
text/html;charset=UTF-8
Content-Length
1409
Date
Tue, 24 Jul 2018 10:06:00 GMT
1.jpg
www.xrares.com/media/videos/tmb/6794/
6 KB
7 KB
Image
General
Full URL
https://www.xrares.com/media/videos/tmb/6794/1.jpg
Requested by
Host: www.xrares.com
URL: https://www.xrares.com/
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
89.248.174.186 , Seychelles, ASN29073 (QUASINETWORKS, NL),
Reverse DNS
cpanel.adammo.win
Software
Apache /
Resource Hash
4c28f1a12d3a7ba643a9b17aa6d1c0ac289abbb2399c4b61470fb7ef46f6e182

Request headers

Pragma
no-cache
Accept-Encoding
gzip, deflate
Host
www.xrares.com
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Accept
image/webp,image/apng,image/*,*/*;q=0.8
Referer
https://www.xrares.com/
Cookie
AVS=08k62htk1gr208qflcr2l3kf34
Connection
keep-alive
Cache-Control
no-cache
Referer
https://www.xrares.com/
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36

Response headers

Pragma
no-cache
Date
Tue, 24 Jul 2018 09:05:55 GMT
Last-Modified
Thu, 13 Apr 2017 23:49:21 GMT
Server
Apache
ETag
"41156-18b4-54d14f94fe240"
Content-Type
image/jpeg
Cache-Control
no-cache, no-store, must-revalidate
Connection
Keep-Alive
Accept-Ranges
bytes
Keep-Alive
timeout=15, max=98
Content-Length
6324
Expires
0
1.jpg
www.xrares.com/media/videos/tmb/13512/
6 KB
6 KB
Image
General
Full URL
https://www.xrares.com/media/videos/tmb/13512/1.jpg
Requested by
Host: www.xrares.com
URL: https://www.xrares.com/
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
89.248.174.186 , Seychelles, ASN29073 (QUASINETWORKS, NL),
Reverse DNS
cpanel.adammo.win
Software
Apache /
Resource Hash
b240e5227e448d5b1f07275e27fe4541e10aeb490a190526b0c0dc802578b6b9

Request headers

Pragma
no-cache
Accept-Encoding
gzip, deflate
Host
www.xrares.com
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Accept
image/webp,image/apng,image/*,*/*;q=0.8
Referer
https://www.xrares.com/
Cookie
AVS=08k62htk1gr208qflcr2l3kf34
Connection
keep-alive
Cache-Control
no-cache
Referer
https://www.xrares.com/
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36

Response headers

Pragma
no-cache
Date
Tue, 24 Jul 2018 09:05:55 GMT
Last-Modified
Mon, 23 Jul 2018 06:36:21 GMT
Server
Apache
ETag
"a413a6-17be-571a4dd1a2719"
Content-Type
image/jpeg
Cache-Control
no-cache, no-store, must-revalidate
Connection
Keep-Alive
Accept-Ranges
bytes
Keep-Alive
timeout=15, max=92
Content-Length
6078
Expires
0
mem8YaGs126MiZpBA-UFUZ0bf8pkAp6a.woff2
fonts.gstatic.com/s/opensans/v15/
6 KB
6 KB
Font
General
Full URL
https://fonts.gstatic.com/s/opensans/v15/mem8YaGs126MiZpBA-UFUZ0bf8pkAp6a.woff2
Requested by
Host: www.xrares.com
URL: https://www.xrares.com/
Protocol
SPDY
Server
2a00:1450:4001:81d::2003 , Ireland, ASN15169 (GOOGLE - Google LLC, US),
Reverse DNS
Software
sffe /
Resource Hash
a726c8af799c4c310efca2a7fe577ac08ea2ffa7af4cba1198892e61a9ae1a6d
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 1; mode=block

Request headers

User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Referer
https://fonts.googleapis.com/css?family=Open+Sans:400,700
Origin
https://www.xrares.com

Response headers

date
Fri, 13 Jul 2018 17:30:48 GMT
x-content-type-options
nosniff
last-modified
Wed, 11 Oct 2017 21:49:36 GMT
server
sffe
age
920101
status
200
content-type
font/woff2
access-control-allow-origin
*
cache-control
public, max-age=31536000
accept-ranges
bytes
timing-allow-origin
*
alt-svc
quic=":443"; ma=2592000; v="44,43,39,35"
content-length
5636
x-xss-protection
1; mode=block
expires
Sat, 13 Jul 2019 17:30:48 GMT
invoke.js
ejdkqclkzq.com/423580d4c48a623298d5a05dd1a51267/
12 KB
13 KB
Script
General
Full URL
https://ejdkqclkzq.com/423580d4c48a623298d5a05dd1a51267/invoke.js
Requested by
Host: www.xrares.com
URL: https://www.xrares.com/
Protocol
HTTP/1.1
Server
198.134.112.242 Garden City, United States, ASN27257 (WEBAIR-INTERNET - Webair Internet Development Company Inc., US),
Reverse DNS
Software
nginx/1.12.1 /
Resource Hash
895eed36d378985c4379dfc31bc5bee25dedfc3e138a5be37f7b1c24184b86c9
Security Headers
Name Value
Strict-Transport-Security max-age=0; includeSubdomains

Request headers

Referer
https://www.xrares.com/
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Intervention
<https://www.chromestatus.com/feature/5718547946799104>; level="warning"

Response headers

Date
Tue, 24 Jul 2018 09:05:50 GMT
Server
nginx/1.12.1
Strict-Transport-Security
max-age=0; includeSubdomains
P3P
CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"
Access-Control-Allow-Origin
*
Cache-Control
no-cache
Connection
keep-alive
Content-Type
application/javascript
Content-Length
12690
Expires
Thu, 01 Jan 1970 00:00:01 GMT
mUdRVCMHGKUBOACHGTH1g-vvDin1pK8aKteLpeZ5c0A.woff
fonts.gstatic.com/s/roboto/v15/
19 KB
19 KB
Font
General
Full URL
https://fonts.gstatic.com/s/roboto/v15/mUdRVCMHGKUBOACHGTH1g-vvDin1pK8aKteLpeZ5c0A.woff
Requested by
Host: jsc.traffic-media.co.uk
URL: https://jsc.traffic-media.co.uk/x/r/xrares.com.207326.js?t=1186249
Protocol
SPDY
Server
2a00:1450:4001:81d::2003 , Ireland, ASN15169 (GOOGLE - Google LLC, US),
Reverse DNS
Software
sffe /
Resource Hash
1372ebaa0d371c6cbe8624b176d4ffbfc224abe9e3a2f3c6423910768a37d85c
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 1; mode=block

Request headers

User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Referer
https://www.xrares.com/
Origin
https://www.xrares.com

Response headers

date
Fri, 13 Jul 2018 06:23:27 GMT
x-content-type-options
nosniff
last-modified
Wed, 14 Jan 2015 22:48:53 GMT
server
sffe
age
960142
status
200
content-type
font/woff
access-control-allow-origin
*
cache-control
public, max-age=31536000
accept-ranges
bytes
timing-allow-origin
*
alt-svc
quic=":443"; ma=2592000; v="44,43,39,35"
content-length
19684
x-xss-protection
1; mode=block
expires
Sat, 13 Jul 2019 06:23:27 GMT
1
servicer.traffic-media.co.uk/207326/
0
0
Script
General
Full URL
https://servicer.traffic-media.co.uk/207326/1?w=1140&h=80&cols=4&pv=5&cbuster=1532423149957872558165&ref=&lu=https%3A%2F%2Fwww.xrares.com%2F&pageView=1&pvid=164cb899986883d1ddb
Requested by
Host: jsc.traffic-media.co.uk
URL: https://jsc.traffic-media.co.uk/x/r/xrares.com.207326.js?t=1186249
Protocol
SPDY
Server
195.154.46.150 , France, ASN12876 (AS12876, FR),
Reverse DNS
195-154-46-150.rev.poneytelecom.eu
Software
/
Resource Hash

Request headers

Referer
https://www.xrares.com/
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36

Response headers

pragma
no-cache
cache-control
max-age=0, no-store, no-cache, must-revalidate
content-type
text/html
truncated
/
632 B
0
Image
General
Full URL
data:truncated
Protocol
DATA
Server
-, , ASN (),
Reverse DNS
Software
/
Resource Hash
b31062abec9d4536524232f02801803517829af29b44c85b59696d52bc7107cc

Request headers

Response headers

Access-Control-Allow-Origin
*
Content-Type
image/gif
4ec115f3-556b-4e97-a8b0-b5e9cda0a896
https://www.xrares.com/ Frame 9E2C
722 B
0
Other
General
Full URL
blob:https://www.xrares.com/4ec115f3-556b-4e97-a8b0-b5e9cda0a896
Requested by
Host: jsc.traffic-media.co.uk
URL: https://jsc.traffic-media.co.uk/x/r/xrares.com.207326.js?t=1186249
Protocol
BLOB
Server
-, , ASN (),
Reverse DNS
Software
/
Resource Hash
07c9352f1230aa15040212cc30d81d7cb8e5ac84235056d11b240587ea51a555

Request headers

User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36

Response headers

Content-Length
722
fpp.js
browsers.support/
6 KB
4 KB
Script
General
Full URL
https://browsers.support/fpp.js
Requested by
Host: ejdkqclkzq.com
URL: https://ejdkqclkzq.com/423580d4c48a623298d5a05dd1a51267/invoke.js
Protocol
SPDY
Server
2400:cb00:2048:1::ac40:6f05 , United States, ASN13335 (CLOUDFLARENET - Cloudflare, Inc., US),
Reverse DNS
Software
cloudflare /
Resource Hash
dd25d2500f0506f7e5f900ea348c4103802f499063021d94bd0d7becb101b1b1

Request headers

Referer
https://www.xrares.com/
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36

Response headers

date
Tue, 24 Jul 2018 09:05:50 GMT
content-encoding
gzip
cf-cache-status
HIT
last-modified
Tuesday, 24-Jul-2018 08:31:38 UTC
server
cloudflare
expect-ct
max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
vary
Accept-Encoding
content-type
application/javascript; charset=utf-8
status
200
cache-control
no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0
cf-ray
43f53a325f8626f0-FRA
truncated
/
67 KB
0
Script
General
Full URL
data:truncated
Protocol
DATA
Server
-, , ASN (),
Reverse DNS
Software
/
Resource Hash
c1168bead57c459e1f1ae4c06b62fc6ab522711b8d384f142004e55bcdc7e726

Request headers

Response headers

Access-Control-Allow-Origin
*
Content-Type
text/plain
_ate.track.config_resp
m.addthisedge.com/live/boost/ra-5a1540051d200ca4/
34 B
138 B
Script
General
Full URL
https://m.addthisedge.com/live/boost/ra-5a1540051d200ca4/_ate.track.config_resp
Requested by
Host: s7.addthis.com
URL: https://s7.addthis.com/js/300/addthis_widget.js
Protocol
SPDY
Server
104.111.228.202 Amsterdam, Netherlands, ASN16625 (AKAMAI-AS - Akamai Technologies, Inc., US),
Reverse DNS
a104-111-228-202.deploy.static.akamaitechnologies.com
Software
/
Resource Hash
2cfc87cde7d1d87e0e1cb7cae35006a9a842d436e348d4b223b87efc484b5b5d

Request headers

Referer
https://www.xrares.com/
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36

Response headers

status
200
date
Tue, 24 Jul 2018 09:05:50 GMT
cache-control
no-transform, s-maxage=0, max-age=0
content-length
34
content-type
application/json
goanal.js
www.xrares.com/templates/frontend/dark-magenta/js/
34 KB
34 KB
Script
General
Full URL
https://www.xrares.com/templates/frontend/dark-magenta/js/goanal.js
Requested by
Host: www.xrares.com
URL: https://www.xrares.com/templates/frontend/dark-magenta/js/somgo.js
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
89.248.174.186 , Seychelles, ASN29073 (QUASINETWORKS, NL),
Reverse DNS
cpanel.adammo.win
Software
Apache /
Resource Hash
c6b51278f1a5a919cbc532ab29d06e1b1a918ee779cd055d27fc07120fd9093e

Request headers

Pragma
no-cache
Accept-Encoding
gzip, deflate
Host
www.xrares.com
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Accept
*/*
Referer
https://www.xrares.com/
Cookie
AVS=08k62htk1gr208qflcr2l3kf34; TrafficmediaStorage=%7B%220%22%3A%7B%22svspr%22%3A%22%22%2C%22svsds%22%3A1%2C%22TejndEEDj%22%3A%22qnAxX4XX*%22%7D%2C%22C207326%22%3A%7B%22page%22%3A1%2C%22time%22%3A1532423149926%7D%7D; __atuvc=1%7C30; __atuvs=5b56ebed42e54a04000
Connection
keep-alive
Cache-Control
no-cache
Referer
https://www.xrares.com/
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36

Response headers

Date
Tue, 24 Jul 2018 09:05:56 GMT
Last-Modified
Sat, 21 Oct 2017 15:47:56 GMT
Server
Apache
ETag
"1a27b6-8706-55c108355b44e"
Content-Type
text/javascript
Cache-Control
max-age=1209600
Connection
Keep-Alive
Accept-Ranges
bytes
Keep-Alive
timeout=15, max=91
Content-Length
34566
Expires
Tue, 07 Aug 2018 09:05:56 GMT
collect
www.google-analytics.com/r/
35 B
271 B
Image
General
Full URL
https://www.google-analytics.com/r/collect?v=1&_v=j64&a=1745681381&t=pageview&_s=1&dl=https%3A%2F%2Fwww.xrares.com%2F&ul=en-us&de=UTF-8&dt=XRares%20-%20Free%20Rape%20Porn%2C%20Forced%20Sex%20Videos%2C%20Real%20Rape%20Videos%20Tube&sd=24-bit&sr=1600x1200&vp=1585x1200&je=0&_u=IEBAAUABI~&jid=1036899243&gjid=1087149091&cid=694557174.1532423151&tid=UA-97426429-1&_gid=188538780.1532423151&_r=1&gtm=uaj&z=1485052141
Requested by
Host: www.xrares.com
URL: https://www.xrares.com/
Protocol
SPDY
Server
2a00:1450:4001:81d::200e , Ireland, ASN15169 (GOOGLE - Google LLC, US),
Reverse DNS
Software
Golfe2 /
Resource Hash
8337212354871836e6763a41e615916c89bac5b3f1f0adf60ba43c7c806e1015
Security Headers
Name Value
X-Content-Type-Options nosniff

Request headers

Referer
https://www.xrares.com/
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36

Response headers

pragma
no-cache
date
Tue, 24 Jul 2018 09:05:50 GMT
x-content-type-options
nosniff
last-modified
Sun, 17 May 1998 03:00:00 GMT
server
Golfe2
status
200
content-type
image/gif
access-control-allow-origin
*
cache-control
no-cache, no-store, must-revalidate
alt-svc
quic=":443"; ma=2592000; v="44,43,39,35"
content-length
35
expires
Fri, 01 Jan 1990 00:00:00 GMT

Verdicts & Comments Add Verdict or Comment

75 JavaScript Global Variables

These are the non-standard "global" variables defined on the window object. These can be helpful in identifying possible client-side frameworks and code.

string| base_url string| max_thumb_folders string| tpl_url string| lang_deleting string| lang_flaging string| lang_loading string| lang_sending string| lang_share_name_empty string| lang_share_rec_empty string| fb_signin string| fb_appid string| g_signin string| g_cid boolean| signup_section string| relative function| $ function| jQuery function| atwpjp string| _atd function| _euc function| _duc object| _atc string| _atr object| addthis string| addthis_pub function| emdot object| _ate object| _adr object| addthis_conf function| addthis_open function| addthis_close function| addthis_sendto object| jQuery1111016829402460252507 object| timers object| images function| changeThumb function| thumb_path object| post_timers function| destroy function| user_posting function| user_posting_load function| user_response function| reset_chars_counter function| insert_media object| mzs__7607 object| onClickExcludes function| TrafficmediaLoadGoods207326 undefined| TrafficmediaCReject207326 object| _mgq function| _mgqp number| _mgqt number| _mgqi boolean| _mgPageView311150 undefined| msViewportStyle function| gtag object| dataLayer function| v7GG function| B9NN string| popns object| ReactAds object| script object| addthis_config object| addthis_share object| google_tag_manager function| f5yy object| _0x138f function| _0x17c1 function| cIPop object| cPop string| GoogleAnalyticsObject function| ga function| pp_c483f6ce851c9ecd9fb835ff7551737c object| gaplugins object| gaGlobal object| gaData

8 Cookies

Domain/Path Name / Value
afgr4.com/ Name: AVPUID
Value: cf2cac92595459a43f7b70a5c85b6da4
.xrares.com/ Name: _gat_gtag_UA_97426429_1
Value: 1
.xrares.com/ Name: _gid
Value: GA1.2.188538780.1532423151
.xrares.com/ Name: _ga
Value: GA1.2.694557174.1532423151
www.xrares.com/ Name: __atuvs
Value: 5b56ebed42e54a04000
www.xrares.com/ Name: __atuvc
Value: 1%7C30
www.xrares.com/ Name: TrafficmediaStorage
Value: %7B%220%22%3A%7B%22svspr%22%3A%22%22%2C%22svsds%22%3A1%2C%22TejndEEDj%22%3A%22qnAxX4XX*%22%7D%2C%22C207326%22%3A%7B%22page%22%3A1%2C%22time%22%3A1532423149926%7D%7D
www.xrares.com/ Name: AVS
Value: 08k62htk1gr208qflcr2l3kf34

40 Console Messages

Source Level URL
Text
console-api log URL: https://tpmedia-reactads.com/reactAds-script.js(Line 2)
Message:
[object HTMLDivElement]
console-api log URL: https://tpmedia-reactads.com/reactAds-script.js(Line 2)
Message:
console.clear
console-api log URL: data:text/plain;base64,d2luZG93LnBvcG5zID0gJ2NQb3AnO3Y3R0cuYzQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmU0PT09J2Z1bmN0aW9uJz92N0dHLlo0LmU0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmU0O307djdHRy5pMT1mdW5jdGlvbigpe3ZhciBxMT1mdW5jdGlvbihJMSxLMSl7dmFyIEExPUsxJjB4ZmZmZjt2YXIgcjE9SzEtQTE7cmV0dXJuKHIxKkkxfDApKyhBMSpJMXwwKXwwO30sbTE9ZnVuY3Rpb24oajEsVTEsaDEpe3ZhciB4MT0weGNjOWUyZDUxLHoxPTB4MWI4NzM1OTM7dmFyIGUxPWgxO3ZhciB0MT1VMSZ+MHgzO2Zvcih2YXIgWjE9MDtaMTx0MTtaMSs9NCl7dmFyIFExPWoxLmNoYXJDb2RlQXQoWjEpJjB4ZmZ8KGoxLmNoYXJDb2RlQXQoWjErMSkmMHhmZik8PDh8KGoxLmNoYXJDb2RlQXQoWjErMikmMHhmZik8PDE2fChqMS5jaGFyQ29kZUF0KFoxKzMpJjB4ZmYpPDwyNDtRMT1xMShRMSx4MSk7UTE9KFExJjB4MWZmZmYpPDwxNXxRMT4+PjE3O1ExPXExKFExLHoxKTtlMV49UTE7ZTE9KGUxJjB4N2ZmZmYpPDwxM3xlMT4+PjE5O2UxPWUxKjUrMHhlNjU0NmI2NHwwO31RMT0wO3N3aXRjaChVMSU0KXtjYXNlIDM6UTE9KGoxLmNoYXJDb2RlQXQodDErMikmMHhmZik8PDE2O2Nhc2UgMjpRMXw9KGoxLmNoYXJDb2RlQXQodDErMSkmMHhmZik8PDg7Y2FzZSAxOlExfD1qMS5jaGFyQ29kZUF0KHQxKSYweGZmO1ExPXExKFExLHgxKTtRMT0oUTEmMHgxZmZmZik8PDE1fFExPj4+MTc7UTE9cTEoUTEsejEpO2UxXj1RMTt9ZTFePVUxO2UxXj1lMT4+PjE2O2UxPXExKGUxLDB4ODVlYmNhNmIpO2UxXj1lMT4+PjEzO2UxPXExKGUxLDB4YzJiMmFlMzUpO2UxXj1lMT4+PjE2O3JldHVybiBlMTt9O3JldHVybntiMTptMX07fSgpO3Y3R0cuRDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LkM2PT09J2Z1bmN0aW9uJz92N0dHLlo0LkM2LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LkM2O307djdHRy5MMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLlo2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5DNj09PSdmdW5jdGlvbic/djdHRy5nNi5DNi5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5DNjt9O3Y3R0cuWjQ9ZnVuY3Rpb24oQTQpe3JldHVybntlNDpmdW5jdGlvbigpe3ZhciBTNCxsND1hcmd1bWVudHM7c3dpdGNoKEE0KXtjYXNlIDI6UzQ9bDRbMF0rbDRbMV07YnJlYWs7Y2FzZSAyMjpTND1sNFsyXStsNFswXS1sNFsxXTticmVhaztjYXNlIDc6UzQ9bDRbNF0rbDRbMTBdK2w0WzExXStsNFszXSsobDRbNl0rbDRbMV0rbDRbNV0rbDRbOV0rbDRbMl0rbDRbMF0rbDRbOF0pK2w0WzddO2JyZWFrO2Nhc2UgNjpTND1sNFsyXS9sNFswXS9sNFsxXTticmVhaztjYXNlIDE3OlM0PWw0WzZdK2w0WzFdK2w0WzBdK2w0WzRdK2w0WzVdK2w0WzJdK2w0WzNdO2JyZWFrO2Nhc2UgMTpTND1sNFszXStsNFs0XStsNFsyXStsNFsxXStsNFswXTticmVhaztjYXNlIDM6UzQ9bDRbMV0rKGw0WzNdK2w0WzVdK2w0WzBdK2w0WzRdK2w0WzJdKTticmVhaztjYXNlIDExOlM0PWw0WzFdPGw0WzBdO2JyZWFrO2Nhc2UgOTpTND1sNFswXT4tbDRbMV07YnJlYWs7Y2FzZSA0OlM0PWw0WzBdK2w0WzFdK2w0WzJdO2JyZWFrO2Nhc2UgODpTND1sNFswXT09PWw0WzFdO2JyZWFrO2Nhc2UgMTQ6UzQ9bDRbMF0rbDRbNF0rbDRbN10rbDRbMl0rbDRbNV0rbDRbM10rbDRbMV0rbDRbNl0rbDRbOF07YnJlYWs7Y2FzZSAyMTpTND1sNFswXSVsNFsyXS1sNFsxXTticmVhaztjYXNlIDEyOlM0PWw0WzVdK2w0WzJdK2w0WzZdK2w0WzBdKyhsNFs0XStsNFszXStsNFsxXSk7YnJlYWs7Y2FzZSAxNjpTND1sNFswXStsNFsyXTxsNFsxXTticmVhaztjYXNlIDIwOlM0PWw0WzFdJWw0WzJdKmw0WzBdO2JyZWFrO2Nhc2UgNTpTND1sNFs1XSsobDRbMTNdK2w0WzNdK2w0WzddK2w0WzEyXStsNFs2XStsNFs0XStsNFsyXStsNFswXStsNFsxMF0rbDRbOF0rbDRbMTFdK2w0WzldK2w0WzFdKTticmVhaztjYXNlIDA6UzQ9bDRbOV0rbDRbOF0rbDRbMl0rbDRbMTNdK2w0WzNdK2w0WzRdK2w0WzFdK2w0WzBdK2w0WzddK2w0WzExXStsNFsxMF0rbDRbNl0rbDRbNV0rbDRbMTRdK2w0WzEyXTticmVhaztjYXNlIDE4OlM0PWw0WzBdKmw0WzJdJWw0WzFdO2JyZWFrO2Nhc2UgMTA6UzQ9LWw0WzBdPT09bDRbMV07YnJlYWs7Y2FzZSAxMzpTND1sNFsxNF0rbDRbMjddK2w0WzE5XStsNFswXStsNFsxMV0rbDRbNV0rbDRbMTBdK2w0WzI5XStsNFsyXStsNFsyM10rbDRbMjBdK2w0WzRdK2w0WzIyXStsNFsxOF0rbDRbMjRdK2w0WzEyXStsNFs3XStsNFsxNV0rbDRbNl0rbDRbMTNdK2w0WzE3XStsNFs5XStsNFsyOF0rbDRbMjFdK2w0WzFdK2w0WzMwXStsNFsyNl0rbDRbMTZdK2w0WzNdK2w0WzI1XStsNFs4XTticmVhaztjYXNlIDE5OlM0PWw0WzFdL2w0WzBdJWw0WzJdO2JyZWFrO2Nhc2UgMTU6UzQ9bDRbNV0rbDRbNF0rbDRbMTBdK2w0WzFdK2w0WzZdK2w0WzldK2w0WzJdK2w0WzddK2w0WzhdK2w0WzNdK2w0WzBdO2JyZWFrO31yZXR1cm4gUzQ7fSxzNDpmdW5jdGlvbihQNCl7QTQ9UDQ7fX07fSgpO3Y3R0cueDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy51ND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuZTQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuZTQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuZTQ7fTtmdW5jdGlvbiB2N0dHKCl7fXY3R0cuWTQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LnM0PT09J2Z1bmN0aW9uJz92N0dHLlo0LnM0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LnM0O307djdHRy5vND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuczQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuczQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuczQ7fTt2N0dHLmw2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuQjQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy5nNj1mdW5jdGlvbigpe3ZhciBzNj0yO3doaWxlKHM2IT09MSl7c3dpdGNoKHM2KXtjYXNlIDI6cmV0dXJue0M2OmZ1bmN0aW9uKHg2KXt2YXIgbTY9Mjt3aGlsZShtNiE9PTE0KXtzd2l0Y2gobTYpe2Nhc2UgNDptNj1JNj09PXg2Lmxlbmd0aD8zOjk7YnJlYWs7Y2FzZSAyOnZhciBQNj0nJyxVNj1kZWNvZGVVUkkoIjIjMUw3QTg4LEk1Vz84O1Y0WiUyMiUzRStHO0IlMjIpJTIwRyUwQUUlMjIkLFE/RTIyJTE0UChBMCMqRypLJjklM0MlNUQ/ViUzQz8sdDtHKCUzRTdNL1Y4Mj8lNUM0UTQtJTIwRyUxOEElMjI4N0skaTkoN0c3TTgyJTA1JTVDOE8/OCxaNUolMjUjJTNFJTVDJG4lMjUyJTdCRyxBJD87VjRabTIhTTVUKCQzVyUzRUgzKCxLP0k5OjdHaCUxNiglMUU3Xz9WMyUzRSxaNUolMjIpJTNDTSRJMyUzRTUlNUMkSjM0JkclMEJHO3U5JTVEJHooJTAwPSU1RT1BJDIhJTVDLlolM0UpOyU1RTJQKCUwOSUzRSU1QzdBODghRylQLyUyMDdHLE0lMjUlMjUwUDZNJTIyNSxqJEc6JTI1N1cuWjMlMjA3VD9KJTIyMiUxNUE2WiUxQSYsaz9FNSQ3JTVEJGswMj1fJTNDVzM4LG8lMjBaJTEzKyxuM0oyIyUyNUc5RTgvN1UkbicvKyUwQzBGZCU3QyUyMkc4TTgoLEk1TTg4N0skSiMhMCU1QyhaNS0lM0VVJH4oJTIwN18uWngyJlgoQzM4LHoyVjkhN0clM0VBJTIwJTI1MSU1QyRwLyUzQzdKJFclM0UjJ1UlM0VaJTIyLTVHJTAzJTE3KCUwNTVXNVYzMiUxMFA0QCglMTk1RyUwQVY5JTNDMyU1RTtQPyMlM0NHNVQzJTIyN0skSDkvM00zSzgyJTA1QTZHJTNDO2pHLk07KSx2NEczMiUxM1U2WjAlM0UzVD9aJTA1ISxLO0oyIz9HJTE4UiglMDU2RzBLPyUyMiwlNjAqWjsjJCU1QyRTPyUyMjZWLVoyJTI1IUk2RS8ybEclMUVLOy07VyRAMz85TTVUKCUwQSElNUUkUDcuJ1clM0VBJDIlMTMlNUUkRTQjJ00kVzUlM0U7SS5aJjkhUSRBJTIwKSUzQ00pWiUyMiUzRTNXKVQ3JTNFN1cuWiY4MVY0QyglMUYmVihFMSkseCRQNy4saT9WJi01JTVDJEk3NCxKL0YlMjU4JTIwRzZLNygsajlWPyUzQyZHJTEzSiUyMiklMjBPO0goJCUyMCU1QyUzQ1o4IyxaKEE3ODdHO1AlMjItMVEkSDklMjI1Ry9WOjIlMUZYLkwoLTBaJTNFQTArOlAwTzohJTNDVipVJD8mTCxTLjUoRyUxNVQzJTNFM0clMENFOjk3RyUxOEgoOSUzQyU1RD9WKCUwNSYlNUM3WiUxNCUzRT1OKUEkMiUxM1clM0VWOSUyNTZHOVEkJTNFN1cuWiUxNCUyMDNXMVoyKSRHNEslMjIyJTFFJTVDJTNDUCg/N1U/RyUyMiMlMjBHJTFEJTFEPy04TmJaPyUyMiUzQyU1QyhaNCUyMDNXMVolMDM1LCU1QyRzPyUyMix4LlolMTQ5MCU1QjZBKCg3WjVAMzIlMDJYKEE4OCxoL0EjKTZHdlolMDU4M1QqWiYtJTIwJTVDNFAoJDNKJFElMjUpJTIwRyhBJiUyMDNaP1olMDAyI0w/Vi8yJTNDJTVDLlM5JTNFOUcpTD8qJkcqVjk4PU0jVDMyPSU1QjBBNTgseSRKIyUyMCUzRUcuSyh+YiUwOGJaPyUyMiUyMkwuWjstJloyWiQpIU01VjMyO18oRTspLHU1UzMlM0UsJTdGalolMDQyJTA2UTtKJTNFMiUxRkc4USUyMjg9VyRvMjIlMTglMDkkcSQlMjAsaSRGMyo9Sz9aJTAwKSUyMEozSzgyJTA0TCRBOC0wVT9AKCUwMyxLP1czOCwlMTEkVjM/O0M/WiMlMjI2JTVDJTNDTTgpNkd6WiUyNSUzRTFHJTFEQSUyMjg3SyUwNSU3QiglMUM6WDRaPzIxVT9FJDIwWClBJTYweCwlNjAkQDMuJyU1RSRDMzgsUztSNz8xSzNUJTIyMjNNLlY/LidNP1coJTFGJkszSjEyLHU3WjgpJTI1RzVKNSUyMDtaMVolMTF1JTI1JTVEJCU3QyhjLFQzSTMyJTE0TDRHJTIyJTI1PVckVjM9JyU1QylQKCUxMHplc3glMjVmKWUpJTBFJTBBJTE3JTBFSnBKNzg7Tz8lMDQ1IzYlNUMlMDZXJTdDJTEwJTBGZSklMEUrMiUxRVA0US4yJTFFJTA5KkwyISwlNUQ/VyUyMiUzRT1AJE07MjZQKVQ3ODFRJE04PzdLLlo4IzYlNUMkajoyJTAxJTVDNkE1OD1LJCUxMiglMDg3JTVCL0MoJTE4MyU1RSlaJTE0JCwlNUU/SzojMVguTTklMjIsJTdDLEE4OCxYKlQ6NSwlNUQ7UDcycUclMEVFJCs3TSRnOSElMjJYKEEoaSwlN0Y2RTEyY0clMTlFJTI1KSwlNUQ1STclMjUlM0NHJTFCUSUyMiQ9SyRGOSgrRztAMjIlMERmJTNFQTAlMjUlM0MlNUMkcDcrLFQ/VyUyNS01JTVDJEk5OSElNUMvVCglMEElMjBWN1olMDYjO1cuWiUyMC0lMjBHJTBFSyMvOiU1QylaJTAyIywlN0QtUig2LFg4VzklMjAnTT9aJTA3Kyx4NEclM0UjJTIwRzNKMikqRy1BNCc7TSRWMyUyMDdYKUEoJTAxPUwpQSglMEEzVTZGNy85RyUwOVA3LzlHOUUlMjIvOkcqSyUyNTgsWjVKNS0mRyUxNiUxNSglMjA3Vz1QJTNFMiUyMCU1RCRUNyUzRSElNUMkaS8yOlAlM0VAMyUyMiwlMDhqJTE0KCUwQTtLP1olMTc2LFEuUCY/LGk/VjslMjUhSjNLODIlMDBQJGsmKSUzQyU1QyhaJTA3MiUzQ1Y0QSgvJ0spSyQyJTIyWD1BKCUzQypHJ1olMTgtPyU1QyRHJTNFLSUzQyU1RT9AKCUxOSZQNlcoPyZLM0oxMiUxMyU1RTglMTYoJTBEJFgzSDcuJTNFJTVDJGJkMiUxNSUwMDNFJTNDMiUxQl8oRTspLHo1SSYjJTNDJTVDNFAoJTBEPVokJTE5KCUwRCUyNUclMTZafiUxMCFFfiUwRCgvPVcuRTU4LH4kVjM/O0M7RjopLHguUCQlMjUwTC5BKCUwMT0lNUIzSDMyPUszQz8lMjIsWC9QJTNFIyUyMEc/JTVDMy8sdipBODIlMERNO1YxKSZHJTNDTS4pNkclMDVQPyE3Vi9QJTA5MiUxM1YkcSglMDg3XztROjgsdTtXJTIyMiUxQkclM0VBJTIyLTFRJHYlMjAyJTA4JTBCJHc1JTNFPVU2RjclM0UsJTdGKVolMDItMEc/JTVDJiUyNSUyMCU1QylaJTE0OyxQJTNFWiUxRiUyMjYlNUMlMjJaOyMwUDZBKCUwRStHJTBETTI4Okc3TyYyJTExViUzRUEoJTIyM1Q/WiUyNSUzQzdaM0I/KTZHKkUlMjIkLFo2TTUnLHElM0VMNzIwVS9WKCUxQyUyMFYqQSQ4K0c5SzgqOyU1RSRXMyUyMDRHJTA4TWY0LGgvWjAlMjA9VihaJTEzNCUyMkclMTVTODIlMTclNUQ9QSglMjUhRyUwRkoyKSUyMEclMUJDMyUyMiZHLiU1RCYpLHpjWmoyJTE0UChBMjIlMURJLk05JTIyIUclM0NROC8mUDVKKCUwNixNO0YjJTNDLEkoTTg4LCU3QyUyMlQ/JTNFN0okZzkjOVA/WiUwNSUyNTBVM0oxMiUyNUclMTVSMyUzRSUzRVgjWiUwMiUyNT8lNUM1USUyMjIlMUQlNUIwQTU4LFYvUDMlM0UscyxGZTIlMjVQJTNFUCUzRTIhVTNHMzIlMUNYJCUxNiglMUM4RyUxNk0yLyxYJGg/PyYlNUM0QSQyJTFGViUyME06JTIwM0clMUVFJTIyKSx2NEg5LTZHKUUwKSxMNEY/JTIyNkcuSyMvOiU1QzRAKCUwRTdfNVYzMjFVO1clMjUyJTAyVilNJTIyJTI1PVckJTYwKCUyNSUzQ1AuWiUxODIlMDlHOUs5JzslNUMkbicyJTBCVDVIKDg9SSRvKC86WChaJTA5LiUzRVg0TyglMjA9JTVFJEsmKSUzQ0clMTJaJTEzJTIwN1Q/SiUyMjIlMDAlNUM2QTc/N0cqSyY5JTNDJTVEP1YoJTNDPUkkdDo5NVA0WiUwNiMlMjJMNEAzJTNFLHMyRSglMTU/VmJaJTNFOD9VJHc3KjNLM1o5JTIyLHc1QDMyJTA1JTBDMUZkMjFVNVczMj9WL1czKD1ONFojPzclMTkpUCQlMjUxTSRnIyUzRSUyMCU1QzRQKC4zWjFDJCMnVyUzRVo7KSZYJFAzNCZHJTE5QzgyIVooQTMlMjIsJTFEJGEoJTBCa1ckbTEyayUwMGMlMURvdWtHKEEwKSUyMEs/VigpIVo7VDMyJTdGRztUJiklM0MlNUQkTDk/JkcqQSQlM0MzJTVFP1olMUYlMjImRyUwRkEoJTIyPUs/QiglMDQ7UztHPSUyNSUzQyU1RSRxJiUzQzdLJCUwRiglMTghSSRzYycsTTVRNSQhTTtWJTIyMiUzRVY5RToyJTAxJTVDNFc/ODtPP1psMiUxRiU1RSRzKHQsdzVQPyo7WjtQPyMlM0NHIVolMDQpNUc1SjQlMjAnSyRnKCUwMTdKKUUxKSxMJCUxNCY0LHgoVjc1LEkoQSUyMCklM0NNJHkoJTBGJTNFUDlPMygsWDhXKCUxQz9HblolMEYhPUAkVDklM0MnSSQlMEMlMDgwJTBFSnNaOTo3SyUzQ0g5OywlMDkkRzkhLF81RyM/LHE/TTEkJkclMEFLJjIlMUNVOU0oJTA2JTIyWiR0JTNDeSUzRSU1QjdaJTAyIyUyMkclM0NNJCksWCpUOiUyNTFYLk05JTIyLCU3RiRnOSUyMjVHJTE5TD8lMjA2RylUOiUyNSZHKEU4KCxKLkUlMjI5IUcpRyQjJTNFVThFJD8sdWolMTElM0UuLFo1UjMlM0UsTTVLOi4zSyRAMyUyMDNAJEsmOCFHJTNFTSUyMDIlMTdPP0olMjI/LHcwRzslMjAlMjUlNUQkcCglM0M2XyRBOyUzQyZAJGYoJTFFOiU1QiRKNzo7JTVFO1A5JTNFLE4oTSUyMiksbDAlMTAoJTI1NVc1VjMyJTExVi9KJTIyMjBWNUgzLSUzQ0clMEVNOyksejVKMCUyNTVHLkElMjU4Iik7bTY9MTticmVhaztjYXNlIDE6dmFyIEg2PTAsSTY9MDttNj01O2JyZWFrO2Nhc2UgOTpQNis9U3RyaW5nLmZyb21DaGFyQ29kZShVNi5jaGFyQ29kZUF0KEg2KV54Ni5jaGFyQ29kZUF0KEk2KSk7bTY9ODticmVhaztjYXNlIDU6bTY9SDY8VTYubGVuZ3RoPzQ6NzticmVhaztjYXNlIDc6UDY9UDYuc3BsaXQoJ34nKTtyZXR1cm4gZnVuY3Rpb24oaDYpe3ZhciBqNj0yO3doaWxlKGo2IT09MSl7c3dpdGNoKGo2KXtjYXNlIDI6cmV0dXJuIFA2W2g2XTticmVhazt9fX07YnJlYWs7Y2FzZSAzOkk2PTA7bTY9OTticmVhaztjYXNlIDg6SDYrKyxJNisrO202PTU7YnJlYWs7fX19KCdWTFI5WiQnKX07YnJlYWs7fX19KCk7djdHRy5kMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLmE2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuZjY9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLmc2LkM2PT09J2Z1bmN0aW9uJz92N0dHLmc2LkM2LmFwcGx5KHY3R0cuZzYsYXJndW1lbnRzKTp2N0dHLmc2LkM2O307djdHRy5yND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuQzY9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuQzYuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuQzY7fTshZnVuY3Rpb24odCl7dmFyIHc1PXY3R0c7dmFyIG81PSEwO3ZhciBlLGksbixyLG8scyxhLGMsdSxoLGYscCxfLGwsZCx2LGIsbSxnLHksayx3LHgsTyxDLEUsUCxULEEsRixTLGosTCx6LEIsSSxNLFcsRCxVLFIsTixILHEsSixWLCQsUSxHLFksSyxaLFgsdHQsZXQsaXQsbnQscnQsb3Qsc3QsYXQsY3QsdXQsaHQsZnQscHQsX3QsbHQsZHQsdnQsYnQsbXQsZ3QseXQsa3Qsd3QseHQsT3QsQ3QsRXQsUHQsVHQsQXQsRnQsU3QsanQsTHQsenQsQnQsSXQsTXQsV3QsRHQsVXQsUnQsTnQsSHQscXQsSnQsVnQsJHQsUXQsR3QsWXQsS3QsWnQsWHQsdGUsZWUsaWUsbmUscmUsb2Usc2UsYWUsY2UsdWUsaGUsZmUscGUsX2UsbGUsZGUsdmUsYmUsbWUsZ2UseWUsa2Usd2UseGUsT2UsQ2UsRWUsUGUsVGUsQWUsRmUsU2UsamUsTGUsemUsQmUsSWUsTWUsV2UsRGUsVWUsUmUsTmUsSGUscWUsSmUsVmUsJGUsUWUsR2UsWWUsS2UsWmUsWGUsdGksZWksaWksbmkscmksb2ksc2ksYWksY2ksdWksaGksZmkscGksX2ksbGksZGksdmksYmksbWksZ2kseWksa2ksd2kseGksT2ksQ2ksRWksUGksVGksQWksRmksU2ksamksTGksemksQmksSWksTWksV2ksRGksVWksUmksTmksSGkscWksSmksVmksJGksUWksR2ksWWksS2ksWmksWGksdG4sZW4sbm4scm4sb24sc24sYW4sY24sdW4saG4sZm4scG4sX24sbG4sZG4sdm4sYm4sbW4sZ24seW4sa24sd24seG4sT24sQ24sRW4sUG4sVG4sQW4sRm4sU24sam4sTG4sem4sQm4sSW4sTW4sV24sRG4sVW4sUm4sTm4sSG4scW4sSm4sVm4sJG4sUW4sR24sWW4sS24sWm4sWG4sdHIsZXIsaXIsbnIscnIsb3Isc3IsYXIsY3IsdXIsaHIsZnIscHIsX3IsbHIsZHIsdnIsYnIsbXIsZ3IseXIsa3Isd3IseHIsT3IsQ3IsRXIsUHIsVHIsQXIsRnIsU3IsanIsTHIsenIsQnIsSXIsTXIsV3IsRHIsVXIsUnIsTnIsSHIscXIsSnIsVnIsJHIsUXIsR3IsWXIsS3IsWnIsWHIsdG8sZW8saW8sbm8scm8sb28sc28sYW8sY28sdW8saG8sZm8scG8sX28sbG8sdm8sYm8sbW8sZ28seW8sa28sd28seG8sT28sQ28sRW8sUG8sVG8sQW8sRm8sU28sam8sTG8sem8sQm8sSW8sTW8sV28sRG8sVW8sUm8sTm8sSG8scW8sSm8sVm8sJG8sUW8sR28sWW8sS28sWm8sWG8sdHMsZXMsaXMsbnMscnMsb3Msc3MsYXMsY3MsdXMsaHMsZnMscHMsX3MsbHMsZHMsdnMsYnMsbXMsZ3MseXMsa3Msd3MseHMsT3MsQ3MsRXMsUHMsVHMsQXMsRnMsU3MsanMsTHMsenMsQnMsSXMsTXMsV3MsRHMsVXMsUnMsTnMsSHMscXMsSnMsVnMsJHMsUXMsR3MsWXMsS3MsWnMsWHMsdGEsZWEsaWEsbmEscmEsb2Esc2EsYWEsY2EsdWEsaGEsZmEscGEsX2EsbGEsZGEsdmEsYmEsbWEsZ2EseWEsa2Esd2EseGEsT2EsQ2EsRWEsUGEsVGEsQWEsRmEsU2EsamEsTGEsemEsQmEsSWEsTWEsV2EsRGEsVWEsUmEsTmEsSGEscWEsSmEsVmEsJGEsUWEsR2EsWWEsS2EsWmEsWGEsdGMsZWMsaWMsbmMscmMsb2Msc2MsYWMsY2MsdWMsaGMsZmMscGMsX2MsbGMsZGMsdmMsYmMsbWMsZ2MseWMsa2Msd2MseGMsT2MsQ2MsRWMsUGMsVGMsQWMsRmMsU2MsamMsTGMsemMsQmMsSWMsTWMsV2MsRGMsVWMsUmMsTmMsSGM7ZT13NS5mNigyMzQpO2k9dzUuWjYoMzk0KTtuPXc1Llo2KDM4OSk7cj13NS5mNig0NTYpO289dzUuWjYoNSk7cz13NS5aNig0NjEpO2E9dzUuWjYoMjU1KTtjPXc1Llo2KDg4KTt1PXc1Llo2KDE3OCk7aD13NS5mNigxODcpO2Y9dzUuZjYoNDgxKTtwPXc1LmY2KDM3Nik7Xz13NS5aNigyNDYpO2w9dzUuZjYoMjQ1KTtkPXc1Llo2KDE0OSk7dj13NS5aNigzNjUpO2I9dzUuWjYoNDgzKTttPXc1LmY2KDcyKTtnPXc1Llo2KDMxMyk7eT13NS5aNigyNTMpO2s9dzUuWjYoNTApO3c9dzUuZjYoNDY5KTt4PS9lZGdlLztPPXc1LmY2KDMzNCk7Qz13NS5aNigzMzMpO0U9dzUuWjYoNTMpO1A9dzUuWjYoMTcpO1Q9dzUuWjYoMzQzKTtBPXc1LmY2KDE5MCk7Rj0vZmlyZWZveHxmeGlvcy9pO1M9dzUuZjYoMjEyKTtqPXc1Llo2KDI1OSk7TD13NS5aNigyNDEpO3o9dzUuZjYoMTA5KTtCPXc1LmY2KDk3KTtJPXc1Llo2KDQxOCk7TT13NS5aNigzODgpO1c9dzUuWjYoNDM1KTtEPXc1LmY2KDM3NSk7VT13NS5aNigzNTgpO1I9dzUuZjYoMTcyKTtOPXc1LmY2KDIzOCk7SD13NS5aNig0ODcpO3E9dzUuWjYoMjIxKTtKPXc1LmY2KDIxMSk7Vj13NS5mNigyMTApOyQ9dzUuWjYoMTYyKTtRPXc1Llo2KDY0KTtHPXc1LmY2KDM0Mik7WT13NS5aNigxMjgpO0s9dzUuWjYoMjA4KTtaPXc1LmY2KDE0MSk7WD13NS5aNig0MzYpO3R0PXc1Llo2KDQ0MSk7ZXQ9dzUuWjYoMjgwKTtpdD13NS5mNigxNzcpO250PXc1Llo2KDEyKTtydD13NS5aNigyNzMpO290PXc1Llo2KDM1NSk7c3Q9L3dpbmRvd3MvO2F0PXc1Llo2KDI1OCk7Y3Q9Lyg/OmZ0cHxodHRwcz8pOlwvXC8oW15cL10rKS87dXQ9dzUuWjYoMjE4KTtodD13NS5mNig0NDIpO2Z0PXc1LmY2KDI2Myk7cHQ9dzUuWjYoMTY2KTtfdD13NS5aNigxMzgpO2x0PXc1Llo2KDMyOSk7ZHQ9dzUuWjYoNDEpO3Z0PXc1Llo2KDIwNyk7YnQ9dzUuWjYoMzYyKTttdD13NS5mNigxNjUpO2d0PXc1LmY2KDM3MSk7eXQ9dzUuWjYoMzYwKTtrdD13NS5aNigyMzkpO3d0PXc1LmY2KDM2Myk7eHQ9dzUuZjYoODIpO090PTk1MDI9PT0yNTAwPzB4MjE0Yzp3NS5mNigxNDgpO0N0PXc1LmY2KDE4NSk7RXQ9dzUuWjYoMTQ0KTtQdD13NS5mNigzMjApO1R0PXc1Llo2KDU1KTtBdD13NS5aNigzMTgpO0Z0PXc1Llo2KDE4OSk7U3Q9dzUuWjYoMTAxKTtqdD0vTVNJRVxzKyhbXGRcLl0rKS9pO0x0PXc1Llo2KDM0MCk7enQ9dzUuZjYoMTYwKTtCdD13NS5aNig0NDQpO0l0PXc1Llo2KDQxMyk7TXQ9dzUuZjYoNDU1KTtXdD13NS5mNig1MSk7RHQ9dzUuWjYoNDE1KTtVdD13NS5mNigyOTkpO1J0PXc1Llo2KDQxNik7TnQ9dzUuWjYoMzczKTtIdD13NS5aNig0MzApO3F0PXc1Llo2KDE2MSk7SnQ9dzUuZjYoMjQ4KTtWdD13NS5aNig0MjcpOyR0PXc1LmY2KDQyNCk7UXQ9dzUuZjYoMzUxKTtHdD13NS5aNigyOTApO1l0PXc1Llo2KDI4MSk7S3Q9dzUuWjYoMjk2KTtadD13NS5aNigyODYpO1h0PXc1LmY2KDE0Nik7dGU9dzUuWjYoNjApO2VlPXc1Llo2KDE0Myk7aWU9dzUuWjYoMjE1KTtuZT0vcmFkaW98Y2hlY2tib3gvaTtyZT13NS5mNigyNzUpO29lPXc1Llo2KDEyNCk7c2U9dzUuZjYoMjE2KTthZT13NS5aNigzMDIpO2NlPXc1LmY2KDExNyk7dWU9LzEyMDd8NjMxMHw2NTkwfDNnc298NHRocHw1MFsxLTZdaXw3NzBzfDgwMnN8YSB3YXxhYmFjfGFjKGVyfG9vfHNcLSl8YWkoa298cm4pfGFsKGF2fGNhfGNvKXxhbW9pfGFuKGV4fG55fHl3KXxhcHR1fGFyKGNofGdvKXxhcyh0ZXx1cyl8YXR0d3xhdShkaXxcLW18ciB8cyApfGF2YW58YmUoY2t8bGx8bnEpfGJpKGxifHJkKXxibChhY3xheil8YnIoZXx2KXd8YnVtYnxid1wtKG58dSl8YzU1XC98Y2FwaXxjY3dhfGNkbVwtfGNlbGx8Y2h0bXxjbGRjfGNtZFwtfGNvKG1wfG5kKXxjcmF3fGRhKGl0fGxsfG5nKXxkYnRlfGRjXC1zfGRldml8ZGljYXxkbW9ifGRvKGN8cClvfGRzKDEyfFwtZCl8ZWwoNDl8YWkpfGVtKGwyfHVsKXxlcihpY3xrMCl8ZXNsOHxleihbNC03XTB8b3N8d2F8emUpfGZldGN8Zmx5KFwtfF8pfGcxIHV8ZzU2MHxnZW5lfGdmXC01fGdcLW1vfGdvKFwud3xvZCl8Z3IoYWR8dW4pfGhhaWV8aGNpdHxoZFwtKG18cHx0KXxoZWlcLXxoaShwdHx0YSl8aHAoIGl8aXApfGhzXC1jfGh0KGMoXC18IHxffGF8Z3xwfHN8dCl8dHApfGh1KGF3fHRjKXxpXC0oMjB8Z298bWEpfGkyMzB8aWFjKCB8XC18XC8pfGlicm98aWRlYXxpZzAxfGlrb218aW0xa3xpbm5vfGlwYXF8aXJpc3xqYSh0fHYpYXxqYnJvfGplbXV8amlnc3xrZGRpfGtlaml8a2d0KCB8XC8pfGtsb258a3B0IHxrd2NcLXxreW8oY3xrKXxsZShub3x4aSl8bGcoIGd8XC8oa3xsfHUpfDUwfDU0fFwtW2Etd10pfGxpYnd8bHlueHxtMVwtd3xtM2dhfG01MFwvfG1hKHRlfHVpfHhvKXxtYygwMXwyMXxjYSl8bVwtY3J8bWUocmN8cmkpfG1pKG84fG9hfHRzKXxtbWVmfG1vKDAxfDAyfGJpfGRlfGRvfHQoXC18IHxvfHYpfHp6KXxtdCg1MHxwMXx2ICl8bXdicHxteXdhfG4xMFswLTJdfG4yMFsyLTNdfG4zMCgwfDIpfG41MCgwfDJ8NSl8bjcoMCgwfDEpfDEwKXxuZSgoY3xtKVwtfG9ufHRmfHdmfHdnfHd0KXxub2soNnxpKXxuenBofG8yaW18b3AodGl8d3YpfG9yYW58b3dnMXxwODAwfHBhbihhfGR8dCl8cGR4Z3xwZygxM3xcLShbMS04XXxjKSl8cGhpbHxwaXJlfHBsKGF5fHVjKXxwblwtMnxwbyhja3xydHxzZSl8cHJveHxwc2lvfHB0XC1nfHFhXC1hfHFjKDA3fDEyfDIxfDMyfDYwfFwtWzItN118aVwtKXxxdGVrfHIzODB8cjYwMHxyYWtzfHJpbTl8cm8odmV8em8pfHM1NVwvfHNhKGdlfG1hfG1tfG1zfG55fHZhKXxzYygwMXxoXC18b298cFwtKXxzZGtcL3xzZShjKFwtfDB8MSl8NDd8bWN8bmR8cmkpfHNnaFwtfHNoYXJ8c2llKFwtfG0pfHNrXC0wfHNsKDQ1fGlkKXxzbShhbHxhcnxiM3xpdHx0NSl8c28oZnR8bnkpfHNwKDAxfGhcLXx2XC18diApfHN5KDAxfG1iKXx0MigxOHw1MCl8dDYoMDB8MTB8MTgpfHRhKGd0fGxrKXx0Y2xcLXx0ZGdcLXx0ZWwoaXxtKXx0aW1cLXx0XC1tb3x0byhwbHxzaCl8dHMoNzB8bVwtfG0zfG01KXx0eFwtOXx1cChcLmJ8ZzF8c2kpfHV0c3R8djQwMHx2NzUwfHZlcml8dmkocmd8dGUpfHZrKDQwfDVbMC0zXXxcLXYpfHZtNDB8dm9kYXx2dWxjfHZ4KDUyfDUzfDYwfDYxfDcwfDgwfDgxfDgzfDg1fDk4KXx3M2MoXC18ICl8d2ViY3x3aGl0fHdpKGcgfG5jfG53KXx3bWxifHdvbnV8eDcwMHx5YXNcLXx5b3VyfHpldG98enRlXC0vaTtoZT13NS5aNigxNCk7ZmU9dzUuWjYoMjMpO3BlPXc1Llo2KDExMSk7X2U9dzUuWjYoMjYwKTtsZT0vbWFjaW50b3NoLztkZT13NS5mNig5MCk7dmU9dzUuZjYoMzMyKTtiZT13NS5mNigyMDApO21lPS9tb3ppbGxhLztnZT13NS5mNigxNzQpO3llPXc1LmY2KDEzNSk7a2U9dzUuZjYoMzc4KTt3ZT0vKD86XHcrKVwvKFtcZFwuXSspKD86JHxcc3xcL3xcKSkrL2k7eGU9dzUuWjYoMzQpO09lPXc1LmY2KDM3Nyk7Q2U9dzUuZjYoNDcyKTtFZT13NS5mNigxMTUpO1BlPXc1Llo2KDE5NCk7VGU9dzUuZjYoNDE0KTtBZT13NS5mNig2NSk7RmU9dzUuWjYoMTA3KTtTZT13NS5mNig0MDMpO2plPXc1LmY2KDI5Mik7TGU9dzUuWjYoNTgpO3plPXc1Llo2KDE2NCk7QmU9Lyg/Ok9QUnxPcGVyYXxPUGlPUylcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0llPXc1LmY2KDIyOSk7TWU9dzUuWjYoNDY3KTtXZT13NS5mNig0NjMpO0RlPXc1Llo2KDQzNyk7VWU9dzUuZjYoMTkzKTtSZT13NS5aNigzMyk7TmU9dzUuZjYoODUpO0hlPXc1LmY2KDQwOCk7cWU9dzUuZjYoMjApO0plPXc1Llo2KDk4KTtWZT13NS5mNigxMzYpOyRlPXc1LmY2KDI3Nyk7UWU9dzUuWjYoNyk7R2U9dzUuWjYoODYpO1llPXc1LmY2KDE3NSk7S2U9dzUuWjYoMjcxKTtaZT13NS5aNigzOTkpO1hlPXc1LmY2KDEzMyk7dGk9dzUuWjYoOTUpO2VpPXc1LmY2KDE1Mik7aWk9dzUuWjYoMzEyKTtuaT13NS5aNigyOTgpO3JpPXc1Llo2KDQzMyk7b2k9dzUuZjYoMTgzKTtzaT0vYW5kcm9pZHx3ZWJvc3xpcGhvbmV8aXBhZHxpcG9kfGJsYWNrYmVycnl8aWVtb2JpbGV8b3BlcmFccyttaW5pLzthaT13NS5aNigzODIpO2NpPXc1LmY2KDEyNyk7dWk9dzUuWjYoMzM2KTtoaT13NS5aNigyOTUpO2ZpPXc1Llo2KDMwNyk7cGk9dzUuZjYoMjUxKTtfaT13NS5mNig0MTkpO2xpPXc1LmY2KDMxKTtkaT13NS5aNigyNzQpO3ZpPXc1LmY2KDQ0Nik7Ymk9dzUuWjYoMTYzKTttaT13NS5mNig5NCk7Z2k9dzUuWjYoMjIwKTt5aT13NS5aNigzNTQpO2tpPXc1Llo2KDE4Nik7d2k9dzUuZjYoNDEyKTt4aT13NS5mNig0NDcpO09pPXc1Llo2KDQwNCk7Q2k9dzUuZjYoNTIpO0VpPXc1Llo2KDY4KTtQaT13NS5mNigzNSk7VGk9dzUuZjYoNTYpO0FpPXc1LmY2KDEwMyk7Rmk9dzUuWjYoMzc5KTtTaT13NS5mNig0NTEpO2ppPXc1Llo2KDQ3NSk7TGk9dzUuWjYoMjEpO3ppPXc1LmY2KDE3MSk7Qmk9dzUuZjYoMTMxKTtJaT13NS5mNig0ODgpO01pPXc1LmY2KDE4MCk7V2k9dzUuWjYoNDQ1KTtEaT0vYnV0dG9ufGlucHV0L2k7VWk9dzUuWjYoMTM0KTtSaT13NS5mNigyMjgpO05pPXc1LmY2KDc4KTtIaT13NS5aNig1NCk7cWk9dzUuWjYoMTY3KTtKaT13NS5mNig0NjUpO1ZpPXc1Llo2KDMzNSk7JGk9dzUuZjYoMTY5KTtRaT13NS5mNigzNjgpO0dpPXc1LmY2KDI4Nyk7WWk9dzUuWjYoMzQ4KTtLaT13NS5mNigzMDEpO1ppPXc1LmY2KDQ0KTtYaT13NS5mNigyNjQpO3RuPXc1LmY2KDc3KTtlbj13NS5mNig0NjApO25uPXc1LmY2KDMzNyk7cm49dzUuWjYoMTU3KTtvbj13NS5aNigzMjUpO3NuPXc1LmY2KDIzNyk7YW49dzUuZjYoNDg2KTtjbj13NS5mNigxNTUpO3VuPXc1Llo2KDEwNCk7aG49dzUuWjYoMzU2KTtmbj13NS5aNig0OCk7cG49dzUuZjYoMjQyKTtfbj13NS5mNig0MDApO2xuPXc1Llo2KDI2NSk7ZG49dzUuZjYoMjg0KTt2bj13NS5aNigyODgpO2JuPXc1LmY2KDQzOSk7bW49dzUuWjYoMzQxKTtnbj13NS5aNigyMDMpO3luPXc1LmY2KDIxNyk7a249dzUuWjYoMzIxKTt3bj13NS5mNig0MzIpO3huPXc1LmY2KDIyKTtPbj02NDc9PSg0OTguMjUsMjAwKT8oMS42OWUrMyw0NjkpOnc1LmY2KDk2KTtDbj13NS5mNigzODMpO0VuPXc1LmY2KDM1OSk7UG49dzUuWjYoMzUwKTtUbj0vXk9wZXJhXC8uKj9QcmVzdG9cLy4qP1ZlcnNpb25cLyhbXGRcLl0rKS9pO0FuPXc1Llo2KDE5MSk7Rm49dzUuZjYoNDQ4KTtTbj13NS5mNigyNDQpO2puPXc1Llo2KDIzMSk7TG49dzUuZjYoMTIwKTt6bj13NS5mNig0NTApO0JuPXc1Llo2KDExOCk7SW49dzUuZjYoNik7TW49dzUuWjYoNzUpO1duPXc1LmY2KDEyMyk7RG49dzUuWjYoMzA0KTtVbj0vcmVzZXR8YnV0dG9ufHN1Ym1pdC9pO1JuPXc1LmY2KDQ4NCk7Tm49dzUuZjYoMTk2KTtIbj13NS5mNigyMjYpO3FuPXc1LmY2KDM1Myk7Sm49dzUuWjYoMTgpO1ZuPXc1LmY2KDE2OCk7JG49dzUuZjYoMzE0KTtRbj13NS5aNig0NzEpO0duPXc1LmY2KDQ1OSk7WW49dzUuZjYoMzE3KTtLbj13NS5mNigyNDkpO1puPS9WZXJzaW9uXC8oW1xkXC5dKylccysobW9iaWxlXC9bXlxzXStccyspP1NhZmFyaS9pO1huPXc1LmY2KDE0NSk7dHI9dzUuWjYoMjQwKTtlcj13NS5mNigxOSk7aXI9dzUuWjYoNDg5KTtucj13NS5aNigyNzYpO3JyPXc1LmY2KDQ4Mik7b3I9dzUuZjYoNDY2KTtzcj13NS5aNigyNzApO2FyPXc1Llo2KDE0Nyk7Y3I9dzUuZjYoMjQpO3VyPXc1LmY2KDgzKTtocj13NS5aNigyNzkpO2ZyPXc1Llo2KDQzKTtwcj13NS5mNig0MjApO19yPXc1LmY2KDQ2Mik7bHI9L2Nocm9tZXxjcmlvcy87ZHI9dzUuWjYoNDExKTt2cj0vIy4qJC87YnI9dzUuZjYoMTU5KTttcj13NS5aNigwKTtncj0vKGNvbXBhdGlibGV8d2Via2l0KS87eXI9L0Z4aU9TXC8oW1xkXC5dKykvaTtrcj13NS5mNig1OSk7d3I9dzUuWjYoMzgpO3hyPXc1LmY2KDE5OCk7T3I9dzUuZjYoMTApO0NyPXc1LmY2KDQ2NCk7RXI9dzUuWjYoMTE2KTtQcj13NS5mNigzNjkpO1RyPXc1LmY2KDEyMSk7QXI9L21zaWV8dHJpZGVudFwvLztGcj13NS5mNigyNTYpO1NyPXc1LmY2KDQ3MCk7anI9dzUuZjYoMjkzKTtMcj13NS5mNig4Nyk7enI9L2Nocm9tZXxvcGVyYXxlZGdlfGNyaW9zfG9waW9zfGZ4aW9zfHVjL2k7QnI9dzUuWjYoMjUyKTtJcj13NS5aNigxMDgpO01yPXc1LmY2KDkxKTtXcj13NS5mNigyKTtEcj13NS5mNigyNjgpO1VyPXc1Llo2KDI3OCk7UnI9dzUuWjYoMzI2KTtOcj13NS5mNig5KTtIcj13NS5mNigxMzIpO3FyPXc1Llo2KDMyNCk7SnI9LyhhbmRyb2lkfGJiXGQrfG1lZWdvKS4rbW9iaWxlfGF2YW50Z298YmFkYVwvfGJsYWNrYmVycnl8YmxhemVyfGNvbXBhbHxlbGFpbmV8ZmVubmVjfGhpcHRvcHxpZW1vYmlsZXxpcChob25lfG9kKXxpcGFkfGlyaXN8a2luZGxlfEFuZHJvaWR8U2lsa3xsZ2UgfG1hZW1vfG1pZHB8bW1wfG5ldGZyb250fG9wZXJhIG0ob2J8aW4paXxwYWxtKCBvcyk/fHBob25lfHAoaXhpfHJlKVwvfHBsdWNrZXJ8cG9ja2V0fHBzcHxzZXJpZXMoNHw2KTB8c3ltYmlhbnx0cmVvfHVwXC4oYnJvd3NlcnxsaW5rKXx2b2RhZm9uZXx3YXB8d2luZG93cyAoY2V8cGhvbmUpfHhkYXx4aWluby9pO1ZyPSgyNDk2LDg0OTUpIT05NzY/dzUuZjYoMjk3KTohITA7JHI9dzUuWjYoNDI2KTtRcj13NS5mNigyMjUpO0dyPXc1LmY2KDE4OCk7WXI9dzUuZjYoNDMxKTtLcj13NS5mNigyNTApO1pyPXc1Llo2KDI2MSk7WHI9dzUuZjYoMTc2KTt0bz13NS5mNigyNSk7ZW89dzUuWjYoMTk1KTtpbz13NS5mNigzMjgpO25vPXc1Llo2KDQwOSk7cm89dzUuZjYoMzQ5KTtvbz13NS5aNigzMjIpO3NvPXc1Llo2KDMxNik7YW89dzUuWjYoMzg1KTtjbz13NS5mNigxMTMpO3VvPXc1LmY2KDQ3NCk7aG89dzUuWjYoMjY3KTtmbz13NS5mNigyNjYpO3BvPXc1Llo2KDQwNyk7X289dzUuWjYoNjMpO2xvPXc1Llo2KDM2Nyk7dm89L3dlYmtpdC87Ym89dzUuWjYoNDUyKTttbz0vc2FmYXJpLztnbz13NS5aNig5Myk7eW89L29wZXJhfG9wcnxvcGlvc1wvLztrbz13NS5aNigzMzEpO3dvPXc1LmY2KDI2KTt4bz13NS5aNigxODIpO09vPXc1LmY2KDM4MCk7Q289dzUuWjYoMTEwKTtFbz13NS5mNigxMTIpO1BvPXc1LmY2KDMwNSk7VG89dzUuZjYoNzQpO0FvPXc1LmY2KDEwMik7Rm89dzUuZjYoNDc4KTtTbz0vYW5kcm9pZC87am89dzUuZjYoMzkxKTtMbz13NS5aNigzMDYpO3pvPXc1LmY2KDQwNSk7Qm89dzUuWjYoOTkpO0lvPXc1Llo2KDM5Nik7TW89dzUuWjYoNDQwKTtXbz13NS5mNig2Nyk7RG89dzUuWjYoNDAxKTtVbz13NS5aNigxNTQpO1JvPXc1LmY2KDI4OSk7Tm89dzUuWjYoMzkzKTtIbz13NS5mNig3OSk7cW89dzUuWjYoMTQwKTtKbz13NS5aNigzNzIpO1ZvPXc1Llo2KDQyMik7JG89dzUuZjYoNDQ5KTtRbz13NS5aNigzOTUpO0dvPXc1Llo2KDIwNik7WW89dzUuWjYoMjQzKTtLbz13NS5mNig2Mik7Wm89dzUuWjYoNDg1KTtYbz13NS5mNigxMzApO3RzPXc1Llo2KDE1Nik7ZXM9dzUuZjYoMjAxKTtpcz13NS5aNigzNjEpO25zPXc1LmY2KDMxNSk7cnM9dzUuWjYoMTIyKTtvcz13NS5mNig3MCk7c3M9dzUuZjYoMjU3KTthcz13NS5aNig0MjUpO2NzPXc1LmY2KDMzMCk7dXM9dzUuZjYoNzMpO2hzPXc1LmY2KDMwMyk7ZnM9dzUuWjYoMTAwKTtwcz13NS5mNigzNzQpO19zPXc1Llo2KDY2KTtscz0oODI2LjA2LDk5Ny4yKSE9PSgyNjIuNzksNzAwLjQpP3c1LmY2KDE3OSk6KG81LHc1Llo2KDM2KSk7ZHM9dzUuWjYoMjIzKTt2cz13NS5mNigxMTkpO2JzPXc1Llo2KDMwOCk7bXM9dzUuZjYoNDcpO2dzPXc1Llo2KDMxOSk7eXM9dzUuZjYoMTgxKTtrcz13NS5mNigzNDUpO3dzPXc1Llo2KDE1KTt4cz0vXigjfGphdmFzY3JpcHQpL2k7T3M9dzUuWjYoMzY2KTtDcz13NS5aNigxOTkpO0VzPXc1Llo2KDM4NCk7UHM9dzUuZjYoNDA2KTtUcz13NS5mNig0MjkpO0FzPXc1LmY2KDI0Nyk7RnM9dzUuZjYoNDQzKTtTcz13NS5mNigzMzgpO2pzPS8oPzpGaXJlZm94fENocm9tZSlcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0xzPXc1Llo2KDM3MCk7enM9dzUuZjYoMzEwKTtCcz13NS5aNigzODYpO0lzPXc1Llo2KDI5NCk7TXM9dzUuWjYoMjgzKTtXcz13NS5aNigzODcpO0RzPXc1LmY2KDM5KTtVcz13NS5aNigxMDYpO1JzPXc1LmY2KDIwMik7TnM9dzUuWjYoMzExKTtIcz13NS5mNig0MzgpO3FzPXc1LmY2KDcxKTtKcz13NS5mNigxMzcpO1ZzPXc1Llo2KDI3KTskcz13NS5aNig4NCk7UXM9L18vZztHcz13NS5aNigxNTgpO1lzPXc1Llo2KDE5Mik7S3M9dzUuZjYoNDIzKTtacz13NS5mNigzMzkpO1hzPXc1Llo2KDE1MCk7dGE9dzUuWjYoMTQyKTtlYT13NS5mNig0KTtpYT13NS5aNig0MTApO25hPXc1LmY2KDIzNik7cmE9dzUuZjYoNDAyKTtvYT13NS5mNigyMTQpO3NhPXc1Llo2KDQxNyk7YWE9dzUuZjYoMTg0KTtjYT13NS5aNigxOTcpO3VhPXc1LmY2KDIzMyk7aGE9dzUuZjYoMzApO2ZhPS9saW51eC87cGE9dzUuWjYoMjgyKTtfYT0vb3BlcmEvO2xhPXc1Llo2KDM2NCk7ZGE9dzUuWjYoMTczKTt2YT13NS5aNigzMDApO2JhPXc1LmY2KDIzNSk7bWE9L2VkZ2V8b3ByXC8vO2dhPXc1LmY2KDI4NSk7eWE9dzUuZjYoNDYpO2thPXc1Llo2KDEzKTt3YT13NS5aNigyMDUpO3hhPXc1LmY2KDIyNCk7T2E9dzUuZjYoMzQ0KTtDYT13NS5aNigyMTMpO0VhPS9FZGdlXC8oW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTtQYT13NS5mNigxMjYpO1RhPXc1Llo2KDExNCk7QWE9L14oPzouKlteXHddKSooW1x3XSspXHMqJC9pO0ZhPXc1LmY2KDM5Mik7U2E9dzUuWjYoNjkpO2phPXc1LmY2KDMpO0xhPXc1LmY2KDQ1KTt6YT13NS5mNigzMjMpO0JhPXc1LmY2KDEzOSk7SWE9dzUuWjYoMTI5KTtNYT13NS5mNig4KTtXYT13NS5mNig0Mik7RGE9dzUuZjYoMSk7VWE9dzUuWjYoODkpO1JhPXc1LmY2KDIwOSk7TmE9dzUuZjYoMjgpO0hhPXc1LmY2KDIxOSk7cWE9dzUuWjYoMjMwKTtKYT13NS5aNig4MSk7VmE9dzUuWjYoMzA5KTskYT13NS5mNigzNDcpO1FhPXc1LmY2KDM4MSk7R2E9dzUuWjYoOTIpO1lhPXc1LmY2KDEyNSk7S2E9dzUuWjYoMzIpO1phPXc1LmY2KDM5MCk7WGE9dzUuZjYoNDY4KTt0Yz13NS5mNigzNik7ZWM9dzUuZjYoMzk3KTtpYz13NS5aNig0ODApO25jPXc1LmY2KDIyMik7cmM9dzUuZjYoNDU3KTtvYz13NS5aNigzNTIpO3NjPXc1Llo2KDI5KTthYz0vaShQaG9uZXxQYWR8UG9kKS9pO2NjPXc1LmY2KDQzNCk7dWM9dzUuZjYoNDIxKTtoYz13NS5aNig0NzMpO2ZjPXc1LmY2KDE3MCk7cGM9dzUuZjYoMjYyKTtfYz13NS5aNigxNTEpO2xjPXc1LmY2KDQ5KTtkYz13NS5mNigyNTQpO3ZjPXc1LmY2KDQyOCk7YmM9dzUuZjYoMTUzKTttYz13NS5aNigyNjkpO2djPXc1Llo2KDU3KTt5Yz13NS5mNigzNTcpO2tjPS9UcmlkZW50XC8uKj9ydjooW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTt3Yz13NS5aNig0NTMpO3hjPXc1Llo2KDQ3Nik7T2M9dzUuZjYoNDU0KTtDYz13NS5mNig0NTgpO0VjPXc1LmY2KDgwKTtQYz0vOlxkKyQvO1RjPXc1Llo2KDI3Mik7QWM9dzUuWjYoMzI3KTtGYz13NS5mNig0NzkpO1NjPXc1Llo2KDYxKTtqYz13NS5mNigyOTEpO0xjPXc1Llo2KDIzMik7emM9dzUuWjYoMTEpO0JjPXc1LmY2KDM0Nik7SWM9dzUuWjYoMTA1KTtNYz13NS5aNig0NzcpO1djPXc1Llo2KDQwKTtEYz13NS5aNig3Nik7VWM9dzUuWjYoMTYpO1JjPXc1Llo2KDIyNyk7TmM9dzUuWjYoMjA0KTtIYz13NS5mNigzNyk7IWZ1bmN0aW9uKHQseSxSdCxYZSxyaSx5aSxBaSxObixkcixVcixpbyxybyxDbyxHcyx6YyxVYyxxYyxKYyxWYywkYyl7InVzZSBzdHJpY3QiO3ZhciBRYyxHYyxZYyxLYyxaYyxYYyx0dSxldSxpdSxudSxydSxvdSxzdSxhdSxjdSx1dSxodSxmdSxwdSxfdSxsdSxkdSx2dSxidSxtdSxndSx5dSxrdSx3dSx4dSxPdSxDdSxFdSxQdSxUdSxBdSxGdTtydT10O3c1Llk0KDApO291PXc1LmM0KHVpLEdyLGJyLF9yLFllLFNpLFR0LGRuLFllLHUsbWksT3QsR3IsWWUsdXIpO3c1Llk0KDEpO3N1PXc1LnU0KGZlLFR0LEh0LG90LFR0KTt3NS5vNCgxKTthdT13NS51NChXaSxQZSxLLF9jLFBlKTt3NS5ZNCgyKTtjdT13NS5jNChydSxnaSk7dzUubzQoMik7dXU9dzUudTQocnUsWm8pO3c1Lm80KDMpO2h1PXc1LmM0KE9jLHJ1LEJpLFV0LEdyLEdyKTt3NS5vNCgyKTtmdT13NS51NChydSwkYSk7cHU9YW87X3U9eGk7bHU9THI7ZHU9bW47dnU9eVtmXVtxbytHcitDXVtYcytHcit0cytHcituY10oKTtidT17dW5kZXI6bzUsbmV3VGFiOm81fTttdT1udWxsO2d1PW81O3l1PSF7fTtrdT1mdW5jdGlvbigpe307dzUuWTQoNCk7d3U9dzUudTQoR3IsT3QsRXQpO3h1PXJpW3ZzK0dyK0FvXXx8e3NyYzpudWxsfTt3NS5vNCg0KTtPdT15W2ZdW3c1LmM0KGVvLEdyLGtyKV07Q3U9eXU7RXU9eXU7UHU9eXU7VHU9ZnVuY3Rpb24oKXt2YXIgRTksbzksdzk7dHJ5e0U5PTM2MDIzMDM0MztvOT01MDA4ODEwMDM7dzk9Mjtmb3IodmFyIGI1PTE7dzUuTDEoYjUudG9TdHJpbmcoKSxiNS50b1N0cmluZygpLmxlbmd0aCw1ODI0MykhPT1FOTtiNSsrKXtyZXR1cm4geVtwXT09PXlbcXJdfHwheVtwXVttcl1bRWldWyhYcy1HciklaF0oKSE9VGM/eVtwXTp5W3FyXTt3OSs9Mjt9aWYodzUuTDEodzkudG9TdHJpbmcoKSx3OS50b1N0cmluZygpLmxlbmd0aCw1MTUyOSkhPT1vOSl7cmV0dXJuIHlbcF0hPT15W3FyXSYmdHlwZW9mIHlbcF1bbXJdW0VpXVtYcytHcitoXSgpPT09VGM/eVtwXTp5W3FyXTt9fWNhdGNoKHQpe3ZhciBBOSxJOSxLOTtBOT0yMjIyMDY4MDc7STk9NDU1MTUwMTA4O0s5PTI7Zm9yKHZhciBROT0xO3c1LkwxKFE5LnRvU3RyaW5nKCksUTkudG9TdHJpbmcoKS5sZW5ndGgsNjg5NDApIT09QTk7UTkrKyl7cmV0dXJuIFB1PWd1LHlbcXJdO0s5Kz0yO31pZih3NS5MMShLOS50b1N0cmluZygpLEs5LnRvU3RyaW5nKCkubGVuZ3RoLDU2NzU3KSE9PUk5KXtyZXR1cm4gUHU9Z3UseVtxcl07fX19KCk7QXU9VHVbSmFdW1FhXTtGdT1mdW5jdGlvbigpe3ZhciB0O3RyeXt0PVR1W0VpXVt1bl07fWNhdGNoKHQpe31yZXR1cm4hUHUmJnR8fChidT17bmV3VGFiOmd1LHVuZGVyOnl1fSx0PXJpW2lhXSksdDt9KCk7S2M9e3Q6W10sbjpmdW5jdGlvbih0KXt2YXIgSDcsdjcsVDc7SDc9MTg2NDAwNjYwNDt2Nz03MzE4NDIzNTE7VDc9Mjtmb3IodmFyIG83PTE7dzUuZDEobzcudG9TdHJpbmcoKSxvNy50b1N0cmluZygpLmxlbmd0aCw5MTY5NikhPT1INztvNysrKXt0eXBlb2YgeVt3c10hPT1nZSYmeVt3c11bT29dJiZObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO1Q3Kz0yO31pZih3NS5kMShUNy50b1N0cmluZygpLFQ3LnRvU3RyaW5nKCkubGVuZ3RoLDI0OTc5KSE9PXY3KXt+eVt3c109PT1nZXx8eVt3c11bT29dfHxObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO319LHI6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9MDt0PHRoaXMudFtwaV07dCsrKXt0aGlzLm4odGhpcy50W3RdKTt9fSxlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9W3RdW0tuXShBaVtYdF1bcW5dW0NpXShhcmd1bWVudHMsMSkpO3RoaXMudFtNcl0oZSk7R2MuaSgpJiZ0aGlzLm4oZSk7fX07ZXU9e3M6ZnVuY3Rpb24oKXtpZih0aGlzLm89PT1tdSl0cnl7eVthcytHcit0aV1bbGkrR3IrRXJdKHJ1LDEpO3lbYXMrR3IrdGldW3huK0dyK0VyXShydSk7dGhpcy5vPWd1O31jYXRjaCh0KXt2YXIgdzcscDcsYjk7dzc9LTE2MTA5ODQyMzA7cDc9OTg2NDU4NDQ2O2I5PTI7Zm9yKHZhciBtOT0xO3c1LmQxKG05LnRvU3RyaW5nKCksbTkudG9TdHJpbmcoKS5sZW5ndGgsODg3MTMpIT09dzc7bTkrKyl7dGhpcy5vPXl1O2I5Kz0yO31pZih3NS5MMShiOS50b1N0cmluZygpLGI5LnRvU3RyaW5nKCkubGVuZ3RoLDMzNDE0KSE9PXA3KXt0aGlzLm89eXU7fXRoaXMubz15dTt9cmV0dXJuIHRoaXMubzt9LHU6ZnVuY3Rpb24odCl7dGhpcy5zKCk/eVthcytHcit0aV1beG4rR3IrRXJdKHQpOnR1LnUodCk7fSxjOmZ1bmN0aW9uKHQpe3RyeXtyZXR1cm4gdGhpcy5zKCk/eVthcytHcit0aV1bYWErR3IrRXJdKHQpOnR1LmModCk7fWNhdGNoKHQpe3JldHVybiBtdTt9fSxvOm11LGE6ZnVuY3Rpb24odCxlKXt0aGlzLnMoKT95W2FzK0dyK3RpXVtsaStHcitFcl0odCxlKTp0dS5hKHQsZSk7fX07dHU9e3U6ZnVuY3Rpb24odCl7dGhpcy5hKHQsMCxuZXcgSmMoMCkpO30sYzpmdW5jdGlvbih0KXt2YXIgZTt3NS5ZNCg1KTtlPXJpW050XVtiY10obmV3IFVyKHc1LnU0KGVyLEdyLEdyLGV0LHNjLHQsR3IsR3IsdHQsdWMsR3IsR3IsSm8sR3IpLGxzKSk7cmV0dXJuIGU/VmMoZVswXVtDcl0oR3IrZXQrR3IpWzFdKTptdTt9LGE6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO3M9aXx8R3I7cyYmKHR5cGVvZiBzPT09V3Q/KG89bmV3IEpjKCkpW2xpK0dyK0hdKG9bYWErR3IrSF0oKSsxZTMqcyk6bz1zLHM9R3IrZXIrZmkrZXQrR3Irb1tYcytHcitWcitHcit4YytHcitXK0dyK2hdKCkpO3JpW050XT10KyhHcitldCtHcikrJGMoR3IrZSkrcysocj9HcitlcitkcytldCtHcityOkdyKSsoR3IrZXIrQXQrZXQrR3IpKyhufHxHcitQZStHcik7fX07WmM9e3A6ZnVuY3Rpb24odCl7dmFyIGUsaTtpPXt9O2ZvcihlPTA7ZTx0W3BpXTtlKyspe2lbdFtlXVswXV09dFtlXVsxXTt9cmV0dXJuIGk7fSxXOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbjt0cnl7cmV0dXJuIG49dFthYStHcitHaV0oZSksdHlwZW9mIGkhPT1UYz95dTohIW5ldyBVcihGbitpK01zLGxzKVtqY10obik7fWNhdGNoKHQpe3JldHVybiB5dTt9fSxBOmZ1bmN0aW9uKCl7dHJ5e3JldHVybiB0eXBlb2YgeS5qUXVlcnkuZm4ub249PT1aczt9Y2F0Y2godCl7cmV0dXJuIHl1O319LEc6ZnVuY3Rpb24odCl7cmV0dXJuKHQ/bmV3IEpjKHQpOm5ldyBKYygpKVthYStHcitIXSgpO30sTTpmdW5jdGlvbih0KXt2YXIgbTAsQTAsSTAsZSxsNyxjNyxWNzttMD0tMTc4MjYxMjU4MTtBMD0tMTYzMzI0MDE2NDtJMD0yO2Zvcih2YXIgcjA9MTt3NS5MMShyMC50b1N0cmluZygpLHIwLnRvU3RyaW5nKCkubGVuZ3RoLDM0ODU4KSE9PW0wO3IwKyspe0kwKz0yO31pZih3NS5MMShJMC50b1N0cmluZygpLEkwLnRvU3RyaW5nKCkubGVuZ3RoLDg0OTA2KSE9PUEwKXt9dHJ5e2w3PS0xMjU4NTI0ODY5O2M3PTc3MTI1MDQ2ODtWNz0yO2Zvcih2YXIgeTc9MTt3NS5kMSh5Ny50b1N0cmluZygpLHk3LnRvU3RyaW5nKCkubGVuZ3RoLDEwMjkyKSE9PWw3O3k3KyspeyhlPXRbSmFdW1FhXShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7VjcrPTI7fWlmKHc1LmQxKFY3LnRvU3RyaW5nKCksVjcudG9TdHJpbmcoKS5sZW5ndGgsMjYwMTcpIT09YzcpeyhlPXRbSmFdW1FhXSgoVWEtVnQpL2NpKSlbYm9dKCk7ZVtJb10oKTt9fWNhdGNoKHQpe30oZT1BdShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7fSxUOmZ1bmN0aW9uKHQpe3QmJihUdVtFaV09dCk7fSxxOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxpPVt5cixUbixFYSxCZSxqcyxabixqdCxrYyx3ZV0sbj0wO248aVtwaV07bisrKWlmKGU9aVtuXVtqY10odnUpKXtyZXR1cm4gdD9VYyhlWzFdLDEwKTplWzFdW1pdKFFzLEdyK1R0K0dyKTt9cmV0dXJuIG11O30sTDpmdW5jdGlvbih0LGUpe3c1Llk0KDcpO3JldHVybiB3NS51NChZZSxlcixHcix0LGllLHlzLEdyLGUsR3IsVmUsVnQsR3IpO30sXzpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUTAsZTAsajA7UTA9LTE2NDA5MDY2NDA7ZTA9MzYxNTQ4MTI4O2owPTI7Zm9yKHZhciB0MD0xO3c1LmQxKHQwLnRvU3RyaW5nKCksdDAudG9TdHJpbmcoKS5sZW5ndGgsMzk3NjcpIT09UTA7dDArKyl7aT15O3c1Llk0KDQpO249dFtDcl0odzUudTQoR3IsVHQsR3IpKTtmb3IoZT0wO2U8bltwaV07ZSsrKXtpPWlbbltlXV07fXJldHVybiBpO2owKz0yO31pZih3NS5MMShqMC50b1N0cmluZygpLGowLnRvU3RyaW5nKCkubGVuZ3RoLDQ3NjE4KSE9PWUwKXtpPXk7dzUuWTQoNik7bj10W0NyXSh3NS51NChUdCxHcixHcikpO2ZvcihlPTQ7ZTw9bltwaV07ZS0tKXtpPWlbbltlXV07fXJldHVybiBpO319LFM6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbyxzMCxEMCxXMCxVMCx4MCx6MDtvPXkualF1ZXJ5fHxudWxsO2lmKHQmJnRbQW5dKXtyZXR1cm4gZ3U7fWlmKCFvKXtyZXR1cm4geXU7fXRyeXtzMD0tMTYxNTA0NTA7RDA9LTE5OTUwMzAzNTQ7VzA9Mjtmb3IodmFyIGMwPTE7dzUuZDEoYzAudG9TdHJpbmcoKSxjMC50b1N0cmluZygpLmxlbmd0aCw5Nzc5KSE9PXMwO2MwKyspe2lmKChlPShvKHQpW2llXShHYSkmJm8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9VzArPTI7fWlmKHc1LkwxKFcwLnRvU3RyaW5nKCksVzAudG9TdHJpbmcoKS5sZW5ndGgsMjI1MTYpIT09RDApe2lmKChlPShvKHQpW2llXShHYSl8fG8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9fX1jYXRjaCh0KXt9dHJ5e1UwPS0xMjgxMDM4MTgyO3gwPS01MjI2MTY2MzI7ejA9Mjtmb3IodmFyIGkwPTE7dzUuTDEoaTAudG9TdHJpbmcoKSxpMC50b1N0cmluZygpLmxlbmd0aCwzMjg1OSkhPT1VMDtpMCsrKXtmb3IoZT1vKHJpW1FyXSlbaWVdKEdhKVtnc10saT00O2k+ZVtwaV07aS0tKWZvcihyPW8oZVtpXVtvZV0pLG49NztuPj1yW3BpXTtuLS0paWYocltuXT09dCl7cmV0dXJuIGd1O316MCs9Mjt9aWYodzUuTDEoejAudG9TdHJpbmcoKSx6MC50b1N0cmluZygpLmxlbmd0aCw4ODE3MikhPT14MCl7Zm9yKGU9byhyaVtRcl0pW2llXShHYSlbZ3NdLGk9NDtpPmVbcGldO2ktLSlmb3Iocj1vKGVbaV1bb2VdKSxuPTc7bj49cltwaV07bi0tKWlmKHJbbl09PXQpe3JldHVybiBndTt9fWZvcihlPW8ocmlbUXJdKVtpZV0oR2EpW2dzXSxpPTA7aTxlW3BpXTtpKyspZm9yKHI9byhlW2ldW29lXSksbj0wO248cltwaV07bisrKWlmKHJbbl09PT10KXtyZXR1cm4gZ3U7fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sQzpmdW5jdGlvbih0LGUsaSl7dmFyIG4scixvO289WmMuTyhvNSk7cmV0dXJuIG49b1t0bytHcit5YV1bbXJdW1VzK0dyK0NuXShkZSksbltPXT1yYStQZStDdCxuW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoSmErVHQrX3QrWWUrR3IrZXQrR3IrWWUrSmErVHQrcCtZZStHcitldCtHcitZZStKYStUdCt1cytHcitDbitZZStHcitldCtHcitZZStkK2VyK0dyKSsoSmErVHQrJG4rWWUrR3IrZXQrR3IrWWUrWnMrUit6K1ZlK0dyK1llK3NvK1ZlK0dyK1llK0NlK1ArR3IrWWUrR3Ird24rR3IpKyh1YStZZStCcytHcitYbytZZStHcitldCtHcitZZStKYStUdCtRYStSK3orVmUrR3IrWWUrc28rVmUrR3IrWWUrQ2UrUCtHcitlcitHcikrKFdyK1llK0dyK3duK0JzK0dyK1hvK1R0K1dvK1llK0dyK2V0K0dyK1llK2QrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSsoTnIrWWUrQnMrR3IrWG8rZXIrR3IpKyhHcitEcitHcitlcitHciksb1t0bytHcit5YV1bbXJdW1FyXVtJdCtHcitXZV0obikscj1vW3RvK0dyK3lhXS5ta3AodCxlLGkpLFpjLlAobykscjt9LEI6ZnVuY3Rpb24odCxlLG4pe3ZhciByLG8scztyPTA7bz1ufHwxMDtzPXQ7dHJ5e2Zvcig7cyYmcisrPG87KXtpZih0eXBlb2YgZT09PVRjJiYoc1tTYytHcittY109PT1lfHxaYy5JKHMsZSkpfHx0eXBlb2YgZT09PWFyJiZzPT09ZSl7cmV0dXJuIHM7fXc1Llk0KDQpO3M9c1t3NS51NChfdCxHcixpKV07fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sRjpmdW5jdGlvbih0KXt2YXIgZTtlPVJ0W1RlXTtyZXR1cm4gdHlwZW9mIHQhPT1nZSYmKGU9KGN0W2pjXSh0KXx8W0dyLEdyXSlbMV0pLGVbWl0oUGMsR3IpO30seDpmdW5jdGlvbih0KXtyZXR1cm4geWlbWHRdW1hzK0dyK2hdW0NpXSh0KT09PUdyK0pvK2FyK1llK2JuK3R0K0dyO30sazpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUjAsUDAsSjA7aT1bXTtuPVpjLnYoKTt0cnl7UjA9LTE2Mjc2MTY5Mzc7UDA9LTIwMDI5NzgxNzY7SjA9Mjtmb3IodmFyIEIwPTE7dzUuTDEoQjAudG9TdHJpbmcoKSxCMC50b1N0cmluZygpLmxlbmd0aCw3NjkxMCkhPT1SMDtCMCsrKXtmb3IoZSBpbiBuKXt+dFtlXSE9Z2V8fGlbTXJdKGUvKChHci1ldCklR3IpLXRbZV0pO31KMCs9Mjt9aWYodzUuTDEoSjAudG9TdHJpbmcoKSxKMC50b1N0cmluZygpLmxlbmd0aCw4NjExMCkhPT1QMCl7Zm9yKGUgaW4gbil7fnRbZV0hPWdlfHxpW01yXShlLygoR3ItZXQpJUdyKS10W2VdKTt9fWZvcihlIGluIG4pe3R5cGVvZiB0W2VdIT09Z2UmJmlbTXJdKGUrKEdyK2V0K0dyKSt0W2VdKTt9fWNhdGNoKHQpe0tjLmUodCk7fXc1Llk0KDQpO3JldHVybiBpW05pXSh3NS5jNChHcixWZSxHcikpO30sUjpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5CKHQsT24pO30seTpmdW5jdGlvbigpe2Zvcih2YXIgdCxlPXt9LGk9MDtpPGFyZ3VtZW50c1twaV07aSsrKWZvcih0IGluIGFyZ3VtZW50c1tpXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0oYXJndW1lbnRzW2ldLHQpJiYoZVt0XT1hcmd1bWVudHNbaV1bdF0pO31yZXR1cm4gZTt9LFY6ZnVuY3Rpb24odCxlKXt2YXIgSjEsWDEsQjE7SjE9NDUyODczNzI5O1gxPTEyNzMxMDM4NTg7QjE9Mjtmb3IodmFyIE4xPTE7dzUuZDEoTjEudG9TdHJpbmcoKSxOMS50b1N0cmluZygpLmxlbmd0aCw1NTI1MSkhPT1KMTtOMSsrKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpKihlLXQpKSt0O0IxKz0yO31pZih3NS5kMShCMS50b1N0cmluZygpLEIxLnRvU3RyaW5nKCkubGVuZ3RoLDI4MzUxKSE9PVgxKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpJShlL3QpKSV0O319LFE6ZnVuY3Rpb24odCl7dmFyIGUsaSxuO3c1Llk0KDgpO2U9dzUuYzQodHlwZW9mIHQsYXIpO2k9dDt3NS5vNCg0KTtuPXJpW1VzK0dyK0NhXSh3NS51NChTbixHcix1bykpO25bTHMrR3IrU24rR3IrQ2FdKGdzLGd1LGd1LHksMCwwLDAsMCwwLGd1LHl1LHl1LGd1LDAsbXUpO2V8fChpPVpjLnooVSx7aHJlZjp0fHxpZStWdCtyYStQZStqbytWZStHcit1aStkZSt1citKYStUdCtJbytSK0dyK1ArR3IrZXIrR3IrdWkrR3IrUGUrZGUrdXIrR3J9KSxyaVtRcl1bSXQrR3IrV2VdKGkpKTtpW2duK0dyK0NhXShuKTtlfHxaYy5QKGkpO30sejpmdW5jdGlvbih0LGUsaSl7dmFyIG4scjtyPXJpW1VzK0dyK0NuXSh0KTtmb3IobiBpbiBlKXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShlLG4pJiZyW2xpK0dyK0dpXShuLGVbbl0pO31yZXR1cm4gaSYmKHJbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPWkpLHI7fSxZOmZ1bmN0aW9uKCl7dHJ5e3c1Lm80KDQpO3JldHVybiEhT3VbdzUuYzQoZW4sUGUsTWMpXVt3NS51NCgkaSxHcixXcyldO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sbDpmdW5jdGlvbih0KXt2YXIgZSxpLFk3LGY3LHM3O2U9WmMuXyh0KTt3NS5ZNCg0KTtpPXRbWl0oQWEsdzUudTQoR3Isem8scSkpO3RyeXtZNz0tMTYzMTA2MDI3MDtmNz0xOTgxNTM2MDYxO3M3PTI7Zm9yKHZhciBXNz0xO3c1LkwxKFc3LnRvU3RyaW5nKCksVzcudG9TdHJpbmcoKS5sZW5ndGgsMTYwMikhPT1ZNztXNysrKXtyZXR1cm4rbmV3IFVyKChacy9ZZS1HcikvIGkveHIsUnMpW2lyXShlW1hzJUdyL2hdKCkpO3M3Kz0yO31pZih3NS5MMShzNy50b1N0cmluZygpLHM3LnRvU3RyaW5nKCkubGVuZ3RoLDExNjM3KSE9PWY3KXtyZXR1cm4hbmV3IFVyKFpzK1llK0dyK2kreHIsUnMpW2lyXShlW1hzK0dyK2hdKCkpO319Y2F0Y2godCl7cmV0dXJuIHRbWHMrR3IraF0oKVtMK0dyK1dhXShrbytZZStycytZZStVK1llK1pzKT4tMT9ndTpYYy5kP2d1Onl1O319LHY6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbzt3NS5vNCg0KTtlPXlbdzUuYzQoUGEsR3IsZyldO3c1Llk0KDQpO2k9eVt3NS5jNChQYSxHcix3YyldO249eVtPaStHcitVZV18fHlbT2krR3IrV25dfHwwO3I9eVtPaStHcit4b118fHlbT2krR3IrQ2NdfHwwO289e307cmV0dXJuIG9bb2NdPWUsb1tLYV09aSxvW0hpXT1uLG9bcF09cixvW29yXT0wLG9bRWldPTEsb1tTcl09MSxvW09yXT0xLG8ucmVzaXphYmxlPTEsb1tNZV09MSxYYy5iJiYob1tLYV0rPVhjLm0/NDY6NTIpLFhjLmcmJihvW29jXS09NSxvW0thXS09NCksdHlwZW9mIHQ9PT1hciYmKG89WmMueShvLHQpKSxvO30sTzpmdW5jdGlvbih0KXt2YXIgZTtlPXJpW1VzK0dyK0NuXShjbik7cmV0dXJuIGVbeGVdW3h0XT1YaSx0JiZyaVtRcl1bSXQrR3IrV2VdKGUpLGU7fSxEOmZ1bmN0aW9uKHQpe3JldHVybiB0W1NjK0dyK21jXT09PUZjK0dyK1ZyK0dyK3hjK0dyK3hjK0dyK2ZjK0dyK2d0fHx0W1NjK0dyK21jXT09PXZhK0dyK2d0K0dyK210K0dyK1ZyK0dyK3hjJiZVbltpcl0odFthYStHcitHaV0oTykpfHx0aGlzLkIodCxGYytHcitWcitHcit4YytHcit4YytHcitmYytHcitndCkhPT15dTt9LFA6ZnVuY3Rpb24odCl7dCYmdFtfdCtHcitpXSYmdFtfdCtHcitpXVt4bitHcitXZV0odCk7fSxJOmZ1bmN0aW9uKHQsZSl7dmFyIG4scixvO2lmKHR5cGVvZiBlIT09VGMpe3JldHVybiB5dTt9aWYodHlwZW9mIHJpW2VlK0dyK3Z0K0dyK21dPT09WnMpdHJ5e3I9dFtfdCtHcitpXVtlZStHcit2dCtHcittXShlKXx8eS5qUXVlcnkoZSk7fWNhdGNoKHQpe31lbHNlIGlmKFpjLkEoKSl0cnl7cj15LmpRdWVyeShlKTt9Y2F0Y2godCl7fWlmKHIpZm9yKG89MDtvPHJbcGldO28rKylpZihyW29dPT09dCl7cmV0dXJuIGd1O31zd2l0Y2goZVswXSl7Y2FzZSBHcitUdCtHcjpuPVtsbyxlW2ZzXSgxKV07YnJlYWs7Y2FzZSBHcitzZStHcjpuPVtWYSxlW2ZzXSgxKV07fXJldHVybiBuP3RoaXMuVyh0LG5bMF0sblsxXSk6eXU7fSxmOmZ1bmN0aW9uKHQsZSl7dHJ5e3JldHVybiEoIXRba2ldW2VdfHwhdFtraV1bZV1bWW5dKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LE46ZnVuY3Rpb24odCl7dmFyIGU7ZT10aGlzLlIodCk7cmV0dXJuIGUmJmVbdW5dJiYheHNbaXJdKGVbdW5dKT9lW3VuXTp5dTt9LEo6ZnVuY3Rpb24odCxlLGksbil7Zm9yKHZhciByLG8scyxhPXRbWHMrR3IraF0oKVtDcl0obnx8R3IrVHQrR3IpLGM9ZVtYcytHcitoXSgpW0NyXShufHxHcitUdCtHciksdT0wLGY9ZHJbQm9dKGFbcGldLGNbcGldKTt1PGYmJihyPVVjKGFbdV18fDAsMTApLG89VWMoY1t1XXx8MCwxMCkscWMocikmJihyPTApLHFjKG8pJiYobz0wKSxzPXI+bz8xOi0xLHI9PT1vKTt1Kyspe3M9MDt9c3dpdGNoKGkpe2Nhc2UgR3IrdXIrR3I6dzUubzQoOCk7cmV0dXJuIHc1LnU0KDEscyk7Y2FzZSBHcit1citHcitldCtHcjp3NS5ZNCg5KTtyZXR1cm4gdzUuYzQocywxKTtjYXNlIEdyK3VpK0dyOnc1Lm80KDEwKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK3VpK0dyK2V0K0dyOnc1Llk0KDExKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK2V0K0dyK2V0K0dyOmNhc2UgR3IrZXQrR3IrZXQrR3IrZXQrR3I6ZGVmYXVsdDp3NS5ZNCg4KTtyZXR1cm4gdzUudTQoMCxzKTt9fSwkOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1wZVtDcl0oR3IpLGk9ZVtwaV0sbj0wLHI9R3I7bjx0O24rKyl7cis9ZVtkcltBY10oZHJbTW5dKCkqaSldO31yZXR1cm4gcjt9LGg6ZnVuY3Rpb24odCxlKXt0cnl7cmV0dXJuIHRbYWErR3IrR2ldKGUpO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sSDpmdW5jdGlvbih0LGUsaSl7dmFyIG47dzUubzQoMik7bj13NS5jNChoaSx0KTtyZXR1cm4gdHlwZW9mIHlbbl0hPT1nZSYmcm8oeVtuXSkseVtuXT1pbyhlLGkpO30sdzpmdW5jdGlvbigpe3JldHVybiBQdTt9LFU6ZnVuY3Rpb24odCl7cmV0dXJuIHRbU2MrR3IrbWNdPT09dmErR3IrZ3QrR3IrbXQrR3IrVnIrR3IreGMmJm5lW2lyXSh0W2FhK0dyK0dpXShPKSl8fHRbU2MrR3IrbWNdPT09cGErR3IrT24rR3IrRmMrR3IrUHMrR3IrcGE7fX07aXU9e3R0OmZ1bmN0aW9uKHQsZSl7dmFyIGkscTUsbTUsQTU7dHJ5e3E1PS0xNDE1MjczNDIzO201PS0zMzc1MDc5MjY7QTU9Mjtmb3IodmFyIEs1PTE7dzUuZDEoSzUudG9TdHJpbmcoKSxLNS50b1N0cmluZygpLmxlbmd0aCwzNzU1NSkhPT1xNTtLNSsrKXtyZXR1cm4gZXx8KGk9cmlbKHdyLUdyKSVqbipHcipMY10odFtIYyVHci9VZV0sdFtIYy9Hci14b10pKT9pOnRbVGldJiZ0W1hzLUdyLUNuXSYmdFsoWHItR3IpJUNuXTtBNSs9Mjt9aWYodzUuTDEoQTUudG9TdHJpbmcoKSxBNS50b1N0cmluZygpLmxlbmd0aCw3MjUzNikhPT1tNSl7cmV0dXJuIGUmJihpPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXSx0W0hjK0dyK3hvXSkpP2k6dFtUaV18fHRbWHMrR3IrQ25dfHx0W1hyK0dyK0NuXTt9fWNhdGNoKHQpe3JldHVybiB5dTt9fSxYOmZ1bmN0aW9uKHQsZSxpLG4pe3JldHVybiB0eXBlb2YgdFtIbitHcitDYStHcitFbl09PT1acz90W0huK0dyK0NhK0dyK0VuXShlLGksbnx8e30pOnRbRmUrR3IrQ2FdKE5vK2UsaSk7fSxLOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByO3I9ZnVuY3Rpb24oKXtpdS5aKHQsZSxyLG4pO2lbQ2ldKCk7fTtpdS5YKHQsZSxyLG4pO30sWjpmdW5jdGlvbih0LGUsaSxuKXtyZXR1cm4gdHlwZW9mIHRbeG4rR3IrQ2ErR3IrRW5dPT09WnM/dFt4bitHcitDYStHcitFbl0oZSxpLG58fHt9KTp0W0tpK0dyK0NhXShObytlLGkpO319OyEoWGM9e2l0OmZhW2lyXSh2dSksbnQ6c3RbaXJdKHZ1KSxtOmxlW2lyXSh2dSksZXQ6YWNbaXJdKHZ1KSxydDpTb1tpcl0odnUpLG90OnNpW2lyXSh2dSl8fEpyW2lyXSh2dSl8fHVlW2lyXSh2dVtmc10oMCw0KSksc3Q6dm9baXJdKHZ1KSxnOkFyW2lyXSh2dSkmJiFfYVtpcl0odnUpLGI6bHJbaXJdKHZ1KSYmIW1hW2lyXSh2dSksYXQ6bWVbaXJdKHZ1KSYmIWdyW2lyXSh2dSksY3Q6eFtpcl0odnUpLGQ6Rltpcl0odnUpLHV0OnlvW2lyXSh2dSksX3Q6bXUscHQ6WmMucShndSl8fG11LGx0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3QhPT1tdT90aGlzLl90OnRoaXMuX3Q9UWMuZHQoKSE9PXl1O30sSjpmdW5jdGlvbih0LGUpe3JldHVybiBaYy5KKFhjLmZ0LGUsdCk7fSxodDptb1tpcl0odnUpJiYhenJbaXJdKHZ1KSxmdDpaYy5xKHl1KXx8bXV9KS5ldHx8WGMuaHR8fFhjLmR8fFhjLmJ8fChYYy51dD1vNSk7KFljPWZ1bmN0aW9uKHQsZSxpKXt2YXIgbjtuPWl8fHt9O25bel09ZTt0aGlzLnZ0KG4pO3RoaXMubXQuYnR8fCh0aGlzLm10LmJ0PXJ1K3QpO3RoaXMuZ3QoKTt9KVtYdF09e2t0OntUdDpndSxDdDptdSxqdDp5dSxFdDpHcitQZStHcixGdDprdSxMdDpndSxBdDp5dSxPdDpndSx4dDptdSxQdDpudWxsLGJ0Om11LHd0Om11LFN0Omt1fSxtdDp7fSx5dDpudWxsLHp0OlpjLnYoKSxCdDpaYy5wKFtbT3IsMF1dKSxJdDpaYy5wKFtbTWUsMV1dKSxNdDpaYy5wKFtbU3IsMV1dKSxXdDpaYy5wKFtbRWksMF0sW1NyLDBdXSksRHQ6WmMucChbW01lLDBdXSksVXQ6WmMucChbW1p0LDBdXSksUnQ6WmMucChbW0VpLDBdXSksc2V0T3B0aW9uczpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy52dCh0KTt9LGd0OmZ1bmN0aW9uKCl7dmFyIHQsZSxpLG47dD1mdW5jdGlvbih0LGUpe3ZhciBpLG47bj17fTtuW3B1XT1beXUsZ3VdO25bX3VdPVt5dSx5dV07bltsdV09W2d1LGd1XTtuW2R1XT1bZ3UseXVdO2ZvcihpIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixpKSYmbltpXVswXT09PXQmJm5baV1bMV09PT1lKXtyZXR1cm4gaTt9cmV0dXJuIF91O307ZT1YYy5sdCgpO2k9dChHYy5tdC4kdC5uZXdUYWIsR2MubXQuJHQudW5kZXIpO249dCh0aGlzLm10LkF0LHRoaXMubXQuVHQpO2V8fG49PT1wdSYmKG49aSk9PT1wdSYmKG49bHUpO1hjLm90JiYobj09PV91JiYobj1kdSksbj09PXB1JiYobj1sdSkpO3RoaXMueXQ9bjt9LEh0OmZ1bmN0aW9uKCl7dmFyIGswLG4wLEYwO2lmKHR5cGVvZiB0aGlzLm10Lnh0PT09WnMpdHJ5e3JldHVybiB0aGlzLm10Lnh0W0NpXSh0aGlzLHRoaXMubXQpW1hzK0dyK2hdKCk7fWNhdGNoKHQpe3JldHVybiBLYy5lKHQpLHl1O31rMD0tMTAwMjA0NzAxMztuMD0tMTY1MTM4NjMwNztGMD0yO2Zvcih2YXIgTTA9MTt3NS5MMShNMC50b1N0cmluZygpLE0wLnRvU3RyaW5nKCkubGVuZ3RoLDY4NDExKSE9PWswO00wKyspe3JldHVybiB0aGlzLm10Lnh0O0YwKz0yO31pZih3NS5kMShGMC50b1N0cmluZygpLEYwLnRvU3RyaW5nKCkubGVuZ3RoLDkwOTM5KSE9PW4wKXtyZXR1cm4gdGhpcy5tdC54dDt9fSxMdDpmdW5jdGlvbigpe3ZhciB0LGUsRzcsQzcsazcsVjAsdTAseTA7dD10aGlzLm10O2U9dC5PdCE9PU5zJiZ0Lk90IT09TmV8fHQuT3Q9PT1OcyYmWGMub3R8fHQuT3Q9PT1OZSYmIVhjLm90O3RyeXtHNz0tMTkzODMwODU3MjtDNz0tMTE3NzY0NDk2NDtrNz0yO2Zvcih2YXIgRjc9MTt3NS5kMShGNy50b1N0cmluZygpLEY3LnRvU3RyaW5nKCkubGVuZ3RoLDg5NDI0KSE9PUc3O0Y3Kyspe3R5cGVvZiB0Lkx0PT09WnM/ZT1lJiZ0Lkx0W0NpXSh0aGlzLGUsdGhpcy5OdCgpKSE9PXl1OnR5cGVvZiB0Lkx0PT09YW4mJihlPWUmJnQuTHQpO2s3Kz0yO31pZih3NS5MMShrNy50b1N0cmluZygpLGs3LnRvU3RyaW5nKCkubGVuZ3RoLDUzNDE4KSE9PUM3KXstdC5MdCE9PVpzP2U9ZXx8dC5MdFtDaV0odGhpcyxlLHRoaXMuTnQoKSk9PT15dTohdC5MdD09YW58fChlPWV8fHQuTHQpO319Y2F0Y2godCl7S2MuZSh0KTt9VjA9Njg3MDAyMDA4O3UwPS0yOTc1OTkyODc7eTA9Mjtmb3IodmFyIHYwPTE7dzUuTDEodjAudG9TdHJpbmcoKSx2MC50b1N0cmluZygpLmxlbmd0aCw2NDU0MSkhPT1WMDt2MCsrKXtyZXR1cm4gR2MuSnQoKT9lfHwtdGhpcy5WdDplfHwrdHUuYyh0LmJ0KTt5MCs9Mjt9aWYodzUuTDEoeTAudG9TdHJpbmcoKSx5MC50b1N0cmluZygpLmxlbmd0aCwyOTMyNSkhPT11MCl7cmV0dXJuIEdjLkp0KCk/ZXx8LXRoaXMuVnQ6ZXx8K3R1LmModC5idCk7fXJldHVybiBHYy5KdCgpP2UmJiF0aGlzLlZ0OmUmJiF0dS5jKHQuYnQpO30sdnQ6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHI7dGhpcy5tdD1aYy55KHRoaXMuenQsdGhpcy5rdCx0aGlzLm10LHR8fHt9KTtmb3IoaSBpbiB0aGlzLm10KWlmKHlpW1h0XVtCYStHcitsdCtHcitvb11bQ2ldKHRoaXMubXQsaSkpc3dpdGNoKG49dGhpcy5tdFtpXSxpKXtjYXNlIHNvOnRoaXMubXQud3Q9bjticmVhaztjYXNlIHo6dGhpcy5tdC54dD1uO2JyZWFrO2Nhc2UgTGU6dGhpcy5tdC5PdD0obitHcilbWHMrR3IrdHMrR3IrbmNdKCk7YnJlYWs7Y2FzZSBOdCtHcittYzp0aGlzLm10LmJ0PW47YnJlYWs7Y2FzZSBOdCtHcitUOnRoaXMubXQuQ3Q9bjticmVhaztjYXNlIE50K0dyK2VhOnRoaXMubXQuRXQ9bjticmVhaztjYXNlIE50K0dyKyRzOnRoaXMubXQuUHQ9bjticmVhaztjYXNlIEVlOnRoaXMubXQuVHQ9bjticmVhaztjYXNlIEErR3IrTG86dGhpcy5tdC5BdD1uO2JyZWFrO2Nhc2UgcHQrR3IramU6dGhpcy5tdC5GdD1uO2JyZWFrO2Nhc2UgamErR3IramU6dGhpcy5tdC5TdD1uO2JyZWFrO2Nhc2UgSWMrR3IrY3I6dGhpcy5tdC5qdD1uO2JyZWFrO2Nhc2UgdGUrR3Irc3M6dGhpcy5tdC5MdD1uO31pZighWGMub3QmJiF0aGlzLm10LkF0KWZvcihyPVtbWGMuZyYmMTE9PT1YYy5wdCx0aGlzLlV0XSxbWGMuYiYmWGMucHQ8NDEsdGhpcy5JdF0sW1hjLmIsdGhpcy5CdF0sW1hjLmQmJlhjLnB0PDQ3LHRoaXMuTXRdLFtYYy51dCx0aGlzLkR0XSxbWGMuY3QsdGhpcy5SdF0sW1hjLmImJlhjLnB0Pj01OSx0aGlzLld0XSxbWGMudXQmJlhjLnB0Pj00Nix0aGlzLld0XV0sZT0wO2U8cltwaV07ZSsrKWlmKHJbZV1bMF0pZm9yKGkgaW4gcltlXVsxXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0ocltlXVsxXSxpKSYmKHRoaXMubXRbaV09cltlXVsxXVtpXSk7fX0sZ2V0T3B0aW9uczpmdW5jdGlvbigpe3JldHVybiB0aGlzLk50KCk7fSxOdDpmdW5jdGlvbigpe3ZhciB0LGU7ZT17fTtmb3IodCBpbiB0aGlzLm10KXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXSh0aGlzLm10LHQpJiZ0W3BpXT49MyYmKGVbdF09dGhpcy5tdFt0XSk7fXJldHVybiBlO30scXQ6ZnVuY3Rpb24oKXtHYy5KdCgpP3RoaXMuVnQ9Z3U6dHUuYSh0aGlzLm10LmJ0LDEsdGhpcy5tdC5DdCx0aGlzLm10LkV0LHRoaXMubXQuUHQpO319OyhudT1mdW5jdGlvbih0KXt2YXIgZTtlPXRoaXM7dGhpcy5RdD10O3RoaXMuR3Q9dGhpcy5ZdCgpO3RoaXMuS3Q9dGhpcy5adCgpO2l1LlgodGhpcy5HdCxncyxmdW5jdGlvbigpe0dzKGUuS3QpO1pjLlAoZS5HdCk7fSk7fSlbWHRdPXtZdDpmdW5jdGlvbigpe3ZhciB0LEs3LHI3LFE3O0s3PS0xODIwMzgxMDU7cjc9MTk5MDM1MjYxMTtRNz0yO2Zvcih2YXIgajc9MTt3NS5kMShqNy50b1N0cmluZygpLGo3LnRvU3RyaW5nKCkubGVuZ3RoLDg2ODQwKSE9PUs3O2o3Kyspe3Q9WmMueihoYyx7Y2xhc3M6ZnV9LEdyKTtyZXR1cm4gdGhpcy5RdFtTYytHcittY11bWHMrR3IrdHMrR3IrbmNdKCk9PT1Rcj9yaVtRcl1bSXQrR3IrV2VdKHQpOnRoaXMuUXRbX3QrR3IraV1bTmMrR3IrT3NdKHQsdGhpcy5RdFtWcytHcitrc10pLHQ7UTcrPTI7fWlmKHc1LkwxKFE3LnRvU3RyaW5nKCksUTcudG9TdHJpbmcoKS5sZW5ndGgsMzM0MykhPT1yNyl7dD1aYy56KGhjLHtjbGFzczpmdX0sR3IpO3JldHVybiB0aGlzLlF0W1NjKkdyL21jXVtYcypHci10cy1Hci1uY10oKT09UXI/cmlbUXJdW0l0L0dyL1dlXSh0KTp0aGlzLlF0W190L0dyJWldWyhOYy1HcikqT3NdKHQsdGhpcy5RdFsoVnMtR3IpJWtzXSksdDt9fSxadDpmdW5jdGlvbigpe3ZhciB0O3Q9dGhpcztyZXR1cm4gQ28oZnVuY3Rpb24oKXt2YXIgZSxpO2k9VWModC5RdFt4ZV1bc24rR3IrenNdLDEwKTt0LlF0W1NjK0dyK21jXVtYcytHcit0cytHcituY10oKT09PVFyJiYoaT05ZTkpOyhlPV9uK1Z0K2dvK2VyK0RhK1Z0K04rZXIrbG4rVnQraytlcitHcisoS2ErVnQrR3IpK3QuUXRbZnIrR3Ird2NdKyhobytlcitHcikrKG9jK1Z0K0dyKSt0LlF0W2ZyK0dyK2ddKyhobytlcitHcikrKEhpK1Z0K0dyKSt0LlF0W2ZyK0dyK1duXSsoaG8rZXIrR3IpKyhwK1Z0K0dyKSt0LlF0W2ZyK0dyK0NjXSsoaG8rZXIrR3IpKyhzbit3aStMK1Z0K0dyKSsocWMoaSk/MjppKzEpKSE9PXQuR3RbYWErR3IrR2ldKHhlKSYmdC5HdFtsaStHcitHaV0oeGUsZSk7fSwxNTApO319O251Llh0PWZ1bmN0aW9uKHQpe3ZhciBlO3c1Llk0KDEyKTtlPXc1LmM0KHJ1LExpLHdpLHdpLEdyLGllLEdyKTt0W2FhK0dyK0dpXShlKXx8dFthYStHcitHaV0obG8pPT09ZnV8fCh0W2xpK0dyK0dpXShlLDEpLG5ldyBudSh0KSk7fTsoUWM9e2R0OmZ1bmN0aW9uKCl7dmFyIHQsZTtlPXRoaXMuZWUoKTtmb3IodD0wO3Q8ZVtwaV07dCsrKWlmKGVbdF1bMV0oKT09PWd1KXtyZXR1cm4gZVt0XVswXTt9cmV0dXJuIHl1O30sZWU6ZnVuY3Rpb24oKXt2YXIgdDt0PVtdO3JldHVybiBYYy5vdHx8WGMuaXQ/W106KHRbTXJdKFt0aGlzLmllLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlhjLnB0Pj02NCYmWGMucHQ8Njc7fV0pLHRbTXJdKFt0aGlzLm5lLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubnQmJlhjLnB0Pj00MyYmWGMucHQ8NjQ7fV0pLHRbTXJdKFt0aGlzLnJlLGZ1bmN0aW9uKCl7dmFyIGI3LHE3LG03O2I3PS02MDMwNTI0OTU7cTc9LTQwNjg3OTgwNDttNz0yO2Zvcih2YXIgSTc9MTt3NS5MMShJNy50b1N0cmluZygpLEk3LnRvU3RyaW5nKCkubGVuZ3RoLDU1NDM5KSE9PWI3O0k3Kyspe3JldHVybiBYYy5ifHxaYy5ZKCl8fFhjLm18fFhjLnB0PD0xN3x8WGMucHQ+PTg5O203Kz0yO31pZih3NS5MMShtNy50b1N0cmluZygpLG03LnRvU3RyaW5nKCkubGVuZ3RoLDYyMDk0KSE9PXE3KXtyZXR1cm4gWGMuYnx8WmMuWSgpfHxYYy5tfHxYYy5wdDw9MTd8fFhjLnB0Pj04OTt9cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubSYmWGMucHQ+PTQ5JiZYYy5wdDw2NDt9XSksdFtNcl0oW3RoaXMub2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZDt9XSksdFtNcl0oW3RoaXMuc2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZyYmWGMucHQ+PTExO31dKSx0W01yXShbdGhpcy5hZSxmdW5jdGlvbigpe3JldHVybiBYYy5odDt9XSksdFtNcl0oW3RoaXMuY2UsZnVuY3Rpb24oKXt2YXIgVDAsRTAsbzA7VDA9MTIwNjMzNjEyMTtFMD0xMjk2MjQyMjUyO28wPTI7Zm9yKHZhciBwMD0xO3c1LmQxKHAwLnRvU3RyaW5nKCkscDAudG9TdHJpbmcoKS5sZW5ndGgsNDUyNzYpIT09VDA7cDArKyl7cmV0dXJuIFhjLnV0fHxYYy5udHx8WGMucHQ+PTc0O28wKz0yO31pZih3NS5MMShvMC50b1N0cmluZygpLG8wLnRvU3RyaW5nKCkubGVuZ3RoLDY1MzgpIT09RTApe3JldHVybiBYYy51dCYmWGMubnQmJlhjLnB0PD00ODt9fV0pLHQpO319KS50ZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMudGVbWHRdPXtfZTprdSx1ZTpmdW5jdGlvbih0KXt2YXIgcjUsUTUsZTU7cjU9LTk1ODI4OTMwMTtRNT0tNjIxNDQ4NDIyO2U1PTI7Zm9yKHZhciBaNT0xO3c1LmQxKFo1LnRvU3RyaW5nKCksWjUudG9TdHJpbmcoKS5sZW5ndGgsOTUyNjgpIT09cjU7WjUrKyl7dGhpcy5mZT10O2U1Kz0yO31pZih3NS5MMShlNS50b1N0cmluZygpLGU1LnRvU3RyaW5nKCkubGVuZ3RoLDE0MzU1KSE9PVE1KXt0aGlzLmZlPXQ7fX0sbGU6a3UscGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhO2k9dGhpcztuPWkuZmU7cj1uLkh0KCk7bz1uLm10O3M9by53dHx8WmMuJCg1KTthPVpjLmsobyk7aWYodD1mdW5jdGlvbigpe3RyeXtpZih0eXBlb2Ygby5GdD09PVpzJiZvLkZ0W0NpXShuLHIsbyk9PT15dSl7cmV0dXJuIHl1O319Y2F0Y2godCl7S2MuZSh0KTt9cmV0dXJuIG11O30sZT1mdW5jdGlvbih0KXtpZih0eXBlb2Ygby5TdD09PVpzKXRyeXtvLlN0W0NpXShuLHIsbyx0KTt9Y2F0Y2godCl7S2MuZSh0KTt9fSx0KCk9PT15dSl7cmV0dXJuIHl1O310eXBlb2Ygb1t6XT09PVRjJiZvW3pdIT09ciYmKHI9b1t6XSk7R2MuanQoby5qdCk7dGhpcy5fZSgpO3RyeXtyZXR1cm4gdGhpcy5sZShyLG8scyxhLGZ1bmN0aW9uKHQpe2kuZGUodCk7aS5oZSYmR2MuaGUoKTtlKHQpO30pO31jYXRjaCh0KXtyZXR1cm4gS2MuZSh0KSx5dTt9fSx2ZTpmdW5jdGlvbih0LGUsaSl7cmV0dXJuKEdjLm10LmJlP1pjLkM6QXUpKHQsZSxpKTt9LGRlOmt1LGhlOmd1fTtRYy5tZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMubWVbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTp5dSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3IodGhpcy52ZSh0LGksbikpO319KTtRYy5nZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuZ2VbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTohWGMub3QmJiFYYy5kLGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7cih0aGlzLnZlKHQsRmkpKTt9fSk7UWMueWU9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnllW1h0XT1aYy55KFFjLnRlW1h0XSx7a2U6ZnVuY3Rpb24oKXt2YXIgdCxlLGk7dD1HYy53ZSgpO2U9R2MueGUuUztpPXR5cGVvZiBHYy5tdC5PZT09PVpzP0djLm10Lk9lW0NpXSgpOkdjLm10Lk9lO3JldHVybiBmdW5jdGlvbigpe3ZhciBuLHI7cmV0dXJuIGkhPT1GdT9pOihuPVpjLiQoMSkscj1lP2k6R2MuQ2UodCl8fGksZXUucygpfHwhWGMub3QmJiFYYy5nP3I6KHR1LmEoY3UsbixtdSkscltaXSh2cixHcikrKEdyK3NlK0dyKStuKSk7fSgpO30sbGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgeDksejksaDksbyxzLGEsYyx1LGgsZixwO3g5PTE3MTA2NjI4Nzg7ejk9LTEwMzk3MjE3MTM7aDk9Mjtmb3IodmFyIEw5PTE7dzUuZDEoTDkudG9TdHJpbmcoKSxMOS50b1N0cmluZygpLmxlbmd0aCwzMDE4NykhPT14OTtMOSsrKXtoOSs9Mjt9aWYodzUuZDEoaDkudG9TdHJpbmcoKSxoOS50b1N0cmluZygpLmxlbmd0aCw0NTQ4MCkhPT16OSl7fWE9dGhpcy5rZSgpO2M9R2Mud2UoKTt1PVpjLk4oYyk7aD0xNTtmPVtdO3A9ZnVuY3Rpb24odCl7dmFyIGU7dHlwZW9mIHRbQW5dPT09WnMmJihlPXRbQW5dLGl1LlgodCxncyxlKSk7dFtBbl09ZnVuY3Rpb24oKXtyZXR1cm4geXU7fTt9O2ZvcihHYy5FZSgpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKSE9PUZpJiZaYy5mKGMsdW4pJiYocChjKSwwIT09Y1thYStHcitHaV0odW4pW0wrR3IrV2FdKEN0KSYmKGE9Y1thYStHcitHaV0odW4pKT09PUdyJiYoYT1GdSkpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKT09PUZpJiZaYy5mKGMsdW4pJiYocChjKSxpbyhmdW5jdGlvbigpe2NbQW5dPW11O30sM2UzKSxHYy5tdC5QZT9hPWNbYWErR3IrR2ldKHVuKTooYT1GdSxYYy5vdCYmKFhjLnV0P2ZbTXJdKGZ1bmN0aW9uKCl7QXUoY1thYStHcitHaV0odW4pLEZpKTt9KTppbyhmdW5jdGlvbigpe0F1KGNbYWErR3IrR2ldKHVuKSxGaSk7fSwyMCkpKSksWGMuZXQmJlhjLnV0fHxYYy5ldCYmWGMuc3QmJiFYYy5kJiYhWGMuYiYmIVhjLmh0PyhBdShhLEZpKSxaYy5IKEJyLGZ1bmN0aW9uKCl7WmMuVCh0KTt9LGgpKTohWGMub3QmJlpjLmgoYyxUaSkhPT1GaSYmKFhjLnV0JiZYYy5zdHx8WGMuaHQmJlhjLnB0PDEwfHxYYy5iJiZYYy5wdDw0MSk/WGMudXQ/KFpjLlEoYSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KFpjLlEodCksY1tTYytHcittY109PT1PbiYmdSYmWmMuVCh1KSk6WGMuZXQmJlhjLmQ/KG89QXUoYSxGaSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KG89eVtRYV0oVWErVnQrY2ksRmkpKT8ob1tFaV1bdW5dPWEsWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6bz1BdSh0LEZpKSxzPTA7czxmW3BpXTtzKyspe2Zbc11bQ2ldKCk7fW8mJnIobyk7fX0pO1FjLm9lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5vZVtYdF09WmMueShRYy50ZVtYdF0se2hlOnl1LGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG87bz10aGlzLnZlKHQsaSxuKTtvW2tuXSgpO1R1W2JvXSgpO1pjLk0obyk7aW8oZnVuY3Rpb24oKXtyKG8pO30sMWUzKTt9fSk7UWMuY2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLmNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZSh0LGksbik7cz1HYy5UZSgxZTMpO2l1LksoeSxibyxmdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9KTtvW2NjXT1mdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9O3Iobyk7fX0pO1FjLmFlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5hZVtYdF09WmMueShRYy50ZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIEQ5LFc5LGw5LG87RDk9MTk0OTIwNzgwOTtXOT04OTkwMjg0O2w5PTI7Zm9yKHZhciBWOT0xO3c1LkwxKFY5LnRvU3RyaW5nKCksVjkudG9TdHJpbmcoKS5sZW5ndGgsNTc4NTApIT09RDk7VjkrKyl7bDkrPTI7fWlmKHc1LkwxKGw5LnRvU3RyaW5nKCksbDkudG9TdHJpbmcoKS5sZW5ndGgsNTEwNjgpIT09Vzkpe315W3NvXT1aYy4kKDUpO289dGhpcy52ZSh0LGksbik7dGhpcy52ZShHcix5W3NvXSxHcik7eVtzb109bXU7cihvKTt9LGhlOnl1fSk7UWMuc2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZShQdT90OkZ1LGksbik7cz1mdW5jdGlvbigpe29bRWldW3VuXT10O307aXUuSyhvLGtuLHMpO29ba25dKCk7VHVbYm9dKCk7aW8ocywxMDApO3Iobyk7fSxoZTp5dX0pO1FjLm5lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5uZVtYdF09WmMueShRYy50ZVtYdF0se0ZlOmZ1bmN0aW9uKCl7dmFyIHQsZTtlPVpjLnooYXIse2RhdGE6WmMuTChlbitQZStNYyx0aGlzLkFlKStaYy4kKDMpfSk7cmV0dXJuKHQ9WmMueihoYyx7c3R5bGU6UGkrVnQrYStlcitvYytWdCtIcytlcitLYStWdCtIcytlcitEYStWdCtOK2VyK3ArVnQrRnIrSGErR3IrZXIrSGkrVnQrem4rZXIrayt3aStHYStWdCtYaStlciskbytWdCthK2VyK0dyfSkpW0l0K0dyK1dlXShlKSxbZSx0XTt9LFNlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMueSh0LHt9KTtyZXR1cm4gZVtwXT1lW0hpXT05ZTUsZVtvY109ZVtLYV09MSxlO30sQWU6THQrR3IrdGErR3IrRmMrR3IrUHMrR3Irb24rR3IrV2MrR3IreG8rR3IrJCtHcithaStHcituK0dyK1NhK0dyK0tyK0dyK1F0K0dyK2t0K0dyK3p0K0dyK3RjK0dyK1l0K0dyK3ZhK0dyK3MrR3IrdmErdWMraG4rR3IrTGErR3IrenQrR3IrVytHcitEYytHcitaYStHcittdCtHcitWaStHcitzYStHcitVZStHcitUYStHcit2YStHcitWaStHcitQcitHcit4bytHcitVZStHcitpYytHcitwbytHcitLcitHcitKK0dyK2hzK0dyK1ppK0dyK3ZhK0dyK1ByK0dyK0xhK0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrWGErR3IrVHMrR3IrWmkrR3IrdmErR3IrUHIrR3IrSGUrR3IrenQrR3IrVytHcitGYytHcit0YytHcityYytHcithZStHcit2aStHcit2YStHcitQcitHcitydCtHcitwcytHcittdCtHcituYStHcitUbytHcityZStHcit4bytHcit0YStHcitqaStHcitXK0dyK2F0K0dyK3ZhK0dyK1ByK0dyK2MrR3IrYit1YytFK0dyK1FvK0dyK3BzK0dyK2RjK0dyK1l0K0dyK3ZhK0dyK1lhK0dyK1hhK0dyK1RzK0dyK1ppK0dyK3ZhK0dyK0dlK0dyK09lK0dyK2dhK0dyK0hvK0dyK3ZhK0dyK1ByK0dyK2t0K0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrdmErR3Ircm4rdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitrdCtHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK09lK0dyK1krR3IrS3QrR3IreG8rR3IrVWUrR3IrYnMrR3IrRnQrR3IrUG8rR3IrRStHcitVZStHcitiaStHcitVZStHcitTZStHcitWcitHcitEcytHcit4bytHcitVZStHcitHbytHcit2YStHcitQdCtHcitVZStHcitScitHcit5YytHcitPZStHcitWbytHcitLcitHcit2YytHcitiZStHcitzK0dyK3hjK0dyK0tvK0dyK3IrR3IrYWkrR3IrZnQrdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitBZStHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK05hK0dyK1RzK0dyK010K0dyK2hyK0dyK1lzK0dyK0tzK0dyK0UrR3IrVWUrR3IrZm4rR3IrcmMrR3IrYWUrR3IrRCtHcitMdCtHcitWcitHcit0YStHcittdCtHcitacitHcitWcitHcitPZSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3ZhciBzLGEsYyx1LGg7dT10aGlzO2g9eXU7dHJ5eyhhPXRoaXMudmUoVWErVnQrY2ksRmkpKVttcl1bcnJdKHc1LnU0KHVyLEdyLEdyLGpvLFBlLHVpLEdyLFFyLEdyLFBlLG8sR3IsdWksdWksR3IsdXIsUGUsR3IsdXIsam8sR3IsdXIsbyx1aSxHcix1cixHcix1aSxRcix1cix1aSx3NS5ZNCgxMykpKTtpdS5LKGEscWEsZnVuY3Rpb24oKXtmdW5jdGlvbiBmKCl7bigpO2FbSW9dKCk7bygpO3JvKGMpO31ofHwoaD1ndSxzPWFbQmNdPUF1KFVhK1Z0K2NpLGksWmMuayh1LlNlKGUpKSksaXUuWChhLGJvLGYpLGM9aW8oZiwzZTMpLGFbbXJdW1FyXVtQYStHcithaStHcit4YytHcit6dCtHcitwYV09dS5GZSgpWzFdW1BuK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXSk7ZnVuY3Rpb24gbigpe3c1Llk0KDE0KTthW21yXVtRcl1bdzUudTQoUGEsenQsR3IsR3IsR3IseGMsR3IsYWkscGEpXT1Hcjt9ZnVuY3Rpb24gbygpe3ZhciBhMSxZMSxmMTthMT0tMTU2OTI3MTMyMDtZMT0yMzc1ODcyNDtmMT0yO2Zvcih2YXIgRDE9MTt3NS5MMShEMS50b1N0cmluZygpLEQxLnRvU3RyaW5nKCkubGVuZ3RoLDk0NDMyKSE9PWExO0QxKyspe3NbRWMlR3ItYmFdKGVbSGldLGVbcF0pO3NbZGElR3IqYmFdKGVbb2NdLGVbS2FdKTtzW0VpXVtaXSh0KTtyKHMpO2YxKz0yO31pZih3NS5kMShmMS50b1N0cmluZygpLGYxLnRvU3RyaW5nKCkubGVuZ3RoLDYyNDUzKSE9PVkxKXtzW0VjJUdyLWJhXShlW0hpXSxlW3BdKTtzW2RhJUdyKmJhXShlW29jXSxlW0thXSk7c1tFaV1bWl0odCk7cihzKTt9c1tFYytHcitiYV0oZVtIaV0sZVtwXSk7c1tkYStHcitiYV0oZVtvY10sZVtLYV0pO3NbRWldW1pdKHQpO3Iocyk7fX0pO31jYXRjaCh0KXt9fX0pO1FjLnJlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5yZVtYdF09WmMueShRYy5uZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG8scztzPVpjLk8oZ3UpO2l1LksoeSxibyxmdW5jdGlvbigpe1pjLlAocyk7b1tFaV1bWl0odCk7cihvKTt9KTt3NS5vNCg0KTtvPXRoaXMudmUodzUuYzQoVWEsVnQsY2kpLEZpKTtzW3RvK0dyK3lhXVttcl1bcnJdKHRoaXMuRmUoKVsxXVtQbitHcithaStHcit4YytHcit6dCtHcitwYV0pO319KTtRYy5pZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuaWVbWHRdPVpjLnkoUWMudGVbWHRdLHtMZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47aT10aGlzO249eXU7dzUubzQoNCk7ZT10aGlzLnZlKHc1LmM0KFVhLFZ0LGNpKSx0Lnd0fHxGaSx0LkJlfHxHcik7dC56ZSYmKGUmJmVbSW9dKCksbj1ndSk7IW4mJmUmJmlvKGZ1bmN0aW9uKCl7ZVtFaV1bdW5dPXQueHQ7dC5JZSYmaS5JZShlKTt9LDEwMCk7fSx1ZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47bj10aGlzO3RoaXMuamU9ZHJbTW5dKCk7dGhpcy5mZT10O2U9R2Mud2UoKTt3NS5vNCgxNSk7aT1aYy5CKGUsdzUuYzQoZ3QsR3IseGMsR3IsR3IsRmMseGMsR3IsZmMsR3IsVnIpKTsoZVtTYytHcittY109PT1PbiYmZVthYStHcitHaV0oanIpIT09RmkmJiFaYy5TKGUpfHxpJiYhWmMuUyhpKSkmJih0aGlzLmhlPWd1KTtpdS5YKHksSWUsZnVuY3Rpb24gdChlKXt0cnl7ZVtpZV0uamU9PT1uLmplJiZuLkxlKGVbaWVdKTtlW2llXS56ZSYmaXUuWih5LEllLHQpO31jYXRjaCh0KXt9fSk7fSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3RoaXMuSWU9cjt0aGlzLk1lKHtqZTp0aGlzLmplLEJlOm4sSWU6Z3UseHQ6dH0pO3RoaXMuTWUoe2plOnRoaXMuamUsemU6Z3UseHQ6VWErVnQrY2l9KTt9LGhlOnl1LE1lOmZ1bmN0aW9uKHQpe3lbSnQrR3IrWF0odCx5W0VpXVtSb10pO319KTtHYz17X2k6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5RaSgpK3RoaXMuSGkoKT5aYy5HKCk7fSxLaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm10LkplO30sSmU6ZnVuY3Rpb24oKXt2YXIgdDt0PVpjLngoYXJndW1lbnRzWzBdKT9hcmd1bWVudHNbMF06YXJndW1lbnRzO3JldHVybiB0aGlzLm5uKHQsUm4sdFtwaV0mJnRbMF09PT15dSk7fSxraTpmdW5jdGlvbih0LGUsaSxuKXt0aGlzLk9pKGksdCxndSl8fG4oZ3UseXUpO30sV2k6ZnVuY3Rpb24odCl7dHJ5e3JldHVybiB0W3F0XSYmMCE9PXRbcXRdfHx0aGlzLmNpLkcrMTUwPlpjLkcoKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LFJpOmZ1bmN0aW9uKCl7dGhpcy5XZT1bXTt9LFlpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQucWU7fSxVaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLldlO30sWmU6bXUsVGk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHx0aGlzLnFpKHQpKXtyZXR1cm4geXU7fWlmKCF0aGlzLm10LnFlW3BpXXx8dFthYStHcitHaV0obG8pPT09ZnUpe3JldHVybiBndTt9Zm9yKDtlPHRoaXMubXQucWVbcGldO2UrKylpZih0PT09dGhpcy5tdC5xZVtlXXx8dHlwZW9mIHRoaXMubXQucWVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5xZVtlXVtYcytHcitwcitHcituY10oKXx8WmMuSSh0LHRoaXMubXQucWVbZV0pKXx8WmMuQih0LHRoaXMubXQucWVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LHdlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueGUuUXQ7fSxMaTpmdW5jdGlvbigpe3ZhciB0LGU7ZT10aGlzO3RoaXMuWmU9WmMueihoYyx7c3R5bGU6b2MrVnQrRnIrSGErR3IrZXIrS2ErVnQrRnIrSGErR3IrZXIrRGErVnQrSXMrZXIrcCtWdCt6bitlcitIaStWdCt6bitlcitzbit3aStMK1Z0K25vK2VyK3h0K1Z0K1hpK2VyK0dyfSxHcik7dD1DbyhmdW5jdGlvbigpe3ZhciBpO2k9cmlbUXJdO2kmJihHcyh0KSxpW0l0K0dyK1dlXShlLlplKSk7fSwxMDApO30saGk6ZnVuY3Rpb24oKXt2YXIgTjksYTksWTksdCxlLGk7Tjk9LTUxNTA4MTc1NzthOT0tMTMwNjg1MTEzNztZOT0yO2Zvcih2YXIgczk9MTt3NS5kMShzOS50b1N0cmluZygpLHM5LnRvU3RyaW5nKCkubGVuZ3RoLDEwMDExKSE9PU45O3M5Kyspe1k5Kz0yO31pZih3NS5MMShZOS50b1N0cmluZygpLFk5LnRvU3RyaW5nKCkubGVuZ3RoLDQ1MzQ0KSE9PWE5KXt9aT10aGlzLlhlLm9pO2Zvcih0PTA7dDx0aGlzLmZpW3BpXSYmKCF0aGlzLnBpKCkmJiF0aGlzLl9pKCkpO3QrKyl7aWYoZT10aGlzLmZpW3RdLHRoaXMuWGUuc2krKyx0aGlzLlhlLm9pPVpjLkcoKSx0aGlzLmxpKGUpPT09eXUpe3JldHVybiB0aGlzLlhlLnNpLS0sdm9pZCh0aGlzLlhlLm9pPWkpO31pPXRoaXMuWGUub2k7ZXUuYShodSx0aGlzLlhlLm9pKTtlLnl0PT09bHUmJmV1LmEodXUsdGhpcy5YZS5zaSk7fX0sT2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBuLHIsbyxzO3c1Lm80KDQpO289dzUuYzQoR3IsVHQsR3IpO3c1Llk0KDIpO3M9dzUuYzQobyx0KTtmb3Iobj0wO248ZVtwaV07bisrKWlmKHI9KEdyK090K0dyK1R0K0dyKVtMK0dyK1dhXShlW25dWzBdKT4tMT9lW25dOm8rZVtuXSxzW2ZzXShzW3BpXS1yW3BpXSk9PT1yfHxpJiZyPT09d3Upe3JldHVybiBndTt9cmV0dXJuIHl1O30sZW46ZnVuY3Rpb24odCxlKXt2YXIgTDAsZDAsTzAsaSxuO0wwPTEyMjU5MjUxNjQ7ZDA9LTc2NDA0NzIyNjtPMD0yO2Zvcih2YXIgQzA9MTt3NS5MMShDMC50b1N0cmluZygpLEMwLnRvU3RyaW5nKCkubGVuZ3RoLDk4MzQ3KSE9PUwwO0MwKyspe08wKz0yO31pZih3NS5MMShPMC50b1N0cmluZygpLE8wLnRvU3RyaW5nKCkubGVuZ3RoLDg1NTk4KSE9PWQwKXt9aT10aGlzO249dGhpcy50bih0LGUpO3RoaXMuV2VbTXJdKG4pO3RoaXMuRGkobik7dGhpcy5pbnx8KEdjLkNpKCksZnVuY3Rpb24oKXt2YXIgdCxlO1hjLmImJigoZT1yaVtVcytHcitDbl0oaGMpKVtSYytHcitpdF0oVmEsZnVuY3Rpb24oKXtDdT1ndTt9KSxDdT1vNSx0PUNvKGZ1bmN0aW9uKCl7aWYoQ3U9eXUsIWkubXQuUmUpe2lmKHR5cGVvZiB5W3dzXSE9PWFyfHx0eXBlb2YgeVt3c11bT29dIT09WnMpe3JldHVybiBDdT1vNSx2b2lkIEdzKHQpO315W3dzXVtPb10oZSk7eVt3c11bTWldKCk7fX0sNTAwKSk7fSgpLHRoaXMuaW49bzUpO30sUGk6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuSmkoKSx0P3RoaXMuZmlbcGldOnRoaXMuZmlbcGldPjA7fSx2aTpmdW5jdGlvbigpe3ZhciB0LGU7dD1aYy5HKCk7ZT1aYy5HKGF1KTt3NS5ZNCgxNik7dGhpcy5YZS5yaT13NS5jNChlLHQsMzE1MzYwMDAwMDApO3RoaXMuWGUucmkmJih0aGlzLmxpPWt1KTt9LEJpOmZ1bmN0aW9uKCl7dmFyIHQ7dD1VYyhldS5jKGh1KSwxMCk7cWModCkmJih0PTApO3RoaXMuWGUub2k9dDt9LENlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMuTih0KTtyZXR1cm4gZSYmIXRoaXMubXQuTmUmJlpjLlModCk/eXU6ZTt9LGp0OmZ1bmN0aW9uKHQpe3ZhciBlLGksbjtlPXR5cGVvZiB0PT09Z2U/Z3U6ISF0O3c1Lm80KDIpO2k9dzUuYzQocnUsSSk7bj1yaVthYStHcitDbitHcitpaStHcit0bl0oaSk7ZT9ufHwobj1aYy56KERvLHtjb250ZW50OkljK3dpK2lhLG5hbWU6aWEsaWQ6aX0pLHJpW2FhK0dyK1JlK0dyK2lpK0dyK1JpK0dyK21jXShvKVswXVtJdCtHcitXZV0obikpOm4mJlpjLlAobik7fSxHaTpmdW5jdGlvbigpe3RoaXMuWGUuaWk9Z3U7dGhpcy5oaT1rdTt9LEp0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQuRGU7fSx5aTpmdW5jdGlvbih0LGUsaSxuLHIpe2Zvcih2YXIgbyxzPTA7czxlJiYobz10W3NdLCEoMT09PW4mJihyKGlbcytlXSx0W3NdKmlbc10rcysoaVtzXT4+cyszKSl8fHIoaVtzKzIqZV0sdFtzXSoodFswXSt0WzFdK3RbMl0pKyhpW3NdPDxzKSl8fHIoaVtzKzMqZV0sZHJbQWNdKHRbMF0qdFsxXSp0WzJdL28pK28rKGlbc10+PnMpKSl8fG48MSYmKHIoaVtzK2VdLHRbc10qaVtzXStzKXx8cihpW3MrMiplXSx0W3NdKih0WzBdK3RbMV0rdFsyXSkpfHxyKGlbcyszKmVdLGRyW0FjXSh0WzBdKnRbMV0qdFsyXS9vKStvKSkpKTtzKyspO30scWk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHwhdGhpcy5tdC5KZVtwaV0pe3JldHVybiB5dTt9Zm9yKDtlPHRoaXMubXQuSmVbcGldO2UrKylpZih0PT09dGhpcy5tdC5KZVtlXXx8dHlwZW9mIHRoaXMubXQuSmVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5KZVtlXXx8WmMuSSh0LHRoaXMubXQuSmVbZV0pKXx8WmMuQih0LHRoaXMubXQuSmVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LGNpOnt1aTp7fSxHOjB9LEhpOmZ1bmN0aW9uKCl7cmV0dXJuIFhjLm90P2RyW0JvXSh0aGlzLm10LlZlLDFlMyk6WGMuYnx8WGMuZ3x8WGMuY3R8fFhjLnV0JiYhWGMuZXQ/ZHJbQm9dKHRoaXMubXQuVmUsMjAwKTp0aGlzLm10LlZlO30sRWU6ZnVuY3Rpb24odCl7dmFyIGUsWjcsdDcsVTc7Wjc9LTEyNTc1NDEyNDI7dDc9MTMwMDY1ODcyMDtVNz0yO2Zvcih2YXIgejc9MTt3NS5MMSh6Ny50b1N0cmluZygpLHo3LnRvU3RyaW5nKCkubGVuZ3RoLDgzNTc3KSE9PVo3O3o3Kyspe2U9dHx8dGhpcy5jaS51aTtVNys9Mjt9aWYodzUuZDEoVTcudG9TdHJpbmcoKSxVNy50b1N0cmluZygpLmxlbmd0aCwzMDU1KSE9PXQ3KXtlPXQmJnRoaXMuY2kudWk7fXRyeXtlW01vK0dyK25pXSYmZVtNbytHcituaV0oKTtlW3FlK0dyK19zXSYmZVtxZStHcitfc10oKTt3NS5vNCg0KTtlW3c1LmM0KE5yLEdyLGNvKV09eXU7dzUubzQoNCk7ZVt3NS51NChtcyxHcixIcildPWd1O31jYXRjaCh0KXt9fSxpOmZ1bmN0aW9uKCl7dmFyIE8xLEcxLEMxO08xPS0xMzAyMzI0NTE3O0cxPTg4ODY0MDYzMDtDMT0yO2Zvcih2YXIgbjE9MTt3NS5kMShuMS50b1N0cmluZygpLG4xLnRvU3RyaW5nKCkubGVuZ3RoLDU5MTU1KSE9PU8xO24xKyspe3JldHVybiB0aGlzLm10LlVlfHx0aGlzLm10LkRlO0MxKz0yO31pZih3NS5MMShDMS50b1N0cmluZygpLEMxLnRvU3RyaW5nKCkubGVuZ3RoLDIzODAyKSE9PUcxKXtyZXR1cm4gdGhpcy5tdC5VZSYmdGhpcy5tdC5EZTt9fSxwaTpmdW5jdGlvbigpe3ZhciBoNyxpNyxMNztoNz0tMTUxMTEyMzE1NDtpNz0tMTY3MjAwNTI5NjtMNz0yO2Zvcih2YXIgTzc9MTt3NS5kMShPNy50b1N0cmluZygpLE83LnRvU3RyaW5nKCkubGVuZ3RoLDMyNTMzKSE9PWg3O083Kyspe3JldHVybiB0aGlzLiRpKCk8dGhpcy5tdC5IZTtMNys9Mjt9aWYodzUuTDEoTDcudG9TdHJpbmcoKSxMNy50b1N0cmluZygpLmxlbmd0aCwxOTk5KSE9PWk3KXtyZXR1cm4gdGhpcy4kaSgpPj10aGlzLm10LkhlO319LGdpOmZ1bmN0aW9uKHQsZSxpLG4scil7Zm9yKHZhciBvLHM9MDtzPGUmJihvPXRbc10sISgxPT09biYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzErKGlbc108PGlbc10lMTApLGlbZStzXSl8fHIob1trZStHcitucytHcitCaV0ob1twaV0tMSkqaVtzXSoyK3MrKGlbc10+PnMpLGlbMiplK3NdKXx8cihvW3BpXSppW3NdKjMrKGlbc108PHMpLGlbMyplK3NdKSl8fG48MSYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzEsaVtlK3NdKXx8cihvW2tlK0dyK25zK0dyK0JpXShvW3BpXS0xKSppW3NdKjIrcyxpWzIqZStzXSl8fHIob1twaV0qaVtzXSozLGlbMyplK3NdKSkpKTtzKyspO30sV2U6W10sdG46ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IFljKHRoaXMuV2VbcGldLHQsZSk7fSxBaTpmdW5jdGlvbih0KXt0aGlzLmNpLnVpPXQ7dGhpcy5jaS5HPVpjLkcoKTt9LGFpOltdLE1pOmZ1bmN0aW9uKHQpe3JldHVybiBudS5YdCh0KSx0aGlzO30sWmk6ZnVuY3Rpb24oKXtyZXR1cm4gWmMucChbW1RyLHRoaXMubXQuRGVdLFtvaSx0aGlzLm10LlVlXSxbd3QsdGhpcy5tdC5SZV0sW0xyK0dyK3plLHRoaXMubXQuT2VdLFtSbitHcitFbix0aGlzLm10Lk5lXSxbRHQsdGhpcy5tdC5IZV0sW2xjK0dyK2JhLHRoaXMubXQucWVdLFtSbitHcitiYSx0aGlzLm10LkplXSxbUW4sdGhpcy5tdC5WZV0sW3crR3IrVix0aGlzLm10LiRlXSxbdytHcitEbix0aGlzLm10LlFlXSxbcG4rR3IrdHIrR3IrTG4sdGhpcy5tdC5HZV0sW0JzK0dyK2wrR3IrU3MsdGhpcy5tdC4kdF0sW05zK0dyKyRyLHRoaXMubXQuWWVdLFtJYytHcitwYytHcitfaSx0aGlzLm10LmJlXSxbTHMrR3IrYnQsdGhpcy5tdC5LZV0sW0IrR3IrdmUrR3IrX28rR3IreW4rR3IrTG4sdGhpcy5tdC5QZV1dKTt9LFRlOmZ1bmN0aW9uKHQpe3ZhciBlLGk7aT1aYy5PKGd1KTtyZXR1cm4gZT1pW3RvK0dyK3lhXVttcl1bVXMrR3IrQ25dKGRlKSwwPT09eVtFaV1bdW5dW0wrR3IrV2FdKGorVnQrR3IpP2VbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPUdyKyhXcitZZStHcit3bitHcikrKGYrVHQrUytUdCthYStHcitaZStHcitRaStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKTplW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoV3IrWWUrR3Ird24rR3IpKyhZcitUdCtjYStHcitfZStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSxpW3RvK0dyK3lhXVttcl1bUXJdW0l0K0dyK1dlXShlKSx0eXBlb2YgdCE9PVd0JiZ0eXBlb2YgdCE9PWdlfHxpbyhmdW5jdGlvbigpe1pjLlAoaSk7fSx0fHw1MDApLGk7fSxOaTpmdW5jdGlvbigpe3ZhciBvMSx3MSxwMTtvMT0tMjExMjgyOTI0MDt3MT00MjIxODMwODI7cDE9Mjtmb3IodmFyIHEwPTE7dzUuZDEocTAudG9TdHJpbmcoKSxxMC50b1N0cmluZygpLmxlbmd0aCwzNTgxNCkhPT1vMTtxMCsrKXtmb3IodmFyIHQsZT02O2U8PXRoaXMuV2VbcGldO2UtLSl7dD10aGlzLldlW2VdO3R1LnUodC5tdC5idCk7fXRoaXMuWGUub2k9dGhpcy5YZS5zaT00O2V1LnUodXUpO2V1LnUoY3UpO2V1LnUoaHUpO3AxKz0yO31pZih3NS5MMShwMS50b1N0cmluZygpLHAxLnRvU3RyaW5nKCkubGVuZ3RoLDUxMjkxKSE9PXcxKXtmb3IodmFyIHQsZT0yO2U8dGhpcy5XZVtwaV07ZSsrKXt0PXRoaXMuV2VbZV07dHUudSh0Lm10LmJ0KTt9dGhpcy5YZS5vaT10aGlzLlhlLnNpPTM7ZXUudSh1dSk7ZXUudShjdSk7ZXUudShodSk7fWZvcih2YXIgdCxlPTA7ZTx0aGlzLldlW3BpXTtlKyspe3Q9dGhpcy5XZVtlXTt0dS51KHQubXQuYnQpO310aGlzLlhlLm9pPXRoaXMuWGUuc2k9MDtldS51KHV1KTtldS51KGN1KTtldS51KGh1KTt9LHppOmZ1bmN0aW9uKCl7dmFyIHQ7dD0wO3JldHVybiBldS5zKCk/KHQ9ZXUuYyh1dSksZXUudSh1dSkpOnR1LmModXUpJiYocmlbaWFdPT09UnRbdW5dfHx+UnRbdW5dW0wrR3IrV2FdKEdyK3NlK0dyK3R1LmMoY3UpKSkmJih0PXR1LmModXUpLGlvKGZ1bmN0aW9uKCl7dHUudSh1dSk7dHUudShjdSk7fSwzMDApKSx0PVVjKHQsMTApLHQ9cWModCk/MDp0LHRoaXMuWGUuc2k9dDt9LG10OntOZTpndSxLZTp5dSxKZTpbXSxWZTowLCR0OmJ1LCRlOltdLERlOnl1LE9lOkZ1LEhlOjk5OTksUmU6eXUscWU6W10sWWU6MTAsVWU6eXUsUWU6Z3UsUGU6eXUsYmU6eXUsR2U6Z3V9LCRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuWGUuc2k7fSxRaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLlhlLm9pO30sYmk6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhLGMsdSxuOSxGOSxnOTtzPXRoaXM7YT0wO2M9dGhpcy5YZTt1PWZ1bmN0aW9uKHQsZSl7dmFyIFA5LEo5LFg5O1A5PTMyNTI1NjI2O0o5PS05NTA1MjQwNDM7WDk9Mjtmb3IodmFyIFM5PTE7dzUuTDEoUzkudG9TdHJpbmcoKSxTOS50b1N0cmluZygpLmxlbmd0aCw0ODQ5MykhPT1QOTtTOSsrKXtyZXR1cm4gdD09PWV8fChjLm5pPWd1LHMubGk9a3UpLHQhPWU7WDkrPTI7fWlmKHc1LkwxKFg5LnRvU3RyaW5nKCksWDkudG9TdHJpbmcoKS5sZW5ndGgsNTM4MDApIT09Sjkpe3JldHVybiB0IT09ZSYmKGMubmk9Z3Uscy5saT1rdSksdCE9PWU7fX07aWYodHlwZW9mIHlbcnVdW2FyXSE9PWdlKXtjLm5pPW11O3Q9eVtydV1bYXJdW1huXSgpO2U9eVtydV1bYXJdW1huXSgpO2k9eVtydV1bYXJdW1huXSgpO249eVtydV1bYXJdW1huXSgpO3I9WmMuRigoeVtydV1bYXJdW1huXSgpfHx7c3JjOm51bGx9KVtYcl0pO289WmMuRih4dVtYcl0pO3RyeXtuOT0xNDUwNjEyMjI1O0Y5PS01NjY0Nzc2Nzc7Zzk9Mjtmb3IodmFyIFI5PTE7dzUuZDEoUjkudG9TdHJpbmcoKSxSOS50b1N0cmluZygpLmxlbmd0aCwyODY5NSkhPT1uOTtSOSsrKXthPXlbcnVdW2FyXVtYbl0oKSYmNztnOSs9Mjt9aWYodzUuZDEoZzkudG9TdHJpbmcoKSxnOS50b1N0cmluZygpLmxlbmd0aCwzODQzOCkhPT1GOSl7YT15W3J1XVthcl1bWG5dKCkmJjc7fWE9eVtydV1bYXJdW1huXSgpfHwwO31jYXRjaCh0KXt9YT1kcltCb10oMCxkcltrYV0oMSxhKSk7dGhpcy5taSh0LG8scix1KTt0aGlzLmdpKHQsdFtwaV0sZSxhLHUpO3RoaXMueWkoaSxpW3BpXSxuLGEsdSk7dGhpcy5raSh0LHRbcGldLFpjLkYoKSx1LHUpO3RoaXMud2koaSxaYy5HKCkpO2Mubmk9PT1tdSYmKGMubmk9eXUpO31jLnhpPWF8fDA7fSxFaTpmdW5jdGlvbih0LGUpe3ZhciBkOSxPOSxHOTtkOT04MzA2MTMyMTE7Tzk9MTQwNDM5MjY4MztHOT0yO2Zvcih2YXIgazk9MTt3NS5kMShrOS50b1N0cmluZygpLGs5LnRvU3RyaW5nKCkubGVuZ3RoLDE2MDEwKSE9PWQ5O2s5Kyspe3RoaXMueGUuUXQ9dDt0aGlzLnhlLlM9ZTtHOSs9Mjt9aWYodzUuZDEoRzkudG9TdHJpbmcoKSxHOS50b1N0cmluZygpLmxlbmd0aCw3Njg2OSkhPT1POSl7dGhpcy54ZS5RdD10O3RoaXMueGUuUz1lO319LFhpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbix1OSx5OSxIOTtuPXR8fHt9O2ZvcihlIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixlKSlzd2l0Y2godGhpcy5tdFtlXT1pPW5bZV0sZSl7Y2FzZSBUcjp0aGlzLm10LkRlPWk7YnJlYWs7Y2FzZSBvaTp0aGlzLm10LlVlPWk7YnJlYWs7Y2FzZSB3dDp0aGlzLm10LlJlPWk7YnJlYWs7Y2FzZSBMcitHcit6ZTp0aGlzLm10Lk9lPWk7YnJlYWs7Y2FzZSBSbitHcitFbjp0aGlzLm10Lk5lPWk7YnJlYWs7Y2FzZSBEdDp0aGlzLm10LkhlPWk7YnJlYWs7Y2FzZSBsYytHcitiYTp0aGlzLnFlW29hXSh0aGlzLGkpO2JyZWFrO2Nhc2UgUm4rR3IrYmE6dGhpcy5KZVtvYV0odGhpcyxpKTticmVhaztjYXNlIFFuOnRoaXMubXQuVmU9aTticmVhaztjYXNlIHcrR3IrVjp0aGlzLm10LiRlPWk7YnJlYWs7Y2FzZSB3K0dyK0RuOnRoaXMubXQuUWU9aTticmVhaztjYXNlIHBuK0dyK3RyK0dyK0xuOnRoaXMubXQuR2U9aTticmVhaztjYXNlIEJzK0dyK2wrR3IrU3M6dGhpcy5tdC4kdD1pO2JyZWFrO2Nhc2UgTnMrR3IrJHI6dGhpcy5tdC5ZZT1pO2JyZWFrO2Nhc2UgSWMrR3IrcGMrR3IrX2k6dGhpcy5tdC5iZT1pO2JyZWFrO2Nhc2UgTHMrR3IrYnQ6dGhpcy5tdC5LZT1pO2JyZWFrO2Nhc2UgQitHcit2ZStHcitfbytHcit5bitHcitMbjp0aGlzLm10LlBlPWk7fXU5PTE1MDY0OTg2ODA7eTk9NjExNzc3ODY1O0g5PTI7Zm9yKHZhciBUOT0xO3c1LkwxKFQ5LnRvU3RyaW5nKCksVDkudG9TdHJpbmcoKS5sZW5ndGgsNjMyMykhPT11OTtUOSsrKXtyZXR1cm4gdGhpcztIOSs9Mjt9aWYodzUuZDEoSDkudG9TdHJpbmcoKSxIOS50b1N0cmluZygpLmxlbmd0aCw2MzczOSkhPT15OSl7cmV0dXJuIHRoaXM7fX0saGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksZzcsTTcsUjc7Zzc9LTM5MDQ0MjA2O003PS0xNjI0Njc4MzI1O1I3PTI7Zm9yKHZhciBKNz0xO3c1LkwxKEo3LnRvU3RyaW5nKCksSjcudG9TdHJpbmcoKS5sZW5ndGgsNTI1MzkpIT09Zzc7SjcrKyl7ZT10aGlzLndlKCk7aT10aGlzLmNpLnVpO1I3Kz0yO31pZih3NS5MMShSNy50b1N0cmluZygpLFI3LnRvU3RyaW5nKCkubGVuZ3RoLDg0NzUzKSE9PU03KXtlPXRoaXMud2UoKTtpPXRoaXMuY2kudWk7fXRyeXsodD1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0oZ3MsZ3UsZ3UseSwxLGlbT2krR3IrVWVdLGlbT2krR3IreG9dLGlbSGMrR3IrVWVdLGlbSGMrR3IreG9dLHl1LHl1LHl1LHl1LDAsbXUpO3RbVW9dPWd1O2VbZ24rR3IrQ2FdKHQpO31jYXRjaCh0KXtLYy5lKHQpO319LFZpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuUGkobzUpO30sU2k6ZnVuY3Rpb24oKXt2YXIgdCxpLG4scixvLHM7cj10aGlzO289NTAwO3M9ZnVuY3Rpb24odCxlKXt2YXIgaSxuO249WGMuYj9lYzpnczsoaT1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0obixndSxndSx5LDEsZVtPaStHcitVZV0sZVtPaStHcit4b10sZVtIYytHcitVZV0sZVtIYytHcit4b10seXUseXUseXUseXUsMCxtdSk7aS5mYz1ndTt0W2duK0dyK0NhXShpKTt9O2l1LlgocmksJHQsZnVuY3Rpb24ocil7dmFyIG8sRjEsZzEsTTE7dzUubzQoNCk7bz1yW3c1LnU0KHNyLEdyLGUpXVswXTtGMT05NTkwNTM3NzY7ZzE9LTE3NzY2NDMwNTc7TTE9Mjtmb3IodmFyIFAxPTE7dzUuZDEoUDEudG9TdHJpbmcoKSxQMS50b1N0cmluZygpLmxlbmd0aCw4NTkzNCkhPT1GMTtQMSsrKXt3NS5vNCgxOCk7dD1yW3c1LnU0KG9zLEpzLEdyKV07dzUuWTQoMTkpO2k9b1t3NS51NChHcixmbyxVZSldO3c1Lm80KDIwKTtuPW9bdzUuYzQoeG8sZm8sR3IpXTtNMSs9Mjt9aWYodzUuTDEoTTEudG9TdHJpbmcoKSxNMS50b1N0cmluZygpLmxlbmd0aCwxMTM5OCkhPT1nMSl7dzUubzQoMjEpO3Q9clt3NS5jNChvcyxKcyxHcildO3c1Llk0KDIyKTtpPW9bdzUuYzQoR3IsVWUsZm8pXTt3NS5vNCg2KTtuPW9bdzUuYzQoR3IseG8sZm8pXTt9dzUubzQoNCk7dD1yW3c1LnU0KG9zLEdyLEpzKV07dzUuWTQoNCk7aT1vW3c1LmM0KGZvLEdyLFVlKV07dzUubzQoNCk7bj1vW3c1LnU0KGZvLEdyLHhvKV07fSxndSk7aXUuWChyaSx2LGZ1bmN0aW9uKGEpe3ZhciBjLHUsaCxTMCxOMCxhMDtTMD0xMTI5ODE1NDEyO04wPS00NTk2NDE3MTE7YTA9Mjtmb3IodmFyIGYwPTE7dzUuZDEoZjAudG9TdHJpbmcoKSxmMC50b1N0cmluZygpLmxlbmd0aCw5MDQxMCkhPT1TMDtmMCsrKXt3NS5vNCg0KTtjPWFbdzUuYzQoc3IsR3IsZSldWzBdO3U9aXUudHQoYSk7aD1yLm10LlllO2EwKz0yO31pZih3NS5MMShhMC50b1N0cmluZygpLGEwLnRvU3RyaW5nKCkubGVuZ3RoLDUxODk1KSE9PU4wKXt3NS5ZNCg2KTtjPWFbdzUudTQoR3IsZSxzcildWzRdO3U9aXUudHQoYSk7aD1yLm10LlllO31kcltGc10oY1tmbytHcitVZV0taSk+PWh8fGRyW0ZzXShjW2ZvK0dyK3hvXS1uKT49aHx8YVtvcytHcitKc10tdD5vfHxyLm10LlllPD0wfHxYYy5odCYmRGlbaXJdKHVbU2MrR3IrbWNdKXx8ci5YZS5paXx8ci5YZS5uaXx8ci5YZS5yaXx8ci5waSgpfHxyLl9pKCl8fCFyLlBpKCl8fCFyLlRpKHUpfHwhci5tdC5OZSYmWmMuUyh1KXx8KHVbU2MrR3IrbWNdPT09T24mJnIuRWUoYSkscyh1LGMpKTt9LGd1KTt9LG1pOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByLG87bz15dTtmb3Iocj0wO3I8dFtwaV07cisrKWlmKHRbcl09PT13dSl7bz1ndTticmVhazt9byYmKGV8fGkpJiYoIXRoaXMuT2koZSx0KXx8IXRoaXMuT2koaSx0KXx8eVtydV1bdW5dJiZ5W3J1XVt1bl1bcGldJiYhdGhpcy5PaShaYy5GKCkseVtydV1bdW5dKSkmJm4oZ3UseXUpO30seGU6e1F0Om11LFM6eXV9LHFlOmZ1bmN0aW9uKCl7dmFyIHQ7dD1aYy54KGFyZ3VtZW50c1swXSk/YXJndW1lbnRzWzBdOmFyZ3VtZW50cztyZXR1cm4gdGhpcy5ubih0LGxjLHRbcGldJiZ0WzBdPT09eXUpO30sd2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBXMSxsMSxjMTtXMT0xMTQ2NjMzOTY5O2wxPTU4MTgzMzU3NjtjMT0yO2Zvcih2YXIgdTE9MTt3NS5kMSh1MS50b1N0cmluZygpLHUxLnRvU3RyaW5nKCkubGVuZ3RoLDY5ODkxKSE9PVcxO3UxKyspe1pjLkcodFtOaV0oR3IrUGUrR3IpKTxlJiZpKGd1LHl1KTtjMSs9Mjt9aWYodzUuZDEoYzEudG9TdHJpbmcoKSxjMS50b1N0cmluZygpLmxlbmd0aCw0ODMyNikhPT1sMSl7WmMuRyh0W05pXShHciVQZSVHcikpPj1lfHxpKGd1LHl1KTt9fSxDaTpmdW5jdGlvbigpe3ZhciByLG8scyxhLGMsdSxoLGYscCxfO2Z1bmN0aW9uIHQoKXt2YXIgdCxlO3c1Lm80KDE3KTtlPVt3NS51NChIbixUdCxHcixFbixHcixDYSxKYSksdzUuYzQoeG4sVHQsR3IsRW4sR3IsQ2EsSmEsdzUubzQoMTcpKSx3NS5jNChKYSxUdCxRYSx3NS5ZNCg0KSksdzUuYzQoQ24sR3IsVXMsbXIsVHQsdzUubzQoMSkpLHc1LnU0KFdlLEdyLHhuLG1yLFR0LHc1Llk0KDEpKV07Zm9yKHQ9MDt0PGVbcGldO3QrKylpZihaYy5sKGVbdF0pKXtyZXR1cm4gS2MuZSh0LFpjLmwoZVt0XSkpLGd1O31yZXR1cm4geXU7fWZ1bmN0aW9uIGkoaSl7dT0yO198fChfPWd1LGlvKGZ1bmN0aW9uKCl7Xz15dTt9LFhjLm90PzUwMDoxNTApLEN1JiYhcC5VZXx8KHI9aXUudHQoaSksbz1aYy5CKHIsT24pLGM9WmMuUyhyKSxyW2FhK0dyK0dpXShsbyk9PT1mdT8oclt4ZV1beHRdPVhpLFpjLlAocikscj1pdS50dChpLGd1KSk6byYmKHM9KHI9bylbYWErR3IrR2ldKFRpKSxhPVpjLk4ociksYz1aYy5TKHIpKSxmLkVpKHIsYyksZi5YZS5paXx8Zi5YZS5uaXx8Zi5YZS5yaXx8aVtVb118fGUoZi5jaS51aVtPXSYmZi5jaS51aVtPXSE9PWlbT10pfHxlKHAuS2UmJiFFdSl8fGUoIWlbSGMrR3IrVWVdJiYhaVtIYytHcit4b10pfHxlKCFYYy5vdCYmIVhjLmcmJnR5cGVvZiBpW3F0XSE9PWdlJiYwIT09aVtxdF0pfHxlKCFYYy5vdCYmIWYuWmUmJihYYy5jdHx8WGMuYnx8WGMudXQpKXx8ZSghWGMub3QmJiFwLkdlJiYoWGMuYnx8WGMudXQpJiZzPT09RmkpfHxlKGYucGkoKSl8fGUoZi5faSgpKXx8ZSghZi5QaSgpKXx8ZSghZi5UaShyKSl8fGUoYyYmIXAuTmUpfHxlKCFwLlJlJiZ0KCkpfHwoZi5BaShpKSxYYy5ldCYmbyYmYSYmZi5FZShpKSxYYy5vdHx8IW98fGN8fChYYy5iJiZzIT09RmkmJlpjLlkoKXx8cC5HZSYmcz09PUZpJiYoWGMuYnx8WGMudXQpKSYmZi5FZShpKSxmLkZpPW11LGYuaGkoKSkpKTt9Zj10aGlzO3A9Zi5tdDtfPXl1O2Z1bmN0aW9uIGUodCl7cmV0dXJuKyt1LHQmJktjLmUodSksdDt9cC5SZXx8IXQoKT8oaD1YYy5kfHxYYy5nP3FhOmVjLGZ1bmN0aW9uKCl7aXUuWChyaSxncyxpLGd1KTtYYy5vdD8oaXUuWChyaSxlYyxuLGd1KSxpdS5YKHJpLHFhLG4sZ3UpKTppdS5YKHJpLGgsbixndSk7fSgpLHRoaXMuU2koKSx0aGlzLmppKCksdGhpcy5MaSgpLHRoaXMuemkoKSx0aGlzLkJpKCkpOktjLmUoeXUpO2Z1bmN0aW9uIG4odCl7cj1vPWM9cz1hPW11OyFYYy5vdCYmdFtIYytHcitVZV0rKFhjLm50PzE3OjE1KT55W1BhK0dyK2ddP3AuUWUmJigocj17fSkuc2Nyb2xsYmFyPWd1LGYuRWkocix5dSksZi5waSgpfHxmLl9pKCl8fCFmLlBpKCl8fGYuaGkoKSk6aSh0KTt9fSxsaTpmdW5jdGlvbih0KXtpZih0aGlzLlhlLmlpfHx0aGlzLlhlLm5pfHx0aGlzLlhlLnJpKXtyZXR1cm4geXU7fXN3aXRjaCh0Lnl0KXtjYXNlIF91Om5ldyBRYy5tZSh0KS5wZSgpO2JyZWFrO2Nhc2UgZHU6bmV3IFFjLmdlKHQpLnBlKCk7YnJlYWs7Y2FzZSBsdTpuZXcgUWMueWUodCkucGUoKTticmVhaztjYXNlIHB1OnRyeXtuZXcoUWMuZHQoKSkodCkucGUoKTt9Y2F0Y2godCl7S2MuZSh0KTt9fXJldHVybiB0LnF0KCksZ3U7fSxqaTpmdW5jdGlvbigpe3ZhciB0LGUsaSxuLHIsbztuPXRoaXM7cj17fTtvPWZ1bmN0aW9uKHQpe2ZvcihlPTA7ZTx0W3BpXTtlKyspe24uTWkodFtlXSk7fX07Q28oZnVuY3Rpb24oKXt2YXIgZTtmb3IodD0wO3Q8bi5tdC4kZVtwaV07dCsrKXtpZihlPW4ubXQuJGVbdF0sKGk9cmlbYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGUpKVtwaV0mJm4ucGkoKXx8IW4uUGkoKSl7cmV0dXJuO310eXBlb2YgcltlXSE9PWdlJiZyW2VdPT09aVtwaV18fG8oaSk7fX0sMWUzKTt9LElpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbixyLG8scyxlOSxqOSxaOTtvPTI7cz15dTtmb3IoZT0wO2U8PW87ZSsrKXtpZigobj1yaVt3citHcitqbitHcitMY10odFtIYytHcitVZV0rZSx0W0hjK0dyK3hvXSkpJiZuW1NjK0dyK21jXT09PXBhK0dyK09uK0dyK0ZjK0dyK1BzK0dyK3BhKXtzPWd1O2JyZWFrO31mb3IoaT0wO2k8PW87aSsrKWlmKChuPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXStlLHRbSGMrR3IreG9dK2kpKSYmbltTYytHcittY109PT1wYStHcitPbitHcitGYytHcitQcytHcitwYSl7cz1ndTticmVhazt9aWYocylicmVhazt9aWYocylmb3Iocz15dSxyPW5bYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGVpKSxlPTA7ZTxyW3BpXTtlKyspaWYoWmMuVShyW2VdKSl7cz1ndTticmVhazt9ZTk9MTI0NjQ2Mzc5O2o5PTE4ODY4MTA5NztaOT0yO2Zvcih2YXIgVTk9MTt3NS5MMShVOS50b1N0cmluZygpLFU5LnRvU3RyaW5nKCkubGVuZ3RoLDU5MDM1KSE9PWU5O1U5Kyspe3JldHVybiBzP246eXU7WjkrPTI7fWlmKHc1LmQxKFo5LnRvU3RyaW5nKCksWjkudG9TdHJpbmcoKS5sZW5ndGgsNDQ5MzkpIT09ajkpe3JldHVybiBzP246eXU7fX0sRGk6ZnVuY3Rpb24oKXtpZighdGhpcy5YZS5laSl7dGhpcy5YZS5laT1ndTt0cnl7dGhpcy52aSgpO3RoaXMuYmkoKTt9Y2F0Y2godCl7fUtjLmUoW3RoaXMuWGUubmk/MDoxLHRoaXMuWGUucmk/MDoxLHRoaXMuWGUueGldW05pXShHcikpO319LFhlOnt0aTp5dSxuaTpndSxlaTp5dSxvaTowLHJpOmd1LHNpOjAsaWk6eXV9LG5uOmZ1bmN0aW9uKHQsZSxpKXtmb3IodmFyIG4scj0wLG89ZT09PVJuP3RoaXMubXQuSmU6dGhpcy5tdC5xZTtpJiZvW3BpXTspe29bQnNdKCk7fWZvcig7cjx0W3BpXTtyKyspe3R5cGVvZihuPXRbcl0pPT09VGM/b1tNcl0obik6dHlwZW9mIG49PT1hciYmdHlwZW9mIG5bd2ErR3IrbWNdPT09VGMmJm9bTXJdKG4pO31yZXR1cm4gdGhpczt9LEppOmZ1bmN0aW9uKCl7dmFyIHkxLEgxLHYxLHQsZTt5MT0xNzAzNzYyNDUyO0gxPTEyMTk1OTkwMzk7djE9Mjtmb3IodmFyIEUxPTE7dzUuZDEoRTEudG9TdHJpbmcoKSxFMS50b1N0cmluZygpLmxlbmd0aCwzODk3NykhPT15MTtFMSsrKXtlPTY7Zm9yKHRoaXMuZmk9W107ZT49dGhpcy5XZVtwaV07ZS0tKXsodD10aGlzLldlW2VdKS5MdCgpfHx0aGlzLmZpW01yXSh0KTt9djErPTI7fWlmKHc1LmQxKHYxLnRvU3RyaW5nKCksdjEudG9TdHJpbmcoKS5sZW5ndGgsMjE2MzkpIT09SDEpe2U9MTtmb3IodGhpcy5maT1bXTtlPnRoaXMuV2VbcGldO2UrKyl7KHQ9dGhpcy5XZVtlXSkuTHQoKSYmdGhpcy5maVtNcl0odCk7fX1lPTA7Zm9yKHRoaXMuZmk9W107ZTx0aGlzLldlW3BpXTtlKyspeyh0PXRoaXMuV2VbZV0pLkx0KCkmJnRoaXMuZmlbTXJdKHQpO31yZXR1cm4gdGhpcy5maTt9LGRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2kudWk7fX07aXUuWCh5LFN0LGZ1bmN0aW9uKCl7dmFyIFg3LEI3LFM3O1g3PTIwMTA5MDA5MDY7Qjc9LTE2OTQwNjQ1NTI7Uzc9Mjtmb3IodmFyIGE3PTE7dzUuTDEoYTcudG9TdHJpbmcoKSxhNy50b1N0cmluZygpLmxlbmd0aCwxNDk3OSkhPT1YNzthNysrKXtFdT0hMTtTNys9Mjt9aWYodzUuZDEoUzcudG9TdHJpbmcoKSxTNy50b1N0cmluZygpLmxlbmd0aCw2MjI0OCkhPT1CNyl7RXU9IXt9O31FdT1vNTt9KTtpbyhmdW5jdGlvbigpe3c1Lm80KDE1KTtLYy5lKHc1LnU0KFNpLFllLEdyLFR0LFllLE0sR3IsWWUsUWUsT3QsQW8pKTt3NS5vNCg0KTtLYy5lKHc1LmM0KHhhLFZ0LEdyKSxvdSk7dzUuWTQoNCk7S2MuZSh3NS5jNChxaSxWdCxHciksc3UpO3c1Lm80KDQpO0tjLmUodzUudTQoRXMsVnQsR3IpLGF1KTt9LDEwKTt5W3J1XT15W3J1XXx8ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG87cj17fTtvPVpjLnAoW1trbytHcitSYStHcitudCxbR2MsR2MuaV1dLFtKbixzdV0sW0d0LG91XSxbWW8rR3IraXMsYXVdLFt6YSxbR2MsR2MuWGkscl1dLFthYStHcitJaSxbR2MsR2MuWmldXSxbYWErR3IrUStHcitiYSxbR2MsR2MuWWldXSxbYWErR3IrX28rR3IrYmEsW0djLEdjLktpXV0sW3crR3IrQ24sW0djLEdjLk1pXV0sW0huLFtHYyxHYy5lbixyXV0sW0duLFtHYyxHYy5oaSxyXV0sW2VzLFtHYyxHYy5HaSxyXV0sW2xjK0dyK2JhLFtHYyxHYy5xZSxyXV0sW1JuK0dyK2JhLFtHYyxHYy5KZSxyXV0sW2FhK0dyK2h0K0dyK0NuLFtHYyxHYy53ZV1dLFthYStHcitubitHcitabyxbR2MsR2MuJGldXSxbYWErR3IreWUrR3IrWm8sW0djLEdjLlZpXV0sW0JhK0dyK3llLFtHYyxHYy5QaV1dLFtrbytHcitkdCtHcitKZSxbR2MsR2MucGldXSxbYWErR3IrVXQrR3IramUrR3IrQmksW0djLEdjLlFpXV0sW2FhK0dyK1V0K0dyK0NhLFtHYyxHYy5kaV1dLFt6aSxbR2MsR2MuTmldXSxbYWErR3IrXyxbR2MsR2MuVWldXSxbRm8rR3IrXyxbR2MsR2MuUmldXSxbaGErVHQrT28sW0tjLEtjLmVdXSxbaGErVHQrRyxbS2MsS2Mucl1dLFtPYStUdCtsaSxbdHUsdHUuYV1dLFtPYStUdCthYSxbdHUsdHUuY11dLFtPYStUdCt4bixbdHUsdHUudV1dLFt0aStUdCtrbytHcitkaSxbZXUsZXUuc11dLFt0aStUdCtsaSxbZXUsZXUuYV1dLFt0aStUdCthYSxbZXUsZXUuY11dLFt0aStUdCt4bixbZXUsZXUudV1dLFtjZStUdCtKbixYYy5wdF0sW2NlK1R0K0lyK0dyK3FpLFhjLmZ0XSxbY2UrVHQra28rR3IrQ3MsWGMuaXRdLFtjZStUdCtrbytHcitYbyxYYy5udF0sW2NlK1R0K2tvK0dyK01hLFhjLm1dLFtjZStUdCtrbytHcit2YStHcitmYytHcit0YyxYYy5ldF0sW2NlK1R0K2tvK0dyK0JuLFhjLnJ0XSxbY2UrVHQra28rR3Irdm4sWGMub3RdLFtjZStUdCtrbytHcitoZSxYYy5zdF0sW2NlK1R0K2tvK0dyK3l0LFhjLmF0XSxbY2UrVHQra28rR3IrZ2MsWGMuYl0sW2NlK1R0K2tvK0dyK0luLFhjLmRdLFtjZStUdCtrbytHcitGYSxYYy5odF0sW2NlK1R0K2tvK0dyK3ZhK0dyK1BzLFhjLmddLFtjZStUdCtrbytHcitjcyxYYy5jdF0sW2NlK1R0K2tvK0dyK0VvLFhjLnV0XSxbY2UrVHQrSm4rR3IrdXQsW1hjLFhjLkpdXSxbY2UrVHQrYW8rR3IrZGksW1hjLFhjLmx0XV0sW0NhK1R0K2xjK0dyK3FzLFtpdSxpdS5LXV0sW0NhK1R0K2xjLFtpdSxpdS5YXV0sW0NhK1R0K2xhLFtpdSxpdS5aXV0sW0NhK1R0K2FhK0dyK3luLFtpdSxpdS50dF1dLFtLZStUdCtrbytHcit2ZStHciskZSxbWmMsWmMud11dLFtLZStUdCtKbitHcit1dCxbWmMsWmMuSl1dLFtLZStUdCtvcyxbWmMsWmMuR11dLFtLZStUdCt3byxbWmMsWmMueV1dLFtLZStUdCtKaSxbWmMsWmMuJF1dLFtLZStUdCtVcytHcitDbixbWmMsWmMuel1dLFtLZStUdCt4bitHcitDbixbWmMsWmMuUF1dLFtLZStUdCthYStHcitVaSxbWmMsWmMuQl1dLFtLZStUdCtEZStHcitZaSxbWmMsWmMuSF1dXSk7Zm9yKGUgaW4gbylpZih5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShvLGUpKXtmb3Iobj1lW0NyXShHcitUdCtHciksdD1yLGk9MDtpPG5bcGldLTE7aSsrKXt0eXBlb2YgdFtuW2ldXT09PWdlJiYodFtuW2ldXT17fSk7dD10W25baV1dO310W25bbltwaV0tMV1dPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIFpjLngodFtlXSk/MT09PXRbZV1bcGldP3RbZV1bMF06ZnVuY3Rpb24oKXtyZXR1cm4gMj09PXRbZV1bcGldP3RbZV1bMV1bb2FdKHRbZV1bMF0sYXJndW1lbnRzKToodFtlXVsxXVtvYV0odFtlXVswXSxhcmd1bWVudHMpLHRbZV1bMl0pO306dFtlXTt9KG8sZSk7fXJldHVybiByO30oKTt9KHQucG9wbnN8fHpjK0dyK1VjK0dyK09jLHQsdFtFaV0sdFtPaV0sdFttcl0sdFtyb10sdFtibl0sdFtObl0sdFtDb10sdFtyaStHcitpb10sdFtsaStHcitZaV0sdFtNaStHcitZaV0sdFtsaStHcitBaV0sdFtNaStHcitBaV0sdFtMdCtHcit0YytHcitmYytHcitndF0sdFt5K0dyK1J0XSx0W2tvK0dyK3lpK0dyK2d0XSx0W2lzXSx0W1hlK0dyK1ZyK0dyK0dzK0dyK3ZhK0dyK1VyXSx0W2RyXSk7fSh3aW5kb3cpO2Y1eXkuSD1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC55PT09J2Z1bmN0aW9uJz9mNXl5LkwueS5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwueTt9O2Y1eXkuVz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Y1eXkuZz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC5PPT09J2Z1bmN0aW9uJz9mNXl5LkwuTy5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwuTzt9O2Y1eXkuZj1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Z1bmN0aW9uIGY1eXkoKXt9ZjV5eS5CPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5MLnk9PT0nZnVuY3Rpb24nP2Y1eXkuTC55LmFwcGx5KGY1eXkuTCxhcmd1bWVudHMpOmY1eXkuTC55O307ZjV5eS5SPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5JPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5MPWZ1bmN0aW9uKEQpe3JldHVybnt5OmZ1bmN0aW9uKCl7dmFyIEcsZD1hcmd1bWVudHM7c3dpdGNoKEQpe2Nhc2UgMjpHPWRbMF0qZFsxXTticmVhaztjYXNlIDA6Rz1kWzBdfGRbMV07YnJlYWs7Y2FzZSAxOkc9ZFsxXS1kWzBdO2JyZWFrO31yZXR1cm4gRzt9LE86ZnVuY3Rpb24oVil7RD1WO319O30oKTtmNXl5Lno9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiBmNXl5LkwuTz09PSdmdW5jdGlvbic/ZjV5eS5MLk8uYXBwbHkoZjV5eS5MLGFyZ3VtZW50cyk6ZjV5eS5MLk87fTtmNXl5LkM9ZnVuY3Rpb24oKXt2YXIgUT0yO3doaWxlKFEhPT0xKXtzd2l0Y2goUSl7Y2FzZSAyOnJldHVybnt2OmZ1bmN0aW9uKFUpe3ZhciBiPTI7d2hpbGUoYiE9PTE0KXtzd2l0Y2goYil7Y2FzZSAyOnZhciBLPScnLGw9ZGVjb2RlVVJJKCJ0JTExa2JsYyU3RCUwNmhiZGxtbDYhJTNDJTNDKyU1QmNkLTo1JTVENyg4Jy8lNUJ3LzI4bWolM0M4KTA3YiolMUMyJTI1bSUwN3ElN0RvYmslMTh3JTdDc2RtaDcpKSUyMipaMmQlMTgtNUErKS5vbXMlMTUlMjUlM0UwKyU1QiUzQyUxMXUlMjA2TXk/KScsSy1kJTNFOSxLMi00OyUyMCUwNjojMCU3RDUlNUM6IzMya0s2IXU5Kks4JTIwNTo2JTVDcSUxRiUzRScsWC1sMCUyMDYlNUN5Ljh1KUc4KDgxZUolM0MqMiclMjAlMDg1JTI1JTNFMCslNUIlM0NsOyUzQylNcWIxOiZJNSIpO2I9MTticmVhaztjYXNlIDk6Sys9U3RyaW5nLmZyb21DaGFyQ29kZShsLmNoYXJDb2RlQXQoWSleVS5jaGFyQ29kZUF0KGspKTtiPTg7YnJlYWs7Y2FzZSAxOnZhciBZPTAsaz0wO2I9NTticmVhaztjYXNlIDU6Yj1ZPGwubGVuZ3RoPzQ6NzticmVhaztjYXNlIDM6az0wO2I9OTticmVhaztjYXNlIDg6WSsrLGsrKztiPTU7YnJlYWs7Y2FzZSA0OmI9az09PVUubGVuZ3RoPzM6OTticmVhaztjYXNlIDc6Sz1LLnNwbGl0KCcoJyk7cmV0dXJuIGZ1bmN0aW9uKFApe3ZhciBoPTI7d2hpbGUoaCE9PTEpe3N3aXRjaChoKXtjYXNlIDI6cmV0dXJuIEtbUF07YnJlYWs7fX19O2JyZWFrO319fSgnRShZTF1VJyl9O2JyZWFrO319fSgpOyFmdW5jdGlvbihlLG8sYyl7InVzZSBzdHJpY3QiO3ZhciBUPWY1eXk7dmFyIGksbix0O1QuZygwKTtpPVQuUihULkgoIjgiLDApKTtULnooMCk7bj1bVC5JKFQuSCgnXHgzMVx4MzAnLDApKSxULkkoKyI2IiksVC5SKCsnXHgzMVx4MzQnKSxULlIoKyIxMiIpLFQuUihULkgoIjUiLDAsVC5nKDApKSksVC5JKFQuQigwLCdceDMwJyxULnooMSkpKSxULlIoVC5CKCdceDMxXHgzMScsMCxULnooMCkpKSxULkkoKyIyIildO1QuZygyKTt0PVsrJ1x4MzJceDMwXHgzMVx4MzknLFQuQignXHUwMDM1JywxKSxULkgoJ1x4MzFceDM2JywwLFQuZygwKSldO3RyeXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yy5Mb2dnZXIubG9nKGksVC5SKCsnXHgzMScpLG4pO2MuTG9nZ2VyLmxvZyhpLFQuUigiNyItMCksdC5qb2luKFQuSSgnXHgzNCctMCkpKTt9LCsiNTAwIik7VC56KDEpO2Mub2JqZWN0PVtuLFsrIjM2MCIsNDk0LDM5MSwrIjMxMiIsVC5CKDAsIjMxMiIpLFQuSCgiMzY1IiwwLFQuZygwKSksKydceDM0XHgzMFx4MzQnLFQuSCgiMzAwIiwwLFQuZygwKSksKydceDMzXHgzNlx4MzBceDMwXHgzMScsVC5IKDAsJ1x4MzNceDM5XHgzNVx4MzJceDMyJyxULmcoMSkpLFQuQigiMTg3NzEiLDAsVC56KDApKSwrIjM0OTQ4IiwxNjU0MSwyOTU3MSwrJ1x4MzVceDMxXHgzN1x4MzFceDM5JywzMzkwOCxULkgoIjc4ODQwIiwwLFQuZygwKSksMTA1OTY0LCsnXHgzOFx4MzRceDM1XHgzNVx4MzUnLFQuSCgiNzI0MjYiLDAsVC5nKDApKSxULkgoJ1x4MzNceDMwXHgzNVx4MzlceDM5JywwLFQuZygwKSksVC5CKCdcdTAwMzRcdTAwMzFcdTAwMzZcdTAwMzJcdTAwMzYnLDAsVC5nKDApKSxULkIoMCwnXHUwMDM4XHUwMDM4XHUwMDMwXHUwMDM4XHUwMDM0JyxULnooMSkpLFQuSCgiNjU0MDkiLDEsVC5nKDIpKSwxNDQwMCxULkgoIjEyODQ0IiwxLFQueigyKSksKydceDM4XHgzNlx4MzBceDMyJyxULkgoJ1x4MzFceDMwXHgzOVx4MzJceDMwJywxLFQuZygyKSksMTM0MTYsVC5IKCdceDMyXHgzNFx4MzhceDMyXHgzMCcsMCxULmcoMCkpLFQuQignXHgzM1x4MzdceDM5XHgzN1x4MzYnLDAsVC56KDApKSwrJ1x4MzVceDMxXHg2NVx4MzMnXSx0LFtULkgoJ1x4MzNceDM2XHgzMicsMCxULmcoMCkpLDQ5NiwrJ1x4MzNceDM5XHgzOScsVC5IKDAsIjczMDkyMyIsVC5nKDEpKSwrJ1x1MDAzMlx1MDAzNVx1MDAzMVx1MDAzMicsVC5IKCI2Mzk4IiwwLFQueigwKSksVC5IKCdcdTAwMzRcdTAwMzFcdTAwMzFcdTAwMzlcdTAwMzFcdTAwMzJcdTAwMzInLDEsVC5nKDIpKSwrJ1x4MzFceDMxXHgzMVx4MzlceDMyJyxULkgoJ1x4MzNceDM0XHgzMlx4MzNceDM2JywwLFQueigwKSksMjQ2MSwzMjU1NywxMDIxMF0sby5jdXJyZW50U2NyaXB0LFQuSCgiMSIsMSxULmcoMikpXTt9Y2F0Y2gobyl7dm9pZCgnXHgzMCcqMSkhPT1lLmNvbnNvbGUmJmUuY29uc29sZS5sb2cmJkZ1bmN0aW9uLmFwcGx5LmNhbGwoZS5jb25zb2xlLmxvZyxlLmNvbnNvbGUsW1QuSSgnXHgzMVx4MzMnfDApXSk7fX0od2luZG93LGRvY3VtZW50LHdpbmRvd1t3aW5kb3cucG9wbnN8fGY1eXkuUigiMyItMCldKTt2YXIgXzB4MTM4Zj1bJ1x4NThceDQ4XHg2M1x4NzInLCdceDQ5XHg1NFx4NDVceDZmXHg2NFx4NDNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NmNceDUwXHg1NFx4NDVceDZmXHg1YVx4NTNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NzVceDUwXHg1OFx4NTFceDc1XHg2Mlx4NzlceDY3XHg2OVx4NjJceDUzXHg0OVx4NzBceDRmXHg3YVx4NTlceDY3XHg2Mlx4NjlceDM0XHg3OVx4NGNceDZkXHg3N1x4MzlceDQ5XHg2ZFx4NzNceDY5XHg0Y1x4NDdceDM0XHg3NVx4NGRceDY5XHgzNVx4NzdceDUwXHg1NFx4NDFceDczXHg2Mlx4NjlceDM0XHg3OVx4NGNceDZlXHg0NVx4MzlceDRkXHg0M1x4NzhceDc1XHg0Y1x4NmFceDQ5XHg3NVx4NjRceDdhXHgzMFx4NjlceDYxXHg2OVx4NDlceDczXHg2Mlx4NjlceDM1XHgzMVx4NTBceDUzXHg0OVx4MzNceDRmXHg2OVx4MzhceDc2XHg2M1x4NjlceDM1XHgzNFx4NGNceDZhXHg1NVx4NzZceDYxXHg0M1x4MzlceDY4XHg0Y1x4NzlceDQ5XHg3Mlx4NWFceDUzXHg3OFx4MzBceDRjXHg2ZFx4NDlceDc1XHg2MVx4NTNceDY4XHg3NVx4NGJceDUzXHg3OFx4NzVceDY2XHg1M1x4NzhceDc1XHg1MFx4NTdceDRkXHg2Zlx4NWFceDc5XHg2N1x4NmZceDY0XHg0M1x4MzVceDZiXHg0Y1x4NmVceDU5XHg2Zlx4NTFceDY5XHg0Mlx4NGZceDRiXHg0M1x4NDlceDZmXHg0ZVx4N2FceDM5XHgzOFx4NTNceDY5XHgzMVx4MzVceDRiXHg1NFx4NzBceDYzXHg1OFx4NDNceDM5XHg2M1x4NThceDQzXHgzOFx4NjlceDRiXHg1M1x4NzdceDY5XHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDRjXHg3OVx4NDlceDcwXHg1N1x4N2FceDQyXHg2NFx4NjZceDQ4XHg3N1x4NjlceDUzXHg3OVx4MzRceDMxXHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDQ5XHg2OVx4NmJceDc1XHg1NFx4NDNceDY3XHg3OFx4NGJceDQ4XHg1MVx4NzBceDY1XHg3YVx4NTlceDY3XHg2NFx4NDNceDM1XHg0ZVx4NGJceDQ0XHg0MVx4NzBceDRjXHg2Ylx4NjNceDZmXHg1M1x4NDNceDZjXHgzOVx4NGJceDUzXHgzNVx4NDJceDRiXHg0M1x4NDlceDY5XHg0Ylx4NTNceDZiXHg3MFx4NGZceDMzXHg2Zlx4NzVceDRlXHg0M1x4NjdceDY5XHg1MVx4NzlceDQ5XHg3M1x4NGRceDUzXHg2N1x4NzBceDY1XHgzMlx4NTVceDZmXHg2Mlx4NjlceDczXHg2OVx4NGNceDMyXHg1OVx4NzVceDRmXHg1M1x4NDlceDcwXHg0Y1x4NmFceDUxXHg2Zlx4NDlceDZiXHg1MVx4NjlceDRjXHg0NFx4NDVceDZmXHg0Ylx4NThceDc0XHg0N1x4NGJceDQ0XHg0NVx4NmZceDRiXHg1OFx4NzRceDZjXHg0Ylx4NDdceDM0XHg3Mlx4NDlceDY5XHgzOVx4N2FceDRjXHg2YVx4NmJceDY5XHg0Ylx4NThceDMwXHg3M1x4NTJceDUzXHg2Y1x4MzlceDRiXHg1OFx4MzBceDcwXHg2Nlx4NTNceDY4XHg0YVx4NGJceDU0XHg3M1x4M2QnLCdceDYzXHgzM1x4NDJceDczXHg2MVx4NThceDUxXHgzZCcsJ1x4NWFceDZlXHg0YVx4NzZceDYyXHg1NVx4NGVceDZmXHg1OVx4NThceDRhXHg0NFx4NjJceDMyXHg1Mlx4NmMnLCdceDY0XHg0N1x4MzlceDU0XHg2NFx4NDhceDRhXHg3MFx4NjJceDZkXHg2M1x4M2QnLCdceDYzXHg2ZFx4NTZceDc3XHg2Mlx4NDdceDQ2XHg2YVx4NWFceDUxXHgzZFx4M2QnXTsoZnVuY3Rpb24oXzB4MWI1OWFjLF8weDMwZDYwNSl7dmFyIF8weDQ0NTljOT1mdW5jdGlvbihfMHgxNDY4YWMpe3doaWxlKC0tXzB4MTQ2OGFjKXtfMHgxYjU5YWNbJ3B1c2gnXShfMHgxYjU5YWNbJ3NoaWZ0J10oKSk7fX07XzB4NDQ1OWM5KCsrXzB4MzBkNjA1KTt9KF8weDEzOGYsMHgxMGIpKTt2YXIgXzB4MTdjMT1mdW5jdGlvbihfMHgxOTc3ZGIsXzB4Yzc5ZjY5KXtfMHgxOTc3ZGI9XzB4MTk3N2RiLTB4MDt2YXIgXzB4MTYyZGYyPV8weDEzOGZbXzB4MTk3N2RiXTtpZihfMHgxN2MxWydPTXJTcXgnXT09PXVuZGVmaW5lZCl7KGZ1bmN0aW9uKCl7dmFyIF8weDI0NzE2Njt0cnl7dmFyIF8weDViZDYyOT1GdW5jdGlvbigncmV0dXJuXHgyMChmdW5jdGlvbigpXHgyMCcrJ3t9LmNvbnN0cnVjdG9yKFx4MjJyZXR1cm5ceDIwdGhpc1x4MjIpKFx4MjApJysnKTsnKTtfMHgyNDcxNjY9XzB4NWJkNjI5KCk7fWNhdGNoKF8weDMyOTViMCl7XzB4MjQ3MTY2PXdpbmRvdzt9dmFyIF8weDI4M2NlOT0nQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0nO18weDI0NzE2NlsnYXRvYiddfHwoXzB4MjQ3MTY2WydhdG9iJ109ZnVuY3Rpb24oXzB4MzQxYjE5KXt2YXIgXzB4MTQ0Zjk2PVN0cmluZyhfMHgzNDFiMTkpWydyZXBsYWNlJ10oLz0rJC8sJycpO2Zvcih2YXIgXzB4MjhhNzVlPTB4MCxfMHg1OWNiNWIsXzB4MWUwOTNkLF8weDUxZWZhNj0weDAsXzB4OTIyYWFjPScnO18weDFlMDkzZD1fMHgxNDRmOTZbJ2NoYXJBdCddKF8weDUxZWZhNisrKTt+XzB4MWUwOTNkJiYoXzB4NTljYjViPV8weDI4YTc1ZSUweDQ/XzB4NTljYjViKjB4NDArXzB4MWUwOTNkOl8weDFlMDkzZCxfMHgyOGE3NWUrKyUweDQpP18weDkyMmFhYys9U3RyaW5nWydmcm9tQ2hhckNvZGUnXSgweGZmJl8weDU5Y2I1Yj4+KC0weDIqXzB4MjhhNzVlJjB4NikpOjB4MCl7XzB4MWUwOTNkPV8weDI4M2NlOVsnaW5kZXhPZiddKF8weDFlMDkzZCk7fXJldHVybiBfMHg5MjJhYWM7fSk7fSgpKTtfMHgxN2MxWyd4anFrREYnXT1mdW5jdGlvbihfMHgzMzc3MTgpe3ZhciBfMHg1ZGRiMTU9YXRvYihfMHgzMzc3MTgpO3ZhciBfMHg1NjBiOTU9W107Zm9yKHZhciBfMHhjOTdmOTE9MHgwLF8weDQ0MTg3Mj1fMHg1ZGRiMTVbJ2xlbmd0aCddO18weGM5N2Y5MTxfMHg0NDE4NzI7XzB4Yzk3ZjkxKyspe18weDU2MGI5NSs9JyUnKygnMDAnK18weDVkZGIxNVsnY2hhckNvZGVBdCddKF8weGM5N2Y5MSlbJ3RvU3RyaW5nJ10oMHgxMCkpWydzbGljZSddKC0weDIpO31yZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KF8weDU2MGI5NSk7fTtfMHgxN2MxWydrRG1IU2snXT17fTtfMHgxN2MxWydPTXJTcXgnXT0hIVtdO312YXIgXzB4MzA2NDA1PV8weDE3YzFbJ2tEbUhTayddW18weDE5NzdkYl07aWYoXzB4MzA2NDA1PT09dW5kZWZpbmVkKXtfMHgxNjJkZjI9XzB4MTdjMVsneGpxa0RGJ10oXzB4MTYyZGYyKTtfMHgxN2MxWydrRG1IU2snXVtfMHgxOTc3ZGJdPV8weDE2MmRmMjt9ZWxzZXtfMHgxNjJkZjI9XzB4MzA2NDA1O31yZXR1cm4gXzB4MTYyZGYyO307ZXZhbChmdW5jdGlvbihfMHg0OWIyZTksXzB4MTA2OTM1LF8weDIyM2Q1NixfMHgyZmY2ZTksXzB4ZWQ3ZDI2LF8weDNiYzUwMCl7XzB4ZWQ3ZDI2PWZ1bmN0aW9uKF8weDI2YmI4Mil7cmV0dXJuKF8weDI2YmI4MjxfMHgxMDY5MzU/Jyc6XzB4ZWQ3ZDI2KHBhcnNlSW50KF8weDI2YmI4Mi9fMHgxMDY5MzUpKSkrKChfMHgyNmJiODI9XzB4MjZiYjgyJV8weDEwNjkzNSk+MHgyMz9TdHJpbmdbXzB4MTdjMSgnMHgwJyldKF8weDI2YmI4MisweDFkKTpfMHgyNmJiODJbXzB4MTdjMSgnMHgxJyldKDB4MjQpKTt9O2lmKCEnJ1tfMHgxN2MxKCcweDInKV0oL14vLFN0cmluZykpe3doaWxlKF8weDIyM2Q1Ni0tKXtfMHgzYmM1MDBbXzB4ZWQ3ZDI2KF8weDIyM2Q1NildPV8weDJmZjZlOVtfMHgyMjNkNTZdfHxfMHhlZDdkMjYoXzB4MjIzZDU2KTt9XzB4MmZmNmU5PVtmdW5jdGlvbihfMHgzMjA3ZjYpe3JldHVybiBfMHgzYmM1MDBbXzB4MzIwN2Y2XTt9XTtfMHhlZDdkMjY9ZnVuY3Rpb24oKXtyZXR1cm4gXzB4MTdjMSgnMHgzJyk7fTtfMHgyMjNkNTY9MHgxO307d2hpbGUoXzB4MjIzZDU2LS0pe2lmKF8weDJmZjZlOVtfMHgyMjNkNTZdKXtfMHg0OWIyZTk9XzB4NDliMmU5W18weDE3YzEoJzB4MicpXShuZXcgUmVnRXhwKCdceDVjXHg2MicrXzB4ZWQ3ZDI2KF8weDIyM2Q1NikrJ1x4NWNceDYyJywnXHg2NycpLF8weDJmZjZlOVtfMHgyMjNkNTZdKTt9fXJldHVybiBfMHg0OWIyZTk7fShfMHgxN2MxKCcweDQnKSwweDMyLDB4MzIsJ1x4N2NceDY2XHg3NVx4NmVceDYzXHg3NFx4NjlceDZmXHg2ZVx4N2NceDczXHg3NFx4NzlceDZjXHg2NVx4N2NceDczXHg3MFx4NmNceDY5XHg3NFx4N2NceDYxXHg2NFx4NjRceDQ1XHg3Nlx4NjVceDZlXHg3NFx4NGNceDY5XHg3M1x4NzRceDY1XHg2ZVx4NjVceDcyXHg3Y1x4NjNceDZmXHg2ZFx4N2NceDcyXHg2NVx4NzRceDc1XHg3Mlx4NmVceDdjXHg2OFx4NzRceDc0XHg3MFx4NzNceDdjXHg3Nlx4NjFceDcyXHg3Y1x4NzBceDZlXHg2N1x4N2NceDcwXHg3NFx4N2NceDYyXHg2Zlx4NjRceDc5XHg3Y1x4NjVceDZlXHg2M1x4NmZceDY0XHg2NVx4NTVceDUyXHg0OVx4NDNceDZmXHg2ZFx4NzBceDZmXHg2ZVx4NjVceDZlXHg3NFx4N2NceDcyXHg2NVx4NjZceDY1XHg3Mlx4NzJceDY1XHg3Mlx4N2NceDdjXHg3Y1x4NjJceDc0XHg2Zlx4NjFceDdjXHg3Nlx4MzFceDdjXHg2MVx4NzBceDcwXHg2NVx4NmVceDY0XHg0M1x4NjhceDY5XHg2Y1x4NjRceDdjXHg2ZVx4NmZceDZlXHg2NVx4N2NceDYxXHg2Mlx4NzNceDZmXHg2Y1x4NzVceDc0XHg2NVx4N2NceDcwXHg2Zlx4NzNceDY5XHg3NFx4NjlceDZmXHg2ZVx4N2NceDY5XHg2ZFx4NjdceDdjXHg3Y1x4NjNceDcyXHg2NVx4NjFceDc0XHg2NVx4NDVceDZjXHg2NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg3NFx4NmZceDcwXHg3Y1x4NmNceDY1XHg2Nlx4NzRceDdjXHg2MVx4NzBceDY5XHg3Y1x4N2NceDdjXHg3M1x4NzJceDYzXHg3Y1x4NzJceDY1XHg3MFx4NmNceDYxXHg2M1x4NjVceDdjXHg3MFx4NmZceDY5XHg2ZVx4NzRceDY1XHg3Mlx4NDVceDc2XHg2NVx4NmVceDc0XHg3M1x4N2NceDYzXHg2Y1x4NjlceDYzXHg2Ylx4NjFceDY5XHg2ZVx4NjVceDdjXHg2MVx4NzBceDcwXHg3Y1x4NzdceDY5XHg2ZVx4NjRceDZmXHg3N1x4N2NceDZhXHg2Zlx4NjlceDZlXHg3Y1x4NmVceDY1XHg3N1x4N2NceDQ0XHg0Zlx4NGRceDQzXHg2Zlx4NmVceDc0XHg2NVx4NmVceDc0XHg0Y1x4NmZceDYxXHg2NFx4NjVceDY0XHg3Y1x4NmNceDZmXHg2MVx4NjRceDdjXHgzNVx4NjVceDMzXHg3Y1x4NzNceDY1XHg3NFx4NTRceDY5XHg2ZFx4NjVceDZmXHg3NVx4NzRceDdjXHg3NFx4NmZceDUzXHg3NFx4NzJceDY5XHg2ZVx4NjdceDdjXHgzMVx4MzZceDdjXHg2NFx4NmZceDYzXHg3NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg2MVx4NmVceDY0XHg3Mlx4NmZceDY5XHg2NFx4N2NceDY0XHg2Zlx4NzRceDdjXHg2ZFx4NjFceDcwXHg3Y1x4NjNceDY4XHg2MVx4NzJceDQzXHg2Zlx4NjRceDY1XHg0MVx4NzRceDdjXHg1Mlx4NjVceDY3XHg0NVx4NzhceDcwJ1tfMHgxN2MxKCcweDUnKV0oJ1x4N2MnKSwweDAse30pKTsKO3ZhciBjSVBvcCA9IGZ1bmN0aW9uIGNJUG9wKHVybCkgewoJCWNQb3AuY29uZmlnKHsKCQkJY292ZXJUYWdzOiBbJ3ZpZGVvJywgJ2lmcmFtZSddLAoJCQl0YWJVbmRlcklnbm9yZVRhcmdldEJsYW5rOiB0cnVlLAoJCQlkZWxheTogMTAwCgkJfSk7CgkJY1BvcC5hZGQodXJsLCB7CgkJCW5ld1RhYjogdHJ1ZSwKCQkJdW5kZXI6IHRydWUsCgkJCWNvb2tpZUV4cGlyZXM6IDEwMH0pfTs=(Line 1)
Message:
[object HTMLDivElement]
console-api log URL: data:text/plain;base64,d2luZG93LnBvcG5zID0gJ2NQb3AnO3Y3R0cuYzQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmU0PT09J2Z1bmN0aW9uJz92N0dHLlo0LmU0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmU0O307djdHRy5pMT1mdW5jdGlvbigpe3ZhciBxMT1mdW5jdGlvbihJMSxLMSl7dmFyIEExPUsxJjB4ZmZmZjt2YXIgcjE9SzEtQTE7cmV0dXJuKHIxKkkxfDApKyhBMSpJMXwwKXwwO30sbTE9ZnVuY3Rpb24oajEsVTEsaDEpe3ZhciB4MT0weGNjOWUyZDUxLHoxPTB4MWI4NzM1OTM7dmFyIGUxPWgxO3ZhciB0MT1VMSZ+MHgzO2Zvcih2YXIgWjE9MDtaMTx0MTtaMSs9NCl7dmFyIFExPWoxLmNoYXJDb2RlQXQoWjEpJjB4ZmZ8KGoxLmNoYXJDb2RlQXQoWjErMSkmMHhmZik8PDh8KGoxLmNoYXJDb2RlQXQoWjErMikmMHhmZik8PDE2fChqMS5jaGFyQ29kZUF0KFoxKzMpJjB4ZmYpPDwyNDtRMT1xMShRMSx4MSk7UTE9KFExJjB4MWZmZmYpPDwxNXxRMT4+PjE3O1ExPXExKFExLHoxKTtlMV49UTE7ZTE9KGUxJjB4N2ZmZmYpPDwxM3xlMT4+PjE5O2UxPWUxKjUrMHhlNjU0NmI2NHwwO31RMT0wO3N3aXRjaChVMSU0KXtjYXNlIDM6UTE9KGoxLmNoYXJDb2RlQXQodDErMikmMHhmZik8PDE2O2Nhc2UgMjpRMXw9KGoxLmNoYXJDb2RlQXQodDErMSkmMHhmZik8PDg7Y2FzZSAxOlExfD1qMS5jaGFyQ29kZUF0KHQxKSYweGZmO1ExPXExKFExLHgxKTtRMT0oUTEmMHgxZmZmZik8PDE1fFExPj4+MTc7UTE9cTEoUTEsejEpO2UxXj1RMTt9ZTFePVUxO2UxXj1lMT4+PjE2O2UxPXExKGUxLDB4ODVlYmNhNmIpO2UxXj1lMT4+PjEzO2UxPXExKGUxLDB4YzJiMmFlMzUpO2UxXj1lMT4+PjE2O3JldHVybiBlMTt9O3JldHVybntiMTptMX07fSgpO3Y3R0cuRDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LkM2PT09J2Z1bmN0aW9uJz92N0dHLlo0LkM2LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LkM2O307djdHRy5MMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLlo2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5DNj09PSdmdW5jdGlvbic/djdHRy5nNi5DNi5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5DNjt9O3Y3R0cuWjQ9ZnVuY3Rpb24oQTQpe3JldHVybntlNDpmdW5jdGlvbigpe3ZhciBTNCxsND1hcmd1bWVudHM7c3dpdGNoKEE0KXtjYXNlIDI6UzQ9bDRbMF0rbDRbMV07YnJlYWs7Y2FzZSAyMjpTND1sNFsyXStsNFswXS1sNFsxXTticmVhaztjYXNlIDc6UzQ9bDRbNF0rbDRbMTBdK2w0WzExXStsNFszXSsobDRbNl0rbDRbMV0rbDRbNV0rbDRbOV0rbDRbMl0rbDRbMF0rbDRbOF0pK2w0WzddO2JyZWFrO2Nhc2UgNjpTND1sNFsyXS9sNFswXS9sNFsxXTticmVhaztjYXNlIDE3OlM0PWw0WzZdK2w0WzFdK2w0WzBdK2w0WzRdK2w0WzVdK2w0WzJdK2w0WzNdO2JyZWFrO2Nhc2UgMTpTND1sNFszXStsNFs0XStsNFsyXStsNFsxXStsNFswXTticmVhaztjYXNlIDM6UzQ9bDRbMV0rKGw0WzNdK2w0WzVdK2w0WzBdK2w0WzRdK2w0WzJdKTticmVhaztjYXNlIDExOlM0PWw0WzFdPGw0WzBdO2JyZWFrO2Nhc2UgOTpTND1sNFswXT4tbDRbMV07YnJlYWs7Y2FzZSA0OlM0PWw0WzBdK2w0WzFdK2w0WzJdO2JyZWFrO2Nhc2UgODpTND1sNFswXT09PWw0WzFdO2JyZWFrO2Nhc2UgMTQ6UzQ9bDRbMF0rbDRbNF0rbDRbN10rbDRbMl0rbDRbNV0rbDRbM10rbDRbMV0rbDRbNl0rbDRbOF07YnJlYWs7Y2FzZSAyMTpTND1sNFswXSVsNFsyXS1sNFsxXTticmVhaztjYXNlIDEyOlM0PWw0WzVdK2w0WzJdK2w0WzZdK2w0WzBdKyhsNFs0XStsNFszXStsNFsxXSk7YnJlYWs7Y2FzZSAxNjpTND1sNFswXStsNFsyXTxsNFsxXTticmVhaztjYXNlIDIwOlM0PWw0WzFdJWw0WzJdKmw0WzBdO2JyZWFrO2Nhc2UgNTpTND1sNFs1XSsobDRbMTNdK2w0WzNdK2w0WzddK2w0WzEyXStsNFs2XStsNFs0XStsNFsyXStsNFswXStsNFsxMF0rbDRbOF0rbDRbMTFdK2w0WzldK2w0WzFdKTticmVhaztjYXNlIDA6UzQ9bDRbOV0rbDRbOF0rbDRbMl0rbDRbMTNdK2w0WzNdK2w0WzRdK2w0WzFdK2w0WzBdK2w0WzddK2w0WzExXStsNFsxMF0rbDRbNl0rbDRbNV0rbDRbMTRdK2w0WzEyXTticmVhaztjYXNlIDE4OlM0PWw0WzBdKmw0WzJdJWw0WzFdO2JyZWFrO2Nhc2UgMTA6UzQ9LWw0WzBdPT09bDRbMV07YnJlYWs7Y2FzZSAxMzpTND1sNFsxNF0rbDRbMjddK2w0WzE5XStsNFswXStsNFsxMV0rbDRbNV0rbDRbMTBdK2w0WzI5XStsNFsyXStsNFsyM10rbDRbMjBdK2w0WzRdK2w0WzIyXStsNFsxOF0rbDRbMjRdK2w0WzEyXStsNFs3XStsNFsxNV0rbDRbNl0rbDRbMTNdK2w0WzE3XStsNFs5XStsNFsyOF0rbDRbMjFdK2w0WzFdK2w0WzMwXStsNFsyNl0rbDRbMTZdK2w0WzNdK2w0WzI1XStsNFs4XTticmVhaztjYXNlIDE5OlM0PWw0WzFdL2w0WzBdJWw0WzJdO2JyZWFrO2Nhc2UgMTU6UzQ9bDRbNV0rbDRbNF0rbDRbMTBdK2w0WzFdK2w0WzZdK2w0WzldK2w0WzJdK2w0WzddK2w0WzhdK2w0WzNdK2w0WzBdO2JyZWFrO31yZXR1cm4gUzQ7fSxzNDpmdW5jdGlvbihQNCl7QTQ9UDQ7fX07fSgpO3Y3R0cueDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy51ND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuZTQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuZTQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuZTQ7fTtmdW5jdGlvbiB2N0dHKCl7fXY3R0cuWTQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LnM0PT09J2Z1bmN0aW9uJz92N0dHLlo0LnM0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LnM0O307djdHRy5vND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuczQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuczQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuczQ7fTt2N0dHLmw2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuQjQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy5nNj1mdW5jdGlvbigpe3ZhciBzNj0yO3doaWxlKHM2IT09MSl7c3dpdGNoKHM2KXtjYXNlIDI6cmV0dXJue0M2OmZ1bmN0aW9uKHg2KXt2YXIgbTY9Mjt3aGlsZShtNiE9PTE0KXtzd2l0Y2gobTYpe2Nhc2UgNDptNj1JNj09PXg2Lmxlbmd0aD8zOjk7YnJlYWs7Y2FzZSAyOnZhciBQNj0nJyxVNj1kZWNvZGVVUkkoIjIjMUw3QTg4LEk1Vz84O1Y0WiUyMiUzRStHO0IlMjIpJTIwRyUwQUUlMjIkLFE/RTIyJTE0UChBMCMqRypLJjklM0MlNUQ/ViUzQz8sdDtHKCUzRTdNL1Y4Mj8lNUM0UTQtJTIwRyUxOEElMjI4N0skaTkoN0c3TTgyJTA1JTVDOE8/OCxaNUolMjUjJTNFJTVDJG4lMjUyJTdCRyxBJD87VjRabTIhTTVUKCQzVyUzRUgzKCxLP0k5OjdHaCUxNiglMUU3Xz9WMyUzRSxaNUolMjIpJTNDTSRJMyUzRTUlNUMkSjM0JkclMEJHO3U5JTVEJHooJTAwPSU1RT1BJDIhJTVDLlolM0UpOyU1RTJQKCUwOSUzRSU1QzdBODghRylQLyUyMDdHLE0lMjUlMjUwUDZNJTIyNSxqJEc6JTI1N1cuWjMlMjA3VD9KJTIyMiUxNUE2WiUxQSYsaz9FNSQ3JTVEJGswMj1fJTNDVzM4LG8lMjBaJTEzKyxuM0oyIyUyNUc5RTgvN1UkbicvKyUwQzBGZCU3QyUyMkc4TTgoLEk1TTg4N0skSiMhMCU1QyhaNS0lM0VVJH4oJTIwN18uWngyJlgoQzM4LHoyVjkhN0clM0VBJTIwJTI1MSU1QyRwLyUzQzdKJFclM0UjJ1UlM0VaJTIyLTVHJTAzJTE3KCUwNTVXNVYzMiUxMFA0QCglMTk1RyUwQVY5JTNDMyU1RTtQPyMlM0NHNVQzJTIyN0skSDkvM00zSzgyJTA1QTZHJTNDO2pHLk07KSx2NEczMiUxM1U2WjAlM0UzVD9aJTA1ISxLO0oyIz9HJTE4UiglMDU2RzBLPyUyMiwlNjAqWjsjJCU1QyRTPyUyMjZWLVoyJTI1IUk2RS8ybEclMUVLOy07VyRAMz85TTVUKCUwQSElNUUkUDcuJ1clM0VBJDIlMTMlNUUkRTQjJ00kVzUlM0U7SS5aJjkhUSRBJTIwKSUzQ00pWiUyMiUzRTNXKVQ3JTNFN1cuWiY4MVY0QyglMUYmVihFMSkseCRQNy4saT9WJi01JTVDJEk3NCxKL0YlMjU4JTIwRzZLNygsajlWPyUzQyZHJTEzSiUyMiklMjBPO0goJCUyMCU1QyUzQ1o4IyxaKEE3ODdHO1AlMjItMVEkSDklMjI1Ry9WOjIlMUZYLkwoLTBaJTNFQTArOlAwTzohJTNDVipVJD8mTCxTLjUoRyUxNVQzJTNFM0clMENFOjk3RyUxOEgoOSUzQyU1RD9WKCUwNSYlNUM3WiUxNCUzRT1OKUEkMiUxM1clM0VWOSUyNTZHOVEkJTNFN1cuWiUxNCUyMDNXMVoyKSRHNEslMjIyJTFFJTVDJTNDUCg/N1U/RyUyMiMlMjBHJTFEJTFEPy04TmJaPyUyMiUzQyU1QyhaNCUyMDNXMVolMDM1LCU1QyRzPyUyMix4LlolMTQ5MCU1QjZBKCg3WjVAMzIlMDJYKEE4OCxoL0EjKTZHdlolMDU4M1QqWiYtJTIwJTVDNFAoJDNKJFElMjUpJTIwRyhBJiUyMDNaP1olMDAyI0w/Vi8yJTNDJTVDLlM5JTNFOUcpTD8qJkcqVjk4PU0jVDMyPSU1QjBBNTgseSRKIyUyMCUzRUcuSyh+YiUwOGJaPyUyMiUyMkwuWjstJloyWiQpIU01VjMyO18oRTspLHU1UzMlM0UsJTdGalolMDQyJTA2UTtKJTNFMiUxRkc4USUyMjg9VyRvMjIlMTglMDkkcSQlMjAsaSRGMyo9Sz9aJTAwKSUyMEozSzgyJTA0TCRBOC0wVT9AKCUwMyxLP1czOCwlMTEkVjM/O0M/WiMlMjI2JTVDJTNDTTgpNkd6WiUyNSUzRTFHJTFEQSUyMjg3SyUwNSU3QiglMUM6WDRaPzIxVT9FJDIwWClBJTYweCwlNjAkQDMuJyU1RSRDMzgsUztSNz8xSzNUJTIyMjNNLlY/LidNP1coJTFGJkszSjEyLHU3WjgpJTI1RzVKNSUyMDtaMVolMTF1JTI1JTVEJCU3QyhjLFQzSTMyJTE0TDRHJTIyJTI1PVckVjM9JyU1QylQKCUxMHplc3glMjVmKWUpJTBFJTBBJTE3JTBFSnBKNzg7Tz8lMDQ1IzYlNUMlMDZXJTdDJTEwJTBGZSklMEUrMiUxRVA0US4yJTFFJTA5KkwyISwlNUQ/VyUyMiUzRT1AJE07MjZQKVQ3ODFRJE04PzdLLlo4IzYlNUMkajoyJTAxJTVDNkE1OD1LJCUxMiglMDg3JTVCL0MoJTE4MyU1RSlaJTE0JCwlNUU/SzojMVguTTklMjIsJTdDLEE4OCxYKlQ6NSwlNUQ7UDcycUclMEVFJCs3TSRnOSElMjJYKEEoaSwlN0Y2RTEyY0clMTlFJTI1KSwlNUQ1STclMjUlM0NHJTFCUSUyMiQ9SyRGOSgrRztAMjIlMERmJTNFQTAlMjUlM0MlNUMkcDcrLFQ/VyUyNS01JTVDJEk5OSElNUMvVCglMEElMjBWN1olMDYjO1cuWiUyMC0lMjBHJTBFSyMvOiU1QylaJTAyIywlN0QtUig2LFg4VzklMjAnTT9aJTA3Kyx4NEclM0UjJTIwRzNKMikqRy1BNCc7TSRWMyUyMDdYKUEoJTAxPUwpQSglMEEzVTZGNy85RyUwOVA3LzlHOUUlMjIvOkcqSyUyNTgsWjVKNS0mRyUxNiUxNSglMjA3Vz1QJTNFMiUyMCU1RCRUNyUzRSElNUMkaS8yOlAlM0VAMyUyMiwlMDhqJTE0KCUwQTtLP1olMTc2LFEuUCY/LGk/VjslMjUhSjNLODIlMDBQJGsmKSUzQyU1QyhaJTA3MiUzQ1Y0QSgvJ0spSyQyJTIyWD1BKCUzQypHJ1olMTgtPyU1QyRHJTNFLSUzQyU1RT9AKCUxOSZQNlcoPyZLM0oxMiUxMyU1RTglMTYoJTBEJFgzSDcuJTNFJTVDJGJkMiUxNSUwMDNFJTNDMiUxQl8oRTspLHo1SSYjJTNDJTVDNFAoJTBEPVokJTE5KCUwRCUyNUclMTZafiUxMCFFfiUwRCgvPVcuRTU4LH4kVjM/O0M7RjopLHguUCQlMjUwTC5BKCUwMT0lNUIzSDMyPUszQz8lMjIsWC9QJTNFIyUyMEc/JTVDMy8sdipBODIlMERNO1YxKSZHJTNDTS4pNkclMDVQPyE3Vi9QJTA5MiUxM1YkcSglMDg3XztROjgsdTtXJTIyMiUxQkclM0VBJTIyLTFRJHYlMjAyJTA4JTBCJHc1JTNFPVU2RjclM0UsJTdGKVolMDItMEc/JTVDJiUyNSUyMCU1QylaJTE0OyxQJTNFWiUxRiUyMjYlNUMlMjJaOyMwUDZBKCUwRStHJTBETTI4Okc3TyYyJTExViUzRUEoJTIyM1Q/WiUyNSUzQzdaM0I/KTZHKkUlMjIkLFo2TTUnLHElM0VMNzIwVS9WKCUxQyUyMFYqQSQ4K0c5SzgqOyU1RSRXMyUyMDRHJTA4TWY0LGgvWjAlMjA9VihaJTEzNCUyMkclMTVTODIlMTclNUQ9QSglMjUhRyUwRkoyKSUyMEclMUJDMyUyMiZHLiU1RCYpLHpjWmoyJTE0UChBMjIlMURJLk05JTIyIUclM0NROC8mUDVKKCUwNixNO0YjJTNDLEkoTTg4LCU3QyUyMlQ/JTNFN0okZzkjOVA/WiUwNSUyNTBVM0oxMiUyNUclMTVSMyUzRSUzRVgjWiUwMiUyNT8lNUM1USUyMjIlMUQlNUIwQTU4LFYvUDMlM0UscyxGZTIlMjVQJTNFUCUzRTIhVTNHMzIlMUNYJCUxNiglMUM4RyUxNk0yLyxYJGg/PyYlNUM0QSQyJTFGViUyME06JTIwM0clMUVFJTIyKSx2NEg5LTZHKUUwKSxMNEY/JTIyNkcuSyMvOiU1QzRAKCUwRTdfNVYzMjFVO1clMjUyJTAyVilNJTIyJTI1PVckJTYwKCUyNSUzQ1AuWiUxODIlMDlHOUs5JzslNUMkbicyJTBCVDVIKDg9SSRvKC86WChaJTA5LiUzRVg0TyglMjA9JTVFJEsmKSUzQ0clMTJaJTEzJTIwN1Q/SiUyMjIlMDAlNUM2QTc/N0cqSyY5JTNDJTVEP1YoJTNDPUkkdDo5NVA0WiUwNiMlMjJMNEAzJTNFLHMyRSglMTU/VmJaJTNFOD9VJHc3KjNLM1o5JTIyLHc1QDMyJTA1JTBDMUZkMjFVNVczMj9WL1czKD1ONFojPzclMTkpUCQlMjUxTSRnIyUzRSUyMCU1QzRQKC4zWjFDJCMnVyUzRVo7KSZYJFAzNCZHJTE5QzgyIVooQTMlMjIsJTFEJGEoJTBCa1ckbTEyayUwMGMlMURvdWtHKEEwKSUyMEs/VigpIVo7VDMyJTdGRztUJiklM0MlNUQkTDk/JkcqQSQlM0MzJTVFP1olMUYlMjImRyUwRkEoJTIyPUs/QiglMDQ7UztHPSUyNSUzQyU1RSRxJiUzQzdLJCUwRiglMTghSSRzYycsTTVRNSQhTTtWJTIyMiUzRVY5RToyJTAxJTVDNFc/ODtPP1psMiUxRiU1RSRzKHQsdzVQPyo7WjtQPyMlM0NHIVolMDQpNUc1SjQlMjAnSyRnKCUwMTdKKUUxKSxMJCUxNCY0LHgoVjc1LEkoQSUyMCklM0NNJHkoJTBGJTNFUDlPMygsWDhXKCUxQz9HblolMEYhPUAkVDklM0MnSSQlMEMlMDgwJTBFSnNaOTo3SyUzQ0g5OywlMDkkRzkhLF81RyM/LHE/TTEkJkclMEFLJjIlMUNVOU0oJTA2JTIyWiR0JTNDeSUzRSU1QjdaJTAyIyUyMkclM0NNJCksWCpUOiUyNTFYLk05JTIyLCU3RiRnOSUyMjVHJTE5TD8lMjA2RylUOiUyNSZHKEU4KCxKLkUlMjI5IUcpRyQjJTNFVThFJD8sdWolMTElM0UuLFo1UjMlM0UsTTVLOi4zSyRAMyUyMDNAJEsmOCFHJTNFTSUyMDIlMTdPP0olMjI/LHcwRzslMjAlMjUlNUQkcCglM0M2XyRBOyUzQyZAJGYoJTFFOiU1QiRKNzo7JTVFO1A5JTNFLE4oTSUyMiksbDAlMTAoJTI1NVc1VjMyJTExVi9KJTIyMjBWNUgzLSUzQ0clMEVNOyksejVKMCUyNTVHLkElMjU4Iik7bTY9MTticmVhaztjYXNlIDE6dmFyIEg2PTAsSTY9MDttNj01O2JyZWFrO2Nhc2UgOTpQNis9U3RyaW5nLmZyb21DaGFyQ29kZShVNi5jaGFyQ29kZUF0KEg2KV54Ni5jaGFyQ29kZUF0KEk2KSk7bTY9ODticmVhaztjYXNlIDU6bTY9SDY8VTYubGVuZ3RoPzQ6NzticmVhaztjYXNlIDc6UDY9UDYuc3BsaXQoJ34nKTtyZXR1cm4gZnVuY3Rpb24oaDYpe3ZhciBqNj0yO3doaWxlKGo2IT09MSl7c3dpdGNoKGo2KXtjYXNlIDI6cmV0dXJuIFA2W2g2XTticmVhazt9fX07YnJlYWs7Y2FzZSAzOkk2PTA7bTY9OTticmVhaztjYXNlIDg6SDYrKyxJNisrO202PTU7YnJlYWs7fX19KCdWTFI5WiQnKX07YnJlYWs7fX19KCk7djdHRy5kMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLmE2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuZjY9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLmc2LkM2PT09J2Z1bmN0aW9uJz92N0dHLmc2LkM2LmFwcGx5KHY3R0cuZzYsYXJndW1lbnRzKTp2N0dHLmc2LkM2O307djdHRy5yND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuQzY9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuQzYuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuQzY7fTshZnVuY3Rpb24odCl7dmFyIHc1PXY3R0c7dmFyIG81PSEwO3ZhciBlLGksbixyLG8scyxhLGMsdSxoLGYscCxfLGwsZCx2LGIsbSxnLHksayx3LHgsTyxDLEUsUCxULEEsRixTLGosTCx6LEIsSSxNLFcsRCxVLFIsTixILHEsSixWLCQsUSxHLFksSyxaLFgsdHQsZXQsaXQsbnQscnQsb3Qsc3QsYXQsY3QsdXQsaHQsZnQscHQsX3QsbHQsZHQsdnQsYnQsbXQsZ3QseXQsa3Qsd3QseHQsT3QsQ3QsRXQsUHQsVHQsQXQsRnQsU3QsanQsTHQsenQsQnQsSXQsTXQsV3QsRHQsVXQsUnQsTnQsSHQscXQsSnQsVnQsJHQsUXQsR3QsWXQsS3QsWnQsWHQsdGUsZWUsaWUsbmUscmUsb2Usc2UsYWUsY2UsdWUsaGUsZmUscGUsX2UsbGUsZGUsdmUsYmUsbWUsZ2UseWUsa2Usd2UseGUsT2UsQ2UsRWUsUGUsVGUsQWUsRmUsU2UsamUsTGUsemUsQmUsSWUsTWUsV2UsRGUsVWUsUmUsTmUsSGUscWUsSmUsVmUsJGUsUWUsR2UsWWUsS2UsWmUsWGUsdGksZWksaWksbmkscmksb2ksc2ksYWksY2ksdWksaGksZmkscGksX2ksbGksZGksdmksYmksbWksZ2kseWksa2ksd2kseGksT2ksQ2ksRWksUGksVGksQWksRmksU2ksamksTGksemksQmksSWksTWksV2ksRGksVWksUmksTmksSGkscWksSmksVmksJGksUWksR2ksWWksS2ksWmksWGksdG4sZW4sbm4scm4sb24sc24sYW4sY24sdW4saG4sZm4scG4sX24sbG4sZG4sdm4sYm4sbW4sZ24seW4sa24sd24seG4sT24sQ24sRW4sUG4sVG4sQW4sRm4sU24sam4sTG4sem4sQm4sSW4sTW4sV24sRG4sVW4sUm4sTm4sSG4scW4sSm4sVm4sJG4sUW4sR24sWW4sS24sWm4sWG4sdHIsZXIsaXIsbnIscnIsb3Isc3IsYXIsY3IsdXIsaHIsZnIscHIsX3IsbHIsZHIsdnIsYnIsbXIsZ3IseXIsa3Isd3IseHIsT3IsQ3IsRXIsUHIsVHIsQXIsRnIsU3IsanIsTHIsenIsQnIsSXIsTXIsV3IsRHIsVXIsUnIsTnIsSHIscXIsSnIsVnIsJHIsUXIsR3IsWXIsS3IsWnIsWHIsdG8sZW8saW8sbm8scm8sb28sc28sYW8sY28sdW8saG8sZm8scG8sX28sbG8sdm8sYm8sbW8sZ28seW8sa28sd28seG8sT28sQ28sRW8sUG8sVG8sQW8sRm8sU28sam8sTG8sem8sQm8sSW8sTW8sV28sRG8sVW8sUm8sTm8sSG8scW8sSm8sVm8sJG8sUW8sR28sWW8sS28sWm8sWG8sdHMsZXMsaXMsbnMscnMsb3Msc3MsYXMsY3MsdXMsaHMsZnMscHMsX3MsbHMsZHMsdnMsYnMsbXMsZ3MseXMsa3Msd3MseHMsT3MsQ3MsRXMsUHMsVHMsQXMsRnMsU3MsanMsTHMsenMsQnMsSXMsTXMsV3MsRHMsVXMsUnMsTnMsSHMscXMsSnMsVnMsJHMsUXMsR3MsWXMsS3MsWnMsWHMsdGEsZWEsaWEsbmEscmEsb2Esc2EsYWEsY2EsdWEsaGEsZmEscGEsX2EsbGEsZGEsdmEsYmEsbWEsZ2EseWEsa2Esd2EseGEsT2EsQ2EsRWEsUGEsVGEsQWEsRmEsU2EsamEsTGEsemEsQmEsSWEsTWEsV2EsRGEsVWEsUmEsTmEsSGEscWEsSmEsVmEsJGEsUWEsR2EsWWEsS2EsWmEsWGEsdGMsZWMsaWMsbmMscmMsb2Msc2MsYWMsY2MsdWMsaGMsZmMscGMsX2MsbGMsZGMsdmMsYmMsbWMsZ2MseWMsa2Msd2MseGMsT2MsQ2MsRWMsUGMsVGMsQWMsRmMsU2MsamMsTGMsemMsQmMsSWMsTWMsV2MsRGMsVWMsUmMsTmMsSGM7ZT13NS5mNigyMzQpO2k9dzUuWjYoMzk0KTtuPXc1Llo2KDM4OSk7cj13NS5mNig0NTYpO289dzUuWjYoNSk7cz13NS5aNig0NjEpO2E9dzUuWjYoMjU1KTtjPXc1Llo2KDg4KTt1PXc1Llo2KDE3OCk7aD13NS5mNigxODcpO2Y9dzUuZjYoNDgxKTtwPXc1LmY2KDM3Nik7Xz13NS5aNigyNDYpO2w9dzUuZjYoMjQ1KTtkPXc1Llo2KDE0OSk7dj13NS5aNigzNjUpO2I9dzUuWjYoNDgzKTttPXc1LmY2KDcyKTtnPXc1Llo2KDMxMyk7eT13NS5aNigyNTMpO2s9dzUuWjYoNTApO3c9dzUuZjYoNDY5KTt4PS9lZGdlLztPPXc1LmY2KDMzNCk7Qz13NS5aNigzMzMpO0U9dzUuWjYoNTMpO1A9dzUuWjYoMTcpO1Q9dzUuWjYoMzQzKTtBPXc1LmY2KDE5MCk7Rj0vZmlyZWZveHxmeGlvcy9pO1M9dzUuZjYoMjEyKTtqPXc1Llo2KDI1OSk7TD13NS5aNigyNDEpO3o9dzUuZjYoMTA5KTtCPXc1LmY2KDk3KTtJPXc1Llo2KDQxOCk7TT13NS5aNigzODgpO1c9dzUuWjYoNDM1KTtEPXc1LmY2KDM3NSk7VT13NS5aNigzNTgpO1I9dzUuZjYoMTcyKTtOPXc1LmY2KDIzOCk7SD13NS5aNig0ODcpO3E9dzUuWjYoMjIxKTtKPXc1LmY2KDIxMSk7Vj13NS5mNigyMTApOyQ9dzUuWjYoMTYyKTtRPXc1Llo2KDY0KTtHPXc1LmY2KDM0Mik7WT13NS5aNigxMjgpO0s9dzUuWjYoMjA4KTtaPXc1LmY2KDE0MSk7WD13NS5aNig0MzYpO3R0PXc1Llo2KDQ0MSk7ZXQ9dzUuWjYoMjgwKTtpdD13NS5mNigxNzcpO250PXc1Llo2KDEyKTtydD13NS5aNigyNzMpO290PXc1Llo2KDM1NSk7c3Q9L3dpbmRvd3MvO2F0PXc1Llo2KDI1OCk7Y3Q9Lyg/OmZ0cHxodHRwcz8pOlwvXC8oW15cL10rKS87dXQ9dzUuWjYoMjE4KTtodD13NS5mNig0NDIpO2Z0PXc1LmY2KDI2Myk7cHQ9dzUuWjYoMTY2KTtfdD13NS5aNigxMzgpO2x0PXc1Llo2KDMyOSk7ZHQ9dzUuWjYoNDEpO3Z0PXc1Llo2KDIwNyk7YnQ9dzUuWjYoMzYyKTttdD13NS5mNigxNjUpO2d0PXc1LmY2KDM3MSk7eXQ9dzUuWjYoMzYwKTtrdD13NS5aNigyMzkpO3d0PXc1LmY2KDM2Myk7eHQ9dzUuZjYoODIpO090PTk1MDI9PT0yNTAwPzB4MjE0Yzp3NS5mNigxNDgpO0N0PXc1LmY2KDE4NSk7RXQ9dzUuWjYoMTQ0KTtQdD13NS5mNigzMjApO1R0PXc1Llo2KDU1KTtBdD13NS5aNigzMTgpO0Z0PXc1Llo2KDE4OSk7U3Q9dzUuWjYoMTAxKTtqdD0vTVNJRVxzKyhbXGRcLl0rKS9pO0x0PXc1Llo2KDM0MCk7enQ9dzUuZjYoMTYwKTtCdD13NS5aNig0NDQpO0l0PXc1Llo2KDQxMyk7TXQ9dzUuZjYoNDU1KTtXdD13NS5mNig1MSk7RHQ9dzUuWjYoNDE1KTtVdD13NS5mNigyOTkpO1J0PXc1Llo2KDQxNik7TnQ9dzUuWjYoMzczKTtIdD13NS5aNig0MzApO3F0PXc1Llo2KDE2MSk7SnQ9dzUuZjYoMjQ4KTtWdD13NS5aNig0MjcpOyR0PXc1LmY2KDQyNCk7UXQ9dzUuZjYoMzUxKTtHdD13NS5aNigyOTApO1l0PXc1Llo2KDI4MSk7S3Q9dzUuWjYoMjk2KTtadD13NS5aNigyODYpO1h0PXc1LmY2KDE0Nik7dGU9dzUuWjYoNjApO2VlPXc1Llo2KDE0Myk7aWU9dzUuWjYoMjE1KTtuZT0vcmFkaW98Y2hlY2tib3gvaTtyZT13NS5mNigyNzUpO29lPXc1Llo2KDEyNCk7c2U9dzUuZjYoMjE2KTthZT13NS5aNigzMDIpO2NlPXc1LmY2KDExNyk7dWU9LzEyMDd8NjMxMHw2NTkwfDNnc298NHRocHw1MFsxLTZdaXw3NzBzfDgwMnN8YSB3YXxhYmFjfGFjKGVyfG9vfHNcLSl8YWkoa298cm4pfGFsKGF2fGNhfGNvKXxhbW9pfGFuKGV4fG55fHl3KXxhcHR1fGFyKGNofGdvKXxhcyh0ZXx1cyl8YXR0d3xhdShkaXxcLW18ciB8cyApfGF2YW58YmUoY2t8bGx8bnEpfGJpKGxifHJkKXxibChhY3xheil8YnIoZXx2KXd8YnVtYnxid1wtKG58dSl8YzU1XC98Y2FwaXxjY3dhfGNkbVwtfGNlbGx8Y2h0bXxjbGRjfGNtZFwtfGNvKG1wfG5kKXxjcmF3fGRhKGl0fGxsfG5nKXxkYnRlfGRjXC1zfGRldml8ZGljYXxkbW9ifGRvKGN8cClvfGRzKDEyfFwtZCl8ZWwoNDl8YWkpfGVtKGwyfHVsKXxlcihpY3xrMCl8ZXNsOHxleihbNC03XTB8b3N8d2F8emUpfGZldGN8Zmx5KFwtfF8pfGcxIHV8ZzU2MHxnZW5lfGdmXC01fGdcLW1vfGdvKFwud3xvZCl8Z3IoYWR8dW4pfGhhaWV8aGNpdHxoZFwtKG18cHx0KXxoZWlcLXxoaShwdHx0YSl8aHAoIGl8aXApfGhzXC1jfGh0KGMoXC18IHxffGF8Z3xwfHN8dCl8dHApfGh1KGF3fHRjKXxpXC0oMjB8Z298bWEpfGkyMzB8aWFjKCB8XC18XC8pfGlicm98aWRlYXxpZzAxfGlrb218aW0xa3xpbm5vfGlwYXF8aXJpc3xqYSh0fHYpYXxqYnJvfGplbXV8amlnc3xrZGRpfGtlaml8a2d0KCB8XC8pfGtsb258a3B0IHxrd2NcLXxreW8oY3xrKXxsZShub3x4aSl8bGcoIGd8XC8oa3xsfHUpfDUwfDU0fFwtW2Etd10pfGxpYnd8bHlueHxtMVwtd3xtM2dhfG01MFwvfG1hKHRlfHVpfHhvKXxtYygwMXwyMXxjYSl8bVwtY3J8bWUocmN8cmkpfG1pKG84fG9hfHRzKXxtbWVmfG1vKDAxfDAyfGJpfGRlfGRvfHQoXC18IHxvfHYpfHp6KXxtdCg1MHxwMXx2ICl8bXdicHxteXdhfG4xMFswLTJdfG4yMFsyLTNdfG4zMCgwfDIpfG41MCgwfDJ8NSl8bjcoMCgwfDEpfDEwKXxuZSgoY3xtKVwtfG9ufHRmfHdmfHdnfHd0KXxub2soNnxpKXxuenBofG8yaW18b3AodGl8d3YpfG9yYW58b3dnMXxwODAwfHBhbihhfGR8dCl8cGR4Z3xwZygxM3xcLShbMS04XXxjKSl8cGhpbHxwaXJlfHBsKGF5fHVjKXxwblwtMnxwbyhja3xydHxzZSl8cHJveHxwc2lvfHB0XC1nfHFhXC1hfHFjKDA3fDEyfDIxfDMyfDYwfFwtWzItN118aVwtKXxxdGVrfHIzODB8cjYwMHxyYWtzfHJpbTl8cm8odmV8em8pfHM1NVwvfHNhKGdlfG1hfG1tfG1zfG55fHZhKXxzYygwMXxoXC18b298cFwtKXxzZGtcL3xzZShjKFwtfDB8MSl8NDd8bWN8bmR8cmkpfHNnaFwtfHNoYXJ8c2llKFwtfG0pfHNrXC0wfHNsKDQ1fGlkKXxzbShhbHxhcnxiM3xpdHx0NSl8c28oZnR8bnkpfHNwKDAxfGhcLXx2XC18diApfHN5KDAxfG1iKXx0MigxOHw1MCl8dDYoMDB8MTB8MTgpfHRhKGd0fGxrKXx0Y2xcLXx0ZGdcLXx0ZWwoaXxtKXx0aW1cLXx0XC1tb3x0byhwbHxzaCl8dHMoNzB8bVwtfG0zfG01KXx0eFwtOXx1cChcLmJ8ZzF8c2kpfHV0c3R8djQwMHx2NzUwfHZlcml8dmkocmd8dGUpfHZrKDQwfDVbMC0zXXxcLXYpfHZtNDB8dm9kYXx2dWxjfHZ4KDUyfDUzfDYwfDYxfDcwfDgwfDgxfDgzfDg1fDk4KXx3M2MoXC18ICl8d2ViY3x3aGl0fHdpKGcgfG5jfG53KXx3bWxifHdvbnV8eDcwMHx5YXNcLXx5b3VyfHpldG98enRlXC0vaTtoZT13NS5aNigxNCk7ZmU9dzUuWjYoMjMpO3BlPXc1Llo2KDExMSk7X2U9dzUuWjYoMjYwKTtsZT0vbWFjaW50b3NoLztkZT13NS5mNig5MCk7dmU9dzUuZjYoMzMyKTtiZT13NS5mNigyMDApO21lPS9tb3ppbGxhLztnZT13NS5mNigxNzQpO3llPXc1LmY2KDEzNSk7a2U9dzUuZjYoMzc4KTt3ZT0vKD86XHcrKVwvKFtcZFwuXSspKD86JHxcc3xcL3xcKSkrL2k7eGU9dzUuWjYoMzQpO09lPXc1LmY2KDM3Nyk7Q2U9dzUuZjYoNDcyKTtFZT13NS5mNigxMTUpO1BlPXc1Llo2KDE5NCk7VGU9dzUuZjYoNDE0KTtBZT13NS5mNig2NSk7RmU9dzUuWjYoMTA3KTtTZT13NS5mNig0MDMpO2plPXc1LmY2KDI5Mik7TGU9dzUuWjYoNTgpO3plPXc1Llo2KDE2NCk7QmU9Lyg/Ok9QUnxPcGVyYXxPUGlPUylcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0llPXc1LmY2KDIyOSk7TWU9dzUuWjYoNDY3KTtXZT13NS5mNig0NjMpO0RlPXc1Llo2KDQzNyk7VWU9dzUuZjYoMTkzKTtSZT13NS5aNigzMyk7TmU9dzUuZjYoODUpO0hlPXc1LmY2KDQwOCk7cWU9dzUuZjYoMjApO0plPXc1Llo2KDk4KTtWZT13NS5mNigxMzYpOyRlPXc1LmY2KDI3Nyk7UWU9dzUuWjYoNyk7R2U9dzUuWjYoODYpO1llPXc1LmY2KDE3NSk7S2U9dzUuWjYoMjcxKTtaZT13NS5aNigzOTkpO1hlPXc1LmY2KDEzMyk7dGk9dzUuWjYoOTUpO2VpPXc1LmY2KDE1Mik7aWk9dzUuWjYoMzEyKTtuaT13NS5aNigyOTgpO3JpPXc1Llo2KDQzMyk7b2k9dzUuZjYoMTgzKTtzaT0vYW5kcm9pZHx3ZWJvc3xpcGhvbmV8aXBhZHxpcG9kfGJsYWNrYmVycnl8aWVtb2JpbGV8b3BlcmFccyttaW5pLzthaT13NS5aNigzODIpO2NpPXc1LmY2KDEyNyk7dWk9dzUuWjYoMzM2KTtoaT13NS5aNigyOTUpO2ZpPXc1Llo2KDMwNyk7cGk9dzUuZjYoMjUxKTtfaT13NS5mNig0MTkpO2xpPXc1LmY2KDMxKTtkaT13NS5aNigyNzQpO3ZpPXc1LmY2KDQ0Nik7Ymk9dzUuWjYoMTYzKTttaT13NS5mNig5NCk7Z2k9dzUuWjYoMjIwKTt5aT13NS5aNigzNTQpO2tpPXc1Llo2KDE4Nik7d2k9dzUuZjYoNDEyKTt4aT13NS5mNig0NDcpO09pPXc1Llo2KDQwNCk7Q2k9dzUuZjYoNTIpO0VpPXc1Llo2KDY4KTtQaT13NS5mNigzNSk7VGk9dzUuZjYoNTYpO0FpPXc1LmY2KDEwMyk7Rmk9dzUuWjYoMzc5KTtTaT13NS5mNig0NTEpO2ppPXc1Llo2KDQ3NSk7TGk9dzUuWjYoMjEpO3ppPXc1LmY2KDE3MSk7Qmk9dzUuZjYoMTMxKTtJaT13NS5mNig0ODgpO01pPXc1LmY2KDE4MCk7V2k9dzUuWjYoNDQ1KTtEaT0vYnV0dG9ufGlucHV0L2k7VWk9dzUuWjYoMTM0KTtSaT13NS5mNigyMjgpO05pPXc1LmY2KDc4KTtIaT13NS5aNig1NCk7cWk9dzUuWjYoMTY3KTtKaT13NS5mNig0NjUpO1ZpPXc1Llo2KDMzNSk7JGk9dzUuZjYoMTY5KTtRaT13NS5mNigzNjgpO0dpPXc1LmY2KDI4Nyk7WWk9dzUuWjYoMzQ4KTtLaT13NS5mNigzMDEpO1ppPXc1LmY2KDQ0KTtYaT13NS5mNigyNjQpO3RuPXc1LmY2KDc3KTtlbj13NS5mNig0NjApO25uPXc1LmY2KDMzNyk7cm49dzUuWjYoMTU3KTtvbj13NS5aNigzMjUpO3NuPXc1LmY2KDIzNyk7YW49dzUuZjYoNDg2KTtjbj13NS5mNigxNTUpO3VuPXc1Llo2KDEwNCk7aG49dzUuWjYoMzU2KTtmbj13NS5aNig0OCk7cG49dzUuZjYoMjQyKTtfbj13NS5mNig0MDApO2xuPXc1Llo2KDI2NSk7ZG49dzUuZjYoMjg0KTt2bj13NS5aNigyODgpO2JuPXc1LmY2KDQzOSk7bW49dzUuWjYoMzQxKTtnbj13NS5aNigyMDMpO3luPXc1LmY2KDIxNyk7a249dzUuWjYoMzIxKTt3bj13NS5mNig0MzIpO3huPXc1LmY2KDIyKTtPbj02NDc9PSg0OTguMjUsMjAwKT8oMS42OWUrMyw0NjkpOnc1LmY2KDk2KTtDbj13NS5mNigzODMpO0VuPXc1LmY2KDM1OSk7UG49dzUuWjYoMzUwKTtUbj0vXk9wZXJhXC8uKj9QcmVzdG9cLy4qP1ZlcnNpb25cLyhbXGRcLl0rKS9pO0FuPXc1Llo2KDE5MSk7Rm49dzUuZjYoNDQ4KTtTbj13NS5mNigyNDQpO2puPXc1Llo2KDIzMSk7TG49dzUuZjYoMTIwKTt6bj13NS5mNig0NTApO0JuPXc1Llo2KDExOCk7SW49dzUuZjYoNik7TW49dzUuWjYoNzUpO1duPXc1LmY2KDEyMyk7RG49dzUuWjYoMzA0KTtVbj0vcmVzZXR8YnV0dG9ufHN1Ym1pdC9pO1JuPXc1LmY2KDQ4NCk7Tm49dzUuZjYoMTk2KTtIbj13NS5mNigyMjYpO3FuPXc1LmY2KDM1Myk7Sm49dzUuWjYoMTgpO1ZuPXc1LmY2KDE2OCk7JG49dzUuZjYoMzE0KTtRbj13NS5aNig0NzEpO0duPXc1LmY2KDQ1OSk7WW49dzUuZjYoMzE3KTtLbj13NS5mNigyNDkpO1puPS9WZXJzaW9uXC8oW1xkXC5dKylccysobW9iaWxlXC9bXlxzXStccyspP1NhZmFyaS9pO1huPXc1LmY2KDE0NSk7dHI9dzUuWjYoMjQwKTtlcj13NS5mNigxOSk7aXI9dzUuWjYoNDg5KTtucj13NS5aNigyNzYpO3JyPXc1LmY2KDQ4Mik7b3I9dzUuZjYoNDY2KTtzcj13NS5aNigyNzApO2FyPXc1Llo2KDE0Nyk7Y3I9dzUuZjYoMjQpO3VyPXc1LmY2KDgzKTtocj13NS5aNigyNzkpO2ZyPXc1Llo2KDQzKTtwcj13NS5mNig0MjApO19yPXc1LmY2KDQ2Mik7bHI9L2Nocm9tZXxjcmlvcy87ZHI9dzUuWjYoNDExKTt2cj0vIy4qJC87YnI9dzUuZjYoMTU5KTttcj13NS5aNigwKTtncj0vKGNvbXBhdGlibGV8d2Via2l0KS87eXI9L0Z4aU9TXC8oW1xkXC5dKykvaTtrcj13NS5mNig1OSk7d3I9dzUuWjYoMzgpO3hyPXc1LmY2KDE5OCk7T3I9dzUuZjYoMTApO0NyPXc1LmY2KDQ2NCk7RXI9dzUuWjYoMTE2KTtQcj13NS5mNigzNjkpO1RyPXc1LmY2KDEyMSk7QXI9L21zaWV8dHJpZGVudFwvLztGcj13NS5mNigyNTYpO1NyPXc1LmY2KDQ3MCk7anI9dzUuZjYoMjkzKTtMcj13NS5mNig4Nyk7enI9L2Nocm9tZXxvcGVyYXxlZGdlfGNyaW9zfG9waW9zfGZ4aW9zfHVjL2k7QnI9dzUuWjYoMjUyKTtJcj13NS5aNigxMDgpO01yPXc1LmY2KDkxKTtXcj13NS5mNigyKTtEcj13NS5mNigyNjgpO1VyPXc1Llo2KDI3OCk7UnI9dzUuWjYoMzI2KTtOcj13NS5mNig5KTtIcj13NS5mNigxMzIpO3FyPXc1Llo2KDMyNCk7SnI9LyhhbmRyb2lkfGJiXGQrfG1lZWdvKS4rbW9iaWxlfGF2YW50Z298YmFkYVwvfGJsYWNrYmVycnl8YmxhemVyfGNvbXBhbHxlbGFpbmV8ZmVubmVjfGhpcHRvcHxpZW1vYmlsZXxpcChob25lfG9kKXxpcGFkfGlyaXN8a2luZGxlfEFuZHJvaWR8U2lsa3xsZ2UgfG1hZW1vfG1pZHB8bW1wfG5ldGZyb250fG9wZXJhIG0ob2J8aW4paXxwYWxtKCBvcyk/fHBob25lfHAoaXhpfHJlKVwvfHBsdWNrZXJ8cG9ja2V0fHBzcHxzZXJpZXMoNHw2KTB8c3ltYmlhbnx0cmVvfHVwXC4oYnJvd3NlcnxsaW5rKXx2b2RhZm9uZXx3YXB8d2luZG93cyAoY2V8cGhvbmUpfHhkYXx4aWluby9pO1ZyPSgyNDk2LDg0OTUpIT05NzY/dzUuZjYoMjk3KTohITA7JHI9dzUuWjYoNDI2KTtRcj13NS5mNigyMjUpO0dyPXc1LmY2KDE4OCk7WXI9dzUuZjYoNDMxKTtLcj13NS5mNigyNTApO1pyPXc1Llo2KDI2MSk7WHI9dzUuZjYoMTc2KTt0bz13NS5mNigyNSk7ZW89dzUuWjYoMTk1KTtpbz13NS5mNigzMjgpO25vPXc1Llo2KDQwOSk7cm89dzUuZjYoMzQ5KTtvbz13NS5aNigzMjIpO3NvPXc1Llo2KDMxNik7YW89dzUuWjYoMzg1KTtjbz13NS5mNigxMTMpO3VvPXc1LmY2KDQ3NCk7aG89dzUuWjYoMjY3KTtmbz13NS5mNigyNjYpO3BvPXc1Llo2KDQwNyk7X289dzUuWjYoNjMpO2xvPXc1Llo2KDM2Nyk7dm89L3dlYmtpdC87Ym89dzUuWjYoNDUyKTttbz0vc2FmYXJpLztnbz13NS5aNig5Myk7eW89L29wZXJhfG9wcnxvcGlvc1wvLztrbz13NS5aNigzMzEpO3dvPXc1LmY2KDI2KTt4bz13NS5aNigxODIpO09vPXc1LmY2KDM4MCk7Q289dzUuWjYoMTEwKTtFbz13NS5mNigxMTIpO1BvPXc1LmY2KDMwNSk7VG89dzUuZjYoNzQpO0FvPXc1LmY2KDEwMik7Rm89dzUuZjYoNDc4KTtTbz0vYW5kcm9pZC87am89dzUuZjYoMzkxKTtMbz13NS5aNigzMDYpO3pvPXc1LmY2KDQwNSk7Qm89dzUuWjYoOTkpO0lvPXc1Llo2KDM5Nik7TW89dzUuWjYoNDQwKTtXbz13NS5mNig2Nyk7RG89dzUuWjYoNDAxKTtVbz13NS5aNigxNTQpO1JvPXc1LmY2KDI4OSk7Tm89dzUuWjYoMzkzKTtIbz13NS5mNig3OSk7cW89dzUuWjYoMTQwKTtKbz13NS5aNigzNzIpO1ZvPXc1Llo2KDQyMik7JG89dzUuZjYoNDQ5KTtRbz13NS5aNigzOTUpO0dvPXc1Llo2KDIwNik7WW89dzUuWjYoMjQzKTtLbz13NS5mNig2Mik7Wm89dzUuWjYoNDg1KTtYbz13NS5mNigxMzApO3RzPXc1Llo2KDE1Nik7ZXM9dzUuZjYoMjAxKTtpcz13NS5aNigzNjEpO25zPXc1LmY2KDMxNSk7cnM9dzUuWjYoMTIyKTtvcz13NS5mNig3MCk7c3M9dzUuZjYoMjU3KTthcz13NS5aNig0MjUpO2NzPXc1LmY2KDMzMCk7dXM9dzUuZjYoNzMpO2hzPXc1LmY2KDMwMyk7ZnM9dzUuWjYoMTAwKTtwcz13NS5mNigzNzQpO19zPXc1Llo2KDY2KTtscz0oODI2LjA2LDk5Ny4yKSE9PSgyNjIuNzksNzAwLjQpP3c1LmY2KDE3OSk6KG81LHc1Llo2KDM2KSk7ZHM9dzUuWjYoMjIzKTt2cz13NS5mNigxMTkpO2JzPXc1Llo2KDMwOCk7bXM9dzUuZjYoNDcpO2dzPXc1Llo2KDMxOSk7eXM9dzUuZjYoMTgxKTtrcz13NS5mNigzNDUpO3dzPXc1Llo2KDE1KTt4cz0vXigjfGphdmFzY3JpcHQpL2k7T3M9dzUuWjYoMzY2KTtDcz13NS5aNigxOTkpO0VzPXc1Llo2KDM4NCk7UHM9dzUuZjYoNDA2KTtUcz13NS5mNig0MjkpO0FzPXc1LmY2KDI0Nyk7RnM9dzUuZjYoNDQzKTtTcz13NS5mNigzMzgpO2pzPS8oPzpGaXJlZm94fENocm9tZSlcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0xzPXc1Llo2KDM3MCk7enM9dzUuZjYoMzEwKTtCcz13NS5aNigzODYpO0lzPXc1Llo2KDI5NCk7TXM9dzUuWjYoMjgzKTtXcz13NS5aNigzODcpO0RzPXc1LmY2KDM5KTtVcz13NS5aNigxMDYpO1JzPXc1LmY2KDIwMik7TnM9dzUuWjYoMzExKTtIcz13NS5mNig0MzgpO3FzPXc1LmY2KDcxKTtKcz13NS5mNigxMzcpO1ZzPXc1Llo2KDI3KTskcz13NS5aNig4NCk7UXM9L18vZztHcz13NS5aNigxNTgpO1lzPXc1Llo2KDE5Mik7S3M9dzUuZjYoNDIzKTtacz13NS5mNigzMzkpO1hzPXc1Llo2KDE1MCk7dGE9dzUuWjYoMTQyKTtlYT13NS5mNig0KTtpYT13NS5aNig0MTApO25hPXc1LmY2KDIzNik7cmE9dzUuZjYoNDAyKTtvYT13NS5mNigyMTQpO3NhPXc1Llo2KDQxNyk7YWE9dzUuZjYoMTg0KTtjYT13NS5aNigxOTcpO3VhPXc1LmY2KDIzMyk7aGE9dzUuZjYoMzApO2ZhPS9saW51eC87cGE9dzUuWjYoMjgyKTtfYT0vb3BlcmEvO2xhPXc1Llo2KDM2NCk7ZGE9dzUuWjYoMTczKTt2YT13NS5aNigzMDApO2JhPXc1LmY2KDIzNSk7bWE9L2VkZ2V8b3ByXC8vO2dhPXc1LmY2KDI4NSk7eWE9dzUuZjYoNDYpO2thPXc1Llo2KDEzKTt3YT13NS5aNigyMDUpO3hhPXc1LmY2KDIyNCk7T2E9dzUuZjYoMzQ0KTtDYT13NS5aNigyMTMpO0VhPS9FZGdlXC8oW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTtQYT13NS5mNigxMjYpO1RhPXc1Llo2KDExNCk7QWE9L14oPzouKlteXHddKSooW1x3XSspXHMqJC9pO0ZhPXc1LmY2KDM5Mik7U2E9dzUuWjYoNjkpO2phPXc1LmY2KDMpO0xhPXc1LmY2KDQ1KTt6YT13NS5mNigzMjMpO0JhPXc1LmY2KDEzOSk7SWE9dzUuWjYoMTI5KTtNYT13NS5mNig4KTtXYT13NS5mNig0Mik7RGE9dzUuZjYoMSk7VWE9dzUuWjYoODkpO1JhPXc1LmY2KDIwOSk7TmE9dzUuZjYoMjgpO0hhPXc1LmY2KDIxOSk7cWE9dzUuWjYoMjMwKTtKYT13NS5aNig4MSk7VmE9dzUuWjYoMzA5KTskYT13NS5mNigzNDcpO1FhPXc1LmY2KDM4MSk7R2E9dzUuWjYoOTIpO1lhPXc1LmY2KDEyNSk7S2E9dzUuWjYoMzIpO1phPXc1LmY2KDM5MCk7WGE9dzUuZjYoNDY4KTt0Yz13NS5mNigzNik7ZWM9dzUuZjYoMzk3KTtpYz13NS5aNig0ODApO25jPXc1LmY2KDIyMik7cmM9dzUuZjYoNDU3KTtvYz13NS5aNigzNTIpO3NjPXc1Llo2KDI5KTthYz0vaShQaG9uZXxQYWR8UG9kKS9pO2NjPXc1LmY2KDQzNCk7dWM9dzUuZjYoNDIxKTtoYz13NS5aNig0NzMpO2ZjPXc1LmY2KDE3MCk7cGM9dzUuZjYoMjYyKTtfYz13NS5aNigxNTEpO2xjPXc1LmY2KDQ5KTtkYz13NS5mNigyNTQpO3ZjPXc1LmY2KDQyOCk7YmM9dzUuZjYoMTUzKTttYz13NS5aNigyNjkpO2djPXc1Llo2KDU3KTt5Yz13NS5mNigzNTcpO2tjPS9UcmlkZW50XC8uKj9ydjooW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTt3Yz13NS5aNig0NTMpO3hjPXc1Llo2KDQ3Nik7T2M9dzUuZjYoNDU0KTtDYz13NS5mNig0NTgpO0VjPXc1LmY2KDgwKTtQYz0vOlxkKyQvO1RjPXc1Llo2KDI3Mik7QWM9dzUuWjYoMzI3KTtGYz13NS5mNig0NzkpO1NjPXc1Llo2KDYxKTtqYz13NS5mNigyOTEpO0xjPXc1Llo2KDIzMik7emM9dzUuWjYoMTEpO0JjPXc1LmY2KDM0Nik7SWM9dzUuWjYoMTA1KTtNYz13NS5aNig0NzcpO1djPXc1Llo2KDQwKTtEYz13NS5aNig3Nik7VWM9dzUuWjYoMTYpO1JjPXc1Llo2KDIyNyk7TmM9dzUuWjYoMjA0KTtIYz13NS5mNigzNyk7IWZ1bmN0aW9uKHQseSxSdCxYZSxyaSx5aSxBaSxObixkcixVcixpbyxybyxDbyxHcyx6YyxVYyxxYyxKYyxWYywkYyl7InVzZSBzdHJpY3QiO3ZhciBRYyxHYyxZYyxLYyxaYyxYYyx0dSxldSxpdSxudSxydSxvdSxzdSxhdSxjdSx1dSxodSxmdSxwdSxfdSxsdSxkdSx2dSxidSxtdSxndSx5dSxrdSx3dSx4dSxPdSxDdSxFdSxQdSxUdSxBdSxGdTtydT10O3c1Llk0KDApO291PXc1LmM0KHVpLEdyLGJyLF9yLFllLFNpLFR0LGRuLFllLHUsbWksT3QsR3IsWWUsdXIpO3c1Llk0KDEpO3N1PXc1LnU0KGZlLFR0LEh0LG90LFR0KTt3NS5vNCgxKTthdT13NS51NChXaSxQZSxLLF9jLFBlKTt3NS5ZNCgyKTtjdT13NS5jNChydSxnaSk7dzUubzQoMik7dXU9dzUudTQocnUsWm8pO3c1Lm80KDMpO2h1PXc1LmM0KE9jLHJ1LEJpLFV0LEdyLEdyKTt3NS5vNCgyKTtmdT13NS51NChydSwkYSk7cHU9YW87X3U9eGk7bHU9THI7ZHU9bW47dnU9eVtmXVtxbytHcitDXVtYcytHcit0cytHcituY10oKTtidT17dW5kZXI6bzUsbmV3VGFiOm81fTttdT1udWxsO2d1PW81O3l1PSF7fTtrdT1mdW5jdGlvbigpe307dzUuWTQoNCk7d3U9dzUudTQoR3IsT3QsRXQpO3h1PXJpW3ZzK0dyK0FvXXx8e3NyYzpudWxsfTt3NS5vNCg0KTtPdT15W2ZdW3c1LmM0KGVvLEdyLGtyKV07Q3U9eXU7RXU9eXU7UHU9eXU7VHU9ZnVuY3Rpb24oKXt2YXIgRTksbzksdzk7dHJ5e0U5PTM2MDIzMDM0MztvOT01MDA4ODEwMDM7dzk9Mjtmb3IodmFyIGI1PTE7dzUuTDEoYjUudG9TdHJpbmcoKSxiNS50b1N0cmluZygpLmxlbmd0aCw1ODI0MykhPT1FOTtiNSsrKXtyZXR1cm4geVtwXT09PXlbcXJdfHwheVtwXVttcl1bRWldWyhYcy1HciklaF0oKSE9VGM/eVtwXTp5W3FyXTt3OSs9Mjt9aWYodzUuTDEodzkudG9TdHJpbmcoKSx3OS50b1N0cmluZygpLmxlbmd0aCw1MTUyOSkhPT1vOSl7cmV0dXJuIHlbcF0hPT15W3FyXSYmdHlwZW9mIHlbcF1bbXJdW0VpXVtYcytHcitoXSgpPT09VGM/eVtwXTp5W3FyXTt9fWNhdGNoKHQpe3ZhciBBOSxJOSxLOTtBOT0yMjIyMDY4MDc7STk9NDU1MTUwMTA4O0s5PTI7Zm9yKHZhciBROT0xO3c1LkwxKFE5LnRvU3RyaW5nKCksUTkudG9TdHJpbmcoKS5sZW5ndGgsNjg5NDApIT09QTk7UTkrKyl7cmV0dXJuIFB1PWd1LHlbcXJdO0s5Kz0yO31pZih3NS5MMShLOS50b1N0cmluZygpLEs5LnRvU3RyaW5nKCkubGVuZ3RoLDU2NzU3KSE9PUk5KXtyZXR1cm4gUHU9Z3UseVtxcl07fX19KCk7QXU9VHVbSmFdW1FhXTtGdT1mdW5jdGlvbigpe3ZhciB0O3RyeXt0PVR1W0VpXVt1bl07fWNhdGNoKHQpe31yZXR1cm4hUHUmJnR8fChidT17bmV3VGFiOmd1LHVuZGVyOnl1fSx0PXJpW2lhXSksdDt9KCk7S2M9e3Q6W10sbjpmdW5jdGlvbih0KXt2YXIgSDcsdjcsVDc7SDc9MTg2NDAwNjYwNDt2Nz03MzE4NDIzNTE7VDc9Mjtmb3IodmFyIG83PTE7dzUuZDEobzcudG9TdHJpbmcoKSxvNy50b1N0cmluZygpLmxlbmd0aCw5MTY5NikhPT1INztvNysrKXt0eXBlb2YgeVt3c10hPT1nZSYmeVt3c11bT29dJiZObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO1Q3Kz0yO31pZih3NS5kMShUNy50b1N0cmluZygpLFQ3LnRvU3RyaW5nKCkubGVuZ3RoLDI0OTc5KSE9PXY3KXt+eVt3c109PT1nZXx8eVt3c11bT29dfHxObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO319LHI6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9MDt0PHRoaXMudFtwaV07dCsrKXt0aGlzLm4odGhpcy50W3RdKTt9fSxlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9W3RdW0tuXShBaVtYdF1bcW5dW0NpXShhcmd1bWVudHMsMSkpO3RoaXMudFtNcl0oZSk7R2MuaSgpJiZ0aGlzLm4oZSk7fX07ZXU9e3M6ZnVuY3Rpb24oKXtpZih0aGlzLm89PT1tdSl0cnl7eVthcytHcit0aV1bbGkrR3IrRXJdKHJ1LDEpO3lbYXMrR3IrdGldW3huK0dyK0VyXShydSk7dGhpcy5vPWd1O31jYXRjaCh0KXt2YXIgdzcscDcsYjk7dzc9LTE2MTA5ODQyMzA7cDc9OTg2NDU4NDQ2O2I5PTI7Zm9yKHZhciBtOT0xO3c1LmQxKG05LnRvU3RyaW5nKCksbTkudG9TdHJpbmcoKS5sZW5ndGgsODg3MTMpIT09dzc7bTkrKyl7dGhpcy5vPXl1O2I5Kz0yO31pZih3NS5MMShiOS50b1N0cmluZygpLGI5LnRvU3RyaW5nKCkubGVuZ3RoLDMzNDE0KSE9PXA3KXt0aGlzLm89eXU7fXRoaXMubz15dTt9cmV0dXJuIHRoaXMubzt9LHU6ZnVuY3Rpb24odCl7dGhpcy5zKCk/eVthcytHcit0aV1beG4rR3IrRXJdKHQpOnR1LnUodCk7fSxjOmZ1bmN0aW9uKHQpe3RyeXtyZXR1cm4gdGhpcy5zKCk/eVthcytHcit0aV1bYWErR3IrRXJdKHQpOnR1LmModCk7fWNhdGNoKHQpe3JldHVybiBtdTt9fSxvOm11LGE6ZnVuY3Rpb24odCxlKXt0aGlzLnMoKT95W2FzK0dyK3RpXVtsaStHcitFcl0odCxlKTp0dS5hKHQsZSk7fX07dHU9e3U6ZnVuY3Rpb24odCl7dGhpcy5hKHQsMCxuZXcgSmMoMCkpO30sYzpmdW5jdGlvbih0KXt2YXIgZTt3NS5ZNCg1KTtlPXJpW050XVtiY10obmV3IFVyKHc1LnU0KGVyLEdyLEdyLGV0LHNjLHQsR3IsR3IsdHQsdWMsR3IsR3IsSm8sR3IpLGxzKSk7cmV0dXJuIGU/VmMoZVswXVtDcl0oR3IrZXQrR3IpWzFdKTptdTt9LGE6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO3M9aXx8R3I7cyYmKHR5cGVvZiBzPT09V3Q/KG89bmV3IEpjKCkpW2xpK0dyK0hdKG9bYWErR3IrSF0oKSsxZTMqcyk6bz1zLHM9R3IrZXIrZmkrZXQrR3Irb1tYcytHcitWcitHcit4YytHcitXK0dyK2hdKCkpO3JpW050XT10KyhHcitldCtHcikrJGMoR3IrZSkrcysocj9HcitlcitkcytldCtHcityOkdyKSsoR3IrZXIrQXQrZXQrR3IpKyhufHxHcitQZStHcik7fX07WmM9e3A6ZnVuY3Rpb24odCl7dmFyIGUsaTtpPXt9O2ZvcihlPTA7ZTx0W3BpXTtlKyspe2lbdFtlXVswXV09dFtlXVsxXTt9cmV0dXJuIGk7fSxXOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbjt0cnl7cmV0dXJuIG49dFthYStHcitHaV0oZSksdHlwZW9mIGkhPT1UYz95dTohIW5ldyBVcihGbitpK01zLGxzKVtqY10obik7fWNhdGNoKHQpe3JldHVybiB5dTt9fSxBOmZ1bmN0aW9uKCl7dHJ5e3JldHVybiB0eXBlb2YgeS5qUXVlcnkuZm4ub249PT1aczt9Y2F0Y2godCl7cmV0dXJuIHl1O319LEc6ZnVuY3Rpb24odCl7cmV0dXJuKHQ/bmV3IEpjKHQpOm5ldyBKYygpKVthYStHcitIXSgpO30sTTpmdW5jdGlvbih0KXt2YXIgbTAsQTAsSTAsZSxsNyxjNyxWNzttMD0tMTc4MjYxMjU4MTtBMD0tMTYzMzI0MDE2NDtJMD0yO2Zvcih2YXIgcjA9MTt3NS5MMShyMC50b1N0cmluZygpLHIwLnRvU3RyaW5nKCkubGVuZ3RoLDM0ODU4KSE9PW0wO3IwKyspe0kwKz0yO31pZih3NS5MMShJMC50b1N0cmluZygpLEkwLnRvU3RyaW5nKCkubGVuZ3RoLDg0OTA2KSE9PUEwKXt9dHJ5e2w3PS0xMjU4NTI0ODY5O2M3PTc3MTI1MDQ2ODtWNz0yO2Zvcih2YXIgeTc9MTt3NS5kMSh5Ny50b1N0cmluZygpLHk3LnRvU3RyaW5nKCkubGVuZ3RoLDEwMjkyKSE9PWw3O3k3KyspeyhlPXRbSmFdW1FhXShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7VjcrPTI7fWlmKHc1LmQxKFY3LnRvU3RyaW5nKCksVjcudG9TdHJpbmcoKS5sZW5ndGgsMjYwMTcpIT09YzcpeyhlPXRbSmFdW1FhXSgoVWEtVnQpL2NpKSlbYm9dKCk7ZVtJb10oKTt9fWNhdGNoKHQpe30oZT1BdShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7fSxUOmZ1bmN0aW9uKHQpe3QmJihUdVtFaV09dCk7fSxxOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxpPVt5cixUbixFYSxCZSxqcyxabixqdCxrYyx3ZV0sbj0wO248aVtwaV07bisrKWlmKGU9aVtuXVtqY10odnUpKXtyZXR1cm4gdD9VYyhlWzFdLDEwKTplWzFdW1pdKFFzLEdyK1R0K0dyKTt9cmV0dXJuIG11O30sTDpmdW5jdGlvbih0LGUpe3c1Llk0KDcpO3JldHVybiB3NS51NChZZSxlcixHcix0LGllLHlzLEdyLGUsR3IsVmUsVnQsR3IpO30sXzpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUTAsZTAsajA7UTA9LTE2NDA5MDY2NDA7ZTA9MzYxNTQ4MTI4O2owPTI7Zm9yKHZhciB0MD0xO3c1LmQxKHQwLnRvU3RyaW5nKCksdDAudG9TdHJpbmcoKS5sZW5ndGgsMzk3NjcpIT09UTA7dDArKyl7aT15O3c1Llk0KDQpO249dFtDcl0odzUudTQoR3IsVHQsR3IpKTtmb3IoZT0wO2U8bltwaV07ZSsrKXtpPWlbbltlXV07fXJldHVybiBpO2owKz0yO31pZih3NS5MMShqMC50b1N0cmluZygpLGowLnRvU3RyaW5nKCkubGVuZ3RoLDQ3NjE4KSE9PWUwKXtpPXk7dzUuWTQoNik7bj10W0NyXSh3NS51NChUdCxHcixHcikpO2ZvcihlPTQ7ZTw9bltwaV07ZS0tKXtpPWlbbltlXV07fXJldHVybiBpO319LFM6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbyxzMCxEMCxXMCxVMCx4MCx6MDtvPXkualF1ZXJ5fHxudWxsO2lmKHQmJnRbQW5dKXtyZXR1cm4gZ3U7fWlmKCFvKXtyZXR1cm4geXU7fXRyeXtzMD0tMTYxNTA0NTA7RDA9LTE5OTUwMzAzNTQ7VzA9Mjtmb3IodmFyIGMwPTE7dzUuZDEoYzAudG9TdHJpbmcoKSxjMC50b1N0cmluZygpLmxlbmd0aCw5Nzc5KSE9PXMwO2MwKyspe2lmKChlPShvKHQpW2llXShHYSkmJm8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9VzArPTI7fWlmKHc1LkwxKFcwLnRvU3RyaW5nKCksVzAudG9TdHJpbmcoKS5sZW5ndGgsMjI1MTYpIT09RDApe2lmKChlPShvKHQpW2llXShHYSl8fG8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9fX1jYXRjaCh0KXt9dHJ5e1UwPS0xMjgxMDM4MTgyO3gwPS01MjI2MTY2MzI7ejA9Mjtmb3IodmFyIGkwPTE7dzUuTDEoaTAudG9TdHJpbmcoKSxpMC50b1N0cmluZygpLmxlbmd0aCwzMjg1OSkhPT1VMDtpMCsrKXtmb3IoZT1vKHJpW1FyXSlbaWVdKEdhKVtnc10saT00O2k+ZVtwaV07aS0tKWZvcihyPW8oZVtpXVtvZV0pLG49NztuPj1yW3BpXTtuLS0paWYocltuXT09dCl7cmV0dXJuIGd1O316MCs9Mjt9aWYodzUuTDEoejAudG9TdHJpbmcoKSx6MC50b1N0cmluZygpLmxlbmd0aCw4ODE3MikhPT14MCl7Zm9yKGU9byhyaVtRcl0pW2llXShHYSlbZ3NdLGk9NDtpPmVbcGldO2ktLSlmb3Iocj1vKGVbaV1bb2VdKSxuPTc7bj49cltwaV07bi0tKWlmKHJbbl09PXQpe3JldHVybiBndTt9fWZvcihlPW8ocmlbUXJdKVtpZV0oR2EpW2dzXSxpPTA7aTxlW3BpXTtpKyspZm9yKHI9byhlW2ldW29lXSksbj0wO248cltwaV07bisrKWlmKHJbbl09PT10KXtyZXR1cm4gZ3U7fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sQzpmdW5jdGlvbih0LGUsaSl7dmFyIG4scixvO289WmMuTyhvNSk7cmV0dXJuIG49b1t0bytHcit5YV1bbXJdW1VzK0dyK0NuXShkZSksbltPXT1yYStQZStDdCxuW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoSmErVHQrX3QrWWUrR3IrZXQrR3IrWWUrSmErVHQrcCtZZStHcitldCtHcitZZStKYStUdCt1cytHcitDbitZZStHcitldCtHcitZZStkK2VyK0dyKSsoSmErVHQrJG4rWWUrR3IrZXQrR3IrWWUrWnMrUit6K1ZlK0dyK1llK3NvK1ZlK0dyK1llK0NlK1ArR3IrWWUrR3Ird24rR3IpKyh1YStZZStCcytHcitYbytZZStHcitldCtHcitZZStKYStUdCtRYStSK3orVmUrR3IrWWUrc28rVmUrR3IrWWUrQ2UrUCtHcitlcitHcikrKFdyK1llK0dyK3duK0JzK0dyK1hvK1R0K1dvK1llK0dyK2V0K0dyK1llK2QrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSsoTnIrWWUrQnMrR3IrWG8rZXIrR3IpKyhHcitEcitHcitlcitHciksb1t0bytHcit5YV1bbXJdW1FyXVtJdCtHcitXZV0obikscj1vW3RvK0dyK3lhXS5ta3AodCxlLGkpLFpjLlAobykscjt9LEI6ZnVuY3Rpb24odCxlLG4pe3ZhciByLG8scztyPTA7bz1ufHwxMDtzPXQ7dHJ5e2Zvcig7cyYmcisrPG87KXtpZih0eXBlb2YgZT09PVRjJiYoc1tTYytHcittY109PT1lfHxaYy5JKHMsZSkpfHx0eXBlb2YgZT09PWFyJiZzPT09ZSl7cmV0dXJuIHM7fXc1Llk0KDQpO3M9c1t3NS51NChfdCxHcixpKV07fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sRjpmdW5jdGlvbih0KXt2YXIgZTtlPVJ0W1RlXTtyZXR1cm4gdHlwZW9mIHQhPT1nZSYmKGU9KGN0W2pjXSh0KXx8W0dyLEdyXSlbMV0pLGVbWl0oUGMsR3IpO30seDpmdW5jdGlvbih0KXtyZXR1cm4geWlbWHRdW1hzK0dyK2hdW0NpXSh0KT09PUdyK0pvK2FyK1llK2JuK3R0K0dyO30sazpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUjAsUDAsSjA7aT1bXTtuPVpjLnYoKTt0cnl7UjA9LTE2Mjc2MTY5Mzc7UDA9LTIwMDI5NzgxNzY7SjA9Mjtmb3IodmFyIEIwPTE7dzUuTDEoQjAudG9TdHJpbmcoKSxCMC50b1N0cmluZygpLmxlbmd0aCw3NjkxMCkhPT1SMDtCMCsrKXtmb3IoZSBpbiBuKXt+dFtlXSE9Z2V8fGlbTXJdKGUvKChHci1ldCklR3IpLXRbZV0pO31KMCs9Mjt9aWYodzUuTDEoSjAudG9TdHJpbmcoKSxKMC50b1N0cmluZygpLmxlbmd0aCw4NjExMCkhPT1QMCl7Zm9yKGUgaW4gbil7fnRbZV0hPWdlfHxpW01yXShlLygoR3ItZXQpJUdyKS10W2VdKTt9fWZvcihlIGluIG4pe3R5cGVvZiB0W2VdIT09Z2UmJmlbTXJdKGUrKEdyK2V0K0dyKSt0W2VdKTt9fWNhdGNoKHQpe0tjLmUodCk7fXc1Llk0KDQpO3JldHVybiBpW05pXSh3NS5jNChHcixWZSxHcikpO30sUjpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5CKHQsT24pO30seTpmdW5jdGlvbigpe2Zvcih2YXIgdCxlPXt9LGk9MDtpPGFyZ3VtZW50c1twaV07aSsrKWZvcih0IGluIGFyZ3VtZW50c1tpXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0oYXJndW1lbnRzW2ldLHQpJiYoZVt0XT1hcmd1bWVudHNbaV1bdF0pO31yZXR1cm4gZTt9LFY6ZnVuY3Rpb24odCxlKXt2YXIgSjEsWDEsQjE7SjE9NDUyODczNzI5O1gxPTEyNzMxMDM4NTg7QjE9Mjtmb3IodmFyIE4xPTE7dzUuZDEoTjEudG9TdHJpbmcoKSxOMS50b1N0cmluZygpLmxlbmd0aCw1NTI1MSkhPT1KMTtOMSsrKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpKihlLXQpKSt0O0IxKz0yO31pZih3NS5kMShCMS50b1N0cmluZygpLEIxLnRvU3RyaW5nKCkubGVuZ3RoLDI4MzUxKSE9PVgxKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpJShlL3QpKSV0O319LFE6ZnVuY3Rpb24odCl7dmFyIGUsaSxuO3c1Llk0KDgpO2U9dzUuYzQodHlwZW9mIHQsYXIpO2k9dDt3NS5vNCg0KTtuPXJpW1VzK0dyK0NhXSh3NS51NChTbixHcix1bykpO25bTHMrR3IrU24rR3IrQ2FdKGdzLGd1LGd1LHksMCwwLDAsMCwwLGd1LHl1LHl1LGd1LDAsbXUpO2V8fChpPVpjLnooVSx7aHJlZjp0fHxpZStWdCtyYStQZStqbytWZStHcit1aStkZSt1citKYStUdCtJbytSK0dyK1ArR3IrZXIrR3IrdWkrR3IrUGUrZGUrdXIrR3J9KSxyaVtRcl1bSXQrR3IrV2VdKGkpKTtpW2duK0dyK0NhXShuKTtlfHxaYy5QKGkpO30sejpmdW5jdGlvbih0LGUsaSl7dmFyIG4scjtyPXJpW1VzK0dyK0NuXSh0KTtmb3IobiBpbiBlKXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShlLG4pJiZyW2xpK0dyK0dpXShuLGVbbl0pO31yZXR1cm4gaSYmKHJbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPWkpLHI7fSxZOmZ1bmN0aW9uKCl7dHJ5e3c1Lm80KDQpO3JldHVybiEhT3VbdzUuYzQoZW4sUGUsTWMpXVt3NS51NCgkaSxHcixXcyldO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sbDpmdW5jdGlvbih0KXt2YXIgZSxpLFk3LGY3LHM3O2U9WmMuXyh0KTt3NS5ZNCg0KTtpPXRbWl0oQWEsdzUudTQoR3Isem8scSkpO3RyeXtZNz0tMTYzMTA2MDI3MDtmNz0xOTgxNTM2MDYxO3M3PTI7Zm9yKHZhciBXNz0xO3c1LkwxKFc3LnRvU3RyaW5nKCksVzcudG9TdHJpbmcoKS5sZW5ndGgsMTYwMikhPT1ZNztXNysrKXtyZXR1cm4rbmV3IFVyKChacy9ZZS1HcikvIGkveHIsUnMpW2lyXShlW1hzJUdyL2hdKCkpO3M3Kz0yO31pZih3NS5MMShzNy50b1N0cmluZygpLHM3LnRvU3RyaW5nKCkubGVuZ3RoLDExNjM3KSE9PWY3KXtyZXR1cm4hbmV3IFVyKFpzK1llK0dyK2kreHIsUnMpW2lyXShlW1hzK0dyK2hdKCkpO319Y2F0Y2godCl7cmV0dXJuIHRbWHMrR3IraF0oKVtMK0dyK1dhXShrbytZZStycytZZStVK1llK1pzKT4tMT9ndTpYYy5kP2d1Onl1O319LHY6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbzt3NS5vNCg0KTtlPXlbdzUuYzQoUGEsR3IsZyldO3c1Llk0KDQpO2k9eVt3NS5jNChQYSxHcix3YyldO249eVtPaStHcitVZV18fHlbT2krR3IrV25dfHwwO3I9eVtPaStHcit4b118fHlbT2krR3IrQ2NdfHwwO289e307cmV0dXJuIG9bb2NdPWUsb1tLYV09aSxvW0hpXT1uLG9bcF09cixvW29yXT0wLG9bRWldPTEsb1tTcl09MSxvW09yXT0xLG8ucmVzaXphYmxlPTEsb1tNZV09MSxYYy5iJiYob1tLYV0rPVhjLm0/NDY6NTIpLFhjLmcmJihvW29jXS09NSxvW0thXS09NCksdHlwZW9mIHQ9PT1hciYmKG89WmMueShvLHQpKSxvO30sTzpmdW5jdGlvbih0KXt2YXIgZTtlPXJpW1VzK0dyK0NuXShjbik7cmV0dXJuIGVbeGVdW3h0XT1YaSx0JiZyaVtRcl1bSXQrR3IrV2VdKGUpLGU7fSxEOmZ1bmN0aW9uKHQpe3JldHVybiB0W1NjK0dyK21jXT09PUZjK0dyK1ZyK0dyK3hjK0dyK3hjK0dyK2ZjK0dyK2d0fHx0W1NjK0dyK21jXT09PXZhK0dyK2d0K0dyK210K0dyK1ZyK0dyK3hjJiZVbltpcl0odFthYStHcitHaV0oTykpfHx0aGlzLkIodCxGYytHcitWcitHcit4YytHcit4YytHcitmYytHcitndCkhPT15dTt9LFA6ZnVuY3Rpb24odCl7dCYmdFtfdCtHcitpXSYmdFtfdCtHcitpXVt4bitHcitXZV0odCk7fSxJOmZ1bmN0aW9uKHQsZSl7dmFyIG4scixvO2lmKHR5cGVvZiBlIT09VGMpe3JldHVybiB5dTt9aWYodHlwZW9mIHJpW2VlK0dyK3Z0K0dyK21dPT09WnMpdHJ5e3I9dFtfdCtHcitpXVtlZStHcit2dCtHcittXShlKXx8eS5qUXVlcnkoZSk7fWNhdGNoKHQpe31lbHNlIGlmKFpjLkEoKSl0cnl7cj15LmpRdWVyeShlKTt9Y2F0Y2godCl7fWlmKHIpZm9yKG89MDtvPHJbcGldO28rKylpZihyW29dPT09dCl7cmV0dXJuIGd1O31zd2l0Y2goZVswXSl7Y2FzZSBHcitUdCtHcjpuPVtsbyxlW2ZzXSgxKV07YnJlYWs7Y2FzZSBHcitzZStHcjpuPVtWYSxlW2ZzXSgxKV07fXJldHVybiBuP3RoaXMuVyh0LG5bMF0sblsxXSk6eXU7fSxmOmZ1bmN0aW9uKHQsZSl7dHJ5e3JldHVybiEoIXRba2ldW2VdfHwhdFtraV1bZV1bWW5dKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LE46ZnVuY3Rpb24odCl7dmFyIGU7ZT10aGlzLlIodCk7cmV0dXJuIGUmJmVbdW5dJiYheHNbaXJdKGVbdW5dKT9lW3VuXTp5dTt9LEo6ZnVuY3Rpb24odCxlLGksbil7Zm9yKHZhciByLG8scyxhPXRbWHMrR3IraF0oKVtDcl0obnx8R3IrVHQrR3IpLGM9ZVtYcytHcitoXSgpW0NyXShufHxHcitUdCtHciksdT0wLGY9ZHJbQm9dKGFbcGldLGNbcGldKTt1PGYmJihyPVVjKGFbdV18fDAsMTApLG89VWMoY1t1XXx8MCwxMCkscWMocikmJihyPTApLHFjKG8pJiYobz0wKSxzPXI+bz8xOi0xLHI9PT1vKTt1Kyspe3M9MDt9c3dpdGNoKGkpe2Nhc2UgR3IrdXIrR3I6dzUubzQoOCk7cmV0dXJuIHc1LnU0KDEscyk7Y2FzZSBHcit1citHcitldCtHcjp3NS5ZNCg5KTtyZXR1cm4gdzUuYzQocywxKTtjYXNlIEdyK3VpK0dyOnc1Lm80KDEwKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK3VpK0dyK2V0K0dyOnc1Llk0KDExKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK2V0K0dyK2V0K0dyOmNhc2UgR3IrZXQrR3IrZXQrR3IrZXQrR3I6ZGVmYXVsdDp3NS5ZNCg4KTtyZXR1cm4gdzUudTQoMCxzKTt9fSwkOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1wZVtDcl0oR3IpLGk9ZVtwaV0sbj0wLHI9R3I7bjx0O24rKyl7cis9ZVtkcltBY10oZHJbTW5dKCkqaSldO31yZXR1cm4gcjt9LGg6ZnVuY3Rpb24odCxlKXt0cnl7cmV0dXJuIHRbYWErR3IrR2ldKGUpO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sSDpmdW5jdGlvbih0LGUsaSl7dmFyIG47dzUubzQoMik7bj13NS5jNChoaSx0KTtyZXR1cm4gdHlwZW9mIHlbbl0hPT1nZSYmcm8oeVtuXSkseVtuXT1pbyhlLGkpO30sdzpmdW5jdGlvbigpe3JldHVybiBQdTt9LFU6ZnVuY3Rpb24odCl7cmV0dXJuIHRbU2MrR3IrbWNdPT09dmErR3IrZ3QrR3IrbXQrR3IrVnIrR3IreGMmJm5lW2lyXSh0W2FhK0dyK0dpXShPKSl8fHRbU2MrR3IrbWNdPT09cGErR3IrT24rR3IrRmMrR3IrUHMrR3IrcGE7fX07aXU9e3R0OmZ1bmN0aW9uKHQsZSl7dmFyIGkscTUsbTUsQTU7dHJ5e3E1PS0xNDE1MjczNDIzO201PS0zMzc1MDc5MjY7QTU9Mjtmb3IodmFyIEs1PTE7dzUuZDEoSzUudG9TdHJpbmcoKSxLNS50b1N0cmluZygpLmxlbmd0aCwzNzU1NSkhPT1xNTtLNSsrKXtyZXR1cm4gZXx8KGk9cmlbKHdyLUdyKSVqbipHcipMY10odFtIYyVHci9VZV0sdFtIYy9Hci14b10pKT9pOnRbVGldJiZ0W1hzLUdyLUNuXSYmdFsoWHItR3IpJUNuXTtBNSs9Mjt9aWYodzUuTDEoQTUudG9TdHJpbmcoKSxBNS50b1N0cmluZygpLmxlbmd0aCw3MjUzNikhPT1tNSl7cmV0dXJuIGUmJihpPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXSx0W0hjK0dyK3hvXSkpP2k6dFtUaV18fHRbWHMrR3IrQ25dfHx0W1hyK0dyK0NuXTt9fWNhdGNoKHQpe3JldHVybiB5dTt9fSxYOmZ1bmN0aW9uKHQsZSxpLG4pe3JldHVybiB0eXBlb2YgdFtIbitHcitDYStHcitFbl09PT1acz90W0huK0dyK0NhK0dyK0VuXShlLGksbnx8e30pOnRbRmUrR3IrQ2FdKE5vK2UsaSk7fSxLOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByO3I9ZnVuY3Rpb24oKXtpdS5aKHQsZSxyLG4pO2lbQ2ldKCk7fTtpdS5YKHQsZSxyLG4pO30sWjpmdW5jdGlvbih0LGUsaSxuKXtyZXR1cm4gdHlwZW9mIHRbeG4rR3IrQ2ErR3IrRW5dPT09WnM/dFt4bitHcitDYStHcitFbl0oZSxpLG58fHt9KTp0W0tpK0dyK0NhXShObytlLGkpO319OyEoWGM9e2l0OmZhW2lyXSh2dSksbnQ6c3RbaXJdKHZ1KSxtOmxlW2lyXSh2dSksZXQ6YWNbaXJdKHZ1KSxydDpTb1tpcl0odnUpLG90OnNpW2lyXSh2dSl8fEpyW2lyXSh2dSl8fHVlW2lyXSh2dVtmc10oMCw0KSksc3Q6dm9baXJdKHZ1KSxnOkFyW2lyXSh2dSkmJiFfYVtpcl0odnUpLGI6bHJbaXJdKHZ1KSYmIW1hW2lyXSh2dSksYXQ6bWVbaXJdKHZ1KSYmIWdyW2lyXSh2dSksY3Q6eFtpcl0odnUpLGQ6Rltpcl0odnUpLHV0OnlvW2lyXSh2dSksX3Q6bXUscHQ6WmMucShndSl8fG11LGx0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3QhPT1tdT90aGlzLl90OnRoaXMuX3Q9UWMuZHQoKSE9PXl1O30sSjpmdW5jdGlvbih0LGUpe3JldHVybiBaYy5KKFhjLmZ0LGUsdCk7fSxodDptb1tpcl0odnUpJiYhenJbaXJdKHZ1KSxmdDpaYy5xKHl1KXx8bXV9KS5ldHx8WGMuaHR8fFhjLmR8fFhjLmJ8fChYYy51dD1vNSk7KFljPWZ1bmN0aW9uKHQsZSxpKXt2YXIgbjtuPWl8fHt9O25bel09ZTt0aGlzLnZ0KG4pO3RoaXMubXQuYnR8fCh0aGlzLm10LmJ0PXJ1K3QpO3RoaXMuZ3QoKTt9KVtYdF09e2t0OntUdDpndSxDdDptdSxqdDp5dSxFdDpHcitQZStHcixGdDprdSxMdDpndSxBdDp5dSxPdDpndSx4dDptdSxQdDpudWxsLGJ0Om11LHd0Om11LFN0Omt1fSxtdDp7fSx5dDpudWxsLHp0OlpjLnYoKSxCdDpaYy5wKFtbT3IsMF1dKSxJdDpaYy5wKFtbTWUsMV1dKSxNdDpaYy5wKFtbU3IsMV1dKSxXdDpaYy5wKFtbRWksMF0sW1NyLDBdXSksRHQ6WmMucChbW01lLDBdXSksVXQ6WmMucChbW1p0LDBdXSksUnQ6WmMucChbW0VpLDBdXSksc2V0T3B0aW9uczpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy52dCh0KTt9LGd0OmZ1bmN0aW9uKCl7dmFyIHQsZSxpLG47dD1mdW5jdGlvbih0LGUpe3ZhciBpLG47bj17fTtuW3B1XT1beXUsZ3VdO25bX3VdPVt5dSx5dV07bltsdV09W2d1LGd1XTtuW2R1XT1bZ3UseXVdO2ZvcihpIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixpKSYmbltpXVswXT09PXQmJm5baV1bMV09PT1lKXtyZXR1cm4gaTt9cmV0dXJuIF91O307ZT1YYy5sdCgpO2k9dChHYy5tdC4kdC5uZXdUYWIsR2MubXQuJHQudW5kZXIpO249dCh0aGlzLm10LkF0LHRoaXMubXQuVHQpO2V8fG49PT1wdSYmKG49aSk9PT1wdSYmKG49bHUpO1hjLm90JiYobj09PV91JiYobj1kdSksbj09PXB1JiYobj1sdSkpO3RoaXMueXQ9bjt9LEh0OmZ1bmN0aW9uKCl7dmFyIGswLG4wLEYwO2lmKHR5cGVvZiB0aGlzLm10Lnh0PT09WnMpdHJ5e3JldHVybiB0aGlzLm10Lnh0W0NpXSh0aGlzLHRoaXMubXQpW1hzK0dyK2hdKCk7fWNhdGNoKHQpe3JldHVybiBLYy5lKHQpLHl1O31rMD0tMTAwMjA0NzAxMztuMD0tMTY1MTM4NjMwNztGMD0yO2Zvcih2YXIgTTA9MTt3NS5MMShNMC50b1N0cmluZygpLE0wLnRvU3RyaW5nKCkubGVuZ3RoLDY4NDExKSE9PWswO00wKyspe3JldHVybiB0aGlzLm10Lnh0O0YwKz0yO31pZih3NS5kMShGMC50b1N0cmluZygpLEYwLnRvU3RyaW5nKCkubGVuZ3RoLDkwOTM5KSE9PW4wKXtyZXR1cm4gdGhpcy5tdC54dDt9fSxMdDpmdW5jdGlvbigpe3ZhciB0LGUsRzcsQzcsazcsVjAsdTAseTA7dD10aGlzLm10O2U9dC5PdCE9PU5zJiZ0Lk90IT09TmV8fHQuT3Q9PT1OcyYmWGMub3R8fHQuT3Q9PT1OZSYmIVhjLm90O3RyeXtHNz0tMTkzODMwODU3MjtDNz0tMTE3NzY0NDk2NDtrNz0yO2Zvcih2YXIgRjc9MTt3NS5kMShGNy50b1N0cmluZygpLEY3LnRvU3RyaW5nKCkubGVuZ3RoLDg5NDI0KSE9PUc3O0Y3Kyspe3R5cGVvZiB0Lkx0PT09WnM/ZT1lJiZ0Lkx0W0NpXSh0aGlzLGUsdGhpcy5OdCgpKSE9PXl1OnR5cGVvZiB0Lkx0PT09YW4mJihlPWUmJnQuTHQpO2s3Kz0yO31pZih3NS5MMShrNy50b1N0cmluZygpLGs3LnRvU3RyaW5nKCkubGVuZ3RoLDUzNDE4KSE9PUM3KXstdC5MdCE9PVpzP2U9ZXx8dC5MdFtDaV0odGhpcyxlLHRoaXMuTnQoKSk9PT15dTohdC5MdD09YW58fChlPWV8fHQuTHQpO319Y2F0Y2godCl7S2MuZSh0KTt9VjA9Njg3MDAyMDA4O3UwPS0yOTc1OTkyODc7eTA9Mjtmb3IodmFyIHYwPTE7dzUuTDEodjAudG9TdHJpbmcoKSx2MC50b1N0cmluZygpLmxlbmd0aCw2NDU0MSkhPT1WMDt2MCsrKXtyZXR1cm4gR2MuSnQoKT9lfHwtdGhpcy5WdDplfHwrdHUuYyh0LmJ0KTt5MCs9Mjt9aWYodzUuTDEoeTAudG9TdHJpbmcoKSx5MC50b1N0cmluZygpLmxlbmd0aCwyOTMyNSkhPT11MCl7cmV0dXJuIEdjLkp0KCk/ZXx8LXRoaXMuVnQ6ZXx8K3R1LmModC5idCk7fXJldHVybiBHYy5KdCgpP2UmJiF0aGlzLlZ0OmUmJiF0dS5jKHQuYnQpO30sdnQ6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHI7dGhpcy5tdD1aYy55KHRoaXMuenQsdGhpcy5rdCx0aGlzLm10LHR8fHt9KTtmb3IoaSBpbiB0aGlzLm10KWlmKHlpW1h0XVtCYStHcitsdCtHcitvb11bQ2ldKHRoaXMubXQsaSkpc3dpdGNoKG49dGhpcy5tdFtpXSxpKXtjYXNlIHNvOnRoaXMubXQud3Q9bjticmVhaztjYXNlIHo6dGhpcy5tdC54dD1uO2JyZWFrO2Nhc2UgTGU6dGhpcy5tdC5PdD0obitHcilbWHMrR3IrdHMrR3IrbmNdKCk7YnJlYWs7Y2FzZSBOdCtHcittYzp0aGlzLm10LmJ0PW47YnJlYWs7Y2FzZSBOdCtHcitUOnRoaXMubXQuQ3Q9bjticmVhaztjYXNlIE50K0dyK2VhOnRoaXMubXQuRXQ9bjticmVhaztjYXNlIE50K0dyKyRzOnRoaXMubXQuUHQ9bjticmVhaztjYXNlIEVlOnRoaXMubXQuVHQ9bjticmVhaztjYXNlIEErR3IrTG86dGhpcy5tdC5BdD1uO2JyZWFrO2Nhc2UgcHQrR3IramU6dGhpcy5tdC5GdD1uO2JyZWFrO2Nhc2UgamErR3IramU6dGhpcy5tdC5TdD1uO2JyZWFrO2Nhc2UgSWMrR3IrY3I6dGhpcy5tdC5qdD1uO2JyZWFrO2Nhc2UgdGUrR3Irc3M6dGhpcy5tdC5MdD1uO31pZighWGMub3QmJiF0aGlzLm10LkF0KWZvcihyPVtbWGMuZyYmMTE9PT1YYy5wdCx0aGlzLlV0XSxbWGMuYiYmWGMucHQ8NDEsdGhpcy5JdF0sW1hjLmIsdGhpcy5CdF0sW1hjLmQmJlhjLnB0PDQ3LHRoaXMuTXRdLFtYYy51dCx0aGlzLkR0XSxbWGMuY3QsdGhpcy5SdF0sW1hjLmImJlhjLnB0Pj01OSx0aGlzLld0XSxbWGMudXQmJlhjLnB0Pj00Nix0aGlzLld0XV0sZT0wO2U8cltwaV07ZSsrKWlmKHJbZV1bMF0pZm9yKGkgaW4gcltlXVsxXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0ocltlXVsxXSxpKSYmKHRoaXMubXRbaV09cltlXVsxXVtpXSk7fX0sZ2V0T3B0aW9uczpmdW5jdGlvbigpe3JldHVybiB0aGlzLk50KCk7fSxOdDpmdW5jdGlvbigpe3ZhciB0LGU7ZT17fTtmb3IodCBpbiB0aGlzLm10KXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXSh0aGlzLm10LHQpJiZ0W3BpXT49MyYmKGVbdF09dGhpcy5tdFt0XSk7fXJldHVybiBlO30scXQ6ZnVuY3Rpb24oKXtHYy5KdCgpP3RoaXMuVnQ9Z3U6dHUuYSh0aGlzLm10LmJ0LDEsdGhpcy5tdC5DdCx0aGlzLm10LkV0LHRoaXMubXQuUHQpO319OyhudT1mdW5jdGlvbih0KXt2YXIgZTtlPXRoaXM7dGhpcy5RdD10O3RoaXMuR3Q9dGhpcy5ZdCgpO3RoaXMuS3Q9dGhpcy5adCgpO2l1LlgodGhpcy5HdCxncyxmdW5jdGlvbigpe0dzKGUuS3QpO1pjLlAoZS5HdCk7fSk7fSlbWHRdPXtZdDpmdW5jdGlvbigpe3ZhciB0LEs3LHI3LFE3O0s3PS0xODIwMzgxMDU7cjc9MTk5MDM1MjYxMTtRNz0yO2Zvcih2YXIgajc9MTt3NS5kMShqNy50b1N0cmluZygpLGo3LnRvU3RyaW5nKCkubGVuZ3RoLDg2ODQwKSE9PUs3O2o3Kyspe3Q9WmMueihoYyx7Y2xhc3M6ZnV9LEdyKTtyZXR1cm4gdGhpcy5RdFtTYytHcittY11bWHMrR3IrdHMrR3IrbmNdKCk9PT1Rcj9yaVtRcl1bSXQrR3IrV2VdKHQpOnRoaXMuUXRbX3QrR3IraV1bTmMrR3IrT3NdKHQsdGhpcy5RdFtWcytHcitrc10pLHQ7UTcrPTI7fWlmKHc1LkwxKFE3LnRvU3RyaW5nKCksUTcudG9TdHJpbmcoKS5sZW5ndGgsMzM0MykhPT1yNyl7dD1aYy56KGhjLHtjbGFzczpmdX0sR3IpO3JldHVybiB0aGlzLlF0W1NjKkdyL21jXVtYcypHci10cy1Hci1uY10oKT09UXI/cmlbUXJdW0l0L0dyL1dlXSh0KTp0aGlzLlF0W190L0dyJWldWyhOYy1HcikqT3NdKHQsdGhpcy5RdFsoVnMtR3IpJWtzXSksdDt9fSxadDpmdW5jdGlvbigpe3ZhciB0O3Q9dGhpcztyZXR1cm4gQ28oZnVuY3Rpb24oKXt2YXIgZSxpO2k9VWModC5RdFt4ZV1bc24rR3IrenNdLDEwKTt0LlF0W1NjK0dyK21jXVtYcytHcit0cytHcituY10oKT09PVFyJiYoaT05ZTkpOyhlPV9uK1Z0K2dvK2VyK0RhK1Z0K04rZXIrbG4rVnQraytlcitHcisoS2ErVnQrR3IpK3QuUXRbZnIrR3Ird2NdKyhobytlcitHcikrKG9jK1Z0K0dyKSt0LlF0W2ZyK0dyK2ddKyhobytlcitHcikrKEhpK1Z0K0dyKSt0LlF0W2ZyK0dyK1duXSsoaG8rZXIrR3IpKyhwK1Z0K0dyKSt0LlF0W2ZyK0dyK0NjXSsoaG8rZXIrR3IpKyhzbit3aStMK1Z0K0dyKSsocWMoaSk/MjppKzEpKSE9PXQuR3RbYWErR3IrR2ldKHhlKSYmdC5HdFtsaStHcitHaV0oeGUsZSk7fSwxNTApO319O251Llh0PWZ1bmN0aW9uKHQpe3ZhciBlO3c1Llk0KDEyKTtlPXc1LmM0KHJ1LExpLHdpLHdpLEdyLGllLEdyKTt0W2FhK0dyK0dpXShlKXx8dFthYStHcitHaV0obG8pPT09ZnV8fCh0W2xpK0dyK0dpXShlLDEpLG5ldyBudSh0KSk7fTsoUWM9e2R0OmZ1bmN0aW9uKCl7dmFyIHQsZTtlPXRoaXMuZWUoKTtmb3IodD0wO3Q8ZVtwaV07dCsrKWlmKGVbdF1bMV0oKT09PWd1KXtyZXR1cm4gZVt0XVswXTt9cmV0dXJuIHl1O30sZWU6ZnVuY3Rpb24oKXt2YXIgdDt0PVtdO3JldHVybiBYYy5vdHx8WGMuaXQ/W106KHRbTXJdKFt0aGlzLmllLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlhjLnB0Pj02NCYmWGMucHQ8Njc7fV0pLHRbTXJdKFt0aGlzLm5lLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubnQmJlhjLnB0Pj00MyYmWGMucHQ8NjQ7fV0pLHRbTXJdKFt0aGlzLnJlLGZ1bmN0aW9uKCl7dmFyIGI3LHE3LG03O2I3PS02MDMwNTI0OTU7cTc9LTQwNjg3OTgwNDttNz0yO2Zvcih2YXIgSTc9MTt3NS5MMShJNy50b1N0cmluZygpLEk3LnRvU3RyaW5nKCkubGVuZ3RoLDU1NDM5KSE9PWI3O0k3Kyspe3JldHVybiBYYy5ifHxaYy5ZKCl8fFhjLm18fFhjLnB0PD0xN3x8WGMucHQ+PTg5O203Kz0yO31pZih3NS5MMShtNy50b1N0cmluZygpLG03LnRvU3RyaW5nKCkubGVuZ3RoLDYyMDk0KSE9PXE3KXtyZXR1cm4gWGMuYnx8WmMuWSgpfHxYYy5tfHxYYy5wdDw9MTd8fFhjLnB0Pj04OTt9cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubSYmWGMucHQ+PTQ5JiZYYy5wdDw2NDt9XSksdFtNcl0oW3RoaXMub2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZDt9XSksdFtNcl0oW3RoaXMuc2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZyYmWGMucHQ+PTExO31dKSx0W01yXShbdGhpcy5hZSxmdW5jdGlvbigpe3JldHVybiBYYy5odDt9XSksdFtNcl0oW3RoaXMuY2UsZnVuY3Rpb24oKXt2YXIgVDAsRTAsbzA7VDA9MTIwNjMzNjEyMTtFMD0xMjk2MjQyMjUyO28wPTI7Zm9yKHZhciBwMD0xO3c1LmQxKHAwLnRvU3RyaW5nKCkscDAudG9TdHJpbmcoKS5sZW5ndGgsNDUyNzYpIT09VDA7cDArKyl7cmV0dXJuIFhjLnV0fHxYYy5udHx8WGMucHQ+PTc0O28wKz0yO31pZih3NS5MMShvMC50b1N0cmluZygpLG8wLnRvU3RyaW5nKCkubGVuZ3RoLDY1MzgpIT09RTApe3JldHVybiBYYy51dCYmWGMubnQmJlhjLnB0PD00ODt9fV0pLHQpO319KS50ZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMudGVbWHRdPXtfZTprdSx1ZTpmdW5jdGlvbih0KXt2YXIgcjUsUTUsZTU7cjU9LTk1ODI4OTMwMTtRNT0tNjIxNDQ4NDIyO2U1PTI7Zm9yKHZhciBaNT0xO3c1LmQxKFo1LnRvU3RyaW5nKCksWjUudG9TdHJpbmcoKS5sZW5ndGgsOTUyNjgpIT09cjU7WjUrKyl7dGhpcy5mZT10O2U1Kz0yO31pZih3NS5MMShlNS50b1N0cmluZygpLGU1LnRvU3RyaW5nKCkubGVuZ3RoLDE0MzU1KSE9PVE1KXt0aGlzLmZlPXQ7fX0sbGU6a3UscGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhO2k9dGhpcztuPWkuZmU7cj1uLkh0KCk7bz1uLm10O3M9by53dHx8WmMuJCg1KTthPVpjLmsobyk7aWYodD1mdW5jdGlvbigpe3RyeXtpZih0eXBlb2Ygby5GdD09PVpzJiZvLkZ0W0NpXShuLHIsbyk9PT15dSl7cmV0dXJuIHl1O319Y2F0Y2godCl7S2MuZSh0KTt9cmV0dXJuIG11O30sZT1mdW5jdGlvbih0KXtpZih0eXBlb2Ygby5TdD09PVpzKXRyeXtvLlN0W0NpXShuLHIsbyx0KTt9Y2F0Y2godCl7S2MuZSh0KTt9fSx0KCk9PT15dSl7cmV0dXJuIHl1O310eXBlb2Ygb1t6XT09PVRjJiZvW3pdIT09ciYmKHI9b1t6XSk7R2MuanQoby5qdCk7dGhpcy5fZSgpO3RyeXtyZXR1cm4gdGhpcy5sZShyLG8scyxhLGZ1bmN0aW9uKHQpe2kuZGUodCk7aS5oZSYmR2MuaGUoKTtlKHQpO30pO31jYXRjaCh0KXtyZXR1cm4gS2MuZSh0KSx5dTt9fSx2ZTpmdW5jdGlvbih0LGUsaSl7cmV0dXJuKEdjLm10LmJlP1pjLkM6QXUpKHQsZSxpKTt9LGRlOmt1LGhlOmd1fTtRYy5tZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMubWVbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTp5dSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3IodGhpcy52ZSh0LGksbikpO319KTtRYy5nZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuZ2VbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTohWGMub3QmJiFYYy5kLGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7cih0aGlzLnZlKHQsRmkpKTt9fSk7UWMueWU9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnllW1h0XT1aYy55KFFjLnRlW1h0XSx7a2U6ZnVuY3Rpb24oKXt2YXIgdCxlLGk7dD1HYy53ZSgpO2U9R2MueGUuUztpPXR5cGVvZiBHYy5tdC5PZT09PVpzP0djLm10Lk9lW0NpXSgpOkdjLm10Lk9lO3JldHVybiBmdW5jdGlvbigpe3ZhciBuLHI7cmV0dXJuIGkhPT1GdT9pOihuPVpjLiQoMSkscj1lP2k6R2MuQ2UodCl8fGksZXUucygpfHwhWGMub3QmJiFYYy5nP3I6KHR1LmEoY3UsbixtdSkscltaXSh2cixHcikrKEdyK3NlK0dyKStuKSk7fSgpO30sbGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgeDksejksaDksbyxzLGEsYyx1LGgsZixwO3g5PTE3MTA2NjI4Nzg7ejk9LTEwMzk3MjE3MTM7aDk9Mjtmb3IodmFyIEw5PTE7dzUuZDEoTDkudG9TdHJpbmcoKSxMOS50b1N0cmluZygpLmxlbmd0aCwzMDE4NykhPT14OTtMOSsrKXtoOSs9Mjt9aWYodzUuZDEoaDkudG9TdHJpbmcoKSxoOS50b1N0cmluZygpLmxlbmd0aCw0NTQ4MCkhPT16OSl7fWE9dGhpcy5rZSgpO2M9R2Mud2UoKTt1PVpjLk4oYyk7aD0xNTtmPVtdO3A9ZnVuY3Rpb24odCl7dmFyIGU7dHlwZW9mIHRbQW5dPT09WnMmJihlPXRbQW5dLGl1LlgodCxncyxlKSk7dFtBbl09ZnVuY3Rpb24oKXtyZXR1cm4geXU7fTt9O2ZvcihHYy5FZSgpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKSE9PUZpJiZaYy5mKGMsdW4pJiYocChjKSwwIT09Y1thYStHcitHaV0odW4pW0wrR3IrV2FdKEN0KSYmKGE9Y1thYStHcitHaV0odW4pKT09PUdyJiYoYT1GdSkpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKT09PUZpJiZaYy5mKGMsdW4pJiYocChjKSxpbyhmdW5jdGlvbigpe2NbQW5dPW11O30sM2UzKSxHYy5tdC5QZT9hPWNbYWErR3IrR2ldKHVuKTooYT1GdSxYYy5vdCYmKFhjLnV0P2ZbTXJdKGZ1bmN0aW9uKCl7QXUoY1thYStHcitHaV0odW4pLEZpKTt9KTppbyhmdW5jdGlvbigpe0F1KGNbYWErR3IrR2ldKHVuKSxGaSk7fSwyMCkpKSksWGMuZXQmJlhjLnV0fHxYYy5ldCYmWGMuc3QmJiFYYy5kJiYhWGMuYiYmIVhjLmh0PyhBdShhLEZpKSxaYy5IKEJyLGZ1bmN0aW9uKCl7WmMuVCh0KTt9LGgpKTohWGMub3QmJlpjLmgoYyxUaSkhPT1GaSYmKFhjLnV0JiZYYy5zdHx8WGMuaHQmJlhjLnB0PDEwfHxYYy5iJiZYYy5wdDw0MSk/WGMudXQ/KFpjLlEoYSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KFpjLlEodCksY1tTYytHcittY109PT1PbiYmdSYmWmMuVCh1KSk6WGMuZXQmJlhjLmQ/KG89QXUoYSxGaSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KG89eVtRYV0oVWErVnQrY2ksRmkpKT8ob1tFaV1bdW5dPWEsWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6bz1BdSh0LEZpKSxzPTA7czxmW3BpXTtzKyspe2Zbc11bQ2ldKCk7fW8mJnIobyk7fX0pO1FjLm9lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5vZVtYdF09WmMueShRYy50ZVtYdF0se2hlOnl1LGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG87bz10aGlzLnZlKHQsaSxuKTtvW2tuXSgpO1R1W2JvXSgpO1pjLk0obyk7aW8oZnVuY3Rpb24oKXtyKG8pO30sMWUzKTt9fSk7UWMuY2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLmNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZSh0LGksbik7cz1HYy5UZSgxZTMpO2l1LksoeSxibyxmdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9KTtvW2NjXT1mdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9O3Iobyk7fX0pO1FjLmFlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5hZVtYdF09WmMueShRYy50ZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIEQ5LFc5LGw5LG87RDk9MTk0OTIwNzgwOTtXOT04OTkwMjg0O2w5PTI7Zm9yKHZhciBWOT0xO3c1LkwxKFY5LnRvU3RyaW5nKCksVjkudG9TdHJpbmcoKS5sZW5ndGgsNTc4NTApIT09RDk7VjkrKyl7bDkrPTI7fWlmKHc1LkwxKGw5LnRvU3RyaW5nKCksbDkudG9TdHJpbmcoKS5sZW5ndGgsNTEwNjgpIT09Vzkpe315W3NvXT1aYy4kKDUpO289dGhpcy52ZSh0LGksbik7dGhpcy52ZShHcix5W3NvXSxHcik7eVtzb109bXU7cihvKTt9LGhlOnl1fSk7UWMuc2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZShQdT90OkZ1LGksbik7cz1mdW5jdGlvbigpe29bRWldW3VuXT10O307aXUuSyhvLGtuLHMpO29ba25dKCk7VHVbYm9dKCk7aW8ocywxMDApO3Iobyk7fSxoZTp5dX0pO1FjLm5lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5uZVtYdF09WmMueShRYy50ZVtYdF0se0ZlOmZ1bmN0aW9uKCl7dmFyIHQsZTtlPVpjLnooYXIse2RhdGE6WmMuTChlbitQZStNYyx0aGlzLkFlKStaYy4kKDMpfSk7cmV0dXJuKHQ9WmMueihoYyx7c3R5bGU6UGkrVnQrYStlcitvYytWdCtIcytlcitLYStWdCtIcytlcitEYStWdCtOK2VyK3ArVnQrRnIrSGErR3IrZXIrSGkrVnQrem4rZXIrayt3aStHYStWdCtYaStlciskbytWdCthK2VyK0dyfSkpW0l0K0dyK1dlXShlKSxbZSx0XTt9LFNlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMueSh0LHt9KTtyZXR1cm4gZVtwXT1lW0hpXT05ZTUsZVtvY109ZVtLYV09MSxlO30sQWU6THQrR3IrdGErR3IrRmMrR3IrUHMrR3Irb24rR3IrV2MrR3IreG8rR3IrJCtHcithaStHcituK0dyK1NhK0dyK0tyK0dyK1F0K0dyK2t0K0dyK3p0K0dyK3RjK0dyK1l0K0dyK3ZhK0dyK3MrR3IrdmErdWMraG4rR3IrTGErR3IrenQrR3IrVytHcitEYytHcitaYStHcittdCtHcitWaStHcitzYStHcitVZStHcitUYStHcit2YStHcitWaStHcitQcitHcit4bytHcitVZStHcitpYytHcitwbytHcitLcitHcitKK0dyK2hzK0dyK1ppK0dyK3ZhK0dyK1ByK0dyK0xhK0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrWGErR3IrVHMrR3IrWmkrR3IrdmErR3IrUHIrR3IrSGUrR3IrenQrR3IrVytHcitGYytHcit0YytHcityYytHcithZStHcit2aStHcit2YStHcitQcitHcitydCtHcitwcytHcittdCtHcituYStHcitUbytHcityZStHcit4bytHcit0YStHcitqaStHcitXK0dyK2F0K0dyK3ZhK0dyK1ByK0dyK2MrR3IrYit1YytFK0dyK1FvK0dyK3BzK0dyK2RjK0dyK1l0K0dyK3ZhK0dyK1lhK0dyK1hhK0dyK1RzK0dyK1ppK0dyK3ZhK0dyK0dlK0dyK09lK0dyK2dhK0dyK0hvK0dyK3ZhK0dyK1ByK0dyK2t0K0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrdmErR3Ircm4rdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitrdCtHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK09lK0dyK1krR3IrS3QrR3IreG8rR3IrVWUrR3IrYnMrR3IrRnQrR3IrUG8rR3IrRStHcitVZStHcitiaStHcitVZStHcitTZStHcitWcitHcitEcytHcit4bytHcitVZStHcitHbytHcit2YStHcitQdCtHcitVZStHcitScitHcit5YytHcitPZStHcitWbytHcitLcitHcit2YytHcitiZStHcitzK0dyK3hjK0dyK0tvK0dyK3IrR3IrYWkrR3IrZnQrdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitBZStHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK05hK0dyK1RzK0dyK010K0dyK2hyK0dyK1lzK0dyK0tzK0dyK0UrR3IrVWUrR3IrZm4rR3IrcmMrR3IrYWUrR3IrRCtHcitMdCtHcitWcitHcit0YStHcittdCtHcitacitHcitWcitHcitPZSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3ZhciBzLGEsYyx1LGg7dT10aGlzO2g9eXU7dHJ5eyhhPXRoaXMudmUoVWErVnQrY2ksRmkpKVttcl1bcnJdKHc1LnU0KHVyLEdyLEdyLGpvLFBlLHVpLEdyLFFyLEdyLFBlLG8sR3IsdWksdWksR3IsdXIsUGUsR3IsdXIsam8sR3IsdXIsbyx1aSxHcix1cixHcix1aSxRcix1cix1aSx3NS5ZNCgxMykpKTtpdS5LKGEscWEsZnVuY3Rpb24oKXtmdW5jdGlvbiBmKCl7bigpO2FbSW9dKCk7bygpO3JvKGMpO31ofHwoaD1ndSxzPWFbQmNdPUF1KFVhK1Z0K2NpLGksWmMuayh1LlNlKGUpKSksaXUuWChhLGJvLGYpLGM9aW8oZiwzZTMpLGFbbXJdW1FyXVtQYStHcithaStHcit4YytHcit6dCtHcitwYV09dS5GZSgpWzFdW1BuK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXSk7ZnVuY3Rpb24gbigpe3c1Llk0KDE0KTthW21yXVtRcl1bdzUudTQoUGEsenQsR3IsR3IsR3IseGMsR3IsYWkscGEpXT1Hcjt9ZnVuY3Rpb24gbygpe3ZhciBhMSxZMSxmMTthMT0tMTU2OTI3MTMyMDtZMT0yMzc1ODcyNDtmMT0yO2Zvcih2YXIgRDE9MTt3NS5MMShEMS50b1N0cmluZygpLEQxLnRvU3RyaW5nKCkubGVuZ3RoLDk0NDMyKSE9PWExO0QxKyspe3NbRWMlR3ItYmFdKGVbSGldLGVbcF0pO3NbZGElR3IqYmFdKGVbb2NdLGVbS2FdKTtzW0VpXVtaXSh0KTtyKHMpO2YxKz0yO31pZih3NS5kMShmMS50b1N0cmluZygpLGYxLnRvU3RyaW5nKCkubGVuZ3RoLDYyNDUzKSE9PVkxKXtzW0VjJUdyLWJhXShlW0hpXSxlW3BdKTtzW2RhJUdyKmJhXShlW29jXSxlW0thXSk7c1tFaV1bWl0odCk7cihzKTt9c1tFYytHcitiYV0oZVtIaV0sZVtwXSk7c1tkYStHcitiYV0oZVtvY10sZVtLYV0pO3NbRWldW1pdKHQpO3Iocyk7fX0pO31jYXRjaCh0KXt9fX0pO1FjLnJlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5yZVtYdF09WmMueShRYy5uZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG8scztzPVpjLk8oZ3UpO2l1LksoeSxibyxmdW5jdGlvbigpe1pjLlAocyk7b1tFaV1bWl0odCk7cihvKTt9KTt3NS5vNCg0KTtvPXRoaXMudmUodzUuYzQoVWEsVnQsY2kpLEZpKTtzW3RvK0dyK3lhXVttcl1bcnJdKHRoaXMuRmUoKVsxXVtQbitHcithaStHcit4YytHcit6dCtHcitwYV0pO319KTtRYy5pZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuaWVbWHRdPVpjLnkoUWMudGVbWHRdLHtMZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47aT10aGlzO249eXU7dzUubzQoNCk7ZT10aGlzLnZlKHc1LmM0KFVhLFZ0LGNpKSx0Lnd0fHxGaSx0LkJlfHxHcik7dC56ZSYmKGUmJmVbSW9dKCksbj1ndSk7IW4mJmUmJmlvKGZ1bmN0aW9uKCl7ZVtFaV1bdW5dPXQueHQ7dC5JZSYmaS5JZShlKTt9LDEwMCk7fSx1ZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47bj10aGlzO3RoaXMuamU9ZHJbTW5dKCk7dGhpcy5mZT10O2U9R2Mud2UoKTt3NS5vNCgxNSk7aT1aYy5CKGUsdzUuYzQoZ3QsR3IseGMsR3IsR3IsRmMseGMsR3IsZmMsR3IsVnIpKTsoZVtTYytHcittY109PT1PbiYmZVthYStHcitHaV0oanIpIT09RmkmJiFaYy5TKGUpfHxpJiYhWmMuUyhpKSkmJih0aGlzLmhlPWd1KTtpdS5YKHksSWUsZnVuY3Rpb24gdChlKXt0cnl7ZVtpZV0uamU9PT1uLmplJiZuLkxlKGVbaWVdKTtlW2llXS56ZSYmaXUuWih5LEllLHQpO31jYXRjaCh0KXt9fSk7fSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3RoaXMuSWU9cjt0aGlzLk1lKHtqZTp0aGlzLmplLEJlOm4sSWU6Z3UseHQ6dH0pO3RoaXMuTWUoe2plOnRoaXMuamUsemU6Z3UseHQ6VWErVnQrY2l9KTt9LGhlOnl1LE1lOmZ1bmN0aW9uKHQpe3lbSnQrR3IrWF0odCx5W0VpXVtSb10pO319KTtHYz17X2k6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5RaSgpK3RoaXMuSGkoKT5aYy5HKCk7fSxLaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm10LkplO30sSmU6ZnVuY3Rpb24oKXt2YXIgdDt0PVpjLngoYXJndW1lbnRzWzBdKT9hcmd1bWVudHNbMF06YXJndW1lbnRzO3JldHVybiB0aGlzLm5uKHQsUm4sdFtwaV0mJnRbMF09PT15dSk7fSxraTpmdW5jdGlvbih0LGUsaSxuKXt0aGlzLk9pKGksdCxndSl8fG4oZ3UseXUpO30sV2k6ZnVuY3Rpb24odCl7dHJ5e3JldHVybiB0W3F0XSYmMCE9PXRbcXRdfHx0aGlzLmNpLkcrMTUwPlpjLkcoKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LFJpOmZ1bmN0aW9uKCl7dGhpcy5XZT1bXTt9LFlpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQucWU7fSxVaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLldlO30sWmU6bXUsVGk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHx0aGlzLnFpKHQpKXtyZXR1cm4geXU7fWlmKCF0aGlzLm10LnFlW3BpXXx8dFthYStHcitHaV0obG8pPT09ZnUpe3JldHVybiBndTt9Zm9yKDtlPHRoaXMubXQucWVbcGldO2UrKylpZih0PT09dGhpcy5tdC5xZVtlXXx8dHlwZW9mIHRoaXMubXQucWVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5xZVtlXVtYcytHcitwcitHcituY10oKXx8WmMuSSh0LHRoaXMubXQucWVbZV0pKXx8WmMuQih0LHRoaXMubXQucWVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LHdlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueGUuUXQ7fSxMaTpmdW5jdGlvbigpe3ZhciB0LGU7ZT10aGlzO3RoaXMuWmU9WmMueihoYyx7c3R5bGU6b2MrVnQrRnIrSGErR3IrZXIrS2ErVnQrRnIrSGErR3IrZXIrRGErVnQrSXMrZXIrcCtWdCt6bitlcitIaStWdCt6bitlcitzbit3aStMK1Z0K25vK2VyK3h0K1Z0K1hpK2VyK0dyfSxHcik7dD1DbyhmdW5jdGlvbigpe3ZhciBpO2k9cmlbUXJdO2kmJihHcyh0KSxpW0l0K0dyK1dlXShlLlplKSk7fSwxMDApO30saGk6ZnVuY3Rpb24oKXt2YXIgTjksYTksWTksdCxlLGk7Tjk9LTUxNTA4MTc1NzthOT0tMTMwNjg1MTEzNztZOT0yO2Zvcih2YXIgczk9MTt3NS5kMShzOS50b1N0cmluZygpLHM5LnRvU3RyaW5nKCkubGVuZ3RoLDEwMDExKSE9PU45O3M5Kyspe1k5Kz0yO31pZih3NS5MMShZOS50b1N0cmluZygpLFk5LnRvU3RyaW5nKCkubGVuZ3RoLDQ1MzQ0KSE9PWE5KXt9aT10aGlzLlhlLm9pO2Zvcih0PTA7dDx0aGlzLmZpW3BpXSYmKCF0aGlzLnBpKCkmJiF0aGlzLl9pKCkpO3QrKyl7aWYoZT10aGlzLmZpW3RdLHRoaXMuWGUuc2krKyx0aGlzLlhlLm9pPVpjLkcoKSx0aGlzLmxpKGUpPT09eXUpe3JldHVybiB0aGlzLlhlLnNpLS0sdm9pZCh0aGlzLlhlLm9pPWkpO31pPXRoaXMuWGUub2k7ZXUuYShodSx0aGlzLlhlLm9pKTtlLnl0PT09bHUmJmV1LmEodXUsdGhpcy5YZS5zaSk7fX0sT2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBuLHIsbyxzO3c1Lm80KDQpO289dzUuYzQoR3IsVHQsR3IpO3c1Llk0KDIpO3M9dzUuYzQobyx0KTtmb3Iobj0wO248ZVtwaV07bisrKWlmKHI9KEdyK090K0dyK1R0K0dyKVtMK0dyK1dhXShlW25dWzBdKT4tMT9lW25dOm8rZVtuXSxzW2ZzXShzW3BpXS1yW3BpXSk9PT1yfHxpJiZyPT09d3Upe3JldHVybiBndTt9cmV0dXJuIHl1O30sZW46ZnVuY3Rpb24odCxlKXt2YXIgTDAsZDAsTzAsaSxuO0wwPTEyMjU5MjUxNjQ7ZDA9LTc2NDA0NzIyNjtPMD0yO2Zvcih2YXIgQzA9MTt3NS5MMShDMC50b1N0cmluZygpLEMwLnRvU3RyaW5nKCkubGVuZ3RoLDk4MzQ3KSE9PUwwO0MwKyspe08wKz0yO31pZih3NS5MMShPMC50b1N0cmluZygpLE8wLnRvU3RyaW5nKCkubGVuZ3RoLDg1NTk4KSE9PWQwKXt9aT10aGlzO249dGhpcy50bih0LGUpO3RoaXMuV2VbTXJdKG4pO3RoaXMuRGkobik7dGhpcy5pbnx8KEdjLkNpKCksZnVuY3Rpb24oKXt2YXIgdCxlO1hjLmImJigoZT1yaVtVcytHcitDbl0oaGMpKVtSYytHcitpdF0oVmEsZnVuY3Rpb24oKXtDdT1ndTt9KSxDdT1vNSx0PUNvKGZ1bmN0aW9uKCl7aWYoQ3U9eXUsIWkubXQuUmUpe2lmKHR5cGVvZiB5W3dzXSE9PWFyfHx0eXBlb2YgeVt3c11bT29dIT09WnMpe3JldHVybiBDdT1vNSx2b2lkIEdzKHQpO315W3dzXVtPb10oZSk7eVt3c11bTWldKCk7fX0sNTAwKSk7fSgpLHRoaXMuaW49bzUpO30sUGk6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuSmkoKSx0P3RoaXMuZmlbcGldOnRoaXMuZmlbcGldPjA7fSx2aTpmdW5jdGlvbigpe3ZhciB0LGU7dD1aYy5HKCk7ZT1aYy5HKGF1KTt3NS5ZNCgxNik7dGhpcy5YZS5yaT13NS5jNChlLHQsMzE1MzYwMDAwMDApO3RoaXMuWGUucmkmJih0aGlzLmxpPWt1KTt9LEJpOmZ1bmN0aW9uKCl7dmFyIHQ7dD1VYyhldS5jKGh1KSwxMCk7cWModCkmJih0PTApO3RoaXMuWGUub2k9dDt9LENlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMuTih0KTtyZXR1cm4gZSYmIXRoaXMubXQuTmUmJlpjLlModCk/eXU6ZTt9LGp0OmZ1bmN0aW9uKHQpe3ZhciBlLGksbjtlPXR5cGVvZiB0PT09Z2U/Z3U6ISF0O3c1Lm80KDIpO2k9dzUuYzQocnUsSSk7bj1yaVthYStHcitDbitHcitpaStHcit0bl0oaSk7ZT9ufHwobj1aYy56KERvLHtjb250ZW50OkljK3dpK2lhLG5hbWU6aWEsaWQ6aX0pLHJpW2FhK0dyK1JlK0dyK2lpK0dyK1JpK0dyK21jXShvKVswXVtJdCtHcitXZV0obikpOm4mJlpjLlAobik7fSxHaTpmdW5jdGlvbigpe3RoaXMuWGUuaWk9Z3U7dGhpcy5oaT1rdTt9LEp0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQuRGU7fSx5aTpmdW5jdGlvbih0LGUsaSxuLHIpe2Zvcih2YXIgbyxzPTA7czxlJiYobz10W3NdLCEoMT09PW4mJihyKGlbcytlXSx0W3NdKmlbc10rcysoaVtzXT4+cyszKSl8fHIoaVtzKzIqZV0sdFtzXSoodFswXSt0WzFdK3RbMl0pKyhpW3NdPDxzKSl8fHIoaVtzKzMqZV0sZHJbQWNdKHRbMF0qdFsxXSp0WzJdL28pK28rKGlbc10+PnMpKSl8fG48MSYmKHIoaVtzK2VdLHRbc10qaVtzXStzKXx8cihpW3MrMiplXSx0W3NdKih0WzBdK3RbMV0rdFsyXSkpfHxyKGlbcyszKmVdLGRyW0FjXSh0WzBdKnRbMV0qdFsyXS9vKStvKSkpKTtzKyspO30scWk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHwhdGhpcy5tdC5KZVtwaV0pe3JldHVybiB5dTt9Zm9yKDtlPHRoaXMubXQuSmVbcGldO2UrKylpZih0PT09dGhpcy5tdC5KZVtlXXx8dHlwZW9mIHRoaXMubXQuSmVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5KZVtlXXx8WmMuSSh0LHRoaXMubXQuSmVbZV0pKXx8WmMuQih0LHRoaXMubXQuSmVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LGNpOnt1aTp7fSxHOjB9LEhpOmZ1bmN0aW9uKCl7cmV0dXJuIFhjLm90P2RyW0JvXSh0aGlzLm10LlZlLDFlMyk6WGMuYnx8WGMuZ3x8WGMuY3R8fFhjLnV0JiYhWGMuZXQ/ZHJbQm9dKHRoaXMubXQuVmUsMjAwKTp0aGlzLm10LlZlO30sRWU6ZnVuY3Rpb24odCl7dmFyIGUsWjcsdDcsVTc7Wjc9LTEyNTc1NDEyNDI7dDc9MTMwMDY1ODcyMDtVNz0yO2Zvcih2YXIgejc9MTt3NS5MMSh6Ny50b1N0cmluZygpLHo3LnRvU3RyaW5nKCkubGVuZ3RoLDgzNTc3KSE9PVo3O3o3Kyspe2U9dHx8dGhpcy5jaS51aTtVNys9Mjt9aWYodzUuZDEoVTcudG9TdHJpbmcoKSxVNy50b1N0cmluZygpLmxlbmd0aCwzMDU1KSE9PXQ3KXtlPXQmJnRoaXMuY2kudWk7fXRyeXtlW01vK0dyK25pXSYmZVtNbytHcituaV0oKTtlW3FlK0dyK19zXSYmZVtxZStHcitfc10oKTt3NS5vNCg0KTtlW3c1LmM0KE5yLEdyLGNvKV09eXU7dzUubzQoNCk7ZVt3NS51NChtcyxHcixIcildPWd1O31jYXRjaCh0KXt9fSxpOmZ1bmN0aW9uKCl7dmFyIE8xLEcxLEMxO08xPS0xMzAyMzI0NTE3O0cxPTg4ODY0MDYzMDtDMT0yO2Zvcih2YXIgbjE9MTt3NS5kMShuMS50b1N0cmluZygpLG4xLnRvU3RyaW5nKCkubGVuZ3RoLDU5MTU1KSE9PU8xO24xKyspe3JldHVybiB0aGlzLm10LlVlfHx0aGlzLm10LkRlO0MxKz0yO31pZih3NS5MMShDMS50b1N0cmluZygpLEMxLnRvU3RyaW5nKCkubGVuZ3RoLDIzODAyKSE9PUcxKXtyZXR1cm4gdGhpcy5tdC5VZSYmdGhpcy5tdC5EZTt9fSxwaTpmdW5jdGlvbigpe3ZhciBoNyxpNyxMNztoNz0tMTUxMTEyMzE1NDtpNz0tMTY3MjAwNTI5NjtMNz0yO2Zvcih2YXIgTzc9MTt3NS5kMShPNy50b1N0cmluZygpLE83LnRvU3RyaW5nKCkubGVuZ3RoLDMyNTMzKSE9PWg3O083Kyspe3JldHVybiB0aGlzLiRpKCk8dGhpcy5tdC5IZTtMNys9Mjt9aWYodzUuTDEoTDcudG9TdHJpbmcoKSxMNy50b1N0cmluZygpLmxlbmd0aCwxOTk5KSE9PWk3KXtyZXR1cm4gdGhpcy4kaSgpPj10aGlzLm10LkhlO319LGdpOmZ1bmN0aW9uKHQsZSxpLG4scil7Zm9yKHZhciBvLHM9MDtzPGUmJihvPXRbc10sISgxPT09biYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzErKGlbc108PGlbc10lMTApLGlbZStzXSl8fHIob1trZStHcitucytHcitCaV0ob1twaV0tMSkqaVtzXSoyK3MrKGlbc10+PnMpLGlbMiplK3NdKXx8cihvW3BpXSppW3NdKjMrKGlbc108PHMpLGlbMyplK3NdKSl8fG48MSYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzEsaVtlK3NdKXx8cihvW2tlK0dyK25zK0dyK0JpXShvW3BpXS0xKSppW3NdKjIrcyxpWzIqZStzXSl8fHIob1twaV0qaVtzXSozLGlbMyplK3NdKSkpKTtzKyspO30sV2U6W10sdG46ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IFljKHRoaXMuV2VbcGldLHQsZSk7fSxBaTpmdW5jdGlvbih0KXt0aGlzLmNpLnVpPXQ7dGhpcy5jaS5HPVpjLkcoKTt9LGFpOltdLE1pOmZ1bmN0aW9uKHQpe3JldHVybiBudS5YdCh0KSx0aGlzO30sWmk6ZnVuY3Rpb24oKXtyZXR1cm4gWmMucChbW1RyLHRoaXMubXQuRGVdLFtvaSx0aGlzLm10LlVlXSxbd3QsdGhpcy5tdC5SZV0sW0xyK0dyK3plLHRoaXMubXQuT2VdLFtSbitHcitFbix0aGlzLm10Lk5lXSxbRHQsdGhpcy5tdC5IZV0sW2xjK0dyK2JhLHRoaXMubXQucWVdLFtSbitHcitiYSx0aGlzLm10LkplXSxbUW4sdGhpcy5tdC5WZV0sW3crR3IrVix0aGlzLm10LiRlXSxbdytHcitEbix0aGlzLm10LlFlXSxbcG4rR3IrdHIrR3IrTG4sdGhpcy5tdC5HZV0sW0JzK0dyK2wrR3IrU3MsdGhpcy5tdC4kdF0sW05zK0dyKyRyLHRoaXMubXQuWWVdLFtJYytHcitwYytHcitfaSx0aGlzLm10LmJlXSxbTHMrR3IrYnQsdGhpcy5tdC5LZV0sW0IrR3IrdmUrR3IrX28rR3IreW4rR3IrTG4sdGhpcy5tdC5QZV1dKTt9LFRlOmZ1bmN0aW9uKHQpe3ZhciBlLGk7aT1aYy5PKGd1KTtyZXR1cm4gZT1pW3RvK0dyK3lhXVttcl1bVXMrR3IrQ25dKGRlKSwwPT09eVtFaV1bdW5dW0wrR3IrV2FdKGorVnQrR3IpP2VbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPUdyKyhXcitZZStHcit3bitHcikrKGYrVHQrUytUdCthYStHcitaZStHcitRaStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKTplW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoV3IrWWUrR3Ird24rR3IpKyhZcitUdCtjYStHcitfZStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSxpW3RvK0dyK3lhXVttcl1bUXJdW0l0K0dyK1dlXShlKSx0eXBlb2YgdCE9PVd0JiZ0eXBlb2YgdCE9PWdlfHxpbyhmdW5jdGlvbigpe1pjLlAoaSk7fSx0fHw1MDApLGk7fSxOaTpmdW5jdGlvbigpe3ZhciBvMSx3MSxwMTtvMT0tMjExMjgyOTI0MDt3MT00MjIxODMwODI7cDE9Mjtmb3IodmFyIHEwPTE7dzUuZDEocTAudG9TdHJpbmcoKSxxMC50b1N0cmluZygpLmxlbmd0aCwzNTgxNCkhPT1vMTtxMCsrKXtmb3IodmFyIHQsZT02O2U8PXRoaXMuV2VbcGldO2UtLSl7dD10aGlzLldlW2VdO3R1LnUodC5tdC5idCk7fXRoaXMuWGUub2k9dGhpcy5YZS5zaT00O2V1LnUodXUpO2V1LnUoY3UpO2V1LnUoaHUpO3AxKz0yO31pZih3NS5MMShwMS50b1N0cmluZygpLHAxLnRvU3RyaW5nKCkubGVuZ3RoLDUxMjkxKSE9PXcxKXtmb3IodmFyIHQsZT0yO2U8dGhpcy5XZVtwaV07ZSsrKXt0PXRoaXMuV2VbZV07dHUudSh0Lm10LmJ0KTt9dGhpcy5YZS5vaT10aGlzLlhlLnNpPTM7ZXUudSh1dSk7ZXUudShjdSk7ZXUudShodSk7fWZvcih2YXIgdCxlPTA7ZTx0aGlzLldlW3BpXTtlKyspe3Q9dGhpcy5XZVtlXTt0dS51KHQubXQuYnQpO310aGlzLlhlLm9pPXRoaXMuWGUuc2k9MDtldS51KHV1KTtldS51KGN1KTtldS51KGh1KTt9LHppOmZ1bmN0aW9uKCl7dmFyIHQ7dD0wO3JldHVybiBldS5zKCk/KHQ9ZXUuYyh1dSksZXUudSh1dSkpOnR1LmModXUpJiYocmlbaWFdPT09UnRbdW5dfHx+UnRbdW5dW0wrR3IrV2FdKEdyK3NlK0dyK3R1LmMoY3UpKSkmJih0PXR1LmModXUpLGlvKGZ1bmN0aW9uKCl7dHUudSh1dSk7dHUudShjdSk7fSwzMDApKSx0PVVjKHQsMTApLHQ9cWModCk/MDp0LHRoaXMuWGUuc2k9dDt9LG10OntOZTpndSxLZTp5dSxKZTpbXSxWZTowLCR0OmJ1LCRlOltdLERlOnl1LE9lOkZ1LEhlOjk5OTksUmU6eXUscWU6W10sWWU6MTAsVWU6eXUsUWU6Z3UsUGU6eXUsYmU6eXUsR2U6Z3V9LCRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuWGUuc2k7fSxRaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLlhlLm9pO30sYmk6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhLGMsdSxuOSxGOSxnOTtzPXRoaXM7YT0wO2M9dGhpcy5YZTt1PWZ1bmN0aW9uKHQsZSl7dmFyIFA5LEo5LFg5O1A5PTMyNTI1NjI2O0o5PS05NTA1MjQwNDM7WDk9Mjtmb3IodmFyIFM5PTE7dzUuTDEoUzkudG9TdHJpbmcoKSxTOS50b1N0cmluZygpLmxlbmd0aCw0ODQ5MykhPT1QOTtTOSsrKXtyZXR1cm4gdD09PWV8fChjLm5pPWd1LHMubGk9a3UpLHQhPWU7WDkrPTI7fWlmKHc1LkwxKFg5LnRvU3RyaW5nKCksWDkudG9TdHJpbmcoKS5sZW5ndGgsNTM4MDApIT09Sjkpe3JldHVybiB0IT09ZSYmKGMubmk9Z3Uscy5saT1rdSksdCE9PWU7fX07aWYodHlwZW9mIHlbcnVdW2FyXSE9PWdlKXtjLm5pPW11O3Q9eVtydV1bYXJdW1huXSgpO2U9eVtydV1bYXJdW1huXSgpO2k9eVtydV1bYXJdW1huXSgpO249eVtydV1bYXJdW1huXSgpO3I9WmMuRigoeVtydV1bYXJdW1huXSgpfHx7c3JjOm51bGx9KVtYcl0pO289WmMuRih4dVtYcl0pO3RyeXtuOT0xNDUwNjEyMjI1O0Y5PS01NjY0Nzc2Nzc7Zzk9Mjtmb3IodmFyIFI5PTE7dzUuZDEoUjkudG9TdHJpbmcoKSxSOS50b1N0cmluZygpLmxlbmd0aCwyODY5NSkhPT1uOTtSOSsrKXthPXlbcnVdW2FyXVtYbl0oKSYmNztnOSs9Mjt9aWYodzUuZDEoZzkudG9TdHJpbmcoKSxnOS50b1N0cmluZygpLmxlbmd0aCwzODQzOCkhPT1GOSl7YT15W3J1XVthcl1bWG5dKCkmJjc7fWE9eVtydV1bYXJdW1huXSgpfHwwO31jYXRjaCh0KXt9YT1kcltCb10oMCxkcltrYV0oMSxhKSk7dGhpcy5taSh0LG8scix1KTt0aGlzLmdpKHQsdFtwaV0sZSxhLHUpO3RoaXMueWkoaSxpW3BpXSxuLGEsdSk7dGhpcy5raSh0LHRbcGldLFpjLkYoKSx1LHUpO3RoaXMud2koaSxaYy5HKCkpO2Mubmk9PT1tdSYmKGMubmk9eXUpO31jLnhpPWF8fDA7fSxFaTpmdW5jdGlvbih0LGUpe3ZhciBkOSxPOSxHOTtkOT04MzA2MTMyMTE7Tzk9MTQwNDM5MjY4MztHOT0yO2Zvcih2YXIgazk9MTt3NS5kMShrOS50b1N0cmluZygpLGs5LnRvU3RyaW5nKCkubGVuZ3RoLDE2MDEwKSE9PWQ5O2s5Kyspe3RoaXMueGUuUXQ9dDt0aGlzLnhlLlM9ZTtHOSs9Mjt9aWYodzUuZDEoRzkudG9TdHJpbmcoKSxHOS50b1N0cmluZygpLmxlbmd0aCw3Njg2OSkhPT1POSl7dGhpcy54ZS5RdD10O3RoaXMueGUuUz1lO319LFhpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbix1OSx5OSxIOTtuPXR8fHt9O2ZvcihlIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixlKSlzd2l0Y2godGhpcy5tdFtlXT1pPW5bZV0sZSl7Y2FzZSBUcjp0aGlzLm10LkRlPWk7YnJlYWs7Y2FzZSBvaTp0aGlzLm10LlVlPWk7YnJlYWs7Y2FzZSB3dDp0aGlzLm10LlJlPWk7YnJlYWs7Y2FzZSBMcitHcit6ZTp0aGlzLm10Lk9lPWk7YnJlYWs7Y2FzZSBSbitHcitFbjp0aGlzLm10Lk5lPWk7YnJlYWs7Y2FzZSBEdDp0aGlzLm10LkhlPWk7YnJlYWs7Y2FzZSBsYytHcitiYTp0aGlzLnFlW29hXSh0aGlzLGkpO2JyZWFrO2Nhc2UgUm4rR3IrYmE6dGhpcy5KZVtvYV0odGhpcyxpKTticmVhaztjYXNlIFFuOnRoaXMubXQuVmU9aTticmVhaztjYXNlIHcrR3IrVjp0aGlzLm10LiRlPWk7YnJlYWs7Y2FzZSB3K0dyK0RuOnRoaXMubXQuUWU9aTticmVhaztjYXNlIHBuK0dyK3RyK0dyK0xuOnRoaXMubXQuR2U9aTticmVhaztjYXNlIEJzK0dyK2wrR3IrU3M6dGhpcy5tdC4kdD1pO2JyZWFrO2Nhc2UgTnMrR3IrJHI6dGhpcy5tdC5ZZT1pO2JyZWFrO2Nhc2UgSWMrR3IrcGMrR3IrX2k6dGhpcy5tdC5iZT1pO2JyZWFrO2Nhc2UgTHMrR3IrYnQ6dGhpcy5tdC5LZT1pO2JyZWFrO2Nhc2UgQitHcit2ZStHcitfbytHcit5bitHcitMbjp0aGlzLm10LlBlPWk7fXU5PTE1MDY0OTg2ODA7eTk9NjExNzc3ODY1O0g5PTI7Zm9yKHZhciBUOT0xO3c1LkwxKFQ5LnRvU3RyaW5nKCksVDkudG9TdHJpbmcoKS5sZW5ndGgsNjMyMykhPT11OTtUOSsrKXtyZXR1cm4gdGhpcztIOSs9Mjt9aWYodzUuZDEoSDkudG9TdHJpbmcoKSxIOS50b1N0cmluZygpLmxlbmd0aCw2MzczOSkhPT15OSl7cmV0dXJuIHRoaXM7fX0saGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksZzcsTTcsUjc7Zzc9LTM5MDQ0MjA2O003PS0xNjI0Njc4MzI1O1I3PTI7Zm9yKHZhciBKNz0xO3c1LkwxKEo3LnRvU3RyaW5nKCksSjcudG9TdHJpbmcoKS5sZW5ndGgsNTI1MzkpIT09Zzc7SjcrKyl7ZT10aGlzLndlKCk7aT10aGlzLmNpLnVpO1I3Kz0yO31pZih3NS5MMShSNy50b1N0cmluZygpLFI3LnRvU3RyaW5nKCkubGVuZ3RoLDg0NzUzKSE9PU03KXtlPXRoaXMud2UoKTtpPXRoaXMuY2kudWk7fXRyeXsodD1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0oZ3MsZ3UsZ3UseSwxLGlbT2krR3IrVWVdLGlbT2krR3IreG9dLGlbSGMrR3IrVWVdLGlbSGMrR3IreG9dLHl1LHl1LHl1LHl1LDAsbXUpO3RbVW9dPWd1O2VbZ24rR3IrQ2FdKHQpO31jYXRjaCh0KXtLYy5lKHQpO319LFZpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuUGkobzUpO30sU2k6ZnVuY3Rpb24oKXt2YXIgdCxpLG4scixvLHM7cj10aGlzO289NTAwO3M9ZnVuY3Rpb24odCxlKXt2YXIgaSxuO249WGMuYj9lYzpnczsoaT1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0obixndSxndSx5LDEsZVtPaStHcitVZV0sZVtPaStHcit4b10sZVtIYytHcitVZV0sZVtIYytHcit4b10seXUseXUseXUseXUsMCxtdSk7aS5mYz1ndTt0W2duK0dyK0NhXShpKTt9O2l1LlgocmksJHQsZnVuY3Rpb24ocil7dmFyIG8sRjEsZzEsTTE7dzUubzQoNCk7bz1yW3c1LnU0KHNyLEdyLGUpXVswXTtGMT05NTkwNTM3NzY7ZzE9LTE3NzY2NDMwNTc7TTE9Mjtmb3IodmFyIFAxPTE7dzUuZDEoUDEudG9TdHJpbmcoKSxQMS50b1N0cmluZygpLmxlbmd0aCw4NTkzNCkhPT1GMTtQMSsrKXt3NS5vNCgxOCk7dD1yW3c1LnU0KG9zLEpzLEdyKV07dzUuWTQoMTkpO2k9b1t3NS51NChHcixmbyxVZSldO3c1Lm80KDIwKTtuPW9bdzUuYzQoeG8sZm8sR3IpXTtNMSs9Mjt9aWYodzUuTDEoTTEudG9TdHJpbmcoKSxNMS50b1N0cmluZygpLmxlbmd0aCwxMTM5OCkhPT1nMSl7dzUubzQoMjEpO3Q9clt3NS5jNChvcyxKcyxHcildO3c1Llk0KDIyKTtpPW9bdzUuYzQoR3IsVWUsZm8pXTt3NS5vNCg2KTtuPW9bdzUuYzQoR3IseG8sZm8pXTt9dzUubzQoNCk7dD1yW3c1LnU0KG9zLEdyLEpzKV07dzUuWTQoNCk7aT1vW3c1LmM0KGZvLEdyLFVlKV07dzUubzQoNCk7bj1vW3c1LnU0KGZvLEdyLHhvKV07fSxndSk7aXUuWChyaSx2LGZ1bmN0aW9uKGEpe3ZhciBjLHUsaCxTMCxOMCxhMDtTMD0xMTI5ODE1NDEyO04wPS00NTk2NDE3MTE7YTA9Mjtmb3IodmFyIGYwPTE7dzUuZDEoZjAudG9TdHJpbmcoKSxmMC50b1N0cmluZygpLmxlbmd0aCw5MDQxMCkhPT1TMDtmMCsrKXt3NS5vNCg0KTtjPWFbdzUuYzQoc3IsR3IsZSldWzBdO3U9aXUudHQoYSk7aD1yLm10LlllO2EwKz0yO31pZih3NS5MMShhMC50b1N0cmluZygpLGEwLnRvU3RyaW5nKCkubGVuZ3RoLDUxODk1KSE9PU4wKXt3NS5ZNCg2KTtjPWFbdzUudTQoR3IsZSxzcildWzRdO3U9aXUudHQoYSk7aD1yLm10LlllO31kcltGc10oY1tmbytHcitVZV0taSk+PWh8fGRyW0ZzXShjW2ZvK0dyK3hvXS1uKT49aHx8YVtvcytHcitKc10tdD5vfHxyLm10LlllPD0wfHxYYy5odCYmRGlbaXJdKHVbU2MrR3IrbWNdKXx8ci5YZS5paXx8ci5YZS5uaXx8ci5YZS5yaXx8ci5waSgpfHxyLl9pKCl8fCFyLlBpKCl8fCFyLlRpKHUpfHwhci5tdC5OZSYmWmMuUyh1KXx8KHVbU2MrR3IrbWNdPT09T24mJnIuRWUoYSkscyh1LGMpKTt9LGd1KTt9LG1pOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByLG87bz15dTtmb3Iocj0wO3I8dFtwaV07cisrKWlmKHRbcl09PT13dSl7bz1ndTticmVhazt9byYmKGV8fGkpJiYoIXRoaXMuT2koZSx0KXx8IXRoaXMuT2koaSx0KXx8eVtydV1bdW5dJiZ5W3J1XVt1bl1bcGldJiYhdGhpcy5PaShaYy5GKCkseVtydV1bdW5dKSkmJm4oZ3UseXUpO30seGU6e1F0Om11LFM6eXV9LHFlOmZ1bmN0aW9uKCl7dmFyIHQ7dD1aYy54KGFyZ3VtZW50c1swXSk/YXJndW1lbnRzWzBdOmFyZ3VtZW50cztyZXR1cm4gdGhpcy5ubih0LGxjLHRbcGldJiZ0WzBdPT09eXUpO30sd2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBXMSxsMSxjMTtXMT0xMTQ2NjMzOTY5O2wxPTU4MTgzMzU3NjtjMT0yO2Zvcih2YXIgdTE9MTt3NS5kMSh1MS50b1N0cmluZygpLHUxLnRvU3RyaW5nKCkubGVuZ3RoLDY5ODkxKSE9PVcxO3UxKyspe1pjLkcodFtOaV0oR3IrUGUrR3IpKTxlJiZpKGd1LHl1KTtjMSs9Mjt9aWYodzUuZDEoYzEudG9TdHJpbmcoKSxjMS50b1N0cmluZygpLmxlbmd0aCw0ODMyNikhPT1sMSl7WmMuRyh0W05pXShHciVQZSVHcikpPj1lfHxpKGd1LHl1KTt9fSxDaTpmdW5jdGlvbigpe3ZhciByLG8scyxhLGMsdSxoLGYscCxfO2Z1bmN0aW9uIHQoKXt2YXIgdCxlO3c1Lm80KDE3KTtlPVt3NS51NChIbixUdCxHcixFbixHcixDYSxKYSksdzUuYzQoeG4sVHQsR3IsRW4sR3IsQ2EsSmEsdzUubzQoMTcpKSx3NS5jNChKYSxUdCxRYSx3NS5ZNCg0KSksdzUuYzQoQ24sR3IsVXMsbXIsVHQsdzUubzQoMSkpLHc1LnU0KFdlLEdyLHhuLG1yLFR0LHc1Llk0KDEpKV07Zm9yKHQ9MDt0PGVbcGldO3QrKylpZihaYy5sKGVbdF0pKXtyZXR1cm4gS2MuZSh0LFpjLmwoZVt0XSkpLGd1O31yZXR1cm4geXU7fWZ1bmN0aW9uIGkoaSl7dT0yO198fChfPWd1LGlvKGZ1bmN0aW9uKCl7Xz15dTt9LFhjLm90PzUwMDoxNTApLEN1JiYhcC5VZXx8KHI9aXUudHQoaSksbz1aYy5CKHIsT24pLGM9WmMuUyhyKSxyW2FhK0dyK0dpXShsbyk9PT1mdT8oclt4ZV1beHRdPVhpLFpjLlAocikscj1pdS50dChpLGd1KSk6byYmKHM9KHI9bylbYWErR3IrR2ldKFRpKSxhPVpjLk4ociksYz1aYy5TKHIpKSxmLkVpKHIsYyksZi5YZS5paXx8Zi5YZS5uaXx8Zi5YZS5yaXx8aVtVb118fGUoZi5jaS51aVtPXSYmZi5jaS51aVtPXSE9PWlbT10pfHxlKHAuS2UmJiFFdSl8fGUoIWlbSGMrR3IrVWVdJiYhaVtIYytHcit4b10pfHxlKCFYYy5vdCYmIVhjLmcmJnR5cGVvZiBpW3F0XSE9PWdlJiYwIT09aVtxdF0pfHxlKCFYYy5vdCYmIWYuWmUmJihYYy5jdHx8WGMuYnx8WGMudXQpKXx8ZSghWGMub3QmJiFwLkdlJiYoWGMuYnx8WGMudXQpJiZzPT09RmkpfHxlKGYucGkoKSl8fGUoZi5faSgpKXx8ZSghZi5QaSgpKXx8ZSghZi5UaShyKSl8fGUoYyYmIXAuTmUpfHxlKCFwLlJlJiZ0KCkpfHwoZi5BaShpKSxYYy5ldCYmbyYmYSYmZi5FZShpKSxYYy5vdHx8IW98fGN8fChYYy5iJiZzIT09RmkmJlpjLlkoKXx8cC5HZSYmcz09PUZpJiYoWGMuYnx8WGMudXQpKSYmZi5FZShpKSxmLkZpPW11LGYuaGkoKSkpKTt9Zj10aGlzO3A9Zi5tdDtfPXl1O2Z1bmN0aW9uIGUodCl7cmV0dXJuKyt1LHQmJktjLmUodSksdDt9cC5SZXx8IXQoKT8oaD1YYy5kfHxYYy5nP3FhOmVjLGZ1bmN0aW9uKCl7aXUuWChyaSxncyxpLGd1KTtYYy5vdD8oaXUuWChyaSxlYyxuLGd1KSxpdS5YKHJpLHFhLG4sZ3UpKTppdS5YKHJpLGgsbixndSk7fSgpLHRoaXMuU2koKSx0aGlzLmppKCksdGhpcy5MaSgpLHRoaXMuemkoKSx0aGlzLkJpKCkpOktjLmUoeXUpO2Z1bmN0aW9uIG4odCl7cj1vPWM9cz1hPW11OyFYYy5vdCYmdFtIYytHcitVZV0rKFhjLm50PzE3OjE1KT55W1BhK0dyK2ddP3AuUWUmJigocj17fSkuc2Nyb2xsYmFyPWd1LGYuRWkocix5dSksZi5waSgpfHxmLl9pKCl8fCFmLlBpKCl8fGYuaGkoKSk6aSh0KTt9fSxsaTpmdW5jdGlvbih0KXtpZih0aGlzLlhlLmlpfHx0aGlzLlhlLm5pfHx0aGlzLlhlLnJpKXtyZXR1cm4geXU7fXN3aXRjaCh0Lnl0KXtjYXNlIF91Om5ldyBRYy5tZSh0KS5wZSgpO2JyZWFrO2Nhc2UgZHU6bmV3IFFjLmdlKHQpLnBlKCk7YnJlYWs7Y2FzZSBsdTpuZXcgUWMueWUodCkucGUoKTticmVhaztjYXNlIHB1OnRyeXtuZXcoUWMuZHQoKSkodCkucGUoKTt9Y2F0Y2godCl7S2MuZSh0KTt9fXJldHVybiB0LnF0KCksZ3U7fSxqaTpmdW5jdGlvbigpe3ZhciB0LGUsaSxuLHIsbztuPXRoaXM7cj17fTtvPWZ1bmN0aW9uKHQpe2ZvcihlPTA7ZTx0W3BpXTtlKyspe24uTWkodFtlXSk7fX07Q28oZnVuY3Rpb24oKXt2YXIgZTtmb3IodD0wO3Q8bi5tdC4kZVtwaV07dCsrKXtpZihlPW4ubXQuJGVbdF0sKGk9cmlbYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGUpKVtwaV0mJm4ucGkoKXx8IW4uUGkoKSl7cmV0dXJuO310eXBlb2YgcltlXSE9PWdlJiZyW2VdPT09aVtwaV18fG8oaSk7fX0sMWUzKTt9LElpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbixyLG8scyxlOSxqOSxaOTtvPTI7cz15dTtmb3IoZT0wO2U8PW87ZSsrKXtpZigobj1yaVt3citHcitqbitHcitMY10odFtIYytHcitVZV0rZSx0W0hjK0dyK3hvXSkpJiZuW1NjK0dyK21jXT09PXBhK0dyK09uK0dyK0ZjK0dyK1BzK0dyK3BhKXtzPWd1O2JyZWFrO31mb3IoaT0wO2k8PW87aSsrKWlmKChuPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXStlLHRbSGMrR3IreG9dK2kpKSYmbltTYytHcittY109PT1wYStHcitPbitHcitGYytHcitQcytHcitwYSl7cz1ndTticmVhazt9aWYocylicmVhazt9aWYocylmb3Iocz15dSxyPW5bYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGVpKSxlPTA7ZTxyW3BpXTtlKyspaWYoWmMuVShyW2VdKSl7cz1ndTticmVhazt9ZTk9MTI0NjQ2Mzc5O2o5PTE4ODY4MTA5NztaOT0yO2Zvcih2YXIgVTk9MTt3NS5MMShVOS50b1N0cmluZygpLFU5LnRvU3RyaW5nKCkubGVuZ3RoLDU5MDM1KSE9PWU5O1U5Kyspe3JldHVybiBzP246eXU7WjkrPTI7fWlmKHc1LmQxKFo5LnRvU3RyaW5nKCksWjkudG9TdHJpbmcoKS5sZW5ndGgsNDQ5MzkpIT09ajkpe3JldHVybiBzP246eXU7fX0sRGk6ZnVuY3Rpb24oKXtpZighdGhpcy5YZS5laSl7dGhpcy5YZS5laT1ndTt0cnl7dGhpcy52aSgpO3RoaXMuYmkoKTt9Y2F0Y2godCl7fUtjLmUoW3RoaXMuWGUubmk/MDoxLHRoaXMuWGUucmk/MDoxLHRoaXMuWGUueGldW05pXShHcikpO319LFhlOnt0aTp5dSxuaTpndSxlaTp5dSxvaTowLHJpOmd1LHNpOjAsaWk6eXV9LG5uOmZ1bmN0aW9uKHQsZSxpKXtmb3IodmFyIG4scj0wLG89ZT09PVJuP3RoaXMubXQuSmU6dGhpcy5tdC5xZTtpJiZvW3BpXTspe29bQnNdKCk7fWZvcig7cjx0W3BpXTtyKyspe3R5cGVvZihuPXRbcl0pPT09VGM/b1tNcl0obik6dHlwZW9mIG49PT1hciYmdHlwZW9mIG5bd2ErR3IrbWNdPT09VGMmJm9bTXJdKG4pO31yZXR1cm4gdGhpczt9LEppOmZ1bmN0aW9uKCl7dmFyIHkxLEgxLHYxLHQsZTt5MT0xNzAzNzYyNDUyO0gxPTEyMTk1OTkwMzk7djE9Mjtmb3IodmFyIEUxPTE7dzUuZDEoRTEudG9TdHJpbmcoKSxFMS50b1N0cmluZygpLmxlbmd0aCwzODk3NykhPT15MTtFMSsrKXtlPTY7Zm9yKHRoaXMuZmk9W107ZT49dGhpcy5XZVtwaV07ZS0tKXsodD10aGlzLldlW2VdKS5MdCgpfHx0aGlzLmZpW01yXSh0KTt9djErPTI7fWlmKHc1LmQxKHYxLnRvU3RyaW5nKCksdjEudG9TdHJpbmcoKS5sZW5ndGgsMjE2MzkpIT09SDEpe2U9MTtmb3IodGhpcy5maT1bXTtlPnRoaXMuV2VbcGldO2UrKyl7KHQ9dGhpcy5XZVtlXSkuTHQoKSYmdGhpcy5maVtNcl0odCk7fX1lPTA7Zm9yKHRoaXMuZmk9W107ZTx0aGlzLldlW3BpXTtlKyspeyh0PXRoaXMuV2VbZV0pLkx0KCkmJnRoaXMuZmlbTXJdKHQpO31yZXR1cm4gdGhpcy5maTt9LGRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2kudWk7fX07aXUuWCh5LFN0LGZ1bmN0aW9uKCl7dmFyIFg3LEI3LFM3O1g3PTIwMTA5MDA5MDY7Qjc9LTE2OTQwNjQ1NTI7Uzc9Mjtmb3IodmFyIGE3PTE7dzUuTDEoYTcudG9TdHJpbmcoKSxhNy50b1N0cmluZygpLmxlbmd0aCwxNDk3OSkhPT1YNzthNysrKXtFdT0hMTtTNys9Mjt9aWYodzUuZDEoUzcudG9TdHJpbmcoKSxTNy50b1N0cmluZygpLmxlbmd0aCw2MjI0OCkhPT1CNyl7RXU9IXt9O31FdT1vNTt9KTtpbyhmdW5jdGlvbigpe3c1Lm80KDE1KTtLYy5lKHc1LnU0KFNpLFllLEdyLFR0LFllLE0sR3IsWWUsUWUsT3QsQW8pKTt3NS5vNCg0KTtLYy5lKHc1LmM0KHhhLFZ0LEdyKSxvdSk7dzUuWTQoNCk7S2MuZSh3NS5jNChxaSxWdCxHciksc3UpO3c1Lm80KDQpO0tjLmUodzUudTQoRXMsVnQsR3IpLGF1KTt9LDEwKTt5W3J1XT15W3J1XXx8ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG87cj17fTtvPVpjLnAoW1trbytHcitSYStHcitudCxbR2MsR2MuaV1dLFtKbixzdV0sW0d0LG91XSxbWW8rR3IraXMsYXVdLFt6YSxbR2MsR2MuWGkscl1dLFthYStHcitJaSxbR2MsR2MuWmldXSxbYWErR3IrUStHcitiYSxbR2MsR2MuWWldXSxbYWErR3IrX28rR3IrYmEsW0djLEdjLktpXV0sW3crR3IrQ24sW0djLEdjLk1pXV0sW0huLFtHYyxHYy5lbixyXV0sW0duLFtHYyxHYy5oaSxyXV0sW2VzLFtHYyxHYy5HaSxyXV0sW2xjK0dyK2JhLFtHYyxHYy5xZSxyXV0sW1JuK0dyK2JhLFtHYyxHYy5KZSxyXV0sW2FhK0dyK2h0K0dyK0NuLFtHYyxHYy53ZV1dLFthYStHcitubitHcitabyxbR2MsR2MuJGldXSxbYWErR3IreWUrR3IrWm8sW0djLEdjLlZpXV0sW0JhK0dyK3llLFtHYyxHYy5QaV1dLFtrbytHcitkdCtHcitKZSxbR2MsR2MucGldXSxbYWErR3IrVXQrR3IramUrR3IrQmksW0djLEdjLlFpXV0sW2FhK0dyK1V0K0dyK0NhLFtHYyxHYy5kaV1dLFt6aSxbR2MsR2MuTmldXSxbYWErR3IrXyxbR2MsR2MuVWldXSxbRm8rR3IrXyxbR2MsR2MuUmldXSxbaGErVHQrT28sW0tjLEtjLmVdXSxbaGErVHQrRyxbS2MsS2Mucl1dLFtPYStUdCtsaSxbdHUsdHUuYV1dLFtPYStUdCthYSxbdHUsdHUuY11dLFtPYStUdCt4bixbdHUsdHUudV1dLFt0aStUdCtrbytHcitkaSxbZXUsZXUuc11dLFt0aStUdCtsaSxbZXUsZXUuYV1dLFt0aStUdCthYSxbZXUsZXUuY11dLFt0aStUdCt4bixbZXUsZXUudV1dLFtjZStUdCtKbixYYy5wdF0sW2NlK1R0K0lyK0dyK3FpLFhjLmZ0XSxbY2UrVHQra28rR3IrQ3MsWGMuaXRdLFtjZStUdCtrbytHcitYbyxYYy5udF0sW2NlK1R0K2tvK0dyK01hLFhjLm1dLFtjZStUdCtrbytHcit2YStHcitmYytHcit0YyxYYy5ldF0sW2NlK1R0K2tvK0dyK0JuLFhjLnJ0XSxbY2UrVHQra28rR3Irdm4sWGMub3RdLFtjZStUdCtrbytHcitoZSxYYy5zdF0sW2NlK1R0K2tvK0dyK3l0LFhjLmF0XSxbY2UrVHQra28rR3IrZ2MsWGMuYl0sW2NlK1R0K2tvK0dyK0luLFhjLmRdLFtjZStUdCtrbytHcitGYSxYYy5odF0sW2NlK1R0K2tvK0dyK3ZhK0dyK1BzLFhjLmddLFtjZStUdCtrbytHcitjcyxYYy5jdF0sW2NlK1R0K2tvK0dyK0VvLFhjLnV0XSxbY2UrVHQrSm4rR3IrdXQsW1hjLFhjLkpdXSxbY2UrVHQrYW8rR3IrZGksW1hjLFhjLmx0XV0sW0NhK1R0K2xjK0dyK3FzLFtpdSxpdS5LXV0sW0NhK1R0K2xjLFtpdSxpdS5YXV0sW0NhK1R0K2xhLFtpdSxpdS5aXV0sW0NhK1R0K2FhK0dyK3luLFtpdSxpdS50dF1dLFtLZStUdCtrbytHcit2ZStHciskZSxbWmMsWmMud11dLFtLZStUdCtKbitHcit1dCxbWmMsWmMuSl1dLFtLZStUdCtvcyxbWmMsWmMuR11dLFtLZStUdCt3byxbWmMsWmMueV1dLFtLZStUdCtKaSxbWmMsWmMuJF1dLFtLZStUdCtVcytHcitDbixbWmMsWmMuel1dLFtLZStUdCt4bitHcitDbixbWmMsWmMuUF1dLFtLZStUdCthYStHcitVaSxbWmMsWmMuQl1dLFtLZStUdCtEZStHcitZaSxbWmMsWmMuSF1dXSk7Zm9yKGUgaW4gbylpZih5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShvLGUpKXtmb3Iobj1lW0NyXShHcitUdCtHciksdD1yLGk9MDtpPG5bcGldLTE7aSsrKXt0eXBlb2YgdFtuW2ldXT09PWdlJiYodFtuW2ldXT17fSk7dD10W25baV1dO310W25bbltwaV0tMV1dPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIFpjLngodFtlXSk/MT09PXRbZV1bcGldP3RbZV1bMF06ZnVuY3Rpb24oKXtyZXR1cm4gMj09PXRbZV1bcGldP3RbZV1bMV1bb2FdKHRbZV1bMF0sYXJndW1lbnRzKToodFtlXVsxXVtvYV0odFtlXVswXSxhcmd1bWVudHMpLHRbZV1bMl0pO306dFtlXTt9KG8sZSk7fXJldHVybiByO30oKTt9KHQucG9wbnN8fHpjK0dyK1VjK0dyK09jLHQsdFtFaV0sdFtPaV0sdFttcl0sdFtyb10sdFtibl0sdFtObl0sdFtDb10sdFtyaStHcitpb10sdFtsaStHcitZaV0sdFtNaStHcitZaV0sdFtsaStHcitBaV0sdFtNaStHcitBaV0sdFtMdCtHcit0YytHcitmYytHcitndF0sdFt5K0dyK1J0XSx0W2tvK0dyK3lpK0dyK2d0XSx0W2lzXSx0W1hlK0dyK1ZyK0dyK0dzK0dyK3ZhK0dyK1VyXSx0W2RyXSk7fSh3aW5kb3cpO2Y1eXkuSD1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC55PT09J2Z1bmN0aW9uJz9mNXl5LkwueS5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwueTt9O2Y1eXkuVz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Y1eXkuZz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC5PPT09J2Z1bmN0aW9uJz9mNXl5LkwuTy5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwuTzt9O2Y1eXkuZj1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Z1bmN0aW9uIGY1eXkoKXt9ZjV5eS5CPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5MLnk9PT0nZnVuY3Rpb24nP2Y1eXkuTC55LmFwcGx5KGY1eXkuTCxhcmd1bWVudHMpOmY1eXkuTC55O307ZjV5eS5SPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5JPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5MPWZ1bmN0aW9uKEQpe3JldHVybnt5OmZ1bmN0aW9uKCl7dmFyIEcsZD1hcmd1bWVudHM7c3dpdGNoKEQpe2Nhc2UgMjpHPWRbMF0qZFsxXTticmVhaztjYXNlIDA6Rz1kWzBdfGRbMV07YnJlYWs7Y2FzZSAxOkc9ZFsxXS1kWzBdO2JyZWFrO31yZXR1cm4gRzt9LE86ZnVuY3Rpb24oVil7RD1WO319O30oKTtmNXl5Lno9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiBmNXl5LkwuTz09PSdmdW5jdGlvbic/ZjV5eS5MLk8uYXBwbHkoZjV5eS5MLGFyZ3VtZW50cyk6ZjV5eS5MLk87fTtmNXl5LkM9ZnVuY3Rpb24oKXt2YXIgUT0yO3doaWxlKFEhPT0xKXtzd2l0Y2goUSl7Y2FzZSAyOnJldHVybnt2OmZ1bmN0aW9uKFUpe3ZhciBiPTI7d2hpbGUoYiE9PTE0KXtzd2l0Y2goYil7Y2FzZSAyOnZhciBLPScnLGw9ZGVjb2RlVVJJKCJ0JTExa2JsYyU3RCUwNmhiZGxtbDYhJTNDJTNDKyU1QmNkLTo1JTVENyg4Jy8lNUJ3LzI4bWolM0M4KTA3YiolMUMyJTI1bSUwN3ElN0RvYmslMTh3JTdDc2RtaDcpKSUyMipaMmQlMTgtNUErKS5vbXMlMTUlMjUlM0UwKyU1QiUzQyUxMXUlMjA2TXk/KScsSy1kJTNFOSxLMi00OyUyMCUwNjojMCU3RDUlNUM6IzMya0s2IXU5Kks4JTIwNTo2JTVDcSUxRiUzRScsWC1sMCUyMDYlNUN5Ljh1KUc4KDgxZUolM0MqMiclMjAlMDg1JTI1JTNFMCslNUIlM0NsOyUzQylNcWIxOiZJNSIpO2I9MTticmVhaztjYXNlIDk6Sys9U3RyaW5nLmZyb21DaGFyQ29kZShsLmNoYXJDb2RlQXQoWSleVS5jaGFyQ29kZUF0KGspKTtiPTg7YnJlYWs7Y2FzZSAxOnZhciBZPTAsaz0wO2I9NTticmVhaztjYXNlIDU6Yj1ZPGwubGVuZ3RoPzQ6NzticmVhaztjYXNlIDM6az0wO2I9OTticmVhaztjYXNlIDg6WSsrLGsrKztiPTU7YnJlYWs7Y2FzZSA0OmI9az09PVUubGVuZ3RoPzM6OTticmVhaztjYXNlIDc6Sz1LLnNwbGl0KCcoJyk7cmV0dXJuIGZ1bmN0aW9uKFApe3ZhciBoPTI7d2hpbGUoaCE9PTEpe3N3aXRjaChoKXtjYXNlIDI6cmV0dXJuIEtbUF07YnJlYWs7fX19O2JyZWFrO319fSgnRShZTF1VJyl9O2JyZWFrO319fSgpOyFmdW5jdGlvbihlLG8sYyl7InVzZSBzdHJpY3QiO3ZhciBUPWY1eXk7dmFyIGksbix0O1QuZygwKTtpPVQuUihULkgoIjgiLDApKTtULnooMCk7bj1bVC5JKFQuSCgnXHgzMVx4MzAnLDApKSxULkkoKyI2IiksVC5SKCsnXHgzMVx4MzQnKSxULlIoKyIxMiIpLFQuUihULkgoIjUiLDAsVC5nKDApKSksVC5JKFQuQigwLCdceDMwJyxULnooMSkpKSxULlIoVC5CKCdceDMxXHgzMScsMCxULnooMCkpKSxULkkoKyIyIildO1QuZygyKTt0PVsrJ1x4MzJceDMwXHgzMVx4MzknLFQuQignXHUwMDM1JywxKSxULkgoJ1x4MzFceDM2JywwLFQuZygwKSldO3RyeXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yy5Mb2dnZXIubG9nKGksVC5SKCsnXHgzMScpLG4pO2MuTG9nZ2VyLmxvZyhpLFQuUigiNyItMCksdC5qb2luKFQuSSgnXHgzNCctMCkpKTt9LCsiNTAwIik7VC56KDEpO2Mub2JqZWN0PVtuLFsrIjM2MCIsNDk0LDM5MSwrIjMxMiIsVC5CKDAsIjMxMiIpLFQuSCgiMzY1IiwwLFQuZygwKSksKydceDM0XHgzMFx4MzQnLFQuSCgiMzAwIiwwLFQuZygwKSksKydceDMzXHgzNlx4MzBceDMwXHgzMScsVC5IKDAsJ1x4MzNceDM5XHgzNVx4MzJceDMyJyxULmcoMSkpLFQuQigiMTg3NzEiLDAsVC56KDApKSwrIjM0OTQ4IiwxNjU0MSwyOTU3MSwrJ1x4MzVceDMxXHgzN1x4MzFceDM5JywzMzkwOCxULkgoIjc4ODQwIiwwLFQuZygwKSksMTA1OTY0LCsnXHgzOFx4MzRceDM1XHgzNVx4MzUnLFQuSCgiNzI0MjYiLDAsVC5nKDApKSxULkgoJ1x4MzNceDMwXHgzNVx4MzlceDM5JywwLFQuZygwKSksVC5CKCdcdTAwMzRcdTAwMzFcdTAwMzZcdTAwMzJcdTAwMzYnLDAsVC5nKDApKSxULkIoMCwnXHUwMDM4XHUwMDM4XHUwMDMwXHUwMDM4XHUwMDM0JyxULnooMSkpLFQuSCgiNjU0MDkiLDEsVC5nKDIpKSwxNDQwMCxULkgoIjEyODQ0IiwxLFQueigyKSksKydceDM4XHgzNlx4MzBceDMyJyxULkgoJ1x4MzFceDMwXHgzOVx4MzJceDMwJywxLFQuZygyKSksMTM0MTYsVC5IKCdceDMyXHgzNFx4MzhceDMyXHgzMCcsMCxULmcoMCkpLFQuQignXHgzM1x4MzdceDM5XHgzN1x4MzYnLDAsVC56KDApKSwrJ1x4MzVceDMxXHg2NVx4MzMnXSx0LFtULkgoJ1x4MzNceDM2XHgzMicsMCxULmcoMCkpLDQ5NiwrJ1x4MzNceDM5XHgzOScsVC5IKDAsIjczMDkyMyIsVC5nKDEpKSwrJ1x1MDAzMlx1MDAzNVx1MDAzMVx1MDAzMicsVC5IKCI2Mzk4IiwwLFQueigwKSksVC5IKCdcdTAwMzRcdTAwMzFcdTAwMzFcdTAwMzlcdTAwMzFcdTAwMzJcdTAwMzInLDEsVC5nKDIpKSwrJ1x4MzFceDMxXHgzMVx4MzlceDMyJyxULkgoJ1x4MzNceDM0XHgzMlx4MzNceDM2JywwLFQueigwKSksMjQ2MSwzMjU1NywxMDIxMF0sby5jdXJyZW50U2NyaXB0LFQuSCgiMSIsMSxULmcoMikpXTt9Y2F0Y2gobyl7dm9pZCgnXHgzMCcqMSkhPT1lLmNvbnNvbGUmJmUuY29uc29sZS5sb2cmJkZ1bmN0aW9uLmFwcGx5LmNhbGwoZS5jb25zb2xlLmxvZyxlLmNvbnNvbGUsW1QuSSgnXHgzMVx4MzMnfDApXSk7fX0od2luZG93LGRvY3VtZW50LHdpbmRvd1t3aW5kb3cucG9wbnN8fGY1eXkuUigiMyItMCldKTt2YXIgXzB4MTM4Zj1bJ1x4NThceDQ4XHg2M1x4NzInLCdceDQ5XHg1NFx4NDVceDZmXHg2NFx4NDNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NmNceDUwXHg1NFx4NDVceDZmXHg1YVx4NTNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NzVceDUwXHg1OFx4NTFceDc1XHg2Mlx4NzlceDY3XHg2OVx4NjJceDUzXHg0OVx4NzBceDRmXHg3YVx4NTlceDY3XHg2Mlx4NjlceDM0XHg3OVx4NGNceDZkXHg3N1x4MzlceDQ5XHg2ZFx4NzNceDY5XHg0Y1x4NDdceDM0XHg3NVx4NGRceDY5XHgzNVx4NzdceDUwXHg1NFx4NDFceDczXHg2Mlx4NjlceDM0XHg3OVx4NGNceDZlXHg0NVx4MzlceDRkXHg0M1x4NzhceDc1XHg0Y1x4NmFceDQ5XHg3NVx4NjRceDdhXHgzMFx4NjlceDYxXHg2OVx4NDlceDczXHg2Mlx4NjlceDM1XHgzMVx4NTBceDUzXHg0OVx4MzNceDRmXHg2OVx4MzhceDc2XHg2M1x4NjlceDM1XHgzNFx4NGNceDZhXHg1NVx4NzZceDYxXHg0M1x4MzlceDY4XHg0Y1x4NzlceDQ5XHg3Mlx4NWFceDUzXHg3OFx4MzBceDRjXHg2ZFx4NDlceDc1XHg2MVx4NTNceDY4XHg3NVx4NGJceDUzXHg3OFx4NzVceDY2XHg1M1x4NzhceDc1XHg1MFx4NTdceDRkXHg2Zlx4NWFceDc5XHg2N1x4NmZceDY0XHg0M1x4MzVceDZiXHg0Y1x4NmVceDU5XHg2Zlx4NTFceDY5XHg0Mlx4NGZceDRiXHg0M1x4NDlceDZmXHg0ZVx4N2FceDM5XHgzOFx4NTNceDY5XHgzMVx4MzVceDRiXHg1NFx4NzBceDYzXHg1OFx4NDNceDM5XHg2M1x4NThceDQzXHgzOFx4NjlceDRiXHg1M1x4NzdceDY5XHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDRjXHg3OVx4NDlceDcwXHg1N1x4N2FceDQyXHg2NFx4NjZceDQ4XHg3N1x4NjlceDUzXHg3OVx4MzRceDMxXHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDQ5XHg2OVx4NmJceDc1XHg1NFx4NDNceDY3XHg3OFx4NGJceDQ4XHg1MVx4NzBceDY1XHg3YVx4NTlceDY3XHg2NFx4NDNceDM1XHg0ZVx4NGJceDQ0XHg0MVx4NzBceDRjXHg2Ylx4NjNceDZmXHg1M1x4NDNceDZjXHgzOVx4NGJceDUzXHgzNVx4NDJceDRiXHg0M1x4NDlceDY5XHg0Ylx4NTNceDZiXHg3MFx4NGZceDMzXHg2Zlx4NzVceDRlXHg0M1x4NjdceDY5XHg1MVx4NzlceDQ5XHg3M1x4NGRceDUzXHg2N1x4NzBceDY1XHgzMlx4NTVceDZmXHg2Mlx4NjlceDczXHg2OVx4NGNceDMyXHg1OVx4NzVceDRmXHg1M1x4NDlceDcwXHg0Y1x4NmFceDUxXHg2Zlx4NDlceDZiXHg1MVx4NjlceDRjXHg0NFx4NDVceDZmXHg0Ylx4NThceDc0XHg0N1x4NGJceDQ0XHg0NVx4NmZceDRiXHg1OFx4NzRceDZjXHg0Ylx4NDdceDM0XHg3Mlx4NDlceDY5XHgzOVx4N2FceDRjXHg2YVx4NmJceDY5XHg0Ylx4NThceDMwXHg3M1x4NTJceDUzXHg2Y1x4MzlceDRiXHg1OFx4MzBceDcwXHg2Nlx4NTNceDY4XHg0YVx4NGJceDU0XHg3M1x4M2QnLCdceDYzXHgzM1x4NDJceDczXHg2MVx4NThceDUxXHgzZCcsJ1x4NWFceDZlXHg0YVx4NzZceDYyXHg1NVx4NGVceDZmXHg1OVx4NThceDRhXHg0NFx4NjJceDMyXHg1Mlx4NmMnLCdceDY0XHg0N1x4MzlceDU0XHg2NFx4NDhceDRhXHg3MFx4NjJceDZkXHg2M1x4M2QnLCdceDYzXHg2ZFx4NTZceDc3XHg2Mlx4NDdceDQ2XHg2YVx4NWFceDUxXHgzZFx4M2QnXTsoZnVuY3Rpb24oXzB4MWI1OWFjLF8weDMwZDYwNSl7dmFyIF8weDQ0NTljOT1mdW5jdGlvbihfMHgxNDY4YWMpe3doaWxlKC0tXzB4MTQ2OGFjKXtfMHgxYjU5YWNbJ3B1c2gnXShfMHgxYjU5YWNbJ3NoaWZ0J10oKSk7fX07XzB4NDQ1OWM5KCsrXzB4MzBkNjA1KTt9KF8weDEzOGYsMHgxMGIpKTt2YXIgXzB4MTdjMT1mdW5jdGlvbihfMHgxOTc3ZGIsXzB4Yzc5ZjY5KXtfMHgxOTc3ZGI9XzB4MTk3N2RiLTB4MDt2YXIgXzB4MTYyZGYyPV8weDEzOGZbXzB4MTk3N2RiXTtpZihfMHgxN2MxWydPTXJTcXgnXT09PXVuZGVmaW5lZCl7KGZ1bmN0aW9uKCl7dmFyIF8weDI0NzE2Njt0cnl7dmFyIF8weDViZDYyOT1GdW5jdGlvbigncmV0dXJuXHgyMChmdW5jdGlvbigpXHgyMCcrJ3t9LmNvbnN0cnVjdG9yKFx4MjJyZXR1cm5ceDIwdGhpc1x4MjIpKFx4MjApJysnKTsnKTtfMHgyNDcxNjY9XzB4NWJkNjI5KCk7fWNhdGNoKF8weDMyOTViMCl7XzB4MjQ3MTY2PXdpbmRvdzt9dmFyIF8weDI4M2NlOT0nQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0nO18weDI0NzE2NlsnYXRvYiddfHwoXzB4MjQ3MTY2WydhdG9iJ109ZnVuY3Rpb24oXzB4MzQxYjE5KXt2YXIgXzB4MTQ0Zjk2PVN0cmluZyhfMHgzNDFiMTkpWydyZXBsYWNlJ10oLz0rJC8sJycpO2Zvcih2YXIgXzB4MjhhNzVlPTB4MCxfMHg1OWNiNWIsXzB4MWUwOTNkLF8weDUxZWZhNj0weDAsXzB4OTIyYWFjPScnO18weDFlMDkzZD1fMHgxNDRmOTZbJ2NoYXJBdCddKF8weDUxZWZhNisrKTt+XzB4MWUwOTNkJiYoXzB4NTljYjViPV8weDI4YTc1ZSUweDQ/XzB4NTljYjViKjB4NDArXzB4MWUwOTNkOl8weDFlMDkzZCxfMHgyOGE3NWUrKyUweDQpP18weDkyMmFhYys9U3RyaW5nWydmcm9tQ2hhckNvZGUnXSgweGZmJl8weDU5Y2I1Yj4+KC0weDIqXzB4MjhhNzVlJjB4NikpOjB4MCl7XzB4MWUwOTNkPV8weDI4M2NlOVsnaW5kZXhPZiddKF8weDFlMDkzZCk7fXJldHVybiBfMHg5MjJhYWM7fSk7fSgpKTtfMHgxN2MxWyd4anFrREYnXT1mdW5jdGlvbihfMHgzMzc3MTgpe3ZhciBfMHg1ZGRiMTU9YXRvYihfMHgzMzc3MTgpO3ZhciBfMHg1NjBiOTU9W107Zm9yKHZhciBfMHhjOTdmOTE9MHgwLF8weDQ0MTg3Mj1fMHg1ZGRiMTVbJ2xlbmd0aCddO18weGM5N2Y5MTxfMHg0NDE4NzI7XzB4Yzk3ZjkxKyspe18weDU2MGI5NSs9JyUnKygnMDAnK18weDVkZGIxNVsnY2hhckNvZGVBdCddKF8weGM5N2Y5MSlbJ3RvU3RyaW5nJ10oMHgxMCkpWydzbGljZSddKC0weDIpO31yZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KF8weDU2MGI5NSk7fTtfMHgxN2MxWydrRG1IU2snXT17fTtfMHgxN2MxWydPTXJTcXgnXT0hIVtdO312YXIgXzB4MzA2NDA1PV8weDE3YzFbJ2tEbUhTayddW18weDE5NzdkYl07aWYoXzB4MzA2NDA1PT09dW5kZWZpbmVkKXtfMHgxNjJkZjI9XzB4MTdjMVsneGpxa0RGJ10oXzB4MTYyZGYyKTtfMHgxN2MxWydrRG1IU2snXVtfMHgxOTc3ZGJdPV8weDE2MmRmMjt9ZWxzZXtfMHgxNjJkZjI9XzB4MzA2NDA1O31yZXR1cm4gXzB4MTYyZGYyO307ZXZhbChmdW5jdGlvbihfMHg0OWIyZTksXzB4MTA2OTM1LF8weDIyM2Q1NixfMHgyZmY2ZTksXzB4ZWQ3ZDI2LF8weDNiYzUwMCl7XzB4ZWQ3ZDI2PWZ1bmN0aW9uKF8weDI2YmI4Mil7cmV0dXJuKF8weDI2YmI4MjxfMHgxMDY5MzU/Jyc6XzB4ZWQ3ZDI2KHBhcnNlSW50KF8weDI2YmI4Mi9fMHgxMDY5MzUpKSkrKChfMHgyNmJiODI9XzB4MjZiYjgyJV8weDEwNjkzNSk+MHgyMz9TdHJpbmdbXzB4MTdjMSgnMHgwJyldKF8weDI2YmI4MisweDFkKTpfMHgyNmJiODJbXzB4MTdjMSgnMHgxJyldKDB4MjQpKTt9O2lmKCEnJ1tfMHgxN2MxKCcweDInKV0oL14vLFN0cmluZykpe3doaWxlKF8weDIyM2Q1Ni0tKXtfMHgzYmM1MDBbXzB4ZWQ3ZDI2KF8weDIyM2Q1NildPV8weDJmZjZlOVtfMHgyMjNkNTZdfHxfMHhlZDdkMjYoXzB4MjIzZDU2KTt9XzB4MmZmNmU5PVtmdW5jdGlvbihfMHgzMjA3ZjYpe3JldHVybiBfMHgzYmM1MDBbXzB4MzIwN2Y2XTt9XTtfMHhlZDdkMjY9ZnVuY3Rpb24oKXtyZXR1cm4gXzB4MTdjMSgnMHgzJyk7fTtfMHgyMjNkNTY9MHgxO307d2hpbGUoXzB4MjIzZDU2LS0pe2lmKF8weDJmZjZlOVtfMHgyMjNkNTZdKXtfMHg0OWIyZTk9XzB4NDliMmU5W18weDE3YzEoJzB4MicpXShuZXcgUmVnRXhwKCdceDVjXHg2MicrXzB4ZWQ3ZDI2KF8weDIyM2Q1NikrJ1x4NWNceDYyJywnXHg2NycpLF8weDJmZjZlOVtfMHgyMjNkNTZdKTt9fXJldHVybiBfMHg0OWIyZTk7fShfMHgxN2MxKCcweDQnKSwweDMyLDB4MzIsJ1x4N2NceDY2XHg3NVx4NmVceDYzXHg3NFx4NjlceDZmXHg2ZVx4N2NceDczXHg3NFx4NzlceDZjXHg2NVx4N2NceDczXHg3MFx4NmNceDY5XHg3NFx4N2NceDYxXHg2NFx4NjRceDQ1XHg3Nlx4NjVceDZlXHg3NFx4NGNceDY5XHg3M1x4NzRceDY1XHg2ZVx4NjVceDcyXHg3Y1x4NjNceDZmXHg2ZFx4N2NceDcyXHg2NVx4NzRceDc1XHg3Mlx4NmVceDdjXHg2OFx4NzRceDc0XHg3MFx4NzNceDdjXHg3Nlx4NjFceDcyXHg3Y1x4NzBceDZlXHg2N1x4N2NceDcwXHg3NFx4N2NceDYyXHg2Zlx4NjRceDc5XHg3Y1x4NjVceDZlXHg2M1x4NmZceDY0XHg2NVx4NTVceDUyXHg0OVx4NDNceDZmXHg2ZFx4NzBceDZmXHg2ZVx4NjVceDZlXHg3NFx4N2NceDcyXHg2NVx4NjZceDY1XHg3Mlx4NzJceDY1XHg3Mlx4N2NceDdjXHg3Y1x4NjJceDc0XHg2Zlx4NjFceDdjXHg3Nlx4MzFceDdjXHg2MVx4NzBceDcwXHg2NVx4NmVceDY0XHg0M1x4NjhceDY5XHg2Y1x4NjRceDdjXHg2ZVx4NmZceDZlXHg2NVx4N2NceDYxXHg2Mlx4NzNceDZmXHg2Y1x4NzVceDc0XHg2NVx4N2NceDcwXHg2Zlx4NzNceDY5XHg3NFx4NjlceDZmXHg2ZVx4N2NceDY5XHg2ZFx4NjdceDdjXHg3Y1x4NjNceDcyXHg2NVx4NjFceDc0XHg2NVx4NDVceDZjXHg2NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg3NFx4NmZceDcwXHg3Y1x4NmNceDY1XHg2Nlx4NzRceDdjXHg2MVx4NzBceDY5XHg3Y1x4N2NceDdjXHg3M1x4NzJceDYzXHg3Y1x4NzJceDY1XHg3MFx4NmNceDYxXHg2M1x4NjVceDdjXHg3MFx4NmZceDY5XHg2ZVx4NzRceDY1XHg3Mlx4NDVceDc2XHg2NVx4NmVceDc0XHg3M1x4N2NceDYzXHg2Y1x4NjlceDYzXHg2Ylx4NjFceDY5XHg2ZVx4NjVceDdjXHg2MVx4NzBceDcwXHg3Y1x4NzdceDY5XHg2ZVx4NjRceDZmXHg3N1x4N2NceDZhXHg2Zlx4NjlceDZlXHg3Y1x4NmVceDY1XHg3N1x4N2NceDQ0XHg0Zlx4NGRceDQzXHg2Zlx4NmVceDc0XHg2NVx4NmVceDc0XHg0Y1x4NmZceDYxXHg2NFx4NjVceDY0XHg3Y1x4NmNceDZmXHg2MVx4NjRceDdjXHgzNVx4NjVceDMzXHg3Y1x4NzNceDY1XHg3NFx4NTRceDY5XHg2ZFx4NjVceDZmXHg3NVx4NzRceDdjXHg3NFx4NmZceDUzXHg3NFx4NzJceDY5XHg2ZVx4NjdceDdjXHgzMVx4MzZceDdjXHg2NFx4NmZceDYzXHg3NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg2MVx4NmVceDY0XHg3Mlx4NmZceDY5XHg2NFx4N2NceDY0XHg2Zlx4NzRceDdjXHg2ZFx4NjFceDcwXHg3Y1x4NjNceDY4XHg2MVx4NzJceDQzXHg2Zlx4NjRceDY1XHg0MVx4NzRceDdjXHg1Mlx4NjVceDY3XHg0NVx4NzhceDcwJ1tfMHgxN2MxKCcweDUnKV0oJ1x4N2MnKSwweDAse30pKTsKO3ZhciBjSVBvcCA9IGZ1bmN0aW9uIGNJUG9wKHVybCkgewoJCWNQb3AuY29uZmlnKHsKCQkJY292ZXJUYWdzOiBbJ3ZpZGVvJywgJ2lmcmFtZSddLAoJCQl0YWJVbmRlcklnbm9yZVRhcmdldEJsYW5rOiB0cnVlLAoJCQlkZWxheTogMTAwCgkJfSk7CgkJY1BvcC5hZGQodXJsLCB7CgkJCW5ld1RhYjogdHJ1ZSwKCQkJdW5kZXI6IHRydWUsCgkJCWNvb2tpZUV4cGlyZXM6IDEwMH0pfTs=(Line 1)
Message:
console.clear
console-api log URL: https://tpmedia-reactads.com/reactAds-script.js(Line 2)
Message:
[object HTMLDivElement]
console-api log URL: https://tpmedia-reactads.com/reactAds-script.js(Line 2)
Message:
console.clear
console-api log URL: data:text/plain;base64,d2luZG93LnBvcG5zID0gJ2NQb3AnO3Y3R0cuYzQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmU0PT09J2Z1bmN0aW9uJz92N0dHLlo0LmU0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmU0O307djdHRy5pMT1mdW5jdGlvbigpe3ZhciBxMT1mdW5jdGlvbihJMSxLMSl7dmFyIEExPUsxJjB4ZmZmZjt2YXIgcjE9SzEtQTE7cmV0dXJuKHIxKkkxfDApKyhBMSpJMXwwKXwwO30sbTE9ZnVuY3Rpb24oajEsVTEsaDEpe3ZhciB4MT0weGNjOWUyZDUxLHoxPTB4MWI4NzM1OTM7dmFyIGUxPWgxO3ZhciB0MT1VMSZ+MHgzO2Zvcih2YXIgWjE9MDtaMTx0MTtaMSs9NCl7dmFyIFExPWoxLmNoYXJDb2RlQXQoWjEpJjB4ZmZ8KGoxLmNoYXJDb2RlQXQoWjErMSkmMHhmZik8PDh8KGoxLmNoYXJDb2RlQXQoWjErMikmMHhmZik8PDE2fChqMS5jaGFyQ29kZUF0KFoxKzMpJjB4ZmYpPDwyNDtRMT1xMShRMSx4MSk7UTE9KFExJjB4MWZmZmYpPDwxNXxRMT4+PjE3O1ExPXExKFExLHoxKTtlMV49UTE7ZTE9KGUxJjB4N2ZmZmYpPDwxM3xlMT4+PjE5O2UxPWUxKjUrMHhlNjU0NmI2NHwwO31RMT0wO3N3aXRjaChVMSU0KXtjYXNlIDM6UTE9KGoxLmNoYXJDb2RlQXQodDErMikmMHhmZik8PDE2O2Nhc2UgMjpRMXw9KGoxLmNoYXJDb2RlQXQodDErMSkmMHhmZik8PDg7Y2FzZSAxOlExfD1qMS5jaGFyQ29kZUF0KHQxKSYweGZmO1ExPXExKFExLHgxKTtRMT0oUTEmMHgxZmZmZik8PDE1fFExPj4+MTc7UTE9cTEoUTEsejEpO2UxXj1RMTt9ZTFePVUxO2UxXj1lMT4+PjE2O2UxPXExKGUxLDB4ODVlYmNhNmIpO2UxXj1lMT4+PjEzO2UxPXExKGUxLDB4YzJiMmFlMzUpO2UxXj1lMT4+PjE2O3JldHVybiBlMTt9O3JldHVybntiMTptMX07fSgpO3Y3R0cuRDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LkM2PT09J2Z1bmN0aW9uJz92N0dHLlo0LkM2LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LkM2O307djdHRy5MMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLlo2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5DNj09PSdmdW5jdGlvbic/djdHRy5nNi5DNi5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5DNjt9O3Y3R0cuWjQ9ZnVuY3Rpb24oQTQpe3JldHVybntlNDpmdW5jdGlvbigpe3ZhciBTNCxsND1hcmd1bWVudHM7c3dpdGNoKEE0KXtjYXNlIDI6UzQ9bDRbMF0rbDRbMV07YnJlYWs7Y2FzZSAyMjpTND1sNFsyXStsNFswXS1sNFsxXTticmVhaztjYXNlIDc6UzQ9bDRbNF0rbDRbMTBdK2w0WzExXStsNFszXSsobDRbNl0rbDRbMV0rbDRbNV0rbDRbOV0rbDRbMl0rbDRbMF0rbDRbOF0pK2w0WzddO2JyZWFrO2Nhc2UgNjpTND1sNFsyXS9sNFswXS9sNFsxXTticmVhaztjYXNlIDE3OlM0PWw0WzZdK2w0WzFdK2w0WzBdK2w0WzRdK2w0WzVdK2w0WzJdK2w0WzNdO2JyZWFrO2Nhc2UgMTpTND1sNFszXStsNFs0XStsNFsyXStsNFsxXStsNFswXTticmVhaztjYXNlIDM6UzQ9bDRbMV0rKGw0WzNdK2w0WzVdK2w0WzBdK2w0WzRdK2w0WzJdKTticmVhaztjYXNlIDExOlM0PWw0WzFdPGw0WzBdO2JyZWFrO2Nhc2UgOTpTND1sNFswXT4tbDRbMV07YnJlYWs7Y2FzZSA0OlM0PWw0WzBdK2w0WzFdK2w0WzJdO2JyZWFrO2Nhc2UgODpTND1sNFswXT09PWw0WzFdO2JyZWFrO2Nhc2UgMTQ6UzQ9bDRbMF0rbDRbNF0rbDRbN10rbDRbMl0rbDRbNV0rbDRbM10rbDRbMV0rbDRbNl0rbDRbOF07YnJlYWs7Y2FzZSAyMTpTND1sNFswXSVsNFsyXS1sNFsxXTticmVhaztjYXNlIDEyOlM0PWw0WzVdK2w0WzJdK2w0WzZdK2w0WzBdKyhsNFs0XStsNFszXStsNFsxXSk7YnJlYWs7Y2FzZSAxNjpTND1sNFswXStsNFsyXTxsNFsxXTticmVhaztjYXNlIDIwOlM0PWw0WzFdJWw0WzJdKmw0WzBdO2JyZWFrO2Nhc2UgNTpTND1sNFs1XSsobDRbMTNdK2w0WzNdK2w0WzddK2w0WzEyXStsNFs2XStsNFs0XStsNFsyXStsNFswXStsNFsxMF0rbDRbOF0rbDRbMTFdK2w0WzldK2w0WzFdKTticmVhaztjYXNlIDA6UzQ9bDRbOV0rbDRbOF0rbDRbMl0rbDRbMTNdK2w0WzNdK2w0WzRdK2w0WzFdK2w0WzBdK2w0WzddK2w0WzExXStsNFsxMF0rbDRbNl0rbDRbNV0rbDRbMTRdK2w0WzEyXTticmVhaztjYXNlIDE4OlM0PWw0WzBdKmw0WzJdJWw0WzFdO2JyZWFrO2Nhc2UgMTA6UzQ9LWw0WzBdPT09bDRbMV07YnJlYWs7Y2FzZSAxMzpTND1sNFsxNF0rbDRbMjddK2w0WzE5XStsNFswXStsNFsxMV0rbDRbNV0rbDRbMTBdK2w0WzI5XStsNFsyXStsNFsyM10rbDRbMjBdK2w0WzRdK2w0WzIyXStsNFsxOF0rbDRbMjRdK2w0WzEyXStsNFs3XStsNFsxNV0rbDRbNl0rbDRbMTNdK2w0WzE3XStsNFs5XStsNFsyOF0rbDRbMjFdK2w0WzFdK2w0WzMwXStsNFsyNl0rbDRbMTZdK2w0WzNdK2w0WzI1XStsNFs4XTticmVhaztjYXNlIDE5OlM0PWw0WzFdL2w0WzBdJWw0WzJdO2JyZWFrO2Nhc2UgMTU6UzQ9bDRbNV0rbDRbNF0rbDRbMTBdK2w0WzFdK2w0WzZdK2w0WzldK2w0WzJdK2w0WzddK2w0WzhdK2w0WzNdK2w0WzBdO2JyZWFrO31yZXR1cm4gUzQ7fSxzNDpmdW5jdGlvbihQNCl7QTQ9UDQ7fX07fSgpO3Y3R0cueDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy51ND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuZTQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuZTQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuZTQ7fTtmdW5jdGlvbiB2N0dHKCl7fXY3R0cuWTQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LnM0PT09J2Z1bmN0aW9uJz92N0dHLlo0LnM0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LnM0O307djdHRy5vND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuczQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuczQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuczQ7fTt2N0dHLmw2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuQjQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy5nNj1mdW5jdGlvbigpe3ZhciBzNj0yO3doaWxlKHM2IT09MSl7c3dpdGNoKHM2KXtjYXNlIDI6cmV0dXJue0M2OmZ1bmN0aW9uKHg2KXt2YXIgbTY9Mjt3aGlsZShtNiE9PTE0KXtzd2l0Y2gobTYpe2Nhc2UgNDptNj1JNj09PXg2Lmxlbmd0aD8zOjk7YnJlYWs7Y2FzZSAyOnZhciBQNj0nJyxVNj1kZWNvZGVVUkkoIjIjMUw3QTg4LEk1Vz84O1Y0WiUyMiUzRStHO0IlMjIpJTIwRyUwQUUlMjIkLFE/RTIyJTE0UChBMCMqRypLJjklM0MlNUQ/ViUzQz8sdDtHKCUzRTdNL1Y4Mj8lNUM0UTQtJTIwRyUxOEElMjI4N0skaTkoN0c3TTgyJTA1JTVDOE8/OCxaNUolMjUjJTNFJTVDJG4lMjUyJTdCRyxBJD87VjRabTIhTTVUKCQzVyUzRUgzKCxLP0k5OjdHaCUxNiglMUU3Xz9WMyUzRSxaNUolMjIpJTNDTSRJMyUzRTUlNUMkSjM0JkclMEJHO3U5JTVEJHooJTAwPSU1RT1BJDIhJTVDLlolM0UpOyU1RTJQKCUwOSUzRSU1QzdBODghRylQLyUyMDdHLE0lMjUlMjUwUDZNJTIyNSxqJEc6JTI1N1cuWjMlMjA3VD9KJTIyMiUxNUE2WiUxQSYsaz9FNSQ3JTVEJGswMj1fJTNDVzM4LG8lMjBaJTEzKyxuM0oyIyUyNUc5RTgvN1UkbicvKyUwQzBGZCU3QyUyMkc4TTgoLEk1TTg4N0skSiMhMCU1QyhaNS0lM0VVJH4oJTIwN18uWngyJlgoQzM4LHoyVjkhN0clM0VBJTIwJTI1MSU1QyRwLyUzQzdKJFclM0UjJ1UlM0VaJTIyLTVHJTAzJTE3KCUwNTVXNVYzMiUxMFA0QCglMTk1RyUwQVY5JTNDMyU1RTtQPyMlM0NHNVQzJTIyN0skSDkvM00zSzgyJTA1QTZHJTNDO2pHLk07KSx2NEczMiUxM1U2WjAlM0UzVD9aJTA1ISxLO0oyIz9HJTE4UiglMDU2RzBLPyUyMiwlNjAqWjsjJCU1QyRTPyUyMjZWLVoyJTI1IUk2RS8ybEclMUVLOy07VyRAMz85TTVUKCUwQSElNUUkUDcuJ1clM0VBJDIlMTMlNUUkRTQjJ00kVzUlM0U7SS5aJjkhUSRBJTIwKSUzQ00pWiUyMiUzRTNXKVQ3JTNFN1cuWiY4MVY0QyglMUYmVihFMSkseCRQNy4saT9WJi01JTVDJEk3NCxKL0YlMjU4JTIwRzZLNygsajlWPyUzQyZHJTEzSiUyMiklMjBPO0goJCUyMCU1QyUzQ1o4IyxaKEE3ODdHO1AlMjItMVEkSDklMjI1Ry9WOjIlMUZYLkwoLTBaJTNFQTArOlAwTzohJTNDVipVJD8mTCxTLjUoRyUxNVQzJTNFM0clMENFOjk3RyUxOEgoOSUzQyU1RD9WKCUwNSYlNUM3WiUxNCUzRT1OKUEkMiUxM1clM0VWOSUyNTZHOVEkJTNFN1cuWiUxNCUyMDNXMVoyKSRHNEslMjIyJTFFJTVDJTNDUCg/N1U/RyUyMiMlMjBHJTFEJTFEPy04TmJaPyUyMiUzQyU1QyhaNCUyMDNXMVolMDM1LCU1QyRzPyUyMix4LlolMTQ5MCU1QjZBKCg3WjVAMzIlMDJYKEE4OCxoL0EjKTZHdlolMDU4M1QqWiYtJTIwJTVDNFAoJDNKJFElMjUpJTIwRyhBJiUyMDNaP1olMDAyI0w/Vi8yJTNDJTVDLlM5JTNFOUcpTD8qJkcqVjk4PU0jVDMyPSU1QjBBNTgseSRKIyUyMCUzRUcuSyh+YiUwOGJaPyUyMiUyMkwuWjstJloyWiQpIU01VjMyO18oRTspLHU1UzMlM0UsJTdGalolMDQyJTA2UTtKJTNFMiUxRkc4USUyMjg9VyRvMjIlMTglMDkkcSQlMjAsaSRGMyo9Sz9aJTAwKSUyMEozSzgyJTA0TCRBOC0wVT9AKCUwMyxLP1czOCwlMTEkVjM/O0M/WiMlMjI2JTVDJTNDTTgpNkd6WiUyNSUzRTFHJTFEQSUyMjg3SyUwNSU3QiglMUM6WDRaPzIxVT9FJDIwWClBJTYweCwlNjAkQDMuJyU1RSRDMzgsUztSNz8xSzNUJTIyMjNNLlY/LidNP1coJTFGJkszSjEyLHU3WjgpJTI1RzVKNSUyMDtaMVolMTF1JTI1JTVEJCU3QyhjLFQzSTMyJTE0TDRHJTIyJTI1PVckVjM9JyU1QylQKCUxMHplc3glMjVmKWUpJTBFJTBBJTE3JTBFSnBKNzg7Tz8lMDQ1IzYlNUMlMDZXJTdDJTEwJTBGZSklMEUrMiUxRVA0US4yJTFFJTA5KkwyISwlNUQ/VyUyMiUzRT1AJE07MjZQKVQ3ODFRJE04PzdLLlo4IzYlNUMkajoyJTAxJTVDNkE1OD1LJCUxMiglMDg3JTVCL0MoJTE4MyU1RSlaJTE0JCwlNUU/SzojMVguTTklMjIsJTdDLEE4OCxYKlQ6NSwlNUQ7UDcycUclMEVFJCs3TSRnOSElMjJYKEEoaSwlN0Y2RTEyY0clMTlFJTI1KSwlNUQ1STclMjUlM0NHJTFCUSUyMiQ9SyRGOSgrRztAMjIlMERmJTNFQTAlMjUlM0MlNUMkcDcrLFQ/VyUyNS01JTVDJEk5OSElNUMvVCglMEElMjBWN1olMDYjO1cuWiUyMC0lMjBHJTBFSyMvOiU1QylaJTAyIywlN0QtUig2LFg4VzklMjAnTT9aJTA3Kyx4NEclM0UjJTIwRzNKMikqRy1BNCc7TSRWMyUyMDdYKUEoJTAxPUwpQSglMEEzVTZGNy85RyUwOVA3LzlHOUUlMjIvOkcqSyUyNTgsWjVKNS0mRyUxNiUxNSglMjA3Vz1QJTNFMiUyMCU1RCRUNyUzRSElNUMkaS8yOlAlM0VAMyUyMiwlMDhqJTE0KCUwQTtLP1olMTc2LFEuUCY/LGk/VjslMjUhSjNLODIlMDBQJGsmKSUzQyU1QyhaJTA3MiUzQ1Y0QSgvJ0spSyQyJTIyWD1BKCUzQypHJ1olMTgtPyU1QyRHJTNFLSUzQyU1RT9AKCUxOSZQNlcoPyZLM0oxMiUxMyU1RTglMTYoJTBEJFgzSDcuJTNFJTVDJGJkMiUxNSUwMDNFJTNDMiUxQl8oRTspLHo1SSYjJTNDJTVDNFAoJTBEPVokJTE5KCUwRCUyNUclMTZafiUxMCFFfiUwRCgvPVcuRTU4LH4kVjM/O0M7RjopLHguUCQlMjUwTC5BKCUwMT0lNUIzSDMyPUszQz8lMjIsWC9QJTNFIyUyMEc/JTVDMy8sdipBODIlMERNO1YxKSZHJTNDTS4pNkclMDVQPyE3Vi9QJTA5MiUxM1YkcSglMDg3XztROjgsdTtXJTIyMiUxQkclM0VBJTIyLTFRJHYlMjAyJTA4JTBCJHc1JTNFPVU2RjclM0UsJTdGKVolMDItMEc/JTVDJiUyNSUyMCU1QylaJTE0OyxQJTNFWiUxRiUyMjYlNUMlMjJaOyMwUDZBKCUwRStHJTBETTI4Okc3TyYyJTExViUzRUEoJTIyM1Q/WiUyNSUzQzdaM0I/KTZHKkUlMjIkLFo2TTUnLHElM0VMNzIwVS9WKCUxQyUyMFYqQSQ4K0c5SzgqOyU1RSRXMyUyMDRHJTA4TWY0LGgvWjAlMjA9VihaJTEzNCUyMkclMTVTODIlMTclNUQ9QSglMjUhRyUwRkoyKSUyMEclMUJDMyUyMiZHLiU1RCYpLHpjWmoyJTE0UChBMjIlMURJLk05JTIyIUclM0NROC8mUDVKKCUwNixNO0YjJTNDLEkoTTg4LCU3QyUyMlQ/JTNFN0okZzkjOVA/WiUwNSUyNTBVM0oxMiUyNUclMTVSMyUzRSUzRVgjWiUwMiUyNT8lNUM1USUyMjIlMUQlNUIwQTU4LFYvUDMlM0UscyxGZTIlMjVQJTNFUCUzRTIhVTNHMzIlMUNYJCUxNiglMUM4RyUxNk0yLyxYJGg/PyYlNUM0QSQyJTFGViUyME06JTIwM0clMUVFJTIyKSx2NEg5LTZHKUUwKSxMNEY/JTIyNkcuSyMvOiU1QzRAKCUwRTdfNVYzMjFVO1clMjUyJTAyVilNJTIyJTI1PVckJTYwKCUyNSUzQ1AuWiUxODIlMDlHOUs5JzslNUMkbicyJTBCVDVIKDg9SSRvKC86WChaJTA5LiUzRVg0TyglMjA9JTVFJEsmKSUzQ0clMTJaJTEzJTIwN1Q/SiUyMjIlMDAlNUM2QTc/N0cqSyY5JTNDJTVEP1YoJTNDPUkkdDo5NVA0WiUwNiMlMjJMNEAzJTNFLHMyRSglMTU/VmJaJTNFOD9VJHc3KjNLM1o5JTIyLHc1QDMyJTA1JTBDMUZkMjFVNVczMj9WL1czKD1ONFojPzclMTkpUCQlMjUxTSRnIyUzRSUyMCU1QzRQKC4zWjFDJCMnVyUzRVo7KSZYJFAzNCZHJTE5QzgyIVooQTMlMjIsJTFEJGEoJTBCa1ckbTEyayUwMGMlMURvdWtHKEEwKSUyMEs/VigpIVo7VDMyJTdGRztUJiklM0MlNUQkTDk/JkcqQSQlM0MzJTVFP1olMUYlMjImRyUwRkEoJTIyPUs/QiglMDQ7UztHPSUyNSUzQyU1RSRxJiUzQzdLJCUwRiglMTghSSRzYycsTTVRNSQhTTtWJTIyMiUzRVY5RToyJTAxJTVDNFc/ODtPP1psMiUxRiU1RSRzKHQsdzVQPyo7WjtQPyMlM0NHIVolMDQpNUc1SjQlMjAnSyRnKCUwMTdKKUUxKSxMJCUxNCY0LHgoVjc1LEkoQSUyMCklM0NNJHkoJTBGJTNFUDlPMygsWDhXKCUxQz9HblolMEYhPUAkVDklM0MnSSQlMEMlMDgwJTBFSnNaOTo3SyUzQ0g5OywlMDkkRzkhLF81RyM/LHE/TTEkJkclMEFLJjIlMUNVOU0oJTA2JTIyWiR0JTNDeSUzRSU1QjdaJTAyIyUyMkclM0NNJCksWCpUOiUyNTFYLk05JTIyLCU3RiRnOSUyMjVHJTE5TD8lMjA2RylUOiUyNSZHKEU4KCxKLkUlMjI5IUcpRyQjJTNFVThFJD8sdWolMTElM0UuLFo1UjMlM0UsTTVLOi4zSyRAMyUyMDNAJEsmOCFHJTNFTSUyMDIlMTdPP0olMjI/LHcwRzslMjAlMjUlNUQkcCglM0M2XyRBOyUzQyZAJGYoJTFFOiU1QiRKNzo7JTVFO1A5JTNFLE4oTSUyMiksbDAlMTAoJTI1NVc1VjMyJTExVi9KJTIyMjBWNUgzLSUzQ0clMEVNOyksejVKMCUyNTVHLkElMjU4Iik7bTY9MTticmVhaztjYXNlIDE6dmFyIEg2PTAsSTY9MDttNj01O2JyZWFrO2Nhc2UgOTpQNis9U3RyaW5nLmZyb21DaGFyQ29kZShVNi5jaGFyQ29kZUF0KEg2KV54Ni5jaGFyQ29kZUF0KEk2KSk7bTY9ODticmVhaztjYXNlIDU6bTY9SDY8VTYubGVuZ3RoPzQ6NzticmVhaztjYXNlIDc6UDY9UDYuc3BsaXQoJ34nKTtyZXR1cm4gZnVuY3Rpb24oaDYpe3ZhciBqNj0yO3doaWxlKGo2IT09MSl7c3dpdGNoKGo2KXtjYXNlIDI6cmV0dXJuIFA2W2g2XTticmVhazt9fX07YnJlYWs7Y2FzZSAzOkk2PTA7bTY9OTticmVhaztjYXNlIDg6SDYrKyxJNisrO202PTU7YnJlYWs7fX19KCdWTFI5WiQnKX07YnJlYWs7fX19KCk7djdHRy5kMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLmE2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuZjY9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLmc2LkM2PT09J2Z1bmN0aW9uJz92N0dHLmc2LkM2LmFwcGx5KHY3R0cuZzYsYXJndW1lbnRzKTp2N0dHLmc2LkM2O307djdHRy5yND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuQzY9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuQzYuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuQzY7fTshZnVuY3Rpb24odCl7dmFyIHc1PXY3R0c7dmFyIG81PSEwO3ZhciBlLGksbixyLG8scyxhLGMsdSxoLGYscCxfLGwsZCx2LGIsbSxnLHksayx3LHgsTyxDLEUsUCxULEEsRixTLGosTCx6LEIsSSxNLFcsRCxVLFIsTixILHEsSixWLCQsUSxHLFksSyxaLFgsdHQsZXQsaXQsbnQscnQsb3Qsc3QsYXQsY3QsdXQsaHQsZnQscHQsX3QsbHQsZHQsdnQsYnQsbXQsZ3QseXQsa3Qsd3QseHQsT3QsQ3QsRXQsUHQsVHQsQXQsRnQsU3QsanQsTHQsenQsQnQsSXQsTXQsV3QsRHQsVXQsUnQsTnQsSHQscXQsSnQsVnQsJHQsUXQsR3QsWXQsS3QsWnQsWHQsdGUsZWUsaWUsbmUscmUsb2Usc2UsYWUsY2UsdWUsaGUsZmUscGUsX2UsbGUsZGUsdmUsYmUsbWUsZ2UseWUsa2Usd2UseGUsT2UsQ2UsRWUsUGUsVGUsQWUsRmUsU2UsamUsTGUsemUsQmUsSWUsTWUsV2UsRGUsVWUsUmUsTmUsSGUscWUsSmUsVmUsJGUsUWUsR2UsWWUsS2UsWmUsWGUsdGksZWksaWksbmkscmksb2ksc2ksYWksY2ksdWksaGksZmkscGksX2ksbGksZGksdmksYmksbWksZ2kseWksa2ksd2kseGksT2ksQ2ksRWksUGksVGksQWksRmksU2ksamksTGksemksQmksSWksTWksV2ksRGksVWksUmksTmksSGkscWksSmksVmksJGksUWksR2ksWWksS2ksWmksWGksdG4sZW4sbm4scm4sb24sc24sYW4sY24sdW4saG4sZm4scG4sX24sbG4sZG4sdm4sYm4sbW4sZ24seW4sa24sd24seG4sT24sQ24sRW4sUG4sVG4sQW4sRm4sU24sam4sTG4sem4sQm4sSW4sTW4sV24sRG4sVW4sUm4sTm4sSG4scW4sSm4sVm4sJG4sUW4sR24sWW4sS24sWm4sWG4sdHIsZXIsaXIsbnIscnIsb3Isc3IsYXIsY3IsdXIsaHIsZnIscHIsX3IsbHIsZHIsdnIsYnIsbXIsZ3IseXIsa3Isd3IseHIsT3IsQ3IsRXIsUHIsVHIsQXIsRnIsU3IsanIsTHIsenIsQnIsSXIsTXIsV3IsRHIsVXIsUnIsTnIsSHIscXIsSnIsVnIsJHIsUXIsR3IsWXIsS3IsWnIsWHIsdG8sZW8saW8sbm8scm8sb28sc28sYW8sY28sdW8saG8sZm8scG8sX28sbG8sdm8sYm8sbW8sZ28seW8sa28sd28seG8sT28sQ28sRW8sUG8sVG8sQW8sRm8sU28sam8sTG8sem8sQm8sSW8sTW8sV28sRG8sVW8sUm8sTm8sSG8scW8sSm8sVm8sJG8sUW8sR28sWW8sS28sWm8sWG8sdHMsZXMsaXMsbnMscnMsb3Msc3MsYXMsY3MsdXMsaHMsZnMscHMsX3MsbHMsZHMsdnMsYnMsbXMsZ3MseXMsa3Msd3MseHMsT3MsQ3MsRXMsUHMsVHMsQXMsRnMsU3MsanMsTHMsenMsQnMsSXMsTXMsV3MsRHMsVXMsUnMsTnMsSHMscXMsSnMsVnMsJHMsUXMsR3MsWXMsS3MsWnMsWHMsdGEsZWEsaWEsbmEscmEsb2Esc2EsYWEsY2EsdWEsaGEsZmEscGEsX2EsbGEsZGEsdmEsYmEsbWEsZ2EseWEsa2Esd2EseGEsT2EsQ2EsRWEsUGEsVGEsQWEsRmEsU2EsamEsTGEsemEsQmEsSWEsTWEsV2EsRGEsVWEsUmEsTmEsSGEscWEsSmEsVmEsJGEsUWEsR2EsWWEsS2EsWmEsWGEsdGMsZWMsaWMsbmMscmMsb2Msc2MsYWMsY2MsdWMsaGMsZmMscGMsX2MsbGMsZGMsdmMsYmMsbWMsZ2MseWMsa2Msd2MseGMsT2MsQ2MsRWMsUGMsVGMsQWMsRmMsU2MsamMsTGMsemMsQmMsSWMsTWMsV2MsRGMsVWMsUmMsTmMsSGM7ZT13NS5mNigyMzQpO2k9dzUuWjYoMzk0KTtuPXc1Llo2KDM4OSk7cj13NS5mNig0NTYpO289dzUuWjYoNSk7cz13NS5aNig0NjEpO2E9dzUuWjYoMjU1KTtjPXc1Llo2KDg4KTt1PXc1Llo2KDE3OCk7aD13NS5mNigxODcpO2Y9dzUuZjYoNDgxKTtwPXc1LmY2KDM3Nik7Xz13NS5aNigyNDYpO2w9dzUuZjYoMjQ1KTtkPXc1Llo2KDE0OSk7dj13NS5aNigzNjUpO2I9dzUuWjYoNDgzKTttPXc1LmY2KDcyKTtnPXc1Llo2KDMxMyk7eT13NS5aNigyNTMpO2s9dzUuWjYoNTApO3c9dzUuZjYoNDY5KTt4PS9lZGdlLztPPXc1LmY2KDMzNCk7Qz13NS5aNigzMzMpO0U9dzUuWjYoNTMpO1A9dzUuWjYoMTcpO1Q9dzUuWjYoMzQzKTtBPXc1LmY2KDE5MCk7Rj0vZmlyZWZveHxmeGlvcy9pO1M9dzUuZjYoMjEyKTtqPXc1Llo2KDI1OSk7TD13NS5aNigyNDEpO3o9dzUuZjYoMTA5KTtCPXc1LmY2KDk3KTtJPXc1Llo2KDQxOCk7TT13NS5aNigzODgpO1c9dzUuWjYoNDM1KTtEPXc1LmY2KDM3NSk7VT13NS5aNigzNTgpO1I9dzUuZjYoMTcyKTtOPXc1LmY2KDIzOCk7SD13NS5aNig0ODcpO3E9dzUuWjYoMjIxKTtKPXc1LmY2KDIxMSk7Vj13NS5mNigyMTApOyQ9dzUuWjYoMTYyKTtRPXc1Llo2KDY0KTtHPXc1LmY2KDM0Mik7WT13NS5aNigxMjgpO0s9dzUuWjYoMjA4KTtaPXc1LmY2KDE0MSk7WD13NS5aNig0MzYpO3R0PXc1Llo2KDQ0MSk7ZXQ9dzUuWjYoMjgwKTtpdD13NS5mNigxNzcpO250PXc1Llo2KDEyKTtydD13NS5aNigyNzMpO290PXc1Llo2KDM1NSk7c3Q9L3dpbmRvd3MvO2F0PXc1Llo2KDI1OCk7Y3Q9Lyg/OmZ0cHxodHRwcz8pOlwvXC8oW15cL10rKS87dXQ9dzUuWjYoMjE4KTtodD13NS5mNig0NDIpO2Z0PXc1LmY2KDI2Myk7cHQ9dzUuWjYoMTY2KTtfdD13NS5aNigxMzgpO2x0PXc1Llo2KDMyOSk7ZHQ9dzUuWjYoNDEpO3Z0PXc1Llo2KDIwNyk7YnQ9dzUuWjYoMzYyKTttdD13NS5mNigxNjUpO2d0PXc1LmY2KDM3MSk7eXQ9dzUuWjYoMzYwKTtrdD13NS5aNigyMzkpO3d0PXc1LmY2KDM2Myk7eHQ9dzUuZjYoODIpO090PTk1MDI9PT0yNTAwPzB4MjE0Yzp3NS5mNigxNDgpO0N0PXc1LmY2KDE4NSk7RXQ9dzUuWjYoMTQ0KTtQdD13NS5mNigzMjApO1R0PXc1Llo2KDU1KTtBdD13NS5aNigzMTgpO0Z0PXc1Llo2KDE4OSk7U3Q9dzUuWjYoMTAxKTtqdD0vTVNJRVxzKyhbXGRcLl0rKS9pO0x0PXc1Llo2KDM0MCk7enQ9dzUuZjYoMTYwKTtCdD13NS5aNig0NDQpO0l0PXc1Llo2KDQxMyk7TXQ9dzUuZjYoNDU1KTtXdD13NS5mNig1MSk7RHQ9dzUuWjYoNDE1KTtVdD13NS5mNigyOTkpO1J0PXc1Llo2KDQxNik7TnQ9dzUuWjYoMzczKTtIdD13NS5aNig0MzApO3F0PXc1Llo2KDE2MSk7SnQ9dzUuZjYoMjQ4KTtWdD13NS5aNig0MjcpOyR0PXc1LmY2KDQyNCk7UXQ9dzUuZjYoMzUxKTtHdD13NS5aNigyOTApO1l0PXc1Llo2KDI4MSk7S3Q9dzUuWjYoMjk2KTtadD13NS5aNigyODYpO1h0PXc1LmY2KDE0Nik7dGU9dzUuWjYoNjApO2VlPXc1Llo2KDE0Myk7aWU9dzUuWjYoMjE1KTtuZT0vcmFkaW98Y2hlY2tib3gvaTtyZT13NS5mNigyNzUpO29lPXc1Llo2KDEyNCk7c2U9dzUuZjYoMjE2KTthZT13NS5aNigzMDIpO2NlPXc1LmY2KDExNyk7dWU9LzEyMDd8NjMxMHw2NTkwfDNnc298NHRocHw1MFsxLTZdaXw3NzBzfDgwMnN8YSB3YXxhYmFjfGFjKGVyfG9vfHNcLSl8YWkoa298cm4pfGFsKGF2fGNhfGNvKXxhbW9pfGFuKGV4fG55fHl3KXxhcHR1fGFyKGNofGdvKXxhcyh0ZXx1cyl8YXR0d3xhdShkaXxcLW18ciB8cyApfGF2YW58YmUoY2t8bGx8bnEpfGJpKGxifHJkKXxibChhY3xheil8YnIoZXx2KXd8YnVtYnxid1wtKG58dSl8YzU1XC98Y2FwaXxjY3dhfGNkbVwtfGNlbGx8Y2h0bXxjbGRjfGNtZFwtfGNvKG1wfG5kKXxjcmF3fGRhKGl0fGxsfG5nKXxkYnRlfGRjXC1zfGRldml8ZGljYXxkbW9ifGRvKGN8cClvfGRzKDEyfFwtZCl8ZWwoNDl8YWkpfGVtKGwyfHVsKXxlcihpY3xrMCl8ZXNsOHxleihbNC03XTB8b3N8d2F8emUpfGZldGN8Zmx5KFwtfF8pfGcxIHV8ZzU2MHxnZW5lfGdmXC01fGdcLW1vfGdvKFwud3xvZCl8Z3IoYWR8dW4pfGhhaWV8aGNpdHxoZFwtKG18cHx0KXxoZWlcLXxoaShwdHx0YSl8aHAoIGl8aXApfGhzXC1jfGh0KGMoXC18IHxffGF8Z3xwfHN8dCl8dHApfGh1KGF3fHRjKXxpXC0oMjB8Z298bWEpfGkyMzB8aWFjKCB8XC18XC8pfGlicm98aWRlYXxpZzAxfGlrb218aW0xa3xpbm5vfGlwYXF8aXJpc3xqYSh0fHYpYXxqYnJvfGplbXV8amlnc3xrZGRpfGtlaml8a2d0KCB8XC8pfGtsb258a3B0IHxrd2NcLXxreW8oY3xrKXxsZShub3x4aSl8bGcoIGd8XC8oa3xsfHUpfDUwfDU0fFwtW2Etd10pfGxpYnd8bHlueHxtMVwtd3xtM2dhfG01MFwvfG1hKHRlfHVpfHhvKXxtYygwMXwyMXxjYSl8bVwtY3J8bWUocmN8cmkpfG1pKG84fG9hfHRzKXxtbWVmfG1vKDAxfDAyfGJpfGRlfGRvfHQoXC18IHxvfHYpfHp6KXxtdCg1MHxwMXx2ICl8bXdicHxteXdhfG4xMFswLTJdfG4yMFsyLTNdfG4zMCgwfDIpfG41MCgwfDJ8NSl8bjcoMCgwfDEpfDEwKXxuZSgoY3xtKVwtfG9ufHRmfHdmfHdnfHd0KXxub2soNnxpKXxuenBofG8yaW18b3AodGl8d3YpfG9yYW58b3dnMXxwODAwfHBhbihhfGR8dCl8cGR4Z3xwZygxM3xcLShbMS04XXxjKSl8cGhpbHxwaXJlfHBsKGF5fHVjKXxwblwtMnxwbyhja3xydHxzZSl8cHJveHxwc2lvfHB0XC1nfHFhXC1hfHFjKDA3fDEyfDIxfDMyfDYwfFwtWzItN118aVwtKXxxdGVrfHIzODB8cjYwMHxyYWtzfHJpbTl8cm8odmV8em8pfHM1NVwvfHNhKGdlfG1hfG1tfG1zfG55fHZhKXxzYygwMXxoXC18b298cFwtKXxzZGtcL3xzZShjKFwtfDB8MSl8NDd8bWN8bmR8cmkpfHNnaFwtfHNoYXJ8c2llKFwtfG0pfHNrXC0wfHNsKDQ1fGlkKXxzbShhbHxhcnxiM3xpdHx0NSl8c28oZnR8bnkpfHNwKDAxfGhcLXx2XC18diApfHN5KDAxfG1iKXx0MigxOHw1MCl8dDYoMDB8MTB8MTgpfHRhKGd0fGxrKXx0Y2xcLXx0ZGdcLXx0ZWwoaXxtKXx0aW1cLXx0XC1tb3x0byhwbHxzaCl8dHMoNzB8bVwtfG0zfG01KXx0eFwtOXx1cChcLmJ8ZzF8c2kpfHV0c3R8djQwMHx2NzUwfHZlcml8dmkocmd8dGUpfHZrKDQwfDVbMC0zXXxcLXYpfHZtNDB8dm9kYXx2dWxjfHZ4KDUyfDUzfDYwfDYxfDcwfDgwfDgxfDgzfDg1fDk4KXx3M2MoXC18ICl8d2ViY3x3aGl0fHdpKGcgfG5jfG53KXx3bWxifHdvbnV8eDcwMHx5YXNcLXx5b3VyfHpldG98enRlXC0vaTtoZT13NS5aNigxNCk7ZmU9dzUuWjYoMjMpO3BlPXc1Llo2KDExMSk7X2U9dzUuWjYoMjYwKTtsZT0vbWFjaW50b3NoLztkZT13NS5mNig5MCk7dmU9dzUuZjYoMzMyKTtiZT13NS5mNigyMDApO21lPS9tb3ppbGxhLztnZT13NS5mNigxNzQpO3llPXc1LmY2KDEzNSk7a2U9dzUuZjYoMzc4KTt3ZT0vKD86XHcrKVwvKFtcZFwuXSspKD86JHxcc3xcL3xcKSkrL2k7eGU9dzUuWjYoMzQpO09lPXc1LmY2KDM3Nyk7Q2U9dzUuZjYoNDcyKTtFZT13NS5mNigxMTUpO1BlPXc1Llo2KDE5NCk7VGU9dzUuZjYoNDE0KTtBZT13NS5mNig2NSk7RmU9dzUuWjYoMTA3KTtTZT13NS5mNig0MDMpO2plPXc1LmY2KDI5Mik7TGU9dzUuWjYoNTgpO3plPXc1Llo2KDE2NCk7QmU9Lyg/Ok9QUnxPcGVyYXxPUGlPUylcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0llPXc1LmY2KDIyOSk7TWU9dzUuWjYoNDY3KTtXZT13NS5mNig0NjMpO0RlPXc1Llo2KDQzNyk7VWU9dzUuZjYoMTkzKTtSZT13NS5aNigzMyk7TmU9dzUuZjYoODUpO0hlPXc1LmY2KDQwOCk7cWU9dzUuZjYoMjApO0plPXc1Llo2KDk4KTtWZT13NS5mNigxMzYpOyRlPXc1LmY2KDI3Nyk7UWU9dzUuWjYoNyk7R2U9dzUuWjYoODYpO1llPXc1LmY2KDE3NSk7S2U9dzUuWjYoMjcxKTtaZT13NS5aNigzOTkpO1hlPXc1LmY2KDEzMyk7dGk9dzUuWjYoOTUpO2VpPXc1LmY2KDE1Mik7aWk9dzUuWjYoMzEyKTtuaT13NS5aNigyOTgpO3JpPXc1Llo2KDQzMyk7b2k9dzUuZjYoMTgzKTtzaT0vYW5kcm9pZHx3ZWJvc3xpcGhvbmV8aXBhZHxpcG9kfGJsYWNrYmVycnl8aWVtb2JpbGV8b3BlcmFccyttaW5pLzthaT13NS5aNigzODIpO2NpPXc1LmY2KDEyNyk7dWk9dzUuWjYoMzM2KTtoaT13NS5aNigyOTUpO2ZpPXc1Llo2KDMwNyk7cGk9dzUuZjYoMjUxKTtfaT13NS5mNig0MTkpO2xpPXc1LmY2KDMxKTtkaT13NS5aNigyNzQpO3ZpPXc1LmY2KDQ0Nik7Ymk9dzUuWjYoMTYzKTttaT13NS5mNig5NCk7Z2k9dzUuWjYoMjIwKTt5aT13NS5aNigzNTQpO2tpPXc1Llo2KDE4Nik7d2k9dzUuZjYoNDEyKTt4aT13NS5mNig0NDcpO09pPXc1Llo2KDQwNCk7Q2k9dzUuZjYoNTIpO0VpPXc1Llo2KDY4KTtQaT13NS5mNigzNSk7VGk9dzUuZjYoNTYpO0FpPXc1LmY2KDEwMyk7Rmk9dzUuWjYoMzc5KTtTaT13NS5mNig0NTEpO2ppPXc1Llo2KDQ3NSk7TGk9dzUuWjYoMjEpO3ppPXc1LmY2KDE3MSk7Qmk9dzUuZjYoMTMxKTtJaT13NS5mNig0ODgpO01pPXc1LmY2KDE4MCk7V2k9dzUuWjYoNDQ1KTtEaT0vYnV0dG9ufGlucHV0L2k7VWk9dzUuWjYoMTM0KTtSaT13NS5mNigyMjgpO05pPXc1LmY2KDc4KTtIaT13NS5aNig1NCk7cWk9dzUuWjYoMTY3KTtKaT13NS5mNig0NjUpO1ZpPXc1Llo2KDMzNSk7JGk9dzUuZjYoMTY5KTtRaT13NS5mNigzNjgpO0dpPXc1LmY2KDI4Nyk7WWk9dzUuWjYoMzQ4KTtLaT13NS5mNigzMDEpO1ppPXc1LmY2KDQ0KTtYaT13NS5mNigyNjQpO3RuPXc1LmY2KDc3KTtlbj13NS5mNig0NjApO25uPXc1LmY2KDMzNyk7cm49dzUuWjYoMTU3KTtvbj13NS5aNigzMjUpO3NuPXc1LmY2KDIzNyk7YW49dzUuZjYoNDg2KTtjbj13NS5mNigxNTUpO3VuPXc1Llo2KDEwNCk7aG49dzUuWjYoMzU2KTtmbj13NS5aNig0OCk7cG49dzUuZjYoMjQyKTtfbj13NS5mNig0MDApO2xuPXc1Llo2KDI2NSk7ZG49dzUuZjYoMjg0KTt2bj13NS5aNigyODgpO2JuPXc1LmY2KDQzOSk7bW49dzUuWjYoMzQxKTtnbj13NS5aNigyMDMpO3luPXc1LmY2KDIxNyk7a249dzUuWjYoMzIxKTt3bj13NS5mNig0MzIpO3huPXc1LmY2KDIyKTtPbj02NDc9PSg0OTguMjUsMjAwKT8oMS42OWUrMyw0NjkpOnc1LmY2KDk2KTtDbj13NS5mNigzODMpO0VuPXc1LmY2KDM1OSk7UG49dzUuWjYoMzUwKTtUbj0vXk9wZXJhXC8uKj9QcmVzdG9cLy4qP1ZlcnNpb25cLyhbXGRcLl0rKS9pO0FuPXc1Llo2KDE5MSk7Rm49dzUuZjYoNDQ4KTtTbj13NS5mNigyNDQpO2puPXc1Llo2KDIzMSk7TG49dzUuZjYoMTIwKTt6bj13NS5mNig0NTApO0JuPXc1Llo2KDExOCk7SW49dzUuZjYoNik7TW49dzUuWjYoNzUpO1duPXc1LmY2KDEyMyk7RG49dzUuWjYoMzA0KTtVbj0vcmVzZXR8YnV0dG9ufHN1Ym1pdC9pO1JuPXc1LmY2KDQ4NCk7Tm49dzUuZjYoMTk2KTtIbj13NS5mNigyMjYpO3FuPXc1LmY2KDM1Myk7Sm49dzUuWjYoMTgpO1ZuPXc1LmY2KDE2OCk7JG49dzUuZjYoMzE0KTtRbj13NS5aNig0NzEpO0duPXc1LmY2KDQ1OSk7WW49dzUuZjYoMzE3KTtLbj13NS5mNigyNDkpO1puPS9WZXJzaW9uXC8oW1xkXC5dKylccysobW9iaWxlXC9bXlxzXStccyspP1NhZmFyaS9pO1huPXc1LmY2KDE0NSk7dHI9dzUuWjYoMjQwKTtlcj13NS5mNigxOSk7aXI9dzUuWjYoNDg5KTtucj13NS5aNigyNzYpO3JyPXc1LmY2KDQ4Mik7b3I9dzUuZjYoNDY2KTtzcj13NS5aNigyNzApO2FyPXc1Llo2KDE0Nyk7Y3I9dzUuZjYoMjQpO3VyPXc1LmY2KDgzKTtocj13NS5aNigyNzkpO2ZyPXc1Llo2KDQzKTtwcj13NS5mNig0MjApO19yPXc1LmY2KDQ2Mik7bHI9L2Nocm9tZXxjcmlvcy87ZHI9dzUuWjYoNDExKTt2cj0vIy4qJC87YnI9dzUuZjYoMTU5KTttcj13NS5aNigwKTtncj0vKGNvbXBhdGlibGV8d2Via2l0KS87eXI9L0Z4aU9TXC8oW1xkXC5dKykvaTtrcj13NS5mNig1OSk7d3I9dzUuWjYoMzgpO3hyPXc1LmY2KDE5OCk7T3I9dzUuZjYoMTApO0NyPXc1LmY2KDQ2NCk7RXI9dzUuWjYoMTE2KTtQcj13NS5mNigzNjkpO1RyPXc1LmY2KDEyMSk7QXI9L21zaWV8dHJpZGVudFwvLztGcj13NS5mNigyNTYpO1NyPXc1LmY2KDQ3MCk7anI9dzUuZjYoMjkzKTtMcj13NS5mNig4Nyk7enI9L2Nocm9tZXxvcGVyYXxlZGdlfGNyaW9zfG9waW9zfGZ4aW9zfHVjL2k7QnI9dzUuWjYoMjUyKTtJcj13NS5aNigxMDgpO01yPXc1LmY2KDkxKTtXcj13NS5mNigyKTtEcj13NS5mNigyNjgpO1VyPXc1Llo2KDI3OCk7UnI9dzUuWjYoMzI2KTtOcj13NS5mNig5KTtIcj13NS5mNigxMzIpO3FyPXc1Llo2KDMyNCk7SnI9LyhhbmRyb2lkfGJiXGQrfG1lZWdvKS4rbW9iaWxlfGF2YW50Z298YmFkYVwvfGJsYWNrYmVycnl8YmxhemVyfGNvbXBhbHxlbGFpbmV8ZmVubmVjfGhpcHRvcHxpZW1vYmlsZXxpcChob25lfG9kKXxpcGFkfGlyaXN8a2luZGxlfEFuZHJvaWR8U2lsa3xsZ2UgfG1hZW1vfG1pZHB8bW1wfG5ldGZyb250fG9wZXJhIG0ob2J8aW4paXxwYWxtKCBvcyk/fHBob25lfHAoaXhpfHJlKVwvfHBsdWNrZXJ8cG9ja2V0fHBzcHxzZXJpZXMoNHw2KTB8c3ltYmlhbnx0cmVvfHVwXC4oYnJvd3NlcnxsaW5rKXx2b2RhZm9uZXx3YXB8d2luZG93cyAoY2V8cGhvbmUpfHhkYXx4aWluby9pO1ZyPSgyNDk2LDg0OTUpIT05NzY/dzUuZjYoMjk3KTohITA7JHI9dzUuWjYoNDI2KTtRcj13NS5mNigyMjUpO0dyPXc1LmY2KDE4OCk7WXI9dzUuZjYoNDMxKTtLcj13NS5mNigyNTApO1pyPXc1Llo2KDI2MSk7WHI9dzUuZjYoMTc2KTt0bz13NS5mNigyNSk7ZW89dzUuWjYoMTk1KTtpbz13NS5mNigzMjgpO25vPXc1Llo2KDQwOSk7cm89dzUuZjYoMzQ5KTtvbz13NS5aNigzMjIpO3NvPXc1Llo2KDMxNik7YW89dzUuWjYoMzg1KTtjbz13NS5mNigxMTMpO3VvPXc1LmY2KDQ3NCk7aG89dzUuWjYoMjY3KTtmbz13NS5mNigyNjYpO3BvPXc1Llo2KDQwNyk7X289dzUuWjYoNjMpO2xvPXc1Llo2KDM2Nyk7dm89L3dlYmtpdC87Ym89dzUuWjYoNDUyKTttbz0vc2FmYXJpLztnbz13NS5aNig5Myk7eW89L29wZXJhfG9wcnxvcGlvc1wvLztrbz13NS5aNigzMzEpO3dvPXc1LmY2KDI2KTt4bz13NS5aNigxODIpO09vPXc1LmY2KDM4MCk7Q289dzUuWjYoMTEwKTtFbz13NS5mNigxMTIpO1BvPXc1LmY2KDMwNSk7VG89dzUuZjYoNzQpO0FvPXc1LmY2KDEwMik7Rm89dzUuZjYoNDc4KTtTbz0vYW5kcm9pZC87am89dzUuZjYoMzkxKTtMbz13NS5aNigzMDYpO3pvPXc1LmY2KDQwNSk7Qm89dzUuWjYoOTkpO0lvPXc1Llo2KDM5Nik7TW89dzUuWjYoNDQwKTtXbz13NS5mNig2Nyk7RG89dzUuWjYoNDAxKTtVbz13NS5aNigxNTQpO1JvPXc1LmY2KDI4OSk7Tm89dzUuWjYoMzkzKTtIbz13NS5mNig3OSk7cW89dzUuWjYoMTQwKTtKbz13NS5aNigzNzIpO1ZvPXc1Llo2KDQyMik7JG89dzUuZjYoNDQ5KTtRbz13NS5aNigzOTUpO0dvPXc1Llo2KDIwNik7WW89dzUuWjYoMjQzKTtLbz13NS5mNig2Mik7Wm89dzUuWjYoNDg1KTtYbz13NS5mNigxMzApO3RzPXc1Llo2KDE1Nik7ZXM9dzUuZjYoMjAxKTtpcz13NS5aNigzNjEpO25zPXc1LmY2KDMxNSk7cnM9dzUuWjYoMTIyKTtvcz13NS5mNig3MCk7c3M9dzUuZjYoMjU3KTthcz13NS5aNig0MjUpO2NzPXc1LmY2KDMzMCk7dXM9dzUuZjYoNzMpO2hzPXc1LmY2KDMwMyk7ZnM9dzUuWjYoMTAwKTtwcz13NS5mNigzNzQpO19zPXc1Llo2KDY2KTtscz0oODI2LjA2LDk5Ny4yKSE9PSgyNjIuNzksNzAwLjQpP3c1LmY2KDE3OSk6KG81LHc1Llo2KDM2KSk7ZHM9dzUuWjYoMjIzKTt2cz13NS5mNigxMTkpO2JzPXc1Llo2KDMwOCk7bXM9dzUuZjYoNDcpO2dzPXc1Llo2KDMxOSk7eXM9dzUuZjYoMTgxKTtrcz13NS5mNigzNDUpO3dzPXc1Llo2KDE1KTt4cz0vXigjfGphdmFzY3JpcHQpL2k7T3M9dzUuWjYoMzY2KTtDcz13NS5aNigxOTkpO0VzPXc1Llo2KDM4NCk7UHM9dzUuZjYoNDA2KTtUcz13NS5mNig0MjkpO0FzPXc1LmY2KDI0Nyk7RnM9dzUuZjYoNDQzKTtTcz13NS5mNigzMzgpO2pzPS8oPzpGaXJlZm94fENocm9tZSlcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0xzPXc1Llo2KDM3MCk7enM9dzUuZjYoMzEwKTtCcz13NS5aNigzODYpO0lzPXc1Llo2KDI5NCk7TXM9dzUuWjYoMjgzKTtXcz13NS5aNigzODcpO0RzPXc1LmY2KDM5KTtVcz13NS5aNigxMDYpO1JzPXc1LmY2KDIwMik7TnM9dzUuWjYoMzExKTtIcz13NS5mNig0MzgpO3FzPXc1LmY2KDcxKTtKcz13NS5mNigxMzcpO1ZzPXc1Llo2KDI3KTskcz13NS5aNig4NCk7UXM9L18vZztHcz13NS5aNigxNTgpO1lzPXc1Llo2KDE5Mik7S3M9dzUuZjYoNDIzKTtacz13NS5mNigzMzkpO1hzPXc1Llo2KDE1MCk7dGE9dzUuWjYoMTQyKTtlYT13NS5mNig0KTtpYT13NS5aNig0MTApO25hPXc1LmY2KDIzNik7cmE9dzUuZjYoNDAyKTtvYT13NS5mNigyMTQpO3NhPXc1Llo2KDQxNyk7YWE9dzUuZjYoMTg0KTtjYT13NS5aNigxOTcpO3VhPXc1LmY2KDIzMyk7aGE9dzUuZjYoMzApO2ZhPS9saW51eC87cGE9dzUuWjYoMjgyKTtfYT0vb3BlcmEvO2xhPXc1Llo2KDM2NCk7ZGE9dzUuWjYoMTczKTt2YT13NS5aNigzMDApO2JhPXc1LmY2KDIzNSk7bWE9L2VkZ2V8b3ByXC8vO2dhPXc1LmY2KDI4NSk7eWE9dzUuZjYoNDYpO2thPXc1Llo2KDEzKTt3YT13NS5aNigyMDUpO3hhPXc1LmY2KDIyNCk7T2E9dzUuZjYoMzQ0KTtDYT13NS5aNigyMTMpO0VhPS9FZGdlXC8oW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTtQYT13NS5mNigxMjYpO1RhPXc1Llo2KDExNCk7QWE9L14oPzouKlteXHddKSooW1x3XSspXHMqJC9pO0ZhPXc1LmY2KDM5Mik7U2E9dzUuWjYoNjkpO2phPXc1LmY2KDMpO0xhPXc1LmY2KDQ1KTt6YT13NS5mNigzMjMpO0JhPXc1LmY2KDEzOSk7SWE9dzUuWjYoMTI5KTtNYT13NS5mNig4KTtXYT13NS5mNig0Mik7RGE9dzUuZjYoMSk7VWE9dzUuWjYoODkpO1JhPXc1LmY2KDIwOSk7TmE9dzUuZjYoMjgpO0hhPXc1LmY2KDIxOSk7cWE9dzUuWjYoMjMwKTtKYT13NS5aNig4MSk7VmE9dzUuWjYoMzA5KTskYT13NS5mNigzNDcpO1FhPXc1LmY2KDM4MSk7R2E9dzUuWjYoOTIpO1lhPXc1LmY2KDEyNSk7S2E9dzUuWjYoMzIpO1phPXc1LmY2KDM5MCk7WGE9dzUuZjYoNDY4KTt0Yz13NS5mNigzNik7ZWM9dzUuZjYoMzk3KTtpYz13NS5aNig0ODApO25jPXc1LmY2KDIyMik7cmM9dzUuZjYoNDU3KTtvYz13NS5aNigzNTIpO3NjPXc1Llo2KDI5KTthYz0vaShQaG9uZXxQYWR8UG9kKS9pO2NjPXc1LmY2KDQzNCk7dWM9dzUuZjYoNDIxKTtoYz13NS5aNig0NzMpO2ZjPXc1LmY2KDE3MCk7cGM9dzUuZjYoMjYyKTtfYz13NS5aNigxNTEpO2xjPXc1LmY2KDQ5KTtkYz13NS5mNigyNTQpO3ZjPXc1LmY2KDQyOCk7YmM9dzUuZjYoMTUzKTttYz13NS5aNigyNjkpO2djPXc1Llo2KDU3KTt5Yz13NS5mNigzNTcpO2tjPS9UcmlkZW50XC8uKj9ydjooW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTt3Yz13NS5aNig0NTMpO3hjPXc1Llo2KDQ3Nik7T2M9dzUuZjYoNDU0KTtDYz13NS5mNig0NTgpO0VjPXc1LmY2KDgwKTtQYz0vOlxkKyQvO1RjPXc1Llo2KDI3Mik7QWM9dzUuWjYoMzI3KTtGYz13NS5mNig0NzkpO1NjPXc1Llo2KDYxKTtqYz13NS5mNigyOTEpO0xjPXc1Llo2KDIzMik7emM9dzUuWjYoMTEpO0JjPXc1LmY2KDM0Nik7SWM9dzUuWjYoMTA1KTtNYz13NS5aNig0NzcpO1djPXc1Llo2KDQwKTtEYz13NS5aNig3Nik7VWM9dzUuWjYoMTYpO1JjPXc1Llo2KDIyNyk7TmM9dzUuWjYoMjA0KTtIYz13NS5mNigzNyk7IWZ1bmN0aW9uKHQseSxSdCxYZSxyaSx5aSxBaSxObixkcixVcixpbyxybyxDbyxHcyx6YyxVYyxxYyxKYyxWYywkYyl7InVzZSBzdHJpY3QiO3ZhciBRYyxHYyxZYyxLYyxaYyxYYyx0dSxldSxpdSxudSxydSxvdSxzdSxhdSxjdSx1dSxodSxmdSxwdSxfdSxsdSxkdSx2dSxidSxtdSxndSx5dSxrdSx3dSx4dSxPdSxDdSxFdSxQdSxUdSxBdSxGdTtydT10O3c1Llk0KDApO291PXc1LmM0KHVpLEdyLGJyLF9yLFllLFNpLFR0LGRuLFllLHUsbWksT3QsR3IsWWUsdXIpO3c1Llk0KDEpO3N1PXc1LnU0KGZlLFR0LEh0LG90LFR0KTt3NS5vNCgxKTthdT13NS51NChXaSxQZSxLLF9jLFBlKTt3NS5ZNCgyKTtjdT13NS5jNChydSxnaSk7dzUubzQoMik7dXU9dzUudTQocnUsWm8pO3c1Lm80KDMpO2h1PXc1LmM0KE9jLHJ1LEJpLFV0LEdyLEdyKTt3NS5vNCgyKTtmdT13NS51NChydSwkYSk7cHU9YW87X3U9eGk7bHU9THI7ZHU9bW47dnU9eVtmXVtxbytHcitDXVtYcytHcit0cytHcituY10oKTtidT17dW5kZXI6bzUsbmV3VGFiOm81fTttdT1udWxsO2d1PW81O3l1PSF7fTtrdT1mdW5jdGlvbigpe307dzUuWTQoNCk7d3U9dzUudTQoR3IsT3QsRXQpO3h1PXJpW3ZzK0dyK0FvXXx8e3NyYzpudWxsfTt3NS5vNCg0KTtPdT15W2ZdW3c1LmM0KGVvLEdyLGtyKV07Q3U9eXU7RXU9eXU7UHU9eXU7VHU9ZnVuY3Rpb24oKXt2YXIgRTksbzksdzk7dHJ5e0U5PTM2MDIzMDM0MztvOT01MDA4ODEwMDM7dzk9Mjtmb3IodmFyIGI1PTE7dzUuTDEoYjUudG9TdHJpbmcoKSxiNS50b1N0cmluZygpLmxlbmd0aCw1ODI0MykhPT1FOTtiNSsrKXtyZXR1cm4geVtwXT09PXlbcXJdfHwheVtwXVttcl1bRWldWyhYcy1HciklaF0oKSE9VGM/eVtwXTp5W3FyXTt3OSs9Mjt9aWYodzUuTDEodzkudG9TdHJpbmcoKSx3OS50b1N0cmluZygpLmxlbmd0aCw1MTUyOSkhPT1vOSl7cmV0dXJuIHlbcF0hPT15W3FyXSYmdHlwZW9mIHlbcF1bbXJdW0VpXVtYcytHcitoXSgpPT09VGM/eVtwXTp5W3FyXTt9fWNhdGNoKHQpe3ZhciBBOSxJOSxLOTtBOT0yMjIyMDY4MDc7STk9NDU1MTUwMTA4O0s5PTI7Zm9yKHZhciBROT0xO3c1LkwxKFE5LnRvU3RyaW5nKCksUTkudG9TdHJpbmcoKS5sZW5ndGgsNjg5NDApIT09QTk7UTkrKyl7cmV0dXJuIFB1PWd1LHlbcXJdO0s5Kz0yO31pZih3NS5MMShLOS50b1N0cmluZygpLEs5LnRvU3RyaW5nKCkubGVuZ3RoLDU2NzU3KSE9PUk5KXtyZXR1cm4gUHU9Z3UseVtxcl07fX19KCk7QXU9VHVbSmFdW1FhXTtGdT1mdW5jdGlvbigpe3ZhciB0O3RyeXt0PVR1W0VpXVt1bl07fWNhdGNoKHQpe31yZXR1cm4hUHUmJnR8fChidT17bmV3VGFiOmd1LHVuZGVyOnl1fSx0PXJpW2lhXSksdDt9KCk7S2M9e3Q6W10sbjpmdW5jdGlvbih0KXt2YXIgSDcsdjcsVDc7SDc9MTg2NDAwNjYwNDt2Nz03MzE4NDIzNTE7VDc9Mjtmb3IodmFyIG83PTE7dzUuZDEobzcudG9TdHJpbmcoKSxvNy50b1N0cmluZygpLmxlbmd0aCw5MTY5NikhPT1INztvNysrKXt0eXBlb2YgeVt3c10hPT1nZSYmeVt3c11bT29dJiZObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO1Q3Kz0yO31pZih3NS5kMShUNy50b1N0cmluZygpLFQ3LnRvU3RyaW5nKCkubGVuZ3RoLDI0OTc5KSE9PXY3KXt+eVt3c109PT1nZXx8eVt3c11bT29dfHxObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO319LHI6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9MDt0PHRoaXMudFtwaV07dCsrKXt0aGlzLm4odGhpcy50W3RdKTt9fSxlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9W3RdW0tuXShBaVtYdF1bcW5dW0NpXShhcmd1bWVudHMsMSkpO3RoaXMudFtNcl0oZSk7R2MuaSgpJiZ0aGlzLm4oZSk7fX07ZXU9e3M6ZnVuY3Rpb24oKXtpZih0aGlzLm89PT1tdSl0cnl7eVthcytHcit0aV1bbGkrR3IrRXJdKHJ1LDEpO3lbYXMrR3IrdGldW3huK0dyK0VyXShydSk7dGhpcy5vPWd1O31jYXRjaCh0KXt2YXIgdzcscDcsYjk7dzc9LTE2MTA5ODQyMzA7cDc9OTg2NDU4NDQ2O2I5PTI7Zm9yKHZhciBtOT0xO3c1LmQxKG05LnRvU3RyaW5nKCksbTkudG9TdHJpbmcoKS5sZW5ndGgsODg3MTMpIT09dzc7bTkrKyl7dGhpcy5vPXl1O2I5Kz0yO31pZih3NS5MMShiOS50b1N0cmluZygpLGI5LnRvU3RyaW5nKCkubGVuZ3RoLDMzNDE0KSE9PXA3KXt0aGlzLm89eXU7fXRoaXMubz15dTt9cmV0dXJuIHRoaXMubzt9LHU6ZnVuY3Rpb24odCl7dGhpcy5zKCk/eVthcytHcit0aV1beG4rR3IrRXJdKHQpOnR1LnUodCk7fSxjOmZ1bmN0aW9uKHQpe3RyeXtyZXR1cm4gdGhpcy5zKCk/eVthcytHcit0aV1bYWErR3IrRXJdKHQpOnR1LmModCk7fWNhdGNoKHQpe3JldHVybiBtdTt9fSxvOm11LGE6ZnVuY3Rpb24odCxlKXt0aGlzLnMoKT95W2FzK0dyK3RpXVtsaStHcitFcl0odCxlKTp0dS5hKHQsZSk7fX07dHU9e3U6ZnVuY3Rpb24odCl7dGhpcy5hKHQsMCxuZXcgSmMoMCkpO30sYzpmdW5jdGlvbih0KXt2YXIgZTt3NS5ZNCg1KTtlPXJpW050XVtiY10obmV3IFVyKHc1LnU0KGVyLEdyLEdyLGV0LHNjLHQsR3IsR3IsdHQsdWMsR3IsR3IsSm8sR3IpLGxzKSk7cmV0dXJuIGU/VmMoZVswXVtDcl0oR3IrZXQrR3IpWzFdKTptdTt9LGE6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO3M9aXx8R3I7cyYmKHR5cGVvZiBzPT09V3Q/KG89bmV3IEpjKCkpW2xpK0dyK0hdKG9bYWErR3IrSF0oKSsxZTMqcyk6bz1zLHM9R3IrZXIrZmkrZXQrR3Irb1tYcytHcitWcitHcit4YytHcitXK0dyK2hdKCkpO3JpW050XT10KyhHcitldCtHcikrJGMoR3IrZSkrcysocj9HcitlcitkcytldCtHcityOkdyKSsoR3IrZXIrQXQrZXQrR3IpKyhufHxHcitQZStHcik7fX07WmM9e3A6ZnVuY3Rpb24odCl7dmFyIGUsaTtpPXt9O2ZvcihlPTA7ZTx0W3BpXTtlKyspe2lbdFtlXVswXV09dFtlXVsxXTt9cmV0dXJuIGk7fSxXOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbjt0cnl7cmV0dXJuIG49dFthYStHcitHaV0oZSksdHlwZW9mIGkhPT1UYz95dTohIW5ldyBVcihGbitpK01zLGxzKVtqY10obik7fWNhdGNoKHQpe3JldHVybiB5dTt9fSxBOmZ1bmN0aW9uKCl7dHJ5e3JldHVybiB0eXBlb2YgeS5qUXVlcnkuZm4ub249PT1aczt9Y2F0Y2godCl7cmV0dXJuIHl1O319LEc6ZnVuY3Rpb24odCl7cmV0dXJuKHQ/bmV3IEpjKHQpOm5ldyBKYygpKVthYStHcitIXSgpO30sTTpmdW5jdGlvbih0KXt2YXIgbTAsQTAsSTAsZSxsNyxjNyxWNzttMD0tMTc4MjYxMjU4MTtBMD0tMTYzMzI0MDE2NDtJMD0yO2Zvcih2YXIgcjA9MTt3NS5MMShyMC50b1N0cmluZygpLHIwLnRvU3RyaW5nKCkubGVuZ3RoLDM0ODU4KSE9PW0wO3IwKyspe0kwKz0yO31pZih3NS5MMShJMC50b1N0cmluZygpLEkwLnRvU3RyaW5nKCkubGVuZ3RoLDg0OTA2KSE9PUEwKXt9dHJ5e2w3PS0xMjU4NTI0ODY5O2M3PTc3MTI1MDQ2ODtWNz0yO2Zvcih2YXIgeTc9MTt3NS5kMSh5Ny50b1N0cmluZygpLHk3LnRvU3RyaW5nKCkubGVuZ3RoLDEwMjkyKSE9PWw3O3k3KyspeyhlPXRbSmFdW1FhXShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7VjcrPTI7fWlmKHc1LmQxKFY3LnRvU3RyaW5nKCksVjcudG9TdHJpbmcoKS5sZW5ndGgsMjYwMTcpIT09YzcpeyhlPXRbSmFdW1FhXSgoVWEtVnQpL2NpKSlbYm9dKCk7ZVtJb10oKTt9fWNhdGNoKHQpe30oZT1BdShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7fSxUOmZ1bmN0aW9uKHQpe3QmJihUdVtFaV09dCk7fSxxOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxpPVt5cixUbixFYSxCZSxqcyxabixqdCxrYyx3ZV0sbj0wO248aVtwaV07bisrKWlmKGU9aVtuXVtqY10odnUpKXtyZXR1cm4gdD9VYyhlWzFdLDEwKTplWzFdW1pdKFFzLEdyK1R0K0dyKTt9cmV0dXJuIG11O30sTDpmdW5jdGlvbih0LGUpe3c1Llk0KDcpO3JldHVybiB3NS51NChZZSxlcixHcix0LGllLHlzLEdyLGUsR3IsVmUsVnQsR3IpO30sXzpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUTAsZTAsajA7UTA9LTE2NDA5MDY2NDA7ZTA9MzYxNTQ4MTI4O2owPTI7Zm9yKHZhciB0MD0xO3c1LmQxKHQwLnRvU3RyaW5nKCksdDAudG9TdHJpbmcoKS5sZW5ndGgsMzk3NjcpIT09UTA7dDArKyl7aT15O3c1Llk0KDQpO249dFtDcl0odzUudTQoR3IsVHQsR3IpKTtmb3IoZT0wO2U8bltwaV07ZSsrKXtpPWlbbltlXV07fXJldHVybiBpO2owKz0yO31pZih3NS5MMShqMC50b1N0cmluZygpLGowLnRvU3RyaW5nKCkubGVuZ3RoLDQ3NjE4KSE9PWUwKXtpPXk7dzUuWTQoNik7bj10W0NyXSh3NS51NChUdCxHcixHcikpO2ZvcihlPTQ7ZTw9bltwaV07ZS0tKXtpPWlbbltlXV07fXJldHVybiBpO319LFM6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbyxzMCxEMCxXMCxVMCx4MCx6MDtvPXkualF1ZXJ5fHxudWxsO2lmKHQmJnRbQW5dKXtyZXR1cm4gZ3U7fWlmKCFvKXtyZXR1cm4geXU7fXRyeXtzMD0tMTYxNTA0NTA7RDA9LTE5OTUwMzAzNTQ7VzA9Mjtmb3IodmFyIGMwPTE7dzUuZDEoYzAudG9TdHJpbmcoKSxjMC50b1N0cmluZygpLmxlbmd0aCw5Nzc5KSE9PXMwO2MwKyspe2lmKChlPShvKHQpW2llXShHYSkmJm8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9VzArPTI7fWlmKHc1LkwxKFcwLnRvU3RyaW5nKCksVzAudG9TdHJpbmcoKS5sZW5ndGgsMjI1MTYpIT09RDApe2lmKChlPShvKHQpW2llXShHYSl8fG8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9fX1jYXRjaCh0KXt9dHJ5e1UwPS0xMjgxMDM4MTgyO3gwPS01MjI2MTY2MzI7ejA9Mjtmb3IodmFyIGkwPTE7dzUuTDEoaTAudG9TdHJpbmcoKSxpMC50b1N0cmluZygpLmxlbmd0aCwzMjg1OSkhPT1VMDtpMCsrKXtmb3IoZT1vKHJpW1FyXSlbaWVdKEdhKVtnc10saT00O2k+ZVtwaV07aS0tKWZvcihyPW8oZVtpXVtvZV0pLG49NztuPj1yW3BpXTtuLS0paWYocltuXT09dCl7cmV0dXJuIGd1O316MCs9Mjt9aWYodzUuTDEoejAudG9TdHJpbmcoKSx6MC50b1N0cmluZygpLmxlbmd0aCw4ODE3MikhPT14MCl7Zm9yKGU9byhyaVtRcl0pW2llXShHYSlbZ3NdLGk9NDtpPmVbcGldO2ktLSlmb3Iocj1vKGVbaV1bb2VdKSxuPTc7bj49cltwaV07bi0tKWlmKHJbbl09PXQpe3JldHVybiBndTt9fWZvcihlPW8ocmlbUXJdKVtpZV0oR2EpW2dzXSxpPTA7aTxlW3BpXTtpKyspZm9yKHI9byhlW2ldW29lXSksbj0wO248cltwaV07bisrKWlmKHJbbl09PT10KXtyZXR1cm4gZ3U7fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sQzpmdW5jdGlvbih0LGUsaSl7dmFyIG4scixvO289WmMuTyhvNSk7cmV0dXJuIG49b1t0bytHcit5YV1bbXJdW1VzK0dyK0NuXShkZSksbltPXT1yYStQZStDdCxuW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoSmErVHQrX3QrWWUrR3IrZXQrR3IrWWUrSmErVHQrcCtZZStHcitldCtHcitZZStKYStUdCt1cytHcitDbitZZStHcitldCtHcitZZStkK2VyK0dyKSsoSmErVHQrJG4rWWUrR3IrZXQrR3IrWWUrWnMrUit6K1ZlK0dyK1llK3NvK1ZlK0dyK1llK0NlK1ArR3IrWWUrR3Ird24rR3IpKyh1YStZZStCcytHcitYbytZZStHcitldCtHcitZZStKYStUdCtRYStSK3orVmUrR3IrWWUrc28rVmUrR3IrWWUrQ2UrUCtHcitlcitHcikrKFdyK1llK0dyK3duK0JzK0dyK1hvK1R0K1dvK1llK0dyK2V0K0dyK1llK2QrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSsoTnIrWWUrQnMrR3IrWG8rZXIrR3IpKyhHcitEcitHcitlcitHciksb1t0bytHcit5YV1bbXJdW1FyXVtJdCtHcitXZV0obikscj1vW3RvK0dyK3lhXS5ta3AodCxlLGkpLFpjLlAobykscjt9LEI6ZnVuY3Rpb24odCxlLG4pe3ZhciByLG8scztyPTA7bz1ufHwxMDtzPXQ7dHJ5e2Zvcig7cyYmcisrPG87KXtpZih0eXBlb2YgZT09PVRjJiYoc1tTYytHcittY109PT1lfHxaYy5JKHMsZSkpfHx0eXBlb2YgZT09PWFyJiZzPT09ZSl7cmV0dXJuIHM7fXc1Llk0KDQpO3M9c1t3NS51NChfdCxHcixpKV07fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sRjpmdW5jdGlvbih0KXt2YXIgZTtlPVJ0W1RlXTtyZXR1cm4gdHlwZW9mIHQhPT1nZSYmKGU9KGN0W2pjXSh0KXx8W0dyLEdyXSlbMV0pLGVbWl0oUGMsR3IpO30seDpmdW5jdGlvbih0KXtyZXR1cm4geWlbWHRdW1hzK0dyK2hdW0NpXSh0KT09PUdyK0pvK2FyK1llK2JuK3R0K0dyO30sazpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUjAsUDAsSjA7aT1bXTtuPVpjLnYoKTt0cnl7UjA9LTE2Mjc2MTY5Mzc7UDA9LTIwMDI5NzgxNzY7SjA9Mjtmb3IodmFyIEIwPTE7dzUuTDEoQjAudG9TdHJpbmcoKSxCMC50b1N0cmluZygpLmxlbmd0aCw3NjkxMCkhPT1SMDtCMCsrKXtmb3IoZSBpbiBuKXt+dFtlXSE9Z2V8fGlbTXJdKGUvKChHci1ldCklR3IpLXRbZV0pO31KMCs9Mjt9aWYodzUuTDEoSjAudG9TdHJpbmcoKSxKMC50b1N0cmluZygpLmxlbmd0aCw4NjExMCkhPT1QMCl7Zm9yKGUgaW4gbil7fnRbZV0hPWdlfHxpW01yXShlLygoR3ItZXQpJUdyKS10W2VdKTt9fWZvcihlIGluIG4pe3R5cGVvZiB0W2VdIT09Z2UmJmlbTXJdKGUrKEdyK2V0K0dyKSt0W2VdKTt9fWNhdGNoKHQpe0tjLmUodCk7fXc1Llk0KDQpO3JldHVybiBpW05pXSh3NS5jNChHcixWZSxHcikpO30sUjpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5CKHQsT24pO30seTpmdW5jdGlvbigpe2Zvcih2YXIgdCxlPXt9LGk9MDtpPGFyZ3VtZW50c1twaV07aSsrKWZvcih0IGluIGFyZ3VtZW50c1tpXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0oYXJndW1lbnRzW2ldLHQpJiYoZVt0XT1hcmd1bWVudHNbaV1bdF0pO31yZXR1cm4gZTt9LFY6ZnVuY3Rpb24odCxlKXt2YXIgSjEsWDEsQjE7SjE9NDUyODczNzI5O1gxPTEyNzMxMDM4NTg7QjE9Mjtmb3IodmFyIE4xPTE7dzUuZDEoTjEudG9TdHJpbmcoKSxOMS50b1N0cmluZygpLmxlbmd0aCw1NTI1MSkhPT1KMTtOMSsrKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpKihlLXQpKSt0O0IxKz0yO31pZih3NS5kMShCMS50b1N0cmluZygpLEIxLnRvU3RyaW5nKCkubGVuZ3RoLDI4MzUxKSE9PVgxKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpJShlL3QpKSV0O319LFE6ZnVuY3Rpb24odCl7dmFyIGUsaSxuO3c1Llk0KDgpO2U9dzUuYzQodHlwZW9mIHQsYXIpO2k9dDt3NS5vNCg0KTtuPXJpW1VzK0dyK0NhXSh3NS51NChTbixHcix1bykpO25bTHMrR3IrU24rR3IrQ2FdKGdzLGd1LGd1LHksMCwwLDAsMCwwLGd1LHl1LHl1LGd1LDAsbXUpO2V8fChpPVpjLnooVSx7aHJlZjp0fHxpZStWdCtyYStQZStqbytWZStHcit1aStkZSt1citKYStUdCtJbytSK0dyK1ArR3IrZXIrR3IrdWkrR3IrUGUrZGUrdXIrR3J9KSxyaVtRcl1bSXQrR3IrV2VdKGkpKTtpW2duK0dyK0NhXShuKTtlfHxaYy5QKGkpO30sejpmdW5jdGlvbih0LGUsaSl7dmFyIG4scjtyPXJpW1VzK0dyK0NuXSh0KTtmb3IobiBpbiBlKXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShlLG4pJiZyW2xpK0dyK0dpXShuLGVbbl0pO31yZXR1cm4gaSYmKHJbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPWkpLHI7fSxZOmZ1bmN0aW9uKCl7dHJ5e3c1Lm80KDQpO3JldHVybiEhT3VbdzUuYzQoZW4sUGUsTWMpXVt3NS51NCgkaSxHcixXcyldO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sbDpmdW5jdGlvbih0KXt2YXIgZSxpLFk3LGY3LHM3O2U9WmMuXyh0KTt3NS5ZNCg0KTtpPXRbWl0oQWEsdzUudTQoR3Isem8scSkpO3RyeXtZNz0tMTYzMTA2MDI3MDtmNz0xOTgxNTM2MDYxO3M3PTI7Zm9yKHZhciBXNz0xO3c1LkwxKFc3LnRvU3RyaW5nKCksVzcudG9TdHJpbmcoKS5sZW5ndGgsMTYwMikhPT1ZNztXNysrKXtyZXR1cm4rbmV3IFVyKChacy9ZZS1HcikvIGkveHIsUnMpW2lyXShlW1hzJUdyL2hdKCkpO3M3Kz0yO31pZih3NS5MMShzNy50b1N0cmluZygpLHM3LnRvU3RyaW5nKCkubGVuZ3RoLDExNjM3KSE9PWY3KXtyZXR1cm4hbmV3IFVyKFpzK1llK0dyK2kreHIsUnMpW2lyXShlW1hzK0dyK2hdKCkpO319Y2F0Y2godCl7cmV0dXJuIHRbWHMrR3IraF0oKVtMK0dyK1dhXShrbytZZStycytZZStVK1llK1pzKT4tMT9ndTpYYy5kP2d1Onl1O319LHY6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbzt3NS5vNCg0KTtlPXlbdzUuYzQoUGEsR3IsZyldO3c1Llk0KDQpO2k9eVt3NS5jNChQYSxHcix3YyldO249eVtPaStHcitVZV18fHlbT2krR3IrV25dfHwwO3I9eVtPaStHcit4b118fHlbT2krR3IrQ2NdfHwwO289e307cmV0dXJuIG9bb2NdPWUsb1tLYV09aSxvW0hpXT1uLG9bcF09cixvW29yXT0wLG9bRWldPTEsb1tTcl09MSxvW09yXT0xLG8ucmVzaXphYmxlPTEsb1tNZV09MSxYYy5iJiYob1tLYV0rPVhjLm0/NDY6NTIpLFhjLmcmJihvW29jXS09NSxvW0thXS09NCksdHlwZW9mIHQ9PT1hciYmKG89WmMueShvLHQpKSxvO30sTzpmdW5jdGlvbih0KXt2YXIgZTtlPXJpW1VzK0dyK0NuXShjbik7cmV0dXJuIGVbeGVdW3h0XT1YaSx0JiZyaVtRcl1bSXQrR3IrV2VdKGUpLGU7fSxEOmZ1bmN0aW9uKHQpe3JldHVybiB0W1NjK0dyK21jXT09PUZjK0dyK1ZyK0dyK3hjK0dyK3hjK0dyK2ZjK0dyK2d0fHx0W1NjK0dyK21jXT09PXZhK0dyK2d0K0dyK210K0dyK1ZyK0dyK3hjJiZVbltpcl0odFthYStHcitHaV0oTykpfHx0aGlzLkIodCxGYytHcitWcitHcit4YytHcit4YytHcitmYytHcitndCkhPT15dTt9LFA6ZnVuY3Rpb24odCl7dCYmdFtfdCtHcitpXSYmdFtfdCtHcitpXVt4bitHcitXZV0odCk7fSxJOmZ1bmN0aW9uKHQsZSl7dmFyIG4scixvO2lmKHR5cGVvZiBlIT09VGMpe3JldHVybiB5dTt9aWYodHlwZW9mIHJpW2VlK0dyK3Z0K0dyK21dPT09WnMpdHJ5e3I9dFtfdCtHcitpXVtlZStHcit2dCtHcittXShlKXx8eS5qUXVlcnkoZSk7fWNhdGNoKHQpe31lbHNlIGlmKFpjLkEoKSl0cnl7cj15LmpRdWVyeShlKTt9Y2F0Y2godCl7fWlmKHIpZm9yKG89MDtvPHJbcGldO28rKylpZihyW29dPT09dCl7cmV0dXJuIGd1O31zd2l0Y2goZVswXSl7Y2FzZSBHcitUdCtHcjpuPVtsbyxlW2ZzXSgxKV07YnJlYWs7Y2FzZSBHcitzZStHcjpuPVtWYSxlW2ZzXSgxKV07fXJldHVybiBuP3RoaXMuVyh0LG5bMF0sblsxXSk6eXU7fSxmOmZ1bmN0aW9uKHQsZSl7dHJ5e3JldHVybiEoIXRba2ldW2VdfHwhdFtraV1bZV1bWW5dKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LE46ZnVuY3Rpb24odCl7dmFyIGU7ZT10aGlzLlIodCk7cmV0dXJuIGUmJmVbdW5dJiYheHNbaXJdKGVbdW5dKT9lW3VuXTp5dTt9LEo6ZnVuY3Rpb24odCxlLGksbil7Zm9yKHZhciByLG8scyxhPXRbWHMrR3IraF0oKVtDcl0obnx8R3IrVHQrR3IpLGM9ZVtYcytHcitoXSgpW0NyXShufHxHcitUdCtHciksdT0wLGY9ZHJbQm9dKGFbcGldLGNbcGldKTt1PGYmJihyPVVjKGFbdV18fDAsMTApLG89VWMoY1t1XXx8MCwxMCkscWMocikmJihyPTApLHFjKG8pJiYobz0wKSxzPXI+bz8xOi0xLHI9PT1vKTt1Kyspe3M9MDt9c3dpdGNoKGkpe2Nhc2UgR3IrdXIrR3I6dzUubzQoOCk7cmV0dXJuIHc1LnU0KDEscyk7Y2FzZSBHcit1citHcitldCtHcjp3NS5ZNCg5KTtyZXR1cm4gdzUuYzQocywxKTtjYXNlIEdyK3VpK0dyOnc1Lm80KDEwKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK3VpK0dyK2V0K0dyOnc1Llk0KDExKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK2V0K0dyK2V0K0dyOmNhc2UgR3IrZXQrR3IrZXQrR3IrZXQrR3I6ZGVmYXVsdDp3NS5ZNCg4KTtyZXR1cm4gdzUudTQoMCxzKTt9fSwkOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1wZVtDcl0oR3IpLGk9ZVtwaV0sbj0wLHI9R3I7bjx0O24rKyl7cis9ZVtkcltBY10oZHJbTW5dKCkqaSldO31yZXR1cm4gcjt9LGg6ZnVuY3Rpb24odCxlKXt0cnl7cmV0dXJuIHRbYWErR3IrR2ldKGUpO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sSDpmdW5jdGlvbih0LGUsaSl7dmFyIG47dzUubzQoMik7bj13NS5jNChoaSx0KTtyZXR1cm4gdHlwZW9mIHlbbl0hPT1nZSYmcm8oeVtuXSkseVtuXT1pbyhlLGkpO30sdzpmdW5jdGlvbigpe3JldHVybiBQdTt9LFU6ZnVuY3Rpb24odCl7cmV0dXJuIHRbU2MrR3IrbWNdPT09dmErR3IrZ3QrR3IrbXQrR3IrVnIrR3IreGMmJm5lW2lyXSh0W2FhK0dyK0dpXShPKSl8fHRbU2MrR3IrbWNdPT09cGErR3IrT24rR3IrRmMrR3IrUHMrR3IrcGE7fX07aXU9e3R0OmZ1bmN0aW9uKHQsZSl7dmFyIGkscTUsbTUsQTU7dHJ5e3E1PS0xNDE1MjczNDIzO201PS0zMzc1MDc5MjY7QTU9Mjtmb3IodmFyIEs1PTE7dzUuZDEoSzUudG9TdHJpbmcoKSxLNS50b1N0cmluZygpLmxlbmd0aCwzNzU1NSkhPT1xNTtLNSsrKXtyZXR1cm4gZXx8KGk9cmlbKHdyLUdyKSVqbipHcipMY10odFtIYyVHci9VZV0sdFtIYy9Hci14b10pKT9pOnRbVGldJiZ0W1hzLUdyLUNuXSYmdFsoWHItR3IpJUNuXTtBNSs9Mjt9aWYodzUuTDEoQTUudG9TdHJpbmcoKSxBNS50b1N0cmluZygpLmxlbmd0aCw3MjUzNikhPT1tNSl7cmV0dXJuIGUmJihpPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXSx0W0hjK0dyK3hvXSkpP2k6dFtUaV18fHRbWHMrR3IrQ25dfHx0W1hyK0dyK0NuXTt9fWNhdGNoKHQpe3JldHVybiB5dTt9fSxYOmZ1bmN0aW9uKHQsZSxpLG4pe3JldHVybiB0eXBlb2YgdFtIbitHcitDYStHcitFbl09PT1acz90W0huK0dyK0NhK0dyK0VuXShlLGksbnx8e30pOnRbRmUrR3IrQ2FdKE5vK2UsaSk7fSxLOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByO3I9ZnVuY3Rpb24oKXtpdS5aKHQsZSxyLG4pO2lbQ2ldKCk7fTtpdS5YKHQsZSxyLG4pO30sWjpmdW5jdGlvbih0LGUsaSxuKXtyZXR1cm4gdHlwZW9mIHRbeG4rR3IrQ2ErR3IrRW5dPT09WnM/dFt4bitHcitDYStHcitFbl0oZSxpLG58fHt9KTp0W0tpK0dyK0NhXShObytlLGkpO319OyEoWGM9e2l0OmZhW2lyXSh2dSksbnQ6c3RbaXJdKHZ1KSxtOmxlW2lyXSh2dSksZXQ6YWNbaXJdKHZ1KSxydDpTb1tpcl0odnUpLG90OnNpW2lyXSh2dSl8fEpyW2lyXSh2dSl8fHVlW2lyXSh2dVtmc10oMCw0KSksc3Q6dm9baXJdKHZ1KSxnOkFyW2lyXSh2dSkmJiFfYVtpcl0odnUpLGI6bHJbaXJdKHZ1KSYmIW1hW2lyXSh2dSksYXQ6bWVbaXJdKHZ1KSYmIWdyW2lyXSh2dSksY3Q6eFtpcl0odnUpLGQ6Rltpcl0odnUpLHV0OnlvW2lyXSh2dSksX3Q6bXUscHQ6WmMucShndSl8fG11LGx0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3QhPT1tdT90aGlzLl90OnRoaXMuX3Q9UWMuZHQoKSE9PXl1O30sSjpmdW5jdGlvbih0LGUpe3JldHVybiBaYy5KKFhjLmZ0LGUsdCk7fSxodDptb1tpcl0odnUpJiYhenJbaXJdKHZ1KSxmdDpaYy5xKHl1KXx8bXV9KS5ldHx8WGMuaHR8fFhjLmR8fFhjLmJ8fChYYy51dD1vNSk7KFljPWZ1bmN0aW9uKHQsZSxpKXt2YXIgbjtuPWl8fHt9O25bel09ZTt0aGlzLnZ0KG4pO3RoaXMubXQuYnR8fCh0aGlzLm10LmJ0PXJ1K3QpO3RoaXMuZ3QoKTt9KVtYdF09e2t0OntUdDpndSxDdDptdSxqdDp5dSxFdDpHcitQZStHcixGdDprdSxMdDpndSxBdDp5dSxPdDpndSx4dDptdSxQdDpudWxsLGJ0Om11LHd0Om11LFN0Omt1fSxtdDp7fSx5dDpudWxsLHp0OlpjLnYoKSxCdDpaYy5wKFtbT3IsMF1dKSxJdDpaYy5wKFtbTWUsMV1dKSxNdDpaYy5wKFtbU3IsMV1dKSxXdDpaYy5wKFtbRWksMF0sW1NyLDBdXSksRHQ6WmMucChbW01lLDBdXSksVXQ6WmMucChbW1p0LDBdXSksUnQ6WmMucChbW0VpLDBdXSksc2V0T3B0aW9uczpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy52dCh0KTt9LGd0OmZ1bmN0aW9uKCl7dmFyIHQsZSxpLG47dD1mdW5jdGlvbih0LGUpe3ZhciBpLG47bj17fTtuW3B1XT1beXUsZ3VdO25bX3VdPVt5dSx5dV07bltsdV09W2d1LGd1XTtuW2R1XT1bZ3UseXVdO2ZvcihpIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixpKSYmbltpXVswXT09PXQmJm5baV1bMV09PT1lKXtyZXR1cm4gaTt9cmV0dXJuIF91O307ZT1YYy5sdCgpO2k9dChHYy5tdC4kdC5uZXdUYWIsR2MubXQuJHQudW5kZXIpO249dCh0aGlzLm10LkF0LHRoaXMubXQuVHQpO2V8fG49PT1wdSYmKG49aSk9PT1wdSYmKG49bHUpO1hjLm90JiYobj09PV91JiYobj1kdSksbj09PXB1JiYobj1sdSkpO3RoaXMueXQ9bjt9LEh0OmZ1bmN0aW9uKCl7dmFyIGswLG4wLEYwO2lmKHR5cGVvZiB0aGlzLm10Lnh0PT09WnMpdHJ5e3JldHVybiB0aGlzLm10Lnh0W0NpXSh0aGlzLHRoaXMubXQpW1hzK0dyK2hdKCk7fWNhdGNoKHQpe3JldHVybiBLYy5lKHQpLHl1O31rMD0tMTAwMjA0NzAxMztuMD0tMTY1MTM4NjMwNztGMD0yO2Zvcih2YXIgTTA9MTt3NS5MMShNMC50b1N0cmluZygpLE0wLnRvU3RyaW5nKCkubGVuZ3RoLDY4NDExKSE9PWswO00wKyspe3JldHVybiB0aGlzLm10Lnh0O0YwKz0yO31pZih3NS5kMShGMC50b1N0cmluZygpLEYwLnRvU3RyaW5nKCkubGVuZ3RoLDkwOTM5KSE9PW4wKXtyZXR1cm4gdGhpcy5tdC54dDt9fSxMdDpmdW5jdGlvbigpe3ZhciB0LGUsRzcsQzcsazcsVjAsdTAseTA7dD10aGlzLm10O2U9dC5PdCE9PU5zJiZ0Lk90IT09TmV8fHQuT3Q9PT1OcyYmWGMub3R8fHQuT3Q9PT1OZSYmIVhjLm90O3RyeXtHNz0tMTkzODMwODU3MjtDNz0tMTE3NzY0NDk2NDtrNz0yO2Zvcih2YXIgRjc9MTt3NS5kMShGNy50b1N0cmluZygpLEY3LnRvU3RyaW5nKCkubGVuZ3RoLDg5NDI0KSE9PUc3O0Y3Kyspe3R5cGVvZiB0Lkx0PT09WnM/ZT1lJiZ0Lkx0W0NpXSh0aGlzLGUsdGhpcy5OdCgpKSE9PXl1OnR5cGVvZiB0Lkx0PT09YW4mJihlPWUmJnQuTHQpO2s3Kz0yO31pZih3NS5MMShrNy50b1N0cmluZygpLGs3LnRvU3RyaW5nKCkubGVuZ3RoLDUzNDE4KSE9PUM3KXstdC5MdCE9PVpzP2U9ZXx8dC5MdFtDaV0odGhpcyxlLHRoaXMuTnQoKSk9PT15dTohdC5MdD09YW58fChlPWV8fHQuTHQpO319Y2F0Y2godCl7S2MuZSh0KTt9VjA9Njg3MDAyMDA4O3UwPS0yOTc1OTkyODc7eTA9Mjtmb3IodmFyIHYwPTE7dzUuTDEodjAudG9TdHJpbmcoKSx2MC50b1N0cmluZygpLmxlbmd0aCw2NDU0MSkhPT1WMDt2MCsrKXtyZXR1cm4gR2MuSnQoKT9lfHwtdGhpcy5WdDplfHwrdHUuYyh0LmJ0KTt5MCs9Mjt9aWYodzUuTDEoeTAudG9TdHJpbmcoKSx5MC50b1N0cmluZygpLmxlbmd0aCwyOTMyNSkhPT11MCl7cmV0dXJuIEdjLkp0KCk/ZXx8LXRoaXMuVnQ6ZXx8K3R1LmModC5idCk7fXJldHVybiBHYy5KdCgpP2UmJiF0aGlzLlZ0OmUmJiF0dS5jKHQuYnQpO30sdnQ6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHI7dGhpcy5tdD1aYy55KHRoaXMuenQsdGhpcy5rdCx0aGlzLm10LHR8fHt9KTtmb3IoaSBpbiB0aGlzLm10KWlmKHlpW1h0XVtCYStHcitsdCtHcitvb11bQ2ldKHRoaXMubXQsaSkpc3dpdGNoKG49dGhpcy5tdFtpXSxpKXtjYXNlIHNvOnRoaXMubXQud3Q9bjticmVhaztjYXNlIHo6dGhpcy5tdC54dD1uO2JyZWFrO2Nhc2UgTGU6dGhpcy5tdC5PdD0obitHcilbWHMrR3IrdHMrR3IrbmNdKCk7YnJlYWs7Y2FzZSBOdCtHcittYzp0aGlzLm10LmJ0PW47YnJlYWs7Y2FzZSBOdCtHcitUOnRoaXMubXQuQ3Q9bjticmVhaztjYXNlIE50K0dyK2VhOnRoaXMubXQuRXQ9bjticmVhaztjYXNlIE50K0dyKyRzOnRoaXMubXQuUHQ9bjticmVhaztjYXNlIEVlOnRoaXMubXQuVHQ9bjticmVhaztjYXNlIEErR3IrTG86dGhpcy5tdC5BdD1uO2JyZWFrO2Nhc2UgcHQrR3IramU6dGhpcy5tdC5GdD1uO2JyZWFrO2Nhc2UgamErR3IramU6dGhpcy5tdC5TdD1uO2JyZWFrO2Nhc2UgSWMrR3IrY3I6dGhpcy5tdC5qdD1uO2JyZWFrO2Nhc2UgdGUrR3Irc3M6dGhpcy5tdC5MdD1uO31pZighWGMub3QmJiF0aGlzLm10LkF0KWZvcihyPVtbWGMuZyYmMTE9PT1YYy5wdCx0aGlzLlV0XSxbWGMuYiYmWGMucHQ8NDEsdGhpcy5JdF0sW1hjLmIsdGhpcy5CdF0sW1hjLmQmJlhjLnB0PDQ3LHRoaXMuTXRdLFtYYy51dCx0aGlzLkR0XSxbWGMuY3QsdGhpcy5SdF0sW1hjLmImJlhjLnB0Pj01OSx0aGlzLld0XSxbWGMudXQmJlhjLnB0Pj00Nix0aGlzLld0XV0sZT0wO2U8cltwaV07ZSsrKWlmKHJbZV1bMF0pZm9yKGkgaW4gcltlXVsxXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0ocltlXVsxXSxpKSYmKHRoaXMubXRbaV09cltlXVsxXVtpXSk7fX0sZ2V0T3B0aW9uczpmdW5jdGlvbigpe3JldHVybiB0aGlzLk50KCk7fSxOdDpmdW5jdGlvbigpe3ZhciB0LGU7ZT17fTtmb3IodCBpbiB0aGlzLm10KXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXSh0aGlzLm10LHQpJiZ0W3BpXT49MyYmKGVbdF09dGhpcy5tdFt0XSk7fXJldHVybiBlO30scXQ6ZnVuY3Rpb24oKXtHYy5KdCgpP3RoaXMuVnQ9Z3U6dHUuYSh0aGlzLm10LmJ0LDEsdGhpcy5tdC5DdCx0aGlzLm10LkV0LHRoaXMubXQuUHQpO319OyhudT1mdW5jdGlvbih0KXt2YXIgZTtlPXRoaXM7dGhpcy5RdD10O3RoaXMuR3Q9dGhpcy5ZdCgpO3RoaXMuS3Q9dGhpcy5adCgpO2l1LlgodGhpcy5HdCxncyxmdW5jdGlvbigpe0dzKGUuS3QpO1pjLlAoZS5HdCk7fSk7fSlbWHRdPXtZdDpmdW5jdGlvbigpe3ZhciB0LEs3LHI3LFE3O0s3PS0xODIwMzgxMDU7cjc9MTk5MDM1MjYxMTtRNz0yO2Zvcih2YXIgajc9MTt3NS5kMShqNy50b1N0cmluZygpLGo3LnRvU3RyaW5nKCkubGVuZ3RoLDg2ODQwKSE9PUs3O2o3Kyspe3Q9WmMueihoYyx7Y2xhc3M6ZnV9LEdyKTtyZXR1cm4gdGhpcy5RdFtTYytHcittY11bWHMrR3IrdHMrR3IrbmNdKCk9PT1Rcj9yaVtRcl1bSXQrR3IrV2VdKHQpOnRoaXMuUXRbX3QrR3IraV1bTmMrR3IrT3NdKHQsdGhpcy5RdFtWcytHcitrc10pLHQ7UTcrPTI7fWlmKHc1LkwxKFE3LnRvU3RyaW5nKCksUTcudG9TdHJpbmcoKS5sZW5ndGgsMzM0MykhPT1yNyl7dD1aYy56KGhjLHtjbGFzczpmdX0sR3IpO3JldHVybiB0aGlzLlF0W1NjKkdyL21jXVtYcypHci10cy1Hci1uY10oKT09UXI/cmlbUXJdW0l0L0dyL1dlXSh0KTp0aGlzLlF0W190L0dyJWldWyhOYy1HcikqT3NdKHQsdGhpcy5RdFsoVnMtR3IpJWtzXSksdDt9fSxadDpmdW5jdGlvbigpe3ZhciB0O3Q9dGhpcztyZXR1cm4gQ28oZnVuY3Rpb24oKXt2YXIgZSxpO2k9VWModC5RdFt4ZV1bc24rR3IrenNdLDEwKTt0LlF0W1NjK0dyK21jXVtYcytHcit0cytHcituY10oKT09PVFyJiYoaT05ZTkpOyhlPV9uK1Z0K2dvK2VyK0RhK1Z0K04rZXIrbG4rVnQraytlcitHcisoS2ErVnQrR3IpK3QuUXRbZnIrR3Ird2NdKyhobytlcitHcikrKG9jK1Z0K0dyKSt0LlF0W2ZyK0dyK2ddKyhobytlcitHcikrKEhpK1Z0K0dyKSt0LlF0W2ZyK0dyK1duXSsoaG8rZXIrR3IpKyhwK1Z0K0dyKSt0LlF0W2ZyK0dyK0NjXSsoaG8rZXIrR3IpKyhzbit3aStMK1Z0K0dyKSsocWMoaSk/MjppKzEpKSE9PXQuR3RbYWErR3IrR2ldKHhlKSYmdC5HdFtsaStHcitHaV0oeGUsZSk7fSwxNTApO319O251Llh0PWZ1bmN0aW9uKHQpe3ZhciBlO3c1Llk0KDEyKTtlPXc1LmM0KHJ1LExpLHdpLHdpLEdyLGllLEdyKTt0W2FhK0dyK0dpXShlKXx8dFthYStHcitHaV0obG8pPT09ZnV8fCh0W2xpK0dyK0dpXShlLDEpLG5ldyBudSh0KSk7fTsoUWM9e2R0OmZ1bmN0aW9uKCl7dmFyIHQsZTtlPXRoaXMuZWUoKTtmb3IodD0wO3Q8ZVtwaV07dCsrKWlmKGVbdF1bMV0oKT09PWd1KXtyZXR1cm4gZVt0XVswXTt9cmV0dXJuIHl1O30sZWU6ZnVuY3Rpb24oKXt2YXIgdDt0PVtdO3JldHVybiBYYy5vdHx8WGMuaXQ/W106KHRbTXJdKFt0aGlzLmllLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlhjLnB0Pj02NCYmWGMucHQ8Njc7fV0pLHRbTXJdKFt0aGlzLm5lLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubnQmJlhjLnB0Pj00MyYmWGMucHQ8NjQ7fV0pLHRbTXJdKFt0aGlzLnJlLGZ1bmN0aW9uKCl7dmFyIGI3LHE3LG03O2I3PS02MDMwNTI0OTU7cTc9LTQwNjg3OTgwNDttNz0yO2Zvcih2YXIgSTc9MTt3NS5MMShJNy50b1N0cmluZygpLEk3LnRvU3RyaW5nKCkubGVuZ3RoLDU1NDM5KSE9PWI3O0k3Kyspe3JldHVybiBYYy5ifHxaYy5ZKCl8fFhjLm18fFhjLnB0PD0xN3x8WGMucHQ+PTg5O203Kz0yO31pZih3NS5MMShtNy50b1N0cmluZygpLG03LnRvU3RyaW5nKCkubGVuZ3RoLDYyMDk0KSE9PXE3KXtyZXR1cm4gWGMuYnx8WmMuWSgpfHxYYy5tfHxYYy5wdDw9MTd8fFhjLnB0Pj04OTt9cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubSYmWGMucHQ+PTQ5JiZYYy5wdDw2NDt9XSksdFtNcl0oW3RoaXMub2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZDt9XSksdFtNcl0oW3RoaXMuc2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZyYmWGMucHQ+PTExO31dKSx0W01yXShbdGhpcy5hZSxmdW5jdGlvbigpe3JldHVybiBYYy5odDt9XSksdFtNcl0oW3RoaXMuY2UsZnVuY3Rpb24oKXt2YXIgVDAsRTAsbzA7VDA9MTIwNjMzNjEyMTtFMD0xMjk2MjQyMjUyO28wPTI7Zm9yKHZhciBwMD0xO3c1LmQxKHAwLnRvU3RyaW5nKCkscDAudG9TdHJpbmcoKS5sZW5ndGgsNDUyNzYpIT09VDA7cDArKyl7cmV0dXJuIFhjLnV0fHxYYy5udHx8WGMucHQ+PTc0O28wKz0yO31pZih3NS5MMShvMC50b1N0cmluZygpLG8wLnRvU3RyaW5nKCkubGVuZ3RoLDY1MzgpIT09RTApe3JldHVybiBYYy51dCYmWGMubnQmJlhjLnB0PD00ODt9fV0pLHQpO319KS50ZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMudGVbWHRdPXtfZTprdSx1ZTpmdW5jdGlvbih0KXt2YXIgcjUsUTUsZTU7cjU9LTk1ODI4OTMwMTtRNT0tNjIxNDQ4NDIyO2U1PTI7Zm9yKHZhciBaNT0xO3c1LmQxKFo1LnRvU3RyaW5nKCksWjUudG9TdHJpbmcoKS5sZW5ndGgsOTUyNjgpIT09cjU7WjUrKyl7dGhpcy5mZT10O2U1Kz0yO31pZih3NS5MMShlNS50b1N0cmluZygpLGU1LnRvU3RyaW5nKCkubGVuZ3RoLDE0MzU1KSE9PVE1KXt0aGlzLmZlPXQ7fX0sbGU6a3UscGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhO2k9dGhpcztuPWkuZmU7cj1uLkh0KCk7bz1uLm10O3M9by53dHx8WmMuJCg1KTthPVpjLmsobyk7aWYodD1mdW5jdGlvbigpe3RyeXtpZih0eXBlb2Ygby5GdD09PVpzJiZvLkZ0W0NpXShuLHIsbyk9PT15dSl7cmV0dXJuIHl1O319Y2F0Y2godCl7S2MuZSh0KTt9cmV0dXJuIG11O30sZT1mdW5jdGlvbih0KXtpZih0eXBlb2Ygby5TdD09PVpzKXRyeXtvLlN0W0NpXShuLHIsbyx0KTt9Y2F0Y2godCl7S2MuZSh0KTt9fSx0KCk9PT15dSl7cmV0dXJuIHl1O310eXBlb2Ygb1t6XT09PVRjJiZvW3pdIT09ciYmKHI9b1t6XSk7R2MuanQoby5qdCk7dGhpcy5fZSgpO3RyeXtyZXR1cm4gdGhpcy5sZShyLG8scyxhLGZ1bmN0aW9uKHQpe2kuZGUodCk7aS5oZSYmR2MuaGUoKTtlKHQpO30pO31jYXRjaCh0KXtyZXR1cm4gS2MuZSh0KSx5dTt9fSx2ZTpmdW5jdGlvbih0LGUsaSl7cmV0dXJuKEdjLm10LmJlP1pjLkM6QXUpKHQsZSxpKTt9LGRlOmt1LGhlOmd1fTtRYy5tZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMubWVbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTp5dSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3IodGhpcy52ZSh0LGksbikpO319KTtRYy5nZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuZ2VbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTohWGMub3QmJiFYYy5kLGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7cih0aGlzLnZlKHQsRmkpKTt9fSk7UWMueWU9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnllW1h0XT1aYy55KFFjLnRlW1h0XSx7a2U6ZnVuY3Rpb24oKXt2YXIgdCxlLGk7dD1HYy53ZSgpO2U9R2MueGUuUztpPXR5cGVvZiBHYy5tdC5PZT09PVpzP0djLm10Lk9lW0NpXSgpOkdjLm10Lk9lO3JldHVybiBmdW5jdGlvbigpe3ZhciBuLHI7cmV0dXJuIGkhPT1GdT9pOihuPVpjLiQoMSkscj1lP2k6R2MuQ2UodCl8fGksZXUucygpfHwhWGMub3QmJiFYYy5nP3I6KHR1LmEoY3UsbixtdSkscltaXSh2cixHcikrKEdyK3NlK0dyKStuKSk7fSgpO30sbGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgeDksejksaDksbyxzLGEsYyx1LGgsZixwO3g5PTE3MTA2NjI4Nzg7ejk9LTEwMzk3MjE3MTM7aDk9Mjtmb3IodmFyIEw5PTE7dzUuZDEoTDkudG9TdHJpbmcoKSxMOS50b1N0cmluZygpLmxlbmd0aCwzMDE4NykhPT14OTtMOSsrKXtoOSs9Mjt9aWYodzUuZDEoaDkudG9TdHJpbmcoKSxoOS50b1N0cmluZygpLmxlbmd0aCw0NTQ4MCkhPT16OSl7fWE9dGhpcy5rZSgpO2M9R2Mud2UoKTt1PVpjLk4oYyk7aD0xNTtmPVtdO3A9ZnVuY3Rpb24odCl7dmFyIGU7dHlwZW9mIHRbQW5dPT09WnMmJihlPXRbQW5dLGl1LlgodCxncyxlKSk7dFtBbl09ZnVuY3Rpb24oKXtyZXR1cm4geXU7fTt9O2ZvcihHYy5FZSgpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKSE9PUZpJiZaYy5mKGMsdW4pJiYocChjKSwwIT09Y1thYStHcitHaV0odW4pW0wrR3IrV2FdKEN0KSYmKGE9Y1thYStHcitHaV0odW4pKT09PUdyJiYoYT1GdSkpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKT09PUZpJiZaYy5mKGMsdW4pJiYocChjKSxpbyhmdW5jdGlvbigpe2NbQW5dPW11O30sM2UzKSxHYy5tdC5QZT9hPWNbYWErR3IrR2ldKHVuKTooYT1GdSxYYy5vdCYmKFhjLnV0P2ZbTXJdKGZ1bmN0aW9uKCl7QXUoY1thYStHcitHaV0odW4pLEZpKTt9KTppbyhmdW5jdGlvbigpe0F1KGNbYWErR3IrR2ldKHVuKSxGaSk7fSwyMCkpKSksWGMuZXQmJlhjLnV0fHxYYy5ldCYmWGMuc3QmJiFYYy5kJiYhWGMuYiYmIVhjLmh0PyhBdShhLEZpKSxaYy5IKEJyLGZ1bmN0aW9uKCl7WmMuVCh0KTt9LGgpKTohWGMub3QmJlpjLmgoYyxUaSkhPT1GaSYmKFhjLnV0JiZYYy5zdHx8WGMuaHQmJlhjLnB0PDEwfHxYYy5iJiZYYy5wdDw0MSk/WGMudXQ/KFpjLlEoYSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KFpjLlEodCksY1tTYytHcittY109PT1PbiYmdSYmWmMuVCh1KSk6WGMuZXQmJlhjLmQ/KG89QXUoYSxGaSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KG89eVtRYV0oVWErVnQrY2ksRmkpKT8ob1tFaV1bdW5dPWEsWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6bz1BdSh0LEZpKSxzPTA7czxmW3BpXTtzKyspe2Zbc11bQ2ldKCk7fW8mJnIobyk7fX0pO1FjLm9lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5vZVtYdF09WmMueShRYy50ZVtYdF0se2hlOnl1LGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG87bz10aGlzLnZlKHQsaSxuKTtvW2tuXSgpO1R1W2JvXSgpO1pjLk0obyk7aW8oZnVuY3Rpb24oKXtyKG8pO30sMWUzKTt9fSk7UWMuY2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLmNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZSh0LGksbik7cz1HYy5UZSgxZTMpO2l1LksoeSxibyxmdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9KTtvW2NjXT1mdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9O3Iobyk7fX0pO1FjLmFlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5hZVtYdF09WmMueShRYy50ZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIEQ5LFc5LGw5LG87RDk9MTk0OTIwNzgwOTtXOT04OTkwMjg0O2w5PTI7Zm9yKHZhciBWOT0xO3c1LkwxKFY5LnRvU3RyaW5nKCksVjkudG9TdHJpbmcoKS5sZW5ndGgsNTc4NTApIT09RDk7VjkrKyl7bDkrPTI7fWlmKHc1LkwxKGw5LnRvU3RyaW5nKCksbDkudG9TdHJpbmcoKS5sZW5ndGgsNTEwNjgpIT09Vzkpe315W3NvXT1aYy4kKDUpO289dGhpcy52ZSh0LGksbik7dGhpcy52ZShHcix5W3NvXSxHcik7eVtzb109bXU7cihvKTt9LGhlOnl1fSk7UWMuc2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZShQdT90OkZ1LGksbik7cz1mdW5jdGlvbigpe29bRWldW3VuXT10O307aXUuSyhvLGtuLHMpO29ba25dKCk7VHVbYm9dKCk7aW8ocywxMDApO3Iobyk7fSxoZTp5dX0pO1FjLm5lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5uZVtYdF09WmMueShRYy50ZVtYdF0se0ZlOmZ1bmN0aW9uKCl7dmFyIHQsZTtlPVpjLnooYXIse2RhdGE6WmMuTChlbitQZStNYyx0aGlzLkFlKStaYy4kKDMpfSk7cmV0dXJuKHQ9WmMueihoYyx7c3R5bGU6UGkrVnQrYStlcitvYytWdCtIcytlcitLYStWdCtIcytlcitEYStWdCtOK2VyK3ArVnQrRnIrSGErR3IrZXIrSGkrVnQrem4rZXIrayt3aStHYStWdCtYaStlciskbytWdCthK2VyK0dyfSkpW0l0K0dyK1dlXShlKSxbZSx0XTt9LFNlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMueSh0LHt9KTtyZXR1cm4gZVtwXT1lW0hpXT05ZTUsZVtvY109ZVtLYV09MSxlO30sQWU6THQrR3IrdGErR3IrRmMrR3IrUHMrR3Irb24rR3IrV2MrR3IreG8rR3IrJCtHcithaStHcituK0dyK1NhK0dyK0tyK0dyK1F0K0dyK2t0K0dyK3p0K0dyK3RjK0dyK1l0K0dyK3ZhK0dyK3MrR3IrdmErdWMraG4rR3IrTGErR3IrenQrR3IrVytHcitEYytHcitaYStHcittdCtHcitWaStHcitzYStHcitVZStHcitUYStHcit2YStHcitWaStHcitQcitHcit4bytHcitVZStHcitpYytHcitwbytHcitLcitHcitKK0dyK2hzK0dyK1ppK0dyK3ZhK0dyK1ByK0dyK0xhK0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrWGErR3IrVHMrR3IrWmkrR3IrdmErR3IrUHIrR3IrSGUrR3IrenQrR3IrVytHcitGYytHcit0YytHcityYytHcithZStHcit2aStHcit2YStHcitQcitHcitydCtHcitwcytHcittdCtHcituYStHcitUbytHcityZStHcit4bytHcit0YStHcitqaStHcitXK0dyK2F0K0dyK3ZhK0dyK1ByK0dyK2MrR3IrYit1YytFK0dyK1FvK0dyK3BzK0dyK2RjK0dyK1l0K0dyK3ZhK0dyK1lhK0dyK1hhK0dyK1RzK0dyK1ppK0dyK3ZhK0dyK0dlK0dyK09lK0dyK2dhK0dyK0hvK0dyK3ZhK0dyK1ByK0dyK2t0K0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrdmErR3Ircm4rdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitrdCtHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK09lK0dyK1krR3IrS3QrR3IreG8rR3IrVWUrR3IrYnMrR3IrRnQrR3IrUG8rR3IrRStHcitVZStHcitiaStHcitVZStHcitTZStHcitWcitHcitEcytHcit4bytHcitVZStHcitHbytHcit2YStHcitQdCtHcitVZStHcitScitHcit5YytHcitPZStHcitWbytHcitLcitHcit2YytHcitiZStHcitzK0dyK3hjK0dyK0tvK0dyK3IrR3IrYWkrR3IrZnQrdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitBZStHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK05hK0dyK1RzK0dyK010K0dyK2hyK0dyK1lzK0dyK0tzK0dyK0UrR3IrVWUrR3IrZm4rR3IrcmMrR3IrYWUrR3IrRCtHcitMdCtHcitWcitHcit0YStHcittdCtHcitacitHcitWcitHcitPZSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3ZhciBzLGEsYyx1LGg7dT10aGlzO2g9eXU7dHJ5eyhhPXRoaXMudmUoVWErVnQrY2ksRmkpKVttcl1bcnJdKHc1LnU0KHVyLEdyLEdyLGpvLFBlLHVpLEdyLFFyLEdyLFBlLG8sR3IsdWksdWksR3IsdXIsUGUsR3IsdXIsam8sR3IsdXIsbyx1aSxHcix1cixHcix1aSxRcix1cix1aSx3NS5ZNCgxMykpKTtpdS5LKGEscWEsZnVuY3Rpb24oKXtmdW5jdGlvbiBmKCl7bigpO2FbSW9dKCk7bygpO3JvKGMpO31ofHwoaD1ndSxzPWFbQmNdPUF1KFVhK1Z0K2NpLGksWmMuayh1LlNlKGUpKSksaXUuWChhLGJvLGYpLGM9aW8oZiwzZTMpLGFbbXJdW1FyXVtQYStHcithaStHcit4YytHcit6dCtHcitwYV09dS5GZSgpWzFdW1BuK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXSk7ZnVuY3Rpb24gbigpe3c1Llk0KDE0KTthW21yXVtRcl1bdzUudTQoUGEsenQsR3IsR3IsR3IseGMsR3IsYWkscGEpXT1Hcjt9ZnVuY3Rpb24gbygpe3ZhciBhMSxZMSxmMTthMT0tMTU2OTI3MTMyMDtZMT0yMzc1ODcyNDtmMT0yO2Zvcih2YXIgRDE9MTt3NS5MMShEMS50b1N0cmluZygpLEQxLnRvU3RyaW5nKCkubGVuZ3RoLDk0NDMyKSE9PWExO0QxKyspe3NbRWMlR3ItYmFdKGVbSGldLGVbcF0pO3NbZGElR3IqYmFdKGVbb2NdLGVbS2FdKTtzW0VpXVtaXSh0KTtyKHMpO2YxKz0yO31pZih3NS5kMShmMS50b1N0cmluZygpLGYxLnRvU3RyaW5nKCkubGVuZ3RoLDYyNDUzKSE9PVkxKXtzW0VjJUdyLWJhXShlW0hpXSxlW3BdKTtzW2RhJUdyKmJhXShlW29jXSxlW0thXSk7c1tFaV1bWl0odCk7cihzKTt9c1tFYytHcitiYV0oZVtIaV0sZVtwXSk7c1tkYStHcitiYV0oZVtvY10sZVtLYV0pO3NbRWldW1pdKHQpO3Iocyk7fX0pO31jYXRjaCh0KXt9fX0pO1FjLnJlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5yZVtYdF09WmMueShRYy5uZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG8scztzPVpjLk8oZ3UpO2l1LksoeSxibyxmdW5jdGlvbigpe1pjLlAocyk7b1tFaV1bWl0odCk7cihvKTt9KTt3NS5vNCg0KTtvPXRoaXMudmUodzUuYzQoVWEsVnQsY2kpLEZpKTtzW3RvK0dyK3lhXVttcl1bcnJdKHRoaXMuRmUoKVsxXVtQbitHcithaStHcit4YytHcit6dCtHcitwYV0pO319KTtRYy5pZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuaWVbWHRdPVpjLnkoUWMudGVbWHRdLHtMZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47aT10aGlzO249eXU7dzUubzQoNCk7ZT10aGlzLnZlKHc1LmM0KFVhLFZ0LGNpKSx0Lnd0fHxGaSx0LkJlfHxHcik7dC56ZSYmKGUmJmVbSW9dKCksbj1ndSk7IW4mJmUmJmlvKGZ1bmN0aW9uKCl7ZVtFaV1bdW5dPXQueHQ7dC5JZSYmaS5JZShlKTt9LDEwMCk7fSx1ZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47bj10aGlzO3RoaXMuamU9ZHJbTW5dKCk7dGhpcy5mZT10O2U9R2Mud2UoKTt3NS5vNCgxNSk7aT1aYy5CKGUsdzUuYzQoZ3QsR3IseGMsR3IsR3IsRmMseGMsR3IsZmMsR3IsVnIpKTsoZVtTYytHcittY109PT1PbiYmZVthYStHcitHaV0oanIpIT09RmkmJiFaYy5TKGUpfHxpJiYhWmMuUyhpKSkmJih0aGlzLmhlPWd1KTtpdS5YKHksSWUsZnVuY3Rpb24gdChlKXt0cnl7ZVtpZV0uamU9PT1uLmplJiZuLkxlKGVbaWVdKTtlW2llXS56ZSYmaXUuWih5LEllLHQpO31jYXRjaCh0KXt9fSk7fSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3RoaXMuSWU9cjt0aGlzLk1lKHtqZTp0aGlzLmplLEJlOm4sSWU6Z3UseHQ6dH0pO3RoaXMuTWUoe2plOnRoaXMuamUsemU6Z3UseHQ6VWErVnQrY2l9KTt9LGhlOnl1LE1lOmZ1bmN0aW9uKHQpe3lbSnQrR3IrWF0odCx5W0VpXVtSb10pO319KTtHYz17X2k6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5RaSgpK3RoaXMuSGkoKT5aYy5HKCk7fSxLaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm10LkplO30sSmU6ZnVuY3Rpb24oKXt2YXIgdDt0PVpjLngoYXJndW1lbnRzWzBdKT9hcmd1bWVudHNbMF06YXJndW1lbnRzO3JldHVybiB0aGlzLm5uKHQsUm4sdFtwaV0mJnRbMF09PT15dSk7fSxraTpmdW5jdGlvbih0LGUsaSxuKXt0aGlzLk9pKGksdCxndSl8fG4oZ3UseXUpO30sV2k6ZnVuY3Rpb24odCl7dHJ5e3JldHVybiB0W3F0XSYmMCE9PXRbcXRdfHx0aGlzLmNpLkcrMTUwPlpjLkcoKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LFJpOmZ1bmN0aW9uKCl7dGhpcy5XZT1bXTt9LFlpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQucWU7fSxVaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLldlO30sWmU6bXUsVGk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHx0aGlzLnFpKHQpKXtyZXR1cm4geXU7fWlmKCF0aGlzLm10LnFlW3BpXXx8dFthYStHcitHaV0obG8pPT09ZnUpe3JldHVybiBndTt9Zm9yKDtlPHRoaXMubXQucWVbcGldO2UrKylpZih0PT09dGhpcy5tdC5xZVtlXXx8dHlwZW9mIHRoaXMubXQucWVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5xZVtlXVtYcytHcitwcitHcituY10oKXx8WmMuSSh0LHRoaXMubXQucWVbZV0pKXx8WmMuQih0LHRoaXMubXQucWVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LHdlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueGUuUXQ7fSxMaTpmdW5jdGlvbigpe3ZhciB0LGU7ZT10aGlzO3RoaXMuWmU9WmMueihoYyx7c3R5bGU6b2MrVnQrRnIrSGErR3IrZXIrS2ErVnQrRnIrSGErR3IrZXIrRGErVnQrSXMrZXIrcCtWdCt6bitlcitIaStWdCt6bitlcitzbit3aStMK1Z0K25vK2VyK3h0K1Z0K1hpK2VyK0dyfSxHcik7dD1DbyhmdW5jdGlvbigpe3ZhciBpO2k9cmlbUXJdO2kmJihHcyh0KSxpW0l0K0dyK1dlXShlLlplKSk7fSwxMDApO30saGk6ZnVuY3Rpb24oKXt2YXIgTjksYTksWTksdCxlLGk7Tjk9LTUxNTA4MTc1NzthOT0tMTMwNjg1MTEzNztZOT0yO2Zvcih2YXIgczk9MTt3NS5kMShzOS50b1N0cmluZygpLHM5LnRvU3RyaW5nKCkubGVuZ3RoLDEwMDExKSE9PU45O3M5Kyspe1k5Kz0yO31pZih3NS5MMShZOS50b1N0cmluZygpLFk5LnRvU3RyaW5nKCkubGVuZ3RoLDQ1MzQ0KSE9PWE5KXt9aT10aGlzLlhlLm9pO2Zvcih0PTA7dDx0aGlzLmZpW3BpXSYmKCF0aGlzLnBpKCkmJiF0aGlzLl9pKCkpO3QrKyl7aWYoZT10aGlzLmZpW3RdLHRoaXMuWGUuc2krKyx0aGlzLlhlLm9pPVpjLkcoKSx0aGlzLmxpKGUpPT09eXUpe3JldHVybiB0aGlzLlhlLnNpLS0sdm9pZCh0aGlzLlhlLm9pPWkpO31pPXRoaXMuWGUub2k7ZXUuYShodSx0aGlzLlhlLm9pKTtlLnl0PT09bHUmJmV1LmEodXUsdGhpcy5YZS5zaSk7fX0sT2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBuLHIsbyxzO3c1Lm80KDQpO289dzUuYzQoR3IsVHQsR3IpO3c1Llk0KDIpO3M9dzUuYzQobyx0KTtmb3Iobj0wO248ZVtwaV07bisrKWlmKHI9KEdyK090K0dyK1R0K0dyKVtMK0dyK1dhXShlW25dWzBdKT4tMT9lW25dOm8rZVtuXSxzW2ZzXShzW3BpXS1yW3BpXSk9PT1yfHxpJiZyPT09d3Upe3JldHVybiBndTt9cmV0dXJuIHl1O30sZW46ZnVuY3Rpb24odCxlKXt2YXIgTDAsZDAsTzAsaSxuO0wwPTEyMjU5MjUxNjQ7ZDA9LTc2NDA0NzIyNjtPMD0yO2Zvcih2YXIgQzA9MTt3NS5MMShDMC50b1N0cmluZygpLEMwLnRvU3RyaW5nKCkubGVuZ3RoLDk4MzQ3KSE9PUwwO0MwKyspe08wKz0yO31pZih3NS5MMShPMC50b1N0cmluZygpLE8wLnRvU3RyaW5nKCkubGVuZ3RoLDg1NTk4KSE9PWQwKXt9aT10aGlzO249dGhpcy50bih0LGUpO3RoaXMuV2VbTXJdKG4pO3RoaXMuRGkobik7dGhpcy5pbnx8KEdjLkNpKCksZnVuY3Rpb24oKXt2YXIgdCxlO1hjLmImJigoZT1yaVtVcytHcitDbl0oaGMpKVtSYytHcitpdF0oVmEsZnVuY3Rpb24oKXtDdT1ndTt9KSxDdT1vNSx0PUNvKGZ1bmN0aW9uKCl7aWYoQ3U9eXUsIWkubXQuUmUpe2lmKHR5cGVvZiB5W3dzXSE9PWFyfHx0eXBlb2YgeVt3c11bT29dIT09WnMpe3JldHVybiBDdT1vNSx2b2lkIEdzKHQpO315W3dzXVtPb10oZSk7eVt3c11bTWldKCk7fX0sNTAwKSk7fSgpLHRoaXMuaW49bzUpO30sUGk6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuSmkoKSx0P3RoaXMuZmlbcGldOnRoaXMuZmlbcGldPjA7fSx2aTpmdW5jdGlvbigpe3ZhciB0LGU7dD1aYy5HKCk7ZT1aYy5HKGF1KTt3NS5ZNCgxNik7dGhpcy5YZS5yaT13NS5jNChlLHQsMzE1MzYwMDAwMDApO3RoaXMuWGUucmkmJih0aGlzLmxpPWt1KTt9LEJpOmZ1bmN0aW9uKCl7dmFyIHQ7dD1VYyhldS5jKGh1KSwxMCk7cWModCkmJih0PTApO3RoaXMuWGUub2k9dDt9LENlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMuTih0KTtyZXR1cm4gZSYmIXRoaXMubXQuTmUmJlpjLlModCk/eXU6ZTt9LGp0OmZ1bmN0aW9uKHQpe3ZhciBlLGksbjtlPXR5cGVvZiB0PT09Z2U/Z3U6ISF0O3c1Lm80KDIpO2k9dzUuYzQocnUsSSk7bj1yaVthYStHcitDbitHcitpaStHcit0bl0oaSk7ZT9ufHwobj1aYy56KERvLHtjb250ZW50OkljK3dpK2lhLG5hbWU6aWEsaWQ6aX0pLHJpW2FhK0dyK1JlK0dyK2lpK0dyK1JpK0dyK21jXShvKVswXVtJdCtHcitXZV0obikpOm4mJlpjLlAobik7fSxHaTpmdW5jdGlvbigpe3RoaXMuWGUuaWk9Z3U7dGhpcy5oaT1rdTt9LEp0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQuRGU7fSx5aTpmdW5jdGlvbih0LGUsaSxuLHIpe2Zvcih2YXIgbyxzPTA7czxlJiYobz10W3NdLCEoMT09PW4mJihyKGlbcytlXSx0W3NdKmlbc10rcysoaVtzXT4+cyszKSl8fHIoaVtzKzIqZV0sdFtzXSoodFswXSt0WzFdK3RbMl0pKyhpW3NdPDxzKSl8fHIoaVtzKzMqZV0sZHJbQWNdKHRbMF0qdFsxXSp0WzJdL28pK28rKGlbc10+PnMpKSl8fG48MSYmKHIoaVtzK2VdLHRbc10qaVtzXStzKXx8cihpW3MrMiplXSx0W3NdKih0WzBdK3RbMV0rdFsyXSkpfHxyKGlbcyszKmVdLGRyW0FjXSh0WzBdKnRbMV0qdFsyXS9vKStvKSkpKTtzKyspO30scWk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHwhdGhpcy5tdC5KZVtwaV0pe3JldHVybiB5dTt9Zm9yKDtlPHRoaXMubXQuSmVbcGldO2UrKylpZih0PT09dGhpcy5tdC5KZVtlXXx8dHlwZW9mIHRoaXMubXQuSmVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5KZVtlXXx8WmMuSSh0LHRoaXMubXQuSmVbZV0pKXx8WmMuQih0LHRoaXMubXQuSmVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LGNpOnt1aTp7fSxHOjB9LEhpOmZ1bmN0aW9uKCl7cmV0dXJuIFhjLm90P2RyW0JvXSh0aGlzLm10LlZlLDFlMyk6WGMuYnx8WGMuZ3x8WGMuY3R8fFhjLnV0JiYhWGMuZXQ/ZHJbQm9dKHRoaXMubXQuVmUsMjAwKTp0aGlzLm10LlZlO30sRWU6ZnVuY3Rpb24odCl7dmFyIGUsWjcsdDcsVTc7Wjc9LTEyNTc1NDEyNDI7dDc9MTMwMDY1ODcyMDtVNz0yO2Zvcih2YXIgejc9MTt3NS5MMSh6Ny50b1N0cmluZygpLHo3LnRvU3RyaW5nKCkubGVuZ3RoLDgzNTc3KSE9PVo3O3o3Kyspe2U9dHx8dGhpcy5jaS51aTtVNys9Mjt9aWYodzUuZDEoVTcudG9TdHJpbmcoKSxVNy50b1N0cmluZygpLmxlbmd0aCwzMDU1KSE9PXQ3KXtlPXQmJnRoaXMuY2kudWk7fXRyeXtlW01vK0dyK25pXSYmZVtNbytHcituaV0oKTtlW3FlK0dyK19zXSYmZVtxZStHcitfc10oKTt3NS5vNCg0KTtlW3c1LmM0KE5yLEdyLGNvKV09eXU7dzUubzQoNCk7ZVt3NS51NChtcyxHcixIcildPWd1O31jYXRjaCh0KXt9fSxpOmZ1bmN0aW9uKCl7dmFyIE8xLEcxLEMxO08xPS0xMzAyMzI0NTE3O0cxPTg4ODY0MDYzMDtDMT0yO2Zvcih2YXIgbjE9MTt3NS5kMShuMS50b1N0cmluZygpLG4xLnRvU3RyaW5nKCkubGVuZ3RoLDU5MTU1KSE9PU8xO24xKyspe3JldHVybiB0aGlzLm10LlVlfHx0aGlzLm10LkRlO0MxKz0yO31pZih3NS5MMShDMS50b1N0cmluZygpLEMxLnRvU3RyaW5nKCkubGVuZ3RoLDIzODAyKSE9PUcxKXtyZXR1cm4gdGhpcy5tdC5VZSYmdGhpcy5tdC5EZTt9fSxwaTpmdW5jdGlvbigpe3ZhciBoNyxpNyxMNztoNz0tMTUxMTEyMzE1NDtpNz0tMTY3MjAwNTI5NjtMNz0yO2Zvcih2YXIgTzc9MTt3NS5kMShPNy50b1N0cmluZygpLE83LnRvU3RyaW5nKCkubGVuZ3RoLDMyNTMzKSE9PWg3O083Kyspe3JldHVybiB0aGlzLiRpKCk8dGhpcy5tdC5IZTtMNys9Mjt9aWYodzUuTDEoTDcudG9TdHJpbmcoKSxMNy50b1N0cmluZygpLmxlbmd0aCwxOTk5KSE9PWk3KXtyZXR1cm4gdGhpcy4kaSgpPj10aGlzLm10LkhlO319LGdpOmZ1bmN0aW9uKHQsZSxpLG4scil7Zm9yKHZhciBvLHM9MDtzPGUmJihvPXRbc10sISgxPT09biYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzErKGlbc108PGlbc10lMTApLGlbZStzXSl8fHIob1trZStHcitucytHcitCaV0ob1twaV0tMSkqaVtzXSoyK3MrKGlbc10+PnMpLGlbMiplK3NdKXx8cihvW3BpXSppW3NdKjMrKGlbc108PHMpLGlbMyplK3NdKSl8fG48MSYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzEsaVtlK3NdKXx8cihvW2tlK0dyK25zK0dyK0JpXShvW3BpXS0xKSppW3NdKjIrcyxpWzIqZStzXSl8fHIob1twaV0qaVtzXSozLGlbMyplK3NdKSkpKTtzKyspO30sV2U6W10sdG46ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IFljKHRoaXMuV2VbcGldLHQsZSk7fSxBaTpmdW5jdGlvbih0KXt0aGlzLmNpLnVpPXQ7dGhpcy5jaS5HPVpjLkcoKTt9LGFpOltdLE1pOmZ1bmN0aW9uKHQpe3JldHVybiBudS5YdCh0KSx0aGlzO30sWmk6ZnVuY3Rpb24oKXtyZXR1cm4gWmMucChbW1RyLHRoaXMubXQuRGVdLFtvaSx0aGlzLm10LlVlXSxbd3QsdGhpcy5tdC5SZV0sW0xyK0dyK3plLHRoaXMubXQuT2VdLFtSbitHcitFbix0aGlzLm10Lk5lXSxbRHQsdGhpcy5tdC5IZV0sW2xjK0dyK2JhLHRoaXMubXQucWVdLFtSbitHcitiYSx0aGlzLm10LkplXSxbUW4sdGhpcy5tdC5WZV0sW3crR3IrVix0aGlzLm10LiRlXSxbdytHcitEbix0aGlzLm10LlFlXSxbcG4rR3IrdHIrR3IrTG4sdGhpcy5tdC5HZV0sW0JzK0dyK2wrR3IrU3MsdGhpcy5tdC4kdF0sW05zK0dyKyRyLHRoaXMubXQuWWVdLFtJYytHcitwYytHcitfaSx0aGlzLm10LmJlXSxbTHMrR3IrYnQsdGhpcy5tdC5LZV0sW0IrR3IrdmUrR3IrX28rR3IreW4rR3IrTG4sdGhpcy5tdC5QZV1dKTt9LFRlOmZ1bmN0aW9uKHQpe3ZhciBlLGk7aT1aYy5PKGd1KTtyZXR1cm4gZT1pW3RvK0dyK3lhXVttcl1bVXMrR3IrQ25dKGRlKSwwPT09eVtFaV1bdW5dW0wrR3IrV2FdKGorVnQrR3IpP2VbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPUdyKyhXcitZZStHcit3bitHcikrKGYrVHQrUytUdCthYStHcitaZStHcitRaStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKTplW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoV3IrWWUrR3Ird24rR3IpKyhZcitUdCtjYStHcitfZStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSxpW3RvK0dyK3lhXVttcl1bUXJdW0l0K0dyK1dlXShlKSx0eXBlb2YgdCE9PVd0JiZ0eXBlb2YgdCE9PWdlfHxpbyhmdW5jdGlvbigpe1pjLlAoaSk7fSx0fHw1MDApLGk7fSxOaTpmdW5jdGlvbigpe3ZhciBvMSx3MSxwMTtvMT0tMjExMjgyOTI0MDt3MT00MjIxODMwODI7cDE9Mjtmb3IodmFyIHEwPTE7dzUuZDEocTAudG9TdHJpbmcoKSxxMC50b1N0cmluZygpLmxlbmd0aCwzNTgxNCkhPT1vMTtxMCsrKXtmb3IodmFyIHQsZT02O2U8PXRoaXMuV2VbcGldO2UtLSl7dD10aGlzLldlW2VdO3R1LnUodC5tdC5idCk7fXRoaXMuWGUub2k9dGhpcy5YZS5zaT00O2V1LnUodXUpO2V1LnUoY3UpO2V1LnUoaHUpO3AxKz0yO31pZih3NS5MMShwMS50b1N0cmluZygpLHAxLnRvU3RyaW5nKCkubGVuZ3RoLDUxMjkxKSE9PXcxKXtmb3IodmFyIHQsZT0yO2U8dGhpcy5XZVtwaV07ZSsrKXt0PXRoaXMuV2VbZV07dHUudSh0Lm10LmJ0KTt9dGhpcy5YZS5vaT10aGlzLlhlLnNpPTM7ZXUudSh1dSk7ZXUudShjdSk7ZXUudShodSk7fWZvcih2YXIgdCxlPTA7ZTx0aGlzLldlW3BpXTtlKyspe3Q9dGhpcy5XZVtlXTt0dS51KHQubXQuYnQpO310aGlzLlhlLm9pPXRoaXMuWGUuc2k9MDtldS51KHV1KTtldS51KGN1KTtldS51KGh1KTt9LHppOmZ1bmN0aW9uKCl7dmFyIHQ7dD0wO3JldHVybiBldS5zKCk/KHQ9ZXUuYyh1dSksZXUudSh1dSkpOnR1LmModXUpJiYocmlbaWFdPT09UnRbdW5dfHx+UnRbdW5dW0wrR3IrV2FdKEdyK3NlK0dyK3R1LmMoY3UpKSkmJih0PXR1LmModXUpLGlvKGZ1bmN0aW9uKCl7dHUudSh1dSk7dHUudShjdSk7fSwzMDApKSx0PVVjKHQsMTApLHQ9cWModCk/MDp0LHRoaXMuWGUuc2k9dDt9LG10OntOZTpndSxLZTp5dSxKZTpbXSxWZTowLCR0OmJ1LCRlOltdLERlOnl1LE9lOkZ1LEhlOjk5OTksUmU6eXUscWU6W10sWWU6MTAsVWU6eXUsUWU6Z3UsUGU6eXUsYmU6eXUsR2U6Z3V9LCRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuWGUuc2k7fSxRaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLlhlLm9pO30sYmk6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhLGMsdSxuOSxGOSxnOTtzPXRoaXM7YT0wO2M9dGhpcy5YZTt1PWZ1bmN0aW9uKHQsZSl7dmFyIFA5LEo5LFg5O1A5PTMyNTI1NjI2O0o5PS05NTA1MjQwNDM7WDk9Mjtmb3IodmFyIFM5PTE7dzUuTDEoUzkudG9TdHJpbmcoKSxTOS50b1N0cmluZygpLmxlbmd0aCw0ODQ5MykhPT1QOTtTOSsrKXtyZXR1cm4gdD09PWV8fChjLm5pPWd1LHMubGk9a3UpLHQhPWU7WDkrPTI7fWlmKHc1LkwxKFg5LnRvU3RyaW5nKCksWDkudG9TdHJpbmcoKS5sZW5ndGgsNTM4MDApIT09Sjkpe3JldHVybiB0IT09ZSYmKGMubmk9Z3Uscy5saT1rdSksdCE9PWU7fX07aWYodHlwZW9mIHlbcnVdW2FyXSE9PWdlKXtjLm5pPW11O3Q9eVtydV1bYXJdW1huXSgpO2U9eVtydV1bYXJdW1huXSgpO2k9eVtydV1bYXJdW1huXSgpO249eVtydV1bYXJdW1huXSgpO3I9WmMuRigoeVtydV1bYXJdW1huXSgpfHx7c3JjOm51bGx9KVtYcl0pO289WmMuRih4dVtYcl0pO3RyeXtuOT0xNDUwNjEyMjI1O0Y5PS01NjY0Nzc2Nzc7Zzk9Mjtmb3IodmFyIFI5PTE7dzUuZDEoUjkudG9TdHJpbmcoKSxSOS50b1N0cmluZygpLmxlbmd0aCwyODY5NSkhPT1uOTtSOSsrKXthPXlbcnVdW2FyXVtYbl0oKSYmNztnOSs9Mjt9aWYodzUuZDEoZzkudG9TdHJpbmcoKSxnOS50b1N0cmluZygpLmxlbmd0aCwzODQzOCkhPT1GOSl7YT15W3J1XVthcl1bWG5dKCkmJjc7fWE9eVtydV1bYXJdW1huXSgpfHwwO31jYXRjaCh0KXt9YT1kcltCb10oMCxkcltrYV0oMSxhKSk7dGhpcy5taSh0LG8scix1KTt0aGlzLmdpKHQsdFtwaV0sZSxhLHUpO3RoaXMueWkoaSxpW3BpXSxuLGEsdSk7dGhpcy5raSh0LHRbcGldLFpjLkYoKSx1LHUpO3RoaXMud2koaSxaYy5HKCkpO2Mubmk9PT1tdSYmKGMubmk9eXUpO31jLnhpPWF8fDA7fSxFaTpmdW5jdGlvbih0LGUpe3ZhciBkOSxPOSxHOTtkOT04MzA2MTMyMTE7Tzk9MTQwNDM5MjY4MztHOT0yO2Zvcih2YXIgazk9MTt3NS5kMShrOS50b1N0cmluZygpLGs5LnRvU3RyaW5nKCkubGVuZ3RoLDE2MDEwKSE9PWQ5O2s5Kyspe3RoaXMueGUuUXQ9dDt0aGlzLnhlLlM9ZTtHOSs9Mjt9aWYodzUuZDEoRzkudG9TdHJpbmcoKSxHOS50b1N0cmluZygpLmxlbmd0aCw3Njg2OSkhPT1POSl7dGhpcy54ZS5RdD10O3RoaXMueGUuUz1lO319LFhpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbix1OSx5OSxIOTtuPXR8fHt9O2ZvcihlIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixlKSlzd2l0Y2godGhpcy5tdFtlXT1pPW5bZV0sZSl7Y2FzZSBUcjp0aGlzLm10LkRlPWk7YnJlYWs7Y2FzZSBvaTp0aGlzLm10LlVlPWk7YnJlYWs7Y2FzZSB3dDp0aGlzLm10LlJlPWk7YnJlYWs7Y2FzZSBMcitHcit6ZTp0aGlzLm10Lk9lPWk7YnJlYWs7Y2FzZSBSbitHcitFbjp0aGlzLm10Lk5lPWk7YnJlYWs7Y2FzZSBEdDp0aGlzLm10LkhlPWk7YnJlYWs7Y2FzZSBsYytHcitiYTp0aGlzLnFlW29hXSh0aGlzLGkpO2JyZWFrO2Nhc2UgUm4rR3IrYmE6dGhpcy5KZVtvYV0odGhpcyxpKTticmVhaztjYXNlIFFuOnRoaXMubXQuVmU9aTticmVhaztjYXNlIHcrR3IrVjp0aGlzLm10LiRlPWk7YnJlYWs7Y2FzZSB3K0dyK0RuOnRoaXMubXQuUWU9aTticmVhaztjYXNlIHBuK0dyK3RyK0dyK0xuOnRoaXMubXQuR2U9aTticmVhaztjYXNlIEJzK0dyK2wrR3IrU3M6dGhpcy5tdC4kdD1pO2JyZWFrO2Nhc2UgTnMrR3IrJHI6dGhpcy5tdC5ZZT1pO2JyZWFrO2Nhc2UgSWMrR3IrcGMrR3IrX2k6dGhpcy5tdC5iZT1pO2JyZWFrO2Nhc2UgTHMrR3IrYnQ6dGhpcy5tdC5LZT1pO2JyZWFrO2Nhc2UgQitHcit2ZStHcitfbytHcit5bitHcitMbjp0aGlzLm10LlBlPWk7fXU5PTE1MDY0OTg2ODA7eTk9NjExNzc3ODY1O0g5PTI7Zm9yKHZhciBUOT0xO3c1LkwxKFQ5LnRvU3RyaW5nKCksVDkudG9TdHJpbmcoKS5sZW5ndGgsNjMyMykhPT11OTtUOSsrKXtyZXR1cm4gdGhpcztIOSs9Mjt9aWYodzUuZDEoSDkudG9TdHJpbmcoKSxIOS50b1N0cmluZygpLmxlbmd0aCw2MzczOSkhPT15OSl7cmV0dXJuIHRoaXM7fX0saGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksZzcsTTcsUjc7Zzc9LTM5MDQ0MjA2O003PS0xNjI0Njc4MzI1O1I3PTI7Zm9yKHZhciBKNz0xO3c1LkwxKEo3LnRvU3RyaW5nKCksSjcudG9TdHJpbmcoKS5sZW5ndGgsNTI1MzkpIT09Zzc7SjcrKyl7ZT10aGlzLndlKCk7aT10aGlzLmNpLnVpO1I3Kz0yO31pZih3NS5MMShSNy50b1N0cmluZygpLFI3LnRvU3RyaW5nKCkubGVuZ3RoLDg0NzUzKSE9PU03KXtlPXRoaXMud2UoKTtpPXRoaXMuY2kudWk7fXRyeXsodD1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0oZ3MsZ3UsZ3UseSwxLGlbT2krR3IrVWVdLGlbT2krR3IreG9dLGlbSGMrR3IrVWVdLGlbSGMrR3IreG9dLHl1LHl1LHl1LHl1LDAsbXUpO3RbVW9dPWd1O2VbZ24rR3IrQ2FdKHQpO31jYXRjaCh0KXtLYy5lKHQpO319LFZpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuUGkobzUpO30sU2k6ZnVuY3Rpb24oKXt2YXIgdCxpLG4scixvLHM7cj10aGlzO289NTAwO3M9ZnVuY3Rpb24odCxlKXt2YXIgaSxuO249WGMuYj9lYzpnczsoaT1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0obixndSxndSx5LDEsZVtPaStHcitVZV0sZVtPaStHcit4b10sZVtIYytHcitVZV0sZVtIYytHcit4b10seXUseXUseXUseXUsMCxtdSk7aS5mYz1ndTt0W2duK0dyK0NhXShpKTt9O2l1LlgocmksJHQsZnVuY3Rpb24ocil7dmFyIG8sRjEsZzEsTTE7dzUubzQoNCk7bz1yW3c1LnU0KHNyLEdyLGUpXVswXTtGMT05NTkwNTM3NzY7ZzE9LTE3NzY2NDMwNTc7TTE9Mjtmb3IodmFyIFAxPTE7dzUuZDEoUDEudG9TdHJpbmcoKSxQMS50b1N0cmluZygpLmxlbmd0aCw4NTkzNCkhPT1GMTtQMSsrKXt3NS5vNCgxOCk7dD1yW3c1LnU0KG9zLEpzLEdyKV07dzUuWTQoMTkpO2k9b1t3NS51NChHcixmbyxVZSldO3c1Lm80KDIwKTtuPW9bdzUuYzQoeG8sZm8sR3IpXTtNMSs9Mjt9aWYodzUuTDEoTTEudG9TdHJpbmcoKSxNMS50b1N0cmluZygpLmxlbmd0aCwxMTM5OCkhPT1nMSl7dzUubzQoMjEpO3Q9clt3NS5jNChvcyxKcyxHcildO3c1Llk0KDIyKTtpPW9bdzUuYzQoR3IsVWUsZm8pXTt3NS5vNCg2KTtuPW9bdzUuYzQoR3IseG8sZm8pXTt9dzUubzQoNCk7dD1yW3c1LnU0KG9zLEdyLEpzKV07dzUuWTQoNCk7aT1vW3c1LmM0KGZvLEdyLFVlKV07dzUubzQoNCk7bj1vW3c1LnU0KGZvLEdyLHhvKV07fSxndSk7aXUuWChyaSx2LGZ1bmN0aW9uKGEpe3ZhciBjLHUsaCxTMCxOMCxhMDtTMD0xMTI5ODE1NDEyO04wPS00NTk2NDE3MTE7YTA9Mjtmb3IodmFyIGYwPTE7dzUuZDEoZjAudG9TdHJpbmcoKSxmMC50b1N0cmluZygpLmxlbmd0aCw5MDQxMCkhPT1TMDtmMCsrKXt3NS5vNCg0KTtjPWFbdzUuYzQoc3IsR3IsZSldWzBdO3U9aXUudHQoYSk7aD1yLm10LlllO2EwKz0yO31pZih3NS5MMShhMC50b1N0cmluZygpLGEwLnRvU3RyaW5nKCkubGVuZ3RoLDUxODk1KSE9PU4wKXt3NS5ZNCg2KTtjPWFbdzUudTQoR3IsZSxzcildWzRdO3U9aXUudHQoYSk7aD1yLm10LlllO31kcltGc10oY1tmbytHcitVZV0taSk+PWh8fGRyW0ZzXShjW2ZvK0dyK3hvXS1uKT49aHx8YVtvcytHcitKc10tdD5vfHxyLm10LlllPD0wfHxYYy5odCYmRGlbaXJdKHVbU2MrR3IrbWNdKXx8ci5YZS5paXx8ci5YZS5uaXx8ci5YZS5yaXx8ci5waSgpfHxyLl9pKCl8fCFyLlBpKCl8fCFyLlRpKHUpfHwhci5tdC5OZSYmWmMuUyh1KXx8KHVbU2MrR3IrbWNdPT09T24mJnIuRWUoYSkscyh1LGMpKTt9LGd1KTt9LG1pOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByLG87bz15dTtmb3Iocj0wO3I8dFtwaV07cisrKWlmKHRbcl09PT13dSl7bz1ndTticmVhazt9byYmKGV8fGkpJiYoIXRoaXMuT2koZSx0KXx8IXRoaXMuT2koaSx0KXx8eVtydV1bdW5dJiZ5W3J1XVt1bl1bcGldJiYhdGhpcy5PaShaYy5GKCkseVtydV1bdW5dKSkmJm4oZ3UseXUpO30seGU6e1F0Om11LFM6eXV9LHFlOmZ1bmN0aW9uKCl7dmFyIHQ7dD1aYy54KGFyZ3VtZW50c1swXSk/YXJndW1lbnRzWzBdOmFyZ3VtZW50cztyZXR1cm4gdGhpcy5ubih0LGxjLHRbcGldJiZ0WzBdPT09eXUpO30sd2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBXMSxsMSxjMTtXMT0xMTQ2NjMzOTY5O2wxPTU4MTgzMzU3NjtjMT0yO2Zvcih2YXIgdTE9MTt3NS5kMSh1MS50b1N0cmluZygpLHUxLnRvU3RyaW5nKCkubGVuZ3RoLDY5ODkxKSE9PVcxO3UxKyspe1pjLkcodFtOaV0oR3IrUGUrR3IpKTxlJiZpKGd1LHl1KTtjMSs9Mjt9aWYodzUuZDEoYzEudG9TdHJpbmcoKSxjMS50b1N0cmluZygpLmxlbmd0aCw0ODMyNikhPT1sMSl7WmMuRyh0W05pXShHciVQZSVHcikpPj1lfHxpKGd1LHl1KTt9fSxDaTpmdW5jdGlvbigpe3ZhciByLG8scyxhLGMsdSxoLGYscCxfO2Z1bmN0aW9uIHQoKXt2YXIgdCxlO3c1Lm80KDE3KTtlPVt3NS51NChIbixUdCxHcixFbixHcixDYSxKYSksdzUuYzQoeG4sVHQsR3IsRW4sR3IsQ2EsSmEsdzUubzQoMTcpKSx3NS5jNChKYSxUdCxRYSx3NS5ZNCg0KSksdzUuYzQoQ24sR3IsVXMsbXIsVHQsdzUubzQoMSkpLHc1LnU0KFdlLEdyLHhuLG1yLFR0LHc1Llk0KDEpKV07Zm9yKHQ9MDt0PGVbcGldO3QrKylpZihaYy5sKGVbdF0pKXtyZXR1cm4gS2MuZSh0LFpjLmwoZVt0XSkpLGd1O31yZXR1cm4geXU7fWZ1bmN0aW9uIGkoaSl7dT0yO198fChfPWd1LGlvKGZ1bmN0aW9uKCl7Xz15dTt9LFhjLm90PzUwMDoxNTApLEN1JiYhcC5VZXx8KHI9aXUudHQoaSksbz1aYy5CKHIsT24pLGM9WmMuUyhyKSxyW2FhK0dyK0dpXShsbyk9PT1mdT8oclt4ZV1beHRdPVhpLFpjLlAocikscj1pdS50dChpLGd1KSk6byYmKHM9KHI9bylbYWErR3IrR2ldKFRpKSxhPVpjLk4ociksYz1aYy5TKHIpKSxmLkVpKHIsYyksZi5YZS5paXx8Zi5YZS5uaXx8Zi5YZS5yaXx8aVtVb118fGUoZi5jaS51aVtPXSYmZi5jaS51aVtPXSE9PWlbT10pfHxlKHAuS2UmJiFFdSl8fGUoIWlbSGMrR3IrVWVdJiYhaVtIYytHcit4b10pfHxlKCFYYy5vdCYmIVhjLmcmJnR5cGVvZiBpW3F0XSE9PWdlJiYwIT09aVtxdF0pfHxlKCFYYy5vdCYmIWYuWmUmJihYYy5jdHx8WGMuYnx8WGMudXQpKXx8ZSghWGMub3QmJiFwLkdlJiYoWGMuYnx8WGMudXQpJiZzPT09RmkpfHxlKGYucGkoKSl8fGUoZi5faSgpKXx8ZSghZi5QaSgpKXx8ZSghZi5UaShyKSl8fGUoYyYmIXAuTmUpfHxlKCFwLlJlJiZ0KCkpfHwoZi5BaShpKSxYYy5ldCYmbyYmYSYmZi5FZShpKSxYYy5vdHx8IW98fGN8fChYYy5iJiZzIT09RmkmJlpjLlkoKXx8cC5HZSYmcz09PUZpJiYoWGMuYnx8WGMudXQpKSYmZi5FZShpKSxmLkZpPW11LGYuaGkoKSkpKTt9Zj10aGlzO3A9Zi5tdDtfPXl1O2Z1bmN0aW9uIGUodCl7cmV0dXJuKyt1LHQmJktjLmUodSksdDt9cC5SZXx8IXQoKT8oaD1YYy5kfHxYYy5nP3FhOmVjLGZ1bmN0aW9uKCl7aXUuWChyaSxncyxpLGd1KTtYYy5vdD8oaXUuWChyaSxlYyxuLGd1KSxpdS5YKHJpLHFhLG4sZ3UpKTppdS5YKHJpLGgsbixndSk7fSgpLHRoaXMuU2koKSx0aGlzLmppKCksdGhpcy5MaSgpLHRoaXMuemkoKSx0aGlzLkJpKCkpOktjLmUoeXUpO2Z1bmN0aW9uIG4odCl7cj1vPWM9cz1hPW11OyFYYy5vdCYmdFtIYytHcitVZV0rKFhjLm50PzE3OjE1KT55W1BhK0dyK2ddP3AuUWUmJigocj17fSkuc2Nyb2xsYmFyPWd1LGYuRWkocix5dSksZi5waSgpfHxmLl9pKCl8fCFmLlBpKCl8fGYuaGkoKSk6aSh0KTt9fSxsaTpmdW5jdGlvbih0KXtpZih0aGlzLlhlLmlpfHx0aGlzLlhlLm5pfHx0aGlzLlhlLnJpKXtyZXR1cm4geXU7fXN3aXRjaCh0Lnl0KXtjYXNlIF91Om5ldyBRYy5tZSh0KS5wZSgpO2JyZWFrO2Nhc2UgZHU6bmV3IFFjLmdlKHQpLnBlKCk7YnJlYWs7Y2FzZSBsdTpuZXcgUWMueWUodCkucGUoKTticmVhaztjYXNlIHB1OnRyeXtuZXcoUWMuZHQoKSkodCkucGUoKTt9Y2F0Y2godCl7S2MuZSh0KTt9fXJldHVybiB0LnF0KCksZ3U7fSxqaTpmdW5jdGlvbigpe3ZhciB0LGUsaSxuLHIsbztuPXRoaXM7cj17fTtvPWZ1bmN0aW9uKHQpe2ZvcihlPTA7ZTx0W3BpXTtlKyspe24uTWkodFtlXSk7fX07Q28oZnVuY3Rpb24oKXt2YXIgZTtmb3IodD0wO3Q8bi5tdC4kZVtwaV07dCsrKXtpZihlPW4ubXQuJGVbdF0sKGk9cmlbYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGUpKVtwaV0mJm4ucGkoKXx8IW4uUGkoKSl7cmV0dXJuO310eXBlb2YgcltlXSE9PWdlJiZyW2VdPT09aVtwaV18fG8oaSk7fX0sMWUzKTt9LElpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbixyLG8scyxlOSxqOSxaOTtvPTI7cz15dTtmb3IoZT0wO2U8PW87ZSsrKXtpZigobj1yaVt3citHcitqbitHcitMY10odFtIYytHcitVZV0rZSx0W0hjK0dyK3hvXSkpJiZuW1NjK0dyK21jXT09PXBhK0dyK09uK0dyK0ZjK0dyK1BzK0dyK3BhKXtzPWd1O2JyZWFrO31mb3IoaT0wO2k8PW87aSsrKWlmKChuPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXStlLHRbSGMrR3IreG9dK2kpKSYmbltTYytHcittY109PT1wYStHcitPbitHcitGYytHcitQcytHcitwYSl7cz1ndTticmVhazt9aWYocylicmVhazt9aWYocylmb3Iocz15dSxyPW5bYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGVpKSxlPTA7ZTxyW3BpXTtlKyspaWYoWmMuVShyW2VdKSl7cz1ndTticmVhazt9ZTk9MTI0NjQ2Mzc5O2o5PTE4ODY4MTA5NztaOT0yO2Zvcih2YXIgVTk9MTt3NS5MMShVOS50b1N0cmluZygpLFU5LnRvU3RyaW5nKCkubGVuZ3RoLDU5MDM1KSE9PWU5O1U5Kyspe3JldHVybiBzP246eXU7WjkrPTI7fWlmKHc1LmQxKFo5LnRvU3RyaW5nKCksWjkudG9TdHJpbmcoKS5sZW5ndGgsNDQ5MzkpIT09ajkpe3JldHVybiBzP246eXU7fX0sRGk6ZnVuY3Rpb24oKXtpZighdGhpcy5YZS5laSl7dGhpcy5YZS5laT1ndTt0cnl7dGhpcy52aSgpO3RoaXMuYmkoKTt9Y2F0Y2godCl7fUtjLmUoW3RoaXMuWGUubmk/MDoxLHRoaXMuWGUucmk/MDoxLHRoaXMuWGUueGldW05pXShHcikpO319LFhlOnt0aTp5dSxuaTpndSxlaTp5dSxvaTowLHJpOmd1LHNpOjAsaWk6eXV9LG5uOmZ1bmN0aW9uKHQsZSxpKXtmb3IodmFyIG4scj0wLG89ZT09PVJuP3RoaXMubXQuSmU6dGhpcy5tdC5xZTtpJiZvW3BpXTspe29bQnNdKCk7fWZvcig7cjx0W3BpXTtyKyspe3R5cGVvZihuPXRbcl0pPT09VGM/b1tNcl0obik6dHlwZW9mIG49PT1hciYmdHlwZW9mIG5bd2ErR3IrbWNdPT09VGMmJm9bTXJdKG4pO31yZXR1cm4gdGhpczt9LEppOmZ1bmN0aW9uKCl7dmFyIHkxLEgxLHYxLHQsZTt5MT0xNzAzNzYyNDUyO0gxPTEyMTk1OTkwMzk7djE9Mjtmb3IodmFyIEUxPTE7dzUuZDEoRTEudG9TdHJpbmcoKSxFMS50b1N0cmluZygpLmxlbmd0aCwzODk3NykhPT15MTtFMSsrKXtlPTY7Zm9yKHRoaXMuZmk9W107ZT49dGhpcy5XZVtwaV07ZS0tKXsodD10aGlzLldlW2VdKS5MdCgpfHx0aGlzLmZpW01yXSh0KTt9djErPTI7fWlmKHc1LmQxKHYxLnRvU3RyaW5nKCksdjEudG9TdHJpbmcoKS5sZW5ndGgsMjE2MzkpIT09SDEpe2U9MTtmb3IodGhpcy5maT1bXTtlPnRoaXMuV2VbcGldO2UrKyl7KHQ9dGhpcy5XZVtlXSkuTHQoKSYmdGhpcy5maVtNcl0odCk7fX1lPTA7Zm9yKHRoaXMuZmk9W107ZTx0aGlzLldlW3BpXTtlKyspeyh0PXRoaXMuV2VbZV0pLkx0KCkmJnRoaXMuZmlbTXJdKHQpO31yZXR1cm4gdGhpcy5maTt9LGRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2kudWk7fX07aXUuWCh5LFN0LGZ1bmN0aW9uKCl7dmFyIFg3LEI3LFM3O1g3PTIwMTA5MDA5MDY7Qjc9LTE2OTQwNjQ1NTI7Uzc9Mjtmb3IodmFyIGE3PTE7dzUuTDEoYTcudG9TdHJpbmcoKSxhNy50b1N0cmluZygpLmxlbmd0aCwxNDk3OSkhPT1YNzthNysrKXtFdT0hMTtTNys9Mjt9aWYodzUuZDEoUzcudG9TdHJpbmcoKSxTNy50b1N0cmluZygpLmxlbmd0aCw2MjI0OCkhPT1CNyl7RXU9IXt9O31FdT1vNTt9KTtpbyhmdW5jdGlvbigpe3c1Lm80KDE1KTtLYy5lKHc1LnU0KFNpLFllLEdyLFR0LFllLE0sR3IsWWUsUWUsT3QsQW8pKTt3NS5vNCg0KTtLYy5lKHc1LmM0KHhhLFZ0LEdyKSxvdSk7dzUuWTQoNCk7S2MuZSh3NS5jNChxaSxWdCxHciksc3UpO3c1Lm80KDQpO0tjLmUodzUudTQoRXMsVnQsR3IpLGF1KTt9LDEwKTt5W3J1XT15W3J1XXx8ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG87cj17fTtvPVpjLnAoW1trbytHcitSYStHcitudCxbR2MsR2MuaV1dLFtKbixzdV0sW0d0LG91XSxbWW8rR3IraXMsYXVdLFt6YSxbR2MsR2MuWGkscl1dLFthYStHcitJaSxbR2MsR2MuWmldXSxbYWErR3IrUStHcitiYSxbR2MsR2MuWWldXSxbYWErR3IrX28rR3IrYmEsW0djLEdjLktpXV0sW3crR3IrQ24sW0djLEdjLk1pXV0sW0huLFtHYyxHYy5lbixyXV0sW0duLFtHYyxHYy5oaSxyXV0sW2VzLFtHYyxHYy5HaSxyXV0sW2xjK0dyK2JhLFtHYyxHYy5xZSxyXV0sW1JuK0dyK2JhLFtHYyxHYy5KZSxyXV0sW2FhK0dyK2h0K0dyK0NuLFtHYyxHYy53ZV1dLFthYStHcitubitHcitabyxbR2MsR2MuJGldXSxbYWErR3IreWUrR3IrWm8sW0djLEdjLlZpXV0sW0JhK0dyK3llLFtHYyxHYy5QaV1dLFtrbytHcitkdCtHcitKZSxbR2MsR2MucGldXSxbYWErR3IrVXQrR3IramUrR3IrQmksW0djLEdjLlFpXV0sW2FhK0dyK1V0K0dyK0NhLFtHYyxHYy5kaV1dLFt6aSxbR2MsR2MuTmldXSxbYWErR3IrXyxbR2MsR2MuVWldXSxbRm8rR3IrXyxbR2MsR2MuUmldXSxbaGErVHQrT28sW0tjLEtjLmVdXSxbaGErVHQrRyxbS2MsS2Mucl1dLFtPYStUdCtsaSxbdHUsdHUuYV1dLFtPYStUdCthYSxbdHUsdHUuY11dLFtPYStUdCt4bixbdHUsdHUudV1dLFt0aStUdCtrbytHcitkaSxbZXUsZXUuc11dLFt0aStUdCtsaSxbZXUsZXUuYV1dLFt0aStUdCthYSxbZXUsZXUuY11dLFt0aStUdCt4bixbZXUsZXUudV1dLFtjZStUdCtKbixYYy5wdF0sW2NlK1R0K0lyK0dyK3FpLFhjLmZ0XSxbY2UrVHQra28rR3IrQ3MsWGMuaXRdLFtjZStUdCtrbytHcitYbyxYYy5udF0sW2NlK1R0K2tvK0dyK01hLFhjLm1dLFtjZStUdCtrbytHcit2YStHcitmYytHcit0YyxYYy5ldF0sW2NlK1R0K2tvK0dyK0JuLFhjLnJ0XSxbY2UrVHQra28rR3Irdm4sWGMub3RdLFtjZStUdCtrbytHcitoZSxYYy5zdF0sW2NlK1R0K2tvK0dyK3l0LFhjLmF0XSxbY2UrVHQra28rR3IrZ2MsWGMuYl0sW2NlK1R0K2tvK0dyK0luLFhjLmRdLFtjZStUdCtrbytHcitGYSxYYy5odF0sW2NlK1R0K2tvK0dyK3ZhK0dyK1BzLFhjLmddLFtjZStUdCtrbytHcitjcyxYYy5jdF0sW2NlK1R0K2tvK0dyK0VvLFhjLnV0XSxbY2UrVHQrSm4rR3IrdXQsW1hjLFhjLkpdXSxbY2UrVHQrYW8rR3IrZGksW1hjLFhjLmx0XV0sW0NhK1R0K2xjK0dyK3FzLFtpdSxpdS5LXV0sW0NhK1R0K2xjLFtpdSxpdS5YXV0sW0NhK1R0K2xhLFtpdSxpdS5aXV0sW0NhK1R0K2FhK0dyK3luLFtpdSxpdS50dF1dLFtLZStUdCtrbytHcit2ZStHciskZSxbWmMsWmMud11dLFtLZStUdCtKbitHcit1dCxbWmMsWmMuSl1dLFtLZStUdCtvcyxbWmMsWmMuR11dLFtLZStUdCt3byxbWmMsWmMueV1dLFtLZStUdCtKaSxbWmMsWmMuJF1dLFtLZStUdCtVcytHcitDbixbWmMsWmMuel1dLFtLZStUdCt4bitHcitDbixbWmMsWmMuUF1dLFtLZStUdCthYStHcitVaSxbWmMsWmMuQl1dLFtLZStUdCtEZStHcitZaSxbWmMsWmMuSF1dXSk7Zm9yKGUgaW4gbylpZih5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShvLGUpKXtmb3Iobj1lW0NyXShHcitUdCtHciksdD1yLGk9MDtpPG5bcGldLTE7aSsrKXt0eXBlb2YgdFtuW2ldXT09PWdlJiYodFtuW2ldXT17fSk7dD10W25baV1dO310W25bbltwaV0tMV1dPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIFpjLngodFtlXSk/MT09PXRbZV1bcGldP3RbZV1bMF06ZnVuY3Rpb24oKXtyZXR1cm4gMj09PXRbZV1bcGldP3RbZV1bMV1bb2FdKHRbZV1bMF0sYXJndW1lbnRzKToodFtlXVsxXVtvYV0odFtlXVswXSxhcmd1bWVudHMpLHRbZV1bMl0pO306dFtlXTt9KG8sZSk7fXJldHVybiByO30oKTt9KHQucG9wbnN8fHpjK0dyK1VjK0dyK09jLHQsdFtFaV0sdFtPaV0sdFttcl0sdFtyb10sdFtibl0sdFtObl0sdFtDb10sdFtyaStHcitpb10sdFtsaStHcitZaV0sdFtNaStHcitZaV0sdFtsaStHcitBaV0sdFtNaStHcitBaV0sdFtMdCtHcit0YytHcitmYytHcitndF0sdFt5K0dyK1J0XSx0W2tvK0dyK3lpK0dyK2d0XSx0W2lzXSx0W1hlK0dyK1ZyK0dyK0dzK0dyK3ZhK0dyK1VyXSx0W2RyXSk7fSh3aW5kb3cpO2Y1eXkuSD1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC55PT09J2Z1bmN0aW9uJz9mNXl5LkwueS5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwueTt9O2Y1eXkuVz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Y1eXkuZz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC5PPT09J2Z1bmN0aW9uJz9mNXl5LkwuTy5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwuTzt9O2Y1eXkuZj1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Z1bmN0aW9uIGY1eXkoKXt9ZjV5eS5CPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5MLnk9PT0nZnVuY3Rpb24nP2Y1eXkuTC55LmFwcGx5KGY1eXkuTCxhcmd1bWVudHMpOmY1eXkuTC55O307ZjV5eS5SPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5JPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5MPWZ1bmN0aW9uKEQpe3JldHVybnt5OmZ1bmN0aW9uKCl7dmFyIEcsZD1hcmd1bWVudHM7c3dpdGNoKEQpe2Nhc2UgMjpHPWRbMF0qZFsxXTticmVhaztjYXNlIDA6Rz1kWzBdfGRbMV07YnJlYWs7Y2FzZSAxOkc9ZFsxXS1kWzBdO2JyZWFrO31yZXR1cm4gRzt9LE86ZnVuY3Rpb24oVil7RD1WO319O30oKTtmNXl5Lno9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiBmNXl5LkwuTz09PSdmdW5jdGlvbic/ZjV5eS5MLk8uYXBwbHkoZjV5eS5MLGFyZ3VtZW50cyk6ZjV5eS5MLk87fTtmNXl5LkM9ZnVuY3Rpb24oKXt2YXIgUT0yO3doaWxlKFEhPT0xKXtzd2l0Y2goUSl7Y2FzZSAyOnJldHVybnt2OmZ1bmN0aW9uKFUpe3ZhciBiPTI7d2hpbGUoYiE9PTE0KXtzd2l0Y2goYil7Y2FzZSAyOnZhciBLPScnLGw9ZGVjb2RlVVJJKCJ0JTExa2JsYyU3RCUwNmhiZGxtbDYhJTNDJTNDKyU1QmNkLTo1JTVENyg4Jy8lNUJ3LzI4bWolM0M4KTA3YiolMUMyJTI1bSUwN3ElN0RvYmslMTh3JTdDc2RtaDcpKSUyMipaMmQlMTgtNUErKS5vbXMlMTUlMjUlM0UwKyU1QiUzQyUxMXUlMjA2TXk/KScsSy1kJTNFOSxLMi00OyUyMCUwNjojMCU3RDUlNUM6IzMya0s2IXU5Kks4JTIwNTo2JTVDcSUxRiUzRScsWC1sMCUyMDYlNUN5Ljh1KUc4KDgxZUolM0MqMiclMjAlMDg1JTI1JTNFMCslNUIlM0NsOyUzQylNcWIxOiZJNSIpO2I9MTticmVhaztjYXNlIDk6Sys9U3RyaW5nLmZyb21DaGFyQ29kZShsLmNoYXJDb2RlQXQoWSleVS5jaGFyQ29kZUF0KGspKTtiPTg7YnJlYWs7Y2FzZSAxOnZhciBZPTAsaz0wO2I9NTticmVhaztjYXNlIDU6Yj1ZPGwubGVuZ3RoPzQ6NzticmVhaztjYXNlIDM6az0wO2I9OTticmVhaztjYXNlIDg6WSsrLGsrKztiPTU7YnJlYWs7Y2FzZSA0OmI9az09PVUubGVuZ3RoPzM6OTticmVhaztjYXNlIDc6Sz1LLnNwbGl0KCcoJyk7cmV0dXJuIGZ1bmN0aW9uKFApe3ZhciBoPTI7d2hpbGUoaCE9PTEpe3N3aXRjaChoKXtjYXNlIDI6cmV0dXJuIEtbUF07YnJlYWs7fX19O2JyZWFrO319fSgnRShZTF1VJyl9O2JyZWFrO319fSgpOyFmdW5jdGlvbihlLG8sYyl7InVzZSBzdHJpY3QiO3ZhciBUPWY1eXk7dmFyIGksbix0O1QuZygwKTtpPVQuUihULkgoIjgiLDApKTtULnooMCk7bj1bVC5JKFQuSCgnXHgzMVx4MzAnLDApKSxULkkoKyI2IiksVC5SKCsnXHgzMVx4MzQnKSxULlIoKyIxMiIpLFQuUihULkgoIjUiLDAsVC5nKDApKSksVC5JKFQuQigwLCdceDMwJyxULnooMSkpKSxULlIoVC5CKCdceDMxXHgzMScsMCxULnooMCkpKSxULkkoKyIyIildO1QuZygyKTt0PVsrJ1x4MzJceDMwXHgzMVx4MzknLFQuQignXHUwMDM1JywxKSxULkgoJ1x4MzFceDM2JywwLFQuZygwKSldO3RyeXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yy5Mb2dnZXIubG9nKGksVC5SKCsnXHgzMScpLG4pO2MuTG9nZ2VyLmxvZyhpLFQuUigiNyItMCksdC5qb2luKFQuSSgnXHgzNCctMCkpKTt9LCsiNTAwIik7VC56KDEpO2Mub2JqZWN0PVtuLFsrIjM2MCIsNDk0LDM5MSwrIjMxMiIsVC5CKDAsIjMxMiIpLFQuSCgiMzY1IiwwLFQuZygwKSksKydceDM0XHgzMFx4MzQnLFQuSCgiMzAwIiwwLFQuZygwKSksKydceDMzXHgzNlx4MzBceDMwXHgzMScsVC5IKDAsJ1x4MzNceDM5XHgzNVx4MzJceDMyJyxULmcoMSkpLFQuQigiMTg3NzEiLDAsVC56KDApKSwrIjM0OTQ4IiwxNjU0MSwyOTU3MSwrJ1x4MzVceDMxXHgzN1x4MzFceDM5JywzMzkwOCxULkgoIjc4ODQwIiwwLFQuZygwKSksMTA1OTY0LCsnXHgzOFx4MzRceDM1XHgzNVx4MzUnLFQuSCgiNzI0MjYiLDAsVC5nKDApKSxULkgoJ1x4MzNceDMwXHgzNVx4MzlceDM5JywwLFQuZygwKSksVC5CKCdcdTAwMzRcdTAwMzFcdTAwMzZcdTAwMzJcdTAwMzYnLDAsVC5nKDApKSxULkIoMCwnXHUwMDM4XHUwMDM4XHUwMDMwXHUwMDM4XHUwMDM0JyxULnooMSkpLFQuSCgiNjU0MDkiLDEsVC5nKDIpKSwxNDQwMCxULkgoIjEyODQ0IiwxLFQueigyKSksKydceDM4XHgzNlx4MzBceDMyJyxULkgoJ1x4MzFceDMwXHgzOVx4MzJceDMwJywxLFQuZygyKSksMTM0MTYsVC5IKCdceDMyXHgzNFx4MzhceDMyXHgzMCcsMCxULmcoMCkpLFQuQignXHgzM1x4MzdceDM5XHgzN1x4MzYnLDAsVC56KDApKSwrJ1x4MzVceDMxXHg2NVx4MzMnXSx0LFtULkgoJ1x4MzNceDM2XHgzMicsMCxULmcoMCkpLDQ5NiwrJ1x4MzNceDM5XHgzOScsVC5IKDAsIjczMDkyMyIsVC5nKDEpKSwrJ1x1MDAzMlx1MDAzNVx1MDAzMVx1MDAzMicsVC5IKCI2Mzk4IiwwLFQueigwKSksVC5IKCdcdTAwMzRcdTAwMzFcdTAwMzFcdTAwMzlcdTAwMzFcdTAwMzJcdTAwMzInLDEsVC5nKDIpKSwrJ1x4MzFceDMxXHgzMVx4MzlceDMyJyxULkgoJ1x4MzNceDM0XHgzMlx4MzNceDM2JywwLFQueigwKSksMjQ2MSwzMjU1NywxMDIxMF0sby5jdXJyZW50U2NyaXB0LFQuSCgiMSIsMSxULmcoMikpXTt9Y2F0Y2gobyl7dm9pZCgnXHgzMCcqMSkhPT1lLmNvbnNvbGUmJmUuY29uc29sZS5sb2cmJkZ1bmN0aW9uLmFwcGx5LmNhbGwoZS5jb25zb2xlLmxvZyxlLmNvbnNvbGUsW1QuSSgnXHgzMVx4MzMnfDApXSk7fX0od2luZG93LGRvY3VtZW50LHdpbmRvd1t3aW5kb3cucG9wbnN8fGY1eXkuUigiMyItMCldKTt2YXIgXzB4MTM4Zj1bJ1x4NThceDQ4XHg2M1x4NzInLCdceDQ5XHg1NFx4NDVceDZmXHg2NFx4NDNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NmNceDUwXHg1NFx4NDVceDZmXHg1YVx4NTNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NzVceDUwXHg1OFx4NTFceDc1XHg2Mlx4NzlceDY3XHg2OVx4NjJceDUzXHg0OVx4NzBceDRmXHg3YVx4NTlceDY3XHg2Mlx4NjlceDM0XHg3OVx4NGNceDZkXHg3N1x4MzlceDQ5XHg2ZFx4NzNceDY5XHg0Y1x4NDdceDM0XHg3NVx4NGRceDY5XHgzNVx4NzdceDUwXHg1NFx4NDFceDczXHg2Mlx4NjlceDM0XHg3OVx4NGNceDZlXHg0NVx4MzlceDRkXHg0M1x4NzhceDc1XHg0Y1x4NmFceDQ5XHg3NVx4NjRceDdhXHgzMFx4NjlceDYxXHg2OVx4NDlceDczXHg2Mlx4NjlceDM1XHgzMVx4NTBceDUzXHg0OVx4MzNceDRmXHg2OVx4MzhceDc2XHg2M1x4NjlceDM1XHgzNFx4NGNceDZhXHg1NVx4NzZceDYxXHg0M1x4MzlceDY4XHg0Y1x4NzlceDQ5XHg3Mlx4NWFceDUzXHg3OFx4MzBceDRjXHg2ZFx4NDlceDc1XHg2MVx4NTNceDY4XHg3NVx4NGJceDUzXHg3OFx4NzVceDY2XHg1M1x4NzhceDc1XHg1MFx4NTdceDRkXHg2Zlx4NWFceDc5XHg2N1x4NmZceDY0XHg0M1x4MzVceDZiXHg0Y1x4NmVceDU5XHg2Zlx4NTFceDY5XHg0Mlx4NGZceDRiXHg0M1x4NDlceDZmXHg0ZVx4N2FceDM5XHgzOFx4NTNceDY5XHgzMVx4MzVceDRiXHg1NFx4NzBceDYzXHg1OFx4NDNceDM5XHg2M1x4NThceDQzXHgzOFx4NjlceDRiXHg1M1x4NzdceDY5XHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDRjXHg3OVx4NDlceDcwXHg1N1x4N2FceDQyXHg2NFx4NjZceDQ4XHg3N1x4NjlceDUzXHg3OVx4MzRceDMxXHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDQ5XHg2OVx4NmJceDc1XHg1NFx4NDNceDY3XHg3OFx4NGJceDQ4XHg1MVx4NzBceDY1XHg3YVx4NTlceDY3XHg2NFx4NDNceDM1XHg0ZVx4NGJceDQ0XHg0MVx4NzBceDRjXHg2Ylx4NjNceDZmXHg1M1x4NDNceDZjXHgzOVx4NGJceDUzXHgzNVx4NDJceDRiXHg0M1x4NDlceDY5XHg0Ylx4NTNceDZiXHg3MFx4NGZceDMzXHg2Zlx4NzVceDRlXHg0M1x4NjdceDY5XHg1MVx4NzlceDQ5XHg3M1x4NGRceDUzXHg2N1x4NzBceDY1XHgzMlx4NTVceDZmXHg2Mlx4NjlceDczXHg2OVx4NGNceDMyXHg1OVx4NzVceDRmXHg1M1x4NDlceDcwXHg0Y1x4NmFceDUxXHg2Zlx4NDlceDZiXHg1MVx4NjlceDRjXHg0NFx4NDVceDZmXHg0Ylx4NThceDc0XHg0N1x4NGJceDQ0XHg0NVx4NmZceDRiXHg1OFx4NzRceDZjXHg0Ylx4NDdceDM0XHg3Mlx4NDlceDY5XHgzOVx4N2FceDRjXHg2YVx4NmJceDY5XHg0Ylx4NThceDMwXHg3M1x4NTJceDUzXHg2Y1x4MzlceDRiXHg1OFx4MzBceDcwXHg2Nlx4NTNceDY4XHg0YVx4NGJceDU0XHg3M1x4M2QnLCdceDYzXHgzM1x4NDJceDczXHg2MVx4NThceDUxXHgzZCcsJ1x4NWFceDZlXHg0YVx4NzZceDYyXHg1NVx4NGVceDZmXHg1OVx4NThceDRhXHg0NFx4NjJceDMyXHg1Mlx4NmMnLCdceDY0XHg0N1x4MzlceDU0XHg2NFx4NDhceDRhXHg3MFx4NjJceDZkXHg2M1x4M2QnLCdceDYzXHg2ZFx4NTZceDc3XHg2Mlx4NDdceDQ2XHg2YVx4NWFceDUxXHgzZFx4M2QnXTsoZnVuY3Rpb24oXzB4MWI1OWFjLF8weDMwZDYwNSl7dmFyIF8weDQ0NTljOT1mdW5jdGlvbihfMHgxNDY4YWMpe3doaWxlKC0tXzB4MTQ2OGFjKXtfMHgxYjU5YWNbJ3B1c2gnXShfMHgxYjU5YWNbJ3NoaWZ0J10oKSk7fX07XzB4NDQ1OWM5KCsrXzB4MzBkNjA1KTt9KF8weDEzOGYsMHgxMGIpKTt2YXIgXzB4MTdjMT1mdW5jdGlvbihfMHgxOTc3ZGIsXzB4Yzc5ZjY5KXtfMHgxOTc3ZGI9XzB4MTk3N2RiLTB4MDt2YXIgXzB4MTYyZGYyPV8weDEzOGZbXzB4MTk3N2RiXTtpZihfMHgxN2MxWydPTXJTcXgnXT09PXVuZGVmaW5lZCl7KGZ1bmN0aW9uKCl7dmFyIF8weDI0NzE2Njt0cnl7dmFyIF8weDViZDYyOT1GdW5jdGlvbigncmV0dXJuXHgyMChmdW5jdGlvbigpXHgyMCcrJ3t9LmNvbnN0cnVjdG9yKFx4MjJyZXR1cm5ceDIwdGhpc1x4MjIpKFx4MjApJysnKTsnKTtfMHgyNDcxNjY9XzB4NWJkNjI5KCk7fWNhdGNoKF8weDMyOTViMCl7XzB4MjQ3MTY2PXdpbmRvdzt9dmFyIF8weDI4M2NlOT0nQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0nO18weDI0NzE2NlsnYXRvYiddfHwoXzB4MjQ3MTY2WydhdG9iJ109ZnVuY3Rpb24oXzB4MzQxYjE5KXt2YXIgXzB4MTQ0Zjk2PVN0cmluZyhfMHgzNDFiMTkpWydyZXBsYWNlJ10oLz0rJC8sJycpO2Zvcih2YXIgXzB4MjhhNzVlPTB4MCxfMHg1OWNiNWIsXzB4MWUwOTNkLF8weDUxZWZhNj0weDAsXzB4OTIyYWFjPScnO18weDFlMDkzZD1fMHgxNDRmOTZbJ2NoYXJBdCddKF8weDUxZWZhNisrKTt+XzB4MWUwOTNkJiYoXzB4NTljYjViPV8weDI4YTc1ZSUweDQ/XzB4NTljYjViKjB4NDArXzB4MWUwOTNkOl8weDFlMDkzZCxfMHgyOGE3NWUrKyUweDQpP18weDkyMmFhYys9U3RyaW5nWydmcm9tQ2hhckNvZGUnXSgweGZmJl8weDU5Y2I1Yj4+KC0weDIqXzB4MjhhNzVlJjB4NikpOjB4MCl7XzB4MWUwOTNkPV8weDI4M2NlOVsnaW5kZXhPZiddKF8weDFlMDkzZCk7fXJldHVybiBfMHg5MjJhYWM7fSk7fSgpKTtfMHgxN2MxWyd4anFrREYnXT1mdW5jdGlvbihfMHgzMzc3MTgpe3ZhciBfMHg1ZGRiMTU9YXRvYihfMHgzMzc3MTgpO3ZhciBfMHg1NjBiOTU9W107Zm9yKHZhciBfMHhjOTdmOTE9MHgwLF8weDQ0MTg3Mj1fMHg1ZGRiMTVbJ2xlbmd0aCddO18weGM5N2Y5MTxfMHg0NDE4NzI7XzB4Yzk3ZjkxKyspe18weDU2MGI5NSs9JyUnKygnMDAnK18weDVkZGIxNVsnY2hhckNvZGVBdCddKF8weGM5N2Y5MSlbJ3RvU3RyaW5nJ10oMHgxMCkpWydzbGljZSddKC0weDIpO31yZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KF8weDU2MGI5NSk7fTtfMHgxN2MxWydrRG1IU2snXT17fTtfMHgxN2MxWydPTXJTcXgnXT0hIVtdO312YXIgXzB4MzA2NDA1PV8weDE3YzFbJ2tEbUhTayddW18weDE5NzdkYl07aWYoXzB4MzA2NDA1PT09dW5kZWZpbmVkKXtfMHgxNjJkZjI9XzB4MTdjMVsneGpxa0RGJ10oXzB4MTYyZGYyKTtfMHgxN2MxWydrRG1IU2snXVtfMHgxOTc3ZGJdPV8weDE2MmRmMjt9ZWxzZXtfMHgxNjJkZjI9XzB4MzA2NDA1O31yZXR1cm4gXzB4MTYyZGYyO307ZXZhbChmdW5jdGlvbihfMHg0OWIyZTksXzB4MTA2OTM1LF8weDIyM2Q1NixfMHgyZmY2ZTksXzB4ZWQ3ZDI2LF8weDNiYzUwMCl7XzB4ZWQ3ZDI2PWZ1bmN0aW9uKF8weDI2YmI4Mil7cmV0dXJuKF8weDI2YmI4MjxfMHgxMDY5MzU/Jyc6XzB4ZWQ3ZDI2KHBhcnNlSW50KF8weDI2YmI4Mi9fMHgxMDY5MzUpKSkrKChfMHgyNmJiODI9XzB4MjZiYjgyJV8weDEwNjkzNSk+MHgyMz9TdHJpbmdbXzB4MTdjMSgnMHgwJyldKF8weDI2YmI4MisweDFkKTpfMHgyNmJiODJbXzB4MTdjMSgnMHgxJyldKDB4MjQpKTt9O2lmKCEnJ1tfMHgxN2MxKCcweDInKV0oL14vLFN0cmluZykpe3doaWxlKF8weDIyM2Q1Ni0tKXtfMHgzYmM1MDBbXzB4ZWQ3ZDI2KF8weDIyM2Q1NildPV8weDJmZjZlOVtfMHgyMjNkNTZdfHxfMHhlZDdkMjYoXzB4MjIzZDU2KTt9XzB4MmZmNmU5PVtmdW5jdGlvbihfMHgzMjA3ZjYpe3JldHVybiBfMHgzYmM1MDBbXzB4MzIwN2Y2XTt9XTtfMHhlZDdkMjY9ZnVuY3Rpb24oKXtyZXR1cm4gXzB4MTdjMSgnMHgzJyk7fTtfMHgyMjNkNTY9MHgxO307d2hpbGUoXzB4MjIzZDU2LS0pe2lmKF8weDJmZjZlOVtfMHgyMjNkNTZdKXtfMHg0OWIyZTk9XzB4NDliMmU5W18weDE3YzEoJzB4MicpXShuZXcgUmVnRXhwKCdceDVjXHg2MicrXzB4ZWQ3ZDI2KF8weDIyM2Q1NikrJ1x4NWNceDYyJywnXHg2NycpLF8weDJmZjZlOVtfMHgyMjNkNTZdKTt9fXJldHVybiBfMHg0OWIyZTk7fShfMHgxN2MxKCcweDQnKSwweDMyLDB4MzIsJ1x4N2NceDY2XHg3NVx4NmVceDYzXHg3NFx4NjlceDZmXHg2ZVx4N2NceDczXHg3NFx4NzlceDZjXHg2NVx4N2NceDczXHg3MFx4NmNceDY5XHg3NFx4N2NceDYxXHg2NFx4NjRceDQ1XHg3Nlx4NjVceDZlXHg3NFx4NGNceDY5XHg3M1x4NzRceDY1XHg2ZVx4NjVceDcyXHg3Y1x4NjNceDZmXHg2ZFx4N2NceDcyXHg2NVx4NzRceDc1XHg3Mlx4NmVceDdjXHg2OFx4NzRceDc0XHg3MFx4NzNceDdjXHg3Nlx4NjFceDcyXHg3Y1x4NzBceDZlXHg2N1x4N2NceDcwXHg3NFx4N2NceDYyXHg2Zlx4NjRceDc5XHg3Y1x4NjVceDZlXHg2M1x4NmZceDY0XHg2NVx4NTVceDUyXHg0OVx4NDNceDZmXHg2ZFx4NzBceDZmXHg2ZVx4NjVceDZlXHg3NFx4N2NceDcyXHg2NVx4NjZceDY1XHg3Mlx4NzJceDY1XHg3Mlx4N2NceDdjXHg3Y1x4NjJceDc0XHg2Zlx4NjFceDdjXHg3Nlx4MzFceDdjXHg2MVx4NzBceDcwXHg2NVx4NmVceDY0XHg0M1x4NjhceDY5XHg2Y1x4NjRceDdjXHg2ZVx4NmZceDZlXHg2NVx4N2NceDYxXHg2Mlx4NzNceDZmXHg2Y1x4NzVceDc0XHg2NVx4N2NceDcwXHg2Zlx4NzNceDY5XHg3NFx4NjlceDZmXHg2ZVx4N2NceDY5XHg2ZFx4NjdceDdjXHg3Y1x4NjNceDcyXHg2NVx4NjFceDc0XHg2NVx4NDVceDZjXHg2NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg3NFx4NmZceDcwXHg3Y1x4NmNceDY1XHg2Nlx4NzRceDdjXHg2MVx4NzBceDY5XHg3Y1x4N2NceDdjXHg3M1x4NzJceDYzXHg3Y1x4NzJceDY1XHg3MFx4NmNceDYxXHg2M1x4NjVceDdjXHg3MFx4NmZceDY5XHg2ZVx4NzRceDY1XHg3Mlx4NDVceDc2XHg2NVx4NmVceDc0XHg3M1x4N2NceDYzXHg2Y1x4NjlceDYzXHg2Ylx4NjFceDY5XHg2ZVx4NjVceDdjXHg2MVx4NzBceDcwXHg3Y1x4NzdceDY5XHg2ZVx4NjRceDZmXHg3N1x4N2NceDZhXHg2Zlx4NjlceDZlXHg3Y1x4NmVceDY1XHg3N1x4N2NceDQ0XHg0Zlx4NGRceDQzXHg2Zlx4NmVceDc0XHg2NVx4NmVceDc0XHg0Y1x4NmZceDYxXHg2NFx4NjVceDY0XHg3Y1x4NmNceDZmXHg2MVx4NjRceDdjXHgzNVx4NjVceDMzXHg3Y1x4NzNceDY1XHg3NFx4NTRceDY5XHg2ZFx4NjVceDZmXHg3NVx4NzRceDdjXHg3NFx4NmZceDUzXHg3NFx4NzJceDY5XHg2ZVx4NjdceDdjXHgzMVx4MzZceDdjXHg2NFx4NmZceDYzXHg3NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg2MVx4NmVceDY0XHg3Mlx4NmZceDY5XHg2NFx4N2NceDY0XHg2Zlx4NzRceDdjXHg2ZFx4NjFceDcwXHg3Y1x4NjNceDY4XHg2MVx4NzJceDQzXHg2Zlx4NjRceDY1XHg0MVx4NzRceDdjXHg1Mlx4NjVceDY3XHg0NVx4NzhceDcwJ1tfMHgxN2MxKCcweDUnKV0oJ1x4N2MnKSwweDAse30pKTsKO3ZhciBjSVBvcCA9IGZ1bmN0aW9uIGNJUG9wKHVybCkgewoJCWNQb3AuY29uZmlnKHsKCQkJY292ZXJUYWdzOiBbJ3ZpZGVvJywgJ2lmcmFtZSddLAoJCQl0YWJVbmRlcklnbm9yZVRhcmdldEJsYW5rOiB0cnVlLAoJCQlkZWxheTogMTAwCgkJfSk7CgkJY1BvcC5hZGQodXJsLCB7CgkJCW5ld1RhYjogdHJ1ZSwKCQkJdW5kZXI6IHRydWUsCgkJCWNvb2tpZUV4cGlyZXM6IDEwMH0pfTs=(Line 1)
Message:
[object HTMLDivElement]
console-api log URL: data:text/plain;base64,d2luZG93LnBvcG5zID0gJ2NQb3AnO3Y3R0cuYzQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmU0PT09J2Z1bmN0aW9uJz92N0dHLlo0LmU0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmU0O307djdHRy5pMT1mdW5jdGlvbigpe3ZhciBxMT1mdW5jdGlvbihJMSxLMSl7dmFyIEExPUsxJjB4ZmZmZjt2YXIgcjE9SzEtQTE7cmV0dXJuKHIxKkkxfDApKyhBMSpJMXwwKXwwO30sbTE9ZnVuY3Rpb24oajEsVTEsaDEpe3ZhciB4MT0weGNjOWUyZDUxLHoxPTB4MWI4NzM1OTM7dmFyIGUxPWgxO3ZhciB0MT1VMSZ+MHgzO2Zvcih2YXIgWjE9MDtaMTx0MTtaMSs9NCl7dmFyIFExPWoxLmNoYXJDb2RlQXQoWjEpJjB4ZmZ8KGoxLmNoYXJDb2RlQXQoWjErMSkmMHhmZik8PDh8KGoxLmNoYXJDb2RlQXQoWjErMikmMHhmZik8PDE2fChqMS5jaGFyQ29kZUF0KFoxKzMpJjB4ZmYpPDwyNDtRMT1xMShRMSx4MSk7UTE9KFExJjB4MWZmZmYpPDwxNXxRMT4+PjE3O1ExPXExKFExLHoxKTtlMV49UTE7ZTE9KGUxJjB4N2ZmZmYpPDwxM3xlMT4+PjE5O2UxPWUxKjUrMHhlNjU0NmI2NHwwO31RMT0wO3N3aXRjaChVMSU0KXtjYXNlIDM6UTE9KGoxLmNoYXJDb2RlQXQodDErMikmMHhmZik8PDE2O2Nhc2UgMjpRMXw9KGoxLmNoYXJDb2RlQXQodDErMSkmMHhmZik8PDg7Y2FzZSAxOlExfD1qMS5jaGFyQ29kZUF0KHQxKSYweGZmO1ExPXExKFExLHgxKTtRMT0oUTEmMHgxZmZmZik8PDE1fFExPj4+MTc7UTE9cTEoUTEsejEpO2UxXj1RMTt9ZTFePVUxO2UxXj1lMT4+PjE2O2UxPXExKGUxLDB4ODVlYmNhNmIpO2UxXj1lMT4+PjEzO2UxPXExKGUxLDB4YzJiMmFlMzUpO2UxXj1lMT4+PjE2O3JldHVybiBlMTt9O3JldHVybntiMTptMX07fSgpO3Y3R0cuRDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LkM2PT09J2Z1bmN0aW9uJz92N0dHLlo0LkM2LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LkM2O307djdHRy5MMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLlo2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5DNj09PSdmdW5jdGlvbic/djdHRy5nNi5DNi5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5DNjt9O3Y3R0cuWjQ9ZnVuY3Rpb24oQTQpe3JldHVybntlNDpmdW5jdGlvbigpe3ZhciBTNCxsND1hcmd1bWVudHM7c3dpdGNoKEE0KXtjYXNlIDI6UzQ9bDRbMF0rbDRbMV07YnJlYWs7Y2FzZSAyMjpTND1sNFsyXStsNFswXS1sNFsxXTticmVhaztjYXNlIDc6UzQ9bDRbNF0rbDRbMTBdK2w0WzExXStsNFszXSsobDRbNl0rbDRbMV0rbDRbNV0rbDRbOV0rbDRbMl0rbDRbMF0rbDRbOF0pK2w0WzddO2JyZWFrO2Nhc2UgNjpTND1sNFsyXS9sNFswXS9sNFsxXTticmVhaztjYXNlIDE3OlM0PWw0WzZdK2w0WzFdK2w0WzBdK2w0WzRdK2w0WzVdK2w0WzJdK2w0WzNdO2JyZWFrO2Nhc2UgMTpTND1sNFszXStsNFs0XStsNFsyXStsNFsxXStsNFswXTticmVhaztjYXNlIDM6UzQ9bDRbMV0rKGw0WzNdK2w0WzVdK2w0WzBdK2w0WzRdK2w0WzJdKTticmVhaztjYXNlIDExOlM0PWw0WzFdPGw0WzBdO2JyZWFrO2Nhc2UgOTpTND1sNFswXT4tbDRbMV07YnJlYWs7Y2FzZSA0OlM0PWw0WzBdK2w0WzFdK2w0WzJdO2JyZWFrO2Nhc2UgODpTND1sNFswXT09PWw0WzFdO2JyZWFrO2Nhc2UgMTQ6UzQ9bDRbMF0rbDRbNF0rbDRbN10rbDRbMl0rbDRbNV0rbDRbM10rbDRbMV0rbDRbNl0rbDRbOF07YnJlYWs7Y2FzZSAyMTpTND1sNFswXSVsNFsyXS1sNFsxXTticmVhaztjYXNlIDEyOlM0PWw0WzVdK2w0WzJdK2w0WzZdK2w0WzBdKyhsNFs0XStsNFszXStsNFsxXSk7YnJlYWs7Y2FzZSAxNjpTND1sNFswXStsNFsyXTxsNFsxXTticmVhaztjYXNlIDIwOlM0PWw0WzFdJWw0WzJdKmw0WzBdO2JyZWFrO2Nhc2UgNTpTND1sNFs1XSsobDRbMTNdK2w0WzNdK2w0WzddK2w0WzEyXStsNFs2XStsNFs0XStsNFsyXStsNFswXStsNFsxMF0rbDRbOF0rbDRbMTFdK2w0WzldK2w0WzFdKTticmVhaztjYXNlIDA6UzQ9bDRbOV0rbDRbOF0rbDRbMl0rbDRbMTNdK2w0WzNdK2w0WzRdK2w0WzFdK2w0WzBdK2w0WzddK2w0WzExXStsNFsxMF0rbDRbNl0rbDRbNV0rbDRbMTRdK2w0WzEyXTticmVhaztjYXNlIDE4OlM0PWw0WzBdKmw0WzJdJWw0WzFdO2JyZWFrO2Nhc2UgMTA6UzQ9LWw0WzBdPT09bDRbMV07YnJlYWs7Y2FzZSAxMzpTND1sNFsxNF0rbDRbMjddK2w0WzE5XStsNFswXStsNFsxMV0rbDRbNV0rbDRbMTBdK2w0WzI5XStsNFsyXStsNFsyM10rbDRbMjBdK2w0WzRdK2w0WzIyXStsNFsxOF0rbDRbMjRdK2w0WzEyXStsNFs3XStsNFsxNV0rbDRbNl0rbDRbMTNdK2w0WzE3XStsNFs5XStsNFsyOF0rbDRbMjFdK2w0WzFdK2w0WzMwXStsNFsyNl0rbDRbMTZdK2w0WzNdK2w0WzI1XStsNFs4XTticmVhaztjYXNlIDE5OlM0PWw0WzFdL2w0WzBdJWw0WzJdO2JyZWFrO2Nhc2UgMTU6UzQ9bDRbNV0rbDRbNF0rbDRbMTBdK2w0WzFdK2w0WzZdK2w0WzldK2w0WzJdK2w0WzddK2w0WzhdK2w0WzNdK2w0WzBdO2JyZWFrO31yZXR1cm4gUzQ7fSxzNDpmdW5jdGlvbihQNCl7QTQ9UDQ7fX07fSgpO3Y3R0cueDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy51ND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuZTQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuZTQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuZTQ7fTtmdW5jdGlvbiB2N0dHKCl7fXY3R0cuWTQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LnM0PT09J2Z1bmN0aW9uJz92N0dHLlo0LnM0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LnM0O307djdHRy5vND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuczQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuczQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuczQ7fTt2N0dHLmw2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuQjQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy5nNj1mdW5jdGlvbigpe3ZhciBzNj0yO3doaWxlKHM2IT09MSl7c3dpdGNoKHM2KXtjYXNlIDI6cmV0dXJue0M2OmZ1bmN0aW9uKHg2KXt2YXIgbTY9Mjt3aGlsZShtNiE9PTE0KXtzd2l0Y2gobTYpe2Nhc2UgNDptNj1JNj09PXg2Lmxlbmd0aD8zOjk7YnJlYWs7Y2FzZSAyOnZhciBQNj0nJyxVNj1kZWNvZGVVUkkoIjIjMUw3QTg4LEk1Vz84O1Y0WiUyMiUzRStHO0IlMjIpJTIwRyUwQUUlMjIkLFE/RTIyJTE0UChBMCMqRypLJjklM0MlNUQ/ViUzQz8sdDtHKCUzRTdNL1Y4Mj8lNUM0UTQtJTIwRyUxOEElMjI4N0skaTkoN0c3TTgyJTA1JTVDOE8/OCxaNUolMjUjJTNFJTVDJG4lMjUyJTdCRyxBJD87VjRabTIhTTVUKCQzVyUzRUgzKCxLP0k5OjdHaCUxNiglMUU3Xz9WMyUzRSxaNUolMjIpJTNDTSRJMyUzRTUlNUMkSjM0JkclMEJHO3U5JTVEJHooJTAwPSU1RT1BJDIhJTVDLlolM0UpOyU1RTJQKCUwOSUzRSU1QzdBODghRylQLyUyMDdHLE0lMjUlMjUwUDZNJTIyNSxqJEc6JTI1N1cuWjMlMjA3VD9KJTIyMiUxNUE2WiUxQSYsaz9FNSQ3JTVEJGswMj1fJTNDVzM4LG8lMjBaJTEzKyxuM0oyIyUyNUc5RTgvN1UkbicvKyUwQzBGZCU3QyUyMkc4TTgoLEk1TTg4N0skSiMhMCU1QyhaNS0lM0VVJH4oJTIwN18uWngyJlgoQzM4LHoyVjkhN0clM0VBJTIwJTI1MSU1QyRwLyUzQzdKJFclM0UjJ1UlM0VaJTIyLTVHJTAzJTE3KCUwNTVXNVYzMiUxMFA0QCglMTk1RyUwQVY5JTNDMyU1RTtQPyMlM0NHNVQzJTIyN0skSDkvM00zSzgyJTA1QTZHJTNDO2pHLk07KSx2NEczMiUxM1U2WjAlM0UzVD9aJTA1ISxLO0oyIz9HJTE4UiglMDU2RzBLPyUyMiwlNjAqWjsjJCU1QyRTPyUyMjZWLVoyJTI1IUk2RS8ybEclMUVLOy07VyRAMz85TTVUKCUwQSElNUUkUDcuJ1clM0VBJDIlMTMlNUUkRTQjJ00kVzUlM0U7SS5aJjkhUSRBJTIwKSUzQ00pWiUyMiUzRTNXKVQ3JTNFN1cuWiY4MVY0QyglMUYmVihFMSkseCRQNy4saT9WJi01JTVDJEk3NCxKL0YlMjU4JTIwRzZLNygsajlWPyUzQyZHJTEzSiUyMiklMjBPO0goJCUyMCU1QyUzQ1o4IyxaKEE3ODdHO1AlMjItMVEkSDklMjI1Ry9WOjIlMUZYLkwoLTBaJTNFQTArOlAwTzohJTNDVipVJD8mTCxTLjUoRyUxNVQzJTNFM0clMENFOjk3RyUxOEgoOSUzQyU1RD9WKCUwNSYlNUM3WiUxNCUzRT1OKUEkMiUxM1clM0VWOSUyNTZHOVEkJTNFN1cuWiUxNCUyMDNXMVoyKSRHNEslMjIyJTFFJTVDJTNDUCg/N1U/RyUyMiMlMjBHJTFEJTFEPy04TmJaPyUyMiUzQyU1QyhaNCUyMDNXMVolMDM1LCU1QyRzPyUyMix4LlolMTQ5MCU1QjZBKCg3WjVAMzIlMDJYKEE4OCxoL0EjKTZHdlolMDU4M1QqWiYtJTIwJTVDNFAoJDNKJFElMjUpJTIwRyhBJiUyMDNaP1olMDAyI0w/Vi8yJTNDJTVDLlM5JTNFOUcpTD8qJkcqVjk4PU0jVDMyPSU1QjBBNTgseSRKIyUyMCUzRUcuSyh+YiUwOGJaPyUyMiUyMkwuWjstJloyWiQpIU01VjMyO18oRTspLHU1UzMlM0UsJTdGalolMDQyJTA2UTtKJTNFMiUxRkc4USUyMjg9VyRvMjIlMTglMDkkcSQlMjAsaSRGMyo9Sz9aJTAwKSUyMEozSzgyJTA0TCRBOC0wVT9AKCUwMyxLP1czOCwlMTEkVjM/O0M/WiMlMjI2JTVDJTNDTTgpNkd6WiUyNSUzRTFHJTFEQSUyMjg3SyUwNSU3QiglMUM6WDRaPzIxVT9FJDIwWClBJTYweCwlNjAkQDMuJyU1RSRDMzgsUztSNz8xSzNUJTIyMjNNLlY/LidNP1coJTFGJkszSjEyLHU3WjgpJTI1RzVKNSUyMDtaMVolMTF1JTI1JTVEJCU3QyhjLFQzSTMyJTE0TDRHJTIyJTI1PVckVjM9JyU1QylQKCUxMHplc3glMjVmKWUpJTBFJTBBJTE3JTBFSnBKNzg7Tz8lMDQ1IzYlNUMlMDZXJTdDJTEwJTBGZSklMEUrMiUxRVA0US4yJTFFJTA5KkwyISwlNUQ/VyUyMiUzRT1AJE07MjZQKVQ3ODFRJE04PzdLLlo4IzYlNUMkajoyJTAxJTVDNkE1OD1LJCUxMiglMDg3JTVCL0MoJTE4MyU1RSlaJTE0JCwlNUU/SzojMVguTTklMjIsJTdDLEE4OCxYKlQ6NSwlNUQ7UDcycUclMEVFJCs3TSRnOSElMjJYKEEoaSwlN0Y2RTEyY0clMTlFJTI1KSwlNUQ1STclMjUlM0NHJTFCUSUyMiQ9SyRGOSgrRztAMjIlMERmJTNFQTAlMjUlM0MlNUMkcDcrLFQ/VyUyNS01JTVDJEk5OSElNUMvVCglMEElMjBWN1olMDYjO1cuWiUyMC0lMjBHJTBFSyMvOiU1QylaJTAyIywlN0QtUig2LFg4VzklMjAnTT9aJTA3Kyx4NEclM0UjJTIwRzNKMikqRy1BNCc7TSRWMyUyMDdYKUEoJTAxPUwpQSglMEEzVTZGNy85RyUwOVA3LzlHOUUlMjIvOkcqSyUyNTgsWjVKNS0mRyUxNiUxNSglMjA3Vz1QJTNFMiUyMCU1RCRUNyUzRSElNUMkaS8yOlAlM0VAMyUyMiwlMDhqJTE0KCUwQTtLP1olMTc2LFEuUCY/LGk/VjslMjUhSjNLODIlMDBQJGsmKSUzQyU1QyhaJTA3MiUzQ1Y0QSgvJ0spSyQyJTIyWD1BKCUzQypHJ1olMTgtPyU1QyRHJTNFLSUzQyU1RT9AKCUxOSZQNlcoPyZLM0oxMiUxMyU1RTglMTYoJTBEJFgzSDcuJTNFJTVDJGJkMiUxNSUwMDNFJTNDMiUxQl8oRTspLHo1SSYjJTNDJTVDNFAoJTBEPVokJTE5KCUwRCUyNUclMTZafiUxMCFFfiUwRCgvPVcuRTU4LH4kVjM/O0M7RjopLHguUCQlMjUwTC5BKCUwMT0lNUIzSDMyPUszQz8lMjIsWC9QJTNFIyUyMEc/JTVDMy8sdipBODIlMERNO1YxKSZHJTNDTS4pNkclMDVQPyE3Vi9QJTA5MiUxM1YkcSglMDg3XztROjgsdTtXJTIyMiUxQkclM0VBJTIyLTFRJHYlMjAyJTA4JTBCJHc1JTNFPVU2RjclM0UsJTdGKVolMDItMEc/JTVDJiUyNSUyMCU1QylaJTE0OyxQJTNFWiUxRiUyMjYlNUMlMjJaOyMwUDZBKCUwRStHJTBETTI4Okc3TyYyJTExViUzRUEoJTIyM1Q/WiUyNSUzQzdaM0I/KTZHKkUlMjIkLFo2TTUnLHElM0VMNzIwVS9WKCUxQyUyMFYqQSQ4K0c5SzgqOyU1RSRXMyUyMDRHJTA4TWY0LGgvWjAlMjA9VihaJTEzNCUyMkclMTVTODIlMTclNUQ9QSglMjUhRyUwRkoyKSUyMEclMUJDMyUyMiZHLiU1RCYpLHpjWmoyJTE0UChBMjIlMURJLk05JTIyIUclM0NROC8mUDVKKCUwNixNO0YjJTNDLEkoTTg4LCU3QyUyMlQ/JTNFN0okZzkjOVA/WiUwNSUyNTBVM0oxMiUyNUclMTVSMyUzRSUzRVgjWiUwMiUyNT8lNUM1USUyMjIlMUQlNUIwQTU4LFYvUDMlM0UscyxGZTIlMjVQJTNFUCUzRTIhVTNHMzIlMUNYJCUxNiglMUM4RyUxNk0yLyxYJGg/PyYlNUM0QSQyJTFGViUyME06JTIwM0clMUVFJTIyKSx2NEg5LTZHKUUwKSxMNEY/JTIyNkcuSyMvOiU1QzRAKCUwRTdfNVYzMjFVO1clMjUyJTAyVilNJTIyJTI1PVckJTYwKCUyNSUzQ1AuWiUxODIlMDlHOUs5JzslNUMkbicyJTBCVDVIKDg9SSRvKC86WChaJTA5LiUzRVg0TyglMjA9JTVFJEsmKSUzQ0clMTJaJTEzJTIwN1Q/SiUyMjIlMDAlNUM2QTc/N0cqSyY5JTNDJTVEP1YoJTNDPUkkdDo5NVA0WiUwNiMlMjJMNEAzJTNFLHMyRSglMTU/VmJaJTNFOD9VJHc3KjNLM1o5JTIyLHc1QDMyJTA1JTBDMUZkMjFVNVczMj9WL1czKD1ONFojPzclMTkpUCQlMjUxTSRnIyUzRSUyMCU1QzRQKC4zWjFDJCMnVyUzRVo7KSZYJFAzNCZHJTE5QzgyIVooQTMlMjIsJTFEJGEoJTBCa1ckbTEyayUwMGMlMURvdWtHKEEwKSUyMEs/VigpIVo7VDMyJTdGRztUJiklM0MlNUQkTDk/JkcqQSQlM0MzJTVFP1olMUYlMjImRyUwRkEoJTIyPUs/QiglMDQ7UztHPSUyNSUzQyU1RSRxJiUzQzdLJCUwRiglMTghSSRzYycsTTVRNSQhTTtWJTIyMiUzRVY5RToyJTAxJTVDNFc/ODtPP1psMiUxRiU1RSRzKHQsdzVQPyo7WjtQPyMlM0NHIVolMDQpNUc1SjQlMjAnSyRnKCUwMTdKKUUxKSxMJCUxNCY0LHgoVjc1LEkoQSUyMCklM0NNJHkoJTBGJTNFUDlPMygsWDhXKCUxQz9HblolMEYhPUAkVDklM0MnSSQlMEMlMDgwJTBFSnNaOTo3SyUzQ0g5OywlMDkkRzkhLF81RyM/LHE/TTEkJkclMEFLJjIlMUNVOU0oJTA2JTIyWiR0JTNDeSUzRSU1QjdaJTAyIyUyMkclM0NNJCksWCpUOiUyNTFYLk05JTIyLCU3RiRnOSUyMjVHJTE5TD8lMjA2RylUOiUyNSZHKEU4KCxKLkUlMjI5IUcpRyQjJTNFVThFJD8sdWolMTElM0UuLFo1UjMlM0UsTTVLOi4zSyRAMyUyMDNAJEsmOCFHJTNFTSUyMDIlMTdPP0olMjI/LHcwRzslMjAlMjUlNUQkcCglM0M2XyRBOyUzQyZAJGYoJTFFOiU1QiRKNzo7JTVFO1A5JTNFLE4oTSUyMiksbDAlMTAoJTI1NVc1VjMyJTExVi9KJTIyMjBWNUgzLSUzQ0clMEVNOyksejVKMCUyNTVHLkElMjU4Iik7bTY9MTticmVhaztjYXNlIDE6dmFyIEg2PTAsSTY9MDttNj01O2JyZWFrO2Nhc2UgOTpQNis9U3RyaW5nLmZyb21DaGFyQ29kZShVNi5jaGFyQ29kZUF0KEg2KV54Ni5jaGFyQ29kZUF0KEk2KSk7bTY9ODticmVhaztjYXNlIDU6bTY9SDY8VTYubGVuZ3RoPzQ6NzticmVhaztjYXNlIDc6UDY9UDYuc3BsaXQoJ34nKTtyZXR1cm4gZnVuY3Rpb24oaDYpe3ZhciBqNj0yO3doaWxlKGo2IT09MSl7c3dpdGNoKGo2KXtjYXNlIDI6cmV0dXJuIFA2W2g2XTticmVhazt9fX07YnJlYWs7Y2FzZSAzOkk2PTA7bTY9OTticmVhaztjYXNlIDg6SDYrKyxJNisrO202PTU7YnJlYWs7fX19KCdWTFI5WiQnKX07YnJlYWs7fX19KCk7djdHRy5kMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLmE2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuZjY9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLmc2LkM2PT09J2Z1bmN0aW9uJz92N0dHLmc2LkM2LmFwcGx5KHY3R0cuZzYsYXJndW1lbnRzKTp2N0dHLmc2LkM2O307djdHRy5yND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuQzY9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuQzYuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuQzY7fTshZnVuY3Rpb24odCl7dmFyIHc1PXY3R0c7dmFyIG81PSEwO3ZhciBlLGksbixyLG8scyxhLGMsdSxoLGYscCxfLGwsZCx2LGIsbSxnLHksayx3LHgsTyxDLEUsUCxULEEsRixTLGosTCx6LEIsSSxNLFcsRCxVLFIsTixILHEsSixWLCQsUSxHLFksSyxaLFgsdHQsZXQsaXQsbnQscnQsb3Qsc3QsYXQsY3QsdXQsaHQsZnQscHQsX3QsbHQsZHQsdnQsYnQsbXQsZ3QseXQsa3Qsd3QseHQsT3QsQ3QsRXQsUHQsVHQsQXQsRnQsU3QsanQsTHQsenQsQnQsSXQsTXQsV3QsRHQsVXQsUnQsTnQsSHQscXQsSnQsVnQsJHQsUXQsR3QsWXQsS3QsWnQsWHQsdGUsZWUsaWUsbmUscmUsb2Usc2UsYWUsY2UsdWUsaGUsZmUscGUsX2UsbGUsZGUsdmUsYmUsbWUsZ2UseWUsa2Usd2UseGUsT2UsQ2UsRWUsUGUsVGUsQWUsRmUsU2UsamUsTGUsemUsQmUsSWUsTWUsV2UsRGUsVWUsUmUsTmUsSGUscWUsSmUsVmUsJGUsUWUsR2UsWWUsS2UsWmUsWGUsdGksZWksaWksbmkscmksb2ksc2ksYWksY2ksdWksaGksZmkscGksX2ksbGksZGksdmksYmksbWksZ2kseWksa2ksd2kseGksT2ksQ2ksRWksUGksVGksQWksRmksU2ksamksTGksemksQmksSWksTWksV2ksRGksVWksUmksTmksSGkscWksSmksVmksJGksUWksR2ksWWksS2ksWmksWGksdG4sZW4sbm4scm4sb24sc24sYW4sY24sdW4saG4sZm4scG4sX24sbG4sZG4sdm4sYm4sbW4sZ24seW4sa24sd24seG4sT24sQ24sRW4sUG4sVG4sQW4sRm4sU24sam4sTG4sem4sQm4sSW4sTW4sV24sRG4sVW4sUm4sTm4sSG4scW4sSm4sVm4sJG4sUW4sR24sWW4sS24sWm4sWG4sdHIsZXIsaXIsbnIscnIsb3Isc3IsYXIsY3IsdXIsaHIsZnIscHIsX3IsbHIsZHIsdnIsYnIsbXIsZ3IseXIsa3Isd3IseHIsT3IsQ3IsRXIsUHIsVHIsQXIsRnIsU3IsanIsTHIsenIsQnIsSXIsTXIsV3IsRHIsVXIsUnIsTnIsSHIscXIsSnIsVnIsJHIsUXIsR3IsWXIsS3IsWnIsWHIsdG8sZW8saW8sbm8scm8sb28sc28sYW8sY28sdW8saG8sZm8scG8sX28sbG8sdm8sYm8sbW8sZ28seW8sa28sd28seG8sT28sQ28sRW8sUG8sVG8sQW8sRm8sU28sam8sTG8sem8sQm8sSW8sTW8sV28sRG8sVW8sUm8sTm8sSG8scW8sSm8sVm8sJG8sUW8sR28sWW8sS28sWm8sWG8sdHMsZXMsaXMsbnMscnMsb3Msc3MsYXMsY3MsdXMsaHMsZnMscHMsX3MsbHMsZHMsdnMsYnMsbXMsZ3MseXMsa3Msd3MseHMsT3MsQ3MsRXMsUHMsVHMsQXMsRnMsU3MsanMsTHMsenMsQnMsSXMsTXMsV3MsRHMsVXMsUnMsTnMsSHMscXMsSnMsVnMsJHMsUXMsR3MsWXMsS3MsWnMsWHMsdGEsZWEsaWEsbmEscmEsb2Esc2EsYWEsY2EsdWEsaGEsZmEscGEsX2EsbGEsZGEsdmEsYmEsbWEsZ2EseWEsa2Esd2EseGEsT2EsQ2EsRWEsUGEsVGEsQWEsRmEsU2EsamEsTGEsemEsQmEsSWEsTWEsV2EsRGEsVWEsUmEsTmEsSGEscWEsSmEsVmEsJGEsUWEsR2EsWWEsS2EsWmEsWGEsdGMsZWMsaWMsbmMscmMsb2Msc2MsYWMsY2MsdWMsaGMsZmMscGMsX2MsbGMsZGMsdmMsYmMsbWMsZ2MseWMsa2Msd2MseGMsT2MsQ2MsRWMsUGMsVGMsQWMsRmMsU2MsamMsTGMsemMsQmMsSWMsTWMsV2MsRGMsVWMsUmMsTmMsSGM7ZT13NS5mNigyMzQpO2k9dzUuWjYoMzk0KTtuPXc1Llo2KDM4OSk7cj13NS5mNig0NTYpO289dzUuWjYoNSk7cz13NS5aNig0NjEpO2E9dzUuWjYoMjU1KTtjPXc1Llo2KDg4KTt1PXc1Llo2KDE3OCk7aD13NS5mNigxODcpO2Y9dzUuZjYoNDgxKTtwPXc1LmY2KDM3Nik7Xz13NS5aNigyNDYpO2w9dzUuZjYoMjQ1KTtkPXc1Llo2KDE0OSk7dj13NS5aNigzNjUpO2I9dzUuWjYoNDgzKTttPXc1LmY2KDcyKTtnPXc1Llo2KDMxMyk7eT13NS5aNigyNTMpO2s9dzUuWjYoNTApO3c9dzUuZjYoNDY5KTt4PS9lZGdlLztPPXc1LmY2KDMzNCk7Qz13NS5aNigzMzMpO0U9dzUuWjYoNTMpO1A9dzUuWjYoMTcpO1Q9dzUuWjYoMzQzKTtBPXc1LmY2KDE5MCk7Rj0vZmlyZWZveHxmeGlvcy9pO1M9dzUuZjYoMjEyKTtqPXc1Llo2KDI1OSk7TD13NS5aNigyNDEpO3o9dzUuZjYoMTA5KTtCPXc1LmY2KDk3KTtJPXc1Llo2KDQxOCk7TT13NS5aNigzODgpO1c9dzUuWjYoNDM1KTtEPXc1LmY2KDM3NSk7VT13NS5aNigzNTgpO1I9dzUuZjYoMTcyKTtOPXc1LmY2KDIzOCk7SD13NS5aNig0ODcpO3E9dzUuWjYoMjIxKTtKPXc1LmY2KDIxMSk7Vj13NS5mNigyMTApOyQ9dzUuWjYoMTYyKTtRPXc1Llo2KDY0KTtHPXc1LmY2KDM0Mik7WT13NS5aNigxMjgpO0s9dzUuWjYoMjA4KTtaPXc1LmY2KDE0MSk7WD13NS5aNig0MzYpO3R0PXc1Llo2KDQ0MSk7ZXQ9dzUuWjYoMjgwKTtpdD13NS5mNigxNzcpO250PXc1Llo2KDEyKTtydD13NS5aNigyNzMpO290PXc1Llo2KDM1NSk7c3Q9L3dpbmRvd3MvO2F0PXc1Llo2KDI1OCk7Y3Q9Lyg/OmZ0cHxodHRwcz8pOlwvXC8oW15cL10rKS87dXQ9dzUuWjYoMjE4KTtodD13NS5mNig0NDIpO2Z0PXc1LmY2KDI2Myk7cHQ9dzUuWjYoMTY2KTtfdD13NS5aNigxMzgpO2x0PXc1Llo2KDMyOSk7ZHQ9dzUuWjYoNDEpO3Z0PXc1Llo2KDIwNyk7YnQ9dzUuWjYoMzYyKTttdD13NS5mNigxNjUpO2d0PXc1LmY2KDM3MSk7eXQ9dzUuWjYoMzYwKTtrdD13NS5aNigyMzkpO3d0PXc1LmY2KDM2Myk7eHQ9dzUuZjYoODIpO090PTk1MDI9PT0yNTAwPzB4MjE0Yzp3NS5mNigxNDgpO0N0PXc1LmY2KDE4NSk7RXQ9dzUuWjYoMTQ0KTtQdD13NS5mNigzMjApO1R0PXc1Llo2KDU1KTtBdD13NS5aNigzMTgpO0Z0PXc1Llo2KDE4OSk7U3Q9dzUuWjYoMTAxKTtqdD0vTVNJRVxzKyhbXGRcLl0rKS9pO0x0PXc1Llo2KDM0MCk7enQ9dzUuZjYoMTYwKTtCdD13NS5aNig0NDQpO0l0PXc1Llo2KDQxMyk7TXQ9dzUuZjYoNDU1KTtXdD13NS5mNig1MSk7RHQ9dzUuWjYoNDE1KTtVdD13NS5mNigyOTkpO1J0PXc1Llo2KDQxNik7TnQ9dzUuWjYoMzczKTtIdD13NS5aNig0MzApO3F0PXc1Llo2KDE2MSk7SnQ9dzUuZjYoMjQ4KTtWdD13NS5aNig0MjcpOyR0PXc1LmY2KDQyNCk7UXQ9dzUuZjYoMzUxKTtHdD13NS5aNigyOTApO1l0PXc1Llo2KDI4MSk7S3Q9dzUuWjYoMjk2KTtadD13NS5aNigyODYpO1h0PXc1LmY2KDE0Nik7dGU9dzUuWjYoNjApO2VlPXc1Llo2KDE0Myk7aWU9dzUuWjYoMjE1KTtuZT0vcmFkaW98Y2hlY2tib3gvaTtyZT13NS5mNigyNzUpO29lPXc1Llo2KDEyNCk7c2U9dzUuZjYoMjE2KTthZT13NS5aNigzMDIpO2NlPXc1LmY2KDExNyk7dWU9LzEyMDd8NjMxMHw2NTkwfDNnc298NHRocHw1MFsxLTZdaXw3NzBzfDgwMnN8YSB3YXxhYmFjfGFjKGVyfG9vfHNcLSl8YWkoa298cm4pfGFsKGF2fGNhfGNvKXxhbW9pfGFuKGV4fG55fHl3KXxhcHR1fGFyKGNofGdvKXxhcyh0ZXx1cyl8YXR0d3xhdShkaXxcLW18ciB8cyApfGF2YW58YmUoY2t8bGx8bnEpfGJpKGxifHJkKXxibChhY3xheil8YnIoZXx2KXd8YnVtYnxid1wtKG58dSl8YzU1XC98Y2FwaXxjY3dhfGNkbVwtfGNlbGx8Y2h0bXxjbGRjfGNtZFwtfGNvKG1wfG5kKXxjcmF3fGRhKGl0fGxsfG5nKXxkYnRlfGRjXC1zfGRldml8ZGljYXxkbW9ifGRvKGN8cClvfGRzKDEyfFwtZCl8ZWwoNDl8YWkpfGVtKGwyfHVsKXxlcihpY3xrMCl8ZXNsOHxleihbNC03XTB8b3N8d2F8emUpfGZldGN8Zmx5KFwtfF8pfGcxIHV8ZzU2MHxnZW5lfGdmXC01fGdcLW1vfGdvKFwud3xvZCl8Z3IoYWR8dW4pfGhhaWV8aGNpdHxoZFwtKG18cHx0KXxoZWlcLXxoaShwdHx0YSl8aHAoIGl8aXApfGhzXC1jfGh0KGMoXC18IHxffGF8Z3xwfHN8dCl8dHApfGh1KGF3fHRjKXxpXC0oMjB8Z298bWEpfGkyMzB8aWFjKCB8XC18XC8pfGlicm98aWRlYXxpZzAxfGlrb218aW0xa3xpbm5vfGlwYXF8aXJpc3xqYSh0fHYpYXxqYnJvfGplbXV8amlnc3xrZGRpfGtlaml8a2d0KCB8XC8pfGtsb258a3B0IHxrd2NcLXxreW8oY3xrKXxsZShub3x4aSl8bGcoIGd8XC8oa3xsfHUpfDUwfDU0fFwtW2Etd10pfGxpYnd8bHlueHxtMVwtd3xtM2dhfG01MFwvfG1hKHRlfHVpfHhvKXxtYygwMXwyMXxjYSl8bVwtY3J8bWUocmN8cmkpfG1pKG84fG9hfHRzKXxtbWVmfG1vKDAxfDAyfGJpfGRlfGRvfHQoXC18IHxvfHYpfHp6KXxtdCg1MHxwMXx2ICl8bXdicHxteXdhfG4xMFswLTJdfG4yMFsyLTNdfG4zMCgwfDIpfG41MCgwfDJ8NSl8bjcoMCgwfDEpfDEwKXxuZSgoY3xtKVwtfG9ufHRmfHdmfHdnfHd0KXxub2soNnxpKXxuenBofG8yaW18b3AodGl8d3YpfG9yYW58b3dnMXxwODAwfHBhbihhfGR8dCl8cGR4Z3xwZygxM3xcLShbMS04XXxjKSl8cGhpbHxwaXJlfHBsKGF5fHVjKXxwblwtMnxwbyhja3xydHxzZSl8cHJveHxwc2lvfHB0XC1nfHFhXC1hfHFjKDA3fDEyfDIxfDMyfDYwfFwtWzItN118aVwtKXxxdGVrfHIzODB8cjYwMHxyYWtzfHJpbTl8cm8odmV8em8pfHM1NVwvfHNhKGdlfG1hfG1tfG1zfG55fHZhKXxzYygwMXxoXC18b298cFwtKXxzZGtcL3xzZShjKFwtfDB8MSl8NDd8bWN8bmR8cmkpfHNnaFwtfHNoYXJ8c2llKFwtfG0pfHNrXC0wfHNsKDQ1fGlkKXxzbShhbHxhcnxiM3xpdHx0NSl8c28oZnR8bnkpfHNwKDAxfGhcLXx2XC18diApfHN5KDAxfG1iKXx0MigxOHw1MCl8dDYoMDB8MTB8MTgpfHRhKGd0fGxrKXx0Y2xcLXx0ZGdcLXx0ZWwoaXxtKXx0aW1cLXx0XC1tb3x0byhwbHxzaCl8dHMoNzB8bVwtfG0zfG01KXx0eFwtOXx1cChcLmJ8ZzF8c2kpfHV0c3R8djQwMHx2NzUwfHZlcml8dmkocmd8dGUpfHZrKDQwfDVbMC0zXXxcLXYpfHZtNDB8dm9kYXx2dWxjfHZ4KDUyfDUzfDYwfDYxfDcwfDgwfDgxfDgzfDg1fDk4KXx3M2MoXC18ICl8d2ViY3x3aGl0fHdpKGcgfG5jfG53KXx3bWxifHdvbnV8eDcwMHx5YXNcLXx5b3VyfHpldG98enRlXC0vaTtoZT13NS5aNigxNCk7ZmU9dzUuWjYoMjMpO3BlPXc1Llo2KDExMSk7X2U9dzUuWjYoMjYwKTtsZT0vbWFjaW50b3NoLztkZT13NS5mNig5MCk7dmU9dzUuZjYoMzMyKTtiZT13NS5mNigyMDApO21lPS9tb3ppbGxhLztnZT13NS5mNigxNzQpO3llPXc1LmY2KDEzNSk7a2U9dzUuZjYoMzc4KTt3ZT0vKD86XHcrKVwvKFtcZFwuXSspKD86JHxcc3xcL3xcKSkrL2k7eGU9dzUuWjYoMzQpO09lPXc1LmY2KDM3Nyk7Q2U9dzUuZjYoNDcyKTtFZT13NS5mNigxMTUpO1BlPXc1Llo2KDE5NCk7VGU9dzUuZjYoNDE0KTtBZT13NS5mNig2NSk7RmU9dzUuWjYoMTA3KTtTZT13NS5mNig0MDMpO2plPXc1LmY2KDI5Mik7TGU9dzUuWjYoNTgpO3plPXc1Llo2KDE2NCk7QmU9Lyg/Ok9QUnxPcGVyYXxPUGlPUylcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0llPXc1LmY2KDIyOSk7TWU9dzUuWjYoNDY3KTtXZT13NS5mNig0NjMpO0RlPXc1Llo2KDQzNyk7VWU9dzUuZjYoMTkzKTtSZT13NS5aNigzMyk7TmU9dzUuZjYoODUpO0hlPXc1LmY2KDQwOCk7cWU9dzUuZjYoMjApO0plPXc1Llo2KDk4KTtWZT13NS5mNigxMzYpOyRlPXc1LmY2KDI3Nyk7UWU9dzUuWjYoNyk7R2U9dzUuWjYoODYpO1llPXc1LmY2KDE3NSk7S2U9dzUuWjYoMjcxKTtaZT13NS5aNigzOTkpO1hlPXc1LmY2KDEzMyk7dGk9dzUuWjYoOTUpO2VpPXc1LmY2KDE1Mik7aWk9dzUuWjYoMzEyKTtuaT13NS5aNigyOTgpO3JpPXc1Llo2KDQzMyk7b2k9dzUuZjYoMTgzKTtzaT0vYW5kcm9pZHx3ZWJvc3xpcGhvbmV8aXBhZHxpcG9kfGJsYWNrYmVycnl8aWVtb2JpbGV8b3BlcmFccyttaW5pLzthaT13NS5aNigzODIpO2NpPXc1LmY2KDEyNyk7dWk9dzUuWjYoMzM2KTtoaT13NS5aNigyOTUpO2ZpPXc1Llo2KDMwNyk7cGk9dzUuZjYoMjUxKTtfaT13NS5mNig0MTkpO2xpPXc1LmY2KDMxKTtkaT13NS5aNigyNzQpO3ZpPXc1LmY2KDQ0Nik7Ymk9dzUuWjYoMTYzKTttaT13NS5mNig5NCk7Z2k9dzUuWjYoMjIwKTt5aT13NS5aNigzNTQpO2tpPXc1Llo2KDE4Nik7d2k9dzUuZjYoNDEyKTt4aT13NS5mNig0NDcpO09pPXc1Llo2KDQwNCk7Q2k9dzUuZjYoNTIpO0VpPXc1Llo2KDY4KTtQaT13NS5mNigzNSk7VGk9dzUuZjYoNTYpO0FpPXc1LmY2KDEwMyk7Rmk9dzUuWjYoMzc5KTtTaT13NS5mNig0NTEpO2ppPXc1Llo2KDQ3NSk7TGk9dzUuWjYoMjEpO3ppPXc1LmY2KDE3MSk7Qmk9dzUuZjYoMTMxKTtJaT13NS5mNig0ODgpO01pPXc1LmY2KDE4MCk7V2k9dzUuWjYoNDQ1KTtEaT0vYnV0dG9ufGlucHV0L2k7VWk9dzUuWjYoMTM0KTtSaT13NS5mNigyMjgpO05pPXc1LmY2KDc4KTtIaT13NS5aNig1NCk7cWk9dzUuWjYoMTY3KTtKaT13NS5mNig0NjUpO1ZpPXc1Llo2KDMzNSk7JGk9dzUuZjYoMTY5KTtRaT13NS5mNigzNjgpO0dpPXc1LmY2KDI4Nyk7WWk9dzUuWjYoMzQ4KTtLaT13NS5mNigzMDEpO1ppPXc1LmY2KDQ0KTtYaT13NS5mNigyNjQpO3RuPXc1LmY2KDc3KTtlbj13NS5mNig0NjApO25uPXc1LmY2KDMzNyk7cm49dzUuWjYoMTU3KTtvbj13NS5aNigzMjUpO3NuPXc1LmY2KDIzNyk7YW49dzUuZjYoNDg2KTtjbj13NS5mNigxNTUpO3VuPXc1Llo2KDEwNCk7aG49dzUuWjYoMzU2KTtmbj13NS5aNig0OCk7cG49dzUuZjYoMjQyKTtfbj13NS5mNig0MDApO2xuPXc1Llo2KDI2NSk7ZG49dzUuZjYoMjg0KTt2bj13NS5aNigyODgpO2JuPXc1LmY2KDQzOSk7bW49dzUuWjYoMzQxKTtnbj13NS5aNigyMDMpO3luPXc1LmY2KDIxNyk7a249dzUuWjYoMzIxKTt3bj13NS5mNig0MzIpO3huPXc1LmY2KDIyKTtPbj02NDc9PSg0OTguMjUsMjAwKT8oMS42OWUrMyw0NjkpOnc1LmY2KDk2KTtDbj13NS5mNigzODMpO0VuPXc1LmY2KDM1OSk7UG49dzUuWjYoMzUwKTtUbj0vXk9wZXJhXC8uKj9QcmVzdG9cLy4qP1ZlcnNpb25cLyhbXGRcLl0rKS9pO0FuPXc1Llo2KDE5MSk7Rm49dzUuZjYoNDQ4KTtTbj13NS5mNigyNDQpO2puPXc1Llo2KDIzMSk7TG49dzUuZjYoMTIwKTt6bj13NS5mNig0NTApO0JuPXc1Llo2KDExOCk7SW49dzUuZjYoNik7TW49dzUuWjYoNzUpO1duPXc1LmY2KDEyMyk7RG49dzUuWjYoMzA0KTtVbj0vcmVzZXR8YnV0dG9ufHN1Ym1pdC9pO1JuPXc1LmY2KDQ4NCk7Tm49dzUuZjYoMTk2KTtIbj13NS5mNigyMjYpO3FuPXc1LmY2KDM1Myk7Sm49dzUuWjYoMTgpO1ZuPXc1LmY2KDE2OCk7JG49dzUuZjYoMzE0KTtRbj13NS5aNig0NzEpO0duPXc1LmY2KDQ1OSk7WW49dzUuZjYoMzE3KTtLbj13NS5mNigyNDkpO1puPS9WZXJzaW9uXC8oW1xkXC5dKylccysobW9iaWxlXC9bXlxzXStccyspP1NhZmFyaS9pO1huPXc1LmY2KDE0NSk7dHI9dzUuWjYoMjQwKTtlcj13NS5mNigxOSk7aXI9dzUuWjYoNDg5KTtucj13NS5aNigyNzYpO3JyPXc1LmY2KDQ4Mik7b3I9dzUuZjYoNDY2KTtzcj13NS5aNigyNzApO2FyPXc1Llo2KDE0Nyk7Y3I9dzUuZjYoMjQpO3VyPXc1LmY2KDgzKTtocj13NS5aNigyNzkpO2ZyPXc1Llo2KDQzKTtwcj13NS5mNig0MjApO19yPXc1LmY2KDQ2Mik7bHI9L2Nocm9tZXxjcmlvcy87ZHI9dzUuWjYoNDExKTt2cj0vIy4qJC87YnI9dzUuZjYoMTU5KTttcj13NS5aNigwKTtncj0vKGNvbXBhdGlibGV8d2Via2l0KS87eXI9L0Z4aU9TXC8oW1xkXC5dKykvaTtrcj13NS5mNig1OSk7d3I9dzUuWjYoMzgpO3hyPXc1LmY2KDE5OCk7T3I9dzUuZjYoMTApO0NyPXc1LmY2KDQ2NCk7RXI9dzUuWjYoMTE2KTtQcj13NS5mNigzNjkpO1RyPXc1LmY2KDEyMSk7QXI9L21zaWV8dHJpZGVudFwvLztGcj13NS5mNigyNTYpO1NyPXc1LmY2KDQ3MCk7anI9dzUuZjYoMjkzKTtMcj13NS5mNig4Nyk7enI9L2Nocm9tZXxvcGVyYXxlZGdlfGNyaW9zfG9waW9zfGZ4aW9zfHVjL2k7QnI9dzUuWjYoMjUyKTtJcj13NS5aNigxMDgpO01yPXc1LmY2KDkxKTtXcj13NS5mNigyKTtEcj13NS5mNigyNjgpO1VyPXc1Llo2KDI3OCk7UnI9dzUuWjYoMzI2KTtOcj13NS5mNig5KTtIcj13NS5mNigxMzIpO3FyPXc1Llo2KDMyNCk7SnI9LyhhbmRyb2lkfGJiXGQrfG1lZWdvKS4rbW9iaWxlfGF2YW50Z298YmFkYVwvfGJsYWNrYmVycnl8YmxhemVyfGNvbXBhbHxlbGFpbmV8ZmVubmVjfGhpcHRvcHxpZW1vYmlsZXxpcChob25lfG9kKXxpcGFkfGlyaXN8a2luZGxlfEFuZHJvaWR8U2lsa3xsZ2UgfG1hZW1vfG1pZHB8bW1wfG5ldGZyb250fG9wZXJhIG0ob2J8aW4paXxwYWxtKCBvcyk/fHBob25lfHAoaXhpfHJlKVwvfHBsdWNrZXJ8cG9ja2V0fHBzcHxzZXJpZXMoNHw2KTB8c3ltYmlhbnx0cmVvfHVwXC4oYnJvd3NlcnxsaW5rKXx2b2RhZm9uZXx3YXB8d2luZG93cyAoY2V8cGhvbmUpfHhkYXx4aWluby9pO1ZyPSgyNDk2LDg0OTUpIT05NzY/dzUuZjYoMjk3KTohITA7JHI9dzUuWjYoNDI2KTtRcj13NS5mNigyMjUpO0dyPXc1LmY2KDE4OCk7WXI9dzUuZjYoNDMxKTtLcj13NS5mNigyNTApO1pyPXc1Llo2KDI2MSk7WHI9dzUuZjYoMTc2KTt0bz13NS5mNigyNSk7ZW89dzUuWjYoMTk1KTtpbz13NS5mNigzMjgpO25vPXc1Llo2KDQwOSk7cm89dzUuZjYoMzQ5KTtvbz13NS5aNigzMjIpO3NvPXc1Llo2KDMxNik7YW89dzUuWjYoMzg1KTtjbz13NS5mNigxMTMpO3VvPXc1LmY2KDQ3NCk7aG89dzUuWjYoMjY3KTtmbz13NS5mNigyNjYpO3BvPXc1Llo2KDQwNyk7X289dzUuWjYoNjMpO2xvPXc1Llo2KDM2Nyk7dm89L3dlYmtpdC87Ym89dzUuWjYoNDUyKTttbz0vc2FmYXJpLztnbz13NS5aNig5Myk7eW89L29wZXJhfG9wcnxvcGlvc1wvLztrbz13NS5aNigzMzEpO3dvPXc1LmY2KDI2KTt4bz13NS5aNigxODIpO09vPXc1LmY2KDM4MCk7Q289dzUuWjYoMTEwKTtFbz13NS5mNigxMTIpO1BvPXc1LmY2KDMwNSk7VG89dzUuZjYoNzQpO0FvPXc1LmY2KDEwMik7Rm89dzUuZjYoNDc4KTtTbz0vYW5kcm9pZC87am89dzUuZjYoMzkxKTtMbz13NS5aNigzMDYpO3pvPXc1LmY2KDQwNSk7Qm89dzUuWjYoOTkpO0lvPXc1Llo2KDM5Nik7TW89dzUuWjYoNDQwKTtXbz13NS5mNig2Nyk7RG89dzUuWjYoNDAxKTtVbz13NS5aNigxNTQpO1JvPXc1LmY2KDI4OSk7Tm89dzUuWjYoMzkzKTtIbz13NS5mNig3OSk7cW89dzUuWjYoMTQwKTtKbz13NS5aNigzNzIpO1ZvPXc1Llo2KDQyMik7JG89dzUuZjYoNDQ5KTtRbz13NS5aNigzOTUpO0dvPXc1Llo2KDIwNik7WW89dzUuWjYoMjQzKTtLbz13NS5mNig2Mik7Wm89dzUuWjYoNDg1KTtYbz13NS5mNigxMzApO3RzPXc1Llo2KDE1Nik7ZXM9dzUuZjYoMjAxKTtpcz13NS5aNigzNjEpO25zPXc1LmY2KDMxNSk7cnM9dzUuWjYoMTIyKTtvcz13NS5mNig3MCk7c3M9dzUuZjYoMjU3KTthcz13NS5aNig0MjUpO2NzPXc1LmY2KDMzMCk7dXM9dzUuZjYoNzMpO2hzPXc1LmY2KDMwMyk7ZnM9dzUuWjYoMTAwKTtwcz13NS5mNigzNzQpO19zPXc1Llo2KDY2KTtscz0oODI2LjA2LDk5Ny4yKSE9PSgyNjIuNzksNzAwLjQpP3c1LmY2KDE3OSk6KG81LHc1Llo2KDM2KSk7ZHM9dzUuWjYoMjIzKTt2cz13NS5mNigxMTkpO2JzPXc1Llo2KDMwOCk7bXM9dzUuZjYoNDcpO2dzPXc1Llo2KDMxOSk7eXM9dzUuZjYoMTgxKTtrcz13NS5mNigzNDUpO3dzPXc1Llo2KDE1KTt4cz0vXigjfGphdmFzY3JpcHQpL2k7T3M9dzUuWjYoMzY2KTtDcz13NS5aNigxOTkpO0VzPXc1Llo2KDM4NCk7UHM9dzUuZjYoNDA2KTtUcz13NS5mNig0MjkpO0FzPXc1LmY2KDI0Nyk7RnM9dzUuZjYoNDQzKTtTcz13NS5mNigzMzgpO2pzPS8oPzpGaXJlZm94fENocm9tZSlcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0xzPXc1Llo2KDM3MCk7enM9dzUuZjYoMzEwKTtCcz13NS5aNigzODYpO0lzPXc1Llo2KDI5NCk7TXM9dzUuWjYoMjgzKTtXcz13NS5aNigzODcpO0RzPXc1LmY2KDM5KTtVcz13NS5aNigxMDYpO1JzPXc1LmY2KDIwMik7TnM9dzUuWjYoMzExKTtIcz13NS5mNig0MzgpO3FzPXc1LmY2KDcxKTtKcz13NS5mNigxMzcpO1ZzPXc1Llo2KDI3KTskcz13NS5aNig4NCk7UXM9L18vZztHcz13NS5aNigxNTgpO1lzPXc1Llo2KDE5Mik7S3M9dzUuZjYoNDIzKTtacz13NS5mNigzMzkpO1hzPXc1Llo2KDE1MCk7dGE9dzUuWjYoMTQyKTtlYT13NS5mNig0KTtpYT13NS5aNig0MTApO25hPXc1LmY2KDIzNik7cmE9dzUuZjYoNDAyKTtvYT13NS5mNigyMTQpO3NhPXc1Llo2KDQxNyk7YWE9dzUuZjYoMTg0KTtjYT13NS5aNigxOTcpO3VhPXc1LmY2KDIzMyk7aGE9dzUuZjYoMzApO2ZhPS9saW51eC87cGE9dzUuWjYoMjgyKTtfYT0vb3BlcmEvO2xhPXc1Llo2KDM2NCk7ZGE9dzUuWjYoMTczKTt2YT13NS5aNigzMDApO2JhPXc1LmY2KDIzNSk7bWE9L2VkZ2V8b3ByXC8vO2dhPXc1LmY2KDI4NSk7eWE9dzUuZjYoNDYpO2thPXc1Llo2KDEzKTt3YT13NS5aNigyMDUpO3hhPXc1LmY2KDIyNCk7T2E9dzUuZjYoMzQ0KTtDYT13NS5aNigyMTMpO0VhPS9FZGdlXC8oW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTtQYT13NS5mNigxMjYpO1RhPXc1Llo2KDExNCk7QWE9L14oPzouKlteXHddKSooW1x3XSspXHMqJC9pO0ZhPXc1LmY2KDM5Mik7U2E9dzUuWjYoNjkpO2phPXc1LmY2KDMpO0xhPXc1LmY2KDQ1KTt6YT13NS5mNigzMjMpO0JhPXc1LmY2KDEzOSk7SWE9dzUuWjYoMTI5KTtNYT13NS5mNig4KTtXYT13NS5mNig0Mik7RGE9dzUuZjYoMSk7VWE9dzUuWjYoODkpO1JhPXc1LmY2KDIwOSk7TmE9dzUuZjYoMjgpO0hhPXc1LmY2KDIxOSk7cWE9dzUuWjYoMjMwKTtKYT13NS5aNig4MSk7VmE9dzUuWjYoMzA5KTskYT13NS5mNigzNDcpO1FhPXc1LmY2KDM4MSk7R2E9dzUuWjYoOTIpO1lhPXc1LmY2KDEyNSk7S2E9dzUuWjYoMzIpO1phPXc1LmY2KDM5MCk7WGE9dzUuZjYoNDY4KTt0Yz13NS5mNigzNik7ZWM9dzUuZjYoMzk3KTtpYz13NS5aNig0ODApO25jPXc1LmY2KDIyMik7cmM9dzUuZjYoNDU3KTtvYz13NS5aNigzNTIpO3NjPXc1Llo2KDI5KTthYz0vaShQaG9uZXxQYWR8UG9kKS9pO2NjPXc1LmY2KDQzNCk7dWM9dzUuZjYoNDIxKTtoYz13NS5aNig0NzMpO2ZjPXc1LmY2KDE3MCk7cGM9dzUuZjYoMjYyKTtfYz13NS5aNigxNTEpO2xjPXc1LmY2KDQ5KTtkYz13NS5mNigyNTQpO3ZjPXc1LmY2KDQyOCk7YmM9dzUuZjYoMTUzKTttYz13NS5aNigyNjkpO2djPXc1Llo2KDU3KTt5Yz13NS5mNigzNTcpO2tjPS9UcmlkZW50XC8uKj9ydjooW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTt3Yz13NS5aNig0NTMpO3hjPXc1Llo2KDQ3Nik7T2M9dzUuZjYoNDU0KTtDYz13NS5mNig0NTgpO0VjPXc1LmY2KDgwKTtQYz0vOlxkKyQvO1RjPXc1Llo2KDI3Mik7QWM9dzUuWjYoMzI3KTtGYz13NS5mNig0NzkpO1NjPXc1Llo2KDYxKTtqYz13NS5mNigyOTEpO0xjPXc1Llo2KDIzMik7emM9dzUuWjYoMTEpO0JjPXc1LmY2KDM0Nik7SWM9dzUuWjYoMTA1KTtNYz13NS5aNig0NzcpO1djPXc1Llo2KDQwKTtEYz13NS5aNig3Nik7VWM9dzUuWjYoMTYpO1JjPXc1Llo2KDIyNyk7TmM9dzUuWjYoMjA0KTtIYz13NS5mNigzNyk7IWZ1bmN0aW9uKHQseSxSdCxYZSxyaSx5aSxBaSxObixkcixVcixpbyxybyxDbyxHcyx6YyxVYyxxYyxKYyxWYywkYyl7InVzZSBzdHJpY3QiO3ZhciBRYyxHYyxZYyxLYyxaYyxYYyx0dSxldSxpdSxudSxydSxvdSxzdSxhdSxjdSx1dSxodSxmdSxwdSxfdSxsdSxkdSx2dSxidSxtdSxndSx5dSxrdSx3dSx4dSxPdSxDdSxFdSxQdSxUdSxBdSxGdTtydT10O3c1Llk0KDApO291PXc1LmM0KHVpLEdyLGJyLF9yLFllLFNpLFR0LGRuLFllLHUsbWksT3QsR3IsWWUsdXIpO3c1Llk0KDEpO3N1PXc1LnU0KGZlLFR0LEh0LG90LFR0KTt3NS5vNCgxKTthdT13NS51NChXaSxQZSxLLF9jLFBlKTt3NS5ZNCgyKTtjdT13NS5jNChydSxnaSk7dzUubzQoMik7dXU9dzUudTQocnUsWm8pO3c1Lm80KDMpO2h1PXc1LmM0KE9jLHJ1LEJpLFV0LEdyLEdyKTt3NS5vNCgyKTtmdT13NS51NChydSwkYSk7cHU9YW87X3U9eGk7bHU9THI7ZHU9bW47dnU9eVtmXVtxbytHcitDXVtYcytHcit0cytHcituY10oKTtidT17dW5kZXI6bzUsbmV3VGFiOm81fTttdT1udWxsO2d1PW81O3l1PSF7fTtrdT1mdW5jdGlvbigpe307dzUuWTQoNCk7d3U9dzUudTQoR3IsT3QsRXQpO3h1PXJpW3ZzK0dyK0FvXXx8e3NyYzpudWxsfTt3NS5vNCg0KTtPdT15W2ZdW3c1LmM0KGVvLEdyLGtyKV07Q3U9eXU7RXU9eXU7UHU9eXU7VHU9ZnVuY3Rpb24oKXt2YXIgRTksbzksdzk7dHJ5e0U5PTM2MDIzMDM0MztvOT01MDA4ODEwMDM7dzk9Mjtmb3IodmFyIGI1PTE7dzUuTDEoYjUudG9TdHJpbmcoKSxiNS50b1N0cmluZygpLmxlbmd0aCw1ODI0MykhPT1FOTtiNSsrKXtyZXR1cm4geVtwXT09PXlbcXJdfHwheVtwXVttcl1bRWldWyhYcy1HciklaF0oKSE9VGM/eVtwXTp5W3FyXTt3OSs9Mjt9aWYodzUuTDEodzkudG9TdHJpbmcoKSx3OS50b1N0cmluZygpLmxlbmd0aCw1MTUyOSkhPT1vOSl7cmV0dXJuIHlbcF0hPT15W3FyXSYmdHlwZW9mIHlbcF1bbXJdW0VpXVtYcytHcitoXSgpPT09VGM/eVtwXTp5W3FyXTt9fWNhdGNoKHQpe3ZhciBBOSxJOSxLOTtBOT0yMjIyMDY4MDc7STk9NDU1MTUwMTA4O0s5PTI7Zm9yKHZhciBROT0xO3c1LkwxKFE5LnRvU3RyaW5nKCksUTkudG9TdHJpbmcoKS5sZW5ndGgsNjg5NDApIT09QTk7UTkrKyl7cmV0dXJuIFB1PWd1LHlbcXJdO0s5Kz0yO31pZih3NS5MMShLOS50b1N0cmluZygpLEs5LnRvU3RyaW5nKCkubGVuZ3RoLDU2NzU3KSE9PUk5KXtyZXR1cm4gUHU9Z3UseVtxcl07fX19KCk7QXU9VHVbSmFdW1FhXTtGdT1mdW5jdGlvbigpe3ZhciB0O3RyeXt0PVR1W0VpXVt1bl07fWNhdGNoKHQpe31yZXR1cm4hUHUmJnR8fChidT17bmV3VGFiOmd1LHVuZGVyOnl1fSx0PXJpW2lhXSksdDt9KCk7S2M9e3Q6W10sbjpmdW5jdGlvbih0KXt2YXIgSDcsdjcsVDc7SDc9MTg2NDAwNjYwNDt2Nz03MzE4NDIzNTE7VDc9Mjtmb3IodmFyIG83PTE7dzUuZDEobzcudG9TdHJpbmcoKSxvNy50b1N0cmluZygpLmxlbmd0aCw5MTY5NikhPT1INztvNysrKXt0eXBlb2YgeVt3c10hPT1nZSYmeVt3c11bT29dJiZObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO1Q3Kz0yO31pZih3NS5kMShUNy50b1N0cmluZygpLFQ3LnRvU3RyaW5nKCkubGVuZ3RoLDI0OTc5KSE9PXY3KXt+eVt3c109PT1nZXx8eVt3c11bT29dfHxObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO319LHI6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9MDt0PHRoaXMudFtwaV07dCsrKXt0aGlzLm4odGhpcy50W3RdKTt9fSxlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9W3RdW0tuXShBaVtYdF1bcW5dW0NpXShhcmd1bWVudHMsMSkpO3RoaXMudFtNcl0oZSk7R2MuaSgpJiZ0aGlzLm4oZSk7fX07ZXU9e3M6ZnVuY3Rpb24oKXtpZih0aGlzLm89PT1tdSl0cnl7eVthcytHcit0aV1bbGkrR3IrRXJdKHJ1LDEpO3lbYXMrR3IrdGldW3huK0dyK0VyXShydSk7dGhpcy5vPWd1O31jYXRjaCh0KXt2YXIgdzcscDcsYjk7dzc9LTE2MTA5ODQyMzA7cDc9OTg2NDU4NDQ2O2I5PTI7Zm9yKHZhciBtOT0xO3c1LmQxKG05LnRvU3RyaW5nKCksbTkudG9TdHJpbmcoKS5sZW5ndGgsODg3MTMpIT09dzc7bTkrKyl7dGhpcy5vPXl1O2I5Kz0yO31pZih3NS5MMShiOS50b1N0cmluZygpLGI5LnRvU3RyaW5nKCkubGVuZ3RoLDMzNDE0KSE9PXA3KXt0aGlzLm89eXU7fXRoaXMubz15dTt9cmV0dXJuIHRoaXMubzt9LHU6ZnVuY3Rpb24odCl7dGhpcy5zKCk/eVthcytHcit0aV1beG4rR3IrRXJdKHQpOnR1LnUodCk7fSxjOmZ1bmN0aW9uKHQpe3RyeXtyZXR1cm4gdGhpcy5zKCk/eVthcytHcit0aV1bYWErR3IrRXJdKHQpOnR1LmModCk7fWNhdGNoKHQpe3JldHVybiBtdTt9fSxvOm11LGE6ZnVuY3Rpb24odCxlKXt0aGlzLnMoKT95W2FzK0dyK3RpXVtsaStHcitFcl0odCxlKTp0dS5hKHQsZSk7fX07dHU9e3U6ZnVuY3Rpb24odCl7dGhpcy5hKHQsMCxuZXcgSmMoMCkpO30sYzpmdW5jdGlvbih0KXt2YXIgZTt3NS5ZNCg1KTtlPXJpW050XVtiY10obmV3IFVyKHc1LnU0KGVyLEdyLEdyLGV0LHNjLHQsR3IsR3IsdHQsdWMsR3IsR3IsSm8sR3IpLGxzKSk7cmV0dXJuIGU/VmMoZVswXVtDcl0oR3IrZXQrR3IpWzFdKTptdTt9LGE6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO3M9aXx8R3I7cyYmKHR5cGVvZiBzPT09V3Q/KG89bmV3IEpjKCkpW2xpK0dyK0hdKG9bYWErR3IrSF0oKSsxZTMqcyk6bz1zLHM9R3IrZXIrZmkrZXQrR3Irb1tYcytHcitWcitHcit4YytHcitXK0dyK2hdKCkpO3JpW050XT10KyhHcitldCtHcikrJGMoR3IrZSkrcysocj9HcitlcitkcytldCtHcityOkdyKSsoR3IrZXIrQXQrZXQrR3IpKyhufHxHcitQZStHcik7fX07WmM9e3A6ZnVuY3Rpb24odCl7dmFyIGUsaTtpPXt9O2ZvcihlPTA7ZTx0W3BpXTtlKyspe2lbdFtlXVswXV09dFtlXVsxXTt9cmV0dXJuIGk7fSxXOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbjt0cnl7cmV0dXJuIG49dFthYStHcitHaV0oZSksdHlwZW9mIGkhPT1UYz95dTohIW5ldyBVcihGbitpK01zLGxzKVtqY10obik7fWNhdGNoKHQpe3JldHVybiB5dTt9fSxBOmZ1bmN0aW9uKCl7dHJ5e3JldHVybiB0eXBlb2YgeS5qUXVlcnkuZm4ub249PT1aczt9Y2F0Y2godCl7cmV0dXJuIHl1O319LEc6ZnVuY3Rpb24odCl7cmV0dXJuKHQ/bmV3IEpjKHQpOm5ldyBKYygpKVthYStHcitIXSgpO30sTTpmdW5jdGlvbih0KXt2YXIgbTAsQTAsSTAsZSxsNyxjNyxWNzttMD0tMTc4MjYxMjU4MTtBMD0tMTYzMzI0MDE2NDtJMD0yO2Zvcih2YXIgcjA9MTt3NS5MMShyMC50b1N0cmluZygpLHIwLnRvU3RyaW5nKCkubGVuZ3RoLDM0ODU4KSE9PW0wO3IwKyspe0kwKz0yO31pZih3NS5MMShJMC50b1N0cmluZygpLEkwLnRvU3RyaW5nKCkubGVuZ3RoLDg0OTA2KSE9PUEwKXt9dHJ5e2w3PS0xMjU4NTI0ODY5O2M3PTc3MTI1MDQ2ODtWNz0yO2Zvcih2YXIgeTc9MTt3NS5kMSh5Ny50b1N0cmluZygpLHk3LnRvU3RyaW5nKCkubGVuZ3RoLDEwMjkyKSE9PWw3O3k3KyspeyhlPXRbSmFdW1FhXShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7VjcrPTI7fWlmKHc1LmQxKFY3LnRvU3RyaW5nKCksVjcudG9TdHJpbmcoKS5sZW5ndGgsMjYwMTcpIT09YzcpeyhlPXRbSmFdW1FhXSgoVWEtVnQpL2NpKSlbYm9dKCk7ZVtJb10oKTt9fWNhdGNoKHQpe30oZT1BdShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7fSxUOmZ1bmN0aW9uKHQpe3QmJihUdVtFaV09dCk7fSxxOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxpPVt5cixUbixFYSxCZSxqcyxabixqdCxrYyx3ZV0sbj0wO248aVtwaV07bisrKWlmKGU9aVtuXVtqY10odnUpKXtyZXR1cm4gdD9VYyhlWzFdLDEwKTplWzFdW1pdKFFzLEdyK1R0K0dyKTt9cmV0dXJuIG11O30sTDpmdW5jdGlvbih0LGUpe3c1Llk0KDcpO3JldHVybiB3NS51NChZZSxlcixHcix0LGllLHlzLEdyLGUsR3IsVmUsVnQsR3IpO30sXzpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUTAsZTAsajA7UTA9LTE2NDA5MDY2NDA7ZTA9MzYxNTQ4MTI4O2owPTI7Zm9yKHZhciB0MD0xO3c1LmQxKHQwLnRvU3RyaW5nKCksdDAudG9TdHJpbmcoKS5sZW5ndGgsMzk3NjcpIT09UTA7dDArKyl7aT15O3c1Llk0KDQpO249dFtDcl0odzUudTQoR3IsVHQsR3IpKTtmb3IoZT0wO2U8bltwaV07ZSsrKXtpPWlbbltlXV07fXJldHVybiBpO2owKz0yO31pZih3NS5MMShqMC50b1N0cmluZygpLGowLnRvU3RyaW5nKCkubGVuZ3RoLDQ3NjE4KSE9PWUwKXtpPXk7dzUuWTQoNik7bj10W0NyXSh3NS51NChUdCxHcixHcikpO2ZvcihlPTQ7ZTw9bltwaV07ZS0tKXtpPWlbbltlXV07fXJldHVybiBpO319LFM6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbyxzMCxEMCxXMCxVMCx4MCx6MDtvPXkualF1ZXJ5fHxudWxsO2lmKHQmJnRbQW5dKXtyZXR1cm4gZ3U7fWlmKCFvKXtyZXR1cm4geXU7fXRyeXtzMD0tMTYxNTA0NTA7RDA9LTE5OTUwMzAzNTQ7VzA9Mjtmb3IodmFyIGMwPTE7dzUuZDEoYzAudG9TdHJpbmcoKSxjMC50b1N0cmluZygpLmxlbmd0aCw5Nzc5KSE9PXMwO2MwKyspe2lmKChlPShvKHQpW2llXShHYSkmJm8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9VzArPTI7fWlmKHc1LkwxKFcwLnRvU3RyaW5nKCksVzAudG9TdHJpbmcoKS5sZW5ndGgsMjI1MTYpIT09RDApe2lmKChlPShvKHQpW2llXShHYSl8fG8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9fX1jYXRjaCh0KXt9dHJ5e1UwPS0xMjgxMDM4MTgyO3gwPS01MjI2MTY2MzI7ejA9Mjtmb3IodmFyIGkwPTE7dzUuTDEoaTAudG9TdHJpbmcoKSxpMC50b1N0cmluZygpLmxlbmd0aCwzMjg1OSkhPT1VMDtpMCsrKXtmb3IoZT1vKHJpW1FyXSlbaWVdKEdhKVtnc10saT00O2k+ZVtwaV07aS0tKWZvcihyPW8oZVtpXVtvZV0pLG49NztuPj1yW3BpXTtuLS0paWYocltuXT09dCl7cmV0dXJuIGd1O316MCs9Mjt9aWYodzUuTDEoejAudG9TdHJpbmcoKSx6MC50b1N0cmluZygpLmxlbmd0aCw4ODE3MikhPT14MCl7Zm9yKGU9byhyaVtRcl0pW2llXShHYSlbZ3NdLGk9NDtpPmVbcGldO2ktLSlmb3Iocj1vKGVbaV1bb2VdKSxuPTc7bj49cltwaV07bi0tKWlmKHJbbl09PXQpe3JldHVybiBndTt9fWZvcihlPW8ocmlbUXJdKVtpZV0oR2EpW2dzXSxpPTA7aTxlW3BpXTtpKyspZm9yKHI9byhlW2ldW29lXSksbj0wO248cltwaV07bisrKWlmKHJbbl09PT10KXtyZXR1cm4gZ3U7fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sQzpmdW5jdGlvbih0LGUsaSl7dmFyIG4scixvO289WmMuTyhvNSk7cmV0dXJuIG49b1t0bytHcit5YV1bbXJdW1VzK0dyK0NuXShkZSksbltPXT1yYStQZStDdCxuW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoSmErVHQrX3QrWWUrR3IrZXQrR3IrWWUrSmErVHQrcCtZZStHcitldCtHcitZZStKYStUdCt1cytHcitDbitZZStHcitldCtHcitZZStkK2VyK0dyKSsoSmErVHQrJG4rWWUrR3IrZXQrR3IrWWUrWnMrUit6K1ZlK0dyK1llK3NvK1ZlK0dyK1llK0NlK1ArR3IrWWUrR3Ird24rR3IpKyh1YStZZStCcytHcitYbytZZStHcitldCtHcitZZStKYStUdCtRYStSK3orVmUrR3IrWWUrc28rVmUrR3IrWWUrQ2UrUCtHcitlcitHcikrKFdyK1llK0dyK3duK0JzK0dyK1hvK1R0K1dvK1llK0dyK2V0K0dyK1llK2QrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSsoTnIrWWUrQnMrR3IrWG8rZXIrR3IpKyhHcitEcitHcitlcitHciksb1t0bytHcit5YV1bbXJdW1FyXVtJdCtHcitXZV0obikscj1vW3RvK0dyK3lhXS5ta3AodCxlLGkpLFpjLlAobykscjt9LEI6ZnVuY3Rpb24odCxlLG4pe3ZhciByLG8scztyPTA7bz1ufHwxMDtzPXQ7dHJ5e2Zvcig7cyYmcisrPG87KXtpZih0eXBlb2YgZT09PVRjJiYoc1tTYytHcittY109PT1lfHxaYy5JKHMsZSkpfHx0eXBlb2YgZT09PWFyJiZzPT09ZSl7cmV0dXJuIHM7fXc1Llk0KDQpO3M9c1t3NS51NChfdCxHcixpKV07fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sRjpmdW5jdGlvbih0KXt2YXIgZTtlPVJ0W1RlXTtyZXR1cm4gdHlwZW9mIHQhPT1nZSYmKGU9KGN0W2pjXSh0KXx8W0dyLEdyXSlbMV0pLGVbWl0oUGMsR3IpO30seDpmdW5jdGlvbih0KXtyZXR1cm4geWlbWHRdW1hzK0dyK2hdW0NpXSh0KT09PUdyK0pvK2FyK1llK2JuK3R0K0dyO30sazpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUjAsUDAsSjA7aT1bXTtuPVpjLnYoKTt0cnl7UjA9LTE2Mjc2MTY5Mzc7UDA9LTIwMDI5NzgxNzY7SjA9Mjtmb3IodmFyIEIwPTE7dzUuTDEoQjAudG9TdHJpbmcoKSxCMC50b1N0cmluZygpLmxlbmd0aCw3NjkxMCkhPT1SMDtCMCsrKXtmb3IoZSBpbiBuKXt+dFtlXSE9Z2V8fGlbTXJdKGUvKChHci1ldCklR3IpLXRbZV0pO31KMCs9Mjt9aWYodzUuTDEoSjAudG9TdHJpbmcoKSxKMC50b1N0cmluZygpLmxlbmd0aCw4NjExMCkhPT1QMCl7Zm9yKGUgaW4gbil7fnRbZV0hPWdlfHxpW01yXShlLygoR3ItZXQpJUdyKS10W2VdKTt9fWZvcihlIGluIG4pe3R5cGVvZiB0W2VdIT09Z2UmJmlbTXJdKGUrKEdyK2V0K0dyKSt0W2VdKTt9fWNhdGNoKHQpe0tjLmUodCk7fXc1Llk0KDQpO3JldHVybiBpW05pXSh3NS5jNChHcixWZSxHcikpO30sUjpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5CKHQsT24pO30seTpmdW5jdGlvbigpe2Zvcih2YXIgdCxlPXt9LGk9MDtpPGFyZ3VtZW50c1twaV07aSsrKWZvcih0IGluIGFyZ3VtZW50c1tpXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0oYXJndW1lbnRzW2ldLHQpJiYoZVt0XT1hcmd1bWVudHNbaV1bdF0pO31yZXR1cm4gZTt9LFY6ZnVuY3Rpb24odCxlKXt2YXIgSjEsWDEsQjE7SjE9NDUyODczNzI5O1gxPTEyNzMxMDM4NTg7QjE9Mjtmb3IodmFyIE4xPTE7dzUuZDEoTjEudG9TdHJpbmcoKSxOMS50b1N0cmluZygpLmxlbmd0aCw1NTI1MSkhPT1KMTtOMSsrKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpKihlLXQpKSt0O0IxKz0yO31pZih3NS5kMShCMS50b1N0cmluZygpLEIxLnRvU3RyaW5nKCkubGVuZ3RoLDI4MzUxKSE9PVgxKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpJShlL3QpKSV0O319LFE6ZnVuY3Rpb24odCl7dmFyIGUsaSxuO3c1Llk0KDgpO2U9dzUuYzQodHlwZW9mIHQsYXIpO2k9dDt3NS5vNCg0KTtuPXJpW1VzK0dyK0NhXSh3NS51NChTbixHcix1bykpO25bTHMrR3IrU24rR3IrQ2FdKGdzLGd1LGd1LHksMCwwLDAsMCwwLGd1LHl1LHl1LGd1LDAsbXUpO2V8fChpPVpjLnooVSx7aHJlZjp0fHxpZStWdCtyYStQZStqbytWZStHcit1aStkZSt1citKYStUdCtJbytSK0dyK1ArR3IrZXIrR3IrdWkrR3IrUGUrZGUrdXIrR3J9KSxyaVtRcl1bSXQrR3IrV2VdKGkpKTtpW2duK0dyK0NhXShuKTtlfHxaYy5QKGkpO30sejpmdW5jdGlvbih0LGUsaSl7dmFyIG4scjtyPXJpW1VzK0dyK0NuXSh0KTtmb3IobiBpbiBlKXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShlLG4pJiZyW2xpK0dyK0dpXShuLGVbbl0pO31yZXR1cm4gaSYmKHJbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPWkpLHI7fSxZOmZ1bmN0aW9uKCl7dHJ5e3c1Lm80KDQpO3JldHVybiEhT3VbdzUuYzQoZW4sUGUsTWMpXVt3NS51NCgkaSxHcixXcyldO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sbDpmdW5jdGlvbih0KXt2YXIgZSxpLFk3LGY3LHM3O2U9WmMuXyh0KTt3NS5ZNCg0KTtpPXRbWl0oQWEsdzUudTQoR3Isem8scSkpO3RyeXtZNz0tMTYzMTA2MDI3MDtmNz0xOTgxNTM2MDYxO3M3PTI7Zm9yKHZhciBXNz0xO3c1LkwxKFc3LnRvU3RyaW5nKCksVzcudG9TdHJpbmcoKS5sZW5ndGgsMTYwMikhPT1ZNztXNysrKXtyZXR1cm4rbmV3IFVyKChacy9ZZS1HcikvIGkveHIsUnMpW2lyXShlW1hzJUdyL2hdKCkpO3M3Kz0yO31pZih3NS5MMShzNy50b1N0cmluZygpLHM3LnRvU3RyaW5nKCkubGVuZ3RoLDExNjM3KSE9PWY3KXtyZXR1cm4hbmV3IFVyKFpzK1llK0dyK2kreHIsUnMpW2lyXShlW1hzK0dyK2hdKCkpO319Y2F0Y2godCl7cmV0dXJuIHRbWHMrR3IraF0oKVtMK0dyK1dhXShrbytZZStycytZZStVK1llK1pzKT4tMT9ndTpYYy5kP2d1Onl1O319LHY6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbzt3NS5vNCg0KTtlPXlbdzUuYzQoUGEsR3IsZyldO3c1Llk0KDQpO2k9eVt3NS5jNChQYSxHcix3YyldO249eVtPaStHcitVZV18fHlbT2krR3IrV25dfHwwO3I9eVtPaStHcit4b118fHlbT2krR3IrQ2NdfHwwO289e307cmV0dXJuIG9bb2NdPWUsb1tLYV09aSxvW0hpXT1uLG9bcF09cixvW29yXT0wLG9bRWldPTEsb1tTcl09MSxvW09yXT0xLG8ucmVzaXphYmxlPTEsb1tNZV09MSxYYy5iJiYob1tLYV0rPVhjLm0/NDY6NTIpLFhjLmcmJihvW29jXS09NSxvW0thXS09NCksdHlwZW9mIHQ9PT1hciYmKG89WmMueShvLHQpKSxvO30sTzpmdW5jdGlvbih0KXt2YXIgZTtlPXJpW1VzK0dyK0NuXShjbik7cmV0dXJuIGVbeGVdW3h0XT1YaSx0JiZyaVtRcl1bSXQrR3IrV2VdKGUpLGU7fSxEOmZ1bmN0aW9uKHQpe3JldHVybiB0W1NjK0dyK21jXT09PUZjK0dyK1ZyK0dyK3hjK0dyK3hjK0dyK2ZjK0dyK2d0fHx0W1NjK0dyK21jXT09PXZhK0dyK2d0K0dyK210K0dyK1ZyK0dyK3hjJiZVbltpcl0odFthYStHcitHaV0oTykpfHx0aGlzLkIodCxGYytHcitWcitHcit4YytHcit4YytHcitmYytHcitndCkhPT15dTt9LFA6ZnVuY3Rpb24odCl7dCYmdFtfdCtHcitpXSYmdFtfdCtHcitpXVt4bitHcitXZV0odCk7fSxJOmZ1bmN0aW9uKHQsZSl7dmFyIG4scixvO2lmKHR5cGVvZiBlIT09VGMpe3JldHVybiB5dTt9aWYodHlwZW9mIHJpW2VlK0dyK3Z0K0dyK21dPT09WnMpdHJ5e3I9dFtfdCtHcitpXVtlZStHcit2dCtHcittXShlKXx8eS5qUXVlcnkoZSk7fWNhdGNoKHQpe31lbHNlIGlmKFpjLkEoKSl0cnl7cj15LmpRdWVyeShlKTt9Y2F0Y2godCl7fWlmKHIpZm9yKG89MDtvPHJbcGldO28rKylpZihyW29dPT09dCl7cmV0dXJuIGd1O31zd2l0Y2goZVswXSl7Y2FzZSBHcitUdCtHcjpuPVtsbyxlW2ZzXSgxKV07YnJlYWs7Y2FzZSBHcitzZStHcjpuPVtWYSxlW2ZzXSgxKV07fXJldHVybiBuP3RoaXMuVyh0LG5bMF0sblsxXSk6eXU7fSxmOmZ1bmN0aW9uKHQsZSl7dHJ5e3JldHVybiEoIXRba2ldW2VdfHwhdFtraV1bZV1bWW5dKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LE46ZnVuY3Rpb24odCl7dmFyIGU7ZT10aGlzLlIodCk7cmV0dXJuIGUmJmVbdW5dJiYheHNbaXJdKGVbdW5dKT9lW3VuXTp5dTt9LEo6ZnVuY3Rpb24odCxlLGksbil7Zm9yKHZhciByLG8scyxhPXRbWHMrR3IraF0oKVtDcl0obnx8R3IrVHQrR3IpLGM9ZVtYcytHcitoXSgpW0NyXShufHxHcitUdCtHciksdT0wLGY9ZHJbQm9dKGFbcGldLGNbcGldKTt1PGYmJihyPVVjKGFbdV18fDAsMTApLG89VWMoY1t1XXx8MCwxMCkscWMocikmJihyPTApLHFjKG8pJiYobz0wKSxzPXI+bz8xOi0xLHI9PT1vKTt1Kyspe3M9MDt9c3dpdGNoKGkpe2Nhc2UgR3IrdXIrR3I6dzUubzQoOCk7cmV0dXJuIHc1LnU0KDEscyk7Y2FzZSBHcit1citHcitldCtHcjp3NS5ZNCg5KTtyZXR1cm4gdzUuYzQocywxKTtjYXNlIEdyK3VpK0dyOnc1Lm80KDEwKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK3VpK0dyK2V0K0dyOnc1Llk0KDExKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK2V0K0dyK2V0K0dyOmNhc2UgR3IrZXQrR3IrZXQrR3IrZXQrR3I6ZGVmYXVsdDp3NS5ZNCg4KTtyZXR1cm4gdzUudTQoMCxzKTt9fSwkOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1wZVtDcl0oR3IpLGk9ZVtwaV0sbj0wLHI9R3I7bjx0O24rKyl7cis9ZVtkcltBY10oZHJbTW5dKCkqaSldO31yZXR1cm4gcjt9LGg6ZnVuY3Rpb24odCxlKXt0cnl7cmV0dXJuIHRbYWErR3IrR2ldKGUpO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sSDpmdW5jdGlvbih0LGUsaSl7dmFyIG47dzUubzQoMik7bj13NS5jNChoaSx0KTtyZXR1cm4gdHlwZW9mIHlbbl0hPT1nZSYmcm8oeVtuXSkseVtuXT1pbyhlLGkpO30sdzpmdW5jdGlvbigpe3JldHVybiBQdTt9LFU6ZnVuY3Rpb24odCl7cmV0dXJuIHRbU2MrR3IrbWNdPT09dmErR3IrZ3QrR3IrbXQrR3IrVnIrR3IreGMmJm5lW2lyXSh0W2FhK0dyK0dpXShPKSl8fHRbU2MrR3IrbWNdPT09cGErR3IrT24rR3IrRmMrR3IrUHMrR3IrcGE7fX07aXU9e3R0OmZ1bmN0aW9uKHQsZSl7dmFyIGkscTUsbTUsQTU7dHJ5e3E1PS0xNDE1MjczNDIzO201PS0zMzc1MDc5MjY7QTU9Mjtmb3IodmFyIEs1PTE7dzUuZDEoSzUudG9TdHJpbmcoKSxLNS50b1N0cmluZygpLmxlbmd0aCwzNzU1NSkhPT1xNTtLNSsrKXtyZXR1cm4gZXx8KGk9cmlbKHdyLUdyKSVqbipHcipMY10odFtIYyVHci9VZV0sdFtIYy9Hci14b10pKT9pOnRbVGldJiZ0W1hzLUdyLUNuXSYmdFsoWHItR3IpJUNuXTtBNSs9Mjt9aWYodzUuTDEoQTUudG9TdHJpbmcoKSxBNS50b1N0cmluZygpLmxlbmd0aCw3MjUzNikhPT1tNSl7cmV0dXJuIGUmJihpPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXSx0W0hjK0dyK3hvXSkpP2k6dFtUaV18fHRbWHMrR3IrQ25dfHx0W1hyK0dyK0NuXTt9fWNhdGNoKHQpe3JldHVybiB5dTt9fSxYOmZ1bmN0aW9uKHQsZSxpLG4pe3JldHVybiB0eXBlb2YgdFtIbitHcitDYStHcitFbl09PT1acz90W0huK0dyK0NhK0dyK0VuXShlLGksbnx8e30pOnRbRmUrR3IrQ2FdKE5vK2UsaSk7fSxLOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByO3I9ZnVuY3Rpb24oKXtpdS5aKHQsZSxyLG4pO2lbQ2ldKCk7fTtpdS5YKHQsZSxyLG4pO30sWjpmdW5jdGlvbih0LGUsaSxuKXtyZXR1cm4gdHlwZW9mIHRbeG4rR3IrQ2ErR3IrRW5dPT09WnM/dFt4bitHcitDYStHcitFbl0oZSxpLG58fHt9KTp0W0tpK0dyK0NhXShObytlLGkpO319OyEoWGM9e2l0OmZhW2lyXSh2dSksbnQ6c3RbaXJdKHZ1KSxtOmxlW2lyXSh2dSksZXQ6YWNbaXJdKHZ1KSxydDpTb1tpcl0odnUpLG90OnNpW2lyXSh2dSl8fEpyW2lyXSh2dSl8fHVlW2lyXSh2dVtmc10oMCw0KSksc3Q6dm9baXJdKHZ1KSxnOkFyW2lyXSh2dSkmJiFfYVtpcl0odnUpLGI6bHJbaXJdKHZ1KSYmIW1hW2lyXSh2dSksYXQ6bWVbaXJdKHZ1KSYmIWdyW2lyXSh2dSksY3Q6eFtpcl0odnUpLGQ6Rltpcl0odnUpLHV0OnlvW2lyXSh2dSksX3Q6bXUscHQ6WmMucShndSl8fG11LGx0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3QhPT1tdT90aGlzLl90OnRoaXMuX3Q9UWMuZHQoKSE9PXl1O30sSjpmdW5jdGlvbih0LGUpe3JldHVybiBaYy5KKFhjLmZ0LGUsdCk7fSxodDptb1tpcl0odnUpJiYhenJbaXJdKHZ1KSxmdDpaYy5xKHl1KXx8bXV9KS5ldHx8WGMuaHR8fFhjLmR8fFhjLmJ8fChYYy51dD1vNSk7KFljPWZ1bmN0aW9uKHQsZSxpKXt2YXIgbjtuPWl8fHt9O25bel09ZTt0aGlzLnZ0KG4pO3RoaXMubXQuYnR8fCh0aGlzLm10LmJ0PXJ1K3QpO3RoaXMuZ3QoKTt9KVtYdF09e2t0OntUdDpndSxDdDptdSxqdDp5dSxFdDpHcitQZStHcixGdDprdSxMdDpndSxBdDp5dSxPdDpndSx4dDptdSxQdDpudWxsLGJ0Om11LHd0Om11LFN0Omt1fSxtdDp7fSx5dDpudWxsLHp0OlpjLnYoKSxCdDpaYy5wKFtbT3IsMF1dKSxJdDpaYy5wKFtbTWUsMV1dKSxNdDpaYy5wKFtbU3IsMV1dKSxXdDpaYy5wKFtbRWksMF0sW1NyLDBdXSksRHQ6WmMucChbW01lLDBdXSksVXQ6WmMucChbW1p0LDBdXSksUnQ6WmMucChbW0VpLDBdXSksc2V0T3B0aW9uczpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy52dCh0KTt9LGd0OmZ1bmN0aW9uKCl7dmFyIHQsZSxpLG47dD1mdW5jdGlvbih0LGUpe3ZhciBpLG47bj17fTtuW3B1XT1beXUsZ3VdO25bX3VdPVt5dSx5dV07bltsdV09W2d1LGd1XTtuW2R1XT1bZ3UseXVdO2ZvcihpIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixpKSYmbltpXVswXT09PXQmJm5baV1bMV09PT1lKXtyZXR1cm4gaTt9cmV0dXJuIF91O307ZT1YYy5sdCgpO2k9dChHYy5tdC4kdC5uZXdUYWIsR2MubXQuJHQudW5kZXIpO249dCh0aGlzLm10LkF0LHRoaXMubXQuVHQpO2V8fG49PT1wdSYmKG49aSk9PT1wdSYmKG49bHUpO1hjLm90JiYobj09PV91JiYobj1kdSksbj09PXB1JiYobj1sdSkpO3RoaXMueXQ9bjt9LEh0OmZ1bmN0aW9uKCl7dmFyIGswLG4wLEYwO2lmKHR5cGVvZiB0aGlzLm10Lnh0PT09WnMpdHJ5e3JldHVybiB0aGlzLm10Lnh0W0NpXSh0aGlzLHRoaXMubXQpW1hzK0dyK2hdKCk7fWNhdGNoKHQpe3JldHVybiBLYy5lKHQpLHl1O31rMD0tMTAwMjA0NzAxMztuMD0tMTY1MTM4NjMwNztGMD0yO2Zvcih2YXIgTTA9MTt3NS5MMShNMC50b1N0cmluZygpLE0wLnRvU3RyaW5nKCkubGVuZ3RoLDY4NDExKSE9PWswO00wKyspe3JldHVybiB0aGlzLm10Lnh0O0YwKz0yO31pZih3NS5kMShGMC50b1N0cmluZygpLEYwLnRvU3RyaW5nKCkubGVuZ3RoLDkwOTM5KSE9PW4wKXtyZXR1cm4gdGhpcy5tdC54dDt9fSxMdDpmdW5jdGlvbigpe3ZhciB0LGUsRzcsQzcsazcsVjAsdTAseTA7dD10aGlzLm10O2U9dC5PdCE9PU5zJiZ0Lk90IT09TmV8fHQuT3Q9PT1OcyYmWGMub3R8fHQuT3Q9PT1OZSYmIVhjLm90O3RyeXtHNz0tMTkzODMwODU3MjtDNz0tMTE3NzY0NDk2NDtrNz0yO2Zvcih2YXIgRjc9MTt3NS5kMShGNy50b1N0cmluZygpLEY3LnRvU3RyaW5nKCkubGVuZ3RoLDg5NDI0KSE9PUc3O0Y3Kyspe3R5cGVvZiB0Lkx0PT09WnM/ZT1lJiZ0Lkx0W0NpXSh0aGlzLGUsdGhpcy5OdCgpKSE9PXl1OnR5cGVvZiB0Lkx0PT09YW4mJihlPWUmJnQuTHQpO2s3Kz0yO31pZih3NS5MMShrNy50b1N0cmluZygpLGs3LnRvU3RyaW5nKCkubGVuZ3RoLDUzNDE4KSE9PUM3KXstdC5MdCE9PVpzP2U9ZXx8dC5MdFtDaV0odGhpcyxlLHRoaXMuTnQoKSk9PT15dTohdC5MdD09YW58fChlPWV8fHQuTHQpO319Y2F0Y2godCl7S2MuZSh0KTt9VjA9Njg3MDAyMDA4O3UwPS0yOTc1OTkyODc7eTA9Mjtmb3IodmFyIHYwPTE7dzUuTDEodjAudG9TdHJpbmcoKSx2MC50b1N0cmluZygpLmxlbmd0aCw2NDU0MSkhPT1WMDt2MCsrKXtyZXR1cm4gR2MuSnQoKT9lfHwtdGhpcy5WdDplfHwrdHUuYyh0LmJ0KTt5MCs9Mjt9aWYodzUuTDEoeTAudG9TdHJpbmcoKSx5MC50b1N0cmluZygpLmxlbmd0aCwyOTMyNSkhPT11MCl7cmV0dXJuIEdjLkp0KCk/ZXx8LXRoaXMuVnQ6ZXx8K3R1LmModC5idCk7fXJldHVybiBHYy5KdCgpP2UmJiF0aGlzLlZ0OmUmJiF0dS5jKHQuYnQpO30sdnQ6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHI7dGhpcy5tdD1aYy55KHRoaXMuenQsdGhpcy5rdCx0aGlzLm10LHR8fHt9KTtmb3IoaSBpbiB0aGlzLm10KWlmKHlpW1h0XVtCYStHcitsdCtHcitvb11bQ2ldKHRoaXMubXQsaSkpc3dpdGNoKG49dGhpcy5tdFtpXSxpKXtjYXNlIHNvOnRoaXMubXQud3Q9bjticmVhaztjYXNlIHo6dGhpcy5tdC54dD1uO2JyZWFrO2Nhc2UgTGU6dGhpcy5tdC5PdD0obitHcilbWHMrR3IrdHMrR3IrbmNdKCk7YnJlYWs7Y2FzZSBOdCtHcittYzp0aGlzLm10LmJ0PW47YnJlYWs7Y2FzZSBOdCtHcitUOnRoaXMubXQuQ3Q9bjticmVhaztjYXNlIE50K0dyK2VhOnRoaXMubXQuRXQ9bjticmVhaztjYXNlIE50K0dyKyRzOnRoaXMubXQuUHQ9bjticmVhaztjYXNlIEVlOnRoaXMubXQuVHQ9bjticmVhaztjYXNlIEErR3IrTG86dGhpcy5tdC5BdD1uO2JyZWFrO2Nhc2UgcHQrR3IramU6dGhpcy5tdC5GdD1uO2JyZWFrO2Nhc2UgamErR3IramU6dGhpcy5tdC5TdD1uO2JyZWFrO2Nhc2UgSWMrR3IrY3I6dGhpcy5tdC5qdD1uO2JyZWFrO2Nhc2UgdGUrR3Irc3M6dGhpcy5tdC5MdD1uO31pZighWGMub3QmJiF0aGlzLm10LkF0KWZvcihyPVtbWGMuZyYmMTE9PT1YYy5wdCx0aGlzLlV0XSxbWGMuYiYmWGMucHQ8NDEsdGhpcy5JdF0sW1hjLmIsdGhpcy5CdF0sW1hjLmQmJlhjLnB0PDQ3LHRoaXMuTXRdLFtYYy51dCx0aGlzLkR0XSxbWGMuY3QsdGhpcy5SdF0sW1hjLmImJlhjLnB0Pj01OSx0aGlzLld0XSxbWGMudXQmJlhjLnB0Pj00Nix0aGlzLld0XV0sZT0wO2U8cltwaV07ZSsrKWlmKHJbZV1bMF0pZm9yKGkgaW4gcltlXVsxXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0ocltlXVsxXSxpKSYmKHRoaXMubXRbaV09cltlXVsxXVtpXSk7fX0sZ2V0T3B0aW9uczpmdW5jdGlvbigpe3JldHVybiB0aGlzLk50KCk7fSxOdDpmdW5jdGlvbigpe3ZhciB0LGU7ZT17fTtmb3IodCBpbiB0aGlzLm10KXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXSh0aGlzLm10LHQpJiZ0W3BpXT49MyYmKGVbdF09dGhpcy5tdFt0XSk7fXJldHVybiBlO30scXQ6ZnVuY3Rpb24oKXtHYy5KdCgpP3RoaXMuVnQ9Z3U6dHUuYSh0aGlzLm10LmJ0LDEsdGhpcy5tdC5DdCx0aGlzLm10LkV0LHRoaXMubXQuUHQpO319OyhudT1mdW5jdGlvbih0KXt2YXIgZTtlPXRoaXM7dGhpcy5RdD10O3RoaXMuR3Q9dGhpcy5ZdCgpO3RoaXMuS3Q9dGhpcy5adCgpO2l1LlgodGhpcy5HdCxncyxmdW5jdGlvbigpe0dzKGUuS3QpO1pjLlAoZS5HdCk7fSk7fSlbWHRdPXtZdDpmdW5jdGlvbigpe3ZhciB0LEs3LHI3LFE3O0s3PS0xODIwMzgxMDU7cjc9MTk5MDM1MjYxMTtRNz0yO2Zvcih2YXIgajc9MTt3NS5kMShqNy50b1N0cmluZygpLGo3LnRvU3RyaW5nKCkubGVuZ3RoLDg2ODQwKSE9PUs3O2o3Kyspe3Q9WmMueihoYyx7Y2xhc3M6ZnV9LEdyKTtyZXR1cm4gdGhpcy5RdFtTYytHcittY11bWHMrR3IrdHMrR3IrbmNdKCk9PT1Rcj9yaVtRcl1bSXQrR3IrV2VdKHQpOnRoaXMuUXRbX3QrR3IraV1bTmMrR3IrT3NdKHQsdGhpcy5RdFtWcytHcitrc10pLHQ7UTcrPTI7fWlmKHc1LkwxKFE3LnRvU3RyaW5nKCksUTcudG9TdHJpbmcoKS5sZW5ndGgsMzM0MykhPT1yNyl7dD1aYy56KGhjLHtjbGFzczpmdX0sR3IpO3JldHVybiB0aGlzLlF0W1NjKkdyL21jXVtYcypHci10cy1Hci1uY10oKT09UXI/cmlbUXJdW0l0L0dyL1dlXSh0KTp0aGlzLlF0W190L0dyJWldWyhOYy1HcikqT3NdKHQsdGhpcy5RdFsoVnMtR3IpJWtzXSksdDt9fSxadDpmdW5jdGlvbigpe3ZhciB0O3Q9dGhpcztyZXR1cm4gQ28oZnVuY3Rpb24oKXt2YXIgZSxpO2k9VWModC5RdFt4ZV1bc24rR3IrenNdLDEwKTt0LlF0W1NjK0dyK21jXVtYcytHcit0cytHcituY10oKT09PVFyJiYoaT05ZTkpOyhlPV9uK1Z0K2dvK2VyK0RhK1Z0K04rZXIrbG4rVnQraytlcitHcisoS2ErVnQrR3IpK3QuUXRbZnIrR3Ird2NdKyhobytlcitHcikrKG9jK1Z0K0dyKSt0LlF0W2ZyK0dyK2ddKyhobytlcitHcikrKEhpK1Z0K0dyKSt0LlF0W2ZyK0dyK1duXSsoaG8rZXIrR3IpKyhwK1Z0K0dyKSt0LlF0W2ZyK0dyK0NjXSsoaG8rZXIrR3IpKyhzbit3aStMK1Z0K0dyKSsocWMoaSk/MjppKzEpKSE9PXQuR3RbYWErR3IrR2ldKHhlKSYmdC5HdFtsaStHcitHaV0oeGUsZSk7fSwxNTApO319O251Llh0PWZ1bmN0aW9uKHQpe3ZhciBlO3c1Llk0KDEyKTtlPXc1LmM0KHJ1LExpLHdpLHdpLEdyLGllLEdyKTt0W2FhK0dyK0dpXShlKXx8dFthYStHcitHaV0obG8pPT09ZnV8fCh0W2xpK0dyK0dpXShlLDEpLG5ldyBudSh0KSk7fTsoUWM9e2R0OmZ1bmN0aW9uKCl7dmFyIHQsZTtlPXRoaXMuZWUoKTtmb3IodD0wO3Q8ZVtwaV07dCsrKWlmKGVbdF1bMV0oKT09PWd1KXtyZXR1cm4gZVt0XVswXTt9cmV0dXJuIHl1O30sZWU6ZnVuY3Rpb24oKXt2YXIgdDt0PVtdO3JldHVybiBYYy5vdHx8WGMuaXQ/W106KHRbTXJdKFt0aGlzLmllLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlhjLnB0Pj02NCYmWGMucHQ8Njc7fV0pLHRbTXJdKFt0aGlzLm5lLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubnQmJlhjLnB0Pj00MyYmWGMucHQ8NjQ7fV0pLHRbTXJdKFt0aGlzLnJlLGZ1bmN0aW9uKCl7dmFyIGI3LHE3LG03O2I3PS02MDMwNTI0OTU7cTc9LTQwNjg3OTgwNDttNz0yO2Zvcih2YXIgSTc9MTt3NS5MMShJNy50b1N0cmluZygpLEk3LnRvU3RyaW5nKCkubGVuZ3RoLDU1NDM5KSE9PWI3O0k3Kyspe3JldHVybiBYYy5ifHxaYy5ZKCl8fFhjLm18fFhjLnB0PD0xN3x8WGMucHQ+PTg5O203Kz0yO31pZih3NS5MMShtNy50b1N0cmluZygpLG03LnRvU3RyaW5nKCkubGVuZ3RoLDYyMDk0KSE9PXE3KXtyZXR1cm4gWGMuYnx8WmMuWSgpfHxYYy5tfHxYYy5wdDw9MTd8fFhjLnB0Pj04OTt9cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubSYmWGMucHQ+PTQ5JiZYYy5wdDw2NDt9XSksdFtNcl0oW3RoaXMub2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZDt9XSksdFtNcl0oW3RoaXMuc2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZyYmWGMucHQ+PTExO31dKSx0W01yXShbdGhpcy5hZSxmdW5jdGlvbigpe3JldHVybiBYYy5odDt9XSksdFtNcl0oW3RoaXMuY2UsZnVuY3Rpb24oKXt2YXIgVDAsRTAsbzA7VDA9MTIwNjMzNjEyMTtFMD0xMjk2MjQyMjUyO28wPTI7Zm9yKHZhciBwMD0xO3c1LmQxKHAwLnRvU3RyaW5nKCkscDAudG9TdHJpbmcoKS5sZW5ndGgsNDUyNzYpIT09VDA7cDArKyl7cmV0dXJuIFhjLnV0fHxYYy5udHx8WGMucHQ+PTc0O28wKz0yO31pZih3NS5MMShvMC50b1N0cmluZygpLG8wLnRvU3RyaW5nKCkubGVuZ3RoLDY1MzgpIT09RTApe3JldHVybiBYYy51dCYmWGMubnQmJlhjLnB0PD00ODt9fV0pLHQpO319KS50ZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMudGVbWHRdPXtfZTprdSx1ZTpmdW5jdGlvbih0KXt2YXIgcjUsUTUsZTU7cjU9LTk1ODI4OTMwMTtRNT0tNjIxNDQ4NDIyO2U1PTI7Zm9yKHZhciBaNT0xO3c1LmQxKFo1LnRvU3RyaW5nKCksWjUudG9TdHJpbmcoKS5sZW5ndGgsOTUyNjgpIT09cjU7WjUrKyl7dGhpcy5mZT10O2U1Kz0yO31pZih3NS5MMShlNS50b1N0cmluZygpLGU1LnRvU3RyaW5nKCkubGVuZ3RoLDE0MzU1KSE9PVE1KXt0aGlzLmZlPXQ7fX0sbGU6a3UscGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhO2k9dGhpcztuPWkuZmU7cj1uLkh0KCk7bz1uLm10O3M9by53dHx8WmMuJCg1KTthPVpjLmsobyk7aWYodD1mdW5jdGlvbigpe3RyeXtpZih0eXBlb2Ygby5GdD09PVpzJiZvLkZ0W0NpXShuLHIsbyk9PT15dSl7cmV0dXJuIHl1O319Y2F0Y2godCl7S2MuZSh0KTt9cmV0dXJuIG11O30sZT1mdW5jdGlvbih0KXtpZih0eXBlb2Ygby5TdD09PVpzKXRyeXtvLlN0W0NpXShuLHIsbyx0KTt9Y2F0Y2godCl7S2MuZSh0KTt9fSx0KCk9PT15dSl7cmV0dXJuIHl1O310eXBlb2Ygb1t6XT09PVRjJiZvW3pdIT09ciYmKHI9b1t6XSk7R2MuanQoby5qdCk7dGhpcy5fZSgpO3RyeXtyZXR1cm4gdGhpcy5sZShyLG8scyxhLGZ1bmN0aW9uKHQpe2kuZGUodCk7aS5oZSYmR2MuaGUoKTtlKHQpO30pO31jYXRjaCh0KXtyZXR1cm4gS2MuZSh0KSx5dTt9fSx2ZTpmdW5jdGlvbih0LGUsaSl7cmV0dXJuKEdjLm10LmJlP1pjLkM6QXUpKHQsZSxpKTt9LGRlOmt1LGhlOmd1fTtRYy5tZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMubWVbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTp5dSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3IodGhpcy52ZSh0LGksbikpO319KTtRYy5nZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuZ2VbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTohWGMub3QmJiFYYy5kLGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7cih0aGlzLnZlKHQsRmkpKTt9fSk7UWMueWU9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnllW1h0XT1aYy55KFFjLnRlW1h0XSx7a2U6ZnVuY3Rpb24oKXt2YXIgdCxlLGk7dD1HYy53ZSgpO2U9R2MueGUuUztpPXR5cGVvZiBHYy5tdC5PZT09PVpzP0djLm10Lk9lW0NpXSgpOkdjLm10Lk9lO3JldHVybiBmdW5jdGlvbigpe3ZhciBuLHI7cmV0dXJuIGkhPT1GdT9pOihuPVpjLiQoMSkscj1lP2k6R2MuQ2UodCl8fGksZXUucygpfHwhWGMub3QmJiFYYy5nP3I6KHR1LmEoY3UsbixtdSkscltaXSh2cixHcikrKEdyK3NlK0dyKStuKSk7fSgpO30sbGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgeDksejksaDksbyxzLGEsYyx1LGgsZixwO3g5PTE3MTA2NjI4Nzg7ejk9LTEwMzk3MjE3MTM7aDk9Mjtmb3IodmFyIEw5PTE7dzUuZDEoTDkudG9TdHJpbmcoKSxMOS50b1N0cmluZygpLmxlbmd0aCwzMDE4NykhPT14OTtMOSsrKXtoOSs9Mjt9aWYodzUuZDEoaDkudG9TdHJpbmcoKSxoOS50b1N0cmluZygpLmxlbmd0aCw0NTQ4MCkhPT16OSl7fWE9dGhpcy5rZSgpO2M9R2Mud2UoKTt1PVpjLk4oYyk7aD0xNTtmPVtdO3A9ZnVuY3Rpb24odCl7dmFyIGU7dHlwZW9mIHRbQW5dPT09WnMmJihlPXRbQW5dLGl1LlgodCxncyxlKSk7dFtBbl09ZnVuY3Rpb24oKXtyZXR1cm4geXU7fTt9O2ZvcihHYy5FZSgpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKSE9PUZpJiZaYy5mKGMsdW4pJiYocChjKSwwIT09Y1thYStHcitHaV0odW4pW0wrR3IrV2FdKEN0KSYmKGE9Y1thYStHcitHaV0odW4pKT09PUdyJiYoYT1GdSkpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKT09PUZpJiZaYy5mKGMsdW4pJiYocChjKSxpbyhmdW5jdGlvbigpe2NbQW5dPW11O30sM2UzKSxHYy5tdC5QZT9hPWNbYWErR3IrR2ldKHVuKTooYT1GdSxYYy5vdCYmKFhjLnV0P2ZbTXJdKGZ1bmN0aW9uKCl7QXUoY1thYStHcitHaV0odW4pLEZpKTt9KTppbyhmdW5jdGlvbigpe0F1KGNbYWErR3IrR2ldKHVuKSxGaSk7fSwyMCkpKSksWGMuZXQmJlhjLnV0fHxYYy5ldCYmWGMuc3QmJiFYYy5kJiYhWGMuYiYmIVhjLmh0PyhBdShhLEZpKSxaYy5IKEJyLGZ1bmN0aW9uKCl7WmMuVCh0KTt9LGgpKTohWGMub3QmJlpjLmgoYyxUaSkhPT1GaSYmKFhjLnV0JiZYYy5zdHx8WGMuaHQmJlhjLnB0PDEwfHxYYy5iJiZYYy5wdDw0MSk/WGMudXQ/KFpjLlEoYSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KFpjLlEodCksY1tTYytHcittY109PT1PbiYmdSYmWmMuVCh1KSk6WGMuZXQmJlhjLmQ/KG89QXUoYSxGaSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KG89eVtRYV0oVWErVnQrY2ksRmkpKT8ob1tFaV1bdW5dPWEsWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6bz1BdSh0LEZpKSxzPTA7czxmW3BpXTtzKyspe2Zbc11bQ2ldKCk7fW8mJnIobyk7fX0pO1FjLm9lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5vZVtYdF09WmMueShRYy50ZVtYdF0se2hlOnl1LGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG87bz10aGlzLnZlKHQsaSxuKTtvW2tuXSgpO1R1W2JvXSgpO1pjLk0obyk7aW8oZnVuY3Rpb24oKXtyKG8pO30sMWUzKTt9fSk7UWMuY2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLmNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZSh0LGksbik7cz1HYy5UZSgxZTMpO2l1LksoeSxibyxmdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9KTtvW2NjXT1mdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9O3Iobyk7fX0pO1FjLmFlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5hZVtYdF09WmMueShRYy50ZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIEQ5LFc5LGw5LG87RDk9MTk0OTIwNzgwOTtXOT04OTkwMjg0O2w5PTI7Zm9yKHZhciBWOT0xO3c1LkwxKFY5LnRvU3RyaW5nKCksVjkudG9TdHJpbmcoKS5sZW5ndGgsNTc4NTApIT09RDk7VjkrKyl7bDkrPTI7fWlmKHc1LkwxKGw5LnRvU3RyaW5nKCksbDkudG9TdHJpbmcoKS5sZW5ndGgsNTEwNjgpIT09Vzkpe315W3NvXT1aYy4kKDUpO289dGhpcy52ZSh0LGksbik7dGhpcy52ZShHcix5W3NvXSxHcik7eVtzb109bXU7cihvKTt9LGhlOnl1fSk7UWMuc2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZShQdT90OkZ1LGksbik7cz1mdW5jdGlvbigpe29bRWldW3VuXT10O307aXUuSyhvLGtuLHMpO29ba25dKCk7VHVbYm9dKCk7aW8ocywxMDApO3Iobyk7fSxoZTp5dX0pO1FjLm5lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5uZVtYdF09WmMueShRYy50ZVtYdF0se0ZlOmZ1bmN0aW9uKCl7dmFyIHQsZTtlPVpjLnooYXIse2RhdGE6WmMuTChlbitQZStNYyx0aGlzLkFlKStaYy4kKDMpfSk7cmV0dXJuKHQ9WmMueihoYyx7c3R5bGU6UGkrVnQrYStlcitvYytWdCtIcytlcitLYStWdCtIcytlcitEYStWdCtOK2VyK3ArVnQrRnIrSGErR3IrZXIrSGkrVnQrem4rZXIrayt3aStHYStWdCtYaStlciskbytWdCthK2VyK0dyfSkpW0l0K0dyK1dlXShlKSxbZSx0XTt9LFNlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMueSh0LHt9KTtyZXR1cm4gZVtwXT1lW0hpXT05ZTUsZVtvY109ZVtLYV09MSxlO30sQWU6THQrR3IrdGErR3IrRmMrR3IrUHMrR3Irb24rR3IrV2MrR3IreG8rR3IrJCtHcithaStHcituK0dyK1NhK0dyK0tyK0dyK1F0K0dyK2t0K0dyK3p0K0dyK3RjK0dyK1l0K0dyK3ZhK0dyK3MrR3IrdmErdWMraG4rR3IrTGErR3IrenQrR3IrVytHcitEYytHcitaYStHcittdCtHcitWaStHcitzYStHcitVZStHcitUYStHcit2YStHcitWaStHcitQcitHcit4bytHcitVZStHcitpYytHcitwbytHcitLcitHcitKK0dyK2hzK0dyK1ppK0dyK3ZhK0dyK1ByK0dyK0xhK0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrWGErR3IrVHMrR3IrWmkrR3IrdmErR3IrUHIrR3IrSGUrR3IrenQrR3IrVytHcitGYytHcit0YytHcityYytHcithZStHcit2aStHcit2YStHcitQcitHcitydCtHcitwcytHcittdCtHcituYStHcitUbytHcityZStHcit4bytHcit0YStHcitqaStHcitXK0dyK2F0K0dyK3ZhK0dyK1ByK0dyK2MrR3IrYit1YytFK0dyK1FvK0dyK3BzK0dyK2RjK0dyK1l0K0dyK3ZhK0dyK1lhK0dyK1hhK0dyK1RzK0dyK1ppK0dyK3ZhK0dyK0dlK0dyK09lK0dyK2dhK0dyK0hvK0dyK3ZhK0dyK1ByK0dyK2t0K0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrdmErR3Ircm4rdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitrdCtHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK09lK0dyK1krR3IrS3QrR3IreG8rR3IrVWUrR3IrYnMrR3IrRnQrR3IrUG8rR3IrRStHcitVZStHcitiaStHcitVZStHcitTZStHcitWcitHcitEcytHcit4bytHcitVZStHcitHbytHcit2YStHcitQdCtHcitVZStHcitScitHcit5YytHcitPZStHcitWbytHcitLcitHcit2YytHcitiZStHcitzK0dyK3hjK0dyK0tvK0dyK3IrR3IrYWkrR3IrZnQrdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitBZStHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK05hK0dyK1RzK0dyK010K0dyK2hyK0dyK1lzK0dyK0tzK0dyK0UrR3IrVWUrR3IrZm4rR3IrcmMrR3IrYWUrR3IrRCtHcitMdCtHcitWcitHcit0YStHcittdCtHcitacitHcitWcitHcitPZSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3ZhciBzLGEsYyx1LGg7dT10aGlzO2g9eXU7dHJ5eyhhPXRoaXMudmUoVWErVnQrY2ksRmkpKVttcl1bcnJdKHc1LnU0KHVyLEdyLEdyLGpvLFBlLHVpLEdyLFFyLEdyLFBlLG8sR3IsdWksdWksR3IsdXIsUGUsR3IsdXIsam8sR3IsdXIsbyx1aSxHcix1cixHcix1aSxRcix1cix1aSx3NS5ZNCgxMykpKTtpdS5LKGEscWEsZnVuY3Rpb24oKXtmdW5jdGlvbiBmKCl7bigpO2FbSW9dKCk7bygpO3JvKGMpO31ofHwoaD1ndSxzPWFbQmNdPUF1KFVhK1Z0K2NpLGksWmMuayh1LlNlKGUpKSksaXUuWChhLGJvLGYpLGM9aW8oZiwzZTMpLGFbbXJdW1FyXVtQYStHcithaStHcit4YytHcit6dCtHcitwYV09dS5GZSgpWzFdW1BuK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXSk7ZnVuY3Rpb24gbigpe3c1Llk0KDE0KTthW21yXVtRcl1bdzUudTQoUGEsenQsR3IsR3IsR3IseGMsR3IsYWkscGEpXT1Hcjt9ZnVuY3Rpb24gbygpe3ZhciBhMSxZMSxmMTthMT0tMTU2OTI3MTMyMDtZMT0yMzc1ODcyNDtmMT0yO2Zvcih2YXIgRDE9MTt3NS5MMShEMS50b1N0cmluZygpLEQxLnRvU3RyaW5nKCkubGVuZ3RoLDk0NDMyKSE9PWExO0QxKyspe3NbRWMlR3ItYmFdKGVbSGldLGVbcF0pO3NbZGElR3IqYmFdKGVbb2NdLGVbS2FdKTtzW0VpXVtaXSh0KTtyKHMpO2YxKz0yO31pZih3NS5kMShmMS50b1N0cmluZygpLGYxLnRvU3RyaW5nKCkubGVuZ3RoLDYyNDUzKSE9PVkxKXtzW0VjJUdyLWJhXShlW0hpXSxlW3BdKTtzW2RhJUdyKmJhXShlW29jXSxlW0thXSk7c1tFaV1bWl0odCk7cihzKTt9c1tFYytHcitiYV0oZVtIaV0sZVtwXSk7c1tkYStHcitiYV0oZVtvY10sZVtLYV0pO3NbRWldW1pdKHQpO3Iocyk7fX0pO31jYXRjaCh0KXt9fX0pO1FjLnJlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5yZVtYdF09WmMueShRYy5uZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG8scztzPVpjLk8oZ3UpO2l1LksoeSxibyxmdW5jdGlvbigpe1pjLlAocyk7b1tFaV1bWl0odCk7cihvKTt9KTt3NS5vNCg0KTtvPXRoaXMudmUodzUuYzQoVWEsVnQsY2kpLEZpKTtzW3RvK0dyK3lhXVttcl1bcnJdKHRoaXMuRmUoKVsxXVtQbitHcithaStHcit4YytHcit6dCtHcitwYV0pO319KTtRYy5pZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuaWVbWHRdPVpjLnkoUWMudGVbWHRdLHtMZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47aT10aGlzO249eXU7dzUubzQoNCk7ZT10aGlzLnZlKHc1LmM0KFVhLFZ0LGNpKSx0Lnd0fHxGaSx0LkJlfHxHcik7dC56ZSYmKGUmJmVbSW9dKCksbj1ndSk7IW4mJmUmJmlvKGZ1bmN0aW9uKCl7ZVtFaV1bdW5dPXQueHQ7dC5JZSYmaS5JZShlKTt9LDEwMCk7fSx1ZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47bj10aGlzO3RoaXMuamU9ZHJbTW5dKCk7dGhpcy5mZT10O2U9R2Mud2UoKTt3NS5vNCgxNSk7aT1aYy5CKGUsdzUuYzQoZ3QsR3IseGMsR3IsR3IsRmMseGMsR3IsZmMsR3IsVnIpKTsoZVtTYytHcittY109PT1PbiYmZVthYStHcitHaV0oanIpIT09RmkmJiFaYy5TKGUpfHxpJiYhWmMuUyhpKSkmJih0aGlzLmhlPWd1KTtpdS5YKHksSWUsZnVuY3Rpb24gdChlKXt0cnl7ZVtpZV0uamU9PT1uLmplJiZuLkxlKGVbaWVdKTtlW2llXS56ZSYmaXUuWih5LEllLHQpO31jYXRjaCh0KXt9fSk7fSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3RoaXMuSWU9cjt0aGlzLk1lKHtqZTp0aGlzLmplLEJlOm4sSWU6Z3UseHQ6dH0pO3RoaXMuTWUoe2plOnRoaXMuamUsemU6Z3UseHQ6VWErVnQrY2l9KTt9LGhlOnl1LE1lOmZ1bmN0aW9uKHQpe3lbSnQrR3IrWF0odCx5W0VpXVtSb10pO319KTtHYz17X2k6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5RaSgpK3RoaXMuSGkoKT5aYy5HKCk7fSxLaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm10LkplO30sSmU6ZnVuY3Rpb24oKXt2YXIgdDt0PVpjLngoYXJndW1lbnRzWzBdKT9hcmd1bWVudHNbMF06YXJndW1lbnRzO3JldHVybiB0aGlzLm5uKHQsUm4sdFtwaV0mJnRbMF09PT15dSk7fSxraTpmdW5jdGlvbih0LGUsaSxuKXt0aGlzLk9pKGksdCxndSl8fG4oZ3UseXUpO30sV2k6ZnVuY3Rpb24odCl7dHJ5e3JldHVybiB0W3F0XSYmMCE9PXRbcXRdfHx0aGlzLmNpLkcrMTUwPlpjLkcoKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LFJpOmZ1bmN0aW9uKCl7dGhpcy5XZT1bXTt9LFlpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQucWU7fSxVaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLldlO30sWmU6bXUsVGk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHx0aGlzLnFpKHQpKXtyZXR1cm4geXU7fWlmKCF0aGlzLm10LnFlW3BpXXx8dFthYStHcitHaV0obG8pPT09ZnUpe3JldHVybiBndTt9Zm9yKDtlPHRoaXMubXQucWVbcGldO2UrKylpZih0PT09dGhpcy5tdC5xZVtlXXx8dHlwZW9mIHRoaXMubXQucWVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5xZVtlXVtYcytHcitwcitHcituY10oKXx8WmMuSSh0LHRoaXMubXQucWVbZV0pKXx8WmMuQih0LHRoaXMubXQucWVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LHdlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueGUuUXQ7fSxMaTpmdW5jdGlvbigpe3ZhciB0LGU7ZT10aGlzO3RoaXMuWmU9WmMueihoYyx7c3R5bGU6b2MrVnQrRnIrSGErR3IrZXIrS2ErVnQrRnIrSGErR3IrZXIrRGErVnQrSXMrZXIrcCtWdCt6bitlcitIaStWdCt6bitlcitzbit3aStMK1Z0K25vK2VyK3h0K1Z0K1hpK2VyK0dyfSxHcik7dD1DbyhmdW5jdGlvbigpe3ZhciBpO2k9cmlbUXJdO2kmJihHcyh0KSxpW0l0K0dyK1dlXShlLlplKSk7fSwxMDApO30saGk6ZnVuY3Rpb24oKXt2YXIgTjksYTksWTksdCxlLGk7Tjk9LTUxNTA4MTc1NzthOT0tMTMwNjg1MTEzNztZOT0yO2Zvcih2YXIgczk9MTt3NS5kMShzOS50b1N0cmluZygpLHM5LnRvU3RyaW5nKCkubGVuZ3RoLDEwMDExKSE9PU45O3M5Kyspe1k5Kz0yO31pZih3NS5MMShZOS50b1N0cmluZygpLFk5LnRvU3RyaW5nKCkubGVuZ3RoLDQ1MzQ0KSE9PWE5KXt9aT10aGlzLlhlLm9pO2Zvcih0PTA7dDx0aGlzLmZpW3BpXSYmKCF0aGlzLnBpKCkmJiF0aGlzLl9pKCkpO3QrKyl7aWYoZT10aGlzLmZpW3RdLHRoaXMuWGUuc2krKyx0aGlzLlhlLm9pPVpjLkcoKSx0aGlzLmxpKGUpPT09eXUpe3JldHVybiB0aGlzLlhlLnNpLS0sdm9pZCh0aGlzLlhlLm9pPWkpO31pPXRoaXMuWGUub2k7ZXUuYShodSx0aGlzLlhlLm9pKTtlLnl0PT09bHUmJmV1LmEodXUsdGhpcy5YZS5zaSk7fX0sT2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBuLHIsbyxzO3c1Lm80KDQpO289dzUuYzQoR3IsVHQsR3IpO3c1Llk0KDIpO3M9dzUuYzQobyx0KTtmb3Iobj0wO248ZVtwaV07bisrKWlmKHI9KEdyK090K0dyK1R0K0dyKVtMK0dyK1dhXShlW25dWzBdKT4tMT9lW25dOm8rZVtuXSxzW2ZzXShzW3BpXS1yW3BpXSk9PT1yfHxpJiZyPT09d3Upe3JldHVybiBndTt9cmV0dXJuIHl1O30sZW46ZnVuY3Rpb24odCxlKXt2YXIgTDAsZDAsTzAsaSxuO0wwPTEyMjU5MjUxNjQ7ZDA9LTc2NDA0NzIyNjtPMD0yO2Zvcih2YXIgQzA9MTt3NS5MMShDMC50b1N0cmluZygpLEMwLnRvU3RyaW5nKCkubGVuZ3RoLDk4MzQ3KSE9PUwwO0MwKyspe08wKz0yO31pZih3NS5MMShPMC50b1N0cmluZygpLE8wLnRvU3RyaW5nKCkubGVuZ3RoLDg1NTk4KSE9PWQwKXt9aT10aGlzO249dGhpcy50bih0LGUpO3RoaXMuV2VbTXJdKG4pO3RoaXMuRGkobik7dGhpcy5pbnx8KEdjLkNpKCksZnVuY3Rpb24oKXt2YXIgdCxlO1hjLmImJigoZT1yaVtVcytHcitDbl0oaGMpKVtSYytHcitpdF0oVmEsZnVuY3Rpb24oKXtDdT1ndTt9KSxDdT1vNSx0PUNvKGZ1bmN0aW9uKCl7aWYoQ3U9eXUsIWkubXQuUmUpe2lmKHR5cGVvZiB5W3dzXSE9PWFyfHx0eXBlb2YgeVt3c11bT29dIT09WnMpe3JldHVybiBDdT1vNSx2b2lkIEdzKHQpO315W3dzXVtPb10oZSk7eVt3c11bTWldKCk7fX0sNTAwKSk7fSgpLHRoaXMuaW49bzUpO30sUGk6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuSmkoKSx0P3RoaXMuZmlbcGldOnRoaXMuZmlbcGldPjA7fSx2aTpmdW5jdGlvbigpe3ZhciB0LGU7dD1aYy5HKCk7ZT1aYy5HKGF1KTt3NS5ZNCgxNik7dGhpcy5YZS5yaT13NS5jNChlLHQsMzE1MzYwMDAwMDApO3RoaXMuWGUucmkmJih0aGlzLmxpPWt1KTt9LEJpOmZ1bmN0aW9uKCl7dmFyIHQ7dD1VYyhldS5jKGh1KSwxMCk7cWModCkmJih0PTApO3RoaXMuWGUub2k9dDt9LENlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMuTih0KTtyZXR1cm4gZSYmIXRoaXMubXQuTmUmJlpjLlModCk/eXU6ZTt9LGp0OmZ1bmN0aW9uKHQpe3ZhciBlLGksbjtlPXR5cGVvZiB0PT09Z2U/Z3U6ISF0O3c1Lm80KDIpO2k9dzUuYzQocnUsSSk7bj1yaVthYStHcitDbitHcitpaStHcit0bl0oaSk7ZT9ufHwobj1aYy56KERvLHtjb250ZW50OkljK3dpK2lhLG5hbWU6aWEsaWQ6aX0pLHJpW2FhK0dyK1JlK0dyK2lpK0dyK1JpK0dyK21jXShvKVswXVtJdCtHcitXZV0obikpOm4mJlpjLlAobik7fSxHaTpmdW5jdGlvbigpe3RoaXMuWGUuaWk9Z3U7dGhpcy5oaT1rdTt9LEp0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQuRGU7fSx5aTpmdW5jdGlvbih0LGUsaSxuLHIpe2Zvcih2YXIgbyxzPTA7czxlJiYobz10W3NdLCEoMT09PW4mJihyKGlbcytlXSx0W3NdKmlbc10rcysoaVtzXT4+cyszKSl8fHIoaVtzKzIqZV0sdFtzXSoodFswXSt0WzFdK3RbMl0pKyhpW3NdPDxzKSl8fHIoaVtzKzMqZV0sZHJbQWNdKHRbMF0qdFsxXSp0WzJdL28pK28rKGlbc10+PnMpKSl8fG48MSYmKHIoaVtzK2VdLHRbc10qaVtzXStzKXx8cihpW3MrMiplXSx0W3NdKih0WzBdK3RbMV0rdFsyXSkpfHxyKGlbcyszKmVdLGRyW0FjXSh0WzBdKnRbMV0qdFsyXS9vKStvKSkpKTtzKyspO30scWk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHwhdGhpcy5tdC5KZVtwaV0pe3JldHVybiB5dTt9Zm9yKDtlPHRoaXMubXQuSmVbcGldO2UrKylpZih0PT09dGhpcy5tdC5KZVtlXXx8dHlwZW9mIHRoaXMubXQuSmVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5KZVtlXXx8WmMuSSh0LHRoaXMubXQuSmVbZV0pKXx8WmMuQih0LHRoaXMubXQuSmVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LGNpOnt1aTp7fSxHOjB9LEhpOmZ1bmN0aW9uKCl7cmV0dXJuIFhjLm90P2RyW0JvXSh0aGlzLm10LlZlLDFlMyk6WGMuYnx8WGMuZ3x8WGMuY3R8fFhjLnV0JiYhWGMuZXQ/ZHJbQm9dKHRoaXMubXQuVmUsMjAwKTp0aGlzLm10LlZlO30sRWU6ZnVuY3Rpb24odCl7dmFyIGUsWjcsdDcsVTc7Wjc9LTEyNTc1NDEyNDI7dDc9MTMwMDY1ODcyMDtVNz0yO2Zvcih2YXIgejc9MTt3NS5MMSh6Ny50b1N0cmluZygpLHo3LnRvU3RyaW5nKCkubGVuZ3RoLDgzNTc3KSE9PVo3O3o3Kyspe2U9dHx8dGhpcy5jaS51aTtVNys9Mjt9aWYodzUuZDEoVTcudG9TdHJpbmcoKSxVNy50b1N0cmluZygpLmxlbmd0aCwzMDU1KSE9PXQ3KXtlPXQmJnRoaXMuY2kudWk7fXRyeXtlW01vK0dyK25pXSYmZVtNbytHcituaV0oKTtlW3FlK0dyK19zXSYmZVtxZStHcitfc10oKTt3NS5vNCg0KTtlW3c1LmM0KE5yLEdyLGNvKV09eXU7dzUubzQoNCk7ZVt3NS51NChtcyxHcixIcildPWd1O31jYXRjaCh0KXt9fSxpOmZ1bmN0aW9uKCl7dmFyIE8xLEcxLEMxO08xPS0xMzAyMzI0NTE3O0cxPTg4ODY0MDYzMDtDMT0yO2Zvcih2YXIgbjE9MTt3NS5kMShuMS50b1N0cmluZygpLG4xLnRvU3RyaW5nKCkubGVuZ3RoLDU5MTU1KSE9PU8xO24xKyspe3JldHVybiB0aGlzLm10LlVlfHx0aGlzLm10LkRlO0MxKz0yO31pZih3NS5MMShDMS50b1N0cmluZygpLEMxLnRvU3RyaW5nKCkubGVuZ3RoLDIzODAyKSE9PUcxKXtyZXR1cm4gdGhpcy5tdC5VZSYmdGhpcy5tdC5EZTt9fSxwaTpmdW5jdGlvbigpe3ZhciBoNyxpNyxMNztoNz0tMTUxMTEyMzE1NDtpNz0tMTY3MjAwNTI5NjtMNz0yO2Zvcih2YXIgTzc9MTt3NS5kMShPNy50b1N0cmluZygpLE83LnRvU3RyaW5nKCkubGVuZ3RoLDMyNTMzKSE9PWg3O083Kyspe3JldHVybiB0aGlzLiRpKCk8dGhpcy5tdC5IZTtMNys9Mjt9aWYodzUuTDEoTDcudG9TdHJpbmcoKSxMNy50b1N0cmluZygpLmxlbmd0aCwxOTk5KSE9PWk3KXtyZXR1cm4gdGhpcy4kaSgpPj10aGlzLm10LkhlO319LGdpOmZ1bmN0aW9uKHQsZSxpLG4scil7Zm9yKHZhciBvLHM9MDtzPGUmJihvPXRbc10sISgxPT09biYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzErKGlbc108PGlbc10lMTApLGlbZStzXSl8fHIob1trZStHcitucytHcitCaV0ob1twaV0tMSkqaVtzXSoyK3MrKGlbc10+PnMpLGlbMiplK3NdKXx8cihvW3BpXSppW3NdKjMrKGlbc108PHMpLGlbMyplK3NdKSl8fG48MSYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzEsaVtlK3NdKXx8cihvW2tlK0dyK25zK0dyK0JpXShvW3BpXS0xKSppW3NdKjIrcyxpWzIqZStzXSl8fHIob1twaV0qaVtzXSozLGlbMyplK3NdKSkpKTtzKyspO30sV2U6W10sdG46ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IFljKHRoaXMuV2VbcGldLHQsZSk7fSxBaTpmdW5jdGlvbih0KXt0aGlzLmNpLnVpPXQ7dGhpcy5jaS5HPVpjLkcoKTt9LGFpOltdLE1pOmZ1bmN0aW9uKHQpe3JldHVybiBudS5YdCh0KSx0aGlzO30sWmk6ZnVuY3Rpb24oKXtyZXR1cm4gWmMucChbW1RyLHRoaXMubXQuRGVdLFtvaSx0aGlzLm10LlVlXSxbd3QsdGhpcy5tdC5SZV0sW0xyK0dyK3plLHRoaXMubXQuT2VdLFtSbitHcitFbix0aGlzLm10Lk5lXSxbRHQsdGhpcy5tdC5IZV0sW2xjK0dyK2JhLHRoaXMubXQucWVdLFtSbitHcitiYSx0aGlzLm10LkplXSxbUW4sdGhpcy5tdC5WZV0sW3crR3IrVix0aGlzLm10LiRlXSxbdytHcitEbix0aGlzLm10LlFlXSxbcG4rR3IrdHIrR3IrTG4sdGhpcy5tdC5HZV0sW0JzK0dyK2wrR3IrU3MsdGhpcy5tdC4kdF0sW05zK0dyKyRyLHRoaXMubXQuWWVdLFtJYytHcitwYytHcitfaSx0aGlzLm10LmJlXSxbTHMrR3IrYnQsdGhpcy5tdC5LZV0sW0IrR3IrdmUrR3IrX28rR3IreW4rR3IrTG4sdGhpcy5tdC5QZV1dKTt9LFRlOmZ1bmN0aW9uKHQpe3ZhciBlLGk7aT1aYy5PKGd1KTtyZXR1cm4gZT1pW3RvK0dyK3lhXVttcl1bVXMrR3IrQ25dKGRlKSwwPT09eVtFaV1bdW5dW0wrR3IrV2FdKGorVnQrR3IpP2VbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPUdyKyhXcitZZStHcit3bitHcikrKGYrVHQrUytUdCthYStHcitaZStHcitRaStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKTplW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoV3IrWWUrR3Ird24rR3IpKyhZcitUdCtjYStHcitfZStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSxpW3RvK0dyK3lhXVttcl1bUXJdW0l0K0dyK1dlXShlKSx0eXBlb2YgdCE9PVd0JiZ0eXBlb2YgdCE9PWdlfHxpbyhmdW5jdGlvbigpe1pjLlAoaSk7fSx0fHw1MDApLGk7fSxOaTpmdW5jdGlvbigpe3ZhciBvMSx3MSxwMTtvMT0tMjExMjgyOTI0MDt3MT00MjIxODMwODI7cDE9Mjtmb3IodmFyIHEwPTE7dzUuZDEocTAudG9TdHJpbmcoKSxxMC50b1N0cmluZygpLmxlbmd0aCwzNTgxNCkhPT1vMTtxMCsrKXtmb3IodmFyIHQsZT02O2U8PXRoaXMuV2VbcGldO2UtLSl7dD10aGlzLldlW2VdO3R1LnUodC5tdC5idCk7fXRoaXMuWGUub2k9dGhpcy5YZS5zaT00O2V1LnUodXUpO2V1LnUoY3UpO2V1LnUoaHUpO3AxKz0yO31pZih3NS5MMShwMS50b1N0cmluZygpLHAxLnRvU3RyaW5nKCkubGVuZ3RoLDUxMjkxKSE9PXcxKXtmb3IodmFyIHQsZT0yO2U8dGhpcy5XZVtwaV07ZSsrKXt0PXRoaXMuV2VbZV07dHUudSh0Lm10LmJ0KTt9dGhpcy5YZS5vaT10aGlzLlhlLnNpPTM7ZXUudSh1dSk7ZXUudShjdSk7ZXUudShodSk7fWZvcih2YXIgdCxlPTA7ZTx0aGlzLldlW3BpXTtlKyspe3Q9dGhpcy5XZVtlXTt0dS51KHQubXQuYnQpO310aGlzLlhlLm9pPXRoaXMuWGUuc2k9MDtldS51KHV1KTtldS51KGN1KTtldS51KGh1KTt9LHppOmZ1bmN0aW9uKCl7dmFyIHQ7dD0wO3JldHVybiBldS5zKCk/KHQ9ZXUuYyh1dSksZXUudSh1dSkpOnR1LmModXUpJiYocmlbaWFdPT09UnRbdW5dfHx+UnRbdW5dW0wrR3IrV2FdKEdyK3NlK0dyK3R1LmMoY3UpKSkmJih0PXR1LmModXUpLGlvKGZ1bmN0aW9uKCl7dHUudSh1dSk7dHUudShjdSk7fSwzMDApKSx0PVVjKHQsMTApLHQ9cWModCk/MDp0LHRoaXMuWGUuc2k9dDt9LG10OntOZTpndSxLZTp5dSxKZTpbXSxWZTowLCR0OmJ1LCRlOltdLERlOnl1LE9lOkZ1LEhlOjk5OTksUmU6eXUscWU6W10sWWU6MTAsVWU6eXUsUWU6Z3UsUGU6eXUsYmU6eXUsR2U6Z3V9LCRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuWGUuc2k7fSxRaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLlhlLm9pO30sYmk6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhLGMsdSxuOSxGOSxnOTtzPXRoaXM7YT0wO2M9dGhpcy5YZTt1PWZ1bmN0aW9uKHQsZSl7dmFyIFA5LEo5LFg5O1A5PTMyNTI1NjI2O0o5PS05NTA1MjQwNDM7WDk9Mjtmb3IodmFyIFM5PTE7dzUuTDEoUzkudG9TdHJpbmcoKSxTOS50b1N0cmluZygpLmxlbmd0aCw0ODQ5MykhPT1QOTtTOSsrKXtyZXR1cm4gdD09PWV8fChjLm5pPWd1LHMubGk9a3UpLHQhPWU7WDkrPTI7fWlmKHc1LkwxKFg5LnRvU3RyaW5nKCksWDkudG9TdHJpbmcoKS5sZW5ndGgsNTM4MDApIT09Sjkpe3JldHVybiB0IT09ZSYmKGMubmk9Z3Uscy5saT1rdSksdCE9PWU7fX07aWYodHlwZW9mIHlbcnVdW2FyXSE9PWdlKXtjLm5pPW11O3Q9eVtydV1bYXJdW1huXSgpO2U9eVtydV1bYXJdW1huXSgpO2k9eVtydV1bYXJdW1huXSgpO249eVtydV1bYXJdW1huXSgpO3I9WmMuRigoeVtydV1bYXJdW1huXSgpfHx7c3JjOm51bGx9KVtYcl0pO289WmMuRih4dVtYcl0pO3RyeXtuOT0xNDUwNjEyMjI1O0Y5PS01NjY0Nzc2Nzc7Zzk9Mjtmb3IodmFyIFI5PTE7dzUuZDEoUjkudG9TdHJpbmcoKSxSOS50b1N0cmluZygpLmxlbmd0aCwyODY5NSkhPT1uOTtSOSsrKXthPXlbcnVdW2FyXVtYbl0oKSYmNztnOSs9Mjt9aWYodzUuZDEoZzkudG9TdHJpbmcoKSxnOS50b1N0cmluZygpLmxlbmd0aCwzODQzOCkhPT1GOSl7YT15W3J1XVthcl1bWG5dKCkmJjc7fWE9eVtydV1bYXJdW1huXSgpfHwwO31jYXRjaCh0KXt9YT1kcltCb10oMCxkcltrYV0oMSxhKSk7dGhpcy5taSh0LG8scix1KTt0aGlzLmdpKHQsdFtwaV0sZSxhLHUpO3RoaXMueWkoaSxpW3BpXSxuLGEsdSk7dGhpcy5raSh0LHRbcGldLFpjLkYoKSx1LHUpO3RoaXMud2koaSxaYy5HKCkpO2Mubmk9PT1tdSYmKGMubmk9eXUpO31jLnhpPWF8fDA7fSxFaTpmdW5jdGlvbih0LGUpe3ZhciBkOSxPOSxHOTtkOT04MzA2MTMyMTE7Tzk9MTQwNDM5MjY4MztHOT0yO2Zvcih2YXIgazk9MTt3NS5kMShrOS50b1N0cmluZygpLGs5LnRvU3RyaW5nKCkubGVuZ3RoLDE2MDEwKSE9PWQ5O2s5Kyspe3RoaXMueGUuUXQ9dDt0aGlzLnhlLlM9ZTtHOSs9Mjt9aWYodzUuZDEoRzkudG9TdHJpbmcoKSxHOS50b1N0cmluZygpLmxlbmd0aCw3Njg2OSkhPT1POSl7dGhpcy54ZS5RdD10O3RoaXMueGUuUz1lO319LFhpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbix1OSx5OSxIOTtuPXR8fHt9O2ZvcihlIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixlKSlzd2l0Y2godGhpcy5tdFtlXT1pPW5bZV0sZSl7Y2FzZSBUcjp0aGlzLm10LkRlPWk7YnJlYWs7Y2FzZSBvaTp0aGlzLm10LlVlPWk7YnJlYWs7Y2FzZSB3dDp0aGlzLm10LlJlPWk7YnJlYWs7Y2FzZSBMcitHcit6ZTp0aGlzLm10Lk9lPWk7YnJlYWs7Y2FzZSBSbitHcitFbjp0aGlzLm10Lk5lPWk7YnJlYWs7Y2FzZSBEdDp0aGlzLm10LkhlPWk7YnJlYWs7Y2FzZSBsYytHcitiYTp0aGlzLnFlW29hXSh0aGlzLGkpO2JyZWFrO2Nhc2UgUm4rR3IrYmE6dGhpcy5KZVtvYV0odGhpcyxpKTticmVhaztjYXNlIFFuOnRoaXMubXQuVmU9aTticmVhaztjYXNlIHcrR3IrVjp0aGlzLm10LiRlPWk7YnJlYWs7Y2FzZSB3K0dyK0RuOnRoaXMubXQuUWU9aTticmVhaztjYXNlIHBuK0dyK3RyK0dyK0xuOnRoaXMubXQuR2U9aTticmVhaztjYXNlIEJzK0dyK2wrR3IrU3M6dGhpcy5tdC4kdD1pO2JyZWFrO2Nhc2UgTnMrR3IrJHI6dGhpcy5tdC5ZZT1pO2JyZWFrO2Nhc2UgSWMrR3IrcGMrR3IrX2k6dGhpcy5tdC5iZT1pO2JyZWFrO2Nhc2UgTHMrR3IrYnQ6dGhpcy5tdC5LZT1pO2JyZWFrO2Nhc2UgQitHcit2ZStHcitfbytHcit5bitHcitMbjp0aGlzLm10LlBlPWk7fXU5PTE1MDY0OTg2ODA7eTk9NjExNzc3ODY1O0g5PTI7Zm9yKHZhciBUOT0xO3c1LkwxKFQ5LnRvU3RyaW5nKCksVDkudG9TdHJpbmcoKS5sZW5ndGgsNjMyMykhPT11OTtUOSsrKXtyZXR1cm4gdGhpcztIOSs9Mjt9aWYodzUuZDEoSDkudG9TdHJpbmcoKSxIOS50b1N0cmluZygpLmxlbmd0aCw2MzczOSkhPT15OSl7cmV0dXJuIHRoaXM7fX0saGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksZzcsTTcsUjc7Zzc9LTM5MDQ0MjA2O003PS0xNjI0Njc4MzI1O1I3PTI7Zm9yKHZhciBKNz0xO3c1LkwxKEo3LnRvU3RyaW5nKCksSjcudG9TdHJpbmcoKS5sZW5ndGgsNTI1MzkpIT09Zzc7SjcrKyl7ZT10aGlzLndlKCk7aT10aGlzLmNpLnVpO1I3Kz0yO31pZih3NS5MMShSNy50b1N0cmluZygpLFI3LnRvU3RyaW5nKCkubGVuZ3RoLDg0NzUzKSE9PU03KXtlPXRoaXMud2UoKTtpPXRoaXMuY2kudWk7fXRyeXsodD1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0oZ3MsZ3UsZ3UseSwxLGlbT2krR3IrVWVdLGlbT2krR3IreG9dLGlbSGMrR3IrVWVdLGlbSGMrR3IreG9dLHl1LHl1LHl1LHl1LDAsbXUpO3RbVW9dPWd1O2VbZ24rR3IrQ2FdKHQpO31jYXRjaCh0KXtLYy5lKHQpO319LFZpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuUGkobzUpO30sU2k6ZnVuY3Rpb24oKXt2YXIgdCxpLG4scixvLHM7cj10aGlzO289NTAwO3M9ZnVuY3Rpb24odCxlKXt2YXIgaSxuO249WGMuYj9lYzpnczsoaT1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0obixndSxndSx5LDEsZVtPaStHcitVZV0sZVtPaStHcit4b10sZVtIYytHcitVZV0sZVtIYytHcit4b10seXUseXUseXUseXUsMCxtdSk7aS5mYz1ndTt0W2duK0dyK0NhXShpKTt9O2l1LlgocmksJHQsZnVuY3Rpb24ocil7dmFyIG8sRjEsZzEsTTE7dzUubzQoNCk7bz1yW3c1LnU0KHNyLEdyLGUpXVswXTtGMT05NTkwNTM3NzY7ZzE9LTE3NzY2NDMwNTc7TTE9Mjtmb3IodmFyIFAxPTE7dzUuZDEoUDEudG9TdHJpbmcoKSxQMS50b1N0cmluZygpLmxlbmd0aCw4NTkzNCkhPT1GMTtQMSsrKXt3NS5vNCgxOCk7dD1yW3c1LnU0KG9zLEpzLEdyKV07dzUuWTQoMTkpO2k9b1t3NS51NChHcixmbyxVZSldO3c1Lm80KDIwKTtuPW9bdzUuYzQoeG8sZm8sR3IpXTtNMSs9Mjt9aWYodzUuTDEoTTEudG9TdHJpbmcoKSxNMS50b1N0cmluZygpLmxlbmd0aCwxMTM5OCkhPT1nMSl7dzUubzQoMjEpO3Q9clt3NS5jNChvcyxKcyxHcildO3c1Llk0KDIyKTtpPW9bdzUuYzQoR3IsVWUsZm8pXTt3NS5vNCg2KTtuPW9bdzUuYzQoR3IseG8sZm8pXTt9dzUubzQoNCk7dD1yW3c1LnU0KG9zLEdyLEpzKV07dzUuWTQoNCk7aT1vW3c1LmM0KGZvLEdyLFVlKV07dzUubzQoNCk7bj1vW3c1LnU0KGZvLEdyLHhvKV07fSxndSk7aXUuWChyaSx2LGZ1bmN0aW9uKGEpe3ZhciBjLHUsaCxTMCxOMCxhMDtTMD0xMTI5ODE1NDEyO04wPS00NTk2NDE3MTE7YTA9Mjtmb3IodmFyIGYwPTE7dzUuZDEoZjAudG9TdHJpbmcoKSxmMC50b1N0cmluZygpLmxlbmd0aCw5MDQxMCkhPT1TMDtmMCsrKXt3NS5vNCg0KTtjPWFbdzUuYzQoc3IsR3IsZSldWzBdO3U9aXUudHQoYSk7aD1yLm10LlllO2EwKz0yO31pZih3NS5MMShhMC50b1N0cmluZygpLGEwLnRvU3RyaW5nKCkubGVuZ3RoLDUxODk1KSE9PU4wKXt3NS5ZNCg2KTtjPWFbdzUudTQoR3IsZSxzcildWzRdO3U9aXUudHQoYSk7aD1yLm10LlllO31kcltGc10oY1tmbytHcitVZV0taSk+PWh8fGRyW0ZzXShjW2ZvK0dyK3hvXS1uKT49aHx8YVtvcytHcitKc10tdD5vfHxyLm10LlllPD0wfHxYYy5odCYmRGlbaXJdKHVbU2MrR3IrbWNdKXx8ci5YZS5paXx8ci5YZS5uaXx8ci5YZS5yaXx8ci5waSgpfHxyLl9pKCl8fCFyLlBpKCl8fCFyLlRpKHUpfHwhci5tdC5OZSYmWmMuUyh1KXx8KHVbU2MrR3IrbWNdPT09T24mJnIuRWUoYSkscyh1LGMpKTt9LGd1KTt9LG1pOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByLG87bz15dTtmb3Iocj0wO3I8dFtwaV07cisrKWlmKHRbcl09PT13dSl7bz1ndTticmVhazt9byYmKGV8fGkpJiYoIXRoaXMuT2koZSx0KXx8IXRoaXMuT2koaSx0KXx8eVtydV1bdW5dJiZ5W3J1XVt1bl1bcGldJiYhdGhpcy5PaShaYy5GKCkseVtydV1bdW5dKSkmJm4oZ3UseXUpO30seGU6e1F0Om11LFM6eXV9LHFlOmZ1bmN0aW9uKCl7dmFyIHQ7dD1aYy54KGFyZ3VtZW50c1swXSk/YXJndW1lbnRzWzBdOmFyZ3VtZW50cztyZXR1cm4gdGhpcy5ubih0LGxjLHRbcGldJiZ0WzBdPT09eXUpO30sd2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBXMSxsMSxjMTtXMT0xMTQ2NjMzOTY5O2wxPTU4MTgzMzU3NjtjMT0yO2Zvcih2YXIgdTE9MTt3NS5kMSh1MS50b1N0cmluZygpLHUxLnRvU3RyaW5nKCkubGVuZ3RoLDY5ODkxKSE9PVcxO3UxKyspe1pjLkcodFtOaV0oR3IrUGUrR3IpKTxlJiZpKGd1LHl1KTtjMSs9Mjt9aWYodzUuZDEoYzEudG9TdHJpbmcoKSxjMS50b1N0cmluZygpLmxlbmd0aCw0ODMyNikhPT1sMSl7WmMuRyh0W05pXShHciVQZSVHcikpPj1lfHxpKGd1LHl1KTt9fSxDaTpmdW5jdGlvbigpe3ZhciByLG8scyxhLGMsdSxoLGYscCxfO2Z1bmN0aW9uIHQoKXt2YXIgdCxlO3c1Lm80KDE3KTtlPVt3NS51NChIbixUdCxHcixFbixHcixDYSxKYSksdzUuYzQoeG4sVHQsR3IsRW4sR3IsQ2EsSmEsdzUubzQoMTcpKSx3NS5jNChKYSxUdCxRYSx3NS5ZNCg0KSksdzUuYzQoQ24sR3IsVXMsbXIsVHQsdzUubzQoMSkpLHc1LnU0KFdlLEdyLHhuLG1yLFR0LHc1Llk0KDEpKV07Zm9yKHQ9MDt0PGVbcGldO3QrKylpZihaYy5sKGVbdF0pKXtyZXR1cm4gS2MuZSh0LFpjLmwoZVt0XSkpLGd1O31yZXR1cm4geXU7fWZ1bmN0aW9uIGkoaSl7dT0yO198fChfPWd1LGlvKGZ1bmN0aW9uKCl7Xz15dTt9LFhjLm90PzUwMDoxNTApLEN1JiYhcC5VZXx8KHI9aXUudHQoaSksbz1aYy5CKHIsT24pLGM9WmMuUyhyKSxyW2FhK0dyK0dpXShsbyk9PT1mdT8oclt4ZV1beHRdPVhpLFpjLlAocikscj1pdS50dChpLGd1KSk6byYmKHM9KHI9bylbYWErR3IrR2ldKFRpKSxhPVpjLk4ociksYz1aYy5TKHIpKSxmLkVpKHIsYyksZi5YZS5paXx8Zi5YZS5uaXx8Zi5YZS5yaXx8aVtVb118fGUoZi5jaS51aVtPXSYmZi5jaS51aVtPXSE9PWlbT10pfHxlKHAuS2UmJiFFdSl8fGUoIWlbSGMrR3IrVWVdJiYhaVtIYytHcit4b10pfHxlKCFYYy5vdCYmIVhjLmcmJnR5cGVvZiBpW3F0XSE9PWdlJiYwIT09aVtxdF0pfHxlKCFYYy5vdCYmIWYuWmUmJihYYy5jdHx8WGMuYnx8WGMudXQpKXx8ZSghWGMub3QmJiFwLkdlJiYoWGMuYnx8WGMudXQpJiZzPT09RmkpfHxlKGYucGkoKSl8fGUoZi5faSgpKXx8ZSghZi5QaSgpKXx8ZSghZi5UaShyKSl8fGUoYyYmIXAuTmUpfHxlKCFwLlJlJiZ0KCkpfHwoZi5BaShpKSxYYy5ldCYmbyYmYSYmZi5FZShpKSxYYy5vdHx8IW98fGN8fChYYy5iJiZzIT09RmkmJlpjLlkoKXx8cC5HZSYmcz09PUZpJiYoWGMuYnx8WGMudXQpKSYmZi5FZShpKSxmLkZpPW11LGYuaGkoKSkpKTt9Zj10aGlzO3A9Zi5tdDtfPXl1O2Z1bmN0aW9uIGUodCl7cmV0dXJuKyt1LHQmJktjLmUodSksdDt9cC5SZXx8IXQoKT8oaD1YYy5kfHxYYy5nP3FhOmVjLGZ1bmN0aW9uKCl7aXUuWChyaSxncyxpLGd1KTtYYy5vdD8oaXUuWChyaSxlYyxuLGd1KSxpdS5YKHJpLHFhLG4sZ3UpKTppdS5YKHJpLGgsbixndSk7fSgpLHRoaXMuU2koKSx0aGlzLmppKCksdGhpcy5MaSgpLHRoaXMuemkoKSx0aGlzLkJpKCkpOktjLmUoeXUpO2Z1bmN0aW9uIG4odCl7cj1vPWM9cz1hPW11OyFYYy5vdCYmdFtIYytHcitVZV0rKFhjLm50PzE3OjE1KT55W1BhK0dyK2ddP3AuUWUmJigocj17fSkuc2Nyb2xsYmFyPWd1LGYuRWkocix5dSksZi5waSgpfHxmLl9pKCl8fCFmLlBpKCl8fGYuaGkoKSk6aSh0KTt9fSxsaTpmdW5jdGlvbih0KXtpZih0aGlzLlhlLmlpfHx0aGlzLlhlLm5pfHx0aGlzLlhlLnJpKXtyZXR1cm4geXU7fXN3aXRjaCh0Lnl0KXtjYXNlIF91Om5ldyBRYy5tZSh0KS5wZSgpO2JyZWFrO2Nhc2UgZHU6bmV3IFFjLmdlKHQpLnBlKCk7YnJlYWs7Y2FzZSBsdTpuZXcgUWMueWUodCkucGUoKTticmVhaztjYXNlIHB1OnRyeXtuZXcoUWMuZHQoKSkodCkucGUoKTt9Y2F0Y2godCl7S2MuZSh0KTt9fXJldHVybiB0LnF0KCksZ3U7fSxqaTpmdW5jdGlvbigpe3ZhciB0LGUsaSxuLHIsbztuPXRoaXM7cj17fTtvPWZ1bmN0aW9uKHQpe2ZvcihlPTA7ZTx0W3BpXTtlKyspe24uTWkodFtlXSk7fX07Q28oZnVuY3Rpb24oKXt2YXIgZTtmb3IodD0wO3Q8bi5tdC4kZVtwaV07dCsrKXtpZihlPW4ubXQuJGVbdF0sKGk9cmlbYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGUpKVtwaV0mJm4ucGkoKXx8IW4uUGkoKSl7cmV0dXJuO310eXBlb2YgcltlXSE9PWdlJiZyW2VdPT09aVtwaV18fG8oaSk7fX0sMWUzKTt9LElpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbixyLG8scyxlOSxqOSxaOTtvPTI7cz15dTtmb3IoZT0wO2U8PW87ZSsrKXtpZigobj1yaVt3citHcitqbitHcitMY10odFtIYytHcitVZV0rZSx0W0hjK0dyK3hvXSkpJiZuW1NjK0dyK21jXT09PXBhK0dyK09uK0dyK0ZjK0dyK1BzK0dyK3BhKXtzPWd1O2JyZWFrO31mb3IoaT0wO2k8PW87aSsrKWlmKChuPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXStlLHRbSGMrR3IreG9dK2kpKSYmbltTYytHcittY109PT1wYStHcitPbitHcitGYytHcitQcytHcitwYSl7cz1ndTticmVhazt9aWYocylicmVhazt9aWYocylmb3Iocz15dSxyPW5bYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGVpKSxlPTA7ZTxyW3BpXTtlKyspaWYoWmMuVShyW2VdKSl7cz1ndTticmVhazt9ZTk9MTI0NjQ2Mzc5O2o5PTE4ODY4MTA5NztaOT0yO2Zvcih2YXIgVTk9MTt3NS5MMShVOS50b1N0cmluZygpLFU5LnRvU3RyaW5nKCkubGVuZ3RoLDU5MDM1KSE9PWU5O1U5Kyspe3JldHVybiBzP246eXU7WjkrPTI7fWlmKHc1LmQxKFo5LnRvU3RyaW5nKCksWjkudG9TdHJpbmcoKS5sZW5ndGgsNDQ5MzkpIT09ajkpe3JldHVybiBzP246eXU7fX0sRGk6ZnVuY3Rpb24oKXtpZighdGhpcy5YZS5laSl7dGhpcy5YZS5laT1ndTt0cnl7dGhpcy52aSgpO3RoaXMuYmkoKTt9Y2F0Y2godCl7fUtjLmUoW3RoaXMuWGUubmk/MDoxLHRoaXMuWGUucmk/MDoxLHRoaXMuWGUueGldW05pXShHcikpO319LFhlOnt0aTp5dSxuaTpndSxlaTp5dSxvaTowLHJpOmd1LHNpOjAsaWk6eXV9LG5uOmZ1bmN0aW9uKHQsZSxpKXtmb3IodmFyIG4scj0wLG89ZT09PVJuP3RoaXMubXQuSmU6dGhpcy5tdC5xZTtpJiZvW3BpXTspe29bQnNdKCk7fWZvcig7cjx0W3BpXTtyKyspe3R5cGVvZihuPXRbcl0pPT09VGM/b1tNcl0obik6dHlwZW9mIG49PT1hciYmdHlwZW9mIG5bd2ErR3IrbWNdPT09VGMmJm9bTXJdKG4pO31yZXR1cm4gdGhpczt9LEppOmZ1bmN0aW9uKCl7dmFyIHkxLEgxLHYxLHQsZTt5MT0xNzAzNzYyNDUyO0gxPTEyMTk1OTkwMzk7djE9Mjtmb3IodmFyIEUxPTE7dzUuZDEoRTEudG9TdHJpbmcoKSxFMS50b1N0cmluZygpLmxlbmd0aCwzODk3NykhPT15MTtFMSsrKXtlPTY7Zm9yKHRoaXMuZmk9W107ZT49dGhpcy5XZVtwaV07ZS0tKXsodD10aGlzLldlW2VdKS5MdCgpfHx0aGlzLmZpW01yXSh0KTt9djErPTI7fWlmKHc1LmQxKHYxLnRvU3RyaW5nKCksdjEudG9TdHJpbmcoKS5sZW5ndGgsMjE2MzkpIT09SDEpe2U9MTtmb3IodGhpcy5maT1bXTtlPnRoaXMuV2VbcGldO2UrKyl7KHQ9dGhpcy5XZVtlXSkuTHQoKSYmdGhpcy5maVtNcl0odCk7fX1lPTA7Zm9yKHRoaXMuZmk9W107ZTx0aGlzLldlW3BpXTtlKyspeyh0PXRoaXMuV2VbZV0pLkx0KCkmJnRoaXMuZmlbTXJdKHQpO31yZXR1cm4gdGhpcy5maTt9LGRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2kudWk7fX07aXUuWCh5LFN0LGZ1bmN0aW9uKCl7dmFyIFg3LEI3LFM3O1g3PTIwMTA5MDA5MDY7Qjc9LTE2OTQwNjQ1NTI7Uzc9Mjtmb3IodmFyIGE3PTE7dzUuTDEoYTcudG9TdHJpbmcoKSxhNy50b1N0cmluZygpLmxlbmd0aCwxNDk3OSkhPT1YNzthNysrKXtFdT0hMTtTNys9Mjt9aWYodzUuZDEoUzcudG9TdHJpbmcoKSxTNy50b1N0cmluZygpLmxlbmd0aCw2MjI0OCkhPT1CNyl7RXU9IXt9O31FdT1vNTt9KTtpbyhmdW5jdGlvbigpe3c1Lm80KDE1KTtLYy5lKHc1LnU0KFNpLFllLEdyLFR0LFllLE0sR3IsWWUsUWUsT3QsQW8pKTt3NS5vNCg0KTtLYy5lKHc1LmM0KHhhLFZ0LEdyKSxvdSk7dzUuWTQoNCk7S2MuZSh3NS5jNChxaSxWdCxHciksc3UpO3c1Lm80KDQpO0tjLmUodzUudTQoRXMsVnQsR3IpLGF1KTt9LDEwKTt5W3J1XT15W3J1XXx8ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG87cj17fTtvPVpjLnAoW1trbytHcitSYStHcitudCxbR2MsR2MuaV1dLFtKbixzdV0sW0d0LG91XSxbWW8rR3IraXMsYXVdLFt6YSxbR2MsR2MuWGkscl1dLFthYStHcitJaSxbR2MsR2MuWmldXSxbYWErR3IrUStHcitiYSxbR2MsR2MuWWldXSxbYWErR3IrX28rR3IrYmEsW0djLEdjLktpXV0sW3crR3IrQ24sW0djLEdjLk1pXV0sW0huLFtHYyxHYy5lbixyXV0sW0duLFtHYyxHYy5oaSxyXV0sW2VzLFtHYyxHYy5HaSxyXV0sW2xjK0dyK2JhLFtHYyxHYy5xZSxyXV0sW1JuK0dyK2JhLFtHYyxHYy5KZSxyXV0sW2FhK0dyK2h0K0dyK0NuLFtHYyxHYy53ZV1dLFthYStHcitubitHcitabyxbR2MsR2MuJGldXSxbYWErR3IreWUrR3IrWm8sW0djLEdjLlZpXV0sW0JhK0dyK3llLFtHYyxHYy5QaV1dLFtrbytHcitkdCtHcitKZSxbR2MsR2MucGldXSxbYWErR3IrVXQrR3IramUrR3IrQmksW0djLEdjLlFpXV0sW2FhK0dyK1V0K0dyK0NhLFtHYyxHYy5kaV1dLFt6aSxbR2MsR2MuTmldXSxbYWErR3IrXyxbR2MsR2MuVWldXSxbRm8rR3IrXyxbR2MsR2MuUmldXSxbaGErVHQrT28sW0tjLEtjLmVdXSxbaGErVHQrRyxbS2MsS2Mucl1dLFtPYStUdCtsaSxbdHUsdHUuYV1dLFtPYStUdCthYSxbdHUsdHUuY11dLFtPYStUdCt4bixbdHUsdHUudV1dLFt0aStUdCtrbytHcitkaSxbZXUsZXUuc11dLFt0aStUdCtsaSxbZXUsZXUuYV1dLFt0aStUdCthYSxbZXUsZXUuY11dLFt0aStUdCt4bixbZXUsZXUudV1dLFtjZStUdCtKbixYYy5wdF0sW2NlK1R0K0lyK0dyK3FpLFhjLmZ0XSxbY2UrVHQra28rR3IrQ3MsWGMuaXRdLFtjZStUdCtrbytHcitYbyxYYy5udF0sW2NlK1R0K2tvK0dyK01hLFhjLm1dLFtjZStUdCtrbytHcit2YStHcitmYytHcit0YyxYYy5ldF0sW2NlK1R0K2tvK0dyK0JuLFhjLnJ0XSxbY2UrVHQra28rR3Irdm4sWGMub3RdLFtjZStUdCtrbytHcitoZSxYYy5zdF0sW2NlK1R0K2tvK0dyK3l0LFhjLmF0XSxbY2UrVHQra28rR3IrZ2MsWGMuYl0sW2NlK1R0K2tvK0dyK0luLFhjLmRdLFtjZStUdCtrbytHcitGYSxYYy5odF0sW2NlK1R0K2tvK0dyK3ZhK0dyK1BzLFhjLmddLFtjZStUdCtrbytHcitjcyxYYy5jdF0sW2NlK1R0K2tvK0dyK0VvLFhjLnV0XSxbY2UrVHQrSm4rR3IrdXQsW1hjLFhjLkpdXSxbY2UrVHQrYW8rR3IrZGksW1hjLFhjLmx0XV0sW0NhK1R0K2xjK0dyK3FzLFtpdSxpdS5LXV0sW0NhK1R0K2xjLFtpdSxpdS5YXV0sW0NhK1R0K2xhLFtpdSxpdS5aXV0sW0NhK1R0K2FhK0dyK3luLFtpdSxpdS50dF1dLFtLZStUdCtrbytHcit2ZStHciskZSxbWmMsWmMud11dLFtLZStUdCtKbitHcit1dCxbWmMsWmMuSl1dLFtLZStUdCtvcyxbWmMsWmMuR11dLFtLZStUdCt3byxbWmMsWmMueV1dLFtLZStUdCtKaSxbWmMsWmMuJF1dLFtLZStUdCtVcytHcitDbixbWmMsWmMuel1dLFtLZStUdCt4bitHcitDbixbWmMsWmMuUF1dLFtLZStUdCthYStHcitVaSxbWmMsWmMuQl1dLFtLZStUdCtEZStHcitZaSxbWmMsWmMuSF1dXSk7Zm9yKGUgaW4gbylpZih5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShvLGUpKXtmb3Iobj1lW0NyXShHcitUdCtHciksdD1yLGk9MDtpPG5bcGldLTE7aSsrKXt0eXBlb2YgdFtuW2ldXT09PWdlJiYodFtuW2ldXT17fSk7dD10W25baV1dO310W25bbltwaV0tMV1dPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIFpjLngodFtlXSk/MT09PXRbZV1bcGldP3RbZV1bMF06ZnVuY3Rpb24oKXtyZXR1cm4gMj09PXRbZV1bcGldP3RbZV1bMV1bb2FdKHRbZV1bMF0sYXJndW1lbnRzKToodFtlXVsxXVtvYV0odFtlXVswXSxhcmd1bWVudHMpLHRbZV1bMl0pO306dFtlXTt9KG8sZSk7fXJldHVybiByO30oKTt9KHQucG9wbnN8fHpjK0dyK1VjK0dyK09jLHQsdFtFaV0sdFtPaV0sdFttcl0sdFtyb10sdFtibl0sdFtObl0sdFtDb10sdFtyaStHcitpb10sdFtsaStHcitZaV0sdFtNaStHcitZaV0sdFtsaStHcitBaV0sdFtNaStHcitBaV0sdFtMdCtHcit0YytHcitmYytHcitndF0sdFt5K0dyK1J0XSx0W2tvK0dyK3lpK0dyK2d0XSx0W2lzXSx0W1hlK0dyK1ZyK0dyK0dzK0dyK3ZhK0dyK1VyXSx0W2RyXSk7fSh3aW5kb3cpO2Y1eXkuSD1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC55PT09J2Z1bmN0aW9uJz9mNXl5LkwueS5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwueTt9O2Y1eXkuVz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Y1eXkuZz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC5PPT09J2Z1bmN0aW9uJz9mNXl5LkwuTy5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwuTzt9O2Y1eXkuZj1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Z1bmN0aW9uIGY1eXkoKXt9ZjV5eS5CPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5MLnk9PT0nZnVuY3Rpb24nP2Y1eXkuTC55LmFwcGx5KGY1eXkuTCxhcmd1bWVudHMpOmY1eXkuTC55O307ZjV5eS5SPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5JPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5MPWZ1bmN0aW9uKEQpe3JldHVybnt5OmZ1bmN0aW9uKCl7dmFyIEcsZD1hcmd1bWVudHM7c3dpdGNoKEQpe2Nhc2UgMjpHPWRbMF0qZFsxXTticmVhaztjYXNlIDA6Rz1kWzBdfGRbMV07YnJlYWs7Y2FzZSAxOkc9ZFsxXS1kWzBdO2JyZWFrO31yZXR1cm4gRzt9LE86ZnVuY3Rpb24oVil7RD1WO319O30oKTtmNXl5Lno9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiBmNXl5LkwuTz09PSdmdW5jdGlvbic/ZjV5eS5MLk8uYXBwbHkoZjV5eS5MLGFyZ3VtZW50cyk6ZjV5eS5MLk87fTtmNXl5LkM9ZnVuY3Rpb24oKXt2YXIgUT0yO3doaWxlKFEhPT0xKXtzd2l0Y2goUSl7Y2FzZSAyOnJldHVybnt2OmZ1bmN0aW9uKFUpe3ZhciBiPTI7d2hpbGUoYiE9PTE0KXtzd2l0Y2goYil7Y2FzZSAyOnZhciBLPScnLGw9ZGVjb2RlVVJJKCJ0JTExa2JsYyU3RCUwNmhiZGxtbDYhJTNDJTNDKyU1QmNkLTo1JTVENyg4Jy8lNUJ3LzI4bWolM0M4KTA3YiolMUMyJTI1bSUwN3ElN0RvYmslMTh3JTdDc2RtaDcpKSUyMipaMmQlMTgtNUErKS5vbXMlMTUlMjUlM0UwKyU1QiUzQyUxMXUlMjA2TXk/KScsSy1kJTNFOSxLMi00OyUyMCUwNjojMCU3RDUlNUM6IzMya0s2IXU5Kks4JTIwNTo2JTVDcSUxRiUzRScsWC1sMCUyMDYlNUN5Ljh1KUc4KDgxZUolM0MqMiclMjAlMDg1JTI1JTNFMCslNUIlM0NsOyUzQylNcWIxOiZJNSIpO2I9MTticmVhaztjYXNlIDk6Sys9U3RyaW5nLmZyb21DaGFyQ29kZShsLmNoYXJDb2RlQXQoWSleVS5jaGFyQ29kZUF0KGspKTtiPTg7YnJlYWs7Y2FzZSAxOnZhciBZPTAsaz0wO2I9NTticmVhaztjYXNlIDU6Yj1ZPGwubGVuZ3RoPzQ6NzticmVhaztjYXNlIDM6az0wO2I9OTticmVhaztjYXNlIDg6WSsrLGsrKztiPTU7YnJlYWs7Y2FzZSA0OmI9az09PVUubGVuZ3RoPzM6OTticmVhaztjYXNlIDc6Sz1LLnNwbGl0KCcoJyk7cmV0dXJuIGZ1bmN0aW9uKFApe3ZhciBoPTI7d2hpbGUoaCE9PTEpe3N3aXRjaChoKXtjYXNlIDI6cmV0dXJuIEtbUF07YnJlYWs7fX19O2JyZWFrO319fSgnRShZTF1VJyl9O2JyZWFrO319fSgpOyFmdW5jdGlvbihlLG8sYyl7InVzZSBzdHJpY3QiO3ZhciBUPWY1eXk7dmFyIGksbix0O1QuZygwKTtpPVQuUihULkgoIjgiLDApKTtULnooMCk7bj1bVC5JKFQuSCgnXHgzMVx4MzAnLDApKSxULkkoKyI2IiksVC5SKCsnXHgzMVx4MzQnKSxULlIoKyIxMiIpLFQuUihULkgoIjUiLDAsVC5nKDApKSksVC5JKFQuQigwLCdceDMwJyxULnooMSkpKSxULlIoVC5CKCdceDMxXHgzMScsMCxULnooMCkpKSxULkkoKyIyIildO1QuZygyKTt0PVsrJ1x4MzJceDMwXHgzMVx4MzknLFQuQignXHUwMDM1JywxKSxULkgoJ1x4MzFceDM2JywwLFQuZygwKSldO3RyeXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yy5Mb2dnZXIubG9nKGksVC5SKCsnXHgzMScpLG4pO2MuTG9nZ2VyLmxvZyhpLFQuUigiNyItMCksdC5qb2luKFQuSSgnXHgzNCctMCkpKTt9LCsiNTAwIik7VC56KDEpO2Mub2JqZWN0PVtuLFsrIjM2MCIsNDk0LDM5MSwrIjMxMiIsVC5CKDAsIjMxMiIpLFQuSCgiMzY1IiwwLFQuZygwKSksKydceDM0XHgzMFx4MzQnLFQuSCgiMzAwIiwwLFQuZygwKSksKydceDMzXHgzNlx4MzBceDMwXHgzMScsVC5IKDAsJ1x4MzNceDM5XHgzNVx4MzJceDMyJyxULmcoMSkpLFQuQigiMTg3NzEiLDAsVC56KDApKSwrIjM0OTQ4IiwxNjU0MSwyOTU3MSwrJ1x4MzVceDMxXHgzN1x4MzFceDM5JywzMzkwOCxULkgoIjc4ODQwIiwwLFQuZygwKSksMTA1OTY0LCsnXHgzOFx4MzRceDM1XHgzNVx4MzUnLFQuSCgiNzI0MjYiLDAsVC5nKDApKSxULkgoJ1x4MzNceDMwXHgzNVx4MzlceDM5JywwLFQuZygwKSksVC5CKCdcdTAwMzRcdTAwMzFcdTAwMzZcdTAwMzJcdTAwMzYnLDAsVC5nKDApKSxULkIoMCwnXHUwMDM4XHUwMDM4XHUwMDMwXHUwMDM4XHUwMDM0JyxULnooMSkpLFQuSCgiNjU0MDkiLDEsVC5nKDIpKSwxNDQwMCxULkgoIjEyODQ0IiwxLFQueigyKSksKydceDM4XHgzNlx4MzBceDMyJyxULkgoJ1x4MzFceDMwXHgzOVx4MzJceDMwJywxLFQuZygyKSksMTM0MTYsVC5IKCdceDMyXHgzNFx4MzhceDMyXHgzMCcsMCxULmcoMCkpLFQuQignXHgzM1x4MzdceDM5XHgzN1x4MzYnLDAsVC56KDApKSwrJ1x4MzVceDMxXHg2NVx4MzMnXSx0LFtULkgoJ1x4MzNceDM2XHgzMicsMCxULmcoMCkpLDQ5NiwrJ1x4MzNceDM5XHgzOScsVC5IKDAsIjczMDkyMyIsVC5nKDEpKSwrJ1x1MDAzMlx1MDAzNVx1MDAzMVx1MDAzMicsVC5IKCI2Mzk4IiwwLFQueigwKSksVC5IKCdcdTAwMzRcdTAwMzFcdTAwMzFcdTAwMzlcdTAwMzFcdTAwMzJcdTAwMzInLDEsVC5nKDIpKSwrJ1x4MzFceDMxXHgzMVx4MzlceDMyJyxULkgoJ1x4MzNceDM0XHgzMlx4MzNceDM2JywwLFQueigwKSksMjQ2MSwzMjU1NywxMDIxMF0sby5jdXJyZW50U2NyaXB0LFQuSCgiMSIsMSxULmcoMikpXTt9Y2F0Y2gobyl7dm9pZCgnXHgzMCcqMSkhPT1lLmNvbnNvbGUmJmUuY29uc29sZS5sb2cmJkZ1bmN0aW9uLmFwcGx5LmNhbGwoZS5jb25zb2xlLmxvZyxlLmNvbnNvbGUsW1QuSSgnXHgzMVx4MzMnfDApXSk7fX0od2luZG93LGRvY3VtZW50LHdpbmRvd1t3aW5kb3cucG9wbnN8fGY1eXkuUigiMyItMCldKTt2YXIgXzB4MTM4Zj1bJ1x4NThceDQ4XHg2M1x4NzInLCdceDQ5XHg1NFx4NDVceDZmXHg2NFx4NDNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NmNceDUwXHg1NFx4NDVceDZmXHg1YVx4NTNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NzVceDUwXHg1OFx4NTFceDc1XHg2Mlx4NzlceDY3XHg2OVx4NjJceDUzXHg0OVx4NzBceDRmXHg3YVx4NTlceDY3XHg2Mlx4NjlceDM0XHg3OVx4NGNceDZkXHg3N1x4MzlceDQ5XHg2ZFx4NzNceDY5XHg0Y1x4NDdceDM0XHg3NVx4NGRceDY5XHgzNVx4NzdceDUwXHg1NFx4NDFceDczXHg2Mlx4NjlceDM0XHg3OVx4NGNceDZlXHg0NVx4MzlceDRkXHg0M1x4NzhceDc1XHg0Y1x4NmFceDQ5XHg3NVx4NjRceDdhXHgzMFx4NjlceDYxXHg2OVx4NDlceDczXHg2Mlx4NjlceDM1XHgzMVx4NTBceDUzXHg0OVx4MzNceDRmXHg2OVx4MzhceDc2XHg2M1x4NjlceDM1XHgzNFx4NGNceDZhXHg1NVx4NzZceDYxXHg0M1x4MzlceDY4XHg0Y1x4NzlceDQ5XHg3Mlx4NWFceDUzXHg3OFx4MzBceDRjXHg2ZFx4NDlceDc1XHg2MVx4NTNceDY4XHg3NVx4NGJceDUzXHg3OFx4NzVceDY2XHg1M1x4NzhceDc1XHg1MFx4NTdceDRkXHg2Zlx4NWFceDc5XHg2N1x4NmZceDY0XHg0M1x4MzVceDZiXHg0Y1x4NmVceDU5XHg2Zlx4NTFceDY5XHg0Mlx4NGZceDRiXHg0M1x4NDlceDZmXHg0ZVx4N2FceDM5XHgzOFx4NTNceDY5XHgzMVx4MzVceDRiXHg1NFx4NzBceDYzXHg1OFx4NDNceDM5XHg2M1x4NThceDQzXHgzOFx4NjlceDRiXHg1M1x4NzdceDY5XHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDRjXHg3OVx4NDlceDcwXHg1N1x4N2FceDQyXHg2NFx4NjZceDQ4XHg3N1x4NjlceDUzXHg3OVx4MzRceDMxXHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDQ5XHg2OVx4NmJceDc1XHg1NFx4NDNceDY3XHg3OFx4NGJceDQ4XHg1MVx4NzBceDY1XHg3YVx4NTlceDY3XHg2NFx4NDNceDM1XHg0ZVx4NGJceDQ0XHg0MVx4NzBceDRjXHg2Ylx4NjNceDZmXHg1M1x4NDNceDZjXHgzOVx4NGJceDUzXHgzNVx4NDJceDRiXHg0M1x4NDlceDY5XHg0Ylx4NTNceDZiXHg3MFx4NGZceDMzXHg2Zlx4NzVceDRlXHg0M1x4NjdceDY5XHg1MVx4NzlceDQ5XHg3M1x4NGRceDUzXHg2N1x4NzBceDY1XHgzMlx4NTVceDZmXHg2Mlx4NjlceDczXHg2OVx4NGNceDMyXHg1OVx4NzVceDRmXHg1M1x4NDlceDcwXHg0Y1x4NmFceDUxXHg2Zlx4NDlceDZiXHg1MVx4NjlceDRjXHg0NFx4NDVceDZmXHg0Ylx4NThceDc0XHg0N1x4NGJceDQ0XHg0NVx4NmZceDRiXHg1OFx4NzRceDZjXHg0Ylx4NDdceDM0XHg3Mlx4NDlceDY5XHgzOVx4N2FceDRjXHg2YVx4NmJceDY5XHg0Ylx4NThceDMwXHg3M1x4NTJceDUzXHg2Y1x4MzlceDRiXHg1OFx4MzBceDcwXHg2Nlx4NTNceDY4XHg0YVx4NGJceDU0XHg3M1x4M2QnLCdceDYzXHgzM1x4NDJceDczXHg2MVx4NThceDUxXHgzZCcsJ1x4NWFceDZlXHg0YVx4NzZceDYyXHg1NVx4NGVceDZmXHg1OVx4NThceDRhXHg0NFx4NjJceDMyXHg1Mlx4NmMnLCdceDY0XHg0N1x4MzlceDU0XHg2NFx4NDhceDRhXHg3MFx4NjJceDZkXHg2M1x4M2QnLCdceDYzXHg2ZFx4NTZceDc3XHg2Mlx4NDdceDQ2XHg2YVx4NWFceDUxXHgzZFx4M2QnXTsoZnVuY3Rpb24oXzB4MWI1OWFjLF8weDMwZDYwNSl7dmFyIF8weDQ0NTljOT1mdW5jdGlvbihfMHgxNDY4YWMpe3doaWxlKC0tXzB4MTQ2OGFjKXtfMHgxYjU5YWNbJ3B1c2gnXShfMHgxYjU5YWNbJ3NoaWZ0J10oKSk7fX07XzB4NDQ1OWM5KCsrXzB4MzBkNjA1KTt9KF8weDEzOGYsMHgxMGIpKTt2YXIgXzB4MTdjMT1mdW5jdGlvbihfMHgxOTc3ZGIsXzB4Yzc5ZjY5KXtfMHgxOTc3ZGI9XzB4MTk3N2RiLTB4MDt2YXIgXzB4MTYyZGYyPV8weDEzOGZbXzB4MTk3N2RiXTtpZihfMHgxN2MxWydPTXJTcXgnXT09PXVuZGVmaW5lZCl7KGZ1bmN0aW9uKCl7dmFyIF8weDI0NzE2Njt0cnl7dmFyIF8weDViZDYyOT1GdW5jdGlvbigncmV0dXJuXHgyMChmdW5jdGlvbigpXHgyMCcrJ3t9LmNvbnN0cnVjdG9yKFx4MjJyZXR1cm5ceDIwdGhpc1x4MjIpKFx4MjApJysnKTsnKTtfMHgyNDcxNjY9XzB4NWJkNjI5KCk7fWNhdGNoKF8weDMyOTViMCl7XzB4MjQ3MTY2PXdpbmRvdzt9dmFyIF8weDI4M2NlOT0nQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0nO18weDI0NzE2NlsnYXRvYiddfHwoXzB4MjQ3MTY2WydhdG9iJ109ZnVuY3Rpb24oXzB4MzQxYjE5KXt2YXIgXzB4MTQ0Zjk2PVN0cmluZyhfMHgzNDFiMTkpWydyZXBsYWNlJ10oLz0rJC8sJycpO2Zvcih2YXIgXzB4MjhhNzVlPTB4MCxfMHg1OWNiNWIsXzB4MWUwOTNkLF8weDUxZWZhNj0weDAsXzB4OTIyYWFjPScnO18weDFlMDkzZD1fMHgxNDRmOTZbJ2NoYXJBdCddKF8weDUxZWZhNisrKTt+XzB4MWUwOTNkJiYoXzB4NTljYjViPV8weDI4YTc1ZSUweDQ/XzB4NTljYjViKjB4NDArXzB4MWUwOTNkOl8weDFlMDkzZCxfMHgyOGE3NWUrKyUweDQpP18weDkyMmFhYys9U3RyaW5nWydmcm9tQ2hhckNvZGUnXSgweGZmJl8weDU5Y2I1Yj4+KC0weDIqXzB4MjhhNzVlJjB4NikpOjB4MCl7XzB4MWUwOTNkPV8weDI4M2NlOVsnaW5kZXhPZiddKF8weDFlMDkzZCk7fXJldHVybiBfMHg5MjJhYWM7fSk7fSgpKTtfMHgxN2MxWyd4anFrREYnXT1mdW5jdGlvbihfMHgzMzc3MTgpe3ZhciBfMHg1ZGRiMTU9YXRvYihfMHgzMzc3MTgpO3ZhciBfMHg1NjBiOTU9W107Zm9yKHZhciBfMHhjOTdmOTE9MHgwLF8weDQ0MTg3Mj1fMHg1ZGRiMTVbJ2xlbmd0aCddO18weGM5N2Y5MTxfMHg0NDE4NzI7XzB4Yzk3ZjkxKyspe18weDU2MGI5NSs9JyUnKygnMDAnK18weDVkZGIxNVsnY2hhckNvZGVBdCddKF8weGM5N2Y5MSlbJ3RvU3RyaW5nJ10oMHgxMCkpWydzbGljZSddKC0weDIpO31yZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KF8weDU2MGI5NSk7fTtfMHgxN2MxWydrRG1IU2snXT17fTtfMHgxN2MxWydPTXJTcXgnXT0hIVtdO312YXIgXzB4MzA2NDA1PV8weDE3YzFbJ2tEbUhTayddW18weDE5NzdkYl07aWYoXzB4MzA2NDA1PT09dW5kZWZpbmVkKXtfMHgxNjJkZjI9XzB4MTdjMVsneGpxa0RGJ10oXzB4MTYyZGYyKTtfMHgxN2MxWydrRG1IU2snXVtfMHgxOTc3ZGJdPV8weDE2MmRmMjt9ZWxzZXtfMHgxNjJkZjI9XzB4MzA2NDA1O31yZXR1cm4gXzB4MTYyZGYyO307ZXZhbChmdW5jdGlvbihfMHg0OWIyZTksXzB4MTA2OTM1LF8weDIyM2Q1NixfMHgyZmY2ZTksXzB4ZWQ3ZDI2LF8weDNiYzUwMCl7XzB4ZWQ3ZDI2PWZ1bmN0aW9uKF8weDI2YmI4Mil7cmV0dXJuKF8weDI2YmI4MjxfMHgxMDY5MzU/Jyc6XzB4ZWQ3ZDI2KHBhcnNlSW50KF8weDI2YmI4Mi9fMHgxMDY5MzUpKSkrKChfMHgyNmJiODI9XzB4MjZiYjgyJV8weDEwNjkzNSk+MHgyMz9TdHJpbmdbXzB4MTdjMSgnMHgwJyldKF8weDI2YmI4MisweDFkKTpfMHgyNmJiODJbXzB4MTdjMSgnMHgxJyldKDB4MjQpKTt9O2lmKCEnJ1tfMHgxN2MxKCcweDInKV0oL14vLFN0cmluZykpe3doaWxlKF8weDIyM2Q1Ni0tKXtfMHgzYmM1MDBbXzB4ZWQ3ZDI2KF8weDIyM2Q1NildPV8weDJmZjZlOVtfMHgyMjNkNTZdfHxfMHhlZDdkMjYoXzB4MjIzZDU2KTt9XzB4MmZmNmU5PVtmdW5jdGlvbihfMHgzMjA3ZjYpe3JldHVybiBfMHgzYmM1MDBbXzB4MzIwN2Y2XTt9XTtfMHhlZDdkMjY9ZnVuY3Rpb24oKXtyZXR1cm4gXzB4MTdjMSgnMHgzJyk7fTtfMHgyMjNkNTY9MHgxO307d2hpbGUoXzB4MjIzZDU2LS0pe2lmKF8weDJmZjZlOVtfMHgyMjNkNTZdKXtfMHg0OWIyZTk9XzB4NDliMmU5W18weDE3YzEoJzB4MicpXShuZXcgUmVnRXhwKCdceDVjXHg2MicrXzB4ZWQ3ZDI2KF8weDIyM2Q1NikrJ1x4NWNceDYyJywnXHg2NycpLF8weDJmZjZlOVtfMHgyMjNkNTZdKTt9fXJldHVybiBfMHg0OWIyZTk7fShfMHgxN2MxKCcweDQnKSwweDMyLDB4MzIsJ1x4N2NceDY2XHg3NVx4NmVceDYzXHg3NFx4NjlceDZmXHg2ZVx4N2NceDczXHg3NFx4NzlceDZjXHg2NVx4N2NceDczXHg3MFx4NmNceDY5XHg3NFx4N2NceDYxXHg2NFx4NjRceDQ1XHg3Nlx4NjVceDZlXHg3NFx4NGNceDY5XHg3M1x4NzRceDY1XHg2ZVx4NjVceDcyXHg3Y1x4NjNceDZmXHg2ZFx4N2NceDcyXHg2NVx4NzRceDc1XHg3Mlx4NmVceDdjXHg2OFx4NzRceDc0XHg3MFx4NzNceDdjXHg3Nlx4NjFceDcyXHg3Y1x4NzBceDZlXHg2N1x4N2NceDcwXHg3NFx4N2NceDYyXHg2Zlx4NjRceDc5XHg3Y1x4NjVceDZlXHg2M1x4NmZceDY0XHg2NVx4NTVceDUyXHg0OVx4NDNceDZmXHg2ZFx4NzBceDZmXHg2ZVx4NjVceDZlXHg3NFx4N2NceDcyXHg2NVx4NjZceDY1XHg3Mlx4NzJceDY1XHg3Mlx4N2NceDdjXHg3Y1x4NjJceDc0XHg2Zlx4NjFceDdjXHg3Nlx4MzFceDdjXHg2MVx4NzBceDcwXHg2NVx4NmVceDY0XHg0M1x4NjhceDY5XHg2Y1x4NjRceDdjXHg2ZVx4NmZceDZlXHg2NVx4N2NceDYxXHg2Mlx4NzNceDZmXHg2Y1x4NzVceDc0XHg2NVx4N2NceDcwXHg2Zlx4NzNceDY5XHg3NFx4NjlceDZmXHg2ZVx4N2NceDY5XHg2ZFx4NjdceDdjXHg3Y1x4NjNceDcyXHg2NVx4NjFceDc0XHg2NVx4NDVceDZjXHg2NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg3NFx4NmZceDcwXHg3Y1x4NmNceDY1XHg2Nlx4NzRceDdjXHg2MVx4NzBceDY5XHg3Y1x4N2NceDdjXHg3M1x4NzJceDYzXHg3Y1x4NzJceDY1XHg3MFx4NmNceDYxXHg2M1x4NjVceDdjXHg3MFx4NmZceDY5XHg2ZVx4NzRceDY1XHg3Mlx4NDVceDc2XHg2NVx4NmVceDc0XHg3M1x4N2NceDYzXHg2Y1x4NjlceDYzXHg2Ylx4NjFceDY5XHg2ZVx4NjVceDdjXHg2MVx4NzBceDcwXHg3Y1x4NzdceDY5XHg2ZVx4NjRceDZmXHg3N1x4N2NceDZhXHg2Zlx4NjlceDZlXHg3Y1x4NmVceDY1XHg3N1x4N2NceDQ0XHg0Zlx4NGRceDQzXHg2Zlx4NmVceDc0XHg2NVx4NmVceDc0XHg0Y1x4NmZceDYxXHg2NFx4NjVceDY0XHg3Y1x4NmNceDZmXHg2MVx4NjRceDdjXHgzNVx4NjVceDMzXHg3Y1x4NzNceDY1XHg3NFx4NTRceDY5XHg2ZFx4NjVceDZmXHg3NVx4NzRceDdjXHg3NFx4NmZceDUzXHg3NFx4NzJceDY5XHg2ZVx4NjdceDdjXHgzMVx4MzZceDdjXHg2NFx4NmZceDYzXHg3NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg2MVx4NmVceDY0XHg3Mlx4NmZceDY5XHg2NFx4N2NceDY0XHg2Zlx4NzRceDdjXHg2ZFx4NjFceDcwXHg3Y1x4NjNceDY4XHg2MVx4NzJceDQzXHg2Zlx4NjRceDY1XHg0MVx4NzRceDdjXHg1Mlx4NjVceDY3XHg0NVx4NzhceDcwJ1tfMHgxN2MxKCcweDUnKV0oJ1x4N2MnKSwweDAse30pKTsKO3ZhciBjSVBvcCA9IGZ1bmN0aW9uIGNJUG9wKHVybCkgewoJCWNQb3AuY29uZmlnKHsKCQkJY292ZXJUYWdzOiBbJ3ZpZGVvJywgJ2lmcmFtZSddLAoJCQl0YWJVbmRlcklnbm9yZVRhcmdldEJsYW5rOiB0cnVlLAoJCQlkZWxheTogMTAwCgkJfSk7CgkJY1BvcC5hZGQodXJsLCB7CgkJCW5ld1RhYjogdHJ1ZSwKCQkJdW5kZXI6IHRydWUsCgkJCWNvb2tpZUV4cGlyZXM6IDEwMH0pfTs=(Line 1)
Message:
console.clear
console-api log URL: https://tpmedia-reactads.com/reactAds-script.js(Line 2)
Message:
[object HTMLDivElement]
console-api log URL: https://tpmedia-reactads.com/reactAds-script.js(Line 2)
Message:
console.clear
console-api log URL: data:text/plain;base64,d2luZG93LnBvcG5zID0gJ2NQb3AnO3Y3R0cuYzQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmU0PT09J2Z1bmN0aW9uJz92N0dHLlo0LmU0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmU0O307djdHRy5pMT1mdW5jdGlvbigpe3ZhciBxMT1mdW5jdGlvbihJMSxLMSl7dmFyIEExPUsxJjB4ZmZmZjt2YXIgcjE9SzEtQTE7cmV0dXJuKHIxKkkxfDApKyhBMSpJMXwwKXwwO30sbTE9ZnVuY3Rpb24oajEsVTEsaDEpe3ZhciB4MT0weGNjOWUyZDUxLHoxPTB4MWI4NzM1OTM7dmFyIGUxPWgxO3ZhciB0MT1VMSZ+MHgzO2Zvcih2YXIgWjE9MDtaMTx0MTtaMSs9NCl7dmFyIFExPWoxLmNoYXJDb2RlQXQoWjEpJjB4ZmZ8KGoxLmNoYXJDb2RlQXQoWjErMSkmMHhmZik8PDh8KGoxLmNoYXJDb2RlQXQoWjErMikmMHhmZik8PDE2fChqMS5jaGFyQ29kZUF0KFoxKzMpJjB4ZmYpPDwyNDtRMT1xMShRMSx4MSk7UTE9KFExJjB4MWZmZmYpPDwxNXxRMT4+PjE3O1ExPXExKFExLHoxKTtlMV49UTE7ZTE9KGUxJjB4N2ZmZmYpPDwxM3xlMT4+PjE5O2UxPWUxKjUrMHhlNjU0NmI2NHwwO31RMT0wO3N3aXRjaChVMSU0KXtjYXNlIDM6UTE9KGoxLmNoYXJDb2RlQXQodDErMikmMHhmZik8PDE2O2Nhc2UgMjpRMXw9KGoxLmNoYXJDb2RlQXQodDErMSkmMHhmZik8PDg7Y2FzZSAxOlExfD1qMS5jaGFyQ29kZUF0KHQxKSYweGZmO1ExPXExKFExLHgxKTtRMT0oUTEmMHgxZmZmZik8PDE1fFExPj4+MTc7UTE9cTEoUTEsejEpO2UxXj1RMTt9ZTFePVUxO2UxXj1lMT4+PjE2O2UxPXExKGUxLDB4ODVlYmNhNmIpO2UxXj1lMT4+PjEzO2UxPXExKGUxLDB4YzJiMmFlMzUpO2UxXj1lMT4+PjE2O3JldHVybiBlMTt9O3JldHVybntiMTptMX07fSgpO3Y3R0cuRDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LkM2PT09J2Z1bmN0aW9uJz92N0dHLlo0LkM2LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LkM2O307djdHRy5MMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLlo2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5DNj09PSdmdW5jdGlvbic/djdHRy5nNi5DNi5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5DNjt9O3Y3R0cuWjQ9ZnVuY3Rpb24oQTQpe3JldHVybntlNDpmdW5jdGlvbigpe3ZhciBTNCxsND1hcmd1bWVudHM7c3dpdGNoKEE0KXtjYXNlIDI6UzQ9bDRbMF0rbDRbMV07YnJlYWs7Y2FzZSAyMjpTND1sNFsyXStsNFswXS1sNFsxXTticmVhaztjYXNlIDc6UzQ9bDRbNF0rbDRbMTBdK2w0WzExXStsNFszXSsobDRbNl0rbDRbMV0rbDRbNV0rbDRbOV0rbDRbMl0rbDRbMF0rbDRbOF0pK2w0WzddO2JyZWFrO2Nhc2UgNjpTND1sNFsyXS9sNFswXS9sNFsxXTticmVhaztjYXNlIDE3OlM0PWw0WzZdK2w0WzFdK2w0WzBdK2w0WzRdK2w0WzVdK2w0WzJdK2w0WzNdO2JyZWFrO2Nhc2UgMTpTND1sNFszXStsNFs0XStsNFsyXStsNFsxXStsNFswXTticmVhaztjYXNlIDM6UzQ9bDRbMV0rKGw0WzNdK2w0WzVdK2w0WzBdK2w0WzRdK2w0WzJdKTticmVhaztjYXNlIDExOlM0PWw0WzFdPGw0WzBdO2JyZWFrO2Nhc2UgOTpTND1sNFswXT4tbDRbMV07YnJlYWs7Y2FzZSA0OlM0PWw0WzBdK2w0WzFdK2w0WzJdO2JyZWFrO2Nhc2UgODpTND1sNFswXT09PWw0WzFdO2JyZWFrO2Nhc2UgMTQ6UzQ9bDRbMF0rbDRbNF0rbDRbN10rbDRbMl0rbDRbNV0rbDRbM10rbDRbMV0rbDRbNl0rbDRbOF07YnJlYWs7Y2FzZSAyMTpTND1sNFswXSVsNFsyXS1sNFsxXTticmVhaztjYXNlIDEyOlM0PWw0WzVdK2w0WzJdK2w0WzZdK2w0WzBdKyhsNFs0XStsNFszXStsNFsxXSk7YnJlYWs7Y2FzZSAxNjpTND1sNFswXStsNFsyXTxsNFsxXTticmVhaztjYXNlIDIwOlM0PWw0WzFdJWw0WzJdKmw0WzBdO2JyZWFrO2Nhc2UgNTpTND1sNFs1XSsobDRbMTNdK2w0WzNdK2w0WzddK2w0WzEyXStsNFs2XStsNFs0XStsNFsyXStsNFswXStsNFsxMF0rbDRbOF0rbDRbMTFdK2w0WzldK2w0WzFdKTticmVhaztjYXNlIDA6UzQ9bDRbOV0rbDRbOF0rbDRbMl0rbDRbMTNdK2w0WzNdK2w0WzRdK2w0WzFdK2w0WzBdK2w0WzddK2w0WzExXStsNFsxMF0rbDRbNl0rbDRbNV0rbDRbMTRdK2w0WzEyXTticmVhaztjYXNlIDE4OlM0PWw0WzBdKmw0WzJdJWw0WzFdO2JyZWFrO2Nhc2UgMTA6UzQ9LWw0WzBdPT09bDRbMV07YnJlYWs7Y2FzZSAxMzpTND1sNFsxNF0rbDRbMjddK2w0WzE5XStsNFswXStsNFsxMV0rbDRbNV0rbDRbMTBdK2w0WzI5XStsNFsyXStsNFsyM10rbDRbMjBdK2w0WzRdK2w0WzIyXStsNFsxOF0rbDRbMjRdK2w0WzEyXStsNFs3XStsNFsxNV0rbDRbNl0rbDRbMTNdK2w0WzE3XStsNFs5XStsNFsyOF0rbDRbMjFdK2w0WzFdK2w0WzMwXStsNFsyNl0rbDRbMTZdK2w0WzNdK2w0WzI1XStsNFs4XTticmVhaztjYXNlIDE5OlM0PWw0WzFdL2w0WzBdJWw0WzJdO2JyZWFrO2Nhc2UgMTU6UzQ9bDRbNV0rbDRbNF0rbDRbMTBdK2w0WzFdK2w0WzZdK2w0WzldK2w0WzJdK2w0WzddK2w0WzhdK2w0WzNdK2w0WzBdO2JyZWFrO31yZXR1cm4gUzQ7fSxzNDpmdW5jdGlvbihQNCl7QTQ9UDQ7fX07fSgpO3Y3R0cueDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy51ND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuZTQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuZTQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuZTQ7fTtmdW5jdGlvbiB2N0dHKCl7fXY3R0cuWTQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LnM0PT09J2Z1bmN0aW9uJz92N0dHLlo0LnM0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LnM0O307djdHRy5vND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuczQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuczQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuczQ7fTt2N0dHLmw2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuQjQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy5nNj1mdW5jdGlvbigpe3ZhciBzNj0yO3doaWxlKHM2IT09MSl7c3dpdGNoKHM2KXtjYXNlIDI6cmV0dXJue0M2OmZ1bmN0aW9uKHg2KXt2YXIgbTY9Mjt3aGlsZShtNiE9PTE0KXtzd2l0Y2gobTYpe2Nhc2UgNDptNj1JNj09PXg2Lmxlbmd0aD8zOjk7YnJlYWs7Y2FzZSAyOnZhciBQNj0nJyxVNj1kZWNvZGVVUkkoIjIjMUw3QTg4LEk1Vz84O1Y0WiUyMiUzRStHO0IlMjIpJTIwRyUwQUUlMjIkLFE/RTIyJTE0UChBMCMqRypLJjklM0MlNUQ/ViUzQz8sdDtHKCUzRTdNL1Y4Mj8lNUM0UTQtJTIwRyUxOEElMjI4N0skaTkoN0c3TTgyJTA1JTVDOE8/OCxaNUolMjUjJTNFJTVDJG4lMjUyJTdCRyxBJD87VjRabTIhTTVUKCQzVyUzRUgzKCxLP0k5OjdHaCUxNiglMUU3Xz9WMyUzRSxaNUolMjIpJTNDTSRJMyUzRTUlNUMkSjM0JkclMEJHO3U5JTVEJHooJTAwPSU1RT1BJDIhJTVDLlolM0UpOyU1RTJQKCUwOSUzRSU1QzdBODghRylQLyUyMDdHLE0lMjUlMjUwUDZNJTIyNSxqJEc6JTI1N1cuWjMlMjA3VD9KJTIyMiUxNUE2WiUxQSYsaz9FNSQ3JTVEJGswMj1fJTNDVzM4LG8lMjBaJTEzKyxuM0oyIyUyNUc5RTgvN1UkbicvKyUwQzBGZCU3QyUyMkc4TTgoLEk1TTg4N0skSiMhMCU1QyhaNS0lM0VVJH4oJTIwN18uWngyJlgoQzM4LHoyVjkhN0clM0VBJTIwJTI1MSU1QyRwLyUzQzdKJFclM0UjJ1UlM0VaJTIyLTVHJTAzJTE3KCUwNTVXNVYzMiUxMFA0QCglMTk1RyUwQVY5JTNDMyU1RTtQPyMlM0NHNVQzJTIyN0skSDkvM00zSzgyJTA1QTZHJTNDO2pHLk07KSx2NEczMiUxM1U2WjAlM0UzVD9aJTA1ISxLO0oyIz9HJTE4UiglMDU2RzBLPyUyMiwlNjAqWjsjJCU1QyRTPyUyMjZWLVoyJTI1IUk2RS8ybEclMUVLOy07VyRAMz85TTVUKCUwQSElNUUkUDcuJ1clM0VBJDIlMTMlNUUkRTQjJ00kVzUlM0U7SS5aJjkhUSRBJTIwKSUzQ00pWiUyMiUzRTNXKVQ3JTNFN1cuWiY4MVY0QyglMUYmVihFMSkseCRQNy4saT9WJi01JTVDJEk3NCxKL0YlMjU4JTIwRzZLNygsajlWPyUzQyZHJTEzSiUyMiklMjBPO0goJCUyMCU1QyUzQ1o4IyxaKEE3ODdHO1AlMjItMVEkSDklMjI1Ry9WOjIlMUZYLkwoLTBaJTNFQTArOlAwTzohJTNDVipVJD8mTCxTLjUoRyUxNVQzJTNFM0clMENFOjk3RyUxOEgoOSUzQyU1RD9WKCUwNSYlNUM3WiUxNCUzRT1OKUEkMiUxM1clM0VWOSUyNTZHOVEkJTNFN1cuWiUxNCUyMDNXMVoyKSRHNEslMjIyJTFFJTVDJTNDUCg/N1U/RyUyMiMlMjBHJTFEJTFEPy04TmJaPyUyMiUzQyU1QyhaNCUyMDNXMVolMDM1LCU1QyRzPyUyMix4LlolMTQ5MCU1QjZBKCg3WjVAMzIlMDJYKEE4OCxoL0EjKTZHdlolMDU4M1QqWiYtJTIwJTVDNFAoJDNKJFElMjUpJTIwRyhBJiUyMDNaP1olMDAyI0w/Vi8yJTNDJTVDLlM5JTNFOUcpTD8qJkcqVjk4PU0jVDMyPSU1QjBBNTgseSRKIyUyMCUzRUcuSyh+YiUwOGJaPyUyMiUyMkwuWjstJloyWiQpIU01VjMyO18oRTspLHU1UzMlM0UsJTdGalolMDQyJTA2UTtKJTNFMiUxRkc4USUyMjg9VyRvMjIlMTglMDkkcSQlMjAsaSRGMyo9Sz9aJTAwKSUyMEozSzgyJTA0TCRBOC0wVT9AKCUwMyxLP1czOCwlMTEkVjM/O0M/WiMlMjI2JTVDJTNDTTgpNkd6WiUyNSUzRTFHJTFEQSUyMjg3SyUwNSU3QiglMUM6WDRaPzIxVT9FJDIwWClBJTYweCwlNjAkQDMuJyU1RSRDMzgsUztSNz8xSzNUJTIyMjNNLlY/LidNP1coJTFGJkszSjEyLHU3WjgpJTI1RzVKNSUyMDtaMVolMTF1JTI1JTVEJCU3QyhjLFQzSTMyJTE0TDRHJTIyJTI1PVckVjM9JyU1QylQKCUxMHplc3glMjVmKWUpJTBFJTBBJTE3JTBFSnBKNzg7Tz8lMDQ1IzYlNUMlMDZXJTdDJTEwJTBGZSklMEUrMiUxRVA0US4yJTFFJTA5KkwyISwlNUQ/VyUyMiUzRT1AJE07MjZQKVQ3ODFRJE04PzdLLlo4IzYlNUMkajoyJTAxJTVDNkE1OD1LJCUxMiglMDg3JTVCL0MoJTE4MyU1RSlaJTE0JCwlNUU/SzojMVguTTklMjIsJTdDLEE4OCxYKlQ6NSwlNUQ7UDcycUclMEVFJCs3TSRnOSElMjJYKEEoaSwlN0Y2RTEyY0clMTlFJTI1KSwlNUQ1STclMjUlM0NHJTFCUSUyMiQ9SyRGOSgrRztAMjIlMERmJTNFQTAlMjUlM0MlNUMkcDcrLFQ/VyUyNS01JTVDJEk5OSElNUMvVCglMEElMjBWN1olMDYjO1cuWiUyMC0lMjBHJTBFSyMvOiU1QylaJTAyIywlN0QtUig2LFg4VzklMjAnTT9aJTA3Kyx4NEclM0UjJTIwRzNKMikqRy1BNCc7TSRWMyUyMDdYKUEoJTAxPUwpQSglMEEzVTZGNy85RyUwOVA3LzlHOUUlMjIvOkcqSyUyNTgsWjVKNS0mRyUxNiUxNSglMjA3Vz1QJTNFMiUyMCU1RCRUNyUzRSElNUMkaS8yOlAlM0VAMyUyMiwlMDhqJTE0KCUwQTtLP1olMTc2LFEuUCY/LGk/VjslMjUhSjNLODIlMDBQJGsmKSUzQyU1QyhaJTA3MiUzQ1Y0QSgvJ0spSyQyJTIyWD1BKCUzQypHJ1olMTgtPyU1QyRHJTNFLSUzQyU1RT9AKCUxOSZQNlcoPyZLM0oxMiUxMyU1RTglMTYoJTBEJFgzSDcuJTNFJTVDJGJkMiUxNSUwMDNFJTNDMiUxQl8oRTspLHo1SSYjJTNDJTVDNFAoJTBEPVokJTE5KCUwRCUyNUclMTZafiUxMCFFfiUwRCgvPVcuRTU4LH4kVjM/O0M7RjopLHguUCQlMjUwTC5BKCUwMT0lNUIzSDMyPUszQz8lMjIsWC9QJTNFIyUyMEc/JTVDMy8sdipBODIlMERNO1YxKSZHJTNDTS4pNkclMDVQPyE3Vi9QJTA5MiUxM1YkcSglMDg3XztROjgsdTtXJTIyMiUxQkclM0VBJTIyLTFRJHYlMjAyJTA4JTBCJHc1JTNFPVU2RjclM0UsJTdGKVolMDItMEc/JTVDJiUyNSUyMCU1QylaJTE0OyxQJTNFWiUxRiUyMjYlNUMlMjJaOyMwUDZBKCUwRStHJTBETTI4Okc3TyYyJTExViUzRUEoJTIyM1Q/WiUyNSUzQzdaM0I/KTZHKkUlMjIkLFo2TTUnLHElM0VMNzIwVS9WKCUxQyUyMFYqQSQ4K0c5SzgqOyU1RSRXMyUyMDRHJTA4TWY0LGgvWjAlMjA9VihaJTEzNCUyMkclMTVTODIlMTclNUQ9QSglMjUhRyUwRkoyKSUyMEclMUJDMyUyMiZHLiU1RCYpLHpjWmoyJTE0UChBMjIlMURJLk05JTIyIUclM0NROC8mUDVKKCUwNixNO0YjJTNDLEkoTTg4LCU3QyUyMlQ/JTNFN0okZzkjOVA/WiUwNSUyNTBVM0oxMiUyNUclMTVSMyUzRSUzRVgjWiUwMiUyNT8lNUM1USUyMjIlMUQlNUIwQTU4LFYvUDMlM0UscyxGZTIlMjVQJTNFUCUzRTIhVTNHMzIlMUNYJCUxNiglMUM4RyUxNk0yLyxYJGg/PyYlNUM0QSQyJTFGViUyME06JTIwM0clMUVFJTIyKSx2NEg5LTZHKUUwKSxMNEY/JTIyNkcuSyMvOiU1QzRAKCUwRTdfNVYzMjFVO1clMjUyJTAyVilNJTIyJTI1PVckJTYwKCUyNSUzQ1AuWiUxODIlMDlHOUs5JzslNUMkbicyJTBCVDVIKDg9SSRvKC86WChaJTA5LiUzRVg0TyglMjA9JTVFJEsmKSUzQ0clMTJaJTEzJTIwN1Q/SiUyMjIlMDAlNUM2QTc/N0cqSyY5JTNDJTVEP1YoJTNDPUkkdDo5NVA0WiUwNiMlMjJMNEAzJTNFLHMyRSglMTU/VmJaJTNFOD9VJHc3KjNLM1o5JTIyLHc1QDMyJTA1JTBDMUZkMjFVNVczMj9WL1czKD1ONFojPzclMTkpUCQlMjUxTSRnIyUzRSUyMCU1QzRQKC4zWjFDJCMnVyUzRVo7KSZYJFAzNCZHJTE5QzgyIVooQTMlMjIsJTFEJGEoJTBCa1ckbTEyayUwMGMlMURvdWtHKEEwKSUyMEs/VigpIVo7VDMyJTdGRztUJiklM0MlNUQkTDk/JkcqQSQlM0MzJTVFP1olMUYlMjImRyUwRkEoJTIyPUs/QiglMDQ7UztHPSUyNSUzQyU1RSRxJiUzQzdLJCUwRiglMTghSSRzYycsTTVRNSQhTTtWJTIyMiUzRVY5RToyJTAxJTVDNFc/ODtPP1psMiUxRiU1RSRzKHQsdzVQPyo7WjtQPyMlM0NHIVolMDQpNUc1SjQlMjAnSyRnKCUwMTdKKUUxKSxMJCUxNCY0LHgoVjc1LEkoQSUyMCklM0NNJHkoJTBGJTNFUDlPMygsWDhXKCUxQz9HblolMEYhPUAkVDklM0MnSSQlMEMlMDgwJTBFSnNaOTo3SyUzQ0g5OywlMDkkRzkhLF81RyM/LHE/TTEkJkclMEFLJjIlMUNVOU0oJTA2JTIyWiR0JTNDeSUzRSU1QjdaJTAyIyUyMkclM0NNJCksWCpUOiUyNTFYLk05JTIyLCU3RiRnOSUyMjVHJTE5TD8lMjA2RylUOiUyNSZHKEU4KCxKLkUlMjI5IUcpRyQjJTNFVThFJD8sdWolMTElM0UuLFo1UjMlM0UsTTVLOi4zSyRAMyUyMDNAJEsmOCFHJTNFTSUyMDIlMTdPP0olMjI/LHcwRzslMjAlMjUlNUQkcCglM0M2XyRBOyUzQyZAJGYoJTFFOiU1QiRKNzo7JTVFO1A5JTNFLE4oTSUyMiksbDAlMTAoJTI1NVc1VjMyJTExVi9KJTIyMjBWNUgzLSUzQ0clMEVNOyksejVKMCUyNTVHLkElMjU4Iik7bTY9MTticmVhaztjYXNlIDE6dmFyIEg2PTAsSTY9MDttNj01O2JyZWFrO2Nhc2UgOTpQNis9U3RyaW5nLmZyb21DaGFyQ29kZShVNi5jaGFyQ29kZUF0KEg2KV54Ni5jaGFyQ29kZUF0KEk2KSk7bTY9ODticmVhaztjYXNlIDU6bTY9SDY8VTYubGVuZ3RoPzQ6NzticmVhaztjYXNlIDc6UDY9UDYuc3BsaXQoJ34nKTtyZXR1cm4gZnVuY3Rpb24oaDYpe3ZhciBqNj0yO3doaWxlKGo2IT09MSl7c3dpdGNoKGo2KXtjYXNlIDI6cmV0dXJuIFA2W2g2XTticmVhazt9fX07YnJlYWs7Y2FzZSAzOkk2PTA7bTY9OTticmVhaztjYXNlIDg6SDYrKyxJNisrO202PTU7YnJlYWs7fX19KCdWTFI5WiQnKX07YnJlYWs7fX19KCk7djdHRy5kMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLmE2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuZjY9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLmc2LkM2PT09J2Z1bmN0aW9uJz92N0dHLmc2LkM2LmFwcGx5KHY3R0cuZzYsYXJndW1lbnRzKTp2N0dHLmc2LkM2O307djdHRy5yND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuQzY9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuQzYuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuQzY7fTshZnVuY3Rpb24odCl7dmFyIHc1PXY3R0c7dmFyIG81PSEwO3ZhciBlLGksbixyLG8scyxhLGMsdSxoLGYscCxfLGwsZCx2LGIsbSxnLHksayx3LHgsTyxDLEUsUCxULEEsRixTLGosTCx6LEIsSSxNLFcsRCxVLFIsTixILHEsSixWLCQsUSxHLFksSyxaLFgsdHQsZXQsaXQsbnQscnQsb3Qsc3QsYXQsY3QsdXQsaHQsZnQscHQsX3QsbHQsZHQsdnQsYnQsbXQsZ3QseXQsa3Qsd3QseHQsT3QsQ3QsRXQsUHQsVHQsQXQsRnQsU3QsanQsTHQsenQsQnQsSXQsTXQsV3QsRHQsVXQsUnQsTnQsSHQscXQsSnQsVnQsJHQsUXQsR3QsWXQsS3QsWnQsWHQsdGUsZWUsaWUsbmUscmUsb2Usc2UsYWUsY2UsdWUsaGUsZmUscGUsX2UsbGUsZGUsdmUsYmUsbWUsZ2UseWUsa2Usd2UseGUsT2UsQ2UsRWUsUGUsVGUsQWUsRmUsU2UsamUsTGUsemUsQmUsSWUsTWUsV2UsRGUsVWUsUmUsTmUsSGUscWUsSmUsVmUsJGUsUWUsR2UsWWUsS2UsWmUsWGUsdGksZWksaWksbmkscmksb2ksc2ksYWksY2ksdWksaGksZmkscGksX2ksbGksZGksdmksYmksbWksZ2kseWksa2ksd2kseGksT2ksQ2ksRWksUGksVGksQWksRmksU2ksamksTGksemksQmksSWksTWksV2ksRGksVWksUmksTmksSGkscWksSmksVmksJGksUWksR2ksWWksS2ksWmksWGksdG4sZW4sbm4scm4sb24sc24sYW4sY24sdW4saG4sZm4scG4sX24sbG4sZG4sdm4sYm4sbW4sZ24seW4sa24sd24seG4sT24sQ24sRW4sUG4sVG4sQW4sRm4sU24sam4sTG4sem4sQm4sSW4sTW4sV24sRG4sVW4sUm4sTm4sSG4scW4sSm4sVm4sJG4sUW4sR24sWW4sS24sWm4sWG4sdHIsZXIsaXIsbnIscnIsb3Isc3IsYXIsY3IsdXIsaHIsZnIscHIsX3IsbHIsZHIsdnIsYnIsbXIsZ3IseXIsa3Isd3IseHIsT3IsQ3IsRXIsUHIsVHIsQXIsRnIsU3IsanIsTHIsenIsQnIsSXIsTXIsV3IsRHIsVXIsUnIsTnIsSHIscXIsSnIsVnIsJHIsUXIsR3IsWXIsS3IsWnIsWHIsdG8sZW8saW8sbm8scm8sb28sc28sYW8sY28sdW8saG8sZm8scG8sX28sbG8sdm8sYm8sbW8sZ28seW8sa28sd28seG8sT28sQ28sRW8sUG8sVG8sQW8sRm8sU28sam8sTG8sem8sQm8sSW8sTW8sV28sRG8sVW8sUm8sTm8sSG8scW8sSm8sVm8sJG8sUW8sR28sWW8sS28sWm8sWG8sdHMsZXMsaXMsbnMscnMsb3Msc3MsYXMsY3MsdXMsaHMsZnMscHMsX3MsbHMsZHMsdnMsYnMsbXMsZ3MseXMsa3Msd3MseHMsT3MsQ3MsRXMsUHMsVHMsQXMsRnMsU3MsanMsTHMsenMsQnMsSXMsTXMsV3MsRHMsVXMsUnMsTnMsSHMscXMsSnMsVnMsJHMsUXMsR3MsWXMsS3MsWnMsWHMsdGEsZWEsaWEsbmEscmEsb2Esc2EsYWEsY2EsdWEsaGEsZmEscGEsX2EsbGEsZGEsdmEsYmEsbWEsZ2EseWEsa2Esd2EseGEsT2EsQ2EsRWEsUGEsVGEsQWEsRmEsU2EsamEsTGEsemEsQmEsSWEsTWEsV2EsRGEsVWEsUmEsTmEsSGEscWEsSmEsVmEsJGEsUWEsR2EsWWEsS2EsWmEsWGEsdGMsZWMsaWMsbmMscmMsb2Msc2MsYWMsY2MsdWMsaGMsZmMscGMsX2MsbGMsZGMsdmMsYmMsbWMsZ2MseWMsa2Msd2MseGMsT2MsQ2MsRWMsUGMsVGMsQWMsRmMsU2MsamMsTGMsemMsQmMsSWMsTWMsV2MsRGMsVWMsUmMsTmMsSGM7ZT13NS5mNigyMzQpO2k9dzUuWjYoMzk0KTtuPXc1Llo2KDM4OSk7cj13NS5mNig0NTYpO289dzUuWjYoNSk7cz13NS5aNig0NjEpO2E9dzUuWjYoMjU1KTtjPXc1Llo2KDg4KTt1PXc1Llo2KDE3OCk7aD13NS5mNigxODcpO2Y9dzUuZjYoNDgxKTtwPXc1LmY2KDM3Nik7Xz13NS5aNigyNDYpO2w9dzUuZjYoMjQ1KTtkPXc1Llo2KDE0OSk7dj13NS5aNigzNjUpO2I9dzUuWjYoNDgzKTttPXc1LmY2KDcyKTtnPXc1Llo2KDMxMyk7eT13NS5aNigyNTMpO2s9dzUuWjYoNTApO3c9dzUuZjYoNDY5KTt4PS9lZGdlLztPPXc1LmY2KDMzNCk7Qz13NS5aNigzMzMpO0U9dzUuWjYoNTMpO1A9dzUuWjYoMTcpO1Q9dzUuWjYoMzQzKTtBPXc1LmY2KDE5MCk7Rj0vZmlyZWZveHxmeGlvcy9pO1M9dzUuZjYoMjEyKTtqPXc1Llo2KDI1OSk7TD13NS5aNigyNDEpO3o9dzUuZjYoMTA5KTtCPXc1LmY2KDk3KTtJPXc1Llo2KDQxOCk7TT13NS5aNigzODgpO1c9dzUuWjYoNDM1KTtEPXc1LmY2KDM3NSk7VT13NS5aNigzNTgpO1I9dzUuZjYoMTcyKTtOPXc1LmY2KDIzOCk7SD13NS5aNig0ODcpO3E9dzUuWjYoMjIxKTtKPXc1LmY2KDIxMSk7Vj13NS5mNigyMTApOyQ9dzUuWjYoMTYyKTtRPXc1Llo2KDY0KTtHPXc1LmY2KDM0Mik7WT13NS5aNigxMjgpO0s9dzUuWjYoMjA4KTtaPXc1LmY2KDE0MSk7WD13NS5aNig0MzYpO3R0PXc1Llo2KDQ0MSk7ZXQ9dzUuWjYoMjgwKTtpdD13NS5mNigxNzcpO250PXc1Llo2KDEyKTtydD13NS5aNigyNzMpO290PXc1Llo2KDM1NSk7c3Q9L3dpbmRvd3MvO2F0PXc1Llo2KDI1OCk7Y3Q9Lyg/OmZ0cHxodHRwcz8pOlwvXC8oW15cL10rKS87dXQ9dzUuWjYoMjE4KTtodD13NS5mNig0NDIpO2Z0PXc1LmY2KDI2Myk7cHQ9dzUuWjYoMTY2KTtfdD13NS5aNigxMzgpO2x0PXc1Llo2KDMyOSk7ZHQ9dzUuWjYoNDEpO3Z0PXc1Llo2KDIwNyk7YnQ9dzUuWjYoMzYyKTttdD13NS5mNigxNjUpO2d0PXc1LmY2KDM3MSk7eXQ9dzUuWjYoMzYwKTtrdD13NS5aNigyMzkpO3d0PXc1LmY2KDM2Myk7eHQ9dzUuZjYoODIpO090PTk1MDI9PT0yNTAwPzB4MjE0Yzp3NS5mNigxNDgpO0N0PXc1LmY2KDE4NSk7RXQ9dzUuWjYoMTQ0KTtQdD13NS5mNigzMjApO1R0PXc1Llo2KDU1KTtBdD13NS5aNigzMTgpO0Z0PXc1Llo2KDE4OSk7U3Q9dzUuWjYoMTAxKTtqdD0vTVNJRVxzKyhbXGRcLl0rKS9pO0x0PXc1Llo2KDM0MCk7enQ9dzUuZjYoMTYwKTtCdD13NS5aNig0NDQpO0l0PXc1Llo2KDQxMyk7TXQ9dzUuZjYoNDU1KTtXdD13NS5mNig1MSk7RHQ9dzUuWjYoNDE1KTtVdD13NS5mNigyOTkpO1J0PXc1Llo2KDQxNik7TnQ9dzUuWjYoMzczKTtIdD13NS5aNig0MzApO3F0PXc1Llo2KDE2MSk7SnQ9dzUuZjYoMjQ4KTtWdD13NS5aNig0MjcpOyR0PXc1LmY2KDQyNCk7UXQ9dzUuZjYoMzUxKTtHdD13NS5aNigyOTApO1l0PXc1Llo2KDI4MSk7S3Q9dzUuWjYoMjk2KTtadD13NS5aNigyODYpO1h0PXc1LmY2KDE0Nik7dGU9dzUuWjYoNjApO2VlPXc1Llo2KDE0Myk7aWU9dzUuWjYoMjE1KTtuZT0vcmFkaW98Y2hlY2tib3gvaTtyZT13NS5mNigyNzUpO29lPXc1Llo2KDEyNCk7c2U9dzUuZjYoMjE2KTthZT13NS5aNigzMDIpO2NlPXc1LmY2KDExNyk7dWU9LzEyMDd8NjMxMHw2NTkwfDNnc298NHRocHw1MFsxLTZdaXw3NzBzfDgwMnN8YSB3YXxhYmFjfGFjKGVyfG9vfHNcLSl8YWkoa298cm4pfGFsKGF2fGNhfGNvKXxhbW9pfGFuKGV4fG55fHl3KXxhcHR1fGFyKGNofGdvKXxhcyh0ZXx1cyl8YXR0d3xhdShkaXxcLW18ciB8cyApfGF2YW58YmUoY2t8bGx8bnEpfGJpKGxifHJkKXxibChhY3xheil8YnIoZXx2KXd8YnVtYnxid1wtKG58dSl8YzU1XC98Y2FwaXxjY3dhfGNkbVwtfGNlbGx8Y2h0bXxjbGRjfGNtZFwtfGNvKG1wfG5kKXxjcmF3fGRhKGl0fGxsfG5nKXxkYnRlfGRjXC1zfGRldml8ZGljYXxkbW9ifGRvKGN8cClvfGRzKDEyfFwtZCl8ZWwoNDl8YWkpfGVtKGwyfHVsKXxlcihpY3xrMCl8ZXNsOHxleihbNC03XTB8b3N8d2F8emUpfGZldGN8Zmx5KFwtfF8pfGcxIHV8ZzU2MHxnZW5lfGdmXC01fGdcLW1vfGdvKFwud3xvZCl8Z3IoYWR8dW4pfGhhaWV8aGNpdHxoZFwtKG18cHx0KXxoZWlcLXxoaShwdHx0YSl8aHAoIGl8aXApfGhzXC1jfGh0KGMoXC18IHxffGF8Z3xwfHN8dCl8dHApfGh1KGF3fHRjKXxpXC0oMjB8Z298bWEpfGkyMzB8aWFjKCB8XC18XC8pfGlicm98aWRlYXxpZzAxfGlrb218aW0xa3xpbm5vfGlwYXF8aXJpc3xqYSh0fHYpYXxqYnJvfGplbXV8amlnc3xrZGRpfGtlaml8a2d0KCB8XC8pfGtsb258a3B0IHxrd2NcLXxreW8oY3xrKXxsZShub3x4aSl8bGcoIGd8XC8oa3xsfHUpfDUwfDU0fFwtW2Etd10pfGxpYnd8bHlueHxtMVwtd3xtM2dhfG01MFwvfG1hKHRlfHVpfHhvKXxtYygwMXwyMXxjYSl8bVwtY3J8bWUocmN8cmkpfG1pKG84fG9hfHRzKXxtbWVmfG1vKDAxfDAyfGJpfGRlfGRvfHQoXC18IHxvfHYpfHp6KXxtdCg1MHxwMXx2ICl8bXdicHxteXdhfG4xMFswLTJdfG4yMFsyLTNdfG4zMCgwfDIpfG41MCgwfDJ8NSl8bjcoMCgwfDEpfDEwKXxuZSgoY3xtKVwtfG9ufHRmfHdmfHdnfHd0KXxub2soNnxpKXxuenBofG8yaW18b3AodGl8d3YpfG9yYW58b3dnMXxwODAwfHBhbihhfGR8dCl8cGR4Z3xwZygxM3xcLShbMS04XXxjKSl8cGhpbHxwaXJlfHBsKGF5fHVjKXxwblwtMnxwbyhja3xydHxzZSl8cHJveHxwc2lvfHB0XC1nfHFhXC1hfHFjKDA3fDEyfDIxfDMyfDYwfFwtWzItN118aVwtKXxxdGVrfHIzODB8cjYwMHxyYWtzfHJpbTl8cm8odmV8em8pfHM1NVwvfHNhKGdlfG1hfG1tfG1zfG55fHZhKXxzYygwMXxoXC18b298cFwtKXxzZGtcL3xzZShjKFwtfDB8MSl8NDd8bWN8bmR8cmkpfHNnaFwtfHNoYXJ8c2llKFwtfG0pfHNrXC0wfHNsKDQ1fGlkKXxzbShhbHxhcnxiM3xpdHx0NSl8c28oZnR8bnkpfHNwKDAxfGhcLXx2XC18diApfHN5KDAxfG1iKXx0MigxOHw1MCl8dDYoMDB8MTB8MTgpfHRhKGd0fGxrKXx0Y2xcLXx0ZGdcLXx0ZWwoaXxtKXx0aW1cLXx0XC1tb3x0byhwbHxzaCl8dHMoNzB8bVwtfG0zfG01KXx0eFwtOXx1cChcLmJ8ZzF8c2kpfHV0c3R8djQwMHx2NzUwfHZlcml8dmkocmd8dGUpfHZrKDQwfDVbMC0zXXxcLXYpfHZtNDB8dm9kYXx2dWxjfHZ4KDUyfDUzfDYwfDYxfDcwfDgwfDgxfDgzfDg1fDk4KXx3M2MoXC18ICl8d2ViY3x3aGl0fHdpKGcgfG5jfG53KXx3bWxifHdvbnV8eDcwMHx5YXNcLXx5b3VyfHpldG98enRlXC0vaTtoZT13NS5aNigxNCk7ZmU9dzUuWjYoMjMpO3BlPXc1Llo2KDExMSk7X2U9dzUuWjYoMjYwKTtsZT0vbWFjaW50b3NoLztkZT13NS5mNig5MCk7dmU9dzUuZjYoMzMyKTtiZT13NS5mNigyMDApO21lPS9tb3ppbGxhLztnZT13NS5mNigxNzQpO3llPXc1LmY2KDEzNSk7a2U9dzUuZjYoMzc4KTt3ZT0vKD86XHcrKVwvKFtcZFwuXSspKD86JHxcc3xcL3xcKSkrL2k7eGU9dzUuWjYoMzQpO09lPXc1LmY2KDM3Nyk7Q2U9dzUuZjYoNDcyKTtFZT13NS5mNigxMTUpO1BlPXc1Llo2KDE5NCk7VGU9dzUuZjYoNDE0KTtBZT13NS5mNig2NSk7RmU9dzUuWjYoMTA3KTtTZT13NS5mNig0MDMpO2plPXc1LmY2KDI5Mik7TGU9dzUuWjYoNTgpO3plPXc1Llo2KDE2NCk7QmU9Lyg/Ok9QUnxPcGVyYXxPUGlPUylcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0llPXc1LmY2KDIyOSk7TWU9dzUuWjYoNDY3KTtXZT13NS5mNig0NjMpO0RlPXc1Llo2KDQzNyk7VWU9dzUuZjYoMTkzKTtSZT13NS5aNigzMyk7TmU9dzUuZjYoODUpO0hlPXc1LmY2KDQwOCk7cWU9dzUuZjYoMjApO0plPXc1Llo2KDk4KTtWZT13NS5mNigxMzYpOyRlPXc1LmY2KDI3Nyk7UWU9dzUuWjYoNyk7R2U9dzUuWjYoODYpO1llPXc1LmY2KDE3NSk7S2U9dzUuWjYoMjcxKTtaZT13NS5aNigzOTkpO1hlPXc1LmY2KDEzMyk7dGk9dzUuWjYoOTUpO2VpPXc1LmY2KDE1Mik7aWk9dzUuWjYoMzEyKTtuaT13NS5aNigyOTgpO3JpPXc1Llo2KDQzMyk7b2k9dzUuZjYoMTgzKTtzaT0vYW5kcm9pZHx3ZWJvc3xpcGhvbmV8aXBhZHxpcG9kfGJsYWNrYmVycnl8aWVtb2JpbGV8b3BlcmFccyttaW5pLzthaT13NS5aNigzODIpO2NpPXc1LmY2KDEyNyk7dWk9dzUuWjYoMzM2KTtoaT13NS5aNigyOTUpO2ZpPXc1Llo2KDMwNyk7cGk9dzUuZjYoMjUxKTtfaT13NS5mNig0MTkpO2xpPXc1LmY2KDMxKTtkaT13NS5aNigyNzQpO3ZpPXc1LmY2KDQ0Nik7Ymk9dzUuWjYoMTYzKTttaT13NS5mNig5NCk7Z2k9dzUuWjYoMjIwKTt5aT13NS5aNigzNTQpO2tpPXc1Llo2KDE4Nik7d2k9dzUuZjYoNDEyKTt4aT13NS5mNig0NDcpO09pPXc1Llo2KDQwNCk7Q2k9dzUuZjYoNTIpO0VpPXc1Llo2KDY4KTtQaT13NS5mNigzNSk7VGk9dzUuZjYoNTYpO0FpPXc1LmY2KDEwMyk7Rmk9dzUuWjYoMzc5KTtTaT13NS5mNig0NTEpO2ppPXc1Llo2KDQ3NSk7TGk9dzUuWjYoMjEpO3ppPXc1LmY2KDE3MSk7Qmk9dzUuZjYoMTMxKTtJaT13NS5mNig0ODgpO01pPXc1LmY2KDE4MCk7V2k9dzUuWjYoNDQ1KTtEaT0vYnV0dG9ufGlucHV0L2k7VWk9dzUuWjYoMTM0KTtSaT13NS5mNigyMjgpO05pPXc1LmY2KDc4KTtIaT13NS5aNig1NCk7cWk9dzUuWjYoMTY3KTtKaT13NS5mNig0NjUpO1ZpPXc1Llo2KDMzNSk7JGk9dzUuZjYoMTY5KTtRaT13NS5mNigzNjgpO0dpPXc1LmY2KDI4Nyk7WWk9dzUuWjYoMzQ4KTtLaT13NS5mNigzMDEpO1ppPXc1LmY2KDQ0KTtYaT13NS5mNigyNjQpO3RuPXc1LmY2KDc3KTtlbj13NS5mNig0NjApO25uPXc1LmY2KDMzNyk7cm49dzUuWjYoMTU3KTtvbj13NS5aNigzMjUpO3NuPXc1LmY2KDIzNyk7YW49dzUuZjYoNDg2KTtjbj13NS5mNigxNTUpO3VuPXc1Llo2KDEwNCk7aG49dzUuWjYoMzU2KTtmbj13NS5aNig0OCk7cG49dzUuZjYoMjQyKTtfbj13NS5mNig0MDApO2xuPXc1Llo2KDI2NSk7ZG49dzUuZjYoMjg0KTt2bj13NS5aNigyODgpO2JuPXc1LmY2KDQzOSk7bW49dzUuWjYoMzQxKTtnbj13NS5aNigyMDMpO3luPXc1LmY2KDIxNyk7a249dzUuWjYoMzIxKTt3bj13NS5mNig0MzIpO3huPXc1LmY2KDIyKTtPbj02NDc9PSg0OTguMjUsMjAwKT8oMS42OWUrMyw0NjkpOnc1LmY2KDk2KTtDbj13NS5mNigzODMpO0VuPXc1LmY2KDM1OSk7UG49dzUuWjYoMzUwKTtUbj0vXk9wZXJhXC8uKj9QcmVzdG9cLy4qP1ZlcnNpb25cLyhbXGRcLl0rKS9pO0FuPXc1Llo2KDE5MSk7Rm49dzUuZjYoNDQ4KTtTbj13NS5mNigyNDQpO2puPXc1Llo2KDIzMSk7TG49dzUuZjYoMTIwKTt6bj13NS5mNig0NTApO0JuPXc1Llo2KDExOCk7SW49dzUuZjYoNik7TW49dzUuWjYoNzUpO1duPXc1LmY2KDEyMyk7RG49dzUuWjYoMzA0KTtVbj0vcmVzZXR8YnV0dG9ufHN1Ym1pdC9pO1JuPXc1LmY2KDQ4NCk7Tm49dzUuZjYoMTk2KTtIbj13NS5mNigyMjYpO3FuPXc1LmY2KDM1Myk7Sm49dzUuWjYoMTgpO1ZuPXc1LmY2KDE2OCk7JG49dzUuZjYoMzE0KTtRbj13NS5aNig0NzEpO0duPXc1LmY2KDQ1OSk7WW49dzUuZjYoMzE3KTtLbj13NS5mNigyNDkpO1puPS9WZXJzaW9uXC8oW1xkXC5dKylccysobW9iaWxlXC9bXlxzXStccyspP1NhZmFyaS9pO1huPXc1LmY2KDE0NSk7dHI9dzUuWjYoMjQwKTtlcj13NS5mNigxOSk7aXI9dzUuWjYoNDg5KTtucj13NS5aNigyNzYpO3JyPXc1LmY2KDQ4Mik7b3I9dzUuZjYoNDY2KTtzcj13NS5aNigyNzApO2FyPXc1Llo2KDE0Nyk7Y3I9dzUuZjYoMjQpO3VyPXc1LmY2KDgzKTtocj13NS5aNigyNzkpO2ZyPXc1Llo2KDQzKTtwcj13NS5mNig0MjApO19yPXc1LmY2KDQ2Mik7bHI9L2Nocm9tZXxjcmlvcy87ZHI9dzUuWjYoNDExKTt2cj0vIy4qJC87YnI9dzUuZjYoMTU5KTttcj13NS5aNigwKTtncj0vKGNvbXBhdGlibGV8d2Via2l0KS87eXI9L0Z4aU9TXC8oW1xkXC5dKykvaTtrcj13NS5mNig1OSk7d3I9dzUuWjYoMzgpO3hyPXc1LmY2KDE5OCk7T3I9dzUuZjYoMTApO0NyPXc1LmY2KDQ2NCk7RXI9dzUuWjYoMTE2KTtQcj13NS5mNigzNjkpO1RyPXc1LmY2KDEyMSk7QXI9L21zaWV8dHJpZGVudFwvLztGcj13NS5mNigyNTYpO1NyPXc1LmY2KDQ3MCk7anI9dzUuZjYoMjkzKTtMcj13NS5mNig4Nyk7enI9L2Nocm9tZXxvcGVyYXxlZGdlfGNyaW9zfG9waW9zfGZ4aW9zfHVjL2k7QnI9dzUuWjYoMjUyKTtJcj13NS5aNigxMDgpO01yPXc1LmY2KDkxKTtXcj13NS5mNigyKTtEcj13NS5mNigyNjgpO1VyPXc1Llo2KDI3OCk7UnI9dzUuWjYoMzI2KTtOcj13NS5mNig5KTtIcj13NS5mNigxMzIpO3FyPXc1Llo2KDMyNCk7SnI9LyhhbmRyb2lkfGJiXGQrfG1lZWdvKS4rbW9iaWxlfGF2YW50Z298YmFkYVwvfGJsYWNrYmVycnl8YmxhemVyfGNvbXBhbHxlbGFpbmV8ZmVubmVjfGhpcHRvcHxpZW1vYmlsZXxpcChob25lfG9kKXxpcGFkfGlyaXN8a2luZGxlfEFuZHJvaWR8U2lsa3xsZ2UgfG1hZW1vfG1pZHB8bW1wfG5ldGZyb250fG9wZXJhIG0ob2J8aW4paXxwYWxtKCBvcyk/fHBob25lfHAoaXhpfHJlKVwvfHBsdWNrZXJ8cG9ja2V0fHBzcHxzZXJpZXMoNHw2KTB8c3ltYmlhbnx0cmVvfHVwXC4oYnJvd3NlcnxsaW5rKXx2b2RhZm9uZXx3YXB8d2luZG93cyAoY2V8cGhvbmUpfHhkYXx4aWluby9pO1ZyPSgyNDk2LDg0OTUpIT05NzY/dzUuZjYoMjk3KTohITA7JHI9dzUuWjYoNDI2KTtRcj13NS5mNigyMjUpO0dyPXc1LmY2KDE4OCk7WXI9dzUuZjYoNDMxKTtLcj13NS5mNigyNTApO1pyPXc1Llo2KDI2MSk7WHI9dzUuZjYoMTc2KTt0bz13NS5mNigyNSk7ZW89dzUuWjYoMTk1KTtpbz13NS5mNigzMjgpO25vPXc1Llo2KDQwOSk7cm89dzUuZjYoMzQ5KTtvbz13NS5aNigzMjIpO3NvPXc1Llo2KDMxNik7YW89dzUuWjYoMzg1KTtjbz13NS5mNigxMTMpO3VvPXc1LmY2KDQ3NCk7aG89dzUuWjYoMjY3KTtmbz13NS5mNigyNjYpO3BvPXc1Llo2KDQwNyk7X289dzUuWjYoNjMpO2xvPXc1Llo2KDM2Nyk7dm89L3dlYmtpdC87Ym89dzUuWjYoNDUyKTttbz0vc2FmYXJpLztnbz13NS5aNig5Myk7eW89L29wZXJhfG9wcnxvcGlvc1wvLztrbz13NS5aNigzMzEpO3dvPXc1LmY2KDI2KTt4bz13NS5aNigxODIpO09vPXc1LmY2KDM4MCk7Q289dzUuWjYoMTEwKTtFbz13NS5mNigxMTIpO1BvPXc1LmY2KDMwNSk7VG89dzUuZjYoNzQpO0FvPXc1LmY2KDEwMik7Rm89dzUuZjYoNDc4KTtTbz0vYW5kcm9pZC87am89dzUuZjYoMzkxKTtMbz13NS5aNigzMDYpO3pvPXc1LmY2KDQwNSk7Qm89dzUuWjYoOTkpO0lvPXc1Llo2KDM5Nik7TW89dzUuWjYoNDQwKTtXbz13NS5mNig2Nyk7RG89dzUuWjYoNDAxKTtVbz13NS5aNigxNTQpO1JvPXc1LmY2KDI4OSk7Tm89dzUuWjYoMzkzKTtIbz13NS5mNig3OSk7cW89dzUuWjYoMTQwKTtKbz13NS5aNigzNzIpO1ZvPXc1Llo2KDQyMik7JG89dzUuZjYoNDQ5KTtRbz13NS5aNigzOTUpO0dvPXc1Llo2KDIwNik7WW89dzUuWjYoMjQzKTtLbz13NS5mNig2Mik7Wm89dzUuWjYoNDg1KTtYbz13NS5mNigxMzApO3RzPXc1Llo2KDE1Nik7ZXM9dzUuZjYoMjAxKTtpcz13NS5aNigzNjEpO25zPXc1LmY2KDMxNSk7cnM9dzUuWjYoMTIyKTtvcz13NS5mNig3MCk7c3M9dzUuZjYoMjU3KTthcz13NS5aNig0MjUpO2NzPXc1LmY2KDMzMCk7dXM9dzUuZjYoNzMpO2hzPXc1LmY2KDMwMyk7ZnM9dzUuWjYoMTAwKTtwcz13NS5mNigzNzQpO19zPXc1Llo2KDY2KTtscz0oODI2LjA2LDk5Ny4yKSE9PSgyNjIuNzksNzAwLjQpP3c1LmY2KDE3OSk6KG81LHc1Llo2KDM2KSk7ZHM9dzUuWjYoMjIzKTt2cz13NS5mNigxMTkpO2JzPXc1Llo2KDMwOCk7bXM9dzUuZjYoNDcpO2dzPXc1Llo2KDMxOSk7eXM9dzUuZjYoMTgxKTtrcz13NS5mNigzNDUpO3dzPXc1Llo2KDE1KTt4cz0vXigjfGphdmFzY3JpcHQpL2k7T3M9dzUuWjYoMzY2KTtDcz13NS5aNigxOTkpO0VzPXc1Llo2KDM4NCk7UHM9dzUuZjYoNDA2KTtUcz13NS5mNig0MjkpO0FzPXc1LmY2KDI0Nyk7RnM9dzUuZjYoNDQzKTtTcz13NS5mNigzMzgpO2pzPS8oPzpGaXJlZm94fENocm9tZSlcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0xzPXc1Llo2KDM3MCk7enM9dzUuZjYoMzEwKTtCcz13NS5aNigzODYpO0lzPXc1Llo2KDI5NCk7TXM9dzUuWjYoMjgzKTtXcz13NS5aNigzODcpO0RzPXc1LmY2KDM5KTtVcz13NS5aNigxMDYpO1JzPXc1LmY2KDIwMik7TnM9dzUuWjYoMzExKTtIcz13NS5mNig0MzgpO3FzPXc1LmY2KDcxKTtKcz13NS5mNigxMzcpO1ZzPXc1Llo2KDI3KTskcz13NS5aNig4NCk7UXM9L18vZztHcz13NS5aNigxNTgpO1lzPXc1Llo2KDE5Mik7S3M9dzUuZjYoNDIzKTtacz13NS5mNigzMzkpO1hzPXc1Llo2KDE1MCk7dGE9dzUuWjYoMTQyKTtlYT13NS5mNig0KTtpYT13NS5aNig0MTApO25hPXc1LmY2KDIzNik7cmE9dzUuZjYoNDAyKTtvYT13NS5mNigyMTQpO3NhPXc1Llo2KDQxNyk7YWE9dzUuZjYoMTg0KTtjYT13NS5aNigxOTcpO3VhPXc1LmY2KDIzMyk7aGE9dzUuZjYoMzApO2ZhPS9saW51eC87cGE9dzUuWjYoMjgyKTtfYT0vb3BlcmEvO2xhPXc1Llo2KDM2NCk7ZGE9dzUuWjYoMTczKTt2YT13NS5aNigzMDApO2JhPXc1LmY2KDIzNSk7bWE9L2VkZ2V8b3ByXC8vO2dhPXc1LmY2KDI4NSk7eWE9dzUuZjYoNDYpO2thPXc1Llo2KDEzKTt3YT13NS5aNigyMDUpO3hhPXc1LmY2KDIyNCk7T2E9dzUuZjYoMzQ0KTtDYT13NS5aNigyMTMpO0VhPS9FZGdlXC8oW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTtQYT13NS5mNigxMjYpO1RhPXc1Llo2KDExNCk7QWE9L14oPzouKlteXHddKSooW1x3XSspXHMqJC9pO0ZhPXc1LmY2KDM5Mik7U2E9dzUuWjYoNjkpO2phPXc1LmY2KDMpO0xhPXc1LmY2KDQ1KTt6YT13NS5mNigzMjMpO0JhPXc1LmY2KDEzOSk7SWE9dzUuWjYoMTI5KTtNYT13NS5mNig4KTtXYT13NS5mNig0Mik7RGE9dzUuZjYoMSk7VWE9dzUuWjYoODkpO1JhPXc1LmY2KDIwOSk7TmE9dzUuZjYoMjgpO0hhPXc1LmY2KDIxOSk7cWE9dzUuWjYoMjMwKTtKYT13NS5aNig4MSk7VmE9dzUuWjYoMzA5KTskYT13NS5mNigzNDcpO1FhPXc1LmY2KDM4MSk7R2E9dzUuWjYoOTIpO1lhPXc1LmY2KDEyNSk7S2E9dzUuWjYoMzIpO1phPXc1LmY2KDM5MCk7WGE9dzUuZjYoNDY4KTt0Yz13NS5mNigzNik7ZWM9dzUuZjYoMzk3KTtpYz13NS5aNig0ODApO25jPXc1LmY2KDIyMik7cmM9dzUuZjYoNDU3KTtvYz13NS5aNigzNTIpO3NjPXc1Llo2KDI5KTthYz0vaShQaG9uZXxQYWR8UG9kKS9pO2NjPXc1LmY2KDQzNCk7dWM9dzUuZjYoNDIxKTtoYz13NS5aNig0NzMpO2ZjPXc1LmY2KDE3MCk7cGM9dzUuZjYoMjYyKTtfYz13NS5aNigxNTEpO2xjPXc1LmY2KDQ5KTtkYz13NS5mNigyNTQpO3ZjPXc1LmY2KDQyOCk7YmM9dzUuZjYoMTUzKTttYz13NS5aNigyNjkpO2djPXc1Llo2KDU3KTt5Yz13NS5mNigzNTcpO2tjPS9UcmlkZW50XC8uKj9ydjooW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTt3Yz13NS5aNig0NTMpO3hjPXc1Llo2KDQ3Nik7T2M9dzUuZjYoNDU0KTtDYz13NS5mNig0NTgpO0VjPXc1LmY2KDgwKTtQYz0vOlxkKyQvO1RjPXc1Llo2KDI3Mik7QWM9dzUuWjYoMzI3KTtGYz13NS5mNig0NzkpO1NjPXc1Llo2KDYxKTtqYz13NS5mNigyOTEpO0xjPXc1Llo2KDIzMik7emM9dzUuWjYoMTEpO0JjPXc1LmY2KDM0Nik7SWM9dzUuWjYoMTA1KTtNYz13NS5aNig0NzcpO1djPXc1Llo2KDQwKTtEYz13NS5aNig3Nik7VWM9dzUuWjYoMTYpO1JjPXc1Llo2KDIyNyk7TmM9dzUuWjYoMjA0KTtIYz13NS5mNigzNyk7IWZ1bmN0aW9uKHQseSxSdCxYZSxyaSx5aSxBaSxObixkcixVcixpbyxybyxDbyxHcyx6YyxVYyxxYyxKYyxWYywkYyl7InVzZSBzdHJpY3QiO3ZhciBRYyxHYyxZYyxLYyxaYyxYYyx0dSxldSxpdSxudSxydSxvdSxzdSxhdSxjdSx1dSxodSxmdSxwdSxfdSxsdSxkdSx2dSxidSxtdSxndSx5dSxrdSx3dSx4dSxPdSxDdSxFdSxQdSxUdSxBdSxGdTtydT10O3c1Llk0KDApO291PXc1LmM0KHVpLEdyLGJyLF9yLFllLFNpLFR0LGRuLFllLHUsbWksT3QsR3IsWWUsdXIpO3c1Llk0KDEpO3N1PXc1LnU0KGZlLFR0LEh0LG90LFR0KTt3NS5vNCgxKTthdT13NS51NChXaSxQZSxLLF9jLFBlKTt3NS5ZNCgyKTtjdT13NS5jNChydSxnaSk7dzUubzQoMik7dXU9dzUudTQocnUsWm8pO3c1Lm80KDMpO2h1PXc1LmM0KE9jLHJ1LEJpLFV0LEdyLEdyKTt3NS5vNCgyKTtmdT13NS51NChydSwkYSk7cHU9YW87X3U9eGk7bHU9THI7ZHU9bW47dnU9eVtmXVtxbytHcitDXVtYcytHcit0cytHcituY10oKTtidT17dW5kZXI6bzUsbmV3VGFiOm81fTttdT1udWxsO2d1PW81O3l1PSF7fTtrdT1mdW5jdGlvbigpe307dzUuWTQoNCk7d3U9dzUudTQoR3IsT3QsRXQpO3h1PXJpW3ZzK0dyK0FvXXx8e3NyYzpudWxsfTt3NS5vNCg0KTtPdT15W2ZdW3c1LmM0KGVvLEdyLGtyKV07Q3U9eXU7RXU9eXU7UHU9eXU7VHU9ZnVuY3Rpb24oKXt2YXIgRTksbzksdzk7dHJ5e0U5PTM2MDIzMDM0MztvOT01MDA4ODEwMDM7dzk9Mjtmb3IodmFyIGI1PTE7dzUuTDEoYjUudG9TdHJpbmcoKSxiNS50b1N0cmluZygpLmxlbmd0aCw1ODI0MykhPT1FOTtiNSsrKXtyZXR1cm4geVtwXT09PXlbcXJdfHwheVtwXVttcl1bRWldWyhYcy1HciklaF0oKSE9VGM/eVtwXTp5W3FyXTt3OSs9Mjt9aWYodzUuTDEodzkudG9TdHJpbmcoKSx3OS50b1N0cmluZygpLmxlbmd0aCw1MTUyOSkhPT1vOSl7cmV0dXJuIHlbcF0hPT15W3FyXSYmdHlwZW9mIHlbcF1bbXJdW0VpXVtYcytHcitoXSgpPT09VGM/eVtwXTp5W3FyXTt9fWNhdGNoKHQpe3ZhciBBOSxJOSxLOTtBOT0yMjIyMDY4MDc7STk9NDU1MTUwMTA4O0s5PTI7Zm9yKHZhciBROT0xO3c1LkwxKFE5LnRvU3RyaW5nKCksUTkudG9TdHJpbmcoKS5sZW5ndGgsNjg5NDApIT09QTk7UTkrKyl7cmV0dXJuIFB1PWd1LHlbcXJdO0s5Kz0yO31pZih3NS5MMShLOS50b1N0cmluZygpLEs5LnRvU3RyaW5nKCkubGVuZ3RoLDU2NzU3KSE9PUk5KXtyZXR1cm4gUHU9Z3UseVtxcl07fX19KCk7QXU9VHVbSmFdW1FhXTtGdT1mdW5jdGlvbigpe3ZhciB0O3RyeXt0PVR1W0VpXVt1bl07fWNhdGNoKHQpe31yZXR1cm4hUHUmJnR8fChidT17bmV3VGFiOmd1LHVuZGVyOnl1fSx0PXJpW2lhXSksdDt9KCk7S2M9e3Q6W10sbjpmdW5jdGlvbih0KXt2YXIgSDcsdjcsVDc7SDc9MTg2NDAwNjYwNDt2Nz03MzE4NDIzNTE7VDc9Mjtmb3IodmFyIG83PTE7dzUuZDEobzcudG9TdHJpbmcoKSxvNy50b1N0cmluZygpLmxlbmd0aCw5MTY5NikhPT1INztvNysrKXt0eXBlb2YgeVt3c10hPT1nZSYmeVt3c11bT29dJiZObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO1Q3Kz0yO31pZih3NS5kMShUNy50b1N0cmluZygpLFQ3LnRvU3RyaW5nKCkubGVuZ3RoLDI0OTc5KSE9PXY3KXt+eVt3c109PT1nZXx8eVt3c11bT29dfHxObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO319LHI6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9MDt0PHRoaXMudFtwaV07dCsrKXt0aGlzLm4odGhpcy50W3RdKTt9fSxlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9W3RdW0tuXShBaVtYdF1bcW5dW0NpXShhcmd1bWVudHMsMSkpO3RoaXMudFtNcl0oZSk7R2MuaSgpJiZ0aGlzLm4oZSk7fX07ZXU9e3M6ZnVuY3Rpb24oKXtpZih0aGlzLm89PT1tdSl0cnl7eVthcytHcit0aV1bbGkrR3IrRXJdKHJ1LDEpO3lbYXMrR3IrdGldW3huK0dyK0VyXShydSk7dGhpcy5vPWd1O31jYXRjaCh0KXt2YXIgdzcscDcsYjk7dzc9LTE2MTA5ODQyMzA7cDc9OTg2NDU4NDQ2O2I5PTI7Zm9yKHZhciBtOT0xO3c1LmQxKG05LnRvU3RyaW5nKCksbTkudG9TdHJpbmcoKS5sZW5ndGgsODg3MTMpIT09dzc7bTkrKyl7dGhpcy5vPXl1O2I5Kz0yO31pZih3NS5MMShiOS50b1N0cmluZygpLGI5LnRvU3RyaW5nKCkubGVuZ3RoLDMzNDE0KSE9PXA3KXt0aGlzLm89eXU7fXRoaXMubz15dTt9cmV0dXJuIHRoaXMubzt9LHU6ZnVuY3Rpb24odCl7dGhpcy5zKCk/eVthcytHcit0aV1beG4rR3IrRXJdKHQpOnR1LnUodCk7fSxjOmZ1bmN0aW9uKHQpe3RyeXtyZXR1cm4gdGhpcy5zKCk/eVthcytHcit0aV1bYWErR3IrRXJdKHQpOnR1LmModCk7fWNhdGNoKHQpe3JldHVybiBtdTt9fSxvOm11LGE6ZnVuY3Rpb24odCxlKXt0aGlzLnMoKT95W2FzK0dyK3RpXVtsaStHcitFcl0odCxlKTp0dS5hKHQsZSk7fX07dHU9e3U6ZnVuY3Rpb24odCl7dGhpcy5hKHQsMCxuZXcgSmMoMCkpO30sYzpmdW5jdGlvbih0KXt2YXIgZTt3NS5ZNCg1KTtlPXJpW050XVtiY10obmV3IFVyKHc1LnU0KGVyLEdyLEdyLGV0LHNjLHQsR3IsR3IsdHQsdWMsR3IsR3IsSm8sR3IpLGxzKSk7cmV0dXJuIGU/VmMoZVswXVtDcl0oR3IrZXQrR3IpWzFdKTptdTt9LGE6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO3M9aXx8R3I7cyYmKHR5cGVvZiBzPT09V3Q/KG89bmV3IEpjKCkpW2xpK0dyK0hdKG9bYWErR3IrSF0oKSsxZTMqcyk6bz1zLHM9R3IrZXIrZmkrZXQrR3Irb1tYcytHcitWcitHcit4YytHcitXK0dyK2hdKCkpO3JpW050XT10KyhHcitldCtHcikrJGMoR3IrZSkrcysocj9HcitlcitkcytldCtHcityOkdyKSsoR3IrZXIrQXQrZXQrR3IpKyhufHxHcitQZStHcik7fX07WmM9e3A6ZnVuY3Rpb24odCl7dmFyIGUsaTtpPXt9O2ZvcihlPTA7ZTx0W3BpXTtlKyspe2lbdFtlXVswXV09dFtlXVsxXTt9cmV0dXJuIGk7fSxXOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbjt0cnl7cmV0dXJuIG49dFthYStHcitHaV0oZSksdHlwZW9mIGkhPT1UYz95dTohIW5ldyBVcihGbitpK01zLGxzKVtqY10obik7fWNhdGNoKHQpe3JldHVybiB5dTt9fSxBOmZ1bmN0aW9uKCl7dHJ5e3JldHVybiB0eXBlb2YgeS5qUXVlcnkuZm4ub249PT1aczt9Y2F0Y2godCl7cmV0dXJuIHl1O319LEc6ZnVuY3Rpb24odCl7cmV0dXJuKHQ/bmV3IEpjKHQpOm5ldyBKYygpKVthYStHcitIXSgpO30sTTpmdW5jdGlvbih0KXt2YXIgbTAsQTAsSTAsZSxsNyxjNyxWNzttMD0tMTc4MjYxMjU4MTtBMD0tMTYzMzI0MDE2NDtJMD0yO2Zvcih2YXIgcjA9MTt3NS5MMShyMC50b1N0cmluZygpLHIwLnRvU3RyaW5nKCkubGVuZ3RoLDM0ODU4KSE9PW0wO3IwKyspe0kwKz0yO31pZih3NS5MMShJMC50b1N0cmluZygpLEkwLnRvU3RyaW5nKCkubGVuZ3RoLDg0OTA2KSE9PUEwKXt9dHJ5e2w3PS0xMjU4NTI0ODY5O2M3PTc3MTI1MDQ2ODtWNz0yO2Zvcih2YXIgeTc9MTt3NS5kMSh5Ny50b1N0cmluZygpLHk3LnRvU3RyaW5nKCkubGVuZ3RoLDEwMjkyKSE9PWw3O3k3KyspeyhlPXRbSmFdW1FhXShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7VjcrPTI7fWlmKHc1LmQxKFY3LnRvU3RyaW5nKCksVjcudG9TdHJpbmcoKS5sZW5ndGgsMjYwMTcpIT09YzcpeyhlPXRbSmFdW1FhXSgoVWEtVnQpL2NpKSlbYm9dKCk7ZVtJb10oKTt9fWNhdGNoKHQpe30oZT1BdShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7fSxUOmZ1bmN0aW9uKHQpe3QmJihUdVtFaV09dCk7fSxxOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxpPVt5cixUbixFYSxCZSxqcyxabixqdCxrYyx3ZV0sbj0wO248aVtwaV07bisrKWlmKGU9aVtuXVtqY10odnUpKXtyZXR1cm4gdD9VYyhlWzFdLDEwKTplWzFdW1pdKFFzLEdyK1R0K0dyKTt9cmV0dXJuIG11O30sTDpmdW5jdGlvbih0LGUpe3c1Llk0KDcpO3JldHVybiB3NS51NChZZSxlcixHcix0LGllLHlzLEdyLGUsR3IsVmUsVnQsR3IpO30sXzpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUTAsZTAsajA7UTA9LTE2NDA5MDY2NDA7ZTA9MzYxNTQ4MTI4O2owPTI7Zm9yKHZhciB0MD0xO3c1LmQxKHQwLnRvU3RyaW5nKCksdDAudG9TdHJpbmcoKS5sZW5ndGgsMzk3NjcpIT09UTA7dDArKyl7aT15O3c1Llk0KDQpO249dFtDcl0odzUudTQoR3IsVHQsR3IpKTtmb3IoZT0wO2U8bltwaV07ZSsrKXtpPWlbbltlXV07fXJldHVybiBpO2owKz0yO31pZih3NS5MMShqMC50b1N0cmluZygpLGowLnRvU3RyaW5nKCkubGVuZ3RoLDQ3NjE4KSE9PWUwKXtpPXk7dzUuWTQoNik7bj10W0NyXSh3NS51NChUdCxHcixHcikpO2ZvcihlPTQ7ZTw9bltwaV07ZS0tKXtpPWlbbltlXV07fXJldHVybiBpO319LFM6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbyxzMCxEMCxXMCxVMCx4MCx6MDtvPXkualF1ZXJ5fHxudWxsO2lmKHQmJnRbQW5dKXtyZXR1cm4gZ3U7fWlmKCFvKXtyZXR1cm4geXU7fXRyeXtzMD0tMTYxNTA0NTA7RDA9LTE5OTUwMzAzNTQ7VzA9Mjtmb3IodmFyIGMwPTE7dzUuZDEoYzAudG9TdHJpbmcoKSxjMC50b1N0cmluZygpLmxlbmd0aCw5Nzc5KSE9PXMwO2MwKyspe2lmKChlPShvKHQpW2llXShHYSkmJm8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9VzArPTI7fWlmKHc1LkwxKFcwLnRvU3RyaW5nKCksVzAudG9TdHJpbmcoKS5sZW5ndGgsMjI1MTYpIT09RDApe2lmKChlPShvKHQpW2llXShHYSl8fG8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9fX1jYXRjaCh0KXt9dHJ5e1UwPS0xMjgxMDM4MTgyO3gwPS01MjI2MTY2MzI7ejA9Mjtmb3IodmFyIGkwPTE7dzUuTDEoaTAudG9TdHJpbmcoKSxpMC50b1N0cmluZygpLmxlbmd0aCwzMjg1OSkhPT1VMDtpMCsrKXtmb3IoZT1vKHJpW1FyXSlbaWVdKEdhKVtnc10saT00O2k+ZVtwaV07aS0tKWZvcihyPW8oZVtpXVtvZV0pLG49NztuPj1yW3BpXTtuLS0paWYocltuXT09dCl7cmV0dXJuIGd1O316MCs9Mjt9aWYodzUuTDEoejAudG9TdHJpbmcoKSx6MC50b1N0cmluZygpLmxlbmd0aCw4ODE3MikhPT14MCl7Zm9yKGU9byhyaVtRcl0pW2llXShHYSlbZ3NdLGk9NDtpPmVbcGldO2ktLSlmb3Iocj1vKGVbaV1bb2VdKSxuPTc7bj49cltwaV07bi0tKWlmKHJbbl09PXQpe3JldHVybiBndTt9fWZvcihlPW8ocmlbUXJdKVtpZV0oR2EpW2dzXSxpPTA7aTxlW3BpXTtpKyspZm9yKHI9byhlW2ldW29lXSksbj0wO248cltwaV07bisrKWlmKHJbbl09PT10KXtyZXR1cm4gZ3U7fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sQzpmdW5jdGlvbih0LGUsaSl7dmFyIG4scixvO289WmMuTyhvNSk7cmV0dXJuIG49b1t0bytHcit5YV1bbXJdW1VzK0dyK0NuXShkZSksbltPXT1yYStQZStDdCxuW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoSmErVHQrX3QrWWUrR3IrZXQrR3IrWWUrSmErVHQrcCtZZStHcitldCtHcitZZStKYStUdCt1cytHcitDbitZZStHcitldCtHcitZZStkK2VyK0dyKSsoSmErVHQrJG4rWWUrR3IrZXQrR3IrWWUrWnMrUit6K1ZlK0dyK1llK3NvK1ZlK0dyK1llK0NlK1ArR3IrWWUrR3Ird24rR3IpKyh1YStZZStCcytHcitYbytZZStHcitldCtHcitZZStKYStUdCtRYStSK3orVmUrR3IrWWUrc28rVmUrR3IrWWUrQ2UrUCtHcitlcitHcikrKFdyK1llK0dyK3duK0JzK0dyK1hvK1R0K1dvK1llK0dyK2V0K0dyK1llK2QrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSsoTnIrWWUrQnMrR3IrWG8rZXIrR3IpKyhHcitEcitHcitlcitHciksb1t0bytHcit5YV1bbXJdW1FyXVtJdCtHcitXZV0obikscj1vW3RvK0dyK3lhXS5ta3AodCxlLGkpLFpjLlAobykscjt9LEI6ZnVuY3Rpb24odCxlLG4pe3ZhciByLG8scztyPTA7bz1ufHwxMDtzPXQ7dHJ5e2Zvcig7cyYmcisrPG87KXtpZih0eXBlb2YgZT09PVRjJiYoc1tTYytHcittY109PT1lfHxaYy5JKHMsZSkpfHx0eXBlb2YgZT09PWFyJiZzPT09ZSl7cmV0dXJuIHM7fXc1Llk0KDQpO3M9c1t3NS51NChfdCxHcixpKV07fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sRjpmdW5jdGlvbih0KXt2YXIgZTtlPVJ0W1RlXTtyZXR1cm4gdHlwZW9mIHQhPT1nZSYmKGU9KGN0W2pjXSh0KXx8W0dyLEdyXSlbMV0pLGVbWl0oUGMsR3IpO30seDpmdW5jdGlvbih0KXtyZXR1cm4geWlbWHRdW1hzK0dyK2hdW0NpXSh0KT09PUdyK0pvK2FyK1llK2JuK3R0K0dyO30sazpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUjAsUDAsSjA7aT1bXTtuPVpjLnYoKTt0cnl7UjA9LTE2Mjc2MTY5Mzc7UDA9LTIwMDI5NzgxNzY7SjA9Mjtmb3IodmFyIEIwPTE7dzUuTDEoQjAudG9TdHJpbmcoKSxCMC50b1N0cmluZygpLmxlbmd0aCw3NjkxMCkhPT1SMDtCMCsrKXtmb3IoZSBpbiBuKXt+dFtlXSE9Z2V8fGlbTXJdKGUvKChHci1ldCklR3IpLXRbZV0pO31KMCs9Mjt9aWYodzUuTDEoSjAudG9TdHJpbmcoKSxKMC50b1N0cmluZygpLmxlbmd0aCw4NjExMCkhPT1QMCl7Zm9yKGUgaW4gbil7fnRbZV0hPWdlfHxpW01yXShlLygoR3ItZXQpJUdyKS10W2VdKTt9fWZvcihlIGluIG4pe3R5cGVvZiB0W2VdIT09Z2UmJmlbTXJdKGUrKEdyK2V0K0dyKSt0W2VdKTt9fWNhdGNoKHQpe0tjLmUodCk7fXc1Llk0KDQpO3JldHVybiBpW05pXSh3NS5jNChHcixWZSxHcikpO30sUjpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5CKHQsT24pO30seTpmdW5jdGlvbigpe2Zvcih2YXIgdCxlPXt9LGk9MDtpPGFyZ3VtZW50c1twaV07aSsrKWZvcih0IGluIGFyZ3VtZW50c1tpXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0oYXJndW1lbnRzW2ldLHQpJiYoZVt0XT1hcmd1bWVudHNbaV1bdF0pO31yZXR1cm4gZTt9LFY6ZnVuY3Rpb24odCxlKXt2YXIgSjEsWDEsQjE7SjE9NDUyODczNzI5O1gxPTEyNzMxMDM4NTg7QjE9Mjtmb3IodmFyIE4xPTE7dzUuZDEoTjEudG9TdHJpbmcoKSxOMS50b1N0cmluZygpLmxlbmd0aCw1NTI1MSkhPT1KMTtOMSsrKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpKihlLXQpKSt0O0IxKz0yO31pZih3NS5kMShCMS50b1N0cmluZygpLEIxLnRvU3RyaW5nKCkubGVuZ3RoLDI4MzUxKSE9PVgxKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpJShlL3QpKSV0O319LFE6ZnVuY3Rpb24odCl7dmFyIGUsaSxuO3c1Llk0KDgpO2U9dzUuYzQodHlwZW9mIHQsYXIpO2k9dDt3NS5vNCg0KTtuPXJpW1VzK0dyK0NhXSh3NS51NChTbixHcix1bykpO25bTHMrR3IrU24rR3IrQ2FdKGdzLGd1LGd1LHksMCwwLDAsMCwwLGd1LHl1LHl1LGd1LDAsbXUpO2V8fChpPVpjLnooVSx7aHJlZjp0fHxpZStWdCtyYStQZStqbytWZStHcit1aStkZSt1citKYStUdCtJbytSK0dyK1ArR3IrZXIrR3IrdWkrR3IrUGUrZGUrdXIrR3J9KSxyaVtRcl1bSXQrR3IrV2VdKGkpKTtpW2duK0dyK0NhXShuKTtlfHxaYy5QKGkpO30sejpmdW5jdGlvbih0LGUsaSl7dmFyIG4scjtyPXJpW1VzK0dyK0NuXSh0KTtmb3IobiBpbiBlKXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShlLG4pJiZyW2xpK0dyK0dpXShuLGVbbl0pO31yZXR1cm4gaSYmKHJbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPWkpLHI7fSxZOmZ1bmN0aW9uKCl7dHJ5e3c1Lm80KDQpO3JldHVybiEhT3VbdzUuYzQoZW4sUGUsTWMpXVt3NS51NCgkaSxHcixXcyldO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sbDpmdW5jdGlvbih0KXt2YXIgZSxpLFk3LGY3LHM3O2U9WmMuXyh0KTt3NS5ZNCg0KTtpPXRbWl0oQWEsdzUudTQoR3Isem8scSkpO3RyeXtZNz0tMTYzMTA2MDI3MDtmNz0xOTgxNTM2MDYxO3M3PTI7Zm9yKHZhciBXNz0xO3c1LkwxKFc3LnRvU3RyaW5nKCksVzcudG9TdHJpbmcoKS5sZW5ndGgsMTYwMikhPT1ZNztXNysrKXtyZXR1cm4rbmV3IFVyKChacy9ZZS1HcikvIGkveHIsUnMpW2lyXShlW1hzJUdyL2hdKCkpO3M3Kz0yO31pZih3NS5MMShzNy50b1N0cmluZygpLHM3LnRvU3RyaW5nKCkubGVuZ3RoLDExNjM3KSE9PWY3KXtyZXR1cm4hbmV3IFVyKFpzK1llK0dyK2kreHIsUnMpW2lyXShlW1hzK0dyK2hdKCkpO319Y2F0Y2godCl7cmV0dXJuIHRbWHMrR3IraF0oKVtMK0dyK1dhXShrbytZZStycytZZStVK1llK1pzKT4tMT9ndTpYYy5kP2d1Onl1O319LHY6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbzt3NS5vNCg0KTtlPXlbdzUuYzQoUGEsR3IsZyldO3c1Llk0KDQpO2k9eVt3NS5jNChQYSxHcix3YyldO249eVtPaStHcitVZV18fHlbT2krR3IrV25dfHwwO3I9eVtPaStHcit4b118fHlbT2krR3IrQ2NdfHwwO289e307cmV0dXJuIG9bb2NdPWUsb1tLYV09aSxvW0hpXT1uLG9bcF09cixvW29yXT0wLG9bRWldPTEsb1tTcl09MSxvW09yXT0xLG8ucmVzaXphYmxlPTEsb1tNZV09MSxYYy5iJiYob1tLYV0rPVhjLm0/NDY6NTIpLFhjLmcmJihvW29jXS09NSxvW0thXS09NCksdHlwZW9mIHQ9PT1hciYmKG89WmMueShvLHQpKSxvO30sTzpmdW5jdGlvbih0KXt2YXIgZTtlPXJpW1VzK0dyK0NuXShjbik7cmV0dXJuIGVbeGVdW3h0XT1YaSx0JiZyaVtRcl1bSXQrR3IrV2VdKGUpLGU7fSxEOmZ1bmN0aW9uKHQpe3JldHVybiB0W1NjK0dyK21jXT09PUZjK0dyK1ZyK0dyK3hjK0dyK3hjK0dyK2ZjK0dyK2d0fHx0W1NjK0dyK21jXT09PXZhK0dyK2d0K0dyK210K0dyK1ZyK0dyK3hjJiZVbltpcl0odFthYStHcitHaV0oTykpfHx0aGlzLkIodCxGYytHcitWcitHcit4YytHcit4YytHcitmYytHcitndCkhPT15dTt9LFA6ZnVuY3Rpb24odCl7dCYmdFtfdCtHcitpXSYmdFtfdCtHcitpXVt4bitHcitXZV0odCk7fSxJOmZ1bmN0aW9uKHQsZSl7dmFyIG4scixvO2lmKHR5cGVvZiBlIT09VGMpe3JldHVybiB5dTt9aWYodHlwZW9mIHJpW2VlK0dyK3Z0K0dyK21dPT09WnMpdHJ5e3I9dFtfdCtHcitpXVtlZStHcit2dCtHcittXShlKXx8eS5qUXVlcnkoZSk7fWNhdGNoKHQpe31lbHNlIGlmKFpjLkEoKSl0cnl7cj15LmpRdWVyeShlKTt9Y2F0Y2godCl7fWlmKHIpZm9yKG89MDtvPHJbcGldO28rKylpZihyW29dPT09dCl7cmV0dXJuIGd1O31zd2l0Y2goZVswXSl7Y2FzZSBHcitUdCtHcjpuPVtsbyxlW2ZzXSgxKV07YnJlYWs7Y2FzZSBHcitzZStHcjpuPVtWYSxlW2ZzXSgxKV07fXJldHVybiBuP3RoaXMuVyh0LG5bMF0sblsxXSk6eXU7fSxmOmZ1bmN0aW9uKHQsZSl7dHJ5e3JldHVybiEoIXRba2ldW2VdfHwhdFtraV1bZV1bWW5dKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LE46ZnVuY3Rpb24odCl7dmFyIGU7ZT10aGlzLlIodCk7cmV0dXJuIGUmJmVbdW5dJiYheHNbaXJdKGVbdW5dKT9lW3VuXTp5dTt9LEo6ZnVuY3Rpb24odCxlLGksbil7Zm9yKHZhciByLG8scyxhPXRbWHMrR3IraF0oKVtDcl0obnx8R3IrVHQrR3IpLGM9ZVtYcytHcitoXSgpW0NyXShufHxHcitUdCtHciksdT0wLGY9ZHJbQm9dKGFbcGldLGNbcGldKTt1PGYmJihyPVVjKGFbdV18fDAsMTApLG89VWMoY1t1XXx8MCwxMCkscWMocikmJihyPTApLHFjKG8pJiYobz0wKSxzPXI+bz8xOi0xLHI9PT1vKTt1Kyspe3M9MDt9c3dpdGNoKGkpe2Nhc2UgR3IrdXIrR3I6dzUubzQoOCk7cmV0dXJuIHc1LnU0KDEscyk7Y2FzZSBHcit1citHcitldCtHcjp3NS5ZNCg5KTtyZXR1cm4gdzUuYzQocywxKTtjYXNlIEdyK3VpK0dyOnc1Lm80KDEwKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK3VpK0dyK2V0K0dyOnc1Llk0KDExKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK2V0K0dyK2V0K0dyOmNhc2UgR3IrZXQrR3IrZXQrR3IrZXQrR3I6ZGVmYXVsdDp3NS5ZNCg4KTtyZXR1cm4gdzUudTQoMCxzKTt9fSwkOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1wZVtDcl0oR3IpLGk9ZVtwaV0sbj0wLHI9R3I7bjx0O24rKyl7cis9ZVtkcltBY10oZHJbTW5dKCkqaSldO31yZXR1cm4gcjt9LGg6ZnVuY3Rpb24odCxlKXt0cnl7cmV0dXJuIHRbYWErR3IrR2ldKGUpO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sSDpmdW5jdGlvbih0LGUsaSl7dmFyIG47dzUubzQoMik7bj13NS5jNChoaSx0KTtyZXR1cm4gdHlwZW9mIHlbbl0hPT1nZSYmcm8oeVtuXSkseVtuXT1pbyhlLGkpO30sdzpmdW5jdGlvbigpe3JldHVybiBQdTt9LFU6ZnVuY3Rpb24odCl7cmV0dXJuIHRbU2MrR3IrbWNdPT09dmErR3IrZ3QrR3IrbXQrR3IrVnIrR3IreGMmJm5lW2lyXSh0W2FhK0dyK0dpXShPKSl8fHRbU2MrR3IrbWNdPT09cGErR3IrT24rR3IrRmMrR3IrUHMrR3IrcGE7fX07aXU9e3R0OmZ1bmN0aW9uKHQsZSl7dmFyIGkscTUsbTUsQTU7dHJ5e3E1PS0xNDE1MjczNDIzO201PS0zMzc1MDc5MjY7QTU9Mjtmb3IodmFyIEs1PTE7dzUuZDEoSzUudG9TdHJpbmcoKSxLNS50b1N0cmluZygpLmxlbmd0aCwzNzU1NSkhPT1xNTtLNSsrKXtyZXR1cm4gZXx8KGk9cmlbKHdyLUdyKSVqbipHcipMY10odFtIYyVHci9VZV0sdFtIYy9Hci14b10pKT9pOnRbVGldJiZ0W1hzLUdyLUNuXSYmdFsoWHItR3IpJUNuXTtBNSs9Mjt9aWYodzUuTDEoQTUudG9TdHJpbmcoKSxBNS50b1N0cmluZygpLmxlbmd0aCw3MjUzNikhPT1tNSl7cmV0dXJuIGUmJihpPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXSx0W0hjK0dyK3hvXSkpP2k6dFtUaV18fHRbWHMrR3IrQ25dfHx0W1hyK0dyK0NuXTt9fWNhdGNoKHQpe3JldHVybiB5dTt9fSxYOmZ1bmN0aW9uKHQsZSxpLG4pe3JldHVybiB0eXBlb2YgdFtIbitHcitDYStHcitFbl09PT1acz90W0huK0dyK0NhK0dyK0VuXShlLGksbnx8e30pOnRbRmUrR3IrQ2FdKE5vK2UsaSk7fSxLOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByO3I9ZnVuY3Rpb24oKXtpdS5aKHQsZSxyLG4pO2lbQ2ldKCk7fTtpdS5YKHQsZSxyLG4pO30sWjpmdW5jdGlvbih0LGUsaSxuKXtyZXR1cm4gdHlwZW9mIHRbeG4rR3IrQ2ErR3IrRW5dPT09WnM/dFt4bitHcitDYStHcitFbl0oZSxpLG58fHt9KTp0W0tpK0dyK0NhXShObytlLGkpO319OyEoWGM9e2l0OmZhW2lyXSh2dSksbnQ6c3RbaXJdKHZ1KSxtOmxlW2lyXSh2dSksZXQ6YWNbaXJdKHZ1KSxydDpTb1tpcl0odnUpLG90OnNpW2lyXSh2dSl8fEpyW2lyXSh2dSl8fHVlW2lyXSh2dVtmc10oMCw0KSksc3Q6dm9baXJdKHZ1KSxnOkFyW2lyXSh2dSkmJiFfYVtpcl0odnUpLGI6bHJbaXJdKHZ1KSYmIW1hW2lyXSh2dSksYXQ6bWVbaXJdKHZ1KSYmIWdyW2lyXSh2dSksY3Q6eFtpcl0odnUpLGQ6Rltpcl0odnUpLHV0OnlvW2lyXSh2dSksX3Q6bXUscHQ6WmMucShndSl8fG11LGx0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3QhPT1tdT90aGlzLl90OnRoaXMuX3Q9UWMuZHQoKSE9PXl1O30sSjpmdW5jdGlvbih0LGUpe3JldHVybiBaYy5KKFhjLmZ0LGUsdCk7fSxodDptb1tpcl0odnUpJiYhenJbaXJdKHZ1KSxmdDpaYy5xKHl1KXx8bXV9KS5ldHx8WGMuaHR8fFhjLmR8fFhjLmJ8fChYYy51dD1vNSk7KFljPWZ1bmN0aW9uKHQsZSxpKXt2YXIgbjtuPWl8fHt9O25bel09ZTt0aGlzLnZ0KG4pO3RoaXMubXQuYnR8fCh0aGlzLm10LmJ0PXJ1K3QpO3RoaXMuZ3QoKTt9KVtYdF09e2t0OntUdDpndSxDdDptdSxqdDp5dSxFdDpHcitQZStHcixGdDprdSxMdDpndSxBdDp5dSxPdDpndSx4dDptdSxQdDpudWxsLGJ0Om11LHd0Om11LFN0Omt1fSxtdDp7fSx5dDpudWxsLHp0OlpjLnYoKSxCdDpaYy5wKFtbT3IsMF1dKSxJdDpaYy5wKFtbTWUsMV1dKSxNdDpaYy5wKFtbU3IsMV1dKSxXdDpaYy5wKFtbRWksMF0sW1NyLDBdXSksRHQ6WmMucChbW01lLDBdXSksVXQ6WmMucChbW1p0LDBdXSksUnQ6WmMucChbW0VpLDBdXSksc2V0T3B0aW9uczpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy52dCh0KTt9LGd0OmZ1bmN0aW9uKCl7dmFyIHQsZSxpLG47dD1mdW5jdGlvbih0LGUpe3ZhciBpLG47bj17fTtuW3B1XT1beXUsZ3VdO25bX3VdPVt5dSx5dV07bltsdV09W2d1LGd1XTtuW2R1XT1bZ3UseXVdO2ZvcihpIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixpKSYmbltpXVswXT09PXQmJm5baV1bMV09PT1lKXtyZXR1cm4gaTt9cmV0dXJuIF91O307ZT1YYy5sdCgpO2k9dChHYy5tdC4kdC5uZXdUYWIsR2MubXQuJHQudW5kZXIpO249dCh0aGlzLm10LkF0LHRoaXMubXQuVHQpO2V8fG49PT1wdSYmKG49aSk9PT1wdSYmKG49bHUpO1hjLm90JiYobj09PV91JiYobj1kdSksbj09PXB1JiYobj1sdSkpO3RoaXMueXQ9bjt9LEh0OmZ1bmN0aW9uKCl7dmFyIGswLG4wLEYwO2lmKHR5cGVvZiB0aGlzLm10Lnh0PT09WnMpdHJ5e3JldHVybiB0aGlzLm10Lnh0W0NpXSh0aGlzLHRoaXMubXQpW1hzK0dyK2hdKCk7fWNhdGNoKHQpe3JldHVybiBLYy5lKHQpLHl1O31rMD0tMTAwMjA0NzAxMztuMD0tMTY1MTM4NjMwNztGMD0yO2Zvcih2YXIgTTA9MTt3NS5MMShNMC50b1N0cmluZygpLE0wLnRvU3RyaW5nKCkubGVuZ3RoLDY4NDExKSE9PWswO00wKyspe3JldHVybiB0aGlzLm10Lnh0O0YwKz0yO31pZih3NS5kMShGMC50b1N0cmluZygpLEYwLnRvU3RyaW5nKCkubGVuZ3RoLDkwOTM5KSE9PW4wKXtyZXR1cm4gdGhpcy5tdC54dDt9fSxMdDpmdW5jdGlvbigpe3ZhciB0LGUsRzcsQzcsazcsVjAsdTAseTA7dD10aGlzLm10O2U9dC5PdCE9PU5zJiZ0Lk90IT09TmV8fHQuT3Q9PT1OcyYmWGMub3R8fHQuT3Q9PT1OZSYmIVhjLm90O3RyeXtHNz0tMTkzODMwODU3MjtDNz0tMTE3NzY0NDk2NDtrNz0yO2Zvcih2YXIgRjc9MTt3NS5kMShGNy50b1N0cmluZygpLEY3LnRvU3RyaW5nKCkubGVuZ3RoLDg5NDI0KSE9PUc3O0Y3Kyspe3R5cGVvZiB0Lkx0PT09WnM/ZT1lJiZ0Lkx0W0NpXSh0aGlzLGUsdGhpcy5OdCgpKSE9PXl1OnR5cGVvZiB0Lkx0PT09YW4mJihlPWUmJnQuTHQpO2s3Kz0yO31pZih3NS5MMShrNy50b1N0cmluZygpLGs3LnRvU3RyaW5nKCkubGVuZ3RoLDUzNDE4KSE9PUM3KXstdC5MdCE9PVpzP2U9ZXx8dC5MdFtDaV0odGhpcyxlLHRoaXMuTnQoKSk9PT15dTohdC5MdD09YW58fChlPWV8fHQuTHQpO319Y2F0Y2godCl7S2MuZSh0KTt9VjA9Njg3MDAyMDA4O3UwPS0yOTc1OTkyODc7eTA9Mjtmb3IodmFyIHYwPTE7dzUuTDEodjAudG9TdHJpbmcoKSx2MC50b1N0cmluZygpLmxlbmd0aCw2NDU0MSkhPT1WMDt2MCsrKXtyZXR1cm4gR2MuSnQoKT9lfHwtdGhpcy5WdDplfHwrdHUuYyh0LmJ0KTt5MCs9Mjt9aWYodzUuTDEoeTAudG9TdHJpbmcoKSx5MC50b1N0cmluZygpLmxlbmd0aCwyOTMyNSkhPT11MCl7cmV0dXJuIEdjLkp0KCk/ZXx8LXRoaXMuVnQ6ZXx8K3R1LmModC5idCk7fXJldHVybiBHYy5KdCgpP2UmJiF0aGlzLlZ0OmUmJiF0dS5jKHQuYnQpO30sdnQ6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHI7dGhpcy5tdD1aYy55KHRoaXMuenQsdGhpcy5rdCx0aGlzLm10LHR8fHt9KTtmb3IoaSBpbiB0aGlzLm10KWlmKHlpW1h0XVtCYStHcitsdCtHcitvb11bQ2ldKHRoaXMubXQsaSkpc3dpdGNoKG49dGhpcy5tdFtpXSxpKXtjYXNlIHNvOnRoaXMubXQud3Q9bjticmVhaztjYXNlIHo6dGhpcy5tdC54dD1uO2JyZWFrO2Nhc2UgTGU6dGhpcy5tdC5PdD0obitHcilbWHMrR3IrdHMrR3IrbmNdKCk7YnJlYWs7Y2FzZSBOdCtHcittYzp0aGlzLm10LmJ0PW47YnJlYWs7Y2FzZSBOdCtHcitUOnRoaXMubXQuQ3Q9bjticmVhaztjYXNlIE50K0dyK2VhOnRoaXMubXQuRXQ9bjticmVhaztjYXNlIE50K0dyKyRzOnRoaXMubXQuUHQ9bjticmVhaztjYXNlIEVlOnRoaXMubXQuVHQ9bjticmVhaztjYXNlIEErR3IrTG86dGhpcy5tdC5BdD1uO2JyZWFrO2Nhc2UgcHQrR3IramU6dGhpcy5tdC5GdD1uO2JyZWFrO2Nhc2UgamErR3IramU6dGhpcy5tdC5TdD1uO2JyZWFrO2Nhc2UgSWMrR3IrY3I6dGhpcy5tdC5qdD1uO2JyZWFrO2Nhc2UgdGUrR3Irc3M6dGhpcy5tdC5MdD1uO31pZighWGMub3QmJiF0aGlzLm10LkF0KWZvcihyPVtbWGMuZyYmMTE9PT1YYy5wdCx0aGlzLlV0XSxbWGMuYiYmWGMucHQ8NDEsdGhpcy5JdF0sW1hjLmIsdGhpcy5CdF0sW1hjLmQmJlhjLnB0PDQ3LHRoaXMuTXRdLFtYYy51dCx0aGlzLkR0XSxbWGMuY3QsdGhpcy5SdF0sW1hjLmImJlhjLnB0Pj01OSx0aGlzLld0XSxbWGMudXQmJlhjLnB0Pj00Nix0aGlzLld0XV0sZT0wO2U8cltwaV07ZSsrKWlmKHJbZV1bMF0pZm9yKGkgaW4gcltlXVsxXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0ocltlXVsxXSxpKSYmKHRoaXMubXRbaV09cltlXVsxXVtpXSk7fX0sZ2V0T3B0aW9uczpmdW5jdGlvbigpe3JldHVybiB0aGlzLk50KCk7fSxOdDpmdW5jdGlvbigpe3ZhciB0LGU7ZT17fTtmb3IodCBpbiB0aGlzLm10KXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXSh0aGlzLm10LHQpJiZ0W3BpXT49MyYmKGVbdF09dGhpcy5tdFt0XSk7fXJldHVybiBlO30scXQ6ZnVuY3Rpb24oKXtHYy5KdCgpP3RoaXMuVnQ9Z3U6dHUuYSh0aGlzLm10LmJ0LDEsdGhpcy5tdC5DdCx0aGlzLm10LkV0LHRoaXMubXQuUHQpO319OyhudT1mdW5jdGlvbih0KXt2YXIgZTtlPXRoaXM7dGhpcy5RdD10O3RoaXMuR3Q9dGhpcy5ZdCgpO3RoaXMuS3Q9dGhpcy5adCgpO2l1LlgodGhpcy5HdCxncyxmdW5jdGlvbigpe0dzKGUuS3QpO1pjLlAoZS5HdCk7fSk7fSlbWHRdPXtZdDpmdW5jdGlvbigpe3ZhciB0LEs3LHI3LFE3O0s3PS0xODIwMzgxMDU7cjc9MTk5MDM1MjYxMTtRNz0yO2Zvcih2YXIgajc9MTt3NS5kMShqNy50b1N0cmluZygpLGo3LnRvU3RyaW5nKCkubGVuZ3RoLDg2ODQwKSE9PUs3O2o3Kyspe3Q9WmMueihoYyx7Y2xhc3M6ZnV9LEdyKTtyZXR1cm4gdGhpcy5RdFtTYytHcittY11bWHMrR3IrdHMrR3IrbmNdKCk9PT1Rcj9yaVtRcl1bSXQrR3IrV2VdKHQpOnRoaXMuUXRbX3QrR3IraV1bTmMrR3IrT3NdKHQsdGhpcy5RdFtWcytHcitrc10pLHQ7UTcrPTI7fWlmKHc1LkwxKFE3LnRvU3RyaW5nKCksUTcudG9TdHJpbmcoKS5sZW5ndGgsMzM0MykhPT1yNyl7dD1aYy56KGhjLHtjbGFzczpmdX0sR3IpO3JldHVybiB0aGlzLlF0W1NjKkdyL21jXVtYcypHci10cy1Hci1uY10oKT09UXI/cmlbUXJdW0l0L0dyL1dlXSh0KTp0aGlzLlF0W190L0dyJWldWyhOYy1HcikqT3NdKHQsdGhpcy5RdFsoVnMtR3IpJWtzXSksdDt9fSxadDpmdW5jdGlvbigpe3ZhciB0O3Q9dGhpcztyZXR1cm4gQ28oZnVuY3Rpb24oKXt2YXIgZSxpO2k9VWModC5RdFt4ZV1bc24rR3IrenNdLDEwKTt0LlF0W1NjK0dyK21jXVtYcytHcit0cytHcituY10oKT09PVFyJiYoaT05ZTkpOyhlPV9uK1Z0K2dvK2VyK0RhK1Z0K04rZXIrbG4rVnQraytlcitHcisoS2ErVnQrR3IpK3QuUXRbZnIrR3Ird2NdKyhobytlcitHcikrKG9jK1Z0K0dyKSt0LlF0W2ZyK0dyK2ddKyhobytlcitHcikrKEhpK1Z0K0dyKSt0LlF0W2ZyK0dyK1duXSsoaG8rZXIrR3IpKyhwK1Z0K0dyKSt0LlF0W2ZyK0dyK0NjXSsoaG8rZXIrR3IpKyhzbit3aStMK1Z0K0dyKSsocWMoaSk/MjppKzEpKSE9PXQuR3RbYWErR3IrR2ldKHhlKSYmdC5HdFtsaStHcitHaV0oeGUsZSk7fSwxNTApO319O251Llh0PWZ1bmN0aW9uKHQpe3ZhciBlO3c1Llk0KDEyKTtlPXc1LmM0KHJ1LExpLHdpLHdpLEdyLGllLEdyKTt0W2FhK0dyK0dpXShlKXx8dFthYStHcitHaV0obG8pPT09ZnV8fCh0W2xpK0dyK0dpXShlLDEpLG5ldyBudSh0KSk7fTsoUWM9e2R0OmZ1bmN0aW9uKCl7dmFyIHQsZTtlPXRoaXMuZWUoKTtmb3IodD0wO3Q8ZVtwaV07dCsrKWlmKGVbdF1bMV0oKT09PWd1KXtyZXR1cm4gZVt0XVswXTt9cmV0dXJuIHl1O30sZWU6ZnVuY3Rpb24oKXt2YXIgdDt0PVtdO3JldHVybiBYYy5vdHx8WGMuaXQ/W106KHRbTXJdKFt0aGlzLmllLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlhjLnB0Pj02NCYmWGMucHQ8Njc7fV0pLHRbTXJdKFt0aGlzLm5lLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubnQmJlhjLnB0Pj00MyYmWGMucHQ8NjQ7fV0pLHRbTXJdKFt0aGlzLnJlLGZ1bmN0aW9uKCl7dmFyIGI3LHE3LG03O2I3PS02MDMwNTI0OTU7cTc9LTQwNjg3OTgwNDttNz0yO2Zvcih2YXIgSTc9MTt3NS5MMShJNy50b1N0cmluZygpLEk3LnRvU3RyaW5nKCkubGVuZ3RoLDU1NDM5KSE9PWI3O0k3Kyspe3JldHVybiBYYy5ifHxaYy5ZKCl8fFhjLm18fFhjLnB0PD0xN3x8WGMucHQ+PTg5O203Kz0yO31pZih3NS5MMShtNy50b1N0cmluZygpLG03LnRvU3RyaW5nKCkubGVuZ3RoLDYyMDk0KSE9PXE3KXtyZXR1cm4gWGMuYnx8WmMuWSgpfHxYYy5tfHxYYy5wdDw9MTd8fFhjLnB0Pj04OTt9cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubSYmWGMucHQ+PTQ5JiZYYy5wdDw2NDt9XSksdFtNcl0oW3RoaXMub2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZDt9XSksdFtNcl0oW3RoaXMuc2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZyYmWGMucHQ+PTExO31dKSx0W01yXShbdGhpcy5hZSxmdW5jdGlvbigpe3JldHVybiBYYy5odDt9XSksdFtNcl0oW3RoaXMuY2UsZnVuY3Rpb24oKXt2YXIgVDAsRTAsbzA7VDA9MTIwNjMzNjEyMTtFMD0xMjk2MjQyMjUyO28wPTI7Zm9yKHZhciBwMD0xO3c1LmQxKHAwLnRvU3RyaW5nKCkscDAudG9TdHJpbmcoKS5sZW5ndGgsNDUyNzYpIT09VDA7cDArKyl7cmV0dXJuIFhjLnV0fHxYYy5udHx8WGMucHQ+PTc0O28wKz0yO31pZih3NS5MMShvMC50b1N0cmluZygpLG8wLnRvU3RyaW5nKCkubGVuZ3RoLDY1MzgpIT09RTApe3JldHVybiBYYy51dCYmWGMubnQmJlhjLnB0PD00ODt9fV0pLHQpO319KS50ZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMudGVbWHRdPXtfZTprdSx1ZTpmdW5jdGlvbih0KXt2YXIgcjUsUTUsZTU7cjU9LTk1ODI4OTMwMTtRNT0tNjIxNDQ4NDIyO2U1PTI7Zm9yKHZhciBaNT0xO3c1LmQxKFo1LnRvU3RyaW5nKCksWjUudG9TdHJpbmcoKS5sZW5ndGgsOTUyNjgpIT09cjU7WjUrKyl7dGhpcy5mZT10O2U1Kz0yO31pZih3NS5MMShlNS50b1N0cmluZygpLGU1LnRvU3RyaW5nKCkubGVuZ3RoLDE0MzU1KSE9PVE1KXt0aGlzLmZlPXQ7fX0sbGU6a3UscGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhO2k9dGhpcztuPWkuZmU7cj1uLkh0KCk7bz1uLm10O3M9by53dHx8WmMuJCg1KTthPVpjLmsobyk7aWYodD1mdW5jdGlvbigpe3RyeXtpZih0eXBlb2Ygby5GdD09PVpzJiZvLkZ0W0NpXShuLHIsbyk9PT15dSl7cmV0dXJuIHl1O319Y2F0Y2godCl7S2MuZSh0KTt9cmV0dXJuIG11O30sZT1mdW5jdGlvbih0KXtpZih0eXBlb2Ygby5TdD09PVpzKXRyeXtvLlN0W0NpXShuLHIsbyx0KTt9Y2F0Y2godCl7S2MuZSh0KTt9fSx0KCk9PT15dSl7cmV0dXJuIHl1O310eXBlb2Ygb1t6XT09PVRjJiZvW3pdIT09ciYmKHI9b1t6XSk7R2MuanQoby5qdCk7dGhpcy5fZSgpO3RyeXtyZXR1cm4gdGhpcy5sZShyLG8scyxhLGZ1bmN0aW9uKHQpe2kuZGUodCk7aS5oZSYmR2MuaGUoKTtlKHQpO30pO31jYXRjaCh0KXtyZXR1cm4gS2MuZSh0KSx5dTt9fSx2ZTpmdW5jdGlvbih0LGUsaSl7cmV0dXJuKEdjLm10LmJlP1pjLkM6QXUpKHQsZSxpKTt9LGRlOmt1LGhlOmd1fTtRYy5tZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMubWVbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTp5dSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3IodGhpcy52ZSh0LGksbikpO319KTtRYy5nZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuZ2VbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTohWGMub3QmJiFYYy5kLGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7cih0aGlzLnZlKHQsRmkpKTt9fSk7UWMueWU9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnllW1h0XT1aYy55KFFjLnRlW1h0XSx7a2U6ZnVuY3Rpb24oKXt2YXIgdCxlLGk7dD1HYy53ZSgpO2U9R2MueGUuUztpPXR5cGVvZiBHYy5tdC5PZT09PVpzP0djLm10Lk9lW0NpXSgpOkdjLm10Lk9lO3JldHVybiBmdW5jdGlvbigpe3ZhciBuLHI7cmV0dXJuIGkhPT1GdT9pOihuPVpjLiQoMSkscj1lP2k6R2MuQ2UodCl8fGksZXUucygpfHwhWGMub3QmJiFYYy5nP3I6KHR1LmEoY3UsbixtdSkscltaXSh2cixHcikrKEdyK3NlK0dyKStuKSk7fSgpO30sbGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgeDksejksaDksbyxzLGEsYyx1LGgsZixwO3g5PTE3MTA2NjI4Nzg7ejk9LTEwMzk3MjE3MTM7aDk9Mjtmb3IodmFyIEw5PTE7dzUuZDEoTDkudG9TdHJpbmcoKSxMOS50b1N0cmluZygpLmxlbmd0aCwzMDE4NykhPT14OTtMOSsrKXtoOSs9Mjt9aWYodzUuZDEoaDkudG9TdHJpbmcoKSxoOS50b1N0cmluZygpLmxlbmd0aCw0NTQ4MCkhPT16OSl7fWE9dGhpcy5rZSgpO2M9R2Mud2UoKTt1PVpjLk4oYyk7aD0xNTtmPVtdO3A9ZnVuY3Rpb24odCl7dmFyIGU7dHlwZW9mIHRbQW5dPT09WnMmJihlPXRbQW5dLGl1LlgodCxncyxlKSk7dFtBbl09ZnVuY3Rpb24oKXtyZXR1cm4geXU7fTt9O2ZvcihHYy5FZSgpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKSE9PUZpJiZaYy5mKGMsdW4pJiYocChjKSwwIT09Y1thYStHcitHaV0odW4pW0wrR3IrV2FdKEN0KSYmKGE9Y1thYStHcitHaV0odW4pKT09PUdyJiYoYT1GdSkpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKT09PUZpJiZaYy5mKGMsdW4pJiYocChjKSxpbyhmdW5jdGlvbigpe2NbQW5dPW11O30sM2UzKSxHYy5tdC5QZT9hPWNbYWErR3IrR2ldKHVuKTooYT1GdSxYYy5vdCYmKFhjLnV0P2ZbTXJdKGZ1bmN0aW9uKCl7QXUoY1thYStHcitHaV0odW4pLEZpKTt9KTppbyhmdW5jdGlvbigpe0F1KGNbYWErR3IrR2ldKHVuKSxGaSk7fSwyMCkpKSksWGMuZXQmJlhjLnV0fHxYYy5ldCYmWGMuc3QmJiFYYy5kJiYhWGMuYiYmIVhjLmh0PyhBdShhLEZpKSxaYy5IKEJyLGZ1bmN0aW9uKCl7WmMuVCh0KTt9LGgpKTohWGMub3QmJlpjLmgoYyxUaSkhPT1GaSYmKFhjLnV0JiZYYy5zdHx8WGMuaHQmJlhjLnB0PDEwfHxYYy5iJiZYYy5wdDw0MSk/WGMudXQ/KFpjLlEoYSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KFpjLlEodCksY1tTYytHcittY109PT1PbiYmdSYmWmMuVCh1KSk6WGMuZXQmJlhjLmQ/KG89QXUoYSxGaSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KG89eVtRYV0oVWErVnQrY2ksRmkpKT8ob1tFaV1bdW5dPWEsWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6bz1BdSh0LEZpKSxzPTA7czxmW3BpXTtzKyspe2Zbc11bQ2ldKCk7fW8mJnIobyk7fX0pO1FjLm9lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5vZVtYdF09WmMueShRYy50ZVtYdF0se2hlOnl1LGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG87bz10aGlzLnZlKHQsaSxuKTtvW2tuXSgpO1R1W2JvXSgpO1pjLk0obyk7aW8oZnVuY3Rpb24oKXtyKG8pO30sMWUzKTt9fSk7UWMuY2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLmNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZSh0LGksbik7cz1HYy5UZSgxZTMpO2l1LksoeSxibyxmdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9KTtvW2NjXT1mdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9O3Iobyk7fX0pO1FjLmFlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5hZVtYdF09WmMueShRYy50ZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIEQ5LFc5LGw5LG87RDk9MTk0OTIwNzgwOTtXOT04OTkwMjg0O2w5PTI7Zm9yKHZhciBWOT0xO3c1LkwxKFY5LnRvU3RyaW5nKCksVjkudG9TdHJpbmcoKS5sZW5ndGgsNTc4NTApIT09RDk7VjkrKyl7bDkrPTI7fWlmKHc1LkwxKGw5LnRvU3RyaW5nKCksbDkudG9TdHJpbmcoKS5sZW5ndGgsNTEwNjgpIT09Vzkpe315W3NvXT1aYy4kKDUpO289dGhpcy52ZSh0LGksbik7dGhpcy52ZShHcix5W3NvXSxHcik7eVtzb109bXU7cihvKTt9LGhlOnl1fSk7UWMuc2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZShQdT90OkZ1LGksbik7cz1mdW5jdGlvbigpe29bRWldW3VuXT10O307aXUuSyhvLGtuLHMpO29ba25dKCk7VHVbYm9dKCk7aW8ocywxMDApO3Iobyk7fSxoZTp5dX0pO1FjLm5lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5uZVtYdF09WmMueShRYy50ZVtYdF0se0ZlOmZ1bmN0aW9uKCl7dmFyIHQsZTtlPVpjLnooYXIse2RhdGE6WmMuTChlbitQZStNYyx0aGlzLkFlKStaYy4kKDMpfSk7cmV0dXJuKHQ9WmMueihoYyx7c3R5bGU6UGkrVnQrYStlcitvYytWdCtIcytlcitLYStWdCtIcytlcitEYStWdCtOK2VyK3ArVnQrRnIrSGErR3IrZXIrSGkrVnQrem4rZXIrayt3aStHYStWdCtYaStlciskbytWdCthK2VyK0dyfSkpW0l0K0dyK1dlXShlKSxbZSx0XTt9LFNlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMueSh0LHt9KTtyZXR1cm4gZVtwXT1lW0hpXT05ZTUsZVtvY109ZVtLYV09MSxlO30sQWU6THQrR3IrdGErR3IrRmMrR3IrUHMrR3Irb24rR3IrV2MrR3IreG8rR3IrJCtHcithaStHcituK0dyK1NhK0dyK0tyK0dyK1F0K0dyK2t0K0dyK3p0K0dyK3RjK0dyK1l0K0dyK3ZhK0dyK3MrR3IrdmErdWMraG4rR3IrTGErR3IrenQrR3IrVytHcitEYytHcitaYStHcittdCtHcitWaStHcitzYStHcitVZStHcitUYStHcit2YStHcitWaStHcitQcitHcit4bytHcitVZStHcitpYytHcitwbytHcitLcitHcitKK0dyK2hzK0dyK1ppK0dyK3ZhK0dyK1ByK0dyK0xhK0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrWGErR3IrVHMrR3IrWmkrR3IrdmErR3IrUHIrR3IrSGUrR3IrenQrR3IrVytHcitGYytHcit0YytHcityYytHcithZStHcit2aStHcit2YStHcitQcitHcitydCtHcitwcytHcittdCtHcituYStHcitUbytHcityZStHcit4bytHcit0YStHcitqaStHcitXK0dyK2F0K0dyK3ZhK0dyK1ByK0dyK2MrR3IrYit1YytFK0dyK1FvK0dyK3BzK0dyK2RjK0dyK1l0K0dyK3ZhK0dyK1lhK0dyK1hhK0dyK1RzK0dyK1ppK0dyK3ZhK0dyK0dlK0dyK09lK0dyK2dhK0dyK0hvK0dyK3ZhK0dyK1ByK0dyK2t0K0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrdmErR3Ircm4rdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitrdCtHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK09lK0dyK1krR3IrS3QrR3IreG8rR3IrVWUrR3IrYnMrR3IrRnQrR3IrUG8rR3IrRStHcitVZStHcitiaStHcitVZStHcitTZStHcitWcitHcitEcytHcit4bytHcitVZStHcitHbytHcit2YStHcitQdCtHcitVZStHcitScitHcit5YytHcitPZStHcitWbytHcitLcitHcit2YytHcitiZStHcitzK0dyK3hjK0dyK0tvK0dyK3IrR3IrYWkrR3IrZnQrdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitBZStHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK05hK0dyK1RzK0dyK010K0dyK2hyK0dyK1lzK0dyK0tzK0dyK0UrR3IrVWUrR3IrZm4rR3IrcmMrR3IrYWUrR3IrRCtHcitMdCtHcitWcitHcit0YStHcittdCtHcitacitHcitWcitHcitPZSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3ZhciBzLGEsYyx1LGg7dT10aGlzO2g9eXU7dHJ5eyhhPXRoaXMudmUoVWErVnQrY2ksRmkpKVttcl1bcnJdKHc1LnU0KHVyLEdyLEdyLGpvLFBlLHVpLEdyLFFyLEdyLFBlLG8sR3IsdWksdWksR3IsdXIsUGUsR3IsdXIsam8sR3IsdXIsbyx1aSxHcix1cixHcix1aSxRcix1cix1aSx3NS5ZNCgxMykpKTtpdS5LKGEscWEsZnVuY3Rpb24oKXtmdW5jdGlvbiBmKCl7bigpO2FbSW9dKCk7bygpO3JvKGMpO31ofHwoaD1ndSxzPWFbQmNdPUF1KFVhK1Z0K2NpLGksWmMuayh1LlNlKGUpKSksaXUuWChhLGJvLGYpLGM9aW8oZiwzZTMpLGFbbXJdW1FyXVtQYStHcithaStHcit4YytHcit6dCtHcitwYV09dS5GZSgpWzFdW1BuK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXSk7ZnVuY3Rpb24gbigpe3c1Llk0KDE0KTthW21yXVtRcl1bdzUudTQoUGEsenQsR3IsR3IsR3IseGMsR3IsYWkscGEpXT1Hcjt9ZnVuY3Rpb24gbygpe3ZhciBhMSxZMSxmMTthMT0tMTU2OTI3MTMyMDtZMT0yMzc1ODcyNDtmMT0yO2Zvcih2YXIgRDE9MTt3NS5MMShEMS50b1N0cmluZygpLEQxLnRvU3RyaW5nKCkubGVuZ3RoLDk0NDMyKSE9PWExO0QxKyspe3NbRWMlR3ItYmFdKGVbSGldLGVbcF0pO3NbZGElR3IqYmFdKGVbb2NdLGVbS2FdKTtzW0VpXVtaXSh0KTtyKHMpO2YxKz0yO31pZih3NS5kMShmMS50b1N0cmluZygpLGYxLnRvU3RyaW5nKCkubGVuZ3RoLDYyNDUzKSE9PVkxKXtzW0VjJUdyLWJhXShlW0hpXSxlW3BdKTtzW2RhJUdyKmJhXShlW29jXSxlW0thXSk7c1tFaV1bWl0odCk7cihzKTt9c1tFYytHcitiYV0oZVtIaV0sZVtwXSk7c1tkYStHcitiYV0oZVtvY10sZVtLYV0pO3NbRWldW1pdKHQpO3Iocyk7fX0pO31jYXRjaCh0KXt9fX0pO1FjLnJlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5yZVtYdF09WmMueShRYy5uZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG8scztzPVpjLk8oZ3UpO2l1LksoeSxibyxmdW5jdGlvbigpe1pjLlAocyk7b1tFaV1bWl0odCk7cihvKTt9KTt3NS5vNCg0KTtvPXRoaXMudmUodzUuYzQoVWEsVnQsY2kpLEZpKTtzW3RvK0dyK3lhXVttcl1bcnJdKHRoaXMuRmUoKVsxXVtQbitHcithaStHcit4YytHcit6dCtHcitwYV0pO319KTtRYy5pZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuaWVbWHRdPVpjLnkoUWMudGVbWHRdLHtMZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47aT10aGlzO249eXU7dzUubzQoNCk7ZT10aGlzLnZlKHc1LmM0KFVhLFZ0LGNpKSx0Lnd0fHxGaSx0LkJlfHxHcik7dC56ZSYmKGUmJmVbSW9dKCksbj1ndSk7IW4mJmUmJmlvKGZ1bmN0aW9uKCl7ZVtFaV1bdW5dPXQueHQ7dC5JZSYmaS5JZShlKTt9LDEwMCk7fSx1ZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47bj10aGlzO3RoaXMuamU9ZHJbTW5dKCk7dGhpcy5mZT10O2U9R2Mud2UoKTt3NS5vNCgxNSk7aT1aYy5CKGUsdzUuYzQoZ3QsR3IseGMsR3IsR3IsRmMseGMsR3IsZmMsR3IsVnIpKTsoZVtTYytHcittY109PT1PbiYmZVthYStHcitHaV0oanIpIT09RmkmJiFaYy5TKGUpfHxpJiYhWmMuUyhpKSkmJih0aGlzLmhlPWd1KTtpdS5YKHksSWUsZnVuY3Rpb24gdChlKXt0cnl7ZVtpZV0uamU9PT1uLmplJiZuLkxlKGVbaWVdKTtlW2llXS56ZSYmaXUuWih5LEllLHQpO31jYXRjaCh0KXt9fSk7fSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3RoaXMuSWU9cjt0aGlzLk1lKHtqZTp0aGlzLmplLEJlOm4sSWU6Z3UseHQ6dH0pO3RoaXMuTWUoe2plOnRoaXMuamUsemU6Z3UseHQ6VWErVnQrY2l9KTt9LGhlOnl1LE1lOmZ1bmN0aW9uKHQpe3lbSnQrR3IrWF0odCx5W0VpXVtSb10pO319KTtHYz17X2k6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5RaSgpK3RoaXMuSGkoKT5aYy5HKCk7fSxLaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm10LkplO30sSmU6ZnVuY3Rpb24oKXt2YXIgdDt0PVpjLngoYXJndW1lbnRzWzBdKT9hcmd1bWVudHNbMF06YXJndW1lbnRzO3JldHVybiB0aGlzLm5uKHQsUm4sdFtwaV0mJnRbMF09PT15dSk7fSxraTpmdW5jdGlvbih0LGUsaSxuKXt0aGlzLk9pKGksdCxndSl8fG4oZ3UseXUpO30sV2k6ZnVuY3Rpb24odCl7dHJ5e3JldHVybiB0W3F0XSYmMCE9PXRbcXRdfHx0aGlzLmNpLkcrMTUwPlpjLkcoKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LFJpOmZ1bmN0aW9uKCl7dGhpcy5XZT1bXTt9LFlpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQucWU7fSxVaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLldlO30sWmU6bXUsVGk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHx0aGlzLnFpKHQpKXtyZXR1cm4geXU7fWlmKCF0aGlzLm10LnFlW3BpXXx8dFthYStHcitHaV0obG8pPT09ZnUpe3JldHVybiBndTt9Zm9yKDtlPHRoaXMubXQucWVbcGldO2UrKylpZih0PT09dGhpcy5tdC5xZVtlXXx8dHlwZW9mIHRoaXMubXQucWVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5xZVtlXVtYcytHcitwcitHcituY10oKXx8WmMuSSh0LHRoaXMubXQucWVbZV0pKXx8WmMuQih0LHRoaXMubXQucWVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LHdlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueGUuUXQ7fSxMaTpmdW5jdGlvbigpe3ZhciB0LGU7ZT10aGlzO3RoaXMuWmU9WmMueihoYyx7c3R5bGU6b2MrVnQrRnIrSGErR3IrZXIrS2ErVnQrRnIrSGErR3IrZXIrRGErVnQrSXMrZXIrcCtWdCt6bitlcitIaStWdCt6bitlcitzbit3aStMK1Z0K25vK2VyK3h0K1Z0K1hpK2VyK0dyfSxHcik7dD1DbyhmdW5jdGlvbigpe3ZhciBpO2k9cmlbUXJdO2kmJihHcyh0KSxpW0l0K0dyK1dlXShlLlplKSk7fSwxMDApO30saGk6ZnVuY3Rpb24oKXt2YXIgTjksYTksWTksdCxlLGk7Tjk9LTUxNTA4MTc1NzthOT0tMTMwNjg1MTEzNztZOT0yO2Zvcih2YXIgczk9MTt3NS5kMShzOS50b1N0cmluZygpLHM5LnRvU3RyaW5nKCkubGVuZ3RoLDEwMDExKSE9PU45O3M5Kyspe1k5Kz0yO31pZih3NS5MMShZOS50b1N0cmluZygpLFk5LnRvU3RyaW5nKCkubGVuZ3RoLDQ1MzQ0KSE9PWE5KXt9aT10aGlzLlhlLm9pO2Zvcih0PTA7dDx0aGlzLmZpW3BpXSYmKCF0aGlzLnBpKCkmJiF0aGlzLl9pKCkpO3QrKyl7aWYoZT10aGlzLmZpW3RdLHRoaXMuWGUuc2krKyx0aGlzLlhlLm9pPVpjLkcoKSx0aGlzLmxpKGUpPT09eXUpe3JldHVybiB0aGlzLlhlLnNpLS0sdm9pZCh0aGlzLlhlLm9pPWkpO31pPXRoaXMuWGUub2k7ZXUuYShodSx0aGlzLlhlLm9pKTtlLnl0PT09bHUmJmV1LmEodXUsdGhpcy5YZS5zaSk7fX0sT2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBuLHIsbyxzO3c1Lm80KDQpO289dzUuYzQoR3IsVHQsR3IpO3c1Llk0KDIpO3M9dzUuYzQobyx0KTtmb3Iobj0wO248ZVtwaV07bisrKWlmKHI9KEdyK090K0dyK1R0K0dyKVtMK0dyK1dhXShlW25dWzBdKT4tMT9lW25dOm8rZVtuXSxzW2ZzXShzW3BpXS1yW3BpXSk9PT1yfHxpJiZyPT09d3Upe3JldHVybiBndTt9cmV0dXJuIHl1O30sZW46ZnVuY3Rpb24odCxlKXt2YXIgTDAsZDAsTzAsaSxuO0wwPTEyMjU5MjUxNjQ7ZDA9LTc2NDA0NzIyNjtPMD0yO2Zvcih2YXIgQzA9MTt3NS5MMShDMC50b1N0cmluZygpLEMwLnRvU3RyaW5nKCkubGVuZ3RoLDk4MzQ3KSE9PUwwO0MwKyspe08wKz0yO31pZih3NS5MMShPMC50b1N0cmluZygpLE8wLnRvU3RyaW5nKCkubGVuZ3RoLDg1NTk4KSE9PWQwKXt9aT10aGlzO249dGhpcy50bih0LGUpO3RoaXMuV2VbTXJdKG4pO3RoaXMuRGkobik7dGhpcy5pbnx8KEdjLkNpKCksZnVuY3Rpb24oKXt2YXIgdCxlO1hjLmImJigoZT1yaVtVcytHcitDbl0oaGMpKVtSYytHcitpdF0oVmEsZnVuY3Rpb24oKXtDdT1ndTt9KSxDdT1vNSx0PUNvKGZ1bmN0aW9uKCl7aWYoQ3U9eXUsIWkubXQuUmUpe2lmKHR5cGVvZiB5W3dzXSE9PWFyfHx0eXBlb2YgeVt3c11bT29dIT09WnMpe3JldHVybiBDdT1vNSx2b2lkIEdzKHQpO315W3dzXVtPb10oZSk7eVt3c11bTWldKCk7fX0sNTAwKSk7fSgpLHRoaXMuaW49bzUpO30sUGk6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuSmkoKSx0P3RoaXMuZmlbcGldOnRoaXMuZmlbcGldPjA7fSx2aTpmdW5jdGlvbigpe3ZhciB0LGU7dD1aYy5HKCk7ZT1aYy5HKGF1KTt3NS5ZNCgxNik7dGhpcy5YZS5yaT13NS5jNChlLHQsMzE1MzYwMDAwMDApO3RoaXMuWGUucmkmJih0aGlzLmxpPWt1KTt9LEJpOmZ1bmN0aW9uKCl7dmFyIHQ7dD1VYyhldS5jKGh1KSwxMCk7cWModCkmJih0PTApO3RoaXMuWGUub2k9dDt9LENlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMuTih0KTtyZXR1cm4gZSYmIXRoaXMubXQuTmUmJlpjLlModCk/eXU6ZTt9LGp0OmZ1bmN0aW9uKHQpe3ZhciBlLGksbjtlPXR5cGVvZiB0PT09Z2U/Z3U6ISF0O3c1Lm80KDIpO2k9dzUuYzQocnUsSSk7bj1yaVthYStHcitDbitHcitpaStHcit0bl0oaSk7ZT9ufHwobj1aYy56KERvLHtjb250ZW50OkljK3dpK2lhLG5hbWU6aWEsaWQ6aX0pLHJpW2FhK0dyK1JlK0dyK2lpK0dyK1JpK0dyK21jXShvKVswXVtJdCtHcitXZV0obikpOm4mJlpjLlAobik7fSxHaTpmdW5jdGlvbigpe3RoaXMuWGUuaWk9Z3U7dGhpcy5oaT1rdTt9LEp0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQuRGU7fSx5aTpmdW5jdGlvbih0LGUsaSxuLHIpe2Zvcih2YXIgbyxzPTA7czxlJiYobz10W3NdLCEoMT09PW4mJihyKGlbcytlXSx0W3NdKmlbc10rcysoaVtzXT4+cyszKSl8fHIoaVtzKzIqZV0sdFtzXSoodFswXSt0WzFdK3RbMl0pKyhpW3NdPDxzKSl8fHIoaVtzKzMqZV0sZHJbQWNdKHRbMF0qdFsxXSp0WzJdL28pK28rKGlbc10+PnMpKSl8fG48MSYmKHIoaVtzK2VdLHRbc10qaVtzXStzKXx8cihpW3MrMiplXSx0W3NdKih0WzBdK3RbMV0rdFsyXSkpfHxyKGlbcyszKmVdLGRyW0FjXSh0WzBdKnRbMV0qdFsyXS9vKStvKSkpKTtzKyspO30scWk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHwhdGhpcy5tdC5KZVtwaV0pe3JldHVybiB5dTt9Zm9yKDtlPHRoaXMubXQuSmVbcGldO2UrKylpZih0PT09dGhpcy5tdC5KZVtlXXx8dHlwZW9mIHRoaXMubXQuSmVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5KZVtlXXx8WmMuSSh0LHRoaXMubXQuSmVbZV0pKXx8WmMuQih0LHRoaXMubXQuSmVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LGNpOnt1aTp7fSxHOjB9LEhpOmZ1bmN0aW9uKCl7cmV0dXJuIFhjLm90P2RyW0JvXSh0aGlzLm10LlZlLDFlMyk6WGMuYnx8WGMuZ3x8WGMuY3R8fFhjLnV0JiYhWGMuZXQ/ZHJbQm9dKHRoaXMubXQuVmUsMjAwKTp0aGlzLm10LlZlO30sRWU6ZnVuY3Rpb24odCl7dmFyIGUsWjcsdDcsVTc7Wjc9LTEyNTc1NDEyNDI7dDc9MTMwMDY1ODcyMDtVNz0yO2Zvcih2YXIgejc9MTt3NS5MMSh6Ny50b1N0cmluZygpLHo3LnRvU3RyaW5nKCkubGVuZ3RoLDgzNTc3KSE9PVo3O3o3Kyspe2U9dHx8dGhpcy5jaS51aTtVNys9Mjt9aWYodzUuZDEoVTcudG9TdHJpbmcoKSxVNy50b1N0cmluZygpLmxlbmd0aCwzMDU1KSE9PXQ3KXtlPXQmJnRoaXMuY2kudWk7fXRyeXtlW01vK0dyK25pXSYmZVtNbytHcituaV0oKTtlW3FlK0dyK19zXSYmZVtxZStHcitfc10oKTt3NS5vNCg0KTtlW3c1LmM0KE5yLEdyLGNvKV09eXU7dzUubzQoNCk7ZVt3NS51NChtcyxHcixIcildPWd1O31jYXRjaCh0KXt9fSxpOmZ1bmN0aW9uKCl7dmFyIE8xLEcxLEMxO08xPS0xMzAyMzI0NTE3O0cxPTg4ODY0MDYzMDtDMT0yO2Zvcih2YXIgbjE9MTt3NS5kMShuMS50b1N0cmluZygpLG4xLnRvU3RyaW5nKCkubGVuZ3RoLDU5MTU1KSE9PU8xO24xKyspe3JldHVybiB0aGlzLm10LlVlfHx0aGlzLm10LkRlO0MxKz0yO31pZih3NS5MMShDMS50b1N0cmluZygpLEMxLnRvU3RyaW5nKCkubGVuZ3RoLDIzODAyKSE9PUcxKXtyZXR1cm4gdGhpcy5tdC5VZSYmdGhpcy5tdC5EZTt9fSxwaTpmdW5jdGlvbigpe3ZhciBoNyxpNyxMNztoNz0tMTUxMTEyMzE1NDtpNz0tMTY3MjAwNTI5NjtMNz0yO2Zvcih2YXIgTzc9MTt3NS5kMShPNy50b1N0cmluZygpLE83LnRvU3RyaW5nKCkubGVuZ3RoLDMyNTMzKSE9PWg3O083Kyspe3JldHVybiB0aGlzLiRpKCk8dGhpcy5tdC5IZTtMNys9Mjt9aWYodzUuTDEoTDcudG9TdHJpbmcoKSxMNy50b1N0cmluZygpLmxlbmd0aCwxOTk5KSE9PWk3KXtyZXR1cm4gdGhpcy4kaSgpPj10aGlzLm10LkhlO319LGdpOmZ1bmN0aW9uKHQsZSxpLG4scil7Zm9yKHZhciBvLHM9MDtzPGUmJihvPXRbc10sISgxPT09biYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzErKGlbc108PGlbc10lMTApLGlbZStzXSl8fHIob1trZStHcitucytHcitCaV0ob1twaV0tMSkqaVtzXSoyK3MrKGlbc10+PnMpLGlbMiplK3NdKXx8cihvW3BpXSppW3NdKjMrKGlbc108PHMpLGlbMyplK3NdKSl8fG48MSYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzEsaVtlK3NdKXx8cihvW2tlK0dyK25zK0dyK0JpXShvW3BpXS0xKSppW3NdKjIrcyxpWzIqZStzXSl8fHIob1twaV0qaVtzXSozLGlbMyplK3NdKSkpKTtzKyspO30sV2U6W10sdG46ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IFljKHRoaXMuV2VbcGldLHQsZSk7fSxBaTpmdW5jdGlvbih0KXt0aGlzLmNpLnVpPXQ7dGhpcy5jaS5HPVpjLkcoKTt9LGFpOltdLE1pOmZ1bmN0aW9uKHQpe3JldHVybiBudS5YdCh0KSx0aGlzO30sWmk6ZnVuY3Rpb24oKXtyZXR1cm4gWmMucChbW1RyLHRoaXMubXQuRGVdLFtvaSx0aGlzLm10LlVlXSxbd3QsdGhpcy5tdC5SZV0sW0xyK0dyK3plLHRoaXMubXQuT2VdLFtSbitHcitFbix0aGlzLm10Lk5lXSxbRHQsdGhpcy5tdC5IZV0sW2xjK0dyK2JhLHRoaXMubXQucWVdLFtSbitHcitiYSx0aGlzLm10LkplXSxbUW4sdGhpcy5tdC5WZV0sW3crR3IrVix0aGlzLm10LiRlXSxbdytHcitEbix0aGlzLm10LlFlXSxbcG4rR3IrdHIrR3IrTG4sdGhpcy5tdC5HZV0sW0JzK0dyK2wrR3IrU3MsdGhpcy5tdC4kdF0sW05zK0dyKyRyLHRoaXMubXQuWWVdLFtJYytHcitwYytHcitfaSx0aGlzLm10LmJlXSxbTHMrR3IrYnQsdGhpcy5tdC5LZV0sW0IrR3IrdmUrR3IrX28rR3IreW4rR3IrTG4sdGhpcy5tdC5QZV1dKTt9LFRlOmZ1bmN0aW9uKHQpe3ZhciBlLGk7aT1aYy5PKGd1KTtyZXR1cm4gZT1pW3RvK0dyK3lhXVttcl1bVXMrR3IrQ25dKGRlKSwwPT09eVtFaV1bdW5dW0wrR3IrV2FdKGorVnQrR3IpP2VbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPUdyKyhXcitZZStHcit3bitHcikrKGYrVHQrUytUdCthYStHcitaZStHcitRaStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKTplW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoV3IrWWUrR3Ird24rR3IpKyhZcitUdCtjYStHcitfZStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSxpW3RvK0dyK3lhXVttcl1bUXJdW0l0K0dyK1dlXShlKSx0eXBlb2YgdCE9PVd0JiZ0eXBlb2YgdCE9PWdlfHxpbyhmdW5jdGlvbigpe1pjLlAoaSk7fSx0fHw1MDApLGk7fSxOaTpmdW5jdGlvbigpe3ZhciBvMSx3MSxwMTtvMT0tMjExMjgyOTI0MDt3MT00MjIxODMwODI7cDE9Mjtmb3IodmFyIHEwPTE7dzUuZDEocTAudG9TdHJpbmcoKSxxMC50b1N0cmluZygpLmxlbmd0aCwzNTgxNCkhPT1vMTtxMCsrKXtmb3IodmFyIHQsZT02O2U8PXRoaXMuV2VbcGldO2UtLSl7dD10aGlzLldlW2VdO3R1LnUodC5tdC5idCk7fXRoaXMuWGUub2k9dGhpcy5YZS5zaT00O2V1LnUodXUpO2V1LnUoY3UpO2V1LnUoaHUpO3AxKz0yO31pZih3NS5MMShwMS50b1N0cmluZygpLHAxLnRvU3RyaW5nKCkubGVuZ3RoLDUxMjkxKSE9PXcxKXtmb3IodmFyIHQsZT0yO2U8dGhpcy5XZVtwaV07ZSsrKXt0PXRoaXMuV2VbZV07dHUudSh0Lm10LmJ0KTt9dGhpcy5YZS5vaT10aGlzLlhlLnNpPTM7ZXUudSh1dSk7ZXUudShjdSk7ZXUudShodSk7fWZvcih2YXIgdCxlPTA7ZTx0aGlzLldlW3BpXTtlKyspe3Q9dGhpcy5XZVtlXTt0dS51KHQubXQuYnQpO310aGlzLlhlLm9pPXRoaXMuWGUuc2k9MDtldS51KHV1KTtldS51KGN1KTtldS51KGh1KTt9LHppOmZ1bmN0aW9uKCl7dmFyIHQ7dD0wO3JldHVybiBldS5zKCk/KHQ9ZXUuYyh1dSksZXUudSh1dSkpOnR1LmModXUpJiYocmlbaWFdPT09UnRbdW5dfHx+UnRbdW5dW0wrR3IrV2FdKEdyK3NlK0dyK3R1LmMoY3UpKSkmJih0PXR1LmModXUpLGlvKGZ1bmN0aW9uKCl7dHUudSh1dSk7dHUudShjdSk7fSwzMDApKSx0PVVjKHQsMTApLHQ9cWModCk/MDp0LHRoaXMuWGUuc2k9dDt9LG10OntOZTpndSxLZTp5dSxKZTpbXSxWZTowLCR0OmJ1LCRlOltdLERlOnl1LE9lOkZ1LEhlOjk5OTksUmU6eXUscWU6W10sWWU6MTAsVWU6eXUsUWU6Z3UsUGU6eXUsYmU6eXUsR2U6Z3V9LCRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuWGUuc2k7fSxRaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLlhlLm9pO30sYmk6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhLGMsdSxuOSxGOSxnOTtzPXRoaXM7YT0wO2M9dGhpcy5YZTt1PWZ1bmN0aW9uKHQsZSl7dmFyIFA5LEo5LFg5O1A5PTMyNTI1NjI2O0o5PS05NTA1MjQwNDM7WDk9Mjtmb3IodmFyIFM5PTE7dzUuTDEoUzkudG9TdHJpbmcoKSxTOS50b1N0cmluZygpLmxlbmd0aCw0ODQ5MykhPT1QOTtTOSsrKXtyZXR1cm4gdD09PWV8fChjLm5pPWd1LHMubGk9a3UpLHQhPWU7WDkrPTI7fWlmKHc1LkwxKFg5LnRvU3RyaW5nKCksWDkudG9TdHJpbmcoKS5sZW5ndGgsNTM4MDApIT09Sjkpe3JldHVybiB0IT09ZSYmKGMubmk9Z3Uscy5saT1rdSksdCE9PWU7fX07aWYodHlwZW9mIHlbcnVdW2FyXSE9PWdlKXtjLm5pPW11O3Q9eVtydV1bYXJdW1huXSgpO2U9eVtydV1bYXJdW1huXSgpO2k9eVtydV1bYXJdW1huXSgpO249eVtydV1bYXJdW1huXSgpO3I9WmMuRigoeVtydV1bYXJdW1huXSgpfHx7c3JjOm51bGx9KVtYcl0pO289WmMuRih4dVtYcl0pO3RyeXtuOT0xNDUwNjEyMjI1O0Y5PS01NjY0Nzc2Nzc7Zzk9Mjtmb3IodmFyIFI5PTE7dzUuZDEoUjkudG9TdHJpbmcoKSxSOS50b1N0cmluZygpLmxlbmd0aCwyODY5NSkhPT1uOTtSOSsrKXthPXlbcnVdW2FyXVtYbl0oKSYmNztnOSs9Mjt9aWYodzUuZDEoZzkudG9TdHJpbmcoKSxnOS50b1N0cmluZygpLmxlbmd0aCwzODQzOCkhPT1GOSl7YT15W3J1XVthcl1bWG5dKCkmJjc7fWE9eVtydV1bYXJdW1huXSgpfHwwO31jYXRjaCh0KXt9YT1kcltCb10oMCxkcltrYV0oMSxhKSk7dGhpcy5taSh0LG8scix1KTt0aGlzLmdpKHQsdFtwaV0sZSxhLHUpO3RoaXMueWkoaSxpW3BpXSxuLGEsdSk7dGhpcy5raSh0LHRbcGldLFpjLkYoKSx1LHUpO3RoaXMud2koaSxaYy5HKCkpO2Mubmk9PT1tdSYmKGMubmk9eXUpO31jLnhpPWF8fDA7fSxFaTpmdW5jdGlvbih0LGUpe3ZhciBkOSxPOSxHOTtkOT04MzA2MTMyMTE7Tzk9MTQwNDM5MjY4MztHOT0yO2Zvcih2YXIgazk9MTt3NS5kMShrOS50b1N0cmluZygpLGs5LnRvU3RyaW5nKCkubGVuZ3RoLDE2MDEwKSE9PWQ5O2s5Kyspe3RoaXMueGUuUXQ9dDt0aGlzLnhlLlM9ZTtHOSs9Mjt9aWYodzUuZDEoRzkudG9TdHJpbmcoKSxHOS50b1N0cmluZygpLmxlbmd0aCw3Njg2OSkhPT1POSl7dGhpcy54ZS5RdD10O3RoaXMueGUuUz1lO319LFhpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbix1OSx5OSxIOTtuPXR8fHt9O2ZvcihlIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixlKSlzd2l0Y2godGhpcy5tdFtlXT1pPW5bZV0sZSl7Y2FzZSBUcjp0aGlzLm10LkRlPWk7YnJlYWs7Y2FzZSBvaTp0aGlzLm10LlVlPWk7YnJlYWs7Y2FzZSB3dDp0aGlzLm10LlJlPWk7YnJlYWs7Y2FzZSBMcitHcit6ZTp0aGlzLm10Lk9lPWk7YnJlYWs7Y2FzZSBSbitHcitFbjp0aGlzLm10Lk5lPWk7YnJlYWs7Y2FzZSBEdDp0aGlzLm10LkhlPWk7YnJlYWs7Y2FzZSBsYytHcitiYTp0aGlzLnFlW29hXSh0aGlzLGkpO2JyZWFrO2Nhc2UgUm4rR3IrYmE6dGhpcy5KZVtvYV0odGhpcyxpKTticmVhaztjYXNlIFFuOnRoaXMubXQuVmU9aTticmVhaztjYXNlIHcrR3IrVjp0aGlzLm10LiRlPWk7YnJlYWs7Y2FzZSB3K0dyK0RuOnRoaXMubXQuUWU9aTticmVhaztjYXNlIHBuK0dyK3RyK0dyK0xuOnRoaXMubXQuR2U9aTticmVhaztjYXNlIEJzK0dyK2wrR3IrU3M6dGhpcy5tdC4kdD1pO2JyZWFrO2Nhc2UgTnMrR3IrJHI6dGhpcy5tdC5ZZT1pO2JyZWFrO2Nhc2UgSWMrR3IrcGMrR3IrX2k6dGhpcy5tdC5iZT1pO2JyZWFrO2Nhc2UgTHMrR3IrYnQ6dGhpcy5tdC5LZT1pO2JyZWFrO2Nhc2UgQitHcit2ZStHcitfbytHcit5bitHcitMbjp0aGlzLm10LlBlPWk7fXU5PTE1MDY0OTg2ODA7eTk9NjExNzc3ODY1O0g5PTI7Zm9yKHZhciBUOT0xO3c1LkwxKFQ5LnRvU3RyaW5nKCksVDkudG9TdHJpbmcoKS5sZW5ndGgsNjMyMykhPT11OTtUOSsrKXtyZXR1cm4gdGhpcztIOSs9Mjt9aWYodzUuZDEoSDkudG9TdHJpbmcoKSxIOS50b1N0cmluZygpLmxlbmd0aCw2MzczOSkhPT15OSl7cmV0dXJuIHRoaXM7fX0saGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksZzcsTTcsUjc7Zzc9LTM5MDQ0MjA2O003PS0xNjI0Njc4MzI1O1I3PTI7Zm9yKHZhciBKNz0xO3c1LkwxKEo3LnRvU3RyaW5nKCksSjcudG9TdHJpbmcoKS5sZW5ndGgsNTI1MzkpIT09Zzc7SjcrKyl7ZT10aGlzLndlKCk7aT10aGlzLmNpLnVpO1I3Kz0yO31pZih3NS5MMShSNy50b1N0cmluZygpLFI3LnRvU3RyaW5nKCkubGVuZ3RoLDg0NzUzKSE9PU03KXtlPXRoaXMud2UoKTtpPXRoaXMuY2kudWk7fXRyeXsodD1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0oZ3MsZ3UsZ3UseSwxLGlbT2krR3IrVWVdLGlbT2krR3IreG9dLGlbSGMrR3IrVWVdLGlbSGMrR3IreG9dLHl1LHl1LHl1LHl1LDAsbXUpO3RbVW9dPWd1O2VbZ24rR3IrQ2FdKHQpO31jYXRjaCh0KXtLYy5lKHQpO319LFZpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuUGkobzUpO30sU2k6ZnVuY3Rpb24oKXt2YXIgdCxpLG4scixvLHM7cj10aGlzO289NTAwO3M9ZnVuY3Rpb24odCxlKXt2YXIgaSxuO249WGMuYj9lYzpnczsoaT1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0obixndSxndSx5LDEsZVtPaStHcitVZV0sZVtPaStHcit4b10sZVtIYytHcitVZV0sZVtIYytHcit4b10seXUseXUseXUseXUsMCxtdSk7aS5mYz1ndTt0W2duK0dyK0NhXShpKTt9O2l1LlgocmksJHQsZnVuY3Rpb24ocil7dmFyIG8sRjEsZzEsTTE7dzUubzQoNCk7bz1yW3c1LnU0KHNyLEdyLGUpXVswXTtGMT05NTkwNTM3NzY7ZzE9LTE3NzY2NDMwNTc7TTE9Mjtmb3IodmFyIFAxPTE7dzUuZDEoUDEudG9TdHJpbmcoKSxQMS50b1N0cmluZygpLmxlbmd0aCw4NTkzNCkhPT1GMTtQMSsrKXt3NS5vNCgxOCk7dD1yW3c1LnU0KG9zLEpzLEdyKV07dzUuWTQoMTkpO2k9b1t3NS51NChHcixmbyxVZSldO3c1Lm80KDIwKTtuPW9bdzUuYzQoeG8sZm8sR3IpXTtNMSs9Mjt9aWYodzUuTDEoTTEudG9TdHJpbmcoKSxNMS50b1N0cmluZygpLmxlbmd0aCwxMTM5OCkhPT1nMSl7dzUubzQoMjEpO3Q9clt3NS5jNChvcyxKcyxHcildO3c1Llk0KDIyKTtpPW9bdzUuYzQoR3IsVWUsZm8pXTt3NS5vNCg2KTtuPW9bdzUuYzQoR3IseG8sZm8pXTt9dzUubzQoNCk7dD1yW3c1LnU0KG9zLEdyLEpzKV07dzUuWTQoNCk7aT1vW3c1LmM0KGZvLEdyLFVlKV07dzUubzQoNCk7bj1vW3c1LnU0KGZvLEdyLHhvKV07fSxndSk7aXUuWChyaSx2LGZ1bmN0aW9uKGEpe3ZhciBjLHUsaCxTMCxOMCxhMDtTMD0xMTI5ODE1NDEyO04wPS00NTk2NDE3MTE7YTA9Mjtmb3IodmFyIGYwPTE7dzUuZDEoZjAudG9TdHJpbmcoKSxmMC50b1N0cmluZygpLmxlbmd0aCw5MDQxMCkhPT1TMDtmMCsrKXt3NS5vNCg0KTtjPWFbdzUuYzQoc3IsR3IsZSldWzBdO3U9aXUudHQoYSk7aD1yLm10LlllO2EwKz0yO31pZih3NS5MMShhMC50b1N0cmluZygpLGEwLnRvU3RyaW5nKCkubGVuZ3RoLDUxODk1KSE9PU4wKXt3NS5ZNCg2KTtjPWFbdzUudTQoR3IsZSxzcildWzRdO3U9aXUudHQoYSk7aD1yLm10LlllO31kcltGc10oY1tmbytHcitVZV0taSk+PWh8fGRyW0ZzXShjW2ZvK0dyK3hvXS1uKT49aHx8YVtvcytHcitKc10tdD5vfHxyLm10LlllPD0wfHxYYy5odCYmRGlbaXJdKHVbU2MrR3IrbWNdKXx8ci5YZS5paXx8ci5YZS5uaXx8ci5YZS5yaXx8ci5waSgpfHxyLl9pKCl8fCFyLlBpKCl8fCFyLlRpKHUpfHwhci5tdC5OZSYmWmMuUyh1KXx8KHVbU2MrR3IrbWNdPT09T24mJnIuRWUoYSkscyh1LGMpKTt9LGd1KTt9LG1pOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByLG87bz15dTtmb3Iocj0wO3I8dFtwaV07cisrKWlmKHRbcl09PT13dSl7bz1ndTticmVhazt9byYmKGV8fGkpJiYoIXRoaXMuT2koZSx0KXx8IXRoaXMuT2koaSx0KXx8eVtydV1bdW5dJiZ5W3J1XVt1bl1bcGldJiYhdGhpcy5PaShaYy5GKCkseVtydV1bdW5dKSkmJm4oZ3UseXUpO30seGU6e1F0Om11LFM6eXV9LHFlOmZ1bmN0aW9uKCl7dmFyIHQ7dD1aYy54KGFyZ3VtZW50c1swXSk/YXJndW1lbnRzWzBdOmFyZ3VtZW50cztyZXR1cm4gdGhpcy5ubih0LGxjLHRbcGldJiZ0WzBdPT09eXUpO30sd2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBXMSxsMSxjMTtXMT0xMTQ2NjMzOTY5O2wxPTU4MTgzMzU3NjtjMT0yO2Zvcih2YXIgdTE9MTt3NS5kMSh1MS50b1N0cmluZygpLHUxLnRvU3RyaW5nKCkubGVuZ3RoLDY5ODkxKSE9PVcxO3UxKyspe1pjLkcodFtOaV0oR3IrUGUrR3IpKTxlJiZpKGd1LHl1KTtjMSs9Mjt9aWYodzUuZDEoYzEudG9TdHJpbmcoKSxjMS50b1N0cmluZygpLmxlbmd0aCw0ODMyNikhPT1sMSl7WmMuRyh0W05pXShHciVQZSVHcikpPj1lfHxpKGd1LHl1KTt9fSxDaTpmdW5jdGlvbigpe3ZhciByLG8scyxhLGMsdSxoLGYscCxfO2Z1bmN0aW9uIHQoKXt2YXIgdCxlO3c1Lm80KDE3KTtlPVt3NS51NChIbixUdCxHcixFbixHcixDYSxKYSksdzUuYzQoeG4sVHQsR3IsRW4sR3IsQ2EsSmEsdzUubzQoMTcpKSx3NS5jNChKYSxUdCxRYSx3NS5ZNCg0KSksdzUuYzQoQ24sR3IsVXMsbXIsVHQsdzUubzQoMSkpLHc1LnU0KFdlLEdyLHhuLG1yLFR0LHc1Llk0KDEpKV07Zm9yKHQ9MDt0PGVbcGldO3QrKylpZihaYy5sKGVbdF0pKXtyZXR1cm4gS2MuZSh0LFpjLmwoZVt0XSkpLGd1O31yZXR1cm4geXU7fWZ1bmN0aW9uIGkoaSl7dT0yO198fChfPWd1LGlvKGZ1bmN0aW9uKCl7Xz15dTt9LFhjLm90PzUwMDoxNTApLEN1JiYhcC5VZXx8KHI9aXUudHQoaSksbz1aYy5CKHIsT24pLGM9WmMuUyhyKSxyW2FhK0dyK0dpXShsbyk9PT1mdT8oclt4ZV1beHRdPVhpLFpjLlAocikscj1pdS50dChpLGd1KSk6byYmKHM9KHI9bylbYWErR3IrR2ldKFRpKSxhPVpjLk4ociksYz1aYy5TKHIpKSxmLkVpKHIsYyksZi5YZS5paXx8Zi5YZS5uaXx8Zi5YZS5yaXx8aVtVb118fGUoZi5jaS51aVtPXSYmZi5jaS51aVtPXSE9PWlbT10pfHxlKHAuS2UmJiFFdSl8fGUoIWlbSGMrR3IrVWVdJiYhaVtIYytHcit4b10pfHxlKCFYYy5vdCYmIVhjLmcmJnR5cGVvZiBpW3F0XSE9PWdlJiYwIT09aVtxdF0pfHxlKCFYYy5vdCYmIWYuWmUmJihYYy5jdHx8WGMuYnx8WGMudXQpKXx8ZSghWGMub3QmJiFwLkdlJiYoWGMuYnx8WGMudXQpJiZzPT09RmkpfHxlKGYucGkoKSl8fGUoZi5faSgpKXx8ZSghZi5QaSgpKXx8ZSghZi5UaShyKSl8fGUoYyYmIXAuTmUpfHxlKCFwLlJlJiZ0KCkpfHwoZi5BaShpKSxYYy5ldCYmbyYmYSYmZi5FZShpKSxYYy5vdHx8IW98fGN8fChYYy5iJiZzIT09RmkmJlpjLlkoKXx8cC5HZSYmcz09PUZpJiYoWGMuYnx8WGMudXQpKSYmZi5FZShpKSxmLkZpPW11LGYuaGkoKSkpKTt9Zj10aGlzO3A9Zi5tdDtfPXl1O2Z1bmN0aW9uIGUodCl7cmV0dXJuKyt1LHQmJktjLmUodSksdDt9cC5SZXx8IXQoKT8oaD1YYy5kfHxYYy5nP3FhOmVjLGZ1bmN0aW9uKCl7aXUuWChyaSxncyxpLGd1KTtYYy5vdD8oaXUuWChyaSxlYyxuLGd1KSxpdS5YKHJpLHFhLG4sZ3UpKTppdS5YKHJpLGgsbixndSk7fSgpLHRoaXMuU2koKSx0aGlzLmppKCksdGhpcy5MaSgpLHRoaXMuemkoKSx0aGlzLkJpKCkpOktjLmUoeXUpO2Z1bmN0aW9uIG4odCl7cj1vPWM9cz1hPW11OyFYYy5vdCYmdFtIYytHcitVZV0rKFhjLm50PzE3OjE1KT55W1BhK0dyK2ddP3AuUWUmJigocj17fSkuc2Nyb2xsYmFyPWd1LGYuRWkocix5dSksZi5waSgpfHxmLl9pKCl8fCFmLlBpKCl8fGYuaGkoKSk6aSh0KTt9fSxsaTpmdW5jdGlvbih0KXtpZih0aGlzLlhlLmlpfHx0aGlzLlhlLm5pfHx0aGlzLlhlLnJpKXtyZXR1cm4geXU7fXN3aXRjaCh0Lnl0KXtjYXNlIF91Om5ldyBRYy5tZSh0KS5wZSgpO2JyZWFrO2Nhc2UgZHU6bmV3IFFjLmdlKHQpLnBlKCk7YnJlYWs7Y2FzZSBsdTpuZXcgUWMueWUodCkucGUoKTticmVhaztjYXNlIHB1OnRyeXtuZXcoUWMuZHQoKSkodCkucGUoKTt9Y2F0Y2godCl7S2MuZSh0KTt9fXJldHVybiB0LnF0KCksZ3U7fSxqaTpmdW5jdGlvbigpe3ZhciB0LGUsaSxuLHIsbztuPXRoaXM7cj17fTtvPWZ1bmN0aW9uKHQpe2ZvcihlPTA7ZTx0W3BpXTtlKyspe24uTWkodFtlXSk7fX07Q28oZnVuY3Rpb24oKXt2YXIgZTtmb3IodD0wO3Q8bi5tdC4kZVtwaV07dCsrKXtpZihlPW4ubXQuJGVbdF0sKGk9cmlbYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGUpKVtwaV0mJm4ucGkoKXx8IW4uUGkoKSl7cmV0dXJuO310eXBlb2YgcltlXSE9PWdlJiZyW2VdPT09aVtwaV18fG8oaSk7fX0sMWUzKTt9LElpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbixyLG8scyxlOSxqOSxaOTtvPTI7cz15dTtmb3IoZT0wO2U8PW87ZSsrKXtpZigobj1yaVt3citHcitqbitHcitMY10odFtIYytHcitVZV0rZSx0W0hjK0dyK3hvXSkpJiZuW1NjK0dyK21jXT09PXBhK0dyK09uK0dyK0ZjK0dyK1BzK0dyK3BhKXtzPWd1O2JyZWFrO31mb3IoaT0wO2k8PW87aSsrKWlmKChuPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXStlLHRbSGMrR3IreG9dK2kpKSYmbltTYytHcittY109PT1wYStHcitPbitHcitGYytHcitQcytHcitwYSl7cz1ndTticmVhazt9aWYocylicmVhazt9aWYocylmb3Iocz15dSxyPW5bYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGVpKSxlPTA7ZTxyW3BpXTtlKyspaWYoWmMuVShyW2VdKSl7cz1ndTticmVhazt9ZTk9MTI0NjQ2Mzc5O2o5PTE4ODY4MTA5NztaOT0yO2Zvcih2YXIgVTk9MTt3NS5MMShVOS50b1N0cmluZygpLFU5LnRvU3RyaW5nKCkubGVuZ3RoLDU5MDM1KSE9PWU5O1U5Kyspe3JldHVybiBzP246eXU7WjkrPTI7fWlmKHc1LmQxKFo5LnRvU3RyaW5nKCksWjkudG9TdHJpbmcoKS5sZW5ndGgsNDQ5MzkpIT09ajkpe3JldHVybiBzP246eXU7fX0sRGk6ZnVuY3Rpb24oKXtpZighdGhpcy5YZS5laSl7dGhpcy5YZS5laT1ndTt0cnl7dGhpcy52aSgpO3RoaXMuYmkoKTt9Y2F0Y2godCl7fUtjLmUoW3RoaXMuWGUubmk/MDoxLHRoaXMuWGUucmk/MDoxLHRoaXMuWGUueGldW05pXShHcikpO319LFhlOnt0aTp5dSxuaTpndSxlaTp5dSxvaTowLHJpOmd1LHNpOjAsaWk6eXV9LG5uOmZ1bmN0aW9uKHQsZSxpKXtmb3IodmFyIG4scj0wLG89ZT09PVJuP3RoaXMubXQuSmU6dGhpcy5tdC5xZTtpJiZvW3BpXTspe29bQnNdKCk7fWZvcig7cjx0W3BpXTtyKyspe3R5cGVvZihuPXRbcl0pPT09VGM/b1tNcl0obik6dHlwZW9mIG49PT1hciYmdHlwZW9mIG5bd2ErR3IrbWNdPT09VGMmJm9bTXJdKG4pO31yZXR1cm4gdGhpczt9LEppOmZ1bmN0aW9uKCl7dmFyIHkxLEgxLHYxLHQsZTt5MT0xNzAzNzYyNDUyO0gxPTEyMTk1OTkwMzk7djE9Mjtmb3IodmFyIEUxPTE7dzUuZDEoRTEudG9TdHJpbmcoKSxFMS50b1N0cmluZygpLmxlbmd0aCwzODk3NykhPT15MTtFMSsrKXtlPTY7Zm9yKHRoaXMuZmk9W107ZT49dGhpcy5XZVtwaV07ZS0tKXsodD10aGlzLldlW2VdKS5MdCgpfHx0aGlzLmZpW01yXSh0KTt9djErPTI7fWlmKHc1LmQxKHYxLnRvU3RyaW5nKCksdjEudG9TdHJpbmcoKS5sZW5ndGgsMjE2MzkpIT09SDEpe2U9MTtmb3IodGhpcy5maT1bXTtlPnRoaXMuV2VbcGldO2UrKyl7KHQ9dGhpcy5XZVtlXSkuTHQoKSYmdGhpcy5maVtNcl0odCk7fX1lPTA7Zm9yKHRoaXMuZmk9W107ZTx0aGlzLldlW3BpXTtlKyspeyh0PXRoaXMuV2VbZV0pLkx0KCkmJnRoaXMuZmlbTXJdKHQpO31yZXR1cm4gdGhpcy5maTt9LGRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2kudWk7fX07aXUuWCh5LFN0LGZ1bmN0aW9uKCl7dmFyIFg3LEI3LFM3O1g3PTIwMTA5MDA5MDY7Qjc9LTE2OTQwNjQ1NTI7Uzc9Mjtmb3IodmFyIGE3PTE7dzUuTDEoYTcudG9TdHJpbmcoKSxhNy50b1N0cmluZygpLmxlbmd0aCwxNDk3OSkhPT1YNzthNysrKXtFdT0hMTtTNys9Mjt9aWYodzUuZDEoUzcudG9TdHJpbmcoKSxTNy50b1N0cmluZygpLmxlbmd0aCw2MjI0OCkhPT1CNyl7RXU9IXt9O31FdT1vNTt9KTtpbyhmdW5jdGlvbigpe3c1Lm80KDE1KTtLYy5lKHc1LnU0KFNpLFllLEdyLFR0LFllLE0sR3IsWWUsUWUsT3QsQW8pKTt3NS5vNCg0KTtLYy5lKHc1LmM0KHhhLFZ0LEdyKSxvdSk7dzUuWTQoNCk7S2MuZSh3NS5jNChxaSxWdCxHciksc3UpO3c1Lm80KDQpO0tjLmUodzUudTQoRXMsVnQsR3IpLGF1KTt9LDEwKTt5W3J1XT15W3J1XXx8ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG87cj17fTtvPVpjLnAoW1trbytHcitSYStHcitudCxbR2MsR2MuaV1dLFtKbixzdV0sW0d0LG91XSxbWW8rR3IraXMsYXVdLFt6YSxbR2MsR2MuWGkscl1dLFthYStHcitJaSxbR2MsR2MuWmldXSxbYWErR3IrUStHcitiYSxbR2MsR2MuWWldXSxbYWErR3IrX28rR3IrYmEsW0djLEdjLktpXV0sW3crR3IrQ24sW0djLEdjLk1pXV0sW0huLFtHYyxHYy5lbixyXV0sW0duLFtHYyxHYy5oaSxyXV0sW2VzLFtHYyxHYy5HaSxyXV0sW2xjK0dyK2JhLFtHYyxHYy5xZSxyXV0sW1JuK0dyK2JhLFtHYyxHYy5KZSxyXV0sW2FhK0dyK2h0K0dyK0NuLFtHYyxHYy53ZV1dLFthYStHcitubitHcitabyxbR2MsR2MuJGldXSxbYWErR3IreWUrR3IrWm8sW0djLEdjLlZpXV0sW0JhK0dyK3llLFtHYyxHYy5QaV1dLFtrbytHcitkdCtHcitKZSxbR2MsR2MucGldXSxbYWErR3IrVXQrR3IramUrR3IrQmksW0djLEdjLlFpXV0sW2FhK0dyK1V0K0dyK0NhLFtHYyxHYy5kaV1dLFt6aSxbR2MsR2MuTmldXSxbYWErR3IrXyxbR2MsR2MuVWldXSxbRm8rR3IrXyxbR2MsR2MuUmldXSxbaGErVHQrT28sW0tjLEtjLmVdXSxbaGErVHQrRyxbS2MsS2Mucl1dLFtPYStUdCtsaSxbdHUsdHUuYV1dLFtPYStUdCthYSxbdHUsdHUuY11dLFtPYStUdCt4bixbdHUsdHUudV1dLFt0aStUdCtrbytHcitkaSxbZXUsZXUuc11dLFt0aStUdCtsaSxbZXUsZXUuYV1dLFt0aStUdCthYSxbZXUsZXUuY11dLFt0aStUdCt4bixbZXUsZXUudV1dLFtjZStUdCtKbixYYy5wdF0sW2NlK1R0K0lyK0dyK3FpLFhjLmZ0XSxbY2UrVHQra28rR3IrQ3MsWGMuaXRdLFtjZStUdCtrbytHcitYbyxYYy5udF0sW2NlK1R0K2tvK0dyK01hLFhjLm1dLFtjZStUdCtrbytHcit2YStHcitmYytHcit0YyxYYy5ldF0sW2NlK1R0K2tvK0dyK0JuLFhjLnJ0XSxbY2UrVHQra28rR3Irdm4sWGMub3RdLFtjZStUdCtrbytHcitoZSxYYy5zdF0sW2NlK1R0K2tvK0dyK3l0LFhjLmF0XSxbY2UrVHQra28rR3IrZ2MsWGMuYl0sW2NlK1R0K2tvK0dyK0luLFhjLmRdLFtjZStUdCtrbytHcitGYSxYYy5odF0sW2NlK1R0K2tvK0dyK3ZhK0dyK1BzLFhjLmddLFtjZStUdCtrbytHcitjcyxYYy5jdF0sW2NlK1R0K2tvK0dyK0VvLFhjLnV0XSxbY2UrVHQrSm4rR3IrdXQsW1hjLFhjLkpdXSxbY2UrVHQrYW8rR3IrZGksW1hjLFhjLmx0XV0sW0NhK1R0K2xjK0dyK3FzLFtpdSxpdS5LXV0sW0NhK1R0K2xjLFtpdSxpdS5YXV0sW0NhK1R0K2xhLFtpdSxpdS5aXV0sW0NhK1R0K2FhK0dyK3luLFtpdSxpdS50dF1dLFtLZStUdCtrbytHcit2ZStHciskZSxbWmMsWmMud11dLFtLZStUdCtKbitHcit1dCxbWmMsWmMuSl1dLFtLZStUdCtvcyxbWmMsWmMuR11dLFtLZStUdCt3byxbWmMsWmMueV1dLFtLZStUdCtKaSxbWmMsWmMuJF1dLFtLZStUdCtVcytHcitDbixbWmMsWmMuel1dLFtLZStUdCt4bitHcitDbixbWmMsWmMuUF1dLFtLZStUdCthYStHcitVaSxbWmMsWmMuQl1dLFtLZStUdCtEZStHcitZaSxbWmMsWmMuSF1dXSk7Zm9yKGUgaW4gbylpZih5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShvLGUpKXtmb3Iobj1lW0NyXShHcitUdCtHciksdD1yLGk9MDtpPG5bcGldLTE7aSsrKXt0eXBlb2YgdFtuW2ldXT09PWdlJiYodFtuW2ldXT17fSk7dD10W25baV1dO310W25bbltwaV0tMV1dPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIFpjLngodFtlXSk/MT09PXRbZV1bcGldP3RbZV1bMF06ZnVuY3Rpb24oKXtyZXR1cm4gMj09PXRbZV1bcGldP3RbZV1bMV1bb2FdKHRbZV1bMF0sYXJndW1lbnRzKToodFtlXVsxXVtvYV0odFtlXVswXSxhcmd1bWVudHMpLHRbZV1bMl0pO306dFtlXTt9KG8sZSk7fXJldHVybiByO30oKTt9KHQucG9wbnN8fHpjK0dyK1VjK0dyK09jLHQsdFtFaV0sdFtPaV0sdFttcl0sdFtyb10sdFtibl0sdFtObl0sdFtDb10sdFtyaStHcitpb10sdFtsaStHcitZaV0sdFtNaStHcitZaV0sdFtsaStHcitBaV0sdFtNaStHcitBaV0sdFtMdCtHcit0YytHcitmYytHcitndF0sdFt5K0dyK1J0XSx0W2tvK0dyK3lpK0dyK2d0XSx0W2lzXSx0W1hlK0dyK1ZyK0dyK0dzK0dyK3ZhK0dyK1VyXSx0W2RyXSk7fSh3aW5kb3cpO2Y1eXkuSD1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC55PT09J2Z1bmN0aW9uJz9mNXl5LkwueS5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwueTt9O2Y1eXkuVz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Y1eXkuZz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC5PPT09J2Z1bmN0aW9uJz9mNXl5LkwuTy5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwuTzt9O2Y1eXkuZj1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Z1bmN0aW9uIGY1eXkoKXt9ZjV5eS5CPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5MLnk9PT0nZnVuY3Rpb24nP2Y1eXkuTC55LmFwcGx5KGY1eXkuTCxhcmd1bWVudHMpOmY1eXkuTC55O307ZjV5eS5SPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5JPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5MPWZ1bmN0aW9uKEQpe3JldHVybnt5OmZ1bmN0aW9uKCl7dmFyIEcsZD1hcmd1bWVudHM7c3dpdGNoKEQpe2Nhc2UgMjpHPWRbMF0qZFsxXTticmVhaztjYXNlIDA6Rz1kWzBdfGRbMV07YnJlYWs7Y2FzZSAxOkc9ZFsxXS1kWzBdO2JyZWFrO31yZXR1cm4gRzt9LE86ZnVuY3Rpb24oVil7RD1WO319O30oKTtmNXl5Lno9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiBmNXl5LkwuTz09PSdmdW5jdGlvbic/ZjV5eS5MLk8uYXBwbHkoZjV5eS5MLGFyZ3VtZW50cyk6ZjV5eS5MLk87fTtmNXl5LkM9ZnVuY3Rpb24oKXt2YXIgUT0yO3doaWxlKFEhPT0xKXtzd2l0Y2goUSl7Y2FzZSAyOnJldHVybnt2OmZ1bmN0aW9uKFUpe3ZhciBiPTI7d2hpbGUoYiE9PTE0KXtzd2l0Y2goYil7Y2FzZSAyOnZhciBLPScnLGw9ZGVjb2RlVVJJKCJ0JTExa2JsYyU3RCUwNmhiZGxtbDYhJTNDJTNDKyU1QmNkLTo1JTVENyg4Jy8lNUJ3LzI4bWolM0M4KTA3YiolMUMyJTI1bSUwN3ElN0RvYmslMTh3JTdDc2RtaDcpKSUyMipaMmQlMTgtNUErKS5vbXMlMTUlMjUlM0UwKyU1QiUzQyUxMXUlMjA2TXk/KScsSy1kJTNFOSxLMi00OyUyMCUwNjojMCU3RDUlNUM6IzMya0s2IXU5Kks4JTIwNTo2JTVDcSUxRiUzRScsWC1sMCUyMDYlNUN5Ljh1KUc4KDgxZUolM0MqMiclMjAlMDg1JTI1JTNFMCslNUIlM0NsOyUzQylNcWIxOiZJNSIpO2I9MTticmVhaztjYXNlIDk6Sys9U3RyaW5nLmZyb21DaGFyQ29kZShsLmNoYXJDb2RlQXQoWSleVS5jaGFyQ29kZUF0KGspKTtiPTg7YnJlYWs7Y2FzZSAxOnZhciBZPTAsaz0wO2I9NTticmVhaztjYXNlIDU6Yj1ZPGwubGVuZ3RoPzQ6NzticmVhaztjYXNlIDM6az0wO2I9OTticmVhaztjYXNlIDg6WSsrLGsrKztiPTU7YnJlYWs7Y2FzZSA0OmI9az09PVUubGVuZ3RoPzM6OTticmVhaztjYXNlIDc6Sz1LLnNwbGl0KCcoJyk7cmV0dXJuIGZ1bmN0aW9uKFApe3ZhciBoPTI7d2hpbGUoaCE9PTEpe3N3aXRjaChoKXtjYXNlIDI6cmV0dXJuIEtbUF07YnJlYWs7fX19O2JyZWFrO319fSgnRShZTF1VJyl9O2JyZWFrO319fSgpOyFmdW5jdGlvbihlLG8sYyl7InVzZSBzdHJpY3QiO3ZhciBUPWY1eXk7dmFyIGksbix0O1QuZygwKTtpPVQuUihULkgoIjgiLDApKTtULnooMCk7bj1bVC5JKFQuSCgnXHgzMVx4MzAnLDApKSxULkkoKyI2IiksVC5SKCsnXHgzMVx4MzQnKSxULlIoKyIxMiIpLFQuUihULkgoIjUiLDAsVC5nKDApKSksVC5JKFQuQigwLCdceDMwJyxULnooMSkpKSxULlIoVC5CKCdceDMxXHgzMScsMCxULnooMCkpKSxULkkoKyIyIildO1QuZygyKTt0PVsrJ1x4MzJceDMwXHgzMVx4MzknLFQuQignXHUwMDM1JywxKSxULkgoJ1x4MzFceDM2JywwLFQuZygwKSldO3RyeXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yy5Mb2dnZXIubG9nKGksVC5SKCsnXHgzMScpLG4pO2MuTG9nZ2VyLmxvZyhpLFQuUigiNyItMCksdC5qb2luKFQuSSgnXHgzNCctMCkpKTt9LCsiNTAwIik7VC56KDEpO2Mub2JqZWN0PVtuLFsrIjM2MCIsNDk0LDM5MSwrIjMxMiIsVC5CKDAsIjMxMiIpLFQuSCgiMzY1IiwwLFQuZygwKSksKydceDM0XHgzMFx4MzQnLFQuSCgiMzAwIiwwLFQuZygwKSksKydceDMzXHgzNlx4MzBceDMwXHgzMScsVC5IKDAsJ1x4MzNceDM5XHgzNVx4MzJceDMyJyxULmcoMSkpLFQuQigiMTg3NzEiLDAsVC56KDApKSwrIjM0OTQ4IiwxNjU0MSwyOTU3MSwrJ1x4MzVceDMxXHgzN1x4MzFceDM5JywzMzkwOCxULkgoIjc4ODQwIiwwLFQuZygwKSksMTA1OTY0LCsnXHgzOFx4MzRceDM1XHgzNVx4MzUnLFQuSCgiNzI0MjYiLDAsVC5nKDApKSxULkgoJ1x4MzNceDMwXHgzNVx4MzlceDM5JywwLFQuZygwKSksVC5CKCdcdTAwMzRcdTAwMzFcdTAwMzZcdTAwMzJcdTAwMzYnLDAsVC5nKDApKSxULkIoMCwnXHUwMDM4XHUwMDM4XHUwMDMwXHUwMDM4XHUwMDM0JyxULnooMSkpLFQuSCgiNjU0MDkiLDEsVC5nKDIpKSwxNDQwMCxULkgoIjEyODQ0IiwxLFQueigyKSksKydceDM4XHgzNlx4MzBceDMyJyxULkgoJ1x4MzFceDMwXHgzOVx4MzJceDMwJywxLFQuZygyKSksMTM0MTYsVC5IKCdceDMyXHgzNFx4MzhceDMyXHgzMCcsMCxULmcoMCkpLFQuQignXHgzM1x4MzdceDM5XHgzN1x4MzYnLDAsVC56KDApKSwrJ1x4MzVceDMxXHg2NVx4MzMnXSx0LFtULkgoJ1x4MzNceDM2XHgzMicsMCxULmcoMCkpLDQ5NiwrJ1x4MzNceDM5XHgzOScsVC5IKDAsIjczMDkyMyIsVC5nKDEpKSwrJ1x1MDAzMlx1MDAzNVx1MDAzMVx1MDAzMicsVC5IKCI2Mzk4IiwwLFQueigwKSksVC5IKCdcdTAwMzRcdTAwMzFcdTAwMzFcdTAwMzlcdTAwMzFcdTAwMzJcdTAwMzInLDEsVC5nKDIpKSwrJ1x4MzFceDMxXHgzMVx4MzlceDMyJyxULkgoJ1x4MzNceDM0XHgzMlx4MzNceDM2JywwLFQueigwKSksMjQ2MSwzMjU1NywxMDIxMF0sby5jdXJyZW50U2NyaXB0LFQuSCgiMSIsMSxULmcoMikpXTt9Y2F0Y2gobyl7dm9pZCgnXHgzMCcqMSkhPT1lLmNvbnNvbGUmJmUuY29uc29sZS5sb2cmJkZ1bmN0aW9uLmFwcGx5LmNhbGwoZS5jb25zb2xlLmxvZyxlLmNvbnNvbGUsW1QuSSgnXHgzMVx4MzMnfDApXSk7fX0od2luZG93LGRvY3VtZW50LHdpbmRvd1t3aW5kb3cucG9wbnN8fGY1eXkuUigiMyItMCldKTt2YXIgXzB4MTM4Zj1bJ1x4NThceDQ4XHg2M1x4NzInLCdceDQ5XHg1NFx4NDVceDZmXHg2NFx4NDNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NmNceDUwXHg1NFx4NDVceDZmXHg1YVx4NTNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NzVceDUwXHg1OFx4NTFceDc1XHg2Mlx4NzlceDY3XHg2OVx4NjJceDUzXHg0OVx4NzBceDRmXHg3YVx4NTlceDY3XHg2Mlx4NjlceDM0XHg3OVx4NGNceDZkXHg3N1x4MzlceDQ5XHg2ZFx4NzNceDY5XHg0Y1x4NDdceDM0XHg3NVx4NGRceDY5XHgzNVx4NzdceDUwXHg1NFx4NDFceDczXHg2Mlx4NjlceDM0XHg3OVx4NGNceDZlXHg0NVx4MzlceDRkXHg0M1x4NzhceDc1XHg0Y1x4NmFceDQ5XHg3NVx4NjRceDdhXHgzMFx4NjlceDYxXHg2OVx4NDlceDczXHg2Mlx4NjlceDM1XHgzMVx4NTBceDUzXHg0OVx4MzNceDRmXHg2OVx4MzhceDc2XHg2M1x4NjlceDM1XHgzNFx4NGNceDZhXHg1NVx4NzZceDYxXHg0M1x4MzlceDY4XHg0Y1x4NzlceDQ5XHg3Mlx4NWFceDUzXHg3OFx4MzBceDRjXHg2ZFx4NDlceDc1XHg2MVx4NTNceDY4XHg3NVx4NGJceDUzXHg3OFx4NzVceDY2XHg1M1x4NzhceDc1XHg1MFx4NTdceDRkXHg2Zlx4NWFceDc5XHg2N1x4NmZceDY0XHg0M1x4MzVceDZiXHg0Y1x4NmVceDU5XHg2Zlx4NTFceDY5XHg0Mlx4NGZceDRiXHg0M1x4NDlceDZmXHg0ZVx4N2FceDM5XHgzOFx4NTNceDY5XHgzMVx4MzVceDRiXHg1NFx4NzBceDYzXHg1OFx4NDNceDM5XHg2M1x4NThceDQzXHgzOFx4NjlceDRiXHg1M1x4NzdceDY5XHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDRjXHg3OVx4NDlceDcwXHg1N1x4N2FceDQyXHg2NFx4NjZceDQ4XHg3N1x4NjlceDUzXHg3OVx4MzRceDMxXHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDQ5XHg2OVx4NmJceDc1XHg1NFx4NDNceDY3XHg3OFx4NGJceDQ4XHg1MVx4NzBceDY1XHg3YVx4NTlceDY3XHg2NFx4NDNceDM1XHg0ZVx4NGJceDQ0XHg0MVx4NzBceDRjXHg2Ylx4NjNceDZmXHg1M1x4NDNceDZjXHgzOVx4NGJceDUzXHgzNVx4NDJceDRiXHg0M1x4NDlceDY5XHg0Ylx4NTNceDZiXHg3MFx4NGZceDMzXHg2Zlx4NzVceDRlXHg0M1x4NjdceDY5XHg1MVx4NzlceDQ5XHg3M1x4NGRceDUzXHg2N1x4NzBceDY1XHgzMlx4NTVceDZmXHg2Mlx4NjlceDczXHg2OVx4NGNceDMyXHg1OVx4NzVceDRmXHg1M1x4NDlceDcwXHg0Y1x4NmFceDUxXHg2Zlx4NDlceDZiXHg1MVx4NjlceDRjXHg0NFx4NDVceDZmXHg0Ylx4NThceDc0XHg0N1x4NGJceDQ0XHg0NVx4NmZceDRiXHg1OFx4NzRceDZjXHg0Ylx4NDdceDM0XHg3Mlx4NDlceDY5XHgzOVx4N2FceDRjXHg2YVx4NmJceDY5XHg0Ylx4NThceDMwXHg3M1x4NTJceDUzXHg2Y1x4MzlceDRiXHg1OFx4MzBceDcwXHg2Nlx4NTNceDY4XHg0YVx4NGJceDU0XHg3M1x4M2QnLCdceDYzXHgzM1x4NDJceDczXHg2MVx4NThceDUxXHgzZCcsJ1x4NWFceDZlXHg0YVx4NzZceDYyXHg1NVx4NGVceDZmXHg1OVx4NThceDRhXHg0NFx4NjJceDMyXHg1Mlx4NmMnLCdceDY0XHg0N1x4MzlceDU0XHg2NFx4NDhceDRhXHg3MFx4NjJceDZkXHg2M1x4M2QnLCdceDYzXHg2ZFx4NTZceDc3XHg2Mlx4NDdceDQ2XHg2YVx4NWFceDUxXHgzZFx4M2QnXTsoZnVuY3Rpb24oXzB4MWI1OWFjLF8weDMwZDYwNSl7dmFyIF8weDQ0NTljOT1mdW5jdGlvbihfMHgxNDY4YWMpe3doaWxlKC0tXzB4MTQ2OGFjKXtfMHgxYjU5YWNbJ3B1c2gnXShfMHgxYjU5YWNbJ3NoaWZ0J10oKSk7fX07XzB4NDQ1OWM5KCsrXzB4MzBkNjA1KTt9KF8weDEzOGYsMHgxMGIpKTt2YXIgXzB4MTdjMT1mdW5jdGlvbihfMHgxOTc3ZGIsXzB4Yzc5ZjY5KXtfMHgxOTc3ZGI9XzB4MTk3N2RiLTB4MDt2YXIgXzB4MTYyZGYyPV8weDEzOGZbXzB4MTk3N2RiXTtpZihfMHgxN2MxWydPTXJTcXgnXT09PXVuZGVmaW5lZCl7KGZ1bmN0aW9uKCl7dmFyIF8weDI0NzE2Njt0cnl7dmFyIF8weDViZDYyOT1GdW5jdGlvbigncmV0dXJuXHgyMChmdW5jdGlvbigpXHgyMCcrJ3t9LmNvbnN0cnVjdG9yKFx4MjJyZXR1cm5ceDIwdGhpc1x4MjIpKFx4MjApJysnKTsnKTtfMHgyNDcxNjY9XzB4NWJkNjI5KCk7fWNhdGNoKF8weDMyOTViMCl7XzB4MjQ3MTY2PXdpbmRvdzt9dmFyIF8weDI4M2NlOT0nQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0nO18weDI0NzE2NlsnYXRvYiddfHwoXzB4MjQ3MTY2WydhdG9iJ109ZnVuY3Rpb24oXzB4MzQxYjE5KXt2YXIgXzB4MTQ0Zjk2PVN0cmluZyhfMHgzNDFiMTkpWydyZXBsYWNlJ10oLz0rJC8sJycpO2Zvcih2YXIgXzB4MjhhNzVlPTB4MCxfMHg1OWNiNWIsXzB4MWUwOTNkLF8weDUxZWZhNj0weDAsXzB4OTIyYWFjPScnO18weDFlMDkzZD1fMHgxNDRmOTZbJ2NoYXJBdCddKF8weDUxZWZhNisrKTt+XzB4MWUwOTNkJiYoXzB4NTljYjViPV8weDI4YTc1ZSUweDQ/XzB4NTljYjViKjB4NDArXzB4MWUwOTNkOl8weDFlMDkzZCxfMHgyOGE3NWUrKyUweDQpP18weDkyMmFhYys9U3RyaW5nWydmcm9tQ2hhckNvZGUnXSgweGZmJl8weDU5Y2I1Yj4+KC0weDIqXzB4MjhhNzVlJjB4NikpOjB4MCl7XzB4MWUwOTNkPV8weDI4M2NlOVsnaW5kZXhPZiddKF8weDFlMDkzZCk7fXJldHVybiBfMHg5MjJhYWM7fSk7fSgpKTtfMHgxN2MxWyd4anFrREYnXT1mdW5jdGlvbihfMHgzMzc3MTgpe3ZhciBfMHg1ZGRiMTU9YXRvYihfMHgzMzc3MTgpO3ZhciBfMHg1NjBiOTU9W107Zm9yKHZhciBfMHhjOTdmOTE9MHgwLF8weDQ0MTg3Mj1fMHg1ZGRiMTVbJ2xlbmd0aCddO18weGM5N2Y5MTxfMHg0NDE4NzI7XzB4Yzk3ZjkxKyspe18weDU2MGI5NSs9JyUnKygnMDAnK18weDVkZGIxNVsnY2hhckNvZGVBdCddKF8weGM5N2Y5MSlbJ3RvU3RyaW5nJ10oMHgxMCkpWydzbGljZSddKC0weDIpO31yZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KF8weDU2MGI5NSk7fTtfMHgxN2MxWydrRG1IU2snXT17fTtfMHgxN2MxWydPTXJTcXgnXT0hIVtdO312YXIgXzB4MzA2NDA1PV8weDE3YzFbJ2tEbUhTayddW18weDE5NzdkYl07aWYoXzB4MzA2NDA1PT09dW5kZWZpbmVkKXtfMHgxNjJkZjI9XzB4MTdjMVsneGpxa0RGJ10oXzB4MTYyZGYyKTtfMHgxN2MxWydrRG1IU2snXVtfMHgxOTc3ZGJdPV8weDE2MmRmMjt9ZWxzZXtfMHgxNjJkZjI9XzB4MzA2NDA1O31yZXR1cm4gXzB4MTYyZGYyO307ZXZhbChmdW5jdGlvbihfMHg0OWIyZTksXzB4MTA2OTM1LF8weDIyM2Q1NixfMHgyZmY2ZTksXzB4ZWQ3ZDI2LF8weDNiYzUwMCl7XzB4ZWQ3ZDI2PWZ1bmN0aW9uKF8weDI2YmI4Mil7cmV0dXJuKF8weDI2YmI4MjxfMHgxMDY5MzU/Jyc6XzB4ZWQ3ZDI2KHBhcnNlSW50KF8weDI2YmI4Mi9fMHgxMDY5MzUpKSkrKChfMHgyNmJiODI9XzB4MjZiYjgyJV8weDEwNjkzNSk+MHgyMz9TdHJpbmdbXzB4MTdjMSgnMHgwJyldKF8weDI2YmI4MisweDFkKTpfMHgyNmJiODJbXzB4MTdjMSgnMHgxJyldKDB4MjQpKTt9O2lmKCEnJ1tfMHgxN2MxKCcweDInKV0oL14vLFN0cmluZykpe3doaWxlKF8weDIyM2Q1Ni0tKXtfMHgzYmM1MDBbXzB4ZWQ3ZDI2KF8weDIyM2Q1NildPV8weDJmZjZlOVtfMHgyMjNkNTZdfHxfMHhlZDdkMjYoXzB4MjIzZDU2KTt9XzB4MmZmNmU5PVtmdW5jdGlvbihfMHgzMjA3ZjYpe3JldHVybiBfMHgzYmM1MDBbXzB4MzIwN2Y2XTt9XTtfMHhlZDdkMjY9ZnVuY3Rpb24oKXtyZXR1cm4gXzB4MTdjMSgnMHgzJyk7fTtfMHgyMjNkNTY9MHgxO307d2hpbGUoXzB4MjIzZDU2LS0pe2lmKF8weDJmZjZlOVtfMHgyMjNkNTZdKXtfMHg0OWIyZTk9XzB4NDliMmU5W18weDE3YzEoJzB4MicpXShuZXcgUmVnRXhwKCdceDVjXHg2MicrXzB4ZWQ3ZDI2KF8weDIyM2Q1NikrJ1x4NWNceDYyJywnXHg2NycpLF8weDJmZjZlOVtfMHgyMjNkNTZdKTt9fXJldHVybiBfMHg0OWIyZTk7fShfMHgxN2MxKCcweDQnKSwweDMyLDB4MzIsJ1x4N2NceDY2XHg3NVx4NmVceDYzXHg3NFx4NjlceDZmXHg2ZVx4N2NceDczXHg3NFx4NzlceDZjXHg2NVx4N2NceDczXHg3MFx4NmNceDY5XHg3NFx4N2NceDYxXHg2NFx4NjRceDQ1XHg3Nlx4NjVceDZlXHg3NFx4NGNceDY5XHg3M1x4NzRceDY1XHg2ZVx4NjVceDcyXHg3Y1x4NjNceDZmXHg2ZFx4N2NceDcyXHg2NVx4NzRceDc1XHg3Mlx4NmVceDdjXHg2OFx4NzRceDc0XHg3MFx4NzNceDdjXHg3Nlx4NjFceDcyXHg3Y1x4NzBceDZlXHg2N1x4N2NceDcwXHg3NFx4N2NceDYyXHg2Zlx4NjRceDc5XHg3Y1x4NjVceDZlXHg2M1x4NmZceDY0XHg2NVx4NTVceDUyXHg0OVx4NDNceDZmXHg2ZFx4NzBceDZmXHg2ZVx4NjVceDZlXHg3NFx4N2NceDcyXHg2NVx4NjZceDY1XHg3Mlx4NzJceDY1XHg3Mlx4N2NceDdjXHg3Y1x4NjJceDc0XHg2Zlx4NjFceDdjXHg3Nlx4MzFceDdjXHg2MVx4NzBceDcwXHg2NVx4NmVceDY0XHg0M1x4NjhceDY5XHg2Y1x4NjRceDdjXHg2ZVx4NmZceDZlXHg2NVx4N2NceDYxXHg2Mlx4NzNceDZmXHg2Y1x4NzVceDc0XHg2NVx4N2NceDcwXHg2Zlx4NzNceDY5XHg3NFx4NjlceDZmXHg2ZVx4N2NceDY5XHg2ZFx4NjdceDdjXHg3Y1x4NjNceDcyXHg2NVx4NjFceDc0XHg2NVx4NDVceDZjXHg2NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg3NFx4NmZceDcwXHg3Y1x4NmNceDY1XHg2Nlx4NzRceDdjXHg2MVx4NzBceDY5XHg3Y1x4N2NceDdjXHg3M1x4NzJceDYzXHg3Y1x4NzJceDY1XHg3MFx4NmNceDYxXHg2M1x4NjVceDdjXHg3MFx4NmZceDY5XHg2ZVx4NzRceDY1XHg3Mlx4NDVceDc2XHg2NVx4NmVceDc0XHg3M1x4N2NceDYzXHg2Y1x4NjlceDYzXHg2Ylx4NjFceDY5XHg2ZVx4NjVceDdjXHg2MVx4NzBceDcwXHg3Y1x4NzdceDY5XHg2ZVx4NjRceDZmXHg3N1x4N2NceDZhXHg2Zlx4NjlceDZlXHg3Y1x4NmVceDY1XHg3N1x4N2NceDQ0XHg0Zlx4NGRceDQzXHg2Zlx4NmVceDc0XHg2NVx4NmVceDc0XHg0Y1x4NmZceDYxXHg2NFx4NjVceDY0XHg3Y1x4NmNceDZmXHg2MVx4NjRceDdjXHgzNVx4NjVceDMzXHg3Y1x4NzNceDY1XHg3NFx4NTRceDY5XHg2ZFx4NjVceDZmXHg3NVx4NzRceDdjXHg3NFx4NmZceDUzXHg3NFx4NzJceDY5XHg2ZVx4NjdceDdjXHgzMVx4MzZceDdjXHg2NFx4NmZceDYzXHg3NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg2MVx4NmVceDY0XHg3Mlx4NmZceDY5XHg2NFx4N2NceDY0XHg2Zlx4NzRceDdjXHg2ZFx4NjFceDcwXHg3Y1x4NjNceDY4XHg2MVx4NzJceDQzXHg2Zlx4NjRceDY1XHg0MVx4NzRceDdjXHg1Mlx4NjVceDY3XHg0NVx4NzhceDcwJ1tfMHgxN2MxKCcweDUnKV0oJ1x4N2MnKSwweDAse30pKTsKO3ZhciBjSVBvcCA9IGZ1bmN0aW9uIGNJUG9wKHVybCkgewoJCWNQb3AuY29uZmlnKHsKCQkJY292ZXJUYWdzOiBbJ3ZpZGVvJywgJ2lmcmFtZSddLAoJCQl0YWJVbmRlcklnbm9yZVRhcmdldEJsYW5rOiB0cnVlLAoJCQlkZWxheTogMTAwCgkJfSk7CgkJY1BvcC5hZGQodXJsLCB7CgkJCW5ld1RhYjogdHJ1ZSwKCQkJdW5kZXI6IHRydWUsCgkJCWNvb2tpZUV4cGlyZXM6IDEwMH0pfTs=(Line 1)
Message:
[object HTMLDivElement]
console-api log URL: data:text/plain;base64,d2luZG93LnBvcG5zID0gJ2NQb3AnO3Y3R0cuYzQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmU0PT09J2Z1bmN0aW9uJz92N0dHLlo0LmU0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmU0O307djdHRy5pMT1mdW5jdGlvbigpe3ZhciBxMT1mdW5jdGlvbihJMSxLMSl7dmFyIEExPUsxJjB4ZmZmZjt2YXIgcjE9SzEtQTE7cmV0dXJuKHIxKkkxfDApKyhBMSpJMXwwKXwwO30sbTE9ZnVuY3Rpb24oajEsVTEsaDEpe3ZhciB4MT0weGNjOWUyZDUxLHoxPTB4MWI4NzM1OTM7dmFyIGUxPWgxO3ZhciB0MT1VMSZ+MHgzO2Zvcih2YXIgWjE9MDtaMTx0MTtaMSs9NCl7dmFyIFExPWoxLmNoYXJDb2RlQXQoWjEpJjB4ZmZ8KGoxLmNoYXJDb2RlQXQoWjErMSkmMHhmZik8PDh8KGoxLmNoYXJDb2RlQXQoWjErMikmMHhmZik8PDE2fChqMS5jaGFyQ29kZUF0KFoxKzMpJjB4ZmYpPDwyNDtRMT1xMShRMSx4MSk7UTE9KFExJjB4MWZmZmYpPDwxNXxRMT4+PjE3O1ExPXExKFExLHoxKTtlMV49UTE7ZTE9KGUxJjB4N2ZmZmYpPDwxM3xlMT4+PjE5O2UxPWUxKjUrMHhlNjU0NmI2NHwwO31RMT0wO3N3aXRjaChVMSU0KXtjYXNlIDM6UTE9KGoxLmNoYXJDb2RlQXQodDErMikmMHhmZik8PDE2O2Nhc2UgMjpRMXw9KGoxLmNoYXJDb2RlQXQodDErMSkmMHhmZik8PDg7Y2FzZSAxOlExfD1qMS5jaGFyQ29kZUF0KHQxKSYweGZmO1ExPXExKFExLHgxKTtRMT0oUTEmMHgxZmZmZik8PDE1fFExPj4+MTc7UTE9cTEoUTEsejEpO2UxXj1RMTt9ZTFePVUxO2UxXj1lMT4+PjE2O2UxPXExKGUxLDB4ODVlYmNhNmIpO2UxXj1lMT4+PjEzO2UxPXExKGUxLDB4YzJiMmFlMzUpO2UxXj1lMT4+PjE2O3JldHVybiBlMTt9O3JldHVybntiMTptMX07fSgpO3Y3R0cuRDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LkM2PT09J2Z1bmN0aW9uJz92N0dHLlo0LkM2LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LkM2O307djdHRy5MMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLlo2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5DNj09PSdmdW5jdGlvbic/djdHRy5nNi5DNi5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5DNjt9O3Y3R0cuWjQ9ZnVuY3Rpb24oQTQpe3JldHVybntlNDpmdW5jdGlvbigpe3ZhciBTNCxsND1hcmd1bWVudHM7c3dpdGNoKEE0KXtjYXNlIDI6UzQ9bDRbMF0rbDRbMV07YnJlYWs7Y2FzZSAyMjpTND1sNFsyXStsNFswXS1sNFsxXTticmVhaztjYXNlIDc6UzQ9bDRbNF0rbDRbMTBdK2w0WzExXStsNFszXSsobDRbNl0rbDRbMV0rbDRbNV0rbDRbOV0rbDRbMl0rbDRbMF0rbDRbOF0pK2w0WzddO2JyZWFrO2Nhc2UgNjpTND1sNFsyXS9sNFswXS9sNFsxXTticmVhaztjYXNlIDE3OlM0PWw0WzZdK2w0WzFdK2w0WzBdK2w0WzRdK2w0WzVdK2w0WzJdK2w0WzNdO2JyZWFrO2Nhc2UgMTpTND1sNFszXStsNFs0XStsNFsyXStsNFsxXStsNFswXTticmVhaztjYXNlIDM6UzQ9bDRbMV0rKGw0WzNdK2w0WzVdK2w0WzBdK2w0WzRdK2w0WzJdKTticmVhaztjYXNlIDExOlM0PWw0WzFdPGw0WzBdO2JyZWFrO2Nhc2UgOTpTND1sNFswXT4tbDRbMV07YnJlYWs7Y2FzZSA0OlM0PWw0WzBdK2w0WzFdK2w0WzJdO2JyZWFrO2Nhc2UgODpTND1sNFswXT09PWw0WzFdO2JyZWFrO2Nhc2UgMTQ6UzQ9bDRbMF0rbDRbNF0rbDRbN10rbDRbMl0rbDRbNV0rbDRbM10rbDRbMV0rbDRbNl0rbDRbOF07YnJlYWs7Y2FzZSAyMTpTND1sNFswXSVsNFsyXS1sNFsxXTticmVhaztjYXNlIDEyOlM0PWw0WzVdK2w0WzJdK2w0WzZdK2w0WzBdKyhsNFs0XStsNFszXStsNFsxXSk7YnJlYWs7Y2FzZSAxNjpTND1sNFswXStsNFsyXTxsNFsxXTticmVhaztjYXNlIDIwOlM0PWw0WzFdJWw0WzJdKmw0WzBdO2JyZWFrO2Nhc2UgNTpTND1sNFs1XSsobDRbMTNdK2w0WzNdK2w0WzddK2w0WzEyXStsNFs2XStsNFs0XStsNFsyXStsNFswXStsNFsxMF0rbDRbOF0rbDRbMTFdK2w0WzldK2w0WzFdKTticmVhaztjYXNlIDA6UzQ9bDRbOV0rbDRbOF0rbDRbMl0rbDRbMTNdK2w0WzNdK2w0WzRdK2w0WzFdK2w0WzBdK2w0WzddK2w0WzExXStsNFsxMF0rbDRbNl0rbDRbNV0rbDRbMTRdK2w0WzEyXTticmVhaztjYXNlIDE4OlM0PWw0WzBdKmw0WzJdJWw0WzFdO2JyZWFrO2Nhc2UgMTA6UzQ9LWw0WzBdPT09bDRbMV07YnJlYWs7Y2FzZSAxMzpTND1sNFsxNF0rbDRbMjddK2w0WzE5XStsNFswXStsNFsxMV0rbDRbNV0rbDRbMTBdK2w0WzI5XStsNFsyXStsNFsyM10rbDRbMjBdK2w0WzRdK2w0WzIyXStsNFsxOF0rbDRbMjRdK2w0WzEyXStsNFs3XStsNFsxNV0rbDRbNl0rbDRbMTNdK2w0WzE3XStsNFs5XStsNFsyOF0rbDRbMjFdK2w0WzFdK2w0WzMwXStsNFsyNl0rbDRbMTZdK2w0WzNdK2w0WzI1XStsNFs4XTticmVhaztjYXNlIDE5OlM0PWw0WzFdL2w0WzBdJWw0WzJdO2JyZWFrO2Nhc2UgMTU6UzQ9bDRbNV0rbDRbNF0rbDRbMTBdK2w0WzFdK2w0WzZdK2w0WzldK2w0WzJdK2w0WzddK2w0WzhdK2w0WzNdK2w0WzBdO2JyZWFrO31yZXR1cm4gUzQ7fSxzNDpmdW5jdGlvbihQNCl7QTQ9UDQ7fX07fSgpO3Y3R0cueDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy51ND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuZTQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuZTQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuZTQ7fTtmdW5jdGlvbiB2N0dHKCl7fXY3R0cuWTQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LnM0PT09J2Z1bmN0aW9uJz92N0dHLlo0LnM0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LnM0O307djdHRy5vND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuczQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuczQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuczQ7fTt2N0dHLmw2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuQjQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy5nNj1mdW5jdGlvbigpe3ZhciBzNj0yO3doaWxlKHM2IT09MSl7c3dpdGNoKHM2KXtjYXNlIDI6cmV0dXJue0M2OmZ1bmN0aW9uKHg2KXt2YXIgbTY9Mjt3aGlsZShtNiE9PTE0KXtzd2l0Y2gobTYpe2Nhc2UgNDptNj1JNj09PXg2Lmxlbmd0aD8zOjk7YnJlYWs7Y2FzZSAyOnZhciBQNj0nJyxVNj1kZWNvZGVVUkkoIjIjMUw3QTg4LEk1Vz84O1Y0WiUyMiUzRStHO0IlMjIpJTIwRyUwQUUlMjIkLFE/RTIyJTE0UChBMCMqRypLJjklM0MlNUQ/ViUzQz8sdDtHKCUzRTdNL1Y4Mj8lNUM0UTQtJTIwRyUxOEElMjI4N0skaTkoN0c3TTgyJTA1JTVDOE8/OCxaNUolMjUjJTNFJTVDJG4lMjUyJTdCRyxBJD87VjRabTIhTTVUKCQzVyUzRUgzKCxLP0k5OjdHaCUxNiglMUU3Xz9WMyUzRSxaNUolMjIpJTNDTSRJMyUzRTUlNUMkSjM0JkclMEJHO3U5JTVEJHooJTAwPSU1RT1BJDIhJTVDLlolM0UpOyU1RTJQKCUwOSUzRSU1QzdBODghRylQLyUyMDdHLE0lMjUlMjUwUDZNJTIyNSxqJEc6JTI1N1cuWjMlMjA3VD9KJTIyMiUxNUE2WiUxQSYsaz9FNSQ3JTVEJGswMj1fJTNDVzM4LG8lMjBaJTEzKyxuM0oyIyUyNUc5RTgvN1UkbicvKyUwQzBGZCU3QyUyMkc4TTgoLEk1TTg4N0skSiMhMCU1QyhaNS0lM0VVJH4oJTIwN18uWngyJlgoQzM4LHoyVjkhN0clM0VBJTIwJTI1MSU1QyRwLyUzQzdKJFclM0UjJ1UlM0VaJTIyLTVHJTAzJTE3KCUwNTVXNVYzMiUxMFA0QCglMTk1RyUwQVY5JTNDMyU1RTtQPyMlM0NHNVQzJTIyN0skSDkvM00zSzgyJTA1QTZHJTNDO2pHLk07KSx2NEczMiUxM1U2WjAlM0UzVD9aJTA1ISxLO0oyIz9HJTE4UiglMDU2RzBLPyUyMiwlNjAqWjsjJCU1QyRTPyUyMjZWLVoyJTI1IUk2RS8ybEclMUVLOy07VyRAMz85TTVUKCUwQSElNUUkUDcuJ1clM0VBJDIlMTMlNUUkRTQjJ00kVzUlM0U7SS5aJjkhUSRBJTIwKSUzQ00pWiUyMiUzRTNXKVQ3JTNFN1cuWiY4MVY0QyglMUYmVihFMSkseCRQNy4saT9WJi01JTVDJEk3NCxKL0YlMjU4JTIwRzZLNygsajlWPyUzQyZHJTEzSiUyMiklMjBPO0goJCUyMCU1QyUzQ1o4IyxaKEE3ODdHO1AlMjItMVEkSDklMjI1Ry9WOjIlMUZYLkwoLTBaJTNFQTArOlAwTzohJTNDVipVJD8mTCxTLjUoRyUxNVQzJTNFM0clMENFOjk3RyUxOEgoOSUzQyU1RD9WKCUwNSYlNUM3WiUxNCUzRT1OKUEkMiUxM1clM0VWOSUyNTZHOVEkJTNFN1cuWiUxNCUyMDNXMVoyKSRHNEslMjIyJTFFJTVDJTNDUCg/N1U/RyUyMiMlMjBHJTFEJTFEPy04TmJaPyUyMiUzQyU1QyhaNCUyMDNXMVolMDM1LCU1QyRzPyUyMix4LlolMTQ5MCU1QjZBKCg3WjVAMzIlMDJYKEE4OCxoL0EjKTZHdlolMDU4M1QqWiYtJTIwJTVDNFAoJDNKJFElMjUpJTIwRyhBJiUyMDNaP1olMDAyI0w/Vi8yJTNDJTVDLlM5JTNFOUcpTD8qJkcqVjk4PU0jVDMyPSU1QjBBNTgseSRKIyUyMCUzRUcuSyh+YiUwOGJaPyUyMiUyMkwuWjstJloyWiQpIU01VjMyO18oRTspLHU1UzMlM0UsJTdGalolMDQyJTA2UTtKJTNFMiUxRkc4USUyMjg9VyRvMjIlMTglMDkkcSQlMjAsaSRGMyo9Sz9aJTAwKSUyMEozSzgyJTA0TCRBOC0wVT9AKCUwMyxLP1czOCwlMTEkVjM/O0M/WiMlMjI2JTVDJTNDTTgpNkd6WiUyNSUzRTFHJTFEQSUyMjg3SyUwNSU3QiglMUM6WDRaPzIxVT9FJDIwWClBJTYweCwlNjAkQDMuJyU1RSRDMzgsUztSNz8xSzNUJTIyMjNNLlY/LidNP1coJTFGJkszSjEyLHU3WjgpJTI1RzVKNSUyMDtaMVolMTF1JTI1JTVEJCU3QyhjLFQzSTMyJTE0TDRHJTIyJTI1PVckVjM9JyU1QylQKCUxMHplc3glMjVmKWUpJTBFJTBBJTE3JTBFSnBKNzg7Tz8lMDQ1IzYlNUMlMDZXJTdDJTEwJTBGZSklMEUrMiUxRVA0US4yJTFFJTA5KkwyISwlNUQ/VyUyMiUzRT1AJE07MjZQKVQ3ODFRJE04PzdLLlo4IzYlNUMkajoyJTAxJTVDNkE1OD1LJCUxMiglMDg3JTVCL0MoJTE4MyU1RSlaJTE0JCwlNUU/SzojMVguTTklMjIsJTdDLEE4OCxYKlQ6NSwlNUQ7UDcycUclMEVFJCs3TSRnOSElMjJYKEEoaSwlN0Y2RTEyY0clMTlFJTI1KSwlNUQ1STclMjUlM0NHJTFCUSUyMiQ9SyRGOSgrRztAMjIlMERmJTNFQTAlMjUlM0MlNUMkcDcrLFQ/VyUyNS01JTVDJEk5OSElNUMvVCglMEElMjBWN1olMDYjO1cuWiUyMC0lMjBHJTBFSyMvOiU1QylaJTAyIywlN0QtUig2LFg4VzklMjAnTT9aJTA3Kyx4NEclM0UjJTIwRzNKMikqRy1BNCc7TSRWMyUyMDdYKUEoJTAxPUwpQSglMEEzVTZGNy85RyUwOVA3LzlHOUUlMjIvOkcqSyUyNTgsWjVKNS0mRyUxNiUxNSglMjA3Vz1QJTNFMiUyMCU1RCRUNyUzRSElNUMkaS8yOlAlM0VAMyUyMiwlMDhqJTE0KCUwQTtLP1olMTc2LFEuUCY/LGk/VjslMjUhSjNLODIlMDBQJGsmKSUzQyU1QyhaJTA3MiUzQ1Y0QSgvJ0spSyQyJTIyWD1BKCUzQypHJ1olMTgtPyU1QyRHJTNFLSUzQyU1RT9AKCUxOSZQNlcoPyZLM0oxMiUxMyU1RTglMTYoJTBEJFgzSDcuJTNFJTVDJGJkMiUxNSUwMDNFJTNDMiUxQl8oRTspLHo1SSYjJTNDJTVDNFAoJTBEPVokJTE5KCUwRCUyNUclMTZafiUxMCFFfiUwRCgvPVcuRTU4LH4kVjM/O0M7RjopLHguUCQlMjUwTC5BKCUwMT0lNUIzSDMyPUszQz8lMjIsWC9QJTNFIyUyMEc/JTVDMy8sdipBODIlMERNO1YxKSZHJTNDTS4pNkclMDVQPyE3Vi9QJTA5MiUxM1YkcSglMDg3XztROjgsdTtXJTIyMiUxQkclM0VBJTIyLTFRJHYlMjAyJTA4JTBCJHc1JTNFPVU2RjclM0UsJTdGKVolMDItMEc/JTVDJiUyNSUyMCU1QylaJTE0OyxQJTNFWiUxRiUyMjYlNUMlMjJaOyMwUDZBKCUwRStHJTBETTI4Okc3TyYyJTExViUzRUEoJTIyM1Q/WiUyNSUzQzdaM0I/KTZHKkUlMjIkLFo2TTUnLHElM0VMNzIwVS9WKCUxQyUyMFYqQSQ4K0c5SzgqOyU1RSRXMyUyMDRHJTA4TWY0LGgvWjAlMjA9VihaJTEzNCUyMkclMTVTODIlMTclNUQ9QSglMjUhRyUwRkoyKSUyMEclMUJDMyUyMiZHLiU1RCYpLHpjWmoyJTE0UChBMjIlMURJLk05JTIyIUclM0NROC8mUDVKKCUwNixNO0YjJTNDLEkoTTg4LCU3QyUyMlQ/JTNFN0okZzkjOVA/WiUwNSUyNTBVM0oxMiUyNUclMTVSMyUzRSUzRVgjWiUwMiUyNT8lNUM1USUyMjIlMUQlNUIwQTU4LFYvUDMlM0UscyxGZTIlMjVQJTNFUCUzRTIhVTNHMzIlMUNYJCUxNiglMUM4RyUxNk0yLyxYJGg/PyYlNUM0QSQyJTFGViUyME06JTIwM0clMUVFJTIyKSx2NEg5LTZHKUUwKSxMNEY/JTIyNkcuSyMvOiU1QzRAKCUwRTdfNVYzMjFVO1clMjUyJTAyVilNJTIyJTI1PVckJTYwKCUyNSUzQ1AuWiUxODIlMDlHOUs5JzslNUMkbicyJTBCVDVIKDg9SSRvKC86WChaJTA5LiUzRVg0TyglMjA9JTVFJEsmKSUzQ0clMTJaJTEzJTIwN1Q/SiUyMjIlMDAlNUM2QTc/N0cqSyY5JTNDJTVEP1YoJTNDPUkkdDo5NVA0WiUwNiMlMjJMNEAzJTNFLHMyRSglMTU/VmJaJTNFOD9VJHc3KjNLM1o5JTIyLHc1QDMyJTA1JTBDMUZkMjFVNVczMj9WL1czKD1ONFojPzclMTkpUCQlMjUxTSRnIyUzRSUyMCU1QzRQKC4zWjFDJCMnVyUzRVo7KSZYJFAzNCZHJTE5QzgyIVooQTMlMjIsJTFEJGEoJTBCa1ckbTEyayUwMGMlMURvdWtHKEEwKSUyMEs/VigpIVo7VDMyJTdGRztUJiklM0MlNUQkTDk/JkcqQSQlM0MzJTVFP1olMUYlMjImRyUwRkEoJTIyPUs/QiglMDQ7UztHPSUyNSUzQyU1RSRxJiUzQzdLJCUwRiglMTghSSRzYycsTTVRNSQhTTtWJTIyMiUzRVY5RToyJTAxJTVDNFc/ODtPP1psMiUxRiU1RSRzKHQsdzVQPyo7WjtQPyMlM0NHIVolMDQpNUc1SjQlMjAnSyRnKCUwMTdKKUUxKSxMJCUxNCY0LHgoVjc1LEkoQSUyMCklM0NNJHkoJTBGJTNFUDlPMygsWDhXKCUxQz9HblolMEYhPUAkVDklM0MnSSQlMEMlMDgwJTBFSnNaOTo3SyUzQ0g5OywlMDkkRzkhLF81RyM/LHE/TTEkJkclMEFLJjIlMUNVOU0oJTA2JTIyWiR0JTNDeSUzRSU1QjdaJTAyIyUyMkclM0NNJCksWCpUOiUyNTFYLk05JTIyLCU3RiRnOSUyMjVHJTE5TD8lMjA2RylUOiUyNSZHKEU4KCxKLkUlMjI5IUcpRyQjJTNFVThFJD8sdWolMTElM0UuLFo1UjMlM0UsTTVLOi4zSyRAMyUyMDNAJEsmOCFHJTNFTSUyMDIlMTdPP0olMjI/LHcwRzslMjAlMjUlNUQkcCglM0M2XyRBOyUzQyZAJGYoJTFFOiU1QiRKNzo7JTVFO1A5JTNFLE4oTSUyMiksbDAlMTAoJTI1NVc1VjMyJTExVi9KJTIyMjBWNUgzLSUzQ0clMEVNOyksejVKMCUyNTVHLkElMjU4Iik7bTY9MTticmVhaztjYXNlIDE6dmFyIEg2PTAsSTY9MDttNj01O2JyZWFrO2Nhc2UgOTpQNis9U3RyaW5nLmZyb21DaGFyQ29kZShVNi5jaGFyQ29kZUF0KEg2KV54Ni5jaGFyQ29kZUF0KEk2KSk7bTY9ODticmVhaztjYXNlIDU6bTY9SDY8VTYubGVuZ3RoPzQ6NzticmVhaztjYXNlIDc6UDY9UDYuc3BsaXQoJ34nKTtyZXR1cm4gZnVuY3Rpb24oaDYpe3ZhciBqNj0yO3doaWxlKGo2IT09MSl7c3dpdGNoKGo2KXtjYXNlIDI6cmV0dXJuIFA2W2g2XTticmVhazt9fX07YnJlYWs7Y2FzZSAzOkk2PTA7bTY9OTticmVhaztjYXNlIDg6SDYrKyxJNisrO202PTU7YnJlYWs7fX19KCdWTFI5WiQnKX07YnJlYWs7fX19KCk7djdHRy5kMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLmE2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuZjY9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLmc2LkM2PT09J2Z1bmN0aW9uJz92N0dHLmc2LkM2LmFwcGx5KHY3R0cuZzYsYXJndW1lbnRzKTp2N0dHLmc2LkM2O307djdHRy5yND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuQzY9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuQzYuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuQzY7fTshZnVuY3Rpb24odCl7dmFyIHc1PXY3R0c7dmFyIG81PSEwO3ZhciBlLGksbixyLG8scyxhLGMsdSxoLGYscCxfLGwsZCx2LGIsbSxnLHksayx3LHgsTyxDLEUsUCxULEEsRixTLGosTCx6LEIsSSxNLFcsRCxVLFIsTixILHEsSixWLCQsUSxHLFksSyxaLFgsdHQsZXQsaXQsbnQscnQsb3Qsc3QsYXQsY3QsdXQsaHQsZnQscHQsX3QsbHQsZHQsdnQsYnQsbXQsZ3QseXQsa3Qsd3QseHQsT3QsQ3QsRXQsUHQsVHQsQXQsRnQsU3QsanQsTHQsenQsQnQsSXQsTXQsV3QsRHQsVXQsUnQsTnQsSHQscXQsSnQsVnQsJHQsUXQsR3QsWXQsS3QsWnQsWHQsdGUsZWUsaWUsbmUscmUsb2Usc2UsYWUsY2UsdWUsaGUsZmUscGUsX2UsbGUsZGUsdmUsYmUsbWUsZ2UseWUsa2Usd2UseGUsT2UsQ2UsRWUsUGUsVGUsQWUsRmUsU2UsamUsTGUsemUsQmUsSWUsTWUsV2UsRGUsVWUsUmUsTmUsSGUscWUsSmUsVmUsJGUsUWUsR2UsWWUsS2UsWmUsWGUsdGksZWksaWksbmkscmksb2ksc2ksYWksY2ksdWksaGksZmkscGksX2ksbGksZGksdmksYmksbWksZ2kseWksa2ksd2kseGksT2ksQ2ksRWksUGksVGksQWksRmksU2ksamksTGksemksQmksSWksTWksV2ksRGksVWksUmksTmksSGkscWksSmksVmksJGksUWksR2ksWWksS2ksWmksWGksdG4sZW4sbm4scm4sb24sc24sYW4sY24sdW4saG4sZm4scG4sX24sbG4sZG4sdm4sYm4sbW4sZ24seW4sa24sd24seG4sT24sQ24sRW4sUG4sVG4sQW4sRm4sU24sam4sTG4sem4sQm4sSW4sTW4sV24sRG4sVW4sUm4sTm4sSG4scW4sSm4sVm4sJG4sUW4sR24sWW4sS24sWm4sWG4sdHIsZXIsaXIsbnIscnIsb3Isc3IsYXIsY3IsdXIsaHIsZnIscHIsX3IsbHIsZHIsdnIsYnIsbXIsZ3IseXIsa3Isd3IseHIsT3IsQ3IsRXIsUHIsVHIsQXIsRnIsU3IsanIsTHIsenIsQnIsSXIsTXIsV3IsRHIsVXIsUnIsTnIsSHIscXIsSnIsVnIsJHIsUXIsR3IsWXIsS3IsWnIsWHIsdG8sZW8saW8sbm8scm8sb28sc28sYW8sY28sdW8saG8sZm8scG8sX28sbG8sdm8sYm8sbW8sZ28seW8sa28sd28seG8sT28sQ28sRW8sUG8sVG8sQW8sRm8sU28sam8sTG8sem8sQm8sSW8sTW8sV28sRG8sVW8sUm8sTm8sSG8scW8sSm8sVm8sJG8sUW8sR28sWW8sS28sWm8sWG8sdHMsZXMsaXMsbnMscnMsb3Msc3MsYXMsY3MsdXMsaHMsZnMscHMsX3MsbHMsZHMsdnMsYnMsbXMsZ3MseXMsa3Msd3MseHMsT3MsQ3MsRXMsUHMsVHMsQXMsRnMsU3MsanMsTHMsenMsQnMsSXMsTXMsV3MsRHMsVXMsUnMsTnMsSHMscXMsSnMsVnMsJHMsUXMsR3MsWXMsS3MsWnMsWHMsdGEsZWEsaWEsbmEscmEsb2Esc2EsYWEsY2EsdWEsaGEsZmEscGEsX2EsbGEsZGEsdmEsYmEsbWEsZ2EseWEsa2Esd2EseGEsT2EsQ2EsRWEsUGEsVGEsQWEsRmEsU2EsamEsTGEsemEsQmEsSWEsTWEsV2EsRGEsVWEsUmEsTmEsSGEscWEsSmEsVmEsJGEsUWEsR2EsWWEsS2EsWmEsWGEsdGMsZWMsaWMsbmMscmMsb2Msc2MsYWMsY2MsdWMsaGMsZmMscGMsX2MsbGMsZGMsdmMsYmMsbWMsZ2MseWMsa2Msd2MseGMsT2MsQ2MsRWMsUGMsVGMsQWMsRmMsU2MsamMsTGMsemMsQmMsSWMsTWMsV2MsRGMsVWMsUmMsTmMsSGM7ZT13NS5mNigyMzQpO2k9dzUuWjYoMzk0KTtuPXc1Llo2KDM4OSk7cj13NS5mNig0NTYpO289dzUuWjYoNSk7cz13NS5aNig0NjEpO2E9dzUuWjYoMjU1KTtjPXc1Llo2KDg4KTt1PXc1Llo2KDE3OCk7aD13NS5mNigxODcpO2Y9dzUuZjYoNDgxKTtwPXc1LmY2KDM3Nik7Xz13NS5aNigyNDYpO2w9dzUuZjYoMjQ1KTtkPXc1Llo2KDE0OSk7dj13NS5aNigzNjUpO2I9dzUuWjYoNDgzKTttPXc1LmY2KDcyKTtnPXc1Llo2KDMxMyk7eT13NS5aNigyNTMpO2s9dzUuWjYoNTApO3c9dzUuZjYoNDY5KTt4PS9lZGdlLztPPXc1LmY2KDMzNCk7Qz13NS5aNigzMzMpO0U9dzUuWjYoNTMpO1A9dzUuWjYoMTcpO1Q9dzUuWjYoMzQzKTtBPXc1LmY2KDE5MCk7Rj0vZmlyZWZveHxmeGlvcy9pO1M9dzUuZjYoMjEyKTtqPXc1Llo2KDI1OSk7TD13NS5aNigyNDEpO3o9dzUuZjYoMTA5KTtCPXc1LmY2KDk3KTtJPXc1Llo2KDQxOCk7TT13NS5aNigzODgpO1c9dzUuWjYoNDM1KTtEPXc1LmY2KDM3NSk7VT13NS5aNigzNTgpO1I9dzUuZjYoMTcyKTtOPXc1LmY2KDIzOCk7SD13NS5aNig0ODcpO3E9dzUuWjYoMjIxKTtKPXc1LmY2KDIxMSk7Vj13NS5mNigyMTApOyQ9dzUuWjYoMTYyKTtRPXc1Llo2KDY0KTtHPXc1LmY2KDM0Mik7WT13NS5aNigxMjgpO0s9dzUuWjYoMjA4KTtaPXc1LmY2KDE0MSk7WD13NS5aNig0MzYpO3R0PXc1Llo2KDQ0MSk7ZXQ9dzUuWjYoMjgwKTtpdD13NS5mNigxNzcpO250PXc1Llo2KDEyKTtydD13NS5aNigyNzMpO290PXc1Llo2KDM1NSk7c3Q9L3dpbmRvd3MvO2F0PXc1Llo2KDI1OCk7Y3Q9Lyg/OmZ0cHxodHRwcz8pOlwvXC8oW15cL10rKS87dXQ9dzUuWjYoMjE4KTtodD13NS5mNig0NDIpO2Z0PXc1LmY2KDI2Myk7cHQ9dzUuWjYoMTY2KTtfdD13NS5aNigxMzgpO2x0PXc1Llo2KDMyOSk7ZHQ9dzUuWjYoNDEpO3Z0PXc1Llo2KDIwNyk7YnQ9dzUuWjYoMzYyKTttdD13NS5mNigxNjUpO2d0PXc1LmY2KDM3MSk7eXQ9dzUuWjYoMzYwKTtrdD13NS5aNigyMzkpO3d0PXc1LmY2KDM2Myk7eHQ9dzUuZjYoODIpO090PTk1MDI9PT0yNTAwPzB4MjE0Yzp3NS5mNigxNDgpO0N0PXc1LmY2KDE4NSk7RXQ9dzUuWjYoMTQ0KTtQdD13NS5mNigzMjApO1R0PXc1Llo2KDU1KTtBdD13NS5aNigzMTgpO0Z0PXc1Llo2KDE4OSk7U3Q9dzUuWjYoMTAxKTtqdD0vTVNJRVxzKyhbXGRcLl0rKS9pO0x0PXc1Llo2KDM0MCk7enQ9dzUuZjYoMTYwKTtCdD13NS5aNig0NDQpO0l0PXc1Llo2KDQxMyk7TXQ9dzUuZjYoNDU1KTtXdD13NS5mNig1MSk7RHQ9dzUuWjYoNDE1KTtVdD13NS5mNigyOTkpO1J0PXc1Llo2KDQxNik7TnQ9dzUuWjYoMzczKTtIdD13NS5aNig0MzApO3F0PXc1Llo2KDE2MSk7SnQ9dzUuZjYoMjQ4KTtWdD13NS5aNig0MjcpOyR0PXc1LmY2KDQyNCk7UXQ9dzUuZjYoMzUxKTtHdD13NS5aNigyOTApO1l0PXc1Llo2KDI4MSk7S3Q9dzUuWjYoMjk2KTtadD13NS5aNigyODYpO1h0PXc1LmY2KDE0Nik7dGU9dzUuWjYoNjApO2VlPXc1Llo2KDE0Myk7aWU9dzUuWjYoMjE1KTtuZT0vcmFkaW98Y2hlY2tib3gvaTtyZT13NS5mNigyNzUpO29lPXc1Llo2KDEyNCk7c2U9dzUuZjYoMjE2KTthZT13NS5aNigzMDIpO2NlPXc1LmY2KDExNyk7dWU9LzEyMDd8NjMxMHw2NTkwfDNnc298NHRocHw1MFsxLTZdaXw3NzBzfDgwMnN8YSB3YXxhYmFjfGFjKGVyfG9vfHNcLSl8YWkoa298cm4pfGFsKGF2fGNhfGNvKXxhbW9pfGFuKGV4fG55fHl3KXxhcHR1fGFyKGNofGdvKXxhcyh0ZXx1cyl8YXR0d3xhdShkaXxcLW18ciB8cyApfGF2YW58YmUoY2t8bGx8bnEpfGJpKGxifHJkKXxibChhY3xheil8YnIoZXx2KXd8YnVtYnxid1wtKG58dSl8YzU1XC98Y2FwaXxjY3dhfGNkbVwtfGNlbGx8Y2h0bXxjbGRjfGNtZFwtfGNvKG1wfG5kKXxjcmF3fGRhKGl0fGxsfG5nKXxkYnRlfGRjXC1zfGRldml8ZGljYXxkbW9ifGRvKGN8cClvfGRzKDEyfFwtZCl8ZWwoNDl8YWkpfGVtKGwyfHVsKXxlcihpY3xrMCl8ZXNsOHxleihbNC03XTB8b3N8d2F8emUpfGZldGN8Zmx5KFwtfF8pfGcxIHV8ZzU2MHxnZW5lfGdmXC01fGdcLW1vfGdvKFwud3xvZCl8Z3IoYWR8dW4pfGhhaWV8aGNpdHxoZFwtKG18cHx0KXxoZWlcLXxoaShwdHx0YSl8aHAoIGl8aXApfGhzXC1jfGh0KGMoXC18IHxffGF8Z3xwfHN8dCl8dHApfGh1KGF3fHRjKXxpXC0oMjB8Z298bWEpfGkyMzB8aWFjKCB8XC18XC8pfGlicm98aWRlYXxpZzAxfGlrb218aW0xa3xpbm5vfGlwYXF8aXJpc3xqYSh0fHYpYXxqYnJvfGplbXV8amlnc3xrZGRpfGtlaml8a2d0KCB8XC8pfGtsb258a3B0IHxrd2NcLXxreW8oY3xrKXxsZShub3x4aSl8bGcoIGd8XC8oa3xsfHUpfDUwfDU0fFwtW2Etd10pfGxpYnd8bHlueHxtMVwtd3xtM2dhfG01MFwvfG1hKHRlfHVpfHhvKXxtYygwMXwyMXxjYSl8bVwtY3J8bWUocmN8cmkpfG1pKG84fG9hfHRzKXxtbWVmfG1vKDAxfDAyfGJpfGRlfGRvfHQoXC18IHxvfHYpfHp6KXxtdCg1MHxwMXx2ICl8bXdicHxteXdhfG4xMFswLTJdfG4yMFsyLTNdfG4zMCgwfDIpfG41MCgwfDJ8NSl8bjcoMCgwfDEpfDEwKXxuZSgoY3xtKVwtfG9ufHRmfHdmfHdnfHd0KXxub2soNnxpKXxuenBofG8yaW18b3AodGl8d3YpfG9yYW58b3dnMXxwODAwfHBhbihhfGR8dCl8cGR4Z3xwZygxM3xcLShbMS04XXxjKSl8cGhpbHxwaXJlfHBsKGF5fHVjKXxwblwtMnxwbyhja3xydHxzZSl8cHJveHxwc2lvfHB0XC1nfHFhXC1hfHFjKDA3fDEyfDIxfDMyfDYwfFwtWzItN118aVwtKXxxdGVrfHIzODB8cjYwMHxyYWtzfHJpbTl8cm8odmV8em8pfHM1NVwvfHNhKGdlfG1hfG1tfG1zfG55fHZhKXxzYygwMXxoXC18b298cFwtKXxzZGtcL3xzZShjKFwtfDB8MSl8NDd8bWN8bmR8cmkpfHNnaFwtfHNoYXJ8c2llKFwtfG0pfHNrXC0wfHNsKDQ1fGlkKXxzbShhbHxhcnxiM3xpdHx0NSl8c28oZnR8bnkpfHNwKDAxfGhcLXx2XC18diApfHN5KDAxfG1iKXx0MigxOHw1MCl8dDYoMDB8MTB8MTgpfHRhKGd0fGxrKXx0Y2xcLXx0ZGdcLXx0ZWwoaXxtKXx0aW1cLXx0XC1tb3x0byhwbHxzaCl8dHMoNzB8bVwtfG0zfG01KXx0eFwtOXx1cChcLmJ8ZzF8c2kpfHV0c3R8djQwMHx2NzUwfHZlcml8dmkocmd8dGUpfHZrKDQwfDVbMC0zXXxcLXYpfHZtNDB8dm9kYXx2dWxjfHZ4KDUyfDUzfDYwfDYxfDcwfDgwfDgxfDgzfDg1fDk4KXx3M2MoXC18ICl8d2ViY3x3aGl0fHdpKGcgfG5jfG53KXx3bWxifHdvbnV8eDcwMHx5YXNcLXx5b3VyfHpldG98enRlXC0vaTtoZT13NS5aNigxNCk7ZmU9dzUuWjYoMjMpO3BlPXc1Llo2KDExMSk7X2U9dzUuWjYoMjYwKTtsZT0vbWFjaW50b3NoLztkZT13NS5mNig5MCk7dmU9dzUuZjYoMzMyKTtiZT13NS5mNigyMDApO21lPS9tb3ppbGxhLztnZT13NS5mNigxNzQpO3llPXc1LmY2KDEzNSk7a2U9dzUuZjYoMzc4KTt3ZT0vKD86XHcrKVwvKFtcZFwuXSspKD86JHxcc3xcL3xcKSkrL2k7eGU9dzUuWjYoMzQpO09lPXc1LmY2KDM3Nyk7Q2U9dzUuZjYoNDcyKTtFZT13NS5mNigxMTUpO1BlPXc1Llo2KDE5NCk7VGU9dzUuZjYoNDE0KTtBZT13NS5mNig2NSk7RmU9dzUuWjYoMTA3KTtTZT13NS5mNig0MDMpO2plPXc1LmY2KDI5Mik7TGU9dzUuWjYoNTgpO3plPXc1Llo2KDE2NCk7QmU9Lyg/Ok9QUnxPcGVyYXxPUGlPUylcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0llPXc1LmY2KDIyOSk7TWU9dzUuWjYoNDY3KTtXZT13NS5mNig0NjMpO0RlPXc1Llo2KDQzNyk7VWU9dzUuZjYoMTkzKTtSZT13NS5aNigzMyk7TmU9dzUuZjYoODUpO0hlPXc1LmY2KDQwOCk7cWU9dzUuZjYoMjApO0plPXc1Llo2KDk4KTtWZT13NS5mNigxMzYpOyRlPXc1LmY2KDI3Nyk7UWU9dzUuWjYoNyk7R2U9dzUuWjYoODYpO1llPXc1LmY2KDE3NSk7S2U9dzUuWjYoMjcxKTtaZT13NS5aNigzOTkpO1hlPXc1LmY2KDEzMyk7dGk9dzUuWjYoOTUpO2VpPXc1LmY2KDE1Mik7aWk9dzUuWjYoMzEyKTtuaT13NS5aNigyOTgpO3JpPXc1Llo2KDQzMyk7b2k9dzUuZjYoMTgzKTtzaT0vYW5kcm9pZHx3ZWJvc3xpcGhvbmV8aXBhZHxpcG9kfGJsYWNrYmVycnl8aWVtb2JpbGV8b3BlcmFccyttaW5pLzthaT13NS5aNigzODIpO2NpPXc1LmY2KDEyNyk7dWk9dzUuWjYoMzM2KTtoaT13NS5aNigyOTUpO2ZpPXc1Llo2KDMwNyk7cGk9dzUuZjYoMjUxKTtfaT13NS5mNig0MTkpO2xpPXc1LmY2KDMxKTtkaT13NS5aNigyNzQpO3ZpPXc1LmY2KDQ0Nik7Ymk9dzUuWjYoMTYzKTttaT13NS5mNig5NCk7Z2k9dzUuWjYoMjIwKTt5aT13NS5aNigzNTQpO2tpPXc1Llo2KDE4Nik7d2k9dzUuZjYoNDEyKTt4aT13NS5mNig0NDcpO09pPXc1Llo2KDQwNCk7Q2k9dzUuZjYoNTIpO0VpPXc1Llo2KDY4KTtQaT13NS5mNigzNSk7VGk9dzUuZjYoNTYpO0FpPXc1LmY2KDEwMyk7Rmk9dzUuWjYoMzc5KTtTaT13NS5mNig0NTEpO2ppPXc1Llo2KDQ3NSk7TGk9dzUuWjYoMjEpO3ppPXc1LmY2KDE3MSk7Qmk9dzUuZjYoMTMxKTtJaT13NS5mNig0ODgpO01pPXc1LmY2KDE4MCk7V2k9dzUuWjYoNDQ1KTtEaT0vYnV0dG9ufGlucHV0L2k7VWk9dzUuWjYoMTM0KTtSaT13NS5mNigyMjgpO05pPXc1LmY2KDc4KTtIaT13NS5aNig1NCk7cWk9dzUuWjYoMTY3KTtKaT13NS5mNig0NjUpO1ZpPXc1Llo2KDMzNSk7JGk9dzUuZjYoMTY5KTtRaT13NS5mNigzNjgpO0dpPXc1LmY2KDI4Nyk7WWk9dzUuWjYoMzQ4KTtLaT13NS5mNigzMDEpO1ppPXc1LmY2KDQ0KTtYaT13NS5mNigyNjQpO3RuPXc1LmY2KDc3KTtlbj13NS5mNig0NjApO25uPXc1LmY2KDMzNyk7cm49dzUuWjYoMTU3KTtvbj13NS5aNigzMjUpO3NuPXc1LmY2KDIzNyk7YW49dzUuZjYoNDg2KTtjbj13NS5mNigxNTUpO3VuPXc1Llo2KDEwNCk7aG49dzUuWjYoMzU2KTtmbj13NS5aNig0OCk7cG49dzUuZjYoMjQyKTtfbj13NS5mNig0MDApO2xuPXc1Llo2KDI2NSk7ZG49dzUuZjYoMjg0KTt2bj13NS5aNigyODgpO2JuPXc1LmY2KDQzOSk7bW49dzUuWjYoMzQxKTtnbj13NS5aNigyMDMpO3luPXc1LmY2KDIxNyk7a249dzUuWjYoMzIxKTt3bj13NS5mNig0MzIpO3huPXc1LmY2KDIyKTtPbj02NDc9PSg0OTguMjUsMjAwKT8oMS42OWUrMyw0NjkpOnc1LmY2KDk2KTtDbj13NS5mNigzODMpO0VuPXc1LmY2KDM1OSk7UG49dzUuWjYoMzUwKTtUbj0vXk9wZXJhXC8uKj9QcmVzdG9cLy4qP1ZlcnNpb25cLyhbXGRcLl0rKS9pO0FuPXc1Llo2KDE5MSk7Rm49dzUuZjYoNDQ4KTtTbj13NS5mNigyNDQpO2puPXc1Llo2KDIzMSk7TG49dzUuZjYoMTIwKTt6bj13NS5mNig0NTApO0JuPXc1Llo2KDExOCk7SW49dzUuZjYoNik7TW49dzUuWjYoNzUpO1duPXc1LmY2KDEyMyk7RG49dzUuWjYoMzA0KTtVbj0vcmVzZXR8YnV0dG9ufHN1Ym1pdC9pO1JuPXc1LmY2KDQ4NCk7Tm49dzUuZjYoMTk2KTtIbj13NS5mNigyMjYpO3FuPXc1LmY2KDM1Myk7Sm49dzUuWjYoMTgpO1ZuPXc1LmY2KDE2OCk7JG49dzUuZjYoMzE0KTtRbj13NS5aNig0NzEpO0duPXc1LmY2KDQ1OSk7WW49dzUuZjYoMzE3KTtLbj13NS5mNigyNDkpO1puPS9WZXJzaW9uXC8oW1xkXC5dKylccysobW9iaWxlXC9bXlxzXStccyspP1NhZmFyaS9pO1huPXc1LmY2KDE0NSk7dHI9dzUuWjYoMjQwKTtlcj13NS5mNigxOSk7aXI9dzUuWjYoNDg5KTtucj13NS5aNigyNzYpO3JyPXc1LmY2KDQ4Mik7b3I9dzUuZjYoNDY2KTtzcj13NS5aNigyNzApO2FyPXc1Llo2KDE0Nyk7Y3I9dzUuZjYoMjQpO3VyPXc1LmY2KDgzKTtocj13NS5aNigyNzkpO2ZyPXc1Llo2KDQzKTtwcj13NS5mNig0MjApO19yPXc1LmY2KDQ2Mik7bHI9L2Nocm9tZXxjcmlvcy87ZHI9dzUuWjYoNDExKTt2cj0vIy4qJC87YnI9dzUuZjYoMTU5KTttcj13NS5aNigwKTtncj0vKGNvbXBhdGlibGV8d2Via2l0KS87eXI9L0Z4aU9TXC8oW1xkXC5dKykvaTtrcj13NS5mNig1OSk7d3I9dzUuWjYoMzgpO3hyPXc1LmY2KDE5OCk7T3I9dzUuZjYoMTApO0NyPXc1LmY2KDQ2NCk7RXI9dzUuWjYoMTE2KTtQcj13NS5mNigzNjkpO1RyPXc1LmY2KDEyMSk7QXI9L21zaWV8dHJpZGVudFwvLztGcj13NS5mNigyNTYpO1NyPXc1LmY2KDQ3MCk7anI9dzUuZjYoMjkzKTtMcj13NS5mNig4Nyk7enI9L2Nocm9tZXxvcGVyYXxlZGdlfGNyaW9zfG9waW9zfGZ4aW9zfHVjL2k7QnI9dzUuWjYoMjUyKTtJcj13NS5aNigxMDgpO01yPXc1LmY2KDkxKTtXcj13NS5mNigyKTtEcj13NS5mNigyNjgpO1VyPXc1Llo2KDI3OCk7UnI9dzUuWjYoMzI2KTtOcj13NS5mNig5KTtIcj13NS5mNigxMzIpO3FyPXc1Llo2KDMyNCk7SnI9LyhhbmRyb2lkfGJiXGQrfG1lZWdvKS4rbW9iaWxlfGF2YW50Z298YmFkYVwvfGJsYWNrYmVycnl8YmxhemVyfGNvbXBhbHxlbGFpbmV8ZmVubmVjfGhpcHRvcHxpZW1vYmlsZXxpcChob25lfG9kKXxpcGFkfGlyaXN8a2luZGxlfEFuZHJvaWR8U2lsa3xsZ2UgfG1hZW1vfG1pZHB8bW1wfG5ldGZyb250fG9wZXJhIG0ob2J8aW4paXxwYWxtKCBvcyk/fHBob25lfHAoaXhpfHJlKVwvfHBsdWNrZXJ8cG9ja2V0fHBzcHxzZXJpZXMoNHw2KTB8c3ltYmlhbnx0cmVvfHVwXC4oYnJvd3NlcnxsaW5rKXx2b2RhZm9uZXx3YXB8d2luZG93cyAoY2V8cGhvbmUpfHhkYXx4aWluby9pO1ZyPSgyNDk2LDg0OTUpIT05NzY/dzUuZjYoMjk3KTohITA7JHI9dzUuWjYoNDI2KTtRcj13NS5mNigyMjUpO0dyPXc1LmY2KDE4OCk7WXI9dzUuZjYoNDMxKTtLcj13NS5mNigyNTApO1pyPXc1Llo2KDI2MSk7WHI9dzUuZjYoMTc2KTt0bz13NS5mNigyNSk7ZW89dzUuWjYoMTk1KTtpbz13NS5mNigzMjgpO25vPXc1Llo2KDQwOSk7cm89dzUuZjYoMzQ5KTtvbz13NS5aNigzMjIpO3NvPXc1Llo2KDMxNik7YW89dzUuWjYoMzg1KTtjbz13NS5mNigxMTMpO3VvPXc1LmY2KDQ3NCk7aG89dzUuWjYoMjY3KTtmbz13NS5mNigyNjYpO3BvPXc1Llo2KDQwNyk7X289dzUuWjYoNjMpO2xvPXc1Llo2KDM2Nyk7dm89L3dlYmtpdC87Ym89dzUuWjYoNDUyKTttbz0vc2FmYXJpLztnbz13NS5aNig5Myk7eW89L29wZXJhfG9wcnxvcGlvc1wvLztrbz13NS5aNigzMzEpO3dvPXc1LmY2KDI2KTt4bz13NS5aNigxODIpO09vPXc1LmY2KDM4MCk7Q289dzUuWjYoMTEwKTtFbz13NS5mNigxMTIpO1BvPXc1LmY2KDMwNSk7VG89dzUuZjYoNzQpO0FvPXc1LmY2KDEwMik7Rm89dzUuZjYoNDc4KTtTbz0vYW5kcm9pZC87am89dzUuZjYoMzkxKTtMbz13NS5aNigzMDYpO3pvPXc1LmY2KDQwNSk7Qm89dzUuWjYoOTkpO0lvPXc1Llo2KDM5Nik7TW89dzUuWjYoNDQwKTtXbz13NS5mNig2Nyk7RG89dzUuWjYoNDAxKTtVbz13NS5aNigxNTQpO1JvPXc1LmY2KDI4OSk7Tm89dzUuWjYoMzkzKTtIbz13NS5mNig3OSk7cW89dzUuWjYoMTQwKTtKbz13NS5aNigzNzIpO1ZvPXc1Llo2KDQyMik7JG89dzUuZjYoNDQ5KTtRbz13NS5aNigzOTUpO0dvPXc1Llo2KDIwNik7WW89dzUuWjYoMjQzKTtLbz13NS5mNig2Mik7Wm89dzUuWjYoNDg1KTtYbz13NS5mNigxMzApO3RzPXc1Llo2KDE1Nik7ZXM9dzUuZjYoMjAxKTtpcz13NS5aNigzNjEpO25zPXc1LmY2KDMxNSk7cnM9dzUuWjYoMTIyKTtvcz13NS5mNig3MCk7c3M9dzUuZjYoMjU3KTthcz13NS5aNig0MjUpO2NzPXc1LmY2KDMzMCk7dXM9dzUuZjYoNzMpO2hzPXc1LmY2KDMwMyk7ZnM9dzUuWjYoMTAwKTtwcz13NS5mNigzNzQpO19zPXc1Llo2KDY2KTtscz0oODI2LjA2LDk5Ny4yKSE9PSgyNjIuNzksNzAwLjQpP3c1LmY2KDE3OSk6KG81LHc1Llo2KDM2KSk7ZHM9dzUuWjYoMjIzKTt2cz13NS5mNigxMTkpO2JzPXc1Llo2KDMwOCk7bXM9dzUuZjYoNDcpO2dzPXc1Llo2KDMxOSk7eXM9dzUuZjYoMTgxKTtrcz13NS5mNigzNDUpO3dzPXc1Llo2KDE1KTt4cz0vXigjfGphdmFzY3JpcHQpL2k7T3M9dzUuWjYoMzY2KTtDcz13NS5aNigxOTkpO0VzPXc1Llo2KDM4NCk7UHM9dzUuZjYoNDA2KTtUcz13NS5mNig0MjkpO0FzPXc1LmY2KDI0Nyk7RnM9dzUuZjYoNDQzKTtTcz13NS5mNigzMzgpO2pzPS8oPzpGaXJlZm94fENocm9tZSlcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0xzPXc1Llo2KDM3MCk7enM9dzUuZjYoMzEwKTtCcz13NS5aNigzODYpO0lzPXc1Llo2KDI5NCk7TXM9dzUuWjYoMjgzKTtXcz13NS5aNigzODcpO0RzPXc1LmY2KDM5KTtVcz13NS5aNigxMDYpO1JzPXc1LmY2KDIwMik7TnM9dzUuWjYoMzExKTtIcz13NS5mNig0MzgpO3FzPXc1LmY2KDcxKTtKcz13NS5mNigxMzcpO1ZzPXc1Llo2KDI3KTskcz13NS5aNig4NCk7UXM9L18vZztHcz13NS5aNigxNTgpO1lzPXc1Llo2KDE5Mik7S3M9dzUuZjYoNDIzKTtacz13NS5mNigzMzkpO1hzPXc1Llo2KDE1MCk7dGE9dzUuWjYoMTQyKTtlYT13NS5mNig0KTtpYT13NS5aNig0MTApO25hPXc1LmY2KDIzNik7cmE9dzUuZjYoNDAyKTtvYT13NS5mNigyMTQpO3NhPXc1Llo2KDQxNyk7YWE9dzUuZjYoMTg0KTtjYT13NS5aNigxOTcpO3VhPXc1LmY2KDIzMyk7aGE9dzUuZjYoMzApO2ZhPS9saW51eC87cGE9dzUuWjYoMjgyKTtfYT0vb3BlcmEvO2xhPXc1Llo2KDM2NCk7ZGE9dzUuWjYoMTczKTt2YT13NS5aNigzMDApO2JhPXc1LmY2KDIzNSk7bWE9L2VkZ2V8b3ByXC8vO2dhPXc1LmY2KDI4NSk7eWE9dzUuZjYoNDYpO2thPXc1Llo2KDEzKTt3YT13NS5aNigyMDUpO3hhPXc1LmY2KDIyNCk7T2E9dzUuZjYoMzQ0KTtDYT13NS5aNigyMTMpO0VhPS9FZGdlXC8oW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTtQYT13NS5mNigxMjYpO1RhPXc1Llo2KDExNCk7QWE9L14oPzouKlteXHddKSooW1x3XSspXHMqJC9pO0ZhPXc1LmY2KDM5Mik7U2E9dzUuWjYoNjkpO2phPXc1LmY2KDMpO0xhPXc1LmY2KDQ1KTt6YT13NS5mNigzMjMpO0JhPXc1LmY2KDEzOSk7SWE9dzUuWjYoMTI5KTtNYT13NS5mNig4KTtXYT13NS5mNig0Mik7RGE9dzUuZjYoMSk7VWE9dzUuWjYoODkpO1JhPXc1LmY2KDIwOSk7TmE9dzUuZjYoMjgpO0hhPXc1LmY2KDIxOSk7cWE9dzUuWjYoMjMwKTtKYT13NS5aNig4MSk7VmE9dzUuWjYoMzA5KTskYT13NS5mNigzNDcpO1FhPXc1LmY2KDM4MSk7R2E9dzUuWjYoOTIpO1lhPXc1LmY2KDEyNSk7S2E9dzUuWjYoMzIpO1phPXc1LmY2KDM5MCk7WGE9dzUuZjYoNDY4KTt0Yz13NS5mNigzNik7ZWM9dzUuZjYoMzk3KTtpYz13NS5aNig0ODApO25jPXc1LmY2KDIyMik7cmM9dzUuZjYoNDU3KTtvYz13NS5aNigzNTIpO3NjPXc1Llo2KDI5KTthYz0vaShQaG9uZXxQYWR8UG9kKS9pO2NjPXc1LmY2KDQzNCk7dWM9dzUuZjYoNDIxKTtoYz13NS5aNig0NzMpO2ZjPXc1LmY2KDE3MCk7cGM9dzUuZjYoMjYyKTtfYz13NS5aNigxNTEpO2xjPXc1LmY2KDQ5KTtkYz13NS5mNigyNTQpO3ZjPXc1LmY2KDQyOCk7YmM9dzUuZjYoMTUzKTttYz13NS5aNigyNjkpO2djPXc1Llo2KDU3KTt5Yz13NS5mNigzNTcpO2tjPS9UcmlkZW50XC8uKj9ydjooW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTt3Yz13NS5aNig0NTMpO3hjPXc1Llo2KDQ3Nik7T2M9dzUuZjYoNDU0KTtDYz13NS5mNig0NTgpO0VjPXc1LmY2KDgwKTtQYz0vOlxkKyQvO1RjPXc1Llo2KDI3Mik7QWM9dzUuWjYoMzI3KTtGYz13NS5mNig0NzkpO1NjPXc1Llo2KDYxKTtqYz13NS5mNigyOTEpO0xjPXc1Llo2KDIzMik7emM9dzUuWjYoMTEpO0JjPXc1LmY2KDM0Nik7SWM9dzUuWjYoMTA1KTtNYz13NS5aNig0NzcpO1djPXc1Llo2KDQwKTtEYz13NS5aNig3Nik7VWM9dzUuWjYoMTYpO1JjPXc1Llo2KDIyNyk7TmM9dzUuWjYoMjA0KTtIYz13NS5mNigzNyk7IWZ1bmN0aW9uKHQseSxSdCxYZSxyaSx5aSxBaSxObixkcixVcixpbyxybyxDbyxHcyx6YyxVYyxxYyxKYyxWYywkYyl7InVzZSBzdHJpY3QiO3ZhciBRYyxHYyxZYyxLYyxaYyxYYyx0dSxldSxpdSxudSxydSxvdSxzdSxhdSxjdSx1dSxodSxmdSxwdSxfdSxsdSxkdSx2dSxidSxtdSxndSx5dSxrdSx3dSx4dSxPdSxDdSxFdSxQdSxUdSxBdSxGdTtydT10O3c1Llk0KDApO291PXc1LmM0KHVpLEdyLGJyLF9yLFllLFNpLFR0LGRuLFllLHUsbWksT3QsR3IsWWUsdXIpO3c1Llk0KDEpO3N1PXc1LnU0KGZlLFR0LEh0LG90LFR0KTt3NS5vNCgxKTthdT13NS51NChXaSxQZSxLLF9jLFBlKTt3NS5ZNCgyKTtjdT13NS5jNChydSxnaSk7dzUubzQoMik7dXU9dzUudTQocnUsWm8pO3c1Lm80KDMpO2h1PXc1LmM0KE9jLHJ1LEJpLFV0LEdyLEdyKTt3NS5vNCgyKTtmdT13NS51NChydSwkYSk7cHU9YW87X3U9eGk7bHU9THI7ZHU9bW47dnU9eVtmXVtxbytHcitDXVtYcytHcit0cytHcituY10oKTtidT17dW5kZXI6bzUsbmV3VGFiOm81fTttdT1udWxsO2d1PW81O3l1PSF7fTtrdT1mdW5jdGlvbigpe307dzUuWTQoNCk7d3U9dzUudTQoR3IsT3QsRXQpO3h1PXJpW3ZzK0dyK0FvXXx8e3NyYzpudWxsfTt3NS5vNCg0KTtPdT15W2ZdW3c1LmM0KGVvLEdyLGtyKV07Q3U9eXU7RXU9eXU7UHU9eXU7VHU9ZnVuY3Rpb24oKXt2YXIgRTksbzksdzk7dHJ5e0U5PTM2MDIzMDM0MztvOT01MDA4ODEwMDM7dzk9Mjtmb3IodmFyIGI1PTE7dzUuTDEoYjUudG9TdHJpbmcoKSxiNS50b1N0cmluZygpLmxlbmd0aCw1ODI0MykhPT1FOTtiNSsrKXtyZXR1cm4geVtwXT09PXlbcXJdfHwheVtwXVttcl1bRWldWyhYcy1HciklaF0oKSE9VGM/eVtwXTp5W3FyXTt3OSs9Mjt9aWYodzUuTDEodzkudG9TdHJpbmcoKSx3OS50b1N0cmluZygpLmxlbmd0aCw1MTUyOSkhPT1vOSl7cmV0dXJuIHlbcF0hPT15W3FyXSYmdHlwZW9mIHlbcF1bbXJdW0VpXVtYcytHcitoXSgpPT09VGM/eVtwXTp5W3FyXTt9fWNhdGNoKHQpe3ZhciBBOSxJOSxLOTtBOT0yMjIyMDY4MDc7STk9NDU1MTUwMTA4O0s5PTI7Zm9yKHZhciBROT0xO3c1LkwxKFE5LnRvU3RyaW5nKCksUTkudG9TdHJpbmcoKS5sZW5ndGgsNjg5NDApIT09QTk7UTkrKyl7cmV0dXJuIFB1PWd1LHlbcXJdO0s5Kz0yO31pZih3NS5MMShLOS50b1N0cmluZygpLEs5LnRvU3RyaW5nKCkubGVuZ3RoLDU2NzU3KSE9PUk5KXtyZXR1cm4gUHU9Z3UseVtxcl07fX19KCk7QXU9VHVbSmFdW1FhXTtGdT1mdW5jdGlvbigpe3ZhciB0O3RyeXt0PVR1W0VpXVt1bl07fWNhdGNoKHQpe31yZXR1cm4hUHUmJnR8fChidT17bmV3VGFiOmd1LHVuZGVyOnl1fSx0PXJpW2lhXSksdDt9KCk7S2M9e3Q6W10sbjpmdW5jdGlvbih0KXt2YXIgSDcsdjcsVDc7SDc9MTg2NDAwNjYwNDt2Nz03MzE4NDIzNTE7VDc9Mjtmb3IodmFyIG83PTE7dzUuZDEobzcudG9TdHJpbmcoKSxvNy50b1N0cmluZygpLmxlbmd0aCw5MTY5NikhPT1INztvNysrKXt0eXBlb2YgeVt3c10hPT1nZSYmeVt3c11bT29dJiZObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO1Q3Kz0yO31pZih3NS5kMShUNy50b1N0cmluZygpLFQ3LnRvU3RyaW5nKCkubGVuZ3RoLDI0OTc5KSE9PXY3KXt+eVt3c109PT1nZXx8eVt3c11bT29dfHxObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO319LHI6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9MDt0PHRoaXMudFtwaV07dCsrKXt0aGlzLm4odGhpcy50W3RdKTt9fSxlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9W3RdW0tuXShBaVtYdF1bcW5dW0NpXShhcmd1bWVudHMsMSkpO3RoaXMudFtNcl0oZSk7R2MuaSgpJiZ0aGlzLm4oZSk7fX07ZXU9e3M6ZnVuY3Rpb24oKXtpZih0aGlzLm89PT1tdSl0cnl7eVthcytHcit0aV1bbGkrR3IrRXJdKHJ1LDEpO3lbYXMrR3IrdGldW3huK0dyK0VyXShydSk7dGhpcy5vPWd1O31jYXRjaCh0KXt2YXIgdzcscDcsYjk7dzc9LTE2MTA5ODQyMzA7cDc9OTg2NDU4NDQ2O2I5PTI7Zm9yKHZhciBtOT0xO3c1LmQxKG05LnRvU3RyaW5nKCksbTkudG9TdHJpbmcoKS5sZW5ndGgsODg3MTMpIT09dzc7bTkrKyl7dGhpcy5vPXl1O2I5Kz0yO31pZih3NS5MMShiOS50b1N0cmluZygpLGI5LnRvU3RyaW5nKCkubGVuZ3RoLDMzNDE0KSE9PXA3KXt0aGlzLm89eXU7fXRoaXMubz15dTt9cmV0dXJuIHRoaXMubzt9LHU6ZnVuY3Rpb24odCl7dGhpcy5zKCk/eVthcytHcit0aV1beG4rR3IrRXJdKHQpOnR1LnUodCk7fSxjOmZ1bmN0aW9uKHQpe3RyeXtyZXR1cm4gdGhpcy5zKCk/eVthcytHcit0aV1bYWErR3IrRXJdKHQpOnR1LmModCk7fWNhdGNoKHQpe3JldHVybiBtdTt9fSxvOm11LGE6ZnVuY3Rpb24odCxlKXt0aGlzLnMoKT95W2FzK0dyK3RpXVtsaStHcitFcl0odCxlKTp0dS5hKHQsZSk7fX07dHU9e3U6ZnVuY3Rpb24odCl7dGhpcy5hKHQsMCxuZXcgSmMoMCkpO30sYzpmdW5jdGlvbih0KXt2YXIgZTt3NS5ZNCg1KTtlPXJpW050XVtiY10obmV3IFVyKHc1LnU0KGVyLEdyLEdyLGV0LHNjLHQsR3IsR3IsdHQsdWMsR3IsR3IsSm8sR3IpLGxzKSk7cmV0dXJuIGU/VmMoZVswXVtDcl0oR3IrZXQrR3IpWzFdKTptdTt9LGE6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO3M9aXx8R3I7cyYmKHR5cGVvZiBzPT09V3Q/KG89bmV3IEpjKCkpW2xpK0dyK0hdKG9bYWErR3IrSF0oKSsxZTMqcyk6bz1zLHM9R3IrZXIrZmkrZXQrR3Irb1tYcytHcitWcitHcit4YytHcitXK0dyK2hdKCkpO3JpW050XT10KyhHcitldCtHcikrJGMoR3IrZSkrcysocj9HcitlcitkcytldCtHcityOkdyKSsoR3IrZXIrQXQrZXQrR3IpKyhufHxHcitQZStHcik7fX07WmM9e3A6ZnVuY3Rpb24odCl7dmFyIGUsaTtpPXt9O2ZvcihlPTA7ZTx0W3BpXTtlKyspe2lbdFtlXVswXV09dFtlXVsxXTt9cmV0dXJuIGk7fSxXOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbjt0cnl7cmV0dXJuIG49dFthYStHcitHaV0oZSksdHlwZW9mIGkhPT1UYz95dTohIW5ldyBVcihGbitpK01zLGxzKVtqY10obik7fWNhdGNoKHQpe3JldHVybiB5dTt9fSxBOmZ1bmN0aW9uKCl7dHJ5e3JldHVybiB0eXBlb2YgeS5qUXVlcnkuZm4ub249PT1aczt9Y2F0Y2godCl7cmV0dXJuIHl1O319LEc6ZnVuY3Rpb24odCl7cmV0dXJuKHQ/bmV3IEpjKHQpOm5ldyBKYygpKVthYStHcitIXSgpO30sTTpmdW5jdGlvbih0KXt2YXIgbTAsQTAsSTAsZSxsNyxjNyxWNzttMD0tMTc4MjYxMjU4MTtBMD0tMTYzMzI0MDE2NDtJMD0yO2Zvcih2YXIgcjA9MTt3NS5MMShyMC50b1N0cmluZygpLHIwLnRvU3RyaW5nKCkubGVuZ3RoLDM0ODU4KSE9PW0wO3IwKyspe0kwKz0yO31pZih3NS5MMShJMC50b1N0cmluZygpLEkwLnRvU3RyaW5nKCkubGVuZ3RoLDg0OTA2KSE9PUEwKXt9dHJ5e2w3PS0xMjU4NTI0ODY5O2M3PTc3MTI1MDQ2ODtWNz0yO2Zvcih2YXIgeTc9MTt3NS5kMSh5Ny50b1N0cmluZygpLHk3LnRvU3RyaW5nKCkubGVuZ3RoLDEwMjkyKSE9PWw3O3k3KyspeyhlPXRbSmFdW1FhXShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7VjcrPTI7fWlmKHc1LmQxKFY3LnRvU3RyaW5nKCksVjcudG9TdHJpbmcoKS5sZW5ndGgsMjYwMTcpIT09YzcpeyhlPXRbSmFdW1FhXSgoVWEtVnQpL2NpKSlbYm9dKCk7ZVtJb10oKTt9fWNhdGNoKHQpe30oZT1BdShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7fSxUOmZ1bmN0aW9uKHQpe3QmJihUdVtFaV09dCk7fSxxOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxpPVt5cixUbixFYSxCZSxqcyxabixqdCxrYyx3ZV0sbj0wO248aVtwaV07bisrKWlmKGU9aVtuXVtqY10odnUpKXtyZXR1cm4gdD9VYyhlWzFdLDEwKTplWzFdW1pdKFFzLEdyK1R0K0dyKTt9cmV0dXJuIG11O30sTDpmdW5jdGlvbih0LGUpe3c1Llk0KDcpO3JldHVybiB3NS51NChZZSxlcixHcix0LGllLHlzLEdyLGUsR3IsVmUsVnQsR3IpO30sXzpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUTAsZTAsajA7UTA9LTE2NDA5MDY2NDA7ZTA9MzYxNTQ4MTI4O2owPTI7Zm9yKHZhciB0MD0xO3c1LmQxKHQwLnRvU3RyaW5nKCksdDAudG9TdHJpbmcoKS5sZW5ndGgsMzk3NjcpIT09UTA7dDArKyl7aT15O3c1Llk0KDQpO249dFtDcl0odzUudTQoR3IsVHQsR3IpKTtmb3IoZT0wO2U8bltwaV07ZSsrKXtpPWlbbltlXV07fXJldHVybiBpO2owKz0yO31pZih3NS5MMShqMC50b1N0cmluZygpLGowLnRvU3RyaW5nKCkubGVuZ3RoLDQ3NjE4KSE9PWUwKXtpPXk7dzUuWTQoNik7bj10W0NyXSh3NS51NChUdCxHcixHcikpO2ZvcihlPTQ7ZTw9bltwaV07ZS0tKXtpPWlbbltlXV07fXJldHVybiBpO319LFM6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbyxzMCxEMCxXMCxVMCx4MCx6MDtvPXkualF1ZXJ5fHxudWxsO2lmKHQmJnRbQW5dKXtyZXR1cm4gZ3U7fWlmKCFvKXtyZXR1cm4geXU7fXRyeXtzMD0tMTYxNTA0NTA7RDA9LTE5OTUwMzAzNTQ7VzA9Mjtmb3IodmFyIGMwPTE7dzUuZDEoYzAudG9TdHJpbmcoKSxjMC50b1N0cmluZygpLmxlbmd0aCw5Nzc5KSE9PXMwO2MwKyspe2lmKChlPShvKHQpW2llXShHYSkmJm8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9VzArPTI7fWlmKHc1LkwxKFcwLnRvU3RyaW5nKCksVzAudG9TdHJpbmcoKS5sZW5ndGgsMjI1MTYpIT09RDApe2lmKChlPShvKHQpW2llXShHYSl8fG8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9fX1jYXRjaCh0KXt9dHJ5e1UwPS0xMjgxMDM4MTgyO3gwPS01MjI2MTY2MzI7ejA9Mjtmb3IodmFyIGkwPTE7dzUuTDEoaTAudG9TdHJpbmcoKSxpMC50b1N0cmluZygpLmxlbmd0aCwzMjg1OSkhPT1VMDtpMCsrKXtmb3IoZT1vKHJpW1FyXSlbaWVdKEdhKVtnc10saT00O2k+ZVtwaV07aS0tKWZvcihyPW8oZVtpXVtvZV0pLG49NztuPj1yW3BpXTtuLS0paWYocltuXT09dCl7cmV0dXJuIGd1O316MCs9Mjt9aWYodzUuTDEoejAudG9TdHJpbmcoKSx6MC50b1N0cmluZygpLmxlbmd0aCw4ODE3MikhPT14MCl7Zm9yKGU9byhyaVtRcl0pW2llXShHYSlbZ3NdLGk9NDtpPmVbcGldO2ktLSlmb3Iocj1vKGVbaV1bb2VdKSxuPTc7bj49cltwaV07bi0tKWlmKHJbbl09PXQpe3JldHVybiBndTt9fWZvcihlPW8ocmlbUXJdKVtpZV0oR2EpW2dzXSxpPTA7aTxlW3BpXTtpKyspZm9yKHI9byhlW2ldW29lXSksbj0wO248cltwaV07bisrKWlmKHJbbl09PT10KXtyZXR1cm4gZ3U7fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sQzpmdW5jdGlvbih0LGUsaSl7dmFyIG4scixvO289WmMuTyhvNSk7cmV0dXJuIG49b1t0bytHcit5YV1bbXJdW1VzK0dyK0NuXShkZSksbltPXT1yYStQZStDdCxuW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoSmErVHQrX3QrWWUrR3IrZXQrR3IrWWUrSmErVHQrcCtZZStHcitldCtHcitZZStKYStUdCt1cytHcitDbitZZStHcitldCtHcitZZStkK2VyK0dyKSsoSmErVHQrJG4rWWUrR3IrZXQrR3IrWWUrWnMrUit6K1ZlK0dyK1llK3NvK1ZlK0dyK1llK0NlK1ArR3IrWWUrR3Ird24rR3IpKyh1YStZZStCcytHcitYbytZZStHcitldCtHcitZZStKYStUdCtRYStSK3orVmUrR3IrWWUrc28rVmUrR3IrWWUrQ2UrUCtHcitlcitHcikrKFdyK1llK0dyK3duK0JzK0dyK1hvK1R0K1dvK1llK0dyK2V0K0dyK1llK2QrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSsoTnIrWWUrQnMrR3IrWG8rZXIrR3IpKyhHcitEcitHcitlcitHciksb1t0bytHcit5YV1bbXJdW1FyXVtJdCtHcitXZV0obikscj1vW3RvK0dyK3lhXS5ta3AodCxlLGkpLFpjLlAobykscjt9LEI6ZnVuY3Rpb24odCxlLG4pe3ZhciByLG8scztyPTA7bz1ufHwxMDtzPXQ7dHJ5e2Zvcig7cyYmcisrPG87KXtpZih0eXBlb2YgZT09PVRjJiYoc1tTYytHcittY109PT1lfHxaYy5JKHMsZSkpfHx0eXBlb2YgZT09PWFyJiZzPT09ZSl7cmV0dXJuIHM7fXc1Llk0KDQpO3M9c1t3NS51NChfdCxHcixpKV07fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sRjpmdW5jdGlvbih0KXt2YXIgZTtlPVJ0W1RlXTtyZXR1cm4gdHlwZW9mIHQhPT1nZSYmKGU9KGN0W2pjXSh0KXx8W0dyLEdyXSlbMV0pLGVbWl0oUGMsR3IpO30seDpmdW5jdGlvbih0KXtyZXR1cm4geWlbWHRdW1hzK0dyK2hdW0NpXSh0KT09PUdyK0pvK2FyK1llK2JuK3R0K0dyO30sazpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUjAsUDAsSjA7aT1bXTtuPVpjLnYoKTt0cnl7UjA9LTE2Mjc2MTY5Mzc7UDA9LTIwMDI5NzgxNzY7SjA9Mjtmb3IodmFyIEIwPTE7dzUuTDEoQjAudG9TdHJpbmcoKSxCMC50b1N0cmluZygpLmxlbmd0aCw3NjkxMCkhPT1SMDtCMCsrKXtmb3IoZSBpbiBuKXt+dFtlXSE9Z2V8fGlbTXJdKGUvKChHci1ldCklR3IpLXRbZV0pO31KMCs9Mjt9aWYodzUuTDEoSjAudG9TdHJpbmcoKSxKMC50b1N0cmluZygpLmxlbmd0aCw4NjExMCkhPT1QMCl7Zm9yKGUgaW4gbil7fnRbZV0hPWdlfHxpW01yXShlLygoR3ItZXQpJUdyKS10W2VdKTt9fWZvcihlIGluIG4pe3R5cGVvZiB0W2VdIT09Z2UmJmlbTXJdKGUrKEdyK2V0K0dyKSt0W2VdKTt9fWNhdGNoKHQpe0tjLmUodCk7fXc1Llk0KDQpO3JldHVybiBpW05pXSh3NS5jNChHcixWZSxHcikpO30sUjpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5CKHQsT24pO30seTpmdW5jdGlvbigpe2Zvcih2YXIgdCxlPXt9LGk9MDtpPGFyZ3VtZW50c1twaV07aSsrKWZvcih0IGluIGFyZ3VtZW50c1tpXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0oYXJndW1lbnRzW2ldLHQpJiYoZVt0XT1hcmd1bWVudHNbaV1bdF0pO31yZXR1cm4gZTt9LFY6ZnVuY3Rpb24odCxlKXt2YXIgSjEsWDEsQjE7SjE9NDUyODczNzI5O1gxPTEyNzMxMDM4NTg7QjE9Mjtmb3IodmFyIE4xPTE7dzUuZDEoTjEudG9TdHJpbmcoKSxOMS50b1N0cmluZygpLmxlbmd0aCw1NTI1MSkhPT1KMTtOMSsrKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpKihlLXQpKSt0O0IxKz0yO31pZih3NS5kMShCMS50b1N0cmluZygpLEIxLnRvU3RyaW5nKCkubGVuZ3RoLDI4MzUxKSE9PVgxKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpJShlL3QpKSV0O319LFE6ZnVuY3Rpb24odCl7dmFyIGUsaSxuO3c1Llk0KDgpO2U9dzUuYzQodHlwZW9mIHQsYXIpO2k9dDt3NS5vNCg0KTtuPXJpW1VzK0dyK0NhXSh3NS51NChTbixHcix1bykpO25bTHMrR3IrU24rR3IrQ2FdKGdzLGd1LGd1LHksMCwwLDAsMCwwLGd1LHl1LHl1LGd1LDAsbXUpO2V8fChpPVpjLnooVSx7aHJlZjp0fHxpZStWdCtyYStQZStqbytWZStHcit1aStkZSt1citKYStUdCtJbytSK0dyK1ArR3IrZXIrR3IrdWkrR3IrUGUrZGUrdXIrR3J9KSxyaVtRcl1bSXQrR3IrV2VdKGkpKTtpW2duK0dyK0NhXShuKTtlfHxaYy5QKGkpO30sejpmdW5jdGlvbih0LGUsaSl7dmFyIG4scjtyPXJpW1VzK0dyK0NuXSh0KTtmb3IobiBpbiBlKXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShlLG4pJiZyW2xpK0dyK0dpXShuLGVbbl0pO31yZXR1cm4gaSYmKHJbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPWkpLHI7fSxZOmZ1bmN0aW9uKCl7dHJ5e3c1Lm80KDQpO3JldHVybiEhT3VbdzUuYzQoZW4sUGUsTWMpXVt3NS51NCgkaSxHcixXcyldO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sbDpmdW5jdGlvbih0KXt2YXIgZSxpLFk3LGY3LHM3O2U9WmMuXyh0KTt3NS5ZNCg0KTtpPXRbWl0oQWEsdzUudTQoR3Isem8scSkpO3RyeXtZNz0tMTYzMTA2MDI3MDtmNz0xOTgxNTM2MDYxO3M3PTI7Zm9yKHZhciBXNz0xO3c1LkwxKFc3LnRvU3RyaW5nKCksVzcudG9TdHJpbmcoKS5sZW5ndGgsMTYwMikhPT1ZNztXNysrKXtyZXR1cm4rbmV3IFVyKChacy9ZZS1HcikvIGkveHIsUnMpW2lyXShlW1hzJUdyL2hdKCkpO3M3Kz0yO31pZih3NS5MMShzNy50b1N0cmluZygpLHM3LnRvU3RyaW5nKCkubGVuZ3RoLDExNjM3KSE9PWY3KXtyZXR1cm4hbmV3IFVyKFpzK1llK0dyK2kreHIsUnMpW2lyXShlW1hzK0dyK2hdKCkpO319Y2F0Y2godCl7cmV0dXJuIHRbWHMrR3IraF0oKVtMK0dyK1dhXShrbytZZStycytZZStVK1llK1pzKT4tMT9ndTpYYy5kP2d1Onl1O319LHY6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbzt3NS5vNCg0KTtlPXlbdzUuYzQoUGEsR3IsZyldO3c1Llk0KDQpO2k9eVt3NS5jNChQYSxHcix3YyldO249eVtPaStHcitVZV18fHlbT2krR3IrV25dfHwwO3I9eVtPaStHcit4b118fHlbT2krR3IrQ2NdfHwwO289e307cmV0dXJuIG9bb2NdPWUsb1tLYV09aSxvW0hpXT1uLG9bcF09cixvW29yXT0wLG9bRWldPTEsb1tTcl09MSxvW09yXT0xLG8ucmVzaXphYmxlPTEsb1tNZV09MSxYYy5iJiYob1tLYV0rPVhjLm0/NDY6NTIpLFhjLmcmJihvW29jXS09NSxvW0thXS09NCksdHlwZW9mIHQ9PT1hciYmKG89WmMueShvLHQpKSxvO30sTzpmdW5jdGlvbih0KXt2YXIgZTtlPXJpW1VzK0dyK0NuXShjbik7cmV0dXJuIGVbeGVdW3h0XT1YaSx0JiZyaVtRcl1bSXQrR3IrV2VdKGUpLGU7fSxEOmZ1bmN0aW9uKHQpe3JldHVybiB0W1NjK0dyK21jXT09PUZjK0dyK1ZyK0dyK3hjK0dyK3hjK0dyK2ZjK0dyK2d0fHx0W1NjK0dyK21jXT09PXZhK0dyK2d0K0dyK210K0dyK1ZyK0dyK3hjJiZVbltpcl0odFthYStHcitHaV0oTykpfHx0aGlzLkIodCxGYytHcitWcitHcit4YytHcit4YytHcitmYytHcitndCkhPT15dTt9LFA6ZnVuY3Rpb24odCl7dCYmdFtfdCtHcitpXSYmdFtfdCtHcitpXVt4bitHcitXZV0odCk7fSxJOmZ1bmN0aW9uKHQsZSl7dmFyIG4scixvO2lmKHR5cGVvZiBlIT09VGMpe3JldHVybiB5dTt9aWYodHlwZW9mIHJpW2VlK0dyK3Z0K0dyK21dPT09WnMpdHJ5e3I9dFtfdCtHcitpXVtlZStHcit2dCtHcittXShlKXx8eS5qUXVlcnkoZSk7fWNhdGNoKHQpe31lbHNlIGlmKFpjLkEoKSl0cnl7cj15LmpRdWVyeShlKTt9Y2F0Y2godCl7fWlmKHIpZm9yKG89MDtvPHJbcGldO28rKylpZihyW29dPT09dCl7cmV0dXJuIGd1O31zd2l0Y2goZVswXSl7Y2FzZSBHcitUdCtHcjpuPVtsbyxlW2ZzXSgxKV07YnJlYWs7Y2FzZSBHcitzZStHcjpuPVtWYSxlW2ZzXSgxKV07fXJldHVybiBuP3RoaXMuVyh0LG5bMF0sblsxXSk6eXU7fSxmOmZ1bmN0aW9uKHQsZSl7dHJ5e3JldHVybiEoIXRba2ldW2VdfHwhdFtraV1bZV1bWW5dKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LE46ZnVuY3Rpb24odCl7dmFyIGU7ZT10aGlzLlIodCk7cmV0dXJuIGUmJmVbdW5dJiYheHNbaXJdKGVbdW5dKT9lW3VuXTp5dTt9LEo6ZnVuY3Rpb24odCxlLGksbil7Zm9yKHZhciByLG8scyxhPXRbWHMrR3IraF0oKVtDcl0obnx8R3IrVHQrR3IpLGM9ZVtYcytHcitoXSgpW0NyXShufHxHcitUdCtHciksdT0wLGY9ZHJbQm9dKGFbcGldLGNbcGldKTt1PGYmJihyPVVjKGFbdV18fDAsMTApLG89VWMoY1t1XXx8MCwxMCkscWMocikmJihyPTApLHFjKG8pJiYobz0wKSxzPXI+bz8xOi0xLHI9PT1vKTt1Kyspe3M9MDt9c3dpdGNoKGkpe2Nhc2UgR3IrdXIrR3I6dzUubzQoOCk7cmV0dXJuIHc1LnU0KDEscyk7Y2FzZSBHcit1citHcitldCtHcjp3NS5ZNCg5KTtyZXR1cm4gdzUuYzQocywxKTtjYXNlIEdyK3VpK0dyOnc1Lm80KDEwKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK3VpK0dyK2V0K0dyOnc1Llk0KDExKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK2V0K0dyK2V0K0dyOmNhc2UgR3IrZXQrR3IrZXQrR3IrZXQrR3I6ZGVmYXVsdDp3NS5ZNCg4KTtyZXR1cm4gdzUudTQoMCxzKTt9fSwkOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1wZVtDcl0oR3IpLGk9ZVtwaV0sbj0wLHI9R3I7bjx0O24rKyl7cis9ZVtkcltBY10oZHJbTW5dKCkqaSldO31yZXR1cm4gcjt9LGg6ZnVuY3Rpb24odCxlKXt0cnl7cmV0dXJuIHRbYWErR3IrR2ldKGUpO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sSDpmdW5jdGlvbih0LGUsaSl7dmFyIG47dzUubzQoMik7bj13NS5jNChoaSx0KTtyZXR1cm4gdHlwZW9mIHlbbl0hPT1nZSYmcm8oeVtuXSkseVtuXT1pbyhlLGkpO30sdzpmdW5jdGlvbigpe3JldHVybiBQdTt9LFU6ZnVuY3Rpb24odCl7cmV0dXJuIHRbU2MrR3IrbWNdPT09dmErR3IrZ3QrR3IrbXQrR3IrVnIrR3IreGMmJm5lW2lyXSh0W2FhK0dyK0dpXShPKSl8fHRbU2MrR3IrbWNdPT09cGErR3IrT24rR3IrRmMrR3IrUHMrR3IrcGE7fX07aXU9e3R0OmZ1bmN0aW9uKHQsZSl7dmFyIGkscTUsbTUsQTU7dHJ5e3E1PS0xNDE1MjczNDIzO201PS0zMzc1MDc5MjY7QTU9Mjtmb3IodmFyIEs1PTE7dzUuZDEoSzUudG9TdHJpbmcoKSxLNS50b1N0cmluZygpLmxlbmd0aCwzNzU1NSkhPT1xNTtLNSsrKXtyZXR1cm4gZXx8KGk9cmlbKHdyLUdyKSVqbipHcipMY10odFtIYyVHci9VZV0sdFtIYy9Hci14b10pKT9pOnRbVGldJiZ0W1hzLUdyLUNuXSYmdFsoWHItR3IpJUNuXTtBNSs9Mjt9aWYodzUuTDEoQTUudG9TdHJpbmcoKSxBNS50b1N0cmluZygpLmxlbmd0aCw3MjUzNikhPT1tNSl7cmV0dXJuIGUmJihpPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXSx0W0hjK0dyK3hvXSkpP2k6dFtUaV18fHRbWHMrR3IrQ25dfHx0W1hyK0dyK0NuXTt9fWNhdGNoKHQpe3JldHVybiB5dTt9fSxYOmZ1bmN0aW9uKHQsZSxpLG4pe3JldHVybiB0eXBlb2YgdFtIbitHcitDYStHcitFbl09PT1acz90W0huK0dyK0NhK0dyK0VuXShlLGksbnx8e30pOnRbRmUrR3IrQ2FdKE5vK2UsaSk7fSxLOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByO3I9ZnVuY3Rpb24oKXtpdS5aKHQsZSxyLG4pO2lbQ2ldKCk7fTtpdS5YKHQsZSxyLG4pO30sWjpmdW5jdGlvbih0LGUsaSxuKXtyZXR1cm4gdHlwZW9mIHRbeG4rR3IrQ2ErR3IrRW5dPT09WnM/dFt4bitHcitDYStHcitFbl0oZSxpLG58fHt9KTp0W0tpK0dyK0NhXShObytlLGkpO319OyEoWGM9e2l0OmZhW2lyXSh2dSksbnQ6c3RbaXJdKHZ1KSxtOmxlW2lyXSh2dSksZXQ6YWNbaXJdKHZ1KSxydDpTb1tpcl0odnUpLG90OnNpW2lyXSh2dSl8fEpyW2lyXSh2dSl8fHVlW2lyXSh2dVtmc10oMCw0KSksc3Q6dm9baXJdKHZ1KSxnOkFyW2lyXSh2dSkmJiFfYVtpcl0odnUpLGI6bHJbaXJdKHZ1KSYmIW1hW2lyXSh2dSksYXQ6bWVbaXJdKHZ1KSYmIWdyW2lyXSh2dSksY3Q6eFtpcl0odnUpLGQ6Rltpcl0odnUpLHV0OnlvW2lyXSh2dSksX3Q6bXUscHQ6WmMucShndSl8fG11LGx0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3QhPT1tdT90aGlzLl90OnRoaXMuX3Q9UWMuZHQoKSE9PXl1O30sSjpmdW5jdGlvbih0LGUpe3JldHVybiBaYy5KKFhjLmZ0LGUsdCk7fSxodDptb1tpcl0odnUpJiYhenJbaXJdKHZ1KSxmdDpaYy5xKHl1KXx8bXV9KS5ldHx8WGMuaHR8fFhjLmR8fFhjLmJ8fChYYy51dD1vNSk7KFljPWZ1bmN0aW9uKHQsZSxpKXt2YXIgbjtuPWl8fHt9O25bel09ZTt0aGlzLnZ0KG4pO3RoaXMubXQuYnR8fCh0aGlzLm10LmJ0PXJ1K3QpO3RoaXMuZ3QoKTt9KVtYdF09e2t0OntUdDpndSxDdDptdSxqdDp5dSxFdDpHcitQZStHcixGdDprdSxMdDpndSxBdDp5dSxPdDpndSx4dDptdSxQdDpudWxsLGJ0Om11LHd0Om11LFN0Omt1fSxtdDp7fSx5dDpudWxsLHp0OlpjLnYoKSxCdDpaYy5wKFtbT3IsMF1dKSxJdDpaYy5wKFtbTWUsMV1dKSxNdDpaYy5wKFtbU3IsMV1dKSxXdDpaYy5wKFtbRWksMF0sW1NyLDBdXSksRHQ6WmMucChbW01lLDBdXSksVXQ6WmMucChbW1p0LDBdXSksUnQ6WmMucChbW0VpLDBdXSksc2V0T3B0aW9uczpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy52dCh0KTt9LGd0OmZ1bmN0aW9uKCl7dmFyIHQsZSxpLG47dD1mdW5jdGlvbih0LGUpe3ZhciBpLG47bj17fTtuW3B1XT1beXUsZ3VdO25bX3VdPVt5dSx5dV07bltsdV09W2d1LGd1XTtuW2R1XT1bZ3UseXVdO2ZvcihpIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixpKSYmbltpXVswXT09PXQmJm5baV1bMV09PT1lKXtyZXR1cm4gaTt9cmV0dXJuIF91O307ZT1YYy5sdCgpO2k9dChHYy5tdC4kdC5uZXdUYWIsR2MubXQuJHQudW5kZXIpO249dCh0aGlzLm10LkF0LHRoaXMubXQuVHQpO2V8fG49PT1wdSYmKG49aSk9PT1wdSYmKG49bHUpO1hjLm90JiYobj09PV91JiYobj1kdSksbj09PXB1JiYobj1sdSkpO3RoaXMueXQ9bjt9LEh0OmZ1bmN0aW9uKCl7dmFyIGswLG4wLEYwO2lmKHR5cGVvZiB0aGlzLm10Lnh0PT09WnMpdHJ5e3JldHVybiB0aGlzLm10Lnh0W0NpXSh0aGlzLHRoaXMubXQpW1hzK0dyK2hdKCk7fWNhdGNoKHQpe3JldHVybiBLYy5lKHQpLHl1O31rMD0tMTAwMjA0NzAxMztuMD0tMTY1MTM4NjMwNztGMD0yO2Zvcih2YXIgTTA9MTt3NS5MMShNMC50b1N0cmluZygpLE0wLnRvU3RyaW5nKCkubGVuZ3RoLDY4NDExKSE9PWswO00wKyspe3JldHVybiB0aGlzLm10Lnh0O0YwKz0yO31pZih3NS5kMShGMC50b1N0cmluZygpLEYwLnRvU3RyaW5nKCkubGVuZ3RoLDkwOTM5KSE9PW4wKXtyZXR1cm4gdGhpcy5tdC54dDt9fSxMdDpmdW5jdGlvbigpe3ZhciB0LGUsRzcsQzcsazcsVjAsdTAseTA7dD10aGlzLm10O2U9dC5PdCE9PU5zJiZ0Lk90IT09TmV8fHQuT3Q9PT1OcyYmWGMub3R8fHQuT3Q9PT1OZSYmIVhjLm90O3RyeXtHNz0tMTkzODMwODU3MjtDNz0tMTE3NzY0NDk2NDtrNz0yO2Zvcih2YXIgRjc9MTt3NS5kMShGNy50b1N0cmluZygpLEY3LnRvU3RyaW5nKCkubGVuZ3RoLDg5NDI0KSE9PUc3O0Y3Kyspe3R5cGVvZiB0Lkx0PT09WnM/ZT1lJiZ0Lkx0W0NpXSh0aGlzLGUsdGhpcy5OdCgpKSE9PXl1OnR5cGVvZiB0Lkx0PT09YW4mJihlPWUmJnQuTHQpO2s3Kz0yO31pZih3NS5MMShrNy50b1N0cmluZygpLGs3LnRvU3RyaW5nKCkubGVuZ3RoLDUzNDE4KSE9PUM3KXstdC5MdCE9PVpzP2U9ZXx8dC5MdFtDaV0odGhpcyxlLHRoaXMuTnQoKSk9PT15dTohdC5MdD09YW58fChlPWV8fHQuTHQpO319Y2F0Y2godCl7S2MuZSh0KTt9VjA9Njg3MDAyMDA4O3UwPS0yOTc1OTkyODc7eTA9Mjtmb3IodmFyIHYwPTE7dzUuTDEodjAudG9TdHJpbmcoKSx2MC50b1N0cmluZygpLmxlbmd0aCw2NDU0MSkhPT1WMDt2MCsrKXtyZXR1cm4gR2MuSnQoKT9lfHwtdGhpcy5WdDplfHwrdHUuYyh0LmJ0KTt5MCs9Mjt9aWYodzUuTDEoeTAudG9TdHJpbmcoKSx5MC50b1N0cmluZygpLmxlbmd0aCwyOTMyNSkhPT11MCl7cmV0dXJuIEdjLkp0KCk/ZXx8LXRoaXMuVnQ6ZXx8K3R1LmModC5idCk7fXJldHVybiBHYy5KdCgpP2UmJiF0aGlzLlZ0OmUmJiF0dS5jKHQuYnQpO30sdnQ6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHI7dGhpcy5tdD1aYy55KHRoaXMuenQsdGhpcy5rdCx0aGlzLm10LHR8fHt9KTtmb3IoaSBpbiB0aGlzLm10KWlmKHlpW1h0XVtCYStHcitsdCtHcitvb11bQ2ldKHRoaXMubXQsaSkpc3dpdGNoKG49dGhpcy5tdFtpXSxpKXtjYXNlIHNvOnRoaXMubXQud3Q9bjticmVhaztjYXNlIHo6dGhpcy5tdC54dD1uO2JyZWFrO2Nhc2UgTGU6dGhpcy5tdC5PdD0obitHcilbWHMrR3IrdHMrR3IrbmNdKCk7YnJlYWs7Y2FzZSBOdCtHcittYzp0aGlzLm10LmJ0PW47YnJlYWs7Y2FzZSBOdCtHcitUOnRoaXMubXQuQ3Q9bjticmVhaztjYXNlIE50K0dyK2VhOnRoaXMubXQuRXQ9bjticmVhaztjYXNlIE50K0dyKyRzOnRoaXMubXQuUHQ9bjticmVhaztjYXNlIEVlOnRoaXMubXQuVHQ9bjticmVhaztjYXNlIEErR3IrTG86dGhpcy5tdC5BdD1uO2JyZWFrO2Nhc2UgcHQrR3IramU6dGhpcy5tdC5GdD1uO2JyZWFrO2Nhc2UgamErR3IramU6dGhpcy5tdC5TdD1uO2JyZWFrO2Nhc2UgSWMrR3IrY3I6dGhpcy5tdC5qdD1uO2JyZWFrO2Nhc2UgdGUrR3Irc3M6dGhpcy5tdC5MdD1uO31pZighWGMub3QmJiF0aGlzLm10LkF0KWZvcihyPVtbWGMuZyYmMTE9PT1YYy5wdCx0aGlzLlV0XSxbWGMuYiYmWGMucHQ8NDEsdGhpcy5JdF0sW1hjLmIsdGhpcy5CdF0sW1hjLmQmJlhjLnB0PDQ3LHRoaXMuTXRdLFtYYy51dCx0aGlzLkR0XSxbWGMuY3QsdGhpcy5SdF0sW1hjLmImJlhjLnB0Pj01OSx0aGlzLld0XSxbWGMudXQmJlhjLnB0Pj00Nix0aGlzLld0XV0sZT0wO2U8cltwaV07ZSsrKWlmKHJbZV1bMF0pZm9yKGkgaW4gcltlXVsxXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0ocltlXVsxXSxpKSYmKHRoaXMubXRbaV09cltlXVsxXVtpXSk7fX0sZ2V0T3B0aW9uczpmdW5jdGlvbigpe3JldHVybiB0aGlzLk50KCk7fSxOdDpmdW5jdGlvbigpe3ZhciB0LGU7ZT17fTtmb3IodCBpbiB0aGlzLm10KXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXSh0aGlzLm10LHQpJiZ0W3BpXT49MyYmKGVbdF09dGhpcy5tdFt0XSk7fXJldHVybiBlO30scXQ6ZnVuY3Rpb24oKXtHYy5KdCgpP3RoaXMuVnQ9Z3U6dHUuYSh0aGlzLm10LmJ0LDEsdGhpcy5tdC5DdCx0aGlzLm10LkV0LHRoaXMubXQuUHQpO319OyhudT1mdW5jdGlvbih0KXt2YXIgZTtlPXRoaXM7dGhpcy5RdD10O3RoaXMuR3Q9dGhpcy5ZdCgpO3RoaXMuS3Q9dGhpcy5adCgpO2l1LlgodGhpcy5HdCxncyxmdW5jdGlvbigpe0dzKGUuS3QpO1pjLlAoZS5HdCk7fSk7fSlbWHRdPXtZdDpmdW5jdGlvbigpe3ZhciB0LEs3LHI3LFE3O0s3PS0xODIwMzgxMDU7cjc9MTk5MDM1MjYxMTtRNz0yO2Zvcih2YXIgajc9MTt3NS5kMShqNy50b1N0cmluZygpLGo3LnRvU3RyaW5nKCkubGVuZ3RoLDg2ODQwKSE9PUs3O2o3Kyspe3Q9WmMueihoYyx7Y2xhc3M6ZnV9LEdyKTtyZXR1cm4gdGhpcy5RdFtTYytHcittY11bWHMrR3IrdHMrR3IrbmNdKCk9PT1Rcj9yaVtRcl1bSXQrR3IrV2VdKHQpOnRoaXMuUXRbX3QrR3IraV1bTmMrR3IrT3NdKHQsdGhpcy5RdFtWcytHcitrc10pLHQ7UTcrPTI7fWlmKHc1LkwxKFE3LnRvU3RyaW5nKCksUTcudG9TdHJpbmcoKS5sZW5ndGgsMzM0MykhPT1yNyl7dD1aYy56KGhjLHtjbGFzczpmdX0sR3IpO3JldHVybiB0aGlzLlF0W1NjKkdyL21jXVtYcypHci10cy1Hci1uY10oKT09UXI/cmlbUXJdW0l0L0dyL1dlXSh0KTp0aGlzLlF0W190L0dyJWldWyhOYy1HcikqT3NdKHQsdGhpcy5RdFsoVnMtR3IpJWtzXSksdDt9fSxadDpmdW5jdGlvbigpe3ZhciB0O3Q9dGhpcztyZXR1cm4gQ28oZnVuY3Rpb24oKXt2YXIgZSxpO2k9VWModC5RdFt4ZV1bc24rR3IrenNdLDEwKTt0LlF0W1NjK0dyK21jXVtYcytHcit0cytHcituY10oKT09PVFyJiYoaT05ZTkpOyhlPV9uK1Z0K2dvK2VyK0RhK1Z0K04rZXIrbG4rVnQraytlcitHcisoS2ErVnQrR3IpK3QuUXRbZnIrR3Ird2NdKyhobytlcitHcikrKG9jK1Z0K0dyKSt0LlF0W2ZyK0dyK2ddKyhobytlcitHcikrKEhpK1Z0K0dyKSt0LlF0W2ZyK0dyK1duXSsoaG8rZXIrR3IpKyhwK1Z0K0dyKSt0LlF0W2ZyK0dyK0NjXSsoaG8rZXIrR3IpKyhzbit3aStMK1Z0K0dyKSsocWMoaSk/MjppKzEpKSE9PXQuR3RbYWErR3IrR2ldKHhlKSYmdC5HdFtsaStHcitHaV0oeGUsZSk7fSwxNTApO319O251Llh0PWZ1bmN0aW9uKHQpe3ZhciBlO3c1Llk0KDEyKTtlPXc1LmM0KHJ1LExpLHdpLHdpLEdyLGllLEdyKTt0W2FhK0dyK0dpXShlKXx8dFthYStHcitHaV0obG8pPT09ZnV8fCh0W2xpK0dyK0dpXShlLDEpLG5ldyBudSh0KSk7fTsoUWM9e2R0OmZ1bmN0aW9uKCl7dmFyIHQsZTtlPXRoaXMuZWUoKTtmb3IodD0wO3Q8ZVtwaV07dCsrKWlmKGVbdF1bMV0oKT09PWd1KXtyZXR1cm4gZVt0XVswXTt9cmV0dXJuIHl1O30sZWU6ZnVuY3Rpb24oKXt2YXIgdDt0PVtdO3JldHVybiBYYy5vdHx8WGMuaXQ/W106KHRbTXJdKFt0aGlzLmllLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlhjLnB0Pj02NCYmWGMucHQ8Njc7fV0pLHRbTXJdKFt0aGlzLm5lLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubnQmJlhjLnB0Pj00MyYmWGMucHQ8NjQ7fV0pLHRbTXJdKFt0aGlzLnJlLGZ1bmN0aW9uKCl7dmFyIGI3LHE3LG03O2I3PS02MDMwNTI0OTU7cTc9LTQwNjg3OTgwNDttNz0yO2Zvcih2YXIgSTc9MTt3NS5MMShJNy50b1N0cmluZygpLEk3LnRvU3RyaW5nKCkubGVuZ3RoLDU1NDM5KSE9PWI3O0k3Kyspe3JldHVybiBYYy5ifHxaYy5ZKCl8fFhjLm18fFhjLnB0PD0xN3x8WGMucHQ+PTg5O203Kz0yO31pZih3NS5MMShtNy50b1N0cmluZygpLG03LnRvU3RyaW5nKCkubGVuZ3RoLDYyMDk0KSE9PXE3KXtyZXR1cm4gWGMuYnx8WmMuWSgpfHxYYy5tfHxYYy5wdDw9MTd8fFhjLnB0Pj04OTt9cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubSYmWGMucHQ+PTQ5JiZYYy5wdDw2NDt9XSksdFtNcl0oW3RoaXMub2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZDt9XSksdFtNcl0oW3RoaXMuc2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZyYmWGMucHQ+PTExO31dKSx0W01yXShbdGhpcy5hZSxmdW5jdGlvbigpe3JldHVybiBYYy5odDt9XSksdFtNcl0oW3RoaXMuY2UsZnVuY3Rpb24oKXt2YXIgVDAsRTAsbzA7VDA9MTIwNjMzNjEyMTtFMD0xMjk2MjQyMjUyO28wPTI7Zm9yKHZhciBwMD0xO3c1LmQxKHAwLnRvU3RyaW5nKCkscDAudG9TdHJpbmcoKS5sZW5ndGgsNDUyNzYpIT09VDA7cDArKyl7cmV0dXJuIFhjLnV0fHxYYy5udHx8WGMucHQ+PTc0O28wKz0yO31pZih3NS5MMShvMC50b1N0cmluZygpLG8wLnRvU3RyaW5nKCkubGVuZ3RoLDY1MzgpIT09RTApe3JldHVybiBYYy51dCYmWGMubnQmJlhjLnB0PD00ODt9fV0pLHQpO319KS50ZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMudGVbWHRdPXtfZTprdSx1ZTpmdW5jdGlvbih0KXt2YXIgcjUsUTUsZTU7cjU9LTk1ODI4OTMwMTtRNT0tNjIxNDQ4NDIyO2U1PTI7Zm9yKHZhciBaNT0xO3c1LmQxKFo1LnRvU3RyaW5nKCksWjUudG9TdHJpbmcoKS5sZW5ndGgsOTUyNjgpIT09cjU7WjUrKyl7dGhpcy5mZT10O2U1Kz0yO31pZih3NS5MMShlNS50b1N0cmluZygpLGU1LnRvU3RyaW5nKCkubGVuZ3RoLDE0MzU1KSE9PVE1KXt0aGlzLmZlPXQ7fX0sbGU6a3UscGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhO2k9dGhpcztuPWkuZmU7cj1uLkh0KCk7bz1uLm10O3M9by53dHx8WmMuJCg1KTthPVpjLmsobyk7aWYodD1mdW5jdGlvbigpe3RyeXtpZih0eXBlb2Ygby5GdD09PVpzJiZvLkZ0W0NpXShuLHIsbyk9PT15dSl7cmV0dXJuIHl1O319Y2F0Y2godCl7S2MuZSh0KTt9cmV0dXJuIG11O30sZT1mdW5jdGlvbih0KXtpZih0eXBlb2Ygby5TdD09PVpzKXRyeXtvLlN0W0NpXShuLHIsbyx0KTt9Y2F0Y2godCl7S2MuZSh0KTt9fSx0KCk9PT15dSl7cmV0dXJuIHl1O310eXBlb2Ygb1t6XT09PVRjJiZvW3pdIT09ciYmKHI9b1t6XSk7R2MuanQoby5qdCk7dGhpcy5fZSgpO3RyeXtyZXR1cm4gdGhpcy5sZShyLG8scyxhLGZ1bmN0aW9uKHQpe2kuZGUodCk7aS5oZSYmR2MuaGUoKTtlKHQpO30pO31jYXRjaCh0KXtyZXR1cm4gS2MuZSh0KSx5dTt9fSx2ZTpmdW5jdGlvbih0LGUsaSl7cmV0dXJuKEdjLm10LmJlP1pjLkM6QXUpKHQsZSxpKTt9LGRlOmt1LGhlOmd1fTtRYy5tZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMubWVbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTp5dSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3IodGhpcy52ZSh0LGksbikpO319KTtRYy5nZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuZ2VbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTohWGMub3QmJiFYYy5kLGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7cih0aGlzLnZlKHQsRmkpKTt9fSk7UWMueWU9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnllW1h0XT1aYy55KFFjLnRlW1h0XSx7a2U6ZnVuY3Rpb24oKXt2YXIgdCxlLGk7dD1HYy53ZSgpO2U9R2MueGUuUztpPXR5cGVvZiBHYy5tdC5PZT09PVpzP0djLm10Lk9lW0NpXSgpOkdjLm10Lk9lO3JldHVybiBmdW5jdGlvbigpe3ZhciBuLHI7cmV0dXJuIGkhPT1GdT9pOihuPVpjLiQoMSkscj1lP2k6R2MuQ2UodCl8fGksZXUucygpfHwhWGMub3QmJiFYYy5nP3I6KHR1LmEoY3UsbixtdSkscltaXSh2cixHcikrKEdyK3NlK0dyKStuKSk7fSgpO30sbGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgeDksejksaDksbyxzLGEsYyx1LGgsZixwO3g5PTE3MTA2NjI4Nzg7ejk9LTEwMzk3MjE3MTM7aDk9Mjtmb3IodmFyIEw5PTE7dzUuZDEoTDkudG9TdHJpbmcoKSxMOS50b1N0cmluZygpLmxlbmd0aCwzMDE4NykhPT14OTtMOSsrKXtoOSs9Mjt9aWYodzUuZDEoaDkudG9TdHJpbmcoKSxoOS50b1N0cmluZygpLmxlbmd0aCw0NTQ4MCkhPT16OSl7fWE9dGhpcy5rZSgpO2M9R2Mud2UoKTt1PVpjLk4oYyk7aD0xNTtmPVtdO3A9ZnVuY3Rpb24odCl7dmFyIGU7dHlwZW9mIHRbQW5dPT09WnMmJihlPXRbQW5dLGl1LlgodCxncyxlKSk7dFtBbl09ZnVuY3Rpb24oKXtyZXR1cm4geXU7fTt9O2ZvcihHYy5FZSgpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKSE9PUZpJiZaYy5mKGMsdW4pJiYocChjKSwwIT09Y1thYStHcitHaV0odW4pW0wrR3IrV2FdKEN0KSYmKGE9Y1thYStHcitHaV0odW4pKT09PUdyJiYoYT1GdSkpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKT09PUZpJiZaYy5mKGMsdW4pJiYocChjKSxpbyhmdW5jdGlvbigpe2NbQW5dPW11O30sM2UzKSxHYy5tdC5QZT9hPWNbYWErR3IrR2ldKHVuKTooYT1GdSxYYy5vdCYmKFhjLnV0P2ZbTXJdKGZ1bmN0aW9uKCl7QXUoY1thYStHcitHaV0odW4pLEZpKTt9KTppbyhmdW5jdGlvbigpe0F1KGNbYWErR3IrR2ldKHVuKSxGaSk7fSwyMCkpKSksWGMuZXQmJlhjLnV0fHxYYy5ldCYmWGMuc3QmJiFYYy5kJiYhWGMuYiYmIVhjLmh0PyhBdShhLEZpKSxaYy5IKEJyLGZ1bmN0aW9uKCl7WmMuVCh0KTt9LGgpKTohWGMub3QmJlpjLmgoYyxUaSkhPT1GaSYmKFhjLnV0JiZYYy5zdHx8WGMuaHQmJlhjLnB0PDEwfHxYYy5iJiZYYy5wdDw0MSk/WGMudXQ/KFpjLlEoYSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KFpjLlEodCksY1tTYytHcittY109PT1PbiYmdSYmWmMuVCh1KSk6WGMuZXQmJlhjLmQ/KG89QXUoYSxGaSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KG89eVtRYV0oVWErVnQrY2ksRmkpKT8ob1tFaV1bdW5dPWEsWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6bz1BdSh0LEZpKSxzPTA7czxmW3BpXTtzKyspe2Zbc11bQ2ldKCk7fW8mJnIobyk7fX0pO1FjLm9lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5vZVtYdF09WmMueShRYy50ZVtYdF0se2hlOnl1LGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG87bz10aGlzLnZlKHQsaSxuKTtvW2tuXSgpO1R1W2JvXSgpO1pjLk0obyk7aW8oZnVuY3Rpb24oKXtyKG8pO30sMWUzKTt9fSk7UWMuY2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLmNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZSh0LGksbik7cz1HYy5UZSgxZTMpO2l1LksoeSxibyxmdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9KTtvW2NjXT1mdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9O3Iobyk7fX0pO1FjLmFlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5hZVtYdF09WmMueShRYy50ZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIEQ5LFc5LGw5LG87RDk9MTk0OTIwNzgwOTtXOT04OTkwMjg0O2w5PTI7Zm9yKHZhciBWOT0xO3c1LkwxKFY5LnRvU3RyaW5nKCksVjkudG9TdHJpbmcoKS5sZW5ndGgsNTc4NTApIT09RDk7VjkrKyl7bDkrPTI7fWlmKHc1LkwxKGw5LnRvU3RyaW5nKCksbDkudG9TdHJpbmcoKS5sZW5ndGgsNTEwNjgpIT09Vzkpe315W3NvXT1aYy4kKDUpO289dGhpcy52ZSh0LGksbik7dGhpcy52ZShHcix5W3NvXSxHcik7eVtzb109bXU7cihvKTt9LGhlOnl1fSk7UWMuc2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZShQdT90OkZ1LGksbik7cz1mdW5jdGlvbigpe29bRWldW3VuXT10O307aXUuSyhvLGtuLHMpO29ba25dKCk7VHVbYm9dKCk7aW8ocywxMDApO3Iobyk7fSxoZTp5dX0pO1FjLm5lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5uZVtYdF09WmMueShRYy50ZVtYdF0se0ZlOmZ1bmN0aW9uKCl7dmFyIHQsZTtlPVpjLnooYXIse2RhdGE6WmMuTChlbitQZStNYyx0aGlzLkFlKStaYy4kKDMpfSk7cmV0dXJuKHQ9WmMueihoYyx7c3R5bGU6UGkrVnQrYStlcitvYytWdCtIcytlcitLYStWdCtIcytlcitEYStWdCtOK2VyK3ArVnQrRnIrSGErR3IrZXIrSGkrVnQrem4rZXIrayt3aStHYStWdCtYaStlciskbytWdCthK2VyK0dyfSkpW0l0K0dyK1dlXShlKSxbZSx0XTt9LFNlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMueSh0LHt9KTtyZXR1cm4gZVtwXT1lW0hpXT05ZTUsZVtvY109ZVtLYV09MSxlO30sQWU6THQrR3IrdGErR3IrRmMrR3IrUHMrR3Irb24rR3IrV2MrR3IreG8rR3IrJCtHcithaStHcituK0dyK1NhK0dyK0tyK0dyK1F0K0dyK2t0K0dyK3p0K0dyK3RjK0dyK1l0K0dyK3ZhK0dyK3MrR3IrdmErdWMraG4rR3IrTGErR3IrenQrR3IrVytHcitEYytHcitaYStHcittdCtHcitWaStHcitzYStHcitVZStHcitUYStHcit2YStHcitWaStHcitQcitHcit4bytHcitVZStHcitpYytHcitwbytHcitLcitHcitKK0dyK2hzK0dyK1ppK0dyK3ZhK0dyK1ByK0dyK0xhK0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrWGErR3IrVHMrR3IrWmkrR3IrdmErR3IrUHIrR3IrSGUrR3IrenQrR3IrVytHcitGYytHcit0YytHcityYytHcithZStHcit2aStHcit2YStHcitQcitHcitydCtHcitwcytHcittdCtHcituYStHcitUbytHcityZStHcit4bytHcit0YStHcitqaStHcitXK0dyK2F0K0dyK3ZhK0dyK1ByK0dyK2MrR3IrYit1YytFK0dyK1FvK0dyK3BzK0dyK2RjK0dyK1l0K0dyK3ZhK0dyK1lhK0dyK1hhK0dyK1RzK0dyK1ppK0dyK3ZhK0dyK0dlK0dyK09lK0dyK2dhK0dyK0hvK0dyK3ZhK0dyK1ByK0dyK2t0K0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrdmErR3Ircm4rdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitrdCtHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK09lK0dyK1krR3IrS3QrR3IreG8rR3IrVWUrR3IrYnMrR3IrRnQrR3IrUG8rR3IrRStHcitVZStHcitiaStHcitVZStHcitTZStHcitWcitHcitEcytHcit4bytHcitVZStHcitHbytHcit2YStHcitQdCtHcitVZStHcitScitHcit5YytHcitPZStHcitWbytHcitLcitHcit2YytHcitiZStHcitzK0dyK3hjK0dyK0tvK0dyK3IrR3IrYWkrR3IrZnQrdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitBZStHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK05hK0dyK1RzK0dyK010K0dyK2hyK0dyK1lzK0dyK0tzK0dyK0UrR3IrVWUrR3IrZm4rR3IrcmMrR3IrYWUrR3IrRCtHcitMdCtHcitWcitHcit0YStHcittdCtHcitacitHcitWcitHcitPZSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3ZhciBzLGEsYyx1LGg7dT10aGlzO2g9eXU7dHJ5eyhhPXRoaXMudmUoVWErVnQrY2ksRmkpKVttcl1bcnJdKHc1LnU0KHVyLEdyLEdyLGpvLFBlLHVpLEdyLFFyLEdyLFBlLG8sR3IsdWksdWksR3IsdXIsUGUsR3IsdXIsam8sR3IsdXIsbyx1aSxHcix1cixHcix1aSxRcix1cix1aSx3NS5ZNCgxMykpKTtpdS5LKGEscWEsZnVuY3Rpb24oKXtmdW5jdGlvbiBmKCl7bigpO2FbSW9dKCk7bygpO3JvKGMpO31ofHwoaD1ndSxzPWFbQmNdPUF1KFVhK1Z0K2NpLGksWmMuayh1LlNlKGUpKSksaXUuWChhLGJvLGYpLGM9aW8oZiwzZTMpLGFbbXJdW1FyXVtQYStHcithaStHcit4YytHcit6dCtHcitwYV09dS5GZSgpWzFdW1BuK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXSk7ZnVuY3Rpb24gbigpe3c1Llk0KDE0KTthW21yXVtRcl1bdzUudTQoUGEsenQsR3IsR3IsR3IseGMsR3IsYWkscGEpXT1Hcjt9ZnVuY3Rpb24gbygpe3ZhciBhMSxZMSxmMTthMT0tMTU2OTI3MTMyMDtZMT0yMzc1ODcyNDtmMT0yO2Zvcih2YXIgRDE9MTt3NS5MMShEMS50b1N0cmluZygpLEQxLnRvU3RyaW5nKCkubGVuZ3RoLDk0NDMyKSE9PWExO0QxKyspe3NbRWMlR3ItYmFdKGVbSGldLGVbcF0pO3NbZGElR3IqYmFdKGVbb2NdLGVbS2FdKTtzW0VpXVtaXSh0KTtyKHMpO2YxKz0yO31pZih3NS5kMShmMS50b1N0cmluZygpLGYxLnRvU3RyaW5nKCkubGVuZ3RoLDYyNDUzKSE9PVkxKXtzW0VjJUdyLWJhXShlW0hpXSxlW3BdKTtzW2RhJUdyKmJhXShlW29jXSxlW0thXSk7c1tFaV1bWl0odCk7cihzKTt9c1tFYytHcitiYV0oZVtIaV0sZVtwXSk7c1tkYStHcitiYV0oZVtvY10sZVtLYV0pO3NbRWldW1pdKHQpO3Iocyk7fX0pO31jYXRjaCh0KXt9fX0pO1FjLnJlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5yZVtYdF09WmMueShRYy5uZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG8scztzPVpjLk8oZ3UpO2l1LksoeSxibyxmdW5jdGlvbigpe1pjLlAocyk7b1tFaV1bWl0odCk7cihvKTt9KTt3NS5vNCg0KTtvPXRoaXMudmUodzUuYzQoVWEsVnQsY2kpLEZpKTtzW3RvK0dyK3lhXVttcl1bcnJdKHRoaXMuRmUoKVsxXVtQbitHcithaStHcit4YytHcit6dCtHcitwYV0pO319KTtRYy5pZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuaWVbWHRdPVpjLnkoUWMudGVbWHRdLHtMZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47aT10aGlzO249eXU7dzUubzQoNCk7ZT10aGlzLnZlKHc1LmM0KFVhLFZ0LGNpKSx0Lnd0fHxGaSx0LkJlfHxHcik7dC56ZSYmKGUmJmVbSW9dKCksbj1ndSk7IW4mJmUmJmlvKGZ1bmN0aW9uKCl7ZVtFaV1bdW5dPXQueHQ7dC5JZSYmaS5JZShlKTt9LDEwMCk7fSx1ZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47bj10aGlzO3RoaXMuamU9ZHJbTW5dKCk7dGhpcy5mZT10O2U9R2Mud2UoKTt3NS5vNCgxNSk7aT1aYy5CKGUsdzUuYzQoZ3QsR3IseGMsR3IsR3IsRmMseGMsR3IsZmMsR3IsVnIpKTsoZVtTYytHcittY109PT1PbiYmZVthYStHcitHaV0oanIpIT09RmkmJiFaYy5TKGUpfHxpJiYhWmMuUyhpKSkmJih0aGlzLmhlPWd1KTtpdS5YKHksSWUsZnVuY3Rpb24gdChlKXt0cnl7ZVtpZV0uamU9PT1uLmplJiZuLkxlKGVbaWVdKTtlW2llXS56ZSYmaXUuWih5LEllLHQpO31jYXRjaCh0KXt9fSk7fSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3RoaXMuSWU9cjt0aGlzLk1lKHtqZTp0aGlzLmplLEJlOm4sSWU6Z3UseHQ6dH0pO3RoaXMuTWUoe2plOnRoaXMuamUsemU6Z3UseHQ6VWErVnQrY2l9KTt9LGhlOnl1LE1lOmZ1bmN0aW9uKHQpe3lbSnQrR3IrWF0odCx5W0VpXVtSb10pO319KTtHYz17X2k6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5RaSgpK3RoaXMuSGkoKT5aYy5HKCk7fSxLaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm10LkplO30sSmU6ZnVuY3Rpb24oKXt2YXIgdDt0PVpjLngoYXJndW1lbnRzWzBdKT9hcmd1bWVudHNbMF06YXJndW1lbnRzO3JldHVybiB0aGlzLm5uKHQsUm4sdFtwaV0mJnRbMF09PT15dSk7fSxraTpmdW5jdGlvbih0LGUsaSxuKXt0aGlzLk9pKGksdCxndSl8fG4oZ3UseXUpO30sV2k6ZnVuY3Rpb24odCl7dHJ5e3JldHVybiB0W3F0XSYmMCE9PXRbcXRdfHx0aGlzLmNpLkcrMTUwPlpjLkcoKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LFJpOmZ1bmN0aW9uKCl7dGhpcy5XZT1bXTt9LFlpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQucWU7fSxVaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLldlO30sWmU6bXUsVGk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHx0aGlzLnFpKHQpKXtyZXR1cm4geXU7fWlmKCF0aGlzLm10LnFlW3BpXXx8dFthYStHcitHaV0obG8pPT09ZnUpe3JldHVybiBndTt9Zm9yKDtlPHRoaXMubXQucWVbcGldO2UrKylpZih0PT09dGhpcy5tdC5xZVtlXXx8dHlwZW9mIHRoaXMubXQucWVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5xZVtlXVtYcytHcitwcitHcituY10oKXx8WmMuSSh0LHRoaXMubXQucWVbZV0pKXx8WmMuQih0LHRoaXMubXQucWVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LHdlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueGUuUXQ7fSxMaTpmdW5jdGlvbigpe3ZhciB0LGU7ZT10aGlzO3RoaXMuWmU9WmMueihoYyx7c3R5bGU6b2MrVnQrRnIrSGErR3IrZXIrS2ErVnQrRnIrSGErR3IrZXIrRGErVnQrSXMrZXIrcCtWdCt6bitlcitIaStWdCt6bitlcitzbit3aStMK1Z0K25vK2VyK3h0K1Z0K1hpK2VyK0dyfSxHcik7dD1DbyhmdW5jdGlvbigpe3ZhciBpO2k9cmlbUXJdO2kmJihHcyh0KSxpW0l0K0dyK1dlXShlLlplKSk7fSwxMDApO30saGk6ZnVuY3Rpb24oKXt2YXIgTjksYTksWTksdCxlLGk7Tjk9LTUxNTA4MTc1NzthOT0tMTMwNjg1MTEzNztZOT0yO2Zvcih2YXIgczk9MTt3NS5kMShzOS50b1N0cmluZygpLHM5LnRvU3RyaW5nKCkubGVuZ3RoLDEwMDExKSE9PU45O3M5Kyspe1k5Kz0yO31pZih3NS5MMShZOS50b1N0cmluZygpLFk5LnRvU3RyaW5nKCkubGVuZ3RoLDQ1MzQ0KSE9PWE5KXt9aT10aGlzLlhlLm9pO2Zvcih0PTA7dDx0aGlzLmZpW3BpXSYmKCF0aGlzLnBpKCkmJiF0aGlzLl9pKCkpO3QrKyl7aWYoZT10aGlzLmZpW3RdLHRoaXMuWGUuc2krKyx0aGlzLlhlLm9pPVpjLkcoKSx0aGlzLmxpKGUpPT09eXUpe3JldHVybiB0aGlzLlhlLnNpLS0sdm9pZCh0aGlzLlhlLm9pPWkpO31pPXRoaXMuWGUub2k7ZXUuYShodSx0aGlzLlhlLm9pKTtlLnl0PT09bHUmJmV1LmEodXUsdGhpcy5YZS5zaSk7fX0sT2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBuLHIsbyxzO3c1Lm80KDQpO289dzUuYzQoR3IsVHQsR3IpO3c1Llk0KDIpO3M9dzUuYzQobyx0KTtmb3Iobj0wO248ZVtwaV07bisrKWlmKHI9KEdyK090K0dyK1R0K0dyKVtMK0dyK1dhXShlW25dWzBdKT4tMT9lW25dOm8rZVtuXSxzW2ZzXShzW3BpXS1yW3BpXSk9PT1yfHxpJiZyPT09d3Upe3JldHVybiBndTt9cmV0dXJuIHl1O30sZW46ZnVuY3Rpb24odCxlKXt2YXIgTDAsZDAsTzAsaSxuO0wwPTEyMjU5MjUxNjQ7ZDA9LTc2NDA0NzIyNjtPMD0yO2Zvcih2YXIgQzA9MTt3NS5MMShDMC50b1N0cmluZygpLEMwLnRvU3RyaW5nKCkubGVuZ3RoLDk4MzQ3KSE9PUwwO0MwKyspe08wKz0yO31pZih3NS5MMShPMC50b1N0cmluZygpLE8wLnRvU3RyaW5nKCkubGVuZ3RoLDg1NTk4KSE9PWQwKXt9aT10aGlzO249dGhpcy50bih0LGUpO3RoaXMuV2VbTXJdKG4pO3RoaXMuRGkobik7dGhpcy5pbnx8KEdjLkNpKCksZnVuY3Rpb24oKXt2YXIgdCxlO1hjLmImJigoZT1yaVtVcytHcitDbl0oaGMpKVtSYytHcitpdF0oVmEsZnVuY3Rpb24oKXtDdT1ndTt9KSxDdT1vNSx0PUNvKGZ1bmN0aW9uKCl7aWYoQ3U9eXUsIWkubXQuUmUpe2lmKHR5cGVvZiB5W3dzXSE9PWFyfHx0eXBlb2YgeVt3c11bT29dIT09WnMpe3JldHVybiBDdT1vNSx2b2lkIEdzKHQpO315W3dzXVtPb10oZSk7eVt3c11bTWldKCk7fX0sNTAwKSk7fSgpLHRoaXMuaW49bzUpO30sUGk6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuSmkoKSx0P3RoaXMuZmlbcGldOnRoaXMuZmlbcGldPjA7fSx2aTpmdW5jdGlvbigpe3ZhciB0LGU7dD1aYy5HKCk7ZT1aYy5HKGF1KTt3NS5ZNCgxNik7dGhpcy5YZS5yaT13NS5jNChlLHQsMzE1MzYwMDAwMDApO3RoaXMuWGUucmkmJih0aGlzLmxpPWt1KTt9LEJpOmZ1bmN0aW9uKCl7dmFyIHQ7dD1VYyhldS5jKGh1KSwxMCk7cWModCkmJih0PTApO3RoaXMuWGUub2k9dDt9LENlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMuTih0KTtyZXR1cm4gZSYmIXRoaXMubXQuTmUmJlpjLlModCk/eXU6ZTt9LGp0OmZ1bmN0aW9uKHQpe3ZhciBlLGksbjtlPXR5cGVvZiB0PT09Z2U/Z3U6ISF0O3c1Lm80KDIpO2k9dzUuYzQocnUsSSk7bj1yaVthYStHcitDbitHcitpaStHcit0bl0oaSk7ZT9ufHwobj1aYy56KERvLHtjb250ZW50OkljK3dpK2lhLG5hbWU6aWEsaWQ6aX0pLHJpW2FhK0dyK1JlK0dyK2lpK0dyK1JpK0dyK21jXShvKVswXVtJdCtHcitXZV0obikpOm4mJlpjLlAobik7fSxHaTpmdW5jdGlvbigpe3RoaXMuWGUuaWk9Z3U7dGhpcy5oaT1rdTt9LEp0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQuRGU7fSx5aTpmdW5jdGlvbih0LGUsaSxuLHIpe2Zvcih2YXIgbyxzPTA7czxlJiYobz10W3NdLCEoMT09PW4mJihyKGlbcytlXSx0W3NdKmlbc10rcysoaVtzXT4+cyszKSl8fHIoaVtzKzIqZV0sdFtzXSoodFswXSt0WzFdK3RbMl0pKyhpW3NdPDxzKSl8fHIoaVtzKzMqZV0sZHJbQWNdKHRbMF0qdFsxXSp0WzJdL28pK28rKGlbc10+PnMpKSl8fG48MSYmKHIoaVtzK2VdLHRbc10qaVtzXStzKXx8cihpW3MrMiplXSx0W3NdKih0WzBdK3RbMV0rdFsyXSkpfHxyKGlbcyszKmVdLGRyW0FjXSh0WzBdKnRbMV0qdFsyXS9vKStvKSkpKTtzKyspO30scWk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHwhdGhpcy5tdC5KZVtwaV0pe3JldHVybiB5dTt9Zm9yKDtlPHRoaXMubXQuSmVbcGldO2UrKylpZih0PT09dGhpcy5tdC5KZVtlXXx8dHlwZW9mIHRoaXMubXQuSmVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5KZVtlXXx8WmMuSSh0LHRoaXMubXQuSmVbZV0pKXx8WmMuQih0LHRoaXMubXQuSmVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LGNpOnt1aTp7fSxHOjB9LEhpOmZ1bmN0aW9uKCl7cmV0dXJuIFhjLm90P2RyW0JvXSh0aGlzLm10LlZlLDFlMyk6WGMuYnx8WGMuZ3x8WGMuY3R8fFhjLnV0JiYhWGMuZXQ/ZHJbQm9dKHRoaXMubXQuVmUsMjAwKTp0aGlzLm10LlZlO30sRWU6ZnVuY3Rpb24odCl7dmFyIGUsWjcsdDcsVTc7Wjc9LTEyNTc1NDEyNDI7dDc9MTMwMDY1ODcyMDtVNz0yO2Zvcih2YXIgejc9MTt3NS5MMSh6Ny50b1N0cmluZygpLHo3LnRvU3RyaW5nKCkubGVuZ3RoLDgzNTc3KSE9PVo3O3o3Kyspe2U9dHx8dGhpcy5jaS51aTtVNys9Mjt9aWYodzUuZDEoVTcudG9TdHJpbmcoKSxVNy50b1N0cmluZygpLmxlbmd0aCwzMDU1KSE9PXQ3KXtlPXQmJnRoaXMuY2kudWk7fXRyeXtlW01vK0dyK25pXSYmZVtNbytHcituaV0oKTtlW3FlK0dyK19zXSYmZVtxZStHcitfc10oKTt3NS5vNCg0KTtlW3c1LmM0KE5yLEdyLGNvKV09eXU7dzUubzQoNCk7ZVt3NS51NChtcyxHcixIcildPWd1O31jYXRjaCh0KXt9fSxpOmZ1bmN0aW9uKCl7dmFyIE8xLEcxLEMxO08xPS0xMzAyMzI0NTE3O0cxPTg4ODY0MDYzMDtDMT0yO2Zvcih2YXIgbjE9MTt3NS5kMShuMS50b1N0cmluZygpLG4xLnRvU3RyaW5nKCkubGVuZ3RoLDU5MTU1KSE9PU8xO24xKyspe3JldHVybiB0aGlzLm10LlVlfHx0aGlzLm10LkRlO0MxKz0yO31pZih3NS5MMShDMS50b1N0cmluZygpLEMxLnRvU3RyaW5nKCkubGVuZ3RoLDIzODAyKSE9PUcxKXtyZXR1cm4gdGhpcy5tdC5VZSYmdGhpcy5tdC5EZTt9fSxwaTpmdW5jdGlvbigpe3ZhciBoNyxpNyxMNztoNz0tMTUxMTEyMzE1NDtpNz0tMTY3MjAwNTI5NjtMNz0yO2Zvcih2YXIgTzc9MTt3NS5kMShPNy50b1N0cmluZygpLE83LnRvU3RyaW5nKCkubGVuZ3RoLDMyNTMzKSE9PWg3O083Kyspe3JldHVybiB0aGlzLiRpKCk8dGhpcy5tdC5IZTtMNys9Mjt9aWYodzUuTDEoTDcudG9TdHJpbmcoKSxMNy50b1N0cmluZygpLmxlbmd0aCwxOTk5KSE9PWk3KXtyZXR1cm4gdGhpcy4kaSgpPj10aGlzLm10LkhlO319LGdpOmZ1bmN0aW9uKHQsZSxpLG4scil7Zm9yKHZhciBvLHM9MDtzPGUmJihvPXRbc10sISgxPT09biYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzErKGlbc108PGlbc10lMTApLGlbZStzXSl8fHIob1trZStHcitucytHcitCaV0ob1twaV0tMSkqaVtzXSoyK3MrKGlbc10+PnMpLGlbMiplK3NdKXx8cihvW3BpXSppW3NdKjMrKGlbc108PHMpLGlbMyplK3NdKSl8fG48MSYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzEsaVtlK3NdKXx8cihvW2tlK0dyK25zK0dyK0JpXShvW3BpXS0xKSppW3NdKjIrcyxpWzIqZStzXSl8fHIob1twaV0qaVtzXSozLGlbMyplK3NdKSkpKTtzKyspO30sV2U6W10sdG46ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IFljKHRoaXMuV2VbcGldLHQsZSk7fSxBaTpmdW5jdGlvbih0KXt0aGlzLmNpLnVpPXQ7dGhpcy5jaS5HPVpjLkcoKTt9LGFpOltdLE1pOmZ1bmN0aW9uKHQpe3JldHVybiBudS5YdCh0KSx0aGlzO30sWmk6ZnVuY3Rpb24oKXtyZXR1cm4gWmMucChbW1RyLHRoaXMubXQuRGVdLFtvaSx0aGlzLm10LlVlXSxbd3QsdGhpcy5tdC5SZV0sW0xyK0dyK3plLHRoaXMubXQuT2VdLFtSbitHcitFbix0aGlzLm10Lk5lXSxbRHQsdGhpcy5tdC5IZV0sW2xjK0dyK2JhLHRoaXMubXQucWVdLFtSbitHcitiYSx0aGlzLm10LkplXSxbUW4sdGhpcy5tdC5WZV0sW3crR3IrVix0aGlzLm10LiRlXSxbdytHcitEbix0aGlzLm10LlFlXSxbcG4rR3IrdHIrR3IrTG4sdGhpcy5tdC5HZV0sW0JzK0dyK2wrR3IrU3MsdGhpcy5tdC4kdF0sW05zK0dyKyRyLHRoaXMubXQuWWVdLFtJYytHcitwYytHcitfaSx0aGlzLm10LmJlXSxbTHMrR3IrYnQsdGhpcy5tdC5LZV0sW0IrR3IrdmUrR3IrX28rR3IreW4rR3IrTG4sdGhpcy5tdC5QZV1dKTt9LFRlOmZ1bmN0aW9uKHQpe3ZhciBlLGk7aT1aYy5PKGd1KTtyZXR1cm4gZT1pW3RvK0dyK3lhXVttcl1bVXMrR3IrQ25dKGRlKSwwPT09eVtFaV1bdW5dW0wrR3IrV2FdKGorVnQrR3IpP2VbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPUdyKyhXcitZZStHcit3bitHcikrKGYrVHQrUytUdCthYStHcitaZStHcitRaStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKTplW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoV3IrWWUrR3Ird24rR3IpKyhZcitUdCtjYStHcitfZStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSxpW3RvK0dyK3lhXVttcl1bUXJdW0l0K0dyK1dlXShlKSx0eXBlb2YgdCE9PVd0JiZ0eXBlb2YgdCE9PWdlfHxpbyhmdW5jdGlvbigpe1pjLlAoaSk7fSx0fHw1MDApLGk7fSxOaTpmdW5jdGlvbigpe3ZhciBvMSx3MSxwMTtvMT0tMjExMjgyOTI0MDt3MT00MjIxODMwODI7cDE9Mjtmb3IodmFyIHEwPTE7dzUuZDEocTAudG9TdHJpbmcoKSxxMC50b1N0cmluZygpLmxlbmd0aCwzNTgxNCkhPT1vMTtxMCsrKXtmb3IodmFyIHQsZT02O2U8PXRoaXMuV2VbcGldO2UtLSl7dD10aGlzLldlW2VdO3R1LnUodC5tdC5idCk7fXRoaXMuWGUub2k9dGhpcy5YZS5zaT00O2V1LnUodXUpO2V1LnUoY3UpO2V1LnUoaHUpO3AxKz0yO31pZih3NS5MMShwMS50b1N0cmluZygpLHAxLnRvU3RyaW5nKCkubGVuZ3RoLDUxMjkxKSE9PXcxKXtmb3IodmFyIHQsZT0yO2U8dGhpcy5XZVtwaV07ZSsrKXt0PXRoaXMuV2VbZV07dHUudSh0Lm10LmJ0KTt9dGhpcy5YZS5vaT10aGlzLlhlLnNpPTM7ZXUudSh1dSk7ZXUudShjdSk7ZXUudShodSk7fWZvcih2YXIgdCxlPTA7ZTx0aGlzLldlW3BpXTtlKyspe3Q9dGhpcy5XZVtlXTt0dS51KHQubXQuYnQpO310aGlzLlhlLm9pPXRoaXMuWGUuc2k9MDtldS51KHV1KTtldS51KGN1KTtldS51KGh1KTt9LHppOmZ1bmN0aW9uKCl7dmFyIHQ7dD0wO3JldHVybiBldS5zKCk/KHQ9ZXUuYyh1dSksZXUudSh1dSkpOnR1LmModXUpJiYocmlbaWFdPT09UnRbdW5dfHx+UnRbdW5dW0wrR3IrV2FdKEdyK3NlK0dyK3R1LmMoY3UpKSkmJih0PXR1LmModXUpLGlvKGZ1bmN0aW9uKCl7dHUudSh1dSk7dHUudShjdSk7fSwzMDApKSx0PVVjKHQsMTApLHQ9cWModCk/MDp0LHRoaXMuWGUuc2k9dDt9LG10OntOZTpndSxLZTp5dSxKZTpbXSxWZTowLCR0OmJ1LCRlOltdLERlOnl1LE9lOkZ1LEhlOjk5OTksUmU6eXUscWU6W10sWWU6MTAsVWU6eXUsUWU6Z3UsUGU6eXUsYmU6eXUsR2U6Z3V9LCRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuWGUuc2k7fSxRaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLlhlLm9pO30sYmk6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhLGMsdSxuOSxGOSxnOTtzPXRoaXM7YT0wO2M9dGhpcy5YZTt1PWZ1bmN0aW9uKHQsZSl7dmFyIFA5LEo5LFg5O1A5PTMyNTI1NjI2O0o5PS05NTA1MjQwNDM7WDk9Mjtmb3IodmFyIFM5PTE7dzUuTDEoUzkudG9TdHJpbmcoKSxTOS50b1N0cmluZygpLmxlbmd0aCw0ODQ5MykhPT1QOTtTOSsrKXtyZXR1cm4gdD09PWV8fChjLm5pPWd1LHMubGk9a3UpLHQhPWU7WDkrPTI7fWlmKHc1LkwxKFg5LnRvU3RyaW5nKCksWDkudG9TdHJpbmcoKS5sZW5ndGgsNTM4MDApIT09Sjkpe3JldHVybiB0IT09ZSYmKGMubmk9Z3Uscy5saT1rdSksdCE9PWU7fX07aWYodHlwZW9mIHlbcnVdW2FyXSE9PWdlKXtjLm5pPW11O3Q9eVtydV1bYXJdW1huXSgpO2U9eVtydV1bYXJdW1huXSgpO2k9eVtydV1bYXJdW1huXSgpO249eVtydV1bYXJdW1huXSgpO3I9WmMuRigoeVtydV1bYXJdW1huXSgpfHx7c3JjOm51bGx9KVtYcl0pO289WmMuRih4dVtYcl0pO3RyeXtuOT0xNDUwNjEyMjI1O0Y5PS01NjY0Nzc2Nzc7Zzk9Mjtmb3IodmFyIFI5PTE7dzUuZDEoUjkudG9TdHJpbmcoKSxSOS50b1N0cmluZygpLmxlbmd0aCwyODY5NSkhPT1uOTtSOSsrKXthPXlbcnVdW2FyXVtYbl0oKSYmNztnOSs9Mjt9aWYodzUuZDEoZzkudG9TdHJpbmcoKSxnOS50b1N0cmluZygpLmxlbmd0aCwzODQzOCkhPT1GOSl7YT15W3J1XVthcl1bWG5dKCkmJjc7fWE9eVtydV1bYXJdW1huXSgpfHwwO31jYXRjaCh0KXt9YT1kcltCb10oMCxkcltrYV0oMSxhKSk7dGhpcy5taSh0LG8scix1KTt0aGlzLmdpKHQsdFtwaV0sZSxhLHUpO3RoaXMueWkoaSxpW3BpXSxuLGEsdSk7dGhpcy5raSh0LHRbcGldLFpjLkYoKSx1LHUpO3RoaXMud2koaSxaYy5HKCkpO2Mubmk9PT1tdSYmKGMubmk9eXUpO31jLnhpPWF8fDA7fSxFaTpmdW5jdGlvbih0LGUpe3ZhciBkOSxPOSxHOTtkOT04MzA2MTMyMTE7Tzk9MTQwNDM5MjY4MztHOT0yO2Zvcih2YXIgazk9MTt3NS5kMShrOS50b1N0cmluZygpLGs5LnRvU3RyaW5nKCkubGVuZ3RoLDE2MDEwKSE9PWQ5O2s5Kyspe3RoaXMueGUuUXQ9dDt0aGlzLnhlLlM9ZTtHOSs9Mjt9aWYodzUuZDEoRzkudG9TdHJpbmcoKSxHOS50b1N0cmluZygpLmxlbmd0aCw3Njg2OSkhPT1POSl7dGhpcy54ZS5RdD10O3RoaXMueGUuUz1lO319LFhpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbix1OSx5OSxIOTtuPXR8fHt9O2ZvcihlIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixlKSlzd2l0Y2godGhpcy5tdFtlXT1pPW5bZV0sZSl7Y2FzZSBUcjp0aGlzLm10LkRlPWk7YnJlYWs7Y2FzZSBvaTp0aGlzLm10LlVlPWk7YnJlYWs7Y2FzZSB3dDp0aGlzLm10LlJlPWk7YnJlYWs7Y2FzZSBMcitHcit6ZTp0aGlzLm10Lk9lPWk7YnJlYWs7Y2FzZSBSbitHcitFbjp0aGlzLm10Lk5lPWk7YnJlYWs7Y2FzZSBEdDp0aGlzLm10LkhlPWk7YnJlYWs7Y2FzZSBsYytHcitiYTp0aGlzLnFlW29hXSh0aGlzLGkpO2JyZWFrO2Nhc2UgUm4rR3IrYmE6dGhpcy5KZVtvYV0odGhpcyxpKTticmVhaztjYXNlIFFuOnRoaXMubXQuVmU9aTticmVhaztjYXNlIHcrR3IrVjp0aGlzLm10LiRlPWk7YnJlYWs7Y2FzZSB3K0dyK0RuOnRoaXMubXQuUWU9aTticmVhaztjYXNlIHBuK0dyK3RyK0dyK0xuOnRoaXMubXQuR2U9aTticmVhaztjYXNlIEJzK0dyK2wrR3IrU3M6dGhpcy5tdC4kdD1pO2JyZWFrO2Nhc2UgTnMrR3IrJHI6dGhpcy5tdC5ZZT1pO2JyZWFrO2Nhc2UgSWMrR3IrcGMrR3IrX2k6dGhpcy5tdC5iZT1pO2JyZWFrO2Nhc2UgTHMrR3IrYnQ6dGhpcy5tdC5LZT1pO2JyZWFrO2Nhc2UgQitHcit2ZStHcitfbytHcit5bitHcitMbjp0aGlzLm10LlBlPWk7fXU5PTE1MDY0OTg2ODA7eTk9NjExNzc3ODY1O0g5PTI7Zm9yKHZhciBUOT0xO3c1LkwxKFQ5LnRvU3RyaW5nKCksVDkudG9TdHJpbmcoKS5sZW5ndGgsNjMyMykhPT11OTtUOSsrKXtyZXR1cm4gdGhpcztIOSs9Mjt9aWYodzUuZDEoSDkudG9TdHJpbmcoKSxIOS50b1N0cmluZygpLmxlbmd0aCw2MzczOSkhPT15OSl7cmV0dXJuIHRoaXM7fX0saGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksZzcsTTcsUjc7Zzc9LTM5MDQ0MjA2O003PS0xNjI0Njc4MzI1O1I3PTI7Zm9yKHZhciBKNz0xO3c1LkwxKEo3LnRvU3RyaW5nKCksSjcudG9TdHJpbmcoKS5sZW5ndGgsNTI1MzkpIT09Zzc7SjcrKyl7ZT10aGlzLndlKCk7aT10aGlzLmNpLnVpO1I3Kz0yO31pZih3NS5MMShSNy50b1N0cmluZygpLFI3LnRvU3RyaW5nKCkubGVuZ3RoLDg0NzUzKSE9PU03KXtlPXRoaXMud2UoKTtpPXRoaXMuY2kudWk7fXRyeXsodD1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0oZ3MsZ3UsZ3UseSwxLGlbT2krR3IrVWVdLGlbT2krR3IreG9dLGlbSGMrR3IrVWVdLGlbSGMrR3IreG9dLHl1LHl1LHl1LHl1LDAsbXUpO3RbVW9dPWd1O2VbZ24rR3IrQ2FdKHQpO31jYXRjaCh0KXtLYy5lKHQpO319LFZpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuUGkobzUpO30sU2k6ZnVuY3Rpb24oKXt2YXIgdCxpLG4scixvLHM7cj10aGlzO289NTAwO3M9ZnVuY3Rpb24odCxlKXt2YXIgaSxuO249WGMuYj9lYzpnczsoaT1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0obixndSxndSx5LDEsZVtPaStHcitVZV0sZVtPaStHcit4b10sZVtIYytHcitVZV0sZVtIYytHcit4b10seXUseXUseXUseXUsMCxtdSk7aS5mYz1ndTt0W2duK0dyK0NhXShpKTt9O2l1LlgocmksJHQsZnVuY3Rpb24ocil7dmFyIG8sRjEsZzEsTTE7dzUubzQoNCk7bz1yW3c1LnU0KHNyLEdyLGUpXVswXTtGMT05NTkwNTM3NzY7ZzE9LTE3NzY2NDMwNTc7TTE9Mjtmb3IodmFyIFAxPTE7dzUuZDEoUDEudG9TdHJpbmcoKSxQMS50b1N0cmluZygpLmxlbmd0aCw4NTkzNCkhPT1GMTtQMSsrKXt3NS5vNCgxOCk7dD1yW3c1LnU0KG9zLEpzLEdyKV07dzUuWTQoMTkpO2k9b1t3NS51NChHcixmbyxVZSldO3c1Lm80KDIwKTtuPW9bdzUuYzQoeG8sZm8sR3IpXTtNMSs9Mjt9aWYodzUuTDEoTTEudG9TdHJpbmcoKSxNMS50b1N0cmluZygpLmxlbmd0aCwxMTM5OCkhPT1nMSl7dzUubzQoMjEpO3Q9clt3NS5jNChvcyxKcyxHcildO3c1Llk0KDIyKTtpPW9bdzUuYzQoR3IsVWUsZm8pXTt3NS5vNCg2KTtuPW9bdzUuYzQoR3IseG8sZm8pXTt9dzUubzQoNCk7dD1yW3c1LnU0KG9zLEdyLEpzKV07dzUuWTQoNCk7aT1vW3c1LmM0KGZvLEdyLFVlKV07dzUubzQoNCk7bj1vW3c1LnU0KGZvLEdyLHhvKV07fSxndSk7aXUuWChyaSx2LGZ1bmN0aW9uKGEpe3ZhciBjLHUsaCxTMCxOMCxhMDtTMD0xMTI5ODE1NDEyO04wPS00NTk2NDE3MTE7YTA9Mjtmb3IodmFyIGYwPTE7dzUuZDEoZjAudG9TdHJpbmcoKSxmMC50b1N0cmluZygpLmxlbmd0aCw5MDQxMCkhPT1TMDtmMCsrKXt3NS5vNCg0KTtjPWFbdzUuYzQoc3IsR3IsZSldWzBdO3U9aXUudHQoYSk7aD1yLm10LlllO2EwKz0yO31pZih3NS5MMShhMC50b1N0cmluZygpLGEwLnRvU3RyaW5nKCkubGVuZ3RoLDUxODk1KSE9PU4wKXt3NS5ZNCg2KTtjPWFbdzUudTQoR3IsZSxzcildWzRdO3U9aXUudHQoYSk7aD1yLm10LlllO31kcltGc10oY1tmbytHcitVZV0taSk+PWh8fGRyW0ZzXShjW2ZvK0dyK3hvXS1uKT49aHx8YVtvcytHcitKc10tdD5vfHxyLm10LlllPD0wfHxYYy5odCYmRGlbaXJdKHVbU2MrR3IrbWNdKXx8ci5YZS5paXx8ci5YZS5uaXx8ci5YZS5yaXx8ci5waSgpfHxyLl9pKCl8fCFyLlBpKCl8fCFyLlRpKHUpfHwhci5tdC5OZSYmWmMuUyh1KXx8KHVbU2MrR3IrbWNdPT09T24mJnIuRWUoYSkscyh1LGMpKTt9LGd1KTt9LG1pOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByLG87bz15dTtmb3Iocj0wO3I8dFtwaV07cisrKWlmKHRbcl09PT13dSl7bz1ndTticmVhazt9byYmKGV8fGkpJiYoIXRoaXMuT2koZSx0KXx8IXRoaXMuT2koaSx0KXx8eVtydV1bdW5dJiZ5W3J1XVt1bl1bcGldJiYhdGhpcy5PaShaYy5GKCkseVtydV1bdW5dKSkmJm4oZ3UseXUpO30seGU6e1F0Om11LFM6eXV9LHFlOmZ1bmN0aW9uKCl7dmFyIHQ7dD1aYy54KGFyZ3VtZW50c1swXSk/YXJndW1lbnRzWzBdOmFyZ3VtZW50cztyZXR1cm4gdGhpcy5ubih0LGxjLHRbcGldJiZ0WzBdPT09eXUpO30sd2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBXMSxsMSxjMTtXMT0xMTQ2NjMzOTY5O2wxPTU4MTgzMzU3NjtjMT0yO2Zvcih2YXIgdTE9MTt3NS5kMSh1MS50b1N0cmluZygpLHUxLnRvU3RyaW5nKCkubGVuZ3RoLDY5ODkxKSE9PVcxO3UxKyspe1pjLkcodFtOaV0oR3IrUGUrR3IpKTxlJiZpKGd1LHl1KTtjMSs9Mjt9aWYodzUuZDEoYzEudG9TdHJpbmcoKSxjMS50b1N0cmluZygpLmxlbmd0aCw0ODMyNikhPT1sMSl7WmMuRyh0W05pXShHciVQZSVHcikpPj1lfHxpKGd1LHl1KTt9fSxDaTpmdW5jdGlvbigpe3ZhciByLG8scyxhLGMsdSxoLGYscCxfO2Z1bmN0aW9uIHQoKXt2YXIgdCxlO3c1Lm80KDE3KTtlPVt3NS51NChIbixUdCxHcixFbixHcixDYSxKYSksdzUuYzQoeG4sVHQsR3IsRW4sR3IsQ2EsSmEsdzUubzQoMTcpKSx3NS5jNChKYSxUdCxRYSx3NS5ZNCg0KSksdzUuYzQoQ24sR3IsVXMsbXIsVHQsdzUubzQoMSkpLHc1LnU0KFdlLEdyLHhuLG1yLFR0LHc1Llk0KDEpKV07Zm9yKHQ9MDt0PGVbcGldO3QrKylpZihaYy5sKGVbdF0pKXtyZXR1cm4gS2MuZSh0LFpjLmwoZVt0XSkpLGd1O31yZXR1cm4geXU7fWZ1bmN0aW9uIGkoaSl7dT0yO198fChfPWd1LGlvKGZ1bmN0aW9uKCl7Xz15dTt9LFhjLm90PzUwMDoxNTApLEN1JiYhcC5VZXx8KHI9aXUudHQoaSksbz1aYy5CKHIsT24pLGM9WmMuUyhyKSxyW2FhK0dyK0dpXShsbyk9PT1mdT8oclt4ZV1beHRdPVhpLFpjLlAocikscj1pdS50dChpLGd1KSk6byYmKHM9KHI9bylbYWErR3IrR2ldKFRpKSxhPVpjLk4ociksYz1aYy5TKHIpKSxmLkVpKHIsYyksZi5YZS5paXx8Zi5YZS5uaXx8Zi5YZS5yaXx8aVtVb118fGUoZi5jaS51aVtPXSYmZi5jaS51aVtPXSE9PWlbT10pfHxlKHAuS2UmJiFFdSl8fGUoIWlbSGMrR3IrVWVdJiYhaVtIYytHcit4b10pfHxlKCFYYy5vdCYmIVhjLmcmJnR5cGVvZiBpW3F0XSE9PWdlJiYwIT09aVtxdF0pfHxlKCFYYy5vdCYmIWYuWmUmJihYYy5jdHx8WGMuYnx8WGMudXQpKXx8ZSghWGMub3QmJiFwLkdlJiYoWGMuYnx8WGMudXQpJiZzPT09RmkpfHxlKGYucGkoKSl8fGUoZi5faSgpKXx8ZSghZi5QaSgpKXx8ZSghZi5UaShyKSl8fGUoYyYmIXAuTmUpfHxlKCFwLlJlJiZ0KCkpfHwoZi5BaShpKSxYYy5ldCYmbyYmYSYmZi5FZShpKSxYYy5vdHx8IW98fGN8fChYYy5iJiZzIT09RmkmJlpjLlkoKXx8cC5HZSYmcz09PUZpJiYoWGMuYnx8WGMudXQpKSYmZi5FZShpKSxmLkZpPW11LGYuaGkoKSkpKTt9Zj10aGlzO3A9Zi5tdDtfPXl1O2Z1bmN0aW9uIGUodCl7cmV0dXJuKyt1LHQmJktjLmUodSksdDt9cC5SZXx8IXQoKT8oaD1YYy5kfHxYYy5nP3FhOmVjLGZ1bmN0aW9uKCl7aXUuWChyaSxncyxpLGd1KTtYYy5vdD8oaXUuWChyaSxlYyxuLGd1KSxpdS5YKHJpLHFhLG4sZ3UpKTppdS5YKHJpLGgsbixndSk7fSgpLHRoaXMuU2koKSx0aGlzLmppKCksdGhpcy5MaSgpLHRoaXMuemkoKSx0aGlzLkJpKCkpOktjLmUoeXUpO2Z1bmN0aW9uIG4odCl7cj1vPWM9cz1hPW11OyFYYy5vdCYmdFtIYytHcitVZV0rKFhjLm50PzE3OjE1KT55W1BhK0dyK2ddP3AuUWUmJigocj17fSkuc2Nyb2xsYmFyPWd1LGYuRWkocix5dSksZi5waSgpfHxmLl9pKCl8fCFmLlBpKCl8fGYuaGkoKSk6aSh0KTt9fSxsaTpmdW5jdGlvbih0KXtpZih0aGlzLlhlLmlpfHx0aGlzLlhlLm5pfHx0aGlzLlhlLnJpKXtyZXR1cm4geXU7fXN3aXRjaCh0Lnl0KXtjYXNlIF91Om5ldyBRYy5tZSh0KS5wZSgpO2JyZWFrO2Nhc2UgZHU6bmV3IFFjLmdlKHQpLnBlKCk7YnJlYWs7Y2FzZSBsdTpuZXcgUWMueWUodCkucGUoKTticmVhaztjYXNlIHB1OnRyeXtuZXcoUWMuZHQoKSkodCkucGUoKTt9Y2F0Y2godCl7S2MuZSh0KTt9fXJldHVybiB0LnF0KCksZ3U7fSxqaTpmdW5jdGlvbigpe3ZhciB0LGUsaSxuLHIsbztuPXRoaXM7cj17fTtvPWZ1bmN0aW9uKHQpe2ZvcihlPTA7ZTx0W3BpXTtlKyspe24uTWkodFtlXSk7fX07Q28oZnVuY3Rpb24oKXt2YXIgZTtmb3IodD0wO3Q8bi5tdC4kZVtwaV07dCsrKXtpZihlPW4ubXQuJGVbdF0sKGk9cmlbYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGUpKVtwaV0mJm4ucGkoKXx8IW4uUGkoKSl7cmV0dXJuO310eXBlb2YgcltlXSE9PWdlJiZyW2VdPT09aVtwaV18fG8oaSk7fX0sMWUzKTt9LElpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbixyLG8scyxlOSxqOSxaOTtvPTI7cz15dTtmb3IoZT0wO2U8PW87ZSsrKXtpZigobj1yaVt3citHcitqbitHcitMY10odFtIYytHcitVZV0rZSx0W0hjK0dyK3hvXSkpJiZuW1NjK0dyK21jXT09PXBhK0dyK09uK0dyK0ZjK0dyK1BzK0dyK3BhKXtzPWd1O2JyZWFrO31mb3IoaT0wO2k8PW87aSsrKWlmKChuPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXStlLHRbSGMrR3IreG9dK2kpKSYmbltTYytHcittY109PT1wYStHcitPbitHcitGYytHcitQcytHcitwYSl7cz1ndTticmVhazt9aWYocylicmVhazt9aWYocylmb3Iocz15dSxyPW5bYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGVpKSxlPTA7ZTxyW3BpXTtlKyspaWYoWmMuVShyW2VdKSl7cz1ndTticmVhazt9ZTk9MTI0NjQ2Mzc5O2o5PTE4ODY4MTA5NztaOT0yO2Zvcih2YXIgVTk9MTt3NS5MMShVOS50b1N0cmluZygpLFU5LnRvU3RyaW5nKCkubGVuZ3RoLDU5MDM1KSE9PWU5O1U5Kyspe3JldHVybiBzP246eXU7WjkrPTI7fWlmKHc1LmQxKFo5LnRvU3RyaW5nKCksWjkudG9TdHJpbmcoKS5sZW5ndGgsNDQ5MzkpIT09ajkpe3JldHVybiBzP246eXU7fX0sRGk6ZnVuY3Rpb24oKXtpZighdGhpcy5YZS5laSl7dGhpcy5YZS5laT1ndTt0cnl7dGhpcy52aSgpO3RoaXMuYmkoKTt9Y2F0Y2godCl7fUtjLmUoW3RoaXMuWGUubmk/MDoxLHRoaXMuWGUucmk/MDoxLHRoaXMuWGUueGldW05pXShHcikpO319LFhlOnt0aTp5dSxuaTpndSxlaTp5dSxvaTowLHJpOmd1LHNpOjAsaWk6eXV9LG5uOmZ1bmN0aW9uKHQsZSxpKXtmb3IodmFyIG4scj0wLG89ZT09PVJuP3RoaXMubXQuSmU6dGhpcy5tdC5xZTtpJiZvW3BpXTspe29bQnNdKCk7fWZvcig7cjx0W3BpXTtyKyspe3R5cGVvZihuPXRbcl0pPT09VGM/b1tNcl0obik6dHlwZW9mIG49PT1hciYmdHlwZW9mIG5bd2ErR3IrbWNdPT09VGMmJm9bTXJdKG4pO31yZXR1cm4gdGhpczt9LEppOmZ1bmN0aW9uKCl7dmFyIHkxLEgxLHYxLHQsZTt5MT0xNzAzNzYyNDUyO0gxPTEyMTk1OTkwMzk7djE9Mjtmb3IodmFyIEUxPTE7dzUuZDEoRTEudG9TdHJpbmcoKSxFMS50b1N0cmluZygpLmxlbmd0aCwzODk3NykhPT15MTtFMSsrKXtlPTY7Zm9yKHRoaXMuZmk9W107ZT49dGhpcy5XZVtwaV07ZS0tKXsodD10aGlzLldlW2VdKS5MdCgpfHx0aGlzLmZpW01yXSh0KTt9djErPTI7fWlmKHc1LmQxKHYxLnRvU3RyaW5nKCksdjEudG9TdHJpbmcoKS5sZW5ndGgsMjE2MzkpIT09SDEpe2U9MTtmb3IodGhpcy5maT1bXTtlPnRoaXMuV2VbcGldO2UrKyl7KHQ9dGhpcy5XZVtlXSkuTHQoKSYmdGhpcy5maVtNcl0odCk7fX1lPTA7Zm9yKHRoaXMuZmk9W107ZTx0aGlzLldlW3BpXTtlKyspeyh0PXRoaXMuV2VbZV0pLkx0KCkmJnRoaXMuZmlbTXJdKHQpO31yZXR1cm4gdGhpcy5maTt9LGRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2kudWk7fX07aXUuWCh5LFN0LGZ1bmN0aW9uKCl7dmFyIFg3LEI3LFM3O1g3PTIwMTA5MDA5MDY7Qjc9LTE2OTQwNjQ1NTI7Uzc9Mjtmb3IodmFyIGE3PTE7dzUuTDEoYTcudG9TdHJpbmcoKSxhNy50b1N0cmluZygpLmxlbmd0aCwxNDk3OSkhPT1YNzthNysrKXtFdT0hMTtTNys9Mjt9aWYodzUuZDEoUzcudG9TdHJpbmcoKSxTNy50b1N0cmluZygpLmxlbmd0aCw2MjI0OCkhPT1CNyl7RXU9IXt9O31FdT1vNTt9KTtpbyhmdW5jdGlvbigpe3c1Lm80KDE1KTtLYy5lKHc1LnU0KFNpLFllLEdyLFR0LFllLE0sR3IsWWUsUWUsT3QsQW8pKTt3NS5vNCg0KTtLYy5lKHc1LmM0KHhhLFZ0LEdyKSxvdSk7dzUuWTQoNCk7S2MuZSh3NS5jNChxaSxWdCxHciksc3UpO3c1Lm80KDQpO0tjLmUodzUudTQoRXMsVnQsR3IpLGF1KTt9LDEwKTt5W3J1XT15W3J1XXx8ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG87cj17fTtvPVpjLnAoW1trbytHcitSYStHcitudCxbR2MsR2MuaV1dLFtKbixzdV0sW0d0LG91XSxbWW8rR3IraXMsYXVdLFt6YSxbR2MsR2MuWGkscl1dLFthYStHcitJaSxbR2MsR2MuWmldXSxbYWErR3IrUStHcitiYSxbR2MsR2MuWWldXSxbYWErR3IrX28rR3IrYmEsW0djLEdjLktpXV0sW3crR3IrQ24sW0djLEdjLk1pXV0sW0huLFtHYyxHYy5lbixyXV0sW0duLFtHYyxHYy5oaSxyXV0sW2VzLFtHYyxHYy5HaSxyXV0sW2xjK0dyK2JhLFtHYyxHYy5xZSxyXV0sW1JuK0dyK2JhLFtHYyxHYy5KZSxyXV0sW2FhK0dyK2h0K0dyK0NuLFtHYyxHYy53ZV1dLFthYStHcitubitHcitabyxbR2MsR2MuJGldXSxbYWErR3IreWUrR3IrWm8sW0djLEdjLlZpXV0sW0JhK0dyK3llLFtHYyxHYy5QaV1dLFtrbytHcitkdCtHcitKZSxbR2MsR2MucGldXSxbYWErR3IrVXQrR3IramUrR3IrQmksW0djLEdjLlFpXV0sW2FhK0dyK1V0K0dyK0NhLFtHYyxHYy5kaV1dLFt6aSxbR2MsR2MuTmldXSxbYWErR3IrXyxbR2MsR2MuVWldXSxbRm8rR3IrXyxbR2MsR2MuUmldXSxbaGErVHQrT28sW0tjLEtjLmVdXSxbaGErVHQrRyxbS2MsS2Mucl1dLFtPYStUdCtsaSxbdHUsdHUuYV1dLFtPYStUdCthYSxbdHUsdHUuY11dLFtPYStUdCt4bixbdHUsdHUudV1dLFt0aStUdCtrbytHcitkaSxbZXUsZXUuc11dLFt0aStUdCtsaSxbZXUsZXUuYV1dLFt0aStUdCthYSxbZXUsZXUuY11dLFt0aStUdCt4bixbZXUsZXUudV1dLFtjZStUdCtKbixYYy5wdF0sW2NlK1R0K0lyK0dyK3FpLFhjLmZ0XSxbY2UrVHQra28rR3IrQ3MsWGMuaXRdLFtjZStUdCtrbytHcitYbyxYYy5udF0sW2NlK1R0K2tvK0dyK01hLFhjLm1dLFtjZStUdCtrbytHcit2YStHcitmYytHcit0YyxYYy5ldF0sW2NlK1R0K2tvK0dyK0JuLFhjLnJ0XSxbY2UrVHQra28rR3Irdm4sWGMub3RdLFtjZStUdCtrbytHcitoZSxYYy5zdF0sW2NlK1R0K2tvK0dyK3l0LFhjLmF0XSxbY2UrVHQra28rR3IrZ2MsWGMuYl0sW2NlK1R0K2tvK0dyK0luLFhjLmRdLFtjZStUdCtrbytHcitGYSxYYy5odF0sW2NlK1R0K2tvK0dyK3ZhK0dyK1BzLFhjLmddLFtjZStUdCtrbytHcitjcyxYYy5jdF0sW2NlK1R0K2tvK0dyK0VvLFhjLnV0XSxbY2UrVHQrSm4rR3IrdXQsW1hjLFhjLkpdXSxbY2UrVHQrYW8rR3IrZGksW1hjLFhjLmx0XV0sW0NhK1R0K2xjK0dyK3FzLFtpdSxpdS5LXV0sW0NhK1R0K2xjLFtpdSxpdS5YXV0sW0NhK1R0K2xhLFtpdSxpdS5aXV0sW0NhK1R0K2FhK0dyK3luLFtpdSxpdS50dF1dLFtLZStUdCtrbytHcit2ZStHciskZSxbWmMsWmMud11dLFtLZStUdCtKbitHcit1dCxbWmMsWmMuSl1dLFtLZStUdCtvcyxbWmMsWmMuR11dLFtLZStUdCt3byxbWmMsWmMueV1dLFtLZStUdCtKaSxbWmMsWmMuJF1dLFtLZStUdCtVcytHcitDbixbWmMsWmMuel1dLFtLZStUdCt4bitHcitDbixbWmMsWmMuUF1dLFtLZStUdCthYStHcitVaSxbWmMsWmMuQl1dLFtLZStUdCtEZStHcitZaSxbWmMsWmMuSF1dXSk7Zm9yKGUgaW4gbylpZih5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShvLGUpKXtmb3Iobj1lW0NyXShHcitUdCtHciksdD1yLGk9MDtpPG5bcGldLTE7aSsrKXt0eXBlb2YgdFtuW2ldXT09PWdlJiYodFtuW2ldXT17fSk7dD10W25baV1dO310W25bbltwaV0tMV1dPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIFpjLngodFtlXSk/MT09PXRbZV1bcGldP3RbZV1bMF06ZnVuY3Rpb24oKXtyZXR1cm4gMj09PXRbZV1bcGldP3RbZV1bMV1bb2FdKHRbZV1bMF0sYXJndW1lbnRzKToodFtlXVsxXVtvYV0odFtlXVswXSxhcmd1bWVudHMpLHRbZV1bMl0pO306dFtlXTt9KG8sZSk7fXJldHVybiByO30oKTt9KHQucG9wbnN8fHpjK0dyK1VjK0dyK09jLHQsdFtFaV0sdFtPaV0sdFttcl0sdFtyb10sdFtibl0sdFtObl0sdFtDb10sdFtyaStHcitpb10sdFtsaStHcitZaV0sdFtNaStHcitZaV0sdFtsaStHcitBaV0sdFtNaStHcitBaV0sdFtMdCtHcit0YytHcitmYytHcitndF0sdFt5K0dyK1J0XSx0W2tvK0dyK3lpK0dyK2d0XSx0W2lzXSx0W1hlK0dyK1ZyK0dyK0dzK0dyK3ZhK0dyK1VyXSx0W2RyXSk7fSh3aW5kb3cpO2Y1eXkuSD1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC55PT09J2Z1bmN0aW9uJz9mNXl5LkwueS5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwueTt9O2Y1eXkuVz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Y1eXkuZz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC5PPT09J2Z1bmN0aW9uJz9mNXl5LkwuTy5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwuTzt9O2Y1eXkuZj1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Z1bmN0aW9uIGY1eXkoKXt9ZjV5eS5CPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5MLnk9PT0nZnVuY3Rpb24nP2Y1eXkuTC55LmFwcGx5KGY1eXkuTCxhcmd1bWVudHMpOmY1eXkuTC55O307ZjV5eS5SPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5JPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5MPWZ1bmN0aW9uKEQpe3JldHVybnt5OmZ1bmN0aW9uKCl7dmFyIEcsZD1hcmd1bWVudHM7c3dpdGNoKEQpe2Nhc2UgMjpHPWRbMF0qZFsxXTticmVhaztjYXNlIDA6Rz1kWzBdfGRbMV07YnJlYWs7Y2FzZSAxOkc9ZFsxXS1kWzBdO2JyZWFrO31yZXR1cm4gRzt9LE86ZnVuY3Rpb24oVil7RD1WO319O30oKTtmNXl5Lno9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiBmNXl5LkwuTz09PSdmdW5jdGlvbic/ZjV5eS5MLk8uYXBwbHkoZjV5eS5MLGFyZ3VtZW50cyk6ZjV5eS5MLk87fTtmNXl5LkM9ZnVuY3Rpb24oKXt2YXIgUT0yO3doaWxlKFEhPT0xKXtzd2l0Y2goUSl7Y2FzZSAyOnJldHVybnt2OmZ1bmN0aW9uKFUpe3ZhciBiPTI7d2hpbGUoYiE9PTE0KXtzd2l0Y2goYil7Y2FzZSAyOnZhciBLPScnLGw9ZGVjb2RlVVJJKCJ0JTExa2JsYyU3RCUwNmhiZGxtbDYhJTNDJTNDKyU1QmNkLTo1JTVENyg4Jy8lNUJ3LzI4bWolM0M4KTA3YiolMUMyJTI1bSUwN3ElN0RvYmslMTh3JTdDc2RtaDcpKSUyMipaMmQlMTgtNUErKS5vbXMlMTUlMjUlM0UwKyU1QiUzQyUxMXUlMjA2TXk/KScsSy1kJTNFOSxLMi00OyUyMCUwNjojMCU3RDUlNUM6IzMya0s2IXU5Kks4JTIwNTo2JTVDcSUxRiUzRScsWC1sMCUyMDYlNUN5Ljh1KUc4KDgxZUolM0MqMiclMjAlMDg1JTI1JTNFMCslNUIlM0NsOyUzQylNcWIxOiZJNSIpO2I9MTticmVhaztjYXNlIDk6Sys9U3RyaW5nLmZyb21DaGFyQ29kZShsLmNoYXJDb2RlQXQoWSleVS5jaGFyQ29kZUF0KGspKTtiPTg7YnJlYWs7Y2FzZSAxOnZhciBZPTAsaz0wO2I9NTticmVhaztjYXNlIDU6Yj1ZPGwubGVuZ3RoPzQ6NzticmVhaztjYXNlIDM6az0wO2I9OTticmVhaztjYXNlIDg6WSsrLGsrKztiPTU7YnJlYWs7Y2FzZSA0OmI9az09PVUubGVuZ3RoPzM6OTticmVhaztjYXNlIDc6Sz1LLnNwbGl0KCcoJyk7cmV0dXJuIGZ1bmN0aW9uKFApe3ZhciBoPTI7d2hpbGUoaCE9PTEpe3N3aXRjaChoKXtjYXNlIDI6cmV0dXJuIEtbUF07YnJlYWs7fX19O2JyZWFrO319fSgnRShZTF1VJyl9O2JyZWFrO319fSgpOyFmdW5jdGlvbihlLG8sYyl7InVzZSBzdHJpY3QiO3ZhciBUPWY1eXk7dmFyIGksbix0O1QuZygwKTtpPVQuUihULkgoIjgiLDApKTtULnooMCk7bj1bVC5JKFQuSCgnXHgzMVx4MzAnLDApKSxULkkoKyI2IiksVC5SKCsnXHgzMVx4MzQnKSxULlIoKyIxMiIpLFQuUihULkgoIjUiLDAsVC5nKDApKSksVC5JKFQuQigwLCdceDMwJyxULnooMSkpKSxULlIoVC5CKCdceDMxXHgzMScsMCxULnooMCkpKSxULkkoKyIyIildO1QuZygyKTt0PVsrJ1x4MzJceDMwXHgzMVx4MzknLFQuQignXHUwMDM1JywxKSxULkgoJ1x4MzFceDM2JywwLFQuZygwKSldO3RyeXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yy5Mb2dnZXIubG9nKGksVC5SKCsnXHgzMScpLG4pO2MuTG9nZ2VyLmxvZyhpLFQuUigiNyItMCksdC5qb2luKFQuSSgnXHgzNCctMCkpKTt9LCsiNTAwIik7VC56KDEpO2Mub2JqZWN0PVtuLFsrIjM2MCIsNDk0LDM5MSwrIjMxMiIsVC5CKDAsIjMxMiIpLFQuSCgiMzY1IiwwLFQuZygwKSksKydceDM0XHgzMFx4MzQnLFQuSCgiMzAwIiwwLFQuZygwKSksKydceDMzXHgzNlx4MzBceDMwXHgzMScsVC5IKDAsJ1x4MzNceDM5XHgzNVx4MzJceDMyJyxULmcoMSkpLFQuQigiMTg3NzEiLDAsVC56KDApKSwrIjM0OTQ4IiwxNjU0MSwyOTU3MSwrJ1x4MzVceDMxXHgzN1x4MzFceDM5JywzMzkwOCxULkgoIjc4ODQwIiwwLFQuZygwKSksMTA1OTY0LCsnXHgzOFx4MzRceDM1XHgzNVx4MzUnLFQuSCgiNzI0MjYiLDAsVC5nKDApKSxULkgoJ1x4MzNceDMwXHgzNVx4MzlceDM5JywwLFQuZygwKSksVC5CKCdcdTAwMzRcdTAwMzFcdTAwMzZcdTAwMzJcdTAwMzYnLDAsVC5nKDApKSxULkIoMCwnXHUwMDM4XHUwMDM4XHUwMDMwXHUwMDM4XHUwMDM0JyxULnooMSkpLFQuSCgiNjU0MDkiLDEsVC5nKDIpKSwxNDQwMCxULkgoIjEyODQ0IiwxLFQueigyKSksKydceDM4XHgzNlx4MzBceDMyJyxULkgoJ1x4MzFceDMwXHgzOVx4MzJceDMwJywxLFQuZygyKSksMTM0MTYsVC5IKCdceDMyXHgzNFx4MzhceDMyXHgzMCcsMCxULmcoMCkpLFQuQignXHgzM1x4MzdceDM5XHgzN1x4MzYnLDAsVC56KDApKSwrJ1x4MzVceDMxXHg2NVx4MzMnXSx0LFtULkgoJ1x4MzNceDM2XHgzMicsMCxULmcoMCkpLDQ5NiwrJ1x4MzNceDM5XHgzOScsVC5IKDAsIjczMDkyMyIsVC5nKDEpKSwrJ1x1MDAzMlx1MDAzNVx1MDAzMVx1MDAzMicsVC5IKCI2Mzk4IiwwLFQueigwKSksVC5IKCdcdTAwMzRcdTAwMzFcdTAwMzFcdTAwMzlcdTAwMzFcdTAwMzJcdTAwMzInLDEsVC5nKDIpKSwrJ1x4MzFceDMxXHgzMVx4MzlceDMyJyxULkgoJ1x4MzNceDM0XHgzMlx4MzNceDM2JywwLFQueigwKSksMjQ2MSwzMjU1NywxMDIxMF0sby5jdXJyZW50U2NyaXB0LFQuSCgiMSIsMSxULmcoMikpXTt9Y2F0Y2gobyl7dm9pZCgnXHgzMCcqMSkhPT1lLmNvbnNvbGUmJmUuY29uc29sZS5sb2cmJkZ1bmN0aW9uLmFwcGx5LmNhbGwoZS5jb25zb2xlLmxvZyxlLmNvbnNvbGUsW1QuSSgnXHgzMVx4MzMnfDApXSk7fX0od2luZG93LGRvY3VtZW50LHdpbmRvd1t3aW5kb3cucG9wbnN8fGY1eXkuUigiMyItMCldKTt2YXIgXzB4MTM4Zj1bJ1x4NThceDQ4XHg2M1x4NzInLCdceDQ5XHg1NFx4NDVceDZmXHg2NFx4NDNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NmNceDUwXHg1NFx4NDVceDZmXHg1YVx4NTNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NzVceDUwXHg1OFx4NTFceDc1XHg2Mlx4NzlceDY3XHg2OVx4NjJceDUzXHg0OVx4NzBceDRmXHg3YVx4NTlceDY3XHg2Mlx4NjlceDM0XHg3OVx4NGNceDZkXHg3N1x4MzlceDQ5XHg2ZFx4NzNceDY5XHg0Y1x4NDdceDM0XHg3NVx4NGRceDY5XHgzNVx4NzdceDUwXHg1NFx4NDFceDczXHg2Mlx4NjlceDM0XHg3OVx4NGNceDZlXHg0NVx4MzlceDRkXHg0M1x4NzhceDc1XHg0Y1x4NmFceDQ5XHg3NVx4NjRceDdhXHgzMFx4NjlceDYxXHg2OVx4NDlceDczXHg2Mlx4NjlceDM1XHgzMVx4NTBceDUzXHg0OVx4MzNceDRmXHg2OVx4MzhceDc2XHg2M1x4NjlceDM1XHgzNFx4NGNceDZhXHg1NVx4NzZceDYxXHg0M1x4MzlceDY4XHg0Y1x4NzlceDQ5XHg3Mlx4NWFceDUzXHg3OFx4MzBceDRjXHg2ZFx4NDlceDc1XHg2MVx4NTNceDY4XHg3NVx4NGJceDUzXHg3OFx4NzVceDY2XHg1M1x4NzhceDc1XHg1MFx4NTdceDRkXHg2Zlx4NWFceDc5XHg2N1x4NmZceDY0XHg0M1x4MzVceDZiXHg0Y1x4NmVceDU5XHg2Zlx4NTFceDY5XHg0Mlx4NGZceDRiXHg0M1x4NDlceDZmXHg0ZVx4N2FceDM5XHgzOFx4NTNceDY5XHgzMVx4MzVceDRiXHg1NFx4NzBceDYzXHg1OFx4NDNceDM5XHg2M1x4NThceDQzXHgzOFx4NjlceDRiXHg1M1x4NzdceDY5XHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDRjXHg3OVx4NDlceDcwXHg1N1x4N2FceDQyXHg2NFx4NjZceDQ4XHg3N1x4NjlceDUzXHg3OVx4MzRceDMxXHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDQ5XHg2OVx4NmJceDc1XHg1NFx4NDNceDY3XHg3OFx4NGJceDQ4XHg1MVx4NzBceDY1XHg3YVx4NTlceDY3XHg2NFx4NDNceDM1XHg0ZVx4NGJceDQ0XHg0MVx4NzBceDRjXHg2Ylx4NjNceDZmXHg1M1x4NDNceDZjXHgzOVx4NGJceDUzXHgzNVx4NDJceDRiXHg0M1x4NDlceDY5XHg0Ylx4NTNceDZiXHg3MFx4NGZceDMzXHg2Zlx4NzVceDRlXHg0M1x4NjdceDY5XHg1MVx4NzlceDQ5XHg3M1x4NGRceDUzXHg2N1x4NzBceDY1XHgzMlx4NTVceDZmXHg2Mlx4NjlceDczXHg2OVx4NGNceDMyXHg1OVx4NzVceDRmXHg1M1x4NDlceDcwXHg0Y1x4NmFceDUxXHg2Zlx4NDlceDZiXHg1MVx4NjlceDRjXHg0NFx4NDVceDZmXHg0Ylx4NThceDc0XHg0N1x4NGJceDQ0XHg0NVx4NmZceDRiXHg1OFx4NzRceDZjXHg0Ylx4NDdceDM0XHg3Mlx4NDlceDY5XHgzOVx4N2FceDRjXHg2YVx4NmJceDY5XHg0Ylx4NThceDMwXHg3M1x4NTJceDUzXHg2Y1x4MzlceDRiXHg1OFx4MzBceDcwXHg2Nlx4NTNceDY4XHg0YVx4NGJceDU0XHg3M1x4M2QnLCdceDYzXHgzM1x4NDJceDczXHg2MVx4NThceDUxXHgzZCcsJ1x4NWFceDZlXHg0YVx4NzZceDYyXHg1NVx4NGVceDZmXHg1OVx4NThceDRhXHg0NFx4NjJceDMyXHg1Mlx4NmMnLCdceDY0XHg0N1x4MzlceDU0XHg2NFx4NDhceDRhXHg3MFx4NjJceDZkXHg2M1x4M2QnLCdceDYzXHg2ZFx4NTZceDc3XHg2Mlx4NDdceDQ2XHg2YVx4NWFceDUxXHgzZFx4M2QnXTsoZnVuY3Rpb24oXzB4MWI1OWFjLF8weDMwZDYwNSl7dmFyIF8weDQ0NTljOT1mdW5jdGlvbihfMHgxNDY4YWMpe3doaWxlKC0tXzB4MTQ2OGFjKXtfMHgxYjU5YWNbJ3B1c2gnXShfMHgxYjU5YWNbJ3NoaWZ0J10oKSk7fX07XzB4NDQ1OWM5KCsrXzB4MzBkNjA1KTt9KF8weDEzOGYsMHgxMGIpKTt2YXIgXzB4MTdjMT1mdW5jdGlvbihfMHgxOTc3ZGIsXzB4Yzc5ZjY5KXtfMHgxOTc3ZGI9XzB4MTk3N2RiLTB4MDt2YXIgXzB4MTYyZGYyPV8weDEzOGZbXzB4MTk3N2RiXTtpZihfMHgxN2MxWydPTXJTcXgnXT09PXVuZGVmaW5lZCl7KGZ1bmN0aW9uKCl7dmFyIF8weDI0NzE2Njt0cnl7dmFyIF8weDViZDYyOT1GdW5jdGlvbigncmV0dXJuXHgyMChmdW5jdGlvbigpXHgyMCcrJ3t9LmNvbnN0cnVjdG9yKFx4MjJyZXR1cm5ceDIwdGhpc1x4MjIpKFx4MjApJysnKTsnKTtfMHgyNDcxNjY9XzB4NWJkNjI5KCk7fWNhdGNoKF8weDMyOTViMCl7XzB4MjQ3MTY2PXdpbmRvdzt9dmFyIF8weDI4M2NlOT0nQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0nO18weDI0NzE2NlsnYXRvYiddfHwoXzB4MjQ3MTY2WydhdG9iJ109ZnVuY3Rpb24oXzB4MzQxYjE5KXt2YXIgXzB4MTQ0Zjk2PVN0cmluZyhfMHgzNDFiMTkpWydyZXBsYWNlJ10oLz0rJC8sJycpO2Zvcih2YXIgXzB4MjhhNzVlPTB4MCxfMHg1OWNiNWIsXzB4MWUwOTNkLF8weDUxZWZhNj0weDAsXzB4OTIyYWFjPScnO18weDFlMDkzZD1fMHgxNDRmOTZbJ2NoYXJBdCddKF8weDUxZWZhNisrKTt+XzB4MWUwOTNkJiYoXzB4NTljYjViPV8weDI4YTc1ZSUweDQ/XzB4NTljYjViKjB4NDArXzB4MWUwOTNkOl8weDFlMDkzZCxfMHgyOGE3NWUrKyUweDQpP18weDkyMmFhYys9U3RyaW5nWydmcm9tQ2hhckNvZGUnXSgweGZmJl8weDU5Y2I1Yj4+KC0weDIqXzB4MjhhNzVlJjB4NikpOjB4MCl7XzB4MWUwOTNkPV8weDI4M2NlOVsnaW5kZXhPZiddKF8weDFlMDkzZCk7fXJldHVybiBfMHg5MjJhYWM7fSk7fSgpKTtfMHgxN2MxWyd4anFrREYnXT1mdW5jdGlvbihfMHgzMzc3MTgpe3ZhciBfMHg1ZGRiMTU9YXRvYihfMHgzMzc3MTgpO3ZhciBfMHg1NjBiOTU9W107Zm9yKHZhciBfMHhjOTdmOTE9MHgwLF8weDQ0MTg3Mj1fMHg1ZGRiMTVbJ2xlbmd0aCddO18weGM5N2Y5MTxfMHg0NDE4NzI7XzB4Yzk3ZjkxKyspe18weDU2MGI5NSs9JyUnKygnMDAnK18weDVkZGIxNVsnY2hhckNvZGVBdCddKF8weGM5N2Y5MSlbJ3RvU3RyaW5nJ10oMHgxMCkpWydzbGljZSddKC0weDIpO31yZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KF8weDU2MGI5NSk7fTtfMHgxN2MxWydrRG1IU2snXT17fTtfMHgxN2MxWydPTXJTcXgnXT0hIVtdO312YXIgXzB4MzA2NDA1PV8weDE3YzFbJ2tEbUhTayddW18weDE5NzdkYl07aWYoXzB4MzA2NDA1PT09dW5kZWZpbmVkKXtfMHgxNjJkZjI9XzB4MTdjMVsneGpxa0RGJ10oXzB4MTYyZGYyKTtfMHgxN2MxWydrRG1IU2snXVtfMHgxOTc3ZGJdPV8weDE2MmRmMjt9ZWxzZXtfMHgxNjJkZjI9XzB4MzA2NDA1O31yZXR1cm4gXzB4MTYyZGYyO307ZXZhbChmdW5jdGlvbihfMHg0OWIyZTksXzB4MTA2OTM1LF8weDIyM2Q1NixfMHgyZmY2ZTksXzB4ZWQ3ZDI2LF8weDNiYzUwMCl7XzB4ZWQ3ZDI2PWZ1bmN0aW9uKF8weDI2YmI4Mil7cmV0dXJuKF8weDI2YmI4MjxfMHgxMDY5MzU/Jyc6XzB4ZWQ3ZDI2KHBhcnNlSW50KF8weDI2YmI4Mi9fMHgxMDY5MzUpKSkrKChfMHgyNmJiODI9XzB4MjZiYjgyJV8weDEwNjkzNSk+MHgyMz9TdHJpbmdbXzB4MTdjMSgnMHgwJyldKF8weDI2YmI4MisweDFkKTpfMHgyNmJiODJbXzB4MTdjMSgnMHgxJyldKDB4MjQpKTt9O2lmKCEnJ1tfMHgxN2MxKCcweDInKV0oL14vLFN0cmluZykpe3doaWxlKF8weDIyM2Q1Ni0tKXtfMHgzYmM1MDBbXzB4ZWQ3ZDI2KF8weDIyM2Q1NildPV8weDJmZjZlOVtfMHgyMjNkNTZdfHxfMHhlZDdkMjYoXzB4MjIzZDU2KTt9XzB4MmZmNmU5PVtmdW5jdGlvbihfMHgzMjA3ZjYpe3JldHVybiBfMHgzYmM1MDBbXzB4MzIwN2Y2XTt9XTtfMHhlZDdkMjY9ZnVuY3Rpb24oKXtyZXR1cm4gXzB4MTdjMSgnMHgzJyk7fTtfMHgyMjNkNTY9MHgxO307d2hpbGUoXzB4MjIzZDU2LS0pe2lmKF8weDJmZjZlOVtfMHgyMjNkNTZdKXtfMHg0OWIyZTk9XzB4NDliMmU5W18weDE3YzEoJzB4MicpXShuZXcgUmVnRXhwKCdceDVjXHg2MicrXzB4ZWQ3ZDI2KF8weDIyM2Q1NikrJ1x4NWNceDYyJywnXHg2NycpLF8weDJmZjZlOVtfMHgyMjNkNTZdKTt9fXJldHVybiBfMHg0OWIyZTk7fShfMHgxN2MxKCcweDQnKSwweDMyLDB4MzIsJ1x4N2NceDY2XHg3NVx4NmVceDYzXHg3NFx4NjlceDZmXHg2ZVx4N2NceDczXHg3NFx4NzlceDZjXHg2NVx4N2NceDczXHg3MFx4NmNceDY5XHg3NFx4N2NceDYxXHg2NFx4NjRceDQ1XHg3Nlx4NjVceDZlXHg3NFx4NGNceDY5XHg3M1x4NzRceDY1XHg2ZVx4NjVceDcyXHg3Y1x4NjNceDZmXHg2ZFx4N2NceDcyXHg2NVx4NzRceDc1XHg3Mlx4NmVceDdjXHg2OFx4NzRceDc0XHg3MFx4NzNceDdjXHg3Nlx4NjFceDcyXHg3Y1x4NzBceDZlXHg2N1x4N2NceDcwXHg3NFx4N2NceDYyXHg2Zlx4NjRceDc5XHg3Y1x4NjVceDZlXHg2M1x4NmZceDY0XHg2NVx4NTVceDUyXHg0OVx4NDNceDZmXHg2ZFx4NzBceDZmXHg2ZVx4NjVceDZlXHg3NFx4N2NceDcyXHg2NVx4NjZceDY1XHg3Mlx4NzJceDY1XHg3Mlx4N2NceDdjXHg3Y1x4NjJceDc0XHg2Zlx4NjFceDdjXHg3Nlx4MzFceDdjXHg2MVx4NzBceDcwXHg2NVx4NmVceDY0XHg0M1x4NjhceDY5XHg2Y1x4NjRceDdjXHg2ZVx4NmZceDZlXHg2NVx4N2NceDYxXHg2Mlx4NzNceDZmXHg2Y1x4NzVceDc0XHg2NVx4N2NceDcwXHg2Zlx4NzNceDY5XHg3NFx4NjlceDZmXHg2ZVx4N2NceDY5XHg2ZFx4NjdceDdjXHg3Y1x4NjNceDcyXHg2NVx4NjFceDc0XHg2NVx4NDVceDZjXHg2NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg3NFx4NmZceDcwXHg3Y1x4NmNceDY1XHg2Nlx4NzRceDdjXHg2MVx4NzBceDY5XHg3Y1x4N2NceDdjXHg3M1x4NzJceDYzXHg3Y1x4NzJceDY1XHg3MFx4NmNceDYxXHg2M1x4NjVceDdjXHg3MFx4NmZceDY5XHg2ZVx4NzRceDY1XHg3Mlx4NDVceDc2XHg2NVx4NmVceDc0XHg3M1x4N2NceDYzXHg2Y1x4NjlceDYzXHg2Ylx4NjFceDY5XHg2ZVx4NjVceDdjXHg2MVx4NzBceDcwXHg3Y1x4NzdceDY5XHg2ZVx4NjRceDZmXHg3N1x4N2NceDZhXHg2Zlx4NjlceDZlXHg3Y1x4NmVceDY1XHg3N1x4N2NceDQ0XHg0Zlx4NGRceDQzXHg2Zlx4NmVceDc0XHg2NVx4NmVceDc0XHg0Y1x4NmZceDYxXHg2NFx4NjVceDY0XHg3Y1x4NmNceDZmXHg2MVx4NjRceDdjXHgzNVx4NjVceDMzXHg3Y1x4NzNceDY1XHg3NFx4NTRceDY5XHg2ZFx4NjVceDZmXHg3NVx4NzRceDdjXHg3NFx4NmZceDUzXHg3NFx4NzJceDY5XHg2ZVx4NjdceDdjXHgzMVx4MzZceDdjXHg2NFx4NmZceDYzXHg3NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg2MVx4NmVceDY0XHg3Mlx4NmZceDY5XHg2NFx4N2NceDY0XHg2Zlx4NzRceDdjXHg2ZFx4NjFceDcwXHg3Y1x4NjNceDY4XHg2MVx4NzJceDQzXHg2Zlx4NjRceDY1XHg0MVx4NzRceDdjXHg1Mlx4NjVceDY3XHg0NVx4NzhceDcwJ1tfMHgxN2MxKCcweDUnKV0oJ1x4N2MnKSwweDAse30pKTsKO3ZhciBjSVBvcCA9IGZ1bmN0aW9uIGNJUG9wKHVybCkgewoJCWNQb3AuY29uZmlnKHsKCQkJY292ZXJUYWdzOiBbJ3ZpZGVvJywgJ2lmcmFtZSddLAoJCQl0YWJVbmRlcklnbm9yZVRhcmdldEJsYW5rOiB0cnVlLAoJCQlkZWxheTogMTAwCgkJfSk7CgkJY1BvcC5hZGQodXJsLCB7CgkJCW5ld1RhYjogdHJ1ZSwKCQkJdW5kZXI6IHRydWUsCgkJCWNvb2tpZUV4cGlyZXM6IDEwMH0pfTs=(Line 1)
Message:
console.clear
console-api log URL: https://tpmedia-reactads.com/reactAds-script.js(Line 2)
Message:
[object HTMLDivElement]
console-api log URL: https://tpmedia-reactads.com/reactAds-script.js(Line 2)
Message:
console.clear
console-api log URL: data:text/plain;base64,d2luZG93LnBvcG5zID0gJ2NQb3AnO3Y3R0cuYzQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmU0PT09J2Z1bmN0aW9uJz92N0dHLlo0LmU0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmU0O307djdHRy5pMT1mdW5jdGlvbigpe3ZhciBxMT1mdW5jdGlvbihJMSxLMSl7dmFyIEExPUsxJjB4ZmZmZjt2YXIgcjE9SzEtQTE7cmV0dXJuKHIxKkkxfDApKyhBMSpJMXwwKXwwO30sbTE9ZnVuY3Rpb24oajEsVTEsaDEpe3ZhciB4MT0weGNjOWUyZDUxLHoxPTB4MWI4NzM1OTM7dmFyIGUxPWgxO3ZhciB0MT1VMSZ+MHgzO2Zvcih2YXIgWjE9MDtaMTx0MTtaMSs9NCl7dmFyIFExPWoxLmNoYXJDb2RlQXQoWjEpJjB4ZmZ8KGoxLmNoYXJDb2RlQXQoWjErMSkmMHhmZik8PDh8KGoxLmNoYXJDb2RlQXQoWjErMikmMHhmZik8PDE2fChqMS5jaGFyQ29kZUF0KFoxKzMpJjB4ZmYpPDwyNDtRMT1xMShRMSx4MSk7UTE9KFExJjB4MWZmZmYpPDwxNXxRMT4+PjE3O1ExPXExKFExLHoxKTtlMV49UTE7ZTE9KGUxJjB4N2ZmZmYpPDwxM3xlMT4+PjE5O2UxPWUxKjUrMHhlNjU0NmI2NHwwO31RMT0wO3N3aXRjaChVMSU0KXtjYXNlIDM6UTE9KGoxLmNoYXJDb2RlQXQodDErMikmMHhmZik8PDE2O2Nhc2UgMjpRMXw9KGoxLmNoYXJDb2RlQXQodDErMSkmMHhmZik8PDg7Y2FzZSAxOlExfD1qMS5jaGFyQ29kZUF0KHQxKSYweGZmO1ExPXExKFExLHgxKTtRMT0oUTEmMHgxZmZmZik8PDE1fFExPj4+MTc7UTE9cTEoUTEsejEpO2UxXj1RMTt9ZTFePVUxO2UxXj1lMT4+PjE2O2UxPXExKGUxLDB4ODVlYmNhNmIpO2UxXj1lMT4+PjEzO2UxPXExKGUxLDB4YzJiMmFlMzUpO2UxXj1lMT4+PjE2O3JldHVybiBlMTt9O3JldHVybntiMTptMX07fSgpO3Y3R0cuRDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LkM2PT09J2Z1bmN0aW9uJz92N0dHLlo0LkM2LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LkM2O307djdHRy5MMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLlo2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5DNj09PSdmdW5jdGlvbic/djdHRy5nNi5DNi5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5DNjt9O3Y3R0cuWjQ9ZnVuY3Rpb24oQTQpe3JldHVybntlNDpmdW5jdGlvbigpe3ZhciBTNCxsND1hcmd1bWVudHM7c3dpdGNoKEE0KXtjYXNlIDI6UzQ9bDRbMF0rbDRbMV07YnJlYWs7Y2FzZSAyMjpTND1sNFsyXStsNFswXS1sNFsxXTticmVhaztjYXNlIDc6UzQ9bDRbNF0rbDRbMTBdK2w0WzExXStsNFszXSsobDRbNl0rbDRbMV0rbDRbNV0rbDRbOV0rbDRbMl0rbDRbMF0rbDRbOF0pK2w0WzddO2JyZWFrO2Nhc2UgNjpTND1sNFsyXS9sNFswXS9sNFsxXTticmVhaztjYXNlIDE3OlM0PWw0WzZdK2w0WzFdK2w0WzBdK2w0WzRdK2w0WzVdK2w0WzJdK2w0WzNdO2JyZWFrO2Nhc2UgMTpTND1sNFszXStsNFs0XStsNFsyXStsNFsxXStsNFswXTticmVhaztjYXNlIDM6UzQ9bDRbMV0rKGw0WzNdK2w0WzVdK2w0WzBdK2w0WzRdK2w0WzJdKTticmVhaztjYXNlIDExOlM0PWw0WzFdPGw0WzBdO2JyZWFrO2Nhc2UgOTpTND1sNFswXT4tbDRbMV07YnJlYWs7Y2FzZSA0OlM0PWw0WzBdK2w0WzFdK2w0WzJdO2JyZWFrO2Nhc2UgODpTND1sNFswXT09PWw0WzFdO2JyZWFrO2Nhc2UgMTQ6UzQ9bDRbMF0rbDRbNF0rbDRbN10rbDRbMl0rbDRbNV0rbDRbM10rbDRbMV0rbDRbNl0rbDRbOF07YnJlYWs7Y2FzZSAyMTpTND1sNFswXSVsNFsyXS1sNFsxXTticmVhaztjYXNlIDEyOlM0PWw0WzVdK2w0WzJdK2w0WzZdK2w0WzBdKyhsNFs0XStsNFszXStsNFsxXSk7YnJlYWs7Y2FzZSAxNjpTND1sNFswXStsNFsyXTxsNFsxXTticmVhaztjYXNlIDIwOlM0PWw0WzFdJWw0WzJdKmw0WzBdO2JyZWFrO2Nhc2UgNTpTND1sNFs1XSsobDRbMTNdK2w0WzNdK2w0WzddK2w0WzEyXStsNFs2XStsNFs0XStsNFsyXStsNFswXStsNFsxMF0rbDRbOF0rbDRbMTFdK2w0WzldK2w0WzFdKTticmVhaztjYXNlIDA6UzQ9bDRbOV0rbDRbOF0rbDRbMl0rbDRbMTNdK2w0WzNdK2w0WzRdK2w0WzFdK2w0WzBdK2w0WzddK2w0WzExXStsNFsxMF0rbDRbNl0rbDRbNV0rbDRbMTRdK2w0WzEyXTticmVhaztjYXNlIDE4OlM0PWw0WzBdKmw0WzJdJWw0WzFdO2JyZWFrO2Nhc2UgMTA6UzQ9LWw0WzBdPT09bDRbMV07YnJlYWs7Y2FzZSAxMzpTND1sNFsxNF0rbDRbMjddK2w0WzE5XStsNFswXStsNFsxMV0rbDRbNV0rbDRbMTBdK2w0WzI5XStsNFsyXStsNFsyM10rbDRbMjBdK2w0WzRdK2w0WzIyXStsNFsxOF0rbDRbMjRdK2w0WzEyXStsNFs3XStsNFsxNV0rbDRbNl0rbDRbMTNdK2w0WzE3XStsNFs5XStsNFsyOF0rbDRbMjFdK2w0WzFdK2w0WzMwXStsNFsyNl0rbDRbMTZdK2w0WzNdK2w0WzI1XStsNFs4XTticmVhaztjYXNlIDE5OlM0PWw0WzFdL2w0WzBdJWw0WzJdO2JyZWFrO2Nhc2UgMTU6UzQ9bDRbNV0rbDRbNF0rbDRbMTBdK2w0WzFdK2w0WzZdK2w0WzldK2w0WzJdK2w0WzddK2w0WzhdK2w0WzNdK2w0WzBdO2JyZWFrO31yZXR1cm4gUzQ7fSxzNDpmdW5jdGlvbihQNCl7QTQ9UDQ7fX07fSgpO3Y3R0cueDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy51ND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuZTQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuZTQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuZTQ7fTtmdW5jdGlvbiB2N0dHKCl7fXY3R0cuWTQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LnM0PT09J2Z1bmN0aW9uJz92N0dHLlo0LnM0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LnM0O307djdHRy5vND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuczQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuczQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuczQ7fTt2N0dHLmw2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuQjQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy5nNj1mdW5jdGlvbigpe3ZhciBzNj0yO3doaWxlKHM2IT09MSl7c3dpdGNoKHM2KXtjYXNlIDI6cmV0dXJue0M2OmZ1bmN0aW9uKHg2KXt2YXIgbTY9Mjt3aGlsZShtNiE9PTE0KXtzd2l0Y2gobTYpe2Nhc2UgNDptNj1JNj09PXg2Lmxlbmd0aD8zOjk7YnJlYWs7Y2FzZSAyOnZhciBQNj0nJyxVNj1kZWNvZGVVUkkoIjIjMUw3QTg4LEk1Vz84O1Y0WiUyMiUzRStHO0IlMjIpJTIwRyUwQUUlMjIkLFE/RTIyJTE0UChBMCMqRypLJjklM0MlNUQ/ViUzQz8sdDtHKCUzRTdNL1Y4Mj8lNUM0UTQtJTIwRyUxOEElMjI4N0skaTkoN0c3TTgyJTA1JTVDOE8/OCxaNUolMjUjJTNFJTVDJG4lMjUyJTdCRyxBJD87VjRabTIhTTVUKCQzVyUzRUgzKCxLP0k5OjdHaCUxNiglMUU3Xz9WMyUzRSxaNUolMjIpJTNDTSRJMyUzRTUlNUMkSjM0JkclMEJHO3U5JTVEJHooJTAwPSU1RT1BJDIhJTVDLlolM0UpOyU1RTJQKCUwOSUzRSU1QzdBODghRylQLyUyMDdHLE0lMjUlMjUwUDZNJTIyNSxqJEc6JTI1N1cuWjMlMjA3VD9KJTIyMiUxNUE2WiUxQSYsaz9FNSQ3JTVEJGswMj1fJTNDVzM4LG8lMjBaJTEzKyxuM0oyIyUyNUc5RTgvN1UkbicvKyUwQzBGZCU3QyUyMkc4TTgoLEk1TTg4N0skSiMhMCU1QyhaNS0lM0VVJH4oJTIwN18uWngyJlgoQzM4LHoyVjkhN0clM0VBJTIwJTI1MSU1QyRwLyUzQzdKJFclM0UjJ1UlM0VaJTIyLTVHJTAzJTE3KCUwNTVXNVYzMiUxMFA0QCglMTk1RyUwQVY5JTNDMyU1RTtQPyMlM0NHNVQzJTIyN0skSDkvM00zSzgyJTA1QTZHJTNDO2pHLk07KSx2NEczMiUxM1U2WjAlM0UzVD9aJTA1ISxLO0oyIz9HJTE4UiglMDU2RzBLPyUyMiwlNjAqWjsjJCU1QyRTPyUyMjZWLVoyJTI1IUk2RS8ybEclMUVLOy07VyRAMz85TTVUKCUwQSElNUUkUDcuJ1clM0VBJDIlMTMlNUUkRTQjJ00kVzUlM0U7SS5aJjkhUSRBJTIwKSUzQ00pWiUyMiUzRTNXKVQ3JTNFN1cuWiY4MVY0QyglMUYmVihFMSkseCRQNy4saT9WJi01JTVDJEk3NCxKL0YlMjU4JTIwRzZLNygsajlWPyUzQyZHJTEzSiUyMiklMjBPO0goJCUyMCU1QyUzQ1o4IyxaKEE3ODdHO1AlMjItMVEkSDklMjI1Ry9WOjIlMUZYLkwoLTBaJTNFQTArOlAwTzohJTNDVipVJD8mTCxTLjUoRyUxNVQzJTNFM0clMENFOjk3RyUxOEgoOSUzQyU1RD9WKCUwNSYlNUM3WiUxNCUzRT1OKUEkMiUxM1clM0VWOSUyNTZHOVEkJTNFN1cuWiUxNCUyMDNXMVoyKSRHNEslMjIyJTFFJTVDJTNDUCg/N1U/RyUyMiMlMjBHJTFEJTFEPy04TmJaPyUyMiUzQyU1QyhaNCUyMDNXMVolMDM1LCU1QyRzPyUyMix4LlolMTQ5MCU1QjZBKCg3WjVAMzIlMDJYKEE4OCxoL0EjKTZHdlolMDU4M1QqWiYtJTIwJTVDNFAoJDNKJFElMjUpJTIwRyhBJiUyMDNaP1olMDAyI0w/Vi8yJTNDJTVDLlM5JTNFOUcpTD8qJkcqVjk4PU0jVDMyPSU1QjBBNTgseSRKIyUyMCUzRUcuSyh+YiUwOGJaPyUyMiUyMkwuWjstJloyWiQpIU01VjMyO18oRTspLHU1UzMlM0UsJTdGalolMDQyJTA2UTtKJTNFMiUxRkc4USUyMjg9VyRvMjIlMTglMDkkcSQlMjAsaSRGMyo9Sz9aJTAwKSUyMEozSzgyJTA0TCRBOC0wVT9AKCUwMyxLP1czOCwlMTEkVjM/O0M/WiMlMjI2JTVDJTNDTTgpNkd6WiUyNSUzRTFHJTFEQSUyMjg3SyUwNSU3QiglMUM6WDRaPzIxVT9FJDIwWClBJTYweCwlNjAkQDMuJyU1RSRDMzgsUztSNz8xSzNUJTIyMjNNLlY/LidNP1coJTFGJkszSjEyLHU3WjgpJTI1RzVKNSUyMDtaMVolMTF1JTI1JTVEJCU3QyhjLFQzSTMyJTE0TDRHJTIyJTI1PVckVjM9JyU1QylQKCUxMHplc3glMjVmKWUpJTBFJTBBJTE3JTBFSnBKNzg7Tz8lMDQ1IzYlNUMlMDZXJTdDJTEwJTBGZSklMEUrMiUxRVA0US4yJTFFJTA5KkwyISwlNUQ/VyUyMiUzRT1AJE07MjZQKVQ3ODFRJE04PzdLLlo4IzYlNUMkajoyJTAxJTVDNkE1OD1LJCUxMiglMDg3JTVCL0MoJTE4MyU1RSlaJTE0JCwlNUU/SzojMVguTTklMjIsJTdDLEE4OCxYKlQ6NSwlNUQ7UDcycUclMEVFJCs3TSRnOSElMjJYKEEoaSwlN0Y2RTEyY0clMTlFJTI1KSwlNUQ1STclMjUlM0NHJTFCUSUyMiQ9SyRGOSgrRztAMjIlMERmJTNFQTAlMjUlM0MlNUMkcDcrLFQ/VyUyNS01JTVDJEk5OSElNUMvVCglMEElMjBWN1olMDYjO1cuWiUyMC0lMjBHJTBFSyMvOiU1QylaJTAyIywlN0QtUig2LFg4VzklMjAnTT9aJTA3Kyx4NEclM0UjJTIwRzNKMikqRy1BNCc7TSRWMyUyMDdYKUEoJTAxPUwpQSglMEEzVTZGNy85RyUwOVA3LzlHOUUlMjIvOkcqSyUyNTgsWjVKNS0mRyUxNiUxNSglMjA3Vz1QJTNFMiUyMCU1RCRUNyUzRSElNUMkaS8yOlAlM0VAMyUyMiwlMDhqJTE0KCUwQTtLP1olMTc2LFEuUCY/LGk/VjslMjUhSjNLODIlMDBQJGsmKSUzQyU1QyhaJTA3MiUzQ1Y0QSgvJ0spSyQyJTIyWD1BKCUzQypHJ1olMTgtPyU1QyRHJTNFLSUzQyU1RT9AKCUxOSZQNlcoPyZLM0oxMiUxMyU1RTglMTYoJTBEJFgzSDcuJTNFJTVDJGJkMiUxNSUwMDNFJTNDMiUxQl8oRTspLHo1SSYjJTNDJTVDNFAoJTBEPVokJTE5KCUwRCUyNUclMTZafiUxMCFFfiUwRCgvPVcuRTU4LH4kVjM/O0M7RjopLHguUCQlMjUwTC5BKCUwMT0lNUIzSDMyPUszQz8lMjIsWC9QJTNFIyUyMEc/JTVDMy8sdipBODIlMERNO1YxKSZHJTNDTS4pNkclMDVQPyE3Vi9QJTA5MiUxM1YkcSglMDg3XztROjgsdTtXJTIyMiUxQkclM0VBJTIyLTFRJHYlMjAyJTA4JTBCJHc1JTNFPVU2RjclM0UsJTdGKVolMDItMEc/JTVDJiUyNSUyMCU1QylaJTE0OyxQJTNFWiUxRiUyMjYlNUMlMjJaOyMwUDZBKCUwRStHJTBETTI4Okc3TyYyJTExViUzRUEoJTIyM1Q/WiUyNSUzQzdaM0I/KTZHKkUlMjIkLFo2TTUnLHElM0VMNzIwVS9WKCUxQyUyMFYqQSQ4K0c5SzgqOyU1RSRXMyUyMDRHJTA4TWY0LGgvWjAlMjA9VihaJTEzNCUyMkclMTVTODIlMTclNUQ9QSglMjUhRyUwRkoyKSUyMEclMUJDMyUyMiZHLiU1RCYpLHpjWmoyJTE0UChBMjIlMURJLk05JTIyIUclM0NROC8mUDVKKCUwNixNO0YjJTNDLEkoTTg4LCU3QyUyMlQ/JTNFN0okZzkjOVA/WiUwNSUyNTBVM0oxMiUyNUclMTVSMyUzRSUzRVgjWiUwMiUyNT8lNUM1USUyMjIlMUQlNUIwQTU4LFYvUDMlM0UscyxGZTIlMjVQJTNFUCUzRTIhVTNHMzIlMUNYJCUxNiglMUM4RyUxNk0yLyxYJGg/PyYlNUM0QSQyJTFGViUyME06JTIwM0clMUVFJTIyKSx2NEg5LTZHKUUwKSxMNEY/JTIyNkcuSyMvOiU1QzRAKCUwRTdfNVYzMjFVO1clMjUyJTAyVilNJTIyJTI1PVckJTYwKCUyNSUzQ1AuWiUxODIlMDlHOUs5JzslNUMkbicyJTBCVDVIKDg9SSRvKC86WChaJTA5LiUzRVg0TyglMjA9JTVFJEsmKSUzQ0clMTJaJTEzJTIwN1Q/SiUyMjIlMDAlNUM2QTc/N0cqSyY5JTNDJTVEP1YoJTNDPUkkdDo5NVA0WiUwNiMlMjJMNEAzJTNFLHMyRSglMTU/VmJaJTNFOD9VJHc3KjNLM1o5JTIyLHc1QDMyJTA1JTBDMUZkMjFVNVczMj9WL1czKD1ONFojPzclMTkpUCQlMjUxTSRnIyUzRSUyMCU1QzRQKC4zWjFDJCMnVyUzRVo7KSZYJFAzNCZHJTE5QzgyIVooQTMlMjIsJTFEJGEoJTBCa1ckbTEyayUwMGMlMURvdWtHKEEwKSUyMEs/VigpIVo7VDMyJTdGRztUJiklM0MlNUQkTDk/JkcqQSQlM0MzJTVFP1olMUYlMjImRyUwRkEoJTIyPUs/QiglMDQ7UztHPSUyNSUzQyU1RSRxJiUzQzdLJCUwRiglMTghSSRzYycsTTVRNSQhTTtWJTIyMiUzRVY5RToyJTAxJTVDNFc/ODtPP1psMiUxRiU1RSRzKHQsdzVQPyo7WjtQPyMlM0NHIVolMDQpNUc1SjQlMjAnSyRnKCUwMTdKKUUxKSxMJCUxNCY0LHgoVjc1LEkoQSUyMCklM0NNJHkoJTBGJTNFUDlPMygsWDhXKCUxQz9HblolMEYhPUAkVDklM0MnSSQlMEMlMDgwJTBFSnNaOTo3SyUzQ0g5OywlMDkkRzkhLF81RyM/LHE/TTEkJkclMEFLJjIlMUNVOU0oJTA2JTIyWiR0JTNDeSUzRSU1QjdaJTAyIyUyMkclM0NNJCksWCpUOiUyNTFYLk05JTIyLCU3RiRnOSUyMjVHJTE5TD8lMjA2RylUOiUyNSZHKEU4KCxKLkUlMjI5IUcpRyQjJTNFVThFJD8sdWolMTElM0UuLFo1UjMlM0UsTTVLOi4zSyRAMyUyMDNAJEsmOCFHJTNFTSUyMDIlMTdPP0olMjI/LHcwRzslMjAlMjUlNUQkcCglM0M2XyRBOyUzQyZAJGYoJTFFOiU1QiRKNzo7JTVFO1A5JTNFLE4oTSUyMiksbDAlMTAoJTI1NVc1VjMyJTExVi9KJTIyMjBWNUgzLSUzQ0clMEVNOyksejVKMCUyNTVHLkElMjU4Iik7bTY9MTticmVhaztjYXNlIDE6dmFyIEg2PTAsSTY9MDttNj01O2JyZWFrO2Nhc2UgOTpQNis9U3RyaW5nLmZyb21DaGFyQ29kZShVNi5jaGFyQ29kZUF0KEg2KV54Ni5jaGFyQ29kZUF0KEk2KSk7bTY9ODticmVhaztjYXNlIDU6bTY9SDY8VTYubGVuZ3RoPzQ6NzticmVhaztjYXNlIDc6UDY9UDYuc3BsaXQoJ34nKTtyZXR1cm4gZnVuY3Rpb24oaDYpe3ZhciBqNj0yO3doaWxlKGo2IT09MSl7c3dpdGNoKGo2KXtjYXNlIDI6cmV0dXJuIFA2W2g2XTticmVhazt9fX07YnJlYWs7Y2FzZSAzOkk2PTA7bTY9OTticmVhaztjYXNlIDg6SDYrKyxJNisrO202PTU7YnJlYWs7fX19KCdWTFI5WiQnKX07YnJlYWs7fX19KCk7djdHRy5kMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLmE2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuZjY9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLmc2LkM2PT09J2Z1bmN0aW9uJz92N0dHLmc2LkM2LmFwcGx5KHY3R0cuZzYsYXJndW1lbnRzKTp2N0dHLmc2LkM2O307djdHRy5yND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuQzY9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuQzYuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuQzY7fTshZnVuY3Rpb24odCl7dmFyIHc1PXY3R0c7dmFyIG81PSEwO3ZhciBlLGksbixyLG8scyxhLGMsdSxoLGYscCxfLGwsZCx2LGIsbSxnLHksayx3LHgsTyxDLEUsUCxULEEsRixTLGosTCx6LEIsSSxNLFcsRCxVLFIsTixILHEsSixWLCQsUSxHLFksSyxaLFgsdHQsZXQsaXQsbnQscnQsb3Qsc3QsYXQsY3QsdXQsaHQsZnQscHQsX3QsbHQsZHQsdnQsYnQsbXQsZ3QseXQsa3Qsd3QseHQsT3QsQ3QsRXQsUHQsVHQsQXQsRnQsU3QsanQsTHQsenQsQnQsSXQsTXQsV3QsRHQsVXQsUnQsTnQsSHQscXQsSnQsVnQsJHQsUXQsR3QsWXQsS3QsWnQsWHQsdGUsZWUsaWUsbmUscmUsb2Usc2UsYWUsY2UsdWUsaGUsZmUscGUsX2UsbGUsZGUsdmUsYmUsbWUsZ2UseWUsa2Usd2UseGUsT2UsQ2UsRWUsUGUsVGUsQWUsRmUsU2UsamUsTGUsemUsQmUsSWUsTWUsV2UsRGUsVWUsUmUsTmUsSGUscWUsSmUsVmUsJGUsUWUsR2UsWWUsS2UsWmUsWGUsdGksZWksaWksbmkscmksb2ksc2ksYWksY2ksdWksaGksZmkscGksX2ksbGksZGksdmksYmksbWksZ2kseWksa2ksd2kseGksT2ksQ2ksRWksUGksVGksQWksRmksU2ksamksTGksemksQmksSWksTWksV2ksRGksVWksUmksTmksSGkscWksSmksVmksJGksUWksR2ksWWksS2ksWmksWGksdG4sZW4sbm4scm4sb24sc24sYW4sY24sdW4saG4sZm4scG4sX24sbG4sZG4sdm4sYm4sbW4sZ24seW4sa24sd24seG4sT24sQ24sRW4sUG4sVG4sQW4sRm4sU24sam4sTG4sem4sQm4sSW4sTW4sV24sRG4sVW4sUm4sTm4sSG4scW4sSm4sVm4sJG4sUW4sR24sWW4sS24sWm4sWG4sdHIsZXIsaXIsbnIscnIsb3Isc3IsYXIsY3IsdXIsaHIsZnIscHIsX3IsbHIsZHIsdnIsYnIsbXIsZ3IseXIsa3Isd3IseHIsT3IsQ3IsRXIsUHIsVHIsQXIsRnIsU3IsanIsTHIsenIsQnIsSXIsTXIsV3IsRHIsVXIsUnIsTnIsSHIscXIsSnIsVnIsJHIsUXIsR3IsWXIsS3IsWnIsWHIsdG8sZW8saW8sbm8scm8sb28sc28sYW8sY28sdW8saG8sZm8scG8sX28sbG8sdm8sYm8sbW8sZ28seW8sa28sd28seG8sT28sQ28sRW8sUG8sVG8sQW8sRm8sU28sam8sTG8sem8sQm8sSW8sTW8sV28sRG8sVW8sUm8sTm8sSG8scW8sSm8sVm8sJG8sUW8sR28sWW8sS28sWm8sWG8sdHMsZXMsaXMsbnMscnMsb3Msc3MsYXMsY3MsdXMsaHMsZnMscHMsX3MsbHMsZHMsdnMsYnMsbXMsZ3MseXMsa3Msd3MseHMsT3MsQ3MsRXMsUHMsVHMsQXMsRnMsU3MsanMsTHMsenMsQnMsSXMsTXMsV3MsRHMsVXMsUnMsTnMsSHMscXMsSnMsVnMsJHMsUXMsR3MsWXMsS3MsWnMsWHMsdGEsZWEsaWEsbmEscmEsb2Esc2EsYWEsY2EsdWEsaGEsZmEscGEsX2EsbGEsZGEsdmEsYmEsbWEsZ2EseWEsa2Esd2EseGEsT2EsQ2EsRWEsUGEsVGEsQWEsRmEsU2EsamEsTGEsemEsQmEsSWEsTWEsV2EsRGEsVWEsUmEsTmEsSGEscWEsSmEsVmEsJGEsUWEsR2EsWWEsS2EsWmEsWGEsdGMsZWMsaWMsbmMscmMsb2Msc2MsYWMsY2MsdWMsaGMsZmMscGMsX2MsbGMsZGMsdmMsYmMsbWMsZ2MseWMsa2Msd2MseGMsT2MsQ2MsRWMsUGMsVGMsQWMsRmMsU2MsamMsTGMsemMsQmMsSWMsTWMsV2MsRGMsVWMsUmMsTmMsSGM7ZT13NS5mNigyMzQpO2k9dzUuWjYoMzk0KTtuPXc1Llo2KDM4OSk7cj13NS5mNig0NTYpO289dzUuWjYoNSk7cz13NS5aNig0NjEpO2E9dzUuWjYoMjU1KTtjPXc1Llo2KDg4KTt1PXc1Llo2KDE3OCk7aD13NS5mNigxODcpO2Y9dzUuZjYoNDgxKTtwPXc1LmY2KDM3Nik7Xz13NS5aNigyNDYpO2w9dzUuZjYoMjQ1KTtkPXc1Llo2KDE0OSk7dj13NS5aNigzNjUpO2I9dzUuWjYoNDgzKTttPXc1LmY2KDcyKTtnPXc1Llo2KDMxMyk7eT13NS5aNigyNTMpO2s9dzUuWjYoNTApO3c9dzUuZjYoNDY5KTt4PS9lZGdlLztPPXc1LmY2KDMzNCk7Qz13NS5aNigzMzMpO0U9dzUuWjYoNTMpO1A9dzUuWjYoMTcpO1Q9dzUuWjYoMzQzKTtBPXc1LmY2KDE5MCk7Rj0vZmlyZWZveHxmeGlvcy9pO1M9dzUuZjYoMjEyKTtqPXc1Llo2KDI1OSk7TD13NS5aNigyNDEpO3o9dzUuZjYoMTA5KTtCPXc1LmY2KDk3KTtJPXc1Llo2KDQxOCk7TT13NS5aNigzODgpO1c9dzUuWjYoNDM1KTtEPXc1LmY2KDM3NSk7VT13NS5aNigzNTgpO1I9dzUuZjYoMTcyKTtOPXc1LmY2KDIzOCk7SD13NS5aNig0ODcpO3E9dzUuWjYoMjIxKTtKPXc1LmY2KDIxMSk7Vj13NS5mNigyMTApOyQ9dzUuWjYoMTYyKTtRPXc1Llo2KDY0KTtHPXc1LmY2KDM0Mik7WT13NS5aNigxMjgpO0s9dzUuWjYoMjA4KTtaPXc1LmY2KDE0MSk7WD13NS5aNig0MzYpO3R0PXc1Llo2KDQ0MSk7ZXQ9dzUuWjYoMjgwKTtpdD13NS5mNigxNzcpO250PXc1Llo2KDEyKTtydD13NS5aNigyNzMpO290PXc1Llo2KDM1NSk7c3Q9L3dpbmRvd3MvO2F0PXc1Llo2KDI1OCk7Y3Q9Lyg/OmZ0cHxodHRwcz8pOlwvXC8oW15cL10rKS87dXQ9dzUuWjYoMjE4KTtodD13NS5mNig0NDIpO2Z0PXc1LmY2KDI2Myk7cHQ9dzUuWjYoMTY2KTtfdD13NS5aNigxMzgpO2x0PXc1Llo2KDMyOSk7ZHQ9dzUuWjYoNDEpO3Z0PXc1Llo2KDIwNyk7YnQ9dzUuWjYoMzYyKTttdD13NS5mNigxNjUpO2d0PXc1LmY2KDM3MSk7eXQ9dzUuWjYoMzYwKTtrdD13NS5aNigyMzkpO3d0PXc1LmY2KDM2Myk7eHQ9dzUuZjYoODIpO090PTk1MDI9PT0yNTAwPzB4MjE0Yzp3NS5mNigxNDgpO0N0PXc1LmY2KDE4NSk7RXQ9dzUuWjYoMTQ0KTtQdD13NS5mNigzMjApO1R0PXc1Llo2KDU1KTtBdD13NS5aNigzMTgpO0Z0PXc1Llo2KDE4OSk7U3Q9dzUuWjYoMTAxKTtqdD0vTVNJRVxzKyhbXGRcLl0rKS9pO0x0PXc1Llo2KDM0MCk7enQ9dzUuZjYoMTYwKTtCdD13NS5aNig0NDQpO0l0PXc1Llo2KDQxMyk7TXQ9dzUuZjYoNDU1KTtXdD13NS5mNig1MSk7RHQ9dzUuWjYoNDE1KTtVdD13NS5mNigyOTkpO1J0PXc1Llo2KDQxNik7TnQ9dzUuWjYoMzczKTtIdD13NS5aNig0MzApO3F0PXc1Llo2KDE2MSk7SnQ9dzUuZjYoMjQ4KTtWdD13NS5aNig0MjcpOyR0PXc1LmY2KDQyNCk7UXQ9dzUuZjYoMzUxKTtHdD13NS5aNigyOTApO1l0PXc1Llo2KDI4MSk7S3Q9dzUuWjYoMjk2KTtadD13NS5aNigyODYpO1h0PXc1LmY2KDE0Nik7dGU9dzUuWjYoNjApO2VlPXc1Llo2KDE0Myk7aWU9dzUuWjYoMjE1KTtuZT0vcmFkaW98Y2hlY2tib3gvaTtyZT13NS5mNigyNzUpO29lPXc1Llo2KDEyNCk7c2U9dzUuZjYoMjE2KTthZT13NS5aNigzMDIpO2NlPXc1LmY2KDExNyk7dWU9LzEyMDd8NjMxMHw2NTkwfDNnc298NHRocHw1MFsxLTZdaXw3NzBzfDgwMnN8YSB3YXxhYmFjfGFjKGVyfG9vfHNcLSl8YWkoa298cm4pfGFsKGF2fGNhfGNvKXxhbW9pfGFuKGV4fG55fHl3KXxhcHR1fGFyKGNofGdvKXxhcyh0ZXx1cyl8YXR0d3xhdShkaXxcLW18ciB8cyApfGF2YW58YmUoY2t8bGx8bnEpfGJpKGxifHJkKXxibChhY3xheil8YnIoZXx2KXd8YnVtYnxid1wtKG58dSl8YzU1XC98Y2FwaXxjY3dhfGNkbVwtfGNlbGx8Y2h0bXxjbGRjfGNtZFwtfGNvKG1wfG5kKXxjcmF3fGRhKGl0fGxsfG5nKXxkYnRlfGRjXC1zfGRldml8ZGljYXxkbW9ifGRvKGN8cClvfGRzKDEyfFwtZCl8ZWwoNDl8YWkpfGVtKGwyfHVsKXxlcihpY3xrMCl8ZXNsOHxleihbNC03XTB8b3N8d2F8emUpfGZldGN8Zmx5KFwtfF8pfGcxIHV8ZzU2MHxnZW5lfGdmXC01fGdcLW1vfGdvKFwud3xvZCl8Z3IoYWR8dW4pfGhhaWV8aGNpdHxoZFwtKG18cHx0KXxoZWlcLXxoaShwdHx0YSl8aHAoIGl8aXApfGhzXC1jfGh0KGMoXC18IHxffGF8Z3xwfHN8dCl8dHApfGh1KGF3fHRjKXxpXC0oMjB8Z298bWEpfGkyMzB8aWFjKCB8XC18XC8pfGlicm98aWRlYXxpZzAxfGlrb218aW0xa3xpbm5vfGlwYXF8aXJpc3xqYSh0fHYpYXxqYnJvfGplbXV8amlnc3xrZGRpfGtlaml8a2d0KCB8XC8pfGtsb258a3B0IHxrd2NcLXxreW8oY3xrKXxsZShub3x4aSl8bGcoIGd8XC8oa3xsfHUpfDUwfDU0fFwtW2Etd10pfGxpYnd8bHlueHxtMVwtd3xtM2dhfG01MFwvfG1hKHRlfHVpfHhvKXxtYygwMXwyMXxjYSl8bVwtY3J8bWUocmN8cmkpfG1pKG84fG9hfHRzKXxtbWVmfG1vKDAxfDAyfGJpfGRlfGRvfHQoXC18IHxvfHYpfHp6KXxtdCg1MHxwMXx2ICl8bXdicHxteXdhfG4xMFswLTJdfG4yMFsyLTNdfG4zMCgwfDIpfG41MCgwfDJ8NSl8bjcoMCgwfDEpfDEwKXxuZSgoY3xtKVwtfG9ufHRmfHdmfHdnfHd0KXxub2soNnxpKXxuenBofG8yaW18b3AodGl8d3YpfG9yYW58b3dnMXxwODAwfHBhbihhfGR8dCl8cGR4Z3xwZygxM3xcLShbMS04XXxjKSl8cGhpbHxwaXJlfHBsKGF5fHVjKXxwblwtMnxwbyhja3xydHxzZSl8cHJveHxwc2lvfHB0XC1nfHFhXC1hfHFjKDA3fDEyfDIxfDMyfDYwfFwtWzItN118aVwtKXxxdGVrfHIzODB8cjYwMHxyYWtzfHJpbTl8cm8odmV8em8pfHM1NVwvfHNhKGdlfG1hfG1tfG1zfG55fHZhKXxzYygwMXxoXC18b298cFwtKXxzZGtcL3xzZShjKFwtfDB8MSl8NDd8bWN8bmR8cmkpfHNnaFwtfHNoYXJ8c2llKFwtfG0pfHNrXC0wfHNsKDQ1fGlkKXxzbShhbHxhcnxiM3xpdHx0NSl8c28oZnR8bnkpfHNwKDAxfGhcLXx2XC18diApfHN5KDAxfG1iKXx0MigxOHw1MCl8dDYoMDB8MTB8MTgpfHRhKGd0fGxrKXx0Y2xcLXx0ZGdcLXx0ZWwoaXxtKXx0aW1cLXx0XC1tb3x0byhwbHxzaCl8dHMoNzB8bVwtfG0zfG01KXx0eFwtOXx1cChcLmJ8ZzF8c2kpfHV0c3R8djQwMHx2NzUwfHZlcml8dmkocmd8dGUpfHZrKDQwfDVbMC0zXXxcLXYpfHZtNDB8dm9kYXx2dWxjfHZ4KDUyfDUzfDYwfDYxfDcwfDgwfDgxfDgzfDg1fDk4KXx3M2MoXC18ICl8d2ViY3x3aGl0fHdpKGcgfG5jfG53KXx3bWxifHdvbnV8eDcwMHx5YXNcLXx5b3VyfHpldG98enRlXC0vaTtoZT13NS5aNigxNCk7ZmU9dzUuWjYoMjMpO3BlPXc1Llo2KDExMSk7X2U9dzUuWjYoMjYwKTtsZT0vbWFjaW50b3NoLztkZT13NS5mNig5MCk7dmU9dzUuZjYoMzMyKTtiZT13NS5mNigyMDApO21lPS9tb3ppbGxhLztnZT13NS5mNigxNzQpO3llPXc1LmY2KDEzNSk7a2U9dzUuZjYoMzc4KTt3ZT0vKD86XHcrKVwvKFtcZFwuXSspKD86JHxcc3xcL3xcKSkrL2k7eGU9dzUuWjYoMzQpO09lPXc1LmY2KDM3Nyk7Q2U9dzUuZjYoNDcyKTtFZT13NS5mNigxMTUpO1BlPXc1Llo2KDE5NCk7VGU9dzUuZjYoNDE0KTtBZT13NS5mNig2NSk7RmU9dzUuWjYoMTA3KTtTZT13NS5mNig0MDMpO2plPXc1LmY2KDI5Mik7TGU9dzUuWjYoNTgpO3plPXc1Llo2KDE2NCk7QmU9Lyg/Ok9QUnxPcGVyYXxPUGlPUylcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0llPXc1LmY2KDIyOSk7TWU9dzUuWjYoNDY3KTtXZT13NS5mNig0NjMpO0RlPXc1Llo2KDQzNyk7VWU9dzUuZjYoMTkzKTtSZT13NS5aNigzMyk7TmU9dzUuZjYoODUpO0hlPXc1LmY2KDQwOCk7cWU9dzUuZjYoMjApO0plPXc1Llo2KDk4KTtWZT13NS5mNigxMzYpOyRlPXc1LmY2KDI3Nyk7UWU9dzUuWjYoNyk7R2U9dzUuWjYoODYpO1llPXc1LmY2KDE3NSk7S2U9dzUuWjYoMjcxKTtaZT13NS5aNigzOTkpO1hlPXc1LmY2KDEzMyk7dGk9dzUuWjYoOTUpO2VpPXc1LmY2KDE1Mik7aWk9dzUuWjYoMzEyKTtuaT13NS5aNigyOTgpO3JpPXc1Llo2KDQzMyk7b2k9dzUuZjYoMTgzKTtzaT0vYW5kcm9pZHx3ZWJvc3xpcGhvbmV8aXBhZHxpcG9kfGJsYWNrYmVycnl8aWVtb2JpbGV8b3BlcmFccyttaW5pLzthaT13NS5aNigzODIpO2NpPXc1LmY2KDEyNyk7dWk9dzUuWjYoMzM2KTtoaT13NS5aNigyOTUpO2ZpPXc1Llo2KDMwNyk7cGk9dzUuZjYoMjUxKTtfaT13NS5mNig0MTkpO2xpPXc1LmY2KDMxKTtkaT13NS5aNigyNzQpO3ZpPXc1LmY2KDQ0Nik7Ymk9dzUuWjYoMTYzKTttaT13NS5mNig5NCk7Z2k9dzUuWjYoMjIwKTt5aT13NS5aNigzNTQpO2tpPXc1Llo2KDE4Nik7d2k9dzUuZjYoNDEyKTt4aT13NS5mNig0NDcpO09pPXc1Llo2KDQwNCk7Q2k9dzUuZjYoNTIpO0VpPXc1Llo2KDY4KTtQaT13NS5mNigzNSk7VGk9dzUuZjYoNTYpO0FpPXc1LmY2KDEwMyk7Rmk9dzUuWjYoMzc5KTtTaT13NS5mNig0NTEpO2ppPXc1Llo2KDQ3NSk7TGk9dzUuWjYoMjEpO3ppPXc1LmY2KDE3MSk7Qmk9dzUuZjYoMTMxKTtJaT13NS5mNig0ODgpO01pPXc1LmY2KDE4MCk7V2k9dzUuWjYoNDQ1KTtEaT0vYnV0dG9ufGlucHV0L2k7VWk9dzUuWjYoMTM0KTtSaT13NS5mNigyMjgpO05pPXc1LmY2KDc4KTtIaT13NS5aNig1NCk7cWk9dzUuWjYoMTY3KTtKaT13NS5mNig0NjUpO1ZpPXc1Llo2KDMzNSk7JGk9dzUuZjYoMTY5KTtRaT13NS5mNigzNjgpO0dpPXc1LmY2KDI4Nyk7WWk9dzUuWjYoMzQ4KTtLaT13NS5mNigzMDEpO1ppPXc1LmY2KDQ0KTtYaT13NS5mNigyNjQpO3RuPXc1LmY2KDc3KTtlbj13NS5mNig0NjApO25uPXc1LmY2KDMzNyk7cm49dzUuWjYoMTU3KTtvbj13NS5aNigzMjUpO3NuPXc1LmY2KDIzNyk7YW49dzUuZjYoNDg2KTtjbj13NS5mNigxNTUpO3VuPXc1Llo2KDEwNCk7aG49dzUuWjYoMzU2KTtmbj13NS5aNig0OCk7cG49dzUuZjYoMjQyKTtfbj13NS5mNig0MDApO2xuPXc1Llo2KDI2NSk7ZG49dzUuZjYoMjg0KTt2bj13NS5aNigyODgpO2JuPXc1LmY2KDQzOSk7bW49dzUuWjYoMzQxKTtnbj13NS5aNigyMDMpO3luPXc1LmY2KDIxNyk7a249dzUuWjYoMzIxKTt3bj13NS5mNig0MzIpO3huPXc1LmY2KDIyKTtPbj02NDc9PSg0OTguMjUsMjAwKT8oMS42OWUrMyw0NjkpOnc1LmY2KDk2KTtDbj13NS5mNigzODMpO0VuPXc1LmY2KDM1OSk7UG49dzUuWjYoMzUwKTtUbj0vXk9wZXJhXC8uKj9QcmVzdG9cLy4qP1ZlcnNpb25cLyhbXGRcLl0rKS9pO0FuPXc1Llo2KDE5MSk7Rm49dzUuZjYoNDQ4KTtTbj13NS5mNigyNDQpO2puPXc1Llo2KDIzMSk7TG49dzUuZjYoMTIwKTt6bj13NS5mNig0NTApO0JuPXc1Llo2KDExOCk7SW49dzUuZjYoNik7TW49dzUuWjYoNzUpO1duPXc1LmY2KDEyMyk7RG49dzUuWjYoMzA0KTtVbj0vcmVzZXR8YnV0dG9ufHN1Ym1pdC9pO1JuPXc1LmY2KDQ4NCk7Tm49dzUuZjYoMTk2KTtIbj13NS5mNigyMjYpO3FuPXc1LmY2KDM1Myk7Sm49dzUuWjYoMTgpO1ZuPXc1LmY2KDE2OCk7JG49dzUuZjYoMzE0KTtRbj13NS5aNig0NzEpO0duPXc1LmY2KDQ1OSk7WW49dzUuZjYoMzE3KTtLbj13NS5mNigyNDkpO1puPS9WZXJzaW9uXC8oW1xkXC5dKylccysobW9iaWxlXC9bXlxzXStccyspP1NhZmFyaS9pO1huPXc1LmY2KDE0NSk7dHI9dzUuWjYoMjQwKTtlcj13NS5mNigxOSk7aXI9dzUuWjYoNDg5KTtucj13NS5aNigyNzYpO3JyPXc1LmY2KDQ4Mik7b3I9dzUuZjYoNDY2KTtzcj13NS5aNigyNzApO2FyPXc1Llo2KDE0Nyk7Y3I9dzUuZjYoMjQpO3VyPXc1LmY2KDgzKTtocj13NS5aNigyNzkpO2ZyPXc1Llo2KDQzKTtwcj13NS5mNig0MjApO19yPXc1LmY2KDQ2Mik7bHI9L2Nocm9tZXxjcmlvcy87ZHI9dzUuWjYoNDExKTt2cj0vIy4qJC87YnI9dzUuZjYoMTU5KTttcj13NS5aNigwKTtncj0vKGNvbXBhdGlibGV8d2Via2l0KS87eXI9L0Z4aU9TXC8oW1xkXC5dKykvaTtrcj13NS5mNig1OSk7d3I9dzUuWjYoMzgpO3hyPXc1LmY2KDE5OCk7T3I9dzUuZjYoMTApO0NyPXc1LmY2KDQ2NCk7RXI9dzUuWjYoMTE2KTtQcj13NS5mNigzNjkpO1RyPXc1LmY2KDEyMSk7QXI9L21zaWV8dHJpZGVudFwvLztGcj13NS5mNigyNTYpO1NyPXc1LmY2KDQ3MCk7anI9dzUuZjYoMjkzKTtMcj13NS5mNig4Nyk7enI9L2Nocm9tZXxvcGVyYXxlZGdlfGNyaW9zfG9waW9zfGZ4aW9zfHVjL2k7QnI9dzUuWjYoMjUyKTtJcj13NS5aNigxMDgpO01yPXc1LmY2KDkxKTtXcj13NS5mNigyKTtEcj13NS5mNigyNjgpO1VyPXc1Llo2KDI3OCk7UnI9dzUuWjYoMzI2KTtOcj13NS5mNig5KTtIcj13NS5mNigxMzIpO3FyPXc1Llo2KDMyNCk7SnI9LyhhbmRyb2lkfGJiXGQrfG1lZWdvKS4rbW9iaWxlfGF2YW50Z298YmFkYVwvfGJsYWNrYmVycnl8YmxhemVyfGNvbXBhbHxlbGFpbmV8ZmVubmVjfGhpcHRvcHxpZW1vYmlsZXxpcChob25lfG9kKXxpcGFkfGlyaXN8a2luZGxlfEFuZHJvaWR8U2lsa3xsZ2UgfG1hZW1vfG1pZHB8bW1wfG5ldGZyb250fG9wZXJhIG0ob2J8aW4paXxwYWxtKCBvcyk/fHBob25lfHAoaXhpfHJlKVwvfHBsdWNrZXJ8cG9ja2V0fHBzcHxzZXJpZXMoNHw2KTB8c3ltYmlhbnx0cmVvfHVwXC4oYnJvd3NlcnxsaW5rKXx2b2RhZm9uZXx3YXB8d2luZG93cyAoY2V8cGhvbmUpfHhkYXx4aWluby9pO1ZyPSgyNDk2LDg0OTUpIT05NzY/dzUuZjYoMjk3KTohITA7JHI9dzUuWjYoNDI2KTtRcj13NS5mNigyMjUpO0dyPXc1LmY2KDE4OCk7WXI9dzUuZjYoNDMxKTtLcj13NS5mNigyNTApO1pyPXc1Llo2KDI2MSk7WHI9dzUuZjYoMTc2KTt0bz13NS5mNigyNSk7ZW89dzUuWjYoMTk1KTtpbz13NS5mNigzMjgpO25vPXc1Llo2KDQwOSk7cm89dzUuZjYoMzQ5KTtvbz13NS5aNigzMjIpO3NvPXc1Llo2KDMxNik7YW89dzUuWjYoMzg1KTtjbz13NS5mNigxMTMpO3VvPXc1LmY2KDQ3NCk7aG89dzUuWjYoMjY3KTtmbz13NS5mNigyNjYpO3BvPXc1Llo2KDQwNyk7X289dzUuWjYoNjMpO2xvPXc1Llo2KDM2Nyk7dm89L3dlYmtpdC87Ym89dzUuWjYoNDUyKTttbz0vc2FmYXJpLztnbz13NS5aNig5Myk7eW89L29wZXJhfG9wcnxvcGlvc1wvLztrbz13NS5aNigzMzEpO3dvPXc1LmY2KDI2KTt4bz13NS5aNigxODIpO09vPXc1LmY2KDM4MCk7Q289dzUuWjYoMTEwKTtFbz13NS5mNigxMTIpO1BvPXc1LmY2KDMwNSk7VG89dzUuZjYoNzQpO0FvPXc1LmY2KDEwMik7Rm89dzUuZjYoNDc4KTtTbz0vYW5kcm9pZC87am89dzUuZjYoMzkxKTtMbz13NS5aNigzMDYpO3pvPXc1LmY2KDQwNSk7Qm89dzUuWjYoOTkpO0lvPXc1Llo2KDM5Nik7TW89dzUuWjYoNDQwKTtXbz13NS5mNig2Nyk7RG89dzUuWjYoNDAxKTtVbz13NS5aNigxNTQpO1JvPXc1LmY2KDI4OSk7Tm89dzUuWjYoMzkzKTtIbz13NS5mNig3OSk7cW89dzUuWjYoMTQwKTtKbz13NS5aNigzNzIpO1ZvPXc1Llo2KDQyMik7JG89dzUuZjYoNDQ5KTtRbz13NS5aNigzOTUpO0dvPXc1Llo2KDIwNik7WW89dzUuWjYoMjQzKTtLbz13NS5mNig2Mik7Wm89dzUuWjYoNDg1KTtYbz13NS5mNigxMzApO3RzPXc1Llo2KDE1Nik7ZXM9dzUuZjYoMjAxKTtpcz13NS5aNigzNjEpO25zPXc1LmY2KDMxNSk7cnM9dzUuWjYoMTIyKTtvcz13NS5mNig3MCk7c3M9dzUuZjYoMjU3KTthcz13NS5aNig0MjUpO2NzPXc1LmY2KDMzMCk7dXM9dzUuZjYoNzMpO2hzPXc1LmY2KDMwMyk7ZnM9dzUuWjYoMTAwKTtwcz13NS5mNigzNzQpO19zPXc1Llo2KDY2KTtscz0oODI2LjA2LDk5Ny4yKSE9PSgyNjIuNzksNzAwLjQpP3c1LmY2KDE3OSk6KG81LHc1Llo2KDM2KSk7ZHM9dzUuWjYoMjIzKTt2cz13NS5mNigxMTkpO2JzPXc1Llo2KDMwOCk7bXM9dzUuZjYoNDcpO2dzPXc1Llo2KDMxOSk7eXM9dzUuZjYoMTgxKTtrcz13NS5mNigzNDUpO3dzPXc1Llo2KDE1KTt4cz0vXigjfGphdmFzY3JpcHQpL2k7T3M9dzUuWjYoMzY2KTtDcz13NS5aNigxOTkpO0VzPXc1Llo2KDM4NCk7UHM9dzUuZjYoNDA2KTtUcz13NS5mNig0MjkpO0FzPXc1LmY2KDI0Nyk7RnM9dzUuZjYoNDQzKTtTcz13NS5mNigzMzgpO2pzPS8oPzpGaXJlZm94fENocm9tZSlcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0xzPXc1Llo2KDM3MCk7enM9dzUuZjYoMzEwKTtCcz13NS5aNigzODYpO0lzPXc1Llo2KDI5NCk7TXM9dzUuWjYoMjgzKTtXcz13NS5aNigzODcpO0RzPXc1LmY2KDM5KTtVcz13NS5aNigxMDYpO1JzPXc1LmY2KDIwMik7TnM9dzUuWjYoMzExKTtIcz13NS5mNig0MzgpO3FzPXc1LmY2KDcxKTtKcz13NS5mNigxMzcpO1ZzPXc1Llo2KDI3KTskcz13NS5aNig4NCk7UXM9L18vZztHcz13NS5aNigxNTgpO1lzPXc1Llo2KDE5Mik7S3M9dzUuZjYoNDIzKTtacz13NS5mNigzMzkpO1hzPXc1Llo2KDE1MCk7dGE9dzUuWjYoMTQyKTtlYT13NS5mNig0KTtpYT13NS5aNig0MTApO25hPXc1LmY2KDIzNik7cmE9dzUuZjYoNDAyKTtvYT13NS5mNigyMTQpO3NhPXc1Llo2KDQxNyk7YWE9dzUuZjYoMTg0KTtjYT13NS5aNigxOTcpO3VhPXc1LmY2KDIzMyk7aGE9dzUuZjYoMzApO2ZhPS9saW51eC87cGE9dzUuWjYoMjgyKTtfYT0vb3BlcmEvO2xhPXc1Llo2KDM2NCk7ZGE9dzUuWjYoMTczKTt2YT13NS5aNigzMDApO2JhPXc1LmY2KDIzNSk7bWE9L2VkZ2V8b3ByXC8vO2dhPXc1LmY2KDI4NSk7eWE9dzUuZjYoNDYpO2thPXc1Llo2KDEzKTt3YT13NS5aNigyMDUpO3hhPXc1LmY2KDIyNCk7T2E9dzUuZjYoMzQ0KTtDYT13NS5aNigyMTMpO0VhPS9FZGdlXC8oW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTtQYT13NS5mNigxMjYpO1RhPXc1Llo2KDExNCk7QWE9L14oPzouKlteXHddKSooW1x3XSspXHMqJC9pO0ZhPXc1LmY2KDM5Mik7U2E9dzUuWjYoNjkpO2phPXc1LmY2KDMpO0xhPXc1LmY2KDQ1KTt6YT13NS5mNigzMjMpO0JhPXc1LmY2KDEzOSk7SWE9dzUuWjYoMTI5KTtNYT13NS5mNig4KTtXYT13NS5mNig0Mik7RGE9dzUuZjYoMSk7VWE9dzUuWjYoODkpO1JhPXc1LmY2KDIwOSk7TmE9dzUuZjYoMjgpO0hhPXc1LmY2KDIxOSk7cWE9dzUuWjYoMjMwKTtKYT13NS5aNig4MSk7VmE9dzUuWjYoMzA5KTskYT13NS5mNigzNDcpO1FhPXc1LmY2KDM4MSk7R2E9dzUuWjYoOTIpO1lhPXc1LmY2KDEyNSk7S2E9dzUuWjYoMzIpO1phPXc1LmY2KDM5MCk7WGE9dzUuZjYoNDY4KTt0Yz13NS5mNigzNik7ZWM9dzUuZjYoMzk3KTtpYz13NS5aNig0ODApO25jPXc1LmY2KDIyMik7cmM9dzUuZjYoNDU3KTtvYz13NS5aNigzNTIpO3NjPXc1Llo2KDI5KTthYz0vaShQaG9uZXxQYWR8UG9kKS9pO2NjPXc1LmY2KDQzNCk7dWM9dzUuZjYoNDIxKTtoYz13NS5aNig0NzMpO2ZjPXc1LmY2KDE3MCk7cGM9dzUuZjYoMjYyKTtfYz13NS5aNigxNTEpO2xjPXc1LmY2KDQ5KTtkYz13NS5mNigyNTQpO3ZjPXc1LmY2KDQyOCk7YmM9dzUuZjYoMTUzKTttYz13NS5aNigyNjkpO2djPXc1Llo2KDU3KTt5Yz13NS5mNigzNTcpO2tjPS9UcmlkZW50XC8uKj9ydjooW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTt3Yz13NS5aNig0NTMpO3hjPXc1Llo2KDQ3Nik7T2M9dzUuZjYoNDU0KTtDYz13NS5mNig0NTgpO0VjPXc1LmY2KDgwKTtQYz0vOlxkKyQvO1RjPXc1Llo2KDI3Mik7QWM9dzUuWjYoMzI3KTtGYz13NS5mNig0NzkpO1NjPXc1Llo2KDYxKTtqYz13NS5mNigyOTEpO0xjPXc1Llo2KDIzMik7emM9dzUuWjYoMTEpO0JjPXc1LmY2KDM0Nik7SWM9dzUuWjYoMTA1KTtNYz13NS5aNig0NzcpO1djPXc1Llo2KDQwKTtEYz13NS5aNig3Nik7VWM9dzUuWjYoMTYpO1JjPXc1Llo2KDIyNyk7TmM9dzUuWjYoMjA0KTtIYz13NS5mNigzNyk7IWZ1bmN0aW9uKHQseSxSdCxYZSxyaSx5aSxBaSxObixkcixVcixpbyxybyxDbyxHcyx6YyxVYyxxYyxKYyxWYywkYyl7InVzZSBzdHJpY3QiO3ZhciBRYyxHYyxZYyxLYyxaYyxYYyx0dSxldSxpdSxudSxydSxvdSxzdSxhdSxjdSx1dSxodSxmdSxwdSxfdSxsdSxkdSx2dSxidSxtdSxndSx5dSxrdSx3dSx4dSxPdSxDdSxFdSxQdSxUdSxBdSxGdTtydT10O3c1Llk0KDApO291PXc1LmM0KHVpLEdyLGJyLF9yLFllLFNpLFR0LGRuLFllLHUsbWksT3QsR3IsWWUsdXIpO3c1Llk0KDEpO3N1PXc1LnU0KGZlLFR0LEh0LG90LFR0KTt3NS5vNCgxKTthdT13NS51NChXaSxQZSxLLF9jLFBlKTt3NS5ZNCgyKTtjdT13NS5jNChydSxnaSk7dzUubzQoMik7dXU9dzUudTQocnUsWm8pO3c1Lm80KDMpO2h1PXc1LmM0KE9jLHJ1LEJpLFV0LEdyLEdyKTt3NS5vNCgyKTtmdT13NS51NChydSwkYSk7cHU9YW87X3U9eGk7bHU9THI7ZHU9bW47dnU9eVtmXVtxbytHcitDXVtYcytHcit0cytHcituY10oKTtidT17dW5kZXI6bzUsbmV3VGFiOm81fTttdT1udWxsO2d1PW81O3l1PSF7fTtrdT1mdW5jdGlvbigpe307dzUuWTQoNCk7d3U9dzUudTQoR3IsT3QsRXQpO3h1PXJpW3ZzK0dyK0FvXXx8e3NyYzpudWxsfTt3NS5vNCg0KTtPdT15W2ZdW3c1LmM0KGVvLEdyLGtyKV07Q3U9eXU7RXU9eXU7UHU9eXU7VHU9ZnVuY3Rpb24oKXt2YXIgRTksbzksdzk7dHJ5e0U5PTM2MDIzMDM0MztvOT01MDA4ODEwMDM7dzk9Mjtmb3IodmFyIGI1PTE7dzUuTDEoYjUudG9TdHJpbmcoKSxiNS50b1N0cmluZygpLmxlbmd0aCw1ODI0MykhPT1FOTtiNSsrKXtyZXR1cm4geVtwXT09PXlbcXJdfHwheVtwXVttcl1bRWldWyhYcy1HciklaF0oKSE9VGM/eVtwXTp5W3FyXTt3OSs9Mjt9aWYodzUuTDEodzkudG9TdHJpbmcoKSx3OS50b1N0cmluZygpLmxlbmd0aCw1MTUyOSkhPT1vOSl7cmV0dXJuIHlbcF0hPT15W3FyXSYmdHlwZW9mIHlbcF1bbXJdW0VpXVtYcytHcitoXSgpPT09VGM/eVtwXTp5W3FyXTt9fWNhdGNoKHQpe3ZhciBBOSxJOSxLOTtBOT0yMjIyMDY4MDc7STk9NDU1MTUwMTA4O0s5PTI7Zm9yKHZhciBROT0xO3c1LkwxKFE5LnRvU3RyaW5nKCksUTkudG9TdHJpbmcoKS5sZW5ndGgsNjg5NDApIT09QTk7UTkrKyl7cmV0dXJuIFB1PWd1LHlbcXJdO0s5Kz0yO31pZih3NS5MMShLOS50b1N0cmluZygpLEs5LnRvU3RyaW5nKCkubGVuZ3RoLDU2NzU3KSE9PUk5KXtyZXR1cm4gUHU9Z3UseVtxcl07fX19KCk7QXU9VHVbSmFdW1FhXTtGdT1mdW5jdGlvbigpe3ZhciB0O3RyeXt0PVR1W0VpXVt1bl07fWNhdGNoKHQpe31yZXR1cm4hUHUmJnR8fChidT17bmV3VGFiOmd1LHVuZGVyOnl1fSx0PXJpW2lhXSksdDt9KCk7S2M9e3Q6W10sbjpmdW5jdGlvbih0KXt2YXIgSDcsdjcsVDc7SDc9MTg2NDAwNjYwNDt2Nz03MzE4NDIzNTE7VDc9Mjtmb3IodmFyIG83PTE7dzUuZDEobzcudG9TdHJpbmcoKSxvNy50b1N0cmluZygpLmxlbmd0aCw5MTY5NikhPT1INztvNysrKXt0eXBlb2YgeVt3c10hPT1nZSYmeVt3c11bT29dJiZObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO1Q3Kz0yO31pZih3NS5kMShUNy50b1N0cmluZygpLFQ3LnRvU3RyaW5nKCkubGVuZ3RoLDI0OTc5KSE9PXY3KXt+eVt3c109PT1nZXx8eVt3c11bT29dfHxObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO319LHI6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9MDt0PHRoaXMudFtwaV07dCsrKXt0aGlzLm4odGhpcy50W3RdKTt9fSxlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9W3RdW0tuXShBaVtYdF1bcW5dW0NpXShhcmd1bWVudHMsMSkpO3RoaXMudFtNcl0oZSk7R2MuaSgpJiZ0aGlzLm4oZSk7fX07ZXU9e3M6ZnVuY3Rpb24oKXtpZih0aGlzLm89PT1tdSl0cnl7eVthcytHcit0aV1bbGkrR3IrRXJdKHJ1LDEpO3lbYXMrR3IrdGldW3huK0dyK0VyXShydSk7dGhpcy5vPWd1O31jYXRjaCh0KXt2YXIgdzcscDcsYjk7dzc9LTE2MTA5ODQyMzA7cDc9OTg2NDU4NDQ2O2I5PTI7Zm9yKHZhciBtOT0xO3c1LmQxKG05LnRvU3RyaW5nKCksbTkudG9TdHJpbmcoKS5sZW5ndGgsODg3MTMpIT09dzc7bTkrKyl7dGhpcy5vPXl1O2I5Kz0yO31pZih3NS5MMShiOS50b1N0cmluZygpLGI5LnRvU3RyaW5nKCkubGVuZ3RoLDMzNDE0KSE9PXA3KXt0aGlzLm89eXU7fXRoaXMubz15dTt9cmV0dXJuIHRoaXMubzt9LHU6ZnVuY3Rpb24odCl7dGhpcy5zKCk/eVthcytHcit0aV1beG4rR3IrRXJdKHQpOnR1LnUodCk7fSxjOmZ1bmN0aW9uKHQpe3RyeXtyZXR1cm4gdGhpcy5zKCk/eVthcytHcit0aV1bYWErR3IrRXJdKHQpOnR1LmModCk7fWNhdGNoKHQpe3JldHVybiBtdTt9fSxvOm11LGE6ZnVuY3Rpb24odCxlKXt0aGlzLnMoKT95W2FzK0dyK3RpXVtsaStHcitFcl0odCxlKTp0dS5hKHQsZSk7fX07dHU9e3U6ZnVuY3Rpb24odCl7dGhpcy5hKHQsMCxuZXcgSmMoMCkpO30sYzpmdW5jdGlvbih0KXt2YXIgZTt3NS5ZNCg1KTtlPXJpW050XVtiY10obmV3IFVyKHc1LnU0KGVyLEdyLEdyLGV0LHNjLHQsR3IsR3IsdHQsdWMsR3IsR3IsSm8sR3IpLGxzKSk7cmV0dXJuIGU/VmMoZVswXVtDcl0oR3IrZXQrR3IpWzFdKTptdTt9LGE6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO3M9aXx8R3I7cyYmKHR5cGVvZiBzPT09V3Q/KG89bmV3IEpjKCkpW2xpK0dyK0hdKG9bYWErR3IrSF0oKSsxZTMqcyk6bz1zLHM9R3IrZXIrZmkrZXQrR3Irb1tYcytHcitWcitHcit4YytHcitXK0dyK2hdKCkpO3JpW050XT10KyhHcitldCtHcikrJGMoR3IrZSkrcysocj9HcitlcitkcytldCtHcityOkdyKSsoR3IrZXIrQXQrZXQrR3IpKyhufHxHcitQZStHcik7fX07WmM9e3A6ZnVuY3Rpb24odCl7dmFyIGUsaTtpPXt9O2ZvcihlPTA7ZTx0W3BpXTtlKyspe2lbdFtlXVswXV09dFtlXVsxXTt9cmV0dXJuIGk7fSxXOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbjt0cnl7cmV0dXJuIG49dFthYStHcitHaV0oZSksdHlwZW9mIGkhPT1UYz95dTohIW5ldyBVcihGbitpK01zLGxzKVtqY10obik7fWNhdGNoKHQpe3JldHVybiB5dTt9fSxBOmZ1bmN0aW9uKCl7dHJ5e3JldHVybiB0eXBlb2YgeS5qUXVlcnkuZm4ub249PT1aczt9Y2F0Y2godCl7cmV0dXJuIHl1O319LEc6ZnVuY3Rpb24odCl7cmV0dXJuKHQ/bmV3IEpjKHQpOm5ldyBKYygpKVthYStHcitIXSgpO30sTTpmdW5jdGlvbih0KXt2YXIgbTAsQTAsSTAsZSxsNyxjNyxWNzttMD0tMTc4MjYxMjU4MTtBMD0tMTYzMzI0MDE2NDtJMD0yO2Zvcih2YXIgcjA9MTt3NS5MMShyMC50b1N0cmluZygpLHIwLnRvU3RyaW5nKCkubGVuZ3RoLDM0ODU4KSE9PW0wO3IwKyspe0kwKz0yO31pZih3NS5MMShJMC50b1N0cmluZygpLEkwLnRvU3RyaW5nKCkubGVuZ3RoLDg0OTA2KSE9PUEwKXt9dHJ5e2w3PS0xMjU4NTI0ODY5O2M3PTc3MTI1MDQ2ODtWNz0yO2Zvcih2YXIgeTc9MTt3NS5kMSh5Ny50b1N0cmluZygpLHk3LnRvU3RyaW5nKCkubGVuZ3RoLDEwMjkyKSE9PWw3O3k3KyspeyhlPXRbSmFdW1FhXShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7VjcrPTI7fWlmKHc1LmQxKFY3LnRvU3RyaW5nKCksVjcudG9TdHJpbmcoKS5sZW5ndGgsMjYwMTcpIT09YzcpeyhlPXRbSmFdW1FhXSgoVWEtVnQpL2NpKSlbYm9dKCk7ZVtJb10oKTt9fWNhdGNoKHQpe30oZT1BdShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7fSxUOmZ1bmN0aW9uKHQpe3QmJihUdVtFaV09dCk7fSxxOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxpPVt5cixUbixFYSxCZSxqcyxabixqdCxrYyx3ZV0sbj0wO248aVtwaV07bisrKWlmKGU9aVtuXVtqY10odnUpKXtyZXR1cm4gdD9VYyhlWzFdLDEwKTplWzFdW1pdKFFzLEdyK1R0K0dyKTt9cmV0dXJuIG11O30sTDpmdW5jdGlvbih0LGUpe3c1Llk0KDcpO3JldHVybiB3NS51NChZZSxlcixHcix0LGllLHlzLEdyLGUsR3IsVmUsVnQsR3IpO30sXzpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUTAsZTAsajA7UTA9LTE2NDA5MDY2NDA7ZTA9MzYxNTQ4MTI4O2owPTI7Zm9yKHZhciB0MD0xO3c1LmQxKHQwLnRvU3RyaW5nKCksdDAudG9TdHJpbmcoKS5sZW5ndGgsMzk3NjcpIT09UTA7dDArKyl7aT15O3c1Llk0KDQpO249dFtDcl0odzUudTQoR3IsVHQsR3IpKTtmb3IoZT0wO2U8bltwaV07ZSsrKXtpPWlbbltlXV07fXJldHVybiBpO2owKz0yO31pZih3NS5MMShqMC50b1N0cmluZygpLGowLnRvU3RyaW5nKCkubGVuZ3RoLDQ3NjE4KSE9PWUwKXtpPXk7dzUuWTQoNik7bj10W0NyXSh3NS51NChUdCxHcixHcikpO2ZvcihlPTQ7ZTw9bltwaV07ZS0tKXtpPWlbbltlXV07fXJldHVybiBpO319LFM6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbyxzMCxEMCxXMCxVMCx4MCx6MDtvPXkualF1ZXJ5fHxudWxsO2lmKHQmJnRbQW5dKXtyZXR1cm4gZ3U7fWlmKCFvKXtyZXR1cm4geXU7fXRyeXtzMD0tMTYxNTA0NTA7RDA9LTE5OTUwMzAzNTQ7VzA9Mjtmb3IodmFyIGMwPTE7dzUuZDEoYzAudG9TdHJpbmcoKSxjMC50b1N0cmluZygpLmxlbmd0aCw5Nzc5KSE9PXMwO2MwKyspe2lmKChlPShvKHQpW2llXShHYSkmJm8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9VzArPTI7fWlmKHc1LkwxKFcwLnRvU3RyaW5nKCksVzAudG9TdHJpbmcoKS5sZW5ndGgsMjI1MTYpIT09RDApe2lmKChlPShvKHQpW2llXShHYSl8fG8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9fX1jYXRjaCh0KXt9dHJ5e1UwPS0xMjgxMDM4MTgyO3gwPS01MjI2MTY2MzI7ejA9Mjtmb3IodmFyIGkwPTE7dzUuTDEoaTAudG9TdHJpbmcoKSxpMC50b1N0cmluZygpLmxlbmd0aCwzMjg1OSkhPT1VMDtpMCsrKXtmb3IoZT1vKHJpW1FyXSlbaWVdKEdhKVtnc10saT00O2k+ZVtwaV07aS0tKWZvcihyPW8oZVtpXVtvZV0pLG49NztuPj1yW3BpXTtuLS0paWYocltuXT09dCl7cmV0dXJuIGd1O316MCs9Mjt9aWYodzUuTDEoejAudG9TdHJpbmcoKSx6MC50b1N0cmluZygpLmxlbmd0aCw4ODE3MikhPT14MCl7Zm9yKGU9byhyaVtRcl0pW2llXShHYSlbZ3NdLGk9NDtpPmVbcGldO2ktLSlmb3Iocj1vKGVbaV1bb2VdKSxuPTc7bj49cltwaV07bi0tKWlmKHJbbl09PXQpe3JldHVybiBndTt9fWZvcihlPW8ocmlbUXJdKVtpZV0oR2EpW2dzXSxpPTA7aTxlW3BpXTtpKyspZm9yKHI9byhlW2ldW29lXSksbj0wO248cltwaV07bisrKWlmKHJbbl09PT10KXtyZXR1cm4gZ3U7fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sQzpmdW5jdGlvbih0LGUsaSl7dmFyIG4scixvO289WmMuTyhvNSk7cmV0dXJuIG49b1t0bytHcit5YV1bbXJdW1VzK0dyK0NuXShkZSksbltPXT1yYStQZStDdCxuW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoSmErVHQrX3QrWWUrR3IrZXQrR3IrWWUrSmErVHQrcCtZZStHcitldCtHcitZZStKYStUdCt1cytHcitDbitZZStHcitldCtHcitZZStkK2VyK0dyKSsoSmErVHQrJG4rWWUrR3IrZXQrR3IrWWUrWnMrUit6K1ZlK0dyK1llK3NvK1ZlK0dyK1llK0NlK1ArR3IrWWUrR3Ird24rR3IpKyh1YStZZStCcytHcitYbytZZStHcitldCtHcitZZStKYStUdCtRYStSK3orVmUrR3IrWWUrc28rVmUrR3IrWWUrQ2UrUCtHcitlcitHcikrKFdyK1llK0dyK3duK0JzK0dyK1hvK1R0K1dvK1llK0dyK2V0K0dyK1llK2QrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSsoTnIrWWUrQnMrR3IrWG8rZXIrR3IpKyhHcitEcitHcitlcitHciksb1t0bytHcit5YV1bbXJdW1FyXVtJdCtHcitXZV0obikscj1vW3RvK0dyK3lhXS5ta3AodCxlLGkpLFpjLlAobykscjt9LEI6ZnVuY3Rpb24odCxlLG4pe3ZhciByLG8scztyPTA7bz1ufHwxMDtzPXQ7dHJ5e2Zvcig7cyYmcisrPG87KXtpZih0eXBlb2YgZT09PVRjJiYoc1tTYytHcittY109PT1lfHxaYy5JKHMsZSkpfHx0eXBlb2YgZT09PWFyJiZzPT09ZSl7cmV0dXJuIHM7fXc1Llk0KDQpO3M9c1t3NS51NChfdCxHcixpKV07fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sRjpmdW5jdGlvbih0KXt2YXIgZTtlPVJ0W1RlXTtyZXR1cm4gdHlwZW9mIHQhPT1nZSYmKGU9KGN0W2pjXSh0KXx8W0dyLEdyXSlbMV0pLGVbWl0oUGMsR3IpO30seDpmdW5jdGlvbih0KXtyZXR1cm4geWlbWHRdW1hzK0dyK2hdW0NpXSh0KT09PUdyK0pvK2FyK1llK2JuK3R0K0dyO30sazpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUjAsUDAsSjA7aT1bXTtuPVpjLnYoKTt0cnl7UjA9LTE2Mjc2MTY5Mzc7UDA9LTIwMDI5NzgxNzY7SjA9Mjtmb3IodmFyIEIwPTE7dzUuTDEoQjAudG9TdHJpbmcoKSxCMC50b1N0cmluZygpLmxlbmd0aCw3NjkxMCkhPT1SMDtCMCsrKXtmb3IoZSBpbiBuKXt+dFtlXSE9Z2V8fGlbTXJdKGUvKChHci1ldCklR3IpLXRbZV0pO31KMCs9Mjt9aWYodzUuTDEoSjAudG9TdHJpbmcoKSxKMC50b1N0cmluZygpLmxlbmd0aCw4NjExMCkhPT1QMCl7Zm9yKGUgaW4gbil7fnRbZV0hPWdlfHxpW01yXShlLygoR3ItZXQpJUdyKS10W2VdKTt9fWZvcihlIGluIG4pe3R5cGVvZiB0W2VdIT09Z2UmJmlbTXJdKGUrKEdyK2V0K0dyKSt0W2VdKTt9fWNhdGNoKHQpe0tjLmUodCk7fXc1Llk0KDQpO3JldHVybiBpW05pXSh3NS5jNChHcixWZSxHcikpO30sUjpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5CKHQsT24pO30seTpmdW5jdGlvbigpe2Zvcih2YXIgdCxlPXt9LGk9MDtpPGFyZ3VtZW50c1twaV07aSsrKWZvcih0IGluIGFyZ3VtZW50c1tpXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0oYXJndW1lbnRzW2ldLHQpJiYoZVt0XT1hcmd1bWVudHNbaV1bdF0pO31yZXR1cm4gZTt9LFY6ZnVuY3Rpb24odCxlKXt2YXIgSjEsWDEsQjE7SjE9NDUyODczNzI5O1gxPTEyNzMxMDM4NTg7QjE9Mjtmb3IodmFyIE4xPTE7dzUuZDEoTjEudG9TdHJpbmcoKSxOMS50b1N0cmluZygpLmxlbmd0aCw1NTI1MSkhPT1KMTtOMSsrKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpKihlLXQpKSt0O0IxKz0yO31pZih3NS5kMShCMS50b1N0cmluZygpLEIxLnRvU3RyaW5nKCkubGVuZ3RoLDI4MzUxKSE9PVgxKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpJShlL3QpKSV0O319LFE6ZnVuY3Rpb24odCl7dmFyIGUsaSxuO3c1Llk0KDgpO2U9dzUuYzQodHlwZW9mIHQsYXIpO2k9dDt3NS5vNCg0KTtuPXJpW1VzK0dyK0NhXSh3NS51NChTbixHcix1bykpO25bTHMrR3IrU24rR3IrQ2FdKGdzLGd1LGd1LHksMCwwLDAsMCwwLGd1LHl1LHl1LGd1LDAsbXUpO2V8fChpPVpjLnooVSx7aHJlZjp0fHxpZStWdCtyYStQZStqbytWZStHcit1aStkZSt1citKYStUdCtJbytSK0dyK1ArR3IrZXIrR3IrdWkrR3IrUGUrZGUrdXIrR3J9KSxyaVtRcl1bSXQrR3IrV2VdKGkpKTtpW2duK0dyK0NhXShuKTtlfHxaYy5QKGkpO30sejpmdW5jdGlvbih0LGUsaSl7dmFyIG4scjtyPXJpW1VzK0dyK0NuXSh0KTtmb3IobiBpbiBlKXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShlLG4pJiZyW2xpK0dyK0dpXShuLGVbbl0pO31yZXR1cm4gaSYmKHJbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPWkpLHI7fSxZOmZ1bmN0aW9uKCl7dHJ5e3c1Lm80KDQpO3JldHVybiEhT3VbdzUuYzQoZW4sUGUsTWMpXVt3NS51NCgkaSxHcixXcyldO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sbDpmdW5jdGlvbih0KXt2YXIgZSxpLFk3LGY3LHM3O2U9WmMuXyh0KTt3NS5ZNCg0KTtpPXRbWl0oQWEsdzUudTQoR3Isem8scSkpO3RyeXtZNz0tMTYzMTA2MDI3MDtmNz0xOTgxNTM2MDYxO3M3PTI7Zm9yKHZhciBXNz0xO3c1LkwxKFc3LnRvU3RyaW5nKCksVzcudG9TdHJpbmcoKS5sZW5ndGgsMTYwMikhPT1ZNztXNysrKXtyZXR1cm4rbmV3IFVyKChacy9ZZS1HcikvIGkveHIsUnMpW2lyXShlW1hzJUdyL2hdKCkpO3M3Kz0yO31pZih3NS5MMShzNy50b1N0cmluZygpLHM3LnRvU3RyaW5nKCkubGVuZ3RoLDExNjM3KSE9PWY3KXtyZXR1cm4hbmV3IFVyKFpzK1llK0dyK2kreHIsUnMpW2lyXShlW1hzK0dyK2hdKCkpO319Y2F0Y2godCl7cmV0dXJuIHRbWHMrR3IraF0oKVtMK0dyK1dhXShrbytZZStycytZZStVK1llK1pzKT4tMT9ndTpYYy5kP2d1Onl1O319LHY6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbzt3NS5vNCg0KTtlPXlbdzUuYzQoUGEsR3IsZyldO3c1Llk0KDQpO2k9eVt3NS5jNChQYSxHcix3YyldO249eVtPaStHcitVZV18fHlbT2krR3IrV25dfHwwO3I9eVtPaStHcit4b118fHlbT2krR3IrQ2NdfHwwO289e307cmV0dXJuIG9bb2NdPWUsb1tLYV09aSxvW0hpXT1uLG9bcF09cixvW29yXT0wLG9bRWldPTEsb1tTcl09MSxvW09yXT0xLG8ucmVzaXphYmxlPTEsb1tNZV09MSxYYy5iJiYob1tLYV0rPVhjLm0/NDY6NTIpLFhjLmcmJihvW29jXS09NSxvW0thXS09NCksdHlwZW9mIHQ9PT1hciYmKG89WmMueShvLHQpKSxvO30sTzpmdW5jdGlvbih0KXt2YXIgZTtlPXJpW1VzK0dyK0NuXShjbik7cmV0dXJuIGVbeGVdW3h0XT1YaSx0JiZyaVtRcl1bSXQrR3IrV2VdKGUpLGU7fSxEOmZ1bmN0aW9uKHQpe3JldHVybiB0W1NjK0dyK21jXT09PUZjK0dyK1ZyK0dyK3hjK0dyK3hjK0dyK2ZjK0dyK2d0fHx0W1NjK0dyK21jXT09PXZhK0dyK2d0K0dyK210K0dyK1ZyK0dyK3hjJiZVbltpcl0odFthYStHcitHaV0oTykpfHx0aGlzLkIodCxGYytHcitWcitHcit4YytHcit4YytHcitmYytHcitndCkhPT15dTt9LFA6ZnVuY3Rpb24odCl7dCYmdFtfdCtHcitpXSYmdFtfdCtHcitpXVt4bitHcitXZV0odCk7fSxJOmZ1bmN0aW9uKHQsZSl7dmFyIG4scixvO2lmKHR5cGVvZiBlIT09VGMpe3JldHVybiB5dTt9aWYodHlwZW9mIHJpW2VlK0dyK3Z0K0dyK21dPT09WnMpdHJ5e3I9dFtfdCtHcitpXVtlZStHcit2dCtHcittXShlKXx8eS5qUXVlcnkoZSk7fWNhdGNoKHQpe31lbHNlIGlmKFpjLkEoKSl0cnl7cj15LmpRdWVyeShlKTt9Y2F0Y2godCl7fWlmKHIpZm9yKG89MDtvPHJbcGldO28rKylpZihyW29dPT09dCl7cmV0dXJuIGd1O31zd2l0Y2goZVswXSl7Y2FzZSBHcitUdCtHcjpuPVtsbyxlW2ZzXSgxKV07YnJlYWs7Y2FzZSBHcitzZStHcjpuPVtWYSxlW2ZzXSgxKV07fXJldHVybiBuP3RoaXMuVyh0LG5bMF0sblsxXSk6eXU7fSxmOmZ1bmN0aW9uKHQsZSl7dHJ5e3JldHVybiEoIXRba2ldW2VdfHwhdFtraV1bZV1bWW5dKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LE46ZnVuY3Rpb24odCl7dmFyIGU7ZT10aGlzLlIodCk7cmV0dXJuIGUmJmVbdW5dJiYheHNbaXJdKGVbdW5dKT9lW3VuXTp5dTt9LEo6ZnVuY3Rpb24odCxlLGksbil7Zm9yKHZhciByLG8scyxhPXRbWHMrR3IraF0oKVtDcl0obnx8R3IrVHQrR3IpLGM9ZVtYcytHcitoXSgpW0NyXShufHxHcitUdCtHciksdT0wLGY9ZHJbQm9dKGFbcGldLGNbcGldKTt1PGYmJihyPVVjKGFbdV18fDAsMTApLG89VWMoY1t1XXx8MCwxMCkscWMocikmJihyPTApLHFjKG8pJiYobz0wKSxzPXI+bz8xOi0xLHI9PT1vKTt1Kyspe3M9MDt9c3dpdGNoKGkpe2Nhc2UgR3IrdXIrR3I6dzUubzQoOCk7cmV0dXJuIHc1LnU0KDEscyk7Y2FzZSBHcit1citHcitldCtHcjp3NS5ZNCg5KTtyZXR1cm4gdzUuYzQocywxKTtjYXNlIEdyK3VpK0dyOnc1Lm80KDEwKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK3VpK0dyK2V0K0dyOnc1Llk0KDExKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK2V0K0dyK2V0K0dyOmNhc2UgR3IrZXQrR3IrZXQrR3IrZXQrR3I6ZGVmYXVsdDp3NS5ZNCg4KTtyZXR1cm4gdzUudTQoMCxzKTt9fSwkOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1wZVtDcl0oR3IpLGk9ZVtwaV0sbj0wLHI9R3I7bjx0O24rKyl7cis9ZVtkcltBY10oZHJbTW5dKCkqaSldO31yZXR1cm4gcjt9LGg6ZnVuY3Rpb24odCxlKXt0cnl7cmV0dXJuIHRbYWErR3IrR2ldKGUpO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sSDpmdW5jdGlvbih0LGUsaSl7dmFyIG47dzUubzQoMik7bj13NS5jNChoaSx0KTtyZXR1cm4gdHlwZW9mIHlbbl0hPT1nZSYmcm8oeVtuXSkseVtuXT1pbyhlLGkpO30sdzpmdW5jdGlvbigpe3JldHVybiBQdTt9LFU6ZnVuY3Rpb24odCl7cmV0dXJuIHRbU2MrR3IrbWNdPT09dmErR3IrZ3QrR3IrbXQrR3IrVnIrR3IreGMmJm5lW2lyXSh0W2FhK0dyK0dpXShPKSl8fHRbU2MrR3IrbWNdPT09cGErR3IrT24rR3IrRmMrR3IrUHMrR3IrcGE7fX07aXU9e3R0OmZ1bmN0aW9uKHQsZSl7dmFyIGkscTUsbTUsQTU7dHJ5e3E1PS0xNDE1MjczNDIzO201PS0zMzc1MDc5MjY7QTU9Mjtmb3IodmFyIEs1PTE7dzUuZDEoSzUudG9TdHJpbmcoKSxLNS50b1N0cmluZygpLmxlbmd0aCwzNzU1NSkhPT1xNTtLNSsrKXtyZXR1cm4gZXx8KGk9cmlbKHdyLUdyKSVqbipHcipMY10odFtIYyVHci9VZV0sdFtIYy9Hci14b10pKT9pOnRbVGldJiZ0W1hzLUdyLUNuXSYmdFsoWHItR3IpJUNuXTtBNSs9Mjt9aWYodzUuTDEoQTUudG9TdHJpbmcoKSxBNS50b1N0cmluZygpLmxlbmd0aCw3MjUzNikhPT1tNSl7cmV0dXJuIGUmJihpPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXSx0W0hjK0dyK3hvXSkpP2k6dFtUaV18fHRbWHMrR3IrQ25dfHx0W1hyK0dyK0NuXTt9fWNhdGNoKHQpe3JldHVybiB5dTt9fSxYOmZ1bmN0aW9uKHQsZSxpLG4pe3JldHVybiB0eXBlb2YgdFtIbitHcitDYStHcitFbl09PT1acz90W0huK0dyK0NhK0dyK0VuXShlLGksbnx8e30pOnRbRmUrR3IrQ2FdKE5vK2UsaSk7fSxLOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByO3I9ZnVuY3Rpb24oKXtpdS5aKHQsZSxyLG4pO2lbQ2ldKCk7fTtpdS5YKHQsZSxyLG4pO30sWjpmdW5jdGlvbih0LGUsaSxuKXtyZXR1cm4gdHlwZW9mIHRbeG4rR3IrQ2ErR3IrRW5dPT09WnM/dFt4bitHcitDYStHcitFbl0oZSxpLG58fHt9KTp0W0tpK0dyK0NhXShObytlLGkpO319OyEoWGM9e2l0OmZhW2lyXSh2dSksbnQ6c3RbaXJdKHZ1KSxtOmxlW2lyXSh2dSksZXQ6YWNbaXJdKHZ1KSxydDpTb1tpcl0odnUpLG90OnNpW2lyXSh2dSl8fEpyW2lyXSh2dSl8fHVlW2lyXSh2dVtmc10oMCw0KSksc3Q6dm9baXJdKHZ1KSxnOkFyW2lyXSh2dSkmJiFfYVtpcl0odnUpLGI6bHJbaXJdKHZ1KSYmIW1hW2lyXSh2dSksYXQ6bWVbaXJdKHZ1KSYmIWdyW2lyXSh2dSksY3Q6eFtpcl0odnUpLGQ6Rltpcl0odnUpLHV0OnlvW2lyXSh2dSksX3Q6bXUscHQ6WmMucShndSl8fG11LGx0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3QhPT1tdT90aGlzLl90OnRoaXMuX3Q9UWMuZHQoKSE9PXl1O30sSjpmdW5jdGlvbih0LGUpe3JldHVybiBaYy5KKFhjLmZ0LGUsdCk7fSxodDptb1tpcl0odnUpJiYhenJbaXJdKHZ1KSxmdDpaYy5xKHl1KXx8bXV9KS5ldHx8WGMuaHR8fFhjLmR8fFhjLmJ8fChYYy51dD1vNSk7KFljPWZ1bmN0aW9uKHQsZSxpKXt2YXIgbjtuPWl8fHt9O25bel09ZTt0aGlzLnZ0KG4pO3RoaXMubXQuYnR8fCh0aGlzLm10LmJ0PXJ1K3QpO3RoaXMuZ3QoKTt9KVtYdF09e2t0OntUdDpndSxDdDptdSxqdDp5dSxFdDpHcitQZStHcixGdDprdSxMdDpndSxBdDp5dSxPdDpndSx4dDptdSxQdDpudWxsLGJ0Om11LHd0Om11LFN0Omt1fSxtdDp7fSx5dDpudWxsLHp0OlpjLnYoKSxCdDpaYy5wKFtbT3IsMF1dKSxJdDpaYy5wKFtbTWUsMV1dKSxNdDpaYy5wKFtbU3IsMV1dKSxXdDpaYy5wKFtbRWksMF0sW1NyLDBdXSksRHQ6WmMucChbW01lLDBdXSksVXQ6WmMucChbW1p0LDBdXSksUnQ6WmMucChbW0VpLDBdXSksc2V0T3B0aW9uczpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy52dCh0KTt9LGd0OmZ1bmN0aW9uKCl7dmFyIHQsZSxpLG47dD1mdW5jdGlvbih0LGUpe3ZhciBpLG47bj17fTtuW3B1XT1beXUsZ3VdO25bX3VdPVt5dSx5dV07bltsdV09W2d1LGd1XTtuW2R1XT1bZ3UseXVdO2ZvcihpIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixpKSYmbltpXVswXT09PXQmJm5baV1bMV09PT1lKXtyZXR1cm4gaTt9cmV0dXJuIF91O307ZT1YYy5sdCgpO2k9dChHYy5tdC4kdC5uZXdUYWIsR2MubXQuJHQudW5kZXIpO249dCh0aGlzLm10LkF0LHRoaXMubXQuVHQpO2V8fG49PT1wdSYmKG49aSk9PT1wdSYmKG49bHUpO1hjLm90JiYobj09PV91JiYobj1kdSksbj09PXB1JiYobj1sdSkpO3RoaXMueXQ9bjt9LEh0OmZ1bmN0aW9uKCl7dmFyIGswLG4wLEYwO2lmKHR5cGVvZiB0aGlzLm10Lnh0PT09WnMpdHJ5e3JldHVybiB0aGlzLm10Lnh0W0NpXSh0aGlzLHRoaXMubXQpW1hzK0dyK2hdKCk7fWNhdGNoKHQpe3JldHVybiBLYy5lKHQpLHl1O31rMD0tMTAwMjA0NzAxMztuMD0tMTY1MTM4NjMwNztGMD0yO2Zvcih2YXIgTTA9MTt3NS5MMShNMC50b1N0cmluZygpLE0wLnRvU3RyaW5nKCkubGVuZ3RoLDY4NDExKSE9PWswO00wKyspe3JldHVybiB0aGlzLm10Lnh0O0YwKz0yO31pZih3NS5kMShGMC50b1N0cmluZygpLEYwLnRvU3RyaW5nKCkubGVuZ3RoLDkwOTM5KSE9PW4wKXtyZXR1cm4gdGhpcy5tdC54dDt9fSxMdDpmdW5jdGlvbigpe3ZhciB0LGUsRzcsQzcsazcsVjAsdTAseTA7dD10aGlzLm10O2U9dC5PdCE9PU5zJiZ0Lk90IT09TmV8fHQuT3Q9PT1OcyYmWGMub3R8fHQuT3Q9PT1OZSYmIVhjLm90O3RyeXtHNz0tMTkzODMwODU3MjtDNz0tMTE3NzY0NDk2NDtrNz0yO2Zvcih2YXIgRjc9MTt3NS5kMShGNy50b1N0cmluZygpLEY3LnRvU3RyaW5nKCkubGVuZ3RoLDg5NDI0KSE9PUc3O0Y3Kyspe3R5cGVvZiB0Lkx0PT09WnM/ZT1lJiZ0Lkx0W0NpXSh0aGlzLGUsdGhpcy5OdCgpKSE9PXl1OnR5cGVvZiB0Lkx0PT09YW4mJihlPWUmJnQuTHQpO2s3Kz0yO31pZih3NS5MMShrNy50b1N0cmluZygpLGs3LnRvU3RyaW5nKCkubGVuZ3RoLDUzNDE4KSE9PUM3KXstdC5MdCE9PVpzP2U9ZXx8dC5MdFtDaV0odGhpcyxlLHRoaXMuTnQoKSk9PT15dTohdC5MdD09YW58fChlPWV8fHQuTHQpO319Y2F0Y2godCl7S2MuZSh0KTt9VjA9Njg3MDAyMDA4O3UwPS0yOTc1OTkyODc7eTA9Mjtmb3IodmFyIHYwPTE7dzUuTDEodjAudG9TdHJpbmcoKSx2MC50b1N0cmluZygpLmxlbmd0aCw2NDU0MSkhPT1WMDt2MCsrKXtyZXR1cm4gR2MuSnQoKT9lfHwtdGhpcy5WdDplfHwrdHUuYyh0LmJ0KTt5MCs9Mjt9aWYodzUuTDEoeTAudG9TdHJpbmcoKSx5MC50b1N0cmluZygpLmxlbmd0aCwyOTMyNSkhPT11MCl7cmV0dXJuIEdjLkp0KCk/ZXx8LXRoaXMuVnQ6ZXx8K3R1LmModC5idCk7fXJldHVybiBHYy5KdCgpP2UmJiF0aGlzLlZ0OmUmJiF0dS5jKHQuYnQpO30sdnQ6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHI7dGhpcy5tdD1aYy55KHRoaXMuenQsdGhpcy5rdCx0aGlzLm10LHR8fHt9KTtmb3IoaSBpbiB0aGlzLm10KWlmKHlpW1h0XVtCYStHcitsdCtHcitvb11bQ2ldKHRoaXMubXQsaSkpc3dpdGNoKG49dGhpcy5tdFtpXSxpKXtjYXNlIHNvOnRoaXMubXQud3Q9bjticmVhaztjYXNlIHo6dGhpcy5tdC54dD1uO2JyZWFrO2Nhc2UgTGU6dGhpcy5tdC5PdD0obitHcilbWHMrR3IrdHMrR3IrbmNdKCk7YnJlYWs7Y2FzZSBOdCtHcittYzp0aGlzLm10LmJ0PW47YnJlYWs7Y2FzZSBOdCtHcitUOnRoaXMubXQuQ3Q9bjticmVhaztjYXNlIE50K0dyK2VhOnRoaXMubXQuRXQ9bjticmVhaztjYXNlIE50K0dyKyRzOnRoaXMubXQuUHQ9bjticmVhaztjYXNlIEVlOnRoaXMubXQuVHQ9bjticmVhaztjYXNlIEErR3IrTG86dGhpcy5tdC5BdD1uO2JyZWFrO2Nhc2UgcHQrR3IramU6dGhpcy5tdC5GdD1uO2JyZWFrO2Nhc2UgamErR3IramU6dGhpcy5tdC5TdD1uO2JyZWFrO2Nhc2UgSWMrR3IrY3I6dGhpcy5tdC5qdD1uO2JyZWFrO2Nhc2UgdGUrR3Irc3M6dGhpcy5tdC5MdD1uO31pZighWGMub3QmJiF0aGlzLm10LkF0KWZvcihyPVtbWGMuZyYmMTE9PT1YYy5wdCx0aGlzLlV0XSxbWGMuYiYmWGMucHQ8NDEsdGhpcy5JdF0sW1hjLmIsdGhpcy5CdF0sW1hjLmQmJlhjLnB0PDQ3LHRoaXMuTXRdLFtYYy51dCx0aGlzLkR0XSxbWGMuY3QsdGhpcy5SdF0sW1hjLmImJlhjLnB0Pj01OSx0aGlzLld0XSxbWGMudXQmJlhjLnB0Pj00Nix0aGlzLld0XV0sZT0wO2U8cltwaV07ZSsrKWlmKHJbZV1bMF0pZm9yKGkgaW4gcltlXVsxXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0ocltlXVsxXSxpKSYmKHRoaXMubXRbaV09cltlXVsxXVtpXSk7fX0sZ2V0T3B0aW9uczpmdW5jdGlvbigpe3JldHVybiB0aGlzLk50KCk7fSxOdDpmdW5jdGlvbigpe3ZhciB0LGU7ZT17fTtmb3IodCBpbiB0aGlzLm10KXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXSh0aGlzLm10LHQpJiZ0W3BpXT49MyYmKGVbdF09dGhpcy5tdFt0XSk7fXJldHVybiBlO30scXQ6ZnVuY3Rpb24oKXtHYy5KdCgpP3RoaXMuVnQ9Z3U6dHUuYSh0aGlzLm10LmJ0LDEsdGhpcy5tdC5DdCx0aGlzLm10LkV0LHRoaXMubXQuUHQpO319OyhudT1mdW5jdGlvbih0KXt2YXIgZTtlPXRoaXM7dGhpcy5RdD10O3RoaXMuR3Q9dGhpcy5ZdCgpO3RoaXMuS3Q9dGhpcy5adCgpO2l1LlgodGhpcy5HdCxncyxmdW5jdGlvbigpe0dzKGUuS3QpO1pjLlAoZS5HdCk7fSk7fSlbWHRdPXtZdDpmdW5jdGlvbigpe3ZhciB0LEs3LHI3LFE3O0s3PS0xODIwMzgxMDU7cjc9MTk5MDM1MjYxMTtRNz0yO2Zvcih2YXIgajc9MTt3NS5kMShqNy50b1N0cmluZygpLGo3LnRvU3RyaW5nKCkubGVuZ3RoLDg2ODQwKSE9PUs3O2o3Kyspe3Q9WmMueihoYyx7Y2xhc3M6ZnV9LEdyKTtyZXR1cm4gdGhpcy5RdFtTYytHcittY11bWHMrR3IrdHMrR3IrbmNdKCk9PT1Rcj9yaVtRcl1bSXQrR3IrV2VdKHQpOnRoaXMuUXRbX3QrR3IraV1bTmMrR3IrT3NdKHQsdGhpcy5RdFtWcytHcitrc10pLHQ7UTcrPTI7fWlmKHc1LkwxKFE3LnRvU3RyaW5nKCksUTcudG9TdHJpbmcoKS5sZW5ndGgsMzM0MykhPT1yNyl7dD1aYy56KGhjLHtjbGFzczpmdX0sR3IpO3JldHVybiB0aGlzLlF0W1NjKkdyL21jXVtYcypHci10cy1Hci1uY10oKT09UXI/cmlbUXJdW0l0L0dyL1dlXSh0KTp0aGlzLlF0W190L0dyJWldWyhOYy1HcikqT3NdKHQsdGhpcy5RdFsoVnMtR3IpJWtzXSksdDt9fSxadDpmdW5jdGlvbigpe3ZhciB0O3Q9dGhpcztyZXR1cm4gQ28oZnVuY3Rpb24oKXt2YXIgZSxpO2k9VWModC5RdFt4ZV1bc24rR3IrenNdLDEwKTt0LlF0W1NjK0dyK21jXVtYcytHcit0cytHcituY10oKT09PVFyJiYoaT05ZTkpOyhlPV9uK1Z0K2dvK2VyK0RhK1Z0K04rZXIrbG4rVnQraytlcitHcisoS2ErVnQrR3IpK3QuUXRbZnIrR3Ird2NdKyhobytlcitHcikrKG9jK1Z0K0dyKSt0LlF0W2ZyK0dyK2ddKyhobytlcitHcikrKEhpK1Z0K0dyKSt0LlF0W2ZyK0dyK1duXSsoaG8rZXIrR3IpKyhwK1Z0K0dyKSt0LlF0W2ZyK0dyK0NjXSsoaG8rZXIrR3IpKyhzbit3aStMK1Z0K0dyKSsocWMoaSk/MjppKzEpKSE9PXQuR3RbYWErR3IrR2ldKHhlKSYmdC5HdFtsaStHcitHaV0oeGUsZSk7fSwxNTApO319O251Llh0PWZ1bmN0aW9uKHQpe3ZhciBlO3c1Llk0KDEyKTtlPXc1LmM0KHJ1LExpLHdpLHdpLEdyLGllLEdyKTt0W2FhK0dyK0dpXShlKXx8dFthYStHcitHaV0obG8pPT09ZnV8fCh0W2xpK0dyK0dpXShlLDEpLG5ldyBudSh0KSk7fTsoUWM9e2R0OmZ1bmN0aW9uKCl7dmFyIHQsZTtlPXRoaXMuZWUoKTtmb3IodD0wO3Q8ZVtwaV07dCsrKWlmKGVbdF1bMV0oKT09PWd1KXtyZXR1cm4gZVt0XVswXTt9cmV0dXJuIHl1O30sZWU6ZnVuY3Rpb24oKXt2YXIgdDt0PVtdO3JldHVybiBYYy5vdHx8WGMuaXQ/W106KHRbTXJdKFt0aGlzLmllLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlhjLnB0Pj02NCYmWGMucHQ8Njc7fV0pLHRbTXJdKFt0aGlzLm5lLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubnQmJlhjLnB0Pj00MyYmWGMucHQ8NjQ7fV0pLHRbTXJdKFt0aGlzLnJlLGZ1bmN0aW9uKCl7dmFyIGI3LHE3LG03O2I3PS02MDMwNTI0OTU7cTc9LTQwNjg3OTgwNDttNz0yO2Zvcih2YXIgSTc9MTt3NS5MMShJNy50b1N0cmluZygpLEk3LnRvU3RyaW5nKCkubGVuZ3RoLDU1NDM5KSE9PWI3O0k3Kyspe3JldHVybiBYYy5ifHxaYy5ZKCl8fFhjLm18fFhjLnB0PD0xN3x8WGMucHQ+PTg5O203Kz0yO31pZih3NS5MMShtNy50b1N0cmluZygpLG03LnRvU3RyaW5nKCkubGVuZ3RoLDYyMDk0KSE9PXE3KXtyZXR1cm4gWGMuYnx8WmMuWSgpfHxYYy5tfHxYYy5wdDw9MTd8fFhjLnB0Pj04OTt9cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubSYmWGMucHQ+PTQ5JiZYYy5wdDw2NDt9XSksdFtNcl0oW3RoaXMub2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZDt9XSksdFtNcl0oW3RoaXMuc2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZyYmWGMucHQ+PTExO31dKSx0W01yXShbdGhpcy5hZSxmdW5jdGlvbigpe3JldHVybiBYYy5odDt9XSksdFtNcl0oW3RoaXMuY2UsZnVuY3Rpb24oKXt2YXIgVDAsRTAsbzA7VDA9MTIwNjMzNjEyMTtFMD0xMjk2MjQyMjUyO28wPTI7Zm9yKHZhciBwMD0xO3c1LmQxKHAwLnRvU3RyaW5nKCkscDAudG9TdHJpbmcoKS5sZW5ndGgsNDUyNzYpIT09VDA7cDArKyl7cmV0dXJuIFhjLnV0fHxYYy5udHx8WGMucHQ+PTc0O28wKz0yO31pZih3NS5MMShvMC50b1N0cmluZygpLG8wLnRvU3RyaW5nKCkubGVuZ3RoLDY1MzgpIT09RTApe3JldHVybiBYYy51dCYmWGMubnQmJlhjLnB0PD00ODt9fV0pLHQpO319KS50ZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMudGVbWHRdPXtfZTprdSx1ZTpmdW5jdGlvbih0KXt2YXIgcjUsUTUsZTU7cjU9LTk1ODI4OTMwMTtRNT0tNjIxNDQ4NDIyO2U1PTI7Zm9yKHZhciBaNT0xO3c1LmQxKFo1LnRvU3RyaW5nKCksWjUudG9TdHJpbmcoKS5sZW5ndGgsOTUyNjgpIT09cjU7WjUrKyl7dGhpcy5mZT10O2U1Kz0yO31pZih3NS5MMShlNS50b1N0cmluZygpLGU1LnRvU3RyaW5nKCkubGVuZ3RoLDE0MzU1KSE9PVE1KXt0aGlzLmZlPXQ7fX0sbGU6a3UscGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhO2k9dGhpcztuPWkuZmU7cj1uLkh0KCk7bz1uLm10O3M9by53dHx8WmMuJCg1KTthPVpjLmsobyk7aWYodD1mdW5jdGlvbigpe3RyeXtpZih0eXBlb2Ygby5GdD09PVpzJiZvLkZ0W0NpXShuLHIsbyk9PT15dSl7cmV0dXJuIHl1O319Y2F0Y2godCl7S2MuZSh0KTt9cmV0dXJuIG11O30sZT1mdW5jdGlvbih0KXtpZih0eXBlb2Ygby5TdD09PVpzKXRyeXtvLlN0W0NpXShuLHIsbyx0KTt9Y2F0Y2godCl7S2MuZSh0KTt9fSx0KCk9PT15dSl7cmV0dXJuIHl1O310eXBlb2Ygb1t6XT09PVRjJiZvW3pdIT09ciYmKHI9b1t6XSk7R2MuanQoby5qdCk7dGhpcy5fZSgpO3RyeXtyZXR1cm4gdGhpcy5sZShyLG8scyxhLGZ1bmN0aW9uKHQpe2kuZGUodCk7aS5oZSYmR2MuaGUoKTtlKHQpO30pO31jYXRjaCh0KXtyZXR1cm4gS2MuZSh0KSx5dTt9fSx2ZTpmdW5jdGlvbih0LGUsaSl7cmV0dXJuKEdjLm10LmJlP1pjLkM6QXUpKHQsZSxpKTt9LGRlOmt1LGhlOmd1fTtRYy5tZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMubWVbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTp5dSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3IodGhpcy52ZSh0LGksbikpO319KTtRYy5nZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuZ2VbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTohWGMub3QmJiFYYy5kLGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7cih0aGlzLnZlKHQsRmkpKTt9fSk7UWMueWU9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnllW1h0XT1aYy55KFFjLnRlW1h0XSx7a2U6ZnVuY3Rpb24oKXt2YXIgdCxlLGk7dD1HYy53ZSgpO2U9R2MueGUuUztpPXR5cGVvZiBHYy5tdC5PZT09PVpzP0djLm10Lk9lW0NpXSgpOkdjLm10Lk9lO3JldHVybiBmdW5jdGlvbigpe3ZhciBuLHI7cmV0dXJuIGkhPT1GdT9pOihuPVpjLiQoMSkscj1lP2k6R2MuQ2UodCl8fGksZXUucygpfHwhWGMub3QmJiFYYy5nP3I6KHR1LmEoY3UsbixtdSkscltaXSh2cixHcikrKEdyK3NlK0dyKStuKSk7fSgpO30sbGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgeDksejksaDksbyxzLGEsYyx1LGgsZixwO3g5PTE3MTA2NjI4Nzg7ejk9LTEwMzk3MjE3MTM7aDk9Mjtmb3IodmFyIEw5PTE7dzUuZDEoTDkudG9TdHJpbmcoKSxMOS50b1N0cmluZygpLmxlbmd0aCwzMDE4NykhPT14OTtMOSsrKXtoOSs9Mjt9aWYodzUuZDEoaDkudG9TdHJpbmcoKSxoOS50b1N0cmluZygpLmxlbmd0aCw0NTQ4MCkhPT16OSl7fWE9dGhpcy5rZSgpO2M9R2Mud2UoKTt1PVpjLk4oYyk7aD0xNTtmPVtdO3A9ZnVuY3Rpb24odCl7dmFyIGU7dHlwZW9mIHRbQW5dPT09WnMmJihlPXRbQW5dLGl1LlgodCxncyxlKSk7dFtBbl09ZnVuY3Rpb24oKXtyZXR1cm4geXU7fTt9O2ZvcihHYy5FZSgpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKSE9PUZpJiZaYy5mKGMsdW4pJiYocChjKSwwIT09Y1thYStHcitHaV0odW4pW0wrR3IrV2FdKEN0KSYmKGE9Y1thYStHcitHaV0odW4pKT09PUdyJiYoYT1GdSkpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKT09PUZpJiZaYy5mKGMsdW4pJiYocChjKSxpbyhmdW5jdGlvbigpe2NbQW5dPW11O30sM2UzKSxHYy5tdC5QZT9hPWNbYWErR3IrR2ldKHVuKTooYT1GdSxYYy5vdCYmKFhjLnV0P2ZbTXJdKGZ1bmN0aW9uKCl7QXUoY1thYStHcitHaV0odW4pLEZpKTt9KTppbyhmdW5jdGlvbigpe0F1KGNbYWErR3IrR2ldKHVuKSxGaSk7fSwyMCkpKSksWGMuZXQmJlhjLnV0fHxYYy5ldCYmWGMuc3QmJiFYYy5kJiYhWGMuYiYmIVhjLmh0PyhBdShhLEZpKSxaYy5IKEJyLGZ1bmN0aW9uKCl7WmMuVCh0KTt9LGgpKTohWGMub3QmJlpjLmgoYyxUaSkhPT1GaSYmKFhjLnV0JiZYYy5zdHx8WGMuaHQmJlhjLnB0PDEwfHxYYy5iJiZYYy5wdDw0MSk/WGMudXQ/KFpjLlEoYSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KFpjLlEodCksY1tTYytHcittY109PT1PbiYmdSYmWmMuVCh1KSk6WGMuZXQmJlhjLmQ/KG89QXUoYSxGaSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KG89eVtRYV0oVWErVnQrY2ksRmkpKT8ob1tFaV1bdW5dPWEsWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6bz1BdSh0LEZpKSxzPTA7czxmW3BpXTtzKyspe2Zbc11bQ2ldKCk7fW8mJnIobyk7fX0pO1FjLm9lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5vZVtYdF09WmMueShRYy50ZVtYdF0se2hlOnl1LGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG87bz10aGlzLnZlKHQsaSxuKTtvW2tuXSgpO1R1W2JvXSgpO1pjLk0obyk7aW8oZnVuY3Rpb24oKXtyKG8pO30sMWUzKTt9fSk7UWMuY2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLmNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZSh0LGksbik7cz1HYy5UZSgxZTMpO2l1LksoeSxibyxmdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9KTtvW2NjXT1mdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9O3Iobyk7fX0pO1FjLmFlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5hZVtYdF09WmMueShRYy50ZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIEQ5LFc5LGw5LG87RDk9MTk0OTIwNzgwOTtXOT04OTkwMjg0O2w5PTI7Zm9yKHZhciBWOT0xO3c1LkwxKFY5LnRvU3RyaW5nKCksVjkudG9TdHJpbmcoKS5sZW5ndGgsNTc4NTApIT09RDk7VjkrKyl7bDkrPTI7fWlmKHc1LkwxKGw5LnRvU3RyaW5nKCksbDkudG9TdHJpbmcoKS5sZW5ndGgsNTEwNjgpIT09Vzkpe315W3NvXT1aYy4kKDUpO289dGhpcy52ZSh0LGksbik7dGhpcy52ZShHcix5W3NvXSxHcik7eVtzb109bXU7cihvKTt9LGhlOnl1fSk7UWMuc2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZShQdT90OkZ1LGksbik7cz1mdW5jdGlvbigpe29bRWldW3VuXT10O307aXUuSyhvLGtuLHMpO29ba25dKCk7VHVbYm9dKCk7aW8ocywxMDApO3Iobyk7fSxoZTp5dX0pO1FjLm5lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5uZVtYdF09WmMueShRYy50ZVtYdF0se0ZlOmZ1bmN0aW9uKCl7dmFyIHQsZTtlPVpjLnooYXIse2RhdGE6WmMuTChlbitQZStNYyx0aGlzLkFlKStaYy4kKDMpfSk7cmV0dXJuKHQ9WmMueihoYyx7c3R5bGU6UGkrVnQrYStlcitvYytWdCtIcytlcitLYStWdCtIcytlcitEYStWdCtOK2VyK3ArVnQrRnIrSGErR3IrZXIrSGkrVnQrem4rZXIrayt3aStHYStWdCtYaStlciskbytWdCthK2VyK0dyfSkpW0l0K0dyK1dlXShlKSxbZSx0XTt9LFNlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMueSh0LHt9KTtyZXR1cm4gZVtwXT1lW0hpXT05ZTUsZVtvY109ZVtLYV09MSxlO30sQWU6THQrR3IrdGErR3IrRmMrR3IrUHMrR3Irb24rR3IrV2MrR3IreG8rR3IrJCtHcithaStHcituK0dyK1NhK0dyK0tyK0dyK1F0K0dyK2t0K0dyK3p0K0dyK3RjK0dyK1l0K0dyK3ZhK0dyK3MrR3IrdmErdWMraG4rR3IrTGErR3IrenQrR3IrVytHcitEYytHcitaYStHcittdCtHcitWaStHcitzYStHcitVZStHcitUYStHcit2YStHcitWaStHcitQcitHcit4bytHcitVZStHcitpYytHcitwbytHcitLcitHcitKK0dyK2hzK0dyK1ppK0dyK3ZhK0dyK1ByK0dyK0xhK0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrWGErR3IrVHMrR3IrWmkrR3IrdmErR3IrUHIrR3IrSGUrR3IrenQrR3IrVytHcitGYytHcit0YytHcityYytHcithZStHcit2aStHcit2YStHcitQcitHcitydCtHcitwcytHcittdCtHcituYStHcitUbytHcityZStHcit4bytHcit0YStHcitqaStHcitXK0dyK2F0K0dyK3ZhK0dyK1ByK0dyK2MrR3IrYit1YytFK0dyK1FvK0dyK3BzK0dyK2RjK0dyK1l0K0dyK3ZhK0dyK1lhK0dyK1hhK0dyK1RzK0dyK1ppK0dyK3ZhK0dyK0dlK0dyK09lK0dyK2dhK0dyK0hvK0dyK3ZhK0dyK1ByK0dyK2t0K0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrdmErR3Ircm4rdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitrdCtHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK09lK0dyK1krR3IrS3QrR3IreG8rR3IrVWUrR3IrYnMrR3IrRnQrR3IrUG8rR3IrRStHcitVZStHcitiaStHcitVZStHcitTZStHcitWcitHcitEcytHcit4bytHcitVZStHcitHbytHcit2YStHcitQdCtHcitVZStHcitScitHcit5YytHcitPZStHcitWbytHcitLcitHcit2YytHcitiZStHcitzK0dyK3hjK0dyK0tvK0dyK3IrR3IrYWkrR3IrZnQrdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitBZStHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK05hK0dyK1RzK0dyK010K0dyK2hyK0dyK1lzK0dyK0tzK0dyK0UrR3IrVWUrR3IrZm4rR3IrcmMrR3IrYWUrR3IrRCtHcitMdCtHcitWcitHcit0YStHcittdCtHcitacitHcitWcitHcitPZSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3ZhciBzLGEsYyx1LGg7dT10aGlzO2g9eXU7dHJ5eyhhPXRoaXMudmUoVWErVnQrY2ksRmkpKVttcl1bcnJdKHc1LnU0KHVyLEdyLEdyLGpvLFBlLHVpLEdyLFFyLEdyLFBlLG8sR3IsdWksdWksR3IsdXIsUGUsR3IsdXIsam8sR3IsdXIsbyx1aSxHcix1cixHcix1aSxRcix1cix1aSx3NS5ZNCgxMykpKTtpdS5LKGEscWEsZnVuY3Rpb24oKXtmdW5jdGlvbiBmKCl7bigpO2FbSW9dKCk7bygpO3JvKGMpO31ofHwoaD1ndSxzPWFbQmNdPUF1KFVhK1Z0K2NpLGksWmMuayh1LlNlKGUpKSksaXUuWChhLGJvLGYpLGM9aW8oZiwzZTMpLGFbbXJdW1FyXVtQYStHcithaStHcit4YytHcit6dCtHcitwYV09dS5GZSgpWzFdW1BuK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXSk7ZnVuY3Rpb24gbigpe3c1Llk0KDE0KTthW21yXVtRcl1bdzUudTQoUGEsenQsR3IsR3IsR3IseGMsR3IsYWkscGEpXT1Hcjt9ZnVuY3Rpb24gbygpe3ZhciBhMSxZMSxmMTthMT0tMTU2OTI3MTMyMDtZMT0yMzc1ODcyNDtmMT0yO2Zvcih2YXIgRDE9MTt3NS5MMShEMS50b1N0cmluZygpLEQxLnRvU3RyaW5nKCkubGVuZ3RoLDk0NDMyKSE9PWExO0QxKyspe3NbRWMlR3ItYmFdKGVbSGldLGVbcF0pO3NbZGElR3IqYmFdKGVbb2NdLGVbS2FdKTtzW0VpXVtaXSh0KTtyKHMpO2YxKz0yO31pZih3NS5kMShmMS50b1N0cmluZygpLGYxLnRvU3RyaW5nKCkubGVuZ3RoLDYyNDUzKSE9PVkxKXtzW0VjJUdyLWJhXShlW0hpXSxlW3BdKTtzW2RhJUdyKmJhXShlW29jXSxlW0thXSk7c1tFaV1bWl0odCk7cihzKTt9c1tFYytHcitiYV0oZVtIaV0sZVtwXSk7c1tkYStHcitiYV0oZVtvY10sZVtLYV0pO3NbRWldW1pdKHQpO3Iocyk7fX0pO31jYXRjaCh0KXt9fX0pO1FjLnJlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5yZVtYdF09WmMueShRYy5uZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG8scztzPVpjLk8oZ3UpO2l1LksoeSxibyxmdW5jdGlvbigpe1pjLlAocyk7b1tFaV1bWl0odCk7cihvKTt9KTt3NS5vNCg0KTtvPXRoaXMudmUodzUuYzQoVWEsVnQsY2kpLEZpKTtzW3RvK0dyK3lhXVttcl1bcnJdKHRoaXMuRmUoKVsxXVtQbitHcithaStHcit4YytHcit6dCtHcitwYV0pO319KTtRYy5pZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuaWVbWHRdPVpjLnkoUWMudGVbWHRdLHtMZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47aT10aGlzO249eXU7dzUubzQoNCk7ZT10aGlzLnZlKHc1LmM0KFVhLFZ0LGNpKSx0Lnd0fHxGaSx0LkJlfHxHcik7dC56ZSYmKGUmJmVbSW9dKCksbj1ndSk7IW4mJmUmJmlvKGZ1bmN0aW9uKCl7ZVtFaV1bdW5dPXQueHQ7dC5JZSYmaS5JZShlKTt9LDEwMCk7fSx1ZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47bj10aGlzO3RoaXMuamU9ZHJbTW5dKCk7dGhpcy5mZT10O2U9R2Mud2UoKTt3NS5vNCgxNSk7aT1aYy5CKGUsdzUuYzQoZ3QsR3IseGMsR3IsR3IsRmMseGMsR3IsZmMsR3IsVnIpKTsoZVtTYytHcittY109PT1PbiYmZVthYStHcitHaV0oanIpIT09RmkmJiFaYy5TKGUpfHxpJiYhWmMuUyhpKSkmJih0aGlzLmhlPWd1KTtpdS5YKHksSWUsZnVuY3Rpb24gdChlKXt0cnl7ZVtpZV0uamU9PT1uLmplJiZuLkxlKGVbaWVdKTtlW2llXS56ZSYmaXUuWih5LEllLHQpO31jYXRjaCh0KXt9fSk7fSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3RoaXMuSWU9cjt0aGlzLk1lKHtqZTp0aGlzLmplLEJlOm4sSWU6Z3UseHQ6dH0pO3RoaXMuTWUoe2plOnRoaXMuamUsemU6Z3UseHQ6VWErVnQrY2l9KTt9LGhlOnl1LE1lOmZ1bmN0aW9uKHQpe3lbSnQrR3IrWF0odCx5W0VpXVtSb10pO319KTtHYz17X2k6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5RaSgpK3RoaXMuSGkoKT5aYy5HKCk7fSxLaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm10LkplO30sSmU6ZnVuY3Rpb24oKXt2YXIgdDt0PVpjLngoYXJndW1lbnRzWzBdKT9hcmd1bWVudHNbMF06YXJndW1lbnRzO3JldHVybiB0aGlzLm5uKHQsUm4sdFtwaV0mJnRbMF09PT15dSk7fSxraTpmdW5jdGlvbih0LGUsaSxuKXt0aGlzLk9pKGksdCxndSl8fG4oZ3UseXUpO30sV2k6ZnVuY3Rpb24odCl7dHJ5e3JldHVybiB0W3F0XSYmMCE9PXRbcXRdfHx0aGlzLmNpLkcrMTUwPlpjLkcoKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LFJpOmZ1bmN0aW9uKCl7dGhpcy5XZT1bXTt9LFlpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQucWU7fSxVaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLldlO30sWmU6bXUsVGk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHx0aGlzLnFpKHQpKXtyZXR1cm4geXU7fWlmKCF0aGlzLm10LnFlW3BpXXx8dFthYStHcitHaV0obG8pPT09ZnUpe3JldHVybiBndTt9Zm9yKDtlPHRoaXMubXQucWVbcGldO2UrKylpZih0PT09dGhpcy5tdC5xZVtlXXx8dHlwZW9mIHRoaXMubXQucWVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5xZVtlXVtYcytHcitwcitHcituY10oKXx8WmMuSSh0LHRoaXMubXQucWVbZV0pKXx8WmMuQih0LHRoaXMubXQucWVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LHdlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueGUuUXQ7fSxMaTpmdW5jdGlvbigpe3ZhciB0LGU7ZT10aGlzO3RoaXMuWmU9WmMueihoYyx7c3R5bGU6b2MrVnQrRnIrSGErR3IrZXIrS2ErVnQrRnIrSGErR3IrZXIrRGErVnQrSXMrZXIrcCtWdCt6bitlcitIaStWdCt6bitlcitzbit3aStMK1Z0K25vK2VyK3h0K1Z0K1hpK2VyK0dyfSxHcik7dD1DbyhmdW5jdGlvbigpe3ZhciBpO2k9cmlbUXJdO2kmJihHcyh0KSxpW0l0K0dyK1dlXShlLlplKSk7fSwxMDApO30saGk6ZnVuY3Rpb24oKXt2YXIgTjksYTksWTksdCxlLGk7Tjk9LTUxNTA4MTc1NzthOT0tMTMwNjg1MTEzNztZOT0yO2Zvcih2YXIgczk9MTt3NS5kMShzOS50b1N0cmluZygpLHM5LnRvU3RyaW5nKCkubGVuZ3RoLDEwMDExKSE9PU45O3M5Kyspe1k5Kz0yO31pZih3NS5MMShZOS50b1N0cmluZygpLFk5LnRvU3RyaW5nKCkubGVuZ3RoLDQ1MzQ0KSE9PWE5KXt9aT10aGlzLlhlLm9pO2Zvcih0PTA7dDx0aGlzLmZpW3BpXSYmKCF0aGlzLnBpKCkmJiF0aGlzLl9pKCkpO3QrKyl7aWYoZT10aGlzLmZpW3RdLHRoaXMuWGUuc2krKyx0aGlzLlhlLm9pPVpjLkcoKSx0aGlzLmxpKGUpPT09eXUpe3JldHVybiB0aGlzLlhlLnNpLS0sdm9pZCh0aGlzLlhlLm9pPWkpO31pPXRoaXMuWGUub2k7ZXUuYShodSx0aGlzLlhlLm9pKTtlLnl0PT09bHUmJmV1LmEodXUsdGhpcy5YZS5zaSk7fX0sT2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBuLHIsbyxzO3c1Lm80KDQpO289dzUuYzQoR3IsVHQsR3IpO3c1Llk0KDIpO3M9dzUuYzQobyx0KTtmb3Iobj0wO248ZVtwaV07bisrKWlmKHI9KEdyK090K0dyK1R0K0dyKVtMK0dyK1dhXShlW25dWzBdKT4tMT9lW25dOm8rZVtuXSxzW2ZzXShzW3BpXS1yW3BpXSk9PT1yfHxpJiZyPT09d3Upe3JldHVybiBndTt9cmV0dXJuIHl1O30sZW46ZnVuY3Rpb24odCxlKXt2YXIgTDAsZDAsTzAsaSxuO0wwPTEyMjU5MjUxNjQ7ZDA9LTc2NDA0NzIyNjtPMD0yO2Zvcih2YXIgQzA9MTt3NS5MMShDMC50b1N0cmluZygpLEMwLnRvU3RyaW5nKCkubGVuZ3RoLDk4MzQ3KSE9PUwwO0MwKyspe08wKz0yO31pZih3NS5MMShPMC50b1N0cmluZygpLE8wLnRvU3RyaW5nKCkubGVuZ3RoLDg1NTk4KSE9PWQwKXt9aT10aGlzO249dGhpcy50bih0LGUpO3RoaXMuV2VbTXJdKG4pO3RoaXMuRGkobik7dGhpcy5pbnx8KEdjLkNpKCksZnVuY3Rpb24oKXt2YXIgdCxlO1hjLmImJigoZT1yaVtVcytHcitDbl0oaGMpKVtSYytHcitpdF0oVmEsZnVuY3Rpb24oKXtDdT1ndTt9KSxDdT1vNSx0PUNvKGZ1bmN0aW9uKCl7aWYoQ3U9eXUsIWkubXQuUmUpe2lmKHR5cGVvZiB5W3dzXSE9PWFyfHx0eXBlb2YgeVt3c11bT29dIT09WnMpe3JldHVybiBDdT1vNSx2b2lkIEdzKHQpO315W3dzXVtPb10oZSk7eVt3c11bTWldKCk7fX0sNTAwKSk7fSgpLHRoaXMuaW49bzUpO30sUGk6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuSmkoKSx0P3RoaXMuZmlbcGldOnRoaXMuZmlbcGldPjA7fSx2aTpmdW5jdGlvbigpe3ZhciB0LGU7dD1aYy5HKCk7ZT1aYy5HKGF1KTt3NS5ZNCgxNik7dGhpcy5YZS5yaT13NS5jNChlLHQsMzE1MzYwMDAwMDApO3RoaXMuWGUucmkmJih0aGlzLmxpPWt1KTt9LEJpOmZ1bmN0aW9uKCl7dmFyIHQ7dD1VYyhldS5jKGh1KSwxMCk7cWModCkmJih0PTApO3RoaXMuWGUub2k9dDt9LENlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMuTih0KTtyZXR1cm4gZSYmIXRoaXMubXQuTmUmJlpjLlModCk/eXU6ZTt9LGp0OmZ1bmN0aW9uKHQpe3ZhciBlLGksbjtlPXR5cGVvZiB0PT09Z2U/Z3U6ISF0O3c1Lm80KDIpO2k9dzUuYzQocnUsSSk7bj1yaVthYStHcitDbitHcitpaStHcit0bl0oaSk7ZT9ufHwobj1aYy56KERvLHtjb250ZW50OkljK3dpK2lhLG5hbWU6aWEsaWQ6aX0pLHJpW2FhK0dyK1JlK0dyK2lpK0dyK1JpK0dyK21jXShvKVswXVtJdCtHcitXZV0obikpOm4mJlpjLlAobik7fSxHaTpmdW5jdGlvbigpe3RoaXMuWGUuaWk9Z3U7dGhpcy5oaT1rdTt9LEp0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQuRGU7fSx5aTpmdW5jdGlvbih0LGUsaSxuLHIpe2Zvcih2YXIgbyxzPTA7czxlJiYobz10W3NdLCEoMT09PW4mJihyKGlbcytlXSx0W3NdKmlbc10rcysoaVtzXT4+cyszKSl8fHIoaVtzKzIqZV0sdFtzXSoodFswXSt0WzFdK3RbMl0pKyhpW3NdPDxzKSl8fHIoaVtzKzMqZV0sZHJbQWNdKHRbMF0qdFsxXSp0WzJdL28pK28rKGlbc10+PnMpKSl8fG48MSYmKHIoaVtzK2VdLHRbc10qaVtzXStzKXx8cihpW3MrMiplXSx0W3NdKih0WzBdK3RbMV0rdFsyXSkpfHxyKGlbcyszKmVdLGRyW0FjXSh0WzBdKnRbMV0qdFsyXS9vKStvKSkpKTtzKyspO30scWk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHwhdGhpcy5tdC5KZVtwaV0pe3JldHVybiB5dTt9Zm9yKDtlPHRoaXMubXQuSmVbcGldO2UrKylpZih0PT09dGhpcy5tdC5KZVtlXXx8dHlwZW9mIHRoaXMubXQuSmVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5KZVtlXXx8WmMuSSh0LHRoaXMubXQuSmVbZV0pKXx8WmMuQih0LHRoaXMubXQuSmVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LGNpOnt1aTp7fSxHOjB9LEhpOmZ1bmN0aW9uKCl7cmV0dXJuIFhjLm90P2RyW0JvXSh0aGlzLm10LlZlLDFlMyk6WGMuYnx8WGMuZ3x8WGMuY3R8fFhjLnV0JiYhWGMuZXQ/ZHJbQm9dKHRoaXMubXQuVmUsMjAwKTp0aGlzLm10LlZlO30sRWU6ZnVuY3Rpb24odCl7dmFyIGUsWjcsdDcsVTc7Wjc9LTEyNTc1NDEyNDI7dDc9MTMwMDY1ODcyMDtVNz0yO2Zvcih2YXIgejc9MTt3NS5MMSh6Ny50b1N0cmluZygpLHo3LnRvU3RyaW5nKCkubGVuZ3RoLDgzNTc3KSE9PVo3O3o3Kyspe2U9dHx8dGhpcy5jaS51aTtVNys9Mjt9aWYodzUuZDEoVTcudG9TdHJpbmcoKSxVNy50b1N0cmluZygpLmxlbmd0aCwzMDU1KSE9PXQ3KXtlPXQmJnRoaXMuY2kudWk7fXRyeXtlW01vK0dyK25pXSYmZVtNbytHcituaV0oKTtlW3FlK0dyK19zXSYmZVtxZStHcitfc10oKTt3NS5vNCg0KTtlW3c1LmM0KE5yLEdyLGNvKV09eXU7dzUubzQoNCk7ZVt3NS51NChtcyxHcixIcildPWd1O31jYXRjaCh0KXt9fSxpOmZ1bmN0aW9uKCl7dmFyIE8xLEcxLEMxO08xPS0xMzAyMzI0NTE3O0cxPTg4ODY0MDYzMDtDMT0yO2Zvcih2YXIgbjE9MTt3NS5kMShuMS50b1N0cmluZygpLG4xLnRvU3RyaW5nKCkubGVuZ3RoLDU5MTU1KSE9PU8xO24xKyspe3JldHVybiB0aGlzLm10LlVlfHx0aGlzLm10LkRlO0MxKz0yO31pZih3NS5MMShDMS50b1N0cmluZygpLEMxLnRvU3RyaW5nKCkubGVuZ3RoLDIzODAyKSE9PUcxKXtyZXR1cm4gdGhpcy5tdC5VZSYmdGhpcy5tdC5EZTt9fSxwaTpmdW5jdGlvbigpe3ZhciBoNyxpNyxMNztoNz0tMTUxMTEyMzE1NDtpNz0tMTY3MjAwNTI5NjtMNz0yO2Zvcih2YXIgTzc9MTt3NS5kMShPNy50b1N0cmluZygpLE83LnRvU3RyaW5nKCkubGVuZ3RoLDMyNTMzKSE9PWg3O083Kyspe3JldHVybiB0aGlzLiRpKCk8dGhpcy5tdC5IZTtMNys9Mjt9aWYodzUuTDEoTDcudG9TdHJpbmcoKSxMNy50b1N0cmluZygpLmxlbmd0aCwxOTk5KSE9PWk3KXtyZXR1cm4gdGhpcy4kaSgpPj10aGlzLm10LkhlO319LGdpOmZ1bmN0aW9uKHQsZSxpLG4scil7Zm9yKHZhciBvLHM9MDtzPGUmJihvPXRbc10sISgxPT09biYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzErKGlbc108PGlbc10lMTApLGlbZStzXSl8fHIob1trZStHcitucytHcitCaV0ob1twaV0tMSkqaVtzXSoyK3MrKGlbc10+PnMpLGlbMiplK3NdKXx8cihvW3BpXSppW3NdKjMrKGlbc108PHMpLGlbMyplK3NdKSl8fG48MSYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzEsaVtlK3NdKXx8cihvW2tlK0dyK25zK0dyK0JpXShvW3BpXS0xKSppW3NdKjIrcyxpWzIqZStzXSl8fHIob1twaV0qaVtzXSozLGlbMyplK3NdKSkpKTtzKyspO30sV2U6W10sdG46ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IFljKHRoaXMuV2VbcGldLHQsZSk7fSxBaTpmdW5jdGlvbih0KXt0aGlzLmNpLnVpPXQ7dGhpcy5jaS5HPVpjLkcoKTt9LGFpOltdLE1pOmZ1bmN0aW9uKHQpe3JldHVybiBudS5YdCh0KSx0aGlzO30sWmk6ZnVuY3Rpb24oKXtyZXR1cm4gWmMucChbW1RyLHRoaXMubXQuRGVdLFtvaSx0aGlzLm10LlVlXSxbd3QsdGhpcy5tdC5SZV0sW0xyK0dyK3plLHRoaXMubXQuT2VdLFtSbitHcitFbix0aGlzLm10Lk5lXSxbRHQsdGhpcy5tdC5IZV0sW2xjK0dyK2JhLHRoaXMubXQucWVdLFtSbitHcitiYSx0aGlzLm10LkplXSxbUW4sdGhpcy5tdC5WZV0sW3crR3IrVix0aGlzLm10LiRlXSxbdytHcitEbix0aGlzLm10LlFlXSxbcG4rR3IrdHIrR3IrTG4sdGhpcy5tdC5HZV0sW0JzK0dyK2wrR3IrU3MsdGhpcy5tdC4kdF0sW05zK0dyKyRyLHRoaXMubXQuWWVdLFtJYytHcitwYytHcitfaSx0aGlzLm10LmJlXSxbTHMrR3IrYnQsdGhpcy5tdC5LZV0sW0IrR3IrdmUrR3IrX28rR3IreW4rR3IrTG4sdGhpcy5tdC5QZV1dKTt9LFRlOmZ1bmN0aW9uKHQpe3ZhciBlLGk7aT1aYy5PKGd1KTtyZXR1cm4gZT1pW3RvK0dyK3lhXVttcl1bVXMrR3IrQ25dKGRlKSwwPT09eVtFaV1bdW5dW0wrR3IrV2FdKGorVnQrR3IpP2VbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPUdyKyhXcitZZStHcit3bitHcikrKGYrVHQrUytUdCthYStHcitaZStHcitRaStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKTplW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoV3IrWWUrR3Ird24rR3IpKyhZcitUdCtjYStHcitfZStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSxpW3RvK0dyK3lhXVttcl1bUXJdW0l0K0dyK1dlXShlKSx0eXBlb2YgdCE9PVd0JiZ0eXBlb2YgdCE9PWdlfHxpbyhmdW5jdGlvbigpe1pjLlAoaSk7fSx0fHw1MDApLGk7fSxOaTpmdW5jdGlvbigpe3ZhciBvMSx3MSxwMTtvMT0tMjExMjgyOTI0MDt3MT00MjIxODMwODI7cDE9Mjtmb3IodmFyIHEwPTE7dzUuZDEocTAudG9TdHJpbmcoKSxxMC50b1N0cmluZygpLmxlbmd0aCwzNTgxNCkhPT1vMTtxMCsrKXtmb3IodmFyIHQsZT02O2U8PXRoaXMuV2VbcGldO2UtLSl7dD10aGlzLldlW2VdO3R1LnUodC5tdC5idCk7fXRoaXMuWGUub2k9dGhpcy5YZS5zaT00O2V1LnUodXUpO2V1LnUoY3UpO2V1LnUoaHUpO3AxKz0yO31pZih3NS5MMShwMS50b1N0cmluZygpLHAxLnRvU3RyaW5nKCkubGVuZ3RoLDUxMjkxKSE9PXcxKXtmb3IodmFyIHQsZT0yO2U8dGhpcy5XZVtwaV07ZSsrKXt0PXRoaXMuV2VbZV07dHUudSh0Lm10LmJ0KTt9dGhpcy5YZS5vaT10aGlzLlhlLnNpPTM7ZXUudSh1dSk7ZXUudShjdSk7ZXUudShodSk7fWZvcih2YXIgdCxlPTA7ZTx0aGlzLldlW3BpXTtlKyspe3Q9dGhpcy5XZVtlXTt0dS51KHQubXQuYnQpO310aGlzLlhlLm9pPXRoaXMuWGUuc2k9MDtldS51KHV1KTtldS51KGN1KTtldS51KGh1KTt9LHppOmZ1bmN0aW9uKCl7dmFyIHQ7dD0wO3JldHVybiBldS5zKCk/KHQ9ZXUuYyh1dSksZXUudSh1dSkpOnR1LmModXUpJiYocmlbaWFdPT09UnRbdW5dfHx+UnRbdW5dW0wrR3IrV2FdKEdyK3NlK0dyK3R1LmMoY3UpKSkmJih0PXR1LmModXUpLGlvKGZ1bmN0aW9uKCl7dHUudSh1dSk7dHUudShjdSk7fSwzMDApKSx0PVVjKHQsMTApLHQ9cWModCk/MDp0LHRoaXMuWGUuc2k9dDt9LG10OntOZTpndSxLZTp5dSxKZTpbXSxWZTowLCR0OmJ1LCRlOltdLERlOnl1LE9lOkZ1LEhlOjk5OTksUmU6eXUscWU6W10sWWU6MTAsVWU6eXUsUWU6Z3UsUGU6eXUsYmU6eXUsR2U6Z3V9LCRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuWGUuc2k7fSxRaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLlhlLm9pO30sYmk6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhLGMsdSxuOSxGOSxnOTtzPXRoaXM7YT0wO2M9dGhpcy5YZTt1PWZ1bmN0aW9uKHQsZSl7dmFyIFA5LEo5LFg5O1A5PTMyNTI1NjI2O0o5PS05NTA1MjQwNDM7WDk9Mjtmb3IodmFyIFM5PTE7dzUuTDEoUzkudG9TdHJpbmcoKSxTOS50b1N0cmluZygpLmxlbmd0aCw0ODQ5MykhPT1QOTtTOSsrKXtyZXR1cm4gdD09PWV8fChjLm5pPWd1LHMubGk9a3UpLHQhPWU7WDkrPTI7fWlmKHc1LkwxKFg5LnRvU3RyaW5nKCksWDkudG9TdHJpbmcoKS5sZW5ndGgsNTM4MDApIT09Sjkpe3JldHVybiB0IT09ZSYmKGMubmk9Z3Uscy5saT1rdSksdCE9PWU7fX07aWYodHlwZW9mIHlbcnVdW2FyXSE9PWdlKXtjLm5pPW11O3Q9eVtydV1bYXJdW1huXSgpO2U9eVtydV1bYXJdW1huXSgpO2k9eVtydV1bYXJdW1huXSgpO249eVtydV1bYXJdW1huXSgpO3I9WmMuRigoeVtydV1bYXJdW1huXSgpfHx7c3JjOm51bGx9KVtYcl0pO289WmMuRih4dVtYcl0pO3RyeXtuOT0xNDUwNjEyMjI1O0Y5PS01NjY0Nzc2Nzc7Zzk9Mjtmb3IodmFyIFI5PTE7dzUuZDEoUjkudG9TdHJpbmcoKSxSOS50b1N0cmluZygpLmxlbmd0aCwyODY5NSkhPT1uOTtSOSsrKXthPXlbcnVdW2FyXVtYbl0oKSYmNztnOSs9Mjt9aWYodzUuZDEoZzkudG9TdHJpbmcoKSxnOS50b1N0cmluZygpLmxlbmd0aCwzODQzOCkhPT1GOSl7YT15W3J1XVthcl1bWG5dKCkmJjc7fWE9eVtydV1bYXJdW1huXSgpfHwwO31jYXRjaCh0KXt9YT1kcltCb10oMCxkcltrYV0oMSxhKSk7dGhpcy5taSh0LG8scix1KTt0aGlzLmdpKHQsdFtwaV0sZSxhLHUpO3RoaXMueWkoaSxpW3BpXSxuLGEsdSk7dGhpcy5raSh0LHRbcGldLFpjLkYoKSx1LHUpO3RoaXMud2koaSxaYy5HKCkpO2Mubmk9PT1tdSYmKGMubmk9eXUpO31jLnhpPWF8fDA7fSxFaTpmdW5jdGlvbih0LGUpe3ZhciBkOSxPOSxHOTtkOT04MzA2MTMyMTE7Tzk9MTQwNDM5MjY4MztHOT0yO2Zvcih2YXIgazk9MTt3NS5kMShrOS50b1N0cmluZygpLGs5LnRvU3RyaW5nKCkubGVuZ3RoLDE2MDEwKSE9PWQ5O2s5Kyspe3RoaXMueGUuUXQ9dDt0aGlzLnhlLlM9ZTtHOSs9Mjt9aWYodzUuZDEoRzkudG9TdHJpbmcoKSxHOS50b1N0cmluZygpLmxlbmd0aCw3Njg2OSkhPT1POSl7dGhpcy54ZS5RdD10O3RoaXMueGUuUz1lO319LFhpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbix1OSx5OSxIOTtuPXR8fHt9O2ZvcihlIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixlKSlzd2l0Y2godGhpcy5tdFtlXT1pPW5bZV0sZSl7Y2FzZSBUcjp0aGlzLm10LkRlPWk7YnJlYWs7Y2FzZSBvaTp0aGlzLm10LlVlPWk7YnJlYWs7Y2FzZSB3dDp0aGlzLm10LlJlPWk7YnJlYWs7Y2FzZSBMcitHcit6ZTp0aGlzLm10Lk9lPWk7YnJlYWs7Y2FzZSBSbitHcitFbjp0aGlzLm10Lk5lPWk7YnJlYWs7Y2FzZSBEdDp0aGlzLm10LkhlPWk7YnJlYWs7Y2FzZSBsYytHcitiYTp0aGlzLnFlW29hXSh0aGlzLGkpO2JyZWFrO2Nhc2UgUm4rR3IrYmE6dGhpcy5KZVtvYV0odGhpcyxpKTticmVhaztjYXNlIFFuOnRoaXMubXQuVmU9aTticmVhaztjYXNlIHcrR3IrVjp0aGlzLm10LiRlPWk7YnJlYWs7Y2FzZSB3K0dyK0RuOnRoaXMubXQuUWU9aTticmVhaztjYXNlIHBuK0dyK3RyK0dyK0xuOnRoaXMubXQuR2U9aTticmVhaztjYXNlIEJzK0dyK2wrR3IrU3M6dGhpcy5tdC4kdD1pO2JyZWFrO2Nhc2UgTnMrR3IrJHI6dGhpcy5tdC5ZZT1pO2JyZWFrO2Nhc2UgSWMrR3IrcGMrR3IrX2k6dGhpcy5tdC5iZT1pO2JyZWFrO2Nhc2UgTHMrR3IrYnQ6dGhpcy5tdC5LZT1pO2JyZWFrO2Nhc2UgQitHcit2ZStHcitfbytHcit5bitHcitMbjp0aGlzLm10LlBlPWk7fXU5PTE1MDY0OTg2ODA7eTk9NjExNzc3ODY1O0g5PTI7Zm9yKHZhciBUOT0xO3c1LkwxKFQ5LnRvU3RyaW5nKCksVDkudG9TdHJpbmcoKS5sZW5ndGgsNjMyMykhPT11OTtUOSsrKXtyZXR1cm4gdGhpcztIOSs9Mjt9aWYodzUuZDEoSDkudG9TdHJpbmcoKSxIOS50b1N0cmluZygpLmxlbmd0aCw2MzczOSkhPT15OSl7cmV0dXJuIHRoaXM7fX0saGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksZzcsTTcsUjc7Zzc9LTM5MDQ0MjA2O003PS0xNjI0Njc4MzI1O1I3PTI7Zm9yKHZhciBKNz0xO3c1LkwxKEo3LnRvU3RyaW5nKCksSjcudG9TdHJpbmcoKS5sZW5ndGgsNTI1MzkpIT09Zzc7SjcrKyl7ZT10aGlzLndlKCk7aT10aGlzLmNpLnVpO1I3Kz0yO31pZih3NS5MMShSNy50b1N0cmluZygpLFI3LnRvU3RyaW5nKCkubGVuZ3RoLDg0NzUzKSE9PU03KXtlPXRoaXMud2UoKTtpPXRoaXMuY2kudWk7fXRyeXsodD1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0oZ3MsZ3UsZ3UseSwxLGlbT2krR3IrVWVdLGlbT2krR3IreG9dLGlbSGMrR3IrVWVdLGlbSGMrR3IreG9dLHl1LHl1LHl1LHl1LDAsbXUpO3RbVW9dPWd1O2VbZ24rR3IrQ2FdKHQpO31jYXRjaCh0KXtLYy5lKHQpO319LFZpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuUGkobzUpO30sU2k6ZnVuY3Rpb24oKXt2YXIgdCxpLG4scixvLHM7cj10aGlzO289NTAwO3M9ZnVuY3Rpb24odCxlKXt2YXIgaSxuO249WGMuYj9lYzpnczsoaT1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0obixndSxndSx5LDEsZVtPaStHcitVZV0sZVtPaStHcit4b10sZVtIYytHcitVZV0sZVtIYytHcit4b10seXUseXUseXUseXUsMCxtdSk7aS5mYz1ndTt0W2duK0dyK0NhXShpKTt9O2l1LlgocmksJHQsZnVuY3Rpb24ocil7dmFyIG8sRjEsZzEsTTE7dzUubzQoNCk7bz1yW3c1LnU0KHNyLEdyLGUpXVswXTtGMT05NTkwNTM3NzY7ZzE9LTE3NzY2NDMwNTc7TTE9Mjtmb3IodmFyIFAxPTE7dzUuZDEoUDEudG9TdHJpbmcoKSxQMS50b1N0cmluZygpLmxlbmd0aCw4NTkzNCkhPT1GMTtQMSsrKXt3NS5vNCgxOCk7dD1yW3c1LnU0KG9zLEpzLEdyKV07dzUuWTQoMTkpO2k9b1t3NS51NChHcixmbyxVZSldO3c1Lm80KDIwKTtuPW9bdzUuYzQoeG8sZm8sR3IpXTtNMSs9Mjt9aWYodzUuTDEoTTEudG9TdHJpbmcoKSxNMS50b1N0cmluZygpLmxlbmd0aCwxMTM5OCkhPT1nMSl7dzUubzQoMjEpO3Q9clt3NS5jNChvcyxKcyxHcildO3c1Llk0KDIyKTtpPW9bdzUuYzQoR3IsVWUsZm8pXTt3NS5vNCg2KTtuPW9bdzUuYzQoR3IseG8sZm8pXTt9dzUubzQoNCk7dD1yW3c1LnU0KG9zLEdyLEpzKV07dzUuWTQoNCk7aT1vW3c1LmM0KGZvLEdyLFVlKV07dzUubzQoNCk7bj1vW3c1LnU0KGZvLEdyLHhvKV07fSxndSk7aXUuWChyaSx2LGZ1bmN0aW9uKGEpe3ZhciBjLHUsaCxTMCxOMCxhMDtTMD0xMTI5ODE1NDEyO04wPS00NTk2NDE3MTE7YTA9Mjtmb3IodmFyIGYwPTE7dzUuZDEoZjAudG9TdHJpbmcoKSxmMC50b1N0cmluZygpLmxlbmd0aCw5MDQxMCkhPT1TMDtmMCsrKXt3NS5vNCg0KTtjPWFbdzUuYzQoc3IsR3IsZSldWzBdO3U9aXUudHQoYSk7aD1yLm10LlllO2EwKz0yO31pZih3NS5MMShhMC50b1N0cmluZygpLGEwLnRvU3RyaW5nKCkubGVuZ3RoLDUxODk1KSE9PU4wKXt3NS5ZNCg2KTtjPWFbdzUudTQoR3IsZSxzcildWzRdO3U9aXUudHQoYSk7aD1yLm10LlllO31kcltGc10oY1tmbytHcitVZV0taSk+PWh8fGRyW0ZzXShjW2ZvK0dyK3hvXS1uKT49aHx8YVtvcytHcitKc10tdD5vfHxyLm10LlllPD0wfHxYYy5odCYmRGlbaXJdKHVbU2MrR3IrbWNdKXx8ci5YZS5paXx8ci5YZS5uaXx8ci5YZS5yaXx8ci5waSgpfHxyLl9pKCl8fCFyLlBpKCl8fCFyLlRpKHUpfHwhci5tdC5OZSYmWmMuUyh1KXx8KHVbU2MrR3IrbWNdPT09T24mJnIuRWUoYSkscyh1LGMpKTt9LGd1KTt9LG1pOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByLG87bz15dTtmb3Iocj0wO3I8dFtwaV07cisrKWlmKHRbcl09PT13dSl7bz1ndTticmVhazt9byYmKGV8fGkpJiYoIXRoaXMuT2koZSx0KXx8IXRoaXMuT2koaSx0KXx8eVtydV1bdW5dJiZ5W3J1XVt1bl1bcGldJiYhdGhpcy5PaShaYy5GKCkseVtydV1bdW5dKSkmJm4oZ3UseXUpO30seGU6e1F0Om11LFM6eXV9LHFlOmZ1bmN0aW9uKCl7dmFyIHQ7dD1aYy54KGFyZ3VtZW50c1swXSk/YXJndW1lbnRzWzBdOmFyZ3VtZW50cztyZXR1cm4gdGhpcy5ubih0LGxjLHRbcGldJiZ0WzBdPT09eXUpO30sd2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBXMSxsMSxjMTtXMT0xMTQ2NjMzOTY5O2wxPTU4MTgzMzU3NjtjMT0yO2Zvcih2YXIgdTE9MTt3NS5kMSh1MS50b1N0cmluZygpLHUxLnRvU3RyaW5nKCkubGVuZ3RoLDY5ODkxKSE9PVcxO3UxKyspe1pjLkcodFtOaV0oR3IrUGUrR3IpKTxlJiZpKGd1LHl1KTtjMSs9Mjt9aWYodzUuZDEoYzEudG9TdHJpbmcoKSxjMS50b1N0cmluZygpLmxlbmd0aCw0ODMyNikhPT1sMSl7WmMuRyh0W05pXShHciVQZSVHcikpPj1lfHxpKGd1LHl1KTt9fSxDaTpmdW5jdGlvbigpe3ZhciByLG8scyxhLGMsdSxoLGYscCxfO2Z1bmN0aW9uIHQoKXt2YXIgdCxlO3c1Lm80KDE3KTtlPVt3NS51NChIbixUdCxHcixFbixHcixDYSxKYSksdzUuYzQoeG4sVHQsR3IsRW4sR3IsQ2EsSmEsdzUubzQoMTcpKSx3NS5jNChKYSxUdCxRYSx3NS5ZNCg0KSksdzUuYzQoQ24sR3IsVXMsbXIsVHQsdzUubzQoMSkpLHc1LnU0KFdlLEdyLHhuLG1yLFR0LHc1Llk0KDEpKV07Zm9yKHQ9MDt0PGVbcGldO3QrKylpZihaYy5sKGVbdF0pKXtyZXR1cm4gS2MuZSh0LFpjLmwoZVt0XSkpLGd1O31yZXR1cm4geXU7fWZ1bmN0aW9uIGkoaSl7dT0yO198fChfPWd1LGlvKGZ1bmN0aW9uKCl7Xz15dTt9LFhjLm90PzUwMDoxNTApLEN1JiYhcC5VZXx8KHI9aXUudHQoaSksbz1aYy5CKHIsT24pLGM9WmMuUyhyKSxyW2FhK0dyK0dpXShsbyk9PT1mdT8oclt4ZV1beHRdPVhpLFpjLlAocikscj1pdS50dChpLGd1KSk6byYmKHM9KHI9bylbYWErR3IrR2ldKFRpKSxhPVpjLk4ociksYz1aYy5TKHIpKSxmLkVpKHIsYyksZi5YZS5paXx8Zi5YZS5uaXx8Zi5YZS5yaXx8aVtVb118fGUoZi5jaS51aVtPXSYmZi5jaS51aVtPXSE9PWlbT10pfHxlKHAuS2UmJiFFdSl8fGUoIWlbSGMrR3IrVWVdJiYhaVtIYytHcit4b10pfHxlKCFYYy5vdCYmIVhjLmcmJnR5cGVvZiBpW3F0XSE9PWdlJiYwIT09aVtxdF0pfHxlKCFYYy5vdCYmIWYuWmUmJihYYy5jdHx8WGMuYnx8WGMudXQpKXx8ZSghWGMub3QmJiFwLkdlJiYoWGMuYnx8WGMudXQpJiZzPT09RmkpfHxlKGYucGkoKSl8fGUoZi5faSgpKXx8ZSghZi5QaSgpKXx8ZSghZi5UaShyKSl8fGUoYyYmIXAuTmUpfHxlKCFwLlJlJiZ0KCkpfHwoZi5BaShpKSxYYy5ldCYmbyYmYSYmZi5FZShpKSxYYy5vdHx8IW98fGN8fChYYy5iJiZzIT09RmkmJlpjLlkoKXx8cC5HZSYmcz09PUZpJiYoWGMuYnx8WGMudXQpKSYmZi5FZShpKSxmLkZpPW11LGYuaGkoKSkpKTt9Zj10aGlzO3A9Zi5tdDtfPXl1O2Z1bmN0aW9uIGUodCl7cmV0dXJuKyt1LHQmJktjLmUodSksdDt9cC5SZXx8IXQoKT8oaD1YYy5kfHxYYy5nP3FhOmVjLGZ1bmN0aW9uKCl7aXUuWChyaSxncyxpLGd1KTtYYy5vdD8oaXUuWChyaSxlYyxuLGd1KSxpdS5YKHJpLHFhLG4sZ3UpKTppdS5YKHJpLGgsbixndSk7fSgpLHRoaXMuU2koKSx0aGlzLmppKCksdGhpcy5MaSgpLHRoaXMuemkoKSx0aGlzLkJpKCkpOktjLmUoeXUpO2Z1bmN0aW9uIG4odCl7cj1vPWM9cz1hPW11OyFYYy5vdCYmdFtIYytHcitVZV0rKFhjLm50PzE3OjE1KT55W1BhK0dyK2ddP3AuUWUmJigocj17fSkuc2Nyb2xsYmFyPWd1LGYuRWkocix5dSksZi5waSgpfHxmLl9pKCl8fCFmLlBpKCl8fGYuaGkoKSk6aSh0KTt9fSxsaTpmdW5jdGlvbih0KXtpZih0aGlzLlhlLmlpfHx0aGlzLlhlLm5pfHx0aGlzLlhlLnJpKXtyZXR1cm4geXU7fXN3aXRjaCh0Lnl0KXtjYXNlIF91Om5ldyBRYy5tZSh0KS5wZSgpO2JyZWFrO2Nhc2UgZHU6bmV3IFFjLmdlKHQpLnBlKCk7YnJlYWs7Y2FzZSBsdTpuZXcgUWMueWUodCkucGUoKTticmVhaztjYXNlIHB1OnRyeXtuZXcoUWMuZHQoKSkodCkucGUoKTt9Y2F0Y2godCl7S2MuZSh0KTt9fXJldHVybiB0LnF0KCksZ3U7fSxqaTpmdW5jdGlvbigpe3ZhciB0LGUsaSxuLHIsbztuPXRoaXM7cj17fTtvPWZ1bmN0aW9uKHQpe2ZvcihlPTA7ZTx0W3BpXTtlKyspe24uTWkodFtlXSk7fX07Q28oZnVuY3Rpb24oKXt2YXIgZTtmb3IodD0wO3Q8bi5tdC4kZVtwaV07dCsrKXtpZihlPW4ubXQuJGVbdF0sKGk9cmlbYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGUpKVtwaV0mJm4ucGkoKXx8IW4uUGkoKSl7cmV0dXJuO310eXBlb2YgcltlXSE9PWdlJiZyW2VdPT09aVtwaV18fG8oaSk7fX0sMWUzKTt9LElpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbixyLG8scyxlOSxqOSxaOTtvPTI7cz15dTtmb3IoZT0wO2U8PW87ZSsrKXtpZigobj1yaVt3citHcitqbitHcitMY10odFtIYytHcitVZV0rZSx0W0hjK0dyK3hvXSkpJiZuW1NjK0dyK21jXT09PXBhK0dyK09uK0dyK0ZjK0dyK1BzK0dyK3BhKXtzPWd1O2JyZWFrO31mb3IoaT0wO2k8PW87aSsrKWlmKChuPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXStlLHRbSGMrR3IreG9dK2kpKSYmbltTYytHcittY109PT1wYStHcitPbitHcitGYytHcitQcytHcitwYSl7cz1ndTticmVhazt9aWYocylicmVhazt9aWYocylmb3Iocz15dSxyPW5bYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGVpKSxlPTA7ZTxyW3BpXTtlKyspaWYoWmMuVShyW2VdKSl7cz1ndTticmVhazt9ZTk9MTI0NjQ2Mzc5O2o5PTE4ODY4MTA5NztaOT0yO2Zvcih2YXIgVTk9MTt3NS5MMShVOS50b1N0cmluZygpLFU5LnRvU3RyaW5nKCkubGVuZ3RoLDU5MDM1KSE9PWU5O1U5Kyspe3JldHVybiBzP246eXU7WjkrPTI7fWlmKHc1LmQxKFo5LnRvU3RyaW5nKCksWjkudG9TdHJpbmcoKS5sZW5ndGgsNDQ5MzkpIT09ajkpe3JldHVybiBzP246eXU7fX0sRGk6ZnVuY3Rpb24oKXtpZighdGhpcy5YZS5laSl7dGhpcy5YZS5laT1ndTt0cnl7dGhpcy52aSgpO3RoaXMuYmkoKTt9Y2F0Y2godCl7fUtjLmUoW3RoaXMuWGUubmk/MDoxLHRoaXMuWGUucmk/MDoxLHRoaXMuWGUueGldW05pXShHcikpO319LFhlOnt0aTp5dSxuaTpndSxlaTp5dSxvaTowLHJpOmd1LHNpOjAsaWk6eXV9LG5uOmZ1bmN0aW9uKHQsZSxpKXtmb3IodmFyIG4scj0wLG89ZT09PVJuP3RoaXMubXQuSmU6dGhpcy5tdC5xZTtpJiZvW3BpXTspe29bQnNdKCk7fWZvcig7cjx0W3BpXTtyKyspe3R5cGVvZihuPXRbcl0pPT09VGM/b1tNcl0obik6dHlwZW9mIG49PT1hciYmdHlwZW9mIG5bd2ErR3IrbWNdPT09VGMmJm9bTXJdKG4pO31yZXR1cm4gdGhpczt9LEppOmZ1bmN0aW9uKCl7dmFyIHkxLEgxLHYxLHQsZTt5MT0xNzAzNzYyNDUyO0gxPTEyMTk1OTkwMzk7djE9Mjtmb3IodmFyIEUxPTE7dzUuZDEoRTEudG9TdHJpbmcoKSxFMS50b1N0cmluZygpLmxlbmd0aCwzODk3NykhPT15MTtFMSsrKXtlPTY7Zm9yKHRoaXMuZmk9W107ZT49dGhpcy5XZVtwaV07ZS0tKXsodD10aGlzLldlW2VdKS5MdCgpfHx0aGlzLmZpW01yXSh0KTt9djErPTI7fWlmKHc1LmQxKHYxLnRvU3RyaW5nKCksdjEudG9TdHJpbmcoKS5sZW5ndGgsMjE2MzkpIT09SDEpe2U9MTtmb3IodGhpcy5maT1bXTtlPnRoaXMuV2VbcGldO2UrKyl7KHQ9dGhpcy5XZVtlXSkuTHQoKSYmdGhpcy5maVtNcl0odCk7fX1lPTA7Zm9yKHRoaXMuZmk9W107ZTx0aGlzLldlW3BpXTtlKyspeyh0PXRoaXMuV2VbZV0pLkx0KCkmJnRoaXMuZmlbTXJdKHQpO31yZXR1cm4gdGhpcy5maTt9LGRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2kudWk7fX07aXUuWCh5LFN0LGZ1bmN0aW9uKCl7dmFyIFg3LEI3LFM3O1g3PTIwMTA5MDA5MDY7Qjc9LTE2OTQwNjQ1NTI7Uzc9Mjtmb3IodmFyIGE3PTE7dzUuTDEoYTcudG9TdHJpbmcoKSxhNy50b1N0cmluZygpLmxlbmd0aCwxNDk3OSkhPT1YNzthNysrKXtFdT0hMTtTNys9Mjt9aWYodzUuZDEoUzcudG9TdHJpbmcoKSxTNy50b1N0cmluZygpLmxlbmd0aCw2MjI0OCkhPT1CNyl7RXU9IXt9O31FdT1vNTt9KTtpbyhmdW5jdGlvbigpe3c1Lm80KDE1KTtLYy5lKHc1LnU0KFNpLFllLEdyLFR0LFllLE0sR3IsWWUsUWUsT3QsQW8pKTt3NS5vNCg0KTtLYy5lKHc1LmM0KHhhLFZ0LEdyKSxvdSk7dzUuWTQoNCk7S2MuZSh3NS5jNChxaSxWdCxHciksc3UpO3c1Lm80KDQpO0tjLmUodzUudTQoRXMsVnQsR3IpLGF1KTt9LDEwKTt5W3J1XT15W3J1XXx8ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG87cj17fTtvPVpjLnAoW1trbytHcitSYStHcitudCxbR2MsR2MuaV1dLFtKbixzdV0sW0d0LG91XSxbWW8rR3IraXMsYXVdLFt6YSxbR2MsR2MuWGkscl1dLFthYStHcitJaSxbR2MsR2MuWmldXSxbYWErR3IrUStHcitiYSxbR2MsR2MuWWldXSxbYWErR3IrX28rR3IrYmEsW0djLEdjLktpXV0sW3crR3IrQ24sW0djLEdjLk1pXV0sW0huLFtHYyxHYy5lbixyXV0sW0duLFtHYyxHYy5oaSxyXV0sW2VzLFtHYyxHYy5HaSxyXV0sW2xjK0dyK2JhLFtHYyxHYy5xZSxyXV0sW1JuK0dyK2JhLFtHYyxHYy5KZSxyXV0sW2FhK0dyK2h0K0dyK0NuLFtHYyxHYy53ZV1dLFthYStHcitubitHcitabyxbR2MsR2MuJGldXSxbYWErR3IreWUrR3IrWm8sW0djLEdjLlZpXV0sW0JhK0dyK3llLFtHYyxHYy5QaV1dLFtrbytHcitkdCtHcitKZSxbR2MsR2MucGldXSxbYWErR3IrVXQrR3IramUrR3IrQmksW0djLEdjLlFpXV0sW2FhK0dyK1V0K0dyK0NhLFtHYyxHYy5kaV1dLFt6aSxbR2MsR2MuTmldXSxbYWErR3IrXyxbR2MsR2MuVWldXSxbRm8rR3IrXyxbR2MsR2MuUmldXSxbaGErVHQrT28sW0tjLEtjLmVdXSxbaGErVHQrRyxbS2MsS2Mucl1dLFtPYStUdCtsaSxbdHUsdHUuYV1dLFtPYStUdCthYSxbdHUsdHUuY11dLFtPYStUdCt4bixbdHUsdHUudV1dLFt0aStUdCtrbytHcitkaSxbZXUsZXUuc11dLFt0aStUdCtsaSxbZXUsZXUuYV1dLFt0aStUdCthYSxbZXUsZXUuY11dLFt0aStUdCt4bixbZXUsZXUudV1dLFtjZStUdCtKbixYYy5wdF0sW2NlK1R0K0lyK0dyK3FpLFhjLmZ0XSxbY2UrVHQra28rR3IrQ3MsWGMuaXRdLFtjZStUdCtrbytHcitYbyxYYy5udF0sW2NlK1R0K2tvK0dyK01hLFhjLm1dLFtjZStUdCtrbytHcit2YStHcitmYytHcit0YyxYYy5ldF0sW2NlK1R0K2tvK0dyK0JuLFhjLnJ0XSxbY2UrVHQra28rR3Irdm4sWGMub3RdLFtjZStUdCtrbytHcitoZSxYYy5zdF0sW2NlK1R0K2tvK0dyK3l0LFhjLmF0XSxbY2UrVHQra28rR3IrZ2MsWGMuYl0sW2NlK1R0K2tvK0dyK0luLFhjLmRdLFtjZStUdCtrbytHcitGYSxYYy5odF0sW2NlK1R0K2tvK0dyK3ZhK0dyK1BzLFhjLmddLFtjZStUdCtrbytHcitjcyxYYy5jdF0sW2NlK1R0K2tvK0dyK0VvLFhjLnV0XSxbY2UrVHQrSm4rR3IrdXQsW1hjLFhjLkpdXSxbY2UrVHQrYW8rR3IrZGksW1hjLFhjLmx0XV0sW0NhK1R0K2xjK0dyK3FzLFtpdSxpdS5LXV0sW0NhK1R0K2xjLFtpdSxpdS5YXV0sW0NhK1R0K2xhLFtpdSxpdS5aXV0sW0NhK1R0K2FhK0dyK3luLFtpdSxpdS50dF1dLFtLZStUdCtrbytHcit2ZStHciskZSxbWmMsWmMud11dLFtLZStUdCtKbitHcit1dCxbWmMsWmMuSl1dLFtLZStUdCtvcyxbWmMsWmMuR11dLFtLZStUdCt3byxbWmMsWmMueV1dLFtLZStUdCtKaSxbWmMsWmMuJF1dLFtLZStUdCtVcytHcitDbixbWmMsWmMuel1dLFtLZStUdCt4bitHcitDbixbWmMsWmMuUF1dLFtLZStUdCthYStHcitVaSxbWmMsWmMuQl1dLFtLZStUdCtEZStHcitZaSxbWmMsWmMuSF1dXSk7Zm9yKGUgaW4gbylpZih5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShvLGUpKXtmb3Iobj1lW0NyXShHcitUdCtHciksdD1yLGk9MDtpPG5bcGldLTE7aSsrKXt0eXBlb2YgdFtuW2ldXT09PWdlJiYodFtuW2ldXT17fSk7dD10W25baV1dO310W25bbltwaV0tMV1dPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIFpjLngodFtlXSk/MT09PXRbZV1bcGldP3RbZV1bMF06ZnVuY3Rpb24oKXtyZXR1cm4gMj09PXRbZV1bcGldP3RbZV1bMV1bb2FdKHRbZV1bMF0sYXJndW1lbnRzKToodFtlXVsxXVtvYV0odFtlXVswXSxhcmd1bWVudHMpLHRbZV1bMl0pO306dFtlXTt9KG8sZSk7fXJldHVybiByO30oKTt9KHQucG9wbnN8fHpjK0dyK1VjK0dyK09jLHQsdFtFaV0sdFtPaV0sdFttcl0sdFtyb10sdFtibl0sdFtObl0sdFtDb10sdFtyaStHcitpb10sdFtsaStHcitZaV0sdFtNaStHcitZaV0sdFtsaStHcitBaV0sdFtNaStHcitBaV0sdFtMdCtHcit0YytHcitmYytHcitndF0sdFt5K0dyK1J0XSx0W2tvK0dyK3lpK0dyK2d0XSx0W2lzXSx0W1hlK0dyK1ZyK0dyK0dzK0dyK3ZhK0dyK1VyXSx0W2RyXSk7fSh3aW5kb3cpO2Y1eXkuSD1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC55PT09J2Z1bmN0aW9uJz9mNXl5LkwueS5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwueTt9O2Y1eXkuVz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Y1eXkuZz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC5PPT09J2Z1bmN0aW9uJz9mNXl5LkwuTy5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwuTzt9O2Y1eXkuZj1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Z1bmN0aW9uIGY1eXkoKXt9ZjV5eS5CPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5MLnk9PT0nZnVuY3Rpb24nP2Y1eXkuTC55LmFwcGx5KGY1eXkuTCxhcmd1bWVudHMpOmY1eXkuTC55O307ZjV5eS5SPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5JPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5MPWZ1bmN0aW9uKEQpe3JldHVybnt5OmZ1bmN0aW9uKCl7dmFyIEcsZD1hcmd1bWVudHM7c3dpdGNoKEQpe2Nhc2UgMjpHPWRbMF0qZFsxXTticmVhaztjYXNlIDA6Rz1kWzBdfGRbMV07YnJlYWs7Y2FzZSAxOkc9ZFsxXS1kWzBdO2JyZWFrO31yZXR1cm4gRzt9LE86ZnVuY3Rpb24oVil7RD1WO319O30oKTtmNXl5Lno9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiBmNXl5LkwuTz09PSdmdW5jdGlvbic/ZjV5eS5MLk8uYXBwbHkoZjV5eS5MLGFyZ3VtZW50cyk6ZjV5eS5MLk87fTtmNXl5LkM9ZnVuY3Rpb24oKXt2YXIgUT0yO3doaWxlKFEhPT0xKXtzd2l0Y2goUSl7Y2FzZSAyOnJldHVybnt2OmZ1bmN0aW9uKFUpe3ZhciBiPTI7d2hpbGUoYiE9PTE0KXtzd2l0Y2goYil7Y2FzZSAyOnZhciBLPScnLGw9ZGVjb2RlVVJJKCJ0JTExa2JsYyU3RCUwNmhiZGxtbDYhJTNDJTNDKyU1QmNkLTo1JTVENyg4Jy8lNUJ3LzI4bWolM0M4KTA3YiolMUMyJTI1bSUwN3ElN0RvYmslMTh3JTdDc2RtaDcpKSUyMipaMmQlMTgtNUErKS5vbXMlMTUlMjUlM0UwKyU1QiUzQyUxMXUlMjA2TXk/KScsSy1kJTNFOSxLMi00OyUyMCUwNjojMCU3RDUlNUM6IzMya0s2IXU5Kks4JTIwNTo2JTVDcSUxRiUzRScsWC1sMCUyMDYlNUN5Ljh1KUc4KDgxZUolM0MqMiclMjAlMDg1JTI1JTNFMCslNUIlM0NsOyUzQylNcWIxOiZJNSIpO2I9MTticmVhaztjYXNlIDk6Sys9U3RyaW5nLmZyb21DaGFyQ29kZShsLmNoYXJDb2RlQXQoWSleVS5jaGFyQ29kZUF0KGspKTtiPTg7YnJlYWs7Y2FzZSAxOnZhciBZPTAsaz0wO2I9NTticmVhaztjYXNlIDU6Yj1ZPGwubGVuZ3RoPzQ6NzticmVhaztjYXNlIDM6az0wO2I9OTticmVhaztjYXNlIDg6WSsrLGsrKztiPTU7YnJlYWs7Y2FzZSA0OmI9az09PVUubGVuZ3RoPzM6OTticmVhaztjYXNlIDc6Sz1LLnNwbGl0KCcoJyk7cmV0dXJuIGZ1bmN0aW9uKFApe3ZhciBoPTI7d2hpbGUoaCE9PTEpe3N3aXRjaChoKXtjYXNlIDI6cmV0dXJuIEtbUF07YnJlYWs7fX19O2JyZWFrO319fSgnRShZTF1VJyl9O2JyZWFrO319fSgpOyFmdW5jdGlvbihlLG8sYyl7InVzZSBzdHJpY3QiO3ZhciBUPWY1eXk7dmFyIGksbix0O1QuZygwKTtpPVQuUihULkgoIjgiLDApKTtULnooMCk7bj1bVC5JKFQuSCgnXHgzMVx4MzAnLDApKSxULkkoKyI2IiksVC5SKCsnXHgzMVx4MzQnKSxULlIoKyIxMiIpLFQuUihULkgoIjUiLDAsVC5nKDApKSksVC5JKFQuQigwLCdceDMwJyxULnooMSkpKSxULlIoVC5CKCdceDMxXHgzMScsMCxULnooMCkpKSxULkkoKyIyIildO1QuZygyKTt0PVsrJ1x4MzJceDMwXHgzMVx4MzknLFQuQignXHUwMDM1JywxKSxULkgoJ1x4MzFceDM2JywwLFQuZygwKSldO3RyeXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yy5Mb2dnZXIubG9nKGksVC5SKCsnXHgzMScpLG4pO2MuTG9nZ2VyLmxvZyhpLFQuUigiNyItMCksdC5qb2luKFQuSSgnXHgzNCctMCkpKTt9LCsiNTAwIik7VC56KDEpO2Mub2JqZWN0PVtuLFsrIjM2MCIsNDk0LDM5MSwrIjMxMiIsVC5CKDAsIjMxMiIpLFQuSCgiMzY1IiwwLFQuZygwKSksKydceDM0XHgzMFx4MzQnLFQuSCgiMzAwIiwwLFQuZygwKSksKydceDMzXHgzNlx4MzBceDMwXHgzMScsVC5IKDAsJ1x4MzNceDM5XHgzNVx4MzJceDMyJyxULmcoMSkpLFQuQigiMTg3NzEiLDAsVC56KDApKSwrIjM0OTQ4IiwxNjU0MSwyOTU3MSwrJ1x4MzVceDMxXHgzN1x4MzFceDM5JywzMzkwOCxULkgoIjc4ODQwIiwwLFQuZygwKSksMTA1OTY0LCsnXHgzOFx4MzRceDM1XHgzNVx4MzUnLFQuSCgiNzI0MjYiLDAsVC5nKDApKSxULkgoJ1x4MzNceDMwXHgzNVx4MzlceDM5JywwLFQuZygwKSksVC5CKCdcdTAwMzRcdTAwMzFcdTAwMzZcdTAwMzJcdTAwMzYnLDAsVC5nKDApKSxULkIoMCwnXHUwMDM4XHUwMDM4XHUwMDMwXHUwMDM4XHUwMDM0JyxULnooMSkpLFQuSCgiNjU0MDkiLDEsVC5nKDIpKSwxNDQwMCxULkgoIjEyODQ0IiwxLFQueigyKSksKydceDM4XHgzNlx4MzBceDMyJyxULkgoJ1x4MzFceDMwXHgzOVx4MzJceDMwJywxLFQuZygyKSksMTM0MTYsVC5IKCdceDMyXHgzNFx4MzhceDMyXHgzMCcsMCxULmcoMCkpLFQuQignXHgzM1x4MzdceDM5XHgzN1x4MzYnLDAsVC56KDApKSwrJ1x4MzVceDMxXHg2NVx4MzMnXSx0LFtULkgoJ1x4MzNceDM2XHgzMicsMCxULmcoMCkpLDQ5NiwrJ1x4MzNceDM5XHgzOScsVC5IKDAsIjczMDkyMyIsVC5nKDEpKSwrJ1x1MDAzMlx1MDAzNVx1MDAzMVx1MDAzMicsVC5IKCI2Mzk4IiwwLFQueigwKSksVC5IKCdcdTAwMzRcdTAwMzFcdTAwMzFcdTAwMzlcdTAwMzFcdTAwMzJcdTAwMzInLDEsVC5nKDIpKSwrJ1x4MzFceDMxXHgzMVx4MzlceDMyJyxULkgoJ1x4MzNceDM0XHgzMlx4MzNceDM2JywwLFQueigwKSksMjQ2MSwzMjU1NywxMDIxMF0sby5jdXJyZW50U2NyaXB0LFQuSCgiMSIsMSxULmcoMikpXTt9Y2F0Y2gobyl7dm9pZCgnXHgzMCcqMSkhPT1lLmNvbnNvbGUmJmUuY29uc29sZS5sb2cmJkZ1bmN0aW9uLmFwcGx5LmNhbGwoZS5jb25zb2xlLmxvZyxlLmNvbnNvbGUsW1QuSSgnXHgzMVx4MzMnfDApXSk7fX0od2luZG93LGRvY3VtZW50LHdpbmRvd1t3aW5kb3cucG9wbnN8fGY1eXkuUigiMyItMCldKTt2YXIgXzB4MTM4Zj1bJ1x4NThceDQ4XHg2M1x4NzInLCdceDQ5XHg1NFx4NDVceDZmXHg2NFx4NDNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NmNceDUwXHg1NFx4NDVceDZmXHg1YVx4NTNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NzVceDUwXHg1OFx4NTFceDc1XHg2Mlx4NzlceDY3XHg2OVx4NjJceDUzXHg0OVx4NzBceDRmXHg3YVx4NTlceDY3XHg2Mlx4NjlceDM0XHg3OVx4NGNceDZkXHg3N1x4MzlceDQ5XHg2ZFx4NzNceDY5XHg0Y1x4NDdceDM0XHg3NVx4NGRceDY5XHgzNVx4NzdceDUwXHg1NFx4NDFceDczXHg2Mlx4NjlceDM0XHg3OVx4NGNceDZlXHg0NVx4MzlceDRkXHg0M1x4NzhceDc1XHg0Y1x4NmFceDQ5XHg3NVx4NjRceDdhXHgzMFx4NjlceDYxXHg2OVx4NDlceDczXHg2Mlx4NjlceDM1XHgzMVx4NTBceDUzXHg0OVx4MzNceDRmXHg2OVx4MzhceDc2XHg2M1x4NjlceDM1XHgzNFx4NGNceDZhXHg1NVx4NzZceDYxXHg0M1x4MzlceDY4XHg0Y1x4NzlceDQ5XHg3Mlx4NWFceDUzXHg3OFx4MzBceDRjXHg2ZFx4NDlceDc1XHg2MVx4NTNceDY4XHg3NVx4NGJceDUzXHg3OFx4NzVceDY2XHg1M1x4NzhceDc1XHg1MFx4NTdceDRkXHg2Zlx4NWFceDc5XHg2N1x4NmZceDY0XHg0M1x4MzVceDZiXHg0Y1x4NmVceDU5XHg2Zlx4NTFceDY5XHg0Mlx4NGZceDRiXHg0M1x4NDlceDZmXHg0ZVx4N2FceDM5XHgzOFx4NTNceDY5XHgzMVx4MzVceDRiXHg1NFx4NzBceDYzXHg1OFx4NDNceDM5XHg2M1x4NThceDQzXHgzOFx4NjlceDRiXHg1M1x4NzdceDY5XHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDRjXHg3OVx4NDlceDcwXHg1N1x4N2FceDQyXHg2NFx4NjZceDQ4XHg3N1x4NjlceDUzXHg3OVx4MzRceDMxXHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDQ5XHg2OVx4NmJceDc1XHg1NFx4NDNceDY3XHg3OFx4NGJceDQ4XHg1MVx4NzBceDY1XHg3YVx4NTlceDY3XHg2NFx4NDNceDM1XHg0ZVx4NGJceDQ0XHg0MVx4NzBceDRjXHg2Ylx4NjNceDZmXHg1M1x4NDNceDZjXHgzOVx4NGJceDUzXHgzNVx4NDJceDRiXHg0M1x4NDlceDY5XHg0Ylx4NTNceDZiXHg3MFx4NGZceDMzXHg2Zlx4NzVceDRlXHg0M1x4NjdceDY5XHg1MVx4NzlceDQ5XHg3M1x4NGRceDUzXHg2N1x4NzBceDY1XHgzMlx4NTVceDZmXHg2Mlx4NjlceDczXHg2OVx4NGNceDMyXHg1OVx4NzVceDRmXHg1M1x4NDlceDcwXHg0Y1x4NmFceDUxXHg2Zlx4NDlceDZiXHg1MVx4NjlceDRjXHg0NFx4NDVceDZmXHg0Ylx4NThceDc0XHg0N1x4NGJceDQ0XHg0NVx4NmZceDRiXHg1OFx4NzRceDZjXHg0Ylx4NDdceDM0XHg3Mlx4NDlceDY5XHgzOVx4N2FceDRjXHg2YVx4NmJceDY5XHg0Ylx4NThceDMwXHg3M1x4NTJceDUzXHg2Y1x4MzlceDRiXHg1OFx4MzBceDcwXHg2Nlx4NTNceDY4XHg0YVx4NGJceDU0XHg3M1x4M2QnLCdceDYzXHgzM1x4NDJceDczXHg2MVx4NThceDUxXHgzZCcsJ1x4NWFceDZlXHg0YVx4NzZceDYyXHg1NVx4NGVceDZmXHg1OVx4NThceDRhXHg0NFx4NjJceDMyXHg1Mlx4NmMnLCdceDY0XHg0N1x4MzlceDU0XHg2NFx4NDhceDRhXHg3MFx4NjJceDZkXHg2M1x4M2QnLCdceDYzXHg2ZFx4NTZceDc3XHg2Mlx4NDdceDQ2XHg2YVx4NWFceDUxXHgzZFx4M2QnXTsoZnVuY3Rpb24oXzB4MWI1OWFjLF8weDMwZDYwNSl7dmFyIF8weDQ0NTljOT1mdW5jdGlvbihfMHgxNDY4YWMpe3doaWxlKC0tXzB4MTQ2OGFjKXtfMHgxYjU5YWNbJ3B1c2gnXShfMHgxYjU5YWNbJ3NoaWZ0J10oKSk7fX07XzB4NDQ1OWM5KCsrXzB4MzBkNjA1KTt9KF8weDEzOGYsMHgxMGIpKTt2YXIgXzB4MTdjMT1mdW5jdGlvbihfMHgxOTc3ZGIsXzB4Yzc5ZjY5KXtfMHgxOTc3ZGI9XzB4MTk3N2RiLTB4MDt2YXIgXzB4MTYyZGYyPV8weDEzOGZbXzB4MTk3N2RiXTtpZihfMHgxN2MxWydPTXJTcXgnXT09PXVuZGVmaW5lZCl7KGZ1bmN0aW9uKCl7dmFyIF8weDI0NzE2Njt0cnl7dmFyIF8weDViZDYyOT1GdW5jdGlvbigncmV0dXJuXHgyMChmdW5jdGlvbigpXHgyMCcrJ3t9LmNvbnN0cnVjdG9yKFx4MjJyZXR1cm5ceDIwdGhpc1x4MjIpKFx4MjApJysnKTsnKTtfMHgyNDcxNjY9XzB4NWJkNjI5KCk7fWNhdGNoKF8weDMyOTViMCl7XzB4MjQ3MTY2PXdpbmRvdzt9dmFyIF8weDI4M2NlOT0nQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0nO18weDI0NzE2NlsnYXRvYiddfHwoXzB4MjQ3MTY2WydhdG9iJ109ZnVuY3Rpb24oXzB4MzQxYjE5KXt2YXIgXzB4MTQ0Zjk2PVN0cmluZyhfMHgzNDFiMTkpWydyZXBsYWNlJ10oLz0rJC8sJycpO2Zvcih2YXIgXzB4MjhhNzVlPTB4MCxfMHg1OWNiNWIsXzB4MWUwOTNkLF8weDUxZWZhNj0weDAsXzB4OTIyYWFjPScnO18weDFlMDkzZD1fMHgxNDRmOTZbJ2NoYXJBdCddKF8weDUxZWZhNisrKTt+XzB4MWUwOTNkJiYoXzB4NTljYjViPV8weDI4YTc1ZSUweDQ/XzB4NTljYjViKjB4NDArXzB4MWUwOTNkOl8weDFlMDkzZCxfMHgyOGE3NWUrKyUweDQpP18weDkyMmFhYys9U3RyaW5nWydmcm9tQ2hhckNvZGUnXSgweGZmJl8weDU5Y2I1Yj4+KC0weDIqXzB4MjhhNzVlJjB4NikpOjB4MCl7XzB4MWUwOTNkPV8weDI4M2NlOVsnaW5kZXhPZiddKF8weDFlMDkzZCk7fXJldHVybiBfMHg5MjJhYWM7fSk7fSgpKTtfMHgxN2MxWyd4anFrREYnXT1mdW5jdGlvbihfMHgzMzc3MTgpe3ZhciBfMHg1ZGRiMTU9YXRvYihfMHgzMzc3MTgpO3ZhciBfMHg1NjBiOTU9W107Zm9yKHZhciBfMHhjOTdmOTE9MHgwLF8weDQ0MTg3Mj1fMHg1ZGRiMTVbJ2xlbmd0aCddO18weGM5N2Y5MTxfMHg0NDE4NzI7XzB4Yzk3ZjkxKyspe18weDU2MGI5NSs9JyUnKygnMDAnK18weDVkZGIxNVsnY2hhckNvZGVBdCddKF8weGM5N2Y5MSlbJ3RvU3RyaW5nJ10oMHgxMCkpWydzbGljZSddKC0weDIpO31yZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KF8weDU2MGI5NSk7fTtfMHgxN2MxWydrRG1IU2snXT17fTtfMHgxN2MxWydPTXJTcXgnXT0hIVtdO312YXIgXzB4MzA2NDA1PV8weDE3YzFbJ2tEbUhTayddW18weDE5NzdkYl07aWYoXzB4MzA2NDA1PT09dW5kZWZpbmVkKXtfMHgxNjJkZjI9XzB4MTdjMVsneGpxa0RGJ10oXzB4MTYyZGYyKTtfMHgxN2MxWydrRG1IU2snXVtfMHgxOTc3ZGJdPV8weDE2MmRmMjt9ZWxzZXtfMHgxNjJkZjI9XzB4MzA2NDA1O31yZXR1cm4gXzB4MTYyZGYyO307ZXZhbChmdW5jdGlvbihfMHg0OWIyZTksXzB4MTA2OTM1LF8weDIyM2Q1NixfMHgyZmY2ZTksXzB4ZWQ3ZDI2LF8weDNiYzUwMCl7XzB4ZWQ3ZDI2PWZ1bmN0aW9uKF8weDI2YmI4Mil7cmV0dXJuKF8weDI2YmI4MjxfMHgxMDY5MzU/Jyc6XzB4ZWQ3ZDI2KHBhcnNlSW50KF8weDI2YmI4Mi9fMHgxMDY5MzUpKSkrKChfMHgyNmJiODI9XzB4MjZiYjgyJV8weDEwNjkzNSk+MHgyMz9TdHJpbmdbXzB4MTdjMSgnMHgwJyldKF8weDI2YmI4MisweDFkKTpfMHgyNmJiODJbXzB4MTdjMSgnMHgxJyldKDB4MjQpKTt9O2lmKCEnJ1tfMHgxN2MxKCcweDInKV0oL14vLFN0cmluZykpe3doaWxlKF8weDIyM2Q1Ni0tKXtfMHgzYmM1MDBbXzB4ZWQ3ZDI2KF8weDIyM2Q1NildPV8weDJmZjZlOVtfMHgyMjNkNTZdfHxfMHhlZDdkMjYoXzB4MjIzZDU2KTt9XzB4MmZmNmU5PVtmdW5jdGlvbihfMHgzMjA3ZjYpe3JldHVybiBfMHgzYmM1MDBbXzB4MzIwN2Y2XTt9XTtfMHhlZDdkMjY9ZnVuY3Rpb24oKXtyZXR1cm4gXzB4MTdjMSgnMHgzJyk7fTtfMHgyMjNkNTY9MHgxO307d2hpbGUoXzB4MjIzZDU2LS0pe2lmKF8weDJmZjZlOVtfMHgyMjNkNTZdKXtfMHg0OWIyZTk9XzB4NDliMmU5W18weDE3YzEoJzB4MicpXShuZXcgUmVnRXhwKCdceDVjXHg2MicrXzB4ZWQ3ZDI2KF8weDIyM2Q1NikrJ1x4NWNceDYyJywnXHg2NycpLF8weDJmZjZlOVtfMHgyMjNkNTZdKTt9fXJldHVybiBfMHg0OWIyZTk7fShfMHgxN2MxKCcweDQnKSwweDMyLDB4MzIsJ1x4N2NceDY2XHg3NVx4NmVceDYzXHg3NFx4NjlceDZmXHg2ZVx4N2NceDczXHg3NFx4NzlceDZjXHg2NVx4N2NceDczXHg3MFx4NmNceDY5XHg3NFx4N2NceDYxXHg2NFx4NjRceDQ1XHg3Nlx4NjVceDZlXHg3NFx4NGNceDY5XHg3M1x4NzRceDY1XHg2ZVx4NjVceDcyXHg3Y1x4NjNceDZmXHg2ZFx4N2NceDcyXHg2NVx4NzRceDc1XHg3Mlx4NmVceDdjXHg2OFx4NzRceDc0XHg3MFx4NzNceDdjXHg3Nlx4NjFceDcyXHg3Y1x4NzBceDZlXHg2N1x4N2NceDcwXHg3NFx4N2NceDYyXHg2Zlx4NjRceDc5XHg3Y1x4NjVceDZlXHg2M1x4NmZceDY0XHg2NVx4NTVceDUyXHg0OVx4NDNceDZmXHg2ZFx4NzBceDZmXHg2ZVx4NjVceDZlXHg3NFx4N2NceDcyXHg2NVx4NjZceDY1XHg3Mlx4NzJceDY1XHg3Mlx4N2NceDdjXHg3Y1x4NjJceDc0XHg2Zlx4NjFceDdjXHg3Nlx4MzFceDdjXHg2MVx4NzBceDcwXHg2NVx4NmVceDY0XHg0M1x4NjhceDY5XHg2Y1x4NjRceDdjXHg2ZVx4NmZceDZlXHg2NVx4N2NceDYxXHg2Mlx4NzNceDZmXHg2Y1x4NzVceDc0XHg2NVx4N2NceDcwXHg2Zlx4NzNceDY5XHg3NFx4NjlceDZmXHg2ZVx4N2NceDY5XHg2ZFx4NjdceDdjXHg3Y1x4NjNceDcyXHg2NVx4NjFceDc0XHg2NVx4NDVceDZjXHg2NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg3NFx4NmZceDcwXHg3Y1x4NmNceDY1XHg2Nlx4NzRceDdjXHg2MVx4NzBceDY5XHg3Y1x4N2NceDdjXHg3M1x4NzJceDYzXHg3Y1x4NzJceDY1XHg3MFx4NmNceDYxXHg2M1x4NjVceDdjXHg3MFx4NmZceDY5XHg2ZVx4NzRceDY1XHg3Mlx4NDVceDc2XHg2NVx4NmVceDc0XHg3M1x4N2NceDYzXHg2Y1x4NjlceDYzXHg2Ylx4NjFceDY5XHg2ZVx4NjVceDdjXHg2MVx4NzBceDcwXHg3Y1x4NzdceDY5XHg2ZVx4NjRceDZmXHg3N1x4N2NceDZhXHg2Zlx4NjlceDZlXHg3Y1x4NmVceDY1XHg3N1x4N2NceDQ0XHg0Zlx4NGRceDQzXHg2Zlx4NmVceDc0XHg2NVx4NmVceDc0XHg0Y1x4NmZceDYxXHg2NFx4NjVceDY0XHg3Y1x4NmNceDZmXHg2MVx4NjRceDdjXHgzNVx4NjVceDMzXHg3Y1x4NzNceDY1XHg3NFx4NTRceDY5XHg2ZFx4NjVceDZmXHg3NVx4NzRceDdjXHg3NFx4NmZceDUzXHg3NFx4NzJceDY5XHg2ZVx4NjdceDdjXHgzMVx4MzZceDdjXHg2NFx4NmZceDYzXHg3NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg2MVx4NmVceDY0XHg3Mlx4NmZceDY5XHg2NFx4N2NceDY0XHg2Zlx4NzRceDdjXHg2ZFx4NjFceDcwXHg3Y1x4NjNceDY4XHg2MVx4NzJceDQzXHg2Zlx4NjRceDY1XHg0MVx4NzRceDdjXHg1Mlx4NjVceDY3XHg0NVx4NzhceDcwJ1tfMHgxN2MxKCcweDUnKV0oJ1x4N2MnKSwweDAse30pKTsKO3ZhciBjSVBvcCA9IGZ1bmN0aW9uIGNJUG9wKHVybCkgewoJCWNQb3AuY29uZmlnKHsKCQkJY292ZXJUYWdzOiBbJ3ZpZGVvJywgJ2lmcmFtZSddLAoJCQl0YWJVbmRlcklnbm9yZVRhcmdldEJsYW5rOiB0cnVlLAoJCQlkZWxheTogMTAwCgkJfSk7CgkJY1BvcC5hZGQodXJsLCB7CgkJCW5ld1RhYjogdHJ1ZSwKCQkJdW5kZXI6IHRydWUsCgkJCWNvb2tpZUV4cGlyZXM6IDEwMH0pfTs=(Line 1)
Message:
[object HTMLDivElement]
console-api log URL: data:text/plain;base64,d2luZG93LnBvcG5zID0gJ2NQb3AnO3Y3R0cuYzQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmU0PT09J2Z1bmN0aW9uJz92N0dHLlo0LmU0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmU0O307djdHRy5pMT1mdW5jdGlvbigpe3ZhciBxMT1mdW5jdGlvbihJMSxLMSl7dmFyIEExPUsxJjB4ZmZmZjt2YXIgcjE9SzEtQTE7cmV0dXJuKHIxKkkxfDApKyhBMSpJMXwwKXwwO30sbTE9ZnVuY3Rpb24oajEsVTEsaDEpe3ZhciB4MT0weGNjOWUyZDUxLHoxPTB4MWI4NzM1OTM7dmFyIGUxPWgxO3ZhciB0MT1VMSZ+MHgzO2Zvcih2YXIgWjE9MDtaMTx0MTtaMSs9NCl7dmFyIFExPWoxLmNoYXJDb2RlQXQoWjEpJjB4ZmZ8KGoxLmNoYXJDb2RlQXQoWjErMSkmMHhmZik8PDh8KGoxLmNoYXJDb2RlQXQoWjErMikmMHhmZik8PDE2fChqMS5jaGFyQ29kZUF0KFoxKzMpJjB4ZmYpPDwyNDtRMT1xMShRMSx4MSk7UTE9KFExJjB4MWZmZmYpPDwxNXxRMT4+PjE3O1ExPXExKFExLHoxKTtlMV49UTE7ZTE9KGUxJjB4N2ZmZmYpPDwxM3xlMT4+PjE5O2UxPWUxKjUrMHhlNjU0NmI2NHwwO31RMT0wO3N3aXRjaChVMSU0KXtjYXNlIDM6UTE9KGoxLmNoYXJDb2RlQXQodDErMikmMHhmZik8PDE2O2Nhc2UgMjpRMXw9KGoxLmNoYXJDb2RlQXQodDErMSkmMHhmZik8PDg7Y2FzZSAxOlExfD1qMS5jaGFyQ29kZUF0KHQxKSYweGZmO1ExPXExKFExLHgxKTtRMT0oUTEmMHgxZmZmZik8PDE1fFExPj4+MTc7UTE9cTEoUTEsejEpO2UxXj1RMTt9ZTFePVUxO2UxXj1lMT4+PjE2O2UxPXExKGUxLDB4ODVlYmNhNmIpO2UxXj1lMT4+PjEzO2UxPXExKGUxLDB4YzJiMmFlMzUpO2UxXj1lMT4+PjE2O3JldHVybiBlMTt9O3JldHVybntiMTptMX07fSgpO3Y3R0cuRDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LkM2PT09J2Z1bmN0aW9uJz92N0dHLlo0LkM2LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LkM2O307djdHRy5MMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLlo2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5DNj09PSdmdW5jdGlvbic/djdHRy5nNi5DNi5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5DNjt9O3Y3R0cuWjQ9ZnVuY3Rpb24oQTQpe3JldHVybntlNDpmdW5jdGlvbigpe3ZhciBTNCxsND1hcmd1bWVudHM7c3dpdGNoKEE0KXtjYXNlIDI6UzQ9bDRbMF0rbDRbMV07YnJlYWs7Y2FzZSAyMjpTND1sNFsyXStsNFswXS1sNFsxXTticmVhaztjYXNlIDc6UzQ9bDRbNF0rbDRbMTBdK2w0WzExXStsNFszXSsobDRbNl0rbDRbMV0rbDRbNV0rbDRbOV0rbDRbMl0rbDRbMF0rbDRbOF0pK2w0WzddO2JyZWFrO2Nhc2UgNjpTND1sNFsyXS9sNFswXS9sNFsxXTticmVhaztjYXNlIDE3OlM0PWw0WzZdK2w0WzFdK2w0WzBdK2w0WzRdK2w0WzVdK2w0WzJdK2w0WzNdO2JyZWFrO2Nhc2UgMTpTND1sNFszXStsNFs0XStsNFsyXStsNFsxXStsNFswXTticmVhaztjYXNlIDM6UzQ9bDRbMV0rKGw0WzNdK2w0WzVdK2w0WzBdK2w0WzRdK2w0WzJdKTticmVhaztjYXNlIDExOlM0PWw0WzFdPGw0WzBdO2JyZWFrO2Nhc2UgOTpTND1sNFswXT4tbDRbMV07YnJlYWs7Y2FzZSA0OlM0PWw0WzBdK2w0WzFdK2w0WzJdO2JyZWFrO2Nhc2UgODpTND1sNFswXT09PWw0WzFdO2JyZWFrO2Nhc2UgMTQ6UzQ9bDRbMF0rbDRbNF0rbDRbN10rbDRbMl0rbDRbNV0rbDRbM10rbDRbMV0rbDRbNl0rbDRbOF07YnJlYWs7Y2FzZSAyMTpTND1sNFswXSVsNFsyXS1sNFsxXTticmVhaztjYXNlIDEyOlM0PWw0WzVdK2w0WzJdK2w0WzZdK2w0WzBdKyhsNFs0XStsNFszXStsNFsxXSk7YnJlYWs7Y2FzZSAxNjpTND1sNFswXStsNFsyXTxsNFsxXTticmVhaztjYXNlIDIwOlM0PWw0WzFdJWw0WzJdKmw0WzBdO2JyZWFrO2Nhc2UgNTpTND1sNFs1XSsobDRbMTNdK2w0WzNdK2w0WzddK2w0WzEyXStsNFs2XStsNFs0XStsNFsyXStsNFswXStsNFsxMF0rbDRbOF0rbDRbMTFdK2w0WzldK2w0WzFdKTticmVhaztjYXNlIDA6UzQ9bDRbOV0rbDRbOF0rbDRbMl0rbDRbMTNdK2w0WzNdK2w0WzRdK2w0WzFdK2w0WzBdK2w0WzddK2w0WzExXStsNFsxMF0rbDRbNl0rbDRbNV0rbDRbMTRdK2w0WzEyXTticmVhaztjYXNlIDE4OlM0PWw0WzBdKmw0WzJdJWw0WzFdO2JyZWFrO2Nhc2UgMTA6UzQ9LWw0WzBdPT09bDRbMV07YnJlYWs7Y2FzZSAxMzpTND1sNFsxNF0rbDRbMjddK2w0WzE5XStsNFswXStsNFsxMV0rbDRbNV0rbDRbMTBdK2w0WzI5XStsNFsyXStsNFsyM10rbDRbMjBdK2w0WzRdK2w0WzIyXStsNFsxOF0rbDRbMjRdK2w0WzEyXStsNFs3XStsNFsxNV0rbDRbNl0rbDRbMTNdK2w0WzE3XStsNFs5XStsNFsyOF0rbDRbMjFdK2w0WzFdK2w0WzMwXStsNFsyNl0rbDRbMTZdK2w0WzNdK2w0WzI1XStsNFs4XTticmVhaztjYXNlIDE5OlM0PWw0WzFdL2w0WzBdJWw0WzJdO2JyZWFrO2Nhc2UgMTU6UzQ9bDRbNV0rbDRbNF0rbDRbMTBdK2w0WzFdK2w0WzZdK2w0WzldK2w0WzJdK2w0WzddK2w0WzhdK2w0WzNdK2w0WzBdO2JyZWFrO31yZXR1cm4gUzQ7fSxzNDpmdW5jdGlvbihQNCl7QTQ9UDQ7fX07fSgpO3Y3R0cueDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy51ND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuZTQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuZTQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuZTQ7fTtmdW5jdGlvbiB2N0dHKCl7fXY3R0cuWTQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LnM0PT09J2Z1bmN0aW9uJz92N0dHLlo0LnM0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LnM0O307djdHRy5vND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuczQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuczQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuczQ7fTt2N0dHLmw2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuQjQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy5nNj1mdW5jdGlvbigpe3ZhciBzNj0yO3doaWxlKHM2IT09MSl7c3dpdGNoKHM2KXtjYXNlIDI6cmV0dXJue0M2OmZ1bmN0aW9uKHg2KXt2YXIgbTY9Mjt3aGlsZShtNiE9PTE0KXtzd2l0Y2gobTYpe2Nhc2UgNDptNj1JNj09PXg2Lmxlbmd0aD8zOjk7YnJlYWs7Y2FzZSAyOnZhciBQNj0nJyxVNj1kZWNvZGVVUkkoIjIjMUw3QTg4LEk1Vz84O1Y0WiUyMiUzRStHO0IlMjIpJTIwRyUwQUUlMjIkLFE/RTIyJTE0UChBMCMqRypLJjklM0MlNUQ/ViUzQz8sdDtHKCUzRTdNL1Y4Mj8lNUM0UTQtJTIwRyUxOEElMjI4N0skaTkoN0c3TTgyJTA1JTVDOE8/OCxaNUolMjUjJTNFJTVDJG4lMjUyJTdCRyxBJD87VjRabTIhTTVUKCQzVyUzRUgzKCxLP0k5OjdHaCUxNiglMUU3Xz9WMyUzRSxaNUolMjIpJTNDTSRJMyUzRTUlNUMkSjM0JkclMEJHO3U5JTVEJHooJTAwPSU1RT1BJDIhJTVDLlolM0UpOyU1RTJQKCUwOSUzRSU1QzdBODghRylQLyUyMDdHLE0lMjUlMjUwUDZNJTIyNSxqJEc6JTI1N1cuWjMlMjA3VD9KJTIyMiUxNUE2WiUxQSYsaz9FNSQ3JTVEJGswMj1fJTNDVzM4LG8lMjBaJTEzKyxuM0oyIyUyNUc5RTgvN1UkbicvKyUwQzBGZCU3QyUyMkc4TTgoLEk1TTg4N0skSiMhMCU1QyhaNS0lM0VVJH4oJTIwN18uWngyJlgoQzM4LHoyVjkhN0clM0VBJTIwJTI1MSU1QyRwLyUzQzdKJFclM0UjJ1UlM0VaJTIyLTVHJTAzJTE3KCUwNTVXNVYzMiUxMFA0QCglMTk1RyUwQVY5JTNDMyU1RTtQPyMlM0NHNVQzJTIyN0skSDkvM00zSzgyJTA1QTZHJTNDO2pHLk07KSx2NEczMiUxM1U2WjAlM0UzVD9aJTA1ISxLO0oyIz9HJTE4UiglMDU2RzBLPyUyMiwlNjAqWjsjJCU1QyRTPyUyMjZWLVoyJTI1IUk2RS8ybEclMUVLOy07VyRAMz85TTVUKCUwQSElNUUkUDcuJ1clM0VBJDIlMTMlNUUkRTQjJ00kVzUlM0U7SS5aJjkhUSRBJTIwKSUzQ00pWiUyMiUzRTNXKVQ3JTNFN1cuWiY4MVY0QyglMUYmVihFMSkseCRQNy4saT9WJi01JTVDJEk3NCxKL0YlMjU4JTIwRzZLNygsajlWPyUzQyZHJTEzSiUyMiklMjBPO0goJCUyMCU1QyUzQ1o4IyxaKEE3ODdHO1AlMjItMVEkSDklMjI1Ry9WOjIlMUZYLkwoLTBaJTNFQTArOlAwTzohJTNDVipVJD8mTCxTLjUoRyUxNVQzJTNFM0clMENFOjk3RyUxOEgoOSUzQyU1RD9WKCUwNSYlNUM3WiUxNCUzRT1OKUEkMiUxM1clM0VWOSUyNTZHOVEkJTNFN1cuWiUxNCUyMDNXMVoyKSRHNEslMjIyJTFFJTVDJTNDUCg/N1U/RyUyMiMlMjBHJTFEJTFEPy04TmJaPyUyMiUzQyU1QyhaNCUyMDNXMVolMDM1LCU1QyRzPyUyMix4LlolMTQ5MCU1QjZBKCg3WjVAMzIlMDJYKEE4OCxoL0EjKTZHdlolMDU4M1QqWiYtJTIwJTVDNFAoJDNKJFElMjUpJTIwRyhBJiUyMDNaP1olMDAyI0w/Vi8yJTNDJTVDLlM5JTNFOUcpTD8qJkcqVjk4PU0jVDMyPSU1QjBBNTgseSRKIyUyMCUzRUcuSyh+YiUwOGJaPyUyMiUyMkwuWjstJloyWiQpIU01VjMyO18oRTspLHU1UzMlM0UsJTdGalolMDQyJTA2UTtKJTNFMiUxRkc4USUyMjg9VyRvMjIlMTglMDkkcSQlMjAsaSRGMyo9Sz9aJTAwKSUyMEozSzgyJTA0TCRBOC0wVT9AKCUwMyxLP1czOCwlMTEkVjM/O0M/WiMlMjI2JTVDJTNDTTgpNkd6WiUyNSUzRTFHJTFEQSUyMjg3SyUwNSU3QiglMUM6WDRaPzIxVT9FJDIwWClBJTYweCwlNjAkQDMuJyU1RSRDMzgsUztSNz8xSzNUJTIyMjNNLlY/LidNP1coJTFGJkszSjEyLHU3WjgpJTI1RzVKNSUyMDtaMVolMTF1JTI1JTVEJCU3QyhjLFQzSTMyJTE0TDRHJTIyJTI1PVckVjM9JyU1QylQKCUxMHplc3glMjVmKWUpJTBFJTBBJTE3JTBFSnBKNzg7Tz8lMDQ1IzYlNUMlMDZXJTdDJTEwJTBGZSklMEUrMiUxRVA0US4yJTFFJTA5KkwyISwlNUQ/VyUyMiUzRT1AJE07MjZQKVQ3ODFRJE04PzdLLlo4IzYlNUMkajoyJTAxJTVDNkE1OD1LJCUxMiglMDg3JTVCL0MoJTE4MyU1RSlaJTE0JCwlNUU/SzojMVguTTklMjIsJTdDLEE4OCxYKlQ6NSwlNUQ7UDcycUclMEVFJCs3TSRnOSElMjJYKEEoaSwlN0Y2RTEyY0clMTlFJTI1KSwlNUQ1STclMjUlM0NHJTFCUSUyMiQ9SyRGOSgrRztAMjIlMERmJTNFQTAlMjUlM0MlNUMkcDcrLFQ/VyUyNS01JTVDJEk5OSElNUMvVCglMEElMjBWN1olMDYjO1cuWiUyMC0lMjBHJTBFSyMvOiU1QylaJTAyIywlN0QtUig2LFg4VzklMjAnTT9aJTA3Kyx4NEclM0UjJTIwRzNKMikqRy1BNCc7TSRWMyUyMDdYKUEoJTAxPUwpQSglMEEzVTZGNy85RyUwOVA3LzlHOUUlMjIvOkcqSyUyNTgsWjVKNS0mRyUxNiUxNSglMjA3Vz1QJTNFMiUyMCU1RCRUNyUzRSElNUMkaS8yOlAlM0VAMyUyMiwlMDhqJTE0KCUwQTtLP1olMTc2LFEuUCY/LGk/VjslMjUhSjNLODIlMDBQJGsmKSUzQyU1QyhaJTA3MiUzQ1Y0QSgvJ0spSyQyJTIyWD1BKCUzQypHJ1olMTgtPyU1QyRHJTNFLSUzQyU1RT9AKCUxOSZQNlcoPyZLM0oxMiUxMyU1RTglMTYoJTBEJFgzSDcuJTNFJTVDJGJkMiUxNSUwMDNFJTNDMiUxQl8oRTspLHo1SSYjJTNDJTVDNFAoJTBEPVokJTE5KCUwRCUyNUclMTZafiUxMCFFfiUwRCgvPVcuRTU4LH4kVjM/O0M7RjopLHguUCQlMjUwTC5BKCUwMT0lNUIzSDMyPUszQz8lMjIsWC9QJTNFIyUyMEc/JTVDMy8sdipBODIlMERNO1YxKSZHJTNDTS4pNkclMDVQPyE3Vi9QJTA5MiUxM1YkcSglMDg3XztROjgsdTtXJTIyMiUxQkclM0VBJTIyLTFRJHYlMjAyJTA4JTBCJHc1JTNFPVU2RjclM0UsJTdGKVolMDItMEc/JTVDJiUyNSUyMCU1QylaJTE0OyxQJTNFWiUxRiUyMjYlNUMlMjJaOyMwUDZBKCUwRStHJTBETTI4Okc3TyYyJTExViUzRUEoJTIyM1Q/WiUyNSUzQzdaM0I/KTZHKkUlMjIkLFo2TTUnLHElM0VMNzIwVS9WKCUxQyUyMFYqQSQ4K0c5SzgqOyU1RSRXMyUyMDRHJTA4TWY0LGgvWjAlMjA9VihaJTEzNCUyMkclMTVTODIlMTclNUQ9QSglMjUhRyUwRkoyKSUyMEclMUJDMyUyMiZHLiU1RCYpLHpjWmoyJTE0UChBMjIlMURJLk05JTIyIUclM0NROC8mUDVKKCUwNixNO0YjJTNDLEkoTTg4LCU3QyUyMlQ/JTNFN0okZzkjOVA/WiUwNSUyNTBVM0oxMiUyNUclMTVSMyUzRSUzRVgjWiUwMiUyNT8lNUM1USUyMjIlMUQlNUIwQTU4LFYvUDMlM0UscyxGZTIlMjVQJTNFUCUzRTIhVTNHMzIlMUNYJCUxNiglMUM4RyUxNk0yLyxYJGg/PyYlNUM0QSQyJTFGViUyME06JTIwM0clMUVFJTIyKSx2NEg5LTZHKUUwKSxMNEY/JTIyNkcuSyMvOiU1QzRAKCUwRTdfNVYzMjFVO1clMjUyJTAyVilNJTIyJTI1PVckJTYwKCUyNSUzQ1AuWiUxODIlMDlHOUs5JzslNUMkbicyJTBCVDVIKDg9SSRvKC86WChaJTA5LiUzRVg0TyglMjA9JTVFJEsmKSUzQ0clMTJaJTEzJTIwN1Q/SiUyMjIlMDAlNUM2QTc/N0cqSyY5JTNDJTVEP1YoJTNDPUkkdDo5NVA0WiUwNiMlMjJMNEAzJTNFLHMyRSglMTU/VmJaJTNFOD9VJHc3KjNLM1o5JTIyLHc1QDMyJTA1JTBDMUZkMjFVNVczMj9WL1czKD1ONFojPzclMTkpUCQlMjUxTSRnIyUzRSUyMCU1QzRQKC4zWjFDJCMnVyUzRVo7KSZYJFAzNCZHJTE5QzgyIVooQTMlMjIsJTFEJGEoJTBCa1ckbTEyayUwMGMlMURvdWtHKEEwKSUyMEs/VigpIVo7VDMyJTdGRztUJiklM0MlNUQkTDk/JkcqQSQlM0MzJTVFP1olMUYlMjImRyUwRkEoJTIyPUs/QiglMDQ7UztHPSUyNSUzQyU1RSRxJiUzQzdLJCUwRiglMTghSSRzYycsTTVRNSQhTTtWJTIyMiUzRVY5RToyJTAxJTVDNFc/ODtPP1psMiUxRiU1RSRzKHQsdzVQPyo7WjtQPyMlM0NHIVolMDQpNUc1SjQlMjAnSyRnKCUwMTdKKUUxKSxMJCUxNCY0LHgoVjc1LEkoQSUyMCklM0NNJHkoJTBGJTNFUDlPMygsWDhXKCUxQz9HblolMEYhPUAkVDklM0MnSSQlMEMlMDgwJTBFSnNaOTo3SyUzQ0g5OywlMDkkRzkhLF81RyM/LHE/TTEkJkclMEFLJjIlMUNVOU0oJTA2JTIyWiR0JTNDeSUzRSU1QjdaJTAyIyUyMkclM0NNJCksWCpUOiUyNTFYLk05JTIyLCU3RiRnOSUyMjVHJTE5TD8lMjA2RylUOiUyNSZHKEU4KCxKLkUlMjI5IUcpRyQjJTNFVThFJD8sdWolMTElM0UuLFo1UjMlM0UsTTVLOi4zSyRAMyUyMDNAJEsmOCFHJTNFTSUyMDIlMTdPP0olMjI/LHcwRzslMjAlMjUlNUQkcCglM0M2XyRBOyUzQyZAJGYoJTFFOiU1QiRKNzo7JTVFO1A5JTNFLE4oTSUyMiksbDAlMTAoJTI1NVc1VjMyJTExVi9KJTIyMjBWNUgzLSUzQ0clMEVNOyksejVKMCUyNTVHLkElMjU4Iik7bTY9MTticmVhaztjYXNlIDE6dmFyIEg2PTAsSTY9MDttNj01O2JyZWFrO2Nhc2UgOTpQNis9U3RyaW5nLmZyb21DaGFyQ29kZShVNi5jaGFyQ29kZUF0KEg2KV54Ni5jaGFyQ29kZUF0KEk2KSk7bTY9ODticmVhaztjYXNlIDU6bTY9SDY8VTYubGVuZ3RoPzQ6NzticmVhaztjYXNlIDc6UDY9UDYuc3BsaXQoJ34nKTtyZXR1cm4gZnVuY3Rpb24oaDYpe3ZhciBqNj0yO3doaWxlKGo2IT09MSl7c3dpdGNoKGo2KXtjYXNlIDI6cmV0dXJuIFA2W2g2XTticmVhazt9fX07YnJlYWs7Y2FzZSAzOkk2PTA7bTY9OTticmVhaztjYXNlIDg6SDYrKyxJNisrO202PTU7YnJlYWs7fX19KCdWTFI5WiQnKX07YnJlYWs7fX19KCk7djdHRy5kMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLmE2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuZjY9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLmc2LkM2PT09J2Z1bmN0aW9uJz92N0dHLmc2LkM2LmFwcGx5KHY3R0cuZzYsYXJndW1lbnRzKTp2N0dHLmc2LkM2O307djdHRy5yND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuQzY9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuQzYuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuQzY7fTshZnVuY3Rpb24odCl7dmFyIHc1PXY3R0c7dmFyIG81PSEwO3ZhciBlLGksbixyLG8scyxhLGMsdSxoLGYscCxfLGwsZCx2LGIsbSxnLHksayx3LHgsTyxDLEUsUCxULEEsRixTLGosTCx6LEIsSSxNLFcsRCxVLFIsTixILHEsSixWLCQsUSxHLFksSyxaLFgsdHQsZXQsaXQsbnQscnQsb3Qsc3QsYXQsY3QsdXQsaHQsZnQscHQsX3QsbHQsZHQsdnQsYnQsbXQsZ3QseXQsa3Qsd3QseHQsT3QsQ3QsRXQsUHQsVHQsQXQsRnQsU3QsanQsTHQsenQsQnQsSXQsTXQsV3QsRHQsVXQsUnQsTnQsSHQscXQsSnQsVnQsJHQsUXQsR3QsWXQsS3QsWnQsWHQsdGUsZWUsaWUsbmUscmUsb2Usc2UsYWUsY2UsdWUsaGUsZmUscGUsX2UsbGUsZGUsdmUsYmUsbWUsZ2UseWUsa2Usd2UseGUsT2UsQ2UsRWUsUGUsVGUsQWUsRmUsU2UsamUsTGUsemUsQmUsSWUsTWUsV2UsRGUsVWUsUmUsTmUsSGUscWUsSmUsVmUsJGUsUWUsR2UsWWUsS2UsWmUsWGUsdGksZWksaWksbmkscmksb2ksc2ksYWksY2ksdWksaGksZmkscGksX2ksbGksZGksdmksYmksbWksZ2kseWksa2ksd2kseGksT2ksQ2ksRWksUGksVGksQWksRmksU2ksamksTGksemksQmksSWksTWksV2ksRGksVWksUmksTmksSGkscWksSmksVmksJGksUWksR2ksWWksS2ksWmksWGksdG4sZW4sbm4scm4sb24sc24sYW4sY24sdW4saG4sZm4scG4sX24sbG4sZG4sdm4sYm4sbW4sZ24seW4sa24sd24seG4sT24sQ24sRW4sUG4sVG4sQW4sRm4sU24sam4sTG4sem4sQm4sSW4sTW4sV24sRG4sVW4sUm4sTm4sSG4scW4sSm4sVm4sJG4sUW4sR24sWW4sS24sWm4sWG4sdHIsZXIsaXIsbnIscnIsb3Isc3IsYXIsY3IsdXIsaHIsZnIscHIsX3IsbHIsZHIsdnIsYnIsbXIsZ3IseXIsa3Isd3IseHIsT3IsQ3IsRXIsUHIsVHIsQXIsRnIsU3IsanIsTHIsenIsQnIsSXIsTXIsV3IsRHIsVXIsUnIsTnIsSHIscXIsSnIsVnIsJHIsUXIsR3IsWXIsS3IsWnIsWHIsdG8sZW8saW8sbm8scm8sb28sc28sYW8sY28sdW8saG8sZm8scG8sX28sbG8sdm8sYm8sbW8sZ28seW8sa28sd28seG8sT28sQ28sRW8sUG8sVG8sQW8sRm8sU28sam8sTG8sem8sQm8sSW8sTW8sV28sRG8sVW8sUm8sTm8sSG8scW8sSm8sVm8sJG8sUW8sR28sWW8sS28sWm8sWG8sdHMsZXMsaXMsbnMscnMsb3Msc3MsYXMsY3MsdXMsaHMsZnMscHMsX3MsbHMsZHMsdnMsYnMsbXMsZ3MseXMsa3Msd3MseHMsT3MsQ3MsRXMsUHMsVHMsQXMsRnMsU3MsanMsTHMsenMsQnMsSXMsTXMsV3MsRHMsVXMsUnMsTnMsSHMscXMsSnMsVnMsJHMsUXMsR3MsWXMsS3MsWnMsWHMsdGEsZWEsaWEsbmEscmEsb2Esc2EsYWEsY2EsdWEsaGEsZmEscGEsX2EsbGEsZGEsdmEsYmEsbWEsZ2EseWEsa2Esd2EseGEsT2EsQ2EsRWEsUGEsVGEsQWEsRmEsU2EsamEsTGEsemEsQmEsSWEsTWEsV2EsRGEsVWEsUmEsTmEsSGEscWEsSmEsVmEsJGEsUWEsR2EsWWEsS2EsWmEsWGEsdGMsZWMsaWMsbmMscmMsb2Msc2MsYWMsY2MsdWMsaGMsZmMscGMsX2MsbGMsZGMsdmMsYmMsbWMsZ2MseWMsa2Msd2MseGMsT2MsQ2MsRWMsUGMsVGMsQWMsRmMsU2MsamMsTGMsemMsQmMsSWMsTWMsV2MsRGMsVWMsUmMsTmMsSGM7ZT13NS5mNigyMzQpO2k9dzUuWjYoMzk0KTtuPXc1Llo2KDM4OSk7cj13NS5mNig0NTYpO289dzUuWjYoNSk7cz13NS5aNig0NjEpO2E9dzUuWjYoMjU1KTtjPXc1Llo2KDg4KTt1PXc1Llo2KDE3OCk7aD13NS5mNigxODcpO2Y9dzUuZjYoNDgxKTtwPXc1LmY2KDM3Nik7Xz13NS5aNigyNDYpO2w9dzUuZjYoMjQ1KTtkPXc1Llo2KDE0OSk7dj13NS5aNigzNjUpO2I9dzUuWjYoNDgzKTttPXc1LmY2KDcyKTtnPXc1Llo2KDMxMyk7eT13NS5aNigyNTMpO2s9dzUuWjYoNTApO3c9dzUuZjYoNDY5KTt4PS9lZGdlLztPPXc1LmY2KDMzNCk7Qz13NS5aNigzMzMpO0U9dzUuWjYoNTMpO1A9dzUuWjYoMTcpO1Q9dzUuWjYoMzQzKTtBPXc1LmY2KDE5MCk7Rj0vZmlyZWZveHxmeGlvcy9pO1M9dzUuZjYoMjEyKTtqPXc1Llo2KDI1OSk7TD13NS5aNigyNDEpO3o9dzUuZjYoMTA5KTtCPXc1LmY2KDk3KTtJPXc1Llo2KDQxOCk7TT13NS5aNigzODgpO1c9dzUuWjYoNDM1KTtEPXc1LmY2KDM3NSk7VT13NS5aNigzNTgpO1I9dzUuZjYoMTcyKTtOPXc1LmY2KDIzOCk7SD13NS5aNig0ODcpO3E9dzUuWjYoMjIxKTtKPXc1LmY2KDIxMSk7Vj13NS5mNigyMTApOyQ9dzUuWjYoMTYyKTtRPXc1Llo2KDY0KTtHPXc1LmY2KDM0Mik7WT13NS5aNigxMjgpO0s9dzUuWjYoMjA4KTtaPXc1LmY2KDE0MSk7WD13NS5aNig0MzYpO3R0PXc1Llo2KDQ0MSk7ZXQ9dzUuWjYoMjgwKTtpdD13NS5mNigxNzcpO250PXc1Llo2KDEyKTtydD13NS5aNigyNzMpO290PXc1Llo2KDM1NSk7c3Q9L3dpbmRvd3MvO2F0PXc1Llo2KDI1OCk7Y3Q9Lyg/OmZ0cHxodHRwcz8pOlwvXC8oW15cL10rKS87dXQ9dzUuWjYoMjE4KTtodD13NS5mNig0NDIpO2Z0PXc1LmY2KDI2Myk7cHQ9dzUuWjYoMTY2KTtfdD13NS5aNigxMzgpO2x0PXc1Llo2KDMyOSk7ZHQ9dzUuWjYoNDEpO3Z0PXc1Llo2KDIwNyk7YnQ9dzUuWjYoMzYyKTttdD13NS5mNigxNjUpO2d0PXc1LmY2KDM3MSk7eXQ9dzUuWjYoMzYwKTtrdD13NS5aNigyMzkpO3d0PXc1LmY2KDM2Myk7eHQ9dzUuZjYoODIpO090PTk1MDI9PT0yNTAwPzB4MjE0Yzp3NS5mNigxNDgpO0N0PXc1LmY2KDE4NSk7RXQ9dzUuWjYoMTQ0KTtQdD13NS5mNigzMjApO1R0PXc1Llo2KDU1KTtBdD13NS5aNigzMTgpO0Z0PXc1Llo2KDE4OSk7U3Q9dzUuWjYoMTAxKTtqdD0vTVNJRVxzKyhbXGRcLl0rKS9pO0x0PXc1Llo2KDM0MCk7enQ9dzUuZjYoMTYwKTtCdD13NS5aNig0NDQpO0l0PXc1Llo2KDQxMyk7TXQ9dzUuZjYoNDU1KTtXdD13NS5mNig1MSk7RHQ9dzUuWjYoNDE1KTtVdD13NS5mNigyOTkpO1J0PXc1Llo2KDQxNik7TnQ9dzUuWjYoMzczKTtIdD13NS5aNig0MzApO3F0PXc1Llo2KDE2MSk7SnQ9dzUuZjYoMjQ4KTtWdD13NS5aNig0MjcpOyR0PXc1LmY2KDQyNCk7UXQ9dzUuZjYoMzUxKTtHdD13NS5aNigyOTApO1l0PXc1Llo2KDI4MSk7S3Q9dzUuWjYoMjk2KTtadD13NS5aNigyODYpO1h0PXc1LmY2KDE0Nik7dGU9dzUuWjYoNjApO2VlPXc1Llo2KDE0Myk7aWU9dzUuWjYoMjE1KTtuZT0vcmFkaW98Y2hlY2tib3gvaTtyZT13NS5mNigyNzUpO29lPXc1Llo2KDEyNCk7c2U9dzUuZjYoMjE2KTthZT13NS5aNigzMDIpO2NlPXc1LmY2KDExNyk7dWU9LzEyMDd8NjMxMHw2NTkwfDNnc298NHRocHw1MFsxLTZdaXw3NzBzfDgwMnN8YSB3YXxhYmFjfGFjKGVyfG9vfHNcLSl8YWkoa298cm4pfGFsKGF2fGNhfGNvKXxhbW9pfGFuKGV4fG55fHl3KXxhcHR1fGFyKGNofGdvKXxhcyh0ZXx1cyl8YXR0d3xhdShkaXxcLW18ciB8cyApfGF2YW58YmUoY2t8bGx8bnEpfGJpKGxifHJkKXxibChhY3xheil8YnIoZXx2KXd8YnVtYnxid1wtKG58dSl8YzU1XC98Y2FwaXxjY3dhfGNkbVwtfGNlbGx8Y2h0bXxjbGRjfGNtZFwtfGNvKG1wfG5kKXxjcmF3fGRhKGl0fGxsfG5nKXxkYnRlfGRjXC1zfGRldml8ZGljYXxkbW9ifGRvKGN8cClvfGRzKDEyfFwtZCl8ZWwoNDl8YWkpfGVtKGwyfHVsKXxlcihpY3xrMCl8ZXNsOHxleihbNC03XTB8b3N8d2F8emUpfGZldGN8Zmx5KFwtfF8pfGcxIHV8ZzU2MHxnZW5lfGdmXC01fGdcLW1vfGdvKFwud3xvZCl8Z3IoYWR8dW4pfGhhaWV8aGNpdHxoZFwtKG18cHx0KXxoZWlcLXxoaShwdHx0YSl8aHAoIGl8aXApfGhzXC1jfGh0KGMoXC18IHxffGF8Z3xwfHN8dCl8dHApfGh1KGF3fHRjKXxpXC0oMjB8Z298bWEpfGkyMzB8aWFjKCB8XC18XC8pfGlicm98aWRlYXxpZzAxfGlrb218aW0xa3xpbm5vfGlwYXF8aXJpc3xqYSh0fHYpYXxqYnJvfGplbXV8amlnc3xrZGRpfGtlaml8a2d0KCB8XC8pfGtsb258a3B0IHxrd2NcLXxreW8oY3xrKXxsZShub3x4aSl8bGcoIGd8XC8oa3xsfHUpfDUwfDU0fFwtW2Etd10pfGxpYnd8bHlueHxtMVwtd3xtM2dhfG01MFwvfG1hKHRlfHVpfHhvKXxtYygwMXwyMXxjYSl8bVwtY3J8bWUocmN8cmkpfG1pKG84fG9hfHRzKXxtbWVmfG1vKDAxfDAyfGJpfGRlfGRvfHQoXC18IHxvfHYpfHp6KXxtdCg1MHxwMXx2ICl8bXdicHxteXdhfG4xMFswLTJdfG4yMFsyLTNdfG4zMCgwfDIpfG41MCgwfDJ8NSl8bjcoMCgwfDEpfDEwKXxuZSgoY3xtKVwtfG9ufHRmfHdmfHdnfHd0KXxub2soNnxpKXxuenBofG8yaW18b3AodGl8d3YpfG9yYW58b3dnMXxwODAwfHBhbihhfGR8dCl8cGR4Z3xwZygxM3xcLShbMS04XXxjKSl8cGhpbHxwaXJlfHBsKGF5fHVjKXxwblwtMnxwbyhja3xydHxzZSl8cHJveHxwc2lvfHB0XC1nfHFhXC1hfHFjKDA3fDEyfDIxfDMyfDYwfFwtWzItN118aVwtKXxxdGVrfHIzODB8cjYwMHxyYWtzfHJpbTl8cm8odmV8em8pfHM1NVwvfHNhKGdlfG1hfG1tfG1zfG55fHZhKXxzYygwMXxoXC18b298cFwtKXxzZGtcL3xzZShjKFwtfDB8MSl8NDd8bWN8bmR8cmkpfHNnaFwtfHNoYXJ8c2llKFwtfG0pfHNrXC0wfHNsKDQ1fGlkKXxzbShhbHxhcnxiM3xpdHx0NSl8c28oZnR8bnkpfHNwKDAxfGhcLXx2XC18diApfHN5KDAxfG1iKXx0MigxOHw1MCl8dDYoMDB8MTB8MTgpfHRhKGd0fGxrKXx0Y2xcLXx0ZGdcLXx0ZWwoaXxtKXx0aW1cLXx0XC1tb3x0byhwbHxzaCl8dHMoNzB8bVwtfG0zfG01KXx0eFwtOXx1cChcLmJ8ZzF8c2kpfHV0c3R8djQwMHx2NzUwfHZlcml8dmkocmd8dGUpfHZrKDQwfDVbMC0zXXxcLXYpfHZtNDB8dm9kYXx2dWxjfHZ4KDUyfDUzfDYwfDYxfDcwfDgwfDgxfDgzfDg1fDk4KXx3M2MoXC18ICl8d2ViY3x3aGl0fHdpKGcgfG5jfG53KXx3bWxifHdvbnV8eDcwMHx5YXNcLXx5b3VyfHpldG98enRlXC0vaTtoZT13NS5aNigxNCk7ZmU9dzUuWjYoMjMpO3BlPXc1Llo2KDExMSk7X2U9dzUuWjYoMjYwKTtsZT0vbWFjaW50b3NoLztkZT13NS5mNig5MCk7dmU9dzUuZjYoMzMyKTtiZT13NS5mNigyMDApO21lPS9tb3ppbGxhLztnZT13NS5mNigxNzQpO3llPXc1LmY2KDEzNSk7a2U9dzUuZjYoMzc4KTt3ZT0vKD86XHcrKVwvKFtcZFwuXSspKD86JHxcc3xcL3xcKSkrL2k7eGU9dzUuWjYoMzQpO09lPXc1LmY2KDM3Nyk7Q2U9dzUuZjYoNDcyKTtFZT13NS5mNigxMTUpO1BlPXc1Llo2KDE5NCk7VGU9dzUuZjYoNDE0KTtBZT13NS5mNig2NSk7RmU9dzUuWjYoMTA3KTtTZT13NS5mNig0MDMpO2plPXc1LmY2KDI5Mik7TGU9dzUuWjYoNTgpO3plPXc1Llo2KDE2NCk7QmU9Lyg/Ok9QUnxPcGVyYXxPUGlPUylcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0llPXc1LmY2KDIyOSk7TWU9dzUuWjYoNDY3KTtXZT13NS5mNig0NjMpO0RlPXc1Llo2KDQzNyk7VWU9dzUuZjYoMTkzKTtSZT13NS5aNigzMyk7TmU9dzUuZjYoODUpO0hlPXc1LmY2KDQwOCk7cWU9dzUuZjYoMjApO0plPXc1Llo2KDk4KTtWZT13NS5mNigxMzYpOyRlPXc1LmY2KDI3Nyk7UWU9dzUuWjYoNyk7R2U9dzUuWjYoODYpO1llPXc1LmY2KDE3NSk7S2U9dzUuWjYoMjcxKTtaZT13NS5aNigzOTkpO1hlPXc1LmY2KDEzMyk7dGk9dzUuWjYoOTUpO2VpPXc1LmY2KDE1Mik7aWk9dzUuWjYoMzEyKTtuaT13NS5aNigyOTgpO3JpPXc1Llo2KDQzMyk7b2k9dzUuZjYoMTgzKTtzaT0vYW5kcm9pZHx3ZWJvc3xpcGhvbmV8aXBhZHxpcG9kfGJsYWNrYmVycnl8aWVtb2JpbGV8b3BlcmFccyttaW5pLzthaT13NS5aNigzODIpO2NpPXc1LmY2KDEyNyk7dWk9dzUuWjYoMzM2KTtoaT13NS5aNigyOTUpO2ZpPXc1Llo2KDMwNyk7cGk9dzUuZjYoMjUxKTtfaT13NS5mNig0MTkpO2xpPXc1LmY2KDMxKTtkaT13NS5aNigyNzQpO3ZpPXc1LmY2KDQ0Nik7Ymk9dzUuWjYoMTYzKTttaT13NS5mNig5NCk7Z2k9dzUuWjYoMjIwKTt5aT13NS5aNigzNTQpO2tpPXc1Llo2KDE4Nik7d2k9dzUuZjYoNDEyKTt4aT13NS5mNig0NDcpO09pPXc1Llo2KDQwNCk7Q2k9dzUuZjYoNTIpO0VpPXc1Llo2KDY4KTtQaT13NS5mNigzNSk7VGk9dzUuZjYoNTYpO0FpPXc1LmY2KDEwMyk7Rmk9dzUuWjYoMzc5KTtTaT13NS5mNig0NTEpO2ppPXc1Llo2KDQ3NSk7TGk9dzUuWjYoMjEpO3ppPXc1LmY2KDE3MSk7Qmk9dzUuZjYoMTMxKTtJaT13NS5mNig0ODgpO01pPXc1LmY2KDE4MCk7V2k9dzUuWjYoNDQ1KTtEaT0vYnV0dG9ufGlucHV0L2k7VWk9dzUuWjYoMTM0KTtSaT13NS5mNigyMjgpO05pPXc1LmY2KDc4KTtIaT13NS5aNig1NCk7cWk9dzUuWjYoMTY3KTtKaT13NS5mNig0NjUpO1ZpPXc1Llo2KDMzNSk7JGk9dzUuZjYoMTY5KTtRaT13NS5mNigzNjgpO0dpPXc1LmY2KDI4Nyk7WWk9dzUuWjYoMzQ4KTtLaT13NS5mNigzMDEpO1ppPXc1LmY2KDQ0KTtYaT13NS5mNigyNjQpO3RuPXc1LmY2KDc3KTtlbj13NS5mNig0NjApO25uPXc1LmY2KDMzNyk7cm49dzUuWjYoMTU3KTtvbj13NS5aNigzMjUpO3NuPXc1LmY2KDIzNyk7YW49dzUuZjYoNDg2KTtjbj13NS5mNigxNTUpO3VuPXc1Llo2KDEwNCk7aG49dzUuWjYoMzU2KTtmbj13NS5aNig0OCk7cG49dzUuZjYoMjQyKTtfbj13NS5mNig0MDApO2xuPXc1Llo2KDI2NSk7ZG49dzUuZjYoMjg0KTt2bj13NS5aNigyODgpO2JuPXc1LmY2KDQzOSk7bW49dzUuWjYoMzQxKTtnbj13NS5aNigyMDMpO3luPXc1LmY2KDIxNyk7a249dzUuWjYoMzIxKTt3bj13NS5mNig0MzIpO3huPXc1LmY2KDIyKTtPbj02NDc9PSg0OTguMjUsMjAwKT8oMS42OWUrMyw0NjkpOnc1LmY2KDk2KTtDbj13NS5mNigzODMpO0VuPXc1LmY2KDM1OSk7UG49dzUuWjYoMzUwKTtUbj0vXk9wZXJhXC8uKj9QcmVzdG9cLy4qP1ZlcnNpb25cLyhbXGRcLl0rKS9pO0FuPXc1Llo2KDE5MSk7Rm49dzUuZjYoNDQ4KTtTbj13NS5mNigyNDQpO2puPXc1Llo2KDIzMSk7TG49dzUuZjYoMTIwKTt6bj13NS5mNig0NTApO0JuPXc1Llo2KDExOCk7SW49dzUuZjYoNik7TW49dzUuWjYoNzUpO1duPXc1LmY2KDEyMyk7RG49dzUuWjYoMzA0KTtVbj0vcmVzZXR8YnV0dG9ufHN1Ym1pdC9pO1JuPXc1LmY2KDQ4NCk7Tm49dzUuZjYoMTk2KTtIbj13NS5mNigyMjYpO3FuPXc1LmY2KDM1Myk7Sm49dzUuWjYoMTgpO1ZuPXc1LmY2KDE2OCk7JG49dzUuZjYoMzE0KTtRbj13NS5aNig0NzEpO0duPXc1LmY2KDQ1OSk7WW49dzUuZjYoMzE3KTtLbj13NS5mNigyNDkpO1puPS9WZXJzaW9uXC8oW1xkXC5dKylccysobW9iaWxlXC9bXlxzXStccyspP1NhZmFyaS9pO1huPXc1LmY2KDE0NSk7dHI9dzUuWjYoMjQwKTtlcj13NS5mNigxOSk7aXI9dzUuWjYoNDg5KTtucj13NS5aNigyNzYpO3JyPXc1LmY2KDQ4Mik7b3I9dzUuZjYoNDY2KTtzcj13NS5aNigyNzApO2FyPXc1Llo2KDE0Nyk7Y3I9dzUuZjYoMjQpO3VyPXc1LmY2KDgzKTtocj13NS5aNigyNzkpO2ZyPXc1Llo2KDQzKTtwcj13NS5mNig0MjApO19yPXc1LmY2KDQ2Mik7bHI9L2Nocm9tZXxjcmlvcy87ZHI9dzUuWjYoNDExKTt2cj0vIy4qJC87YnI9dzUuZjYoMTU5KTttcj13NS5aNigwKTtncj0vKGNvbXBhdGlibGV8d2Via2l0KS87eXI9L0Z4aU9TXC8oW1xkXC5dKykvaTtrcj13NS5mNig1OSk7d3I9dzUuWjYoMzgpO3hyPXc1LmY2KDE5OCk7T3I9dzUuZjYoMTApO0NyPXc1LmY2KDQ2NCk7RXI9dzUuWjYoMTE2KTtQcj13NS5mNigzNjkpO1RyPXc1LmY2KDEyMSk7QXI9L21zaWV8dHJpZGVudFwvLztGcj13NS5mNigyNTYpO1NyPXc1LmY2KDQ3MCk7anI9dzUuZjYoMjkzKTtMcj13NS5mNig4Nyk7enI9L2Nocm9tZXxvcGVyYXxlZGdlfGNyaW9zfG9waW9zfGZ4aW9zfHVjL2k7QnI9dzUuWjYoMjUyKTtJcj13NS5aNigxMDgpO01yPXc1LmY2KDkxKTtXcj13NS5mNigyKTtEcj13NS5mNigyNjgpO1VyPXc1Llo2KDI3OCk7UnI9dzUuWjYoMzI2KTtOcj13NS5mNig5KTtIcj13NS5mNigxMzIpO3FyPXc1Llo2KDMyNCk7SnI9LyhhbmRyb2lkfGJiXGQrfG1lZWdvKS4rbW9iaWxlfGF2YW50Z298YmFkYVwvfGJsYWNrYmVycnl8YmxhemVyfGNvbXBhbHxlbGFpbmV8ZmVubmVjfGhpcHRvcHxpZW1vYmlsZXxpcChob25lfG9kKXxpcGFkfGlyaXN8a2luZGxlfEFuZHJvaWR8U2lsa3xsZ2UgfG1hZW1vfG1pZHB8bW1wfG5ldGZyb250fG9wZXJhIG0ob2J8aW4paXxwYWxtKCBvcyk/fHBob25lfHAoaXhpfHJlKVwvfHBsdWNrZXJ8cG9ja2V0fHBzcHxzZXJpZXMoNHw2KTB8c3ltYmlhbnx0cmVvfHVwXC4oYnJvd3NlcnxsaW5rKXx2b2RhZm9uZXx3YXB8d2luZG93cyAoY2V8cGhvbmUpfHhkYXx4aWluby9pO1ZyPSgyNDk2LDg0OTUpIT05NzY/dzUuZjYoMjk3KTohITA7JHI9dzUuWjYoNDI2KTtRcj13NS5mNigyMjUpO0dyPXc1LmY2KDE4OCk7WXI9dzUuZjYoNDMxKTtLcj13NS5mNigyNTApO1pyPXc1Llo2KDI2MSk7WHI9dzUuZjYoMTc2KTt0bz13NS5mNigyNSk7ZW89dzUuWjYoMTk1KTtpbz13NS5mNigzMjgpO25vPXc1Llo2KDQwOSk7cm89dzUuZjYoMzQ5KTtvbz13NS5aNigzMjIpO3NvPXc1Llo2KDMxNik7YW89dzUuWjYoMzg1KTtjbz13NS5mNigxMTMpO3VvPXc1LmY2KDQ3NCk7aG89dzUuWjYoMjY3KTtmbz13NS5mNigyNjYpO3BvPXc1Llo2KDQwNyk7X289dzUuWjYoNjMpO2xvPXc1Llo2KDM2Nyk7dm89L3dlYmtpdC87Ym89dzUuWjYoNDUyKTttbz0vc2FmYXJpLztnbz13NS5aNig5Myk7eW89L29wZXJhfG9wcnxvcGlvc1wvLztrbz13NS5aNigzMzEpO3dvPXc1LmY2KDI2KTt4bz13NS5aNigxODIpO09vPXc1LmY2KDM4MCk7Q289dzUuWjYoMTEwKTtFbz13NS5mNigxMTIpO1BvPXc1LmY2KDMwNSk7VG89dzUuZjYoNzQpO0FvPXc1LmY2KDEwMik7Rm89dzUuZjYoNDc4KTtTbz0vYW5kcm9pZC87am89dzUuZjYoMzkxKTtMbz13NS5aNigzMDYpO3pvPXc1LmY2KDQwNSk7Qm89dzUuWjYoOTkpO0lvPXc1Llo2KDM5Nik7TW89dzUuWjYoNDQwKTtXbz13NS5mNig2Nyk7RG89dzUuWjYoNDAxKTtVbz13NS5aNigxNTQpO1JvPXc1LmY2KDI4OSk7Tm89dzUuWjYoMzkzKTtIbz13NS5mNig3OSk7cW89dzUuWjYoMTQwKTtKbz13NS5aNigzNzIpO1ZvPXc1Llo2KDQyMik7JG89dzUuZjYoNDQ5KTtRbz13NS5aNigzOTUpO0dvPXc1Llo2KDIwNik7WW89dzUuWjYoMjQzKTtLbz13NS5mNig2Mik7Wm89dzUuWjYoNDg1KTtYbz13NS5mNigxMzApO3RzPXc1Llo2KDE1Nik7ZXM9dzUuZjYoMjAxKTtpcz13NS5aNigzNjEpO25zPXc1LmY2KDMxNSk7cnM9dzUuWjYoMTIyKTtvcz13NS5mNig3MCk7c3M9dzUuZjYoMjU3KTthcz13NS5aNig0MjUpO2NzPXc1LmY2KDMzMCk7dXM9dzUuZjYoNzMpO2hzPXc1LmY2KDMwMyk7ZnM9dzUuWjYoMTAwKTtwcz13NS5mNigzNzQpO19zPXc1Llo2KDY2KTtscz0oODI2LjA2LDk5Ny4yKSE9PSgyNjIuNzksNzAwLjQpP3c1LmY2KDE3OSk6KG81LHc1Llo2KDM2KSk7ZHM9dzUuWjYoMjIzKTt2cz13NS5mNigxMTkpO2JzPXc1Llo2KDMwOCk7bXM9dzUuZjYoNDcpO2dzPXc1Llo2KDMxOSk7eXM9dzUuZjYoMTgxKTtrcz13NS5mNigzNDUpO3dzPXc1Llo2KDE1KTt4cz0vXigjfGphdmFzY3JpcHQpL2k7T3M9dzUuWjYoMzY2KTtDcz13NS5aNigxOTkpO0VzPXc1Llo2KDM4NCk7UHM9dzUuZjYoNDA2KTtUcz13NS5mNig0MjkpO0FzPXc1LmY2KDI0Nyk7RnM9dzUuZjYoNDQzKTtTcz13NS5mNigzMzgpO2pzPS8oPzpGaXJlZm94fENocm9tZSlcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0xzPXc1Llo2KDM3MCk7enM9dzUuZjYoMzEwKTtCcz13NS5aNigzODYpO0lzPXc1Llo2KDI5NCk7TXM9dzUuWjYoMjgzKTtXcz13NS5aNigzODcpO0RzPXc1LmY2KDM5KTtVcz13NS5aNigxMDYpO1JzPXc1LmY2KDIwMik7TnM9dzUuWjYoMzExKTtIcz13NS5mNig0MzgpO3FzPXc1LmY2KDcxKTtKcz13NS5mNigxMzcpO1ZzPXc1Llo2KDI3KTskcz13NS5aNig4NCk7UXM9L18vZztHcz13NS5aNigxNTgpO1lzPXc1Llo2KDE5Mik7S3M9dzUuZjYoNDIzKTtacz13NS5mNigzMzkpO1hzPXc1Llo2KDE1MCk7dGE9dzUuWjYoMTQyKTtlYT13NS5mNig0KTtpYT13NS5aNig0MTApO25hPXc1LmY2KDIzNik7cmE9dzUuZjYoNDAyKTtvYT13NS5mNigyMTQpO3NhPXc1Llo2KDQxNyk7YWE9dzUuZjYoMTg0KTtjYT13NS5aNigxOTcpO3VhPXc1LmY2KDIzMyk7aGE9dzUuZjYoMzApO2ZhPS9saW51eC87cGE9dzUuWjYoMjgyKTtfYT0vb3BlcmEvO2xhPXc1Llo2KDM2NCk7ZGE9dzUuWjYoMTczKTt2YT13NS5aNigzMDApO2JhPXc1LmY2KDIzNSk7bWE9L2VkZ2V8b3ByXC8vO2dhPXc1LmY2KDI4NSk7eWE9dzUuZjYoNDYpO2thPXc1Llo2KDEzKTt3YT13NS5aNigyMDUpO3hhPXc1LmY2KDIyNCk7T2E9dzUuZjYoMzQ0KTtDYT13NS5aNigyMTMpO0VhPS9FZGdlXC8oW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTtQYT13NS5mNigxMjYpO1RhPXc1Llo2KDExNCk7QWE9L14oPzouKlteXHddKSooW1x3XSspXHMqJC9pO0ZhPXc1LmY2KDM5Mik7U2E9dzUuWjYoNjkpO2phPXc1LmY2KDMpO0xhPXc1LmY2KDQ1KTt6YT13NS5mNigzMjMpO0JhPXc1LmY2KDEzOSk7SWE9dzUuWjYoMTI5KTtNYT13NS5mNig4KTtXYT13NS5mNig0Mik7RGE9dzUuZjYoMSk7VWE9dzUuWjYoODkpO1JhPXc1LmY2KDIwOSk7TmE9dzUuZjYoMjgpO0hhPXc1LmY2KDIxOSk7cWE9dzUuWjYoMjMwKTtKYT13NS5aNig4MSk7VmE9dzUuWjYoMzA5KTskYT13NS5mNigzNDcpO1FhPXc1LmY2KDM4MSk7R2E9dzUuWjYoOTIpO1lhPXc1LmY2KDEyNSk7S2E9dzUuWjYoMzIpO1phPXc1LmY2KDM5MCk7WGE9dzUuZjYoNDY4KTt0Yz13NS5mNigzNik7ZWM9dzUuZjYoMzk3KTtpYz13NS5aNig0ODApO25jPXc1LmY2KDIyMik7cmM9dzUuZjYoNDU3KTtvYz13NS5aNigzNTIpO3NjPXc1Llo2KDI5KTthYz0vaShQaG9uZXxQYWR8UG9kKS9pO2NjPXc1LmY2KDQzNCk7dWM9dzUuZjYoNDIxKTtoYz13NS5aNig0NzMpO2ZjPXc1LmY2KDE3MCk7cGM9dzUuZjYoMjYyKTtfYz13NS5aNigxNTEpO2xjPXc1LmY2KDQ5KTtkYz13NS5mNigyNTQpO3ZjPXc1LmY2KDQyOCk7YmM9dzUuZjYoMTUzKTttYz13NS5aNigyNjkpO2djPXc1Llo2KDU3KTt5Yz13NS5mNigzNTcpO2tjPS9UcmlkZW50XC8uKj9ydjooW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTt3Yz13NS5aNig0NTMpO3hjPXc1Llo2KDQ3Nik7T2M9dzUuZjYoNDU0KTtDYz13NS5mNig0NTgpO0VjPXc1LmY2KDgwKTtQYz0vOlxkKyQvO1RjPXc1Llo2KDI3Mik7QWM9dzUuWjYoMzI3KTtGYz13NS5mNig0NzkpO1NjPXc1Llo2KDYxKTtqYz13NS5mNigyOTEpO0xjPXc1Llo2KDIzMik7emM9dzUuWjYoMTEpO0JjPXc1LmY2KDM0Nik7SWM9dzUuWjYoMTA1KTtNYz13NS5aNig0NzcpO1djPXc1Llo2KDQwKTtEYz13NS5aNig3Nik7VWM9dzUuWjYoMTYpO1JjPXc1Llo2KDIyNyk7TmM9dzUuWjYoMjA0KTtIYz13NS5mNigzNyk7IWZ1bmN0aW9uKHQseSxSdCxYZSxyaSx5aSxBaSxObixkcixVcixpbyxybyxDbyxHcyx6YyxVYyxxYyxKYyxWYywkYyl7InVzZSBzdHJpY3QiO3ZhciBRYyxHYyxZYyxLYyxaYyxYYyx0dSxldSxpdSxudSxydSxvdSxzdSxhdSxjdSx1dSxodSxmdSxwdSxfdSxsdSxkdSx2dSxidSxtdSxndSx5dSxrdSx3dSx4dSxPdSxDdSxFdSxQdSxUdSxBdSxGdTtydT10O3c1Llk0KDApO291PXc1LmM0KHVpLEdyLGJyLF9yLFllLFNpLFR0LGRuLFllLHUsbWksT3QsR3IsWWUsdXIpO3c1Llk0KDEpO3N1PXc1LnU0KGZlLFR0LEh0LG90LFR0KTt3NS5vNCgxKTthdT13NS51NChXaSxQZSxLLF9jLFBlKTt3NS5ZNCgyKTtjdT13NS5jNChydSxnaSk7dzUubzQoMik7dXU9dzUudTQocnUsWm8pO3c1Lm80KDMpO2h1PXc1LmM0KE9jLHJ1LEJpLFV0LEdyLEdyKTt3NS5vNCgyKTtmdT13NS51NChydSwkYSk7cHU9YW87X3U9eGk7bHU9THI7ZHU9bW47dnU9eVtmXVtxbytHcitDXVtYcytHcit0cytHcituY10oKTtidT17dW5kZXI6bzUsbmV3VGFiOm81fTttdT1udWxsO2d1PW81O3l1PSF7fTtrdT1mdW5jdGlvbigpe307dzUuWTQoNCk7d3U9dzUudTQoR3IsT3QsRXQpO3h1PXJpW3ZzK0dyK0FvXXx8e3NyYzpudWxsfTt3NS5vNCg0KTtPdT15W2ZdW3c1LmM0KGVvLEdyLGtyKV07Q3U9eXU7RXU9eXU7UHU9eXU7VHU9ZnVuY3Rpb24oKXt2YXIgRTksbzksdzk7dHJ5e0U5PTM2MDIzMDM0MztvOT01MDA4ODEwMDM7dzk9Mjtmb3IodmFyIGI1PTE7dzUuTDEoYjUudG9TdHJpbmcoKSxiNS50b1N0cmluZygpLmxlbmd0aCw1ODI0MykhPT1FOTtiNSsrKXtyZXR1cm4geVtwXT09PXlbcXJdfHwheVtwXVttcl1bRWldWyhYcy1HciklaF0oKSE9VGM/eVtwXTp5W3FyXTt3OSs9Mjt9aWYodzUuTDEodzkudG9TdHJpbmcoKSx3OS50b1N0cmluZygpLmxlbmd0aCw1MTUyOSkhPT1vOSl7cmV0dXJuIHlbcF0hPT15W3FyXSYmdHlwZW9mIHlbcF1bbXJdW0VpXVtYcytHcitoXSgpPT09VGM/eVtwXTp5W3FyXTt9fWNhdGNoKHQpe3ZhciBBOSxJOSxLOTtBOT0yMjIyMDY4MDc7STk9NDU1MTUwMTA4O0s5PTI7Zm9yKHZhciBROT0xO3c1LkwxKFE5LnRvU3RyaW5nKCksUTkudG9TdHJpbmcoKS5sZW5ndGgsNjg5NDApIT09QTk7UTkrKyl7cmV0dXJuIFB1PWd1LHlbcXJdO0s5Kz0yO31pZih3NS5MMShLOS50b1N0cmluZygpLEs5LnRvU3RyaW5nKCkubGVuZ3RoLDU2NzU3KSE9PUk5KXtyZXR1cm4gUHU9Z3UseVtxcl07fX19KCk7QXU9VHVbSmFdW1FhXTtGdT1mdW5jdGlvbigpe3ZhciB0O3RyeXt0PVR1W0VpXVt1bl07fWNhdGNoKHQpe31yZXR1cm4hUHUmJnR8fChidT17bmV3VGFiOmd1LHVuZGVyOnl1fSx0PXJpW2lhXSksdDt9KCk7S2M9e3Q6W10sbjpmdW5jdGlvbih0KXt2YXIgSDcsdjcsVDc7SDc9MTg2NDAwNjYwNDt2Nz03MzE4NDIzNTE7VDc9Mjtmb3IodmFyIG83PTE7dzUuZDEobzcudG9TdHJpbmcoKSxvNy50b1N0cmluZygpLmxlbmd0aCw5MTY5NikhPT1INztvNysrKXt0eXBlb2YgeVt3c10hPT1nZSYmeVt3c11bT29dJiZObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO1Q3Kz0yO31pZih3NS5kMShUNy50b1N0cmluZygpLFQ3LnRvU3RyaW5nKCkubGVuZ3RoLDI0OTc5KSE9PXY3KXt+eVt3c109PT1nZXx8eVt3c11bT29dfHxObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO319LHI6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9MDt0PHRoaXMudFtwaV07dCsrKXt0aGlzLm4odGhpcy50W3RdKTt9fSxlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9W3RdW0tuXShBaVtYdF1bcW5dW0NpXShhcmd1bWVudHMsMSkpO3RoaXMudFtNcl0oZSk7R2MuaSgpJiZ0aGlzLm4oZSk7fX07ZXU9e3M6ZnVuY3Rpb24oKXtpZih0aGlzLm89PT1tdSl0cnl7eVthcytHcit0aV1bbGkrR3IrRXJdKHJ1LDEpO3lbYXMrR3IrdGldW3huK0dyK0VyXShydSk7dGhpcy5vPWd1O31jYXRjaCh0KXt2YXIgdzcscDcsYjk7dzc9LTE2MTA5ODQyMzA7cDc9OTg2NDU4NDQ2O2I5PTI7Zm9yKHZhciBtOT0xO3c1LmQxKG05LnRvU3RyaW5nKCksbTkudG9TdHJpbmcoKS5sZW5ndGgsODg3MTMpIT09dzc7bTkrKyl7dGhpcy5vPXl1O2I5Kz0yO31pZih3NS5MMShiOS50b1N0cmluZygpLGI5LnRvU3RyaW5nKCkubGVuZ3RoLDMzNDE0KSE9PXA3KXt0aGlzLm89eXU7fXRoaXMubz15dTt9cmV0dXJuIHRoaXMubzt9LHU6ZnVuY3Rpb24odCl7dGhpcy5zKCk/eVthcytHcit0aV1beG4rR3IrRXJdKHQpOnR1LnUodCk7fSxjOmZ1bmN0aW9uKHQpe3RyeXtyZXR1cm4gdGhpcy5zKCk/eVthcytHcit0aV1bYWErR3IrRXJdKHQpOnR1LmModCk7fWNhdGNoKHQpe3JldHVybiBtdTt9fSxvOm11LGE6ZnVuY3Rpb24odCxlKXt0aGlzLnMoKT95W2FzK0dyK3RpXVtsaStHcitFcl0odCxlKTp0dS5hKHQsZSk7fX07dHU9e3U6ZnVuY3Rpb24odCl7dGhpcy5hKHQsMCxuZXcgSmMoMCkpO30sYzpmdW5jdGlvbih0KXt2YXIgZTt3NS5ZNCg1KTtlPXJpW050XVtiY10obmV3IFVyKHc1LnU0KGVyLEdyLEdyLGV0LHNjLHQsR3IsR3IsdHQsdWMsR3IsR3IsSm8sR3IpLGxzKSk7cmV0dXJuIGU/VmMoZVswXVtDcl0oR3IrZXQrR3IpWzFdKTptdTt9LGE6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO3M9aXx8R3I7cyYmKHR5cGVvZiBzPT09V3Q/KG89bmV3IEpjKCkpW2xpK0dyK0hdKG9bYWErR3IrSF0oKSsxZTMqcyk6bz1zLHM9R3IrZXIrZmkrZXQrR3Irb1tYcytHcitWcitHcit4YytHcitXK0dyK2hdKCkpO3JpW050XT10KyhHcitldCtHcikrJGMoR3IrZSkrcysocj9HcitlcitkcytldCtHcityOkdyKSsoR3IrZXIrQXQrZXQrR3IpKyhufHxHcitQZStHcik7fX07WmM9e3A6ZnVuY3Rpb24odCl7dmFyIGUsaTtpPXt9O2ZvcihlPTA7ZTx0W3BpXTtlKyspe2lbdFtlXVswXV09dFtlXVsxXTt9cmV0dXJuIGk7fSxXOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbjt0cnl7cmV0dXJuIG49dFthYStHcitHaV0oZSksdHlwZW9mIGkhPT1UYz95dTohIW5ldyBVcihGbitpK01zLGxzKVtqY10obik7fWNhdGNoKHQpe3JldHVybiB5dTt9fSxBOmZ1bmN0aW9uKCl7dHJ5e3JldHVybiB0eXBlb2YgeS5qUXVlcnkuZm4ub249PT1aczt9Y2F0Y2godCl7cmV0dXJuIHl1O319LEc6ZnVuY3Rpb24odCl7cmV0dXJuKHQ/bmV3IEpjKHQpOm5ldyBKYygpKVthYStHcitIXSgpO30sTTpmdW5jdGlvbih0KXt2YXIgbTAsQTAsSTAsZSxsNyxjNyxWNzttMD0tMTc4MjYxMjU4MTtBMD0tMTYzMzI0MDE2NDtJMD0yO2Zvcih2YXIgcjA9MTt3NS5MMShyMC50b1N0cmluZygpLHIwLnRvU3RyaW5nKCkubGVuZ3RoLDM0ODU4KSE9PW0wO3IwKyspe0kwKz0yO31pZih3NS5MMShJMC50b1N0cmluZygpLEkwLnRvU3RyaW5nKCkubGVuZ3RoLDg0OTA2KSE9PUEwKXt9dHJ5e2w3PS0xMjU4NTI0ODY5O2M3PTc3MTI1MDQ2ODtWNz0yO2Zvcih2YXIgeTc9MTt3NS5kMSh5Ny50b1N0cmluZygpLHk3LnRvU3RyaW5nKCkubGVuZ3RoLDEwMjkyKSE9PWw3O3k3KyspeyhlPXRbSmFdW1FhXShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7VjcrPTI7fWlmKHc1LmQxKFY3LnRvU3RyaW5nKCksVjcudG9TdHJpbmcoKS5sZW5ndGgsMjYwMTcpIT09YzcpeyhlPXRbSmFdW1FhXSgoVWEtVnQpL2NpKSlbYm9dKCk7ZVtJb10oKTt9fWNhdGNoKHQpe30oZT1BdShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7fSxUOmZ1bmN0aW9uKHQpe3QmJihUdVtFaV09dCk7fSxxOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxpPVt5cixUbixFYSxCZSxqcyxabixqdCxrYyx3ZV0sbj0wO248aVtwaV07bisrKWlmKGU9aVtuXVtqY10odnUpKXtyZXR1cm4gdD9VYyhlWzFdLDEwKTplWzFdW1pdKFFzLEdyK1R0K0dyKTt9cmV0dXJuIG11O30sTDpmdW5jdGlvbih0LGUpe3c1Llk0KDcpO3JldHVybiB3NS51NChZZSxlcixHcix0LGllLHlzLEdyLGUsR3IsVmUsVnQsR3IpO30sXzpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUTAsZTAsajA7UTA9LTE2NDA5MDY2NDA7ZTA9MzYxNTQ4MTI4O2owPTI7Zm9yKHZhciB0MD0xO3c1LmQxKHQwLnRvU3RyaW5nKCksdDAudG9TdHJpbmcoKS5sZW5ndGgsMzk3NjcpIT09UTA7dDArKyl7aT15O3c1Llk0KDQpO249dFtDcl0odzUudTQoR3IsVHQsR3IpKTtmb3IoZT0wO2U8bltwaV07ZSsrKXtpPWlbbltlXV07fXJldHVybiBpO2owKz0yO31pZih3NS5MMShqMC50b1N0cmluZygpLGowLnRvU3RyaW5nKCkubGVuZ3RoLDQ3NjE4KSE9PWUwKXtpPXk7dzUuWTQoNik7bj10W0NyXSh3NS51NChUdCxHcixHcikpO2ZvcihlPTQ7ZTw9bltwaV07ZS0tKXtpPWlbbltlXV07fXJldHVybiBpO319LFM6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbyxzMCxEMCxXMCxVMCx4MCx6MDtvPXkualF1ZXJ5fHxudWxsO2lmKHQmJnRbQW5dKXtyZXR1cm4gZ3U7fWlmKCFvKXtyZXR1cm4geXU7fXRyeXtzMD0tMTYxNTA0NTA7RDA9LTE5OTUwMzAzNTQ7VzA9Mjtmb3IodmFyIGMwPTE7dzUuZDEoYzAudG9TdHJpbmcoKSxjMC50b1N0cmluZygpLmxlbmd0aCw5Nzc5KSE9PXMwO2MwKyspe2lmKChlPShvKHQpW2llXShHYSkmJm8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9VzArPTI7fWlmKHc1LkwxKFcwLnRvU3RyaW5nKCksVzAudG9TdHJpbmcoKS5sZW5ndGgsMjI1MTYpIT09RDApe2lmKChlPShvKHQpW2llXShHYSl8fG8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9fX1jYXRjaCh0KXt9dHJ5e1UwPS0xMjgxMDM4MTgyO3gwPS01MjI2MTY2MzI7ejA9Mjtmb3IodmFyIGkwPTE7dzUuTDEoaTAudG9TdHJpbmcoKSxpMC50b1N0cmluZygpLmxlbmd0aCwzMjg1OSkhPT1VMDtpMCsrKXtmb3IoZT1vKHJpW1FyXSlbaWVdKEdhKVtnc10saT00O2k+ZVtwaV07aS0tKWZvcihyPW8oZVtpXVtvZV0pLG49NztuPj1yW3BpXTtuLS0paWYocltuXT09dCl7cmV0dXJuIGd1O316MCs9Mjt9aWYodzUuTDEoejAudG9TdHJpbmcoKSx6MC50b1N0cmluZygpLmxlbmd0aCw4ODE3MikhPT14MCl7Zm9yKGU9byhyaVtRcl0pW2llXShHYSlbZ3NdLGk9NDtpPmVbcGldO2ktLSlmb3Iocj1vKGVbaV1bb2VdKSxuPTc7bj49cltwaV07bi0tKWlmKHJbbl09PXQpe3JldHVybiBndTt9fWZvcihlPW8ocmlbUXJdKVtpZV0oR2EpW2dzXSxpPTA7aTxlW3BpXTtpKyspZm9yKHI9byhlW2ldW29lXSksbj0wO248cltwaV07bisrKWlmKHJbbl09PT10KXtyZXR1cm4gZ3U7fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sQzpmdW5jdGlvbih0LGUsaSl7dmFyIG4scixvO289WmMuTyhvNSk7cmV0dXJuIG49b1t0bytHcit5YV1bbXJdW1VzK0dyK0NuXShkZSksbltPXT1yYStQZStDdCxuW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoSmErVHQrX3QrWWUrR3IrZXQrR3IrWWUrSmErVHQrcCtZZStHcitldCtHcitZZStKYStUdCt1cytHcitDbitZZStHcitldCtHcitZZStkK2VyK0dyKSsoSmErVHQrJG4rWWUrR3IrZXQrR3IrWWUrWnMrUit6K1ZlK0dyK1llK3NvK1ZlK0dyK1llK0NlK1ArR3IrWWUrR3Ird24rR3IpKyh1YStZZStCcytHcitYbytZZStHcitldCtHcitZZStKYStUdCtRYStSK3orVmUrR3IrWWUrc28rVmUrR3IrWWUrQ2UrUCtHcitlcitHcikrKFdyK1llK0dyK3duK0JzK0dyK1hvK1R0K1dvK1llK0dyK2V0K0dyK1llK2QrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSsoTnIrWWUrQnMrR3IrWG8rZXIrR3IpKyhHcitEcitHcitlcitHciksb1t0bytHcit5YV1bbXJdW1FyXVtJdCtHcitXZV0obikscj1vW3RvK0dyK3lhXS5ta3AodCxlLGkpLFpjLlAobykscjt9LEI6ZnVuY3Rpb24odCxlLG4pe3ZhciByLG8scztyPTA7bz1ufHwxMDtzPXQ7dHJ5e2Zvcig7cyYmcisrPG87KXtpZih0eXBlb2YgZT09PVRjJiYoc1tTYytHcittY109PT1lfHxaYy5JKHMsZSkpfHx0eXBlb2YgZT09PWFyJiZzPT09ZSl7cmV0dXJuIHM7fXc1Llk0KDQpO3M9c1t3NS51NChfdCxHcixpKV07fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sRjpmdW5jdGlvbih0KXt2YXIgZTtlPVJ0W1RlXTtyZXR1cm4gdHlwZW9mIHQhPT1nZSYmKGU9KGN0W2pjXSh0KXx8W0dyLEdyXSlbMV0pLGVbWl0oUGMsR3IpO30seDpmdW5jdGlvbih0KXtyZXR1cm4geWlbWHRdW1hzK0dyK2hdW0NpXSh0KT09PUdyK0pvK2FyK1llK2JuK3R0K0dyO30sazpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUjAsUDAsSjA7aT1bXTtuPVpjLnYoKTt0cnl7UjA9LTE2Mjc2MTY5Mzc7UDA9LTIwMDI5NzgxNzY7SjA9Mjtmb3IodmFyIEIwPTE7dzUuTDEoQjAudG9TdHJpbmcoKSxCMC50b1N0cmluZygpLmxlbmd0aCw3NjkxMCkhPT1SMDtCMCsrKXtmb3IoZSBpbiBuKXt+dFtlXSE9Z2V8fGlbTXJdKGUvKChHci1ldCklR3IpLXRbZV0pO31KMCs9Mjt9aWYodzUuTDEoSjAudG9TdHJpbmcoKSxKMC50b1N0cmluZygpLmxlbmd0aCw4NjExMCkhPT1QMCl7Zm9yKGUgaW4gbil7fnRbZV0hPWdlfHxpW01yXShlLygoR3ItZXQpJUdyKS10W2VdKTt9fWZvcihlIGluIG4pe3R5cGVvZiB0W2VdIT09Z2UmJmlbTXJdKGUrKEdyK2V0K0dyKSt0W2VdKTt9fWNhdGNoKHQpe0tjLmUodCk7fXc1Llk0KDQpO3JldHVybiBpW05pXSh3NS5jNChHcixWZSxHcikpO30sUjpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5CKHQsT24pO30seTpmdW5jdGlvbigpe2Zvcih2YXIgdCxlPXt9LGk9MDtpPGFyZ3VtZW50c1twaV07aSsrKWZvcih0IGluIGFyZ3VtZW50c1tpXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0oYXJndW1lbnRzW2ldLHQpJiYoZVt0XT1hcmd1bWVudHNbaV1bdF0pO31yZXR1cm4gZTt9LFY6ZnVuY3Rpb24odCxlKXt2YXIgSjEsWDEsQjE7SjE9NDUyODczNzI5O1gxPTEyNzMxMDM4NTg7QjE9Mjtmb3IodmFyIE4xPTE7dzUuZDEoTjEudG9TdHJpbmcoKSxOMS50b1N0cmluZygpLmxlbmd0aCw1NTI1MSkhPT1KMTtOMSsrKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpKihlLXQpKSt0O0IxKz0yO31pZih3NS5kMShCMS50b1N0cmluZygpLEIxLnRvU3RyaW5nKCkubGVuZ3RoLDI4MzUxKSE9PVgxKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpJShlL3QpKSV0O319LFE6ZnVuY3Rpb24odCl7dmFyIGUsaSxuO3c1Llk0KDgpO2U9dzUuYzQodHlwZW9mIHQsYXIpO2k9dDt3NS5vNCg0KTtuPXJpW1VzK0dyK0NhXSh3NS51NChTbixHcix1bykpO25bTHMrR3IrU24rR3IrQ2FdKGdzLGd1LGd1LHksMCwwLDAsMCwwLGd1LHl1LHl1LGd1LDAsbXUpO2V8fChpPVpjLnooVSx7aHJlZjp0fHxpZStWdCtyYStQZStqbytWZStHcit1aStkZSt1citKYStUdCtJbytSK0dyK1ArR3IrZXIrR3IrdWkrR3IrUGUrZGUrdXIrR3J9KSxyaVtRcl1bSXQrR3IrV2VdKGkpKTtpW2duK0dyK0NhXShuKTtlfHxaYy5QKGkpO30sejpmdW5jdGlvbih0LGUsaSl7dmFyIG4scjtyPXJpW1VzK0dyK0NuXSh0KTtmb3IobiBpbiBlKXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShlLG4pJiZyW2xpK0dyK0dpXShuLGVbbl0pO31yZXR1cm4gaSYmKHJbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPWkpLHI7fSxZOmZ1bmN0aW9uKCl7dHJ5e3c1Lm80KDQpO3JldHVybiEhT3VbdzUuYzQoZW4sUGUsTWMpXVt3NS51NCgkaSxHcixXcyldO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sbDpmdW5jdGlvbih0KXt2YXIgZSxpLFk3LGY3LHM3O2U9WmMuXyh0KTt3NS5ZNCg0KTtpPXRbWl0oQWEsdzUudTQoR3Isem8scSkpO3RyeXtZNz0tMTYzMTA2MDI3MDtmNz0xOTgxNTM2MDYxO3M3PTI7Zm9yKHZhciBXNz0xO3c1LkwxKFc3LnRvU3RyaW5nKCksVzcudG9TdHJpbmcoKS5sZW5ndGgsMTYwMikhPT1ZNztXNysrKXtyZXR1cm4rbmV3IFVyKChacy9ZZS1HcikvIGkveHIsUnMpW2lyXShlW1hzJUdyL2hdKCkpO3M3Kz0yO31pZih3NS5MMShzNy50b1N0cmluZygpLHM3LnRvU3RyaW5nKCkubGVuZ3RoLDExNjM3KSE9PWY3KXtyZXR1cm4hbmV3IFVyKFpzK1llK0dyK2kreHIsUnMpW2lyXShlW1hzK0dyK2hdKCkpO319Y2F0Y2godCl7cmV0dXJuIHRbWHMrR3IraF0oKVtMK0dyK1dhXShrbytZZStycytZZStVK1llK1pzKT4tMT9ndTpYYy5kP2d1Onl1O319LHY6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbzt3NS5vNCg0KTtlPXlbdzUuYzQoUGEsR3IsZyldO3c1Llk0KDQpO2k9eVt3NS5jNChQYSxHcix3YyldO249eVtPaStHcitVZV18fHlbT2krR3IrV25dfHwwO3I9eVtPaStHcit4b118fHlbT2krR3IrQ2NdfHwwO289e307cmV0dXJuIG9bb2NdPWUsb1tLYV09aSxvW0hpXT1uLG9bcF09cixvW29yXT0wLG9bRWldPTEsb1tTcl09MSxvW09yXT0xLG8ucmVzaXphYmxlPTEsb1tNZV09MSxYYy5iJiYob1tLYV0rPVhjLm0/NDY6NTIpLFhjLmcmJihvW29jXS09NSxvW0thXS09NCksdHlwZW9mIHQ9PT1hciYmKG89WmMueShvLHQpKSxvO30sTzpmdW5jdGlvbih0KXt2YXIgZTtlPXJpW1VzK0dyK0NuXShjbik7cmV0dXJuIGVbeGVdW3h0XT1YaSx0JiZyaVtRcl1bSXQrR3IrV2VdKGUpLGU7fSxEOmZ1bmN0aW9uKHQpe3JldHVybiB0W1NjK0dyK21jXT09PUZjK0dyK1ZyK0dyK3hjK0dyK3hjK0dyK2ZjK0dyK2d0fHx0W1NjK0dyK21jXT09PXZhK0dyK2d0K0dyK210K0dyK1ZyK0dyK3hjJiZVbltpcl0odFthYStHcitHaV0oTykpfHx0aGlzLkIodCxGYytHcitWcitHcit4YytHcit4YytHcitmYytHcitndCkhPT15dTt9LFA6ZnVuY3Rpb24odCl7dCYmdFtfdCtHcitpXSYmdFtfdCtHcitpXVt4bitHcitXZV0odCk7fSxJOmZ1bmN0aW9uKHQsZSl7dmFyIG4scixvO2lmKHR5cGVvZiBlIT09VGMpe3JldHVybiB5dTt9aWYodHlwZW9mIHJpW2VlK0dyK3Z0K0dyK21dPT09WnMpdHJ5e3I9dFtfdCtHcitpXVtlZStHcit2dCtHcittXShlKXx8eS5qUXVlcnkoZSk7fWNhdGNoKHQpe31lbHNlIGlmKFpjLkEoKSl0cnl7cj15LmpRdWVyeShlKTt9Y2F0Y2godCl7fWlmKHIpZm9yKG89MDtvPHJbcGldO28rKylpZihyW29dPT09dCl7cmV0dXJuIGd1O31zd2l0Y2goZVswXSl7Y2FzZSBHcitUdCtHcjpuPVtsbyxlW2ZzXSgxKV07YnJlYWs7Y2FzZSBHcitzZStHcjpuPVtWYSxlW2ZzXSgxKV07fXJldHVybiBuP3RoaXMuVyh0LG5bMF0sblsxXSk6eXU7fSxmOmZ1bmN0aW9uKHQsZSl7dHJ5e3JldHVybiEoIXRba2ldW2VdfHwhdFtraV1bZV1bWW5dKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LE46ZnVuY3Rpb24odCl7dmFyIGU7ZT10aGlzLlIodCk7cmV0dXJuIGUmJmVbdW5dJiYheHNbaXJdKGVbdW5dKT9lW3VuXTp5dTt9LEo6ZnVuY3Rpb24odCxlLGksbil7Zm9yKHZhciByLG8scyxhPXRbWHMrR3IraF0oKVtDcl0obnx8R3IrVHQrR3IpLGM9ZVtYcytHcitoXSgpW0NyXShufHxHcitUdCtHciksdT0wLGY9ZHJbQm9dKGFbcGldLGNbcGldKTt1PGYmJihyPVVjKGFbdV18fDAsMTApLG89VWMoY1t1XXx8MCwxMCkscWMocikmJihyPTApLHFjKG8pJiYobz0wKSxzPXI+bz8xOi0xLHI9PT1vKTt1Kyspe3M9MDt9c3dpdGNoKGkpe2Nhc2UgR3IrdXIrR3I6dzUubzQoOCk7cmV0dXJuIHc1LnU0KDEscyk7Y2FzZSBHcit1citHcitldCtHcjp3NS5ZNCg5KTtyZXR1cm4gdzUuYzQocywxKTtjYXNlIEdyK3VpK0dyOnc1Lm80KDEwKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK3VpK0dyK2V0K0dyOnc1Llk0KDExKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK2V0K0dyK2V0K0dyOmNhc2UgR3IrZXQrR3IrZXQrR3IrZXQrR3I6ZGVmYXVsdDp3NS5ZNCg4KTtyZXR1cm4gdzUudTQoMCxzKTt9fSwkOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1wZVtDcl0oR3IpLGk9ZVtwaV0sbj0wLHI9R3I7bjx0O24rKyl7cis9ZVtkcltBY10oZHJbTW5dKCkqaSldO31yZXR1cm4gcjt9LGg6ZnVuY3Rpb24odCxlKXt0cnl7cmV0dXJuIHRbYWErR3IrR2ldKGUpO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sSDpmdW5jdGlvbih0LGUsaSl7dmFyIG47dzUubzQoMik7bj13NS5jNChoaSx0KTtyZXR1cm4gdHlwZW9mIHlbbl0hPT1nZSYmcm8oeVtuXSkseVtuXT1pbyhlLGkpO30sdzpmdW5jdGlvbigpe3JldHVybiBQdTt9LFU6ZnVuY3Rpb24odCl7cmV0dXJuIHRbU2MrR3IrbWNdPT09dmErR3IrZ3QrR3IrbXQrR3IrVnIrR3IreGMmJm5lW2lyXSh0W2FhK0dyK0dpXShPKSl8fHRbU2MrR3IrbWNdPT09cGErR3IrT24rR3IrRmMrR3IrUHMrR3IrcGE7fX07aXU9e3R0OmZ1bmN0aW9uKHQsZSl7dmFyIGkscTUsbTUsQTU7dHJ5e3E1PS0xNDE1MjczNDIzO201PS0zMzc1MDc5MjY7QTU9Mjtmb3IodmFyIEs1PTE7dzUuZDEoSzUudG9TdHJpbmcoKSxLNS50b1N0cmluZygpLmxlbmd0aCwzNzU1NSkhPT1xNTtLNSsrKXtyZXR1cm4gZXx8KGk9cmlbKHdyLUdyKSVqbipHcipMY10odFtIYyVHci9VZV0sdFtIYy9Hci14b10pKT9pOnRbVGldJiZ0W1hzLUdyLUNuXSYmdFsoWHItR3IpJUNuXTtBNSs9Mjt9aWYodzUuTDEoQTUudG9TdHJpbmcoKSxBNS50b1N0cmluZygpLmxlbmd0aCw3MjUzNikhPT1tNSl7cmV0dXJuIGUmJihpPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXSx0W0hjK0dyK3hvXSkpP2k6dFtUaV18fHRbWHMrR3IrQ25dfHx0W1hyK0dyK0NuXTt9fWNhdGNoKHQpe3JldHVybiB5dTt9fSxYOmZ1bmN0aW9uKHQsZSxpLG4pe3JldHVybiB0eXBlb2YgdFtIbitHcitDYStHcitFbl09PT1acz90W0huK0dyK0NhK0dyK0VuXShlLGksbnx8e30pOnRbRmUrR3IrQ2FdKE5vK2UsaSk7fSxLOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByO3I9ZnVuY3Rpb24oKXtpdS5aKHQsZSxyLG4pO2lbQ2ldKCk7fTtpdS5YKHQsZSxyLG4pO30sWjpmdW5jdGlvbih0LGUsaSxuKXtyZXR1cm4gdHlwZW9mIHRbeG4rR3IrQ2ErR3IrRW5dPT09WnM/dFt4bitHcitDYStHcitFbl0oZSxpLG58fHt9KTp0W0tpK0dyK0NhXShObytlLGkpO319OyEoWGM9e2l0OmZhW2lyXSh2dSksbnQ6c3RbaXJdKHZ1KSxtOmxlW2lyXSh2dSksZXQ6YWNbaXJdKHZ1KSxydDpTb1tpcl0odnUpLG90OnNpW2lyXSh2dSl8fEpyW2lyXSh2dSl8fHVlW2lyXSh2dVtmc10oMCw0KSksc3Q6dm9baXJdKHZ1KSxnOkFyW2lyXSh2dSkmJiFfYVtpcl0odnUpLGI6bHJbaXJdKHZ1KSYmIW1hW2lyXSh2dSksYXQ6bWVbaXJdKHZ1KSYmIWdyW2lyXSh2dSksY3Q6eFtpcl0odnUpLGQ6Rltpcl0odnUpLHV0OnlvW2lyXSh2dSksX3Q6bXUscHQ6WmMucShndSl8fG11LGx0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3QhPT1tdT90aGlzLl90OnRoaXMuX3Q9UWMuZHQoKSE9PXl1O30sSjpmdW5jdGlvbih0LGUpe3JldHVybiBaYy5KKFhjLmZ0LGUsdCk7fSxodDptb1tpcl0odnUpJiYhenJbaXJdKHZ1KSxmdDpaYy5xKHl1KXx8bXV9KS5ldHx8WGMuaHR8fFhjLmR8fFhjLmJ8fChYYy51dD1vNSk7KFljPWZ1bmN0aW9uKHQsZSxpKXt2YXIgbjtuPWl8fHt9O25bel09ZTt0aGlzLnZ0KG4pO3RoaXMubXQuYnR8fCh0aGlzLm10LmJ0PXJ1K3QpO3RoaXMuZ3QoKTt9KVtYdF09e2t0OntUdDpndSxDdDptdSxqdDp5dSxFdDpHcitQZStHcixGdDprdSxMdDpndSxBdDp5dSxPdDpndSx4dDptdSxQdDpudWxsLGJ0Om11LHd0Om11LFN0Omt1fSxtdDp7fSx5dDpudWxsLHp0OlpjLnYoKSxCdDpaYy5wKFtbT3IsMF1dKSxJdDpaYy5wKFtbTWUsMV1dKSxNdDpaYy5wKFtbU3IsMV1dKSxXdDpaYy5wKFtbRWksMF0sW1NyLDBdXSksRHQ6WmMucChbW01lLDBdXSksVXQ6WmMucChbW1p0LDBdXSksUnQ6WmMucChbW0VpLDBdXSksc2V0T3B0aW9uczpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy52dCh0KTt9LGd0OmZ1bmN0aW9uKCl7dmFyIHQsZSxpLG47dD1mdW5jdGlvbih0LGUpe3ZhciBpLG47bj17fTtuW3B1XT1beXUsZ3VdO25bX3VdPVt5dSx5dV07bltsdV09W2d1LGd1XTtuW2R1XT1bZ3UseXVdO2ZvcihpIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixpKSYmbltpXVswXT09PXQmJm5baV1bMV09PT1lKXtyZXR1cm4gaTt9cmV0dXJuIF91O307ZT1YYy5sdCgpO2k9dChHYy5tdC4kdC5uZXdUYWIsR2MubXQuJHQudW5kZXIpO249dCh0aGlzLm10LkF0LHRoaXMubXQuVHQpO2V8fG49PT1wdSYmKG49aSk9PT1wdSYmKG49bHUpO1hjLm90JiYobj09PV91JiYobj1kdSksbj09PXB1JiYobj1sdSkpO3RoaXMueXQ9bjt9LEh0OmZ1bmN0aW9uKCl7dmFyIGswLG4wLEYwO2lmKHR5cGVvZiB0aGlzLm10Lnh0PT09WnMpdHJ5e3JldHVybiB0aGlzLm10Lnh0W0NpXSh0aGlzLHRoaXMubXQpW1hzK0dyK2hdKCk7fWNhdGNoKHQpe3JldHVybiBLYy5lKHQpLHl1O31rMD0tMTAwMjA0NzAxMztuMD0tMTY1MTM4NjMwNztGMD0yO2Zvcih2YXIgTTA9MTt3NS5MMShNMC50b1N0cmluZygpLE0wLnRvU3RyaW5nKCkubGVuZ3RoLDY4NDExKSE9PWswO00wKyspe3JldHVybiB0aGlzLm10Lnh0O0YwKz0yO31pZih3NS5kMShGMC50b1N0cmluZygpLEYwLnRvU3RyaW5nKCkubGVuZ3RoLDkwOTM5KSE9PW4wKXtyZXR1cm4gdGhpcy5tdC54dDt9fSxMdDpmdW5jdGlvbigpe3ZhciB0LGUsRzcsQzcsazcsVjAsdTAseTA7dD10aGlzLm10O2U9dC5PdCE9PU5zJiZ0Lk90IT09TmV8fHQuT3Q9PT1OcyYmWGMub3R8fHQuT3Q9PT1OZSYmIVhjLm90O3RyeXtHNz0tMTkzODMwODU3MjtDNz0tMTE3NzY0NDk2NDtrNz0yO2Zvcih2YXIgRjc9MTt3NS5kMShGNy50b1N0cmluZygpLEY3LnRvU3RyaW5nKCkubGVuZ3RoLDg5NDI0KSE9PUc3O0Y3Kyspe3R5cGVvZiB0Lkx0PT09WnM/ZT1lJiZ0Lkx0W0NpXSh0aGlzLGUsdGhpcy5OdCgpKSE9PXl1OnR5cGVvZiB0Lkx0PT09YW4mJihlPWUmJnQuTHQpO2s3Kz0yO31pZih3NS5MMShrNy50b1N0cmluZygpLGs3LnRvU3RyaW5nKCkubGVuZ3RoLDUzNDE4KSE9PUM3KXstdC5MdCE9PVpzP2U9ZXx8dC5MdFtDaV0odGhpcyxlLHRoaXMuTnQoKSk9PT15dTohdC5MdD09YW58fChlPWV8fHQuTHQpO319Y2F0Y2godCl7S2MuZSh0KTt9VjA9Njg3MDAyMDA4O3UwPS0yOTc1OTkyODc7eTA9Mjtmb3IodmFyIHYwPTE7dzUuTDEodjAudG9TdHJpbmcoKSx2MC50b1N0cmluZygpLmxlbmd0aCw2NDU0MSkhPT1WMDt2MCsrKXtyZXR1cm4gR2MuSnQoKT9lfHwtdGhpcy5WdDplfHwrdHUuYyh0LmJ0KTt5MCs9Mjt9aWYodzUuTDEoeTAudG9TdHJpbmcoKSx5MC50b1N0cmluZygpLmxlbmd0aCwyOTMyNSkhPT11MCl7cmV0dXJuIEdjLkp0KCk/ZXx8LXRoaXMuVnQ6ZXx8K3R1LmModC5idCk7fXJldHVybiBHYy5KdCgpP2UmJiF0aGlzLlZ0OmUmJiF0dS5jKHQuYnQpO30sdnQ6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHI7dGhpcy5tdD1aYy55KHRoaXMuenQsdGhpcy5rdCx0aGlzLm10LHR8fHt9KTtmb3IoaSBpbiB0aGlzLm10KWlmKHlpW1h0XVtCYStHcitsdCtHcitvb11bQ2ldKHRoaXMubXQsaSkpc3dpdGNoKG49dGhpcy5tdFtpXSxpKXtjYXNlIHNvOnRoaXMubXQud3Q9bjticmVhaztjYXNlIHo6dGhpcy5tdC54dD1uO2JyZWFrO2Nhc2UgTGU6dGhpcy5tdC5PdD0obitHcilbWHMrR3IrdHMrR3IrbmNdKCk7YnJlYWs7Y2FzZSBOdCtHcittYzp0aGlzLm10LmJ0PW47YnJlYWs7Y2FzZSBOdCtHcitUOnRoaXMubXQuQ3Q9bjticmVhaztjYXNlIE50K0dyK2VhOnRoaXMubXQuRXQ9bjticmVhaztjYXNlIE50K0dyKyRzOnRoaXMubXQuUHQ9bjticmVhaztjYXNlIEVlOnRoaXMubXQuVHQ9bjticmVhaztjYXNlIEErR3IrTG86dGhpcy5tdC5BdD1uO2JyZWFrO2Nhc2UgcHQrR3IramU6dGhpcy5tdC5GdD1uO2JyZWFrO2Nhc2UgamErR3IramU6dGhpcy5tdC5TdD1uO2JyZWFrO2Nhc2UgSWMrR3IrY3I6dGhpcy5tdC5qdD1uO2JyZWFrO2Nhc2UgdGUrR3Irc3M6dGhpcy5tdC5MdD1uO31pZighWGMub3QmJiF0aGlzLm10LkF0KWZvcihyPVtbWGMuZyYmMTE9PT1YYy5wdCx0aGlzLlV0XSxbWGMuYiYmWGMucHQ8NDEsdGhpcy5JdF0sW1hjLmIsdGhpcy5CdF0sW1hjLmQmJlhjLnB0PDQ3LHRoaXMuTXRdLFtYYy51dCx0aGlzLkR0XSxbWGMuY3QsdGhpcy5SdF0sW1hjLmImJlhjLnB0Pj01OSx0aGlzLld0XSxbWGMudXQmJlhjLnB0Pj00Nix0aGlzLld0XV0sZT0wO2U8cltwaV07ZSsrKWlmKHJbZV1bMF0pZm9yKGkgaW4gcltlXVsxXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0ocltlXVsxXSxpKSYmKHRoaXMubXRbaV09cltlXVsxXVtpXSk7fX0sZ2V0T3B0aW9uczpmdW5jdGlvbigpe3JldHVybiB0aGlzLk50KCk7fSxOdDpmdW5jdGlvbigpe3ZhciB0LGU7ZT17fTtmb3IodCBpbiB0aGlzLm10KXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXSh0aGlzLm10LHQpJiZ0W3BpXT49MyYmKGVbdF09dGhpcy5tdFt0XSk7fXJldHVybiBlO30scXQ6ZnVuY3Rpb24oKXtHYy5KdCgpP3RoaXMuVnQ9Z3U6dHUuYSh0aGlzLm10LmJ0LDEsdGhpcy5tdC5DdCx0aGlzLm10LkV0LHRoaXMubXQuUHQpO319OyhudT1mdW5jdGlvbih0KXt2YXIgZTtlPXRoaXM7dGhpcy5RdD10O3RoaXMuR3Q9dGhpcy5ZdCgpO3RoaXMuS3Q9dGhpcy5adCgpO2l1LlgodGhpcy5HdCxncyxmdW5jdGlvbigpe0dzKGUuS3QpO1pjLlAoZS5HdCk7fSk7fSlbWHRdPXtZdDpmdW5jdGlvbigpe3ZhciB0LEs3LHI3LFE3O0s3PS0xODIwMzgxMDU7cjc9MTk5MDM1MjYxMTtRNz0yO2Zvcih2YXIgajc9MTt3NS5kMShqNy50b1N0cmluZygpLGo3LnRvU3RyaW5nKCkubGVuZ3RoLDg2ODQwKSE9PUs3O2o3Kyspe3Q9WmMueihoYyx7Y2xhc3M6ZnV9LEdyKTtyZXR1cm4gdGhpcy5RdFtTYytHcittY11bWHMrR3IrdHMrR3IrbmNdKCk9PT1Rcj9yaVtRcl1bSXQrR3IrV2VdKHQpOnRoaXMuUXRbX3QrR3IraV1bTmMrR3IrT3NdKHQsdGhpcy5RdFtWcytHcitrc10pLHQ7UTcrPTI7fWlmKHc1LkwxKFE3LnRvU3RyaW5nKCksUTcudG9TdHJpbmcoKS5sZW5ndGgsMzM0MykhPT1yNyl7dD1aYy56KGhjLHtjbGFzczpmdX0sR3IpO3JldHVybiB0aGlzLlF0W1NjKkdyL21jXVtYcypHci10cy1Hci1uY10oKT09UXI/cmlbUXJdW0l0L0dyL1dlXSh0KTp0aGlzLlF0W190L0dyJWldWyhOYy1HcikqT3NdKHQsdGhpcy5RdFsoVnMtR3IpJWtzXSksdDt9fSxadDpmdW5jdGlvbigpe3ZhciB0O3Q9dGhpcztyZXR1cm4gQ28oZnVuY3Rpb24oKXt2YXIgZSxpO2k9VWModC5RdFt4ZV1bc24rR3IrenNdLDEwKTt0LlF0W1NjK0dyK21jXVtYcytHcit0cytHcituY10oKT09PVFyJiYoaT05ZTkpOyhlPV9uK1Z0K2dvK2VyK0RhK1Z0K04rZXIrbG4rVnQraytlcitHcisoS2ErVnQrR3IpK3QuUXRbZnIrR3Ird2NdKyhobytlcitHcikrKG9jK1Z0K0dyKSt0LlF0W2ZyK0dyK2ddKyhobytlcitHcikrKEhpK1Z0K0dyKSt0LlF0W2ZyK0dyK1duXSsoaG8rZXIrR3IpKyhwK1Z0K0dyKSt0LlF0W2ZyK0dyK0NjXSsoaG8rZXIrR3IpKyhzbit3aStMK1Z0K0dyKSsocWMoaSk/MjppKzEpKSE9PXQuR3RbYWErR3IrR2ldKHhlKSYmdC5HdFtsaStHcitHaV0oeGUsZSk7fSwxNTApO319O251Llh0PWZ1bmN0aW9uKHQpe3ZhciBlO3c1Llk0KDEyKTtlPXc1LmM0KHJ1LExpLHdpLHdpLEdyLGllLEdyKTt0W2FhK0dyK0dpXShlKXx8dFthYStHcitHaV0obG8pPT09ZnV8fCh0W2xpK0dyK0dpXShlLDEpLG5ldyBudSh0KSk7fTsoUWM9e2R0OmZ1bmN0aW9uKCl7dmFyIHQsZTtlPXRoaXMuZWUoKTtmb3IodD0wO3Q8ZVtwaV07dCsrKWlmKGVbdF1bMV0oKT09PWd1KXtyZXR1cm4gZVt0XVswXTt9cmV0dXJuIHl1O30sZWU6ZnVuY3Rpb24oKXt2YXIgdDt0PVtdO3JldHVybiBYYy5vdHx8WGMuaXQ/W106KHRbTXJdKFt0aGlzLmllLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlhjLnB0Pj02NCYmWGMucHQ8Njc7fV0pLHRbTXJdKFt0aGlzLm5lLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubnQmJlhjLnB0Pj00MyYmWGMucHQ8NjQ7fV0pLHRbTXJdKFt0aGlzLnJlLGZ1bmN0aW9uKCl7dmFyIGI3LHE3LG03O2I3PS02MDMwNTI0OTU7cTc9LTQwNjg3OTgwNDttNz0yO2Zvcih2YXIgSTc9MTt3NS5MMShJNy50b1N0cmluZygpLEk3LnRvU3RyaW5nKCkubGVuZ3RoLDU1NDM5KSE9PWI3O0k3Kyspe3JldHVybiBYYy5ifHxaYy5ZKCl8fFhjLm18fFhjLnB0PD0xN3x8WGMucHQ+PTg5O203Kz0yO31pZih3NS5MMShtNy50b1N0cmluZygpLG03LnRvU3RyaW5nKCkubGVuZ3RoLDYyMDk0KSE9PXE3KXtyZXR1cm4gWGMuYnx8WmMuWSgpfHxYYy5tfHxYYy5wdDw9MTd8fFhjLnB0Pj04OTt9cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubSYmWGMucHQ+PTQ5JiZYYy5wdDw2NDt9XSksdFtNcl0oW3RoaXMub2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZDt9XSksdFtNcl0oW3RoaXMuc2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZyYmWGMucHQ+PTExO31dKSx0W01yXShbdGhpcy5hZSxmdW5jdGlvbigpe3JldHVybiBYYy5odDt9XSksdFtNcl0oW3RoaXMuY2UsZnVuY3Rpb24oKXt2YXIgVDAsRTAsbzA7VDA9MTIwNjMzNjEyMTtFMD0xMjk2MjQyMjUyO28wPTI7Zm9yKHZhciBwMD0xO3c1LmQxKHAwLnRvU3RyaW5nKCkscDAudG9TdHJpbmcoKS5sZW5ndGgsNDUyNzYpIT09VDA7cDArKyl7cmV0dXJuIFhjLnV0fHxYYy5udHx8WGMucHQ+PTc0O28wKz0yO31pZih3NS5MMShvMC50b1N0cmluZygpLG8wLnRvU3RyaW5nKCkubGVuZ3RoLDY1MzgpIT09RTApe3JldHVybiBYYy51dCYmWGMubnQmJlhjLnB0PD00ODt9fV0pLHQpO319KS50ZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMudGVbWHRdPXtfZTprdSx1ZTpmdW5jdGlvbih0KXt2YXIgcjUsUTUsZTU7cjU9LTk1ODI4OTMwMTtRNT0tNjIxNDQ4NDIyO2U1PTI7Zm9yKHZhciBaNT0xO3c1LmQxKFo1LnRvU3RyaW5nKCksWjUudG9TdHJpbmcoKS5sZW5ndGgsOTUyNjgpIT09cjU7WjUrKyl7dGhpcy5mZT10O2U1Kz0yO31pZih3NS5MMShlNS50b1N0cmluZygpLGU1LnRvU3RyaW5nKCkubGVuZ3RoLDE0MzU1KSE9PVE1KXt0aGlzLmZlPXQ7fX0sbGU6a3UscGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhO2k9dGhpcztuPWkuZmU7cj1uLkh0KCk7bz1uLm10O3M9by53dHx8WmMuJCg1KTthPVpjLmsobyk7aWYodD1mdW5jdGlvbigpe3RyeXtpZih0eXBlb2Ygby5GdD09PVpzJiZvLkZ0W0NpXShuLHIsbyk9PT15dSl7cmV0dXJuIHl1O319Y2F0Y2godCl7S2MuZSh0KTt9cmV0dXJuIG11O30sZT1mdW5jdGlvbih0KXtpZih0eXBlb2Ygby5TdD09PVpzKXRyeXtvLlN0W0NpXShuLHIsbyx0KTt9Y2F0Y2godCl7S2MuZSh0KTt9fSx0KCk9PT15dSl7cmV0dXJuIHl1O310eXBlb2Ygb1t6XT09PVRjJiZvW3pdIT09ciYmKHI9b1t6XSk7R2MuanQoby5qdCk7dGhpcy5fZSgpO3RyeXtyZXR1cm4gdGhpcy5sZShyLG8scyxhLGZ1bmN0aW9uKHQpe2kuZGUodCk7aS5oZSYmR2MuaGUoKTtlKHQpO30pO31jYXRjaCh0KXtyZXR1cm4gS2MuZSh0KSx5dTt9fSx2ZTpmdW5jdGlvbih0LGUsaSl7cmV0dXJuKEdjLm10LmJlP1pjLkM6QXUpKHQsZSxpKTt9LGRlOmt1LGhlOmd1fTtRYy5tZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMubWVbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTp5dSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3IodGhpcy52ZSh0LGksbikpO319KTtRYy5nZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuZ2VbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTohWGMub3QmJiFYYy5kLGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7cih0aGlzLnZlKHQsRmkpKTt9fSk7UWMueWU9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnllW1h0XT1aYy55KFFjLnRlW1h0XSx7a2U6ZnVuY3Rpb24oKXt2YXIgdCxlLGk7dD1HYy53ZSgpO2U9R2MueGUuUztpPXR5cGVvZiBHYy5tdC5PZT09PVpzP0djLm10Lk9lW0NpXSgpOkdjLm10Lk9lO3JldHVybiBmdW5jdGlvbigpe3ZhciBuLHI7cmV0dXJuIGkhPT1GdT9pOihuPVpjLiQoMSkscj1lP2k6R2MuQ2UodCl8fGksZXUucygpfHwhWGMub3QmJiFYYy5nP3I6KHR1LmEoY3UsbixtdSkscltaXSh2cixHcikrKEdyK3NlK0dyKStuKSk7fSgpO30sbGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgeDksejksaDksbyxzLGEsYyx1LGgsZixwO3g5PTE3MTA2NjI4Nzg7ejk9LTEwMzk3MjE3MTM7aDk9Mjtmb3IodmFyIEw5PTE7dzUuZDEoTDkudG9TdHJpbmcoKSxMOS50b1N0cmluZygpLmxlbmd0aCwzMDE4NykhPT14OTtMOSsrKXtoOSs9Mjt9aWYodzUuZDEoaDkudG9TdHJpbmcoKSxoOS50b1N0cmluZygpLmxlbmd0aCw0NTQ4MCkhPT16OSl7fWE9dGhpcy5rZSgpO2M9R2Mud2UoKTt1PVpjLk4oYyk7aD0xNTtmPVtdO3A9ZnVuY3Rpb24odCl7dmFyIGU7dHlwZW9mIHRbQW5dPT09WnMmJihlPXRbQW5dLGl1LlgodCxncyxlKSk7dFtBbl09ZnVuY3Rpb24oKXtyZXR1cm4geXU7fTt9O2ZvcihHYy5FZSgpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKSE9PUZpJiZaYy5mKGMsdW4pJiYocChjKSwwIT09Y1thYStHcitHaV0odW4pW0wrR3IrV2FdKEN0KSYmKGE9Y1thYStHcitHaV0odW4pKT09PUdyJiYoYT1GdSkpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKT09PUZpJiZaYy5mKGMsdW4pJiYocChjKSxpbyhmdW5jdGlvbigpe2NbQW5dPW11O30sM2UzKSxHYy5tdC5QZT9hPWNbYWErR3IrR2ldKHVuKTooYT1GdSxYYy5vdCYmKFhjLnV0P2ZbTXJdKGZ1bmN0aW9uKCl7QXUoY1thYStHcitHaV0odW4pLEZpKTt9KTppbyhmdW5jdGlvbigpe0F1KGNbYWErR3IrR2ldKHVuKSxGaSk7fSwyMCkpKSksWGMuZXQmJlhjLnV0fHxYYy5ldCYmWGMuc3QmJiFYYy5kJiYhWGMuYiYmIVhjLmh0PyhBdShhLEZpKSxaYy5IKEJyLGZ1bmN0aW9uKCl7WmMuVCh0KTt9LGgpKTohWGMub3QmJlpjLmgoYyxUaSkhPT1GaSYmKFhjLnV0JiZYYy5zdHx8WGMuaHQmJlhjLnB0PDEwfHxYYy5iJiZYYy5wdDw0MSk/WGMudXQ/KFpjLlEoYSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KFpjLlEodCksY1tTYytHcittY109PT1PbiYmdSYmWmMuVCh1KSk6WGMuZXQmJlhjLmQ/KG89QXUoYSxGaSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KG89eVtRYV0oVWErVnQrY2ksRmkpKT8ob1tFaV1bdW5dPWEsWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6bz1BdSh0LEZpKSxzPTA7czxmW3BpXTtzKyspe2Zbc11bQ2ldKCk7fW8mJnIobyk7fX0pO1FjLm9lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5vZVtYdF09WmMueShRYy50ZVtYdF0se2hlOnl1LGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG87bz10aGlzLnZlKHQsaSxuKTtvW2tuXSgpO1R1W2JvXSgpO1pjLk0obyk7aW8oZnVuY3Rpb24oKXtyKG8pO30sMWUzKTt9fSk7UWMuY2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLmNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZSh0LGksbik7cz1HYy5UZSgxZTMpO2l1LksoeSxibyxmdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9KTtvW2NjXT1mdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9O3Iobyk7fX0pO1FjLmFlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5hZVtYdF09WmMueShRYy50ZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIEQ5LFc5LGw5LG87RDk9MTk0OTIwNzgwOTtXOT04OTkwMjg0O2w5PTI7Zm9yKHZhciBWOT0xO3c1LkwxKFY5LnRvU3RyaW5nKCksVjkudG9TdHJpbmcoKS5sZW5ndGgsNTc4NTApIT09RDk7VjkrKyl7bDkrPTI7fWlmKHc1LkwxKGw5LnRvU3RyaW5nKCksbDkudG9TdHJpbmcoKS5sZW5ndGgsNTEwNjgpIT09Vzkpe315W3NvXT1aYy4kKDUpO289dGhpcy52ZSh0LGksbik7dGhpcy52ZShHcix5W3NvXSxHcik7eVtzb109bXU7cihvKTt9LGhlOnl1fSk7UWMuc2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZShQdT90OkZ1LGksbik7cz1mdW5jdGlvbigpe29bRWldW3VuXT10O307aXUuSyhvLGtuLHMpO29ba25dKCk7VHVbYm9dKCk7aW8ocywxMDApO3Iobyk7fSxoZTp5dX0pO1FjLm5lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5uZVtYdF09WmMueShRYy50ZVtYdF0se0ZlOmZ1bmN0aW9uKCl7dmFyIHQsZTtlPVpjLnooYXIse2RhdGE6WmMuTChlbitQZStNYyx0aGlzLkFlKStaYy4kKDMpfSk7cmV0dXJuKHQ9WmMueihoYyx7c3R5bGU6UGkrVnQrYStlcitvYytWdCtIcytlcitLYStWdCtIcytlcitEYStWdCtOK2VyK3ArVnQrRnIrSGErR3IrZXIrSGkrVnQrem4rZXIrayt3aStHYStWdCtYaStlciskbytWdCthK2VyK0dyfSkpW0l0K0dyK1dlXShlKSxbZSx0XTt9LFNlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMueSh0LHt9KTtyZXR1cm4gZVtwXT1lW0hpXT05ZTUsZVtvY109ZVtLYV09MSxlO30sQWU6THQrR3IrdGErR3IrRmMrR3IrUHMrR3Irb24rR3IrV2MrR3IreG8rR3IrJCtHcithaStHcituK0dyK1NhK0dyK0tyK0dyK1F0K0dyK2t0K0dyK3p0K0dyK3RjK0dyK1l0K0dyK3ZhK0dyK3MrR3IrdmErdWMraG4rR3IrTGErR3IrenQrR3IrVytHcitEYytHcitaYStHcittdCtHcitWaStHcitzYStHcitVZStHcitUYStHcit2YStHcitWaStHcitQcitHcit4bytHcitVZStHcitpYytHcitwbytHcitLcitHcitKK0dyK2hzK0dyK1ppK0dyK3ZhK0dyK1ByK0dyK0xhK0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrWGErR3IrVHMrR3IrWmkrR3IrdmErR3IrUHIrR3IrSGUrR3IrenQrR3IrVytHcitGYytHcit0YytHcityYytHcithZStHcit2aStHcit2YStHcitQcitHcitydCtHcitwcytHcittdCtHcituYStHcitUbytHcityZStHcit4bytHcit0YStHcitqaStHcitXK0dyK2F0K0dyK3ZhK0dyK1ByK0dyK2MrR3IrYit1YytFK0dyK1FvK0dyK3BzK0dyK2RjK0dyK1l0K0dyK3ZhK0dyK1lhK0dyK1hhK0dyK1RzK0dyK1ppK0dyK3ZhK0dyK0dlK0dyK09lK0dyK2dhK0dyK0hvK0dyK3ZhK0dyK1ByK0dyK2t0K0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrdmErR3Ircm4rdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitrdCtHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK09lK0dyK1krR3IrS3QrR3IreG8rR3IrVWUrR3IrYnMrR3IrRnQrR3IrUG8rR3IrRStHcitVZStHcitiaStHcitVZStHcitTZStHcitWcitHcitEcytHcit4bytHcitVZStHcitHbytHcit2YStHcitQdCtHcitVZStHcitScitHcit5YytHcitPZStHcitWbytHcitLcitHcit2YytHcitiZStHcitzK0dyK3hjK0dyK0tvK0dyK3IrR3IrYWkrR3IrZnQrdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitBZStHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK05hK0dyK1RzK0dyK010K0dyK2hyK0dyK1lzK0dyK0tzK0dyK0UrR3IrVWUrR3IrZm4rR3IrcmMrR3IrYWUrR3IrRCtHcitMdCtHcitWcitHcit0YStHcittdCtHcitacitHcitWcitHcitPZSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3ZhciBzLGEsYyx1LGg7dT10aGlzO2g9eXU7dHJ5eyhhPXRoaXMudmUoVWErVnQrY2ksRmkpKVttcl1bcnJdKHc1LnU0KHVyLEdyLEdyLGpvLFBlLHVpLEdyLFFyLEdyLFBlLG8sR3IsdWksdWksR3IsdXIsUGUsR3IsdXIsam8sR3IsdXIsbyx1aSxHcix1cixHcix1aSxRcix1cix1aSx3NS5ZNCgxMykpKTtpdS5LKGEscWEsZnVuY3Rpb24oKXtmdW5jdGlvbiBmKCl7bigpO2FbSW9dKCk7bygpO3JvKGMpO31ofHwoaD1ndSxzPWFbQmNdPUF1KFVhK1Z0K2NpLGksWmMuayh1LlNlKGUpKSksaXUuWChhLGJvLGYpLGM9aW8oZiwzZTMpLGFbbXJdW1FyXVtQYStHcithaStHcit4YytHcit6dCtHcitwYV09dS5GZSgpWzFdW1BuK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXSk7ZnVuY3Rpb24gbigpe3c1Llk0KDE0KTthW21yXVtRcl1bdzUudTQoUGEsenQsR3IsR3IsR3IseGMsR3IsYWkscGEpXT1Hcjt9ZnVuY3Rpb24gbygpe3ZhciBhMSxZMSxmMTthMT0tMTU2OTI3MTMyMDtZMT0yMzc1ODcyNDtmMT0yO2Zvcih2YXIgRDE9MTt3NS5MMShEMS50b1N0cmluZygpLEQxLnRvU3RyaW5nKCkubGVuZ3RoLDk0NDMyKSE9PWExO0QxKyspe3NbRWMlR3ItYmFdKGVbSGldLGVbcF0pO3NbZGElR3IqYmFdKGVbb2NdLGVbS2FdKTtzW0VpXVtaXSh0KTtyKHMpO2YxKz0yO31pZih3NS5kMShmMS50b1N0cmluZygpLGYxLnRvU3RyaW5nKCkubGVuZ3RoLDYyNDUzKSE9PVkxKXtzW0VjJUdyLWJhXShlW0hpXSxlW3BdKTtzW2RhJUdyKmJhXShlW29jXSxlW0thXSk7c1tFaV1bWl0odCk7cihzKTt9c1tFYytHcitiYV0oZVtIaV0sZVtwXSk7c1tkYStHcitiYV0oZVtvY10sZVtLYV0pO3NbRWldW1pdKHQpO3Iocyk7fX0pO31jYXRjaCh0KXt9fX0pO1FjLnJlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5yZVtYdF09WmMueShRYy5uZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG8scztzPVpjLk8oZ3UpO2l1LksoeSxibyxmdW5jdGlvbigpe1pjLlAocyk7b1tFaV1bWl0odCk7cihvKTt9KTt3NS5vNCg0KTtvPXRoaXMudmUodzUuYzQoVWEsVnQsY2kpLEZpKTtzW3RvK0dyK3lhXVttcl1bcnJdKHRoaXMuRmUoKVsxXVtQbitHcithaStHcit4YytHcit6dCtHcitwYV0pO319KTtRYy5pZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuaWVbWHRdPVpjLnkoUWMudGVbWHRdLHtMZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47aT10aGlzO249eXU7dzUubzQoNCk7ZT10aGlzLnZlKHc1LmM0KFVhLFZ0LGNpKSx0Lnd0fHxGaSx0LkJlfHxHcik7dC56ZSYmKGUmJmVbSW9dKCksbj1ndSk7IW4mJmUmJmlvKGZ1bmN0aW9uKCl7ZVtFaV1bdW5dPXQueHQ7dC5JZSYmaS5JZShlKTt9LDEwMCk7fSx1ZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47bj10aGlzO3RoaXMuamU9ZHJbTW5dKCk7dGhpcy5mZT10O2U9R2Mud2UoKTt3NS5vNCgxNSk7aT1aYy5CKGUsdzUuYzQoZ3QsR3IseGMsR3IsR3IsRmMseGMsR3IsZmMsR3IsVnIpKTsoZVtTYytHcittY109PT1PbiYmZVthYStHcitHaV0oanIpIT09RmkmJiFaYy5TKGUpfHxpJiYhWmMuUyhpKSkmJih0aGlzLmhlPWd1KTtpdS5YKHksSWUsZnVuY3Rpb24gdChlKXt0cnl7ZVtpZV0uamU9PT1uLmplJiZuLkxlKGVbaWVdKTtlW2llXS56ZSYmaXUuWih5LEllLHQpO31jYXRjaCh0KXt9fSk7fSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3RoaXMuSWU9cjt0aGlzLk1lKHtqZTp0aGlzLmplLEJlOm4sSWU6Z3UseHQ6dH0pO3RoaXMuTWUoe2plOnRoaXMuamUsemU6Z3UseHQ6VWErVnQrY2l9KTt9LGhlOnl1LE1lOmZ1bmN0aW9uKHQpe3lbSnQrR3IrWF0odCx5W0VpXVtSb10pO319KTtHYz17X2k6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5RaSgpK3RoaXMuSGkoKT5aYy5HKCk7fSxLaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm10LkplO30sSmU6ZnVuY3Rpb24oKXt2YXIgdDt0PVpjLngoYXJndW1lbnRzWzBdKT9hcmd1bWVudHNbMF06YXJndW1lbnRzO3JldHVybiB0aGlzLm5uKHQsUm4sdFtwaV0mJnRbMF09PT15dSk7fSxraTpmdW5jdGlvbih0LGUsaSxuKXt0aGlzLk9pKGksdCxndSl8fG4oZ3UseXUpO30sV2k6ZnVuY3Rpb24odCl7dHJ5e3JldHVybiB0W3F0XSYmMCE9PXRbcXRdfHx0aGlzLmNpLkcrMTUwPlpjLkcoKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LFJpOmZ1bmN0aW9uKCl7dGhpcy5XZT1bXTt9LFlpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQucWU7fSxVaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLldlO30sWmU6bXUsVGk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHx0aGlzLnFpKHQpKXtyZXR1cm4geXU7fWlmKCF0aGlzLm10LnFlW3BpXXx8dFthYStHcitHaV0obG8pPT09ZnUpe3JldHVybiBndTt9Zm9yKDtlPHRoaXMubXQucWVbcGldO2UrKylpZih0PT09dGhpcy5tdC5xZVtlXXx8dHlwZW9mIHRoaXMubXQucWVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5xZVtlXVtYcytHcitwcitHcituY10oKXx8WmMuSSh0LHRoaXMubXQucWVbZV0pKXx8WmMuQih0LHRoaXMubXQucWVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LHdlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueGUuUXQ7fSxMaTpmdW5jdGlvbigpe3ZhciB0LGU7ZT10aGlzO3RoaXMuWmU9WmMueihoYyx7c3R5bGU6b2MrVnQrRnIrSGErR3IrZXIrS2ErVnQrRnIrSGErR3IrZXIrRGErVnQrSXMrZXIrcCtWdCt6bitlcitIaStWdCt6bitlcitzbit3aStMK1Z0K25vK2VyK3h0K1Z0K1hpK2VyK0dyfSxHcik7dD1DbyhmdW5jdGlvbigpe3ZhciBpO2k9cmlbUXJdO2kmJihHcyh0KSxpW0l0K0dyK1dlXShlLlplKSk7fSwxMDApO30saGk6ZnVuY3Rpb24oKXt2YXIgTjksYTksWTksdCxlLGk7Tjk9LTUxNTA4MTc1NzthOT0tMTMwNjg1MTEzNztZOT0yO2Zvcih2YXIgczk9MTt3NS5kMShzOS50b1N0cmluZygpLHM5LnRvU3RyaW5nKCkubGVuZ3RoLDEwMDExKSE9PU45O3M5Kyspe1k5Kz0yO31pZih3NS5MMShZOS50b1N0cmluZygpLFk5LnRvU3RyaW5nKCkubGVuZ3RoLDQ1MzQ0KSE9PWE5KXt9aT10aGlzLlhlLm9pO2Zvcih0PTA7dDx0aGlzLmZpW3BpXSYmKCF0aGlzLnBpKCkmJiF0aGlzLl9pKCkpO3QrKyl7aWYoZT10aGlzLmZpW3RdLHRoaXMuWGUuc2krKyx0aGlzLlhlLm9pPVpjLkcoKSx0aGlzLmxpKGUpPT09eXUpe3JldHVybiB0aGlzLlhlLnNpLS0sdm9pZCh0aGlzLlhlLm9pPWkpO31pPXRoaXMuWGUub2k7ZXUuYShodSx0aGlzLlhlLm9pKTtlLnl0PT09bHUmJmV1LmEodXUsdGhpcy5YZS5zaSk7fX0sT2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBuLHIsbyxzO3c1Lm80KDQpO289dzUuYzQoR3IsVHQsR3IpO3c1Llk0KDIpO3M9dzUuYzQobyx0KTtmb3Iobj0wO248ZVtwaV07bisrKWlmKHI9KEdyK090K0dyK1R0K0dyKVtMK0dyK1dhXShlW25dWzBdKT4tMT9lW25dOm8rZVtuXSxzW2ZzXShzW3BpXS1yW3BpXSk9PT1yfHxpJiZyPT09d3Upe3JldHVybiBndTt9cmV0dXJuIHl1O30sZW46ZnVuY3Rpb24odCxlKXt2YXIgTDAsZDAsTzAsaSxuO0wwPTEyMjU5MjUxNjQ7ZDA9LTc2NDA0NzIyNjtPMD0yO2Zvcih2YXIgQzA9MTt3NS5MMShDMC50b1N0cmluZygpLEMwLnRvU3RyaW5nKCkubGVuZ3RoLDk4MzQ3KSE9PUwwO0MwKyspe08wKz0yO31pZih3NS5MMShPMC50b1N0cmluZygpLE8wLnRvU3RyaW5nKCkubGVuZ3RoLDg1NTk4KSE9PWQwKXt9aT10aGlzO249dGhpcy50bih0LGUpO3RoaXMuV2VbTXJdKG4pO3RoaXMuRGkobik7dGhpcy5pbnx8KEdjLkNpKCksZnVuY3Rpb24oKXt2YXIgdCxlO1hjLmImJigoZT1yaVtVcytHcitDbl0oaGMpKVtSYytHcitpdF0oVmEsZnVuY3Rpb24oKXtDdT1ndTt9KSxDdT1vNSx0PUNvKGZ1bmN0aW9uKCl7aWYoQ3U9eXUsIWkubXQuUmUpe2lmKHR5cGVvZiB5W3dzXSE9PWFyfHx0eXBlb2YgeVt3c11bT29dIT09WnMpe3JldHVybiBDdT1vNSx2b2lkIEdzKHQpO315W3dzXVtPb10oZSk7eVt3c11bTWldKCk7fX0sNTAwKSk7fSgpLHRoaXMuaW49bzUpO30sUGk6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuSmkoKSx0P3RoaXMuZmlbcGldOnRoaXMuZmlbcGldPjA7fSx2aTpmdW5jdGlvbigpe3ZhciB0LGU7dD1aYy5HKCk7ZT1aYy5HKGF1KTt3NS5ZNCgxNik7dGhpcy5YZS5yaT13NS5jNChlLHQsMzE1MzYwMDAwMDApO3RoaXMuWGUucmkmJih0aGlzLmxpPWt1KTt9LEJpOmZ1bmN0aW9uKCl7dmFyIHQ7dD1VYyhldS5jKGh1KSwxMCk7cWModCkmJih0PTApO3RoaXMuWGUub2k9dDt9LENlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMuTih0KTtyZXR1cm4gZSYmIXRoaXMubXQuTmUmJlpjLlModCk/eXU6ZTt9LGp0OmZ1bmN0aW9uKHQpe3ZhciBlLGksbjtlPXR5cGVvZiB0PT09Z2U/Z3U6ISF0O3c1Lm80KDIpO2k9dzUuYzQocnUsSSk7bj1yaVthYStHcitDbitHcitpaStHcit0bl0oaSk7ZT9ufHwobj1aYy56KERvLHtjb250ZW50OkljK3dpK2lhLG5hbWU6aWEsaWQ6aX0pLHJpW2FhK0dyK1JlK0dyK2lpK0dyK1JpK0dyK21jXShvKVswXVtJdCtHcitXZV0obikpOm4mJlpjLlAobik7fSxHaTpmdW5jdGlvbigpe3RoaXMuWGUuaWk9Z3U7dGhpcy5oaT1rdTt9LEp0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQuRGU7fSx5aTpmdW5jdGlvbih0LGUsaSxuLHIpe2Zvcih2YXIgbyxzPTA7czxlJiYobz10W3NdLCEoMT09PW4mJihyKGlbcytlXSx0W3NdKmlbc10rcysoaVtzXT4+cyszKSl8fHIoaVtzKzIqZV0sdFtzXSoodFswXSt0WzFdK3RbMl0pKyhpW3NdPDxzKSl8fHIoaVtzKzMqZV0sZHJbQWNdKHRbMF0qdFsxXSp0WzJdL28pK28rKGlbc10+PnMpKSl8fG48MSYmKHIoaVtzK2VdLHRbc10qaVtzXStzKXx8cihpW3MrMiplXSx0W3NdKih0WzBdK3RbMV0rdFsyXSkpfHxyKGlbcyszKmVdLGRyW0FjXSh0WzBdKnRbMV0qdFsyXS9vKStvKSkpKTtzKyspO30scWk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHwhdGhpcy5tdC5KZVtwaV0pe3JldHVybiB5dTt9Zm9yKDtlPHRoaXMubXQuSmVbcGldO2UrKylpZih0PT09dGhpcy5tdC5KZVtlXXx8dHlwZW9mIHRoaXMubXQuSmVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5KZVtlXXx8WmMuSSh0LHRoaXMubXQuSmVbZV0pKXx8WmMuQih0LHRoaXMubXQuSmVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LGNpOnt1aTp7fSxHOjB9LEhpOmZ1bmN0aW9uKCl7cmV0dXJuIFhjLm90P2RyW0JvXSh0aGlzLm10LlZlLDFlMyk6WGMuYnx8WGMuZ3x8WGMuY3R8fFhjLnV0JiYhWGMuZXQ/ZHJbQm9dKHRoaXMubXQuVmUsMjAwKTp0aGlzLm10LlZlO30sRWU6ZnVuY3Rpb24odCl7dmFyIGUsWjcsdDcsVTc7Wjc9LTEyNTc1NDEyNDI7dDc9MTMwMDY1ODcyMDtVNz0yO2Zvcih2YXIgejc9MTt3NS5MMSh6Ny50b1N0cmluZygpLHo3LnRvU3RyaW5nKCkubGVuZ3RoLDgzNTc3KSE9PVo3O3o3Kyspe2U9dHx8dGhpcy5jaS51aTtVNys9Mjt9aWYodzUuZDEoVTcudG9TdHJpbmcoKSxVNy50b1N0cmluZygpLmxlbmd0aCwzMDU1KSE9PXQ3KXtlPXQmJnRoaXMuY2kudWk7fXRyeXtlW01vK0dyK25pXSYmZVtNbytHcituaV0oKTtlW3FlK0dyK19zXSYmZVtxZStHcitfc10oKTt3NS5vNCg0KTtlW3c1LmM0KE5yLEdyLGNvKV09eXU7dzUubzQoNCk7ZVt3NS51NChtcyxHcixIcildPWd1O31jYXRjaCh0KXt9fSxpOmZ1bmN0aW9uKCl7dmFyIE8xLEcxLEMxO08xPS0xMzAyMzI0NTE3O0cxPTg4ODY0MDYzMDtDMT0yO2Zvcih2YXIgbjE9MTt3NS5kMShuMS50b1N0cmluZygpLG4xLnRvU3RyaW5nKCkubGVuZ3RoLDU5MTU1KSE9PU8xO24xKyspe3JldHVybiB0aGlzLm10LlVlfHx0aGlzLm10LkRlO0MxKz0yO31pZih3NS5MMShDMS50b1N0cmluZygpLEMxLnRvU3RyaW5nKCkubGVuZ3RoLDIzODAyKSE9PUcxKXtyZXR1cm4gdGhpcy5tdC5VZSYmdGhpcy5tdC5EZTt9fSxwaTpmdW5jdGlvbigpe3ZhciBoNyxpNyxMNztoNz0tMTUxMTEyMzE1NDtpNz0tMTY3MjAwNTI5NjtMNz0yO2Zvcih2YXIgTzc9MTt3NS5kMShPNy50b1N0cmluZygpLE83LnRvU3RyaW5nKCkubGVuZ3RoLDMyNTMzKSE9PWg3O083Kyspe3JldHVybiB0aGlzLiRpKCk8dGhpcy5tdC5IZTtMNys9Mjt9aWYodzUuTDEoTDcudG9TdHJpbmcoKSxMNy50b1N0cmluZygpLmxlbmd0aCwxOTk5KSE9PWk3KXtyZXR1cm4gdGhpcy4kaSgpPj10aGlzLm10LkhlO319LGdpOmZ1bmN0aW9uKHQsZSxpLG4scil7Zm9yKHZhciBvLHM9MDtzPGUmJihvPXRbc10sISgxPT09biYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzErKGlbc108PGlbc10lMTApLGlbZStzXSl8fHIob1trZStHcitucytHcitCaV0ob1twaV0tMSkqaVtzXSoyK3MrKGlbc10+PnMpLGlbMiplK3NdKXx8cihvW3BpXSppW3NdKjMrKGlbc108PHMpLGlbMyplK3NdKSl8fG48MSYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzEsaVtlK3NdKXx8cihvW2tlK0dyK25zK0dyK0JpXShvW3BpXS0xKSppW3NdKjIrcyxpWzIqZStzXSl8fHIob1twaV0qaVtzXSozLGlbMyplK3NdKSkpKTtzKyspO30sV2U6W10sdG46ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IFljKHRoaXMuV2VbcGldLHQsZSk7fSxBaTpmdW5jdGlvbih0KXt0aGlzLmNpLnVpPXQ7dGhpcy5jaS5HPVpjLkcoKTt9LGFpOltdLE1pOmZ1bmN0aW9uKHQpe3JldHVybiBudS5YdCh0KSx0aGlzO30sWmk6ZnVuY3Rpb24oKXtyZXR1cm4gWmMucChbW1RyLHRoaXMubXQuRGVdLFtvaSx0aGlzLm10LlVlXSxbd3QsdGhpcy5tdC5SZV0sW0xyK0dyK3plLHRoaXMubXQuT2VdLFtSbitHcitFbix0aGlzLm10Lk5lXSxbRHQsdGhpcy5tdC5IZV0sW2xjK0dyK2JhLHRoaXMubXQucWVdLFtSbitHcitiYSx0aGlzLm10LkplXSxbUW4sdGhpcy5tdC5WZV0sW3crR3IrVix0aGlzLm10LiRlXSxbdytHcitEbix0aGlzLm10LlFlXSxbcG4rR3IrdHIrR3IrTG4sdGhpcy5tdC5HZV0sW0JzK0dyK2wrR3IrU3MsdGhpcy5tdC4kdF0sW05zK0dyKyRyLHRoaXMubXQuWWVdLFtJYytHcitwYytHcitfaSx0aGlzLm10LmJlXSxbTHMrR3IrYnQsdGhpcy5tdC5LZV0sW0IrR3IrdmUrR3IrX28rR3IreW4rR3IrTG4sdGhpcy5tdC5QZV1dKTt9LFRlOmZ1bmN0aW9uKHQpe3ZhciBlLGk7aT1aYy5PKGd1KTtyZXR1cm4gZT1pW3RvK0dyK3lhXVttcl1bVXMrR3IrQ25dKGRlKSwwPT09eVtFaV1bdW5dW0wrR3IrV2FdKGorVnQrR3IpP2VbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPUdyKyhXcitZZStHcit3bitHcikrKGYrVHQrUytUdCthYStHcitaZStHcitRaStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKTplW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoV3IrWWUrR3Ird24rR3IpKyhZcitUdCtjYStHcitfZStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSxpW3RvK0dyK3lhXVttcl1bUXJdW0l0K0dyK1dlXShlKSx0eXBlb2YgdCE9PVd0JiZ0eXBlb2YgdCE9PWdlfHxpbyhmdW5jdGlvbigpe1pjLlAoaSk7fSx0fHw1MDApLGk7fSxOaTpmdW5jdGlvbigpe3ZhciBvMSx3MSxwMTtvMT0tMjExMjgyOTI0MDt3MT00MjIxODMwODI7cDE9Mjtmb3IodmFyIHEwPTE7dzUuZDEocTAudG9TdHJpbmcoKSxxMC50b1N0cmluZygpLmxlbmd0aCwzNTgxNCkhPT1vMTtxMCsrKXtmb3IodmFyIHQsZT02O2U8PXRoaXMuV2VbcGldO2UtLSl7dD10aGlzLldlW2VdO3R1LnUodC5tdC5idCk7fXRoaXMuWGUub2k9dGhpcy5YZS5zaT00O2V1LnUodXUpO2V1LnUoY3UpO2V1LnUoaHUpO3AxKz0yO31pZih3NS5MMShwMS50b1N0cmluZygpLHAxLnRvU3RyaW5nKCkubGVuZ3RoLDUxMjkxKSE9PXcxKXtmb3IodmFyIHQsZT0yO2U8dGhpcy5XZVtwaV07ZSsrKXt0PXRoaXMuV2VbZV07dHUudSh0Lm10LmJ0KTt9dGhpcy5YZS5vaT10aGlzLlhlLnNpPTM7ZXUudSh1dSk7ZXUudShjdSk7ZXUudShodSk7fWZvcih2YXIgdCxlPTA7ZTx0aGlzLldlW3BpXTtlKyspe3Q9dGhpcy5XZVtlXTt0dS51KHQubXQuYnQpO310aGlzLlhlLm9pPXRoaXMuWGUuc2k9MDtldS51KHV1KTtldS51KGN1KTtldS51KGh1KTt9LHppOmZ1bmN0aW9uKCl7dmFyIHQ7dD0wO3JldHVybiBldS5zKCk/KHQ9ZXUuYyh1dSksZXUudSh1dSkpOnR1LmModXUpJiYocmlbaWFdPT09UnRbdW5dfHx+UnRbdW5dW0wrR3IrV2FdKEdyK3NlK0dyK3R1LmMoY3UpKSkmJih0PXR1LmModXUpLGlvKGZ1bmN0aW9uKCl7dHUudSh1dSk7dHUudShjdSk7fSwzMDApKSx0PVVjKHQsMTApLHQ9cWModCk/MDp0LHRoaXMuWGUuc2k9dDt9LG10OntOZTpndSxLZTp5dSxKZTpbXSxWZTowLCR0OmJ1LCRlOltdLERlOnl1LE9lOkZ1LEhlOjk5OTksUmU6eXUscWU6W10sWWU6MTAsVWU6eXUsUWU6Z3UsUGU6eXUsYmU6eXUsR2U6Z3V9LCRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuWGUuc2k7fSxRaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLlhlLm9pO30sYmk6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhLGMsdSxuOSxGOSxnOTtzPXRoaXM7YT0wO2M9dGhpcy5YZTt1PWZ1bmN0aW9uKHQsZSl7dmFyIFA5LEo5LFg5O1A5PTMyNTI1NjI2O0o5PS05NTA1MjQwNDM7WDk9Mjtmb3IodmFyIFM5PTE7dzUuTDEoUzkudG9TdHJpbmcoKSxTOS50b1N0cmluZygpLmxlbmd0aCw0ODQ5MykhPT1QOTtTOSsrKXtyZXR1cm4gdD09PWV8fChjLm5pPWd1LHMubGk9a3UpLHQhPWU7WDkrPTI7fWlmKHc1LkwxKFg5LnRvU3RyaW5nKCksWDkudG9TdHJpbmcoKS5sZW5ndGgsNTM4MDApIT09Sjkpe3JldHVybiB0IT09ZSYmKGMubmk9Z3Uscy5saT1rdSksdCE9PWU7fX07aWYodHlwZW9mIHlbcnVdW2FyXSE9PWdlKXtjLm5pPW11O3Q9eVtydV1bYXJdW1huXSgpO2U9eVtydV1bYXJdW1huXSgpO2k9eVtydV1bYXJdW1huXSgpO249eVtydV1bYXJdW1huXSgpO3I9WmMuRigoeVtydV1bYXJdW1huXSgpfHx7c3JjOm51bGx9KVtYcl0pO289WmMuRih4dVtYcl0pO3RyeXtuOT0xNDUwNjEyMjI1O0Y5PS01NjY0Nzc2Nzc7Zzk9Mjtmb3IodmFyIFI5PTE7dzUuZDEoUjkudG9TdHJpbmcoKSxSOS50b1N0cmluZygpLmxlbmd0aCwyODY5NSkhPT1uOTtSOSsrKXthPXlbcnVdW2FyXVtYbl0oKSYmNztnOSs9Mjt9aWYodzUuZDEoZzkudG9TdHJpbmcoKSxnOS50b1N0cmluZygpLmxlbmd0aCwzODQzOCkhPT1GOSl7YT15W3J1XVthcl1bWG5dKCkmJjc7fWE9eVtydV1bYXJdW1huXSgpfHwwO31jYXRjaCh0KXt9YT1kcltCb10oMCxkcltrYV0oMSxhKSk7dGhpcy5taSh0LG8scix1KTt0aGlzLmdpKHQsdFtwaV0sZSxhLHUpO3RoaXMueWkoaSxpW3BpXSxuLGEsdSk7dGhpcy5raSh0LHRbcGldLFpjLkYoKSx1LHUpO3RoaXMud2koaSxaYy5HKCkpO2Mubmk9PT1tdSYmKGMubmk9eXUpO31jLnhpPWF8fDA7fSxFaTpmdW5jdGlvbih0LGUpe3ZhciBkOSxPOSxHOTtkOT04MzA2MTMyMTE7Tzk9MTQwNDM5MjY4MztHOT0yO2Zvcih2YXIgazk9MTt3NS5kMShrOS50b1N0cmluZygpLGs5LnRvU3RyaW5nKCkubGVuZ3RoLDE2MDEwKSE9PWQ5O2s5Kyspe3RoaXMueGUuUXQ9dDt0aGlzLnhlLlM9ZTtHOSs9Mjt9aWYodzUuZDEoRzkudG9TdHJpbmcoKSxHOS50b1N0cmluZygpLmxlbmd0aCw3Njg2OSkhPT1POSl7dGhpcy54ZS5RdD10O3RoaXMueGUuUz1lO319LFhpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbix1OSx5OSxIOTtuPXR8fHt9O2ZvcihlIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixlKSlzd2l0Y2godGhpcy5tdFtlXT1pPW5bZV0sZSl7Y2FzZSBUcjp0aGlzLm10LkRlPWk7YnJlYWs7Y2FzZSBvaTp0aGlzLm10LlVlPWk7YnJlYWs7Y2FzZSB3dDp0aGlzLm10LlJlPWk7YnJlYWs7Y2FzZSBMcitHcit6ZTp0aGlzLm10Lk9lPWk7YnJlYWs7Y2FzZSBSbitHcitFbjp0aGlzLm10Lk5lPWk7YnJlYWs7Y2FzZSBEdDp0aGlzLm10LkhlPWk7YnJlYWs7Y2FzZSBsYytHcitiYTp0aGlzLnFlW29hXSh0aGlzLGkpO2JyZWFrO2Nhc2UgUm4rR3IrYmE6dGhpcy5KZVtvYV0odGhpcyxpKTticmVhaztjYXNlIFFuOnRoaXMubXQuVmU9aTticmVhaztjYXNlIHcrR3IrVjp0aGlzLm10LiRlPWk7YnJlYWs7Y2FzZSB3K0dyK0RuOnRoaXMubXQuUWU9aTticmVhaztjYXNlIHBuK0dyK3RyK0dyK0xuOnRoaXMubXQuR2U9aTticmVhaztjYXNlIEJzK0dyK2wrR3IrU3M6dGhpcy5tdC4kdD1pO2JyZWFrO2Nhc2UgTnMrR3IrJHI6dGhpcy5tdC5ZZT1pO2JyZWFrO2Nhc2UgSWMrR3IrcGMrR3IrX2k6dGhpcy5tdC5iZT1pO2JyZWFrO2Nhc2UgTHMrR3IrYnQ6dGhpcy5tdC5LZT1pO2JyZWFrO2Nhc2UgQitHcit2ZStHcitfbytHcit5bitHcitMbjp0aGlzLm10LlBlPWk7fXU5PTE1MDY0OTg2ODA7eTk9NjExNzc3ODY1O0g5PTI7Zm9yKHZhciBUOT0xO3c1LkwxKFQ5LnRvU3RyaW5nKCksVDkudG9TdHJpbmcoKS5sZW5ndGgsNjMyMykhPT11OTtUOSsrKXtyZXR1cm4gdGhpcztIOSs9Mjt9aWYodzUuZDEoSDkudG9TdHJpbmcoKSxIOS50b1N0cmluZygpLmxlbmd0aCw2MzczOSkhPT15OSl7cmV0dXJuIHRoaXM7fX0saGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksZzcsTTcsUjc7Zzc9LTM5MDQ0MjA2O003PS0xNjI0Njc4MzI1O1I3PTI7Zm9yKHZhciBKNz0xO3c1LkwxKEo3LnRvU3RyaW5nKCksSjcudG9TdHJpbmcoKS5sZW5ndGgsNTI1MzkpIT09Zzc7SjcrKyl7ZT10aGlzLndlKCk7aT10aGlzLmNpLnVpO1I3Kz0yO31pZih3NS5MMShSNy50b1N0cmluZygpLFI3LnRvU3RyaW5nKCkubGVuZ3RoLDg0NzUzKSE9PU03KXtlPXRoaXMud2UoKTtpPXRoaXMuY2kudWk7fXRyeXsodD1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0oZ3MsZ3UsZ3UseSwxLGlbT2krR3IrVWVdLGlbT2krR3IreG9dLGlbSGMrR3IrVWVdLGlbSGMrR3IreG9dLHl1LHl1LHl1LHl1LDAsbXUpO3RbVW9dPWd1O2VbZ24rR3IrQ2FdKHQpO31jYXRjaCh0KXtLYy5lKHQpO319LFZpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuUGkobzUpO30sU2k6ZnVuY3Rpb24oKXt2YXIgdCxpLG4scixvLHM7cj10aGlzO289NTAwO3M9ZnVuY3Rpb24odCxlKXt2YXIgaSxuO249WGMuYj9lYzpnczsoaT1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0obixndSxndSx5LDEsZVtPaStHcitVZV0sZVtPaStHcit4b10sZVtIYytHcitVZV0sZVtIYytHcit4b10seXUseXUseXUseXUsMCxtdSk7aS5mYz1ndTt0W2duK0dyK0NhXShpKTt9O2l1LlgocmksJHQsZnVuY3Rpb24ocil7dmFyIG8sRjEsZzEsTTE7dzUubzQoNCk7bz1yW3c1LnU0KHNyLEdyLGUpXVswXTtGMT05NTkwNTM3NzY7ZzE9LTE3NzY2NDMwNTc7TTE9Mjtmb3IodmFyIFAxPTE7dzUuZDEoUDEudG9TdHJpbmcoKSxQMS50b1N0cmluZygpLmxlbmd0aCw4NTkzNCkhPT1GMTtQMSsrKXt3NS5vNCgxOCk7dD1yW3c1LnU0KG9zLEpzLEdyKV07dzUuWTQoMTkpO2k9b1t3NS51NChHcixmbyxVZSldO3c1Lm80KDIwKTtuPW9bdzUuYzQoeG8sZm8sR3IpXTtNMSs9Mjt9aWYodzUuTDEoTTEudG9TdHJpbmcoKSxNMS50b1N0cmluZygpLmxlbmd0aCwxMTM5OCkhPT1nMSl7dzUubzQoMjEpO3Q9clt3NS5jNChvcyxKcyxHcildO3c1Llk0KDIyKTtpPW9bdzUuYzQoR3IsVWUsZm8pXTt3NS5vNCg2KTtuPW9bdzUuYzQoR3IseG8sZm8pXTt9dzUubzQoNCk7dD1yW3c1LnU0KG9zLEdyLEpzKV07dzUuWTQoNCk7aT1vW3c1LmM0KGZvLEdyLFVlKV07dzUubzQoNCk7bj1vW3c1LnU0KGZvLEdyLHhvKV07fSxndSk7aXUuWChyaSx2LGZ1bmN0aW9uKGEpe3ZhciBjLHUsaCxTMCxOMCxhMDtTMD0xMTI5ODE1NDEyO04wPS00NTk2NDE3MTE7YTA9Mjtmb3IodmFyIGYwPTE7dzUuZDEoZjAudG9TdHJpbmcoKSxmMC50b1N0cmluZygpLmxlbmd0aCw5MDQxMCkhPT1TMDtmMCsrKXt3NS5vNCg0KTtjPWFbdzUuYzQoc3IsR3IsZSldWzBdO3U9aXUudHQoYSk7aD1yLm10LlllO2EwKz0yO31pZih3NS5MMShhMC50b1N0cmluZygpLGEwLnRvU3RyaW5nKCkubGVuZ3RoLDUxODk1KSE9PU4wKXt3NS5ZNCg2KTtjPWFbdzUudTQoR3IsZSxzcildWzRdO3U9aXUudHQoYSk7aD1yLm10LlllO31kcltGc10oY1tmbytHcitVZV0taSk+PWh8fGRyW0ZzXShjW2ZvK0dyK3hvXS1uKT49aHx8YVtvcytHcitKc10tdD5vfHxyLm10LlllPD0wfHxYYy5odCYmRGlbaXJdKHVbU2MrR3IrbWNdKXx8ci5YZS5paXx8ci5YZS5uaXx8ci5YZS5yaXx8ci5waSgpfHxyLl9pKCl8fCFyLlBpKCl8fCFyLlRpKHUpfHwhci5tdC5OZSYmWmMuUyh1KXx8KHVbU2MrR3IrbWNdPT09T24mJnIuRWUoYSkscyh1LGMpKTt9LGd1KTt9LG1pOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByLG87bz15dTtmb3Iocj0wO3I8dFtwaV07cisrKWlmKHRbcl09PT13dSl7bz1ndTticmVhazt9byYmKGV8fGkpJiYoIXRoaXMuT2koZSx0KXx8IXRoaXMuT2koaSx0KXx8eVtydV1bdW5dJiZ5W3J1XVt1bl1bcGldJiYhdGhpcy5PaShaYy5GKCkseVtydV1bdW5dKSkmJm4oZ3UseXUpO30seGU6e1F0Om11LFM6eXV9LHFlOmZ1bmN0aW9uKCl7dmFyIHQ7dD1aYy54KGFyZ3VtZW50c1swXSk/YXJndW1lbnRzWzBdOmFyZ3VtZW50cztyZXR1cm4gdGhpcy5ubih0LGxjLHRbcGldJiZ0WzBdPT09eXUpO30sd2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBXMSxsMSxjMTtXMT0xMTQ2NjMzOTY5O2wxPTU4MTgzMzU3NjtjMT0yO2Zvcih2YXIgdTE9MTt3NS5kMSh1MS50b1N0cmluZygpLHUxLnRvU3RyaW5nKCkubGVuZ3RoLDY5ODkxKSE9PVcxO3UxKyspe1pjLkcodFtOaV0oR3IrUGUrR3IpKTxlJiZpKGd1LHl1KTtjMSs9Mjt9aWYodzUuZDEoYzEudG9TdHJpbmcoKSxjMS50b1N0cmluZygpLmxlbmd0aCw0ODMyNikhPT1sMSl7WmMuRyh0W05pXShHciVQZSVHcikpPj1lfHxpKGd1LHl1KTt9fSxDaTpmdW5jdGlvbigpe3ZhciByLG8scyxhLGMsdSxoLGYscCxfO2Z1bmN0aW9uIHQoKXt2YXIgdCxlO3c1Lm80KDE3KTtlPVt3NS51NChIbixUdCxHcixFbixHcixDYSxKYSksdzUuYzQoeG4sVHQsR3IsRW4sR3IsQ2EsSmEsdzUubzQoMTcpKSx3NS5jNChKYSxUdCxRYSx3NS5ZNCg0KSksdzUuYzQoQ24sR3IsVXMsbXIsVHQsdzUubzQoMSkpLHc1LnU0KFdlLEdyLHhuLG1yLFR0LHc1Llk0KDEpKV07Zm9yKHQ9MDt0PGVbcGldO3QrKylpZihaYy5sKGVbdF0pKXtyZXR1cm4gS2MuZSh0LFpjLmwoZVt0XSkpLGd1O31yZXR1cm4geXU7fWZ1bmN0aW9uIGkoaSl7dT0yO198fChfPWd1LGlvKGZ1bmN0aW9uKCl7Xz15dTt9LFhjLm90PzUwMDoxNTApLEN1JiYhcC5VZXx8KHI9aXUudHQoaSksbz1aYy5CKHIsT24pLGM9WmMuUyhyKSxyW2FhK0dyK0dpXShsbyk9PT1mdT8oclt4ZV1beHRdPVhpLFpjLlAocikscj1pdS50dChpLGd1KSk6byYmKHM9KHI9bylbYWErR3IrR2ldKFRpKSxhPVpjLk4ociksYz1aYy5TKHIpKSxmLkVpKHIsYyksZi5YZS5paXx8Zi5YZS5uaXx8Zi5YZS5yaXx8aVtVb118fGUoZi5jaS51aVtPXSYmZi5jaS51aVtPXSE9PWlbT10pfHxlKHAuS2UmJiFFdSl8fGUoIWlbSGMrR3IrVWVdJiYhaVtIYytHcit4b10pfHxlKCFYYy5vdCYmIVhjLmcmJnR5cGVvZiBpW3F0XSE9PWdlJiYwIT09aVtxdF0pfHxlKCFYYy5vdCYmIWYuWmUmJihYYy5jdHx8WGMuYnx8WGMudXQpKXx8ZSghWGMub3QmJiFwLkdlJiYoWGMuYnx8WGMudXQpJiZzPT09RmkpfHxlKGYucGkoKSl8fGUoZi5faSgpKXx8ZSghZi5QaSgpKXx8ZSghZi5UaShyKSl8fGUoYyYmIXAuTmUpfHxlKCFwLlJlJiZ0KCkpfHwoZi5BaShpKSxYYy5ldCYmbyYmYSYmZi5FZShpKSxYYy5vdHx8IW98fGN8fChYYy5iJiZzIT09RmkmJlpjLlkoKXx8cC5HZSYmcz09PUZpJiYoWGMuYnx8WGMudXQpKSYmZi5FZShpKSxmLkZpPW11LGYuaGkoKSkpKTt9Zj10aGlzO3A9Zi5tdDtfPXl1O2Z1bmN0aW9uIGUodCl7cmV0dXJuKyt1LHQmJktjLmUodSksdDt9cC5SZXx8IXQoKT8oaD1YYy5kfHxYYy5nP3FhOmVjLGZ1bmN0aW9uKCl7aXUuWChyaSxncyxpLGd1KTtYYy5vdD8oaXUuWChyaSxlYyxuLGd1KSxpdS5YKHJpLHFhLG4sZ3UpKTppdS5YKHJpLGgsbixndSk7fSgpLHRoaXMuU2koKSx0aGlzLmppKCksdGhpcy5MaSgpLHRoaXMuemkoKSx0aGlzLkJpKCkpOktjLmUoeXUpO2Z1bmN0aW9uIG4odCl7cj1vPWM9cz1hPW11OyFYYy5vdCYmdFtIYytHcitVZV0rKFhjLm50PzE3OjE1KT55W1BhK0dyK2ddP3AuUWUmJigocj17fSkuc2Nyb2xsYmFyPWd1LGYuRWkocix5dSksZi5waSgpfHxmLl9pKCl8fCFmLlBpKCl8fGYuaGkoKSk6aSh0KTt9fSxsaTpmdW5jdGlvbih0KXtpZih0aGlzLlhlLmlpfHx0aGlzLlhlLm5pfHx0aGlzLlhlLnJpKXtyZXR1cm4geXU7fXN3aXRjaCh0Lnl0KXtjYXNlIF91Om5ldyBRYy5tZSh0KS5wZSgpO2JyZWFrO2Nhc2UgZHU6bmV3IFFjLmdlKHQpLnBlKCk7YnJlYWs7Y2FzZSBsdTpuZXcgUWMueWUodCkucGUoKTticmVhaztjYXNlIHB1OnRyeXtuZXcoUWMuZHQoKSkodCkucGUoKTt9Y2F0Y2godCl7S2MuZSh0KTt9fXJldHVybiB0LnF0KCksZ3U7fSxqaTpmdW5jdGlvbigpe3ZhciB0LGUsaSxuLHIsbztuPXRoaXM7cj17fTtvPWZ1bmN0aW9uKHQpe2ZvcihlPTA7ZTx0W3BpXTtlKyspe24uTWkodFtlXSk7fX07Q28oZnVuY3Rpb24oKXt2YXIgZTtmb3IodD0wO3Q8bi5tdC4kZVtwaV07dCsrKXtpZihlPW4ubXQuJGVbdF0sKGk9cmlbYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGUpKVtwaV0mJm4ucGkoKXx8IW4uUGkoKSl7cmV0dXJuO310eXBlb2YgcltlXSE9PWdlJiZyW2VdPT09aVtwaV18fG8oaSk7fX0sMWUzKTt9LElpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbixyLG8scyxlOSxqOSxaOTtvPTI7cz15dTtmb3IoZT0wO2U8PW87ZSsrKXtpZigobj1yaVt3citHcitqbitHcitMY10odFtIYytHcitVZV0rZSx0W0hjK0dyK3hvXSkpJiZuW1NjK0dyK21jXT09PXBhK0dyK09uK0dyK0ZjK0dyK1BzK0dyK3BhKXtzPWd1O2JyZWFrO31mb3IoaT0wO2k8PW87aSsrKWlmKChuPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXStlLHRbSGMrR3IreG9dK2kpKSYmbltTYytHcittY109PT1wYStHcitPbitHcitGYytHcitQcytHcitwYSl7cz1ndTticmVhazt9aWYocylicmVhazt9aWYocylmb3Iocz15dSxyPW5bYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGVpKSxlPTA7ZTxyW3BpXTtlKyspaWYoWmMuVShyW2VdKSl7cz1ndTticmVhazt9ZTk9MTI0NjQ2Mzc5O2o5PTE4ODY4MTA5NztaOT0yO2Zvcih2YXIgVTk9MTt3NS5MMShVOS50b1N0cmluZygpLFU5LnRvU3RyaW5nKCkubGVuZ3RoLDU5MDM1KSE9PWU5O1U5Kyspe3JldHVybiBzP246eXU7WjkrPTI7fWlmKHc1LmQxKFo5LnRvU3RyaW5nKCksWjkudG9TdHJpbmcoKS5sZW5ndGgsNDQ5MzkpIT09ajkpe3JldHVybiBzP246eXU7fX0sRGk6ZnVuY3Rpb24oKXtpZighdGhpcy5YZS5laSl7dGhpcy5YZS5laT1ndTt0cnl7dGhpcy52aSgpO3RoaXMuYmkoKTt9Y2F0Y2godCl7fUtjLmUoW3RoaXMuWGUubmk/MDoxLHRoaXMuWGUucmk/MDoxLHRoaXMuWGUueGldW05pXShHcikpO319LFhlOnt0aTp5dSxuaTpndSxlaTp5dSxvaTowLHJpOmd1LHNpOjAsaWk6eXV9LG5uOmZ1bmN0aW9uKHQsZSxpKXtmb3IodmFyIG4scj0wLG89ZT09PVJuP3RoaXMubXQuSmU6dGhpcy5tdC5xZTtpJiZvW3BpXTspe29bQnNdKCk7fWZvcig7cjx0W3BpXTtyKyspe3R5cGVvZihuPXRbcl0pPT09VGM/b1tNcl0obik6dHlwZW9mIG49PT1hciYmdHlwZW9mIG5bd2ErR3IrbWNdPT09VGMmJm9bTXJdKG4pO31yZXR1cm4gdGhpczt9LEppOmZ1bmN0aW9uKCl7dmFyIHkxLEgxLHYxLHQsZTt5MT0xNzAzNzYyNDUyO0gxPTEyMTk1OTkwMzk7djE9Mjtmb3IodmFyIEUxPTE7dzUuZDEoRTEudG9TdHJpbmcoKSxFMS50b1N0cmluZygpLmxlbmd0aCwzODk3NykhPT15MTtFMSsrKXtlPTY7Zm9yKHRoaXMuZmk9W107ZT49dGhpcy5XZVtwaV07ZS0tKXsodD10aGlzLldlW2VdKS5MdCgpfHx0aGlzLmZpW01yXSh0KTt9djErPTI7fWlmKHc1LmQxKHYxLnRvU3RyaW5nKCksdjEudG9TdHJpbmcoKS5sZW5ndGgsMjE2MzkpIT09SDEpe2U9MTtmb3IodGhpcy5maT1bXTtlPnRoaXMuV2VbcGldO2UrKyl7KHQ9dGhpcy5XZVtlXSkuTHQoKSYmdGhpcy5maVtNcl0odCk7fX1lPTA7Zm9yKHRoaXMuZmk9W107ZTx0aGlzLldlW3BpXTtlKyspeyh0PXRoaXMuV2VbZV0pLkx0KCkmJnRoaXMuZmlbTXJdKHQpO31yZXR1cm4gdGhpcy5maTt9LGRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2kudWk7fX07aXUuWCh5LFN0LGZ1bmN0aW9uKCl7dmFyIFg3LEI3LFM3O1g3PTIwMTA5MDA5MDY7Qjc9LTE2OTQwNjQ1NTI7Uzc9Mjtmb3IodmFyIGE3PTE7dzUuTDEoYTcudG9TdHJpbmcoKSxhNy50b1N0cmluZygpLmxlbmd0aCwxNDk3OSkhPT1YNzthNysrKXtFdT0hMTtTNys9Mjt9aWYodzUuZDEoUzcudG9TdHJpbmcoKSxTNy50b1N0cmluZygpLmxlbmd0aCw2MjI0OCkhPT1CNyl7RXU9IXt9O31FdT1vNTt9KTtpbyhmdW5jdGlvbigpe3c1Lm80KDE1KTtLYy5lKHc1LnU0KFNpLFllLEdyLFR0LFllLE0sR3IsWWUsUWUsT3QsQW8pKTt3NS5vNCg0KTtLYy5lKHc1LmM0KHhhLFZ0LEdyKSxvdSk7dzUuWTQoNCk7S2MuZSh3NS5jNChxaSxWdCxHciksc3UpO3c1Lm80KDQpO0tjLmUodzUudTQoRXMsVnQsR3IpLGF1KTt9LDEwKTt5W3J1XT15W3J1XXx8ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG87cj17fTtvPVpjLnAoW1trbytHcitSYStHcitudCxbR2MsR2MuaV1dLFtKbixzdV0sW0d0LG91XSxbWW8rR3IraXMsYXVdLFt6YSxbR2MsR2MuWGkscl1dLFthYStHcitJaSxbR2MsR2MuWmldXSxbYWErR3IrUStHcitiYSxbR2MsR2MuWWldXSxbYWErR3IrX28rR3IrYmEsW0djLEdjLktpXV0sW3crR3IrQ24sW0djLEdjLk1pXV0sW0huLFtHYyxHYy5lbixyXV0sW0duLFtHYyxHYy5oaSxyXV0sW2VzLFtHYyxHYy5HaSxyXV0sW2xjK0dyK2JhLFtHYyxHYy5xZSxyXV0sW1JuK0dyK2JhLFtHYyxHYy5KZSxyXV0sW2FhK0dyK2h0K0dyK0NuLFtHYyxHYy53ZV1dLFthYStHcitubitHcitabyxbR2MsR2MuJGldXSxbYWErR3IreWUrR3IrWm8sW0djLEdjLlZpXV0sW0JhK0dyK3llLFtHYyxHYy5QaV1dLFtrbytHcitkdCtHcitKZSxbR2MsR2MucGldXSxbYWErR3IrVXQrR3IramUrR3IrQmksW0djLEdjLlFpXV0sW2FhK0dyK1V0K0dyK0NhLFtHYyxHYy5kaV1dLFt6aSxbR2MsR2MuTmldXSxbYWErR3IrXyxbR2MsR2MuVWldXSxbRm8rR3IrXyxbR2MsR2MuUmldXSxbaGErVHQrT28sW0tjLEtjLmVdXSxbaGErVHQrRyxbS2MsS2Mucl1dLFtPYStUdCtsaSxbdHUsdHUuYV1dLFtPYStUdCthYSxbdHUsdHUuY11dLFtPYStUdCt4bixbdHUsdHUudV1dLFt0aStUdCtrbytHcitkaSxbZXUsZXUuc11dLFt0aStUdCtsaSxbZXUsZXUuYV1dLFt0aStUdCthYSxbZXUsZXUuY11dLFt0aStUdCt4bixbZXUsZXUudV1dLFtjZStUdCtKbixYYy5wdF0sW2NlK1R0K0lyK0dyK3FpLFhjLmZ0XSxbY2UrVHQra28rR3IrQ3MsWGMuaXRdLFtjZStUdCtrbytHcitYbyxYYy5udF0sW2NlK1R0K2tvK0dyK01hLFhjLm1dLFtjZStUdCtrbytHcit2YStHcitmYytHcit0YyxYYy5ldF0sW2NlK1R0K2tvK0dyK0JuLFhjLnJ0XSxbY2UrVHQra28rR3Irdm4sWGMub3RdLFtjZStUdCtrbytHcitoZSxYYy5zdF0sW2NlK1R0K2tvK0dyK3l0LFhjLmF0XSxbY2UrVHQra28rR3IrZ2MsWGMuYl0sW2NlK1R0K2tvK0dyK0luLFhjLmRdLFtjZStUdCtrbytHcitGYSxYYy5odF0sW2NlK1R0K2tvK0dyK3ZhK0dyK1BzLFhjLmddLFtjZStUdCtrbytHcitjcyxYYy5jdF0sW2NlK1R0K2tvK0dyK0VvLFhjLnV0XSxbY2UrVHQrSm4rR3IrdXQsW1hjLFhjLkpdXSxbY2UrVHQrYW8rR3IrZGksW1hjLFhjLmx0XV0sW0NhK1R0K2xjK0dyK3FzLFtpdSxpdS5LXV0sW0NhK1R0K2xjLFtpdSxpdS5YXV0sW0NhK1R0K2xhLFtpdSxpdS5aXV0sW0NhK1R0K2FhK0dyK3luLFtpdSxpdS50dF1dLFtLZStUdCtrbytHcit2ZStHciskZSxbWmMsWmMud11dLFtLZStUdCtKbitHcit1dCxbWmMsWmMuSl1dLFtLZStUdCtvcyxbWmMsWmMuR11dLFtLZStUdCt3byxbWmMsWmMueV1dLFtLZStUdCtKaSxbWmMsWmMuJF1dLFtLZStUdCtVcytHcitDbixbWmMsWmMuel1dLFtLZStUdCt4bitHcitDbixbWmMsWmMuUF1dLFtLZStUdCthYStHcitVaSxbWmMsWmMuQl1dLFtLZStUdCtEZStHcitZaSxbWmMsWmMuSF1dXSk7Zm9yKGUgaW4gbylpZih5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShvLGUpKXtmb3Iobj1lW0NyXShHcitUdCtHciksdD1yLGk9MDtpPG5bcGldLTE7aSsrKXt0eXBlb2YgdFtuW2ldXT09PWdlJiYodFtuW2ldXT17fSk7dD10W25baV1dO310W25bbltwaV0tMV1dPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIFpjLngodFtlXSk/MT09PXRbZV1bcGldP3RbZV1bMF06ZnVuY3Rpb24oKXtyZXR1cm4gMj09PXRbZV1bcGldP3RbZV1bMV1bb2FdKHRbZV1bMF0sYXJndW1lbnRzKToodFtlXVsxXVtvYV0odFtlXVswXSxhcmd1bWVudHMpLHRbZV1bMl0pO306dFtlXTt9KG8sZSk7fXJldHVybiByO30oKTt9KHQucG9wbnN8fHpjK0dyK1VjK0dyK09jLHQsdFtFaV0sdFtPaV0sdFttcl0sdFtyb10sdFtibl0sdFtObl0sdFtDb10sdFtyaStHcitpb10sdFtsaStHcitZaV0sdFtNaStHcitZaV0sdFtsaStHcitBaV0sdFtNaStHcitBaV0sdFtMdCtHcit0YytHcitmYytHcitndF0sdFt5K0dyK1J0XSx0W2tvK0dyK3lpK0dyK2d0XSx0W2lzXSx0W1hlK0dyK1ZyK0dyK0dzK0dyK3ZhK0dyK1VyXSx0W2RyXSk7fSh3aW5kb3cpO2Y1eXkuSD1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC55PT09J2Z1bmN0aW9uJz9mNXl5LkwueS5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwueTt9O2Y1eXkuVz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Y1eXkuZz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC5PPT09J2Z1bmN0aW9uJz9mNXl5LkwuTy5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwuTzt9O2Y1eXkuZj1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Z1bmN0aW9uIGY1eXkoKXt9ZjV5eS5CPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5MLnk9PT0nZnVuY3Rpb24nP2Y1eXkuTC55LmFwcGx5KGY1eXkuTCxhcmd1bWVudHMpOmY1eXkuTC55O307ZjV5eS5SPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5JPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5MPWZ1bmN0aW9uKEQpe3JldHVybnt5OmZ1bmN0aW9uKCl7dmFyIEcsZD1hcmd1bWVudHM7c3dpdGNoKEQpe2Nhc2UgMjpHPWRbMF0qZFsxXTticmVhaztjYXNlIDA6Rz1kWzBdfGRbMV07YnJlYWs7Y2FzZSAxOkc9ZFsxXS1kWzBdO2JyZWFrO31yZXR1cm4gRzt9LE86ZnVuY3Rpb24oVil7RD1WO319O30oKTtmNXl5Lno9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiBmNXl5LkwuTz09PSdmdW5jdGlvbic/ZjV5eS5MLk8uYXBwbHkoZjV5eS5MLGFyZ3VtZW50cyk6ZjV5eS5MLk87fTtmNXl5LkM9ZnVuY3Rpb24oKXt2YXIgUT0yO3doaWxlKFEhPT0xKXtzd2l0Y2goUSl7Y2FzZSAyOnJldHVybnt2OmZ1bmN0aW9uKFUpe3ZhciBiPTI7d2hpbGUoYiE9PTE0KXtzd2l0Y2goYil7Y2FzZSAyOnZhciBLPScnLGw9ZGVjb2RlVVJJKCJ0JTExa2JsYyU3RCUwNmhiZGxtbDYhJTNDJTNDKyU1QmNkLTo1JTVENyg4Jy8lNUJ3LzI4bWolM0M4KTA3YiolMUMyJTI1bSUwN3ElN0RvYmslMTh3JTdDc2RtaDcpKSUyMipaMmQlMTgtNUErKS5vbXMlMTUlMjUlM0UwKyU1QiUzQyUxMXUlMjA2TXk/KScsSy1kJTNFOSxLMi00OyUyMCUwNjojMCU3RDUlNUM6IzMya0s2IXU5Kks4JTIwNTo2JTVDcSUxRiUzRScsWC1sMCUyMDYlNUN5Ljh1KUc4KDgxZUolM0MqMiclMjAlMDg1JTI1JTNFMCslNUIlM0NsOyUzQylNcWIxOiZJNSIpO2I9MTticmVhaztjYXNlIDk6Sys9U3RyaW5nLmZyb21DaGFyQ29kZShsLmNoYXJDb2RlQXQoWSleVS5jaGFyQ29kZUF0KGspKTtiPTg7YnJlYWs7Y2FzZSAxOnZhciBZPTAsaz0wO2I9NTticmVhaztjYXNlIDU6Yj1ZPGwubGVuZ3RoPzQ6NzticmVhaztjYXNlIDM6az0wO2I9OTticmVhaztjYXNlIDg6WSsrLGsrKztiPTU7YnJlYWs7Y2FzZSA0OmI9az09PVUubGVuZ3RoPzM6OTticmVhaztjYXNlIDc6Sz1LLnNwbGl0KCcoJyk7cmV0dXJuIGZ1bmN0aW9uKFApe3ZhciBoPTI7d2hpbGUoaCE9PTEpe3N3aXRjaChoKXtjYXNlIDI6cmV0dXJuIEtbUF07YnJlYWs7fX19O2JyZWFrO319fSgnRShZTF1VJyl9O2JyZWFrO319fSgpOyFmdW5jdGlvbihlLG8sYyl7InVzZSBzdHJpY3QiO3ZhciBUPWY1eXk7dmFyIGksbix0O1QuZygwKTtpPVQuUihULkgoIjgiLDApKTtULnooMCk7bj1bVC5JKFQuSCgnXHgzMVx4MzAnLDApKSxULkkoKyI2IiksVC5SKCsnXHgzMVx4MzQnKSxULlIoKyIxMiIpLFQuUihULkgoIjUiLDAsVC5nKDApKSksVC5JKFQuQigwLCdceDMwJyxULnooMSkpKSxULlIoVC5CKCdceDMxXHgzMScsMCxULnooMCkpKSxULkkoKyIyIildO1QuZygyKTt0PVsrJ1x4MzJceDMwXHgzMVx4MzknLFQuQignXHUwMDM1JywxKSxULkgoJ1x4MzFceDM2JywwLFQuZygwKSldO3RyeXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yy5Mb2dnZXIubG9nKGksVC5SKCsnXHgzMScpLG4pO2MuTG9nZ2VyLmxvZyhpLFQuUigiNyItMCksdC5qb2luKFQuSSgnXHgzNCctMCkpKTt9LCsiNTAwIik7VC56KDEpO2Mub2JqZWN0PVtuLFsrIjM2MCIsNDk0LDM5MSwrIjMxMiIsVC5CKDAsIjMxMiIpLFQuSCgiMzY1IiwwLFQuZygwKSksKydceDM0XHgzMFx4MzQnLFQuSCgiMzAwIiwwLFQuZygwKSksKydceDMzXHgzNlx4MzBceDMwXHgzMScsVC5IKDAsJ1x4MzNceDM5XHgzNVx4MzJceDMyJyxULmcoMSkpLFQuQigiMTg3NzEiLDAsVC56KDApKSwrIjM0OTQ4IiwxNjU0MSwyOTU3MSwrJ1x4MzVceDMxXHgzN1x4MzFceDM5JywzMzkwOCxULkgoIjc4ODQwIiwwLFQuZygwKSksMTA1OTY0LCsnXHgzOFx4MzRceDM1XHgzNVx4MzUnLFQuSCgiNzI0MjYiLDAsVC5nKDApKSxULkgoJ1x4MzNceDMwXHgzNVx4MzlceDM5JywwLFQuZygwKSksVC5CKCdcdTAwMzRcdTAwMzFcdTAwMzZcdTAwMzJcdTAwMzYnLDAsVC5nKDApKSxULkIoMCwnXHUwMDM4XHUwMDM4XHUwMDMwXHUwMDM4XHUwMDM0JyxULnooMSkpLFQuSCgiNjU0MDkiLDEsVC5nKDIpKSwxNDQwMCxULkgoIjEyODQ0IiwxLFQueigyKSksKydceDM4XHgzNlx4MzBceDMyJyxULkgoJ1x4MzFceDMwXHgzOVx4MzJceDMwJywxLFQuZygyKSksMTM0MTYsVC5IKCdceDMyXHgzNFx4MzhceDMyXHgzMCcsMCxULmcoMCkpLFQuQignXHgzM1x4MzdceDM5XHgzN1x4MzYnLDAsVC56KDApKSwrJ1x4MzVceDMxXHg2NVx4MzMnXSx0LFtULkgoJ1x4MzNceDM2XHgzMicsMCxULmcoMCkpLDQ5NiwrJ1x4MzNceDM5XHgzOScsVC5IKDAsIjczMDkyMyIsVC5nKDEpKSwrJ1x1MDAzMlx1MDAzNVx1MDAzMVx1MDAzMicsVC5IKCI2Mzk4IiwwLFQueigwKSksVC5IKCdcdTAwMzRcdTAwMzFcdTAwMzFcdTAwMzlcdTAwMzFcdTAwMzJcdTAwMzInLDEsVC5nKDIpKSwrJ1x4MzFceDMxXHgzMVx4MzlceDMyJyxULkgoJ1x4MzNceDM0XHgzMlx4MzNceDM2JywwLFQueigwKSksMjQ2MSwzMjU1NywxMDIxMF0sby5jdXJyZW50U2NyaXB0LFQuSCgiMSIsMSxULmcoMikpXTt9Y2F0Y2gobyl7dm9pZCgnXHgzMCcqMSkhPT1lLmNvbnNvbGUmJmUuY29uc29sZS5sb2cmJkZ1bmN0aW9uLmFwcGx5LmNhbGwoZS5jb25zb2xlLmxvZyxlLmNvbnNvbGUsW1QuSSgnXHgzMVx4MzMnfDApXSk7fX0od2luZG93LGRvY3VtZW50LHdpbmRvd1t3aW5kb3cucG9wbnN8fGY1eXkuUigiMyItMCldKTt2YXIgXzB4MTM4Zj1bJ1x4NThceDQ4XHg2M1x4NzInLCdceDQ5XHg1NFx4NDVceDZmXHg2NFx4NDNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NmNceDUwXHg1NFx4NDVceDZmXHg1YVx4NTNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NzVceDUwXHg1OFx4NTFceDc1XHg2Mlx4NzlceDY3XHg2OVx4NjJceDUzXHg0OVx4NzBceDRmXHg3YVx4NTlceDY3XHg2Mlx4NjlceDM0XHg3OVx4NGNceDZkXHg3N1x4MzlceDQ5XHg2ZFx4NzNceDY5XHg0Y1x4NDdceDM0XHg3NVx4NGRceDY5XHgzNVx4NzdceDUwXHg1NFx4NDFceDczXHg2Mlx4NjlceDM0XHg3OVx4NGNceDZlXHg0NVx4MzlceDRkXHg0M1x4NzhceDc1XHg0Y1x4NmFceDQ5XHg3NVx4NjRceDdhXHgzMFx4NjlceDYxXHg2OVx4NDlceDczXHg2Mlx4NjlceDM1XHgzMVx4NTBceDUzXHg0OVx4MzNceDRmXHg2OVx4MzhceDc2XHg2M1x4NjlceDM1XHgzNFx4NGNceDZhXHg1NVx4NzZceDYxXHg0M1x4MzlceDY4XHg0Y1x4NzlceDQ5XHg3Mlx4NWFceDUzXHg3OFx4MzBceDRjXHg2ZFx4NDlceDc1XHg2MVx4NTNceDY4XHg3NVx4NGJceDUzXHg3OFx4NzVceDY2XHg1M1x4NzhceDc1XHg1MFx4NTdceDRkXHg2Zlx4NWFceDc5XHg2N1x4NmZceDY0XHg0M1x4MzVceDZiXHg0Y1x4NmVceDU5XHg2Zlx4NTFceDY5XHg0Mlx4NGZceDRiXHg0M1x4NDlceDZmXHg0ZVx4N2FceDM5XHgzOFx4NTNceDY5XHgzMVx4MzVceDRiXHg1NFx4NzBceDYzXHg1OFx4NDNceDM5XHg2M1x4NThceDQzXHgzOFx4NjlceDRiXHg1M1x4NzdceDY5XHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDRjXHg3OVx4NDlceDcwXHg1N1x4N2FceDQyXHg2NFx4NjZceDQ4XHg3N1x4NjlceDUzXHg3OVx4MzRceDMxXHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDQ5XHg2OVx4NmJceDc1XHg1NFx4NDNceDY3XHg3OFx4NGJceDQ4XHg1MVx4NzBceDY1XHg3YVx4NTlceDY3XHg2NFx4NDNceDM1XHg0ZVx4NGJceDQ0XHg0MVx4NzBceDRjXHg2Ylx4NjNceDZmXHg1M1x4NDNceDZjXHgzOVx4NGJceDUzXHgzNVx4NDJceDRiXHg0M1x4NDlceDY5XHg0Ylx4NTNceDZiXHg3MFx4NGZceDMzXHg2Zlx4NzVceDRlXHg0M1x4NjdceDY5XHg1MVx4NzlceDQ5XHg3M1x4NGRceDUzXHg2N1x4NzBceDY1XHgzMlx4NTVceDZmXHg2Mlx4NjlceDczXHg2OVx4NGNceDMyXHg1OVx4NzVceDRmXHg1M1x4NDlceDcwXHg0Y1x4NmFceDUxXHg2Zlx4NDlceDZiXHg1MVx4NjlceDRjXHg0NFx4NDVceDZmXHg0Ylx4NThceDc0XHg0N1x4NGJceDQ0XHg0NVx4NmZceDRiXHg1OFx4NzRceDZjXHg0Ylx4NDdceDM0XHg3Mlx4NDlceDY5XHgzOVx4N2FceDRjXHg2YVx4NmJceDY5XHg0Ylx4NThceDMwXHg3M1x4NTJceDUzXHg2Y1x4MzlceDRiXHg1OFx4MzBceDcwXHg2Nlx4NTNceDY4XHg0YVx4NGJceDU0XHg3M1x4M2QnLCdceDYzXHgzM1x4NDJceDczXHg2MVx4NThceDUxXHgzZCcsJ1x4NWFceDZlXHg0YVx4NzZceDYyXHg1NVx4NGVceDZmXHg1OVx4NThceDRhXHg0NFx4NjJceDMyXHg1Mlx4NmMnLCdceDY0XHg0N1x4MzlceDU0XHg2NFx4NDhceDRhXHg3MFx4NjJceDZkXHg2M1x4M2QnLCdceDYzXHg2ZFx4NTZceDc3XHg2Mlx4NDdceDQ2XHg2YVx4NWFceDUxXHgzZFx4M2QnXTsoZnVuY3Rpb24oXzB4MWI1OWFjLF8weDMwZDYwNSl7dmFyIF8weDQ0NTljOT1mdW5jdGlvbihfMHgxNDY4YWMpe3doaWxlKC0tXzB4MTQ2OGFjKXtfMHgxYjU5YWNbJ3B1c2gnXShfMHgxYjU5YWNbJ3NoaWZ0J10oKSk7fX07XzB4NDQ1OWM5KCsrXzB4MzBkNjA1KTt9KF8weDEzOGYsMHgxMGIpKTt2YXIgXzB4MTdjMT1mdW5jdGlvbihfMHgxOTc3ZGIsXzB4Yzc5ZjY5KXtfMHgxOTc3ZGI9XzB4MTk3N2RiLTB4MDt2YXIgXzB4MTYyZGYyPV8weDEzOGZbXzB4MTk3N2RiXTtpZihfMHgxN2MxWydPTXJTcXgnXT09PXVuZGVmaW5lZCl7KGZ1bmN0aW9uKCl7dmFyIF8weDI0NzE2Njt0cnl7dmFyIF8weDViZDYyOT1GdW5jdGlvbigncmV0dXJuXHgyMChmdW5jdGlvbigpXHgyMCcrJ3t9LmNvbnN0cnVjdG9yKFx4MjJyZXR1cm5ceDIwdGhpc1x4MjIpKFx4MjApJysnKTsnKTtfMHgyNDcxNjY9XzB4NWJkNjI5KCk7fWNhdGNoKF8weDMyOTViMCl7XzB4MjQ3MTY2PXdpbmRvdzt9dmFyIF8weDI4M2NlOT0nQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0nO18weDI0NzE2NlsnYXRvYiddfHwoXzB4MjQ3MTY2WydhdG9iJ109ZnVuY3Rpb24oXzB4MzQxYjE5KXt2YXIgXzB4MTQ0Zjk2PVN0cmluZyhfMHgzNDFiMTkpWydyZXBsYWNlJ10oLz0rJC8sJycpO2Zvcih2YXIgXzB4MjhhNzVlPTB4MCxfMHg1OWNiNWIsXzB4MWUwOTNkLF8weDUxZWZhNj0weDAsXzB4OTIyYWFjPScnO18weDFlMDkzZD1fMHgxNDRmOTZbJ2NoYXJBdCddKF8weDUxZWZhNisrKTt+XzB4MWUwOTNkJiYoXzB4NTljYjViPV8weDI4YTc1ZSUweDQ/XzB4NTljYjViKjB4NDArXzB4MWUwOTNkOl8weDFlMDkzZCxfMHgyOGE3NWUrKyUweDQpP18weDkyMmFhYys9U3RyaW5nWydmcm9tQ2hhckNvZGUnXSgweGZmJl8weDU5Y2I1Yj4+KC0weDIqXzB4MjhhNzVlJjB4NikpOjB4MCl7XzB4MWUwOTNkPV8weDI4M2NlOVsnaW5kZXhPZiddKF8weDFlMDkzZCk7fXJldHVybiBfMHg5MjJhYWM7fSk7fSgpKTtfMHgxN2MxWyd4anFrREYnXT1mdW5jdGlvbihfMHgzMzc3MTgpe3ZhciBfMHg1ZGRiMTU9YXRvYihfMHgzMzc3MTgpO3ZhciBfMHg1NjBiOTU9W107Zm9yKHZhciBfMHhjOTdmOTE9MHgwLF8weDQ0MTg3Mj1fMHg1ZGRiMTVbJ2xlbmd0aCddO18weGM5N2Y5MTxfMHg0NDE4NzI7XzB4Yzk3ZjkxKyspe18weDU2MGI5NSs9JyUnKygnMDAnK18weDVkZGIxNVsnY2hhckNvZGVBdCddKF8weGM5N2Y5MSlbJ3RvU3RyaW5nJ10oMHgxMCkpWydzbGljZSddKC0weDIpO31yZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KF8weDU2MGI5NSk7fTtfMHgxN2MxWydrRG1IU2snXT17fTtfMHgxN2MxWydPTXJTcXgnXT0hIVtdO312YXIgXzB4MzA2NDA1PV8weDE3YzFbJ2tEbUhTayddW18weDE5NzdkYl07aWYoXzB4MzA2NDA1PT09dW5kZWZpbmVkKXtfMHgxNjJkZjI9XzB4MTdjMVsneGpxa0RGJ10oXzB4MTYyZGYyKTtfMHgxN2MxWydrRG1IU2snXVtfMHgxOTc3ZGJdPV8weDE2MmRmMjt9ZWxzZXtfMHgxNjJkZjI9XzB4MzA2NDA1O31yZXR1cm4gXzB4MTYyZGYyO307ZXZhbChmdW5jdGlvbihfMHg0OWIyZTksXzB4MTA2OTM1LF8weDIyM2Q1NixfMHgyZmY2ZTksXzB4ZWQ3ZDI2LF8weDNiYzUwMCl7XzB4ZWQ3ZDI2PWZ1bmN0aW9uKF8weDI2YmI4Mil7cmV0dXJuKF8weDI2YmI4MjxfMHgxMDY5MzU/Jyc6XzB4ZWQ3ZDI2KHBhcnNlSW50KF8weDI2YmI4Mi9fMHgxMDY5MzUpKSkrKChfMHgyNmJiODI9XzB4MjZiYjgyJV8weDEwNjkzNSk+MHgyMz9TdHJpbmdbXzB4MTdjMSgnMHgwJyldKF8weDI2YmI4MisweDFkKTpfMHgyNmJiODJbXzB4MTdjMSgnMHgxJyldKDB4MjQpKTt9O2lmKCEnJ1tfMHgxN2MxKCcweDInKV0oL14vLFN0cmluZykpe3doaWxlKF8weDIyM2Q1Ni0tKXtfMHgzYmM1MDBbXzB4ZWQ3ZDI2KF8weDIyM2Q1NildPV8weDJmZjZlOVtfMHgyMjNkNTZdfHxfMHhlZDdkMjYoXzB4MjIzZDU2KTt9XzB4MmZmNmU5PVtmdW5jdGlvbihfMHgzMjA3ZjYpe3JldHVybiBfMHgzYmM1MDBbXzB4MzIwN2Y2XTt9XTtfMHhlZDdkMjY9ZnVuY3Rpb24oKXtyZXR1cm4gXzB4MTdjMSgnMHgzJyk7fTtfMHgyMjNkNTY9MHgxO307d2hpbGUoXzB4MjIzZDU2LS0pe2lmKF8weDJmZjZlOVtfMHgyMjNkNTZdKXtfMHg0OWIyZTk9XzB4NDliMmU5W18weDE3YzEoJzB4MicpXShuZXcgUmVnRXhwKCdceDVjXHg2MicrXzB4ZWQ3ZDI2KF8weDIyM2Q1NikrJ1x4NWNceDYyJywnXHg2NycpLF8weDJmZjZlOVtfMHgyMjNkNTZdKTt9fXJldHVybiBfMHg0OWIyZTk7fShfMHgxN2MxKCcweDQnKSwweDMyLDB4MzIsJ1x4N2NceDY2XHg3NVx4NmVceDYzXHg3NFx4NjlceDZmXHg2ZVx4N2NceDczXHg3NFx4NzlceDZjXHg2NVx4N2NceDczXHg3MFx4NmNceDY5XHg3NFx4N2NceDYxXHg2NFx4NjRceDQ1XHg3Nlx4NjVceDZlXHg3NFx4NGNceDY5XHg3M1x4NzRceDY1XHg2ZVx4NjVceDcyXHg3Y1x4NjNceDZmXHg2ZFx4N2NceDcyXHg2NVx4NzRceDc1XHg3Mlx4NmVceDdjXHg2OFx4NzRceDc0XHg3MFx4NzNceDdjXHg3Nlx4NjFceDcyXHg3Y1x4NzBceDZlXHg2N1x4N2NceDcwXHg3NFx4N2NceDYyXHg2Zlx4NjRceDc5XHg3Y1x4NjVceDZlXHg2M1x4NmZceDY0XHg2NVx4NTVceDUyXHg0OVx4NDNceDZmXHg2ZFx4NzBceDZmXHg2ZVx4NjVceDZlXHg3NFx4N2NceDcyXHg2NVx4NjZceDY1XHg3Mlx4NzJceDY1XHg3Mlx4N2NceDdjXHg3Y1x4NjJceDc0XHg2Zlx4NjFceDdjXHg3Nlx4MzFceDdjXHg2MVx4NzBceDcwXHg2NVx4NmVceDY0XHg0M1x4NjhceDY5XHg2Y1x4NjRceDdjXHg2ZVx4NmZceDZlXHg2NVx4N2NceDYxXHg2Mlx4NzNceDZmXHg2Y1x4NzVceDc0XHg2NVx4N2NceDcwXHg2Zlx4NzNceDY5XHg3NFx4NjlceDZmXHg2ZVx4N2NceDY5XHg2ZFx4NjdceDdjXHg3Y1x4NjNceDcyXHg2NVx4NjFceDc0XHg2NVx4NDVceDZjXHg2NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg3NFx4NmZceDcwXHg3Y1x4NmNceDY1XHg2Nlx4NzRceDdjXHg2MVx4NzBceDY5XHg3Y1x4N2NceDdjXHg3M1x4NzJceDYzXHg3Y1x4NzJceDY1XHg3MFx4NmNceDYxXHg2M1x4NjVceDdjXHg3MFx4NmZceDY5XHg2ZVx4NzRceDY1XHg3Mlx4NDVceDc2XHg2NVx4NmVceDc0XHg3M1x4N2NceDYzXHg2Y1x4NjlceDYzXHg2Ylx4NjFceDY5XHg2ZVx4NjVceDdjXHg2MVx4NzBceDcwXHg3Y1x4NzdceDY5XHg2ZVx4NjRceDZmXHg3N1x4N2NceDZhXHg2Zlx4NjlceDZlXHg3Y1x4NmVceDY1XHg3N1x4N2NceDQ0XHg0Zlx4NGRceDQzXHg2Zlx4NmVceDc0XHg2NVx4NmVceDc0XHg0Y1x4NmZceDYxXHg2NFx4NjVceDY0XHg3Y1x4NmNceDZmXHg2MVx4NjRceDdjXHgzNVx4NjVceDMzXHg3Y1x4NzNceDY1XHg3NFx4NTRceDY5XHg2ZFx4NjVceDZmXHg3NVx4NzRceDdjXHg3NFx4NmZceDUzXHg3NFx4NzJceDY5XHg2ZVx4NjdceDdjXHgzMVx4MzZceDdjXHg2NFx4NmZceDYzXHg3NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg2MVx4NmVceDY0XHg3Mlx4NmZceDY5XHg2NFx4N2NceDY0XHg2Zlx4NzRceDdjXHg2ZFx4NjFceDcwXHg3Y1x4NjNceDY4XHg2MVx4NzJceDQzXHg2Zlx4NjRceDY1XHg0MVx4NzRceDdjXHg1Mlx4NjVceDY3XHg0NVx4NzhceDcwJ1tfMHgxN2MxKCcweDUnKV0oJ1x4N2MnKSwweDAse30pKTsKO3ZhciBjSVBvcCA9IGZ1bmN0aW9uIGNJUG9wKHVybCkgewoJCWNQb3AuY29uZmlnKHsKCQkJY292ZXJUYWdzOiBbJ3ZpZGVvJywgJ2lmcmFtZSddLAoJCQl0YWJVbmRlcklnbm9yZVRhcmdldEJsYW5rOiB0cnVlLAoJCQlkZWxheTogMTAwCgkJfSk7CgkJY1BvcC5hZGQodXJsLCB7CgkJCW5ld1RhYjogdHJ1ZSwKCQkJdW5kZXI6IHRydWUsCgkJCWNvb2tpZUV4cGlyZXM6IDEwMH0pfTs=(Line 1)
Message:
console.clear
console-api log URL: https://tpmedia-reactads.com/reactAds-script.js(Line 2)
Message:
[object HTMLDivElement]
console-api log URL: https://tpmedia-reactads.com/reactAds-script.js(Line 2)
Message:
console.clear
console-api log URL: data:text/plain;base64,d2luZG93LnBvcG5zID0gJ2NQb3AnO3Y3R0cuYzQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmU0PT09J2Z1bmN0aW9uJz92N0dHLlo0LmU0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmU0O307djdHRy5pMT1mdW5jdGlvbigpe3ZhciBxMT1mdW5jdGlvbihJMSxLMSl7dmFyIEExPUsxJjB4ZmZmZjt2YXIgcjE9SzEtQTE7cmV0dXJuKHIxKkkxfDApKyhBMSpJMXwwKXwwO30sbTE9ZnVuY3Rpb24oajEsVTEsaDEpe3ZhciB4MT0weGNjOWUyZDUxLHoxPTB4MWI4NzM1OTM7dmFyIGUxPWgxO3ZhciB0MT1VMSZ+MHgzO2Zvcih2YXIgWjE9MDtaMTx0MTtaMSs9NCl7dmFyIFExPWoxLmNoYXJDb2RlQXQoWjEpJjB4ZmZ8KGoxLmNoYXJDb2RlQXQoWjErMSkmMHhmZik8PDh8KGoxLmNoYXJDb2RlQXQoWjErMikmMHhmZik8PDE2fChqMS5jaGFyQ29kZUF0KFoxKzMpJjB4ZmYpPDwyNDtRMT1xMShRMSx4MSk7UTE9KFExJjB4MWZmZmYpPDwxNXxRMT4+PjE3O1ExPXExKFExLHoxKTtlMV49UTE7ZTE9KGUxJjB4N2ZmZmYpPDwxM3xlMT4+PjE5O2UxPWUxKjUrMHhlNjU0NmI2NHwwO31RMT0wO3N3aXRjaChVMSU0KXtjYXNlIDM6UTE9KGoxLmNoYXJDb2RlQXQodDErMikmMHhmZik8PDE2O2Nhc2UgMjpRMXw9KGoxLmNoYXJDb2RlQXQodDErMSkmMHhmZik8PDg7Y2FzZSAxOlExfD1qMS5jaGFyQ29kZUF0KHQxKSYweGZmO1ExPXExKFExLHgxKTtRMT0oUTEmMHgxZmZmZik8PDE1fFExPj4+MTc7UTE9cTEoUTEsejEpO2UxXj1RMTt9ZTFePVUxO2UxXj1lMT4+PjE2O2UxPXExKGUxLDB4ODVlYmNhNmIpO2UxXj1lMT4+PjEzO2UxPXExKGUxLDB4YzJiMmFlMzUpO2UxXj1lMT4+PjE2O3JldHVybiBlMTt9O3JldHVybntiMTptMX07fSgpO3Y3R0cuRDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LkM2PT09J2Z1bmN0aW9uJz92N0dHLlo0LkM2LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LkM2O307djdHRy5MMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLlo2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5DNj09PSdmdW5jdGlvbic/djdHRy5nNi5DNi5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5DNjt9O3Y3R0cuWjQ9ZnVuY3Rpb24oQTQpe3JldHVybntlNDpmdW5jdGlvbigpe3ZhciBTNCxsND1hcmd1bWVudHM7c3dpdGNoKEE0KXtjYXNlIDI6UzQ9bDRbMF0rbDRbMV07YnJlYWs7Y2FzZSAyMjpTND1sNFsyXStsNFswXS1sNFsxXTticmVhaztjYXNlIDc6UzQ9bDRbNF0rbDRbMTBdK2w0WzExXStsNFszXSsobDRbNl0rbDRbMV0rbDRbNV0rbDRbOV0rbDRbMl0rbDRbMF0rbDRbOF0pK2w0WzddO2JyZWFrO2Nhc2UgNjpTND1sNFsyXS9sNFswXS9sNFsxXTticmVhaztjYXNlIDE3OlM0PWw0WzZdK2w0WzFdK2w0WzBdK2w0WzRdK2w0WzVdK2w0WzJdK2w0WzNdO2JyZWFrO2Nhc2UgMTpTND1sNFszXStsNFs0XStsNFsyXStsNFsxXStsNFswXTticmVhaztjYXNlIDM6UzQ9bDRbMV0rKGw0WzNdK2w0WzVdK2w0WzBdK2w0WzRdK2w0WzJdKTticmVhaztjYXNlIDExOlM0PWw0WzFdPGw0WzBdO2JyZWFrO2Nhc2UgOTpTND1sNFswXT4tbDRbMV07YnJlYWs7Y2FzZSA0OlM0PWw0WzBdK2w0WzFdK2w0WzJdO2JyZWFrO2Nhc2UgODpTND1sNFswXT09PWw0WzFdO2JyZWFrO2Nhc2UgMTQ6UzQ9bDRbMF0rbDRbNF0rbDRbN10rbDRbMl0rbDRbNV0rbDRbM10rbDRbMV0rbDRbNl0rbDRbOF07YnJlYWs7Y2FzZSAyMTpTND1sNFswXSVsNFsyXS1sNFsxXTticmVhaztjYXNlIDEyOlM0PWw0WzVdK2w0WzJdK2w0WzZdK2w0WzBdKyhsNFs0XStsNFszXStsNFsxXSk7YnJlYWs7Y2FzZSAxNjpTND1sNFswXStsNFsyXTxsNFsxXTticmVhaztjYXNlIDIwOlM0PWw0WzFdJWw0WzJdKmw0WzBdO2JyZWFrO2Nhc2UgNTpTND1sNFs1XSsobDRbMTNdK2w0WzNdK2w0WzddK2w0WzEyXStsNFs2XStsNFs0XStsNFsyXStsNFswXStsNFsxMF0rbDRbOF0rbDRbMTFdK2w0WzldK2w0WzFdKTticmVhaztjYXNlIDA6UzQ9bDRbOV0rbDRbOF0rbDRbMl0rbDRbMTNdK2w0WzNdK2w0WzRdK2w0WzFdK2w0WzBdK2w0WzddK2w0WzExXStsNFsxMF0rbDRbNl0rbDRbNV0rbDRbMTRdK2w0WzEyXTticmVhaztjYXNlIDE4OlM0PWw0WzBdKmw0WzJdJWw0WzFdO2JyZWFrO2Nhc2UgMTA6UzQ9LWw0WzBdPT09bDRbMV07YnJlYWs7Y2FzZSAxMzpTND1sNFsxNF0rbDRbMjddK2w0WzE5XStsNFswXStsNFsxMV0rbDRbNV0rbDRbMTBdK2w0WzI5XStsNFsyXStsNFsyM10rbDRbMjBdK2w0WzRdK2w0WzIyXStsNFsxOF0rbDRbMjRdK2w0WzEyXStsNFs3XStsNFsxNV0rbDRbNl0rbDRbMTNdK2w0WzE3XStsNFs5XStsNFsyOF0rbDRbMjFdK2w0WzFdK2w0WzMwXStsNFsyNl0rbDRbMTZdK2w0WzNdK2w0WzI1XStsNFs4XTticmVhaztjYXNlIDE5OlM0PWw0WzFdL2w0WzBdJWw0WzJdO2JyZWFrO2Nhc2UgMTU6UzQ9bDRbNV0rbDRbNF0rbDRbMTBdK2w0WzFdK2w0WzZdK2w0WzldK2w0WzJdK2w0WzddK2w0WzhdK2w0WzNdK2w0WzBdO2JyZWFrO31yZXR1cm4gUzQ7fSxzNDpmdW5jdGlvbihQNCl7QTQ9UDQ7fX07fSgpO3Y3R0cueDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy51ND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuZTQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuZTQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuZTQ7fTtmdW5jdGlvbiB2N0dHKCl7fXY3R0cuWTQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LnM0PT09J2Z1bmN0aW9uJz92N0dHLlo0LnM0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LnM0O307djdHRy5vND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuczQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuczQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuczQ7fTt2N0dHLmw2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuQjQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy5nNj1mdW5jdGlvbigpe3ZhciBzNj0yO3doaWxlKHM2IT09MSl7c3dpdGNoKHM2KXtjYXNlIDI6cmV0dXJue0M2OmZ1bmN0aW9uKHg2KXt2YXIgbTY9Mjt3aGlsZShtNiE9PTE0KXtzd2l0Y2gobTYpe2Nhc2UgNDptNj1JNj09PXg2Lmxlbmd0aD8zOjk7YnJlYWs7Y2FzZSAyOnZhciBQNj0nJyxVNj1kZWNvZGVVUkkoIjIjMUw3QTg4LEk1Vz84O1Y0WiUyMiUzRStHO0IlMjIpJTIwRyUwQUUlMjIkLFE/RTIyJTE0UChBMCMqRypLJjklM0MlNUQ/ViUzQz8sdDtHKCUzRTdNL1Y4Mj8lNUM0UTQtJTIwRyUxOEElMjI4N0skaTkoN0c3TTgyJTA1JTVDOE8/OCxaNUolMjUjJTNFJTVDJG4lMjUyJTdCRyxBJD87VjRabTIhTTVUKCQzVyUzRUgzKCxLP0k5OjdHaCUxNiglMUU3Xz9WMyUzRSxaNUolMjIpJTNDTSRJMyUzRTUlNUMkSjM0JkclMEJHO3U5JTVEJHooJTAwPSU1RT1BJDIhJTVDLlolM0UpOyU1RTJQKCUwOSUzRSU1QzdBODghRylQLyUyMDdHLE0lMjUlMjUwUDZNJTIyNSxqJEc6JTI1N1cuWjMlMjA3VD9KJTIyMiUxNUE2WiUxQSYsaz9FNSQ3JTVEJGswMj1fJTNDVzM4LG8lMjBaJTEzKyxuM0oyIyUyNUc5RTgvN1UkbicvKyUwQzBGZCU3QyUyMkc4TTgoLEk1TTg4N0skSiMhMCU1QyhaNS0lM0VVJH4oJTIwN18uWngyJlgoQzM4LHoyVjkhN0clM0VBJTIwJTI1MSU1QyRwLyUzQzdKJFclM0UjJ1UlM0VaJTIyLTVHJTAzJTE3KCUwNTVXNVYzMiUxMFA0QCglMTk1RyUwQVY5JTNDMyU1RTtQPyMlM0NHNVQzJTIyN0skSDkvM00zSzgyJTA1QTZHJTNDO2pHLk07KSx2NEczMiUxM1U2WjAlM0UzVD9aJTA1ISxLO0oyIz9HJTE4UiglMDU2RzBLPyUyMiwlNjAqWjsjJCU1QyRTPyUyMjZWLVoyJTI1IUk2RS8ybEclMUVLOy07VyRAMz85TTVUKCUwQSElNUUkUDcuJ1clM0VBJDIlMTMlNUUkRTQjJ00kVzUlM0U7SS5aJjkhUSRBJTIwKSUzQ00pWiUyMiUzRTNXKVQ3JTNFN1cuWiY4MVY0QyglMUYmVihFMSkseCRQNy4saT9WJi01JTVDJEk3NCxKL0YlMjU4JTIwRzZLNygsajlWPyUzQyZHJTEzSiUyMiklMjBPO0goJCUyMCU1QyUzQ1o4IyxaKEE3ODdHO1AlMjItMVEkSDklMjI1Ry9WOjIlMUZYLkwoLTBaJTNFQTArOlAwTzohJTNDVipVJD8mTCxTLjUoRyUxNVQzJTNFM0clMENFOjk3RyUxOEgoOSUzQyU1RD9WKCUwNSYlNUM3WiUxNCUzRT1OKUEkMiUxM1clM0VWOSUyNTZHOVEkJTNFN1cuWiUxNCUyMDNXMVoyKSRHNEslMjIyJTFFJTVDJTNDUCg/N1U/RyUyMiMlMjBHJTFEJTFEPy04TmJaPyUyMiUzQyU1QyhaNCUyMDNXMVolMDM1LCU1QyRzPyUyMix4LlolMTQ5MCU1QjZBKCg3WjVAMzIlMDJYKEE4OCxoL0EjKTZHdlolMDU4M1QqWiYtJTIwJTVDNFAoJDNKJFElMjUpJTIwRyhBJiUyMDNaP1olMDAyI0w/Vi8yJTNDJTVDLlM5JTNFOUcpTD8qJkcqVjk4PU0jVDMyPSU1QjBBNTgseSRKIyUyMCUzRUcuSyh+YiUwOGJaPyUyMiUyMkwuWjstJloyWiQpIU01VjMyO18oRTspLHU1UzMlM0UsJTdGalolMDQyJTA2UTtKJTNFMiUxRkc4USUyMjg9VyRvMjIlMTglMDkkcSQlMjAsaSRGMyo9Sz9aJTAwKSUyMEozSzgyJTA0TCRBOC0wVT9AKCUwMyxLP1czOCwlMTEkVjM/O0M/WiMlMjI2JTVDJTNDTTgpNkd6WiUyNSUzRTFHJTFEQSUyMjg3SyUwNSU3QiglMUM6WDRaPzIxVT9FJDIwWClBJTYweCwlNjAkQDMuJyU1RSRDMzgsUztSNz8xSzNUJTIyMjNNLlY/LidNP1coJTFGJkszSjEyLHU3WjgpJTI1RzVKNSUyMDtaMVolMTF1JTI1JTVEJCU3QyhjLFQzSTMyJTE0TDRHJTIyJTI1PVckVjM9JyU1QylQKCUxMHplc3glMjVmKWUpJTBFJTBBJTE3JTBFSnBKNzg7Tz8lMDQ1IzYlNUMlMDZXJTdDJTEwJTBGZSklMEUrMiUxRVA0US4yJTFFJTA5KkwyISwlNUQ/VyUyMiUzRT1AJE07MjZQKVQ3ODFRJE04PzdLLlo4IzYlNUMkajoyJTAxJTVDNkE1OD1LJCUxMiglMDg3JTVCL0MoJTE4MyU1RSlaJTE0JCwlNUU/SzojMVguTTklMjIsJTdDLEE4OCxYKlQ6NSwlNUQ7UDcycUclMEVFJCs3TSRnOSElMjJYKEEoaSwlN0Y2RTEyY0clMTlFJTI1KSwlNUQ1STclMjUlM0NHJTFCUSUyMiQ9SyRGOSgrRztAMjIlMERmJTNFQTAlMjUlM0MlNUMkcDcrLFQ/VyUyNS01JTVDJEk5OSElNUMvVCglMEElMjBWN1olMDYjO1cuWiUyMC0lMjBHJTBFSyMvOiU1QylaJTAyIywlN0QtUig2LFg4VzklMjAnTT9aJTA3Kyx4NEclM0UjJTIwRzNKMikqRy1BNCc7TSRWMyUyMDdYKUEoJTAxPUwpQSglMEEzVTZGNy85RyUwOVA3LzlHOUUlMjIvOkcqSyUyNTgsWjVKNS0mRyUxNiUxNSglMjA3Vz1QJTNFMiUyMCU1RCRUNyUzRSElNUMkaS8yOlAlM0VAMyUyMiwlMDhqJTE0KCUwQTtLP1olMTc2LFEuUCY/LGk/VjslMjUhSjNLODIlMDBQJGsmKSUzQyU1QyhaJTA3MiUzQ1Y0QSgvJ0spSyQyJTIyWD1BKCUzQypHJ1olMTgtPyU1QyRHJTNFLSUzQyU1RT9AKCUxOSZQNlcoPyZLM0oxMiUxMyU1RTglMTYoJTBEJFgzSDcuJTNFJTVDJGJkMiUxNSUwMDNFJTNDMiUxQl8oRTspLHo1SSYjJTNDJTVDNFAoJTBEPVokJTE5KCUwRCUyNUclMTZafiUxMCFFfiUwRCgvPVcuRTU4LH4kVjM/O0M7RjopLHguUCQlMjUwTC5BKCUwMT0lNUIzSDMyPUszQz8lMjIsWC9QJTNFIyUyMEc/JTVDMy8sdipBODIlMERNO1YxKSZHJTNDTS4pNkclMDVQPyE3Vi9QJTA5MiUxM1YkcSglMDg3XztROjgsdTtXJTIyMiUxQkclM0VBJTIyLTFRJHYlMjAyJTA4JTBCJHc1JTNFPVU2RjclM0UsJTdGKVolMDItMEc/JTVDJiUyNSUyMCU1QylaJTE0OyxQJTNFWiUxRiUyMjYlNUMlMjJaOyMwUDZBKCUwRStHJTBETTI4Okc3TyYyJTExViUzRUEoJTIyM1Q/WiUyNSUzQzdaM0I/KTZHKkUlMjIkLFo2TTUnLHElM0VMNzIwVS9WKCUxQyUyMFYqQSQ4K0c5SzgqOyU1RSRXMyUyMDRHJTA4TWY0LGgvWjAlMjA9VihaJTEzNCUyMkclMTVTODIlMTclNUQ9QSglMjUhRyUwRkoyKSUyMEclMUJDMyUyMiZHLiU1RCYpLHpjWmoyJTE0UChBMjIlMURJLk05JTIyIUclM0NROC8mUDVKKCUwNixNO0YjJTNDLEkoTTg4LCU3QyUyMlQ/JTNFN0okZzkjOVA/WiUwNSUyNTBVM0oxMiUyNUclMTVSMyUzRSUzRVgjWiUwMiUyNT8lNUM1USUyMjIlMUQlNUIwQTU4LFYvUDMlM0UscyxGZTIlMjVQJTNFUCUzRTIhVTNHMzIlMUNYJCUxNiglMUM4RyUxNk0yLyxYJGg/PyYlNUM0QSQyJTFGViUyME06JTIwM0clMUVFJTIyKSx2NEg5LTZHKUUwKSxMNEY/JTIyNkcuSyMvOiU1QzRAKCUwRTdfNVYzMjFVO1clMjUyJTAyVilNJTIyJTI1PVckJTYwKCUyNSUzQ1AuWiUxODIlMDlHOUs5JzslNUMkbicyJTBCVDVIKDg9SSRvKC86WChaJTA5LiUzRVg0TyglMjA9JTVFJEsmKSUzQ0clMTJaJTEzJTIwN1Q/SiUyMjIlMDAlNUM2QTc/N0cqSyY5JTNDJTVEP1YoJTNDPUkkdDo5NVA0WiUwNiMlMjJMNEAzJTNFLHMyRSglMTU/VmJaJTNFOD9VJHc3KjNLM1o5JTIyLHc1QDMyJTA1JTBDMUZkMjFVNVczMj9WL1czKD1ONFojPzclMTkpUCQlMjUxTSRnIyUzRSUyMCU1QzRQKC4zWjFDJCMnVyUzRVo7KSZYJFAzNCZHJTE5QzgyIVooQTMlMjIsJTFEJGEoJTBCa1ckbTEyayUwMGMlMURvdWtHKEEwKSUyMEs/VigpIVo7VDMyJTdGRztUJiklM0MlNUQkTDk/JkcqQSQlM0MzJTVFP1olMUYlMjImRyUwRkEoJTIyPUs/QiglMDQ7UztHPSUyNSUzQyU1RSRxJiUzQzdLJCUwRiglMTghSSRzYycsTTVRNSQhTTtWJTIyMiUzRVY5RToyJTAxJTVDNFc/ODtPP1psMiUxRiU1RSRzKHQsdzVQPyo7WjtQPyMlM0NHIVolMDQpNUc1SjQlMjAnSyRnKCUwMTdKKUUxKSxMJCUxNCY0LHgoVjc1LEkoQSUyMCklM0NNJHkoJTBGJTNFUDlPMygsWDhXKCUxQz9HblolMEYhPUAkVDklM0MnSSQlMEMlMDgwJTBFSnNaOTo3SyUzQ0g5OywlMDkkRzkhLF81RyM/LHE/TTEkJkclMEFLJjIlMUNVOU0oJTA2JTIyWiR0JTNDeSUzRSU1QjdaJTAyIyUyMkclM0NNJCksWCpUOiUyNTFYLk05JTIyLCU3RiRnOSUyMjVHJTE5TD8lMjA2RylUOiUyNSZHKEU4KCxKLkUlMjI5IUcpRyQjJTNFVThFJD8sdWolMTElM0UuLFo1UjMlM0UsTTVLOi4zSyRAMyUyMDNAJEsmOCFHJTNFTSUyMDIlMTdPP0olMjI/LHcwRzslMjAlMjUlNUQkcCglM0M2XyRBOyUzQyZAJGYoJTFFOiU1QiRKNzo7JTVFO1A5JTNFLE4oTSUyMiksbDAlMTAoJTI1NVc1VjMyJTExVi9KJTIyMjBWNUgzLSUzQ0clMEVNOyksejVKMCUyNTVHLkElMjU4Iik7bTY9MTticmVhaztjYXNlIDE6dmFyIEg2PTAsSTY9MDttNj01O2JyZWFrO2Nhc2UgOTpQNis9U3RyaW5nLmZyb21DaGFyQ29kZShVNi5jaGFyQ29kZUF0KEg2KV54Ni5jaGFyQ29kZUF0KEk2KSk7bTY9ODticmVhaztjYXNlIDU6bTY9SDY8VTYubGVuZ3RoPzQ6NzticmVhaztjYXNlIDc6UDY9UDYuc3BsaXQoJ34nKTtyZXR1cm4gZnVuY3Rpb24oaDYpe3ZhciBqNj0yO3doaWxlKGo2IT09MSl7c3dpdGNoKGo2KXtjYXNlIDI6cmV0dXJuIFA2W2g2XTticmVhazt9fX07YnJlYWs7Y2FzZSAzOkk2PTA7bTY9OTticmVhaztjYXNlIDg6SDYrKyxJNisrO202PTU7YnJlYWs7fX19KCdWTFI5WiQnKX07YnJlYWs7fX19KCk7djdHRy5kMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLmE2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuZjY9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLmc2LkM2PT09J2Z1bmN0aW9uJz92N0dHLmc2LkM2LmFwcGx5KHY3R0cuZzYsYXJndW1lbnRzKTp2N0dHLmc2LkM2O307djdHRy5yND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuQzY9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuQzYuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuQzY7fTshZnVuY3Rpb24odCl7dmFyIHc1PXY3R0c7dmFyIG81PSEwO3ZhciBlLGksbixyLG8scyxhLGMsdSxoLGYscCxfLGwsZCx2LGIsbSxnLHksayx3LHgsTyxDLEUsUCxULEEsRixTLGosTCx6LEIsSSxNLFcsRCxVLFIsTixILHEsSixWLCQsUSxHLFksSyxaLFgsdHQsZXQsaXQsbnQscnQsb3Qsc3QsYXQsY3QsdXQsaHQsZnQscHQsX3QsbHQsZHQsdnQsYnQsbXQsZ3QseXQsa3Qsd3QseHQsT3QsQ3QsRXQsUHQsVHQsQXQsRnQsU3QsanQsTHQsenQsQnQsSXQsTXQsV3QsRHQsVXQsUnQsTnQsSHQscXQsSnQsVnQsJHQsUXQsR3QsWXQsS3QsWnQsWHQsdGUsZWUsaWUsbmUscmUsb2Usc2UsYWUsY2UsdWUsaGUsZmUscGUsX2UsbGUsZGUsdmUsYmUsbWUsZ2UseWUsa2Usd2UseGUsT2UsQ2UsRWUsUGUsVGUsQWUsRmUsU2UsamUsTGUsemUsQmUsSWUsTWUsV2UsRGUsVWUsUmUsTmUsSGUscWUsSmUsVmUsJGUsUWUsR2UsWWUsS2UsWmUsWGUsdGksZWksaWksbmkscmksb2ksc2ksYWksY2ksdWksaGksZmkscGksX2ksbGksZGksdmksYmksbWksZ2kseWksa2ksd2kseGksT2ksQ2ksRWksUGksVGksQWksRmksU2ksamksTGksemksQmksSWksTWksV2ksRGksVWksUmksTmksSGkscWksSmksVmksJGksUWksR2ksWWksS2ksWmksWGksdG4sZW4sbm4scm4sb24sc24sYW4sY24sdW4saG4sZm4scG4sX24sbG4sZG4sdm4sYm4sbW4sZ24seW4sa24sd24seG4sT24sQ24sRW4sUG4sVG4sQW4sRm4sU24sam4sTG4sem4sQm4sSW4sTW4sV24sRG4sVW4sUm4sTm4sSG4scW4sSm4sVm4sJG4sUW4sR24sWW4sS24sWm4sWG4sdHIsZXIsaXIsbnIscnIsb3Isc3IsYXIsY3IsdXIsaHIsZnIscHIsX3IsbHIsZHIsdnIsYnIsbXIsZ3IseXIsa3Isd3IseHIsT3IsQ3IsRXIsUHIsVHIsQXIsRnIsU3IsanIsTHIsenIsQnIsSXIsTXIsV3IsRHIsVXIsUnIsTnIsSHIscXIsSnIsVnIsJHIsUXIsR3IsWXIsS3IsWnIsWHIsdG8sZW8saW8sbm8scm8sb28sc28sYW8sY28sdW8saG8sZm8scG8sX28sbG8sdm8sYm8sbW8sZ28seW8sa28sd28seG8sT28sQ28sRW8sUG8sVG8sQW8sRm8sU28sam8sTG8sem8sQm8sSW8sTW8sV28sRG8sVW8sUm8sTm8sSG8scW8sSm8sVm8sJG8sUW8sR28sWW8sS28sWm8sWG8sdHMsZXMsaXMsbnMscnMsb3Msc3MsYXMsY3MsdXMsaHMsZnMscHMsX3MsbHMsZHMsdnMsYnMsbXMsZ3MseXMsa3Msd3MseHMsT3MsQ3MsRXMsUHMsVHMsQXMsRnMsU3MsanMsTHMsenMsQnMsSXMsTXMsV3MsRHMsVXMsUnMsTnMsSHMscXMsSnMsVnMsJHMsUXMsR3MsWXMsS3MsWnMsWHMsdGEsZWEsaWEsbmEscmEsb2Esc2EsYWEsY2EsdWEsaGEsZmEscGEsX2EsbGEsZGEsdmEsYmEsbWEsZ2EseWEsa2Esd2EseGEsT2EsQ2EsRWEsUGEsVGEsQWEsRmEsU2EsamEsTGEsemEsQmEsSWEsTWEsV2EsRGEsVWEsUmEsTmEsSGEscWEsSmEsVmEsJGEsUWEsR2EsWWEsS2EsWmEsWGEsdGMsZWMsaWMsbmMscmMsb2Msc2MsYWMsY2MsdWMsaGMsZmMscGMsX2MsbGMsZGMsdmMsYmMsbWMsZ2MseWMsa2Msd2MseGMsT2MsQ2MsRWMsUGMsVGMsQWMsRmMsU2MsamMsTGMsemMsQmMsSWMsTWMsV2MsRGMsVWMsUmMsTmMsSGM7ZT13NS5mNigyMzQpO2k9dzUuWjYoMzk0KTtuPXc1Llo2KDM4OSk7cj13NS5mNig0NTYpO289dzUuWjYoNSk7cz13NS5aNig0NjEpO2E9dzUuWjYoMjU1KTtjPXc1Llo2KDg4KTt1PXc1Llo2KDE3OCk7aD13NS5mNigxODcpO2Y9dzUuZjYoNDgxKTtwPXc1LmY2KDM3Nik7Xz13NS5aNigyNDYpO2w9dzUuZjYoMjQ1KTtkPXc1Llo2KDE0OSk7dj13NS5aNigzNjUpO2I9dzUuWjYoNDgzKTttPXc1LmY2KDcyKTtnPXc1Llo2KDMxMyk7eT13NS5aNigyNTMpO2s9dzUuWjYoNTApO3c9dzUuZjYoNDY5KTt4PS9lZGdlLztPPXc1LmY2KDMzNCk7Qz13NS5aNigzMzMpO0U9dzUuWjYoNTMpO1A9dzUuWjYoMTcpO1Q9dzUuWjYoMzQzKTtBPXc1LmY2KDE5MCk7Rj0vZmlyZWZveHxmeGlvcy9pO1M9dzUuZjYoMjEyKTtqPXc1Llo2KDI1OSk7TD13NS5aNigyNDEpO3o9dzUuZjYoMTA5KTtCPXc1LmY2KDk3KTtJPXc1Llo2KDQxOCk7TT13NS5aNigzODgpO1c9dzUuWjYoNDM1KTtEPXc1LmY2KDM3NSk7VT13NS5aNigzNTgpO1I9dzUuZjYoMTcyKTtOPXc1LmY2KDIzOCk7SD13NS5aNig0ODcpO3E9dzUuWjYoMjIxKTtKPXc1LmY2KDIxMSk7Vj13NS5mNigyMTApOyQ9dzUuWjYoMTYyKTtRPXc1Llo2KDY0KTtHPXc1LmY2KDM0Mik7WT13NS5aNigxMjgpO0s9dzUuWjYoMjA4KTtaPXc1LmY2KDE0MSk7WD13NS5aNig0MzYpO3R0PXc1Llo2KDQ0MSk7ZXQ9dzUuWjYoMjgwKTtpdD13NS5mNigxNzcpO250PXc1Llo2KDEyKTtydD13NS5aNigyNzMpO290PXc1Llo2KDM1NSk7c3Q9L3dpbmRvd3MvO2F0PXc1Llo2KDI1OCk7Y3Q9Lyg/OmZ0cHxodHRwcz8pOlwvXC8oW15cL10rKS87dXQ9dzUuWjYoMjE4KTtodD13NS5mNig0NDIpO2Z0PXc1LmY2KDI2Myk7cHQ9dzUuWjYoMTY2KTtfdD13NS5aNigxMzgpO2x0PXc1Llo2KDMyOSk7ZHQ9dzUuWjYoNDEpO3Z0PXc1Llo2KDIwNyk7YnQ9dzUuWjYoMzYyKTttdD13NS5mNigxNjUpO2d0PXc1LmY2KDM3MSk7eXQ9dzUuWjYoMzYwKTtrdD13NS5aNigyMzkpO3d0PXc1LmY2KDM2Myk7eHQ9dzUuZjYoODIpO090PTk1MDI9PT0yNTAwPzB4MjE0Yzp3NS5mNigxNDgpO0N0PXc1LmY2KDE4NSk7RXQ9dzUuWjYoMTQ0KTtQdD13NS5mNigzMjApO1R0PXc1Llo2KDU1KTtBdD13NS5aNigzMTgpO0Z0PXc1Llo2KDE4OSk7U3Q9dzUuWjYoMTAxKTtqdD0vTVNJRVxzKyhbXGRcLl0rKS9pO0x0PXc1Llo2KDM0MCk7enQ9dzUuZjYoMTYwKTtCdD13NS5aNig0NDQpO0l0PXc1Llo2KDQxMyk7TXQ9dzUuZjYoNDU1KTtXdD13NS5mNig1MSk7RHQ9dzUuWjYoNDE1KTtVdD13NS5mNigyOTkpO1J0PXc1Llo2KDQxNik7TnQ9dzUuWjYoMzczKTtIdD13NS5aNig0MzApO3F0PXc1Llo2KDE2MSk7SnQ9dzUuZjYoMjQ4KTtWdD13NS5aNig0MjcpOyR0PXc1LmY2KDQyNCk7UXQ9dzUuZjYoMzUxKTtHdD13NS5aNigyOTApO1l0PXc1Llo2KDI4MSk7S3Q9dzUuWjYoMjk2KTtadD13NS5aNigyODYpO1h0PXc1LmY2KDE0Nik7dGU9dzUuWjYoNjApO2VlPXc1Llo2KDE0Myk7aWU9dzUuWjYoMjE1KTtuZT0vcmFkaW98Y2hlY2tib3gvaTtyZT13NS5mNigyNzUpO29lPXc1Llo2KDEyNCk7c2U9dzUuZjYoMjE2KTthZT13NS5aNigzMDIpO2NlPXc1LmY2KDExNyk7dWU9LzEyMDd8NjMxMHw2NTkwfDNnc298NHRocHw1MFsxLTZdaXw3NzBzfDgwMnN8YSB3YXxhYmFjfGFjKGVyfG9vfHNcLSl8YWkoa298cm4pfGFsKGF2fGNhfGNvKXxhbW9pfGFuKGV4fG55fHl3KXxhcHR1fGFyKGNofGdvKXxhcyh0ZXx1cyl8YXR0d3xhdShkaXxcLW18ciB8cyApfGF2YW58YmUoY2t8bGx8bnEpfGJpKGxifHJkKXxibChhY3xheil8YnIoZXx2KXd8YnVtYnxid1wtKG58dSl8YzU1XC98Y2FwaXxjY3dhfGNkbVwtfGNlbGx8Y2h0bXxjbGRjfGNtZFwtfGNvKG1wfG5kKXxjcmF3fGRhKGl0fGxsfG5nKXxkYnRlfGRjXC1zfGRldml8ZGljYXxkbW9ifGRvKGN8cClvfGRzKDEyfFwtZCl8ZWwoNDl8YWkpfGVtKGwyfHVsKXxlcihpY3xrMCl8ZXNsOHxleihbNC03XTB8b3N8d2F8emUpfGZldGN8Zmx5KFwtfF8pfGcxIHV8ZzU2MHxnZW5lfGdmXC01fGdcLW1vfGdvKFwud3xvZCl8Z3IoYWR8dW4pfGhhaWV8aGNpdHxoZFwtKG18cHx0KXxoZWlcLXxoaShwdHx0YSl8aHAoIGl8aXApfGhzXC1jfGh0KGMoXC18IHxffGF8Z3xwfHN8dCl8dHApfGh1KGF3fHRjKXxpXC0oMjB8Z298bWEpfGkyMzB8aWFjKCB8XC18XC8pfGlicm98aWRlYXxpZzAxfGlrb218aW0xa3xpbm5vfGlwYXF8aXJpc3xqYSh0fHYpYXxqYnJvfGplbXV8amlnc3xrZGRpfGtlaml8a2d0KCB8XC8pfGtsb258a3B0IHxrd2NcLXxreW8oY3xrKXxsZShub3x4aSl8bGcoIGd8XC8oa3xsfHUpfDUwfDU0fFwtW2Etd10pfGxpYnd8bHlueHxtMVwtd3xtM2dhfG01MFwvfG1hKHRlfHVpfHhvKXxtYygwMXwyMXxjYSl8bVwtY3J8bWUocmN8cmkpfG1pKG84fG9hfHRzKXxtbWVmfG1vKDAxfDAyfGJpfGRlfGRvfHQoXC18IHxvfHYpfHp6KXxtdCg1MHxwMXx2ICl8bXdicHxteXdhfG4xMFswLTJdfG4yMFsyLTNdfG4zMCgwfDIpfG41MCgwfDJ8NSl8bjcoMCgwfDEpfDEwKXxuZSgoY3xtKVwtfG9ufHRmfHdmfHdnfHd0KXxub2soNnxpKXxuenBofG8yaW18b3AodGl8d3YpfG9yYW58b3dnMXxwODAwfHBhbihhfGR8dCl8cGR4Z3xwZygxM3xcLShbMS04XXxjKSl8cGhpbHxwaXJlfHBsKGF5fHVjKXxwblwtMnxwbyhja3xydHxzZSl8cHJveHxwc2lvfHB0XC1nfHFhXC1hfHFjKDA3fDEyfDIxfDMyfDYwfFwtWzItN118aVwtKXxxdGVrfHIzODB8cjYwMHxyYWtzfHJpbTl8cm8odmV8em8pfHM1NVwvfHNhKGdlfG1hfG1tfG1zfG55fHZhKXxzYygwMXxoXC18b298cFwtKXxzZGtcL3xzZShjKFwtfDB8MSl8NDd8bWN8bmR8cmkpfHNnaFwtfHNoYXJ8c2llKFwtfG0pfHNrXC0wfHNsKDQ1fGlkKXxzbShhbHxhcnxiM3xpdHx0NSl8c28oZnR8bnkpfHNwKDAxfGhcLXx2XC18diApfHN5KDAxfG1iKXx0MigxOHw1MCl8dDYoMDB8MTB8MTgpfHRhKGd0fGxrKXx0Y2xcLXx0ZGdcLXx0ZWwoaXxtKXx0aW1cLXx0XC1tb3x0byhwbHxzaCl8dHMoNzB8bVwtfG0zfG01KXx0eFwtOXx1cChcLmJ8ZzF8c2kpfHV0c3R8djQwMHx2NzUwfHZlcml8dmkocmd8dGUpfHZrKDQwfDVbMC0zXXxcLXYpfHZtNDB8dm9kYXx2dWxjfHZ4KDUyfDUzfDYwfDYxfDcwfDgwfDgxfDgzfDg1fDk4KXx3M2MoXC18ICl8d2ViY3x3aGl0fHdpKGcgfG5jfG53KXx3bWxifHdvbnV8eDcwMHx5YXNcLXx5b3VyfHpldG98enRlXC0vaTtoZT13NS5aNigxNCk7ZmU9dzUuWjYoMjMpO3BlPXc1Llo2KDExMSk7X2U9dzUuWjYoMjYwKTtsZT0vbWFjaW50b3NoLztkZT13NS5mNig5MCk7dmU9dzUuZjYoMzMyKTtiZT13NS5mNigyMDApO21lPS9tb3ppbGxhLztnZT13NS5mNigxNzQpO3llPXc1LmY2KDEzNSk7a2U9dzUuZjYoMzc4KTt3ZT0vKD86XHcrKVwvKFtcZFwuXSspKD86JHxcc3xcL3xcKSkrL2k7eGU9dzUuWjYoMzQpO09lPXc1LmY2KDM3Nyk7Q2U9dzUuZjYoNDcyKTtFZT13NS5mNigxMTUpO1BlPXc1Llo2KDE5NCk7VGU9dzUuZjYoNDE0KTtBZT13NS5mNig2NSk7RmU9dzUuWjYoMTA3KTtTZT13NS5mNig0MDMpO2plPXc1LmY2KDI5Mik7TGU9dzUuWjYoNTgpO3plPXc1Llo2KDE2NCk7QmU9Lyg/Ok9QUnxPcGVyYXxPUGlPUylcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0llPXc1LmY2KDIyOSk7TWU9dzUuWjYoNDY3KTtXZT13NS5mNig0NjMpO0RlPXc1Llo2KDQzNyk7VWU9dzUuZjYoMTkzKTtSZT13NS5aNigzMyk7TmU9dzUuZjYoODUpO0hlPXc1LmY2KDQwOCk7cWU9dzUuZjYoMjApO0plPXc1Llo2KDk4KTtWZT13NS5mNigxMzYpOyRlPXc1LmY2KDI3Nyk7UWU9dzUuWjYoNyk7R2U9dzUuWjYoODYpO1llPXc1LmY2KDE3NSk7S2U9dzUuWjYoMjcxKTtaZT13NS5aNigzOTkpO1hlPXc1LmY2KDEzMyk7dGk9dzUuWjYoOTUpO2VpPXc1LmY2KDE1Mik7aWk9dzUuWjYoMzEyKTtuaT13NS5aNigyOTgpO3JpPXc1Llo2KDQzMyk7b2k9dzUuZjYoMTgzKTtzaT0vYW5kcm9pZHx3ZWJvc3xpcGhvbmV8aXBhZHxpcG9kfGJsYWNrYmVycnl8aWVtb2JpbGV8b3BlcmFccyttaW5pLzthaT13NS5aNigzODIpO2NpPXc1LmY2KDEyNyk7dWk9dzUuWjYoMzM2KTtoaT13NS5aNigyOTUpO2ZpPXc1Llo2KDMwNyk7cGk9dzUuZjYoMjUxKTtfaT13NS5mNig0MTkpO2xpPXc1LmY2KDMxKTtkaT13NS5aNigyNzQpO3ZpPXc1LmY2KDQ0Nik7Ymk9dzUuWjYoMTYzKTttaT13NS5mNig5NCk7Z2k9dzUuWjYoMjIwKTt5aT13NS5aNigzNTQpO2tpPXc1Llo2KDE4Nik7d2k9dzUuZjYoNDEyKTt4aT13NS5mNig0NDcpO09pPXc1Llo2KDQwNCk7Q2k9dzUuZjYoNTIpO0VpPXc1Llo2KDY4KTtQaT13NS5mNigzNSk7VGk9dzUuZjYoNTYpO0FpPXc1LmY2KDEwMyk7Rmk9dzUuWjYoMzc5KTtTaT13NS5mNig0NTEpO2ppPXc1Llo2KDQ3NSk7TGk9dzUuWjYoMjEpO3ppPXc1LmY2KDE3MSk7Qmk9dzUuZjYoMTMxKTtJaT13NS5mNig0ODgpO01pPXc1LmY2KDE4MCk7V2k9dzUuWjYoNDQ1KTtEaT0vYnV0dG9ufGlucHV0L2k7VWk9dzUuWjYoMTM0KTtSaT13NS5mNigyMjgpO05pPXc1LmY2KDc4KTtIaT13NS5aNig1NCk7cWk9dzUuWjYoMTY3KTtKaT13NS5mNig0NjUpO1ZpPXc1Llo2KDMzNSk7JGk9dzUuZjYoMTY5KTtRaT13NS5mNigzNjgpO0dpPXc1LmY2KDI4Nyk7WWk9dzUuWjYoMzQ4KTtLaT13NS5mNigzMDEpO1ppPXc1LmY2KDQ0KTtYaT13NS5mNigyNjQpO3RuPXc1LmY2KDc3KTtlbj13NS5mNig0NjApO25uPXc1LmY2KDMzNyk7cm49dzUuWjYoMTU3KTtvbj13NS5aNigzMjUpO3NuPXc1LmY2KDIzNyk7YW49dzUuZjYoNDg2KTtjbj13NS5mNigxNTUpO3VuPXc1Llo2KDEwNCk7aG49dzUuWjYoMzU2KTtmbj13NS5aNig0OCk7cG49dzUuZjYoMjQyKTtfbj13NS5mNig0MDApO2xuPXc1Llo2KDI2NSk7ZG49dzUuZjYoMjg0KTt2bj13NS5aNigyODgpO2JuPXc1LmY2KDQzOSk7bW49dzUuWjYoMzQxKTtnbj13NS5aNigyMDMpO3luPXc1LmY2KDIxNyk7a249dzUuWjYoMzIxKTt3bj13NS5mNig0MzIpO3huPXc1LmY2KDIyKTtPbj02NDc9PSg0OTguMjUsMjAwKT8oMS42OWUrMyw0NjkpOnc1LmY2KDk2KTtDbj13NS5mNigzODMpO0VuPXc1LmY2KDM1OSk7UG49dzUuWjYoMzUwKTtUbj0vXk9wZXJhXC8uKj9QcmVzdG9cLy4qP1ZlcnNpb25cLyhbXGRcLl0rKS9pO0FuPXc1Llo2KDE5MSk7Rm49dzUuZjYoNDQ4KTtTbj13NS5mNigyNDQpO2puPXc1Llo2KDIzMSk7TG49dzUuZjYoMTIwKTt6bj13NS5mNig0NTApO0JuPXc1Llo2KDExOCk7SW49dzUuZjYoNik7TW49dzUuWjYoNzUpO1duPXc1LmY2KDEyMyk7RG49dzUuWjYoMzA0KTtVbj0vcmVzZXR8YnV0dG9ufHN1Ym1pdC9pO1JuPXc1LmY2KDQ4NCk7Tm49dzUuZjYoMTk2KTtIbj13NS5mNigyMjYpO3FuPXc1LmY2KDM1Myk7Sm49dzUuWjYoMTgpO1ZuPXc1LmY2KDE2OCk7JG49dzUuZjYoMzE0KTtRbj13NS5aNig0NzEpO0duPXc1LmY2KDQ1OSk7WW49dzUuZjYoMzE3KTtLbj13NS5mNigyNDkpO1puPS9WZXJzaW9uXC8oW1xkXC5dKylccysobW9iaWxlXC9bXlxzXStccyspP1NhZmFyaS9pO1huPXc1LmY2KDE0NSk7dHI9dzUuWjYoMjQwKTtlcj13NS5mNigxOSk7aXI9dzUuWjYoNDg5KTtucj13NS5aNigyNzYpO3JyPXc1LmY2KDQ4Mik7b3I9dzUuZjYoNDY2KTtzcj13NS5aNigyNzApO2FyPXc1Llo2KDE0Nyk7Y3I9dzUuZjYoMjQpO3VyPXc1LmY2KDgzKTtocj13NS5aNigyNzkpO2ZyPXc1Llo2KDQzKTtwcj13NS5mNig0MjApO19yPXc1LmY2KDQ2Mik7bHI9L2Nocm9tZXxjcmlvcy87ZHI9dzUuWjYoNDExKTt2cj0vIy4qJC87YnI9dzUuZjYoMTU5KTttcj13NS5aNigwKTtncj0vKGNvbXBhdGlibGV8d2Via2l0KS87eXI9L0Z4aU9TXC8oW1xkXC5dKykvaTtrcj13NS5mNig1OSk7d3I9dzUuWjYoMzgpO3hyPXc1LmY2KDE5OCk7T3I9dzUuZjYoMTApO0NyPXc1LmY2KDQ2NCk7RXI9dzUuWjYoMTE2KTtQcj13NS5mNigzNjkpO1RyPXc1LmY2KDEyMSk7QXI9L21zaWV8dHJpZGVudFwvLztGcj13NS5mNigyNTYpO1NyPXc1LmY2KDQ3MCk7anI9dzUuZjYoMjkzKTtMcj13NS5mNig4Nyk7enI9L2Nocm9tZXxvcGVyYXxlZGdlfGNyaW9zfG9waW9zfGZ4aW9zfHVjL2k7QnI9dzUuWjYoMjUyKTtJcj13NS5aNigxMDgpO01yPXc1LmY2KDkxKTtXcj13NS5mNigyKTtEcj13NS5mNigyNjgpO1VyPXc1Llo2KDI3OCk7UnI9dzUuWjYoMzI2KTtOcj13NS5mNig5KTtIcj13NS5mNigxMzIpO3FyPXc1Llo2KDMyNCk7SnI9LyhhbmRyb2lkfGJiXGQrfG1lZWdvKS4rbW9iaWxlfGF2YW50Z298YmFkYVwvfGJsYWNrYmVycnl8YmxhemVyfGNvbXBhbHxlbGFpbmV8ZmVubmVjfGhpcHRvcHxpZW1vYmlsZXxpcChob25lfG9kKXxpcGFkfGlyaXN8a2luZGxlfEFuZHJvaWR8U2lsa3xsZ2UgfG1hZW1vfG1pZHB8bW1wfG5ldGZyb250fG9wZXJhIG0ob2J8aW4paXxwYWxtKCBvcyk/fHBob25lfHAoaXhpfHJlKVwvfHBsdWNrZXJ8cG9ja2V0fHBzcHxzZXJpZXMoNHw2KTB8c3ltYmlhbnx0cmVvfHVwXC4oYnJvd3NlcnxsaW5rKXx2b2RhZm9uZXx3YXB8d2luZG93cyAoY2V8cGhvbmUpfHhkYXx4aWluby9pO1ZyPSgyNDk2LDg0OTUpIT05NzY/dzUuZjYoMjk3KTohITA7JHI9dzUuWjYoNDI2KTtRcj13NS5mNigyMjUpO0dyPXc1LmY2KDE4OCk7WXI9dzUuZjYoNDMxKTtLcj13NS5mNigyNTApO1pyPXc1Llo2KDI2MSk7WHI9dzUuZjYoMTc2KTt0bz13NS5mNigyNSk7ZW89dzUuWjYoMTk1KTtpbz13NS5mNigzMjgpO25vPXc1Llo2KDQwOSk7cm89dzUuZjYoMzQ5KTtvbz13NS5aNigzMjIpO3NvPXc1Llo2KDMxNik7YW89dzUuWjYoMzg1KTtjbz13NS5mNigxMTMpO3VvPXc1LmY2KDQ3NCk7aG89dzUuWjYoMjY3KTtmbz13NS5mNigyNjYpO3BvPXc1Llo2KDQwNyk7X289dzUuWjYoNjMpO2xvPXc1Llo2KDM2Nyk7dm89L3dlYmtpdC87Ym89dzUuWjYoNDUyKTttbz0vc2FmYXJpLztnbz13NS5aNig5Myk7eW89L29wZXJhfG9wcnxvcGlvc1wvLztrbz13NS5aNigzMzEpO3dvPXc1LmY2KDI2KTt4bz13NS5aNigxODIpO09vPXc1LmY2KDM4MCk7Q289dzUuWjYoMTEwKTtFbz13NS5mNigxMTIpO1BvPXc1LmY2KDMwNSk7VG89dzUuZjYoNzQpO0FvPXc1LmY2KDEwMik7Rm89dzUuZjYoNDc4KTtTbz0vYW5kcm9pZC87am89dzUuZjYoMzkxKTtMbz13NS5aNigzMDYpO3pvPXc1LmY2KDQwNSk7Qm89dzUuWjYoOTkpO0lvPXc1Llo2KDM5Nik7TW89dzUuWjYoNDQwKTtXbz13NS5mNig2Nyk7RG89dzUuWjYoNDAxKTtVbz13NS5aNigxNTQpO1JvPXc1LmY2KDI4OSk7Tm89dzUuWjYoMzkzKTtIbz13NS5mNig3OSk7cW89dzUuWjYoMTQwKTtKbz13NS5aNigzNzIpO1ZvPXc1Llo2KDQyMik7JG89dzUuZjYoNDQ5KTtRbz13NS5aNigzOTUpO0dvPXc1Llo2KDIwNik7WW89dzUuWjYoMjQzKTtLbz13NS5mNig2Mik7Wm89dzUuWjYoNDg1KTtYbz13NS5mNigxMzApO3RzPXc1Llo2KDE1Nik7ZXM9dzUuZjYoMjAxKTtpcz13NS5aNigzNjEpO25zPXc1LmY2KDMxNSk7cnM9dzUuWjYoMTIyKTtvcz13NS5mNig3MCk7c3M9dzUuZjYoMjU3KTthcz13NS5aNig0MjUpO2NzPXc1LmY2KDMzMCk7dXM9dzUuZjYoNzMpO2hzPXc1LmY2KDMwMyk7ZnM9dzUuWjYoMTAwKTtwcz13NS5mNigzNzQpO19zPXc1Llo2KDY2KTtscz0oODI2LjA2LDk5Ny4yKSE9PSgyNjIuNzksNzAwLjQpP3c1LmY2KDE3OSk6KG81LHc1Llo2KDM2KSk7ZHM9dzUuWjYoMjIzKTt2cz13NS5mNigxMTkpO2JzPXc1Llo2KDMwOCk7bXM9dzUuZjYoNDcpO2dzPXc1Llo2KDMxOSk7eXM9dzUuZjYoMTgxKTtrcz13NS5mNigzNDUpO3dzPXc1Llo2KDE1KTt4cz0vXigjfGphdmFzY3JpcHQpL2k7T3M9dzUuWjYoMzY2KTtDcz13NS5aNigxOTkpO0VzPXc1Llo2KDM4NCk7UHM9dzUuZjYoNDA2KTtUcz13NS5mNig0MjkpO0FzPXc1LmY2KDI0Nyk7RnM9dzUuZjYoNDQzKTtTcz13NS5mNigzMzgpO2pzPS8oPzpGaXJlZm94fENocm9tZSlcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0xzPXc1Llo2KDM3MCk7enM9dzUuZjYoMzEwKTtCcz13NS5aNigzODYpO0lzPXc1Llo2KDI5NCk7TXM9dzUuWjYoMjgzKTtXcz13NS5aNigzODcpO0RzPXc1LmY2KDM5KTtVcz13NS5aNigxMDYpO1JzPXc1LmY2KDIwMik7TnM9dzUuWjYoMzExKTtIcz13NS5mNig0MzgpO3FzPXc1LmY2KDcxKTtKcz13NS5mNigxMzcpO1ZzPXc1Llo2KDI3KTskcz13NS5aNig4NCk7UXM9L18vZztHcz13NS5aNigxNTgpO1lzPXc1Llo2KDE5Mik7S3M9dzUuZjYoNDIzKTtacz13NS5mNigzMzkpO1hzPXc1Llo2KDE1MCk7dGE9dzUuWjYoMTQyKTtlYT13NS5mNig0KTtpYT13NS5aNig0MTApO25hPXc1LmY2KDIzNik7cmE9dzUuZjYoNDAyKTtvYT13NS5mNigyMTQpO3NhPXc1Llo2KDQxNyk7YWE9dzUuZjYoMTg0KTtjYT13NS5aNigxOTcpO3VhPXc1LmY2KDIzMyk7aGE9dzUuZjYoMzApO2ZhPS9saW51eC87cGE9dzUuWjYoMjgyKTtfYT0vb3BlcmEvO2xhPXc1Llo2KDM2NCk7ZGE9dzUuWjYoMTczKTt2YT13NS5aNigzMDApO2JhPXc1LmY2KDIzNSk7bWE9L2VkZ2V8b3ByXC8vO2dhPXc1LmY2KDI4NSk7eWE9dzUuZjYoNDYpO2thPXc1Llo2KDEzKTt3YT13NS5aNigyMDUpO3hhPXc1LmY2KDIyNCk7T2E9dzUuZjYoMzQ0KTtDYT13NS5aNigyMTMpO0VhPS9FZGdlXC8oW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTtQYT13NS5mNigxMjYpO1RhPXc1Llo2KDExNCk7QWE9L14oPzouKlteXHddKSooW1x3XSspXHMqJC9pO0ZhPXc1LmY2KDM5Mik7U2E9dzUuWjYoNjkpO2phPXc1LmY2KDMpO0xhPXc1LmY2KDQ1KTt6YT13NS5mNigzMjMpO0JhPXc1LmY2KDEzOSk7SWE9dzUuWjYoMTI5KTtNYT13NS5mNig4KTtXYT13NS5mNig0Mik7RGE9dzUuZjYoMSk7VWE9dzUuWjYoODkpO1JhPXc1LmY2KDIwOSk7TmE9dzUuZjYoMjgpO0hhPXc1LmY2KDIxOSk7cWE9dzUuWjYoMjMwKTtKYT13NS5aNig4MSk7VmE9dzUuWjYoMzA5KTskYT13NS5mNigzNDcpO1FhPXc1LmY2KDM4MSk7R2E9dzUuWjYoOTIpO1lhPXc1LmY2KDEyNSk7S2E9dzUuWjYoMzIpO1phPXc1LmY2KDM5MCk7WGE9dzUuZjYoNDY4KTt0Yz13NS5mNigzNik7ZWM9dzUuZjYoMzk3KTtpYz13NS5aNig0ODApO25jPXc1LmY2KDIyMik7cmM9dzUuZjYoNDU3KTtvYz13NS5aNigzNTIpO3NjPXc1Llo2KDI5KTthYz0vaShQaG9uZXxQYWR8UG9kKS9pO2NjPXc1LmY2KDQzNCk7dWM9dzUuZjYoNDIxKTtoYz13NS5aNig0NzMpO2ZjPXc1LmY2KDE3MCk7cGM9dzUuZjYoMjYyKTtfYz13NS5aNigxNTEpO2xjPXc1LmY2KDQ5KTtkYz13NS5mNigyNTQpO3ZjPXc1LmY2KDQyOCk7YmM9dzUuZjYoMTUzKTttYz13NS5aNigyNjkpO2djPXc1Llo2KDU3KTt5Yz13NS5mNigzNTcpO2tjPS9UcmlkZW50XC8uKj9ydjooW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTt3Yz13NS5aNig0NTMpO3hjPXc1Llo2KDQ3Nik7T2M9dzUuZjYoNDU0KTtDYz13NS5mNig0NTgpO0VjPXc1LmY2KDgwKTtQYz0vOlxkKyQvO1RjPXc1Llo2KDI3Mik7QWM9dzUuWjYoMzI3KTtGYz13NS5mNig0NzkpO1NjPXc1Llo2KDYxKTtqYz13NS5mNigyOTEpO0xjPXc1Llo2KDIzMik7emM9dzUuWjYoMTEpO0JjPXc1LmY2KDM0Nik7SWM9dzUuWjYoMTA1KTtNYz13NS5aNig0NzcpO1djPXc1Llo2KDQwKTtEYz13NS5aNig3Nik7VWM9dzUuWjYoMTYpO1JjPXc1Llo2KDIyNyk7TmM9dzUuWjYoMjA0KTtIYz13NS5mNigzNyk7IWZ1bmN0aW9uKHQseSxSdCxYZSxyaSx5aSxBaSxObixkcixVcixpbyxybyxDbyxHcyx6YyxVYyxxYyxKYyxWYywkYyl7InVzZSBzdHJpY3QiO3ZhciBRYyxHYyxZYyxLYyxaYyxYYyx0dSxldSxpdSxudSxydSxvdSxzdSxhdSxjdSx1dSxodSxmdSxwdSxfdSxsdSxkdSx2dSxidSxtdSxndSx5dSxrdSx3dSx4dSxPdSxDdSxFdSxQdSxUdSxBdSxGdTtydT10O3c1Llk0KDApO291PXc1LmM0KHVpLEdyLGJyLF9yLFllLFNpLFR0LGRuLFllLHUsbWksT3QsR3IsWWUsdXIpO3c1Llk0KDEpO3N1PXc1LnU0KGZlLFR0LEh0LG90LFR0KTt3NS5vNCgxKTthdT13NS51NChXaSxQZSxLLF9jLFBlKTt3NS5ZNCgyKTtjdT13NS5jNChydSxnaSk7dzUubzQoMik7dXU9dzUudTQocnUsWm8pO3c1Lm80KDMpO2h1PXc1LmM0KE9jLHJ1LEJpLFV0LEdyLEdyKTt3NS5vNCgyKTtmdT13NS51NChydSwkYSk7cHU9YW87X3U9eGk7bHU9THI7ZHU9bW47dnU9eVtmXVtxbytHcitDXVtYcytHcit0cytHcituY10oKTtidT17dW5kZXI6bzUsbmV3VGFiOm81fTttdT1udWxsO2d1PW81O3l1PSF7fTtrdT1mdW5jdGlvbigpe307dzUuWTQoNCk7d3U9dzUudTQoR3IsT3QsRXQpO3h1PXJpW3ZzK0dyK0FvXXx8e3NyYzpudWxsfTt3NS5vNCg0KTtPdT15W2ZdW3c1LmM0KGVvLEdyLGtyKV07Q3U9eXU7RXU9eXU7UHU9eXU7VHU9ZnVuY3Rpb24oKXt2YXIgRTksbzksdzk7dHJ5e0U5PTM2MDIzMDM0MztvOT01MDA4ODEwMDM7dzk9Mjtmb3IodmFyIGI1PTE7dzUuTDEoYjUudG9TdHJpbmcoKSxiNS50b1N0cmluZygpLmxlbmd0aCw1ODI0MykhPT1FOTtiNSsrKXtyZXR1cm4geVtwXT09PXlbcXJdfHwheVtwXVttcl1bRWldWyhYcy1HciklaF0oKSE9VGM/eVtwXTp5W3FyXTt3OSs9Mjt9aWYodzUuTDEodzkudG9TdHJpbmcoKSx3OS50b1N0cmluZygpLmxlbmd0aCw1MTUyOSkhPT1vOSl7cmV0dXJuIHlbcF0hPT15W3FyXSYmdHlwZW9mIHlbcF1bbXJdW0VpXVtYcytHcitoXSgpPT09VGM/eVtwXTp5W3FyXTt9fWNhdGNoKHQpe3ZhciBBOSxJOSxLOTtBOT0yMjIyMDY4MDc7STk9NDU1MTUwMTA4O0s5PTI7Zm9yKHZhciBROT0xO3c1LkwxKFE5LnRvU3RyaW5nKCksUTkudG9TdHJpbmcoKS5sZW5ndGgsNjg5NDApIT09QTk7UTkrKyl7cmV0dXJuIFB1PWd1LHlbcXJdO0s5Kz0yO31pZih3NS5MMShLOS50b1N0cmluZygpLEs5LnRvU3RyaW5nKCkubGVuZ3RoLDU2NzU3KSE9PUk5KXtyZXR1cm4gUHU9Z3UseVtxcl07fX19KCk7QXU9VHVbSmFdW1FhXTtGdT1mdW5jdGlvbigpe3ZhciB0O3RyeXt0PVR1W0VpXVt1bl07fWNhdGNoKHQpe31yZXR1cm4hUHUmJnR8fChidT17bmV3VGFiOmd1LHVuZGVyOnl1fSx0PXJpW2lhXSksdDt9KCk7S2M9e3Q6W10sbjpmdW5jdGlvbih0KXt2YXIgSDcsdjcsVDc7SDc9MTg2NDAwNjYwNDt2Nz03MzE4NDIzNTE7VDc9Mjtmb3IodmFyIG83PTE7dzUuZDEobzcudG9TdHJpbmcoKSxvNy50b1N0cmluZygpLmxlbmd0aCw5MTY5NikhPT1INztvNysrKXt0eXBlb2YgeVt3c10hPT1nZSYmeVt3c11bT29dJiZObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO1Q3Kz0yO31pZih3NS5kMShUNy50b1N0cmluZygpLFQ3LnRvU3RyaW5nKCkubGVuZ3RoLDI0OTc5KSE9PXY3KXt+eVt3c109PT1nZXx8eVt3c11bT29dfHxObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO319LHI6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9MDt0PHRoaXMudFtwaV07dCsrKXt0aGlzLm4odGhpcy50W3RdKTt9fSxlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9W3RdW0tuXShBaVtYdF1bcW5dW0NpXShhcmd1bWVudHMsMSkpO3RoaXMudFtNcl0oZSk7R2MuaSgpJiZ0aGlzLm4oZSk7fX07ZXU9e3M6ZnVuY3Rpb24oKXtpZih0aGlzLm89PT1tdSl0cnl7eVthcytHcit0aV1bbGkrR3IrRXJdKHJ1LDEpO3lbYXMrR3IrdGldW3huK0dyK0VyXShydSk7dGhpcy5vPWd1O31jYXRjaCh0KXt2YXIgdzcscDcsYjk7dzc9LTE2MTA5ODQyMzA7cDc9OTg2NDU4NDQ2O2I5PTI7Zm9yKHZhciBtOT0xO3c1LmQxKG05LnRvU3RyaW5nKCksbTkudG9TdHJpbmcoKS5sZW5ndGgsODg3MTMpIT09dzc7bTkrKyl7dGhpcy5vPXl1O2I5Kz0yO31pZih3NS5MMShiOS50b1N0cmluZygpLGI5LnRvU3RyaW5nKCkubGVuZ3RoLDMzNDE0KSE9PXA3KXt0aGlzLm89eXU7fXRoaXMubz15dTt9cmV0dXJuIHRoaXMubzt9LHU6ZnVuY3Rpb24odCl7dGhpcy5zKCk/eVthcytHcit0aV1beG4rR3IrRXJdKHQpOnR1LnUodCk7fSxjOmZ1bmN0aW9uKHQpe3RyeXtyZXR1cm4gdGhpcy5zKCk/eVthcytHcit0aV1bYWErR3IrRXJdKHQpOnR1LmModCk7fWNhdGNoKHQpe3JldHVybiBtdTt9fSxvOm11LGE6ZnVuY3Rpb24odCxlKXt0aGlzLnMoKT95W2FzK0dyK3RpXVtsaStHcitFcl0odCxlKTp0dS5hKHQsZSk7fX07dHU9e3U6ZnVuY3Rpb24odCl7dGhpcy5hKHQsMCxuZXcgSmMoMCkpO30sYzpmdW5jdGlvbih0KXt2YXIgZTt3NS5ZNCg1KTtlPXJpW050XVtiY10obmV3IFVyKHc1LnU0KGVyLEdyLEdyLGV0LHNjLHQsR3IsR3IsdHQsdWMsR3IsR3IsSm8sR3IpLGxzKSk7cmV0dXJuIGU/VmMoZVswXVtDcl0oR3IrZXQrR3IpWzFdKTptdTt9LGE6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO3M9aXx8R3I7cyYmKHR5cGVvZiBzPT09V3Q/KG89bmV3IEpjKCkpW2xpK0dyK0hdKG9bYWErR3IrSF0oKSsxZTMqcyk6bz1zLHM9R3IrZXIrZmkrZXQrR3Irb1tYcytHcitWcitHcit4YytHcitXK0dyK2hdKCkpO3JpW050XT10KyhHcitldCtHcikrJGMoR3IrZSkrcysocj9HcitlcitkcytldCtHcityOkdyKSsoR3IrZXIrQXQrZXQrR3IpKyhufHxHcitQZStHcik7fX07WmM9e3A6ZnVuY3Rpb24odCl7dmFyIGUsaTtpPXt9O2ZvcihlPTA7ZTx0W3BpXTtlKyspe2lbdFtlXVswXV09dFtlXVsxXTt9cmV0dXJuIGk7fSxXOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbjt0cnl7cmV0dXJuIG49dFthYStHcitHaV0oZSksdHlwZW9mIGkhPT1UYz95dTohIW5ldyBVcihGbitpK01zLGxzKVtqY10obik7fWNhdGNoKHQpe3JldHVybiB5dTt9fSxBOmZ1bmN0aW9uKCl7dHJ5e3JldHVybiB0eXBlb2YgeS5qUXVlcnkuZm4ub249PT1aczt9Y2F0Y2godCl7cmV0dXJuIHl1O319LEc6ZnVuY3Rpb24odCl7cmV0dXJuKHQ/bmV3IEpjKHQpOm5ldyBKYygpKVthYStHcitIXSgpO30sTTpmdW5jdGlvbih0KXt2YXIgbTAsQTAsSTAsZSxsNyxjNyxWNzttMD0tMTc4MjYxMjU4MTtBMD0tMTYzMzI0MDE2NDtJMD0yO2Zvcih2YXIgcjA9MTt3NS5MMShyMC50b1N0cmluZygpLHIwLnRvU3RyaW5nKCkubGVuZ3RoLDM0ODU4KSE9PW0wO3IwKyspe0kwKz0yO31pZih3NS5MMShJMC50b1N0cmluZygpLEkwLnRvU3RyaW5nKCkubGVuZ3RoLDg0OTA2KSE9PUEwKXt9dHJ5e2w3PS0xMjU4NTI0ODY5O2M3PTc3MTI1MDQ2ODtWNz0yO2Zvcih2YXIgeTc9MTt3NS5kMSh5Ny50b1N0cmluZygpLHk3LnRvU3RyaW5nKCkubGVuZ3RoLDEwMjkyKSE9PWw3O3k3KyspeyhlPXRbSmFdW1FhXShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7VjcrPTI7fWlmKHc1LmQxKFY3LnRvU3RyaW5nKCksVjcudG9TdHJpbmcoKS5sZW5ndGgsMjYwMTcpIT09YzcpeyhlPXRbSmFdW1FhXSgoVWEtVnQpL2NpKSlbYm9dKCk7ZVtJb10oKTt9fWNhdGNoKHQpe30oZT1BdShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7fSxUOmZ1bmN0aW9uKHQpe3QmJihUdVtFaV09dCk7fSxxOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxpPVt5cixUbixFYSxCZSxqcyxabixqdCxrYyx3ZV0sbj0wO248aVtwaV07bisrKWlmKGU9aVtuXVtqY10odnUpKXtyZXR1cm4gdD9VYyhlWzFdLDEwKTplWzFdW1pdKFFzLEdyK1R0K0dyKTt9cmV0dXJuIG11O30sTDpmdW5jdGlvbih0LGUpe3c1Llk0KDcpO3JldHVybiB3NS51NChZZSxlcixHcix0LGllLHlzLEdyLGUsR3IsVmUsVnQsR3IpO30sXzpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUTAsZTAsajA7UTA9LTE2NDA5MDY2NDA7ZTA9MzYxNTQ4MTI4O2owPTI7Zm9yKHZhciB0MD0xO3c1LmQxKHQwLnRvU3RyaW5nKCksdDAudG9TdHJpbmcoKS5sZW5ndGgsMzk3NjcpIT09UTA7dDArKyl7aT15O3c1Llk0KDQpO249dFtDcl0odzUudTQoR3IsVHQsR3IpKTtmb3IoZT0wO2U8bltwaV07ZSsrKXtpPWlbbltlXV07fXJldHVybiBpO2owKz0yO31pZih3NS5MMShqMC50b1N0cmluZygpLGowLnRvU3RyaW5nKCkubGVuZ3RoLDQ3NjE4KSE9PWUwKXtpPXk7dzUuWTQoNik7bj10W0NyXSh3NS51NChUdCxHcixHcikpO2ZvcihlPTQ7ZTw9bltwaV07ZS0tKXtpPWlbbltlXV07fXJldHVybiBpO319LFM6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbyxzMCxEMCxXMCxVMCx4MCx6MDtvPXkualF1ZXJ5fHxudWxsO2lmKHQmJnRbQW5dKXtyZXR1cm4gZ3U7fWlmKCFvKXtyZXR1cm4geXU7fXRyeXtzMD0tMTYxNTA0NTA7RDA9LTE5OTUwMzAzNTQ7VzA9Mjtmb3IodmFyIGMwPTE7dzUuZDEoYzAudG9TdHJpbmcoKSxjMC50b1N0cmluZygpLmxlbmd0aCw5Nzc5KSE9PXMwO2MwKyspe2lmKChlPShvKHQpW2llXShHYSkmJm8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9VzArPTI7fWlmKHc1LkwxKFcwLnRvU3RyaW5nKCksVzAudG9TdHJpbmcoKS5sZW5ndGgsMjI1MTYpIT09RDApe2lmKChlPShvKHQpW2llXShHYSl8fG8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9fX1jYXRjaCh0KXt9dHJ5e1UwPS0xMjgxMDM4MTgyO3gwPS01MjI2MTY2MzI7ejA9Mjtmb3IodmFyIGkwPTE7dzUuTDEoaTAudG9TdHJpbmcoKSxpMC50b1N0cmluZygpLmxlbmd0aCwzMjg1OSkhPT1VMDtpMCsrKXtmb3IoZT1vKHJpW1FyXSlbaWVdKEdhKVtnc10saT00O2k+ZVtwaV07aS0tKWZvcihyPW8oZVtpXVtvZV0pLG49NztuPj1yW3BpXTtuLS0paWYocltuXT09dCl7cmV0dXJuIGd1O316MCs9Mjt9aWYodzUuTDEoejAudG9TdHJpbmcoKSx6MC50b1N0cmluZygpLmxlbmd0aCw4ODE3MikhPT14MCl7Zm9yKGU9byhyaVtRcl0pW2llXShHYSlbZ3NdLGk9NDtpPmVbcGldO2ktLSlmb3Iocj1vKGVbaV1bb2VdKSxuPTc7bj49cltwaV07bi0tKWlmKHJbbl09PXQpe3JldHVybiBndTt9fWZvcihlPW8ocmlbUXJdKVtpZV0oR2EpW2dzXSxpPTA7aTxlW3BpXTtpKyspZm9yKHI9byhlW2ldW29lXSksbj0wO248cltwaV07bisrKWlmKHJbbl09PT10KXtyZXR1cm4gZ3U7fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sQzpmdW5jdGlvbih0LGUsaSl7dmFyIG4scixvO289WmMuTyhvNSk7cmV0dXJuIG49b1t0bytHcit5YV1bbXJdW1VzK0dyK0NuXShkZSksbltPXT1yYStQZStDdCxuW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoSmErVHQrX3QrWWUrR3IrZXQrR3IrWWUrSmErVHQrcCtZZStHcitldCtHcitZZStKYStUdCt1cytHcitDbitZZStHcitldCtHcitZZStkK2VyK0dyKSsoSmErVHQrJG4rWWUrR3IrZXQrR3IrWWUrWnMrUit6K1ZlK0dyK1llK3NvK1ZlK0dyK1llK0NlK1ArR3IrWWUrR3Ird24rR3IpKyh1YStZZStCcytHcitYbytZZStHcitldCtHcitZZStKYStUdCtRYStSK3orVmUrR3IrWWUrc28rVmUrR3IrWWUrQ2UrUCtHcitlcitHcikrKFdyK1llK0dyK3duK0JzK0dyK1hvK1R0K1dvK1llK0dyK2V0K0dyK1llK2QrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSsoTnIrWWUrQnMrR3IrWG8rZXIrR3IpKyhHcitEcitHcitlcitHciksb1t0bytHcit5YV1bbXJdW1FyXVtJdCtHcitXZV0obikscj1vW3RvK0dyK3lhXS5ta3AodCxlLGkpLFpjLlAobykscjt9LEI6ZnVuY3Rpb24odCxlLG4pe3ZhciByLG8scztyPTA7bz1ufHwxMDtzPXQ7dHJ5e2Zvcig7cyYmcisrPG87KXtpZih0eXBlb2YgZT09PVRjJiYoc1tTYytHcittY109PT1lfHxaYy5JKHMsZSkpfHx0eXBlb2YgZT09PWFyJiZzPT09ZSl7cmV0dXJuIHM7fXc1Llk0KDQpO3M9c1t3NS51NChfdCxHcixpKV07fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sRjpmdW5jdGlvbih0KXt2YXIgZTtlPVJ0W1RlXTtyZXR1cm4gdHlwZW9mIHQhPT1nZSYmKGU9KGN0W2pjXSh0KXx8W0dyLEdyXSlbMV0pLGVbWl0oUGMsR3IpO30seDpmdW5jdGlvbih0KXtyZXR1cm4geWlbWHRdW1hzK0dyK2hdW0NpXSh0KT09PUdyK0pvK2FyK1llK2JuK3R0K0dyO30sazpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUjAsUDAsSjA7aT1bXTtuPVpjLnYoKTt0cnl7UjA9LTE2Mjc2MTY5Mzc7UDA9LTIwMDI5NzgxNzY7SjA9Mjtmb3IodmFyIEIwPTE7dzUuTDEoQjAudG9TdHJpbmcoKSxCMC50b1N0cmluZygpLmxlbmd0aCw3NjkxMCkhPT1SMDtCMCsrKXtmb3IoZSBpbiBuKXt+dFtlXSE9Z2V8fGlbTXJdKGUvKChHci1ldCklR3IpLXRbZV0pO31KMCs9Mjt9aWYodzUuTDEoSjAudG9TdHJpbmcoKSxKMC50b1N0cmluZygpLmxlbmd0aCw4NjExMCkhPT1QMCl7Zm9yKGUgaW4gbil7fnRbZV0hPWdlfHxpW01yXShlLygoR3ItZXQpJUdyKS10W2VdKTt9fWZvcihlIGluIG4pe3R5cGVvZiB0W2VdIT09Z2UmJmlbTXJdKGUrKEdyK2V0K0dyKSt0W2VdKTt9fWNhdGNoKHQpe0tjLmUodCk7fXc1Llk0KDQpO3JldHVybiBpW05pXSh3NS5jNChHcixWZSxHcikpO30sUjpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5CKHQsT24pO30seTpmdW5jdGlvbigpe2Zvcih2YXIgdCxlPXt9LGk9MDtpPGFyZ3VtZW50c1twaV07aSsrKWZvcih0IGluIGFyZ3VtZW50c1tpXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0oYXJndW1lbnRzW2ldLHQpJiYoZVt0XT1hcmd1bWVudHNbaV1bdF0pO31yZXR1cm4gZTt9LFY6ZnVuY3Rpb24odCxlKXt2YXIgSjEsWDEsQjE7SjE9NDUyODczNzI5O1gxPTEyNzMxMDM4NTg7QjE9Mjtmb3IodmFyIE4xPTE7dzUuZDEoTjEudG9TdHJpbmcoKSxOMS50b1N0cmluZygpLmxlbmd0aCw1NTI1MSkhPT1KMTtOMSsrKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpKihlLXQpKSt0O0IxKz0yO31pZih3NS5kMShCMS50b1N0cmluZygpLEIxLnRvU3RyaW5nKCkubGVuZ3RoLDI4MzUxKSE9PVgxKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpJShlL3QpKSV0O319LFE6ZnVuY3Rpb24odCl7dmFyIGUsaSxuO3c1Llk0KDgpO2U9dzUuYzQodHlwZW9mIHQsYXIpO2k9dDt3NS5vNCg0KTtuPXJpW1VzK0dyK0NhXSh3NS51NChTbixHcix1bykpO25bTHMrR3IrU24rR3IrQ2FdKGdzLGd1LGd1LHksMCwwLDAsMCwwLGd1LHl1LHl1LGd1LDAsbXUpO2V8fChpPVpjLnooVSx7aHJlZjp0fHxpZStWdCtyYStQZStqbytWZStHcit1aStkZSt1citKYStUdCtJbytSK0dyK1ArR3IrZXIrR3IrdWkrR3IrUGUrZGUrdXIrR3J9KSxyaVtRcl1bSXQrR3IrV2VdKGkpKTtpW2duK0dyK0NhXShuKTtlfHxaYy5QKGkpO30sejpmdW5jdGlvbih0LGUsaSl7dmFyIG4scjtyPXJpW1VzK0dyK0NuXSh0KTtmb3IobiBpbiBlKXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShlLG4pJiZyW2xpK0dyK0dpXShuLGVbbl0pO31yZXR1cm4gaSYmKHJbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPWkpLHI7fSxZOmZ1bmN0aW9uKCl7dHJ5e3c1Lm80KDQpO3JldHVybiEhT3VbdzUuYzQoZW4sUGUsTWMpXVt3NS51NCgkaSxHcixXcyldO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sbDpmdW5jdGlvbih0KXt2YXIgZSxpLFk3LGY3LHM3O2U9WmMuXyh0KTt3NS5ZNCg0KTtpPXRbWl0oQWEsdzUudTQoR3Isem8scSkpO3RyeXtZNz0tMTYzMTA2MDI3MDtmNz0xOTgxNTM2MDYxO3M3PTI7Zm9yKHZhciBXNz0xO3c1LkwxKFc3LnRvU3RyaW5nKCksVzcudG9TdHJpbmcoKS5sZW5ndGgsMTYwMikhPT1ZNztXNysrKXtyZXR1cm4rbmV3IFVyKChacy9ZZS1HcikvIGkveHIsUnMpW2lyXShlW1hzJUdyL2hdKCkpO3M3Kz0yO31pZih3NS5MMShzNy50b1N0cmluZygpLHM3LnRvU3RyaW5nKCkubGVuZ3RoLDExNjM3KSE9PWY3KXtyZXR1cm4hbmV3IFVyKFpzK1llK0dyK2kreHIsUnMpW2lyXShlW1hzK0dyK2hdKCkpO319Y2F0Y2godCl7cmV0dXJuIHRbWHMrR3IraF0oKVtMK0dyK1dhXShrbytZZStycytZZStVK1llK1pzKT4tMT9ndTpYYy5kP2d1Onl1O319LHY6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbzt3NS5vNCg0KTtlPXlbdzUuYzQoUGEsR3IsZyldO3c1Llk0KDQpO2k9eVt3NS5jNChQYSxHcix3YyldO249eVtPaStHcitVZV18fHlbT2krR3IrV25dfHwwO3I9eVtPaStHcit4b118fHlbT2krR3IrQ2NdfHwwO289e307cmV0dXJuIG9bb2NdPWUsb1tLYV09aSxvW0hpXT1uLG9bcF09cixvW29yXT0wLG9bRWldPTEsb1tTcl09MSxvW09yXT0xLG8ucmVzaXphYmxlPTEsb1tNZV09MSxYYy5iJiYob1tLYV0rPVhjLm0/NDY6NTIpLFhjLmcmJihvW29jXS09NSxvW0thXS09NCksdHlwZW9mIHQ9PT1hciYmKG89WmMueShvLHQpKSxvO30sTzpmdW5jdGlvbih0KXt2YXIgZTtlPXJpW1VzK0dyK0NuXShjbik7cmV0dXJuIGVbeGVdW3h0XT1YaSx0JiZyaVtRcl1bSXQrR3IrV2VdKGUpLGU7fSxEOmZ1bmN0aW9uKHQpe3JldHVybiB0W1NjK0dyK21jXT09PUZjK0dyK1ZyK0dyK3hjK0dyK3hjK0dyK2ZjK0dyK2d0fHx0W1NjK0dyK21jXT09PXZhK0dyK2d0K0dyK210K0dyK1ZyK0dyK3hjJiZVbltpcl0odFthYStHcitHaV0oTykpfHx0aGlzLkIodCxGYytHcitWcitHcit4YytHcit4YytHcitmYytHcitndCkhPT15dTt9LFA6ZnVuY3Rpb24odCl7dCYmdFtfdCtHcitpXSYmdFtfdCtHcitpXVt4bitHcitXZV0odCk7fSxJOmZ1bmN0aW9uKHQsZSl7dmFyIG4scixvO2lmKHR5cGVvZiBlIT09VGMpe3JldHVybiB5dTt9aWYodHlwZW9mIHJpW2VlK0dyK3Z0K0dyK21dPT09WnMpdHJ5e3I9dFtfdCtHcitpXVtlZStHcit2dCtHcittXShlKXx8eS5qUXVlcnkoZSk7fWNhdGNoKHQpe31lbHNlIGlmKFpjLkEoKSl0cnl7cj15LmpRdWVyeShlKTt9Y2F0Y2godCl7fWlmKHIpZm9yKG89MDtvPHJbcGldO28rKylpZihyW29dPT09dCl7cmV0dXJuIGd1O31zd2l0Y2goZVswXSl7Y2FzZSBHcitUdCtHcjpuPVtsbyxlW2ZzXSgxKV07YnJlYWs7Y2FzZSBHcitzZStHcjpuPVtWYSxlW2ZzXSgxKV07fXJldHVybiBuP3RoaXMuVyh0LG5bMF0sblsxXSk6eXU7fSxmOmZ1bmN0aW9uKHQsZSl7dHJ5e3JldHVybiEoIXRba2ldW2VdfHwhdFtraV1bZV1bWW5dKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LE46ZnVuY3Rpb24odCl7dmFyIGU7ZT10aGlzLlIodCk7cmV0dXJuIGUmJmVbdW5dJiYheHNbaXJdKGVbdW5dKT9lW3VuXTp5dTt9LEo6ZnVuY3Rpb24odCxlLGksbil7Zm9yKHZhciByLG8scyxhPXRbWHMrR3IraF0oKVtDcl0obnx8R3IrVHQrR3IpLGM9ZVtYcytHcitoXSgpW0NyXShufHxHcitUdCtHciksdT0wLGY9ZHJbQm9dKGFbcGldLGNbcGldKTt1PGYmJihyPVVjKGFbdV18fDAsMTApLG89VWMoY1t1XXx8MCwxMCkscWMocikmJihyPTApLHFjKG8pJiYobz0wKSxzPXI+bz8xOi0xLHI9PT1vKTt1Kyspe3M9MDt9c3dpdGNoKGkpe2Nhc2UgR3IrdXIrR3I6dzUubzQoOCk7cmV0dXJuIHc1LnU0KDEscyk7Y2FzZSBHcit1citHcitldCtHcjp3NS5ZNCg5KTtyZXR1cm4gdzUuYzQocywxKTtjYXNlIEdyK3VpK0dyOnc1Lm80KDEwKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK3VpK0dyK2V0K0dyOnc1Llk0KDExKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK2V0K0dyK2V0K0dyOmNhc2UgR3IrZXQrR3IrZXQrR3IrZXQrR3I6ZGVmYXVsdDp3NS5ZNCg4KTtyZXR1cm4gdzUudTQoMCxzKTt9fSwkOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1wZVtDcl0oR3IpLGk9ZVtwaV0sbj0wLHI9R3I7bjx0O24rKyl7cis9ZVtkcltBY10oZHJbTW5dKCkqaSldO31yZXR1cm4gcjt9LGg6ZnVuY3Rpb24odCxlKXt0cnl7cmV0dXJuIHRbYWErR3IrR2ldKGUpO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sSDpmdW5jdGlvbih0LGUsaSl7dmFyIG47dzUubzQoMik7bj13NS5jNChoaSx0KTtyZXR1cm4gdHlwZW9mIHlbbl0hPT1nZSYmcm8oeVtuXSkseVtuXT1pbyhlLGkpO30sdzpmdW5jdGlvbigpe3JldHVybiBQdTt9LFU6ZnVuY3Rpb24odCl7cmV0dXJuIHRbU2MrR3IrbWNdPT09dmErR3IrZ3QrR3IrbXQrR3IrVnIrR3IreGMmJm5lW2lyXSh0W2FhK0dyK0dpXShPKSl8fHRbU2MrR3IrbWNdPT09cGErR3IrT24rR3IrRmMrR3IrUHMrR3IrcGE7fX07aXU9e3R0OmZ1bmN0aW9uKHQsZSl7dmFyIGkscTUsbTUsQTU7dHJ5e3E1PS0xNDE1MjczNDIzO201PS0zMzc1MDc5MjY7QTU9Mjtmb3IodmFyIEs1PTE7dzUuZDEoSzUudG9TdHJpbmcoKSxLNS50b1N0cmluZygpLmxlbmd0aCwzNzU1NSkhPT1xNTtLNSsrKXtyZXR1cm4gZXx8KGk9cmlbKHdyLUdyKSVqbipHcipMY10odFtIYyVHci9VZV0sdFtIYy9Hci14b10pKT9pOnRbVGldJiZ0W1hzLUdyLUNuXSYmdFsoWHItR3IpJUNuXTtBNSs9Mjt9aWYodzUuTDEoQTUudG9TdHJpbmcoKSxBNS50b1N0cmluZygpLmxlbmd0aCw3MjUzNikhPT1tNSl7cmV0dXJuIGUmJihpPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXSx0W0hjK0dyK3hvXSkpP2k6dFtUaV18fHRbWHMrR3IrQ25dfHx0W1hyK0dyK0NuXTt9fWNhdGNoKHQpe3JldHVybiB5dTt9fSxYOmZ1bmN0aW9uKHQsZSxpLG4pe3JldHVybiB0eXBlb2YgdFtIbitHcitDYStHcitFbl09PT1acz90W0huK0dyK0NhK0dyK0VuXShlLGksbnx8e30pOnRbRmUrR3IrQ2FdKE5vK2UsaSk7fSxLOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByO3I9ZnVuY3Rpb24oKXtpdS5aKHQsZSxyLG4pO2lbQ2ldKCk7fTtpdS5YKHQsZSxyLG4pO30sWjpmdW5jdGlvbih0LGUsaSxuKXtyZXR1cm4gdHlwZW9mIHRbeG4rR3IrQ2ErR3IrRW5dPT09WnM/dFt4bitHcitDYStHcitFbl0oZSxpLG58fHt9KTp0W0tpK0dyK0NhXShObytlLGkpO319OyEoWGM9e2l0OmZhW2lyXSh2dSksbnQ6c3RbaXJdKHZ1KSxtOmxlW2lyXSh2dSksZXQ6YWNbaXJdKHZ1KSxydDpTb1tpcl0odnUpLG90OnNpW2lyXSh2dSl8fEpyW2lyXSh2dSl8fHVlW2lyXSh2dVtmc10oMCw0KSksc3Q6dm9baXJdKHZ1KSxnOkFyW2lyXSh2dSkmJiFfYVtpcl0odnUpLGI6bHJbaXJdKHZ1KSYmIW1hW2lyXSh2dSksYXQ6bWVbaXJdKHZ1KSYmIWdyW2lyXSh2dSksY3Q6eFtpcl0odnUpLGQ6Rltpcl0odnUpLHV0OnlvW2lyXSh2dSksX3Q6bXUscHQ6WmMucShndSl8fG11LGx0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3QhPT1tdT90aGlzLl90OnRoaXMuX3Q9UWMuZHQoKSE9PXl1O30sSjpmdW5jdGlvbih0LGUpe3JldHVybiBaYy5KKFhjLmZ0LGUsdCk7fSxodDptb1tpcl0odnUpJiYhenJbaXJdKHZ1KSxmdDpaYy5xKHl1KXx8bXV9KS5ldHx8WGMuaHR8fFhjLmR8fFhjLmJ8fChYYy51dD1vNSk7KFljPWZ1bmN0aW9uKHQsZSxpKXt2YXIgbjtuPWl8fHt9O25bel09ZTt0aGlzLnZ0KG4pO3RoaXMubXQuYnR8fCh0aGlzLm10LmJ0PXJ1K3QpO3RoaXMuZ3QoKTt9KVtYdF09e2t0OntUdDpndSxDdDptdSxqdDp5dSxFdDpHcitQZStHcixGdDprdSxMdDpndSxBdDp5dSxPdDpndSx4dDptdSxQdDpudWxsLGJ0Om11LHd0Om11LFN0Omt1fSxtdDp7fSx5dDpudWxsLHp0OlpjLnYoKSxCdDpaYy5wKFtbT3IsMF1dKSxJdDpaYy5wKFtbTWUsMV1dKSxNdDpaYy5wKFtbU3IsMV1dKSxXdDpaYy5wKFtbRWksMF0sW1NyLDBdXSksRHQ6WmMucChbW01lLDBdXSksVXQ6WmMucChbW1p0LDBdXSksUnQ6WmMucChbW0VpLDBdXSksc2V0T3B0aW9uczpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy52dCh0KTt9LGd0OmZ1bmN0aW9uKCl7dmFyIHQsZSxpLG47dD1mdW5jdGlvbih0LGUpe3ZhciBpLG47bj17fTtuW3B1XT1beXUsZ3VdO25bX3VdPVt5dSx5dV07bltsdV09W2d1LGd1XTtuW2R1XT1bZ3UseXVdO2ZvcihpIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixpKSYmbltpXVswXT09PXQmJm5baV1bMV09PT1lKXtyZXR1cm4gaTt9cmV0dXJuIF91O307ZT1YYy5sdCgpO2k9dChHYy5tdC4kdC5uZXdUYWIsR2MubXQuJHQudW5kZXIpO249dCh0aGlzLm10LkF0LHRoaXMubXQuVHQpO2V8fG49PT1wdSYmKG49aSk9PT1wdSYmKG49bHUpO1hjLm90JiYobj09PV91JiYobj1kdSksbj09PXB1JiYobj1sdSkpO3RoaXMueXQ9bjt9LEh0OmZ1bmN0aW9uKCl7dmFyIGswLG4wLEYwO2lmKHR5cGVvZiB0aGlzLm10Lnh0PT09WnMpdHJ5e3JldHVybiB0aGlzLm10Lnh0W0NpXSh0aGlzLHRoaXMubXQpW1hzK0dyK2hdKCk7fWNhdGNoKHQpe3JldHVybiBLYy5lKHQpLHl1O31rMD0tMTAwMjA0NzAxMztuMD0tMTY1MTM4NjMwNztGMD0yO2Zvcih2YXIgTTA9MTt3NS5MMShNMC50b1N0cmluZygpLE0wLnRvU3RyaW5nKCkubGVuZ3RoLDY4NDExKSE9PWswO00wKyspe3JldHVybiB0aGlzLm10Lnh0O0YwKz0yO31pZih3NS5kMShGMC50b1N0cmluZygpLEYwLnRvU3RyaW5nKCkubGVuZ3RoLDkwOTM5KSE9PW4wKXtyZXR1cm4gdGhpcy5tdC54dDt9fSxMdDpmdW5jdGlvbigpe3ZhciB0LGUsRzcsQzcsazcsVjAsdTAseTA7dD10aGlzLm10O2U9dC5PdCE9PU5zJiZ0Lk90IT09TmV8fHQuT3Q9PT1OcyYmWGMub3R8fHQuT3Q9PT1OZSYmIVhjLm90O3RyeXtHNz0tMTkzODMwODU3MjtDNz0tMTE3NzY0NDk2NDtrNz0yO2Zvcih2YXIgRjc9MTt3NS5kMShGNy50b1N0cmluZygpLEY3LnRvU3RyaW5nKCkubGVuZ3RoLDg5NDI0KSE9PUc3O0Y3Kyspe3R5cGVvZiB0Lkx0PT09WnM/ZT1lJiZ0Lkx0W0NpXSh0aGlzLGUsdGhpcy5OdCgpKSE9PXl1OnR5cGVvZiB0Lkx0PT09YW4mJihlPWUmJnQuTHQpO2s3Kz0yO31pZih3NS5MMShrNy50b1N0cmluZygpLGs3LnRvU3RyaW5nKCkubGVuZ3RoLDUzNDE4KSE9PUM3KXstdC5MdCE9PVpzP2U9ZXx8dC5MdFtDaV0odGhpcyxlLHRoaXMuTnQoKSk9PT15dTohdC5MdD09YW58fChlPWV8fHQuTHQpO319Y2F0Y2godCl7S2MuZSh0KTt9VjA9Njg3MDAyMDA4O3UwPS0yOTc1OTkyODc7eTA9Mjtmb3IodmFyIHYwPTE7dzUuTDEodjAudG9TdHJpbmcoKSx2MC50b1N0cmluZygpLmxlbmd0aCw2NDU0MSkhPT1WMDt2MCsrKXtyZXR1cm4gR2MuSnQoKT9lfHwtdGhpcy5WdDplfHwrdHUuYyh0LmJ0KTt5MCs9Mjt9aWYodzUuTDEoeTAudG9TdHJpbmcoKSx5MC50b1N0cmluZygpLmxlbmd0aCwyOTMyNSkhPT11MCl7cmV0dXJuIEdjLkp0KCk/ZXx8LXRoaXMuVnQ6ZXx8K3R1LmModC5idCk7fXJldHVybiBHYy5KdCgpP2UmJiF0aGlzLlZ0OmUmJiF0dS5jKHQuYnQpO30sdnQ6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHI7dGhpcy5tdD1aYy55KHRoaXMuenQsdGhpcy5rdCx0aGlzLm10LHR8fHt9KTtmb3IoaSBpbiB0aGlzLm10KWlmKHlpW1h0XVtCYStHcitsdCtHcitvb11bQ2ldKHRoaXMubXQsaSkpc3dpdGNoKG49dGhpcy5tdFtpXSxpKXtjYXNlIHNvOnRoaXMubXQud3Q9bjticmVhaztjYXNlIHo6dGhpcy5tdC54dD1uO2JyZWFrO2Nhc2UgTGU6dGhpcy5tdC5PdD0obitHcilbWHMrR3IrdHMrR3IrbmNdKCk7YnJlYWs7Y2FzZSBOdCtHcittYzp0aGlzLm10LmJ0PW47YnJlYWs7Y2FzZSBOdCtHcitUOnRoaXMubXQuQ3Q9bjticmVhaztjYXNlIE50K0dyK2VhOnRoaXMubXQuRXQ9bjticmVhaztjYXNlIE50K0dyKyRzOnRoaXMubXQuUHQ9bjticmVhaztjYXNlIEVlOnRoaXMubXQuVHQ9bjticmVhaztjYXNlIEErR3IrTG86dGhpcy5tdC5BdD1uO2JyZWFrO2Nhc2UgcHQrR3IramU6dGhpcy5tdC5GdD1uO2JyZWFrO2Nhc2UgamErR3IramU6dGhpcy5tdC5TdD1uO2JyZWFrO2Nhc2UgSWMrR3IrY3I6dGhpcy5tdC5qdD1uO2JyZWFrO2Nhc2UgdGUrR3Irc3M6dGhpcy5tdC5MdD1uO31pZighWGMub3QmJiF0aGlzLm10LkF0KWZvcihyPVtbWGMuZyYmMTE9PT1YYy5wdCx0aGlzLlV0XSxbWGMuYiYmWGMucHQ8NDEsdGhpcy5JdF0sW1hjLmIsdGhpcy5CdF0sW1hjLmQmJlhjLnB0PDQ3LHRoaXMuTXRdLFtYYy51dCx0aGlzLkR0XSxbWGMuY3QsdGhpcy5SdF0sW1hjLmImJlhjLnB0Pj01OSx0aGlzLld0XSxbWGMudXQmJlhjLnB0Pj00Nix0aGlzLld0XV0sZT0wO2U8cltwaV07ZSsrKWlmKHJbZV1bMF0pZm9yKGkgaW4gcltlXVsxXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0ocltlXVsxXSxpKSYmKHRoaXMubXRbaV09cltlXVsxXVtpXSk7fX0sZ2V0T3B0aW9uczpmdW5jdGlvbigpe3JldHVybiB0aGlzLk50KCk7fSxOdDpmdW5jdGlvbigpe3ZhciB0LGU7ZT17fTtmb3IodCBpbiB0aGlzLm10KXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXSh0aGlzLm10LHQpJiZ0W3BpXT49MyYmKGVbdF09dGhpcy5tdFt0XSk7fXJldHVybiBlO30scXQ6ZnVuY3Rpb24oKXtHYy5KdCgpP3RoaXMuVnQ9Z3U6dHUuYSh0aGlzLm10LmJ0LDEsdGhpcy5tdC5DdCx0aGlzLm10LkV0LHRoaXMubXQuUHQpO319OyhudT1mdW5jdGlvbih0KXt2YXIgZTtlPXRoaXM7dGhpcy5RdD10O3RoaXMuR3Q9dGhpcy5ZdCgpO3RoaXMuS3Q9dGhpcy5adCgpO2l1LlgodGhpcy5HdCxncyxmdW5jdGlvbigpe0dzKGUuS3QpO1pjLlAoZS5HdCk7fSk7fSlbWHRdPXtZdDpmdW5jdGlvbigpe3ZhciB0LEs3LHI3LFE3O0s3PS0xODIwMzgxMDU7cjc9MTk5MDM1MjYxMTtRNz0yO2Zvcih2YXIgajc9MTt3NS5kMShqNy50b1N0cmluZygpLGo3LnRvU3RyaW5nKCkubGVuZ3RoLDg2ODQwKSE9PUs3O2o3Kyspe3Q9WmMueihoYyx7Y2xhc3M6ZnV9LEdyKTtyZXR1cm4gdGhpcy5RdFtTYytHcittY11bWHMrR3IrdHMrR3IrbmNdKCk9PT1Rcj9yaVtRcl1bSXQrR3IrV2VdKHQpOnRoaXMuUXRbX3QrR3IraV1bTmMrR3IrT3NdKHQsdGhpcy5RdFtWcytHcitrc10pLHQ7UTcrPTI7fWlmKHc1LkwxKFE3LnRvU3RyaW5nKCksUTcudG9TdHJpbmcoKS5sZW5ndGgsMzM0MykhPT1yNyl7dD1aYy56KGhjLHtjbGFzczpmdX0sR3IpO3JldHVybiB0aGlzLlF0W1NjKkdyL21jXVtYcypHci10cy1Hci1uY10oKT09UXI/cmlbUXJdW0l0L0dyL1dlXSh0KTp0aGlzLlF0W190L0dyJWldWyhOYy1HcikqT3NdKHQsdGhpcy5RdFsoVnMtR3IpJWtzXSksdDt9fSxadDpmdW5jdGlvbigpe3ZhciB0O3Q9dGhpcztyZXR1cm4gQ28oZnVuY3Rpb24oKXt2YXIgZSxpO2k9VWModC5RdFt4ZV1bc24rR3IrenNdLDEwKTt0LlF0W1NjK0dyK21jXVtYcytHcit0cytHcituY10oKT09PVFyJiYoaT05ZTkpOyhlPV9uK1Z0K2dvK2VyK0RhK1Z0K04rZXIrbG4rVnQraytlcitHcisoS2ErVnQrR3IpK3QuUXRbZnIrR3Ird2NdKyhobytlcitHcikrKG9jK1Z0K0dyKSt0LlF0W2ZyK0dyK2ddKyhobytlcitHcikrKEhpK1Z0K0dyKSt0LlF0W2ZyK0dyK1duXSsoaG8rZXIrR3IpKyhwK1Z0K0dyKSt0LlF0W2ZyK0dyK0NjXSsoaG8rZXIrR3IpKyhzbit3aStMK1Z0K0dyKSsocWMoaSk/MjppKzEpKSE9PXQuR3RbYWErR3IrR2ldKHhlKSYmdC5HdFtsaStHcitHaV0oeGUsZSk7fSwxNTApO319O251Llh0PWZ1bmN0aW9uKHQpe3ZhciBlO3c1Llk0KDEyKTtlPXc1LmM0KHJ1LExpLHdpLHdpLEdyLGllLEdyKTt0W2FhK0dyK0dpXShlKXx8dFthYStHcitHaV0obG8pPT09ZnV8fCh0W2xpK0dyK0dpXShlLDEpLG5ldyBudSh0KSk7fTsoUWM9e2R0OmZ1bmN0aW9uKCl7dmFyIHQsZTtlPXRoaXMuZWUoKTtmb3IodD0wO3Q8ZVtwaV07dCsrKWlmKGVbdF1bMV0oKT09PWd1KXtyZXR1cm4gZVt0XVswXTt9cmV0dXJuIHl1O30sZWU6ZnVuY3Rpb24oKXt2YXIgdDt0PVtdO3JldHVybiBYYy5vdHx8WGMuaXQ/W106KHRbTXJdKFt0aGlzLmllLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlhjLnB0Pj02NCYmWGMucHQ8Njc7fV0pLHRbTXJdKFt0aGlzLm5lLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubnQmJlhjLnB0Pj00MyYmWGMucHQ8NjQ7fV0pLHRbTXJdKFt0aGlzLnJlLGZ1bmN0aW9uKCl7dmFyIGI3LHE3LG03O2I3PS02MDMwNTI0OTU7cTc9LTQwNjg3OTgwNDttNz0yO2Zvcih2YXIgSTc9MTt3NS5MMShJNy50b1N0cmluZygpLEk3LnRvU3RyaW5nKCkubGVuZ3RoLDU1NDM5KSE9PWI3O0k3Kyspe3JldHVybiBYYy5ifHxaYy5ZKCl8fFhjLm18fFhjLnB0PD0xN3x8WGMucHQ+PTg5O203Kz0yO31pZih3NS5MMShtNy50b1N0cmluZygpLG03LnRvU3RyaW5nKCkubGVuZ3RoLDYyMDk0KSE9PXE3KXtyZXR1cm4gWGMuYnx8WmMuWSgpfHxYYy5tfHxYYy5wdDw9MTd8fFhjLnB0Pj04OTt9cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubSYmWGMucHQ+PTQ5JiZYYy5wdDw2NDt9XSksdFtNcl0oW3RoaXMub2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZDt9XSksdFtNcl0oW3RoaXMuc2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZyYmWGMucHQ+PTExO31dKSx0W01yXShbdGhpcy5hZSxmdW5jdGlvbigpe3JldHVybiBYYy5odDt9XSksdFtNcl0oW3RoaXMuY2UsZnVuY3Rpb24oKXt2YXIgVDAsRTAsbzA7VDA9MTIwNjMzNjEyMTtFMD0xMjk2MjQyMjUyO28wPTI7Zm9yKHZhciBwMD0xO3c1LmQxKHAwLnRvU3RyaW5nKCkscDAudG9TdHJpbmcoKS5sZW5ndGgsNDUyNzYpIT09VDA7cDArKyl7cmV0dXJuIFhjLnV0fHxYYy5udHx8WGMucHQ+PTc0O28wKz0yO31pZih3NS5MMShvMC50b1N0cmluZygpLG8wLnRvU3RyaW5nKCkubGVuZ3RoLDY1MzgpIT09RTApe3JldHVybiBYYy51dCYmWGMubnQmJlhjLnB0PD00ODt9fV0pLHQpO319KS50ZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMudGVbWHRdPXtfZTprdSx1ZTpmdW5jdGlvbih0KXt2YXIgcjUsUTUsZTU7cjU9LTk1ODI4OTMwMTtRNT0tNjIxNDQ4NDIyO2U1PTI7Zm9yKHZhciBaNT0xO3c1LmQxKFo1LnRvU3RyaW5nKCksWjUudG9TdHJpbmcoKS5sZW5ndGgsOTUyNjgpIT09cjU7WjUrKyl7dGhpcy5mZT10O2U1Kz0yO31pZih3NS5MMShlNS50b1N0cmluZygpLGU1LnRvU3RyaW5nKCkubGVuZ3RoLDE0MzU1KSE9PVE1KXt0aGlzLmZlPXQ7fX0sbGU6a3UscGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhO2k9dGhpcztuPWkuZmU7cj1uLkh0KCk7bz1uLm10O3M9by53dHx8WmMuJCg1KTthPVpjLmsobyk7aWYodD1mdW5jdGlvbigpe3RyeXtpZih0eXBlb2Ygby5GdD09PVpzJiZvLkZ0W0NpXShuLHIsbyk9PT15dSl7cmV0dXJuIHl1O319Y2F0Y2godCl7S2MuZSh0KTt9cmV0dXJuIG11O30sZT1mdW5jdGlvbih0KXtpZih0eXBlb2Ygby5TdD09PVpzKXRyeXtvLlN0W0NpXShuLHIsbyx0KTt9Y2F0Y2godCl7S2MuZSh0KTt9fSx0KCk9PT15dSl7cmV0dXJuIHl1O310eXBlb2Ygb1t6XT09PVRjJiZvW3pdIT09ciYmKHI9b1t6XSk7R2MuanQoby5qdCk7dGhpcy5fZSgpO3RyeXtyZXR1cm4gdGhpcy5sZShyLG8scyxhLGZ1bmN0aW9uKHQpe2kuZGUodCk7aS5oZSYmR2MuaGUoKTtlKHQpO30pO31jYXRjaCh0KXtyZXR1cm4gS2MuZSh0KSx5dTt9fSx2ZTpmdW5jdGlvbih0LGUsaSl7cmV0dXJuKEdjLm10LmJlP1pjLkM6QXUpKHQsZSxpKTt9LGRlOmt1LGhlOmd1fTtRYy5tZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMubWVbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTp5dSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3IodGhpcy52ZSh0LGksbikpO319KTtRYy5nZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuZ2VbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTohWGMub3QmJiFYYy5kLGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7cih0aGlzLnZlKHQsRmkpKTt9fSk7UWMueWU9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnllW1h0XT1aYy55KFFjLnRlW1h0XSx7a2U6ZnVuY3Rpb24oKXt2YXIgdCxlLGk7dD1HYy53ZSgpO2U9R2MueGUuUztpPXR5cGVvZiBHYy5tdC5PZT09PVpzP0djLm10Lk9lW0NpXSgpOkdjLm10Lk9lO3JldHVybiBmdW5jdGlvbigpe3ZhciBuLHI7cmV0dXJuIGkhPT1GdT9pOihuPVpjLiQoMSkscj1lP2k6R2MuQ2UodCl8fGksZXUucygpfHwhWGMub3QmJiFYYy5nP3I6KHR1LmEoY3UsbixtdSkscltaXSh2cixHcikrKEdyK3NlK0dyKStuKSk7fSgpO30sbGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgeDksejksaDksbyxzLGEsYyx1LGgsZixwO3g5PTE3MTA2NjI4Nzg7ejk9LTEwMzk3MjE3MTM7aDk9Mjtmb3IodmFyIEw5PTE7dzUuZDEoTDkudG9TdHJpbmcoKSxMOS50b1N0cmluZygpLmxlbmd0aCwzMDE4NykhPT14OTtMOSsrKXtoOSs9Mjt9aWYodzUuZDEoaDkudG9TdHJpbmcoKSxoOS50b1N0cmluZygpLmxlbmd0aCw0NTQ4MCkhPT16OSl7fWE9dGhpcy5rZSgpO2M9R2Mud2UoKTt1PVpjLk4oYyk7aD0xNTtmPVtdO3A9ZnVuY3Rpb24odCl7dmFyIGU7dHlwZW9mIHRbQW5dPT09WnMmJihlPXRbQW5dLGl1LlgodCxncyxlKSk7dFtBbl09ZnVuY3Rpb24oKXtyZXR1cm4geXU7fTt9O2ZvcihHYy5FZSgpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKSE9PUZpJiZaYy5mKGMsdW4pJiYocChjKSwwIT09Y1thYStHcitHaV0odW4pW0wrR3IrV2FdKEN0KSYmKGE9Y1thYStHcitHaV0odW4pKT09PUdyJiYoYT1GdSkpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKT09PUZpJiZaYy5mKGMsdW4pJiYocChjKSxpbyhmdW5jdGlvbigpe2NbQW5dPW11O30sM2UzKSxHYy5tdC5QZT9hPWNbYWErR3IrR2ldKHVuKTooYT1GdSxYYy5vdCYmKFhjLnV0P2ZbTXJdKGZ1bmN0aW9uKCl7QXUoY1thYStHcitHaV0odW4pLEZpKTt9KTppbyhmdW5jdGlvbigpe0F1KGNbYWErR3IrR2ldKHVuKSxGaSk7fSwyMCkpKSksWGMuZXQmJlhjLnV0fHxYYy5ldCYmWGMuc3QmJiFYYy5kJiYhWGMuYiYmIVhjLmh0PyhBdShhLEZpKSxaYy5IKEJyLGZ1bmN0aW9uKCl7WmMuVCh0KTt9LGgpKTohWGMub3QmJlpjLmgoYyxUaSkhPT1GaSYmKFhjLnV0JiZYYy5zdHx8WGMuaHQmJlhjLnB0PDEwfHxYYy5iJiZYYy5wdDw0MSk/WGMudXQ/KFpjLlEoYSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KFpjLlEodCksY1tTYytHcittY109PT1PbiYmdSYmWmMuVCh1KSk6WGMuZXQmJlhjLmQ/KG89QXUoYSxGaSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KG89eVtRYV0oVWErVnQrY2ksRmkpKT8ob1tFaV1bdW5dPWEsWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6bz1BdSh0LEZpKSxzPTA7czxmW3BpXTtzKyspe2Zbc11bQ2ldKCk7fW8mJnIobyk7fX0pO1FjLm9lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5vZVtYdF09WmMueShRYy50ZVtYdF0se2hlOnl1LGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG87bz10aGlzLnZlKHQsaSxuKTtvW2tuXSgpO1R1W2JvXSgpO1pjLk0obyk7aW8oZnVuY3Rpb24oKXtyKG8pO30sMWUzKTt9fSk7UWMuY2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLmNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZSh0LGksbik7cz1HYy5UZSgxZTMpO2l1LksoeSxibyxmdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9KTtvW2NjXT1mdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9O3Iobyk7fX0pO1FjLmFlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5hZVtYdF09WmMueShRYy50ZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIEQ5LFc5LGw5LG87RDk9MTk0OTIwNzgwOTtXOT04OTkwMjg0O2w5PTI7Zm9yKHZhciBWOT0xO3c1LkwxKFY5LnRvU3RyaW5nKCksVjkudG9TdHJpbmcoKS5sZW5ndGgsNTc4NTApIT09RDk7VjkrKyl7bDkrPTI7fWlmKHc1LkwxKGw5LnRvU3RyaW5nKCksbDkudG9TdHJpbmcoKS5sZW5ndGgsNTEwNjgpIT09Vzkpe315W3NvXT1aYy4kKDUpO289dGhpcy52ZSh0LGksbik7dGhpcy52ZShHcix5W3NvXSxHcik7eVtzb109bXU7cihvKTt9LGhlOnl1fSk7UWMuc2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZShQdT90OkZ1LGksbik7cz1mdW5jdGlvbigpe29bRWldW3VuXT10O307aXUuSyhvLGtuLHMpO29ba25dKCk7VHVbYm9dKCk7aW8ocywxMDApO3Iobyk7fSxoZTp5dX0pO1FjLm5lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5uZVtYdF09WmMueShRYy50ZVtYdF0se0ZlOmZ1bmN0aW9uKCl7dmFyIHQsZTtlPVpjLnooYXIse2RhdGE6WmMuTChlbitQZStNYyx0aGlzLkFlKStaYy4kKDMpfSk7cmV0dXJuKHQ9WmMueihoYyx7c3R5bGU6UGkrVnQrYStlcitvYytWdCtIcytlcitLYStWdCtIcytlcitEYStWdCtOK2VyK3ArVnQrRnIrSGErR3IrZXIrSGkrVnQrem4rZXIrayt3aStHYStWdCtYaStlciskbytWdCthK2VyK0dyfSkpW0l0K0dyK1dlXShlKSxbZSx0XTt9LFNlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMueSh0LHt9KTtyZXR1cm4gZVtwXT1lW0hpXT05ZTUsZVtvY109ZVtLYV09MSxlO30sQWU6THQrR3IrdGErR3IrRmMrR3IrUHMrR3Irb24rR3IrV2MrR3IreG8rR3IrJCtHcithaStHcituK0dyK1NhK0dyK0tyK0dyK1F0K0dyK2t0K0dyK3p0K0dyK3RjK0dyK1l0K0dyK3ZhK0dyK3MrR3IrdmErdWMraG4rR3IrTGErR3IrenQrR3IrVytHcitEYytHcitaYStHcittdCtHcitWaStHcitzYStHcitVZStHcitUYStHcit2YStHcitWaStHcitQcitHcit4bytHcitVZStHcitpYytHcitwbytHcitLcitHcitKK0dyK2hzK0dyK1ppK0dyK3ZhK0dyK1ByK0dyK0xhK0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrWGErR3IrVHMrR3IrWmkrR3IrdmErR3IrUHIrR3IrSGUrR3IrenQrR3IrVytHcitGYytHcit0YytHcityYytHcithZStHcit2aStHcit2YStHcitQcitHcitydCtHcitwcytHcittdCtHcituYStHcitUbytHcityZStHcit4bytHcit0YStHcitqaStHcitXK0dyK2F0K0dyK3ZhK0dyK1ByK0dyK2MrR3IrYit1YytFK0dyK1FvK0dyK3BzK0dyK2RjK0dyK1l0K0dyK3ZhK0dyK1lhK0dyK1hhK0dyK1RzK0dyK1ppK0dyK3ZhK0dyK0dlK0dyK09lK0dyK2dhK0dyK0hvK0dyK3ZhK0dyK1ByK0dyK2t0K0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrdmErR3Ircm4rdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitrdCtHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK09lK0dyK1krR3IrS3QrR3IreG8rR3IrVWUrR3IrYnMrR3IrRnQrR3IrUG8rR3IrRStHcitVZStHcitiaStHcitVZStHcitTZStHcitWcitHcitEcytHcit4bytHcitVZStHcitHbytHcit2YStHcitQdCtHcitVZStHcitScitHcit5YytHcitPZStHcitWbytHcitLcitHcit2YytHcitiZStHcitzK0dyK3hjK0dyK0tvK0dyK3IrR3IrYWkrR3IrZnQrdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitBZStHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK05hK0dyK1RzK0dyK010K0dyK2hyK0dyK1lzK0dyK0tzK0dyK0UrR3IrVWUrR3IrZm4rR3IrcmMrR3IrYWUrR3IrRCtHcitMdCtHcitWcitHcit0YStHcittdCtHcitacitHcitWcitHcitPZSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3ZhciBzLGEsYyx1LGg7dT10aGlzO2g9eXU7dHJ5eyhhPXRoaXMudmUoVWErVnQrY2ksRmkpKVttcl1bcnJdKHc1LnU0KHVyLEdyLEdyLGpvLFBlLHVpLEdyLFFyLEdyLFBlLG8sR3IsdWksdWksR3IsdXIsUGUsR3IsdXIsam8sR3IsdXIsbyx1aSxHcix1cixHcix1aSxRcix1cix1aSx3NS5ZNCgxMykpKTtpdS5LKGEscWEsZnVuY3Rpb24oKXtmdW5jdGlvbiBmKCl7bigpO2FbSW9dKCk7bygpO3JvKGMpO31ofHwoaD1ndSxzPWFbQmNdPUF1KFVhK1Z0K2NpLGksWmMuayh1LlNlKGUpKSksaXUuWChhLGJvLGYpLGM9aW8oZiwzZTMpLGFbbXJdW1FyXVtQYStHcithaStHcit4YytHcit6dCtHcitwYV09dS5GZSgpWzFdW1BuK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXSk7ZnVuY3Rpb24gbigpe3c1Llk0KDE0KTthW21yXVtRcl1bdzUudTQoUGEsenQsR3IsR3IsR3IseGMsR3IsYWkscGEpXT1Hcjt9ZnVuY3Rpb24gbygpe3ZhciBhMSxZMSxmMTthMT0tMTU2OTI3MTMyMDtZMT0yMzc1ODcyNDtmMT0yO2Zvcih2YXIgRDE9MTt3NS5MMShEMS50b1N0cmluZygpLEQxLnRvU3RyaW5nKCkubGVuZ3RoLDk0NDMyKSE9PWExO0QxKyspe3NbRWMlR3ItYmFdKGVbSGldLGVbcF0pO3NbZGElR3IqYmFdKGVbb2NdLGVbS2FdKTtzW0VpXVtaXSh0KTtyKHMpO2YxKz0yO31pZih3NS5kMShmMS50b1N0cmluZygpLGYxLnRvU3RyaW5nKCkubGVuZ3RoLDYyNDUzKSE9PVkxKXtzW0VjJUdyLWJhXShlW0hpXSxlW3BdKTtzW2RhJUdyKmJhXShlW29jXSxlW0thXSk7c1tFaV1bWl0odCk7cihzKTt9c1tFYytHcitiYV0oZVtIaV0sZVtwXSk7c1tkYStHcitiYV0oZVtvY10sZVtLYV0pO3NbRWldW1pdKHQpO3Iocyk7fX0pO31jYXRjaCh0KXt9fX0pO1FjLnJlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5yZVtYdF09WmMueShRYy5uZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG8scztzPVpjLk8oZ3UpO2l1LksoeSxibyxmdW5jdGlvbigpe1pjLlAocyk7b1tFaV1bWl0odCk7cihvKTt9KTt3NS5vNCg0KTtvPXRoaXMudmUodzUuYzQoVWEsVnQsY2kpLEZpKTtzW3RvK0dyK3lhXVttcl1bcnJdKHRoaXMuRmUoKVsxXVtQbitHcithaStHcit4YytHcit6dCtHcitwYV0pO319KTtRYy5pZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuaWVbWHRdPVpjLnkoUWMudGVbWHRdLHtMZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47aT10aGlzO249eXU7dzUubzQoNCk7ZT10aGlzLnZlKHc1LmM0KFVhLFZ0LGNpKSx0Lnd0fHxGaSx0LkJlfHxHcik7dC56ZSYmKGUmJmVbSW9dKCksbj1ndSk7IW4mJmUmJmlvKGZ1bmN0aW9uKCl7ZVtFaV1bdW5dPXQueHQ7dC5JZSYmaS5JZShlKTt9LDEwMCk7fSx1ZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47bj10aGlzO3RoaXMuamU9ZHJbTW5dKCk7dGhpcy5mZT10O2U9R2Mud2UoKTt3NS5vNCgxNSk7aT1aYy5CKGUsdzUuYzQoZ3QsR3IseGMsR3IsR3IsRmMseGMsR3IsZmMsR3IsVnIpKTsoZVtTYytHcittY109PT1PbiYmZVthYStHcitHaV0oanIpIT09RmkmJiFaYy5TKGUpfHxpJiYhWmMuUyhpKSkmJih0aGlzLmhlPWd1KTtpdS5YKHksSWUsZnVuY3Rpb24gdChlKXt0cnl7ZVtpZV0uamU9PT1uLmplJiZuLkxlKGVbaWVdKTtlW2llXS56ZSYmaXUuWih5LEllLHQpO31jYXRjaCh0KXt9fSk7fSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3RoaXMuSWU9cjt0aGlzLk1lKHtqZTp0aGlzLmplLEJlOm4sSWU6Z3UseHQ6dH0pO3RoaXMuTWUoe2plOnRoaXMuamUsemU6Z3UseHQ6VWErVnQrY2l9KTt9LGhlOnl1LE1lOmZ1bmN0aW9uKHQpe3lbSnQrR3IrWF0odCx5W0VpXVtSb10pO319KTtHYz17X2k6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5RaSgpK3RoaXMuSGkoKT5aYy5HKCk7fSxLaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm10LkplO30sSmU6ZnVuY3Rpb24oKXt2YXIgdDt0PVpjLngoYXJndW1lbnRzWzBdKT9hcmd1bWVudHNbMF06YXJndW1lbnRzO3JldHVybiB0aGlzLm5uKHQsUm4sdFtwaV0mJnRbMF09PT15dSk7fSxraTpmdW5jdGlvbih0LGUsaSxuKXt0aGlzLk9pKGksdCxndSl8fG4oZ3UseXUpO30sV2k6ZnVuY3Rpb24odCl7dHJ5e3JldHVybiB0W3F0XSYmMCE9PXRbcXRdfHx0aGlzLmNpLkcrMTUwPlpjLkcoKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LFJpOmZ1bmN0aW9uKCl7dGhpcy5XZT1bXTt9LFlpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQucWU7fSxVaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLldlO30sWmU6bXUsVGk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHx0aGlzLnFpKHQpKXtyZXR1cm4geXU7fWlmKCF0aGlzLm10LnFlW3BpXXx8dFthYStHcitHaV0obG8pPT09ZnUpe3JldHVybiBndTt9Zm9yKDtlPHRoaXMubXQucWVbcGldO2UrKylpZih0PT09dGhpcy5tdC5xZVtlXXx8dHlwZW9mIHRoaXMubXQucWVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5xZVtlXVtYcytHcitwcitHcituY10oKXx8WmMuSSh0LHRoaXMubXQucWVbZV0pKXx8WmMuQih0LHRoaXMubXQucWVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LHdlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueGUuUXQ7fSxMaTpmdW5jdGlvbigpe3ZhciB0LGU7ZT10aGlzO3RoaXMuWmU9WmMueihoYyx7c3R5bGU6b2MrVnQrRnIrSGErR3IrZXIrS2ErVnQrRnIrSGErR3IrZXIrRGErVnQrSXMrZXIrcCtWdCt6bitlcitIaStWdCt6bitlcitzbit3aStMK1Z0K25vK2VyK3h0K1Z0K1hpK2VyK0dyfSxHcik7dD1DbyhmdW5jdGlvbigpe3ZhciBpO2k9cmlbUXJdO2kmJihHcyh0KSxpW0l0K0dyK1dlXShlLlplKSk7fSwxMDApO30saGk6ZnVuY3Rpb24oKXt2YXIgTjksYTksWTksdCxlLGk7Tjk9LTUxNTA4MTc1NzthOT0tMTMwNjg1MTEzNztZOT0yO2Zvcih2YXIgczk9MTt3NS5kMShzOS50b1N0cmluZygpLHM5LnRvU3RyaW5nKCkubGVuZ3RoLDEwMDExKSE9PU45O3M5Kyspe1k5Kz0yO31pZih3NS5MMShZOS50b1N0cmluZygpLFk5LnRvU3RyaW5nKCkubGVuZ3RoLDQ1MzQ0KSE9PWE5KXt9aT10aGlzLlhlLm9pO2Zvcih0PTA7dDx0aGlzLmZpW3BpXSYmKCF0aGlzLnBpKCkmJiF0aGlzLl9pKCkpO3QrKyl7aWYoZT10aGlzLmZpW3RdLHRoaXMuWGUuc2krKyx0aGlzLlhlLm9pPVpjLkcoKSx0aGlzLmxpKGUpPT09eXUpe3JldHVybiB0aGlzLlhlLnNpLS0sdm9pZCh0aGlzLlhlLm9pPWkpO31pPXRoaXMuWGUub2k7ZXUuYShodSx0aGlzLlhlLm9pKTtlLnl0PT09bHUmJmV1LmEodXUsdGhpcy5YZS5zaSk7fX0sT2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBuLHIsbyxzO3c1Lm80KDQpO289dzUuYzQoR3IsVHQsR3IpO3c1Llk0KDIpO3M9dzUuYzQobyx0KTtmb3Iobj0wO248ZVtwaV07bisrKWlmKHI9KEdyK090K0dyK1R0K0dyKVtMK0dyK1dhXShlW25dWzBdKT4tMT9lW25dOm8rZVtuXSxzW2ZzXShzW3BpXS1yW3BpXSk9PT1yfHxpJiZyPT09d3Upe3JldHVybiBndTt9cmV0dXJuIHl1O30sZW46ZnVuY3Rpb24odCxlKXt2YXIgTDAsZDAsTzAsaSxuO0wwPTEyMjU5MjUxNjQ7ZDA9LTc2NDA0NzIyNjtPMD0yO2Zvcih2YXIgQzA9MTt3NS5MMShDMC50b1N0cmluZygpLEMwLnRvU3RyaW5nKCkubGVuZ3RoLDk4MzQ3KSE9PUwwO0MwKyspe08wKz0yO31pZih3NS5MMShPMC50b1N0cmluZygpLE8wLnRvU3RyaW5nKCkubGVuZ3RoLDg1NTk4KSE9PWQwKXt9aT10aGlzO249dGhpcy50bih0LGUpO3RoaXMuV2VbTXJdKG4pO3RoaXMuRGkobik7dGhpcy5pbnx8KEdjLkNpKCksZnVuY3Rpb24oKXt2YXIgdCxlO1hjLmImJigoZT1yaVtVcytHcitDbl0oaGMpKVtSYytHcitpdF0oVmEsZnVuY3Rpb24oKXtDdT1ndTt9KSxDdT1vNSx0PUNvKGZ1bmN0aW9uKCl7aWYoQ3U9eXUsIWkubXQuUmUpe2lmKHR5cGVvZiB5W3dzXSE9PWFyfHx0eXBlb2YgeVt3c11bT29dIT09WnMpe3JldHVybiBDdT1vNSx2b2lkIEdzKHQpO315W3dzXVtPb10oZSk7eVt3c11bTWldKCk7fX0sNTAwKSk7fSgpLHRoaXMuaW49bzUpO30sUGk6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuSmkoKSx0P3RoaXMuZmlbcGldOnRoaXMuZmlbcGldPjA7fSx2aTpmdW5jdGlvbigpe3ZhciB0LGU7dD1aYy5HKCk7ZT1aYy5HKGF1KTt3NS5ZNCgxNik7dGhpcy5YZS5yaT13NS5jNChlLHQsMzE1MzYwMDAwMDApO3RoaXMuWGUucmkmJih0aGlzLmxpPWt1KTt9LEJpOmZ1bmN0aW9uKCl7dmFyIHQ7dD1VYyhldS5jKGh1KSwxMCk7cWModCkmJih0PTApO3RoaXMuWGUub2k9dDt9LENlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMuTih0KTtyZXR1cm4gZSYmIXRoaXMubXQuTmUmJlpjLlModCk/eXU6ZTt9LGp0OmZ1bmN0aW9uKHQpe3ZhciBlLGksbjtlPXR5cGVvZiB0PT09Z2U/Z3U6ISF0O3c1Lm80KDIpO2k9dzUuYzQocnUsSSk7bj1yaVthYStHcitDbitHcitpaStHcit0bl0oaSk7ZT9ufHwobj1aYy56KERvLHtjb250ZW50OkljK3dpK2lhLG5hbWU6aWEsaWQ6aX0pLHJpW2FhK0dyK1JlK0dyK2lpK0dyK1JpK0dyK21jXShvKVswXVtJdCtHcitXZV0obikpOm4mJlpjLlAobik7fSxHaTpmdW5jdGlvbigpe3RoaXMuWGUuaWk9Z3U7dGhpcy5oaT1rdTt9LEp0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQuRGU7fSx5aTpmdW5jdGlvbih0LGUsaSxuLHIpe2Zvcih2YXIgbyxzPTA7czxlJiYobz10W3NdLCEoMT09PW4mJihyKGlbcytlXSx0W3NdKmlbc10rcysoaVtzXT4+cyszKSl8fHIoaVtzKzIqZV0sdFtzXSoodFswXSt0WzFdK3RbMl0pKyhpW3NdPDxzKSl8fHIoaVtzKzMqZV0sZHJbQWNdKHRbMF0qdFsxXSp0WzJdL28pK28rKGlbc10+PnMpKSl8fG48MSYmKHIoaVtzK2VdLHRbc10qaVtzXStzKXx8cihpW3MrMiplXSx0W3NdKih0WzBdK3RbMV0rdFsyXSkpfHxyKGlbcyszKmVdLGRyW0FjXSh0WzBdKnRbMV0qdFsyXS9vKStvKSkpKTtzKyspO30scWk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHwhdGhpcy5tdC5KZVtwaV0pe3JldHVybiB5dTt9Zm9yKDtlPHRoaXMubXQuSmVbcGldO2UrKylpZih0PT09dGhpcy5tdC5KZVtlXXx8dHlwZW9mIHRoaXMubXQuSmVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5KZVtlXXx8WmMuSSh0LHRoaXMubXQuSmVbZV0pKXx8WmMuQih0LHRoaXMubXQuSmVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LGNpOnt1aTp7fSxHOjB9LEhpOmZ1bmN0aW9uKCl7cmV0dXJuIFhjLm90P2RyW0JvXSh0aGlzLm10LlZlLDFlMyk6WGMuYnx8WGMuZ3x8WGMuY3R8fFhjLnV0JiYhWGMuZXQ/ZHJbQm9dKHRoaXMubXQuVmUsMjAwKTp0aGlzLm10LlZlO30sRWU6ZnVuY3Rpb24odCl7dmFyIGUsWjcsdDcsVTc7Wjc9LTEyNTc1NDEyNDI7dDc9MTMwMDY1ODcyMDtVNz0yO2Zvcih2YXIgejc9MTt3NS5MMSh6Ny50b1N0cmluZygpLHo3LnRvU3RyaW5nKCkubGVuZ3RoLDgzNTc3KSE9PVo3O3o3Kyspe2U9dHx8dGhpcy5jaS51aTtVNys9Mjt9aWYodzUuZDEoVTcudG9TdHJpbmcoKSxVNy50b1N0cmluZygpLmxlbmd0aCwzMDU1KSE9PXQ3KXtlPXQmJnRoaXMuY2kudWk7fXRyeXtlW01vK0dyK25pXSYmZVtNbytHcituaV0oKTtlW3FlK0dyK19zXSYmZVtxZStHcitfc10oKTt3NS5vNCg0KTtlW3c1LmM0KE5yLEdyLGNvKV09eXU7dzUubzQoNCk7ZVt3NS51NChtcyxHcixIcildPWd1O31jYXRjaCh0KXt9fSxpOmZ1bmN0aW9uKCl7dmFyIE8xLEcxLEMxO08xPS0xMzAyMzI0NTE3O0cxPTg4ODY0MDYzMDtDMT0yO2Zvcih2YXIgbjE9MTt3NS5kMShuMS50b1N0cmluZygpLG4xLnRvU3RyaW5nKCkubGVuZ3RoLDU5MTU1KSE9PU8xO24xKyspe3JldHVybiB0aGlzLm10LlVlfHx0aGlzLm10LkRlO0MxKz0yO31pZih3NS5MMShDMS50b1N0cmluZygpLEMxLnRvU3RyaW5nKCkubGVuZ3RoLDIzODAyKSE9PUcxKXtyZXR1cm4gdGhpcy5tdC5VZSYmdGhpcy5tdC5EZTt9fSxwaTpmdW5jdGlvbigpe3ZhciBoNyxpNyxMNztoNz0tMTUxMTEyMzE1NDtpNz0tMTY3MjAwNTI5NjtMNz0yO2Zvcih2YXIgTzc9MTt3NS5kMShPNy50b1N0cmluZygpLE83LnRvU3RyaW5nKCkubGVuZ3RoLDMyNTMzKSE9PWg3O083Kyspe3JldHVybiB0aGlzLiRpKCk8dGhpcy5tdC5IZTtMNys9Mjt9aWYodzUuTDEoTDcudG9TdHJpbmcoKSxMNy50b1N0cmluZygpLmxlbmd0aCwxOTk5KSE9PWk3KXtyZXR1cm4gdGhpcy4kaSgpPj10aGlzLm10LkhlO319LGdpOmZ1bmN0aW9uKHQsZSxpLG4scil7Zm9yKHZhciBvLHM9MDtzPGUmJihvPXRbc10sISgxPT09biYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzErKGlbc108PGlbc10lMTApLGlbZStzXSl8fHIob1trZStHcitucytHcitCaV0ob1twaV0tMSkqaVtzXSoyK3MrKGlbc10+PnMpLGlbMiplK3NdKXx8cihvW3BpXSppW3NdKjMrKGlbc108PHMpLGlbMyplK3NdKSl8fG48MSYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzEsaVtlK3NdKXx8cihvW2tlK0dyK25zK0dyK0JpXShvW3BpXS0xKSppW3NdKjIrcyxpWzIqZStzXSl8fHIob1twaV0qaVtzXSozLGlbMyplK3NdKSkpKTtzKyspO30sV2U6W10sdG46ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IFljKHRoaXMuV2VbcGldLHQsZSk7fSxBaTpmdW5jdGlvbih0KXt0aGlzLmNpLnVpPXQ7dGhpcy5jaS5HPVpjLkcoKTt9LGFpOltdLE1pOmZ1bmN0aW9uKHQpe3JldHVybiBudS5YdCh0KSx0aGlzO30sWmk6ZnVuY3Rpb24oKXtyZXR1cm4gWmMucChbW1RyLHRoaXMubXQuRGVdLFtvaSx0aGlzLm10LlVlXSxbd3QsdGhpcy5tdC5SZV0sW0xyK0dyK3plLHRoaXMubXQuT2VdLFtSbitHcitFbix0aGlzLm10Lk5lXSxbRHQsdGhpcy5tdC5IZV0sW2xjK0dyK2JhLHRoaXMubXQucWVdLFtSbitHcitiYSx0aGlzLm10LkplXSxbUW4sdGhpcy5tdC5WZV0sW3crR3IrVix0aGlzLm10LiRlXSxbdytHcitEbix0aGlzLm10LlFlXSxbcG4rR3IrdHIrR3IrTG4sdGhpcy5tdC5HZV0sW0JzK0dyK2wrR3IrU3MsdGhpcy5tdC4kdF0sW05zK0dyKyRyLHRoaXMubXQuWWVdLFtJYytHcitwYytHcitfaSx0aGlzLm10LmJlXSxbTHMrR3IrYnQsdGhpcy5tdC5LZV0sW0IrR3IrdmUrR3IrX28rR3IreW4rR3IrTG4sdGhpcy5tdC5QZV1dKTt9LFRlOmZ1bmN0aW9uKHQpe3ZhciBlLGk7aT1aYy5PKGd1KTtyZXR1cm4gZT1pW3RvK0dyK3lhXVttcl1bVXMrR3IrQ25dKGRlKSwwPT09eVtFaV1bdW5dW0wrR3IrV2FdKGorVnQrR3IpP2VbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPUdyKyhXcitZZStHcit3bitHcikrKGYrVHQrUytUdCthYStHcitaZStHcitRaStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKTplW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoV3IrWWUrR3Ird24rR3IpKyhZcitUdCtjYStHcitfZStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSxpW3RvK0dyK3lhXVttcl1bUXJdW0l0K0dyK1dlXShlKSx0eXBlb2YgdCE9PVd0JiZ0eXBlb2YgdCE9PWdlfHxpbyhmdW5jdGlvbigpe1pjLlAoaSk7fSx0fHw1MDApLGk7fSxOaTpmdW5jdGlvbigpe3ZhciBvMSx3MSxwMTtvMT0tMjExMjgyOTI0MDt3MT00MjIxODMwODI7cDE9Mjtmb3IodmFyIHEwPTE7dzUuZDEocTAudG9TdHJpbmcoKSxxMC50b1N0cmluZygpLmxlbmd0aCwzNTgxNCkhPT1vMTtxMCsrKXtmb3IodmFyIHQsZT02O2U8PXRoaXMuV2VbcGldO2UtLSl7dD10aGlzLldlW2VdO3R1LnUodC5tdC5idCk7fXRoaXMuWGUub2k9dGhpcy5YZS5zaT00O2V1LnUodXUpO2V1LnUoY3UpO2V1LnUoaHUpO3AxKz0yO31pZih3NS5MMShwMS50b1N0cmluZygpLHAxLnRvU3RyaW5nKCkubGVuZ3RoLDUxMjkxKSE9PXcxKXtmb3IodmFyIHQsZT0yO2U8dGhpcy5XZVtwaV07ZSsrKXt0PXRoaXMuV2VbZV07dHUudSh0Lm10LmJ0KTt9dGhpcy5YZS5vaT10aGlzLlhlLnNpPTM7ZXUudSh1dSk7ZXUudShjdSk7ZXUudShodSk7fWZvcih2YXIgdCxlPTA7ZTx0aGlzLldlW3BpXTtlKyspe3Q9dGhpcy5XZVtlXTt0dS51KHQubXQuYnQpO310aGlzLlhlLm9pPXRoaXMuWGUuc2k9MDtldS51KHV1KTtldS51KGN1KTtldS51KGh1KTt9LHppOmZ1bmN0aW9uKCl7dmFyIHQ7dD0wO3JldHVybiBldS5zKCk/KHQ9ZXUuYyh1dSksZXUudSh1dSkpOnR1LmModXUpJiYocmlbaWFdPT09UnRbdW5dfHx+UnRbdW5dW0wrR3IrV2FdKEdyK3NlK0dyK3R1LmMoY3UpKSkmJih0PXR1LmModXUpLGlvKGZ1bmN0aW9uKCl7dHUudSh1dSk7dHUudShjdSk7fSwzMDApKSx0PVVjKHQsMTApLHQ9cWModCk/MDp0LHRoaXMuWGUuc2k9dDt9LG10OntOZTpndSxLZTp5dSxKZTpbXSxWZTowLCR0OmJ1LCRlOltdLERlOnl1LE9lOkZ1LEhlOjk5OTksUmU6eXUscWU6W10sWWU6MTAsVWU6eXUsUWU6Z3UsUGU6eXUsYmU6eXUsR2U6Z3V9LCRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuWGUuc2k7fSxRaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLlhlLm9pO30sYmk6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhLGMsdSxuOSxGOSxnOTtzPXRoaXM7YT0wO2M9dGhpcy5YZTt1PWZ1bmN0aW9uKHQsZSl7dmFyIFA5LEo5LFg5O1A5PTMyNTI1NjI2O0o5PS05NTA1MjQwNDM7WDk9Mjtmb3IodmFyIFM5PTE7dzUuTDEoUzkudG9TdHJpbmcoKSxTOS50b1N0cmluZygpLmxlbmd0aCw0ODQ5MykhPT1QOTtTOSsrKXtyZXR1cm4gdD09PWV8fChjLm5pPWd1LHMubGk9a3UpLHQhPWU7WDkrPTI7fWlmKHc1LkwxKFg5LnRvU3RyaW5nKCksWDkudG9TdHJpbmcoKS5sZW5ndGgsNTM4MDApIT09Sjkpe3JldHVybiB0IT09ZSYmKGMubmk9Z3Uscy5saT1rdSksdCE9PWU7fX07aWYodHlwZW9mIHlbcnVdW2FyXSE9PWdlKXtjLm5pPW11O3Q9eVtydV1bYXJdW1huXSgpO2U9eVtydV1bYXJdW1huXSgpO2k9eVtydV1bYXJdW1huXSgpO249eVtydV1bYXJdW1huXSgpO3I9WmMuRigoeVtydV1bYXJdW1huXSgpfHx7c3JjOm51bGx9KVtYcl0pO289WmMuRih4dVtYcl0pO3RyeXtuOT0xNDUwNjEyMjI1O0Y5PS01NjY0Nzc2Nzc7Zzk9Mjtmb3IodmFyIFI5PTE7dzUuZDEoUjkudG9TdHJpbmcoKSxSOS50b1N0cmluZygpLmxlbmd0aCwyODY5NSkhPT1uOTtSOSsrKXthPXlbcnVdW2FyXVtYbl0oKSYmNztnOSs9Mjt9aWYodzUuZDEoZzkudG9TdHJpbmcoKSxnOS50b1N0cmluZygpLmxlbmd0aCwzODQzOCkhPT1GOSl7YT15W3J1XVthcl1bWG5dKCkmJjc7fWE9eVtydV1bYXJdW1huXSgpfHwwO31jYXRjaCh0KXt9YT1kcltCb10oMCxkcltrYV0oMSxhKSk7dGhpcy5taSh0LG8scix1KTt0aGlzLmdpKHQsdFtwaV0sZSxhLHUpO3RoaXMueWkoaSxpW3BpXSxuLGEsdSk7dGhpcy5raSh0LHRbcGldLFpjLkYoKSx1LHUpO3RoaXMud2koaSxaYy5HKCkpO2Mubmk9PT1tdSYmKGMubmk9eXUpO31jLnhpPWF8fDA7fSxFaTpmdW5jdGlvbih0LGUpe3ZhciBkOSxPOSxHOTtkOT04MzA2MTMyMTE7Tzk9MTQwNDM5MjY4MztHOT0yO2Zvcih2YXIgazk9MTt3NS5kMShrOS50b1N0cmluZygpLGs5LnRvU3RyaW5nKCkubGVuZ3RoLDE2MDEwKSE9PWQ5O2s5Kyspe3RoaXMueGUuUXQ9dDt0aGlzLnhlLlM9ZTtHOSs9Mjt9aWYodzUuZDEoRzkudG9TdHJpbmcoKSxHOS50b1N0cmluZygpLmxlbmd0aCw3Njg2OSkhPT1POSl7dGhpcy54ZS5RdD10O3RoaXMueGUuUz1lO319LFhpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbix1OSx5OSxIOTtuPXR8fHt9O2ZvcihlIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixlKSlzd2l0Y2godGhpcy5tdFtlXT1pPW5bZV0sZSl7Y2FzZSBUcjp0aGlzLm10LkRlPWk7YnJlYWs7Y2FzZSBvaTp0aGlzLm10LlVlPWk7YnJlYWs7Y2FzZSB3dDp0aGlzLm10LlJlPWk7YnJlYWs7Y2FzZSBMcitHcit6ZTp0aGlzLm10Lk9lPWk7YnJlYWs7Y2FzZSBSbitHcitFbjp0aGlzLm10Lk5lPWk7YnJlYWs7Y2FzZSBEdDp0aGlzLm10LkhlPWk7YnJlYWs7Y2FzZSBsYytHcitiYTp0aGlzLnFlW29hXSh0aGlzLGkpO2JyZWFrO2Nhc2UgUm4rR3IrYmE6dGhpcy5KZVtvYV0odGhpcyxpKTticmVhaztjYXNlIFFuOnRoaXMubXQuVmU9aTticmVhaztjYXNlIHcrR3IrVjp0aGlzLm10LiRlPWk7YnJlYWs7Y2FzZSB3K0dyK0RuOnRoaXMubXQuUWU9aTticmVhaztjYXNlIHBuK0dyK3RyK0dyK0xuOnRoaXMubXQuR2U9aTticmVhaztjYXNlIEJzK0dyK2wrR3IrU3M6dGhpcy5tdC4kdD1pO2JyZWFrO2Nhc2UgTnMrR3IrJHI6dGhpcy5tdC5ZZT1pO2JyZWFrO2Nhc2UgSWMrR3IrcGMrR3IrX2k6dGhpcy5tdC5iZT1pO2JyZWFrO2Nhc2UgTHMrR3IrYnQ6dGhpcy5tdC5LZT1pO2JyZWFrO2Nhc2UgQitHcit2ZStHcitfbytHcit5bitHcitMbjp0aGlzLm10LlBlPWk7fXU5PTE1MDY0OTg2ODA7eTk9NjExNzc3ODY1O0g5PTI7Zm9yKHZhciBUOT0xO3c1LkwxKFQ5LnRvU3RyaW5nKCksVDkudG9TdHJpbmcoKS5sZW5ndGgsNjMyMykhPT11OTtUOSsrKXtyZXR1cm4gdGhpcztIOSs9Mjt9aWYodzUuZDEoSDkudG9TdHJpbmcoKSxIOS50b1N0cmluZygpLmxlbmd0aCw2MzczOSkhPT15OSl7cmV0dXJuIHRoaXM7fX0saGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksZzcsTTcsUjc7Zzc9LTM5MDQ0MjA2O003PS0xNjI0Njc4MzI1O1I3PTI7Zm9yKHZhciBKNz0xO3c1LkwxKEo3LnRvU3RyaW5nKCksSjcudG9TdHJpbmcoKS5sZW5ndGgsNTI1MzkpIT09Zzc7SjcrKyl7ZT10aGlzLndlKCk7aT10aGlzLmNpLnVpO1I3Kz0yO31pZih3NS5MMShSNy50b1N0cmluZygpLFI3LnRvU3RyaW5nKCkubGVuZ3RoLDg0NzUzKSE9PU03KXtlPXRoaXMud2UoKTtpPXRoaXMuY2kudWk7fXRyeXsodD1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0oZ3MsZ3UsZ3UseSwxLGlbT2krR3IrVWVdLGlbT2krR3IreG9dLGlbSGMrR3IrVWVdLGlbSGMrR3IreG9dLHl1LHl1LHl1LHl1LDAsbXUpO3RbVW9dPWd1O2VbZ24rR3IrQ2FdKHQpO31jYXRjaCh0KXtLYy5lKHQpO319LFZpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuUGkobzUpO30sU2k6ZnVuY3Rpb24oKXt2YXIgdCxpLG4scixvLHM7cj10aGlzO289NTAwO3M9ZnVuY3Rpb24odCxlKXt2YXIgaSxuO249WGMuYj9lYzpnczsoaT1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0obixndSxndSx5LDEsZVtPaStHcitVZV0sZVtPaStHcit4b10sZVtIYytHcitVZV0sZVtIYytHcit4b10seXUseXUseXUseXUsMCxtdSk7aS5mYz1ndTt0W2duK0dyK0NhXShpKTt9O2l1LlgocmksJHQsZnVuY3Rpb24ocil7dmFyIG8sRjEsZzEsTTE7dzUubzQoNCk7bz1yW3c1LnU0KHNyLEdyLGUpXVswXTtGMT05NTkwNTM3NzY7ZzE9LTE3NzY2NDMwNTc7TTE9Mjtmb3IodmFyIFAxPTE7dzUuZDEoUDEudG9TdHJpbmcoKSxQMS50b1N0cmluZygpLmxlbmd0aCw4NTkzNCkhPT1GMTtQMSsrKXt3NS5vNCgxOCk7dD1yW3c1LnU0KG9zLEpzLEdyKV07dzUuWTQoMTkpO2k9b1t3NS51NChHcixmbyxVZSldO3c1Lm80KDIwKTtuPW9bdzUuYzQoeG8sZm8sR3IpXTtNMSs9Mjt9aWYodzUuTDEoTTEudG9TdHJpbmcoKSxNMS50b1N0cmluZygpLmxlbmd0aCwxMTM5OCkhPT1nMSl7dzUubzQoMjEpO3Q9clt3NS5jNChvcyxKcyxHcildO3c1Llk0KDIyKTtpPW9bdzUuYzQoR3IsVWUsZm8pXTt3NS5vNCg2KTtuPW9bdzUuYzQoR3IseG8sZm8pXTt9dzUubzQoNCk7dD1yW3c1LnU0KG9zLEdyLEpzKV07dzUuWTQoNCk7aT1vW3c1LmM0KGZvLEdyLFVlKV07dzUubzQoNCk7bj1vW3c1LnU0KGZvLEdyLHhvKV07fSxndSk7aXUuWChyaSx2LGZ1bmN0aW9uKGEpe3ZhciBjLHUsaCxTMCxOMCxhMDtTMD0xMTI5ODE1NDEyO04wPS00NTk2NDE3MTE7YTA9Mjtmb3IodmFyIGYwPTE7dzUuZDEoZjAudG9TdHJpbmcoKSxmMC50b1N0cmluZygpLmxlbmd0aCw5MDQxMCkhPT1TMDtmMCsrKXt3NS5vNCg0KTtjPWFbdzUuYzQoc3IsR3IsZSldWzBdO3U9aXUudHQoYSk7aD1yLm10LlllO2EwKz0yO31pZih3NS5MMShhMC50b1N0cmluZygpLGEwLnRvU3RyaW5nKCkubGVuZ3RoLDUxODk1KSE9PU4wKXt3NS5ZNCg2KTtjPWFbdzUudTQoR3IsZSxzcildWzRdO3U9aXUudHQoYSk7aD1yLm10LlllO31kcltGc10oY1tmbytHcitVZV0taSk+PWh8fGRyW0ZzXShjW2ZvK0dyK3hvXS1uKT49aHx8YVtvcytHcitKc10tdD5vfHxyLm10LlllPD0wfHxYYy5odCYmRGlbaXJdKHVbU2MrR3IrbWNdKXx8ci5YZS5paXx8ci5YZS5uaXx8ci5YZS5yaXx8ci5waSgpfHxyLl9pKCl8fCFyLlBpKCl8fCFyLlRpKHUpfHwhci5tdC5OZSYmWmMuUyh1KXx8KHVbU2MrR3IrbWNdPT09T24mJnIuRWUoYSkscyh1LGMpKTt9LGd1KTt9LG1pOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByLG87bz15dTtmb3Iocj0wO3I8dFtwaV07cisrKWlmKHRbcl09PT13dSl7bz1ndTticmVhazt9byYmKGV8fGkpJiYoIXRoaXMuT2koZSx0KXx8IXRoaXMuT2koaSx0KXx8eVtydV1bdW5dJiZ5W3J1XVt1bl1bcGldJiYhdGhpcy5PaShaYy5GKCkseVtydV1bdW5dKSkmJm4oZ3UseXUpO30seGU6e1F0Om11LFM6eXV9LHFlOmZ1bmN0aW9uKCl7dmFyIHQ7dD1aYy54KGFyZ3VtZW50c1swXSk/YXJndW1lbnRzWzBdOmFyZ3VtZW50cztyZXR1cm4gdGhpcy5ubih0LGxjLHRbcGldJiZ0WzBdPT09eXUpO30sd2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBXMSxsMSxjMTtXMT0xMTQ2NjMzOTY5O2wxPTU4MTgzMzU3NjtjMT0yO2Zvcih2YXIgdTE9MTt3NS5kMSh1MS50b1N0cmluZygpLHUxLnRvU3RyaW5nKCkubGVuZ3RoLDY5ODkxKSE9PVcxO3UxKyspe1pjLkcodFtOaV0oR3IrUGUrR3IpKTxlJiZpKGd1LHl1KTtjMSs9Mjt9aWYodzUuZDEoYzEudG9TdHJpbmcoKSxjMS50b1N0cmluZygpLmxlbmd0aCw0ODMyNikhPT1sMSl7WmMuRyh0W05pXShHciVQZSVHcikpPj1lfHxpKGd1LHl1KTt9fSxDaTpmdW5jdGlvbigpe3ZhciByLG8scyxhLGMsdSxoLGYscCxfO2Z1bmN0aW9uIHQoKXt2YXIgdCxlO3c1Lm80KDE3KTtlPVt3NS51NChIbixUdCxHcixFbixHcixDYSxKYSksdzUuYzQoeG4sVHQsR3IsRW4sR3IsQ2EsSmEsdzUubzQoMTcpKSx3NS5jNChKYSxUdCxRYSx3NS5ZNCg0KSksdzUuYzQoQ24sR3IsVXMsbXIsVHQsdzUubzQoMSkpLHc1LnU0KFdlLEdyLHhuLG1yLFR0LHc1Llk0KDEpKV07Zm9yKHQ9MDt0PGVbcGldO3QrKylpZihaYy5sKGVbdF0pKXtyZXR1cm4gS2MuZSh0LFpjLmwoZVt0XSkpLGd1O31yZXR1cm4geXU7fWZ1bmN0aW9uIGkoaSl7dT0yO198fChfPWd1LGlvKGZ1bmN0aW9uKCl7Xz15dTt9LFhjLm90PzUwMDoxNTApLEN1JiYhcC5VZXx8KHI9aXUudHQoaSksbz1aYy5CKHIsT24pLGM9WmMuUyhyKSxyW2FhK0dyK0dpXShsbyk9PT1mdT8oclt4ZV1beHRdPVhpLFpjLlAocikscj1pdS50dChpLGd1KSk6byYmKHM9KHI9bylbYWErR3IrR2ldKFRpKSxhPVpjLk4ociksYz1aYy5TKHIpKSxmLkVpKHIsYyksZi5YZS5paXx8Zi5YZS5uaXx8Zi5YZS5yaXx8aVtVb118fGUoZi5jaS51aVtPXSYmZi5jaS51aVtPXSE9PWlbT10pfHxlKHAuS2UmJiFFdSl8fGUoIWlbSGMrR3IrVWVdJiYhaVtIYytHcit4b10pfHxlKCFYYy5vdCYmIVhjLmcmJnR5cGVvZiBpW3F0XSE9PWdlJiYwIT09aVtxdF0pfHxlKCFYYy5vdCYmIWYuWmUmJihYYy5jdHx8WGMuYnx8WGMudXQpKXx8ZSghWGMub3QmJiFwLkdlJiYoWGMuYnx8WGMudXQpJiZzPT09RmkpfHxlKGYucGkoKSl8fGUoZi5faSgpKXx8ZSghZi5QaSgpKXx8ZSghZi5UaShyKSl8fGUoYyYmIXAuTmUpfHxlKCFwLlJlJiZ0KCkpfHwoZi5BaShpKSxYYy5ldCYmbyYmYSYmZi5FZShpKSxYYy5vdHx8IW98fGN8fChYYy5iJiZzIT09RmkmJlpjLlkoKXx8cC5HZSYmcz09PUZpJiYoWGMuYnx8WGMudXQpKSYmZi5FZShpKSxmLkZpPW11LGYuaGkoKSkpKTt9Zj10aGlzO3A9Zi5tdDtfPXl1O2Z1bmN0aW9uIGUodCl7cmV0dXJuKyt1LHQmJktjLmUodSksdDt9cC5SZXx8IXQoKT8oaD1YYy5kfHxYYy5nP3FhOmVjLGZ1bmN0aW9uKCl7aXUuWChyaSxncyxpLGd1KTtYYy5vdD8oaXUuWChyaSxlYyxuLGd1KSxpdS5YKHJpLHFhLG4sZ3UpKTppdS5YKHJpLGgsbixndSk7fSgpLHRoaXMuU2koKSx0aGlzLmppKCksdGhpcy5MaSgpLHRoaXMuemkoKSx0aGlzLkJpKCkpOktjLmUoeXUpO2Z1bmN0aW9uIG4odCl7cj1vPWM9cz1hPW11OyFYYy5vdCYmdFtIYytHcitVZV0rKFhjLm50PzE3OjE1KT55W1BhK0dyK2ddP3AuUWUmJigocj17fSkuc2Nyb2xsYmFyPWd1LGYuRWkocix5dSksZi5waSgpfHxmLl9pKCl8fCFmLlBpKCl8fGYuaGkoKSk6aSh0KTt9fSxsaTpmdW5jdGlvbih0KXtpZih0aGlzLlhlLmlpfHx0aGlzLlhlLm5pfHx0aGlzLlhlLnJpKXtyZXR1cm4geXU7fXN3aXRjaCh0Lnl0KXtjYXNlIF91Om5ldyBRYy5tZSh0KS5wZSgpO2JyZWFrO2Nhc2UgZHU6bmV3IFFjLmdlKHQpLnBlKCk7YnJlYWs7Y2FzZSBsdTpuZXcgUWMueWUodCkucGUoKTticmVhaztjYXNlIHB1OnRyeXtuZXcoUWMuZHQoKSkodCkucGUoKTt9Y2F0Y2godCl7S2MuZSh0KTt9fXJldHVybiB0LnF0KCksZ3U7fSxqaTpmdW5jdGlvbigpe3ZhciB0LGUsaSxuLHIsbztuPXRoaXM7cj17fTtvPWZ1bmN0aW9uKHQpe2ZvcihlPTA7ZTx0W3BpXTtlKyspe24uTWkodFtlXSk7fX07Q28oZnVuY3Rpb24oKXt2YXIgZTtmb3IodD0wO3Q8bi5tdC4kZVtwaV07dCsrKXtpZihlPW4ubXQuJGVbdF0sKGk9cmlbYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGUpKVtwaV0mJm4ucGkoKXx8IW4uUGkoKSl7cmV0dXJuO310eXBlb2YgcltlXSE9PWdlJiZyW2VdPT09aVtwaV18fG8oaSk7fX0sMWUzKTt9LElpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbixyLG8scyxlOSxqOSxaOTtvPTI7cz15dTtmb3IoZT0wO2U8PW87ZSsrKXtpZigobj1yaVt3citHcitqbitHcitMY10odFtIYytHcitVZV0rZSx0W0hjK0dyK3hvXSkpJiZuW1NjK0dyK21jXT09PXBhK0dyK09uK0dyK0ZjK0dyK1BzK0dyK3BhKXtzPWd1O2JyZWFrO31mb3IoaT0wO2k8PW87aSsrKWlmKChuPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXStlLHRbSGMrR3IreG9dK2kpKSYmbltTYytHcittY109PT1wYStHcitPbitHcitGYytHcitQcytHcitwYSl7cz1ndTticmVhazt9aWYocylicmVhazt9aWYocylmb3Iocz15dSxyPW5bYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGVpKSxlPTA7ZTxyW3BpXTtlKyspaWYoWmMuVShyW2VdKSl7cz1ndTticmVhazt9ZTk9MTI0NjQ2Mzc5O2o5PTE4ODY4MTA5NztaOT0yO2Zvcih2YXIgVTk9MTt3NS5MMShVOS50b1N0cmluZygpLFU5LnRvU3RyaW5nKCkubGVuZ3RoLDU5MDM1KSE9PWU5O1U5Kyspe3JldHVybiBzP246eXU7WjkrPTI7fWlmKHc1LmQxKFo5LnRvU3RyaW5nKCksWjkudG9TdHJpbmcoKS5sZW5ndGgsNDQ5MzkpIT09ajkpe3JldHVybiBzP246eXU7fX0sRGk6ZnVuY3Rpb24oKXtpZighdGhpcy5YZS5laSl7dGhpcy5YZS5laT1ndTt0cnl7dGhpcy52aSgpO3RoaXMuYmkoKTt9Y2F0Y2godCl7fUtjLmUoW3RoaXMuWGUubmk/MDoxLHRoaXMuWGUucmk/MDoxLHRoaXMuWGUueGldW05pXShHcikpO319LFhlOnt0aTp5dSxuaTpndSxlaTp5dSxvaTowLHJpOmd1LHNpOjAsaWk6eXV9LG5uOmZ1bmN0aW9uKHQsZSxpKXtmb3IodmFyIG4scj0wLG89ZT09PVJuP3RoaXMubXQuSmU6dGhpcy5tdC5xZTtpJiZvW3BpXTspe29bQnNdKCk7fWZvcig7cjx0W3BpXTtyKyspe3R5cGVvZihuPXRbcl0pPT09VGM/b1tNcl0obik6dHlwZW9mIG49PT1hciYmdHlwZW9mIG5bd2ErR3IrbWNdPT09VGMmJm9bTXJdKG4pO31yZXR1cm4gdGhpczt9LEppOmZ1bmN0aW9uKCl7dmFyIHkxLEgxLHYxLHQsZTt5MT0xNzAzNzYyNDUyO0gxPTEyMTk1OTkwMzk7djE9Mjtmb3IodmFyIEUxPTE7dzUuZDEoRTEudG9TdHJpbmcoKSxFMS50b1N0cmluZygpLmxlbmd0aCwzODk3NykhPT15MTtFMSsrKXtlPTY7Zm9yKHRoaXMuZmk9W107ZT49dGhpcy5XZVtwaV07ZS0tKXsodD10aGlzLldlW2VdKS5MdCgpfHx0aGlzLmZpW01yXSh0KTt9djErPTI7fWlmKHc1LmQxKHYxLnRvU3RyaW5nKCksdjEudG9TdHJpbmcoKS5sZW5ndGgsMjE2MzkpIT09SDEpe2U9MTtmb3IodGhpcy5maT1bXTtlPnRoaXMuV2VbcGldO2UrKyl7KHQ9dGhpcy5XZVtlXSkuTHQoKSYmdGhpcy5maVtNcl0odCk7fX1lPTA7Zm9yKHRoaXMuZmk9W107ZTx0aGlzLldlW3BpXTtlKyspeyh0PXRoaXMuV2VbZV0pLkx0KCkmJnRoaXMuZmlbTXJdKHQpO31yZXR1cm4gdGhpcy5maTt9LGRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2kudWk7fX07aXUuWCh5LFN0LGZ1bmN0aW9uKCl7dmFyIFg3LEI3LFM3O1g3PTIwMTA5MDA5MDY7Qjc9LTE2OTQwNjQ1NTI7Uzc9Mjtmb3IodmFyIGE3PTE7dzUuTDEoYTcudG9TdHJpbmcoKSxhNy50b1N0cmluZygpLmxlbmd0aCwxNDk3OSkhPT1YNzthNysrKXtFdT0hMTtTNys9Mjt9aWYodzUuZDEoUzcudG9TdHJpbmcoKSxTNy50b1N0cmluZygpLmxlbmd0aCw2MjI0OCkhPT1CNyl7RXU9IXt9O31FdT1vNTt9KTtpbyhmdW5jdGlvbigpe3c1Lm80KDE1KTtLYy5lKHc1LnU0KFNpLFllLEdyLFR0LFllLE0sR3IsWWUsUWUsT3QsQW8pKTt3NS5vNCg0KTtLYy5lKHc1LmM0KHhhLFZ0LEdyKSxvdSk7dzUuWTQoNCk7S2MuZSh3NS5jNChxaSxWdCxHciksc3UpO3c1Lm80KDQpO0tjLmUodzUudTQoRXMsVnQsR3IpLGF1KTt9LDEwKTt5W3J1XT15W3J1XXx8ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG87cj17fTtvPVpjLnAoW1trbytHcitSYStHcitudCxbR2MsR2MuaV1dLFtKbixzdV0sW0d0LG91XSxbWW8rR3IraXMsYXVdLFt6YSxbR2MsR2MuWGkscl1dLFthYStHcitJaSxbR2MsR2MuWmldXSxbYWErR3IrUStHcitiYSxbR2MsR2MuWWldXSxbYWErR3IrX28rR3IrYmEsW0djLEdjLktpXV0sW3crR3IrQ24sW0djLEdjLk1pXV0sW0huLFtHYyxHYy5lbixyXV0sW0duLFtHYyxHYy5oaSxyXV0sW2VzLFtHYyxHYy5HaSxyXV0sW2xjK0dyK2JhLFtHYyxHYy5xZSxyXV0sW1JuK0dyK2JhLFtHYyxHYy5KZSxyXV0sW2FhK0dyK2h0K0dyK0NuLFtHYyxHYy53ZV1dLFthYStHcitubitHcitabyxbR2MsR2MuJGldXSxbYWErR3IreWUrR3IrWm8sW0djLEdjLlZpXV0sW0JhK0dyK3llLFtHYyxHYy5QaV1dLFtrbytHcitkdCtHcitKZSxbR2MsR2MucGldXSxbYWErR3IrVXQrR3IramUrR3IrQmksW0djLEdjLlFpXV0sW2FhK0dyK1V0K0dyK0NhLFtHYyxHYy5kaV1dLFt6aSxbR2MsR2MuTmldXSxbYWErR3IrXyxbR2MsR2MuVWldXSxbRm8rR3IrXyxbR2MsR2MuUmldXSxbaGErVHQrT28sW0tjLEtjLmVdXSxbaGErVHQrRyxbS2MsS2Mucl1dLFtPYStUdCtsaSxbdHUsdHUuYV1dLFtPYStUdCthYSxbdHUsdHUuY11dLFtPYStUdCt4bixbdHUsdHUudV1dLFt0aStUdCtrbytHcitkaSxbZXUsZXUuc11dLFt0aStUdCtsaSxbZXUsZXUuYV1dLFt0aStUdCthYSxbZXUsZXUuY11dLFt0aStUdCt4bixbZXUsZXUudV1dLFtjZStUdCtKbixYYy5wdF0sW2NlK1R0K0lyK0dyK3FpLFhjLmZ0XSxbY2UrVHQra28rR3IrQ3MsWGMuaXRdLFtjZStUdCtrbytHcitYbyxYYy5udF0sW2NlK1R0K2tvK0dyK01hLFhjLm1dLFtjZStUdCtrbytHcit2YStHcitmYytHcit0YyxYYy5ldF0sW2NlK1R0K2tvK0dyK0JuLFhjLnJ0XSxbY2UrVHQra28rR3Irdm4sWGMub3RdLFtjZStUdCtrbytHcitoZSxYYy5zdF0sW2NlK1R0K2tvK0dyK3l0LFhjLmF0XSxbY2UrVHQra28rR3IrZ2MsWGMuYl0sW2NlK1R0K2tvK0dyK0luLFhjLmRdLFtjZStUdCtrbytHcitGYSxYYy5odF0sW2NlK1R0K2tvK0dyK3ZhK0dyK1BzLFhjLmddLFtjZStUdCtrbytHcitjcyxYYy5jdF0sW2NlK1R0K2tvK0dyK0VvLFhjLnV0XSxbY2UrVHQrSm4rR3IrdXQsW1hjLFhjLkpdXSxbY2UrVHQrYW8rR3IrZGksW1hjLFhjLmx0XV0sW0NhK1R0K2xjK0dyK3FzLFtpdSxpdS5LXV0sW0NhK1R0K2xjLFtpdSxpdS5YXV0sW0NhK1R0K2xhLFtpdSxpdS5aXV0sW0NhK1R0K2FhK0dyK3luLFtpdSxpdS50dF1dLFtLZStUdCtrbytHcit2ZStHciskZSxbWmMsWmMud11dLFtLZStUdCtKbitHcit1dCxbWmMsWmMuSl1dLFtLZStUdCtvcyxbWmMsWmMuR11dLFtLZStUdCt3byxbWmMsWmMueV1dLFtLZStUdCtKaSxbWmMsWmMuJF1dLFtLZStUdCtVcytHcitDbixbWmMsWmMuel1dLFtLZStUdCt4bitHcitDbixbWmMsWmMuUF1dLFtLZStUdCthYStHcitVaSxbWmMsWmMuQl1dLFtLZStUdCtEZStHcitZaSxbWmMsWmMuSF1dXSk7Zm9yKGUgaW4gbylpZih5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShvLGUpKXtmb3Iobj1lW0NyXShHcitUdCtHciksdD1yLGk9MDtpPG5bcGldLTE7aSsrKXt0eXBlb2YgdFtuW2ldXT09PWdlJiYodFtuW2ldXT17fSk7dD10W25baV1dO310W25bbltwaV0tMV1dPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIFpjLngodFtlXSk/MT09PXRbZV1bcGldP3RbZV1bMF06ZnVuY3Rpb24oKXtyZXR1cm4gMj09PXRbZV1bcGldP3RbZV1bMV1bb2FdKHRbZV1bMF0sYXJndW1lbnRzKToodFtlXVsxXVtvYV0odFtlXVswXSxhcmd1bWVudHMpLHRbZV1bMl0pO306dFtlXTt9KG8sZSk7fXJldHVybiByO30oKTt9KHQucG9wbnN8fHpjK0dyK1VjK0dyK09jLHQsdFtFaV0sdFtPaV0sdFttcl0sdFtyb10sdFtibl0sdFtObl0sdFtDb10sdFtyaStHcitpb10sdFtsaStHcitZaV0sdFtNaStHcitZaV0sdFtsaStHcitBaV0sdFtNaStHcitBaV0sdFtMdCtHcit0YytHcitmYytHcitndF0sdFt5K0dyK1J0XSx0W2tvK0dyK3lpK0dyK2d0XSx0W2lzXSx0W1hlK0dyK1ZyK0dyK0dzK0dyK3ZhK0dyK1VyXSx0W2RyXSk7fSh3aW5kb3cpO2Y1eXkuSD1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC55PT09J2Z1bmN0aW9uJz9mNXl5LkwueS5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwueTt9O2Y1eXkuVz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Y1eXkuZz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC5PPT09J2Z1bmN0aW9uJz9mNXl5LkwuTy5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwuTzt9O2Y1eXkuZj1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Z1bmN0aW9uIGY1eXkoKXt9ZjV5eS5CPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5MLnk9PT0nZnVuY3Rpb24nP2Y1eXkuTC55LmFwcGx5KGY1eXkuTCxhcmd1bWVudHMpOmY1eXkuTC55O307ZjV5eS5SPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5JPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5MPWZ1bmN0aW9uKEQpe3JldHVybnt5OmZ1bmN0aW9uKCl7dmFyIEcsZD1hcmd1bWVudHM7c3dpdGNoKEQpe2Nhc2UgMjpHPWRbMF0qZFsxXTticmVhaztjYXNlIDA6Rz1kWzBdfGRbMV07YnJlYWs7Y2FzZSAxOkc9ZFsxXS1kWzBdO2JyZWFrO31yZXR1cm4gRzt9LE86ZnVuY3Rpb24oVil7RD1WO319O30oKTtmNXl5Lno9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiBmNXl5LkwuTz09PSdmdW5jdGlvbic/ZjV5eS5MLk8uYXBwbHkoZjV5eS5MLGFyZ3VtZW50cyk6ZjV5eS5MLk87fTtmNXl5LkM9ZnVuY3Rpb24oKXt2YXIgUT0yO3doaWxlKFEhPT0xKXtzd2l0Y2goUSl7Y2FzZSAyOnJldHVybnt2OmZ1bmN0aW9uKFUpe3ZhciBiPTI7d2hpbGUoYiE9PTE0KXtzd2l0Y2goYil7Y2FzZSAyOnZhciBLPScnLGw9ZGVjb2RlVVJJKCJ0JTExa2JsYyU3RCUwNmhiZGxtbDYhJTNDJTNDKyU1QmNkLTo1JTVENyg4Jy8lNUJ3LzI4bWolM0M4KTA3YiolMUMyJTI1bSUwN3ElN0RvYmslMTh3JTdDc2RtaDcpKSUyMipaMmQlMTgtNUErKS5vbXMlMTUlMjUlM0UwKyU1QiUzQyUxMXUlMjA2TXk/KScsSy1kJTNFOSxLMi00OyUyMCUwNjojMCU3RDUlNUM6IzMya0s2IXU5Kks4JTIwNTo2JTVDcSUxRiUzRScsWC1sMCUyMDYlNUN5Ljh1KUc4KDgxZUolM0MqMiclMjAlMDg1JTI1JTNFMCslNUIlM0NsOyUzQylNcWIxOiZJNSIpO2I9MTticmVhaztjYXNlIDk6Sys9U3RyaW5nLmZyb21DaGFyQ29kZShsLmNoYXJDb2RlQXQoWSleVS5jaGFyQ29kZUF0KGspKTtiPTg7YnJlYWs7Y2FzZSAxOnZhciBZPTAsaz0wO2I9NTticmVhaztjYXNlIDU6Yj1ZPGwubGVuZ3RoPzQ6NzticmVhaztjYXNlIDM6az0wO2I9OTticmVhaztjYXNlIDg6WSsrLGsrKztiPTU7YnJlYWs7Y2FzZSA0OmI9az09PVUubGVuZ3RoPzM6OTticmVhaztjYXNlIDc6Sz1LLnNwbGl0KCcoJyk7cmV0dXJuIGZ1bmN0aW9uKFApe3ZhciBoPTI7d2hpbGUoaCE9PTEpe3N3aXRjaChoKXtjYXNlIDI6cmV0dXJuIEtbUF07YnJlYWs7fX19O2JyZWFrO319fSgnRShZTF1VJyl9O2JyZWFrO319fSgpOyFmdW5jdGlvbihlLG8sYyl7InVzZSBzdHJpY3QiO3ZhciBUPWY1eXk7dmFyIGksbix0O1QuZygwKTtpPVQuUihULkgoIjgiLDApKTtULnooMCk7bj1bVC5JKFQuSCgnXHgzMVx4MzAnLDApKSxULkkoKyI2IiksVC5SKCsnXHgzMVx4MzQnKSxULlIoKyIxMiIpLFQuUihULkgoIjUiLDAsVC5nKDApKSksVC5JKFQuQigwLCdceDMwJyxULnooMSkpKSxULlIoVC5CKCdceDMxXHgzMScsMCxULnooMCkpKSxULkkoKyIyIildO1QuZygyKTt0PVsrJ1x4MzJceDMwXHgzMVx4MzknLFQuQignXHUwMDM1JywxKSxULkgoJ1x4MzFceDM2JywwLFQuZygwKSldO3RyeXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yy5Mb2dnZXIubG9nKGksVC5SKCsnXHgzMScpLG4pO2MuTG9nZ2VyLmxvZyhpLFQuUigiNyItMCksdC5qb2luKFQuSSgnXHgzNCctMCkpKTt9LCsiNTAwIik7VC56KDEpO2Mub2JqZWN0PVtuLFsrIjM2MCIsNDk0LDM5MSwrIjMxMiIsVC5CKDAsIjMxMiIpLFQuSCgiMzY1IiwwLFQuZygwKSksKydceDM0XHgzMFx4MzQnLFQuSCgiMzAwIiwwLFQuZygwKSksKydceDMzXHgzNlx4MzBceDMwXHgzMScsVC5IKDAsJ1x4MzNceDM5XHgzNVx4MzJceDMyJyxULmcoMSkpLFQuQigiMTg3NzEiLDAsVC56KDApKSwrIjM0OTQ4IiwxNjU0MSwyOTU3MSwrJ1x4MzVceDMxXHgzN1x4MzFceDM5JywzMzkwOCxULkgoIjc4ODQwIiwwLFQuZygwKSksMTA1OTY0LCsnXHgzOFx4MzRceDM1XHgzNVx4MzUnLFQuSCgiNzI0MjYiLDAsVC5nKDApKSxULkgoJ1x4MzNceDMwXHgzNVx4MzlceDM5JywwLFQuZygwKSksVC5CKCdcdTAwMzRcdTAwMzFcdTAwMzZcdTAwMzJcdTAwMzYnLDAsVC5nKDApKSxULkIoMCwnXHUwMDM4XHUwMDM4XHUwMDMwXHUwMDM4XHUwMDM0JyxULnooMSkpLFQuSCgiNjU0MDkiLDEsVC5nKDIpKSwxNDQwMCxULkgoIjEyODQ0IiwxLFQueigyKSksKydceDM4XHgzNlx4MzBceDMyJyxULkgoJ1x4MzFceDMwXHgzOVx4MzJceDMwJywxLFQuZygyKSksMTM0MTYsVC5IKCdceDMyXHgzNFx4MzhceDMyXHgzMCcsMCxULmcoMCkpLFQuQignXHgzM1x4MzdceDM5XHgzN1x4MzYnLDAsVC56KDApKSwrJ1x4MzVceDMxXHg2NVx4MzMnXSx0LFtULkgoJ1x4MzNceDM2XHgzMicsMCxULmcoMCkpLDQ5NiwrJ1x4MzNceDM5XHgzOScsVC5IKDAsIjczMDkyMyIsVC5nKDEpKSwrJ1x1MDAzMlx1MDAzNVx1MDAzMVx1MDAzMicsVC5IKCI2Mzk4IiwwLFQueigwKSksVC5IKCdcdTAwMzRcdTAwMzFcdTAwMzFcdTAwMzlcdTAwMzFcdTAwMzJcdTAwMzInLDEsVC5nKDIpKSwrJ1x4MzFceDMxXHgzMVx4MzlceDMyJyxULkgoJ1x4MzNceDM0XHgzMlx4MzNceDM2JywwLFQueigwKSksMjQ2MSwzMjU1NywxMDIxMF0sby5jdXJyZW50U2NyaXB0LFQuSCgiMSIsMSxULmcoMikpXTt9Y2F0Y2gobyl7dm9pZCgnXHgzMCcqMSkhPT1lLmNvbnNvbGUmJmUuY29uc29sZS5sb2cmJkZ1bmN0aW9uLmFwcGx5LmNhbGwoZS5jb25zb2xlLmxvZyxlLmNvbnNvbGUsW1QuSSgnXHgzMVx4MzMnfDApXSk7fX0od2luZG93LGRvY3VtZW50LHdpbmRvd1t3aW5kb3cucG9wbnN8fGY1eXkuUigiMyItMCldKTt2YXIgXzB4MTM4Zj1bJ1x4NThceDQ4XHg2M1x4NzInLCdceDQ5XHg1NFx4NDVceDZmXHg2NFx4NDNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NmNceDUwXHg1NFx4NDVceDZmXHg1YVx4NTNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NzVceDUwXHg1OFx4NTFceDc1XHg2Mlx4NzlceDY3XHg2OVx4NjJceDUzXHg0OVx4NzBceDRmXHg3YVx4NTlceDY3XHg2Mlx4NjlceDM0XHg3OVx4NGNceDZkXHg3N1x4MzlceDQ5XHg2ZFx4NzNceDY5XHg0Y1x4NDdceDM0XHg3NVx4NGRceDY5XHgzNVx4NzdceDUwXHg1NFx4NDFceDczXHg2Mlx4NjlceDM0XHg3OVx4NGNceDZlXHg0NVx4MzlceDRkXHg0M1x4NzhceDc1XHg0Y1x4NmFceDQ5XHg3NVx4NjRceDdhXHgzMFx4NjlceDYxXHg2OVx4NDlceDczXHg2Mlx4NjlceDM1XHgzMVx4NTBceDUzXHg0OVx4MzNceDRmXHg2OVx4MzhceDc2XHg2M1x4NjlceDM1XHgzNFx4NGNceDZhXHg1NVx4NzZceDYxXHg0M1x4MzlceDY4XHg0Y1x4NzlceDQ5XHg3Mlx4NWFceDUzXHg3OFx4MzBceDRjXHg2ZFx4NDlceDc1XHg2MVx4NTNceDY4XHg3NVx4NGJceDUzXHg3OFx4NzVceDY2XHg1M1x4NzhceDc1XHg1MFx4NTdceDRkXHg2Zlx4NWFceDc5XHg2N1x4NmZceDY0XHg0M1x4MzVceDZiXHg0Y1x4NmVceDU5XHg2Zlx4NTFceDY5XHg0Mlx4NGZceDRiXHg0M1x4NDlceDZmXHg0ZVx4N2FceDM5XHgzOFx4NTNceDY5XHgzMVx4MzVceDRiXHg1NFx4NzBceDYzXHg1OFx4NDNceDM5XHg2M1x4NThceDQzXHgzOFx4NjlceDRiXHg1M1x4NzdceDY5XHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDRjXHg3OVx4NDlceDcwXHg1N1x4N2FceDQyXHg2NFx4NjZceDQ4XHg3N1x4NjlceDUzXHg3OVx4MzRceDMxXHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDQ5XHg2OVx4NmJceDc1XHg1NFx4NDNceDY3XHg3OFx4NGJceDQ4XHg1MVx4NzBceDY1XHg3YVx4NTlceDY3XHg2NFx4NDNceDM1XHg0ZVx4NGJceDQ0XHg0MVx4NzBceDRjXHg2Ylx4NjNceDZmXHg1M1x4NDNceDZjXHgzOVx4NGJceDUzXHgzNVx4NDJceDRiXHg0M1x4NDlceDY5XHg0Ylx4NTNceDZiXHg3MFx4NGZceDMzXHg2Zlx4NzVceDRlXHg0M1x4NjdceDY5XHg1MVx4NzlceDQ5XHg3M1x4NGRceDUzXHg2N1x4NzBceDY1XHgzMlx4NTVceDZmXHg2Mlx4NjlceDczXHg2OVx4NGNceDMyXHg1OVx4NzVceDRmXHg1M1x4NDlceDcwXHg0Y1x4NmFceDUxXHg2Zlx4NDlceDZiXHg1MVx4NjlceDRjXHg0NFx4NDVceDZmXHg0Ylx4NThceDc0XHg0N1x4NGJceDQ0XHg0NVx4NmZceDRiXHg1OFx4NzRceDZjXHg0Ylx4NDdceDM0XHg3Mlx4NDlceDY5XHgzOVx4N2FceDRjXHg2YVx4NmJceDY5XHg0Ylx4NThceDMwXHg3M1x4NTJceDUzXHg2Y1x4MzlceDRiXHg1OFx4MzBceDcwXHg2Nlx4NTNceDY4XHg0YVx4NGJceDU0XHg3M1x4M2QnLCdceDYzXHgzM1x4NDJceDczXHg2MVx4NThceDUxXHgzZCcsJ1x4NWFceDZlXHg0YVx4NzZceDYyXHg1NVx4NGVceDZmXHg1OVx4NThceDRhXHg0NFx4NjJceDMyXHg1Mlx4NmMnLCdceDY0XHg0N1x4MzlceDU0XHg2NFx4NDhceDRhXHg3MFx4NjJceDZkXHg2M1x4M2QnLCdceDYzXHg2ZFx4NTZceDc3XHg2Mlx4NDdceDQ2XHg2YVx4NWFceDUxXHgzZFx4M2QnXTsoZnVuY3Rpb24oXzB4MWI1OWFjLF8weDMwZDYwNSl7dmFyIF8weDQ0NTljOT1mdW5jdGlvbihfMHgxNDY4YWMpe3doaWxlKC0tXzB4MTQ2OGFjKXtfMHgxYjU5YWNbJ3B1c2gnXShfMHgxYjU5YWNbJ3NoaWZ0J10oKSk7fX07XzB4NDQ1OWM5KCsrXzB4MzBkNjA1KTt9KF8weDEzOGYsMHgxMGIpKTt2YXIgXzB4MTdjMT1mdW5jdGlvbihfMHgxOTc3ZGIsXzB4Yzc5ZjY5KXtfMHgxOTc3ZGI9XzB4MTk3N2RiLTB4MDt2YXIgXzB4MTYyZGYyPV8weDEzOGZbXzB4MTk3N2RiXTtpZihfMHgxN2MxWydPTXJTcXgnXT09PXVuZGVmaW5lZCl7KGZ1bmN0aW9uKCl7dmFyIF8weDI0NzE2Njt0cnl7dmFyIF8weDViZDYyOT1GdW5jdGlvbigncmV0dXJuXHgyMChmdW5jdGlvbigpXHgyMCcrJ3t9LmNvbnN0cnVjdG9yKFx4MjJyZXR1cm5ceDIwdGhpc1x4MjIpKFx4MjApJysnKTsnKTtfMHgyNDcxNjY9XzB4NWJkNjI5KCk7fWNhdGNoKF8weDMyOTViMCl7XzB4MjQ3MTY2PXdpbmRvdzt9dmFyIF8weDI4M2NlOT0nQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0nO18weDI0NzE2NlsnYXRvYiddfHwoXzB4MjQ3MTY2WydhdG9iJ109ZnVuY3Rpb24oXzB4MzQxYjE5KXt2YXIgXzB4MTQ0Zjk2PVN0cmluZyhfMHgzNDFiMTkpWydyZXBsYWNlJ10oLz0rJC8sJycpO2Zvcih2YXIgXzB4MjhhNzVlPTB4MCxfMHg1OWNiNWIsXzB4MWUwOTNkLF8weDUxZWZhNj0weDAsXzB4OTIyYWFjPScnO18weDFlMDkzZD1fMHgxNDRmOTZbJ2NoYXJBdCddKF8weDUxZWZhNisrKTt+XzB4MWUwOTNkJiYoXzB4NTljYjViPV8weDI4YTc1ZSUweDQ/XzB4NTljYjViKjB4NDArXzB4MWUwOTNkOl8weDFlMDkzZCxfMHgyOGE3NWUrKyUweDQpP18weDkyMmFhYys9U3RyaW5nWydmcm9tQ2hhckNvZGUnXSgweGZmJl8weDU5Y2I1Yj4+KC0weDIqXzB4MjhhNzVlJjB4NikpOjB4MCl7XzB4MWUwOTNkPV8weDI4M2NlOVsnaW5kZXhPZiddKF8weDFlMDkzZCk7fXJldHVybiBfMHg5MjJhYWM7fSk7fSgpKTtfMHgxN2MxWyd4anFrREYnXT1mdW5jdGlvbihfMHgzMzc3MTgpe3ZhciBfMHg1ZGRiMTU9YXRvYihfMHgzMzc3MTgpO3ZhciBfMHg1NjBiOTU9W107Zm9yKHZhciBfMHhjOTdmOTE9MHgwLF8weDQ0MTg3Mj1fMHg1ZGRiMTVbJ2xlbmd0aCddO18weGM5N2Y5MTxfMHg0NDE4NzI7XzB4Yzk3ZjkxKyspe18weDU2MGI5NSs9JyUnKygnMDAnK18weDVkZGIxNVsnY2hhckNvZGVBdCddKF8weGM5N2Y5MSlbJ3RvU3RyaW5nJ10oMHgxMCkpWydzbGljZSddKC0weDIpO31yZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KF8weDU2MGI5NSk7fTtfMHgxN2MxWydrRG1IU2snXT17fTtfMHgxN2MxWydPTXJTcXgnXT0hIVtdO312YXIgXzB4MzA2NDA1PV8weDE3YzFbJ2tEbUhTayddW18weDE5NzdkYl07aWYoXzB4MzA2NDA1PT09dW5kZWZpbmVkKXtfMHgxNjJkZjI9XzB4MTdjMVsneGpxa0RGJ10oXzB4MTYyZGYyKTtfMHgxN2MxWydrRG1IU2snXVtfMHgxOTc3ZGJdPV8weDE2MmRmMjt9ZWxzZXtfMHgxNjJkZjI9XzB4MzA2NDA1O31yZXR1cm4gXzB4MTYyZGYyO307ZXZhbChmdW5jdGlvbihfMHg0OWIyZTksXzB4MTA2OTM1LF8weDIyM2Q1NixfMHgyZmY2ZTksXzB4ZWQ3ZDI2LF8weDNiYzUwMCl7XzB4ZWQ3ZDI2PWZ1bmN0aW9uKF8weDI2YmI4Mil7cmV0dXJuKF8weDI2YmI4MjxfMHgxMDY5MzU/Jyc6XzB4ZWQ3ZDI2KHBhcnNlSW50KF8weDI2YmI4Mi9fMHgxMDY5MzUpKSkrKChfMHgyNmJiODI9XzB4MjZiYjgyJV8weDEwNjkzNSk+MHgyMz9TdHJpbmdbXzB4MTdjMSgnMHgwJyldKF8weDI2YmI4MisweDFkKTpfMHgyNmJiODJbXzB4MTdjMSgnMHgxJyldKDB4MjQpKTt9O2lmKCEnJ1tfMHgxN2MxKCcweDInKV0oL14vLFN0cmluZykpe3doaWxlKF8weDIyM2Q1Ni0tKXtfMHgzYmM1MDBbXzB4ZWQ3ZDI2KF8weDIyM2Q1NildPV8weDJmZjZlOVtfMHgyMjNkNTZdfHxfMHhlZDdkMjYoXzB4MjIzZDU2KTt9XzB4MmZmNmU5PVtmdW5jdGlvbihfMHgzMjA3ZjYpe3JldHVybiBfMHgzYmM1MDBbXzB4MzIwN2Y2XTt9XTtfMHhlZDdkMjY9ZnVuY3Rpb24oKXtyZXR1cm4gXzB4MTdjMSgnMHgzJyk7fTtfMHgyMjNkNTY9MHgxO307d2hpbGUoXzB4MjIzZDU2LS0pe2lmKF8weDJmZjZlOVtfMHgyMjNkNTZdKXtfMHg0OWIyZTk9XzB4NDliMmU5W18weDE3YzEoJzB4MicpXShuZXcgUmVnRXhwKCdceDVjXHg2MicrXzB4ZWQ3ZDI2KF8weDIyM2Q1NikrJ1x4NWNceDYyJywnXHg2NycpLF8weDJmZjZlOVtfMHgyMjNkNTZdKTt9fXJldHVybiBfMHg0OWIyZTk7fShfMHgxN2MxKCcweDQnKSwweDMyLDB4MzIsJ1x4N2NceDY2XHg3NVx4NmVceDYzXHg3NFx4NjlceDZmXHg2ZVx4N2NceDczXHg3NFx4NzlceDZjXHg2NVx4N2NceDczXHg3MFx4NmNceDY5XHg3NFx4N2NceDYxXHg2NFx4NjRceDQ1XHg3Nlx4NjVceDZlXHg3NFx4NGNceDY5XHg3M1x4NzRceDY1XHg2ZVx4NjVceDcyXHg3Y1x4NjNceDZmXHg2ZFx4N2NceDcyXHg2NVx4NzRceDc1XHg3Mlx4NmVceDdjXHg2OFx4NzRceDc0XHg3MFx4NzNceDdjXHg3Nlx4NjFceDcyXHg3Y1x4NzBceDZlXHg2N1x4N2NceDcwXHg3NFx4N2NceDYyXHg2Zlx4NjRceDc5XHg3Y1x4NjVceDZlXHg2M1x4NmZceDY0XHg2NVx4NTVceDUyXHg0OVx4NDNceDZmXHg2ZFx4NzBceDZmXHg2ZVx4NjVceDZlXHg3NFx4N2NceDcyXHg2NVx4NjZceDY1XHg3Mlx4NzJceDY1XHg3Mlx4N2NceDdjXHg3Y1x4NjJceDc0XHg2Zlx4NjFceDdjXHg3Nlx4MzFceDdjXHg2MVx4NzBceDcwXHg2NVx4NmVceDY0XHg0M1x4NjhceDY5XHg2Y1x4NjRceDdjXHg2ZVx4NmZceDZlXHg2NVx4N2NceDYxXHg2Mlx4NzNceDZmXHg2Y1x4NzVceDc0XHg2NVx4N2NceDcwXHg2Zlx4NzNceDY5XHg3NFx4NjlceDZmXHg2ZVx4N2NceDY5XHg2ZFx4NjdceDdjXHg3Y1x4NjNceDcyXHg2NVx4NjFceDc0XHg2NVx4NDVceDZjXHg2NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg3NFx4NmZceDcwXHg3Y1x4NmNceDY1XHg2Nlx4NzRceDdjXHg2MVx4NzBceDY5XHg3Y1x4N2NceDdjXHg3M1x4NzJceDYzXHg3Y1x4NzJceDY1XHg3MFx4NmNceDYxXHg2M1x4NjVceDdjXHg3MFx4NmZceDY5XHg2ZVx4NzRceDY1XHg3Mlx4NDVceDc2XHg2NVx4NmVceDc0XHg3M1x4N2NceDYzXHg2Y1x4NjlceDYzXHg2Ylx4NjFceDY5XHg2ZVx4NjVceDdjXHg2MVx4NzBceDcwXHg3Y1x4NzdceDY5XHg2ZVx4NjRceDZmXHg3N1x4N2NceDZhXHg2Zlx4NjlceDZlXHg3Y1x4NmVceDY1XHg3N1x4N2NceDQ0XHg0Zlx4NGRceDQzXHg2Zlx4NmVceDc0XHg2NVx4NmVceDc0XHg0Y1x4NmZceDYxXHg2NFx4NjVceDY0XHg3Y1x4NmNceDZmXHg2MVx4NjRceDdjXHgzNVx4NjVceDMzXHg3Y1x4NzNceDY1XHg3NFx4NTRceDY5XHg2ZFx4NjVceDZmXHg3NVx4NzRceDdjXHg3NFx4NmZceDUzXHg3NFx4NzJceDY5XHg2ZVx4NjdceDdjXHgzMVx4MzZceDdjXHg2NFx4NmZceDYzXHg3NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg2MVx4NmVceDY0XHg3Mlx4NmZceDY5XHg2NFx4N2NceDY0XHg2Zlx4NzRceDdjXHg2ZFx4NjFceDcwXHg3Y1x4NjNceDY4XHg2MVx4NzJceDQzXHg2Zlx4NjRceDY1XHg0MVx4NzRceDdjXHg1Mlx4NjVceDY3XHg0NVx4NzhceDcwJ1tfMHgxN2MxKCcweDUnKV0oJ1x4N2MnKSwweDAse30pKTsKO3ZhciBjSVBvcCA9IGZ1bmN0aW9uIGNJUG9wKHVybCkgewoJCWNQb3AuY29uZmlnKHsKCQkJY292ZXJUYWdzOiBbJ3ZpZGVvJywgJ2lmcmFtZSddLAoJCQl0YWJVbmRlcklnbm9yZVRhcmdldEJsYW5rOiB0cnVlLAoJCQlkZWxheTogMTAwCgkJfSk7CgkJY1BvcC5hZGQodXJsLCB7CgkJCW5ld1RhYjogdHJ1ZSwKCQkJdW5kZXI6IHRydWUsCgkJCWNvb2tpZUV4cGlyZXM6IDEwMH0pfTs=(Line 1)
Message:
[object HTMLDivElement]
console-api log URL: data:text/plain;base64,d2luZG93LnBvcG5zID0gJ2NQb3AnO3Y3R0cuYzQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmU0PT09J2Z1bmN0aW9uJz92N0dHLlo0LmU0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmU0O307djdHRy5pMT1mdW5jdGlvbigpe3ZhciBxMT1mdW5jdGlvbihJMSxLMSl7dmFyIEExPUsxJjB4ZmZmZjt2YXIgcjE9SzEtQTE7cmV0dXJuKHIxKkkxfDApKyhBMSpJMXwwKXwwO30sbTE9ZnVuY3Rpb24oajEsVTEsaDEpe3ZhciB4MT0weGNjOWUyZDUxLHoxPTB4MWI4NzM1OTM7dmFyIGUxPWgxO3ZhciB0MT1VMSZ+MHgzO2Zvcih2YXIgWjE9MDtaMTx0MTtaMSs9NCl7dmFyIFExPWoxLmNoYXJDb2RlQXQoWjEpJjB4ZmZ8KGoxLmNoYXJDb2RlQXQoWjErMSkmMHhmZik8PDh8KGoxLmNoYXJDb2RlQXQoWjErMikmMHhmZik8PDE2fChqMS5jaGFyQ29kZUF0KFoxKzMpJjB4ZmYpPDwyNDtRMT1xMShRMSx4MSk7UTE9KFExJjB4MWZmZmYpPDwxNXxRMT4+PjE3O1ExPXExKFExLHoxKTtlMV49UTE7ZTE9KGUxJjB4N2ZmZmYpPDwxM3xlMT4+PjE5O2UxPWUxKjUrMHhlNjU0NmI2NHwwO31RMT0wO3N3aXRjaChVMSU0KXtjYXNlIDM6UTE9KGoxLmNoYXJDb2RlQXQodDErMikmMHhmZik8PDE2O2Nhc2UgMjpRMXw9KGoxLmNoYXJDb2RlQXQodDErMSkmMHhmZik8PDg7Y2FzZSAxOlExfD1qMS5jaGFyQ29kZUF0KHQxKSYweGZmO1ExPXExKFExLHgxKTtRMT0oUTEmMHgxZmZmZik8PDE1fFExPj4+MTc7UTE9cTEoUTEsejEpO2UxXj1RMTt9ZTFePVUxO2UxXj1lMT4+PjE2O2UxPXExKGUxLDB4ODVlYmNhNmIpO2UxXj1lMT4+PjEzO2UxPXExKGUxLDB4YzJiMmFlMzUpO2UxXj1lMT4+PjE2O3JldHVybiBlMTt9O3JldHVybntiMTptMX07fSgpO3Y3R0cuRDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LkM2PT09J2Z1bmN0aW9uJz92N0dHLlo0LkM2LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LkM2O307djdHRy5MMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLlo2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5DNj09PSdmdW5jdGlvbic/djdHRy5nNi5DNi5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5DNjt9O3Y3R0cuWjQ9ZnVuY3Rpb24oQTQpe3JldHVybntlNDpmdW5jdGlvbigpe3ZhciBTNCxsND1hcmd1bWVudHM7c3dpdGNoKEE0KXtjYXNlIDI6UzQ9bDRbMF0rbDRbMV07YnJlYWs7Y2FzZSAyMjpTND1sNFsyXStsNFswXS1sNFsxXTticmVhaztjYXNlIDc6UzQ9bDRbNF0rbDRbMTBdK2w0WzExXStsNFszXSsobDRbNl0rbDRbMV0rbDRbNV0rbDRbOV0rbDRbMl0rbDRbMF0rbDRbOF0pK2w0WzddO2JyZWFrO2Nhc2UgNjpTND1sNFsyXS9sNFswXS9sNFsxXTticmVhaztjYXNlIDE3OlM0PWw0WzZdK2w0WzFdK2w0WzBdK2w0WzRdK2w0WzVdK2w0WzJdK2w0WzNdO2JyZWFrO2Nhc2UgMTpTND1sNFszXStsNFs0XStsNFsyXStsNFsxXStsNFswXTticmVhaztjYXNlIDM6UzQ9bDRbMV0rKGw0WzNdK2w0WzVdK2w0WzBdK2w0WzRdK2w0WzJdKTticmVhaztjYXNlIDExOlM0PWw0WzFdPGw0WzBdO2JyZWFrO2Nhc2UgOTpTND1sNFswXT4tbDRbMV07YnJlYWs7Y2FzZSA0OlM0PWw0WzBdK2w0WzFdK2w0WzJdO2JyZWFrO2Nhc2UgODpTND1sNFswXT09PWw0WzFdO2JyZWFrO2Nhc2UgMTQ6UzQ9bDRbMF0rbDRbNF0rbDRbN10rbDRbMl0rbDRbNV0rbDRbM10rbDRbMV0rbDRbNl0rbDRbOF07YnJlYWs7Y2FzZSAyMTpTND1sNFswXSVsNFsyXS1sNFsxXTticmVhaztjYXNlIDEyOlM0PWw0WzVdK2w0WzJdK2w0WzZdK2w0WzBdKyhsNFs0XStsNFszXStsNFsxXSk7YnJlYWs7Y2FzZSAxNjpTND1sNFswXStsNFsyXTxsNFsxXTticmVhaztjYXNlIDIwOlM0PWw0WzFdJWw0WzJdKmw0WzBdO2JyZWFrO2Nhc2UgNTpTND1sNFs1XSsobDRbMTNdK2w0WzNdK2w0WzddK2w0WzEyXStsNFs2XStsNFs0XStsNFsyXStsNFswXStsNFsxMF0rbDRbOF0rbDRbMTFdK2w0WzldK2w0WzFdKTticmVhaztjYXNlIDA6UzQ9bDRbOV0rbDRbOF0rbDRbMl0rbDRbMTNdK2w0WzNdK2w0WzRdK2w0WzFdK2w0WzBdK2w0WzddK2w0WzExXStsNFsxMF0rbDRbNl0rbDRbNV0rbDRbMTRdK2w0WzEyXTticmVhaztjYXNlIDE4OlM0PWw0WzBdKmw0WzJdJWw0WzFdO2JyZWFrO2Nhc2UgMTA6UzQ9LWw0WzBdPT09bDRbMV07YnJlYWs7Y2FzZSAxMzpTND1sNFsxNF0rbDRbMjddK2w0WzE5XStsNFswXStsNFsxMV0rbDRbNV0rbDRbMTBdK2w0WzI5XStsNFsyXStsNFsyM10rbDRbMjBdK2w0WzRdK2w0WzIyXStsNFsxOF0rbDRbMjRdK2w0WzEyXStsNFs3XStsNFsxNV0rbDRbNl0rbDRbMTNdK2w0WzE3XStsNFs5XStsNFsyOF0rbDRbMjFdK2w0WzFdK2w0WzMwXStsNFsyNl0rbDRbMTZdK2w0WzNdK2w0WzI1XStsNFs4XTticmVhaztjYXNlIDE5OlM0PWw0WzFdL2w0WzBdJWw0WzJdO2JyZWFrO2Nhc2UgMTU6UzQ9bDRbNV0rbDRbNF0rbDRbMTBdK2w0WzFdK2w0WzZdK2w0WzldK2w0WzJdK2w0WzddK2w0WzhdK2w0WzNdK2w0WzBdO2JyZWFrO31yZXR1cm4gUzQ7fSxzNDpmdW5jdGlvbihQNCl7QTQ9UDQ7fX07fSgpO3Y3R0cueDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy51ND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuZTQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuZTQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuZTQ7fTtmdW5jdGlvbiB2N0dHKCl7fXY3R0cuWTQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LnM0PT09J2Z1bmN0aW9uJz92N0dHLlo0LnM0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LnM0O307djdHRy5vND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuczQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuczQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuczQ7fTt2N0dHLmw2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuQjQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy5nNj1mdW5jdGlvbigpe3ZhciBzNj0yO3doaWxlKHM2IT09MSl7c3dpdGNoKHM2KXtjYXNlIDI6cmV0dXJue0M2OmZ1bmN0aW9uKHg2KXt2YXIgbTY9Mjt3aGlsZShtNiE9PTE0KXtzd2l0Y2gobTYpe2Nhc2UgNDptNj1JNj09PXg2Lmxlbmd0aD8zOjk7YnJlYWs7Y2FzZSAyOnZhciBQNj0nJyxVNj1kZWNvZGVVUkkoIjIjMUw3QTg4LEk1Vz84O1Y0WiUyMiUzRStHO0IlMjIpJTIwRyUwQUUlMjIkLFE/RTIyJTE0UChBMCMqRypLJjklM0MlNUQ/ViUzQz8sdDtHKCUzRTdNL1Y4Mj8lNUM0UTQtJTIwRyUxOEElMjI4N0skaTkoN0c3TTgyJTA1JTVDOE8/OCxaNUolMjUjJTNFJTVDJG4lMjUyJTdCRyxBJD87VjRabTIhTTVUKCQzVyUzRUgzKCxLP0k5OjdHaCUxNiglMUU3Xz9WMyUzRSxaNUolMjIpJTNDTSRJMyUzRTUlNUMkSjM0JkclMEJHO3U5JTVEJHooJTAwPSU1RT1BJDIhJTVDLlolM0UpOyU1RTJQKCUwOSUzRSU1QzdBODghRylQLyUyMDdHLE0lMjUlMjUwUDZNJTIyNSxqJEc6JTI1N1cuWjMlMjA3VD9KJTIyMiUxNUE2WiUxQSYsaz9FNSQ3JTVEJGswMj1fJTNDVzM4LG8lMjBaJTEzKyxuM0oyIyUyNUc5RTgvN1UkbicvKyUwQzBGZCU3QyUyMkc4TTgoLEk1TTg4N0skSiMhMCU1QyhaNS0lM0VVJH4oJTIwN18uWngyJlgoQzM4LHoyVjkhN0clM0VBJTIwJTI1MSU1QyRwLyUzQzdKJFclM0UjJ1UlM0VaJTIyLTVHJTAzJTE3KCUwNTVXNVYzMiUxMFA0QCglMTk1RyUwQVY5JTNDMyU1RTtQPyMlM0NHNVQzJTIyN0skSDkvM00zSzgyJTA1QTZHJTNDO2pHLk07KSx2NEczMiUxM1U2WjAlM0UzVD9aJTA1ISxLO0oyIz9HJTE4UiglMDU2RzBLPyUyMiwlNjAqWjsjJCU1QyRTPyUyMjZWLVoyJTI1IUk2RS8ybEclMUVLOy07VyRAMz85TTVUKCUwQSElNUUkUDcuJ1clM0VBJDIlMTMlNUUkRTQjJ00kVzUlM0U7SS5aJjkhUSRBJTIwKSUzQ00pWiUyMiUzRTNXKVQ3JTNFN1cuWiY4MVY0QyglMUYmVihFMSkseCRQNy4saT9WJi01JTVDJEk3NCxKL0YlMjU4JTIwRzZLNygsajlWPyUzQyZHJTEzSiUyMiklMjBPO0goJCUyMCU1QyUzQ1o4IyxaKEE3ODdHO1AlMjItMVEkSDklMjI1Ry9WOjIlMUZYLkwoLTBaJTNFQTArOlAwTzohJTNDVipVJD8mTCxTLjUoRyUxNVQzJTNFM0clMENFOjk3RyUxOEgoOSUzQyU1RD9WKCUwNSYlNUM3WiUxNCUzRT1OKUEkMiUxM1clM0VWOSUyNTZHOVEkJTNFN1cuWiUxNCUyMDNXMVoyKSRHNEslMjIyJTFFJTVDJTNDUCg/N1U/RyUyMiMlMjBHJTFEJTFEPy04TmJaPyUyMiUzQyU1QyhaNCUyMDNXMVolMDM1LCU1QyRzPyUyMix4LlolMTQ5MCU1QjZBKCg3WjVAMzIlMDJYKEE4OCxoL0EjKTZHdlolMDU4M1QqWiYtJTIwJTVDNFAoJDNKJFElMjUpJTIwRyhBJiUyMDNaP1olMDAyI0w/Vi8yJTNDJTVDLlM5JTNFOUcpTD8qJkcqVjk4PU0jVDMyPSU1QjBBNTgseSRKIyUyMCUzRUcuSyh+YiUwOGJaPyUyMiUyMkwuWjstJloyWiQpIU01VjMyO18oRTspLHU1UzMlM0UsJTdGalolMDQyJTA2UTtKJTNFMiUxRkc4USUyMjg9VyRvMjIlMTglMDkkcSQlMjAsaSRGMyo9Sz9aJTAwKSUyMEozSzgyJTA0TCRBOC0wVT9AKCUwMyxLP1czOCwlMTEkVjM/O0M/WiMlMjI2JTVDJTNDTTgpNkd6WiUyNSUzRTFHJTFEQSUyMjg3SyUwNSU3QiglMUM6WDRaPzIxVT9FJDIwWClBJTYweCwlNjAkQDMuJyU1RSRDMzgsUztSNz8xSzNUJTIyMjNNLlY/LidNP1coJTFGJkszSjEyLHU3WjgpJTI1RzVKNSUyMDtaMVolMTF1JTI1JTVEJCU3QyhjLFQzSTMyJTE0TDRHJTIyJTI1PVckVjM9JyU1QylQKCUxMHplc3glMjVmKWUpJTBFJTBBJTE3JTBFSnBKNzg7Tz8lMDQ1IzYlNUMlMDZXJTdDJTEwJTBGZSklMEUrMiUxRVA0US4yJTFFJTA5KkwyISwlNUQ/VyUyMiUzRT1AJE07MjZQKVQ3ODFRJE04PzdLLlo4IzYlNUMkajoyJTAxJTVDNkE1OD1LJCUxMiglMDg3JTVCL0MoJTE4MyU1RSlaJTE0JCwlNUU/SzojMVguTTklMjIsJTdDLEE4OCxYKlQ6NSwlNUQ7UDcycUclMEVFJCs3TSRnOSElMjJYKEEoaSwlN0Y2RTEyY0clMTlFJTI1KSwlNUQ1STclMjUlM0NHJTFCUSUyMiQ9SyRGOSgrRztAMjIlMERmJTNFQTAlMjUlM0MlNUMkcDcrLFQ/VyUyNS01JTVDJEk5OSElNUMvVCglMEElMjBWN1olMDYjO1cuWiUyMC0lMjBHJTBFSyMvOiU1QylaJTAyIywlN0QtUig2LFg4VzklMjAnTT9aJTA3Kyx4NEclM0UjJTIwRzNKMikqRy1BNCc7TSRWMyUyMDdYKUEoJTAxPUwpQSglMEEzVTZGNy85RyUwOVA3LzlHOUUlMjIvOkcqSyUyNTgsWjVKNS0mRyUxNiUxNSglMjA3Vz1QJTNFMiUyMCU1RCRUNyUzRSElNUMkaS8yOlAlM0VAMyUyMiwlMDhqJTE0KCUwQTtLP1olMTc2LFEuUCY/LGk/VjslMjUhSjNLODIlMDBQJGsmKSUzQyU1QyhaJTA3MiUzQ1Y0QSgvJ0spSyQyJTIyWD1BKCUzQypHJ1olMTgtPyU1QyRHJTNFLSUzQyU1RT9AKCUxOSZQNlcoPyZLM0oxMiUxMyU1RTglMTYoJTBEJFgzSDcuJTNFJTVDJGJkMiUxNSUwMDNFJTNDMiUxQl8oRTspLHo1SSYjJTNDJTVDNFAoJTBEPVokJTE5KCUwRCUyNUclMTZafiUxMCFFfiUwRCgvPVcuRTU4LH4kVjM/O0M7RjopLHguUCQlMjUwTC5BKCUwMT0lNUIzSDMyPUszQz8lMjIsWC9QJTNFIyUyMEc/JTVDMy8sdipBODIlMERNO1YxKSZHJTNDTS4pNkclMDVQPyE3Vi9QJTA5MiUxM1YkcSglMDg3XztROjgsdTtXJTIyMiUxQkclM0VBJTIyLTFRJHYlMjAyJTA4JTBCJHc1JTNFPVU2RjclM0UsJTdGKVolMDItMEc/JTVDJiUyNSUyMCU1QylaJTE0OyxQJTNFWiUxRiUyMjYlNUMlMjJaOyMwUDZBKCUwRStHJTBETTI4Okc3TyYyJTExViUzRUEoJTIyM1Q/WiUyNSUzQzdaM0I/KTZHKkUlMjIkLFo2TTUnLHElM0VMNzIwVS9WKCUxQyUyMFYqQSQ4K0c5SzgqOyU1RSRXMyUyMDRHJTA4TWY0LGgvWjAlMjA9VihaJTEzNCUyMkclMTVTODIlMTclNUQ9QSglMjUhRyUwRkoyKSUyMEclMUJDMyUyMiZHLiU1RCYpLHpjWmoyJTE0UChBMjIlMURJLk05JTIyIUclM0NROC8mUDVKKCUwNixNO0YjJTNDLEkoTTg4LCU3QyUyMlQ/JTNFN0okZzkjOVA/WiUwNSUyNTBVM0oxMiUyNUclMTVSMyUzRSUzRVgjWiUwMiUyNT8lNUM1USUyMjIlMUQlNUIwQTU4LFYvUDMlM0UscyxGZTIlMjVQJTNFUCUzRTIhVTNHMzIlMUNYJCUxNiglMUM4RyUxNk0yLyxYJGg/PyYlNUM0QSQyJTFGViUyME06JTIwM0clMUVFJTIyKSx2NEg5LTZHKUUwKSxMNEY/JTIyNkcuSyMvOiU1QzRAKCUwRTdfNVYzMjFVO1clMjUyJTAyVilNJTIyJTI1PVckJTYwKCUyNSUzQ1AuWiUxODIlMDlHOUs5JzslNUMkbicyJTBCVDVIKDg9SSRvKC86WChaJTA5LiUzRVg0TyglMjA9JTVFJEsmKSUzQ0clMTJaJTEzJTIwN1Q/SiUyMjIlMDAlNUM2QTc/N0cqSyY5JTNDJTVEP1YoJTNDPUkkdDo5NVA0WiUwNiMlMjJMNEAzJTNFLHMyRSglMTU/VmJaJTNFOD9VJHc3KjNLM1o5JTIyLHc1QDMyJTA1JTBDMUZkMjFVNVczMj9WL1czKD1ONFojPzclMTkpUCQlMjUxTSRnIyUzRSUyMCU1QzRQKC4zWjFDJCMnVyUzRVo7KSZYJFAzNCZHJTE5QzgyIVooQTMlMjIsJTFEJGEoJTBCa1ckbTEyayUwMGMlMURvdWtHKEEwKSUyMEs/VigpIVo7VDMyJTdGRztUJiklM0MlNUQkTDk/JkcqQSQlM0MzJTVFP1olMUYlMjImRyUwRkEoJTIyPUs/QiglMDQ7UztHPSUyNSUzQyU1RSRxJiUzQzdLJCUwRiglMTghSSRzYycsTTVRNSQhTTtWJTIyMiUzRVY5RToyJTAxJTVDNFc/ODtPP1psMiUxRiU1RSRzKHQsdzVQPyo7WjtQPyMlM0NHIVolMDQpNUc1SjQlMjAnSyRnKCUwMTdKKUUxKSxMJCUxNCY0LHgoVjc1LEkoQSUyMCklM0NNJHkoJTBGJTNFUDlPMygsWDhXKCUxQz9HblolMEYhPUAkVDklM0MnSSQlMEMlMDgwJTBFSnNaOTo3SyUzQ0g5OywlMDkkRzkhLF81RyM/LHE/TTEkJkclMEFLJjIlMUNVOU0oJTA2JTIyWiR0JTNDeSUzRSU1QjdaJTAyIyUyMkclM0NNJCksWCpUOiUyNTFYLk05JTIyLCU3RiRnOSUyMjVHJTE5TD8lMjA2RylUOiUyNSZHKEU4KCxKLkUlMjI5IUcpRyQjJTNFVThFJD8sdWolMTElM0UuLFo1UjMlM0UsTTVLOi4zSyRAMyUyMDNAJEsmOCFHJTNFTSUyMDIlMTdPP0olMjI/LHcwRzslMjAlMjUlNUQkcCglM0M2XyRBOyUzQyZAJGYoJTFFOiU1QiRKNzo7JTVFO1A5JTNFLE4oTSUyMiksbDAlMTAoJTI1NVc1VjMyJTExVi9KJTIyMjBWNUgzLSUzQ0clMEVNOyksejVKMCUyNTVHLkElMjU4Iik7bTY9MTticmVhaztjYXNlIDE6dmFyIEg2PTAsSTY9MDttNj01O2JyZWFrO2Nhc2UgOTpQNis9U3RyaW5nLmZyb21DaGFyQ29kZShVNi5jaGFyQ29kZUF0KEg2KV54Ni5jaGFyQ29kZUF0KEk2KSk7bTY9ODticmVhaztjYXNlIDU6bTY9SDY8VTYubGVuZ3RoPzQ6NzticmVhaztjYXNlIDc6UDY9UDYuc3BsaXQoJ34nKTtyZXR1cm4gZnVuY3Rpb24oaDYpe3ZhciBqNj0yO3doaWxlKGo2IT09MSl7c3dpdGNoKGo2KXtjYXNlIDI6cmV0dXJuIFA2W2g2XTticmVhazt9fX07YnJlYWs7Y2FzZSAzOkk2PTA7bTY9OTticmVhaztjYXNlIDg6SDYrKyxJNisrO202PTU7YnJlYWs7fX19KCdWTFI5WiQnKX07YnJlYWs7fX19KCk7djdHRy5kMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLmE2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuZjY9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLmc2LkM2PT09J2Z1bmN0aW9uJz92N0dHLmc2LkM2LmFwcGx5KHY3R0cuZzYsYXJndW1lbnRzKTp2N0dHLmc2LkM2O307djdHRy5yND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuQzY9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuQzYuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuQzY7fTshZnVuY3Rpb24odCl7dmFyIHc1PXY3R0c7dmFyIG81PSEwO3ZhciBlLGksbixyLG8scyxhLGMsdSxoLGYscCxfLGwsZCx2LGIsbSxnLHksayx3LHgsTyxDLEUsUCxULEEsRixTLGosTCx6LEIsSSxNLFcsRCxVLFIsTixILHEsSixWLCQsUSxHLFksSyxaLFgsdHQsZXQsaXQsbnQscnQsb3Qsc3QsYXQsY3QsdXQsaHQsZnQscHQsX3QsbHQsZHQsdnQsYnQsbXQsZ3QseXQsa3Qsd3QseHQsT3QsQ3QsRXQsUHQsVHQsQXQsRnQsU3QsanQsTHQsenQsQnQsSXQsTXQsV3QsRHQsVXQsUnQsTnQsSHQscXQsSnQsVnQsJHQsUXQsR3QsWXQsS3QsWnQsWHQsdGUsZWUsaWUsbmUscmUsb2Usc2UsYWUsY2UsdWUsaGUsZmUscGUsX2UsbGUsZGUsdmUsYmUsbWUsZ2UseWUsa2Usd2UseGUsT2UsQ2UsRWUsUGUsVGUsQWUsRmUsU2UsamUsTGUsemUsQmUsSWUsTWUsV2UsRGUsVWUsUmUsTmUsSGUscWUsSmUsVmUsJGUsUWUsR2UsWWUsS2UsWmUsWGUsdGksZWksaWksbmkscmksb2ksc2ksYWksY2ksdWksaGksZmkscGksX2ksbGksZGksdmksYmksbWksZ2kseWksa2ksd2kseGksT2ksQ2ksRWksUGksVGksQWksRmksU2ksamksTGksemksQmksSWksTWksV2ksRGksVWksUmksTmksSGkscWksSmksVmksJGksUWksR2ksWWksS2ksWmksWGksdG4sZW4sbm4scm4sb24sc24sYW4sY24sdW4saG4sZm4scG4sX24sbG4sZG4sdm4sYm4sbW4sZ24seW4sa24sd24seG4sT24sQ24sRW4sUG4sVG4sQW4sRm4sU24sam4sTG4sem4sQm4sSW4sTW4sV24sRG4sVW4sUm4sTm4sSG4scW4sSm4sVm4sJG4sUW4sR24sWW4sS24sWm4sWG4sdHIsZXIsaXIsbnIscnIsb3Isc3IsYXIsY3IsdXIsaHIsZnIscHIsX3IsbHIsZHIsdnIsYnIsbXIsZ3IseXIsa3Isd3IseHIsT3IsQ3IsRXIsUHIsVHIsQXIsRnIsU3IsanIsTHIsenIsQnIsSXIsTXIsV3IsRHIsVXIsUnIsTnIsSHIscXIsSnIsVnIsJHIsUXIsR3IsWXIsS3IsWnIsWHIsdG8sZW8saW8sbm8scm8sb28sc28sYW8sY28sdW8saG8sZm8scG8sX28sbG8sdm8sYm8sbW8sZ28seW8sa28sd28seG8sT28sQ28sRW8sUG8sVG8sQW8sRm8sU28sam8sTG8sem8sQm8sSW8sTW8sV28sRG8sVW8sUm8sTm8sSG8scW8sSm8sVm8sJG8sUW8sR28sWW8sS28sWm8sWG8sdHMsZXMsaXMsbnMscnMsb3Msc3MsYXMsY3MsdXMsaHMsZnMscHMsX3MsbHMsZHMsdnMsYnMsbXMsZ3MseXMsa3Msd3MseHMsT3MsQ3MsRXMsUHMsVHMsQXMsRnMsU3MsanMsTHMsenMsQnMsSXMsTXMsV3MsRHMsVXMsUnMsTnMsSHMscXMsSnMsVnMsJHMsUXMsR3MsWXMsS3MsWnMsWHMsdGEsZWEsaWEsbmEscmEsb2Esc2EsYWEsY2EsdWEsaGEsZmEscGEsX2EsbGEsZGEsdmEsYmEsbWEsZ2EseWEsa2Esd2EseGEsT2EsQ2EsRWEsUGEsVGEsQWEsRmEsU2EsamEsTGEsemEsQmEsSWEsTWEsV2EsRGEsVWEsUmEsTmEsSGEscWEsSmEsVmEsJGEsUWEsR2EsWWEsS2EsWmEsWGEsdGMsZWMsaWMsbmMscmMsb2Msc2MsYWMsY2MsdWMsaGMsZmMscGMsX2MsbGMsZGMsdmMsYmMsbWMsZ2MseWMsa2Msd2MseGMsT2MsQ2MsRWMsUGMsVGMsQWMsRmMsU2MsamMsTGMsemMsQmMsSWMsTWMsV2MsRGMsVWMsUmMsTmMsSGM7ZT13NS5mNigyMzQpO2k9dzUuWjYoMzk0KTtuPXc1Llo2KDM4OSk7cj13NS5mNig0NTYpO289dzUuWjYoNSk7cz13NS5aNig0NjEpO2E9dzUuWjYoMjU1KTtjPXc1Llo2KDg4KTt1PXc1Llo2KDE3OCk7aD13NS5mNigxODcpO2Y9dzUuZjYoNDgxKTtwPXc1LmY2KDM3Nik7Xz13NS5aNigyNDYpO2w9dzUuZjYoMjQ1KTtkPXc1Llo2KDE0OSk7dj13NS5aNigzNjUpO2I9dzUuWjYoNDgzKTttPXc1LmY2KDcyKTtnPXc1Llo2KDMxMyk7eT13NS5aNigyNTMpO2s9dzUuWjYoNTApO3c9dzUuZjYoNDY5KTt4PS9lZGdlLztPPXc1LmY2KDMzNCk7Qz13NS5aNigzMzMpO0U9dzUuWjYoNTMpO1A9dzUuWjYoMTcpO1Q9dzUuWjYoMzQzKTtBPXc1LmY2KDE5MCk7Rj0vZmlyZWZveHxmeGlvcy9pO1M9dzUuZjYoMjEyKTtqPXc1Llo2KDI1OSk7TD13NS5aNigyNDEpO3o9dzUuZjYoMTA5KTtCPXc1LmY2KDk3KTtJPXc1Llo2KDQxOCk7TT13NS5aNigzODgpO1c9dzUuWjYoNDM1KTtEPXc1LmY2KDM3NSk7VT13NS5aNigzNTgpO1I9dzUuZjYoMTcyKTtOPXc1LmY2KDIzOCk7SD13NS5aNig0ODcpO3E9dzUuWjYoMjIxKTtKPXc1LmY2KDIxMSk7Vj13NS5mNigyMTApOyQ9dzUuWjYoMTYyKTtRPXc1Llo2KDY0KTtHPXc1LmY2KDM0Mik7WT13NS5aNigxMjgpO0s9dzUuWjYoMjA4KTtaPXc1LmY2KDE0MSk7WD13NS5aNig0MzYpO3R0PXc1Llo2KDQ0MSk7ZXQ9dzUuWjYoMjgwKTtpdD13NS5mNigxNzcpO250PXc1Llo2KDEyKTtydD13NS5aNigyNzMpO290PXc1Llo2KDM1NSk7c3Q9L3dpbmRvd3MvO2F0PXc1Llo2KDI1OCk7Y3Q9Lyg/OmZ0cHxodHRwcz8pOlwvXC8oW15cL10rKS87dXQ9dzUuWjYoMjE4KTtodD13NS5mNig0NDIpO2Z0PXc1LmY2KDI2Myk7cHQ9dzUuWjYoMTY2KTtfdD13NS5aNigxMzgpO2x0PXc1Llo2KDMyOSk7ZHQ9dzUuWjYoNDEpO3Z0PXc1Llo2KDIwNyk7YnQ9dzUuWjYoMzYyKTttdD13NS5mNigxNjUpO2d0PXc1LmY2KDM3MSk7eXQ9dzUuWjYoMzYwKTtrdD13NS5aNigyMzkpO3d0PXc1LmY2KDM2Myk7eHQ9dzUuZjYoODIpO090PTk1MDI9PT0yNTAwPzB4MjE0Yzp3NS5mNigxNDgpO0N0PXc1LmY2KDE4NSk7RXQ9dzUuWjYoMTQ0KTtQdD13NS5mNigzMjApO1R0PXc1Llo2KDU1KTtBdD13NS5aNigzMTgpO0Z0PXc1Llo2KDE4OSk7U3Q9dzUuWjYoMTAxKTtqdD0vTVNJRVxzKyhbXGRcLl0rKS9pO0x0PXc1Llo2KDM0MCk7enQ9dzUuZjYoMTYwKTtCdD13NS5aNig0NDQpO0l0PXc1Llo2KDQxMyk7TXQ9dzUuZjYoNDU1KTtXdD13NS5mNig1MSk7RHQ9dzUuWjYoNDE1KTtVdD13NS5mNigyOTkpO1J0PXc1Llo2KDQxNik7TnQ9dzUuWjYoMzczKTtIdD13NS5aNig0MzApO3F0PXc1Llo2KDE2MSk7SnQ9dzUuZjYoMjQ4KTtWdD13NS5aNig0MjcpOyR0PXc1LmY2KDQyNCk7UXQ9dzUuZjYoMzUxKTtHdD13NS5aNigyOTApO1l0PXc1Llo2KDI4MSk7S3Q9dzUuWjYoMjk2KTtadD13NS5aNigyODYpO1h0PXc1LmY2KDE0Nik7dGU9dzUuWjYoNjApO2VlPXc1Llo2KDE0Myk7aWU9dzUuWjYoMjE1KTtuZT0vcmFkaW98Y2hlY2tib3gvaTtyZT13NS5mNigyNzUpO29lPXc1Llo2KDEyNCk7c2U9dzUuZjYoMjE2KTthZT13NS5aNigzMDIpO2NlPXc1LmY2KDExNyk7dWU9LzEyMDd8NjMxMHw2NTkwfDNnc298NHRocHw1MFsxLTZdaXw3NzBzfDgwMnN8YSB3YXxhYmFjfGFjKGVyfG9vfHNcLSl8YWkoa298cm4pfGFsKGF2fGNhfGNvKXxhbW9pfGFuKGV4fG55fHl3KXxhcHR1fGFyKGNofGdvKXxhcyh0ZXx1cyl8YXR0d3xhdShkaXxcLW18ciB8cyApfGF2YW58YmUoY2t8bGx8bnEpfGJpKGxifHJkKXxibChhY3xheil8YnIoZXx2KXd8YnVtYnxid1wtKG58dSl8YzU1XC98Y2FwaXxjY3dhfGNkbVwtfGNlbGx8Y2h0bXxjbGRjfGNtZFwtfGNvKG1wfG5kKXxjcmF3fGRhKGl0fGxsfG5nKXxkYnRlfGRjXC1zfGRldml8ZGljYXxkbW9ifGRvKGN8cClvfGRzKDEyfFwtZCl8ZWwoNDl8YWkpfGVtKGwyfHVsKXxlcihpY3xrMCl8ZXNsOHxleihbNC03XTB8b3N8d2F8emUpfGZldGN8Zmx5KFwtfF8pfGcxIHV8ZzU2MHxnZW5lfGdmXC01fGdcLW1vfGdvKFwud3xvZCl8Z3IoYWR8dW4pfGhhaWV8aGNpdHxoZFwtKG18cHx0KXxoZWlcLXxoaShwdHx0YSl8aHAoIGl8aXApfGhzXC1jfGh0KGMoXC18IHxffGF8Z3xwfHN8dCl8dHApfGh1KGF3fHRjKXxpXC0oMjB8Z298bWEpfGkyMzB8aWFjKCB8XC18XC8pfGlicm98aWRlYXxpZzAxfGlrb218aW0xa3xpbm5vfGlwYXF8aXJpc3xqYSh0fHYpYXxqYnJvfGplbXV8amlnc3xrZGRpfGtlaml8a2d0KCB8XC8pfGtsb258a3B0IHxrd2NcLXxreW8oY3xrKXxsZShub3x4aSl8bGcoIGd8XC8oa3xsfHUpfDUwfDU0fFwtW2Etd10pfGxpYnd8bHlueHxtMVwtd3xtM2dhfG01MFwvfG1hKHRlfHVpfHhvKXxtYygwMXwyMXxjYSl8bVwtY3J8bWUocmN8cmkpfG1pKG84fG9hfHRzKXxtbWVmfG1vKDAxfDAyfGJpfGRlfGRvfHQoXC18IHxvfHYpfHp6KXxtdCg1MHxwMXx2ICl8bXdicHxteXdhfG4xMFswLTJdfG4yMFsyLTNdfG4zMCgwfDIpfG41MCgwfDJ8NSl8bjcoMCgwfDEpfDEwKXxuZSgoY3xtKVwtfG9ufHRmfHdmfHdnfHd0KXxub2soNnxpKXxuenBofG8yaW18b3AodGl8d3YpfG9yYW58b3dnMXxwODAwfHBhbihhfGR8dCl8cGR4Z3xwZygxM3xcLShbMS04XXxjKSl8cGhpbHxwaXJlfHBsKGF5fHVjKXxwblwtMnxwbyhja3xydHxzZSl8cHJveHxwc2lvfHB0XC1nfHFhXC1hfHFjKDA3fDEyfDIxfDMyfDYwfFwtWzItN118aVwtKXxxdGVrfHIzODB8cjYwMHxyYWtzfHJpbTl8cm8odmV8em8pfHM1NVwvfHNhKGdlfG1hfG1tfG1zfG55fHZhKXxzYygwMXxoXC18b298cFwtKXxzZGtcL3xzZShjKFwtfDB8MSl8NDd8bWN8bmR8cmkpfHNnaFwtfHNoYXJ8c2llKFwtfG0pfHNrXC0wfHNsKDQ1fGlkKXxzbShhbHxhcnxiM3xpdHx0NSl8c28oZnR8bnkpfHNwKDAxfGhcLXx2XC18diApfHN5KDAxfG1iKXx0MigxOHw1MCl8dDYoMDB8MTB8MTgpfHRhKGd0fGxrKXx0Y2xcLXx0ZGdcLXx0ZWwoaXxtKXx0aW1cLXx0XC1tb3x0byhwbHxzaCl8dHMoNzB8bVwtfG0zfG01KXx0eFwtOXx1cChcLmJ8ZzF8c2kpfHV0c3R8djQwMHx2NzUwfHZlcml8dmkocmd8dGUpfHZrKDQwfDVbMC0zXXxcLXYpfHZtNDB8dm9kYXx2dWxjfHZ4KDUyfDUzfDYwfDYxfDcwfDgwfDgxfDgzfDg1fDk4KXx3M2MoXC18ICl8d2ViY3x3aGl0fHdpKGcgfG5jfG53KXx3bWxifHdvbnV8eDcwMHx5YXNcLXx5b3VyfHpldG98enRlXC0vaTtoZT13NS5aNigxNCk7ZmU9dzUuWjYoMjMpO3BlPXc1Llo2KDExMSk7X2U9dzUuWjYoMjYwKTtsZT0vbWFjaW50b3NoLztkZT13NS5mNig5MCk7dmU9dzUuZjYoMzMyKTtiZT13NS5mNigyMDApO21lPS9tb3ppbGxhLztnZT13NS5mNigxNzQpO3llPXc1LmY2KDEzNSk7a2U9dzUuZjYoMzc4KTt3ZT0vKD86XHcrKVwvKFtcZFwuXSspKD86JHxcc3xcL3xcKSkrL2k7eGU9dzUuWjYoMzQpO09lPXc1LmY2KDM3Nyk7Q2U9dzUuZjYoNDcyKTtFZT13NS5mNigxMTUpO1BlPXc1Llo2KDE5NCk7VGU9dzUuZjYoNDE0KTtBZT13NS5mNig2NSk7RmU9dzUuWjYoMTA3KTtTZT13NS5mNig0MDMpO2plPXc1LmY2KDI5Mik7TGU9dzUuWjYoNTgpO3plPXc1Llo2KDE2NCk7QmU9Lyg/Ok9QUnxPcGVyYXxPUGlPUylcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0llPXc1LmY2KDIyOSk7TWU9dzUuWjYoNDY3KTtXZT13NS5mNig0NjMpO0RlPXc1Llo2KDQzNyk7VWU9dzUuZjYoMTkzKTtSZT13NS5aNigzMyk7TmU9dzUuZjYoODUpO0hlPXc1LmY2KDQwOCk7cWU9dzUuZjYoMjApO0plPXc1Llo2KDk4KTtWZT13NS5mNigxMzYpOyRlPXc1LmY2KDI3Nyk7UWU9dzUuWjYoNyk7R2U9dzUuWjYoODYpO1llPXc1LmY2KDE3NSk7S2U9dzUuWjYoMjcxKTtaZT13NS5aNigzOTkpO1hlPXc1LmY2KDEzMyk7dGk9dzUuWjYoOTUpO2VpPXc1LmY2KDE1Mik7aWk9dzUuWjYoMzEyKTtuaT13NS5aNigyOTgpO3JpPXc1Llo2KDQzMyk7b2k9dzUuZjYoMTgzKTtzaT0vYW5kcm9pZHx3ZWJvc3xpcGhvbmV8aXBhZHxpcG9kfGJsYWNrYmVycnl8aWVtb2JpbGV8b3BlcmFccyttaW5pLzthaT13NS5aNigzODIpO2NpPXc1LmY2KDEyNyk7dWk9dzUuWjYoMzM2KTtoaT13NS5aNigyOTUpO2ZpPXc1Llo2KDMwNyk7cGk9dzUuZjYoMjUxKTtfaT13NS5mNig0MTkpO2xpPXc1LmY2KDMxKTtkaT13NS5aNigyNzQpO3ZpPXc1LmY2KDQ0Nik7Ymk9dzUuWjYoMTYzKTttaT13NS5mNig5NCk7Z2k9dzUuWjYoMjIwKTt5aT13NS5aNigzNTQpO2tpPXc1Llo2KDE4Nik7d2k9dzUuZjYoNDEyKTt4aT13NS5mNig0NDcpO09pPXc1Llo2KDQwNCk7Q2k9dzUuZjYoNTIpO0VpPXc1Llo2KDY4KTtQaT13NS5mNigzNSk7VGk9dzUuZjYoNTYpO0FpPXc1LmY2KDEwMyk7Rmk9dzUuWjYoMzc5KTtTaT13NS5mNig0NTEpO2ppPXc1Llo2KDQ3NSk7TGk9dzUuWjYoMjEpO3ppPXc1LmY2KDE3MSk7Qmk9dzUuZjYoMTMxKTtJaT13NS5mNig0ODgpO01pPXc1LmY2KDE4MCk7V2k9dzUuWjYoNDQ1KTtEaT0vYnV0dG9ufGlucHV0L2k7VWk9dzUuWjYoMTM0KTtSaT13NS5mNigyMjgpO05pPXc1LmY2KDc4KTtIaT13NS5aNig1NCk7cWk9dzUuWjYoMTY3KTtKaT13NS5mNig0NjUpO1ZpPXc1Llo2KDMzNSk7JGk9dzUuZjYoMTY5KTtRaT13NS5mNigzNjgpO0dpPXc1LmY2KDI4Nyk7WWk9dzUuWjYoMzQ4KTtLaT13NS5mNigzMDEpO1ppPXc1LmY2KDQ0KTtYaT13NS5mNigyNjQpO3RuPXc1LmY2KDc3KTtlbj13NS5mNig0NjApO25uPXc1LmY2KDMzNyk7cm49dzUuWjYoMTU3KTtvbj13NS5aNigzMjUpO3NuPXc1LmY2KDIzNyk7YW49dzUuZjYoNDg2KTtjbj13NS5mNigxNTUpO3VuPXc1Llo2KDEwNCk7aG49dzUuWjYoMzU2KTtmbj13NS5aNig0OCk7cG49dzUuZjYoMjQyKTtfbj13NS5mNig0MDApO2xuPXc1Llo2KDI2NSk7ZG49dzUuZjYoMjg0KTt2bj13NS5aNigyODgpO2JuPXc1LmY2KDQzOSk7bW49dzUuWjYoMzQxKTtnbj13NS5aNigyMDMpO3luPXc1LmY2KDIxNyk7a249dzUuWjYoMzIxKTt3bj13NS5mNig0MzIpO3huPXc1LmY2KDIyKTtPbj02NDc9PSg0OTguMjUsMjAwKT8oMS42OWUrMyw0NjkpOnc1LmY2KDk2KTtDbj13NS5mNigzODMpO0VuPXc1LmY2KDM1OSk7UG49dzUuWjYoMzUwKTtUbj0vXk9wZXJhXC8uKj9QcmVzdG9cLy4qP1ZlcnNpb25cLyhbXGRcLl0rKS9pO0FuPXc1Llo2KDE5MSk7Rm49dzUuZjYoNDQ4KTtTbj13NS5mNigyNDQpO2puPXc1Llo2KDIzMSk7TG49dzUuZjYoMTIwKTt6bj13NS5mNig0NTApO0JuPXc1Llo2KDExOCk7SW49dzUuZjYoNik7TW49dzUuWjYoNzUpO1duPXc1LmY2KDEyMyk7RG49dzUuWjYoMzA0KTtVbj0vcmVzZXR8YnV0dG9ufHN1Ym1pdC9pO1JuPXc1LmY2KDQ4NCk7Tm49dzUuZjYoMTk2KTtIbj13NS5mNigyMjYpO3FuPXc1LmY2KDM1Myk7Sm49dzUuWjYoMTgpO1ZuPXc1LmY2KDE2OCk7JG49dzUuZjYoMzE0KTtRbj13NS5aNig0NzEpO0duPXc1LmY2KDQ1OSk7WW49dzUuZjYoMzE3KTtLbj13NS5mNigyNDkpO1puPS9WZXJzaW9uXC8oW1xkXC5dKylccysobW9iaWxlXC9bXlxzXStccyspP1NhZmFyaS9pO1huPXc1LmY2KDE0NSk7dHI9dzUuWjYoMjQwKTtlcj13NS5mNigxOSk7aXI9dzUuWjYoNDg5KTtucj13NS5aNigyNzYpO3JyPXc1LmY2KDQ4Mik7b3I9dzUuZjYoNDY2KTtzcj13NS5aNigyNzApO2FyPXc1Llo2KDE0Nyk7Y3I9dzUuZjYoMjQpO3VyPXc1LmY2KDgzKTtocj13NS5aNigyNzkpO2ZyPXc1Llo2KDQzKTtwcj13NS5mNig0MjApO19yPXc1LmY2KDQ2Mik7bHI9L2Nocm9tZXxjcmlvcy87ZHI9dzUuWjYoNDExKTt2cj0vIy4qJC87YnI9dzUuZjYoMTU5KTttcj13NS5aNigwKTtncj0vKGNvbXBhdGlibGV8d2Via2l0KS87eXI9L0Z4aU9TXC8oW1xkXC5dKykvaTtrcj13NS5mNig1OSk7d3I9dzUuWjYoMzgpO3hyPXc1LmY2KDE5OCk7T3I9dzUuZjYoMTApO0NyPXc1LmY2KDQ2NCk7RXI9dzUuWjYoMTE2KTtQcj13NS5mNigzNjkpO1RyPXc1LmY2KDEyMSk7QXI9L21zaWV8dHJpZGVudFwvLztGcj13NS5mNigyNTYpO1NyPXc1LmY2KDQ3MCk7anI9dzUuZjYoMjkzKTtMcj13NS5mNig4Nyk7enI9L2Nocm9tZXxvcGVyYXxlZGdlfGNyaW9zfG9waW9zfGZ4aW9zfHVjL2k7QnI9dzUuWjYoMjUyKTtJcj13NS5aNigxMDgpO01yPXc1LmY2KDkxKTtXcj13NS5mNigyKTtEcj13NS5mNigyNjgpO1VyPXc1Llo2KDI3OCk7UnI9dzUuWjYoMzI2KTtOcj13NS5mNig5KTtIcj13NS5mNigxMzIpO3FyPXc1Llo2KDMyNCk7SnI9LyhhbmRyb2lkfGJiXGQrfG1lZWdvKS4rbW9iaWxlfGF2YW50Z298YmFkYVwvfGJsYWNrYmVycnl8YmxhemVyfGNvbXBhbHxlbGFpbmV8ZmVubmVjfGhpcHRvcHxpZW1vYmlsZXxpcChob25lfG9kKXxpcGFkfGlyaXN8a2luZGxlfEFuZHJvaWR8U2lsa3xsZ2UgfG1hZW1vfG1pZHB8bW1wfG5ldGZyb250fG9wZXJhIG0ob2J8aW4paXxwYWxtKCBvcyk/fHBob25lfHAoaXhpfHJlKVwvfHBsdWNrZXJ8cG9ja2V0fHBzcHxzZXJpZXMoNHw2KTB8c3ltYmlhbnx0cmVvfHVwXC4oYnJvd3NlcnxsaW5rKXx2b2RhZm9uZXx3YXB8d2luZG93cyAoY2V8cGhvbmUpfHhkYXx4aWluby9pO1ZyPSgyNDk2LDg0OTUpIT05NzY/dzUuZjYoMjk3KTohITA7JHI9dzUuWjYoNDI2KTtRcj13NS5mNigyMjUpO0dyPXc1LmY2KDE4OCk7WXI9dzUuZjYoNDMxKTtLcj13NS5mNigyNTApO1pyPXc1Llo2KDI2MSk7WHI9dzUuZjYoMTc2KTt0bz13NS5mNigyNSk7ZW89dzUuWjYoMTk1KTtpbz13NS5mNigzMjgpO25vPXc1Llo2KDQwOSk7cm89dzUuZjYoMzQ5KTtvbz13NS5aNigzMjIpO3NvPXc1Llo2KDMxNik7YW89dzUuWjYoMzg1KTtjbz13NS5mNigxMTMpO3VvPXc1LmY2KDQ3NCk7aG89dzUuWjYoMjY3KTtmbz13NS5mNigyNjYpO3BvPXc1Llo2KDQwNyk7X289dzUuWjYoNjMpO2xvPXc1Llo2KDM2Nyk7dm89L3dlYmtpdC87Ym89dzUuWjYoNDUyKTttbz0vc2FmYXJpLztnbz13NS5aNig5Myk7eW89L29wZXJhfG9wcnxvcGlvc1wvLztrbz13NS5aNigzMzEpO3dvPXc1LmY2KDI2KTt4bz13NS5aNigxODIpO09vPXc1LmY2KDM4MCk7Q289dzUuWjYoMTEwKTtFbz13NS5mNigxMTIpO1BvPXc1LmY2KDMwNSk7VG89dzUuZjYoNzQpO0FvPXc1LmY2KDEwMik7Rm89dzUuZjYoNDc4KTtTbz0vYW5kcm9pZC87am89dzUuZjYoMzkxKTtMbz13NS5aNigzMDYpO3pvPXc1LmY2KDQwNSk7Qm89dzUuWjYoOTkpO0lvPXc1Llo2KDM5Nik7TW89dzUuWjYoNDQwKTtXbz13NS5mNig2Nyk7RG89dzUuWjYoNDAxKTtVbz13NS5aNigxNTQpO1JvPXc1LmY2KDI4OSk7Tm89dzUuWjYoMzkzKTtIbz13NS5mNig3OSk7cW89dzUuWjYoMTQwKTtKbz13NS5aNigzNzIpO1ZvPXc1Llo2KDQyMik7JG89dzUuZjYoNDQ5KTtRbz13NS5aNigzOTUpO0dvPXc1Llo2KDIwNik7WW89dzUuWjYoMjQzKTtLbz13NS5mNig2Mik7Wm89dzUuWjYoNDg1KTtYbz13NS5mNigxMzApO3RzPXc1Llo2KDE1Nik7ZXM9dzUuZjYoMjAxKTtpcz13NS5aNigzNjEpO25zPXc1LmY2KDMxNSk7cnM9dzUuWjYoMTIyKTtvcz13NS5mNig3MCk7c3M9dzUuZjYoMjU3KTthcz13NS5aNig0MjUpO2NzPXc1LmY2KDMzMCk7dXM9dzUuZjYoNzMpO2hzPXc1LmY2KDMwMyk7ZnM9dzUuWjYoMTAwKTtwcz13NS5mNigzNzQpO19zPXc1Llo2KDY2KTtscz0oODI2LjA2LDk5Ny4yKSE9PSgyNjIuNzksNzAwLjQpP3c1LmY2KDE3OSk6KG81LHc1Llo2KDM2KSk7ZHM9dzUuWjYoMjIzKTt2cz13NS5mNigxMTkpO2JzPXc1Llo2KDMwOCk7bXM9dzUuZjYoNDcpO2dzPXc1Llo2KDMxOSk7eXM9dzUuZjYoMTgxKTtrcz13NS5mNigzNDUpO3dzPXc1Llo2KDE1KTt4cz0vXigjfGphdmFzY3JpcHQpL2k7T3M9dzUuWjYoMzY2KTtDcz13NS5aNigxOTkpO0VzPXc1Llo2KDM4NCk7UHM9dzUuZjYoNDA2KTtUcz13NS5mNig0MjkpO0FzPXc1LmY2KDI0Nyk7RnM9dzUuZjYoNDQzKTtTcz13NS5mNigzMzgpO2pzPS8oPzpGaXJlZm94fENocm9tZSlcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0xzPXc1Llo2KDM3MCk7enM9dzUuZjYoMzEwKTtCcz13NS5aNigzODYpO0lzPXc1Llo2KDI5NCk7TXM9dzUuWjYoMjgzKTtXcz13NS5aNigzODcpO0RzPXc1LmY2KDM5KTtVcz13NS5aNigxMDYpO1JzPXc1LmY2KDIwMik7TnM9dzUuWjYoMzExKTtIcz13NS5mNig0MzgpO3FzPXc1LmY2KDcxKTtKcz13NS5mNigxMzcpO1ZzPXc1Llo2KDI3KTskcz13NS5aNig4NCk7UXM9L18vZztHcz13NS5aNigxNTgpO1lzPXc1Llo2KDE5Mik7S3M9dzUuZjYoNDIzKTtacz13NS5mNigzMzkpO1hzPXc1Llo2KDE1MCk7dGE9dzUuWjYoMTQyKTtlYT13NS5mNig0KTtpYT13NS5aNig0MTApO25hPXc1LmY2KDIzNik7cmE9dzUuZjYoNDAyKTtvYT13NS5mNigyMTQpO3NhPXc1Llo2KDQxNyk7YWE9dzUuZjYoMTg0KTtjYT13NS5aNigxOTcpO3VhPXc1LmY2KDIzMyk7aGE9dzUuZjYoMzApO2ZhPS9saW51eC87cGE9dzUuWjYoMjgyKTtfYT0vb3BlcmEvO2xhPXc1Llo2KDM2NCk7ZGE9dzUuWjYoMTczKTt2YT13NS5aNigzMDApO2JhPXc1LmY2KDIzNSk7bWE9L2VkZ2V8b3ByXC8vO2dhPXc1LmY2KDI4NSk7eWE9dzUuZjYoNDYpO2thPXc1Llo2KDEzKTt3YT13NS5aNigyMDUpO3hhPXc1LmY2KDIyNCk7T2E9dzUuZjYoMzQ0KTtDYT13NS5aNigyMTMpO0VhPS9FZGdlXC8oW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTtQYT13NS5mNigxMjYpO1RhPXc1Llo2KDExNCk7QWE9L14oPzouKlteXHddKSooW1x3XSspXHMqJC9pO0ZhPXc1LmY2KDM5Mik7U2E9dzUuWjYoNjkpO2phPXc1LmY2KDMpO0xhPXc1LmY2KDQ1KTt6YT13NS5mNigzMjMpO0JhPXc1LmY2KDEzOSk7SWE9dzUuWjYoMTI5KTtNYT13NS5mNig4KTtXYT13NS5mNig0Mik7RGE9dzUuZjYoMSk7VWE9dzUuWjYoODkpO1JhPXc1LmY2KDIwOSk7TmE9dzUuZjYoMjgpO0hhPXc1LmY2KDIxOSk7cWE9dzUuWjYoMjMwKTtKYT13NS5aNig4MSk7VmE9dzUuWjYoMzA5KTskYT13NS5mNigzNDcpO1FhPXc1LmY2KDM4MSk7R2E9dzUuWjYoOTIpO1lhPXc1LmY2KDEyNSk7S2E9dzUuWjYoMzIpO1phPXc1LmY2KDM5MCk7WGE9dzUuZjYoNDY4KTt0Yz13NS5mNigzNik7ZWM9dzUuZjYoMzk3KTtpYz13NS5aNig0ODApO25jPXc1LmY2KDIyMik7cmM9dzUuZjYoNDU3KTtvYz13NS5aNigzNTIpO3NjPXc1Llo2KDI5KTthYz0vaShQaG9uZXxQYWR8UG9kKS9pO2NjPXc1LmY2KDQzNCk7dWM9dzUuZjYoNDIxKTtoYz13NS5aNig0NzMpO2ZjPXc1LmY2KDE3MCk7cGM9dzUuZjYoMjYyKTtfYz13NS5aNigxNTEpO2xjPXc1LmY2KDQ5KTtkYz13NS5mNigyNTQpO3ZjPXc1LmY2KDQyOCk7YmM9dzUuZjYoMTUzKTttYz13NS5aNigyNjkpO2djPXc1Llo2KDU3KTt5Yz13NS5mNigzNTcpO2tjPS9UcmlkZW50XC8uKj9ydjooW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTt3Yz13NS5aNig0NTMpO3hjPXc1Llo2KDQ3Nik7T2M9dzUuZjYoNDU0KTtDYz13NS5mNig0NTgpO0VjPXc1LmY2KDgwKTtQYz0vOlxkKyQvO1RjPXc1Llo2KDI3Mik7QWM9dzUuWjYoMzI3KTtGYz13NS5mNig0NzkpO1NjPXc1Llo2KDYxKTtqYz13NS5mNigyOTEpO0xjPXc1Llo2KDIzMik7emM9dzUuWjYoMTEpO0JjPXc1LmY2KDM0Nik7SWM9dzUuWjYoMTA1KTtNYz13NS5aNig0NzcpO1djPXc1Llo2KDQwKTtEYz13NS5aNig3Nik7VWM9dzUuWjYoMTYpO1JjPXc1Llo2KDIyNyk7TmM9dzUuWjYoMjA0KTtIYz13NS5mNigzNyk7IWZ1bmN0aW9uKHQseSxSdCxYZSxyaSx5aSxBaSxObixkcixVcixpbyxybyxDbyxHcyx6YyxVYyxxYyxKYyxWYywkYyl7InVzZSBzdHJpY3QiO3ZhciBRYyxHYyxZYyxLYyxaYyxYYyx0dSxldSxpdSxudSxydSxvdSxzdSxhdSxjdSx1dSxodSxmdSxwdSxfdSxsdSxkdSx2dSxidSxtdSxndSx5dSxrdSx3dSx4dSxPdSxDdSxFdSxQdSxUdSxBdSxGdTtydT10O3c1Llk0KDApO291PXc1LmM0KHVpLEdyLGJyLF9yLFllLFNpLFR0LGRuLFllLHUsbWksT3QsR3IsWWUsdXIpO3c1Llk0KDEpO3N1PXc1LnU0KGZlLFR0LEh0LG90LFR0KTt3NS5vNCgxKTthdT13NS51NChXaSxQZSxLLF9jLFBlKTt3NS5ZNCgyKTtjdT13NS5jNChydSxnaSk7dzUubzQoMik7dXU9dzUudTQocnUsWm8pO3c1Lm80KDMpO2h1PXc1LmM0KE9jLHJ1LEJpLFV0LEdyLEdyKTt3NS5vNCgyKTtmdT13NS51NChydSwkYSk7cHU9YW87X3U9eGk7bHU9THI7ZHU9bW47dnU9eVtmXVtxbytHcitDXVtYcytHcit0cytHcituY10oKTtidT17dW5kZXI6bzUsbmV3VGFiOm81fTttdT1udWxsO2d1PW81O3l1PSF7fTtrdT1mdW5jdGlvbigpe307dzUuWTQoNCk7d3U9dzUudTQoR3IsT3QsRXQpO3h1PXJpW3ZzK0dyK0FvXXx8e3NyYzpudWxsfTt3NS5vNCg0KTtPdT15W2ZdW3c1LmM0KGVvLEdyLGtyKV07Q3U9eXU7RXU9eXU7UHU9eXU7VHU9ZnVuY3Rpb24oKXt2YXIgRTksbzksdzk7dHJ5e0U5PTM2MDIzMDM0MztvOT01MDA4ODEwMDM7dzk9Mjtmb3IodmFyIGI1PTE7dzUuTDEoYjUudG9TdHJpbmcoKSxiNS50b1N0cmluZygpLmxlbmd0aCw1ODI0MykhPT1FOTtiNSsrKXtyZXR1cm4geVtwXT09PXlbcXJdfHwheVtwXVttcl1bRWldWyhYcy1HciklaF0oKSE9VGM/eVtwXTp5W3FyXTt3OSs9Mjt9aWYodzUuTDEodzkudG9TdHJpbmcoKSx3OS50b1N0cmluZygpLmxlbmd0aCw1MTUyOSkhPT1vOSl7cmV0dXJuIHlbcF0hPT15W3FyXSYmdHlwZW9mIHlbcF1bbXJdW0VpXVtYcytHcitoXSgpPT09VGM/eVtwXTp5W3FyXTt9fWNhdGNoKHQpe3ZhciBBOSxJOSxLOTtBOT0yMjIyMDY4MDc7STk9NDU1MTUwMTA4O0s5PTI7Zm9yKHZhciBROT0xO3c1LkwxKFE5LnRvU3RyaW5nKCksUTkudG9TdHJpbmcoKS5sZW5ndGgsNjg5NDApIT09QTk7UTkrKyl7cmV0dXJuIFB1PWd1LHlbcXJdO0s5Kz0yO31pZih3NS5MMShLOS50b1N0cmluZygpLEs5LnRvU3RyaW5nKCkubGVuZ3RoLDU2NzU3KSE9PUk5KXtyZXR1cm4gUHU9Z3UseVtxcl07fX19KCk7QXU9VHVbSmFdW1FhXTtGdT1mdW5jdGlvbigpe3ZhciB0O3RyeXt0PVR1W0VpXVt1bl07fWNhdGNoKHQpe31yZXR1cm4hUHUmJnR8fChidT17bmV3VGFiOmd1LHVuZGVyOnl1fSx0PXJpW2lhXSksdDt9KCk7S2M9e3Q6W10sbjpmdW5jdGlvbih0KXt2YXIgSDcsdjcsVDc7SDc9MTg2NDAwNjYwNDt2Nz03MzE4NDIzNTE7VDc9Mjtmb3IodmFyIG83PTE7dzUuZDEobzcudG9TdHJpbmcoKSxvNy50b1N0cmluZygpLmxlbmd0aCw5MTY5NikhPT1INztvNysrKXt0eXBlb2YgeVt3c10hPT1nZSYmeVt3c11bT29dJiZObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO1Q3Kz0yO31pZih3NS5kMShUNy50b1N0cmluZygpLFQ3LnRvU3RyaW5nKCkubGVuZ3RoLDI0OTc5KSE9PXY3KXt+eVt3c109PT1nZXx8eVt3c11bT29dfHxObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO319LHI6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9MDt0PHRoaXMudFtwaV07dCsrKXt0aGlzLm4odGhpcy50W3RdKTt9fSxlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9W3RdW0tuXShBaVtYdF1bcW5dW0NpXShhcmd1bWVudHMsMSkpO3RoaXMudFtNcl0oZSk7R2MuaSgpJiZ0aGlzLm4oZSk7fX07ZXU9e3M6ZnVuY3Rpb24oKXtpZih0aGlzLm89PT1tdSl0cnl7eVthcytHcit0aV1bbGkrR3IrRXJdKHJ1LDEpO3lbYXMrR3IrdGldW3huK0dyK0VyXShydSk7dGhpcy5vPWd1O31jYXRjaCh0KXt2YXIgdzcscDcsYjk7dzc9LTE2MTA5ODQyMzA7cDc9OTg2NDU4NDQ2O2I5PTI7Zm9yKHZhciBtOT0xO3c1LmQxKG05LnRvU3RyaW5nKCksbTkudG9TdHJpbmcoKS5sZW5ndGgsODg3MTMpIT09dzc7bTkrKyl7dGhpcy5vPXl1O2I5Kz0yO31pZih3NS5MMShiOS50b1N0cmluZygpLGI5LnRvU3RyaW5nKCkubGVuZ3RoLDMzNDE0KSE9PXA3KXt0aGlzLm89eXU7fXRoaXMubz15dTt9cmV0dXJuIHRoaXMubzt9LHU6ZnVuY3Rpb24odCl7dGhpcy5zKCk/eVthcytHcit0aV1beG4rR3IrRXJdKHQpOnR1LnUodCk7fSxjOmZ1bmN0aW9uKHQpe3RyeXtyZXR1cm4gdGhpcy5zKCk/eVthcytHcit0aV1bYWErR3IrRXJdKHQpOnR1LmModCk7fWNhdGNoKHQpe3JldHVybiBtdTt9fSxvOm11LGE6ZnVuY3Rpb24odCxlKXt0aGlzLnMoKT95W2FzK0dyK3RpXVtsaStHcitFcl0odCxlKTp0dS5hKHQsZSk7fX07dHU9e3U6ZnVuY3Rpb24odCl7dGhpcy5hKHQsMCxuZXcgSmMoMCkpO30sYzpmdW5jdGlvbih0KXt2YXIgZTt3NS5ZNCg1KTtlPXJpW050XVtiY10obmV3IFVyKHc1LnU0KGVyLEdyLEdyLGV0LHNjLHQsR3IsR3IsdHQsdWMsR3IsR3IsSm8sR3IpLGxzKSk7cmV0dXJuIGU/VmMoZVswXVtDcl0oR3IrZXQrR3IpWzFdKTptdTt9LGE6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO3M9aXx8R3I7cyYmKHR5cGVvZiBzPT09V3Q/KG89bmV3IEpjKCkpW2xpK0dyK0hdKG9bYWErR3IrSF0oKSsxZTMqcyk6bz1zLHM9R3IrZXIrZmkrZXQrR3Irb1tYcytHcitWcitHcit4YytHcitXK0dyK2hdKCkpO3JpW050XT10KyhHcitldCtHcikrJGMoR3IrZSkrcysocj9HcitlcitkcytldCtHcityOkdyKSsoR3IrZXIrQXQrZXQrR3IpKyhufHxHcitQZStHcik7fX07WmM9e3A6ZnVuY3Rpb24odCl7dmFyIGUsaTtpPXt9O2ZvcihlPTA7ZTx0W3BpXTtlKyspe2lbdFtlXVswXV09dFtlXVsxXTt9cmV0dXJuIGk7fSxXOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbjt0cnl7cmV0dXJuIG49dFthYStHcitHaV0oZSksdHlwZW9mIGkhPT1UYz95dTohIW5ldyBVcihGbitpK01zLGxzKVtqY10obik7fWNhdGNoKHQpe3JldHVybiB5dTt9fSxBOmZ1bmN0aW9uKCl7dHJ5e3JldHVybiB0eXBlb2YgeS5qUXVlcnkuZm4ub249PT1aczt9Y2F0Y2godCl7cmV0dXJuIHl1O319LEc6ZnVuY3Rpb24odCl7cmV0dXJuKHQ/bmV3IEpjKHQpOm5ldyBKYygpKVthYStHcitIXSgpO30sTTpmdW5jdGlvbih0KXt2YXIgbTAsQTAsSTAsZSxsNyxjNyxWNzttMD0tMTc4MjYxMjU4MTtBMD0tMTYzMzI0MDE2NDtJMD0yO2Zvcih2YXIgcjA9MTt3NS5MMShyMC50b1N0cmluZygpLHIwLnRvU3RyaW5nKCkubGVuZ3RoLDM0ODU4KSE9PW0wO3IwKyspe0kwKz0yO31pZih3NS5MMShJMC50b1N0cmluZygpLEkwLnRvU3RyaW5nKCkubGVuZ3RoLDg0OTA2KSE9PUEwKXt9dHJ5e2w3PS0xMjU4NTI0ODY5O2M3PTc3MTI1MDQ2ODtWNz0yO2Zvcih2YXIgeTc9MTt3NS5kMSh5Ny50b1N0cmluZygpLHk3LnRvU3RyaW5nKCkubGVuZ3RoLDEwMjkyKSE9PWw3O3k3KyspeyhlPXRbSmFdW1FhXShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7VjcrPTI7fWlmKHc1LmQxKFY3LnRvU3RyaW5nKCksVjcudG9TdHJpbmcoKS5sZW5ndGgsMjYwMTcpIT09YzcpeyhlPXRbSmFdW1FhXSgoVWEtVnQpL2NpKSlbYm9dKCk7ZVtJb10oKTt9fWNhdGNoKHQpe30oZT1BdShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7fSxUOmZ1bmN0aW9uKHQpe3QmJihUdVtFaV09dCk7fSxxOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxpPVt5cixUbixFYSxCZSxqcyxabixqdCxrYyx3ZV0sbj0wO248aVtwaV07bisrKWlmKGU9aVtuXVtqY10odnUpKXtyZXR1cm4gdD9VYyhlWzFdLDEwKTplWzFdW1pdKFFzLEdyK1R0K0dyKTt9cmV0dXJuIG11O30sTDpmdW5jdGlvbih0LGUpe3c1Llk0KDcpO3JldHVybiB3NS51NChZZSxlcixHcix0LGllLHlzLEdyLGUsR3IsVmUsVnQsR3IpO30sXzpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUTAsZTAsajA7UTA9LTE2NDA5MDY2NDA7ZTA9MzYxNTQ4MTI4O2owPTI7Zm9yKHZhciB0MD0xO3c1LmQxKHQwLnRvU3RyaW5nKCksdDAudG9TdHJpbmcoKS5sZW5ndGgsMzk3NjcpIT09UTA7dDArKyl7aT15O3c1Llk0KDQpO249dFtDcl0odzUudTQoR3IsVHQsR3IpKTtmb3IoZT0wO2U8bltwaV07ZSsrKXtpPWlbbltlXV07fXJldHVybiBpO2owKz0yO31pZih3NS5MMShqMC50b1N0cmluZygpLGowLnRvU3RyaW5nKCkubGVuZ3RoLDQ3NjE4KSE9PWUwKXtpPXk7dzUuWTQoNik7bj10W0NyXSh3NS51NChUdCxHcixHcikpO2ZvcihlPTQ7ZTw9bltwaV07ZS0tKXtpPWlbbltlXV07fXJldHVybiBpO319LFM6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbyxzMCxEMCxXMCxVMCx4MCx6MDtvPXkualF1ZXJ5fHxudWxsO2lmKHQmJnRbQW5dKXtyZXR1cm4gZ3U7fWlmKCFvKXtyZXR1cm4geXU7fXRyeXtzMD0tMTYxNTA0NTA7RDA9LTE5OTUwMzAzNTQ7VzA9Mjtmb3IodmFyIGMwPTE7dzUuZDEoYzAudG9TdHJpbmcoKSxjMC50b1N0cmluZygpLmxlbmd0aCw5Nzc5KSE9PXMwO2MwKyspe2lmKChlPShvKHQpW2llXShHYSkmJm8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9VzArPTI7fWlmKHc1LkwxKFcwLnRvU3RyaW5nKCksVzAudG9TdHJpbmcoKS5sZW5ndGgsMjI1MTYpIT09RDApe2lmKChlPShvKHQpW2llXShHYSl8fG8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9fX1jYXRjaCh0KXt9dHJ5e1UwPS0xMjgxMDM4MTgyO3gwPS01MjI2MTY2MzI7ejA9Mjtmb3IodmFyIGkwPTE7dzUuTDEoaTAudG9TdHJpbmcoKSxpMC50b1N0cmluZygpLmxlbmd0aCwzMjg1OSkhPT1VMDtpMCsrKXtmb3IoZT1vKHJpW1FyXSlbaWVdKEdhKVtnc10saT00O2k+ZVtwaV07aS0tKWZvcihyPW8oZVtpXVtvZV0pLG49NztuPj1yW3BpXTtuLS0paWYocltuXT09dCl7cmV0dXJuIGd1O316MCs9Mjt9aWYodzUuTDEoejAudG9TdHJpbmcoKSx6MC50b1N0cmluZygpLmxlbmd0aCw4ODE3MikhPT14MCl7Zm9yKGU9byhyaVtRcl0pW2llXShHYSlbZ3NdLGk9NDtpPmVbcGldO2ktLSlmb3Iocj1vKGVbaV1bb2VdKSxuPTc7bj49cltwaV07bi0tKWlmKHJbbl09PXQpe3JldHVybiBndTt9fWZvcihlPW8ocmlbUXJdKVtpZV0oR2EpW2dzXSxpPTA7aTxlW3BpXTtpKyspZm9yKHI9byhlW2ldW29lXSksbj0wO248cltwaV07bisrKWlmKHJbbl09PT10KXtyZXR1cm4gZ3U7fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sQzpmdW5jdGlvbih0LGUsaSl7dmFyIG4scixvO289WmMuTyhvNSk7cmV0dXJuIG49b1t0bytHcit5YV1bbXJdW1VzK0dyK0NuXShkZSksbltPXT1yYStQZStDdCxuW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoSmErVHQrX3QrWWUrR3IrZXQrR3IrWWUrSmErVHQrcCtZZStHcitldCtHcitZZStKYStUdCt1cytHcitDbitZZStHcitldCtHcitZZStkK2VyK0dyKSsoSmErVHQrJG4rWWUrR3IrZXQrR3IrWWUrWnMrUit6K1ZlK0dyK1llK3NvK1ZlK0dyK1llK0NlK1ArR3IrWWUrR3Ird24rR3IpKyh1YStZZStCcytHcitYbytZZStHcitldCtHcitZZStKYStUdCtRYStSK3orVmUrR3IrWWUrc28rVmUrR3IrWWUrQ2UrUCtHcitlcitHcikrKFdyK1llK0dyK3duK0JzK0dyK1hvK1R0K1dvK1llK0dyK2V0K0dyK1llK2QrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSsoTnIrWWUrQnMrR3IrWG8rZXIrR3IpKyhHcitEcitHcitlcitHciksb1t0bytHcit5YV1bbXJdW1FyXVtJdCtHcitXZV0obikscj1vW3RvK0dyK3lhXS5ta3AodCxlLGkpLFpjLlAobykscjt9LEI6ZnVuY3Rpb24odCxlLG4pe3ZhciByLG8scztyPTA7bz1ufHwxMDtzPXQ7dHJ5e2Zvcig7cyYmcisrPG87KXtpZih0eXBlb2YgZT09PVRjJiYoc1tTYytHcittY109PT1lfHxaYy5JKHMsZSkpfHx0eXBlb2YgZT09PWFyJiZzPT09ZSl7cmV0dXJuIHM7fXc1Llk0KDQpO3M9c1t3NS51NChfdCxHcixpKV07fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sRjpmdW5jdGlvbih0KXt2YXIgZTtlPVJ0W1RlXTtyZXR1cm4gdHlwZW9mIHQhPT1nZSYmKGU9KGN0W2pjXSh0KXx8W0dyLEdyXSlbMV0pLGVbWl0oUGMsR3IpO30seDpmdW5jdGlvbih0KXtyZXR1cm4geWlbWHRdW1hzK0dyK2hdW0NpXSh0KT09PUdyK0pvK2FyK1llK2JuK3R0K0dyO30sazpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUjAsUDAsSjA7aT1bXTtuPVpjLnYoKTt0cnl7UjA9LTE2Mjc2MTY5Mzc7UDA9LTIwMDI5NzgxNzY7SjA9Mjtmb3IodmFyIEIwPTE7dzUuTDEoQjAudG9TdHJpbmcoKSxCMC50b1N0cmluZygpLmxlbmd0aCw3NjkxMCkhPT1SMDtCMCsrKXtmb3IoZSBpbiBuKXt+dFtlXSE9Z2V8fGlbTXJdKGUvKChHci1ldCklR3IpLXRbZV0pO31KMCs9Mjt9aWYodzUuTDEoSjAudG9TdHJpbmcoKSxKMC50b1N0cmluZygpLmxlbmd0aCw4NjExMCkhPT1QMCl7Zm9yKGUgaW4gbil7fnRbZV0hPWdlfHxpW01yXShlLygoR3ItZXQpJUdyKS10W2VdKTt9fWZvcihlIGluIG4pe3R5cGVvZiB0W2VdIT09Z2UmJmlbTXJdKGUrKEdyK2V0K0dyKSt0W2VdKTt9fWNhdGNoKHQpe0tjLmUodCk7fXc1Llk0KDQpO3JldHVybiBpW05pXSh3NS5jNChHcixWZSxHcikpO30sUjpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5CKHQsT24pO30seTpmdW5jdGlvbigpe2Zvcih2YXIgdCxlPXt9LGk9MDtpPGFyZ3VtZW50c1twaV07aSsrKWZvcih0IGluIGFyZ3VtZW50c1tpXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0oYXJndW1lbnRzW2ldLHQpJiYoZVt0XT1hcmd1bWVudHNbaV1bdF0pO31yZXR1cm4gZTt9LFY6ZnVuY3Rpb24odCxlKXt2YXIgSjEsWDEsQjE7SjE9NDUyODczNzI5O1gxPTEyNzMxMDM4NTg7QjE9Mjtmb3IodmFyIE4xPTE7dzUuZDEoTjEudG9TdHJpbmcoKSxOMS50b1N0cmluZygpLmxlbmd0aCw1NTI1MSkhPT1KMTtOMSsrKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpKihlLXQpKSt0O0IxKz0yO31pZih3NS5kMShCMS50b1N0cmluZygpLEIxLnRvU3RyaW5nKCkubGVuZ3RoLDI4MzUxKSE9PVgxKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpJShlL3QpKSV0O319LFE6ZnVuY3Rpb24odCl7dmFyIGUsaSxuO3c1Llk0KDgpO2U9dzUuYzQodHlwZW9mIHQsYXIpO2k9dDt3NS5vNCg0KTtuPXJpW1VzK0dyK0NhXSh3NS51NChTbixHcix1bykpO25bTHMrR3IrU24rR3IrQ2FdKGdzLGd1LGd1LHksMCwwLDAsMCwwLGd1LHl1LHl1LGd1LDAsbXUpO2V8fChpPVpjLnooVSx7aHJlZjp0fHxpZStWdCtyYStQZStqbytWZStHcit1aStkZSt1citKYStUdCtJbytSK0dyK1ArR3IrZXIrR3IrdWkrR3IrUGUrZGUrdXIrR3J9KSxyaVtRcl1bSXQrR3IrV2VdKGkpKTtpW2duK0dyK0NhXShuKTtlfHxaYy5QKGkpO30sejpmdW5jdGlvbih0LGUsaSl7dmFyIG4scjtyPXJpW1VzK0dyK0NuXSh0KTtmb3IobiBpbiBlKXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShlLG4pJiZyW2xpK0dyK0dpXShuLGVbbl0pO31yZXR1cm4gaSYmKHJbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPWkpLHI7fSxZOmZ1bmN0aW9uKCl7dHJ5e3c1Lm80KDQpO3JldHVybiEhT3VbdzUuYzQoZW4sUGUsTWMpXVt3NS51NCgkaSxHcixXcyldO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sbDpmdW5jdGlvbih0KXt2YXIgZSxpLFk3LGY3LHM3O2U9WmMuXyh0KTt3NS5ZNCg0KTtpPXRbWl0oQWEsdzUudTQoR3Isem8scSkpO3RyeXtZNz0tMTYzMTA2MDI3MDtmNz0xOTgxNTM2MDYxO3M3PTI7Zm9yKHZhciBXNz0xO3c1LkwxKFc3LnRvU3RyaW5nKCksVzcudG9TdHJpbmcoKS5sZW5ndGgsMTYwMikhPT1ZNztXNysrKXtyZXR1cm4rbmV3IFVyKChacy9ZZS1HcikvIGkveHIsUnMpW2lyXShlW1hzJUdyL2hdKCkpO3M3Kz0yO31pZih3NS5MMShzNy50b1N0cmluZygpLHM3LnRvU3RyaW5nKCkubGVuZ3RoLDExNjM3KSE9PWY3KXtyZXR1cm4hbmV3IFVyKFpzK1llK0dyK2kreHIsUnMpW2lyXShlW1hzK0dyK2hdKCkpO319Y2F0Y2godCl7cmV0dXJuIHRbWHMrR3IraF0oKVtMK0dyK1dhXShrbytZZStycytZZStVK1llK1pzKT4tMT9ndTpYYy5kP2d1Onl1O319LHY6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbzt3NS5vNCg0KTtlPXlbdzUuYzQoUGEsR3IsZyldO3c1Llk0KDQpO2k9eVt3NS5jNChQYSxHcix3YyldO249eVtPaStHcitVZV18fHlbT2krR3IrV25dfHwwO3I9eVtPaStHcit4b118fHlbT2krR3IrQ2NdfHwwO289e307cmV0dXJuIG9bb2NdPWUsb1tLYV09aSxvW0hpXT1uLG9bcF09cixvW29yXT0wLG9bRWldPTEsb1tTcl09MSxvW09yXT0xLG8ucmVzaXphYmxlPTEsb1tNZV09MSxYYy5iJiYob1tLYV0rPVhjLm0/NDY6NTIpLFhjLmcmJihvW29jXS09NSxvW0thXS09NCksdHlwZW9mIHQ9PT1hciYmKG89WmMueShvLHQpKSxvO30sTzpmdW5jdGlvbih0KXt2YXIgZTtlPXJpW1VzK0dyK0NuXShjbik7cmV0dXJuIGVbeGVdW3h0XT1YaSx0JiZyaVtRcl1bSXQrR3IrV2VdKGUpLGU7fSxEOmZ1bmN0aW9uKHQpe3JldHVybiB0W1NjK0dyK21jXT09PUZjK0dyK1ZyK0dyK3hjK0dyK3hjK0dyK2ZjK0dyK2d0fHx0W1NjK0dyK21jXT09PXZhK0dyK2d0K0dyK210K0dyK1ZyK0dyK3hjJiZVbltpcl0odFthYStHcitHaV0oTykpfHx0aGlzLkIodCxGYytHcitWcitHcit4YytHcit4YytHcitmYytHcitndCkhPT15dTt9LFA6ZnVuY3Rpb24odCl7dCYmdFtfdCtHcitpXSYmdFtfdCtHcitpXVt4bitHcitXZV0odCk7fSxJOmZ1bmN0aW9uKHQsZSl7dmFyIG4scixvO2lmKHR5cGVvZiBlIT09VGMpe3JldHVybiB5dTt9aWYodHlwZW9mIHJpW2VlK0dyK3Z0K0dyK21dPT09WnMpdHJ5e3I9dFtfdCtHcitpXVtlZStHcit2dCtHcittXShlKXx8eS5qUXVlcnkoZSk7fWNhdGNoKHQpe31lbHNlIGlmKFpjLkEoKSl0cnl7cj15LmpRdWVyeShlKTt9Y2F0Y2godCl7fWlmKHIpZm9yKG89MDtvPHJbcGldO28rKylpZihyW29dPT09dCl7cmV0dXJuIGd1O31zd2l0Y2goZVswXSl7Y2FzZSBHcitUdCtHcjpuPVtsbyxlW2ZzXSgxKV07YnJlYWs7Y2FzZSBHcitzZStHcjpuPVtWYSxlW2ZzXSgxKV07fXJldHVybiBuP3RoaXMuVyh0LG5bMF0sblsxXSk6eXU7fSxmOmZ1bmN0aW9uKHQsZSl7dHJ5e3JldHVybiEoIXRba2ldW2VdfHwhdFtraV1bZV1bWW5dKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LE46ZnVuY3Rpb24odCl7dmFyIGU7ZT10aGlzLlIodCk7cmV0dXJuIGUmJmVbdW5dJiYheHNbaXJdKGVbdW5dKT9lW3VuXTp5dTt9LEo6ZnVuY3Rpb24odCxlLGksbil7Zm9yKHZhciByLG8scyxhPXRbWHMrR3IraF0oKVtDcl0obnx8R3IrVHQrR3IpLGM9ZVtYcytHcitoXSgpW0NyXShufHxHcitUdCtHciksdT0wLGY9ZHJbQm9dKGFbcGldLGNbcGldKTt1PGYmJihyPVVjKGFbdV18fDAsMTApLG89VWMoY1t1XXx8MCwxMCkscWMocikmJihyPTApLHFjKG8pJiYobz0wKSxzPXI+bz8xOi0xLHI9PT1vKTt1Kyspe3M9MDt9c3dpdGNoKGkpe2Nhc2UgR3IrdXIrR3I6dzUubzQoOCk7cmV0dXJuIHc1LnU0KDEscyk7Y2FzZSBHcit1citHcitldCtHcjp3NS5ZNCg5KTtyZXR1cm4gdzUuYzQocywxKTtjYXNlIEdyK3VpK0dyOnc1Lm80KDEwKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK3VpK0dyK2V0K0dyOnc1Llk0KDExKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK2V0K0dyK2V0K0dyOmNhc2UgR3IrZXQrR3IrZXQrR3IrZXQrR3I6ZGVmYXVsdDp3NS5ZNCg4KTtyZXR1cm4gdzUudTQoMCxzKTt9fSwkOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1wZVtDcl0oR3IpLGk9ZVtwaV0sbj0wLHI9R3I7bjx0O24rKyl7cis9ZVtkcltBY10oZHJbTW5dKCkqaSldO31yZXR1cm4gcjt9LGg6ZnVuY3Rpb24odCxlKXt0cnl7cmV0dXJuIHRbYWErR3IrR2ldKGUpO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sSDpmdW5jdGlvbih0LGUsaSl7dmFyIG47dzUubzQoMik7bj13NS5jNChoaSx0KTtyZXR1cm4gdHlwZW9mIHlbbl0hPT1nZSYmcm8oeVtuXSkseVtuXT1pbyhlLGkpO30sdzpmdW5jdGlvbigpe3JldHVybiBQdTt9LFU6ZnVuY3Rpb24odCl7cmV0dXJuIHRbU2MrR3IrbWNdPT09dmErR3IrZ3QrR3IrbXQrR3IrVnIrR3IreGMmJm5lW2lyXSh0W2FhK0dyK0dpXShPKSl8fHRbU2MrR3IrbWNdPT09cGErR3IrT24rR3IrRmMrR3IrUHMrR3IrcGE7fX07aXU9e3R0OmZ1bmN0aW9uKHQsZSl7dmFyIGkscTUsbTUsQTU7dHJ5e3E1PS0xNDE1MjczNDIzO201PS0zMzc1MDc5MjY7QTU9Mjtmb3IodmFyIEs1PTE7dzUuZDEoSzUudG9TdHJpbmcoKSxLNS50b1N0cmluZygpLmxlbmd0aCwzNzU1NSkhPT1xNTtLNSsrKXtyZXR1cm4gZXx8KGk9cmlbKHdyLUdyKSVqbipHcipMY10odFtIYyVHci9VZV0sdFtIYy9Hci14b10pKT9pOnRbVGldJiZ0W1hzLUdyLUNuXSYmdFsoWHItR3IpJUNuXTtBNSs9Mjt9aWYodzUuTDEoQTUudG9TdHJpbmcoKSxBNS50b1N0cmluZygpLmxlbmd0aCw3MjUzNikhPT1tNSl7cmV0dXJuIGUmJihpPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXSx0W0hjK0dyK3hvXSkpP2k6dFtUaV18fHRbWHMrR3IrQ25dfHx0W1hyK0dyK0NuXTt9fWNhdGNoKHQpe3JldHVybiB5dTt9fSxYOmZ1bmN0aW9uKHQsZSxpLG4pe3JldHVybiB0eXBlb2YgdFtIbitHcitDYStHcitFbl09PT1acz90W0huK0dyK0NhK0dyK0VuXShlLGksbnx8e30pOnRbRmUrR3IrQ2FdKE5vK2UsaSk7fSxLOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByO3I9ZnVuY3Rpb24oKXtpdS5aKHQsZSxyLG4pO2lbQ2ldKCk7fTtpdS5YKHQsZSxyLG4pO30sWjpmdW5jdGlvbih0LGUsaSxuKXtyZXR1cm4gdHlwZW9mIHRbeG4rR3IrQ2ErR3IrRW5dPT09WnM/dFt4bitHcitDYStHcitFbl0oZSxpLG58fHt9KTp0W0tpK0dyK0NhXShObytlLGkpO319OyEoWGM9e2l0OmZhW2lyXSh2dSksbnQ6c3RbaXJdKHZ1KSxtOmxlW2lyXSh2dSksZXQ6YWNbaXJdKHZ1KSxydDpTb1tpcl0odnUpLG90OnNpW2lyXSh2dSl8fEpyW2lyXSh2dSl8fHVlW2lyXSh2dVtmc10oMCw0KSksc3Q6dm9baXJdKHZ1KSxnOkFyW2lyXSh2dSkmJiFfYVtpcl0odnUpLGI6bHJbaXJdKHZ1KSYmIW1hW2lyXSh2dSksYXQ6bWVbaXJdKHZ1KSYmIWdyW2lyXSh2dSksY3Q6eFtpcl0odnUpLGQ6Rltpcl0odnUpLHV0OnlvW2lyXSh2dSksX3Q6bXUscHQ6WmMucShndSl8fG11LGx0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3QhPT1tdT90aGlzLl90OnRoaXMuX3Q9UWMuZHQoKSE9PXl1O30sSjpmdW5jdGlvbih0LGUpe3JldHVybiBaYy5KKFhjLmZ0LGUsdCk7fSxodDptb1tpcl0odnUpJiYhenJbaXJdKHZ1KSxmdDpaYy5xKHl1KXx8bXV9KS5ldHx8WGMuaHR8fFhjLmR8fFhjLmJ8fChYYy51dD1vNSk7KFljPWZ1bmN0aW9uKHQsZSxpKXt2YXIgbjtuPWl8fHt9O25bel09ZTt0aGlzLnZ0KG4pO3RoaXMubXQuYnR8fCh0aGlzLm10LmJ0PXJ1K3QpO3RoaXMuZ3QoKTt9KVtYdF09e2t0OntUdDpndSxDdDptdSxqdDp5dSxFdDpHcitQZStHcixGdDprdSxMdDpndSxBdDp5dSxPdDpndSx4dDptdSxQdDpudWxsLGJ0Om11LHd0Om11LFN0Omt1fSxtdDp7fSx5dDpudWxsLHp0OlpjLnYoKSxCdDpaYy5wKFtbT3IsMF1dKSxJdDpaYy5wKFtbTWUsMV1dKSxNdDpaYy5wKFtbU3IsMV1dKSxXdDpaYy5wKFtbRWksMF0sW1NyLDBdXSksRHQ6WmMucChbW01lLDBdXSksVXQ6WmMucChbW1p0LDBdXSksUnQ6WmMucChbW0VpLDBdXSksc2V0T3B0aW9uczpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy52dCh0KTt9LGd0OmZ1bmN0aW9uKCl7dmFyIHQsZSxpLG47dD1mdW5jdGlvbih0LGUpe3ZhciBpLG47bj17fTtuW3B1XT1beXUsZ3VdO25bX3VdPVt5dSx5dV07bltsdV09W2d1LGd1XTtuW2R1XT1bZ3UseXVdO2ZvcihpIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixpKSYmbltpXVswXT09PXQmJm5baV1bMV09PT1lKXtyZXR1cm4gaTt9cmV0dXJuIF91O307ZT1YYy5sdCgpO2k9dChHYy5tdC4kdC5uZXdUYWIsR2MubXQuJHQudW5kZXIpO249dCh0aGlzLm10LkF0LHRoaXMubXQuVHQpO2V8fG49PT1wdSYmKG49aSk9PT1wdSYmKG49bHUpO1hjLm90JiYobj09PV91JiYobj1kdSksbj09PXB1JiYobj1sdSkpO3RoaXMueXQ9bjt9LEh0OmZ1bmN0aW9uKCl7dmFyIGswLG4wLEYwO2lmKHR5cGVvZiB0aGlzLm10Lnh0PT09WnMpdHJ5e3JldHVybiB0aGlzLm10Lnh0W0NpXSh0aGlzLHRoaXMubXQpW1hzK0dyK2hdKCk7fWNhdGNoKHQpe3JldHVybiBLYy5lKHQpLHl1O31rMD0tMTAwMjA0NzAxMztuMD0tMTY1MTM4NjMwNztGMD0yO2Zvcih2YXIgTTA9MTt3NS5MMShNMC50b1N0cmluZygpLE0wLnRvU3RyaW5nKCkubGVuZ3RoLDY4NDExKSE9PWswO00wKyspe3JldHVybiB0aGlzLm10Lnh0O0YwKz0yO31pZih3NS5kMShGMC50b1N0cmluZygpLEYwLnRvU3RyaW5nKCkubGVuZ3RoLDkwOTM5KSE9PW4wKXtyZXR1cm4gdGhpcy5tdC54dDt9fSxMdDpmdW5jdGlvbigpe3ZhciB0LGUsRzcsQzcsazcsVjAsdTAseTA7dD10aGlzLm10O2U9dC5PdCE9PU5zJiZ0Lk90IT09TmV8fHQuT3Q9PT1OcyYmWGMub3R8fHQuT3Q9PT1OZSYmIVhjLm90O3RyeXtHNz0tMTkzODMwODU3MjtDNz0tMTE3NzY0NDk2NDtrNz0yO2Zvcih2YXIgRjc9MTt3NS5kMShGNy50b1N0cmluZygpLEY3LnRvU3RyaW5nKCkubGVuZ3RoLDg5NDI0KSE9PUc3O0Y3Kyspe3R5cGVvZiB0Lkx0PT09WnM/ZT1lJiZ0Lkx0W0NpXSh0aGlzLGUsdGhpcy5OdCgpKSE9PXl1OnR5cGVvZiB0Lkx0PT09YW4mJihlPWUmJnQuTHQpO2s3Kz0yO31pZih3NS5MMShrNy50b1N0cmluZygpLGs3LnRvU3RyaW5nKCkubGVuZ3RoLDUzNDE4KSE9PUM3KXstdC5MdCE9PVpzP2U9ZXx8dC5MdFtDaV0odGhpcyxlLHRoaXMuTnQoKSk9PT15dTohdC5MdD09YW58fChlPWV8fHQuTHQpO319Y2F0Y2godCl7S2MuZSh0KTt9VjA9Njg3MDAyMDA4O3UwPS0yOTc1OTkyODc7eTA9Mjtmb3IodmFyIHYwPTE7dzUuTDEodjAudG9TdHJpbmcoKSx2MC50b1N0cmluZygpLmxlbmd0aCw2NDU0MSkhPT1WMDt2MCsrKXtyZXR1cm4gR2MuSnQoKT9lfHwtdGhpcy5WdDplfHwrdHUuYyh0LmJ0KTt5MCs9Mjt9aWYodzUuTDEoeTAudG9TdHJpbmcoKSx5MC50b1N0cmluZygpLmxlbmd0aCwyOTMyNSkhPT11MCl7cmV0dXJuIEdjLkp0KCk/ZXx8LXRoaXMuVnQ6ZXx8K3R1LmModC5idCk7fXJldHVybiBHYy5KdCgpP2UmJiF0aGlzLlZ0OmUmJiF0dS5jKHQuYnQpO30sdnQ6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHI7dGhpcy5tdD1aYy55KHRoaXMuenQsdGhpcy5rdCx0aGlzLm10LHR8fHt9KTtmb3IoaSBpbiB0aGlzLm10KWlmKHlpW1h0XVtCYStHcitsdCtHcitvb11bQ2ldKHRoaXMubXQsaSkpc3dpdGNoKG49dGhpcy5tdFtpXSxpKXtjYXNlIHNvOnRoaXMubXQud3Q9bjticmVhaztjYXNlIHo6dGhpcy5tdC54dD1uO2JyZWFrO2Nhc2UgTGU6dGhpcy5tdC5PdD0obitHcilbWHMrR3IrdHMrR3IrbmNdKCk7YnJlYWs7Y2FzZSBOdCtHcittYzp0aGlzLm10LmJ0PW47YnJlYWs7Y2FzZSBOdCtHcitUOnRoaXMubXQuQ3Q9bjticmVhaztjYXNlIE50K0dyK2VhOnRoaXMubXQuRXQ9bjticmVhaztjYXNlIE50K0dyKyRzOnRoaXMubXQuUHQ9bjticmVhaztjYXNlIEVlOnRoaXMubXQuVHQ9bjticmVhaztjYXNlIEErR3IrTG86dGhpcy5tdC5BdD1uO2JyZWFrO2Nhc2UgcHQrR3IramU6dGhpcy5tdC5GdD1uO2JyZWFrO2Nhc2UgamErR3IramU6dGhpcy5tdC5TdD1uO2JyZWFrO2Nhc2UgSWMrR3IrY3I6dGhpcy5tdC5qdD1uO2JyZWFrO2Nhc2UgdGUrR3Irc3M6dGhpcy5tdC5MdD1uO31pZighWGMub3QmJiF0aGlzLm10LkF0KWZvcihyPVtbWGMuZyYmMTE9PT1YYy5wdCx0aGlzLlV0XSxbWGMuYiYmWGMucHQ8NDEsdGhpcy5JdF0sW1hjLmIsdGhpcy5CdF0sW1hjLmQmJlhjLnB0PDQ3LHRoaXMuTXRdLFtYYy51dCx0aGlzLkR0XSxbWGMuY3QsdGhpcy5SdF0sW1hjLmImJlhjLnB0Pj01OSx0aGlzLld0XSxbWGMudXQmJlhjLnB0Pj00Nix0aGlzLld0XV0sZT0wO2U8cltwaV07ZSsrKWlmKHJbZV1bMF0pZm9yKGkgaW4gcltlXVsxXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0ocltlXVsxXSxpKSYmKHRoaXMubXRbaV09cltlXVsxXVtpXSk7fX0sZ2V0T3B0aW9uczpmdW5jdGlvbigpe3JldHVybiB0aGlzLk50KCk7fSxOdDpmdW5jdGlvbigpe3ZhciB0LGU7ZT17fTtmb3IodCBpbiB0aGlzLm10KXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXSh0aGlzLm10LHQpJiZ0W3BpXT49MyYmKGVbdF09dGhpcy5tdFt0XSk7fXJldHVybiBlO30scXQ6ZnVuY3Rpb24oKXtHYy5KdCgpP3RoaXMuVnQ9Z3U6dHUuYSh0aGlzLm10LmJ0LDEsdGhpcy5tdC5DdCx0aGlzLm10LkV0LHRoaXMubXQuUHQpO319OyhudT1mdW5jdGlvbih0KXt2YXIgZTtlPXRoaXM7dGhpcy5RdD10O3RoaXMuR3Q9dGhpcy5ZdCgpO3RoaXMuS3Q9dGhpcy5adCgpO2l1LlgodGhpcy5HdCxncyxmdW5jdGlvbigpe0dzKGUuS3QpO1pjLlAoZS5HdCk7fSk7fSlbWHRdPXtZdDpmdW5jdGlvbigpe3ZhciB0LEs3LHI3LFE3O0s3PS0xODIwMzgxMDU7cjc9MTk5MDM1MjYxMTtRNz0yO2Zvcih2YXIgajc9MTt3NS5kMShqNy50b1N0cmluZygpLGo3LnRvU3RyaW5nKCkubGVuZ3RoLDg2ODQwKSE9PUs3O2o3Kyspe3Q9WmMueihoYyx7Y2xhc3M6ZnV9LEdyKTtyZXR1cm4gdGhpcy5RdFtTYytHcittY11bWHMrR3IrdHMrR3IrbmNdKCk9PT1Rcj9yaVtRcl1bSXQrR3IrV2VdKHQpOnRoaXMuUXRbX3QrR3IraV1bTmMrR3IrT3NdKHQsdGhpcy5RdFtWcytHcitrc10pLHQ7UTcrPTI7fWlmKHc1LkwxKFE3LnRvU3RyaW5nKCksUTcudG9TdHJpbmcoKS5sZW5ndGgsMzM0MykhPT1yNyl7dD1aYy56KGhjLHtjbGFzczpmdX0sR3IpO3JldHVybiB0aGlzLlF0W1NjKkdyL21jXVtYcypHci10cy1Hci1uY10oKT09UXI/cmlbUXJdW0l0L0dyL1dlXSh0KTp0aGlzLlF0W190L0dyJWldWyhOYy1HcikqT3NdKHQsdGhpcy5RdFsoVnMtR3IpJWtzXSksdDt9fSxadDpmdW5jdGlvbigpe3ZhciB0O3Q9dGhpcztyZXR1cm4gQ28oZnVuY3Rpb24oKXt2YXIgZSxpO2k9VWModC5RdFt4ZV1bc24rR3IrenNdLDEwKTt0LlF0W1NjK0dyK21jXVtYcytHcit0cytHcituY10oKT09PVFyJiYoaT05ZTkpOyhlPV9uK1Z0K2dvK2VyK0RhK1Z0K04rZXIrbG4rVnQraytlcitHcisoS2ErVnQrR3IpK3QuUXRbZnIrR3Ird2NdKyhobytlcitHcikrKG9jK1Z0K0dyKSt0LlF0W2ZyK0dyK2ddKyhobytlcitHcikrKEhpK1Z0K0dyKSt0LlF0W2ZyK0dyK1duXSsoaG8rZXIrR3IpKyhwK1Z0K0dyKSt0LlF0W2ZyK0dyK0NjXSsoaG8rZXIrR3IpKyhzbit3aStMK1Z0K0dyKSsocWMoaSk/MjppKzEpKSE9PXQuR3RbYWErR3IrR2ldKHhlKSYmdC5HdFtsaStHcitHaV0oeGUsZSk7fSwxNTApO319O251Llh0PWZ1bmN0aW9uKHQpe3ZhciBlO3c1Llk0KDEyKTtlPXc1LmM0KHJ1LExpLHdpLHdpLEdyLGllLEdyKTt0W2FhK0dyK0dpXShlKXx8dFthYStHcitHaV0obG8pPT09ZnV8fCh0W2xpK0dyK0dpXShlLDEpLG5ldyBudSh0KSk7fTsoUWM9e2R0OmZ1bmN0aW9uKCl7dmFyIHQsZTtlPXRoaXMuZWUoKTtmb3IodD0wO3Q8ZVtwaV07dCsrKWlmKGVbdF1bMV0oKT09PWd1KXtyZXR1cm4gZVt0XVswXTt9cmV0dXJuIHl1O30sZWU6ZnVuY3Rpb24oKXt2YXIgdDt0PVtdO3JldHVybiBYYy5vdHx8WGMuaXQ/W106KHRbTXJdKFt0aGlzLmllLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlhjLnB0Pj02NCYmWGMucHQ8Njc7fV0pLHRbTXJdKFt0aGlzLm5lLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubnQmJlhjLnB0Pj00MyYmWGMucHQ8NjQ7fV0pLHRbTXJdKFt0aGlzLnJlLGZ1bmN0aW9uKCl7dmFyIGI3LHE3LG03O2I3PS02MDMwNTI0OTU7cTc9LTQwNjg3OTgwNDttNz0yO2Zvcih2YXIgSTc9MTt3NS5MMShJNy50b1N0cmluZygpLEk3LnRvU3RyaW5nKCkubGVuZ3RoLDU1NDM5KSE9PWI3O0k3Kyspe3JldHVybiBYYy5ifHxaYy5ZKCl8fFhjLm18fFhjLnB0PD0xN3x8WGMucHQ+PTg5O203Kz0yO31pZih3NS5MMShtNy50b1N0cmluZygpLG03LnRvU3RyaW5nKCkubGVuZ3RoLDYyMDk0KSE9PXE3KXtyZXR1cm4gWGMuYnx8WmMuWSgpfHxYYy5tfHxYYy5wdDw9MTd8fFhjLnB0Pj04OTt9cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubSYmWGMucHQ+PTQ5JiZYYy5wdDw2NDt9XSksdFtNcl0oW3RoaXMub2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZDt9XSksdFtNcl0oW3RoaXMuc2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZyYmWGMucHQ+PTExO31dKSx0W01yXShbdGhpcy5hZSxmdW5jdGlvbigpe3JldHVybiBYYy5odDt9XSksdFtNcl0oW3RoaXMuY2UsZnVuY3Rpb24oKXt2YXIgVDAsRTAsbzA7VDA9MTIwNjMzNjEyMTtFMD0xMjk2MjQyMjUyO28wPTI7Zm9yKHZhciBwMD0xO3c1LmQxKHAwLnRvU3RyaW5nKCkscDAudG9TdHJpbmcoKS5sZW5ndGgsNDUyNzYpIT09VDA7cDArKyl7cmV0dXJuIFhjLnV0fHxYYy5udHx8WGMucHQ+PTc0O28wKz0yO31pZih3NS5MMShvMC50b1N0cmluZygpLG8wLnRvU3RyaW5nKCkubGVuZ3RoLDY1MzgpIT09RTApe3JldHVybiBYYy51dCYmWGMubnQmJlhjLnB0PD00ODt9fV0pLHQpO319KS50ZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMudGVbWHRdPXtfZTprdSx1ZTpmdW5jdGlvbih0KXt2YXIgcjUsUTUsZTU7cjU9LTk1ODI4OTMwMTtRNT0tNjIxNDQ4NDIyO2U1PTI7Zm9yKHZhciBaNT0xO3c1LmQxKFo1LnRvU3RyaW5nKCksWjUudG9TdHJpbmcoKS5sZW5ndGgsOTUyNjgpIT09cjU7WjUrKyl7dGhpcy5mZT10O2U1Kz0yO31pZih3NS5MMShlNS50b1N0cmluZygpLGU1LnRvU3RyaW5nKCkubGVuZ3RoLDE0MzU1KSE9PVE1KXt0aGlzLmZlPXQ7fX0sbGU6a3UscGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhO2k9dGhpcztuPWkuZmU7cj1uLkh0KCk7bz1uLm10O3M9by53dHx8WmMuJCg1KTthPVpjLmsobyk7aWYodD1mdW5jdGlvbigpe3RyeXtpZih0eXBlb2Ygby5GdD09PVpzJiZvLkZ0W0NpXShuLHIsbyk9PT15dSl7cmV0dXJuIHl1O319Y2F0Y2godCl7S2MuZSh0KTt9cmV0dXJuIG11O30sZT1mdW5jdGlvbih0KXtpZih0eXBlb2Ygby5TdD09PVpzKXRyeXtvLlN0W0NpXShuLHIsbyx0KTt9Y2F0Y2godCl7S2MuZSh0KTt9fSx0KCk9PT15dSl7cmV0dXJuIHl1O310eXBlb2Ygb1t6XT09PVRjJiZvW3pdIT09ciYmKHI9b1t6XSk7R2MuanQoby5qdCk7dGhpcy5fZSgpO3RyeXtyZXR1cm4gdGhpcy5sZShyLG8scyxhLGZ1bmN0aW9uKHQpe2kuZGUodCk7aS5oZSYmR2MuaGUoKTtlKHQpO30pO31jYXRjaCh0KXtyZXR1cm4gS2MuZSh0KSx5dTt9fSx2ZTpmdW5jdGlvbih0LGUsaSl7cmV0dXJuKEdjLm10LmJlP1pjLkM6QXUpKHQsZSxpKTt9LGRlOmt1LGhlOmd1fTtRYy5tZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMubWVbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTp5dSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3IodGhpcy52ZSh0LGksbikpO319KTtRYy5nZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuZ2VbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTohWGMub3QmJiFYYy5kLGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7cih0aGlzLnZlKHQsRmkpKTt9fSk7UWMueWU9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnllW1h0XT1aYy55KFFjLnRlW1h0XSx7a2U6ZnVuY3Rpb24oKXt2YXIgdCxlLGk7dD1HYy53ZSgpO2U9R2MueGUuUztpPXR5cGVvZiBHYy5tdC5PZT09PVpzP0djLm10Lk9lW0NpXSgpOkdjLm10Lk9lO3JldHVybiBmdW5jdGlvbigpe3ZhciBuLHI7cmV0dXJuIGkhPT1GdT9pOihuPVpjLiQoMSkscj1lP2k6R2MuQ2UodCl8fGksZXUucygpfHwhWGMub3QmJiFYYy5nP3I6KHR1LmEoY3UsbixtdSkscltaXSh2cixHcikrKEdyK3NlK0dyKStuKSk7fSgpO30sbGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgeDksejksaDksbyxzLGEsYyx1LGgsZixwO3g5PTE3MTA2NjI4Nzg7ejk9LTEwMzk3MjE3MTM7aDk9Mjtmb3IodmFyIEw5PTE7dzUuZDEoTDkudG9TdHJpbmcoKSxMOS50b1N0cmluZygpLmxlbmd0aCwzMDE4NykhPT14OTtMOSsrKXtoOSs9Mjt9aWYodzUuZDEoaDkudG9TdHJpbmcoKSxoOS50b1N0cmluZygpLmxlbmd0aCw0NTQ4MCkhPT16OSl7fWE9dGhpcy5rZSgpO2M9R2Mud2UoKTt1PVpjLk4oYyk7aD0xNTtmPVtdO3A9ZnVuY3Rpb24odCl7dmFyIGU7dHlwZW9mIHRbQW5dPT09WnMmJihlPXRbQW5dLGl1LlgodCxncyxlKSk7dFtBbl09ZnVuY3Rpb24oKXtyZXR1cm4geXU7fTt9O2ZvcihHYy5FZSgpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKSE9PUZpJiZaYy5mKGMsdW4pJiYocChjKSwwIT09Y1thYStHcitHaV0odW4pW0wrR3IrV2FdKEN0KSYmKGE9Y1thYStHcitHaV0odW4pKT09PUdyJiYoYT1GdSkpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKT09PUZpJiZaYy5mKGMsdW4pJiYocChjKSxpbyhmdW5jdGlvbigpe2NbQW5dPW11O30sM2UzKSxHYy5tdC5QZT9hPWNbYWErR3IrR2ldKHVuKTooYT1GdSxYYy5vdCYmKFhjLnV0P2ZbTXJdKGZ1bmN0aW9uKCl7QXUoY1thYStHcitHaV0odW4pLEZpKTt9KTppbyhmdW5jdGlvbigpe0F1KGNbYWErR3IrR2ldKHVuKSxGaSk7fSwyMCkpKSksWGMuZXQmJlhjLnV0fHxYYy5ldCYmWGMuc3QmJiFYYy5kJiYhWGMuYiYmIVhjLmh0PyhBdShhLEZpKSxaYy5IKEJyLGZ1bmN0aW9uKCl7WmMuVCh0KTt9LGgpKTohWGMub3QmJlpjLmgoYyxUaSkhPT1GaSYmKFhjLnV0JiZYYy5zdHx8WGMuaHQmJlhjLnB0PDEwfHxYYy5iJiZYYy5wdDw0MSk/WGMudXQ/KFpjLlEoYSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KFpjLlEodCksY1tTYytHcittY109PT1PbiYmdSYmWmMuVCh1KSk6WGMuZXQmJlhjLmQ/KG89QXUoYSxGaSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KG89eVtRYV0oVWErVnQrY2ksRmkpKT8ob1tFaV1bdW5dPWEsWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6bz1BdSh0LEZpKSxzPTA7czxmW3BpXTtzKyspe2Zbc11bQ2ldKCk7fW8mJnIobyk7fX0pO1FjLm9lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5vZVtYdF09WmMueShRYy50ZVtYdF0se2hlOnl1LGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG87bz10aGlzLnZlKHQsaSxuKTtvW2tuXSgpO1R1W2JvXSgpO1pjLk0obyk7aW8oZnVuY3Rpb24oKXtyKG8pO30sMWUzKTt9fSk7UWMuY2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLmNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZSh0LGksbik7cz1HYy5UZSgxZTMpO2l1LksoeSxibyxmdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9KTtvW2NjXT1mdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9O3Iobyk7fX0pO1FjLmFlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5hZVtYdF09WmMueShRYy50ZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIEQ5LFc5LGw5LG87RDk9MTk0OTIwNzgwOTtXOT04OTkwMjg0O2w5PTI7Zm9yKHZhciBWOT0xO3c1LkwxKFY5LnRvU3RyaW5nKCksVjkudG9TdHJpbmcoKS5sZW5ndGgsNTc4NTApIT09RDk7VjkrKyl7bDkrPTI7fWlmKHc1LkwxKGw5LnRvU3RyaW5nKCksbDkudG9TdHJpbmcoKS5sZW5ndGgsNTEwNjgpIT09Vzkpe315W3NvXT1aYy4kKDUpO289dGhpcy52ZSh0LGksbik7dGhpcy52ZShHcix5W3NvXSxHcik7eVtzb109bXU7cihvKTt9LGhlOnl1fSk7UWMuc2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZShQdT90OkZ1LGksbik7cz1mdW5jdGlvbigpe29bRWldW3VuXT10O307aXUuSyhvLGtuLHMpO29ba25dKCk7VHVbYm9dKCk7aW8ocywxMDApO3Iobyk7fSxoZTp5dX0pO1FjLm5lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5uZVtYdF09WmMueShRYy50ZVtYdF0se0ZlOmZ1bmN0aW9uKCl7dmFyIHQsZTtlPVpjLnooYXIse2RhdGE6WmMuTChlbitQZStNYyx0aGlzLkFlKStaYy4kKDMpfSk7cmV0dXJuKHQ9WmMueihoYyx7c3R5bGU6UGkrVnQrYStlcitvYytWdCtIcytlcitLYStWdCtIcytlcitEYStWdCtOK2VyK3ArVnQrRnIrSGErR3IrZXIrSGkrVnQrem4rZXIrayt3aStHYStWdCtYaStlciskbytWdCthK2VyK0dyfSkpW0l0K0dyK1dlXShlKSxbZSx0XTt9LFNlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMueSh0LHt9KTtyZXR1cm4gZVtwXT1lW0hpXT05ZTUsZVtvY109ZVtLYV09MSxlO30sQWU6THQrR3IrdGErR3IrRmMrR3IrUHMrR3Irb24rR3IrV2MrR3IreG8rR3IrJCtHcithaStHcituK0dyK1NhK0dyK0tyK0dyK1F0K0dyK2t0K0dyK3p0K0dyK3RjK0dyK1l0K0dyK3ZhK0dyK3MrR3IrdmErdWMraG4rR3IrTGErR3IrenQrR3IrVytHcitEYytHcitaYStHcittdCtHcitWaStHcitzYStHcitVZStHcitUYStHcit2YStHcitWaStHcitQcitHcit4bytHcitVZStHcitpYytHcitwbytHcitLcitHcitKK0dyK2hzK0dyK1ppK0dyK3ZhK0dyK1ByK0dyK0xhK0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrWGErR3IrVHMrR3IrWmkrR3IrdmErR3IrUHIrR3IrSGUrR3IrenQrR3IrVytHcitGYytHcit0YytHcityYytHcithZStHcit2aStHcit2YStHcitQcitHcitydCtHcitwcytHcittdCtHcituYStHcitUbytHcityZStHcit4bytHcit0YStHcitqaStHcitXK0dyK2F0K0dyK3ZhK0dyK1ByK0dyK2MrR3IrYit1YytFK0dyK1FvK0dyK3BzK0dyK2RjK0dyK1l0K0dyK3ZhK0dyK1lhK0dyK1hhK0dyK1RzK0dyK1ppK0dyK3ZhK0dyK0dlK0dyK09lK0dyK2dhK0dyK0hvK0dyK3ZhK0dyK1ByK0dyK2t0K0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrdmErR3Ircm4rdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitrdCtHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK09lK0dyK1krR3IrS3QrR3IreG8rR3IrVWUrR3IrYnMrR3IrRnQrR3IrUG8rR3IrRStHcitVZStHcitiaStHcitVZStHcitTZStHcitWcitHcitEcytHcit4bytHcitVZStHcitHbytHcit2YStHcitQdCtHcitVZStHcitScitHcit5YytHcitPZStHcitWbytHcitLcitHcit2YytHcitiZStHcitzK0dyK3hjK0dyK0tvK0dyK3IrR3IrYWkrR3IrZnQrdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitBZStHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK05hK0dyK1RzK0dyK010K0dyK2hyK0dyK1lzK0dyK0tzK0dyK0UrR3IrVWUrR3IrZm4rR3IrcmMrR3IrYWUrR3IrRCtHcitMdCtHcitWcitHcit0YStHcittdCtHcitacitHcitWcitHcitPZSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3ZhciBzLGEsYyx1LGg7dT10aGlzO2g9eXU7dHJ5eyhhPXRoaXMudmUoVWErVnQrY2ksRmkpKVttcl1bcnJdKHc1LnU0KHVyLEdyLEdyLGpvLFBlLHVpLEdyLFFyLEdyLFBlLG8sR3IsdWksdWksR3IsdXIsUGUsR3IsdXIsam8sR3IsdXIsbyx1aSxHcix1cixHcix1aSxRcix1cix1aSx3NS5ZNCgxMykpKTtpdS5LKGEscWEsZnVuY3Rpb24oKXtmdW5jdGlvbiBmKCl7bigpO2FbSW9dKCk7bygpO3JvKGMpO31ofHwoaD1ndSxzPWFbQmNdPUF1KFVhK1Z0K2NpLGksWmMuayh1LlNlKGUpKSksaXUuWChhLGJvLGYpLGM9aW8oZiwzZTMpLGFbbXJdW1FyXVtQYStHcithaStHcit4YytHcit6dCtHcitwYV09dS5GZSgpWzFdW1BuK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXSk7ZnVuY3Rpb24gbigpe3c1Llk0KDE0KTthW21yXVtRcl1bdzUudTQoUGEsenQsR3IsR3IsR3IseGMsR3IsYWkscGEpXT1Hcjt9ZnVuY3Rpb24gbygpe3ZhciBhMSxZMSxmMTthMT0tMTU2OTI3MTMyMDtZMT0yMzc1ODcyNDtmMT0yO2Zvcih2YXIgRDE9MTt3NS5MMShEMS50b1N0cmluZygpLEQxLnRvU3RyaW5nKCkubGVuZ3RoLDk0NDMyKSE9PWExO0QxKyspe3NbRWMlR3ItYmFdKGVbSGldLGVbcF0pO3NbZGElR3IqYmFdKGVbb2NdLGVbS2FdKTtzW0VpXVtaXSh0KTtyKHMpO2YxKz0yO31pZih3NS5kMShmMS50b1N0cmluZygpLGYxLnRvU3RyaW5nKCkubGVuZ3RoLDYyNDUzKSE9PVkxKXtzW0VjJUdyLWJhXShlW0hpXSxlW3BdKTtzW2RhJUdyKmJhXShlW29jXSxlW0thXSk7c1tFaV1bWl0odCk7cihzKTt9c1tFYytHcitiYV0oZVtIaV0sZVtwXSk7c1tkYStHcitiYV0oZVtvY10sZVtLYV0pO3NbRWldW1pdKHQpO3Iocyk7fX0pO31jYXRjaCh0KXt9fX0pO1FjLnJlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5yZVtYdF09WmMueShRYy5uZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG8scztzPVpjLk8oZ3UpO2l1LksoeSxibyxmdW5jdGlvbigpe1pjLlAocyk7b1tFaV1bWl0odCk7cihvKTt9KTt3NS5vNCg0KTtvPXRoaXMudmUodzUuYzQoVWEsVnQsY2kpLEZpKTtzW3RvK0dyK3lhXVttcl1bcnJdKHRoaXMuRmUoKVsxXVtQbitHcithaStHcit4YytHcit6dCtHcitwYV0pO319KTtRYy5pZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuaWVbWHRdPVpjLnkoUWMudGVbWHRdLHtMZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47aT10aGlzO249eXU7dzUubzQoNCk7ZT10aGlzLnZlKHc1LmM0KFVhLFZ0LGNpKSx0Lnd0fHxGaSx0LkJlfHxHcik7dC56ZSYmKGUmJmVbSW9dKCksbj1ndSk7IW4mJmUmJmlvKGZ1bmN0aW9uKCl7ZVtFaV1bdW5dPXQueHQ7dC5JZSYmaS5JZShlKTt9LDEwMCk7fSx1ZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47bj10aGlzO3RoaXMuamU9ZHJbTW5dKCk7dGhpcy5mZT10O2U9R2Mud2UoKTt3NS5vNCgxNSk7aT1aYy5CKGUsdzUuYzQoZ3QsR3IseGMsR3IsR3IsRmMseGMsR3IsZmMsR3IsVnIpKTsoZVtTYytHcittY109PT1PbiYmZVthYStHcitHaV0oanIpIT09RmkmJiFaYy5TKGUpfHxpJiYhWmMuUyhpKSkmJih0aGlzLmhlPWd1KTtpdS5YKHksSWUsZnVuY3Rpb24gdChlKXt0cnl7ZVtpZV0uamU9PT1uLmplJiZuLkxlKGVbaWVdKTtlW2llXS56ZSYmaXUuWih5LEllLHQpO31jYXRjaCh0KXt9fSk7fSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3RoaXMuSWU9cjt0aGlzLk1lKHtqZTp0aGlzLmplLEJlOm4sSWU6Z3UseHQ6dH0pO3RoaXMuTWUoe2plOnRoaXMuamUsemU6Z3UseHQ6VWErVnQrY2l9KTt9LGhlOnl1LE1lOmZ1bmN0aW9uKHQpe3lbSnQrR3IrWF0odCx5W0VpXVtSb10pO319KTtHYz17X2k6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5RaSgpK3RoaXMuSGkoKT5aYy5HKCk7fSxLaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm10LkplO30sSmU6ZnVuY3Rpb24oKXt2YXIgdDt0PVpjLngoYXJndW1lbnRzWzBdKT9hcmd1bWVudHNbMF06YXJndW1lbnRzO3JldHVybiB0aGlzLm5uKHQsUm4sdFtwaV0mJnRbMF09PT15dSk7fSxraTpmdW5jdGlvbih0LGUsaSxuKXt0aGlzLk9pKGksdCxndSl8fG4oZ3UseXUpO30sV2k6ZnVuY3Rpb24odCl7dHJ5e3JldHVybiB0W3F0XSYmMCE9PXRbcXRdfHx0aGlzLmNpLkcrMTUwPlpjLkcoKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LFJpOmZ1bmN0aW9uKCl7dGhpcy5XZT1bXTt9LFlpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQucWU7fSxVaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLldlO30sWmU6bXUsVGk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHx0aGlzLnFpKHQpKXtyZXR1cm4geXU7fWlmKCF0aGlzLm10LnFlW3BpXXx8dFthYStHcitHaV0obG8pPT09ZnUpe3JldHVybiBndTt9Zm9yKDtlPHRoaXMubXQucWVbcGldO2UrKylpZih0PT09dGhpcy5tdC5xZVtlXXx8dHlwZW9mIHRoaXMubXQucWVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5xZVtlXVtYcytHcitwcitHcituY10oKXx8WmMuSSh0LHRoaXMubXQucWVbZV0pKXx8WmMuQih0LHRoaXMubXQucWVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LHdlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueGUuUXQ7fSxMaTpmdW5jdGlvbigpe3ZhciB0LGU7ZT10aGlzO3RoaXMuWmU9WmMueihoYyx7c3R5bGU6b2MrVnQrRnIrSGErR3IrZXIrS2ErVnQrRnIrSGErR3IrZXIrRGErVnQrSXMrZXIrcCtWdCt6bitlcitIaStWdCt6bitlcitzbit3aStMK1Z0K25vK2VyK3h0K1Z0K1hpK2VyK0dyfSxHcik7dD1DbyhmdW5jdGlvbigpe3ZhciBpO2k9cmlbUXJdO2kmJihHcyh0KSxpW0l0K0dyK1dlXShlLlplKSk7fSwxMDApO30saGk6ZnVuY3Rpb24oKXt2YXIgTjksYTksWTksdCxlLGk7Tjk9LTUxNTA4MTc1NzthOT0tMTMwNjg1MTEzNztZOT0yO2Zvcih2YXIgczk9MTt3NS5kMShzOS50b1N0cmluZygpLHM5LnRvU3RyaW5nKCkubGVuZ3RoLDEwMDExKSE9PU45O3M5Kyspe1k5Kz0yO31pZih3NS5MMShZOS50b1N0cmluZygpLFk5LnRvU3RyaW5nKCkubGVuZ3RoLDQ1MzQ0KSE9PWE5KXt9aT10aGlzLlhlLm9pO2Zvcih0PTA7dDx0aGlzLmZpW3BpXSYmKCF0aGlzLnBpKCkmJiF0aGlzLl9pKCkpO3QrKyl7aWYoZT10aGlzLmZpW3RdLHRoaXMuWGUuc2krKyx0aGlzLlhlLm9pPVpjLkcoKSx0aGlzLmxpKGUpPT09eXUpe3JldHVybiB0aGlzLlhlLnNpLS0sdm9pZCh0aGlzLlhlLm9pPWkpO31pPXRoaXMuWGUub2k7ZXUuYShodSx0aGlzLlhlLm9pKTtlLnl0PT09bHUmJmV1LmEodXUsdGhpcy5YZS5zaSk7fX0sT2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBuLHIsbyxzO3c1Lm80KDQpO289dzUuYzQoR3IsVHQsR3IpO3c1Llk0KDIpO3M9dzUuYzQobyx0KTtmb3Iobj0wO248ZVtwaV07bisrKWlmKHI9KEdyK090K0dyK1R0K0dyKVtMK0dyK1dhXShlW25dWzBdKT4tMT9lW25dOm8rZVtuXSxzW2ZzXShzW3BpXS1yW3BpXSk9PT1yfHxpJiZyPT09d3Upe3JldHVybiBndTt9cmV0dXJuIHl1O30sZW46ZnVuY3Rpb24odCxlKXt2YXIgTDAsZDAsTzAsaSxuO0wwPTEyMjU5MjUxNjQ7ZDA9LTc2NDA0NzIyNjtPMD0yO2Zvcih2YXIgQzA9MTt3NS5MMShDMC50b1N0cmluZygpLEMwLnRvU3RyaW5nKCkubGVuZ3RoLDk4MzQ3KSE9PUwwO0MwKyspe08wKz0yO31pZih3NS5MMShPMC50b1N0cmluZygpLE8wLnRvU3RyaW5nKCkubGVuZ3RoLDg1NTk4KSE9PWQwKXt9aT10aGlzO249dGhpcy50bih0LGUpO3RoaXMuV2VbTXJdKG4pO3RoaXMuRGkobik7dGhpcy5pbnx8KEdjLkNpKCksZnVuY3Rpb24oKXt2YXIgdCxlO1hjLmImJigoZT1yaVtVcytHcitDbl0oaGMpKVtSYytHcitpdF0oVmEsZnVuY3Rpb24oKXtDdT1ndTt9KSxDdT1vNSx0PUNvKGZ1bmN0aW9uKCl7aWYoQ3U9eXUsIWkubXQuUmUpe2lmKHR5cGVvZiB5W3dzXSE9PWFyfHx0eXBlb2YgeVt3c11bT29dIT09WnMpe3JldHVybiBDdT1vNSx2b2lkIEdzKHQpO315W3dzXVtPb10oZSk7eVt3c11bTWldKCk7fX0sNTAwKSk7fSgpLHRoaXMuaW49bzUpO30sUGk6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuSmkoKSx0P3RoaXMuZmlbcGldOnRoaXMuZmlbcGldPjA7fSx2aTpmdW5jdGlvbigpe3ZhciB0LGU7dD1aYy5HKCk7ZT1aYy5HKGF1KTt3NS5ZNCgxNik7dGhpcy5YZS5yaT13NS5jNChlLHQsMzE1MzYwMDAwMDApO3RoaXMuWGUucmkmJih0aGlzLmxpPWt1KTt9LEJpOmZ1bmN0aW9uKCl7dmFyIHQ7dD1VYyhldS5jKGh1KSwxMCk7cWModCkmJih0PTApO3RoaXMuWGUub2k9dDt9LENlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMuTih0KTtyZXR1cm4gZSYmIXRoaXMubXQuTmUmJlpjLlModCk/eXU6ZTt9LGp0OmZ1bmN0aW9uKHQpe3ZhciBlLGksbjtlPXR5cGVvZiB0PT09Z2U/Z3U6ISF0O3c1Lm80KDIpO2k9dzUuYzQocnUsSSk7bj1yaVthYStHcitDbitHcitpaStHcit0bl0oaSk7ZT9ufHwobj1aYy56KERvLHtjb250ZW50OkljK3dpK2lhLG5hbWU6aWEsaWQ6aX0pLHJpW2FhK0dyK1JlK0dyK2lpK0dyK1JpK0dyK21jXShvKVswXVtJdCtHcitXZV0obikpOm4mJlpjLlAobik7fSxHaTpmdW5jdGlvbigpe3RoaXMuWGUuaWk9Z3U7dGhpcy5oaT1rdTt9LEp0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQuRGU7fSx5aTpmdW5jdGlvbih0LGUsaSxuLHIpe2Zvcih2YXIgbyxzPTA7czxlJiYobz10W3NdLCEoMT09PW4mJihyKGlbcytlXSx0W3NdKmlbc10rcysoaVtzXT4+cyszKSl8fHIoaVtzKzIqZV0sdFtzXSoodFswXSt0WzFdK3RbMl0pKyhpW3NdPDxzKSl8fHIoaVtzKzMqZV0sZHJbQWNdKHRbMF0qdFsxXSp0WzJdL28pK28rKGlbc10+PnMpKSl8fG48MSYmKHIoaVtzK2VdLHRbc10qaVtzXStzKXx8cihpW3MrMiplXSx0W3NdKih0WzBdK3RbMV0rdFsyXSkpfHxyKGlbcyszKmVdLGRyW0FjXSh0WzBdKnRbMV0qdFsyXS9vKStvKSkpKTtzKyspO30scWk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHwhdGhpcy5tdC5KZVtwaV0pe3JldHVybiB5dTt9Zm9yKDtlPHRoaXMubXQuSmVbcGldO2UrKylpZih0PT09dGhpcy5tdC5KZVtlXXx8dHlwZW9mIHRoaXMubXQuSmVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5KZVtlXXx8WmMuSSh0LHRoaXMubXQuSmVbZV0pKXx8WmMuQih0LHRoaXMubXQuSmVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LGNpOnt1aTp7fSxHOjB9LEhpOmZ1bmN0aW9uKCl7cmV0dXJuIFhjLm90P2RyW0JvXSh0aGlzLm10LlZlLDFlMyk6WGMuYnx8WGMuZ3x8WGMuY3R8fFhjLnV0JiYhWGMuZXQ/ZHJbQm9dKHRoaXMubXQuVmUsMjAwKTp0aGlzLm10LlZlO30sRWU6ZnVuY3Rpb24odCl7dmFyIGUsWjcsdDcsVTc7Wjc9LTEyNTc1NDEyNDI7dDc9MTMwMDY1ODcyMDtVNz0yO2Zvcih2YXIgejc9MTt3NS5MMSh6Ny50b1N0cmluZygpLHo3LnRvU3RyaW5nKCkubGVuZ3RoLDgzNTc3KSE9PVo3O3o3Kyspe2U9dHx8dGhpcy5jaS51aTtVNys9Mjt9aWYodzUuZDEoVTcudG9TdHJpbmcoKSxVNy50b1N0cmluZygpLmxlbmd0aCwzMDU1KSE9PXQ3KXtlPXQmJnRoaXMuY2kudWk7fXRyeXtlW01vK0dyK25pXSYmZVtNbytHcituaV0oKTtlW3FlK0dyK19zXSYmZVtxZStHcitfc10oKTt3NS5vNCg0KTtlW3c1LmM0KE5yLEdyLGNvKV09eXU7dzUubzQoNCk7ZVt3NS51NChtcyxHcixIcildPWd1O31jYXRjaCh0KXt9fSxpOmZ1bmN0aW9uKCl7dmFyIE8xLEcxLEMxO08xPS0xMzAyMzI0NTE3O0cxPTg4ODY0MDYzMDtDMT0yO2Zvcih2YXIgbjE9MTt3NS5kMShuMS50b1N0cmluZygpLG4xLnRvU3RyaW5nKCkubGVuZ3RoLDU5MTU1KSE9PU8xO24xKyspe3JldHVybiB0aGlzLm10LlVlfHx0aGlzLm10LkRlO0MxKz0yO31pZih3NS5MMShDMS50b1N0cmluZygpLEMxLnRvU3RyaW5nKCkubGVuZ3RoLDIzODAyKSE9PUcxKXtyZXR1cm4gdGhpcy5tdC5VZSYmdGhpcy5tdC5EZTt9fSxwaTpmdW5jdGlvbigpe3ZhciBoNyxpNyxMNztoNz0tMTUxMTEyMzE1NDtpNz0tMTY3MjAwNTI5NjtMNz0yO2Zvcih2YXIgTzc9MTt3NS5kMShPNy50b1N0cmluZygpLE83LnRvU3RyaW5nKCkubGVuZ3RoLDMyNTMzKSE9PWg3O083Kyspe3JldHVybiB0aGlzLiRpKCk8dGhpcy5tdC5IZTtMNys9Mjt9aWYodzUuTDEoTDcudG9TdHJpbmcoKSxMNy50b1N0cmluZygpLmxlbmd0aCwxOTk5KSE9PWk3KXtyZXR1cm4gdGhpcy4kaSgpPj10aGlzLm10LkhlO319LGdpOmZ1bmN0aW9uKHQsZSxpLG4scil7Zm9yKHZhciBvLHM9MDtzPGUmJihvPXRbc10sISgxPT09biYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzErKGlbc108PGlbc10lMTApLGlbZStzXSl8fHIob1trZStHcitucytHcitCaV0ob1twaV0tMSkqaVtzXSoyK3MrKGlbc10+PnMpLGlbMiplK3NdKXx8cihvW3BpXSppW3NdKjMrKGlbc108PHMpLGlbMyplK3NdKSl8fG48MSYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzEsaVtlK3NdKXx8cihvW2tlK0dyK25zK0dyK0JpXShvW3BpXS0xKSppW3NdKjIrcyxpWzIqZStzXSl8fHIob1twaV0qaVtzXSozLGlbMyplK3NdKSkpKTtzKyspO30sV2U6W10sdG46ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IFljKHRoaXMuV2VbcGldLHQsZSk7fSxBaTpmdW5jdGlvbih0KXt0aGlzLmNpLnVpPXQ7dGhpcy5jaS5HPVpjLkcoKTt9LGFpOltdLE1pOmZ1bmN0aW9uKHQpe3JldHVybiBudS5YdCh0KSx0aGlzO30sWmk6ZnVuY3Rpb24oKXtyZXR1cm4gWmMucChbW1RyLHRoaXMubXQuRGVdLFtvaSx0aGlzLm10LlVlXSxbd3QsdGhpcy5tdC5SZV0sW0xyK0dyK3plLHRoaXMubXQuT2VdLFtSbitHcitFbix0aGlzLm10Lk5lXSxbRHQsdGhpcy5tdC5IZV0sW2xjK0dyK2JhLHRoaXMubXQucWVdLFtSbitHcitiYSx0aGlzLm10LkplXSxbUW4sdGhpcy5tdC5WZV0sW3crR3IrVix0aGlzLm10LiRlXSxbdytHcitEbix0aGlzLm10LlFlXSxbcG4rR3IrdHIrR3IrTG4sdGhpcy5tdC5HZV0sW0JzK0dyK2wrR3IrU3MsdGhpcy5tdC4kdF0sW05zK0dyKyRyLHRoaXMubXQuWWVdLFtJYytHcitwYytHcitfaSx0aGlzLm10LmJlXSxbTHMrR3IrYnQsdGhpcy5tdC5LZV0sW0IrR3IrdmUrR3IrX28rR3IreW4rR3IrTG4sdGhpcy5tdC5QZV1dKTt9LFRlOmZ1bmN0aW9uKHQpe3ZhciBlLGk7aT1aYy5PKGd1KTtyZXR1cm4gZT1pW3RvK0dyK3lhXVttcl1bVXMrR3IrQ25dKGRlKSwwPT09eVtFaV1bdW5dW0wrR3IrV2FdKGorVnQrR3IpP2VbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPUdyKyhXcitZZStHcit3bitHcikrKGYrVHQrUytUdCthYStHcitaZStHcitRaStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKTplW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoV3IrWWUrR3Ird24rR3IpKyhZcitUdCtjYStHcitfZStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSxpW3RvK0dyK3lhXVttcl1bUXJdW0l0K0dyK1dlXShlKSx0eXBlb2YgdCE9PVd0JiZ0eXBlb2YgdCE9PWdlfHxpbyhmdW5jdGlvbigpe1pjLlAoaSk7fSx0fHw1MDApLGk7fSxOaTpmdW5jdGlvbigpe3ZhciBvMSx3MSxwMTtvMT0tMjExMjgyOTI0MDt3MT00MjIxODMwODI7cDE9Mjtmb3IodmFyIHEwPTE7dzUuZDEocTAudG9TdHJpbmcoKSxxMC50b1N0cmluZygpLmxlbmd0aCwzNTgxNCkhPT1vMTtxMCsrKXtmb3IodmFyIHQsZT02O2U8PXRoaXMuV2VbcGldO2UtLSl7dD10aGlzLldlW2VdO3R1LnUodC5tdC5idCk7fXRoaXMuWGUub2k9dGhpcy5YZS5zaT00O2V1LnUodXUpO2V1LnUoY3UpO2V1LnUoaHUpO3AxKz0yO31pZih3NS5MMShwMS50b1N0cmluZygpLHAxLnRvU3RyaW5nKCkubGVuZ3RoLDUxMjkxKSE9PXcxKXtmb3IodmFyIHQsZT0yO2U8dGhpcy5XZVtwaV07ZSsrKXt0PXRoaXMuV2VbZV07dHUudSh0Lm10LmJ0KTt9dGhpcy5YZS5vaT10aGlzLlhlLnNpPTM7ZXUudSh1dSk7ZXUudShjdSk7ZXUudShodSk7fWZvcih2YXIgdCxlPTA7ZTx0aGlzLldlW3BpXTtlKyspe3Q9dGhpcy5XZVtlXTt0dS51KHQubXQuYnQpO310aGlzLlhlLm9pPXRoaXMuWGUuc2k9MDtldS51KHV1KTtldS51KGN1KTtldS51KGh1KTt9LHppOmZ1bmN0aW9uKCl7dmFyIHQ7dD0wO3JldHVybiBldS5zKCk/KHQ9ZXUuYyh1dSksZXUudSh1dSkpOnR1LmModXUpJiYocmlbaWFdPT09UnRbdW5dfHx+UnRbdW5dW0wrR3IrV2FdKEdyK3NlK0dyK3R1LmMoY3UpKSkmJih0PXR1LmModXUpLGlvKGZ1bmN0aW9uKCl7dHUudSh1dSk7dHUudShjdSk7fSwzMDApKSx0PVVjKHQsMTApLHQ9cWModCk/MDp0LHRoaXMuWGUuc2k9dDt9LG10OntOZTpndSxLZTp5dSxKZTpbXSxWZTowLCR0OmJ1LCRlOltdLERlOnl1LE9lOkZ1LEhlOjk5OTksUmU6eXUscWU6W10sWWU6MTAsVWU6eXUsUWU6Z3UsUGU6eXUsYmU6eXUsR2U6Z3V9LCRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuWGUuc2k7fSxRaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLlhlLm9pO30sYmk6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhLGMsdSxuOSxGOSxnOTtzPXRoaXM7YT0wO2M9dGhpcy5YZTt1PWZ1bmN0aW9uKHQsZSl7dmFyIFA5LEo5LFg5O1A5PTMyNTI1NjI2O0o5PS05NTA1MjQwNDM7WDk9Mjtmb3IodmFyIFM5PTE7dzUuTDEoUzkudG9TdHJpbmcoKSxTOS50b1N0cmluZygpLmxlbmd0aCw0ODQ5MykhPT1QOTtTOSsrKXtyZXR1cm4gdD09PWV8fChjLm5pPWd1LHMubGk9a3UpLHQhPWU7WDkrPTI7fWlmKHc1LkwxKFg5LnRvU3RyaW5nKCksWDkudG9TdHJpbmcoKS5sZW5ndGgsNTM4MDApIT09Sjkpe3JldHVybiB0IT09ZSYmKGMubmk9Z3Uscy5saT1rdSksdCE9PWU7fX07aWYodHlwZW9mIHlbcnVdW2FyXSE9PWdlKXtjLm5pPW11O3Q9eVtydV1bYXJdW1huXSgpO2U9eVtydV1bYXJdW1huXSgpO2k9eVtydV1bYXJdW1huXSgpO249eVtydV1bYXJdW1huXSgpO3I9WmMuRigoeVtydV1bYXJdW1huXSgpfHx7c3JjOm51bGx9KVtYcl0pO289WmMuRih4dVtYcl0pO3RyeXtuOT0xNDUwNjEyMjI1O0Y5PS01NjY0Nzc2Nzc7Zzk9Mjtmb3IodmFyIFI5PTE7dzUuZDEoUjkudG9TdHJpbmcoKSxSOS50b1N0cmluZygpLmxlbmd0aCwyODY5NSkhPT1uOTtSOSsrKXthPXlbcnVdW2FyXVtYbl0oKSYmNztnOSs9Mjt9aWYodzUuZDEoZzkudG9TdHJpbmcoKSxnOS50b1N0cmluZygpLmxlbmd0aCwzODQzOCkhPT1GOSl7YT15W3J1XVthcl1bWG5dKCkmJjc7fWE9eVtydV1bYXJdW1huXSgpfHwwO31jYXRjaCh0KXt9YT1kcltCb10oMCxkcltrYV0oMSxhKSk7dGhpcy5taSh0LG8scix1KTt0aGlzLmdpKHQsdFtwaV0sZSxhLHUpO3RoaXMueWkoaSxpW3BpXSxuLGEsdSk7dGhpcy5raSh0LHRbcGldLFpjLkYoKSx1LHUpO3RoaXMud2koaSxaYy5HKCkpO2Mubmk9PT1tdSYmKGMubmk9eXUpO31jLnhpPWF8fDA7fSxFaTpmdW5jdGlvbih0LGUpe3ZhciBkOSxPOSxHOTtkOT04MzA2MTMyMTE7Tzk9MTQwNDM5MjY4MztHOT0yO2Zvcih2YXIgazk9MTt3NS5kMShrOS50b1N0cmluZygpLGs5LnRvU3RyaW5nKCkubGVuZ3RoLDE2MDEwKSE9PWQ5O2s5Kyspe3RoaXMueGUuUXQ9dDt0aGlzLnhlLlM9ZTtHOSs9Mjt9aWYodzUuZDEoRzkudG9TdHJpbmcoKSxHOS50b1N0cmluZygpLmxlbmd0aCw3Njg2OSkhPT1POSl7dGhpcy54ZS5RdD10O3RoaXMueGUuUz1lO319LFhpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbix1OSx5OSxIOTtuPXR8fHt9O2ZvcihlIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixlKSlzd2l0Y2godGhpcy5tdFtlXT1pPW5bZV0sZSl7Y2FzZSBUcjp0aGlzLm10LkRlPWk7YnJlYWs7Y2FzZSBvaTp0aGlzLm10LlVlPWk7YnJlYWs7Y2FzZSB3dDp0aGlzLm10LlJlPWk7YnJlYWs7Y2FzZSBMcitHcit6ZTp0aGlzLm10Lk9lPWk7YnJlYWs7Y2FzZSBSbitHcitFbjp0aGlzLm10Lk5lPWk7YnJlYWs7Y2FzZSBEdDp0aGlzLm10LkhlPWk7YnJlYWs7Y2FzZSBsYytHcitiYTp0aGlzLnFlW29hXSh0aGlzLGkpO2JyZWFrO2Nhc2UgUm4rR3IrYmE6dGhpcy5KZVtvYV0odGhpcyxpKTticmVhaztjYXNlIFFuOnRoaXMubXQuVmU9aTticmVhaztjYXNlIHcrR3IrVjp0aGlzLm10LiRlPWk7YnJlYWs7Y2FzZSB3K0dyK0RuOnRoaXMubXQuUWU9aTticmVhaztjYXNlIHBuK0dyK3RyK0dyK0xuOnRoaXMubXQuR2U9aTticmVhaztjYXNlIEJzK0dyK2wrR3IrU3M6dGhpcy5tdC4kdD1pO2JyZWFrO2Nhc2UgTnMrR3IrJHI6dGhpcy5tdC5ZZT1pO2JyZWFrO2Nhc2UgSWMrR3IrcGMrR3IrX2k6dGhpcy5tdC5iZT1pO2JyZWFrO2Nhc2UgTHMrR3IrYnQ6dGhpcy5tdC5LZT1pO2JyZWFrO2Nhc2UgQitHcit2ZStHcitfbytHcit5bitHcitMbjp0aGlzLm10LlBlPWk7fXU5PTE1MDY0OTg2ODA7eTk9NjExNzc3ODY1O0g5PTI7Zm9yKHZhciBUOT0xO3c1LkwxKFQ5LnRvU3RyaW5nKCksVDkudG9TdHJpbmcoKS5sZW5ndGgsNjMyMykhPT11OTtUOSsrKXtyZXR1cm4gdGhpcztIOSs9Mjt9aWYodzUuZDEoSDkudG9TdHJpbmcoKSxIOS50b1N0cmluZygpLmxlbmd0aCw2MzczOSkhPT15OSl7cmV0dXJuIHRoaXM7fX0saGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksZzcsTTcsUjc7Zzc9LTM5MDQ0MjA2O003PS0xNjI0Njc4MzI1O1I3PTI7Zm9yKHZhciBKNz0xO3c1LkwxKEo3LnRvU3RyaW5nKCksSjcudG9TdHJpbmcoKS5sZW5ndGgsNTI1MzkpIT09Zzc7SjcrKyl7ZT10aGlzLndlKCk7aT10aGlzLmNpLnVpO1I3Kz0yO31pZih3NS5MMShSNy50b1N0cmluZygpLFI3LnRvU3RyaW5nKCkubGVuZ3RoLDg0NzUzKSE9PU03KXtlPXRoaXMud2UoKTtpPXRoaXMuY2kudWk7fXRyeXsodD1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0oZ3MsZ3UsZ3UseSwxLGlbT2krR3IrVWVdLGlbT2krR3IreG9dLGlbSGMrR3IrVWVdLGlbSGMrR3IreG9dLHl1LHl1LHl1LHl1LDAsbXUpO3RbVW9dPWd1O2VbZ24rR3IrQ2FdKHQpO31jYXRjaCh0KXtLYy5lKHQpO319LFZpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuUGkobzUpO30sU2k6ZnVuY3Rpb24oKXt2YXIgdCxpLG4scixvLHM7cj10aGlzO289NTAwO3M9ZnVuY3Rpb24odCxlKXt2YXIgaSxuO249WGMuYj9lYzpnczsoaT1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0obixndSxndSx5LDEsZVtPaStHcitVZV0sZVtPaStHcit4b10sZVtIYytHcitVZV0sZVtIYytHcit4b10seXUseXUseXUseXUsMCxtdSk7aS5mYz1ndTt0W2duK0dyK0NhXShpKTt9O2l1LlgocmksJHQsZnVuY3Rpb24ocil7dmFyIG8sRjEsZzEsTTE7dzUubzQoNCk7bz1yW3c1LnU0KHNyLEdyLGUpXVswXTtGMT05NTkwNTM3NzY7ZzE9LTE3NzY2NDMwNTc7TTE9Mjtmb3IodmFyIFAxPTE7dzUuZDEoUDEudG9TdHJpbmcoKSxQMS50b1N0cmluZygpLmxlbmd0aCw4NTkzNCkhPT1GMTtQMSsrKXt3NS5vNCgxOCk7dD1yW3c1LnU0KG9zLEpzLEdyKV07dzUuWTQoMTkpO2k9b1t3NS51NChHcixmbyxVZSldO3c1Lm80KDIwKTtuPW9bdzUuYzQoeG8sZm8sR3IpXTtNMSs9Mjt9aWYodzUuTDEoTTEudG9TdHJpbmcoKSxNMS50b1N0cmluZygpLmxlbmd0aCwxMTM5OCkhPT1nMSl7dzUubzQoMjEpO3Q9clt3NS5jNChvcyxKcyxHcildO3c1Llk0KDIyKTtpPW9bdzUuYzQoR3IsVWUsZm8pXTt3NS5vNCg2KTtuPW9bdzUuYzQoR3IseG8sZm8pXTt9dzUubzQoNCk7dD1yW3c1LnU0KG9zLEdyLEpzKV07dzUuWTQoNCk7aT1vW3c1LmM0KGZvLEdyLFVlKV07dzUubzQoNCk7bj1vW3c1LnU0KGZvLEdyLHhvKV07fSxndSk7aXUuWChyaSx2LGZ1bmN0aW9uKGEpe3ZhciBjLHUsaCxTMCxOMCxhMDtTMD0xMTI5ODE1NDEyO04wPS00NTk2NDE3MTE7YTA9Mjtmb3IodmFyIGYwPTE7dzUuZDEoZjAudG9TdHJpbmcoKSxmMC50b1N0cmluZygpLmxlbmd0aCw5MDQxMCkhPT1TMDtmMCsrKXt3NS5vNCg0KTtjPWFbdzUuYzQoc3IsR3IsZSldWzBdO3U9aXUudHQoYSk7aD1yLm10LlllO2EwKz0yO31pZih3NS5MMShhMC50b1N0cmluZygpLGEwLnRvU3RyaW5nKCkubGVuZ3RoLDUxODk1KSE9PU4wKXt3NS5ZNCg2KTtjPWFbdzUudTQoR3IsZSxzcildWzRdO3U9aXUudHQoYSk7aD1yLm10LlllO31kcltGc10oY1tmbytHcitVZV0taSk+PWh8fGRyW0ZzXShjW2ZvK0dyK3hvXS1uKT49aHx8YVtvcytHcitKc10tdD5vfHxyLm10LlllPD0wfHxYYy5odCYmRGlbaXJdKHVbU2MrR3IrbWNdKXx8ci5YZS5paXx8ci5YZS5uaXx8ci5YZS5yaXx8ci5waSgpfHxyLl9pKCl8fCFyLlBpKCl8fCFyLlRpKHUpfHwhci5tdC5OZSYmWmMuUyh1KXx8KHVbU2MrR3IrbWNdPT09T24mJnIuRWUoYSkscyh1LGMpKTt9LGd1KTt9LG1pOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByLG87bz15dTtmb3Iocj0wO3I8dFtwaV07cisrKWlmKHRbcl09PT13dSl7bz1ndTticmVhazt9byYmKGV8fGkpJiYoIXRoaXMuT2koZSx0KXx8IXRoaXMuT2koaSx0KXx8eVtydV1bdW5dJiZ5W3J1XVt1bl1bcGldJiYhdGhpcy5PaShaYy5GKCkseVtydV1bdW5dKSkmJm4oZ3UseXUpO30seGU6e1F0Om11LFM6eXV9LHFlOmZ1bmN0aW9uKCl7dmFyIHQ7dD1aYy54KGFyZ3VtZW50c1swXSk/YXJndW1lbnRzWzBdOmFyZ3VtZW50cztyZXR1cm4gdGhpcy5ubih0LGxjLHRbcGldJiZ0WzBdPT09eXUpO30sd2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBXMSxsMSxjMTtXMT0xMTQ2NjMzOTY5O2wxPTU4MTgzMzU3NjtjMT0yO2Zvcih2YXIgdTE9MTt3NS5kMSh1MS50b1N0cmluZygpLHUxLnRvU3RyaW5nKCkubGVuZ3RoLDY5ODkxKSE9PVcxO3UxKyspe1pjLkcodFtOaV0oR3IrUGUrR3IpKTxlJiZpKGd1LHl1KTtjMSs9Mjt9aWYodzUuZDEoYzEudG9TdHJpbmcoKSxjMS50b1N0cmluZygpLmxlbmd0aCw0ODMyNikhPT1sMSl7WmMuRyh0W05pXShHciVQZSVHcikpPj1lfHxpKGd1LHl1KTt9fSxDaTpmdW5jdGlvbigpe3ZhciByLG8scyxhLGMsdSxoLGYscCxfO2Z1bmN0aW9uIHQoKXt2YXIgdCxlO3c1Lm80KDE3KTtlPVt3NS51NChIbixUdCxHcixFbixHcixDYSxKYSksdzUuYzQoeG4sVHQsR3IsRW4sR3IsQ2EsSmEsdzUubzQoMTcpKSx3NS5jNChKYSxUdCxRYSx3NS5ZNCg0KSksdzUuYzQoQ24sR3IsVXMsbXIsVHQsdzUubzQoMSkpLHc1LnU0KFdlLEdyLHhuLG1yLFR0LHc1Llk0KDEpKV07Zm9yKHQ9MDt0PGVbcGldO3QrKylpZihaYy5sKGVbdF0pKXtyZXR1cm4gS2MuZSh0LFpjLmwoZVt0XSkpLGd1O31yZXR1cm4geXU7fWZ1bmN0aW9uIGkoaSl7dT0yO198fChfPWd1LGlvKGZ1bmN0aW9uKCl7Xz15dTt9LFhjLm90PzUwMDoxNTApLEN1JiYhcC5VZXx8KHI9aXUudHQoaSksbz1aYy5CKHIsT24pLGM9WmMuUyhyKSxyW2FhK0dyK0dpXShsbyk9PT1mdT8oclt4ZV1beHRdPVhpLFpjLlAocikscj1pdS50dChpLGd1KSk6byYmKHM9KHI9bylbYWErR3IrR2ldKFRpKSxhPVpjLk4ociksYz1aYy5TKHIpKSxmLkVpKHIsYyksZi5YZS5paXx8Zi5YZS5uaXx8Zi5YZS5yaXx8aVtVb118fGUoZi5jaS51aVtPXSYmZi5jaS51aVtPXSE9PWlbT10pfHxlKHAuS2UmJiFFdSl8fGUoIWlbSGMrR3IrVWVdJiYhaVtIYytHcit4b10pfHxlKCFYYy5vdCYmIVhjLmcmJnR5cGVvZiBpW3F0XSE9PWdlJiYwIT09aVtxdF0pfHxlKCFYYy5vdCYmIWYuWmUmJihYYy5jdHx8WGMuYnx8WGMudXQpKXx8ZSghWGMub3QmJiFwLkdlJiYoWGMuYnx8WGMudXQpJiZzPT09RmkpfHxlKGYucGkoKSl8fGUoZi5faSgpKXx8ZSghZi5QaSgpKXx8ZSghZi5UaShyKSl8fGUoYyYmIXAuTmUpfHxlKCFwLlJlJiZ0KCkpfHwoZi5BaShpKSxYYy5ldCYmbyYmYSYmZi5FZShpKSxYYy5vdHx8IW98fGN8fChYYy5iJiZzIT09RmkmJlpjLlkoKXx8cC5HZSYmcz09PUZpJiYoWGMuYnx8WGMudXQpKSYmZi5FZShpKSxmLkZpPW11LGYuaGkoKSkpKTt9Zj10aGlzO3A9Zi5tdDtfPXl1O2Z1bmN0aW9uIGUodCl7cmV0dXJuKyt1LHQmJktjLmUodSksdDt9cC5SZXx8IXQoKT8oaD1YYy5kfHxYYy5nP3FhOmVjLGZ1bmN0aW9uKCl7aXUuWChyaSxncyxpLGd1KTtYYy5vdD8oaXUuWChyaSxlYyxuLGd1KSxpdS5YKHJpLHFhLG4sZ3UpKTppdS5YKHJpLGgsbixndSk7fSgpLHRoaXMuU2koKSx0aGlzLmppKCksdGhpcy5MaSgpLHRoaXMuemkoKSx0aGlzLkJpKCkpOktjLmUoeXUpO2Z1bmN0aW9uIG4odCl7cj1vPWM9cz1hPW11OyFYYy5vdCYmdFtIYytHcitVZV0rKFhjLm50PzE3OjE1KT55W1BhK0dyK2ddP3AuUWUmJigocj17fSkuc2Nyb2xsYmFyPWd1LGYuRWkocix5dSksZi5waSgpfHxmLl9pKCl8fCFmLlBpKCl8fGYuaGkoKSk6aSh0KTt9fSxsaTpmdW5jdGlvbih0KXtpZih0aGlzLlhlLmlpfHx0aGlzLlhlLm5pfHx0aGlzLlhlLnJpKXtyZXR1cm4geXU7fXN3aXRjaCh0Lnl0KXtjYXNlIF91Om5ldyBRYy5tZSh0KS5wZSgpO2JyZWFrO2Nhc2UgZHU6bmV3IFFjLmdlKHQpLnBlKCk7YnJlYWs7Y2FzZSBsdTpuZXcgUWMueWUodCkucGUoKTticmVhaztjYXNlIHB1OnRyeXtuZXcoUWMuZHQoKSkodCkucGUoKTt9Y2F0Y2godCl7S2MuZSh0KTt9fXJldHVybiB0LnF0KCksZ3U7fSxqaTpmdW5jdGlvbigpe3ZhciB0LGUsaSxuLHIsbztuPXRoaXM7cj17fTtvPWZ1bmN0aW9uKHQpe2ZvcihlPTA7ZTx0W3BpXTtlKyspe24uTWkodFtlXSk7fX07Q28oZnVuY3Rpb24oKXt2YXIgZTtmb3IodD0wO3Q8bi5tdC4kZVtwaV07dCsrKXtpZihlPW4ubXQuJGVbdF0sKGk9cmlbYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGUpKVtwaV0mJm4ucGkoKXx8IW4uUGkoKSl7cmV0dXJuO310eXBlb2YgcltlXSE9PWdlJiZyW2VdPT09aVtwaV18fG8oaSk7fX0sMWUzKTt9LElpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbixyLG8scyxlOSxqOSxaOTtvPTI7cz15dTtmb3IoZT0wO2U8PW87ZSsrKXtpZigobj1yaVt3citHcitqbitHcitMY10odFtIYytHcitVZV0rZSx0W0hjK0dyK3hvXSkpJiZuW1NjK0dyK21jXT09PXBhK0dyK09uK0dyK0ZjK0dyK1BzK0dyK3BhKXtzPWd1O2JyZWFrO31mb3IoaT0wO2k8PW87aSsrKWlmKChuPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXStlLHRbSGMrR3IreG9dK2kpKSYmbltTYytHcittY109PT1wYStHcitPbitHcitGYytHcitQcytHcitwYSl7cz1ndTticmVhazt9aWYocylicmVhazt9aWYocylmb3Iocz15dSxyPW5bYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGVpKSxlPTA7ZTxyW3BpXTtlKyspaWYoWmMuVShyW2VdKSl7cz1ndTticmVhazt9ZTk9MTI0NjQ2Mzc5O2o5PTE4ODY4MTA5NztaOT0yO2Zvcih2YXIgVTk9MTt3NS5MMShVOS50b1N0cmluZygpLFU5LnRvU3RyaW5nKCkubGVuZ3RoLDU5MDM1KSE9PWU5O1U5Kyspe3JldHVybiBzP246eXU7WjkrPTI7fWlmKHc1LmQxKFo5LnRvU3RyaW5nKCksWjkudG9TdHJpbmcoKS5sZW5ndGgsNDQ5MzkpIT09ajkpe3JldHVybiBzP246eXU7fX0sRGk6ZnVuY3Rpb24oKXtpZighdGhpcy5YZS5laSl7dGhpcy5YZS5laT1ndTt0cnl7dGhpcy52aSgpO3RoaXMuYmkoKTt9Y2F0Y2godCl7fUtjLmUoW3RoaXMuWGUubmk/MDoxLHRoaXMuWGUucmk/MDoxLHRoaXMuWGUueGldW05pXShHcikpO319LFhlOnt0aTp5dSxuaTpndSxlaTp5dSxvaTowLHJpOmd1LHNpOjAsaWk6eXV9LG5uOmZ1bmN0aW9uKHQsZSxpKXtmb3IodmFyIG4scj0wLG89ZT09PVJuP3RoaXMubXQuSmU6dGhpcy5tdC5xZTtpJiZvW3BpXTspe29bQnNdKCk7fWZvcig7cjx0W3BpXTtyKyspe3R5cGVvZihuPXRbcl0pPT09VGM/b1tNcl0obik6dHlwZW9mIG49PT1hciYmdHlwZW9mIG5bd2ErR3IrbWNdPT09VGMmJm9bTXJdKG4pO31yZXR1cm4gdGhpczt9LEppOmZ1bmN0aW9uKCl7dmFyIHkxLEgxLHYxLHQsZTt5MT0xNzAzNzYyNDUyO0gxPTEyMTk1OTkwMzk7djE9Mjtmb3IodmFyIEUxPTE7dzUuZDEoRTEudG9TdHJpbmcoKSxFMS50b1N0cmluZygpLmxlbmd0aCwzODk3NykhPT15MTtFMSsrKXtlPTY7Zm9yKHRoaXMuZmk9W107ZT49dGhpcy5XZVtwaV07ZS0tKXsodD10aGlzLldlW2VdKS5MdCgpfHx0aGlzLmZpW01yXSh0KTt9djErPTI7fWlmKHc1LmQxKHYxLnRvU3RyaW5nKCksdjEudG9TdHJpbmcoKS5sZW5ndGgsMjE2MzkpIT09SDEpe2U9MTtmb3IodGhpcy5maT1bXTtlPnRoaXMuV2VbcGldO2UrKyl7KHQ9dGhpcy5XZVtlXSkuTHQoKSYmdGhpcy5maVtNcl0odCk7fX1lPTA7Zm9yKHRoaXMuZmk9W107ZTx0aGlzLldlW3BpXTtlKyspeyh0PXRoaXMuV2VbZV0pLkx0KCkmJnRoaXMuZmlbTXJdKHQpO31yZXR1cm4gdGhpcy5maTt9LGRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2kudWk7fX07aXUuWCh5LFN0LGZ1bmN0aW9uKCl7dmFyIFg3LEI3LFM3O1g3PTIwMTA5MDA5MDY7Qjc9LTE2OTQwNjQ1NTI7Uzc9Mjtmb3IodmFyIGE3PTE7dzUuTDEoYTcudG9TdHJpbmcoKSxhNy50b1N0cmluZygpLmxlbmd0aCwxNDk3OSkhPT1YNzthNysrKXtFdT0hMTtTNys9Mjt9aWYodzUuZDEoUzcudG9TdHJpbmcoKSxTNy50b1N0cmluZygpLmxlbmd0aCw2MjI0OCkhPT1CNyl7RXU9IXt9O31FdT1vNTt9KTtpbyhmdW5jdGlvbigpe3c1Lm80KDE1KTtLYy5lKHc1LnU0KFNpLFllLEdyLFR0LFllLE0sR3IsWWUsUWUsT3QsQW8pKTt3NS5vNCg0KTtLYy5lKHc1LmM0KHhhLFZ0LEdyKSxvdSk7dzUuWTQoNCk7S2MuZSh3NS5jNChxaSxWdCxHciksc3UpO3c1Lm80KDQpO0tjLmUodzUudTQoRXMsVnQsR3IpLGF1KTt9LDEwKTt5W3J1XT15W3J1XXx8ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG87cj17fTtvPVpjLnAoW1trbytHcitSYStHcitudCxbR2MsR2MuaV1dLFtKbixzdV0sW0d0LG91XSxbWW8rR3IraXMsYXVdLFt6YSxbR2MsR2MuWGkscl1dLFthYStHcitJaSxbR2MsR2MuWmldXSxbYWErR3IrUStHcitiYSxbR2MsR2MuWWldXSxbYWErR3IrX28rR3IrYmEsW0djLEdjLktpXV0sW3crR3IrQ24sW0djLEdjLk1pXV0sW0huLFtHYyxHYy5lbixyXV0sW0duLFtHYyxHYy5oaSxyXV0sW2VzLFtHYyxHYy5HaSxyXV0sW2xjK0dyK2JhLFtHYyxHYy5xZSxyXV0sW1JuK0dyK2JhLFtHYyxHYy5KZSxyXV0sW2FhK0dyK2h0K0dyK0NuLFtHYyxHYy53ZV1dLFthYStHcitubitHcitabyxbR2MsR2MuJGldXSxbYWErR3IreWUrR3IrWm8sW0djLEdjLlZpXV0sW0JhK0dyK3llLFtHYyxHYy5QaV1dLFtrbytHcitkdCtHcitKZSxbR2MsR2MucGldXSxbYWErR3IrVXQrR3IramUrR3IrQmksW0djLEdjLlFpXV0sW2FhK0dyK1V0K0dyK0NhLFtHYyxHYy5kaV1dLFt6aSxbR2MsR2MuTmldXSxbYWErR3IrXyxbR2MsR2MuVWldXSxbRm8rR3IrXyxbR2MsR2MuUmldXSxbaGErVHQrT28sW0tjLEtjLmVdXSxbaGErVHQrRyxbS2MsS2Mucl1dLFtPYStUdCtsaSxbdHUsdHUuYV1dLFtPYStUdCthYSxbdHUsdHUuY11dLFtPYStUdCt4bixbdHUsdHUudV1dLFt0aStUdCtrbytHcitkaSxbZXUsZXUuc11dLFt0aStUdCtsaSxbZXUsZXUuYV1dLFt0aStUdCthYSxbZXUsZXUuY11dLFt0aStUdCt4bixbZXUsZXUudV1dLFtjZStUdCtKbixYYy5wdF0sW2NlK1R0K0lyK0dyK3FpLFhjLmZ0XSxbY2UrVHQra28rR3IrQ3MsWGMuaXRdLFtjZStUdCtrbytHcitYbyxYYy5udF0sW2NlK1R0K2tvK0dyK01hLFhjLm1dLFtjZStUdCtrbytHcit2YStHcitmYytHcit0YyxYYy5ldF0sW2NlK1R0K2tvK0dyK0JuLFhjLnJ0XSxbY2UrVHQra28rR3Irdm4sWGMub3RdLFtjZStUdCtrbytHcitoZSxYYy5zdF0sW2NlK1R0K2tvK0dyK3l0LFhjLmF0XSxbY2UrVHQra28rR3IrZ2MsWGMuYl0sW2NlK1R0K2tvK0dyK0luLFhjLmRdLFtjZStUdCtrbytHcitGYSxYYy5odF0sW2NlK1R0K2tvK0dyK3ZhK0dyK1BzLFhjLmddLFtjZStUdCtrbytHcitjcyxYYy5jdF0sW2NlK1R0K2tvK0dyK0VvLFhjLnV0XSxbY2UrVHQrSm4rR3IrdXQsW1hjLFhjLkpdXSxbY2UrVHQrYW8rR3IrZGksW1hjLFhjLmx0XV0sW0NhK1R0K2xjK0dyK3FzLFtpdSxpdS5LXV0sW0NhK1R0K2xjLFtpdSxpdS5YXV0sW0NhK1R0K2xhLFtpdSxpdS5aXV0sW0NhK1R0K2FhK0dyK3luLFtpdSxpdS50dF1dLFtLZStUdCtrbytHcit2ZStHciskZSxbWmMsWmMud11dLFtLZStUdCtKbitHcit1dCxbWmMsWmMuSl1dLFtLZStUdCtvcyxbWmMsWmMuR11dLFtLZStUdCt3byxbWmMsWmMueV1dLFtLZStUdCtKaSxbWmMsWmMuJF1dLFtLZStUdCtVcytHcitDbixbWmMsWmMuel1dLFtLZStUdCt4bitHcitDbixbWmMsWmMuUF1dLFtLZStUdCthYStHcitVaSxbWmMsWmMuQl1dLFtLZStUdCtEZStHcitZaSxbWmMsWmMuSF1dXSk7Zm9yKGUgaW4gbylpZih5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShvLGUpKXtmb3Iobj1lW0NyXShHcitUdCtHciksdD1yLGk9MDtpPG5bcGldLTE7aSsrKXt0eXBlb2YgdFtuW2ldXT09PWdlJiYodFtuW2ldXT17fSk7dD10W25baV1dO310W25bbltwaV0tMV1dPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIFpjLngodFtlXSk/MT09PXRbZV1bcGldP3RbZV1bMF06ZnVuY3Rpb24oKXtyZXR1cm4gMj09PXRbZV1bcGldP3RbZV1bMV1bb2FdKHRbZV1bMF0sYXJndW1lbnRzKToodFtlXVsxXVtvYV0odFtlXVswXSxhcmd1bWVudHMpLHRbZV1bMl0pO306dFtlXTt9KG8sZSk7fXJldHVybiByO30oKTt9KHQucG9wbnN8fHpjK0dyK1VjK0dyK09jLHQsdFtFaV0sdFtPaV0sdFttcl0sdFtyb10sdFtibl0sdFtObl0sdFtDb10sdFtyaStHcitpb10sdFtsaStHcitZaV0sdFtNaStHcitZaV0sdFtsaStHcitBaV0sdFtNaStHcitBaV0sdFtMdCtHcit0YytHcitmYytHcitndF0sdFt5K0dyK1J0XSx0W2tvK0dyK3lpK0dyK2d0XSx0W2lzXSx0W1hlK0dyK1ZyK0dyK0dzK0dyK3ZhK0dyK1VyXSx0W2RyXSk7fSh3aW5kb3cpO2Y1eXkuSD1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC55PT09J2Z1bmN0aW9uJz9mNXl5LkwueS5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwueTt9O2Y1eXkuVz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Y1eXkuZz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC5PPT09J2Z1bmN0aW9uJz9mNXl5LkwuTy5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwuTzt9O2Y1eXkuZj1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Z1bmN0aW9uIGY1eXkoKXt9ZjV5eS5CPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5MLnk9PT0nZnVuY3Rpb24nP2Y1eXkuTC55LmFwcGx5KGY1eXkuTCxhcmd1bWVudHMpOmY1eXkuTC55O307ZjV5eS5SPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5JPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5MPWZ1bmN0aW9uKEQpe3JldHVybnt5OmZ1bmN0aW9uKCl7dmFyIEcsZD1hcmd1bWVudHM7c3dpdGNoKEQpe2Nhc2UgMjpHPWRbMF0qZFsxXTticmVhaztjYXNlIDA6Rz1kWzBdfGRbMV07YnJlYWs7Y2FzZSAxOkc9ZFsxXS1kWzBdO2JyZWFrO31yZXR1cm4gRzt9LE86ZnVuY3Rpb24oVil7RD1WO319O30oKTtmNXl5Lno9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiBmNXl5LkwuTz09PSdmdW5jdGlvbic/ZjV5eS5MLk8uYXBwbHkoZjV5eS5MLGFyZ3VtZW50cyk6ZjV5eS5MLk87fTtmNXl5LkM9ZnVuY3Rpb24oKXt2YXIgUT0yO3doaWxlKFEhPT0xKXtzd2l0Y2goUSl7Y2FzZSAyOnJldHVybnt2OmZ1bmN0aW9uKFUpe3ZhciBiPTI7d2hpbGUoYiE9PTE0KXtzd2l0Y2goYil7Y2FzZSAyOnZhciBLPScnLGw9ZGVjb2RlVVJJKCJ0JTExa2JsYyU3RCUwNmhiZGxtbDYhJTNDJTNDKyU1QmNkLTo1JTVENyg4Jy8lNUJ3LzI4bWolM0M4KTA3YiolMUMyJTI1bSUwN3ElN0RvYmslMTh3JTdDc2RtaDcpKSUyMipaMmQlMTgtNUErKS5vbXMlMTUlMjUlM0UwKyU1QiUzQyUxMXUlMjA2TXk/KScsSy1kJTNFOSxLMi00OyUyMCUwNjojMCU3RDUlNUM6IzMya0s2IXU5Kks4JTIwNTo2JTVDcSUxRiUzRScsWC1sMCUyMDYlNUN5Ljh1KUc4KDgxZUolM0MqMiclMjAlMDg1JTI1JTNFMCslNUIlM0NsOyUzQylNcWIxOiZJNSIpO2I9MTticmVhaztjYXNlIDk6Sys9U3RyaW5nLmZyb21DaGFyQ29kZShsLmNoYXJDb2RlQXQoWSleVS5jaGFyQ29kZUF0KGspKTtiPTg7YnJlYWs7Y2FzZSAxOnZhciBZPTAsaz0wO2I9NTticmVhaztjYXNlIDU6Yj1ZPGwubGVuZ3RoPzQ6NzticmVhaztjYXNlIDM6az0wO2I9OTticmVhaztjYXNlIDg6WSsrLGsrKztiPTU7YnJlYWs7Y2FzZSA0OmI9az09PVUubGVuZ3RoPzM6OTticmVhaztjYXNlIDc6Sz1LLnNwbGl0KCcoJyk7cmV0dXJuIGZ1bmN0aW9uKFApe3ZhciBoPTI7d2hpbGUoaCE9PTEpe3N3aXRjaChoKXtjYXNlIDI6cmV0dXJuIEtbUF07YnJlYWs7fX19O2JyZWFrO319fSgnRShZTF1VJyl9O2JyZWFrO319fSgpOyFmdW5jdGlvbihlLG8sYyl7InVzZSBzdHJpY3QiO3ZhciBUPWY1eXk7dmFyIGksbix0O1QuZygwKTtpPVQuUihULkgoIjgiLDApKTtULnooMCk7bj1bVC5JKFQuSCgnXHgzMVx4MzAnLDApKSxULkkoKyI2IiksVC5SKCsnXHgzMVx4MzQnKSxULlIoKyIxMiIpLFQuUihULkgoIjUiLDAsVC5nKDApKSksVC5JKFQuQigwLCdceDMwJyxULnooMSkpKSxULlIoVC5CKCdceDMxXHgzMScsMCxULnooMCkpKSxULkkoKyIyIildO1QuZygyKTt0PVsrJ1x4MzJceDMwXHgzMVx4MzknLFQuQignXHUwMDM1JywxKSxULkgoJ1x4MzFceDM2JywwLFQuZygwKSldO3RyeXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yy5Mb2dnZXIubG9nKGksVC5SKCsnXHgzMScpLG4pO2MuTG9nZ2VyLmxvZyhpLFQuUigiNyItMCksdC5qb2luKFQuSSgnXHgzNCctMCkpKTt9LCsiNTAwIik7VC56KDEpO2Mub2JqZWN0PVtuLFsrIjM2MCIsNDk0LDM5MSwrIjMxMiIsVC5CKDAsIjMxMiIpLFQuSCgiMzY1IiwwLFQuZygwKSksKydceDM0XHgzMFx4MzQnLFQuSCgiMzAwIiwwLFQuZygwKSksKydceDMzXHgzNlx4MzBceDMwXHgzMScsVC5IKDAsJ1x4MzNceDM5XHgzNVx4MzJceDMyJyxULmcoMSkpLFQuQigiMTg3NzEiLDAsVC56KDApKSwrIjM0OTQ4IiwxNjU0MSwyOTU3MSwrJ1x4MzVceDMxXHgzN1x4MzFceDM5JywzMzkwOCxULkgoIjc4ODQwIiwwLFQuZygwKSksMTA1OTY0LCsnXHgzOFx4MzRceDM1XHgzNVx4MzUnLFQuSCgiNzI0MjYiLDAsVC5nKDApKSxULkgoJ1x4MzNceDMwXHgzNVx4MzlceDM5JywwLFQuZygwKSksVC5CKCdcdTAwMzRcdTAwMzFcdTAwMzZcdTAwMzJcdTAwMzYnLDAsVC5nKDApKSxULkIoMCwnXHUwMDM4XHUwMDM4XHUwMDMwXHUwMDM4XHUwMDM0JyxULnooMSkpLFQuSCgiNjU0MDkiLDEsVC5nKDIpKSwxNDQwMCxULkgoIjEyODQ0IiwxLFQueigyKSksKydceDM4XHgzNlx4MzBceDMyJyxULkgoJ1x4MzFceDMwXHgzOVx4MzJceDMwJywxLFQuZygyKSksMTM0MTYsVC5IKCdceDMyXHgzNFx4MzhceDMyXHgzMCcsMCxULmcoMCkpLFQuQignXHgzM1x4MzdceDM5XHgzN1x4MzYnLDAsVC56KDApKSwrJ1x4MzVceDMxXHg2NVx4MzMnXSx0LFtULkgoJ1x4MzNceDM2XHgzMicsMCxULmcoMCkpLDQ5NiwrJ1x4MzNceDM5XHgzOScsVC5IKDAsIjczMDkyMyIsVC5nKDEpKSwrJ1x1MDAzMlx1MDAzNVx1MDAzMVx1MDAzMicsVC5IKCI2Mzk4IiwwLFQueigwKSksVC5IKCdcdTAwMzRcdTAwMzFcdTAwMzFcdTAwMzlcdTAwMzFcdTAwMzJcdTAwMzInLDEsVC5nKDIpKSwrJ1x4MzFceDMxXHgzMVx4MzlceDMyJyxULkgoJ1x4MzNceDM0XHgzMlx4MzNceDM2JywwLFQueigwKSksMjQ2MSwzMjU1NywxMDIxMF0sby5jdXJyZW50U2NyaXB0LFQuSCgiMSIsMSxULmcoMikpXTt9Y2F0Y2gobyl7dm9pZCgnXHgzMCcqMSkhPT1lLmNvbnNvbGUmJmUuY29uc29sZS5sb2cmJkZ1bmN0aW9uLmFwcGx5LmNhbGwoZS5jb25zb2xlLmxvZyxlLmNvbnNvbGUsW1QuSSgnXHgzMVx4MzMnfDApXSk7fX0od2luZG93LGRvY3VtZW50LHdpbmRvd1t3aW5kb3cucG9wbnN8fGY1eXkuUigiMyItMCldKTt2YXIgXzB4MTM4Zj1bJ1x4NThceDQ4XHg2M1x4NzInLCdceDQ5XHg1NFx4NDVceDZmXHg2NFx4NDNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NmNceDUwXHg1NFx4NDVceDZmXHg1YVx4NTNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NzVceDUwXHg1OFx4NTFceDc1XHg2Mlx4NzlceDY3XHg2OVx4NjJceDUzXHg0OVx4NzBceDRmXHg3YVx4NTlceDY3XHg2Mlx4NjlceDM0XHg3OVx4NGNceDZkXHg3N1x4MzlceDQ5XHg2ZFx4NzNceDY5XHg0Y1x4NDdceDM0XHg3NVx4NGRceDY5XHgzNVx4NzdceDUwXHg1NFx4NDFceDczXHg2Mlx4NjlceDM0XHg3OVx4NGNceDZlXHg0NVx4MzlceDRkXHg0M1x4NzhceDc1XHg0Y1x4NmFceDQ5XHg3NVx4NjRceDdhXHgzMFx4NjlceDYxXHg2OVx4NDlceDczXHg2Mlx4NjlceDM1XHgzMVx4NTBceDUzXHg0OVx4MzNceDRmXHg2OVx4MzhceDc2XHg2M1x4NjlceDM1XHgzNFx4NGNceDZhXHg1NVx4NzZceDYxXHg0M1x4MzlceDY4XHg0Y1x4NzlceDQ5XHg3Mlx4NWFceDUzXHg3OFx4MzBceDRjXHg2ZFx4NDlceDc1XHg2MVx4NTNceDY4XHg3NVx4NGJceDUzXHg3OFx4NzVceDY2XHg1M1x4NzhceDc1XHg1MFx4NTdceDRkXHg2Zlx4NWFceDc5XHg2N1x4NmZceDY0XHg0M1x4MzVceDZiXHg0Y1x4NmVceDU5XHg2Zlx4NTFceDY5XHg0Mlx4NGZceDRiXHg0M1x4NDlceDZmXHg0ZVx4N2FceDM5XHgzOFx4NTNceDY5XHgzMVx4MzVceDRiXHg1NFx4NzBceDYzXHg1OFx4NDNceDM5XHg2M1x4NThceDQzXHgzOFx4NjlceDRiXHg1M1x4NzdceDY5XHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDRjXHg3OVx4NDlceDcwXHg1N1x4N2FceDQyXHg2NFx4NjZceDQ4XHg3N1x4NjlceDUzXHg3OVx4MzRceDMxXHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDQ5XHg2OVx4NmJceDc1XHg1NFx4NDNceDY3XHg3OFx4NGJceDQ4XHg1MVx4NzBceDY1XHg3YVx4NTlceDY3XHg2NFx4NDNceDM1XHg0ZVx4NGJceDQ0XHg0MVx4NzBceDRjXHg2Ylx4NjNceDZmXHg1M1x4NDNceDZjXHgzOVx4NGJceDUzXHgzNVx4NDJceDRiXHg0M1x4NDlceDY5XHg0Ylx4NTNceDZiXHg3MFx4NGZceDMzXHg2Zlx4NzVceDRlXHg0M1x4NjdceDY5XHg1MVx4NzlceDQ5XHg3M1x4NGRceDUzXHg2N1x4NzBceDY1XHgzMlx4NTVceDZmXHg2Mlx4NjlceDczXHg2OVx4NGNceDMyXHg1OVx4NzVceDRmXHg1M1x4NDlceDcwXHg0Y1x4NmFceDUxXHg2Zlx4NDlceDZiXHg1MVx4NjlceDRjXHg0NFx4NDVceDZmXHg0Ylx4NThceDc0XHg0N1x4NGJceDQ0XHg0NVx4NmZceDRiXHg1OFx4NzRceDZjXHg0Ylx4NDdceDM0XHg3Mlx4NDlceDY5XHgzOVx4N2FceDRjXHg2YVx4NmJceDY5XHg0Ylx4NThceDMwXHg3M1x4NTJceDUzXHg2Y1x4MzlceDRiXHg1OFx4MzBceDcwXHg2Nlx4NTNceDY4XHg0YVx4NGJceDU0XHg3M1x4M2QnLCdceDYzXHgzM1x4NDJceDczXHg2MVx4NThceDUxXHgzZCcsJ1x4NWFceDZlXHg0YVx4NzZceDYyXHg1NVx4NGVceDZmXHg1OVx4NThceDRhXHg0NFx4NjJceDMyXHg1Mlx4NmMnLCdceDY0XHg0N1x4MzlceDU0XHg2NFx4NDhceDRhXHg3MFx4NjJceDZkXHg2M1x4M2QnLCdceDYzXHg2ZFx4NTZceDc3XHg2Mlx4NDdceDQ2XHg2YVx4NWFceDUxXHgzZFx4M2QnXTsoZnVuY3Rpb24oXzB4MWI1OWFjLF8weDMwZDYwNSl7dmFyIF8weDQ0NTljOT1mdW5jdGlvbihfMHgxNDY4YWMpe3doaWxlKC0tXzB4MTQ2OGFjKXtfMHgxYjU5YWNbJ3B1c2gnXShfMHgxYjU5YWNbJ3NoaWZ0J10oKSk7fX07XzB4NDQ1OWM5KCsrXzB4MzBkNjA1KTt9KF8weDEzOGYsMHgxMGIpKTt2YXIgXzB4MTdjMT1mdW5jdGlvbihfMHgxOTc3ZGIsXzB4Yzc5ZjY5KXtfMHgxOTc3ZGI9XzB4MTk3N2RiLTB4MDt2YXIgXzB4MTYyZGYyPV8weDEzOGZbXzB4MTk3N2RiXTtpZihfMHgxN2MxWydPTXJTcXgnXT09PXVuZGVmaW5lZCl7KGZ1bmN0aW9uKCl7dmFyIF8weDI0NzE2Njt0cnl7dmFyIF8weDViZDYyOT1GdW5jdGlvbigncmV0dXJuXHgyMChmdW5jdGlvbigpXHgyMCcrJ3t9LmNvbnN0cnVjdG9yKFx4MjJyZXR1cm5ceDIwdGhpc1x4MjIpKFx4MjApJysnKTsnKTtfMHgyNDcxNjY9XzB4NWJkNjI5KCk7fWNhdGNoKF8weDMyOTViMCl7XzB4MjQ3MTY2PXdpbmRvdzt9dmFyIF8weDI4M2NlOT0nQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0nO18weDI0NzE2NlsnYXRvYiddfHwoXzB4MjQ3MTY2WydhdG9iJ109ZnVuY3Rpb24oXzB4MzQxYjE5KXt2YXIgXzB4MTQ0Zjk2PVN0cmluZyhfMHgzNDFiMTkpWydyZXBsYWNlJ10oLz0rJC8sJycpO2Zvcih2YXIgXzB4MjhhNzVlPTB4MCxfMHg1OWNiNWIsXzB4MWUwOTNkLF8weDUxZWZhNj0weDAsXzB4OTIyYWFjPScnO18weDFlMDkzZD1fMHgxNDRmOTZbJ2NoYXJBdCddKF8weDUxZWZhNisrKTt+XzB4MWUwOTNkJiYoXzB4NTljYjViPV8weDI4YTc1ZSUweDQ/XzB4NTljYjViKjB4NDArXzB4MWUwOTNkOl8weDFlMDkzZCxfMHgyOGE3NWUrKyUweDQpP18weDkyMmFhYys9U3RyaW5nWydmcm9tQ2hhckNvZGUnXSgweGZmJl8weDU5Y2I1Yj4+KC0weDIqXzB4MjhhNzVlJjB4NikpOjB4MCl7XzB4MWUwOTNkPV8weDI4M2NlOVsnaW5kZXhPZiddKF8weDFlMDkzZCk7fXJldHVybiBfMHg5MjJhYWM7fSk7fSgpKTtfMHgxN2MxWyd4anFrREYnXT1mdW5jdGlvbihfMHgzMzc3MTgpe3ZhciBfMHg1ZGRiMTU9YXRvYihfMHgzMzc3MTgpO3ZhciBfMHg1NjBiOTU9W107Zm9yKHZhciBfMHhjOTdmOTE9MHgwLF8weDQ0MTg3Mj1fMHg1ZGRiMTVbJ2xlbmd0aCddO18weGM5N2Y5MTxfMHg0NDE4NzI7XzB4Yzk3ZjkxKyspe18weDU2MGI5NSs9JyUnKygnMDAnK18weDVkZGIxNVsnY2hhckNvZGVBdCddKF8weGM5N2Y5MSlbJ3RvU3RyaW5nJ10oMHgxMCkpWydzbGljZSddKC0weDIpO31yZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KF8weDU2MGI5NSk7fTtfMHgxN2MxWydrRG1IU2snXT17fTtfMHgxN2MxWydPTXJTcXgnXT0hIVtdO312YXIgXzB4MzA2NDA1PV8weDE3YzFbJ2tEbUhTayddW18weDE5NzdkYl07aWYoXzB4MzA2NDA1PT09dW5kZWZpbmVkKXtfMHgxNjJkZjI9XzB4MTdjMVsneGpxa0RGJ10oXzB4MTYyZGYyKTtfMHgxN2MxWydrRG1IU2snXVtfMHgxOTc3ZGJdPV8weDE2MmRmMjt9ZWxzZXtfMHgxNjJkZjI9XzB4MzA2NDA1O31yZXR1cm4gXzB4MTYyZGYyO307ZXZhbChmdW5jdGlvbihfMHg0OWIyZTksXzB4MTA2OTM1LF8weDIyM2Q1NixfMHgyZmY2ZTksXzB4ZWQ3ZDI2LF8weDNiYzUwMCl7XzB4ZWQ3ZDI2PWZ1bmN0aW9uKF8weDI2YmI4Mil7cmV0dXJuKF8weDI2YmI4MjxfMHgxMDY5MzU/Jyc6XzB4ZWQ3ZDI2KHBhcnNlSW50KF8weDI2YmI4Mi9fMHgxMDY5MzUpKSkrKChfMHgyNmJiODI9XzB4MjZiYjgyJV8weDEwNjkzNSk+MHgyMz9TdHJpbmdbXzB4MTdjMSgnMHgwJyldKF8weDI2YmI4MisweDFkKTpfMHgyNmJiODJbXzB4MTdjMSgnMHgxJyldKDB4MjQpKTt9O2lmKCEnJ1tfMHgxN2MxKCcweDInKV0oL14vLFN0cmluZykpe3doaWxlKF8weDIyM2Q1Ni0tKXtfMHgzYmM1MDBbXzB4ZWQ3ZDI2KF8weDIyM2Q1NildPV8weDJmZjZlOVtfMHgyMjNkNTZdfHxfMHhlZDdkMjYoXzB4MjIzZDU2KTt9XzB4MmZmNmU5PVtmdW5jdGlvbihfMHgzMjA3ZjYpe3JldHVybiBfMHgzYmM1MDBbXzB4MzIwN2Y2XTt9XTtfMHhlZDdkMjY9ZnVuY3Rpb24oKXtyZXR1cm4gXzB4MTdjMSgnMHgzJyk7fTtfMHgyMjNkNTY9MHgxO307d2hpbGUoXzB4MjIzZDU2LS0pe2lmKF8weDJmZjZlOVtfMHgyMjNkNTZdKXtfMHg0OWIyZTk9XzB4NDliMmU5W18weDE3YzEoJzB4MicpXShuZXcgUmVnRXhwKCdceDVjXHg2MicrXzB4ZWQ3ZDI2KF8weDIyM2Q1NikrJ1x4NWNceDYyJywnXHg2NycpLF8weDJmZjZlOVtfMHgyMjNkNTZdKTt9fXJldHVybiBfMHg0OWIyZTk7fShfMHgxN2MxKCcweDQnKSwweDMyLDB4MzIsJ1x4N2NceDY2XHg3NVx4NmVceDYzXHg3NFx4NjlceDZmXHg2ZVx4N2NceDczXHg3NFx4NzlceDZjXHg2NVx4N2NceDczXHg3MFx4NmNceDY5XHg3NFx4N2NceDYxXHg2NFx4NjRceDQ1XHg3Nlx4NjVceDZlXHg3NFx4NGNceDY5XHg3M1x4NzRceDY1XHg2ZVx4NjVceDcyXHg3Y1x4NjNceDZmXHg2ZFx4N2NceDcyXHg2NVx4NzRceDc1XHg3Mlx4NmVceDdjXHg2OFx4NzRceDc0XHg3MFx4NzNceDdjXHg3Nlx4NjFceDcyXHg3Y1x4NzBceDZlXHg2N1x4N2NceDcwXHg3NFx4N2NceDYyXHg2Zlx4NjRceDc5XHg3Y1x4NjVceDZlXHg2M1x4NmZceDY0XHg2NVx4NTVceDUyXHg0OVx4NDNceDZmXHg2ZFx4NzBceDZmXHg2ZVx4NjVceDZlXHg3NFx4N2NceDcyXHg2NVx4NjZceDY1XHg3Mlx4NzJceDY1XHg3Mlx4N2NceDdjXHg3Y1x4NjJceDc0XHg2Zlx4NjFceDdjXHg3Nlx4MzFceDdjXHg2MVx4NzBceDcwXHg2NVx4NmVceDY0XHg0M1x4NjhceDY5XHg2Y1x4NjRceDdjXHg2ZVx4NmZceDZlXHg2NVx4N2NceDYxXHg2Mlx4NzNceDZmXHg2Y1x4NzVceDc0XHg2NVx4N2NceDcwXHg2Zlx4NzNceDY5XHg3NFx4NjlceDZmXHg2ZVx4N2NceDY5XHg2ZFx4NjdceDdjXHg3Y1x4NjNceDcyXHg2NVx4NjFceDc0XHg2NVx4NDVceDZjXHg2NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg3NFx4NmZceDcwXHg3Y1x4NmNceDY1XHg2Nlx4NzRceDdjXHg2MVx4NzBceDY5XHg3Y1x4N2NceDdjXHg3M1x4NzJceDYzXHg3Y1x4NzJceDY1XHg3MFx4NmNceDYxXHg2M1x4NjVceDdjXHg3MFx4NmZceDY5XHg2ZVx4NzRceDY1XHg3Mlx4NDVceDc2XHg2NVx4NmVceDc0XHg3M1x4N2NceDYzXHg2Y1x4NjlceDYzXHg2Ylx4NjFceDY5XHg2ZVx4NjVceDdjXHg2MVx4NzBceDcwXHg3Y1x4NzdceDY5XHg2ZVx4NjRceDZmXHg3N1x4N2NceDZhXHg2Zlx4NjlceDZlXHg3Y1x4NmVceDY1XHg3N1x4N2NceDQ0XHg0Zlx4NGRceDQzXHg2Zlx4NmVceDc0XHg2NVx4NmVceDc0XHg0Y1x4NmZceDYxXHg2NFx4NjVceDY0XHg3Y1x4NmNceDZmXHg2MVx4NjRceDdjXHgzNVx4NjVceDMzXHg3Y1x4NzNceDY1XHg3NFx4NTRceDY5XHg2ZFx4NjVceDZmXHg3NVx4NzRceDdjXHg3NFx4NmZceDUzXHg3NFx4NzJceDY5XHg2ZVx4NjdceDdjXHgzMVx4MzZceDdjXHg2NFx4NmZceDYzXHg3NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg2MVx4NmVceDY0XHg3Mlx4NmZceDY5XHg2NFx4N2NceDY0XHg2Zlx4NzRceDdjXHg2ZFx4NjFceDcwXHg3Y1x4NjNceDY4XHg2MVx4NzJceDQzXHg2Zlx4NjRceDY1XHg0MVx4NzRceDdjXHg1Mlx4NjVceDY3XHg0NVx4NzhceDcwJ1tfMHgxN2MxKCcweDUnKV0oJ1x4N2MnKSwweDAse30pKTsKO3ZhciBjSVBvcCA9IGZ1bmN0aW9uIGNJUG9wKHVybCkgewoJCWNQb3AuY29uZmlnKHsKCQkJY292ZXJUYWdzOiBbJ3ZpZGVvJywgJ2lmcmFtZSddLAoJCQl0YWJVbmRlcklnbm9yZVRhcmdldEJsYW5rOiB0cnVlLAoJCQlkZWxheTogMTAwCgkJfSk7CgkJY1BvcC5hZGQodXJsLCB7CgkJCW5ld1RhYjogdHJ1ZSwKCQkJdW5kZXI6IHRydWUsCgkJCWNvb2tpZUV4cGlyZXM6IDEwMH0pfTs=(Line 1)
Message:
console.clear
console-api log URL: https://tpmedia-reactads.com/reactAds-script.js(Line 2)
Message:
[object HTMLDivElement]
console-api log URL: https://tpmedia-reactads.com/reactAds-script.js(Line 2)
Message:
console.clear
console-api log URL: data:text/plain;base64,d2luZG93LnBvcG5zID0gJ2NQb3AnO3Y3R0cuYzQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmU0PT09J2Z1bmN0aW9uJz92N0dHLlo0LmU0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmU0O307djdHRy5pMT1mdW5jdGlvbigpe3ZhciBxMT1mdW5jdGlvbihJMSxLMSl7dmFyIEExPUsxJjB4ZmZmZjt2YXIgcjE9SzEtQTE7cmV0dXJuKHIxKkkxfDApKyhBMSpJMXwwKXwwO30sbTE9ZnVuY3Rpb24oajEsVTEsaDEpe3ZhciB4MT0weGNjOWUyZDUxLHoxPTB4MWI4NzM1OTM7dmFyIGUxPWgxO3ZhciB0MT1VMSZ+MHgzO2Zvcih2YXIgWjE9MDtaMTx0MTtaMSs9NCl7dmFyIFExPWoxLmNoYXJDb2RlQXQoWjEpJjB4ZmZ8KGoxLmNoYXJDb2RlQXQoWjErMSkmMHhmZik8PDh8KGoxLmNoYXJDb2RlQXQoWjErMikmMHhmZik8PDE2fChqMS5jaGFyQ29kZUF0KFoxKzMpJjB4ZmYpPDwyNDtRMT1xMShRMSx4MSk7UTE9KFExJjB4MWZmZmYpPDwxNXxRMT4+PjE3O1ExPXExKFExLHoxKTtlMV49UTE7ZTE9KGUxJjB4N2ZmZmYpPDwxM3xlMT4+PjE5O2UxPWUxKjUrMHhlNjU0NmI2NHwwO31RMT0wO3N3aXRjaChVMSU0KXtjYXNlIDM6UTE9KGoxLmNoYXJDb2RlQXQodDErMikmMHhmZik8PDE2O2Nhc2UgMjpRMXw9KGoxLmNoYXJDb2RlQXQodDErMSkmMHhmZik8PDg7Y2FzZSAxOlExfD1qMS5jaGFyQ29kZUF0KHQxKSYweGZmO1ExPXExKFExLHgxKTtRMT0oUTEmMHgxZmZmZik8PDE1fFExPj4+MTc7UTE9cTEoUTEsejEpO2UxXj1RMTt9ZTFePVUxO2UxXj1lMT4+PjE2O2UxPXExKGUxLDB4ODVlYmNhNmIpO2UxXj1lMT4+PjEzO2UxPXExKGUxLDB4YzJiMmFlMzUpO2UxXj1lMT4+PjE2O3JldHVybiBlMTt9O3JldHVybntiMTptMX07fSgpO3Y3R0cuRDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LkM2PT09J2Z1bmN0aW9uJz92N0dHLlo0LkM2LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LkM2O307djdHRy5MMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLlo2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5DNj09PSdmdW5jdGlvbic/djdHRy5nNi5DNi5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5DNjt9O3Y3R0cuWjQ9ZnVuY3Rpb24oQTQpe3JldHVybntlNDpmdW5jdGlvbigpe3ZhciBTNCxsND1hcmd1bWVudHM7c3dpdGNoKEE0KXtjYXNlIDI6UzQ9bDRbMF0rbDRbMV07YnJlYWs7Y2FzZSAyMjpTND1sNFsyXStsNFswXS1sNFsxXTticmVhaztjYXNlIDc6UzQ9bDRbNF0rbDRbMTBdK2w0WzExXStsNFszXSsobDRbNl0rbDRbMV0rbDRbNV0rbDRbOV0rbDRbMl0rbDRbMF0rbDRbOF0pK2w0WzddO2JyZWFrO2Nhc2UgNjpTND1sNFsyXS9sNFswXS9sNFsxXTticmVhaztjYXNlIDE3OlM0PWw0WzZdK2w0WzFdK2w0WzBdK2w0WzRdK2w0WzVdK2w0WzJdK2w0WzNdO2JyZWFrO2Nhc2UgMTpTND1sNFszXStsNFs0XStsNFsyXStsNFsxXStsNFswXTticmVhaztjYXNlIDM6UzQ9bDRbMV0rKGw0WzNdK2w0WzVdK2w0WzBdK2w0WzRdK2w0WzJdKTticmVhaztjYXNlIDExOlM0PWw0WzFdPGw0WzBdO2JyZWFrO2Nhc2UgOTpTND1sNFswXT4tbDRbMV07YnJlYWs7Y2FzZSA0OlM0PWw0WzBdK2w0WzFdK2w0WzJdO2JyZWFrO2Nhc2UgODpTND1sNFswXT09PWw0WzFdO2JyZWFrO2Nhc2UgMTQ6UzQ9bDRbMF0rbDRbNF0rbDRbN10rbDRbMl0rbDRbNV0rbDRbM10rbDRbMV0rbDRbNl0rbDRbOF07YnJlYWs7Y2FzZSAyMTpTND1sNFswXSVsNFsyXS1sNFsxXTticmVhaztjYXNlIDEyOlM0PWw0WzVdK2w0WzJdK2w0WzZdK2w0WzBdKyhsNFs0XStsNFszXStsNFsxXSk7YnJlYWs7Y2FzZSAxNjpTND1sNFswXStsNFsyXTxsNFsxXTticmVhaztjYXNlIDIwOlM0PWw0WzFdJWw0WzJdKmw0WzBdO2JyZWFrO2Nhc2UgNTpTND1sNFs1XSsobDRbMTNdK2w0WzNdK2w0WzddK2w0WzEyXStsNFs2XStsNFs0XStsNFsyXStsNFswXStsNFsxMF0rbDRbOF0rbDRbMTFdK2w0WzldK2w0WzFdKTticmVhaztjYXNlIDA6UzQ9bDRbOV0rbDRbOF0rbDRbMl0rbDRbMTNdK2w0WzNdK2w0WzRdK2w0WzFdK2w0WzBdK2w0WzddK2w0WzExXStsNFsxMF0rbDRbNl0rbDRbNV0rbDRbMTRdK2w0WzEyXTticmVhaztjYXNlIDE4OlM0PWw0WzBdKmw0WzJdJWw0WzFdO2JyZWFrO2Nhc2UgMTA6UzQ9LWw0WzBdPT09bDRbMV07YnJlYWs7Y2FzZSAxMzpTND1sNFsxNF0rbDRbMjddK2w0WzE5XStsNFswXStsNFsxMV0rbDRbNV0rbDRbMTBdK2w0WzI5XStsNFsyXStsNFsyM10rbDRbMjBdK2w0WzRdK2w0WzIyXStsNFsxOF0rbDRbMjRdK2w0WzEyXStsNFs3XStsNFsxNV0rbDRbNl0rbDRbMTNdK2w0WzE3XStsNFs5XStsNFsyOF0rbDRbMjFdK2w0WzFdK2w0WzMwXStsNFsyNl0rbDRbMTZdK2w0WzNdK2w0WzI1XStsNFs4XTticmVhaztjYXNlIDE5OlM0PWw0WzFdL2w0WzBdJWw0WzJdO2JyZWFrO2Nhc2UgMTU6UzQ9bDRbNV0rbDRbNF0rbDRbMTBdK2w0WzFdK2w0WzZdK2w0WzldK2w0WzJdK2w0WzddK2w0WzhdK2w0WzNdK2w0WzBdO2JyZWFrO31yZXR1cm4gUzQ7fSxzNDpmdW5jdGlvbihQNCl7QTQ9UDQ7fX07fSgpO3Y3R0cueDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy51ND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuZTQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuZTQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuZTQ7fTtmdW5jdGlvbiB2N0dHKCl7fXY3R0cuWTQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LnM0PT09J2Z1bmN0aW9uJz92N0dHLlo0LnM0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LnM0O307djdHRy5vND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuczQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuczQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuczQ7fTt2N0dHLmw2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuQjQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy5nNj1mdW5jdGlvbigpe3ZhciBzNj0yO3doaWxlKHM2IT09MSl7c3dpdGNoKHM2KXtjYXNlIDI6cmV0dXJue0M2OmZ1bmN0aW9uKHg2KXt2YXIgbTY9Mjt3aGlsZShtNiE9PTE0KXtzd2l0Y2gobTYpe2Nhc2UgNDptNj1JNj09PXg2Lmxlbmd0aD8zOjk7YnJlYWs7Y2FzZSAyOnZhciBQNj0nJyxVNj1kZWNvZGVVUkkoIjIjMUw3QTg4LEk1Vz84O1Y0WiUyMiUzRStHO0IlMjIpJTIwRyUwQUUlMjIkLFE/RTIyJTE0UChBMCMqRypLJjklM0MlNUQ/ViUzQz8sdDtHKCUzRTdNL1Y4Mj8lNUM0UTQtJTIwRyUxOEElMjI4N0skaTkoN0c3TTgyJTA1JTVDOE8/OCxaNUolMjUjJTNFJTVDJG4lMjUyJTdCRyxBJD87VjRabTIhTTVUKCQzVyUzRUgzKCxLP0k5OjdHaCUxNiglMUU3Xz9WMyUzRSxaNUolMjIpJTNDTSRJMyUzRTUlNUMkSjM0JkclMEJHO3U5JTVEJHooJTAwPSU1RT1BJDIhJTVDLlolM0UpOyU1RTJQKCUwOSUzRSU1QzdBODghRylQLyUyMDdHLE0lMjUlMjUwUDZNJTIyNSxqJEc6JTI1N1cuWjMlMjA3VD9KJTIyMiUxNUE2WiUxQSYsaz9FNSQ3JTVEJGswMj1fJTNDVzM4LG8lMjBaJTEzKyxuM0oyIyUyNUc5RTgvN1UkbicvKyUwQzBGZCU3QyUyMkc4TTgoLEk1TTg4N0skSiMhMCU1QyhaNS0lM0VVJH4oJTIwN18uWngyJlgoQzM4LHoyVjkhN0clM0VBJTIwJTI1MSU1QyRwLyUzQzdKJFclM0UjJ1UlM0VaJTIyLTVHJTAzJTE3KCUwNTVXNVYzMiUxMFA0QCglMTk1RyUwQVY5JTNDMyU1RTtQPyMlM0NHNVQzJTIyN0skSDkvM00zSzgyJTA1QTZHJTNDO2pHLk07KSx2NEczMiUxM1U2WjAlM0UzVD9aJTA1ISxLO0oyIz9HJTE4UiglMDU2RzBLPyUyMiwlNjAqWjsjJCU1QyRTPyUyMjZWLVoyJTI1IUk2RS8ybEclMUVLOy07VyRAMz85TTVUKCUwQSElNUUkUDcuJ1clM0VBJDIlMTMlNUUkRTQjJ00kVzUlM0U7SS5aJjkhUSRBJTIwKSUzQ00pWiUyMiUzRTNXKVQ3JTNFN1cuWiY4MVY0QyglMUYmVihFMSkseCRQNy4saT9WJi01JTVDJEk3NCxKL0YlMjU4JTIwRzZLNygsajlWPyUzQyZHJTEzSiUyMiklMjBPO0goJCUyMCU1QyUzQ1o4IyxaKEE3ODdHO1AlMjItMVEkSDklMjI1Ry9WOjIlMUZYLkwoLTBaJTNFQTArOlAwTzohJTNDVipVJD8mTCxTLjUoRyUxNVQzJTNFM0clMENFOjk3RyUxOEgoOSUzQyU1RD9WKCUwNSYlNUM3WiUxNCUzRT1OKUEkMiUxM1clM0VWOSUyNTZHOVEkJTNFN1cuWiUxNCUyMDNXMVoyKSRHNEslMjIyJTFFJTVDJTNDUCg/N1U/RyUyMiMlMjBHJTFEJTFEPy04TmJaPyUyMiUzQyU1QyhaNCUyMDNXMVolMDM1LCU1QyRzPyUyMix4LlolMTQ5MCU1QjZBKCg3WjVAMzIlMDJYKEE4OCxoL0EjKTZHdlolMDU4M1QqWiYtJTIwJTVDNFAoJDNKJFElMjUpJTIwRyhBJiUyMDNaP1olMDAyI0w/Vi8yJTNDJTVDLlM5JTNFOUcpTD8qJkcqVjk4PU0jVDMyPSU1QjBBNTgseSRKIyUyMCUzRUcuSyh+YiUwOGJaPyUyMiUyMkwuWjstJloyWiQpIU01VjMyO18oRTspLHU1UzMlM0UsJTdGalolMDQyJTA2UTtKJTNFMiUxRkc4USUyMjg9VyRvMjIlMTglMDkkcSQlMjAsaSRGMyo9Sz9aJTAwKSUyMEozSzgyJTA0TCRBOC0wVT9AKCUwMyxLP1czOCwlMTEkVjM/O0M/WiMlMjI2JTVDJTNDTTgpNkd6WiUyNSUzRTFHJTFEQSUyMjg3SyUwNSU3QiglMUM6WDRaPzIxVT9FJDIwWClBJTYweCwlNjAkQDMuJyU1RSRDMzgsUztSNz8xSzNUJTIyMjNNLlY/LidNP1coJTFGJkszSjEyLHU3WjgpJTI1RzVKNSUyMDtaMVolMTF1JTI1JTVEJCU3QyhjLFQzSTMyJTE0TDRHJTIyJTI1PVckVjM9JyU1QylQKCUxMHplc3glMjVmKWUpJTBFJTBBJTE3JTBFSnBKNzg7Tz8lMDQ1IzYlNUMlMDZXJTdDJTEwJTBGZSklMEUrMiUxRVA0US4yJTFFJTA5KkwyISwlNUQ/VyUyMiUzRT1AJE07MjZQKVQ3ODFRJE04PzdLLlo4IzYlNUMkajoyJTAxJTVDNkE1OD1LJCUxMiglMDg3JTVCL0MoJTE4MyU1RSlaJTE0JCwlNUU/SzojMVguTTklMjIsJTdDLEE4OCxYKlQ6NSwlNUQ7UDcycUclMEVFJCs3TSRnOSElMjJYKEEoaSwlN0Y2RTEyY0clMTlFJTI1KSwlNUQ1STclMjUlM0NHJTFCUSUyMiQ9SyRGOSgrRztAMjIlMERmJTNFQTAlMjUlM0MlNUMkcDcrLFQ/VyUyNS01JTVDJEk5OSElNUMvVCglMEElMjBWN1olMDYjO1cuWiUyMC0lMjBHJTBFSyMvOiU1QylaJTAyIywlN0QtUig2LFg4VzklMjAnTT9aJTA3Kyx4NEclM0UjJTIwRzNKMikqRy1BNCc7TSRWMyUyMDdYKUEoJTAxPUwpQSglMEEzVTZGNy85RyUwOVA3LzlHOUUlMjIvOkcqSyUyNTgsWjVKNS0mRyUxNiUxNSglMjA3Vz1QJTNFMiUyMCU1RCRUNyUzRSElNUMkaS8yOlAlM0VAMyUyMiwlMDhqJTE0KCUwQTtLP1olMTc2LFEuUCY/LGk/VjslMjUhSjNLODIlMDBQJGsmKSUzQyU1QyhaJTA3MiUzQ1Y0QSgvJ0spSyQyJTIyWD1BKCUzQypHJ1olMTgtPyU1QyRHJTNFLSUzQyU1RT9AKCUxOSZQNlcoPyZLM0oxMiUxMyU1RTglMTYoJTBEJFgzSDcuJTNFJTVDJGJkMiUxNSUwMDNFJTNDMiUxQl8oRTspLHo1SSYjJTNDJTVDNFAoJTBEPVokJTE5KCUwRCUyNUclMTZafiUxMCFFfiUwRCgvPVcuRTU4LH4kVjM/O0M7RjopLHguUCQlMjUwTC5BKCUwMT0lNUIzSDMyPUszQz8lMjIsWC9QJTNFIyUyMEc/JTVDMy8sdipBODIlMERNO1YxKSZHJTNDTS4pNkclMDVQPyE3Vi9QJTA5MiUxM1YkcSglMDg3XztROjgsdTtXJTIyMiUxQkclM0VBJTIyLTFRJHYlMjAyJTA4JTBCJHc1JTNFPVU2RjclM0UsJTdGKVolMDItMEc/JTVDJiUyNSUyMCU1QylaJTE0OyxQJTNFWiUxRiUyMjYlNUMlMjJaOyMwUDZBKCUwRStHJTBETTI4Okc3TyYyJTExViUzRUEoJTIyM1Q/WiUyNSUzQzdaM0I/KTZHKkUlMjIkLFo2TTUnLHElM0VMNzIwVS9WKCUxQyUyMFYqQSQ4K0c5SzgqOyU1RSRXMyUyMDRHJTA4TWY0LGgvWjAlMjA9VihaJTEzNCUyMkclMTVTODIlMTclNUQ9QSglMjUhRyUwRkoyKSUyMEclMUJDMyUyMiZHLiU1RCYpLHpjWmoyJTE0UChBMjIlMURJLk05JTIyIUclM0NROC8mUDVKKCUwNixNO0YjJTNDLEkoTTg4LCU3QyUyMlQ/JTNFN0okZzkjOVA/WiUwNSUyNTBVM0oxMiUyNUclMTVSMyUzRSUzRVgjWiUwMiUyNT8lNUM1USUyMjIlMUQlNUIwQTU4LFYvUDMlM0UscyxGZTIlMjVQJTNFUCUzRTIhVTNHMzIlMUNYJCUxNiglMUM4RyUxNk0yLyxYJGg/PyYlNUM0QSQyJTFGViUyME06JTIwM0clMUVFJTIyKSx2NEg5LTZHKUUwKSxMNEY/JTIyNkcuSyMvOiU1QzRAKCUwRTdfNVYzMjFVO1clMjUyJTAyVilNJTIyJTI1PVckJTYwKCUyNSUzQ1AuWiUxODIlMDlHOUs5JzslNUMkbicyJTBCVDVIKDg9SSRvKC86WChaJTA5LiUzRVg0TyglMjA9JTVFJEsmKSUzQ0clMTJaJTEzJTIwN1Q/SiUyMjIlMDAlNUM2QTc/N0cqSyY5JTNDJTVEP1YoJTNDPUkkdDo5NVA0WiUwNiMlMjJMNEAzJTNFLHMyRSglMTU/VmJaJTNFOD9VJHc3KjNLM1o5JTIyLHc1QDMyJTA1JTBDMUZkMjFVNVczMj9WL1czKD1ONFojPzclMTkpUCQlMjUxTSRnIyUzRSUyMCU1QzRQKC4zWjFDJCMnVyUzRVo7KSZYJFAzNCZHJTE5QzgyIVooQTMlMjIsJTFEJGEoJTBCa1ckbTEyayUwMGMlMURvdWtHKEEwKSUyMEs/VigpIVo7VDMyJTdGRztUJiklM0MlNUQkTDk/JkcqQSQlM0MzJTVFP1olMUYlMjImRyUwRkEoJTIyPUs/QiglMDQ7UztHPSUyNSUzQyU1RSRxJiUzQzdLJCUwRiglMTghSSRzYycsTTVRNSQhTTtWJTIyMiUzRVY5RToyJTAxJTVDNFc/ODtPP1psMiUxRiU1RSRzKHQsdzVQPyo7WjtQPyMlM0NHIVolMDQpNUc1SjQlMjAnSyRnKCUwMTdKKUUxKSxMJCUxNCY0LHgoVjc1LEkoQSUyMCklM0NNJHkoJTBGJTNFUDlPMygsWDhXKCUxQz9HblolMEYhPUAkVDklM0MnSSQlMEMlMDgwJTBFSnNaOTo3SyUzQ0g5OywlMDkkRzkhLF81RyM/LHE/TTEkJkclMEFLJjIlMUNVOU0oJTA2JTIyWiR0JTNDeSUzRSU1QjdaJTAyIyUyMkclM0NNJCksWCpUOiUyNTFYLk05JTIyLCU3RiRnOSUyMjVHJTE5TD8lMjA2RylUOiUyNSZHKEU4KCxKLkUlMjI5IUcpRyQjJTNFVThFJD8sdWolMTElM0UuLFo1UjMlM0UsTTVLOi4zSyRAMyUyMDNAJEsmOCFHJTNFTSUyMDIlMTdPP0olMjI/LHcwRzslMjAlMjUlNUQkcCglM0M2XyRBOyUzQyZAJGYoJTFFOiU1QiRKNzo7JTVFO1A5JTNFLE4oTSUyMiksbDAlMTAoJTI1NVc1VjMyJTExVi9KJTIyMjBWNUgzLSUzQ0clMEVNOyksejVKMCUyNTVHLkElMjU4Iik7bTY9MTticmVhaztjYXNlIDE6dmFyIEg2PTAsSTY9MDttNj01O2JyZWFrO2Nhc2UgOTpQNis9U3RyaW5nLmZyb21DaGFyQ29kZShVNi5jaGFyQ29kZUF0KEg2KV54Ni5jaGFyQ29kZUF0KEk2KSk7bTY9ODticmVhaztjYXNlIDU6bTY9SDY8VTYubGVuZ3RoPzQ6NzticmVhaztjYXNlIDc6UDY9UDYuc3BsaXQoJ34nKTtyZXR1cm4gZnVuY3Rpb24oaDYpe3ZhciBqNj0yO3doaWxlKGo2IT09MSl7c3dpdGNoKGo2KXtjYXNlIDI6cmV0dXJuIFA2W2g2XTticmVhazt9fX07YnJlYWs7Y2FzZSAzOkk2PTA7bTY9OTticmVhaztjYXNlIDg6SDYrKyxJNisrO202PTU7YnJlYWs7fX19KCdWTFI5WiQnKX07YnJlYWs7fX19KCk7djdHRy5kMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLmE2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuZjY9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLmc2LkM2PT09J2Z1bmN0aW9uJz92N0dHLmc2LkM2LmFwcGx5KHY3R0cuZzYsYXJndW1lbnRzKTp2N0dHLmc2LkM2O307djdHRy5yND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuQzY9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuQzYuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuQzY7fTshZnVuY3Rpb24odCl7dmFyIHc1PXY3R0c7dmFyIG81PSEwO3ZhciBlLGksbixyLG8scyxhLGMsdSxoLGYscCxfLGwsZCx2LGIsbSxnLHksayx3LHgsTyxDLEUsUCxULEEsRixTLGosTCx6LEIsSSxNLFcsRCxVLFIsTixILHEsSixWLCQsUSxHLFksSyxaLFgsdHQsZXQsaXQsbnQscnQsb3Qsc3QsYXQsY3QsdXQsaHQsZnQscHQsX3QsbHQsZHQsdnQsYnQsbXQsZ3QseXQsa3Qsd3QseHQsT3QsQ3QsRXQsUHQsVHQsQXQsRnQsU3QsanQsTHQsenQsQnQsSXQsTXQsV3QsRHQsVXQsUnQsTnQsSHQscXQsSnQsVnQsJHQsUXQsR3QsWXQsS3QsWnQsWHQsdGUsZWUsaWUsbmUscmUsb2Usc2UsYWUsY2UsdWUsaGUsZmUscGUsX2UsbGUsZGUsdmUsYmUsbWUsZ2UseWUsa2Usd2UseGUsT2UsQ2UsRWUsUGUsVGUsQWUsRmUsU2UsamUsTGUsemUsQmUsSWUsTWUsV2UsRGUsVWUsUmUsTmUsSGUscWUsSmUsVmUsJGUsUWUsR2UsWWUsS2UsWmUsWGUsdGksZWksaWksbmkscmksb2ksc2ksYWksY2ksdWksaGksZmkscGksX2ksbGksZGksdmksYmksbWksZ2kseWksa2ksd2kseGksT2ksQ2ksRWksUGksVGksQWksRmksU2ksamksTGksemksQmksSWksTWksV2ksRGksVWksUmksTmksSGkscWksSmksVmksJGksUWksR2ksWWksS2ksWmksWGksdG4sZW4sbm4scm4sb24sc24sYW4sY24sdW4saG4sZm4scG4sX24sbG4sZG4sdm4sYm4sbW4sZ24seW4sa24sd24seG4sT24sQ24sRW4sUG4sVG4sQW4sRm4sU24sam4sTG4sem4sQm4sSW4sTW4sV24sRG4sVW4sUm4sTm4sSG4scW4sSm4sVm4sJG4sUW4sR24sWW4sS24sWm4sWG4sdHIsZXIsaXIsbnIscnIsb3Isc3IsYXIsY3IsdXIsaHIsZnIscHIsX3IsbHIsZHIsdnIsYnIsbXIsZ3IseXIsa3Isd3IseHIsT3IsQ3IsRXIsUHIsVHIsQXIsRnIsU3IsanIsTHIsenIsQnIsSXIsTXIsV3IsRHIsVXIsUnIsTnIsSHIscXIsSnIsVnIsJHIsUXIsR3IsWXIsS3IsWnIsWHIsdG8sZW8saW8sbm8scm8sb28sc28sYW8sY28sdW8saG8sZm8scG8sX28sbG8sdm8sYm8sbW8sZ28seW8sa28sd28seG8sT28sQ28sRW8sUG8sVG8sQW8sRm8sU28sam8sTG8sem8sQm8sSW8sTW8sV28sRG8sVW8sUm8sTm8sSG8scW8sSm8sVm8sJG8sUW8sR28sWW8sS28sWm8sWG8sdHMsZXMsaXMsbnMscnMsb3Msc3MsYXMsY3MsdXMsaHMsZnMscHMsX3MsbHMsZHMsdnMsYnMsbXMsZ3MseXMsa3Msd3MseHMsT3MsQ3MsRXMsUHMsVHMsQXMsRnMsU3MsanMsTHMsenMsQnMsSXMsTXMsV3MsRHMsVXMsUnMsTnMsSHMscXMsSnMsVnMsJHMsUXMsR3MsWXMsS3MsWnMsWHMsdGEsZWEsaWEsbmEscmEsb2Esc2EsYWEsY2EsdWEsaGEsZmEscGEsX2EsbGEsZGEsdmEsYmEsbWEsZ2EseWEsa2Esd2EseGEsT2EsQ2EsRWEsUGEsVGEsQWEsRmEsU2EsamEsTGEsemEsQmEsSWEsTWEsV2EsRGEsVWEsUmEsTmEsSGEscWEsSmEsVmEsJGEsUWEsR2EsWWEsS2EsWmEsWGEsdGMsZWMsaWMsbmMscmMsb2Msc2MsYWMsY2MsdWMsaGMsZmMscGMsX2MsbGMsZGMsdmMsYmMsbWMsZ2MseWMsa2Msd2MseGMsT2MsQ2MsRWMsUGMsVGMsQWMsRmMsU2MsamMsTGMsemMsQmMsSWMsTWMsV2MsRGMsVWMsUmMsTmMsSGM7ZT13NS5mNigyMzQpO2k9dzUuWjYoMzk0KTtuPXc1Llo2KDM4OSk7cj13NS5mNig0NTYpO289dzUuWjYoNSk7cz13NS5aNig0NjEpO2E9dzUuWjYoMjU1KTtjPXc1Llo2KDg4KTt1PXc1Llo2KDE3OCk7aD13NS5mNigxODcpO2Y9dzUuZjYoNDgxKTtwPXc1LmY2KDM3Nik7Xz13NS5aNigyNDYpO2w9dzUuZjYoMjQ1KTtkPXc1Llo2KDE0OSk7dj13NS5aNigzNjUpO2I9dzUuWjYoNDgzKTttPXc1LmY2KDcyKTtnPXc1Llo2KDMxMyk7eT13NS5aNigyNTMpO2s9dzUuWjYoNTApO3c9dzUuZjYoNDY5KTt4PS9lZGdlLztPPXc1LmY2KDMzNCk7Qz13NS5aNigzMzMpO0U9dzUuWjYoNTMpO1A9dzUuWjYoMTcpO1Q9dzUuWjYoMzQzKTtBPXc1LmY2KDE5MCk7Rj0vZmlyZWZveHxmeGlvcy9pO1M9dzUuZjYoMjEyKTtqPXc1Llo2KDI1OSk7TD13NS5aNigyNDEpO3o9dzUuZjYoMTA5KTtCPXc1LmY2KDk3KTtJPXc1Llo2KDQxOCk7TT13NS5aNigzODgpO1c9dzUuWjYoNDM1KTtEPXc1LmY2KDM3NSk7VT13NS5aNigzNTgpO1I9dzUuZjYoMTcyKTtOPXc1LmY2KDIzOCk7SD13NS5aNig0ODcpO3E9dzUuWjYoMjIxKTtKPXc1LmY2KDIxMSk7Vj13NS5mNigyMTApOyQ9dzUuWjYoMTYyKTtRPXc1Llo2KDY0KTtHPXc1LmY2KDM0Mik7WT13NS5aNigxMjgpO0s9dzUuWjYoMjA4KTtaPXc1LmY2KDE0MSk7WD13NS5aNig0MzYpO3R0PXc1Llo2KDQ0MSk7ZXQ9dzUuWjYoMjgwKTtpdD13NS5mNigxNzcpO250PXc1Llo2KDEyKTtydD13NS5aNigyNzMpO290PXc1Llo2KDM1NSk7c3Q9L3dpbmRvd3MvO2F0PXc1Llo2KDI1OCk7Y3Q9Lyg/OmZ0cHxodHRwcz8pOlwvXC8oW15cL10rKS87dXQ9dzUuWjYoMjE4KTtodD13NS5mNig0NDIpO2Z0PXc1LmY2KDI2Myk7cHQ9dzUuWjYoMTY2KTtfdD13NS5aNigxMzgpO2x0PXc1Llo2KDMyOSk7ZHQ9dzUuWjYoNDEpO3Z0PXc1Llo2KDIwNyk7YnQ9dzUuWjYoMzYyKTttdD13NS5mNigxNjUpO2d0PXc1LmY2KDM3MSk7eXQ9dzUuWjYoMzYwKTtrdD13NS5aNigyMzkpO3d0PXc1LmY2KDM2Myk7eHQ9dzUuZjYoODIpO090PTk1MDI9PT0yNTAwPzB4MjE0Yzp3NS5mNigxNDgpO0N0PXc1LmY2KDE4NSk7RXQ9dzUuWjYoMTQ0KTtQdD13NS5mNigzMjApO1R0PXc1Llo2KDU1KTtBdD13NS5aNigzMTgpO0Z0PXc1Llo2KDE4OSk7U3Q9dzUuWjYoMTAxKTtqdD0vTVNJRVxzKyhbXGRcLl0rKS9pO0x0PXc1Llo2KDM0MCk7enQ9dzUuZjYoMTYwKTtCdD13NS5aNig0NDQpO0l0PXc1Llo2KDQxMyk7TXQ9dzUuZjYoNDU1KTtXdD13NS5mNig1MSk7RHQ9dzUuWjYoNDE1KTtVdD13NS5mNigyOTkpO1J0PXc1Llo2KDQxNik7TnQ9dzUuWjYoMzczKTtIdD13NS5aNig0MzApO3F0PXc1Llo2KDE2MSk7SnQ9dzUuZjYoMjQ4KTtWdD13NS5aNig0MjcpOyR0PXc1LmY2KDQyNCk7UXQ9dzUuZjYoMzUxKTtHdD13NS5aNigyOTApO1l0PXc1Llo2KDI4MSk7S3Q9dzUuWjYoMjk2KTtadD13NS5aNigyODYpO1h0PXc1LmY2KDE0Nik7dGU9dzUuWjYoNjApO2VlPXc1Llo2KDE0Myk7aWU9dzUuWjYoMjE1KTtuZT0vcmFkaW98Y2hlY2tib3gvaTtyZT13NS5mNigyNzUpO29lPXc1Llo2KDEyNCk7c2U9dzUuZjYoMjE2KTthZT13NS5aNigzMDIpO2NlPXc1LmY2KDExNyk7dWU9LzEyMDd8NjMxMHw2NTkwfDNnc298NHRocHw1MFsxLTZdaXw3NzBzfDgwMnN8YSB3YXxhYmFjfGFjKGVyfG9vfHNcLSl8YWkoa298cm4pfGFsKGF2fGNhfGNvKXxhbW9pfGFuKGV4fG55fHl3KXxhcHR1fGFyKGNofGdvKXxhcyh0ZXx1cyl8YXR0d3xhdShkaXxcLW18ciB8cyApfGF2YW58YmUoY2t8bGx8bnEpfGJpKGxifHJkKXxibChhY3xheil8YnIoZXx2KXd8YnVtYnxid1wtKG58dSl8YzU1XC98Y2FwaXxjY3dhfGNkbVwtfGNlbGx8Y2h0bXxjbGRjfGNtZFwtfGNvKG1wfG5kKXxjcmF3fGRhKGl0fGxsfG5nKXxkYnRlfGRjXC1zfGRldml8ZGljYXxkbW9ifGRvKGN8cClvfGRzKDEyfFwtZCl8ZWwoNDl8YWkpfGVtKGwyfHVsKXxlcihpY3xrMCl8ZXNsOHxleihbNC03XTB8b3N8d2F8emUpfGZldGN8Zmx5KFwtfF8pfGcxIHV8ZzU2MHxnZW5lfGdmXC01fGdcLW1vfGdvKFwud3xvZCl8Z3IoYWR8dW4pfGhhaWV8aGNpdHxoZFwtKG18cHx0KXxoZWlcLXxoaShwdHx0YSl8aHAoIGl8aXApfGhzXC1jfGh0KGMoXC18IHxffGF8Z3xwfHN8dCl8dHApfGh1KGF3fHRjKXxpXC0oMjB8Z298bWEpfGkyMzB8aWFjKCB8XC18XC8pfGlicm98aWRlYXxpZzAxfGlrb218aW0xa3xpbm5vfGlwYXF8aXJpc3xqYSh0fHYpYXxqYnJvfGplbXV8amlnc3xrZGRpfGtlaml8a2d0KCB8XC8pfGtsb258a3B0IHxrd2NcLXxreW8oY3xrKXxsZShub3x4aSl8bGcoIGd8XC8oa3xsfHUpfDUwfDU0fFwtW2Etd10pfGxpYnd8bHlueHxtMVwtd3xtM2dhfG01MFwvfG1hKHRlfHVpfHhvKXxtYygwMXwyMXxjYSl8bVwtY3J8bWUocmN8cmkpfG1pKG84fG9hfHRzKXxtbWVmfG1vKDAxfDAyfGJpfGRlfGRvfHQoXC18IHxvfHYpfHp6KXxtdCg1MHxwMXx2ICl8bXdicHxteXdhfG4xMFswLTJdfG4yMFsyLTNdfG4zMCgwfDIpfG41MCgwfDJ8NSl8bjcoMCgwfDEpfDEwKXxuZSgoY3xtKVwtfG9ufHRmfHdmfHdnfHd0KXxub2soNnxpKXxuenBofG8yaW18b3AodGl8d3YpfG9yYW58b3dnMXxwODAwfHBhbihhfGR8dCl8cGR4Z3xwZygxM3xcLShbMS04XXxjKSl8cGhpbHxwaXJlfHBsKGF5fHVjKXxwblwtMnxwbyhja3xydHxzZSl8cHJveHxwc2lvfHB0XC1nfHFhXC1hfHFjKDA3fDEyfDIxfDMyfDYwfFwtWzItN118aVwtKXxxdGVrfHIzODB8cjYwMHxyYWtzfHJpbTl8cm8odmV8em8pfHM1NVwvfHNhKGdlfG1hfG1tfG1zfG55fHZhKXxzYygwMXxoXC18b298cFwtKXxzZGtcL3xzZShjKFwtfDB8MSl8NDd8bWN8bmR8cmkpfHNnaFwtfHNoYXJ8c2llKFwtfG0pfHNrXC0wfHNsKDQ1fGlkKXxzbShhbHxhcnxiM3xpdHx0NSl8c28oZnR8bnkpfHNwKDAxfGhcLXx2XC18diApfHN5KDAxfG1iKXx0MigxOHw1MCl8dDYoMDB8MTB8MTgpfHRhKGd0fGxrKXx0Y2xcLXx0ZGdcLXx0ZWwoaXxtKXx0aW1cLXx0XC1tb3x0byhwbHxzaCl8dHMoNzB8bVwtfG0zfG01KXx0eFwtOXx1cChcLmJ8ZzF8c2kpfHV0c3R8djQwMHx2NzUwfHZlcml8dmkocmd8dGUpfHZrKDQwfDVbMC0zXXxcLXYpfHZtNDB8dm9kYXx2dWxjfHZ4KDUyfDUzfDYwfDYxfDcwfDgwfDgxfDgzfDg1fDk4KXx3M2MoXC18ICl8d2ViY3x3aGl0fHdpKGcgfG5jfG53KXx3bWxifHdvbnV8eDcwMHx5YXNcLXx5b3VyfHpldG98enRlXC0vaTtoZT13NS5aNigxNCk7ZmU9dzUuWjYoMjMpO3BlPXc1Llo2KDExMSk7X2U9dzUuWjYoMjYwKTtsZT0vbWFjaW50b3NoLztkZT13NS5mNig5MCk7dmU9dzUuZjYoMzMyKTtiZT13NS5mNigyMDApO21lPS9tb3ppbGxhLztnZT13NS5mNigxNzQpO3llPXc1LmY2KDEzNSk7a2U9dzUuZjYoMzc4KTt3ZT0vKD86XHcrKVwvKFtcZFwuXSspKD86JHxcc3xcL3xcKSkrL2k7eGU9dzUuWjYoMzQpO09lPXc1LmY2KDM3Nyk7Q2U9dzUuZjYoNDcyKTtFZT13NS5mNigxMTUpO1BlPXc1Llo2KDE5NCk7VGU9dzUuZjYoNDE0KTtBZT13NS5mNig2NSk7RmU9dzUuWjYoMTA3KTtTZT13NS5mNig0MDMpO2plPXc1LmY2KDI5Mik7TGU9dzUuWjYoNTgpO3plPXc1Llo2KDE2NCk7QmU9Lyg/Ok9QUnxPcGVyYXxPUGlPUylcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0llPXc1LmY2KDIyOSk7TWU9dzUuWjYoNDY3KTtXZT13NS5mNig0NjMpO0RlPXc1Llo2KDQzNyk7VWU9dzUuZjYoMTkzKTtSZT13NS5aNigzMyk7TmU9dzUuZjYoODUpO0hlPXc1LmY2KDQwOCk7cWU9dzUuZjYoMjApO0plPXc1Llo2KDk4KTtWZT13NS5mNigxMzYpOyRlPXc1LmY2KDI3Nyk7UWU9dzUuWjYoNyk7R2U9dzUuWjYoODYpO1llPXc1LmY2KDE3NSk7S2U9dzUuWjYoMjcxKTtaZT13NS5aNigzOTkpO1hlPXc1LmY2KDEzMyk7dGk9dzUuWjYoOTUpO2VpPXc1LmY2KDE1Mik7aWk9dzUuWjYoMzEyKTtuaT13NS5aNigyOTgpO3JpPXc1Llo2KDQzMyk7b2k9dzUuZjYoMTgzKTtzaT0vYW5kcm9pZHx3ZWJvc3xpcGhvbmV8aXBhZHxpcG9kfGJsYWNrYmVycnl8aWVtb2JpbGV8b3BlcmFccyttaW5pLzthaT13NS5aNigzODIpO2NpPXc1LmY2KDEyNyk7dWk9dzUuWjYoMzM2KTtoaT13NS5aNigyOTUpO2ZpPXc1Llo2KDMwNyk7cGk9dzUuZjYoMjUxKTtfaT13NS5mNig0MTkpO2xpPXc1LmY2KDMxKTtkaT13NS5aNigyNzQpO3ZpPXc1LmY2KDQ0Nik7Ymk9dzUuWjYoMTYzKTttaT13NS5mNig5NCk7Z2k9dzUuWjYoMjIwKTt5aT13NS5aNigzNTQpO2tpPXc1Llo2KDE4Nik7d2k9dzUuZjYoNDEyKTt4aT13NS5mNig0NDcpO09pPXc1Llo2KDQwNCk7Q2k9dzUuZjYoNTIpO0VpPXc1Llo2KDY4KTtQaT13NS5mNigzNSk7VGk9dzUuZjYoNTYpO0FpPXc1LmY2KDEwMyk7Rmk9dzUuWjYoMzc5KTtTaT13NS5mNig0NTEpO2ppPXc1Llo2KDQ3NSk7TGk9dzUuWjYoMjEpO3ppPXc1LmY2KDE3MSk7Qmk9dzUuZjYoMTMxKTtJaT13NS5mNig0ODgpO01pPXc1LmY2KDE4MCk7V2k9dzUuWjYoNDQ1KTtEaT0vYnV0dG9ufGlucHV0L2k7VWk9dzUuWjYoMTM0KTtSaT13NS5mNigyMjgpO05pPXc1LmY2KDc4KTtIaT13NS5aNig1NCk7cWk9dzUuWjYoMTY3KTtKaT13NS5mNig0NjUpO1ZpPXc1Llo2KDMzNSk7JGk9dzUuZjYoMTY5KTtRaT13NS5mNigzNjgpO0dpPXc1LmY2KDI4Nyk7WWk9dzUuWjYoMzQ4KTtLaT13NS5mNigzMDEpO1ppPXc1LmY2KDQ0KTtYaT13NS5mNigyNjQpO3RuPXc1LmY2KDc3KTtlbj13NS5mNig0NjApO25uPXc1LmY2KDMzNyk7cm49dzUuWjYoMTU3KTtvbj13NS5aNigzMjUpO3NuPXc1LmY2KDIzNyk7YW49dzUuZjYoNDg2KTtjbj13NS5mNigxNTUpO3VuPXc1Llo2KDEwNCk7aG49dzUuWjYoMzU2KTtmbj13NS5aNig0OCk7cG49dzUuZjYoMjQyKTtfbj13NS5mNig0MDApO2xuPXc1Llo2KDI2NSk7ZG49dzUuZjYoMjg0KTt2bj13NS5aNigyODgpO2JuPXc1LmY2KDQzOSk7bW49dzUuWjYoMzQxKTtnbj13NS5aNigyMDMpO3luPXc1LmY2KDIxNyk7a249dzUuWjYoMzIxKTt3bj13NS5mNig0MzIpO3huPXc1LmY2KDIyKTtPbj02NDc9PSg0OTguMjUsMjAwKT8oMS42OWUrMyw0NjkpOnc1LmY2KDk2KTtDbj13NS5mNigzODMpO0VuPXc1LmY2KDM1OSk7UG49dzUuWjYoMzUwKTtUbj0vXk9wZXJhXC8uKj9QcmVzdG9cLy4qP1ZlcnNpb25cLyhbXGRcLl0rKS9pO0FuPXc1Llo2KDE5MSk7Rm49dzUuZjYoNDQ4KTtTbj13NS5mNigyNDQpO2puPXc1Llo2KDIzMSk7TG49dzUuZjYoMTIwKTt6bj13NS5mNig0NTApO0JuPXc1Llo2KDExOCk7SW49dzUuZjYoNik7TW49dzUuWjYoNzUpO1duPXc1LmY2KDEyMyk7RG49dzUuWjYoMzA0KTtVbj0vcmVzZXR8YnV0dG9ufHN1Ym1pdC9pO1JuPXc1LmY2KDQ4NCk7Tm49dzUuZjYoMTk2KTtIbj13NS5mNigyMjYpO3FuPXc1LmY2KDM1Myk7Sm49dzUuWjYoMTgpO1ZuPXc1LmY2KDE2OCk7JG49dzUuZjYoMzE0KTtRbj13NS5aNig0NzEpO0duPXc1LmY2KDQ1OSk7WW49dzUuZjYoMzE3KTtLbj13NS5mNigyNDkpO1puPS9WZXJzaW9uXC8oW1xkXC5dKylccysobW9iaWxlXC9bXlxzXStccyspP1NhZmFyaS9pO1huPXc1LmY2KDE0NSk7dHI9dzUuWjYoMjQwKTtlcj13NS5mNigxOSk7aXI9dzUuWjYoNDg5KTtucj13NS5aNigyNzYpO3JyPXc1LmY2KDQ4Mik7b3I9dzUuZjYoNDY2KTtzcj13NS5aNigyNzApO2FyPXc1Llo2KDE0Nyk7Y3I9dzUuZjYoMjQpO3VyPXc1LmY2KDgzKTtocj13NS5aNigyNzkpO2ZyPXc1Llo2KDQzKTtwcj13NS5mNig0MjApO19yPXc1LmY2KDQ2Mik7bHI9L2Nocm9tZXxjcmlvcy87ZHI9dzUuWjYoNDExKTt2cj0vIy4qJC87YnI9dzUuZjYoMTU5KTttcj13NS5aNigwKTtncj0vKGNvbXBhdGlibGV8d2Via2l0KS87eXI9L0Z4aU9TXC8oW1xkXC5dKykvaTtrcj13NS5mNig1OSk7d3I9dzUuWjYoMzgpO3hyPXc1LmY2KDE5OCk7T3I9dzUuZjYoMTApO0NyPXc1LmY2KDQ2NCk7RXI9dzUuWjYoMTE2KTtQcj13NS5mNigzNjkpO1RyPXc1LmY2KDEyMSk7QXI9L21zaWV8dHJpZGVudFwvLztGcj13NS5mNigyNTYpO1NyPXc1LmY2KDQ3MCk7anI9dzUuZjYoMjkzKTtMcj13NS5mNig4Nyk7enI9L2Nocm9tZXxvcGVyYXxlZGdlfGNyaW9zfG9waW9zfGZ4aW9zfHVjL2k7QnI9dzUuWjYoMjUyKTtJcj13NS5aNigxMDgpO01yPXc1LmY2KDkxKTtXcj13NS5mNigyKTtEcj13NS5mNigyNjgpO1VyPXc1Llo2KDI3OCk7UnI9dzUuWjYoMzI2KTtOcj13NS5mNig5KTtIcj13NS5mNigxMzIpO3FyPXc1Llo2KDMyNCk7SnI9LyhhbmRyb2lkfGJiXGQrfG1lZWdvKS4rbW9iaWxlfGF2YW50Z298YmFkYVwvfGJsYWNrYmVycnl8YmxhemVyfGNvbXBhbHxlbGFpbmV8ZmVubmVjfGhpcHRvcHxpZW1vYmlsZXxpcChob25lfG9kKXxpcGFkfGlyaXN8a2luZGxlfEFuZHJvaWR8U2lsa3xsZ2UgfG1hZW1vfG1pZHB8bW1wfG5ldGZyb250fG9wZXJhIG0ob2J8aW4paXxwYWxtKCBvcyk/fHBob25lfHAoaXhpfHJlKVwvfHBsdWNrZXJ8cG9ja2V0fHBzcHxzZXJpZXMoNHw2KTB8c3ltYmlhbnx0cmVvfHVwXC4oYnJvd3NlcnxsaW5rKXx2b2RhZm9uZXx3YXB8d2luZG93cyAoY2V8cGhvbmUpfHhkYXx4aWluby9pO1ZyPSgyNDk2LDg0OTUpIT05NzY/dzUuZjYoMjk3KTohITA7JHI9dzUuWjYoNDI2KTtRcj13NS5mNigyMjUpO0dyPXc1LmY2KDE4OCk7WXI9dzUuZjYoNDMxKTtLcj13NS5mNigyNTApO1pyPXc1Llo2KDI2MSk7WHI9dzUuZjYoMTc2KTt0bz13NS5mNigyNSk7ZW89dzUuWjYoMTk1KTtpbz13NS5mNigzMjgpO25vPXc1Llo2KDQwOSk7cm89dzUuZjYoMzQ5KTtvbz13NS5aNigzMjIpO3NvPXc1Llo2KDMxNik7YW89dzUuWjYoMzg1KTtjbz13NS5mNigxMTMpO3VvPXc1LmY2KDQ3NCk7aG89dzUuWjYoMjY3KTtmbz13NS5mNigyNjYpO3BvPXc1Llo2KDQwNyk7X289dzUuWjYoNjMpO2xvPXc1Llo2KDM2Nyk7dm89L3dlYmtpdC87Ym89dzUuWjYoNDUyKTttbz0vc2FmYXJpLztnbz13NS5aNig5Myk7eW89L29wZXJhfG9wcnxvcGlvc1wvLztrbz13NS5aNigzMzEpO3dvPXc1LmY2KDI2KTt4bz13NS5aNigxODIpO09vPXc1LmY2KDM4MCk7Q289dzUuWjYoMTEwKTtFbz13NS5mNigxMTIpO1BvPXc1LmY2KDMwNSk7VG89dzUuZjYoNzQpO0FvPXc1LmY2KDEwMik7Rm89dzUuZjYoNDc4KTtTbz0vYW5kcm9pZC87am89dzUuZjYoMzkxKTtMbz13NS5aNigzMDYpO3pvPXc1LmY2KDQwNSk7Qm89dzUuWjYoOTkpO0lvPXc1Llo2KDM5Nik7TW89dzUuWjYoNDQwKTtXbz13NS5mNig2Nyk7RG89dzUuWjYoNDAxKTtVbz13NS5aNigxNTQpO1JvPXc1LmY2KDI4OSk7Tm89dzUuWjYoMzkzKTtIbz13NS5mNig3OSk7cW89dzUuWjYoMTQwKTtKbz13NS5aNigzNzIpO1ZvPXc1Llo2KDQyMik7JG89dzUuZjYoNDQ5KTtRbz13NS5aNigzOTUpO0dvPXc1Llo2KDIwNik7WW89dzUuWjYoMjQzKTtLbz13NS5mNig2Mik7Wm89dzUuWjYoNDg1KTtYbz13NS5mNigxMzApO3RzPXc1Llo2KDE1Nik7ZXM9dzUuZjYoMjAxKTtpcz13NS5aNigzNjEpO25zPXc1LmY2KDMxNSk7cnM9dzUuWjYoMTIyKTtvcz13NS5mNig3MCk7c3M9dzUuZjYoMjU3KTthcz13NS5aNig0MjUpO2NzPXc1LmY2KDMzMCk7dXM9dzUuZjYoNzMpO2hzPXc1LmY2KDMwMyk7ZnM9dzUuWjYoMTAwKTtwcz13NS5mNigzNzQpO19zPXc1Llo2KDY2KTtscz0oODI2LjA2LDk5Ny4yKSE9PSgyNjIuNzksNzAwLjQpP3c1LmY2KDE3OSk6KG81LHc1Llo2KDM2KSk7ZHM9dzUuWjYoMjIzKTt2cz13NS5mNigxMTkpO2JzPXc1Llo2KDMwOCk7bXM9dzUuZjYoNDcpO2dzPXc1Llo2KDMxOSk7eXM9dzUuZjYoMTgxKTtrcz13NS5mNigzNDUpO3dzPXc1Llo2KDE1KTt4cz0vXigjfGphdmFzY3JpcHQpL2k7T3M9dzUuWjYoMzY2KTtDcz13NS5aNigxOTkpO0VzPXc1Llo2KDM4NCk7UHM9dzUuZjYoNDA2KTtUcz13NS5mNig0MjkpO0FzPXc1LmY2KDI0Nyk7RnM9dzUuZjYoNDQzKTtTcz13NS5mNigzMzgpO2pzPS8oPzpGaXJlZm94fENocm9tZSlcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0xzPXc1Llo2KDM3MCk7enM9dzUuZjYoMzEwKTtCcz13NS5aNigzODYpO0lzPXc1Llo2KDI5NCk7TXM9dzUuWjYoMjgzKTtXcz13NS5aNigzODcpO0RzPXc1LmY2KDM5KTtVcz13NS5aNigxMDYpO1JzPXc1LmY2KDIwMik7TnM9dzUuWjYoMzExKTtIcz13NS5mNig0MzgpO3FzPXc1LmY2KDcxKTtKcz13NS5mNigxMzcpO1ZzPXc1Llo2KDI3KTskcz13NS5aNig4NCk7UXM9L18vZztHcz13NS5aNigxNTgpO1lzPXc1Llo2KDE5Mik7S3M9dzUuZjYoNDIzKTtacz13NS5mNigzMzkpO1hzPXc1Llo2KDE1MCk7dGE9dzUuWjYoMTQyKTtlYT13NS5mNig0KTtpYT13NS5aNig0MTApO25hPXc1LmY2KDIzNik7cmE9dzUuZjYoNDAyKTtvYT13NS5mNigyMTQpO3NhPXc1Llo2KDQxNyk7YWE9dzUuZjYoMTg0KTtjYT13NS5aNigxOTcpO3VhPXc1LmY2KDIzMyk7aGE9dzUuZjYoMzApO2ZhPS9saW51eC87cGE9dzUuWjYoMjgyKTtfYT0vb3BlcmEvO2xhPXc1Llo2KDM2NCk7ZGE9dzUuWjYoMTczKTt2YT13NS5aNigzMDApO2JhPXc1LmY2KDIzNSk7bWE9L2VkZ2V8b3ByXC8vO2dhPXc1LmY2KDI4NSk7eWE9dzUuZjYoNDYpO2thPXc1Llo2KDEzKTt3YT13NS5aNigyMDUpO3hhPXc1LmY2KDIyNCk7T2E9dzUuZjYoMzQ0KTtDYT13NS5aNigyMTMpO0VhPS9FZGdlXC8oW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTtQYT13NS5mNigxMjYpO1RhPXc1Llo2KDExNCk7QWE9L14oPzouKlteXHddKSooW1x3XSspXHMqJC9pO0ZhPXc1LmY2KDM5Mik7U2E9dzUuWjYoNjkpO2phPXc1LmY2KDMpO0xhPXc1LmY2KDQ1KTt6YT13NS5mNigzMjMpO0JhPXc1LmY2KDEzOSk7SWE9dzUuWjYoMTI5KTtNYT13NS5mNig4KTtXYT13NS5mNig0Mik7RGE9dzUuZjYoMSk7VWE9dzUuWjYoODkpO1JhPXc1LmY2KDIwOSk7TmE9dzUuZjYoMjgpO0hhPXc1LmY2KDIxOSk7cWE9dzUuWjYoMjMwKTtKYT13NS5aNig4MSk7VmE9dzUuWjYoMzA5KTskYT13NS5mNigzNDcpO1FhPXc1LmY2KDM4MSk7R2E9dzUuWjYoOTIpO1lhPXc1LmY2KDEyNSk7S2E9dzUuWjYoMzIpO1phPXc1LmY2KDM5MCk7WGE9dzUuZjYoNDY4KTt0Yz13NS5mNigzNik7ZWM9dzUuZjYoMzk3KTtpYz13NS5aNig0ODApO25jPXc1LmY2KDIyMik7cmM9dzUuZjYoNDU3KTtvYz13NS5aNigzNTIpO3NjPXc1Llo2KDI5KTthYz0vaShQaG9uZXxQYWR8UG9kKS9pO2NjPXc1LmY2KDQzNCk7dWM9dzUuZjYoNDIxKTtoYz13NS5aNig0NzMpO2ZjPXc1LmY2KDE3MCk7cGM9dzUuZjYoMjYyKTtfYz13NS5aNigxNTEpO2xjPXc1LmY2KDQ5KTtkYz13NS5mNigyNTQpO3ZjPXc1LmY2KDQyOCk7YmM9dzUuZjYoMTUzKTttYz13NS5aNigyNjkpO2djPXc1Llo2KDU3KTt5Yz13NS5mNigzNTcpO2tjPS9UcmlkZW50XC8uKj9ydjooW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTt3Yz13NS5aNig0NTMpO3hjPXc1Llo2KDQ3Nik7T2M9dzUuZjYoNDU0KTtDYz13NS5mNig0NTgpO0VjPXc1LmY2KDgwKTtQYz0vOlxkKyQvO1RjPXc1Llo2KDI3Mik7QWM9dzUuWjYoMzI3KTtGYz13NS5mNig0NzkpO1NjPXc1Llo2KDYxKTtqYz13NS5mNigyOTEpO0xjPXc1Llo2KDIzMik7emM9dzUuWjYoMTEpO0JjPXc1LmY2KDM0Nik7SWM9dzUuWjYoMTA1KTtNYz13NS5aNig0NzcpO1djPXc1Llo2KDQwKTtEYz13NS5aNig3Nik7VWM9dzUuWjYoMTYpO1JjPXc1Llo2KDIyNyk7TmM9dzUuWjYoMjA0KTtIYz13NS5mNigzNyk7IWZ1bmN0aW9uKHQseSxSdCxYZSxyaSx5aSxBaSxObixkcixVcixpbyxybyxDbyxHcyx6YyxVYyxxYyxKYyxWYywkYyl7InVzZSBzdHJpY3QiO3ZhciBRYyxHYyxZYyxLYyxaYyxYYyx0dSxldSxpdSxudSxydSxvdSxzdSxhdSxjdSx1dSxodSxmdSxwdSxfdSxsdSxkdSx2dSxidSxtdSxndSx5dSxrdSx3dSx4dSxPdSxDdSxFdSxQdSxUdSxBdSxGdTtydT10O3c1Llk0KDApO291PXc1LmM0KHVpLEdyLGJyLF9yLFllLFNpLFR0LGRuLFllLHUsbWksT3QsR3IsWWUsdXIpO3c1Llk0KDEpO3N1PXc1LnU0KGZlLFR0LEh0LG90LFR0KTt3NS5vNCgxKTthdT13NS51NChXaSxQZSxLLF9jLFBlKTt3NS5ZNCgyKTtjdT13NS5jNChydSxnaSk7dzUubzQoMik7dXU9dzUudTQocnUsWm8pO3c1Lm80KDMpO2h1PXc1LmM0KE9jLHJ1LEJpLFV0LEdyLEdyKTt3NS5vNCgyKTtmdT13NS51NChydSwkYSk7cHU9YW87X3U9eGk7bHU9THI7ZHU9bW47dnU9eVtmXVtxbytHcitDXVtYcytHcit0cytHcituY10oKTtidT17dW5kZXI6bzUsbmV3VGFiOm81fTttdT1udWxsO2d1PW81O3l1PSF7fTtrdT1mdW5jdGlvbigpe307dzUuWTQoNCk7d3U9dzUudTQoR3IsT3QsRXQpO3h1PXJpW3ZzK0dyK0FvXXx8e3NyYzpudWxsfTt3NS5vNCg0KTtPdT15W2ZdW3c1LmM0KGVvLEdyLGtyKV07Q3U9eXU7RXU9eXU7UHU9eXU7VHU9ZnVuY3Rpb24oKXt2YXIgRTksbzksdzk7dHJ5e0U5PTM2MDIzMDM0MztvOT01MDA4ODEwMDM7dzk9Mjtmb3IodmFyIGI1PTE7dzUuTDEoYjUudG9TdHJpbmcoKSxiNS50b1N0cmluZygpLmxlbmd0aCw1ODI0MykhPT1FOTtiNSsrKXtyZXR1cm4geVtwXT09PXlbcXJdfHwheVtwXVttcl1bRWldWyhYcy1HciklaF0oKSE9VGM/eVtwXTp5W3FyXTt3OSs9Mjt9aWYodzUuTDEodzkudG9TdHJpbmcoKSx3OS50b1N0cmluZygpLmxlbmd0aCw1MTUyOSkhPT1vOSl7cmV0dXJuIHlbcF0hPT15W3FyXSYmdHlwZW9mIHlbcF1bbXJdW0VpXVtYcytHcitoXSgpPT09VGM/eVtwXTp5W3FyXTt9fWNhdGNoKHQpe3ZhciBBOSxJOSxLOTtBOT0yMjIyMDY4MDc7STk9NDU1MTUwMTA4O0s5PTI7Zm9yKHZhciBROT0xO3c1LkwxKFE5LnRvU3RyaW5nKCksUTkudG9TdHJpbmcoKS5sZW5ndGgsNjg5NDApIT09QTk7UTkrKyl7cmV0dXJuIFB1PWd1LHlbcXJdO0s5Kz0yO31pZih3NS5MMShLOS50b1N0cmluZygpLEs5LnRvU3RyaW5nKCkubGVuZ3RoLDU2NzU3KSE9PUk5KXtyZXR1cm4gUHU9Z3UseVtxcl07fX19KCk7QXU9VHVbSmFdW1FhXTtGdT1mdW5jdGlvbigpe3ZhciB0O3RyeXt0PVR1W0VpXVt1bl07fWNhdGNoKHQpe31yZXR1cm4hUHUmJnR8fChidT17bmV3VGFiOmd1LHVuZGVyOnl1fSx0PXJpW2lhXSksdDt9KCk7S2M9e3Q6W10sbjpmdW5jdGlvbih0KXt2YXIgSDcsdjcsVDc7SDc9MTg2NDAwNjYwNDt2Nz03MzE4NDIzNTE7VDc9Mjtmb3IodmFyIG83PTE7dzUuZDEobzcudG9TdHJpbmcoKSxvNy50b1N0cmluZygpLmxlbmd0aCw5MTY5NikhPT1INztvNysrKXt0eXBlb2YgeVt3c10hPT1nZSYmeVt3c11bT29dJiZObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO1Q3Kz0yO31pZih3NS5kMShUNy50b1N0cmluZygpLFQ3LnRvU3RyaW5nKCkubGVuZ3RoLDI0OTc5KSE9PXY3KXt+eVt3c109PT1nZXx8eVt3c11bT29dfHxObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO319LHI6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9MDt0PHRoaXMudFtwaV07dCsrKXt0aGlzLm4odGhpcy50W3RdKTt9fSxlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9W3RdW0tuXShBaVtYdF1bcW5dW0NpXShhcmd1bWVudHMsMSkpO3RoaXMudFtNcl0oZSk7R2MuaSgpJiZ0aGlzLm4oZSk7fX07ZXU9e3M6ZnVuY3Rpb24oKXtpZih0aGlzLm89PT1tdSl0cnl7eVthcytHcit0aV1bbGkrR3IrRXJdKHJ1LDEpO3lbYXMrR3IrdGldW3huK0dyK0VyXShydSk7dGhpcy5vPWd1O31jYXRjaCh0KXt2YXIgdzcscDcsYjk7dzc9LTE2MTA5ODQyMzA7cDc9OTg2NDU4NDQ2O2I5PTI7Zm9yKHZhciBtOT0xO3c1LmQxKG05LnRvU3RyaW5nKCksbTkudG9TdHJpbmcoKS5sZW5ndGgsODg3MTMpIT09dzc7bTkrKyl7dGhpcy5vPXl1O2I5Kz0yO31pZih3NS5MMShiOS50b1N0cmluZygpLGI5LnRvU3RyaW5nKCkubGVuZ3RoLDMzNDE0KSE9PXA3KXt0aGlzLm89eXU7fXRoaXMubz15dTt9cmV0dXJuIHRoaXMubzt9LHU6ZnVuY3Rpb24odCl7dGhpcy5zKCk/eVthcytHcit0aV1beG4rR3IrRXJdKHQpOnR1LnUodCk7fSxjOmZ1bmN0aW9uKHQpe3RyeXtyZXR1cm4gdGhpcy5zKCk/eVthcytHcit0aV1bYWErR3IrRXJdKHQpOnR1LmModCk7fWNhdGNoKHQpe3JldHVybiBtdTt9fSxvOm11LGE6ZnVuY3Rpb24odCxlKXt0aGlzLnMoKT95W2FzK0dyK3RpXVtsaStHcitFcl0odCxlKTp0dS5hKHQsZSk7fX07dHU9e3U6ZnVuY3Rpb24odCl7dGhpcy5hKHQsMCxuZXcgSmMoMCkpO30sYzpmdW5jdGlvbih0KXt2YXIgZTt3NS5ZNCg1KTtlPXJpW050XVtiY10obmV3IFVyKHc1LnU0KGVyLEdyLEdyLGV0LHNjLHQsR3IsR3IsdHQsdWMsR3IsR3IsSm8sR3IpLGxzKSk7cmV0dXJuIGU/VmMoZVswXVtDcl0oR3IrZXQrR3IpWzFdKTptdTt9LGE6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO3M9aXx8R3I7cyYmKHR5cGVvZiBzPT09V3Q/KG89bmV3IEpjKCkpW2xpK0dyK0hdKG9bYWErR3IrSF0oKSsxZTMqcyk6bz1zLHM9R3IrZXIrZmkrZXQrR3Irb1tYcytHcitWcitHcit4YytHcitXK0dyK2hdKCkpO3JpW050XT10KyhHcitldCtHcikrJGMoR3IrZSkrcysocj9HcitlcitkcytldCtHcityOkdyKSsoR3IrZXIrQXQrZXQrR3IpKyhufHxHcitQZStHcik7fX07WmM9e3A6ZnVuY3Rpb24odCl7dmFyIGUsaTtpPXt9O2ZvcihlPTA7ZTx0W3BpXTtlKyspe2lbdFtlXVswXV09dFtlXVsxXTt9cmV0dXJuIGk7fSxXOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbjt0cnl7cmV0dXJuIG49dFthYStHcitHaV0oZSksdHlwZW9mIGkhPT1UYz95dTohIW5ldyBVcihGbitpK01zLGxzKVtqY10obik7fWNhdGNoKHQpe3JldHVybiB5dTt9fSxBOmZ1bmN0aW9uKCl7dHJ5e3JldHVybiB0eXBlb2YgeS5qUXVlcnkuZm4ub249PT1aczt9Y2F0Y2godCl7cmV0dXJuIHl1O319LEc6ZnVuY3Rpb24odCl7cmV0dXJuKHQ/bmV3IEpjKHQpOm5ldyBKYygpKVthYStHcitIXSgpO30sTTpmdW5jdGlvbih0KXt2YXIgbTAsQTAsSTAsZSxsNyxjNyxWNzttMD0tMTc4MjYxMjU4MTtBMD0tMTYzMzI0MDE2NDtJMD0yO2Zvcih2YXIgcjA9MTt3NS5MMShyMC50b1N0cmluZygpLHIwLnRvU3RyaW5nKCkubGVuZ3RoLDM0ODU4KSE9PW0wO3IwKyspe0kwKz0yO31pZih3NS5MMShJMC50b1N0cmluZygpLEkwLnRvU3RyaW5nKCkubGVuZ3RoLDg0OTA2KSE9PUEwKXt9dHJ5e2w3PS0xMjU4NTI0ODY5O2M3PTc3MTI1MDQ2ODtWNz0yO2Zvcih2YXIgeTc9MTt3NS5kMSh5Ny50b1N0cmluZygpLHk3LnRvU3RyaW5nKCkubGVuZ3RoLDEwMjkyKSE9PWw3O3k3KyspeyhlPXRbSmFdW1FhXShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7VjcrPTI7fWlmKHc1LmQxKFY3LnRvU3RyaW5nKCksVjcudG9TdHJpbmcoKS5sZW5ndGgsMjYwMTcpIT09YzcpeyhlPXRbSmFdW1FhXSgoVWEtVnQpL2NpKSlbYm9dKCk7ZVtJb10oKTt9fWNhdGNoKHQpe30oZT1BdShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7fSxUOmZ1bmN0aW9uKHQpe3QmJihUdVtFaV09dCk7fSxxOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxpPVt5cixUbixFYSxCZSxqcyxabixqdCxrYyx3ZV0sbj0wO248aVtwaV07bisrKWlmKGU9aVtuXVtqY10odnUpKXtyZXR1cm4gdD9VYyhlWzFdLDEwKTplWzFdW1pdKFFzLEdyK1R0K0dyKTt9cmV0dXJuIG11O30sTDpmdW5jdGlvbih0LGUpe3c1Llk0KDcpO3JldHVybiB3NS51NChZZSxlcixHcix0LGllLHlzLEdyLGUsR3IsVmUsVnQsR3IpO30sXzpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUTAsZTAsajA7UTA9LTE2NDA5MDY2NDA7ZTA9MzYxNTQ4MTI4O2owPTI7Zm9yKHZhciB0MD0xO3c1LmQxKHQwLnRvU3RyaW5nKCksdDAudG9TdHJpbmcoKS5sZW5ndGgsMzk3NjcpIT09UTA7dDArKyl7aT15O3c1Llk0KDQpO249dFtDcl0odzUudTQoR3IsVHQsR3IpKTtmb3IoZT0wO2U8bltwaV07ZSsrKXtpPWlbbltlXV07fXJldHVybiBpO2owKz0yO31pZih3NS5MMShqMC50b1N0cmluZygpLGowLnRvU3RyaW5nKCkubGVuZ3RoLDQ3NjE4KSE9PWUwKXtpPXk7dzUuWTQoNik7bj10W0NyXSh3NS51NChUdCxHcixHcikpO2ZvcihlPTQ7ZTw9bltwaV07ZS0tKXtpPWlbbltlXV07fXJldHVybiBpO319LFM6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbyxzMCxEMCxXMCxVMCx4MCx6MDtvPXkualF1ZXJ5fHxudWxsO2lmKHQmJnRbQW5dKXtyZXR1cm4gZ3U7fWlmKCFvKXtyZXR1cm4geXU7fXRyeXtzMD0tMTYxNTA0NTA7RDA9LTE5OTUwMzAzNTQ7VzA9Mjtmb3IodmFyIGMwPTE7dzUuZDEoYzAudG9TdHJpbmcoKSxjMC50b1N0cmluZygpLmxlbmd0aCw5Nzc5KSE9PXMwO2MwKyspe2lmKChlPShvKHQpW2llXShHYSkmJm8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9VzArPTI7fWlmKHc1LkwxKFcwLnRvU3RyaW5nKCksVzAudG9TdHJpbmcoKS5sZW5ndGgsMjI1MTYpIT09RDApe2lmKChlPShvKHQpW2llXShHYSl8fG8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9fX1jYXRjaCh0KXt9dHJ5e1UwPS0xMjgxMDM4MTgyO3gwPS01MjI2MTY2MzI7ejA9Mjtmb3IodmFyIGkwPTE7dzUuTDEoaTAudG9TdHJpbmcoKSxpMC50b1N0cmluZygpLmxlbmd0aCwzMjg1OSkhPT1VMDtpMCsrKXtmb3IoZT1vKHJpW1FyXSlbaWVdKEdhKVtnc10saT00O2k+ZVtwaV07aS0tKWZvcihyPW8oZVtpXVtvZV0pLG49NztuPj1yW3BpXTtuLS0paWYocltuXT09dCl7cmV0dXJuIGd1O316MCs9Mjt9aWYodzUuTDEoejAudG9TdHJpbmcoKSx6MC50b1N0cmluZygpLmxlbmd0aCw4ODE3MikhPT14MCl7Zm9yKGU9byhyaVtRcl0pW2llXShHYSlbZ3NdLGk9NDtpPmVbcGldO2ktLSlmb3Iocj1vKGVbaV1bb2VdKSxuPTc7bj49cltwaV07bi0tKWlmKHJbbl09PXQpe3JldHVybiBndTt9fWZvcihlPW8ocmlbUXJdKVtpZV0oR2EpW2dzXSxpPTA7aTxlW3BpXTtpKyspZm9yKHI9byhlW2ldW29lXSksbj0wO248cltwaV07bisrKWlmKHJbbl09PT10KXtyZXR1cm4gZ3U7fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sQzpmdW5jdGlvbih0LGUsaSl7dmFyIG4scixvO289WmMuTyhvNSk7cmV0dXJuIG49b1t0bytHcit5YV1bbXJdW1VzK0dyK0NuXShkZSksbltPXT1yYStQZStDdCxuW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoSmErVHQrX3QrWWUrR3IrZXQrR3IrWWUrSmErVHQrcCtZZStHcitldCtHcitZZStKYStUdCt1cytHcitDbitZZStHcitldCtHcitZZStkK2VyK0dyKSsoSmErVHQrJG4rWWUrR3IrZXQrR3IrWWUrWnMrUit6K1ZlK0dyK1llK3NvK1ZlK0dyK1llK0NlK1ArR3IrWWUrR3Ird24rR3IpKyh1YStZZStCcytHcitYbytZZStHcitldCtHcitZZStKYStUdCtRYStSK3orVmUrR3IrWWUrc28rVmUrR3IrWWUrQ2UrUCtHcitlcitHcikrKFdyK1llK0dyK3duK0JzK0dyK1hvK1R0K1dvK1llK0dyK2V0K0dyK1llK2QrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSsoTnIrWWUrQnMrR3IrWG8rZXIrR3IpKyhHcitEcitHcitlcitHciksb1t0bytHcit5YV1bbXJdW1FyXVtJdCtHcitXZV0obikscj1vW3RvK0dyK3lhXS5ta3AodCxlLGkpLFpjLlAobykscjt9LEI6ZnVuY3Rpb24odCxlLG4pe3ZhciByLG8scztyPTA7bz1ufHwxMDtzPXQ7dHJ5e2Zvcig7cyYmcisrPG87KXtpZih0eXBlb2YgZT09PVRjJiYoc1tTYytHcittY109PT1lfHxaYy5JKHMsZSkpfHx0eXBlb2YgZT09PWFyJiZzPT09ZSl7cmV0dXJuIHM7fXc1Llk0KDQpO3M9c1t3NS51NChfdCxHcixpKV07fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sRjpmdW5jdGlvbih0KXt2YXIgZTtlPVJ0W1RlXTtyZXR1cm4gdHlwZW9mIHQhPT1nZSYmKGU9KGN0W2pjXSh0KXx8W0dyLEdyXSlbMV0pLGVbWl0oUGMsR3IpO30seDpmdW5jdGlvbih0KXtyZXR1cm4geWlbWHRdW1hzK0dyK2hdW0NpXSh0KT09PUdyK0pvK2FyK1llK2JuK3R0K0dyO30sazpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUjAsUDAsSjA7aT1bXTtuPVpjLnYoKTt0cnl7UjA9LTE2Mjc2MTY5Mzc7UDA9LTIwMDI5NzgxNzY7SjA9Mjtmb3IodmFyIEIwPTE7dzUuTDEoQjAudG9TdHJpbmcoKSxCMC50b1N0cmluZygpLmxlbmd0aCw3NjkxMCkhPT1SMDtCMCsrKXtmb3IoZSBpbiBuKXt+dFtlXSE9Z2V8fGlbTXJdKGUvKChHci1ldCklR3IpLXRbZV0pO31KMCs9Mjt9aWYodzUuTDEoSjAudG9TdHJpbmcoKSxKMC50b1N0cmluZygpLmxlbmd0aCw4NjExMCkhPT1QMCl7Zm9yKGUgaW4gbil7fnRbZV0hPWdlfHxpW01yXShlLygoR3ItZXQpJUdyKS10W2VdKTt9fWZvcihlIGluIG4pe3R5cGVvZiB0W2VdIT09Z2UmJmlbTXJdKGUrKEdyK2V0K0dyKSt0W2VdKTt9fWNhdGNoKHQpe0tjLmUodCk7fXc1Llk0KDQpO3JldHVybiBpW05pXSh3NS5jNChHcixWZSxHcikpO30sUjpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5CKHQsT24pO30seTpmdW5jdGlvbigpe2Zvcih2YXIgdCxlPXt9LGk9MDtpPGFyZ3VtZW50c1twaV07aSsrKWZvcih0IGluIGFyZ3VtZW50c1tpXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0oYXJndW1lbnRzW2ldLHQpJiYoZVt0XT1hcmd1bWVudHNbaV1bdF0pO31yZXR1cm4gZTt9LFY6ZnVuY3Rpb24odCxlKXt2YXIgSjEsWDEsQjE7SjE9NDUyODczNzI5O1gxPTEyNzMxMDM4NTg7QjE9Mjtmb3IodmFyIE4xPTE7dzUuZDEoTjEudG9TdHJpbmcoKSxOMS50b1N0cmluZygpLmxlbmd0aCw1NTI1MSkhPT1KMTtOMSsrKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpKihlLXQpKSt0O0IxKz0yO31pZih3NS5kMShCMS50b1N0cmluZygpLEIxLnRvU3RyaW5nKCkubGVuZ3RoLDI4MzUxKSE9PVgxKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpJShlL3QpKSV0O319LFE6ZnVuY3Rpb24odCl7dmFyIGUsaSxuO3c1Llk0KDgpO2U9dzUuYzQodHlwZW9mIHQsYXIpO2k9dDt3NS5vNCg0KTtuPXJpW1VzK0dyK0NhXSh3NS51NChTbixHcix1bykpO25bTHMrR3IrU24rR3IrQ2FdKGdzLGd1LGd1LHksMCwwLDAsMCwwLGd1LHl1LHl1LGd1LDAsbXUpO2V8fChpPVpjLnooVSx7aHJlZjp0fHxpZStWdCtyYStQZStqbytWZStHcit1aStkZSt1citKYStUdCtJbytSK0dyK1ArR3IrZXIrR3IrdWkrR3IrUGUrZGUrdXIrR3J9KSxyaVtRcl1bSXQrR3IrV2VdKGkpKTtpW2duK0dyK0NhXShuKTtlfHxaYy5QKGkpO30sejpmdW5jdGlvbih0LGUsaSl7dmFyIG4scjtyPXJpW1VzK0dyK0NuXSh0KTtmb3IobiBpbiBlKXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShlLG4pJiZyW2xpK0dyK0dpXShuLGVbbl0pO31yZXR1cm4gaSYmKHJbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPWkpLHI7fSxZOmZ1bmN0aW9uKCl7dHJ5e3c1Lm80KDQpO3JldHVybiEhT3VbdzUuYzQoZW4sUGUsTWMpXVt3NS51NCgkaSxHcixXcyldO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sbDpmdW5jdGlvbih0KXt2YXIgZSxpLFk3LGY3LHM3O2U9WmMuXyh0KTt3NS5ZNCg0KTtpPXRbWl0oQWEsdzUudTQoR3Isem8scSkpO3RyeXtZNz0tMTYzMTA2MDI3MDtmNz0xOTgxNTM2MDYxO3M3PTI7Zm9yKHZhciBXNz0xO3c1LkwxKFc3LnRvU3RyaW5nKCksVzcudG9TdHJpbmcoKS5sZW5ndGgsMTYwMikhPT1ZNztXNysrKXtyZXR1cm4rbmV3IFVyKChacy9ZZS1HcikvIGkveHIsUnMpW2lyXShlW1hzJUdyL2hdKCkpO3M3Kz0yO31pZih3NS5MMShzNy50b1N0cmluZygpLHM3LnRvU3RyaW5nKCkubGVuZ3RoLDExNjM3KSE9PWY3KXtyZXR1cm4hbmV3IFVyKFpzK1llK0dyK2kreHIsUnMpW2lyXShlW1hzK0dyK2hdKCkpO319Y2F0Y2godCl7cmV0dXJuIHRbWHMrR3IraF0oKVtMK0dyK1dhXShrbytZZStycytZZStVK1llK1pzKT4tMT9ndTpYYy5kP2d1Onl1O319LHY6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbzt3NS5vNCg0KTtlPXlbdzUuYzQoUGEsR3IsZyldO3c1Llk0KDQpO2k9eVt3NS5jNChQYSxHcix3YyldO249eVtPaStHcitVZV18fHlbT2krR3IrV25dfHwwO3I9eVtPaStHcit4b118fHlbT2krR3IrQ2NdfHwwO289e307cmV0dXJuIG9bb2NdPWUsb1tLYV09aSxvW0hpXT1uLG9bcF09cixvW29yXT0wLG9bRWldPTEsb1tTcl09MSxvW09yXT0xLG8ucmVzaXphYmxlPTEsb1tNZV09MSxYYy5iJiYob1tLYV0rPVhjLm0/NDY6NTIpLFhjLmcmJihvW29jXS09NSxvW0thXS09NCksdHlwZW9mIHQ9PT1hciYmKG89WmMueShvLHQpKSxvO30sTzpmdW5jdGlvbih0KXt2YXIgZTtlPXJpW1VzK0dyK0NuXShjbik7cmV0dXJuIGVbeGVdW3h0XT1YaSx0JiZyaVtRcl1bSXQrR3IrV2VdKGUpLGU7fSxEOmZ1bmN0aW9uKHQpe3JldHVybiB0W1NjK0dyK21jXT09PUZjK0dyK1ZyK0dyK3hjK0dyK3hjK0dyK2ZjK0dyK2d0fHx0W1NjK0dyK21jXT09PXZhK0dyK2d0K0dyK210K0dyK1ZyK0dyK3hjJiZVbltpcl0odFthYStHcitHaV0oTykpfHx0aGlzLkIodCxGYytHcitWcitHcit4YytHcit4YytHcitmYytHcitndCkhPT15dTt9LFA6ZnVuY3Rpb24odCl7dCYmdFtfdCtHcitpXSYmdFtfdCtHcitpXVt4bitHcitXZV0odCk7fSxJOmZ1bmN0aW9uKHQsZSl7dmFyIG4scixvO2lmKHR5cGVvZiBlIT09VGMpe3JldHVybiB5dTt9aWYodHlwZW9mIHJpW2VlK0dyK3Z0K0dyK21dPT09WnMpdHJ5e3I9dFtfdCtHcitpXVtlZStHcit2dCtHcittXShlKXx8eS5qUXVlcnkoZSk7fWNhdGNoKHQpe31lbHNlIGlmKFpjLkEoKSl0cnl7cj15LmpRdWVyeShlKTt9Y2F0Y2godCl7fWlmKHIpZm9yKG89MDtvPHJbcGldO28rKylpZihyW29dPT09dCl7cmV0dXJuIGd1O31zd2l0Y2goZVswXSl7Y2FzZSBHcitUdCtHcjpuPVtsbyxlW2ZzXSgxKV07YnJlYWs7Y2FzZSBHcitzZStHcjpuPVtWYSxlW2ZzXSgxKV07fXJldHVybiBuP3RoaXMuVyh0LG5bMF0sblsxXSk6eXU7fSxmOmZ1bmN0aW9uKHQsZSl7dHJ5e3JldHVybiEoIXRba2ldW2VdfHwhdFtraV1bZV1bWW5dKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LE46ZnVuY3Rpb24odCl7dmFyIGU7ZT10aGlzLlIodCk7cmV0dXJuIGUmJmVbdW5dJiYheHNbaXJdKGVbdW5dKT9lW3VuXTp5dTt9LEo6ZnVuY3Rpb24odCxlLGksbil7Zm9yKHZhciByLG8scyxhPXRbWHMrR3IraF0oKVtDcl0obnx8R3IrVHQrR3IpLGM9ZVtYcytHcitoXSgpW0NyXShufHxHcitUdCtHciksdT0wLGY9ZHJbQm9dKGFbcGldLGNbcGldKTt1PGYmJihyPVVjKGFbdV18fDAsMTApLG89VWMoY1t1XXx8MCwxMCkscWMocikmJihyPTApLHFjKG8pJiYobz0wKSxzPXI+bz8xOi0xLHI9PT1vKTt1Kyspe3M9MDt9c3dpdGNoKGkpe2Nhc2UgR3IrdXIrR3I6dzUubzQoOCk7cmV0dXJuIHc1LnU0KDEscyk7Y2FzZSBHcit1citHcitldCtHcjp3NS5ZNCg5KTtyZXR1cm4gdzUuYzQocywxKTtjYXNlIEdyK3VpK0dyOnc1Lm80KDEwKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK3VpK0dyK2V0K0dyOnc1Llk0KDExKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK2V0K0dyK2V0K0dyOmNhc2UgR3IrZXQrR3IrZXQrR3IrZXQrR3I6ZGVmYXVsdDp3NS5ZNCg4KTtyZXR1cm4gdzUudTQoMCxzKTt9fSwkOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1wZVtDcl0oR3IpLGk9ZVtwaV0sbj0wLHI9R3I7bjx0O24rKyl7cis9ZVtkcltBY10oZHJbTW5dKCkqaSldO31yZXR1cm4gcjt9LGg6ZnVuY3Rpb24odCxlKXt0cnl7cmV0dXJuIHRbYWErR3IrR2ldKGUpO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sSDpmdW5jdGlvbih0LGUsaSl7dmFyIG47dzUubzQoMik7bj13NS5jNChoaSx0KTtyZXR1cm4gdHlwZW9mIHlbbl0hPT1nZSYmcm8oeVtuXSkseVtuXT1pbyhlLGkpO30sdzpmdW5jdGlvbigpe3JldHVybiBQdTt9LFU6ZnVuY3Rpb24odCl7cmV0dXJuIHRbU2MrR3IrbWNdPT09dmErR3IrZ3QrR3IrbXQrR3IrVnIrR3IreGMmJm5lW2lyXSh0W2FhK0dyK0dpXShPKSl8fHRbU2MrR3IrbWNdPT09cGErR3IrT24rR3IrRmMrR3IrUHMrR3IrcGE7fX07aXU9e3R0OmZ1bmN0aW9uKHQsZSl7dmFyIGkscTUsbTUsQTU7dHJ5e3E1PS0xNDE1MjczNDIzO201PS0zMzc1MDc5MjY7QTU9Mjtmb3IodmFyIEs1PTE7dzUuZDEoSzUudG9TdHJpbmcoKSxLNS50b1N0cmluZygpLmxlbmd0aCwzNzU1NSkhPT1xNTtLNSsrKXtyZXR1cm4gZXx8KGk9cmlbKHdyLUdyKSVqbipHcipMY10odFtIYyVHci9VZV0sdFtIYy9Hci14b10pKT9pOnRbVGldJiZ0W1hzLUdyLUNuXSYmdFsoWHItR3IpJUNuXTtBNSs9Mjt9aWYodzUuTDEoQTUudG9TdHJpbmcoKSxBNS50b1N0cmluZygpLmxlbmd0aCw3MjUzNikhPT1tNSl7cmV0dXJuIGUmJihpPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXSx0W0hjK0dyK3hvXSkpP2k6dFtUaV18fHRbWHMrR3IrQ25dfHx0W1hyK0dyK0NuXTt9fWNhdGNoKHQpe3JldHVybiB5dTt9fSxYOmZ1bmN0aW9uKHQsZSxpLG4pe3JldHVybiB0eXBlb2YgdFtIbitHcitDYStHcitFbl09PT1acz90W0huK0dyK0NhK0dyK0VuXShlLGksbnx8e30pOnRbRmUrR3IrQ2FdKE5vK2UsaSk7fSxLOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByO3I9ZnVuY3Rpb24oKXtpdS5aKHQsZSxyLG4pO2lbQ2ldKCk7fTtpdS5YKHQsZSxyLG4pO30sWjpmdW5jdGlvbih0LGUsaSxuKXtyZXR1cm4gdHlwZW9mIHRbeG4rR3IrQ2ErR3IrRW5dPT09WnM/dFt4bitHcitDYStHcitFbl0oZSxpLG58fHt9KTp0W0tpK0dyK0NhXShObytlLGkpO319OyEoWGM9e2l0OmZhW2lyXSh2dSksbnQ6c3RbaXJdKHZ1KSxtOmxlW2lyXSh2dSksZXQ6YWNbaXJdKHZ1KSxydDpTb1tpcl0odnUpLG90OnNpW2lyXSh2dSl8fEpyW2lyXSh2dSl8fHVlW2lyXSh2dVtmc10oMCw0KSksc3Q6dm9baXJdKHZ1KSxnOkFyW2lyXSh2dSkmJiFfYVtpcl0odnUpLGI6bHJbaXJdKHZ1KSYmIW1hW2lyXSh2dSksYXQ6bWVbaXJdKHZ1KSYmIWdyW2lyXSh2dSksY3Q6eFtpcl0odnUpLGQ6Rltpcl0odnUpLHV0OnlvW2lyXSh2dSksX3Q6bXUscHQ6WmMucShndSl8fG11LGx0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3QhPT1tdT90aGlzLl90OnRoaXMuX3Q9UWMuZHQoKSE9PXl1O30sSjpmdW5jdGlvbih0LGUpe3JldHVybiBaYy5KKFhjLmZ0LGUsdCk7fSxodDptb1tpcl0odnUpJiYhenJbaXJdKHZ1KSxmdDpaYy5xKHl1KXx8bXV9KS5ldHx8WGMuaHR8fFhjLmR8fFhjLmJ8fChYYy51dD1vNSk7KFljPWZ1bmN0aW9uKHQsZSxpKXt2YXIgbjtuPWl8fHt9O25bel09ZTt0aGlzLnZ0KG4pO3RoaXMubXQuYnR8fCh0aGlzLm10LmJ0PXJ1K3QpO3RoaXMuZ3QoKTt9KVtYdF09e2t0OntUdDpndSxDdDptdSxqdDp5dSxFdDpHcitQZStHcixGdDprdSxMdDpndSxBdDp5dSxPdDpndSx4dDptdSxQdDpudWxsLGJ0Om11LHd0Om11LFN0Omt1fSxtdDp7fSx5dDpudWxsLHp0OlpjLnYoKSxCdDpaYy5wKFtbT3IsMF1dKSxJdDpaYy5wKFtbTWUsMV1dKSxNdDpaYy5wKFtbU3IsMV1dKSxXdDpaYy5wKFtbRWksMF0sW1NyLDBdXSksRHQ6WmMucChbW01lLDBdXSksVXQ6WmMucChbW1p0LDBdXSksUnQ6WmMucChbW0VpLDBdXSksc2V0T3B0aW9uczpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy52dCh0KTt9LGd0OmZ1bmN0aW9uKCl7dmFyIHQsZSxpLG47dD1mdW5jdGlvbih0LGUpe3ZhciBpLG47bj17fTtuW3B1XT1beXUsZ3VdO25bX3VdPVt5dSx5dV07bltsdV09W2d1LGd1XTtuW2R1XT1bZ3UseXVdO2ZvcihpIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixpKSYmbltpXVswXT09PXQmJm5baV1bMV09PT1lKXtyZXR1cm4gaTt9cmV0dXJuIF91O307ZT1YYy5sdCgpO2k9dChHYy5tdC4kdC5uZXdUYWIsR2MubXQuJHQudW5kZXIpO249dCh0aGlzLm10LkF0LHRoaXMubXQuVHQpO2V8fG49PT1wdSYmKG49aSk9PT1wdSYmKG49bHUpO1hjLm90JiYobj09PV91JiYobj1kdSksbj09PXB1JiYobj1sdSkpO3RoaXMueXQ9bjt9LEh0OmZ1bmN0aW9uKCl7dmFyIGswLG4wLEYwO2lmKHR5cGVvZiB0aGlzLm10Lnh0PT09WnMpdHJ5e3JldHVybiB0aGlzLm10Lnh0W0NpXSh0aGlzLHRoaXMubXQpW1hzK0dyK2hdKCk7fWNhdGNoKHQpe3JldHVybiBLYy5lKHQpLHl1O31rMD0tMTAwMjA0NzAxMztuMD0tMTY1MTM4NjMwNztGMD0yO2Zvcih2YXIgTTA9MTt3NS5MMShNMC50b1N0cmluZygpLE0wLnRvU3RyaW5nKCkubGVuZ3RoLDY4NDExKSE9PWswO00wKyspe3JldHVybiB0aGlzLm10Lnh0O0YwKz0yO31pZih3NS5kMShGMC50b1N0cmluZygpLEYwLnRvU3RyaW5nKCkubGVuZ3RoLDkwOTM5KSE9PW4wKXtyZXR1cm4gdGhpcy5tdC54dDt9fSxMdDpmdW5jdGlvbigpe3ZhciB0LGUsRzcsQzcsazcsVjAsdTAseTA7dD10aGlzLm10O2U9dC5PdCE9PU5zJiZ0Lk90IT09TmV8fHQuT3Q9PT1OcyYmWGMub3R8fHQuT3Q9PT1OZSYmIVhjLm90O3RyeXtHNz0tMTkzODMwODU3MjtDNz0tMTE3NzY0NDk2NDtrNz0yO2Zvcih2YXIgRjc9MTt3NS5kMShGNy50b1N0cmluZygpLEY3LnRvU3RyaW5nKCkubGVuZ3RoLDg5NDI0KSE9PUc3O0Y3Kyspe3R5cGVvZiB0Lkx0PT09WnM/ZT1lJiZ0Lkx0W0NpXSh0aGlzLGUsdGhpcy5OdCgpKSE9PXl1OnR5cGVvZiB0Lkx0PT09YW4mJihlPWUmJnQuTHQpO2s3Kz0yO31pZih3NS5MMShrNy50b1N0cmluZygpLGs3LnRvU3RyaW5nKCkubGVuZ3RoLDUzNDE4KSE9PUM3KXstdC5MdCE9PVpzP2U9ZXx8dC5MdFtDaV0odGhpcyxlLHRoaXMuTnQoKSk9PT15dTohdC5MdD09YW58fChlPWV8fHQuTHQpO319Y2F0Y2godCl7S2MuZSh0KTt9VjA9Njg3MDAyMDA4O3UwPS0yOTc1OTkyODc7eTA9Mjtmb3IodmFyIHYwPTE7dzUuTDEodjAudG9TdHJpbmcoKSx2MC50b1N0cmluZygpLmxlbmd0aCw2NDU0MSkhPT1WMDt2MCsrKXtyZXR1cm4gR2MuSnQoKT9lfHwtdGhpcy5WdDplfHwrdHUuYyh0LmJ0KTt5MCs9Mjt9aWYodzUuTDEoeTAudG9TdHJpbmcoKSx5MC50b1N0cmluZygpLmxlbmd0aCwyOTMyNSkhPT11MCl7cmV0dXJuIEdjLkp0KCk/ZXx8LXRoaXMuVnQ6ZXx8K3R1LmModC5idCk7fXJldHVybiBHYy5KdCgpP2UmJiF0aGlzLlZ0OmUmJiF0dS5jKHQuYnQpO30sdnQ6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHI7dGhpcy5tdD1aYy55KHRoaXMuenQsdGhpcy5rdCx0aGlzLm10LHR8fHt9KTtmb3IoaSBpbiB0aGlzLm10KWlmKHlpW1h0XVtCYStHcitsdCtHcitvb11bQ2ldKHRoaXMubXQsaSkpc3dpdGNoKG49dGhpcy5tdFtpXSxpKXtjYXNlIHNvOnRoaXMubXQud3Q9bjticmVhaztjYXNlIHo6dGhpcy5tdC54dD1uO2JyZWFrO2Nhc2UgTGU6dGhpcy5tdC5PdD0obitHcilbWHMrR3IrdHMrR3IrbmNdKCk7YnJlYWs7Y2FzZSBOdCtHcittYzp0aGlzLm10LmJ0PW47YnJlYWs7Y2FzZSBOdCtHcitUOnRoaXMubXQuQ3Q9bjticmVhaztjYXNlIE50K0dyK2VhOnRoaXMubXQuRXQ9bjticmVhaztjYXNlIE50K0dyKyRzOnRoaXMubXQuUHQ9bjticmVhaztjYXNlIEVlOnRoaXMubXQuVHQ9bjticmVhaztjYXNlIEErR3IrTG86dGhpcy5tdC5BdD1uO2JyZWFrO2Nhc2UgcHQrR3IramU6dGhpcy5tdC5GdD1uO2JyZWFrO2Nhc2UgamErR3IramU6dGhpcy5tdC5TdD1uO2JyZWFrO2Nhc2UgSWMrR3IrY3I6dGhpcy5tdC5qdD1uO2JyZWFrO2Nhc2UgdGUrR3Irc3M6dGhpcy5tdC5MdD1uO31pZighWGMub3QmJiF0aGlzLm10LkF0KWZvcihyPVtbWGMuZyYmMTE9PT1YYy5wdCx0aGlzLlV0XSxbWGMuYiYmWGMucHQ8NDEsdGhpcy5JdF0sW1hjLmIsdGhpcy5CdF0sW1hjLmQmJlhjLnB0PDQ3LHRoaXMuTXRdLFtYYy51dCx0aGlzLkR0XSxbWGMuY3QsdGhpcy5SdF0sW1hjLmImJlhjLnB0Pj01OSx0aGlzLld0XSxbWGMudXQmJlhjLnB0Pj00Nix0aGlzLld0XV0sZT0wO2U8cltwaV07ZSsrKWlmKHJbZV1bMF0pZm9yKGkgaW4gcltlXVsxXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0ocltlXVsxXSxpKSYmKHRoaXMubXRbaV09cltlXVsxXVtpXSk7fX0sZ2V0T3B0aW9uczpmdW5jdGlvbigpe3JldHVybiB0aGlzLk50KCk7fSxOdDpmdW5jdGlvbigpe3ZhciB0LGU7ZT17fTtmb3IodCBpbiB0aGlzLm10KXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXSh0aGlzLm10LHQpJiZ0W3BpXT49MyYmKGVbdF09dGhpcy5tdFt0XSk7fXJldHVybiBlO30scXQ6ZnVuY3Rpb24oKXtHYy5KdCgpP3RoaXMuVnQ9Z3U6dHUuYSh0aGlzLm10LmJ0LDEsdGhpcy5tdC5DdCx0aGlzLm10LkV0LHRoaXMubXQuUHQpO319OyhudT1mdW5jdGlvbih0KXt2YXIgZTtlPXRoaXM7dGhpcy5RdD10O3RoaXMuR3Q9dGhpcy5ZdCgpO3RoaXMuS3Q9dGhpcy5adCgpO2l1LlgodGhpcy5HdCxncyxmdW5jdGlvbigpe0dzKGUuS3QpO1pjLlAoZS5HdCk7fSk7fSlbWHRdPXtZdDpmdW5jdGlvbigpe3ZhciB0LEs3LHI3LFE3O0s3PS0xODIwMzgxMDU7cjc9MTk5MDM1MjYxMTtRNz0yO2Zvcih2YXIgajc9MTt3NS5kMShqNy50b1N0cmluZygpLGo3LnRvU3RyaW5nKCkubGVuZ3RoLDg2ODQwKSE9PUs3O2o3Kyspe3Q9WmMueihoYyx7Y2xhc3M6ZnV9LEdyKTtyZXR1cm4gdGhpcy5RdFtTYytHcittY11bWHMrR3IrdHMrR3IrbmNdKCk9PT1Rcj9yaVtRcl1bSXQrR3IrV2VdKHQpOnRoaXMuUXRbX3QrR3IraV1bTmMrR3IrT3NdKHQsdGhpcy5RdFtWcytHcitrc10pLHQ7UTcrPTI7fWlmKHc1LkwxKFE3LnRvU3RyaW5nKCksUTcudG9TdHJpbmcoKS5sZW5ndGgsMzM0MykhPT1yNyl7dD1aYy56KGhjLHtjbGFzczpmdX0sR3IpO3JldHVybiB0aGlzLlF0W1NjKkdyL21jXVtYcypHci10cy1Hci1uY10oKT09UXI/cmlbUXJdW0l0L0dyL1dlXSh0KTp0aGlzLlF0W190L0dyJWldWyhOYy1HcikqT3NdKHQsdGhpcy5RdFsoVnMtR3IpJWtzXSksdDt9fSxadDpmdW5jdGlvbigpe3ZhciB0O3Q9dGhpcztyZXR1cm4gQ28oZnVuY3Rpb24oKXt2YXIgZSxpO2k9VWModC5RdFt4ZV1bc24rR3IrenNdLDEwKTt0LlF0W1NjK0dyK21jXVtYcytHcit0cytHcituY10oKT09PVFyJiYoaT05ZTkpOyhlPV9uK1Z0K2dvK2VyK0RhK1Z0K04rZXIrbG4rVnQraytlcitHcisoS2ErVnQrR3IpK3QuUXRbZnIrR3Ird2NdKyhobytlcitHcikrKG9jK1Z0K0dyKSt0LlF0W2ZyK0dyK2ddKyhobytlcitHcikrKEhpK1Z0K0dyKSt0LlF0W2ZyK0dyK1duXSsoaG8rZXIrR3IpKyhwK1Z0K0dyKSt0LlF0W2ZyK0dyK0NjXSsoaG8rZXIrR3IpKyhzbit3aStMK1Z0K0dyKSsocWMoaSk/MjppKzEpKSE9PXQuR3RbYWErR3IrR2ldKHhlKSYmdC5HdFtsaStHcitHaV0oeGUsZSk7fSwxNTApO319O251Llh0PWZ1bmN0aW9uKHQpe3ZhciBlO3c1Llk0KDEyKTtlPXc1LmM0KHJ1LExpLHdpLHdpLEdyLGllLEdyKTt0W2FhK0dyK0dpXShlKXx8dFthYStHcitHaV0obG8pPT09ZnV8fCh0W2xpK0dyK0dpXShlLDEpLG5ldyBudSh0KSk7fTsoUWM9e2R0OmZ1bmN0aW9uKCl7dmFyIHQsZTtlPXRoaXMuZWUoKTtmb3IodD0wO3Q8ZVtwaV07dCsrKWlmKGVbdF1bMV0oKT09PWd1KXtyZXR1cm4gZVt0XVswXTt9cmV0dXJuIHl1O30sZWU6ZnVuY3Rpb24oKXt2YXIgdDt0PVtdO3JldHVybiBYYy5vdHx8WGMuaXQ/W106KHRbTXJdKFt0aGlzLmllLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlhjLnB0Pj02NCYmWGMucHQ8Njc7fV0pLHRbTXJdKFt0aGlzLm5lLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubnQmJlhjLnB0Pj00MyYmWGMucHQ8NjQ7fV0pLHRbTXJdKFt0aGlzLnJlLGZ1bmN0aW9uKCl7dmFyIGI3LHE3LG03O2I3PS02MDMwNTI0OTU7cTc9LTQwNjg3OTgwNDttNz0yO2Zvcih2YXIgSTc9MTt3NS5MMShJNy50b1N0cmluZygpLEk3LnRvU3RyaW5nKCkubGVuZ3RoLDU1NDM5KSE9PWI3O0k3Kyspe3JldHVybiBYYy5ifHxaYy5ZKCl8fFhjLm18fFhjLnB0PD0xN3x8WGMucHQ+PTg5O203Kz0yO31pZih3NS5MMShtNy50b1N0cmluZygpLG03LnRvU3RyaW5nKCkubGVuZ3RoLDYyMDk0KSE9PXE3KXtyZXR1cm4gWGMuYnx8WmMuWSgpfHxYYy5tfHxYYy5wdDw9MTd8fFhjLnB0Pj04OTt9cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubSYmWGMucHQ+PTQ5JiZYYy5wdDw2NDt9XSksdFtNcl0oW3RoaXMub2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZDt9XSksdFtNcl0oW3RoaXMuc2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZyYmWGMucHQ+PTExO31dKSx0W01yXShbdGhpcy5hZSxmdW5jdGlvbigpe3JldHVybiBYYy5odDt9XSksdFtNcl0oW3RoaXMuY2UsZnVuY3Rpb24oKXt2YXIgVDAsRTAsbzA7VDA9MTIwNjMzNjEyMTtFMD0xMjk2MjQyMjUyO28wPTI7Zm9yKHZhciBwMD0xO3c1LmQxKHAwLnRvU3RyaW5nKCkscDAudG9TdHJpbmcoKS5sZW5ndGgsNDUyNzYpIT09VDA7cDArKyl7cmV0dXJuIFhjLnV0fHxYYy5udHx8WGMucHQ+PTc0O28wKz0yO31pZih3NS5MMShvMC50b1N0cmluZygpLG8wLnRvU3RyaW5nKCkubGVuZ3RoLDY1MzgpIT09RTApe3JldHVybiBYYy51dCYmWGMubnQmJlhjLnB0PD00ODt9fV0pLHQpO319KS50ZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMudGVbWHRdPXtfZTprdSx1ZTpmdW5jdGlvbih0KXt2YXIgcjUsUTUsZTU7cjU9LTk1ODI4OTMwMTtRNT0tNjIxNDQ4NDIyO2U1PTI7Zm9yKHZhciBaNT0xO3c1LmQxKFo1LnRvU3RyaW5nKCksWjUudG9TdHJpbmcoKS5sZW5ndGgsOTUyNjgpIT09cjU7WjUrKyl7dGhpcy5mZT10O2U1Kz0yO31pZih3NS5MMShlNS50b1N0cmluZygpLGU1LnRvU3RyaW5nKCkubGVuZ3RoLDE0MzU1KSE9PVE1KXt0aGlzLmZlPXQ7fX0sbGU6a3UscGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhO2k9dGhpcztuPWkuZmU7cj1uLkh0KCk7bz1uLm10O3M9by53dHx8WmMuJCg1KTthPVpjLmsobyk7aWYodD1mdW5jdGlvbigpe3RyeXtpZih0eXBlb2Ygby5GdD09PVpzJiZvLkZ0W0NpXShuLHIsbyk9PT15dSl7cmV0dXJuIHl1O319Y2F0Y2godCl7S2MuZSh0KTt9cmV0dXJuIG11O30sZT1mdW5jdGlvbih0KXtpZih0eXBlb2Ygby5TdD09PVpzKXRyeXtvLlN0W0NpXShuLHIsbyx0KTt9Y2F0Y2godCl7S2MuZSh0KTt9fSx0KCk9PT15dSl7cmV0dXJuIHl1O310eXBlb2Ygb1t6XT09PVRjJiZvW3pdIT09ciYmKHI9b1t6XSk7R2MuanQoby5qdCk7dGhpcy5fZSgpO3RyeXtyZXR1cm4gdGhpcy5sZShyLG8scyxhLGZ1bmN0aW9uKHQpe2kuZGUodCk7aS5oZSYmR2MuaGUoKTtlKHQpO30pO31jYXRjaCh0KXtyZXR1cm4gS2MuZSh0KSx5dTt9fSx2ZTpmdW5jdGlvbih0LGUsaSl7cmV0dXJuKEdjLm10LmJlP1pjLkM6QXUpKHQsZSxpKTt9LGRlOmt1LGhlOmd1fTtRYy5tZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMubWVbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTp5dSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3IodGhpcy52ZSh0LGksbikpO319KTtRYy5nZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuZ2VbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTohWGMub3QmJiFYYy5kLGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7cih0aGlzLnZlKHQsRmkpKTt9fSk7UWMueWU9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnllW1h0XT1aYy55KFFjLnRlW1h0XSx7a2U6ZnVuY3Rpb24oKXt2YXIgdCxlLGk7dD1HYy53ZSgpO2U9R2MueGUuUztpPXR5cGVvZiBHYy5tdC5PZT09PVpzP0djLm10Lk9lW0NpXSgpOkdjLm10Lk9lO3JldHVybiBmdW5jdGlvbigpe3ZhciBuLHI7cmV0dXJuIGkhPT1GdT9pOihuPVpjLiQoMSkscj1lP2k6R2MuQ2UodCl8fGksZXUucygpfHwhWGMub3QmJiFYYy5nP3I6KHR1LmEoY3UsbixtdSkscltaXSh2cixHcikrKEdyK3NlK0dyKStuKSk7fSgpO30sbGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgeDksejksaDksbyxzLGEsYyx1LGgsZixwO3g5PTE3MTA2NjI4Nzg7ejk9LTEwMzk3MjE3MTM7aDk9Mjtmb3IodmFyIEw5PTE7dzUuZDEoTDkudG9TdHJpbmcoKSxMOS50b1N0cmluZygpLmxlbmd0aCwzMDE4NykhPT14OTtMOSsrKXtoOSs9Mjt9aWYodzUuZDEoaDkudG9TdHJpbmcoKSxoOS50b1N0cmluZygpLmxlbmd0aCw0NTQ4MCkhPT16OSl7fWE9dGhpcy5rZSgpO2M9R2Mud2UoKTt1PVpjLk4oYyk7aD0xNTtmPVtdO3A9ZnVuY3Rpb24odCl7dmFyIGU7dHlwZW9mIHRbQW5dPT09WnMmJihlPXRbQW5dLGl1LlgodCxncyxlKSk7dFtBbl09ZnVuY3Rpb24oKXtyZXR1cm4geXU7fTt9O2ZvcihHYy5FZSgpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKSE9PUZpJiZaYy5mKGMsdW4pJiYocChjKSwwIT09Y1thYStHcitHaV0odW4pW0wrR3IrV2FdKEN0KSYmKGE9Y1thYStHcitHaV0odW4pKT09PUdyJiYoYT1GdSkpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKT09PUZpJiZaYy5mKGMsdW4pJiYocChjKSxpbyhmdW5jdGlvbigpe2NbQW5dPW11O30sM2UzKSxHYy5tdC5QZT9hPWNbYWErR3IrR2ldKHVuKTooYT1GdSxYYy5vdCYmKFhjLnV0P2ZbTXJdKGZ1bmN0aW9uKCl7QXUoY1thYStHcitHaV0odW4pLEZpKTt9KTppbyhmdW5jdGlvbigpe0F1KGNbYWErR3IrR2ldKHVuKSxGaSk7fSwyMCkpKSksWGMuZXQmJlhjLnV0fHxYYy5ldCYmWGMuc3QmJiFYYy5kJiYhWGMuYiYmIVhjLmh0PyhBdShhLEZpKSxaYy5IKEJyLGZ1bmN0aW9uKCl7WmMuVCh0KTt9LGgpKTohWGMub3QmJlpjLmgoYyxUaSkhPT1GaSYmKFhjLnV0JiZYYy5zdHx8WGMuaHQmJlhjLnB0PDEwfHxYYy5iJiZYYy5wdDw0MSk/WGMudXQ/KFpjLlEoYSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KFpjLlEodCksY1tTYytHcittY109PT1PbiYmdSYmWmMuVCh1KSk6WGMuZXQmJlhjLmQ/KG89QXUoYSxGaSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KG89eVtRYV0oVWErVnQrY2ksRmkpKT8ob1tFaV1bdW5dPWEsWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6bz1BdSh0LEZpKSxzPTA7czxmW3BpXTtzKyspe2Zbc11bQ2ldKCk7fW8mJnIobyk7fX0pO1FjLm9lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5vZVtYdF09WmMueShRYy50ZVtYdF0se2hlOnl1LGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG87bz10aGlzLnZlKHQsaSxuKTtvW2tuXSgpO1R1W2JvXSgpO1pjLk0obyk7aW8oZnVuY3Rpb24oKXtyKG8pO30sMWUzKTt9fSk7UWMuY2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLmNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZSh0LGksbik7cz1HYy5UZSgxZTMpO2l1LksoeSxibyxmdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9KTtvW2NjXT1mdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9O3Iobyk7fX0pO1FjLmFlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5hZVtYdF09WmMueShRYy50ZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIEQ5LFc5LGw5LG87RDk9MTk0OTIwNzgwOTtXOT04OTkwMjg0O2w5PTI7Zm9yKHZhciBWOT0xO3c1LkwxKFY5LnRvU3RyaW5nKCksVjkudG9TdHJpbmcoKS5sZW5ndGgsNTc4NTApIT09RDk7VjkrKyl7bDkrPTI7fWlmKHc1LkwxKGw5LnRvU3RyaW5nKCksbDkudG9TdHJpbmcoKS5sZW5ndGgsNTEwNjgpIT09Vzkpe315W3NvXT1aYy4kKDUpO289dGhpcy52ZSh0LGksbik7dGhpcy52ZShHcix5W3NvXSxHcik7eVtzb109bXU7cihvKTt9LGhlOnl1fSk7UWMuc2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZShQdT90OkZ1LGksbik7cz1mdW5jdGlvbigpe29bRWldW3VuXT10O307aXUuSyhvLGtuLHMpO29ba25dKCk7VHVbYm9dKCk7aW8ocywxMDApO3Iobyk7fSxoZTp5dX0pO1FjLm5lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5uZVtYdF09WmMueShRYy50ZVtYdF0se0ZlOmZ1bmN0aW9uKCl7dmFyIHQsZTtlPVpjLnooYXIse2RhdGE6WmMuTChlbitQZStNYyx0aGlzLkFlKStaYy4kKDMpfSk7cmV0dXJuKHQ9WmMueihoYyx7c3R5bGU6UGkrVnQrYStlcitvYytWdCtIcytlcitLYStWdCtIcytlcitEYStWdCtOK2VyK3ArVnQrRnIrSGErR3IrZXIrSGkrVnQrem4rZXIrayt3aStHYStWdCtYaStlciskbytWdCthK2VyK0dyfSkpW0l0K0dyK1dlXShlKSxbZSx0XTt9LFNlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMueSh0LHt9KTtyZXR1cm4gZVtwXT1lW0hpXT05ZTUsZVtvY109ZVtLYV09MSxlO30sQWU6THQrR3IrdGErR3IrRmMrR3IrUHMrR3Irb24rR3IrV2MrR3IreG8rR3IrJCtHcithaStHcituK0dyK1NhK0dyK0tyK0dyK1F0K0dyK2t0K0dyK3p0K0dyK3RjK0dyK1l0K0dyK3ZhK0dyK3MrR3IrdmErdWMraG4rR3IrTGErR3IrenQrR3IrVytHcitEYytHcitaYStHcittdCtHcitWaStHcitzYStHcitVZStHcitUYStHcit2YStHcitWaStHcitQcitHcit4bytHcitVZStHcitpYytHcitwbytHcitLcitHcitKK0dyK2hzK0dyK1ppK0dyK3ZhK0dyK1ByK0dyK0xhK0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrWGErR3IrVHMrR3IrWmkrR3IrdmErR3IrUHIrR3IrSGUrR3IrenQrR3IrVytHcitGYytHcit0YytHcityYytHcithZStHcit2aStHcit2YStHcitQcitHcitydCtHcitwcytHcittdCtHcituYStHcitUbytHcityZStHcit4bytHcit0YStHcitqaStHcitXK0dyK2F0K0dyK3ZhK0dyK1ByK0dyK2MrR3IrYit1YytFK0dyK1FvK0dyK3BzK0dyK2RjK0dyK1l0K0dyK3ZhK0dyK1lhK0dyK1hhK0dyK1RzK0dyK1ppK0dyK3ZhK0dyK0dlK0dyK09lK0dyK2dhK0dyK0hvK0dyK3ZhK0dyK1ByK0dyK2t0K0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrdmErR3Ircm4rdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitrdCtHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK09lK0dyK1krR3IrS3QrR3IreG8rR3IrVWUrR3IrYnMrR3IrRnQrR3IrUG8rR3IrRStHcitVZStHcitiaStHcitVZStHcitTZStHcitWcitHcitEcytHcit4bytHcitVZStHcitHbytHcit2YStHcitQdCtHcitVZStHcitScitHcit5YytHcitPZStHcitWbytHcitLcitHcit2YytHcitiZStHcitzK0dyK3hjK0dyK0tvK0dyK3IrR3IrYWkrR3IrZnQrdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitBZStHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK05hK0dyK1RzK0dyK010K0dyK2hyK0dyK1lzK0dyK0tzK0dyK0UrR3IrVWUrR3IrZm4rR3IrcmMrR3IrYWUrR3IrRCtHcitMdCtHcitWcitHcit0YStHcittdCtHcitacitHcitWcitHcitPZSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3ZhciBzLGEsYyx1LGg7dT10aGlzO2g9eXU7dHJ5eyhhPXRoaXMudmUoVWErVnQrY2ksRmkpKVttcl1bcnJdKHc1LnU0KHVyLEdyLEdyLGpvLFBlLHVpLEdyLFFyLEdyLFBlLG8sR3IsdWksdWksR3IsdXIsUGUsR3IsdXIsam8sR3IsdXIsbyx1aSxHcix1cixHcix1aSxRcix1cix1aSx3NS5ZNCgxMykpKTtpdS5LKGEscWEsZnVuY3Rpb24oKXtmdW5jdGlvbiBmKCl7bigpO2FbSW9dKCk7bygpO3JvKGMpO31ofHwoaD1ndSxzPWFbQmNdPUF1KFVhK1Z0K2NpLGksWmMuayh1LlNlKGUpKSksaXUuWChhLGJvLGYpLGM9aW8oZiwzZTMpLGFbbXJdW1FyXVtQYStHcithaStHcit4YytHcit6dCtHcitwYV09dS5GZSgpWzFdW1BuK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXSk7ZnVuY3Rpb24gbigpe3c1Llk0KDE0KTthW21yXVtRcl1bdzUudTQoUGEsenQsR3IsR3IsR3IseGMsR3IsYWkscGEpXT1Hcjt9ZnVuY3Rpb24gbygpe3ZhciBhMSxZMSxmMTthMT0tMTU2OTI3MTMyMDtZMT0yMzc1ODcyNDtmMT0yO2Zvcih2YXIgRDE9MTt3NS5MMShEMS50b1N0cmluZygpLEQxLnRvU3RyaW5nKCkubGVuZ3RoLDk0NDMyKSE9PWExO0QxKyspe3NbRWMlR3ItYmFdKGVbSGldLGVbcF0pO3NbZGElR3IqYmFdKGVbb2NdLGVbS2FdKTtzW0VpXVtaXSh0KTtyKHMpO2YxKz0yO31pZih3NS5kMShmMS50b1N0cmluZygpLGYxLnRvU3RyaW5nKCkubGVuZ3RoLDYyNDUzKSE9PVkxKXtzW0VjJUdyLWJhXShlW0hpXSxlW3BdKTtzW2RhJUdyKmJhXShlW29jXSxlW0thXSk7c1tFaV1bWl0odCk7cihzKTt9c1tFYytHcitiYV0oZVtIaV0sZVtwXSk7c1tkYStHcitiYV0oZVtvY10sZVtLYV0pO3NbRWldW1pdKHQpO3Iocyk7fX0pO31jYXRjaCh0KXt9fX0pO1FjLnJlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5yZVtYdF09WmMueShRYy5uZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG8scztzPVpjLk8oZ3UpO2l1LksoeSxibyxmdW5jdGlvbigpe1pjLlAocyk7b1tFaV1bWl0odCk7cihvKTt9KTt3NS5vNCg0KTtvPXRoaXMudmUodzUuYzQoVWEsVnQsY2kpLEZpKTtzW3RvK0dyK3lhXVttcl1bcnJdKHRoaXMuRmUoKVsxXVtQbitHcithaStHcit4YytHcit6dCtHcitwYV0pO319KTtRYy5pZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuaWVbWHRdPVpjLnkoUWMudGVbWHRdLHtMZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47aT10aGlzO249eXU7dzUubzQoNCk7ZT10aGlzLnZlKHc1LmM0KFVhLFZ0LGNpKSx0Lnd0fHxGaSx0LkJlfHxHcik7dC56ZSYmKGUmJmVbSW9dKCksbj1ndSk7IW4mJmUmJmlvKGZ1bmN0aW9uKCl7ZVtFaV1bdW5dPXQueHQ7dC5JZSYmaS5JZShlKTt9LDEwMCk7fSx1ZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47bj10aGlzO3RoaXMuamU9ZHJbTW5dKCk7dGhpcy5mZT10O2U9R2Mud2UoKTt3NS5vNCgxNSk7aT1aYy5CKGUsdzUuYzQoZ3QsR3IseGMsR3IsR3IsRmMseGMsR3IsZmMsR3IsVnIpKTsoZVtTYytHcittY109PT1PbiYmZVthYStHcitHaV0oanIpIT09RmkmJiFaYy5TKGUpfHxpJiYhWmMuUyhpKSkmJih0aGlzLmhlPWd1KTtpdS5YKHksSWUsZnVuY3Rpb24gdChlKXt0cnl7ZVtpZV0uamU9PT1uLmplJiZuLkxlKGVbaWVdKTtlW2llXS56ZSYmaXUuWih5LEllLHQpO31jYXRjaCh0KXt9fSk7fSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3RoaXMuSWU9cjt0aGlzLk1lKHtqZTp0aGlzLmplLEJlOm4sSWU6Z3UseHQ6dH0pO3RoaXMuTWUoe2plOnRoaXMuamUsemU6Z3UseHQ6VWErVnQrY2l9KTt9LGhlOnl1LE1lOmZ1bmN0aW9uKHQpe3lbSnQrR3IrWF0odCx5W0VpXVtSb10pO319KTtHYz17X2k6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5RaSgpK3RoaXMuSGkoKT5aYy5HKCk7fSxLaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm10LkplO30sSmU6ZnVuY3Rpb24oKXt2YXIgdDt0PVpjLngoYXJndW1lbnRzWzBdKT9hcmd1bWVudHNbMF06YXJndW1lbnRzO3JldHVybiB0aGlzLm5uKHQsUm4sdFtwaV0mJnRbMF09PT15dSk7fSxraTpmdW5jdGlvbih0LGUsaSxuKXt0aGlzLk9pKGksdCxndSl8fG4oZ3UseXUpO30sV2k6ZnVuY3Rpb24odCl7dHJ5e3JldHVybiB0W3F0XSYmMCE9PXRbcXRdfHx0aGlzLmNpLkcrMTUwPlpjLkcoKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LFJpOmZ1bmN0aW9uKCl7dGhpcy5XZT1bXTt9LFlpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQucWU7fSxVaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLldlO30sWmU6bXUsVGk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHx0aGlzLnFpKHQpKXtyZXR1cm4geXU7fWlmKCF0aGlzLm10LnFlW3BpXXx8dFthYStHcitHaV0obG8pPT09ZnUpe3JldHVybiBndTt9Zm9yKDtlPHRoaXMubXQucWVbcGldO2UrKylpZih0PT09dGhpcy5tdC5xZVtlXXx8dHlwZW9mIHRoaXMubXQucWVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5xZVtlXVtYcytHcitwcitHcituY10oKXx8WmMuSSh0LHRoaXMubXQucWVbZV0pKXx8WmMuQih0LHRoaXMubXQucWVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LHdlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueGUuUXQ7fSxMaTpmdW5jdGlvbigpe3ZhciB0LGU7ZT10aGlzO3RoaXMuWmU9WmMueihoYyx7c3R5bGU6b2MrVnQrRnIrSGErR3IrZXIrS2ErVnQrRnIrSGErR3IrZXIrRGErVnQrSXMrZXIrcCtWdCt6bitlcitIaStWdCt6bitlcitzbit3aStMK1Z0K25vK2VyK3h0K1Z0K1hpK2VyK0dyfSxHcik7dD1DbyhmdW5jdGlvbigpe3ZhciBpO2k9cmlbUXJdO2kmJihHcyh0KSxpW0l0K0dyK1dlXShlLlplKSk7fSwxMDApO30saGk6ZnVuY3Rpb24oKXt2YXIgTjksYTksWTksdCxlLGk7Tjk9LTUxNTA4MTc1NzthOT0tMTMwNjg1MTEzNztZOT0yO2Zvcih2YXIgczk9MTt3NS5kMShzOS50b1N0cmluZygpLHM5LnRvU3RyaW5nKCkubGVuZ3RoLDEwMDExKSE9PU45O3M5Kyspe1k5Kz0yO31pZih3NS5MMShZOS50b1N0cmluZygpLFk5LnRvU3RyaW5nKCkubGVuZ3RoLDQ1MzQ0KSE9PWE5KXt9aT10aGlzLlhlLm9pO2Zvcih0PTA7dDx0aGlzLmZpW3BpXSYmKCF0aGlzLnBpKCkmJiF0aGlzLl9pKCkpO3QrKyl7aWYoZT10aGlzLmZpW3RdLHRoaXMuWGUuc2krKyx0aGlzLlhlLm9pPVpjLkcoKSx0aGlzLmxpKGUpPT09eXUpe3JldHVybiB0aGlzLlhlLnNpLS0sdm9pZCh0aGlzLlhlLm9pPWkpO31pPXRoaXMuWGUub2k7ZXUuYShodSx0aGlzLlhlLm9pKTtlLnl0PT09bHUmJmV1LmEodXUsdGhpcy5YZS5zaSk7fX0sT2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBuLHIsbyxzO3c1Lm80KDQpO289dzUuYzQoR3IsVHQsR3IpO3c1Llk0KDIpO3M9dzUuYzQobyx0KTtmb3Iobj0wO248ZVtwaV07bisrKWlmKHI9KEdyK090K0dyK1R0K0dyKVtMK0dyK1dhXShlW25dWzBdKT4tMT9lW25dOm8rZVtuXSxzW2ZzXShzW3BpXS1yW3BpXSk9PT1yfHxpJiZyPT09d3Upe3JldHVybiBndTt9cmV0dXJuIHl1O30sZW46ZnVuY3Rpb24odCxlKXt2YXIgTDAsZDAsTzAsaSxuO0wwPTEyMjU5MjUxNjQ7ZDA9LTc2NDA0NzIyNjtPMD0yO2Zvcih2YXIgQzA9MTt3NS5MMShDMC50b1N0cmluZygpLEMwLnRvU3RyaW5nKCkubGVuZ3RoLDk4MzQ3KSE9PUwwO0MwKyspe08wKz0yO31pZih3NS5MMShPMC50b1N0cmluZygpLE8wLnRvU3RyaW5nKCkubGVuZ3RoLDg1NTk4KSE9PWQwKXt9aT10aGlzO249dGhpcy50bih0LGUpO3RoaXMuV2VbTXJdKG4pO3RoaXMuRGkobik7dGhpcy5pbnx8KEdjLkNpKCksZnVuY3Rpb24oKXt2YXIgdCxlO1hjLmImJigoZT1yaVtVcytHcitDbl0oaGMpKVtSYytHcitpdF0oVmEsZnVuY3Rpb24oKXtDdT1ndTt9KSxDdT1vNSx0PUNvKGZ1bmN0aW9uKCl7aWYoQ3U9eXUsIWkubXQuUmUpe2lmKHR5cGVvZiB5W3dzXSE9PWFyfHx0eXBlb2YgeVt3c11bT29dIT09WnMpe3JldHVybiBDdT1vNSx2b2lkIEdzKHQpO315W3dzXVtPb10oZSk7eVt3c11bTWldKCk7fX0sNTAwKSk7fSgpLHRoaXMuaW49bzUpO30sUGk6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuSmkoKSx0P3RoaXMuZmlbcGldOnRoaXMuZmlbcGldPjA7fSx2aTpmdW5jdGlvbigpe3ZhciB0LGU7dD1aYy5HKCk7ZT1aYy5HKGF1KTt3NS5ZNCgxNik7dGhpcy5YZS5yaT13NS5jNChlLHQsMzE1MzYwMDAwMDApO3RoaXMuWGUucmkmJih0aGlzLmxpPWt1KTt9LEJpOmZ1bmN0aW9uKCl7dmFyIHQ7dD1VYyhldS5jKGh1KSwxMCk7cWModCkmJih0PTApO3RoaXMuWGUub2k9dDt9LENlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMuTih0KTtyZXR1cm4gZSYmIXRoaXMubXQuTmUmJlpjLlModCk/eXU6ZTt9LGp0OmZ1bmN0aW9uKHQpe3ZhciBlLGksbjtlPXR5cGVvZiB0PT09Z2U/Z3U6ISF0O3c1Lm80KDIpO2k9dzUuYzQocnUsSSk7bj1yaVthYStHcitDbitHcitpaStHcit0bl0oaSk7ZT9ufHwobj1aYy56KERvLHtjb250ZW50OkljK3dpK2lhLG5hbWU6aWEsaWQ6aX0pLHJpW2FhK0dyK1JlK0dyK2lpK0dyK1JpK0dyK21jXShvKVswXVtJdCtHcitXZV0obikpOm4mJlpjLlAobik7fSxHaTpmdW5jdGlvbigpe3RoaXMuWGUuaWk9Z3U7dGhpcy5oaT1rdTt9LEp0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQuRGU7fSx5aTpmdW5jdGlvbih0LGUsaSxuLHIpe2Zvcih2YXIgbyxzPTA7czxlJiYobz10W3NdLCEoMT09PW4mJihyKGlbcytlXSx0W3NdKmlbc10rcysoaVtzXT4+cyszKSl8fHIoaVtzKzIqZV0sdFtzXSoodFswXSt0WzFdK3RbMl0pKyhpW3NdPDxzKSl8fHIoaVtzKzMqZV0sZHJbQWNdKHRbMF0qdFsxXSp0WzJdL28pK28rKGlbc10+PnMpKSl8fG48MSYmKHIoaVtzK2VdLHRbc10qaVtzXStzKXx8cihpW3MrMiplXSx0W3NdKih0WzBdK3RbMV0rdFsyXSkpfHxyKGlbcyszKmVdLGRyW0FjXSh0WzBdKnRbMV0qdFsyXS9vKStvKSkpKTtzKyspO30scWk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHwhdGhpcy5tdC5KZVtwaV0pe3JldHVybiB5dTt9Zm9yKDtlPHRoaXMubXQuSmVbcGldO2UrKylpZih0PT09dGhpcy5tdC5KZVtlXXx8dHlwZW9mIHRoaXMubXQuSmVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5KZVtlXXx8WmMuSSh0LHRoaXMubXQuSmVbZV0pKXx8WmMuQih0LHRoaXMubXQuSmVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LGNpOnt1aTp7fSxHOjB9LEhpOmZ1bmN0aW9uKCl7cmV0dXJuIFhjLm90P2RyW0JvXSh0aGlzLm10LlZlLDFlMyk6WGMuYnx8WGMuZ3x8WGMuY3R8fFhjLnV0JiYhWGMuZXQ/ZHJbQm9dKHRoaXMubXQuVmUsMjAwKTp0aGlzLm10LlZlO30sRWU6ZnVuY3Rpb24odCl7dmFyIGUsWjcsdDcsVTc7Wjc9LTEyNTc1NDEyNDI7dDc9MTMwMDY1ODcyMDtVNz0yO2Zvcih2YXIgejc9MTt3NS5MMSh6Ny50b1N0cmluZygpLHo3LnRvU3RyaW5nKCkubGVuZ3RoLDgzNTc3KSE9PVo3O3o3Kyspe2U9dHx8dGhpcy5jaS51aTtVNys9Mjt9aWYodzUuZDEoVTcudG9TdHJpbmcoKSxVNy50b1N0cmluZygpLmxlbmd0aCwzMDU1KSE9PXQ3KXtlPXQmJnRoaXMuY2kudWk7fXRyeXtlW01vK0dyK25pXSYmZVtNbytHcituaV0oKTtlW3FlK0dyK19zXSYmZVtxZStHcitfc10oKTt3NS5vNCg0KTtlW3c1LmM0KE5yLEdyLGNvKV09eXU7dzUubzQoNCk7ZVt3NS51NChtcyxHcixIcildPWd1O31jYXRjaCh0KXt9fSxpOmZ1bmN0aW9uKCl7dmFyIE8xLEcxLEMxO08xPS0xMzAyMzI0NTE3O0cxPTg4ODY0MDYzMDtDMT0yO2Zvcih2YXIgbjE9MTt3NS5kMShuMS50b1N0cmluZygpLG4xLnRvU3RyaW5nKCkubGVuZ3RoLDU5MTU1KSE9PU8xO24xKyspe3JldHVybiB0aGlzLm10LlVlfHx0aGlzLm10LkRlO0MxKz0yO31pZih3NS5MMShDMS50b1N0cmluZygpLEMxLnRvU3RyaW5nKCkubGVuZ3RoLDIzODAyKSE9PUcxKXtyZXR1cm4gdGhpcy5tdC5VZSYmdGhpcy5tdC5EZTt9fSxwaTpmdW5jdGlvbigpe3ZhciBoNyxpNyxMNztoNz0tMTUxMTEyMzE1NDtpNz0tMTY3MjAwNTI5NjtMNz0yO2Zvcih2YXIgTzc9MTt3NS5kMShPNy50b1N0cmluZygpLE83LnRvU3RyaW5nKCkubGVuZ3RoLDMyNTMzKSE9PWg3O083Kyspe3JldHVybiB0aGlzLiRpKCk8dGhpcy5tdC5IZTtMNys9Mjt9aWYodzUuTDEoTDcudG9TdHJpbmcoKSxMNy50b1N0cmluZygpLmxlbmd0aCwxOTk5KSE9PWk3KXtyZXR1cm4gdGhpcy4kaSgpPj10aGlzLm10LkhlO319LGdpOmZ1bmN0aW9uKHQsZSxpLG4scil7Zm9yKHZhciBvLHM9MDtzPGUmJihvPXRbc10sISgxPT09biYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzErKGlbc108PGlbc10lMTApLGlbZStzXSl8fHIob1trZStHcitucytHcitCaV0ob1twaV0tMSkqaVtzXSoyK3MrKGlbc10+PnMpLGlbMiplK3NdKXx8cihvW3BpXSppW3NdKjMrKGlbc108PHMpLGlbMyplK3NdKSl8fG48MSYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzEsaVtlK3NdKXx8cihvW2tlK0dyK25zK0dyK0JpXShvW3BpXS0xKSppW3NdKjIrcyxpWzIqZStzXSl8fHIob1twaV0qaVtzXSozLGlbMyplK3NdKSkpKTtzKyspO30sV2U6W10sdG46ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IFljKHRoaXMuV2VbcGldLHQsZSk7fSxBaTpmdW5jdGlvbih0KXt0aGlzLmNpLnVpPXQ7dGhpcy5jaS5HPVpjLkcoKTt9LGFpOltdLE1pOmZ1bmN0aW9uKHQpe3JldHVybiBudS5YdCh0KSx0aGlzO30sWmk6ZnVuY3Rpb24oKXtyZXR1cm4gWmMucChbW1RyLHRoaXMubXQuRGVdLFtvaSx0aGlzLm10LlVlXSxbd3QsdGhpcy5tdC5SZV0sW0xyK0dyK3plLHRoaXMubXQuT2VdLFtSbitHcitFbix0aGlzLm10Lk5lXSxbRHQsdGhpcy5tdC5IZV0sW2xjK0dyK2JhLHRoaXMubXQucWVdLFtSbitHcitiYSx0aGlzLm10LkplXSxbUW4sdGhpcy5tdC5WZV0sW3crR3IrVix0aGlzLm10LiRlXSxbdytHcitEbix0aGlzLm10LlFlXSxbcG4rR3IrdHIrR3IrTG4sdGhpcy5tdC5HZV0sW0JzK0dyK2wrR3IrU3MsdGhpcy5tdC4kdF0sW05zK0dyKyRyLHRoaXMubXQuWWVdLFtJYytHcitwYytHcitfaSx0aGlzLm10LmJlXSxbTHMrR3IrYnQsdGhpcy5tdC5LZV0sW0IrR3IrdmUrR3IrX28rR3IreW4rR3IrTG4sdGhpcy5tdC5QZV1dKTt9LFRlOmZ1bmN0aW9uKHQpe3ZhciBlLGk7aT1aYy5PKGd1KTtyZXR1cm4gZT1pW3RvK0dyK3lhXVttcl1bVXMrR3IrQ25dKGRlKSwwPT09eVtFaV1bdW5dW0wrR3IrV2FdKGorVnQrR3IpP2VbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPUdyKyhXcitZZStHcit3bitHcikrKGYrVHQrUytUdCthYStHcitaZStHcitRaStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKTplW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoV3IrWWUrR3Ird24rR3IpKyhZcitUdCtjYStHcitfZStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSxpW3RvK0dyK3lhXVttcl1bUXJdW0l0K0dyK1dlXShlKSx0eXBlb2YgdCE9PVd0JiZ0eXBlb2YgdCE9PWdlfHxpbyhmdW5jdGlvbigpe1pjLlAoaSk7fSx0fHw1MDApLGk7fSxOaTpmdW5jdGlvbigpe3ZhciBvMSx3MSxwMTtvMT0tMjExMjgyOTI0MDt3MT00MjIxODMwODI7cDE9Mjtmb3IodmFyIHEwPTE7dzUuZDEocTAudG9TdHJpbmcoKSxxMC50b1N0cmluZygpLmxlbmd0aCwzNTgxNCkhPT1vMTtxMCsrKXtmb3IodmFyIHQsZT02O2U8PXRoaXMuV2VbcGldO2UtLSl7dD10aGlzLldlW2VdO3R1LnUodC5tdC5idCk7fXRoaXMuWGUub2k9dGhpcy5YZS5zaT00O2V1LnUodXUpO2V1LnUoY3UpO2V1LnUoaHUpO3AxKz0yO31pZih3NS5MMShwMS50b1N0cmluZygpLHAxLnRvU3RyaW5nKCkubGVuZ3RoLDUxMjkxKSE9PXcxKXtmb3IodmFyIHQsZT0yO2U8dGhpcy5XZVtwaV07ZSsrKXt0PXRoaXMuV2VbZV07dHUudSh0Lm10LmJ0KTt9dGhpcy5YZS5vaT10aGlzLlhlLnNpPTM7ZXUudSh1dSk7ZXUudShjdSk7ZXUudShodSk7fWZvcih2YXIgdCxlPTA7ZTx0aGlzLldlW3BpXTtlKyspe3Q9dGhpcy5XZVtlXTt0dS51KHQubXQuYnQpO310aGlzLlhlLm9pPXRoaXMuWGUuc2k9MDtldS51KHV1KTtldS51KGN1KTtldS51KGh1KTt9LHppOmZ1bmN0aW9uKCl7dmFyIHQ7dD0wO3JldHVybiBldS5zKCk/KHQ9ZXUuYyh1dSksZXUudSh1dSkpOnR1LmModXUpJiYocmlbaWFdPT09UnRbdW5dfHx+UnRbdW5dW0wrR3IrV2FdKEdyK3NlK0dyK3R1LmMoY3UpKSkmJih0PXR1LmModXUpLGlvKGZ1bmN0aW9uKCl7dHUudSh1dSk7dHUudShjdSk7fSwzMDApKSx0PVVjKHQsMTApLHQ9cWModCk/MDp0LHRoaXMuWGUuc2k9dDt9LG10OntOZTpndSxLZTp5dSxKZTpbXSxWZTowLCR0OmJ1LCRlOltdLERlOnl1LE9lOkZ1LEhlOjk5OTksUmU6eXUscWU6W10sWWU6MTAsVWU6eXUsUWU6Z3UsUGU6eXUsYmU6eXUsR2U6Z3V9LCRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuWGUuc2k7fSxRaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLlhlLm9pO30sYmk6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhLGMsdSxuOSxGOSxnOTtzPXRoaXM7YT0wO2M9dGhpcy5YZTt1PWZ1bmN0aW9uKHQsZSl7dmFyIFA5LEo5LFg5O1A5PTMyNTI1NjI2O0o5PS05NTA1MjQwNDM7WDk9Mjtmb3IodmFyIFM5PTE7dzUuTDEoUzkudG9TdHJpbmcoKSxTOS50b1N0cmluZygpLmxlbmd0aCw0ODQ5MykhPT1QOTtTOSsrKXtyZXR1cm4gdD09PWV8fChjLm5pPWd1LHMubGk9a3UpLHQhPWU7WDkrPTI7fWlmKHc1LkwxKFg5LnRvU3RyaW5nKCksWDkudG9TdHJpbmcoKS5sZW5ndGgsNTM4MDApIT09Sjkpe3JldHVybiB0IT09ZSYmKGMubmk9Z3Uscy5saT1rdSksdCE9PWU7fX07aWYodHlwZW9mIHlbcnVdW2FyXSE9PWdlKXtjLm5pPW11O3Q9eVtydV1bYXJdW1huXSgpO2U9eVtydV1bYXJdW1huXSgpO2k9eVtydV1bYXJdW1huXSgpO249eVtydV1bYXJdW1huXSgpO3I9WmMuRigoeVtydV1bYXJdW1huXSgpfHx7c3JjOm51bGx9KVtYcl0pO289WmMuRih4dVtYcl0pO3RyeXtuOT0xNDUwNjEyMjI1O0Y5PS01NjY0Nzc2Nzc7Zzk9Mjtmb3IodmFyIFI5PTE7dzUuZDEoUjkudG9TdHJpbmcoKSxSOS50b1N0cmluZygpLmxlbmd0aCwyODY5NSkhPT1uOTtSOSsrKXthPXlbcnVdW2FyXVtYbl0oKSYmNztnOSs9Mjt9aWYodzUuZDEoZzkudG9TdHJpbmcoKSxnOS50b1N0cmluZygpLmxlbmd0aCwzODQzOCkhPT1GOSl7YT15W3J1XVthcl1bWG5dKCkmJjc7fWE9eVtydV1bYXJdW1huXSgpfHwwO31jYXRjaCh0KXt9YT1kcltCb10oMCxkcltrYV0oMSxhKSk7dGhpcy5taSh0LG8scix1KTt0aGlzLmdpKHQsdFtwaV0sZSxhLHUpO3RoaXMueWkoaSxpW3BpXSxuLGEsdSk7dGhpcy5raSh0LHRbcGldLFpjLkYoKSx1LHUpO3RoaXMud2koaSxaYy5HKCkpO2Mubmk9PT1tdSYmKGMubmk9eXUpO31jLnhpPWF8fDA7fSxFaTpmdW5jdGlvbih0LGUpe3ZhciBkOSxPOSxHOTtkOT04MzA2MTMyMTE7Tzk9MTQwNDM5MjY4MztHOT0yO2Zvcih2YXIgazk9MTt3NS5kMShrOS50b1N0cmluZygpLGs5LnRvU3RyaW5nKCkubGVuZ3RoLDE2MDEwKSE9PWQ5O2s5Kyspe3RoaXMueGUuUXQ9dDt0aGlzLnhlLlM9ZTtHOSs9Mjt9aWYodzUuZDEoRzkudG9TdHJpbmcoKSxHOS50b1N0cmluZygpLmxlbmd0aCw3Njg2OSkhPT1POSl7dGhpcy54ZS5RdD10O3RoaXMueGUuUz1lO319LFhpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbix1OSx5OSxIOTtuPXR8fHt9O2ZvcihlIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixlKSlzd2l0Y2godGhpcy5tdFtlXT1pPW5bZV0sZSl7Y2FzZSBUcjp0aGlzLm10LkRlPWk7YnJlYWs7Y2FzZSBvaTp0aGlzLm10LlVlPWk7YnJlYWs7Y2FzZSB3dDp0aGlzLm10LlJlPWk7YnJlYWs7Y2FzZSBMcitHcit6ZTp0aGlzLm10Lk9lPWk7YnJlYWs7Y2FzZSBSbitHcitFbjp0aGlzLm10Lk5lPWk7YnJlYWs7Y2FzZSBEdDp0aGlzLm10LkhlPWk7YnJlYWs7Y2FzZSBsYytHcitiYTp0aGlzLnFlW29hXSh0aGlzLGkpO2JyZWFrO2Nhc2UgUm4rR3IrYmE6dGhpcy5KZVtvYV0odGhpcyxpKTticmVhaztjYXNlIFFuOnRoaXMubXQuVmU9aTticmVhaztjYXNlIHcrR3IrVjp0aGlzLm10LiRlPWk7YnJlYWs7Y2FzZSB3K0dyK0RuOnRoaXMubXQuUWU9aTticmVhaztjYXNlIHBuK0dyK3RyK0dyK0xuOnRoaXMubXQuR2U9aTticmVhaztjYXNlIEJzK0dyK2wrR3IrU3M6dGhpcy5tdC4kdD1pO2JyZWFrO2Nhc2UgTnMrR3IrJHI6dGhpcy5tdC5ZZT1pO2JyZWFrO2Nhc2UgSWMrR3IrcGMrR3IrX2k6dGhpcy5tdC5iZT1pO2JyZWFrO2Nhc2UgTHMrR3IrYnQ6dGhpcy5tdC5LZT1pO2JyZWFrO2Nhc2UgQitHcit2ZStHcitfbytHcit5bitHcitMbjp0aGlzLm10LlBlPWk7fXU5PTE1MDY0OTg2ODA7eTk9NjExNzc3ODY1O0g5PTI7Zm9yKHZhciBUOT0xO3c1LkwxKFQ5LnRvU3RyaW5nKCksVDkudG9TdHJpbmcoKS5sZW5ndGgsNjMyMykhPT11OTtUOSsrKXtyZXR1cm4gdGhpcztIOSs9Mjt9aWYodzUuZDEoSDkudG9TdHJpbmcoKSxIOS50b1N0cmluZygpLmxlbmd0aCw2MzczOSkhPT15OSl7cmV0dXJuIHRoaXM7fX0saGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksZzcsTTcsUjc7Zzc9LTM5MDQ0MjA2O003PS0xNjI0Njc4MzI1O1I3PTI7Zm9yKHZhciBKNz0xO3c1LkwxKEo3LnRvU3RyaW5nKCksSjcudG9TdHJpbmcoKS5sZW5ndGgsNTI1MzkpIT09Zzc7SjcrKyl7ZT10aGlzLndlKCk7aT10aGlzLmNpLnVpO1I3Kz0yO31pZih3NS5MMShSNy50b1N0cmluZygpLFI3LnRvU3RyaW5nKCkubGVuZ3RoLDg0NzUzKSE9PU03KXtlPXRoaXMud2UoKTtpPXRoaXMuY2kudWk7fXRyeXsodD1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0oZ3MsZ3UsZ3UseSwxLGlbT2krR3IrVWVdLGlbT2krR3IreG9dLGlbSGMrR3IrVWVdLGlbSGMrR3IreG9dLHl1LHl1LHl1LHl1LDAsbXUpO3RbVW9dPWd1O2VbZ24rR3IrQ2FdKHQpO31jYXRjaCh0KXtLYy5lKHQpO319LFZpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuUGkobzUpO30sU2k6ZnVuY3Rpb24oKXt2YXIgdCxpLG4scixvLHM7cj10aGlzO289NTAwO3M9ZnVuY3Rpb24odCxlKXt2YXIgaSxuO249WGMuYj9lYzpnczsoaT1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0obixndSxndSx5LDEsZVtPaStHcitVZV0sZVtPaStHcit4b10sZVtIYytHcitVZV0sZVtIYytHcit4b10seXUseXUseXUseXUsMCxtdSk7aS5mYz1ndTt0W2duK0dyK0NhXShpKTt9O2l1LlgocmksJHQsZnVuY3Rpb24ocil7dmFyIG8sRjEsZzEsTTE7dzUubzQoNCk7bz1yW3c1LnU0KHNyLEdyLGUpXVswXTtGMT05NTkwNTM3NzY7ZzE9LTE3NzY2NDMwNTc7TTE9Mjtmb3IodmFyIFAxPTE7dzUuZDEoUDEudG9TdHJpbmcoKSxQMS50b1N0cmluZygpLmxlbmd0aCw4NTkzNCkhPT1GMTtQMSsrKXt3NS5vNCgxOCk7dD1yW3c1LnU0KG9zLEpzLEdyKV07dzUuWTQoMTkpO2k9b1t3NS51NChHcixmbyxVZSldO3c1Lm80KDIwKTtuPW9bdzUuYzQoeG8sZm8sR3IpXTtNMSs9Mjt9aWYodzUuTDEoTTEudG9TdHJpbmcoKSxNMS50b1N0cmluZygpLmxlbmd0aCwxMTM5OCkhPT1nMSl7dzUubzQoMjEpO3Q9clt3NS5jNChvcyxKcyxHcildO3c1Llk0KDIyKTtpPW9bdzUuYzQoR3IsVWUsZm8pXTt3NS5vNCg2KTtuPW9bdzUuYzQoR3IseG8sZm8pXTt9dzUubzQoNCk7dD1yW3c1LnU0KG9zLEdyLEpzKV07dzUuWTQoNCk7aT1vW3c1LmM0KGZvLEdyLFVlKV07dzUubzQoNCk7bj1vW3c1LnU0KGZvLEdyLHhvKV07fSxndSk7aXUuWChyaSx2LGZ1bmN0aW9uKGEpe3ZhciBjLHUsaCxTMCxOMCxhMDtTMD0xMTI5ODE1NDEyO04wPS00NTk2NDE3MTE7YTA9Mjtmb3IodmFyIGYwPTE7dzUuZDEoZjAudG9TdHJpbmcoKSxmMC50b1N0cmluZygpLmxlbmd0aCw5MDQxMCkhPT1TMDtmMCsrKXt3NS5vNCg0KTtjPWFbdzUuYzQoc3IsR3IsZSldWzBdO3U9aXUudHQoYSk7aD1yLm10LlllO2EwKz0yO31pZih3NS5MMShhMC50b1N0cmluZygpLGEwLnRvU3RyaW5nKCkubGVuZ3RoLDUxODk1KSE9PU4wKXt3NS5ZNCg2KTtjPWFbdzUudTQoR3IsZSxzcildWzRdO3U9aXUudHQoYSk7aD1yLm10LlllO31kcltGc10oY1tmbytHcitVZV0taSk+PWh8fGRyW0ZzXShjW2ZvK0dyK3hvXS1uKT49aHx8YVtvcytHcitKc10tdD5vfHxyLm10LlllPD0wfHxYYy5odCYmRGlbaXJdKHVbU2MrR3IrbWNdKXx8ci5YZS5paXx8ci5YZS5uaXx8ci5YZS5yaXx8ci5waSgpfHxyLl9pKCl8fCFyLlBpKCl8fCFyLlRpKHUpfHwhci5tdC5OZSYmWmMuUyh1KXx8KHVbU2MrR3IrbWNdPT09T24mJnIuRWUoYSkscyh1LGMpKTt9LGd1KTt9LG1pOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByLG87bz15dTtmb3Iocj0wO3I8dFtwaV07cisrKWlmKHRbcl09PT13dSl7bz1ndTticmVhazt9byYmKGV8fGkpJiYoIXRoaXMuT2koZSx0KXx8IXRoaXMuT2koaSx0KXx8eVtydV1bdW5dJiZ5W3J1XVt1bl1bcGldJiYhdGhpcy5PaShaYy5GKCkseVtydV1bdW5dKSkmJm4oZ3UseXUpO30seGU6e1F0Om11LFM6eXV9LHFlOmZ1bmN0aW9uKCl7dmFyIHQ7dD1aYy54KGFyZ3VtZW50c1swXSk/YXJndW1lbnRzWzBdOmFyZ3VtZW50cztyZXR1cm4gdGhpcy5ubih0LGxjLHRbcGldJiZ0WzBdPT09eXUpO30sd2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBXMSxsMSxjMTtXMT0xMTQ2NjMzOTY5O2wxPTU4MTgzMzU3NjtjMT0yO2Zvcih2YXIgdTE9MTt3NS5kMSh1MS50b1N0cmluZygpLHUxLnRvU3RyaW5nKCkubGVuZ3RoLDY5ODkxKSE9PVcxO3UxKyspe1pjLkcodFtOaV0oR3IrUGUrR3IpKTxlJiZpKGd1LHl1KTtjMSs9Mjt9aWYodzUuZDEoYzEudG9TdHJpbmcoKSxjMS50b1N0cmluZygpLmxlbmd0aCw0ODMyNikhPT1sMSl7WmMuRyh0W05pXShHciVQZSVHcikpPj1lfHxpKGd1LHl1KTt9fSxDaTpmdW5jdGlvbigpe3ZhciByLG8scyxhLGMsdSxoLGYscCxfO2Z1bmN0aW9uIHQoKXt2YXIgdCxlO3c1Lm80KDE3KTtlPVt3NS51NChIbixUdCxHcixFbixHcixDYSxKYSksdzUuYzQoeG4sVHQsR3IsRW4sR3IsQ2EsSmEsdzUubzQoMTcpKSx3NS5jNChKYSxUdCxRYSx3NS5ZNCg0KSksdzUuYzQoQ24sR3IsVXMsbXIsVHQsdzUubzQoMSkpLHc1LnU0KFdlLEdyLHhuLG1yLFR0LHc1Llk0KDEpKV07Zm9yKHQ9MDt0PGVbcGldO3QrKylpZihaYy5sKGVbdF0pKXtyZXR1cm4gS2MuZSh0LFpjLmwoZVt0XSkpLGd1O31yZXR1cm4geXU7fWZ1bmN0aW9uIGkoaSl7dT0yO198fChfPWd1LGlvKGZ1bmN0aW9uKCl7Xz15dTt9LFhjLm90PzUwMDoxNTApLEN1JiYhcC5VZXx8KHI9aXUudHQoaSksbz1aYy5CKHIsT24pLGM9WmMuUyhyKSxyW2FhK0dyK0dpXShsbyk9PT1mdT8oclt4ZV1beHRdPVhpLFpjLlAocikscj1pdS50dChpLGd1KSk6byYmKHM9KHI9bylbYWErR3IrR2ldKFRpKSxhPVpjLk4ociksYz1aYy5TKHIpKSxmLkVpKHIsYyksZi5YZS5paXx8Zi5YZS5uaXx8Zi5YZS5yaXx8aVtVb118fGUoZi5jaS51aVtPXSYmZi5jaS51aVtPXSE9PWlbT10pfHxlKHAuS2UmJiFFdSl8fGUoIWlbSGMrR3IrVWVdJiYhaVtIYytHcit4b10pfHxlKCFYYy5vdCYmIVhjLmcmJnR5cGVvZiBpW3F0XSE9PWdlJiYwIT09aVtxdF0pfHxlKCFYYy5vdCYmIWYuWmUmJihYYy5jdHx8WGMuYnx8WGMudXQpKXx8ZSghWGMub3QmJiFwLkdlJiYoWGMuYnx8WGMudXQpJiZzPT09RmkpfHxlKGYucGkoKSl8fGUoZi5faSgpKXx8ZSghZi5QaSgpKXx8ZSghZi5UaShyKSl8fGUoYyYmIXAuTmUpfHxlKCFwLlJlJiZ0KCkpfHwoZi5BaShpKSxYYy5ldCYmbyYmYSYmZi5FZShpKSxYYy5vdHx8IW98fGN8fChYYy5iJiZzIT09RmkmJlpjLlkoKXx8cC5HZSYmcz09PUZpJiYoWGMuYnx8WGMudXQpKSYmZi5FZShpKSxmLkZpPW11LGYuaGkoKSkpKTt9Zj10aGlzO3A9Zi5tdDtfPXl1O2Z1bmN0aW9uIGUodCl7cmV0dXJuKyt1LHQmJktjLmUodSksdDt9cC5SZXx8IXQoKT8oaD1YYy5kfHxYYy5nP3FhOmVjLGZ1bmN0aW9uKCl7aXUuWChyaSxncyxpLGd1KTtYYy5vdD8oaXUuWChyaSxlYyxuLGd1KSxpdS5YKHJpLHFhLG4sZ3UpKTppdS5YKHJpLGgsbixndSk7fSgpLHRoaXMuU2koKSx0aGlzLmppKCksdGhpcy5MaSgpLHRoaXMuemkoKSx0aGlzLkJpKCkpOktjLmUoeXUpO2Z1bmN0aW9uIG4odCl7cj1vPWM9cz1hPW11OyFYYy5vdCYmdFtIYytHcitVZV0rKFhjLm50PzE3OjE1KT55W1BhK0dyK2ddP3AuUWUmJigocj17fSkuc2Nyb2xsYmFyPWd1LGYuRWkocix5dSksZi5waSgpfHxmLl9pKCl8fCFmLlBpKCl8fGYuaGkoKSk6aSh0KTt9fSxsaTpmdW5jdGlvbih0KXtpZih0aGlzLlhlLmlpfHx0aGlzLlhlLm5pfHx0aGlzLlhlLnJpKXtyZXR1cm4geXU7fXN3aXRjaCh0Lnl0KXtjYXNlIF91Om5ldyBRYy5tZSh0KS5wZSgpO2JyZWFrO2Nhc2UgZHU6bmV3IFFjLmdlKHQpLnBlKCk7YnJlYWs7Y2FzZSBsdTpuZXcgUWMueWUodCkucGUoKTticmVhaztjYXNlIHB1OnRyeXtuZXcoUWMuZHQoKSkodCkucGUoKTt9Y2F0Y2godCl7S2MuZSh0KTt9fXJldHVybiB0LnF0KCksZ3U7fSxqaTpmdW5jdGlvbigpe3ZhciB0LGUsaSxuLHIsbztuPXRoaXM7cj17fTtvPWZ1bmN0aW9uKHQpe2ZvcihlPTA7ZTx0W3BpXTtlKyspe24uTWkodFtlXSk7fX07Q28oZnVuY3Rpb24oKXt2YXIgZTtmb3IodD0wO3Q8bi5tdC4kZVtwaV07dCsrKXtpZihlPW4ubXQuJGVbdF0sKGk9cmlbYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGUpKVtwaV0mJm4ucGkoKXx8IW4uUGkoKSl7cmV0dXJuO310eXBlb2YgcltlXSE9PWdlJiZyW2VdPT09aVtwaV18fG8oaSk7fX0sMWUzKTt9LElpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbixyLG8scyxlOSxqOSxaOTtvPTI7cz15dTtmb3IoZT0wO2U8PW87ZSsrKXtpZigobj1yaVt3citHcitqbitHcitMY10odFtIYytHcitVZV0rZSx0W0hjK0dyK3hvXSkpJiZuW1NjK0dyK21jXT09PXBhK0dyK09uK0dyK0ZjK0dyK1BzK0dyK3BhKXtzPWd1O2JyZWFrO31mb3IoaT0wO2k8PW87aSsrKWlmKChuPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXStlLHRbSGMrR3IreG9dK2kpKSYmbltTYytHcittY109PT1wYStHcitPbitHcitGYytHcitQcytHcitwYSl7cz1ndTticmVhazt9aWYocylicmVhazt9aWYocylmb3Iocz15dSxyPW5bYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGVpKSxlPTA7ZTxyW3BpXTtlKyspaWYoWmMuVShyW2VdKSl7cz1ndTticmVhazt9ZTk9MTI0NjQ2Mzc5O2o5PTE4ODY4MTA5NztaOT0yO2Zvcih2YXIgVTk9MTt3NS5MMShVOS50b1N0cmluZygpLFU5LnRvU3RyaW5nKCkubGVuZ3RoLDU5MDM1KSE9PWU5O1U5Kyspe3JldHVybiBzP246eXU7WjkrPTI7fWlmKHc1LmQxKFo5LnRvU3RyaW5nKCksWjkudG9TdHJpbmcoKS5sZW5ndGgsNDQ5MzkpIT09ajkpe3JldHVybiBzP246eXU7fX0sRGk6ZnVuY3Rpb24oKXtpZighdGhpcy5YZS5laSl7dGhpcy5YZS5laT1ndTt0cnl7dGhpcy52aSgpO3RoaXMuYmkoKTt9Y2F0Y2godCl7fUtjLmUoW3RoaXMuWGUubmk/MDoxLHRoaXMuWGUucmk/MDoxLHRoaXMuWGUueGldW05pXShHcikpO319LFhlOnt0aTp5dSxuaTpndSxlaTp5dSxvaTowLHJpOmd1LHNpOjAsaWk6eXV9LG5uOmZ1bmN0aW9uKHQsZSxpKXtmb3IodmFyIG4scj0wLG89ZT09PVJuP3RoaXMubXQuSmU6dGhpcy5tdC5xZTtpJiZvW3BpXTspe29bQnNdKCk7fWZvcig7cjx0W3BpXTtyKyspe3R5cGVvZihuPXRbcl0pPT09VGM/b1tNcl0obik6dHlwZW9mIG49PT1hciYmdHlwZW9mIG5bd2ErR3IrbWNdPT09VGMmJm9bTXJdKG4pO31yZXR1cm4gdGhpczt9LEppOmZ1bmN0aW9uKCl7dmFyIHkxLEgxLHYxLHQsZTt5MT0xNzAzNzYyNDUyO0gxPTEyMTk1OTkwMzk7djE9Mjtmb3IodmFyIEUxPTE7dzUuZDEoRTEudG9TdHJpbmcoKSxFMS50b1N0cmluZygpLmxlbmd0aCwzODk3NykhPT15MTtFMSsrKXtlPTY7Zm9yKHRoaXMuZmk9W107ZT49dGhpcy5XZVtwaV07ZS0tKXsodD10aGlzLldlW2VdKS5MdCgpfHx0aGlzLmZpW01yXSh0KTt9djErPTI7fWlmKHc1LmQxKHYxLnRvU3RyaW5nKCksdjEudG9TdHJpbmcoKS5sZW5ndGgsMjE2MzkpIT09SDEpe2U9MTtmb3IodGhpcy5maT1bXTtlPnRoaXMuV2VbcGldO2UrKyl7KHQ9dGhpcy5XZVtlXSkuTHQoKSYmdGhpcy5maVtNcl0odCk7fX1lPTA7Zm9yKHRoaXMuZmk9W107ZTx0aGlzLldlW3BpXTtlKyspeyh0PXRoaXMuV2VbZV0pLkx0KCkmJnRoaXMuZmlbTXJdKHQpO31yZXR1cm4gdGhpcy5maTt9LGRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2kudWk7fX07aXUuWCh5LFN0LGZ1bmN0aW9uKCl7dmFyIFg3LEI3LFM3O1g3PTIwMTA5MDA5MDY7Qjc9LTE2OTQwNjQ1NTI7Uzc9Mjtmb3IodmFyIGE3PTE7dzUuTDEoYTcudG9TdHJpbmcoKSxhNy50b1N0cmluZygpLmxlbmd0aCwxNDk3OSkhPT1YNzthNysrKXtFdT0hMTtTNys9Mjt9aWYodzUuZDEoUzcudG9TdHJpbmcoKSxTNy50b1N0cmluZygpLmxlbmd0aCw2MjI0OCkhPT1CNyl7RXU9IXt9O31FdT1vNTt9KTtpbyhmdW5jdGlvbigpe3c1Lm80KDE1KTtLYy5lKHc1LnU0KFNpLFllLEdyLFR0LFllLE0sR3IsWWUsUWUsT3QsQW8pKTt3NS5vNCg0KTtLYy5lKHc1LmM0KHhhLFZ0LEdyKSxvdSk7dzUuWTQoNCk7S2MuZSh3NS5jNChxaSxWdCxHciksc3UpO3c1Lm80KDQpO0tjLmUodzUudTQoRXMsVnQsR3IpLGF1KTt9LDEwKTt5W3J1XT15W3J1XXx8ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG87cj17fTtvPVpjLnAoW1trbytHcitSYStHcitudCxbR2MsR2MuaV1dLFtKbixzdV0sW0d0LG91XSxbWW8rR3IraXMsYXVdLFt6YSxbR2MsR2MuWGkscl1dLFthYStHcitJaSxbR2MsR2MuWmldXSxbYWErR3IrUStHcitiYSxbR2MsR2MuWWldXSxbYWErR3IrX28rR3IrYmEsW0djLEdjLktpXV0sW3crR3IrQ24sW0djLEdjLk1pXV0sW0huLFtHYyxHYy5lbixyXV0sW0duLFtHYyxHYy5oaSxyXV0sW2VzLFtHYyxHYy5HaSxyXV0sW2xjK0dyK2JhLFtHYyxHYy5xZSxyXV0sW1JuK0dyK2JhLFtHYyxHYy5KZSxyXV0sW2FhK0dyK2h0K0dyK0NuLFtHYyxHYy53ZV1dLFthYStHcitubitHcitabyxbR2MsR2MuJGldXSxbYWErR3IreWUrR3IrWm8sW0djLEdjLlZpXV0sW0JhK0dyK3llLFtHYyxHYy5QaV1dLFtrbytHcitkdCtHcitKZSxbR2MsR2MucGldXSxbYWErR3IrVXQrR3IramUrR3IrQmksW0djLEdjLlFpXV0sW2FhK0dyK1V0K0dyK0NhLFtHYyxHYy5kaV1dLFt6aSxbR2MsR2MuTmldXSxbYWErR3IrXyxbR2MsR2MuVWldXSxbRm8rR3IrXyxbR2MsR2MuUmldXSxbaGErVHQrT28sW0tjLEtjLmVdXSxbaGErVHQrRyxbS2MsS2Mucl1dLFtPYStUdCtsaSxbdHUsdHUuYV1dLFtPYStUdCthYSxbdHUsdHUuY11dLFtPYStUdCt4bixbdHUsdHUudV1dLFt0aStUdCtrbytHcitkaSxbZXUsZXUuc11dLFt0aStUdCtsaSxbZXUsZXUuYV1dLFt0aStUdCthYSxbZXUsZXUuY11dLFt0aStUdCt4bixbZXUsZXUudV1dLFtjZStUdCtKbixYYy5wdF0sW2NlK1R0K0lyK0dyK3FpLFhjLmZ0XSxbY2UrVHQra28rR3IrQ3MsWGMuaXRdLFtjZStUdCtrbytHcitYbyxYYy5udF0sW2NlK1R0K2tvK0dyK01hLFhjLm1dLFtjZStUdCtrbytHcit2YStHcitmYytHcit0YyxYYy5ldF0sW2NlK1R0K2tvK0dyK0JuLFhjLnJ0XSxbY2UrVHQra28rR3Irdm4sWGMub3RdLFtjZStUdCtrbytHcitoZSxYYy5zdF0sW2NlK1R0K2tvK0dyK3l0LFhjLmF0XSxbY2UrVHQra28rR3IrZ2MsWGMuYl0sW2NlK1R0K2tvK0dyK0luLFhjLmRdLFtjZStUdCtrbytHcitGYSxYYy5odF0sW2NlK1R0K2tvK0dyK3ZhK0dyK1BzLFhjLmddLFtjZStUdCtrbytHcitjcyxYYy5jdF0sW2NlK1R0K2tvK0dyK0VvLFhjLnV0XSxbY2UrVHQrSm4rR3IrdXQsW1hjLFhjLkpdXSxbY2UrVHQrYW8rR3IrZGksW1hjLFhjLmx0XV0sW0NhK1R0K2xjK0dyK3FzLFtpdSxpdS5LXV0sW0NhK1R0K2xjLFtpdSxpdS5YXV0sW0NhK1R0K2xhLFtpdSxpdS5aXV0sW0NhK1R0K2FhK0dyK3luLFtpdSxpdS50dF1dLFtLZStUdCtrbytHcit2ZStHciskZSxbWmMsWmMud11dLFtLZStUdCtKbitHcit1dCxbWmMsWmMuSl1dLFtLZStUdCtvcyxbWmMsWmMuR11dLFtLZStUdCt3byxbWmMsWmMueV1dLFtLZStUdCtKaSxbWmMsWmMuJF1dLFtLZStUdCtVcytHcitDbixbWmMsWmMuel1dLFtLZStUdCt4bitHcitDbixbWmMsWmMuUF1dLFtLZStUdCthYStHcitVaSxbWmMsWmMuQl1dLFtLZStUdCtEZStHcitZaSxbWmMsWmMuSF1dXSk7Zm9yKGUgaW4gbylpZih5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShvLGUpKXtmb3Iobj1lW0NyXShHcitUdCtHciksdD1yLGk9MDtpPG5bcGldLTE7aSsrKXt0eXBlb2YgdFtuW2ldXT09PWdlJiYodFtuW2ldXT17fSk7dD10W25baV1dO310W25bbltwaV0tMV1dPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIFpjLngodFtlXSk/MT09PXRbZV1bcGldP3RbZV1bMF06ZnVuY3Rpb24oKXtyZXR1cm4gMj09PXRbZV1bcGldP3RbZV1bMV1bb2FdKHRbZV1bMF0sYXJndW1lbnRzKToodFtlXVsxXVtvYV0odFtlXVswXSxhcmd1bWVudHMpLHRbZV1bMl0pO306dFtlXTt9KG8sZSk7fXJldHVybiByO30oKTt9KHQucG9wbnN8fHpjK0dyK1VjK0dyK09jLHQsdFtFaV0sdFtPaV0sdFttcl0sdFtyb10sdFtibl0sdFtObl0sdFtDb10sdFtyaStHcitpb10sdFtsaStHcitZaV0sdFtNaStHcitZaV0sdFtsaStHcitBaV0sdFtNaStHcitBaV0sdFtMdCtHcit0YytHcitmYytHcitndF0sdFt5K0dyK1J0XSx0W2tvK0dyK3lpK0dyK2d0XSx0W2lzXSx0W1hlK0dyK1ZyK0dyK0dzK0dyK3ZhK0dyK1VyXSx0W2RyXSk7fSh3aW5kb3cpO2Y1eXkuSD1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC55PT09J2Z1bmN0aW9uJz9mNXl5LkwueS5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwueTt9O2Y1eXkuVz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Y1eXkuZz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC5PPT09J2Z1bmN0aW9uJz9mNXl5LkwuTy5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwuTzt9O2Y1eXkuZj1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Z1bmN0aW9uIGY1eXkoKXt9ZjV5eS5CPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5MLnk9PT0nZnVuY3Rpb24nP2Y1eXkuTC55LmFwcGx5KGY1eXkuTCxhcmd1bWVudHMpOmY1eXkuTC55O307ZjV5eS5SPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5JPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5MPWZ1bmN0aW9uKEQpe3JldHVybnt5OmZ1bmN0aW9uKCl7dmFyIEcsZD1hcmd1bWVudHM7c3dpdGNoKEQpe2Nhc2UgMjpHPWRbMF0qZFsxXTticmVhaztjYXNlIDA6Rz1kWzBdfGRbMV07YnJlYWs7Y2FzZSAxOkc9ZFsxXS1kWzBdO2JyZWFrO31yZXR1cm4gRzt9LE86ZnVuY3Rpb24oVil7RD1WO319O30oKTtmNXl5Lno9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiBmNXl5LkwuTz09PSdmdW5jdGlvbic/ZjV5eS5MLk8uYXBwbHkoZjV5eS5MLGFyZ3VtZW50cyk6ZjV5eS5MLk87fTtmNXl5LkM9ZnVuY3Rpb24oKXt2YXIgUT0yO3doaWxlKFEhPT0xKXtzd2l0Y2goUSl7Y2FzZSAyOnJldHVybnt2OmZ1bmN0aW9uKFUpe3ZhciBiPTI7d2hpbGUoYiE9PTE0KXtzd2l0Y2goYil7Y2FzZSAyOnZhciBLPScnLGw9ZGVjb2RlVVJJKCJ0JTExa2JsYyU3RCUwNmhiZGxtbDYhJTNDJTNDKyU1QmNkLTo1JTVENyg4Jy8lNUJ3LzI4bWolM0M4KTA3YiolMUMyJTI1bSUwN3ElN0RvYmslMTh3JTdDc2RtaDcpKSUyMipaMmQlMTgtNUErKS5vbXMlMTUlMjUlM0UwKyU1QiUzQyUxMXUlMjA2TXk/KScsSy1kJTNFOSxLMi00OyUyMCUwNjojMCU3RDUlNUM6IzMya0s2IXU5Kks4JTIwNTo2JTVDcSUxRiUzRScsWC1sMCUyMDYlNUN5Ljh1KUc4KDgxZUolM0MqMiclMjAlMDg1JTI1JTNFMCslNUIlM0NsOyUzQylNcWIxOiZJNSIpO2I9MTticmVhaztjYXNlIDk6Sys9U3RyaW5nLmZyb21DaGFyQ29kZShsLmNoYXJDb2RlQXQoWSleVS5jaGFyQ29kZUF0KGspKTtiPTg7YnJlYWs7Y2FzZSAxOnZhciBZPTAsaz0wO2I9NTticmVhaztjYXNlIDU6Yj1ZPGwubGVuZ3RoPzQ6NzticmVhaztjYXNlIDM6az0wO2I9OTticmVhaztjYXNlIDg6WSsrLGsrKztiPTU7YnJlYWs7Y2FzZSA0OmI9az09PVUubGVuZ3RoPzM6OTticmVhaztjYXNlIDc6Sz1LLnNwbGl0KCcoJyk7cmV0dXJuIGZ1bmN0aW9uKFApe3ZhciBoPTI7d2hpbGUoaCE9PTEpe3N3aXRjaChoKXtjYXNlIDI6cmV0dXJuIEtbUF07YnJlYWs7fX19O2JyZWFrO319fSgnRShZTF1VJyl9O2JyZWFrO319fSgpOyFmdW5jdGlvbihlLG8sYyl7InVzZSBzdHJpY3QiO3ZhciBUPWY1eXk7dmFyIGksbix0O1QuZygwKTtpPVQuUihULkgoIjgiLDApKTtULnooMCk7bj1bVC5JKFQuSCgnXHgzMVx4MzAnLDApKSxULkkoKyI2IiksVC5SKCsnXHgzMVx4MzQnKSxULlIoKyIxMiIpLFQuUihULkgoIjUiLDAsVC5nKDApKSksVC5JKFQuQigwLCdceDMwJyxULnooMSkpKSxULlIoVC5CKCdceDMxXHgzMScsMCxULnooMCkpKSxULkkoKyIyIildO1QuZygyKTt0PVsrJ1x4MzJceDMwXHgzMVx4MzknLFQuQignXHUwMDM1JywxKSxULkgoJ1x4MzFceDM2JywwLFQuZygwKSldO3RyeXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yy5Mb2dnZXIubG9nKGksVC5SKCsnXHgzMScpLG4pO2MuTG9nZ2VyLmxvZyhpLFQuUigiNyItMCksdC5qb2luKFQuSSgnXHgzNCctMCkpKTt9LCsiNTAwIik7VC56KDEpO2Mub2JqZWN0PVtuLFsrIjM2MCIsNDk0LDM5MSwrIjMxMiIsVC5CKDAsIjMxMiIpLFQuSCgiMzY1IiwwLFQuZygwKSksKydceDM0XHgzMFx4MzQnLFQuSCgiMzAwIiwwLFQuZygwKSksKydceDMzXHgzNlx4MzBceDMwXHgzMScsVC5IKDAsJ1x4MzNceDM5XHgzNVx4MzJceDMyJyxULmcoMSkpLFQuQigiMTg3NzEiLDAsVC56KDApKSwrIjM0OTQ4IiwxNjU0MSwyOTU3MSwrJ1x4MzVceDMxXHgzN1x4MzFceDM5JywzMzkwOCxULkgoIjc4ODQwIiwwLFQuZygwKSksMTA1OTY0LCsnXHgzOFx4MzRceDM1XHgzNVx4MzUnLFQuSCgiNzI0MjYiLDAsVC5nKDApKSxULkgoJ1x4MzNceDMwXHgzNVx4MzlceDM5JywwLFQuZygwKSksVC5CKCdcdTAwMzRcdTAwMzFcdTAwMzZcdTAwMzJcdTAwMzYnLDAsVC5nKDApKSxULkIoMCwnXHUwMDM4XHUwMDM4XHUwMDMwXHUwMDM4XHUwMDM0JyxULnooMSkpLFQuSCgiNjU0MDkiLDEsVC5nKDIpKSwxNDQwMCxULkgoIjEyODQ0IiwxLFQueigyKSksKydceDM4XHgzNlx4MzBceDMyJyxULkgoJ1x4MzFceDMwXHgzOVx4MzJceDMwJywxLFQuZygyKSksMTM0MTYsVC5IKCdceDMyXHgzNFx4MzhceDMyXHgzMCcsMCxULmcoMCkpLFQuQignXHgzM1x4MzdceDM5XHgzN1x4MzYnLDAsVC56KDApKSwrJ1x4MzVceDMxXHg2NVx4MzMnXSx0LFtULkgoJ1x4MzNceDM2XHgzMicsMCxULmcoMCkpLDQ5NiwrJ1x4MzNceDM5XHgzOScsVC5IKDAsIjczMDkyMyIsVC5nKDEpKSwrJ1x1MDAzMlx1MDAzNVx1MDAzMVx1MDAzMicsVC5IKCI2Mzk4IiwwLFQueigwKSksVC5IKCdcdTAwMzRcdTAwMzFcdTAwMzFcdTAwMzlcdTAwMzFcdTAwMzJcdTAwMzInLDEsVC5nKDIpKSwrJ1x4MzFceDMxXHgzMVx4MzlceDMyJyxULkgoJ1x4MzNceDM0XHgzMlx4MzNceDM2JywwLFQueigwKSksMjQ2MSwzMjU1NywxMDIxMF0sby5jdXJyZW50U2NyaXB0LFQuSCgiMSIsMSxULmcoMikpXTt9Y2F0Y2gobyl7dm9pZCgnXHgzMCcqMSkhPT1lLmNvbnNvbGUmJmUuY29uc29sZS5sb2cmJkZ1bmN0aW9uLmFwcGx5LmNhbGwoZS5jb25zb2xlLmxvZyxlLmNvbnNvbGUsW1QuSSgnXHgzMVx4MzMnfDApXSk7fX0od2luZG93LGRvY3VtZW50LHdpbmRvd1t3aW5kb3cucG9wbnN8fGY1eXkuUigiMyItMCldKTt2YXIgXzB4MTM4Zj1bJ1x4NThceDQ4XHg2M1x4NzInLCdceDQ5XHg1NFx4NDVceDZmXHg2NFx4NDNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NmNceDUwXHg1NFx4NDVceDZmXHg1YVx4NTNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NzVceDUwXHg1OFx4NTFceDc1XHg2Mlx4NzlceDY3XHg2OVx4NjJceDUzXHg0OVx4NzBceDRmXHg3YVx4NTlceDY3XHg2Mlx4NjlceDM0XHg3OVx4NGNceDZkXHg3N1x4MzlceDQ5XHg2ZFx4NzNceDY5XHg0Y1x4NDdceDM0XHg3NVx4NGRceDY5XHgzNVx4NzdceDUwXHg1NFx4NDFceDczXHg2Mlx4NjlceDM0XHg3OVx4NGNceDZlXHg0NVx4MzlceDRkXHg0M1x4NzhceDc1XHg0Y1x4NmFceDQ5XHg3NVx4NjRceDdhXHgzMFx4NjlceDYxXHg2OVx4NDlceDczXHg2Mlx4NjlceDM1XHgzMVx4NTBceDUzXHg0OVx4MzNceDRmXHg2OVx4MzhceDc2XHg2M1x4NjlceDM1XHgzNFx4NGNceDZhXHg1NVx4NzZceDYxXHg0M1x4MzlceDY4XHg0Y1x4NzlceDQ5XHg3Mlx4NWFceDUzXHg3OFx4MzBceDRjXHg2ZFx4NDlceDc1XHg2MVx4NTNceDY4XHg3NVx4NGJceDUzXHg3OFx4NzVceDY2XHg1M1x4NzhceDc1XHg1MFx4NTdceDRkXHg2Zlx4NWFceDc5XHg2N1x4NmZceDY0XHg0M1x4MzVceDZiXHg0Y1x4NmVceDU5XHg2Zlx4NTFceDY5XHg0Mlx4NGZceDRiXHg0M1x4NDlceDZmXHg0ZVx4N2FceDM5XHgzOFx4NTNceDY5XHgzMVx4MzVceDRiXHg1NFx4NzBceDYzXHg1OFx4NDNceDM5XHg2M1x4NThceDQzXHgzOFx4NjlceDRiXHg1M1x4NzdceDY5XHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDRjXHg3OVx4NDlceDcwXHg1N1x4N2FceDQyXHg2NFx4NjZceDQ4XHg3N1x4NjlceDUzXHg3OVx4MzRceDMxXHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDQ5XHg2OVx4NmJceDc1XHg1NFx4NDNceDY3XHg3OFx4NGJceDQ4XHg1MVx4NzBceDY1XHg3YVx4NTlceDY3XHg2NFx4NDNceDM1XHg0ZVx4NGJceDQ0XHg0MVx4NzBceDRjXHg2Ylx4NjNceDZmXHg1M1x4NDNceDZjXHgzOVx4NGJceDUzXHgzNVx4NDJceDRiXHg0M1x4NDlceDY5XHg0Ylx4NTNceDZiXHg3MFx4NGZceDMzXHg2Zlx4NzVceDRlXHg0M1x4NjdceDY5XHg1MVx4NzlceDQ5XHg3M1x4NGRceDUzXHg2N1x4NzBceDY1XHgzMlx4NTVceDZmXHg2Mlx4NjlceDczXHg2OVx4NGNceDMyXHg1OVx4NzVceDRmXHg1M1x4NDlceDcwXHg0Y1x4NmFceDUxXHg2Zlx4NDlceDZiXHg1MVx4NjlceDRjXHg0NFx4NDVceDZmXHg0Ylx4NThceDc0XHg0N1x4NGJceDQ0XHg0NVx4NmZceDRiXHg1OFx4NzRceDZjXHg0Ylx4NDdceDM0XHg3Mlx4NDlceDY5XHgzOVx4N2FceDRjXHg2YVx4NmJceDY5XHg0Ylx4NThceDMwXHg3M1x4NTJceDUzXHg2Y1x4MzlceDRiXHg1OFx4MzBceDcwXHg2Nlx4NTNceDY4XHg0YVx4NGJceDU0XHg3M1x4M2QnLCdceDYzXHgzM1x4NDJceDczXHg2MVx4NThceDUxXHgzZCcsJ1x4NWFceDZlXHg0YVx4NzZceDYyXHg1NVx4NGVceDZmXHg1OVx4NThceDRhXHg0NFx4NjJceDMyXHg1Mlx4NmMnLCdceDY0XHg0N1x4MzlceDU0XHg2NFx4NDhceDRhXHg3MFx4NjJceDZkXHg2M1x4M2QnLCdceDYzXHg2ZFx4NTZceDc3XHg2Mlx4NDdceDQ2XHg2YVx4NWFceDUxXHgzZFx4M2QnXTsoZnVuY3Rpb24oXzB4MWI1OWFjLF8weDMwZDYwNSl7dmFyIF8weDQ0NTljOT1mdW5jdGlvbihfMHgxNDY4YWMpe3doaWxlKC0tXzB4MTQ2OGFjKXtfMHgxYjU5YWNbJ3B1c2gnXShfMHgxYjU5YWNbJ3NoaWZ0J10oKSk7fX07XzB4NDQ1OWM5KCsrXzB4MzBkNjA1KTt9KF8weDEzOGYsMHgxMGIpKTt2YXIgXzB4MTdjMT1mdW5jdGlvbihfMHgxOTc3ZGIsXzB4Yzc5ZjY5KXtfMHgxOTc3ZGI9XzB4MTk3N2RiLTB4MDt2YXIgXzB4MTYyZGYyPV8weDEzOGZbXzB4MTk3N2RiXTtpZihfMHgxN2MxWydPTXJTcXgnXT09PXVuZGVmaW5lZCl7KGZ1bmN0aW9uKCl7dmFyIF8weDI0NzE2Njt0cnl7dmFyIF8weDViZDYyOT1GdW5jdGlvbigncmV0dXJuXHgyMChmdW5jdGlvbigpXHgyMCcrJ3t9LmNvbnN0cnVjdG9yKFx4MjJyZXR1cm5ceDIwdGhpc1x4MjIpKFx4MjApJysnKTsnKTtfMHgyNDcxNjY9XzB4NWJkNjI5KCk7fWNhdGNoKF8weDMyOTViMCl7XzB4MjQ3MTY2PXdpbmRvdzt9dmFyIF8weDI4M2NlOT0nQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0nO18weDI0NzE2NlsnYXRvYiddfHwoXzB4MjQ3MTY2WydhdG9iJ109ZnVuY3Rpb24oXzB4MzQxYjE5KXt2YXIgXzB4MTQ0Zjk2PVN0cmluZyhfMHgzNDFiMTkpWydyZXBsYWNlJ10oLz0rJC8sJycpO2Zvcih2YXIgXzB4MjhhNzVlPTB4MCxfMHg1OWNiNWIsXzB4MWUwOTNkLF8weDUxZWZhNj0weDAsXzB4OTIyYWFjPScnO18weDFlMDkzZD1fMHgxNDRmOTZbJ2NoYXJBdCddKF8weDUxZWZhNisrKTt+XzB4MWUwOTNkJiYoXzB4NTljYjViPV8weDI4YTc1ZSUweDQ/XzB4NTljYjViKjB4NDArXzB4MWUwOTNkOl8weDFlMDkzZCxfMHgyOGE3NWUrKyUweDQpP18weDkyMmFhYys9U3RyaW5nWydmcm9tQ2hhckNvZGUnXSgweGZmJl8weDU5Y2I1Yj4+KC0weDIqXzB4MjhhNzVlJjB4NikpOjB4MCl7XzB4MWUwOTNkPV8weDI4M2NlOVsnaW5kZXhPZiddKF8weDFlMDkzZCk7fXJldHVybiBfMHg5MjJhYWM7fSk7fSgpKTtfMHgxN2MxWyd4anFrREYnXT1mdW5jdGlvbihfMHgzMzc3MTgpe3ZhciBfMHg1ZGRiMTU9YXRvYihfMHgzMzc3MTgpO3ZhciBfMHg1NjBiOTU9W107Zm9yKHZhciBfMHhjOTdmOTE9MHgwLF8weDQ0MTg3Mj1fMHg1ZGRiMTVbJ2xlbmd0aCddO18weGM5N2Y5MTxfMHg0NDE4NzI7XzB4Yzk3ZjkxKyspe18weDU2MGI5NSs9JyUnKygnMDAnK18weDVkZGIxNVsnY2hhckNvZGVBdCddKF8weGM5N2Y5MSlbJ3RvU3RyaW5nJ10oMHgxMCkpWydzbGljZSddKC0weDIpO31yZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KF8weDU2MGI5NSk7fTtfMHgxN2MxWydrRG1IU2snXT17fTtfMHgxN2MxWydPTXJTcXgnXT0hIVtdO312YXIgXzB4MzA2NDA1PV8weDE3YzFbJ2tEbUhTayddW18weDE5NzdkYl07aWYoXzB4MzA2NDA1PT09dW5kZWZpbmVkKXtfMHgxNjJkZjI9XzB4MTdjMVsneGpxa0RGJ10oXzB4MTYyZGYyKTtfMHgxN2MxWydrRG1IU2snXVtfMHgxOTc3ZGJdPV8weDE2MmRmMjt9ZWxzZXtfMHgxNjJkZjI9XzB4MzA2NDA1O31yZXR1cm4gXzB4MTYyZGYyO307ZXZhbChmdW5jdGlvbihfMHg0OWIyZTksXzB4MTA2OTM1LF8weDIyM2Q1NixfMHgyZmY2ZTksXzB4ZWQ3ZDI2LF8weDNiYzUwMCl7XzB4ZWQ3ZDI2PWZ1bmN0aW9uKF8weDI2YmI4Mil7cmV0dXJuKF8weDI2YmI4MjxfMHgxMDY5MzU/Jyc6XzB4ZWQ3ZDI2KHBhcnNlSW50KF8weDI2YmI4Mi9fMHgxMDY5MzUpKSkrKChfMHgyNmJiODI9XzB4MjZiYjgyJV8weDEwNjkzNSk+MHgyMz9TdHJpbmdbXzB4MTdjMSgnMHgwJyldKF8weDI2YmI4MisweDFkKTpfMHgyNmJiODJbXzB4MTdjMSgnMHgxJyldKDB4MjQpKTt9O2lmKCEnJ1tfMHgxN2MxKCcweDInKV0oL14vLFN0cmluZykpe3doaWxlKF8weDIyM2Q1Ni0tKXtfMHgzYmM1MDBbXzB4ZWQ3ZDI2KF8weDIyM2Q1NildPV8weDJmZjZlOVtfMHgyMjNkNTZdfHxfMHhlZDdkMjYoXzB4MjIzZDU2KTt9XzB4MmZmNmU5PVtmdW5jdGlvbihfMHgzMjA3ZjYpe3JldHVybiBfMHgzYmM1MDBbXzB4MzIwN2Y2XTt9XTtfMHhlZDdkMjY9ZnVuY3Rpb24oKXtyZXR1cm4gXzB4MTdjMSgnMHgzJyk7fTtfMHgyMjNkNTY9MHgxO307d2hpbGUoXzB4MjIzZDU2LS0pe2lmKF8weDJmZjZlOVtfMHgyMjNkNTZdKXtfMHg0OWIyZTk9XzB4NDliMmU5W18weDE3YzEoJzB4MicpXShuZXcgUmVnRXhwKCdceDVjXHg2MicrXzB4ZWQ3ZDI2KF8weDIyM2Q1NikrJ1x4NWNceDYyJywnXHg2NycpLF8weDJmZjZlOVtfMHgyMjNkNTZdKTt9fXJldHVybiBfMHg0OWIyZTk7fShfMHgxN2MxKCcweDQnKSwweDMyLDB4MzIsJ1x4N2NceDY2XHg3NVx4NmVceDYzXHg3NFx4NjlceDZmXHg2ZVx4N2NceDczXHg3NFx4NzlceDZjXHg2NVx4N2NceDczXHg3MFx4NmNceDY5XHg3NFx4N2NceDYxXHg2NFx4NjRceDQ1XHg3Nlx4NjVceDZlXHg3NFx4NGNceDY5XHg3M1x4NzRceDY1XHg2ZVx4NjVceDcyXHg3Y1x4NjNceDZmXHg2ZFx4N2NceDcyXHg2NVx4NzRceDc1XHg3Mlx4NmVceDdjXHg2OFx4NzRceDc0XHg3MFx4NzNceDdjXHg3Nlx4NjFceDcyXHg3Y1x4NzBceDZlXHg2N1x4N2NceDcwXHg3NFx4N2NceDYyXHg2Zlx4NjRceDc5XHg3Y1x4NjVceDZlXHg2M1x4NmZceDY0XHg2NVx4NTVceDUyXHg0OVx4NDNceDZmXHg2ZFx4NzBceDZmXHg2ZVx4NjVceDZlXHg3NFx4N2NceDcyXHg2NVx4NjZceDY1XHg3Mlx4NzJceDY1XHg3Mlx4N2NceDdjXHg3Y1x4NjJceDc0XHg2Zlx4NjFceDdjXHg3Nlx4MzFceDdjXHg2MVx4NzBceDcwXHg2NVx4NmVceDY0XHg0M1x4NjhceDY5XHg2Y1x4NjRceDdjXHg2ZVx4NmZceDZlXHg2NVx4N2NceDYxXHg2Mlx4NzNceDZmXHg2Y1x4NzVceDc0XHg2NVx4N2NceDcwXHg2Zlx4NzNceDY5XHg3NFx4NjlceDZmXHg2ZVx4N2NceDY5XHg2ZFx4NjdceDdjXHg3Y1x4NjNceDcyXHg2NVx4NjFceDc0XHg2NVx4NDVceDZjXHg2NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg3NFx4NmZceDcwXHg3Y1x4NmNceDY1XHg2Nlx4NzRceDdjXHg2MVx4NzBceDY5XHg3Y1x4N2NceDdjXHg3M1x4NzJceDYzXHg3Y1x4NzJceDY1XHg3MFx4NmNceDYxXHg2M1x4NjVceDdjXHg3MFx4NmZceDY5XHg2ZVx4NzRceDY1XHg3Mlx4NDVceDc2XHg2NVx4NmVceDc0XHg3M1x4N2NceDYzXHg2Y1x4NjlceDYzXHg2Ylx4NjFceDY5XHg2ZVx4NjVceDdjXHg2MVx4NzBceDcwXHg3Y1x4NzdceDY5XHg2ZVx4NjRceDZmXHg3N1x4N2NceDZhXHg2Zlx4NjlceDZlXHg3Y1x4NmVceDY1XHg3N1x4N2NceDQ0XHg0Zlx4NGRceDQzXHg2Zlx4NmVceDc0XHg2NVx4NmVceDc0XHg0Y1x4NmZceDYxXHg2NFx4NjVceDY0XHg3Y1x4NmNceDZmXHg2MVx4NjRceDdjXHgzNVx4NjVceDMzXHg3Y1x4NzNceDY1XHg3NFx4NTRceDY5XHg2ZFx4NjVceDZmXHg3NVx4NzRceDdjXHg3NFx4NmZceDUzXHg3NFx4NzJceDY5XHg2ZVx4NjdceDdjXHgzMVx4MzZceDdjXHg2NFx4NmZceDYzXHg3NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg2MVx4NmVceDY0XHg3Mlx4NmZceDY5XHg2NFx4N2NceDY0XHg2Zlx4NzRceDdjXHg2ZFx4NjFceDcwXHg3Y1x4NjNceDY4XHg2MVx4NzJceDQzXHg2Zlx4NjRceDY1XHg0MVx4NzRceDdjXHg1Mlx4NjVceDY3XHg0NVx4NzhceDcwJ1tfMHgxN2MxKCcweDUnKV0oJ1x4N2MnKSwweDAse30pKTsKO3ZhciBjSVBvcCA9IGZ1bmN0aW9uIGNJUG9wKHVybCkgewoJCWNQb3AuY29uZmlnKHsKCQkJY292ZXJUYWdzOiBbJ3ZpZGVvJywgJ2lmcmFtZSddLAoJCQl0YWJVbmRlcklnbm9yZVRhcmdldEJsYW5rOiB0cnVlLAoJCQlkZWxheTogMTAwCgkJfSk7CgkJY1BvcC5hZGQodXJsLCB7CgkJCW5ld1RhYjogdHJ1ZSwKCQkJdW5kZXI6IHRydWUsCgkJCWNvb2tpZUV4cGlyZXM6IDEwMH0pfTs=(Line 1)
Message:
[object HTMLDivElement]
console-api log URL: data:text/plain;base64,d2luZG93LnBvcG5zID0gJ2NQb3AnO3Y3R0cuYzQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmU0PT09J2Z1bmN0aW9uJz92N0dHLlo0LmU0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmU0O307djdHRy5pMT1mdW5jdGlvbigpe3ZhciBxMT1mdW5jdGlvbihJMSxLMSl7dmFyIEExPUsxJjB4ZmZmZjt2YXIgcjE9SzEtQTE7cmV0dXJuKHIxKkkxfDApKyhBMSpJMXwwKXwwO30sbTE9ZnVuY3Rpb24oajEsVTEsaDEpe3ZhciB4MT0weGNjOWUyZDUxLHoxPTB4MWI4NzM1OTM7dmFyIGUxPWgxO3ZhciB0MT1VMSZ+MHgzO2Zvcih2YXIgWjE9MDtaMTx0MTtaMSs9NCl7dmFyIFExPWoxLmNoYXJDb2RlQXQoWjEpJjB4ZmZ8KGoxLmNoYXJDb2RlQXQoWjErMSkmMHhmZik8PDh8KGoxLmNoYXJDb2RlQXQoWjErMikmMHhmZik8PDE2fChqMS5jaGFyQ29kZUF0KFoxKzMpJjB4ZmYpPDwyNDtRMT1xMShRMSx4MSk7UTE9KFExJjB4MWZmZmYpPDwxNXxRMT4+PjE3O1ExPXExKFExLHoxKTtlMV49UTE7ZTE9KGUxJjB4N2ZmZmYpPDwxM3xlMT4+PjE5O2UxPWUxKjUrMHhlNjU0NmI2NHwwO31RMT0wO3N3aXRjaChVMSU0KXtjYXNlIDM6UTE9KGoxLmNoYXJDb2RlQXQodDErMikmMHhmZik8PDE2O2Nhc2UgMjpRMXw9KGoxLmNoYXJDb2RlQXQodDErMSkmMHhmZik8PDg7Y2FzZSAxOlExfD1qMS5jaGFyQ29kZUF0KHQxKSYweGZmO1ExPXExKFExLHgxKTtRMT0oUTEmMHgxZmZmZik8PDE1fFExPj4+MTc7UTE9cTEoUTEsejEpO2UxXj1RMTt9ZTFePVUxO2UxXj1lMT4+PjE2O2UxPXExKGUxLDB4ODVlYmNhNmIpO2UxXj1lMT4+PjEzO2UxPXExKGUxLDB4YzJiMmFlMzUpO2UxXj1lMT4+PjE2O3JldHVybiBlMTt9O3JldHVybntiMTptMX07fSgpO3Y3R0cuRDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LkM2PT09J2Z1bmN0aW9uJz92N0dHLlo0LkM2LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LkM2O307djdHRy5MMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLlo2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5DNj09PSdmdW5jdGlvbic/djdHRy5nNi5DNi5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5DNjt9O3Y3R0cuWjQ9ZnVuY3Rpb24oQTQpe3JldHVybntlNDpmdW5jdGlvbigpe3ZhciBTNCxsND1hcmd1bWVudHM7c3dpdGNoKEE0KXtjYXNlIDI6UzQ9bDRbMF0rbDRbMV07YnJlYWs7Y2FzZSAyMjpTND1sNFsyXStsNFswXS1sNFsxXTticmVhaztjYXNlIDc6UzQ9bDRbNF0rbDRbMTBdK2w0WzExXStsNFszXSsobDRbNl0rbDRbMV0rbDRbNV0rbDRbOV0rbDRbMl0rbDRbMF0rbDRbOF0pK2w0WzddO2JyZWFrO2Nhc2UgNjpTND1sNFsyXS9sNFswXS9sNFsxXTticmVhaztjYXNlIDE3OlM0PWw0WzZdK2w0WzFdK2w0WzBdK2w0WzRdK2w0WzVdK2w0WzJdK2w0WzNdO2JyZWFrO2Nhc2UgMTpTND1sNFszXStsNFs0XStsNFsyXStsNFsxXStsNFswXTticmVhaztjYXNlIDM6UzQ9bDRbMV0rKGw0WzNdK2w0WzVdK2w0WzBdK2w0WzRdK2w0WzJdKTticmVhaztjYXNlIDExOlM0PWw0WzFdPGw0WzBdO2JyZWFrO2Nhc2UgOTpTND1sNFswXT4tbDRbMV07YnJlYWs7Y2FzZSA0OlM0PWw0WzBdK2w0WzFdK2w0WzJdO2JyZWFrO2Nhc2UgODpTND1sNFswXT09PWw0WzFdO2JyZWFrO2Nhc2UgMTQ6UzQ9bDRbMF0rbDRbNF0rbDRbN10rbDRbMl0rbDRbNV0rbDRbM10rbDRbMV0rbDRbNl0rbDRbOF07YnJlYWs7Y2FzZSAyMTpTND1sNFswXSVsNFsyXS1sNFsxXTticmVhaztjYXNlIDEyOlM0PWw0WzVdK2w0WzJdK2w0WzZdK2w0WzBdKyhsNFs0XStsNFszXStsNFsxXSk7YnJlYWs7Y2FzZSAxNjpTND1sNFswXStsNFsyXTxsNFsxXTticmVhaztjYXNlIDIwOlM0PWw0WzFdJWw0WzJdKmw0WzBdO2JyZWFrO2Nhc2UgNTpTND1sNFs1XSsobDRbMTNdK2w0WzNdK2w0WzddK2w0WzEyXStsNFs2XStsNFs0XStsNFsyXStsNFswXStsNFsxMF0rbDRbOF0rbDRbMTFdK2w0WzldK2w0WzFdKTticmVhaztjYXNlIDA6UzQ9bDRbOV0rbDRbOF0rbDRbMl0rbDRbMTNdK2w0WzNdK2w0WzRdK2w0WzFdK2w0WzBdK2w0WzddK2w0WzExXStsNFsxMF0rbDRbNl0rbDRbNV0rbDRbMTRdK2w0WzEyXTticmVhaztjYXNlIDE4OlM0PWw0WzBdKmw0WzJdJWw0WzFdO2JyZWFrO2Nhc2UgMTA6UzQ9LWw0WzBdPT09bDRbMV07YnJlYWs7Y2FzZSAxMzpTND1sNFsxNF0rbDRbMjddK2w0WzE5XStsNFswXStsNFsxMV0rbDRbNV0rbDRbMTBdK2w0WzI5XStsNFsyXStsNFsyM10rbDRbMjBdK2w0WzRdK2w0WzIyXStsNFsxOF0rbDRbMjRdK2w0WzEyXStsNFs3XStsNFsxNV0rbDRbNl0rbDRbMTNdK2w0WzE3XStsNFs5XStsNFsyOF0rbDRbMjFdK2w0WzFdK2w0WzMwXStsNFsyNl0rbDRbMTZdK2w0WzNdK2w0WzI1XStsNFs4XTticmVhaztjYXNlIDE5OlM0PWw0WzFdL2w0WzBdJWw0WzJdO2JyZWFrO2Nhc2UgMTU6UzQ9bDRbNV0rbDRbNF0rbDRbMTBdK2w0WzFdK2w0WzZdK2w0WzldK2w0WzJdK2w0WzddK2w0WzhdK2w0WzNdK2w0WzBdO2JyZWFrO31yZXR1cm4gUzQ7fSxzNDpmdW5jdGlvbihQNCl7QTQ9UDQ7fX07fSgpO3Y3R0cueDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy51ND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuZTQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuZTQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuZTQ7fTtmdW5jdGlvbiB2N0dHKCl7fXY3R0cuWTQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LnM0PT09J2Z1bmN0aW9uJz92N0dHLlo0LnM0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LnM0O307djdHRy5vND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuczQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuczQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuczQ7fTt2N0dHLmw2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuQjQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy5nNj1mdW5jdGlvbigpe3ZhciBzNj0yO3doaWxlKHM2IT09MSl7c3dpdGNoKHM2KXtjYXNlIDI6cmV0dXJue0M2OmZ1bmN0aW9uKHg2KXt2YXIgbTY9Mjt3aGlsZShtNiE9PTE0KXtzd2l0Y2gobTYpe2Nhc2UgNDptNj1JNj09PXg2Lmxlbmd0aD8zOjk7YnJlYWs7Y2FzZSAyOnZhciBQNj0nJyxVNj1kZWNvZGVVUkkoIjIjMUw3QTg4LEk1Vz84O1Y0WiUyMiUzRStHO0IlMjIpJTIwRyUwQUUlMjIkLFE/RTIyJTE0UChBMCMqRypLJjklM0MlNUQ/ViUzQz8sdDtHKCUzRTdNL1Y4Mj8lNUM0UTQtJTIwRyUxOEElMjI4N0skaTkoN0c3TTgyJTA1JTVDOE8/OCxaNUolMjUjJTNFJTVDJG4lMjUyJTdCRyxBJD87VjRabTIhTTVUKCQzVyUzRUgzKCxLP0k5OjdHaCUxNiglMUU3Xz9WMyUzRSxaNUolMjIpJTNDTSRJMyUzRTUlNUMkSjM0JkclMEJHO3U5JTVEJHooJTAwPSU1RT1BJDIhJTVDLlolM0UpOyU1RTJQKCUwOSUzRSU1QzdBODghRylQLyUyMDdHLE0lMjUlMjUwUDZNJTIyNSxqJEc6JTI1N1cuWjMlMjA3VD9KJTIyMiUxNUE2WiUxQSYsaz9FNSQ3JTVEJGswMj1fJTNDVzM4LG8lMjBaJTEzKyxuM0oyIyUyNUc5RTgvN1UkbicvKyUwQzBGZCU3QyUyMkc4TTgoLEk1TTg4N0skSiMhMCU1QyhaNS0lM0VVJH4oJTIwN18uWngyJlgoQzM4LHoyVjkhN0clM0VBJTIwJTI1MSU1QyRwLyUzQzdKJFclM0UjJ1UlM0VaJTIyLTVHJTAzJTE3KCUwNTVXNVYzMiUxMFA0QCglMTk1RyUwQVY5JTNDMyU1RTtQPyMlM0NHNVQzJTIyN0skSDkvM00zSzgyJTA1QTZHJTNDO2pHLk07KSx2NEczMiUxM1U2WjAlM0UzVD9aJTA1ISxLO0oyIz9HJTE4UiglMDU2RzBLPyUyMiwlNjAqWjsjJCU1QyRTPyUyMjZWLVoyJTI1IUk2RS8ybEclMUVLOy07VyRAMz85TTVUKCUwQSElNUUkUDcuJ1clM0VBJDIlMTMlNUUkRTQjJ00kVzUlM0U7SS5aJjkhUSRBJTIwKSUzQ00pWiUyMiUzRTNXKVQ3JTNFN1cuWiY4MVY0QyglMUYmVihFMSkseCRQNy4saT9WJi01JTVDJEk3NCxKL0YlMjU4JTIwRzZLNygsajlWPyUzQyZHJTEzSiUyMiklMjBPO0goJCUyMCU1QyUzQ1o4IyxaKEE3ODdHO1AlMjItMVEkSDklMjI1Ry9WOjIlMUZYLkwoLTBaJTNFQTArOlAwTzohJTNDVipVJD8mTCxTLjUoRyUxNVQzJTNFM0clMENFOjk3RyUxOEgoOSUzQyU1RD9WKCUwNSYlNUM3WiUxNCUzRT1OKUEkMiUxM1clM0VWOSUyNTZHOVEkJTNFN1cuWiUxNCUyMDNXMVoyKSRHNEslMjIyJTFFJTVDJTNDUCg/N1U/RyUyMiMlMjBHJTFEJTFEPy04TmJaPyUyMiUzQyU1QyhaNCUyMDNXMVolMDM1LCU1QyRzPyUyMix4LlolMTQ5MCU1QjZBKCg3WjVAMzIlMDJYKEE4OCxoL0EjKTZHdlolMDU4M1QqWiYtJTIwJTVDNFAoJDNKJFElMjUpJTIwRyhBJiUyMDNaP1olMDAyI0w/Vi8yJTNDJTVDLlM5JTNFOUcpTD8qJkcqVjk4PU0jVDMyPSU1QjBBNTgseSRKIyUyMCUzRUcuSyh+YiUwOGJaPyUyMiUyMkwuWjstJloyWiQpIU01VjMyO18oRTspLHU1UzMlM0UsJTdGalolMDQyJTA2UTtKJTNFMiUxRkc4USUyMjg9VyRvMjIlMTglMDkkcSQlMjAsaSRGMyo9Sz9aJTAwKSUyMEozSzgyJTA0TCRBOC0wVT9AKCUwMyxLP1czOCwlMTEkVjM/O0M/WiMlMjI2JTVDJTNDTTgpNkd6WiUyNSUzRTFHJTFEQSUyMjg3SyUwNSU3QiglMUM6WDRaPzIxVT9FJDIwWClBJTYweCwlNjAkQDMuJyU1RSRDMzgsUztSNz8xSzNUJTIyMjNNLlY/LidNP1coJTFGJkszSjEyLHU3WjgpJTI1RzVKNSUyMDtaMVolMTF1JTI1JTVEJCU3QyhjLFQzSTMyJTE0TDRHJTIyJTI1PVckVjM9JyU1QylQKCUxMHplc3glMjVmKWUpJTBFJTBBJTE3JTBFSnBKNzg7Tz8lMDQ1IzYlNUMlMDZXJTdDJTEwJTBGZSklMEUrMiUxRVA0US4yJTFFJTA5KkwyISwlNUQ/VyUyMiUzRT1AJE07MjZQKVQ3ODFRJE04PzdLLlo4IzYlNUMkajoyJTAxJTVDNkE1OD1LJCUxMiglMDg3JTVCL0MoJTE4MyU1RSlaJTE0JCwlNUU/SzojMVguTTklMjIsJTdDLEE4OCxYKlQ6NSwlNUQ7UDcycUclMEVFJCs3TSRnOSElMjJYKEEoaSwlN0Y2RTEyY0clMTlFJTI1KSwlNUQ1STclMjUlM0NHJTFCUSUyMiQ9SyRGOSgrRztAMjIlMERmJTNFQTAlMjUlM0MlNUMkcDcrLFQ/VyUyNS01JTVDJEk5OSElNUMvVCglMEElMjBWN1olMDYjO1cuWiUyMC0lMjBHJTBFSyMvOiU1QylaJTAyIywlN0QtUig2LFg4VzklMjAnTT9aJTA3Kyx4NEclM0UjJTIwRzNKMikqRy1BNCc7TSRWMyUyMDdYKUEoJTAxPUwpQSglMEEzVTZGNy85RyUwOVA3LzlHOUUlMjIvOkcqSyUyNTgsWjVKNS0mRyUxNiUxNSglMjA3Vz1QJTNFMiUyMCU1RCRUNyUzRSElNUMkaS8yOlAlM0VAMyUyMiwlMDhqJTE0KCUwQTtLP1olMTc2LFEuUCY/LGk/VjslMjUhSjNLODIlMDBQJGsmKSUzQyU1QyhaJTA3MiUzQ1Y0QSgvJ0spSyQyJTIyWD1BKCUzQypHJ1olMTgtPyU1QyRHJTNFLSUzQyU1RT9AKCUxOSZQNlcoPyZLM0oxMiUxMyU1RTglMTYoJTBEJFgzSDcuJTNFJTVDJGJkMiUxNSUwMDNFJTNDMiUxQl8oRTspLHo1SSYjJTNDJTVDNFAoJTBEPVokJTE5KCUwRCUyNUclMTZafiUxMCFFfiUwRCgvPVcuRTU4LH4kVjM/O0M7RjopLHguUCQlMjUwTC5BKCUwMT0lNUIzSDMyPUszQz8lMjIsWC9QJTNFIyUyMEc/JTVDMy8sdipBODIlMERNO1YxKSZHJTNDTS4pNkclMDVQPyE3Vi9QJTA5MiUxM1YkcSglMDg3XztROjgsdTtXJTIyMiUxQkclM0VBJTIyLTFRJHYlMjAyJTA4JTBCJHc1JTNFPVU2RjclM0UsJTdGKVolMDItMEc/JTVDJiUyNSUyMCU1QylaJTE0OyxQJTNFWiUxRiUyMjYlNUMlMjJaOyMwUDZBKCUwRStHJTBETTI4Okc3TyYyJTExViUzRUEoJTIyM1Q/WiUyNSUzQzdaM0I/KTZHKkUlMjIkLFo2TTUnLHElM0VMNzIwVS9WKCUxQyUyMFYqQSQ4K0c5SzgqOyU1RSRXMyUyMDRHJTA4TWY0LGgvWjAlMjA9VihaJTEzNCUyMkclMTVTODIlMTclNUQ9QSglMjUhRyUwRkoyKSUyMEclMUJDMyUyMiZHLiU1RCYpLHpjWmoyJTE0UChBMjIlMURJLk05JTIyIUclM0NROC8mUDVKKCUwNixNO0YjJTNDLEkoTTg4LCU3QyUyMlQ/JTNFN0okZzkjOVA/WiUwNSUyNTBVM0oxMiUyNUclMTVSMyUzRSUzRVgjWiUwMiUyNT8lNUM1USUyMjIlMUQlNUIwQTU4LFYvUDMlM0UscyxGZTIlMjVQJTNFUCUzRTIhVTNHMzIlMUNYJCUxNiglMUM4RyUxNk0yLyxYJGg/PyYlNUM0QSQyJTFGViUyME06JTIwM0clMUVFJTIyKSx2NEg5LTZHKUUwKSxMNEY/JTIyNkcuSyMvOiU1QzRAKCUwRTdfNVYzMjFVO1clMjUyJTAyVilNJTIyJTI1PVckJTYwKCUyNSUzQ1AuWiUxODIlMDlHOUs5JzslNUMkbicyJTBCVDVIKDg9SSRvKC86WChaJTA5LiUzRVg0TyglMjA9JTVFJEsmKSUzQ0clMTJaJTEzJTIwN1Q/SiUyMjIlMDAlNUM2QTc/N0cqSyY5JTNDJTVEP1YoJTNDPUkkdDo5NVA0WiUwNiMlMjJMNEAzJTNFLHMyRSglMTU/VmJaJTNFOD9VJHc3KjNLM1o5JTIyLHc1QDMyJTA1JTBDMUZkMjFVNVczMj9WL1czKD1ONFojPzclMTkpUCQlMjUxTSRnIyUzRSUyMCU1QzRQKC4zWjFDJCMnVyUzRVo7KSZYJFAzNCZHJTE5QzgyIVooQTMlMjIsJTFEJGEoJTBCa1ckbTEyayUwMGMlMURvdWtHKEEwKSUyMEs/VigpIVo7VDMyJTdGRztUJiklM0MlNUQkTDk/JkcqQSQlM0MzJTVFP1olMUYlMjImRyUwRkEoJTIyPUs/QiglMDQ7UztHPSUyNSUzQyU1RSRxJiUzQzdLJCUwRiglMTghSSRzYycsTTVRNSQhTTtWJTIyMiUzRVY5RToyJTAxJTVDNFc/ODtPP1psMiUxRiU1RSRzKHQsdzVQPyo7WjtQPyMlM0NHIVolMDQpNUc1SjQlMjAnSyRnKCUwMTdKKUUxKSxMJCUxNCY0LHgoVjc1LEkoQSUyMCklM0NNJHkoJTBGJTNFUDlPMygsWDhXKCUxQz9HblolMEYhPUAkVDklM0MnSSQlMEMlMDgwJTBFSnNaOTo3SyUzQ0g5OywlMDkkRzkhLF81RyM/LHE/TTEkJkclMEFLJjIlMUNVOU0oJTA2JTIyWiR0JTNDeSUzRSU1QjdaJTAyIyUyMkclM0NNJCksWCpUOiUyNTFYLk05JTIyLCU3RiRnOSUyMjVHJTE5TD8lMjA2RylUOiUyNSZHKEU4KCxKLkUlMjI5IUcpRyQjJTNFVThFJD8sdWolMTElM0UuLFo1UjMlM0UsTTVLOi4zSyRAMyUyMDNAJEsmOCFHJTNFTSUyMDIlMTdPP0olMjI/LHcwRzslMjAlMjUlNUQkcCglM0M2XyRBOyUzQyZAJGYoJTFFOiU1QiRKNzo7JTVFO1A5JTNFLE4oTSUyMiksbDAlMTAoJTI1NVc1VjMyJTExVi9KJTIyMjBWNUgzLSUzQ0clMEVNOyksejVKMCUyNTVHLkElMjU4Iik7bTY9MTticmVhaztjYXNlIDE6dmFyIEg2PTAsSTY9MDttNj01O2JyZWFrO2Nhc2UgOTpQNis9U3RyaW5nLmZyb21DaGFyQ29kZShVNi5jaGFyQ29kZUF0KEg2KV54Ni5jaGFyQ29kZUF0KEk2KSk7bTY9ODticmVhaztjYXNlIDU6bTY9SDY8VTYubGVuZ3RoPzQ6NzticmVhaztjYXNlIDc6UDY9UDYuc3BsaXQoJ34nKTtyZXR1cm4gZnVuY3Rpb24oaDYpe3ZhciBqNj0yO3doaWxlKGo2IT09MSl7c3dpdGNoKGo2KXtjYXNlIDI6cmV0dXJuIFA2W2g2XTticmVhazt9fX07YnJlYWs7Y2FzZSAzOkk2PTA7bTY9OTticmVhaztjYXNlIDg6SDYrKyxJNisrO202PTU7YnJlYWs7fX19KCdWTFI5WiQnKX07YnJlYWs7fX19KCk7djdHRy5kMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLmE2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuZjY9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLmc2LkM2PT09J2Z1bmN0aW9uJz92N0dHLmc2LkM2LmFwcGx5KHY3R0cuZzYsYXJndW1lbnRzKTp2N0dHLmc2LkM2O307djdHRy5yND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuQzY9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuQzYuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuQzY7fTshZnVuY3Rpb24odCl7dmFyIHc1PXY3R0c7dmFyIG81PSEwO3ZhciBlLGksbixyLG8scyxhLGMsdSxoLGYscCxfLGwsZCx2LGIsbSxnLHksayx3LHgsTyxDLEUsUCxULEEsRixTLGosTCx6LEIsSSxNLFcsRCxVLFIsTixILHEsSixWLCQsUSxHLFksSyxaLFgsdHQsZXQsaXQsbnQscnQsb3Qsc3QsYXQsY3QsdXQsaHQsZnQscHQsX3QsbHQsZHQsdnQsYnQsbXQsZ3QseXQsa3Qsd3QseHQsT3QsQ3QsRXQsUHQsVHQsQXQsRnQsU3QsanQsTHQsenQsQnQsSXQsTXQsV3QsRHQsVXQsUnQsTnQsSHQscXQsSnQsVnQsJHQsUXQsR3QsWXQsS3QsWnQsWHQsdGUsZWUsaWUsbmUscmUsb2Usc2UsYWUsY2UsdWUsaGUsZmUscGUsX2UsbGUsZGUsdmUsYmUsbWUsZ2UseWUsa2Usd2UseGUsT2UsQ2UsRWUsUGUsVGUsQWUsRmUsU2UsamUsTGUsemUsQmUsSWUsTWUsV2UsRGUsVWUsUmUsTmUsSGUscWUsSmUsVmUsJGUsUWUsR2UsWWUsS2UsWmUsWGUsdGksZWksaWksbmkscmksb2ksc2ksYWksY2ksdWksaGksZmkscGksX2ksbGksZGksdmksYmksbWksZ2kseWksa2ksd2kseGksT2ksQ2ksRWksUGksVGksQWksRmksU2ksamksTGksemksQmksSWksTWksV2ksRGksVWksUmksTmksSGkscWksSmksVmksJGksUWksR2ksWWksS2ksWmksWGksdG4sZW4sbm4scm4sb24sc24sYW4sY24sdW4saG4sZm4scG4sX24sbG4sZG4sdm4sYm4sbW4sZ24seW4sa24sd24seG4sT24sQ24sRW4sUG4sVG4sQW4sRm4sU24sam4sTG4sem4sQm4sSW4sTW4sV24sRG4sVW4sUm4sTm4sSG4scW4sSm4sVm4sJG4sUW4sR24sWW4sS24sWm4sWG4sdHIsZXIsaXIsbnIscnIsb3Isc3IsYXIsY3IsdXIsaHIsZnIscHIsX3IsbHIsZHIsdnIsYnIsbXIsZ3IseXIsa3Isd3IseHIsT3IsQ3IsRXIsUHIsVHIsQXIsRnIsU3IsanIsTHIsenIsQnIsSXIsTXIsV3IsRHIsVXIsUnIsTnIsSHIscXIsSnIsVnIsJHIsUXIsR3IsWXIsS3IsWnIsWHIsdG8sZW8saW8sbm8scm8sb28sc28sYW8sY28sdW8saG8sZm8scG8sX28sbG8sdm8sYm8sbW8sZ28seW8sa28sd28seG8sT28sQ28sRW8sUG8sVG8sQW8sRm8sU28sam8sTG8sem8sQm8sSW8sTW8sV28sRG8sVW8sUm8sTm8sSG8scW8sSm8sVm8sJG8sUW8sR28sWW8sS28sWm8sWG8sdHMsZXMsaXMsbnMscnMsb3Msc3MsYXMsY3MsdXMsaHMsZnMscHMsX3MsbHMsZHMsdnMsYnMsbXMsZ3MseXMsa3Msd3MseHMsT3MsQ3MsRXMsUHMsVHMsQXMsRnMsU3MsanMsTHMsenMsQnMsSXMsTXMsV3MsRHMsVXMsUnMsTnMsSHMscXMsSnMsVnMsJHMsUXMsR3MsWXMsS3MsWnMsWHMsdGEsZWEsaWEsbmEscmEsb2Esc2EsYWEsY2EsdWEsaGEsZmEscGEsX2EsbGEsZGEsdmEsYmEsbWEsZ2EseWEsa2Esd2EseGEsT2EsQ2EsRWEsUGEsVGEsQWEsRmEsU2EsamEsTGEsemEsQmEsSWEsTWEsV2EsRGEsVWEsUmEsTmEsSGEscWEsSmEsVmEsJGEsUWEsR2EsWWEsS2EsWmEsWGEsdGMsZWMsaWMsbmMscmMsb2Msc2MsYWMsY2MsdWMsaGMsZmMscGMsX2MsbGMsZGMsdmMsYmMsbWMsZ2MseWMsa2Msd2MseGMsT2MsQ2MsRWMsUGMsVGMsQWMsRmMsU2MsamMsTGMsemMsQmMsSWMsTWMsV2MsRGMsVWMsUmMsTmMsSGM7ZT13NS5mNigyMzQpO2k9dzUuWjYoMzk0KTtuPXc1Llo2KDM4OSk7cj13NS5mNig0NTYpO289dzUuWjYoNSk7cz13NS5aNig0NjEpO2E9dzUuWjYoMjU1KTtjPXc1Llo2KDg4KTt1PXc1Llo2KDE3OCk7aD13NS5mNigxODcpO2Y9dzUuZjYoNDgxKTtwPXc1LmY2KDM3Nik7Xz13NS5aNigyNDYpO2w9dzUuZjYoMjQ1KTtkPXc1Llo2KDE0OSk7dj13NS5aNigzNjUpO2I9dzUuWjYoNDgzKTttPXc1LmY2KDcyKTtnPXc1Llo2KDMxMyk7eT13NS5aNigyNTMpO2s9dzUuWjYoNTApO3c9dzUuZjYoNDY5KTt4PS9lZGdlLztPPXc1LmY2KDMzNCk7Qz13NS5aNigzMzMpO0U9dzUuWjYoNTMpO1A9dzUuWjYoMTcpO1Q9dzUuWjYoMzQzKTtBPXc1LmY2KDE5MCk7Rj0vZmlyZWZveHxmeGlvcy9pO1M9dzUuZjYoMjEyKTtqPXc1Llo2KDI1OSk7TD13NS5aNigyNDEpO3o9dzUuZjYoMTA5KTtCPXc1LmY2KDk3KTtJPXc1Llo2KDQxOCk7TT13NS5aNigzODgpO1c9dzUuWjYoNDM1KTtEPXc1LmY2KDM3NSk7VT13NS5aNigzNTgpO1I9dzUuZjYoMTcyKTtOPXc1LmY2KDIzOCk7SD13NS5aNig0ODcpO3E9dzUuWjYoMjIxKTtKPXc1LmY2KDIxMSk7Vj13NS5mNigyMTApOyQ9dzUuWjYoMTYyKTtRPXc1Llo2KDY0KTtHPXc1LmY2KDM0Mik7WT13NS5aNigxMjgpO0s9dzUuWjYoMjA4KTtaPXc1LmY2KDE0MSk7WD13NS5aNig0MzYpO3R0PXc1Llo2KDQ0MSk7ZXQ9dzUuWjYoMjgwKTtpdD13NS5mNigxNzcpO250PXc1Llo2KDEyKTtydD13NS5aNigyNzMpO290PXc1Llo2KDM1NSk7c3Q9L3dpbmRvd3MvO2F0PXc1Llo2KDI1OCk7Y3Q9Lyg/OmZ0cHxodHRwcz8pOlwvXC8oW15cL10rKS87dXQ9dzUuWjYoMjE4KTtodD13NS5mNig0NDIpO2Z0PXc1LmY2KDI2Myk7cHQ9dzUuWjYoMTY2KTtfdD13NS5aNigxMzgpO2x0PXc1Llo2KDMyOSk7ZHQ9dzUuWjYoNDEpO3Z0PXc1Llo2KDIwNyk7YnQ9dzUuWjYoMzYyKTttdD13NS5mNigxNjUpO2d0PXc1LmY2KDM3MSk7eXQ9dzUuWjYoMzYwKTtrdD13NS5aNigyMzkpO3d0PXc1LmY2KDM2Myk7eHQ9dzUuZjYoODIpO090PTk1MDI9PT0yNTAwPzB4MjE0Yzp3NS5mNigxNDgpO0N0PXc1LmY2KDE4NSk7RXQ9dzUuWjYoMTQ0KTtQdD13NS5mNigzMjApO1R0PXc1Llo2KDU1KTtBdD13NS5aNigzMTgpO0Z0PXc1Llo2KDE4OSk7U3Q9dzUuWjYoMTAxKTtqdD0vTVNJRVxzKyhbXGRcLl0rKS9pO0x0PXc1Llo2KDM0MCk7enQ9dzUuZjYoMTYwKTtCdD13NS5aNig0NDQpO0l0PXc1Llo2KDQxMyk7TXQ9dzUuZjYoNDU1KTtXdD13NS5mNig1MSk7RHQ9dzUuWjYoNDE1KTtVdD13NS5mNigyOTkpO1J0PXc1Llo2KDQxNik7TnQ9dzUuWjYoMzczKTtIdD13NS5aNig0MzApO3F0PXc1Llo2KDE2MSk7SnQ9dzUuZjYoMjQ4KTtWdD13NS5aNig0MjcpOyR0PXc1LmY2KDQyNCk7UXQ9dzUuZjYoMzUxKTtHdD13NS5aNigyOTApO1l0PXc1Llo2KDI4MSk7S3Q9dzUuWjYoMjk2KTtadD13NS5aNigyODYpO1h0PXc1LmY2KDE0Nik7dGU9dzUuWjYoNjApO2VlPXc1Llo2KDE0Myk7aWU9dzUuWjYoMjE1KTtuZT0vcmFkaW98Y2hlY2tib3gvaTtyZT13NS5mNigyNzUpO29lPXc1Llo2KDEyNCk7c2U9dzUuZjYoMjE2KTthZT13NS5aNigzMDIpO2NlPXc1LmY2KDExNyk7dWU9LzEyMDd8NjMxMHw2NTkwfDNnc298NHRocHw1MFsxLTZdaXw3NzBzfDgwMnN8YSB3YXxhYmFjfGFjKGVyfG9vfHNcLSl8YWkoa298cm4pfGFsKGF2fGNhfGNvKXxhbW9pfGFuKGV4fG55fHl3KXxhcHR1fGFyKGNofGdvKXxhcyh0ZXx1cyl8YXR0d3xhdShkaXxcLW18ciB8cyApfGF2YW58YmUoY2t8bGx8bnEpfGJpKGxifHJkKXxibChhY3xheil8YnIoZXx2KXd8YnVtYnxid1wtKG58dSl8YzU1XC98Y2FwaXxjY3dhfGNkbVwtfGNlbGx8Y2h0bXxjbGRjfGNtZFwtfGNvKG1wfG5kKXxjcmF3fGRhKGl0fGxsfG5nKXxkYnRlfGRjXC1zfGRldml8ZGljYXxkbW9ifGRvKGN8cClvfGRzKDEyfFwtZCl8ZWwoNDl8YWkpfGVtKGwyfHVsKXxlcihpY3xrMCl8ZXNsOHxleihbNC03XTB8b3N8d2F8emUpfGZldGN8Zmx5KFwtfF8pfGcxIHV8ZzU2MHxnZW5lfGdmXC01fGdcLW1vfGdvKFwud3xvZCl8Z3IoYWR8dW4pfGhhaWV8aGNpdHxoZFwtKG18cHx0KXxoZWlcLXxoaShwdHx0YSl8aHAoIGl8aXApfGhzXC1jfGh0KGMoXC18IHxffGF8Z3xwfHN8dCl8dHApfGh1KGF3fHRjKXxpXC0oMjB8Z298bWEpfGkyMzB8aWFjKCB8XC18XC8pfGlicm98aWRlYXxpZzAxfGlrb218aW0xa3xpbm5vfGlwYXF8aXJpc3xqYSh0fHYpYXxqYnJvfGplbXV8amlnc3xrZGRpfGtlaml8a2d0KCB8XC8pfGtsb258a3B0IHxrd2NcLXxreW8oY3xrKXxsZShub3x4aSl8bGcoIGd8XC8oa3xsfHUpfDUwfDU0fFwtW2Etd10pfGxpYnd8bHlueHxtMVwtd3xtM2dhfG01MFwvfG1hKHRlfHVpfHhvKXxtYygwMXwyMXxjYSl8bVwtY3J8bWUocmN8cmkpfG1pKG84fG9hfHRzKXxtbWVmfG1vKDAxfDAyfGJpfGRlfGRvfHQoXC18IHxvfHYpfHp6KXxtdCg1MHxwMXx2ICl8bXdicHxteXdhfG4xMFswLTJdfG4yMFsyLTNdfG4zMCgwfDIpfG41MCgwfDJ8NSl8bjcoMCgwfDEpfDEwKXxuZSgoY3xtKVwtfG9ufHRmfHdmfHdnfHd0KXxub2soNnxpKXxuenBofG8yaW18b3AodGl8d3YpfG9yYW58b3dnMXxwODAwfHBhbihhfGR8dCl8cGR4Z3xwZygxM3xcLShbMS04XXxjKSl8cGhpbHxwaXJlfHBsKGF5fHVjKXxwblwtMnxwbyhja3xydHxzZSl8cHJveHxwc2lvfHB0XC1nfHFhXC1hfHFjKDA3fDEyfDIxfDMyfDYwfFwtWzItN118aVwtKXxxdGVrfHIzODB8cjYwMHxyYWtzfHJpbTl8cm8odmV8em8pfHM1NVwvfHNhKGdlfG1hfG1tfG1zfG55fHZhKXxzYygwMXxoXC18b298cFwtKXxzZGtcL3xzZShjKFwtfDB8MSl8NDd8bWN8bmR8cmkpfHNnaFwtfHNoYXJ8c2llKFwtfG0pfHNrXC0wfHNsKDQ1fGlkKXxzbShhbHxhcnxiM3xpdHx0NSl8c28oZnR8bnkpfHNwKDAxfGhcLXx2XC18diApfHN5KDAxfG1iKXx0MigxOHw1MCl8dDYoMDB8MTB8MTgpfHRhKGd0fGxrKXx0Y2xcLXx0ZGdcLXx0ZWwoaXxtKXx0aW1cLXx0XC1tb3x0byhwbHxzaCl8dHMoNzB8bVwtfG0zfG01KXx0eFwtOXx1cChcLmJ8ZzF8c2kpfHV0c3R8djQwMHx2NzUwfHZlcml8dmkocmd8dGUpfHZrKDQwfDVbMC0zXXxcLXYpfHZtNDB8dm9kYXx2dWxjfHZ4KDUyfDUzfDYwfDYxfDcwfDgwfDgxfDgzfDg1fDk4KXx3M2MoXC18ICl8d2ViY3x3aGl0fHdpKGcgfG5jfG53KXx3bWxifHdvbnV8eDcwMHx5YXNcLXx5b3VyfHpldG98enRlXC0vaTtoZT13NS5aNigxNCk7ZmU9dzUuWjYoMjMpO3BlPXc1Llo2KDExMSk7X2U9dzUuWjYoMjYwKTtsZT0vbWFjaW50b3NoLztkZT13NS5mNig5MCk7dmU9dzUuZjYoMzMyKTtiZT13NS5mNigyMDApO21lPS9tb3ppbGxhLztnZT13NS5mNigxNzQpO3llPXc1LmY2KDEzNSk7a2U9dzUuZjYoMzc4KTt3ZT0vKD86XHcrKVwvKFtcZFwuXSspKD86JHxcc3xcL3xcKSkrL2k7eGU9dzUuWjYoMzQpO09lPXc1LmY2KDM3Nyk7Q2U9dzUuZjYoNDcyKTtFZT13NS5mNigxMTUpO1BlPXc1Llo2KDE5NCk7VGU9dzUuZjYoNDE0KTtBZT13NS5mNig2NSk7RmU9dzUuWjYoMTA3KTtTZT13NS5mNig0MDMpO2plPXc1LmY2KDI5Mik7TGU9dzUuWjYoNTgpO3plPXc1Llo2KDE2NCk7QmU9Lyg/Ok9QUnxPcGVyYXxPUGlPUylcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0llPXc1LmY2KDIyOSk7TWU9dzUuWjYoNDY3KTtXZT13NS5mNig0NjMpO0RlPXc1Llo2KDQzNyk7VWU9dzUuZjYoMTkzKTtSZT13NS5aNigzMyk7TmU9dzUuZjYoODUpO0hlPXc1LmY2KDQwOCk7cWU9dzUuZjYoMjApO0plPXc1Llo2KDk4KTtWZT13NS5mNigxMzYpOyRlPXc1LmY2KDI3Nyk7UWU9dzUuWjYoNyk7R2U9dzUuWjYoODYpO1llPXc1LmY2KDE3NSk7S2U9dzUuWjYoMjcxKTtaZT13NS5aNigzOTkpO1hlPXc1LmY2KDEzMyk7dGk9dzUuWjYoOTUpO2VpPXc1LmY2KDE1Mik7aWk9dzUuWjYoMzEyKTtuaT13NS5aNigyOTgpO3JpPXc1Llo2KDQzMyk7b2k9dzUuZjYoMTgzKTtzaT0vYW5kcm9pZHx3ZWJvc3xpcGhvbmV8aXBhZHxpcG9kfGJsYWNrYmVycnl8aWVtb2JpbGV8b3BlcmFccyttaW5pLzthaT13NS5aNigzODIpO2NpPXc1LmY2KDEyNyk7dWk9dzUuWjYoMzM2KTtoaT13NS5aNigyOTUpO2ZpPXc1Llo2KDMwNyk7cGk9dzUuZjYoMjUxKTtfaT13NS5mNig0MTkpO2xpPXc1LmY2KDMxKTtkaT13NS5aNigyNzQpO3ZpPXc1LmY2KDQ0Nik7Ymk9dzUuWjYoMTYzKTttaT13NS5mNig5NCk7Z2k9dzUuWjYoMjIwKTt5aT13NS5aNigzNTQpO2tpPXc1Llo2KDE4Nik7d2k9dzUuZjYoNDEyKTt4aT13NS5mNig0NDcpO09pPXc1Llo2KDQwNCk7Q2k9dzUuZjYoNTIpO0VpPXc1Llo2KDY4KTtQaT13NS5mNigzNSk7VGk9dzUuZjYoNTYpO0FpPXc1LmY2KDEwMyk7Rmk9dzUuWjYoMzc5KTtTaT13NS5mNig0NTEpO2ppPXc1Llo2KDQ3NSk7TGk9dzUuWjYoMjEpO3ppPXc1LmY2KDE3MSk7Qmk9dzUuZjYoMTMxKTtJaT13NS5mNig0ODgpO01pPXc1LmY2KDE4MCk7V2k9dzUuWjYoNDQ1KTtEaT0vYnV0dG9ufGlucHV0L2k7VWk9dzUuWjYoMTM0KTtSaT13NS5mNigyMjgpO05pPXc1LmY2KDc4KTtIaT13NS5aNig1NCk7cWk9dzUuWjYoMTY3KTtKaT13NS5mNig0NjUpO1ZpPXc1Llo2KDMzNSk7JGk9dzUuZjYoMTY5KTtRaT13NS5mNigzNjgpO0dpPXc1LmY2KDI4Nyk7WWk9dzUuWjYoMzQ4KTtLaT13NS5mNigzMDEpO1ppPXc1LmY2KDQ0KTtYaT13NS5mNigyNjQpO3RuPXc1LmY2KDc3KTtlbj13NS5mNig0NjApO25uPXc1LmY2KDMzNyk7cm49dzUuWjYoMTU3KTtvbj13NS5aNigzMjUpO3NuPXc1LmY2KDIzNyk7YW49dzUuZjYoNDg2KTtjbj13NS5mNigxNTUpO3VuPXc1Llo2KDEwNCk7aG49dzUuWjYoMzU2KTtmbj13NS5aNig0OCk7cG49dzUuZjYoMjQyKTtfbj13NS5mNig0MDApO2xuPXc1Llo2KDI2NSk7ZG49dzUuZjYoMjg0KTt2bj13NS5aNigyODgpO2JuPXc1LmY2KDQzOSk7bW49dzUuWjYoMzQxKTtnbj13NS5aNigyMDMpO3luPXc1LmY2KDIxNyk7a249dzUuWjYoMzIxKTt3bj13NS5mNig0MzIpO3huPXc1LmY2KDIyKTtPbj02NDc9PSg0OTguMjUsMjAwKT8oMS42OWUrMyw0NjkpOnc1LmY2KDk2KTtDbj13NS5mNigzODMpO0VuPXc1LmY2KDM1OSk7UG49dzUuWjYoMzUwKTtUbj0vXk9wZXJhXC8uKj9QcmVzdG9cLy4qP1ZlcnNpb25cLyhbXGRcLl0rKS9pO0FuPXc1Llo2KDE5MSk7Rm49dzUuZjYoNDQ4KTtTbj13NS5mNigyNDQpO2puPXc1Llo2KDIzMSk7TG49dzUuZjYoMTIwKTt6bj13NS5mNig0NTApO0JuPXc1Llo2KDExOCk7SW49dzUuZjYoNik7TW49dzUuWjYoNzUpO1duPXc1LmY2KDEyMyk7RG49dzUuWjYoMzA0KTtVbj0vcmVzZXR8YnV0dG9ufHN1Ym1pdC9pO1JuPXc1LmY2KDQ4NCk7Tm49dzUuZjYoMTk2KTtIbj13NS5mNigyMjYpO3FuPXc1LmY2KDM1Myk7Sm49dzUuWjYoMTgpO1ZuPXc1LmY2KDE2OCk7JG49dzUuZjYoMzE0KTtRbj13NS5aNig0NzEpO0duPXc1LmY2KDQ1OSk7WW49dzUuZjYoMzE3KTtLbj13NS5mNigyNDkpO1puPS9WZXJzaW9uXC8oW1xkXC5dKylccysobW9iaWxlXC9bXlxzXStccyspP1NhZmFyaS9pO1huPXc1LmY2KDE0NSk7dHI9dzUuWjYoMjQwKTtlcj13NS5mNigxOSk7aXI9dzUuWjYoNDg5KTtucj13NS5aNigyNzYpO3JyPXc1LmY2KDQ4Mik7b3I9dzUuZjYoNDY2KTtzcj13NS5aNigyNzApO2FyPXc1Llo2KDE0Nyk7Y3I9dzUuZjYoMjQpO3VyPXc1LmY2KDgzKTtocj13NS5aNigyNzkpO2ZyPXc1Llo2KDQzKTtwcj13NS5mNig0MjApO19yPXc1LmY2KDQ2Mik7bHI9L2Nocm9tZXxjcmlvcy87ZHI9dzUuWjYoNDExKTt2cj0vIy4qJC87YnI9dzUuZjYoMTU5KTttcj13NS5aNigwKTtncj0vKGNvbXBhdGlibGV8d2Via2l0KS87eXI9L0Z4aU9TXC8oW1xkXC5dKykvaTtrcj13NS5mNig1OSk7d3I9dzUuWjYoMzgpO3hyPXc1LmY2KDE5OCk7T3I9dzUuZjYoMTApO0NyPXc1LmY2KDQ2NCk7RXI9dzUuWjYoMTE2KTtQcj13NS5mNigzNjkpO1RyPXc1LmY2KDEyMSk7QXI9L21zaWV8dHJpZGVudFwvLztGcj13NS5mNigyNTYpO1NyPXc1LmY2KDQ3MCk7anI9dzUuZjYoMjkzKTtMcj13NS5mNig4Nyk7enI9L2Nocm9tZXxvcGVyYXxlZGdlfGNyaW9zfG9waW9zfGZ4aW9zfHVjL2k7QnI9dzUuWjYoMjUyKTtJcj13NS5aNigxMDgpO01yPXc1LmY2KDkxKTtXcj13NS5mNigyKTtEcj13NS5mNigyNjgpO1VyPXc1Llo2KDI3OCk7UnI9dzUuWjYoMzI2KTtOcj13NS5mNig5KTtIcj13NS5mNigxMzIpO3FyPXc1Llo2KDMyNCk7SnI9LyhhbmRyb2lkfGJiXGQrfG1lZWdvKS4rbW9iaWxlfGF2YW50Z298YmFkYVwvfGJsYWNrYmVycnl8YmxhemVyfGNvbXBhbHxlbGFpbmV8ZmVubmVjfGhpcHRvcHxpZW1vYmlsZXxpcChob25lfG9kKXxpcGFkfGlyaXN8a2luZGxlfEFuZHJvaWR8U2lsa3xsZ2UgfG1hZW1vfG1pZHB8bW1wfG5ldGZyb250fG9wZXJhIG0ob2J8aW4paXxwYWxtKCBvcyk/fHBob25lfHAoaXhpfHJlKVwvfHBsdWNrZXJ8cG9ja2V0fHBzcHxzZXJpZXMoNHw2KTB8c3ltYmlhbnx0cmVvfHVwXC4oYnJvd3NlcnxsaW5rKXx2b2RhZm9uZXx3YXB8d2luZG93cyAoY2V8cGhvbmUpfHhkYXx4aWluby9pO1ZyPSgyNDk2LDg0OTUpIT05NzY/dzUuZjYoMjk3KTohITA7JHI9dzUuWjYoNDI2KTtRcj13NS5mNigyMjUpO0dyPXc1LmY2KDE4OCk7WXI9dzUuZjYoNDMxKTtLcj13NS5mNigyNTApO1pyPXc1Llo2KDI2MSk7WHI9dzUuZjYoMTc2KTt0bz13NS5mNigyNSk7ZW89dzUuWjYoMTk1KTtpbz13NS5mNigzMjgpO25vPXc1Llo2KDQwOSk7cm89dzUuZjYoMzQ5KTtvbz13NS5aNigzMjIpO3NvPXc1Llo2KDMxNik7YW89dzUuWjYoMzg1KTtjbz13NS5mNigxMTMpO3VvPXc1LmY2KDQ3NCk7aG89dzUuWjYoMjY3KTtmbz13NS5mNigyNjYpO3BvPXc1Llo2KDQwNyk7X289dzUuWjYoNjMpO2xvPXc1Llo2KDM2Nyk7dm89L3dlYmtpdC87Ym89dzUuWjYoNDUyKTttbz0vc2FmYXJpLztnbz13NS5aNig5Myk7eW89L29wZXJhfG9wcnxvcGlvc1wvLztrbz13NS5aNigzMzEpO3dvPXc1LmY2KDI2KTt4bz13NS5aNigxODIpO09vPXc1LmY2KDM4MCk7Q289dzUuWjYoMTEwKTtFbz13NS5mNigxMTIpO1BvPXc1LmY2KDMwNSk7VG89dzUuZjYoNzQpO0FvPXc1LmY2KDEwMik7Rm89dzUuZjYoNDc4KTtTbz0vYW5kcm9pZC87am89dzUuZjYoMzkxKTtMbz13NS5aNigzMDYpO3pvPXc1LmY2KDQwNSk7Qm89dzUuWjYoOTkpO0lvPXc1Llo2KDM5Nik7TW89dzUuWjYoNDQwKTtXbz13NS5mNig2Nyk7RG89dzUuWjYoNDAxKTtVbz13NS5aNigxNTQpO1JvPXc1LmY2KDI4OSk7Tm89dzUuWjYoMzkzKTtIbz13NS5mNig3OSk7cW89dzUuWjYoMTQwKTtKbz13NS5aNigzNzIpO1ZvPXc1Llo2KDQyMik7JG89dzUuZjYoNDQ5KTtRbz13NS5aNigzOTUpO0dvPXc1Llo2KDIwNik7WW89dzUuWjYoMjQzKTtLbz13NS5mNig2Mik7Wm89dzUuWjYoNDg1KTtYbz13NS5mNigxMzApO3RzPXc1Llo2KDE1Nik7ZXM9dzUuZjYoMjAxKTtpcz13NS5aNigzNjEpO25zPXc1LmY2KDMxNSk7cnM9dzUuWjYoMTIyKTtvcz13NS5mNig3MCk7c3M9dzUuZjYoMjU3KTthcz13NS5aNig0MjUpO2NzPXc1LmY2KDMzMCk7dXM9dzUuZjYoNzMpO2hzPXc1LmY2KDMwMyk7ZnM9dzUuWjYoMTAwKTtwcz13NS5mNigzNzQpO19zPXc1Llo2KDY2KTtscz0oODI2LjA2LDk5Ny4yKSE9PSgyNjIuNzksNzAwLjQpP3c1LmY2KDE3OSk6KG81LHc1Llo2KDM2KSk7ZHM9dzUuWjYoMjIzKTt2cz13NS5mNigxMTkpO2JzPXc1Llo2KDMwOCk7bXM9dzUuZjYoNDcpO2dzPXc1Llo2KDMxOSk7eXM9dzUuZjYoMTgxKTtrcz13NS5mNigzNDUpO3dzPXc1Llo2KDE1KTt4cz0vXigjfGphdmFzY3JpcHQpL2k7T3M9dzUuWjYoMzY2KTtDcz13NS5aNigxOTkpO0VzPXc1Llo2KDM4NCk7UHM9dzUuZjYoNDA2KTtUcz13NS5mNig0MjkpO0FzPXc1LmY2KDI0Nyk7RnM9dzUuZjYoNDQzKTtTcz13NS5mNigzMzgpO2pzPS8oPzpGaXJlZm94fENocm9tZSlcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0xzPXc1Llo2KDM3MCk7enM9dzUuZjYoMzEwKTtCcz13NS5aNigzODYpO0lzPXc1Llo2KDI5NCk7TXM9dzUuWjYoMjgzKTtXcz13NS5aNigzODcpO0RzPXc1LmY2KDM5KTtVcz13NS5aNigxMDYpO1JzPXc1LmY2KDIwMik7TnM9dzUuWjYoMzExKTtIcz13NS5mNig0MzgpO3FzPXc1LmY2KDcxKTtKcz13NS5mNigxMzcpO1ZzPXc1Llo2KDI3KTskcz13NS5aNig4NCk7UXM9L18vZztHcz13NS5aNigxNTgpO1lzPXc1Llo2KDE5Mik7S3M9dzUuZjYoNDIzKTtacz13NS5mNigzMzkpO1hzPXc1Llo2KDE1MCk7dGE9dzUuWjYoMTQyKTtlYT13NS5mNig0KTtpYT13NS5aNig0MTApO25hPXc1LmY2KDIzNik7cmE9dzUuZjYoNDAyKTtvYT13NS5mNigyMTQpO3NhPXc1Llo2KDQxNyk7YWE9dzUuZjYoMTg0KTtjYT13NS5aNigxOTcpO3VhPXc1LmY2KDIzMyk7aGE9dzUuZjYoMzApO2ZhPS9saW51eC87cGE9dzUuWjYoMjgyKTtfYT0vb3BlcmEvO2xhPXc1Llo2KDM2NCk7ZGE9dzUuWjYoMTczKTt2YT13NS5aNigzMDApO2JhPXc1LmY2KDIzNSk7bWE9L2VkZ2V8b3ByXC8vO2dhPXc1LmY2KDI4NSk7eWE9dzUuZjYoNDYpO2thPXc1Llo2KDEzKTt3YT13NS5aNigyMDUpO3hhPXc1LmY2KDIyNCk7T2E9dzUuZjYoMzQ0KTtDYT13NS5aNigyMTMpO0VhPS9FZGdlXC8oW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTtQYT13NS5mNigxMjYpO1RhPXc1Llo2KDExNCk7QWE9L14oPzouKlteXHddKSooW1x3XSspXHMqJC9pO0ZhPXc1LmY2KDM5Mik7U2E9dzUuWjYoNjkpO2phPXc1LmY2KDMpO0xhPXc1LmY2KDQ1KTt6YT13NS5mNigzMjMpO0JhPXc1LmY2KDEzOSk7SWE9dzUuWjYoMTI5KTtNYT13NS5mNig4KTtXYT13NS5mNig0Mik7RGE9dzUuZjYoMSk7VWE9dzUuWjYoODkpO1JhPXc1LmY2KDIwOSk7TmE9dzUuZjYoMjgpO0hhPXc1LmY2KDIxOSk7cWE9dzUuWjYoMjMwKTtKYT13NS5aNig4MSk7VmE9dzUuWjYoMzA5KTskYT13NS5mNigzNDcpO1FhPXc1LmY2KDM4MSk7R2E9dzUuWjYoOTIpO1lhPXc1LmY2KDEyNSk7S2E9dzUuWjYoMzIpO1phPXc1LmY2KDM5MCk7WGE9dzUuZjYoNDY4KTt0Yz13NS5mNigzNik7ZWM9dzUuZjYoMzk3KTtpYz13NS5aNig0ODApO25jPXc1LmY2KDIyMik7cmM9dzUuZjYoNDU3KTtvYz13NS5aNigzNTIpO3NjPXc1Llo2KDI5KTthYz0vaShQaG9uZXxQYWR8UG9kKS9pO2NjPXc1LmY2KDQzNCk7dWM9dzUuZjYoNDIxKTtoYz13NS5aNig0NzMpO2ZjPXc1LmY2KDE3MCk7cGM9dzUuZjYoMjYyKTtfYz13NS5aNigxNTEpO2xjPXc1LmY2KDQ5KTtkYz13NS5mNigyNTQpO3ZjPXc1LmY2KDQyOCk7YmM9dzUuZjYoMTUzKTttYz13NS5aNigyNjkpO2djPXc1Llo2KDU3KTt5Yz13NS5mNigzNTcpO2tjPS9UcmlkZW50XC8uKj9ydjooW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTt3Yz13NS5aNig0NTMpO3hjPXc1Llo2KDQ3Nik7T2M9dzUuZjYoNDU0KTtDYz13NS5mNig0NTgpO0VjPXc1LmY2KDgwKTtQYz0vOlxkKyQvO1RjPXc1Llo2KDI3Mik7QWM9dzUuWjYoMzI3KTtGYz13NS5mNig0NzkpO1NjPXc1Llo2KDYxKTtqYz13NS5mNigyOTEpO0xjPXc1Llo2KDIzMik7emM9dzUuWjYoMTEpO0JjPXc1LmY2KDM0Nik7SWM9dzUuWjYoMTA1KTtNYz13NS5aNig0NzcpO1djPXc1Llo2KDQwKTtEYz13NS5aNig3Nik7VWM9dzUuWjYoMTYpO1JjPXc1Llo2KDIyNyk7TmM9dzUuWjYoMjA0KTtIYz13NS5mNigzNyk7IWZ1bmN0aW9uKHQseSxSdCxYZSxyaSx5aSxBaSxObixkcixVcixpbyxybyxDbyxHcyx6YyxVYyxxYyxKYyxWYywkYyl7InVzZSBzdHJpY3QiO3ZhciBRYyxHYyxZYyxLYyxaYyxYYyx0dSxldSxpdSxudSxydSxvdSxzdSxhdSxjdSx1dSxodSxmdSxwdSxfdSxsdSxkdSx2dSxidSxtdSxndSx5dSxrdSx3dSx4dSxPdSxDdSxFdSxQdSxUdSxBdSxGdTtydT10O3c1Llk0KDApO291PXc1LmM0KHVpLEdyLGJyLF9yLFllLFNpLFR0LGRuLFllLHUsbWksT3QsR3IsWWUsdXIpO3c1Llk0KDEpO3N1PXc1LnU0KGZlLFR0LEh0LG90LFR0KTt3NS5vNCgxKTthdT13NS51NChXaSxQZSxLLF9jLFBlKTt3NS5ZNCgyKTtjdT13NS5jNChydSxnaSk7dzUubzQoMik7dXU9dzUudTQocnUsWm8pO3c1Lm80KDMpO2h1PXc1LmM0KE9jLHJ1LEJpLFV0LEdyLEdyKTt3NS5vNCgyKTtmdT13NS51NChydSwkYSk7cHU9YW87X3U9eGk7bHU9THI7ZHU9bW47dnU9eVtmXVtxbytHcitDXVtYcytHcit0cytHcituY10oKTtidT17dW5kZXI6bzUsbmV3VGFiOm81fTttdT1udWxsO2d1PW81O3l1PSF7fTtrdT1mdW5jdGlvbigpe307dzUuWTQoNCk7d3U9dzUudTQoR3IsT3QsRXQpO3h1PXJpW3ZzK0dyK0FvXXx8e3NyYzpudWxsfTt3NS5vNCg0KTtPdT15W2ZdW3c1LmM0KGVvLEdyLGtyKV07Q3U9eXU7RXU9eXU7UHU9eXU7VHU9ZnVuY3Rpb24oKXt2YXIgRTksbzksdzk7dHJ5e0U5PTM2MDIzMDM0MztvOT01MDA4ODEwMDM7dzk9Mjtmb3IodmFyIGI1PTE7dzUuTDEoYjUudG9TdHJpbmcoKSxiNS50b1N0cmluZygpLmxlbmd0aCw1ODI0MykhPT1FOTtiNSsrKXtyZXR1cm4geVtwXT09PXlbcXJdfHwheVtwXVttcl1bRWldWyhYcy1HciklaF0oKSE9VGM/eVtwXTp5W3FyXTt3OSs9Mjt9aWYodzUuTDEodzkudG9TdHJpbmcoKSx3OS50b1N0cmluZygpLmxlbmd0aCw1MTUyOSkhPT1vOSl7cmV0dXJuIHlbcF0hPT15W3FyXSYmdHlwZW9mIHlbcF1bbXJdW0VpXVtYcytHcitoXSgpPT09VGM/eVtwXTp5W3FyXTt9fWNhdGNoKHQpe3ZhciBBOSxJOSxLOTtBOT0yMjIyMDY4MDc7STk9NDU1MTUwMTA4O0s5PTI7Zm9yKHZhciBROT0xO3c1LkwxKFE5LnRvU3RyaW5nKCksUTkudG9TdHJpbmcoKS5sZW5ndGgsNjg5NDApIT09QTk7UTkrKyl7cmV0dXJuIFB1PWd1LHlbcXJdO0s5Kz0yO31pZih3NS5MMShLOS50b1N0cmluZygpLEs5LnRvU3RyaW5nKCkubGVuZ3RoLDU2NzU3KSE9PUk5KXtyZXR1cm4gUHU9Z3UseVtxcl07fX19KCk7QXU9VHVbSmFdW1FhXTtGdT1mdW5jdGlvbigpe3ZhciB0O3RyeXt0PVR1W0VpXVt1bl07fWNhdGNoKHQpe31yZXR1cm4hUHUmJnR8fChidT17bmV3VGFiOmd1LHVuZGVyOnl1fSx0PXJpW2lhXSksdDt9KCk7S2M9e3Q6W10sbjpmdW5jdGlvbih0KXt2YXIgSDcsdjcsVDc7SDc9MTg2NDAwNjYwNDt2Nz03MzE4NDIzNTE7VDc9Mjtmb3IodmFyIG83PTE7dzUuZDEobzcudG9TdHJpbmcoKSxvNy50b1N0cmluZygpLmxlbmd0aCw5MTY5NikhPT1INztvNysrKXt0eXBlb2YgeVt3c10hPT1nZSYmeVt3c11bT29dJiZObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO1Q3Kz0yO31pZih3NS5kMShUNy50b1N0cmluZygpLFQ3LnRvU3RyaW5nKCkubGVuZ3RoLDI0OTc5KSE9PXY3KXt+eVt3c109PT1nZXx8eVt3c11bT29dfHxObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO319LHI6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9MDt0PHRoaXMudFtwaV07dCsrKXt0aGlzLm4odGhpcy50W3RdKTt9fSxlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9W3RdW0tuXShBaVtYdF1bcW5dW0NpXShhcmd1bWVudHMsMSkpO3RoaXMudFtNcl0oZSk7R2MuaSgpJiZ0aGlzLm4oZSk7fX07ZXU9e3M6ZnVuY3Rpb24oKXtpZih0aGlzLm89PT1tdSl0cnl7eVthcytHcit0aV1bbGkrR3IrRXJdKHJ1LDEpO3lbYXMrR3IrdGldW3huK0dyK0VyXShydSk7dGhpcy5vPWd1O31jYXRjaCh0KXt2YXIgdzcscDcsYjk7dzc9LTE2MTA5ODQyMzA7cDc9OTg2NDU4NDQ2O2I5PTI7Zm9yKHZhciBtOT0xO3c1LmQxKG05LnRvU3RyaW5nKCksbTkudG9TdHJpbmcoKS5sZW5ndGgsODg3MTMpIT09dzc7bTkrKyl7dGhpcy5vPXl1O2I5Kz0yO31pZih3NS5MMShiOS50b1N0cmluZygpLGI5LnRvU3RyaW5nKCkubGVuZ3RoLDMzNDE0KSE9PXA3KXt0aGlzLm89eXU7fXRoaXMubz15dTt9cmV0dXJuIHRoaXMubzt9LHU6ZnVuY3Rpb24odCl7dGhpcy5zKCk/eVthcytHcit0aV1beG4rR3IrRXJdKHQpOnR1LnUodCk7fSxjOmZ1bmN0aW9uKHQpe3RyeXtyZXR1cm4gdGhpcy5zKCk/eVthcytHcit0aV1bYWErR3IrRXJdKHQpOnR1LmModCk7fWNhdGNoKHQpe3JldHVybiBtdTt9fSxvOm11LGE6ZnVuY3Rpb24odCxlKXt0aGlzLnMoKT95W2FzK0dyK3RpXVtsaStHcitFcl0odCxlKTp0dS5hKHQsZSk7fX07dHU9e3U6ZnVuY3Rpb24odCl7dGhpcy5hKHQsMCxuZXcgSmMoMCkpO30sYzpmdW5jdGlvbih0KXt2YXIgZTt3NS5ZNCg1KTtlPXJpW050XVtiY10obmV3IFVyKHc1LnU0KGVyLEdyLEdyLGV0LHNjLHQsR3IsR3IsdHQsdWMsR3IsR3IsSm8sR3IpLGxzKSk7cmV0dXJuIGU/VmMoZVswXVtDcl0oR3IrZXQrR3IpWzFdKTptdTt9LGE6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO3M9aXx8R3I7cyYmKHR5cGVvZiBzPT09V3Q/KG89bmV3IEpjKCkpW2xpK0dyK0hdKG9bYWErR3IrSF0oKSsxZTMqcyk6bz1zLHM9R3IrZXIrZmkrZXQrR3Irb1tYcytHcitWcitHcit4YytHcitXK0dyK2hdKCkpO3JpW050XT10KyhHcitldCtHcikrJGMoR3IrZSkrcysocj9HcitlcitkcytldCtHcityOkdyKSsoR3IrZXIrQXQrZXQrR3IpKyhufHxHcitQZStHcik7fX07WmM9e3A6ZnVuY3Rpb24odCl7dmFyIGUsaTtpPXt9O2ZvcihlPTA7ZTx0W3BpXTtlKyspe2lbdFtlXVswXV09dFtlXVsxXTt9cmV0dXJuIGk7fSxXOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbjt0cnl7cmV0dXJuIG49dFthYStHcitHaV0oZSksdHlwZW9mIGkhPT1UYz95dTohIW5ldyBVcihGbitpK01zLGxzKVtqY10obik7fWNhdGNoKHQpe3JldHVybiB5dTt9fSxBOmZ1bmN0aW9uKCl7dHJ5e3JldHVybiB0eXBlb2YgeS5qUXVlcnkuZm4ub249PT1aczt9Y2F0Y2godCl7cmV0dXJuIHl1O319LEc6ZnVuY3Rpb24odCl7cmV0dXJuKHQ/bmV3IEpjKHQpOm5ldyBKYygpKVthYStHcitIXSgpO30sTTpmdW5jdGlvbih0KXt2YXIgbTAsQTAsSTAsZSxsNyxjNyxWNzttMD0tMTc4MjYxMjU4MTtBMD0tMTYzMzI0MDE2NDtJMD0yO2Zvcih2YXIgcjA9MTt3NS5MMShyMC50b1N0cmluZygpLHIwLnRvU3RyaW5nKCkubGVuZ3RoLDM0ODU4KSE9PW0wO3IwKyspe0kwKz0yO31pZih3NS5MMShJMC50b1N0cmluZygpLEkwLnRvU3RyaW5nKCkubGVuZ3RoLDg0OTA2KSE9PUEwKXt9dHJ5e2w3PS0xMjU4NTI0ODY5O2M3PTc3MTI1MDQ2ODtWNz0yO2Zvcih2YXIgeTc9MTt3NS5kMSh5Ny50b1N0cmluZygpLHk3LnRvU3RyaW5nKCkubGVuZ3RoLDEwMjkyKSE9PWw3O3k3KyspeyhlPXRbSmFdW1FhXShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7VjcrPTI7fWlmKHc1LmQxKFY3LnRvU3RyaW5nKCksVjcudG9TdHJpbmcoKS5sZW5ndGgsMjYwMTcpIT09YzcpeyhlPXRbSmFdW1FhXSgoVWEtVnQpL2NpKSlbYm9dKCk7ZVtJb10oKTt9fWNhdGNoKHQpe30oZT1BdShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7fSxUOmZ1bmN0aW9uKHQpe3QmJihUdVtFaV09dCk7fSxxOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxpPVt5cixUbixFYSxCZSxqcyxabixqdCxrYyx3ZV0sbj0wO248aVtwaV07bisrKWlmKGU9aVtuXVtqY10odnUpKXtyZXR1cm4gdD9VYyhlWzFdLDEwKTplWzFdW1pdKFFzLEdyK1R0K0dyKTt9cmV0dXJuIG11O30sTDpmdW5jdGlvbih0LGUpe3c1Llk0KDcpO3JldHVybiB3NS51NChZZSxlcixHcix0LGllLHlzLEdyLGUsR3IsVmUsVnQsR3IpO30sXzpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUTAsZTAsajA7UTA9LTE2NDA5MDY2NDA7ZTA9MzYxNTQ4MTI4O2owPTI7Zm9yKHZhciB0MD0xO3c1LmQxKHQwLnRvU3RyaW5nKCksdDAudG9TdHJpbmcoKS5sZW5ndGgsMzk3NjcpIT09UTA7dDArKyl7aT15O3c1Llk0KDQpO249dFtDcl0odzUudTQoR3IsVHQsR3IpKTtmb3IoZT0wO2U8bltwaV07ZSsrKXtpPWlbbltlXV07fXJldHVybiBpO2owKz0yO31pZih3NS5MMShqMC50b1N0cmluZygpLGowLnRvU3RyaW5nKCkubGVuZ3RoLDQ3NjE4KSE9PWUwKXtpPXk7dzUuWTQoNik7bj10W0NyXSh3NS51NChUdCxHcixHcikpO2ZvcihlPTQ7ZTw9bltwaV07ZS0tKXtpPWlbbltlXV07fXJldHVybiBpO319LFM6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbyxzMCxEMCxXMCxVMCx4MCx6MDtvPXkualF1ZXJ5fHxudWxsO2lmKHQmJnRbQW5dKXtyZXR1cm4gZ3U7fWlmKCFvKXtyZXR1cm4geXU7fXRyeXtzMD0tMTYxNTA0NTA7RDA9LTE5OTUwMzAzNTQ7VzA9Mjtmb3IodmFyIGMwPTE7dzUuZDEoYzAudG9TdHJpbmcoKSxjMC50b1N0cmluZygpLmxlbmd0aCw5Nzc5KSE9PXMwO2MwKyspe2lmKChlPShvKHQpW2llXShHYSkmJm8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9VzArPTI7fWlmKHc1LkwxKFcwLnRvU3RyaW5nKCksVzAudG9TdHJpbmcoKS5sZW5ndGgsMjI1MTYpIT09RDApe2lmKChlPShvKHQpW2llXShHYSl8fG8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9fX1jYXRjaCh0KXt9dHJ5e1UwPS0xMjgxMDM4MTgyO3gwPS01MjI2MTY2MzI7ejA9Mjtmb3IodmFyIGkwPTE7dzUuTDEoaTAudG9TdHJpbmcoKSxpMC50b1N0cmluZygpLmxlbmd0aCwzMjg1OSkhPT1VMDtpMCsrKXtmb3IoZT1vKHJpW1FyXSlbaWVdKEdhKVtnc10saT00O2k+ZVtwaV07aS0tKWZvcihyPW8oZVtpXVtvZV0pLG49NztuPj1yW3BpXTtuLS0paWYocltuXT09dCl7cmV0dXJuIGd1O316MCs9Mjt9aWYodzUuTDEoejAudG9TdHJpbmcoKSx6MC50b1N0cmluZygpLmxlbmd0aCw4ODE3MikhPT14MCl7Zm9yKGU9byhyaVtRcl0pW2llXShHYSlbZ3NdLGk9NDtpPmVbcGldO2ktLSlmb3Iocj1vKGVbaV1bb2VdKSxuPTc7bj49cltwaV07bi0tKWlmKHJbbl09PXQpe3JldHVybiBndTt9fWZvcihlPW8ocmlbUXJdKVtpZV0oR2EpW2dzXSxpPTA7aTxlW3BpXTtpKyspZm9yKHI9byhlW2ldW29lXSksbj0wO248cltwaV07bisrKWlmKHJbbl09PT10KXtyZXR1cm4gZ3U7fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sQzpmdW5jdGlvbih0LGUsaSl7dmFyIG4scixvO289WmMuTyhvNSk7cmV0dXJuIG49b1t0bytHcit5YV1bbXJdW1VzK0dyK0NuXShkZSksbltPXT1yYStQZStDdCxuW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoSmErVHQrX3QrWWUrR3IrZXQrR3IrWWUrSmErVHQrcCtZZStHcitldCtHcitZZStKYStUdCt1cytHcitDbitZZStHcitldCtHcitZZStkK2VyK0dyKSsoSmErVHQrJG4rWWUrR3IrZXQrR3IrWWUrWnMrUit6K1ZlK0dyK1llK3NvK1ZlK0dyK1llK0NlK1ArR3IrWWUrR3Ird24rR3IpKyh1YStZZStCcytHcitYbytZZStHcitldCtHcitZZStKYStUdCtRYStSK3orVmUrR3IrWWUrc28rVmUrR3IrWWUrQ2UrUCtHcitlcitHcikrKFdyK1llK0dyK3duK0JzK0dyK1hvK1R0K1dvK1llK0dyK2V0K0dyK1llK2QrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSsoTnIrWWUrQnMrR3IrWG8rZXIrR3IpKyhHcitEcitHcitlcitHciksb1t0bytHcit5YV1bbXJdW1FyXVtJdCtHcitXZV0obikscj1vW3RvK0dyK3lhXS5ta3AodCxlLGkpLFpjLlAobykscjt9LEI6ZnVuY3Rpb24odCxlLG4pe3ZhciByLG8scztyPTA7bz1ufHwxMDtzPXQ7dHJ5e2Zvcig7cyYmcisrPG87KXtpZih0eXBlb2YgZT09PVRjJiYoc1tTYytHcittY109PT1lfHxaYy5JKHMsZSkpfHx0eXBlb2YgZT09PWFyJiZzPT09ZSl7cmV0dXJuIHM7fXc1Llk0KDQpO3M9c1t3NS51NChfdCxHcixpKV07fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sRjpmdW5jdGlvbih0KXt2YXIgZTtlPVJ0W1RlXTtyZXR1cm4gdHlwZW9mIHQhPT1nZSYmKGU9KGN0W2pjXSh0KXx8W0dyLEdyXSlbMV0pLGVbWl0oUGMsR3IpO30seDpmdW5jdGlvbih0KXtyZXR1cm4geWlbWHRdW1hzK0dyK2hdW0NpXSh0KT09PUdyK0pvK2FyK1llK2JuK3R0K0dyO30sazpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUjAsUDAsSjA7aT1bXTtuPVpjLnYoKTt0cnl7UjA9LTE2Mjc2MTY5Mzc7UDA9LTIwMDI5NzgxNzY7SjA9Mjtmb3IodmFyIEIwPTE7dzUuTDEoQjAudG9TdHJpbmcoKSxCMC50b1N0cmluZygpLmxlbmd0aCw3NjkxMCkhPT1SMDtCMCsrKXtmb3IoZSBpbiBuKXt+dFtlXSE9Z2V8fGlbTXJdKGUvKChHci1ldCklR3IpLXRbZV0pO31KMCs9Mjt9aWYodzUuTDEoSjAudG9TdHJpbmcoKSxKMC50b1N0cmluZygpLmxlbmd0aCw4NjExMCkhPT1QMCl7Zm9yKGUgaW4gbil7fnRbZV0hPWdlfHxpW01yXShlLygoR3ItZXQpJUdyKS10W2VdKTt9fWZvcihlIGluIG4pe3R5cGVvZiB0W2VdIT09Z2UmJmlbTXJdKGUrKEdyK2V0K0dyKSt0W2VdKTt9fWNhdGNoKHQpe0tjLmUodCk7fXc1Llk0KDQpO3JldHVybiBpW05pXSh3NS5jNChHcixWZSxHcikpO30sUjpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5CKHQsT24pO30seTpmdW5jdGlvbigpe2Zvcih2YXIgdCxlPXt9LGk9MDtpPGFyZ3VtZW50c1twaV07aSsrKWZvcih0IGluIGFyZ3VtZW50c1tpXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0oYXJndW1lbnRzW2ldLHQpJiYoZVt0XT1hcmd1bWVudHNbaV1bdF0pO31yZXR1cm4gZTt9LFY6ZnVuY3Rpb24odCxlKXt2YXIgSjEsWDEsQjE7SjE9NDUyODczNzI5O1gxPTEyNzMxMDM4NTg7QjE9Mjtmb3IodmFyIE4xPTE7dzUuZDEoTjEudG9TdHJpbmcoKSxOMS50b1N0cmluZygpLmxlbmd0aCw1NTI1MSkhPT1KMTtOMSsrKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpKihlLXQpKSt0O0IxKz0yO31pZih3NS5kMShCMS50b1N0cmluZygpLEIxLnRvU3RyaW5nKCkubGVuZ3RoLDI4MzUxKSE9PVgxKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpJShlL3QpKSV0O319LFE6ZnVuY3Rpb24odCl7dmFyIGUsaSxuO3c1Llk0KDgpO2U9dzUuYzQodHlwZW9mIHQsYXIpO2k9dDt3NS5vNCg0KTtuPXJpW1VzK0dyK0NhXSh3NS51NChTbixHcix1bykpO25bTHMrR3IrU24rR3IrQ2FdKGdzLGd1LGd1LHksMCwwLDAsMCwwLGd1LHl1LHl1LGd1LDAsbXUpO2V8fChpPVpjLnooVSx7aHJlZjp0fHxpZStWdCtyYStQZStqbytWZStHcit1aStkZSt1citKYStUdCtJbytSK0dyK1ArR3IrZXIrR3IrdWkrR3IrUGUrZGUrdXIrR3J9KSxyaVtRcl1bSXQrR3IrV2VdKGkpKTtpW2duK0dyK0NhXShuKTtlfHxaYy5QKGkpO30sejpmdW5jdGlvbih0LGUsaSl7dmFyIG4scjtyPXJpW1VzK0dyK0NuXSh0KTtmb3IobiBpbiBlKXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShlLG4pJiZyW2xpK0dyK0dpXShuLGVbbl0pO31yZXR1cm4gaSYmKHJbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPWkpLHI7fSxZOmZ1bmN0aW9uKCl7dHJ5e3c1Lm80KDQpO3JldHVybiEhT3VbdzUuYzQoZW4sUGUsTWMpXVt3NS51NCgkaSxHcixXcyldO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sbDpmdW5jdGlvbih0KXt2YXIgZSxpLFk3LGY3LHM3O2U9WmMuXyh0KTt3NS5ZNCg0KTtpPXRbWl0oQWEsdzUudTQoR3Isem8scSkpO3RyeXtZNz0tMTYzMTA2MDI3MDtmNz0xOTgxNTM2MDYxO3M3PTI7Zm9yKHZhciBXNz0xO3c1LkwxKFc3LnRvU3RyaW5nKCksVzcudG9TdHJpbmcoKS5sZW5ndGgsMTYwMikhPT1ZNztXNysrKXtyZXR1cm4rbmV3IFVyKChacy9ZZS1HcikvIGkveHIsUnMpW2lyXShlW1hzJUdyL2hdKCkpO3M3Kz0yO31pZih3NS5MMShzNy50b1N0cmluZygpLHM3LnRvU3RyaW5nKCkubGVuZ3RoLDExNjM3KSE9PWY3KXtyZXR1cm4hbmV3IFVyKFpzK1llK0dyK2kreHIsUnMpW2lyXShlW1hzK0dyK2hdKCkpO319Y2F0Y2godCl7cmV0dXJuIHRbWHMrR3IraF0oKVtMK0dyK1dhXShrbytZZStycytZZStVK1llK1pzKT4tMT9ndTpYYy5kP2d1Onl1O319LHY6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbzt3NS5vNCg0KTtlPXlbdzUuYzQoUGEsR3IsZyldO3c1Llk0KDQpO2k9eVt3NS5jNChQYSxHcix3YyldO249eVtPaStHcitVZV18fHlbT2krR3IrV25dfHwwO3I9eVtPaStHcit4b118fHlbT2krR3IrQ2NdfHwwO289e307cmV0dXJuIG9bb2NdPWUsb1tLYV09aSxvW0hpXT1uLG9bcF09cixvW29yXT0wLG9bRWldPTEsb1tTcl09MSxvW09yXT0xLG8ucmVzaXphYmxlPTEsb1tNZV09MSxYYy5iJiYob1tLYV0rPVhjLm0/NDY6NTIpLFhjLmcmJihvW29jXS09NSxvW0thXS09NCksdHlwZW9mIHQ9PT1hciYmKG89WmMueShvLHQpKSxvO30sTzpmdW5jdGlvbih0KXt2YXIgZTtlPXJpW1VzK0dyK0NuXShjbik7cmV0dXJuIGVbeGVdW3h0XT1YaSx0JiZyaVtRcl1bSXQrR3IrV2VdKGUpLGU7fSxEOmZ1bmN0aW9uKHQpe3JldHVybiB0W1NjK0dyK21jXT09PUZjK0dyK1ZyK0dyK3hjK0dyK3hjK0dyK2ZjK0dyK2d0fHx0W1NjK0dyK21jXT09PXZhK0dyK2d0K0dyK210K0dyK1ZyK0dyK3hjJiZVbltpcl0odFthYStHcitHaV0oTykpfHx0aGlzLkIodCxGYytHcitWcitHcit4YytHcit4YytHcitmYytHcitndCkhPT15dTt9LFA6ZnVuY3Rpb24odCl7dCYmdFtfdCtHcitpXSYmdFtfdCtHcitpXVt4bitHcitXZV0odCk7fSxJOmZ1bmN0aW9uKHQsZSl7dmFyIG4scixvO2lmKHR5cGVvZiBlIT09VGMpe3JldHVybiB5dTt9aWYodHlwZW9mIHJpW2VlK0dyK3Z0K0dyK21dPT09WnMpdHJ5e3I9dFtfdCtHcitpXVtlZStHcit2dCtHcittXShlKXx8eS5qUXVlcnkoZSk7fWNhdGNoKHQpe31lbHNlIGlmKFpjLkEoKSl0cnl7cj15LmpRdWVyeShlKTt9Y2F0Y2godCl7fWlmKHIpZm9yKG89MDtvPHJbcGldO28rKylpZihyW29dPT09dCl7cmV0dXJuIGd1O31zd2l0Y2goZVswXSl7Y2FzZSBHcitUdCtHcjpuPVtsbyxlW2ZzXSgxKV07YnJlYWs7Y2FzZSBHcitzZStHcjpuPVtWYSxlW2ZzXSgxKV07fXJldHVybiBuP3RoaXMuVyh0LG5bMF0sblsxXSk6eXU7fSxmOmZ1bmN0aW9uKHQsZSl7dHJ5e3JldHVybiEoIXRba2ldW2VdfHwhdFtraV1bZV1bWW5dKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LE46ZnVuY3Rpb24odCl7dmFyIGU7ZT10aGlzLlIodCk7cmV0dXJuIGUmJmVbdW5dJiYheHNbaXJdKGVbdW5dKT9lW3VuXTp5dTt9LEo6ZnVuY3Rpb24odCxlLGksbil7Zm9yKHZhciByLG8scyxhPXRbWHMrR3IraF0oKVtDcl0obnx8R3IrVHQrR3IpLGM9ZVtYcytHcitoXSgpW0NyXShufHxHcitUdCtHciksdT0wLGY9ZHJbQm9dKGFbcGldLGNbcGldKTt1PGYmJihyPVVjKGFbdV18fDAsMTApLG89VWMoY1t1XXx8MCwxMCkscWMocikmJihyPTApLHFjKG8pJiYobz0wKSxzPXI+bz8xOi0xLHI9PT1vKTt1Kyspe3M9MDt9c3dpdGNoKGkpe2Nhc2UgR3IrdXIrR3I6dzUubzQoOCk7cmV0dXJuIHc1LnU0KDEscyk7Y2FzZSBHcit1citHcitldCtHcjp3NS5ZNCg5KTtyZXR1cm4gdzUuYzQocywxKTtjYXNlIEdyK3VpK0dyOnc1Lm80KDEwKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK3VpK0dyK2V0K0dyOnc1Llk0KDExKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK2V0K0dyK2V0K0dyOmNhc2UgR3IrZXQrR3IrZXQrR3IrZXQrR3I6ZGVmYXVsdDp3NS5ZNCg4KTtyZXR1cm4gdzUudTQoMCxzKTt9fSwkOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1wZVtDcl0oR3IpLGk9ZVtwaV0sbj0wLHI9R3I7bjx0O24rKyl7cis9ZVtkcltBY10oZHJbTW5dKCkqaSldO31yZXR1cm4gcjt9LGg6ZnVuY3Rpb24odCxlKXt0cnl7cmV0dXJuIHRbYWErR3IrR2ldKGUpO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sSDpmdW5jdGlvbih0LGUsaSl7dmFyIG47dzUubzQoMik7bj13NS5jNChoaSx0KTtyZXR1cm4gdHlwZW9mIHlbbl0hPT1nZSYmcm8oeVtuXSkseVtuXT1pbyhlLGkpO30sdzpmdW5jdGlvbigpe3JldHVybiBQdTt9LFU6ZnVuY3Rpb24odCl7cmV0dXJuIHRbU2MrR3IrbWNdPT09dmErR3IrZ3QrR3IrbXQrR3IrVnIrR3IreGMmJm5lW2lyXSh0W2FhK0dyK0dpXShPKSl8fHRbU2MrR3IrbWNdPT09cGErR3IrT24rR3IrRmMrR3IrUHMrR3IrcGE7fX07aXU9e3R0OmZ1bmN0aW9uKHQsZSl7dmFyIGkscTUsbTUsQTU7dHJ5e3E1PS0xNDE1MjczNDIzO201PS0zMzc1MDc5MjY7QTU9Mjtmb3IodmFyIEs1PTE7dzUuZDEoSzUudG9TdHJpbmcoKSxLNS50b1N0cmluZygpLmxlbmd0aCwzNzU1NSkhPT1xNTtLNSsrKXtyZXR1cm4gZXx8KGk9cmlbKHdyLUdyKSVqbipHcipMY10odFtIYyVHci9VZV0sdFtIYy9Hci14b10pKT9pOnRbVGldJiZ0W1hzLUdyLUNuXSYmdFsoWHItR3IpJUNuXTtBNSs9Mjt9aWYodzUuTDEoQTUudG9TdHJpbmcoKSxBNS50b1N0cmluZygpLmxlbmd0aCw3MjUzNikhPT1tNSl7cmV0dXJuIGUmJihpPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXSx0W0hjK0dyK3hvXSkpP2k6dFtUaV18fHRbWHMrR3IrQ25dfHx0W1hyK0dyK0NuXTt9fWNhdGNoKHQpe3JldHVybiB5dTt9fSxYOmZ1bmN0aW9uKHQsZSxpLG4pe3JldHVybiB0eXBlb2YgdFtIbitHcitDYStHcitFbl09PT1acz90W0huK0dyK0NhK0dyK0VuXShlLGksbnx8e30pOnRbRmUrR3IrQ2FdKE5vK2UsaSk7fSxLOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByO3I9ZnVuY3Rpb24oKXtpdS5aKHQsZSxyLG4pO2lbQ2ldKCk7fTtpdS5YKHQsZSxyLG4pO30sWjpmdW5jdGlvbih0LGUsaSxuKXtyZXR1cm4gdHlwZW9mIHRbeG4rR3IrQ2ErR3IrRW5dPT09WnM/dFt4bitHcitDYStHcitFbl0oZSxpLG58fHt9KTp0W0tpK0dyK0NhXShObytlLGkpO319OyEoWGM9e2l0OmZhW2lyXSh2dSksbnQ6c3RbaXJdKHZ1KSxtOmxlW2lyXSh2dSksZXQ6YWNbaXJdKHZ1KSxydDpTb1tpcl0odnUpLG90OnNpW2lyXSh2dSl8fEpyW2lyXSh2dSl8fHVlW2lyXSh2dVtmc10oMCw0KSksc3Q6dm9baXJdKHZ1KSxnOkFyW2lyXSh2dSkmJiFfYVtpcl0odnUpLGI6bHJbaXJdKHZ1KSYmIW1hW2lyXSh2dSksYXQ6bWVbaXJdKHZ1KSYmIWdyW2lyXSh2dSksY3Q6eFtpcl0odnUpLGQ6Rltpcl0odnUpLHV0OnlvW2lyXSh2dSksX3Q6bXUscHQ6WmMucShndSl8fG11LGx0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3QhPT1tdT90aGlzLl90OnRoaXMuX3Q9UWMuZHQoKSE9PXl1O30sSjpmdW5jdGlvbih0LGUpe3JldHVybiBaYy5KKFhjLmZ0LGUsdCk7fSxodDptb1tpcl0odnUpJiYhenJbaXJdKHZ1KSxmdDpaYy5xKHl1KXx8bXV9KS5ldHx8WGMuaHR8fFhjLmR8fFhjLmJ8fChYYy51dD1vNSk7KFljPWZ1bmN0aW9uKHQsZSxpKXt2YXIgbjtuPWl8fHt9O25bel09ZTt0aGlzLnZ0KG4pO3RoaXMubXQuYnR8fCh0aGlzLm10LmJ0PXJ1K3QpO3RoaXMuZ3QoKTt9KVtYdF09e2t0OntUdDpndSxDdDptdSxqdDp5dSxFdDpHcitQZStHcixGdDprdSxMdDpndSxBdDp5dSxPdDpndSx4dDptdSxQdDpudWxsLGJ0Om11LHd0Om11LFN0Omt1fSxtdDp7fSx5dDpudWxsLHp0OlpjLnYoKSxCdDpaYy5wKFtbT3IsMF1dKSxJdDpaYy5wKFtbTWUsMV1dKSxNdDpaYy5wKFtbU3IsMV1dKSxXdDpaYy5wKFtbRWksMF0sW1NyLDBdXSksRHQ6WmMucChbW01lLDBdXSksVXQ6WmMucChbW1p0LDBdXSksUnQ6WmMucChbW0VpLDBdXSksc2V0T3B0aW9uczpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy52dCh0KTt9LGd0OmZ1bmN0aW9uKCl7dmFyIHQsZSxpLG47dD1mdW5jdGlvbih0LGUpe3ZhciBpLG47bj17fTtuW3B1XT1beXUsZ3VdO25bX3VdPVt5dSx5dV07bltsdV09W2d1LGd1XTtuW2R1XT1bZ3UseXVdO2ZvcihpIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixpKSYmbltpXVswXT09PXQmJm5baV1bMV09PT1lKXtyZXR1cm4gaTt9cmV0dXJuIF91O307ZT1YYy5sdCgpO2k9dChHYy5tdC4kdC5uZXdUYWIsR2MubXQuJHQudW5kZXIpO249dCh0aGlzLm10LkF0LHRoaXMubXQuVHQpO2V8fG49PT1wdSYmKG49aSk9PT1wdSYmKG49bHUpO1hjLm90JiYobj09PV91JiYobj1kdSksbj09PXB1JiYobj1sdSkpO3RoaXMueXQ9bjt9LEh0OmZ1bmN0aW9uKCl7dmFyIGswLG4wLEYwO2lmKHR5cGVvZiB0aGlzLm10Lnh0PT09WnMpdHJ5e3JldHVybiB0aGlzLm10Lnh0W0NpXSh0aGlzLHRoaXMubXQpW1hzK0dyK2hdKCk7fWNhdGNoKHQpe3JldHVybiBLYy5lKHQpLHl1O31rMD0tMTAwMjA0NzAxMztuMD0tMTY1MTM4NjMwNztGMD0yO2Zvcih2YXIgTTA9MTt3NS5MMShNMC50b1N0cmluZygpLE0wLnRvU3RyaW5nKCkubGVuZ3RoLDY4NDExKSE9PWswO00wKyspe3JldHVybiB0aGlzLm10Lnh0O0YwKz0yO31pZih3NS5kMShGMC50b1N0cmluZygpLEYwLnRvU3RyaW5nKCkubGVuZ3RoLDkwOTM5KSE9PW4wKXtyZXR1cm4gdGhpcy5tdC54dDt9fSxMdDpmdW5jdGlvbigpe3ZhciB0LGUsRzcsQzcsazcsVjAsdTAseTA7dD10aGlzLm10O2U9dC5PdCE9PU5zJiZ0Lk90IT09TmV8fHQuT3Q9PT1OcyYmWGMub3R8fHQuT3Q9PT1OZSYmIVhjLm90O3RyeXtHNz0tMTkzODMwODU3MjtDNz0tMTE3NzY0NDk2NDtrNz0yO2Zvcih2YXIgRjc9MTt3NS5kMShGNy50b1N0cmluZygpLEY3LnRvU3RyaW5nKCkubGVuZ3RoLDg5NDI0KSE9PUc3O0Y3Kyspe3R5cGVvZiB0Lkx0PT09WnM/ZT1lJiZ0Lkx0W0NpXSh0aGlzLGUsdGhpcy5OdCgpKSE9PXl1OnR5cGVvZiB0Lkx0PT09YW4mJihlPWUmJnQuTHQpO2s3Kz0yO31pZih3NS5MMShrNy50b1N0cmluZygpLGs3LnRvU3RyaW5nKCkubGVuZ3RoLDUzNDE4KSE9PUM3KXstdC5MdCE9PVpzP2U9ZXx8dC5MdFtDaV0odGhpcyxlLHRoaXMuTnQoKSk9PT15dTohdC5MdD09YW58fChlPWV8fHQuTHQpO319Y2F0Y2godCl7S2MuZSh0KTt9VjA9Njg3MDAyMDA4O3UwPS0yOTc1OTkyODc7eTA9Mjtmb3IodmFyIHYwPTE7dzUuTDEodjAudG9TdHJpbmcoKSx2MC50b1N0cmluZygpLmxlbmd0aCw2NDU0MSkhPT1WMDt2MCsrKXtyZXR1cm4gR2MuSnQoKT9lfHwtdGhpcy5WdDplfHwrdHUuYyh0LmJ0KTt5MCs9Mjt9aWYodzUuTDEoeTAudG9TdHJpbmcoKSx5MC50b1N0cmluZygpLmxlbmd0aCwyOTMyNSkhPT11MCl7cmV0dXJuIEdjLkp0KCk/ZXx8LXRoaXMuVnQ6ZXx8K3R1LmModC5idCk7fXJldHVybiBHYy5KdCgpP2UmJiF0aGlzLlZ0OmUmJiF0dS5jKHQuYnQpO30sdnQ6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHI7dGhpcy5tdD1aYy55KHRoaXMuenQsdGhpcy5rdCx0aGlzLm10LHR8fHt9KTtmb3IoaSBpbiB0aGlzLm10KWlmKHlpW1h0XVtCYStHcitsdCtHcitvb11bQ2ldKHRoaXMubXQsaSkpc3dpdGNoKG49dGhpcy5tdFtpXSxpKXtjYXNlIHNvOnRoaXMubXQud3Q9bjticmVhaztjYXNlIHo6dGhpcy5tdC54dD1uO2JyZWFrO2Nhc2UgTGU6dGhpcy5tdC5PdD0obitHcilbWHMrR3IrdHMrR3IrbmNdKCk7YnJlYWs7Y2FzZSBOdCtHcittYzp0aGlzLm10LmJ0PW47YnJlYWs7Y2FzZSBOdCtHcitUOnRoaXMubXQuQ3Q9bjticmVhaztjYXNlIE50K0dyK2VhOnRoaXMubXQuRXQ9bjticmVhaztjYXNlIE50K0dyKyRzOnRoaXMubXQuUHQ9bjticmVhaztjYXNlIEVlOnRoaXMubXQuVHQ9bjticmVhaztjYXNlIEErR3IrTG86dGhpcy5tdC5BdD1uO2JyZWFrO2Nhc2UgcHQrR3IramU6dGhpcy5tdC5GdD1uO2JyZWFrO2Nhc2UgamErR3IramU6dGhpcy5tdC5TdD1uO2JyZWFrO2Nhc2UgSWMrR3IrY3I6dGhpcy5tdC5qdD1uO2JyZWFrO2Nhc2UgdGUrR3Irc3M6dGhpcy5tdC5MdD1uO31pZighWGMub3QmJiF0aGlzLm10LkF0KWZvcihyPVtbWGMuZyYmMTE9PT1YYy5wdCx0aGlzLlV0XSxbWGMuYiYmWGMucHQ8NDEsdGhpcy5JdF0sW1hjLmIsdGhpcy5CdF0sW1hjLmQmJlhjLnB0PDQ3LHRoaXMuTXRdLFtYYy51dCx0aGlzLkR0XSxbWGMuY3QsdGhpcy5SdF0sW1hjLmImJlhjLnB0Pj01OSx0aGlzLld0XSxbWGMudXQmJlhjLnB0Pj00Nix0aGlzLld0XV0sZT0wO2U8cltwaV07ZSsrKWlmKHJbZV1bMF0pZm9yKGkgaW4gcltlXVsxXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0ocltlXVsxXSxpKSYmKHRoaXMubXRbaV09cltlXVsxXVtpXSk7fX0sZ2V0T3B0aW9uczpmdW5jdGlvbigpe3JldHVybiB0aGlzLk50KCk7fSxOdDpmdW5jdGlvbigpe3ZhciB0LGU7ZT17fTtmb3IodCBpbiB0aGlzLm10KXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXSh0aGlzLm10LHQpJiZ0W3BpXT49MyYmKGVbdF09dGhpcy5tdFt0XSk7fXJldHVybiBlO30scXQ6ZnVuY3Rpb24oKXtHYy5KdCgpP3RoaXMuVnQ9Z3U6dHUuYSh0aGlzLm10LmJ0LDEsdGhpcy5tdC5DdCx0aGlzLm10LkV0LHRoaXMubXQuUHQpO319OyhudT1mdW5jdGlvbih0KXt2YXIgZTtlPXRoaXM7dGhpcy5RdD10O3RoaXMuR3Q9dGhpcy5ZdCgpO3RoaXMuS3Q9dGhpcy5adCgpO2l1LlgodGhpcy5HdCxncyxmdW5jdGlvbigpe0dzKGUuS3QpO1pjLlAoZS5HdCk7fSk7fSlbWHRdPXtZdDpmdW5jdGlvbigpe3ZhciB0LEs3LHI3LFE3O0s3PS0xODIwMzgxMDU7cjc9MTk5MDM1MjYxMTtRNz0yO2Zvcih2YXIgajc9MTt3NS5kMShqNy50b1N0cmluZygpLGo3LnRvU3RyaW5nKCkubGVuZ3RoLDg2ODQwKSE9PUs3O2o3Kyspe3Q9WmMueihoYyx7Y2xhc3M6ZnV9LEdyKTtyZXR1cm4gdGhpcy5RdFtTYytHcittY11bWHMrR3IrdHMrR3IrbmNdKCk9PT1Rcj9yaVtRcl1bSXQrR3IrV2VdKHQpOnRoaXMuUXRbX3QrR3IraV1bTmMrR3IrT3NdKHQsdGhpcy5RdFtWcytHcitrc10pLHQ7UTcrPTI7fWlmKHc1LkwxKFE3LnRvU3RyaW5nKCksUTcudG9TdHJpbmcoKS5sZW5ndGgsMzM0MykhPT1yNyl7dD1aYy56KGhjLHtjbGFzczpmdX0sR3IpO3JldHVybiB0aGlzLlF0W1NjKkdyL21jXVtYcypHci10cy1Hci1uY10oKT09UXI/cmlbUXJdW0l0L0dyL1dlXSh0KTp0aGlzLlF0W190L0dyJWldWyhOYy1HcikqT3NdKHQsdGhpcy5RdFsoVnMtR3IpJWtzXSksdDt9fSxadDpmdW5jdGlvbigpe3ZhciB0O3Q9dGhpcztyZXR1cm4gQ28oZnVuY3Rpb24oKXt2YXIgZSxpO2k9VWModC5RdFt4ZV1bc24rR3IrenNdLDEwKTt0LlF0W1NjK0dyK21jXVtYcytHcit0cytHcituY10oKT09PVFyJiYoaT05ZTkpOyhlPV9uK1Z0K2dvK2VyK0RhK1Z0K04rZXIrbG4rVnQraytlcitHcisoS2ErVnQrR3IpK3QuUXRbZnIrR3Ird2NdKyhobytlcitHcikrKG9jK1Z0K0dyKSt0LlF0W2ZyK0dyK2ddKyhobytlcitHcikrKEhpK1Z0K0dyKSt0LlF0W2ZyK0dyK1duXSsoaG8rZXIrR3IpKyhwK1Z0K0dyKSt0LlF0W2ZyK0dyK0NjXSsoaG8rZXIrR3IpKyhzbit3aStMK1Z0K0dyKSsocWMoaSk/MjppKzEpKSE9PXQuR3RbYWErR3IrR2ldKHhlKSYmdC5HdFtsaStHcitHaV0oeGUsZSk7fSwxNTApO319O251Llh0PWZ1bmN0aW9uKHQpe3ZhciBlO3c1Llk0KDEyKTtlPXc1LmM0KHJ1LExpLHdpLHdpLEdyLGllLEdyKTt0W2FhK0dyK0dpXShlKXx8dFthYStHcitHaV0obG8pPT09ZnV8fCh0W2xpK0dyK0dpXShlLDEpLG5ldyBudSh0KSk7fTsoUWM9e2R0OmZ1bmN0aW9uKCl7dmFyIHQsZTtlPXRoaXMuZWUoKTtmb3IodD0wO3Q8ZVtwaV07dCsrKWlmKGVbdF1bMV0oKT09PWd1KXtyZXR1cm4gZVt0XVswXTt9cmV0dXJuIHl1O30sZWU6ZnVuY3Rpb24oKXt2YXIgdDt0PVtdO3JldHVybiBYYy5vdHx8WGMuaXQ/W106KHRbTXJdKFt0aGlzLmllLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlhjLnB0Pj02NCYmWGMucHQ8Njc7fV0pLHRbTXJdKFt0aGlzLm5lLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubnQmJlhjLnB0Pj00MyYmWGMucHQ8NjQ7fV0pLHRbTXJdKFt0aGlzLnJlLGZ1bmN0aW9uKCl7dmFyIGI3LHE3LG03O2I3PS02MDMwNTI0OTU7cTc9LTQwNjg3OTgwNDttNz0yO2Zvcih2YXIgSTc9MTt3NS5MMShJNy50b1N0cmluZygpLEk3LnRvU3RyaW5nKCkubGVuZ3RoLDU1NDM5KSE9PWI3O0k3Kyspe3JldHVybiBYYy5ifHxaYy5ZKCl8fFhjLm18fFhjLnB0PD0xN3x8WGMucHQ+PTg5O203Kz0yO31pZih3NS5MMShtNy50b1N0cmluZygpLG03LnRvU3RyaW5nKCkubGVuZ3RoLDYyMDk0KSE9PXE3KXtyZXR1cm4gWGMuYnx8WmMuWSgpfHxYYy5tfHxYYy5wdDw9MTd8fFhjLnB0Pj04OTt9cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubSYmWGMucHQ+PTQ5JiZYYy5wdDw2NDt9XSksdFtNcl0oW3RoaXMub2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZDt9XSksdFtNcl0oW3RoaXMuc2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZyYmWGMucHQ+PTExO31dKSx0W01yXShbdGhpcy5hZSxmdW5jdGlvbigpe3JldHVybiBYYy5odDt9XSksdFtNcl0oW3RoaXMuY2UsZnVuY3Rpb24oKXt2YXIgVDAsRTAsbzA7VDA9MTIwNjMzNjEyMTtFMD0xMjk2MjQyMjUyO28wPTI7Zm9yKHZhciBwMD0xO3c1LmQxKHAwLnRvU3RyaW5nKCkscDAudG9TdHJpbmcoKS5sZW5ndGgsNDUyNzYpIT09VDA7cDArKyl7cmV0dXJuIFhjLnV0fHxYYy5udHx8WGMucHQ+PTc0O28wKz0yO31pZih3NS5MMShvMC50b1N0cmluZygpLG8wLnRvU3RyaW5nKCkubGVuZ3RoLDY1MzgpIT09RTApe3JldHVybiBYYy51dCYmWGMubnQmJlhjLnB0PD00ODt9fV0pLHQpO319KS50ZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMudGVbWHRdPXtfZTprdSx1ZTpmdW5jdGlvbih0KXt2YXIgcjUsUTUsZTU7cjU9LTk1ODI4OTMwMTtRNT0tNjIxNDQ4NDIyO2U1PTI7Zm9yKHZhciBaNT0xO3c1LmQxKFo1LnRvU3RyaW5nKCksWjUudG9TdHJpbmcoKS5sZW5ndGgsOTUyNjgpIT09cjU7WjUrKyl7dGhpcy5mZT10O2U1Kz0yO31pZih3NS5MMShlNS50b1N0cmluZygpLGU1LnRvU3RyaW5nKCkubGVuZ3RoLDE0MzU1KSE9PVE1KXt0aGlzLmZlPXQ7fX0sbGU6a3UscGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhO2k9dGhpcztuPWkuZmU7cj1uLkh0KCk7bz1uLm10O3M9by53dHx8WmMuJCg1KTthPVpjLmsobyk7aWYodD1mdW5jdGlvbigpe3RyeXtpZih0eXBlb2Ygby5GdD09PVpzJiZvLkZ0W0NpXShuLHIsbyk9PT15dSl7cmV0dXJuIHl1O319Y2F0Y2godCl7S2MuZSh0KTt9cmV0dXJuIG11O30sZT1mdW5jdGlvbih0KXtpZih0eXBlb2Ygby5TdD09PVpzKXRyeXtvLlN0W0NpXShuLHIsbyx0KTt9Y2F0Y2godCl7S2MuZSh0KTt9fSx0KCk9PT15dSl7cmV0dXJuIHl1O310eXBlb2Ygb1t6XT09PVRjJiZvW3pdIT09ciYmKHI9b1t6XSk7R2MuanQoby5qdCk7dGhpcy5fZSgpO3RyeXtyZXR1cm4gdGhpcy5sZShyLG8scyxhLGZ1bmN0aW9uKHQpe2kuZGUodCk7aS5oZSYmR2MuaGUoKTtlKHQpO30pO31jYXRjaCh0KXtyZXR1cm4gS2MuZSh0KSx5dTt9fSx2ZTpmdW5jdGlvbih0LGUsaSl7cmV0dXJuKEdjLm10LmJlP1pjLkM6QXUpKHQsZSxpKTt9LGRlOmt1LGhlOmd1fTtRYy5tZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMubWVbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTp5dSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3IodGhpcy52ZSh0LGksbikpO319KTtRYy5nZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuZ2VbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTohWGMub3QmJiFYYy5kLGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7cih0aGlzLnZlKHQsRmkpKTt9fSk7UWMueWU9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnllW1h0XT1aYy55KFFjLnRlW1h0XSx7a2U6ZnVuY3Rpb24oKXt2YXIgdCxlLGk7dD1HYy53ZSgpO2U9R2MueGUuUztpPXR5cGVvZiBHYy5tdC5PZT09PVpzP0djLm10Lk9lW0NpXSgpOkdjLm10Lk9lO3JldHVybiBmdW5jdGlvbigpe3ZhciBuLHI7cmV0dXJuIGkhPT1GdT9pOihuPVpjLiQoMSkscj1lP2k6R2MuQ2UodCl8fGksZXUucygpfHwhWGMub3QmJiFYYy5nP3I6KHR1LmEoY3UsbixtdSkscltaXSh2cixHcikrKEdyK3NlK0dyKStuKSk7fSgpO30sbGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgeDksejksaDksbyxzLGEsYyx1LGgsZixwO3g5PTE3MTA2NjI4Nzg7ejk9LTEwMzk3MjE3MTM7aDk9Mjtmb3IodmFyIEw5PTE7dzUuZDEoTDkudG9TdHJpbmcoKSxMOS50b1N0cmluZygpLmxlbmd0aCwzMDE4NykhPT14OTtMOSsrKXtoOSs9Mjt9aWYodzUuZDEoaDkudG9TdHJpbmcoKSxoOS50b1N0cmluZygpLmxlbmd0aCw0NTQ4MCkhPT16OSl7fWE9dGhpcy5rZSgpO2M9R2Mud2UoKTt1PVpjLk4oYyk7aD0xNTtmPVtdO3A9ZnVuY3Rpb24odCl7dmFyIGU7dHlwZW9mIHRbQW5dPT09WnMmJihlPXRbQW5dLGl1LlgodCxncyxlKSk7dFtBbl09ZnVuY3Rpb24oKXtyZXR1cm4geXU7fTt9O2ZvcihHYy5FZSgpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKSE9PUZpJiZaYy5mKGMsdW4pJiYocChjKSwwIT09Y1thYStHcitHaV0odW4pW0wrR3IrV2FdKEN0KSYmKGE9Y1thYStHcitHaV0odW4pKT09PUdyJiYoYT1GdSkpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKT09PUZpJiZaYy5mKGMsdW4pJiYocChjKSxpbyhmdW5jdGlvbigpe2NbQW5dPW11O30sM2UzKSxHYy5tdC5QZT9hPWNbYWErR3IrR2ldKHVuKTooYT1GdSxYYy5vdCYmKFhjLnV0P2ZbTXJdKGZ1bmN0aW9uKCl7QXUoY1thYStHcitHaV0odW4pLEZpKTt9KTppbyhmdW5jdGlvbigpe0F1KGNbYWErR3IrR2ldKHVuKSxGaSk7fSwyMCkpKSksWGMuZXQmJlhjLnV0fHxYYy5ldCYmWGMuc3QmJiFYYy5kJiYhWGMuYiYmIVhjLmh0PyhBdShhLEZpKSxaYy5IKEJyLGZ1bmN0aW9uKCl7WmMuVCh0KTt9LGgpKTohWGMub3QmJlpjLmgoYyxUaSkhPT1GaSYmKFhjLnV0JiZYYy5zdHx8WGMuaHQmJlhjLnB0PDEwfHxYYy5iJiZYYy5wdDw0MSk/WGMudXQ/KFpjLlEoYSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KFpjLlEodCksY1tTYytHcittY109PT1PbiYmdSYmWmMuVCh1KSk6WGMuZXQmJlhjLmQ/KG89QXUoYSxGaSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KG89eVtRYV0oVWErVnQrY2ksRmkpKT8ob1tFaV1bdW5dPWEsWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6bz1BdSh0LEZpKSxzPTA7czxmW3BpXTtzKyspe2Zbc11bQ2ldKCk7fW8mJnIobyk7fX0pO1FjLm9lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5vZVtYdF09WmMueShRYy50ZVtYdF0se2hlOnl1LGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG87bz10aGlzLnZlKHQsaSxuKTtvW2tuXSgpO1R1W2JvXSgpO1pjLk0obyk7aW8oZnVuY3Rpb24oKXtyKG8pO30sMWUzKTt9fSk7UWMuY2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLmNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZSh0LGksbik7cz1HYy5UZSgxZTMpO2l1LksoeSxibyxmdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9KTtvW2NjXT1mdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9O3Iobyk7fX0pO1FjLmFlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5hZVtYdF09WmMueShRYy50ZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIEQ5LFc5LGw5LG87RDk9MTk0OTIwNzgwOTtXOT04OTkwMjg0O2w5PTI7Zm9yKHZhciBWOT0xO3c1LkwxKFY5LnRvU3RyaW5nKCksVjkudG9TdHJpbmcoKS5sZW5ndGgsNTc4NTApIT09RDk7VjkrKyl7bDkrPTI7fWlmKHc1LkwxKGw5LnRvU3RyaW5nKCksbDkudG9TdHJpbmcoKS5sZW5ndGgsNTEwNjgpIT09Vzkpe315W3NvXT1aYy4kKDUpO289dGhpcy52ZSh0LGksbik7dGhpcy52ZShHcix5W3NvXSxHcik7eVtzb109bXU7cihvKTt9LGhlOnl1fSk7UWMuc2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZShQdT90OkZ1LGksbik7cz1mdW5jdGlvbigpe29bRWldW3VuXT10O307aXUuSyhvLGtuLHMpO29ba25dKCk7VHVbYm9dKCk7aW8ocywxMDApO3Iobyk7fSxoZTp5dX0pO1FjLm5lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5uZVtYdF09WmMueShRYy50ZVtYdF0se0ZlOmZ1bmN0aW9uKCl7dmFyIHQsZTtlPVpjLnooYXIse2RhdGE6WmMuTChlbitQZStNYyx0aGlzLkFlKStaYy4kKDMpfSk7cmV0dXJuKHQ9WmMueihoYyx7c3R5bGU6UGkrVnQrYStlcitvYytWdCtIcytlcitLYStWdCtIcytlcitEYStWdCtOK2VyK3ArVnQrRnIrSGErR3IrZXIrSGkrVnQrem4rZXIrayt3aStHYStWdCtYaStlciskbytWdCthK2VyK0dyfSkpW0l0K0dyK1dlXShlKSxbZSx0XTt9LFNlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMueSh0LHt9KTtyZXR1cm4gZVtwXT1lW0hpXT05ZTUsZVtvY109ZVtLYV09MSxlO30sQWU6THQrR3IrdGErR3IrRmMrR3IrUHMrR3Irb24rR3IrV2MrR3IreG8rR3IrJCtHcithaStHcituK0dyK1NhK0dyK0tyK0dyK1F0K0dyK2t0K0dyK3p0K0dyK3RjK0dyK1l0K0dyK3ZhK0dyK3MrR3IrdmErdWMraG4rR3IrTGErR3IrenQrR3IrVytHcitEYytHcitaYStHcittdCtHcitWaStHcitzYStHcitVZStHcitUYStHcit2YStHcitWaStHcitQcitHcit4bytHcitVZStHcitpYytHcitwbytHcitLcitHcitKK0dyK2hzK0dyK1ppK0dyK3ZhK0dyK1ByK0dyK0xhK0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrWGErR3IrVHMrR3IrWmkrR3IrdmErR3IrUHIrR3IrSGUrR3IrenQrR3IrVytHcitGYytHcit0YytHcityYytHcithZStHcit2aStHcit2YStHcitQcitHcitydCtHcitwcytHcittdCtHcituYStHcitUbytHcityZStHcit4bytHcit0YStHcitqaStHcitXK0dyK2F0K0dyK3ZhK0dyK1ByK0dyK2MrR3IrYit1YytFK0dyK1FvK0dyK3BzK0dyK2RjK0dyK1l0K0dyK3ZhK0dyK1lhK0dyK1hhK0dyK1RzK0dyK1ppK0dyK3ZhK0dyK0dlK0dyK09lK0dyK2dhK0dyK0hvK0dyK3ZhK0dyK1ByK0dyK2t0K0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrdmErR3Ircm4rdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitrdCtHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK09lK0dyK1krR3IrS3QrR3IreG8rR3IrVWUrR3IrYnMrR3IrRnQrR3IrUG8rR3IrRStHcitVZStHcitiaStHcitVZStHcitTZStHcitWcitHcitEcytHcit4bytHcitVZStHcitHbytHcit2YStHcitQdCtHcitVZStHcitScitHcit5YytHcitPZStHcitWbytHcitLcitHcit2YytHcitiZStHcitzK0dyK3hjK0dyK0tvK0dyK3IrR3IrYWkrR3IrZnQrdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitBZStHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK05hK0dyK1RzK0dyK010K0dyK2hyK0dyK1lzK0dyK0tzK0dyK0UrR3IrVWUrR3IrZm4rR3IrcmMrR3IrYWUrR3IrRCtHcitMdCtHcitWcitHcit0YStHcittdCtHcitacitHcitWcitHcitPZSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3ZhciBzLGEsYyx1LGg7dT10aGlzO2g9eXU7dHJ5eyhhPXRoaXMudmUoVWErVnQrY2ksRmkpKVttcl1bcnJdKHc1LnU0KHVyLEdyLEdyLGpvLFBlLHVpLEdyLFFyLEdyLFBlLG8sR3IsdWksdWksR3IsdXIsUGUsR3IsdXIsam8sR3IsdXIsbyx1aSxHcix1cixHcix1aSxRcix1cix1aSx3NS5ZNCgxMykpKTtpdS5LKGEscWEsZnVuY3Rpb24oKXtmdW5jdGlvbiBmKCl7bigpO2FbSW9dKCk7bygpO3JvKGMpO31ofHwoaD1ndSxzPWFbQmNdPUF1KFVhK1Z0K2NpLGksWmMuayh1LlNlKGUpKSksaXUuWChhLGJvLGYpLGM9aW8oZiwzZTMpLGFbbXJdW1FyXVtQYStHcithaStHcit4YytHcit6dCtHcitwYV09dS5GZSgpWzFdW1BuK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXSk7ZnVuY3Rpb24gbigpe3c1Llk0KDE0KTthW21yXVtRcl1bdzUudTQoUGEsenQsR3IsR3IsR3IseGMsR3IsYWkscGEpXT1Hcjt9ZnVuY3Rpb24gbygpe3ZhciBhMSxZMSxmMTthMT0tMTU2OTI3MTMyMDtZMT0yMzc1ODcyNDtmMT0yO2Zvcih2YXIgRDE9MTt3NS5MMShEMS50b1N0cmluZygpLEQxLnRvU3RyaW5nKCkubGVuZ3RoLDk0NDMyKSE9PWExO0QxKyspe3NbRWMlR3ItYmFdKGVbSGldLGVbcF0pO3NbZGElR3IqYmFdKGVbb2NdLGVbS2FdKTtzW0VpXVtaXSh0KTtyKHMpO2YxKz0yO31pZih3NS5kMShmMS50b1N0cmluZygpLGYxLnRvU3RyaW5nKCkubGVuZ3RoLDYyNDUzKSE9PVkxKXtzW0VjJUdyLWJhXShlW0hpXSxlW3BdKTtzW2RhJUdyKmJhXShlW29jXSxlW0thXSk7c1tFaV1bWl0odCk7cihzKTt9c1tFYytHcitiYV0oZVtIaV0sZVtwXSk7c1tkYStHcitiYV0oZVtvY10sZVtLYV0pO3NbRWldW1pdKHQpO3Iocyk7fX0pO31jYXRjaCh0KXt9fX0pO1FjLnJlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5yZVtYdF09WmMueShRYy5uZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG8scztzPVpjLk8oZ3UpO2l1LksoeSxibyxmdW5jdGlvbigpe1pjLlAocyk7b1tFaV1bWl0odCk7cihvKTt9KTt3NS5vNCg0KTtvPXRoaXMudmUodzUuYzQoVWEsVnQsY2kpLEZpKTtzW3RvK0dyK3lhXVttcl1bcnJdKHRoaXMuRmUoKVsxXVtQbitHcithaStHcit4YytHcit6dCtHcitwYV0pO319KTtRYy5pZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuaWVbWHRdPVpjLnkoUWMudGVbWHRdLHtMZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47aT10aGlzO249eXU7dzUubzQoNCk7ZT10aGlzLnZlKHc1LmM0KFVhLFZ0LGNpKSx0Lnd0fHxGaSx0LkJlfHxHcik7dC56ZSYmKGUmJmVbSW9dKCksbj1ndSk7IW4mJmUmJmlvKGZ1bmN0aW9uKCl7ZVtFaV1bdW5dPXQueHQ7dC5JZSYmaS5JZShlKTt9LDEwMCk7fSx1ZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47bj10aGlzO3RoaXMuamU9ZHJbTW5dKCk7dGhpcy5mZT10O2U9R2Mud2UoKTt3NS5vNCgxNSk7aT1aYy5CKGUsdzUuYzQoZ3QsR3IseGMsR3IsR3IsRmMseGMsR3IsZmMsR3IsVnIpKTsoZVtTYytHcittY109PT1PbiYmZVthYStHcitHaV0oanIpIT09RmkmJiFaYy5TKGUpfHxpJiYhWmMuUyhpKSkmJih0aGlzLmhlPWd1KTtpdS5YKHksSWUsZnVuY3Rpb24gdChlKXt0cnl7ZVtpZV0uamU9PT1uLmplJiZuLkxlKGVbaWVdKTtlW2llXS56ZSYmaXUuWih5LEllLHQpO31jYXRjaCh0KXt9fSk7fSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3RoaXMuSWU9cjt0aGlzLk1lKHtqZTp0aGlzLmplLEJlOm4sSWU6Z3UseHQ6dH0pO3RoaXMuTWUoe2plOnRoaXMuamUsemU6Z3UseHQ6VWErVnQrY2l9KTt9LGhlOnl1LE1lOmZ1bmN0aW9uKHQpe3lbSnQrR3IrWF0odCx5W0VpXVtSb10pO319KTtHYz17X2k6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5RaSgpK3RoaXMuSGkoKT5aYy5HKCk7fSxLaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm10LkplO30sSmU6ZnVuY3Rpb24oKXt2YXIgdDt0PVpjLngoYXJndW1lbnRzWzBdKT9hcmd1bWVudHNbMF06YXJndW1lbnRzO3JldHVybiB0aGlzLm5uKHQsUm4sdFtwaV0mJnRbMF09PT15dSk7fSxraTpmdW5jdGlvbih0LGUsaSxuKXt0aGlzLk9pKGksdCxndSl8fG4oZ3UseXUpO30sV2k6ZnVuY3Rpb24odCl7dHJ5e3JldHVybiB0W3F0XSYmMCE9PXRbcXRdfHx0aGlzLmNpLkcrMTUwPlpjLkcoKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LFJpOmZ1bmN0aW9uKCl7dGhpcy5XZT1bXTt9LFlpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQucWU7fSxVaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLldlO30sWmU6bXUsVGk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHx0aGlzLnFpKHQpKXtyZXR1cm4geXU7fWlmKCF0aGlzLm10LnFlW3BpXXx8dFthYStHcitHaV0obG8pPT09ZnUpe3JldHVybiBndTt9Zm9yKDtlPHRoaXMubXQucWVbcGldO2UrKylpZih0PT09dGhpcy5tdC5xZVtlXXx8dHlwZW9mIHRoaXMubXQucWVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5xZVtlXVtYcytHcitwcitHcituY10oKXx8WmMuSSh0LHRoaXMubXQucWVbZV0pKXx8WmMuQih0LHRoaXMubXQucWVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LHdlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueGUuUXQ7fSxMaTpmdW5jdGlvbigpe3ZhciB0LGU7ZT10aGlzO3RoaXMuWmU9WmMueihoYyx7c3R5bGU6b2MrVnQrRnIrSGErR3IrZXIrS2ErVnQrRnIrSGErR3IrZXIrRGErVnQrSXMrZXIrcCtWdCt6bitlcitIaStWdCt6bitlcitzbit3aStMK1Z0K25vK2VyK3h0K1Z0K1hpK2VyK0dyfSxHcik7dD1DbyhmdW5jdGlvbigpe3ZhciBpO2k9cmlbUXJdO2kmJihHcyh0KSxpW0l0K0dyK1dlXShlLlplKSk7fSwxMDApO30saGk6ZnVuY3Rpb24oKXt2YXIgTjksYTksWTksdCxlLGk7Tjk9LTUxNTA4MTc1NzthOT0tMTMwNjg1MTEzNztZOT0yO2Zvcih2YXIgczk9MTt3NS5kMShzOS50b1N0cmluZygpLHM5LnRvU3RyaW5nKCkubGVuZ3RoLDEwMDExKSE9PU45O3M5Kyspe1k5Kz0yO31pZih3NS5MMShZOS50b1N0cmluZygpLFk5LnRvU3RyaW5nKCkubGVuZ3RoLDQ1MzQ0KSE9PWE5KXt9aT10aGlzLlhlLm9pO2Zvcih0PTA7dDx0aGlzLmZpW3BpXSYmKCF0aGlzLnBpKCkmJiF0aGlzLl9pKCkpO3QrKyl7aWYoZT10aGlzLmZpW3RdLHRoaXMuWGUuc2krKyx0aGlzLlhlLm9pPVpjLkcoKSx0aGlzLmxpKGUpPT09eXUpe3JldHVybiB0aGlzLlhlLnNpLS0sdm9pZCh0aGlzLlhlLm9pPWkpO31pPXRoaXMuWGUub2k7ZXUuYShodSx0aGlzLlhlLm9pKTtlLnl0PT09bHUmJmV1LmEodXUsdGhpcy5YZS5zaSk7fX0sT2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBuLHIsbyxzO3c1Lm80KDQpO289dzUuYzQoR3IsVHQsR3IpO3c1Llk0KDIpO3M9dzUuYzQobyx0KTtmb3Iobj0wO248ZVtwaV07bisrKWlmKHI9KEdyK090K0dyK1R0K0dyKVtMK0dyK1dhXShlW25dWzBdKT4tMT9lW25dOm8rZVtuXSxzW2ZzXShzW3BpXS1yW3BpXSk9PT1yfHxpJiZyPT09d3Upe3JldHVybiBndTt9cmV0dXJuIHl1O30sZW46ZnVuY3Rpb24odCxlKXt2YXIgTDAsZDAsTzAsaSxuO0wwPTEyMjU5MjUxNjQ7ZDA9LTc2NDA0NzIyNjtPMD0yO2Zvcih2YXIgQzA9MTt3NS5MMShDMC50b1N0cmluZygpLEMwLnRvU3RyaW5nKCkubGVuZ3RoLDk4MzQ3KSE9PUwwO0MwKyspe08wKz0yO31pZih3NS5MMShPMC50b1N0cmluZygpLE8wLnRvU3RyaW5nKCkubGVuZ3RoLDg1NTk4KSE9PWQwKXt9aT10aGlzO249dGhpcy50bih0LGUpO3RoaXMuV2VbTXJdKG4pO3RoaXMuRGkobik7dGhpcy5pbnx8KEdjLkNpKCksZnVuY3Rpb24oKXt2YXIgdCxlO1hjLmImJigoZT1yaVtVcytHcitDbl0oaGMpKVtSYytHcitpdF0oVmEsZnVuY3Rpb24oKXtDdT1ndTt9KSxDdT1vNSx0PUNvKGZ1bmN0aW9uKCl7aWYoQ3U9eXUsIWkubXQuUmUpe2lmKHR5cGVvZiB5W3dzXSE9PWFyfHx0eXBlb2YgeVt3c11bT29dIT09WnMpe3JldHVybiBDdT1vNSx2b2lkIEdzKHQpO315W3dzXVtPb10oZSk7eVt3c11bTWldKCk7fX0sNTAwKSk7fSgpLHRoaXMuaW49bzUpO30sUGk6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuSmkoKSx0P3RoaXMuZmlbcGldOnRoaXMuZmlbcGldPjA7fSx2aTpmdW5jdGlvbigpe3ZhciB0LGU7dD1aYy5HKCk7ZT1aYy5HKGF1KTt3NS5ZNCgxNik7dGhpcy5YZS5yaT13NS5jNChlLHQsMzE1MzYwMDAwMDApO3RoaXMuWGUucmkmJih0aGlzLmxpPWt1KTt9LEJpOmZ1bmN0aW9uKCl7dmFyIHQ7dD1VYyhldS5jKGh1KSwxMCk7cWModCkmJih0PTApO3RoaXMuWGUub2k9dDt9LENlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMuTih0KTtyZXR1cm4gZSYmIXRoaXMubXQuTmUmJlpjLlModCk/eXU6ZTt9LGp0OmZ1bmN0aW9uKHQpe3ZhciBlLGksbjtlPXR5cGVvZiB0PT09Z2U/Z3U6ISF0O3c1Lm80KDIpO2k9dzUuYzQocnUsSSk7bj1yaVthYStHcitDbitHcitpaStHcit0bl0oaSk7ZT9ufHwobj1aYy56KERvLHtjb250ZW50OkljK3dpK2lhLG5hbWU6aWEsaWQ6aX0pLHJpW2FhK0dyK1JlK0dyK2lpK0dyK1JpK0dyK21jXShvKVswXVtJdCtHcitXZV0obikpOm4mJlpjLlAobik7fSxHaTpmdW5jdGlvbigpe3RoaXMuWGUuaWk9Z3U7dGhpcy5oaT1rdTt9LEp0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQuRGU7fSx5aTpmdW5jdGlvbih0LGUsaSxuLHIpe2Zvcih2YXIgbyxzPTA7czxlJiYobz10W3NdLCEoMT09PW4mJihyKGlbcytlXSx0W3NdKmlbc10rcysoaVtzXT4+cyszKSl8fHIoaVtzKzIqZV0sdFtzXSoodFswXSt0WzFdK3RbMl0pKyhpW3NdPDxzKSl8fHIoaVtzKzMqZV0sZHJbQWNdKHRbMF0qdFsxXSp0WzJdL28pK28rKGlbc10+PnMpKSl8fG48MSYmKHIoaVtzK2VdLHRbc10qaVtzXStzKXx8cihpW3MrMiplXSx0W3NdKih0WzBdK3RbMV0rdFsyXSkpfHxyKGlbcyszKmVdLGRyW0FjXSh0WzBdKnRbMV0qdFsyXS9vKStvKSkpKTtzKyspO30scWk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHwhdGhpcy5tdC5KZVtwaV0pe3JldHVybiB5dTt9Zm9yKDtlPHRoaXMubXQuSmVbcGldO2UrKylpZih0PT09dGhpcy5tdC5KZVtlXXx8dHlwZW9mIHRoaXMubXQuSmVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5KZVtlXXx8WmMuSSh0LHRoaXMubXQuSmVbZV0pKXx8WmMuQih0LHRoaXMubXQuSmVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LGNpOnt1aTp7fSxHOjB9LEhpOmZ1bmN0aW9uKCl7cmV0dXJuIFhjLm90P2RyW0JvXSh0aGlzLm10LlZlLDFlMyk6WGMuYnx8WGMuZ3x8WGMuY3R8fFhjLnV0JiYhWGMuZXQ/ZHJbQm9dKHRoaXMubXQuVmUsMjAwKTp0aGlzLm10LlZlO30sRWU6ZnVuY3Rpb24odCl7dmFyIGUsWjcsdDcsVTc7Wjc9LTEyNTc1NDEyNDI7dDc9MTMwMDY1ODcyMDtVNz0yO2Zvcih2YXIgejc9MTt3NS5MMSh6Ny50b1N0cmluZygpLHo3LnRvU3RyaW5nKCkubGVuZ3RoLDgzNTc3KSE9PVo3O3o3Kyspe2U9dHx8dGhpcy5jaS51aTtVNys9Mjt9aWYodzUuZDEoVTcudG9TdHJpbmcoKSxVNy50b1N0cmluZygpLmxlbmd0aCwzMDU1KSE9PXQ3KXtlPXQmJnRoaXMuY2kudWk7fXRyeXtlW01vK0dyK25pXSYmZVtNbytHcituaV0oKTtlW3FlK0dyK19zXSYmZVtxZStHcitfc10oKTt3NS5vNCg0KTtlW3c1LmM0KE5yLEdyLGNvKV09eXU7dzUubzQoNCk7ZVt3NS51NChtcyxHcixIcildPWd1O31jYXRjaCh0KXt9fSxpOmZ1bmN0aW9uKCl7dmFyIE8xLEcxLEMxO08xPS0xMzAyMzI0NTE3O0cxPTg4ODY0MDYzMDtDMT0yO2Zvcih2YXIgbjE9MTt3NS5kMShuMS50b1N0cmluZygpLG4xLnRvU3RyaW5nKCkubGVuZ3RoLDU5MTU1KSE9PU8xO24xKyspe3JldHVybiB0aGlzLm10LlVlfHx0aGlzLm10LkRlO0MxKz0yO31pZih3NS5MMShDMS50b1N0cmluZygpLEMxLnRvU3RyaW5nKCkubGVuZ3RoLDIzODAyKSE9PUcxKXtyZXR1cm4gdGhpcy5tdC5VZSYmdGhpcy5tdC5EZTt9fSxwaTpmdW5jdGlvbigpe3ZhciBoNyxpNyxMNztoNz0tMTUxMTEyMzE1NDtpNz0tMTY3MjAwNTI5NjtMNz0yO2Zvcih2YXIgTzc9MTt3NS5kMShPNy50b1N0cmluZygpLE83LnRvU3RyaW5nKCkubGVuZ3RoLDMyNTMzKSE9PWg3O083Kyspe3JldHVybiB0aGlzLiRpKCk8dGhpcy5tdC5IZTtMNys9Mjt9aWYodzUuTDEoTDcudG9TdHJpbmcoKSxMNy50b1N0cmluZygpLmxlbmd0aCwxOTk5KSE9PWk3KXtyZXR1cm4gdGhpcy4kaSgpPj10aGlzLm10LkhlO319LGdpOmZ1bmN0aW9uKHQsZSxpLG4scil7Zm9yKHZhciBvLHM9MDtzPGUmJihvPXRbc10sISgxPT09biYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzErKGlbc108PGlbc10lMTApLGlbZStzXSl8fHIob1trZStHcitucytHcitCaV0ob1twaV0tMSkqaVtzXSoyK3MrKGlbc10+PnMpLGlbMiplK3NdKXx8cihvW3BpXSppW3NdKjMrKGlbc108PHMpLGlbMyplK3NdKSl8fG48MSYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzEsaVtlK3NdKXx8cihvW2tlK0dyK25zK0dyK0JpXShvW3BpXS0xKSppW3NdKjIrcyxpWzIqZStzXSl8fHIob1twaV0qaVtzXSozLGlbMyplK3NdKSkpKTtzKyspO30sV2U6W10sdG46ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IFljKHRoaXMuV2VbcGldLHQsZSk7fSxBaTpmdW5jdGlvbih0KXt0aGlzLmNpLnVpPXQ7dGhpcy5jaS5HPVpjLkcoKTt9LGFpOltdLE1pOmZ1bmN0aW9uKHQpe3JldHVybiBudS5YdCh0KSx0aGlzO30sWmk6ZnVuY3Rpb24oKXtyZXR1cm4gWmMucChbW1RyLHRoaXMubXQuRGVdLFtvaSx0aGlzLm10LlVlXSxbd3QsdGhpcy5tdC5SZV0sW0xyK0dyK3plLHRoaXMubXQuT2VdLFtSbitHcitFbix0aGlzLm10Lk5lXSxbRHQsdGhpcy5tdC5IZV0sW2xjK0dyK2JhLHRoaXMubXQucWVdLFtSbitHcitiYSx0aGlzLm10LkplXSxbUW4sdGhpcy5tdC5WZV0sW3crR3IrVix0aGlzLm10LiRlXSxbdytHcitEbix0aGlzLm10LlFlXSxbcG4rR3IrdHIrR3IrTG4sdGhpcy5tdC5HZV0sW0JzK0dyK2wrR3IrU3MsdGhpcy5tdC4kdF0sW05zK0dyKyRyLHRoaXMubXQuWWVdLFtJYytHcitwYytHcitfaSx0aGlzLm10LmJlXSxbTHMrR3IrYnQsdGhpcy5tdC5LZV0sW0IrR3IrdmUrR3IrX28rR3IreW4rR3IrTG4sdGhpcy5tdC5QZV1dKTt9LFRlOmZ1bmN0aW9uKHQpe3ZhciBlLGk7aT1aYy5PKGd1KTtyZXR1cm4gZT1pW3RvK0dyK3lhXVttcl1bVXMrR3IrQ25dKGRlKSwwPT09eVtFaV1bdW5dW0wrR3IrV2FdKGorVnQrR3IpP2VbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPUdyKyhXcitZZStHcit3bitHcikrKGYrVHQrUytUdCthYStHcitaZStHcitRaStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKTplW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoV3IrWWUrR3Ird24rR3IpKyhZcitUdCtjYStHcitfZStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSxpW3RvK0dyK3lhXVttcl1bUXJdW0l0K0dyK1dlXShlKSx0eXBlb2YgdCE9PVd0JiZ0eXBlb2YgdCE9PWdlfHxpbyhmdW5jdGlvbigpe1pjLlAoaSk7fSx0fHw1MDApLGk7fSxOaTpmdW5jdGlvbigpe3ZhciBvMSx3MSxwMTtvMT0tMjExMjgyOTI0MDt3MT00MjIxODMwODI7cDE9Mjtmb3IodmFyIHEwPTE7dzUuZDEocTAudG9TdHJpbmcoKSxxMC50b1N0cmluZygpLmxlbmd0aCwzNTgxNCkhPT1vMTtxMCsrKXtmb3IodmFyIHQsZT02O2U8PXRoaXMuV2VbcGldO2UtLSl7dD10aGlzLldlW2VdO3R1LnUodC5tdC5idCk7fXRoaXMuWGUub2k9dGhpcy5YZS5zaT00O2V1LnUodXUpO2V1LnUoY3UpO2V1LnUoaHUpO3AxKz0yO31pZih3NS5MMShwMS50b1N0cmluZygpLHAxLnRvU3RyaW5nKCkubGVuZ3RoLDUxMjkxKSE9PXcxKXtmb3IodmFyIHQsZT0yO2U8dGhpcy5XZVtwaV07ZSsrKXt0PXRoaXMuV2VbZV07dHUudSh0Lm10LmJ0KTt9dGhpcy5YZS5vaT10aGlzLlhlLnNpPTM7ZXUudSh1dSk7ZXUudShjdSk7ZXUudShodSk7fWZvcih2YXIgdCxlPTA7ZTx0aGlzLldlW3BpXTtlKyspe3Q9dGhpcy5XZVtlXTt0dS51KHQubXQuYnQpO310aGlzLlhlLm9pPXRoaXMuWGUuc2k9MDtldS51KHV1KTtldS51KGN1KTtldS51KGh1KTt9LHppOmZ1bmN0aW9uKCl7dmFyIHQ7dD0wO3JldHVybiBldS5zKCk/KHQ9ZXUuYyh1dSksZXUudSh1dSkpOnR1LmModXUpJiYocmlbaWFdPT09UnRbdW5dfHx+UnRbdW5dW0wrR3IrV2FdKEdyK3NlK0dyK3R1LmMoY3UpKSkmJih0PXR1LmModXUpLGlvKGZ1bmN0aW9uKCl7dHUudSh1dSk7dHUudShjdSk7fSwzMDApKSx0PVVjKHQsMTApLHQ9cWModCk/MDp0LHRoaXMuWGUuc2k9dDt9LG10OntOZTpndSxLZTp5dSxKZTpbXSxWZTowLCR0OmJ1LCRlOltdLERlOnl1LE9lOkZ1LEhlOjk5OTksUmU6eXUscWU6W10sWWU6MTAsVWU6eXUsUWU6Z3UsUGU6eXUsYmU6eXUsR2U6Z3V9LCRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuWGUuc2k7fSxRaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLlhlLm9pO30sYmk6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhLGMsdSxuOSxGOSxnOTtzPXRoaXM7YT0wO2M9dGhpcy5YZTt1PWZ1bmN0aW9uKHQsZSl7dmFyIFA5LEo5LFg5O1A5PTMyNTI1NjI2O0o5PS05NTA1MjQwNDM7WDk9Mjtmb3IodmFyIFM5PTE7dzUuTDEoUzkudG9TdHJpbmcoKSxTOS50b1N0cmluZygpLmxlbmd0aCw0ODQ5MykhPT1QOTtTOSsrKXtyZXR1cm4gdD09PWV8fChjLm5pPWd1LHMubGk9a3UpLHQhPWU7WDkrPTI7fWlmKHc1LkwxKFg5LnRvU3RyaW5nKCksWDkudG9TdHJpbmcoKS5sZW5ndGgsNTM4MDApIT09Sjkpe3JldHVybiB0IT09ZSYmKGMubmk9Z3Uscy5saT1rdSksdCE9PWU7fX07aWYodHlwZW9mIHlbcnVdW2FyXSE9PWdlKXtjLm5pPW11O3Q9eVtydV1bYXJdW1huXSgpO2U9eVtydV1bYXJdW1huXSgpO2k9eVtydV1bYXJdW1huXSgpO249eVtydV1bYXJdW1huXSgpO3I9WmMuRigoeVtydV1bYXJdW1huXSgpfHx7c3JjOm51bGx9KVtYcl0pO289WmMuRih4dVtYcl0pO3RyeXtuOT0xNDUwNjEyMjI1O0Y5PS01NjY0Nzc2Nzc7Zzk9Mjtmb3IodmFyIFI5PTE7dzUuZDEoUjkudG9TdHJpbmcoKSxSOS50b1N0cmluZygpLmxlbmd0aCwyODY5NSkhPT1uOTtSOSsrKXthPXlbcnVdW2FyXVtYbl0oKSYmNztnOSs9Mjt9aWYodzUuZDEoZzkudG9TdHJpbmcoKSxnOS50b1N0cmluZygpLmxlbmd0aCwzODQzOCkhPT1GOSl7YT15W3J1XVthcl1bWG5dKCkmJjc7fWE9eVtydV1bYXJdW1huXSgpfHwwO31jYXRjaCh0KXt9YT1kcltCb10oMCxkcltrYV0oMSxhKSk7dGhpcy5taSh0LG8scix1KTt0aGlzLmdpKHQsdFtwaV0sZSxhLHUpO3RoaXMueWkoaSxpW3BpXSxuLGEsdSk7dGhpcy5raSh0LHRbcGldLFpjLkYoKSx1LHUpO3RoaXMud2koaSxaYy5HKCkpO2Mubmk9PT1tdSYmKGMubmk9eXUpO31jLnhpPWF8fDA7fSxFaTpmdW5jdGlvbih0LGUpe3ZhciBkOSxPOSxHOTtkOT04MzA2MTMyMTE7Tzk9MTQwNDM5MjY4MztHOT0yO2Zvcih2YXIgazk9MTt3NS5kMShrOS50b1N0cmluZygpLGs5LnRvU3RyaW5nKCkubGVuZ3RoLDE2MDEwKSE9PWQ5O2s5Kyspe3RoaXMueGUuUXQ9dDt0aGlzLnhlLlM9ZTtHOSs9Mjt9aWYodzUuZDEoRzkudG9TdHJpbmcoKSxHOS50b1N0cmluZygpLmxlbmd0aCw3Njg2OSkhPT1POSl7dGhpcy54ZS5RdD10O3RoaXMueGUuUz1lO319LFhpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbix1OSx5OSxIOTtuPXR8fHt9O2ZvcihlIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixlKSlzd2l0Y2godGhpcy5tdFtlXT1pPW5bZV0sZSl7Y2FzZSBUcjp0aGlzLm10LkRlPWk7YnJlYWs7Y2FzZSBvaTp0aGlzLm10LlVlPWk7YnJlYWs7Y2FzZSB3dDp0aGlzLm10LlJlPWk7YnJlYWs7Y2FzZSBMcitHcit6ZTp0aGlzLm10Lk9lPWk7YnJlYWs7Y2FzZSBSbitHcitFbjp0aGlzLm10Lk5lPWk7YnJlYWs7Y2FzZSBEdDp0aGlzLm10LkhlPWk7YnJlYWs7Y2FzZSBsYytHcitiYTp0aGlzLnFlW29hXSh0aGlzLGkpO2JyZWFrO2Nhc2UgUm4rR3IrYmE6dGhpcy5KZVtvYV0odGhpcyxpKTticmVhaztjYXNlIFFuOnRoaXMubXQuVmU9aTticmVhaztjYXNlIHcrR3IrVjp0aGlzLm10LiRlPWk7YnJlYWs7Y2FzZSB3K0dyK0RuOnRoaXMubXQuUWU9aTticmVhaztjYXNlIHBuK0dyK3RyK0dyK0xuOnRoaXMubXQuR2U9aTticmVhaztjYXNlIEJzK0dyK2wrR3IrU3M6dGhpcy5tdC4kdD1pO2JyZWFrO2Nhc2UgTnMrR3IrJHI6dGhpcy5tdC5ZZT1pO2JyZWFrO2Nhc2UgSWMrR3IrcGMrR3IrX2k6dGhpcy5tdC5iZT1pO2JyZWFrO2Nhc2UgTHMrR3IrYnQ6dGhpcy5tdC5LZT1pO2JyZWFrO2Nhc2UgQitHcit2ZStHcitfbytHcit5bitHcitMbjp0aGlzLm10LlBlPWk7fXU5PTE1MDY0OTg2ODA7eTk9NjExNzc3ODY1O0g5PTI7Zm9yKHZhciBUOT0xO3c1LkwxKFQ5LnRvU3RyaW5nKCksVDkudG9TdHJpbmcoKS5sZW5ndGgsNjMyMykhPT11OTtUOSsrKXtyZXR1cm4gdGhpcztIOSs9Mjt9aWYodzUuZDEoSDkudG9TdHJpbmcoKSxIOS50b1N0cmluZygpLmxlbmd0aCw2MzczOSkhPT15OSl7cmV0dXJuIHRoaXM7fX0saGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksZzcsTTcsUjc7Zzc9LTM5MDQ0MjA2O003PS0xNjI0Njc4MzI1O1I3PTI7Zm9yKHZhciBKNz0xO3c1LkwxKEo3LnRvU3RyaW5nKCksSjcudG9TdHJpbmcoKS5sZW5ndGgsNTI1MzkpIT09Zzc7SjcrKyl7ZT10aGlzLndlKCk7aT10aGlzLmNpLnVpO1I3Kz0yO31pZih3NS5MMShSNy50b1N0cmluZygpLFI3LnRvU3RyaW5nKCkubGVuZ3RoLDg0NzUzKSE9PU03KXtlPXRoaXMud2UoKTtpPXRoaXMuY2kudWk7fXRyeXsodD1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0oZ3MsZ3UsZ3UseSwxLGlbT2krR3IrVWVdLGlbT2krR3IreG9dLGlbSGMrR3IrVWVdLGlbSGMrR3IreG9dLHl1LHl1LHl1LHl1LDAsbXUpO3RbVW9dPWd1O2VbZ24rR3IrQ2FdKHQpO31jYXRjaCh0KXtLYy5lKHQpO319LFZpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuUGkobzUpO30sU2k6ZnVuY3Rpb24oKXt2YXIgdCxpLG4scixvLHM7cj10aGlzO289NTAwO3M9ZnVuY3Rpb24odCxlKXt2YXIgaSxuO249WGMuYj9lYzpnczsoaT1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0obixndSxndSx5LDEsZVtPaStHcitVZV0sZVtPaStHcit4b10sZVtIYytHcitVZV0sZVtIYytHcit4b10seXUseXUseXUseXUsMCxtdSk7aS5mYz1ndTt0W2duK0dyK0NhXShpKTt9O2l1LlgocmksJHQsZnVuY3Rpb24ocil7dmFyIG8sRjEsZzEsTTE7dzUubzQoNCk7bz1yW3c1LnU0KHNyLEdyLGUpXVswXTtGMT05NTkwNTM3NzY7ZzE9LTE3NzY2NDMwNTc7TTE9Mjtmb3IodmFyIFAxPTE7dzUuZDEoUDEudG9TdHJpbmcoKSxQMS50b1N0cmluZygpLmxlbmd0aCw4NTkzNCkhPT1GMTtQMSsrKXt3NS5vNCgxOCk7dD1yW3c1LnU0KG9zLEpzLEdyKV07dzUuWTQoMTkpO2k9b1t3NS51NChHcixmbyxVZSldO3c1Lm80KDIwKTtuPW9bdzUuYzQoeG8sZm8sR3IpXTtNMSs9Mjt9aWYodzUuTDEoTTEudG9TdHJpbmcoKSxNMS50b1N0cmluZygpLmxlbmd0aCwxMTM5OCkhPT1nMSl7dzUubzQoMjEpO3Q9clt3NS5jNChvcyxKcyxHcildO3c1Llk0KDIyKTtpPW9bdzUuYzQoR3IsVWUsZm8pXTt3NS5vNCg2KTtuPW9bdzUuYzQoR3IseG8sZm8pXTt9dzUubzQoNCk7dD1yW3c1LnU0KG9zLEdyLEpzKV07dzUuWTQoNCk7aT1vW3c1LmM0KGZvLEdyLFVlKV07dzUubzQoNCk7bj1vW3c1LnU0KGZvLEdyLHhvKV07fSxndSk7aXUuWChyaSx2LGZ1bmN0aW9uKGEpe3ZhciBjLHUsaCxTMCxOMCxhMDtTMD0xMTI5ODE1NDEyO04wPS00NTk2NDE3MTE7YTA9Mjtmb3IodmFyIGYwPTE7dzUuZDEoZjAudG9TdHJpbmcoKSxmMC50b1N0cmluZygpLmxlbmd0aCw5MDQxMCkhPT1TMDtmMCsrKXt3NS5vNCg0KTtjPWFbdzUuYzQoc3IsR3IsZSldWzBdO3U9aXUudHQoYSk7aD1yLm10LlllO2EwKz0yO31pZih3NS5MMShhMC50b1N0cmluZygpLGEwLnRvU3RyaW5nKCkubGVuZ3RoLDUxODk1KSE9PU4wKXt3NS5ZNCg2KTtjPWFbdzUudTQoR3IsZSxzcildWzRdO3U9aXUudHQoYSk7aD1yLm10LlllO31kcltGc10oY1tmbytHcitVZV0taSk+PWh8fGRyW0ZzXShjW2ZvK0dyK3hvXS1uKT49aHx8YVtvcytHcitKc10tdD5vfHxyLm10LlllPD0wfHxYYy5odCYmRGlbaXJdKHVbU2MrR3IrbWNdKXx8ci5YZS5paXx8ci5YZS5uaXx8ci5YZS5yaXx8ci5waSgpfHxyLl9pKCl8fCFyLlBpKCl8fCFyLlRpKHUpfHwhci5tdC5OZSYmWmMuUyh1KXx8KHVbU2MrR3IrbWNdPT09T24mJnIuRWUoYSkscyh1LGMpKTt9LGd1KTt9LG1pOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByLG87bz15dTtmb3Iocj0wO3I8dFtwaV07cisrKWlmKHRbcl09PT13dSl7bz1ndTticmVhazt9byYmKGV8fGkpJiYoIXRoaXMuT2koZSx0KXx8IXRoaXMuT2koaSx0KXx8eVtydV1bdW5dJiZ5W3J1XVt1bl1bcGldJiYhdGhpcy5PaShaYy5GKCkseVtydV1bdW5dKSkmJm4oZ3UseXUpO30seGU6e1F0Om11LFM6eXV9LHFlOmZ1bmN0aW9uKCl7dmFyIHQ7dD1aYy54KGFyZ3VtZW50c1swXSk/YXJndW1lbnRzWzBdOmFyZ3VtZW50cztyZXR1cm4gdGhpcy5ubih0LGxjLHRbcGldJiZ0WzBdPT09eXUpO30sd2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBXMSxsMSxjMTtXMT0xMTQ2NjMzOTY5O2wxPTU4MTgzMzU3NjtjMT0yO2Zvcih2YXIgdTE9MTt3NS5kMSh1MS50b1N0cmluZygpLHUxLnRvU3RyaW5nKCkubGVuZ3RoLDY5ODkxKSE9PVcxO3UxKyspe1pjLkcodFtOaV0oR3IrUGUrR3IpKTxlJiZpKGd1LHl1KTtjMSs9Mjt9aWYodzUuZDEoYzEudG9TdHJpbmcoKSxjMS50b1N0cmluZygpLmxlbmd0aCw0ODMyNikhPT1sMSl7WmMuRyh0W05pXShHciVQZSVHcikpPj1lfHxpKGd1LHl1KTt9fSxDaTpmdW5jdGlvbigpe3ZhciByLG8scyxhLGMsdSxoLGYscCxfO2Z1bmN0aW9uIHQoKXt2YXIgdCxlO3c1Lm80KDE3KTtlPVt3NS51NChIbixUdCxHcixFbixHcixDYSxKYSksdzUuYzQoeG4sVHQsR3IsRW4sR3IsQ2EsSmEsdzUubzQoMTcpKSx3NS5jNChKYSxUdCxRYSx3NS5ZNCg0KSksdzUuYzQoQ24sR3IsVXMsbXIsVHQsdzUubzQoMSkpLHc1LnU0KFdlLEdyLHhuLG1yLFR0LHc1Llk0KDEpKV07Zm9yKHQ9MDt0PGVbcGldO3QrKylpZihaYy5sKGVbdF0pKXtyZXR1cm4gS2MuZSh0LFpjLmwoZVt0XSkpLGd1O31yZXR1cm4geXU7fWZ1bmN0aW9uIGkoaSl7dT0yO198fChfPWd1LGlvKGZ1bmN0aW9uKCl7Xz15dTt9LFhjLm90PzUwMDoxNTApLEN1JiYhcC5VZXx8KHI9aXUudHQoaSksbz1aYy5CKHIsT24pLGM9WmMuUyhyKSxyW2FhK0dyK0dpXShsbyk9PT1mdT8oclt4ZV1beHRdPVhpLFpjLlAocikscj1pdS50dChpLGd1KSk6byYmKHM9KHI9bylbYWErR3IrR2ldKFRpKSxhPVpjLk4ociksYz1aYy5TKHIpKSxmLkVpKHIsYyksZi5YZS5paXx8Zi5YZS5uaXx8Zi5YZS5yaXx8aVtVb118fGUoZi5jaS51aVtPXSYmZi5jaS51aVtPXSE9PWlbT10pfHxlKHAuS2UmJiFFdSl8fGUoIWlbSGMrR3IrVWVdJiYhaVtIYytHcit4b10pfHxlKCFYYy5vdCYmIVhjLmcmJnR5cGVvZiBpW3F0XSE9PWdlJiYwIT09aVtxdF0pfHxlKCFYYy5vdCYmIWYuWmUmJihYYy5jdHx8WGMuYnx8WGMudXQpKXx8ZSghWGMub3QmJiFwLkdlJiYoWGMuYnx8WGMudXQpJiZzPT09RmkpfHxlKGYucGkoKSl8fGUoZi5faSgpKXx8ZSghZi5QaSgpKXx8ZSghZi5UaShyKSl8fGUoYyYmIXAuTmUpfHxlKCFwLlJlJiZ0KCkpfHwoZi5BaShpKSxYYy5ldCYmbyYmYSYmZi5FZShpKSxYYy5vdHx8IW98fGN8fChYYy5iJiZzIT09RmkmJlpjLlkoKXx8cC5HZSYmcz09PUZpJiYoWGMuYnx8WGMudXQpKSYmZi5FZShpKSxmLkZpPW11LGYuaGkoKSkpKTt9Zj10aGlzO3A9Zi5tdDtfPXl1O2Z1bmN0aW9uIGUodCl7cmV0dXJuKyt1LHQmJktjLmUodSksdDt9cC5SZXx8IXQoKT8oaD1YYy5kfHxYYy5nP3FhOmVjLGZ1bmN0aW9uKCl7aXUuWChyaSxncyxpLGd1KTtYYy5vdD8oaXUuWChyaSxlYyxuLGd1KSxpdS5YKHJpLHFhLG4sZ3UpKTppdS5YKHJpLGgsbixndSk7fSgpLHRoaXMuU2koKSx0aGlzLmppKCksdGhpcy5MaSgpLHRoaXMuemkoKSx0aGlzLkJpKCkpOktjLmUoeXUpO2Z1bmN0aW9uIG4odCl7cj1vPWM9cz1hPW11OyFYYy5vdCYmdFtIYytHcitVZV0rKFhjLm50PzE3OjE1KT55W1BhK0dyK2ddP3AuUWUmJigocj17fSkuc2Nyb2xsYmFyPWd1LGYuRWkocix5dSksZi5waSgpfHxmLl9pKCl8fCFmLlBpKCl8fGYuaGkoKSk6aSh0KTt9fSxsaTpmdW5jdGlvbih0KXtpZih0aGlzLlhlLmlpfHx0aGlzLlhlLm5pfHx0aGlzLlhlLnJpKXtyZXR1cm4geXU7fXN3aXRjaCh0Lnl0KXtjYXNlIF91Om5ldyBRYy5tZSh0KS5wZSgpO2JyZWFrO2Nhc2UgZHU6bmV3IFFjLmdlKHQpLnBlKCk7YnJlYWs7Y2FzZSBsdTpuZXcgUWMueWUodCkucGUoKTticmVhaztjYXNlIHB1OnRyeXtuZXcoUWMuZHQoKSkodCkucGUoKTt9Y2F0Y2godCl7S2MuZSh0KTt9fXJldHVybiB0LnF0KCksZ3U7fSxqaTpmdW5jdGlvbigpe3ZhciB0LGUsaSxuLHIsbztuPXRoaXM7cj17fTtvPWZ1bmN0aW9uKHQpe2ZvcihlPTA7ZTx0W3BpXTtlKyspe24uTWkodFtlXSk7fX07Q28oZnVuY3Rpb24oKXt2YXIgZTtmb3IodD0wO3Q8bi5tdC4kZVtwaV07dCsrKXtpZihlPW4ubXQuJGVbdF0sKGk9cmlbYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGUpKVtwaV0mJm4ucGkoKXx8IW4uUGkoKSl7cmV0dXJuO310eXBlb2YgcltlXSE9PWdlJiZyW2VdPT09aVtwaV18fG8oaSk7fX0sMWUzKTt9LElpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbixyLG8scyxlOSxqOSxaOTtvPTI7cz15dTtmb3IoZT0wO2U8PW87ZSsrKXtpZigobj1yaVt3citHcitqbitHcitMY10odFtIYytHcitVZV0rZSx0W0hjK0dyK3hvXSkpJiZuW1NjK0dyK21jXT09PXBhK0dyK09uK0dyK0ZjK0dyK1BzK0dyK3BhKXtzPWd1O2JyZWFrO31mb3IoaT0wO2k8PW87aSsrKWlmKChuPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXStlLHRbSGMrR3IreG9dK2kpKSYmbltTYytHcittY109PT1wYStHcitPbitHcitGYytHcitQcytHcitwYSl7cz1ndTticmVhazt9aWYocylicmVhazt9aWYocylmb3Iocz15dSxyPW5bYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGVpKSxlPTA7ZTxyW3BpXTtlKyspaWYoWmMuVShyW2VdKSl7cz1ndTticmVhazt9ZTk9MTI0NjQ2Mzc5O2o5PTE4ODY4MTA5NztaOT0yO2Zvcih2YXIgVTk9MTt3NS5MMShVOS50b1N0cmluZygpLFU5LnRvU3RyaW5nKCkubGVuZ3RoLDU5MDM1KSE9PWU5O1U5Kyspe3JldHVybiBzP246eXU7WjkrPTI7fWlmKHc1LmQxKFo5LnRvU3RyaW5nKCksWjkudG9TdHJpbmcoKS5sZW5ndGgsNDQ5MzkpIT09ajkpe3JldHVybiBzP246eXU7fX0sRGk6ZnVuY3Rpb24oKXtpZighdGhpcy5YZS5laSl7dGhpcy5YZS5laT1ndTt0cnl7dGhpcy52aSgpO3RoaXMuYmkoKTt9Y2F0Y2godCl7fUtjLmUoW3RoaXMuWGUubmk/MDoxLHRoaXMuWGUucmk/MDoxLHRoaXMuWGUueGldW05pXShHcikpO319LFhlOnt0aTp5dSxuaTpndSxlaTp5dSxvaTowLHJpOmd1LHNpOjAsaWk6eXV9LG5uOmZ1bmN0aW9uKHQsZSxpKXtmb3IodmFyIG4scj0wLG89ZT09PVJuP3RoaXMubXQuSmU6dGhpcy5tdC5xZTtpJiZvW3BpXTspe29bQnNdKCk7fWZvcig7cjx0W3BpXTtyKyspe3R5cGVvZihuPXRbcl0pPT09VGM/b1tNcl0obik6dHlwZW9mIG49PT1hciYmdHlwZW9mIG5bd2ErR3IrbWNdPT09VGMmJm9bTXJdKG4pO31yZXR1cm4gdGhpczt9LEppOmZ1bmN0aW9uKCl7dmFyIHkxLEgxLHYxLHQsZTt5MT0xNzAzNzYyNDUyO0gxPTEyMTk1OTkwMzk7djE9Mjtmb3IodmFyIEUxPTE7dzUuZDEoRTEudG9TdHJpbmcoKSxFMS50b1N0cmluZygpLmxlbmd0aCwzODk3NykhPT15MTtFMSsrKXtlPTY7Zm9yKHRoaXMuZmk9W107ZT49dGhpcy5XZVtwaV07ZS0tKXsodD10aGlzLldlW2VdKS5MdCgpfHx0aGlzLmZpW01yXSh0KTt9djErPTI7fWlmKHc1LmQxKHYxLnRvU3RyaW5nKCksdjEudG9TdHJpbmcoKS5sZW5ndGgsMjE2MzkpIT09SDEpe2U9MTtmb3IodGhpcy5maT1bXTtlPnRoaXMuV2VbcGldO2UrKyl7KHQ9dGhpcy5XZVtlXSkuTHQoKSYmdGhpcy5maVtNcl0odCk7fX1lPTA7Zm9yKHRoaXMuZmk9W107ZTx0aGlzLldlW3BpXTtlKyspeyh0PXRoaXMuV2VbZV0pLkx0KCkmJnRoaXMuZmlbTXJdKHQpO31yZXR1cm4gdGhpcy5maTt9LGRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2kudWk7fX07aXUuWCh5LFN0LGZ1bmN0aW9uKCl7dmFyIFg3LEI3LFM3O1g3PTIwMTA5MDA5MDY7Qjc9LTE2OTQwNjQ1NTI7Uzc9Mjtmb3IodmFyIGE3PTE7dzUuTDEoYTcudG9TdHJpbmcoKSxhNy50b1N0cmluZygpLmxlbmd0aCwxNDk3OSkhPT1YNzthNysrKXtFdT0hMTtTNys9Mjt9aWYodzUuZDEoUzcudG9TdHJpbmcoKSxTNy50b1N0cmluZygpLmxlbmd0aCw2MjI0OCkhPT1CNyl7RXU9IXt9O31FdT1vNTt9KTtpbyhmdW5jdGlvbigpe3c1Lm80KDE1KTtLYy5lKHc1LnU0KFNpLFllLEdyLFR0LFllLE0sR3IsWWUsUWUsT3QsQW8pKTt3NS5vNCg0KTtLYy5lKHc1LmM0KHhhLFZ0LEdyKSxvdSk7dzUuWTQoNCk7S2MuZSh3NS5jNChxaSxWdCxHciksc3UpO3c1Lm80KDQpO0tjLmUodzUudTQoRXMsVnQsR3IpLGF1KTt9LDEwKTt5W3J1XT15W3J1XXx8ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG87cj17fTtvPVpjLnAoW1trbytHcitSYStHcitudCxbR2MsR2MuaV1dLFtKbixzdV0sW0d0LG91XSxbWW8rR3IraXMsYXVdLFt6YSxbR2MsR2MuWGkscl1dLFthYStHcitJaSxbR2MsR2MuWmldXSxbYWErR3IrUStHcitiYSxbR2MsR2MuWWldXSxbYWErR3IrX28rR3IrYmEsW0djLEdjLktpXV0sW3crR3IrQ24sW0djLEdjLk1pXV0sW0huLFtHYyxHYy5lbixyXV0sW0duLFtHYyxHYy5oaSxyXV0sW2VzLFtHYyxHYy5HaSxyXV0sW2xjK0dyK2JhLFtHYyxHYy5xZSxyXV0sW1JuK0dyK2JhLFtHYyxHYy5KZSxyXV0sW2FhK0dyK2h0K0dyK0NuLFtHYyxHYy53ZV1dLFthYStHcitubitHcitabyxbR2MsR2MuJGldXSxbYWErR3IreWUrR3IrWm8sW0djLEdjLlZpXV0sW0JhK0dyK3llLFtHYyxHYy5QaV1dLFtrbytHcitkdCtHcitKZSxbR2MsR2MucGldXSxbYWErR3IrVXQrR3IramUrR3IrQmksW0djLEdjLlFpXV0sW2FhK0dyK1V0K0dyK0NhLFtHYyxHYy5kaV1dLFt6aSxbR2MsR2MuTmldXSxbYWErR3IrXyxbR2MsR2MuVWldXSxbRm8rR3IrXyxbR2MsR2MuUmldXSxbaGErVHQrT28sW0tjLEtjLmVdXSxbaGErVHQrRyxbS2MsS2Mucl1dLFtPYStUdCtsaSxbdHUsdHUuYV1dLFtPYStUdCthYSxbdHUsdHUuY11dLFtPYStUdCt4bixbdHUsdHUudV1dLFt0aStUdCtrbytHcitkaSxbZXUsZXUuc11dLFt0aStUdCtsaSxbZXUsZXUuYV1dLFt0aStUdCthYSxbZXUsZXUuY11dLFt0aStUdCt4bixbZXUsZXUudV1dLFtjZStUdCtKbixYYy5wdF0sW2NlK1R0K0lyK0dyK3FpLFhjLmZ0XSxbY2UrVHQra28rR3IrQ3MsWGMuaXRdLFtjZStUdCtrbytHcitYbyxYYy5udF0sW2NlK1R0K2tvK0dyK01hLFhjLm1dLFtjZStUdCtrbytHcit2YStHcitmYytHcit0YyxYYy5ldF0sW2NlK1R0K2tvK0dyK0JuLFhjLnJ0XSxbY2UrVHQra28rR3Irdm4sWGMub3RdLFtjZStUdCtrbytHcitoZSxYYy5zdF0sW2NlK1R0K2tvK0dyK3l0LFhjLmF0XSxbY2UrVHQra28rR3IrZ2MsWGMuYl0sW2NlK1R0K2tvK0dyK0luLFhjLmRdLFtjZStUdCtrbytHcitGYSxYYy5odF0sW2NlK1R0K2tvK0dyK3ZhK0dyK1BzLFhjLmddLFtjZStUdCtrbytHcitjcyxYYy5jdF0sW2NlK1R0K2tvK0dyK0VvLFhjLnV0XSxbY2UrVHQrSm4rR3IrdXQsW1hjLFhjLkpdXSxbY2UrVHQrYW8rR3IrZGksW1hjLFhjLmx0XV0sW0NhK1R0K2xjK0dyK3FzLFtpdSxpdS5LXV0sW0NhK1R0K2xjLFtpdSxpdS5YXV0sW0NhK1R0K2xhLFtpdSxpdS5aXV0sW0NhK1R0K2FhK0dyK3luLFtpdSxpdS50dF1dLFtLZStUdCtrbytHcit2ZStHciskZSxbWmMsWmMud11dLFtLZStUdCtKbitHcit1dCxbWmMsWmMuSl1dLFtLZStUdCtvcyxbWmMsWmMuR11dLFtLZStUdCt3byxbWmMsWmMueV1dLFtLZStUdCtKaSxbWmMsWmMuJF1dLFtLZStUdCtVcytHcitDbixbWmMsWmMuel1dLFtLZStUdCt4bitHcitDbixbWmMsWmMuUF1dLFtLZStUdCthYStHcitVaSxbWmMsWmMuQl1dLFtLZStUdCtEZStHcitZaSxbWmMsWmMuSF1dXSk7Zm9yKGUgaW4gbylpZih5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShvLGUpKXtmb3Iobj1lW0NyXShHcitUdCtHciksdD1yLGk9MDtpPG5bcGldLTE7aSsrKXt0eXBlb2YgdFtuW2ldXT09PWdlJiYodFtuW2ldXT17fSk7dD10W25baV1dO310W25bbltwaV0tMV1dPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIFpjLngodFtlXSk/MT09PXRbZV1bcGldP3RbZV1bMF06ZnVuY3Rpb24oKXtyZXR1cm4gMj09PXRbZV1bcGldP3RbZV1bMV1bb2FdKHRbZV1bMF0sYXJndW1lbnRzKToodFtlXVsxXVtvYV0odFtlXVswXSxhcmd1bWVudHMpLHRbZV1bMl0pO306dFtlXTt9KG8sZSk7fXJldHVybiByO30oKTt9KHQucG9wbnN8fHpjK0dyK1VjK0dyK09jLHQsdFtFaV0sdFtPaV0sdFttcl0sdFtyb10sdFtibl0sdFtObl0sdFtDb10sdFtyaStHcitpb10sdFtsaStHcitZaV0sdFtNaStHcitZaV0sdFtsaStHcitBaV0sdFtNaStHcitBaV0sdFtMdCtHcit0YytHcitmYytHcitndF0sdFt5K0dyK1J0XSx0W2tvK0dyK3lpK0dyK2d0XSx0W2lzXSx0W1hlK0dyK1ZyK0dyK0dzK0dyK3ZhK0dyK1VyXSx0W2RyXSk7fSh3aW5kb3cpO2Y1eXkuSD1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC55PT09J2Z1bmN0aW9uJz9mNXl5LkwueS5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwueTt9O2Y1eXkuVz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Y1eXkuZz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC5PPT09J2Z1bmN0aW9uJz9mNXl5LkwuTy5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwuTzt9O2Y1eXkuZj1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Z1bmN0aW9uIGY1eXkoKXt9ZjV5eS5CPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5MLnk9PT0nZnVuY3Rpb24nP2Y1eXkuTC55LmFwcGx5KGY1eXkuTCxhcmd1bWVudHMpOmY1eXkuTC55O307ZjV5eS5SPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5JPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5MPWZ1bmN0aW9uKEQpe3JldHVybnt5OmZ1bmN0aW9uKCl7dmFyIEcsZD1hcmd1bWVudHM7c3dpdGNoKEQpe2Nhc2UgMjpHPWRbMF0qZFsxXTticmVhaztjYXNlIDA6Rz1kWzBdfGRbMV07YnJlYWs7Y2FzZSAxOkc9ZFsxXS1kWzBdO2JyZWFrO31yZXR1cm4gRzt9LE86ZnVuY3Rpb24oVil7RD1WO319O30oKTtmNXl5Lno9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiBmNXl5LkwuTz09PSdmdW5jdGlvbic/ZjV5eS5MLk8uYXBwbHkoZjV5eS5MLGFyZ3VtZW50cyk6ZjV5eS5MLk87fTtmNXl5LkM9ZnVuY3Rpb24oKXt2YXIgUT0yO3doaWxlKFEhPT0xKXtzd2l0Y2goUSl7Y2FzZSAyOnJldHVybnt2OmZ1bmN0aW9uKFUpe3ZhciBiPTI7d2hpbGUoYiE9PTE0KXtzd2l0Y2goYil7Y2FzZSAyOnZhciBLPScnLGw9ZGVjb2RlVVJJKCJ0JTExa2JsYyU3RCUwNmhiZGxtbDYhJTNDJTNDKyU1QmNkLTo1JTVENyg4Jy8lNUJ3LzI4bWolM0M4KTA3YiolMUMyJTI1bSUwN3ElN0RvYmslMTh3JTdDc2RtaDcpKSUyMipaMmQlMTgtNUErKS5vbXMlMTUlMjUlM0UwKyU1QiUzQyUxMXUlMjA2TXk/KScsSy1kJTNFOSxLMi00OyUyMCUwNjojMCU3RDUlNUM6IzMya0s2IXU5Kks4JTIwNTo2JTVDcSUxRiUzRScsWC1sMCUyMDYlNUN5Ljh1KUc4KDgxZUolM0MqMiclMjAlMDg1JTI1JTNFMCslNUIlM0NsOyUzQylNcWIxOiZJNSIpO2I9MTticmVhaztjYXNlIDk6Sys9U3RyaW5nLmZyb21DaGFyQ29kZShsLmNoYXJDb2RlQXQoWSleVS5jaGFyQ29kZUF0KGspKTtiPTg7YnJlYWs7Y2FzZSAxOnZhciBZPTAsaz0wO2I9NTticmVhaztjYXNlIDU6Yj1ZPGwubGVuZ3RoPzQ6NzticmVhaztjYXNlIDM6az0wO2I9OTticmVhaztjYXNlIDg6WSsrLGsrKztiPTU7YnJlYWs7Y2FzZSA0OmI9az09PVUubGVuZ3RoPzM6OTticmVhaztjYXNlIDc6Sz1LLnNwbGl0KCcoJyk7cmV0dXJuIGZ1bmN0aW9uKFApe3ZhciBoPTI7d2hpbGUoaCE9PTEpe3N3aXRjaChoKXtjYXNlIDI6cmV0dXJuIEtbUF07YnJlYWs7fX19O2JyZWFrO319fSgnRShZTF1VJyl9O2JyZWFrO319fSgpOyFmdW5jdGlvbihlLG8sYyl7InVzZSBzdHJpY3QiO3ZhciBUPWY1eXk7dmFyIGksbix0O1QuZygwKTtpPVQuUihULkgoIjgiLDApKTtULnooMCk7bj1bVC5JKFQuSCgnXHgzMVx4MzAnLDApKSxULkkoKyI2IiksVC5SKCsnXHgzMVx4MzQnKSxULlIoKyIxMiIpLFQuUihULkgoIjUiLDAsVC5nKDApKSksVC5JKFQuQigwLCdceDMwJyxULnooMSkpKSxULlIoVC5CKCdceDMxXHgzMScsMCxULnooMCkpKSxULkkoKyIyIildO1QuZygyKTt0PVsrJ1x4MzJceDMwXHgzMVx4MzknLFQuQignXHUwMDM1JywxKSxULkgoJ1x4MzFceDM2JywwLFQuZygwKSldO3RyeXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yy5Mb2dnZXIubG9nKGksVC5SKCsnXHgzMScpLG4pO2MuTG9nZ2VyLmxvZyhpLFQuUigiNyItMCksdC5qb2luKFQuSSgnXHgzNCctMCkpKTt9LCsiNTAwIik7VC56KDEpO2Mub2JqZWN0PVtuLFsrIjM2MCIsNDk0LDM5MSwrIjMxMiIsVC5CKDAsIjMxMiIpLFQuSCgiMzY1IiwwLFQuZygwKSksKydceDM0XHgzMFx4MzQnLFQuSCgiMzAwIiwwLFQuZygwKSksKydceDMzXHgzNlx4MzBceDMwXHgzMScsVC5IKDAsJ1x4MzNceDM5XHgzNVx4MzJceDMyJyxULmcoMSkpLFQuQigiMTg3NzEiLDAsVC56KDApKSwrIjM0OTQ4IiwxNjU0MSwyOTU3MSwrJ1x4MzVceDMxXHgzN1x4MzFceDM5JywzMzkwOCxULkgoIjc4ODQwIiwwLFQuZygwKSksMTA1OTY0LCsnXHgzOFx4MzRceDM1XHgzNVx4MzUnLFQuSCgiNzI0MjYiLDAsVC5nKDApKSxULkgoJ1x4MzNceDMwXHgzNVx4MzlceDM5JywwLFQuZygwKSksVC5CKCdcdTAwMzRcdTAwMzFcdTAwMzZcdTAwMzJcdTAwMzYnLDAsVC5nKDApKSxULkIoMCwnXHUwMDM4XHUwMDM4XHUwMDMwXHUwMDM4XHUwMDM0JyxULnooMSkpLFQuSCgiNjU0MDkiLDEsVC5nKDIpKSwxNDQwMCxULkgoIjEyODQ0IiwxLFQueigyKSksKydceDM4XHgzNlx4MzBceDMyJyxULkgoJ1x4MzFceDMwXHgzOVx4MzJceDMwJywxLFQuZygyKSksMTM0MTYsVC5IKCdceDMyXHgzNFx4MzhceDMyXHgzMCcsMCxULmcoMCkpLFQuQignXHgzM1x4MzdceDM5XHgzN1x4MzYnLDAsVC56KDApKSwrJ1x4MzVceDMxXHg2NVx4MzMnXSx0LFtULkgoJ1x4MzNceDM2XHgzMicsMCxULmcoMCkpLDQ5NiwrJ1x4MzNceDM5XHgzOScsVC5IKDAsIjczMDkyMyIsVC5nKDEpKSwrJ1x1MDAzMlx1MDAzNVx1MDAzMVx1MDAzMicsVC5IKCI2Mzk4IiwwLFQueigwKSksVC5IKCdcdTAwMzRcdTAwMzFcdTAwMzFcdTAwMzlcdTAwMzFcdTAwMzJcdTAwMzInLDEsVC5nKDIpKSwrJ1x4MzFceDMxXHgzMVx4MzlceDMyJyxULkgoJ1x4MzNceDM0XHgzMlx4MzNceDM2JywwLFQueigwKSksMjQ2MSwzMjU1NywxMDIxMF0sby5jdXJyZW50U2NyaXB0LFQuSCgiMSIsMSxULmcoMikpXTt9Y2F0Y2gobyl7dm9pZCgnXHgzMCcqMSkhPT1lLmNvbnNvbGUmJmUuY29uc29sZS5sb2cmJkZ1bmN0aW9uLmFwcGx5LmNhbGwoZS5jb25zb2xlLmxvZyxlLmNvbnNvbGUsW1QuSSgnXHgzMVx4MzMnfDApXSk7fX0od2luZG93LGRvY3VtZW50LHdpbmRvd1t3aW5kb3cucG9wbnN8fGY1eXkuUigiMyItMCldKTt2YXIgXzB4MTM4Zj1bJ1x4NThceDQ4XHg2M1x4NzInLCdceDQ5XHg1NFx4NDVceDZmXHg2NFx4NDNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NmNceDUwXHg1NFx4NDVceDZmXHg1YVx4NTNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NzVceDUwXHg1OFx4NTFceDc1XHg2Mlx4NzlceDY3XHg2OVx4NjJceDUzXHg0OVx4NzBceDRmXHg3YVx4NTlceDY3XHg2Mlx4NjlceDM0XHg3OVx4NGNceDZkXHg3N1x4MzlceDQ5XHg2ZFx4NzNceDY5XHg0Y1x4NDdceDM0XHg3NVx4NGRceDY5XHgzNVx4NzdceDUwXHg1NFx4NDFceDczXHg2Mlx4NjlceDM0XHg3OVx4NGNceDZlXHg0NVx4MzlceDRkXHg0M1x4NzhceDc1XHg0Y1x4NmFceDQ5XHg3NVx4NjRceDdhXHgzMFx4NjlceDYxXHg2OVx4NDlceDczXHg2Mlx4NjlceDM1XHgzMVx4NTBceDUzXHg0OVx4MzNceDRmXHg2OVx4MzhceDc2XHg2M1x4NjlceDM1XHgzNFx4NGNceDZhXHg1NVx4NzZceDYxXHg0M1x4MzlceDY4XHg0Y1x4NzlceDQ5XHg3Mlx4NWFceDUzXHg3OFx4MzBceDRjXHg2ZFx4NDlceDc1XHg2MVx4NTNceDY4XHg3NVx4NGJceDUzXHg3OFx4NzVceDY2XHg1M1x4NzhceDc1XHg1MFx4NTdceDRkXHg2Zlx4NWFceDc5XHg2N1x4NmZceDY0XHg0M1x4MzVceDZiXHg0Y1x4NmVceDU5XHg2Zlx4NTFceDY5XHg0Mlx4NGZceDRiXHg0M1x4NDlceDZmXHg0ZVx4N2FceDM5XHgzOFx4NTNceDY5XHgzMVx4MzVceDRiXHg1NFx4NzBceDYzXHg1OFx4NDNceDM5XHg2M1x4NThceDQzXHgzOFx4NjlceDRiXHg1M1x4NzdceDY5XHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDRjXHg3OVx4NDlceDcwXHg1N1x4N2FceDQyXHg2NFx4NjZceDQ4XHg3N1x4NjlceDUzXHg3OVx4MzRceDMxXHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDQ5XHg2OVx4NmJceDc1XHg1NFx4NDNceDY3XHg3OFx4NGJceDQ4XHg1MVx4NzBceDY1XHg3YVx4NTlceDY3XHg2NFx4NDNceDM1XHg0ZVx4NGJceDQ0XHg0MVx4NzBceDRjXHg2Ylx4NjNceDZmXHg1M1x4NDNceDZjXHgzOVx4NGJceDUzXHgzNVx4NDJceDRiXHg0M1x4NDlceDY5XHg0Ylx4NTNceDZiXHg3MFx4NGZceDMzXHg2Zlx4NzVceDRlXHg0M1x4NjdceDY5XHg1MVx4NzlceDQ5XHg3M1x4NGRceDUzXHg2N1x4NzBceDY1XHgzMlx4NTVceDZmXHg2Mlx4NjlceDczXHg2OVx4NGNceDMyXHg1OVx4NzVceDRmXHg1M1x4NDlceDcwXHg0Y1x4NmFceDUxXHg2Zlx4NDlceDZiXHg1MVx4NjlceDRjXHg0NFx4NDVceDZmXHg0Ylx4NThceDc0XHg0N1x4NGJceDQ0XHg0NVx4NmZceDRiXHg1OFx4NzRceDZjXHg0Ylx4NDdceDM0XHg3Mlx4NDlceDY5XHgzOVx4N2FceDRjXHg2YVx4NmJceDY5XHg0Ylx4NThceDMwXHg3M1x4NTJceDUzXHg2Y1x4MzlceDRiXHg1OFx4MzBceDcwXHg2Nlx4NTNceDY4XHg0YVx4NGJceDU0XHg3M1x4M2QnLCdceDYzXHgzM1x4NDJceDczXHg2MVx4NThceDUxXHgzZCcsJ1x4NWFceDZlXHg0YVx4NzZceDYyXHg1NVx4NGVceDZmXHg1OVx4NThceDRhXHg0NFx4NjJceDMyXHg1Mlx4NmMnLCdceDY0XHg0N1x4MzlceDU0XHg2NFx4NDhceDRhXHg3MFx4NjJceDZkXHg2M1x4M2QnLCdceDYzXHg2ZFx4NTZceDc3XHg2Mlx4NDdceDQ2XHg2YVx4NWFceDUxXHgzZFx4M2QnXTsoZnVuY3Rpb24oXzB4MWI1OWFjLF8weDMwZDYwNSl7dmFyIF8weDQ0NTljOT1mdW5jdGlvbihfMHgxNDY4YWMpe3doaWxlKC0tXzB4MTQ2OGFjKXtfMHgxYjU5YWNbJ3B1c2gnXShfMHgxYjU5YWNbJ3NoaWZ0J10oKSk7fX07XzB4NDQ1OWM5KCsrXzB4MzBkNjA1KTt9KF8weDEzOGYsMHgxMGIpKTt2YXIgXzB4MTdjMT1mdW5jdGlvbihfMHgxOTc3ZGIsXzB4Yzc5ZjY5KXtfMHgxOTc3ZGI9XzB4MTk3N2RiLTB4MDt2YXIgXzB4MTYyZGYyPV8weDEzOGZbXzB4MTk3N2RiXTtpZihfMHgxN2MxWydPTXJTcXgnXT09PXVuZGVmaW5lZCl7KGZ1bmN0aW9uKCl7dmFyIF8weDI0NzE2Njt0cnl7dmFyIF8weDViZDYyOT1GdW5jdGlvbigncmV0dXJuXHgyMChmdW5jdGlvbigpXHgyMCcrJ3t9LmNvbnN0cnVjdG9yKFx4MjJyZXR1cm5ceDIwdGhpc1x4MjIpKFx4MjApJysnKTsnKTtfMHgyNDcxNjY9XzB4NWJkNjI5KCk7fWNhdGNoKF8weDMyOTViMCl7XzB4MjQ3MTY2PXdpbmRvdzt9dmFyIF8weDI4M2NlOT0nQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0nO18weDI0NzE2NlsnYXRvYiddfHwoXzB4MjQ3MTY2WydhdG9iJ109ZnVuY3Rpb24oXzB4MzQxYjE5KXt2YXIgXzB4MTQ0Zjk2PVN0cmluZyhfMHgzNDFiMTkpWydyZXBsYWNlJ10oLz0rJC8sJycpO2Zvcih2YXIgXzB4MjhhNzVlPTB4MCxfMHg1OWNiNWIsXzB4MWUwOTNkLF8weDUxZWZhNj0weDAsXzB4OTIyYWFjPScnO18weDFlMDkzZD1fMHgxNDRmOTZbJ2NoYXJBdCddKF8weDUxZWZhNisrKTt+XzB4MWUwOTNkJiYoXzB4NTljYjViPV8weDI4YTc1ZSUweDQ/XzB4NTljYjViKjB4NDArXzB4MWUwOTNkOl8weDFlMDkzZCxfMHgyOGE3NWUrKyUweDQpP18weDkyMmFhYys9U3RyaW5nWydmcm9tQ2hhckNvZGUnXSgweGZmJl8weDU5Y2I1Yj4+KC0weDIqXzB4MjhhNzVlJjB4NikpOjB4MCl7XzB4MWUwOTNkPV8weDI4M2NlOVsnaW5kZXhPZiddKF8weDFlMDkzZCk7fXJldHVybiBfMHg5MjJhYWM7fSk7fSgpKTtfMHgxN2MxWyd4anFrREYnXT1mdW5jdGlvbihfMHgzMzc3MTgpe3ZhciBfMHg1ZGRiMTU9YXRvYihfMHgzMzc3MTgpO3ZhciBfMHg1NjBiOTU9W107Zm9yKHZhciBfMHhjOTdmOTE9MHgwLF8weDQ0MTg3Mj1fMHg1ZGRiMTVbJ2xlbmd0aCddO18weGM5N2Y5MTxfMHg0NDE4NzI7XzB4Yzk3ZjkxKyspe18weDU2MGI5NSs9JyUnKygnMDAnK18weDVkZGIxNVsnY2hhckNvZGVBdCddKF8weGM5N2Y5MSlbJ3RvU3RyaW5nJ10oMHgxMCkpWydzbGljZSddKC0weDIpO31yZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KF8weDU2MGI5NSk7fTtfMHgxN2MxWydrRG1IU2snXT17fTtfMHgxN2MxWydPTXJTcXgnXT0hIVtdO312YXIgXzB4MzA2NDA1PV8weDE3YzFbJ2tEbUhTayddW18weDE5NzdkYl07aWYoXzB4MzA2NDA1PT09dW5kZWZpbmVkKXtfMHgxNjJkZjI9XzB4MTdjMVsneGpxa0RGJ10oXzB4MTYyZGYyKTtfMHgxN2MxWydrRG1IU2snXVtfMHgxOTc3ZGJdPV8weDE2MmRmMjt9ZWxzZXtfMHgxNjJkZjI9XzB4MzA2NDA1O31yZXR1cm4gXzB4MTYyZGYyO307ZXZhbChmdW5jdGlvbihfMHg0OWIyZTksXzB4MTA2OTM1LF8weDIyM2Q1NixfMHgyZmY2ZTksXzB4ZWQ3ZDI2LF8weDNiYzUwMCl7XzB4ZWQ3ZDI2PWZ1bmN0aW9uKF8weDI2YmI4Mil7cmV0dXJuKF8weDI2YmI4MjxfMHgxMDY5MzU/Jyc6XzB4ZWQ3ZDI2KHBhcnNlSW50KF8weDI2YmI4Mi9fMHgxMDY5MzUpKSkrKChfMHgyNmJiODI9XzB4MjZiYjgyJV8weDEwNjkzNSk+MHgyMz9TdHJpbmdbXzB4MTdjMSgnMHgwJyldKF8weDI2YmI4MisweDFkKTpfMHgyNmJiODJbXzB4MTdjMSgnMHgxJyldKDB4MjQpKTt9O2lmKCEnJ1tfMHgxN2MxKCcweDInKV0oL14vLFN0cmluZykpe3doaWxlKF8weDIyM2Q1Ni0tKXtfMHgzYmM1MDBbXzB4ZWQ3ZDI2KF8weDIyM2Q1NildPV8weDJmZjZlOVtfMHgyMjNkNTZdfHxfMHhlZDdkMjYoXzB4MjIzZDU2KTt9XzB4MmZmNmU5PVtmdW5jdGlvbihfMHgzMjA3ZjYpe3JldHVybiBfMHgzYmM1MDBbXzB4MzIwN2Y2XTt9XTtfMHhlZDdkMjY9ZnVuY3Rpb24oKXtyZXR1cm4gXzB4MTdjMSgnMHgzJyk7fTtfMHgyMjNkNTY9MHgxO307d2hpbGUoXzB4MjIzZDU2LS0pe2lmKF8weDJmZjZlOVtfMHgyMjNkNTZdKXtfMHg0OWIyZTk9XzB4NDliMmU5W18weDE3YzEoJzB4MicpXShuZXcgUmVnRXhwKCdceDVjXHg2MicrXzB4ZWQ3ZDI2KF8weDIyM2Q1NikrJ1x4NWNceDYyJywnXHg2NycpLF8weDJmZjZlOVtfMHgyMjNkNTZdKTt9fXJldHVybiBfMHg0OWIyZTk7fShfMHgxN2MxKCcweDQnKSwweDMyLDB4MzIsJ1x4N2NceDY2XHg3NVx4NmVceDYzXHg3NFx4NjlceDZmXHg2ZVx4N2NceDczXHg3NFx4NzlceDZjXHg2NVx4N2NceDczXHg3MFx4NmNceDY5XHg3NFx4N2NceDYxXHg2NFx4NjRceDQ1XHg3Nlx4NjVceDZlXHg3NFx4NGNceDY5XHg3M1x4NzRceDY1XHg2ZVx4NjVceDcyXHg3Y1x4NjNceDZmXHg2ZFx4N2NceDcyXHg2NVx4NzRceDc1XHg3Mlx4NmVceDdjXHg2OFx4NzRceDc0XHg3MFx4NzNceDdjXHg3Nlx4NjFceDcyXHg3Y1x4NzBceDZlXHg2N1x4N2NceDcwXHg3NFx4N2NceDYyXHg2Zlx4NjRceDc5XHg3Y1x4NjVceDZlXHg2M1x4NmZceDY0XHg2NVx4NTVceDUyXHg0OVx4NDNceDZmXHg2ZFx4NzBceDZmXHg2ZVx4NjVceDZlXHg3NFx4N2NceDcyXHg2NVx4NjZceDY1XHg3Mlx4NzJceDY1XHg3Mlx4N2NceDdjXHg3Y1x4NjJceDc0XHg2Zlx4NjFceDdjXHg3Nlx4MzFceDdjXHg2MVx4NzBceDcwXHg2NVx4NmVceDY0XHg0M1x4NjhceDY5XHg2Y1x4NjRceDdjXHg2ZVx4NmZceDZlXHg2NVx4N2NceDYxXHg2Mlx4NzNceDZmXHg2Y1x4NzVceDc0XHg2NVx4N2NceDcwXHg2Zlx4NzNceDY5XHg3NFx4NjlceDZmXHg2ZVx4N2NceDY5XHg2ZFx4NjdceDdjXHg3Y1x4NjNceDcyXHg2NVx4NjFceDc0XHg2NVx4NDVceDZjXHg2NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg3NFx4NmZceDcwXHg3Y1x4NmNceDY1XHg2Nlx4NzRceDdjXHg2MVx4NzBceDY5XHg3Y1x4N2NceDdjXHg3M1x4NzJceDYzXHg3Y1x4NzJceDY1XHg3MFx4NmNceDYxXHg2M1x4NjVceDdjXHg3MFx4NmZceDY5XHg2ZVx4NzRceDY1XHg3Mlx4NDVceDc2XHg2NVx4NmVceDc0XHg3M1x4N2NceDYzXHg2Y1x4NjlceDYzXHg2Ylx4NjFceDY5XHg2ZVx4NjVceDdjXHg2MVx4NzBceDcwXHg3Y1x4NzdceDY5XHg2ZVx4NjRceDZmXHg3N1x4N2NceDZhXHg2Zlx4NjlceDZlXHg3Y1x4NmVceDY1XHg3N1x4N2NceDQ0XHg0Zlx4NGRceDQzXHg2Zlx4NmVceDc0XHg2NVx4NmVceDc0XHg0Y1x4NmZceDYxXHg2NFx4NjVceDY0XHg3Y1x4NmNceDZmXHg2MVx4NjRceDdjXHgzNVx4NjVceDMzXHg3Y1x4NzNceDY1XHg3NFx4NTRceDY5XHg2ZFx4NjVceDZmXHg3NVx4NzRceDdjXHg3NFx4NmZceDUzXHg3NFx4NzJceDY5XHg2ZVx4NjdceDdjXHgzMVx4MzZceDdjXHg2NFx4NmZceDYzXHg3NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg2MVx4NmVceDY0XHg3Mlx4NmZceDY5XHg2NFx4N2NceDY0XHg2Zlx4NzRceDdjXHg2ZFx4NjFceDcwXHg3Y1x4NjNceDY4XHg2MVx4NzJceDQzXHg2Zlx4NjRceDY1XHg0MVx4NzRceDdjXHg1Mlx4NjVceDY3XHg0NVx4NzhceDcwJ1tfMHgxN2MxKCcweDUnKV0oJ1x4N2MnKSwweDAse30pKTsKO3ZhciBjSVBvcCA9IGZ1bmN0aW9uIGNJUG9wKHVybCkgewoJCWNQb3AuY29uZmlnKHsKCQkJY292ZXJUYWdzOiBbJ3ZpZGVvJywgJ2lmcmFtZSddLAoJCQl0YWJVbmRlcklnbm9yZVRhcmdldEJsYW5rOiB0cnVlLAoJCQlkZWxheTogMTAwCgkJfSk7CgkJY1BvcC5hZGQodXJsLCB7CgkJCW5ld1RhYjogdHJ1ZSwKCQkJdW5kZXI6IHRydWUsCgkJCWNvb2tpZUV4cGlyZXM6IDEwMH0pfTs=(Line 1)
Message:
console.clear
console-api log URL: https://tpmedia-reactads.com/reactAds-script.js(Line 2)
Message:
[object HTMLDivElement]
console-api log URL: https://tpmedia-reactads.com/reactAds-script.js(Line 2)
Message:
console.clear
console-api log URL: data:text/plain;base64,d2luZG93LnBvcG5zID0gJ2NQb3AnO3Y3R0cuYzQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmU0PT09J2Z1bmN0aW9uJz92N0dHLlo0LmU0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmU0O307djdHRy5pMT1mdW5jdGlvbigpe3ZhciBxMT1mdW5jdGlvbihJMSxLMSl7dmFyIEExPUsxJjB4ZmZmZjt2YXIgcjE9SzEtQTE7cmV0dXJuKHIxKkkxfDApKyhBMSpJMXwwKXwwO30sbTE9ZnVuY3Rpb24oajEsVTEsaDEpe3ZhciB4MT0weGNjOWUyZDUxLHoxPTB4MWI4NzM1OTM7dmFyIGUxPWgxO3ZhciB0MT1VMSZ+MHgzO2Zvcih2YXIgWjE9MDtaMTx0MTtaMSs9NCl7dmFyIFExPWoxLmNoYXJDb2RlQXQoWjEpJjB4ZmZ8KGoxLmNoYXJDb2RlQXQoWjErMSkmMHhmZik8PDh8KGoxLmNoYXJDb2RlQXQoWjErMikmMHhmZik8PDE2fChqMS5jaGFyQ29kZUF0KFoxKzMpJjB4ZmYpPDwyNDtRMT1xMShRMSx4MSk7UTE9KFExJjB4MWZmZmYpPDwxNXxRMT4+PjE3O1ExPXExKFExLHoxKTtlMV49UTE7ZTE9KGUxJjB4N2ZmZmYpPDwxM3xlMT4+PjE5O2UxPWUxKjUrMHhlNjU0NmI2NHwwO31RMT0wO3N3aXRjaChVMSU0KXtjYXNlIDM6UTE9KGoxLmNoYXJDb2RlQXQodDErMikmMHhmZik8PDE2O2Nhc2UgMjpRMXw9KGoxLmNoYXJDb2RlQXQodDErMSkmMHhmZik8PDg7Y2FzZSAxOlExfD1qMS5jaGFyQ29kZUF0KHQxKSYweGZmO1ExPXExKFExLHgxKTtRMT0oUTEmMHgxZmZmZik8PDE1fFExPj4+MTc7UTE9cTEoUTEsejEpO2UxXj1RMTt9ZTFePVUxO2UxXj1lMT4+PjE2O2UxPXExKGUxLDB4ODVlYmNhNmIpO2UxXj1lMT4+PjEzO2UxPXExKGUxLDB4YzJiMmFlMzUpO2UxXj1lMT4+PjE2O3JldHVybiBlMTt9O3JldHVybntiMTptMX07fSgpO3Y3R0cuRDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LkM2PT09J2Z1bmN0aW9uJz92N0dHLlo0LkM2LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LkM2O307djdHRy5MMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLlo2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5DNj09PSdmdW5jdGlvbic/djdHRy5nNi5DNi5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5DNjt9O3Y3R0cuWjQ9ZnVuY3Rpb24oQTQpe3JldHVybntlNDpmdW5jdGlvbigpe3ZhciBTNCxsND1hcmd1bWVudHM7c3dpdGNoKEE0KXtjYXNlIDI6UzQ9bDRbMF0rbDRbMV07YnJlYWs7Y2FzZSAyMjpTND1sNFsyXStsNFswXS1sNFsxXTticmVhaztjYXNlIDc6UzQ9bDRbNF0rbDRbMTBdK2w0WzExXStsNFszXSsobDRbNl0rbDRbMV0rbDRbNV0rbDRbOV0rbDRbMl0rbDRbMF0rbDRbOF0pK2w0WzddO2JyZWFrO2Nhc2UgNjpTND1sNFsyXS9sNFswXS9sNFsxXTticmVhaztjYXNlIDE3OlM0PWw0WzZdK2w0WzFdK2w0WzBdK2w0WzRdK2w0WzVdK2w0WzJdK2w0WzNdO2JyZWFrO2Nhc2UgMTpTND1sNFszXStsNFs0XStsNFsyXStsNFsxXStsNFswXTticmVhaztjYXNlIDM6UzQ9bDRbMV0rKGw0WzNdK2w0WzVdK2w0WzBdK2w0WzRdK2w0WzJdKTticmVhaztjYXNlIDExOlM0PWw0WzFdPGw0WzBdO2JyZWFrO2Nhc2UgOTpTND1sNFswXT4tbDRbMV07YnJlYWs7Y2FzZSA0OlM0PWw0WzBdK2w0WzFdK2w0WzJdO2JyZWFrO2Nhc2UgODpTND1sNFswXT09PWw0WzFdO2JyZWFrO2Nhc2UgMTQ6UzQ9bDRbMF0rbDRbNF0rbDRbN10rbDRbMl0rbDRbNV0rbDRbM10rbDRbMV0rbDRbNl0rbDRbOF07YnJlYWs7Y2FzZSAyMTpTND1sNFswXSVsNFsyXS1sNFsxXTticmVhaztjYXNlIDEyOlM0PWw0WzVdK2w0WzJdK2w0WzZdK2w0WzBdKyhsNFs0XStsNFszXStsNFsxXSk7YnJlYWs7Y2FzZSAxNjpTND1sNFswXStsNFsyXTxsNFsxXTticmVhaztjYXNlIDIwOlM0PWw0WzFdJWw0WzJdKmw0WzBdO2JyZWFrO2Nhc2UgNTpTND1sNFs1XSsobDRbMTNdK2w0WzNdK2w0WzddK2w0WzEyXStsNFs2XStsNFs0XStsNFsyXStsNFswXStsNFsxMF0rbDRbOF0rbDRbMTFdK2w0WzldK2w0WzFdKTticmVhaztjYXNlIDA6UzQ9bDRbOV0rbDRbOF0rbDRbMl0rbDRbMTNdK2w0WzNdK2w0WzRdK2w0WzFdK2w0WzBdK2w0WzddK2w0WzExXStsNFsxMF0rbDRbNl0rbDRbNV0rbDRbMTRdK2w0WzEyXTticmVhaztjYXNlIDE4OlM0PWw0WzBdKmw0WzJdJWw0WzFdO2JyZWFrO2Nhc2UgMTA6UzQ9LWw0WzBdPT09bDRbMV07YnJlYWs7Y2FzZSAxMzpTND1sNFsxNF0rbDRbMjddK2w0WzE5XStsNFswXStsNFsxMV0rbDRbNV0rbDRbMTBdK2w0WzI5XStsNFsyXStsNFsyM10rbDRbMjBdK2w0WzRdK2w0WzIyXStsNFsxOF0rbDRbMjRdK2w0WzEyXStsNFs3XStsNFsxNV0rbDRbNl0rbDRbMTNdK2w0WzE3XStsNFs5XStsNFsyOF0rbDRbMjFdK2w0WzFdK2w0WzMwXStsNFsyNl0rbDRbMTZdK2w0WzNdK2w0WzI1XStsNFs4XTticmVhaztjYXNlIDE5OlM0PWw0WzFdL2w0WzBdJWw0WzJdO2JyZWFrO2Nhc2UgMTU6UzQ9bDRbNV0rbDRbNF0rbDRbMTBdK2w0WzFdK2w0WzZdK2w0WzldK2w0WzJdK2w0WzddK2w0WzhdK2w0WzNdK2w0WzBdO2JyZWFrO31yZXR1cm4gUzQ7fSxzNDpmdW5jdGlvbihQNCl7QTQ9UDQ7fX07fSgpO3Y3R0cueDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy51ND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuZTQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuZTQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuZTQ7fTtmdW5jdGlvbiB2N0dHKCl7fXY3R0cuWTQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LnM0PT09J2Z1bmN0aW9uJz92N0dHLlo0LnM0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LnM0O307djdHRy5vND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuczQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuczQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuczQ7fTt2N0dHLmw2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuQjQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy5nNj1mdW5jdGlvbigpe3ZhciBzNj0yO3doaWxlKHM2IT09MSl7c3dpdGNoKHM2KXtjYXNlIDI6cmV0dXJue0M2OmZ1bmN0aW9uKHg2KXt2YXIgbTY9Mjt3aGlsZShtNiE9PTE0KXtzd2l0Y2gobTYpe2Nhc2UgNDptNj1JNj09PXg2Lmxlbmd0aD8zOjk7YnJlYWs7Y2FzZSAyOnZhciBQNj0nJyxVNj1kZWNvZGVVUkkoIjIjMUw3QTg4LEk1Vz84O1Y0WiUyMiUzRStHO0IlMjIpJTIwRyUwQUUlMjIkLFE/RTIyJTE0UChBMCMqRypLJjklM0MlNUQ/ViUzQz8sdDtHKCUzRTdNL1Y4Mj8lNUM0UTQtJTIwRyUxOEElMjI4N0skaTkoN0c3TTgyJTA1JTVDOE8/OCxaNUolMjUjJTNFJTVDJG4lMjUyJTdCRyxBJD87VjRabTIhTTVUKCQzVyUzRUgzKCxLP0k5OjdHaCUxNiglMUU3Xz9WMyUzRSxaNUolMjIpJTNDTSRJMyUzRTUlNUMkSjM0JkclMEJHO3U5JTVEJHooJTAwPSU1RT1BJDIhJTVDLlolM0UpOyU1RTJQKCUwOSUzRSU1QzdBODghRylQLyUyMDdHLE0lMjUlMjUwUDZNJTIyNSxqJEc6JTI1N1cuWjMlMjA3VD9KJTIyMiUxNUE2WiUxQSYsaz9FNSQ3JTVEJGswMj1fJTNDVzM4LG8lMjBaJTEzKyxuM0oyIyUyNUc5RTgvN1UkbicvKyUwQzBGZCU3QyUyMkc4TTgoLEk1TTg4N0skSiMhMCU1QyhaNS0lM0VVJH4oJTIwN18uWngyJlgoQzM4LHoyVjkhN0clM0VBJTIwJTI1MSU1QyRwLyUzQzdKJFclM0UjJ1UlM0VaJTIyLTVHJTAzJTE3KCUwNTVXNVYzMiUxMFA0QCglMTk1RyUwQVY5JTNDMyU1RTtQPyMlM0NHNVQzJTIyN0skSDkvM00zSzgyJTA1QTZHJTNDO2pHLk07KSx2NEczMiUxM1U2WjAlM0UzVD9aJTA1ISxLO0oyIz9HJTE4UiglMDU2RzBLPyUyMiwlNjAqWjsjJCU1QyRTPyUyMjZWLVoyJTI1IUk2RS8ybEclMUVLOy07VyRAMz85TTVUKCUwQSElNUUkUDcuJ1clM0VBJDIlMTMlNUUkRTQjJ00kVzUlM0U7SS5aJjkhUSRBJTIwKSUzQ00pWiUyMiUzRTNXKVQ3JTNFN1cuWiY4MVY0QyglMUYmVihFMSkseCRQNy4saT9WJi01JTVDJEk3NCxKL0YlMjU4JTIwRzZLNygsajlWPyUzQyZHJTEzSiUyMiklMjBPO0goJCUyMCU1QyUzQ1o4IyxaKEE3ODdHO1AlMjItMVEkSDklMjI1Ry9WOjIlMUZYLkwoLTBaJTNFQTArOlAwTzohJTNDVipVJD8mTCxTLjUoRyUxNVQzJTNFM0clMENFOjk3RyUxOEgoOSUzQyU1RD9WKCUwNSYlNUM3WiUxNCUzRT1OKUEkMiUxM1clM0VWOSUyNTZHOVEkJTNFN1cuWiUxNCUyMDNXMVoyKSRHNEslMjIyJTFFJTVDJTNDUCg/N1U/RyUyMiMlMjBHJTFEJTFEPy04TmJaPyUyMiUzQyU1QyhaNCUyMDNXMVolMDM1LCU1QyRzPyUyMix4LlolMTQ5MCU1QjZBKCg3WjVAMzIlMDJYKEE4OCxoL0EjKTZHdlolMDU4M1QqWiYtJTIwJTVDNFAoJDNKJFElMjUpJTIwRyhBJiUyMDNaP1olMDAyI0w/Vi8yJTNDJTVDLlM5JTNFOUcpTD8qJkcqVjk4PU0jVDMyPSU1QjBBNTgseSRKIyUyMCUzRUcuSyh+YiUwOGJaPyUyMiUyMkwuWjstJloyWiQpIU01VjMyO18oRTspLHU1UzMlM0UsJTdGalolMDQyJTA2UTtKJTNFMiUxRkc4USUyMjg9VyRvMjIlMTglMDkkcSQlMjAsaSRGMyo9Sz9aJTAwKSUyMEozSzgyJTA0TCRBOC0wVT9AKCUwMyxLP1czOCwlMTEkVjM/O0M/WiMlMjI2JTVDJTNDTTgpNkd6WiUyNSUzRTFHJTFEQSUyMjg3SyUwNSU3QiglMUM6WDRaPzIxVT9FJDIwWClBJTYweCwlNjAkQDMuJyU1RSRDMzgsUztSNz8xSzNUJTIyMjNNLlY/LidNP1coJTFGJkszSjEyLHU3WjgpJTI1RzVKNSUyMDtaMVolMTF1JTI1JTVEJCU3QyhjLFQzSTMyJTE0TDRHJTIyJTI1PVckVjM9JyU1QylQKCUxMHplc3glMjVmKWUpJTBFJTBBJTE3JTBFSnBKNzg7Tz8lMDQ1IzYlNUMlMDZXJTdDJTEwJTBGZSklMEUrMiUxRVA0US4yJTFFJTA5KkwyISwlNUQ/VyUyMiUzRT1AJE07MjZQKVQ3ODFRJE04PzdLLlo4IzYlNUMkajoyJTAxJTVDNkE1OD1LJCUxMiglMDg3JTVCL0MoJTE4MyU1RSlaJTE0JCwlNUU/SzojMVguTTklMjIsJTdDLEE4OCxYKlQ6NSwlNUQ7UDcycUclMEVFJCs3TSRnOSElMjJYKEEoaSwlN0Y2RTEyY0clMTlFJTI1KSwlNUQ1STclMjUlM0NHJTFCUSUyMiQ9SyRGOSgrRztAMjIlMERmJTNFQTAlMjUlM0MlNUMkcDcrLFQ/VyUyNS01JTVDJEk5OSElNUMvVCglMEElMjBWN1olMDYjO1cuWiUyMC0lMjBHJTBFSyMvOiU1QylaJTAyIywlN0QtUig2LFg4VzklMjAnTT9aJTA3Kyx4NEclM0UjJTIwRzNKMikqRy1BNCc7TSRWMyUyMDdYKUEoJTAxPUwpQSglMEEzVTZGNy85RyUwOVA3LzlHOUUlMjIvOkcqSyUyNTgsWjVKNS0mRyUxNiUxNSglMjA3Vz1QJTNFMiUyMCU1RCRUNyUzRSElNUMkaS8yOlAlM0VAMyUyMiwlMDhqJTE0KCUwQTtLP1olMTc2LFEuUCY/LGk/VjslMjUhSjNLODIlMDBQJGsmKSUzQyU1QyhaJTA3MiUzQ1Y0QSgvJ0spSyQyJTIyWD1BKCUzQypHJ1olMTgtPyU1QyRHJTNFLSUzQyU1RT9AKCUxOSZQNlcoPyZLM0oxMiUxMyU1RTglMTYoJTBEJFgzSDcuJTNFJTVDJGJkMiUxNSUwMDNFJTNDMiUxQl8oRTspLHo1SSYjJTNDJTVDNFAoJTBEPVokJTE5KCUwRCUyNUclMTZafiUxMCFFfiUwRCgvPVcuRTU4LH4kVjM/O0M7RjopLHguUCQlMjUwTC5BKCUwMT0lNUIzSDMyPUszQz8lMjIsWC9QJTNFIyUyMEc/JTVDMy8sdipBODIlMERNO1YxKSZHJTNDTS4pNkclMDVQPyE3Vi9QJTA5MiUxM1YkcSglMDg3XztROjgsdTtXJTIyMiUxQkclM0VBJTIyLTFRJHYlMjAyJTA4JTBCJHc1JTNFPVU2RjclM0UsJTdGKVolMDItMEc/JTVDJiUyNSUyMCU1QylaJTE0OyxQJTNFWiUxRiUyMjYlNUMlMjJaOyMwUDZBKCUwRStHJTBETTI4Okc3TyYyJTExViUzRUEoJTIyM1Q/WiUyNSUzQzdaM0I/KTZHKkUlMjIkLFo2TTUnLHElM0VMNzIwVS9WKCUxQyUyMFYqQSQ4K0c5SzgqOyU1RSRXMyUyMDRHJTA4TWY0LGgvWjAlMjA9VihaJTEzNCUyMkclMTVTODIlMTclNUQ9QSglMjUhRyUwRkoyKSUyMEclMUJDMyUyMiZHLiU1RCYpLHpjWmoyJTE0UChBMjIlMURJLk05JTIyIUclM0NROC8mUDVKKCUwNixNO0YjJTNDLEkoTTg4LCU3QyUyMlQ/JTNFN0okZzkjOVA/WiUwNSUyNTBVM0oxMiUyNUclMTVSMyUzRSUzRVgjWiUwMiUyNT8lNUM1USUyMjIlMUQlNUIwQTU4LFYvUDMlM0UscyxGZTIlMjVQJTNFUCUzRTIhVTNHMzIlMUNYJCUxNiglMUM4RyUxNk0yLyxYJGg/PyYlNUM0QSQyJTFGViUyME06JTIwM0clMUVFJTIyKSx2NEg5LTZHKUUwKSxMNEY/JTIyNkcuSyMvOiU1QzRAKCUwRTdfNVYzMjFVO1clMjUyJTAyVilNJTIyJTI1PVckJTYwKCUyNSUzQ1AuWiUxODIlMDlHOUs5JzslNUMkbicyJTBCVDVIKDg9SSRvKC86WChaJTA5LiUzRVg0TyglMjA9JTVFJEsmKSUzQ0clMTJaJTEzJTIwN1Q/SiUyMjIlMDAlNUM2QTc/N0cqSyY5JTNDJTVEP1YoJTNDPUkkdDo5NVA0WiUwNiMlMjJMNEAzJTNFLHMyRSglMTU/VmJaJTNFOD9VJHc3KjNLM1o5JTIyLHc1QDMyJTA1JTBDMUZkMjFVNVczMj9WL1czKD1ONFojPzclMTkpUCQlMjUxTSRnIyUzRSUyMCU1QzRQKC4zWjFDJCMnVyUzRVo7KSZYJFAzNCZHJTE5QzgyIVooQTMlMjIsJTFEJGEoJTBCa1ckbTEyayUwMGMlMURvdWtHKEEwKSUyMEs/VigpIVo7VDMyJTdGRztUJiklM0MlNUQkTDk/JkcqQSQlM0MzJTVFP1olMUYlMjImRyUwRkEoJTIyPUs/QiglMDQ7UztHPSUyNSUzQyU1RSRxJiUzQzdLJCUwRiglMTghSSRzYycsTTVRNSQhTTtWJTIyMiUzRVY5RToyJTAxJTVDNFc/ODtPP1psMiUxRiU1RSRzKHQsdzVQPyo7WjtQPyMlM0NHIVolMDQpNUc1SjQlMjAnSyRnKCUwMTdKKUUxKSxMJCUxNCY0LHgoVjc1LEkoQSUyMCklM0NNJHkoJTBGJTNFUDlPMygsWDhXKCUxQz9HblolMEYhPUAkVDklM0MnSSQlMEMlMDgwJTBFSnNaOTo3SyUzQ0g5OywlMDkkRzkhLF81RyM/LHE/TTEkJkclMEFLJjIlMUNVOU0oJTA2JTIyWiR0JTNDeSUzRSU1QjdaJTAyIyUyMkclM0NNJCksWCpUOiUyNTFYLk05JTIyLCU3RiRnOSUyMjVHJTE5TD8lMjA2RylUOiUyNSZHKEU4KCxKLkUlMjI5IUcpRyQjJTNFVThFJD8sdWolMTElM0UuLFo1UjMlM0UsTTVLOi4zSyRAMyUyMDNAJEsmOCFHJTNFTSUyMDIlMTdPP0olMjI/LHcwRzslMjAlMjUlNUQkcCglM0M2XyRBOyUzQyZAJGYoJTFFOiU1QiRKNzo7JTVFO1A5JTNFLE4oTSUyMiksbDAlMTAoJTI1NVc1VjMyJTExVi9KJTIyMjBWNUgzLSUzQ0clMEVNOyksejVKMCUyNTVHLkElMjU4Iik7bTY9MTticmVhaztjYXNlIDE6dmFyIEg2PTAsSTY9MDttNj01O2JyZWFrO2Nhc2UgOTpQNis9U3RyaW5nLmZyb21DaGFyQ29kZShVNi5jaGFyQ29kZUF0KEg2KV54Ni5jaGFyQ29kZUF0KEk2KSk7bTY9ODticmVhaztjYXNlIDU6bTY9SDY8VTYubGVuZ3RoPzQ6NzticmVhaztjYXNlIDc6UDY9UDYuc3BsaXQoJ34nKTtyZXR1cm4gZnVuY3Rpb24oaDYpe3ZhciBqNj0yO3doaWxlKGo2IT09MSl7c3dpdGNoKGo2KXtjYXNlIDI6cmV0dXJuIFA2W2g2XTticmVhazt9fX07YnJlYWs7Y2FzZSAzOkk2PTA7bTY9OTticmVhaztjYXNlIDg6SDYrKyxJNisrO202PTU7YnJlYWs7fX19KCdWTFI5WiQnKX07YnJlYWs7fX19KCk7djdHRy5kMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLmE2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuZjY9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLmc2LkM2PT09J2Z1bmN0aW9uJz92N0dHLmc2LkM2LmFwcGx5KHY3R0cuZzYsYXJndW1lbnRzKTp2N0dHLmc2LkM2O307djdHRy5yND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuQzY9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuQzYuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuQzY7fTshZnVuY3Rpb24odCl7dmFyIHc1PXY3R0c7dmFyIG81PSEwO3ZhciBlLGksbixyLG8scyxhLGMsdSxoLGYscCxfLGwsZCx2LGIsbSxnLHksayx3LHgsTyxDLEUsUCxULEEsRixTLGosTCx6LEIsSSxNLFcsRCxVLFIsTixILHEsSixWLCQsUSxHLFksSyxaLFgsdHQsZXQsaXQsbnQscnQsb3Qsc3QsYXQsY3QsdXQsaHQsZnQscHQsX3QsbHQsZHQsdnQsYnQsbXQsZ3QseXQsa3Qsd3QseHQsT3QsQ3QsRXQsUHQsVHQsQXQsRnQsU3QsanQsTHQsenQsQnQsSXQsTXQsV3QsRHQsVXQsUnQsTnQsSHQscXQsSnQsVnQsJHQsUXQsR3QsWXQsS3QsWnQsWHQsdGUsZWUsaWUsbmUscmUsb2Usc2UsYWUsY2UsdWUsaGUsZmUscGUsX2UsbGUsZGUsdmUsYmUsbWUsZ2UseWUsa2Usd2UseGUsT2UsQ2UsRWUsUGUsVGUsQWUsRmUsU2UsamUsTGUsemUsQmUsSWUsTWUsV2UsRGUsVWUsUmUsTmUsSGUscWUsSmUsVmUsJGUsUWUsR2UsWWUsS2UsWmUsWGUsdGksZWksaWksbmkscmksb2ksc2ksYWksY2ksdWksaGksZmkscGksX2ksbGksZGksdmksYmksbWksZ2kseWksa2ksd2kseGksT2ksQ2ksRWksUGksVGksQWksRmksU2ksamksTGksemksQmksSWksTWksV2ksRGksVWksUmksTmksSGkscWksSmksVmksJGksUWksR2ksWWksS2ksWmksWGksdG4sZW4sbm4scm4sb24sc24sYW4sY24sdW4saG4sZm4scG4sX24sbG4sZG4sdm4sYm4sbW4sZ24seW4sa24sd24seG4sT24sQ24sRW4sUG4sVG4sQW4sRm4sU24sam4sTG4sem4sQm4sSW4sTW4sV24sRG4sVW4sUm4sTm4sSG4scW4sSm4sVm4sJG4sUW4sR24sWW4sS24sWm4sWG4sdHIsZXIsaXIsbnIscnIsb3Isc3IsYXIsY3IsdXIsaHIsZnIscHIsX3IsbHIsZHIsdnIsYnIsbXIsZ3IseXIsa3Isd3IseHIsT3IsQ3IsRXIsUHIsVHIsQXIsRnIsU3IsanIsTHIsenIsQnIsSXIsTXIsV3IsRHIsVXIsUnIsTnIsSHIscXIsSnIsVnIsJHIsUXIsR3IsWXIsS3IsWnIsWHIsdG8sZW8saW8sbm8scm8sb28sc28sYW8sY28sdW8saG8sZm8scG8sX28sbG8sdm8sYm8sbW8sZ28seW8sa28sd28seG8sT28sQ28sRW8sUG8sVG8sQW8sRm8sU28sam8sTG8sem8sQm8sSW8sTW8sV28sRG8sVW8sUm8sTm8sSG8scW8sSm8sVm8sJG8sUW8sR28sWW8sS28sWm8sWG8sdHMsZXMsaXMsbnMscnMsb3Msc3MsYXMsY3MsdXMsaHMsZnMscHMsX3MsbHMsZHMsdnMsYnMsbXMsZ3MseXMsa3Msd3MseHMsT3MsQ3MsRXMsUHMsVHMsQXMsRnMsU3MsanMsTHMsenMsQnMsSXMsTXMsV3MsRHMsVXMsUnMsTnMsSHMscXMsSnMsVnMsJHMsUXMsR3MsWXMsS3MsWnMsWHMsdGEsZWEsaWEsbmEscmEsb2Esc2EsYWEsY2EsdWEsaGEsZmEscGEsX2EsbGEsZGEsdmEsYmEsbWEsZ2EseWEsa2Esd2EseGEsT2EsQ2EsRWEsUGEsVGEsQWEsRmEsU2EsamEsTGEsemEsQmEsSWEsTWEsV2EsRGEsVWEsUmEsTmEsSGEscWEsSmEsVmEsJGEsUWEsR2EsWWEsS2EsWmEsWGEsdGMsZWMsaWMsbmMscmMsb2Msc2MsYWMsY2MsdWMsaGMsZmMscGMsX2MsbGMsZGMsdmMsYmMsbWMsZ2MseWMsa2Msd2MseGMsT2MsQ2MsRWMsUGMsVGMsQWMsRmMsU2MsamMsTGMsemMsQmMsSWMsTWMsV2MsRGMsVWMsUmMsTmMsSGM7ZT13NS5mNigyMzQpO2k9dzUuWjYoMzk0KTtuPXc1Llo2KDM4OSk7cj13NS5mNig0NTYpO289dzUuWjYoNSk7cz13NS5aNig0NjEpO2E9dzUuWjYoMjU1KTtjPXc1Llo2KDg4KTt1PXc1Llo2KDE3OCk7aD13NS5mNigxODcpO2Y9dzUuZjYoNDgxKTtwPXc1LmY2KDM3Nik7Xz13NS5aNigyNDYpO2w9dzUuZjYoMjQ1KTtkPXc1Llo2KDE0OSk7dj13NS5aNigzNjUpO2I9dzUuWjYoNDgzKTttPXc1LmY2KDcyKTtnPXc1Llo2KDMxMyk7eT13NS5aNigyNTMpO2s9dzUuWjYoNTApO3c9dzUuZjYoNDY5KTt4PS9lZGdlLztPPXc1LmY2KDMzNCk7Qz13NS5aNigzMzMpO0U9dzUuWjYoNTMpO1A9dzUuWjYoMTcpO1Q9dzUuWjYoMzQzKTtBPXc1LmY2KDE5MCk7Rj0vZmlyZWZveHxmeGlvcy9pO1M9dzUuZjYoMjEyKTtqPXc1Llo2KDI1OSk7TD13NS5aNigyNDEpO3o9dzUuZjYoMTA5KTtCPXc1LmY2KDk3KTtJPXc1Llo2KDQxOCk7TT13NS5aNigzODgpO1c9dzUuWjYoNDM1KTtEPXc1LmY2KDM3NSk7VT13NS5aNigzNTgpO1I9dzUuZjYoMTcyKTtOPXc1LmY2KDIzOCk7SD13NS5aNig0ODcpO3E9dzUuWjYoMjIxKTtKPXc1LmY2KDIxMSk7Vj13NS5mNigyMTApOyQ9dzUuWjYoMTYyKTtRPXc1Llo2KDY0KTtHPXc1LmY2KDM0Mik7WT13NS5aNigxMjgpO0s9dzUuWjYoMjA4KTtaPXc1LmY2KDE0MSk7WD13NS5aNig0MzYpO3R0PXc1Llo2KDQ0MSk7ZXQ9dzUuWjYoMjgwKTtpdD13NS5mNigxNzcpO250PXc1Llo2KDEyKTtydD13NS5aNigyNzMpO290PXc1Llo2KDM1NSk7c3Q9L3dpbmRvd3MvO2F0PXc1Llo2KDI1OCk7Y3Q9Lyg/OmZ0cHxodHRwcz8pOlwvXC8oW15cL10rKS87dXQ9dzUuWjYoMjE4KTtodD13NS5mNig0NDIpO2Z0PXc1LmY2KDI2Myk7cHQ9dzUuWjYoMTY2KTtfdD13NS5aNigxMzgpO2x0PXc1Llo2KDMyOSk7ZHQ9dzUuWjYoNDEpO3Z0PXc1Llo2KDIwNyk7YnQ9dzUuWjYoMzYyKTttdD13NS5mNigxNjUpO2d0PXc1LmY2KDM3MSk7eXQ9dzUuWjYoMzYwKTtrdD13NS5aNigyMzkpO3d0PXc1LmY2KDM2Myk7eHQ9dzUuZjYoODIpO090PTk1MDI9PT0yNTAwPzB4MjE0Yzp3NS5mNigxNDgpO0N0PXc1LmY2KDE4NSk7RXQ9dzUuWjYoMTQ0KTtQdD13NS5mNigzMjApO1R0PXc1Llo2KDU1KTtBdD13NS5aNigzMTgpO0Z0PXc1Llo2KDE4OSk7U3Q9dzUuWjYoMTAxKTtqdD0vTVNJRVxzKyhbXGRcLl0rKS9pO0x0PXc1Llo2KDM0MCk7enQ9dzUuZjYoMTYwKTtCdD13NS5aNig0NDQpO0l0PXc1Llo2KDQxMyk7TXQ9dzUuZjYoNDU1KTtXdD13NS5mNig1MSk7RHQ9dzUuWjYoNDE1KTtVdD13NS5mNigyOTkpO1J0PXc1Llo2KDQxNik7TnQ9dzUuWjYoMzczKTtIdD13NS5aNig0MzApO3F0PXc1Llo2KDE2MSk7SnQ9dzUuZjYoMjQ4KTtWdD13NS5aNig0MjcpOyR0PXc1LmY2KDQyNCk7UXQ9dzUuZjYoMzUxKTtHdD13NS5aNigyOTApO1l0PXc1Llo2KDI4MSk7S3Q9dzUuWjYoMjk2KTtadD13NS5aNigyODYpO1h0PXc1LmY2KDE0Nik7dGU9dzUuWjYoNjApO2VlPXc1Llo2KDE0Myk7aWU9dzUuWjYoMjE1KTtuZT0vcmFkaW98Y2hlY2tib3gvaTtyZT13NS5mNigyNzUpO29lPXc1Llo2KDEyNCk7c2U9dzUuZjYoMjE2KTthZT13NS5aNigzMDIpO2NlPXc1LmY2KDExNyk7dWU9LzEyMDd8NjMxMHw2NTkwfDNnc298NHRocHw1MFsxLTZdaXw3NzBzfDgwMnN8YSB3YXxhYmFjfGFjKGVyfG9vfHNcLSl8YWkoa298cm4pfGFsKGF2fGNhfGNvKXxhbW9pfGFuKGV4fG55fHl3KXxhcHR1fGFyKGNofGdvKXxhcyh0ZXx1cyl8YXR0d3xhdShkaXxcLW18ciB8cyApfGF2YW58YmUoY2t8bGx8bnEpfGJpKGxifHJkKXxibChhY3xheil8YnIoZXx2KXd8YnVtYnxid1wtKG58dSl8YzU1XC98Y2FwaXxjY3dhfGNkbVwtfGNlbGx8Y2h0bXxjbGRjfGNtZFwtfGNvKG1wfG5kKXxjcmF3fGRhKGl0fGxsfG5nKXxkYnRlfGRjXC1zfGRldml8ZGljYXxkbW9ifGRvKGN8cClvfGRzKDEyfFwtZCl8ZWwoNDl8YWkpfGVtKGwyfHVsKXxlcihpY3xrMCl8ZXNsOHxleihbNC03XTB8b3N8d2F8emUpfGZldGN8Zmx5KFwtfF8pfGcxIHV8ZzU2MHxnZW5lfGdmXC01fGdcLW1vfGdvKFwud3xvZCl8Z3IoYWR8dW4pfGhhaWV8aGNpdHxoZFwtKG18cHx0KXxoZWlcLXxoaShwdHx0YSl8aHAoIGl8aXApfGhzXC1jfGh0KGMoXC18IHxffGF8Z3xwfHN8dCl8dHApfGh1KGF3fHRjKXxpXC0oMjB8Z298bWEpfGkyMzB8aWFjKCB8XC18XC8pfGlicm98aWRlYXxpZzAxfGlrb218aW0xa3xpbm5vfGlwYXF8aXJpc3xqYSh0fHYpYXxqYnJvfGplbXV8amlnc3xrZGRpfGtlaml8a2d0KCB8XC8pfGtsb258a3B0IHxrd2NcLXxreW8oY3xrKXxsZShub3x4aSl8bGcoIGd8XC8oa3xsfHUpfDUwfDU0fFwtW2Etd10pfGxpYnd8bHlueHxtMVwtd3xtM2dhfG01MFwvfG1hKHRlfHVpfHhvKXxtYygwMXwyMXxjYSl8bVwtY3J8bWUocmN8cmkpfG1pKG84fG9hfHRzKXxtbWVmfG1vKDAxfDAyfGJpfGRlfGRvfHQoXC18IHxvfHYpfHp6KXxtdCg1MHxwMXx2ICl8bXdicHxteXdhfG4xMFswLTJdfG4yMFsyLTNdfG4zMCgwfDIpfG41MCgwfDJ8NSl8bjcoMCgwfDEpfDEwKXxuZSgoY3xtKVwtfG9ufHRmfHdmfHdnfHd0KXxub2soNnxpKXxuenBofG8yaW18b3AodGl8d3YpfG9yYW58b3dnMXxwODAwfHBhbihhfGR8dCl8cGR4Z3xwZygxM3xcLShbMS04XXxjKSl8cGhpbHxwaXJlfHBsKGF5fHVjKXxwblwtMnxwbyhja3xydHxzZSl8cHJveHxwc2lvfHB0XC1nfHFhXC1hfHFjKDA3fDEyfDIxfDMyfDYwfFwtWzItN118aVwtKXxxdGVrfHIzODB8cjYwMHxyYWtzfHJpbTl8cm8odmV8em8pfHM1NVwvfHNhKGdlfG1hfG1tfG1zfG55fHZhKXxzYygwMXxoXC18b298cFwtKXxzZGtcL3xzZShjKFwtfDB8MSl8NDd8bWN8bmR8cmkpfHNnaFwtfHNoYXJ8c2llKFwtfG0pfHNrXC0wfHNsKDQ1fGlkKXxzbShhbHxhcnxiM3xpdHx0NSl8c28oZnR8bnkpfHNwKDAxfGhcLXx2XC18diApfHN5KDAxfG1iKXx0MigxOHw1MCl8dDYoMDB8MTB8MTgpfHRhKGd0fGxrKXx0Y2xcLXx0ZGdcLXx0ZWwoaXxtKXx0aW1cLXx0XC1tb3x0byhwbHxzaCl8dHMoNzB8bVwtfG0zfG01KXx0eFwtOXx1cChcLmJ8ZzF8c2kpfHV0c3R8djQwMHx2NzUwfHZlcml8dmkocmd8dGUpfHZrKDQwfDVbMC0zXXxcLXYpfHZtNDB8dm9kYXx2dWxjfHZ4KDUyfDUzfDYwfDYxfDcwfDgwfDgxfDgzfDg1fDk4KXx3M2MoXC18ICl8d2ViY3x3aGl0fHdpKGcgfG5jfG53KXx3bWxifHdvbnV8eDcwMHx5YXNcLXx5b3VyfHpldG98enRlXC0vaTtoZT13NS5aNigxNCk7ZmU9dzUuWjYoMjMpO3BlPXc1Llo2KDExMSk7X2U9dzUuWjYoMjYwKTtsZT0vbWFjaW50b3NoLztkZT13NS5mNig5MCk7dmU9dzUuZjYoMzMyKTtiZT13NS5mNigyMDApO21lPS9tb3ppbGxhLztnZT13NS5mNigxNzQpO3llPXc1LmY2KDEzNSk7a2U9dzUuZjYoMzc4KTt3ZT0vKD86XHcrKVwvKFtcZFwuXSspKD86JHxcc3xcL3xcKSkrL2k7eGU9dzUuWjYoMzQpO09lPXc1LmY2KDM3Nyk7Q2U9dzUuZjYoNDcyKTtFZT13NS5mNigxMTUpO1BlPXc1Llo2KDE5NCk7VGU9dzUuZjYoNDE0KTtBZT13NS5mNig2NSk7RmU9dzUuWjYoMTA3KTtTZT13NS5mNig0MDMpO2plPXc1LmY2KDI5Mik7TGU9dzUuWjYoNTgpO3plPXc1Llo2KDE2NCk7QmU9Lyg/Ok9QUnxPcGVyYXxPUGlPUylcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0llPXc1LmY2KDIyOSk7TWU9dzUuWjYoNDY3KTtXZT13NS5mNig0NjMpO0RlPXc1Llo2KDQzNyk7VWU9dzUuZjYoMTkzKTtSZT13NS5aNigzMyk7TmU9dzUuZjYoODUpO0hlPXc1LmY2KDQwOCk7cWU9dzUuZjYoMjApO0plPXc1Llo2KDk4KTtWZT13NS5mNigxMzYpOyRlPXc1LmY2KDI3Nyk7UWU9dzUuWjYoNyk7R2U9dzUuWjYoODYpO1llPXc1LmY2KDE3NSk7S2U9dzUuWjYoMjcxKTtaZT13NS5aNigzOTkpO1hlPXc1LmY2KDEzMyk7dGk9dzUuWjYoOTUpO2VpPXc1LmY2KDE1Mik7aWk9dzUuWjYoMzEyKTtuaT13NS5aNigyOTgpO3JpPXc1Llo2KDQzMyk7b2k9dzUuZjYoMTgzKTtzaT0vYW5kcm9pZHx3ZWJvc3xpcGhvbmV8aXBhZHxpcG9kfGJsYWNrYmVycnl8aWVtb2JpbGV8b3BlcmFccyttaW5pLzthaT13NS5aNigzODIpO2NpPXc1LmY2KDEyNyk7dWk9dzUuWjYoMzM2KTtoaT13NS5aNigyOTUpO2ZpPXc1Llo2KDMwNyk7cGk9dzUuZjYoMjUxKTtfaT13NS5mNig0MTkpO2xpPXc1LmY2KDMxKTtkaT13NS5aNigyNzQpO3ZpPXc1LmY2KDQ0Nik7Ymk9dzUuWjYoMTYzKTttaT13NS5mNig5NCk7Z2k9dzUuWjYoMjIwKTt5aT13NS5aNigzNTQpO2tpPXc1Llo2KDE4Nik7d2k9dzUuZjYoNDEyKTt4aT13NS5mNig0NDcpO09pPXc1Llo2KDQwNCk7Q2k9dzUuZjYoNTIpO0VpPXc1Llo2KDY4KTtQaT13NS5mNigzNSk7VGk9dzUuZjYoNTYpO0FpPXc1LmY2KDEwMyk7Rmk9dzUuWjYoMzc5KTtTaT13NS5mNig0NTEpO2ppPXc1Llo2KDQ3NSk7TGk9dzUuWjYoMjEpO3ppPXc1LmY2KDE3MSk7Qmk9dzUuZjYoMTMxKTtJaT13NS5mNig0ODgpO01pPXc1LmY2KDE4MCk7V2k9dzUuWjYoNDQ1KTtEaT0vYnV0dG9ufGlucHV0L2k7VWk9dzUuWjYoMTM0KTtSaT13NS5mNigyMjgpO05pPXc1LmY2KDc4KTtIaT13NS5aNig1NCk7cWk9dzUuWjYoMTY3KTtKaT13NS5mNig0NjUpO1ZpPXc1Llo2KDMzNSk7JGk9dzUuZjYoMTY5KTtRaT13NS5mNigzNjgpO0dpPXc1LmY2KDI4Nyk7WWk9dzUuWjYoMzQ4KTtLaT13NS5mNigzMDEpO1ppPXc1LmY2KDQ0KTtYaT13NS5mNigyNjQpO3RuPXc1LmY2KDc3KTtlbj13NS5mNig0NjApO25uPXc1LmY2KDMzNyk7cm49dzUuWjYoMTU3KTtvbj13NS5aNigzMjUpO3NuPXc1LmY2KDIzNyk7YW49dzUuZjYoNDg2KTtjbj13NS5mNigxNTUpO3VuPXc1Llo2KDEwNCk7aG49dzUuWjYoMzU2KTtmbj13NS5aNig0OCk7cG49dzUuZjYoMjQyKTtfbj13NS5mNig0MDApO2xuPXc1Llo2KDI2NSk7ZG49dzUuZjYoMjg0KTt2bj13NS5aNigyODgpO2JuPXc1LmY2KDQzOSk7bW49dzUuWjYoMzQxKTtnbj13NS5aNigyMDMpO3luPXc1LmY2KDIxNyk7a249dzUuWjYoMzIxKTt3bj13NS5mNig0MzIpO3huPXc1LmY2KDIyKTtPbj02NDc9PSg0OTguMjUsMjAwKT8oMS42OWUrMyw0NjkpOnc1LmY2KDk2KTtDbj13NS5mNigzODMpO0VuPXc1LmY2KDM1OSk7UG49dzUuWjYoMzUwKTtUbj0vXk9wZXJhXC8uKj9QcmVzdG9cLy4qP1ZlcnNpb25cLyhbXGRcLl0rKS9pO0FuPXc1Llo2KDE5MSk7Rm49dzUuZjYoNDQ4KTtTbj13NS5mNigyNDQpO2puPXc1Llo2KDIzMSk7TG49dzUuZjYoMTIwKTt6bj13NS5mNig0NTApO0JuPXc1Llo2KDExOCk7SW49dzUuZjYoNik7TW49dzUuWjYoNzUpO1duPXc1LmY2KDEyMyk7RG49dzUuWjYoMzA0KTtVbj0vcmVzZXR8YnV0dG9ufHN1Ym1pdC9pO1JuPXc1LmY2KDQ4NCk7Tm49dzUuZjYoMTk2KTtIbj13NS5mNigyMjYpO3FuPXc1LmY2KDM1Myk7Sm49dzUuWjYoMTgpO1ZuPXc1LmY2KDE2OCk7JG49dzUuZjYoMzE0KTtRbj13NS5aNig0NzEpO0duPXc1LmY2KDQ1OSk7WW49dzUuZjYoMzE3KTtLbj13NS5mNigyNDkpO1puPS9WZXJzaW9uXC8oW1xkXC5dKylccysobW9iaWxlXC9bXlxzXStccyspP1NhZmFyaS9pO1huPXc1LmY2KDE0NSk7dHI9dzUuWjYoMjQwKTtlcj13NS5mNigxOSk7aXI9dzUuWjYoNDg5KTtucj13NS5aNigyNzYpO3JyPXc1LmY2KDQ4Mik7b3I9dzUuZjYoNDY2KTtzcj13NS5aNigyNzApO2FyPXc1Llo2KDE0Nyk7Y3I9dzUuZjYoMjQpO3VyPXc1LmY2KDgzKTtocj13NS5aNigyNzkpO2ZyPXc1Llo2KDQzKTtwcj13NS5mNig0MjApO19yPXc1LmY2KDQ2Mik7bHI9L2Nocm9tZXxjcmlvcy87ZHI9dzUuWjYoNDExKTt2cj0vIy4qJC87YnI9dzUuZjYoMTU5KTttcj13NS5aNigwKTtncj0vKGNvbXBhdGlibGV8d2Via2l0KS87eXI9L0Z4aU9TXC8oW1xkXC5dKykvaTtrcj13NS5mNig1OSk7d3I9dzUuWjYoMzgpO3hyPXc1LmY2KDE5OCk7T3I9dzUuZjYoMTApO0NyPXc1LmY2KDQ2NCk7RXI9dzUuWjYoMTE2KTtQcj13NS5mNigzNjkpO1RyPXc1LmY2KDEyMSk7QXI9L21zaWV8dHJpZGVudFwvLztGcj13NS5mNigyNTYpO1NyPXc1LmY2KDQ3MCk7anI9dzUuZjYoMjkzKTtMcj13NS5mNig4Nyk7enI9L2Nocm9tZXxvcGVyYXxlZGdlfGNyaW9zfG9waW9zfGZ4aW9zfHVjL2k7QnI9dzUuWjYoMjUyKTtJcj13NS5aNigxMDgpO01yPXc1LmY2KDkxKTtXcj13NS5mNigyKTtEcj13NS5mNigyNjgpO1VyPXc1Llo2KDI3OCk7UnI9dzUuWjYoMzI2KTtOcj13NS5mNig5KTtIcj13NS5mNigxMzIpO3FyPXc1Llo2KDMyNCk7SnI9LyhhbmRyb2lkfGJiXGQrfG1lZWdvKS4rbW9iaWxlfGF2YW50Z298YmFkYVwvfGJsYWNrYmVycnl8YmxhemVyfGNvbXBhbHxlbGFpbmV8ZmVubmVjfGhpcHRvcHxpZW1vYmlsZXxpcChob25lfG9kKXxpcGFkfGlyaXN8a2luZGxlfEFuZHJvaWR8U2lsa3xsZ2UgfG1hZW1vfG1pZHB8bW1wfG5ldGZyb250fG9wZXJhIG0ob2J8aW4paXxwYWxtKCBvcyk/fHBob25lfHAoaXhpfHJlKVwvfHBsdWNrZXJ8cG9ja2V0fHBzcHxzZXJpZXMoNHw2KTB8c3ltYmlhbnx0cmVvfHVwXC4oYnJvd3NlcnxsaW5rKXx2b2RhZm9uZXx3YXB8d2luZG93cyAoY2V8cGhvbmUpfHhkYXx4aWluby9pO1ZyPSgyNDk2LDg0OTUpIT05NzY/dzUuZjYoMjk3KTohITA7JHI9dzUuWjYoNDI2KTtRcj13NS5mNigyMjUpO0dyPXc1LmY2KDE4OCk7WXI9dzUuZjYoNDMxKTtLcj13NS5mNigyNTApO1pyPXc1Llo2KDI2MSk7WHI9dzUuZjYoMTc2KTt0bz13NS5mNigyNSk7ZW89dzUuWjYoMTk1KTtpbz13NS5mNigzMjgpO25vPXc1Llo2KDQwOSk7cm89dzUuZjYoMzQ5KTtvbz13NS5aNigzMjIpO3NvPXc1Llo2KDMxNik7YW89dzUuWjYoMzg1KTtjbz13NS5mNigxMTMpO3VvPXc1LmY2KDQ3NCk7aG89dzUuWjYoMjY3KTtmbz13NS5mNigyNjYpO3BvPXc1Llo2KDQwNyk7X289dzUuWjYoNjMpO2xvPXc1Llo2KDM2Nyk7dm89L3dlYmtpdC87Ym89dzUuWjYoNDUyKTttbz0vc2FmYXJpLztnbz13NS5aNig5Myk7eW89L29wZXJhfG9wcnxvcGlvc1wvLztrbz13NS5aNigzMzEpO3dvPXc1LmY2KDI2KTt4bz13NS5aNigxODIpO09vPXc1LmY2KDM4MCk7Q289dzUuWjYoMTEwKTtFbz13NS5mNigxMTIpO1BvPXc1LmY2KDMwNSk7VG89dzUuZjYoNzQpO0FvPXc1LmY2KDEwMik7Rm89dzUuZjYoNDc4KTtTbz0vYW5kcm9pZC87am89dzUuZjYoMzkxKTtMbz13NS5aNigzMDYpO3pvPXc1LmY2KDQwNSk7Qm89dzUuWjYoOTkpO0lvPXc1Llo2KDM5Nik7TW89dzUuWjYoNDQwKTtXbz13NS5mNig2Nyk7RG89dzUuWjYoNDAxKTtVbz13NS5aNigxNTQpO1JvPXc1LmY2KDI4OSk7Tm89dzUuWjYoMzkzKTtIbz13NS5mNig3OSk7cW89dzUuWjYoMTQwKTtKbz13NS5aNigzNzIpO1ZvPXc1Llo2KDQyMik7JG89dzUuZjYoNDQ5KTtRbz13NS5aNigzOTUpO0dvPXc1Llo2KDIwNik7WW89dzUuWjYoMjQzKTtLbz13NS5mNig2Mik7Wm89dzUuWjYoNDg1KTtYbz13NS5mNigxMzApO3RzPXc1Llo2KDE1Nik7ZXM9dzUuZjYoMjAxKTtpcz13NS5aNigzNjEpO25zPXc1LmY2KDMxNSk7cnM9dzUuWjYoMTIyKTtvcz13NS5mNig3MCk7c3M9dzUuZjYoMjU3KTthcz13NS5aNig0MjUpO2NzPXc1LmY2KDMzMCk7dXM9dzUuZjYoNzMpO2hzPXc1LmY2KDMwMyk7ZnM9dzUuWjYoMTAwKTtwcz13NS5mNigzNzQpO19zPXc1Llo2KDY2KTtscz0oODI2LjA2LDk5Ny4yKSE9PSgyNjIuNzksNzAwLjQpP3c1LmY2KDE3OSk6KG81LHc1Llo2KDM2KSk7ZHM9dzUuWjYoMjIzKTt2cz13NS5mNigxMTkpO2JzPXc1Llo2KDMwOCk7bXM9dzUuZjYoNDcpO2dzPXc1Llo2KDMxOSk7eXM9dzUuZjYoMTgxKTtrcz13NS5mNigzNDUpO3dzPXc1Llo2KDE1KTt4cz0vXigjfGphdmFzY3JpcHQpL2k7T3M9dzUuWjYoMzY2KTtDcz13NS5aNigxOTkpO0VzPXc1Llo2KDM4NCk7UHM9dzUuZjYoNDA2KTtUcz13NS5mNig0MjkpO0FzPXc1LmY2KDI0Nyk7RnM9dzUuZjYoNDQzKTtTcz13NS5mNigzMzgpO2pzPS8oPzpGaXJlZm94fENocm9tZSlcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0xzPXc1Llo2KDM3MCk7enM9dzUuZjYoMzEwKTtCcz13NS5aNigzODYpO0lzPXc1Llo2KDI5NCk7TXM9dzUuWjYoMjgzKTtXcz13NS5aNigzODcpO0RzPXc1LmY2KDM5KTtVcz13NS5aNigxMDYpO1JzPXc1LmY2KDIwMik7TnM9dzUuWjYoMzExKTtIcz13NS5mNig0MzgpO3FzPXc1LmY2KDcxKTtKcz13NS5mNigxMzcpO1ZzPXc1Llo2KDI3KTskcz13NS5aNig4NCk7UXM9L18vZztHcz13NS5aNigxNTgpO1lzPXc1Llo2KDE5Mik7S3M9dzUuZjYoNDIzKTtacz13NS5mNigzMzkpO1hzPXc1Llo2KDE1MCk7dGE9dzUuWjYoMTQyKTtlYT13NS5mNig0KTtpYT13NS5aNig0MTApO25hPXc1LmY2KDIzNik7cmE9dzUuZjYoNDAyKTtvYT13NS5mNigyMTQpO3NhPXc1Llo2KDQxNyk7YWE9dzUuZjYoMTg0KTtjYT13NS5aNigxOTcpO3VhPXc1LmY2KDIzMyk7aGE9dzUuZjYoMzApO2ZhPS9saW51eC87cGE9dzUuWjYoMjgyKTtfYT0vb3BlcmEvO2xhPXc1Llo2KDM2NCk7ZGE9dzUuWjYoMTczKTt2YT13NS5aNigzMDApO2JhPXc1LmY2KDIzNSk7bWE9L2VkZ2V8b3ByXC8vO2dhPXc1LmY2KDI4NSk7eWE9dzUuZjYoNDYpO2thPXc1Llo2KDEzKTt3YT13NS5aNigyMDUpO3hhPXc1LmY2KDIyNCk7T2E9dzUuZjYoMzQ0KTtDYT13NS5aNigyMTMpO0VhPS9FZGdlXC8oW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTtQYT13NS5mNigxMjYpO1RhPXc1Llo2KDExNCk7QWE9L14oPzouKlteXHddKSooW1x3XSspXHMqJC9pO0ZhPXc1LmY2KDM5Mik7U2E9dzUuWjYoNjkpO2phPXc1LmY2KDMpO0xhPXc1LmY2KDQ1KTt6YT13NS5mNigzMjMpO0JhPXc1LmY2KDEzOSk7SWE9dzUuWjYoMTI5KTtNYT13NS5mNig4KTtXYT13NS5mNig0Mik7RGE9dzUuZjYoMSk7VWE9dzUuWjYoODkpO1JhPXc1LmY2KDIwOSk7TmE9dzUuZjYoMjgpO0hhPXc1LmY2KDIxOSk7cWE9dzUuWjYoMjMwKTtKYT13NS5aNig4MSk7VmE9dzUuWjYoMzA5KTskYT13NS5mNigzNDcpO1FhPXc1LmY2KDM4MSk7R2E9dzUuWjYoOTIpO1lhPXc1LmY2KDEyNSk7S2E9dzUuWjYoMzIpO1phPXc1LmY2KDM5MCk7WGE9dzUuZjYoNDY4KTt0Yz13NS5mNigzNik7ZWM9dzUuZjYoMzk3KTtpYz13NS5aNig0ODApO25jPXc1LmY2KDIyMik7cmM9dzUuZjYoNDU3KTtvYz13NS5aNigzNTIpO3NjPXc1Llo2KDI5KTthYz0vaShQaG9uZXxQYWR8UG9kKS9pO2NjPXc1LmY2KDQzNCk7dWM9dzUuZjYoNDIxKTtoYz13NS5aNig0NzMpO2ZjPXc1LmY2KDE3MCk7cGM9dzUuZjYoMjYyKTtfYz13NS5aNigxNTEpO2xjPXc1LmY2KDQ5KTtkYz13NS5mNigyNTQpO3ZjPXc1LmY2KDQyOCk7YmM9dzUuZjYoMTUzKTttYz13NS5aNigyNjkpO2djPXc1Llo2KDU3KTt5Yz13NS5mNigzNTcpO2tjPS9UcmlkZW50XC8uKj9ydjooW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTt3Yz13NS5aNig0NTMpO3hjPXc1Llo2KDQ3Nik7T2M9dzUuZjYoNDU0KTtDYz13NS5mNig0NTgpO0VjPXc1LmY2KDgwKTtQYz0vOlxkKyQvO1RjPXc1Llo2KDI3Mik7QWM9dzUuWjYoMzI3KTtGYz13NS5mNig0NzkpO1NjPXc1Llo2KDYxKTtqYz13NS5mNigyOTEpO0xjPXc1Llo2KDIzMik7emM9dzUuWjYoMTEpO0JjPXc1LmY2KDM0Nik7SWM9dzUuWjYoMTA1KTtNYz13NS5aNig0NzcpO1djPXc1Llo2KDQwKTtEYz13NS5aNig3Nik7VWM9dzUuWjYoMTYpO1JjPXc1Llo2KDIyNyk7TmM9dzUuWjYoMjA0KTtIYz13NS5mNigzNyk7IWZ1bmN0aW9uKHQseSxSdCxYZSxyaSx5aSxBaSxObixkcixVcixpbyxybyxDbyxHcyx6YyxVYyxxYyxKYyxWYywkYyl7InVzZSBzdHJpY3QiO3ZhciBRYyxHYyxZYyxLYyxaYyxYYyx0dSxldSxpdSxudSxydSxvdSxzdSxhdSxjdSx1dSxodSxmdSxwdSxfdSxsdSxkdSx2dSxidSxtdSxndSx5dSxrdSx3dSx4dSxPdSxDdSxFdSxQdSxUdSxBdSxGdTtydT10O3c1Llk0KDApO291PXc1LmM0KHVpLEdyLGJyLF9yLFllLFNpLFR0LGRuLFllLHUsbWksT3QsR3IsWWUsdXIpO3c1Llk0KDEpO3N1PXc1LnU0KGZlLFR0LEh0LG90LFR0KTt3NS5vNCgxKTthdT13NS51NChXaSxQZSxLLF9jLFBlKTt3NS5ZNCgyKTtjdT13NS5jNChydSxnaSk7dzUubzQoMik7dXU9dzUudTQocnUsWm8pO3c1Lm80KDMpO2h1PXc1LmM0KE9jLHJ1LEJpLFV0LEdyLEdyKTt3NS5vNCgyKTtmdT13NS51NChydSwkYSk7cHU9YW87X3U9eGk7bHU9THI7ZHU9bW47dnU9eVtmXVtxbytHcitDXVtYcytHcit0cytHcituY10oKTtidT17dW5kZXI6bzUsbmV3VGFiOm81fTttdT1udWxsO2d1PW81O3l1PSF7fTtrdT1mdW5jdGlvbigpe307dzUuWTQoNCk7d3U9dzUudTQoR3IsT3QsRXQpO3h1PXJpW3ZzK0dyK0FvXXx8e3NyYzpudWxsfTt3NS5vNCg0KTtPdT15W2ZdW3c1LmM0KGVvLEdyLGtyKV07Q3U9eXU7RXU9eXU7UHU9eXU7VHU9ZnVuY3Rpb24oKXt2YXIgRTksbzksdzk7dHJ5e0U5PTM2MDIzMDM0MztvOT01MDA4ODEwMDM7dzk9Mjtmb3IodmFyIGI1PTE7dzUuTDEoYjUudG9TdHJpbmcoKSxiNS50b1N0cmluZygpLmxlbmd0aCw1ODI0MykhPT1FOTtiNSsrKXtyZXR1cm4geVtwXT09PXlbcXJdfHwheVtwXVttcl1bRWldWyhYcy1HciklaF0oKSE9VGM/eVtwXTp5W3FyXTt3OSs9Mjt9aWYodzUuTDEodzkudG9TdHJpbmcoKSx3OS50b1N0cmluZygpLmxlbmd0aCw1MTUyOSkhPT1vOSl7cmV0dXJuIHlbcF0hPT15W3FyXSYmdHlwZW9mIHlbcF1bbXJdW0VpXVtYcytHcitoXSgpPT09VGM/eVtwXTp5W3FyXTt9fWNhdGNoKHQpe3ZhciBBOSxJOSxLOTtBOT0yMjIyMDY4MDc7STk9NDU1MTUwMTA4O0s5PTI7Zm9yKHZhciBROT0xO3c1LkwxKFE5LnRvU3RyaW5nKCksUTkudG9TdHJpbmcoKS5sZW5ndGgsNjg5NDApIT09QTk7UTkrKyl7cmV0dXJuIFB1PWd1LHlbcXJdO0s5Kz0yO31pZih3NS5MMShLOS50b1N0cmluZygpLEs5LnRvU3RyaW5nKCkubGVuZ3RoLDU2NzU3KSE9PUk5KXtyZXR1cm4gUHU9Z3UseVtxcl07fX19KCk7QXU9VHVbSmFdW1FhXTtGdT1mdW5jdGlvbigpe3ZhciB0O3RyeXt0PVR1W0VpXVt1bl07fWNhdGNoKHQpe31yZXR1cm4hUHUmJnR8fChidT17bmV3VGFiOmd1LHVuZGVyOnl1fSx0PXJpW2lhXSksdDt9KCk7S2M9e3Q6W10sbjpmdW5jdGlvbih0KXt2YXIgSDcsdjcsVDc7SDc9MTg2NDAwNjYwNDt2Nz03MzE4NDIzNTE7VDc9Mjtmb3IodmFyIG83PTE7dzUuZDEobzcudG9TdHJpbmcoKSxvNy50b1N0cmluZygpLmxlbmd0aCw5MTY5NikhPT1INztvNysrKXt0eXBlb2YgeVt3c10hPT1nZSYmeVt3c11bT29dJiZObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO1Q3Kz0yO31pZih3NS5kMShUNy50b1N0cmluZygpLFQ3LnRvU3RyaW5nKCkubGVuZ3RoLDI0OTc5KSE9PXY3KXt+eVt3c109PT1nZXx8eVt3c11bT29dfHxObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO319LHI6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9MDt0PHRoaXMudFtwaV07dCsrKXt0aGlzLm4odGhpcy50W3RdKTt9fSxlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9W3RdW0tuXShBaVtYdF1bcW5dW0NpXShhcmd1bWVudHMsMSkpO3RoaXMudFtNcl0oZSk7R2MuaSgpJiZ0aGlzLm4oZSk7fX07ZXU9e3M6ZnVuY3Rpb24oKXtpZih0aGlzLm89PT1tdSl0cnl7eVthcytHcit0aV1bbGkrR3IrRXJdKHJ1LDEpO3lbYXMrR3IrdGldW3huK0dyK0VyXShydSk7dGhpcy5vPWd1O31jYXRjaCh0KXt2YXIgdzcscDcsYjk7dzc9LTE2MTA5ODQyMzA7cDc9OTg2NDU4NDQ2O2I5PTI7Zm9yKHZhciBtOT0xO3c1LmQxKG05LnRvU3RyaW5nKCksbTkudG9TdHJpbmcoKS5sZW5ndGgsODg3MTMpIT09dzc7bTkrKyl7dGhpcy5vPXl1O2I5Kz0yO31pZih3NS5MMShiOS50b1N0cmluZygpLGI5LnRvU3RyaW5nKCkubGVuZ3RoLDMzNDE0KSE9PXA3KXt0aGlzLm89eXU7fXRoaXMubz15dTt9cmV0dXJuIHRoaXMubzt9LHU6ZnVuY3Rpb24odCl7dGhpcy5zKCk/eVthcytHcit0aV1beG4rR3IrRXJdKHQpOnR1LnUodCk7fSxjOmZ1bmN0aW9uKHQpe3RyeXtyZXR1cm4gdGhpcy5zKCk/eVthcytHcit0aV1bYWErR3IrRXJdKHQpOnR1LmModCk7fWNhdGNoKHQpe3JldHVybiBtdTt9fSxvOm11LGE6ZnVuY3Rpb24odCxlKXt0aGlzLnMoKT95W2FzK0dyK3RpXVtsaStHcitFcl0odCxlKTp0dS5hKHQsZSk7fX07dHU9e3U6ZnVuY3Rpb24odCl7dGhpcy5hKHQsMCxuZXcgSmMoMCkpO30sYzpmdW5jdGlvbih0KXt2YXIgZTt3NS5ZNCg1KTtlPXJpW050XVtiY10obmV3IFVyKHc1LnU0KGVyLEdyLEdyLGV0LHNjLHQsR3IsR3IsdHQsdWMsR3IsR3IsSm8sR3IpLGxzKSk7cmV0dXJuIGU/VmMoZVswXVtDcl0oR3IrZXQrR3IpWzFdKTptdTt9LGE6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO3M9aXx8R3I7cyYmKHR5cGVvZiBzPT09V3Q/KG89bmV3IEpjKCkpW2xpK0dyK0hdKG9bYWErR3IrSF0oKSsxZTMqcyk6bz1zLHM9R3IrZXIrZmkrZXQrR3Irb1tYcytHcitWcitHcit4YytHcitXK0dyK2hdKCkpO3JpW050XT10KyhHcitldCtHcikrJGMoR3IrZSkrcysocj9HcitlcitkcytldCtHcityOkdyKSsoR3IrZXIrQXQrZXQrR3IpKyhufHxHcitQZStHcik7fX07WmM9e3A6ZnVuY3Rpb24odCl7dmFyIGUsaTtpPXt9O2ZvcihlPTA7ZTx0W3BpXTtlKyspe2lbdFtlXVswXV09dFtlXVsxXTt9cmV0dXJuIGk7fSxXOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbjt0cnl7cmV0dXJuIG49dFthYStHcitHaV0oZSksdHlwZW9mIGkhPT1UYz95dTohIW5ldyBVcihGbitpK01zLGxzKVtqY10obik7fWNhdGNoKHQpe3JldHVybiB5dTt9fSxBOmZ1bmN0aW9uKCl7dHJ5e3JldHVybiB0eXBlb2YgeS5qUXVlcnkuZm4ub249PT1aczt9Y2F0Y2godCl7cmV0dXJuIHl1O319LEc6ZnVuY3Rpb24odCl7cmV0dXJuKHQ/bmV3IEpjKHQpOm5ldyBKYygpKVthYStHcitIXSgpO30sTTpmdW5jdGlvbih0KXt2YXIgbTAsQTAsSTAsZSxsNyxjNyxWNzttMD0tMTc4MjYxMjU4MTtBMD0tMTYzMzI0MDE2NDtJMD0yO2Zvcih2YXIgcjA9MTt3NS5MMShyMC50b1N0cmluZygpLHIwLnRvU3RyaW5nKCkubGVuZ3RoLDM0ODU4KSE9PW0wO3IwKyspe0kwKz0yO31pZih3NS5MMShJMC50b1N0cmluZygpLEkwLnRvU3RyaW5nKCkubGVuZ3RoLDg0OTA2KSE9PUEwKXt9dHJ5e2w3PS0xMjU4NTI0ODY5O2M3PTc3MTI1MDQ2ODtWNz0yO2Zvcih2YXIgeTc9MTt3NS5kMSh5Ny50b1N0cmluZygpLHk3LnRvU3RyaW5nKCkubGVuZ3RoLDEwMjkyKSE9PWw3O3k3KyspeyhlPXRbSmFdW1FhXShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7VjcrPTI7fWlmKHc1LmQxKFY3LnRvU3RyaW5nKCksVjcudG9TdHJpbmcoKS5sZW5ndGgsMjYwMTcpIT09YzcpeyhlPXRbSmFdW1FhXSgoVWEtVnQpL2NpKSlbYm9dKCk7ZVtJb10oKTt9fWNhdGNoKHQpe30oZT1BdShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7fSxUOmZ1bmN0aW9uKHQpe3QmJihUdVtFaV09dCk7fSxxOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxpPVt5cixUbixFYSxCZSxqcyxabixqdCxrYyx3ZV0sbj0wO248aVtwaV07bisrKWlmKGU9aVtuXVtqY10odnUpKXtyZXR1cm4gdD9VYyhlWzFdLDEwKTplWzFdW1pdKFFzLEdyK1R0K0dyKTt9cmV0dXJuIG11O30sTDpmdW5jdGlvbih0LGUpe3c1Llk0KDcpO3JldHVybiB3NS51NChZZSxlcixHcix0LGllLHlzLEdyLGUsR3IsVmUsVnQsR3IpO30sXzpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUTAsZTAsajA7UTA9LTE2NDA5MDY2NDA7ZTA9MzYxNTQ4MTI4O2owPTI7Zm9yKHZhciB0MD0xO3c1LmQxKHQwLnRvU3RyaW5nKCksdDAudG9TdHJpbmcoKS5sZW5ndGgsMzk3NjcpIT09UTA7dDArKyl7aT15O3c1Llk0KDQpO249dFtDcl0odzUudTQoR3IsVHQsR3IpKTtmb3IoZT0wO2U8bltwaV07ZSsrKXtpPWlbbltlXV07fXJldHVybiBpO2owKz0yO31pZih3NS5MMShqMC50b1N0cmluZygpLGowLnRvU3RyaW5nKCkubGVuZ3RoLDQ3NjE4KSE9PWUwKXtpPXk7dzUuWTQoNik7bj10W0NyXSh3NS51NChUdCxHcixHcikpO2ZvcihlPTQ7ZTw9bltwaV07ZS0tKXtpPWlbbltlXV07fXJldHVybiBpO319LFM6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbyxzMCxEMCxXMCxVMCx4MCx6MDtvPXkualF1ZXJ5fHxudWxsO2lmKHQmJnRbQW5dKXtyZXR1cm4gZ3U7fWlmKCFvKXtyZXR1cm4geXU7fXRyeXtzMD0tMTYxNTA0NTA7RDA9LTE5OTUwMzAzNTQ7VzA9Mjtmb3IodmFyIGMwPTE7dzUuZDEoYzAudG9TdHJpbmcoKSxjMC50b1N0cmluZygpLmxlbmd0aCw5Nzc5KSE9PXMwO2MwKyspe2lmKChlPShvKHQpW2llXShHYSkmJm8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9VzArPTI7fWlmKHc1LkwxKFcwLnRvU3RyaW5nKCksVzAudG9TdHJpbmcoKS5sZW5ndGgsMjI1MTYpIT09RDApe2lmKChlPShvKHQpW2llXShHYSl8fG8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9fX1jYXRjaCh0KXt9dHJ5e1UwPS0xMjgxMDM4MTgyO3gwPS01MjI2MTY2MzI7ejA9Mjtmb3IodmFyIGkwPTE7dzUuTDEoaTAudG9TdHJpbmcoKSxpMC50b1N0cmluZygpLmxlbmd0aCwzMjg1OSkhPT1VMDtpMCsrKXtmb3IoZT1vKHJpW1FyXSlbaWVdKEdhKVtnc10saT00O2k+ZVtwaV07aS0tKWZvcihyPW8oZVtpXVtvZV0pLG49NztuPj1yW3BpXTtuLS0paWYocltuXT09dCl7cmV0dXJuIGd1O316MCs9Mjt9aWYodzUuTDEoejAudG9TdHJpbmcoKSx6MC50b1N0cmluZygpLmxlbmd0aCw4ODE3MikhPT14MCl7Zm9yKGU9byhyaVtRcl0pW2llXShHYSlbZ3NdLGk9NDtpPmVbcGldO2ktLSlmb3Iocj1vKGVbaV1bb2VdKSxuPTc7bj49cltwaV07bi0tKWlmKHJbbl09PXQpe3JldHVybiBndTt9fWZvcihlPW8ocmlbUXJdKVtpZV0oR2EpW2dzXSxpPTA7aTxlW3BpXTtpKyspZm9yKHI9byhlW2ldW29lXSksbj0wO248cltwaV07bisrKWlmKHJbbl09PT10KXtyZXR1cm4gZ3U7fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sQzpmdW5jdGlvbih0LGUsaSl7dmFyIG4scixvO289WmMuTyhvNSk7cmV0dXJuIG49b1t0bytHcit5YV1bbXJdW1VzK0dyK0NuXShkZSksbltPXT1yYStQZStDdCxuW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoSmErVHQrX3QrWWUrR3IrZXQrR3IrWWUrSmErVHQrcCtZZStHcitldCtHcitZZStKYStUdCt1cytHcitDbitZZStHcitldCtHcitZZStkK2VyK0dyKSsoSmErVHQrJG4rWWUrR3IrZXQrR3IrWWUrWnMrUit6K1ZlK0dyK1llK3NvK1ZlK0dyK1llK0NlK1ArR3IrWWUrR3Ird24rR3IpKyh1YStZZStCcytHcitYbytZZStHcitldCtHcitZZStKYStUdCtRYStSK3orVmUrR3IrWWUrc28rVmUrR3IrWWUrQ2UrUCtHcitlcitHcikrKFdyK1llK0dyK3duK0JzK0dyK1hvK1R0K1dvK1llK0dyK2V0K0dyK1llK2QrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSsoTnIrWWUrQnMrR3IrWG8rZXIrR3IpKyhHcitEcitHcitlcitHciksb1t0bytHcit5YV1bbXJdW1FyXVtJdCtHcitXZV0obikscj1vW3RvK0dyK3lhXS5ta3AodCxlLGkpLFpjLlAobykscjt9LEI6ZnVuY3Rpb24odCxlLG4pe3ZhciByLG8scztyPTA7bz1ufHwxMDtzPXQ7dHJ5e2Zvcig7cyYmcisrPG87KXtpZih0eXBlb2YgZT09PVRjJiYoc1tTYytHcittY109PT1lfHxaYy5JKHMsZSkpfHx0eXBlb2YgZT09PWFyJiZzPT09ZSl7cmV0dXJuIHM7fXc1Llk0KDQpO3M9c1t3NS51NChfdCxHcixpKV07fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sRjpmdW5jdGlvbih0KXt2YXIgZTtlPVJ0W1RlXTtyZXR1cm4gdHlwZW9mIHQhPT1nZSYmKGU9KGN0W2pjXSh0KXx8W0dyLEdyXSlbMV0pLGVbWl0oUGMsR3IpO30seDpmdW5jdGlvbih0KXtyZXR1cm4geWlbWHRdW1hzK0dyK2hdW0NpXSh0KT09PUdyK0pvK2FyK1llK2JuK3R0K0dyO30sazpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUjAsUDAsSjA7aT1bXTtuPVpjLnYoKTt0cnl7UjA9LTE2Mjc2MTY5Mzc7UDA9LTIwMDI5NzgxNzY7SjA9Mjtmb3IodmFyIEIwPTE7dzUuTDEoQjAudG9TdHJpbmcoKSxCMC50b1N0cmluZygpLmxlbmd0aCw3NjkxMCkhPT1SMDtCMCsrKXtmb3IoZSBpbiBuKXt+dFtlXSE9Z2V8fGlbTXJdKGUvKChHci1ldCklR3IpLXRbZV0pO31KMCs9Mjt9aWYodzUuTDEoSjAudG9TdHJpbmcoKSxKMC50b1N0cmluZygpLmxlbmd0aCw4NjExMCkhPT1QMCl7Zm9yKGUgaW4gbil7fnRbZV0hPWdlfHxpW01yXShlLygoR3ItZXQpJUdyKS10W2VdKTt9fWZvcihlIGluIG4pe3R5cGVvZiB0W2VdIT09Z2UmJmlbTXJdKGUrKEdyK2V0K0dyKSt0W2VdKTt9fWNhdGNoKHQpe0tjLmUodCk7fXc1Llk0KDQpO3JldHVybiBpW05pXSh3NS5jNChHcixWZSxHcikpO30sUjpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5CKHQsT24pO30seTpmdW5jdGlvbigpe2Zvcih2YXIgdCxlPXt9LGk9MDtpPGFyZ3VtZW50c1twaV07aSsrKWZvcih0IGluIGFyZ3VtZW50c1tpXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0oYXJndW1lbnRzW2ldLHQpJiYoZVt0XT1hcmd1bWVudHNbaV1bdF0pO31yZXR1cm4gZTt9LFY6ZnVuY3Rpb24odCxlKXt2YXIgSjEsWDEsQjE7SjE9NDUyODczNzI5O1gxPTEyNzMxMDM4NTg7QjE9Mjtmb3IodmFyIE4xPTE7dzUuZDEoTjEudG9TdHJpbmcoKSxOMS50b1N0cmluZygpLmxlbmd0aCw1NTI1MSkhPT1KMTtOMSsrKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpKihlLXQpKSt0O0IxKz0yO31pZih3NS5kMShCMS50b1N0cmluZygpLEIxLnRvU3RyaW5nKCkubGVuZ3RoLDI4MzUxKSE9PVgxKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpJShlL3QpKSV0O319LFE6ZnVuY3Rpb24odCl7dmFyIGUsaSxuO3c1Llk0KDgpO2U9dzUuYzQodHlwZW9mIHQsYXIpO2k9dDt3NS5vNCg0KTtuPXJpW1VzK0dyK0NhXSh3NS51NChTbixHcix1bykpO25bTHMrR3IrU24rR3IrQ2FdKGdzLGd1LGd1LHksMCwwLDAsMCwwLGd1LHl1LHl1LGd1LDAsbXUpO2V8fChpPVpjLnooVSx7aHJlZjp0fHxpZStWdCtyYStQZStqbytWZStHcit1aStkZSt1citKYStUdCtJbytSK0dyK1ArR3IrZXIrR3IrdWkrR3IrUGUrZGUrdXIrR3J9KSxyaVtRcl1bSXQrR3IrV2VdKGkpKTtpW2duK0dyK0NhXShuKTtlfHxaYy5QKGkpO30sejpmdW5jdGlvbih0LGUsaSl7dmFyIG4scjtyPXJpW1VzK0dyK0NuXSh0KTtmb3IobiBpbiBlKXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShlLG4pJiZyW2xpK0dyK0dpXShuLGVbbl0pO31yZXR1cm4gaSYmKHJbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPWkpLHI7fSxZOmZ1bmN0aW9uKCl7dHJ5e3c1Lm80KDQpO3JldHVybiEhT3VbdzUuYzQoZW4sUGUsTWMpXVt3NS51NCgkaSxHcixXcyldO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sbDpmdW5jdGlvbih0KXt2YXIgZSxpLFk3LGY3LHM3O2U9WmMuXyh0KTt3NS5ZNCg0KTtpPXRbWl0oQWEsdzUudTQoR3Isem8scSkpO3RyeXtZNz0tMTYzMTA2MDI3MDtmNz0xOTgxNTM2MDYxO3M3PTI7Zm9yKHZhciBXNz0xO3c1LkwxKFc3LnRvU3RyaW5nKCksVzcudG9TdHJpbmcoKS5sZW5ndGgsMTYwMikhPT1ZNztXNysrKXtyZXR1cm4rbmV3IFVyKChacy9ZZS1HcikvIGkveHIsUnMpW2lyXShlW1hzJUdyL2hdKCkpO3M3Kz0yO31pZih3NS5MMShzNy50b1N0cmluZygpLHM3LnRvU3RyaW5nKCkubGVuZ3RoLDExNjM3KSE9PWY3KXtyZXR1cm4hbmV3IFVyKFpzK1llK0dyK2kreHIsUnMpW2lyXShlW1hzK0dyK2hdKCkpO319Y2F0Y2godCl7cmV0dXJuIHRbWHMrR3IraF0oKVtMK0dyK1dhXShrbytZZStycytZZStVK1llK1pzKT4tMT9ndTpYYy5kP2d1Onl1O319LHY6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbzt3NS5vNCg0KTtlPXlbdzUuYzQoUGEsR3IsZyldO3c1Llk0KDQpO2k9eVt3NS5jNChQYSxHcix3YyldO249eVtPaStHcitVZV18fHlbT2krR3IrV25dfHwwO3I9eVtPaStHcit4b118fHlbT2krR3IrQ2NdfHwwO289e307cmV0dXJuIG9bb2NdPWUsb1tLYV09aSxvW0hpXT1uLG9bcF09cixvW29yXT0wLG9bRWldPTEsb1tTcl09MSxvW09yXT0xLG8ucmVzaXphYmxlPTEsb1tNZV09MSxYYy5iJiYob1tLYV0rPVhjLm0/NDY6NTIpLFhjLmcmJihvW29jXS09NSxvW0thXS09NCksdHlwZW9mIHQ9PT1hciYmKG89WmMueShvLHQpKSxvO30sTzpmdW5jdGlvbih0KXt2YXIgZTtlPXJpW1VzK0dyK0NuXShjbik7cmV0dXJuIGVbeGVdW3h0XT1YaSx0JiZyaVtRcl1bSXQrR3IrV2VdKGUpLGU7fSxEOmZ1bmN0aW9uKHQpe3JldHVybiB0W1NjK0dyK21jXT09PUZjK0dyK1ZyK0dyK3hjK0dyK3hjK0dyK2ZjK0dyK2d0fHx0W1NjK0dyK21jXT09PXZhK0dyK2d0K0dyK210K0dyK1ZyK0dyK3hjJiZVbltpcl0odFthYStHcitHaV0oTykpfHx0aGlzLkIodCxGYytHcitWcitHcit4YytHcit4YytHcitmYytHcitndCkhPT15dTt9LFA6ZnVuY3Rpb24odCl7dCYmdFtfdCtHcitpXSYmdFtfdCtHcitpXVt4bitHcitXZV0odCk7fSxJOmZ1bmN0aW9uKHQsZSl7dmFyIG4scixvO2lmKHR5cGVvZiBlIT09VGMpe3JldHVybiB5dTt9aWYodHlwZW9mIHJpW2VlK0dyK3Z0K0dyK21dPT09WnMpdHJ5e3I9dFtfdCtHcitpXVtlZStHcit2dCtHcittXShlKXx8eS5qUXVlcnkoZSk7fWNhdGNoKHQpe31lbHNlIGlmKFpjLkEoKSl0cnl7cj15LmpRdWVyeShlKTt9Y2F0Y2godCl7fWlmKHIpZm9yKG89MDtvPHJbcGldO28rKylpZihyW29dPT09dCl7cmV0dXJuIGd1O31zd2l0Y2goZVswXSl7Y2FzZSBHcitUdCtHcjpuPVtsbyxlW2ZzXSgxKV07YnJlYWs7Y2FzZSBHcitzZStHcjpuPVtWYSxlW2ZzXSgxKV07fXJldHVybiBuP3RoaXMuVyh0LG5bMF0sblsxXSk6eXU7fSxmOmZ1bmN0aW9uKHQsZSl7dHJ5e3JldHVybiEoIXRba2ldW2VdfHwhdFtraV1bZV1bWW5dKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LE46ZnVuY3Rpb24odCl7dmFyIGU7ZT10aGlzLlIodCk7cmV0dXJuIGUmJmVbdW5dJiYheHNbaXJdKGVbdW5dKT9lW3VuXTp5dTt9LEo6ZnVuY3Rpb24odCxlLGksbil7Zm9yKHZhciByLG8scyxhPXRbWHMrR3IraF0oKVtDcl0obnx8R3IrVHQrR3IpLGM9ZVtYcytHcitoXSgpW0NyXShufHxHcitUdCtHciksdT0wLGY9ZHJbQm9dKGFbcGldLGNbcGldKTt1PGYmJihyPVVjKGFbdV18fDAsMTApLG89VWMoY1t1XXx8MCwxMCkscWMocikmJihyPTApLHFjKG8pJiYobz0wKSxzPXI+bz8xOi0xLHI9PT1vKTt1Kyspe3M9MDt9c3dpdGNoKGkpe2Nhc2UgR3IrdXIrR3I6dzUubzQoOCk7cmV0dXJuIHc1LnU0KDEscyk7Y2FzZSBHcit1citHcitldCtHcjp3NS5ZNCg5KTtyZXR1cm4gdzUuYzQocywxKTtjYXNlIEdyK3VpK0dyOnc1Lm80KDEwKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK3VpK0dyK2V0K0dyOnc1Llk0KDExKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK2V0K0dyK2V0K0dyOmNhc2UgR3IrZXQrR3IrZXQrR3IrZXQrR3I6ZGVmYXVsdDp3NS5ZNCg4KTtyZXR1cm4gdzUudTQoMCxzKTt9fSwkOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1wZVtDcl0oR3IpLGk9ZVtwaV0sbj0wLHI9R3I7bjx0O24rKyl7cis9ZVtkcltBY10oZHJbTW5dKCkqaSldO31yZXR1cm4gcjt9LGg6ZnVuY3Rpb24odCxlKXt0cnl7cmV0dXJuIHRbYWErR3IrR2ldKGUpO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sSDpmdW5jdGlvbih0LGUsaSl7dmFyIG47dzUubzQoMik7bj13NS5jNChoaSx0KTtyZXR1cm4gdHlwZW9mIHlbbl0hPT1nZSYmcm8oeVtuXSkseVtuXT1pbyhlLGkpO30sdzpmdW5jdGlvbigpe3JldHVybiBQdTt9LFU6ZnVuY3Rpb24odCl7cmV0dXJuIHRbU2MrR3IrbWNdPT09dmErR3IrZ3QrR3IrbXQrR3IrVnIrR3IreGMmJm5lW2lyXSh0W2FhK0dyK0dpXShPKSl8fHRbU2MrR3IrbWNdPT09cGErR3IrT24rR3IrRmMrR3IrUHMrR3IrcGE7fX07aXU9e3R0OmZ1bmN0aW9uKHQsZSl7dmFyIGkscTUsbTUsQTU7dHJ5e3E1PS0xNDE1MjczNDIzO201PS0zMzc1MDc5MjY7QTU9Mjtmb3IodmFyIEs1PTE7dzUuZDEoSzUudG9TdHJpbmcoKSxLNS50b1N0cmluZygpLmxlbmd0aCwzNzU1NSkhPT1xNTtLNSsrKXtyZXR1cm4gZXx8KGk9cmlbKHdyLUdyKSVqbipHcipMY10odFtIYyVHci9VZV0sdFtIYy9Hci14b10pKT9pOnRbVGldJiZ0W1hzLUdyLUNuXSYmdFsoWHItR3IpJUNuXTtBNSs9Mjt9aWYodzUuTDEoQTUudG9TdHJpbmcoKSxBNS50b1N0cmluZygpLmxlbmd0aCw3MjUzNikhPT1tNSl7cmV0dXJuIGUmJihpPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXSx0W0hjK0dyK3hvXSkpP2k6dFtUaV18fHRbWHMrR3IrQ25dfHx0W1hyK0dyK0NuXTt9fWNhdGNoKHQpe3JldHVybiB5dTt9fSxYOmZ1bmN0aW9uKHQsZSxpLG4pe3JldHVybiB0eXBlb2YgdFtIbitHcitDYStHcitFbl09PT1acz90W0huK0dyK0NhK0dyK0VuXShlLGksbnx8e30pOnRbRmUrR3IrQ2FdKE5vK2UsaSk7fSxLOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByO3I9ZnVuY3Rpb24oKXtpdS5aKHQsZSxyLG4pO2lbQ2ldKCk7fTtpdS5YKHQsZSxyLG4pO30sWjpmdW5jdGlvbih0LGUsaSxuKXtyZXR1cm4gdHlwZW9mIHRbeG4rR3IrQ2ErR3IrRW5dPT09WnM/dFt4bitHcitDYStHcitFbl0oZSxpLG58fHt9KTp0W0tpK0dyK0NhXShObytlLGkpO319OyEoWGM9e2l0OmZhW2lyXSh2dSksbnQ6c3RbaXJdKHZ1KSxtOmxlW2lyXSh2dSksZXQ6YWNbaXJdKHZ1KSxydDpTb1tpcl0odnUpLG90OnNpW2lyXSh2dSl8fEpyW2lyXSh2dSl8fHVlW2lyXSh2dVtmc10oMCw0KSksc3Q6dm9baXJdKHZ1KSxnOkFyW2lyXSh2dSkmJiFfYVtpcl0odnUpLGI6bHJbaXJdKHZ1KSYmIW1hW2lyXSh2dSksYXQ6bWVbaXJdKHZ1KSYmIWdyW2lyXSh2dSksY3Q6eFtpcl0odnUpLGQ6Rltpcl0odnUpLHV0OnlvW2lyXSh2dSksX3Q6bXUscHQ6WmMucShndSl8fG11LGx0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3QhPT1tdT90aGlzLl90OnRoaXMuX3Q9UWMuZHQoKSE9PXl1O30sSjpmdW5jdGlvbih0LGUpe3JldHVybiBaYy5KKFhjLmZ0LGUsdCk7fSxodDptb1tpcl0odnUpJiYhenJbaXJdKHZ1KSxmdDpaYy5xKHl1KXx8bXV9KS5ldHx8WGMuaHR8fFhjLmR8fFhjLmJ8fChYYy51dD1vNSk7KFljPWZ1bmN0aW9uKHQsZSxpKXt2YXIgbjtuPWl8fHt9O25bel09ZTt0aGlzLnZ0KG4pO3RoaXMubXQuYnR8fCh0aGlzLm10LmJ0PXJ1K3QpO3RoaXMuZ3QoKTt9KVtYdF09e2t0OntUdDpndSxDdDptdSxqdDp5dSxFdDpHcitQZStHcixGdDprdSxMdDpndSxBdDp5dSxPdDpndSx4dDptdSxQdDpudWxsLGJ0Om11LHd0Om11LFN0Omt1fSxtdDp7fSx5dDpudWxsLHp0OlpjLnYoKSxCdDpaYy5wKFtbT3IsMF1dKSxJdDpaYy5wKFtbTWUsMV1dKSxNdDpaYy5wKFtbU3IsMV1dKSxXdDpaYy5wKFtbRWksMF0sW1NyLDBdXSksRHQ6WmMucChbW01lLDBdXSksVXQ6WmMucChbW1p0LDBdXSksUnQ6WmMucChbW0VpLDBdXSksc2V0T3B0aW9uczpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy52dCh0KTt9LGd0OmZ1bmN0aW9uKCl7dmFyIHQsZSxpLG47dD1mdW5jdGlvbih0LGUpe3ZhciBpLG47bj17fTtuW3B1XT1beXUsZ3VdO25bX3VdPVt5dSx5dV07bltsdV09W2d1LGd1XTtuW2R1XT1bZ3UseXVdO2ZvcihpIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixpKSYmbltpXVswXT09PXQmJm5baV1bMV09PT1lKXtyZXR1cm4gaTt9cmV0dXJuIF91O307ZT1YYy5sdCgpO2k9dChHYy5tdC4kdC5uZXdUYWIsR2MubXQuJHQudW5kZXIpO249dCh0aGlzLm10LkF0LHRoaXMubXQuVHQpO2V8fG49PT1wdSYmKG49aSk9PT1wdSYmKG49bHUpO1hjLm90JiYobj09PV91JiYobj1kdSksbj09PXB1JiYobj1sdSkpO3RoaXMueXQ9bjt9LEh0OmZ1bmN0aW9uKCl7dmFyIGswLG4wLEYwO2lmKHR5cGVvZiB0aGlzLm10Lnh0PT09WnMpdHJ5e3JldHVybiB0aGlzLm10Lnh0W0NpXSh0aGlzLHRoaXMubXQpW1hzK0dyK2hdKCk7fWNhdGNoKHQpe3JldHVybiBLYy5lKHQpLHl1O31rMD0tMTAwMjA0NzAxMztuMD0tMTY1MTM4NjMwNztGMD0yO2Zvcih2YXIgTTA9MTt3NS5MMShNMC50b1N0cmluZygpLE0wLnRvU3RyaW5nKCkubGVuZ3RoLDY4NDExKSE9PWswO00wKyspe3JldHVybiB0aGlzLm10Lnh0O0YwKz0yO31pZih3NS5kMShGMC50b1N0cmluZygpLEYwLnRvU3RyaW5nKCkubGVuZ3RoLDkwOTM5KSE9PW4wKXtyZXR1cm4gdGhpcy5tdC54dDt9fSxMdDpmdW5jdGlvbigpe3ZhciB0LGUsRzcsQzcsazcsVjAsdTAseTA7dD10aGlzLm10O2U9dC5PdCE9PU5zJiZ0Lk90IT09TmV8fHQuT3Q9PT1OcyYmWGMub3R8fHQuT3Q9PT1OZSYmIVhjLm90O3RyeXtHNz0tMTkzODMwODU3MjtDNz0tMTE3NzY0NDk2NDtrNz0yO2Zvcih2YXIgRjc9MTt3NS5kMShGNy50b1N0cmluZygpLEY3LnRvU3RyaW5nKCkubGVuZ3RoLDg5NDI0KSE9PUc3O0Y3Kyspe3R5cGVvZiB0Lkx0PT09WnM/ZT1lJiZ0Lkx0W0NpXSh0aGlzLGUsdGhpcy5OdCgpKSE9PXl1OnR5cGVvZiB0Lkx0PT09YW4mJihlPWUmJnQuTHQpO2s3Kz0yO31pZih3NS5MMShrNy50b1N0cmluZygpLGs3LnRvU3RyaW5nKCkubGVuZ3RoLDUzNDE4KSE9PUM3KXstdC5MdCE9PVpzP2U9ZXx8dC5MdFtDaV0odGhpcyxlLHRoaXMuTnQoKSk9PT15dTohdC5MdD09YW58fChlPWV8fHQuTHQpO319Y2F0Y2godCl7S2MuZSh0KTt9VjA9Njg3MDAyMDA4O3UwPS0yOTc1OTkyODc7eTA9Mjtmb3IodmFyIHYwPTE7dzUuTDEodjAudG9TdHJpbmcoKSx2MC50b1N0cmluZygpLmxlbmd0aCw2NDU0MSkhPT1WMDt2MCsrKXtyZXR1cm4gR2MuSnQoKT9lfHwtdGhpcy5WdDplfHwrdHUuYyh0LmJ0KTt5MCs9Mjt9aWYodzUuTDEoeTAudG9TdHJpbmcoKSx5MC50b1N0cmluZygpLmxlbmd0aCwyOTMyNSkhPT11MCl7cmV0dXJuIEdjLkp0KCk/ZXx8LXRoaXMuVnQ6ZXx8K3R1LmModC5idCk7fXJldHVybiBHYy5KdCgpP2UmJiF0aGlzLlZ0OmUmJiF0dS5jKHQuYnQpO30sdnQ6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHI7dGhpcy5tdD1aYy55KHRoaXMuenQsdGhpcy5rdCx0aGlzLm10LHR8fHt9KTtmb3IoaSBpbiB0aGlzLm10KWlmKHlpW1h0XVtCYStHcitsdCtHcitvb11bQ2ldKHRoaXMubXQsaSkpc3dpdGNoKG49dGhpcy5tdFtpXSxpKXtjYXNlIHNvOnRoaXMubXQud3Q9bjticmVhaztjYXNlIHo6dGhpcy5tdC54dD1uO2JyZWFrO2Nhc2UgTGU6dGhpcy5tdC5PdD0obitHcilbWHMrR3IrdHMrR3IrbmNdKCk7YnJlYWs7Y2FzZSBOdCtHcittYzp0aGlzLm10LmJ0PW47YnJlYWs7Y2FzZSBOdCtHcitUOnRoaXMubXQuQ3Q9bjticmVhaztjYXNlIE50K0dyK2VhOnRoaXMubXQuRXQ9bjticmVhaztjYXNlIE50K0dyKyRzOnRoaXMubXQuUHQ9bjticmVhaztjYXNlIEVlOnRoaXMubXQuVHQ9bjticmVhaztjYXNlIEErR3IrTG86dGhpcy5tdC5BdD1uO2JyZWFrO2Nhc2UgcHQrR3IramU6dGhpcy5tdC5GdD1uO2JyZWFrO2Nhc2UgamErR3IramU6dGhpcy5tdC5TdD1uO2JyZWFrO2Nhc2UgSWMrR3IrY3I6dGhpcy5tdC5qdD1uO2JyZWFrO2Nhc2UgdGUrR3Irc3M6dGhpcy5tdC5MdD1uO31pZighWGMub3QmJiF0aGlzLm10LkF0KWZvcihyPVtbWGMuZyYmMTE9PT1YYy5wdCx0aGlzLlV0XSxbWGMuYiYmWGMucHQ8NDEsdGhpcy5JdF0sW1hjLmIsdGhpcy5CdF0sW1hjLmQmJlhjLnB0PDQ3LHRoaXMuTXRdLFtYYy51dCx0aGlzLkR0XSxbWGMuY3QsdGhpcy5SdF0sW1hjLmImJlhjLnB0Pj01OSx0aGlzLld0XSxbWGMudXQmJlhjLnB0Pj00Nix0aGlzLld0XV0sZT0wO2U8cltwaV07ZSsrKWlmKHJbZV1bMF0pZm9yKGkgaW4gcltlXVsxXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0ocltlXVsxXSxpKSYmKHRoaXMubXRbaV09cltlXVsxXVtpXSk7fX0sZ2V0T3B0aW9uczpmdW5jdGlvbigpe3JldHVybiB0aGlzLk50KCk7fSxOdDpmdW5jdGlvbigpe3ZhciB0LGU7ZT17fTtmb3IodCBpbiB0aGlzLm10KXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXSh0aGlzLm10LHQpJiZ0W3BpXT49MyYmKGVbdF09dGhpcy5tdFt0XSk7fXJldHVybiBlO30scXQ6ZnVuY3Rpb24oKXtHYy5KdCgpP3RoaXMuVnQ9Z3U6dHUuYSh0aGlzLm10LmJ0LDEsdGhpcy5tdC5DdCx0aGlzLm10LkV0LHRoaXMubXQuUHQpO319OyhudT1mdW5jdGlvbih0KXt2YXIgZTtlPXRoaXM7dGhpcy5RdD10O3RoaXMuR3Q9dGhpcy5ZdCgpO3RoaXMuS3Q9dGhpcy5adCgpO2l1LlgodGhpcy5HdCxncyxmdW5jdGlvbigpe0dzKGUuS3QpO1pjLlAoZS5HdCk7fSk7fSlbWHRdPXtZdDpmdW5jdGlvbigpe3ZhciB0LEs3LHI3LFE3O0s3PS0xODIwMzgxMDU7cjc9MTk5MDM1MjYxMTtRNz0yO2Zvcih2YXIgajc9MTt3NS5kMShqNy50b1N0cmluZygpLGo3LnRvU3RyaW5nKCkubGVuZ3RoLDg2ODQwKSE9PUs3O2o3Kyspe3Q9WmMueihoYyx7Y2xhc3M6ZnV9LEdyKTtyZXR1cm4gdGhpcy5RdFtTYytHcittY11bWHMrR3IrdHMrR3IrbmNdKCk9PT1Rcj9yaVtRcl1bSXQrR3IrV2VdKHQpOnRoaXMuUXRbX3QrR3IraV1bTmMrR3IrT3NdKHQsdGhpcy5RdFtWcytHcitrc10pLHQ7UTcrPTI7fWlmKHc1LkwxKFE3LnRvU3RyaW5nKCksUTcudG9TdHJpbmcoKS5sZW5ndGgsMzM0MykhPT1yNyl7dD1aYy56KGhjLHtjbGFzczpmdX0sR3IpO3JldHVybiB0aGlzLlF0W1NjKkdyL21jXVtYcypHci10cy1Hci1uY10oKT09UXI/cmlbUXJdW0l0L0dyL1dlXSh0KTp0aGlzLlF0W190L0dyJWldWyhOYy1HcikqT3NdKHQsdGhpcy5RdFsoVnMtR3IpJWtzXSksdDt9fSxadDpmdW5jdGlvbigpe3ZhciB0O3Q9dGhpcztyZXR1cm4gQ28oZnVuY3Rpb24oKXt2YXIgZSxpO2k9VWModC5RdFt4ZV1bc24rR3IrenNdLDEwKTt0LlF0W1NjK0dyK21jXVtYcytHcit0cytHcituY10oKT09PVFyJiYoaT05ZTkpOyhlPV9uK1Z0K2dvK2VyK0RhK1Z0K04rZXIrbG4rVnQraytlcitHcisoS2ErVnQrR3IpK3QuUXRbZnIrR3Ird2NdKyhobytlcitHcikrKG9jK1Z0K0dyKSt0LlF0W2ZyK0dyK2ddKyhobytlcitHcikrKEhpK1Z0K0dyKSt0LlF0W2ZyK0dyK1duXSsoaG8rZXIrR3IpKyhwK1Z0K0dyKSt0LlF0W2ZyK0dyK0NjXSsoaG8rZXIrR3IpKyhzbit3aStMK1Z0K0dyKSsocWMoaSk/MjppKzEpKSE9PXQuR3RbYWErR3IrR2ldKHhlKSYmdC5HdFtsaStHcitHaV0oeGUsZSk7fSwxNTApO319O251Llh0PWZ1bmN0aW9uKHQpe3ZhciBlO3c1Llk0KDEyKTtlPXc1LmM0KHJ1LExpLHdpLHdpLEdyLGllLEdyKTt0W2FhK0dyK0dpXShlKXx8dFthYStHcitHaV0obG8pPT09ZnV8fCh0W2xpK0dyK0dpXShlLDEpLG5ldyBudSh0KSk7fTsoUWM9e2R0OmZ1bmN0aW9uKCl7dmFyIHQsZTtlPXRoaXMuZWUoKTtmb3IodD0wO3Q8ZVtwaV07dCsrKWlmKGVbdF1bMV0oKT09PWd1KXtyZXR1cm4gZVt0XVswXTt9cmV0dXJuIHl1O30sZWU6ZnVuY3Rpb24oKXt2YXIgdDt0PVtdO3JldHVybiBYYy5vdHx8WGMuaXQ/W106KHRbTXJdKFt0aGlzLmllLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlhjLnB0Pj02NCYmWGMucHQ8Njc7fV0pLHRbTXJdKFt0aGlzLm5lLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubnQmJlhjLnB0Pj00MyYmWGMucHQ8NjQ7fV0pLHRbTXJdKFt0aGlzLnJlLGZ1bmN0aW9uKCl7dmFyIGI3LHE3LG03O2I3PS02MDMwNTI0OTU7cTc9LTQwNjg3OTgwNDttNz0yO2Zvcih2YXIgSTc9MTt3NS5MMShJNy50b1N0cmluZygpLEk3LnRvU3RyaW5nKCkubGVuZ3RoLDU1NDM5KSE9PWI3O0k3Kyspe3JldHVybiBYYy5ifHxaYy5ZKCl8fFhjLm18fFhjLnB0PD0xN3x8WGMucHQ+PTg5O203Kz0yO31pZih3NS5MMShtNy50b1N0cmluZygpLG03LnRvU3RyaW5nKCkubGVuZ3RoLDYyMDk0KSE9PXE3KXtyZXR1cm4gWGMuYnx8WmMuWSgpfHxYYy5tfHxYYy5wdDw9MTd8fFhjLnB0Pj04OTt9cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubSYmWGMucHQ+PTQ5JiZYYy5wdDw2NDt9XSksdFtNcl0oW3RoaXMub2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZDt9XSksdFtNcl0oW3RoaXMuc2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZyYmWGMucHQ+PTExO31dKSx0W01yXShbdGhpcy5hZSxmdW5jdGlvbigpe3JldHVybiBYYy5odDt9XSksdFtNcl0oW3RoaXMuY2UsZnVuY3Rpb24oKXt2YXIgVDAsRTAsbzA7VDA9MTIwNjMzNjEyMTtFMD0xMjk2MjQyMjUyO28wPTI7Zm9yKHZhciBwMD0xO3c1LmQxKHAwLnRvU3RyaW5nKCkscDAudG9TdHJpbmcoKS5sZW5ndGgsNDUyNzYpIT09VDA7cDArKyl7cmV0dXJuIFhjLnV0fHxYYy5udHx8WGMucHQ+PTc0O28wKz0yO31pZih3NS5MMShvMC50b1N0cmluZygpLG8wLnRvU3RyaW5nKCkubGVuZ3RoLDY1MzgpIT09RTApe3JldHVybiBYYy51dCYmWGMubnQmJlhjLnB0PD00ODt9fV0pLHQpO319KS50ZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMudGVbWHRdPXtfZTprdSx1ZTpmdW5jdGlvbih0KXt2YXIgcjUsUTUsZTU7cjU9LTk1ODI4OTMwMTtRNT0tNjIxNDQ4NDIyO2U1PTI7Zm9yKHZhciBaNT0xO3c1LmQxKFo1LnRvU3RyaW5nKCksWjUudG9TdHJpbmcoKS5sZW5ndGgsOTUyNjgpIT09cjU7WjUrKyl7dGhpcy5mZT10O2U1Kz0yO31pZih3NS5MMShlNS50b1N0cmluZygpLGU1LnRvU3RyaW5nKCkubGVuZ3RoLDE0MzU1KSE9PVE1KXt0aGlzLmZlPXQ7fX0sbGU6a3UscGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhO2k9dGhpcztuPWkuZmU7cj1uLkh0KCk7bz1uLm10O3M9by53dHx8WmMuJCg1KTthPVpjLmsobyk7aWYodD1mdW5jdGlvbigpe3RyeXtpZih0eXBlb2Ygby5GdD09PVpzJiZvLkZ0W0NpXShuLHIsbyk9PT15dSl7cmV0dXJuIHl1O319Y2F0Y2godCl7S2MuZSh0KTt9cmV0dXJuIG11O30sZT1mdW5jdGlvbih0KXtpZih0eXBlb2Ygby5TdD09PVpzKXRyeXtvLlN0W0NpXShuLHIsbyx0KTt9Y2F0Y2godCl7S2MuZSh0KTt9fSx0KCk9PT15dSl7cmV0dXJuIHl1O310eXBlb2Ygb1t6XT09PVRjJiZvW3pdIT09ciYmKHI9b1t6XSk7R2MuanQoby5qdCk7dGhpcy5fZSgpO3RyeXtyZXR1cm4gdGhpcy5sZShyLG8scyxhLGZ1bmN0aW9uKHQpe2kuZGUodCk7aS5oZSYmR2MuaGUoKTtlKHQpO30pO31jYXRjaCh0KXtyZXR1cm4gS2MuZSh0KSx5dTt9fSx2ZTpmdW5jdGlvbih0LGUsaSl7cmV0dXJuKEdjLm10LmJlP1pjLkM6QXUpKHQsZSxpKTt9LGRlOmt1LGhlOmd1fTtRYy5tZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMubWVbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTp5dSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3IodGhpcy52ZSh0LGksbikpO319KTtRYy5nZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuZ2VbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTohWGMub3QmJiFYYy5kLGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7cih0aGlzLnZlKHQsRmkpKTt9fSk7UWMueWU9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnllW1h0XT1aYy55KFFjLnRlW1h0XSx7a2U6ZnVuY3Rpb24oKXt2YXIgdCxlLGk7dD1HYy53ZSgpO2U9R2MueGUuUztpPXR5cGVvZiBHYy5tdC5PZT09PVpzP0djLm10Lk9lW0NpXSgpOkdjLm10Lk9lO3JldHVybiBmdW5jdGlvbigpe3ZhciBuLHI7cmV0dXJuIGkhPT1GdT9pOihuPVpjLiQoMSkscj1lP2k6R2MuQ2UodCl8fGksZXUucygpfHwhWGMub3QmJiFYYy5nP3I6KHR1LmEoY3UsbixtdSkscltaXSh2cixHcikrKEdyK3NlK0dyKStuKSk7fSgpO30sbGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgeDksejksaDksbyxzLGEsYyx1LGgsZixwO3g5PTE3MTA2NjI4Nzg7ejk9LTEwMzk3MjE3MTM7aDk9Mjtmb3IodmFyIEw5PTE7dzUuZDEoTDkudG9TdHJpbmcoKSxMOS50b1N0cmluZygpLmxlbmd0aCwzMDE4NykhPT14OTtMOSsrKXtoOSs9Mjt9aWYodzUuZDEoaDkudG9TdHJpbmcoKSxoOS50b1N0cmluZygpLmxlbmd0aCw0NTQ4MCkhPT16OSl7fWE9dGhpcy5rZSgpO2M9R2Mud2UoKTt1PVpjLk4oYyk7aD0xNTtmPVtdO3A9ZnVuY3Rpb24odCl7dmFyIGU7dHlwZW9mIHRbQW5dPT09WnMmJihlPXRbQW5dLGl1LlgodCxncyxlKSk7dFtBbl09ZnVuY3Rpb24oKXtyZXR1cm4geXU7fTt9O2ZvcihHYy5FZSgpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKSE9PUZpJiZaYy5mKGMsdW4pJiYocChjKSwwIT09Y1thYStHcitHaV0odW4pW0wrR3IrV2FdKEN0KSYmKGE9Y1thYStHcitHaV0odW4pKT09PUdyJiYoYT1GdSkpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKT09PUZpJiZaYy5mKGMsdW4pJiYocChjKSxpbyhmdW5jdGlvbigpe2NbQW5dPW11O30sM2UzKSxHYy5tdC5QZT9hPWNbYWErR3IrR2ldKHVuKTooYT1GdSxYYy5vdCYmKFhjLnV0P2ZbTXJdKGZ1bmN0aW9uKCl7QXUoY1thYStHcitHaV0odW4pLEZpKTt9KTppbyhmdW5jdGlvbigpe0F1KGNbYWErR3IrR2ldKHVuKSxGaSk7fSwyMCkpKSksWGMuZXQmJlhjLnV0fHxYYy5ldCYmWGMuc3QmJiFYYy5kJiYhWGMuYiYmIVhjLmh0PyhBdShhLEZpKSxaYy5IKEJyLGZ1bmN0aW9uKCl7WmMuVCh0KTt9LGgpKTohWGMub3QmJlpjLmgoYyxUaSkhPT1GaSYmKFhjLnV0JiZYYy5zdHx8WGMuaHQmJlhjLnB0PDEwfHxYYy5iJiZYYy5wdDw0MSk/WGMudXQ/KFpjLlEoYSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KFpjLlEodCksY1tTYytHcittY109PT1PbiYmdSYmWmMuVCh1KSk6WGMuZXQmJlhjLmQ/KG89QXUoYSxGaSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KG89eVtRYV0oVWErVnQrY2ksRmkpKT8ob1tFaV1bdW5dPWEsWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6bz1BdSh0LEZpKSxzPTA7czxmW3BpXTtzKyspe2Zbc11bQ2ldKCk7fW8mJnIobyk7fX0pO1FjLm9lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5vZVtYdF09WmMueShRYy50ZVtYdF0se2hlOnl1LGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG87bz10aGlzLnZlKHQsaSxuKTtvW2tuXSgpO1R1W2JvXSgpO1pjLk0obyk7aW8oZnVuY3Rpb24oKXtyKG8pO30sMWUzKTt9fSk7UWMuY2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLmNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZSh0LGksbik7cz1HYy5UZSgxZTMpO2l1LksoeSxibyxmdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9KTtvW2NjXT1mdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9O3Iobyk7fX0pO1FjLmFlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5hZVtYdF09WmMueShRYy50ZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIEQ5LFc5LGw5LG87RDk9MTk0OTIwNzgwOTtXOT04OTkwMjg0O2w5PTI7Zm9yKHZhciBWOT0xO3c1LkwxKFY5LnRvU3RyaW5nKCksVjkudG9TdHJpbmcoKS5sZW5ndGgsNTc4NTApIT09RDk7VjkrKyl7bDkrPTI7fWlmKHc1LkwxKGw5LnRvU3RyaW5nKCksbDkudG9TdHJpbmcoKS5sZW5ndGgsNTEwNjgpIT09Vzkpe315W3NvXT1aYy4kKDUpO289dGhpcy52ZSh0LGksbik7dGhpcy52ZShHcix5W3NvXSxHcik7eVtzb109bXU7cihvKTt9LGhlOnl1fSk7UWMuc2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZShQdT90OkZ1LGksbik7cz1mdW5jdGlvbigpe29bRWldW3VuXT10O307aXUuSyhvLGtuLHMpO29ba25dKCk7VHVbYm9dKCk7aW8ocywxMDApO3Iobyk7fSxoZTp5dX0pO1FjLm5lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5uZVtYdF09WmMueShRYy50ZVtYdF0se0ZlOmZ1bmN0aW9uKCl7dmFyIHQsZTtlPVpjLnooYXIse2RhdGE6WmMuTChlbitQZStNYyx0aGlzLkFlKStaYy4kKDMpfSk7cmV0dXJuKHQ9WmMueihoYyx7c3R5bGU6UGkrVnQrYStlcitvYytWdCtIcytlcitLYStWdCtIcytlcitEYStWdCtOK2VyK3ArVnQrRnIrSGErR3IrZXIrSGkrVnQrem4rZXIrayt3aStHYStWdCtYaStlciskbytWdCthK2VyK0dyfSkpW0l0K0dyK1dlXShlKSxbZSx0XTt9LFNlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMueSh0LHt9KTtyZXR1cm4gZVtwXT1lW0hpXT05ZTUsZVtvY109ZVtLYV09MSxlO30sQWU6THQrR3IrdGErR3IrRmMrR3IrUHMrR3Irb24rR3IrV2MrR3IreG8rR3IrJCtHcithaStHcituK0dyK1NhK0dyK0tyK0dyK1F0K0dyK2t0K0dyK3p0K0dyK3RjK0dyK1l0K0dyK3ZhK0dyK3MrR3IrdmErdWMraG4rR3IrTGErR3IrenQrR3IrVytHcitEYytHcitaYStHcittdCtHcitWaStHcitzYStHcitVZStHcitUYStHcit2YStHcitWaStHcitQcitHcit4bytHcitVZStHcitpYytHcitwbytHcitLcitHcitKK0dyK2hzK0dyK1ppK0dyK3ZhK0dyK1ByK0dyK0xhK0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrWGErR3IrVHMrR3IrWmkrR3IrdmErR3IrUHIrR3IrSGUrR3IrenQrR3IrVytHcitGYytHcit0YytHcityYytHcithZStHcit2aStHcit2YStHcitQcitHcitydCtHcitwcytHcittdCtHcituYStHcitUbytHcityZStHcit4bytHcit0YStHcitqaStHcitXK0dyK2F0K0dyK3ZhK0dyK1ByK0dyK2MrR3IrYit1YytFK0dyK1FvK0dyK3BzK0dyK2RjK0dyK1l0K0dyK3ZhK0dyK1lhK0dyK1hhK0dyK1RzK0dyK1ppK0dyK3ZhK0dyK0dlK0dyK09lK0dyK2dhK0dyK0hvK0dyK3ZhK0dyK1ByK0dyK2t0K0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrdmErR3Ircm4rdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitrdCtHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK09lK0dyK1krR3IrS3QrR3IreG8rR3IrVWUrR3IrYnMrR3IrRnQrR3IrUG8rR3IrRStHcitVZStHcitiaStHcitVZStHcitTZStHcitWcitHcitEcytHcit4bytHcitVZStHcitHbytHcit2YStHcitQdCtHcitVZStHcitScitHcit5YytHcitPZStHcitWbytHcitLcitHcit2YytHcitiZStHcitzK0dyK3hjK0dyK0tvK0dyK3IrR3IrYWkrR3IrZnQrdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitBZStHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK05hK0dyK1RzK0dyK010K0dyK2hyK0dyK1lzK0dyK0tzK0dyK0UrR3IrVWUrR3IrZm4rR3IrcmMrR3IrYWUrR3IrRCtHcitMdCtHcitWcitHcit0YStHcittdCtHcitacitHcitWcitHcitPZSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3ZhciBzLGEsYyx1LGg7dT10aGlzO2g9eXU7dHJ5eyhhPXRoaXMudmUoVWErVnQrY2ksRmkpKVttcl1bcnJdKHc1LnU0KHVyLEdyLEdyLGpvLFBlLHVpLEdyLFFyLEdyLFBlLG8sR3IsdWksdWksR3IsdXIsUGUsR3IsdXIsam8sR3IsdXIsbyx1aSxHcix1cixHcix1aSxRcix1cix1aSx3NS5ZNCgxMykpKTtpdS5LKGEscWEsZnVuY3Rpb24oKXtmdW5jdGlvbiBmKCl7bigpO2FbSW9dKCk7bygpO3JvKGMpO31ofHwoaD1ndSxzPWFbQmNdPUF1KFVhK1Z0K2NpLGksWmMuayh1LlNlKGUpKSksaXUuWChhLGJvLGYpLGM9aW8oZiwzZTMpLGFbbXJdW1FyXVtQYStHcithaStHcit4YytHcit6dCtHcitwYV09dS5GZSgpWzFdW1BuK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXSk7ZnVuY3Rpb24gbigpe3c1Llk0KDE0KTthW21yXVtRcl1bdzUudTQoUGEsenQsR3IsR3IsR3IseGMsR3IsYWkscGEpXT1Hcjt9ZnVuY3Rpb24gbygpe3ZhciBhMSxZMSxmMTthMT0tMTU2OTI3MTMyMDtZMT0yMzc1ODcyNDtmMT0yO2Zvcih2YXIgRDE9MTt3NS5MMShEMS50b1N0cmluZygpLEQxLnRvU3RyaW5nKCkubGVuZ3RoLDk0NDMyKSE9PWExO0QxKyspe3NbRWMlR3ItYmFdKGVbSGldLGVbcF0pO3NbZGElR3IqYmFdKGVbb2NdLGVbS2FdKTtzW0VpXVtaXSh0KTtyKHMpO2YxKz0yO31pZih3NS5kMShmMS50b1N0cmluZygpLGYxLnRvU3RyaW5nKCkubGVuZ3RoLDYyNDUzKSE9PVkxKXtzW0VjJUdyLWJhXShlW0hpXSxlW3BdKTtzW2RhJUdyKmJhXShlW29jXSxlW0thXSk7c1tFaV1bWl0odCk7cihzKTt9c1tFYytHcitiYV0oZVtIaV0sZVtwXSk7c1tkYStHcitiYV0oZVtvY10sZVtLYV0pO3NbRWldW1pdKHQpO3Iocyk7fX0pO31jYXRjaCh0KXt9fX0pO1FjLnJlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5yZVtYdF09WmMueShRYy5uZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG8scztzPVpjLk8oZ3UpO2l1LksoeSxibyxmdW5jdGlvbigpe1pjLlAocyk7b1tFaV1bWl0odCk7cihvKTt9KTt3NS5vNCg0KTtvPXRoaXMudmUodzUuYzQoVWEsVnQsY2kpLEZpKTtzW3RvK0dyK3lhXVttcl1bcnJdKHRoaXMuRmUoKVsxXVtQbitHcithaStHcit4YytHcit6dCtHcitwYV0pO319KTtRYy5pZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuaWVbWHRdPVpjLnkoUWMudGVbWHRdLHtMZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47aT10aGlzO249eXU7dzUubzQoNCk7ZT10aGlzLnZlKHc1LmM0KFVhLFZ0LGNpKSx0Lnd0fHxGaSx0LkJlfHxHcik7dC56ZSYmKGUmJmVbSW9dKCksbj1ndSk7IW4mJmUmJmlvKGZ1bmN0aW9uKCl7ZVtFaV1bdW5dPXQueHQ7dC5JZSYmaS5JZShlKTt9LDEwMCk7fSx1ZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47bj10aGlzO3RoaXMuamU9ZHJbTW5dKCk7dGhpcy5mZT10O2U9R2Mud2UoKTt3NS5vNCgxNSk7aT1aYy5CKGUsdzUuYzQoZ3QsR3IseGMsR3IsR3IsRmMseGMsR3IsZmMsR3IsVnIpKTsoZVtTYytHcittY109PT1PbiYmZVthYStHcitHaV0oanIpIT09RmkmJiFaYy5TKGUpfHxpJiYhWmMuUyhpKSkmJih0aGlzLmhlPWd1KTtpdS5YKHksSWUsZnVuY3Rpb24gdChlKXt0cnl7ZVtpZV0uamU9PT1uLmplJiZuLkxlKGVbaWVdKTtlW2llXS56ZSYmaXUuWih5LEllLHQpO31jYXRjaCh0KXt9fSk7fSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3RoaXMuSWU9cjt0aGlzLk1lKHtqZTp0aGlzLmplLEJlOm4sSWU6Z3UseHQ6dH0pO3RoaXMuTWUoe2plOnRoaXMuamUsemU6Z3UseHQ6VWErVnQrY2l9KTt9LGhlOnl1LE1lOmZ1bmN0aW9uKHQpe3lbSnQrR3IrWF0odCx5W0VpXVtSb10pO319KTtHYz17X2k6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5RaSgpK3RoaXMuSGkoKT5aYy5HKCk7fSxLaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm10LkplO30sSmU6ZnVuY3Rpb24oKXt2YXIgdDt0PVpjLngoYXJndW1lbnRzWzBdKT9hcmd1bWVudHNbMF06YXJndW1lbnRzO3JldHVybiB0aGlzLm5uKHQsUm4sdFtwaV0mJnRbMF09PT15dSk7fSxraTpmdW5jdGlvbih0LGUsaSxuKXt0aGlzLk9pKGksdCxndSl8fG4oZ3UseXUpO30sV2k6ZnVuY3Rpb24odCl7dHJ5e3JldHVybiB0W3F0XSYmMCE9PXRbcXRdfHx0aGlzLmNpLkcrMTUwPlpjLkcoKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LFJpOmZ1bmN0aW9uKCl7dGhpcy5XZT1bXTt9LFlpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQucWU7fSxVaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLldlO30sWmU6bXUsVGk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHx0aGlzLnFpKHQpKXtyZXR1cm4geXU7fWlmKCF0aGlzLm10LnFlW3BpXXx8dFthYStHcitHaV0obG8pPT09ZnUpe3JldHVybiBndTt9Zm9yKDtlPHRoaXMubXQucWVbcGldO2UrKylpZih0PT09dGhpcy5tdC5xZVtlXXx8dHlwZW9mIHRoaXMubXQucWVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5xZVtlXVtYcytHcitwcitHcituY10oKXx8WmMuSSh0LHRoaXMubXQucWVbZV0pKXx8WmMuQih0LHRoaXMubXQucWVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LHdlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueGUuUXQ7fSxMaTpmdW5jdGlvbigpe3ZhciB0LGU7ZT10aGlzO3RoaXMuWmU9WmMueihoYyx7c3R5bGU6b2MrVnQrRnIrSGErR3IrZXIrS2ErVnQrRnIrSGErR3IrZXIrRGErVnQrSXMrZXIrcCtWdCt6bitlcitIaStWdCt6bitlcitzbit3aStMK1Z0K25vK2VyK3h0K1Z0K1hpK2VyK0dyfSxHcik7dD1DbyhmdW5jdGlvbigpe3ZhciBpO2k9cmlbUXJdO2kmJihHcyh0KSxpW0l0K0dyK1dlXShlLlplKSk7fSwxMDApO30saGk6ZnVuY3Rpb24oKXt2YXIgTjksYTksWTksdCxlLGk7Tjk9LTUxNTA4MTc1NzthOT0tMTMwNjg1MTEzNztZOT0yO2Zvcih2YXIgczk9MTt3NS5kMShzOS50b1N0cmluZygpLHM5LnRvU3RyaW5nKCkubGVuZ3RoLDEwMDExKSE9PU45O3M5Kyspe1k5Kz0yO31pZih3NS5MMShZOS50b1N0cmluZygpLFk5LnRvU3RyaW5nKCkubGVuZ3RoLDQ1MzQ0KSE9PWE5KXt9aT10aGlzLlhlLm9pO2Zvcih0PTA7dDx0aGlzLmZpW3BpXSYmKCF0aGlzLnBpKCkmJiF0aGlzLl9pKCkpO3QrKyl7aWYoZT10aGlzLmZpW3RdLHRoaXMuWGUuc2krKyx0aGlzLlhlLm9pPVpjLkcoKSx0aGlzLmxpKGUpPT09eXUpe3JldHVybiB0aGlzLlhlLnNpLS0sdm9pZCh0aGlzLlhlLm9pPWkpO31pPXRoaXMuWGUub2k7ZXUuYShodSx0aGlzLlhlLm9pKTtlLnl0PT09bHUmJmV1LmEodXUsdGhpcy5YZS5zaSk7fX0sT2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBuLHIsbyxzO3c1Lm80KDQpO289dzUuYzQoR3IsVHQsR3IpO3c1Llk0KDIpO3M9dzUuYzQobyx0KTtmb3Iobj0wO248ZVtwaV07bisrKWlmKHI9KEdyK090K0dyK1R0K0dyKVtMK0dyK1dhXShlW25dWzBdKT4tMT9lW25dOm8rZVtuXSxzW2ZzXShzW3BpXS1yW3BpXSk9PT1yfHxpJiZyPT09d3Upe3JldHVybiBndTt9cmV0dXJuIHl1O30sZW46ZnVuY3Rpb24odCxlKXt2YXIgTDAsZDAsTzAsaSxuO0wwPTEyMjU5MjUxNjQ7ZDA9LTc2NDA0NzIyNjtPMD0yO2Zvcih2YXIgQzA9MTt3NS5MMShDMC50b1N0cmluZygpLEMwLnRvU3RyaW5nKCkubGVuZ3RoLDk4MzQ3KSE9PUwwO0MwKyspe08wKz0yO31pZih3NS5MMShPMC50b1N0cmluZygpLE8wLnRvU3RyaW5nKCkubGVuZ3RoLDg1NTk4KSE9PWQwKXt9aT10aGlzO249dGhpcy50bih0LGUpO3RoaXMuV2VbTXJdKG4pO3RoaXMuRGkobik7dGhpcy5pbnx8KEdjLkNpKCksZnVuY3Rpb24oKXt2YXIgdCxlO1hjLmImJigoZT1yaVtVcytHcitDbl0oaGMpKVtSYytHcitpdF0oVmEsZnVuY3Rpb24oKXtDdT1ndTt9KSxDdT1vNSx0PUNvKGZ1bmN0aW9uKCl7aWYoQ3U9eXUsIWkubXQuUmUpe2lmKHR5cGVvZiB5W3dzXSE9PWFyfHx0eXBlb2YgeVt3c11bT29dIT09WnMpe3JldHVybiBDdT1vNSx2b2lkIEdzKHQpO315W3dzXVtPb10oZSk7eVt3c11bTWldKCk7fX0sNTAwKSk7fSgpLHRoaXMuaW49bzUpO30sUGk6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuSmkoKSx0P3RoaXMuZmlbcGldOnRoaXMuZmlbcGldPjA7fSx2aTpmdW5jdGlvbigpe3ZhciB0LGU7dD1aYy5HKCk7ZT1aYy5HKGF1KTt3NS5ZNCgxNik7dGhpcy5YZS5yaT13NS5jNChlLHQsMzE1MzYwMDAwMDApO3RoaXMuWGUucmkmJih0aGlzLmxpPWt1KTt9LEJpOmZ1bmN0aW9uKCl7dmFyIHQ7dD1VYyhldS5jKGh1KSwxMCk7cWModCkmJih0PTApO3RoaXMuWGUub2k9dDt9LENlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMuTih0KTtyZXR1cm4gZSYmIXRoaXMubXQuTmUmJlpjLlModCk/eXU6ZTt9LGp0OmZ1bmN0aW9uKHQpe3ZhciBlLGksbjtlPXR5cGVvZiB0PT09Z2U/Z3U6ISF0O3c1Lm80KDIpO2k9dzUuYzQocnUsSSk7bj1yaVthYStHcitDbitHcitpaStHcit0bl0oaSk7ZT9ufHwobj1aYy56KERvLHtjb250ZW50OkljK3dpK2lhLG5hbWU6aWEsaWQ6aX0pLHJpW2FhK0dyK1JlK0dyK2lpK0dyK1JpK0dyK21jXShvKVswXVtJdCtHcitXZV0obikpOm4mJlpjLlAobik7fSxHaTpmdW5jdGlvbigpe3RoaXMuWGUuaWk9Z3U7dGhpcy5oaT1rdTt9LEp0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQuRGU7fSx5aTpmdW5jdGlvbih0LGUsaSxuLHIpe2Zvcih2YXIgbyxzPTA7czxlJiYobz10W3NdLCEoMT09PW4mJihyKGlbcytlXSx0W3NdKmlbc10rcysoaVtzXT4+cyszKSl8fHIoaVtzKzIqZV0sdFtzXSoodFswXSt0WzFdK3RbMl0pKyhpW3NdPDxzKSl8fHIoaVtzKzMqZV0sZHJbQWNdKHRbMF0qdFsxXSp0WzJdL28pK28rKGlbc10+PnMpKSl8fG48MSYmKHIoaVtzK2VdLHRbc10qaVtzXStzKXx8cihpW3MrMiplXSx0W3NdKih0WzBdK3RbMV0rdFsyXSkpfHxyKGlbcyszKmVdLGRyW0FjXSh0WzBdKnRbMV0qdFsyXS9vKStvKSkpKTtzKyspO30scWk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHwhdGhpcy5tdC5KZVtwaV0pe3JldHVybiB5dTt9Zm9yKDtlPHRoaXMubXQuSmVbcGldO2UrKylpZih0PT09dGhpcy5tdC5KZVtlXXx8dHlwZW9mIHRoaXMubXQuSmVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5KZVtlXXx8WmMuSSh0LHRoaXMubXQuSmVbZV0pKXx8WmMuQih0LHRoaXMubXQuSmVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LGNpOnt1aTp7fSxHOjB9LEhpOmZ1bmN0aW9uKCl7cmV0dXJuIFhjLm90P2RyW0JvXSh0aGlzLm10LlZlLDFlMyk6WGMuYnx8WGMuZ3x8WGMuY3R8fFhjLnV0JiYhWGMuZXQ/ZHJbQm9dKHRoaXMubXQuVmUsMjAwKTp0aGlzLm10LlZlO30sRWU6ZnVuY3Rpb24odCl7dmFyIGUsWjcsdDcsVTc7Wjc9LTEyNTc1NDEyNDI7dDc9MTMwMDY1ODcyMDtVNz0yO2Zvcih2YXIgejc9MTt3NS5MMSh6Ny50b1N0cmluZygpLHo3LnRvU3RyaW5nKCkubGVuZ3RoLDgzNTc3KSE9PVo3O3o3Kyspe2U9dHx8dGhpcy5jaS51aTtVNys9Mjt9aWYodzUuZDEoVTcudG9TdHJpbmcoKSxVNy50b1N0cmluZygpLmxlbmd0aCwzMDU1KSE9PXQ3KXtlPXQmJnRoaXMuY2kudWk7fXRyeXtlW01vK0dyK25pXSYmZVtNbytHcituaV0oKTtlW3FlK0dyK19zXSYmZVtxZStHcitfc10oKTt3NS5vNCg0KTtlW3c1LmM0KE5yLEdyLGNvKV09eXU7dzUubzQoNCk7ZVt3NS51NChtcyxHcixIcildPWd1O31jYXRjaCh0KXt9fSxpOmZ1bmN0aW9uKCl7dmFyIE8xLEcxLEMxO08xPS0xMzAyMzI0NTE3O0cxPTg4ODY0MDYzMDtDMT0yO2Zvcih2YXIgbjE9MTt3NS5kMShuMS50b1N0cmluZygpLG4xLnRvU3RyaW5nKCkubGVuZ3RoLDU5MTU1KSE9PU8xO24xKyspe3JldHVybiB0aGlzLm10LlVlfHx0aGlzLm10LkRlO0MxKz0yO31pZih3NS5MMShDMS50b1N0cmluZygpLEMxLnRvU3RyaW5nKCkubGVuZ3RoLDIzODAyKSE9PUcxKXtyZXR1cm4gdGhpcy5tdC5VZSYmdGhpcy5tdC5EZTt9fSxwaTpmdW5jdGlvbigpe3ZhciBoNyxpNyxMNztoNz0tMTUxMTEyMzE1NDtpNz0tMTY3MjAwNTI5NjtMNz0yO2Zvcih2YXIgTzc9MTt3NS5kMShPNy50b1N0cmluZygpLE83LnRvU3RyaW5nKCkubGVuZ3RoLDMyNTMzKSE9PWg3O083Kyspe3JldHVybiB0aGlzLiRpKCk8dGhpcy5tdC5IZTtMNys9Mjt9aWYodzUuTDEoTDcudG9TdHJpbmcoKSxMNy50b1N0cmluZygpLmxlbmd0aCwxOTk5KSE9PWk3KXtyZXR1cm4gdGhpcy4kaSgpPj10aGlzLm10LkhlO319LGdpOmZ1bmN0aW9uKHQsZSxpLG4scil7Zm9yKHZhciBvLHM9MDtzPGUmJihvPXRbc10sISgxPT09biYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzErKGlbc108PGlbc10lMTApLGlbZStzXSl8fHIob1trZStHcitucytHcitCaV0ob1twaV0tMSkqaVtzXSoyK3MrKGlbc10+PnMpLGlbMiplK3NdKXx8cihvW3BpXSppW3NdKjMrKGlbc108PHMpLGlbMyplK3NdKSl8fG48MSYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzEsaVtlK3NdKXx8cihvW2tlK0dyK25zK0dyK0JpXShvW3BpXS0xKSppW3NdKjIrcyxpWzIqZStzXSl8fHIob1twaV0qaVtzXSozLGlbMyplK3NdKSkpKTtzKyspO30sV2U6W10sdG46ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IFljKHRoaXMuV2VbcGldLHQsZSk7fSxBaTpmdW5jdGlvbih0KXt0aGlzLmNpLnVpPXQ7dGhpcy5jaS5HPVpjLkcoKTt9LGFpOltdLE1pOmZ1bmN0aW9uKHQpe3JldHVybiBudS5YdCh0KSx0aGlzO30sWmk6ZnVuY3Rpb24oKXtyZXR1cm4gWmMucChbW1RyLHRoaXMubXQuRGVdLFtvaSx0aGlzLm10LlVlXSxbd3QsdGhpcy5tdC5SZV0sW0xyK0dyK3plLHRoaXMubXQuT2VdLFtSbitHcitFbix0aGlzLm10Lk5lXSxbRHQsdGhpcy5tdC5IZV0sW2xjK0dyK2JhLHRoaXMubXQucWVdLFtSbitHcitiYSx0aGlzLm10LkplXSxbUW4sdGhpcy5tdC5WZV0sW3crR3IrVix0aGlzLm10LiRlXSxbdytHcitEbix0aGlzLm10LlFlXSxbcG4rR3IrdHIrR3IrTG4sdGhpcy5tdC5HZV0sW0JzK0dyK2wrR3IrU3MsdGhpcy5tdC4kdF0sW05zK0dyKyRyLHRoaXMubXQuWWVdLFtJYytHcitwYytHcitfaSx0aGlzLm10LmJlXSxbTHMrR3IrYnQsdGhpcy5tdC5LZV0sW0IrR3IrdmUrR3IrX28rR3IreW4rR3IrTG4sdGhpcy5tdC5QZV1dKTt9LFRlOmZ1bmN0aW9uKHQpe3ZhciBlLGk7aT1aYy5PKGd1KTtyZXR1cm4gZT1pW3RvK0dyK3lhXVttcl1bVXMrR3IrQ25dKGRlKSwwPT09eVtFaV1bdW5dW0wrR3IrV2FdKGorVnQrR3IpP2VbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPUdyKyhXcitZZStHcit3bitHcikrKGYrVHQrUytUdCthYStHcitaZStHcitRaStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKTplW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoV3IrWWUrR3Ird24rR3IpKyhZcitUdCtjYStHcitfZStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSxpW3RvK0dyK3lhXVttcl1bUXJdW0l0K0dyK1dlXShlKSx0eXBlb2YgdCE9PVd0JiZ0eXBlb2YgdCE9PWdlfHxpbyhmdW5jdGlvbigpe1pjLlAoaSk7fSx0fHw1MDApLGk7fSxOaTpmdW5jdGlvbigpe3ZhciBvMSx3MSxwMTtvMT0tMjExMjgyOTI0MDt3MT00MjIxODMwODI7cDE9Mjtmb3IodmFyIHEwPTE7dzUuZDEocTAudG9TdHJpbmcoKSxxMC50b1N0cmluZygpLmxlbmd0aCwzNTgxNCkhPT1vMTtxMCsrKXtmb3IodmFyIHQsZT02O2U8PXRoaXMuV2VbcGldO2UtLSl7dD10aGlzLldlW2VdO3R1LnUodC5tdC5idCk7fXRoaXMuWGUub2k9dGhpcy5YZS5zaT00O2V1LnUodXUpO2V1LnUoY3UpO2V1LnUoaHUpO3AxKz0yO31pZih3NS5MMShwMS50b1N0cmluZygpLHAxLnRvU3RyaW5nKCkubGVuZ3RoLDUxMjkxKSE9PXcxKXtmb3IodmFyIHQsZT0yO2U8dGhpcy5XZVtwaV07ZSsrKXt0PXRoaXMuV2VbZV07dHUudSh0Lm10LmJ0KTt9dGhpcy5YZS5vaT10aGlzLlhlLnNpPTM7ZXUudSh1dSk7ZXUudShjdSk7ZXUudShodSk7fWZvcih2YXIgdCxlPTA7ZTx0aGlzLldlW3BpXTtlKyspe3Q9dGhpcy5XZVtlXTt0dS51KHQubXQuYnQpO310aGlzLlhlLm9pPXRoaXMuWGUuc2k9MDtldS51KHV1KTtldS51KGN1KTtldS51KGh1KTt9LHppOmZ1bmN0aW9uKCl7dmFyIHQ7dD0wO3JldHVybiBldS5zKCk/KHQ9ZXUuYyh1dSksZXUudSh1dSkpOnR1LmModXUpJiYocmlbaWFdPT09UnRbdW5dfHx+UnRbdW5dW0wrR3IrV2FdKEdyK3NlK0dyK3R1LmMoY3UpKSkmJih0PXR1LmModXUpLGlvKGZ1bmN0aW9uKCl7dHUudSh1dSk7dHUudShjdSk7fSwzMDApKSx0PVVjKHQsMTApLHQ9cWModCk/MDp0LHRoaXMuWGUuc2k9dDt9LG10OntOZTpndSxLZTp5dSxKZTpbXSxWZTowLCR0OmJ1LCRlOltdLERlOnl1LE9lOkZ1LEhlOjk5OTksUmU6eXUscWU6W10sWWU6MTAsVWU6eXUsUWU6Z3UsUGU6eXUsYmU6eXUsR2U6Z3V9LCRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuWGUuc2k7fSxRaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLlhlLm9pO30sYmk6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhLGMsdSxuOSxGOSxnOTtzPXRoaXM7YT0wO2M9dGhpcy5YZTt1PWZ1bmN0aW9uKHQsZSl7dmFyIFA5LEo5LFg5O1A5PTMyNTI1NjI2O0o5PS05NTA1MjQwNDM7WDk9Mjtmb3IodmFyIFM5PTE7dzUuTDEoUzkudG9TdHJpbmcoKSxTOS50b1N0cmluZygpLmxlbmd0aCw0ODQ5MykhPT1QOTtTOSsrKXtyZXR1cm4gdD09PWV8fChjLm5pPWd1LHMubGk9a3UpLHQhPWU7WDkrPTI7fWlmKHc1LkwxKFg5LnRvU3RyaW5nKCksWDkudG9TdHJpbmcoKS5sZW5ndGgsNTM4MDApIT09Sjkpe3JldHVybiB0IT09ZSYmKGMubmk9Z3Uscy5saT1rdSksdCE9PWU7fX07aWYodHlwZW9mIHlbcnVdW2FyXSE9PWdlKXtjLm5pPW11O3Q9eVtydV1bYXJdW1huXSgpO2U9eVtydV1bYXJdW1huXSgpO2k9eVtydV1bYXJdW1huXSgpO249eVtydV1bYXJdW1huXSgpO3I9WmMuRigoeVtydV1bYXJdW1huXSgpfHx7c3JjOm51bGx9KVtYcl0pO289WmMuRih4dVtYcl0pO3RyeXtuOT0xNDUwNjEyMjI1O0Y5PS01NjY0Nzc2Nzc7Zzk9Mjtmb3IodmFyIFI5PTE7dzUuZDEoUjkudG9TdHJpbmcoKSxSOS50b1N0cmluZygpLmxlbmd0aCwyODY5NSkhPT1uOTtSOSsrKXthPXlbcnVdW2FyXVtYbl0oKSYmNztnOSs9Mjt9aWYodzUuZDEoZzkudG9TdHJpbmcoKSxnOS50b1N0cmluZygpLmxlbmd0aCwzODQzOCkhPT1GOSl7YT15W3J1XVthcl1bWG5dKCkmJjc7fWE9eVtydV1bYXJdW1huXSgpfHwwO31jYXRjaCh0KXt9YT1kcltCb10oMCxkcltrYV0oMSxhKSk7dGhpcy5taSh0LG8scix1KTt0aGlzLmdpKHQsdFtwaV0sZSxhLHUpO3RoaXMueWkoaSxpW3BpXSxuLGEsdSk7dGhpcy5raSh0LHRbcGldLFpjLkYoKSx1LHUpO3RoaXMud2koaSxaYy5HKCkpO2Mubmk9PT1tdSYmKGMubmk9eXUpO31jLnhpPWF8fDA7fSxFaTpmdW5jdGlvbih0LGUpe3ZhciBkOSxPOSxHOTtkOT04MzA2MTMyMTE7Tzk9MTQwNDM5MjY4MztHOT0yO2Zvcih2YXIgazk9MTt3NS5kMShrOS50b1N0cmluZygpLGs5LnRvU3RyaW5nKCkubGVuZ3RoLDE2MDEwKSE9PWQ5O2s5Kyspe3RoaXMueGUuUXQ9dDt0aGlzLnhlLlM9ZTtHOSs9Mjt9aWYodzUuZDEoRzkudG9TdHJpbmcoKSxHOS50b1N0cmluZygpLmxlbmd0aCw3Njg2OSkhPT1POSl7dGhpcy54ZS5RdD10O3RoaXMueGUuUz1lO319LFhpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbix1OSx5OSxIOTtuPXR8fHt9O2ZvcihlIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixlKSlzd2l0Y2godGhpcy5tdFtlXT1pPW5bZV0sZSl7Y2FzZSBUcjp0aGlzLm10LkRlPWk7YnJlYWs7Y2FzZSBvaTp0aGlzLm10LlVlPWk7YnJlYWs7Y2FzZSB3dDp0aGlzLm10LlJlPWk7YnJlYWs7Y2FzZSBMcitHcit6ZTp0aGlzLm10Lk9lPWk7YnJlYWs7Y2FzZSBSbitHcitFbjp0aGlzLm10Lk5lPWk7YnJlYWs7Y2FzZSBEdDp0aGlzLm10LkhlPWk7YnJlYWs7Y2FzZSBsYytHcitiYTp0aGlzLnFlW29hXSh0aGlzLGkpO2JyZWFrO2Nhc2UgUm4rR3IrYmE6dGhpcy5KZVtvYV0odGhpcyxpKTticmVhaztjYXNlIFFuOnRoaXMubXQuVmU9aTticmVhaztjYXNlIHcrR3IrVjp0aGlzLm10LiRlPWk7YnJlYWs7Y2FzZSB3K0dyK0RuOnRoaXMubXQuUWU9aTticmVhaztjYXNlIHBuK0dyK3RyK0dyK0xuOnRoaXMubXQuR2U9aTticmVhaztjYXNlIEJzK0dyK2wrR3IrU3M6dGhpcy5tdC4kdD1pO2JyZWFrO2Nhc2UgTnMrR3IrJHI6dGhpcy5tdC5ZZT1pO2JyZWFrO2Nhc2UgSWMrR3IrcGMrR3IrX2k6dGhpcy5tdC5iZT1pO2JyZWFrO2Nhc2UgTHMrR3IrYnQ6dGhpcy5tdC5LZT1pO2JyZWFrO2Nhc2UgQitHcit2ZStHcitfbytHcit5bitHcitMbjp0aGlzLm10LlBlPWk7fXU5PTE1MDY0OTg2ODA7eTk9NjExNzc3ODY1O0g5PTI7Zm9yKHZhciBUOT0xO3c1LkwxKFQ5LnRvU3RyaW5nKCksVDkudG9TdHJpbmcoKS5sZW5ndGgsNjMyMykhPT11OTtUOSsrKXtyZXR1cm4gdGhpcztIOSs9Mjt9aWYodzUuZDEoSDkudG9TdHJpbmcoKSxIOS50b1N0cmluZygpLmxlbmd0aCw2MzczOSkhPT15OSl7cmV0dXJuIHRoaXM7fX0saGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksZzcsTTcsUjc7Zzc9LTM5MDQ0MjA2O003PS0xNjI0Njc4MzI1O1I3PTI7Zm9yKHZhciBKNz0xO3c1LkwxKEo3LnRvU3RyaW5nKCksSjcudG9TdHJpbmcoKS5sZW5ndGgsNTI1MzkpIT09Zzc7SjcrKyl7ZT10aGlzLndlKCk7aT10aGlzLmNpLnVpO1I3Kz0yO31pZih3NS5MMShSNy50b1N0cmluZygpLFI3LnRvU3RyaW5nKCkubGVuZ3RoLDg0NzUzKSE9PU03KXtlPXRoaXMud2UoKTtpPXRoaXMuY2kudWk7fXRyeXsodD1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0oZ3MsZ3UsZ3UseSwxLGlbT2krR3IrVWVdLGlbT2krR3IreG9dLGlbSGMrR3IrVWVdLGlbSGMrR3IreG9dLHl1LHl1LHl1LHl1LDAsbXUpO3RbVW9dPWd1O2VbZ24rR3IrQ2FdKHQpO31jYXRjaCh0KXtLYy5lKHQpO319LFZpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuUGkobzUpO30sU2k6ZnVuY3Rpb24oKXt2YXIgdCxpLG4scixvLHM7cj10aGlzO289NTAwO3M9ZnVuY3Rpb24odCxlKXt2YXIgaSxuO249WGMuYj9lYzpnczsoaT1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0obixndSxndSx5LDEsZVtPaStHcitVZV0sZVtPaStHcit4b10sZVtIYytHcitVZV0sZVtIYytHcit4b10seXUseXUseXUseXUsMCxtdSk7aS5mYz1ndTt0W2duK0dyK0NhXShpKTt9O2l1LlgocmksJHQsZnVuY3Rpb24ocil7dmFyIG8sRjEsZzEsTTE7dzUubzQoNCk7bz1yW3c1LnU0KHNyLEdyLGUpXVswXTtGMT05NTkwNTM3NzY7ZzE9LTE3NzY2NDMwNTc7TTE9Mjtmb3IodmFyIFAxPTE7dzUuZDEoUDEudG9TdHJpbmcoKSxQMS50b1N0cmluZygpLmxlbmd0aCw4NTkzNCkhPT1GMTtQMSsrKXt3NS5vNCgxOCk7dD1yW3c1LnU0KG9zLEpzLEdyKV07dzUuWTQoMTkpO2k9b1t3NS51NChHcixmbyxVZSldO3c1Lm80KDIwKTtuPW9bdzUuYzQoeG8sZm8sR3IpXTtNMSs9Mjt9aWYodzUuTDEoTTEudG9TdHJpbmcoKSxNMS50b1N0cmluZygpLmxlbmd0aCwxMTM5OCkhPT1nMSl7dzUubzQoMjEpO3Q9clt3NS5jNChvcyxKcyxHcildO3c1Llk0KDIyKTtpPW9bdzUuYzQoR3IsVWUsZm8pXTt3NS5vNCg2KTtuPW9bdzUuYzQoR3IseG8sZm8pXTt9dzUubzQoNCk7dD1yW3c1LnU0KG9zLEdyLEpzKV07dzUuWTQoNCk7aT1vW3c1LmM0KGZvLEdyLFVlKV07dzUubzQoNCk7bj1vW3c1LnU0KGZvLEdyLHhvKV07fSxndSk7aXUuWChyaSx2LGZ1bmN0aW9uKGEpe3ZhciBjLHUsaCxTMCxOMCxhMDtTMD0xMTI5ODE1NDEyO04wPS00NTk2NDE3MTE7YTA9Mjtmb3IodmFyIGYwPTE7dzUuZDEoZjAudG9TdHJpbmcoKSxmMC50b1N0cmluZygpLmxlbmd0aCw5MDQxMCkhPT1TMDtmMCsrKXt3NS5vNCg0KTtjPWFbdzUuYzQoc3IsR3IsZSldWzBdO3U9aXUudHQoYSk7aD1yLm10LlllO2EwKz0yO31pZih3NS5MMShhMC50b1N0cmluZygpLGEwLnRvU3RyaW5nKCkubGVuZ3RoLDUxODk1KSE9PU4wKXt3NS5ZNCg2KTtjPWFbdzUudTQoR3IsZSxzcildWzRdO3U9aXUudHQoYSk7aD1yLm10LlllO31kcltGc10oY1tmbytHcitVZV0taSk+PWh8fGRyW0ZzXShjW2ZvK0dyK3hvXS1uKT49aHx8YVtvcytHcitKc10tdD5vfHxyLm10LlllPD0wfHxYYy5odCYmRGlbaXJdKHVbU2MrR3IrbWNdKXx8ci5YZS5paXx8ci5YZS5uaXx8ci5YZS5yaXx8ci5waSgpfHxyLl9pKCl8fCFyLlBpKCl8fCFyLlRpKHUpfHwhci5tdC5OZSYmWmMuUyh1KXx8KHVbU2MrR3IrbWNdPT09T24mJnIuRWUoYSkscyh1LGMpKTt9LGd1KTt9LG1pOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByLG87bz15dTtmb3Iocj0wO3I8dFtwaV07cisrKWlmKHRbcl09PT13dSl7bz1ndTticmVhazt9byYmKGV8fGkpJiYoIXRoaXMuT2koZSx0KXx8IXRoaXMuT2koaSx0KXx8eVtydV1bdW5dJiZ5W3J1XVt1bl1bcGldJiYhdGhpcy5PaShaYy5GKCkseVtydV1bdW5dKSkmJm4oZ3UseXUpO30seGU6e1F0Om11LFM6eXV9LHFlOmZ1bmN0aW9uKCl7dmFyIHQ7dD1aYy54KGFyZ3VtZW50c1swXSk/YXJndW1lbnRzWzBdOmFyZ3VtZW50cztyZXR1cm4gdGhpcy5ubih0LGxjLHRbcGldJiZ0WzBdPT09eXUpO30sd2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBXMSxsMSxjMTtXMT0xMTQ2NjMzOTY5O2wxPTU4MTgzMzU3NjtjMT0yO2Zvcih2YXIgdTE9MTt3NS5kMSh1MS50b1N0cmluZygpLHUxLnRvU3RyaW5nKCkubGVuZ3RoLDY5ODkxKSE9PVcxO3UxKyspe1pjLkcodFtOaV0oR3IrUGUrR3IpKTxlJiZpKGd1LHl1KTtjMSs9Mjt9aWYodzUuZDEoYzEudG9TdHJpbmcoKSxjMS50b1N0cmluZygpLmxlbmd0aCw0ODMyNikhPT1sMSl7WmMuRyh0W05pXShHciVQZSVHcikpPj1lfHxpKGd1LHl1KTt9fSxDaTpmdW5jdGlvbigpe3ZhciByLG8scyxhLGMsdSxoLGYscCxfO2Z1bmN0aW9uIHQoKXt2YXIgdCxlO3c1Lm80KDE3KTtlPVt3NS51NChIbixUdCxHcixFbixHcixDYSxKYSksdzUuYzQoeG4sVHQsR3IsRW4sR3IsQ2EsSmEsdzUubzQoMTcpKSx3NS5jNChKYSxUdCxRYSx3NS5ZNCg0KSksdzUuYzQoQ24sR3IsVXMsbXIsVHQsdzUubzQoMSkpLHc1LnU0KFdlLEdyLHhuLG1yLFR0LHc1Llk0KDEpKV07Zm9yKHQ9MDt0PGVbcGldO3QrKylpZihaYy5sKGVbdF0pKXtyZXR1cm4gS2MuZSh0LFpjLmwoZVt0XSkpLGd1O31yZXR1cm4geXU7fWZ1bmN0aW9uIGkoaSl7dT0yO198fChfPWd1LGlvKGZ1bmN0aW9uKCl7Xz15dTt9LFhjLm90PzUwMDoxNTApLEN1JiYhcC5VZXx8KHI9aXUudHQoaSksbz1aYy5CKHIsT24pLGM9WmMuUyhyKSxyW2FhK0dyK0dpXShsbyk9PT1mdT8oclt4ZV1beHRdPVhpLFpjLlAocikscj1pdS50dChpLGd1KSk6byYmKHM9KHI9bylbYWErR3IrR2ldKFRpKSxhPVpjLk4ociksYz1aYy5TKHIpKSxmLkVpKHIsYyksZi5YZS5paXx8Zi5YZS5uaXx8Zi5YZS5yaXx8aVtVb118fGUoZi5jaS51aVtPXSYmZi5jaS51aVtPXSE9PWlbT10pfHxlKHAuS2UmJiFFdSl8fGUoIWlbSGMrR3IrVWVdJiYhaVtIYytHcit4b10pfHxlKCFYYy5vdCYmIVhjLmcmJnR5cGVvZiBpW3F0XSE9PWdlJiYwIT09aVtxdF0pfHxlKCFYYy5vdCYmIWYuWmUmJihYYy5jdHx8WGMuYnx8WGMudXQpKXx8ZSghWGMub3QmJiFwLkdlJiYoWGMuYnx8WGMudXQpJiZzPT09RmkpfHxlKGYucGkoKSl8fGUoZi5faSgpKXx8ZSghZi5QaSgpKXx8ZSghZi5UaShyKSl8fGUoYyYmIXAuTmUpfHxlKCFwLlJlJiZ0KCkpfHwoZi5BaShpKSxYYy5ldCYmbyYmYSYmZi5FZShpKSxYYy5vdHx8IW98fGN8fChYYy5iJiZzIT09RmkmJlpjLlkoKXx8cC5HZSYmcz09PUZpJiYoWGMuYnx8WGMudXQpKSYmZi5FZShpKSxmLkZpPW11LGYuaGkoKSkpKTt9Zj10aGlzO3A9Zi5tdDtfPXl1O2Z1bmN0aW9uIGUodCl7cmV0dXJuKyt1LHQmJktjLmUodSksdDt9cC5SZXx8IXQoKT8oaD1YYy5kfHxYYy5nP3FhOmVjLGZ1bmN0aW9uKCl7aXUuWChyaSxncyxpLGd1KTtYYy5vdD8oaXUuWChyaSxlYyxuLGd1KSxpdS5YKHJpLHFhLG4sZ3UpKTppdS5YKHJpLGgsbixndSk7fSgpLHRoaXMuU2koKSx0aGlzLmppKCksdGhpcy5MaSgpLHRoaXMuemkoKSx0aGlzLkJpKCkpOktjLmUoeXUpO2Z1bmN0aW9uIG4odCl7cj1vPWM9cz1hPW11OyFYYy5vdCYmdFtIYytHcitVZV0rKFhjLm50PzE3OjE1KT55W1BhK0dyK2ddP3AuUWUmJigocj17fSkuc2Nyb2xsYmFyPWd1LGYuRWkocix5dSksZi5waSgpfHxmLl9pKCl8fCFmLlBpKCl8fGYuaGkoKSk6aSh0KTt9fSxsaTpmdW5jdGlvbih0KXtpZih0aGlzLlhlLmlpfHx0aGlzLlhlLm5pfHx0aGlzLlhlLnJpKXtyZXR1cm4geXU7fXN3aXRjaCh0Lnl0KXtjYXNlIF91Om5ldyBRYy5tZSh0KS5wZSgpO2JyZWFrO2Nhc2UgZHU6bmV3IFFjLmdlKHQpLnBlKCk7YnJlYWs7Y2FzZSBsdTpuZXcgUWMueWUodCkucGUoKTticmVhaztjYXNlIHB1OnRyeXtuZXcoUWMuZHQoKSkodCkucGUoKTt9Y2F0Y2godCl7S2MuZSh0KTt9fXJldHVybiB0LnF0KCksZ3U7fSxqaTpmdW5jdGlvbigpe3ZhciB0LGUsaSxuLHIsbztuPXRoaXM7cj17fTtvPWZ1bmN0aW9uKHQpe2ZvcihlPTA7ZTx0W3BpXTtlKyspe24uTWkodFtlXSk7fX07Q28oZnVuY3Rpb24oKXt2YXIgZTtmb3IodD0wO3Q8bi5tdC4kZVtwaV07dCsrKXtpZihlPW4ubXQuJGVbdF0sKGk9cmlbYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGUpKVtwaV0mJm4ucGkoKXx8IW4uUGkoKSl7cmV0dXJuO310eXBlb2YgcltlXSE9PWdlJiZyW2VdPT09aVtwaV18fG8oaSk7fX0sMWUzKTt9LElpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbixyLG8scyxlOSxqOSxaOTtvPTI7cz15dTtmb3IoZT0wO2U8PW87ZSsrKXtpZigobj1yaVt3citHcitqbitHcitMY10odFtIYytHcitVZV0rZSx0W0hjK0dyK3hvXSkpJiZuW1NjK0dyK21jXT09PXBhK0dyK09uK0dyK0ZjK0dyK1BzK0dyK3BhKXtzPWd1O2JyZWFrO31mb3IoaT0wO2k8PW87aSsrKWlmKChuPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXStlLHRbSGMrR3IreG9dK2kpKSYmbltTYytHcittY109PT1wYStHcitPbitHcitGYytHcitQcytHcitwYSl7cz1ndTticmVhazt9aWYocylicmVhazt9aWYocylmb3Iocz15dSxyPW5bYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGVpKSxlPTA7ZTxyW3BpXTtlKyspaWYoWmMuVShyW2VdKSl7cz1ndTticmVhazt9ZTk9MTI0NjQ2Mzc5O2o5PTE4ODY4MTA5NztaOT0yO2Zvcih2YXIgVTk9MTt3NS5MMShVOS50b1N0cmluZygpLFU5LnRvU3RyaW5nKCkubGVuZ3RoLDU5MDM1KSE9PWU5O1U5Kyspe3JldHVybiBzP246eXU7WjkrPTI7fWlmKHc1LmQxKFo5LnRvU3RyaW5nKCksWjkudG9TdHJpbmcoKS5sZW5ndGgsNDQ5MzkpIT09ajkpe3JldHVybiBzP246eXU7fX0sRGk6ZnVuY3Rpb24oKXtpZighdGhpcy5YZS5laSl7dGhpcy5YZS5laT1ndTt0cnl7dGhpcy52aSgpO3RoaXMuYmkoKTt9Y2F0Y2godCl7fUtjLmUoW3RoaXMuWGUubmk/MDoxLHRoaXMuWGUucmk/MDoxLHRoaXMuWGUueGldW05pXShHcikpO319LFhlOnt0aTp5dSxuaTpndSxlaTp5dSxvaTowLHJpOmd1LHNpOjAsaWk6eXV9LG5uOmZ1bmN0aW9uKHQsZSxpKXtmb3IodmFyIG4scj0wLG89ZT09PVJuP3RoaXMubXQuSmU6dGhpcy5tdC5xZTtpJiZvW3BpXTspe29bQnNdKCk7fWZvcig7cjx0W3BpXTtyKyspe3R5cGVvZihuPXRbcl0pPT09VGM/b1tNcl0obik6dHlwZW9mIG49PT1hciYmdHlwZW9mIG5bd2ErR3IrbWNdPT09VGMmJm9bTXJdKG4pO31yZXR1cm4gdGhpczt9LEppOmZ1bmN0aW9uKCl7dmFyIHkxLEgxLHYxLHQsZTt5MT0xNzAzNzYyNDUyO0gxPTEyMTk1OTkwMzk7djE9Mjtmb3IodmFyIEUxPTE7dzUuZDEoRTEudG9TdHJpbmcoKSxFMS50b1N0cmluZygpLmxlbmd0aCwzODk3NykhPT15MTtFMSsrKXtlPTY7Zm9yKHRoaXMuZmk9W107ZT49dGhpcy5XZVtwaV07ZS0tKXsodD10aGlzLldlW2VdKS5MdCgpfHx0aGlzLmZpW01yXSh0KTt9djErPTI7fWlmKHc1LmQxKHYxLnRvU3RyaW5nKCksdjEudG9TdHJpbmcoKS5sZW5ndGgsMjE2MzkpIT09SDEpe2U9MTtmb3IodGhpcy5maT1bXTtlPnRoaXMuV2VbcGldO2UrKyl7KHQ9dGhpcy5XZVtlXSkuTHQoKSYmdGhpcy5maVtNcl0odCk7fX1lPTA7Zm9yKHRoaXMuZmk9W107ZTx0aGlzLldlW3BpXTtlKyspeyh0PXRoaXMuV2VbZV0pLkx0KCkmJnRoaXMuZmlbTXJdKHQpO31yZXR1cm4gdGhpcy5maTt9LGRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2kudWk7fX07aXUuWCh5LFN0LGZ1bmN0aW9uKCl7dmFyIFg3LEI3LFM3O1g3PTIwMTA5MDA5MDY7Qjc9LTE2OTQwNjQ1NTI7Uzc9Mjtmb3IodmFyIGE3PTE7dzUuTDEoYTcudG9TdHJpbmcoKSxhNy50b1N0cmluZygpLmxlbmd0aCwxNDk3OSkhPT1YNzthNysrKXtFdT0hMTtTNys9Mjt9aWYodzUuZDEoUzcudG9TdHJpbmcoKSxTNy50b1N0cmluZygpLmxlbmd0aCw2MjI0OCkhPT1CNyl7RXU9IXt9O31FdT1vNTt9KTtpbyhmdW5jdGlvbigpe3c1Lm80KDE1KTtLYy5lKHc1LnU0KFNpLFllLEdyLFR0LFllLE0sR3IsWWUsUWUsT3QsQW8pKTt3NS5vNCg0KTtLYy5lKHc1LmM0KHhhLFZ0LEdyKSxvdSk7dzUuWTQoNCk7S2MuZSh3NS5jNChxaSxWdCxHciksc3UpO3c1Lm80KDQpO0tjLmUodzUudTQoRXMsVnQsR3IpLGF1KTt9LDEwKTt5W3J1XT15W3J1XXx8ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG87cj17fTtvPVpjLnAoW1trbytHcitSYStHcitudCxbR2MsR2MuaV1dLFtKbixzdV0sW0d0LG91XSxbWW8rR3IraXMsYXVdLFt6YSxbR2MsR2MuWGkscl1dLFthYStHcitJaSxbR2MsR2MuWmldXSxbYWErR3IrUStHcitiYSxbR2MsR2MuWWldXSxbYWErR3IrX28rR3IrYmEsW0djLEdjLktpXV0sW3crR3IrQ24sW0djLEdjLk1pXV0sW0huLFtHYyxHYy5lbixyXV0sW0duLFtHYyxHYy5oaSxyXV0sW2VzLFtHYyxHYy5HaSxyXV0sW2xjK0dyK2JhLFtHYyxHYy5xZSxyXV0sW1JuK0dyK2JhLFtHYyxHYy5KZSxyXV0sW2FhK0dyK2h0K0dyK0NuLFtHYyxHYy53ZV1dLFthYStHcitubitHcitabyxbR2MsR2MuJGldXSxbYWErR3IreWUrR3IrWm8sW0djLEdjLlZpXV0sW0JhK0dyK3llLFtHYyxHYy5QaV1dLFtrbytHcitkdCtHcitKZSxbR2MsR2MucGldXSxbYWErR3IrVXQrR3IramUrR3IrQmksW0djLEdjLlFpXV0sW2FhK0dyK1V0K0dyK0NhLFtHYyxHYy5kaV1dLFt6aSxbR2MsR2MuTmldXSxbYWErR3IrXyxbR2MsR2MuVWldXSxbRm8rR3IrXyxbR2MsR2MuUmldXSxbaGErVHQrT28sW0tjLEtjLmVdXSxbaGErVHQrRyxbS2MsS2Mucl1dLFtPYStUdCtsaSxbdHUsdHUuYV1dLFtPYStUdCthYSxbdHUsdHUuY11dLFtPYStUdCt4bixbdHUsdHUudV1dLFt0aStUdCtrbytHcitkaSxbZXUsZXUuc11dLFt0aStUdCtsaSxbZXUsZXUuYV1dLFt0aStUdCthYSxbZXUsZXUuY11dLFt0aStUdCt4bixbZXUsZXUudV1dLFtjZStUdCtKbixYYy5wdF0sW2NlK1R0K0lyK0dyK3FpLFhjLmZ0XSxbY2UrVHQra28rR3IrQ3MsWGMuaXRdLFtjZStUdCtrbytHcitYbyxYYy5udF0sW2NlK1R0K2tvK0dyK01hLFhjLm1dLFtjZStUdCtrbytHcit2YStHcitmYytHcit0YyxYYy5ldF0sW2NlK1R0K2tvK0dyK0JuLFhjLnJ0XSxbY2UrVHQra28rR3Irdm4sWGMub3RdLFtjZStUdCtrbytHcitoZSxYYy5zdF0sW2NlK1R0K2tvK0dyK3l0LFhjLmF0XSxbY2UrVHQra28rR3IrZ2MsWGMuYl0sW2NlK1R0K2tvK0dyK0luLFhjLmRdLFtjZStUdCtrbytHcitGYSxYYy5odF0sW2NlK1R0K2tvK0dyK3ZhK0dyK1BzLFhjLmddLFtjZStUdCtrbytHcitjcyxYYy5jdF0sW2NlK1R0K2tvK0dyK0VvLFhjLnV0XSxbY2UrVHQrSm4rR3IrdXQsW1hjLFhjLkpdXSxbY2UrVHQrYW8rR3IrZGksW1hjLFhjLmx0XV0sW0NhK1R0K2xjK0dyK3FzLFtpdSxpdS5LXV0sW0NhK1R0K2xjLFtpdSxpdS5YXV0sW0NhK1R0K2xhLFtpdSxpdS5aXV0sW0NhK1R0K2FhK0dyK3luLFtpdSxpdS50dF1dLFtLZStUdCtrbytHcit2ZStHciskZSxbWmMsWmMud11dLFtLZStUdCtKbitHcit1dCxbWmMsWmMuSl1dLFtLZStUdCtvcyxbWmMsWmMuR11dLFtLZStUdCt3byxbWmMsWmMueV1dLFtLZStUdCtKaSxbWmMsWmMuJF1dLFtLZStUdCtVcytHcitDbixbWmMsWmMuel1dLFtLZStUdCt4bitHcitDbixbWmMsWmMuUF1dLFtLZStUdCthYStHcitVaSxbWmMsWmMuQl1dLFtLZStUdCtEZStHcitZaSxbWmMsWmMuSF1dXSk7Zm9yKGUgaW4gbylpZih5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShvLGUpKXtmb3Iobj1lW0NyXShHcitUdCtHciksdD1yLGk9MDtpPG5bcGldLTE7aSsrKXt0eXBlb2YgdFtuW2ldXT09PWdlJiYodFtuW2ldXT17fSk7dD10W25baV1dO310W25bbltwaV0tMV1dPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIFpjLngodFtlXSk/MT09PXRbZV1bcGldP3RbZV1bMF06ZnVuY3Rpb24oKXtyZXR1cm4gMj09PXRbZV1bcGldP3RbZV1bMV1bb2FdKHRbZV1bMF0sYXJndW1lbnRzKToodFtlXVsxXVtvYV0odFtlXVswXSxhcmd1bWVudHMpLHRbZV1bMl0pO306dFtlXTt9KG8sZSk7fXJldHVybiByO30oKTt9KHQucG9wbnN8fHpjK0dyK1VjK0dyK09jLHQsdFtFaV0sdFtPaV0sdFttcl0sdFtyb10sdFtibl0sdFtObl0sdFtDb10sdFtyaStHcitpb10sdFtsaStHcitZaV0sdFtNaStHcitZaV0sdFtsaStHcitBaV0sdFtNaStHcitBaV0sdFtMdCtHcit0YytHcitmYytHcitndF0sdFt5K0dyK1J0XSx0W2tvK0dyK3lpK0dyK2d0XSx0W2lzXSx0W1hlK0dyK1ZyK0dyK0dzK0dyK3ZhK0dyK1VyXSx0W2RyXSk7fSh3aW5kb3cpO2Y1eXkuSD1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC55PT09J2Z1bmN0aW9uJz9mNXl5LkwueS5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwueTt9O2Y1eXkuVz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Y1eXkuZz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC5PPT09J2Z1bmN0aW9uJz9mNXl5LkwuTy5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwuTzt9O2Y1eXkuZj1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Z1bmN0aW9uIGY1eXkoKXt9ZjV5eS5CPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5MLnk9PT0nZnVuY3Rpb24nP2Y1eXkuTC55LmFwcGx5KGY1eXkuTCxhcmd1bWVudHMpOmY1eXkuTC55O307ZjV5eS5SPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5JPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5MPWZ1bmN0aW9uKEQpe3JldHVybnt5OmZ1bmN0aW9uKCl7dmFyIEcsZD1hcmd1bWVudHM7c3dpdGNoKEQpe2Nhc2UgMjpHPWRbMF0qZFsxXTticmVhaztjYXNlIDA6Rz1kWzBdfGRbMV07YnJlYWs7Y2FzZSAxOkc9ZFsxXS1kWzBdO2JyZWFrO31yZXR1cm4gRzt9LE86ZnVuY3Rpb24oVil7RD1WO319O30oKTtmNXl5Lno9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiBmNXl5LkwuTz09PSdmdW5jdGlvbic/ZjV5eS5MLk8uYXBwbHkoZjV5eS5MLGFyZ3VtZW50cyk6ZjV5eS5MLk87fTtmNXl5LkM9ZnVuY3Rpb24oKXt2YXIgUT0yO3doaWxlKFEhPT0xKXtzd2l0Y2goUSl7Y2FzZSAyOnJldHVybnt2OmZ1bmN0aW9uKFUpe3ZhciBiPTI7d2hpbGUoYiE9PTE0KXtzd2l0Y2goYil7Y2FzZSAyOnZhciBLPScnLGw9ZGVjb2RlVVJJKCJ0JTExa2JsYyU3RCUwNmhiZGxtbDYhJTNDJTNDKyU1QmNkLTo1JTVENyg4Jy8lNUJ3LzI4bWolM0M4KTA3YiolMUMyJTI1bSUwN3ElN0RvYmslMTh3JTdDc2RtaDcpKSUyMipaMmQlMTgtNUErKS5vbXMlMTUlMjUlM0UwKyU1QiUzQyUxMXUlMjA2TXk/KScsSy1kJTNFOSxLMi00OyUyMCUwNjojMCU3RDUlNUM6IzMya0s2IXU5Kks4JTIwNTo2JTVDcSUxRiUzRScsWC1sMCUyMDYlNUN5Ljh1KUc4KDgxZUolM0MqMiclMjAlMDg1JTI1JTNFMCslNUIlM0NsOyUzQylNcWIxOiZJNSIpO2I9MTticmVhaztjYXNlIDk6Sys9U3RyaW5nLmZyb21DaGFyQ29kZShsLmNoYXJDb2RlQXQoWSleVS5jaGFyQ29kZUF0KGspKTtiPTg7YnJlYWs7Y2FzZSAxOnZhciBZPTAsaz0wO2I9NTticmVhaztjYXNlIDU6Yj1ZPGwubGVuZ3RoPzQ6NzticmVhaztjYXNlIDM6az0wO2I9OTticmVhaztjYXNlIDg6WSsrLGsrKztiPTU7YnJlYWs7Y2FzZSA0OmI9az09PVUubGVuZ3RoPzM6OTticmVhaztjYXNlIDc6Sz1LLnNwbGl0KCcoJyk7cmV0dXJuIGZ1bmN0aW9uKFApe3ZhciBoPTI7d2hpbGUoaCE9PTEpe3N3aXRjaChoKXtjYXNlIDI6cmV0dXJuIEtbUF07YnJlYWs7fX19O2JyZWFrO319fSgnRShZTF1VJyl9O2JyZWFrO319fSgpOyFmdW5jdGlvbihlLG8sYyl7InVzZSBzdHJpY3QiO3ZhciBUPWY1eXk7dmFyIGksbix0O1QuZygwKTtpPVQuUihULkgoIjgiLDApKTtULnooMCk7bj1bVC5JKFQuSCgnXHgzMVx4MzAnLDApKSxULkkoKyI2IiksVC5SKCsnXHgzMVx4MzQnKSxULlIoKyIxMiIpLFQuUihULkgoIjUiLDAsVC5nKDApKSksVC5JKFQuQigwLCdceDMwJyxULnooMSkpKSxULlIoVC5CKCdceDMxXHgzMScsMCxULnooMCkpKSxULkkoKyIyIildO1QuZygyKTt0PVsrJ1x4MzJceDMwXHgzMVx4MzknLFQuQignXHUwMDM1JywxKSxULkgoJ1x4MzFceDM2JywwLFQuZygwKSldO3RyeXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yy5Mb2dnZXIubG9nKGksVC5SKCsnXHgzMScpLG4pO2MuTG9nZ2VyLmxvZyhpLFQuUigiNyItMCksdC5qb2luKFQuSSgnXHgzNCctMCkpKTt9LCsiNTAwIik7VC56KDEpO2Mub2JqZWN0PVtuLFsrIjM2MCIsNDk0LDM5MSwrIjMxMiIsVC5CKDAsIjMxMiIpLFQuSCgiMzY1IiwwLFQuZygwKSksKydceDM0XHgzMFx4MzQnLFQuSCgiMzAwIiwwLFQuZygwKSksKydceDMzXHgzNlx4MzBceDMwXHgzMScsVC5IKDAsJ1x4MzNceDM5XHgzNVx4MzJceDMyJyxULmcoMSkpLFQuQigiMTg3NzEiLDAsVC56KDApKSwrIjM0OTQ4IiwxNjU0MSwyOTU3MSwrJ1x4MzVceDMxXHgzN1x4MzFceDM5JywzMzkwOCxULkgoIjc4ODQwIiwwLFQuZygwKSksMTA1OTY0LCsnXHgzOFx4MzRceDM1XHgzNVx4MzUnLFQuSCgiNzI0MjYiLDAsVC5nKDApKSxULkgoJ1x4MzNceDMwXHgzNVx4MzlceDM5JywwLFQuZygwKSksVC5CKCdcdTAwMzRcdTAwMzFcdTAwMzZcdTAwMzJcdTAwMzYnLDAsVC5nKDApKSxULkIoMCwnXHUwMDM4XHUwMDM4XHUwMDMwXHUwMDM4XHUwMDM0JyxULnooMSkpLFQuSCgiNjU0MDkiLDEsVC5nKDIpKSwxNDQwMCxULkgoIjEyODQ0IiwxLFQueigyKSksKydceDM4XHgzNlx4MzBceDMyJyxULkgoJ1x4MzFceDMwXHgzOVx4MzJceDMwJywxLFQuZygyKSksMTM0MTYsVC5IKCdceDMyXHgzNFx4MzhceDMyXHgzMCcsMCxULmcoMCkpLFQuQignXHgzM1x4MzdceDM5XHgzN1x4MzYnLDAsVC56KDApKSwrJ1x4MzVceDMxXHg2NVx4MzMnXSx0LFtULkgoJ1x4MzNceDM2XHgzMicsMCxULmcoMCkpLDQ5NiwrJ1x4MzNceDM5XHgzOScsVC5IKDAsIjczMDkyMyIsVC5nKDEpKSwrJ1x1MDAzMlx1MDAzNVx1MDAzMVx1MDAzMicsVC5IKCI2Mzk4IiwwLFQueigwKSksVC5IKCdcdTAwMzRcdTAwMzFcdTAwMzFcdTAwMzlcdTAwMzFcdTAwMzJcdTAwMzInLDEsVC5nKDIpKSwrJ1x4MzFceDMxXHgzMVx4MzlceDMyJyxULkgoJ1x4MzNceDM0XHgzMlx4MzNceDM2JywwLFQueigwKSksMjQ2MSwzMjU1NywxMDIxMF0sby5jdXJyZW50U2NyaXB0LFQuSCgiMSIsMSxULmcoMikpXTt9Y2F0Y2gobyl7dm9pZCgnXHgzMCcqMSkhPT1lLmNvbnNvbGUmJmUuY29uc29sZS5sb2cmJkZ1bmN0aW9uLmFwcGx5LmNhbGwoZS5jb25zb2xlLmxvZyxlLmNvbnNvbGUsW1QuSSgnXHgzMVx4MzMnfDApXSk7fX0od2luZG93LGRvY3VtZW50LHdpbmRvd1t3aW5kb3cucG9wbnN8fGY1eXkuUigiMyItMCldKTt2YXIgXzB4MTM4Zj1bJ1x4NThceDQ4XHg2M1x4NzInLCdceDQ5XHg1NFx4NDVceDZmXHg2NFx4NDNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NmNceDUwXHg1NFx4NDVceDZmXHg1YVx4NTNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NzVceDUwXHg1OFx4NTFceDc1XHg2Mlx4NzlceDY3XHg2OVx4NjJceDUzXHg0OVx4NzBceDRmXHg3YVx4NTlceDY3XHg2Mlx4NjlceDM0XHg3OVx4NGNceDZkXHg3N1x4MzlceDQ5XHg2ZFx4NzNceDY5XHg0Y1x4NDdceDM0XHg3NVx4NGRceDY5XHgzNVx4NzdceDUwXHg1NFx4NDFceDczXHg2Mlx4NjlceDM0XHg3OVx4NGNceDZlXHg0NVx4MzlceDRkXHg0M1x4NzhceDc1XHg0Y1x4NmFceDQ5XHg3NVx4NjRceDdhXHgzMFx4NjlceDYxXHg2OVx4NDlceDczXHg2Mlx4NjlceDM1XHgzMVx4NTBceDUzXHg0OVx4MzNceDRmXHg2OVx4MzhceDc2XHg2M1x4NjlceDM1XHgzNFx4NGNceDZhXHg1NVx4NzZceDYxXHg0M1x4MzlceDY4XHg0Y1x4NzlceDQ5XHg3Mlx4NWFceDUzXHg3OFx4MzBceDRjXHg2ZFx4NDlceDc1XHg2MVx4NTNceDY4XHg3NVx4NGJceDUzXHg3OFx4NzVceDY2XHg1M1x4NzhceDc1XHg1MFx4NTdceDRkXHg2Zlx4NWFceDc5XHg2N1x4NmZceDY0XHg0M1x4MzVceDZiXHg0Y1x4NmVceDU5XHg2Zlx4NTFceDY5XHg0Mlx4NGZceDRiXHg0M1x4NDlceDZmXHg0ZVx4N2FceDM5XHgzOFx4NTNceDY5XHgzMVx4MzVceDRiXHg1NFx4NzBceDYzXHg1OFx4NDNceDM5XHg2M1x4NThceDQzXHgzOFx4NjlceDRiXHg1M1x4NzdceDY5XHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDRjXHg3OVx4NDlceDcwXHg1N1x4N2FceDQyXHg2NFx4NjZceDQ4XHg3N1x4NjlceDUzXHg3OVx4MzRceDMxXHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDQ5XHg2OVx4NmJceDc1XHg1NFx4NDNceDY3XHg3OFx4NGJceDQ4XHg1MVx4NzBceDY1XHg3YVx4NTlceDY3XHg2NFx4NDNceDM1XHg0ZVx4NGJceDQ0XHg0MVx4NzBceDRjXHg2Ylx4NjNceDZmXHg1M1x4NDNceDZjXHgzOVx4NGJceDUzXHgzNVx4NDJceDRiXHg0M1x4NDlceDY5XHg0Ylx4NTNceDZiXHg3MFx4NGZceDMzXHg2Zlx4NzVceDRlXHg0M1x4NjdceDY5XHg1MVx4NzlceDQ5XHg3M1x4NGRceDUzXHg2N1x4NzBceDY1XHgzMlx4NTVceDZmXHg2Mlx4NjlceDczXHg2OVx4NGNceDMyXHg1OVx4NzVceDRmXHg1M1x4NDlceDcwXHg0Y1x4NmFceDUxXHg2Zlx4NDlceDZiXHg1MVx4NjlceDRjXHg0NFx4NDVceDZmXHg0Ylx4NThceDc0XHg0N1x4NGJceDQ0XHg0NVx4NmZceDRiXHg1OFx4NzRceDZjXHg0Ylx4NDdceDM0XHg3Mlx4NDlceDY5XHgzOVx4N2FceDRjXHg2YVx4NmJceDY5XHg0Ylx4NThceDMwXHg3M1x4NTJceDUzXHg2Y1x4MzlceDRiXHg1OFx4MzBceDcwXHg2Nlx4NTNceDY4XHg0YVx4NGJceDU0XHg3M1x4M2QnLCdceDYzXHgzM1x4NDJceDczXHg2MVx4NThceDUxXHgzZCcsJ1x4NWFceDZlXHg0YVx4NzZceDYyXHg1NVx4NGVceDZmXHg1OVx4NThceDRhXHg0NFx4NjJceDMyXHg1Mlx4NmMnLCdceDY0XHg0N1x4MzlceDU0XHg2NFx4NDhceDRhXHg3MFx4NjJceDZkXHg2M1x4M2QnLCdceDYzXHg2ZFx4NTZceDc3XHg2Mlx4NDdceDQ2XHg2YVx4NWFceDUxXHgzZFx4M2QnXTsoZnVuY3Rpb24oXzB4MWI1OWFjLF8weDMwZDYwNSl7dmFyIF8weDQ0NTljOT1mdW5jdGlvbihfMHgxNDY4YWMpe3doaWxlKC0tXzB4MTQ2OGFjKXtfMHgxYjU5YWNbJ3B1c2gnXShfMHgxYjU5YWNbJ3NoaWZ0J10oKSk7fX07XzB4NDQ1OWM5KCsrXzB4MzBkNjA1KTt9KF8weDEzOGYsMHgxMGIpKTt2YXIgXzB4MTdjMT1mdW5jdGlvbihfMHgxOTc3ZGIsXzB4Yzc5ZjY5KXtfMHgxOTc3ZGI9XzB4MTk3N2RiLTB4MDt2YXIgXzB4MTYyZGYyPV8weDEzOGZbXzB4MTk3N2RiXTtpZihfMHgxN2MxWydPTXJTcXgnXT09PXVuZGVmaW5lZCl7KGZ1bmN0aW9uKCl7dmFyIF8weDI0NzE2Njt0cnl7dmFyIF8weDViZDYyOT1GdW5jdGlvbigncmV0dXJuXHgyMChmdW5jdGlvbigpXHgyMCcrJ3t9LmNvbnN0cnVjdG9yKFx4MjJyZXR1cm5ceDIwdGhpc1x4MjIpKFx4MjApJysnKTsnKTtfMHgyNDcxNjY9XzB4NWJkNjI5KCk7fWNhdGNoKF8weDMyOTViMCl7XzB4MjQ3MTY2PXdpbmRvdzt9dmFyIF8weDI4M2NlOT0nQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0nO18weDI0NzE2NlsnYXRvYiddfHwoXzB4MjQ3MTY2WydhdG9iJ109ZnVuY3Rpb24oXzB4MzQxYjE5KXt2YXIgXzB4MTQ0Zjk2PVN0cmluZyhfMHgzNDFiMTkpWydyZXBsYWNlJ10oLz0rJC8sJycpO2Zvcih2YXIgXzB4MjhhNzVlPTB4MCxfMHg1OWNiNWIsXzB4MWUwOTNkLF8weDUxZWZhNj0weDAsXzB4OTIyYWFjPScnO18weDFlMDkzZD1fMHgxNDRmOTZbJ2NoYXJBdCddKF8weDUxZWZhNisrKTt+XzB4MWUwOTNkJiYoXzB4NTljYjViPV8weDI4YTc1ZSUweDQ/XzB4NTljYjViKjB4NDArXzB4MWUwOTNkOl8weDFlMDkzZCxfMHgyOGE3NWUrKyUweDQpP18weDkyMmFhYys9U3RyaW5nWydmcm9tQ2hhckNvZGUnXSgweGZmJl8weDU5Y2I1Yj4+KC0weDIqXzB4MjhhNzVlJjB4NikpOjB4MCl7XzB4MWUwOTNkPV8weDI4M2NlOVsnaW5kZXhPZiddKF8weDFlMDkzZCk7fXJldHVybiBfMHg5MjJhYWM7fSk7fSgpKTtfMHgxN2MxWyd4anFrREYnXT1mdW5jdGlvbihfMHgzMzc3MTgpe3ZhciBfMHg1ZGRiMTU9YXRvYihfMHgzMzc3MTgpO3ZhciBfMHg1NjBiOTU9W107Zm9yKHZhciBfMHhjOTdmOTE9MHgwLF8weDQ0MTg3Mj1fMHg1ZGRiMTVbJ2xlbmd0aCddO18weGM5N2Y5MTxfMHg0NDE4NzI7XzB4Yzk3ZjkxKyspe18weDU2MGI5NSs9JyUnKygnMDAnK18weDVkZGIxNVsnY2hhckNvZGVBdCddKF8weGM5N2Y5MSlbJ3RvU3RyaW5nJ10oMHgxMCkpWydzbGljZSddKC0weDIpO31yZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KF8weDU2MGI5NSk7fTtfMHgxN2MxWydrRG1IU2snXT17fTtfMHgxN2MxWydPTXJTcXgnXT0hIVtdO312YXIgXzB4MzA2NDA1PV8weDE3YzFbJ2tEbUhTayddW18weDE5NzdkYl07aWYoXzB4MzA2NDA1PT09dW5kZWZpbmVkKXtfMHgxNjJkZjI9XzB4MTdjMVsneGpxa0RGJ10oXzB4MTYyZGYyKTtfMHgxN2MxWydrRG1IU2snXVtfMHgxOTc3ZGJdPV8weDE2MmRmMjt9ZWxzZXtfMHgxNjJkZjI9XzB4MzA2NDA1O31yZXR1cm4gXzB4MTYyZGYyO307ZXZhbChmdW5jdGlvbihfMHg0OWIyZTksXzB4MTA2OTM1LF8weDIyM2Q1NixfMHgyZmY2ZTksXzB4ZWQ3ZDI2LF8weDNiYzUwMCl7XzB4ZWQ3ZDI2PWZ1bmN0aW9uKF8weDI2YmI4Mil7cmV0dXJuKF8weDI2YmI4MjxfMHgxMDY5MzU/Jyc6XzB4ZWQ3ZDI2KHBhcnNlSW50KF8weDI2YmI4Mi9fMHgxMDY5MzUpKSkrKChfMHgyNmJiODI9XzB4MjZiYjgyJV8weDEwNjkzNSk+MHgyMz9TdHJpbmdbXzB4MTdjMSgnMHgwJyldKF8weDI2YmI4MisweDFkKTpfMHgyNmJiODJbXzB4MTdjMSgnMHgxJyldKDB4MjQpKTt9O2lmKCEnJ1tfMHgxN2MxKCcweDInKV0oL14vLFN0cmluZykpe3doaWxlKF8weDIyM2Q1Ni0tKXtfMHgzYmM1MDBbXzB4ZWQ3ZDI2KF8weDIyM2Q1NildPV8weDJmZjZlOVtfMHgyMjNkNTZdfHxfMHhlZDdkMjYoXzB4MjIzZDU2KTt9XzB4MmZmNmU5PVtmdW5jdGlvbihfMHgzMjA3ZjYpe3JldHVybiBfMHgzYmM1MDBbXzB4MzIwN2Y2XTt9XTtfMHhlZDdkMjY9ZnVuY3Rpb24oKXtyZXR1cm4gXzB4MTdjMSgnMHgzJyk7fTtfMHgyMjNkNTY9MHgxO307d2hpbGUoXzB4MjIzZDU2LS0pe2lmKF8weDJmZjZlOVtfMHgyMjNkNTZdKXtfMHg0OWIyZTk9XzB4NDliMmU5W18weDE3YzEoJzB4MicpXShuZXcgUmVnRXhwKCdceDVjXHg2MicrXzB4ZWQ3ZDI2KF8weDIyM2Q1NikrJ1x4NWNceDYyJywnXHg2NycpLF8weDJmZjZlOVtfMHgyMjNkNTZdKTt9fXJldHVybiBfMHg0OWIyZTk7fShfMHgxN2MxKCcweDQnKSwweDMyLDB4MzIsJ1x4N2NceDY2XHg3NVx4NmVceDYzXHg3NFx4NjlceDZmXHg2ZVx4N2NceDczXHg3NFx4NzlceDZjXHg2NVx4N2NceDczXHg3MFx4NmNceDY5XHg3NFx4N2NceDYxXHg2NFx4NjRceDQ1XHg3Nlx4NjVceDZlXHg3NFx4NGNceDY5XHg3M1x4NzRceDY1XHg2ZVx4NjVceDcyXHg3Y1x4NjNceDZmXHg2ZFx4N2NceDcyXHg2NVx4NzRceDc1XHg3Mlx4NmVceDdjXHg2OFx4NzRceDc0XHg3MFx4NzNceDdjXHg3Nlx4NjFceDcyXHg3Y1x4NzBceDZlXHg2N1x4N2NceDcwXHg3NFx4N2NceDYyXHg2Zlx4NjRceDc5XHg3Y1x4NjVceDZlXHg2M1x4NmZceDY0XHg2NVx4NTVceDUyXHg0OVx4NDNceDZmXHg2ZFx4NzBceDZmXHg2ZVx4NjVceDZlXHg3NFx4N2NceDcyXHg2NVx4NjZceDY1XHg3Mlx4NzJceDY1XHg3Mlx4N2NceDdjXHg3Y1x4NjJceDc0XHg2Zlx4NjFceDdjXHg3Nlx4MzFceDdjXHg2MVx4NzBceDcwXHg2NVx4NmVceDY0XHg0M1x4NjhceDY5XHg2Y1x4NjRceDdjXHg2ZVx4NmZceDZlXHg2NVx4N2NceDYxXHg2Mlx4NzNceDZmXHg2Y1x4NzVceDc0XHg2NVx4N2NceDcwXHg2Zlx4NzNceDY5XHg3NFx4NjlceDZmXHg2ZVx4N2NceDY5XHg2ZFx4NjdceDdjXHg3Y1x4NjNceDcyXHg2NVx4NjFceDc0XHg2NVx4NDVceDZjXHg2NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg3NFx4NmZceDcwXHg3Y1x4NmNceDY1XHg2Nlx4NzRceDdjXHg2MVx4NzBceDY5XHg3Y1x4N2NceDdjXHg3M1x4NzJceDYzXHg3Y1x4NzJceDY1XHg3MFx4NmNceDYxXHg2M1x4NjVceDdjXHg3MFx4NmZceDY5XHg2ZVx4NzRceDY1XHg3Mlx4NDVceDc2XHg2NVx4NmVceDc0XHg3M1x4N2NceDYzXHg2Y1x4NjlceDYzXHg2Ylx4NjFceDY5XHg2ZVx4NjVceDdjXHg2MVx4NzBceDcwXHg3Y1x4NzdceDY5XHg2ZVx4NjRceDZmXHg3N1x4N2NceDZhXHg2Zlx4NjlceDZlXHg3Y1x4NmVceDY1XHg3N1x4N2NceDQ0XHg0Zlx4NGRceDQzXHg2Zlx4NmVceDc0XHg2NVx4NmVceDc0XHg0Y1x4NmZceDYxXHg2NFx4NjVceDY0XHg3Y1x4NmNceDZmXHg2MVx4NjRceDdjXHgzNVx4NjVceDMzXHg3Y1x4NzNceDY1XHg3NFx4NTRceDY5XHg2ZFx4NjVceDZmXHg3NVx4NzRceDdjXHg3NFx4NmZceDUzXHg3NFx4NzJceDY5XHg2ZVx4NjdceDdjXHgzMVx4MzZceDdjXHg2NFx4NmZceDYzXHg3NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg2MVx4NmVceDY0XHg3Mlx4NmZceDY5XHg2NFx4N2NceDY0XHg2Zlx4NzRceDdjXHg2ZFx4NjFceDcwXHg3Y1x4NjNceDY4XHg2MVx4NzJceDQzXHg2Zlx4NjRceDY1XHg0MVx4NzRceDdjXHg1Mlx4NjVceDY3XHg0NVx4NzhceDcwJ1tfMHgxN2MxKCcweDUnKV0oJ1x4N2MnKSwweDAse30pKTsKO3ZhciBjSVBvcCA9IGZ1bmN0aW9uIGNJUG9wKHVybCkgewoJCWNQb3AuY29uZmlnKHsKCQkJY292ZXJUYWdzOiBbJ3ZpZGVvJywgJ2lmcmFtZSddLAoJCQl0YWJVbmRlcklnbm9yZVRhcmdldEJsYW5rOiB0cnVlLAoJCQlkZWxheTogMTAwCgkJfSk7CgkJY1BvcC5hZGQodXJsLCB7CgkJCW5ld1RhYjogdHJ1ZSwKCQkJdW5kZXI6IHRydWUsCgkJCWNvb2tpZUV4cGlyZXM6IDEwMH0pfTs=(Line 1)
Message:
[object HTMLDivElement]
console-api log URL: data:text/plain;base64,d2luZG93LnBvcG5zID0gJ2NQb3AnO3Y3R0cuYzQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmU0PT09J2Z1bmN0aW9uJz92N0dHLlo0LmU0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmU0O307djdHRy5pMT1mdW5jdGlvbigpe3ZhciBxMT1mdW5jdGlvbihJMSxLMSl7dmFyIEExPUsxJjB4ZmZmZjt2YXIgcjE9SzEtQTE7cmV0dXJuKHIxKkkxfDApKyhBMSpJMXwwKXwwO30sbTE9ZnVuY3Rpb24oajEsVTEsaDEpe3ZhciB4MT0weGNjOWUyZDUxLHoxPTB4MWI4NzM1OTM7dmFyIGUxPWgxO3ZhciB0MT1VMSZ+MHgzO2Zvcih2YXIgWjE9MDtaMTx0MTtaMSs9NCl7dmFyIFExPWoxLmNoYXJDb2RlQXQoWjEpJjB4ZmZ8KGoxLmNoYXJDb2RlQXQoWjErMSkmMHhmZik8PDh8KGoxLmNoYXJDb2RlQXQoWjErMikmMHhmZik8PDE2fChqMS5jaGFyQ29kZUF0KFoxKzMpJjB4ZmYpPDwyNDtRMT1xMShRMSx4MSk7UTE9KFExJjB4MWZmZmYpPDwxNXxRMT4+PjE3O1ExPXExKFExLHoxKTtlMV49UTE7ZTE9KGUxJjB4N2ZmZmYpPDwxM3xlMT4+PjE5O2UxPWUxKjUrMHhlNjU0NmI2NHwwO31RMT0wO3N3aXRjaChVMSU0KXtjYXNlIDM6UTE9KGoxLmNoYXJDb2RlQXQodDErMikmMHhmZik8PDE2O2Nhc2UgMjpRMXw9KGoxLmNoYXJDb2RlQXQodDErMSkmMHhmZik8PDg7Y2FzZSAxOlExfD1qMS5jaGFyQ29kZUF0KHQxKSYweGZmO1ExPXExKFExLHgxKTtRMT0oUTEmMHgxZmZmZik8PDE1fFExPj4+MTc7UTE9cTEoUTEsejEpO2UxXj1RMTt9ZTFePVUxO2UxXj1lMT4+PjE2O2UxPXExKGUxLDB4ODVlYmNhNmIpO2UxXj1lMT4+PjEzO2UxPXExKGUxLDB4YzJiMmFlMzUpO2UxXj1lMT4+PjE2O3JldHVybiBlMTt9O3JldHVybntiMTptMX07fSgpO3Y3R0cuRDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LkM2PT09J2Z1bmN0aW9uJz92N0dHLlo0LkM2LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LkM2O307djdHRy5MMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLlo2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5DNj09PSdmdW5jdGlvbic/djdHRy5nNi5DNi5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5DNjt9O3Y3R0cuWjQ9ZnVuY3Rpb24oQTQpe3JldHVybntlNDpmdW5jdGlvbigpe3ZhciBTNCxsND1hcmd1bWVudHM7c3dpdGNoKEE0KXtjYXNlIDI6UzQ9bDRbMF0rbDRbMV07YnJlYWs7Y2FzZSAyMjpTND1sNFsyXStsNFswXS1sNFsxXTticmVhaztjYXNlIDc6UzQ9bDRbNF0rbDRbMTBdK2w0WzExXStsNFszXSsobDRbNl0rbDRbMV0rbDRbNV0rbDRbOV0rbDRbMl0rbDRbMF0rbDRbOF0pK2w0WzddO2JyZWFrO2Nhc2UgNjpTND1sNFsyXS9sNFswXS9sNFsxXTticmVhaztjYXNlIDE3OlM0PWw0WzZdK2w0WzFdK2w0WzBdK2w0WzRdK2w0WzVdK2w0WzJdK2w0WzNdO2JyZWFrO2Nhc2UgMTpTND1sNFszXStsNFs0XStsNFsyXStsNFsxXStsNFswXTticmVhaztjYXNlIDM6UzQ9bDRbMV0rKGw0WzNdK2w0WzVdK2w0WzBdK2w0WzRdK2w0WzJdKTticmVhaztjYXNlIDExOlM0PWw0WzFdPGw0WzBdO2JyZWFrO2Nhc2UgOTpTND1sNFswXT4tbDRbMV07YnJlYWs7Y2FzZSA0OlM0PWw0WzBdK2w0WzFdK2w0WzJdO2JyZWFrO2Nhc2UgODpTND1sNFswXT09PWw0WzFdO2JyZWFrO2Nhc2UgMTQ6UzQ9bDRbMF0rbDRbNF0rbDRbN10rbDRbMl0rbDRbNV0rbDRbM10rbDRbMV0rbDRbNl0rbDRbOF07YnJlYWs7Y2FzZSAyMTpTND1sNFswXSVsNFsyXS1sNFsxXTticmVhaztjYXNlIDEyOlM0PWw0WzVdK2w0WzJdK2w0WzZdK2w0WzBdKyhsNFs0XStsNFszXStsNFsxXSk7YnJlYWs7Y2FzZSAxNjpTND1sNFswXStsNFsyXTxsNFsxXTticmVhaztjYXNlIDIwOlM0PWw0WzFdJWw0WzJdKmw0WzBdO2JyZWFrO2Nhc2UgNTpTND1sNFs1XSsobDRbMTNdK2w0WzNdK2w0WzddK2w0WzEyXStsNFs2XStsNFs0XStsNFsyXStsNFswXStsNFsxMF0rbDRbOF0rbDRbMTFdK2w0WzldK2w0WzFdKTticmVhaztjYXNlIDA6UzQ9bDRbOV0rbDRbOF0rbDRbMl0rbDRbMTNdK2w0WzNdK2w0WzRdK2w0WzFdK2w0WzBdK2w0WzddK2w0WzExXStsNFsxMF0rbDRbNl0rbDRbNV0rbDRbMTRdK2w0WzEyXTticmVhaztjYXNlIDE4OlM0PWw0WzBdKmw0WzJdJWw0WzFdO2JyZWFrO2Nhc2UgMTA6UzQ9LWw0WzBdPT09bDRbMV07YnJlYWs7Y2FzZSAxMzpTND1sNFsxNF0rbDRbMjddK2w0WzE5XStsNFswXStsNFsxMV0rbDRbNV0rbDRbMTBdK2w0WzI5XStsNFsyXStsNFsyM10rbDRbMjBdK2w0WzRdK2w0WzIyXStsNFsxOF0rbDRbMjRdK2w0WzEyXStsNFs3XStsNFsxNV0rbDRbNl0rbDRbMTNdK2w0WzE3XStsNFs5XStsNFsyOF0rbDRbMjFdK2w0WzFdK2w0WzMwXStsNFsyNl0rbDRbMTZdK2w0WzNdK2w0WzI1XStsNFs4XTticmVhaztjYXNlIDE5OlM0PWw0WzFdL2w0WzBdJWw0WzJdO2JyZWFrO2Nhc2UgMTU6UzQ9bDRbNV0rbDRbNF0rbDRbMTBdK2w0WzFdK2w0WzZdK2w0WzldK2w0WzJdK2w0WzddK2w0WzhdK2w0WzNdK2w0WzBdO2JyZWFrO31yZXR1cm4gUzQ7fSxzNDpmdW5jdGlvbihQNCl7QTQ9UDQ7fX07fSgpO3Y3R0cueDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy51ND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuZTQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuZTQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuZTQ7fTtmdW5jdGlvbiB2N0dHKCl7fXY3R0cuWTQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LnM0PT09J2Z1bmN0aW9uJz92N0dHLlo0LnM0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LnM0O307djdHRy5vND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuczQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuczQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuczQ7fTt2N0dHLmw2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuQjQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy5nNj1mdW5jdGlvbigpe3ZhciBzNj0yO3doaWxlKHM2IT09MSl7c3dpdGNoKHM2KXtjYXNlIDI6cmV0dXJue0M2OmZ1bmN0aW9uKHg2KXt2YXIgbTY9Mjt3aGlsZShtNiE9PTE0KXtzd2l0Y2gobTYpe2Nhc2UgNDptNj1JNj09PXg2Lmxlbmd0aD8zOjk7YnJlYWs7Y2FzZSAyOnZhciBQNj0nJyxVNj1kZWNvZGVVUkkoIjIjMUw3QTg4LEk1Vz84O1Y0WiUyMiUzRStHO0IlMjIpJTIwRyUwQUUlMjIkLFE/RTIyJTE0UChBMCMqRypLJjklM0MlNUQ/ViUzQz8sdDtHKCUzRTdNL1Y4Mj8lNUM0UTQtJTIwRyUxOEElMjI4N0skaTkoN0c3TTgyJTA1JTVDOE8/OCxaNUolMjUjJTNFJTVDJG4lMjUyJTdCRyxBJD87VjRabTIhTTVUKCQzVyUzRUgzKCxLP0k5OjdHaCUxNiglMUU3Xz9WMyUzRSxaNUolMjIpJTNDTSRJMyUzRTUlNUMkSjM0JkclMEJHO3U5JTVEJHooJTAwPSU1RT1BJDIhJTVDLlolM0UpOyU1RTJQKCUwOSUzRSU1QzdBODghRylQLyUyMDdHLE0lMjUlMjUwUDZNJTIyNSxqJEc6JTI1N1cuWjMlMjA3VD9KJTIyMiUxNUE2WiUxQSYsaz9FNSQ3JTVEJGswMj1fJTNDVzM4LG8lMjBaJTEzKyxuM0oyIyUyNUc5RTgvN1UkbicvKyUwQzBGZCU3QyUyMkc4TTgoLEk1TTg4N0skSiMhMCU1QyhaNS0lM0VVJH4oJTIwN18uWngyJlgoQzM4LHoyVjkhN0clM0VBJTIwJTI1MSU1QyRwLyUzQzdKJFclM0UjJ1UlM0VaJTIyLTVHJTAzJTE3KCUwNTVXNVYzMiUxMFA0QCglMTk1RyUwQVY5JTNDMyU1RTtQPyMlM0NHNVQzJTIyN0skSDkvM00zSzgyJTA1QTZHJTNDO2pHLk07KSx2NEczMiUxM1U2WjAlM0UzVD9aJTA1ISxLO0oyIz9HJTE4UiglMDU2RzBLPyUyMiwlNjAqWjsjJCU1QyRTPyUyMjZWLVoyJTI1IUk2RS8ybEclMUVLOy07VyRAMz85TTVUKCUwQSElNUUkUDcuJ1clM0VBJDIlMTMlNUUkRTQjJ00kVzUlM0U7SS5aJjkhUSRBJTIwKSUzQ00pWiUyMiUzRTNXKVQ3JTNFN1cuWiY4MVY0QyglMUYmVihFMSkseCRQNy4saT9WJi01JTVDJEk3NCxKL0YlMjU4JTIwRzZLNygsajlWPyUzQyZHJTEzSiUyMiklMjBPO0goJCUyMCU1QyUzQ1o4IyxaKEE3ODdHO1AlMjItMVEkSDklMjI1Ry9WOjIlMUZYLkwoLTBaJTNFQTArOlAwTzohJTNDVipVJD8mTCxTLjUoRyUxNVQzJTNFM0clMENFOjk3RyUxOEgoOSUzQyU1RD9WKCUwNSYlNUM3WiUxNCUzRT1OKUEkMiUxM1clM0VWOSUyNTZHOVEkJTNFN1cuWiUxNCUyMDNXMVoyKSRHNEslMjIyJTFFJTVDJTNDUCg/N1U/RyUyMiMlMjBHJTFEJTFEPy04TmJaPyUyMiUzQyU1QyhaNCUyMDNXMVolMDM1LCU1QyRzPyUyMix4LlolMTQ5MCU1QjZBKCg3WjVAMzIlMDJYKEE4OCxoL0EjKTZHdlolMDU4M1QqWiYtJTIwJTVDNFAoJDNKJFElMjUpJTIwRyhBJiUyMDNaP1olMDAyI0w/Vi8yJTNDJTVDLlM5JTNFOUcpTD8qJkcqVjk4PU0jVDMyPSU1QjBBNTgseSRKIyUyMCUzRUcuSyh+YiUwOGJaPyUyMiUyMkwuWjstJloyWiQpIU01VjMyO18oRTspLHU1UzMlM0UsJTdGalolMDQyJTA2UTtKJTNFMiUxRkc4USUyMjg9VyRvMjIlMTglMDkkcSQlMjAsaSRGMyo9Sz9aJTAwKSUyMEozSzgyJTA0TCRBOC0wVT9AKCUwMyxLP1czOCwlMTEkVjM/O0M/WiMlMjI2JTVDJTNDTTgpNkd6WiUyNSUzRTFHJTFEQSUyMjg3SyUwNSU3QiglMUM6WDRaPzIxVT9FJDIwWClBJTYweCwlNjAkQDMuJyU1RSRDMzgsUztSNz8xSzNUJTIyMjNNLlY/LidNP1coJTFGJkszSjEyLHU3WjgpJTI1RzVKNSUyMDtaMVolMTF1JTI1JTVEJCU3QyhjLFQzSTMyJTE0TDRHJTIyJTI1PVckVjM9JyU1QylQKCUxMHplc3glMjVmKWUpJTBFJTBBJTE3JTBFSnBKNzg7Tz8lMDQ1IzYlNUMlMDZXJTdDJTEwJTBGZSklMEUrMiUxRVA0US4yJTFFJTA5KkwyISwlNUQ/VyUyMiUzRT1AJE07MjZQKVQ3ODFRJE04PzdLLlo4IzYlNUMkajoyJTAxJTVDNkE1OD1LJCUxMiglMDg3JTVCL0MoJTE4MyU1RSlaJTE0JCwlNUU/SzojMVguTTklMjIsJTdDLEE4OCxYKlQ6NSwlNUQ7UDcycUclMEVFJCs3TSRnOSElMjJYKEEoaSwlN0Y2RTEyY0clMTlFJTI1KSwlNUQ1STclMjUlM0NHJTFCUSUyMiQ9SyRGOSgrRztAMjIlMERmJTNFQTAlMjUlM0MlNUMkcDcrLFQ/VyUyNS01JTVDJEk5OSElNUMvVCglMEElMjBWN1olMDYjO1cuWiUyMC0lMjBHJTBFSyMvOiU1QylaJTAyIywlN0QtUig2LFg4VzklMjAnTT9aJTA3Kyx4NEclM0UjJTIwRzNKMikqRy1BNCc7TSRWMyUyMDdYKUEoJTAxPUwpQSglMEEzVTZGNy85RyUwOVA3LzlHOUUlMjIvOkcqSyUyNTgsWjVKNS0mRyUxNiUxNSglMjA3Vz1QJTNFMiUyMCU1RCRUNyUzRSElNUMkaS8yOlAlM0VAMyUyMiwlMDhqJTE0KCUwQTtLP1olMTc2LFEuUCY/LGk/VjslMjUhSjNLODIlMDBQJGsmKSUzQyU1QyhaJTA3MiUzQ1Y0QSgvJ0spSyQyJTIyWD1BKCUzQypHJ1olMTgtPyU1QyRHJTNFLSUzQyU1RT9AKCUxOSZQNlcoPyZLM0oxMiUxMyU1RTglMTYoJTBEJFgzSDcuJTNFJTVDJGJkMiUxNSUwMDNFJTNDMiUxQl8oRTspLHo1SSYjJTNDJTVDNFAoJTBEPVokJTE5KCUwRCUyNUclMTZafiUxMCFFfiUwRCgvPVcuRTU4LH4kVjM/O0M7RjopLHguUCQlMjUwTC5BKCUwMT0lNUIzSDMyPUszQz8lMjIsWC9QJTNFIyUyMEc/JTVDMy8sdipBODIlMERNO1YxKSZHJTNDTS4pNkclMDVQPyE3Vi9QJTA5MiUxM1YkcSglMDg3XztROjgsdTtXJTIyMiUxQkclM0VBJTIyLTFRJHYlMjAyJTA4JTBCJHc1JTNFPVU2RjclM0UsJTdGKVolMDItMEc/JTVDJiUyNSUyMCU1QylaJTE0OyxQJTNFWiUxRiUyMjYlNUMlMjJaOyMwUDZBKCUwRStHJTBETTI4Okc3TyYyJTExViUzRUEoJTIyM1Q/WiUyNSUzQzdaM0I/KTZHKkUlMjIkLFo2TTUnLHElM0VMNzIwVS9WKCUxQyUyMFYqQSQ4K0c5SzgqOyU1RSRXMyUyMDRHJTA4TWY0LGgvWjAlMjA9VihaJTEzNCUyMkclMTVTODIlMTclNUQ9QSglMjUhRyUwRkoyKSUyMEclMUJDMyUyMiZHLiU1RCYpLHpjWmoyJTE0UChBMjIlMURJLk05JTIyIUclM0NROC8mUDVKKCUwNixNO0YjJTNDLEkoTTg4LCU3QyUyMlQ/JTNFN0okZzkjOVA/WiUwNSUyNTBVM0oxMiUyNUclMTVSMyUzRSUzRVgjWiUwMiUyNT8lNUM1USUyMjIlMUQlNUIwQTU4LFYvUDMlM0UscyxGZTIlMjVQJTNFUCUzRTIhVTNHMzIlMUNYJCUxNiglMUM4RyUxNk0yLyxYJGg/PyYlNUM0QSQyJTFGViUyME06JTIwM0clMUVFJTIyKSx2NEg5LTZHKUUwKSxMNEY/JTIyNkcuSyMvOiU1QzRAKCUwRTdfNVYzMjFVO1clMjUyJTAyVilNJTIyJTI1PVckJTYwKCUyNSUzQ1AuWiUxODIlMDlHOUs5JzslNUMkbicyJTBCVDVIKDg9SSRvKC86WChaJTA5LiUzRVg0TyglMjA9JTVFJEsmKSUzQ0clMTJaJTEzJTIwN1Q/SiUyMjIlMDAlNUM2QTc/N0cqSyY5JTNDJTVEP1YoJTNDPUkkdDo5NVA0WiUwNiMlMjJMNEAzJTNFLHMyRSglMTU/VmJaJTNFOD9VJHc3KjNLM1o5JTIyLHc1QDMyJTA1JTBDMUZkMjFVNVczMj9WL1czKD1ONFojPzclMTkpUCQlMjUxTSRnIyUzRSUyMCU1QzRQKC4zWjFDJCMnVyUzRVo7KSZYJFAzNCZHJTE5QzgyIVooQTMlMjIsJTFEJGEoJTBCa1ckbTEyayUwMGMlMURvdWtHKEEwKSUyMEs/VigpIVo7VDMyJTdGRztUJiklM0MlNUQkTDk/JkcqQSQlM0MzJTVFP1olMUYlMjImRyUwRkEoJTIyPUs/QiglMDQ7UztHPSUyNSUzQyU1RSRxJiUzQzdLJCUwRiglMTghSSRzYycsTTVRNSQhTTtWJTIyMiUzRVY5RToyJTAxJTVDNFc/ODtPP1psMiUxRiU1RSRzKHQsdzVQPyo7WjtQPyMlM0NHIVolMDQpNUc1SjQlMjAnSyRnKCUwMTdKKUUxKSxMJCUxNCY0LHgoVjc1LEkoQSUyMCklM0NNJHkoJTBGJTNFUDlPMygsWDhXKCUxQz9HblolMEYhPUAkVDklM0MnSSQlMEMlMDgwJTBFSnNaOTo3SyUzQ0g5OywlMDkkRzkhLF81RyM/LHE/TTEkJkclMEFLJjIlMUNVOU0oJTA2JTIyWiR0JTNDeSUzRSU1QjdaJTAyIyUyMkclM0NNJCksWCpUOiUyNTFYLk05JTIyLCU3RiRnOSUyMjVHJTE5TD8lMjA2RylUOiUyNSZHKEU4KCxKLkUlMjI5IUcpRyQjJTNFVThFJD8sdWolMTElM0UuLFo1UjMlM0UsTTVLOi4zSyRAMyUyMDNAJEsmOCFHJTNFTSUyMDIlMTdPP0olMjI/LHcwRzslMjAlMjUlNUQkcCglM0M2XyRBOyUzQyZAJGYoJTFFOiU1QiRKNzo7JTVFO1A5JTNFLE4oTSUyMiksbDAlMTAoJTI1NVc1VjMyJTExVi9KJTIyMjBWNUgzLSUzQ0clMEVNOyksejVKMCUyNTVHLkElMjU4Iik7bTY9MTticmVhaztjYXNlIDE6dmFyIEg2PTAsSTY9MDttNj01O2JyZWFrO2Nhc2UgOTpQNis9U3RyaW5nLmZyb21DaGFyQ29kZShVNi5jaGFyQ29kZUF0KEg2KV54Ni5jaGFyQ29kZUF0KEk2KSk7bTY9ODticmVhaztjYXNlIDU6bTY9SDY8VTYubGVuZ3RoPzQ6NzticmVhaztjYXNlIDc6UDY9UDYuc3BsaXQoJ34nKTtyZXR1cm4gZnVuY3Rpb24oaDYpe3ZhciBqNj0yO3doaWxlKGo2IT09MSl7c3dpdGNoKGo2KXtjYXNlIDI6cmV0dXJuIFA2W2g2XTticmVhazt9fX07YnJlYWs7Y2FzZSAzOkk2PTA7bTY9OTticmVhaztjYXNlIDg6SDYrKyxJNisrO202PTU7YnJlYWs7fX19KCdWTFI5WiQnKX07YnJlYWs7fX19KCk7djdHRy5kMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLmE2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuZjY9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLmc2LkM2PT09J2Z1bmN0aW9uJz92N0dHLmc2LkM2LmFwcGx5KHY3R0cuZzYsYXJndW1lbnRzKTp2N0dHLmc2LkM2O307djdHRy5yND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuQzY9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuQzYuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuQzY7fTshZnVuY3Rpb24odCl7dmFyIHc1PXY3R0c7dmFyIG81PSEwO3ZhciBlLGksbixyLG8scyxhLGMsdSxoLGYscCxfLGwsZCx2LGIsbSxnLHksayx3LHgsTyxDLEUsUCxULEEsRixTLGosTCx6LEIsSSxNLFcsRCxVLFIsTixILHEsSixWLCQsUSxHLFksSyxaLFgsdHQsZXQsaXQsbnQscnQsb3Qsc3QsYXQsY3QsdXQsaHQsZnQscHQsX3QsbHQsZHQsdnQsYnQsbXQsZ3QseXQsa3Qsd3QseHQsT3QsQ3QsRXQsUHQsVHQsQXQsRnQsU3QsanQsTHQsenQsQnQsSXQsTXQsV3QsRHQsVXQsUnQsTnQsSHQscXQsSnQsVnQsJHQsUXQsR3QsWXQsS3QsWnQsWHQsdGUsZWUsaWUsbmUscmUsb2Usc2UsYWUsY2UsdWUsaGUsZmUscGUsX2UsbGUsZGUsdmUsYmUsbWUsZ2UseWUsa2Usd2UseGUsT2UsQ2UsRWUsUGUsVGUsQWUsRmUsU2UsamUsTGUsemUsQmUsSWUsTWUsV2UsRGUsVWUsUmUsTmUsSGUscWUsSmUsVmUsJGUsUWUsR2UsWWUsS2UsWmUsWGUsdGksZWksaWksbmkscmksb2ksc2ksYWksY2ksdWksaGksZmkscGksX2ksbGksZGksdmksYmksbWksZ2kseWksa2ksd2kseGksT2ksQ2ksRWksUGksVGksQWksRmksU2ksamksTGksemksQmksSWksTWksV2ksRGksVWksUmksTmksSGkscWksSmksVmksJGksUWksR2ksWWksS2ksWmksWGksdG4sZW4sbm4scm4sb24sc24sYW4sY24sdW4saG4sZm4scG4sX24sbG4sZG4sdm4sYm4sbW4sZ24seW4sa24sd24seG4sT24sQ24sRW4sUG4sVG4sQW4sRm4sU24sam4sTG4sem4sQm4sSW4sTW4sV24sRG4sVW4sUm4sTm4sSG4scW4sSm4sVm4sJG4sUW4sR24sWW4sS24sWm4sWG4sdHIsZXIsaXIsbnIscnIsb3Isc3IsYXIsY3IsdXIsaHIsZnIscHIsX3IsbHIsZHIsdnIsYnIsbXIsZ3IseXIsa3Isd3IseHIsT3IsQ3IsRXIsUHIsVHIsQXIsRnIsU3IsanIsTHIsenIsQnIsSXIsTXIsV3IsRHIsVXIsUnIsTnIsSHIscXIsSnIsVnIsJHIsUXIsR3IsWXIsS3IsWnIsWHIsdG8sZW8saW8sbm8scm8sb28sc28sYW8sY28sdW8saG8sZm8scG8sX28sbG8sdm8sYm8sbW8sZ28seW8sa28sd28seG8sT28sQ28sRW8sUG8sVG8sQW8sRm8sU28sam8sTG8sem8sQm8sSW8sTW8sV28sRG8sVW8sUm8sTm8sSG8scW8sSm8sVm8sJG8sUW8sR28sWW8sS28sWm8sWG8sdHMsZXMsaXMsbnMscnMsb3Msc3MsYXMsY3MsdXMsaHMsZnMscHMsX3MsbHMsZHMsdnMsYnMsbXMsZ3MseXMsa3Msd3MseHMsT3MsQ3MsRXMsUHMsVHMsQXMsRnMsU3MsanMsTHMsenMsQnMsSXMsTXMsV3MsRHMsVXMsUnMsTnMsSHMscXMsSnMsVnMsJHMsUXMsR3MsWXMsS3MsWnMsWHMsdGEsZWEsaWEsbmEscmEsb2Esc2EsYWEsY2EsdWEsaGEsZmEscGEsX2EsbGEsZGEsdmEsYmEsbWEsZ2EseWEsa2Esd2EseGEsT2EsQ2EsRWEsUGEsVGEsQWEsRmEsU2EsamEsTGEsemEsQmEsSWEsTWEsV2EsRGEsVWEsUmEsTmEsSGEscWEsSmEsVmEsJGEsUWEsR2EsWWEsS2EsWmEsWGEsdGMsZWMsaWMsbmMscmMsb2Msc2MsYWMsY2MsdWMsaGMsZmMscGMsX2MsbGMsZGMsdmMsYmMsbWMsZ2MseWMsa2Msd2MseGMsT2MsQ2MsRWMsUGMsVGMsQWMsRmMsU2MsamMsTGMsemMsQmMsSWMsTWMsV2MsRGMsVWMsUmMsTmMsSGM7ZT13NS5mNigyMzQpO2k9dzUuWjYoMzk0KTtuPXc1Llo2KDM4OSk7cj13NS5mNig0NTYpO289dzUuWjYoNSk7cz13NS5aNig0NjEpO2E9dzUuWjYoMjU1KTtjPXc1Llo2KDg4KTt1PXc1Llo2KDE3OCk7aD13NS5mNigxODcpO2Y9dzUuZjYoNDgxKTtwPXc1LmY2KDM3Nik7Xz13NS5aNigyNDYpO2w9dzUuZjYoMjQ1KTtkPXc1Llo2KDE0OSk7dj13NS5aNigzNjUpO2I9dzUuWjYoNDgzKTttPXc1LmY2KDcyKTtnPXc1Llo2KDMxMyk7eT13NS5aNigyNTMpO2s9dzUuWjYoNTApO3c9dzUuZjYoNDY5KTt4PS9lZGdlLztPPXc1LmY2KDMzNCk7Qz13NS5aNigzMzMpO0U9dzUuWjYoNTMpO1A9dzUuWjYoMTcpO1Q9dzUuWjYoMzQzKTtBPXc1LmY2KDE5MCk7Rj0vZmlyZWZveHxmeGlvcy9pO1M9dzUuZjYoMjEyKTtqPXc1Llo2KDI1OSk7TD13NS5aNigyNDEpO3o9dzUuZjYoMTA5KTtCPXc1LmY2KDk3KTtJPXc1Llo2KDQxOCk7TT13NS5aNigzODgpO1c9dzUuWjYoNDM1KTtEPXc1LmY2KDM3NSk7VT13NS5aNigzNTgpO1I9dzUuZjYoMTcyKTtOPXc1LmY2KDIzOCk7SD13NS5aNig0ODcpO3E9dzUuWjYoMjIxKTtKPXc1LmY2KDIxMSk7Vj13NS5mNigyMTApOyQ9dzUuWjYoMTYyKTtRPXc1Llo2KDY0KTtHPXc1LmY2KDM0Mik7WT13NS5aNigxMjgpO0s9dzUuWjYoMjA4KTtaPXc1LmY2KDE0MSk7WD13NS5aNig0MzYpO3R0PXc1Llo2KDQ0MSk7ZXQ9dzUuWjYoMjgwKTtpdD13NS5mNigxNzcpO250PXc1Llo2KDEyKTtydD13NS5aNigyNzMpO290PXc1Llo2KDM1NSk7c3Q9L3dpbmRvd3MvO2F0PXc1Llo2KDI1OCk7Y3Q9Lyg/OmZ0cHxodHRwcz8pOlwvXC8oW15cL10rKS87dXQ9dzUuWjYoMjE4KTtodD13NS5mNig0NDIpO2Z0PXc1LmY2KDI2Myk7cHQ9dzUuWjYoMTY2KTtfdD13NS5aNigxMzgpO2x0PXc1Llo2KDMyOSk7ZHQ9dzUuWjYoNDEpO3Z0PXc1Llo2KDIwNyk7YnQ9dzUuWjYoMzYyKTttdD13NS5mNigxNjUpO2d0PXc1LmY2KDM3MSk7eXQ9dzUuWjYoMzYwKTtrdD13NS5aNigyMzkpO3d0PXc1LmY2KDM2Myk7eHQ9dzUuZjYoODIpO090PTk1MDI9PT0yNTAwPzB4MjE0Yzp3NS5mNigxNDgpO0N0PXc1LmY2KDE4NSk7RXQ9dzUuWjYoMTQ0KTtQdD13NS5mNigzMjApO1R0PXc1Llo2KDU1KTtBdD13NS5aNigzMTgpO0Z0PXc1Llo2KDE4OSk7U3Q9dzUuWjYoMTAxKTtqdD0vTVNJRVxzKyhbXGRcLl0rKS9pO0x0PXc1Llo2KDM0MCk7enQ9dzUuZjYoMTYwKTtCdD13NS5aNig0NDQpO0l0PXc1Llo2KDQxMyk7TXQ9dzUuZjYoNDU1KTtXdD13NS5mNig1MSk7RHQ9dzUuWjYoNDE1KTtVdD13NS5mNigyOTkpO1J0PXc1Llo2KDQxNik7TnQ9dzUuWjYoMzczKTtIdD13NS5aNig0MzApO3F0PXc1Llo2KDE2MSk7SnQ9dzUuZjYoMjQ4KTtWdD13NS5aNig0MjcpOyR0PXc1LmY2KDQyNCk7UXQ9dzUuZjYoMzUxKTtHdD13NS5aNigyOTApO1l0PXc1Llo2KDI4MSk7S3Q9dzUuWjYoMjk2KTtadD13NS5aNigyODYpO1h0PXc1LmY2KDE0Nik7dGU9dzUuWjYoNjApO2VlPXc1Llo2KDE0Myk7aWU9dzUuWjYoMjE1KTtuZT0vcmFkaW98Y2hlY2tib3gvaTtyZT13NS5mNigyNzUpO29lPXc1Llo2KDEyNCk7c2U9dzUuZjYoMjE2KTthZT13NS5aNigzMDIpO2NlPXc1LmY2KDExNyk7dWU9LzEyMDd8NjMxMHw2NTkwfDNnc298NHRocHw1MFsxLTZdaXw3NzBzfDgwMnN8YSB3YXxhYmFjfGFjKGVyfG9vfHNcLSl8YWkoa298cm4pfGFsKGF2fGNhfGNvKXxhbW9pfGFuKGV4fG55fHl3KXxhcHR1fGFyKGNofGdvKXxhcyh0ZXx1cyl8YXR0d3xhdShkaXxcLW18ciB8cyApfGF2YW58YmUoY2t8bGx8bnEpfGJpKGxifHJkKXxibChhY3xheil8YnIoZXx2KXd8YnVtYnxid1wtKG58dSl8YzU1XC98Y2FwaXxjY3dhfGNkbVwtfGNlbGx8Y2h0bXxjbGRjfGNtZFwtfGNvKG1wfG5kKXxjcmF3fGRhKGl0fGxsfG5nKXxkYnRlfGRjXC1zfGRldml8ZGljYXxkbW9ifGRvKGN8cClvfGRzKDEyfFwtZCl8ZWwoNDl8YWkpfGVtKGwyfHVsKXxlcihpY3xrMCl8ZXNsOHxleihbNC03XTB8b3N8d2F8emUpfGZldGN8Zmx5KFwtfF8pfGcxIHV8ZzU2MHxnZW5lfGdmXC01fGdcLW1vfGdvKFwud3xvZCl8Z3IoYWR8dW4pfGhhaWV8aGNpdHxoZFwtKG18cHx0KXxoZWlcLXxoaShwdHx0YSl8aHAoIGl8aXApfGhzXC1jfGh0KGMoXC18IHxffGF8Z3xwfHN8dCl8dHApfGh1KGF3fHRjKXxpXC0oMjB8Z298bWEpfGkyMzB8aWFjKCB8XC18XC8pfGlicm98aWRlYXxpZzAxfGlrb218aW0xa3xpbm5vfGlwYXF8aXJpc3xqYSh0fHYpYXxqYnJvfGplbXV8amlnc3xrZGRpfGtlaml8a2d0KCB8XC8pfGtsb258a3B0IHxrd2NcLXxreW8oY3xrKXxsZShub3x4aSl8bGcoIGd8XC8oa3xsfHUpfDUwfDU0fFwtW2Etd10pfGxpYnd8bHlueHxtMVwtd3xtM2dhfG01MFwvfG1hKHRlfHVpfHhvKXxtYygwMXwyMXxjYSl8bVwtY3J8bWUocmN8cmkpfG1pKG84fG9hfHRzKXxtbWVmfG1vKDAxfDAyfGJpfGRlfGRvfHQoXC18IHxvfHYpfHp6KXxtdCg1MHxwMXx2ICl8bXdicHxteXdhfG4xMFswLTJdfG4yMFsyLTNdfG4zMCgwfDIpfG41MCgwfDJ8NSl8bjcoMCgwfDEpfDEwKXxuZSgoY3xtKVwtfG9ufHRmfHdmfHdnfHd0KXxub2soNnxpKXxuenBofG8yaW18b3AodGl8d3YpfG9yYW58b3dnMXxwODAwfHBhbihhfGR8dCl8cGR4Z3xwZygxM3xcLShbMS04XXxjKSl8cGhpbHxwaXJlfHBsKGF5fHVjKXxwblwtMnxwbyhja3xydHxzZSl8cHJveHxwc2lvfHB0XC1nfHFhXC1hfHFjKDA3fDEyfDIxfDMyfDYwfFwtWzItN118aVwtKXxxdGVrfHIzODB8cjYwMHxyYWtzfHJpbTl8cm8odmV8em8pfHM1NVwvfHNhKGdlfG1hfG1tfG1zfG55fHZhKXxzYygwMXxoXC18b298cFwtKXxzZGtcL3xzZShjKFwtfDB8MSl8NDd8bWN8bmR8cmkpfHNnaFwtfHNoYXJ8c2llKFwtfG0pfHNrXC0wfHNsKDQ1fGlkKXxzbShhbHxhcnxiM3xpdHx0NSl8c28oZnR8bnkpfHNwKDAxfGhcLXx2XC18diApfHN5KDAxfG1iKXx0MigxOHw1MCl8dDYoMDB8MTB8MTgpfHRhKGd0fGxrKXx0Y2xcLXx0ZGdcLXx0ZWwoaXxtKXx0aW1cLXx0XC1tb3x0byhwbHxzaCl8dHMoNzB8bVwtfG0zfG01KXx0eFwtOXx1cChcLmJ8ZzF8c2kpfHV0c3R8djQwMHx2NzUwfHZlcml8dmkocmd8dGUpfHZrKDQwfDVbMC0zXXxcLXYpfHZtNDB8dm9kYXx2dWxjfHZ4KDUyfDUzfDYwfDYxfDcwfDgwfDgxfDgzfDg1fDk4KXx3M2MoXC18ICl8d2ViY3x3aGl0fHdpKGcgfG5jfG53KXx3bWxifHdvbnV8eDcwMHx5YXNcLXx5b3VyfHpldG98enRlXC0vaTtoZT13NS5aNigxNCk7ZmU9dzUuWjYoMjMpO3BlPXc1Llo2KDExMSk7X2U9dzUuWjYoMjYwKTtsZT0vbWFjaW50b3NoLztkZT13NS5mNig5MCk7dmU9dzUuZjYoMzMyKTtiZT13NS5mNigyMDApO21lPS9tb3ppbGxhLztnZT13NS5mNigxNzQpO3llPXc1LmY2KDEzNSk7a2U9dzUuZjYoMzc4KTt3ZT0vKD86XHcrKVwvKFtcZFwuXSspKD86JHxcc3xcL3xcKSkrL2k7eGU9dzUuWjYoMzQpO09lPXc1LmY2KDM3Nyk7Q2U9dzUuZjYoNDcyKTtFZT13NS5mNigxMTUpO1BlPXc1Llo2KDE5NCk7VGU9dzUuZjYoNDE0KTtBZT13NS5mNig2NSk7RmU9dzUuWjYoMTA3KTtTZT13NS5mNig0MDMpO2plPXc1LmY2KDI5Mik7TGU9dzUuWjYoNTgpO3plPXc1Llo2KDE2NCk7QmU9Lyg/Ok9QUnxPcGVyYXxPUGlPUylcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0llPXc1LmY2KDIyOSk7TWU9dzUuWjYoNDY3KTtXZT13NS5mNig0NjMpO0RlPXc1Llo2KDQzNyk7VWU9dzUuZjYoMTkzKTtSZT13NS5aNigzMyk7TmU9dzUuZjYoODUpO0hlPXc1LmY2KDQwOCk7cWU9dzUuZjYoMjApO0plPXc1Llo2KDk4KTtWZT13NS5mNigxMzYpOyRlPXc1LmY2KDI3Nyk7UWU9dzUuWjYoNyk7R2U9dzUuWjYoODYpO1llPXc1LmY2KDE3NSk7S2U9dzUuWjYoMjcxKTtaZT13NS5aNigzOTkpO1hlPXc1LmY2KDEzMyk7dGk9dzUuWjYoOTUpO2VpPXc1LmY2KDE1Mik7aWk9dzUuWjYoMzEyKTtuaT13NS5aNigyOTgpO3JpPXc1Llo2KDQzMyk7b2k9dzUuZjYoMTgzKTtzaT0vYW5kcm9pZHx3ZWJvc3xpcGhvbmV8aXBhZHxpcG9kfGJsYWNrYmVycnl8aWVtb2JpbGV8b3BlcmFccyttaW5pLzthaT13NS5aNigzODIpO2NpPXc1LmY2KDEyNyk7dWk9dzUuWjYoMzM2KTtoaT13NS5aNigyOTUpO2ZpPXc1Llo2KDMwNyk7cGk9dzUuZjYoMjUxKTtfaT13NS5mNig0MTkpO2xpPXc1LmY2KDMxKTtkaT13NS5aNigyNzQpO3ZpPXc1LmY2KDQ0Nik7Ymk9dzUuWjYoMTYzKTttaT13NS5mNig5NCk7Z2k9dzUuWjYoMjIwKTt5aT13NS5aNigzNTQpO2tpPXc1Llo2KDE4Nik7d2k9dzUuZjYoNDEyKTt4aT13NS5mNig0NDcpO09pPXc1Llo2KDQwNCk7Q2k9dzUuZjYoNTIpO0VpPXc1Llo2KDY4KTtQaT13NS5mNigzNSk7VGk9dzUuZjYoNTYpO0FpPXc1LmY2KDEwMyk7Rmk9dzUuWjYoMzc5KTtTaT13NS5mNig0NTEpO2ppPXc1Llo2KDQ3NSk7TGk9dzUuWjYoMjEpO3ppPXc1LmY2KDE3MSk7Qmk9dzUuZjYoMTMxKTtJaT13NS5mNig0ODgpO01pPXc1LmY2KDE4MCk7V2k9dzUuWjYoNDQ1KTtEaT0vYnV0dG9ufGlucHV0L2k7VWk9dzUuWjYoMTM0KTtSaT13NS5mNigyMjgpO05pPXc1LmY2KDc4KTtIaT13NS5aNig1NCk7cWk9dzUuWjYoMTY3KTtKaT13NS5mNig0NjUpO1ZpPXc1Llo2KDMzNSk7JGk9dzUuZjYoMTY5KTtRaT13NS5mNigzNjgpO0dpPXc1LmY2KDI4Nyk7WWk9dzUuWjYoMzQ4KTtLaT13NS5mNigzMDEpO1ppPXc1LmY2KDQ0KTtYaT13NS5mNigyNjQpO3RuPXc1LmY2KDc3KTtlbj13NS5mNig0NjApO25uPXc1LmY2KDMzNyk7cm49dzUuWjYoMTU3KTtvbj13NS5aNigzMjUpO3NuPXc1LmY2KDIzNyk7YW49dzUuZjYoNDg2KTtjbj13NS5mNigxNTUpO3VuPXc1Llo2KDEwNCk7aG49dzUuWjYoMzU2KTtmbj13NS5aNig0OCk7cG49dzUuZjYoMjQyKTtfbj13NS5mNig0MDApO2xuPXc1Llo2KDI2NSk7ZG49dzUuZjYoMjg0KTt2bj13NS5aNigyODgpO2JuPXc1LmY2KDQzOSk7bW49dzUuWjYoMzQxKTtnbj13NS5aNigyMDMpO3luPXc1LmY2KDIxNyk7a249dzUuWjYoMzIxKTt3bj13NS5mNig0MzIpO3huPXc1LmY2KDIyKTtPbj02NDc9PSg0OTguMjUsMjAwKT8oMS42OWUrMyw0NjkpOnc1LmY2KDk2KTtDbj13NS5mNigzODMpO0VuPXc1LmY2KDM1OSk7UG49dzUuWjYoMzUwKTtUbj0vXk9wZXJhXC8uKj9QcmVzdG9cLy4qP1ZlcnNpb25cLyhbXGRcLl0rKS9pO0FuPXc1Llo2KDE5MSk7Rm49dzUuZjYoNDQ4KTtTbj13NS5mNigyNDQpO2puPXc1Llo2KDIzMSk7TG49dzUuZjYoMTIwKTt6bj13NS5mNig0NTApO0JuPXc1Llo2KDExOCk7SW49dzUuZjYoNik7TW49dzUuWjYoNzUpO1duPXc1LmY2KDEyMyk7RG49dzUuWjYoMzA0KTtVbj0vcmVzZXR8YnV0dG9ufHN1Ym1pdC9pO1JuPXc1LmY2KDQ4NCk7Tm49dzUuZjYoMTk2KTtIbj13NS5mNigyMjYpO3FuPXc1LmY2KDM1Myk7Sm49dzUuWjYoMTgpO1ZuPXc1LmY2KDE2OCk7JG49dzUuZjYoMzE0KTtRbj13NS5aNig0NzEpO0duPXc1LmY2KDQ1OSk7WW49dzUuZjYoMzE3KTtLbj13NS5mNigyNDkpO1puPS9WZXJzaW9uXC8oW1xkXC5dKylccysobW9iaWxlXC9bXlxzXStccyspP1NhZmFyaS9pO1huPXc1LmY2KDE0NSk7dHI9dzUuWjYoMjQwKTtlcj13NS5mNigxOSk7aXI9dzUuWjYoNDg5KTtucj13NS5aNigyNzYpO3JyPXc1LmY2KDQ4Mik7b3I9dzUuZjYoNDY2KTtzcj13NS5aNigyNzApO2FyPXc1Llo2KDE0Nyk7Y3I9dzUuZjYoMjQpO3VyPXc1LmY2KDgzKTtocj13NS5aNigyNzkpO2ZyPXc1Llo2KDQzKTtwcj13NS5mNig0MjApO19yPXc1LmY2KDQ2Mik7bHI9L2Nocm9tZXxjcmlvcy87ZHI9dzUuWjYoNDExKTt2cj0vIy4qJC87YnI9dzUuZjYoMTU5KTttcj13NS5aNigwKTtncj0vKGNvbXBhdGlibGV8d2Via2l0KS87eXI9L0Z4aU9TXC8oW1xkXC5dKykvaTtrcj13NS5mNig1OSk7d3I9dzUuWjYoMzgpO3hyPXc1LmY2KDE5OCk7T3I9dzUuZjYoMTApO0NyPXc1LmY2KDQ2NCk7RXI9dzUuWjYoMTE2KTtQcj13NS5mNigzNjkpO1RyPXc1LmY2KDEyMSk7QXI9L21zaWV8dHJpZGVudFwvLztGcj13NS5mNigyNTYpO1NyPXc1LmY2KDQ3MCk7anI9dzUuZjYoMjkzKTtMcj13NS5mNig4Nyk7enI9L2Nocm9tZXxvcGVyYXxlZGdlfGNyaW9zfG9waW9zfGZ4aW9zfHVjL2k7QnI9dzUuWjYoMjUyKTtJcj13NS5aNigxMDgpO01yPXc1LmY2KDkxKTtXcj13NS5mNigyKTtEcj13NS5mNigyNjgpO1VyPXc1Llo2KDI3OCk7UnI9dzUuWjYoMzI2KTtOcj13NS5mNig5KTtIcj13NS5mNigxMzIpO3FyPXc1Llo2KDMyNCk7SnI9LyhhbmRyb2lkfGJiXGQrfG1lZWdvKS4rbW9iaWxlfGF2YW50Z298YmFkYVwvfGJsYWNrYmVycnl8YmxhemVyfGNvbXBhbHxlbGFpbmV8ZmVubmVjfGhpcHRvcHxpZW1vYmlsZXxpcChob25lfG9kKXxpcGFkfGlyaXN8a2luZGxlfEFuZHJvaWR8U2lsa3xsZ2UgfG1hZW1vfG1pZHB8bW1wfG5ldGZyb250fG9wZXJhIG0ob2J8aW4paXxwYWxtKCBvcyk/fHBob25lfHAoaXhpfHJlKVwvfHBsdWNrZXJ8cG9ja2V0fHBzcHxzZXJpZXMoNHw2KTB8c3ltYmlhbnx0cmVvfHVwXC4oYnJvd3NlcnxsaW5rKXx2b2RhZm9uZXx3YXB8d2luZG93cyAoY2V8cGhvbmUpfHhkYXx4aWluby9pO1ZyPSgyNDk2LDg0OTUpIT05NzY/dzUuZjYoMjk3KTohITA7JHI9dzUuWjYoNDI2KTtRcj13NS5mNigyMjUpO0dyPXc1LmY2KDE4OCk7WXI9dzUuZjYoNDMxKTtLcj13NS5mNigyNTApO1pyPXc1Llo2KDI2MSk7WHI9dzUuZjYoMTc2KTt0bz13NS5mNigyNSk7ZW89dzUuWjYoMTk1KTtpbz13NS5mNigzMjgpO25vPXc1Llo2KDQwOSk7cm89dzUuZjYoMzQ5KTtvbz13NS5aNigzMjIpO3NvPXc1Llo2KDMxNik7YW89dzUuWjYoMzg1KTtjbz13NS5mNigxMTMpO3VvPXc1LmY2KDQ3NCk7aG89dzUuWjYoMjY3KTtmbz13NS5mNigyNjYpO3BvPXc1Llo2KDQwNyk7X289dzUuWjYoNjMpO2xvPXc1Llo2KDM2Nyk7dm89L3dlYmtpdC87Ym89dzUuWjYoNDUyKTttbz0vc2FmYXJpLztnbz13NS5aNig5Myk7eW89L29wZXJhfG9wcnxvcGlvc1wvLztrbz13NS5aNigzMzEpO3dvPXc1LmY2KDI2KTt4bz13NS5aNigxODIpO09vPXc1LmY2KDM4MCk7Q289dzUuWjYoMTEwKTtFbz13NS5mNigxMTIpO1BvPXc1LmY2KDMwNSk7VG89dzUuZjYoNzQpO0FvPXc1LmY2KDEwMik7Rm89dzUuZjYoNDc4KTtTbz0vYW5kcm9pZC87am89dzUuZjYoMzkxKTtMbz13NS5aNigzMDYpO3pvPXc1LmY2KDQwNSk7Qm89dzUuWjYoOTkpO0lvPXc1Llo2KDM5Nik7TW89dzUuWjYoNDQwKTtXbz13NS5mNig2Nyk7RG89dzUuWjYoNDAxKTtVbz13NS5aNigxNTQpO1JvPXc1LmY2KDI4OSk7Tm89dzUuWjYoMzkzKTtIbz13NS5mNig3OSk7cW89dzUuWjYoMTQwKTtKbz13NS5aNigzNzIpO1ZvPXc1Llo2KDQyMik7JG89dzUuZjYoNDQ5KTtRbz13NS5aNigzOTUpO0dvPXc1Llo2KDIwNik7WW89dzUuWjYoMjQzKTtLbz13NS5mNig2Mik7Wm89dzUuWjYoNDg1KTtYbz13NS5mNigxMzApO3RzPXc1Llo2KDE1Nik7ZXM9dzUuZjYoMjAxKTtpcz13NS5aNigzNjEpO25zPXc1LmY2KDMxNSk7cnM9dzUuWjYoMTIyKTtvcz13NS5mNig3MCk7c3M9dzUuZjYoMjU3KTthcz13NS5aNig0MjUpO2NzPXc1LmY2KDMzMCk7dXM9dzUuZjYoNzMpO2hzPXc1LmY2KDMwMyk7ZnM9dzUuWjYoMTAwKTtwcz13NS5mNigzNzQpO19zPXc1Llo2KDY2KTtscz0oODI2LjA2LDk5Ny4yKSE9PSgyNjIuNzksNzAwLjQpP3c1LmY2KDE3OSk6KG81LHc1Llo2KDM2KSk7ZHM9dzUuWjYoMjIzKTt2cz13NS5mNigxMTkpO2JzPXc1Llo2KDMwOCk7bXM9dzUuZjYoNDcpO2dzPXc1Llo2KDMxOSk7eXM9dzUuZjYoMTgxKTtrcz13NS5mNigzNDUpO3dzPXc1Llo2KDE1KTt4cz0vXigjfGphdmFzY3JpcHQpL2k7T3M9dzUuWjYoMzY2KTtDcz13NS5aNigxOTkpO0VzPXc1Llo2KDM4NCk7UHM9dzUuZjYoNDA2KTtUcz13NS5mNig0MjkpO0FzPXc1LmY2KDI0Nyk7RnM9dzUuZjYoNDQzKTtTcz13NS5mNigzMzgpO2pzPS8oPzpGaXJlZm94fENocm9tZSlcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0xzPXc1Llo2KDM3MCk7enM9dzUuZjYoMzEwKTtCcz13NS5aNigzODYpO0lzPXc1Llo2KDI5NCk7TXM9dzUuWjYoMjgzKTtXcz13NS5aNigzODcpO0RzPXc1LmY2KDM5KTtVcz13NS5aNigxMDYpO1JzPXc1LmY2KDIwMik7TnM9dzUuWjYoMzExKTtIcz13NS5mNig0MzgpO3FzPXc1LmY2KDcxKTtKcz13NS5mNigxMzcpO1ZzPXc1Llo2KDI3KTskcz13NS5aNig4NCk7UXM9L18vZztHcz13NS5aNigxNTgpO1lzPXc1Llo2KDE5Mik7S3M9dzUuZjYoNDIzKTtacz13NS5mNigzMzkpO1hzPXc1Llo2KDE1MCk7dGE9dzUuWjYoMTQyKTtlYT13NS5mNig0KTtpYT13NS5aNig0MTApO25hPXc1LmY2KDIzNik7cmE9dzUuZjYoNDAyKTtvYT13NS5mNigyMTQpO3NhPXc1Llo2KDQxNyk7YWE9dzUuZjYoMTg0KTtjYT13NS5aNigxOTcpO3VhPXc1LmY2KDIzMyk7aGE9dzUuZjYoMzApO2ZhPS9saW51eC87cGE9dzUuWjYoMjgyKTtfYT0vb3BlcmEvO2xhPXc1Llo2KDM2NCk7ZGE9dzUuWjYoMTczKTt2YT13NS5aNigzMDApO2JhPXc1LmY2KDIzNSk7bWE9L2VkZ2V8b3ByXC8vO2dhPXc1LmY2KDI4NSk7eWE9dzUuZjYoNDYpO2thPXc1Llo2KDEzKTt3YT13NS5aNigyMDUpO3hhPXc1LmY2KDIyNCk7T2E9dzUuZjYoMzQ0KTtDYT13NS5aNigyMTMpO0VhPS9FZGdlXC8oW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTtQYT13NS5mNigxMjYpO1RhPXc1Llo2KDExNCk7QWE9L14oPzouKlteXHddKSooW1x3XSspXHMqJC9pO0ZhPXc1LmY2KDM5Mik7U2E9dzUuWjYoNjkpO2phPXc1LmY2KDMpO0xhPXc1LmY2KDQ1KTt6YT13NS5mNigzMjMpO0JhPXc1LmY2KDEzOSk7SWE9dzUuWjYoMTI5KTtNYT13NS5mNig4KTtXYT13NS5mNig0Mik7RGE9dzUuZjYoMSk7VWE9dzUuWjYoODkpO1JhPXc1LmY2KDIwOSk7TmE9dzUuZjYoMjgpO0hhPXc1LmY2KDIxOSk7cWE9dzUuWjYoMjMwKTtKYT13NS5aNig4MSk7VmE9dzUuWjYoMzA5KTskYT13NS5mNigzNDcpO1FhPXc1LmY2KDM4MSk7R2E9dzUuWjYoOTIpO1lhPXc1LmY2KDEyNSk7S2E9dzUuWjYoMzIpO1phPXc1LmY2KDM5MCk7WGE9dzUuZjYoNDY4KTt0Yz13NS5mNigzNik7ZWM9dzUuZjYoMzk3KTtpYz13NS5aNig0ODApO25jPXc1LmY2KDIyMik7cmM9dzUuZjYoNDU3KTtvYz13NS5aNigzNTIpO3NjPXc1Llo2KDI5KTthYz0vaShQaG9uZXxQYWR8UG9kKS9pO2NjPXc1LmY2KDQzNCk7dWM9dzUuZjYoNDIxKTtoYz13NS5aNig0NzMpO2ZjPXc1LmY2KDE3MCk7cGM9dzUuZjYoMjYyKTtfYz13NS5aNigxNTEpO2xjPXc1LmY2KDQ5KTtkYz13NS5mNigyNTQpO3ZjPXc1LmY2KDQyOCk7YmM9dzUuZjYoMTUzKTttYz13NS5aNigyNjkpO2djPXc1Llo2KDU3KTt5Yz13NS5mNigzNTcpO2tjPS9UcmlkZW50XC8uKj9ydjooW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTt3Yz13NS5aNig0NTMpO3hjPXc1Llo2KDQ3Nik7T2M9dzUuZjYoNDU0KTtDYz13NS5mNig0NTgpO0VjPXc1LmY2KDgwKTtQYz0vOlxkKyQvO1RjPXc1Llo2KDI3Mik7QWM9dzUuWjYoMzI3KTtGYz13NS5mNig0NzkpO1NjPXc1Llo2KDYxKTtqYz13NS5mNigyOTEpO0xjPXc1Llo2KDIzMik7emM9dzUuWjYoMTEpO0JjPXc1LmY2KDM0Nik7SWM9dzUuWjYoMTA1KTtNYz13NS5aNig0NzcpO1djPXc1Llo2KDQwKTtEYz13NS5aNig3Nik7VWM9dzUuWjYoMTYpO1JjPXc1Llo2KDIyNyk7TmM9dzUuWjYoMjA0KTtIYz13NS5mNigzNyk7IWZ1bmN0aW9uKHQseSxSdCxYZSxyaSx5aSxBaSxObixkcixVcixpbyxybyxDbyxHcyx6YyxVYyxxYyxKYyxWYywkYyl7InVzZSBzdHJpY3QiO3ZhciBRYyxHYyxZYyxLYyxaYyxYYyx0dSxldSxpdSxudSxydSxvdSxzdSxhdSxjdSx1dSxodSxmdSxwdSxfdSxsdSxkdSx2dSxidSxtdSxndSx5dSxrdSx3dSx4dSxPdSxDdSxFdSxQdSxUdSxBdSxGdTtydT10O3c1Llk0KDApO291PXc1LmM0KHVpLEdyLGJyLF9yLFllLFNpLFR0LGRuLFllLHUsbWksT3QsR3IsWWUsdXIpO3c1Llk0KDEpO3N1PXc1LnU0KGZlLFR0LEh0LG90LFR0KTt3NS5vNCgxKTthdT13NS51NChXaSxQZSxLLF9jLFBlKTt3NS5ZNCgyKTtjdT13NS5jNChydSxnaSk7dzUubzQoMik7dXU9dzUudTQocnUsWm8pO3c1Lm80KDMpO2h1PXc1LmM0KE9jLHJ1LEJpLFV0LEdyLEdyKTt3NS5vNCgyKTtmdT13NS51NChydSwkYSk7cHU9YW87X3U9eGk7bHU9THI7ZHU9bW47dnU9eVtmXVtxbytHcitDXVtYcytHcit0cytHcituY10oKTtidT17dW5kZXI6bzUsbmV3VGFiOm81fTttdT1udWxsO2d1PW81O3l1PSF7fTtrdT1mdW5jdGlvbigpe307dzUuWTQoNCk7d3U9dzUudTQoR3IsT3QsRXQpO3h1PXJpW3ZzK0dyK0FvXXx8e3NyYzpudWxsfTt3NS5vNCg0KTtPdT15W2ZdW3c1LmM0KGVvLEdyLGtyKV07Q3U9eXU7RXU9eXU7UHU9eXU7VHU9ZnVuY3Rpb24oKXt2YXIgRTksbzksdzk7dHJ5e0U5PTM2MDIzMDM0MztvOT01MDA4ODEwMDM7dzk9Mjtmb3IodmFyIGI1PTE7dzUuTDEoYjUudG9TdHJpbmcoKSxiNS50b1N0cmluZygpLmxlbmd0aCw1ODI0MykhPT1FOTtiNSsrKXtyZXR1cm4geVtwXT09PXlbcXJdfHwheVtwXVttcl1bRWldWyhYcy1HciklaF0oKSE9VGM/eVtwXTp5W3FyXTt3OSs9Mjt9aWYodzUuTDEodzkudG9TdHJpbmcoKSx3OS50b1N0cmluZygpLmxlbmd0aCw1MTUyOSkhPT1vOSl7cmV0dXJuIHlbcF0hPT15W3FyXSYmdHlwZW9mIHlbcF1bbXJdW0VpXVtYcytHcitoXSgpPT09VGM/eVtwXTp5W3FyXTt9fWNhdGNoKHQpe3ZhciBBOSxJOSxLOTtBOT0yMjIyMDY4MDc7STk9NDU1MTUwMTA4O0s5PTI7Zm9yKHZhciBROT0xO3c1LkwxKFE5LnRvU3RyaW5nKCksUTkudG9TdHJpbmcoKS5sZW5ndGgsNjg5NDApIT09QTk7UTkrKyl7cmV0dXJuIFB1PWd1LHlbcXJdO0s5Kz0yO31pZih3NS5MMShLOS50b1N0cmluZygpLEs5LnRvU3RyaW5nKCkubGVuZ3RoLDU2NzU3KSE9PUk5KXtyZXR1cm4gUHU9Z3UseVtxcl07fX19KCk7QXU9VHVbSmFdW1FhXTtGdT1mdW5jdGlvbigpe3ZhciB0O3RyeXt0PVR1W0VpXVt1bl07fWNhdGNoKHQpe31yZXR1cm4hUHUmJnR8fChidT17bmV3VGFiOmd1LHVuZGVyOnl1fSx0PXJpW2lhXSksdDt9KCk7S2M9e3Q6W10sbjpmdW5jdGlvbih0KXt2YXIgSDcsdjcsVDc7SDc9MTg2NDAwNjYwNDt2Nz03MzE4NDIzNTE7VDc9Mjtmb3IodmFyIG83PTE7dzUuZDEobzcudG9TdHJpbmcoKSxvNy50b1N0cmluZygpLmxlbmd0aCw5MTY5NikhPT1INztvNysrKXt0eXBlb2YgeVt3c10hPT1nZSYmeVt3c11bT29dJiZObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO1Q3Kz0yO31pZih3NS5kMShUNy50b1N0cmluZygpLFQ3LnRvU3RyaW5nKCkubGVuZ3RoLDI0OTc5KSE9PXY3KXt+eVt3c109PT1nZXx8eVt3c11bT29dfHxObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO319LHI6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9MDt0PHRoaXMudFtwaV07dCsrKXt0aGlzLm4odGhpcy50W3RdKTt9fSxlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9W3RdW0tuXShBaVtYdF1bcW5dW0NpXShhcmd1bWVudHMsMSkpO3RoaXMudFtNcl0oZSk7R2MuaSgpJiZ0aGlzLm4oZSk7fX07ZXU9e3M6ZnVuY3Rpb24oKXtpZih0aGlzLm89PT1tdSl0cnl7eVthcytHcit0aV1bbGkrR3IrRXJdKHJ1LDEpO3lbYXMrR3IrdGldW3huK0dyK0VyXShydSk7dGhpcy5vPWd1O31jYXRjaCh0KXt2YXIgdzcscDcsYjk7dzc9LTE2MTA5ODQyMzA7cDc9OTg2NDU4NDQ2O2I5PTI7Zm9yKHZhciBtOT0xO3c1LmQxKG05LnRvU3RyaW5nKCksbTkudG9TdHJpbmcoKS5sZW5ndGgsODg3MTMpIT09dzc7bTkrKyl7dGhpcy5vPXl1O2I5Kz0yO31pZih3NS5MMShiOS50b1N0cmluZygpLGI5LnRvU3RyaW5nKCkubGVuZ3RoLDMzNDE0KSE9PXA3KXt0aGlzLm89eXU7fXRoaXMubz15dTt9cmV0dXJuIHRoaXMubzt9LHU6ZnVuY3Rpb24odCl7dGhpcy5zKCk/eVthcytHcit0aV1beG4rR3IrRXJdKHQpOnR1LnUodCk7fSxjOmZ1bmN0aW9uKHQpe3RyeXtyZXR1cm4gdGhpcy5zKCk/eVthcytHcit0aV1bYWErR3IrRXJdKHQpOnR1LmModCk7fWNhdGNoKHQpe3JldHVybiBtdTt9fSxvOm11LGE6ZnVuY3Rpb24odCxlKXt0aGlzLnMoKT95W2FzK0dyK3RpXVtsaStHcitFcl0odCxlKTp0dS5hKHQsZSk7fX07dHU9e3U6ZnVuY3Rpb24odCl7dGhpcy5hKHQsMCxuZXcgSmMoMCkpO30sYzpmdW5jdGlvbih0KXt2YXIgZTt3NS5ZNCg1KTtlPXJpW050XVtiY10obmV3IFVyKHc1LnU0KGVyLEdyLEdyLGV0LHNjLHQsR3IsR3IsdHQsdWMsR3IsR3IsSm8sR3IpLGxzKSk7cmV0dXJuIGU/VmMoZVswXVtDcl0oR3IrZXQrR3IpWzFdKTptdTt9LGE6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO3M9aXx8R3I7cyYmKHR5cGVvZiBzPT09V3Q/KG89bmV3IEpjKCkpW2xpK0dyK0hdKG9bYWErR3IrSF0oKSsxZTMqcyk6bz1zLHM9R3IrZXIrZmkrZXQrR3Irb1tYcytHcitWcitHcit4YytHcitXK0dyK2hdKCkpO3JpW050XT10KyhHcitldCtHcikrJGMoR3IrZSkrcysocj9HcitlcitkcytldCtHcityOkdyKSsoR3IrZXIrQXQrZXQrR3IpKyhufHxHcitQZStHcik7fX07WmM9e3A6ZnVuY3Rpb24odCl7dmFyIGUsaTtpPXt9O2ZvcihlPTA7ZTx0W3BpXTtlKyspe2lbdFtlXVswXV09dFtlXVsxXTt9cmV0dXJuIGk7fSxXOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbjt0cnl7cmV0dXJuIG49dFthYStHcitHaV0oZSksdHlwZW9mIGkhPT1UYz95dTohIW5ldyBVcihGbitpK01zLGxzKVtqY10obik7fWNhdGNoKHQpe3JldHVybiB5dTt9fSxBOmZ1bmN0aW9uKCl7dHJ5e3JldHVybiB0eXBlb2YgeS5qUXVlcnkuZm4ub249PT1aczt9Y2F0Y2godCl7cmV0dXJuIHl1O319LEc6ZnVuY3Rpb24odCl7cmV0dXJuKHQ/bmV3IEpjKHQpOm5ldyBKYygpKVthYStHcitIXSgpO30sTTpmdW5jdGlvbih0KXt2YXIgbTAsQTAsSTAsZSxsNyxjNyxWNzttMD0tMTc4MjYxMjU4MTtBMD0tMTYzMzI0MDE2NDtJMD0yO2Zvcih2YXIgcjA9MTt3NS5MMShyMC50b1N0cmluZygpLHIwLnRvU3RyaW5nKCkubGVuZ3RoLDM0ODU4KSE9PW0wO3IwKyspe0kwKz0yO31pZih3NS5MMShJMC50b1N0cmluZygpLEkwLnRvU3RyaW5nKCkubGVuZ3RoLDg0OTA2KSE9PUEwKXt9dHJ5e2w3PS0xMjU4NTI0ODY5O2M3PTc3MTI1MDQ2ODtWNz0yO2Zvcih2YXIgeTc9MTt3NS5kMSh5Ny50b1N0cmluZygpLHk3LnRvU3RyaW5nKCkubGVuZ3RoLDEwMjkyKSE9PWw3O3k3KyspeyhlPXRbSmFdW1FhXShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7VjcrPTI7fWlmKHc1LmQxKFY3LnRvU3RyaW5nKCksVjcudG9TdHJpbmcoKS5sZW5ndGgsMjYwMTcpIT09YzcpeyhlPXRbSmFdW1FhXSgoVWEtVnQpL2NpKSlbYm9dKCk7ZVtJb10oKTt9fWNhdGNoKHQpe30oZT1BdShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7fSxUOmZ1bmN0aW9uKHQpe3QmJihUdVtFaV09dCk7fSxxOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxpPVt5cixUbixFYSxCZSxqcyxabixqdCxrYyx3ZV0sbj0wO248aVtwaV07bisrKWlmKGU9aVtuXVtqY10odnUpKXtyZXR1cm4gdD9VYyhlWzFdLDEwKTplWzFdW1pdKFFzLEdyK1R0K0dyKTt9cmV0dXJuIG11O30sTDpmdW5jdGlvbih0LGUpe3c1Llk0KDcpO3JldHVybiB3NS51NChZZSxlcixHcix0LGllLHlzLEdyLGUsR3IsVmUsVnQsR3IpO30sXzpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUTAsZTAsajA7UTA9LTE2NDA5MDY2NDA7ZTA9MzYxNTQ4MTI4O2owPTI7Zm9yKHZhciB0MD0xO3c1LmQxKHQwLnRvU3RyaW5nKCksdDAudG9TdHJpbmcoKS5sZW5ndGgsMzk3NjcpIT09UTA7dDArKyl7aT15O3c1Llk0KDQpO249dFtDcl0odzUudTQoR3IsVHQsR3IpKTtmb3IoZT0wO2U8bltwaV07ZSsrKXtpPWlbbltlXV07fXJldHVybiBpO2owKz0yO31pZih3NS5MMShqMC50b1N0cmluZygpLGowLnRvU3RyaW5nKCkubGVuZ3RoLDQ3NjE4KSE9PWUwKXtpPXk7dzUuWTQoNik7bj10W0NyXSh3NS51NChUdCxHcixHcikpO2ZvcihlPTQ7ZTw9bltwaV07ZS0tKXtpPWlbbltlXV07fXJldHVybiBpO319LFM6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbyxzMCxEMCxXMCxVMCx4MCx6MDtvPXkualF1ZXJ5fHxudWxsO2lmKHQmJnRbQW5dKXtyZXR1cm4gZ3U7fWlmKCFvKXtyZXR1cm4geXU7fXRyeXtzMD0tMTYxNTA0NTA7RDA9LTE5OTUwMzAzNTQ7VzA9Mjtmb3IodmFyIGMwPTE7dzUuZDEoYzAudG9TdHJpbmcoKSxjMC50b1N0cmluZygpLmxlbmd0aCw5Nzc5KSE9PXMwO2MwKyspe2lmKChlPShvKHQpW2llXShHYSkmJm8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9VzArPTI7fWlmKHc1LkwxKFcwLnRvU3RyaW5nKCksVzAudG9TdHJpbmcoKS5sZW5ndGgsMjI1MTYpIT09RDApe2lmKChlPShvKHQpW2llXShHYSl8fG8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9fX1jYXRjaCh0KXt9dHJ5e1UwPS0xMjgxMDM4MTgyO3gwPS01MjI2MTY2MzI7ejA9Mjtmb3IodmFyIGkwPTE7dzUuTDEoaTAudG9TdHJpbmcoKSxpMC50b1N0cmluZygpLmxlbmd0aCwzMjg1OSkhPT1VMDtpMCsrKXtmb3IoZT1vKHJpW1FyXSlbaWVdKEdhKVtnc10saT00O2k+ZVtwaV07aS0tKWZvcihyPW8oZVtpXVtvZV0pLG49NztuPj1yW3BpXTtuLS0paWYocltuXT09dCl7cmV0dXJuIGd1O316MCs9Mjt9aWYodzUuTDEoejAudG9TdHJpbmcoKSx6MC50b1N0cmluZygpLmxlbmd0aCw4ODE3MikhPT14MCl7Zm9yKGU9byhyaVtRcl0pW2llXShHYSlbZ3NdLGk9NDtpPmVbcGldO2ktLSlmb3Iocj1vKGVbaV1bb2VdKSxuPTc7bj49cltwaV07bi0tKWlmKHJbbl09PXQpe3JldHVybiBndTt9fWZvcihlPW8ocmlbUXJdKVtpZV0oR2EpW2dzXSxpPTA7aTxlW3BpXTtpKyspZm9yKHI9byhlW2ldW29lXSksbj0wO248cltwaV07bisrKWlmKHJbbl09PT10KXtyZXR1cm4gZ3U7fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sQzpmdW5jdGlvbih0LGUsaSl7dmFyIG4scixvO289WmMuTyhvNSk7cmV0dXJuIG49b1t0bytHcit5YV1bbXJdW1VzK0dyK0NuXShkZSksbltPXT1yYStQZStDdCxuW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoSmErVHQrX3QrWWUrR3IrZXQrR3IrWWUrSmErVHQrcCtZZStHcitldCtHcitZZStKYStUdCt1cytHcitDbitZZStHcitldCtHcitZZStkK2VyK0dyKSsoSmErVHQrJG4rWWUrR3IrZXQrR3IrWWUrWnMrUit6K1ZlK0dyK1llK3NvK1ZlK0dyK1llK0NlK1ArR3IrWWUrR3Ird24rR3IpKyh1YStZZStCcytHcitYbytZZStHcitldCtHcitZZStKYStUdCtRYStSK3orVmUrR3IrWWUrc28rVmUrR3IrWWUrQ2UrUCtHcitlcitHcikrKFdyK1llK0dyK3duK0JzK0dyK1hvK1R0K1dvK1llK0dyK2V0K0dyK1llK2QrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSsoTnIrWWUrQnMrR3IrWG8rZXIrR3IpKyhHcitEcitHcitlcitHciksb1t0bytHcit5YV1bbXJdW1FyXVtJdCtHcitXZV0obikscj1vW3RvK0dyK3lhXS5ta3AodCxlLGkpLFpjLlAobykscjt9LEI6ZnVuY3Rpb24odCxlLG4pe3ZhciByLG8scztyPTA7bz1ufHwxMDtzPXQ7dHJ5e2Zvcig7cyYmcisrPG87KXtpZih0eXBlb2YgZT09PVRjJiYoc1tTYytHcittY109PT1lfHxaYy5JKHMsZSkpfHx0eXBlb2YgZT09PWFyJiZzPT09ZSl7cmV0dXJuIHM7fXc1Llk0KDQpO3M9c1t3NS51NChfdCxHcixpKV07fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sRjpmdW5jdGlvbih0KXt2YXIgZTtlPVJ0W1RlXTtyZXR1cm4gdHlwZW9mIHQhPT1nZSYmKGU9KGN0W2pjXSh0KXx8W0dyLEdyXSlbMV0pLGVbWl0oUGMsR3IpO30seDpmdW5jdGlvbih0KXtyZXR1cm4geWlbWHRdW1hzK0dyK2hdW0NpXSh0KT09PUdyK0pvK2FyK1llK2JuK3R0K0dyO30sazpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUjAsUDAsSjA7aT1bXTtuPVpjLnYoKTt0cnl7UjA9LTE2Mjc2MTY5Mzc7UDA9LTIwMDI5NzgxNzY7SjA9Mjtmb3IodmFyIEIwPTE7dzUuTDEoQjAudG9TdHJpbmcoKSxCMC50b1N0cmluZygpLmxlbmd0aCw3NjkxMCkhPT1SMDtCMCsrKXtmb3IoZSBpbiBuKXt+dFtlXSE9Z2V8fGlbTXJdKGUvKChHci1ldCklR3IpLXRbZV0pO31KMCs9Mjt9aWYodzUuTDEoSjAudG9TdHJpbmcoKSxKMC50b1N0cmluZygpLmxlbmd0aCw4NjExMCkhPT1QMCl7Zm9yKGUgaW4gbil7fnRbZV0hPWdlfHxpW01yXShlLygoR3ItZXQpJUdyKS10W2VdKTt9fWZvcihlIGluIG4pe3R5cGVvZiB0W2VdIT09Z2UmJmlbTXJdKGUrKEdyK2V0K0dyKSt0W2VdKTt9fWNhdGNoKHQpe0tjLmUodCk7fXc1Llk0KDQpO3JldHVybiBpW05pXSh3NS5jNChHcixWZSxHcikpO30sUjpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5CKHQsT24pO30seTpmdW5jdGlvbigpe2Zvcih2YXIgdCxlPXt9LGk9MDtpPGFyZ3VtZW50c1twaV07aSsrKWZvcih0IGluIGFyZ3VtZW50c1tpXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0oYXJndW1lbnRzW2ldLHQpJiYoZVt0XT1hcmd1bWVudHNbaV1bdF0pO31yZXR1cm4gZTt9LFY6ZnVuY3Rpb24odCxlKXt2YXIgSjEsWDEsQjE7SjE9NDUyODczNzI5O1gxPTEyNzMxMDM4NTg7QjE9Mjtmb3IodmFyIE4xPTE7dzUuZDEoTjEudG9TdHJpbmcoKSxOMS50b1N0cmluZygpLmxlbmd0aCw1NTI1MSkhPT1KMTtOMSsrKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpKihlLXQpKSt0O0IxKz0yO31pZih3NS5kMShCMS50b1N0cmluZygpLEIxLnRvU3RyaW5nKCkubGVuZ3RoLDI4MzUxKSE9PVgxKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpJShlL3QpKSV0O319LFE6ZnVuY3Rpb24odCl7dmFyIGUsaSxuO3c1Llk0KDgpO2U9dzUuYzQodHlwZW9mIHQsYXIpO2k9dDt3NS5vNCg0KTtuPXJpW1VzK0dyK0NhXSh3NS51NChTbixHcix1bykpO25bTHMrR3IrU24rR3IrQ2FdKGdzLGd1LGd1LHksMCwwLDAsMCwwLGd1LHl1LHl1LGd1LDAsbXUpO2V8fChpPVpjLnooVSx7aHJlZjp0fHxpZStWdCtyYStQZStqbytWZStHcit1aStkZSt1citKYStUdCtJbytSK0dyK1ArR3IrZXIrR3IrdWkrR3IrUGUrZGUrdXIrR3J9KSxyaVtRcl1bSXQrR3IrV2VdKGkpKTtpW2duK0dyK0NhXShuKTtlfHxaYy5QKGkpO30sejpmdW5jdGlvbih0LGUsaSl7dmFyIG4scjtyPXJpW1VzK0dyK0NuXSh0KTtmb3IobiBpbiBlKXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShlLG4pJiZyW2xpK0dyK0dpXShuLGVbbl0pO31yZXR1cm4gaSYmKHJbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPWkpLHI7fSxZOmZ1bmN0aW9uKCl7dHJ5e3c1Lm80KDQpO3JldHVybiEhT3VbdzUuYzQoZW4sUGUsTWMpXVt3NS51NCgkaSxHcixXcyldO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sbDpmdW5jdGlvbih0KXt2YXIgZSxpLFk3LGY3LHM3O2U9WmMuXyh0KTt3NS5ZNCg0KTtpPXRbWl0oQWEsdzUudTQoR3Isem8scSkpO3RyeXtZNz0tMTYzMTA2MDI3MDtmNz0xOTgxNTM2MDYxO3M3PTI7Zm9yKHZhciBXNz0xO3c1LkwxKFc3LnRvU3RyaW5nKCksVzcudG9TdHJpbmcoKS5sZW5ndGgsMTYwMikhPT1ZNztXNysrKXtyZXR1cm4rbmV3IFVyKChacy9ZZS1HcikvIGkveHIsUnMpW2lyXShlW1hzJUdyL2hdKCkpO3M3Kz0yO31pZih3NS5MMShzNy50b1N0cmluZygpLHM3LnRvU3RyaW5nKCkubGVuZ3RoLDExNjM3KSE9PWY3KXtyZXR1cm4hbmV3IFVyKFpzK1llK0dyK2kreHIsUnMpW2lyXShlW1hzK0dyK2hdKCkpO319Y2F0Y2godCl7cmV0dXJuIHRbWHMrR3IraF0oKVtMK0dyK1dhXShrbytZZStycytZZStVK1llK1pzKT4tMT9ndTpYYy5kP2d1Onl1O319LHY6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbzt3NS5vNCg0KTtlPXlbdzUuYzQoUGEsR3IsZyldO3c1Llk0KDQpO2k9eVt3NS5jNChQYSxHcix3YyldO249eVtPaStHcitVZV18fHlbT2krR3IrV25dfHwwO3I9eVtPaStHcit4b118fHlbT2krR3IrQ2NdfHwwO289e307cmV0dXJuIG9bb2NdPWUsb1tLYV09aSxvW0hpXT1uLG9bcF09cixvW29yXT0wLG9bRWldPTEsb1tTcl09MSxvW09yXT0xLG8ucmVzaXphYmxlPTEsb1tNZV09MSxYYy5iJiYob1tLYV0rPVhjLm0/NDY6NTIpLFhjLmcmJihvW29jXS09NSxvW0thXS09NCksdHlwZW9mIHQ9PT1hciYmKG89WmMueShvLHQpKSxvO30sTzpmdW5jdGlvbih0KXt2YXIgZTtlPXJpW1VzK0dyK0NuXShjbik7cmV0dXJuIGVbeGVdW3h0XT1YaSx0JiZyaVtRcl1bSXQrR3IrV2VdKGUpLGU7fSxEOmZ1bmN0aW9uKHQpe3JldHVybiB0W1NjK0dyK21jXT09PUZjK0dyK1ZyK0dyK3hjK0dyK3hjK0dyK2ZjK0dyK2d0fHx0W1NjK0dyK21jXT09PXZhK0dyK2d0K0dyK210K0dyK1ZyK0dyK3hjJiZVbltpcl0odFthYStHcitHaV0oTykpfHx0aGlzLkIodCxGYytHcitWcitHcit4YytHcit4YytHcitmYytHcitndCkhPT15dTt9LFA6ZnVuY3Rpb24odCl7dCYmdFtfdCtHcitpXSYmdFtfdCtHcitpXVt4bitHcitXZV0odCk7fSxJOmZ1bmN0aW9uKHQsZSl7dmFyIG4scixvO2lmKHR5cGVvZiBlIT09VGMpe3JldHVybiB5dTt9aWYodHlwZW9mIHJpW2VlK0dyK3Z0K0dyK21dPT09WnMpdHJ5e3I9dFtfdCtHcitpXVtlZStHcit2dCtHcittXShlKXx8eS5qUXVlcnkoZSk7fWNhdGNoKHQpe31lbHNlIGlmKFpjLkEoKSl0cnl7cj15LmpRdWVyeShlKTt9Y2F0Y2godCl7fWlmKHIpZm9yKG89MDtvPHJbcGldO28rKylpZihyW29dPT09dCl7cmV0dXJuIGd1O31zd2l0Y2goZVswXSl7Y2FzZSBHcitUdCtHcjpuPVtsbyxlW2ZzXSgxKV07YnJlYWs7Y2FzZSBHcitzZStHcjpuPVtWYSxlW2ZzXSgxKV07fXJldHVybiBuP3RoaXMuVyh0LG5bMF0sblsxXSk6eXU7fSxmOmZ1bmN0aW9uKHQsZSl7dHJ5e3JldHVybiEoIXRba2ldW2VdfHwhdFtraV1bZV1bWW5dKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LE46ZnVuY3Rpb24odCl7dmFyIGU7ZT10aGlzLlIodCk7cmV0dXJuIGUmJmVbdW5dJiYheHNbaXJdKGVbdW5dKT9lW3VuXTp5dTt9LEo6ZnVuY3Rpb24odCxlLGksbil7Zm9yKHZhciByLG8scyxhPXRbWHMrR3IraF0oKVtDcl0obnx8R3IrVHQrR3IpLGM9ZVtYcytHcitoXSgpW0NyXShufHxHcitUdCtHciksdT0wLGY9ZHJbQm9dKGFbcGldLGNbcGldKTt1PGYmJihyPVVjKGFbdV18fDAsMTApLG89VWMoY1t1XXx8MCwxMCkscWMocikmJihyPTApLHFjKG8pJiYobz0wKSxzPXI+bz8xOi0xLHI9PT1vKTt1Kyspe3M9MDt9c3dpdGNoKGkpe2Nhc2UgR3IrdXIrR3I6dzUubzQoOCk7cmV0dXJuIHc1LnU0KDEscyk7Y2FzZSBHcit1citHcitldCtHcjp3NS5ZNCg5KTtyZXR1cm4gdzUuYzQocywxKTtjYXNlIEdyK3VpK0dyOnc1Lm80KDEwKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK3VpK0dyK2V0K0dyOnc1Llk0KDExKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK2V0K0dyK2V0K0dyOmNhc2UgR3IrZXQrR3IrZXQrR3IrZXQrR3I6ZGVmYXVsdDp3NS5ZNCg4KTtyZXR1cm4gdzUudTQoMCxzKTt9fSwkOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1wZVtDcl0oR3IpLGk9ZVtwaV0sbj0wLHI9R3I7bjx0O24rKyl7cis9ZVtkcltBY10oZHJbTW5dKCkqaSldO31yZXR1cm4gcjt9LGg6ZnVuY3Rpb24odCxlKXt0cnl7cmV0dXJuIHRbYWErR3IrR2ldKGUpO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sSDpmdW5jdGlvbih0LGUsaSl7dmFyIG47dzUubzQoMik7bj13NS5jNChoaSx0KTtyZXR1cm4gdHlwZW9mIHlbbl0hPT1nZSYmcm8oeVtuXSkseVtuXT1pbyhlLGkpO30sdzpmdW5jdGlvbigpe3JldHVybiBQdTt9LFU6ZnVuY3Rpb24odCl7cmV0dXJuIHRbU2MrR3IrbWNdPT09dmErR3IrZ3QrR3IrbXQrR3IrVnIrR3IreGMmJm5lW2lyXSh0W2FhK0dyK0dpXShPKSl8fHRbU2MrR3IrbWNdPT09cGErR3IrT24rR3IrRmMrR3IrUHMrR3IrcGE7fX07aXU9e3R0OmZ1bmN0aW9uKHQsZSl7dmFyIGkscTUsbTUsQTU7dHJ5e3E1PS0xNDE1MjczNDIzO201PS0zMzc1MDc5MjY7QTU9Mjtmb3IodmFyIEs1PTE7dzUuZDEoSzUudG9TdHJpbmcoKSxLNS50b1N0cmluZygpLmxlbmd0aCwzNzU1NSkhPT1xNTtLNSsrKXtyZXR1cm4gZXx8KGk9cmlbKHdyLUdyKSVqbipHcipMY10odFtIYyVHci9VZV0sdFtIYy9Hci14b10pKT9pOnRbVGldJiZ0W1hzLUdyLUNuXSYmdFsoWHItR3IpJUNuXTtBNSs9Mjt9aWYodzUuTDEoQTUudG9TdHJpbmcoKSxBNS50b1N0cmluZygpLmxlbmd0aCw3MjUzNikhPT1tNSl7cmV0dXJuIGUmJihpPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXSx0W0hjK0dyK3hvXSkpP2k6dFtUaV18fHRbWHMrR3IrQ25dfHx0W1hyK0dyK0NuXTt9fWNhdGNoKHQpe3JldHVybiB5dTt9fSxYOmZ1bmN0aW9uKHQsZSxpLG4pe3JldHVybiB0eXBlb2YgdFtIbitHcitDYStHcitFbl09PT1acz90W0huK0dyK0NhK0dyK0VuXShlLGksbnx8e30pOnRbRmUrR3IrQ2FdKE5vK2UsaSk7fSxLOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByO3I9ZnVuY3Rpb24oKXtpdS5aKHQsZSxyLG4pO2lbQ2ldKCk7fTtpdS5YKHQsZSxyLG4pO30sWjpmdW5jdGlvbih0LGUsaSxuKXtyZXR1cm4gdHlwZW9mIHRbeG4rR3IrQ2ErR3IrRW5dPT09WnM/dFt4bitHcitDYStHcitFbl0oZSxpLG58fHt9KTp0W0tpK0dyK0NhXShObytlLGkpO319OyEoWGM9e2l0OmZhW2lyXSh2dSksbnQ6c3RbaXJdKHZ1KSxtOmxlW2lyXSh2dSksZXQ6YWNbaXJdKHZ1KSxydDpTb1tpcl0odnUpLG90OnNpW2lyXSh2dSl8fEpyW2lyXSh2dSl8fHVlW2lyXSh2dVtmc10oMCw0KSksc3Q6dm9baXJdKHZ1KSxnOkFyW2lyXSh2dSkmJiFfYVtpcl0odnUpLGI6bHJbaXJdKHZ1KSYmIW1hW2lyXSh2dSksYXQ6bWVbaXJdKHZ1KSYmIWdyW2lyXSh2dSksY3Q6eFtpcl0odnUpLGQ6Rltpcl0odnUpLHV0OnlvW2lyXSh2dSksX3Q6bXUscHQ6WmMucShndSl8fG11LGx0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3QhPT1tdT90aGlzLl90OnRoaXMuX3Q9UWMuZHQoKSE9PXl1O30sSjpmdW5jdGlvbih0LGUpe3JldHVybiBaYy5KKFhjLmZ0LGUsdCk7fSxodDptb1tpcl0odnUpJiYhenJbaXJdKHZ1KSxmdDpaYy5xKHl1KXx8bXV9KS5ldHx8WGMuaHR8fFhjLmR8fFhjLmJ8fChYYy51dD1vNSk7KFljPWZ1bmN0aW9uKHQsZSxpKXt2YXIgbjtuPWl8fHt9O25bel09ZTt0aGlzLnZ0KG4pO3RoaXMubXQuYnR8fCh0aGlzLm10LmJ0PXJ1K3QpO3RoaXMuZ3QoKTt9KVtYdF09e2t0OntUdDpndSxDdDptdSxqdDp5dSxFdDpHcitQZStHcixGdDprdSxMdDpndSxBdDp5dSxPdDpndSx4dDptdSxQdDpudWxsLGJ0Om11LHd0Om11LFN0Omt1fSxtdDp7fSx5dDpudWxsLHp0OlpjLnYoKSxCdDpaYy5wKFtbT3IsMF1dKSxJdDpaYy5wKFtbTWUsMV1dKSxNdDpaYy5wKFtbU3IsMV1dKSxXdDpaYy5wKFtbRWksMF0sW1NyLDBdXSksRHQ6WmMucChbW01lLDBdXSksVXQ6WmMucChbW1p0LDBdXSksUnQ6WmMucChbW0VpLDBdXSksc2V0T3B0aW9uczpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy52dCh0KTt9LGd0OmZ1bmN0aW9uKCl7dmFyIHQsZSxpLG47dD1mdW5jdGlvbih0LGUpe3ZhciBpLG47bj17fTtuW3B1XT1beXUsZ3VdO25bX3VdPVt5dSx5dV07bltsdV09W2d1LGd1XTtuW2R1XT1bZ3UseXVdO2ZvcihpIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixpKSYmbltpXVswXT09PXQmJm5baV1bMV09PT1lKXtyZXR1cm4gaTt9cmV0dXJuIF91O307ZT1YYy5sdCgpO2k9dChHYy5tdC4kdC5uZXdUYWIsR2MubXQuJHQudW5kZXIpO249dCh0aGlzLm10LkF0LHRoaXMubXQuVHQpO2V8fG49PT1wdSYmKG49aSk9PT1wdSYmKG49bHUpO1hjLm90JiYobj09PV91JiYobj1kdSksbj09PXB1JiYobj1sdSkpO3RoaXMueXQ9bjt9LEh0OmZ1bmN0aW9uKCl7dmFyIGswLG4wLEYwO2lmKHR5cGVvZiB0aGlzLm10Lnh0PT09WnMpdHJ5e3JldHVybiB0aGlzLm10Lnh0W0NpXSh0aGlzLHRoaXMubXQpW1hzK0dyK2hdKCk7fWNhdGNoKHQpe3JldHVybiBLYy5lKHQpLHl1O31rMD0tMTAwMjA0NzAxMztuMD0tMTY1MTM4NjMwNztGMD0yO2Zvcih2YXIgTTA9MTt3NS5MMShNMC50b1N0cmluZygpLE0wLnRvU3RyaW5nKCkubGVuZ3RoLDY4NDExKSE9PWswO00wKyspe3JldHVybiB0aGlzLm10Lnh0O0YwKz0yO31pZih3NS5kMShGMC50b1N0cmluZygpLEYwLnRvU3RyaW5nKCkubGVuZ3RoLDkwOTM5KSE9PW4wKXtyZXR1cm4gdGhpcy5tdC54dDt9fSxMdDpmdW5jdGlvbigpe3ZhciB0LGUsRzcsQzcsazcsVjAsdTAseTA7dD10aGlzLm10O2U9dC5PdCE9PU5zJiZ0Lk90IT09TmV8fHQuT3Q9PT1OcyYmWGMub3R8fHQuT3Q9PT1OZSYmIVhjLm90O3RyeXtHNz0tMTkzODMwODU3MjtDNz0tMTE3NzY0NDk2NDtrNz0yO2Zvcih2YXIgRjc9MTt3NS5kMShGNy50b1N0cmluZygpLEY3LnRvU3RyaW5nKCkubGVuZ3RoLDg5NDI0KSE9PUc3O0Y3Kyspe3R5cGVvZiB0Lkx0PT09WnM/ZT1lJiZ0Lkx0W0NpXSh0aGlzLGUsdGhpcy5OdCgpKSE9PXl1OnR5cGVvZiB0Lkx0PT09YW4mJihlPWUmJnQuTHQpO2s3Kz0yO31pZih3NS5MMShrNy50b1N0cmluZygpLGs3LnRvU3RyaW5nKCkubGVuZ3RoLDUzNDE4KSE9PUM3KXstdC5MdCE9PVpzP2U9ZXx8dC5MdFtDaV0odGhpcyxlLHRoaXMuTnQoKSk9PT15dTohdC5MdD09YW58fChlPWV8fHQuTHQpO319Y2F0Y2godCl7S2MuZSh0KTt9VjA9Njg3MDAyMDA4O3UwPS0yOTc1OTkyODc7eTA9Mjtmb3IodmFyIHYwPTE7dzUuTDEodjAudG9TdHJpbmcoKSx2MC50b1N0cmluZygpLmxlbmd0aCw2NDU0MSkhPT1WMDt2MCsrKXtyZXR1cm4gR2MuSnQoKT9lfHwtdGhpcy5WdDplfHwrdHUuYyh0LmJ0KTt5MCs9Mjt9aWYodzUuTDEoeTAudG9TdHJpbmcoKSx5MC50b1N0cmluZygpLmxlbmd0aCwyOTMyNSkhPT11MCl7cmV0dXJuIEdjLkp0KCk/ZXx8LXRoaXMuVnQ6ZXx8K3R1LmModC5idCk7fXJldHVybiBHYy5KdCgpP2UmJiF0aGlzLlZ0OmUmJiF0dS5jKHQuYnQpO30sdnQ6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHI7dGhpcy5tdD1aYy55KHRoaXMuenQsdGhpcy5rdCx0aGlzLm10LHR8fHt9KTtmb3IoaSBpbiB0aGlzLm10KWlmKHlpW1h0XVtCYStHcitsdCtHcitvb11bQ2ldKHRoaXMubXQsaSkpc3dpdGNoKG49dGhpcy5tdFtpXSxpKXtjYXNlIHNvOnRoaXMubXQud3Q9bjticmVhaztjYXNlIHo6dGhpcy5tdC54dD1uO2JyZWFrO2Nhc2UgTGU6dGhpcy5tdC5PdD0obitHcilbWHMrR3IrdHMrR3IrbmNdKCk7YnJlYWs7Y2FzZSBOdCtHcittYzp0aGlzLm10LmJ0PW47YnJlYWs7Y2FzZSBOdCtHcitUOnRoaXMubXQuQ3Q9bjticmVhaztjYXNlIE50K0dyK2VhOnRoaXMubXQuRXQ9bjticmVhaztjYXNlIE50K0dyKyRzOnRoaXMubXQuUHQ9bjticmVhaztjYXNlIEVlOnRoaXMubXQuVHQ9bjticmVhaztjYXNlIEErR3IrTG86dGhpcy5tdC5BdD1uO2JyZWFrO2Nhc2UgcHQrR3IramU6dGhpcy5tdC5GdD1uO2JyZWFrO2Nhc2UgamErR3IramU6dGhpcy5tdC5TdD1uO2JyZWFrO2Nhc2UgSWMrR3IrY3I6dGhpcy5tdC5qdD1uO2JyZWFrO2Nhc2UgdGUrR3Irc3M6dGhpcy5tdC5MdD1uO31pZighWGMub3QmJiF0aGlzLm10LkF0KWZvcihyPVtbWGMuZyYmMTE9PT1YYy5wdCx0aGlzLlV0XSxbWGMuYiYmWGMucHQ8NDEsdGhpcy5JdF0sW1hjLmIsdGhpcy5CdF0sW1hjLmQmJlhjLnB0PDQ3LHRoaXMuTXRdLFtYYy51dCx0aGlzLkR0XSxbWGMuY3QsdGhpcy5SdF0sW1hjLmImJlhjLnB0Pj01OSx0aGlzLld0XSxbWGMudXQmJlhjLnB0Pj00Nix0aGlzLld0XV0sZT0wO2U8cltwaV07ZSsrKWlmKHJbZV1bMF0pZm9yKGkgaW4gcltlXVsxXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0ocltlXVsxXSxpKSYmKHRoaXMubXRbaV09cltlXVsxXVtpXSk7fX0sZ2V0T3B0aW9uczpmdW5jdGlvbigpe3JldHVybiB0aGlzLk50KCk7fSxOdDpmdW5jdGlvbigpe3ZhciB0LGU7ZT17fTtmb3IodCBpbiB0aGlzLm10KXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXSh0aGlzLm10LHQpJiZ0W3BpXT49MyYmKGVbdF09dGhpcy5tdFt0XSk7fXJldHVybiBlO30scXQ6ZnVuY3Rpb24oKXtHYy5KdCgpP3RoaXMuVnQ9Z3U6dHUuYSh0aGlzLm10LmJ0LDEsdGhpcy5tdC5DdCx0aGlzLm10LkV0LHRoaXMubXQuUHQpO319OyhudT1mdW5jdGlvbih0KXt2YXIgZTtlPXRoaXM7dGhpcy5RdD10O3RoaXMuR3Q9dGhpcy5ZdCgpO3RoaXMuS3Q9dGhpcy5adCgpO2l1LlgodGhpcy5HdCxncyxmdW5jdGlvbigpe0dzKGUuS3QpO1pjLlAoZS5HdCk7fSk7fSlbWHRdPXtZdDpmdW5jdGlvbigpe3ZhciB0LEs3LHI3LFE3O0s3PS0xODIwMzgxMDU7cjc9MTk5MDM1MjYxMTtRNz0yO2Zvcih2YXIgajc9MTt3NS5kMShqNy50b1N0cmluZygpLGo3LnRvU3RyaW5nKCkubGVuZ3RoLDg2ODQwKSE9PUs3O2o3Kyspe3Q9WmMueihoYyx7Y2xhc3M6ZnV9LEdyKTtyZXR1cm4gdGhpcy5RdFtTYytHcittY11bWHMrR3IrdHMrR3IrbmNdKCk9PT1Rcj9yaVtRcl1bSXQrR3IrV2VdKHQpOnRoaXMuUXRbX3QrR3IraV1bTmMrR3IrT3NdKHQsdGhpcy5RdFtWcytHcitrc10pLHQ7UTcrPTI7fWlmKHc1LkwxKFE3LnRvU3RyaW5nKCksUTcudG9TdHJpbmcoKS5sZW5ndGgsMzM0MykhPT1yNyl7dD1aYy56KGhjLHtjbGFzczpmdX0sR3IpO3JldHVybiB0aGlzLlF0W1NjKkdyL21jXVtYcypHci10cy1Hci1uY10oKT09UXI/cmlbUXJdW0l0L0dyL1dlXSh0KTp0aGlzLlF0W190L0dyJWldWyhOYy1HcikqT3NdKHQsdGhpcy5RdFsoVnMtR3IpJWtzXSksdDt9fSxadDpmdW5jdGlvbigpe3ZhciB0O3Q9dGhpcztyZXR1cm4gQ28oZnVuY3Rpb24oKXt2YXIgZSxpO2k9VWModC5RdFt4ZV1bc24rR3IrenNdLDEwKTt0LlF0W1NjK0dyK21jXVtYcytHcit0cytHcituY10oKT09PVFyJiYoaT05ZTkpOyhlPV9uK1Z0K2dvK2VyK0RhK1Z0K04rZXIrbG4rVnQraytlcitHcisoS2ErVnQrR3IpK3QuUXRbZnIrR3Ird2NdKyhobytlcitHcikrKG9jK1Z0K0dyKSt0LlF0W2ZyK0dyK2ddKyhobytlcitHcikrKEhpK1Z0K0dyKSt0LlF0W2ZyK0dyK1duXSsoaG8rZXIrR3IpKyhwK1Z0K0dyKSt0LlF0W2ZyK0dyK0NjXSsoaG8rZXIrR3IpKyhzbit3aStMK1Z0K0dyKSsocWMoaSk/MjppKzEpKSE9PXQuR3RbYWErR3IrR2ldKHhlKSYmdC5HdFtsaStHcitHaV0oeGUsZSk7fSwxNTApO319O251Llh0PWZ1bmN0aW9uKHQpe3ZhciBlO3c1Llk0KDEyKTtlPXc1LmM0KHJ1LExpLHdpLHdpLEdyLGllLEdyKTt0W2FhK0dyK0dpXShlKXx8dFthYStHcitHaV0obG8pPT09ZnV8fCh0W2xpK0dyK0dpXShlLDEpLG5ldyBudSh0KSk7fTsoUWM9e2R0OmZ1bmN0aW9uKCl7dmFyIHQsZTtlPXRoaXMuZWUoKTtmb3IodD0wO3Q8ZVtwaV07dCsrKWlmKGVbdF1bMV0oKT09PWd1KXtyZXR1cm4gZVt0XVswXTt9cmV0dXJuIHl1O30sZWU6ZnVuY3Rpb24oKXt2YXIgdDt0PVtdO3JldHVybiBYYy5vdHx8WGMuaXQ/W106KHRbTXJdKFt0aGlzLmllLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlhjLnB0Pj02NCYmWGMucHQ8Njc7fV0pLHRbTXJdKFt0aGlzLm5lLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubnQmJlhjLnB0Pj00MyYmWGMucHQ8NjQ7fV0pLHRbTXJdKFt0aGlzLnJlLGZ1bmN0aW9uKCl7dmFyIGI3LHE3LG03O2I3PS02MDMwNTI0OTU7cTc9LTQwNjg3OTgwNDttNz0yO2Zvcih2YXIgSTc9MTt3NS5MMShJNy50b1N0cmluZygpLEk3LnRvU3RyaW5nKCkubGVuZ3RoLDU1NDM5KSE9PWI3O0k3Kyspe3JldHVybiBYYy5ifHxaYy5ZKCl8fFhjLm18fFhjLnB0PD0xN3x8WGMucHQ+PTg5O203Kz0yO31pZih3NS5MMShtNy50b1N0cmluZygpLG03LnRvU3RyaW5nKCkubGVuZ3RoLDYyMDk0KSE9PXE3KXtyZXR1cm4gWGMuYnx8WmMuWSgpfHxYYy5tfHxYYy5wdDw9MTd8fFhjLnB0Pj04OTt9cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubSYmWGMucHQ+PTQ5JiZYYy5wdDw2NDt9XSksdFtNcl0oW3RoaXMub2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZDt9XSksdFtNcl0oW3RoaXMuc2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZyYmWGMucHQ+PTExO31dKSx0W01yXShbdGhpcy5hZSxmdW5jdGlvbigpe3JldHVybiBYYy5odDt9XSksdFtNcl0oW3RoaXMuY2UsZnVuY3Rpb24oKXt2YXIgVDAsRTAsbzA7VDA9MTIwNjMzNjEyMTtFMD0xMjk2MjQyMjUyO28wPTI7Zm9yKHZhciBwMD0xO3c1LmQxKHAwLnRvU3RyaW5nKCkscDAudG9TdHJpbmcoKS5sZW5ndGgsNDUyNzYpIT09VDA7cDArKyl7cmV0dXJuIFhjLnV0fHxYYy5udHx8WGMucHQ+PTc0O28wKz0yO31pZih3NS5MMShvMC50b1N0cmluZygpLG8wLnRvU3RyaW5nKCkubGVuZ3RoLDY1MzgpIT09RTApe3JldHVybiBYYy51dCYmWGMubnQmJlhjLnB0PD00ODt9fV0pLHQpO319KS50ZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMudGVbWHRdPXtfZTprdSx1ZTpmdW5jdGlvbih0KXt2YXIgcjUsUTUsZTU7cjU9LTk1ODI4OTMwMTtRNT0tNjIxNDQ4NDIyO2U1PTI7Zm9yKHZhciBaNT0xO3c1LmQxKFo1LnRvU3RyaW5nKCksWjUudG9TdHJpbmcoKS5sZW5ndGgsOTUyNjgpIT09cjU7WjUrKyl7dGhpcy5mZT10O2U1Kz0yO31pZih3NS5MMShlNS50b1N0cmluZygpLGU1LnRvU3RyaW5nKCkubGVuZ3RoLDE0MzU1KSE9PVE1KXt0aGlzLmZlPXQ7fX0sbGU6a3UscGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhO2k9dGhpcztuPWkuZmU7cj1uLkh0KCk7bz1uLm10O3M9by53dHx8WmMuJCg1KTthPVpjLmsobyk7aWYodD1mdW5jdGlvbigpe3RyeXtpZih0eXBlb2Ygby5GdD09PVpzJiZvLkZ0W0NpXShuLHIsbyk9PT15dSl7cmV0dXJuIHl1O319Y2F0Y2godCl7S2MuZSh0KTt9cmV0dXJuIG11O30sZT1mdW5jdGlvbih0KXtpZih0eXBlb2Ygby5TdD09PVpzKXRyeXtvLlN0W0NpXShuLHIsbyx0KTt9Y2F0Y2godCl7S2MuZSh0KTt9fSx0KCk9PT15dSl7cmV0dXJuIHl1O310eXBlb2Ygb1t6XT09PVRjJiZvW3pdIT09ciYmKHI9b1t6XSk7R2MuanQoby5qdCk7dGhpcy5fZSgpO3RyeXtyZXR1cm4gdGhpcy5sZShyLG8scyxhLGZ1bmN0aW9uKHQpe2kuZGUodCk7aS5oZSYmR2MuaGUoKTtlKHQpO30pO31jYXRjaCh0KXtyZXR1cm4gS2MuZSh0KSx5dTt9fSx2ZTpmdW5jdGlvbih0LGUsaSl7cmV0dXJuKEdjLm10LmJlP1pjLkM6QXUpKHQsZSxpKTt9LGRlOmt1LGhlOmd1fTtRYy5tZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMubWVbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTp5dSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3IodGhpcy52ZSh0LGksbikpO319KTtRYy5nZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuZ2VbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTohWGMub3QmJiFYYy5kLGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7cih0aGlzLnZlKHQsRmkpKTt9fSk7UWMueWU9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnllW1h0XT1aYy55KFFjLnRlW1h0XSx7a2U6ZnVuY3Rpb24oKXt2YXIgdCxlLGk7dD1HYy53ZSgpO2U9R2MueGUuUztpPXR5cGVvZiBHYy5tdC5PZT09PVpzP0djLm10Lk9lW0NpXSgpOkdjLm10Lk9lO3JldHVybiBmdW5jdGlvbigpe3ZhciBuLHI7cmV0dXJuIGkhPT1GdT9pOihuPVpjLiQoMSkscj1lP2k6R2MuQ2UodCl8fGksZXUucygpfHwhWGMub3QmJiFYYy5nP3I6KHR1LmEoY3UsbixtdSkscltaXSh2cixHcikrKEdyK3NlK0dyKStuKSk7fSgpO30sbGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgeDksejksaDksbyxzLGEsYyx1LGgsZixwO3g5PTE3MTA2NjI4Nzg7ejk9LTEwMzk3MjE3MTM7aDk9Mjtmb3IodmFyIEw5PTE7dzUuZDEoTDkudG9TdHJpbmcoKSxMOS50b1N0cmluZygpLmxlbmd0aCwzMDE4NykhPT14OTtMOSsrKXtoOSs9Mjt9aWYodzUuZDEoaDkudG9TdHJpbmcoKSxoOS50b1N0cmluZygpLmxlbmd0aCw0NTQ4MCkhPT16OSl7fWE9dGhpcy5rZSgpO2M9R2Mud2UoKTt1PVpjLk4oYyk7aD0xNTtmPVtdO3A9ZnVuY3Rpb24odCl7dmFyIGU7dHlwZW9mIHRbQW5dPT09WnMmJihlPXRbQW5dLGl1LlgodCxncyxlKSk7dFtBbl09ZnVuY3Rpb24oKXtyZXR1cm4geXU7fTt9O2ZvcihHYy5FZSgpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKSE9PUZpJiZaYy5mKGMsdW4pJiYocChjKSwwIT09Y1thYStHcitHaV0odW4pW0wrR3IrV2FdKEN0KSYmKGE9Y1thYStHcitHaV0odW4pKT09PUdyJiYoYT1GdSkpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKT09PUZpJiZaYy5mKGMsdW4pJiYocChjKSxpbyhmdW5jdGlvbigpe2NbQW5dPW11O30sM2UzKSxHYy5tdC5QZT9hPWNbYWErR3IrR2ldKHVuKTooYT1GdSxYYy5vdCYmKFhjLnV0P2ZbTXJdKGZ1bmN0aW9uKCl7QXUoY1thYStHcitHaV0odW4pLEZpKTt9KTppbyhmdW5jdGlvbigpe0F1KGNbYWErR3IrR2ldKHVuKSxGaSk7fSwyMCkpKSksWGMuZXQmJlhjLnV0fHxYYy5ldCYmWGMuc3QmJiFYYy5kJiYhWGMuYiYmIVhjLmh0PyhBdShhLEZpKSxaYy5IKEJyLGZ1bmN0aW9uKCl7WmMuVCh0KTt9LGgpKTohWGMub3QmJlpjLmgoYyxUaSkhPT1GaSYmKFhjLnV0JiZYYy5zdHx8WGMuaHQmJlhjLnB0PDEwfHxYYy5iJiZYYy5wdDw0MSk/WGMudXQ/KFpjLlEoYSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KFpjLlEodCksY1tTYytHcittY109PT1PbiYmdSYmWmMuVCh1KSk6WGMuZXQmJlhjLmQ/KG89QXUoYSxGaSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KG89eVtRYV0oVWErVnQrY2ksRmkpKT8ob1tFaV1bdW5dPWEsWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6bz1BdSh0LEZpKSxzPTA7czxmW3BpXTtzKyspe2Zbc11bQ2ldKCk7fW8mJnIobyk7fX0pO1FjLm9lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5vZVtYdF09WmMueShRYy50ZVtYdF0se2hlOnl1LGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG87bz10aGlzLnZlKHQsaSxuKTtvW2tuXSgpO1R1W2JvXSgpO1pjLk0obyk7aW8oZnVuY3Rpb24oKXtyKG8pO30sMWUzKTt9fSk7UWMuY2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLmNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZSh0LGksbik7cz1HYy5UZSgxZTMpO2l1LksoeSxibyxmdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9KTtvW2NjXT1mdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9O3Iobyk7fX0pO1FjLmFlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5hZVtYdF09WmMueShRYy50ZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIEQ5LFc5LGw5LG87RDk9MTk0OTIwNzgwOTtXOT04OTkwMjg0O2w5PTI7Zm9yKHZhciBWOT0xO3c1LkwxKFY5LnRvU3RyaW5nKCksVjkudG9TdHJpbmcoKS5sZW5ndGgsNTc4NTApIT09RDk7VjkrKyl7bDkrPTI7fWlmKHc1LkwxKGw5LnRvU3RyaW5nKCksbDkudG9TdHJpbmcoKS5sZW5ndGgsNTEwNjgpIT09Vzkpe315W3NvXT1aYy4kKDUpO289dGhpcy52ZSh0LGksbik7dGhpcy52ZShHcix5W3NvXSxHcik7eVtzb109bXU7cihvKTt9LGhlOnl1fSk7UWMuc2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZShQdT90OkZ1LGksbik7cz1mdW5jdGlvbigpe29bRWldW3VuXT10O307aXUuSyhvLGtuLHMpO29ba25dKCk7VHVbYm9dKCk7aW8ocywxMDApO3Iobyk7fSxoZTp5dX0pO1FjLm5lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5uZVtYdF09WmMueShRYy50ZVtYdF0se0ZlOmZ1bmN0aW9uKCl7dmFyIHQsZTtlPVpjLnooYXIse2RhdGE6WmMuTChlbitQZStNYyx0aGlzLkFlKStaYy4kKDMpfSk7cmV0dXJuKHQ9WmMueihoYyx7c3R5bGU6UGkrVnQrYStlcitvYytWdCtIcytlcitLYStWdCtIcytlcitEYStWdCtOK2VyK3ArVnQrRnIrSGErR3IrZXIrSGkrVnQrem4rZXIrayt3aStHYStWdCtYaStlciskbytWdCthK2VyK0dyfSkpW0l0K0dyK1dlXShlKSxbZSx0XTt9LFNlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMueSh0LHt9KTtyZXR1cm4gZVtwXT1lW0hpXT05ZTUsZVtvY109ZVtLYV09MSxlO30sQWU6THQrR3IrdGErR3IrRmMrR3IrUHMrR3Irb24rR3IrV2MrR3IreG8rR3IrJCtHcithaStHcituK0dyK1NhK0dyK0tyK0dyK1F0K0dyK2t0K0dyK3p0K0dyK3RjK0dyK1l0K0dyK3ZhK0dyK3MrR3IrdmErdWMraG4rR3IrTGErR3IrenQrR3IrVytHcitEYytHcitaYStHcittdCtHcitWaStHcitzYStHcitVZStHcitUYStHcit2YStHcitWaStHcitQcitHcit4bytHcitVZStHcitpYytHcitwbytHcitLcitHcitKK0dyK2hzK0dyK1ppK0dyK3ZhK0dyK1ByK0dyK0xhK0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrWGErR3IrVHMrR3IrWmkrR3IrdmErR3IrUHIrR3IrSGUrR3IrenQrR3IrVytHcitGYytHcit0YytHcityYytHcithZStHcit2aStHcit2YStHcitQcitHcitydCtHcitwcytHcittdCtHcituYStHcitUbytHcityZStHcit4bytHcit0YStHcitqaStHcitXK0dyK2F0K0dyK3ZhK0dyK1ByK0dyK2MrR3IrYit1YytFK0dyK1FvK0dyK3BzK0dyK2RjK0dyK1l0K0dyK3ZhK0dyK1lhK0dyK1hhK0dyK1RzK0dyK1ppK0dyK3ZhK0dyK0dlK0dyK09lK0dyK2dhK0dyK0hvK0dyK3ZhK0dyK1ByK0dyK2t0K0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrdmErR3Ircm4rdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitrdCtHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK09lK0dyK1krR3IrS3QrR3IreG8rR3IrVWUrR3IrYnMrR3IrRnQrR3IrUG8rR3IrRStHcitVZStHcitiaStHcitVZStHcitTZStHcitWcitHcitEcytHcit4bytHcitVZStHcitHbytHcit2YStHcitQdCtHcitVZStHcitScitHcit5YytHcitPZStHcitWbytHcitLcitHcit2YytHcitiZStHcitzK0dyK3hjK0dyK0tvK0dyK3IrR3IrYWkrR3IrZnQrdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitBZStHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK05hK0dyK1RzK0dyK010K0dyK2hyK0dyK1lzK0dyK0tzK0dyK0UrR3IrVWUrR3IrZm4rR3IrcmMrR3IrYWUrR3IrRCtHcitMdCtHcitWcitHcit0YStHcittdCtHcitacitHcitWcitHcitPZSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3ZhciBzLGEsYyx1LGg7dT10aGlzO2g9eXU7dHJ5eyhhPXRoaXMudmUoVWErVnQrY2ksRmkpKVttcl1bcnJdKHc1LnU0KHVyLEdyLEdyLGpvLFBlLHVpLEdyLFFyLEdyLFBlLG8sR3IsdWksdWksR3IsdXIsUGUsR3IsdXIsam8sR3IsdXIsbyx1aSxHcix1cixHcix1aSxRcix1cix1aSx3NS5ZNCgxMykpKTtpdS5LKGEscWEsZnVuY3Rpb24oKXtmdW5jdGlvbiBmKCl7bigpO2FbSW9dKCk7bygpO3JvKGMpO31ofHwoaD1ndSxzPWFbQmNdPUF1KFVhK1Z0K2NpLGksWmMuayh1LlNlKGUpKSksaXUuWChhLGJvLGYpLGM9aW8oZiwzZTMpLGFbbXJdW1FyXVtQYStHcithaStHcit4YytHcit6dCtHcitwYV09dS5GZSgpWzFdW1BuK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXSk7ZnVuY3Rpb24gbigpe3c1Llk0KDE0KTthW21yXVtRcl1bdzUudTQoUGEsenQsR3IsR3IsR3IseGMsR3IsYWkscGEpXT1Hcjt9ZnVuY3Rpb24gbygpe3ZhciBhMSxZMSxmMTthMT0tMTU2OTI3MTMyMDtZMT0yMzc1ODcyNDtmMT0yO2Zvcih2YXIgRDE9MTt3NS5MMShEMS50b1N0cmluZygpLEQxLnRvU3RyaW5nKCkubGVuZ3RoLDk0NDMyKSE9PWExO0QxKyspe3NbRWMlR3ItYmFdKGVbSGldLGVbcF0pO3NbZGElR3IqYmFdKGVbb2NdLGVbS2FdKTtzW0VpXVtaXSh0KTtyKHMpO2YxKz0yO31pZih3NS5kMShmMS50b1N0cmluZygpLGYxLnRvU3RyaW5nKCkubGVuZ3RoLDYyNDUzKSE9PVkxKXtzW0VjJUdyLWJhXShlW0hpXSxlW3BdKTtzW2RhJUdyKmJhXShlW29jXSxlW0thXSk7c1tFaV1bWl0odCk7cihzKTt9c1tFYytHcitiYV0oZVtIaV0sZVtwXSk7c1tkYStHcitiYV0oZVtvY10sZVtLYV0pO3NbRWldW1pdKHQpO3Iocyk7fX0pO31jYXRjaCh0KXt9fX0pO1FjLnJlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5yZVtYdF09WmMueShRYy5uZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG8scztzPVpjLk8oZ3UpO2l1LksoeSxibyxmdW5jdGlvbigpe1pjLlAocyk7b1tFaV1bWl0odCk7cihvKTt9KTt3NS5vNCg0KTtvPXRoaXMudmUodzUuYzQoVWEsVnQsY2kpLEZpKTtzW3RvK0dyK3lhXVttcl1bcnJdKHRoaXMuRmUoKVsxXVtQbitHcithaStHcit4YytHcit6dCtHcitwYV0pO319KTtRYy5pZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuaWVbWHRdPVpjLnkoUWMudGVbWHRdLHtMZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47aT10aGlzO249eXU7dzUubzQoNCk7ZT10aGlzLnZlKHc1LmM0KFVhLFZ0LGNpKSx0Lnd0fHxGaSx0LkJlfHxHcik7dC56ZSYmKGUmJmVbSW9dKCksbj1ndSk7IW4mJmUmJmlvKGZ1bmN0aW9uKCl7ZVtFaV1bdW5dPXQueHQ7dC5JZSYmaS5JZShlKTt9LDEwMCk7fSx1ZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47bj10aGlzO3RoaXMuamU9ZHJbTW5dKCk7dGhpcy5mZT10O2U9R2Mud2UoKTt3NS5vNCgxNSk7aT1aYy5CKGUsdzUuYzQoZ3QsR3IseGMsR3IsR3IsRmMseGMsR3IsZmMsR3IsVnIpKTsoZVtTYytHcittY109PT1PbiYmZVthYStHcitHaV0oanIpIT09RmkmJiFaYy5TKGUpfHxpJiYhWmMuUyhpKSkmJih0aGlzLmhlPWd1KTtpdS5YKHksSWUsZnVuY3Rpb24gdChlKXt0cnl7ZVtpZV0uamU9PT1uLmplJiZuLkxlKGVbaWVdKTtlW2llXS56ZSYmaXUuWih5LEllLHQpO31jYXRjaCh0KXt9fSk7fSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3RoaXMuSWU9cjt0aGlzLk1lKHtqZTp0aGlzLmplLEJlOm4sSWU6Z3UseHQ6dH0pO3RoaXMuTWUoe2plOnRoaXMuamUsemU6Z3UseHQ6VWErVnQrY2l9KTt9LGhlOnl1LE1lOmZ1bmN0aW9uKHQpe3lbSnQrR3IrWF0odCx5W0VpXVtSb10pO319KTtHYz17X2k6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5RaSgpK3RoaXMuSGkoKT5aYy5HKCk7fSxLaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm10LkplO30sSmU6ZnVuY3Rpb24oKXt2YXIgdDt0PVpjLngoYXJndW1lbnRzWzBdKT9hcmd1bWVudHNbMF06YXJndW1lbnRzO3JldHVybiB0aGlzLm5uKHQsUm4sdFtwaV0mJnRbMF09PT15dSk7fSxraTpmdW5jdGlvbih0LGUsaSxuKXt0aGlzLk9pKGksdCxndSl8fG4oZ3UseXUpO30sV2k6ZnVuY3Rpb24odCl7dHJ5e3JldHVybiB0W3F0XSYmMCE9PXRbcXRdfHx0aGlzLmNpLkcrMTUwPlpjLkcoKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LFJpOmZ1bmN0aW9uKCl7dGhpcy5XZT1bXTt9LFlpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQucWU7fSxVaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLldlO30sWmU6bXUsVGk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHx0aGlzLnFpKHQpKXtyZXR1cm4geXU7fWlmKCF0aGlzLm10LnFlW3BpXXx8dFthYStHcitHaV0obG8pPT09ZnUpe3JldHVybiBndTt9Zm9yKDtlPHRoaXMubXQucWVbcGldO2UrKylpZih0PT09dGhpcy5tdC5xZVtlXXx8dHlwZW9mIHRoaXMubXQucWVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5xZVtlXVtYcytHcitwcitHcituY10oKXx8WmMuSSh0LHRoaXMubXQucWVbZV0pKXx8WmMuQih0LHRoaXMubXQucWVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LHdlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueGUuUXQ7fSxMaTpmdW5jdGlvbigpe3ZhciB0LGU7ZT10aGlzO3RoaXMuWmU9WmMueihoYyx7c3R5bGU6b2MrVnQrRnIrSGErR3IrZXIrS2ErVnQrRnIrSGErR3IrZXIrRGErVnQrSXMrZXIrcCtWdCt6bitlcitIaStWdCt6bitlcitzbit3aStMK1Z0K25vK2VyK3h0K1Z0K1hpK2VyK0dyfSxHcik7dD1DbyhmdW5jdGlvbigpe3ZhciBpO2k9cmlbUXJdO2kmJihHcyh0KSxpW0l0K0dyK1dlXShlLlplKSk7fSwxMDApO30saGk6ZnVuY3Rpb24oKXt2YXIgTjksYTksWTksdCxlLGk7Tjk9LTUxNTA4MTc1NzthOT0tMTMwNjg1MTEzNztZOT0yO2Zvcih2YXIgczk9MTt3NS5kMShzOS50b1N0cmluZygpLHM5LnRvU3RyaW5nKCkubGVuZ3RoLDEwMDExKSE9PU45O3M5Kyspe1k5Kz0yO31pZih3NS5MMShZOS50b1N0cmluZygpLFk5LnRvU3RyaW5nKCkubGVuZ3RoLDQ1MzQ0KSE9PWE5KXt9aT10aGlzLlhlLm9pO2Zvcih0PTA7dDx0aGlzLmZpW3BpXSYmKCF0aGlzLnBpKCkmJiF0aGlzLl9pKCkpO3QrKyl7aWYoZT10aGlzLmZpW3RdLHRoaXMuWGUuc2krKyx0aGlzLlhlLm9pPVpjLkcoKSx0aGlzLmxpKGUpPT09eXUpe3JldHVybiB0aGlzLlhlLnNpLS0sdm9pZCh0aGlzLlhlLm9pPWkpO31pPXRoaXMuWGUub2k7ZXUuYShodSx0aGlzLlhlLm9pKTtlLnl0PT09bHUmJmV1LmEodXUsdGhpcy5YZS5zaSk7fX0sT2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBuLHIsbyxzO3c1Lm80KDQpO289dzUuYzQoR3IsVHQsR3IpO3c1Llk0KDIpO3M9dzUuYzQobyx0KTtmb3Iobj0wO248ZVtwaV07bisrKWlmKHI9KEdyK090K0dyK1R0K0dyKVtMK0dyK1dhXShlW25dWzBdKT4tMT9lW25dOm8rZVtuXSxzW2ZzXShzW3BpXS1yW3BpXSk9PT1yfHxpJiZyPT09d3Upe3JldHVybiBndTt9cmV0dXJuIHl1O30sZW46ZnVuY3Rpb24odCxlKXt2YXIgTDAsZDAsTzAsaSxuO0wwPTEyMjU5MjUxNjQ7ZDA9LTc2NDA0NzIyNjtPMD0yO2Zvcih2YXIgQzA9MTt3NS5MMShDMC50b1N0cmluZygpLEMwLnRvU3RyaW5nKCkubGVuZ3RoLDk4MzQ3KSE9PUwwO0MwKyspe08wKz0yO31pZih3NS5MMShPMC50b1N0cmluZygpLE8wLnRvU3RyaW5nKCkubGVuZ3RoLDg1NTk4KSE9PWQwKXt9aT10aGlzO249dGhpcy50bih0LGUpO3RoaXMuV2VbTXJdKG4pO3RoaXMuRGkobik7dGhpcy5pbnx8KEdjLkNpKCksZnVuY3Rpb24oKXt2YXIgdCxlO1hjLmImJigoZT1yaVtVcytHcitDbl0oaGMpKVtSYytHcitpdF0oVmEsZnVuY3Rpb24oKXtDdT1ndTt9KSxDdT1vNSx0PUNvKGZ1bmN0aW9uKCl7aWYoQ3U9eXUsIWkubXQuUmUpe2lmKHR5cGVvZiB5W3dzXSE9PWFyfHx0eXBlb2YgeVt3c11bT29dIT09WnMpe3JldHVybiBDdT1vNSx2b2lkIEdzKHQpO315W3dzXVtPb10oZSk7eVt3c11bTWldKCk7fX0sNTAwKSk7fSgpLHRoaXMuaW49bzUpO30sUGk6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuSmkoKSx0P3RoaXMuZmlbcGldOnRoaXMuZmlbcGldPjA7fSx2aTpmdW5jdGlvbigpe3ZhciB0LGU7dD1aYy5HKCk7ZT1aYy5HKGF1KTt3NS5ZNCgxNik7dGhpcy5YZS5yaT13NS5jNChlLHQsMzE1MzYwMDAwMDApO3RoaXMuWGUucmkmJih0aGlzLmxpPWt1KTt9LEJpOmZ1bmN0aW9uKCl7dmFyIHQ7dD1VYyhldS5jKGh1KSwxMCk7cWModCkmJih0PTApO3RoaXMuWGUub2k9dDt9LENlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMuTih0KTtyZXR1cm4gZSYmIXRoaXMubXQuTmUmJlpjLlModCk/eXU6ZTt9LGp0OmZ1bmN0aW9uKHQpe3ZhciBlLGksbjtlPXR5cGVvZiB0PT09Z2U/Z3U6ISF0O3c1Lm80KDIpO2k9dzUuYzQocnUsSSk7bj1yaVthYStHcitDbitHcitpaStHcit0bl0oaSk7ZT9ufHwobj1aYy56KERvLHtjb250ZW50OkljK3dpK2lhLG5hbWU6aWEsaWQ6aX0pLHJpW2FhK0dyK1JlK0dyK2lpK0dyK1JpK0dyK21jXShvKVswXVtJdCtHcitXZV0obikpOm4mJlpjLlAobik7fSxHaTpmdW5jdGlvbigpe3RoaXMuWGUuaWk9Z3U7dGhpcy5oaT1rdTt9LEp0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQuRGU7fSx5aTpmdW5jdGlvbih0LGUsaSxuLHIpe2Zvcih2YXIgbyxzPTA7czxlJiYobz10W3NdLCEoMT09PW4mJihyKGlbcytlXSx0W3NdKmlbc10rcysoaVtzXT4+cyszKSl8fHIoaVtzKzIqZV0sdFtzXSoodFswXSt0WzFdK3RbMl0pKyhpW3NdPDxzKSl8fHIoaVtzKzMqZV0sZHJbQWNdKHRbMF0qdFsxXSp0WzJdL28pK28rKGlbc10+PnMpKSl8fG48MSYmKHIoaVtzK2VdLHRbc10qaVtzXStzKXx8cihpW3MrMiplXSx0W3NdKih0WzBdK3RbMV0rdFsyXSkpfHxyKGlbcyszKmVdLGRyW0FjXSh0WzBdKnRbMV0qdFsyXS9vKStvKSkpKTtzKyspO30scWk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHwhdGhpcy5tdC5KZVtwaV0pe3JldHVybiB5dTt9Zm9yKDtlPHRoaXMubXQuSmVbcGldO2UrKylpZih0PT09dGhpcy5tdC5KZVtlXXx8dHlwZW9mIHRoaXMubXQuSmVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5KZVtlXXx8WmMuSSh0LHRoaXMubXQuSmVbZV0pKXx8WmMuQih0LHRoaXMubXQuSmVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LGNpOnt1aTp7fSxHOjB9LEhpOmZ1bmN0aW9uKCl7cmV0dXJuIFhjLm90P2RyW0JvXSh0aGlzLm10LlZlLDFlMyk6WGMuYnx8WGMuZ3x8WGMuY3R8fFhjLnV0JiYhWGMuZXQ/ZHJbQm9dKHRoaXMubXQuVmUsMjAwKTp0aGlzLm10LlZlO30sRWU6ZnVuY3Rpb24odCl7dmFyIGUsWjcsdDcsVTc7Wjc9LTEyNTc1NDEyNDI7dDc9MTMwMDY1ODcyMDtVNz0yO2Zvcih2YXIgejc9MTt3NS5MMSh6Ny50b1N0cmluZygpLHo3LnRvU3RyaW5nKCkubGVuZ3RoLDgzNTc3KSE9PVo3O3o3Kyspe2U9dHx8dGhpcy5jaS51aTtVNys9Mjt9aWYodzUuZDEoVTcudG9TdHJpbmcoKSxVNy50b1N0cmluZygpLmxlbmd0aCwzMDU1KSE9PXQ3KXtlPXQmJnRoaXMuY2kudWk7fXRyeXtlW01vK0dyK25pXSYmZVtNbytHcituaV0oKTtlW3FlK0dyK19zXSYmZVtxZStHcitfc10oKTt3NS5vNCg0KTtlW3c1LmM0KE5yLEdyLGNvKV09eXU7dzUubzQoNCk7ZVt3NS51NChtcyxHcixIcildPWd1O31jYXRjaCh0KXt9fSxpOmZ1bmN0aW9uKCl7dmFyIE8xLEcxLEMxO08xPS0xMzAyMzI0NTE3O0cxPTg4ODY0MDYzMDtDMT0yO2Zvcih2YXIgbjE9MTt3NS5kMShuMS50b1N0cmluZygpLG4xLnRvU3RyaW5nKCkubGVuZ3RoLDU5MTU1KSE9PU8xO24xKyspe3JldHVybiB0aGlzLm10LlVlfHx0aGlzLm10LkRlO0MxKz0yO31pZih3NS5MMShDMS50b1N0cmluZygpLEMxLnRvU3RyaW5nKCkubGVuZ3RoLDIzODAyKSE9PUcxKXtyZXR1cm4gdGhpcy5tdC5VZSYmdGhpcy5tdC5EZTt9fSxwaTpmdW5jdGlvbigpe3ZhciBoNyxpNyxMNztoNz0tMTUxMTEyMzE1NDtpNz0tMTY3MjAwNTI5NjtMNz0yO2Zvcih2YXIgTzc9MTt3NS5kMShPNy50b1N0cmluZygpLE83LnRvU3RyaW5nKCkubGVuZ3RoLDMyNTMzKSE9PWg3O083Kyspe3JldHVybiB0aGlzLiRpKCk8dGhpcy5tdC5IZTtMNys9Mjt9aWYodzUuTDEoTDcudG9TdHJpbmcoKSxMNy50b1N0cmluZygpLmxlbmd0aCwxOTk5KSE9PWk3KXtyZXR1cm4gdGhpcy4kaSgpPj10aGlzLm10LkhlO319LGdpOmZ1bmN0aW9uKHQsZSxpLG4scil7Zm9yKHZhciBvLHM9MDtzPGUmJihvPXRbc10sISgxPT09biYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzErKGlbc108PGlbc10lMTApLGlbZStzXSl8fHIob1trZStHcitucytHcitCaV0ob1twaV0tMSkqaVtzXSoyK3MrKGlbc10+PnMpLGlbMiplK3NdKXx8cihvW3BpXSppW3NdKjMrKGlbc108PHMpLGlbMyplK3NdKSl8fG48MSYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzEsaVtlK3NdKXx8cihvW2tlK0dyK25zK0dyK0JpXShvW3BpXS0xKSppW3NdKjIrcyxpWzIqZStzXSl8fHIob1twaV0qaVtzXSozLGlbMyplK3NdKSkpKTtzKyspO30sV2U6W10sdG46ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IFljKHRoaXMuV2VbcGldLHQsZSk7fSxBaTpmdW5jdGlvbih0KXt0aGlzLmNpLnVpPXQ7dGhpcy5jaS5HPVpjLkcoKTt9LGFpOltdLE1pOmZ1bmN0aW9uKHQpe3JldHVybiBudS5YdCh0KSx0aGlzO30sWmk6ZnVuY3Rpb24oKXtyZXR1cm4gWmMucChbW1RyLHRoaXMubXQuRGVdLFtvaSx0aGlzLm10LlVlXSxbd3QsdGhpcy5tdC5SZV0sW0xyK0dyK3plLHRoaXMubXQuT2VdLFtSbitHcitFbix0aGlzLm10Lk5lXSxbRHQsdGhpcy5tdC5IZV0sW2xjK0dyK2JhLHRoaXMubXQucWVdLFtSbitHcitiYSx0aGlzLm10LkplXSxbUW4sdGhpcy5tdC5WZV0sW3crR3IrVix0aGlzLm10LiRlXSxbdytHcitEbix0aGlzLm10LlFlXSxbcG4rR3IrdHIrR3IrTG4sdGhpcy5tdC5HZV0sW0JzK0dyK2wrR3IrU3MsdGhpcy5tdC4kdF0sW05zK0dyKyRyLHRoaXMubXQuWWVdLFtJYytHcitwYytHcitfaSx0aGlzLm10LmJlXSxbTHMrR3IrYnQsdGhpcy5tdC5LZV0sW0IrR3IrdmUrR3IrX28rR3IreW4rR3IrTG4sdGhpcy5tdC5QZV1dKTt9LFRlOmZ1bmN0aW9uKHQpe3ZhciBlLGk7aT1aYy5PKGd1KTtyZXR1cm4gZT1pW3RvK0dyK3lhXVttcl1bVXMrR3IrQ25dKGRlKSwwPT09eVtFaV1bdW5dW0wrR3IrV2FdKGorVnQrR3IpP2VbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPUdyKyhXcitZZStHcit3bitHcikrKGYrVHQrUytUdCthYStHcitaZStHcitRaStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKTplW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoV3IrWWUrR3Ird24rR3IpKyhZcitUdCtjYStHcitfZStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSxpW3RvK0dyK3lhXVttcl1bUXJdW0l0K0dyK1dlXShlKSx0eXBlb2YgdCE9PVd0JiZ0eXBlb2YgdCE9PWdlfHxpbyhmdW5jdGlvbigpe1pjLlAoaSk7fSx0fHw1MDApLGk7fSxOaTpmdW5jdGlvbigpe3ZhciBvMSx3MSxwMTtvMT0tMjExMjgyOTI0MDt3MT00MjIxODMwODI7cDE9Mjtmb3IodmFyIHEwPTE7dzUuZDEocTAudG9TdHJpbmcoKSxxMC50b1N0cmluZygpLmxlbmd0aCwzNTgxNCkhPT1vMTtxMCsrKXtmb3IodmFyIHQsZT02O2U8PXRoaXMuV2VbcGldO2UtLSl7dD10aGlzLldlW2VdO3R1LnUodC5tdC5idCk7fXRoaXMuWGUub2k9dGhpcy5YZS5zaT00O2V1LnUodXUpO2V1LnUoY3UpO2V1LnUoaHUpO3AxKz0yO31pZih3NS5MMShwMS50b1N0cmluZygpLHAxLnRvU3RyaW5nKCkubGVuZ3RoLDUxMjkxKSE9PXcxKXtmb3IodmFyIHQsZT0yO2U8dGhpcy5XZVtwaV07ZSsrKXt0PXRoaXMuV2VbZV07dHUudSh0Lm10LmJ0KTt9dGhpcy5YZS5vaT10aGlzLlhlLnNpPTM7ZXUudSh1dSk7ZXUudShjdSk7ZXUudShodSk7fWZvcih2YXIgdCxlPTA7ZTx0aGlzLldlW3BpXTtlKyspe3Q9dGhpcy5XZVtlXTt0dS51KHQubXQuYnQpO310aGlzLlhlLm9pPXRoaXMuWGUuc2k9MDtldS51KHV1KTtldS51KGN1KTtldS51KGh1KTt9LHppOmZ1bmN0aW9uKCl7dmFyIHQ7dD0wO3JldHVybiBldS5zKCk/KHQ9ZXUuYyh1dSksZXUudSh1dSkpOnR1LmModXUpJiYocmlbaWFdPT09UnRbdW5dfHx+UnRbdW5dW0wrR3IrV2FdKEdyK3NlK0dyK3R1LmMoY3UpKSkmJih0PXR1LmModXUpLGlvKGZ1bmN0aW9uKCl7dHUudSh1dSk7dHUudShjdSk7fSwzMDApKSx0PVVjKHQsMTApLHQ9cWModCk/MDp0LHRoaXMuWGUuc2k9dDt9LG10OntOZTpndSxLZTp5dSxKZTpbXSxWZTowLCR0OmJ1LCRlOltdLERlOnl1LE9lOkZ1LEhlOjk5OTksUmU6eXUscWU6W10sWWU6MTAsVWU6eXUsUWU6Z3UsUGU6eXUsYmU6eXUsR2U6Z3V9LCRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuWGUuc2k7fSxRaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLlhlLm9pO30sYmk6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhLGMsdSxuOSxGOSxnOTtzPXRoaXM7YT0wO2M9dGhpcy5YZTt1PWZ1bmN0aW9uKHQsZSl7dmFyIFA5LEo5LFg5O1A5PTMyNTI1NjI2O0o5PS05NTA1MjQwNDM7WDk9Mjtmb3IodmFyIFM5PTE7dzUuTDEoUzkudG9TdHJpbmcoKSxTOS50b1N0cmluZygpLmxlbmd0aCw0ODQ5MykhPT1QOTtTOSsrKXtyZXR1cm4gdD09PWV8fChjLm5pPWd1LHMubGk9a3UpLHQhPWU7WDkrPTI7fWlmKHc1LkwxKFg5LnRvU3RyaW5nKCksWDkudG9TdHJpbmcoKS5sZW5ndGgsNTM4MDApIT09Sjkpe3JldHVybiB0IT09ZSYmKGMubmk9Z3Uscy5saT1rdSksdCE9PWU7fX07aWYodHlwZW9mIHlbcnVdW2FyXSE9PWdlKXtjLm5pPW11O3Q9eVtydV1bYXJdW1huXSgpO2U9eVtydV1bYXJdW1huXSgpO2k9eVtydV1bYXJdW1huXSgpO249eVtydV1bYXJdW1huXSgpO3I9WmMuRigoeVtydV1bYXJdW1huXSgpfHx7c3JjOm51bGx9KVtYcl0pO289WmMuRih4dVtYcl0pO3RyeXtuOT0xNDUwNjEyMjI1O0Y5PS01NjY0Nzc2Nzc7Zzk9Mjtmb3IodmFyIFI5PTE7dzUuZDEoUjkudG9TdHJpbmcoKSxSOS50b1N0cmluZygpLmxlbmd0aCwyODY5NSkhPT1uOTtSOSsrKXthPXlbcnVdW2FyXVtYbl0oKSYmNztnOSs9Mjt9aWYodzUuZDEoZzkudG9TdHJpbmcoKSxnOS50b1N0cmluZygpLmxlbmd0aCwzODQzOCkhPT1GOSl7YT15W3J1XVthcl1bWG5dKCkmJjc7fWE9eVtydV1bYXJdW1huXSgpfHwwO31jYXRjaCh0KXt9YT1kcltCb10oMCxkcltrYV0oMSxhKSk7dGhpcy5taSh0LG8scix1KTt0aGlzLmdpKHQsdFtwaV0sZSxhLHUpO3RoaXMueWkoaSxpW3BpXSxuLGEsdSk7dGhpcy5raSh0LHRbcGldLFpjLkYoKSx1LHUpO3RoaXMud2koaSxaYy5HKCkpO2Mubmk9PT1tdSYmKGMubmk9eXUpO31jLnhpPWF8fDA7fSxFaTpmdW5jdGlvbih0LGUpe3ZhciBkOSxPOSxHOTtkOT04MzA2MTMyMTE7Tzk9MTQwNDM5MjY4MztHOT0yO2Zvcih2YXIgazk9MTt3NS5kMShrOS50b1N0cmluZygpLGs5LnRvU3RyaW5nKCkubGVuZ3RoLDE2MDEwKSE9PWQ5O2s5Kyspe3RoaXMueGUuUXQ9dDt0aGlzLnhlLlM9ZTtHOSs9Mjt9aWYodzUuZDEoRzkudG9TdHJpbmcoKSxHOS50b1N0cmluZygpLmxlbmd0aCw3Njg2OSkhPT1POSl7dGhpcy54ZS5RdD10O3RoaXMueGUuUz1lO319LFhpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbix1OSx5OSxIOTtuPXR8fHt9O2ZvcihlIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixlKSlzd2l0Y2godGhpcy5tdFtlXT1pPW5bZV0sZSl7Y2FzZSBUcjp0aGlzLm10LkRlPWk7YnJlYWs7Y2FzZSBvaTp0aGlzLm10LlVlPWk7YnJlYWs7Y2FzZSB3dDp0aGlzLm10LlJlPWk7YnJlYWs7Y2FzZSBMcitHcit6ZTp0aGlzLm10Lk9lPWk7YnJlYWs7Y2FzZSBSbitHcitFbjp0aGlzLm10Lk5lPWk7YnJlYWs7Y2FzZSBEdDp0aGlzLm10LkhlPWk7YnJlYWs7Y2FzZSBsYytHcitiYTp0aGlzLnFlW29hXSh0aGlzLGkpO2JyZWFrO2Nhc2UgUm4rR3IrYmE6dGhpcy5KZVtvYV0odGhpcyxpKTticmVhaztjYXNlIFFuOnRoaXMubXQuVmU9aTticmVhaztjYXNlIHcrR3IrVjp0aGlzLm10LiRlPWk7YnJlYWs7Y2FzZSB3K0dyK0RuOnRoaXMubXQuUWU9aTticmVhaztjYXNlIHBuK0dyK3RyK0dyK0xuOnRoaXMubXQuR2U9aTticmVhaztjYXNlIEJzK0dyK2wrR3IrU3M6dGhpcy5tdC4kdD1pO2JyZWFrO2Nhc2UgTnMrR3IrJHI6dGhpcy5tdC5ZZT1pO2JyZWFrO2Nhc2UgSWMrR3IrcGMrR3IrX2k6dGhpcy5tdC5iZT1pO2JyZWFrO2Nhc2UgTHMrR3IrYnQ6dGhpcy5tdC5LZT1pO2JyZWFrO2Nhc2UgQitHcit2ZStHcitfbytHcit5bitHcitMbjp0aGlzLm10LlBlPWk7fXU5PTE1MDY0OTg2ODA7eTk9NjExNzc3ODY1O0g5PTI7Zm9yKHZhciBUOT0xO3c1LkwxKFQ5LnRvU3RyaW5nKCksVDkudG9TdHJpbmcoKS5sZW5ndGgsNjMyMykhPT11OTtUOSsrKXtyZXR1cm4gdGhpcztIOSs9Mjt9aWYodzUuZDEoSDkudG9TdHJpbmcoKSxIOS50b1N0cmluZygpLmxlbmd0aCw2MzczOSkhPT15OSl7cmV0dXJuIHRoaXM7fX0saGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksZzcsTTcsUjc7Zzc9LTM5MDQ0MjA2O003PS0xNjI0Njc4MzI1O1I3PTI7Zm9yKHZhciBKNz0xO3c1LkwxKEo3LnRvU3RyaW5nKCksSjcudG9TdHJpbmcoKS5sZW5ndGgsNTI1MzkpIT09Zzc7SjcrKyl7ZT10aGlzLndlKCk7aT10aGlzLmNpLnVpO1I3Kz0yO31pZih3NS5MMShSNy50b1N0cmluZygpLFI3LnRvU3RyaW5nKCkubGVuZ3RoLDg0NzUzKSE9PU03KXtlPXRoaXMud2UoKTtpPXRoaXMuY2kudWk7fXRyeXsodD1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0oZ3MsZ3UsZ3UseSwxLGlbT2krR3IrVWVdLGlbT2krR3IreG9dLGlbSGMrR3IrVWVdLGlbSGMrR3IreG9dLHl1LHl1LHl1LHl1LDAsbXUpO3RbVW9dPWd1O2VbZ24rR3IrQ2FdKHQpO31jYXRjaCh0KXtLYy5lKHQpO319LFZpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuUGkobzUpO30sU2k6ZnVuY3Rpb24oKXt2YXIgdCxpLG4scixvLHM7cj10aGlzO289NTAwO3M9ZnVuY3Rpb24odCxlKXt2YXIgaSxuO249WGMuYj9lYzpnczsoaT1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0obixndSxndSx5LDEsZVtPaStHcitVZV0sZVtPaStHcit4b10sZVtIYytHcitVZV0sZVtIYytHcit4b10seXUseXUseXUseXUsMCxtdSk7aS5mYz1ndTt0W2duK0dyK0NhXShpKTt9O2l1LlgocmksJHQsZnVuY3Rpb24ocil7dmFyIG8sRjEsZzEsTTE7dzUubzQoNCk7bz1yW3c1LnU0KHNyLEdyLGUpXVswXTtGMT05NTkwNTM3NzY7ZzE9LTE3NzY2NDMwNTc7TTE9Mjtmb3IodmFyIFAxPTE7dzUuZDEoUDEudG9TdHJpbmcoKSxQMS50b1N0cmluZygpLmxlbmd0aCw4NTkzNCkhPT1GMTtQMSsrKXt3NS5vNCgxOCk7dD1yW3c1LnU0KG9zLEpzLEdyKV07dzUuWTQoMTkpO2k9b1t3NS51NChHcixmbyxVZSldO3c1Lm80KDIwKTtuPW9bdzUuYzQoeG8sZm8sR3IpXTtNMSs9Mjt9aWYodzUuTDEoTTEudG9TdHJpbmcoKSxNMS50b1N0cmluZygpLmxlbmd0aCwxMTM5OCkhPT1nMSl7dzUubzQoMjEpO3Q9clt3NS5jNChvcyxKcyxHcildO3c1Llk0KDIyKTtpPW9bdzUuYzQoR3IsVWUsZm8pXTt3NS5vNCg2KTtuPW9bdzUuYzQoR3IseG8sZm8pXTt9dzUubzQoNCk7dD1yW3c1LnU0KG9zLEdyLEpzKV07dzUuWTQoNCk7aT1vW3c1LmM0KGZvLEdyLFVlKV07dzUubzQoNCk7bj1vW3c1LnU0KGZvLEdyLHhvKV07fSxndSk7aXUuWChyaSx2LGZ1bmN0aW9uKGEpe3ZhciBjLHUsaCxTMCxOMCxhMDtTMD0xMTI5ODE1NDEyO04wPS00NTk2NDE3MTE7YTA9Mjtmb3IodmFyIGYwPTE7dzUuZDEoZjAudG9TdHJpbmcoKSxmMC50b1N0cmluZygpLmxlbmd0aCw5MDQxMCkhPT1TMDtmMCsrKXt3NS5vNCg0KTtjPWFbdzUuYzQoc3IsR3IsZSldWzBdO3U9aXUudHQoYSk7aD1yLm10LlllO2EwKz0yO31pZih3NS5MMShhMC50b1N0cmluZygpLGEwLnRvU3RyaW5nKCkubGVuZ3RoLDUxODk1KSE9PU4wKXt3NS5ZNCg2KTtjPWFbdzUudTQoR3IsZSxzcildWzRdO3U9aXUudHQoYSk7aD1yLm10LlllO31kcltGc10oY1tmbytHcitVZV0taSk+PWh8fGRyW0ZzXShjW2ZvK0dyK3hvXS1uKT49aHx8YVtvcytHcitKc10tdD5vfHxyLm10LlllPD0wfHxYYy5odCYmRGlbaXJdKHVbU2MrR3IrbWNdKXx8ci5YZS5paXx8ci5YZS5uaXx8ci5YZS5yaXx8ci5waSgpfHxyLl9pKCl8fCFyLlBpKCl8fCFyLlRpKHUpfHwhci5tdC5OZSYmWmMuUyh1KXx8KHVbU2MrR3IrbWNdPT09T24mJnIuRWUoYSkscyh1LGMpKTt9LGd1KTt9LG1pOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByLG87bz15dTtmb3Iocj0wO3I8dFtwaV07cisrKWlmKHRbcl09PT13dSl7bz1ndTticmVhazt9byYmKGV8fGkpJiYoIXRoaXMuT2koZSx0KXx8IXRoaXMuT2koaSx0KXx8eVtydV1bdW5dJiZ5W3J1XVt1bl1bcGldJiYhdGhpcy5PaShaYy5GKCkseVtydV1bdW5dKSkmJm4oZ3UseXUpO30seGU6e1F0Om11LFM6eXV9LHFlOmZ1bmN0aW9uKCl7dmFyIHQ7dD1aYy54KGFyZ3VtZW50c1swXSk/YXJndW1lbnRzWzBdOmFyZ3VtZW50cztyZXR1cm4gdGhpcy5ubih0LGxjLHRbcGldJiZ0WzBdPT09eXUpO30sd2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBXMSxsMSxjMTtXMT0xMTQ2NjMzOTY5O2wxPTU4MTgzMzU3NjtjMT0yO2Zvcih2YXIgdTE9MTt3NS5kMSh1MS50b1N0cmluZygpLHUxLnRvU3RyaW5nKCkubGVuZ3RoLDY5ODkxKSE9PVcxO3UxKyspe1pjLkcodFtOaV0oR3IrUGUrR3IpKTxlJiZpKGd1LHl1KTtjMSs9Mjt9aWYodzUuZDEoYzEudG9TdHJpbmcoKSxjMS50b1N0cmluZygpLmxlbmd0aCw0ODMyNikhPT1sMSl7WmMuRyh0W05pXShHciVQZSVHcikpPj1lfHxpKGd1LHl1KTt9fSxDaTpmdW5jdGlvbigpe3ZhciByLG8scyxhLGMsdSxoLGYscCxfO2Z1bmN0aW9uIHQoKXt2YXIgdCxlO3c1Lm80KDE3KTtlPVt3NS51NChIbixUdCxHcixFbixHcixDYSxKYSksdzUuYzQoeG4sVHQsR3IsRW4sR3IsQ2EsSmEsdzUubzQoMTcpKSx3NS5jNChKYSxUdCxRYSx3NS5ZNCg0KSksdzUuYzQoQ24sR3IsVXMsbXIsVHQsdzUubzQoMSkpLHc1LnU0KFdlLEdyLHhuLG1yLFR0LHc1Llk0KDEpKV07Zm9yKHQ9MDt0PGVbcGldO3QrKylpZihaYy5sKGVbdF0pKXtyZXR1cm4gS2MuZSh0LFpjLmwoZVt0XSkpLGd1O31yZXR1cm4geXU7fWZ1bmN0aW9uIGkoaSl7dT0yO198fChfPWd1LGlvKGZ1bmN0aW9uKCl7Xz15dTt9LFhjLm90PzUwMDoxNTApLEN1JiYhcC5VZXx8KHI9aXUudHQoaSksbz1aYy5CKHIsT24pLGM9WmMuUyhyKSxyW2FhK0dyK0dpXShsbyk9PT1mdT8oclt4ZV1beHRdPVhpLFpjLlAocikscj1pdS50dChpLGd1KSk6byYmKHM9KHI9bylbYWErR3IrR2ldKFRpKSxhPVpjLk4ociksYz1aYy5TKHIpKSxmLkVpKHIsYyksZi5YZS5paXx8Zi5YZS5uaXx8Zi5YZS5yaXx8aVtVb118fGUoZi5jaS51aVtPXSYmZi5jaS51aVtPXSE9PWlbT10pfHxlKHAuS2UmJiFFdSl8fGUoIWlbSGMrR3IrVWVdJiYhaVtIYytHcit4b10pfHxlKCFYYy5vdCYmIVhjLmcmJnR5cGVvZiBpW3F0XSE9PWdlJiYwIT09aVtxdF0pfHxlKCFYYy5vdCYmIWYuWmUmJihYYy5jdHx8WGMuYnx8WGMudXQpKXx8ZSghWGMub3QmJiFwLkdlJiYoWGMuYnx8WGMudXQpJiZzPT09RmkpfHxlKGYucGkoKSl8fGUoZi5faSgpKXx8ZSghZi5QaSgpKXx8ZSghZi5UaShyKSl8fGUoYyYmIXAuTmUpfHxlKCFwLlJlJiZ0KCkpfHwoZi5BaShpKSxYYy5ldCYmbyYmYSYmZi5FZShpKSxYYy5vdHx8IW98fGN8fChYYy5iJiZzIT09RmkmJlpjLlkoKXx8cC5HZSYmcz09PUZpJiYoWGMuYnx8WGMudXQpKSYmZi5FZShpKSxmLkZpPW11LGYuaGkoKSkpKTt9Zj10aGlzO3A9Zi5tdDtfPXl1O2Z1bmN0aW9uIGUodCl7cmV0dXJuKyt1LHQmJktjLmUodSksdDt9cC5SZXx8IXQoKT8oaD1YYy5kfHxYYy5nP3FhOmVjLGZ1bmN0aW9uKCl7aXUuWChyaSxncyxpLGd1KTtYYy5vdD8oaXUuWChyaSxlYyxuLGd1KSxpdS5YKHJpLHFhLG4sZ3UpKTppdS5YKHJpLGgsbixndSk7fSgpLHRoaXMuU2koKSx0aGlzLmppKCksdGhpcy5MaSgpLHRoaXMuemkoKSx0aGlzLkJpKCkpOktjLmUoeXUpO2Z1bmN0aW9uIG4odCl7cj1vPWM9cz1hPW11OyFYYy5vdCYmdFtIYytHcitVZV0rKFhjLm50PzE3OjE1KT55W1BhK0dyK2ddP3AuUWUmJigocj17fSkuc2Nyb2xsYmFyPWd1LGYuRWkocix5dSksZi5waSgpfHxmLl9pKCl8fCFmLlBpKCl8fGYuaGkoKSk6aSh0KTt9fSxsaTpmdW5jdGlvbih0KXtpZih0aGlzLlhlLmlpfHx0aGlzLlhlLm5pfHx0aGlzLlhlLnJpKXtyZXR1cm4geXU7fXN3aXRjaCh0Lnl0KXtjYXNlIF91Om5ldyBRYy5tZSh0KS5wZSgpO2JyZWFrO2Nhc2UgZHU6bmV3IFFjLmdlKHQpLnBlKCk7YnJlYWs7Y2FzZSBsdTpuZXcgUWMueWUodCkucGUoKTticmVhaztjYXNlIHB1OnRyeXtuZXcoUWMuZHQoKSkodCkucGUoKTt9Y2F0Y2godCl7S2MuZSh0KTt9fXJldHVybiB0LnF0KCksZ3U7fSxqaTpmdW5jdGlvbigpe3ZhciB0LGUsaSxuLHIsbztuPXRoaXM7cj17fTtvPWZ1bmN0aW9uKHQpe2ZvcihlPTA7ZTx0W3BpXTtlKyspe24uTWkodFtlXSk7fX07Q28oZnVuY3Rpb24oKXt2YXIgZTtmb3IodD0wO3Q8bi5tdC4kZVtwaV07dCsrKXtpZihlPW4ubXQuJGVbdF0sKGk9cmlbYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGUpKVtwaV0mJm4ucGkoKXx8IW4uUGkoKSl7cmV0dXJuO310eXBlb2YgcltlXSE9PWdlJiZyW2VdPT09aVtwaV18fG8oaSk7fX0sMWUzKTt9LElpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbixyLG8scyxlOSxqOSxaOTtvPTI7cz15dTtmb3IoZT0wO2U8PW87ZSsrKXtpZigobj1yaVt3citHcitqbitHcitMY10odFtIYytHcitVZV0rZSx0W0hjK0dyK3hvXSkpJiZuW1NjK0dyK21jXT09PXBhK0dyK09uK0dyK0ZjK0dyK1BzK0dyK3BhKXtzPWd1O2JyZWFrO31mb3IoaT0wO2k8PW87aSsrKWlmKChuPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXStlLHRbSGMrR3IreG9dK2kpKSYmbltTYytHcittY109PT1wYStHcitPbitHcitGYytHcitQcytHcitwYSl7cz1ndTticmVhazt9aWYocylicmVhazt9aWYocylmb3Iocz15dSxyPW5bYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGVpKSxlPTA7ZTxyW3BpXTtlKyspaWYoWmMuVShyW2VdKSl7cz1ndTticmVhazt9ZTk9MTI0NjQ2Mzc5O2o5PTE4ODY4MTA5NztaOT0yO2Zvcih2YXIgVTk9MTt3NS5MMShVOS50b1N0cmluZygpLFU5LnRvU3RyaW5nKCkubGVuZ3RoLDU5MDM1KSE9PWU5O1U5Kyspe3JldHVybiBzP246eXU7WjkrPTI7fWlmKHc1LmQxKFo5LnRvU3RyaW5nKCksWjkudG9TdHJpbmcoKS5sZW5ndGgsNDQ5MzkpIT09ajkpe3JldHVybiBzP246eXU7fX0sRGk6ZnVuY3Rpb24oKXtpZighdGhpcy5YZS5laSl7dGhpcy5YZS5laT1ndTt0cnl7dGhpcy52aSgpO3RoaXMuYmkoKTt9Y2F0Y2godCl7fUtjLmUoW3RoaXMuWGUubmk/MDoxLHRoaXMuWGUucmk/MDoxLHRoaXMuWGUueGldW05pXShHcikpO319LFhlOnt0aTp5dSxuaTpndSxlaTp5dSxvaTowLHJpOmd1LHNpOjAsaWk6eXV9LG5uOmZ1bmN0aW9uKHQsZSxpKXtmb3IodmFyIG4scj0wLG89ZT09PVJuP3RoaXMubXQuSmU6dGhpcy5tdC5xZTtpJiZvW3BpXTspe29bQnNdKCk7fWZvcig7cjx0W3BpXTtyKyspe3R5cGVvZihuPXRbcl0pPT09VGM/b1tNcl0obik6dHlwZW9mIG49PT1hciYmdHlwZW9mIG5bd2ErR3IrbWNdPT09VGMmJm9bTXJdKG4pO31yZXR1cm4gdGhpczt9LEppOmZ1bmN0aW9uKCl7dmFyIHkxLEgxLHYxLHQsZTt5MT0xNzAzNzYyNDUyO0gxPTEyMTk1OTkwMzk7djE9Mjtmb3IodmFyIEUxPTE7dzUuZDEoRTEudG9TdHJpbmcoKSxFMS50b1N0cmluZygpLmxlbmd0aCwzODk3NykhPT15MTtFMSsrKXtlPTY7Zm9yKHRoaXMuZmk9W107ZT49dGhpcy5XZVtwaV07ZS0tKXsodD10aGlzLldlW2VdKS5MdCgpfHx0aGlzLmZpW01yXSh0KTt9djErPTI7fWlmKHc1LmQxKHYxLnRvU3RyaW5nKCksdjEudG9TdHJpbmcoKS5sZW5ndGgsMjE2MzkpIT09SDEpe2U9MTtmb3IodGhpcy5maT1bXTtlPnRoaXMuV2VbcGldO2UrKyl7KHQ9dGhpcy5XZVtlXSkuTHQoKSYmdGhpcy5maVtNcl0odCk7fX1lPTA7Zm9yKHRoaXMuZmk9W107ZTx0aGlzLldlW3BpXTtlKyspeyh0PXRoaXMuV2VbZV0pLkx0KCkmJnRoaXMuZmlbTXJdKHQpO31yZXR1cm4gdGhpcy5maTt9LGRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2kudWk7fX07aXUuWCh5LFN0LGZ1bmN0aW9uKCl7dmFyIFg3LEI3LFM3O1g3PTIwMTA5MDA5MDY7Qjc9LTE2OTQwNjQ1NTI7Uzc9Mjtmb3IodmFyIGE3PTE7dzUuTDEoYTcudG9TdHJpbmcoKSxhNy50b1N0cmluZygpLmxlbmd0aCwxNDk3OSkhPT1YNzthNysrKXtFdT0hMTtTNys9Mjt9aWYodzUuZDEoUzcudG9TdHJpbmcoKSxTNy50b1N0cmluZygpLmxlbmd0aCw2MjI0OCkhPT1CNyl7RXU9IXt9O31FdT1vNTt9KTtpbyhmdW5jdGlvbigpe3c1Lm80KDE1KTtLYy5lKHc1LnU0KFNpLFllLEdyLFR0LFllLE0sR3IsWWUsUWUsT3QsQW8pKTt3NS5vNCg0KTtLYy5lKHc1LmM0KHhhLFZ0LEdyKSxvdSk7dzUuWTQoNCk7S2MuZSh3NS5jNChxaSxWdCxHciksc3UpO3c1Lm80KDQpO0tjLmUodzUudTQoRXMsVnQsR3IpLGF1KTt9LDEwKTt5W3J1XT15W3J1XXx8ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG87cj17fTtvPVpjLnAoW1trbytHcitSYStHcitudCxbR2MsR2MuaV1dLFtKbixzdV0sW0d0LG91XSxbWW8rR3IraXMsYXVdLFt6YSxbR2MsR2MuWGkscl1dLFthYStHcitJaSxbR2MsR2MuWmldXSxbYWErR3IrUStHcitiYSxbR2MsR2MuWWldXSxbYWErR3IrX28rR3IrYmEsW0djLEdjLktpXV0sW3crR3IrQ24sW0djLEdjLk1pXV0sW0huLFtHYyxHYy5lbixyXV0sW0duLFtHYyxHYy5oaSxyXV0sW2VzLFtHYyxHYy5HaSxyXV0sW2xjK0dyK2JhLFtHYyxHYy5xZSxyXV0sW1JuK0dyK2JhLFtHYyxHYy5KZSxyXV0sW2FhK0dyK2h0K0dyK0NuLFtHYyxHYy53ZV1dLFthYStHcitubitHcitabyxbR2MsR2MuJGldXSxbYWErR3IreWUrR3IrWm8sW0djLEdjLlZpXV0sW0JhK0dyK3llLFtHYyxHYy5QaV1dLFtrbytHcitkdCtHcitKZSxbR2MsR2MucGldXSxbYWErR3IrVXQrR3IramUrR3IrQmksW0djLEdjLlFpXV0sW2FhK0dyK1V0K0dyK0NhLFtHYyxHYy5kaV1dLFt6aSxbR2MsR2MuTmldXSxbYWErR3IrXyxbR2MsR2MuVWldXSxbRm8rR3IrXyxbR2MsR2MuUmldXSxbaGErVHQrT28sW0tjLEtjLmVdXSxbaGErVHQrRyxbS2MsS2Mucl1dLFtPYStUdCtsaSxbdHUsdHUuYV1dLFtPYStUdCthYSxbdHUsdHUuY11dLFtPYStUdCt4bixbdHUsdHUudV1dLFt0aStUdCtrbytHcitkaSxbZXUsZXUuc11dLFt0aStUdCtsaSxbZXUsZXUuYV1dLFt0aStUdCthYSxbZXUsZXUuY11dLFt0aStUdCt4bixbZXUsZXUudV1dLFtjZStUdCtKbixYYy5wdF0sW2NlK1R0K0lyK0dyK3FpLFhjLmZ0XSxbY2UrVHQra28rR3IrQ3MsWGMuaXRdLFtjZStUdCtrbytHcitYbyxYYy5udF0sW2NlK1R0K2tvK0dyK01hLFhjLm1dLFtjZStUdCtrbytHcit2YStHcitmYytHcit0YyxYYy5ldF0sW2NlK1R0K2tvK0dyK0JuLFhjLnJ0XSxbY2UrVHQra28rR3Irdm4sWGMub3RdLFtjZStUdCtrbytHcitoZSxYYy5zdF0sW2NlK1R0K2tvK0dyK3l0LFhjLmF0XSxbY2UrVHQra28rR3IrZ2MsWGMuYl0sW2NlK1R0K2tvK0dyK0luLFhjLmRdLFtjZStUdCtrbytHcitGYSxYYy5odF0sW2NlK1R0K2tvK0dyK3ZhK0dyK1BzLFhjLmddLFtjZStUdCtrbytHcitjcyxYYy5jdF0sW2NlK1R0K2tvK0dyK0VvLFhjLnV0XSxbY2UrVHQrSm4rR3IrdXQsW1hjLFhjLkpdXSxbY2UrVHQrYW8rR3IrZGksW1hjLFhjLmx0XV0sW0NhK1R0K2xjK0dyK3FzLFtpdSxpdS5LXV0sW0NhK1R0K2xjLFtpdSxpdS5YXV0sW0NhK1R0K2xhLFtpdSxpdS5aXV0sW0NhK1R0K2FhK0dyK3luLFtpdSxpdS50dF1dLFtLZStUdCtrbytHcit2ZStHciskZSxbWmMsWmMud11dLFtLZStUdCtKbitHcit1dCxbWmMsWmMuSl1dLFtLZStUdCtvcyxbWmMsWmMuR11dLFtLZStUdCt3byxbWmMsWmMueV1dLFtLZStUdCtKaSxbWmMsWmMuJF1dLFtLZStUdCtVcytHcitDbixbWmMsWmMuel1dLFtLZStUdCt4bitHcitDbixbWmMsWmMuUF1dLFtLZStUdCthYStHcitVaSxbWmMsWmMuQl1dLFtLZStUdCtEZStHcitZaSxbWmMsWmMuSF1dXSk7Zm9yKGUgaW4gbylpZih5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShvLGUpKXtmb3Iobj1lW0NyXShHcitUdCtHciksdD1yLGk9MDtpPG5bcGldLTE7aSsrKXt0eXBlb2YgdFtuW2ldXT09PWdlJiYodFtuW2ldXT17fSk7dD10W25baV1dO310W25bbltwaV0tMV1dPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIFpjLngodFtlXSk/MT09PXRbZV1bcGldP3RbZV1bMF06ZnVuY3Rpb24oKXtyZXR1cm4gMj09PXRbZV1bcGldP3RbZV1bMV1bb2FdKHRbZV1bMF0sYXJndW1lbnRzKToodFtlXVsxXVtvYV0odFtlXVswXSxhcmd1bWVudHMpLHRbZV1bMl0pO306dFtlXTt9KG8sZSk7fXJldHVybiByO30oKTt9KHQucG9wbnN8fHpjK0dyK1VjK0dyK09jLHQsdFtFaV0sdFtPaV0sdFttcl0sdFtyb10sdFtibl0sdFtObl0sdFtDb10sdFtyaStHcitpb10sdFtsaStHcitZaV0sdFtNaStHcitZaV0sdFtsaStHcitBaV0sdFtNaStHcitBaV0sdFtMdCtHcit0YytHcitmYytHcitndF0sdFt5K0dyK1J0XSx0W2tvK0dyK3lpK0dyK2d0XSx0W2lzXSx0W1hlK0dyK1ZyK0dyK0dzK0dyK3ZhK0dyK1VyXSx0W2RyXSk7fSh3aW5kb3cpO2Y1eXkuSD1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC55PT09J2Z1bmN0aW9uJz9mNXl5LkwueS5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwueTt9O2Y1eXkuVz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Y1eXkuZz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC5PPT09J2Z1bmN0aW9uJz9mNXl5LkwuTy5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwuTzt9O2Y1eXkuZj1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Z1bmN0aW9uIGY1eXkoKXt9ZjV5eS5CPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5MLnk9PT0nZnVuY3Rpb24nP2Y1eXkuTC55LmFwcGx5KGY1eXkuTCxhcmd1bWVudHMpOmY1eXkuTC55O307ZjV5eS5SPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5JPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5MPWZ1bmN0aW9uKEQpe3JldHVybnt5OmZ1bmN0aW9uKCl7dmFyIEcsZD1hcmd1bWVudHM7c3dpdGNoKEQpe2Nhc2UgMjpHPWRbMF0qZFsxXTticmVhaztjYXNlIDA6Rz1kWzBdfGRbMV07YnJlYWs7Y2FzZSAxOkc9ZFsxXS1kWzBdO2JyZWFrO31yZXR1cm4gRzt9LE86ZnVuY3Rpb24oVil7RD1WO319O30oKTtmNXl5Lno9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiBmNXl5LkwuTz09PSdmdW5jdGlvbic/ZjV5eS5MLk8uYXBwbHkoZjV5eS5MLGFyZ3VtZW50cyk6ZjV5eS5MLk87fTtmNXl5LkM9ZnVuY3Rpb24oKXt2YXIgUT0yO3doaWxlKFEhPT0xKXtzd2l0Y2goUSl7Y2FzZSAyOnJldHVybnt2OmZ1bmN0aW9uKFUpe3ZhciBiPTI7d2hpbGUoYiE9PTE0KXtzd2l0Y2goYil7Y2FzZSAyOnZhciBLPScnLGw9ZGVjb2RlVVJJKCJ0JTExa2JsYyU3RCUwNmhiZGxtbDYhJTNDJTNDKyU1QmNkLTo1JTVENyg4Jy8lNUJ3LzI4bWolM0M4KTA3YiolMUMyJTI1bSUwN3ElN0RvYmslMTh3JTdDc2RtaDcpKSUyMipaMmQlMTgtNUErKS5vbXMlMTUlMjUlM0UwKyU1QiUzQyUxMXUlMjA2TXk/KScsSy1kJTNFOSxLMi00OyUyMCUwNjojMCU3RDUlNUM6IzMya0s2IXU5Kks4JTIwNTo2JTVDcSUxRiUzRScsWC1sMCUyMDYlNUN5Ljh1KUc4KDgxZUolM0MqMiclMjAlMDg1JTI1JTNFMCslNUIlM0NsOyUzQylNcWIxOiZJNSIpO2I9MTticmVhaztjYXNlIDk6Sys9U3RyaW5nLmZyb21DaGFyQ29kZShsLmNoYXJDb2RlQXQoWSleVS5jaGFyQ29kZUF0KGspKTtiPTg7YnJlYWs7Y2FzZSAxOnZhciBZPTAsaz0wO2I9NTticmVhaztjYXNlIDU6Yj1ZPGwubGVuZ3RoPzQ6NzticmVhaztjYXNlIDM6az0wO2I9OTticmVhaztjYXNlIDg6WSsrLGsrKztiPTU7YnJlYWs7Y2FzZSA0OmI9az09PVUubGVuZ3RoPzM6OTticmVhaztjYXNlIDc6Sz1LLnNwbGl0KCcoJyk7cmV0dXJuIGZ1bmN0aW9uKFApe3ZhciBoPTI7d2hpbGUoaCE9PTEpe3N3aXRjaChoKXtjYXNlIDI6cmV0dXJuIEtbUF07YnJlYWs7fX19O2JyZWFrO319fSgnRShZTF1VJyl9O2JyZWFrO319fSgpOyFmdW5jdGlvbihlLG8sYyl7InVzZSBzdHJpY3QiO3ZhciBUPWY1eXk7dmFyIGksbix0O1QuZygwKTtpPVQuUihULkgoIjgiLDApKTtULnooMCk7bj1bVC5JKFQuSCgnXHgzMVx4MzAnLDApKSxULkkoKyI2IiksVC5SKCsnXHgzMVx4MzQnKSxULlIoKyIxMiIpLFQuUihULkgoIjUiLDAsVC5nKDApKSksVC5JKFQuQigwLCdceDMwJyxULnooMSkpKSxULlIoVC5CKCdceDMxXHgzMScsMCxULnooMCkpKSxULkkoKyIyIildO1QuZygyKTt0PVsrJ1x4MzJceDMwXHgzMVx4MzknLFQuQignXHUwMDM1JywxKSxULkgoJ1x4MzFceDM2JywwLFQuZygwKSldO3RyeXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yy5Mb2dnZXIubG9nKGksVC5SKCsnXHgzMScpLG4pO2MuTG9nZ2VyLmxvZyhpLFQuUigiNyItMCksdC5qb2luKFQuSSgnXHgzNCctMCkpKTt9LCsiNTAwIik7VC56KDEpO2Mub2JqZWN0PVtuLFsrIjM2MCIsNDk0LDM5MSwrIjMxMiIsVC5CKDAsIjMxMiIpLFQuSCgiMzY1IiwwLFQuZygwKSksKydceDM0XHgzMFx4MzQnLFQuSCgiMzAwIiwwLFQuZygwKSksKydceDMzXHgzNlx4MzBceDMwXHgzMScsVC5IKDAsJ1x4MzNceDM5XHgzNVx4MzJceDMyJyxULmcoMSkpLFQuQigiMTg3NzEiLDAsVC56KDApKSwrIjM0OTQ4IiwxNjU0MSwyOTU3MSwrJ1x4MzVceDMxXHgzN1x4MzFceDM5JywzMzkwOCxULkgoIjc4ODQwIiwwLFQuZygwKSksMTA1OTY0LCsnXHgzOFx4MzRceDM1XHgzNVx4MzUnLFQuSCgiNzI0MjYiLDAsVC5nKDApKSxULkgoJ1x4MzNceDMwXHgzNVx4MzlceDM5JywwLFQuZygwKSksVC5CKCdcdTAwMzRcdTAwMzFcdTAwMzZcdTAwMzJcdTAwMzYnLDAsVC5nKDApKSxULkIoMCwnXHUwMDM4XHUwMDM4XHUwMDMwXHUwMDM4XHUwMDM0JyxULnooMSkpLFQuSCgiNjU0MDkiLDEsVC5nKDIpKSwxNDQwMCxULkgoIjEyODQ0IiwxLFQueigyKSksKydceDM4XHgzNlx4MzBceDMyJyxULkgoJ1x4MzFceDMwXHgzOVx4MzJceDMwJywxLFQuZygyKSksMTM0MTYsVC5IKCdceDMyXHgzNFx4MzhceDMyXHgzMCcsMCxULmcoMCkpLFQuQignXHgzM1x4MzdceDM5XHgzN1x4MzYnLDAsVC56KDApKSwrJ1x4MzVceDMxXHg2NVx4MzMnXSx0LFtULkgoJ1x4MzNceDM2XHgzMicsMCxULmcoMCkpLDQ5NiwrJ1x4MzNceDM5XHgzOScsVC5IKDAsIjczMDkyMyIsVC5nKDEpKSwrJ1x1MDAzMlx1MDAzNVx1MDAzMVx1MDAzMicsVC5IKCI2Mzk4IiwwLFQueigwKSksVC5IKCdcdTAwMzRcdTAwMzFcdTAwMzFcdTAwMzlcdTAwMzFcdTAwMzJcdTAwMzInLDEsVC5nKDIpKSwrJ1x4MzFceDMxXHgzMVx4MzlceDMyJyxULkgoJ1x4MzNceDM0XHgzMlx4MzNceDM2JywwLFQueigwKSksMjQ2MSwzMjU1NywxMDIxMF0sby5jdXJyZW50U2NyaXB0LFQuSCgiMSIsMSxULmcoMikpXTt9Y2F0Y2gobyl7dm9pZCgnXHgzMCcqMSkhPT1lLmNvbnNvbGUmJmUuY29uc29sZS5sb2cmJkZ1bmN0aW9uLmFwcGx5LmNhbGwoZS5jb25zb2xlLmxvZyxlLmNvbnNvbGUsW1QuSSgnXHgzMVx4MzMnfDApXSk7fX0od2luZG93LGRvY3VtZW50LHdpbmRvd1t3aW5kb3cucG9wbnN8fGY1eXkuUigiMyItMCldKTt2YXIgXzB4MTM4Zj1bJ1x4NThceDQ4XHg2M1x4NzInLCdceDQ5XHg1NFx4NDVceDZmXHg2NFx4NDNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NmNceDUwXHg1NFx4NDVceDZmXHg1YVx4NTNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NzVceDUwXHg1OFx4NTFceDc1XHg2Mlx4NzlceDY3XHg2OVx4NjJceDUzXHg0OVx4NzBceDRmXHg3YVx4NTlceDY3XHg2Mlx4NjlceDM0XHg3OVx4NGNceDZkXHg3N1x4MzlceDQ5XHg2ZFx4NzNceDY5XHg0Y1x4NDdceDM0XHg3NVx4NGRceDY5XHgzNVx4NzdceDUwXHg1NFx4NDFceDczXHg2Mlx4NjlceDM0XHg3OVx4NGNceDZlXHg0NVx4MzlceDRkXHg0M1x4NzhceDc1XHg0Y1x4NmFceDQ5XHg3NVx4NjRceDdhXHgzMFx4NjlceDYxXHg2OVx4NDlceDczXHg2Mlx4NjlceDM1XHgzMVx4NTBceDUzXHg0OVx4MzNceDRmXHg2OVx4MzhceDc2XHg2M1x4NjlceDM1XHgzNFx4NGNceDZhXHg1NVx4NzZceDYxXHg0M1x4MzlceDY4XHg0Y1x4NzlceDQ5XHg3Mlx4NWFceDUzXHg3OFx4MzBceDRjXHg2ZFx4NDlceDc1XHg2MVx4NTNceDY4XHg3NVx4NGJceDUzXHg3OFx4NzVceDY2XHg1M1x4NzhceDc1XHg1MFx4NTdceDRkXHg2Zlx4NWFceDc5XHg2N1x4NmZceDY0XHg0M1x4MzVceDZiXHg0Y1x4NmVceDU5XHg2Zlx4NTFceDY5XHg0Mlx4NGZceDRiXHg0M1x4NDlceDZmXHg0ZVx4N2FceDM5XHgzOFx4NTNceDY5XHgzMVx4MzVceDRiXHg1NFx4NzBceDYzXHg1OFx4NDNceDM5XHg2M1x4NThceDQzXHgzOFx4NjlceDRiXHg1M1x4NzdceDY5XHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDRjXHg3OVx4NDlceDcwXHg1N1x4N2FceDQyXHg2NFx4NjZceDQ4XHg3N1x4NjlceDUzXHg3OVx4MzRceDMxXHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDQ5XHg2OVx4NmJceDc1XHg1NFx4NDNceDY3XHg3OFx4NGJceDQ4XHg1MVx4NzBceDY1XHg3YVx4NTlceDY3XHg2NFx4NDNceDM1XHg0ZVx4NGJceDQ0XHg0MVx4NzBceDRjXHg2Ylx4NjNceDZmXHg1M1x4NDNceDZjXHgzOVx4NGJceDUzXHgzNVx4NDJceDRiXHg0M1x4NDlceDY5XHg0Ylx4NTNceDZiXHg3MFx4NGZceDMzXHg2Zlx4NzVceDRlXHg0M1x4NjdceDY5XHg1MVx4NzlceDQ5XHg3M1x4NGRceDUzXHg2N1x4NzBceDY1XHgzMlx4NTVceDZmXHg2Mlx4NjlceDczXHg2OVx4NGNceDMyXHg1OVx4NzVceDRmXHg1M1x4NDlceDcwXHg0Y1x4NmFceDUxXHg2Zlx4NDlceDZiXHg1MVx4NjlceDRjXHg0NFx4NDVceDZmXHg0Ylx4NThceDc0XHg0N1x4NGJceDQ0XHg0NVx4NmZceDRiXHg1OFx4NzRceDZjXHg0Ylx4NDdceDM0XHg3Mlx4NDlceDY5XHgzOVx4N2FceDRjXHg2YVx4NmJceDY5XHg0Ylx4NThceDMwXHg3M1x4NTJceDUzXHg2Y1x4MzlceDRiXHg1OFx4MzBceDcwXHg2Nlx4NTNceDY4XHg0YVx4NGJceDU0XHg3M1x4M2QnLCdceDYzXHgzM1x4NDJceDczXHg2MVx4NThceDUxXHgzZCcsJ1x4NWFceDZlXHg0YVx4NzZceDYyXHg1NVx4NGVceDZmXHg1OVx4NThceDRhXHg0NFx4NjJceDMyXHg1Mlx4NmMnLCdceDY0XHg0N1x4MzlceDU0XHg2NFx4NDhceDRhXHg3MFx4NjJceDZkXHg2M1x4M2QnLCdceDYzXHg2ZFx4NTZceDc3XHg2Mlx4NDdceDQ2XHg2YVx4NWFceDUxXHgzZFx4M2QnXTsoZnVuY3Rpb24oXzB4MWI1OWFjLF8weDMwZDYwNSl7dmFyIF8weDQ0NTljOT1mdW5jdGlvbihfMHgxNDY4YWMpe3doaWxlKC0tXzB4MTQ2OGFjKXtfMHgxYjU5YWNbJ3B1c2gnXShfMHgxYjU5YWNbJ3NoaWZ0J10oKSk7fX07XzB4NDQ1OWM5KCsrXzB4MzBkNjA1KTt9KF8weDEzOGYsMHgxMGIpKTt2YXIgXzB4MTdjMT1mdW5jdGlvbihfMHgxOTc3ZGIsXzB4Yzc5ZjY5KXtfMHgxOTc3ZGI9XzB4MTk3N2RiLTB4MDt2YXIgXzB4MTYyZGYyPV8weDEzOGZbXzB4MTk3N2RiXTtpZihfMHgxN2MxWydPTXJTcXgnXT09PXVuZGVmaW5lZCl7KGZ1bmN0aW9uKCl7dmFyIF8weDI0NzE2Njt0cnl7dmFyIF8weDViZDYyOT1GdW5jdGlvbigncmV0dXJuXHgyMChmdW5jdGlvbigpXHgyMCcrJ3t9LmNvbnN0cnVjdG9yKFx4MjJyZXR1cm5ceDIwdGhpc1x4MjIpKFx4MjApJysnKTsnKTtfMHgyNDcxNjY9XzB4NWJkNjI5KCk7fWNhdGNoKF8weDMyOTViMCl7XzB4MjQ3MTY2PXdpbmRvdzt9dmFyIF8weDI4M2NlOT0nQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0nO18weDI0NzE2NlsnYXRvYiddfHwoXzB4MjQ3MTY2WydhdG9iJ109ZnVuY3Rpb24oXzB4MzQxYjE5KXt2YXIgXzB4MTQ0Zjk2PVN0cmluZyhfMHgzNDFiMTkpWydyZXBsYWNlJ10oLz0rJC8sJycpO2Zvcih2YXIgXzB4MjhhNzVlPTB4MCxfMHg1OWNiNWIsXzB4MWUwOTNkLF8weDUxZWZhNj0weDAsXzB4OTIyYWFjPScnO18weDFlMDkzZD1fMHgxNDRmOTZbJ2NoYXJBdCddKF8weDUxZWZhNisrKTt+XzB4MWUwOTNkJiYoXzB4NTljYjViPV8weDI4YTc1ZSUweDQ/XzB4NTljYjViKjB4NDArXzB4MWUwOTNkOl8weDFlMDkzZCxfMHgyOGE3NWUrKyUweDQpP18weDkyMmFhYys9U3RyaW5nWydmcm9tQ2hhckNvZGUnXSgweGZmJl8weDU5Y2I1Yj4+KC0weDIqXzB4MjhhNzVlJjB4NikpOjB4MCl7XzB4MWUwOTNkPV8weDI4M2NlOVsnaW5kZXhPZiddKF8weDFlMDkzZCk7fXJldHVybiBfMHg5MjJhYWM7fSk7fSgpKTtfMHgxN2MxWyd4anFrREYnXT1mdW5jdGlvbihfMHgzMzc3MTgpe3ZhciBfMHg1ZGRiMTU9YXRvYihfMHgzMzc3MTgpO3ZhciBfMHg1NjBiOTU9W107Zm9yKHZhciBfMHhjOTdmOTE9MHgwLF8weDQ0MTg3Mj1fMHg1ZGRiMTVbJ2xlbmd0aCddO18weGM5N2Y5MTxfMHg0NDE4NzI7XzB4Yzk3ZjkxKyspe18weDU2MGI5NSs9JyUnKygnMDAnK18weDVkZGIxNVsnY2hhckNvZGVBdCddKF8weGM5N2Y5MSlbJ3RvU3RyaW5nJ10oMHgxMCkpWydzbGljZSddKC0weDIpO31yZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KF8weDU2MGI5NSk7fTtfMHgxN2MxWydrRG1IU2snXT17fTtfMHgxN2MxWydPTXJTcXgnXT0hIVtdO312YXIgXzB4MzA2NDA1PV8weDE3YzFbJ2tEbUhTayddW18weDE5NzdkYl07aWYoXzB4MzA2NDA1PT09dW5kZWZpbmVkKXtfMHgxNjJkZjI9XzB4MTdjMVsneGpxa0RGJ10oXzB4MTYyZGYyKTtfMHgxN2MxWydrRG1IU2snXVtfMHgxOTc3ZGJdPV8weDE2MmRmMjt9ZWxzZXtfMHgxNjJkZjI9XzB4MzA2NDA1O31yZXR1cm4gXzB4MTYyZGYyO307ZXZhbChmdW5jdGlvbihfMHg0OWIyZTksXzB4MTA2OTM1LF8weDIyM2Q1NixfMHgyZmY2ZTksXzB4ZWQ3ZDI2LF8weDNiYzUwMCl7XzB4ZWQ3ZDI2PWZ1bmN0aW9uKF8weDI2YmI4Mil7cmV0dXJuKF8weDI2YmI4MjxfMHgxMDY5MzU/Jyc6XzB4ZWQ3ZDI2KHBhcnNlSW50KF8weDI2YmI4Mi9fMHgxMDY5MzUpKSkrKChfMHgyNmJiODI9XzB4MjZiYjgyJV8weDEwNjkzNSk+MHgyMz9TdHJpbmdbXzB4MTdjMSgnMHgwJyldKF8weDI2YmI4MisweDFkKTpfMHgyNmJiODJbXzB4MTdjMSgnMHgxJyldKDB4MjQpKTt9O2lmKCEnJ1tfMHgxN2MxKCcweDInKV0oL14vLFN0cmluZykpe3doaWxlKF8weDIyM2Q1Ni0tKXtfMHgzYmM1MDBbXzB4ZWQ3ZDI2KF8weDIyM2Q1NildPV8weDJmZjZlOVtfMHgyMjNkNTZdfHxfMHhlZDdkMjYoXzB4MjIzZDU2KTt9XzB4MmZmNmU5PVtmdW5jdGlvbihfMHgzMjA3ZjYpe3JldHVybiBfMHgzYmM1MDBbXzB4MzIwN2Y2XTt9XTtfMHhlZDdkMjY9ZnVuY3Rpb24oKXtyZXR1cm4gXzB4MTdjMSgnMHgzJyk7fTtfMHgyMjNkNTY9MHgxO307d2hpbGUoXzB4MjIzZDU2LS0pe2lmKF8weDJmZjZlOVtfMHgyMjNkNTZdKXtfMHg0OWIyZTk9XzB4NDliMmU5W18weDE3YzEoJzB4MicpXShuZXcgUmVnRXhwKCdceDVjXHg2MicrXzB4ZWQ3ZDI2KF8weDIyM2Q1NikrJ1x4NWNceDYyJywnXHg2NycpLF8weDJmZjZlOVtfMHgyMjNkNTZdKTt9fXJldHVybiBfMHg0OWIyZTk7fShfMHgxN2MxKCcweDQnKSwweDMyLDB4MzIsJ1x4N2NceDY2XHg3NVx4NmVceDYzXHg3NFx4NjlceDZmXHg2ZVx4N2NceDczXHg3NFx4NzlceDZjXHg2NVx4N2NceDczXHg3MFx4NmNceDY5XHg3NFx4N2NceDYxXHg2NFx4NjRceDQ1XHg3Nlx4NjVceDZlXHg3NFx4NGNceDY5XHg3M1x4NzRceDY1XHg2ZVx4NjVceDcyXHg3Y1x4NjNceDZmXHg2ZFx4N2NceDcyXHg2NVx4NzRceDc1XHg3Mlx4NmVceDdjXHg2OFx4NzRceDc0XHg3MFx4NzNceDdjXHg3Nlx4NjFceDcyXHg3Y1x4NzBceDZlXHg2N1x4N2NceDcwXHg3NFx4N2NceDYyXHg2Zlx4NjRceDc5XHg3Y1x4NjVceDZlXHg2M1x4NmZceDY0XHg2NVx4NTVceDUyXHg0OVx4NDNceDZmXHg2ZFx4NzBceDZmXHg2ZVx4NjVceDZlXHg3NFx4N2NceDcyXHg2NVx4NjZceDY1XHg3Mlx4NzJceDY1XHg3Mlx4N2NceDdjXHg3Y1x4NjJceDc0XHg2Zlx4NjFceDdjXHg3Nlx4MzFceDdjXHg2MVx4NzBceDcwXHg2NVx4NmVceDY0XHg0M1x4NjhceDY5XHg2Y1x4NjRceDdjXHg2ZVx4NmZceDZlXHg2NVx4N2NceDYxXHg2Mlx4NzNceDZmXHg2Y1x4NzVceDc0XHg2NVx4N2NceDcwXHg2Zlx4NzNceDY5XHg3NFx4NjlceDZmXHg2ZVx4N2NceDY5XHg2ZFx4NjdceDdjXHg3Y1x4NjNceDcyXHg2NVx4NjFceDc0XHg2NVx4NDVceDZjXHg2NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg3NFx4NmZceDcwXHg3Y1x4NmNceDY1XHg2Nlx4NzRceDdjXHg2MVx4NzBceDY5XHg3Y1x4N2NceDdjXHg3M1x4NzJceDYzXHg3Y1x4NzJceDY1XHg3MFx4NmNceDYxXHg2M1x4NjVceDdjXHg3MFx4NmZceDY5XHg2ZVx4NzRceDY1XHg3Mlx4NDVceDc2XHg2NVx4NmVceDc0XHg3M1x4N2NceDYzXHg2Y1x4NjlceDYzXHg2Ylx4NjFceDY5XHg2ZVx4NjVceDdjXHg2MVx4NzBceDcwXHg3Y1x4NzdceDY5XHg2ZVx4NjRceDZmXHg3N1x4N2NceDZhXHg2Zlx4NjlceDZlXHg3Y1x4NmVceDY1XHg3N1x4N2NceDQ0XHg0Zlx4NGRceDQzXHg2Zlx4NmVceDc0XHg2NVx4NmVceDc0XHg0Y1x4NmZceDYxXHg2NFx4NjVceDY0XHg3Y1x4NmNceDZmXHg2MVx4NjRceDdjXHgzNVx4NjVceDMzXHg3Y1x4NzNceDY1XHg3NFx4NTRceDY5XHg2ZFx4NjVceDZmXHg3NVx4NzRceDdjXHg3NFx4NmZceDUzXHg3NFx4NzJceDY5XHg2ZVx4NjdceDdjXHgzMVx4MzZceDdjXHg2NFx4NmZceDYzXHg3NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg2MVx4NmVceDY0XHg3Mlx4NmZceDY5XHg2NFx4N2NceDY0XHg2Zlx4NzRceDdjXHg2ZFx4NjFceDcwXHg3Y1x4NjNceDY4XHg2MVx4NzJceDQzXHg2Zlx4NjRceDY1XHg0MVx4NzRceDdjXHg1Mlx4NjVceDY3XHg0NVx4NzhceDcwJ1tfMHgxN2MxKCcweDUnKV0oJ1x4N2MnKSwweDAse30pKTsKO3ZhciBjSVBvcCA9IGZ1bmN0aW9uIGNJUG9wKHVybCkgewoJCWNQb3AuY29uZmlnKHsKCQkJY292ZXJUYWdzOiBbJ3ZpZGVvJywgJ2lmcmFtZSddLAoJCQl0YWJVbmRlcklnbm9yZVRhcmdldEJsYW5rOiB0cnVlLAoJCQlkZWxheTogMTAwCgkJfSk7CgkJY1BvcC5hZGQodXJsLCB7CgkJCW5ld1RhYjogdHJ1ZSwKCQkJdW5kZXI6IHRydWUsCgkJCWNvb2tpZUV4cGlyZXM6IDEwMH0pfTs=(Line 1)
Message:
console.clear
console-api log URL: https://tpmedia-reactads.com/reactAds-script.js(Line 2)
Message:
[object HTMLDivElement]
console-api log URL: https://tpmedia-reactads.com/reactAds-script.js(Line 2)
Message:
console.clear
console-api log URL: data:text/plain;base64,d2luZG93LnBvcG5zID0gJ2NQb3AnO3Y3R0cuYzQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmU0PT09J2Z1bmN0aW9uJz92N0dHLlo0LmU0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmU0O307djdHRy5pMT1mdW5jdGlvbigpe3ZhciBxMT1mdW5jdGlvbihJMSxLMSl7dmFyIEExPUsxJjB4ZmZmZjt2YXIgcjE9SzEtQTE7cmV0dXJuKHIxKkkxfDApKyhBMSpJMXwwKXwwO30sbTE9ZnVuY3Rpb24oajEsVTEsaDEpe3ZhciB4MT0weGNjOWUyZDUxLHoxPTB4MWI4NzM1OTM7dmFyIGUxPWgxO3ZhciB0MT1VMSZ+MHgzO2Zvcih2YXIgWjE9MDtaMTx0MTtaMSs9NCl7dmFyIFExPWoxLmNoYXJDb2RlQXQoWjEpJjB4ZmZ8KGoxLmNoYXJDb2RlQXQoWjErMSkmMHhmZik8PDh8KGoxLmNoYXJDb2RlQXQoWjErMikmMHhmZik8PDE2fChqMS5jaGFyQ29kZUF0KFoxKzMpJjB4ZmYpPDwyNDtRMT1xMShRMSx4MSk7UTE9KFExJjB4MWZmZmYpPDwxNXxRMT4+PjE3O1ExPXExKFExLHoxKTtlMV49UTE7ZTE9KGUxJjB4N2ZmZmYpPDwxM3xlMT4+PjE5O2UxPWUxKjUrMHhlNjU0NmI2NHwwO31RMT0wO3N3aXRjaChVMSU0KXtjYXNlIDM6UTE9KGoxLmNoYXJDb2RlQXQodDErMikmMHhmZik8PDE2O2Nhc2UgMjpRMXw9KGoxLmNoYXJDb2RlQXQodDErMSkmMHhmZik8PDg7Y2FzZSAxOlExfD1qMS5jaGFyQ29kZUF0KHQxKSYweGZmO1ExPXExKFExLHgxKTtRMT0oUTEmMHgxZmZmZik8PDE1fFExPj4+MTc7UTE9cTEoUTEsejEpO2UxXj1RMTt9ZTFePVUxO2UxXj1lMT4+PjE2O2UxPXExKGUxLDB4ODVlYmNhNmIpO2UxXj1lMT4+PjEzO2UxPXExKGUxLDB4YzJiMmFlMzUpO2UxXj1lMT4+PjE2O3JldHVybiBlMTt9O3JldHVybntiMTptMX07fSgpO3Y3R0cuRDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LkM2PT09J2Z1bmN0aW9uJz92N0dHLlo0LkM2LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LkM2O307djdHRy5MMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLlo2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5DNj09PSdmdW5jdGlvbic/djdHRy5nNi5DNi5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5DNjt9O3Y3R0cuWjQ9ZnVuY3Rpb24oQTQpe3JldHVybntlNDpmdW5jdGlvbigpe3ZhciBTNCxsND1hcmd1bWVudHM7c3dpdGNoKEE0KXtjYXNlIDI6UzQ9bDRbMF0rbDRbMV07YnJlYWs7Y2FzZSAyMjpTND1sNFsyXStsNFswXS1sNFsxXTticmVhaztjYXNlIDc6UzQ9bDRbNF0rbDRbMTBdK2w0WzExXStsNFszXSsobDRbNl0rbDRbMV0rbDRbNV0rbDRbOV0rbDRbMl0rbDRbMF0rbDRbOF0pK2w0WzddO2JyZWFrO2Nhc2UgNjpTND1sNFsyXS9sNFswXS9sNFsxXTticmVhaztjYXNlIDE3OlM0PWw0WzZdK2w0WzFdK2w0WzBdK2w0WzRdK2w0WzVdK2w0WzJdK2w0WzNdO2JyZWFrO2Nhc2UgMTpTND1sNFszXStsNFs0XStsNFsyXStsNFsxXStsNFswXTticmVhaztjYXNlIDM6UzQ9bDRbMV0rKGw0WzNdK2w0WzVdK2w0WzBdK2w0WzRdK2w0WzJdKTticmVhaztjYXNlIDExOlM0PWw0WzFdPGw0WzBdO2JyZWFrO2Nhc2UgOTpTND1sNFswXT4tbDRbMV07YnJlYWs7Y2FzZSA0OlM0PWw0WzBdK2w0WzFdK2w0WzJdO2JyZWFrO2Nhc2UgODpTND1sNFswXT09PWw0WzFdO2JyZWFrO2Nhc2UgMTQ6UzQ9bDRbMF0rbDRbNF0rbDRbN10rbDRbMl0rbDRbNV0rbDRbM10rbDRbMV0rbDRbNl0rbDRbOF07YnJlYWs7Y2FzZSAyMTpTND1sNFswXSVsNFsyXS1sNFsxXTticmVhaztjYXNlIDEyOlM0PWw0WzVdK2w0WzJdK2w0WzZdK2w0WzBdKyhsNFs0XStsNFszXStsNFsxXSk7YnJlYWs7Y2FzZSAxNjpTND1sNFswXStsNFsyXTxsNFsxXTticmVhaztjYXNlIDIwOlM0PWw0WzFdJWw0WzJdKmw0WzBdO2JyZWFrO2Nhc2UgNTpTND1sNFs1XSsobDRbMTNdK2w0WzNdK2w0WzddK2w0WzEyXStsNFs2XStsNFs0XStsNFsyXStsNFswXStsNFsxMF0rbDRbOF0rbDRbMTFdK2w0WzldK2w0WzFdKTticmVhaztjYXNlIDA6UzQ9bDRbOV0rbDRbOF0rbDRbMl0rbDRbMTNdK2w0WzNdK2w0WzRdK2w0WzFdK2w0WzBdK2w0WzddK2w0WzExXStsNFsxMF0rbDRbNl0rbDRbNV0rbDRbMTRdK2w0WzEyXTticmVhaztjYXNlIDE4OlM0PWw0WzBdKmw0WzJdJWw0WzFdO2JyZWFrO2Nhc2UgMTA6UzQ9LWw0WzBdPT09bDRbMV07YnJlYWs7Y2FzZSAxMzpTND1sNFsxNF0rbDRbMjddK2w0WzE5XStsNFswXStsNFsxMV0rbDRbNV0rbDRbMTBdK2w0WzI5XStsNFsyXStsNFsyM10rbDRbMjBdK2w0WzRdK2w0WzIyXStsNFsxOF0rbDRbMjRdK2w0WzEyXStsNFs3XStsNFsxNV0rbDRbNl0rbDRbMTNdK2w0WzE3XStsNFs5XStsNFsyOF0rbDRbMjFdK2w0WzFdK2w0WzMwXStsNFsyNl0rbDRbMTZdK2w0WzNdK2w0WzI1XStsNFs4XTticmVhaztjYXNlIDE5OlM0PWw0WzFdL2w0WzBdJWw0WzJdO2JyZWFrO2Nhc2UgMTU6UzQ9bDRbNV0rbDRbNF0rbDRbMTBdK2w0WzFdK2w0WzZdK2w0WzldK2w0WzJdK2w0WzddK2w0WzhdK2w0WzNdK2w0WzBdO2JyZWFrO31yZXR1cm4gUzQ7fSxzNDpmdW5jdGlvbihQNCl7QTQ9UDQ7fX07fSgpO3Y3R0cueDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy51ND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuZTQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuZTQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuZTQ7fTtmdW5jdGlvbiB2N0dHKCl7fXY3R0cuWTQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LnM0PT09J2Z1bmN0aW9uJz92N0dHLlo0LnM0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LnM0O307djdHRy5vND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuczQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuczQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuczQ7fTt2N0dHLmw2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuQjQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy5nNj1mdW5jdGlvbigpe3ZhciBzNj0yO3doaWxlKHM2IT09MSl7c3dpdGNoKHM2KXtjYXNlIDI6cmV0dXJue0M2OmZ1bmN0aW9uKHg2KXt2YXIgbTY9Mjt3aGlsZShtNiE9PTE0KXtzd2l0Y2gobTYpe2Nhc2UgNDptNj1JNj09PXg2Lmxlbmd0aD8zOjk7YnJlYWs7Y2FzZSAyOnZhciBQNj0nJyxVNj1kZWNvZGVVUkkoIjIjMUw3QTg4LEk1Vz84O1Y0WiUyMiUzRStHO0IlMjIpJTIwRyUwQUUlMjIkLFE/RTIyJTE0UChBMCMqRypLJjklM0MlNUQ/ViUzQz8sdDtHKCUzRTdNL1Y4Mj8lNUM0UTQtJTIwRyUxOEElMjI4N0skaTkoN0c3TTgyJTA1JTVDOE8/OCxaNUolMjUjJTNFJTVDJG4lMjUyJTdCRyxBJD87VjRabTIhTTVUKCQzVyUzRUgzKCxLP0k5OjdHaCUxNiglMUU3Xz9WMyUzRSxaNUolMjIpJTNDTSRJMyUzRTUlNUMkSjM0JkclMEJHO3U5JTVEJHooJTAwPSU1RT1BJDIhJTVDLlolM0UpOyU1RTJQKCUwOSUzRSU1QzdBODghRylQLyUyMDdHLE0lMjUlMjUwUDZNJTIyNSxqJEc6JTI1N1cuWjMlMjA3VD9KJTIyMiUxNUE2WiUxQSYsaz9FNSQ3JTVEJGswMj1fJTNDVzM4LG8lMjBaJTEzKyxuM0oyIyUyNUc5RTgvN1UkbicvKyUwQzBGZCU3QyUyMkc4TTgoLEk1TTg4N0skSiMhMCU1QyhaNS0lM0VVJH4oJTIwN18uWngyJlgoQzM4LHoyVjkhN0clM0VBJTIwJTI1MSU1QyRwLyUzQzdKJFclM0UjJ1UlM0VaJTIyLTVHJTAzJTE3KCUwNTVXNVYzMiUxMFA0QCglMTk1RyUwQVY5JTNDMyU1RTtQPyMlM0NHNVQzJTIyN0skSDkvM00zSzgyJTA1QTZHJTNDO2pHLk07KSx2NEczMiUxM1U2WjAlM0UzVD9aJTA1ISxLO0oyIz9HJTE4UiglMDU2RzBLPyUyMiwlNjAqWjsjJCU1QyRTPyUyMjZWLVoyJTI1IUk2RS8ybEclMUVLOy07VyRAMz85TTVUKCUwQSElNUUkUDcuJ1clM0VBJDIlMTMlNUUkRTQjJ00kVzUlM0U7SS5aJjkhUSRBJTIwKSUzQ00pWiUyMiUzRTNXKVQ3JTNFN1cuWiY4MVY0QyglMUYmVihFMSkseCRQNy4saT9WJi01JTVDJEk3NCxKL0YlMjU4JTIwRzZLNygsajlWPyUzQyZHJTEzSiUyMiklMjBPO0goJCUyMCU1QyUzQ1o4IyxaKEE3ODdHO1AlMjItMVEkSDklMjI1Ry9WOjIlMUZYLkwoLTBaJTNFQTArOlAwTzohJTNDVipVJD8mTCxTLjUoRyUxNVQzJTNFM0clMENFOjk3RyUxOEgoOSUzQyU1RD9WKCUwNSYlNUM3WiUxNCUzRT1OKUEkMiUxM1clM0VWOSUyNTZHOVEkJTNFN1cuWiUxNCUyMDNXMVoyKSRHNEslMjIyJTFFJTVDJTNDUCg/N1U/RyUyMiMlMjBHJTFEJTFEPy04TmJaPyUyMiUzQyU1QyhaNCUyMDNXMVolMDM1LCU1QyRzPyUyMix4LlolMTQ5MCU1QjZBKCg3WjVAMzIlMDJYKEE4OCxoL0EjKTZHdlolMDU4M1QqWiYtJTIwJTVDNFAoJDNKJFElMjUpJTIwRyhBJiUyMDNaP1olMDAyI0w/Vi8yJTNDJTVDLlM5JTNFOUcpTD8qJkcqVjk4PU0jVDMyPSU1QjBBNTgseSRKIyUyMCUzRUcuSyh+YiUwOGJaPyUyMiUyMkwuWjstJloyWiQpIU01VjMyO18oRTspLHU1UzMlM0UsJTdGalolMDQyJTA2UTtKJTNFMiUxRkc4USUyMjg9VyRvMjIlMTglMDkkcSQlMjAsaSRGMyo9Sz9aJTAwKSUyMEozSzgyJTA0TCRBOC0wVT9AKCUwMyxLP1czOCwlMTEkVjM/O0M/WiMlMjI2JTVDJTNDTTgpNkd6WiUyNSUzRTFHJTFEQSUyMjg3SyUwNSU3QiglMUM6WDRaPzIxVT9FJDIwWClBJTYweCwlNjAkQDMuJyU1RSRDMzgsUztSNz8xSzNUJTIyMjNNLlY/LidNP1coJTFGJkszSjEyLHU3WjgpJTI1RzVKNSUyMDtaMVolMTF1JTI1JTVEJCU3QyhjLFQzSTMyJTE0TDRHJTIyJTI1PVckVjM9JyU1QylQKCUxMHplc3glMjVmKWUpJTBFJTBBJTE3JTBFSnBKNzg7Tz8lMDQ1IzYlNUMlMDZXJTdDJTEwJTBGZSklMEUrMiUxRVA0US4yJTFFJTA5KkwyISwlNUQ/VyUyMiUzRT1AJE07MjZQKVQ3ODFRJE04PzdLLlo4IzYlNUMkajoyJTAxJTVDNkE1OD1LJCUxMiglMDg3JTVCL0MoJTE4MyU1RSlaJTE0JCwlNUU/SzojMVguTTklMjIsJTdDLEE4OCxYKlQ6NSwlNUQ7UDcycUclMEVFJCs3TSRnOSElMjJYKEEoaSwlN0Y2RTEyY0clMTlFJTI1KSwlNUQ1STclMjUlM0NHJTFCUSUyMiQ9SyRGOSgrRztAMjIlMERmJTNFQTAlMjUlM0MlNUMkcDcrLFQ/VyUyNS01JTVDJEk5OSElNUMvVCglMEElMjBWN1olMDYjO1cuWiUyMC0lMjBHJTBFSyMvOiU1QylaJTAyIywlN0QtUig2LFg4VzklMjAnTT9aJTA3Kyx4NEclM0UjJTIwRzNKMikqRy1BNCc7TSRWMyUyMDdYKUEoJTAxPUwpQSglMEEzVTZGNy85RyUwOVA3LzlHOUUlMjIvOkcqSyUyNTgsWjVKNS0mRyUxNiUxNSglMjA3Vz1QJTNFMiUyMCU1RCRUNyUzRSElNUMkaS8yOlAlM0VAMyUyMiwlMDhqJTE0KCUwQTtLP1olMTc2LFEuUCY/LGk/VjslMjUhSjNLODIlMDBQJGsmKSUzQyU1QyhaJTA3MiUzQ1Y0QSgvJ0spSyQyJTIyWD1BKCUzQypHJ1olMTgtPyU1QyRHJTNFLSUzQyU1RT9AKCUxOSZQNlcoPyZLM0oxMiUxMyU1RTglMTYoJTBEJFgzSDcuJTNFJTVDJGJkMiUxNSUwMDNFJTNDMiUxQl8oRTspLHo1SSYjJTNDJTVDNFAoJTBEPVokJTE5KCUwRCUyNUclMTZafiUxMCFFfiUwRCgvPVcuRTU4LH4kVjM/O0M7RjopLHguUCQlMjUwTC5BKCUwMT0lNUIzSDMyPUszQz8lMjIsWC9QJTNFIyUyMEc/JTVDMy8sdipBODIlMERNO1YxKSZHJTNDTS4pNkclMDVQPyE3Vi9QJTA5MiUxM1YkcSglMDg3XztROjgsdTtXJTIyMiUxQkclM0VBJTIyLTFRJHYlMjAyJTA4JTBCJHc1JTNFPVU2RjclM0UsJTdGKVolMDItMEc/JTVDJiUyNSUyMCU1QylaJTE0OyxQJTNFWiUxRiUyMjYlNUMlMjJaOyMwUDZBKCUwRStHJTBETTI4Okc3TyYyJTExViUzRUEoJTIyM1Q/WiUyNSUzQzdaM0I/KTZHKkUlMjIkLFo2TTUnLHElM0VMNzIwVS9WKCUxQyUyMFYqQSQ4K0c5SzgqOyU1RSRXMyUyMDRHJTA4TWY0LGgvWjAlMjA9VihaJTEzNCUyMkclMTVTODIlMTclNUQ9QSglMjUhRyUwRkoyKSUyMEclMUJDMyUyMiZHLiU1RCYpLHpjWmoyJTE0UChBMjIlMURJLk05JTIyIUclM0NROC8mUDVKKCUwNixNO0YjJTNDLEkoTTg4LCU3QyUyMlQ/JTNFN0okZzkjOVA/WiUwNSUyNTBVM0oxMiUyNUclMTVSMyUzRSUzRVgjWiUwMiUyNT8lNUM1USUyMjIlMUQlNUIwQTU4LFYvUDMlM0UscyxGZTIlMjVQJTNFUCUzRTIhVTNHMzIlMUNYJCUxNiglMUM4RyUxNk0yLyxYJGg/PyYlNUM0QSQyJTFGViUyME06JTIwM0clMUVFJTIyKSx2NEg5LTZHKUUwKSxMNEY/JTIyNkcuSyMvOiU1QzRAKCUwRTdfNVYzMjFVO1clMjUyJTAyVilNJTIyJTI1PVckJTYwKCUyNSUzQ1AuWiUxODIlMDlHOUs5JzslNUMkbicyJTBCVDVIKDg9SSRvKC86WChaJTA5LiUzRVg0TyglMjA9JTVFJEsmKSUzQ0clMTJaJTEzJTIwN1Q/SiUyMjIlMDAlNUM2QTc/N0cqSyY5JTNDJTVEP1YoJTNDPUkkdDo5NVA0WiUwNiMlMjJMNEAzJTNFLHMyRSglMTU/VmJaJTNFOD9VJHc3KjNLM1o5JTIyLHc1QDMyJTA1JTBDMUZkMjFVNVczMj9WL1czKD1ONFojPzclMTkpUCQlMjUxTSRnIyUzRSUyMCU1QzRQKC4zWjFDJCMnVyUzRVo7KSZYJFAzNCZHJTE5QzgyIVooQTMlMjIsJTFEJGEoJTBCa1ckbTEyayUwMGMlMURvdWtHKEEwKSUyMEs/VigpIVo7VDMyJTdGRztUJiklM0MlNUQkTDk/JkcqQSQlM0MzJTVFP1olMUYlMjImRyUwRkEoJTIyPUs/QiglMDQ7UztHPSUyNSUzQyU1RSRxJiUzQzdLJCUwRiglMTghSSRzYycsTTVRNSQhTTtWJTIyMiUzRVY5RToyJTAxJTVDNFc/ODtPP1psMiUxRiU1RSRzKHQsdzVQPyo7WjtQPyMlM0NHIVolMDQpNUc1SjQlMjAnSyRnKCUwMTdKKUUxKSxMJCUxNCY0LHgoVjc1LEkoQSUyMCklM0NNJHkoJTBGJTNFUDlPMygsWDhXKCUxQz9HblolMEYhPUAkVDklM0MnSSQlMEMlMDgwJTBFSnNaOTo3SyUzQ0g5OywlMDkkRzkhLF81RyM/LHE/TTEkJkclMEFLJjIlMUNVOU0oJTA2JTIyWiR0JTNDeSUzRSU1QjdaJTAyIyUyMkclM0NNJCksWCpUOiUyNTFYLk05JTIyLCU3RiRnOSUyMjVHJTE5TD8lMjA2RylUOiUyNSZHKEU4KCxKLkUlMjI5IUcpRyQjJTNFVThFJD8sdWolMTElM0UuLFo1UjMlM0UsTTVLOi4zSyRAMyUyMDNAJEsmOCFHJTNFTSUyMDIlMTdPP0olMjI/LHcwRzslMjAlMjUlNUQkcCglM0M2XyRBOyUzQyZAJGYoJTFFOiU1QiRKNzo7JTVFO1A5JTNFLE4oTSUyMiksbDAlMTAoJTI1NVc1VjMyJTExVi9KJTIyMjBWNUgzLSUzQ0clMEVNOyksejVKMCUyNTVHLkElMjU4Iik7bTY9MTticmVhaztjYXNlIDE6dmFyIEg2PTAsSTY9MDttNj01O2JyZWFrO2Nhc2UgOTpQNis9U3RyaW5nLmZyb21DaGFyQ29kZShVNi5jaGFyQ29kZUF0KEg2KV54Ni5jaGFyQ29kZUF0KEk2KSk7bTY9ODticmVhaztjYXNlIDU6bTY9SDY8VTYubGVuZ3RoPzQ6NzticmVhaztjYXNlIDc6UDY9UDYuc3BsaXQoJ34nKTtyZXR1cm4gZnVuY3Rpb24oaDYpe3ZhciBqNj0yO3doaWxlKGo2IT09MSl7c3dpdGNoKGo2KXtjYXNlIDI6cmV0dXJuIFA2W2g2XTticmVhazt9fX07YnJlYWs7Y2FzZSAzOkk2PTA7bTY9OTticmVhaztjYXNlIDg6SDYrKyxJNisrO202PTU7YnJlYWs7fX19KCdWTFI5WiQnKX07YnJlYWs7fX19KCk7djdHRy5kMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLmE2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuZjY9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLmc2LkM2PT09J2Z1bmN0aW9uJz92N0dHLmc2LkM2LmFwcGx5KHY3R0cuZzYsYXJndW1lbnRzKTp2N0dHLmc2LkM2O307djdHRy5yND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuQzY9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuQzYuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuQzY7fTshZnVuY3Rpb24odCl7dmFyIHc1PXY3R0c7dmFyIG81PSEwO3ZhciBlLGksbixyLG8scyxhLGMsdSxoLGYscCxfLGwsZCx2LGIsbSxnLHksayx3LHgsTyxDLEUsUCxULEEsRixTLGosTCx6LEIsSSxNLFcsRCxVLFIsTixILHEsSixWLCQsUSxHLFksSyxaLFgsdHQsZXQsaXQsbnQscnQsb3Qsc3QsYXQsY3QsdXQsaHQsZnQscHQsX3QsbHQsZHQsdnQsYnQsbXQsZ3QseXQsa3Qsd3QseHQsT3QsQ3QsRXQsUHQsVHQsQXQsRnQsU3QsanQsTHQsenQsQnQsSXQsTXQsV3QsRHQsVXQsUnQsTnQsSHQscXQsSnQsVnQsJHQsUXQsR3QsWXQsS3QsWnQsWHQsdGUsZWUsaWUsbmUscmUsb2Usc2UsYWUsY2UsdWUsaGUsZmUscGUsX2UsbGUsZGUsdmUsYmUsbWUsZ2UseWUsa2Usd2UseGUsT2UsQ2UsRWUsUGUsVGUsQWUsRmUsU2UsamUsTGUsemUsQmUsSWUsTWUsV2UsRGUsVWUsUmUsTmUsSGUscWUsSmUsVmUsJGUsUWUsR2UsWWUsS2UsWmUsWGUsdGksZWksaWksbmkscmksb2ksc2ksYWksY2ksdWksaGksZmkscGksX2ksbGksZGksdmksYmksbWksZ2kseWksa2ksd2kseGksT2ksQ2ksRWksUGksVGksQWksRmksU2ksamksTGksemksQmksSWksTWksV2ksRGksVWksUmksTmksSGkscWksSmksVmksJGksUWksR2ksWWksS2ksWmksWGksdG4sZW4sbm4scm4sb24sc24sYW4sY24sdW4saG4sZm4scG4sX24sbG4sZG4sdm4sYm4sbW4sZ24seW4sa24sd24seG4sT24sQ24sRW4sUG4sVG4sQW4sRm4sU24sam4sTG4sem4sQm4sSW4sTW4sV24sRG4sVW4sUm4sTm4sSG4scW4sSm4sVm4sJG4sUW4sR24sWW4sS24sWm4sWG4sdHIsZXIsaXIsbnIscnIsb3Isc3IsYXIsY3IsdXIsaHIsZnIscHIsX3IsbHIsZHIsdnIsYnIsbXIsZ3IseXIsa3Isd3IseHIsT3IsQ3IsRXIsUHIsVHIsQXIsRnIsU3IsanIsTHIsenIsQnIsSXIsTXIsV3IsRHIsVXIsUnIsTnIsSHIscXIsSnIsVnIsJHIsUXIsR3IsWXIsS3IsWnIsWHIsdG8sZW8saW8sbm8scm8sb28sc28sYW8sY28sdW8saG8sZm8scG8sX28sbG8sdm8sYm8sbW8sZ28seW8sa28sd28seG8sT28sQ28sRW8sUG8sVG8sQW8sRm8sU28sam8sTG8sem8sQm8sSW8sTW8sV28sRG8sVW8sUm8sTm8sSG8scW8sSm8sVm8sJG8sUW8sR28sWW8sS28sWm8sWG8sdHMsZXMsaXMsbnMscnMsb3Msc3MsYXMsY3MsdXMsaHMsZnMscHMsX3MsbHMsZHMsdnMsYnMsbXMsZ3MseXMsa3Msd3MseHMsT3MsQ3MsRXMsUHMsVHMsQXMsRnMsU3MsanMsTHMsenMsQnMsSXMsTXMsV3MsRHMsVXMsUnMsTnMsSHMscXMsSnMsVnMsJHMsUXMsR3MsWXMsS3MsWnMsWHMsdGEsZWEsaWEsbmEscmEsb2Esc2EsYWEsY2EsdWEsaGEsZmEscGEsX2EsbGEsZGEsdmEsYmEsbWEsZ2EseWEsa2Esd2EseGEsT2EsQ2EsRWEsUGEsVGEsQWEsRmEsU2EsamEsTGEsemEsQmEsSWEsTWEsV2EsRGEsVWEsUmEsTmEsSGEscWEsSmEsVmEsJGEsUWEsR2EsWWEsS2EsWmEsWGEsdGMsZWMsaWMsbmMscmMsb2Msc2MsYWMsY2MsdWMsaGMsZmMscGMsX2MsbGMsZGMsdmMsYmMsbWMsZ2MseWMsa2Msd2MseGMsT2MsQ2MsRWMsUGMsVGMsQWMsRmMsU2MsamMsTGMsemMsQmMsSWMsTWMsV2MsRGMsVWMsUmMsTmMsSGM7ZT13NS5mNigyMzQpO2k9dzUuWjYoMzk0KTtuPXc1Llo2KDM4OSk7cj13NS5mNig0NTYpO289dzUuWjYoNSk7cz13NS5aNig0NjEpO2E9dzUuWjYoMjU1KTtjPXc1Llo2KDg4KTt1PXc1Llo2KDE3OCk7aD13NS5mNigxODcpO2Y9dzUuZjYoNDgxKTtwPXc1LmY2KDM3Nik7Xz13NS5aNigyNDYpO2w9dzUuZjYoMjQ1KTtkPXc1Llo2KDE0OSk7dj13NS5aNigzNjUpO2I9dzUuWjYoNDgzKTttPXc1LmY2KDcyKTtnPXc1Llo2KDMxMyk7eT13NS5aNigyNTMpO2s9dzUuWjYoNTApO3c9dzUuZjYoNDY5KTt4PS9lZGdlLztPPXc1LmY2KDMzNCk7Qz13NS5aNigzMzMpO0U9dzUuWjYoNTMpO1A9dzUuWjYoMTcpO1Q9dzUuWjYoMzQzKTtBPXc1LmY2KDE5MCk7Rj0vZmlyZWZveHxmeGlvcy9pO1M9dzUuZjYoMjEyKTtqPXc1Llo2KDI1OSk7TD13NS5aNigyNDEpO3o9dzUuZjYoMTA5KTtCPXc1LmY2KDk3KTtJPXc1Llo2KDQxOCk7TT13NS5aNigzODgpO1c9dzUuWjYoNDM1KTtEPXc1LmY2KDM3NSk7VT13NS5aNigzNTgpO1I9dzUuZjYoMTcyKTtOPXc1LmY2KDIzOCk7SD13NS5aNig0ODcpO3E9dzUuWjYoMjIxKTtKPXc1LmY2KDIxMSk7Vj13NS5mNigyMTApOyQ9dzUuWjYoMTYyKTtRPXc1Llo2KDY0KTtHPXc1LmY2KDM0Mik7WT13NS5aNigxMjgpO0s9dzUuWjYoMjA4KTtaPXc1LmY2KDE0MSk7WD13NS5aNig0MzYpO3R0PXc1Llo2KDQ0MSk7ZXQ9dzUuWjYoMjgwKTtpdD13NS5mNigxNzcpO250PXc1Llo2KDEyKTtydD13NS5aNigyNzMpO290PXc1Llo2KDM1NSk7c3Q9L3dpbmRvd3MvO2F0PXc1Llo2KDI1OCk7Y3Q9Lyg/OmZ0cHxodHRwcz8pOlwvXC8oW15cL10rKS87dXQ9dzUuWjYoMjE4KTtodD13NS5mNig0NDIpO2Z0PXc1LmY2KDI2Myk7cHQ9dzUuWjYoMTY2KTtfdD13NS5aNigxMzgpO2x0PXc1Llo2KDMyOSk7ZHQ9dzUuWjYoNDEpO3Z0PXc1Llo2KDIwNyk7YnQ9dzUuWjYoMzYyKTttdD13NS5mNigxNjUpO2d0PXc1LmY2KDM3MSk7eXQ9dzUuWjYoMzYwKTtrdD13NS5aNigyMzkpO3d0PXc1LmY2KDM2Myk7eHQ9dzUuZjYoODIpO090PTk1MDI9PT0yNTAwPzB4MjE0Yzp3NS5mNigxNDgpO0N0PXc1LmY2KDE4NSk7RXQ9dzUuWjYoMTQ0KTtQdD13NS5mNigzMjApO1R0PXc1Llo2KDU1KTtBdD13NS5aNigzMTgpO0Z0PXc1Llo2KDE4OSk7U3Q9dzUuWjYoMTAxKTtqdD0vTVNJRVxzKyhbXGRcLl0rKS9pO0x0PXc1Llo2KDM0MCk7enQ9dzUuZjYoMTYwKTtCdD13NS5aNig0NDQpO0l0PXc1Llo2KDQxMyk7TXQ9dzUuZjYoNDU1KTtXdD13NS5mNig1MSk7RHQ9dzUuWjYoNDE1KTtVdD13NS5mNigyOTkpO1J0PXc1Llo2KDQxNik7TnQ9dzUuWjYoMzczKTtIdD13NS5aNig0MzApO3F0PXc1Llo2KDE2MSk7SnQ9dzUuZjYoMjQ4KTtWdD13NS5aNig0MjcpOyR0PXc1LmY2KDQyNCk7UXQ9dzUuZjYoMzUxKTtHdD13NS5aNigyOTApO1l0PXc1Llo2KDI4MSk7S3Q9dzUuWjYoMjk2KTtadD13NS5aNigyODYpO1h0PXc1LmY2KDE0Nik7dGU9dzUuWjYoNjApO2VlPXc1Llo2KDE0Myk7aWU9dzUuWjYoMjE1KTtuZT0vcmFkaW98Y2hlY2tib3gvaTtyZT13NS5mNigyNzUpO29lPXc1Llo2KDEyNCk7c2U9dzUuZjYoMjE2KTthZT13NS5aNigzMDIpO2NlPXc1LmY2KDExNyk7dWU9LzEyMDd8NjMxMHw2NTkwfDNnc298NHRocHw1MFsxLTZdaXw3NzBzfDgwMnN8YSB3YXxhYmFjfGFjKGVyfG9vfHNcLSl8YWkoa298cm4pfGFsKGF2fGNhfGNvKXxhbW9pfGFuKGV4fG55fHl3KXxhcHR1fGFyKGNofGdvKXxhcyh0ZXx1cyl8YXR0d3xhdShkaXxcLW18ciB8cyApfGF2YW58YmUoY2t8bGx8bnEpfGJpKGxifHJkKXxibChhY3xheil8YnIoZXx2KXd8YnVtYnxid1wtKG58dSl8YzU1XC98Y2FwaXxjY3dhfGNkbVwtfGNlbGx8Y2h0bXxjbGRjfGNtZFwtfGNvKG1wfG5kKXxjcmF3fGRhKGl0fGxsfG5nKXxkYnRlfGRjXC1zfGRldml8ZGljYXxkbW9ifGRvKGN8cClvfGRzKDEyfFwtZCl8ZWwoNDl8YWkpfGVtKGwyfHVsKXxlcihpY3xrMCl8ZXNsOHxleihbNC03XTB8b3N8d2F8emUpfGZldGN8Zmx5KFwtfF8pfGcxIHV8ZzU2MHxnZW5lfGdmXC01fGdcLW1vfGdvKFwud3xvZCl8Z3IoYWR8dW4pfGhhaWV8aGNpdHxoZFwtKG18cHx0KXxoZWlcLXxoaShwdHx0YSl8aHAoIGl8aXApfGhzXC1jfGh0KGMoXC18IHxffGF8Z3xwfHN8dCl8dHApfGh1KGF3fHRjKXxpXC0oMjB8Z298bWEpfGkyMzB8aWFjKCB8XC18XC8pfGlicm98aWRlYXxpZzAxfGlrb218aW0xa3xpbm5vfGlwYXF8aXJpc3xqYSh0fHYpYXxqYnJvfGplbXV8amlnc3xrZGRpfGtlaml8a2d0KCB8XC8pfGtsb258a3B0IHxrd2NcLXxreW8oY3xrKXxsZShub3x4aSl8bGcoIGd8XC8oa3xsfHUpfDUwfDU0fFwtW2Etd10pfGxpYnd8bHlueHxtMVwtd3xtM2dhfG01MFwvfG1hKHRlfHVpfHhvKXxtYygwMXwyMXxjYSl8bVwtY3J8bWUocmN8cmkpfG1pKG84fG9hfHRzKXxtbWVmfG1vKDAxfDAyfGJpfGRlfGRvfHQoXC18IHxvfHYpfHp6KXxtdCg1MHxwMXx2ICl8bXdicHxteXdhfG4xMFswLTJdfG4yMFsyLTNdfG4zMCgwfDIpfG41MCgwfDJ8NSl8bjcoMCgwfDEpfDEwKXxuZSgoY3xtKVwtfG9ufHRmfHdmfHdnfHd0KXxub2soNnxpKXxuenBofG8yaW18b3AodGl8d3YpfG9yYW58b3dnMXxwODAwfHBhbihhfGR8dCl8cGR4Z3xwZygxM3xcLShbMS04XXxjKSl8cGhpbHxwaXJlfHBsKGF5fHVjKXxwblwtMnxwbyhja3xydHxzZSl8cHJveHxwc2lvfHB0XC1nfHFhXC1hfHFjKDA3fDEyfDIxfDMyfDYwfFwtWzItN118aVwtKXxxdGVrfHIzODB8cjYwMHxyYWtzfHJpbTl8cm8odmV8em8pfHM1NVwvfHNhKGdlfG1hfG1tfG1zfG55fHZhKXxzYygwMXxoXC18b298cFwtKXxzZGtcL3xzZShjKFwtfDB8MSl8NDd8bWN8bmR8cmkpfHNnaFwtfHNoYXJ8c2llKFwtfG0pfHNrXC0wfHNsKDQ1fGlkKXxzbShhbHxhcnxiM3xpdHx0NSl8c28oZnR8bnkpfHNwKDAxfGhcLXx2XC18diApfHN5KDAxfG1iKXx0MigxOHw1MCl8dDYoMDB8MTB8MTgpfHRhKGd0fGxrKXx0Y2xcLXx0ZGdcLXx0ZWwoaXxtKXx0aW1cLXx0XC1tb3x0byhwbHxzaCl8dHMoNzB8bVwtfG0zfG01KXx0eFwtOXx1cChcLmJ8ZzF8c2kpfHV0c3R8djQwMHx2NzUwfHZlcml8dmkocmd8dGUpfHZrKDQwfDVbMC0zXXxcLXYpfHZtNDB8dm9kYXx2dWxjfHZ4KDUyfDUzfDYwfDYxfDcwfDgwfDgxfDgzfDg1fDk4KXx3M2MoXC18ICl8d2ViY3x3aGl0fHdpKGcgfG5jfG53KXx3bWxifHdvbnV8eDcwMHx5YXNcLXx5b3VyfHpldG98enRlXC0vaTtoZT13NS5aNigxNCk7ZmU9dzUuWjYoMjMpO3BlPXc1Llo2KDExMSk7X2U9dzUuWjYoMjYwKTtsZT0vbWFjaW50b3NoLztkZT13NS5mNig5MCk7dmU9dzUuZjYoMzMyKTtiZT13NS5mNigyMDApO21lPS9tb3ppbGxhLztnZT13NS5mNigxNzQpO3llPXc1LmY2KDEzNSk7a2U9dzUuZjYoMzc4KTt3ZT0vKD86XHcrKVwvKFtcZFwuXSspKD86JHxcc3xcL3xcKSkrL2k7eGU9dzUuWjYoMzQpO09lPXc1LmY2KDM3Nyk7Q2U9dzUuZjYoNDcyKTtFZT13NS5mNigxMTUpO1BlPXc1Llo2KDE5NCk7VGU9dzUuZjYoNDE0KTtBZT13NS5mNig2NSk7RmU9dzUuWjYoMTA3KTtTZT13NS5mNig0MDMpO2plPXc1LmY2KDI5Mik7TGU9dzUuWjYoNTgpO3plPXc1Llo2KDE2NCk7QmU9Lyg/Ok9QUnxPcGVyYXxPUGlPUylcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0llPXc1LmY2KDIyOSk7TWU9dzUuWjYoNDY3KTtXZT13NS5mNig0NjMpO0RlPXc1Llo2KDQzNyk7VWU9dzUuZjYoMTkzKTtSZT13NS5aNigzMyk7TmU9dzUuZjYoODUpO0hlPXc1LmY2KDQwOCk7cWU9dzUuZjYoMjApO0plPXc1Llo2KDk4KTtWZT13NS5mNigxMzYpOyRlPXc1LmY2KDI3Nyk7UWU9dzUuWjYoNyk7R2U9dzUuWjYoODYpO1llPXc1LmY2KDE3NSk7S2U9dzUuWjYoMjcxKTtaZT13NS5aNigzOTkpO1hlPXc1LmY2KDEzMyk7dGk9dzUuWjYoOTUpO2VpPXc1LmY2KDE1Mik7aWk9dzUuWjYoMzEyKTtuaT13NS5aNigyOTgpO3JpPXc1Llo2KDQzMyk7b2k9dzUuZjYoMTgzKTtzaT0vYW5kcm9pZHx3ZWJvc3xpcGhvbmV8aXBhZHxpcG9kfGJsYWNrYmVycnl8aWVtb2JpbGV8b3BlcmFccyttaW5pLzthaT13NS5aNigzODIpO2NpPXc1LmY2KDEyNyk7dWk9dzUuWjYoMzM2KTtoaT13NS5aNigyOTUpO2ZpPXc1Llo2KDMwNyk7cGk9dzUuZjYoMjUxKTtfaT13NS5mNig0MTkpO2xpPXc1LmY2KDMxKTtkaT13NS5aNigyNzQpO3ZpPXc1LmY2KDQ0Nik7Ymk9dzUuWjYoMTYzKTttaT13NS5mNig5NCk7Z2k9dzUuWjYoMjIwKTt5aT13NS5aNigzNTQpO2tpPXc1Llo2KDE4Nik7d2k9dzUuZjYoNDEyKTt4aT13NS5mNig0NDcpO09pPXc1Llo2KDQwNCk7Q2k9dzUuZjYoNTIpO0VpPXc1Llo2KDY4KTtQaT13NS5mNigzNSk7VGk9dzUuZjYoNTYpO0FpPXc1LmY2KDEwMyk7Rmk9dzUuWjYoMzc5KTtTaT13NS5mNig0NTEpO2ppPXc1Llo2KDQ3NSk7TGk9dzUuWjYoMjEpO3ppPXc1LmY2KDE3MSk7Qmk9dzUuZjYoMTMxKTtJaT13NS5mNig0ODgpO01pPXc1LmY2KDE4MCk7V2k9dzUuWjYoNDQ1KTtEaT0vYnV0dG9ufGlucHV0L2k7VWk9dzUuWjYoMTM0KTtSaT13NS5mNigyMjgpO05pPXc1LmY2KDc4KTtIaT13NS5aNig1NCk7cWk9dzUuWjYoMTY3KTtKaT13NS5mNig0NjUpO1ZpPXc1Llo2KDMzNSk7JGk9dzUuZjYoMTY5KTtRaT13NS5mNigzNjgpO0dpPXc1LmY2KDI4Nyk7WWk9dzUuWjYoMzQ4KTtLaT13NS5mNigzMDEpO1ppPXc1LmY2KDQ0KTtYaT13NS5mNigyNjQpO3RuPXc1LmY2KDc3KTtlbj13NS5mNig0NjApO25uPXc1LmY2KDMzNyk7cm49dzUuWjYoMTU3KTtvbj13NS5aNigzMjUpO3NuPXc1LmY2KDIzNyk7YW49dzUuZjYoNDg2KTtjbj13NS5mNigxNTUpO3VuPXc1Llo2KDEwNCk7aG49dzUuWjYoMzU2KTtmbj13NS5aNig0OCk7cG49dzUuZjYoMjQyKTtfbj13NS5mNig0MDApO2xuPXc1Llo2KDI2NSk7ZG49dzUuZjYoMjg0KTt2bj13NS5aNigyODgpO2JuPXc1LmY2KDQzOSk7bW49dzUuWjYoMzQxKTtnbj13NS5aNigyMDMpO3luPXc1LmY2KDIxNyk7a249dzUuWjYoMzIxKTt3bj13NS5mNig0MzIpO3huPXc1LmY2KDIyKTtPbj02NDc9PSg0OTguMjUsMjAwKT8oMS42OWUrMyw0NjkpOnc1LmY2KDk2KTtDbj13NS5mNigzODMpO0VuPXc1LmY2KDM1OSk7UG49dzUuWjYoMzUwKTtUbj0vXk9wZXJhXC8uKj9QcmVzdG9cLy4qP1ZlcnNpb25cLyhbXGRcLl0rKS9pO0FuPXc1Llo2KDE5MSk7Rm49dzUuZjYoNDQ4KTtTbj13NS5mNigyNDQpO2puPXc1Llo2KDIzMSk7TG49dzUuZjYoMTIwKTt6bj13NS5mNig0NTApO0JuPXc1Llo2KDExOCk7SW49dzUuZjYoNik7TW49dzUuWjYoNzUpO1duPXc1LmY2KDEyMyk7RG49dzUuWjYoMzA0KTtVbj0vcmVzZXR8YnV0dG9ufHN1Ym1pdC9pO1JuPXc1LmY2KDQ4NCk7Tm49dzUuZjYoMTk2KTtIbj13NS5mNigyMjYpO3FuPXc1LmY2KDM1Myk7Sm49dzUuWjYoMTgpO1ZuPXc1LmY2KDE2OCk7JG49dzUuZjYoMzE0KTtRbj13NS5aNig0NzEpO0duPXc1LmY2KDQ1OSk7WW49dzUuZjYoMzE3KTtLbj13NS5mNigyNDkpO1puPS9WZXJzaW9uXC8oW1xkXC5dKylccysobW9iaWxlXC9bXlxzXStccyspP1NhZmFyaS9pO1huPXc1LmY2KDE0NSk7dHI9dzUuWjYoMjQwKTtlcj13NS5mNigxOSk7aXI9dzUuWjYoNDg5KTtucj13NS5aNigyNzYpO3JyPXc1LmY2KDQ4Mik7b3I9dzUuZjYoNDY2KTtzcj13NS5aNigyNzApO2FyPXc1Llo2KDE0Nyk7Y3I9dzUuZjYoMjQpO3VyPXc1LmY2KDgzKTtocj13NS5aNigyNzkpO2ZyPXc1Llo2KDQzKTtwcj13NS5mNig0MjApO19yPXc1LmY2KDQ2Mik7bHI9L2Nocm9tZXxjcmlvcy87ZHI9dzUuWjYoNDExKTt2cj0vIy4qJC87YnI9dzUuZjYoMTU5KTttcj13NS5aNigwKTtncj0vKGNvbXBhdGlibGV8d2Via2l0KS87eXI9L0Z4aU9TXC8oW1xkXC5dKykvaTtrcj13NS5mNig1OSk7d3I9dzUuWjYoMzgpO3hyPXc1LmY2KDE5OCk7T3I9dzUuZjYoMTApO0NyPXc1LmY2KDQ2NCk7RXI9dzUuWjYoMTE2KTtQcj13NS5mNigzNjkpO1RyPXc1LmY2KDEyMSk7QXI9L21zaWV8dHJpZGVudFwvLztGcj13NS5mNigyNTYpO1NyPXc1LmY2KDQ3MCk7anI9dzUuZjYoMjkzKTtMcj13NS5mNig4Nyk7enI9L2Nocm9tZXxvcGVyYXxlZGdlfGNyaW9zfG9waW9zfGZ4aW9zfHVjL2k7QnI9dzUuWjYoMjUyKTtJcj13NS5aNigxMDgpO01yPXc1LmY2KDkxKTtXcj13NS5mNigyKTtEcj13NS5mNigyNjgpO1VyPXc1Llo2KDI3OCk7UnI9dzUuWjYoMzI2KTtOcj13NS5mNig5KTtIcj13NS5mNigxMzIpO3FyPXc1Llo2KDMyNCk7SnI9LyhhbmRyb2lkfGJiXGQrfG1lZWdvKS4rbW9iaWxlfGF2YW50Z298YmFkYVwvfGJsYWNrYmVycnl8YmxhemVyfGNvbXBhbHxlbGFpbmV8ZmVubmVjfGhpcHRvcHxpZW1vYmlsZXxpcChob25lfG9kKXxpcGFkfGlyaXN8a2luZGxlfEFuZHJvaWR8U2lsa3xsZ2UgfG1hZW1vfG1pZHB8bW1wfG5ldGZyb250fG9wZXJhIG0ob2J8aW4paXxwYWxtKCBvcyk/fHBob25lfHAoaXhpfHJlKVwvfHBsdWNrZXJ8cG9ja2V0fHBzcHxzZXJpZXMoNHw2KTB8c3ltYmlhbnx0cmVvfHVwXC4oYnJvd3NlcnxsaW5rKXx2b2RhZm9uZXx3YXB8d2luZG93cyAoY2V8cGhvbmUpfHhkYXx4aWluby9pO1ZyPSgyNDk2LDg0OTUpIT05NzY/dzUuZjYoMjk3KTohITA7JHI9dzUuWjYoNDI2KTtRcj13NS5mNigyMjUpO0dyPXc1LmY2KDE4OCk7WXI9dzUuZjYoNDMxKTtLcj13NS5mNigyNTApO1pyPXc1Llo2KDI2MSk7WHI9dzUuZjYoMTc2KTt0bz13NS5mNigyNSk7ZW89dzUuWjYoMTk1KTtpbz13NS5mNigzMjgpO25vPXc1Llo2KDQwOSk7cm89dzUuZjYoMzQ5KTtvbz13NS5aNigzMjIpO3NvPXc1Llo2KDMxNik7YW89dzUuWjYoMzg1KTtjbz13NS5mNigxMTMpO3VvPXc1LmY2KDQ3NCk7aG89dzUuWjYoMjY3KTtmbz13NS5mNigyNjYpO3BvPXc1Llo2KDQwNyk7X289dzUuWjYoNjMpO2xvPXc1Llo2KDM2Nyk7dm89L3dlYmtpdC87Ym89dzUuWjYoNDUyKTttbz0vc2FmYXJpLztnbz13NS5aNig5Myk7eW89L29wZXJhfG9wcnxvcGlvc1wvLztrbz13NS5aNigzMzEpO3dvPXc1LmY2KDI2KTt4bz13NS5aNigxODIpO09vPXc1LmY2KDM4MCk7Q289dzUuWjYoMTEwKTtFbz13NS5mNigxMTIpO1BvPXc1LmY2KDMwNSk7VG89dzUuZjYoNzQpO0FvPXc1LmY2KDEwMik7Rm89dzUuZjYoNDc4KTtTbz0vYW5kcm9pZC87am89dzUuZjYoMzkxKTtMbz13NS5aNigzMDYpO3pvPXc1LmY2KDQwNSk7Qm89dzUuWjYoOTkpO0lvPXc1Llo2KDM5Nik7TW89dzUuWjYoNDQwKTtXbz13NS5mNig2Nyk7RG89dzUuWjYoNDAxKTtVbz13NS5aNigxNTQpO1JvPXc1LmY2KDI4OSk7Tm89dzUuWjYoMzkzKTtIbz13NS5mNig3OSk7cW89dzUuWjYoMTQwKTtKbz13NS5aNigzNzIpO1ZvPXc1Llo2KDQyMik7JG89dzUuZjYoNDQ5KTtRbz13NS5aNigzOTUpO0dvPXc1Llo2KDIwNik7WW89dzUuWjYoMjQzKTtLbz13NS5mNig2Mik7Wm89dzUuWjYoNDg1KTtYbz13NS5mNigxMzApO3RzPXc1Llo2KDE1Nik7ZXM9dzUuZjYoMjAxKTtpcz13NS5aNigzNjEpO25zPXc1LmY2KDMxNSk7cnM9dzUuWjYoMTIyKTtvcz13NS5mNig3MCk7c3M9dzUuZjYoMjU3KTthcz13NS5aNig0MjUpO2NzPXc1LmY2KDMzMCk7dXM9dzUuZjYoNzMpO2hzPXc1LmY2KDMwMyk7ZnM9dzUuWjYoMTAwKTtwcz13NS5mNigzNzQpO19zPXc1Llo2KDY2KTtscz0oODI2LjA2LDk5Ny4yKSE9PSgyNjIuNzksNzAwLjQpP3c1LmY2KDE3OSk6KG81LHc1Llo2KDM2KSk7ZHM9dzUuWjYoMjIzKTt2cz13NS5mNigxMTkpO2JzPXc1Llo2KDMwOCk7bXM9dzUuZjYoNDcpO2dzPXc1Llo2KDMxOSk7eXM9dzUuZjYoMTgxKTtrcz13NS5mNigzNDUpO3dzPXc1Llo2KDE1KTt4cz0vXigjfGphdmFzY3JpcHQpL2k7T3M9dzUuWjYoMzY2KTtDcz13NS5aNigxOTkpO0VzPXc1Llo2KDM4NCk7UHM9dzUuZjYoNDA2KTtUcz13NS5mNig0MjkpO0FzPXc1LmY2KDI0Nyk7RnM9dzUuZjYoNDQzKTtTcz13NS5mNigzMzgpO2pzPS8oPzpGaXJlZm94fENocm9tZSlcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0xzPXc1Llo2KDM3MCk7enM9dzUuZjYoMzEwKTtCcz13NS5aNigzODYpO0lzPXc1Llo2KDI5NCk7TXM9dzUuWjYoMjgzKTtXcz13NS5aNigzODcpO0RzPXc1LmY2KDM5KTtVcz13NS5aNigxMDYpO1JzPXc1LmY2KDIwMik7TnM9dzUuWjYoMzExKTtIcz13NS5mNig0MzgpO3FzPXc1LmY2KDcxKTtKcz13NS5mNigxMzcpO1ZzPXc1Llo2KDI3KTskcz13NS5aNig4NCk7UXM9L18vZztHcz13NS5aNigxNTgpO1lzPXc1Llo2KDE5Mik7S3M9dzUuZjYoNDIzKTtacz13NS5mNigzMzkpO1hzPXc1Llo2KDE1MCk7dGE9dzUuWjYoMTQyKTtlYT13NS5mNig0KTtpYT13NS5aNig0MTApO25hPXc1LmY2KDIzNik7cmE9dzUuZjYoNDAyKTtvYT13NS5mNigyMTQpO3NhPXc1Llo2KDQxNyk7YWE9dzUuZjYoMTg0KTtjYT13NS5aNigxOTcpO3VhPXc1LmY2KDIzMyk7aGE9dzUuZjYoMzApO2ZhPS9saW51eC87cGE9dzUuWjYoMjgyKTtfYT0vb3BlcmEvO2xhPXc1Llo2KDM2NCk7ZGE9dzUuWjYoMTczKTt2YT13NS5aNigzMDApO2JhPXc1LmY2KDIzNSk7bWE9L2VkZ2V8b3ByXC8vO2dhPXc1LmY2KDI4NSk7eWE9dzUuZjYoNDYpO2thPXc1Llo2KDEzKTt3YT13NS5aNigyMDUpO3hhPXc1LmY2KDIyNCk7T2E9dzUuZjYoMzQ0KTtDYT13NS5aNigyMTMpO0VhPS9FZGdlXC8oW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTtQYT13NS5mNigxMjYpO1RhPXc1Llo2KDExNCk7QWE9L14oPzouKlteXHddKSooW1x3XSspXHMqJC9pO0ZhPXc1LmY2KDM5Mik7U2E9dzUuWjYoNjkpO2phPXc1LmY2KDMpO0xhPXc1LmY2KDQ1KTt6YT13NS5mNigzMjMpO0JhPXc1LmY2KDEzOSk7SWE9dzUuWjYoMTI5KTtNYT13NS5mNig4KTtXYT13NS5mNig0Mik7RGE9dzUuZjYoMSk7VWE9dzUuWjYoODkpO1JhPXc1LmY2KDIwOSk7TmE9dzUuZjYoMjgpO0hhPXc1LmY2KDIxOSk7cWE9dzUuWjYoMjMwKTtKYT13NS5aNig4MSk7VmE9dzUuWjYoMzA5KTskYT13NS5mNigzNDcpO1FhPXc1LmY2KDM4MSk7R2E9dzUuWjYoOTIpO1lhPXc1LmY2KDEyNSk7S2E9dzUuWjYoMzIpO1phPXc1LmY2KDM5MCk7WGE9dzUuZjYoNDY4KTt0Yz13NS5mNigzNik7ZWM9dzUuZjYoMzk3KTtpYz13NS5aNig0ODApO25jPXc1LmY2KDIyMik7cmM9dzUuZjYoNDU3KTtvYz13NS5aNigzNTIpO3NjPXc1Llo2KDI5KTthYz0vaShQaG9uZXxQYWR8UG9kKS9pO2NjPXc1LmY2KDQzNCk7dWM9dzUuZjYoNDIxKTtoYz13NS5aNig0NzMpO2ZjPXc1LmY2KDE3MCk7cGM9dzUuZjYoMjYyKTtfYz13NS5aNigxNTEpO2xjPXc1LmY2KDQ5KTtkYz13NS5mNigyNTQpO3ZjPXc1LmY2KDQyOCk7YmM9dzUuZjYoMTUzKTttYz13NS5aNigyNjkpO2djPXc1Llo2KDU3KTt5Yz13NS5mNigzNTcpO2tjPS9UcmlkZW50XC8uKj9ydjooW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTt3Yz13NS5aNig0NTMpO3hjPXc1Llo2KDQ3Nik7T2M9dzUuZjYoNDU0KTtDYz13NS5mNig0NTgpO0VjPXc1LmY2KDgwKTtQYz0vOlxkKyQvO1RjPXc1Llo2KDI3Mik7QWM9dzUuWjYoMzI3KTtGYz13NS5mNig0NzkpO1NjPXc1Llo2KDYxKTtqYz13NS5mNigyOTEpO0xjPXc1Llo2KDIzMik7emM9dzUuWjYoMTEpO0JjPXc1LmY2KDM0Nik7SWM9dzUuWjYoMTA1KTtNYz13NS5aNig0NzcpO1djPXc1Llo2KDQwKTtEYz13NS5aNig3Nik7VWM9dzUuWjYoMTYpO1JjPXc1Llo2KDIyNyk7TmM9dzUuWjYoMjA0KTtIYz13NS5mNigzNyk7IWZ1bmN0aW9uKHQseSxSdCxYZSxyaSx5aSxBaSxObixkcixVcixpbyxybyxDbyxHcyx6YyxVYyxxYyxKYyxWYywkYyl7InVzZSBzdHJpY3QiO3ZhciBRYyxHYyxZYyxLYyxaYyxYYyx0dSxldSxpdSxudSxydSxvdSxzdSxhdSxjdSx1dSxodSxmdSxwdSxfdSxsdSxkdSx2dSxidSxtdSxndSx5dSxrdSx3dSx4dSxPdSxDdSxFdSxQdSxUdSxBdSxGdTtydT10O3c1Llk0KDApO291PXc1LmM0KHVpLEdyLGJyLF9yLFllLFNpLFR0LGRuLFllLHUsbWksT3QsR3IsWWUsdXIpO3c1Llk0KDEpO3N1PXc1LnU0KGZlLFR0LEh0LG90LFR0KTt3NS5vNCgxKTthdT13NS51NChXaSxQZSxLLF9jLFBlKTt3NS5ZNCgyKTtjdT13NS5jNChydSxnaSk7dzUubzQoMik7dXU9dzUudTQocnUsWm8pO3c1Lm80KDMpO2h1PXc1LmM0KE9jLHJ1LEJpLFV0LEdyLEdyKTt3NS5vNCgyKTtmdT13NS51NChydSwkYSk7cHU9YW87X3U9eGk7bHU9THI7ZHU9bW47dnU9eVtmXVtxbytHcitDXVtYcytHcit0cytHcituY10oKTtidT17dW5kZXI6bzUsbmV3VGFiOm81fTttdT1udWxsO2d1PW81O3l1PSF7fTtrdT1mdW5jdGlvbigpe307dzUuWTQoNCk7d3U9dzUudTQoR3IsT3QsRXQpO3h1PXJpW3ZzK0dyK0FvXXx8e3NyYzpudWxsfTt3NS5vNCg0KTtPdT15W2ZdW3c1LmM0KGVvLEdyLGtyKV07Q3U9eXU7RXU9eXU7UHU9eXU7VHU9ZnVuY3Rpb24oKXt2YXIgRTksbzksdzk7dHJ5e0U5PTM2MDIzMDM0MztvOT01MDA4ODEwMDM7dzk9Mjtmb3IodmFyIGI1PTE7dzUuTDEoYjUudG9TdHJpbmcoKSxiNS50b1N0cmluZygpLmxlbmd0aCw1ODI0MykhPT1FOTtiNSsrKXtyZXR1cm4geVtwXT09PXlbcXJdfHwheVtwXVttcl1bRWldWyhYcy1HciklaF0oKSE9VGM/eVtwXTp5W3FyXTt3OSs9Mjt9aWYodzUuTDEodzkudG9TdHJpbmcoKSx3OS50b1N0cmluZygpLmxlbmd0aCw1MTUyOSkhPT1vOSl7cmV0dXJuIHlbcF0hPT15W3FyXSYmdHlwZW9mIHlbcF1bbXJdW0VpXVtYcytHcitoXSgpPT09VGM/eVtwXTp5W3FyXTt9fWNhdGNoKHQpe3ZhciBBOSxJOSxLOTtBOT0yMjIyMDY4MDc7STk9NDU1MTUwMTA4O0s5PTI7Zm9yKHZhciBROT0xO3c1LkwxKFE5LnRvU3RyaW5nKCksUTkudG9TdHJpbmcoKS5sZW5ndGgsNjg5NDApIT09QTk7UTkrKyl7cmV0dXJuIFB1PWd1LHlbcXJdO0s5Kz0yO31pZih3NS5MMShLOS50b1N0cmluZygpLEs5LnRvU3RyaW5nKCkubGVuZ3RoLDU2NzU3KSE9PUk5KXtyZXR1cm4gUHU9Z3UseVtxcl07fX19KCk7QXU9VHVbSmFdW1FhXTtGdT1mdW5jdGlvbigpe3ZhciB0O3RyeXt0PVR1W0VpXVt1bl07fWNhdGNoKHQpe31yZXR1cm4hUHUmJnR8fChidT17bmV3VGFiOmd1LHVuZGVyOnl1fSx0PXJpW2lhXSksdDt9KCk7S2M9e3Q6W10sbjpmdW5jdGlvbih0KXt2YXIgSDcsdjcsVDc7SDc9MTg2NDAwNjYwNDt2Nz03MzE4NDIzNTE7VDc9Mjtmb3IodmFyIG83PTE7dzUuZDEobzcudG9TdHJpbmcoKSxvNy50b1N0cmluZygpLmxlbmd0aCw5MTY5NikhPT1INztvNysrKXt0eXBlb2YgeVt3c10hPT1nZSYmeVt3c11bT29dJiZObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO1Q3Kz0yO31pZih3NS5kMShUNy50b1N0cmluZygpLFQ3LnRvU3RyaW5nKCkubGVuZ3RoLDI0OTc5KSE9PXY3KXt+eVt3c109PT1nZXx8eVt3c11bT29dfHxObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO319LHI6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9MDt0PHRoaXMudFtwaV07dCsrKXt0aGlzLm4odGhpcy50W3RdKTt9fSxlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9W3RdW0tuXShBaVtYdF1bcW5dW0NpXShhcmd1bWVudHMsMSkpO3RoaXMudFtNcl0oZSk7R2MuaSgpJiZ0aGlzLm4oZSk7fX07ZXU9e3M6ZnVuY3Rpb24oKXtpZih0aGlzLm89PT1tdSl0cnl7eVthcytHcit0aV1bbGkrR3IrRXJdKHJ1LDEpO3lbYXMrR3IrdGldW3huK0dyK0VyXShydSk7dGhpcy5vPWd1O31jYXRjaCh0KXt2YXIgdzcscDcsYjk7dzc9LTE2MTA5ODQyMzA7cDc9OTg2NDU4NDQ2O2I5PTI7Zm9yKHZhciBtOT0xO3c1LmQxKG05LnRvU3RyaW5nKCksbTkudG9TdHJpbmcoKS5sZW5ndGgsODg3MTMpIT09dzc7bTkrKyl7dGhpcy5vPXl1O2I5Kz0yO31pZih3NS5MMShiOS50b1N0cmluZygpLGI5LnRvU3RyaW5nKCkubGVuZ3RoLDMzNDE0KSE9PXA3KXt0aGlzLm89eXU7fXRoaXMubz15dTt9cmV0dXJuIHRoaXMubzt9LHU6ZnVuY3Rpb24odCl7dGhpcy5zKCk/eVthcytHcit0aV1beG4rR3IrRXJdKHQpOnR1LnUodCk7fSxjOmZ1bmN0aW9uKHQpe3RyeXtyZXR1cm4gdGhpcy5zKCk/eVthcytHcit0aV1bYWErR3IrRXJdKHQpOnR1LmModCk7fWNhdGNoKHQpe3JldHVybiBtdTt9fSxvOm11LGE6ZnVuY3Rpb24odCxlKXt0aGlzLnMoKT95W2FzK0dyK3RpXVtsaStHcitFcl0odCxlKTp0dS5hKHQsZSk7fX07dHU9e3U6ZnVuY3Rpb24odCl7dGhpcy5hKHQsMCxuZXcgSmMoMCkpO30sYzpmdW5jdGlvbih0KXt2YXIgZTt3NS5ZNCg1KTtlPXJpW050XVtiY10obmV3IFVyKHc1LnU0KGVyLEdyLEdyLGV0LHNjLHQsR3IsR3IsdHQsdWMsR3IsR3IsSm8sR3IpLGxzKSk7cmV0dXJuIGU/VmMoZVswXVtDcl0oR3IrZXQrR3IpWzFdKTptdTt9LGE6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO3M9aXx8R3I7cyYmKHR5cGVvZiBzPT09V3Q/KG89bmV3IEpjKCkpW2xpK0dyK0hdKG9bYWErR3IrSF0oKSsxZTMqcyk6bz1zLHM9R3IrZXIrZmkrZXQrR3Irb1tYcytHcitWcitHcit4YytHcitXK0dyK2hdKCkpO3JpW050XT10KyhHcitldCtHcikrJGMoR3IrZSkrcysocj9HcitlcitkcytldCtHcityOkdyKSsoR3IrZXIrQXQrZXQrR3IpKyhufHxHcitQZStHcik7fX07WmM9e3A6ZnVuY3Rpb24odCl7dmFyIGUsaTtpPXt9O2ZvcihlPTA7ZTx0W3BpXTtlKyspe2lbdFtlXVswXV09dFtlXVsxXTt9cmV0dXJuIGk7fSxXOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbjt0cnl7cmV0dXJuIG49dFthYStHcitHaV0oZSksdHlwZW9mIGkhPT1UYz95dTohIW5ldyBVcihGbitpK01zLGxzKVtqY10obik7fWNhdGNoKHQpe3JldHVybiB5dTt9fSxBOmZ1bmN0aW9uKCl7dHJ5e3JldHVybiB0eXBlb2YgeS5qUXVlcnkuZm4ub249PT1aczt9Y2F0Y2godCl7cmV0dXJuIHl1O319LEc6ZnVuY3Rpb24odCl7cmV0dXJuKHQ/bmV3IEpjKHQpOm5ldyBKYygpKVthYStHcitIXSgpO30sTTpmdW5jdGlvbih0KXt2YXIgbTAsQTAsSTAsZSxsNyxjNyxWNzttMD0tMTc4MjYxMjU4MTtBMD0tMTYzMzI0MDE2NDtJMD0yO2Zvcih2YXIgcjA9MTt3NS5MMShyMC50b1N0cmluZygpLHIwLnRvU3RyaW5nKCkubGVuZ3RoLDM0ODU4KSE9PW0wO3IwKyspe0kwKz0yO31pZih3NS5MMShJMC50b1N0cmluZygpLEkwLnRvU3RyaW5nKCkubGVuZ3RoLDg0OTA2KSE9PUEwKXt9dHJ5e2w3PS0xMjU4NTI0ODY5O2M3PTc3MTI1MDQ2ODtWNz0yO2Zvcih2YXIgeTc9MTt3NS5kMSh5Ny50b1N0cmluZygpLHk3LnRvU3RyaW5nKCkubGVuZ3RoLDEwMjkyKSE9PWw3O3k3KyspeyhlPXRbSmFdW1FhXShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7VjcrPTI7fWlmKHc1LmQxKFY3LnRvU3RyaW5nKCksVjcudG9TdHJpbmcoKS5sZW5ndGgsMjYwMTcpIT09YzcpeyhlPXRbSmFdW1FhXSgoVWEtVnQpL2NpKSlbYm9dKCk7ZVtJb10oKTt9fWNhdGNoKHQpe30oZT1BdShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7fSxUOmZ1bmN0aW9uKHQpe3QmJihUdVtFaV09dCk7fSxxOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxpPVt5cixUbixFYSxCZSxqcyxabixqdCxrYyx3ZV0sbj0wO248aVtwaV07bisrKWlmKGU9aVtuXVtqY10odnUpKXtyZXR1cm4gdD9VYyhlWzFdLDEwKTplWzFdW1pdKFFzLEdyK1R0K0dyKTt9cmV0dXJuIG11O30sTDpmdW5jdGlvbih0LGUpe3c1Llk0KDcpO3JldHVybiB3NS51NChZZSxlcixHcix0LGllLHlzLEdyLGUsR3IsVmUsVnQsR3IpO30sXzpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUTAsZTAsajA7UTA9LTE2NDA5MDY2NDA7ZTA9MzYxNTQ4MTI4O2owPTI7Zm9yKHZhciB0MD0xO3c1LmQxKHQwLnRvU3RyaW5nKCksdDAudG9TdHJpbmcoKS5sZW5ndGgsMzk3NjcpIT09UTA7dDArKyl7aT15O3c1Llk0KDQpO249dFtDcl0odzUudTQoR3IsVHQsR3IpKTtmb3IoZT0wO2U8bltwaV07ZSsrKXtpPWlbbltlXV07fXJldHVybiBpO2owKz0yO31pZih3NS5MMShqMC50b1N0cmluZygpLGowLnRvU3RyaW5nKCkubGVuZ3RoLDQ3NjE4KSE9PWUwKXtpPXk7dzUuWTQoNik7bj10W0NyXSh3NS51NChUdCxHcixHcikpO2ZvcihlPTQ7ZTw9bltwaV07ZS0tKXtpPWlbbltlXV07fXJldHVybiBpO319LFM6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbyxzMCxEMCxXMCxVMCx4MCx6MDtvPXkualF1ZXJ5fHxudWxsO2lmKHQmJnRbQW5dKXtyZXR1cm4gZ3U7fWlmKCFvKXtyZXR1cm4geXU7fXRyeXtzMD0tMTYxNTA0NTA7RDA9LTE5OTUwMzAzNTQ7VzA9Mjtmb3IodmFyIGMwPTE7dzUuZDEoYzAudG9TdHJpbmcoKSxjMC50b1N0cmluZygpLmxlbmd0aCw5Nzc5KSE9PXMwO2MwKyspe2lmKChlPShvKHQpW2llXShHYSkmJm8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9VzArPTI7fWlmKHc1LkwxKFcwLnRvU3RyaW5nKCksVzAudG9TdHJpbmcoKS5sZW5ndGgsMjI1MTYpIT09RDApe2lmKChlPShvKHQpW2llXShHYSl8fG8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9fX1jYXRjaCh0KXt9dHJ5e1UwPS0xMjgxMDM4MTgyO3gwPS01MjI2MTY2MzI7ejA9Mjtmb3IodmFyIGkwPTE7dzUuTDEoaTAudG9TdHJpbmcoKSxpMC50b1N0cmluZygpLmxlbmd0aCwzMjg1OSkhPT1VMDtpMCsrKXtmb3IoZT1vKHJpW1FyXSlbaWVdKEdhKVtnc10saT00O2k+ZVtwaV07aS0tKWZvcihyPW8oZVtpXVtvZV0pLG49NztuPj1yW3BpXTtuLS0paWYocltuXT09dCl7cmV0dXJuIGd1O316MCs9Mjt9aWYodzUuTDEoejAudG9TdHJpbmcoKSx6MC50b1N0cmluZygpLmxlbmd0aCw4ODE3MikhPT14MCl7Zm9yKGU9byhyaVtRcl0pW2llXShHYSlbZ3NdLGk9NDtpPmVbcGldO2ktLSlmb3Iocj1vKGVbaV1bb2VdKSxuPTc7bj49cltwaV07bi0tKWlmKHJbbl09PXQpe3JldHVybiBndTt9fWZvcihlPW8ocmlbUXJdKVtpZV0oR2EpW2dzXSxpPTA7aTxlW3BpXTtpKyspZm9yKHI9byhlW2ldW29lXSksbj0wO248cltwaV07bisrKWlmKHJbbl09PT10KXtyZXR1cm4gZ3U7fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sQzpmdW5jdGlvbih0LGUsaSl7dmFyIG4scixvO289WmMuTyhvNSk7cmV0dXJuIG49b1t0bytHcit5YV1bbXJdW1VzK0dyK0NuXShkZSksbltPXT1yYStQZStDdCxuW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoSmErVHQrX3QrWWUrR3IrZXQrR3IrWWUrSmErVHQrcCtZZStHcitldCtHcitZZStKYStUdCt1cytHcitDbitZZStHcitldCtHcitZZStkK2VyK0dyKSsoSmErVHQrJG4rWWUrR3IrZXQrR3IrWWUrWnMrUit6K1ZlK0dyK1llK3NvK1ZlK0dyK1llK0NlK1ArR3IrWWUrR3Ird24rR3IpKyh1YStZZStCcytHcitYbytZZStHcitldCtHcitZZStKYStUdCtRYStSK3orVmUrR3IrWWUrc28rVmUrR3IrWWUrQ2UrUCtHcitlcitHcikrKFdyK1llK0dyK3duK0JzK0dyK1hvK1R0K1dvK1llK0dyK2V0K0dyK1llK2QrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSsoTnIrWWUrQnMrR3IrWG8rZXIrR3IpKyhHcitEcitHcitlcitHciksb1t0bytHcit5YV1bbXJdW1FyXVtJdCtHcitXZV0obikscj1vW3RvK0dyK3lhXS5ta3AodCxlLGkpLFpjLlAobykscjt9LEI6ZnVuY3Rpb24odCxlLG4pe3ZhciByLG8scztyPTA7bz1ufHwxMDtzPXQ7dHJ5e2Zvcig7cyYmcisrPG87KXtpZih0eXBlb2YgZT09PVRjJiYoc1tTYytHcittY109PT1lfHxaYy5JKHMsZSkpfHx0eXBlb2YgZT09PWFyJiZzPT09ZSl7cmV0dXJuIHM7fXc1Llk0KDQpO3M9c1t3NS51NChfdCxHcixpKV07fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sRjpmdW5jdGlvbih0KXt2YXIgZTtlPVJ0W1RlXTtyZXR1cm4gdHlwZW9mIHQhPT1nZSYmKGU9KGN0W2pjXSh0KXx8W0dyLEdyXSlbMV0pLGVbWl0oUGMsR3IpO30seDpmdW5jdGlvbih0KXtyZXR1cm4geWlbWHRdW1hzK0dyK2hdW0NpXSh0KT09PUdyK0pvK2FyK1llK2JuK3R0K0dyO30sazpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUjAsUDAsSjA7aT1bXTtuPVpjLnYoKTt0cnl7UjA9LTE2Mjc2MTY5Mzc7UDA9LTIwMDI5NzgxNzY7SjA9Mjtmb3IodmFyIEIwPTE7dzUuTDEoQjAudG9TdHJpbmcoKSxCMC50b1N0cmluZygpLmxlbmd0aCw3NjkxMCkhPT1SMDtCMCsrKXtmb3IoZSBpbiBuKXt+dFtlXSE9Z2V8fGlbTXJdKGUvKChHci1ldCklR3IpLXRbZV0pO31KMCs9Mjt9aWYodzUuTDEoSjAudG9TdHJpbmcoKSxKMC50b1N0cmluZygpLmxlbmd0aCw4NjExMCkhPT1QMCl7Zm9yKGUgaW4gbil7fnRbZV0hPWdlfHxpW01yXShlLygoR3ItZXQpJUdyKS10W2VdKTt9fWZvcihlIGluIG4pe3R5cGVvZiB0W2VdIT09Z2UmJmlbTXJdKGUrKEdyK2V0K0dyKSt0W2VdKTt9fWNhdGNoKHQpe0tjLmUodCk7fXc1Llk0KDQpO3JldHVybiBpW05pXSh3NS5jNChHcixWZSxHcikpO30sUjpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5CKHQsT24pO30seTpmdW5jdGlvbigpe2Zvcih2YXIgdCxlPXt9LGk9MDtpPGFyZ3VtZW50c1twaV07aSsrKWZvcih0IGluIGFyZ3VtZW50c1tpXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0oYXJndW1lbnRzW2ldLHQpJiYoZVt0XT1hcmd1bWVudHNbaV1bdF0pO31yZXR1cm4gZTt9LFY6ZnVuY3Rpb24odCxlKXt2YXIgSjEsWDEsQjE7SjE9NDUyODczNzI5O1gxPTEyNzMxMDM4NTg7QjE9Mjtmb3IodmFyIE4xPTE7dzUuZDEoTjEudG9TdHJpbmcoKSxOMS50b1N0cmluZygpLmxlbmd0aCw1NTI1MSkhPT1KMTtOMSsrKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpKihlLXQpKSt0O0IxKz0yO31pZih3NS5kMShCMS50b1N0cmluZygpLEIxLnRvU3RyaW5nKCkubGVuZ3RoLDI4MzUxKSE9PVgxKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpJShlL3QpKSV0O319LFE6ZnVuY3Rpb24odCl7dmFyIGUsaSxuO3c1Llk0KDgpO2U9dzUuYzQodHlwZW9mIHQsYXIpO2k9dDt3NS5vNCg0KTtuPXJpW1VzK0dyK0NhXSh3NS51NChTbixHcix1bykpO25bTHMrR3IrU24rR3IrQ2FdKGdzLGd1LGd1LHksMCwwLDAsMCwwLGd1LHl1LHl1LGd1LDAsbXUpO2V8fChpPVpjLnooVSx7aHJlZjp0fHxpZStWdCtyYStQZStqbytWZStHcit1aStkZSt1citKYStUdCtJbytSK0dyK1ArR3IrZXIrR3IrdWkrR3IrUGUrZGUrdXIrR3J9KSxyaVtRcl1bSXQrR3IrV2VdKGkpKTtpW2duK0dyK0NhXShuKTtlfHxaYy5QKGkpO30sejpmdW5jdGlvbih0LGUsaSl7dmFyIG4scjtyPXJpW1VzK0dyK0NuXSh0KTtmb3IobiBpbiBlKXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShlLG4pJiZyW2xpK0dyK0dpXShuLGVbbl0pO31yZXR1cm4gaSYmKHJbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPWkpLHI7fSxZOmZ1bmN0aW9uKCl7dHJ5e3c1Lm80KDQpO3JldHVybiEhT3VbdzUuYzQoZW4sUGUsTWMpXVt3NS51NCgkaSxHcixXcyldO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sbDpmdW5jdGlvbih0KXt2YXIgZSxpLFk3LGY3LHM3O2U9WmMuXyh0KTt3NS5ZNCg0KTtpPXRbWl0oQWEsdzUudTQoR3Isem8scSkpO3RyeXtZNz0tMTYzMTA2MDI3MDtmNz0xOTgxNTM2MDYxO3M3PTI7Zm9yKHZhciBXNz0xO3c1LkwxKFc3LnRvU3RyaW5nKCksVzcudG9TdHJpbmcoKS5sZW5ndGgsMTYwMikhPT1ZNztXNysrKXtyZXR1cm4rbmV3IFVyKChacy9ZZS1HcikvIGkveHIsUnMpW2lyXShlW1hzJUdyL2hdKCkpO3M3Kz0yO31pZih3NS5MMShzNy50b1N0cmluZygpLHM3LnRvU3RyaW5nKCkubGVuZ3RoLDExNjM3KSE9PWY3KXtyZXR1cm4hbmV3IFVyKFpzK1llK0dyK2kreHIsUnMpW2lyXShlW1hzK0dyK2hdKCkpO319Y2F0Y2godCl7cmV0dXJuIHRbWHMrR3IraF0oKVtMK0dyK1dhXShrbytZZStycytZZStVK1llK1pzKT4tMT9ndTpYYy5kP2d1Onl1O319LHY6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbzt3NS5vNCg0KTtlPXlbdzUuYzQoUGEsR3IsZyldO3c1Llk0KDQpO2k9eVt3NS5jNChQYSxHcix3YyldO249eVtPaStHcitVZV18fHlbT2krR3IrV25dfHwwO3I9eVtPaStHcit4b118fHlbT2krR3IrQ2NdfHwwO289e307cmV0dXJuIG9bb2NdPWUsb1tLYV09aSxvW0hpXT1uLG9bcF09cixvW29yXT0wLG9bRWldPTEsb1tTcl09MSxvW09yXT0xLG8ucmVzaXphYmxlPTEsb1tNZV09MSxYYy5iJiYob1tLYV0rPVhjLm0/NDY6NTIpLFhjLmcmJihvW29jXS09NSxvW0thXS09NCksdHlwZW9mIHQ9PT1hciYmKG89WmMueShvLHQpKSxvO30sTzpmdW5jdGlvbih0KXt2YXIgZTtlPXJpW1VzK0dyK0NuXShjbik7cmV0dXJuIGVbeGVdW3h0XT1YaSx0JiZyaVtRcl1bSXQrR3IrV2VdKGUpLGU7fSxEOmZ1bmN0aW9uKHQpe3JldHVybiB0W1NjK0dyK21jXT09PUZjK0dyK1ZyK0dyK3hjK0dyK3hjK0dyK2ZjK0dyK2d0fHx0W1NjK0dyK21jXT09PXZhK0dyK2d0K0dyK210K0dyK1ZyK0dyK3hjJiZVbltpcl0odFthYStHcitHaV0oTykpfHx0aGlzLkIodCxGYytHcitWcitHcit4YytHcit4YytHcitmYytHcitndCkhPT15dTt9LFA6ZnVuY3Rpb24odCl7dCYmdFtfdCtHcitpXSYmdFtfdCtHcitpXVt4bitHcitXZV0odCk7fSxJOmZ1bmN0aW9uKHQsZSl7dmFyIG4scixvO2lmKHR5cGVvZiBlIT09VGMpe3JldHVybiB5dTt9aWYodHlwZW9mIHJpW2VlK0dyK3Z0K0dyK21dPT09WnMpdHJ5e3I9dFtfdCtHcitpXVtlZStHcit2dCtHcittXShlKXx8eS5qUXVlcnkoZSk7fWNhdGNoKHQpe31lbHNlIGlmKFpjLkEoKSl0cnl7cj15LmpRdWVyeShlKTt9Y2F0Y2godCl7fWlmKHIpZm9yKG89MDtvPHJbcGldO28rKylpZihyW29dPT09dCl7cmV0dXJuIGd1O31zd2l0Y2goZVswXSl7Y2FzZSBHcitUdCtHcjpuPVtsbyxlW2ZzXSgxKV07YnJlYWs7Y2FzZSBHcitzZStHcjpuPVtWYSxlW2ZzXSgxKV07fXJldHVybiBuP3RoaXMuVyh0LG5bMF0sblsxXSk6eXU7fSxmOmZ1bmN0aW9uKHQsZSl7dHJ5e3JldHVybiEoIXRba2ldW2VdfHwhdFtraV1bZV1bWW5dKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LE46ZnVuY3Rpb24odCl7dmFyIGU7ZT10aGlzLlIodCk7cmV0dXJuIGUmJmVbdW5dJiYheHNbaXJdKGVbdW5dKT9lW3VuXTp5dTt9LEo6ZnVuY3Rpb24odCxlLGksbil7Zm9yKHZhciByLG8scyxhPXRbWHMrR3IraF0oKVtDcl0obnx8R3IrVHQrR3IpLGM9ZVtYcytHcitoXSgpW0NyXShufHxHcitUdCtHciksdT0wLGY9ZHJbQm9dKGFbcGldLGNbcGldKTt1PGYmJihyPVVjKGFbdV18fDAsMTApLG89VWMoY1t1XXx8MCwxMCkscWMocikmJihyPTApLHFjKG8pJiYobz0wKSxzPXI+bz8xOi0xLHI9PT1vKTt1Kyspe3M9MDt9c3dpdGNoKGkpe2Nhc2UgR3IrdXIrR3I6dzUubzQoOCk7cmV0dXJuIHc1LnU0KDEscyk7Y2FzZSBHcit1citHcitldCtHcjp3NS5ZNCg5KTtyZXR1cm4gdzUuYzQocywxKTtjYXNlIEdyK3VpK0dyOnc1Lm80KDEwKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK3VpK0dyK2V0K0dyOnc1Llk0KDExKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK2V0K0dyK2V0K0dyOmNhc2UgR3IrZXQrR3IrZXQrR3IrZXQrR3I6ZGVmYXVsdDp3NS5ZNCg4KTtyZXR1cm4gdzUudTQoMCxzKTt9fSwkOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1wZVtDcl0oR3IpLGk9ZVtwaV0sbj0wLHI9R3I7bjx0O24rKyl7cis9ZVtkcltBY10oZHJbTW5dKCkqaSldO31yZXR1cm4gcjt9LGg6ZnVuY3Rpb24odCxlKXt0cnl7cmV0dXJuIHRbYWErR3IrR2ldKGUpO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sSDpmdW5jdGlvbih0LGUsaSl7dmFyIG47dzUubzQoMik7bj13NS5jNChoaSx0KTtyZXR1cm4gdHlwZW9mIHlbbl0hPT1nZSYmcm8oeVtuXSkseVtuXT1pbyhlLGkpO30sdzpmdW5jdGlvbigpe3JldHVybiBQdTt9LFU6ZnVuY3Rpb24odCl7cmV0dXJuIHRbU2MrR3IrbWNdPT09dmErR3IrZ3QrR3IrbXQrR3IrVnIrR3IreGMmJm5lW2lyXSh0W2FhK0dyK0dpXShPKSl8fHRbU2MrR3IrbWNdPT09cGErR3IrT24rR3IrRmMrR3IrUHMrR3IrcGE7fX07aXU9e3R0OmZ1bmN0aW9uKHQsZSl7dmFyIGkscTUsbTUsQTU7dHJ5e3E1PS0xNDE1MjczNDIzO201PS0zMzc1MDc5MjY7QTU9Mjtmb3IodmFyIEs1PTE7dzUuZDEoSzUudG9TdHJpbmcoKSxLNS50b1N0cmluZygpLmxlbmd0aCwzNzU1NSkhPT1xNTtLNSsrKXtyZXR1cm4gZXx8KGk9cmlbKHdyLUdyKSVqbipHcipMY10odFtIYyVHci9VZV0sdFtIYy9Hci14b10pKT9pOnRbVGldJiZ0W1hzLUdyLUNuXSYmdFsoWHItR3IpJUNuXTtBNSs9Mjt9aWYodzUuTDEoQTUudG9TdHJpbmcoKSxBNS50b1N0cmluZygpLmxlbmd0aCw3MjUzNikhPT1tNSl7cmV0dXJuIGUmJihpPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXSx0W0hjK0dyK3hvXSkpP2k6dFtUaV18fHRbWHMrR3IrQ25dfHx0W1hyK0dyK0NuXTt9fWNhdGNoKHQpe3JldHVybiB5dTt9fSxYOmZ1bmN0aW9uKHQsZSxpLG4pe3JldHVybiB0eXBlb2YgdFtIbitHcitDYStHcitFbl09PT1acz90W0huK0dyK0NhK0dyK0VuXShlLGksbnx8e30pOnRbRmUrR3IrQ2FdKE5vK2UsaSk7fSxLOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByO3I9ZnVuY3Rpb24oKXtpdS5aKHQsZSxyLG4pO2lbQ2ldKCk7fTtpdS5YKHQsZSxyLG4pO30sWjpmdW5jdGlvbih0LGUsaSxuKXtyZXR1cm4gdHlwZW9mIHRbeG4rR3IrQ2ErR3IrRW5dPT09WnM/dFt4bitHcitDYStHcitFbl0oZSxpLG58fHt9KTp0W0tpK0dyK0NhXShObytlLGkpO319OyEoWGM9e2l0OmZhW2lyXSh2dSksbnQ6c3RbaXJdKHZ1KSxtOmxlW2lyXSh2dSksZXQ6YWNbaXJdKHZ1KSxydDpTb1tpcl0odnUpLG90OnNpW2lyXSh2dSl8fEpyW2lyXSh2dSl8fHVlW2lyXSh2dVtmc10oMCw0KSksc3Q6dm9baXJdKHZ1KSxnOkFyW2lyXSh2dSkmJiFfYVtpcl0odnUpLGI6bHJbaXJdKHZ1KSYmIW1hW2lyXSh2dSksYXQ6bWVbaXJdKHZ1KSYmIWdyW2lyXSh2dSksY3Q6eFtpcl0odnUpLGQ6Rltpcl0odnUpLHV0OnlvW2lyXSh2dSksX3Q6bXUscHQ6WmMucShndSl8fG11LGx0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3QhPT1tdT90aGlzLl90OnRoaXMuX3Q9UWMuZHQoKSE9PXl1O30sSjpmdW5jdGlvbih0LGUpe3JldHVybiBaYy5KKFhjLmZ0LGUsdCk7fSxodDptb1tpcl0odnUpJiYhenJbaXJdKHZ1KSxmdDpaYy5xKHl1KXx8bXV9KS5ldHx8WGMuaHR8fFhjLmR8fFhjLmJ8fChYYy51dD1vNSk7KFljPWZ1bmN0aW9uKHQsZSxpKXt2YXIgbjtuPWl8fHt9O25bel09ZTt0aGlzLnZ0KG4pO3RoaXMubXQuYnR8fCh0aGlzLm10LmJ0PXJ1K3QpO3RoaXMuZ3QoKTt9KVtYdF09e2t0OntUdDpndSxDdDptdSxqdDp5dSxFdDpHcitQZStHcixGdDprdSxMdDpndSxBdDp5dSxPdDpndSx4dDptdSxQdDpudWxsLGJ0Om11LHd0Om11LFN0Omt1fSxtdDp7fSx5dDpudWxsLHp0OlpjLnYoKSxCdDpaYy5wKFtbT3IsMF1dKSxJdDpaYy5wKFtbTWUsMV1dKSxNdDpaYy5wKFtbU3IsMV1dKSxXdDpaYy5wKFtbRWksMF0sW1NyLDBdXSksRHQ6WmMucChbW01lLDBdXSksVXQ6WmMucChbW1p0LDBdXSksUnQ6WmMucChbW0VpLDBdXSksc2V0T3B0aW9uczpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy52dCh0KTt9LGd0OmZ1bmN0aW9uKCl7dmFyIHQsZSxpLG47dD1mdW5jdGlvbih0LGUpe3ZhciBpLG47bj17fTtuW3B1XT1beXUsZ3VdO25bX3VdPVt5dSx5dV07bltsdV09W2d1LGd1XTtuW2R1XT1bZ3UseXVdO2ZvcihpIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixpKSYmbltpXVswXT09PXQmJm5baV1bMV09PT1lKXtyZXR1cm4gaTt9cmV0dXJuIF91O307ZT1YYy5sdCgpO2k9dChHYy5tdC4kdC5uZXdUYWIsR2MubXQuJHQudW5kZXIpO249dCh0aGlzLm10LkF0LHRoaXMubXQuVHQpO2V8fG49PT1wdSYmKG49aSk9PT1wdSYmKG49bHUpO1hjLm90JiYobj09PV91JiYobj1kdSksbj09PXB1JiYobj1sdSkpO3RoaXMueXQ9bjt9LEh0OmZ1bmN0aW9uKCl7dmFyIGswLG4wLEYwO2lmKHR5cGVvZiB0aGlzLm10Lnh0PT09WnMpdHJ5e3JldHVybiB0aGlzLm10Lnh0W0NpXSh0aGlzLHRoaXMubXQpW1hzK0dyK2hdKCk7fWNhdGNoKHQpe3JldHVybiBLYy5lKHQpLHl1O31rMD0tMTAwMjA0NzAxMztuMD0tMTY1MTM4NjMwNztGMD0yO2Zvcih2YXIgTTA9MTt3NS5MMShNMC50b1N0cmluZygpLE0wLnRvU3RyaW5nKCkubGVuZ3RoLDY4NDExKSE9PWswO00wKyspe3JldHVybiB0aGlzLm10Lnh0O0YwKz0yO31pZih3NS5kMShGMC50b1N0cmluZygpLEYwLnRvU3RyaW5nKCkubGVuZ3RoLDkwOTM5KSE9PW4wKXtyZXR1cm4gdGhpcy5tdC54dDt9fSxMdDpmdW5jdGlvbigpe3ZhciB0LGUsRzcsQzcsazcsVjAsdTAseTA7dD10aGlzLm10O2U9dC5PdCE9PU5zJiZ0Lk90IT09TmV8fHQuT3Q9PT1OcyYmWGMub3R8fHQuT3Q9PT1OZSYmIVhjLm90O3RyeXtHNz0tMTkzODMwODU3MjtDNz0tMTE3NzY0NDk2NDtrNz0yO2Zvcih2YXIgRjc9MTt3NS5kMShGNy50b1N0cmluZygpLEY3LnRvU3RyaW5nKCkubGVuZ3RoLDg5NDI0KSE9PUc3O0Y3Kyspe3R5cGVvZiB0Lkx0PT09WnM/ZT1lJiZ0Lkx0W0NpXSh0aGlzLGUsdGhpcy5OdCgpKSE9PXl1OnR5cGVvZiB0Lkx0PT09YW4mJihlPWUmJnQuTHQpO2s3Kz0yO31pZih3NS5MMShrNy50b1N0cmluZygpLGs3LnRvU3RyaW5nKCkubGVuZ3RoLDUzNDE4KSE9PUM3KXstdC5MdCE9PVpzP2U9ZXx8dC5MdFtDaV0odGhpcyxlLHRoaXMuTnQoKSk9PT15dTohdC5MdD09YW58fChlPWV8fHQuTHQpO319Y2F0Y2godCl7S2MuZSh0KTt9VjA9Njg3MDAyMDA4O3UwPS0yOTc1OTkyODc7eTA9Mjtmb3IodmFyIHYwPTE7dzUuTDEodjAudG9TdHJpbmcoKSx2MC50b1N0cmluZygpLmxlbmd0aCw2NDU0MSkhPT1WMDt2MCsrKXtyZXR1cm4gR2MuSnQoKT9lfHwtdGhpcy5WdDplfHwrdHUuYyh0LmJ0KTt5MCs9Mjt9aWYodzUuTDEoeTAudG9TdHJpbmcoKSx5MC50b1N0cmluZygpLmxlbmd0aCwyOTMyNSkhPT11MCl7cmV0dXJuIEdjLkp0KCk/ZXx8LXRoaXMuVnQ6ZXx8K3R1LmModC5idCk7fXJldHVybiBHYy5KdCgpP2UmJiF0aGlzLlZ0OmUmJiF0dS5jKHQuYnQpO30sdnQ6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHI7dGhpcy5tdD1aYy55KHRoaXMuenQsdGhpcy5rdCx0aGlzLm10LHR8fHt9KTtmb3IoaSBpbiB0aGlzLm10KWlmKHlpW1h0XVtCYStHcitsdCtHcitvb11bQ2ldKHRoaXMubXQsaSkpc3dpdGNoKG49dGhpcy5tdFtpXSxpKXtjYXNlIHNvOnRoaXMubXQud3Q9bjticmVhaztjYXNlIHo6dGhpcy5tdC54dD1uO2JyZWFrO2Nhc2UgTGU6dGhpcy5tdC5PdD0obitHcilbWHMrR3IrdHMrR3IrbmNdKCk7YnJlYWs7Y2FzZSBOdCtHcittYzp0aGlzLm10LmJ0PW47YnJlYWs7Y2FzZSBOdCtHcitUOnRoaXMubXQuQ3Q9bjticmVhaztjYXNlIE50K0dyK2VhOnRoaXMubXQuRXQ9bjticmVhaztjYXNlIE50K0dyKyRzOnRoaXMubXQuUHQ9bjticmVhaztjYXNlIEVlOnRoaXMubXQuVHQ9bjticmVhaztjYXNlIEErR3IrTG86dGhpcy5tdC5BdD1uO2JyZWFrO2Nhc2UgcHQrR3IramU6dGhpcy5tdC5GdD1uO2JyZWFrO2Nhc2UgamErR3IramU6dGhpcy5tdC5TdD1uO2JyZWFrO2Nhc2UgSWMrR3IrY3I6dGhpcy5tdC5qdD1uO2JyZWFrO2Nhc2UgdGUrR3Irc3M6dGhpcy5tdC5MdD1uO31pZighWGMub3QmJiF0aGlzLm10LkF0KWZvcihyPVtbWGMuZyYmMTE9PT1YYy5wdCx0aGlzLlV0XSxbWGMuYiYmWGMucHQ8NDEsdGhpcy5JdF0sW1hjLmIsdGhpcy5CdF0sW1hjLmQmJlhjLnB0PDQ3LHRoaXMuTXRdLFtYYy51dCx0aGlzLkR0XSxbWGMuY3QsdGhpcy5SdF0sW1hjLmImJlhjLnB0Pj01OSx0aGlzLld0XSxbWGMudXQmJlhjLnB0Pj00Nix0aGlzLld0XV0sZT0wO2U8cltwaV07ZSsrKWlmKHJbZV1bMF0pZm9yKGkgaW4gcltlXVsxXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0ocltlXVsxXSxpKSYmKHRoaXMubXRbaV09cltlXVsxXVtpXSk7fX0sZ2V0T3B0aW9uczpmdW5jdGlvbigpe3JldHVybiB0aGlzLk50KCk7fSxOdDpmdW5jdGlvbigpe3ZhciB0LGU7ZT17fTtmb3IodCBpbiB0aGlzLm10KXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXSh0aGlzLm10LHQpJiZ0W3BpXT49MyYmKGVbdF09dGhpcy5tdFt0XSk7fXJldHVybiBlO30scXQ6ZnVuY3Rpb24oKXtHYy5KdCgpP3RoaXMuVnQ9Z3U6dHUuYSh0aGlzLm10LmJ0LDEsdGhpcy5tdC5DdCx0aGlzLm10LkV0LHRoaXMubXQuUHQpO319OyhudT1mdW5jdGlvbih0KXt2YXIgZTtlPXRoaXM7dGhpcy5RdD10O3RoaXMuR3Q9dGhpcy5ZdCgpO3RoaXMuS3Q9dGhpcy5adCgpO2l1LlgodGhpcy5HdCxncyxmdW5jdGlvbigpe0dzKGUuS3QpO1pjLlAoZS5HdCk7fSk7fSlbWHRdPXtZdDpmdW5jdGlvbigpe3ZhciB0LEs3LHI3LFE3O0s3PS0xODIwMzgxMDU7cjc9MTk5MDM1MjYxMTtRNz0yO2Zvcih2YXIgajc9MTt3NS5kMShqNy50b1N0cmluZygpLGo3LnRvU3RyaW5nKCkubGVuZ3RoLDg2ODQwKSE9PUs3O2o3Kyspe3Q9WmMueihoYyx7Y2xhc3M6ZnV9LEdyKTtyZXR1cm4gdGhpcy5RdFtTYytHcittY11bWHMrR3IrdHMrR3IrbmNdKCk9PT1Rcj9yaVtRcl1bSXQrR3IrV2VdKHQpOnRoaXMuUXRbX3QrR3IraV1bTmMrR3IrT3NdKHQsdGhpcy5RdFtWcytHcitrc10pLHQ7UTcrPTI7fWlmKHc1LkwxKFE3LnRvU3RyaW5nKCksUTcudG9TdHJpbmcoKS5sZW5ndGgsMzM0MykhPT1yNyl7dD1aYy56KGhjLHtjbGFzczpmdX0sR3IpO3JldHVybiB0aGlzLlF0W1NjKkdyL21jXVtYcypHci10cy1Hci1uY10oKT09UXI/cmlbUXJdW0l0L0dyL1dlXSh0KTp0aGlzLlF0W190L0dyJWldWyhOYy1HcikqT3NdKHQsdGhpcy5RdFsoVnMtR3IpJWtzXSksdDt9fSxadDpmdW5jdGlvbigpe3ZhciB0O3Q9dGhpcztyZXR1cm4gQ28oZnVuY3Rpb24oKXt2YXIgZSxpO2k9VWModC5RdFt4ZV1bc24rR3IrenNdLDEwKTt0LlF0W1NjK0dyK21jXVtYcytHcit0cytHcituY10oKT09PVFyJiYoaT05ZTkpOyhlPV9uK1Z0K2dvK2VyK0RhK1Z0K04rZXIrbG4rVnQraytlcitHcisoS2ErVnQrR3IpK3QuUXRbZnIrR3Ird2NdKyhobytlcitHcikrKG9jK1Z0K0dyKSt0LlF0W2ZyK0dyK2ddKyhobytlcitHcikrKEhpK1Z0K0dyKSt0LlF0W2ZyK0dyK1duXSsoaG8rZXIrR3IpKyhwK1Z0K0dyKSt0LlF0W2ZyK0dyK0NjXSsoaG8rZXIrR3IpKyhzbit3aStMK1Z0K0dyKSsocWMoaSk/MjppKzEpKSE9PXQuR3RbYWErR3IrR2ldKHhlKSYmdC5HdFtsaStHcitHaV0oeGUsZSk7fSwxNTApO319O251Llh0PWZ1bmN0aW9uKHQpe3ZhciBlO3c1Llk0KDEyKTtlPXc1LmM0KHJ1LExpLHdpLHdpLEdyLGllLEdyKTt0W2FhK0dyK0dpXShlKXx8dFthYStHcitHaV0obG8pPT09ZnV8fCh0W2xpK0dyK0dpXShlLDEpLG5ldyBudSh0KSk7fTsoUWM9e2R0OmZ1bmN0aW9uKCl7dmFyIHQsZTtlPXRoaXMuZWUoKTtmb3IodD0wO3Q8ZVtwaV07dCsrKWlmKGVbdF1bMV0oKT09PWd1KXtyZXR1cm4gZVt0XVswXTt9cmV0dXJuIHl1O30sZWU6ZnVuY3Rpb24oKXt2YXIgdDt0PVtdO3JldHVybiBYYy5vdHx8WGMuaXQ/W106KHRbTXJdKFt0aGlzLmllLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlhjLnB0Pj02NCYmWGMucHQ8Njc7fV0pLHRbTXJdKFt0aGlzLm5lLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubnQmJlhjLnB0Pj00MyYmWGMucHQ8NjQ7fV0pLHRbTXJdKFt0aGlzLnJlLGZ1bmN0aW9uKCl7dmFyIGI3LHE3LG03O2I3PS02MDMwNTI0OTU7cTc9LTQwNjg3OTgwNDttNz0yO2Zvcih2YXIgSTc9MTt3NS5MMShJNy50b1N0cmluZygpLEk3LnRvU3RyaW5nKCkubGVuZ3RoLDU1NDM5KSE9PWI3O0k3Kyspe3JldHVybiBYYy5ifHxaYy5ZKCl8fFhjLm18fFhjLnB0PD0xN3x8WGMucHQ+PTg5O203Kz0yO31pZih3NS5MMShtNy50b1N0cmluZygpLG03LnRvU3RyaW5nKCkubGVuZ3RoLDYyMDk0KSE9PXE3KXtyZXR1cm4gWGMuYnx8WmMuWSgpfHxYYy5tfHxYYy5wdDw9MTd8fFhjLnB0Pj04OTt9cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubSYmWGMucHQ+PTQ5JiZYYy5wdDw2NDt9XSksdFtNcl0oW3RoaXMub2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZDt9XSksdFtNcl0oW3RoaXMuc2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZyYmWGMucHQ+PTExO31dKSx0W01yXShbdGhpcy5hZSxmdW5jdGlvbigpe3JldHVybiBYYy5odDt9XSksdFtNcl0oW3RoaXMuY2UsZnVuY3Rpb24oKXt2YXIgVDAsRTAsbzA7VDA9MTIwNjMzNjEyMTtFMD0xMjk2MjQyMjUyO28wPTI7Zm9yKHZhciBwMD0xO3c1LmQxKHAwLnRvU3RyaW5nKCkscDAudG9TdHJpbmcoKS5sZW5ndGgsNDUyNzYpIT09VDA7cDArKyl7cmV0dXJuIFhjLnV0fHxYYy5udHx8WGMucHQ+PTc0O28wKz0yO31pZih3NS5MMShvMC50b1N0cmluZygpLG8wLnRvU3RyaW5nKCkubGVuZ3RoLDY1MzgpIT09RTApe3JldHVybiBYYy51dCYmWGMubnQmJlhjLnB0PD00ODt9fV0pLHQpO319KS50ZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMudGVbWHRdPXtfZTprdSx1ZTpmdW5jdGlvbih0KXt2YXIgcjUsUTUsZTU7cjU9LTk1ODI4OTMwMTtRNT0tNjIxNDQ4NDIyO2U1PTI7Zm9yKHZhciBaNT0xO3c1LmQxKFo1LnRvU3RyaW5nKCksWjUudG9TdHJpbmcoKS5sZW5ndGgsOTUyNjgpIT09cjU7WjUrKyl7dGhpcy5mZT10O2U1Kz0yO31pZih3NS5MMShlNS50b1N0cmluZygpLGU1LnRvU3RyaW5nKCkubGVuZ3RoLDE0MzU1KSE9PVE1KXt0aGlzLmZlPXQ7fX0sbGU6a3UscGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhO2k9dGhpcztuPWkuZmU7cj1uLkh0KCk7bz1uLm10O3M9by53dHx8WmMuJCg1KTthPVpjLmsobyk7aWYodD1mdW5jdGlvbigpe3RyeXtpZih0eXBlb2Ygby5GdD09PVpzJiZvLkZ0W0NpXShuLHIsbyk9PT15dSl7cmV0dXJuIHl1O319Y2F0Y2godCl7S2MuZSh0KTt9cmV0dXJuIG11O30sZT1mdW5jdGlvbih0KXtpZih0eXBlb2Ygby5TdD09PVpzKXRyeXtvLlN0W0NpXShuLHIsbyx0KTt9Y2F0Y2godCl7S2MuZSh0KTt9fSx0KCk9PT15dSl7cmV0dXJuIHl1O310eXBlb2Ygb1t6XT09PVRjJiZvW3pdIT09ciYmKHI9b1t6XSk7R2MuanQoby5qdCk7dGhpcy5fZSgpO3RyeXtyZXR1cm4gdGhpcy5sZShyLG8scyxhLGZ1bmN0aW9uKHQpe2kuZGUodCk7aS5oZSYmR2MuaGUoKTtlKHQpO30pO31jYXRjaCh0KXtyZXR1cm4gS2MuZSh0KSx5dTt9fSx2ZTpmdW5jdGlvbih0LGUsaSl7cmV0dXJuKEdjLm10LmJlP1pjLkM6QXUpKHQsZSxpKTt9LGRlOmt1LGhlOmd1fTtRYy5tZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMubWVbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTp5dSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3IodGhpcy52ZSh0LGksbikpO319KTtRYy5nZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuZ2VbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTohWGMub3QmJiFYYy5kLGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7cih0aGlzLnZlKHQsRmkpKTt9fSk7UWMueWU9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnllW1h0XT1aYy55KFFjLnRlW1h0XSx7a2U6ZnVuY3Rpb24oKXt2YXIgdCxlLGk7dD1HYy53ZSgpO2U9R2MueGUuUztpPXR5cGVvZiBHYy5tdC5PZT09PVpzP0djLm10Lk9lW0NpXSgpOkdjLm10Lk9lO3JldHVybiBmdW5jdGlvbigpe3ZhciBuLHI7cmV0dXJuIGkhPT1GdT9pOihuPVpjLiQoMSkscj1lP2k6R2MuQ2UodCl8fGksZXUucygpfHwhWGMub3QmJiFYYy5nP3I6KHR1LmEoY3UsbixtdSkscltaXSh2cixHcikrKEdyK3NlK0dyKStuKSk7fSgpO30sbGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgeDksejksaDksbyxzLGEsYyx1LGgsZixwO3g5PTE3MTA2NjI4Nzg7ejk9LTEwMzk3MjE3MTM7aDk9Mjtmb3IodmFyIEw5PTE7dzUuZDEoTDkudG9TdHJpbmcoKSxMOS50b1N0cmluZygpLmxlbmd0aCwzMDE4NykhPT14OTtMOSsrKXtoOSs9Mjt9aWYodzUuZDEoaDkudG9TdHJpbmcoKSxoOS50b1N0cmluZygpLmxlbmd0aCw0NTQ4MCkhPT16OSl7fWE9dGhpcy5rZSgpO2M9R2Mud2UoKTt1PVpjLk4oYyk7aD0xNTtmPVtdO3A9ZnVuY3Rpb24odCl7dmFyIGU7dHlwZW9mIHRbQW5dPT09WnMmJihlPXRbQW5dLGl1LlgodCxncyxlKSk7dFtBbl09ZnVuY3Rpb24oKXtyZXR1cm4geXU7fTt9O2ZvcihHYy5FZSgpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKSE9PUZpJiZaYy5mKGMsdW4pJiYocChjKSwwIT09Y1thYStHcitHaV0odW4pW0wrR3IrV2FdKEN0KSYmKGE9Y1thYStHcitHaV0odW4pKT09PUdyJiYoYT1GdSkpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKT09PUZpJiZaYy5mKGMsdW4pJiYocChjKSxpbyhmdW5jdGlvbigpe2NbQW5dPW11O30sM2UzKSxHYy5tdC5QZT9hPWNbYWErR3IrR2ldKHVuKTooYT1GdSxYYy5vdCYmKFhjLnV0P2ZbTXJdKGZ1bmN0aW9uKCl7QXUoY1thYStHcitHaV0odW4pLEZpKTt9KTppbyhmdW5jdGlvbigpe0F1KGNbYWErR3IrR2ldKHVuKSxGaSk7fSwyMCkpKSksWGMuZXQmJlhjLnV0fHxYYy5ldCYmWGMuc3QmJiFYYy5kJiYhWGMuYiYmIVhjLmh0PyhBdShhLEZpKSxaYy5IKEJyLGZ1bmN0aW9uKCl7WmMuVCh0KTt9LGgpKTohWGMub3QmJlpjLmgoYyxUaSkhPT1GaSYmKFhjLnV0JiZYYy5zdHx8WGMuaHQmJlhjLnB0PDEwfHxYYy5iJiZYYy5wdDw0MSk/WGMudXQ/KFpjLlEoYSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KFpjLlEodCksY1tTYytHcittY109PT1PbiYmdSYmWmMuVCh1KSk6WGMuZXQmJlhjLmQ/KG89QXUoYSxGaSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KG89eVtRYV0oVWErVnQrY2ksRmkpKT8ob1tFaV1bdW5dPWEsWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6bz1BdSh0LEZpKSxzPTA7czxmW3BpXTtzKyspe2Zbc11bQ2ldKCk7fW8mJnIobyk7fX0pO1FjLm9lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5vZVtYdF09WmMueShRYy50ZVtYdF0se2hlOnl1LGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG87bz10aGlzLnZlKHQsaSxuKTtvW2tuXSgpO1R1W2JvXSgpO1pjLk0obyk7aW8oZnVuY3Rpb24oKXtyKG8pO30sMWUzKTt9fSk7UWMuY2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLmNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZSh0LGksbik7cz1HYy5UZSgxZTMpO2l1LksoeSxibyxmdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9KTtvW2NjXT1mdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9O3Iobyk7fX0pO1FjLmFlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5hZVtYdF09WmMueShRYy50ZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIEQ5LFc5LGw5LG87RDk9MTk0OTIwNzgwOTtXOT04OTkwMjg0O2w5PTI7Zm9yKHZhciBWOT0xO3c1LkwxKFY5LnRvU3RyaW5nKCksVjkudG9TdHJpbmcoKS5sZW5ndGgsNTc4NTApIT09RDk7VjkrKyl7bDkrPTI7fWlmKHc1LkwxKGw5LnRvU3RyaW5nKCksbDkudG9TdHJpbmcoKS5sZW5ndGgsNTEwNjgpIT09Vzkpe315W3NvXT1aYy4kKDUpO289dGhpcy52ZSh0LGksbik7dGhpcy52ZShHcix5W3NvXSxHcik7eVtzb109bXU7cihvKTt9LGhlOnl1fSk7UWMuc2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZShQdT90OkZ1LGksbik7cz1mdW5jdGlvbigpe29bRWldW3VuXT10O307aXUuSyhvLGtuLHMpO29ba25dKCk7VHVbYm9dKCk7aW8ocywxMDApO3Iobyk7fSxoZTp5dX0pO1FjLm5lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5uZVtYdF09WmMueShRYy50ZVtYdF0se0ZlOmZ1bmN0aW9uKCl7dmFyIHQsZTtlPVpjLnooYXIse2RhdGE6WmMuTChlbitQZStNYyx0aGlzLkFlKStaYy4kKDMpfSk7cmV0dXJuKHQ9WmMueihoYyx7c3R5bGU6UGkrVnQrYStlcitvYytWdCtIcytlcitLYStWdCtIcytlcitEYStWdCtOK2VyK3ArVnQrRnIrSGErR3IrZXIrSGkrVnQrem4rZXIrayt3aStHYStWdCtYaStlciskbytWdCthK2VyK0dyfSkpW0l0K0dyK1dlXShlKSxbZSx0XTt9LFNlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMueSh0LHt9KTtyZXR1cm4gZVtwXT1lW0hpXT05ZTUsZVtvY109ZVtLYV09MSxlO30sQWU6THQrR3IrdGErR3IrRmMrR3IrUHMrR3Irb24rR3IrV2MrR3IreG8rR3IrJCtHcithaStHcituK0dyK1NhK0dyK0tyK0dyK1F0K0dyK2t0K0dyK3p0K0dyK3RjK0dyK1l0K0dyK3ZhK0dyK3MrR3IrdmErdWMraG4rR3IrTGErR3IrenQrR3IrVytHcitEYytHcitaYStHcittdCtHcitWaStHcitzYStHcitVZStHcitUYStHcit2YStHcitWaStHcitQcitHcit4bytHcitVZStHcitpYytHcitwbytHcitLcitHcitKK0dyK2hzK0dyK1ppK0dyK3ZhK0dyK1ByK0dyK0xhK0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrWGErR3IrVHMrR3IrWmkrR3IrdmErR3IrUHIrR3IrSGUrR3IrenQrR3IrVytHcitGYytHcit0YytHcityYytHcithZStHcit2aStHcit2YStHcitQcitHcitydCtHcitwcytHcittdCtHcituYStHcitUbytHcityZStHcit4bytHcit0YStHcitqaStHcitXK0dyK2F0K0dyK3ZhK0dyK1ByK0dyK2MrR3IrYit1YytFK0dyK1FvK0dyK3BzK0dyK2RjK0dyK1l0K0dyK3ZhK0dyK1lhK0dyK1hhK0dyK1RzK0dyK1ppK0dyK3ZhK0dyK0dlK0dyK09lK0dyK2dhK0dyK0hvK0dyK3ZhK0dyK1ByK0dyK2t0K0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrdmErR3Ircm4rdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitrdCtHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK09lK0dyK1krR3IrS3QrR3IreG8rR3IrVWUrR3IrYnMrR3IrRnQrR3IrUG8rR3IrRStHcitVZStHcitiaStHcitVZStHcitTZStHcitWcitHcitEcytHcit4bytHcitVZStHcitHbytHcit2YStHcitQdCtHcitVZStHcitScitHcit5YytHcitPZStHcitWbytHcitLcitHcit2YytHcitiZStHcitzK0dyK3hjK0dyK0tvK0dyK3IrR3IrYWkrR3IrZnQrdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitBZStHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK05hK0dyK1RzK0dyK010K0dyK2hyK0dyK1lzK0dyK0tzK0dyK0UrR3IrVWUrR3IrZm4rR3IrcmMrR3IrYWUrR3IrRCtHcitMdCtHcitWcitHcit0YStHcittdCtHcitacitHcitWcitHcitPZSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3ZhciBzLGEsYyx1LGg7dT10aGlzO2g9eXU7dHJ5eyhhPXRoaXMudmUoVWErVnQrY2ksRmkpKVttcl1bcnJdKHc1LnU0KHVyLEdyLEdyLGpvLFBlLHVpLEdyLFFyLEdyLFBlLG8sR3IsdWksdWksR3IsdXIsUGUsR3IsdXIsam8sR3IsdXIsbyx1aSxHcix1cixHcix1aSxRcix1cix1aSx3NS5ZNCgxMykpKTtpdS5LKGEscWEsZnVuY3Rpb24oKXtmdW5jdGlvbiBmKCl7bigpO2FbSW9dKCk7bygpO3JvKGMpO31ofHwoaD1ndSxzPWFbQmNdPUF1KFVhK1Z0K2NpLGksWmMuayh1LlNlKGUpKSksaXUuWChhLGJvLGYpLGM9aW8oZiwzZTMpLGFbbXJdW1FyXVtQYStHcithaStHcit4YytHcit6dCtHcitwYV09dS5GZSgpWzFdW1BuK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXSk7ZnVuY3Rpb24gbigpe3c1Llk0KDE0KTthW21yXVtRcl1bdzUudTQoUGEsenQsR3IsR3IsR3IseGMsR3IsYWkscGEpXT1Hcjt9ZnVuY3Rpb24gbygpe3ZhciBhMSxZMSxmMTthMT0tMTU2OTI3MTMyMDtZMT0yMzc1ODcyNDtmMT0yO2Zvcih2YXIgRDE9MTt3NS5MMShEMS50b1N0cmluZygpLEQxLnRvU3RyaW5nKCkubGVuZ3RoLDk0NDMyKSE9PWExO0QxKyspe3NbRWMlR3ItYmFdKGVbSGldLGVbcF0pO3NbZGElR3IqYmFdKGVbb2NdLGVbS2FdKTtzW0VpXVtaXSh0KTtyKHMpO2YxKz0yO31pZih3NS5kMShmMS50b1N0cmluZygpLGYxLnRvU3RyaW5nKCkubGVuZ3RoLDYyNDUzKSE9PVkxKXtzW0VjJUdyLWJhXShlW0hpXSxlW3BdKTtzW2RhJUdyKmJhXShlW29jXSxlW0thXSk7c1tFaV1bWl0odCk7cihzKTt9c1tFYytHcitiYV0oZVtIaV0sZVtwXSk7c1tkYStHcitiYV0oZVtvY10sZVtLYV0pO3NbRWldW1pdKHQpO3Iocyk7fX0pO31jYXRjaCh0KXt9fX0pO1FjLnJlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5yZVtYdF09WmMueShRYy5uZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG8scztzPVpjLk8oZ3UpO2l1LksoeSxibyxmdW5jdGlvbigpe1pjLlAocyk7b1tFaV1bWl0odCk7cihvKTt9KTt3NS5vNCg0KTtvPXRoaXMudmUodzUuYzQoVWEsVnQsY2kpLEZpKTtzW3RvK0dyK3lhXVttcl1bcnJdKHRoaXMuRmUoKVsxXVtQbitHcithaStHcit4YytHcit6dCtHcitwYV0pO319KTtRYy5pZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuaWVbWHRdPVpjLnkoUWMudGVbWHRdLHtMZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47aT10aGlzO249eXU7dzUubzQoNCk7ZT10aGlzLnZlKHc1LmM0KFVhLFZ0LGNpKSx0Lnd0fHxGaSx0LkJlfHxHcik7dC56ZSYmKGUmJmVbSW9dKCksbj1ndSk7IW4mJmUmJmlvKGZ1bmN0aW9uKCl7ZVtFaV1bdW5dPXQueHQ7dC5JZSYmaS5JZShlKTt9LDEwMCk7fSx1ZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47bj10aGlzO3RoaXMuamU9ZHJbTW5dKCk7dGhpcy5mZT10O2U9R2Mud2UoKTt3NS5vNCgxNSk7aT1aYy5CKGUsdzUuYzQoZ3QsR3IseGMsR3IsR3IsRmMseGMsR3IsZmMsR3IsVnIpKTsoZVtTYytHcittY109PT1PbiYmZVthYStHcitHaV0oanIpIT09RmkmJiFaYy5TKGUpfHxpJiYhWmMuUyhpKSkmJih0aGlzLmhlPWd1KTtpdS5YKHksSWUsZnVuY3Rpb24gdChlKXt0cnl7ZVtpZV0uamU9PT1uLmplJiZuLkxlKGVbaWVdKTtlW2llXS56ZSYmaXUuWih5LEllLHQpO31jYXRjaCh0KXt9fSk7fSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3RoaXMuSWU9cjt0aGlzLk1lKHtqZTp0aGlzLmplLEJlOm4sSWU6Z3UseHQ6dH0pO3RoaXMuTWUoe2plOnRoaXMuamUsemU6Z3UseHQ6VWErVnQrY2l9KTt9LGhlOnl1LE1lOmZ1bmN0aW9uKHQpe3lbSnQrR3IrWF0odCx5W0VpXVtSb10pO319KTtHYz17X2k6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5RaSgpK3RoaXMuSGkoKT5aYy5HKCk7fSxLaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm10LkplO30sSmU6ZnVuY3Rpb24oKXt2YXIgdDt0PVpjLngoYXJndW1lbnRzWzBdKT9hcmd1bWVudHNbMF06YXJndW1lbnRzO3JldHVybiB0aGlzLm5uKHQsUm4sdFtwaV0mJnRbMF09PT15dSk7fSxraTpmdW5jdGlvbih0LGUsaSxuKXt0aGlzLk9pKGksdCxndSl8fG4oZ3UseXUpO30sV2k6ZnVuY3Rpb24odCl7dHJ5e3JldHVybiB0W3F0XSYmMCE9PXRbcXRdfHx0aGlzLmNpLkcrMTUwPlpjLkcoKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LFJpOmZ1bmN0aW9uKCl7dGhpcy5XZT1bXTt9LFlpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQucWU7fSxVaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLldlO30sWmU6bXUsVGk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHx0aGlzLnFpKHQpKXtyZXR1cm4geXU7fWlmKCF0aGlzLm10LnFlW3BpXXx8dFthYStHcitHaV0obG8pPT09ZnUpe3JldHVybiBndTt9Zm9yKDtlPHRoaXMubXQucWVbcGldO2UrKylpZih0PT09dGhpcy5tdC5xZVtlXXx8dHlwZW9mIHRoaXMubXQucWVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5xZVtlXVtYcytHcitwcitHcituY10oKXx8WmMuSSh0LHRoaXMubXQucWVbZV0pKXx8WmMuQih0LHRoaXMubXQucWVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LHdlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueGUuUXQ7fSxMaTpmdW5jdGlvbigpe3ZhciB0LGU7ZT10aGlzO3RoaXMuWmU9WmMueihoYyx7c3R5bGU6b2MrVnQrRnIrSGErR3IrZXIrS2ErVnQrRnIrSGErR3IrZXIrRGErVnQrSXMrZXIrcCtWdCt6bitlcitIaStWdCt6bitlcitzbit3aStMK1Z0K25vK2VyK3h0K1Z0K1hpK2VyK0dyfSxHcik7dD1DbyhmdW5jdGlvbigpe3ZhciBpO2k9cmlbUXJdO2kmJihHcyh0KSxpW0l0K0dyK1dlXShlLlplKSk7fSwxMDApO30saGk6ZnVuY3Rpb24oKXt2YXIgTjksYTksWTksdCxlLGk7Tjk9LTUxNTA4MTc1NzthOT0tMTMwNjg1MTEzNztZOT0yO2Zvcih2YXIgczk9MTt3NS5kMShzOS50b1N0cmluZygpLHM5LnRvU3RyaW5nKCkubGVuZ3RoLDEwMDExKSE9PU45O3M5Kyspe1k5Kz0yO31pZih3NS5MMShZOS50b1N0cmluZygpLFk5LnRvU3RyaW5nKCkubGVuZ3RoLDQ1MzQ0KSE9PWE5KXt9aT10aGlzLlhlLm9pO2Zvcih0PTA7dDx0aGlzLmZpW3BpXSYmKCF0aGlzLnBpKCkmJiF0aGlzLl9pKCkpO3QrKyl7aWYoZT10aGlzLmZpW3RdLHRoaXMuWGUuc2krKyx0aGlzLlhlLm9pPVpjLkcoKSx0aGlzLmxpKGUpPT09eXUpe3JldHVybiB0aGlzLlhlLnNpLS0sdm9pZCh0aGlzLlhlLm9pPWkpO31pPXRoaXMuWGUub2k7ZXUuYShodSx0aGlzLlhlLm9pKTtlLnl0PT09bHUmJmV1LmEodXUsdGhpcy5YZS5zaSk7fX0sT2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBuLHIsbyxzO3c1Lm80KDQpO289dzUuYzQoR3IsVHQsR3IpO3c1Llk0KDIpO3M9dzUuYzQobyx0KTtmb3Iobj0wO248ZVtwaV07bisrKWlmKHI9KEdyK090K0dyK1R0K0dyKVtMK0dyK1dhXShlW25dWzBdKT4tMT9lW25dOm8rZVtuXSxzW2ZzXShzW3BpXS1yW3BpXSk9PT1yfHxpJiZyPT09d3Upe3JldHVybiBndTt9cmV0dXJuIHl1O30sZW46ZnVuY3Rpb24odCxlKXt2YXIgTDAsZDAsTzAsaSxuO0wwPTEyMjU5MjUxNjQ7ZDA9LTc2NDA0NzIyNjtPMD0yO2Zvcih2YXIgQzA9MTt3NS5MMShDMC50b1N0cmluZygpLEMwLnRvU3RyaW5nKCkubGVuZ3RoLDk4MzQ3KSE9PUwwO0MwKyspe08wKz0yO31pZih3NS5MMShPMC50b1N0cmluZygpLE8wLnRvU3RyaW5nKCkubGVuZ3RoLDg1NTk4KSE9PWQwKXt9aT10aGlzO249dGhpcy50bih0LGUpO3RoaXMuV2VbTXJdKG4pO3RoaXMuRGkobik7dGhpcy5pbnx8KEdjLkNpKCksZnVuY3Rpb24oKXt2YXIgdCxlO1hjLmImJigoZT1yaVtVcytHcitDbl0oaGMpKVtSYytHcitpdF0oVmEsZnVuY3Rpb24oKXtDdT1ndTt9KSxDdT1vNSx0PUNvKGZ1bmN0aW9uKCl7aWYoQ3U9eXUsIWkubXQuUmUpe2lmKHR5cGVvZiB5W3dzXSE9PWFyfHx0eXBlb2YgeVt3c11bT29dIT09WnMpe3JldHVybiBDdT1vNSx2b2lkIEdzKHQpO315W3dzXVtPb10oZSk7eVt3c11bTWldKCk7fX0sNTAwKSk7fSgpLHRoaXMuaW49bzUpO30sUGk6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuSmkoKSx0P3RoaXMuZmlbcGldOnRoaXMuZmlbcGldPjA7fSx2aTpmdW5jdGlvbigpe3ZhciB0LGU7dD1aYy5HKCk7ZT1aYy5HKGF1KTt3NS5ZNCgxNik7dGhpcy5YZS5yaT13NS5jNChlLHQsMzE1MzYwMDAwMDApO3RoaXMuWGUucmkmJih0aGlzLmxpPWt1KTt9LEJpOmZ1bmN0aW9uKCl7dmFyIHQ7dD1VYyhldS5jKGh1KSwxMCk7cWModCkmJih0PTApO3RoaXMuWGUub2k9dDt9LENlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMuTih0KTtyZXR1cm4gZSYmIXRoaXMubXQuTmUmJlpjLlModCk/eXU6ZTt9LGp0OmZ1bmN0aW9uKHQpe3ZhciBlLGksbjtlPXR5cGVvZiB0PT09Z2U/Z3U6ISF0O3c1Lm80KDIpO2k9dzUuYzQocnUsSSk7bj1yaVthYStHcitDbitHcitpaStHcit0bl0oaSk7ZT9ufHwobj1aYy56KERvLHtjb250ZW50OkljK3dpK2lhLG5hbWU6aWEsaWQ6aX0pLHJpW2FhK0dyK1JlK0dyK2lpK0dyK1JpK0dyK21jXShvKVswXVtJdCtHcitXZV0obikpOm4mJlpjLlAobik7fSxHaTpmdW5jdGlvbigpe3RoaXMuWGUuaWk9Z3U7dGhpcy5oaT1rdTt9LEp0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQuRGU7fSx5aTpmdW5jdGlvbih0LGUsaSxuLHIpe2Zvcih2YXIgbyxzPTA7czxlJiYobz10W3NdLCEoMT09PW4mJihyKGlbcytlXSx0W3NdKmlbc10rcysoaVtzXT4+cyszKSl8fHIoaVtzKzIqZV0sdFtzXSoodFswXSt0WzFdK3RbMl0pKyhpW3NdPDxzKSl8fHIoaVtzKzMqZV0sZHJbQWNdKHRbMF0qdFsxXSp0WzJdL28pK28rKGlbc10+PnMpKSl8fG48MSYmKHIoaVtzK2VdLHRbc10qaVtzXStzKXx8cihpW3MrMiplXSx0W3NdKih0WzBdK3RbMV0rdFsyXSkpfHxyKGlbcyszKmVdLGRyW0FjXSh0WzBdKnRbMV0qdFsyXS9vKStvKSkpKTtzKyspO30scWk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHwhdGhpcy5tdC5KZVtwaV0pe3JldHVybiB5dTt9Zm9yKDtlPHRoaXMubXQuSmVbcGldO2UrKylpZih0PT09dGhpcy5tdC5KZVtlXXx8dHlwZW9mIHRoaXMubXQuSmVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5KZVtlXXx8WmMuSSh0LHRoaXMubXQuSmVbZV0pKXx8WmMuQih0LHRoaXMubXQuSmVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LGNpOnt1aTp7fSxHOjB9LEhpOmZ1bmN0aW9uKCl7cmV0dXJuIFhjLm90P2RyW0JvXSh0aGlzLm10LlZlLDFlMyk6WGMuYnx8WGMuZ3x8WGMuY3R8fFhjLnV0JiYhWGMuZXQ/ZHJbQm9dKHRoaXMubXQuVmUsMjAwKTp0aGlzLm10LlZlO30sRWU6ZnVuY3Rpb24odCl7dmFyIGUsWjcsdDcsVTc7Wjc9LTEyNTc1NDEyNDI7dDc9MTMwMDY1ODcyMDtVNz0yO2Zvcih2YXIgejc9MTt3NS5MMSh6Ny50b1N0cmluZygpLHo3LnRvU3RyaW5nKCkubGVuZ3RoLDgzNTc3KSE9PVo3O3o3Kyspe2U9dHx8dGhpcy5jaS51aTtVNys9Mjt9aWYodzUuZDEoVTcudG9TdHJpbmcoKSxVNy50b1N0cmluZygpLmxlbmd0aCwzMDU1KSE9PXQ3KXtlPXQmJnRoaXMuY2kudWk7fXRyeXtlW01vK0dyK25pXSYmZVtNbytHcituaV0oKTtlW3FlK0dyK19zXSYmZVtxZStHcitfc10oKTt3NS5vNCg0KTtlW3c1LmM0KE5yLEdyLGNvKV09eXU7dzUubzQoNCk7ZVt3NS51NChtcyxHcixIcildPWd1O31jYXRjaCh0KXt9fSxpOmZ1bmN0aW9uKCl7dmFyIE8xLEcxLEMxO08xPS0xMzAyMzI0NTE3O0cxPTg4ODY0MDYzMDtDMT0yO2Zvcih2YXIgbjE9MTt3NS5kMShuMS50b1N0cmluZygpLG4xLnRvU3RyaW5nKCkubGVuZ3RoLDU5MTU1KSE9PU8xO24xKyspe3JldHVybiB0aGlzLm10LlVlfHx0aGlzLm10LkRlO0MxKz0yO31pZih3NS5MMShDMS50b1N0cmluZygpLEMxLnRvU3RyaW5nKCkubGVuZ3RoLDIzODAyKSE9PUcxKXtyZXR1cm4gdGhpcy5tdC5VZSYmdGhpcy5tdC5EZTt9fSxwaTpmdW5jdGlvbigpe3ZhciBoNyxpNyxMNztoNz0tMTUxMTEyMzE1NDtpNz0tMTY3MjAwNTI5NjtMNz0yO2Zvcih2YXIgTzc9MTt3NS5kMShPNy50b1N0cmluZygpLE83LnRvU3RyaW5nKCkubGVuZ3RoLDMyNTMzKSE9PWg3O083Kyspe3JldHVybiB0aGlzLiRpKCk8dGhpcy5tdC5IZTtMNys9Mjt9aWYodzUuTDEoTDcudG9TdHJpbmcoKSxMNy50b1N0cmluZygpLmxlbmd0aCwxOTk5KSE9PWk3KXtyZXR1cm4gdGhpcy4kaSgpPj10aGlzLm10LkhlO319LGdpOmZ1bmN0aW9uKHQsZSxpLG4scil7Zm9yKHZhciBvLHM9MDtzPGUmJihvPXRbc10sISgxPT09biYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzErKGlbc108PGlbc10lMTApLGlbZStzXSl8fHIob1trZStHcitucytHcitCaV0ob1twaV0tMSkqaVtzXSoyK3MrKGlbc10+PnMpLGlbMiplK3NdKXx8cihvW3BpXSppW3NdKjMrKGlbc108PHMpLGlbMyplK3NdKSl8fG48MSYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzEsaVtlK3NdKXx8cihvW2tlK0dyK25zK0dyK0JpXShvW3BpXS0xKSppW3NdKjIrcyxpWzIqZStzXSl8fHIob1twaV0qaVtzXSozLGlbMyplK3NdKSkpKTtzKyspO30sV2U6W10sdG46ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IFljKHRoaXMuV2VbcGldLHQsZSk7fSxBaTpmdW5jdGlvbih0KXt0aGlzLmNpLnVpPXQ7dGhpcy5jaS5HPVpjLkcoKTt9LGFpOltdLE1pOmZ1bmN0aW9uKHQpe3JldHVybiBudS5YdCh0KSx0aGlzO30sWmk6ZnVuY3Rpb24oKXtyZXR1cm4gWmMucChbW1RyLHRoaXMubXQuRGVdLFtvaSx0aGlzLm10LlVlXSxbd3QsdGhpcy5tdC5SZV0sW0xyK0dyK3plLHRoaXMubXQuT2VdLFtSbitHcitFbix0aGlzLm10Lk5lXSxbRHQsdGhpcy5tdC5IZV0sW2xjK0dyK2JhLHRoaXMubXQucWVdLFtSbitHcitiYSx0aGlzLm10LkplXSxbUW4sdGhpcy5tdC5WZV0sW3crR3IrVix0aGlzLm10LiRlXSxbdytHcitEbix0aGlzLm10LlFlXSxbcG4rR3IrdHIrR3IrTG4sdGhpcy5tdC5HZV0sW0JzK0dyK2wrR3IrU3MsdGhpcy5tdC4kdF0sW05zK0dyKyRyLHRoaXMubXQuWWVdLFtJYytHcitwYytHcitfaSx0aGlzLm10LmJlXSxbTHMrR3IrYnQsdGhpcy5tdC5LZV0sW0IrR3IrdmUrR3IrX28rR3IreW4rR3IrTG4sdGhpcy5tdC5QZV1dKTt9LFRlOmZ1bmN0aW9uKHQpe3ZhciBlLGk7aT1aYy5PKGd1KTtyZXR1cm4gZT1pW3RvK0dyK3lhXVttcl1bVXMrR3IrQ25dKGRlKSwwPT09eVtFaV1bdW5dW0wrR3IrV2FdKGorVnQrR3IpP2VbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPUdyKyhXcitZZStHcit3bitHcikrKGYrVHQrUytUdCthYStHcitaZStHcitRaStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKTplW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoV3IrWWUrR3Ird24rR3IpKyhZcitUdCtjYStHcitfZStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSxpW3RvK0dyK3lhXVttcl1bUXJdW0l0K0dyK1dlXShlKSx0eXBlb2YgdCE9PVd0JiZ0eXBlb2YgdCE9PWdlfHxpbyhmdW5jdGlvbigpe1pjLlAoaSk7fSx0fHw1MDApLGk7fSxOaTpmdW5jdGlvbigpe3ZhciBvMSx3MSxwMTtvMT0tMjExMjgyOTI0MDt3MT00MjIxODMwODI7cDE9Mjtmb3IodmFyIHEwPTE7dzUuZDEocTAudG9TdHJpbmcoKSxxMC50b1N0cmluZygpLmxlbmd0aCwzNTgxNCkhPT1vMTtxMCsrKXtmb3IodmFyIHQsZT02O2U8PXRoaXMuV2VbcGldO2UtLSl7dD10aGlzLldlW2VdO3R1LnUodC5tdC5idCk7fXRoaXMuWGUub2k9dGhpcy5YZS5zaT00O2V1LnUodXUpO2V1LnUoY3UpO2V1LnUoaHUpO3AxKz0yO31pZih3NS5MMShwMS50b1N0cmluZygpLHAxLnRvU3RyaW5nKCkubGVuZ3RoLDUxMjkxKSE9PXcxKXtmb3IodmFyIHQsZT0yO2U8dGhpcy5XZVtwaV07ZSsrKXt0PXRoaXMuV2VbZV07dHUudSh0Lm10LmJ0KTt9dGhpcy5YZS5vaT10aGlzLlhlLnNpPTM7ZXUudSh1dSk7ZXUudShjdSk7ZXUudShodSk7fWZvcih2YXIgdCxlPTA7ZTx0aGlzLldlW3BpXTtlKyspe3Q9dGhpcy5XZVtlXTt0dS51KHQubXQuYnQpO310aGlzLlhlLm9pPXRoaXMuWGUuc2k9MDtldS51KHV1KTtldS51KGN1KTtldS51KGh1KTt9LHppOmZ1bmN0aW9uKCl7dmFyIHQ7dD0wO3JldHVybiBldS5zKCk/KHQ9ZXUuYyh1dSksZXUudSh1dSkpOnR1LmModXUpJiYocmlbaWFdPT09UnRbdW5dfHx+UnRbdW5dW0wrR3IrV2FdKEdyK3NlK0dyK3R1LmMoY3UpKSkmJih0PXR1LmModXUpLGlvKGZ1bmN0aW9uKCl7dHUudSh1dSk7dHUudShjdSk7fSwzMDApKSx0PVVjKHQsMTApLHQ9cWModCk/MDp0LHRoaXMuWGUuc2k9dDt9LG10OntOZTpndSxLZTp5dSxKZTpbXSxWZTowLCR0OmJ1LCRlOltdLERlOnl1LE9lOkZ1LEhlOjk5OTksUmU6eXUscWU6W10sWWU6MTAsVWU6eXUsUWU6Z3UsUGU6eXUsYmU6eXUsR2U6Z3V9LCRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuWGUuc2k7fSxRaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLlhlLm9pO30sYmk6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhLGMsdSxuOSxGOSxnOTtzPXRoaXM7YT0wO2M9dGhpcy5YZTt1PWZ1bmN0aW9uKHQsZSl7dmFyIFA5LEo5LFg5O1A5PTMyNTI1NjI2O0o5PS05NTA1MjQwNDM7WDk9Mjtmb3IodmFyIFM5PTE7dzUuTDEoUzkudG9TdHJpbmcoKSxTOS50b1N0cmluZygpLmxlbmd0aCw0ODQ5MykhPT1QOTtTOSsrKXtyZXR1cm4gdD09PWV8fChjLm5pPWd1LHMubGk9a3UpLHQhPWU7WDkrPTI7fWlmKHc1LkwxKFg5LnRvU3RyaW5nKCksWDkudG9TdHJpbmcoKS5sZW5ndGgsNTM4MDApIT09Sjkpe3JldHVybiB0IT09ZSYmKGMubmk9Z3Uscy5saT1rdSksdCE9PWU7fX07aWYodHlwZW9mIHlbcnVdW2FyXSE9PWdlKXtjLm5pPW11O3Q9eVtydV1bYXJdW1huXSgpO2U9eVtydV1bYXJdW1huXSgpO2k9eVtydV1bYXJdW1huXSgpO249eVtydV1bYXJdW1huXSgpO3I9WmMuRigoeVtydV1bYXJdW1huXSgpfHx7c3JjOm51bGx9KVtYcl0pO289WmMuRih4dVtYcl0pO3RyeXtuOT0xNDUwNjEyMjI1O0Y5PS01NjY0Nzc2Nzc7Zzk9Mjtmb3IodmFyIFI5PTE7dzUuZDEoUjkudG9TdHJpbmcoKSxSOS50b1N0cmluZygpLmxlbmd0aCwyODY5NSkhPT1uOTtSOSsrKXthPXlbcnVdW2FyXVtYbl0oKSYmNztnOSs9Mjt9aWYodzUuZDEoZzkudG9TdHJpbmcoKSxnOS50b1N0cmluZygpLmxlbmd0aCwzODQzOCkhPT1GOSl7YT15W3J1XVthcl1bWG5dKCkmJjc7fWE9eVtydV1bYXJdW1huXSgpfHwwO31jYXRjaCh0KXt9YT1kcltCb10oMCxkcltrYV0oMSxhKSk7dGhpcy5taSh0LG8scix1KTt0aGlzLmdpKHQsdFtwaV0sZSxhLHUpO3RoaXMueWkoaSxpW3BpXSxuLGEsdSk7dGhpcy5raSh0LHRbcGldLFpjLkYoKSx1LHUpO3RoaXMud2koaSxaYy5HKCkpO2Mubmk9PT1tdSYmKGMubmk9eXUpO31jLnhpPWF8fDA7fSxFaTpmdW5jdGlvbih0LGUpe3ZhciBkOSxPOSxHOTtkOT04MzA2MTMyMTE7Tzk9MTQwNDM5MjY4MztHOT0yO2Zvcih2YXIgazk9MTt3NS5kMShrOS50b1N0cmluZygpLGs5LnRvU3RyaW5nKCkubGVuZ3RoLDE2MDEwKSE9PWQ5O2s5Kyspe3RoaXMueGUuUXQ9dDt0aGlzLnhlLlM9ZTtHOSs9Mjt9aWYodzUuZDEoRzkudG9TdHJpbmcoKSxHOS50b1N0cmluZygpLmxlbmd0aCw3Njg2OSkhPT1POSl7dGhpcy54ZS5RdD10O3RoaXMueGUuUz1lO319LFhpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbix1OSx5OSxIOTtuPXR8fHt9O2ZvcihlIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixlKSlzd2l0Y2godGhpcy5tdFtlXT1pPW5bZV0sZSl7Y2FzZSBUcjp0aGlzLm10LkRlPWk7YnJlYWs7Y2FzZSBvaTp0aGlzLm10LlVlPWk7YnJlYWs7Y2FzZSB3dDp0aGlzLm10LlJlPWk7YnJlYWs7Y2FzZSBMcitHcit6ZTp0aGlzLm10Lk9lPWk7YnJlYWs7Y2FzZSBSbitHcitFbjp0aGlzLm10Lk5lPWk7YnJlYWs7Y2FzZSBEdDp0aGlzLm10LkhlPWk7YnJlYWs7Y2FzZSBsYytHcitiYTp0aGlzLnFlW29hXSh0aGlzLGkpO2JyZWFrO2Nhc2UgUm4rR3IrYmE6dGhpcy5KZVtvYV0odGhpcyxpKTticmVhaztjYXNlIFFuOnRoaXMubXQuVmU9aTticmVhaztjYXNlIHcrR3IrVjp0aGlzLm10LiRlPWk7YnJlYWs7Y2FzZSB3K0dyK0RuOnRoaXMubXQuUWU9aTticmVhaztjYXNlIHBuK0dyK3RyK0dyK0xuOnRoaXMubXQuR2U9aTticmVhaztjYXNlIEJzK0dyK2wrR3IrU3M6dGhpcy5tdC4kdD1pO2JyZWFrO2Nhc2UgTnMrR3IrJHI6dGhpcy5tdC5ZZT1pO2JyZWFrO2Nhc2UgSWMrR3IrcGMrR3IrX2k6dGhpcy5tdC5iZT1pO2JyZWFrO2Nhc2UgTHMrR3IrYnQ6dGhpcy5tdC5LZT1pO2JyZWFrO2Nhc2UgQitHcit2ZStHcitfbytHcit5bitHcitMbjp0aGlzLm10LlBlPWk7fXU5PTE1MDY0OTg2ODA7eTk9NjExNzc3ODY1O0g5PTI7Zm9yKHZhciBUOT0xO3c1LkwxKFQ5LnRvU3RyaW5nKCksVDkudG9TdHJpbmcoKS5sZW5ndGgsNjMyMykhPT11OTtUOSsrKXtyZXR1cm4gdGhpcztIOSs9Mjt9aWYodzUuZDEoSDkudG9TdHJpbmcoKSxIOS50b1N0cmluZygpLmxlbmd0aCw2MzczOSkhPT15OSl7cmV0dXJuIHRoaXM7fX0saGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksZzcsTTcsUjc7Zzc9LTM5MDQ0MjA2O003PS0xNjI0Njc4MzI1O1I3PTI7Zm9yKHZhciBKNz0xO3c1LkwxKEo3LnRvU3RyaW5nKCksSjcudG9TdHJpbmcoKS5sZW5ndGgsNTI1MzkpIT09Zzc7SjcrKyl7ZT10aGlzLndlKCk7aT10aGlzLmNpLnVpO1I3Kz0yO31pZih3NS5MMShSNy50b1N0cmluZygpLFI3LnRvU3RyaW5nKCkubGVuZ3RoLDg0NzUzKSE9PU03KXtlPXRoaXMud2UoKTtpPXRoaXMuY2kudWk7fXRyeXsodD1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0oZ3MsZ3UsZ3UseSwxLGlbT2krR3IrVWVdLGlbT2krR3IreG9dLGlbSGMrR3IrVWVdLGlbSGMrR3IreG9dLHl1LHl1LHl1LHl1LDAsbXUpO3RbVW9dPWd1O2VbZ24rR3IrQ2FdKHQpO31jYXRjaCh0KXtLYy5lKHQpO319LFZpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuUGkobzUpO30sU2k6ZnVuY3Rpb24oKXt2YXIgdCxpLG4scixvLHM7cj10aGlzO289NTAwO3M9ZnVuY3Rpb24odCxlKXt2YXIgaSxuO249WGMuYj9lYzpnczsoaT1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0obixndSxndSx5LDEsZVtPaStHcitVZV0sZVtPaStHcit4b10sZVtIYytHcitVZV0sZVtIYytHcit4b10seXUseXUseXUseXUsMCxtdSk7aS5mYz1ndTt0W2duK0dyK0NhXShpKTt9O2l1LlgocmksJHQsZnVuY3Rpb24ocil7dmFyIG8sRjEsZzEsTTE7dzUubzQoNCk7bz1yW3c1LnU0KHNyLEdyLGUpXVswXTtGMT05NTkwNTM3NzY7ZzE9LTE3NzY2NDMwNTc7TTE9Mjtmb3IodmFyIFAxPTE7dzUuZDEoUDEudG9TdHJpbmcoKSxQMS50b1N0cmluZygpLmxlbmd0aCw4NTkzNCkhPT1GMTtQMSsrKXt3NS5vNCgxOCk7dD1yW3c1LnU0KG9zLEpzLEdyKV07dzUuWTQoMTkpO2k9b1t3NS51NChHcixmbyxVZSldO3c1Lm80KDIwKTtuPW9bdzUuYzQoeG8sZm8sR3IpXTtNMSs9Mjt9aWYodzUuTDEoTTEudG9TdHJpbmcoKSxNMS50b1N0cmluZygpLmxlbmd0aCwxMTM5OCkhPT1nMSl7dzUubzQoMjEpO3Q9clt3NS5jNChvcyxKcyxHcildO3c1Llk0KDIyKTtpPW9bdzUuYzQoR3IsVWUsZm8pXTt3NS5vNCg2KTtuPW9bdzUuYzQoR3IseG8sZm8pXTt9dzUubzQoNCk7dD1yW3c1LnU0KG9zLEdyLEpzKV07dzUuWTQoNCk7aT1vW3c1LmM0KGZvLEdyLFVlKV07dzUubzQoNCk7bj1vW3c1LnU0KGZvLEdyLHhvKV07fSxndSk7aXUuWChyaSx2LGZ1bmN0aW9uKGEpe3ZhciBjLHUsaCxTMCxOMCxhMDtTMD0xMTI5ODE1NDEyO04wPS00NTk2NDE3MTE7YTA9Mjtmb3IodmFyIGYwPTE7dzUuZDEoZjAudG9TdHJpbmcoKSxmMC50b1N0cmluZygpLmxlbmd0aCw5MDQxMCkhPT1TMDtmMCsrKXt3NS5vNCg0KTtjPWFbdzUuYzQoc3IsR3IsZSldWzBdO3U9aXUudHQoYSk7aD1yLm10LlllO2EwKz0yO31pZih3NS5MMShhMC50b1N0cmluZygpLGEwLnRvU3RyaW5nKCkubGVuZ3RoLDUxODk1KSE9PU4wKXt3NS5ZNCg2KTtjPWFbdzUudTQoR3IsZSxzcildWzRdO3U9aXUudHQoYSk7aD1yLm10LlllO31kcltGc10oY1tmbytHcitVZV0taSk+PWh8fGRyW0ZzXShjW2ZvK0dyK3hvXS1uKT49aHx8YVtvcytHcitKc10tdD5vfHxyLm10LlllPD0wfHxYYy5odCYmRGlbaXJdKHVbU2MrR3IrbWNdKXx8ci5YZS5paXx8ci5YZS5uaXx8ci5YZS5yaXx8ci5waSgpfHxyLl9pKCl8fCFyLlBpKCl8fCFyLlRpKHUpfHwhci5tdC5OZSYmWmMuUyh1KXx8KHVbU2MrR3IrbWNdPT09T24mJnIuRWUoYSkscyh1LGMpKTt9LGd1KTt9LG1pOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByLG87bz15dTtmb3Iocj0wO3I8dFtwaV07cisrKWlmKHRbcl09PT13dSl7bz1ndTticmVhazt9byYmKGV8fGkpJiYoIXRoaXMuT2koZSx0KXx8IXRoaXMuT2koaSx0KXx8eVtydV1bdW5dJiZ5W3J1XVt1bl1bcGldJiYhdGhpcy5PaShaYy5GKCkseVtydV1bdW5dKSkmJm4oZ3UseXUpO30seGU6e1F0Om11LFM6eXV9LHFlOmZ1bmN0aW9uKCl7dmFyIHQ7dD1aYy54KGFyZ3VtZW50c1swXSk/YXJndW1lbnRzWzBdOmFyZ3VtZW50cztyZXR1cm4gdGhpcy5ubih0LGxjLHRbcGldJiZ0WzBdPT09eXUpO30sd2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBXMSxsMSxjMTtXMT0xMTQ2NjMzOTY5O2wxPTU4MTgzMzU3NjtjMT0yO2Zvcih2YXIgdTE9MTt3NS5kMSh1MS50b1N0cmluZygpLHUxLnRvU3RyaW5nKCkubGVuZ3RoLDY5ODkxKSE9PVcxO3UxKyspe1pjLkcodFtOaV0oR3IrUGUrR3IpKTxlJiZpKGd1LHl1KTtjMSs9Mjt9aWYodzUuZDEoYzEudG9TdHJpbmcoKSxjMS50b1N0cmluZygpLmxlbmd0aCw0ODMyNikhPT1sMSl7WmMuRyh0W05pXShHciVQZSVHcikpPj1lfHxpKGd1LHl1KTt9fSxDaTpmdW5jdGlvbigpe3ZhciByLG8scyxhLGMsdSxoLGYscCxfO2Z1bmN0aW9uIHQoKXt2YXIgdCxlO3c1Lm80KDE3KTtlPVt3NS51NChIbixUdCxHcixFbixHcixDYSxKYSksdzUuYzQoeG4sVHQsR3IsRW4sR3IsQ2EsSmEsdzUubzQoMTcpKSx3NS5jNChKYSxUdCxRYSx3NS5ZNCg0KSksdzUuYzQoQ24sR3IsVXMsbXIsVHQsdzUubzQoMSkpLHc1LnU0KFdlLEdyLHhuLG1yLFR0LHc1Llk0KDEpKV07Zm9yKHQ9MDt0PGVbcGldO3QrKylpZihaYy5sKGVbdF0pKXtyZXR1cm4gS2MuZSh0LFpjLmwoZVt0XSkpLGd1O31yZXR1cm4geXU7fWZ1bmN0aW9uIGkoaSl7dT0yO198fChfPWd1LGlvKGZ1bmN0aW9uKCl7Xz15dTt9LFhjLm90PzUwMDoxNTApLEN1JiYhcC5VZXx8KHI9aXUudHQoaSksbz1aYy5CKHIsT24pLGM9WmMuUyhyKSxyW2FhK0dyK0dpXShsbyk9PT1mdT8oclt4ZV1beHRdPVhpLFpjLlAocikscj1pdS50dChpLGd1KSk6byYmKHM9KHI9bylbYWErR3IrR2ldKFRpKSxhPVpjLk4ociksYz1aYy5TKHIpKSxmLkVpKHIsYyksZi5YZS5paXx8Zi5YZS5uaXx8Zi5YZS5yaXx8aVtVb118fGUoZi5jaS51aVtPXSYmZi5jaS51aVtPXSE9PWlbT10pfHxlKHAuS2UmJiFFdSl8fGUoIWlbSGMrR3IrVWVdJiYhaVtIYytHcit4b10pfHxlKCFYYy5vdCYmIVhjLmcmJnR5cGVvZiBpW3F0XSE9PWdlJiYwIT09aVtxdF0pfHxlKCFYYy5vdCYmIWYuWmUmJihYYy5jdHx8WGMuYnx8WGMudXQpKXx8ZSghWGMub3QmJiFwLkdlJiYoWGMuYnx8WGMudXQpJiZzPT09RmkpfHxlKGYucGkoKSl8fGUoZi5faSgpKXx8ZSghZi5QaSgpKXx8ZSghZi5UaShyKSl8fGUoYyYmIXAuTmUpfHxlKCFwLlJlJiZ0KCkpfHwoZi5BaShpKSxYYy5ldCYmbyYmYSYmZi5FZShpKSxYYy5vdHx8IW98fGN8fChYYy5iJiZzIT09RmkmJlpjLlkoKXx8cC5HZSYmcz09PUZpJiYoWGMuYnx8WGMudXQpKSYmZi5FZShpKSxmLkZpPW11LGYuaGkoKSkpKTt9Zj10aGlzO3A9Zi5tdDtfPXl1O2Z1bmN0aW9uIGUodCl7cmV0dXJuKyt1LHQmJktjLmUodSksdDt9cC5SZXx8IXQoKT8oaD1YYy5kfHxYYy5nP3FhOmVjLGZ1bmN0aW9uKCl7aXUuWChyaSxncyxpLGd1KTtYYy5vdD8oaXUuWChyaSxlYyxuLGd1KSxpdS5YKHJpLHFhLG4sZ3UpKTppdS5YKHJpLGgsbixndSk7fSgpLHRoaXMuU2koKSx0aGlzLmppKCksdGhpcy5MaSgpLHRoaXMuemkoKSx0aGlzLkJpKCkpOktjLmUoeXUpO2Z1bmN0aW9uIG4odCl7cj1vPWM9cz1hPW11OyFYYy5vdCYmdFtIYytHcitVZV0rKFhjLm50PzE3OjE1KT55W1BhK0dyK2ddP3AuUWUmJigocj17fSkuc2Nyb2xsYmFyPWd1LGYuRWkocix5dSksZi5waSgpfHxmLl9pKCl8fCFmLlBpKCl8fGYuaGkoKSk6aSh0KTt9fSxsaTpmdW5jdGlvbih0KXtpZih0aGlzLlhlLmlpfHx0aGlzLlhlLm5pfHx0aGlzLlhlLnJpKXtyZXR1cm4geXU7fXN3aXRjaCh0Lnl0KXtjYXNlIF91Om5ldyBRYy5tZSh0KS5wZSgpO2JyZWFrO2Nhc2UgZHU6bmV3IFFjLmdlKHQpLnBlKCk7YnJlYWs7Y2FzZSBsdTpuZXcgUWMueWUodCkucGUoKTticmVhaztjYXNlIHB1OnRyeXtuZXcoUWMuZHQoKSkodCkucGUoKTt9Y2F0Y2godCl7S2MuZSh0KTt9fXJldHVybiB0LnF0KCksZ3U7fSxqaTpmdW5jdGlvbigpe3ZhciB0LGUsaSxuLHIsbztuPXRoaXM7cj17fTtvPWZ1bmN0aW9uKHQpe2ZvcihlPTA7ZTx0W3BpXTtlKyspe24uTWkodFtlXSk7fX07Q28oZnVuY3Rpb24oKXt2YXIgZTtmb3IodD0wO3Q8bi5tdC4kZVtwaV07dCsrKXtpZihlPW4ubXQuJGVbdF0sKGk9cmlbYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGUpKVtwaV0mJm4ucGkoKXx8IW4uUGkoKSl7cmV0dXJuO310eXBlb2YgcltlXSE9PWdlJiZyW2VdPT09aVtwaV18fG8oaSk7fX0sMWUzKTt9LElpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbixyLG8scyxlOSxqOSxaOTtvPTI7cz15dTtmb3IoZT0wO2U8PW87ZSsrKXtpZigobj1yaVt3citHcitqbitHcitMY10odFtIYytHcitVZV0rZSx0W0hjK0dyK3hvXSkpJiZuW1NjK0dyK21jXT09PXBhK0dyK09uK0dyK0ZjK0dyK1BzK0dyK3BhKXtzPWd1O2JyZWFrO31mb3IoaT0wO2k8PW87aSsrKWlmKChuPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXStlLHRbSGMrR3IreG9dK2kpKSYmbltTYytHcittY109PT1wYStHcitPbitHcitGYytHcitQcytHcitwYSl7cz1ndTticmVhazt9aWYocylicmVhazt9aWYocylmb3Iocz15dSxyPW5bYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGVpKSxlPTA7ZTxyW3BpXTtlKyspaWYoWmMuVShyW2VdKSl7cz1ndTticmVhazt9ZTk9MTI0NjQ2Mzc5O2o5PTE4ODY4MTA5NztaOT0yO2Zvcih2YXIgVTk9MTt3NS5MMShVOS50b1N0cmluZygpLFU5LnRvU3RyaW5nKCkubGVuZ3RoLDU5MDM1KSE9PWU5O1U5Kyspe3JldHVybiBzP246eXU7WjkrPTI7fWlmKHc1LmQxKFo5LnRvU3RyaW5nKCksWjkudG9TdHJpbmcoKS5sZW5ndGgsNDQ5MzkpIT09ajkpe3JldHVybiBzP246eXU7fX0sRGk6ZnVuY3Rpb24oKXtpZighdGhpcy5YZS5laSl7dGhpcy5YZS5laT1ndTt0cnl7dGhpcy52aSgpO3RoaXMuYmkoKTt9Y2F0Y2godCl7fUtjLmUoW3RoaXMuWGUubmk/MDoxLHRoaXMuWGUucmk/MDoxLHRoaXMuWGUueGldW05pXShHcikpO319LFhlOnt0aTp5dSxuaTpndSxlaTp5dSxvaTowLHJpOmd1LHNpOjAsaWk6eXV9LG5uOmZ1bmN0aW9uKHQsZSxpKXtmb3IodmFyIG4scj0wLG89ZT09PVJuP3RoaXMubXQuSmU6dGhpcy5tdC5xZTtpJiZvW3BpXTspe29bQnNdKCk7fWZvcig7cjx0W3BpXTtyKyspe3R5cGVvZihuPXRbcl0pPT09VGM/b1tNcl0obik6dHlwZW9mIG49PT1hciYmdHlwZW9mIG5bd2ErR3IrbWNdPT09VGMmJm9bTXJdKG4pO31yZXR1cm4gdGhpczt9LEppOmZ1bmN0aW9uKCl7dmFyIHkxLEgxLHYxLHQsZTt5MT0xNzAzNzYyNDUyO0gxPTEyMTk1OTkwMzk7djE9Mjtmb3IodmFyIEUxPTE7dzUuZDEoRTEudG9TdHJpbmcoKSxFMS50b1N0cmluZygpLmxlbmd0aCwzODk3NykhPT15MTtFMSsrKXtlPTY7Zm9yKHRoaXMuZmk9W107ZT49dGhpcy5XZVtwaV07ZS0tKXsodD10aGlzLldlW2VdKS5MdCgpfHx0aGlzLmZpW01yXSh0KTt9djErPTI7fWlmKHc1LmQxKHYxLnRvU3RyaW5nKCksdjEudG9TdHJpbmcoKS5sZW5ndGgsMjE2MzkpIT09SDEpe2U9MTtmb3IodGhpcy5maT1bXTtlPnRoaXMuV2VbcGldO2UrKyl7KHQ9dGhpcy5XZVtlXSkuTHQoKSYmdGhpcy5maVtNcl0odCk7fX1lPTA7Zm9yKHRoaXMuZmk9W107ZTx0aGlzLldlW3BpXTtlKyspeyh0PXRoaXMuV2VbZV0pLkx0KCkmJnRoaXMuZmlbTXJdKHQpO31yZXR1cm4gdGhpcy5maTt9LGRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2kudWk7fX07aXUuWCh5LFN0LGZ1bmN0aW9uKCl7dmFyIFg3LEI3LFM3O1g3PTIwMTA5MDA5MDY7Qjc9LTE2OTQwNjQ1NTI7Uzc9Mjtmb3IodmFyIGE3PTE7dzUuTDEoYTcudG9TdHJpbmcoKSxhNy50b1N0cmluZygpLmxlbmd0aCwxNDk3OSkhPT1YNzthNysrKXtFdT0hMTtTNys9Mjt9aWYodzUuZDEoUzcudG9TdHJpbmcoKSxTNy50b1N0cmluZygpLmxlbmd0aCw2MjI0OCkhPT1CNyl7RXU9IXt9O31FdT1vNTt9KTtpbyhmdW5jdGlvbigpe3c1Lm80KDE1KTtLYy5lKHc1LnU0KFNpLFllLEdyLFR0LFllLE0sR3IsWWUsUWUsT3QsQW8pKTt3NS5vNCg0KTtLYy5lKHc1LmM0KHhhLFZ0LEdyKSxvdSk7dzUuWTQoNCk7S2MuZSh3NS5jNChxaSxWdCxHciksc3UpO3c1Lm80KDQpO0tjLmUodzUudTQoRXMsVnQsR3IpLGF1KTt9LDEwKTt5W3J1XT15W3J1XXx8ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG87cj17fTtvPVpjLnAoW1trbytHcitSYStHcitudCxbR2MsR2MuaV1dLFtKbixzdV0sW0d0LG91XSxbWW8rR3IraXMsYXVdLFt6YSxbR2MsR2MuWGkscl1dLFthYStHcitJaSxbR2MsR2MuWmldXSxbYWErR3IrUStHcitiYSxbR2MsR2MuWWldXSxbYWErR3IrX28rR3IrYmEsW0djLEdjLktpXV0sW3crR3IrQ24sW0djLEdjLk1pXV0sW0huLFtHYyxHYy5lbixyXV0sW0duLFtHYyxHYy5oaSxyXV0sW2VzLFtHYyxHYy5HaSxyXV0sW2xjK0dyK2JhLFtHYyxHYy5xZSxyXV0sW1JuK0dyK2JhLFtHYyxHYy5KZSxyXV0sW2FhK0dyK2h0K0dyK0NuLFtHYyxHYy53ZV1dLFthYStHcitubitHcitabyxbR2MsR2MuJGldXSxbYWErR3IreWUrR3IrWm8sW0djLEdjLlZpXV0sW0JhK0dyK3llLFtHYyxHYy5QaV1dLFtrbytHcitkdCtHcitKZSxbR2MsR2MucGldXSxbYWErR3IrVXQrR3IramUrR3IrQmksW0djLEdjLlFpXV0sW2FhK0dyK1V0K0dyK0NhLFtHYyxHYy5kaV1dLFt6aSxbR2MsR2MuTmldXSxbYWErR3IrXyxbR2MsR2MuVWldXSxbRm8rR3IrXyxbR2MsR2MuUmldXSxbaGErVHQrT28sW0tjLEtjLmVdXSxbaGErVHQrRyxbS2MsS2Mucl1dLFtPYStUdCtsaSxbdHUsdHUuYV1dLFtPYStUdCthYSxbdHUsdHUuY11dLFtPYStUdCt4bixbdHUsdHUudV1dLFt0aStUdCtrbytHcitkaSxbZXUsZXUuc11dLFt0aStUdCtsaSxbZXUsZXUuYV1dLFt0aStUdCthYSxbZXUsZXUuY11dLFt0aStUdCt4bixbZXUsZXUudV1dLFtjZStUdCtKbixYYy5wdF0sW2NlK1R0K0lyK0dyK3FpLFhjLmZ0XSxbY2UrVHQra28rR3IrQ3MsWGMuaXRdLFtjZStUdCtrbytHcitYbyxYYy5udF0sW2NlK1R0K2tvK0dyK01hLFhjLm1dLFtjZStUdCtrbytHcit2YStHcitmYytHcit0YyxYYy5ldF0sW2NlK1R0K2tvK0dyK0JuLFhjLnJ0XSxbY2UrVHQra28rR3Irdm4sWGMub3RdLFtjZStUdCtrbytHcitoZSxYYy5zdF0sW2NlK1R0K2tvK0dyK3l0LFhjLmF0XSxbY2UrVHQra28rR3IrZ2MsWGMuYl0sW2NlK1R0K2tvK0dyK0luLFhjLmRdLFtjZStUdCtrbytHcitGYSxYYy5odF0sW2NlK1R0K2tvK0dyK3ZhK0dyK1BzLFhjLmddLFtjZStUdCtrbytHcitjcyxYYy5jdF0sW2NlK1R0K2tvK0dyK0VvLFhjLnV0XSxbY2UrVHQrSm4rR3IrdXQsW1hjLFhjLkpdXSxbY2UrVHQrYW8rR3IrZGksW1hjLFhjLmx0XV0sW0NhK1R0K2xjK0dyK3FzLFtpdSxpdS5LXV0sW0NhK1R0K2xjLFtpdSxpdS5YXV0sW0NhK1R0K2xhLFtpdSxpdS5aXV0sW0NhK1R0K2FhK0dyK3luLFtpdSxpdS50dF1dLFtLZStUdCtrbytHcit2ZStHciskZSxbWmMsWmMud11dLFtLZStUdCtKbitHcit1dCxbWmMsWmMuSl1dLFtLZStUdCtvcyxbWmMsWmMuR11dLFtLZStUdCt3byxbWmMsWmMueV1dLFtLZStUdCtKaSxbWmMsWmMuJF1dLFtLZStUdCtVcytHcitDbixbWmMsWmMuel1dLFtLZStUdCt4bitHcitDbixbWmMsWmMuUF1dLFtLZStUdCthYStHcitVaSxbWmMsWmMuQl1dLFtLZStUdCtEZStHcitZaSxbWmMsWmMuSF1dXSk7Zm9yKGUgaW4gbylpZih5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShvLGUpKXtmb3Iobj1lW0NyXShHcitUdCtHciksdD1yLGk9MDtpPG5bcGldLTE7aSsrKXt0eXBlb2YgdFtuW2ldXT09PWdlJiYodFtuW2ldXT17fSk7dD10W25baV1dO310W25bbltwaV0tMV1dPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIFpjLngodFtlXSk/MT09PXRbZV1bcGldP3RbZV1bMF06ZnVuY3Rpb24oKXtyZXR1cm4gMj09PXRbZV1bcGldP3RbZV1bMV1bb2FdKHRbZV1bMF0sYXJndW1lbnRzKToodFtlXVsxXVtvYV0odFtlXVswXSxhcmd1bWVudHMpLHRbZV1bMl0pO306dFtlXTt9KG8sZSk7fXJldHVybiByO30oKTt9KHQucG9wbnN8fHpjK0dyK1VjK0dyK09jLHQsdFtFaV0sdFtPaV0sdFttcl0sdFtyb10sdFtibl0sdFtObl0sdFtDb10sdFtyaStHcitpb10sdFtsaStHcitZaV0sdFtNaStHcitZaV0sdFtsaStHcitBaV0sdFtNaStHcitBaV0sdFtMdCtHcit0YytHcitmYytHcitndF0sdFt5K0dyK1J0XSx0W2tvK0dyK3lpK0dyK2d0XSx0W2lzXSx0W1hlK0dyK1ZyK0dyK0dzK0dyK3ZhK0dyK1VyXSx0W2RyXSk7fSh3aW5kb3cpO2Y1eXkuSD1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC55PT09J2Z1bmN0aW9uJz9mNXl5LkwueS5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwueTt9O2Y1eXkuVz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Y1eXkuZz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC5PPT09J2Z1bmN0aW9uJz9mNXl5LkwuTy5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwuTzt9O2Y1eXkuZj1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Z1bmN0aW9uIGY1eXkoKXt9ZjV5eS5CPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5MLnk9PT0nZnVuY3Rpb24nP2Y1eXkuTC55LmFwcGx5KGY1eXkuTCxhcmd1bWVudHMpOmY1eXkuTC55O307ZjV5eS5SPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5JPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5MPWZ1bmN0aW9uKEQpe3JldHVybnt5OmZ1bmN0aW9uKCl7dmFyIEcsZD1hcmd1bWVudHM7c3dpdGNoKEQpe2Nhc2UgMjpHPWRbMF0qZFsxXTticmVhaztjYXNlIDA6Rz1kWzBdfGRbMV07YnJlYWs7Y2FzZSAxOkc9ZFsxXS1kWzBdO2JyZWFrO31yZXR1cm4gRzt9LE86ZnVuY3Rpb24oVil7RD1WO319O30oKTtmNXl5Lno9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiBmNXl5LkwuTz09PSdmdW5jdGlvbic/ZjV5eS5MLk8uYXBwbHkoZjV5eS5MLGFyZ3VtZW50cyk6ZjV5eS5MLk87fTtmNXl5LkM9ZnVuY3Rpb24oKXt2YXIgUT0yO3doaWxlKFEhPT0xKXtzd2l0Y2goUSl7Y2FzZSAyOnJldHVybnt2OmZ1bmN0aW9uKFUpe3ZhciBiPTI7d2hpbGUoYiE9PTE0KXtzd2l0Y2goYil7Y2FzZSAyOnZhciBLPScnLGw9ZGVjb2RlVVJJKCJ0JTExa2JsYyU3RCUwNmhiZGxtbDYhJTNDJTNDKyU1QmNkLTo1JTVENyg4Jy8lNUJ3LzI4bWolM0M4KTA3YiolMUMyJTI1bSUwN3ElN0RvYmslMTh3JTdDc2RtaDcpKSUyMipaMmQlMTgtNUErKS5vbXMlMTUlMjUlM0UwKyU1QiUzQyUxMXUlMjA2TXk/KScsSy1kJTNFOSxLMi00OyUyMCUwNjojMCU3RDUlNUM6IzMya0s2IXU5Kks4JTIwNTo2JTVDcSUxRiUzRScsWC1sMCUyMDYlNUN5Ljh1KUc4KDgxZUolM0MqMiclMjAlMDg1JTI1JTNFMCslNUIlM0NsOyUzQylNcWIxOiZJNSIpO2I9MTticmVhaztjYXNlIDk6Sys9U3RyaW5nLmZyb21DaGFyQ29kZShsLmNoYXJDb2RlQXQoWSleVS5jaGFyQ29kZUF0KGspKTtiPTg7YnJlYWs7Y2FzZSAxOnZhciBZPTAsaz0wO2I9NTticmVhaztjYXNlIDU6Yj1ZPGwubGVuZ3RoPzQ6NzticmVhaztjYXNlIDM6az0wO2I9OTticmVhaztjYXNlIDg6WSsrLGsrKztiPTU7YnJlYWs7Y2FzZSA0OmI9az09PVUubGVuZ3RoPzM6OTticmVhaztjYXNlIDc6Sz1LLnNwbGl0KCcoJyk7cmV0dXJuIGZ1bmN0aW9uKFApe3ZhciBoPTI7d2hpbGUoaCE9PTEpe3N3aXRjaChoKXtjYXNlIDI6cmV0dXJuIEtbUF07YnJlYWs7fX19O2JyZWFrO319fSgnRShZTF1VJyl9O2JyZWFrO319fSgpOyFmdW5jdGlvbihlLG8sYyl7InVzZSBzdHJpY3QiO3ZhciBUPWY1eXk7dmFyIGksbix0O1QuZygwKTtpPVQuUihULkgoIjgiLDApKTtULnooMCk7bj1bVC5JKFQuSCgnXHgzMVx4MzAnLDApKSxULkkoKyI2IiksVC5SKCsnXHgzMVx4MzQnKSxULlIoKyIxMiIpLFQuUihULkgoIjUiLDAsVC5nKDApKSksVC5JKFQuQigwLCdceDMwJyxULnooMSkpKSxULlIoVC5CKCdceDMxXHgzMScsMCxULnooMCkpKSxULkkoKyIyIildO1QuZygyKTt0PVsrJ1x4MzJceDMwXHgzMVx4MzknLFQuQignXHUwMDM1JywxKSxULkgoJ1x4MzFceDM2JywwLFQuZygwKSldO3RyeXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yy5Mb2dnZXIubG9nKGksVC5SKCsnXHgzMScpLG4pO2MuTG9nZ2VyLmxvZyhpLFQuUigiNyItMCksdC5qb2luKFQuSSgnXHgzNCctMCkpKTt9LCsiNTAwIik7VC56KDEpO2Mub2JqZWN0PVtuLFsrIjM2MCIsNDk0LDM5MSwrIjMxMiIsVC5CKDAsIjMxMiIpLFQuSCgiMzY1IiwwLFQuZygwKSksKydceDM0XHgzMFx4MzQnLFQuSCgiMzAwIiwwLFQuZygwKSksKydceDMzXHgzNlx4MzBceDMwXHgzMScsVC5IKDAsJ1x4MzNceDM5XHgzNVx4MzJceDMyJyxULmcoMSkpLFQuQigiMTg3NzEiLDAsVC56KDApKSwrIjM0OTQ4IiwxNjU0MSwyOTU3MSwrJ1x4MzVceDMxXHgzN1x4MzFceDM5JywzMzkwOCxULkgoIjc4ODQwIiwwLFQuZygwKSksMTA1OTY0LCsnXHgzOFx4MzRceDM1XHgzNVx4MzUnLFQuSCgiNzI0MjYiLDAsVC5nKDApKSxULkgoJ1x4MzNceDMwXHgzNVx4MzlceDM5JywwLFQuZygwKSksVC5CKCdcdTAwMzRcdTAwMzFcdTAwMzZcdTAwMzJcdTAwMzYnLDAsVC5nKDApKSxULkIoMCwnXHUwMDM4XHUwMDM4XHUwMDMwXHUwMDM4XHUwMDM0JyxULnooMSkpLFQuSCgiNjU0MDkiLDEsVC5nKDIpKSwxNDQwMCxULkgoIjEyODQ0IiwxLFQueigyKSksKydceDM4XHgzNlx4MzBceDMyJyxULkgoJ1x4MzFceDMwXHgzOVx4MzJceDMwJywxLFQuZygyKSksMTM0MTYsVC5IKCdceDMyXHgzNFx4MzhceDMyXHgzMCcsMCxULmcoMCkpLFQuQignXHgzM1x4MzdceDM5XHgzN1x4MzYnLDAsVC56KDApKSwrJ1x4MzVceDMxXHg2NVx4MzMnXSx0LFtULkgoJ1x4MzNceDM2XHgzMicsMCxULmcoMCkpLDQ5NiwrJ1x4MzNceDM5XHgzOScsVC5IKDAsIjczMDkyMyIsVC5nKDEpKSwrJ1x1MDAzMlx1MDAzNVx1MDAzMVx1MDAzMicsVC5IKCI2Mzk4IiwwLFQueigwKSksVC5IKCdcdTAwMzRcdTAwMzFcdTAwMzFcdTAwMzlcdTAwMzFcdTAwMzJcdTAwMzInLDEsVC5nKDIpKSwrJ1x4MzFceDMxXHgzMVx4MzlceDMyJyxULkgoJ1x4MzNceDM0XHgzMlx4MzNceDM2JywwLFQueigwKSksMjQ2MSwzMjU1NywxMDIxMF0sby5jdXJyZW50U2NyaXB0LFQuSCgiMSIsMSxULmcoMikpXTt9Y2F0Y2gobyl7dm9pZCgnXHgzMCcqMSkhPT1lLmNvbnNvbGUmJmUuY29uc29sZS5sb2cmJkZ1bmN0aW9uLmFwcGx5LmNhbGwoZS5jb25zb2xlLmxvZyxlLmNvbnNvbGUsW1QuSSgnXHgzMVx4MzMnfDApXSk7fX0od2luZG93LGRvY3VtZW50LHdpbmRvd1t3aW5kb3cucG9wbnN8fGY1eXkuUigiMyItMCldKTt2YXIgXzB4MTM4Zj1bJ1x4NThceDQ4XHg2M1x4NzInLCdceDQ5XHg1NFx4NDVceDZmXHg2NFx4NDNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NmNceDUwXHg1NFx4NDVceDZmXHg1YVx4NTNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NzVceDUwXHg1OFx4NTFceDc1XHg2Mlx4NzlceDY3XHg2OVx4NjJceDUzXHg0OVx4NzBceDRmXHg3YVx4NTlceDY3XHg2Mlx4NjlceDM0XHg3OVx4NGNceDZkXHg3N1x4MzlceDQ5XHg2ZFx4NzNceDY5XHg0Y1x4NDdceDM0XHg3NVx4NGRceDY5XHgzNVx4NzdceDUwXHg1NFx4NDFceDczXHg2Mlx4NjlceDM0XHg3OVx4NGNceDZlXHg0NVx4MzlceDRkXHg0M1x4NzhceDc1XHg0Y1x4NmFceDQ5XHg3NVx4NjRceDdhXHgzMFx4NjlceDYxXHg2OVx4NDlceDczXHg2Mlx4NjlceDM1XHgzMVx4NTBceDUzXHg0OVx4MzNceDRmXHg2OVx4MzhceDc2XHg2M1x4NjlceDM1XHgzNFx4NGNceDZhXHg1NVx4NzZceDYxXHg0M1x4MzlceDY4XHg0Y1x4NzlceDQ5XHg3Mlx4NWFceDUzXHg3OFx4MzBceDRjXHg2ZFx4NDlceDc1XHg2MVx4NTNceDY4XHg3NVx4NGJceDUzXHg3OFx4NzVceDY2XHg1M1x4NzhceDc1XHg1MFx4NTdceDRkXHg2Zlx4NWFceDc5XHg2N1x4NmZceDY0XHg0M1x4MzVceDZiXHg0Y1x4NmVceDU5XHg2Zlx4NTFceDY5XHg0Mlx4NGZceDRiXHg0M1x4NDlceDZmXHg0ZVx4N2FceDM5XHgzOFx4NTNceDY5XHgzMVx4MzVceDRiXHg1NFx4NzBceDYzXHg1OFx4NDNceDM5XHg2M1x4NThceDQzXHgzOFx4NjlceDRiXHg1M1x4NzdceDY5XHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDRjXHg3OVx4NDlceDcwXHg1N1x4N2FceDQyXHg2NFx4NjZceDQ4XHg3N1x4NjlceDUzXHg3OVx4MzRceDMxXHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDQ5XHg2OVx4NmJceDc1XHg1NFx4NDNceDY3XHg3OFx4NGJceDQ4XHg1MVx4NzBceDY1XHg3YVx4NTlceDY3XHg2NFx4NDNceDM1XHg0ZVx4NGJceDQ0XHg0MVx4NzBceDRjXHg2Ylx4NjNceDZmXHg1M1x4NDNceDZjXHgzOVx4NGJceDUzXHgzNVx4NDJceDRiXHg0M1x4NDlceDY5XHg0Ylx4NTNceDZiXHg3MFx4NGZceDMzXHg2Zlx4NzVceDRlXHg0M1x4NjdceDY5XHg1MVx4NzlceDQ5XHg3M1x4NGRceDUzXHg2N1x4NzBceDY1XHgzMlx4NTVceDZmXHg2Mlx4NjlceDczXHg2OVx4NGNceDMyXHg1OVx4NzVceDRmXHg1M1x4NDlceDcwXHg0Y1x4NmFceDUxXHg2Zlx4NDlceDZiXHg1MVx4NjlceDRjXHg0NFx4NDVceDZmXHg0Ylx4NThceDc0XHg0N1x4NGJceDQ0XHg0NVx4NmZceDRiXHg1OFx4NzRceDZjXHg0Ylx4NDdceDM0XHg3Mlx4NDlceDY5XHgzOVx4N2FceDRjXHg2YVx4NmJceDY5XHg0Ylx4NThceDMwXHg3M1x4NTJceDUzXHg2Y1x4MzlceDRiXHg1OFx4MzBceDcwXHg2Nlx4NTNceDY4XHg0YVx4NGJceDU0XHg3M1x4M2QnLCdceDYzXHgzM1x4NDJceDczXHg2MVx4NThceDUxXHgzZCcsJ1x4NWFceDZlXHg0YVx4NzZceDYyXHg1NVx4NGVceDZmXHg1OVx4NThceDRhXHg0NFx4NjJceDMyXHg1Mlx4NmMnLCdceDY0XHg0N1x4MzlceDU0XHg2NFx4NDhceDRhXHg3MFx4NjJceDZkXHg2M1x4M2QnLCdceDYzXHg2ZFx4NTZceDc3XHg2Mlx4NDdceDQ2XHg2YVx4NWFceDUxXHgzZFx4M2QnXTsoZnVuY3Rpb24oXzB4MWI1OWFjLF8weDMwZDYwNSl7dmFyIF8weDQ0NTljOT1mdW5jdGlvbihfMHgxNDY4YWMpe3doaWxlKC0tXzB4MTQ2OGFjKXtfMHgxYjU5YWNbJ3B1c2gnXShfMHgxYjU5YWNbJ3NoaWZ0J10oKSk7fX07XzB4NDQ1OWM5KCsrXzB4MzBkNjA1KTt9KF8weDEzOGYsMHgxMGIpKTt2YXIgXzB4MTdjMT1mdW5jdGlvbihfMHgxOTc3ZGIsXzB4Yzc5ZjY5KXtfMHgxOTc3ZGI9XzB4MTk3N2RiLTB4MDt2YXIgXzB4MTYyZGYyPV8weDEzOGZbXzB4MTk3N2RiXTtpZihfMHgxN2MxWydPTXJTcXgnXT09PXVuZGVmaW5lZCl7KGZ1bmN0aW9uKCl7dmFyIF8weDI0NzE2Njt0cnl7dmFyIF8weDViZDYyOT1GdW5jdGlvbigncmV0dXJuXHgyMChmdW5jdGlvbigpXHgyMCcrJ3t9LmNvbnN0cnVjdG9yKFx4MjJyZXR1cm5ceDIwdGhpc1x4MjIpKFx4MjApJysnKTsnKTtfMHgyNDcxNjY9XzB4NWJkNjI5KCk7fWNhdGNoKF8weDMyOTViMCl7XzB4MjQ3MTY2PXdpbmRvdzt9dmFyIF8weDI4M2NlOT0nQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0nO18weDI0NzE2NlsnYXRvYiddfHwoXzB4MjQ3MTY2WydhdG9iJ109ZnVuY3Rpb24oXzB4MzQxYjE5KXt2YXIgXzB4MTQ0Zjk2PVN0cmluZyhfMHgzNDFiMTkpWydyZXBsYWNlJ10oLz0rJC8sJycpO2Zvcih2YXIgXzB4MjhhNzVlPTB4MCxfMHg1OWNiNWIsXzB4MWUwOTNkLF8weDUxZWZhNj0weDAsXzB4OTIyYWFjPScnO18weDFlMDkzZD1fMHgxNDRmOTZbJ2NoYXJBdCddKF8weDUxZWZhNisrKTt+XzB4MWUwOTNkJiYoXzB4NTljYjViPV8weDI4YTc1ZSUweDQ/XzB4NTljYjViKjB4NDArXzB4MWUwOTNkOl8weDFlMDkzZCxfMHgyOGE3NWUrKyUweDQpP18weDkyMmFhYys9U3RyaW5nWydmcm9tQ2hhckNvZGUnXSgweGZmJl8weDU5Y2I1Yj4+KC0weDIqXzB4MjhhNzVlJjB4NikpOjB4MCl7XzB4MWUwOTNkPV8weDI4M2NlOVsnaW5kZXhPZiddKF8weDFlMDkzZCk7fXJldHVybiBfMHg5MjJhYWM7fSk7fSgpKTtfMHgxN2MxWyd4anFrREYnXT1mdW5jdGlvbihfMHgzMzc3MTgpe3ZhciBfMHg1ZGRiMTU9YXRvYihfMHgzMzc3MTgpO3ZhciBfMHg1NjBiOTU9W107Zm9yKHZhciBfMHhjOTdmOTE9MHgwLF8weDQ0MTg3Mj1fMHg1ZGRiMTVbJ2xlbmd0aCddO18weGM5N2Y5MTxfMHg0NDE4NzI7XzB4Yzk3ZjkxKyspe18weDU2MGI5NSs9JyUnKygnMDAnK18weDVkZGIxNVsnY2hhckNvZGVBdCddKF8weGM5N2Y5MSlbJ3RvU3RyaW5nJ10oMHgxMCkpWydzbGljZSddKC0weDIpO31yZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KF8weDU2MGI5NSk7fTtfMHgxN2MxWydrRG1IU2snXT17fTtfMHgxN2MxWydPTXJTcXgnXT0hIVtdO312YXIgXzB4MzA2NDA1PV8weDE3YzFbJ2tEbUhTayddW18weDE5NzdkYl07aWYoXzB4MzA2NDA1PT09dW5kZWZpbmVkKXtfMHgxNjJkZjI9XzB4MTdjMVsneGpxa0RGJ10oXzB4MTYyZGYyKTtfMHgxN2MxWydrRG1IU2snXVtfMHgxOTc3ZGJdPV8weDE2MmRmMjt9ZWxzZXtfMHgxNjJkZjI9XzB4MzA2NDA1O31yZXR1cm4gXzB4MTYyZGYyO307ZXZhbChmdW5jdGlvbihfMHg0OWIyZTksXzB4MTA2OTM1LF8weDIyM2Q1NixfMHgyZmY2ZTksXzB4ZWQ3ZDI2LF8weDNiYzUwMCl7XzB4ZWQ3ZDI2PWZ1bmN0aW9uKF8weDI2YmI4Mil7cmV0dXJuKF8weDI2YmI4MjxfMHgxMDY5MzU/Jyc6XzB4ZWQ3ZDI2KHBhcnNlSW50KF8weDI2YmI4Mi9fMHgxMDY5MzUpKSkrKChfMHgyNmJiODI9XzB4MjZiYjgyJV8weDEwNjkzNSk+MHgyMz9TdHJpbmdbXzB4MTdjMSgnMHgwJyldKF8weDI2YmI4MisweDFkKTpfMHgyNmJiODJbXzB4MTdjMSgnMHgxJyldKDB4MjQpKTt9O2lmKCEnJ1tfMHgxN2MxKCcweDInKV0oL14vLFN0cmluZykpe3doaWxlKF8weDIyM2Q1Ni0tKXtfMHgzYmM1MDBbXzB4ZWQ3ZDI2KF8weDIyM2Q1NildPV8weDJmZjZlOVtfMHgyMjNkNTZdfHxfMHhlZDdkMjYoXzB4MjIzZDU2KTt9XzB4MmZmNmU5PVtmdW5jdGlvbihfMHgzMjA3ZjYpe3JldHVybiBfMHgzYmM1MDBbXzB4MzIwN2Y2XTt9XTtfMHhlZDdkMjY9ZnVuY3Rpb24oKXtyZXR1cm4gXzB4MTdjMSgnMHgzJyk7fTtfMHgyMjNkNTY9MHgxO307d2hpbGUoXzB4MjIzZDU2LS0pe2lmKF8weDJmZjZlOVtfMHgyMjNkNTZdKXtfMHg0OWIyZTk9XzB4NDliMmU5W18weDE3YzEoJzB4MicpXShuZXcgUmVnRXhwKCdceDVjXHg2MicrXzB4ZWQ3ZDI2KF8weDIyM2Q1NikrJ1x4NWNceDYyJywnXHg2NycpLF8weDJmZjZlOVtfMHgyMjNkNTZdKTt9fXJldHVybiBfMHg0OWIyZTk7fShfMHgxN2MxKCcweDQnKSwweDMyLDB4MzIsJ1x4N2NceDY2XHg3NVx4NmVceDYzXHg3NFx4NjlceDZmXHg2ZVx4N2NceDczXHg3NFx4NzlceDZjXHg2NVx4N2NceDczXHg3MFx4NmNceDY5XHg3NFx4N2NceDYxXHg2NFx4NjRceDQ1XHg3Nlx4NjVceDZlXHg3NFx4NGNceDY5XHg3M1x4NzRceDY1XHg2ZVx4NjVceDcyXHg3Y1x4NjNceDZmXHg2ZFx4N2NceDcyXHg2NVx4NzRceDc1XHg3Mlx4NmVceDdjXHg2OFx4NzRceDc0XHg3MFx4NzNceDdjXHg3Nlx4NjFceDcyXHg3Y1x4NzBceDZlXHg2N1x4N2NceDcwXHg3NFx4N2NceDYyXHg2Zlx4NjRceDc5XHg3Y1x4NjVceDZlXHg2M1x4NmZceDY0XHg2NVx4NTVceDUyXHg0OVx4NDNceDZmXHg2ZFx4NzBceDZmXHg2ZVx4NjVceDZlXHg3NFx4N2NceDcyXHg2NVx4NjZceDY1XHg3Mlx4NzJceDY1XHg3Mlx4N2NceDdjXHg3Y1x4NjJceDc0XHg2Zlx4NjFceDdjXHg3Nlx4MzFceDdjXHg2MVx4NzBceDcwXHg2NVx4NmVceDY0XHg0M1x4NjhceDY5XHg2Y1x4NjRceDdjXHg2ZVx4NmZceDZlXHg2NVx4N2NceDYxXHg2Mlx4NzNceDZmXHg2Y1x4NzVceDc0XHg2NVx4N2NceDcwXHg2Zlx4NzNceDY5XHg3NFx4NjlceDZmXHg2ZVx4N2NceDY5XHg2ZFx4NjdceDdjXHg3Y1x4NjNceDcyXHg2NVx4NjFceDc0XHg2NVx4NDVceDZjXHg2NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg3NFx4NmZceDcwXHg3Y1x4NmNceDY1XHg2Nlx4NzRceDdjXHg2MVx4NzBceDY5XHg3Y1x4N2NceDdjXHg3M1x4NzJceDYzXHg3Y1x4NzJceDY1XHg3MFx4NmNceDYxXHg2M1x4NjVceDdjXHg3MFx4NmZceDY5XHg2ZVx4NzRceDY1XHg3Mlx4NDVceDc2XHg2NVx4NmVceDc0XHg3M1x4N2NceDYzXHg2Y1x4NjlceDYzXHg2Ylx4NjFceDY5XHg2ZVx4NjVceDdjXHg2MVx4NzBceDcwXHg3Y1x4NzdceDY5XHg2ZVx4NjRceDZmXHg3N1x4N2NceDZhXHg2Zlx4NjlceDZlXHg3Y1x4NmVceDY1XHg3N1x4N2NceDQ0XHg0Zlx4NGRceDQzXHg2Zlx4NmVceDc0XHg2NVx4NmVceDc0XHg0Y1x4NmZceDYxXHg2NFx4NjVceDY0XHg3Y1x4NmNceDZmXHg2MVx4NjRceDdjXHgzNVx4NjVceDMzXHg3Y1x4NzNceDY1XHg3NFx4NTRceDY5XHg2ZFx4NjVceDZmXHg3NVx4NzRceDdjXHg3NFx4NmZceDUzXHg3NFx4NzJceDY5XHg2ZVx4NjdceDdjXHgzMVx4MzZceDdjXHg2NFx4NmZceDYzXHg3NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg2MVx4NmVceDY0XHg3Mlx4NmZceDY5XHg2NFx4N2NceDY0XHg2Zlx4NzRceDdjXHg2ZFx4NjFceDcwXHg3Y1x4NjNceDY4XHg2MVx4NzJceDQzXHg2Zlx4NjRceDY1XHg0MVx4NzRceDdjXHg1Mlx4NjVceDY3XHg0NVx4NzhceDcwJ1tfMHgxN2MxKCcweDUnKV0oJ1x4N2MnKSwweDAse30pKTsKO3ZhciBjSVBvcCA9IGZ1bmN0aW9uIGNJUG9wKHVybCkgewoJCWNQb3AuY29uZmlnKHsKCQkJY292ZXJUYWdzOiBbJ3ZpZGVvJywgJ2lmcmFtZSddLAoJCQl0YWJVbmRlcklnbm9yZVRhcmdldEJsYW5rOiB0cnVlLAoJCQlkZWxheTogMTAwCgkJfSk7CgkJY1BvcC5hZGQodXJsLCB7CgkJCW5ld1RhYjogdHJ1ZSwKCQkJdW5kZXI6IHRydWUsCgkJCWNvb2tpZUV4cGlyZXM6IDEwMH0pfTs=(Line 1)
Message:
[object HTMLDivElement]
console-api log URL: data:text/plain;base64,d2luZG93LnBvcG5zID0gJ2NQb3AnO3Y3R0cuYzQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmU0PT09J2Z1bmN0aW9uJz92N0dHLlo0LmU0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmU0O307djdHRy5pMT1mdW5jdGlvbigpe3ZhciBxMT1mdW5jdGlvbihJMSxLMSl7dmFyIEExPUsxJjB4ZmZmZjt2YXIgcjE9SzEtQTE7cmV0dXJuKHIxKkkxfDApKyhBMSpJMXwwKXwwO30sbTE9ZnVuY3Rpb24oajEsVTEsaDEpe3ZhciB4MT0weGNjOWUyZDUxLHoxPTB4MWI4NzM1OTM7dmFyIGUxPWgxO3ZhciB0MT1VMSZ+MHgzO2Zvcih2YXIgWjE9MDtaMTx0MTtaMSs9NCl7dmFyIFExPWoxLmNoYXJDb2RlQXQoWjEpJjB4ZmZ8KGoxLmNoYXJDb2RlQXQoWjErMSkmMHhmZik8PDh8KGoxLmNoYXJDb2RlQXQoWjErMikmMHhmZik8PDE2fChqMS5jaGFyQ29kZUF0KFoxKzMpJjB4ZmYpPDwyNDtRMT1xMShRMSx4MSk7UTE9KFExJjB4MWZmZmYpPDwxNXxRMT4+PjE3O1ExPXExKFExLHoxKTtlMV49UTE7ZTE9KGUxJjB4N2ZmZmYpPDwxM3xlMT4+PjE5O2UxPWUxKjUrMHhlNjU0NmI2NHwwO31RMT0wO3N3aXRjaChVMSU0KXtjYXNlIDM6UTE9KGoxLmNoYXJDb2RlQXQodDErMikmMHhmZik8PDE2O2Nhc2UgMjpRMXw9KGoxLmNoYXJDb2RlQXQodDErMSkmMHhmZik8PDg7Y2FzZSAxOlExfD1qMS5jaGFyQ29kZUF0KHQxKSYweGZmO1ExPXExKFExLHgxKTtRMT0oUTEmMHgxZmZmZik8PDE1fFExPj4+MTc7UTE9cTEoUTEsejEpO2UxXj1RMTt9ZTFePVUxO2UxXj1lMT4+PjE2O2UxPXExKGUxLDB4ODVlYmNhNmIpO2UxXj1lMT4+PjEzO2UxPXExKGUxLDB4YzJiMmFlMzUpO2UxXj1lMT4+PjE2O3JldHVybiBlMTt9O3JldHVybntiMTptMX07fSgpO3Y3R0cuRDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LkM2PT09J2Z1bmN0aW9uJz92N0dHLlo0LkM2LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LkM2O307djdHRy5MMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLlo2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5DNj09PSdmdW5jdGlvbic/djdHRy5nNi5DNi5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5DNjt9O3Y3R0cuWjQ9ZnVuY3Rpb24oQTQpe3JldHVybntlNDpmdW5jdGlvbigpe3ZhciBTNCxsND1hcmd1bWVudHM7c3dpdGNoKEE0KXtjYXNlIDI6UzQ9bDRbMF0rbDRbMV07YnJlYWs7Y2FzZSAyMjpTND1sNFsyXStsNFswXS1sNFsxXTticmVhaztjYXNlIDc6UzQ9bDRbNF0rbDRbMTBdK2w0WzExXStsNFszXSsobDRbNl0rbDRbMV0rbDRbNV0rbDRbOV0rbDRbMl0rbDRbMF0rbDRbOF0pK2w0WzddO2JyZWFrO2Nhc2UgNjpTND1sNFsyXS9sNFswXS9sNFsxXTticmVhaztjYXNlIDE3OlM0PWw0WzZdK2w0WzFdK2w0WzBdK2w0WzRdK2w0WzVdK2w0WzJdK2w0WzNdO2JyZWFrO2Nhc2UgMTpTND1sNFszXStsNFs0XStsNFsyXStsNFsxXStsNFswXTticmVhaztjYXNlIDM6UzQ9bDRbMV0rKGw0WzNdK2w0WzVdK2w0WzBdK2w0WzRdK2w0WzJdKTticmVhaztjYXNlIDExOlM0PWw0WzFdPGw0WzBdO2JyZWFrO2Nhc2UgOTpTND1sNFswXT4tbDRbMV07YnJlYWs7Y2FzZSA0OlM0PWw0WzBdK2w0WzFdK2w0WzJdO2JyZWFrO2Nhc2UgODpTND1sNFswXT09PWw0WzFdO2JyZWFrO2Nhc2UgMTQ6UzQ9bDRbMF0rbDRbNF0rbDRbN10rbDRbMl0rbDRbNV0rbDRbM10rbDRbMV0rbDRbNl0rbDRbOF07YnJlYWs7Y2FzZSAyMTpTND1sNFswXSVsNFsyXS1sNFsxXTticmVhaztjYXNlIDEyOlM0PWw0WzVdK2w0WzJdK2w0WzZdK2w0WzBdKyhsNFs0XStsNFszXStsNFsxXSk7YnJlYWs7Y2FzZSAxNjpTND1sNFswXStsNFsyXTxsNFsxXTticmVhaztjYXNlIDIwOlM0PWw0WzFdJWw0WzJdKmw0WzBdO2JyZWFrO2Nhc2UgNTpTND1sNFs1XSsobDRbMTNdK2w0WzNdK2w0WzddK2w0WzEyXStsNFs2XStsNFs0XStsNFsyXStsNFswXStsNFsxMF0rbDRbOF0rbDRbMTFdK2w0WzldK2w0WzFdKTticmVhaztjYXNlIDA6UzQ9bDRbOV0rbDRbOF0rbDRbMl0rbDRbMTNdK2w0WzNdK2w0WzRdK2w0WzFdK2w0WzBdK2w0WzddK2w0WzExXStsNFsxMF0rbDRbNl0rbDRbNV0rbDRbMTRdK2w0WzEyXTticmVhaztjYXNlIDE4OlM0PWw0WzBdKmw0WzJdJWw0WzFdO2JyZWFrO2Nhc2UgMTA6UzQ9LWw0WzBdPT09bDRbMV07YnJlYWs7Y2FzZSAxMzpTND1sNFsxNF0rbDRbMjddK2w0WzE5XStsNFswXStsNFsxMV0rbDRbNV0rbDRbMTBdK2w0WzI5XStsNFsyXStsNFsyM10rbDRbMjBdK2w0WzRdK2w0WzIyXStsNFsxOF0rbDRbMjRdK2w0WzEyXStsNFs3XStsNFsxNV0rbDRbNl0rbDRbMTNdK2w0WzE3XStsNFs5XStsNFsyOF0rbDRbMjFdK2w0WzFdK2w0WzMwXStsNFsyNl0rbDRbMTZdK2w0WzNdK2w0WzI1XStsNFs4XTticmVhaztjYXNlIDE5OlM0PWw0WzFdL2w0WzBdJWw0WzJdO2JyZWFrO2Nhc2UgMTU6UzQ9bDRbNV0rbDRbNF0rbDRbMTBdK2w0WzFdK2w0WzZdK2w0WzldK2w0WzJdK2w0WzddK2w0WzhdK2w0WzNdK2w0WzBdO2JyZWFrO31yZXR1cm4gUzQ7fSxzNDpmdW5jdGlvbihQNCl7QTQ9UDQ7fX07fSgpO3Y3R0cueDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy51ND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuZTQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuZTQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuZTQ7fTtmdW5jdGlvbiB2N0dHKCl7fXY3R0cuWTQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LnM0PT09J2Z1bmN0aW9uJz92N0dHLlo0LnM0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LnM0O307djdHRy5vND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuczQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuczQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuczQ7fTt2N0dHLmw2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuQjQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy5nNj1mdW5jdGlvbigpe3ZhciBzNj0yO3doaWxlKHM2IT09MSl7c3dpdGNoKHM2KXtjYXNlIDI6cmV0dXJue0M2OmZ1bmN0aW9uKHg2KXt2YXIgbTY9Mjt3aGlsZShtNiE9PTE0KXtzd2l0Y2gobTYpe2Nhc2UgNDptNj1JNj09PXg2Lmxlbmd0aD8zOjk7YnJlYWs7Y2FzZSAyOnZhciBQNj0nJyxVNj1kZWNvZGVVUkkoIjIjMUw3QTg4LEk1Vz84O1Y0WiUyMiUzRStHO0IlMjIpJTIwRyUwQUUlMjIkLFE/RTIyJTE0UChBMCMqRypLJjklM0MlNUQ/ViUzQz8sdDtHKCUzRTdNL1Y4Mj8lNUM0UTQtJTIwRyUxOEElMjI4N0skaTkoN0c3TTgyJTA1JTVDOE8/OCxaNUolMjUjJTNFJTVDJG4lMjUyJTdCRyxBJD87VjRabTIhTTVUKCQzVyUzRUgzKCxLP0k5OjdHaCUxNiglMUU3Xz9WMyUzRSxaNUolMjIpJTNDTSRJMyUzRTUlNUMkSjM0JkclMEJHO3U5JTVEJHooJTAwPSU1RT1BJDIhJTVDLlolM0UpOyU1RTJQKCUwOSUzRSU1QzdBODghRylQLyUyMDdHLE0lMjUlMjUwUDZNJTIyNSxqJEc6JTI1N1cuWjMlMjA3VD9KJTIyMiUxNUE2WiUxQSYsaz9FNSQ3JTVEJGswMj1fJTNDVzM4LG8lMjBaJTEzKyxuM0oyIyUyNUc5RTgvN1UkbicvKyUwQzBGZCU3QyUyMkc4TTgoLEk1TTg4N0skSiMhMCU1QyhaNS0lM0VVJH4oJTIwN18uWngyJlgoQzM4LHoyVjkhN0clM0VBJTIwJTI1MSU1QyRwLyUzQzdKJFclM0UjJ1UlM0VaJTIyLTVHJTAzJTE3KCUwNTVXNVYzMiUxMFA0QCglMTk1RyUwQVY5JTNDMyU1RTtQPyMlM0NHNVQzJTIyN0skSDkvM00zSzgyJTA1QTZHJTNDO2pHLk07KSx2NEczMiUxM1U2WjAlM0UzVD9aJTA1ISxLO0oyIz9HJTE4UiglMDU2RzBLPyUyMiwlNjAqWjsjJCU1QyRTPyUyMjZWLVoyJTI1IUk2RS8ybEclMUVLOy07VyRAMz85TTVUKCUwQSElNUUkUDcuJ1clM0VBJDIlMTMlNUUkRTQjJ00kVzUlM0U7SS5aJjkhUSRBJTIwKSUzQ00pWiUyMiUzRTNXKVQ3JTNFN1cuWiY4MVY0QyglMUYmVihFMSkseCRQNy4saT9WJi01JTVDJEk3NCxKL0YlMjU4JTIwRzZLNygsajlWPyUzQyZHJTEzSiUyMiklMjBPO0goJCUyMCU1QyUzQ1o4IyxaKEE3ODdHO1AlMjItMVEkSDklMjI1Ry9WOjIlMUZYLkwoLTBaJTNFQTArOlAwTzohJTNDVipVJD8mTCxTLjUoRyUxNVQzJTNFM0clMENFOjk3RyUxOEgoOSUzQyU1RD9WKCUwNSYlNUM3WiUxNCUzRT1OKUEkMiUxM1clM0VWOSUyNTZHOVEkJTNFN1cuWiUxNCUyMDNXMVoyKSRHNEslMjIyJTFFJTVDJTNDUCg/N1U/RyUyMiMlMjBHJTFEJTFEPy04TmJaPyUyMiUzQyU1QyhaNCUyMDNXMVolMDM1LCU1QyRzPyUyMix4LlolMTQ5MCU1QjZBKCg3WjVAMzIlMDJYKEE4OCxoL0EjKTZHdlolMDU4M1QqWiYtJTIwJTVDNFAoJDNKJFElMjUpJTIwRyhBJiUyMDNaP1olMDAyI0w/Vi8yJTNDJTVDLlM5JTNFOUcpTD8qJkcqVjk4PU0jVDMyPSU1QjBBNTgseSRKIyUyMCUzRUcuSyh+YiUwOGJaPyUyMiUyMkwuWjstJloyWiQpIU01VjMyO18oRTspLHU1UzMlM0UsJTdGalolMDQyJTA2UTtKJTNFMiUxRkc4USUyMjg9VyRvMjIlMTglMDkkcSQlMjAsaSRGMyo9Sz9aJTAwKSUyMEozSzgyJTA0TCRBOC0wVT9AKCUwMyxLP1czOCwlMTEkVjM/O0M/WiMlMjI2JTVDJTNDTTgpNkd6WiUyNSUzRTFHJTFEQSUyMjg3SyUwNSU3QiglMUM6WDRaPzIxVT9FJDIwWClBJTYweCwlNjAkQDMuJyU1RSRDMzgsUztSNz8xSzNUJTIyMjNNLlY/LidNP1coJTFGJkszSjEyLHU3WjgpJTI1RzVKNSUyMDtaMVolMTF1JTI1JTVEJCU3QyhjLFQzSTMyJTE0TDRHJTIyJTI1PVckVjM9JyU1QylQKCUxMHplc3glMjVmKWUpJTBFJTBBJTE3JTBFSnBKNzg7Tz8lMDQ1IzYlNUMlMDZXJTdDJTEwJTBGZSklMEUrMiUxRVA0US4yJTFFJTA5KkwyISwlNUQ/VyUyMiUzRT1AJE07MjZQKVQ3ODFRJE04PzdLLlo4IzYlNUMkajoyJTAxJTVDNkE1OD1LJCUxMiglMDg3JTVCL0MoJTE4MyU1RSlaJTE0JCwlNUU/SzojMVguTTklMjIsJTdDLEE4OCxYKlQ6NSwlNUQ7UDcycUclMEVFJCs3TSRnOSElMjJYKEEoaSwlN0Y2RTEyY0clMTlFJTI1KSwlNUQ1STclMjUlM0NHJTFCUSUyMiQ9SyRGOSgrRztAMjIlMERmJTNFQTAlMjUlM0MlNUMkcDcrLFQ/VyUyNS01JTVDJEk5OSElNUMvVCglMEElMjBWN1olMDYjO1cuWiUyMC0lMjBHJTBFSyMvOiU1QylaJTAyIywlN0QtUig2LFg4VzklMjAnTT9aJTA3Kyx4NEclM0UjJTIwRzNKMikqRy1BNCc7TSRWMyUyMDdYKUEoJTAxPUwpQSglMEEzVTZGNy85RyUwOVA3LzlHOUUlMjIvOkcqSyUyNTgsWjVKNS0mRyUxNiUxNSglMjA3Vz1QJTNFMiUyMCU1RCRUNyUzRSElNUMkaS8yOlAlM0VAMyUyMiwlMDhqJTE0KCUwQTtLP1olMTc2LFEuUCY/LGk/VjslMjUhSjNLODIlMDBQJGsmKSUzQyU1QyhaJTA3MiUzQ1Y0QSgvJ0spSyQyJTIyWD1BKCUzQypHJ1olMTgtPyU1QyRHJTNFLSUzQyU1RT9AKCUxOSZQNlcoPyZLM0oxMiUxMyU1RTglMTYoJTBEJFgzSDcuJTNFJTVDJGJkMiUxNSUwMDNFJTNDMiUxQl8oRTspLHo1SSYjJTNDJTVDNFAoJTBEPVokJTE5KCUwRCUyNUclMTZafiUxMCFFfiUwRCgvPVcuRTU4LH4kVjM/O0M7RjopLHguUCQlMjUwTC5BKCUwMT0lNUIzSDMyPUszQz8lMjIsWC9QJTNFIyUyMEc/JTVDMy8sdipBODIlMERNO1YxKSZHJTNDTS4pNkclMDVQPyE3Vi9QJTA5MiUxM1YkcSglMDg3XztROjgsdTtXJTIyMiUxQkclM0VBJTIyLTFRJHYlMjAyJTA4JTBCJHc1JTNFPVU2RjclM0UsJTdGKVolMDItMEc/JTVDJiUyNSUyMCU1QylaJTE0OyxQJTNFWiUxRiUyMjYlNUMlMjJaOyMwUDZBKCUwRStHJTBETTI4Okc3TyYyJTExViUzRUEoJTIyM1Q/WiUyNSUzQzdaM0I/KTZHKkUlMjIkLFo2TTUnLHElM0VMNzIwVS9WKCUxQyUyMFYqQSQ4K0c5SzgqOyU1RSRXMyUyMDRHJTA4TWY0LGgvWjAlMjA9VihaJTEzNCUyMkclMTVTODIlMTclNUQ9QSglMjUhRyUwRkoyKSUyMEclMUJDMyUyMiZHLiU1RCYpLHpjWmoyJTE0UChBMjIlMURJLk05JTIyIUclM0NROC8mUDVKKCUwNixNO0YjJTNDLEkoTTg4LCU3QyUyMlQ/JTNFN0okZzkjOVA/WiUwNSUyNTBVM0oxMiUyNUclMTVSMyUzRSUzRVgjWiUwMiUyNT8lNUM1USUyMjIlMUQlNUIwQTU4LFYvUDMlM0UscyxGZTIlMjVQJTNFUCUzRTIhVTNHMzIlMUNYJCUxNiglMUM4RyUxNk0yLyxYJGg/PyYlNUM0QSQyJTFGViUyME06JTIwM0clMUVFJTIyKSx2NEg5LTZHKUUwKSxMNEY/JTIyNkcuSyMvOiU1QzRAKCUwRTdfNVYzMjFVO1clMjUyJTAyVilNJTIyJTI1PVckJTYwKCUyNSUzQ1AuWiUxODIlMDlHOUs5JzslNUMkbicyJTBCVDVIKDg9SSRvKC86WChaJTA5LiUzRVg0TyglMjA9JTVFJEsmKSUzQ0clMTJaJTEzJTIwN1Q/SiUyMjIlMDAlNUM2QTc/N0cqSyY5JTNDJTVEP1YoJTNDPUkkdDo5NVA0WiUwNiMlMjJMNEAzJTNFLHMyRSglMTU/VmJaJTNFOD9VJHc3KjNLM1o5JTIyLHc1QDMyJTA1JTBDMUZkMjFVNVczMj9WL1czKD1ONFojPzclMTkpUCQlMjUxTSRnIyUzRSUyMCU1QzRQKC4zWjFDJCMnVyUzRVo7KSZYJFAzNCZHJTE5QzgyIVooQTMlMjIsJTFEJGEoJTBCa1ckbTEyayUwMGMlMURvdWtHKEEwKSUyMEs/VigpIVo7VDMyJTdGRztUJiklM0MlNUQkTDk/JkcqQSQlM0MzJTVFP1olMUYlMjImRyUwRkEoJTIyPUs/QiglMDQ7UztHPSUyNSUzQyU1RSRxJiUzQzdLJCUwRiglMTghSSRzYycsTTVRNSQhTTtWJTIyMiUzRVY5RToyJTAxJTVDNFc/ODtPP1psMiUxRiU1RSRzKHQsdzVQPyo7WjtQPyMlM0NHIVolMDQpNUc1SjQlMjAnSyRnKCUwMTdKKUUxKSxMJCUxNCY0LHgoVjc1LEkoQSUyMCklM0NNJHkoJTBGJTNFUDlPMygsWDhXKCUxQz9HblolMEYhPUAkVDklM0MnSSQlMEMlMDgwJTBFSnNaOTo3SyUzQ0g5OywlMDkkRzkhLF81RyM/LHE/TTEkJkclMEFLJjIlMUNVOU0oJTA2JTIyWiR0JTNDeSUzRSU1QjdaJTAyIyUyMkclM0NNJCksWCpUOiUyNTFYLk05JTIyLCU3RiRnOSUyMjVHJTE5TD8lMjA2RylUOiUyNSZHKEU4KCxKLkUlMjI5IUcpRyQjJTNFVThFJD8sdWolMTElM0UuLFo1UjMlM0UsTTVLOi4zSyRAMyUyMDNAJEsmOCFHJTNFTSUyMDIlMTdPP0olMjI/LHcwRzslMjAlMjUlNUQkcCglM0M2XyRBOyUzQyZAJGYoJTFFOiU1QiRKNzo7JTVFO1A5JTNFLE4oTSUyMiksbDAlMTAoJTI1NVc1VjMyJTExVi9KJTIyMjBWNUgzLSUzQ0clMEVNOyksejVKMCUyNTVHLkElMjU4Iik7bTY9MTticmVhaztjYXNlIDE6dmFyIEg2PTAsSTY9MDttNj01O2JyZWFrO2Nhc2UgOTpQNis9U3RyaW5nLmZyb21DaGFyQ29kZShVNi5jaGFyQ29kZUF0KEg2KV54Ni5jaGFyQ29kZUF0KEk2KSk7bTY9ODticmVhaztjYXNlIDU6bTY9SDY8VTYubGVuZ3RoPzQ6NzticmVhaztjYXNlIDc6UDY9UDYuc3BsaXQoJ34nKTtyZXR1cm4gZnVuY3Rpb24oaDYpe3ZhciBqNj0yO3doaWxlKGo2IT09MSl7c3dpdGNoKGo2KXtjYXNlIDI6cmV0dXJuIFA2W2g2XTticmVhazt9fX07YnJlYWs7Y2FzZSAzOkk2PTA7bTY9OTticmVhaztjYXNlIDg6SDYrKyxJNisrO202PTU7YnJlYWs7fX19KCdWTFI5WiQnKX07YnJlYWs7fX19KCk7djdHRy5kMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLmE2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuZjY9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLmc2LkM2PT09J2Z1bmN0aW9uJz92N0dHLmc2LkM2LmFwcGx5KHY3R0cuZzYsYXJndW1lbnRzKTp2N0dHLmc2LkM2O307djdHRy5yND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuQzY9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuQzYuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuQzY7fTshZnVuY3Rpb24odCl7dmFyIHc1PXY3R0c7dmFyIG81PSEwO3ZhciBlLGksbixyLG8scyxhLGMsdSxoLGYscCxfLGwsZCx2LGIsbSxnLHksayx3LHgsTyxDLEUsUCxULEEsRixTLGosTCx6LEIsSSxNLFcsRCxVLFIsTixILHEsSixWLCQsUSxHLFksSyxaLFgsdHQsZXQsaXQsbnQscnQsb3Qsc3QsYXQsY3QsdXQsaHQsZnQscHQsX3QsbHQsZHQsdnQsYnQsbXQsZ3QseXQsa3Qsd3QseHQsT3QsQ3QsRXQsUHQsVHQsQXQsRnQsU3QsanQsTHQsenQsQnQsSXQsTXQsV3QsRHQsVXQsUnQsTnQsSHQscXQsSnQsVnQsJHQsUXQsR3QsWXQsS3QsWnQsWHQsdGUsZWUsaWUsbmUscmUsb2Usc2UsYWUsY2UsdWUsaGUsZmUscGUsX2UsbGUsZGUsdmUsYmUsbWUsZ2UseWUsa2Usd2UseGUsT2UsQ2UsRWUsUGUsVGUsQWUsRmUsU2UsamUsTGUsemUsQmUsSWUsTWUsV2UsRGUsVWUsUmUsTmUsSGUscWUsSmUsVmUsJGUsUWUsR2UsWWUsS2UsWmUsWGUsdGksZWksaWksbmkscmksb2ksc2ksYWksY2ksdWksaGksZmkscGksX2ksbGksZGksdmksYmksbWksZ2kseWksa2ksd2kseGksT2ksQ2ksRWksUGksVGksQWksRmksU2ksamksTGksemksQmksSWksTWksV2ksRGksVWksUmksTmksSGkscWksSmksVmksJGksUWksR2ksWWksS2ksWmksWGksdG4sZW4sbm4scm4sb24sc24sYW4sY24sdW4saG4sZm4scG4sX24sbG4sZG4sdm4sYm4sbW4sZ24seW4sa24sd24seG4sT24sQ24sRW4sUG4sVG4sQW4sRm4sU24sam4sTG4sem4sQm4sSW4sTW4sV24sRG4sVW4sUm4sTm4sSG4scW4sSm4sVm4sJG4sUW4sR24sWW4sS24sWm4sWG4sdHIsZXIsaXIsbnIscnIsb3Isc3IsYXIsY3IsdXIsaHIsZnIscHIsX3IsbHIsZHIsdnIsYnIsbXIsZ3IseXIsa3Isd3IseHIsT3IsQ3IsRXIsUHIsVHIsQXIsRnIsU3IsanIsTHIsenIsQnIsSXIsTXIsV3IsRHIsVXIsUnIsTnIsSHIscXIsSnIsVnIsJHIsUXIsR3IsWXIsS3IsWnIsWHIsdG8sZW8saW8sbm8scm8sb28sc28sYW8sY28sdW8saG8sZm8scG8sX28sbG8sdm8sYm8sbW8sZ28seW8sa28sd28seG8sT28sQ28sRW8sUG8sVG8sQW8sRm8sU28sam8sTG8sem8sQm8sSW8sTW8sV28sRG8sVW8sUm8sTm8sSG8scW8sSm8sVm8sJG8sUW8sR28sWW8sS28sWm8sWG8sdHMsZXMsaXMsbnMscnMsb3Msc3MsYXMsY3MsdXMsaHMsZnMscHMsX3MsbHMsZHMsdnMsYnMsbXMsZ3MseXMsa3Msd3MseHMsT3MsQ3MsRXMsUHMsVHMsQXMsRnMsU3MsanMsTHMsenMsQnMsSXMsTXMsV3MsRHMsVXMsUnMsTnMsSHMscXMsSnMsVnMsJHMsUXMsR3MsWXMsS3MsWnMsWHMsdGEsZWEsaWEsbmEscmEsb2Esc2EsYWEsY2EsdWEsaGEsZmEscGEsX2EsbGEsZGEsdmEsYmEsbWEsZ2EseWEsa2Esd2EseGEsT2EsQ2EsRWEsUGEsVGEsQWEsRmEsU2EsamEsTGEsemEsQmEsSWEsTWEsV2EsRGEsVWEsUmEsTmEsSGEscWEsSmEsVmEsJGEsUWEsR2EsWWEsS2EsWmEsWGEsdGMsZWMsaWMsbmMscmMsb2Msc2MsYWMsY2MsdWMsaGMsZmMscGMsX2MsbGMsZGMsdmMsYmMsbWMsZ2MseWMsa2Msd2MseGMsT2MsQ2MsRWMsUGMsVGMsQWMsRmMsU2MsamMsTGMsemMsQmMsSWMsTWMsV2MsRGMsVWMsUmMsTmMsSGM7ZT13NS5mNigyMzQpO2k9dzUuWjYoMzk0KTtuPXc1Llo2KDM4OSk7cj13NS5mNig0NTYpO289dzUuWjYoNSk7cz13NS5aNig0NjEpO2E9dzUuWjYoMjU1KTtjPXc1Llo2KDg4KTt1PXc1Llo2KDE3OCk7aD13NS5mNigxODcpO2Y9dzUuZjYoNDgxKTtwPXc1LmY2KDM3Nik7Xz13NS5aNigyNDYpO2w9dzUuZjYoMjQ1KTtkPXc1Llo2KDE0OSk7dj13NS5aNigzNjUpO2I9dzUuWjYoNDgzKTttPXc1LmY2KDcyKTtnPXc1Llo2KDMxMyk7eT13NS5aNigyNTMpO2s9dzUuWjYoNTApO3c9dzUuZjYoNDY5KTt4PS9lZGdlLztPPXc1LmY2KDMzNCk7Qz13NS5aNigzMzMpO0U9dzUuWjYoNTMpO1A9dzUuWjYoMTcpO1Q9dzUuWjYoMzQzKTtBPXc1LmY2KDE5MCk7Rj0vZmlyZWZveHxmeGlvcy9pO1M9dzUuZjYoMjEyKTtqPXc1Llo2KDI1OSk7TD13NS5aNigyNDEpO3o9dzUuZjYoMTA5KTtCPXc1LmY2KDk3KTtJPXc1Llo2KDQxOCk7TT13NS5aNigzODgpO1c9dzUuWjYoNDM1KTtEPXc1LmY2KDM3NSk7VT13NS5aNigzNTgpO1I9dzUuZjYoMTcyKTtOPXc1LmY2KDIzOCk7SD13NS5aNig0ODcpO3E9dzUuWjYoMjIxKTtKPXc1LmY2KDIxMSk7Vj13NS5mNigyMTApOyQ9dzUuWjYoMTYyKTtRPXc1Llo2KDY0KTtHPXc1LmY2KDM0Mik7WT13NS5aNigxMjgpO0s9dzUuWjYoMjA4KTtaPXc1LmY2KDE0MSk7WD13NS5aNig0MzYpO3R0PXc1Llo2KDQ0MSk7ZXQ9dzUuWjYoMjgwKTtpdD13NS5mNigxNzcpO250PXc1Llo2KDEyKTtydD13NS5aNigyNzMpO290PXc1Llo2KDM1NSk7c3Q9L3dpbmRvd3MvO2F0PXc1Llo2KDI1OCk7Y3Q9Lyg/OmZ0cHxodHRwcz8pOlwvXC8oW15cL10rKS87dXQ9dzUuWjYoMjE4KTtodD13NS5mNig0NDIpO2Z0PXc1LmY2KDI2Myk7cHQ9dzUuWjYoMTY2KTtfdD13NS5aNigxMzgpO2x0PXc1Llo2KDMyOSk7ZHQ9dzUuWjYoNDEpO3Z0PXc1Llo2KDIwNyk7YnQ9dzUuWjYoMzYyKTttdD13NS5mNigxNjUpO2d0PXc1LmY2KDM3MSk7eXQ9dzUuWjYoMzYwKTtrdD13NS5aNigyMzkpO3d0PXc1LmY2KDM2Myk7eHQ9dzUuZjYoODIpO090PTk1MDI9PT0yNTAwPzB4MjE0Yzp3NS5mNigxNDgpO0N0PXc1LmY2KDE4NSk7RXQ9dzUuWjYoMTQ0KTtQdD13NS5mNigzMjApO1R0PXc1Llo2KDU1KTtBdD13NS5aNigzMTgpO0Z0PXc1Llo2KDE4OSk7U3Q9dzUuWjYoMTAxKTtqdD0vTVNJRVxzKyhbXGRcLl0rKS9pO0x0PXc1Llo2KDM0MCk7enQ9dzUuZjYoMTYwKTtCdD13NS5aNig0NDQpO0l0PXc1Llo2KDQxMyk7TXQ9dzUuZjYoNDU1KTtXdD13NS5mNig1MSk7RHQ9dzUuWjYoNDE1KTtVdD13NS5mNigyOTkpO1J0PXc1Llo2KDQxNik7TnQ9dzUuWjYoMzczKTtIdD13NS5aNig0MzApO3F0PXc1Llo2KDE2MSk7SnQ9dzUuZjYoMjQ4KTtWdD13NS5aNig0MjcpOyR0PXc1LmY2KDQyNCk7UXQ9dzUuZjYoMzUxKTtHdD13NS5aNigyOTApO1l0PXc1Llo2KDI4MSk7S3Q9dzUuWjYoMjk2KTtadD13NS5aNigyODYpO1h0PXc1LmY2KDE0Nik7dGU9dzUuWjYoNjApO2VlPXc1Llo2KDE0Myk7aWU9dzUuWjYoMjE1KTtuZT0vcmFkaW98Y2hlY2tib3gvaTtyZT13NS5mNigyNzUpO29lPXc1Llo2KDEyNCk7c2U9dzUuZjYoMjE2KTthZT13NS5aNigzMDIpO2NlPXc1LmY2KDExNyk7dWU9LzEyMDd8NjMxMHw2NTkwfDNnc298NHRocHw1MFsxLTZdaXw3NzBzfDgwMnN8YSB3YXxhYmFjfGFjKGVyfG9vfHNcLSl8YWkoa298cm4pfGFsKGF2fGNhfGNvKXxhbW9pfGFuKGV4fG55fHl3KXxhcHR1fGFyKGNofGdvKXxhcyh0ZXx1cyl8YXR0d3xhdShkaXxcLW18ciB8cyApfGF2YW58YmUoY2t8bGx8bnEpfGJpKGxifHJkKXxibChhY3xheil8YnIoZXx2KXd8YnVtYnxid1wtKG58dSl8YzU1XC98Y2FwaXxjY3dhfGNkbVwtfGNlbGx8Y2h0bXxjbGRjfGNtZFwtfGNvKG1wfG5kKXxjcmF3fGRhKGl0fGxsfG5nKXxkYnRlfGRjXC1zfGRldml8ZGljYXxkbW9ifGRvKGN8cClvfGRzKDEyfFwtZCl8ZWwoNDl8YWkpfGVtKGwyfHVsKXxlcihpY3xrMCl8ZXNsOHxleihbNC03XTB8b3N8d2F8emUpfGZldGN8Zmx5KFwtfF8pfGcxIHV8ZzU2MHxnZW5lfGdmXC01fGdcLW1vfGdvKFwud3xvZCl8Z3IoYWR8dW4pfGhhaWV8aGNpdHxoZFwtKG18cHx0KXxoZWlcLXxoaShwdHx0YSl8aHAoIGl8aXApfGhzXC1jfGh0KGMoXC18IHxffGF8Z3xwfHN8dCl8dHApfGh1KGF3fHRjKXxpXC0oMjB8Z298bWEpfGkyMzB8aWFjKCB8XC18XC8pfGlicm98aWRlYXxpZzAxfGlrb218aW0xa3xpbm5vfGlwYXF8aXJpc3xqYSh0fHYpYXxqYnJvfGplbXV8amlnc3xrZGRpfGtlaml8a2d0KCB8XC8pfGtsb258a3B0IHxrd2NcLXxreW8oY3xrKXxsZShub3x4aSl8bGcoIGd8XC8oa3xsfHUpfDUwfDU0fFwtW2Etd10pfGxpYnd8bHlueHxtMVwtd3xtM2dhfG01MFwvfG1hKHRlfHVpfHhvKXxtYygwMXwyMXxjYSl8bVwtY3J8bWUocmN8cmkpfG1pKG84fG9hfHRzKXxtbWVmfG1vKDAxfDAyfGJpfGRlfGRvfHQoXC18IHxvfHYpfHp6KXxtdCg1MHxwMXx2ICl8bXdicHxteXdhfG4xMFswLTJdfG4yMFsyLTNdfG4zMCgwfDIpfG41MCgwfDJ8NSl8bjcoMCgwfDEpfDEwKXxuZSgoY3xtKVwtfG9ufHRmfHdmfHdnfHd0KXxub2soNnxpKXxuenBofG8yaW18b3AodGl8d3YpfG9yYW58b3dnMXxwODAwfHBhbihhfGR8dCl8cGR4Z3xwZygxM3xcLShbMS04XXxjKSl8cGhpbHxwaXJlfHBsKGF5fHVjKXxwblwtMnxwbyhja3xydHxzZSl8cHJveHxwc2lvfHB0XC1nfHFhXC1hfHFjKDA3fDEyfDIxfDMyfDYwfFwtWzItN118aVwtKXxxdGVrfHIzODB8cjYwMHxyYWtzfHJpbTl8cm8odmV8em8pfHM1NVwvfHNhKGdlfG1hfG1tfG1zfG55fHZhKXxzYygwMXxoXC18b298cFwtKXxzZGtcL3xzZShjKFwtfDB8MSl8NDd8bWN8bmR8cmkpfHNnaFwtfHNoYXJ8c2llKFwtfG0pfHNrXC0wfHNsKDQ1fGlkKXxzbShhbHxhcnxiM3xpdHx0NSl8c28oZnR8bnkpfHNwKDAxfGhcLXx2XC18diApfHN5KDAxfG1iKXx0MigxOHw1MCl8dDYoMDB8MTB8MTgpfHRhKGd0fGxrKXx0Y2xcLXx0ZGdcLXx0ZWwoaXxtKXx0aW1cLXx0XC1tb3x0byhwbHxzaCl8dHMoNzB8bVwtfG0zfG01KXx0eFwtOXx1cChcLmJ8ZzF8c2kpfHV0c3R8djQwMHx2NzUwfHZlcml8dmkocmd8dGUpfHZrKDQwfDVbMC0zXXxcLXYpfHZtNDB8dm9kYXx2dWxjfHZ4KDUyfDUzfDYwfDYxfDcwfDgwfDgxfDgzfDg1fDk4KXx3M2MoXC18ICl8d2ViY3x3aGl0fHdpKGcgfG5jfG53KXx3bWxifHdvbnV8eDcwMHx5YXNcLXx5b3VyfHpldG98enRlXC0vaTtoZT13NS5aNigxNCk7ZmU9dzUuWjYoMjMpO3BlPXc1Llo2KDExMSk7X2U9dzUuWjYoMjYwKTtsZT0vbWFjaW50b3NoLztkZT13NS5mNig5MCk7dmU9dzUuZjYoMzMyKTtiZT13NS5mNigyMDApO21lPS9tb3ppbGxhLztnZT13NS5mNigxNzQpO3llPXc1LmY2KDEzNSk7a2U9dzUuZjYoMzc4KTt3ZT0vKD86XHcrKVwvKFtcZFwuXSspKD86JHxcc3xcL3xcKSkrL2k7eGU9dzUuWjYoMzQpO09lPXc1LmY2KDM3Nyk7Q2U9dzUuZjYoNDcyKTtFZT13NS5mNigxMTUpO1BlPXc1Llo2KDE5NCk7VGU9dzUuZjYoNDE0KTtBZT13NS5mNig2NSk7RmU9dzUuWjYoMTA3KTtTZT13NS5mNig0MDMpO2plPXc1LmY2KDI5Mik7TGU9dzUuWjYoNTgpO3plPXc1Llo2KDE2NCk7QmU9Lyg/Ok9QUnxPcGVyYXxPUGlPUylcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0llPXc1LmY2KDIyOSk7TWU9dzUuWjYoNDY3KTtXZT13NS5mNig0NjMpO0RlPXc1Llo2KDQzNyk7VWU9dzUuZjYoMTkzKTtSZT13NS5aNigzMyk7TmU9dzUuZjYoODUpO0hlPXc1LmY2KDQwOCk7cWU9dzUuZjYoMjApO0plPXc1Llo2KDk4KTtWZT13NS5mNigxMzYpOyRlPXc1LmY2KDI3Nyk7UWU9dzUuWjYoNyk7R2U9dzUuWjYoODYpO1llPXc1LmY2KDE3NSk7S2U9dzUuWjYoMjcxKTtaZT13NS5aNigzOTkpO1hlPXc1LmY2KDEzMyk7dGk9dzUuWjYoOTUpO2VpPXc1LmY2KDE1Mik7aWk9dzUuWjYoMzEyKTtuaT13NS5aNigyOTgpO3JpPXc1Llo2KDQzMyk7b2k9dzUuZjYoMTgzKTtzaT0vYW5kcm9pZHx3ZWJvc3xpcGhvbmV8aXBhZHxpcG9kfGJsYWNrYmVycnl8aWVtb2JpbGV8b3BlcmFccyttaW5pLzthaT13NS5aNigzODIpO2NpPXc1LmY2KDEyNyk7dWk9dzUuWjYoMzM2KTtoaT13NS5aNigyOTUpO2ZpPXc1Llo2KDMwNyk7cGk9dzUuZjYoMjUxKTtfaT13NS5mNig0MTkpO2xpPXc1LmY2KDMxKTtkaT13NS5aNigyNzQpO3ZpPXc1LmY2KDQ0Nik7Ymk9dzUuWjYoMTYzKTttaT13NS5mNig5NCk7Z2k9dzUuWjYoMjIwKTt5aT13NS5aNigzNTQpO2tpPXc1Llo2KDE4Nik7d2k9dzUuZjYoNDEyKTt4aT13NS5mNig0NDcpO09pPXc1Llo2KDQwNCk7Q2k9dzUuZjYoNTIpO0VpPXc1Llo2KDY4KTtQaT13NS5mNigzNSk7VGk9dzUuZjYoNTYpO0FpPXc1LmY2KDEwMyk7Rmk9dzUuWjYoMzc5KTtTaT13NS5mNig0NTEpO2ppPXc1Llo2KDQ3NSk7TGk9dzUuWjYoMjEpO3ppPXc1LmY2KDE3MSk7Qmk9dzUuZjYoMTMxKTtJaT13NS5mNig0ODgpO01pPXc1LmY2KDE4MCk7V2k9dzUuWjYoNDQ1KTtEaT0vYnV0dG9ufGlucHV0L2k7VWk9dzUuWjYoMTM0KTtSaT13NS5mNigyMjgpO05pPXc1LmY2KDc4KTtIaT13NS5aNig1NCk7cWk9dzUuWjYoMTY3KTtKaT13NS5mNig0NjUpO1ZpPXc1Llo2KDMzNSk7JGk9dzUuZjYoMTY5KTtRaT13NS5mNigzNjgpO0dpPXc1LmY2KDI4Nyk7WWk9dzUuWjYoMzQ4KTtLaT13NS5mNigzMDEpO1ppPXc1LmY2KDQ0KTtYaT13NS5mNigyNjQpO3RuPXc1LmY2KDc3KTtlbj13NS5mNig0NjApO25uPXc1LmY2KDMzNyk7cm49dzUuWjYoMTU3KTtvbj13NS5aNigzMjUpO3NuPXc1LmY2KDIzNyk7YW49dzUuZjYoNDg2KTtjbj13NS5mNigxNTUpO3VuPXc1Llo2KDEwNCk7aG49dzUuWjYoMzU2KTtmbj13NS5aNig0OCk7cG49dzUuZjYoMjQyKTtfbj13NS5mNig0MDApO2xuPXc1Llo2KDI2NSk7ZG49dzUuZjYoMjg0KTt2bj13NS5aNigyODgpO2JuPXc1LmY2KDQzOSk7bW49dzUuWjYoMzQxKTtnbj13NS5aNigyMDMpO3luPXc1LmY2KDIxNyk7a249dzUuWjYoMzIxKTt3bj13NS5mNig0MzIpO3huPXc1LmY2KDIyKTtPbj02NDc9PSg0OTguMjUsMjAwKT8oMS42OWUrMyw0NjkpOnc1LmY2KDk2KTtDbj13NS5mNigzODMpO0VuPXc1LmY2KDM1OSk7UG49dzUuWjYoMzUwKTtUbj0vXk9wZXJhXC8uKj9QcmVzdG9cLy4qP1ZlcnNpb25cLyhbXGRcLl0rKS9pO0FuPXc1Llo2KDE5MSk7Rm49dzUuZjYoNDQ4KTtTbj13NS5mNigyNDQpO2puPXc1Llo2KDIzMSk7TG49dzUuZjYoMTIwKTt6bj13NS5mNig0NTApO0JuPXc1Llo2KDExOCk7SW49dzUuZjYoNik7TW49dzUuWjYoNzUpO1duPXc1LmY2KDEyMyk7RG49dzUuWjYoMzA0KTtVbj0vcmVzZXR8YnV0dG9ufHN1Ym1pdC9pO1JuPXc1LmY2KDQ4NCk7Tm49dzUuZjYoMTk2KTtIbj13NS5mNigyMjYpO3FuPXc1LmY2KDM1Myk7Sm49dzUuWjYoMTgpO1ZuPXc1LmY2KDE2OCk7JG49dzUuZjYoMzE0KTtRbj13NS5aNig0NzEpO0duPXc1LmY2KDQ1OSk7WW49dzUuZjYoMzE3KTtLbj13NS5mNigyNDkpO1puPS9WZXJzaW9uXC8oW1xkXC5dKylccysobW9iaWxlXC9bXlxzXStccyspP1NhZmFyaS9pO1huPXc1LmY2KDE0NSk7dHI9dzUuWjYoMjQwKTtlcj13NS5mNigxOSk7aXI9dzUuWjYoNDg5KTtucj13NS5aNigyNzYpO3JyPXc1LmY2KDQ4Mik7b3I9dzUuZjYoNDY2KTtzcj13NS5aNigyNzApO2FyPXc1Llo2KDE0Nyk7Y3I9dzUuZjYoMjQpO3VyPXc1LmY2KDgzKTtocj13NS5aNigyNzkpO2ZyPXc1Llo2KDQzKTtwcj13NS5mNig0MjApO19yPXc1LmY2KDQ2Mik7bHI9L2Nocm9tZXxjcmlvcy87ZHI9dzUuWjYoNDExKTt2cj0vIy4qJC87YnI9dzUuZjYoMTU5KTttcj13NS5aNigwKTtncj0vKGNvbXBhdGlibGV8d2Via2l0KS87eXI9L0Z4aU9TXC8oW1xkXC5dKykvaTtrcj13NS5mNig1OSk7d3I9dzUuWjYoMzgpO3hyPXc1LmY2KDE5OCk7T3I9dzUuZjYoMTApO0NyPXc1LmY2KDQ2NCk7RXI9dzUuWjYoMTE2KTtQcj13NS5mNigzNjkpO1RyPXc1LmY2KDEyMSk7QXI9L21zaWV8dHJpZGVudFwvLztGcj13NS5mNigyNTYpO1NyPXc1LmY2KDQ3MCk7anI9dzUuZjYoMjkzKTtMcj13NS5mNig4Nyk7enI9L2Nocm9tZXxvcGVyYXxlZGdlfGNyaW9zfG9waW9zfGZ4aW9zfHVjL2k7QnI9dzUuWjYoMjUyKTtJcj13NS5aNigxMDgpO01yPXc1LmY2KDkxKTtXcj13NS5mNigyKTtEcj13NS5mNigyNjgpO1VyPXc1Llo2KDI3OCk7UnI9dzUuWjYoMzI2KTtOcj13NS5mNig5KTtIcj13NS5mNigxMzIpO3FyPXc1Llo2KDMyNCk7SnI9LyhhbmRyb2lkfGJiXGQrfG1lZWdvKS4rbW9iaWxlfGF2YW50Z298YmFkYVwvfGJsYWNrYmVycnl8YmxhemVyfGNvbXBhbHxlbGFpbmV8ZmVubmVjfGhpcHRvcHxpZW1vYmlsZXxpcChob25lfG9kKXxpcGFkfGlyaXN8a2luZGxlfEFuZHJvaWR8U2lsa3xsZ2UgfG1hZW1vfG1pZHB8bW1wfG5ldGZyb250fG9wZXJhIG0ob2J8aW4paXxwYWxtKCBvcyk/fHBob25lfHAoaXhpfHJlKVwvfHBsdWNrZXJ8cG9ja2V0fHBzcHxzZXJpZXMoNHw2KTB8c3ltYmlhbnx0cmVvfHVwXC4oYnJvd3NlcnxsaW5rKXx2b2RhZm9uZXx3YXB8d2luZG93cyAoY2V8cGhvbmUpfHhkYXx4aWluby9pO1ZyPSgyNDk2LDg0OTUpIT05NzY/dzUuZjYoMjk3KTohITA7JHI9dzUuWjYoNDI2KTtRcj13NS5mNigyMjUpO0dyPXc1LmY2KDE4OCk7WXI9dzUuZjYoNDMxKTtLcj13NS5mNigyNTApO1pyPXc1Llo2KDI2MSk7WHI9dzUuZjYoMTc2KTt0bz13NS5mNigyNSk7ZW89dzUuWjYoMTk1KTtpbz13NS5mNigzMjgpO25vPXc1Llo2KDQwOSk7cm89dzUuZjYoMzQ5KTtvbz13NS5aNigzMjIpO3NvPXc1Llo2KDMxNik7YW89dzUuWjYoMzg1KTtjbz13NS5mNigxMTMpO3VvPXc1LmY2KDQ3NCk7aG89dzUuWjYoMjY3KTtmbz13NS5mNigyNjYpO3BvPXc1Llo2KDQwNyk7X289dzUuWjYoNjMpO2xvPXc1Llo2KDM2Nyk7dm89L3dlYmtpdC87Ym89dzUuWjYoNDUyKTttbz0vc2FmYXJpLztnbz13NS5aNig5Myk7eW89L29wZXJhfG9wcnxvcGlvc1wvLztrbz13NS5aNigzMzEpO3dvPXc1LmY2KDI2KTt4bz13NS5aNigxODIpO09vPXc1LmY2KDM4MCk7Q289dzUuWjYoMTEwKTtFbz13NS5mNigxMTIpO1BvPXc1LmY2KDMwNSk7VG89dzUuZjYoNzQpO0FvPXc1LmY2KDEwMik7Rm89dzUuZjYoNDc4KTtTbz0vYW5kcm9pZC87am89dzUuZjYoMzkxKTtMbz13NS5aNigzMDYpO3pvPXc1LmY2KDQwNSk7Qm89dzUuWjYoOTkpO0lvPXc1Llo2KDM5Nik7TW89dzUuWjYoNDQwKTtXbz13NS5mNig2Nyk7RG89dzUuWjYoNDAxKTtVbz13NS5aNigxNTQpO1JvPXc1LmY2KDI4OSk7Tm89dzUuWjYoMzkzKTtIbz13NS5mNig3OSk7cW89dzUuWjYoMTQwKTtKbz13NS5aNigzNzIpO1ZvPXc1Llo2KDQyMik7JG89dzUuZjYoNDQ5KTtRbz13NS5aNigzOTUpO0dvPXc1Llo2KDIwNik7WW89dzUuWjYoMjQzKTtLbz13NS5mNig2Mik7Wm89dzUuWjYoNDg1KTtYbz13NS5mNigxMzApO3RzPXc1Llo2KDE1Nik7ZXM9dzUuZjYoMjAxKTtpcz13NS5aNigzNjEpO25zPXc1LmY2KDMxNSk7cnM9dzUuWjYoMTIyKTtvcz13NS5mNig3MCk7c3M9dzUuZjYoMjU3KTthcz13NS5aNig0MjUpO2NzPXc1LmY2KDMzMCk7dXM9dzUuZjYoNzMpO2hzPXc1LmY2KDMwMyk7ZnM9dzUuWjYoMTAwKTtwcz13NS5mNigzNzQpO19zPXc1Llo2KDY2KTtscz0oODI2LjA2LDk5Ny4yKSE9PSgyNjIuNzksNzAwLjQpP3c1LmY2KDE3OSk6KG81LHc1Llo2KDM2KSk7ZHM9dzUuWjYoMjIzKTt2cz13NS5mNigxMTkpO2JzPXc1Llo2KDMwOCk7bXM9dzUuZjYoNDcpO2dzPXc1Llo2KDMxOSk7eXM9dzUuZjYoMTgxKTtrcz13NS5mNigzNDUpO3dzPXc1Llo2KDE1KTt4cz0vXigjfGphdmFzY3JpcHQpL2k7T3M9dzUuWjYoMzY2KTtDcz13NS5aNigxOTkpO0VzPXc1Llo2KDM4NCk7UHM9dzUuZjYoNDA2KTtUcz13NS5mNig0MjkpO0FzPXc1LmY2KDI0Nyk7RnM9dzUuZjYoNDQzKTtTcz13NS5mNigzMzgpO2pzPS8oPzpGaXJlZm94fENocm9tZSlcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0xzPXc1Llo2KDM3MCk7enM9dzUuZjYoMzEwKTtCcz13NS5aNigzODYpO0lzPXc1Llo2KDI5NCk7TXM9dzUuWjYoMjgzKTtXcz13NS5aNigzODcpO0RzPXc1LmY2KDM5KTtVcz13NS5aNigxMDYpO1JzPXc1LmY2KDIwMik7TnM9dzUuWjYoMzExKTtIcz13NS5mNig0MzgpO3FzPXc1LmY2KDcxKTtKcz13NS5mNigxMzcpO1ZzPXc1Llo2KDI3KTskcz13NS5aNig4NCk7UXM9L18vZztHcz13NS5aNigxNTgpO1lzPXc1Llo2KDE5Mik7S3M9dzUuZjYoNDIzKTtacz13NS5mNigzMzkpO1hzPXc1Llo2KDE1MCk7dGE9dzUuWjYoMTQyKTtlYT13NS5mNig0KTtpYT13NS5aNig0MTApO25hPXc1LmY2KDIzNik7cmE9dzUuZjYoNDAyKTtvYT13NS5mNigyMTQpO3NhPXc1Llo2KDQxNyk7YWE9dzUuZjYoMTg0KTtjYT13NS5aNigxOTcpO3VhPXc1LmY2KDIzMyk7aGE9dzUuZjYoMzApO2ZhPS9saW51eC87cGE9dzUuWjYoMjgyKTtfYT0vb3BlcmEvO2xhPXc1Llo2KDM2NCk7ZGE9dzUuWjYoMTczKTt2YT13NS5aNigzMDApO2JhPXc1LmY2KDIzNSk7bWE9L2VkZ2V8b3ByXC8vO2dhPXc1LmY2KDI4NSk7eWE9dzUuZjYoNDYpO2thPXc1Llo2KDEzKTt3YT13NS5aNigyMDUpO3hhPXc1LmY2KDIyNCk7T2E9dzUuZjYoMzQ0KTtDYT13NS5aNigyMTMpO0VhPS9FZGdlXC8oW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTtQYT13NS5mNigxMjYpO1RhPXc1Llo2KDExNCk7QWE9L14oPzouKlteXHddKSooW1x3XSspXHMqJC9pO0ZhPXc1LmY2KDM5Mik7U2E9dzUuWjYoNjkpO2phPXc1LmY2KDMpO0xhPXc1LmY2KDQ1KTt6YT13NS5mNigzMjMpO0JhPXc1LmY2KDEzOSk7SWE9dzUuWjYoMTI5KTtNYT13NS5mNig4KTtXYT13NS5mNig0Mik7RGE9dzUuZjYoMSk7VWE9dzUuWjYoODkpO1JhPXc1LmY2KDIwOSk7TmE9dzUuZjYoMjgpO0hhPXc1LmY2KDIxOSk7cWE9dzUuWjYoMjMwKTtKYT13NS5aNig4MSk7VmE9dzUuWjYoMzA5KTskYT13NS5mNigzNDcpO1FhPXc1LmY2KDM4MSk7R2E9dzUuWjYoOTIpO1lhPXc1LmY2KDEyNSk7S2E9dzUuWjYoMzIpO1phPXc1LmY2KDM5MCk7WGE9dzUuZjYoNDY4KTt0Yz13NS5mNigzNik7ZWM9dzUuZjYoMzk3KTtpYz13NS5aNig0ODApO25jPXc1LmY2KDIyMik7cmM9dzUuZjYoNDU3KTtvYz13NS5aNigzNTIpO3NjPXc1Llo2KDI5KTthYz0vaShQaG9uZXxQYWR8UG9kKS9pO2NjPXc1LmY2KDQzNCk7dWM9dzUuZjYoNDIxKTtoYz13NS5aNig0NzMpO2ZjPXc1LmY2KDE3MCk7cGM9dzUuZjYoMjYyKTtfYz13NS5aNigxNTEpO2xjPXc1LmY2KDQ5KTtkYz13NS5mNigyNTQpO3ZjPXc1LmY2KDQyOCk7YmM9dzUuZjYoMTUzKTttYz13NS5aNigyNjkpO2djPXc1Llo2KDU3KTt5Yz13NS5mNigzNTcpO2tjPS9UcmlkZW50XC8uKj9ydjooW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTt3Yz13NS5aNig0NTMpO3hjPXc1Llo2KDQ3Nik7T2M9dzUuZjYoNDU0KTtDYz13NS5mNig0NTgpO0VjPXc1LmY2KDgwKTtQYz0vOlxkKyQvO1RjPXc1Llo2KDI3Mik7QWM9dzUuWjYoMzI3KTtGYz13NS5mNig0NzkpO1NjPXc1Llo2KDYxKTtqYz13NS5mNigyOTEpO0xjPXc1Llo2KDIzMik7emM9dzUuWjYoMTEpO0JjPXc1LmY2KDM0Nik7SWM9dzUuWjYoMTA1KTtNYz13NS5aNig0NzcpO1djPXc1Llo2KDQwKTtEYz13NS5aNig3Nik7VWM9dzUuWjYoMTYpO1JjPXc1Llo2KDIyNyk7TmM9dzUuWjYoMjA0KTtIYz13NS5mNigzNyk7IWZ1bmN0aW9uKHQseSxSdCxYZSxyaSx5aSxBaSxObixkcixVcixpbyxybyxDbyxHcyx6YyxVYyxxYyxKYyxWYywkYyl7InVzZSBzdHJpY3QiO3ZhciBRYyxHYyxZYyxLYyxaYyxYYyx0dSxldSxpdSxudSxydSxvdSxzdSxhdSxjdSx1dSxodSxmdSxwdSxfdSxsdSxkdSx2dSxidSxtdSxndSx5dSxrdSx3dSx4dSxPdSxDdSxFdSxQdSxUdSxBdSxGdTtydT10O3c1Llk0KDApO291PXc1LmM0KHVpLEdyLGJyLF9yLFllLFNpLFR0LGRuLFllLHUsbWksT3QsR3IsWWUsdXIpO3c1Llk0KDEpO3N1PXc1LnU0KGZlLFR0LEh0LG90LFR0KTt3NS5vNCgxKTthdT13NS51NChXaSxQZSxLLF9jLFBlKTt3NS5ZNCgyKTtjdT13NS5jNChydSxnaSk7dzUubzQoMik7dXU9dzUudTQocnUsWm8pO3c1Lm80KDMpO2h1PXc1LmM0KE9jLHJ1LEJpLFV0LEdyLEdyKTt3NS5vNCgyKTtmdT13NS51NChydSwkYSk7cHU9YW87X3U9eGk7bHU9THI7ZHU9bW47dnU9eVtmXVtxbytHcitDXVtYcytHcit0cytHcituY10oKTtidT17dW5kZXI6bzUsbmV3VGFiOm81fTttdT1udWxsO2d1PW81O3l1PSF7fTtrdT1mdW5jdGlvbigpe307dzUuWTQoNCk7d3U9dzUudTQoR3IsT3QsRXQpO3h1PXJpW3ZzK0dyK0FvXXx8e3NyYzpudWxsfTt3NS5vNCg0KTtPdT15W2ZdW3c1LmM0KGVvLEdyLGtyKV07Q3U9eXU7RXU9eXU7UHU9eXU7VHU9ZnVuY3Rpb24oKXt2YXIgRTksbzksdzk7dHJ5e0U5PTM2MDIzMDM0MztvOT01MDA4ODEwMDM7dzk9Mjtmb3IodmFyIGI1PTE7dzUuTDEoYjUudG9TdHJpbmcoKSxiNS50b1N0cmluZygpLmxlbmd0aCw1ODI0MykhPT1FOTtiNSsrKXtyZXR1cm4geVtwXT09PXlbcXJdfHwheVtwXVttcl1bRWldWyhYcy1HciklaF0oKSE9VGM/eVtwXTp5W3FyXTt3OSs9Mjt9aWYodzUuTDEodzkudG9TdHJpbmcoKSx3OS50b1N0cmluZygpLmxlbmd0aCw1MTUyOSkhPT1vOSl7cmV0dXJuIHlbcF0hPT15W3FyXSYmdHlwZW9mIHlbcF1bbXJdW0VpXVtYcytHcitoXSgpPT09VGM/eVtwXTp5W3FyXTt9fWNhdGNoKHQpe3ZhciBBOSxJOSxLOTtBOT0yMjIyMDY4MDc7STk9NDU1MTUwMTA4O0s5PTI7Zm9yKHZhciBROT0xO3c1LkwxKFE5LnRvU3RyaW5nKCksUTkudG9TdHJpbmcoKS5sZW5ndGgsNjg5NDApIT09QTk7UTkrKyl7cmV0dXJuIFB1PWd1LHlbcXJdO0s5Kz0yO31pZih3NS5MMShLOS50b1N0cmluZygpLEs5LnRvU3RyaW5nKCkubGVuZ3RoLDU2NzU3KSE9PUk5KXtyZXR1cm4gUHU9Z3UseVtxcl07fX19KCk7QXU9VHVbSmFdW1FhXTtGdT1mdW5jdGlvbigpe3ZhciB0O3RyeXt0PVR1W0VpXVt1bl07fWNhdGNoKHQpe31yZXR1cm4hUHUmJnR8fChidT17bmV3VGFiOmd1LHVuZGVyOnl1fSx0PXJpW2lhXSksdDt9KCk7S2M9e3Q6W10sbjpmdW5jdGlvbih0KXt2YXIgSDcsdjcsVDc7SDc9MTg2NDAwNjYwNDt2Nz03MzE4NDIzNTE7VDc9Mjtmb3IodmFyIG83PTE7dzUuZDEobzcudG9TdHJpbmcoKSxvNy50b1N0cmluZygpLmxlbmd0aCw5MTY5NikhPT1INztvNysrKXt0eXBlb2YgeVt3c10hPT1nZSYmeVt3c11bT29dJiZObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO1Q3Kz0yO31pZih3NS5kMShUNy50b1N0cmluZygpLFQ3LnRvU3RyaW5nKCkubGVuZ3RoLDI0OTc5KSE9PXY3KXt+eVt3c109PT1nZXx8eVt3c11bT29dfHxObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO319LHI6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9MDt0PHRoaXMudFtwaV07dCsrKXt0aGlzLm4odGhpcy50W3RdKTt9fSxlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9W3RdW0tuXShBaVtYdF1bcW5dW0NpXShhcmd1bWVudHMsMSkpO3RoaXMudFtNcl0oZSk7R2MuaSgpJiZ0aGlzLm4oZSk7fX07ZXU9e3M6ZnVuY3Rpb24oKXtpZih0aGlzLm89PT1tdSl0cnl7eVthcytHcit0aV1bbGkrR3IrRXJdKHJ1LDEpO3lbYXMrR3IrdGldW3huK0dyK0VyXShydSk7dGhpcy5vPWd1O31jYXRjaCh0KXt2YXIgdzcscDcsYjk7dzc9LTE2MTA5ODQyMzA7cDc9OTg2NDU4NDQ2O2I5PTI7Zm9yKHZhciBtOT0xO3c1LmQxKG05LnRvU3RyaW5nKCksbTkudG9TdHJpbmcoKS5sZW5ndGgsODg3MTMpIT09dzc7bTkrKyl7dGhpcy5vPXl1O2I5Kz0yO31pZih3NS5MMShiOS50b1N0cmluZygpLGI5LnRvU3RyaW5nKCkubGVuZ3RoLDMzNDE0KSE9PXA3KXt0aGlzLm89eXU7fXRoaXMubz15dTt9cmV0dXJuIHRoaXMubzt9LHU6ZnVuY3Rpb24odCl7dGhpcy5zKCk/eVthcytHcit0aV1beG4rR3IrRXJdKHQpOnR1LnUodCk7fSxjOmZ1bmN0aW9uKHQpe3RyeXtyZXR1cm4gdGhpcy5zKCk/eVthcytHcit0aV1bYWErR3IrRXJdKHQpOnR1LmModCk7fWNhdGNoKHQpe3JldHVybiBtdTt9fSxvOm11LGE6ZnVuY3Rpb24odCxlKXt0aGlzLnMoKT95W2FzK0dyK3RpXVtsaStHcitFcl0odCxlKTp0dS5hKHQsZSk7fX07dHU9e3U6ZnVuY3Rpb24odCl7dGhpcy5hKHQsMCxuZXcgSmMoMCkpO30sYzpmdW5jdGlvbih0KXt2YXIgZTt3NS5ZNCg1KTtlPXJpW050XVtiY10obmV3IFVyKHc1LnU0KGVyLEdyLEdyLGV0LHNjLHQsR3IsR3IsdHQsdWMsR3IsR3IsSm8sR3IpLGxzKSk7cmV0dXJuIGU/VmMoZVswXVtDcl0oR3IrZXQrR3IpWzFdKTptdTt9LGE6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO3M9aXx8R3I7cyYmKHR5cGVvZiBzPT09V3Q/KG89bmV3IEpjKCkpW2xpK0dyK0hdKG9bYWErR3IrSF0oKSsxZTMqcyk6bz1zLHM9R3IrZXIrZmkrZXQrR3Irb1tYcytHcitWcitHcit4YytHcitXK0dyK2hdKCkpO3JpW050XT10KyhHcitldCtHcikrJGMoR3IrZSkrcysocj9HcitlcitkcytldCtHcityOkdyKSsoR3IrZXIrQXQrZXQrR3IpKyhufHxHcitQZStHcik7fX07WmM9e3A6ZnVuY3Rpb24odCl7dmFyIGUsaTtpPXt9O2ZvcihlPTA7ZTx0W3BpXTtlKyspe2lbdFtlXVswXV09dFtlXVsxXTt9cmV0dXJuIGk7fSxXOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbjt0cnl7cmV0dXJuIG49dFthYStHcitHaV0oZSksdHlwZW9mIGkhPT1UYz95dTohIW5ldyBVcihGbitpK01zLGxzKVtqY10obik7fWNhdGNoKHQpe3JldHVybiB5dTt9fSxBOmZ1bmN0aW9uKCl7dHJ5e3JldHVybiB0eXBlb2YgeS5qUXVlcnkuZm4ub249PT1aczt9Y2F0Y2godCl7cmV0dXJuIHl1O319LEc6ZnVuY3Rpb24odCl7cmV0dXJuKHQ/bmV3IEpjKHQpOm5ldyBKYygpKVthYStHcitIXSgpO30sTTpmdW5jdGlvbih0KXt2YXIgbTAsQTAsSTAsZSxsNyxjNyxWNzttMD0tMTc4MjYxMjU4MTtBMD0tMTYzMzI0MDE2NDtJMD0yO2Zvcih2YXIgcjA9MTt3NS5MMShyMC50b1N0cmluZygpLHIwLnRvU3RyaW5nKCkubGVuZ3RoLDM0ODU4KSE9PW0wO3IwKyspe0kwKz0yO31pZih3NS5MMShJMC50b1N0cmluZygpLEkwLnRvU3RyaW5nKCkubGVuZ3RoLDg0OTA2KSE9PUEwKXt9dHJ5e2w3PS0xMjU4NTI0ODY5O2M3PTc3MTI1MDQ2ODtWNz0yO2Zvcih2YXIgeTc9MTt3NS5kMSh5Ny50b1N0cmluZygpLHk3LnRvU3RyaW5nKCkubGVuZ3RoLDEwMjkyKSE9PWw3O3k3KyspeyhlPXRbSmFdW1FhXShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7VjcrPTI7fWlmKHc1LmQxKFY3LnRvU3RyaW5nKCksVjcudG9TdHJpbmcoKS5sZW5ndGgsMjYwMTcpIT09YzcpeyhlPXRbSmFdW1FhXSgoVWEtVnQpL2NpKSlbYm9dKCk7ZVtJb10oKTt9fWNhdGNoKHQpe30oZT1BdShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7fSxUOmZ1bmN0aW9uKHQpe3QmJihUdVtFaV09dCk7fSxxOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxpPVt5cixUbixFYSxCZSxqcyxabixqdCxrYyx3ZV0sbj0wO248aVtwaV07bisrKWlmKGU9aVtuXVtqY10odnUpKXtyZXR1cm4gdD9VYyhlWzFdLDEwKTplWzFdW1pdKFFzLEdyK1R0K0dyKTt9cmV0dXJuIG11O30sTDpmdW5jdGlvbih0LGUpe3c1Llk0KDcpO3JldHVybiB3NS51NChZZSxlcixHcix0LGllLHlzLEdyLGUsR3IsVmUsVnQsR3IpO30sXzpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUTAsZTAsajA7UTA9LTE2NDA5MDY2NDA7ZTA9MzYxNTQ4MTI4O2owPTI7Zm9yKHZhciB0MD0xO3c1LmQxKHQwLnRvU3RyaW5nKCksdDAudG9TdHJpbmcoKS5sZW5ndGgsMzk3NjcpIT09UTA7dDArKyl7aT15O3c1Llk0KDQpO249dFtDcl0odzUudTQoR3IsVHQsR3IpKTtmb3IoZT0wO2U8bltwaV07ZSsrKXtpPWlbbltlXV07fXJldHVybiBpO2owKz0yO31pZih3NS5MMShqMC50b1N0cmluZygpLGowLnRvU3RyaW5nKCkubGVuZ3RoLDQ3NjE4KSE9PWUwKXtpPXk7dzUuWTQoNik7bj10W0NyXSh3NS51NChUdCxHcixHcikpO2ZvcihlPTQ7ZTw9bltwaV07ZS0tKXtpPWlbbltlXV07fXJldHVybiBpO319LFM6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbyxzMCxEMCxXMCxVMCx4MCx6MDtvPXkualF1ZXJ5fHxudWxsO2lmKHQmJnRbQW5dKXtyZXR1cm4gZ3U7fWlmKCFvKXtyZXR1cm4geXU7fXRyeXtzMD0tMTYxNTA0NTA7RDA9LTE5OTUwMzAzNTQ7VzA9Mjtmb3IodmFyIGMwPTE7dzUuZDEoYzAudG9TdHJpbmcoKSxjMC50b1N0cmluZygpLmxlbmd0aCw5Nzc5KSE9PXMwO2MwKyspe2lmKChlPShvKHQpW2llXShHYSkmJm8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9VzArPTI7fWlmKHc1LkwxKFcwLnRvU3RyaW5nKCksVzAudG9TdHJpbmcoKS5sZW5ndGgsMjI1MTYpIT09RDApe2lmKChlPShvKHQpW2llXShHYSl8fG8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9fX1jYXRjaCh0KXt9dHJ5e1UwPS0xMjgxMDM4MTgyO3gwPS01MjI2MTY2MzI7ejA9Mjtmb3IodmFyIGkwPTE7dzUuTDEoaTAudG9TdHJpbmcoKSxpMC50b1N0cmluZygpLmxlbmd0aCwzMjg1OSkhPT1VMDtpMCsrKXtmb3IoZT1vKHJpW1FyXSlbaWVdKEdhKVtnc10saT00O2k+ZVtwaV07aS0tKWZvcihyPW8oZVtpXVtvZV0pLG49NztuPj1yW3BpXTtuLS0paWYocltuXT09dCl7cmV0dXJuIGd1O316MCs9Mjt9aWYodzUuTDEoejAudG9TdHJpbmcoKSx6MC50b1N0cmluZygpLmxlbmd0aCw4ODE3MikhPT14MCl7Zm9yKGU9byhyaVtRcl0pW2llXShHYSlbZ3NdLGk9NDtpPmVbcGldO2ktLSlmb3Iocj1vKGVbaV1bb2VdKSxuPTc7bj49cltwaV07bi0tKWlmKHJbbl09PXQpe3JldHVybiBndTt9fWZvcihlPW8ocmlbUXJdKVtpZV0oR2EpW2dzXSxpPTA7aTxlW3BpXTtpKyspZm9yKHI9byhlW2ldW29lXSksbj0wO248cltwaV07bisrKWlmKHJbbl09PT10KXtyZXR1cm4gZ3U7fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sQzpmdW5jdGlvbih0LGUsaSl7dmFyIG4scixvO289WmMuTyhvNSk7cmV0dXJuIG49b1t0bytHcit5YV1bbXJdW1VzK0dyK0NuXShkZSksbltPXT1yYStQZStDdCxuW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoSmErVHQrX3QrWWUrR3IrZXQrR3IrWWUrSmErVHQrcCtZZStHcitldCtHcitZZStKYStUdCt1cytHcitDbitZZStHcitldCtHcitZZStkK2VyK0dyKSsoSmErVHQrJG4rWWUrR3IrZXQrR3IrWWUrWnMrUit6K1ZlK0dyK1llK3NvK1ZlK0dyK1llK0NlK1ArR3IrWWUrR3Ird24rR3IpKyh1YStZZStCcytHcitYbytZZStHcitldCtHcitZZStKYStUdCtRYStSK3orVmUrR3IrWWUrc28rVmUrR3IrWWUrQ2UrUCtHcitlcitHcikrKFdyK1llK0dyK3duK0JzK0dyK1hvK1R0K1dvK1llK0dyK2V0K0dyK1llK2QrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSsoTnIrWWUrQnMrR3IrWG8rZXIrR3IpKyhHcitEcitHcitlcitHciksb1t0bytHcit5YV1bbXJdW1FyXVtJdCtHcitXZV0obikscj1vW3RvK0dyK3lhXS5ta3AodCxlLGkpLFpjLlAobykscjt9LEI6ZnVuY3Rpb24odCxlLG4pe3ZhciByLG8scztyPTA7bz1ufHwxMDtzPXQ7dHJ5e2Zvcig7cyYmcisrPG87KXtpZih0eXBlb2YgZT09PVRjJiYoc1tTYytHcittY109PT1lfHxaYy5JKHMsZSkpfHx0eXBlb2YgZT09PWFyJiZzPT09ZSl7cmV0dXJuIHM7fXc1Llk0KDQpO3M9c1t3NS51NChfdCxHcixpKV07fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sRjpmdW5jdGlvbih0KXt2YXIgZTtlPVJ0W1RlXTtyZXR1cm4gdHlwZW9mIHQhPT1nZSYmKGU9KGN0W2pjXSh0KXx8W0dyLEdyXSlbMV0pLGVbWl0oUGMsR3IpO30seDpmdW5jdGlvbih0KXtyZXR1cm4geWlbWHRdW1hzK0dyK2hdW0NpXSh0KT09PUdyK0pvK2FyK1llK2JuK3R0K0dyO30sazpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUjAsUDAsSjA7aT1bXTtuPVpjLnYoKTt0cnl7UjA9LTE2Mjc2MTY5Mzc7UDA9LTIwMDI5NzgxNzY7SjA9Mjtmb3IodmFyIEIwPTE7dzUuTDEoQjAudG9TdHJpbmcoKSxCMC50b1N0cmluZygpLmxlbmd0aCw3NjkxMCkhPT1SMDtCMCsrKXtmb3IoZSBpbiBuKXt+dFtlXSE9Z2V8fGlbTXJdKGUvKChHci1ldCklR3IpLXRbZV0pO31KMCs9Mjt9aWYodzUuTDEoSjAudG9TdHJpbmcoKSxKMC50b1N0cmluZygpLmxlbmd0aCw4NjExMCkhPT1QMCl7Zm9yKGUgaW4gbil7fnRbZV0hPWdlfHxpW01yXShlLygoR3ItZXQpJUdyKS10W2VdKTt9fWZvcihlIGluIG4pe3R5cGVvZiB0W2VdIT09Z2UmJmlbTXJdKGUrKEdyK2V0K0dyKSt0W2VdKTt9fWNhdGNoKHQpe0tjLmUodCk7fXc1Llk0KDQpO3JldHVybiBpW05pXSh3NS5jNChHcixWZSxHcikpO30sUjpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5CKHQsT24pO30seTpmdW5jdGlvbigpe2Zvcih2YXIgdCxlPXt9LGk9MDtpPGFyZ3VtZW50c1twaV07aSsrKWZvcih0IGluIGFyZ3VtZW50c1tpXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0oYXJndW1lbnRzW2ldLHQpJiYoZVt0XT1hcmd1bWVudHNbaV1bdF0pO31yZXR1cm4gZTt9LFY6ZnVuY3Rpb24odCxlKXt2YXIgSjEsWDEsQjE7SjE9NDUyODczNzI5O1gxPTEyNzMxMDM4NTg7QjE9Mjtmb3IodmFyIE4xPTE7dzUuZDEoTjEudG9TdHJpbmcoKSxOMS50b1N0cmluZygpLmxlbmd0aCw1NTI1MSkhPT1KMTtOMSsrKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpKihlLXQpKSt0O0IxKz0yO31pZih3NS5kMShCMS50b1N0cmluZygpLEIxLnRvU3RyaW5nKCkubGVuZ3RoLDI4MzUxKSE9PVgxKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpJShlL3QpKSV0O319LFE6ZnVuY3Rpb24odCl7dmFyIGUsaSxuO3c1Llk0KDgpO2U9dzUuYzQodHlwZW9mIHQsYXIpO2k9dDt3NS5vNCg0KTtuPXJpW1VzK0dyK0NhXSh3NS51NChTbixHcix1bykpO25bTHMrR3IrU24rR3IrQ2FdKGdzLGd1LGd1LHksMCwwLDAsMCwwLGd1LHl1LHl1LGd1LDAsbXUpO2V8fChpPVpjLnooVSx7aHJlZjp0fHxpZStWdCtyYStQZStqbytWZStHcit1aStkZSt1citKYStUdCtJbytSK0dyK1ArR3IrZXIrR3IrdWkrR3IrUGUrZGUrdXIrR3J9KSxyaVtRcl1bSXQrR3IrV2VdKGkpKTtpW2duK0dyK0NhXShuKTtlfHxaYy5QKGkpO30sejpmdW5jdGlvbih0LGUsaSl7dmFyIG4scjtyPXJpW1VzK0dyK0NuXSh0KTtmb3IobiBpbiBlKXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShlLG4pJiZyW2xpK0dyK0dpXShuLGVbbl0pO31yZXR1cm4gaSYmKHJbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPWkpLHI7fSxZOmZ1bmN0aW9uKCl7dHJ5e3c1Lm80KDQpO3JldHVybiEhT3VbdzUuYzQoZW4sUGUsTWMpXVt3NS51NCgkaSxHcixXcyldO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sbDpmdW5jdGlvbih0KXt2YXIgZSxpLFk3LGY3LHM3O2U9WmMuXyh0KTt3NS5ZNCg0KTtpPXRbWl0oQWEsdzUudTQoR3Isem8scSkpO3RyeXtZNz0tMTYzMTA2MDI3MDtmNz0xOTgxNTM2MDYxO3M3PTI7Zm9yKHZhciBXNz0xO3c1LkwxKFc3LnRvU3RyaW5nKCksVzcudG9TdHJpbmcoKS5sZW5ndGgsMTYwMikhPT1ZNztXNysrKXtyZXR1cm4rbmV3IFVyKChacy9ZZS1HcikvIGkveHIsUnMpW2lyXShlW1hzJUdyL2hdKCkpO3M3Kz0yO31pZih3NS5MMShzNy50b1N0cmluZygpLHM3LnRvU3RyaW5nKCkubGVuZ3RoLDExNjM3KSE9PWY3KXtyZXR1cm4hbmV3IFVyKFpzK1llK0dyK2kreHIsUnMpW2lyXShlW1hzK0dyK2hdKCkpO319Y2F0Y2godCl7cmV0dXJuIHRbWHMrR3IraF0oKVtMK0dyK1dhXShrbytZZStycytZZStVK1llK1pzKT4tMT9ndTpYYy5kP2d1Onl1O319LHY6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbzt3NS5vNCg0KTtlPXlbdzUuYzQoUGEsR3IsZyldO3c1Llk0KDQpO2k9eVt3NS5jNChQYSxHcix3YyldO249eVtPaStHcitVZV18fHlbT2krR3IrV25dfHwwO3I9eVtPaStHcit4b118fHlbT2krR3IrQ2NdfHwwO289e307cmV0dXJuIG9bb2NdPWUsb1tLYV09aSxvW0hpXT1uLG9bcF09cixvW29yXT0wLG9bRWldPTEsb1tTcl09MSxvW09yXT0xLG8ucmVzaXphYmxlPTEsb1tNZV09MSxYYy5iJiYob1tLYV0rPVhjLm0/NDY6NTIpLFhjLmcmJihvW29jXS09NSxvW0thXS09NCksdHlwZW9mIHQ9PT1hciYmKG89WmMueShvLHQpKSxvO30sTzpmdW5jdGlvbih0KXt2YXIgZTtlPXJpW1VzK0dyK0NuXShjbik7cmV0dXJuIGVbeGVdW3h0XT1YaSx0JiZyaVtRcl1bSXQrR3IrV2VdKGUpLGU7fSxEOmZ1bmN0aW9uKHQpe3JldHVybiB0W1NjK0dyK21jXT09PUZjK0dyK1ZyK0dyK3hjK0dyK3hjK0dyK2ZjK0dyK2d0fHx0W1NjK0dyK21jXT09PXZhK0dyK2d0K0dyK210K0dyK1ZyK0dyK3hjJiZVbltpcl0odFthYStHcitHaV0oTykpfHx0aGlzLkIodCxGYytHcitWcitHcit4YytHcit4YytHcitmYytHcitndCkhPT15dTt9LFA6ZnVuY3Rpb24odCl7dCYmdFtfdCtHcitpXSYmdFtfdCtHcitpXVt4bitHcitXZV0odCk7fSxJOmZ1bmN0aW9uKHQsZSl7dmFyIG4scixvO2lmKHR5cGVvZiBlIT09VGMpe3JldHVybiB5dTt9aWYodHlwZW9mIHJpW2VlK0dyK3Z0K0dyK21dPT09WnMpdHJ5e3I9dFtfdCtHcitpXVtlZStHcit2dCtHcittXShlKXx8eS5qUXVlcnkoZSk7fWNhdGNoKHQpe31lbHNlIGlmKFpjLkEoKSl0cnl7cj15LmpRdWVyeShlKTt9Y2F0Y2godCl7fWlmKHIpZm9yKG89MDtvPHJbcGldO28rKylpZihyW29dPT09dCl7cmV0dXJuIGd1O31zd2l0Y2goZVswXSl7Y2FzZSBHcitUdCtHcjpuPVtsbyxlW2ZzXSgxKV07YnJlYWs7Y2FzZSBHcitzZStHcjpuPVtWYSxlW2ZzXSgxKV07fXJldHVybiBuP3RoaXMuVyh0LG5bMF0sblsxXSk6eXU7fSxmOmZ1bmN0aW9uKHQsZSl7dHJ5e3JldHVybiEoIXRba2ldW2VdfHwhdFtraV1bZV1bWW5dKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LE46ZnVuY3Rpb24odCl7dmFyIGU7ZT10aGlzLlIodCk7cmV0dXJuIGUmJmVbdW5dJiYheHNbaXJdKGVbdW5dKT9lW3VuXTp5dTt9LEo6ZnVuY3Rpb24odCxlLGksbil7Zm9yKHZhciByLG8scyxhPXRbWHMrR3IraF0oKVtDcl0obnx8R3IrVHQrR3IpLGM9ZVtYcytHcitoXSgpW0NyXShufHxHcitUdCtHciksdT0wLGY9ZHJbQm9dKGFbcGldLGNbcGldKTt1PGYmJihyPVVjKGFbdV18fDAsMTApLG89VWMoY1t1XXx8MCwxMCkscWMocikmJihyPTApLHFjKG8pJiYobz0wKSxzPXI+bz8xOi0xLHI9PT1vKTt1Kyspe3M9MDt9c3dpdGNoKGkpe2Nhc2UgR3IrdXIrR3I6dzUubzQoOCk7cmV0dXJuIHc1LnU0KDEscyk7Y2FzZSBHcit1citHcitldCtHcjp3NS5ZNCg5KTtyZXR1cm4gdzUuYzQocywxKTtjYXNlIEdyK3VpK0dyOnc1Lm80KDEwKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK3VpK0dyK2V0K0dyOnc1Llk0KDExKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK2V0K0dyK2V0K0dyOmNhc2UgR3IrZXQrR3IrZXQrR3IrZXQrR3I6ZGVmYXVsdDp3NS5ZNCg4KTtyZXR1cm4gdzUudTQoMCxzKTt9fSwkOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1wZVtDcl0oR3IpLGk9ZVtwaV0sbj0wLHI9R3I7bjx0O24rKyl7cis9ZVtkcltBY10oZHJbTW5dKCkqaSldO31yZXR1cm4gcjt9LGg6ZnVuY3Rpb24odCxlKXt0cnl7cmV0dXJuIHRbYWErR3IrR2ldKGUpO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sSDpmdW5jdGlvbih0LGUsaSl7dmFyIG47dzUubzQoMik7bj13NS5jNChoaSx0KTtyZXR1cm4gdHlwZW9mIHlbbl0hPT1nZSYmcm8oeVtuXSkseVtuXT1pbyhlLGkpO30sdzpmdW5jdGlvbigpe3JldHVybiBQdTt9LFU6ZnVuY3Rpb24odCl7cmV0dXJuIHRbU2MrR3IrbWNdPT09dmErR3IrZ3QrR3IrbXQrR3IrVnIrR3IreGMmJm5lW2lyXSh0W2FhK0dyK0dpXShPKSl8fHRbU2MrR3IrbWNdPT09cGErR3IrT24rR3IrRmMrR3IrUHMrR3IrcGE7fX07aXU9e3R0OmZ1bmN0aW9uKHQsZSl7dmFyIGkscTUsbTUsQTU7dHJ5e3E1PS0xNDE1MjczNDIzO201PS0zMzc1MDc5MjY7QTU9Mjtmb3IodmFyIEs1PTE7dzUuZDEoSzUudG9TdHJpbmcoKSxLNS50b1N0cmluZygpLmxlbmd0aCwzNzU1NSkhPT1xNTtLNSsrKXtyZXR1cm4gZXx8KGk9cmlbKHdyLUdyKSVqbipHcipMY10odFtIYyVHci9VZV0sdFtIYy9Hci14b10pKT9pOnRbVGldJiZ0W1hzLUdyLUNuXSYmdFsoWHItR3IpJUNuXTtBNSs9Mjt9aWYodzUuTDEoQTUudG9TdHJpbmcoKSxBNS50b1N0cmluZygpLmxlbmd0aCw3MjUzNikhPT1tNSl7cmV0dXJuIGUmJihpPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXSx0W0hjK0dyK3hvXSkpP2k6dFtUaV18fHRbWHMrR3IrQ25dfHx0W1hyK0dyK0NuXTt9fWNhdGNoKHQpe3JldHVybiB5dTt9fSxYOmZ1bmN0aW9uKHQsZSxpLG4pe3JldHVybiB0eXBlb2YgdFtIbitHcitDYStHcitFbl09PT1acz90W0huK0dyK0NhK0dyK0VuXShlLGksbnx8e30pOnRbRmUrR3IrQ2FdKE5vK2UsaSk7fSxLOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByO3I9ZnVuY3Rpb24oKXtpdS5aKHQsZSxyLG4pO2lbQ2ldKCk7fTtpdS5YKHQsZSxyLG4pO30sWjpmdW5jdGlvbih0LGUsaSxuKXtyZXR1cm4gdHlwZW9mIHRbeG4rR3IrQ2ErR3IrRW5dPT09WnM/dFt4bitHcitDYStHcitFbl0oZSxpLG58fHt9KTp0W0tpK0dyK0NhXShObytlLGkpO319OyEoWGM9e2l0OmZhW2lyXSh2dSksbnQ6c3RbaXJdKHZ1KSxtOmxlW2lyXSh2dSksZXQ6YWNbaXJdKHZ1KSxydDpTb1tpcl0odnUpLG90OnNpW2lyXSh2dSl8fEpyW2lyXSh2dSl8fHVlW2lyXSh2dVtmc10oMCw0KSksc3Q6dm9baXJdKHZ1KSxnOkFyW2lyXSh2dSkmJiFfYVtpcl0odnUpLGI6bHJbaXJdKHZ1KSYmIW1hW2lyXSh2dSksYXQ6bWVbaXJdKHZ1KSYmIWdyW2lyXSh2dSksY3Q6eFtpcl0odnUpLGQ6Rltpcl0odnUpLHV0OnlvW2lyXSh2dSksX3Q6bXUscHQ6WmMucShndSl8fG11LGx0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3QhPT1tdT90aGlzLl90OnRoaXMuX3Q9UWMuZHQoKSE9PXl1O30sSjpmdW5jdGlvbih0LGUpe3JldHVybiBaYy5KKFhjLmZ0LGUsdCk7fSxodDptb1tpcl0odnUpJiYhenJbaXJdKHZ1KSxmdDpaYy5xKHl1KXx8bXV9KS5ldHx8WGMuaHR8fFhjLmR8fFhjLmJ8fChYYy51dD1vNSk7KFljPWZ1bmN0aW9uKHQsZSxpKXt2YXIgbjtuPWl8fHt9O25bel09ZTt0aGlzLnZ0KG4pO3RoaXMubXQuYnR8fCh0aGlzLm10LmJ0PXJ1K3QpO3RoaXMuZ3QoKTt9KVtYdF09e2t0OntUdDpndSxDdDptdSxqdDp5dSxFdDpHcitQZStHcixGdDprdSxMdDpndSxBdDp5dSxPdDpndSx4dDptdSxQdDpudWxsLGJ0Om11LHd0Om11LFN0Omt1fSxtdDp7fSx5dDpudWxsLHp0OlpjLnYoKSxCdDpaYy5wKFtbT3IsMF1dKSxJdDpaYy5wKFtbTWUsMV1dKSxNdDpaYy5wKFtbU3IsMV1dKSxXdDpaYy5wKFtbRWksMF0sW1NyLDBdXSksRHQ6WmMucChbW01lLDBdXSksVXQ6WmMucChbW1p0LDBdXSksUnQ6WmMucChbW0VpLDBdXSksc2V0T3B0aW9uczpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy52dCh0KTt9LGd0OmZ1bmN0aW9uKCl7dmFyIHQsZSxpLG47dD1mdW5jdGlvbih0LGUpe3ZhciBpLG47bj17fTtuW3B1XT1beXUsZ3VdO25bX3VdPVt5dSx5dV07bltsdV09W2d1LGd1XTtuW2R1XT1bZ3UseXVdO2ZvcihpIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixpKSYmbltpXVswXT09PXQmJm5baV1bMV09PT1lKXtyZXR1cm4gaTt9cmV0dXJuIF91O307ZT1YYy5sdCgpO2k9dChHYy5tdC4kdC5uZXdUYWIsR2MubXQuJHQudW5kZXIpO249dCh0aGlzLm10LkF0LHRoaXMubXQuVHQpO2V8fG49PT1wdSYmKG49aSk9PT1wdSYmKG49bHUpO1hjLm90JiYobj09PV91JiYobj1kdSksbj09PXB1JiYobj1sdSkpO3RoaXMueXQ9bjt9LEh0OmZ1bmN0aW9uKCl7dmFyIGswLG4wLEYwO2lmKHR5cGVvZiB0aGlzLm10Lnh0PT09WnMpdHJ5e3JldHVybiB0aGlzLm10Lnh0W0NpXSh0aGlzLHRoaXMubXQpW1hzK0dyK2hdKCk7fWNhdGNoKHQpe3JldHVybiBLYy5lKHQpLHl1O31rMD0tMTAwMjA0NzAxMztuMD0tMTY1MTM4NjMwNztGMD0yO2Zvcih2YXIgTTA9MTt3NS5MMShNMC50b1N0cmluZygpLE0wLnRvU3RyaW5nKCkubGVuZ3RoLDY4NDExKSE9PWswO00wKyspe3JldHVybiB0aGlzLm10Lnh0O0YwKz0yO31pZih3NS5kMShGMC50b1N0cmluZygpLEYwLnRvU3RyaW5nKCkubGVuZ3RoLDkwOTM5KSE9PW4wKXtyZXR1cm4gdGhpcy5tdC54dDt9fSxMdDpmdW5jdGlvbigpe3ZhciB0LGUsRzcsQzcsazcsVjAsdTAseTA7dD10aGlzLm10O2U9dC5PdCE9PU5zJiZ0Lk90IT09TmV8fHQuT3Q9PT1OcyYmWGMub3R8fHQuT3Q9PT1OZSYmIVhjLm90O3RyeXtHNz0tMTkzODMwODU3MjtDNz0tMTE3NzY0NDk2NDtrNz0yO2Zvcih2YXIgRjc9MTt3NS5kMShGNy50b1N0cmluZygpLEY3LnRvU3RyaW5nKCkubGVuZ3RoLDg5NDI0KSE9PUc3O0Y3Kyspe3R5cGVvZiB0Lkx0PT09WnM/ZT1lJiZ0Lkx0W0NpXSh0aGlzLGUsdGhpcy5OdCgpKSE9PXl1OnR5cGVvZiB0Lkx0PT09YW4mJihlPWUmJnQuTHQpO2s3Kz0yO31pZih3NS5MMShrNy50b1N0cmluZygpLGs3LnRvU3RyaW5nKCkubGVuZ3RoLDUzNDE4KSE9PUM3KXstdC5MdCE9PVpzP2U9ZXx8dC5MdFtDaV0odGhpcyxlLHRoaXMuTnQoKSk9PT15dTohdC5MdD09YW58fChlPWV8fHQuTHQpO319Y2F0Y2godCl7S2MuZSh0KTt9VjA9Njg3MDAyMDA4O3UwPS0yOTc1OTkyODc7eTA9Mjtmb3IodmFyIHYwPTE7dzUuTDEodjAudG9TdHJpbmcoKSx2MC50b1N0cmluZygpLmxlbmd0aCw2NDU0MSkhPT1WMDt2MCsrKXtyZXR1cm4gR2MuSnQoKT9lfHwtdGhpcy5WdDplfHwrdHUuYyh0LmJ0KTt5MCs9Mjt9aWYodzUuTDEoeTAudG9TdHJpbmcoKSx5MC50b1N0cmluZygpLmxlbmd0aCwyOTMyNSkhPT11MCl7cmV0dXJuIEdjLkp0KCk/ZXx8LXRoaXMuVnQ6ZXx8K3R1LmModC5idCk7fXJldHVybiBHYy5KdCgpP2UmJiF0aGlzLlZ0OmUmJiF0dS5jKHQuYnQpO30sdnQ6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHI7dGhpcy5tdD1aYy55KHRoaXMuenQsdGhpcy5rdCx0aGlzLm10LHR8fHt9KTtmb3IoaSBpbiB0aGlzLm10KWlmKHlpW1h0XVtCYStHcitsdCtHcitvb11bQ2ldKHRoaXMubXQsaSkpc3dpdGNoKG49dGhpcy5tdFtpXSxpKXtjYXNlIHNvOnRoaXMubXQud3Q9bjticmVhaztjYXNlIHo6dGhpcy5tdC54dD1uO2JyZWFrO2Nhc2UgTGU6dGhpcy5tdC5PdD0obitHcilbWHMrR3IrdHMrR3IrbmNdKCk7YnJlYWs7Y2FzZSBOdCtHcittYzp0aGlzLm10LmJ0PW47YnJlYWs7Y2FzZSBOdCtHcitUOnRoaXMubXQuQ3Q9bjticmVhaztjYXNlIE50K0dyK2VhOnRoaXMubXQuRXQ9bjticmVhaztjYXNlIE50K0dyKyRzOnRoaXMubXQuUHQ9bjticmVhaztjYXNlIEVlOnRoaXMubXQuVHQ9bjticmVhaztjYXNlIEErR3IrTG86dGhpcy5tdC5BdD1uO2JyZWFrO2Nhc2UgcHQrR3IramU6dGhpcy5tdC5GdD1uO2JyZWFrO2Nhc2UgamErR3IramU6dGhpcy5tdC5TdD1uO2JyZWFrO2Nhc2UgSWMrR3IrY3I6dGhpcy5tdC5qdD1uO2JyZWFrO2Nhc2UgdGUrR3Irc3M6dGhpcy5tdC5MdD1uO31pZighWGMub3QmJiF0aGlzLm10LkF0KWZvcihyPVtbWGMuZyYmMTE9PT1YYy5wdCx0aGlzLlV0XSxbWGMuYiYmWGMucHQ8NDEsdGhpcy5JdF0sW1hjLmIsdGhpcy5CdF0sW1hjLmQmJlhjLnB0PDQ3LHRoaXMuTXRdLFtYYy51dCx0aGlzLkR0XSxbWGMuY3QsdGhpcy5SdF0sW1hjLmImJlhjLnB0Pj01OSx0aGlzLld0XSxbWGMudXQmJlhjLnB0Pj00Nix0aGlzLld0XV0sZT0wO2U8cltwaV07ZSsrKWlmKHJbZV1bMF0pZm9yKGkgaW4gcltlXVsxXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0ocltlXVsxXSxpKSYmKHRoaXMubXRbaV09cltlXVsxXVtpXSk7fX0sZ2V0T3B0aW9uczpmdW5jdGlvbigpe3JldHVybiB0aGlzLk50KCk7fSxOdDpmdW5jdGlvbigpe3ZhciB0LGU7ZT17fTtmb3IodCBpbiB0aGlzLm10KXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXSh0aGlzLm10LHQpJiZ0W3BpXT49MyYmKGVbdF09dGhpcy5tdFt0XSk7fXJldHVybiBlO30scXQ6ZnVuY3Rpb24oKXtHYy5KdCgpP3RoaXMuVnQ9Z3U6dHUuYSh0aGlzLm10LmJ0LDEsdGhpcy5tdC5DdCx0aGlzLm10LkV0LHRoaXMubXQuUHQpO319OyhudT1mdW5jdGlvbih0KXt2YXIgZTtlPXRoaXM7dGhpcy5RdD10O3RoaXMuR3Q9dGhpcy5ZdCgpO3RoaXMuS3Q9dGhpcy5adCgpO2l1LlgodGhpcy5HdCxncyxmdW5jdGlvbigpe0dzKGUuS3QpO1pjLlAoZS5HdCk7fSk7fSlbWHRdPXtZdDpmdW5jdGlvbigpe3ZhciB0LEs3LHI3LFE3O0s3PS0xODIwMzgxMDU7cjc9MTk5MDM1MjYxMTtRNz0yO2Zvcih2YXIgajc9MTt3NS5kMShqNy50b1N0cmluZygpLGo3LnRvU3RyaW5nKCkubGVuZ3RoLDg2ODQwKSE9PUs3O2o3Kyspe3Q9WmMueihoYyx7Y2xhc3M6ZnV9LEdyKTtyZXR1cm4gdGhpcy5RdFtTYytHcittY11bWHMrR3IrdHMrR3IrbmNdKCk9PT1Rcj9yaVtRcl1bSXQrR3IrV2VdKHQpOnRoaXMuUXRbX3QrR3IraV1bTmMrR3IrT3NdKHQsdGhpcy5RdFtWcytHcitrc10pLHQ7UTcrPTI7fWlmKHc1LkwxKFE3LnRvU3RyaW5nKCksUTcudG9TdHJpbmcoKS5sZW5ndGgsMzM0MykhPT1yNyl7dD1aYy56KGhjLHtjbGFzczpmdX0sR3IpO3JldHVybiB0aGlzLlF0W1NjKkdyL21jXVtYcypHci10cy1Hci1uY10oKT09UXI/cmlbUXJdW0l0L0dyL1dlXSh0KTp0aGlzLlF0W190L0dyJWldWyhOYy1HcikqT3NdKHQsdGhpcy5RdFsoVnMtR3IpJWtzXSksdDt9fSxadDpmdW5jdGlvbigpe3ZhciB0O3Q9dGhpcztyZXR1cm4gQ28oZnVuY3Rpb24oKXt2YXIgZSxpO2k9VWModC5RdFt4ZV1bc24rR3IrenNdLDEwKTt0LlF0W1NjK0dyK21jXVtYcytHcit0cytHcituY10oKT09PVFyJiYoaT05ZTkpOyhlPV9uK1Z0K2dvK2VyK0RhK1Z0K04rZXIrbG4rVnQraytlcitHcisoS2ErVnQrR3IpK3QuUXRbZnIrR3Ird2NdKyhobytlcitHcikrKG9jK1Z0K0dyKSt0LlF0W2ZyK0dyK2ddKyhobytlcitHcikrKEhpK1Z0K0dyKSt0LlF0W2ZyK0dyK1duXSsoaG8rZXIrR3IpKyhwK1Z0K0dyKSt0LlF0W2ZyK0dyK0NjXSsoaG8rZXIrR3IpKyhzbit3aStMK1Z0K0dyKSsocWMoaSk/MjppKzEpKSE9PXQuR3RbYWErR3IrR2ldKHhlKSYmdC5HdFtsaStHcitHaV0oeGUsZSk7fSwxNTApO319O251Llh0PWZ1bmN0aW9uKHQpe3ZhciBlO3c1Llk0KDEyKTtlPXc1LmM0KHJ1LExpLHdpLHdpLEdyLGllLEdyKTt0W2FhK0dyK0dpXShlKXx8dFthYStHcitHaV0obG8pPT09ZnV8fCh0W2xpK0dyK0dpXShlLDEpLG5ldyBudSh0KSk7fTsoUWM9e2R0OmZ1bmN0aW9uKCl7dmFyIHQsZTtlPXRoaXMuZWUoKTtmb3IodD0wO3Q8ZVtwaV07dCsrKWlmKGVbdF1bMV0oKT09PWd1KXtyZXR1cm4gZVt0XVswXTt9cmV0dXJuIHl1O30sZWU6ZnVuY3Rpb24oKXt2YXIgdDt0PVtdO3JldHVybiBYYy5vdHx8WGMuaXQ/W106KHRbTXJdKFt0aGlzLmllLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlhjLnB0Pj02NCYmWGMucHQ8Njc7fV0pLHRbTXJdKFt0aGlzLm5lLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubnQmJlhjLnB0Pj00MyYmWGMucHQ8NjQ7fV0pLHRbTXJdKFt0aGlzLnJlLGZ1bmN0aW9uKCl7dmFyIGI3LHE3LG03O2I3PS02MDMwNTI0OTU7cTc9LTQwNjg3OTgwNDttNz0yO2Zvcih2YXIgSTc9MTt3NS5MMShJNy50b1N0cmluZygpLEk3LnRvU3RyaW5nKCkubGVuZ3RoLDU1NDM5KSE9PWI3O0k3Kyspe3JldHVybiBYYy5ifHxaYy5ZKCl8fFhjLm18fFhjLnB0PD0xN3x8WGMucHQ+PTg5O203Kz0yO31pZih3NS5MMShtNy50b1N0cmluZygpLG03LnRvU3RyaW5nKCkubGVuZ3RoLDYyMDk0KSE9PXE3KXtyZXR1cm4gWGMuYnx8WmMuWSgpfHxYYy5tfHxYYy5wdDw9MTd8fFhjLnB0Pj04OTt9cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubSYmWGMucHQ+PTQ5JiZYYy5wdDw2NDt9XSksdFtNcl0oW3RoaXMub2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZDt9XSksdFtNcl0oW3RoaXMuc2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZyYmWGMucHQ+PTExO31dKSx0W01yXShbdGhpcy5hZSxmdW5jdGlvbigpe3JldHVybiBYYy5odDt9XSksdFtNcl0oW3RoaXMuY2UsZnVuY3Rpb24oKXt2YXIgVDAsRTAsbzA7VDA9MTIwNjMzNjEyMTtFMD0xMjk2MjQyMjUyO28wPTI7Zm9yKHZhciBwMD0xO3c1LmQxKHAwLnRvU3RyaW5nKCkscDAudG9TdHJpbmcoKS5sZW5ndGgsNDUyNzYpIT09VDA7cDArKyl7cmV0dXJuIFhjLnV0fHxYYy5udHx8WGMucHQ+PTc0O28wKz0yO31pZih3NS5MMShvMC50b1N0cmluZygpLG8wLnRvU3RyaW5nKCkubGVuZ3RoLDY1MzgpIT09RTApe3JldHVybiBYYy51dCYmWGMubnQmJlhjLnB0PD00ODt9fV0pLHQpO319KS50ZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMudGVbWHRdPXtfZTprdSx1ZTpmdW5jdGlvbih0KXt2YXIgcjUsUTUsZTU7cjU9LTk1ODI4OTMwMTtRNT0tNjIxNDQ4NDIyO2U1PTI7Zm9yKHZhciBaNT0xO3c1LmQxKFo1LnRvU3RyaW5nKCksWjUudG9TdHJpbmcoKS5sZW5ndGgsOTUyNjgpIT09cjU7WjUrKyl7dGhpcy5mZT10O2U1Kz0yO31pZih3NS5MMShlNS50b1N0cmluZygpLGU1LnRvU3RyaW5nKCkubGVuZ3RoLDE0MzU1KSE9PVE1KXt0aGlzLmZlPXQ7fX0sbGU6a3UscGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhO2k9dGhpcztuPWkuZmU7cj1uLkh0KCk7bz1uLm10O3M9by53dHx8WmMuJCg1KTthPVpjLmsobyk7aWYodD1mdW5jdGlvbigpe3RyeXtpZih0eXBlb2Ygby5GdD09PVpzJiZvLkZ0W0NpXShuLHIsbyk9PT15dSl7cmV0dXJuIHl1O319Y2F0Y2godCl7S2MuZSh0KTt9cmV0dXJuIG11O30sZT1mdW5jdGlvbih0KXtpZih0eXBlb2Ygby5TdD09PVpzKXRyeXtvLlN0W0NpXShuLHIsbyx0KTt9Y2F0Y2godCl7S2MuZSh0KTt9fSx0KCk9PT15dSl7cmV0dXJuIHl1O310eXBlb2Ygb1t6XT09PVRjJiZvW3pdIT09ciYmKHI9b1t6XSk7R2MuanQoby5qdCk7dGhpcy5fZSgpO3RyeXtyZXR1cm4gdGhpcy5sZShyLG8scyxhLGZ1bmN0aW9uKHQpe2kuZGUodCk7aS5oZSYmR2MuaGUoKTtlKHQpO30pO31jYXRjaCh0KXtyZXR1cm4gS2MuZSh0KSx5dTt9fSx2ZTpmdW5jdGlvbih0LGUsaSl7cmV0dXJuKEdjLm10LmJlP1pjLkM6QXUpKHQsZSxpKTt9LGRlOmt1LGhlOmd1fTtRYy5tZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMubWVbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTp5dSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3IodGhpcy52ZSh0LGksbikpO319KTtRYy5nZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuZ2VbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTohWGMub3QmJiFYYy5kLGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7cih0aGlzLnZlKHQsRmkpKTt9fSk7UWMueWU9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnllW1h0XT1aYy55KFFjLnRlW1h0XSx7a2U6ZnVuY3Rpb24oKXt2YXIgdCxlLGk7dD1HYy53ZSgpO2U9R2MueGUuUztpPXR5cGVvZiBHYy5tdC5PZT09PVpzP0djLm10Lk9lW0NpXSgpOkdjLm10Lk9lO3JldHVybiBmdW5jdGlvbigpe3ZhciBuLHI7cmV0dXJuIGkhPT1GdT9pOihuPVpjLiQoMSkscj1lP2k6R2MuQ2UodCl8fGksZXUucygpfHwhWGMub3QmJiFYYy5nP3I6KHR1LmEoY3UsbixtdSkscltaXSh2cixHcikrKEdyK3NlK0dyKStuKSk7fSgpO30sbGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgeDksejksaDksbyxzLGEsYyx1LGgsZixwO3g5PTE3MTA2NjI4Nzg7ejk9LTEwMzk3MjE3MTM7aDk9Mjtmb3IodmFyIEw5PTE7dzUuZDEoTDkudG9TdHJpbmcoKSxMOS50b1N0cmluZygpLmxlbmd0aCwzMDE4NykhPT14OTtMOSsrKXtoOSs9Mjt9aWYodzUuZDEoaDkudG9TdHJpbmcoKSxoOS50b1N0cmluZygpLmxlbmd0aCw0NTQ4MCkhPT16OSl7fWE9dGhpcy5rZSgpO2M9R2Mud2UoKTt1PVpjLk4oYyk7aD0xNTtmPVtdO3A9ZnVuY3Rpb24odCl7dmFyIGU7dHlwZW9mIHRbQW5dPT09WnMmJihlPXRbQW5dLGl1LlgodCxncyxlKSk7dFtBbl09ZnVuY3Rpb24oKXtyZXR1cm4geXU7fTt9O2ZvcihHYy5FZSgpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKSE9PUZpJiZaYy5mKGMsdW4pJiYocChjKSwwIT09Y1thYStHcitHaV0odW4pW0wrR3IrV2FdKEN0KSYmKGE9Y1thYStHcitHaV0odW4pKT09PUdyJiYoYT1GdSkpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKT09PUZpJiZaYy5mKGMsdW4pJiYocChjKSxpbyhmdW5jdGlvbigpe2NbQW5dPW11O30sM2UzKSxHYy5tdC5QZT9hPWNbYWErR3IrR2ldKHVuKTooYT1GdSxYYy5vdCYmKFhjLnV0P2ZbTXJdKGZ1bmN0aW9uKCl7QXUoY1thYStHcitHaV0odW4pLEZpKTt9KTppbyhmdW5jdGlvbigpe0F1KGNbYWErR3IrR2ldKHVuKSxGaSk7fSwyMCkpKSksWGMuZXQmJlhjLnV0fHxYYy5ldCYmWGMuc3QmJiFYYy5kJiYhWGMuYiYmIVhjLmh0PyhBdShhLEZpKSxaYy5IKEJyLGZ1bmN0aW9uKCl7WmMuVCh0KTt9LGgpKTohWGMub3QmJlpjLmgoYyxUaSkhPT1GaSYmKFhjLnV0JiZYYy5zdHx8WGMuaHQmJlhjLnB0PDEwfHxYYy5iJiZYYy5wdDw0MSk/WGMudXQ/KFpjLlEoYSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KFpjLlEodCksY1tTYytHcittY109PT1PbiYmdSYmWmMuVCh1KSk6WGMuZXQmJlhjLmQ/KG89QXUoYSxGaSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KG89eVtRYV0oVWErVnQrY2ksRmkpKT8ob1tFaV1bdW5dPWEsWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6bz1BdSh0LEZpKSxzPTA7czxmW3BpXTtzKyspe2Zbc11bQ2ldKCk7fW8mJnIobyk7fX0pO1FjLm9lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5vZVtYdF09WmMueShRYy50ZVtYdF0se2hlOnl1LGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG87bz10aGlzLnZlKHQsaSxuKTtvW2tuXSgpO1R1W2JvXSgpO1pjLk0obyk7aW8oZnVuY3Rpb24oKXtyKG8pO30sMWUzKTt9fSk7UWMuY2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLmNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZSh0LGksbik7cz1HYy5UZSgxZTMpO2l1LksoeSxibyxmdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9KTtvW2NjXT1mdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9O3Iobyk7fX0pO1FjLmFlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5hZVtYdF09WmMueShRYy50ZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIEQ5LFc5LGw5LG87RDk9MTk0OTIwNzgwOTtXOT04OTkwMjg0O2w5PTI7Zm9yKHZhciBWOT0xO3c1LkwxKFY5LnRvU3RyaW5nKCksVjkudG9TdHJpbmcoKS5sZW5ndGgsNTc4NTApIT09RDk7VjkrKyl7bDkrPTI7fWlmKHc1LkwxKGw5LnRvU3RyaW5nKCksbDkudG9TdHJpbmcoKS5sZW5ndGgsNTEwNjgpIT09Vzkpe315W3NvXT1aYy4kKDUpO289dGhpcy52ZSh0LGksbik7dGhpcy52ZShHcix5W3NvXSxHcik7eVtzb109bXU7cihvKTt9LGhlOnl1fSk7UWMuc2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZShQdT90OkZ1LGksbik7cz1mdW5jdGlvbigpe29bRWldW3VuXT10O307aXUuSyhvLGtuLHMpO29ba25dKCk7VHVbYm9dKCk7aW8ocywxMDApO3Iobyk7fSxoZTp5dX0pO1FjLm5lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5uZVtYdF09WmMueShRYy50ZVtYdF0se0ZlOmZ1bmN0aW9uKCl7dmFyIHQsZTtlPVpjLnooYXIse2RhdGE6WmMuTChlbitQZStNYyx0aGlzLkFlKStaYy4kKDMpfSk7cmV0dXJuKHQ9WmMueihoYyx7c3R5bGU6UGkrVnQrYStlcitvYytWdCtIcytlcitLYStWdCtIcytlcitEYStWdCtOK2VyK3ArVnQrRnIrSGErR3IrZXIrSGkrVnQrem4rZXIrayt3aStHYStWdCtYaStlciskbytWdCthK2VyK0dyfSkpW0l0K0dyK1dlXShlKSxbZSx0XTt9LFNlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMueSh0LHt9KTtyZXR1cm4gZVtwXT1lW0hpXT05ZTUsZVtvY109ZVtLYV09MSxlO30sQWU6THQrR3IrdGErR3IrRmMrR3IrUHMrR3Irb24rR3IrV2MrR3IreG8rR3IrJCtHcithaStHcituK0dyK1NhK0dyK0tyK0dyK1F0K0dyK2t0K0dyK3p0K0dyK3RjK0dyK1l0K0dyK3ZhK0dyK3MrR3IrdmErdWMraG4rR3IrTGErR3IrenQrR3IrVytHcitEYytHcitaYStHcittdCtHcitWaStHcitzYStHcitVZStHcitUYStHcit2YStHcitWaStHcitQcitHcit4bytHcitVZStHcitpYytHcitwbytHcitLcitHcitKK0dyK2hzK0dyK1ppK0dyK3ZhK0dyK1ByK0dyK0xhK0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrWGErR3IrVHMrR3IrWmkrR3IrdmErR3IrUHIrR3IrSGUrR3IrenQrR3IrVytHcitGYytHcit0YytHcityYytHcithZStHcit2aStHcit2YStHcitQcitHcitydCtHcitwcytHcittdCtHcituYStHcitUbytHcityZStHcit4bytHcit0YStHcitqaStHcitXK0dyK2F0K0dyK3ZhK0dyK1ByK0dyK2MrR3IrYit1YytFK0dyK1FvK0dyK3BzK0dyK2RjK0dyK1l0K0dyK3ZhK0dyK1lhK0dyK1hhK0dyK1RzK0dyK1ppK0dyK3ZhK0dyK0dlK0dyK09lK0dyK2dhK0dyK0hvK0dyK3ZhK0dyK1ByK0dyK2t0K0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrdmErR3Ircm4rdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitrdCtHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK09lK0dyK1krR3IrS3QrR3IreG8rR3IrVWUrR3IrYnMrR3IrRnQrR3IrUG8rR3IrRStHcitVZStHcitiaStHcitVZStHcitTZStHcitWcitHcitEcytHcit4bytHcitVZStHcitHbytHcit2YStHcitQdCtHcitVZStHcitScitHcit5YytHcitPZStHcitWbytHcitLcitHcit2YytHcitiZStHcitzK0dyK3hjK0dyK0tvK0dyK3IrR3IrYWkrR3IrZnQrdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitBZStHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK05hK0dyK1RzK0dyK010K0dyK2hyK0dyK1lzK0dyK0tzK0dyK0UrR3IrVWUrR3IrZm4rR3IrcmMrR3IrYWUrR3IrRCtHcitMdCtHcitWcitHcit0YStHcittdCtHcitacitHcitWcitHcitPZSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3ZhciBzLGEsYyx1LGg7dT10aGlzO2g9eXU7dHJ5eyhhPXRoaXMudmUoVWErVnQrY2ksRmkpKVttcl1bcnJdKHc1LnU0KHVyLEdyLEdyLGpvLFBlLHVpLEdyLFFyLEdyLFBlLG8sR3IsdWksdWksR3IsdXIsUGUsR3IsdXIsam8sR3IsdXIsbyx1aSxHcix1cixHcix1aSxRcix1cix1aSx3NS5ZNCgxMykpKTtpdS5LKGEscWEsZnVuY3Rpb24oKXtmdW5jdGlvbiBmKCl7bigpO2FbSW9dKCk7bygpO3JvKGMpO31ofHwoaD1ndSxzPWFbQmNdPUF1KFVhK1Z0K2NpLGksWmMuayh1LlNlKGUpKSksaXUuWChhLGJvLGYpLGM9aW8oZiwzZTMpLGFbbXJdW1FyXVtQYStHcithaStHcit4YytHcit6dCtHcitwYV09dS5GZSgpWzFdW1BuK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXSk7ZnVuY3Rpb24gbigpe3c1Llk0KDE0KTthW21yXVtRcl1bdzUudTQoUGEsenQsR3IsR3IsR3IseGMsR3IsYWkscGEpXT1Hcjt9ZnVuY3Rpb24gbygpe3ZhciBhMSxZMSxmMTthMT0tMTU2OTI3MTMyMDtZMT0yMzc1ODcyNDtmMT0yO2Zvcih2YXIgRDE9MTt3NS5MMShEMS50b1N0cmluZygpLEQxLnRvU3RyaW5nKCkubGVuZ3RoLDk0NDMyKSE9PWExO0QxKyspe3NbRWMlR3ItYmFdKGVbSGldLGVbcF0pO3NbZGElR3IqYmFdKGVbb2NdLGVbS2FdKTtzW0VpXVtaXSh0KTtyKHMpO2YxKz0yO31pZih3NS5kMShmMS50b1N0cmluZygpLGYxLnRvU3RyaW5nKCkubGVuZ3RoLDYyNDUzKSE9PVkxKXtzW0VjJUdyLWJhXShlW0hpXSxlW3BdKTtzW2RhJUdyKmJhXShlW29jXSxlW0thXSk7c1tFaV1bWl0odCk7cihzKTt9c1tFYytHcitiYV0oZVtIaV0sZVtwXSk7c1tkYStHcitiYV0oZVtvY10sZVtLYV0pO3NbRWldW1pdKHQpO3Iocyk7fX0pO31jYXRjaCh0KXt9fX0pO1FjLnJlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5yZVtYdF09WmMueShRYy5uZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG8scztzPVpjLk8oZ3UpO2l1LksoeSxibyxmdW5jdGlvbigpe1pjLlAocyk7b1tFaV1bWl0odCk7cihvKTt9KTt3NS5vNCg0KTtvPXRoaXMudmUodzUuYzQoVWEsVnQsY2kpLEZpKTtzW3RvK0dyK3lhXVttcl1bcnJdKHRoaXMuRmUoKVsxXVtQbitHcithaStHcit4YytHcit6dCtHcitwYV0pO319KTtRYy5pZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuaWVbWHRdPVpjLnkoUWMudGVbWHRdLHtMZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47aT10aGlzO249eXU7dzUubzQoNCk7ZT10aGlzLnZlKHc1LmM0KFVhLFZ0LGNpKSx0Lnd0fHxGaSx0LkJlfHxHcik7dC56ZSYmKGUmJmVbSW9dKCksbj1ndSk7IW4mJmUmJmlvKGZ1bmN0aW9uKCl7ZVtFaV1bdW5dPXQueHQ7dC5JZSYmaS5JZShlKTt9LDEwMCk7fSx1ZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47bj10aGlzO3RoaXMuamU9ZHJbTW5dKCk7dGhpcy5mZT10O2U9R2Mud2UoKTt3NS5vNCgxNSk7aT1aYy5CKGUsdzUuYzQoZ3QsR3IseGMsR3IsR3IsRmMseGMsR3IsZmMsR3IsVnIpKTsoZVtTYytHcittY109PT1PbiYmZVthYStHcitHaV0oanIpIT09RmkmJiFaYy5TKGUpfHxpJiYhWmMuUyhpKSkmJih0aGlzLmhlPWd1KTtpdS5YKHksSWUsZnVuY3Rpb24gdChlKXt0cnl7ZVtpZV0uamU9PT1uLmplJiZuLkxlKGVbaWVdKTtlW2llXS56ZSYmaXUuWih5LEllLHQpO31jYXRjaCh0KXt9fSk7fSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3RoaXMuSWU9cjt0aGlzLk1lKHtqZTp0aGlzLmplLEJlOm4sSWU6Z3UseHQ6dH0pO3RoaXMuTWUoe2plOnRoaXMuamUsemU6Z3UseHQ6VWErVnQrY2l9KTt9LGhlOnl1LE1lOmZ1bmN0aW9uKHQpe3lbSnQrR3IrWF0odCx5W0VpXVtSb10pO319KTtHYz17X2k6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5RaSgpK3RoaXMuSGkoKT5aYy5HKCk7fSxLaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm10LkplO30sSmU6ZnVuY3Rpb24oKXt2YXIgdDt0PVpjLngoYXJndW1lbnRzWzBdKT9hcmd1bWVudHNbMF06YXJndW1lbnRzO3JldHVybiB0aGlzLm5uKHQsUm4sdFtwaV0mJnRbMF09PT15dSk7fSxraTpmdW5jdGlvbih0LGUsaSxuKXt0aGlzLk9pKGksdCxndSl8fG4oZ3UseXUpO30sV2k6ZnVuY3Rpb24odCl7dHJ5e3JldHVybiB0W3F0XSYmMCE9PXRbcXRdfHx0aGlzLmNpLkcrMTUwPlpjLkcoKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LFJpOmZ1bmN0aW9uKCl7dGhpcy5XZT1bXTt9LFlpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQucWU7fSxVaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLldlO30sWmU6bXUsVGk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHx0aGlzLnFpKHQpKXtyZXR1cm4geXU7fWlmKCF0aGlzLm10LnFlW3BpXXx8dFthYStHcitHaV0obG8pPT09ZnUpe3JldHVybiBndTt9Zm9yKDtlPHRoaXMubXQucWVbcGldO2UrKylpZih0PT09dGhpcy5tdC5xZVtlXXx8dHlwZW9mIHRoaXMubXQucWVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5xZVtlXVtYcytHcitwcitHcituY10oKXx8WmMuSSh0LHRoaXMubXQucWVbZV0pKXx8WmMuQih0LHRoaXMubXQucWVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LHdlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueGUuUXQ7fSxMaTpmdW5jdGlvbigpe3ZhciB0LGU7ZT10aGlzO3RoaXMuWmU9WmMueihoYyx7c3R5bGU6b2MrVnQrRnIrSGErR3IrZXIrS2ErVnQrRnIrSGErR3IrZXIrRGErVnQrSXMrZXIrcCtWdCt6bitlcitIaStWdCt6bitlcitzbit3aStMK1Z0K25vK2VyK3h0K1Z0K1hpK2VyK0dyfSxHcik7dD1DbyhmdW5jdGlvbigpe3ZhciBpO2k9cmlbUXJdO2kmJihHcyh0KSxpW0l0K0dyK1dlXShlLlplKSk7fSwxMDApO30saGk6ZnVuY3Rpb24oKXt2YXIgTjksYTksWTksdCxlLGk7Tjk9LTUxNTA4MTc1NzthOT0tMTMwNjg1MTEzNztZOT0yO2Zvcih2YXIgczk9MTt3NS5kMShzOS50b1N0cmluZygpLHM5LnRvU3RyaW5nKCkubGVuZ3RoLDEwMDExKSE9PU45O3M5Kyspe1k5Kz0yO31pZih3NS5MMShZOS50b1N0cmluZygpLFk5LnRvU3RyaW5nKCkubGVuZ3RoLDQ1MzQ0KSE9PWE5KXt9aT10aGlzLlhlLm9pO2Zvcih0PTA7dDx0aGlzLmZpW3BpXSYmKCF0aGlzLnBpKCkmJiF0aGlzLl9pKCkpO3QrKyl7aWYoZT10aGlzLmZpW3RdLHRoaXMuWGUuc2krKyx0aGlzLlhlLm9pPVpjLkcoKSx0aGlzLmxpKGUpPT09eXUpe3JldHVybiB0aGlzLlhlLnNpLS0sdm9pZCh0aGlzLlhlLm9pPWkpO31pPXRoaXMuWGUub2k7ZXUuYShodSx0aGlzLlhlLm9pKTtlLnl0PT09bHUmJmV1LmEodXUsdGhpcy5YZS5zaSk7fX0sT2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBuLHIsbyxzO3c1Lm80KDQpO289dzUuYzQoR3IsVHQsR3IpO3c1Llk0KDIpO3M9dzUuYzQobyx0KTtmb3Iobj0wO248ZVtwaV07bisrKWlmKHI9KEdyK090K0dyK1R0K0dyKVtMK0dyK1dhXShlW25dWzBdKT4tMT9lW25dOm8rZVtuXSxzW2ZzXShzW3BpXS1yW3BpXSk9PT1yfHxpJiZyPT09d3Upe3JldHVybiBndTt9cmV0dXJuIHl1O30sZW46ZnVuY3Rpb24odCxlKXt2YXIgTDAsZDAsTzAsaSxuO0wwPTEyMjU5MjUxNjQ7ZDA9LTc2NDA0NzIyNjtPMD0yO2Zvcih2YXIgQzA9MTt3NS5MMShDMC50b1N0cmluZygpLEMwLnRvU3RyaW5nKCkubGVuZ3RoLDk4MzQ3KSE9PUwwO0MwKyspe08wKz0yO31pZih3NS5MMShPMC50b1N0cmluZygpLE8wLnRvU3RyaW5nKCkubGVuZ3RoLDg1NTk4KSE9PWQwKXt9aT10aGlzO249dGhpcy50bih0LGUpO3RoaXMuV2VbTXJdKG4pO3RoaXMuRGkobik7dGhpcy5pbnx8KEdjLkNpKCksZnVuY3Rpb24oKXt2YXIgdCxlO1hjLmImJigoZT1yaVtVcytHcitDbl0oaGMpKVtSYytHcitpdF0oVmEsZnVuY3Rpb24oKXtDdT1ndTt9KSxDdT1vNSx0PUNvKGZ1bmN0aW9uKCl7aWYoQ3U9eXUsIWkubXQuUmUpe2lmKHR5cGVvZiB5W3dzXSE9PWFyfHx0eXBlb2YgeVt3c11bT29dIT09WnMpe3JldHVybiBDdT1vNSx2b2lkIEdzKHQpO315W3dzXVtPb10oZSk7eVt3c11bTWldKCk7fX0sNTAwKSk7fSgpLHRoaXMuaW49bzUpO30sUGk6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuSmkoKSx0P3RoaXMuZmlbcGldOnRoaXMuZmlbcGldPjA7fSx2aTpmdW5jdGlvbigpe3ZhciB0LGU7dD1aYy5HKCk7ZT1aYy5HKGF1KTt3NS5ZNCgxNik7dGhpcy5YZS5yaT13NS5jNChlLHQsMzE1MzYwMDAwMDApO3RoaXMuWGUucmkmJih0aGlzLmxpPWt1KTt9LEJpOmZ1bmN0aW9uKCl7dmFyIHQ7dD1VYyhldS5jKGh1KSwxMCk7cWModCkmJih0PTApO3RoaXMuWGUub2k9dDt9LENlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMuTih0KTtyZXR1cm4gZSYmIXRoaXMubXQuTmUmJlpjLlModCk/eXU6ZTt9LGp0OmZ1bmN0aW9uKHQpe3ZhciBlLGksbjtlPXR5cGVvZiB0PT09Z2U/Z3U6ISF0O3c1Lm80KDIpO2k9dzUuYzQocnUsSSk7bj1yaVthYStHcitDbitHcitpaStHcit0bl0oaSk7ZT9ufHwobj1aYy56KERvLHtjb250ZW50OkljK3dpK2lhLG5hbWU6aWEsaWQ6aX0pLHJpW2FhK0dyK1JlK0dyK2lpK0dyK1JpK0dyK21jXShvKVswXVtJdCtHcitXZV0obikpOm4mJlpjLlAobik7fSxHaTpmdW5jdGlvbigpe3RoaXMuWGUuaWk9Z3U7dGhpcy5oaT1rdTt9LEp0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQuRGU7fSx5aTpmdW5jdGlvbih0LGUsaSxuLHIpe2Zvcih2YXIgbyxzPTA7czxlJiYobz10W3NdLCEoMT09PW4mJihyKGlbcytlXSx0W3NdKmlbc10rcysoaVtzXT4+cyszKSl8fHIoaVtzKzIqZV0sdFtzXSoodFswXSt0WzFdK3RbMl0pKyhpW3NdPDxzKSl8fHIoaVtzKzMqZV0sZHJbQWNdKHRbMF0qdFsxXSp0WzJdL28pK28rKGlbc10+PnMpKSl8fG48MSYmKHIoaVtzK2VdLHRbc10qaVtzXStzKXx8cihpW3MrMiplXSx0W3NdKih0WzBdK3RbMV0rdFsyXSkpfHxyKGlbcyszKmVdLGRyW0FjXSh0WzBdKnRbMV0qdFsyXS9vKStvKSkpKTtzKyspO30scWk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHwhdGhpcy5tdC5KZVtwaV0pe3JldHVybiB5dTt9Zm9yKDtlPHRoaXMubXQuSmVbcGldO2UrKylpZih0PT09dGhpcy5tdC5KZVtlXXx8dHlwZW9mIHRoaXMubXQuSmVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5KZVtlXXx8WmMuSSh0LHRoaXMubXQuSmVbZV0pKXx8WmMuQih0LHRoaXMubXQuSmVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LGNpOnt1aTp7fSxHOjB9LEhpOmZ1bmN0aW9uKCl7cmV0dXJuIFhjLm90P2RyW0JvXSh0aGlzLm10LlZlLDFlMyk6WGMuYnx8WGMuZ3x8WGMuY3R8fFhjLnV0JiYhWGMuZXQ/ZHJbQm9dKHRoaXMubXQuVmUsMjAwKTp0aGlzLm10LlZlO30sRWU6ZnVuY3Rpb24odCl7dmFyIGUsWjcsdDcsVTc7Wjc9LTEyNTc1NDEyNDI7dDc9MTMwMDY1ODcyMDtVNz0yO2Zvcih2YXIgejc9MTt3NS5MMSh6Ny50b1N0cmluZygpLHo3LnRvU3RyaW5nKCkubGVuZ3RoLDgzNTc3KSE9PVo3O3o3Kyspe2U9dHx8dGhpcy5jaS51aTtVNys9Mjt9aWYodzUuZDEoVTcudG9TdHJpbmcoKSxVNy50b1N0cmluZygpLmxlbmd0aCwzMDU1KSE9PXQ3KXtlPXQmJnRoaXMuY2kudWk7fXRyeXtlW01vK0dyK25pXSYmZVtNbytHcituaV0oKTtlW3FlK0dyK19zXSYmZVtxZStHcitfc10oKTt3NS5vNCg0KTtlW3c1LmM0KE5yLEdyLGNvKV09eXU7dzUubzQoNCk7ZVt3NS51NChtcyxHcixIcildPWd1O31jYXRjaCh0KXt9fSxpOmZ1bmN0aW9uKCl7dmFyIE8xLEcxLEMxO08xPS0xMzAyMzI0NTE3O0cxPTg4ODY0MDYzMDtDMT0yO2Zvcih2YXIgbjE9MTt3NS5kMShuMS50b1N0cmluZygpLG4xLnRvU3RyaW5nKCkubGVuZ3RoLDU5MTU1KSE9PU8xO24xKyspe3JldHVybiB0aGlzLm10LlVlfHx0aGlzLm10LkRlO0MxKz0yO31pZih3NS5MMShDMS50b1N0cmluZygpLEMxLnRvU3RyaW5nKCkubGVuZ3RoLDIzODAyKSE9PUcxKXtyZXR1cm4gdGhpcy5tdC5VZSYmdGhpcy5tdC5EZTt9fSxwaTpmdW5jdGlvbigpe3ZhciBoNyxpNyxMNztoNz0tMTUxMTEyMzE1NDtpNz0tMTY3MjAwNTI5NjtMNz0yO2Zvcih2YXIgTzc9MTt3NS5kMShPNy50b1N0cmluZygpLE83LnRvU3RyaW5nKCkubGVuZ3RoLDMyNTMzKSE9PWg3O083Kyspe3JldHVybiB0aGlzLiRpKCk8dGhpcy5tdC5IZTtMNys9Mjt9aWYodzUuTDEoTDcudG9TdHJpbmcoKSxMNy50b1N0cmluZygpLmxlbmd0aCwxOTk5KSE9PWk3KXtyZXR1cm4gdGhpcy4kaSgpPj10aGlzLm10LkhlO319LGdpOmZ1bmN0aW9uKHQsZSxpLG4scil7Zm9yKHZhciBvLHM9MDtzPGUmJihvPXRbc10sISgxPT09biYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzErKGlbc108PGlbc10lMTApLGlbZStzXSl8fHIob1trZStHcitucytHcitCaV0ob1twaV0tMSkqaVtzXSoyK3MrKGlbc10+PnMpLGlbMiplK3NdKXx8cihvW3BpXSppW3NdKjMrKGlbc108PHMpLGlbMyplK3NdKSl8fG48MSYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzEsaVtlK3NdKXx8cihvW2tlK0dyK25zK0dyK0JpXShvW3BpXS0xKSppW3NdKjIrcyxpWzIqZStzXSl8fHIob1twaV0qaVtzXSozLGlbMyplK3NdKSkpKTtzKyspO30sV2U6W10sdG46ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IFljKHRoaXMuV2VbcGldLHQsZSk7fSxBaTpmdW5jdGlvbih0KXt0aGlzLmNpLnVpPXQ7dGhpcy5jaS5HPVpjLkcoKTt9LGFpOltdLE1pOmZ1bmN0aW9uKHQpe3JldHVybiBudS5YdCh0KSx0aGlzO30sWmk6ZnVuY3Rpb24oKXtyZXR1cm4gWmMucChbW1RyLHRoaXMubXQuRGVdLFtvaSx0aGlzLm10LlVlXSxbd3QsdGhpcy5tdC5SZV0sW0xyK0dyK3plLHRoaXMubXQuT2VdLFtSbitHcitFbix0aGlzLm10Lk5lXSxbRHQsdGhpcy5tdC5IZV0sW2xjK0dyK2JhLHRoaXMubXQucWVdLFtSbitHcitiYSx0aGlzLm10LkplXSxbUW4sdGhpcy5tdC5WZV0sW3crR3IrVix0aGlzLm10LiRlXSxbdytHcitEbix0aGlzLm10LlFlXSxbcG4rR3IrdHIrR3IrTG4sdGhpcy5tdC5HZV0sW0JzK0dyK2wrR3IrU3MsdGhpcy5tdC4kdF0sW05zK0dyKyRyLHRoaXMubXQuWWVdLFtJYytHcitwYytHcitfaSx0aGlzLm10LmJlXSxbTHMrR3IrYnQsdGhpcy5tdC5LZV0sW0IrR3IrdmUrR3IrX28rR3IreW4rR3IrTG4sdGhpcy5tdC5QZV1dKTt9LFRlOmZ1bmN0aW9uKHQpe3ZhciBlLGk7aT1aYy5PKGd1KTtyZXR1cm4gZT1pW3RvK0dyK3lhXVttcl1bVXMrR3IrQ25dKGRlKSwwPT09eVtFaV1bdW5dW0wrR3IrV2FdKGorVnQrR3IpP2VbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPUdyKyhXcitZZStHcit3bitHcikrKGYrVHQrUytUdCthYStHcitaZStHcitRaStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKTplW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoV3IrWWUrR3Ird24rR3IpKyhZcitUdCtjYStHcitfZStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSxpW3RvK0dyK3lhXVttcl1bUXJdW0l0K0dyK1dlXShlKSx0eXBlb2YgdCE9PVd0JiZ0eXBlb2YgdCE9PWdlfHxpbyhmdW5jdGlvbigpe1pjLlAoaSk7fSx0fHw1MDApLGk7fSxOaTpmdW5jdGlvbigpe3ZhciBvMSx3MSxwMTtvMT0tMjExMjgyOTI0MDt3MT00MjIxODMwODI7cDE9Mjtmb3IodmFyIHEwPTE7dzUuZDEocTAudG9TdHJpbmcoKSxxMC50b1N0cmluZygpLmxlbmd0aCwzNTgxNCkhPT1vMTtxMCsrKXtmb3IodmFyIHQsZT02O2U8PXRoaXMuV2VbcGldO2UtLSl7dD10aGlzLldlW2VdO3R1LnUodC5tdC5idCk7fXRoaXMuWGUub2k9dGhpcy5YZS5zaT00O2V1LnUodXUpO2V1LnUoY3UpO2V1LnUoaHUpO3AxKz0yO31pZih3NS5MMShwMS50b1N0cmluZygpLHAxLnRvU3RyaW5nKCkubGVuZ3RoLDUxMjkxKSE9PXcxKXtmb3IodmFyIHQsZT0yO2U8dGhpcy5XZVtwaV07ZSsrKXt0PXRoaXMuV2VbZV07dHUudSh0Lm10LmJ0KTt9dGhpcy5YZS5vaT10aGlzLlhlLnNpPTM7ZXUudSh1dSk7ZXUudShjdSk7ZXUudShodSk7fWZvcih2YXIgdCxlPTA7ZTx0aGlzLldlW3BpXTtlKyspe3Q9dGhpcy5XZVtlXTt0dS51KHQubXQuYnQpO310aGlzLlhlLm9pPXRoaXMuWGUuc2k9MDtldS51KHV1KTtldS51KGN1KTtldS51KGh1KTt9LHppOmZ1bmN0aW9uKCl7dmFyIHQ7dD0wO3JldHVybiBldS5zKCk/KHQ9ZXUuYyh1dSksZXUudSh1dSkpOnR1LmModXUpJiYocmlbaWFdPT09UnRbdW5dfHx+UnRbdW5dW0wrR3IrV2FdKEdyK3NlK0dyK3R1LmMoY3UpKSkmJih0PXR1LmModXUpLGlvKGZ1bmN0aW9uKCl7dHUudSh1dSk7dHUudShjdSk7fSwzMDApKSx0PVVjKHQsMTApLHQ9cWModCk/MDp0LHRoaXMuWGUuc2k9dDt9LG10OntOZTpndSxLZTp5dSxKZTpbXSxWZTowLCR0OmJ1LCRlOltdLERlOnl1LE9lOkZ1LEhlOjk5OTksUmU6eXUscWU6W10sWWU6MTAsVWU6eXUsUWU6Z3UsUGU6eXUsYmU6eXUsR2U6Z3V9LCRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuWGUuc2k7fSxRaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLlhlLm9pO30sYmk6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhLGMsdSxuOSxGOSxnOTtzPXRoaXM7YT0wO2M9dGhpcy5YZTt1PWZ1bmN0aW9uKHQsZSl7dmFyIFA5LEo5LFg5O1A5PTMyNTI1NjI2O0o5PS05NTA1MjQwNDM7WDk9Mjtmb3IodmFyIFM5PTE7dzUuTDEoUzkudG9TdHJpbmcoKSxTOS50b1N0cmluZygpLmxlbmd0aCw0ODQ5MykhPT1QOTtTOSsrKXtyZXR1cm4gdD09PWV8fChjLm5pPWd1LHMubGk9a3UpLHQhPWU7WDkrPTI7fWlmKHc1LkwxKFg5LnRvU3RyaW5nKCksWDkudG9TdHJpbmcoKS5sZW5ndGgsNTM4MDApIT09Sjkpe3JldHVybiB0IT09ZSYmKGMubmk9Z3Uscy5saT1rdSksdCE9PWU7fX07aWYodHlwZW9mIHlbcnVdW2FyXSE9PWdlKXtjLm5pPW11O3Q9eVtydV1bYXJdW1huXSgpO2U9eVtydV1bYXJdW1huXSgpO2k9eVtydV1bYXJdW1huXSgpO249eVtydV1bYXJdW1huXSgpO3I9WmMuRigoeVtydV1bYXJdW1huXSgpfHx7c3JjOm51bGx9KVtYcl0pO289WmMuRih4dVtYcl0pO3RyeXtuOT0xNDUwNjEyMjI1O0Y5PS01NjY0Nzc2Nzc7Zzk9Mjtmb3IodmFyIFI5PTE7dzUuZDEoUjkudG9TdHJpbmcoKSxSOS50b1N0cmluZygpLmxlbmd0aCwyODY5NSkhPT1uOTtSOSsrKXthPXlbcnVdW2FyXVtYbl0oKSYmNztnOSs9Mjt9aWYodzUuZDEoZzkudG9TdHJpbmcoKSxnOS50b1N0cmluZygpLmxlbmd0aCwzODQzOCkhPT1GOSl7YT15W3J1XVthcl1bWG5dKCkmJjc7fWE9eVtydV1bYXJdW1huXSgpfHwwO31jYXRjaCh0KXt9YT1kcltCb10oMCxkcltrYV0oMSxhKSk7dGhpcy5taSh0LG8scix1KTt0aGlzLmdpKHQsdFtwaV0sZSxhLHUpO3RoaXMueWkoaSxpW3BpXSxuLGEsdSk7dGhpcy5raSh0LHRbcGldLFpjLkYoKSx1LHUpO3RoaXMud2koaSxaYy5HKCkpO2Mubmk9PT1tdSYmKGMubmk9eXUpO31jLnhpPWF8fDA7fSxFaTpmdW5jdGlvbih0LGUpe3ZhciBkOSxPOSxHOTtkOT04MzA2MTMyMTE7Tzk9MTQwNDM5MjY4MztHOT0yO2Zvcih2YXIgazk9MTt3NS5kMShrOS50b1N0cmluZygpLGs5LnRvU3RyaW5nKCkubGVuZ3RoLDE2MDEwKSE9PWQ5O2s5Kyspe3RoaXMueGUuUXQ9dDt0aGlzLnhlLlM9ZTtHOSs9Mjt9aWYodzUuZDEoRzkudG9TdHJpbmcoKSxHOS50b1N0cmluZygpLmxlbmd0aCw3Njg2OSkhPT1POSl7dGhpcy54ZS5RdD10O3RoaXMueGUuUz1lO319LFhpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbix1OSx5OSxIOTtuPXR8fHt9O2ZvcihlIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixlKSlzd2l0Y2godGhpcy5tdFtlXT1pPW5bZV0sZSl7Y2FzZSBUcjp0aGlzLm10LkRlPWk7YnJlYWs7Y2FzZSBvaTp0aGlzLm10LlVlPWk7YnJlYWs7Y2FzZSB3dDp0aGlzLm10LlJlPWk7YnJlYWs7Y2FzZSBMcitHcit6ZTp0aGlzLm10Lk9lPWk7YnJlYWs7Y2FzZSBSbitHcitFbjp0aGlzLm10Lk5lPWk7YnJlYWs7Y2FzZSBEdDp0aGlzLm10LkhlPWk7YnJlYWs7Y2FzZSBsYytHcitiYTp0aGlzLnFlW29hXSh0aGlzLGkpO2JyZWFrO2Nhc2UgUm4rR3IrYmE6dGhpcy5KZVtvYV0odGhpcyxpKTticmVhaztjYXNlIFFuOnRoaXMubXQuVmU9aTticmVhaztjYXNlIHcrR3IrVjp0aGlzLm10LiRlPWk7YnJlYWs7Y2FzZSB3K0dyK0RuOnRoaXMubXQuUWU9aTticmVhaztjYXNlIHBuK0dyK3RyK0dyK0xuOnRoaXMubXQuR2U9aTticmVhaztjYXNlIEJzK0dyK2wrR3IrU3M6dGhpcy5tdC4kdD1pO2JyZWFrO2Nhc2UgTnMrR3IrJHI6dGhpcy5tdC5ZZT1pO2JyZWFrO2Nhc2UgSWMrR3IrcGMrR3IrX2k6dGhpcy5tdC5iZT1pO2JyZWFrO2Nhc2UgTHMrR3IrYnQ6dGhpcy5tdC5LZT1pO2JyZWFrO2Nhc2UgQitHcit2ZStHcitfbytHcit5bitHcitMbjp0aGlzLm10LlBlPWk7fXU5PTE1MDY0OTg2ODA7eTk9NjExNzc3ODY1O0g5PTI7Zm9yKHZhciBUOT0xO3c1LkwxKFQ5LnRvU3RyaW5nKCksVDkudG9TdHJpbmcoKS5sZW5ndGgsNjMyMykhPT11OTtUOSsrKXtyZXR1cm4gdGhpcztIOSs9Mjt9aWYodzUuZDEoSDkudG9TdHJpbmcoKSxIOS50b1N0cmluZygpLmxlbmd0aCw2MzczOSkhPT15OSl7cmV0dXJuIHRoaXM7fX0saGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksZzcsTTcsUjc7Zzc9LTM5MDQ0MjA2O003PS0xNjI0Njc4MzI1O1I3PTI7Zm9yKHZhciBKNz0xO3c1LkwxKEo3LnRvU3RyaW5nKCksSjcudG9TdHJpbmcoKS5sZW5ndGgsNTI1MzkpIT09Zzc7SjcrKyl7ZT10aGlzLndlKCk7aT10aGlzLmNpLnVpO1I3Kz0yO31pZih3NS5MMShSNy50b1N0cmluZygpLFI3LnRvU3RyaW5nKCkubGVuZ3RoLDg0NzUzKSE9PU03KXtlPXRoaXMud2UoKTtpPXRoaXMuY2kudWk7fXRyeXsodD1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0oZ3MsZ3UsZ3UseSwxLGlbT2krR3IrVWVdLGlbT2krR3IreG9dLGlbSGMrR3IrVWVdLGlbSGMrR3IreG9dLHl1LHl1LHl1LHl1LDAsbXUpO3RbVW9dPWd1O2VbZ24rR3IrQ2FdKHQpO31jYXRjaCh0KXtLYy5lKHQpO319LFZpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuUGkobzUpO30sU2k6ZnVuY3Rpb24oKXt2YXIgdCxpLG4scixvLHM7cj10aGlzO289NTAwO3M9ZnVuY3Rpb24odCxlKXt2YXIgaSxuO249WGMuYj9lYzpnczsoaT1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0obixndSxndSx5LDEsZVtPaStHcitVZV0sZVtPaStHcit4b10sZVtIYytHcitVZV0sZVtIYytHcit4b10seXUseXUseXUseXUsMCxtdSk7aS5mYz1ndTt0W2duK0dyK0NhXShpKTt9O2l1LlgocmksJHQsZnVuY3Rpb24ocil7dmFyIG8sRjEsZzEsTTE7dzUubzQoNCk7bz1yW3c1LnU0KHNyLEdyLGUpXVswXTtGMT05NTkwNTM3NzY7ZzE9LTE3NzY2NDMwNTc7TTE9Mjtmb3IodmFyIFAxPTE7dzUuZDEoUDEudG9TdHJpbmcoKSxQMS50b1N0cmluZygpLmxlbmd0aCw4NTkzNCkhPT1GMTtQMSsrKXt3NS5vNCgxOCk7dD1yW3c1LnU0KG9zLEpzLEdyKV07dzUuWTQoMTkpO2k9b1t3NS51NChHcixmbyxVZSldO3c1Lm80KDIwKTtuPW9bdzUuYzQoeG8sZm8sR3IpXTtNMSs9Mjt9aWYodzUuTDEoTTEudG9TdHJpbmcoKSxNMS50b1N0cmluZygpLmxlbmd0aCwxMTM5OCkhPT1nMSl7dzUubzQoMjEpO3Q9clt3NS5jNChvcyxKcyxHcildO3c1Llk0KDIyKTtpPW9bdzUuYzQoR3IsVWUsZm8pXTt3NS5vNCg2KTtuPW9bdzUuYzQoR3IseG8sZm8pXTt9dzUubzQoNCk7dD1yW3c1LnU0KG9zLEdyLEpzKV07dzUuWTQoNCk7aT1vW3c1LmM0KGZvLEdyLFVlKV07dzUubzQoNCk7bj1vW3c1LnU0KGZvLEdyLHhvKV07fSxndSk7aXUuWChyaSx2LGZ1bmN0aW9uKGEpe3ZhciBjLHUsaCxTMCxOMCxhMDtTMD0xMTI5ODE1NDEyO04wPS00NTk2NDE3MTE7YTA9Mjtmb3IodmFyIGYwPTE7dzUuZDEoZjAudG9TdHJpbmcoKSxmMC50b1N0cmluZygpLmxlbmd0aCw5MDQxMCkhPT1TMDtmMCsrKXt3NS5vNCg0KTtjPWFbdzUuYzQoc3IsR3IsZSldWzBdO3U9aXUudHQoYSk7aD1yLm10LlllO2EwKz0yO31pZih3NS5MMShhMC50b1N0cmluZygpLGEwLnRvU3RyaW5nKCkubGVuZ3RoLDUxODk1KSE9PU4wKXt3NS5ZNCg2KTtjPWFbdzUudTQoR3IsZSxzcildWzRdO3U9aXUudHQoYSk7aD1yLm10LlllO31kcltGc10oY1tmbytHcitVZV0taSk+PWh8fGRyW0ZzXShjW2ZvK0dyK3hvXS1uKT49aHx8YVtvcytHcitKc10tdD5vfHxyLm10LlllPD0wfHxYYy5odCYmRGlbaXJdKHVbU2MrR3IrbWNdKXx8ci5YZS5paXx8ci5YZS5uaXx8ci5YZS5yaXx8ci5waSgpfHxyLl9pKCl8fCFyLlBpKCl8fCFyLlRpKHUpfHwhci5tdC5OZSYmWmMuUyh1KXx8KHVbU2MrR3IrbWNdPT09T24mJnIuRWUoYSkscyh1LGMpKTt9LGd1KTt9LG1pOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByLG87bz15dTtmb3Iocj0wO3I8dFtwaV07cisrKWlmKHRbcl09PT13dSl7bz1ndTticmVhazt9byYmKGV8fGkpJiYoIXRoaXMuT2koZSx0KXx8IXRoaXMuT2koaSx0KXx8eVtydV1bdW5dJiZ5W3J1XVt1bl1bcGldJiYhdGhpcy5PaShaYy5GKCkseVtydV1bdW5dKSkmJm4oZ3UseXUpO30seGU6e1F0Om11LFM6eXV9LHFlOmZ1bmN0aW9uKCl7dmFyIHQ7dD1aYy54KGFyZ3VtZW50c1swXSk/YXJndW1lbnRzWzBdOmFyZ3VtZW50cztyZXR1cm4gdGhpcy5ubih0LGxjLHRbcGldJiZ0WzBdPT09eXUpO30sd2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBXMSxsMSxjMTtXMT0xMTQ2NjMzOTY5O2wxPTU4MTgzMzU3NjtjMT0yO2Zvcih2YXIgdTE9MTt3NS5kMSh1MS50b1N0cmluZygpLHUxLnRvU3RyaW5nKCkubGVuZ3RoLDY5ODkxKSE9PVcxO3UxKyspe1pjLkcodFtOaV0oR3IrUGUrR3IpKTxlJiZpKGd1LHl1KTtjMSs9Mjt9aWYodzUuZDEoYzEudG9TdHJpbmcoKSxjMS50b1N0cmluZygpLmxlbmd0aCw0ODMyNikhPT1sMSl7WmMuRyh0W05pXShHciVQZSVHcikpPj1lfHxpKGd1LHl1KTt9fSxDaTpmdW5jdGlvbigpe3ZhciByLG8scyxhLGMsdSxoLGYscCxfO2Z1bmN0aW9uIHQoKXt2YXIgdCxlO3c1Lm80KDE3KTtlPVt3NS51NChIbixUdCxHcixFbixHcixDYSxKYSksdzUuYzQoeG4sVHQsR3IsRW4sR3IsQ2EsSmEsdzUubzQoMTcpKSx3NS5jNChKYSxUdCxRYSx3NS5ZNCg0KSksdzUuYzQoQ24sR3IsVXMsbXIsVHQsdzUubzQoMSkpLHc1LnU0KFdlLEdyLHhuLG1yLFR0LHc1Llk0KDEpKV07Zm9yKHQ9MDt0PGVbcGldO3QrKylpZihaYy5sKGVbdF0pKXtyZXR1cm4gS2MuZSh0LFpjLmwoZVt0XSkpLGd1O31yZXR1cm4geXU7fWZ1bmN0aW9uIGkoaSl7dT0yO198fChfPWd1LGlvKGZ1bmN0aW9uKCl7Xz15dTt9LFhjLm90PzUwMDoxNTApLEN1JiYhcC5VZXx8KHI9aXUudHQoaSksbz1aYy5CKHIsT24pLGM9WmMuUyhyKSxyW2FhK0dyK0dpXShsbyk9PT1mdT8oclt4ZV1beHRdPVhpLFpjLlAocikscj1pdS50dChpLGd1KSk6byYmKHM9KHI9bylbYWErR3IrR2ldKFRpKSxhPVpjLk4ociksYz1aYy5TKHIpKSxmLkVpKHIsYyksZi5YZS5paXx8Zi5YZS5uaXx8Zi5YZS5yaXx8aVtVb118fGUoZi5jaS51aVtPXSYmZi5jaS51aVtPXSE9PWlbT10pfHxlKHAuS2UmJiFFdSl8fGUoIWlbSGMrR3IrVWVdJiYhaVtIYytHcit4b10pfHxlKCFYYy5vdCYmIVhjLmcmJnR5cGVvZiBpW3F0XSE9PWdlJiYwIT09aVtxdF0pfHxlKCFYYy5vdCYmIWYuWmUmJihYYy5jdHx8WGMuYnx8WGMudXQpKXx8ZSghWGMub3QmJiFwLkdlJiYoWGMuYnx8WGMudXQpJiZzPT09RmkpfHxlKGYucGkoKSl8fGUoZi5faSgpKXx8ZSghZi5QaSgpKXx8ZSghZi5UaShyKSl8fGUoYyYmIXAuTmUpfHxlKCFwLlJlJiZ0KCkpfHwoZi5BaShpKSxYYy5ldCYmbyYmYSYmZi5FZShpKSxYYy5vdHx8IW98fGN8fChYYy5iJiZzIT09RmkmJlpjLlkoKXx8cC5HZSYmcz09PUZpJiYoWGMuYnx8WGMudXQpKSYmZi5FZShpKSxmLkZpPW11LGYuaGkoKSkpKTt9Zj10aGlzO3A9Zi5tdDtfPXl1O2Z1bmN0aW9uIGUodCl7cmV0dXJuKyt1LHQmJktjLmUodSksdDt9cC5SZXx8IXQoKT8oaD1YYy5kfHxYYy5nP3FhOmVjLGZ1bmN0aW9uKCl7aXUuWChyaSxncyxpLGd1KTtYYy5vdD8oaXUuWChyaSxlYyxuLGd1KSxpdS5YKHJpLHFhLG4sZ3UpKTppdS5YKHJpLGgsbixndSk7fSgpLHRoaXMuU2koKSx0aGlzLmppKCksdGhpcy5MaSgpLHRoaXMuemkoKSx0aGlzLkJpKCkpOktjLmUoeXUpO2Z1bmN0aW9uIG4odCl7cj1vPWM9cz1hPW11OyFYYy5vdCYmdFtIYytHcitVZV0rKFhjLm50PzE3OjE1KT55W1BhK0dyK2ddP3AuUWUmJigocj17fSkuc2Nyb2xsYmFyPWd1LGYuRWkocix5dSksZi5waSgpfHxmLl9pKCl8fCFmLlBpKCl8fGYuaGkoKSk6aSh0KTt9fSxsaTpmdW5jdGlvbih0KXtpZih0aGlzLlhlLmlpfHx0aGlzLlhlLm5pfHx0aGlzLlhlLnJpKXtyZXR1cm4geXU7fXN3aXRjaCh0Lnl0KXtjYXNlIF91Om5ldyBRYy5tZSh0KS5wZSgpO2JyZWFrO2Nhc2UgZHU6bmV3IFFjLmdlKHQpLnBlKCk7YnJlYWs7Y2FzZSBsdTpuZXcgUWMueWUodCkucGUoKTticmVhaztjYXNlIHB1OnRyeXtuZXcoUWMuZHQoKSkodCkucGUoKTt9Y2F0Y2godCl7S2MuZSh0KTt9fXJldHVybiB0LnF0KCksZ3U7fSxqaTpmdW5jdGlvbigpe3ZhciB0LGUsaSxuLHIsbztuPXRoaXM7cj17fTtvPWZ1bmN0aW9uKHQpe2ZvcihlPTA7ZTx0W3BpXTtlKyspe24uTWkodFtlXSk7fX07Q28oZnVuY3Rpb24oKXt2YXIgZTtmb3IodD0wO3Q8bi5tdC4kZVtwaV07dCsrKXtpZihlPW4ubXQuJGVbdF0sKGk9cmlbYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGUpKVtwaV0mJm4ucGkoKXx8IW4uUGkoKSl7cmV0dXJuO310eXBlb2YgcltlXSE9PWdlJiZyW2VdPT09aVtwaV18fG8oaSk7fX0sMWUzKTt9LElpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbixyLG8scyxlOSxqOSxaOTtvPTI7cz15dTtmb3IoZT0wO2U8PW87ZSsrKXtpZigobj1yaVt3citHcitqbitHcitMY10odFtIYytHcitVZV0rZSx0W0hjK0dyK3hvXSkpJiZuW1NjK0dyK21jXT09PXBhK0dyK09uK0dyK0ZjK0dyK1BzK0dyK3BhKXtzPWd1O2JyZWFrO31mb3IoaT0wO2k8PW87aSsrKWlmKChuPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXStlLHRbSGMrR3IreG9dK2kpKSYmbltTYytHcittY109PT1wYStHcitPbitHcitGYytHcitQcytHcitwYSl7cz1ndTticmVhazt9aWYocylicmVhazt9aWYocylmb3Iocz15dSxyPW5bYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGVpKSxlPTA7ZTxyW3BpXTtlKyspaWYoWmMuVShyW2VdKSl7cz1ndTticmVhazt9ZTk9MTI0NjQ2Mzc5O2o5PTE4ODY4MTA5NztaOT0yO2Zvcih2YXIgVTk9MTt3NS5MMShVOS50b1N0cmluZygpLFU5LnRvU3RyaW5nKCkubGVuZ3RoLDU5MDM1KSE9PWU5O1U5Kyspe3JldHVybiBzP246eXU7WjkrPTI7fWlmKHc1LmQxKFo5LnRvU3RyaW5nKCksWjkudG9TdHJpbmcoKS5sZW5ndGgsNDQ5MzkpIT09ajkpe3JldHVybiBzP246eXU7fX0sRGk6ZnVuY3Rpb24oKXtpZighdGhpcy5YZS5laSl7dGhpcy5YZS5laT1ndTt0cnl7dGhpcy52aSgpO3RoaXMuYmkoKTt9Y2F0Y2godCl7fUtjLmUoW3RoaXMuWGUubmk/MDoxLHRoaXMuWGUucmk/MDoxLHRoaXMuWGUueGldW05pXShHcikpO319LFhlOnt0aTp5dSxuaTpndSxlaTp5dSxvaTowLHJpOmd1LHNpOjAsaWk6eXV9LG5uOmZ1bmN0aW9uKHQsZSxpKXtmb3IodmFyIG4scj0wLG89ZT09PVJuP3RoaXMubXQuSmU6dGhpcy5tdC5xZTtpJiZvW3BpXTspe29bQnNdKCk7fWZvcig7cjx0W3BpXTtyKyspe3R5cGVvZihuPXRbcl0pPT09VGM/b1tNcl0obik6dHlwZW9mIG49PT1hciYmdHlwZW9mIG5bd2ErR3IrbWNdPT09VGMmJm9bTXJdKG4pO31yZXR1cm4gdGhpczt9LEppOmZ1bmN0aW9uKCl7dmFyIHkxLEgxLHYxLHQsZTt5MT0xNzAzNzYyNDUyO0gxPTEyMTk1OTkwMzk7djE9Mjtmb3IodmFyIEUxPTE7dzUuZDEoRTEudG9TdHJpbmcoKSxFMS50b1N0cmluZygpLmxlbmd0aCwzODk3NykhPT15MTtFMSsrKXtlPTY7Zm9yKHRoaXMuZmk9W107ZT49dGhpcy5XZVtwaV07ZS0tKXsodD10aGlzLldlW2VdKS5MdCgpfHx0aGlzLmZpW01yXSh0KTt9djErPTI7fWlmKHc1LmQxKHYxLnRvU3RyaW5nKCksdjEudG9TdHJpbmcoKS5sZW5ndGgsMjE2MzkpIT09SDEpe2U9MTtmb3IodGhpcy5maT1bXTtlPnRoaXMuV2VbcGldO2UrKyl7KHQ9dGhpcy5XZVtlXSkuTHQoKSYmdGhpcy5maVtNcl0odCk7fX1lPTA7Zm9yKHRoaXMuZmk9W107ZTx0aGlzLldlW3BpXTtlKyspeyh0PXRoaXMuV2VbZV0pLkx0KCkmJnRoaXMuZmlbTXJdKHQpO31yZXR1cm4gdGhpcy5maTt9LGRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2kudWk7fX07aXUuWCh5LFN0LGZ1bmN0aW9uKCl7dmFyIFg3LEI3LFM3O1g3PTIwMTA5MDA5MDY7Qjc9LTE2OTQwNjQ1NTI7Uzc9Mjtmb3IodmFyIGE3PTE7dzUuTDEoYTcudG9TdHJpbmcoKSxhNy50b1N0cmluZygpLmxlbmd0aCwxNDk3OSkhPT1YNzthNysrKXtFdT0hMTtTNys9Mjt9aWYodzUuZDEoUzcudG9TdHJpbmcoKSxTNy50b1N0cmluZygpLmxlbmd0aCw2MjI0OCkhPT1CNyl7RXU9IXt9O31FdT1vNTt9KTtpbyhmdW5jdGlvbigpe3c1Lm80KDE1KTtLYy5lKHc1LnU0KFNpLFllLEdyLFR0LFllLE0sR3IsWWUsUWUsT3QsQW8pKTt3NS5vNCg0KTtLYy5lKHc1LmM0KHhhLFZ0LEdyKSxvdSk7dzUuWTQoNCk7S2MuZSh3NS5jNChxaSxWdCxHciksc3UpO3c1Lm80KDQpO0tjLmUodzUudTQoRXMsVnQsR3IpLGF1KTt9LDEwKTt5W3J1XT15W3J1XXx8ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG87cj17fTtvPVpjLnAoW1trbytHcitSYStHcitudCxbR2MsR2MuaV1dLFtKbixzdV0sW0d0LG91XSxbWW8rR3IraXMsYXVdLFt6YSxbR2MsR2MuWGkscl1dLFthYStHcitJaSxbR2MsR2MuWmldXSxbYWErR3IrUStHcitiYSxbR2MsR2MuWWldXSxbYWErR3IrX28rR3IrYmEsW0djLEdjLktpXV0sW3crR3IrQ24sW0djLEdjLk1pXV0sW0huLFtHYyxHYy5lbixyXV0sW0duLFtHYyxHYy5oaSxyXV0sW2VzLFtHYyxHYy5HaSxyXV0sW2xjK0dyK2JhLFtHYyxHYy5xZSxyXV0sW1JuK0dyK2JhLFtHYyxHYy5KZSxyXV0sW2FhK0dyK2h0K0dyK0NuLFtHYyxHYy53ZV1dLFthYStHcitubitHcitabyxbR2MsR2MuJGldXSxbYWErR3IreWUrR3IrWm8sW0djLEdjLlZpXV0sW0JhK0dyK3llLFtHYyxHYy5QaV1dLFtrbytHcitkdCtHcitKZSxbR2MsR2MucGldXSxbYWErR3IrVXQrR3IramUrR3IrQmksW0djLEdjLlFpXV0sW2FhK0dyK1V0K0dyK0NhLFtHYyxHYy5kaV1dLFt6aSxbR2MsR2MuTmldXSxbYWErR3IrXyxbR2MsR2MuVWldXSxbRm8rR3IrXyxbR2MsR2MuUmldXSxbaGErVHQrT28sW0tjLEtjLmVdXSxbaGErVHQrRyxbS2MsS2Mucl1dLFtPYStUdCtsaSxbdHUsdHUuYV1dLFtPYStUdCthYSxbdHUsdHUuY11dLFtPYStUdCt4bixbdHUsdHUudV1dLFt0aStUdCtrbytHcitkaSxbZXUsZXUuc11dLFt0aStUdCtsaSxbZXUsZXUuYV1dLFt0aStUdCthYSxbZXUsZXUuY11dLFt0aStUdCt4bixbZXUsZXUudV1dLFtjZStUdCtKbixYYy5wdF0sW2NlK1R0K0lyK0dyK3FpLFhjLmZ0XSxbY2UrVHQra28rR3IrQ3MsWGMuaXRdLFtjZStUdCtrbytHcitYbyxYYy5udF0sW2NlK1R0K2tvK0dyK01hLFhjLm1dLFtjZStUdCtrbytHcit2YStHcitmYytHcit0YyxYYy5ldF0sW2NlK1R0K2tvK0dyK0JuLFhjLnJ0XSxbY2UrVHQra28rR3Irdm4sWGMub3RdLFtjZStUdCtrbytHcitoZSxYYy5zdF0sW2NlK1R0K2tvK0dyK3l0LFhjLmF0XSxbY2UrVHQra28rR3IrZ2MsWGMuYl0sW2NlK1R0K2tvK0dyK0luLFhjLmRdLFtjZStUdCtrbytHcitGYSxYYy5odF0sW2NlK1R0K2tvK0dyK3ZhK0dyK1BzLFhjLmddLFtjZStUdCtrbytHcitjcyxYYy5jdF0sW2NlK1R0K2tvK0dyK0VvLFhjLnV0XSxbY2UrVHQrSm4rR3IrdXQsW1hjLFhjLkpdXSxbY2UrVHQrYW8rR3IrZGksW1hjLFhjLmx0XV0sW0NhK1R0K2xjK0dyK3FzLFtpdSxpdS5LXV0sW0NhK1R0K2xjLFtpdSxpdS5YXV0sW0NhK1R0K2xhLFtpdSxpdS5aXV0sW0NhK1R0K2FhK0dyK3luLFtpdSxpdS50dF1dLFtLZStUdCtrbytHcit2ZStHciskZSxbWmMsWmMud11dLFtLZStUdCtKbitHcit1dCxbWmMsWmMuSl1dLFtLZStUdCtvcyxbWmMsWmMuR11dLFtLZStUdCt3byxbWmMsWmMueV1dLFtLZStUdCtKaSxbWmMsWmMuJF1dLFtLZStUdCtVcytHcitDbixbWmMsWmMuel1dLFtLZStUdCt4bitHcitDbixbWmMsWmMuUF1dLFtLZStUdCthYStHcitVaSxbWmMsWmMuQl1dLFtLZStUdCtEZStHcitZaSxbWmMsWmMuSF1dXSk7Zm9yKGUgaW4gbylpZih5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShvLGUpKXtmb3Iobj1lW0NyXShHcitUdCtHciksdD1yLGk9MDtpPG5bcGldLTE7aSsrKXt0eXBlb2YgdFtuW2ldXT09PWdlJiYodFtuW2ldXT17fSk7dD10W25baV1dO310W25bbltwaV0tMV1dPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIFpjLngodFtlXSk/MT09PXRbZV1bcGldP3RbZV1bMF06ZnVuY3Rpb24oKXtyZXR1cm4gMj09PXRbZV1bcGldP3RbZV1bMV1bb2FdKHRbZV1bMF0sYXJndW1lbnRzKToodFtlXVsxXVtvYV0odFtlXVswXSxhcmd1bWVudHMpLHRbZV1bMl0pO306dFtlXTt9KG8sZSk7fXJldHVybiByO30oKTt9KHQucG9wbnN8fHpjK0dyK1VjK0dyK09jLHQsdFtFaV0sdFtPaV0sdFttcl0sdFtyb10sdFtibl0sdFtObl0sdFtDb10sdFtyaStHcitpb10sdFtsaStHcitZaV0sdFtNaStHcitZaV0sdFtsaStHcitBaV0sdFtNaStHcitBaV0sdFtMdCtHcit0YytHcitmYytHcitndF0sdFt5K0dyK1J0XSx0W2tvK0dyK3lpK0dyK2d0XSx0W2lzXSx0W1hlK0dyK1ZyK0dyK0dzK0dyK3ZhK0dyK1VyXSx0W2RyXSk7fSh3aW5kb3cpO2Y1eXkuSD1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC55PT09J2Z1bmN0aW9uJz9mNXl5LkwueS5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwueTt9O2Y1eXkuVz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Y1eXkuZz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC5PPT09J2Z1bmN0aW9uJz9mNXl5LkwuTy5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwuTzt9O2Y1eXkuZj1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Z1bmN0aW9uIGY1eXkoKXt9ZjV5eS5CPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5MLnk9PT0nZnVuY3Rpb24nP2Y1eXkuTC55LmFwcGx5KGY1eXkuTCxhcmd1bWVudHMpOmY1eXkuTC55O307ZjV5eS5SPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5JPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5MPWZ1bmN0aW9uKEQpe3JldHVybnt5OmZ1bmN0aW9uKCl7dmFyIEcsZD1hcmd1bWVudHM7c3dpdGNoKEQpe2Nhc2UgMjpHPWRbMF0qZFsxXTticmVhaztjYXNlIDA6Rz1kWzBdfGRbMV07YnJlYWs7Y2FzZSAxOkc9ZFsxXS1kWzBdO2JyZWFrO31yZXR1cm4gRzt9LE86ZnVuY3Rpb24oVil7RD1WO319O30oKTtmNXl5Lno9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiBmNXl5LkwuTz09PSdmdW5jdGlvbic/ZjV5eS5MLk8uYXBwbHkoZjV5eS5MLGFyZ3VtZW50cyk6ZjV5eS5MLk87fTtmNXl5LkM9ZnVuY3Rpb24oKXt2YXIgUT0yO3doaWxlKFEhPT0xKXtzd2l0Y2goUSl7Y2FzZSAyOnJldHVybnt2OmZ1bmN0aW9uKFUpe3ZhciBiPTI7d2hpbGUoYiE9PTE0KXtzd2l0Y2goYil7Y2FzZSAyOnZhciBLPScnLGw9ZGVjb2RlVVJJKCJ0JTExa2JsYyU3RCUwNmhiZGxtbDYhJTNDJTNDKyU1QmNkLTo1JTVENyg4Jy8lNUJ3LzI4bWolM0M4KTA3YiolMUMyJTI1bSUwN3ElN0RvYmslMTh3JTdDc2RtaDcpKSUyMipaMmQlMTgtNUErKS5vbXMlMTUlMjUlM0UwKyU1QiUzQyUxMXUlMjA2TXk/KScsSy1kJTNFOSxLMi00OyUyMCUwNjojMCU3RDUlNUM6IzMya0s2IXU5Kks4JTIwNTo2JTVDcSUxRiUzRScsWC1sMCUyMDYlNUN5Ljh1KUc4KDgxZUolM0MqMiclMjAlMDg1JTI1JTNFMCslNUIlM0NsOyUzQylNcWIxOiZJNSIpO2I9MTticmVhaztjYXNlIDk6Sys9U3RyaW5nLmZyb21DaGFyQ29kZShsLmNoYXJDb2RlQXQoWSleVS5jaGFyQ29kZUF0KGspKTtiPTg7YnJlYWs7Y2FzZSAxOnZhciBZPTAsaz0wO2I9NTticmVhaztjYXNlIDU6Yj1ZPGwubGVuZ3RoPzQ6NzticmVhaztjYXNlIDM6az0wO2I9OTticmVhaztjYXNlIDg6WSsrLGsrKztiPTU7YnJlYWs7Y2FzZSA0OmI9az09PVUubGVuZ3RoPzM6OTticmVhaztjYXNlIDc6Sz1LLnNwbGl0KCcoJyk7cmV0dXJuIGZ1bmN0aW9uKFApe3ZhciBoPTI7d2hpbGUoaCE9PTEpe3N3aXRjaChoKXtjYXNlIDI6cmV0dXJuIEtbUF07YnJlYWs7fX19O2JyZWFrO319fSgnRShZTF1VJyl9O2JyZWFrO319fSgpOyFmdW5jdGlvbihlLG8sYyl7InVzZSBzdHJpY3QiO3ZhciBUPWY1eXk7dmFyIGksbix0O1QuZygwKTtpPVQuUihULkgoIjgiLDApKTtULnooMCk7bj1bVC5JKFQuSCgnXHgzMVx4MzAnLDApKSxULkkoKyI2IiksVC5SKCsnXHgzMVx4MzQnKSxULlIoKyIxMiIpLFQuUihULkgoIjUiLDAsVC5nKDApKSksVC5JKFQuQigwLCdceDMwJyxULnooMSkpKSxULlIoVC5CKCdceDMxXHgzMScsMCxULnooMCkpKSxULkkoKyIyIildO1QuZygyKTt0PVsrJ1x4MzJceDMwXHgzMVx4MzknLFQuQignXHUwMDM1JywxKSxULkgoJ1x4MzFceDM2JywwLFQuZygwKSldO3RyeXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yy5Mb2dnZXIubG9nKGksVC5SKCsnXHgzMScpLG4pO2MuTG9nZ2VyLmxvZyhpLFQuUigiNyItMCksdC5qb2luKFQuSSgnXHgzNCctMCkpKTt9LCsiNTAwIik7VC56KDEpO2Mub2JqZWN0PVtuLFsrIjM2MCIsNDk0LDM5MSwrIjMxMiIsVC5CKDAsIjMxMiIpLFQuSCgiMzY1IiwwLFQuZygwKSksKydceDM0XHgzMFx4MzQnLFQuSCgiMzAwIiwwLFQuZygwKSksKydceDMzXHgzNlx4MzBceDMwXHgzMScsVC5IKDAsJ1x4MzNceDM5XHgzNVx4MzJceDMyJyxULmcoMSkpLFQuQigiMTg3NzEiLDAsVC56KDApKSwrIjM0OTQ4IiwxNjU0MSwyOTU3MSwrJ1x4MzVceDMxXHgzN1x4MzFceDM5JywzMzkwOCxULkgoIjc4ODQwIiwwLFQuZygwKSksMTA1OTY0LCsnXHgzOFx4MzRceDM1XHgzNVx4MzUnLFQuSCgiNzI0MjYiLDAsVC5nKDApKSxULkgoJ1x4MzNceDMwXHgzNVx4MzlceDM5JywwLFQuZygwKSksVC5CKCdcdTAwMzRcdTAwMzFcdTAwMzZcdTAwMzJcdTAwMzYnLDAsVC5nKDApKSxULkIoMCwnXHUwMDM4XHUwMDM4XHUwMDMwXHUwMDM4XHUwMDM0JyxULnooMSkpLFQuSCgiNjU0MDkiLDEsVC5nKDIpKSwxNDQwMCxULkgoIjEyODQ0IiwxLFQueigyKSksKydceDM4XHgzNlx4MzBceDMyJyxULkgoJ1x4MzFceDMwXHgzOVx4MzJceDMwJywxLFQuZygyKSksMTM0MTYsVC5IKCdceDMyXHgzNFx4MzhceDMyXHgzMCcsMCxULmcoMCkpLFQuQignXHgzM1x4MzdceDM5XHgzN1x4MzYnLDAsVC56KDApKSwrJ1x4MzVceDMxXHg2NVx4MzMnXSx0LFtULkgoJ1x4MzNceDM2XHgzMicsMCxULmcoMCkpLDQ5NiwrJ1x4MzNceDM5XHgzOScsVC5IKDAsIjczMDkyMyIsVC5nKDEpKSwrJ1x1MDAzMlx1MDAzNVx1MDAzMVx1MDAzMicsVC5IKCI2Mzk4IiwwLFQueigwKSksVC5IKCdcdTAwMzRcdTAwMzFcdTAwMzFcdTAwMzlcdTAwMzFcdTAwMzJcdTAwMzInLDEsVC5nKDIpKSwrJ1x4MzFceDMxXHgzMVx4MzlceDMyJyxULkgoJ1x4MzNceDM0XHgzMlx4MzNceDM2JywwLFQueigwKSksMjQ2MSwzMjU1NywxMDIxMF0sby5jdXJyZW50U2NyaXB0LFQuSCgiMSIsMSxULmcoMikpXTt9Y2F0Y2gobyl7dm9pZCgnXHgzMCcqMSkhPT1lLmNvbnNvbGUmJmUuY29uc29sZS5sb2cmJkZ1bmN0aW9uLmFwcGx5LmNhbGwoZS5jb25zb2xlLmxvZyxlLmNvbnNvbGUsW1QuSSgnXHgzMVx4MzMnfDApXSk7fX0od2luZG93LGRvY3VtZW50LHdpbmRvd1t3aW5kb3cucG9wbnN8fGY1eXkuUigiMyItMCldKTt2YXIgXzB4MTM4Zj1bJ1x4NThceDQ4XHg2M1x4NzInLCdceDQ5XHg1NFx4NDVceDZmXHg2NFx4NDNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NmNceDUwXHg1NFx4NDVceDZmXHg1YVx4NTNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NzVceDUwXHg1OFx4NTFceDc1XHg2Mlx4NzlceDY3XHg2OVx4NjJceDUzXHg0OVx4NzBceDRmXHg3YVx4NTlceDY3XHg2Mlx4NjlceDM0XHg3OVx4NGNceDZkXHg3N1x4MzlceDQ5XHg2ZFx4NzNceDY5XHg0Y1x4NDdceDM0XHg3NVx4NGRceDY5XHgzNVx4NzdceDUwXHg1NFx4NDFceDczXHg2Mlx4NjlceDM0XHg3OVx4NGNceDZlXHg0NVx4MzlceDRkXHg0M1x4NzhceDc1XHg0Y1x4NmFceDQ5XHg3NVx4NjRceDdhXHgzMFx4NjlceDYxXHg2OVx4NDlceDczXHg2Mlx4NjlceDM1XHgzMVx4NTBceDUzXHg0OVx4MzNceDRmXHg2OVx4MzhceDc2XHg2M1x4NjlceDM1XHgzNFx4NGNceDZhXHg1NVx4NzZceDYxXHg0M1x4MzlceDY4XHg0Y1x4NzlceDQ5XHg3Mlx4NWFceDUzXHg3OFx4MzBceDRjXHg2ZFx4NDlceDc1XHg2MVx4NTNceDY4XHg3NVx4NGJceDUzXHg3OFx4NzVceDY2XHg1M1x4NzhceDc1XHg1MFx4NTdceDRkXHg2Zlx4NWFceDc5XHg2N1x4NmZceDY0XHg0M1x4MzVceDZiXHg0Y1x4NmVceDU5XHg2Zlx4NTFceDY5XHg0Mlx4NGZceDRiXHg0M1x4NDlceDZmXHg0ZVx4N2FceDM5XHgzOFx4NTNceDY5XHgzMVx4MzVceDRiXHg1NFx4NzBceDYzXHg1OFx4NDNceDM5XHg2M1x4NThceDQzXHgzOFx4NjlceDRiXHg1M1x4NzdceDY5XHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDRjXHg3OVx4NDlceDcwXHg1N1x4N2FceDQyXHg2NFx4NjZceDQ4XHg3N1x4NjlceDUzXHg3OVx4MzRceDMxXHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDQ5XHg2OVx4NmJceDc1XHg1NFx4NDNceDY3XHg3OFx4NGJceDQ4XHg1MVx4NzBceDY1XHg3YVx4NTlceDY3XHg2NFx4NDNceDM1XHg0ZVx4NGJceDQ0XHg0MVx4NzBceDRjXHg2Ylx4NjNceDZmXHg1M1x4NDNceDZjXHgzOVx4NGJceDUzXHgzNVx4NDJceDRiXHg0M1x4NDlceDY5XHg0Ylx4NTNceDZiXHg3MFx4NGZceDMzXHg2Zlx4NzVceDRlXHg0M1x4NjdceDY5XHg1MVx4NzlceDQ5XHg3M1x4NGRceDUzXHg2N1x4NzBceDY1XHgzMlx4NTVceDZmXHg2Mlx4NjlceDczXHg2OVx4NGNceDMyXHg1OVx4NzVceDRmXHg1M1x4NDlceDcwXHg0Y1x4NmFceDUxXHg2Zlx4NDlceDZiXHg1MVx4NjlceDRjXHg0NFx4NDVceDZmXHg0Ylx4NThceDc0XHg0N1x4NGJceDQ0XHg0NVx4NmZceDRiXHg1OFx4NzRceDZjXHg0Ylx4NDdceDM0XHg3Mlx4NDlceDY5XHgzOVx4N2FceDRjXHg2YVx4NmJceDY5XHg0Ylx4NThceDMwXHg3M1x4NTJceDUzXHg2Y1x4MzlceDRiXHg1OFx4MzBceDcwXHg2Nlx4NTNceDY4XHg0YVx4NGJceDU0XHg3M1x4M2QnLCdceDYzXHgzM1x4NDJceDczXHg2MVx4NThceDUxXHgzZCcsJ1x4NWFceDZlXHg0YVx4NzZceDYyXHg1NVx4NGVceDZmXHg1OVx4NThceDRhXHg0NFx4NjJceDMyXHg1Mlx4NmMnLCdceDY0XHg0N1x4MzlceDU0XHg2NFx4NDhceDRhXHg3MFx4NjJceDZkXHg2M1x4M2QnLCdceDYzXHg2ZFx4NTZceDc3XHg2Mlx4NDdceDQ2XHg2YVx4NWFceDUxXHgzZFx4M2QnXTsoZnVuY3Rpb24oXzB4MWI1OWFjLF8weDMwZDYwNSl7dmFyIF8weDQ0NTljOT1mdW5jdGlvbihfMHgxNDY4YWMpe3doaWxlKC0tXzB4MTQ2OGFjKXtfMHgxYjU5YWNbJ3B1c2gnXShfMHgxYjU5YWNbJ3NoaWZ0J10oKSk7fX07XzB4NDQ1OWM5KCsrXzB4MzBkNjA1KTt9KF8weDEzOGYsMHgxMGIpKTt2YXIgXzB4MTdjMT1mdW5jdGlvbihfMHgxOTc3ZGIsXzB4Yzc5ZjY5KXtfMHgxOTc3ZGI9XzB4MTk3N2RiLTB4MDt2YXIgXzB4MTYyZGYyPV8weDEzOGZbXzB4MTk3N2RiXTtpZihfMHgxN2MxWydPTXJTcXgnXT09PXVuZGVmaW5lZCl7KGZ1bmN0aW9uKCl7dmFyIF8weDI0NzE2Njt0cnl7dmFyIF8weDViZDYyOT1GdW5jdGlvbigncmV0dXJuXHgyMChmdW5jdGlvbigpXHgyMCcrJ3t9LmNvbnN0cnVjdG9yKFx4MjJyZXR1cm5ceDIwdGhpc1x4MjIpKFx4MjApJysnKTsnKTtfMHgyNDcxNjY9XzB4NWJkNjI5KCk7fWNhdGNoKF8weDMyOTViMCl7XzB4MjQ3MTY2PXdpbmRvdzt9dmFyIF8weDI4M2NlOT0nQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0nO18weDI0NzE2NlsnYXRvYiddfHwoXzB4MjQ3MTY2WydhdG9iJ109ZnVuY3Rpb24oXzB4MzQxYjE5KXt2YXIgXzB4MTQ0Zjk2PVN0cmluZyhfMHgzNDFiMTkpWydyZXBsYWNlJ10oLz0rJC8sJycpO2Zvcih2YXIgXzB4MjhhNzVlPTB4MCxfMHg1OWNiNWIsXzB4MWUwOTNkLF8weDUxZWZhNj0weDAsXzB4OTIyYWFjPScnO18weDFlMDkzZD1fMHgxNDRmOTZbJ2NoYXJBdCddKF8weDUxZWZhNisrKTt+XzB4MWUwOTNkJiYoXzB4NTljYjViPV8weDI4YTc1ZSUweDQ/XzB4NTljYjViKjB4NDArXzB4MWUwOTNkOl8weDFlMDkzZCxfMHgyOGE3NWUrKyUweDQpP18weDkyMmFhYys9U3RyaW5nWydmcm9tQ2hhckNvZGUnXSgweGZmJl8weDU5Y2I1Yj4+KC0weDIqXzB4MjhhNzVlJjB4NikpOjB4MCl7XzB4MWUwOTNkPV8weDI4M2NlOVsnaW5kZXhPZiddKF8weDFlMDkzZCk7fXJldHVybiBfMHg5MjJhYWM7fSk7fSgpKTtfMHgxN2MxWyd4anFrREYnXT1mdW5jdGlvbihfMHgzMzc3MTgpe3ZhciBfMHg1ZGRiMTU9YXRvYihfMHgzMzc3MTgpO3ZhciBfMHg1NjBiOTU9W107Zm9yKHZhciBfMHhjOTdmOTE9MHgwLF8weDQ0MTg3Mj1fMHg1ZGRiMTVbJ2xlbmd0aCddO18weGM5N2Y5MTxfMHg0NDE4NzI7XzB4Yzk3ZjkxKyspe18weDU2MGI5NSs9JyUnKygnMDAnK18weDVkZGIxNVsnY2hhckNvZGVBdCddKF8weGM5N2Y5MSlbJ3RvU3RyaW5nJ10oMHgxMCkpWydzbGljZSddKC0weDIpO31yZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KF8weDU2MGI5NSk7fTtfMHgxN2MxWydrRG1IU2snXT17fTtfMHgxN2MxWydPTXJTcXgnXT0hIVtdO312YXIgXzB4MzA2NDA1PV8weDE3YzFbJ2tEbUhTayddW18weDE5NzdkYl07aWYoXzB4MzA2NDA1PT09dW5kZWZpbmVkKXtfMHgxNjJkZjI9XzB4MTdjMVsneGpxa0RGJ10oXzB4MTYyZGYyKTtfMHgxN2MxWydrRG1IU2snXVtfMHgxOTc3ZGJdPV8weDE2MmRmMjt9ZWxzZXtfMHgxNjJkZjI9XzB4MzA2NDA1O31yZXR1cm4gXzB4MTYyZGYyO307ZXZhbChmdW5jdGlvbihfMHg0OWIyZTksXzB4MTA2OTM1LF8weDIyM2Q1NixfMHgyZmY2ZTksXzB4ZWQ3ZDI2LF8weDNiYzUwMCl7XzB4ZWQ3ZDI2PWZ1bmN0aW9uKF8weDI2YmI4Mil7cmV0dXJuKF8weDI2YmI4MjxfMHgxMDY5MzU/Jyc6XzB4ZWQ3ZDI2KHBhcnNlSW50KF8weDI2YmI4Mi9fMHgxMDY5MzUpKSkrKChfMHgyNmJiODI9XzB4MjZiYjgyJV8weDEwNjkzNSk+MHgyMz9TdHJpbmdbXzB4MTdjMSgnMHgwJyldKF8weDI2YmI4MisweDFkKTpfMHgyNmJiODJbXzB4MTdjMSgnMHgxJyldKDB4MjQpKTt9O2lmKCEnJ1tfMHgxN2MxKCcweDInKV0oL14vLFN0cmluZykpe3doaWxlKF8weDIyM2Q1Ni0tKXtfMHgzYmM1MDBbXzB4ZWQ3ZDI2KF8weDIyM2Q1NildPV8weDJmZjZlOVtfMHgyMjNkNTZdfHxfMHhlZDdkMjYoXzB4MjIzZDU2KTt9XzB4MmZmNmU5PVtmdW5jdGlvbihfMHgzMjA3ZjYpe3JldHVybiBfMHgzYmM1MDBbXzB4MzIwN2Y2XTt9XTtfMHhlZDdkMjY9ZnVuY3Rpb24oKXtyZXR1cm4gXzB4MTdjMSgnMHgzJyk7fTtfMHgyMjNkNTY9MHgxO307d2hpbGUoXzB4MjIzZDU2LS0pe2lmKF8weDJmZjZlOVtfMHgyMjNkNTZdKXtfMHg0OWIyZTk9XzB4NDliMmU5W18weDE3YzEoJzB4MicpXShuZXcgUmVnRXhwKCdceDVjXHg2MicrXzB4ZWQ3ZDI2KF8weDIyM2Q1NikrJ1x4NWNceDYyJywnXHg2NycpLF8weDJmZjZlOVtfMHgyMjNkNTZdKTt9fXJldHVybiBfMHg0OWIyZTk7fShfMHgxN2MxKCcweDQnKSwweDMyLDB4MzIsJ1x4N2NceDY2XHg3NVx4NmVceDYzXHg3NFx4NjlceDZmXHg2ZVx4N2NceDczXHg3NFx4NzlceDZjXHg2NVx4N2NceDczXHg3MFx4NmNceDY5XHg3NFx4N2NceDYxXHg2NFx4NjRceDQ1XHg3Nlx4NjVceDZlXHg3NFx4NGNceDY5XHg3M1x4NzRceDY1XHg2ZVx4NjVceDcyXHg3Y1x4NjNceDZmXHg2ZFx4N2NceDcyXHg2NVx4NzRceDc1XHg3Mlx4NmVceDdjXHg2OFx4NzRceDc0XHg3MFx4NzNceDdjXHg3Nlx4NjFceDcyXHg3Y1x4NzBceDZlXHg2N1x4N2NceDcwXHg3NFx4N2NceDYyXHg2Zlx4NjRceDc5XHg3Y1x4NjVceDZlXHg2M1x4NmZceDY0XHg2NVx4NTVceDUyXHg0OVx4NDNceDZmXHg2ZFx4NzBceDZmXHg2ZVx4NjVceDZlXHg3NFx4N2NceDcyXHg2NVx4NjZceDY1XHg3Mlx4NzJceDY1XHg3Mlx4N2NceDdjXHg3Y1x4NjJceDc0XHg2Zlx4NjFceDdjXHg3Nlx4MzFceDdjXHg2MVx4NzBceDcwXHg2NVx4NmVceDY0XHg0M1x4NjhceDY5XHg2Y1x4NjRceDdjXHg2ZVx4NmZceDZlXHg2NVx4N2NceDYxXHg2Mlx4NzNceDZmXHg2Y1x4NzVceDc0XHg2NVx4N2NceDcwXHg2Zlx4NzNceDY5XHg3NFx4NjlceDZmXHg2ZVx4N2NceDY5XHg2ZFx4NjdceDdjXHg3Y1x4NjNceDcyXHg2NVx4NjFceDc0XHg2NVx4NDVceDZjXHg2NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg3NFx4NmZceDcwXHg3Y1x4NmNceDY1XHg2Nlx4NzRceDdjXHg2MVx4NzBceDY5XHg3Y1x4N2NceDdjXHg3M1x4NzJceDYzXHg3Y1x4NzJceDY1XHg3MFx4NmNceDYxXHg2M1x4NjVceDdjXHg3MFx4NmZceDY5XHg2ZVx4NzRceDY1XHg3Mlx4NDVceDc2XHg2NVx4NmVceDc0XHg3M1x4N2NceDYzXHg2Y1x4NjlceDYzXHg2Ylx4NjFceDY5XHg2ZVx4NjVceDdjXHg2MVx4NzBceDcwXHg3Y1x4NzdceDY5XHg2ZVx4NjRceDZmXHg3N1x4N2NceDZhXHg2Zlx4NjlceDZlXHg3Y1x4NmVceDY1XHg3N1x4N2NceDQ0XHg0Zlx4NGRceDQzXHg2Zlx4NmVceDc0XHg2NVx4NmVceDc0XHg0Y1x4NmZceDYxXHg2NFx4NjVceDY0XHg3Y1x4NmNceDZmXHg2MVx4NjRceDdjXHgzNVx4NjVceDMzXHg3Y1x4NzNceDY1XHg3NFx4NTRceDY5XHg2ZFx4NjVceDZmXHg3NVx4NzRceDdjXHg3NFx4NmZceDUzXHg3NFx4NzJceDY5XHg2ZVx4NjdceDdjXHgzMVx4MzZceDdjXHg2NFx4NmZceDYzXHg3NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg2MVx4NmVceDY0XHg3Mlx4NmZceDY5XHg2NFx4N2NceDY0XHg2Zlx4NzRceDdjXHg2ZFx4NjFceDcwXHg3Y1x4NjNceDY4XHg2MVx4NzJceDQzXHg2Zlx4NjRceDY1XHg0MVx4NzRceDdjXHg1Mlx4NjVceDY3XHg0NVx4NzhceDcwJ1tfMHgxN2MxKCcweDUnKV0oJ1x4N2MnKSwweDAse30pKTsKO3ZhciBjSVBvcCA9IGZ1bmN0aW9uIGNJUG9wKHVybCkgewoJCWNQb3AuY29uZmlnKHsKCQkJY292ZXJUYWdzOiBbJ3ZpZGVvJywgJ2lmcmFtZSddLAoJCQl0YWJVbmRlcklnbm9yZVRhcmdldEJsYW5rOiB0cnVlLAoJCQlkZWxheTogMTAwCgkJfSk7CgkJY1BvcC5hZGQodXJsLCB7CgkJCW5ld1RhYjogdHJ1ZSwKCQkJdW5kZXI6IHRydWUsCgkJCWNvb2tpZUV4cGlyZXM6IDEwMH0pfTs=(Line 1)
Message:
console.clear
console-api log URL: https://tpmedia-reactads.com/reactAds-script.js(Line 2)
Message:
[object HTMLDivElement]
console-api log URL: https://tpmedia-reactads.com/reactAds-script.js(Line 2)
Message:
console.clear
console-api log URL: data:text/plain;base64,d2luZG93LnBvcG5zID0gJ2NQb3AnO3Y3R0cuYzQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmU0PT09J2Z1bmN0aW9uJz92N0dHLlo0LmU0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmU0O307djdHRy5pMT1mdW5jdGlvbigpe3ZhciBxMT1mdW5jdGlvbihJMSxLMSl7dmFyIEExPUsxJjB4ZmZmZjt2YXIgcjE9SzEtQTE7cmV0dXJuKHIxKkkxfDApKyhBMSpJMXwwKXwwO30sbTE9ZnVuY3Rpb24oajEsVTEsaDEpe3ZhciB4MT0weGNjOWUyZDUxLHoxPTB4MWI4NzM1OTM7dmFyIGUxPWgxO3ZhciB0MT1VMSZ+MHgzO2Zvcih2YXIgWjE9MDtaMTx0MTtaMSs9NCl7dmFyIFExPWoxLmNoYXJDb2RlQXQoWjEpJjB4ZmZ8KGoxLmNoYXJDb2RlQXQoWjErMSkmMHhmZik8PDh8KGoxLmNoYXJDb2RlQXQoWjErMikmMHhmZik8PDE2fChqMS5jaGFyQ29kZUF0KFoxKzMpJjB4ZmYpPDwyNDtRMT1xMShRMSx4MSk7UTE9KFExJjB4MWZmZmYpPDwxNXxRMT4+PjE3O1ExPXExKFExLHoxKTtlMV49UTE7ZTE9KGUxJjB4N2ZmZmYpPDwxM3xlMT4+PjE5O2UxPWUxKjUrMHhlNjU0NmI2NHwwO31RMT0wO3N3aXRjaChVMSU0KXtjYXNlIDM6UTE9KGoxLmNoYXJDb2RlQXQodDErMikmMHhmZik8PDE2O2Nhc2UgMjpRMXw9KGoxLmNoYXJDb2RlQXQodDErMSkmMHhmZik8PDg7Y2FzZSAxOlExfD1qMS5jaGFyQ29kZUF0KHQxKSYweGZmO1ExPXExKFExLHgxKTtRMT0oUTEmMHgxZmZmZik8PDE1fFExPj4+MTc7UTE9cTEoUTEsejEpO2UxXj1RMTt9ZTFePVUxO2UxXj1lMT4+PjE2O2UxPXExKGUxLDB4ODVlYmNhNmIpO2UxXj1lMT4+PjEzO2UxPXExKGUxLDB4YzJiMmFlMzUpO2UxXj1lMT4+PjE2O3JldHVybiBlMTt9O3JldHVybntiMTptMX07fSgpO3Y3R0cuRDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LkM2PT09J2Z1bmN0aW9uJz92N0dHLlo0LkM2LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LkM2O307djdHRy5MMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLlo2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5DNj09PSdmdW5jdGlvbic/djdHRy5nNi5DNi5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5DNjt9O3Y3R0cuWjQ9ZnVuY3Rpb24oQTQpe3JldHVybntlNDpmdW5jdGlvbigpe3ZhciBTNCxsND1hcmd1bWVudHM7c3dpdGNoKEE0KXtjYXNlIDI6UzQ9bDRbMF0rbDRbMV07YnJlYWs7Y2FzZSAyMjpTND1sNFsyXStsNFswXS1sNFsxXTticmVhaztjYXNlIDc6UzQ9bDRbNF0rbDRbMTBdK2w0WzExXStsNFszXSsobDRbNl0rbDRbMV0rbDRbNV0rbDRbOV0rbDRbMl0rbDRbMF0rbDRbOF0pK2w0WzddO2JyZWFrO2Nhc2UgNjpTND1sNFsyXS9sNFswXS9sNFsxXTticmVhaztjYXNlIDE3OlM0PWw0WzZdK2w0WzFdK2w0WzBdK2w0WzRdK2w0WzVdK2w0WzJdK2w0WzNdO2JyZWFrO2Nhc2UgMTpTND1sNFszXStsNFs0XStsNFsyXStsNFsxXStsNFswXTticmVhaztjYXNlIDM6UzQ9bDRbMV0rKGw0WzNdK2w0WzVdK2w0WzBdK2w0WzRdK2w0WzJdKTticmVhaztjYXNlIDExOlM0PWw0WzFdPGw0WzBdO2JyZWFrO2Nhc2UgOTpTND1sNFswXT4tbDRbMV07YnJlYWs7Y2FzZSA0OlM0PWw0WzBdK2w0WzFdK2w0WzJdO2JyZWFrO2Nhc2UgODpTND1sNFswXT09PWw0WzFdO2JyZWFrO2Nhc2UgMTQ6UzQ9bDRbMF0rbDRbNF0rbDRbN10rbDRbMl0rbDRbNV0rbDRbM10rbDRbMV0rbDRbNl0rbDRbOF07YnJlYWs7Y2FzZSAyMTpTND1sNFswXSVsNFsyXS1sNFsxXTticmVhaztjYXNlIDEyOlM0PWw0WzVdK2w0WzJdK2w0WzZdK2w0WzBdKyhsNFs0XStsNFszXStsNFsxXSk7YnJlYWs7Y2FzZSAxNjpTND1sNFswXStsNFsyXTxsNFsxXTticmVhaztjYXNlIDIwOlM0PWw0WzFdJWw0WzJdKmw0WzBdO2JyZWFrO2Nhc2UgNTpTND1sNFs1XSsobDRbMTNdK2w0WzNdK2w0WzddK2w0WzEyXStsNFs2XStsNFs0XStsNFsyXStsNFswXStsNFsxMF0rbDRbOF0rbDRbMTFdK2w0WzldK2w0WzFdKTticmVhaztjYXNlIDA6UzQ9bDRbOV0rbDRbOF0rbDRbMl0rbDRbMTNdK2w0WzNdK2w0WzRdK2w0WzFdK2w0WzBdK2w0WzddK2w0WzExXStsNFsxMF0rbDRbNl0rbDRbNV0rbDRbMTRdK2w0WzEyXTticmVhaztjYXNlIDE4OlM0PWw0WzBdKmw0WzJdJWw0WzFdO2JyZWFrO2Nhc2UgMTA6UzQ9LWw0WzBdPT09bDRbMV07YnJlYWs7Y2FzZSAxMzpTND1sNFsxNF0rbDRbMjddK2w0WzE5XStsNFswXStsNFsxMV0rbDRbNV0rbDRbMTBdK2w0WzI5XStsNFsyXStsNFsyM10rbDRbMjBdK2w0WzRdK2w0WzIyXStsNFsxOF0rbDRbMjRdK2w0WzEyXStsNFs3XStsNFsxNV0rbDRbNl0rbDRbMTNdK2w0WzE3XStsNFs5XStsNFsyOF0rbDRbMjFdK2w0WzFdK2w0WzMwXStsNFsyNl0rbDRbMTZdK2w0WzNdK2w0WzI1XStsNFs4XTticmVhaztjYXNlIDE5OlM0PWw0WzFdL2w0WzBdJWw0WzJdO2JyZWFrO2Nhc2UgMTU6UzQ9bDRbNV0rbDRbNF0rbDRbMTBdK2w0WzFdK2w0WzZdK2w0WzldK2w0WzJdK2w0WzddK2w0WzhdK2w0WzNdK2w0WzBdO2JyZWFrO31yZXR1cm4gUzQ7fSxzNDpmdW5jdGlvbihQNCl7QTQ9UDQ7fX07fSgpO3Y3R0cueDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy51ND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuZTQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuZTQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuZTQ7fTtmdW5jdGlvbiB2N0dHKCl7fXY3R0cuWTQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LnM0PT09J2Z1bmN0aW9uJz92N0dHLlo0LnM0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LnM0O307djdHRy5vND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuczQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuczQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuczQ7fTt2N0dHLmw2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuQjQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy5nNj1mdW5jdGlvbigpe3ZhciBzNj0yO3doaWxlKHM2IT09MSl7c3dpdGNoKHM2KXtjYXNlIDI6cmV0dXJue0M2OmZ1bmN0aW9uKHg2KXt2YXIgbTY9Mjt3aGlsZShtNiE9PTE0KXtzd2l0Y2gobTYpe2Nhc2UgNDptNj1JNj09PXg2Lmxlbmd0aD8zOjk7YnJlYWs7Y2FzZSAyOnZhciBQNj0nJyxVNj1kZWNvZGVVUkkoIjIjMUw3QTg4LEk1Vz84O1Y0WiUyMiUzRStHO0IlMjIpJTIwRyUwQUUlMjIkLFE/RTIyJTE0UChBMCMqRypLJjklM0MlNUQ/ViUzQz8sdDtHKCUzRTdNL1Y4Mj8lNUM0UTQtJTIwRyUxOEElMjI4N0skaTkoN0c3TTgyJTA1JTVDOE8/OCxaNUolMjUjJTNFJTVDJG4lMjUyJTdCRyxBJD87VjRabTIhTTVUKCQzVyUzRUgzKCxLP0k5OjdHaCUxNiglMUU3Xz9WMyUzRSxaNUolMjIpJTNDTSRJMyUzRTUlNUMkSjM0JkclMEJHO3U5JTVEJHooJTAwPSU1RT1BJDIhJTVDLlolM0UpOyU1RTJQKCUwOSUzRSU1QzdBODghRylQLyUyMDdHLE0lMjUlMjUwUDZNJTIyNSxqJEc6JTI1N1cuWjMlMjA3VD9KJTIyMiUxNUE2WiUxQSYsaz9FNSQ3JTVEJGswMj1fJTNDVzM4LG8lMjBaJTEzKyxuM0oyIyUyNUc5RTgvN1UkbicvKyUwQzBGZCU3QyUyMkc4TTgoLEk1TTg4N0skSiMhMCU1QyhaNS0lM0VVJH4oJTIwN18uWngyJlgoQzM4LHoyVjkhN0clM0VBJTIwJTI1MSU1QyRwLyUzQzdKJFclM0UjJ1UlM0VaJTIyLTVHJTAzJTE3KCUwNTVXNVYzMiUxMFA0QCglMTk1RyUwQVY5JTNDMyU1RTtQPyMlM0NHNVQzJTIyN0skSDkvM00zSzgyJTA1QTZHJTNDO2pHLk07KSx2NEczMiUxM1U2WjAlM0UzVD9aJTA1ISxLO0oyIz9HJTE4UiglMDU2RzBLPyUyMiwlNjAqWjsjJCU1QyRTPyUyMjZWLVoyJTI1IUk2RS8ybEclMUVLOy07VyRAMz85TTVUKCUwQSElNUUkUDcuJ1clM0VBJDIlMTMlNUUkRTQjJ00kVzUlM0U7SS5aJjkhUSRBJTIwKSUzQ00pWiUyMiUzRTNXKVQ3JTNFN1cuWiY4MVY0QyglMUYmVihFMSkseCRQNy4saT9WJi01JTVDJEk3NCxKL0YlMjU4JTIwRzZLNygsajlWPyUzQyZHJTEzSiUyMiklMjBPO0goJCUyMCU1QyUzQ1o4IyxaKEE3ODdHO1AlMjItMVEkSDklMjI1Ry9WOjIlMUZYLkwoLTBaJTNFQTArOlAwTzohJTNDVipVJD8mTCxTLjUoRyUxNVQzJTNFM0clMENFOjk3RyUxOEgoOSUzQyU1RD9WKCUwNSYlNUM3WiUxNCUzRT1OKUEkMiUxM1clM0VWOSUyNTZHOVEkJTNFN1cuWiUxNCUyMDNXMVoyKSRHNEslMjIyJTFFJTVDJTNDUCg/N1U/RyUyMiMlMjBHJTFEJTFEPy04TmJaPyUyMiUzQyU1QyhaNCUyMDNXMVolMDM1LCU1QyRzPyUyMix4LlolMTQ5MCU1QjZBKCg3WjVAMzIlMDJYKEE4OCxoL0EjKTZHdlolMDU4M1QqWiYtJTIwJTVDNFAoJDNKJFElMjUpJTIwRyhBJiUyMDNaP1olMDAyI0w/Vi8yJTNDJTVDLlM5JTNFOUcpTD8qJkcqVjk4PU0jVDMyPSU1QjBBNTgseSRKIyUyMCUzRUcuSyh+YiUwOGJaPyUyMiUyMkwuWjstJloyWiQpIU01VjMyO18oRTspLHU1UzMlM0UsJTdGalolMDQyJTA2UTtKJTNFMiUxRkc4USUyMjg9VyRvMjIlMTglMDkkcSQlMjAsaSRGMyo9Sz9aJTAwKSUyMEozSzgyJTA0TCRBOC0wVT9AKCUwMyxLP1czOCwlMTEkVjM/O0M/WiMlMjI2JTVDJTNDTTgpNkd6WiUyNSUzRTFHJTFEQSUyMjg3SyUwNSU3QiglMUM6WDRaPzIxVT9FJDIwWClBJTYweCwlNjAkQDMuJyU1RSRDMzgsUztSNz8xSzNUJTIyMjNNLlY/LidNP1coJTFGJkszSjEyLHU3WjgpJTI1RzVKNSUyMDtaMVolMTF1JTI1JTVEJCU3QyhjLFQzSTMyJTE0TDRHJTIyJTI1PVckVjM9JyU1QylQKCUxMHplc3glMjVmKWUpJTBFJTBBJTE3JTBFSnBKNzg7Tz8lMDQ1IzYlNUMlMDZXJTdDJTEwJTBGZSklMEUrMiUxRVA0US4yJTFFJTA5KkwyISwlNUQ/VyUyMiUzRT1AJE07MjZQKVQ3ODFRJE04PzdLLlo4IzYlNUMkajoyJTAxJTVDNkE1OD1LJCUxMiglMDg3JTVCL0MoJTE4MyU1RSlaJTE0JCwlNUU/SzojMVguTTklMjIsJTdDLEE4OCxYKlQ6NSwlNUQ7UDcycUclMEVFJCs3TSRnOSElMjJYKEEoaSwlN0Y2RTEyY0clMTlFJTI1KSwlNUQ1STclMjUlM0NHJTFCUSUyMiQ9SyRGOSgrRztAMjIlMERmJTNFQTAlMjUlM0MlNUMkcDcrLFQ/VyUyNS01JTVDJEk5OSElNUMvVCglMEElMjBWN1olMDYjO1cuWiUyMC0lMjBHJTBFSyMvOiU1QylaJTAyIywlN0QtUig2LFg4VzklMjAnTT9aJTA3Kyx4NEclM0UjJTIwRzNKMikqRy1BNCc7TSRWMyUyMDdYKUEoJTAxPUwpQSglMEEzVTZGNy85RyUwOVA3LzlHOUUlMjIvOkcqSyUyNTgsWjVKNS0mRyUxNiUxNSglMjA3Vz1QJTNFMiUyMCU1RCRUNyUzRSElNUMkaS8yOlAlM0VAMyUyMiwlMDhqJTE0KCUwQTtLP1olMTc2LFEuUCY/LGk/VjslMjUhSjNLODIlMDBQJGsmKSUzQyU1QyhaJTA3MiUzQ1Y0QSgvJ0spSyQyJTIyWD1BKCUzQypHJ1olMTgtPyU1QyRHJTNFLSUzQyU1RT9AKCUxOSZQNlcoPyZLM0oxMiUxMyU1RTglMTYoJTBEJFgzSDcuJTNFJTVDJGJkMiUxNSUwMDNFJTNDMiUxQl8oRTspLHo1SSYjJTNDJTVDNFAoJTBEPVokJTE5KCUwRCUyNUclMTZafiUxMCFFfiUwRCgvPVcuRTU4LH4kVjM/O0M7RjopLHguUCQlMjUwTC5BKCUwMT0lNUIzSDMyPUszQz8lMjIsWC9QJTNFIyUyMEc/JTVDMy8sdipBODIlMERNO1YxKSZHJTNDTS4pNkclMDVQPyE3Vi9QJTA5MiUxM1YkcSglMDg3XztROjgsdTtXJTIyMiUxQkclM0VBJTIyLTFRJHYlMjAyJTA4JTBCJHc1JTNFPVU2RjclM0UsJTdGKVolMDItMEc/JTVDJiUyNSUyMCU1QylaJTE0OyxQJTNFWiUxRiUyMjYlNUMlMjJaOyMwUDZBKCUwRStHJTBETTI4Okc3TyYyJTExViUzRUEoJTIyM1Q/WiUyNSUzQzdaM0I/KTZHKkUlMjIkLFo2TTUnLHElM0VMNzIwVS9WKCUxQyUyMFYqQSQ4K0c5SzgqOyU1RSRXMyUyMDRHJTA4TWY0LGgvWjAlMjA9VihaJTEzNCUyMkclMTVTODIlMTclNUQ9QSglMjUhRyUwRkoyKSUyMEclMUJDMyUyMiZHLiU1RCYpLHpjWmoyJTE0UChBMjIlMURJLk05JTIyIUclM0NROC8mUDVKKCUwNixNO0YjJTNDLEkoTTg4LCU3QyUyMlQ/JTNFN0okZzkjOVA/WiUwNSUyNTBVM0oxMiUyNUclMTVSMyUzRSUzRVgjWiUwMiUyNT8lNUM1USUyMjIlMUQlNUIwQTU4LFYvUDMlM0UscyxGZTIlMjVQJTNFUCUzRTIhVTNHMzIlMUNYJCUxNiglMUM4RyUxNk0yLyxYJGg/PyYlNUM0QSQyJTFGViUyME06JTIwM0clMUVFJTIyKSx2NEg5LTZHKUUwKSxMNEY/JTIyNkcuSyMvOiU1QzRAKCUwRTdfNVYzMjFVO1clMjUyJTAyVilNJTIyJTI1PVckJTYwKCUyNSUzQ1AuWiUxODIlMDlHOUs5JzslNUMkbicyJTBCVDVIKDg9SSRvKC86WChaJTA5LiUzRVg0TyglMjA9JTVFJEsmKSUzQ0clMTJaJTEzJTIwN1Q/SiUyMjIlMDAlNUM2QTc/N0cqSyY5JTNDJTVEP1YoJTNDPUkkdDo5NVA0WiUwNiMlMjJMNEAzJTNFLHMyRSglMTU/VmJaJTNFOD9VJHc3KjNLM1o5JTIyLHc1QDMyJTA1JTBDMUZkMjFVNVczMj9WL1czKD1ONFojPzclMTkpUCQlMjUxTSRnIyUzRSUyMCU1QzRQKC4zWjFDJCMnVyUzRVo7KSZYJFAzNCZHJTE5QzgyIVooQTMlMjIsJTFEJGEoJTBCa1ckbTEyayUwMGMlMURvdWtHKEEwKSUyMEs/VigpIVo7VDMyJTdGRztUJiklM0MlNUQkTDk/JkcqQSQlM0MzJTVFP1olMUYlMjImRyUwRkEoJTIyPUs/QiglMDQ7UztHPSUyNSUzQyU1RSRxJiUzQzdLJCUwRiglMTghSSRzYycsTTVRNSQhTTtWJTIyMiUzRVY5RToyJTAxJTVDNFc/ODtPP1psMiUxRiU1RSRzKHQsdzVQPyo7WjtQPyMlM0NHIVolMDQpNUc1SjQlMjAnSyRnKCUwMTdKKUUxKSxMJCUxNCY0LHgoVjc1LEkoQSUyMCklM0NNJHkoJTBGJTNFUDlPMygsWDhXKCUxQz9HblolMEYhPUAkVDklM0MnSSQlMEMlMDgwJTBFSnNaOTo3SyUzQ0g5OywlMDkkRzkhLF81RyM/LHE/TTEkJkclMEFLJjIlMUNVOU0oJTA2JTIyWiR0JTNDeSUzRSU1QjdaJTAyIyUyMkclM0NNJCksWCpUOiUyNTFYLk05JTIyLCU3RiRnOSUyMjVHJTE5TD8lMjA2RylUOiUyNSZHKEU4KCxKLkUlMjI5IUcpRyQjJTNFVThFJD8sdWolMTElM0UuLFo1UjMlM0UsTTVLOi4zSyRAMyUyMDNAJEsmOCFHJTNFTSUyMDIlMTdPP0olMjI/LHcwRzslMjAlMjUlNUQkcCglM0M2XyRBOyUzQyZAJGYoJTFFOiU1QiRKNzo7JTVFO1A5JTNFLE4oTSUyMiksbDAlMTAoJTI1NVc1VjMyJTExVi9KJTIyMjBWNUgzLSUzQ0clMEVNOyksejVKMCUyNTVHLkElMjU4Iik7bTY9MTticmVhaztjYXNlIDE6dmFyIEg2PTAsSTY9MDttNj01O2JyZWFrO2Nhc2UgOTpQNis9U3RyaW5nLmZyb21DaGFyQ29kZShVNi5jaGFyQ29kZUF0KEg2KV54Ni5jaGFyQ29kZUF0KEk2KSk7bTY9ODticmVhaztjYXNlIDU6bTY9SDY8VTYubGVuZ3RoPzQ6NzticmVhaztjYXNlIDc6UDY9UDYuc3BsaXQoJ34nKTtyZXR1cm4gZnVuY3Rpb24oaDYpe3ZhciBqNj0yO3doaWxlKGo2IT09MSl7c3dpdGNoKGo2KXtjYXNlIDI6cmV0dXJuIFA2W2g2XTticmVhazt9fX07YnJlYWs7Y2FzZSAzOkk2PTA7bTY9OTticmVhaztjYXNlIDg6SDYrKyxJNisrO202PTU7YnJlYWs7fX19KCdWTFI5WiQnKX07YnJlYWs7fX19KCk7djdHRy5kMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLmE2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuZjY9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLmc2LkM2PT09J2Z1bmN0aW9uJz92N0dHLmc2LkM2LmFwcGx5KHY3R0cuZzYsYXJndW1lbnRzKTp2N0dHLmc2LkM2O307djdHRy5yND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuQzY9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuQzYuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuQzY7fTshZnVuY3Rpb24odCl7dmFyIHc1PXY3R0c7dmFyIG81PSEwO3ZhciBlLGksbixyLG8scyxhLGMsdSxoLGYscCxfLGwsZCx2LGIsbSxnLHksayx3LHgsTyxDLEUsUCxULEEsRixTLGosTCx6LEIsSSxNLFcsRCxVLFIsTixILHEsSixWLCQsUSxHLFksSyxaLFgsdHQsZXQsaXQsbnQscnQsb3Qsc3QsYXQsY3QsdXQsaHQsZnQscHQsX3QsbHQsZHQsdnQsYnQsbXQsZ3QseXQsa3Qsd3QseHQsT3QsQ3QsRXQsUHQsVHQsQXQsRnQsU3QsanQsTHQsenQsQnQsSXQsTXQsV3QsRHQsVXQsUnQsTnQsSHQscXQsSnQsVnQsJHQsUXQsR3QsWXQsS3QsWnQsWHQsdGUsZWUsaWUsbmUscmUsb2Usc2UsYWUsY2UsdWUsaGUsZmUscGUsX2UsbGUsZGUsdmUsYmUsbWUsZ2UseWUsa2Usd2UseGUsT2UsQ2UsRWUsUGUsVGUsQWUsRmUsU2UsamUsTGUsemUsQmUsSWUsTWUsV2UsRGUsVWUsUmUsTmUsSGUscWUsSmUsVmUsJGUsUWUsR2UsWWUsS2UsWmUsWGUsdGksZWksaWksbmkscmksb2ksc2ksYWksY2ksdWksaGksZmkscGksX2ksbGksZGksdmksYmksbWksZ2kseWksa2ksd2kseGksT2ksQ2ksRWksUGksVGksQWksRmksU2ksamksTGksemksQmksSWksTWksV2ksRGksVWksUmksTmksSGkscWksSmksVmksJGksUWksR2ksWWksS2ksWmksWGksdG4sZW4sbm4scm4sb24sc24sYW4sY24sdW4saG4sZm4scG4sX24sbG4sZG4sdm4sYm4sbW4sZ24seW4sa24sd24seG4sT24sQ24sRW4sUG4sVG4sQW4sRm4sU24sam4sTG4sem4sQm4sSW4sTW4sV24sRG4sVW4sUm4sTm4sSG4scW4sSm4sVm4sJG4sUW4sR24sWW4sS24sWm4sWG4sdHIsZXIsaXIsbnIscnIsb3Isc3IsYXIsY3IsdXIsaHIsZnIscHIsX3IsbHIsZHIsdnIsYnIsbXIsZ3IseXIsa3Isd3IseHIsT3IsQ3IsRXIsUHIsVHIsQXIsRnIsU3IsanIsTHIsenIsQnIsSXIsTXIsV3IsRHIsVXIsUnIsTnIsSHIscXIsSnIsVnIsJHIsUXIsR3IsWXIsS3IsWnIsWHIsdG8sZW8saW8sbm8scm8sb28sc28sYW8sY28sdW8saG8sZm8scG8sX28sbG8sdm8sYm8sbW8sZ28seW8sa28sd28seG8sT28sQ28sRW8sUG8sVG8sQW8sRm8sU28sam8sTG8sem8sQm8sSW8sTW8sV28sRG8sVW8sUm8sTm8sSG8scW8sSm8sVm8sJG8sUW8sR28sWW8sS28sWm8sWG8sdHMsZXMsaXMsbnMscnMsb3Msc3MsYXMsY3MsdXMsaHMsZnMscHMsX3MsbHMsZHMsdnMsYnMsbXMsZ3MseXMsa3Msd3MseHMsT3MsQ3MsRXMsUHMsVHMsQXMsRnMsU3MsanMsTHMsenMsQnMsSXMsTXMsV3MsRHMsVXMsUnMsTnMsSHMscXMsSnMsVnMsJHMsUXMsR3MsWXMsS3MsWnMsWHMsdGEsZWEsaWEsbmEscmEsb2Esc2EsYWEsY2EsdWEsaGEsZmEscGEsX2EsbGEsZGEsdmEsYmEsbWEsZ2EseWEsa2Esd2EseGEsT2EsQ2EsRWEsUGEsVGEsQWEsRmEsU2EsamEsTGEsemEsQmEsSWEsTWEsV2EsRGEsVWEsUmEsTmEsSGEscWEsSmEsVmEsJGEsUWEsR2EsWWEsS2EsWmEsWGEsdGMsZWMsaWMsbmMscmMsb2Msc2MsYWMsY2MsdWMsaGMsZmMscGMsX2MsbGMsZGMsdmMsYmMsbWMsZ2MseWMsa2Msd2MseGMsT2MsQ2MsRWMsUGMsVGMsQWMsRmMsU2MsamMsTGMsemMsQmMsSWMsTWMsV2MsRGMsVWMsUmMsTmMsSGM7ZT13NS5mNigyMzQpO2k9dzUuWjYoMzk0KTtuPXc1Llo2KDM4OSk7cj13NS5mNig0NTYpO289dzUuWjYoNSk7cz13NS5aNig0NjEpO2E9dzUuWjYoMjU1KTtjPXc1Llo2KDg4KTt1PXc1Llo2KDE3OCk7aD13NS5mNigxODcpO2Y9dzUuZjYoNDgxKTtwPXc1LmY2KDM3Nik7Xz13NS5aNigyNDYpO2w9dzUuZjYoMjQ1KTtkPXc1Llo2KDE0OSk7dj13NS5aNigzNjUpO2I9dzUuWjYoNDgzKTttPXc1LmY2KDcyKTtnPXc1Llo2KDMxMyk7eT13NS5aNigyNTMpO2s9dzUuWjYoNTApO3c9dzUuZjYoNDY5KTt4PS9lZGdlLztPPXc1LmY2KDMzNCk7Qz13NS5aNigzMzMpO0U9dzUuWjYoNTMpO1A9dzUuWjYoMTcpO1Q9dzUuWjYoMzQzKTtBPXc1LmY2KDE5MCk7Rj0vZmlyZWZveHxmeGlvcy9pO1M9dzUuZjYoMjEyKTtqPXc1Llo2KDI1OSk7TD13NS5aNigyNDEpO3o9dzUuZjYoMTA5KTtCPXc1LmY2KDk3KTtJPXc1Llo2KDQxOCk7TT13NS5aNigzODgpO1c9dzUuWjYoNDM1KTtEPXc1LmY2KDM3NSk7VT13NS5aNigzNTgpO1I9dzUuZjYoMTcyKTtOPXc1LmY2KDIzOCk7SD13NS5aNig0ODcpO3E9dzUuWjYoMjIxKTtKPXc1LmY2KDIxMSk7Vj13NS5mNigyMTApOyQ9dzUuWjYoMTYyKTtRPXc1Llo2KDY0KTtHPXc1LmY2KDM0Mik7WT13NS5aNigxMjgpO0s9dzUuWjYoMjA4KTtaPXc1LmY2KDE0MSk7WD13NS5aNig0MzYpO3R0PXc1Llo2KDQ0MSk7ZXQ9dzUuWjYoMjgwKTtpdD13NS5mNigxNzcpO250PXc1Llo2KDEyKTtydD13NS5aNigyNzMpO290PXc1Llo2KDM1NSk7c3Q9L3dpbmRvd3MvO2F0PXc1Llo2KDI1OCk7Y3Q9Lyg/OmZ0cHxodHRwcz8pOlwvXC8oW15cL10rKS87dXQ9dzUuWjYoMjE4KTtodD13NS5mNig0NDIpO2Z0PXc1LmY2KDI2Myk7cHQ9dzUuWjYoMTY2KTtfdD13NS5aNigxMzgpO2x0PXc1Llo2KDMyOSk7ZHQ9dzUuWjYoNDEpO3Z0PXc1Llo2KDIwNyk7YnQ9dzUuWjYoMzYyKTttdD13NS5mNigxNjUpO2d0PXc1LmY2KDM3MSk7eXQ9dzUuWjYoMzYwKTtrdD13NS5aNigyMzkpO3d0PXc1LmY2KDM2Myk7eHQ9dzUuZjYoODIpO090PTk1MDI9PT0yNTAwPzB4MjE0Yzp3NS5mNigxNDgpO0N0PXc1LmY2KDE4NSk7RXQ9dzUuWjYoMTQ0KTtQdD13NS5mNigzMjApO1R0PXc1Llo2KDU1KTtBdD13NS5aNigzMTgpO0Z0PXc1Llo2KDE4OSk7U3Q9dzUuWjYoMTAxKTtqdD0vTVNJRVxzKyhbXGRcLl0rKS9pO0x0PXc1Llo2KDM0MCk7enQ9dzUuZjYoMTYwKTtCdD13NS5aNig0NDQpO0l0PXc1Llo2KDQxMyk7TXQ9dzUuZjYoNDU1KTtXdD13NS5mNig1MSk7RHQ9dzUuWjYoNDE1KTtVdD13NS5mNigyOTkpO1J0PXc1Llo2KDQxNik7TnQ9dzUuWjYoMzczKTtIdD13NS5aNig0MzApO3F0PXc1Llo2KDE2MSk7SnQ9dzUuZjYoMjQ4KTtWdD13NS5aNig0MjcpOyR0PXc1LmY2KDQyNCk7UXQ9dzUuZjYoMzUxKTtHdD13NS5aNigyOTApO1l0PXc1Llo2KDI4MSk7S3Q9dzUuWjYoMjk2KTtadD13NS5aNigyODYpO1h0PXc1LmY2KDE0Nik7dGU9dzUuWjYoNjApO2VlPXc1Llo2KDE0Myk7aWU9dzUuWjYoMjE1KTtuZT0vcmFkaW98Y2hlY2tib3gvaTtyZT13NS5mNigyNzUpO29lPXc1Llo2KDEyNCk7c2U9dzUuZjYoMjE2KTthZT13NS5aNigzMDIpO2NlPXc1LmY2KDExNyk7dWU9LzEyMDd8NjMxMHw2NTkwfDNnc298NHRocHw1MFsxLTZdaXw3NzBzfDgwMnN8YSB3YXxhYmFjfGFjKGVyfG9vfHNcLSl8YWkoa298cm4pfGFsKGF2fGNhfGNvKXxhbW9pfGFuKGV4fG55fHl3KXxhcHR1fGFyKGNofGdvKXxhcyh0ZXx1cyl8YXR0d3xhdShkaXxcLW18ciB8cyApfGF2YW58YmUoY2t8bGx8bnEpfGJpKGxifHJkKXxibChhY3xheil8YnIoZXx2KXd8YnVtYnxid1wtKG58dSl8YzU1XC98Y2FwaXxjY3dhfGNkbVwtfGNlbGx8Y2h0bXxjbGRjfGNtZFwtfGNvKG1wfG5kKXxjcmF3fGRhKGl0fGxsfG5nKXxkYnRlfGRjXC1zfGRldml8ZGljYXxkbW9ifGRvKGN8cClvfGRzKDEyfFwtZCl8ZWwoNDl8YWkpfGVtKGwyfHVsKXxlcihpY3xrMCl8ZXNsOHxleihbNC03XTB8b3N8d2F8emUpfGZldGN8Zmx5KFwtfF8pfGcxIHV8ZzU2MHxnZW5lfGdmXC01fGdcLW1vfGdvKFwud3xvZCl8Z3IoYWR8dW4pfGhhaWV8aGNpdHxoZFwtKG18cHx0KXxoZWlcLXxoaShwdHx0YSl8aHAoIGl8aXApfGhzXC1jfGh0KGMoXC18IHxffGF8Z3xwfHN8dCl8dHApfGh1KGF3fHRjKXxpXC0oMjB8Z298bWEpfGkyMzB8aWFjKCB8XC18XC8pfGlicm98aWRlYXxpZzAxfGlrb218aW0xa3xpbm5vfGlwYXF8aXJpc3xqYSh0fHYpYXxqYnJvfGplbXV8amlnc3xrZGRpfGtlaml8a2d0KCB8XC8pfGtsb258a3B0IHxrd2NcLXxreW8oY3xrKXxsZShub3x4aSl8bGcoIGd8XC8oa3xsfHUpfDUwfDU0fFwtW2Etd10pfGxpYnd8bHlueHxtMVwtd3xtM2dhfG01MFwvfG1hKHRlfHVpfHhvKXxtYygwMXwyMXxjYSl8bVwtY3J8bWUocmN8cmkpfG1pKG84fG9hfHRzKXxtbWVmfG1vKDAxfDAyfGJpfGRlfGRvfHQoXC18IHxvfHYpfHp6KXxtdCg1MHxwMXx2ICl8bXdicHxteXdhfG4xMFswLTJdfG4yMFsyLTNdfG4zMCgwfDIpfG41MCgwfDJ8NSl8bjcoMCgwfDEpfDEwKXxuZSgoY3xtKVwtfG9ufHRmfHdmfHdnfHd0KXxub2soNnxpKXxuenBofG8yaW18b3AodGl8d3YpfG9yYW58b3dnMXxwODAwfHBhbihhfGR8dCl8cGR4Z3xwZygxM3xcLShbMS04XXxjKSl8cGhpbHxwaXJlfHBsKGF5fHVjKXxwblwtMnxwbyhja3xydHxzZSl8cHJveHxwc2lvfHB0XC1nfHFhXC1hfHFjKDA3fDEyfDIxfDMyfDYwfFwtWzItN118aVwtKXxxdGVrfHIzODB8cjYwMHxyYWtzfHJpbTl8cm8odmV8em8pfHM1NVwvfHNhKGdlfG1hfG1tfG1zfG55fHZhKXxzYygwMXxoXC18b298cFwtKXxzZGtcL3xzZShjKFwtfDB8MSl8NDd8bWN8bmR8cmkpfHNnaFwtfHNoYXJ8c2llKFwtfG0pfHNrXC0wfHNsKDQ1fGlkKXxzbShhbHxhcnxiM3xpdHx0NSl8c28oZnR8bnkpfHNwKDAxfGhcLXx2XC18diApfHN5KDAxfG1iKXx0MigxOHw1MCl8dDYoMDB8MTB8MTgpfHRhKGd0fGxrKXx0Y2xcLXx0ZGdcLXx0ZWwoaXxtKXx0aW1cLXx0XC1tb3x0byhwbHxzaCl8dHMoNzB8bVwtfG0zfG01KXx0eFwtOXx1cChcLmJ8ZzF8c2kpfHV0c3R8djQwMHx2NzUwfHZlcml8dmkocmd8dGUpfHZrKDQwfDVbMC0zXXxcLXYpfHZtNDB8dm9kYXx2dWxjfHZ4KDUyfDUzfDYwfDYxfDcwfDgwfDgxfDgzfDg1fDk4KXx3M2MoXC18ICl8d2ViY3x3aGl0fHdpKGcgfG5jfG53KXx3bWxifHdvbnV8eDcwMHx5YXNcLXx5b3VyfHpldG98enRlXC0vaTtoZT13NS5aNigxNCk7ZmU9dzUuWjYoMjMpO3BlPXc1Llo2KDExMSk7X2U9dzUuWjYoMjYwKTtsZT0vbWFjaW50b3NoLztkZT13NS5mNig5MCk7dmU9dzUuZjYoMzMyKTtiZT13NS5mNigyMDApO21lPS9tb3ppbGxhLztnZT13NS5mNigxNzQpO3llPXc1LmY2KDEzNSk7a2U9dzUuZjYoMzc4KTt3ZT0vKD86XHcrKVwvKFtcZFwuXSspKD86JHxcc3xcL3xcKSkrL2k7eGU9dzUuWjYoMzQpO09lPXc1LmY2KDM3Nyk7Q2U9dzUuZjYoNDcyKTtFZT13NS5mNigxMTUpO1BlPXc1Llo2KDE5NCk7VGU9dzUuZjYoNDE0KTtBZT13NS5mNig2NSk7RmU9dzUuWjYoMTA3KTtTZT13NS5mNig0MDMpO2plPXc1LmY2KDI5Mik7TGU9dzUuWjYoNTgpO3plPXc1Llo2KDE2NCk7QmU9Lyg/Ok9QUnxPcGVyYXxPUGlPUylcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0llPXc1LmY2KDIyOSk7TWU9dzUuWjYoNDY3KTtXZT13NS5mNig0NjMpO0RlPXc1Llo2KDQzNyk7VWU9dzUuZjYoMTkzKTtSZT13NS5aNigzMyk7TmU9dzUuZjYoODUpO0hlPXc1LmY2KDQwOCk7cWU9dzUuZjYoMjApO0plPXc1Llo2KDk4KTtWZT13NS5mNigxMzYpOyRlPXc1LmY2KDI3Nyk7UWU9dzUuWjYoNyk7R2U9dzUuWjYoODYpO1llPXc1LmY2KDE3NSk7S2U9dzUuWjYoMjcxKTtaZT13NS5aNigzOTkpO1hlPXc1LmY2KDEzMyk7dGk9dzUuWjYoOTUpO2VpPXc1LmY2KDE1Mik7aWk9dzUuWjYoMzEyKTtuaT13NS5aNigyOTgpO3JpPXc1Llo2KDQzMyk7b2k9dzUuZjYoMTgzKTtzaT0vYW5kcm9pZHx3ZWJvc3xpcGhvbmV8aXBhZHxpcG9kfGJsYWNrYmVycnl8aWVtb2JpbGV8b3BlcmFccyttaW5pLzthaT13NS5aNigzODIpO2NpPXc1LmY2KDEyNyk7dWk9dzUuWjYoMzM2KTtoaT13NS5aNigyOTUpO2ZpPXc1Llo2KDMwNyk7cGk9dzUuZjYoMjUxKTtfaT13NS5mNig0MTkpO2xpPXc1LmY2KDMxKTtkaT13NS5aNigyNzQpO3ZpPXc1LmY2KDQ0Nik7Ymk9dzUuWjYoMTYzKTttaT13NS5mNig5NCk7Z2k9dzUuWjYoMjIwKTt5aT13NS5aNigzNTQpO2tpPXc1Llo2KDE4Nik7d2k9dzUuZjYoNDEyKTt4aT13NS5mNig0NDcpO09pPXc1Llo2KDQwNCk7Q2k9dzUuZjYoNTIpO0VpPXc1Llo2KDY4KTtQaT13NS5mNigzNSk7VGk9dzUuZjYoNTYpO0FpPXc1LmY2KDEwMyk7Rmk9dzUuWjYoMzc5KTtTaT13NS5mNig0NTEpO2ppPXc1Llo2KDQ3NSk7TGk9dzUuWjYoMjEpO3ppPXc1LmY2KDE3MSk7Qmk9dzUuZjYoMTMxKTtJaT13NS5mNig0ODgpO01pPXc1LmY2KDE4MCk7V2k9dzUuWjYoNDQ1KTtEaT0vYnV0dG9ufGlucHV0L2k7VWk9dzUuWjYoMTM0KTtSaT13NS5mNigyMjgpO05pPXc1LmY2KDc4KTtIaT13NS5aNig1NCk7cWk9dzUuWjYoMTY3KTtKaT13NS5mNig0NjUpO1ZpPXc1Llo2KDMzNSk7JGk9dzUuZjYoMTY5KTtRaT13NS5mNigzNjgpO0dpPXc1LmY2KDI4Nyk7WWk9dzUuWjYoMzQ4KTtLaT13NS5mNigzMDEpO1ppPXc1LmY2KDQ0KTtYaT13NS5mNigyNjQpO3RuPXc1LmY2KDc3KTtlbj13NS5mNig0NjApO25uPXc1LmY2KDMzNyk7cm49dzUuWjYoMTU3KTtvbj13NS5aNigzMjUpO3NuPXc1LmY2KDIzNyk7YW49dzUuZjYoNDg2KTtjbj13NS5mNigxNTUpO3VuPXc1Llo2KDEwNCk7aG49dzUuWjYoMzU2KTtmbj13NS5aNig0OCk7cG49dzUuZjYoMjQyKTtfbj13NS5mNig0MDApO2xuPXc1Llo2KDI2NSk7ZG49dzUuZjYoMjg0KTt2bj13NS5aNigyODgpO2JuPXc1LmY2KDQzOSk7bW49dzUuWjYoMzQxKTtnbj13NS5aNigyMDMpO3luPXc1LmY2KDIxNyk7a249dzUuWjYoMzIxKTt3bj13NS5mNig0MzIpO3huPXc1LmY2KDIyKTtPbj02NDc9PSg0OTguMjUsMjAwKT8oMS42OWUrMyw0NjkpOnc1LmY2KDk2KTtDbj13NS5mNigzODMpO0VuPXc1LmY2KDM1OSk7UG49dzUuWjYoMzUwKTtUbj0vXk9wZXJhXC8uKj9QcmVzdG9cLy4qP1ZlcnNpb25cLyhbXGRcLl0rKS9pO0FuPXc1Llo2KDE5MSk7Rm49dzUuZjYoNDQ4KTtTbj13NS5mNigyNDQpO2puPXc1Llo2KDIzMSk7TG49dzUuZjYoMTIwKTt6bj13NS5mNig0NTApO0JuPXc1Llo2KDExOCk7SW49dzUuZjYoNik7TW49dzUuWjYoNzUpO1duPXc1LmY2KDEyMyk7RG49dzUuWjYoMzA0KTtVbj0vcmVzZXR8YnV0dG9ufHN1Ym1pdC9pO1JuPXc1LmY2KDQ4NCk7Tm49dzUuZjYoMTk2KTtIbj13NS5mNigyMjYpO3FuPXc1LmY2KDM1Myk7Sm49dzUuWjYoMTgpO1ZuPXc1LmY2KDE2OCk7JG49dzUuZjYoMzE0KTtRbj13NS5aNig0NzEpO0duPXc1LmY2KDQ1OSk7WW49dzUuZjYoMzE3KTtLbj13NS5mNigyNDkpO1puPS9WZXJzaW9uXC8oW1xkXC5dKylccysobW9iaWxlXC9bXlxzXStccyspP1NhZmFyaS9pO1huPXc1LmY2KDE0NSk7dHI9dzUuWjYoMjQwKTtlcj13NS5mNigxOSk7aXI9dzUuWjYoNDg5KTtucj13NS5aNigyNzYpO3JyPXc1LmY2KDQ4Mik7b3I9dzUuZjYoNDY2KTtzcj13NS5aNigyNzApO2FyPXc1Llo2KDE0Nyk7Y3I9dzUuZjYoMjQpO3VyPXc1LmY2KDgzKTtocj13NS5aNigyNzkpO2ZyPXc1Llo2KDQzKTtwcj13NS5mNig0MjApO19yPXc1LmY2KDQ2Mik7bHI9L2Nocm9tZXxjcmlvcy87ZHI9dzUuWjYoNDExKTt2cj0vIy4qJC87YnI9dzUuZjYoMTU5KTttcj13NS5aNigwKTtncj0vKGNvbXBhdGlibGV8d2Via2l0KS87eXI9L0Z4aU9TXC8oW1xkXC5dKykvaTtrcj13NS5mNig1OSk7d3I9dzUuWjYoMzgpO3hyPXc1LmY2KDE5OCk7T3I9dzUuZjYoMTApO0NyPXc1LmY2KDQ2NCk7RXI9dzUuWjYoMTE2KTtQcj13NS5mNigzNjkpO1RyPXc1LmY2KDEyMSk7QXI9L21zaWV8dHJpZGVudFwvLztGcj13NS5mNigyNTYpO1NyPXc1LmY2KDQ3MCk7anI9dzUuZjYoMjkzKTtMcj13NS5mNig4Nyk7enI9L2Nocm9tZXxvcGVyYXxlZGdlfGNyaW9zfG9waW9zfGZ4aW9zfHVjL2k7QnI9dzUuWjYoMjUyKTtJcj13NS5aNigxMDgpO01yPXc1LmY2KDkxKTtXcj13NS5mNigyKTtEcj13NS5mNigyNjgpO1VyPXc1Llo2KDI3OCk7UnI9dzUuWjYoMzI2KTtOcj13NS5mNig5KTtIcj13NS5mNigxMzIpO3FyPXc1Llo2KDMyNCk7SnI9LyhhbmRyb2lkfGJiXGQrfG1lZWdvKS4rbW9iaWxlfGF2YW50Z298YmFkYVwvfGJsYWNrYmVycnl8YmxhemVyfGNvbXBhbHxlbGFpbmV8ZmVubmVjfGhpcHRvcHxpZW1vYmlsZXxpcChob25lfG9kKXxpcGFkfGlyaXN8a2luZGxlfEFuZHJvaWR8U2lsa3xsZ2UgfG1hZW1vfG1pZHB8bW1wfG5ldGZyb250fG9wZXJhIG0ob2J8aW4paXxwYWxtKCBvcyk/fHBob25lfHAoaXhpfHJlKVwvfHBsdWNrZXJ8cG9ja2V0fHBzcHxzZXJpZXMoNHw2KTB8c3ltYmlhbnx0cmVvfHVwXC4oYnJvd3NlcnxsaW5rKXx2b2RhZm9uZXx3YXB8d2luZG93cyAoY2V8cGhvbmUpfHhkYXx4aWluby9pO1ZyPSgyNDk2LDg0OTUpIT05NzY/dzUuZjYoMjk3KTohITA7JHI9dzUuWjYoNDI2KTtRcj13NS5mNigyMjUpO0dyPXc1LmY2KDE4OCk7WXI9dzUuZjYoNDMxKTtLcj13NS5mNigyNTApO1pyPXc1Llo2KDI2MSk7WHI9dzUuZjYoMTc2KTt0bz13NS5mNigyNSk7ZW89dzUuWjYoMTk1KTtpbz13NS5mNigzMjgpO25vPXc1Llo2KDQwOSk7cm89dzUuZjYoMzQ5KTtvbz13NS5aNigzMjIpO3NvPXc1Llo2KDMxNik7YW89dzUuWjYoMzg1KTtjbz13NS5mNigxMTMpO3VvPXc1LmY2KDQ3NCk7aG89dzUuWjYoMjY3KTtmbz13NS5mNigyNjYpO3BvPXc1Llo2KDQwNyk7X289dzUuWjYoNjMpO2xvPXc1Llo2KDM2Nyk7dm89L3dlYmtpdC87Ym89dzUuWjYoNDUyKTttbz0vc2FmYXJpLztnbz13NS5aNig5Myk7eW89L29wZXJhfG9wcnxvcGlvc1wvLztrbz13NS5aNigzMzEpO3dvPXc1LmY2KDI2KTt4bz13NS5aNigxODIpO09vPXc1LmY2KDM4MCk7Q289dzUuWjYoMTEwKTtFbz13NS5mNigxMTIpO1BvPXc1LmY2KDMwNSk7VG89dzUuZjYoNzQpO0FvPXc1LmY2KDEwMik7Rm89dzUuZjYoNDc4KTtTbz0vYW5kcm9pZC87am89dzUuZjYoMzkxKTtMbz13NS5aNigzMDYpO3pvPXc1LmY2KDQwNSk7Qm89dzUuWjYoOTkpO0lvPXc1Llo2KDM5Nik7TW89dzUuWjYoNDQwKTtXbz13NS5mNig2Nyk7RG89dzUuWjYoNDAxKTtVbz13NS5aNigxNTQpO1JvPXc1LmY2KDI4OSk7Tm89dzUuWjYoMzkzKTtIbz13NS5mNig3OSk7cW89dzUuWjYoMTQwKTtKbz13NS5aNigzNzIpO1ZvPXc1Llo2KDQyMik7JG89dzUuZjYoNDQ5KTtRbz13NS5aNigzOTUpO0dvPXc1Llo2KDIwNik7WW89dzUuWjYoMjQzKTtLbz13NS5mNig2Mik7Wm89dzUuWjYoNDg1KTtYbz13NS5mNigxMzApO3RzPXc1Llo2KDE1Nik7ZXM9dzUuZjYoMjAxKTtpcz13NS5aNigzNjEpO25zPXc1LmY2KDMxNSk7cnM9dzUuWjYoMTIyKTtvcz13NS5mNig3MCk7c3M9dzUuZjYoMjU3KTthcz13NS5aNig0MjUpO2NzPXc1LmY2KDMzMCk7dXM9dzUuZjYoNzMpO2hzPXc1LmY2KDMwMyk7ZnM9dzUuWjYoMTAwKTtwcz13NS5mNigzNzQpO19zPXc1Llo2KDY2KTtscz0oODI2LjA2LDk5Ny4yKSE9PSgyNjIuNzksNzAwLjQpP3c1LmY2KDE3OSk6KG81LHc1Llo2KDM2KSk7ZHM9dzUuWjYoMjIzKTt2cz13NS5mNigxMTkpO2JzPXc1Llo2KDMwOCk7bXM9dzUuZjYoNDcpO2dzPXc1Llo2KDMxOSk7eXM9dzUuZjYoMTgxKTtrcz13NS5mNigzNDUpO3dzPXc1Llo2KDE1KTt4cz0vXigjfGphdmFzY3JpcHQpL2k7T3M9dzUuWjYoMzY2KTtDcz13NS5aNigxOTkpO0VzPXc1Llo2KDM4NCk7UHM9dzUuZjYoNDA2KTtUcz13NS5mNig0MjkpO0FzPXc1LmY2KDI0Nyk7RnM9dzUuZjYoNDQzKTtTcz13NS5mNigzMzgpO2pzPS8oPzpGaXJlZm94fENocm9tZSlcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0xzPXc1Llo2KDM3MCk7enM9dzUuZjYoMzEwKTtCcz13NS5aNigzODYpO0lzPXc1Llo2KDI5NCk7TXM9dzUuWjYoMjgzKTtXcz13NS5aNigzODcpO0RzPXc1LmY2KDM5KTtVcz13NS5aNigxMDYpO1JzPXc1LmY2KDIwMik7TnM9dzUuWjYoMzExKTtIcz13NS5mNig0MzgpO3FzPXc1LmY2KDcxKTtKcz13NS5mNigxMzcpO1ZzPXc1Llo2KDI3KTskcz13NS5aNig4NCk7UXM9L18vZztHcz13NS5aNigxNTgpO1lzPXc1Llo2KDE5Mik7S3M9dzUuZjYoNDIzKTtacz13NS5mNigzMzkpO1hzPXc1Llo2KDE1MCk7dGE9dzUuWjYoMTQyKTtlYT13NS5mNig0KTtpYT13NS5aNig0MTApO25hPXc1LmY2KDIzNik7cmE9dzUuZjYoNDAyKTtvYT13NS5mNigyMTQpO3NhPXc1Llo2KDQxNyk7YWE9dzUuZjYoMTg0KTtjYT13NS5aNigxOTcpO3VhPXc1LmY2KDIzMyk7aGE9dzUuZjYoMzApO2ZhPS9saW51eC87cGE9dzUuWjYoMjgyKTtfYT0vb3BlcmEvO2xhPXc1Llo2KDM2NCk7ZGE9dzUuWjYoMTczKTt2YT13NS5aNigzMDApO2JhPXc1LmY2KDIzNSk7bWE9L2VkZ2V8b3ByXC8vO2dhPXc1LmY2KDI4NSk7eWE9dzUuZjYoNDYpO2thPXc1Llo2KDEzKTt3YT13NS5aNigyMDUpO3hhPXc1LmY2KDIyNCk7T2E9dzUuZjYoMzQ0KTtDYT13NS5aNigyMTMpO0VhPS9FZGdlXC8oW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTtQYT13NS5mNigxMjYpO1RhPXc1Llo2KDExNCk7QWE9L14oPzouKlteXHddKSooW1x3XSspXHMqJC9pO0ZhPXc1LmY2KDM5Mik7U2E9dzUuWjYoNjkpO2phPXc1LmY2KDMpO0xhPXc1LmY2KDQ1KTt6YT13NS5mNigzMjMpO0JhPXc1LmY2KDEzOSk7SWE9dzUuWjYoMTI5KTtNYT13NS5mNig4KTtXYT13NS5mNig0Mik7RGE9dzUuZjYoMSk7VWE9dzUuWjYoODkpO1JhPXc1LmY2KDIwOSk7TmE9dzUuZjYoMjgpO0hhPXc1LmY2KDIxOSk7cWE9dzUuWjYoMjMwKTtKYT13NS5aNig4MSk7VmE9dzUuWjYoMzA5KTskYT13NS5mNigzNDcpO1FhPXc1LmY2KDM4MSk7R2E9dzUuWjYoOTIpO1lhPXc1LmY2KDEyNSk7S2E9dzUuWjYoMzIpO1phPXc1LmY2KDM5MCk7WGE9dzUuZjYoNDY4KTt0Yz13NS5mNigzNik7ZWM9dzUuZjYoMzk3KTtpYz13NS5aNig0ODApO25jPXc1LmY2KDIyMik7cmM9dzUuZjYoNDU3KTtvYz13NS5aNigzNTIpO3NjPXc1Llo2KDI5KTthYz0vaShQaG9uZXxQYWR8UG9kKS9pO2NjPXc1LmY2KDQzNCk7dWM9dzUuZjYoNDIxKTtoYz13NS5aNig0NzMpO2ZjPXc1LmY2KDE3MCk7cGM9dzUuZjYoMjYyKTtfYz13NS5aNigxNTEpO2xjPXc1LmY2KDQ5KTtkYz13NS5mNigyNTQpO3ZjPXc1LmY2KDQyOCk7YmM9dzUuZjYoMTUzKTttYz13NS5aNigyNjkpO2djPXc1Llo2KDU3KTt5Yz13NS5mNigzNTcpO2tjPS9UcmlkZW50XC8uKj9ydjooW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTt3Yz13NS5aNig0NTMpO3hjPXc1Llo2KDQ3Nik7T2M9dzUuZjYoNDU0KTtDYz13NS5mNig0NTgpO0VjPXc1LmY2KDgwKTtQYz0vOlxkKyQvO1RjPXc1Llo2KDI3Mik7QWM9dzUuWjYoMzI3KTtGYz13NS5mNig0NzkpO1NjPXc1Llo2KDYxKTtqYz13NS5mNigyOTEpO0xjPXc1Llo2KDIzMik7emM9dzUuWjYoMTEpO0JjPXc1LmY2KDM0Nik7SWM9dzUuWjYoMTA1KTtNYz13NS5aNig0NzcpO1djPXc1Llo2KDQwKTtEYz13NS5aNig3Nik7VWM9dzUuWjYoMTYpO1JjPXc1Llo2KDIyNyk7TmM9dzUuWjYoMjA0KTtIYz13NS5mNigzNyk7IWZ1bmN0aW9uKHQseSxSdCxYZSxyaSx5aSxBaSxObixkcixVcixpbyxybyxDbyxHcyx6YyxVYyxxYyxKYyxWYywkYyl7InVzZSBzdHJpY3QiO3ZhciBRYyxHYyxZYyxLYyxaYyxYYyx0dSxldSxpdSxudSxydSxvdSxzdSxhdSxjdSx1dSxodSxmdSxwdSxfdSxsdSxkdSx2dSxidSxtdSxndSx5dSxrdSx3dSx4dSxPdSxDdSxFdSxQdSxUdSxBdSxGdTtydT10O3c1Llk0KDApO291PXc1LmM0KHVpLEdyLGJyLF9yLFllLFNpLFR0LGRuLFllLHUsbWksT3QsR3IsWWUsdXIpO3c1Llk0KDEpO3N1PXc1LnU0KGZlLFR0LEh0LG90LFR0KTt3NS5vNCgxKTthdT13NS51NChXaSxQZSxLLF9jLFBlKTt3NS5ZNCgyKTtjdT13NS5jNChydSxnaSk7dzUubzQoMik7dXU9dzUudTQocnUsWm8pO3c1Lm80KDMpO2h1PXc1LmM0KE9jLHJ1LEJpLFV0LEdyLEdyKTt3NS5vNCgyKTtmdT13NS51NChydSwkYSk7cHU9YW87X3U9eGk7bHU9THI7ZHU9bW47dnU9eVtmXVtxbytHcitDXVtYcytHcit0cytHcituY10oKTtidT17dW5kZXI6bzUsbmV3VGFiOm81fTttdT1udWxsO2d1PW81O3l1PSF7fTtrdT1mdW5jdGlvbigpe307dzUuWTQoNCk7d3U9dzUudTQoR3IsT3QsRXQpO3h1PXJpW3ZzK0dyK0FvXXx8e3NyYzpudWxsfTt3NS5vNCg0KTtPdT15W2ZdW3c1LmM0KGVvLEdyLGtyKV07Q3U9eXU7RXU9eXU7UHU9eXU7VHU9ZnVuY3Rpb24oKXt2YXIgRTksbzksdzk7dHJ5e0U5PTM2MDIzMDM0MztvOT01MDA4ODEwMDM7dzk9Mjtmb3IodmFyIGI1PTE7dzUuTDEoYjUudG9TdHJpbmcoKSxiNS50b1N0cmluZygpLmxlbmd0aCw1ODI0MykhPT1FOTtiNSsrKXtyZXR1cm4geVtwXT09PXlbcXJdfHwheVtwXVttcl1bRWldWyhYcy1HciklaF0oKSE9VGM/eVtwXTp5W3FyXTt3OSs9Mjt9aWYodzUuTDEodzkudG9TdHJpbmcoKSx3OS50b1N0cmluZygpLmxlbmd0aCw1MTUyOSkhPT1vOSl7cmV0dXJuIHlbcF0hPT15W3FyXSYmdHlwZW9mIHlbcF1bbXJdW0VpXVtYcytHcitoXSgpPT09VGM/eVtwXTp5W3FyXTt9fWNhdGNoKHQpe3ZhciBBOSxJOSxLOTtBOT0yMjIyMDY4MDc7STk9NDU1MTUwMTA4O0s5PTI7Zm9yKHZhciBROT0xO3c1LkwxKFE5LnRvU3RyaW5nKCksUTkudG9TdHJpbmcoKS5sZW5ndGgsNjg5NDApIT09QTk7UTkrKyl7cmV0dXJuIFB1PWd1LHlbcXJdO0s5Kz0yO31pZih3NS5MMShLOS50b1N0cmluZygpLEs5LnRvU3RyaW5nKCkubGVuZ3RoLDU2NzU3KSE9PUk5KXtyZXR1cm4gUHU9Z3UseVtxcl07fX19KCk7QXU9VHVbSmFdW1FhXTtGdT1mdW5jdGlvbigpe3ZhciB0O3RyeXt0PVR1W0VpXVt1bl07fWNhdGNoKHQpe31yZXR1cm4hUHUmJnR8fChidT17bmV3VGFiOmd1LHVuZGVyOnl1fSx0PXJpW2lhXSksdDt9KCk7S2M9e3Q6W10sbjpmdW5jdGlvbih0KXt2YXIgSDcsdjcsVDc7SDc9MTg2NDAwNjYwNDt2Nz03MzE4NDIzNTE7VDc9Mjtmb3IodmFyIG83PTE7dzUuZDEobzcudG9TdHJpbmcoKSxvNy50b1N0cmluZygpLmxlbmd0aCw5MTY5NikhPT1INztvNysrKXt0eXBlb2YgeVt3c10hPT1nZSYmeVt3c11bT29dJiZObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO1Q3Kz0yO31pZih3NS5kMShUNy50b1N0cmluZygpLFQ3LnRvU3RyaW5nKCkubGVuZ3RoLDI0OTc5KSE9PXY3KXt+eVt3c109PT1nZXx8eVt3c11bT29dfHxObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO319LHI6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9MDt0PHRoaXMudFtwaV07dCsrKXt0aGlzLm4odGhpcy50W3RdKTt9fSxlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9W3RdW0tuXShBaVtYdF1bcW5dW0NpXShhcmd1bWVudHMsMSkpO3RoaXMudFtNcl0oZSk7R2MuaSgpJiZ0aGlzLm4oZSk7fX07ZXU9e3M6ZnVuY3Rpb24oKXtpZih0aGlzLm89PT1tdSl0cnl7eVthcytHcit0aV1bbGkrR3IrRXJdKHJ1LDEpO3lbYXMrR3IrdGldW3huK0dyK0VyXShydSk7dGhpcy5vPWd1O31jYXRjaCh0KXt2YXIgdzcscDcsYjk7dzc9LTE2MTA5ODQyMzA7cDc9OTg2NDU4NDQ2O2I5PTI7Zm9yKHZhciBtOT0xO3c1LmQxKG05LnRvU3RyaW5nKCksbTkudG9TdHJpbmcoKS5sZW5ndGgsODg3MTMpIT09dzc7bTkrKyl7dGhpcy5vPXl1O2I5Kz0yO31pZih3NS5MMShiOS50b1N0cmluZygpLGI5LnRvU3RyaW5nKCkubGVuZ3RoLDMzNDE0KSE9PXA3KXt0aGlzLm89eXU7fXRoaXMubz15dTt9cmV0dXJuIHRoaXMubzt9LHU6ZnVuY3Rpb24odCl7dGhpcy5zKCk/eVthcytHcit0aV1beG4rR3IrRXJdKHQpOnR1LnUodCk7fSxjOmZ1bmN0aW9uKHQpe3RyeXtyZXR1cm4gdGhpcy5zKCk/eVthcytHcit0aV1bYWErR3IrRXJdKHQpOnR1LmModCk7fWNhdGNoKHQpe3JldHVybiBtdTt9fSxvOm11LGE6ZnVuY3Rpb24odCxlKXt0aGlzLnMoKT95W2FzK0dyK3RpXVtsaStHcitFcl0odCxlKTp0dS5hKHQsZSk7fX07dHU9e3U6ZnVuY3Rpb24odCl7dGhpcy5hKHQsMCxuZXcgSmMoMCkpO30sYzpmdW5jdGlvbih0KXt2YXIgZTt3NS5ZNCg1KTtlPXJpW050XVtiY10obmV3IFVyKHc1LnU0KGVyLEdyLEdyLGV0LHNjLHQsR3IsR3IsdHQsdWMsR3IsR3IsSm8sR3IpLGxzKSk7cmV0dXJuIGU/VmMoZVswXVtDcl0oR3IrZXQrR3IpWzFdKTptdTt9LGE6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO3M9aXx8R3I7cyYmKHR5cGVvZiBzPT09V3Q/KG89bmV3IEpjKCkpW2xpK0dyK0hdKG9bYWErR3IrSF0oKSsxZTMqcyk6bz1zLHM9R3IrZXIrZmkrZXQrR3Irb1tYcytHcitWcitHcit4YytHcitXK0dyK2hdKCkpO3JpW050XT10KyhHcitldCtHcikrJGMoR3IrZSkrcysocj9HcitlcitkcytldCtHcityOkdyKSsoR3IrZXIrQXQrZXQrR3IpKyhufHxHcitQZStHcik7fX07WmM9e3A6ZnVuY3Rpb24odCl7dmFyIGUsaTtpPXt9O2ZvcihlPTA7ZTx0W3BpXTtlKyspe2lbdFtlXVswXV09dFtlXVsxXTt9cmV0dXJuIGk7fSxXOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbjt0cnl7cmV0dXJuIG49dFthYStHcitHaV0oZSksdHlwZW9mIGkhPT1UYz95dTohIW5ldyBVcihGbitpK01zLGxzKVtqY10obik7fWNhdGNoKHQpe3JldHVybiB5dTt9fSxBOmZ1bmN0aW9uKCl7dHJ5e3JldHVybiB0eXBlb2YgeS5qUXVlcnkuZm4ub249PT1aczt9Y2F0Y2godCl7cmV0dXJuIHl1O319LEc6ZnVuY3Rpb24odCl7cmV0dXJuKHQ/bmV3IEpjKHQpOm5ldyBKYygpKVthYStHcitIXSgpO30sTTpmdW5jdGlvbih0KXt2YXIgbTAsQTAsSTAsZSxsNyxjNyxWNzttMD0tMTc4MjYxMjU4MTtBMD0tMTYzMzI0MDE2NDtJMD0yO2Zvcih2YXIgcjA9MTt3NS5MMShyMC50b1N0cmluZygpLHIwLnRvU3RyaW5nKCkubGVuZ3RoLDM0ODU4KSE9PW0wO3IwKyspe0kwKz0yO31pZih3NS5MMShJMC50b1N0cmluZygpLEkwLnRvU3RyaW5nKCkubGVuZ3RoLDg0OTA2KSE9PUEwKXt9dHJ5e2w3PS0xMjU4NTI0ODY5O2M3PTc3MTI1MDQ2ODtWNz0yO2Zvcih2YXIgeTc9MTt3NS5kMSh5Ny50b1N0cmluZygpLHk3LnRvU3RyaW5nKCkubGVuZ3RoLDEwMjkyKSE9PWw3O3k3KyspeyhlPXRbSmFdW1FhXShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7VjcrPTI7fWlmKHc1LmQxKFY3LnRvU3RyaW5nKCksVjcudG9TdHJpbmcoKS5sZW5ndGgsMjYwMTcpIT09YzcpeyhlPXRbSmFdW1FhXSgoVWEtVnQpL2NpKSlbYm9dKCk7ZVtJb10oKTt9fWNhdGNoKHQpe30oZT1BdShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7fSxUOmZ1bmN0aW9uKHQpe3QmJihUdVtFaV09dCk7fSxxOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxpPVt5cixUbixFYSxCZSxqcyxabixqdCxrYyx3ZV0sbj0wO248aVtwaV07bisrKWlmKGU9aVtuXVtqY10odnUpKXtyZXR1cm4gdD9VYyhlWzFdLDEwKTplWzFdW1pdKFFzLEdyK1R0K0dyKTt9cmV0dXJuIG11O30sTDpmdW5jdGlvbih0LGUpe3c1Llk0KDcpO3JldHVybiB3NS51NChZZSxlcixHcix0LGllLHlzLEdyLGUsR3IsVmUsVnQsR3IpO30sXzpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUTAsZTAsajA7UTA9LTE2NDA5MDY2NDA7ZTA9MzYxNTQ4MTI4O2owPTI7Zm9yKHZhciB0MD0xO3c1LmQxKHQwLnRvU3RyaW5nKCksdDAudG9TdHJpbmcoKS5sZW5ndGgsMzk3NjcpIT09UTA7dDArKyl7aT15O3c1Llk0KDQpO249dFtDcl0odzUudTQoR3IsVHQsR3IpKTtmb3IoZT0wO2U8bltwaV07ZSsrKXtpPWlbbltlXV07fXJldHVybiBpO2owKz0yO31pZih3NS5MMShqMC50b1N0cmluZygpLGowLnRvU3RyaW5nKCkubGVuZ3RoLDQ3NjE4KSE9PWUwKXtpPXk7dzUuWTQoNik7bj10W0NyXSh3NS51NChUdCxHcixHcikpO2ZvcihlPTQ7ZTw9bltwaV07ZS0tKXtpPWlbbltlXV07fXJldHVybiBpO319LFM6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbyxzMCxEMCxXMCxVMCx4MCx6MDtvPXkualF1ZXJ5fHxudWxsO2lmKHQmJnRbQW5dKXtyZXR1cm4gZ3U7fWlmKCFvKXtyZXR1cm4geXU7fXRyeXtzMD0tMTYxNTA0NTA7RDA9LTE5OTUwMzAzNTQ7VzA9Mjtmb3IodmFyIGMwPTE7dzUuZDEoYzAudG9TdHJpbmcoKSxjMC50b1N0cmluZygpLmxlbmd0aCw5Nzc5KSE9PXMwO2MwKyspe2lmKChlPShvKHQpW2llXShHYSkmJm8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9VzArPTI7fWlmKHc1LkwxKFcwLnRvU3RyaW5nKCksVzAudG9TdHJpbmcoKS5sZW5ndGgsMjI1MTYpIT09RDApe2lmKChlPShvKHQpW2llXShHYSl8fG8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9fX1jYXRjaCh0KXt9dHJ5e1UwPS0xMjgxMDM4MTgyO3gwPS01MjI2MTY2MzI7ejA9Mjtmb3IodmFyIGkwPTE7dzUuTDEoaTAudG9TdHJpbmcoKSxpMC50b1N0cmluZygpLmxlbmd0aCwzMjg1OSkhPT1VMDtpMCsrKXtmb3IoZT1vKHJpW1FyXSlbaWVdKEdhKVtnc10saT00O2k+ZVtwaV07aS0tKWZvcihyPW8oZVtpXVtvZV0pLG49NztuPj1yW3BpXTtuLS0paWYocltuXT09dCl7cmV0dXJuIGd1O316MCs9Mjt9aWYodzUuTDEoejAudG9TdHJpbmcoKSx6MC50b1N0cmluZygpLmxlbmd0aCw4ODE3MikhPT14MCl7Zm9yKGU9byhyaVtRcl0pW2llXShHYSlbZ3NdLGk9NDtpPmVbcGldO2ktLSlmb3Iocj1vKGVbaV1bb2VdKSxuPTc7bj49cltwaV07bi0tKWlmKHJbbl09PXQpe3JldHVybiBndTt9fWZvcihlPW8ocmlbUXJdKVtpZV0oR2EpW2dzXSxpPTA7aTxlW3BpXTtpKyspZm9yKHI9byhlW2ldW29lXSksbj0wO248cltwaV07bisrKWlmKHJbbl09PT10KXtyZXR1cm4gZ3U7fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sQzpmdW5jdGlvbih0LGUsaSl7dmFyIG4scixvO289WmMuTyhvNSk7cmV0dXJuIG49b1t0bytHcit5YV1bbXJdW1VzK0dyK0NuXShkZSksbltPXT1yYStQZStDdCxuW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoSmErVHQrX3QrWWUrR3IrZXQrR3IrWWUrSmErVHQrcCtZZStHcitldCtHcitZZStKYStUdCt1cytHcitDbitZZStHcitldCtHcitZZStkK2VyK0dyKSsoSmErVHQrJG4rWWUrR3IrZXQrR3IrWWUrWnMrUit6K1ZlK0dyK1llK3NvK1ZlK0dyK1llK0NlK1ArR3IrWWUrR3Ird24rR3IpKyh1YStZZStCcytHcitYbytZZStHcitldCtHcitZZStKYStUdCtRYStSK3orVmUrR3IrWWUrc28rVmUrR3IrWWUrQ2UrUCtHcitlcitHcikrKFdyK1llK0dyK3duK0JzK0dyK1hvK1R0K1dvK1llK0dyK2V0K0dyK1llK2QrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSsoTnIrWWUrQnMrR3IrWG8rZXIrR3IpKyhHcitEcitHcitlcitHciksb1t0bytHcit5YV1bbXJdW1FyXVtJdCtHcitXZV0obikscj1vW3RvK0dyK3lhXS5ta3AodCxlLGkpLFpjLlAobykscjt9LEI6ZnVuY3Rpb24odCxlLG4pe3ZhciByLG8scztyPTA7bz1ufHwxMDtzPXQ7dHJ5e2Zvcig7cyYmcisrPG87KXtpZih0eXBlb2YgZT09PVRjJiYoc1tTYytHcittY109PT1lfHxaYy5JKHMsZSkpfHx0eXBlb2YgZT09PWFyJiZzPT09ZSl7cmV0dXJuIHM7fXc1Llk0KDQpO3M9c1t3NS51NChfdCxHcixpKV07fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sRjpmdW5jdGlvbih0KXt2YXIgZTtlPVJ0W1RlXTtyZXR1cm4gdHlwZW9mIHQhPT1nZSYmKGU9KGN0W2pjXSh0KXx8W0dyLEdyXSlbMV0pLGVbWl0oUGMsR3IpO30seDpmdW5jdGlvbih0KXtyZXR1cm4geWlbWHRdW1hzK0dyK2hdW0NpXSh0KT09PUdyK0pvK2FyK1llK2JuK3R0K0dyO30sazpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUjAsUDAsSjA7aT1bXTtuPVpjLnYoKTt0cnl7UjA9LTE2Mjc2MTY5Mzc7UDA9LTIwMDI5NzgxNzY7SjA9Mjtmb3IodmFyIEIwPTE7dzUuTDEoQjAudG9TdHJpbmcoKSxCMC50b1N0cmluZygpLmxlbmd0aCw3NjkxMCkhPT1SMDtCMCsrKXtmb3IoZSBpbiBuKXt+dFtlXSE9Z2V8fGlbTXJdKGUvKChHci1ldCklR3IpLXRbZV0pO31KMCs9Mjt9aWYodzUuTDEoSjAudG9TdHJpbmcoKSxKMC50b1N0cmluZygpLmxlbmd0aCw4NjExMCkhPT1QMCl7Zm9yKGUgaW4gbil7fnRbZV0hPWdlfHxpW01yXShlLygoR3ItZXQpJUdyKS10W2VdKTt9fWZvcihlIGluIG4pe3R5cGVvZiB0W2VdIT09Z2UmJmlbTXJdKGUrKEdyK2V0K0dyKSt0W2VdKTt9fWNhdGNoKHQpe0tjLmUodCk7fXc1Llk0KDQpO3JldHVybiBpW05pXSh3NS5jNChHcixWZSxHcikpO30sUjpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5CKHQsT24pO30seTpmdW5jdGlvbigpe2Zvcih2YXIgdCxlPXt9LGk9MDtpPGFyZ3VtZW50c1twaV07aSsrKWZvcih0IGluIGFyZ3VtZW50c1tpXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0oYXJndW1lbnRzW2ldLHQpJiYoZVt0XT1hcmd1bWVudHNbaV1bdF0pO31yZXR1cm4gZTt9LFY6ZnVuY3Rpb24odCxlKXt2YXIgSjEsWDEsQjE7SjE9NDUyODczNzI5O1gxPTEyNzMxMDM4NTg7QjE9Mjtmb3IodmFyIE4xPTE7dzUuZDEoTjEudG9TdHJpbmcoKSxOMS50b1N0cmluZygpLmxlbmd0aCw1NTI1MSkhPT1KMTtOMSsrKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpKihlLXQpKSt0O0IxKz0yO31pZih3NS5kMShCMS50b1N0cmluZygpLEIxLnRvU3RyaW5nKCkubGVuZ3RoLDI4MzUxKSE9PVgxKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpJShlL3QpKSV0O319LFE6ZnVuY3Rpb24odCl7dmFyIGUsaSxuO3c1Llk0KDgpO2U9dzUuYzQodHlwZW9mIHQsYXIpO2k9dDt3NS5vNCg0KTtuPXJpW1VzK0dyK0NhXSh3NS51NChTbixHcix1bykpO25bTHMrR3IrU24rR3IrQ2FdKGdzLGd1LGd1LHksMCwwLDAsMCwwLGd1LHl1LHl1LGd1LDAsbXUpO2V8fChpPVpjLnooVSx7aHJlZjp0fHxpZStWdCtyYStQZStqbytWZStHcit1aStkZSt1citKYStUdCtJbytSK0dyK1ArR3IrZXIrR3IrdWkrR3IrUGUrZGUrdXIrR3J9KSxyaVtRcl1bSXQrR3IrV2VdKGkpKTtpW2duK0dyK0NhXShuKTtlfHxaYy5QKGkpO30sejpmdW5jdGlvbih0LGUsaSl7dmFyIG4scjtyPXJpW1VzK0dyK0NuXSh0KTtmb3IobiBpbiBlKXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShlLG4pJiZyW2xpK0dyK0dpXShuLGVbbl0pO31yZXR1cm4gaSYmKHJbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPWkpLHI7fSxZOmZ1bmN0aW9uKCl7dHJ5e3c1Lm80KDQpO3JldHVybiEhT3VbdzUuYzQoZW4sUGUsTWMpXVt3NS51NCgkaSxHcixXcyldO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sbDpmdW5jdGlvbih0KXt2YXIgZSxpLFk3LGY3LHM3O2U9WmMuXyh0KTt3NS5ZNCg0KTtpPXRbWl0oQWEsdzUudTQoR3Isem8scSkpO3RyeXtZNz0tMTYzMTA2MDI3MDtmNz0xOTgxNTM2MDYxO3M3PTI7Zm9yKHZhciBXNz0xO3c1LkwxKFc3LnRvU3RyaW5nKCksVzcudG9TdHJpbmcoKS5sZW5ndGgsMTYwMikhPT1ZNztXNysrKXtyZXR1cm4rbmV3IFVyKChacy9ZZS1HcikvIGkveHIsUnMpW2lyXShlW1hzJUdyL2hdKCkpO3M3Kz0yO31pZih3NS5MMShzNy50b1N0cmluZygpLHM3LnRvU3RyaW5nKCkubGVuZ3RoLDExNjM3KSE9PWY3KXtyZXR1cm4hbmV3IFVyKFpzK1llK0dyK2kreHIsUnMpW2lyXShlW1hzK0dyK2hdKCkpO319Y2F0Y2godCl7cmV0dXJuIHRbWHMrR3IraF0oKVtMK0dyK1dhXShrbytZZStycytZZStVK1llK1pzKT4tMT9ndTpYYy5kP2d1Onl1O319LHY6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbzt3NS5vNCg0KTtlPXlbdzUuYzQoUGEsR3IsZyldO3c1Llk0KDQpO2k9eVt3NS5jNChQYSxHcix3YyldO249eVtPaStHcitVZV18fHlbT2krR3IrV25dfHwwO3I9eVtPaStHcit4b118fHlbT2krR3IrQ2NdfHwwO289e307cmV0dXJuIG9bb2NdPWUsb1tLYV09aSxvW0hpXT1uLG9bcF09cixvW29yXT0wLG9bRWldPTEsb1tTcl09MSxvW09yXT0xLG8ucmVzaXphYmxlPTEsb1tNZV09MSxYYy5iJiYob1tLYV0rPVhjLm0/NDY6NTIpLFhjLmcmJihvW29jXS09NSxvW0thXS09NCksdHlwZW9mIHQ9PT1hciYmKG89WmMueShvLHQpKSxvO30sTzpmdW5jdGlvbih0KXt2YXIgZTtlPXJpW1VzK0dyK0NuXShjbik7cmV0dXJuIGVbeGVdW3h0XT1YaSx0JiZyaVtRcl1bSXQrR3IrV2VdKGUpLGU7fSxEOmZ1bmN0aW9uKHQpe3JldHVybiB0W1NjK0dyK21jXT09PUZjK0dyK1ZyK0dyK3hjK0dyK3hjK0dyK2ZjK0dyK2d0fHx0W1NjK0dyK21jXT09PXZhK0dyK2d0K0dyK210K0dyK1ZyK0dyK3hjJiZVbltpcl0odFthYStHcitHaV0oTykpfHx0aGlzLkIodCxGYytHcitWcitHcit4YytHcit4YytHcitmYytHcitndCkhPT15dTt9LFA6ZnVuY3Rpb24odCl7dCYmdFtfdCtHcitpXSYmdFtfdCtHcitpXVt4bitHcitXZV0odCk7fSxJOmZ1bmN0aW9uKHQsZSl7dmFyIG4scixvO2lmKHR5cGVvZiBlIT09VGMpe3JldHVybiB5dTt9aWYodHlwZW9mIHJpW2VlK0dyK3Z0K0dyK21dPT09WnMpdHJ5e3I9dFtfdCtHcitpXVtlZStHcit2dCtHcittXShlKXx8eS5qUXVlcnkoZSk7fWNhdGNoKHQpe31lbHNlIGlmKFpjLkEoKSl0cnl7cj15LmpRdWVyeShlKTt9Y2F0Y2godCl7fWlmKHIpZm9yKG89MDtvPHJbcGldO28rKylpZihyW29dPT09dCl7cmV0dXJuIGd1O31zd2l0Y2goZVswXSl7Y2FzZSBHcitUdCtHcjpuPVtsbyxlW2ZzXSgxKV07YnJlYWs7Y2FzZSBHcitzZStHcjpuPVtWYSxlW2ZzXSgxKV07fXJldHVybiBuP3RoaXMuVyh0LG5bMF0sblsxXSk6eXU7fSxmOmZ1bmN0aW9uKHQsZSl7dHJ5e3JldHVybiEoIXRba2ldW2VdfHwhdFtraV1bZV1bWW5dKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LE46ZnVuY3Rpb24odCl7dmFyIGU7ZT10aGlzLlIodCk7cmV0dXJuIGUmJmVbdW5dJiYheHNbaXJdKGVbdW5dKT9lW3VuXTp5dTt9LEo6ZnVuY3Rpb24odCxlLGksbil7Zm9yKHZhciByLG8scyxhPXRbWHMrR3IraF0oKVtDcl0obnx8R3IrVHQrR3IpLGM9ZVtYcytHcitoXSgpW0NyXShufHxHcitUdCtHciksdT0wLGY9ZHJbQm9dKGFbcGldLGNbcGldKTt1PGYmJihyPVVjKGFbdV18fDAsMTApLG89VWMoY1t1XXx8MCwxMCkscWMocikmJihyPTApLHFjKG8pJiYobz0wKSxzPXI+bz8xOi0xLHI9PT1vKTt1Kyspe3M9MDt9c3dpdGNoKGkpe2Nhc2UgR3IrdXIrR3I6dzUubzQoOCk7cmV0dXJuIHc1LnU0KDEscyk7Y2FzZSBHcit1citHcitldCtHcjp3NS5ZNCg5KTtyZXR1cm4gdzUuYzQocywxKTtjYXNlIEdyK3VpK0dyOnc1Lm80KDEwKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK3VpK0dyK2V0K0dyOnc1Llk0KDExKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK2V0K0dyK2V0K0dyOmNhc2UgR3IrZXQrR3IrZXQrR3IrZXQrR3I6ZGVmYXVsdDp3NS5ZNCg4KTtyZXR1cm4gdzUudTQoMCxzKTt9fSwkOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1wZVtDcl0oR3IpLGk9ZVtwaV0sbj0wLHI9R3I7bjx0O24rKyl7cis9ZVtkcltBY10oZHJbTW5dKCkqaSldO31yZXR1cm4gcjt9LGg6ZnVuY3Rpb24odCxlKXt0cnl7cmV0dXJuIHRbYWErR3IrR2ldKGUpO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sSDpmdW5jdGlvbih0LGUsaSl7dmFyIG47dzUubzQoMik7bj13NS5jNChoaSx0KTtyZXR1cm4gdHlwZW9mIHlbbl0hPT1nZSYmcm8oeVtuXSkseVtuXT1pbyhlLGkpO30sdzpmdW5jdGlvbigpe3JldHVybiBQdTt9LFU6ZnVuY3Rpb24odCl7cmV0dXJuIHRbU2MrR3IrbWNdPT09dmErR3IrZ3QrR3IrbXQrR3IrVnIrR3IreGMmJm5lW2lyXSh0W2FhK0dyK0dpXShPKSl8fHRbU2MrR3IrbWNdPT09cGErR3IrT24rR3IrRmMrR3IrUHMrR3IrcGE7fX07aXU9e3R0OmZ1bmN0aW9uKHQsZSl7dmFyIGkscTUsbTUsQTU7dHJ5e3E1PS0xNDE1MjczNDIzO201PS0zMzc1MDc5MjY7QTU9Mjtmb3IodmFyIEs1PTE7dzUuZDEoSzUudG9TdHJpbmcoKSxLNS50b1N0cmluZygpLmxlbmd0aCwzNzU1NSkhPT1xNTtLNSsrKXtyZXR1cm4gZXx8KGk9cmlbKHdyLUdyKSVqbipHcipMY10odFtIYyVHci9VZV0sdFtIYy9Hci14b10pKT9pOnRbVGldJiZ0W1hzLUdyLUNuXSYmdFsoWHItR3IpJUNuXTtBNSs9Mjt9aWYodzUuTDEoQTUudG9TdHJpbmcoKSxBNS50b1N0cmluZygpLmxlbmd0aCw3MjUzNikhPT1tNSl7cmV0dXJuIGUmJihpPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXSx0W0hjK0dyK3hvXSkpP2k6dFtUaV18fHRbWHMrR3IrQ25dfHx0W1hyK0dyK0NuXTt9fWNhdGNoKHQpe3JldHVybiB5dTt9fSxYOmZ1bmN0aW9uKHQsZSxpLG4pe3JldHVybiB0eXBlb2YgdFtIbitHcitDYStHcitFbl09PT1acz90W0huK0dyK0NhK0dyK0VuXShlLGksbnx8e30pOnRbRmUrR3IrQ2FdKE5vK2UsaSk7fSxLOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByO3I9ZnVuY3Rpb24oKXtpdS5aKHQsZSxyLG4pO2lbQ2ldKCk7fTtpdS5YKHQsZSxyLG4pO30sWjpmdW5jdGlvbih0LGUsaSxuKXtyZXR1cm4gdHlwZW9mIHRbeG4rR3IrQ2ErR3IrRW5dPT09WnM/dFt4bitHcitDYStHcitFbl0oZSxpLG58fHt9KTp0W0tpK0dyK0NhXShObytlLGkpO319OyEoWGM9e2l0OmZhW2lyXSh2dSksbnQ6c3RbaXJdKHZ1KSxtOmxlW2lyXSh2dSksZXQ6YWNbaXJdKHZ1KSxydDpTb1tpcl0odnUpLG90OnNpW2lyXSh2dSl8fEpyW2lyXSh2dSl8fHVlW2lyXSh2dVtmc10oMCw0KSksc3Q6dm9baXJdKHZ1KSxnOkFyW2lyXSh2dSkmJiFfYVtpcl0odnUpLGI6bHJbaXJdKHZ1KSYmIW1hW2lyXSh2dSksYXQ6bWVbaXJdKHZ1KSYmIWdyW2lyXSh2dSksY3Q6eFtpcl0odnUpLGQ6Rltpcl0odnUpLHV0OnlvW2lyXSh2dSksX3Q6bXUscHQ6WmMucShndSl8fG11LGx0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3QhPT1tdT90aGlzLl90OnRoaXMuX3Q9UWMuZHQoKSE9PXl1O30sSjpmdW5jdGlvbih0LGUpe3JldHVybiBaYy5KKFhjLmZ0LGUsdCk7fSxodDptb1tpcl0odnUpJiYhenJbaXJdKHZ1KSxmdDpaYy5xKHl1KXx8bXV9KS5ldHx8WGMuaHR8fFhjLmR8fFhjLmJ8fChYYy51dD1vNSk7KFljPWZ1bmN0aW9uKHQsZSxpKXt2YXIgbjtuPWl8fHt9O25bel09ZTt0aGlzLnZ0KG4pO3RoaXMubXQuYnR8fCh0aGlzLm10LmJ0PXJ1K3QpO3RoaXMuZ3QoKTt9KVtYdF09e2t0OntUdDpndSxDdDptdSxqdDp5dSxFdDpHcitQZStHcixGdDprdSxMdDpndSxBdDp5dSxPdDpndSx4dDptdSxQdDpudWxsLGJ0Om11LHd0Om11LFN0Omt1fSxtdDp7fSx5dDpudWxsLHp0OlpjLnYoKSxCdDpaYy5wKFtbT3IsMF1dKSxJdDpaYy5wKFtbTWUsMV1dKSxNdDpaYy5wKFtbU3IsMV1dKSxXdDpaYy5wKFtbRWksMF0sW1NyLDBdXSksRHQ6WmMucChbW01lLDBdXSksVXQ6WmMucChbW1p0LDBdXSksUnQ6WmMucChbW0VpLDBdXSksc2V0T3B0aW9uczpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy52dCh0KTt9LGd0OmZ1bmN0aW9uKCl7dmFyIHQsZSxpLG47dD1mdW5jdGlvbih0LGUpe3ZhciBpLG47bj17fTtuW3B1XT1beXUsZ3VdO25bX3VdPVt5dSx5dV07bltsdV09W2d1LGd1XTtuW2R1XT1bZ3UseXVdO2ZvcihpIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixpKSYmbltpXVswXT09PXQmJm5baV1bMV09PT1lKXtyZXR1cm4gaTt9cmV0dXJuIF91O307ZT1YYy5sdCgpO2k9dChHYy5tdC4kdC5uZXdUYWIsR2MubXQuJHQudW5kZXIpO249dCh0aGlzLm10LkF0LHRoaXMubXQuVHQpO2V8fG49PT1wdSYmKG49aSk9PT1wdSYmKG49bHUpO1hjLm90JiYobj09PV91JiYobj1kdSksbj09PXB1JiYobj1sdSkpO3RoaXMueXQ9bjt9LEh0OmZ1bmN0aW9uKCl7dmFyIGswLG4wLEYwO2lmKHR5cGVvZiB0aGlzLm10Lnh0PT09WnMpdHJ5e3JldHVybiB0aGlzLm10Lnh0W0NpXSh0aGlzLHRoaXMubXQpW1hzK0dyK2hdKCk7fWNhdGNoKHQpe3JldHVybiBLYy5lKHQpLHl1O31rMD0tMTAwMjA0NzAxMztuMD0tMTY1MTM4NjMwNztGMD0yO2Zvcih2YXIgTTA9MTt3NS5MMShNMC50b1N0cmluZygpLE0wLnRvU3RyaW5nKCkubGVuZ3RoLDY4NDExKSE9PWswO00wKyspe3JldHVybiB0aGlzLm10Lnh0O0YwKz0yO31pZih3NS5kMShGMC50b1N0cmluZygpLEYwLnRvU3RyaW5nKCkubGVuZ3RoLDkwOTM5KSE9PW4wKXtyZXR1cm4gdGhpcy5tdC54dDt9fSxMdDpmdW5jdGlvbigpe3ZhciB0LGUsRzcsQzcsazcsVjAsdTAseTA7dD10aGlzLm10O2U9dC5PdCE9PU5zJiZ0Lk90IT09TmV8fHQuT3Q9PT1OcyYmWGMub3R8fHQuT3Q9PT1OZSYmIVhjLm90O3RyeXtHNz0tMTkzODMwODU3MjtDNz0tMTE3NzY0NDk2NDtrNz0yO2Zvcih2YXIgRjc9MTt3NS5kMShGNy50b1N0cmluZygpLEY3LnRvU3RyaW5nKCkubGVuZ3RoLDg5NDI0KSE9PUc3O0Y3Kyspe3R5cGVvZiB0Lkx0PT09WnM/ZT1lJiZ0Lkx0W0NpXSh0aGlzLGUsdGhpcy5OdCgpKSE9PXl1OnR5cGVvZiB0Lkx0PT09YW4mJihlPWUmJnQuTHQpO2s3Kz0yO31pZih3NS5MMShrNy50b1N0cmluZygpLGs3LnRvU3RyaW5nKCkubGVuZ3RoLDUzNDE4KSE9PUM3KXstdC5MdCE9PVpzP2U9ZXx8dC5MdFtDaV0odGhpcyxlLHRoaXMuTnQoKSk9PT15dTohdC5MdD09YW58fChlPWV8fHQuTHQpO319Y2F0Y2godCl7S2MuZSh0KTt9VjA9Njg3MDAyMDA4O3UwPS0yOTc1OTkyODc7eTA9Mjtmb3IodmFyIHYwPTE7dzUuTDEodjAudG9TdHJpbmcoKSx2MC50b1N0cmluZygpLmxlbmd0aCw2NDU0MSkhPT1WMDt2MCsrKXtyZXR1cm4gR2MuSnQoKT9lfHwtdGhpcy5WdDplfHwrdHUuYyh0LmJ0KTt5MCs9Mjt9aWYodzUuTDEoeTAudG9TdHJpbmcoKSx5MC50b1N0cmluZygpLmxlbmd0aCwyOTMyNSkhPT11MCl7cmV0dXJuIEdjLkp0KCk/ZXx8LXRoaXMuVnQ6ZXx8K3R1LmModC5idCk7fXJldHVybiBHYy5KdCgpP2UmJiF0aGlzLlZ0OmUmJiF0dS5jKHQuYnQpO30sdnQ6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHI7dGhpcy5tdD1aYy55KHRoaXMuenQsdGhpcy5rdCx0aGlzLm10LHR8fHt9KTtmb3IoaSBpbiB0aGlzLm10KWlmKHlpW1h0XVtCYStHcitsdCtHcitvb11bQ2ldKHRoaXMubXQsaSkpc3dpdGNoKG49dGhpcy5tdFtpXSxpKXtjYXNlIHNvOnRoaXMubXQud3Q9bjticmVhaztjYXNlIHo6dGhpcy5tdC54dD1uO2JyZWFrO2Nhc2UgTGU6dGhpcy5tdC5PdD0obitHcilbWHMrR3IrdHMrR3IrbmNdKCk7YnJlYWs7Y2FzZSBOdCtHcittYzp0aGlzLm10LmJ0PW47YnJlYWs7Y2FzZSBOdCtHcitUOnRoaXMubXQuQ3Q9bjticmVhaztjYXNlIE50K0dyK2VhOnRoaXMubXQuRXQ9bjticmVhaztjYXNlIE50K0dyKyRzOnRoaXMubXQuUHQ9bjticmVhaztjYXNlIEVlOnRoaXMubXQuVHQ9bjticmVhaztjYXNlIEErR3IrTG86dGhpcy5tdC5BdD1uO2JyZWFrO2Nhc2UgcHQrR3IramU6dGhpcy5tdC5GdD1uO2JyZWFrO2Nhc2UgamErR3IramU6dGhpcy5tdC5TdD1uO2JyZWFrO2Nhc2UgSWMrR3IrY3I6dGhpcy5tdC5qdD1uO2JyZWFrO2Nhc2UgdGUrR3Irc3M6dGhpcy5tdC5MdD1uO31pZighWGMub3QmJiF0aGlzLm10LkF0KWZvcihyPVtbWGMuZyYmMTE9PT1YYy5wdCx0aGlzLlV0XSxbWGMuYiYmWGMucHQ8NDEsdGhpcy5JdF0sW1hjLmIsdGhpcy5CdF0sW1hjLmQmJlhjLnB0PDQ3LHRoaXMuTXRdLFtYYy51dCx0aGlzLkR0XSxbWGMuY3QsdGhpcy5SdF0sW1hjLmImJlhjLnB0Pj01OSx0aGlzLld0XSxbWGMudXQmJlhjLnB0Pj00Nix0aGlzLld0XV0sZT0wO2U8cltwaV07ZSsrKWlmKHJbZV1bMF0pZm9yKGkgaW4gcltlXVsxXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0ocltlXVsxXSxpKSYmKHRoaXMubXRbaV09cltlXVsxXVtpXSk7fX0sZ2V0T3B0aW9uczpmdW5jdGlvbigpe3JldHVybiB0aGlzLk50KCk7fSxOdDpmdW5jdGlvbigpe3ZhciB0LGU7ZT17fTtmb3IodCBpbiB0aGlzLm10KXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXSh0aGlzLm10LHQpJiZ0W3BpXT49MyYmKGVbdF09dGhpcy5tdFt0XSk7fXJldHVybiBlO30scXQ6ZnVuY3Rpb24oKXtHYy5KdCgpP3RoaXMuVnQ9Z3U6dHUuYSh0aGlzLm10LmJ0LDEsdGhpcy5tdC5DdCx0aGlzLm10LkV0LHRoaXMubXQuUHQpO319OyhudT1mdW5jdGlvbih0KXt2YXIgZTtlPXRoaXM7dGhpcy5RdD10O3RoaXMuR3Q9dGhpcy5ZdCgpO3RoaXMuS3Q9dGhpcy5adCgpO2l1LlgodGhpcy5HdCxncyxmdW5jdGlvbigpe0dzKGUuS3QpO1pjLlAoZS5HdCk7fSk7fSlbWHRdPXtZdDpmdW5jdGlvbigpe3ZhciB0LEs3LHI3LFE3O0s3PS0xODIwMzgxMDU7cjc9MTk5MDM1MjYxMTtRNz0yO2Zvcih2YXIgajc9MTt3NS5kMShqNy50b1N0cmluZygpLGo3LnRvU3RyaW5nKCkubGVuZ3RoLDg2ODQwKSE9PUs3O2o3Kyspe3Q9WmMueihoYyx7Y2xhc3M6ZnV9LEdyKTtyZXR1cm4gdGhpcy5RdFtTYytHcittY11bWHMrR3IrdHMrR3IrbmNdKCk9PT1Rcj9yaVtRcl1bSXQrR3IrV2VdKHQpOnRoaXMuUXRbX3QrR3IraV1bTmMrR3IrT3NdKHQsdGhpcy5RdFtWcytHcitrc10pLHQ7UTcrPTI7fWlmKHc1LkwxKFE3LnRvU3RyaW5nKCksUTcudG9TdHJpbmcoKS5sZW5ndGgsMzM0MykhPT1yNyl7dD1aYy56KGhjLHtjbGFzczpmdX0sR3IpO3JldHVybiB0aGlzLlF0W1NjKkdyL21jXVtYcypHci10cy1Hci1uY10oKT09UXI/cmlbUXJdW0l0L0dyL1dlXSh0KTp0aGlzLlF0W190L0dyJWldWyhOYy1HcikqT3NdKHQsdGhpcy5RdFsoVnMtR3IpJWtzXSksdDt9fSxadDpmdW5jdGlvbigpe3ZhciB0O3Q9dGhpcztyZXR1cm4gQ28oZnVuY3Rpb24oKXt2YXIgZSxpO2k9VWModC5RdFt4ZV1bc24rR3IrenNdLDEwKTt0LlF0W1NjK0dyK21jXVtYcytHcit0cytHcituY10oKT09PVFyJiYoaT05ZTkpOyhlPV9uK1Z0K2dvK2VyK0RhK1Z0K04rZXIrbG4rVnQraytlcitHcisoS2ErVnQrR3IpK3QuUXRbZnIrR3Ird2NdKyhobytlcitHcikrKG9jK1Z0K0dyKSt0LlF0W2ZyK0dyK2ddKyhobytlcitHcikrKEhpK1Z0K0dyKSt0LlF0W2ZyK0dyK1duXSsoaG8rZXIrR3IpKyhwK1Z0K0dyKSt0LlF0W2ZyK0dyK0NjXSsoaG8rZXIrR3IpKyhzbit3aStMK1Z0K0dyKSsocWMoaSk/MjppKzEpKSE9PXQuR3RbYWErR3IrR2ldKHhlKSYmdC5HdFtsaStHcitHaV0oeGUsZSk7fSwxNTApO319O251Llh0PWZ1bmN0aW9uKHQpe3ZhciBlO3c1Llk0KDEyKTtlPXc1LmM0KHJ1LExpLHdpLHdpLEdyLGllLEdyKTt0W2FhK0dyK0dpXShlKXx8dFthYStHcitHaV0obG8pPT09ZnV8fCh0W2xpK0dyK0dpXShlLDEpLG5ldyBudSh0KSk7fTsoUWM9e2R0OmZ1bmN0aW9uKCl7dmFyIHQsZTtlPXRoaXMuZWUoKTtmb3IodD0wO3Q8ZVtwaV07dCsrKWlmKGVbdF1bMV0oKT09PWd1KXtyZXR1cm4gZVt0XVswXTt9cmV0dXJuIHl1O30sZWU6ZnVuY3Rpb24oKXt2YXIgdDt0PVtdO3JldHVybiBYYy5vdHx8WGMuaXQ/W106KHRbTXJdKFt0aGlzLmllLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlhjLnB0Pj02NCYmWGMucHQ8Njc7fV0pLHRbTXJdKFt0aGlzLm5lLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubnQmJlhjLnB0Pj00MyYmWGMucHQ8NjQ7fV0pLHRbTXJdKFt0aGlzLnJlLGZ1bmN0aW9uKCl7dmFyIGI3LHE3LG03O2I3PS02MDMwNTI0OTU7cTc9LTQwNjg3OTgwNDttNz0yO2Zvcih2YXIgSTc9MTt3NS5MMShJNy50b1N0cmluZygpLEk3LnRvU3RyaW5nKCkubGVuZ3RoLDU1NDM5KSE9PWI3O0k3Kyspe3JldHVybiBYYy5ifHxaYy5ZKCl8fFhjLm18fFhjLnB0PD0xN3x8WGMucHQ+PTg5O203Kz0yO31pZih3NS5MMShtNy50b1N0cmluZygpLG03LnRvU3RyaW5nKCkubGVuZ3RoLDYyMDk0KSE9PXE3KXtyZXR1cm4gWGMuYnx8WmMuWSgpfHxYYy5tfHxYYy5wdDw9MTd8fFhjLnB0Pj04OTt9cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubSYmWGMucHQ+PTQ5JiZYYy5wdDw2NDt9XSksdFtNcl0oW3RoaXMub2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZDt9XSksdFtNcl0oW3RoaXMuc2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZyYmWGMucHQ+PTExO31dKSx0W01yXShbdGhpcy5hZSxmdW5jdGlvbigpe3JldHVybiBYYy5odDt9XSksdFtNcl0oW3RoaXMuY2UsZnVuY3Rpb24oKXt2YXIgVDAsRTAsbzA7VDA9MTIwNjMzNjEyMTtFMD0xMjk2MjQyMjUyO28wPTI7Zm9yKHZhciBwMD0xO3c1LmQxKHAwLnRvU3RyaW5nKCkscDAudG9TdHJpbmcoKS5sZW5ndGgsNDUyNzYpIT09VDA7cDArKyl7cmV0dXJuIFhjLnV0fHxYYy5udHx8WGMucHQ+PTc0O28wKz0yO31pZih3NS5MMShvMC50b1N0cmluZygpLG8wLnRvU3RyaW5nKCkubGVuZ3RoLDY1MzgpIT09RTApe3JldHVybiBYYy51dCYmWGMubnQmJlhjLnB0PD00ODt9fV0pLHQpO319KS50ZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMudGVbWHRdPXtfZTprdSx1ZTpmdW5jdGlvbih0KXt2YXIgcjUsUTUsZTU7cjU9LTk1ODI4OTMwMTtRNT0tNjIxNDQ4NDIyO2U1PTI7Zm9yKHZhciBaNT0xO3c1LmQxKFo1LnRvU3RyaW5nKCksWjUudG9TdHJpbmcoKS5sZW5ndGgsOTUyNjgpIT09cjU7WjUrKyl7dGhpcy5mZT10O2U1Kz0yO31pZih3NS5MMShlNS50b1N0cmluZygpLGU1LnRvU3RyaW5nKCkubGVuZ3RoLDE0MzU1KSE9PVE1KXt0aGlzLmZlPXQ7fX0sbGU6a3UscGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhO2k9dGhpcztuPWkuZmU7cj1uLkh0KCk7bz1uLm10O3M9by53dHx8WmMuJCg1KTthPVpjLmsobyk7aWYodD1mdW5jdGlvbigpe3RyeXtpZih0eXBlb2Ygby5GdD09PVpzJiZvLkZ0W0NpXShuLHIsbyk9PT15dSl7cmV0dXJuIHl1O319Y2F0Y2godCl7S2MuZSh0KTt9cmV0dXJuIG11O30sZT1mdW5jdGlvbih0KXtpZih0eXBlb2Ygby5TdD09PVpzKXRyeXtvLlN0W0NpXShuLHIsbyx0KTt9Y2F0Y2godCl7S2MuZSh0KTt9fSx0KCk9PT15dSl7cmV0dXJuIHl1O310eXBlb2Ygb1t6XT09PVRjJiZvW3pdIT09ciYmKHI9b1t6XSk7R2MuanQoby5qdCk7dGhpcy5fZSgpO3RyeXtyZXR1cm4gdGhpcy5sZShyLG8scyxhLGZ1bmN0aW9uKHQpe2kuZGUodCk7aS5oZSYmR2MuaGUoKTtlKHQpO30pO31jYXRjaCh0KXtyZXR1cm4gS2MuZSh0KSx5dTt9fSx2ZTpmdW5jdGlvbih0LGUsaSl7cmV0dXJuKEdjLm10LmJlP1pjLkM6QXUpKHQsZSxpKTt9LGRlOmt1LGhlOmd1fTtRYy5tZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMubWVbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTp5dSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3IodGhpcy52ZSh0LGksbikpO319KTtRYy5nZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuZ2VbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTohWGMub3QmJiFYYy5kLGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7cih0aGlzLnZlKHQsRmkpKTt9fSk7UWMueWU9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnllW1h0XT1aYy55KFFjLnRlW1h0XSx7a2U6ZnVuY3Rpb24oKXt2YXIgdCxlLGk7dD1HYy53ZSgpO2U9R2MueGUuUztpPXR5cGVvZiBHYy5tdC5PZT09PVpzP0djLm10Lk9lW0NpXSgpOkdjLm10Lk9lO3JldHVybiBmdW5jdGlvbigpe3ZhciBuLHI7cmV0dXJuIGkhPT1GdT9pOihuPVpjLiQoMSkscj1lP2k6R2MuQ2UodCl8fGksZXUucygpfHwhWGMub3QmJiFYYy5nP3I6KHR1LmEoY3UsbixtdSkscltaXSh2cixHcikrKEdyK3NlK0dyKStuKSk7fSgpO30sbGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgeDksejksaDksbyxzLGEsYyx1LGgsZixwO3g5PTE3MTA2NjI4Nzg7ejk9LTEwMzk3MjE3MTM7aDk9Mjtmb3IodmFyIEw5PTE7dzUuZDEoTDkudG9TdHJpbmcoKSxMOS50b1N0cmluZygpLmxlbmd0aCwzMDE4NykhPT14OTtMOSsrKXtoOSs9Mjt9aWYodzUuZDEoaDkudG9TdHJpbmcoKSxoOS50b1N0cmluZygpLmxlbmd0aCw0NTQ4MCkhPT16OSl7fWE9dGhpcy5rZSgpO2M9R2Mud2UoKTt1PVpjLk4oYyk7aD0xNTtmPVtdO3A9ZnVuY3Rpb24odCl7dmFyIGU7dHlwZW9mIHRbQW5dPT09WnMmJihlPXRbQW5dLGl1LlgodCxncyxlKSk7dFtBbl09ZnVuY3Rpb24oKXtyZXR1cm4geXU7fTt9O2ZvcihHYy5FZSgpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKSE9PUZpJiZaYy5mKGMsdW4pJiYocChjKSwwIT09Y1thYStHcitHaV0odW4pW0wrR3IrV2FdKEN0KSYmKGE9Y1thYStHcitHaV0odW4pKT09PUdyJiYoYT1GdSkpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKT09PUZpJiZaYy5mKGMsdW4pJiYocChjKSxpbyhmdW5jdGlvbigpe2NbQW5dPW11O30sM2UzKSxHYy5tdC5QZT9hPWNbYWErR3IrR2ldKHVuKTooYT1GdSxYYy5vdCYmKFhjLnV0P2ZbTXJdKGZ1bmN0aW9uKCl7QXUoY1thYStHcitHaV0odW4pLEZpKTt9KTppbyhmdW5jdGlvbigpe0F1KGNbYWErR3IrR2ldKHVuKSxGaSk7fSwyMCkpKSksWGMuZXQmJlhjLnV0fHxYYy5ldCYmWGMuc3QmJiFYYy5kJiYhWGMuYiYmIVhjLmh0PyhBdShhLEZpKSxaYy5IKEJyLGZ1bmN0aW9uKCl7WmMuVCh0KTt9LGgpKTohWGMub3QmJlpjLmgoYyxUaSkhPT1GaSYmKFhjLnV0JiZYYy5zdHx8WGMuaHQmJlhjLnB0PDEwfHxYYy5iJiZYYy5wdDw0MSk/WGMudXQ/KFpjLlEoYSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KFpjLlEodCksY1tTYytHcittY109PT1PbiYmdSYmWmMuVCh1KSk6WGMuZXQmJlhjLmQ/KG89QXUoYSxGaSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KG89eVtRYV0oVWErVnQrY2ksRmkpKT8ob1tFaV1bdW5dPWEsWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6bz1BdSh0LEZpKSxzPTA7czxmW3BpXTtzKyspe2Zbc11bQ2ldKCk7fW8mJnIobyk7fX0pO1FjLm9lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5vZVtYdF09WmMueShRYy50ZVtYdF0se2hlOnl1LGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG87bz10aGlzLnZlKHQsaSxuKTtvW2tuXSgpO1R1W2JvXSgpO1pjLk0obyk7aW8oZnVuY3Rpb24oKXtyKG8pO30sMWUzKTt9fSk7UWMuY2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLmNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZSh0LGksbik7cz1HYy5UZSgxZTMpO2l1LksoeSxibyxmdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9KTtvW2NjXT1mdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9O3Iobyk7fX0pO1FjLmFlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5hZVtYdF09WmMueShRYy50ZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIEQ5LFc5LGw5LG87RDk9MTk0OTIwNzgwOTtXOT04OTkwMjg0O2w5PTI7Zm9yKHZhciBWOT0xO3c1LkwxKFY5LnRvU3RyaW5nKCksVjkudG9TdHJpbmcoKS5sZW5ndGgsNTc4NTApIT09RDk7VjkrKyl7bDkrPTI7fWlmKHc1LkwxKGw5LnRvU3RyaW5nKCksbDkudG9TdHJpbmcoKS5sZW5ndGgsNTEwNjgpIT09Vzkpe315W3NvXT1aYy4kKDUpO289dGhpcy52ZSh0LGksbik7dGhpcy52ZShHcix5W3NvXSxHcik7eVtzb109bXU7cihvKTt9LGhlOnl1fSk7UWMuc2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZShQdT90OkZ1LGksbik7cz1mdW5jdGlvbigpe29bRWldW3VuXT10O307aXUuSyhvLGtuLHMpO29ba25dKCk7VHVbYm9dKCk7aW8ocywxMDApO3Iobyk7fSxoZTp5dX0pO1FjLm5lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5uZVtYdF09WmMueShRYy50ZVtYdF0se0ZlOmZ1bmN0aW9uKCl7dmFyIHQsZTtlPVpjLnooYXIse2RhdGE6WmMuTChlbitQZStNYyx0aGlzLkFlKStaYy4kKDMpfSk7cmV0dXJuKHQ9WmMueihoYyx7c3R5bGU6UGkrVnQrYStlcitvYytWdCtIcytlcitLYStWdCtIcytlcitEYStWdCtOK2VyK3ArVnQrRnIrSGErR3IrZXIrSGkrVnQrem4rZXIrayt3aStHYStWdCtYaStlciskbytWdCthK2VyK0dyfSkpW0l0K0dyK1dlXShlKSxbZSx0XTt9LFNlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMueSh0LHt9KTtyZXR1cm4gZVtwXT1lW0hpXT05ZTUsZVtvY109ZVtLYV09MSxlO30sQWU6THQrR3IrdGErR3IrRmMrR3IrUHMrR3Irb24rR3IrV2MrR3IreG8rR3IrJCtHcithaStHcituK0dyK1NhK0dyK0tyK0dyK1F0K0dyK2t0K0dyK3p0K0dyK3RjK0dyK1l0K0dyK3ZhK0dyK3MrR3IrdmErdWMraG4rR3IrTGErR3IrenQrR3IrVytHcitEYytHcitaYStHcittdCtHcitWaStHcitzYStHcitVZStHcitUYStHcit2YStHcitWaStHcitQcitHcit4bytHcitVZStHcitpYytHcitwbytHcitLcitHcitKK0dyK2hzK0dyK1ppK0dyK3ZhK0dyK1ByK0dyK0xhK0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrWGErR3IrVHMrR3IrWmkrR3IrdmErR3IrUHIrR3IrSGUrR3IrenQrR3IrVytHcitGYytHcit0YytHcityYytHcithZStHcit2aStHcit2YStHcitQcitHcitydCtHcitwcytHcittdCtHcituYStHcitUbytHcityZStHcit4bytHcit0YStHcitqaStHcitXK0dyK2F0K0dyK3ZhK0dyK1ByK0dyK2MrR3IrYit1YytFK0dyK1FvK0dyK3BzK0dyK2RjK0dyK1l0K0dyK3ZhK0dyK1lhK0dyK1hhK0dyK1RzK0dyK1ppK0dyK3ZhK0dyK0dlK0dyK09lK0dyK2dhK0dyK0hvK0dyK3ZhK0dyK1ByK0dyK2t0K0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrdmErR3Ircm4rdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitrdCtHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK09lK0dyK1krR3IrS3QrR3IreG8rR3IrVWUrR3IrYnMrR3IrRnQrR3IrUG8rR3IrRStHcitVZStHcitiaStHcitVZStHcitTZStHcitWcitHcitEcytHcit4bytHcitVZStHcitHbytHcit2YStHcitQdCtHcitVZStHcitScitHcit5YytHcitPZStHcitWbytHcitLcitHcit2YytHcitiZStHcitzK0dyK3hjK0dyK0tvK0dyK3IrR3IrYWkrR3IrZnQrdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitBZStHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK05hK0dyK1RzK0dyK010K0dyK2hyK0dyK1lzK0dyK0tzK0dyK0UrR3IrVWUrR3IrZm4rR3IrcmMrR3IrYWUrR3IrRCtHcitMdCtHcitWcitHcit0YStHcittdCtHcitacitHcitWcitHcitPZSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3ZhciBzLGEsYyx1LGg7dT10aGlzO2g9eXU7dHJ5eyhhPXRoaXMudmUoVWErVnQrY2ksRmkpKVttcl1bcnJdKHc1LnU0KHVyLEdyLEdyLGpvLFBlLHVpLEdyLFFyLEdyLFBlLG8sR3IsdWksdWksR3IsdXIsUGUsR3IsdXIsam8sR3IsdXIsbyx1aSxHcix1cixHcix1aSxRcix1cix1aSx3NS5ZNCgxMykpKTtpdS5LKGEscWEsZnVuY3Rpb24oKXtmdW5jdGlvbiBmKCl7bigpO2FbSW9dKCk7bygpO3JvKGMpO31ofHwoaD1ndSxzPWFbQmNdPUF1KFVhK1Z0K2NpLGksWmMuayh1LlNlKGUpKSksaXUuWChhLGJvLGYpLGM9aW8oZiwzZTMpLGFbbXJdW1FyXVtQYStHcithaStHcit4YytHcit6dCtHcitwYV09dS5GZSgpWzFdW1BuK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXSk7ZnVuY3Rpb24gbigpe3c1Llk0KDE0KTthW21yXVtRcl1bdzUudTQoUGEsenQsR3IsR3IsR3IseGMsR3IsYWkscGEpXT1Hcjt9ZnVuY3Rpb24gbygpe3ZhciBhMSxZMSxmMTthMT0tMTU2OTI3MTMyMDtZMT0yMzc1ODcyNDtmMT0yO2Zvcih2YXIgRDE9MTt3NS5MMShEMS50b1N0cmluZygpLEQxLnRvU3RyaW5nKCkubGVuZ3RoLDk0NDMyKSE9PWExO0QxKyspe3NbRWMlR3ItYmFdKGVbSGldLGVbcF0pO3NbZGElR3IqYmFdKGVbb2NdLGVbS2FdKTtzW0VpXVtaXSh0KTtyKHMpO2YxKz0yO31pZih3NS5kMShmMS50b1N0cmluZygpLGYxLnRvU3RyaW5nKCkubGVuZ3RoLDYyNDUzKSE9PVkxKXtzW0VjJUdyLWJhXShlW0hpXSxlW3BdKTtzW2RhJUdyKmJhXShlW29jXSxlW0thXSk7c1tFaV1bWl0odCk7cihzKTt9c1tFYytHcitiYV0oZVtIaV0sZVtwXSk7c1tkYStHcitiYV0oZVtvY10sZVtLYV0pO3NbRWldW1pdKHQpO3Iocyk7fX0pO31jYXRjaCh0KXt9fX0pO1FjLnJlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5yZVtYdF09WmMueShRYy5uZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG8scztzPVpjLk8oZ3UpO2l1LksoeSxibyxmdW5jdGlvbigpe1pjLlAocyk7b1tFaV1bWl0odCk7cihvKTt9KTt3NS5vNCg0KTtvPXRoaXMudmUodzUuYzQoVWEsVnQsY2kpLEZpKTtzW3RvK0dyK3lhXVttcl1bcnJdKHRoaXMuRmUoKVsxXVtQbitHcithaStHcit4YytHcit6dCtHcitwYV0pO319KTtRYy5pZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuaWVbWHRdPVpjLnkoUWMudGVbWHRdLHtMZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47aT10aGlzO249eXU7dzUubzQoNCk7ZT10aGlzLnZlKHc1LmM0KFVhLFZ0LGNpKSx0Lnd0fHxGaSx0LkJlfHxHcik7dC56ZSYmKGUmJmVbSW9dKCksbj1ndSk7IW4mJmUmJmlvKGZ1bmN0aW9uKCl7ZVtFaV1bdW5dPXQueHQ7dC5JZSYmaS5JZShlKTt9LDEwMCk7fSx1ZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47bj10aGlzO3RoaXMuamU9ZHJbTW5dKCk7dGhpcy5mZT10O2U9R2Mud2UoKTt3NS5vNCgxNSk7aT1aYy5CKGUsdzUuYzQoZ3QsR3IseGMsR3IsR3IsRmMseGMsR3IsZmMsR3IsVnIpKTsoZVtTYytHcittY109PT1PbiYmZVthYStHcitHaV0oanIpIT09RmkmJiFaYy5TKGUpfHxpJiYhWmMuUyhpKSkmJih0aGlzLmhlPWd1KTtpdS5YKHksSWUsZnVuY3Rpb24gdChlKXt0cnl7ZVtpZV0uamU9PT1uLmplJiZuLkxlKGVbaWVdKTtlW2llXS56ZSYmaXUuWih5LEllLHQpO31jYXRjaCh0KXt9fSk7fSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3RoaXMuSWU9cjt0aGlzLk1lKHtqZTp0aGlzLmplLEJlOm4sSWU6Z3UseHQ6dH0pO3RoaXMuTWUoe2plOnRoaXMuamUsemU6Z3UseHQ6VWErVnQrY2l9KTt9LGhlOnl1LE1lOmZ1bmN0aW9uKHQpe3lbSnQrR3IrWF0odCx5W0VpXVtSb10pO319KTtHYz17X2k6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5RaSgpK3RoaXMuSGkoKT5aYy5HKCk7fSxLaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm10LkplO30sSmU6ZnVuY3Rpb24oKXt2YXIgdDt0PVpjLngoYXJndW1lbnRzWzBdKT9hcmd1bWVudHNbMF06YXJndW1lbnRzO3JldHVybiB0aGlzLm5uKHQsUm4sdFtwaV0mJnRbMF09PT15dSk7fSxraTpmdW5jdGlvbih0LGUsaSxuKXt0aGlzLk9pKGksdCxndSl8fG4oZ3UseXUpO30sV2k6ZnVuY3Rpb24odCl7dHJ5e3JldHVybiB0W3F0XSYmMCE9PXRbcXRdfHx0aGlzLmNpLkcrMTUwPlpjLkcoKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LFJpOmZ1bmN0aW9uKCl7dGhpcy5XZT1bXTt9LFlpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQucWU7fSxVaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLldlO30sWmU6bXUsVGk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHx0aGlzLnFpKHQpKXtyZXR1cm4geXU7fWlmKCF0aGlzLm10LnFlW3BpXXx8dFthYStHcitHaV0obG8pPT09ZnUpe3JldHVybiBndTt9Zm9yKDtlPHRoaXMubXQucWVbcGldO2UrKylpZih0PT09dGhpcy5tdC5xZVtlXXx8dHlwZW9mIHRoaXMubXQucWVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5xZVtlXVtYcytHcitwcitHcituY10oKXx8WmMuSSh0LHRoaXMubXQucWVbZV0pKXx8WmMuQih0LHRoaXMubXQucWVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LHdlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueGUuUXQ7fSxMaTpmdW5jdGlvbigpe3ZhciB0LGU7ZT10aGlzO3RoaXMuWmU9WmMueihoYyx7c3R5bGU6b2MrVnQrRnIrSGErR3IrZXIrS2ErVnQrRnIrSGErR3IrZXIrRGErVnQrSXMrZXIrcCtWdCt6bitlcitIaStWdCt6bitlcitzbit3aStMK1Z0K25vK2VyK3h0K1Z0K1hpK2VyK0dyfSxHcik7dD1DbyhmdW5jdGlvbigpe3ZhciBpO2k9cmlbUXJdO2kmJihHcyh0KSxpW0l0K0dyK1dlXShlLlplKSk7fSwxMDApO30saGk6ZnVuY3Rpb24oKXt2YXIgTjksYTksWTksdCxlLGk7Tjk9LTUxNTA4MTc1NzthOT0tMTMwNjg1MTEzNztZOT0yO2Zvcih2YXIgczk9MTt3NS5kMShzOS50b1N0cmluZygpLHM5LnRvU3RyaW5nKCkubGVuZ3RoLDEwMDExKSE9PU45O3M5Kyspe1k5Kz0yO31pZih3NS5MMShZOS50b1N0cmluZygpLFk5LnRvU3RyaW5nKCkubGVuZ3RoLDQ1MzQ0KSE9PWE5KXt9aT10aGlzLlhlLm9pO2Zvcih0PTA7dDx0aGlzLmZpW3BpXSYmKCF0aGlzLnBpKCkmJiF0aGlzLl9pKCkpO3QrKyl7aWYoZT10aGlzLmZpW3RdLHRoaXMuWGUuc2krKyx0aGlzLlhlLm9pPVpjLkcoKSx0aGlzLmxpKGUpPT09eXUpe3JldHVybiB0aGlzLlhlLnNpLS0sdm9pZCh0aGlzLlhlLm9pPWkpO31pPXRoaXMuWGUub2k7ZXUuYShodSx0aGlzLlhlLm9pKTtlLnl0PT09bHUmJmV1LmEodXUsdGhpcy5YZS5zaSk7fX0sT2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBuLHIsbyxzO3c1Lm80KDQpO289dzUuYzQoR3IsVHQsR3IpO3c1Llk0KDIpO3M9dzUuYzQobyx0KTtmb3Iobj0wO248ZVtwaV07bisrKWlmKHI9KEdyK090K0dyK1R0K0dyKVtMK0dyK1dhXShlW25dWzBdKT4tMT9lW25dOm8rZVtuXSxzW2ZzXShzW3BpXS1yW3BpXSk9PT1yfHxpJiZyPT09d3Upe3JldHVybiBndTt9cmV0dXJuIHl1O30sZW46ZnVuY3Rpb24odCxlKXt2YXIgTDAsZDAsTzAsaSxuO0wwPTEyMjU5MjUxNjQ7ZDA9LTc2NDA0NzIyNjtPMD0yO2Zvcih2YXIgQzA9MTt3NS5MMShDMC50b1N0cmluZygpLEMwLnRvU3RyaW5nKCkubGVuZ3RoLDk4MzQ3KSE9PUwwO0MwKyspe08wKz0yO31pZih3NS5MMShPMC50b1N0cmluZygpLE8wLnRvU3RyaW5nKCkubGVuZ3RoLDg1NTk4KSE9PWQwKXt9aT10aGlzO249dGhpcy50bih0LGUpO3RoaXMuV2VbTXJdKG4pO3RoaXMuRGkobik7dGhpcy5pbnx8KEdjLkNpKCksZnVuY3Rpb24oKXt2YXIgdCxlO1hjLmImJigoZT1yaVtVcytHcitDbl0oaGMpKVtSYytHcitpdF0oVmEsZnVuY3Rpb24oKXtDdT1ndTt9KSxDdT1vNSx0PUNvKGZ1bmN0aW9uKCl7aWYoQ3U9eXUsIWkubXQuUmUpe2lmKHR5cGVvZiB5W3dzXSE9PWFyfHx0eXBlb2YgeVt3c11bT29dIT09WnMpe3JldHVybiBDdT1vNSx2b2lkIEdzKHQpO315W3dzXVtPb10oZSk7eVt3c11bTWldKCk7fX0sNTAwKSk7fSgpLHRoaXMuaW49bzUpO30sUGk6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuSmkoKSx0P3RoaXMuZmlbcGldOnRoaXMuZmlbcGldPjA7fSx2aTpmdW5jdGlvbigpe3ZhciB0LGU7dD1aYy5HKCk7ZT1aYy5HKGF1KTt3NS5ZNCgxNik7dGhpcy5YZS5yaT13NS5jNChlLHQsMzE1MzYwMDAwMDApO3RoaXMuWGUucmkmJih0aGlzLmxpPWt1KTt9LEJpOmZ1bmN0aW9uKCl7dmFyIHQ7dD1VYyhldS5jKGh1KSwxMCk7cWModCkmJih0PTApO3RoaXMuWGUub2k9dDt9LENlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMuTih0KTtyZXR1cm4gZSYmIXRoaXMubXQuTmUmJlpjLlModCk/eXU6ZTt9LGp0OmZ1bmN0aW9uKHQpe3ZhciBlLGksbjtlPXR5cGVvZiB0PT09Z2U/Z3U6ISF0O3c1Lm80KDIpO2k9dzUuYzQocnUsSSk7bj1yaVthYStHcitDbitHcitpaStHcit0bl0oaSk7ZT9ufHwobj1aYy56KERvLHtjb250ZW50OkljK3dpK2lhLG5hbWU6aWEsaWQ6aX0pLHJpW2FhK0dyK1JlK0dyK2lpK0dyK1JpK0dyK21jXShvKVswXVtJdCtHcitXZV0obikpOm4mJlpjLlAobik7fSxHaTpmdW5jdGlvbigpe3RoaXMuWGUuaWk9Z3U7dGhpcy5oaT1rdTt9LEp0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQuRGU7fSx5aTpmdW5jdGlvbih0LGUsaSxuLHIpe2Zvcih2YXIgbyxzPTA7czxlJiYobz10W3NdLCEoMT09PW4mJihyKGlbcytlXSx0W3NdKmlbc10rcysoaVtzXT4+cyszKSl8fHIoaVtzKzIqZV0sdFtzXSoodFswXSt0WzFdK3RbMl0pKyhpW3NdPDxzKSl8fHIoaVtzKzMqZV0sZHJbQWNdKHRbMF0qdFsxXSp0WzJdL28pK28rKGlbc10+PnMpKSl8fG48MSYmKHIoaVtzK2VdLHRbc10qaVtzXStzKXx8cihpW3MrMiplXSx0W3NdKih0WzBdK3RbMV0rdFsyXSkpfHxyKGlbcyszKmVdLGRyW0FjXSh0WzBdKnRbMV0qdFsyXS9vKStvKSkpKTtzKyspO30scWk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHwhdGhpcy5tdC5KZVtwaV0pe3JldHVybiB5dTt9Zm9yKDtlPHRoaXMubXQuSmVbcGldO2UrKylpZih0PT09dGhpcy5tdC5KZVtlXXx8dHlwZW9mIHRoaXMubXQuSmVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5KZVtlXXx8WmMuSSh0LHRoaXMubXQuSmVbZV0pKXx8WmMuQih0LHRoaXMubXQuSmVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LGNpOnt1aTp7fSxHOjB9LEhpOmZ1bmN0aW9uKCl7cmV0dXJuIFhjLm90P2RyW0JvXSh0aGlzLm10LlZlLDFlMyk6WGMuYnx8WGMuZ3x8WGMuY3R8fFhjLnV0JiYhWGMuZXQ/ZHJbQm9dKHRoaXMubXQuVmUsMjAwKTp0aGlzLm10LlZlO30sRWU6ZnVuY3Rpb24odCl7dmFyIGUsWjcsdDcsVTc7Wjc9LTEyNTc1NDEyNDI7dDc9MTMwMDY1ODcyMDtVNz0yO2Zvcih2YXIgejc9MTt3NS5MMSh6Ny50b1N0cmluZygpLHo3LnRvU3RyaW5nKCkubGVuZ3RoLDgzNTc3KSE9PVo3O3o3Kyspe2U9dHx8dGhpcy5jaS51aTtVNys9Mjt9aWYodzUuZDEoVTcudG9TdHJpbmcoKSxVNy50b1N0cmluZygpLmxlbmd0aCwzMDU1KSE9PXQ3KXtlPXQmJnRoaXMuY2kudWk7fXRyeXtlW01vK0dyK25pXSYmZVtNbytHcituaV0oKTtlW3FlK0dyK19zXSYmZVtxZStHcitfc10oKTt3NS5vNCg0KTtlW3c1LmM0KE5yLEdyLGNvKV09eXU7dzUubzQoNCk7ZVt3NS51NChtcyxHcixIcildPWd1O31jYXRjaCh0KXt9fSxpOmZ1bmN0aW9uKCl7dmFyIE8xLEcxLEMxO08xPS0xMzAyMzI0NTE3O0cxPTg4ODY0MDYzMDtDMT0yO2Zvcih2YXIgbjE9MTt3NS5kMShuMS50b1N0cmluZygpLG4xLnRvU3RyaW5nKCkubGVuZ3RoLDU5MTU1KSE9PU8xO24xKyspe3JldHVybiB0aGlzLm10LlVlfHx0aGlzLm10LkRlO0MxKz0yO31pZih3NS5MMShDMS50b1N0cmluZygpLEMxLnRvU3RyaW5nKCkubGVuZ3RoLDIzODAyKSE9PUcxKXtyZXR1cm4gdGhpcy5tdC5VZSYmdGhpcy5tdC5EZTt9fSxwaTpmdW5jdGlvbigpe3ZhciBoNyxpNyxMNztoNz0tMTUxMTEyMzE1NDtpNz0tMTY3MjAwNTI5NjtMNz0yO2Zvcih2YXIgTzc9MTt3NS5kMShPNy50b1N0cmluZygpLE83LnRvU3RyaW5nKCkubGVuZ3RoLDMyNTMzKSE9PWg3O083Kyspe3JldHVybiB0aGlzLiRpKCk8dGhpcy5tdC5IZTtMNys9Mjt9aWYodzUuTDEoTDcudG9TdHJpbmcoKSxMNy50b1N0cmluZygpLmxlbmd0aCwxOTk5KSE9PWk3KXtyZXR1cm4gdGhpcy4kaSgpPj10aGlzLm10LkhlO319LGdpOmZ1bmN0aW9uKHQsZSxpLG4scil7Zm9yKHZhciBvLHM9MDtzPGUmJihvPXRbc10sISgxPT09biYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzErKGlbc108PGlbc10lMTApLGlbZStzXSl8fHIob1trZStHcitucytHcitCaV0ob1twaV0tMSkqaVtzXSoyK3MrKGlbc10+PnMpLGlbMiplK3NdKXx8cihvW3BpXSppW3NdKjMrKGlbc108PHMpLGlbMyplK3NdKSl8fG48MSYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzEsaVtlK3NdKXx8cihvW2tlK0dyK25zK0dyK0JpXShvW3BpXS0xKSppW3NdKjIrcyxpWzIqZStzXSl8fHIob1twaV0qaVtzXSozLGlbMyplK3NdKSkpKTtzKyspO30sV2U6W10sdG46ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IFljKHRoaXMuV2VbcGldLHQsZSk7fSxBaTpmdW5jdGlvbih0KXt0aGlzLmNpLnVpPXQ7dGhpcy5jaS5HPVpjLkcoKTt9LGFpOltdLE1pOmZ1bmN0aW9uKHQpe3JldHVybiBudS5YdCh0KSx0aGlzO30sWmk6ZnVuY3Rpb24oKXtyZXR1cm4gWmMucChbW1RyLHRoaXMubXQuRGVdLFtvaSx0aGlzLm10LlVlXSxbd3QsdGhpcy5tdC5SZV0sW0xyK0dyK3plLHRoaXMubXQuT2VdLFtSbitHcitFbix0aGlzLm10Lk5lXSxbRHQsdGhpcy5tdC5IZV0sW2xjK0dyK2JhLHRoaXMubXQucWVdLFtSbitHcitiYSx0aGlzLm10LkplXSxbUW4sdGhpcy5tdC5WZV0sW3crR3IrVix0aGlzLm10LiRlXSxbdytHcitEbix0aGlzLm10LlFlXSxbcG4rR3IrdHIrR3IrTG4sdGhpcy5tdC5HZV0sW0JzK0dyK2wrR3IrU3MsdGhpcy5tdC4kdF0sW05zK0dyKyRyLHRoaXMubXQuWWVdLFtJYytHcitwYytHcitfaSx0aGlzLm10LmJlXSxbTHMrR3IrYnQsdGhpcy5tdC5LZV0sW0IrR3IrdmUrR3IrX28rR3IreW4rR3IrTG4sdGhpcy5tdC5QZV1dKTt9LFRlOmZ1bmN0aW9uKHQpe3ZhciBlLGk7aT1aYy5PKGd1KTtyZXR1cm4gZT1pW3RvK0dyK3lhXVttcl1bVXMrR3IrQ25dKGRlKSwwPT09eVtFaV1bdW5dW0wrR3IrV2FdKGorVnQrR3IpP2VbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPUdyKyhXcitZZStHcit3bitHcikrKGYrVHQrUytUdCthYStHcitaZStHcitRaStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKTplW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoV3IrWWUrR3Ird24rR3IpKyhZcitUdCtjYStHcitfZStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSxpW3RvK0dyK3lhXVttcl1bUXJdW0l0K0dyK1dlXShlKSx0eXBlb2YgdCE9PVd0JiZ0eXBlb2YgdCE9PWdlfHxpbyhmdW5jdGlvbigpe1pjLlAoaSk7fSx0fHw1MDApLGk7fSxOaTpmdW5jdGlvbigpe3ZhciBvMSx3MSxwMTtvMT0tMjExMjgyOTI0MDt3MT00MjIxODMwODI7cDE9Mjtmb3IodmFyIHEwPTE7dzUuZDEocTAudG9TdHJpbmcoKSxxMC50b1N0cmluZygpLmxlbmd0aCwzNTgxNCkhPT1vMTtxMCsrKXtmb3IodmFyIHQsZT02O2U8PXRoaXMuV2VbcGldO2UtLSl7dD10aGlzLldlW2VdO3R1LnUodC5tdC5idCk7fXRoaXMuWGUub2k9dGhpcy5YZS5zaT00O2V1LnUodXUpO2V1LnUoY3UpO2V1LnUoaHUpO3AxKz0yO31pZih3NS5MMShwMS50b1N0cmluZygpLHAxLnRvU3RyaW5nKCkubGVuZ3RoLDUxMjkxKSE9PXcxKXtmb3IodmFyIHQsZT0yO2U8dGhpcy5XZVtwaV07ZSsrKXt0PXRoaXMuV2VbZV07dHUudSh0Lm10LmJ0KTt9dGhpcy5YZS5vaT10aGlzLlhlLnNpPTM7ZXUudSh1dSk7ZXUudShjdSk7ZXUudShodSk7fWZvcih2YXIgdCxlPTA7ZTx0aGlzLldlW3BpXTtlKyspe3Q9dGhpcy5XZVtlXTt0dS51KHQubXQuYnQpO310aGlzLlhlLm9pPXRoaXMuWGUuc2k9MDtldS51KHV1KTtldS51KGN1KTtldS51KGh1KTt9LHppOmZ1bmN0aW9uKCl7dmFyIHQ7dD0wO3JldHVybiBldS5zKCk/KHQ9ZXUuYyh1dSksZXUudSh1dSkpOnR1LmModXUpJiYocmlbaWFdPT09UnRbdW5dfHx+UnRbdW5dW0wrR3IrV2FdKEdyK3NlK0dyK3R1LmMoY3UpKSkmJih0PXR1LmModXUpLGlvKGZ1bmN0aW9uKCl7dHUudSh1dSk7dHUudShjdSk7fSwzMDApKSx0PVVjKHQsMTApLHQ9cWModCk/MDp0LHRoaXMuWGUuc2k9dDt9LG10OntOZTpndSxLZTp5dSxKZTpbXSxWZTowLCR0OmJ1LCRlOltdLERlOnl1LE9lOkZ1LEhlOjk5OTksUmU6eXUscWU6W10sWWU6MTAsVWU6eXUsUWU6Z3UsUGU6eXUsYmU6eXUsR2U6Z3V9LCRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuWGUuc2k7fSxRaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLlhlLm9pO30sYmk6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhLGMsdSxuOSxGOSxnOTtzPXRoaXM7YT0wO2M9dGhpcy5YZTt1PWZ1bmN0aW9uKHQsZSl7dmFyIFA5LEo5LFg5O1A5PTMyNTI1NjI2O0o5PS05NTA1MjQwNDM7WDk9Mjtmb3IodmFyIFM5PTE7dzUuTDEoUzkudG9TdHJpbmcoKSxTOS50b1N0cmluZygpLmxlbmd0aCw0ODQ5MykhPT1QOTtTOSsrKXtyZXR1cm4gdD09PWV8fChjLm5pPWd1LHMubGk9a3UpLHQhPWU7WDkrPTI7fWlmKHc1LkwxKFg5LnRvU3RyaW5nKCksWDkudG9TdHJpbmcoKS5sZW5ndGgsNTM4MDApIT09Sjkpe3JldHVybiB0IT09ZSYmKGMubmk9Z3Uscy5saT1rdSksdCE9PWU7fX07aWYodHlwZW9mIHlbcnVdW2FyXSE9PWdlKXtjLm5pPW11O3Q9eVtydV1bYXJdW1huXSgpO2U9eVtydV1bYXJdW1huXSgpO2k9eVtydV1bYXJdW1huXSgpO249eVtydV1bYXJdW1huXSgpO3I9WmMuRigoeVtydV1bYXJdW1huXSgpfHx7c3JjOm51bGx9KVtYcl0pO289WmMuRih4dVtYcl0pO3RyeXtuOT0xNDUwNjEyMjI1O0Y5PS01NjY0Nzc2Nzc7Zzk9Mjtmb3IodmFyIFI5PTE7dzUuZDEoUjkudG9TdHJpbmcoKSxSOS50b1N0cmluZygpLmxlbmd0aCwyODY5NSkhPT1uOTtSOSsrKXthPXlbcnVdW2FyXVtYbl0oKSYmNztnOSs9Mjt9aWYodzUuZDEoZzkudG9TdHJpbmcoKSxnOS50b1N0cmluZygpLmxlbmd0aCwzODQzOCkhPT1GOSl7YT15W3J1XVthcl1bWG5dKCkmJjc7fWE9eVtydV1bYXJdW1huXSgpfHwwO31jYXRjaCh0KXt9YT1kcltCb10oMCxkcltrYV0oMSxhKSk7dGhpcy5taSh0LG8scix1KTt0aGlzLmdpKHQsdFtwaV0sZSxhLHUpO3RoaXMueWkoaSxpW3BpXSxuLGEsdSk7dGhpcy5raSh0LHRbcGldLFpjLkYoKSx1LHUpO3RoaXMud2koaSxaYy5HKCkpO2Mubmk9PT1tdSYmKGMubmk9eXUpO31jLnhpPWF8fDA7fSxFaTpmdW5jdGlvbih0LGUpe3ZhciBkOSxPOSxHOTtkOT04MzA2MTMyMTE7Tzk9MTQwNDM5MjY4MztHOT0yO2Zvcih2YXIgazk9MTt3NS5kMShrOS50b1N0cmluZygpLGs5LnRvU3RyaW5nKCkubGVuZ3RoLDE2MDEwKSE9PWQ5O2s5Kyspe3RoaXMueGUuUXQ9dDt0aGlzLnhlLlM9ZTtHOSs9Mjt9aWYodzUuZDEoRzkudG9TdHJpbmcoKSxHOS50b1N0cmluZygpLmxlbmd0aCw3Njg2OSkhPT1POSl7dGhpcy54ZS5RdD10O3RoaXMueGUuUz1lO319LFhpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbix1OSx5OSxIOTtuPXR8fHt9O2ZvcihlIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixlKSlzd2l0Y2godGhpcy5tdFtlXT1pPW5bZV0sZSl7Y2FzZSBUcjp0aGlzLm10LkRlPWk7YnJlYWs7Y2FzZSBvaTp0aGlzLm10LlVlPWk7YnJlYWs7Y2FzZSB3dDp0aGlzLm10LlJlPWk7YnJlYWs7Y2FzZSBMcitHcit6ZTp0aGlzLm10Lk9lPWk7YnJlYWs7Y2FzZSBSbitHcitFbjp0aGlzLm10Lk5lPWk7YnJlYWs7Y2FzZSBEdDp0aGlzLm10LkhlPWk7YnJlYWs7Y2FzZSBsYytHcitiYTp0aGlzLnFlW29hXSh0aGlzLGkpO2JyZWFrO2Nhc2UgUm4rR3IrYmE6dGhpcy5KZVtvYV0odGhpcyxpKTticmVhaztjYXNlIFFuOnRoaXMubXQuVmU9aTticmVhaztjYXNlIHcrR3IrVjp0aGlzLm10LiRlPWk7YnJlYWs7Y2FzZSB3K0dyK0RuOnRoaXMubXQuUWU9aTticmVhaztjYXNlIHBuK0dyK3RyK0dyK0xuOnRoaXMubXQuR2U9aTticmVhaztjYXNlIEJzK0dyK2wrR3IrU3M6dGhpcy5tdC4kdD1pO2JyZWFrO2Nhc2UgTnMrR3IrJHI6dGhpcy5tdC5ZZT1pO2JyZWFrO2Nhc2UgSWMrR3IrcGMrR3IrX2k6dGhpcy5tdC5iZT1pO2JyZWFrO2Nhc2UgTHMrR3IrYnQ6dGhpcy5tdC5LZT1pO2JyZWFrO2Nhc2UgQitHcit2ZStHcitfbytHcit5bitHcitMbjp0aGlzLm10LlBlPWk7fXU5PTE1MDY0OTg2ODA7eTk9NjExNzc3ODY1O0g5PTI7Zm9yKHZhciBUOT0xO3c1LkwxKFQ5LnRvU3RyaW5nKCksVDkudG9TdHJpbmcoKS5sZW5ndGgsNjMyMykhPT11OTtUOSsrKXtyZXR1cm4gdGhpcztIOSs9Mjt9aWYodzUuZDEoSDkudG9TdHJpbmcoKSxIOS50b1N0cmluZygpLmxlbmd0aCw2MzczOSkhPT15OSl7cmV0dXJuIHRoaXM7fX0saGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksZzcsTTcsUjc7Zzc9LTM5MDQ0MjA2O003PS0xNjI0Njc4MzI1O1I3PTI7Zm9yKHZhciBKNz0xO3c1LkwxKEo3LnRvU3RyaW5nKCksSjcudG9TdHJpbmcoKS5sZW5ndGgsNTI1MzkpIT09Zzc7SjcrKyl7ZT10aGlzLndlKCk7aT10aGlzLmNpLnVpO1I3Kz0yO31pZih3NS5MMShSNy50b1N0cmluZygpLFI3LnRvU3RyaW5nKCkubGVuZ3RoLDg0NzUzKSE9PU03KXtlPXRoaXMud2UoKTtpPXRoaXMuY2kudWk7fXRyeXsodD1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0oZ3MsZ3UsZ3UseSwxLGlbT2krR3IrVWVdLGlbT2krR3IreG9dLGlbSGMrR3IrVWVdLGlbSGMrR3IreG9dLHl1LHl1LHl1LHl1LDAsbXUpO3RbVW9dPWd1O2VbZ24rR3IrQ2FdKHQpO31jYXRjaCh0KXtLYy5lKHQpO319LFZpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuUGkobzUpO30sU2k6ZnVuY3Rpb24oKXt2YXIgdCxpLG4scixvLHM7cj10aGlzO289NTAwO3M9ZnVuY3Rpb24odCxlKXt2YXIgaSxuO249WGMuYj9lYzpnczsoaT1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0obixndSxndSx5LDEsZVtPaStHcitVZV0sZVtPaStHcit4b10sZVtIYytHcitVZV0sZVtIYytHcit4b10seXUseXUseXUseXUsMCxtdSk7aS5mYz1ndTt0W2duK0dyK0NhXShpKTt9O2l1LlgocmksJHQsZnVuY3Rpb24ocil7dmFyIG8sRjEsZzEsTTE7dzUubzQoNCk7bz1yW3c1LnU0KHNyLEdyLGUpXVswXTtGMT05NTkwNTM3NzY7ZzE9LTE3NzY2NDMwNTc7TTE9Mjtmb3IodmFyIFAxPTE7dzUuZDEoUDEudG9TdHJpbmcoKSxQMS50b1N0cmluZygpLmxlbmd0aCw4NTkzNCkhPT1GMTtQMSsrKXt3NS5vNCgxOCk7dD1yW3c1LnU0KG9zLEpzLEdyKV07dzUuWTQoMTkpO2k9b1t3NS51NChHcixmbyxVZSldO3c1Lm80KDIwKTtuPW9bdzUuYzQoeG8sZm8sR3IpXTtNMSs9Mjt9aWYodzUuTDEoTTEudG9TdHJpbmcoKSxNMS50b1N0cmluZygpLmxlbmd0aCwxMTM5OCkhPT1nMSl7dzUubzQoMjEpO3Q9clt3NS5jNChvcyxKcyxHcildO3c1Llk0KDIyKTtpPW9bdzUuYzQoR3IsVWUsZm8pXTt3NS5vNCg2KTtuPW9bdzUuYzQoR3IseG8sZm8pXTt9dzUubzQoNCk7dD1yW3c1LnU0KG9zLEdyLEpzKV07dzUuWTQoNCk7aT1vW3c1LmM0KGZvLEdyLFVlKV07dzUubzQoNCk7bj1vW3c1LnU0KGZvLEdyLHhvKV07fSxndSk7aXUuWChyaSx2LGZ1bmN0aW9uKGEpe3ZhciBjLHUsaCxTMCxOMCxhMDtTMD0xMTI5ODE1NDEyO04wPS00NTk2NDE3MTE7YTA9Mjtmb3IodmFyIGYwPTE7dzUuZDEoZjAudG9TdHJpbmcoKSxmMC50b1N0cmluZygpLmxlbmd0aCw5MDQxMCkhPT1TMDtmMCsrKXt3NS5vNCg0KTtjPWFbdzUuYzQoc3IsR3IsZSldWzBdO3U9aXUudHQoYSk7aD1yLm10LlllO2EwKz0yO31pZih3NS5MMShhMC50b1N0cmluZygpLGEwLnRvU3RyaW5nKCkubGVuZ3RoLDUxODk1KSE9PU4wKXt3NS5ZNCg2KTtjPWFbdzUudTQoR3IsZSxzcildWzRdO3U9aXUudHQoYSk7aD1yLm10LlllO31kcltGc10oY1tmbytHcitVZV0taSk+PWh8fGRyW0ZzXShjW2ZvK0dyK3hvXS1uKT49aHx8YVtvcytHcitKc10tdD5vfHxyLm10LlllPD0wfHxYYy5odCYmRGlbaXJdKHVbU2MrR3IrbWNdKXx8ci5YZS5paXx8ci5YZS5uaXx8ci5YZS5yaXx8ci5waSgpfHxyLl9pKCl8fCFyLlBpKCl8fCFyLlRpKHUpfHwhci5tdC5OZSYmWmMuUyh1KXx8KHVbU2MrR3IrbWNdPT09T24mJnIuRWUoYSkscyh1LGMpKTt9LGd1KTt9LG1pOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByLG87bz15dTtmb3Iocj0wO3I8dFtwaV07cisrKWlmKHRbcl09PT13dSl7bz1ndTticmVhazt9byYmKGV8fGkpJiYoIXRoaXMuT2koZSx0KXx8IXRoaXMuT2koaSx0KXx8eVtydV1bdW5dJiZ5W3J1XVt1bl1bcGldJiYhdGhpcy5PaShaYy5GKCkseVtydV1bdW5dKSkmJm4oZ3UseXUpO30seGU6e1F0Om11LFM6eXV9LHFlOmZ1bmN0aW9uKCl7dmFyIHQ7dD1aYy54KGFyZ3VtZW50c1swXSk/YXJndW1lbnRzWzBdOmFyZ3VtZW50cztyZXR1cm4gdGhpcy5ubih0LGxjLHRbcGldJiZ0WzBdPT09eXUpO30sd2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBXMSxsMSxjMTtXMT0xMTQ2NjMzOTY5O2wxPTU4MTgzMzU3NjtjMT0yO2Zvcih2YXIgdTE9MTt3NS5kMSh1MS50b1N0cmluZygpLHUxLnRvU3RyaW5nKCkubGVuZ3RoLDY5ODkxKSE9PVcxO3UxKyspe1pjLkcodFtOaV0oR3IrUGUrR3IpKTxlJiZpKGd1LHl1KTtjMSs9Mjt9aWYodzUuZDEoYzEudG9TdHJpbmcoKSxjMS50b1N0cmluZygpLmxlbmd0aCw0ODMyNikhPT1sMSl7WmMuRyh0W05pXShHciVQZSVHcikpPj1lfHxpKGd1LHl1KTt9fSxDaTpmdW5jdGlvbigpe3ZhciByLG8scyxhLGMsdSxoLGYscCxfO2Z1bmN0aW9uIHQoKXt2YXIgdCxlO3c1Lm80KDE3KTtlPVt3NS51NChIbixUdCxHcixFbixHcixDYSxKYSksdzUuYzQoeG4sVHQsR3IsRW4sR3IsQ2EsSmEsdzUubzQoMTcpKSx3NS5jNChKYSxUdCxRYSx3NS5ZNCg0KSksdzUuYzQoQ24sR3IsVXMsbXIsVHQsdzUubzQoMSkpLHc1LnU0KFdlLEdyLHhuLG1yLFR0LHc1Llk0KDEpKV07Zm9yKHQ9MDt0PGVbcGldO3QrKylpZihaYy5sKGVbdF0pKXtyZXR1cm4gS2MuZSh0LFpjLmwoZVt0XSkpLGd1O31yZXR1cm4geXU7fWZ1bmN0aW9uIGkoaSl7dT0yO198fChfPWd1LGlvKGZ1bmN0aW9uKCl7Xz15dTt9LFhjLm90PzUwMDoxNTApLEN1JiYhcC5VZXx8KHI9aXUudHQoaSksbz1aYy5CKHIsT24pLGM9WmMuUyhyKSxyW2FhK0dyK0dpXShsbyk9PT1mdT8oclt4ZV1beHRdPVhpLFpjLlAocikscj1pdS50dChpLGd1KSk6byYmKHM9KHI9bylbYWErR3IrR2ldKFRpKSxhPVpjLk4ociksYz1aYy5TKHIpKSxmLkVpKHIsYyksZi5YZS5paXx8Zi5YZS5uaXx8Zi5YZS5yaXx8aVtVb118fGUoZi5jaS51aVtPXSYmZi5jaS51aVtPXSE9PWlbT10pfHxlKHAuS2UmJiFFdSl8fGUoIWlbSGMrR3IrVWVdJiYhaVtIYytHcit4b10pfHxlKCFYYy5vdCYmIVhjLmcmJnR5cGVvZiBpW3F0XSE9PWdlJiYwIT09aVtxdF0pfHxlKCFYYy5vdCYmIWYuWmUmJihYYy5jdHx8WGMuYnx8WGMudXQpKXx8ZSghWGMub3QmJiFwLkdlJiYoWGMuYnx8WGMudXQpJiZzPT09RmkpfHxlKGYucGkoKSl8fGUoZi5faSgpKXx8ZSghZi5QaSgpKXx8ZSghZi5UaShyKSl8fGUoYyYmIXAuTmUpfHxlKCFwLlJlJiZ0KCkpfHwoZi5BaShpKSxYYy5ldCYmbyYmYSYmZi5FZShpKSxYYy5vdHx8IW98fGN8fChYYy5iJiZzIT09RmkmJlpjLlkoKXx8cC5HZSYmcz09PUZpJiYoWGMuYnx8WGMudXQpKSYmZi5FZShpKSxmLkZpPW11LGYuaGkoKSkpKTt9Zj10aGlzO3A9Zi5tdDtfPXl1O2Z1bmN0aW9uIGUodCl7cmV0dXJuKyt1LHQmJktjLmUodSksdDt9cC5SZXx8IXQoKT8oaD1YYy5kfHxYYy5nP3FhOmVjLGZ1bmN0aW9uKCl7aXUuWChyaSxncyxpLGd1KTtYYy5vdD8oaXUuWChyaSxlYyxuLGd1KSxpdS5YKHJpLHFhLG4sZ3UpKTppdS5YKHJpLGgsbixndSk7fSgpLHRoaXMuU2koKSx0aGlzLmppKCksdGhpcy5MaSgpLHRoaXMuemkoKSx0aGlzLkJpKCkpOktjLmUoeXUpO2Z1bmN0aW9uIG4odCl7cj1vPWM9cz1hPW11OyFYYy5vdCYmdFtIYytHcitVZV0rKFhjLm50PzE3OjE1KT55W1BhK0dyK2ddP3AuUWUmJigocj17fSkuc2Nyb2xsYmFyPWd1LGYuRWkocix5dSksZi5waSgpfHxmLl9pKCl8fCFmLlBpKCl8fGYuaGkoKSk6aSh0KTt9fSxsaTpmdW5jdGlvbih0KXtpZih0aGlzLlhlLmlpfHx0aGlzLlhlLm5pfHx0aGlzLlhlLnJpKXtyZXR1cm4geXU7fXN3aXRjaCh0Lnl0KXtjYXNlIF91Om5ldyBRYy5tZSh0KS5wZSgpO2JyZWFrO2Nhc2UgZHU6bmV3IFFjLmdlKHQpLnBlKCk7YnJlYWs7Y2FzZSBsdTpuZXcgUWMueWUodCkucGUoKTticmVhaztjYXNlIHB1OnRyeXtuZXcoUWMuZHQoKSkodCkucGUoKTt9Y2F0Y2godCl7S2MuZSh0KTt9fXJldHVybiB0LnF0KCksZ3U7fSxqaTpmdW5jdGlvbigpe3ZhciB0LGUsaSxuLHIsbztuPXRoaXM7cj17fTtvPWZ1bmN0aW9uKHQpe2ZvcihlPTA7ZTx0W3BpXTtlKyspe24uTWkodFtlXSk7fX07Q28oZnVuY3Rpb24oKXt2YXIgZTtmb3IodD0wO3Q8bi5tdC4kZVtwaV07dCsrKXtpZihlPW4ubXQuJGVbdF0sKGk9cmlbYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGUpKVtwaV0mJm4ucGkoKXx8IW4uUGkoKSl7cmV0dXJuO310eXBlb2YgcltlXSE9PWdlJiZyW2VdPT09aVtwaV18fG8oaSk7fX0sMWUzKTt9LElpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbixyLG8scyxlOSxqOSxaOTtvPTI7cz15dTtmb3IoZT0wO2U8PW87ZSsrKXtpZigobj1yaVt3citHcitqbitHcitMY10odFtIYytHcitVZV0rZSx0W0hjK0dyK3hvXSkpJiZuW1NjK0dyK21jXT09PXBhK0dyK09uK0dyK0ZjK0dyK1BzK0dyK3BhKXtzPWd1O2JyZWFrO31mb3IoaT0wO2k8PW87aSsrKWlmKChuPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXStlLHRbSGMrR3IreG9dK2kpKSYmbltTYytHcittY109PT1wYStHcitPbitHcitGYytHcitQcytHcitwYSl7cz1ndTticmVhazt9aWYocylicmVhazt9aWYocylmb3Iocz15dSxyPW5bYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGVpKSxlPTA7ZTxyW3BpXTtlKyspaWYoWmMuVShyW2VdKSl7cz1ndTticmVhazt9ZTk9MTI0NjQ2Mzc5O2o5PTE4ODY4MTA5NztaOT0yO2Zvcih2YXIgVTk9MTt3NS5MMShVOS50b1N0cmluZygpLFU5LnRvU3RyaW5nKCkubGVuZ3RoLDU5MDM1KSE9PWU5O1U5Kyspe3JldHVybiBzP246eXU7WjkrPTI7fWlmKHc1LmQxKFo5LnRvU3RyaW5nKCksWjkudG9TdHJpbmcoKS5sZW5ndGgsNDQ5MzkpIT09ajkpe3JldHVybiBzP246eXU7fX0sRGk6ZnVuY3Rpb24oKXtpZighdGhpcy5YZS5laSl7dGhpcy5YZS5laT1ndTt0cnl7dGhpcy52aSgpO3RoaXMuYmkoKTt9Y2F0Y2godCl7fUtjLmUoW3RoaXMuWGUubmk/MDoxLHRoaXMuWGUucmk/MDoxLHRoaXMuWGUueGldW05pXShHcikpO319LFhlOnt0aTp5dSxuaTpndSxlaTp5dSxvaTowLHJpOmd1LHNpOjAsaWk6eXV9LG5uOmZ1bmN0aW9uKHQsZSxpKXtmb3IodmFyIG4scj0wLG89ZT09PVJuP3RoaXMubXQuSmU6dGhpcy5tdC5xZTtpJiZvW3BpXTspe29bQnNdKCk7fWZvcig7cjx0W3BpXTtyKyspe3R5cGVvZihuPXRbcl0pPT09VGM/b1tNcl0obik6dHlwZW9mIG49PT1hciYmdHlwZW9mIG5bd2ErR3IrbWNdPT09VGMmJm9bTXJdKG4pO31yZXR1cm4gdGhpczt9LEppOmZ1bmN0aW9uKCl7dmFyIHkxLEgxLHYxLHQsZTt5MT0xNzAzNzYyNDUyO0gxPTEyMTk1OTkwMzk7djE9Mjtmb3IodmFyIEUxPTE7dzUuZDEoRTEudG9TdHJpbmcoKSxFMS50b1N0cmluZygpLmxlbmd0aCwzODk3NykhPT15MTtFMSsrKXtlPTY7Zm9yKHRoaXMuZmk9W107ZT49dGhpcy5XZVtwaV07ZS0tKXsodD10aGlzLldlW2VdKS5MdCgpfHx0aGlzLmZpW01yXSh0KTt9djErPTI7fWlmKHc1LmQxKHYxLnRvU3RyaW5nKCksdjEudG9TdHJpbmcoKS5sZW5ndGgsMjE2MzkpIT09SDEpe2U9MTtmb3IodGhpcy5maT1bXTtlPnRoaXMuV2VbcGldO2UrKyl7KHQ9dGhpcy5XZVtlXSkuTHQoKSYmdGhpcy5maVtNcl0odCk7fX1lPTA7Zm9yKHRoaXMuZmk9W107ZTx0aGlzLldlW3BpXTtlKyspeyh0PXRoaXMuV2VbZV0pLkx0KCkmJnRoaXMuZmlbTXJdKHQpO31yZXR1cm4gdGhpcy5maTt9LGRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2kudWk7fX07aXUuWCh5LFN0LGZ1bmN0aW9uKCl7dmFyIFg3LEI3LFM3O1g3PTIwMTA5MDA5MDY7Qjc9LTE2OTQwNjQ1NTI7Uzc9Mjtmb3IodmFyIGE3PTE7dzUuTDEoYTcudG9TdHJpbmcoKSxhNy50b1N0cmluZygpLmxlbmd0aCwxNDk3OSkhPT1YNzthNysrKXtFdT0hMTtTNys9Mjt9aWYodzUuZDEoUzcudG9TdHJpbmcoKSxTNy50b1N0cmluZygpLmxlbmd0aCw2MjI0OCkhPT1CNyl7RXU9IXt9O31FdT1vNTt9KTtpbyhmdW5jdGlvbigpe3c1Lm80KDE1KTtLYy5lKHc1LnU0KFNpLFllLEdyLFR0LFllLE0sR3IsWWUsUWUsT3QsQW8pKTt3NS5vNCg0KTtLYy5lKHc1LmM0KHhhLFZ0LEdyKSxvdSk7dzUuWTQoNCk7S2MuZSh3NS5jNChxaSxWdCxHciksc3UpO3c1Lm80KDQpO0tjLmUodzUudTQoRXMsVnQsR3IpLGF1KTt9LDEwKTt5W3J1XT15W3J1XXx8ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG87cj17fTtvPVpjLnAoW1trbytHcitSYStHcitudCxbR2MsR2MuaV1dLFtKbixzdV0sW0d0LG91XSxbWW8rR3IraXMsYXVdLFt6YSxbR2MsR2MuWGkscl1dLFthYStHcitJaSxbR2MsR2MuWmldXSxbYWErR3IrUStHcitiYSxbR2MsR2MuWWldXSxbYWErR3IrX28rR3IrYmEsW0djLEdjLktpXV0sW3crR3IrQ24sW0djLEdjLk1pXV0sW0huLFtHYyxHYy5lbixyXV0sW0duLFtHYyxHYy5oaSxyXV0sW2VzLFtHYyxHYy5HaSxyXV0sW2xjK0dyK2JhLFtHYyxHYy5xZSxyXV0sW1JuK0dyK2JhLFtHYyxHYy5KZSxyXV0sW2FhK0dyK2h0K0dyK0NuLFtHYyxHYy53ZV1dLFthYStHcitubitHcitabyxbR2MsR2MuJGldXSxbYWErR3IreWUrR3IrWm8sW0djLEdjLlZpXV0sW0JhK0dyK3llLFtHYyxHYy5QaV1dLFtrbytHcitkdCtHcitKZSxbR2MsR2MucGldXSxbYWErR3IrVXQrR3IramUrR3IrQmksW0djLEdjLlFpXV0sW2FhK0dyK1V0K0dyK0NhLFtHYyxHYy5kaV1dLFt6aSxbR2MsR2MuTmldXSxbYWErR3IrXyxbR2MsR2MuVWldXSxbRm8rR3IrXyxbR2MsR2MuUmldXSxbaGErVHQrT28sW0tjLEtjLmVdXSxbaGErVHQrRyxbS2MsS2Mucl1dLFtPYStUdCtsaSxbdHUsdHUuYV1dLFtPYStUdCthYSxbdHUsdHUuY11dLFtPYStUdCt4bixbdHUsdHUudV1dLFt0aStUdCtrbytHcitkaSxbZXUsZXUuc11dLFt0aStUdCtsaSxbZXUsZXUuYV1dLFt0aStUdCthYSxbZXUsZXUuY11dLFt0aStUdCt4bixbZXUsZXUudV1dLFtjZStUdCtKbixYYy5wdF0sW2NlK1R0K0lyK0dyK3FpLFhjLmZ0XSxbY2UrVHQra28rR3IrQ3MsWGMuaXRdLFtjZStUdCtrbytHcitYbyxYYy5udF0sW2NlK1R0K2tvK0dyK01hLFhjLm1dLFtjZStUdCtrbytHcit2YStHcitmYytHcit0YyxYYy5ldF0sW2NlK1R0K2tvK0dyK0JuLFhjLnJ0XSxbY2UrVHQra28rR3Irdm4sWGMub3RdLFtjZStUdCtrbytHcitoZSxYYy5zdF0sW2NlK1R0K2tvK0dyK3l0LFhjLmF0XSxbY2UrVHQra28rR3IrZ2MsWGMuYl0sW2NlK1R0K2tvK0dyK0luLFhjLmRdLFtjZStUdCtrbytHcitGYSxYYy5odF0sW2NlK1R0K2tvK0dyK3ZhK0dyK1BzLFhjLmddLFtjZStUdCtrbytHcitjcyxYYy5jdF0sW2NlK1R0K2tvK0dyK0VvLFhjLnV0XSxbY2UrVHQrSm4rR3IrdXQsW1hjLFhjLkpdXSxbY2UrVHQrYW8rR3IrZGksW1hjLFhjLmx0XV0sW0NhK1R0K2xjK0dyK3FzLFtpdSxpdS5LXV0sW0NhK1R0K2xjLFtpdSxpdS5YXV0sW0NhK1R0K2xhLFtpdSxpdS5aXV0sW0NhK1R0K2FhK0dyK3luLFtpdSxpdS50dF1dLFtLZStUdCtrbytHcit2ZStHciskZSxbWmMsWmMud11dLFtLZStUdCtKbitHcit1dCxbWmMsWmMuSl1dLFtLZStUdCtvcyxbWmMsWmMuR11dLFtLZStUdCt3byxbWmMsWmMueV1dLFtLZStUdCtKaSxbWmMsWmMuJF1dLFtLZStUdCtVcytHcitDbixbWmMsWmMuel1dLFtLZStUdCt4bitHcitDbixbWmMsWmMuUF1dLFtLZStUdCthYStHcitVaSxbWmMsWmMuQl1dLFtLZStUdCtEZStHcitZaSxbWmMsWmMuSF1dXSk7Zm9yKGUgaW4gbylpZih5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShvLGUpKXtmb3Iobj1lW0NyXShHcitUdCtHciksdD1yLGk9MDtpPG5bcGldLTE7aSsrKXt0eXBlb2YgdFtuW2ldXT09PWdlJiYodFtuW2ldXT17fSk7dD10W25baV1dO310W25bbltwaV0tMV1dPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIFpjLngodFtlXSk/MT09PXRbZV1bcGldP3RbZV1bMF06ZnVuY3Rpb24oKXtyZXR1cm4gMj09PXRbZV1bcGldP3RbZV1bMV1bb2FdKHRbZV1bMF0sYXJndW1lbnRzKToodFtlXVsxXVtvYV0odFtlXVswXSxhcmd1bWVudHMpLHRbZV1bMl0pO306dFtlXTt9KG8sZSk7fXJldHVybiByO30oKTt9KHQucG9wbnN8fHpjK0dyK1VjK0dyK09jLHQsdFtFaV0sdFtPaV0sdFttcl0sdFtyb10sdFtibl0sdFtObl0sdFtDb10sdFtyaStHcitpb10sdFtsaStHcitZaV0sdFtNaStHcitZaV0sdFtsaStHcitBaV0sdFtNaStHcitBaV0sdFtMdCtHcit0YytHcitmYytHcitndF0sdFt5K0dyK1J0XSx0W2tvK0dyK3lpK0dyK2d0XSx0W2lzXSx0W1hlK0dyK1ZyK0dyK0dzK0dyK3ZhK0dyK1VyXSx0W2RyXSk7fSh3aW5kb3cpO2Y1eXkuSD1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC55PT09J2Z1bmN0aW9uJz9mNXl5LkwueS5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwueTt9O2Y1eXkuVz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Y1eXkuZz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC5PPT09J2Z1bmN0aW9uJz9mNXl5LkwuTy5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwuTzt9O2Y1eXkuZj1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Z1bmN0aW9uIGY1eXkoKXt9ZjV5eS5CPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5MLnk9PT0nZnVuY3Rpb24nP2Y1eXkuTC55LmFwcGx5KGY1eXkuTCxhcmd1bWVudHMpOmY1eXkuTC55O307ZjV5eS5SPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5JPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5MPWZ1bmN0aW9uKEQpe3JldHVybnt5OmZ1bmN0aW9uKCl7dmFyIEcsZD1hcmd1bWVudHM7c3dpdGNoKEQpe2Nhc2UgMjpHPWRbMF0qZFsxXTticmVhaztjYXNlIDA6Rz1kWzBdfGRbMV07YnJlYWs7Y2FzZSAxOkc9ZFsxXS1kWzBdO2JyZWFrO31yZXR1cm4gRzt9LE86ZnVuY3Rpb24oVil7RD1WO319O30oKTtmNXl5Lno9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiBmNXl5LkwuTz09PSdmdW5jdGlvbic/ZjV5eS5MLk8uYXBwbHkoZjV5eS5MLGFyZ3VtZW50cyk6ZjV5eS5MLk87fTtmNXl5LkM9ZnVuY3Rpb24oKXt2YXIgUT0yO3doaWxlKFEhPT0xKXtzd2l0Y2goUSl7Y2FzZSAyOnJldHVybnt2OmZ1bmN0aW9uKFUpe3ZhciBiPTI7d2hpbGUoYiE9PTE0KXtzd2l0Y2goYil7Y2FzZSAyOnZhciBLPScnLGw9ZGVjb2RlVVJJKCJ0JTExa2JsYyU3RCUwNmhiZGxtbDYhJTNDJTNDKyU1QmNkLTo1JTVENyg4Jy8lNUJ3LzI4bWolM0M4KTA3YiolMUMyJTI1bSUwN3ElN0RvYmslMTh3JTdDc2RtaDcpKSUyMipaMmQlMTgtNUErKS5vbXMlMTUlMjUlM0UwKyU1QiUzQyUxMXUlMjA2TXk/KScsSy1kJTNFOSxLMi00OyUyMCUwNjojMCU3RDUlNUM6IzMya0s2IXU5Kks4JTIwNTo2JTVDcSUxRiUzRScsWC1sMCUyMDYlNUN5Ljh1KUc4KDgxZUolM0MqMiclMjAlMDg1JTI1JTNFMCslNUIlM0NsOyUzQylNcWIxOiZJNSIpO2I9MTticmVhaztjYXNlIDk6Sys9U3RyaW5nLmZyb21DaGFyQ29kZShsLmNoYXJDb2RlQXQoWSleVS5jaGFyQ29kZUF0KGspKTtiPTg7YnJlYWs7Y2FzZSAxOnZhciBZPTAsaz0wO2I9NTticmVhaztjYXNlIDU6Yj1ZPGwubGVuZ3RoPzQ6NzticmVhaztjYXNlIDM6az0wO2I9OTticmVhaztjYXNlIDg6WSsrLGsrKztiPTU7YnJlYWs7Y2FzZSA0OmI9az09PVUubGVuZ3RoPzM6OTticmVhaztjYXNlIDc6Sz1LLnNwbGl0KCcoJyk7cmV0dXJuIGZ1bmN0aW9uKFApe3ZhciBoPTI7d2hpbGUoaCE9PTEpe3N3aXRjaChoKXtjYXNlIDI6cmV0dXJuIEtbUF07YnJlYWs7fX19O2JyZWFrO319fSgnRShZTF1VJyl9O2JyZWFrO319fSgpOyFmdW5jdGlvbihlLG8sYyl7InVzZSBzdHJpY3QiO3ZhciBUPWY1eXk7dmFyIGksbix0O1QuZygwKTtpPVQuUihULkgoIjgiLDApKTtULnooMCk7bj1bVC5JKFQuSCgnXHgzMVx4MzAnLDApKSxULkkoKyI2IiksVC5SKCsnXHgzMVx4MzQnKSxULlIoKyIxMiIpLFQuUihULkgoIjUiLDAsVC5nKDApKSksVC5JKFQuQigwLCdceDMwJyxULnooMSkpKSxULlIoVC5CKCdceDMxXHgzMScsMCxULnooMCkpKSxULkkoKyIyIildO1QuZygyKTt0PVsrJ1x4MzJceDMwXHgzMVx4MzknLFQuQignXHUwMDM1JywxKSxULkgoJ1x4MzFceDM2JywwLFQuZygwKSldO3RyeXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yy5Mb2dnZXIubG9nKGksVC5SKCsnXHgzMScpLG4pO2MuTG9nZ2VyLmxvZyhpLFQuUigiNyItMCksdC5qb2luKFQuSSgnXHgzNCctMCkpKTt9LCsiNTAwIik7VC56KDEpO2Mub2JqZWN0PVtuLFsrIjM2MCIsNDk0LDM5MSwrIjMxMiIsVC5CKDAsIjMxMiIpLFQuSCgiMzY1IiwwLFQuZygwKSksKydceDM0XHgzMFx4MzQnLFQuSCgiMzAwIiwwLFQuZygwKSksKydceDMzXHgzNlx4MzBceDMwXHgzMScsVC5IKDAsJ1x4MzNceDM5XHgzNVx4MzJceDMyJyxULmcoMSkpLFQuQigiMTg3NzEiLDAsVC56KDApKSwrIjM0OTQ4IiwxNjU0MSwyOTU3MSwrJ1x4MzVceDMxXHgzN1x4MzFceDM5JywzMzkwOCxULkgoIjc4ODQwIiwwLFQuZygwKSksMTA1OTY0LCsnXHgzOFx4MzRceDM1XHgzNVx4MzUnLFQuSCgiNzI0MjYiLDAsVC5nKDApKSxULkgoJ1x4MzNceDMwXHgzNVx4MzlceDM5JywwLFQuZygwKSksVC5CKCdcdTAwMzRcdTAwMzFcdTAwMzZcdTAwMzJcdTAwMzYnLDAsVC5nKDApKSxULkIoMCwnXHUwMDM4XHUwMDM4XHUwMDMwXHUwMDM4XHUwMDM0JyxULnooMSkpLFQuSCgiNjU0MDkiLDEsVC5nKDIpKSwxNDQwMCxULkgoIjEyODQ0IiwxLFQueigyKSksKydceDM4XHgzNlx4MzBceDMyJyxULkgoJ1x4MzFceDMwXHgzOVx4MzJceDMwJywxLFQuZygyKSksMTM0MTYsVC5IKCdceDMyXHgzNFx4MzhceDMyXHgzMCcsMCxULmcoMCkpLFQuQignXHgzM1x4MzdceDM5XHgzN1x4MzYnLDAsVC56KDApKSwrJ1x4MzVceDMxXHg2NVx4MzMnXSx0LFtULkgoJ1x4MzNceDM2XHgzMicsMCxULmcoMCkpLDQ5NiwrJ1x4MzNceDM5XHgzOScsVC5IKDAsIjczMDkyMyIsVC5nKDEpKSwrJ1x1MDAzMlx1MDAzNVx1MDAzMVx1MDAzMicsVC5IKCI2Mzk4IiwwLFQueigwKSksVC5IKCdcdTAwMzRcdTAwMzFcdTAwMzFcdTAwMzlcdTAwMzFcdTAwMzJcdTAwMzInLDEsVC5nKDIpKSwrJ1x4MzFceDMxXHgzMVx4MzlceDMyJyxULkgoJ1x4MzNceDM0XHgzMlx4MzNceDM2JywwLFQueigwKSksMjQ2MSwzMjU1NywxMDIxMF0sby5jdXJyZW50U2NyaXB0LFQuSCgiMSIsMSxULmcoMikpXTt9Y2F0Y2gobyl7dm9pZCgnXHgzMCcqMSkhPT1lLmNvbnNvbGUmJmUuY29uc29sZS5sb2cmJkZ1bmN0aW9uLmFwcGx5LmNhbGwoZS5jb25zb2xlLmxvZyxlLmNvbnNvbGUsW1QuSSgnXHgzMVx4MzMnfDApXSk7fX0od2luZG93LGRvY3VtZW50LHdpbmRvd1t3aW5kb3cucG9wbnN8fGY1eXkuUigiMyItMCldKTt2YXIgXzB4MTM4Zj1bJ1x4NThceDQ4XHg2M1x4NzInLCdceDQ5XHg1NFx4NDVceDZmXHg2NFx4NDNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NmNceDUwXHg1NFx4NDVceDZmXHg1YVx4NTNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NzVceDUwXHg1OFx4NTFceDc1XHg2Mlx4NzlceDY3XHg2OVx4NjJceDUzXHg0OVx4NzBceDRmXHg3YVx4NTlceDY3XHg2Mlx4NjlceDM0XHg3OVx4NGNceDZkXHg3N1x4MzlceDQ5XHg2ZFx4NzNceDY5XHg0Y1x4NDdceDM0XHg3NVx4NGRceDY5XHgzNVx4NzdceDUwXHg1NFx4NDFceDczXHg2Mlx4NjlceDM0XHg3OVx4NGNceDZlXHg0NVx4MzlceDRkXHg0M1x4NzhceDc1XHg0Y1x4NmFceDQ5XHg3NVx4NjRceDdhXHgzMFx4NjlceDYxXHg2OVx4NDlceDczXHg2Mlx4NjlceDM1XHgzMVx4NTBceDUzXHg0OVx4MzNceDRmXHg2OVx4MzhceDc2XHg2M1x4NjlceDM1XHgzNFx4NGNceDZhXHg1NVx4NzZceDYxXHg0M1x4MzlceDY4XHg0Y1x4NzlceDQ5XHg3Mlx4NWFceDUzXHg3OFx4MzBceDRjXHg2ZFx4NDlceDc1XHg2MVx4NTNceDY4XHg3NVx4NGJceDUzXHg3OFx4NzVceDY2XHg1M1x4NzhceDc1XHg1MFx4NTdceDRkXHg2Zlx4NWFceDc5XHg2N1x4NmZceDY0XHg0M1x4MzVceDZiXHg0Y1x4NmVceDU5XHg2Zlx4NTFceDY5XHg0Mlx4NGZceDRiXHg0M1x4NDlceDZmXHg0ZVx4N2FceDM5XHgzOFx4NTNceDY5XHgzMVx4MzVceDRiXHg1NFx4NzBceDYzXHg1OFx4NDNceDM5XHg2M1x4NThceDQzXHgzOFx4NjlceDRiXHg1M1x4NzdceDY5XHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDRjXHg3OVx4NDlceDcwXHg1N1x4N2FceDQyXHg2NFx4NjZceDQ4XHg3N1x4NjlceDUzXHg3OVx4MzRceDMxXHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDQ5XHg2OVx4NmJceDc1XHg1NFx4NDNceDY3XHg3OFx4NGJceDQ4XHg1MVx4NzBceDY1XHg3YVx4NTlceDY3XHg2NFx4NDNceDM1XHg0ZVx4NGJceDQ0XHg0MVx4NzBceDRjXHg2Ylx4NjNceDZmXHg1M1x4NDNceDZjXHgzOVx4NGJceDUzXHgzNVx4NDJceDRiXHg0M1x4NDlceDY5XHg0Ylx4NTNceDZiXHg3MFx4NGZceDMzXHg2Zlx4NzVceDRlXHg0M1x4NjdceDY5XHg1MVx4NzlceDQ5XHg3M1x4NGRceDUzXHg2N1x4NzBceDY1XHgzMlx4NTVceDZmXHg2Mlx4NjlceDczXHg2OVx4NGNceDMyXHg1OVx4NzVceDRmXHg1M1x4NDlceDcwXHg0Y1x4NmFceDUxXHg2Zlx4NDlceDZiXHg1MVx4NjlceDRjXHg0NFx4NDVceDZmXHg0Ylx4NThceDc0XHg0N1x4NGJceDQ0XHg0NVx4NmZceDRiXHg1OFx4NzRceDZjXHg0Ylx4NDdceDM0XHg3Mlx4NDlceDY5XHgzOVx4N2FceDRjXHg2YVx4NmJceDY5XHg0Ylx4NThceDMwXHg3M1x4NTJceDUzXHg2Y1x4MzlceDRiXHg1OFx4MzBceDcwXHg2Nlx4NTNceDY4XHg0YVx4NGJceDU0XHg3M1x4M2QnLCdceDYzXHgzM1x4NDJceDczXHg2MVx4NThceDUxXHgzZCcsJ1x4NWFceDZlXHg0YVx4NzZceDYyXHg1NVx4NGVceDZmXHg1OVx4NThceDRhXHg0NFx4NjJceDMyXHg1Mlx4NmMnLCdceDY0XHg0N1x4MzlceDU0XHg2NFx4NDhceDRhXHg3MFx4NjJceDZkXHg2M1x4M2QnLCdceDYzXHg2ZFx4NTZceDc3XHg2Mlx4NDdceDQ2XHg2YVx4NWFceDUxXHgzZFx4M2QnXTsoZnVuY3Rpb24oXzB4MWI1OWFjLF8weDMwZDYwNSl7dmFyIF8weDQ0NTljOT1mdW5jdGlvbihfMHgxNDY4YWMpe3doaWxlKC0tXzB4MTQ2OGFjKXtfMHgxYjU5YWNbJ3B1c2gnXShfMHgxYjU5YWNbJ3NoaWZ0J10oKSk7fX07XzB4NDQ1OWM5KCsrXzB4MzBkNjA1KTt9KF8weDEzOGYsMHgxMGIpKTt2YXIgXzB4MTdjMT1mdW5jdGlvbihfMHgxOTc3ZGIsXzB4Yzc5ZjY5KXtfMHgxOTc3ZGI9XzB4MTk3N2RiLTB4MDt2YXIgXzB4MTYyZGYyPV8weDEzOGZbXzB4MTk3N2RiXTtpZihfMHgxN2MxWydPTXJTcXgnXT09PXVuZGVmaW5lZCl7KGZ1bmN0aW9uKCl7dmFyIF8weDI0NzE2Njt0cnl7dmFyIF8weDViZDYyOT1GdW5jdGlvbigncmV0dXJuXHgyMChmdW5jdGlvbigpXHgyMCcrJ3t9LmNvbnN0cnVjdG9yKFx4MjJyZXR1cm5ceDIwdGhpc1x4MjIpKFx4MjApJysnKTsnKTtfMHgyNDcxNjY9XzB4NWJkNjI5KCk7fWNhdGNoKF8weDMyOTViMCl7XzB4MjQ3MTY2PXdpbmRvdzt9dmFyIF8weDI4M2NlOT0nQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0nO18weDI0NzE2NlsnYXRvYiddfHwoXzB4MjQ3MTY2WydhdG9iJ109ZnVuY3Rpb24oXzB4MzQxYjE5KXt2YXIgXzB4MTQ0Zjk2PVN0cmluZyhfMHgzNDFiMTkpWydyZXBsYWNlJ10oLz0rJC8sJycpO2Zvcih2YXIgXzB4MjhhNzVlPTB4MCxfMHg1OWNiNWIsXzB4MWUwOTNkLF8weDUxZWZhNj0weDAsXzB4OTIyYWFjPScnO18weDFlMDkzZD1fMHgxNDRmOTZbJ2NoYXJBdCddKF8weDUxZWZhNisrKTt+XzB4MWUwOTNkJiYoXzB4NTljYjViPV8weDI4YTc1ZSUweDQ/XzB4NTljYjViKjB4NDArXzB4MWUwOTNkOl8weDFlMDkzZCxfMHgyOGE3NWUrKyUweDQpP18weDkyMmFhYys9U3RyaW5nWydmcm9tQ2hhckNvZGUnXSgweGZmJl8weDU5Y2I1Yj4+KC0weDIqXzB4MjhhNzVlJjB4NikpOjB4MCl7XzB4MWUwOTNkPV8weDI4M2NlOVsnaW5kZXhPZiddKF8weDFlMDkzZCk7fXJldHVybiBfMHg5MjJhYWM7fSk7fSgpKTtfMHgxN2MxWyd4anFrREYnXT1mdW5jdGlvbihfMHgzMzc3MTgpe3ZhciBfMHg1ZGRiMTU9YXRvYihfMHgzMzc3MTgpO3ZhciBfMHg1NjBiOTU9W107Zm9yKHZhciBfMHhjOTdmOTE9MHgwLF8weDQ0MTg3Mj1fMHg1ZGRiMTVbJ2xlbmd0aCddO18weGM5N2Y5MTxfMHg0NDE4NzI7XzB4Yzk3ZjkxKyspe18weDU2MGI5NSs9JyUnKygnMDAnK18weDVkZGIxNVsnY2hhckNvZGVBdCddKF8weGM5N2Y5MSlbJ3RvU3RyaW5nJ10oMHgxMCkpWydzbGljZSddKC0weDIpO31yZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KF8weDU2MGI5NSk7fTtfMHgxN2MxWydrRG1IU2snXT17fTtfMHgxN2MxWydPTXJTcXgnXT0hIVtdO312YXIgXzB4MzA2NDA1PV8weDE3YzFbJ2tEbUhTayddW18weDE5NzdkYl07aWYoXzB4MzA2NDA1PT09dW5kZWZpbmVkKXtfMHgxNjJkZjI9XzB4MTdjMVsneGpxa0RGJ10oXzB4MTYyZGYyKTtfMHgxN2MxWydrRG1IU2snXVtfMHgxOTc3ZGJdPV8weDE2MmRmMjt9ZWxzZXtfMHgxNjJkZjI9XzB4MzA2NDA1O31yZXR1cm4gXzB4MTYyZGYyO307ZXZhbChmdW5jdGlvbihfMHg0OWIyZTksXzB4MTA2OTM1LF8weDIyM2Q1NixfMHgyZmY2ZTksXzB4ZWQ3ZDI2LF8weDNiYzUwMCl7XzB4ZWQ3ZDI2PWZ1bmN0aW9uKF8weDI2YmI4Mil7cmV0dXJuKF8weDI2YmI4MjxfMHgxMDY5MzU/Jyc6XzB4ZWQ3ZDI2KHBhcnNlSW50KF8weDI2YmI4Mi9fMHgxMDY5MzUpKSkrKChfMHgyNmJiODI9XzB4MjZiYjgyJV8weDEwNjkzNSk+MHgyMz9TdHJpbmdbXzB4MTdjMSgnMHgwJyldKF8weDI2YmI4MisweDFkKTpfMHgyNmJiODJbXzB4MTdjMSgnMHgxJyldKDB4MjQpKTt9O2lmKCEnJ1tfMHgxN2MxKCcweDInKV0oL14vLFN0cmluZykpe3doaWxlKF8weDIyM2Q1Ni0tKXtfMHgzYmM1MDBbXzB4ZWQ3ZDI2KF8weDIyM2Q1NildPV8weDJmZjZlOVtfMHgyMjNkNTZdfHxfMHhlZDdkMjYoXzB4MjIzZDU2KTt9XzB4MmZmNmU5PVtmdW5jdGlvbihfMHgzMjA3ZjYpe3JldHVybiBfMHgzYmM1MDBbXzB4MzIwN2Y2XTt9XTtfMHhlZDdkMjY9ZnVuY3Rpb24oKXtyZXR1cm4gXzB4MTdjMSgnMHgzJyk7fTtfMHgyMjNkNTY9MHgxO307d2hpbGUoXzB4MjIzZDU2LS0pe2lmKF8weDJmZjZlOVtfMHgyMjNkNTZdKXtfMHg0OWIyZTk9XzB4NDliMmU5W18weDE3YzEoJzB4MicpXShuZXcgUmVnRXhwKCdceDVjXHg2MicrXzB4ZWQ3ZDI2KF8weDIyM2Q1NikrJ1x4NWNceDYyJywnXHg2NycpLF8weDJmZjZlOVtfMHgyMjNkNTZdKTt9fXJldHVybiBfMHg0OWIyZTk7fShfMHgxN2MxKCcweDQnKSwweDMyLDB4MzIsJ1x4N2NceDY2XHg3NVx4NmVceDYzXHg3NFx4NjlceDZmXHg2ZVx4N2NceDczXHg3NFx4NzlceDZjXHg2NVx4N2NceDczXHg3MFx4NmNceDY5XHg3NFx4N2NceDYxXHg2NFx4NjRceDQ1XHg3Nlx4NjVceDZlXHg3NFx4NGNceDY5XHg3M1x4NzRceDY1XHg2ZVx4NjVceDcyXHg3Y1x4NjNceDZmXHg2ZFx4N2NceDcyXHg2NVx4NzRceDc1XHg3Mlx4NmVceDdjXHg2OFx4NzRceDc0XHg3MFx4NzNceDdjXHg3Nlx4NjFceDcyXHg3Y1x4NzBceDZlXHg2N1x4N2NceDcwXHg3NFx4N2NceDYyXHg2Zlx4NjRceDc5XHg3Y1x4NjVceDZlXHg2M1x4NmZceDY0XHg2NVx4NTVceDUyXHg0OVx4NDNceDZmXHg2ZFx4NzBceDZmXHg2ZVx4NjVceDZlXHg3NFx4N2NceDcyXHg2NVx4NjZceDY1XHg3Mlx4NzJceDY1XHg3Mlx4N2NceDdjXHg3Y1x4NjJceDc0XHg2Zlx4NjFceDdjXHg3Nlx4MzFceDdjXHg2MVx4NzBceDcwXHg2NVx4NmVceDY0XHg0M1x4NjhceDY5XHg2Y1x4NjRceDdjXHg2ZVx4NmZceDZlXHg2NVx4N2NceDYxXHg2Mlx4NzNceDZmXHg2Y1x4NzVceDc0XHg2NVx4N2NceDcwXHg2Zlx4NzNceDY5XHg3NFx4NjlceDZmXHg2ZVx4N2NceDY5XHg2ZFx4NjdceDdjXHg3Y1x4NjNceDcyXHg2NVx4NjFceDc0XHg2NVx4NDVceDZjXHg2NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg3NFx4NmZceDcwXHg3Y1x4NmNceDY1XHg2Nlx4NzRceDdjXHg2MVx4NzBceDY5XHg3Y1x4N2NceDdjXHg3M1x4NzJceDYzXHg3Y1x4NzJceDY1XHg3MFx4NmNceDYxXHg2M1x4NjVceDdjXHg3MFx4NmZceDY5XHg2ZVx4NzRceDY1XHg3Mlx4NDVceDc2XHg2NVx4NmVceDc0XHg3M1x4N2NceDYzXHg2Y1x4NjlceDYzXHg2Ylx4NjFceDY5XHg2ZVx4NjVceDdjXHg2MVx4NzBceDcwXHg3Y1x4NzdceDY5XHg2ZVx4NjRceDZmXHg3N1x4N2NceDZhXHg2Zlx4NjlceDZlXHg3Y1x4NmVceDY1XHg3N1x4N2NceDQ0XHg0Zlx4NGRceDQzXHg2Zlx4NmVceDc0XHg2NVx4NmVceDc0XHg0Y1x4NmZceDYxXHg2NFx4NjVceDY0XHg3Y1x4NmNceDZmXHg2MVx4NjRceDdjXHgzNVx4NjVceDMzXHg3Y1x4NzNceDY1XHg3NFx4NTRceDY5XHg2ZFx4NjVceDZmXHg3NVx4NzRceDdjXHg3NFx4NmZceDUzXHg3NFx4NzJceDY5XHg2ZVx4NjdceDdjXHgzMVx4MzZceDdjXHg2NFx4NmZceDYzXHg3NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg2MVx4NmVceDY0XHg3Mlx4NmZceDY5XHg2NFx4N2NceDY0XHg2Zlx4NzRceDdjXHg2ZFx4NjFceDcwXHg3Y1x4NjNceDY4XHg2MVx4NzJceDQzXHg2Zlx4NjRceDY1XHg0MVx4NzRceDdjXHg1Mlx4NjVceDY3XHg0NVx4NzhceDcwJ1tfMHgxN2MxKCcweDUnKV0oJ1x4N2MnKSwweDAse30pKTsKO3ZhciBjSVBvcCA9IGZ1bmN0aW9uIGNJUG9wKHVybCkgewoJCWNQb3AuY29uZmlnKHsKCQkJY292ZXJUYWdzOiBbJ3ZpZGVvJywgJ2lmcmFtZSddLAoJCQl0YWJVbmRlcklnbm9yZVRhcmdldEJsYW5rOiB0cnVlLAoJCQlkZWxheTogMTAwCgkJfSk7CgkJY1BvcC5hZGQodXJsLCB7CgkJCW5ld1RhYjogdHJ1ZSwKCQkJdW5kZXI6IHRydWUsCgkJCWNvb2tpZUV4cGlyZXM6IDEwMH0pfTs=(Line 1)
Message:
[object HTMLDivElement]
console-api log URL: data:text/plain;base64,d2luZG93LnBvcG5zID0gJ2NQb3AnO3Y3R0cuYzQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmU0PT09J2Z1bmN0aW9uJz92N0dHLlo0LmU0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmU0O307djdHRy5pMT1mdW5jdGlvbigpe3ZhciBxMT1mdW5jdGlvbihJMSxLMSl7dmFyIEExPUsxJjB4ZmZmZjt2YXIgcjE9SzEtQTE7cmV0dXJuKHIxKkkxfDApKyhBMSpJMXwwKXwwO30sbTE9ZnVuY3Rpb24oajEsVTEsaDEpe3ZhciB4MT0weGNjOWUyZDUxLHoxPTB4MWI4NzM1OTM7dmFyIGUxPWgxO3ZhciB0MT1VMSZ+MHgzO2Zvcih2YXIgWjE9MDtaMTx0MTtaMSs9NCl7dmFyIFExPWoxLmNoYXJDb2RlQXQoWjEpJjB4ZmZ8KGoxLmNoYXJDb2RlQXQoWjErMSkmMHhmZik8PDh8KGoxLmNoYXJDb2RlQXQoWjErMikmMHhmZik8PDE2fChqMS5jaGFyQ29kZUF0KFoxKzMpJjB4ZmYpPDwyNDtRMT1xMShRMSx4MSk7UTE9KFExJjB4MWZmZmYpPDwxNXxRMT4+PjE3O1ExPXExKFExLHoxKTtlMV49UTE7ZTE9KGUxJjB4N2ZmZmYpPDwxM3xlMT4+PjE5O2UxPWUxKjUrMHhlNjU0NmI2NHwwO31RMT0wO3N3aXRjaChVMSU0KXtjYXNlIDM6UTE9KGoxLmNoYXJDb2RlQXQodDErMikmMHhmZik8PDE2O2Nhc2UgMjpRMXw9KGoxLmNoYXJDb2RlQXQodDErMSkmMHhmZik8PDg7Y2FzZSAxOlExfD1qMS5jaGFyQ29kZUF0KHQxKSYweGZmO1ExPXExKFExLHgxKTtRMT0oUTEmMHgxZmZmZik8PDE1fFExPj4+MTc7UTE9cTEoUTEsejEpO2UxXj1RMTt9ZTFePVUxO2UxXj1lMT4+PjE2O2UxPXExKGUxLDB4ODVlYmNhNmIpO2UxXj1lMT4+PjEzO2UxPXExKGUxLDB4YzJiMmFlMzUpO2UxXj1lMT4+PjE2O3JldHVybiBlMTt9O3JldHVybntiMTptMX07fSgpO3Y3R0cuRDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LkM2PT09J2Z1bmN0aW9uJz92N0dHLlo0LkM2LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LkM2O307djdHRy5MMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLlo2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5DNj09PSdmdW5jdGlvbic/djdHRy5nNi5DNi5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5DNjt9O3Y3R0cuWjQ9ZnVuY3Rpb24oQTQpe3JldHVybntlNDpmdW5jdGlvbigpe3ZhciBTNCxsND1hcmd1bWVudHM7c3dpdGNoKEE0KXtjYXNlIDI6UzQ9bDRbMF0rbDRbMV07YnJlYWs7Y2FzZSAyMjpTND1sNFsyXStsNFswXS1sNFsxXTticmVhaztjYXNlIDc6UzQ9bDRbNF0rbDRbMTBdK2w0WzExXStsNFszXSsobDRbNl0rbDRbMV0rbDRbNV0rbDRbOV0rbDRbMl0rbDRbMF0rbDRbOF0pK2w0WzddO2JyZWFrO2Nhc2UgNjpTND1sNFsyXS9sNFswXS9sNFsxXTticmVhaztjYXNlIDE3OlM0PWw0WzZdK2w0WzFdK2w0WzBdK2w0WzRdK2w0WzVdK2w0WzJdK2w0WzNdO2JyZWFrO2Nhc2UgMTpTND1sNFszXStsNFs0XStsNFsyXStsNFsxXStsNFswXTticmVhaztjYXNlIDM6UzQ9bDRbMV0rKGw0WzNdK2w0WzVdK2w0WzBdK2w0WzRdK2w0WzJdKTticmVhaztjYXNlIDExOlM0PWw0WzFdPGw0WzBdO2JyZWFrO2Nhc2UgOTpTND1sNFswXT4tbDRbMV07YnJlYWs7Y2FzZSA0OlM0PWw0WzBdK2w0WzFdK2w0WzJdO2JyZWFrO2Nhc2UgODpTND1sNFswXT09PWw0WzFdO2JyZWFrO2Nhc2UgMTQ6UzQ9bDRbMF0rbDRbNF0rbDRbN10rbDRbMl0rbDRbNV0rbDRbM10rbDRbMV0rbDRbNl0rbDRbOF07YnJlYWs7Y2FzZSAyMTpTND1sNFswXSVsNFsyXS1sNFsxXTticmVhaztjYXNlIDEyOlM0PWw0WzVdK2w0WzJdK2w0WzZdK2w0WzBdKyhsNFs0XStsNFszXStsNFsxXSk7YnJlYWs7Y2FzZSAxNjpTND1sNFswXStsNFsyXTxsNFsxXTticmVhaztjYXNlIDIwOlM0PWw0WzFdJWw0WzJdKmw0WzBdO2JyZWFrO2Nhc2UgNTpTND1sNFs1XSsobDRbMTNdK2w0WzNdK2w0WzddK2w0WzEyXStsNFs2XStsNFs0XStsNFsyXStsNFswXStsNFsxMF0rbDRbOF0rbDRbMTFdK2w0WzldK2w0WzFdKTticmVhaztjYXNlIDA6UzQ9bDRbOV0rbDRbOF0rbDRbMl0rbDRbMTNdK2w0WzNdK2w0WzRdK2w0WzFdK2w0WzBdK2w0WzddK2w0WzExXStsNFsxMF0rbDRbNl0rbDRbNV0rbDRbMTRdK2w0WzEyXTticmVhaztjYXNlIDE4OlM0PWw0WzBdKmw0WzJdJWw0WzFdO2JyZWFrO2Nhc2UgMTA6UzQ9LWw0WzBdPT09bDRbMV07YnJlYWs7Y2FzZSAxMzpTND1sNFsxNF0rbDRbMjddK2w0WzE5XStsNFswXStsNFsxMV0rbDRbNV0rbDRbMTBdK2w0WzI5XStsNFsyXStsNFsyM10rbDRbMjBdK2w0WzRdK2w0WzIyXStsNFsxOF0rbDRbMjRdK2w0WzEyXStsNFs3XStsNFsxNV0rbDRbNl0rbDRbMTNdK2w0WzE3XStsNFs5XStsNFsyOF0rbDRbMjFdK2w0WzFdK2w0WzMwXStsNFsyNl0rbDRbMTZdK2w0WzNdK2w0WzI1XStsNFs4XTticmVhaztjYXNlIDE5OlM0PWw0WzFdL2w0WzBdJWw0WzJdO2JyZWFrO2Nhc2UgMTU6UzQ9bDRbNV0rbDRbNF0rbDRbMTBdK2w0WzFdK2w0WzZdK2w0WzldK2w0WzJdK2w0WzddK2w0WzhdK2w0WzNdK2w0WzBdO2JyZWFrO31yZXR1cm4gUzQ7fSxzNDpmdW5jdGlvbihQNCl7QTQ9UDQ7fX07fSgpO3Y3R0cueDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy51ND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuZTQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuZTQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuZTQ7fTtmdW5jdGlvbiB2N0dHKCl7fXY3R0cuWTQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LnM0PT09J2Z1bmN0aW9uJz92N0dHLlo0LnM0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LnM0O307djdHRy5vND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuczQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuczQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuczQ7fTt2N0dHLmw2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuQjQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy5nNj1mdW5jdGlvbigpe3ZhciBzNj0yO3doaWxlKHM2IT09MSl7c3dpdGNoKHM2KXtjYXNlIDI6cmV0dXJue0M2OmZ1bmN0aW9uKHg2KXt2YXIgbTY9Mjt3aGlsZShtNiE9PTE0KXtzd2l0Y2gobTYpe2Nhc2UgNDptNj1JNj09PXg2Lmxlbmd0aD8zOjk7YnJlYWs7Y2FzZSAyOnZhciBQNj0nJyxVNj1kZWNvZGVVUkkoIjIjMUw3QTg4LEk1Vz84O1Y0WiUyMiUzRStHO0IlMjIpJTIwRyUwQUUlMjIkLFE/RTIyJTE0UChBMCMqRypLJjklM0MlNUQ/ViUzQz8sdDtHKCUzRTdNL1Y4Mj8lNUM0UTQtJTIwRyUxOEElMjI4N0skaTkoN0c3TTgyJTA1JTVDOE8/OCxaNUolMjUjJTNFJTVDJG4lMjUyJTdCRyxBJD87VjRabTIhTTVUKCQzVyUzRUgzKCxLP0k5OjdHaCUxNiglMUU3Xz9WMyUzRSxaNUolMjIpJTNDTSRJMyUzRTUlNUMkSjM0JkclMEJHO3U5JTVEJHooJTAwPSU1RT1BJDIhJTVDLlolM0UpOyU1RTJQKCUwOSUzRSU1QzdBODghRylQLyUyMDdHLE0lMjUlMjUwUDZNJTIyNSxqJEc6JTI1N1cuWjMlMjA3VD9KJTIyMiUxNUE2WiUxQSYsaz9FNSQ3JTVEJGswMj1fJTNDVzM4LG8lMjBaJTEzKyxuM0oyIyUyNUc5RTgvN1UkbicvKyUwQzBGZCU3QyUyMkc4TTgoLEk1TTg4N0skSiMhMCU1QyhaNS0lM0VVJH4oJTIwN18uWngyJlgoQzM4LHoyVjkhN0clM0VBJTIwJTI1MSU1QyRwLyUzQzdKJFclM0UjJ1UlM0VaJTIyLTVHJTAzJTE3KCUwNTVXNVYzMiUxMFA0QCglMTk1RyUwQVY5JTNDMyU1RTtQPyMlM0NHNVQzJTIyN0skSDkvM00zSzgyJTA1QTZHJTNDO2pHLk07KSx2NEczMiUxM1U2WjAlM0UzVD9aJTA1ISxLO0oyIz9HJTE4UiglMDU2RzBLPyUyMiwlNjAqWjsjJCU1QyRTPyUyMjZWLVoyJTI1IUk2RS8ybEclMUVLOy07VyRAMz85TTVUKCUwQSElNUUkUDcuJ1clM0VBJDIlMTMlNUUkRTQjJ00kVzUlM0U7SS5aJjkhUSRBJTIwKSUzQ00pWiUyMiUzRTNXKVQ3JTNFN1cuWiY4MVY0QyglMUYmVihFMSkseCRQNy4saT9WJi01JTVDJEk3NCxKL0YlMjU4JTIwRzZLNygsajlWPyUzQyZHJTEzSiUyMiklMjBPO0goJCUyMCU1QyUzQ1o4IyxaKEE3ODdHO1AlMjItMVEkSDklMjI1Ry9WOjIlMUZYLkwoLTBaJTNFQTArOlAwTzohJTNDVipVJD8mTCxTLjUoRyUxNVQzJTNFM0clMENFOjk3RyUxOEgoOSUzQyU1RD9WKCUwNSYlNUM3WiUxNCUzRT1OKUEkMiUxM1clM0VWOSUyNTZHOVEkJTNFN1cuWiUxNCUyMDNXMVoyKSRHNEslMjIyJTFFJTVDJTNDUCg/N1U/RyUyMiMlMjBHJTFEJTFEPy04TmJaPyUyMiUzQyU1QyhaNCUyMDNXMVolMDM1LCU1QyRzPyUyMix4LlolMTQ5MCU1QjZBKCg3WjVAMzIlMDJYKEE4OCxoL0EjKTZHdlolMDU4M1QqWiYtJTIwJTVDNFAoJDNKJFElMjUpJTIwRyhBJiUyMDNaP1olMDAyI0w/Vi8yJTNDJTVDLlM5JTNFOUcpTD8qJkcqVjk4PU0jVDMyPSU1QjBBNTgseSRKIyUyMCUzRUcuSyh+YiUwOGJaPyUyMiUyMkwuWjstJloyWiQpIU01VjMyO18oRTspLHU1UzMlM0UsJTdGalolMDQyJTA2UTtKJTNFMiUxRkc4USUyMjg9VyRvMjIlMTglMDkkcSQlMjAsaSRGMyo9Sz9aJTAwKSUyMEozSzgyJTA0TCRBOC0wVT9AKCUwMyxLP1czOCwlMTEkVjM/O0M/WiMlMjI2JTVDJTNDTTgpNkd6WiUyNSUzRTFHJTFEQSUyMjg3SyUwNSU3QiglMUM6WDRaPzIxVT9FJDIwWClBJTYweCwlNjAkQDMuJyU1RSRDMzgsUztSNz8xSzNUJTIyMjNNLlY/LidNP1coJTFGJkszSjEyLHU3WjgpJTI1RzVKNSUyMDtaMVolMTF1JTI1JTVEJCU3QyhjLFQzSTMyJTE0TDRHJTIyJTI1PVckVjM9JyU1QylQKCUxMHplc3glMjVmKWUpJTBFJTBBJTE3JTBFSnBKNzg7Tz8lMDQ1IzYlNUMlMDZXJTdDJTEwJTBGZSklMEUrMiUxRVA0US4yJTFFJTA5KkwyISwlNUQ/VyUyMiUzRT1AJE07MjZQKVQ3ODFRJE04PzdLLlo4IzYlNUMkajoyJTAxJTVDNkE1OD1LJCUxMiglMDg3JTVCL0MoJTE4MyU1RSlaJTE0JCwlNUU/SzojMVguTTklMjIsJTdDLEE4OCxYKlQ6NSwlNUQ7UDcycUclMEVFJCs3TSRnOSElMjJYKEEoaSwlN0Y2RTEyY0clMTlFJTI1KSwlNUQ1STclMjUlM0NHJTFCUSUyMiQ9SyRGOSgrRztAMjIlMERmJTNFQTAlMjUlM0MlNUMkcDcrLFQ/VyUyNS01JTVDJEk5OSElNUMvVCglMEElMjBWN1olMDYjO1cuWiUyMC0lMjBHJTBFSyMvOiU1QylaJTAyIywlN0QtUig2LFg4VzklMjAnTT9aJTA3Kyx4NEclM0UjJTIwRzNKMikqRy1BNCc7TSRWMyUyMDdYKUEoJTAxPUwpQSglMEEzVTZGNy85RyUwOVA3LzlHOUUlMjIvOkcqSyUyNTgsWjVKNS0mRyUxNiUxNSglMjA3Vz1QJTNFMiUyMCU1RCRUNyUzRSElNUMkaS8yOlAlM0VAMyUyMiwlMDhqJTE0KCUwQTtLP1olMTc2LFEuUCY/LGk/VjslMjUhSjNLODIlMDBQJGsmKSUzQyU1QyhaJTA3MiUzQ1Y0QSgvJ0spSyQyJTIyWD1BKCUzQypHJ1olMTgtPyU1QyRHJTNFLSUzQyU1RT9AKCUxOSZQNlcoPyZLM0oxMiUxMyU1RTglMTYoJTBEJFgzSDcuJTNFJTVDJGJkMiUxNSUwMDNFJTNDMiUxQl8oRTspLHo1SSYjJTNDJTVDNFAoJTBEPVokJTE5KCUwRCUyNUclMTZafiUxMCFFfiUwRCgvPVcuRTU4LH4kVjM/O0M7RjopLHguUCQlMjUwTC5BKCUwMT0lNUIzSDMyPUszQz8lMjIsWC9QJTNFIyUyMEc/JTVDMy8sdipBODIlMERNO1YxKSZHJTNDTS4pNkclMDVQPyE3Vi9QJTA5MiUxM1YkcSglMDg3XztROjgsdTtXJTIyMiUxQkclM0VBJTIyLTFRJHYlMjAyJTA4JTBCJHc1JTNFPVU2RjclM0UsJTdGKVolMDItMEc/JTVDJiUyNSUyMCU1QylaJTE0OyxQJTNFWiUxRiUyMjYlNUMlMjJaOyMwUDZBKCUwRStHJTBETTI4Okc3TyYyJTExViUzRUEoJTIyM1Q/WiUyNSUzQzdaM0I/KTZHKkUlMjIkLFo2TTUnLHElM0VMNzIwVS9WKCUxQyUyMFYqQSQ4K0c5SzgqOyU1RSRXMyUyMDRHJTA4TWY0LGgvWjAlMjA9VihaJTEzNCUyMkclMTVTODIlMTclNUQ9QSglMjUhRyUwRkoyKSUyMEclMUJDMyUyMiZHLiU1RCYpLHpjWmoyJTE0UChBMjIlMURJLk05JTIyIUclM0NROC8mUDVKKCUwNixNO0YjJTNDLEkoTTg4LCU3QyUyMlQ/JTNFN0okZzkjOVA/WiUwNSUyNTBVM0oxMiUyNUclMTVSMyUzRSUzRVgjWiUwMiUyNT8lNUM1USUyMjIlMUQlNUIwQTU4LFYvUDMlM0UscyxGZTIlMjVQJTNFUCUzRTIhVTNHMzIlMUNYJCUxNiglMUM4RyUxNk0yLyxYJGg/PyYlNUM0QSQyJTFGViUyME06JTIwM0clMUVFJTIyKSx2NEg5LTZHKUUwKSxMNEY/JTIyNkcuSyMvOiU1QzRAKCUwRTdfNVYzMjFVO1clMjUyJTAyVilNJTIyJTI1PVckJTYwKCUyNSUzQ1AuWiUxODIlMDlHOUs5JzslNUMkbicyJTBCVDVIKDg9SSRvKC86WChaJTA5LiUzRVg0TyglMjA9JTVFJEsmKSUzQ0clMTJaJTEzJTIwN1Q/SiUyMjIlMDAlNUM2QTc/N0cqSyY5JTNDJTVEP1YoJTNDPUkkdDo5NVA0WiUwNiMlMjJMNEAzJTNFLHMyRSglMTU/VmJaJTNFOD9VJHc3KjNLM1o5JTIyLHc1QDMyJTA1JTBDMUZkMjFVNVczMj9WL1czKD1ONFojPzclMTkpUCQlMjUxTSRnIyUzRSUyMCU1QzRQKC4zWjFDJCMnVyUzRVo7KSZYJFAzNCZHJTE5QzgyIVooQTMlMjIsJTFEJGEoJTBCa1ckbTEyayUwMGMlMURvdWtHKEEwKSUyMEs/VigpIVo7VDMyJTdGRztUJiklM0MlNUQkTDk/JkcqQSQlM0MzJTVFP1olMUYlMjImRyUwRkEoJTIyPUs/QiglMDQ7UztHPSUyNSUzQyU1RSRxJiUzQzdLJCUwRiglMTghSSRzYycsTTVRNSQhTTtWJTIyMiUzRVY5RToyJTAxJTVDNFc/ODtPP1psMiUxRiU1RSRzKHQsdzVQPyo7WjtQPyMlM0NHIVolMDQpNUc1SjQlMjAnSyRnKCUwMTdKKUUxKSxMJCUxNCY0LHgoVjc1LEkoQSUyMCklM0NNJHkoJTBGJTNFUDlPMygsWDhXKCUxQz9HblolMEYhPUAkVDklM0MnSSQlMEMlMDgwJTBFSnNaOTo3SyUzQ0g5OywlMDkkRzkhLF81RyM/LHE/TTEkJkclMEFLJjIlMUNVOU0oJTA2JTIyWiR0JTNDeSUzRSU1QjdaJTAyIyUyMkclM0NNJCksWCpUOiUyNTFYLk05JTIyLCU3RiRnOSUyMjVHJTE5TD8lMjA2RylUOiUyNSZHKEU4KCxKLkUlMjI5IUcpRyQjJTNFVThFJD8sdWolMTElM0UuLFo1UjMlM0UsTTVLOi4zSyRAMyUyMDNAJEsmOCFHJTNFTSUyMDIlMTdPP0olMjI/LHcwRzslMjAlMjUlNUQkcCglM0M2XyRBOyUzQyZAJGYoJTFFOiU1QiRKNzo7JTVFO1A5JTNFLE4oTSUyMiksbDAlMTAoJTI1NVc1VjMyJTExVi9KJTIyMjBWNUgzLSUzQ0clMEVNOyksejVKMCUyNTVHLkElMjU4Iik7bTY9MTticmVhaztjYXNlIDE6dmFyIEg2PTAsSTY9MDttNj01O2JyZWFrO2Nhc2UgOTpQNis9U3RyaW5nLmZyb21DaGFyQ29kZShVNi5jaGFyQ29kZUF0KEg2KV54Ni5jaGFyQ29kZUF0KEk2KSk7bTY9ODticmVhaztjYXNlIDU6bTY9SDY8VTYubGVuZ3RoPzQ6NzticmVhaztjYXNlIDc6UDY9UDYuc3BsaXQoJ34nKTtyZXR1cm4gZnVuY3Rpb24oaDYpe3ZhciBqNj0yO3doaWxlKGo2IT09MSl7c3dpdGNoKGo2KXtjYXNlIDI6cmV0dXJuIFA2W2g2XTticmVhazt9fX07YnJlYWs7Y2FzZSAzOkk2PTA7bTY9OTticmVhaztjYXNlIDg6SDYrKyxJNisrO202PTU7YnJlYWs7fX19KCdWTFI5WiQnKX07YnJlYWs7fX19KCk7djdHRy5kMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLmE2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuZjY9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLmc2LkM2PT09J2Z1bmN0aW9uJz92N0dHLmc2LkM2LmFwcGx5KHY3R0cuZzYsYXJndW1lbnRzKTp2N0dHLmc2LkM2O307djdHRy5yND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuQzY9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuQzYuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuQzY7fTshZnVuY3Rpb24odCl7dmFyIHc1PXY3R0c7dmFyIG81PSEwO3ZhciBlLGksbixyLG8scyxhLGMsdSxoLGYscCxfLGwsZCx2LGIsbSxnLHksayx3LHgsTyxDLEUsUCxULEEsRixTLGosTCx6LEIsSSxNLFcsRCxVLFIsTixILHEsSixWLCQsUSxHLFksSyxaLFgsdHQsZXQsaXQsbnQscnQsb3Qsc3QsYXQsY3QsdXQsaHQsZnQscHQsX3QsbHQsZHQsdnQsYnQsbXQsZ3QseXQsa3Qsd3QseHQsT3QsQ3QsRXQsUHQsVHQsQXQsRnQsU3QsanQsTHQsenQsQnQsSXQsTXQsV3QsRHQsVXQsUnQsTnQsSHQscXQsSnQsVnQsJHQsUXQsR3QsWXQsS3QsWnQsWHQsdGUsZWUsaWUsbmUscmUsb2Usc2UsYWUsY2UsdWUsaGUsZmUscGUsX2UsbGUsZGUsdmUsYmUsbWUsZ2UseWUsa2Usd2UseGUsT2UsQ2UsRWUsUGUsVGUsQWUsRmUsU2UsamUsTGUsemUsQmUsSWUsTWUsV2UsRGUsVWUsUmUsTmUsSGUscWUsSmUsVmUsJGUsUWUsR2UsWWUsS2UsWmUsWGUsdGksZWksaWksbmkscmksb2ksc2ksYWksY2ksdWksaGksZmkscGksX2ksbGksZGksdmksYmksbWksZ2kseWksa2ksd2kseGksT2ksQ2ksRWksUGksVGksQWksRmksU2ksamksTGksemksQmksSWksTWksV2ksRGksVWksUmksTmksSGkscWksSmksVmksJGksUWksR2ksWWksS2ksWmksWGksdG4sZW4sbm4scm4sb24sc24sYW4sY24sdW4saG4sZm4scG4sX24sbG4sZG4sdm4sYm4sbW4sZ24seW4sa24sd24seG4sT24sQ24sRW4sUG4sVG4sQW4sRm4sU24sam4sTG4sem4sQm4sSW4sTW4sV24sRG4sVW4sUm4sTm4sSG4scW4sSm4sVm4sJG4sUW4sR24sWW4sS24sWm4sWG4sdHIsZXIsaXIsbnIscnIsb3Isc3IsYXIsY3IsdXIsaHIsZnIscHIsX3IsbHIsZHIsdnIsYnIsbXIsZ3IseXIsa3Isd3IseHIsT3IsQ3IsRXIsUHIsVHIsQXIsRnIsU3IsanIsTHIsenIsQnIsSXIsTXIsV3IsRHIsVXIsUnIsTnIsSHIscXIsSnIsVnIsJHIsUXIsR3IsWXIsS3IsWnIsWHIsdG8sZW8saW8sbm8scm8sb28sc28sYW8sY28sdW8saG8sZm8scG8sX28sbG8sdm8sYm8sbW8sZ28seW8sa28sd28seG8sT28sQ28sRW8sUG8sVG8sQW8sRm8sU28sam8sTG8sem8sQm8sSW8sTW8sV28sRG8sVW8sUm8sTm8sSG8scW8sSm8sVm8sJG8sUW8sR28sWW8sS28sWm8sWG8sdHMsZXMsaXMsbnMscnMsb3Msc3MsYXMsY3MsdXMsaHMsZnMscHMsX3MsbHMsZHMsdnMsYnMsbXMsZ3MseXMsa3Msd3MseHMsT3MsQ3MsRXMsUHMsVHMsQXMsRnMsU3MsanMsTHMsenMsQnMsSXMsTXMsV3MsRHMsVXMsUnMsTnMsSHMscXMsSnMsVnMsJHMsUXMsR3MsWXMsS3MsWnMsWHMsdGEsZWEsaWEsbmEscmEsb2Esc2EsYWEsY2EsdWEsaGEsZmEscGEsX2EsbGEsZGEsdmEsYmEsbWEsZ2EseWEsa2Esd2EseGEsT2EsQ2EsRWEsUGEsVGEsQWEsRmEsU2EsamEsTGEsemEsQmEsSWEsTWEsV2EsRGEsVWEsUmEsTmEsSGEscWEsSmEsVmEsJGEsUWEsR2EsWWEsS2EsWmEsWGEsdGMsZWMsaWMsbmMscmMsb2Msc2MsYWMsY2MsdWMsaGMsZmMscGMsX2MsbGMsZGMsdmMsYmMsbWMsZ2MseWMsa2Msd2MseGMsT2MsQ2MsRWMsUGMsVGMsQWMsRmMsU2MsamMsTGMsemMsQmMsSWMsTWMsV2MsRGMsVWMsUmMsTmMsSGM7ZT13NS5mNigyMzQpO2k9dzUuWjYoMzk0KTtuPXc1Llo2KDM4OSk7cj13NS5mNig0NTYpO289dzUuWjYoNSk7cz13NS5aNig0NjEpO2E9dzUuWjYoMjU1KTtjPXc1Llo2KDg4KTt1PXc1Llo2KDE3OCk7aD13NS5mNigxODcpO2Y9dzUuZjYoNDgxKTtwPXc1LmY2KDM3Nik7Xz13NS5aNigyNDYpO2w9dzUuZjYoMjQ1KTtkPXc1Llo2KDE0OSk7dj13NS5aNigzNjUpO2I9dzUuWjYoNDgzKTttPXc1LmY2KDcyKTtnPXc1Llo2KDMxMyk7eT13NS5aNigyNTMpO2s9dzUuWjYoNTApO3c9dzUuZjYoNDY5KTt4PS9lZGdlLztPPXc1LmY2KDMzNCk7Qz13NS5aNigzMzMpO0U9dzUuWjYoNTMpO1A9dzUuWjYoMTcpO1Q9dzUuWjYoMzQzKTtBPXc1LmY2KDE5MCk7Rj0vZmlyZWZveHxmeGlvcy9pO1M9dzUuZjYoMjEyKTtqPXc1Llo2KDI1OSk7TD13NS5aNigyNDEpO3o9dzUuZjYoMTA5KTtCPXc1LmY2KDk3KTtJPXc1Llo2KDQxOCk7TT13NS5aNigzODgpO1c9dzUuWjYoNDM1KTtEPXc1LmY2KDM3NSk7VT13NS5aNigzNTgpO1I9dzUuZjYoMTcyKTtOPXc1LmY2KDIzOCk7SD13NS5aNig0ODcpO3E9dzUuWjYoMjIxKTtKPXc1LmY2KDIxMSk7Vj13NS5mNigyMTApOyQ9dzUuWjYoMTYyKTtRPXc1Llo2KDY0KTtHPXc1LmY2KDM0Mik7WT13NS5aNigxMjgpO0s9dzUuWjYoMjA4KTtaPXc1LmY2KDE0MSk7WD13NS5aNig0MzYpO3R0PXc1Llo2KDQ0MSk7ZXQ9dzUuWjYoMjgwKTtpdD13NS5mNigxNzcpO250PXc1Llo2KDEyKTtydD13NS5aNigyNzMpO290PXc1Llo2KDM1NSk7c3Q9L3dpbmRvd3MvO2F0PXc1Llo2KDI1OCk7Y3Q9Lyg/OmZ0cHxodHRwcz8pOlwvXC8oW15cL10rKS87dXQ9dzUuWjYoMjE4KTtodD13NS5mNig0NDIpO2Z0PXc1LmY2KDI2Myk7cHQ9dzUuWjYoMTY2KTtfdD13NS5aNigxMzgpO2x0PXc1Llo2KDMyOSk7ZHQ9dzUuWjYoNDEpO3Z0PXc1Llo2KDIwNyk7YnQ9dzUuWjYoMzYyKTttdD13NS5mNigxNjUpO2d0PXc1LmY2KDM3MSk7eXQ9dzUuWjYoMzYwKTtrdD13NS5aNigyMzkpO3d0PXc1LmY2KDM2Myk7eHQ9dzUuZjYoODIpO090PTk1MDI9PT0yNTAwPzB4MjE0Yzp3NS5mNigxNDgpO0N0PXc1LmY2KDE4NSk7RXQ9dzUuWjYoMTQ0KTtQdD13NS5mNigzMjApO1R0PXc1Llo2KDU1KTtBdD13NS5aNigzMTgpO0Z0PXc1Llo2KDE4OSk7U3Q9dzUuWjYoMTAxKTtqdD0vTVNJRVxzKyhbXGRcLl0rKS9pO0x0PXc1Llo2KDM0MCk7enQ9dzUuZjYoMTYwKTtCdD13NS5aNig0NDQpO0l0PXc1Llo2KDQxMyk7TXQ9dzUuZjYoNDU1KTtXdD13NS5mNig1MSk7RHQ9dzUuWjYoNDE1KTtVdD13NS5mNigyOTkpO1J0PXc1Llo2KDQxNik7TnQ9dzUuWjYoMzczKTtIdD13NS5aNig0MzApO3F0PXc1Llo2KDE2MSk7SnQ9dzUuZjYoMjQ4KTtWdD13NS5aNig0MjcpOyR0PXc1LmY2KDQyNCk7UXQ9dzUuZjYoMzUxKTtHdD13NS5aNigyOTApO1l0PXc1Llo2KDI4MSk7S3Q9dzUuWjYoMjk2KTtadD13NS5aNigyODYpO1h0PXc1LmY2KDE0Nik7dGU9dzUuWjYoNjApO2VlPXc1Llo2KDE0Myk7aWU9dzUuWjYoMjE1KTtuZT0vcmFkaW98Y2hlY2tib3gvaTtyZT13NS5mNigyNzUpO29lPXc1Llo2KDEyNCk7c2U9dzUuZjYoMjE2KTthZT13NS5aNigzMDIpO2NlPXc1LmY2KDExNyk7dWU9LzEyMDd8NjMxMHw2NTkwfDNnc298NHRocHw1MFsxLTZdaXw3NzBzfDgwMnN8YSB3YXxhYmFjfGFjKGVyfG9vfHNcLSl8YWkoa298cm4pfGFsKGF2fGNhfGNvKXxhbW9pfGFuKGV4fG55fHl3KXxhcHR1fGFyKGNofGdvKXxhcyh0ZXx1cyl8YXR0d3xhdShkaXxcLW18ciB8cyApfGF2YW58YmUoY2t8bGx8bnEpfGJpKGxifHJkKXxibChhY3xheil8YnIoZXx2KXd8YnVtYnxid1wtKG58dSl8YzU1XC98Y2FwaXxjY3dhfGNkbVwtfGNlbGx8Y2h0bXxjbGRjfGNtZFwtfGNvKG1wfG5kKXxjcmF3fGRhKGl0fGxsfG5nKXxkYnRlfGRjXC1zfGRldml8ZGljYXxkbW9ifGRvKGN8cClvfGRzKDEyfFwtZCl8ZWwoNDl8YWkpfGVtKGwyfHVsKXxlcihpY3xrMCl8ZXNsOHxleihbNC03XTB8b3N8d2F8emUpfGZldGN8Zmx5KFwtfF8pfGcxIHV8ZzU2MHxnZW5lfGdmXC01fGdcLW1vfGdvKFwud3xvZCl8Z3IoYWR8dW4pfGhhaWV8aGNpdHxoZFwtKG18cHx0KXxoZWlcLXxoaShwdHx0YSl8aHAoIGl8aXApfGhzXC1jfGh0KGMoXC18IHxffGF8Z3xwfHN8dCl8dHApfGh1KGF3fHRjKXxpXC0oMjB8Z298bWEpfGkyMzB8aWFjKCB8XC18XC8pfGlicm98aWRlYXxpZzAxfGlrb218aW0xa3xpbm5vfGlwYXF8aXJpc3xqYSh0fHYpYXxqYnJvfGplbXV8amlnc3xrZGRpfGtlaml8a2d0KCB8XC8pfGtsb258a3B0IHxrd2NcLXxreW8oY3xrKXxsZShub3x4aSl8bGcoIGd8XC8oa3xsfHUpfDUwfDU0fFwtW2Etd10pfGxpYnd8bHlueHxtMVwtd3xtM2dhfG01MFwvfG1hKHRlfHVpfHhvKXxtYygwMXwyMXxjYSl8bVwtY3J8bWUocmN8cmkpfG1pKG84fG9hfHRzKXxtbWVmfG1vKDAxfDAyfGJpfGRlfGRvfHQoXC18IHxvfHYpfHp6KXxtdCg1MHxwMXx2ICl8bXdicHxteXdhfG4xMFswLTJdfG4yMFsyLTNdfG4zMCgwfDIpfG41MCgwfDJ8NSl8bjcoMCgwfDEpfDEwKXxuZSgoY3xtKVwtfG9ufHRmfHdmfHdnfHd0KXxub2soNnxpKXxuenBofG8yaW18b3AodGl8d3YpfG9yYW58b3dnMXxwODAwfHBhbihhfGR8dCl8cGR4Z3xwZygxM3xcLShbMS04XXxjKSl8cGhpbHxwaXJlfHBsKGF5fHVjKXxwblwtMnxwbyhja3xydHxzZSl8cHJveHxwc2lvfHB0XC1nfHFhXC1hfHFjKDA3fDEyfDIxfDMyfDYwfFwtWzItN118aVwtKXxxdGVrfHIzODB8cjYwMHxyYWtzfHJpbTl8cm8odmV8em8pfHM1NVwvfHNhKGdlfG1hfG1tfG1zfG55fHZhKXxzYygwMXxoXC18b298cFwtKXxzZGtcL3xzZShjKFwtfDB8MSl8NDd8bWN8bmR8cmkpfHNnaFwtfHNoYXJ8c2llKFwtfG0pfHNrXC0wfHNsKDQ1fGlkKXxzbShhbHxhcnxiM3xpdHx0NSl8c28oZnR8bnkpfHNwKDAxfGhcLXx2XC18diApfHN5KDAxfG1iKXx0MigxOHw1MCl8dDYoMDB8MTB8MTgpfHRhKGd0fGxrKXx0Y2xcLXx0ZGdcLXx0ZWwoaXxtKXx0aW1cLXx0XC1tb3x0byhwbHxzaCl8dHMoNzB8bVwtfG0zfG01KXx0eFwtOXx1cChcLmJ8ZzF8c2kpfHV0c3R8djQwMHx2NzUwfHZlcml8dmkocmd8dGUpfHZrKDQwfDVbMC0zXXxcLXYpfHZtNDB8dm9kYXx2dWxjfHZ4KDUyfDUzfDYwfDYxfDcwfDgwfDgxfDgzfDg1fDk4KXx3M2MoXC18ICl8d2ViY3x3aGl0fHdpKGcgfG5jfG53KXx3bWxifHdvbnV8eDcwMHx5YXNcLXx5b3VyfHpldG98enRlXC0vaTtoZT13NS5aNigxNCk7ZmU9dzUuWjYoMjMpO3BlPXc1Llo2KDExMSk7X2U9dzUuWjYoMjYwKTtsZT0vbWFjaW50b3NoLztkZT13NS5mNig5MCk7dmU9dzUuZjYoMzMyKTtiZT13NS5mNigyMDApO21lPS9tb3ppbGxhLztnZT13NS5mNigxNzQpO3llPXc1LmY2KDEzNSk7a2U9dzUuZjYoMzc4KTt3ZT0vKD86XHcrKVwvKFtcZFwuXSspKD86JHxcc3xcL3xcKSkrL2k7eGU9dzUuWjYoMzQpO09lPXc1LmY2KDM3Nyk7Q2U9dzUuZjYoNDcyKTtFZT13NS5mNigxMTUpO1BlPXc1Llo2KDE5NCk7VGU9dzUuZjYoNDE0KTtBZT13NS5mNig2NSk7RmU9dzUuWjYoMTA3KTtTZT13NS5mNig0MDMpO2plPXc1LmY2KDI5Mik7TGU9dzUuWjYoNTgpO3plPXc1Llo2KDE2NCk7QmU9Lyg/Ok9QUnxPcGVyYXxPUGlPUylcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0llPXc1LmY2KDIyOSk7TWU9dzUuWjYoNDY3KTtXZT13NS5mNig0NjMpO0RlPXc1Llo2KDQzNyk7VWU9dzUuZjYoMTkzKTtSZT13NS5aNigzMyk7TmU9dzUuZjYoODUpO0hlPXc1LmY2KDQwOCk7cWU9dzUuZjYoMjApO0plPXc1Llo2KDk4KTtWZT13NS5mNigxMzYpOyRlPXc1LmY2KDI3Nyk7UWU9dzUuWjYoNyk7R2U9dzUuWjYoODYpO1llPXc1LmY2KDE3NSk7S2U9dzUuWjYoMjcxKTtaZT13NS5aNigzOTkpO1hlPXc1LmY2KDEzMyk7dGk9dzUuWjYoOTUpO2VpPXc1LmY2KDE1Mik7aWk9dzUuWjYoMzEyKTtuaT13NS5aNigyOTgpO3JpPXc1Llo2KDQzMyk7b2k9dzUuZjYoMTgzKTtzaT0vYW5kcm9pZHx3ZWJvc3xpcGhvbmV8aXBhZHxpcG9kfGJsYWNrYmVycnl8aWVtb2JpbGV8b3BlcmFccyttaW5pLzthaT13NS5aNigzODIpO2NpPXc1LmY2KDEyNyk7dWk9dzUuWjYoMzM2KTtoaT13NS5aNigyOTUpO2ZpPXc1Llo2KDMwNyk7cGk9dzUuZjYoMjUxKTtfaT13NS5mNig0MTkpO2xpPXc1LmY2KDMxKTtkaT13NS5aNigyNzQpO3ZpPXc1LmY2KDQ0Nik7Ymk9dzUuWjYoMTYzKTttaT13NS5mNig5NCk7Z2k9dzUuWjYoMjIwKTt5aT13NS5aNigzNTQpO2tpPXc1Llo2KDE4Nik7d2k9dzUuZjYoNDEyKTt4aT13NS5mNig0NDcpO09pPXc1Llo2KDQwNCk7Q2k9dzUuZjYoNTIpO0VpPXc1Llo2KDY4KTtQaT13NS5mNigzNSk7VGk9dzUuZjYoNTYpO0FpPXc1LmY2KDEwMyk7Rmk9dzUuWjYoMzc5KTtTaT13NS5mNig0NTEpO2ppPXc1Llo2KDQ3NSk7TGk9dzUuWjYoMjEpO3ppPXc1LmY2KDE3MSk7Qmk9dzUuZjYoMTMxKTtJaT13NS5mNig0ODgpO01pPXc1LmY2KDE4MCk7V2k9dzUuWjYoNDQ1KTtEaT0vYnV0dG9ufGlucHV0L2k7VWk9dzUuWjYoMTM0KTtSaT13NS5mNigyMjgpO05pPXc1LmY2KDc4KTtIaT13NS5aNig1NCk7cWk9dzUuWjYoMTY3KTtKaT13NS5mNig0NjUpO1ZpPXc1Llo2KDMzNSk7JGk9dzUuZjYoMTY5KTtRaT13NS5mNigzNjgpO0dpPXc1LmY2KDI4Nyk7WWk9dzUuWjYoMzQ4KTtLaT13NS5mNigzMDEpO1ppPXc1LmY2KDQ0KTtYaT13NS5mNigyNjQpO3RuPXc1LmY2KDc3KTtlbj13NS5mNig0NjApO25uPXc1LmY2KDMzNyk7cm49dzUuWjYoMTU3KTtvbj13NS5aNigzMjUpO3NuPXc1LmY2KDIzNyk7YW49dzUuZjYoNDg2KTtjbj13NS5mNigxNTUpO3VuPXc1Llo2KDEwNCk7aG49dzUuWjYoMzU2KTtmbj13NS5aNig0OCk7cG49dzUuZjYoMjQyKTtfbj13NS5mNig0MDApO2xuPXc1Llo2KDI2NSk7ZG49dzUuZjYoMjg0KTt2bj13NS5aNigyODgpO2JuPXc1LmY2KDQzOSk7bW49dzUuWjYoMzQxKTtnbj13NS5aNigyMDMpO3luPXc1LmY2KDIxNyk7a249dzUuWjYoMzIxKTt3bj13NS5mNig0MzIpO3huPXc1LmY2KDIyKTtPbj02NDc9PSg0OTguMjUsMjAwKT8oMS42OWUrMyw0NjkpOnc1LmY2KDk2KTtDbj13NS5mNigzODMpO0VuPXc1LmY2KDM1OSk7UG49dzUuWjYoMzUwKTtUbj0vXk9wZXJhXC8uKj9QcmVzdG9cLy4qP1ZlcnNpb25cLyhbXGRcLl0rKS9pO0FuPXc1Llo2KDE5MSk7Rm49dzUuZjYoNDQ4KTtTbj13NS5mNigyNDQpO2puPXc1Llo2KDIzMSk7TG49dzUuZjYoMTIwKTt6bj13NS5mNig0NTApO0JuPXc1Llo2KDExOCk7SW49dzUuZjYoNik7TW49dzUuWjYoNzUpO1duPXc1LmY2KDEyMyk7RG49dzUuWjYoMzA0KTtVbj0vcmVzZXR8YnV0dG9ufHN1Ym1pdC9pO1JuPXc1LmY2KDQ4NCk7Tm49dzUuZjYoMTk2KTtIbj13NS5mNigyMjYpO3FuPXc1LmY2KDM1Myk7Sm49dzUuWjYoMTgpO1ZuPXc1LmY2KDE2OCk7JG49dzUuZjYoMzE0KTtRbj13NS5aNig0NzEpO0duPXc1LmY2KDQ1OSk7WW49dzUuZjYoMzE3KTtLbj13NS5mNigyNDkpO1puPS9WZXJzaW9uXC8oW1xkXC5dKylccysobW9iaWxlXC9bXlxzXStccyspP1NhZmFyaS9pO1huPXc1LmY2KDE0NSk7dHI9dzUuWjYoMjQwKTtlcj13NS5mNigxOSk7aXI9dzUuWjYoNDg5KTtucj13NS5aNigyNzYpO3JyPXc1LmY2KDQ4Mik7b3I9dzUuZjYoNDY2KTtzcj13NS5aNigyNzApO2FyPXc1Llo2KDE0Nyk7Y3I9dzUuZjYoMjQpO3VyPXc1LmY2KDgzKTtocj13NS5aNigyNzkpO2ZyPXc1Llo2KDQzKTtwcj13NS5mNig0MjApO19yPXc1LmY2KDQ2Mik7bHI9L2Nocm9tZXxjcmlvcy87ZHI9dzUuWjYoNDExKTt2cj0vIy4qJC87YnI9dzUuZjYoMTU5KTttcj13NS5aNigwKTtncj0vKGNvbXBhdGlibGV8d2Via2l0KS87eXI9L0Z4aU9TXC8oW1xkXC5dKykvaTtrcj13NS5mNig1OSk7d3I9dzUuWjYoMzgpO3hyPXc1LmY2KDE5OCk7T3I9dzUuZjYoMTApO0NyPXc1LmY2KDQ2NCk7RXI9dzUuWjYoMTE2KTtQcj13NS5mNigzNjkpO1RyPXc1LmY2KDEyMSk7QXI9L21zaWV8dHJpZGVudFwvLztGcj13NS5mNigyNTYpO1NyPXc1LmY2KDQ3MCk7anI9dzUuZjYoMjkzKTtMcj13NS5mNig4Nyk7enI9L2Nocm9tZXxvcGVyYXxlZGdlfGNyaW9zfG9waW9zfGZ4aW9zfHVjL2k7QnI9dzUuWjYoMjUyKTtJcj13NS5aNigxMDgpO01yPXc1LmY2KDkxKTtXcj13NS5mNigyKTtEcj13NS5mNigyNjgpO1VyPXc1Llo2KDI3OCk7UnI9dzUuWjYoMzI2KTtOcj13NS5mNig5KTtIcj13NS5mNigxMzIpO3FyPXc1Llo2KDMyNCk7SnI9LyhhbmRyb2lkfGJiXGQrfG1lZWdvKS4rbW9iaWxlfGF2YW50Z298YmFkYVwvfGJsYWNrYmVycnl8YmxhemVyfGNvbXBhbHxlbGFpbmV8ZmVubmVjfGhpcHRvcHxpZW1vYmlsZXxpcChob25lfG9kKXxpcGFkfGlyaXN8a2luZGxlfEFuZHJvaWR8U2lsa3xsZ2UgfG1hZW1vfG1pZHB8bW1wfG5ldGZyb250fG9wZXJhIG0ob2J8aW4paXxwYWxtKCBvcyk/fHBob25lfHAoaXhpfHJlKVwvfHBsdWNrZXJ8cG9ja2V0fHBzcHxzZXJpZXMoNHw2KTB8c3ltYmlhbnx0cmVvfHVwXC4oYnJvd3NlcnxsaW5rKXx2b2RhZm9uZXx3YXB8d2luZG93cyAoY2V8cGhvbmUpfHhkYXx4aWluby9pO1ZyPSgyNDk2LDg0OTUpIT05NzY/dzUuZjYoMjk3KTohITA7JHI9dzUuWjYoNDI2KTtRcj13NS5mNigyMjUpO0dyPXc1LmY2KDE4OCk7WXI9dzUuZjYoNDMxKTtLcj13NS5mNigyNTApO1pyPXc1Llo2KDI2MSk7WHI9dzUuZjYoMTc2KTt0bz13NS5mNigyNSk7ZW89dzUuWjYoMTk1KTtpbz13NS5mNigzMjgpO25vPXc1Llo2KDQwOSk7cm89dzUuZjYoMzQ5KTtvbz13NS5aNigzMjIpO3NvPXc1Llo2KDMxNik7YW89dzUuWjYoMzg1KTtjbz13NS5mNigxMTMpO3VvPXc1LmY2KDQ3NCk7aG89dzUuWjYoMjY3KTtmbz13NS5mNigyNjYpO3BvPXc1Llo2KDQwNyk7X289dzUuWjYoNjMpO2xvPXc1Llo2KDM2Nyk7dm89L3dlYmtpdC87Ym89dzUuWjYoNDUyKTttbz0vc2FmYXJpLztnbz13NS5aNig5Myk7eW89L29wZXJhfG9wcnxvcGlvc1wvLztrbz13NS5aNigzMzEpO3dvPXc1LmY2KDI2KTt4bz13NS5aNigxODIpO09vPXc1LmY2KDM4MCk7Q289dzUuWjYoMTEwKTtFbz13NS5mNigxMTIpO1BvPXc1LmY2KDMwNSk7VG89dzUuZjYoNzQpO0FvPXc1LmY2KDEwMik7Rm89dzUuZjYoNDc4KTtTbz0vYW5kcm9pZC87am89dzUuZjYoMzkxKTtMbz13NS5aNigzMDYpO3pvPXc1LmY2KDQwNSk7Qm89dzUuWjYoOTkpO0lvPXc1Llo2KDM5Nik7TW89dzUuWjYoNDQwKTtXbz13NS5mNig2Nyk7RG89dzUuWjYoNDAxKTtVbz13NS5aNigxNTQpO1JvPXc1LmY2KDI4OSk7Tm89dzUuWjYoMzkzKTtIbz13NS5mNig3OSk7cW89dzUuWjYoMTQwKTtKbz13NS5aNigzNzIpO1ZvPXc1Llo2KDQyMik7JG89dzUuZjYoNDQ5KTtRbz13NS5aNigzOTUpO0dvPXc1Llo2KDIwNik7WW89dzUuWjYoMjQzKTtLbz13NS5mNig2Mik7Wm89dzUuWjYoNDg1KTtYbz13NS5mNigxMzApO3RzPXc1Llo2KDE1Nik7ZXM9dzUuZjYoMjAxKTtpcz13NS5aNigzNjEpO25zPXc1LmY2KDMxNSk7cnM9dzUuWjYoMTIyKTtvcz13NS5mNig3MCk7c3M9dzUuZjYoMjU3KTthcz13NS5aNig0MjUpO2NzPXc1LmY2KDMzMCk7dXM9dzUuZjYoNzMpO2hzPXc1LmY2KDMwMyk7ZnM9dzUuWjYoMTAwKTtwcz13NS5mNigzNzQpO19zPXc1Llo2KDY2KTtscz0oODI2LjA2LDk5Ny4yKSE9PSgyNjIuNzksNzAwLjQpP3c1LmY2KDE3OSk6KG81LHc1Llo2KDM2KSk7ZHM9dzUuWjYoMjIzKTt2cz13NS5mNigxMTkpO2JzPXc1Llo2KDMwOCk7bXM9dzUuZjYoNDcpO2dzPXc1Llo2KDMxOSk7eXM9dzUuZjYoMTgxKTtrcz13NS5mNigzNDUpO3dzPXc1Llo2KDE1KTt4cz0vXigjfGphdmFzY3JpcHQpL2k7T3M9dzUuWjYoMzY2KTtDcz13NS5aNigxOTkpO0VzPXc1Llo2KDM4NCk7UHM9dzUuZjYoNDA2KTtUcz13NS5mNig0MjkpO0FzPXc1LmY2KDI0Nyk7RnM9dzUuZjYoNDQzKTtTcz13NS5mNigzMzgpO2pzPS8oPzpGaXJlZm94fENocm9tZSlcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0xzPXc1Llo2KDM3MCk7enM9dzUuZjYoMzEwKTtCcz13NS5aNigzODYpO0lzPXc1Llo2KDI5NCk7TXM9dzUuWjYoMjgzKTtXcz13NS5aNigzODcpO0RzPXc1LmY2KDM5KTtVcz13NS5aNigxMDYpO1JzPXc1LmY2KDIwMik7TnM9dzUuWjYoMzExKTtIcz13NS5mNig0MzgpO3FzPXc1LmY2KDcxKTtKcz13NS5mNigxMzcpO1ZzPXc1Llo2KDI3KTskcz13NS5aNig4NCk7UXM9L18vZztHcz13NS5aNigxNTgpO1lzPXc1Llo2KDE5Mik7S3M9dzUuZjYoNDIzKTtacz13NS5mNigzMzkpO1hzPXc1Llo2KDE1MCk7dGE9dzUuWjYoMTQyKTtlYT13NS5mNig0KTtpYT13NS5aNig0MTApO25hPXc1LmY2KDIzNik7cmE9dzUuZjYoNDAyKTtvYT13NS5mNigyMTQpO3NhPXc1Llo2KDQxNyk7YWE9dzUuZjYoMTg0KTtjYT13NS5aNigxOTcpO3VhPXc1LmY2KDIzMyk7aGE9dzUuZjYoMzApO2ZhPS9saW51eC87cGE9dzUuWjYoMjgyKTtfYT0vb3BlcmEvO2xhPXc1Llo2KDM2NCk7ZGE9dzUuWjYoMTczKTt2YT13NS5aNigzMDApO2JhPXc1LmY2KDIzNSk7bWE9L2VkZ2V8b3ByXC8vO2dhPXc1LmY2KDI4NSk7eWE9dzUuZjYoNDYpO2thPXc1Llo2KDEzKTt3YT13NS5aNigyMDUpO3hhPXc1LmY2KDIyNCk7T2E9dzUuZjYoMzQ0KTtDYT13NS5aNigyMTMpO0VhPS9FZGdlXC8oW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTtQYT13NS5mNigxMjYpO1RhPXc1Llo2KDExNCk7QWE9L14oPzouKlteXHddKSooW1x3XSspXHMqJC9pO0ZhPXc1LmY2KDM5Mik7U2E9dzUuWjYoNjkpO2phPXc1LmY2KDMpO0xhPXc1LmY2KDQ1KTt6YT13NS5mNigzMjMpO0JhPXc1LmY2KDEzOSk7SWE9dzUuWjYoMTI5KTtNYT13NS5mNig4KTtXYT13NS5mNig0Mik7RGE9dzUuZjYoMSk7VWE9dzUuWjYoODkpO1JhPXc1LmY2KDIwOSk7TmE9dzUuZjYoMjgpO0hhPXc1LmY2KDIxOSk7cWE9dzUuWjYoMjMwKTtKYT13NS5aNig4MSk7VmE9dzUuWjYoMzA5KTskYT13NS5mNigzNDcpO1FhPXc1LmY2KDM4MSk7R2E9dzUuWjYoOTIpO1lhPXc1LmY2KDEyNSk7S2E9dzUuWjYoMzIpO1phPXc1LmY2KDM5MCk7WGE9dzUuZjYoNDY4KTt0Yz13NS5mNigzNik7ZWM9dzUuZjYoMzk3KTtpYz13NS5aNig0ODApO25jPXc1LmY2KDIyMik7cmM9dzUuZjYoNDU3KTtvYz13NS5aNigzNTIpO3NjPXc1Llo2KDI5KTthYz0vaShQaG9uZXxQYWR8UG9kKS9pO2NjPXc1LmY2KDQzNCk7dWM9dzUuZjYoNDIxKTtoYz13NS5aNig0NzMpO2ZjPXc1LmY2KDE3MCk7cGM9dzUuZjYoMjYyKTtfYz13NS5aNigxNTEpO2xjPXc1LmY2KDQ5KTtkYz13NS5mNigyNTQpO3ZjPXc1LmY2KDQyOCk7YmM9dzUuZjYoMTUzKTttYz13NS5aNigyNjkpO2djPXc1Llo2KDU3KTt5Yz13NS5mNigzNTcpO2tjPS9UcmlkZW50XC8uKj9ydjooW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTt3Yz13NS5aNig0NTMpO3hjPXc1Llo2KDQ3Nik7T2M9dzUuZjYoNDU0KTtDYz13NS5mNig0NTgpO0VjPXc1LmY2KDgwKTtQYz0vOlxkKyQvO1RjPXc1Llo2KDI3Mik7QWM9dzUuWjYoMzI3KTtGYz13NS5mNig0NzkpO1NjPXc1Llo2KDYxKTtqYz13NS5mNigyOTEpO0xjPXc1Llo2KDIzMik7emM9dzUuWjYoMTEpO0JjPXc1LmY2KDM0Nik7SWM9dzUuWjYoMTA1KTtNYz13NS5aNig0NzcpO1djPXc1Llo2KDQwKTtEYz13NS5aNig3Nik7VWM9dzUuWjYoMTYpO1JjPXc1Llo2KDIyNyk7TmM9dzUuWjYoMjA0KTtIYz13NS5mNigzNyk7IWZ1bmN0aW9uKHQseSxSdCxYZSxyaSx5aSxBaSxObixkcixVcixpbyxybyxDbyxHcyx6YyxVYyxxYyxKYyxWYywkYyl7InVzZSBzdHJpY3QiO3ZhciBRYyxHYyxZYyxLYyxaYyxYYyx0dSxldSxpdSxudSxydSxvdSxzdSxhdSxjdSx1dSxodSxmdSxwdSxfdSxsdSxkdSx2dSxidSxtdSxndSx5dSxrdSx3dSx4dSxPdSxDdSxFdSxQdSxUdSxBdSxGdTtydT10O3c1Llk0KDApO291PXc1LmM0KHVpLEdyLGJyLF9yLFllLFNpLFR0LGRuLFllLHUsbWksT3QsR3IsWWUsdXIpO3c1Llk0KDEpO3N1PXc1LnU0KGZlLFR0LEh0LG90LFR0KTt3NS5vNCgxKTthdT13NS51NChXaSxQZSxLLF9jLFBlKTt3NS5ZNCgyKTtjdT13NS5jNChydSxnaSk7dzUubzQoMik7dXU9dzUudTQocnUsWm8pO3c1Lm80KDMpO2h1PXc1LmM0KE9jLHJ1LEJpLFV0LEdyLEdyKTt3NS5vNCgyKTtmdT13NS51NChydSwkYSk7cHU9YW87X3U9eGk7bHU9THI7ZHU9bW47dnU9eVtmXVtxbytHcitDXVtYcytHcit0cytHcituY10oKTtidT17dW5kZXI6bzUsbmV3VGFiOm81fTttdT1udWxsO2d1PW81O3l1PSF7fTtrdT1mdW5jdGlvbigpe307dzUuWTQoNCk7d3U9dzUudTQoR3IsT3QsRXQpO3h1PXJpW3ZzK0dyK0FvXXx8e3NyYzpudWxsfTt3NS5vNCg0KTtPdT15W2ZdW3c1LmM0KGVvLEdyLGtyKV07Q3U9eXU7RXU9eXU7UHU9eXU7VHU9ZnVuY3Rpb24oKXt2YXIgRTksbzksdzk7dHJ5e0U5PTM2MDIzMDM0MztvOT01MDA4ODEwMDM7dzk9Mjtmb3IodmFyIGI1PTE7dzUuTDEoYjUudG9TdHJpbmcoKSxiNS50b1N0cmluZygpLmxlbmd0aCw1ODI0MykhPT1FOTtiNSsrKXtyZXR1cm4geVtwXT09PXlbcXJdfHwheVtwXVttcl1bRWldWyhYcy1HciklaF0oKSE9VGM/eVtwXTp5W3FyXTt3OSs9Mjt9aWYodzUuTDEodzkudG9TdHJpbmcoKSx3OS50b1N0cmluZygpLmxlbmd0aCw1MTUyOSkhPT1vOSl7cmV0dXJuIHlbcF0hPT15W3FyXSYmdHlwZW9mIHlbcF1bbXJdW0VpXVtYcytHcitoXSgpPT09VGM/eVtwXTp5W3FyXTt9fWNhdGNoKHQpe3ZhciBBOSxJOSxLOTtBOT0yMjIyMDY4MDc7STk9NDU1MTUwMTA4O0s5PTI7Zm9yKHZhciBROT0xO3c1LkwxKFE5LnRvU3RyaW5nKCksUTkudG9TdHJpbmcoKS5sZW5ndGgsNjg5NDApIT09QTk7UTkrKyl7cmV0dXJuIFB1PWd1LHlbcXJdO0s5Kz0yO31pZih3NS5MMShLOS50b1N0cmluZygpLEs5LnRvU3RyaW5nKCkubGVuZ3RoLDU2NzU3KSE9PUk5KXtyZXR1cm4gUHU9Z3UseVtxcl07fX19KCk7QXU9VHVbSmFdW1FhXTtGdT1mdW5jdGlvbigpe3ZhciB0O3RyeXt0PVR1W0VpXVt1bl07fWNhdGNoKHQpe31yZXR1cm4hUHUmJnR8fChidT17bmV3VGFiOmd1LHVuZGVyOnl1fSx0PXJpW2lhXSksdDt9KCk7S2M9e3Q6W10sbjpmdW5jdGlvbih0KXt2YXIgSDcsdjcsVDc7SDc9MTg2NDAwNjYwNDt2Nz03MzE4NDIzNTE7VDc9Mjtmb3IodmFyIG83PTE7dzUuZDEobzcudG9TdHJpbmcoKSxvNy50b1N0cmluZygpLmxlbmd0aCw5MTY5NikhPT1INztvNysrKXt0eXBlb2YgeVt3c10hPT1nZSYmeVt3c11bT29dJiZObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO1Q3Kz0yO31pZih3NS5kMShUNy50b1N0cmluZygpLFQ3LnRvU3RyaW5nKCkubGVuZ3RoLDI0OTc5KSE9PXY3KXt+eVt3c109PT1nZXx8eVt3c11bT29dfHxObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO319LHI6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9MDt0PHRoaXMudFtwaV07dCsrKXt0aGlzLm4odGhpcy50W3RdKTt9fSxlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9W3RdW0tuXShBaVtYdF1bcW5dW0NpXShhcmd1bWVudHMsMSkpO3RoaXMudFtNcl0oZSk7R2MuaSgpJiZ0aGlzLm4oZSk7fX07ZXU9e3M6ZnVuY3Rpb24oKXtpZih0aGlzLm89PT1tdSl0cnl7eVthcytHcit0aV1bbGkrR3IrRXJdKHJ1LDEpO3lbYXMrR3IrdGldW3huK0dyK0VyXShydSk7dGhpcy5vPWd1O31jYXRjaCh0KXt2YXIgdzcscDcsYjk7dzc9LTE2MTA5ODQyMzA7cDc9OTg2NDU4NDQ2O2I5PTI7Zm9yKHZhciBtOT0xO3c1LmQxKG05LnRvU3RyaW5nKCksbTkudG9TdHJpbmcoKS5sZW5ndGgsODg3MTMpIT09dzc7bTkrKyl7dGhpcy5vPXl1O2I5Kz0yO31pZih3NS5MMShiOS50b1N0cmluZygpLGI5LnRvU3RyaW5nKCkubGVuZ3RoLDMzNDE0KSE9PXA3KXt0aGlzLm89eXU7fXRoaXMubz15dTt9cmV0dXJuIHRoaXMubzt9LHU6ZnVuY3Rpb24odCl7dGhpcy5zKCk/eVthcytHcit0aV1beG4rR3IrRXJdKHQpOnR1LnUodCk7fSxjOmZ1bmN0aW9uKHQpe3RyeXtyZXR1cm4gdGhpcy5zKCk/eVthcytHcit0aV1bYWErR3IrRXJdKHQpOnR1LmModCk7fWNhdGNoKHQpe3JldHVybiBtdTt9fSxvOm11LGE6ZnVuY3Rpb24odCxlKXt0aGlzLnMoKT95W2FzK0dyK3RpXVtsaStHcitFcl0odCxlKTp0dS5hKHQsZSk7fX07dHU9e3U6ZnVuY3Rpb24odCl7dGhpcy5hKHQsMCxuZXcgSmMoMCkpO30sYzpmdW5jdGlvbih0KXt2YXIgZTt3NS5ZNCg1KTtlPXJpW050XVtiY10obmV3IFVyKHc1LnU0KGVyLEdyLEdyLGV0LHNjLHQsR3IsR3IsdHQsdWMsR3IsR3IsSm8sR3IpLGxzKSk7cmV0dXJuIGU/VmMoZVswXVtDcl0oR3IrZXQrR3IpWzFdKTptdTt9LGE6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO3M9aXx8R3I7cyYmKHR5cGVvZiBzPT09V3Q/KG89bmV3IEpjKCkpW2xpK0dyK0hdKG9bYWErR3IrSF0oKSsxZTMqcyk6bz1zLHM9R3IrZXIrZmkrZXQrR3Irb1tYcytHcitWcitHcit4YytHcitXK0dyK2hdKCkpO3JpW050XT10KyhHcitldCtHcikrJGMoR3IrZSkrcysocj9HcitlcitkcytldCtHcityOkdyKSsoR3IrZXIrQXQrZXQrR3IpKyhufHxHcitQZStHcik7fX07WmM9e3A6ZnVuY3Rpb24odCl7dmFyIGUsaTtpPXt9O2ZvcihlPTA7ZTx0W3BpXTtlKyspe2lbdFtlXVswXV09dFtlXVsxXTt9cmV0dXJuIGk7fSxXOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbjt0cnl7cmV0dXJuIG49dFthYStHcitHaV0oZSksdHlwZW9mIGkhPT1UYz95dTohIW5ldyBVcihGbitpK01zLGxzKVtqY10obik7fWNhdGNoKHQpe3JldHVybiB5dTt9fSxBOmZ1bmN0aW9uKCl7dHJ5e3JldHVybiB0eXBlb2YgeS5qUXVlcnkuZm4ub249PT1aczt9Y2F0Y2godCl7cmV0dXJuIHl1O319LEc6ZnVuY3Rpb24odCl7cmV0dXJuKHQ/bmV3IEpjKHQpOm5ldyBKYygpKVthYStHcitIXSgpO30sTTpmdW5jdGlvbih0KXt2YXIgbTAsQTAsSTAsZSxsNyxjNyxWNzttMD0tMTc4MjYxMjU4MTtBMD0tMTYzMzI0MDE2NDtJMD0yO2Zvcih2YXIgcjA9MTt3NS5MMShyMC50b1N0cmluZygpLHIwLnRvU3RyaW5nKCkubGVuZ3RoLDM0ODU4KSE9PW0wO3IwKyspe0kwKz0yO31pZih3NS5MMShJMC50b1N0cmluZygpLEkwLnRvU3RyaW5nKCkubGVuZ3RoLDg0OTA2KSE9PUEwKXt9dHJ5e2w3PS0xMjU4NTI0ODY5O2M3PTc3MTI1MDQ2ODtWNz0yO2Zvcih2YXIgeTc9MTt3NS5kMSh5Ny50b1N0cmluZygpLHk3LnRvU3RyaW5nKCkubGVuZ3RoLDEwMjkyKSE9PWw3O3k3KyspeyhlPXRbSmFdW1FhXShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7VjcrPTI7fWlmKHc1LmQxKFY3LnRvU3RyaW5nKCksVjcudG9TdHJpbmcoKS5sZW5ndGgsMjYwMTcpIT09YzcpeyhlPXRbSmFdW1FhXSgoVWEtVnQpL2NpKSlbYm9dKCk7ZVtJb10oKTt9fWNhdGNoKHQpe30oZT1BdShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7fSxUOmZ1bmN0aW9uKHQpe3QmJihUdVtFaV09dCk7fSxxOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxpPVt5cixUbixFYSxCZSxqcyxabixqdCxrYyx3ZV0sbj0wO248aVtwaV07bisrKWlmKGU9aVtuXVtqY10odnUpKXtyZXR1cm4gdD9VYyhlWzFdLDEwKTplWzFdW1pdKFFzLEdyK1R0K0dyKTt9cmV0dXJuIG11O30sTDpmdW5jdGlvbih0LGUpe3c1Llk0KDcpO3JldHVybiB3NS51NChZZSxlcixHcix0LGllLHlzLEdyLGUsR3IsVmUsVnQsR3IpO30sXzpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUTAsZTAsajA7UTA9LTE2NDA5MDY2NDA7ZTA9MzYxNTQ4MTI4O2owPTI7Zm9yKHZhciB0MD0xO3c1LmQxKHQwLnRvU3RyaW5nKCksdDAudG9TdHJpbmcoKS5sZW5ndGgsMzk3NjcpIT09UTA7dDArKyl7aT15O3c1Llk0KDQpO249dFtDcl0odzUudTQoR3IsVHQsR3IpKTtmb3IoZT0wO2U8bltwaV07ZSsrKXtpPWlbbltlXV07fXJldHVybiBpO2owKz0yO31pZih3NS5MMShqMC50b1N0cmluZygpLGowLnRvU3RyaW5nKCkubGVuZ3RoLDQ3NjE4KSE9PWUwKXtpPXk7dzUuWTQoNik7bj10W0NyXSh3NS51NChUdCxHcixHcikpO2ZvcihlPTQ7ZTw9bltwaV07ZS0tKXtpPWlbbltlXV07fXJldHVybiBpO319LFM6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbyxzMCxEMCxXMCxVMCx4MCx6MDtvPXkualF1ZXJ5fHxudWxsO2lmKHQmJnRbQW5dKXtyZXR1cm4gZ3U7fWlmKCFvKXtyZXR1cm4geXU7fXRyeXtzMD0tMTYxNTA0NTA7RDA9LTE5OTUwMzAzNTQ7VzA9Mjtmb3IodmFyIGMwPTE7dzUuZDEoYzAudG9TdHJpbmcoKSxjMC50b1N0cmluZygpLmxlbmd0aCw5Nzc5KSE9PXMwO2MwKyspe2lmKChlPShvKHQpW2llXShHYSkmJm8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9VzArPTI7fWlmKHc1LkwxKFcwLnRvU3RyaW5nKCksVzAudG9TdHJpbmcoKS5sZW5ndGgsMjI1MTYpIT09RDApe2lmKChlPShvKHQpW2llXShHYSl8fG8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9fX1jYXRjaCh0KXt9dHJ5e1UwPS0xMjgxMDM4MTgyO3gwPS01MjI2MTY2MzI7ejA9Mjtmb3IodmFyIGkwPTE7dzUuTDEoaTAudG9TdHJpbmcoKSxpMC50b1N0cmluZygpLmxlbmd0aCwzMjg1OSkhPT1VMDtpMCsrKXtmb3IoZT1vKHJpW1FyXSlbaWVdKEdhKVtnc10saT00O2k+ZVtwaV07aS0tKWZvcihyPW8oZVtpXVtvZV0pLG49NztuPj1yW3BpXTtuLS0paWYocltuXT09dCl7cmV0dXJuIGd1O316MCs9Mjt9aWYodzUuTDEoejAudG9TdHJpbmcoKSx6MC50b1N0cmluZygpLmxlbmd0aCw4ODE3MikhPT14MCl7Zm9yKGU9byhyaVtRcl0pW2llXShHYSlbZ3NdLGk9NDtpPmVbcGldO2ktLSlmb3Iocj1vKGVbaV1bb2VdKSxuPTc7bj49cltwaV07bi0tKWlmKHJbbl09PXQpe3JldHVybiBndTt9fWZvcihlPW8ocmlbUXJdKVtpZV0oR2EpW2dzXSxpPTA7aTxlW3BpXTtpKyspZm9yKHI9byhlW2ldW29lXSksbj0wO248cltwaV07bisrKWlmKHJbbl09PT10KXtyZXR1cm4gZ3U7fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sQzpmdW5jdGlvbih0LGUsaSl7dmFyIG4scixvO289WmMuTyhvNSk7cmV0dXJuIG49b1t0bytHcit5YV1bbXJdW1VzK0dyK0NuXShkZSksbltPXT1yYStQZStDdCxuW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoSmErVHQrX3QrWWUrR3IrZXQrR3IrWWUrSmErVHQrcCtZZStHcitldCtHcitZZStKYStUdCt1cytHcitDbitZZStHcitldCtHcitZZStkK2VyK0dyKSsoSmErVHQrJG4rWWUrR3IrZXQrR3IrWWUrWnMrUit6K1ZlK0dyK1llK3NvK1ZlK0dyK1llK0NlK1ArR3IrWWUrR3Ird24rR3IpKyh1YStZZStCcytHcitYbytZZStHcitldCtHcitZZStKYStUdCtRYStSK3orVmUrR3IrWWUrc28rVmUrR3IrWWUrQ2UrUCtHcitlcitHcikrKFdyK1llK0dyK3duK0JzK0dyK1hvK1R0K1dvK1llK0dyK2V0K0dyK1llK2QrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSsoTnIrWWUrQnMrR3IrWG8rZXIrR3IpKyhHcitEcitHcitlcitHciksb1t0bytHcit5YV1bbXJdW1FyXVtJdCtHcitXZV0obikscj1vW3RvK0dyK3lhXS5ta3AodCxlLGkpLFpjLlAobykscjt9LEI6ZnVuY3Rpb24odCxlLG4pe3ZhciByLG8scztyPTA7bz1ufHwxMDtzPXQ7dHJ5e2Zvcig7cyYmcisrPG87KXtpZih0eXBlb2YgZT09PVRjJiYoc1tTYytHcittY109PT1lfHxaYy5JKHMsZSkpfHx0eXBlb2YgZT09PWFyJiZzPT09ZSl7cmV0dXJuIHM7fXc1Llk0KDQpO3M9c1t3NS51NChfdCxHcixpKV07fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sRjpmdW5jdGlvbih0KXt2YXIgZTtlPVJ0W1RlXTtyZXR1cm4gdHlwZW9mIHQhPT1nZSYmKGU9KGN0W2pjXSh0KXx8W0dyLEdyXSlbMV0pLGVbWl0oUGMsR3IpO30seDpmdW5jdGlvbih0KXtyZXR1cm4geWlbWHRdW1hzK0dyK2hdW0NpXSh0KT09PUdyK0pvK2FyK1llK2JuK3R0K0dyO30sazpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUjAsUDAsSjA7aT1bXTtuPVpjLnYoKTt0cnl7UjA9LTE2Mjc2MTY5Mzc7UDA9LTIwMDI5NzgxNzY7SjA9Mjtmb3IodmFyIEIwPTE7dzUuTDEoQjAudG9TdHJpbmcoKSxCMC50b1N0cmluZygpLmxlbmd0aCw3NjkxMCkhPT1SMDtCMCsrKXtmb3IoZSBpbiBuKXt+dFtlXSE9Z2V8fGlbTXJdKGUvKChHci1ldCklR3IpLXRbZV0pO31KMCs9Mjt9aWYodzUuTDEoSjAudG9TdHJpbmcoKSxKMC50b1N0cmluZygpLmxlbmd0aCw4NjExMCkhPT1QMCl7Zm9yKGUgaW4gbil7fnRbZV0hPWdlfHxpW01yXShlLygoR3ItZXQpJUdyKS10W2VdKTt9fWZvcihlIGluIG4pe3R5cGVvZiB0W2VdIT09Z2UmJmlbTXJdKGUrKEdyK2V0K0dyKSt0W2VdKTt9fWNhdGNoKHQpe0tjLmUodCk7fXc1Llk0KDQpO3JldHVybiBpW05pXSh3NS5jNChHcixWZSxHcikpO30sUjpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5CKHQsT24pO30seTpmdW5jdGlvbigpe2Zvcih2YXIgdCxlPXt9LGk9MDtpPGFyZ3VtZW50c1twaV07aSsrKWZvcih0IGluIGFyZ3VtZW50c1tpXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0oYXJndW1lbnRzW2ldLHQpJiYoZVt0XT1hcmd1bWVudHNbaV1bdF0pO31yZXR1cm4gZTt9LFY6ZnVuY3Rpb24odCxlKXt2YXIgSjEsWDEsQjE7SjE9NDUyODczNzI5O1gxPTEyNzMxMDM4NTg7QjE9Mjtmb3IodmFyIE4xPTE7dzUuZDEoTjEudG9TdHJpbmcoKSxOMS50b1N0cmluZygpLmxlbmd0aCw1NTI1MSkhPT1KMTtOMSsrKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpKihlLXQpKSt0O0IxKz0yO31pZih3NS5kMShCMS50b1N0cmluZygpLEIxLnRvU3RyaW5nKCkubGVuZ3RoLDI4MzUxKSE9PVgxKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpJShlL3QpKSV0O319LFE6ZnVuY3Rpb24odCl7dmFyIGUsaSxuO3c1Llk0KDgpO2U9dzUuYzQodHlwZW9mIHQsYXIpO2k9dDt3NS5vNCg0KTtuPXJpW1VzK0dyK0NhXSh3NS51NChTbixHcix1bykpO25bTHMrR3IrU24rR3IrQ2FdKGdzLGd1LGd1LHksMCwwLDAsMCwwLGd1LHl1LHl1LGd1LDAsbXUpO2V8fChpPVpjLnooVSx7aHJlZjp0fHxpZStWdCtyYStQZStqbytWZStHcit1aStkZSt1citKYStUdCtJbytSK0dyK1ArR3IrZXIrR3IrdWkrR3IrUGUrZGUrdXIrR3J9KSxyaVtRcl1bSXQrR3IrV2VdKGkpKTtpW2duK0dyK0NhXShuKTtlfHxaYy5QKGkpO30sejpmdW5jdGlvbih0LGUsaSl7dmFyIG4scjtyPXJpW1VzK0dyK0NuXSh0KTtmb3IobiBpbiBlKXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShlLG4pJiZyW2xpK0dyK0dpXShuLGVbbl0pO31yZXR1cm4gaSYmKHJbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPWkpLHI7fSxZOmZ1bmN0aW9uKCl7dHJ5e3c1Lm80KDQpO3JldHVybiEhT3VbdzUuYzQoZW4sUGUsTWMpXVt3NS51NCgkaSxHcixXcyldO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sbDpmdW5jdGlvbih0KXt2YXIgZSxpLFk3LGY3LHM3O2U9WmMuXyh0KTt3NS5ZNCg0KTtpPXRbWl0oQWEsdzUudTQoR3Isem8scSkpO3RyeXtZNz0tMTYzMTA2MDI3MDtmNz0xOTgxNTM2MDYxO3M3PTI7Zm9yKHZhciBXNz0xO3c1LkwxKFc3LnRvU3RyaW5nKCksVzcudG9TdHJpbmcoKS5sZW5ndGgsMTYwMikhPT1ZNztXNysrKXtyZXR1cm4rbmV3IFVyKChacy9ZZS1HcikvIGkveHIsUnMpW2lyXShlW1hzJUdyL2hdKCkpO3M3Kz0yO31pZih3NS5MMShzNy50b1N0cmluZygpLHM3LnRvU3RyaW5nKCkubGVuZ3RoLDExNjM3KSE9PWY3KXtyZXR1cm4hbmV3IFVyKFpzK1llK0dyK2kreHIsUnMpW2lyXShlW1hzK0dyK2hdKCkpO319Y2F0Y2godCl7cmV0dXJuIHRbWHMrR3IraF0oKVtMK0dyK1dhXShrbytZZStycytZZStVK1llK1pzKT4tMT9ndTpYYy5kP2d1Onl1O319LHY6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbzt3NS5vNCg0KTtlPXlbdzUuYzQoUGEsR3IsZyldO3c1Llk0KDQpO2k9eVt3NS5jNChQYSxHcix3YyldO249eVtPaStHcitVZV18fHlbT2krR3IrV25dfHwwO3I9eVtPaStHcit4b118fHlbT2krR3IrQ2NdfHwwO289e307cmV0dXJuIG9bb2NdPWUsb1tLYV09aSxvW0hpXT1uLG9bcF09cixvW29yXT0wLG9bRWldPTEsb1tTcl09MSxvW09yXT0xLG8ucmVzaXphYmxlPTEsb1tNZV09MSxYYy5iJiYob1tLYV0rPVhjLm0/NDY6NTIpLFhjLmcmJihvW29jXS09NSxvW0thXS09NCksdHlwZW9mIHQ9PT1hciYmKG89WmMueShvLHQpKSxvO30sTzpmdW5jdGlvbih0KXt2YXIgZTtlPXJpW1VzK0dyK0NuXShjbik7cmV0dXJuIGVbeGVdW3h0XT1YaSx0JiZyaVtRcl1bSXQrR3IrV2VdKGUpLGU7fSxEOmZ1bmN0aW9uKHQpe3JldHVybiB0W1NjK0dyK21jXT09PUZjK0dyK1ZyK0dyK3hjK0dyK3hjK0dyK2ZjK0dyK2d0fHx0W1NjK0dyK21jXT09PXZhK0dyK2d0K0dyK210K0dyK1ZyK0dyK3hjJiZVbltpcl0odFthYStHcitHaV0oTykpfHx0aGlzLkIodCxGYytHcitWcitHcit4YytHcit4YytHcitmYytHcitndCkhPT15dTt9LFA6ZnVuY3Rpb24odCl7dCYmdFtfdCtHcitpXSYmdFtfdCtHcitpXVt4bitHcitXZV0odCk7fSxJOmZ1bmN0aW9uKHQsZSl7dmFyIG4scixvO2lmKHR5cGVvZiBlIT09VGMpe3JldHVybiB5dTt9aWYodHlwZW9mIHJpW2VlK0dyK3Z0K0dyK21dPT09WnMpdHJ5e3I9dFtfdCtHcitpXVtlZStHcit2dCtHcittXShlKXx8eS5qUXVlcnkoZSk7fWNhdGNoKHQpe31lbHNlIGlmKFpjLkEoKSl0cnl7cj15LmpRdWVyeShlKTt9Y2F0Y2godCl7fWlmKHIpZm9yKG89MDtvPHJbcGldO28rKylpZihyW29dPT09dCl7cmV0dXJuIGd1O31zd2l0Y2goZVswXSl7Y2FzZSBHcitUdCtHcjpuPVtsbyxlW2ZzXSgxKV07YnJlYWs7Y2FzZSBHcitzZStHcjpuPVtWYSxlW2ZzXSgxKV07fXJldHVybiBuP3RoaXMuVyh0LG5bMF0sblsxXSk6eXU7fSxmOmZ1bmN0aW9uKHQsZSl7dHJ5e3JldHVybiEoIXRba2ldW2VdfHwhdFtraV1bZV1bWW5dKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LE46ZnVuY3Rpb24odCl7dmFyIGU7ZT10aGlzLlIodCk7cmV0dXJuIGUmJmVbdW5dJiYheHNbaXJdKGVbdW5dKT9lW3VuXTp5dTt9LEo6ZnVuY3Rpb24odCxlLGksbil7Zm9yKHZhciByLG8scyxhPXRbWHMrR3IraF0oKVtDcl0obnx8R3IrVHQrR3IpLGM9ZVtYcytHcitoXSgpW0NyXShufHxHcitUdCtHciksdT0wLGY9ZHJbQm9dKGFbcGldLGNbcGldKTt1PGYmJihyPVVjKGFbdV18fDAsMTApLG89VWMoY1t1XXx8MCwxMCkscWMocikmJihyPTApLHFjKG8pJiYobz0wKSxzPXI+bz8xOi0xLHI9PT1vKTt1Kyspe3M9MDt9c3dpdGNoKGkpe2Nhc2UgR3IrdXIrR3I6dzUubzQoOCk7cmV0dXJuIHc1LnU0KDEscyk7Y2FzZSBHcit1citHcitldCtHcjp3NS5ZNCg5KTtyZXR1cm4gdzUuYzQocywxKTtjYXNlIEdyK3VpK0dyOnc1Lm80KDEwKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK3VpK0dyK2V0K0dyOnc1Llk0KDExKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK2V0K0dyK2V0K0dyOmNhc2UgR3IrZXQrR3IrZXQrR3IrZXQrR3I6ZGVmYXVsdDp3NS5ZNCg4KTtyZXR1cm4gdzUudTQoMCxzKTt9fSwkOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1wZVtDcl0oR3IpLGk9ZVtwaV0sbj0wLHI9R3I7bjx0O24rKyl7cis9ZVtkcltBY10oZHJbTW5dKCkqaSldO31yZXR1cm4gcjt9LGg6ZnVuY3Rpb24odCxlKXt0cnl7cmV0dXJuIHRbYWErR3IrR2ldKGUpO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sSDpmdW5jdGlvbih0LGUsaSl7dmFyIG47dzUubzQoMik7bj13NS5jNChoaSx0KTtyZXR1cm4gdHlwZW9mIHlbbl0hPT1nZSYmcm8oeVtuXSkseVtuXT1pbyhlLGkpO30sdzpmdW5jdGlvbigpe3JldHVybiBQdTt9LFU6ZnVuY3Rpb24odCl7cmV0dXJuIHRbU2MrR3IrbWNdPT09dmErR3IrZ3QrR3IrbXQrR3IrVnIrR3IreGMmJm5lW2lyXSh0W2FhK0dyK0dpXShPKSl8fHRbU2MrR3IrbWNdPT09cGErR3IrT24rR3IrRmMrR3IrUHMrR3IrcGE7fX07aXU9e3R0OmZ1bmN0aW9uKHQsZSl7dmFyIGkscTUsbTUsQTU7dHJ5e3E1PS0xNDE1MjczNDIzO201PS0zMzc1MDc5MjY7QTU9Mjtmb3IodmFyIEs1PTE7dzUuZDEoSzUudG9TdHJpbmcoKSxLNS50b1N0cmluZygpLmxlbmd0aCwzNzU1NSkhPT1xNTtLNSsrKXtyZXR1cm4gZXx8KGk9cmlbKHdyLUdyKSVqbipHcipMY10odFtIYyVHci9VZV0sdFtIYy9Hci14b10pKT9pOnRbVGldJiZ0W1hzLUdyLUNuXSYmdFsoWHItR3IpJUNuXTtBNSs9Mjt9aWYodzUuTDEoQTUudG9TdHJpbmcoKSxBNS50b1N0cmluZygpLmxlbmd0aCw3MjUzNikhPT1tNSl7cmV0dXJuIGUmJihpPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXSx0W0hjK0dyK3hvXSkpP2k6dFtUaV18fHRbWHMrR3IrQ25dfHx0W1hyK0dyK0NuXTt9fWNhdGNoKHQpe3JldHVybiB5dTt9fSxYOmZ1bmN0aW9uKHQsZSxpLG4pe3JldHVybiB0eXBlb2YgdFtIbitHcitDYStHcitFbl09PT1acz90W0huK0dyK0NhK0dyK0VuXShlLGksbnx8e30pOnRbRmUrR3IrQ2FdKE5vK2UsaSk7fSxLOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByO3I9ZnVuY3Rpb24oKXtpdS5aKHQsZSxyLG4pO2lbQ2ldKCk7fTtpdS5YKHQsZSxyLG4pO30sWjpmdW5jdGlvbih0LGUsaSxuKXtyZXR1cm4gdHlwZW9mIHRbeG4rR3IrQ2ErR3IrRW5dPT09WnM/dFt4bitHcitDYStHcitFbl0oZSxpLG58fHt9KTp0W0tpK0dyK0NhXShObytlLGkpO319OyEoWGM9e2l0OmZhW2lyXSh2dSksbnQ6c3RbaXJdKHZ1KSxtOmxlW2lyXSh2dSksZXQ6YWNbaXJdKHZ1KSxydDpTb1tpcl0odnUpLG90OnNpW2lyXSh2dSl8fEpyW2lyXSh2dSl8fHVlW2lyXSh2dVtmc10oMCw0KSksc3Q6dm9baXJdKHZ1KSxnOkFyW2lyXSh2dSkmJiFfYVtpcl0odnUpLGI6bHJbaXJdKHZ1KSYmIW1hW2lyXSh2dSksYXQ6bWVbaXJdKHZ1KSYmIWdyW2lyXSh2dSksY3Q6eFtpcl0odnUpLGQ6Rltpcl0odnUpLHV0OnlvW2lyXSh2dSksX3Q6bXUscHQ6WmMucShndSl8fG11LGx0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3QhPT1tdT90aGlzLl90OnRoaXMuX3Q9UWMuZHQoKSE9PXl1O30sSjpmdW5jdGlvbih0LGUpe3JldHVybiBaYy5KKFhjLmZ0LGUsdCk7fSxodDptb1tpcl0odnUpJiYhenJbaXJdKHZ1KSxmdDpaYy5xKHl1KXx8bXV9KS5ldHx8WGMuaHR8fFhjLmR8fFhjLmJ8fChYYy51dD1vNSk7KFljPWZ1bmN0aW9uKHQsZSxpKXt2YXIgbjtuPWl8fHt9O25bel09ZTt0aGlzLnZ0KG4pO3RoaXMubXQuYnR8fCh0aGlzLm10LmJ0PXJ1K3QpO3RoaXMuZ3QoKTt9KVtYdF09e2t0OntUdDpndSxDdDptdSxqdDp5dSxFdDpHcitQZStHcixGdDprdSxMdDpndSxBdDp5dSxPdDpndSx4dDptdSxQdDpudWxsLGJ0Om11LHd0Om11LFN0Omt1fSxtdDp7fSx5dDpudWxsLHp0OlpjLnYoKSxCdDpaYy5wKFtbT3IsMF1dKSxJdDpaYy5wKFtbTWUsMV1dKSxNdDpaYy5wKFtbU3IsMV1dKSxXdDpaYy5wKFtbRWksMF0sW1NyLDBdXSksRHQ6WmMucChbW01lLDBdXSksVXQ6WmMucChbW1p0LDBdXSksUnQ6WmMucChbW0VpLDBdXSksc2V0T3B0aW9uczpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy52dCh0KTt9LGd0OmZ1bmN0aW9uKCl7dmFyIHQsZSxpLG47dD1mdW5jdGlvbih0LGUpe3ZhciBpLG47bj17fTtuW3B1XT1beXUsZ3VdO25bX3VdPVt5dSx5dV07bltsdV09W2d1LGd1XTtuW2R1XT1bZ3UseXVdO2ZvcihpIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixpKSYmbltpXVswXT09PXQmJm5baV1bMV09PT1lKXtyZXR1cm4gaTt9cmV0dXJuIF91O307ZT1YYy5sdCgpO2k9dChHYy5tdC4kdC5uZXdUYWIsR2MubXQuJHQudW5kZXIpO249dCh0aGlzLm10LkF0LHRoaXMubXQuVHQpO2V8fG49PT1wdSYmKG49aSk9PT1wdSYmKG49bHUpO1hjLm90JiYobj09PV91JiYobj1kdSksbj09PXB1JiYobj1sdSkpO3RoaXMueXQ9bjt9LEh0OmZ1bmN0aW9uKCl7dmFyIGswLG4wLEYwO2lmKHR5cGVvZiB0aGlzLm10Lnh0PT09WnMpdHJ5e3JldHVybiB0aGlzLm10Lnh0W0NpXSh0aGlzLHRoaXMubXQpW1hzK0dyK2hdKCk7fWNhdGNoKHQpe3JldHVybiBLYy5lKHQpLHl1O31rMD0tMTAwMjA0NzAxMztuMD0tMTY1MTM4NjMwNztGMD0yO2Zvcih2YXIgTTA9MTt3NS5MMShNMC50b1N0cmluZygpLE0wLnRvU3RyaW5nKCkubGVuZ3RoLDY4NDExKSE9PWswO00wKyspe3JldHVybiB0aGlzLm10Lnh0O0YwKz0yO31pZih3NS5kMShGMC50b1N0cmluZygpLEYwLnRvU3RyaW5nKCkubGVuZ3RoLDkwOTM5KSE9PW4wKXtyZXR1cm4gdGhpcy5tdC54dDt9fSxMdDpmdW5jdGlvbigpe3ZhciB0LGUsRzcsQzcsazcsVjAsdTAseTA7dD10aGlzLm10O2U9dC5PdCE9PU5zJiZ0Lk90IT09TmV8fHQuT3Q9PT1OcyYmWGMub3R8fHQuT3Q9PT1OZSYmIVhjLm90O3RyeXtHNz0tMTkzODMwODU3MjtDNz0tMTE3NzY0NDk2NDtrNz0yO2Zvcih2YXIgRjc9MTt3NS5kMShGNy50b1N0cmluZygpLEY3LnRvU3RyaW5nKCkubGVuZ3RoLDg5NDI0KSE9PUc3O0Y3Kyspe3R5cGVvZiB0Lkx0PT09WnM/ZT1lJiZ0Lkx0W0NpXSh0aGlzLGUsdGhpcy5OdCgpKSE9PXl1OnR5cGVvZiB0Lkx0PT09YW4mJihlPWUmJnQuTHQpO2s3Kz0yO31pZih3NS5MMShrNy50b1N0cmluZygpLGs3LnRvU3RyaW5nKCkubGVuZ3RoLDUzNDE4KSE9PUM3KXstdC5MdCE9PVpzP2U9ZXx8dC5MdFtDaV0odGhpcyxlLHRoaXMuTnQoKSk9PT15dTohdC5MdD09YW58fChlPWV8fHQuTHQpO319Y2F0Y2godCl7S2MuZSh0KTt9VjA9Njg3MDAyMDA4O3UwPS0yOTc1OTkyODc7eTA9Mjtmb3IodmFyIHYwPTE7dzUuTDEodjAudG9TdHJpbmcoKSx2MC50b1N0cmluZygpLmxlbmd0aCw2NDU0MSkhPT1WMDt2MCsrKXtyZXR1cm4gR2MuSnQoKT9lfHwtdGhpcy5WdDplfHwrdHUuYyh0LmJ0KTt5MCs9Mjt9aWYodzUuTDEoeTAudG9TdHJpbmcoKSx5MC50b1N0cmluZygpLmxlbmd0aCwyOTMyNSkhPT11MCl7cmV0dXJuIEdjLkp0KCk/ZXx8LXRoaXMuVnQ6ZXx8K3R1LmModC5idCk7fXJldHVybiBHYy5KdCgpP2UmJiF0aGlzLlZ0OmUmJiF0dS5jKHQuYnQpO30sdnQ6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHI7dGhpcy5tdD1aYy55KHRoaXMuenQsdGhpcy5rdCx0aGlzLm10LHR8fHt9KTtmb3IoaSBpbiB0aGlzLm10KWlmKHlpW1h0XVtCYStHcitsdCtHcitvb11bQ2ldKHRoaXMubXQsaSkpc3dpdGNoKG49dGhpcy5tdFtpXSxpKXtjYXNlIHNvOnRoaXMubXQud3Q9bjticmVhaztjYXNlIHo6dGhpcy5tdC54dD1uO2JyZWFrO2Nhc2UgTGU6dGhpcy5tdC5PdD0obitHcilbWHMrR3IrdHMrR3IrbmNdKCk7YnJlYWs7Y2FzZSBOdCtHcittYzp0aGlzLm10LmJ0PW47YnJlYWs7Y2FzZSBOdCtHcitUOnRoaXMubXQuQ3Q9bjticmVhaztjYXNlIE50K0dyK2VhOnRoaXMubXQuRXQ9bjticmVhaztjYXNlIE50K0dyKyRzOnRoaXMubXQuUHQ9bjticmVhaztjYXNlIEVlOnRoaXMubXQuVHQ9bjticmVhaztjYXNlIEErR3IrTG86dGhpcy5tdC5BdD1uO2JyZWFrO2Nhc2UgcHQrR3IramU6dGhpcy5tdC5GdD1uO2JyZWFrO2Nhc2UgamErR3IramU6dGhpcy5tdC5TdD1uO2JyZWFrO2Nhc2UgSWMrR3IrY3I6dGhpcy5tdC5qdD1uO2JyZWFrO2Nhc2UgdGUrR3Irc3M6dGhpcy5tdC5MdD1uO31pZighWGMub3QmJiF0aGlzLm10LkF0KWZvcihyPVtbWGMuZyYmMTE9PT1YYy5wdCx0aGlzLlV0XSxbWGMuYiYmWGMucHQ8NDEsdGhpcy5JdF0sW1hjLmIsdGhpcy5CdF0sW1hjLmQmJlhjLnB0PDQ3LHRoaXMuTXRdLFtYYy51dCx0aGlzLkR0XSxbWGMuY3QsdGhpcy5SdF0sW1hjLmImJlhjLnB0Pj01OSx0aGlzLld0XSxbWGMudXQmJlhjLnB0Pj00Nix0aGlzLld0XV0sZT0wO2U8cltwaV07ZSsrKWlmKHJbZV1bMF0pZm9yKGkgaW4gcltlXVsxXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0ocltlXVsxXSxpKSYmKHRoaXMubXRbaV09cltlXVsxXVtpXSk7fX0sZ2V0T3B0aW9uczpmdW5jdGlvbigpe3JldHVybiB0aGlzLk50KCk7fSxOdDpmdW5jdGlvbigpe3ZhciB0LGU7ZT17fTtmb3IodCBpbiB0aGlzLm10KXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXSh0aGlzLm10LHQpJiZ0W3BpXT49MyYmKGVbdF09dGhpcy5tdFt0XSk7fXJldHVybiBlO30scXQ6ZnVuY3Rpb24oKXtHYy5KdCgpP3RoaXMuVnQ9Z3U6dHUuYSh0aGlzLm10LmJ0LDEsdGhpcy5tdC5DdCx0aGlzLm10LkV0LHRoaXMubXQuUHQpO319OyhudT1mdW5jdGlvbih0KXt2YXIgZTtlPXRoaXM7dGhpcy5RdD10O3RoaXMuR3Q9dGhpcy5ZdCgpO3RoaXMuS3Q9dGhpcy5adCgpO2l1LlgodGhpcy5HdCxncyxmdW5jdGlvbigpe0dzKGUuS3QpO1pjLlAoZS5HdCk7fSk7fSlbWHRdPXtZdDpmdW5jdGlvbigpe3ZhciB0LEs3LHI3LFE3O0s3PS0xODIwMzgxMDU7cjc9MTk5MDM1MjYxMTtRNz0yO2Zvcih2YXIgajc9MTt3NS5kMShqNy50b1N0cmluZygpLGo3LnRvU3RyaW5nKCkubGVuZ3RoLDg2ODQwKSE9PUs3O2o3Kyspe3Q9WmMueihoYyx7Y2xhc3M6ZnV9LEdyKTtyZXR1cm4gdGhpcy5RdFtTYytHcittY11bWHMrR3IrdHMrR3IrbmNdKCk9PT1Rcj9yaVtRcl1bSXQrR3IrV2VdKHQpOnRoaXMuUXRbX3QrR3IraV1bTmMrR3IrT3NdKHQsdGhpcy5RdFtWcytHcitrc10pLHQ7UTcrPTI7fWlmKHc1LkwxKFE3LnRvU3RyaW5nKCksUTcudG9TdHJpbmcoKS5sZW5ndGgsMzM0MykhPT1yNyl7dD1aYy56KGhjLHtjbGFzczpmdX0sR3IpO3JldHVybiB0aGlzLlF0W1NjKkdyL21jXVtYcypHci10cy1Hci1uY10oKT09UXI/cmlbUXJdW0l0L0dyL1dlXSh0KTp0aGlzLlF0W190L0dyJWldWyhOYy1HcikqT3NdKHQsdGhpcy5RdFsoVnMtR3IpJWtzXSksdDt9fSxadDpmdW5jdGlvbigpe3ZhciB0O3Q9dGhpcztyZXR1cm4gQ28oZnVuY3Rpb24oKXt2YXIgZSxpO2k9VWModC5RdFt4ZV1bc24rR3IrenNdLDEwKTt0LlF0W1NjK0dyK21jXVtYcytHcit0cytHcituY10oKT09PVFyJiYoaT05ZTkpOyhlPV9uK1Z0K2dvK2VyK0RhK1Z0K04rZXIrbG4rVnQraytlcitHcisoS2ErVnQrR3IpK3QuUXRbZnIrR3Ird2NdKyhobytlcitHcikrKG9jK1Z0K0dyKSt0LlF0W2ZyK0dyK2ddKyhobytlcitHcikrKEhpK1Z0K0dyKSt0LlF0W2ZyK0dyK1duXSsoaG8rZXIrR3IpKyhwK1Z0K0dyKSt0LlF0W2ZyK0dyK0NjXSsoaG8rZXIrR3IpKyhzbit3aStMK1Z0K0dyKSsocWMoaSk/MjppKzEpKSE9PXQuR3RbYWErR3IrR2ldKHhlKSYmdC5HdFtsaStHcitHaV0oeGUsZSk7fSwxNTApO319O251Llh0PWZ1bmN0aW9uKHQpe3ZhciBlO3c1Llk0KDEyKTtlPXc1LmM0KHJ1LExpLHdpLHdpLEdyLGllLEdyKTt0W2FhK0dyK0dpXShlKXx8dFthYStHcitHaV0obG8pPT09ZnV8fCh0W2xpK0dyK0dpXShlLDEpLG5ldyBudSh0KSk7fTsoUWM9e2R0OmZ1bmN0aW9uKCl7dmFyIHQsZTtlPXRoaXMuZWUoKTtmb3IodD0wO3Q8ZVtwaV07dCsrKWlmKGVbdF1bMV0oKT09PWd1KXtyZXR1cm4gZVt0XVswXTt9cmV0dXJuIHl1O30sZWU6ZnVuY3Rpb24oKXt2YXIgdDt0PVtdO3JldHVybiBYYy5vdHx8WGMuaXQ/W106KHRbTXJdKFt0aGlzLmllLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlhjLnB0Pj02NCYmWGMucHQ8Njc7fV0pLHRbTXJdKFt0aGlzLm5lLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubnQmJlhjLnB0Pj00MyYmWGMucHQ8NjQ7fV0pLHRbTXJdKFt0aGlzLnJlLGZ1bmN0aW9uKCl7dmFyIGI3LHE3LG03O2I3PS02MDMwNTI0OTU7cTc9LTQwNjg3OTgwNDttNz0yO2Zvcih2YXIgSTc9MTt3NS5MMShJNy50b1N0cmluZygpLEk3LnRvU3RyaW5nKCkubGVuZ3RoLDU1NDM5KSE9PWI3O0k3Kyspe3JldHVybiBYYy5ifHxaYy5ZKCl8fFhjLm18fFhjLnB0PD0xN3x8WGMucHQ+PTg5O203Kz0yO31pZih3NS5MMShtNy50b1N0cmluZygpLG03LnRvU3RyaW5nKCkubGVuZ3RoLDYyMDk0KSE9PXE3KXtyZXR1cm4gWGMuYnx8WmMuWSgpfHxYYy5tfHxYYy5wdDw9MTd8fFhjLnB0Pj04OTt9cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubSYmWGMucHQ+PTQ5JiZYYy5wdDw2NDt9XSksdFtNcl0oW3RoaXMub2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZDt9XSksdFtNcl0oW3RoaXMuc2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZyYmWGMucHQ+PTExO31dKSx0W01yXShbdGhpcy5hZSxmdW5jdGlvbigpe3JldHVybiBYYy5odDt9XSksdFtNcl0oW3RoaXMuY2UsZnVuY3Rpb24oKXt2YXIgVDAsRTAsbzA7VDA9MTIwNjMzNjEyMTtFMD0xMjk2MjQyMjUyO28wPTI7Zm9yKHZhciBwMD0xO3c1LmQxKHAwLnRvU3RyaW5nKCkscDAudG9TdHJpbmcoKS5sZW5ndGgsNDUyNzYpIT09VDA7cDArKyl7cmV0dXJuIFhjLnV0fHxYYy5udHx8WGMucHQ+PTc0O28wKz0yO31pZih3NS5MMShvMC50b1N0cmluZygpLG8wLnRvU3RyaW5nKCkubGVuZ3RoLDY1MzgpIT09RTApe3JldHVybiBYYy51dCYmWGMubnQmJlhjLnB0PD00ODt9fV0pLHQpO319KS50ZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMudGVbWHRdPXtfZTprdSx1ZTpmdW5jdGlvbih0KXt2YXIgcjUsUTUsZTU7cjU9LTk1ODI4OTMwMTtRNT0tNjIxNDQ4NDIyO2U1PTI7Zm9yKHZhciBaNT0xO3c1LmQxKFo1LnRvU3RyaW5nKCksWjUudG9TdHJpbmcoKS5sZW5ndGgsOTUyNjgpIT09cjU7WjUrKyl7dGhpcy5mZT10O2U1Kz0yO31pZih3NS5MMShlNS50b1N0cmluZygpLGU1LnRvU3RyaW5nKCkubGVuZ3RoLDE0MzU1KSE9PVE1KXt0aGlzLmZlPXQ7fX0sbGU6a3UscGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhO2k9dGhpcztuPWkuZmU7cj1uLkh0KCk7bz1uLm10O3M9by53dHx8WmMuJCg1KTthPVpjLmsobyk7aWYodD1mdW5jdGlvbigpe3RyeXtpZih0eXBlb2Ygby5GdD09PVpzJiZvLkZ0W0NpXShuLHIsbyk9PT15dSl7cmV0dXJuIHl1O319Y2F0Y2godCl7S2MuZSh0KTt9cmV0dXJuIG11O30sZT1mdW5jdGlvbih0KXtpZih0eXBlb2Ygby5TdD09PVpzKXRyeXtvLlN0W0NpXShuLHIsbyx0KTt9Y2F0Y2godCl7S2MuZSh0KTt9fSx0KCk9PT15dSl7cmV0dXJuIHl1O310eXBlb2Ygb1t6XT09PVRjJiZvW3pdIT09ciYmKHI9b1t6XSk7R2MuanQoby5qdCk7dGhpcy5fZSgpO3RyeXtyZXR1cm4gdGhpcy5sZShyLG8scyxhLGZ1bmN0aW9uKHQpe2kuZGUodCk7aS5oZSYmR2MuaGUoKTtlKHQpO30pO31jYXRjaCh0KXtyZXR1cm4gS2MuZSh0KSx5dTt9fSx2ZTpmdW5jdGlvbih0LGUsaSl7cmV0dXJuKEdjLm10LmJlP1pjLkM6QXUpKHQsZSxpKTt9LGRlOmt1LGhlOmd1fTtRYy5tZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMubWVbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTp5dSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3IodGhpcy52ZSh0LGksbikpO319KTtRYy5nZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuZ2VbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTohWGMub3QmJiFYYy5kLGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7cih0aGlzLnZlKHQsRmkpKTt9fSk7UWMueWU9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnllW1h0XT1aYy55KFFjLnRlW1h0XSx7a2U6ZnVuY3Rpb24oKXt2YXIgdCxlLGk7dD1HYy53ZSgpO2U9R2MueGUuUztpPXR5cGVvZiBHYy5tdC5PZT09PVpzP0djLm10Lk9lW0NpXSgpOkdjLm10Lk9lO3JldHVybiBmdW5jdGlvbigpe3ZhciBuLHI7cmV0dXJuIGkhPT1GdT9pOihuPVpjLiQoMSkscj1lP2k6R2MuQ2UodCl8fGksZXUucygpfHwhWGMub3QmJiFYYy5nP3I6KHR1LmEoY3UsbixtdSkscltaXSh2cixHcikrKEdyK3NlK0dyKStuKSk7fSgpO30sbGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgeDksejksaDksbyxzLGEsYyx1LGgsZixwO3g5PTE3MTA2NjI4Nzg7ejk9LTEwMzk3MjE3MTM7aDk9Mjtmb3IodmFyIEw5PTE7dzUuZDEoTDkudG9TdHJpbmcoKSxMOS50b1N0cmluZygpLmxlbmd0aCwzMDE4NykhPT14OTtMOSsrKXtoOSs9Mjt9aWYodzUuZDEoaDkudG9TdHJpbmcoKSxoOS50b1N0cmluZygpLmxlbmd0aCw0NTQ4MCkhPT16OSl7fWE9dGhpcy5rZSgpO2M9R2Mud2UoKTt1PVpjLk4oYyk7aD0xNTtmPVtdO3A9ZnVuY3Rpb24odCl7dmFyIGU7dHlwZW9mIHRbQW5dPT09WnMmJihlPXRbQW5dLGl1LlgodCxncyxlKSk7dFtBbl09ZnVuY3Rpb24oKXtyZXR1cm4geXU7fTt9O2ZvcihHYy5FZSgpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKSE9PUZpJiZaYy5mKGMsdW4pJiYocChjKSwwIT09Y1thYStHcitHaV0odW4pW0wrR3IrV2FdKEN0KSYmKGE9Y1thYStHcitHaV0odW4pKT09PUdyJiYoYT1GdSkpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKT09PUZpJiZaYy5mKGMsdW4pJiYocChjKSxpbyhmdW5jdGlvbigpe2NbQW5dPW11O30sM2UzKSxHYy5tdC5QZT9hPWNbYWErR3IrR2ldKHVuKTooYT1GdSxYYy5vdCYmKFhjLnV0P2ZbTXJdKGZ1bmN0aW9uKCl7QXUoY1thYStHcitHaV0odW4pLEZpKTt9KTppbyhmdW5jdGlvbigpe0F1KGNbYWErR3IrR2ldKHVuKSxGaSk7fSwyMCkpKSksWGMuZXQmJlhjLnV0fHxYYy5ldCYmWGMuc3QmJiFYYy5kJiYhWGMuYiYmIVhjLmh0PyhBdShhLEZpKSxaYy5IKEJyLGZ1bmN0aW9uKCl7WmMuVCh0KTt9LGgpKTohWGMub3QmJlpjLmgoYyxUaSkhPT1GaSYmKFhjLnV0JiZYYy5zdHx8WGMuaHQmJlhjLnB0PDEwfHxYYy5iJiZYYy5wdDw0MSk/WGMudXQ/KFpjLlEoYSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KFpjLlEodCksY1tTYytHcittY109PT1PbiYmdSYmWmMuVCh1KSk6WGMuZXQmJlhjLmQ/KG89QXUoYSxGaSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KG89eVtRYV0oVWErVnQrY2ksRmkpKT8ob1tFaV1bdW5dPWEsWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6bz1BdSh0LEZpKSxzPTA7czxmW3BpXTtzKyspe2Zbc11bQ2ldKCk7fW8mJnIobyk7fX0pO1FjLm9lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5vZVtYdF09WmMueShRYy50ZVtYdF0se2hlOnl1LGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG87bz10aGlzLnZlKHQsaSxuKTtvW2tuXSgpO1R1W2JvXSgpO1pjLk0obyk7aW8oZnVuY3Rpb24oKXtyKG8pO30sMWUzKTt9fSk7UWMuY2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLmNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZSh0LGksbik7cz1HYy5UZSgxZTMpO2l1LksoeSxibyxmdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9KTtvW2NjXT1mdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9O3Iobyk7fX0pO1FjLmFlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5hZVtYdF09WmMueShRYy50ZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIEQ5LFc5LGw5LG87RDk9MTk0OTIwNzgwOTtXOT04OTkwMjg0O2w5PTI7Zm9yKHZhciBWOT0xO3c1LkwxKFY5LnRvU3RyaW5nKCksVjkudG9TdHJpbmcoKS5sZW5ndGgsNTc4NTApIT09RDk7VjkrKyl7bDkrPTI7fWlmKHc1LkwxKGw5LnRvU3RyaW5nKCksbDkudG9TdHJpbmcoKS5sZW5ndGgsNTEwNjgpIT09Vzkpe315W3NvXT1aYy4kKDUpO289dGhpcy52ZSh0LGksbik7dGhpcy52ZShHcix5W3NvXSxHcik7eVtzb109bXU7cihvKTt9LGhlOnl1fSk7UWMuc2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZShQdT90OkZ1LGksbik7cz1mdW5jdGlvbigpe29bRWldW3VuXT10O307aXUuSyhvLGtuLHMpO29ba25dKCk7VHVbYm9dKCk7aW8ocywxMDApO3Iobyk7fSxoZTp5dX0pO1FjLm5lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5uZVtYdF09WmMueShRYy50ZVtYdF0se0ZlOmZ1bmN0aW9uKCl7dmFyIHQsZTtlPVpjLnooYXIse2RhdGE6WmMuTChlbitQZStNYyx0aGlzLkFlKStaYy4kKDMpfSk7cmV0dXJuKHQ9WmMueihoYyx7c3R5bGU6UGkrVnQrYStlcitvYytWdCtIcytlcitLYStWdCtIcytlcitEYStWdCtOK2VyK3ArVnQrRnIrSGErR3IrZXIrSGkrVnQrem4rZXIrayt3aStHYStWdCtYaStlciskbytWdCthK2VyK0dyfSkpW0l0K0dyK1dlXShlKSxbZSx0XTt9LFNlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMueSh0LHt9KTtyZXR1cm4gZVtwXT1lW0hpXT05ZTUsZVtvY109ZVtLYV09MSxlO30sQWU6THQrR3IrdGErR3IrRmMrR3IrUHMrR3Irb24rR3IrV2MrR3IreG8rR3IrJCtHcithaStHcituK0dyK1NhK0dyK0tyK0dyK1F0K0dyK2t0K0dyK3p0K0dyK3RjK0dyK1l0K0dyK3ZhK0dyK3MrR3IrdmErdWMraG4rR3IrTGErR3IrenQrR3IrVytHcitEYytHcitaYStHcittdCtHcitWaStHcitzYStHcitVZStHcitUYStHcit2YStHcitWaStHcitQcitHcit4bytHcitVZStHcitpYytHcitwbytHcitLcitHcitKK0dyK2hzK0dyK1ppK0dyK3ZhK0dyK1ByK0dyK0xhK0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrWGErR3IrVHMrR3IrWmkrR3IrdmErR3IrUHIrR3IrSGUrR3IrenQrR3IrVytHcitGYytHcit0YytHcityYytHcithZStHcit2aStHcit2YStHcitQcitHcitydCtHcitwcytHcittdCtHcituYStHcitUbytHcityZStHcit4bytHcit0YStHcitqaStHcitXK0dyK2F0K0dyK3ZhK0dyK1ByK0dyK2MrR3IrYit1YytFK0dyK1FvK0dyK3BzK0dyK2RjK0dyK1l0K0dyK3ZhK0dyK1lhK0dyK1hhK0dyK1RzK0dyK1ppK0dyK3ZhK0dyK0dlK0dyK09lK0dyK2dhK0dyK0hvK0dyK3ZhK0dyK1ByK0dyK2t0K0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrdmErR3Ircm4rdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitrdCtHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK09lK0dyK1krR3IrS3QrR3IreG8rR3IrVWUrR3IrYnMrR3IrRnQrR3IrUG8rR3IrRStHcitVZStHcitiaStHcitVZStHcitTZStHcitWcitHcitEcytHcit4bytHcitVZStHcitHbytHcit2YStHcitQdCtHcitVZStHcitScitHcit5YytHcitPZStHcitWbytHcitLcitHcit2YytHcitiZStHcitzK0dyK3hjK0dyK0tvK0dyK3IrR3IrYWkrR3IrZnQrdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitBZStHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK05hK0dyK1RzK0dyK010K0dyK2hyK0dyK1lzK0dyK0tzK0dyK0UrR3IrVWUrR3IrZm4rR3IrcmMrR3IrYWUrR3IrRCtHcitMdCtHcitWcitHcit0YStHcittdCtHcitacitHcitWcitHcitPZSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3ZhciBzLGEsYyx1LGg7dT10aGlzO2g9eXU7dHJ5eyhhPXRoaXMudmUoVWErVnQrY2ksRmkpKVttcl1bcnJdKHc1LnU0KHVyLEdyLEdyLGpvLFBlLHVpLEdyLFFyLEdyLFBlLG8sR3IsdWksdWksR3IsdXIsUGUsR3IsdXIsam8sR3IsdXIsbyx1aSxHcix1cixHcix1aSxRcix1cix1aSx3NS5ZNCgxMykpKTtpdS5LKGEscWEsZnVuY3Rpb24oKXtmdW5jdGlvbiBmKCl7bigpO2FbSW9dKCk7bygpO3JvKGMpO31ofHwoaD1ndSxzPWFbQmNdPUF1KFVhK1Z0K2NpLGksWmMuayh1LlNlKGUpKSksaXUuWChhLGJvLGYpLGM9aW8oZiwzZTMpLGFbbXJdW1FyXVtQYStHcithaStHcit4YytHcit6dCtHcitwYV09dS5GZSgpWzFdW1BuK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXSk7ZnVuY3Rpb24gbigpe3c1Llk0KDE0KTthW21yXVtRcl1bdzUudTQoUGEsenQsR3IsR3IsR3IseGMsR3IsYWkscGEpXT1Hcjt9ZnVuY3Rpb24gbygpe3ZhciBhMSxZMSxmMTthMT0tMTU2OTI3MTMyMDtZMT0yMzc1ODcyNDtmMT0yO2Zvcih2YXIgRDE9MTt3NS5MMShEMS50b1N0cmluZygpLEQxLnRvU3RyaW5nKCkubGVuZ3RoLDk0NDMyKSE9PWExO0QxKyspe3NbRWMlR3ItYmFdKGVbSGldLGVbcF0pO3NbZGElR3IqYmFdKGVbb2NdLGVbS2FdKTtzW0VpXVtaXSh0KTtyKHMpO2YxKz0yO31pZih3NS5kMShmMS50b1N0cmluZygpLGYxLnRvU3RyaW5nKCkubGVuZ3RoLDYyNDUzKSE9PVkxKXtzW0VjJUdyLWJhXShlW0hpXSxlW3BdKTtzW2RhJUdyKmJhXShlW29jXSxlW0thXSk7c1tFaV1bWl0odCk7cihzKTt9c1tFYytHcitiYV0oZVtIaV0sZVtwXSk7c1tkYStHcitiYV0oZVtvY10sZVtLYV0pO3NbRWldW1pdKHQpO3Iocyk7fX0pO31jYXRjaCh0KXt9fX0pO1FjLnJlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5yZVtYdF09WmMueShRYy5uZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG8scztzPVpjLk8oZ3UpO2l1LksoeSxibyxmdW5jdGlvbigpe1pjLlAocyk7b1tFaV1bWl0odCk7cihvKTt9KTt3NS5vNCg0KTtvPXRoaXMudmUodzUuYzQoVWEsVnQsY2kpLEZpKTtzW3RvK0dyK3lhXVttcl1bcnJdKHRoaXMuRmUoKVsxXVtQbitHcithaStHcit4YytHcit6dCtHcitwYV0pO319KTtRYy5pZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuaWVbWHRdPVpjLnkoUWMudGVbWHRdLHtMZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47aT10aGlzO249eXU7dzUubzQoNCk7ZT10aGlzLnZlKHc1LmM0KFVhLFZ0LGNpKSx0Lnd0fHxGaSx0LkJlfHxHcik7dC56ZSYmKGUmJmVbSW9dKCksbj1ndSk7IW4mJmUmJmlvKGZ1bmN0aW9uKCl7ZVtFaV1bdW5dPXQueHQ7dC5JZSYmaS5JZShlKTt9LDEwMCk7fSx1ZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47bj10aGlzO3RoaXMuamU9ZHJbTW5dKCk7dGhpcy5mZT10O2U9R2Mud2UoKTt3NS5vNCgxNSk7aT1aYy5CKGUsdzUuYzQoZ3QsR3IseGMsR3IsR3IsRmMseGMsR3IsZmMsR3IsVnIpKTsoZVtTYytHcittY109PT1PbiYmZVthYStHcitHaV0oanIpIT09RmkmJiFaYy5TKGUpfHxpJiYhWmMuUyhpKSkmJih0aGlzLmhlPWd1KTtpdS5YKHksSWUsZnVuY3Rpb24gdChlKXt0cnl7ZVtpZV0uamU9PT1uLmplJiZuLkxlKGVbaWVdKTtlW2llXS56ZSYmaXUuWih5LEllLHQpO31jYXRjaCh0KXt9fSk7fSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3RoaXMuSWU9cjt0aGlzLk1lKHtqZTp0aGlzLmplLEJlOm4sSWU6Z3UseHQ6dH0pO3RoaXMuTWUoe2plOnRoaXMuamUsemU6Z3UseHQ6VWErVnQrY2l9KTt9LGhlOnl1LE1lOmZ1bmN0aW9uKHQpe3lbSnQrR3IrWF0odCx5W0VpXVtSb10pO319KTtHYz17X2k6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5RaSgpK3RoaXMuSGkoKT5aYy5HKCk7fSxLaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm10LkplO30sSmU6ZnVuY3Rpb24oKXt2YXIgdDt0PVpjLngoYXJndW1lbnRzWzBdKT9hcmd1bWVudHNbMF06YXJndW1lbnRzO3JldHVybiB0aGlzLm5uKHQsUm4sdFtwaV0mJnRbMF09PT15dSk7fSxraTpmdW5jdGlvbih0LGUsaSxuKXt0aGlzLk9pKGksdCxndSl8fG4oZ3UseXUpO30sV2k6ZnVuY3Rpb24odCl7dHJ5e3JldHVybiB0W3F0XSYmMCE9PXRbcXRdfHx0aGlzLmNpLkcrMTUwPlpjLkcoKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LFJpOmZ1bmN0aW9uKCl7dGhpcy5XZT1bXTt9LFlpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQucWU7fSxVaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLldlO30sWmU6bXUsVGk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHx0aGlzLnFpKHQpKXtyZXR1cm4geXU7fWlmKCF0aGlzLm10LnFlW3BpXXx8dFthYStHcitHaV0obG8pPT09ZnUpe3JldHVybiBndTt9Zm9yKDtlPHRoaXMubXQucWVbcGldO2UrKylpZih0PT09dGhpcy5tdC5xZVtlXXx8dHlwZW9mIHRoaXMubXQucWVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5xZVtlXVtYcytHcitwcitHcituY10oKXx8WmMuSSh0LHRoaXMubXQucWVbZV0pKXx8WmMuQih0LHRoaXMubXQucWVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LHdlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueGUuUXQ7fSxMaTpmdW5jdGlvbigpe3ZhciB0LGU7ZT10aGlzO3RoaXMuWmU9WmMueihoYyx7c3R5bGU6b2MrVnQrRnIrSGErR3IrZXIrS2ErVnQrRnIrSGErR3IrZXIrRGErVnQrSXMrZXIrcCtWdCt6bitlcitIaStWdCt6bitlcitzbit3aStMK1Z0K25vK2VyK3h0K1Z0K1hpK2VyK0dyfSxHcik7dD1DbyhmdW5jdGlvbigpe3ZhciBpO2k9cmlbUXJdO2kmJihHcyh0KSxpW0l0K0dyK1dlXShlLlplKSk7fSwxMDApO30saGk6ZnVuY3Rpb24oKXt2YXIgTjksYTksWTksdCxlLGk7Tjk9LTUxNTA4MTc1NzthOT0tMTMwNjg1MTEzNztZOT0yO2Zvcih2YXIgczk9MTt3NS5kMShzOS50b1N0cmluZygpLHM5LnRvU3RyaW5nKCkubGVuZ3RoLDEwMDExKSE9PU45O3M5Kyspe1k5Kz0yO31pZih3NS5MMShZOS50b1N0cmluZygpLFk5LnRvU3RyaW5nKCkubGVuZ3RoLDQ1MzQ0KSE9PWE5KXt9aT10aGlzLlhlLm9pO2Zvcih0PTA7dDx0aGlzLmZpW3BpXSYmKCF0aGlzLnBpKCkmJiF0aGlzLl9pKCkpO3QrKyl7aWYoZT10aGlzLmZpW3RdLHRoaXMuWGUuc2krKyx0aGlzLlhlLm9pPVpjLkcoKSx0aGlzLmxpKGUpPT09eXUpe3JldHVybiB0aGlzLlhlLnNpLS0sdm9pZCh0aGlzLlhlLm9pPWkpO31pPXRoaXMuWGUub2k7ZXUuYShodSx0aGlzLlhlLm9pKTtlLnl0PT09bHUmJmV1LmEodXUsdGhpcy5YZS5zaSk7fX0sT2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBuLHIsbyxzO3c1Lm80KDQpO289dzUuYzQoR3IsVHQsR3IpO3c1Llk0KDIpO3M9dzUuYzQobyx0KTtmb3Iobj0wO248ZVtwaV07bisrKWlmKHI9KEdyK090K0dyK1R0K0dyKVtMK0dyK1dhXShlW25dWzBdKT4tMT9lW25dOm8rZVtuXSxzW2ZzXShzW3BpXS1yW3BpXSk9PT1yfHxpJiZyPT09d3Upe3JldHVybiBndTt9cmV0dXJuIHl1O30sZW46ZnVuY3Rpb24odCxlKXt2YXIgTDAsZDAsTzAsaSxuO0wwPTEyMjU5MjUxNjQ7ZDA9LTc2NDA0NzIyNjtPMD0yO2Zvcih2YXIgQzA9MTt3NS5MMShDMC50b1N0cmluZygpLEMwLnRvU3RyaW5nKCkubGVuZ3RoLDk4MzQ3KSE9PUwwO0MwKyspe08wKz0yO31pZih3NS5MMShPMC50b1N0cmluZygpLE8wLnRvU3RyaW5nKCkubGVuZ3RoLDg1NTk4KSE9PWQwKXt9aT10aGlzO249dGhpcy50bih0LGUpO3RoaXMuV2VbTXJdKG4pO3RoaXMuRGkobik7dGhpcy5pbnx8KEdjLkNpKCksZnVuY3Rpb24oKXt2YXIgdCxlO1hjLmImJigoZT1yaVtVcytHcitDbl0oaGMpKVtSYytHcitpdF0oVmEsZnVuY3Rpb24oKXtDdT1ndTt9KSxDdT1vNSx0PUNvKGZ1bmN0aW9uKCl7aWYoQ3U9eXUsIWkubXQuUmUpe2lmKHR5cGVvZiB5W3dzXSE9PWFyfHx0eXBlb2YgeVt3c11bT29dIT09WnMpe3JldHVybiBDdT1vNSx2b2lkIEdzKHQpO315W3dzXVtPb10oZSk7eVt3c11bTWldKCk7fX0sNTAwKSk7fSgpLHRoaXMuaW49bzUpO30sUGk6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuSmkoKSx0P3RoaXMuZmlbcGldOnRoaXMuZmlbcGldPjA7fSx2aTpmdW5jdGlvbigpe3ZhciB0LGU7dD1aYy5HKCk7ZT1aYy5HKGF1KTt3NS5ZNCgxNik7dGhpcy5YZS5yaT13NS5jNChlLHQsMzE1MzYwMDAwMDApO3RoaXMuWGUucmkmJih0aGlzLmxpPWt1KTt9LEJpOmZ1bmN0aW9uKCl7dmFyIHQ7dD1VYyhldS5jKGh1KSwxMCk7cWModCkmJih0PTApO3RoaXMuWGUub2k9dDt9LENlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMuTih0KTtyZXR1cm4gZSYmIXRoaXMubXQuTmUmJlpjLlModCk/eXU6ZTt9LGp0OmZ1bmN0aW9uKHQpe3ZhciBlLGksbjtlPXR5cGVvZiB0PT09Z2U/Z3U6ISF0O3c1Lm80KDIpO2k9dzUuYzQocnUsSSk7bj1yaVthYStHcitDbitHcitpaStHcit0bl0oaSk7ZT9ufHwobj1aYy56KERvLHtjb250ZW50OkljK3dpK2lhLG5hbWU6aWEsaWQ6aX0pLHJpW2FhK0dyK1JlK0dyK2lpK0dyK1JpK0dyK21jXShvKVswXVtJdCtHcitXZV0obikpOm4mJlpjLlAobik7fSxHaTpmdW5jdGlvbigpe3RoaXMuWGUuaWk9Z3U7dGhpcy5oaT1rdTt9LEp0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQuRGU7fSx5aTpmdW5jdGlvbih0LGUsaSxuLHIpe2Zvcih2YXIgbyxzPTA7czxlJiYobz10W3NdLCEoMT09PW4mJihyKGlbcytlXSx0W3NdKmlbc10rcysoaVtzXT4+cyszKSl8fHIoaVtzKzIqZV0sdFtzXSoodFswXSt0WzFdK3RbMl0pKyhpW3NdPDxzKSl8fHIoaVtzKzMqZV0sZHJbQWNdKHRbMF0qdFsxXSp0WzJdL28pK28rKGlbc10+PnMpKSl8fG48MSYmKHIoaVtzK2VdLHRbc10qaVtzXStzKXx8cihpW3MrMiplXSx0W3NdKih0WzBdK3RbMV0rdFsyXSkpfHxyKGlbcyszKmVdLGRyW0FjXSh0WzBdKnRbMV0qdFsyXS9vKStvKSkpKTtzKyspO30scWk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHwhdGhpcy5tdC5KZVtwaV0pe3JldHVybiB5dTt9Zm9yKDtlPHRoaXMubXQuSmVbcGldO2UrKylpZih0PT09dGhpcy5tdC5KZVtlXXx8dHlwZW9mIHRoaXMubXQuSmVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5KZVtlXXx8WmMuSSh0LHRoaXMubXQuSmVbZV0pKXx8WmMuQih0LHRoaXMubXQuSmVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LGNpOnt1aTp7fSxHOjB9LEhpOmZ1bmN0aW9uKCl7cmV0dXJuIFhjLm90P2RyW0JvXSh0aGlzLm10LlZlLDFlMyk6WGMuYnx8WGMuZ3x8WGMuY3R8fFhjLnV0JiYhWGMuZXQ/ZHJbQm9dKHRoaXMubXQuVmUsMjAwKTp0aGlzLm10LlZlO30sRWU6ZnVuY3Rpb24odCl7dmFyIGUsWjcsdDcsVTc7Wjc9LTEyNTc1NDEyNDI7dDc9MTMwMDY1ODcyMDtVNz0yO2Zvcih2YXIgejc9MTt3NS5MMSh6Ny50b1N0cmluZygpLHo3LnRvU3RyaW5nKCkubGVuZ3RoLDgzNTc3KSE9PVo3O3o3Kyspe2U9dHx8dGhpcy5jaS51aTtVNys9Mjt9aWYodzUuZDEoVTcudG9TdHJpbmcoKSxVNy50b1N0cmluZygpLmxlbmd0aCwzMDU1KSE9PXQ3KXtlPXQmJnRoaXMuY2kudWk7fXRyeXtlW01vK0dyK25pXSYmZVtNbytHcituaV0oKTtlW3FlK0dyK19zXSYmZVtxZStHcitfc10oKTt3NS5vNCg0KTtlW3c1LmM0KE5yLEdyLGNvKV09eXU7dzUubzQoNCk7ZVt3NS51NChtcyxHcixIcildPWd1O31jYXRjaCh0KXt9fSxpOmZ1bmN0aW9uKCl7dmFyIE8xLEcxLEMxO08xPS0xMzAyMzI0NTE3O0cxPTg4ODY0MDYzMDtDMT0yO2Zvcih2YXIgbjE9MTt3NS5kMShuMS50b1N0cmluZygpLG4xLnRvU3RyaW5nKCkubGVuZ3RoLDU5MTU1KSE9PU8xO24xKyspe3JldHVybiB0aGlzLm10LlVlfHx0aGlzLm10LkRlO0MxKz0yO31pZih3NS5MMShDMS50b1N0cmluZygpLEMxLnRvU3RyaW5nKCkubGVuZ3RoLDIzODAyKSE9PUcxKXtyZXR1cm4gdGhpcy5tdC5VZSYmdGhpcy5tdC5EZTt9fSxwaTpmdW5jdGlvbigpe3ZhciBoNyxpNyxMNztoNz0tMTUxMTEyMzE1NDtpNz0tMTY3MjAwNTI5NjtMNz0yO2Zvcih2YXIgTzc9MTt3NS5kMShPNy50b1N0cmluZygpLE83LnRvU3RyaW5nKCkubGVuZ3RoLDMyNTMzKSE9PWg3O083Kyspe3JldHVybiB0aGlzLiRpKCk8dGhpcy5tdC5IZTtMNys9Mjt9aWYodzUuTDEoTDcudG9TdHJpbmcoKSxMNy50b1N0cmluZygpLmxlbmd0aCwxOTk5KSE9PWk3KXtyZXR1cm4gdGhpcy4kaSgpPj10aGlzLm10LkhlO319LGdpOmZ1bmN0aW9uKHQsZSxpLG4scil7Zm9yKHZhciBvLHM9MDtzPGUmJihvPXRbc10sISgxPT09biYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzErKGlbc108PGlbc10lMTApLGlbZStzXSl8fHIob1trZStHcitucytHcitCaV0ob1twaV0tMSkqaVtzXSoyK3MrKGlbc10+PnMpLGlbMiplK3NdKXx8cihvW3BpXSppW3NdKjMrKGlbc108PHMpLGlbMyplK3NdKSl8fG48MSYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzEsaVtlK3NdKXx8cihvW2tlK0dyK25zK0dyK0JpXShvW3BpXS0xKSppW3NdKjIrcyxpWzIqZStzXSl8fHIob1twaV0qaVtzXSozLGlbMyplK3NdKSkpKTtzKyspO30sV2U6W10sdG46ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IFljKHRoaXMuV2VbcGldLHQsZSk7fSxBaTpmdW5jdGlvbih0KXt0aGlzLmNpLnVpPXQ7dGhpcy5jaS5HPVpjLkcoKTt9LGFpOltdLE1pOmZ1bmN0aW9uKHQpe3JldHVybiBudS5YdCh0KSx0aGlzO30sWmk6ZnVuY3Rpb24oKXtyZXR1cm4gWmMucChbW1RyLHRoaXMubXQuRGVdLFtvaSx0aGlzLm10LlVlXSxbd3QsdGhpcy5tdC5SZV0sW0xyK0dyK3plLHRoaXMubXQuT2VdLFtSbitHcitFbix0aGlzLm10Lk5lXSxbRHQsdGhpcy5tdC5IZV0sW2xjK0dyK2JhLHRoaXMubXQucWVdLFtSbitHcitiYSx0aGlzLm10LkplXSxbUW4sdGhpcy5tdC5WZV0sW3crR3IrVix0aGlzLm10LiRlXSxbdytHcitEbix0aGlzLm10LlFlXSxbcG4rR3IrdHIrR3IrTG4sdGhpcy5tdC5HZV0sW0JzK0dyK2wrR3IrU3MsdGhpcy5tdC4kdF0sW05zK0dyKyRyLHRoaXMubXQuWWVdLFtJYytHcitwYytHcitfaSx0aGlzLm10LmJlXSxbTHMrR3IrYnQsdGhpcy5tdC5LZV0sW0IrR3IrdmUrR3IrX28rR3IreW4rR3IrTG4sdGhpcy5tdC5QZV1dKTt9LFRlOmZ1bmN0aW9uKHQpe3ZhciBlLGk7aT1aYy5PKGd1KTtyZXR1cm4gZT1pW3RvK0dyK3lhXVttcl1bVXMrR3IrQ25dKGRlKSwwPT09eVtFaV1bdW5dW0wrR3IrV2FdKGorVnQrR3IpP2VbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPUdyKyhXcitZZStHcit3bitHcikrKGYrVHQrUytUdCthYStHcitaZStHcitRaStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKTplW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoV3IrWWUrR3Ird24rR3IpKyhZcitUdCtjYStHcitfZStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSxpW3RvK0dyK3lhXVttcl1bUXJdW0l0K0dyK1dlXShlKSx0eXBlb2YgdCE9PVd0JiZ0eXBlb2YgdCE9PWdlfHxpbyhmdW5jdGlvbigpe1pjLlAoaSk7fSx0fHw1MDApLGk7fSxOaTpmdW5jdGlvbigpe3ZhciBvMSx3MSxwMTtvMT0tMjExMjgyOTI0MDt3MT00MjIxODMwODI7cDE9Mjtmb3IodmFyIHEwPTE7dzUuZDEocTAudG9TdHJpbmcoKSxxMC50b1N0cmluZygpLmxlbmd0aCwzNTgxNCkhPT1vMTtxMCsrKXtmb3IodmFyIHQsZT02O2U8PXRoaXMuV2VbcGldO2UtLSl7dD10aGlzLldlW2VdO3R1LnUodC5tdC5idCk7fXRoaXMuWGUub2k9dGhpcy5YZS5zaT00O2V1LnUodXUpO2V1LnUoY3UpO2V1LnUoaHUpO3AxKz0yO31pZih3NS5MMShwMS50b1N0cmluZygpLHAxLnRvU3RyaW5nKCkubGVuZ3RoLDUxMjkxKSE9PXcxKXtmb3IodmFyIHQsZT0yO2U8dGhpcy5XZVtwaV07ZSsrKXt0PXRoaXMuV2VbZV07dHUudSh0Lm10LmJ0KTt9dGhpcy5YZS5vaT10aGlzLlhlLnNpPTM7ZXUudSh1dSk7ZXUudShjdSk7ZXUudShodSk7fWZvcih2YXIgdCxlPTA7ZTx0aGlzLldlW3BpXTtlKyspe3Q9dGhpcy5XZVtlXTt0dS51KHQubXQuYnQpO310aGlzLlhlLm9pPXRoaXMuWGUuc2k9MDtldS51KHV1KTtldS51KGN1KTtldS51KGh1KTt9LHppOmZ1bmN0aW9uKCl7dmFyIHQ7dD0wO3JldHVybiBldS5zKCk/KHQ9ZXUuYyh1dSksZXUudSh1dSkpOnR1LmModXUpJiYocmlbaWFdPT09UnRbdW5dfHx+UnRbdW5dW0wrR3IrV2FdKEdyK3NlK0dyK3R1LmMoY3UpKSkmJih0PXR1LmModXUpLGlvKGZ1bmN0aW9uKCl7dHUudSh1dSk7dHUudShjdSk7fSwzMDApKSx0PVVjKHQsMTApLHQ9cWModCk/MDp0LHRoaXMuWGUuc2k9dDt9LG10OntOZTpndSxLZTp5dSxKZTpbXSxWZTowLCR0OmJ1LCRlOltdLERlOnl1LE9lOkZ1LEhlOjk5OTksUmU6eXUscWU6W10sWWU6MTAsVWU6eXUsUWU6Z3UsUGU6eXUsYmU6eXUsR2U6Z3V9LCRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuWGUuc2k7fSxRaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLlhlLm9pO30sYmk6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhLGMsdSxuOSxGOSxnOTtzPXRoaXM7YT0wO2M9dGhpcy5YZTt1PWZ1bmN0aW9uKHQsZSl7dmFyIFA5LEo5LFg5O1A5PTMyNTI1NjI2O0o5PS05NTA1MjQwNDM7WDk9Mjtmb3IodmFyIFM5PTE7dzUuTDEoUzkudG9TdHJpbmcoKSxTOS50b1N0cmluZygpLmxlbmd0aCw0ODQ5MykhPT1QOTtTOSsrKXtyZXR1cm4gdD09PWV8fChjLm5pPWd1LHMubGk9a3UpLHQhPWU7WDkrPTI7fWlmKHc1LkwxKFg5LnRvU3RyaW5nKCksWDkudG9TdHJpbmcoKS5sZW5ndGgsNTM4MDApIT09Sjkpe3JldHVybiB0IT09ZSYmKGMubmk9Z3Uscy5saT1rdSksdCE9PWU7fX07aWYodHlwZW9mIHlbcnVdW2FyXSE9PWdlKXtjLm5pPW11O3Q9eVtydV1bYXJdW1huXSgpO2U9eVtydV1bYXJdW1huXSgpO2k9eVtydV1bYXJdW1huXSgpO249eVtydV1bYXJdW1huXSgpO3I9WmMuRigoeVtydV1bYXJdW1huXSgpfHx7c3JjOm51bGx9KVtYcl0pO289WmMuRih4dVtYcl0pO3RyeXtuOT0xNDUwNjEyMjI1O0Y5PS01NjY0Nzc2Nzc7Zzk9Mjtmb3IodmFyIFI5PTE7dzUuZDEoUjkudG9TdHJpbmcoKSxSOS50b1N0cmluZygpLmxlbmd0aCwyODY5NSkhPT1uOTtSOSsrKXthPXlbcnVdW2FyXVtYbl0oKSYmNztnOSs9Mjt9aWYodzUuZDEoZzkudG9TdHJpbmcoKSxnOS50b1N0cmluZygpLmxlbmd0aCwzODQzOCkhPT1GOSl7YT15W3J1XVthcl1bWG5dKCkmJjc7fWE9eVtydV1bYXJdW1huXSgpfHwwO31jYXRjaCh0KXt9YT1kcltCb10oMCxkcltrYV0oMSxhKSk7dGhpcy5taSh0LG8scix1KTt0aGlzLmdpKHQsdFtwaV0sZSxhLHUpO3RoaXMueWkoaSxpW3BpXSxuLGEsdSk7dGhpcy5raSh0LHRbcGldLFpjLkYoKSx1LHUpO3RoaXMud2koaSxaYy5HKCkpO2Mubmk9PT1tdSYmKGMubmk9eXUpO31jLnhpPWF8fDA7fSxFaTpmdW5jdGlvbih0LGUpe3ZhciBkOSxPOSxHOTtkOT04MzA2MTMyMTE7Tzk9MTQwNDM5MjY4MztHOT0yO2Zvcih2YXIgazk9MTt3NS5kMShrOS50b1N0cmluZygpLGs5LnRvU3RyaW5nKCkubGVuZ3RoLDE2MDEwKSE9PWQ5O2s5Kyspe3RoaXMueGUuUXQ9dDt0aGlzLnhlLlM9ZTtHOSs9Mjt9aWYodzUuZDEoRzkudG9TdHJpbmcoKSxHOS50b1N0cmluZygpLmxlbmd0aCw3Njg2OSkhPT1POSl7dGhpcy54ZS5RdD10O3RoaXMueGUuUz1lO319LFhpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbix1OSx5OSxIOTtuPXR8fHt9O2ZvcihlIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixlKSlzd2l0Y2godGhpcy5tdFtlXT1pPW5bZV0sZSl7Y2FzZSBUcjp0aGlzLm10LkRlPWk7YnJlYWs7Y2FzZSBvaTp0aGlzLm10LlVlPWk7YnJlYWs7Y2FzZSB3dDp0aGlzLm10LlJlPWk7YnJlYWs7Y2FzZSBMcitHcit6ZTp0aGlzLm10Lk9lPWk7YnJlYWs7Y2FzZSBSbitHcitFbjp0aGlzLm10Lk5lPWk7YnJlYWs7Y2FzZSBEdDp0aGlzLm10LkhlPWk7YnJlYWs7Y2FzZSBsYytHcitiYTp0aGlzLnFlW29hXSh0aGlzLGkpO2JyZWFrO2Nhc2UgUm4rR3IrYmE6dGhpcy5KZVtvYV0odGhpcyxpKTticmVhaztjYXNlIFFuOnRoaXMubXQuVmU9aTticmVhaztjYXNlIHcrR3IrVjp0aGlzLm10LiRlPWk7YnJlYWs7Y2FzZSB3K0dyK0RuOnRoaXMubXQuUWU9aTticmVhaztjYXNlIHBuK0dyK3RyK0dyK0xuOnRoaXMubXQuR2U9aTticmVhaztjYXNlIEJzK0dyK2wrR3IrU3M6dGhpcy5tdC4kdD1pO2JyZWFrO2Nhc2UgTnMrR3IrJHI6dGhpcy5tdC5ZZT1pO2JyZWFrO2Nhc2UgSWMrR3IrcGMrR3IrX2k6dGhpcy5tdC5iZT1pO2JyZWFrO2Nhc2UgTHMrR3IrYnQ6dGhpcy5tdC5LZT1pO2JyZWFrO2Nhc2UgQitHcit2ZStHcitfbytHcit5bitHcitMbjp0aGlzLm10LlBlPWk7fXU5PTE1MDY0OTg2ODA7eTk9NjExNzc3ODY1O0g5PTI7Zm9yKHZhciBUOT0xO3c1LkwxKFQ5LnRvU3RyaW5nKCksVDkudG9TdHJpbmcoKS5sZW5ndGgsNjMyMykhPT11OTtUOSsrKXtyZXR1cm4gdGhpcztIOSs9Mjt9aWYodzUuZDEoSDkudG9TdHJpbmcoKSxIOS50b1N0cmluZygpLmxlbmd0aCw2MzczOSkhPT15OSl7cmV0dXJuIHRoaXM7fX0saGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksZzcsTTcsUjc7Zzc9LTM5MDQ0MjA2O003PS0xNjI0Njc4MzI1O1I3PTI7Zm9yKHZhciBKNz0xO3c1LkwxKEo3LnRvU3RyaW5nKCksSjcudG9TdHJpbmcoKS5sZW5ndGgsNTI1MzkpIT09Zzc7SjcrKyl7ZT10aGlzLndlKCk7aT10aGlzLmNpLnVpO1I3Kz0yO31pZih3NS5MMShSNy50b1N0cmluZygpLFI3LnRvU3RyaW5nKCkubGVuZ3RoLDg0NzUzKSE9PU03KXtlPXRoaXMud2UoKTtpPXRoaXMuY2kudWk7fXRyeXsodD1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0oZ3MsZ3UsZ3UseSwxLGlbT2krR3IrVWVdLGlbT2krR3IreG9dLGlbSGMrR3IrVWVdLGlbSGMrR3IreG9dLHl1LHl1LHl1LHl1LDAsbXUpO3RbVW9dPWd1O2VbZ24rR3IrQ2FdKHQpO31jYXRjaCh0KXtLYy5lKHQpO319LFZpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuUGkobzUpO30sU2k6ZnVuY3Rpb24oKXt2YXIgdCxpLG4scixvLHM7cj10aGlzO289NTAwO3M9ZnVuY3Rpb24odCxlKXt2YXIgaSxuO249WGMuYj9lYzpnczsoaT1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0obixndSxndSx5LDEsZVtPaStHcitVZV0sZVtPaStHcit4b10sZVtIYytHcitVZV0sZVtIYytHcit4b10seXUseXUseXUseXUsMCxtdSk7aS5mYz1ndTt0W2duK0dyK0NhXShpKTt9O2l1LlgocmksJHQsZnVuY3Rpb24ocil7dmFyIG8sRjEsZzEsTTE7dzUubzQoNCk7bz1yW3c1LnU0KHNyLEdyLGUpXVswXTtGMT05NTkwNTM3NzY7ZzE9LTE3NzY2NDMwNTc7TTE9Mjtmb3IodmFyIFAxPTE7dzUuZDEoUDEudG9TdHJpbmcoKSxQMS50b1N0cmluZygpLmxlbmd0aCw4NTkzNCkhPT1GMTtQMSsrKXt3NS5vNCgxOCk7dD1yW3c1LnU0KG9zLEpzLEdyKV07dzUuWTQoMTkpO2k9b1t3NS51NChHcixmbyxVZSldO3c1Lm80KDIwKTtuPW9bdzUuYzQoeG8sZm8sR3IpXTtNMSs9Mjt9aWYodzUuTDEoTTEudG9TdHJpbmcoKSxNMS50b1N0cmluZygpLmxlbmd0aCwxMTM5OCkhPT1nMSl7dzUubzQoMjEpO3Q9clt3NS5jNChvcyxKcyxHcildO3c1Llk0KDIyKTtpPW9bdzUuYzQoR3IsVWUsZm8pXTt3NS5vNCg2KTtuPW9bdzUuYzQoR3IseG8sZm8pXTt9dzUubzQoNCk7dD1yW3c1LnU0KG9zLEdyLEpzKV07dzUuWTQoNCk7aT1vW3c1LmM0KGZvLEdyLFVlKV07dzUubzQoNCk7bj1vW3c1LnU0KGZvLEdyLHhvKV07fSxndSk7aXUuWChyaSx2LGZ1bmN0aW9uKGEpe3ZhciBjLHUsaCxTMCxOMCxhMDtTMD0xMTI5ODE1NDEyO04wPS00NTk2NDE3MTE7YTA9Mjtmb3IodmFyIGYwPTE7dzUuZDEoZjAudG9TdHJpbmcoKSxmMC50b1N0cmluZygpLmxlbmd0aCw5MDQxMCkhPT1TMDtmMCsrKXt3NS5vNCg0KTtjPWFbdzUuYzQoc3IsR3IsZSldWzBdO3U9aXUudHQoYSk7aD1yLm10LlllO2EwKz0yO31pZih3NS5MMShhMC50b1N0cmluZygpLGEwLnRvU3RyaW5nKCkubGVuZ3RoLDUxODk1KSE9PU4wKXt3NS5ZNCg2KTtjPWFbdzUudTQoR3IsZSxzcildWzRdO3U9aXUudHQoYSk7aD1yLm10LlllO31kcltGc10oY1tmbytHcitVZV0taSk+PWh8fGRyW0ZzXShjW2ZvK0dyK3hvXS1uKT49aHx8YVtvcytHcitKc10tdD5vfHxyLm10LlllPD0wfHxYYy5odCYmRGlbaXJdKHVbU2MrR3IrbWNdKXx8ci5YZS5paXx8ci5YZS5uaXx8ci5YZS5yaXx8ci5waSgpfHxyLl9pKCl8fCFyLlBpKCl8fCFyLlRpKHUpfHwhci5tdC5OZSYmWmMuUyh1KXx8KHVbU2MrR3IrbWNdPT09T24mJnIuRWUoYSkscyh1LGMpKTt9LGd1KTt9LG1pOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByLG87bz15dTtmb3Iocj0wO3I8dFtwaV07cisrKWlmKHRbcl09PT13dSl7bz1ndTticmVhazt9byYmKGV8fGkpJiYoIXRoaXMuT2koZSx0KXx8IXRoaXMuT2koaSx0KXx8eVtydV1bdW5dJiZ5W3J1XVt1bl1bcGldJiYhdGhpcy5PaShaYy5GKCkseVtydV1bdW5dKSkmJm4oZ3UseXUpO30seGU6e1F0Om11LFM6eXV9LHFlOmZ1bmN0aW9uKCl7dmFyIHQ7dD1aYy54KGFyZ3VtZW50c1swXSk/YXJndW1lbnRzWzBdOmFyZ3VtZW50cztyZXR1cm4gdGhpcy5ubih0LGxjLHRbcGldJiZ0WzBdPT09eXUpO30sd2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBXMSxsMSxjMTtXMT0xMTQ2NjMzOTY5O2wxPTU4MTgzMzU3NjtjMT0yO2Zvcih2YXIgdTE9MTt3NS5kMSh1MS50b1N0cmluZygpLHUxLnRvU3RyaW5nKCkubGVuZ3RoLDY5ODkxKSE9PVcxO3UxKyspe1pjLkcodFtOaV0oR3IrUGUrR3IpKTxlJiZpKGd1LHl1KTtjMSs9Mjt9aWYodzUuZDEoYzEudG9TdHJpbmcoKSxjMS50b1N0cmluZygpLmxlbmd0aCw0ODMyNikhPT1sMSl7WmMuRyh0W05pXShHciVQZSVHcikpPj1lfHxpKGd1LHl1KTt9fSxDaTpmdW5jdGlvbigpe3ZhciByLG8scyxhLGMsdSxoLGYscCxfO2Z1bmN0aW9uIHQoKXt2YXIgdCxlO3c1Lm80KDE3KTtlPVt3NS51NChIbixUdCxHcixFbixHcixDYSxKYSksdzUuYzQoeG4sVHQsR3IsRW4sR3IsQ2EsSmEsdzUubzQoMTcpKSx3NS5jNChKYSxUdCxRYSx3NS5ZNCg0KSksdzUuYzQoQ24sR3IsVXMsbXIsVHQsdzUubzQoMSkpLHc1LnU0KFdlLEdyLHhuLG1yLFR0LHc1Llk0KDEpKV07Zm9yKHQ9MDt0PGVbcGldO3QrKylpZihaYy5sKGVbdF0pKXtyZXR1cm4gS2MuZSh0LFpjLmwoZVt0XSkpLGd1O31yZXR1cm4geXU7fWZ1bmN0aW9uIGkoaSl7dT0yO198fChfPWd1LGlvKGZ1bmN0aW9uKCl7Xz15dTt9LFhjLm90PzUwMDoxNTApLEN1JiYhcC5VZXx8KHI9aXUudHQoaSksbz1aYy5CKHIsT24pLGM9WmMuUyhyKSxyW2FhK0dyK0dpXShsbyk9PT1mdT8oclt4ZV1beHRdPVhpLFpjLlAocikscj1pdS50dChpLGd1KSk6byYmKHM9KHI9bylbYWErR3IrR2ldKFRpKSxhPVpjLk4ociksYz1aYy5TKHIpKSxmLkVpKHIsYyksZi5YZS5paXx8Zi5YZS5uaXx8Zi5YZS5yaXx8aVtVb118fGUoZi5jaS51aVtPXSYmZi5jaS51aVtPXSE9PWlbT10pfHxlKHAuS2UmJiFFdSl8fGUoIWlbSGMrR3IrVWVdJiYhaVtIYytHcit4b10pfHxlKCFYYy5vdCYmIVhjLmcmJnR5cGVvZiBpW3F0XSE9PWdlJiYwIT09aVtxdF0pfHxlKCFYYy5vdCYmIWYuWmUmJihYYy5jdHx8WGMuYnx8WGMudXQpKXx8ZSghWGMub3QmJiFwLkdlJiYoWGMuYnx8WGMudXQpJiZzPT09RmkpfHxlKGYucGkoKSl8fGUoZi5faSgpKXx8ZSghZi5QaSgpKXx8ZSghZi5UaShyKSl8fGUoYyYmIXAuTmUpfHxlKCFwLlJlJiZ0KCkpfHwoZi5BaShpKSxYYy5ldCYmbyYmYSYmZi5FZShpKSxYYy5vdHx8IW98fGN8fChYYy5iJiZzIT09RmkmJlpjLlkoKXx8cC5HZSYmcz09PUZpJiYoWGMuYnx8WGMudXQpKSYmZi5FZShpKSxmLkZpPW11LGYuaGkoKSkpKTt9Zj10aGlzO3A9Zi5tdDtfPXl1O2Z1bmN0aW9uIGUodCl7cmV0dXJuKyt1LHQmJktjLmUodSksdDt9cC5SZXx8IXQoKT8oaD1YYy5kfHxYYy5nP3FhOmVjLGZ1bmN0aW9uKCl7aXUuWChyaSxncyxpLGd1KTtYYy5vdD8oaXUuWChyaSxlYyxuLGd1KSxpdS5YKHJpLHFhLG4sZ3UpKTppdS5YKHJpLGgsbixndSk7fSgpLHRoaXMuU2koKSx0aGlzLmppKCksdGhpcy5MaSgpLHRoaXMuemkoKSx0aGlzLkJpKCkpOktjLmUoeXUpO2Z1bmN0aW9uIG4odCl7cj1vPWM9cz1hPW11OyFYYy5vdCYmdFtIYytHcitVZV0rKFhjLm50PzE3OjE1KT55W1BhK0dyK2ddP3AuUWUmJigocj17fSkuc2Nyb2xsYmFyPWd1LGYuRWkocix5dSksZi5waSgpfHxmLl9pKCl8fCFmLlBpKCl8fGYuaGkoKSk6aSh0KTt9fSxsaTpmdW5jdGlvbih0KXtpZih0aGlzLlhlLmlpfHx0aGlzLlhlLm5pfHx0aGlzLlhlLnJpKXtyZXR1cm4geXU7fXN3aXRjaCh0Lnl0KXtjYXNlIF91Om5ldyBRYy5tZSh0KS5wZSgpO2JyZWFrO2Nhc2UgZHU6bmV3IFFjLmdlKHQpLnBlKCk7YnJlYWs7Y2FzZSBsdTpuZXcgUWMueWUodCkucGUoKTticmVhaztjYXNlIHB1OnRyeXtuZXcoUWMuZHQoKSkodCkucGUoKTt9Y2F0Y2godCl7S2MuZSh0KTt9fXJldHVybiB0LnF0KCksZ3U7fSxqaTpmdW5jdGlvbigpe3ZhciB0LGUsaSxuLHIsbztuPXRoaXM7cj17fTtvPWZ1bmN0aW9uKHQpe2ZvcihlPTA7ZTx0W3BpXTtlKyspe24uTWkodFtlXSk7fX07Q28oZnVuY3Rpb24oKXt2YXIgZTtmb3IodD0wO3Q8bi5tdC4kZVtwaV07dCsrKXtpZihlPW4ubXQuJGVbdF0sKGk9cmlbYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGUpKVtwaV0mJm4ucGkoKXx8IW4uUGkoKSl7cmV0dXJuO310eXBlb2YgcltlXSE9PWdlJiZyW2VdPT09aVtwaV18fG8oaSk7fX0sMWUzKTt9LElpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbixyLG8scyxlOSxqOSxaOTtvPTI7cz15dTtmb3IoZT0wO2U8PW87ZSsrKXtpZigobj1yaVt3citHcitqbitHcitMY10odFtIYytHcitVZV0rZSx0W0hjK0dyK3hvXSkpJiZuW1NjK0dyK21jXT09PXBhK0dyK09uK0dyK0ZjK0dyK1BzK0dyK3BhKXtzPWd1O2JyZWFrO31mb3IoaT0wO2k8PW87aSsrKWlmKChuPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXStlLHRbSGMrR3IreG9dK2kpKSYmbltTYytHcittY109PT1wYStHcitPbitHcitGYytHcitQcytHcitwYSl7cz1ndTticmVhazt9aWYocylicmVhazt9aWYocylmb3Iocz15dSxyPW5bYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGVpKSxlPTA7ZTxyW3BpXTtlKyspaWYoWmMuVShyW2VdKSl7cz1ndTticmVhazt9ZTk9MTI0NjQ2Mzc5O2o5PTE4ODY4MTA5NztaOT0yO2Zvcih2YXIgVTk9MTt3NS5MMShVOS50b1N0cmluZygpLFU5LnRvU3RyaW5nKCkubGVuZ3RoLDU5MDM1KSE9PWU5O1U5Kyspe3JldHVybiBzP246eXU7WjkrPTI7fWlmKHc1LmQxKFo5LnRvU3RyaW5nKCksWjkudG9TdHJpbmcoKS5sZW5ndGgsNDQ5MzkpIT09ajkpe3JldHVybiBzP246eXU7fX0sRGk6ZnVuY3Rpb24oKXtpZighdGhpcy5YZS5laSl7dGhpcy5YZS5laT1ndTt0cnl7dGhpcy52aSgpO3RoaXMuYmkoKTt9Y2F0Y2godCl7fUtjLmUoW3RoaXMuWGUubmk/MDoxLHRoaXMuWGUucmk/MDoxLHRoaXMuWGUueGldW05pXShHcikpO319LFhlOnt0aTp5dSxuaTpndSxlaTp5dSxvaTowLHJpOmd1LHNpOjAsaWk6eXV9LG5uOmZ1bmN0aW9uKHQsZSxpKXtmb3IodmFyIG4scj0wLG89ZT09PVJuP3RoaXMubXQuSmU6dGhpcy5tdC5xZTtpJiZvW3BpXTspe29bQnNdKCk7fWZvcig7cjx0W3BpXTtyKyspe3R5cGVvZihuPXRbcl0pPT09VGM/b1tNcl0obik6dHlwZW9mIG49PT1hciYmdHlwZW9mIG5bd2ErR3IrbWNdPT09VGMmJm9bTXJdKG4pO31yZXR1cm4gdGhpczt9LEppOmZ1bmN0aW9uKCl7dmFyIHkxLEgxLHYxLHQsZTt5MT0xNzAzNzYyNDUyO0gxPTEyMTk1OTkwMzk7djE9Mjtmb3IodmFyIEUxPTE7dzUuZDEoRTEudG9TdHJpbmcoKSxFMS50b1N0cmluZygpLmxlbmd0aCwzODk3NykhPT15MTtFMSsrKXtlPTY7Zm9yKHRoaXMuZmk9W107ZT49dGhpcy5XZVtwaV07ZS0tKXsodD10aGlzLldlW2VdKS5MdCgpfHx0aGlzLmZpW01yXSh0KTt9djErPTI7fWlmKHc1LmQxKHYxLnRvU3RyaW5nKCksdjEudG9TdHJpbmcoKS5sZW5ndGgsMjE2MzkpIT09SDEpe2U9MTtmb3IodGhpcy5maT1bXTtlPnRoaXMuV2VbcGldO2UrKyl7KHQ9dGhpcy5XZVtlXSkuTHQoKSYmdGhpcy5maVtNcl0odCk7fX1lPTA7Zm9yKHRoaXMuZmk9W107ZTx0aGlzLldlW3BpXTtlKyspeyh0PXRoaXMuV2VbZV0pLkx0KCkmJnRoaXMuZmlbTXJdKHQpO31yZXR1cm4gdGhpcy5maTt9LGRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2kudWk7fX07aXUuWCh5LFN0LGZ1bmN0aW9uKCl7dmFyIFg3LEI3LFM3O1g3PTIwMTA5MDA5MDY7Qjc9LTE2OTQwNjQ1NTI7Uzc9Mjtmb3IodmFyIGE3PTE7dzUuTDEoYTcudG9TdHJpbmcoKSxhNy50b1N0cmluZygpLmxlbmd0aCwxNDk3OSkhPT1YNzthNysrKXtFdT0hMTtTNys9Mjt9aWYodzUuZDEoUzcudG9TdHJpbmcoKSxTNy50b1N0cmluZygpLmxlbmd0aCw2MjI0OCkhPT1CNyl7RXU9IXt9O31FdT1vNTt9KTtpbyhmdW5jdGlvbigpe3c1Lm80KDE1KTtLYy5lKHc1LnU0KFNpLFllLEdyLFR0LFllLE0sR3IsWWUsUWUsT3QsQW8pKTt3NS5vNCg0KTtLYy5lKHc1LmM0KHhhLFZ0LEdyKSxvdSk7dzUuWTQoNCk7S2MuZSh3NS5jNChxaSxWdCxHciksc3UpO3c1Lm80KDQpO0tjLmUodzUudTQoRXMsVnQsR3IpLGF1KTt9LDEwKTt5W3J1XT15W3J1XXx8ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG87cj17fTtvPVpjLnAoW1trbytHcitSYStHcitudCxbR2MsR2MuaV1dLFtKbixzdV0sW0d0LG91XSxbWW8rR3IraXMsYXVdLFt6YSxbR2MsR2MuWGkscl1dLFthYStHcitJaSxbR2MsR2MuWmldXSxbYWErR3IrUStHcitiYSxbR2MsR2MuWWldXSxbYWErR3IrX28rR3IrYmEsW0djLEdjLktpXV0sW3crR3IrQ24sW0djLEdjLk1pXV0sW0huLFtHYyxHYy5lbixyXV0sW0duLFtHYyxHYy5oaSxyXV0sW2VzLFtHYyxHYy5HaSxyXV0sW2xjK0dyK2JhLFtHYyxHYy5xZSxyXV0sW1JuK0dyK2JhLFtHYyxHYy5KZSxyXV0sW2FhK0dyK2h0K0dyK0NuLFtHYyxHYy53ZV1dLFthYStHcitubitHcitabyxbR2MsR2MuJGldXSxbYWErR3IreWUrR3IrWm8sW0djLEdjLlZpXV0sW0JhK0dyK3llLFtHYyxHYy5QaV1dLFtrbytHcitkdCtHcitKZSxbR2MsR2MucGldXSxbYWErR3IrVXQrR3IramUrR3IrQmksW0djLEdjLlFpXV0sW2FhK0dyK1V0K0dyK0NhLFtHYyxHYy5kaV1dLFt6aSxbR2MsR2MuTmldXSxbYWErR3IrXyxbR2MsR2MuVWldXSxbRm8rR3IrXyxbR2MsR2MuUmldXSxbaGErVHQrT28sW0tjLEtjLmVdXSxbaGErVHQrRyxbS2MsS2Mucl1dLFtPYStUdCtsaSxbdHUsdHUuYV1dLFtPYStUdCthYSxbdHUsdHUuY11dLFtPYStUdCt4bixbdHUsdHUudV1dLFt0aStUdCtrbytHcitkaSxbZXUsZXUuc11dLFt0aStUdCtsaSxbZXUsZXUuYV1dLFt0aStUdCthYSxbZXUsZXUuY11dLFt0aStUdCt4bixbZXUsZXUudV1dLFtjZStUdCtKbixYYy5wdF0sW2NlK1R0K0lyK0dyK3FpLFhjLmZ0XSxbY2UrVHQra28rR3IrQ3MsWGMuaXRdLFtjZStUdCtrbytHcitYbyxYYy5udF0sW2NlK1R0K2tvK0dyK01hLFhjLm1dLFtjZStUdCtrbytHcit2YStHcitmYytHcit0YyxYYy5ldF0sW2NlK1R0K2tvK0dyK0JuLFhjLnJ0XSxbY2UrVHQra28rR3Irdm4sWGMub3RdLFtjZStUdCtrbytHcitoZSxYYy5zdF0sW2NlK1R0K2tvK0dyK3l0LFhjLmF0XSxbY2UrVHQra28rR3IrZ2MsWGMuYl0sW2NlK1R0K2tvK0dyK0luLFhjLmRdLFtjZStUdCtrbytHcitGYSxYYy5odF0sW2NlK1R0K2tvK0dyK3ZhK0dyK1BzLFhjLmddLFtjZStUdCtrbytHcitjcyxYYy5jdF0sW2NlK1R0K2tvK0dyK0VvLFhjLnV0XSxbY2UrVHQrSm4rR3IrdXQsW1hjLFhjLkpdXSxbY2UrVHQrYW8rR3IrZGksW1hjLFhjLmx0XV0sW0NhK1R0K2xjK0dyK3FzLFtpdSxpdS5LXV0sW0NhK1R0K2xjLFtpdSxpdS5YXV0sW0NhK1R0K2xhLFtpdSxpdS5aXV0sW0NhK1R0K2FhK0dyK3luLFtpdSxpdS50dF1dLFtLZStUdCtrbytHcit2ZStHciskZSxbWmMsWmMud11dLFtLZStUdCtKbitHcit1dCxbWmMsWmMuSl1dLFtLZStUdCtvcyxbWmMsWmMuR11dLFtLZStUdCt3byxbWmMsWmMueV1dLFtLZStUdCtKaSxbWmMsWmMuJF1dLFtLZStUdCtVcytHcitDbixbWmMsWmMuel1dLFtLZStUdCt4bitHcitDbixbWmMsWmMuUF1dLFtLZStUdCthYStHcitVaSxbWmMsWmMuQl1dLFtLZStUdCtEZStHcitZaSxbWmMsWmMuSF1dXSk7Zm9yKGUgaW4gbylpZih5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShvLGUpKXtmb3Iobj1lW0NyXShHcitUdCtHciksdD1yLGk9MDtpPG5bcGldLTE7aSsrKXt0eXBlb2YgdFtuW2ldXT09PWdlJiYodFtuW2ldXT17fSk7dD10W25baV1dO310W25bbltwaV0tMV1dPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIFpjLngodFtlXSk/MT09PXRbZV1bcGldP3RbZV1bMF06ZnVuY3Rpb24oKXtyZXR1cm4gMj09PXRbZV1bcGldP3RbZV1bMV1bb2FdKHRbZV1bMF0sYXJndW1lbnRzKToodFtlXVsxXVtvYV0odFtlXVswXSxhcmd1bWVudHMpLHRbZV1bMl0pO306dFtlXTt9KG8sZSk7fXJldHVybiByO30oKTt9KHQucG9wbnN8fHpjK0dyK1VjK0dyK09jLHQsdFtFaV0sdFtPaV0sdFttcl0sdFtyb10sdFtibl0sdFtObl0sdFtDb10sdFtyaStHcitpb10sdFtsaStHcitZaV0sdFtNaStHcitZaV0sdFtsaStHcitBaV0sdFtNaStHcitBaV0sdFtMdCtHcit0YytHcitmYytHcitndF0sdFt5K0dyK1J0XSx0W2tvK0dyK3lpK0dyK2d0XSx0W2lzXSx0W1hlK0dyK1ZyK0dyK0dzK0dyK3ZhK0dyK1VyXSx0W2RyXSk7fSh3aW5kb3cpO2Y1eXkuSD1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC55PT09J2Z1bmN0aW9uJz9mNXl5LkwueS5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwueTt9O2Y1eXkuVz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Y1eXkuZz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC5PPT09J2Z1bmN0aW9uJz9mNXl5LkwuTy5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwuTzt9O2Y1eXkuZj1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Z1bmN0aW9uIGY1eXkoKXt9ZjV5eS5CPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5MLnk9PT0nZnVuY3Rpb24nP2Y1eXkuTC55LmFwcGx5KGY1eXkuTCxhcmd1bWVudHMpOmY1eXkuTC55O307ZjV5eS5SPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5JPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5MPWZ1bmN0aW9uKEQpe3JldHVybnt5OmZ1bmN0aW9uKCl7dmFyIEcsZD1hcmd1bWVudHM7c3dpdGNoKEQpe2Nhc2UgMjpHPWRbMF0qZFsxXTticmVhaztjYXNlIDA6Rz1kWzBdfGRbMV07YnJlYWs7Y2FzZSAxOkc9ZFsxXS1kWzBdO2JyZWFrO31yZXR1cm4gRzt9LE86ZnVuY3Rpb24oVil7RD1WO319O30oKTtmNXl5Lno9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiBmNXl5LkwuTz09PSdmdW5jdGlvbic/ZjV5eS5MLk8uYXBwbHkoZjV5eS5MLGFyZ3VtZW50cyk6ZjV5eS5MLk87fTtmNXl5LkM9ZnVuY3Rpb24oKXt2YXIgUT0yO3doaWxlKFEhPT0xKXtzd2l0Y2goUSl7Y2FzZSAyOnJldHVybnt2OmZ1bmN0aW9uKFUpe3ZhciBiPTI7d2hpbGUoYiE9PTE0KXtzd2l0Y2goYil7Y2FzZSAyOnZhciBLPScnLGw9ZGVjb2RlVVJJKCJ0JTExa2JsYyU3RCUwNmhiZGxtbDYhJTNDJTNDKyU1QmNkLTo1JTVENyg4Jy8lNUJ3LzI4bWolM0M4KTA3YiolMUMyJTI1bSUwN3ElN0RvYmslMTh3JTdDc2RtaDcpKSUyMipaMmQlMTgtNUErKS5vbXMlMTUlMjUlM0UwKyU1QiUzQyUxMXUlMjA2TXk/KScsSy1kJTNFOSxLMi00OyUyMCUwNjojMCU3RDUlNUM6IzMya0s2IXU5Kks4JTIwNTo2JTVDcSUxRiUzRScsWC1sMCUyMDYlNUN5Ljh1KUc4KDgxZUolM0MqMiclMjAlMDg1JTI1JTNFMCslNUIlM0NsOyUzQylNcWIxOiZJNSIpO2I9MTticmVhaztjYXNlIDk6Sys9U3RyaW5nLmZyb21DaGFyQ29kZShsLmNoYXJDb2RlQXQoWSleVS5jaGFyQ29kZUF0KGspKTtiPTg7YnJlYWs7Y2FzZSAxOnZhciBZPTAsaz0wO2I9NTticmVhaztjYXNlIDU6Yj1ZPGwubGVuZ3RoPzQ6NzticmVhaztjYXNlIDM6az0wO2I9OTticmVhaztjYXNlIDg6WSsrLGsrKztiPTU7YnJlYWs7Y2FzZSA0OmI9az09PVUubGVuZ3RoPzM6OTticmVhaztjYXNlIDc6Sz1LLnNwbGl0KCcoJyk7cmV0dXJuIGZ1bmN0aW9uKFApe3ZhciBoPTI7d2hpbGUoaCE9PTEpe3N3aXRjaChoKXtjYXNlIDI6cmV0dXJuIEtbUF07YnJlYWs7fX19O2JyZWFrO319fSgnRShZTF1VJyl9O2JyZWFrO319fSgpOyFmdW5jdGlvbihlLG8sYyl7InVzZSBzdHJpY3QiO3ZhciBUPWY1eXk7dmFyIGksbix0O1QuZygwKTtpPVQuUihULkgoIjgiLDApKTtULnooMCk7bj1bVC5JKFQuSCgnXHgzMVx4MzAnLDApKSxULkkoKyI2IiksVC5SKCsnXHgzMVx4MzQnKSxULlIoKyIxMiIpLFQuUihULkgoIjUiLDAsVC5nKDApKSksVC5JKFQuQigwLCdceDMwJyxULnooMSkpKSxULlIoVC5CKCdceDMxXHgzMScsMCxULnooMCkpKSxULkkoKyIyIildO1QuZygyKTt0PVsrJ1x4MzJceDMwXHgzMVx4MzknLFQuQignXHUwMDM1JywxKSxULkgoJ1x4MzFceDM2JywwLFQuZygwKSldO3RyeXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yy5Mb2dnZXIubG9nKGksVC5SKCsnXHgzMScpLG4pO2MuTG9nZ2VyLmxvZyhpLFQuUigiNyItMCksdC5qb2luKFQuSSgnXHgzNCctMCkpKTt9LCsiNTAwIik7VC56KDEpO2Mub2JqZWN0PVtuLFsrIjM2MCIsNDk0LDM5MSwrIjMxMiIsVC5CKDAsIjMxMiIpLFQuSCgiMzY1IiwwLFQuZygwKSksKydceDM0XHgzMFx4MzQnLFQuSCgiMzAwIiwwLFQuZygwKSksKydceDMzXHgzNlx4MzBceDMwXHgzMScsVC5IKDAsJ1x4MzNceDM5XHgzNVx4MzJceDMyJyxULmcoMSkpLFQuQigiMTg3NzEiLDAsVC56KDApKSwrIjM0OTQ4IiwxNjU0MSwyOTU3MSwrJ1x4MzVceDMxXHgzN1x4MzFceDM5JywzMzkwOCxULkgoIjc4ODQwIiwwLFQuZygwKSksMTA1OTY0LCsnXHgzOFx4MzRceDM1XHgzNVx4MzUnLFQuSCgiNzI0MjYiLDAsVC5nKDApKSxULkgoJ1x4MzNceDMwXHgzNVx4MzlceDM5JywwLFQuZygwKSksVC5CKCdcdTAwMzRcdTAwMzFcdTAwMzZcdTAwMzJcdTAwMzYnLDAsVC5nKDApKSxULkIoMCwnXHUwMDM4XHUwMDM4XHUwMDMwXHUwMDM4XHUwMDM0JyxULnooMSkpLFQuSCgiNjU0MDkiLDEsVC5nKDIpKSwxNDQwMCxULkgoIjEyODQ0IiwxLFQueigyKSksKydceDM4XHgzNlx4MzBceDMyJyxULkgoJ1x4MzFceDMwXHgzOVx4MzJceDMwJywxLFQuZygyKSksMTM0MTYsVC5IKCdceDMyXHgzNFx4MzhceDMyXHgzMCcsMCxULmcoMCkpLFQuQignXHgzM1x4MzdceDM5XHgzN1x4MzYnLDAsVC56KDApKSwrJ1x4MzVceDMxXHg2NVx4MzMnXSx0LFtULkgoJ1x4MzNceDM2XHgzMicsMCxULmcoMCkpLDQ5NiwrJ1x4MzNceDM5XHgzOScsVC5IKDAsIjczMDkyMyIsVC5nKDEpKSwrJ1x1MDAzMlx1MDAzNVx1MDAzMVx1MDAzMicsVC5IKCI2Mzk4IiwwLFQueigwKSksVC5IKCdcdTAwMzRcdTAwMzFcdTAwMzFcdTAwMzlcdTAwMzFcdTAwMzJcdTAwMzInLDEsVC5nKDIpKSwrJ1x4MzFceDMxXHgzMVx4MzlceDMyJyxULkgoJ1x4MzNceDM0XHgzMlx4MzNceDM2JywwLFQueigwKSksMjQ2MSwzMjU1NywxMDIxMF0sby5jdXJyZW50U2NyaXB0LFQuSCgiMSIsMSxULmcoMikpXTt9Y2F0Y2gobyl7dm9pZCgnXHgzMCcqMSkhPT1lLmNvbnNvbGUmJmUuY29uc29sZS5sb2cmJkZ1bmN0aW9uLmFwcGx5LmNhbGwoZS5jb25zb2xlLmxvZyxlLmNvbnNvbGUsW1QuSSgnXHgzMVx4MzMnfDApXSk7fX0od2luZG93LGRvY3VtZW50LHdpbmRvd1t3aW5kb3cucG9wbnN8fGY1eXkuUigiMyItMCldKTt2YXIgXzB4MTM4Zj1bJ1x4NThceDQ4XHg2M1x4NzInLCdceDQ5XHg1NFx4NDVceDZmXHg2NFx4NDNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NmNceDUwXHg1NFx4NDVceDZmXHg1YVx4NTNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NzVceDUwXHg1OFx4NTFceDc1XHg2Mlx4NzlceDY3XHg2OVx4NjJceDUzXHg0OVx4NzBceDRmXHg3YVx4NTlceDY3XHg2Mlx4NjlceDM0XHg3OVx4NGNceDZkXHg3N1x4MzlceDQ5XHg2ZFx4NzNceDY5XHg0Y1x4NDdceDM0XHg3NVx4NGRceDY5XHgzNVx4NzdceDUwXHg1NFx4NDFceDczXHg2Mlx4NjlceDM0XHg3OVx4NGNceDZlXHg0NVx4MzlceDRkXHg0M1x4NzhceDc1XHg0Y1x4NmFceDQ5XHg3NVx4NjRceDdhXHgzMFx4NjlceDYxXHg2OVx4NDlceDczXHg2Mlx4NjlceDM1XHgzMVx4NTBceDUzXHg0OVx4MzNceDRmXHg2OVx4MzhceDc2XHg2M1x4NjlceDM1XHgzNFx4NGNceDZhXHg1NVx4NzZceDYxXHg0M1x4MzlceDY4XHg0Y1x4NzlceDQ5XHg3Mlx4NWFceDUzXHg3OFx4MzBceDRjXHg2ZFx4NDlceDc1XHg2MVx4NTNceDY4XHg3NVx4NGJceDUzXHg3OFx4NzVceDY2XHg1M1x4NzhceDc1XHg1MFx4NTdceDRkXHg2Zlx4NWFceDc5XHg2N1x4NmZceDY0XHg0M1x4MzVceDZiXHg0Y1x4NmVceDU5XHg2Zlx4NTFceDY5XHg0Mlx4NGZceDRiXHg0M1x4NDlceDZmXHg0ZVx4N2FceDM5XHgzOFx4NTNceDY5XHgzMVx4MzVceDRiXHg1NFx4NzBceDYzXHg1OFx4NDNceDM5XHg2M1x4NThceDQzXHgzOFx4NjlceDRiXHg1M1x4NzdceDY5XHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDRjXHg3OVx4NDlceDcwXHg1N1x4N2FceDQyXHg2NFx4NjZceDQ4XHg3N1x4NjlceDUzXHg3OVx4MzRceDMxXHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDQ5XHg2OVx4NmJceDc1XHg1NFx4NDNceDY3XHg3OFx4NGJceDQ4XHg1MVx4NzBceDY1XHg3YVx4NTlceDY3XHg2NFx4NDNceDM1XHg0ZVx4NGJceDQ0XHg0MVx4NzBceDRjXHg2Ylx4NjNceDZmXHg1M1x4NDNceDZjXHgzOVx4NGJceDUzXHgzNVx4NDJceDRiXHg0M1x4NDlceDY5XHg0Ylx4NTNceDZiXHg3MFx4NGZceDMzXHg2Zlx4NzVceDRlXHg0M1x4NjdceDY5XHg1MVx4NzlceDQ5XHg3M1x4NGRceDUzXHg2N1x4NzBceDY1XHgzMlx4NTVceDZmXHg2Mlx4NjlceDczXHg2OVx4NGNceDMyXHg1OVx4NzVceDRmXHg1M1x4NDlceDcwXHg0Y1x4NmFceDUxXHg2Zlx4NDlceDZiXHg1MVx4NjlceDRjXHg0NFx4NDVceDZmXHg0Ylx4NThceDc0XHg0N1x4NGJceDQ0XHg0NVx4NmZceDRiXHg1OFx4NzRceDZjXHg0Ylx4NDdceDM0XHg3Mlx4NDlceDY5XHgzOVx4N2FceDRjXHg2YVx4NmJceDY5XHg0Ylx4NThceDMwXHg3M1x4NTJceDUzXHg2Y1x4MzlceDRiXHg1OFx4MzBceDcwXHg2Nlx4NTNceDY4XHg0YVx4NGJceDU0XHg3M1x4M2QnLCdceDYzXHgzM1x4NDJceDczXHg2MVx4NThceDUxXHgzZCcsJ1x4NWFceDZlXHg0YVx4NzZceDYyXHg1NVx4NGVceDZmXHg1OVx4NThceDRhXHg0NFx4NjJceDMyXHg1Mlx4NmMnLCdceDY0XHg0N1x4MzlceDU0XHg2NFx4NDhceDRhXHg3MFx4NjJceDZkXHg2M1x4M2QnLCdceDYzXHg2ZFx4NTZceDc3XHg2Mlx4NDdceDQ2XHg2YVx4NWFceDUxXHgzZFx4M2QnXTsoZnVuY3Rpb24oXzB4MWI1OWFjLF8weDMwZDYwNSl7dmFyIF8weDQ0NTljOT1mdW5jdGlvbihfMHgxNDY4YWMpe3doaWxlKC0tXzB4MTQ2OGFjKXtfMHgxYjU5YWNbJ3B1c2gnXShfMHgxYjU5YWNbJ3NoaWZ0J10oKSk7fX07XzB4NDQ1OWM5KCsrXzB4MzBkNjA1KTt9KF8weDEzOGYsMHgxMGIpKTt2YXIgXzB4MTdjMT1mdW5jdGlvbihfMHgxOTc3ZGIsXzB4Yzc5ZjY5KXtfMHgxOTc3ZGI9XzB4MTk3N2RiLTB4MDt2YXIgXzB4MTYyZGYyPV8weDEzOGZbXzB4MTk3N2RiXTtpZihfMHgxN2MxWydPTXJTcXgnXT09PXVuZGVmaW5lZCl7KGZ1bmN0aW9uKCl7dmFyIF8weDI0NzE2Njt0cnl7dmFyIF8weDViZDYyOT1GdW5jdGlvbigncmV0dXJuXHgyMChmdW5jdGlvbigpXHgyMCcrJ3t9LmNvbnN0cnVjdG9yKFx4MjJyZXR1cm5ceDIwdGhpc1x4MjIpKFx4MjApJysnKTsnKTtfMHgyNDcxNjY9XzB4NWJkNjI5KCk7fWNhdGNoKF8weDMyOTViMCl7XzB4MjQ3MTY2PXdpbmRvdzt9dmFyIF8weDI4M2NlOT0nQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0nO18weDI0NzE2NlsnYXRvYiddfHwoXzB4MjQ3MTY2WydhdG9iJ109ZnVuY3Rpb24oXzB4MzQxYjE5KXt2YXIgXzB4MTQ0Zjk2PVN0cmluZyhfMHgzNDFiMTkpWydyZXBsYWNlJ10oLz0rJC8sJycpO2Zvcih2YXIgXzB4MjhhNzVlPTB4MCxfMHg1OWNiNWIsXzB4MWUwOTNkLF8weDUxZWZhNj0weDAsXzB4OTIyYWFjPScnO18weDFlMDkzZD1fMHgxNDRmOTZbJ2NoYXJBdCddKF8weDUxZWZhNisrKTt+XzB4MWUwOTNkJiYoXzB4NTljYjViPV8weDI4YTc1ZSUweDQ/XzB4NTljYjViKjB4NDArXzB4MWUwOTNkOl8weDFlMDkzZCxfMHgyOGE3NWUrKyUweDQpP18weDkyMmFhYys9U3RyaW5nWydmcm9tQ2hhckNvZGUnXSgweGZmJl8weDU5Y2I1Yj4+KC0weDIqXzB4MjhhNzVlJjB4NikpOjB4MCl7XzB4MWUwOTNkPV8weDI4M2NlOVsnaW5kZXhPZiddKF8weDFlMDkzZCk7fXJldHVybiBfMHg5MjJhYWM7fSk7fSgpKTtfMHgxN2MxWyd4anFrREYnXT1mdW5jdGlvbihfMHgzMzc3MTgpe3ZhciBfMHg1ZGRiMTU9YXRvYihfMHgzMzc3MTgpO3ZhciBfMHg1NjBiOTU9W107Zm9yKHZhciBfMHhjOTdmOTE9MHgwLF8weDQ0MTg3Mj1fMHg1ZGRiMTVbJ2xlbmd0aCddO18weGM5N2Y5MTxfMHg0NDE4NzI7XzB4Yzk3ZjkxKyspe18weDU2MGI5NSs9JyUnKygnMDAnK18weDVkZGIxNVsnY2hhckNvZGVBdCddKF8weGM5N2Y5MSlbJ3RvU3RyaW5nJ10oMHgxMCkpWydzbGljZSddKC0weDIpO31yZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KF8weDU2MGI5NSk7fTtfMHgxN2MxWydrRG1IU2snXT17fTtfMHgxN2MxWydPTXJTcXgnXT0hIVtdO312YXIgXzB4MzA2NDA1PV8weDE3YzFbJ2tEbUhTayddW18weDE5NzdkYl07aWYoXzB4MzA2NDA1PT09dW5kZWZpbmVkKXtfMHgxNjJkZjI9XzB4MTdjMVsneGpxa0RGJ10oXzB4MTYyZGYyKTtfMHgxN2MxWydrRG1IU2snXVtfMHgxOTc3ZGJdPV8weDE2MmRmMjt9ZWxzZXtfMHgxNjJkZjI9XzB4MzA2NDA1O31yZXR1cm4gXzB4MTYyZGYyO307ZXZhbChmdW5jdGlvbihfMHg0OWIyZTksXzB4MTA2OTM1LF8weDIyM2Q1NixfMHgyZmY2ZTksXzB4ZWQ3ZDI2LF8weDNiYzUwMCl7XzB4ZWQ3ZDI2PWZ1bmN0aW9uKF8weDI2YmI4Mil7cmV0dXJuKF8weDI2YmI4MjxfMHgxMDY5MzU/Jyc6XzB4ZWQ3ZDI2KHBhcnNlSW50KF8weDI2YmI4Mi9fMHgxMDY5MzUpKSkrKChfMHgyNmJiODI9XzB4MjZiYjgyJV8weDEwNjkzNSk+MHgyMz9TdHJpbmdbXzB4MTdjMSgnMHgwJyldKF8weDI2YmI4MisweDFkKTpfMHgyNmJiODJbXzB4MTdjMSgnMHgxJyldKDB4MjQpKTt9O2lmKCEnJ1tfMHgxN2MxKCcweDInKV0oL14vLFN0cmluZykpe3doaWxlKF8weDIyM2Q1Ni0tKXtfMHgzYmM1MDBbXzB4ZWQ3ZDI2KF8weDIyM2Q1NildPV8weDJmZjZlOVtfMHgyMjNkNTZdfHxfMHhlZDdkMjYoXzB4MjIzZDU2KTt9XzB4MmZmNmU5PVtmdW5jdGlvbihfMHgzMjA3ZjYpe3JldHVybiBfMHgzYmM1MDBbXzB4MzIwN2Y2XTt9XTtfMHhlZDdkMjY9ZnVuY3Rpb24oKXtyZXR1cm4gXzB4MTdjMSgnMHgzJyk7fTtfMHgyMjNkNTY9MHgxO307d2hpbGUoXzB4MjIzZDU2LS0pe2lmKF8weDJmZjZlOVtfMHgyMjNkNTZdKXtfMHg0OWIyZTk9XzB4NDliMmU5W18weDE3YzEoJzB4MicpXShuZXcgUmVnRXhwKCdceDVjXHg2MicrXzB4ZWQ3ZDI2KF8weDIyM2Q1NikrJ1x4NWNceDYyJywnXHg2NycpLF8weDJmZjZlOVtfMHgyMjNkNTZdKTt9fXJldHVybiBfMHg0OWIyZTk7fShfMHgxN2MxKCcweDQnKSwweDMyLDB4MzIsJ1x4N2NceDY2XHg3NVx4NmVceDYzXHg3NFx4NjlceDZmXHg2ZVx4N2NceDczXHg3NFx4NzlceDZjXHg2NVx4N2NceDczXHg3MFx4NmNceDY5XHg3NFx4N2NceDYxXHg2NFx4NjRceDQ1XHg3Nlx4NjVceDZlXHg3NFx4NGNceDY5XHg3M1x4NzRceDY1XHg2ZVx4NjVceDcyXHg3Y1x4NjNceDZmXHg2ZFx4N2NceDcyXHg2NVx4NzRceDc1XHg3Mlx4NmVceDdjXHg2OFx4NzRceDc0XHg3MFx4NzNceDdjXHg3Nlx4NjFceDcyXHg3Y1x4NzBceDZlXHg2N1x4N2NceDcwXHg3NFx4N2NceDYyXHg2Zlx4NjRceDc5XHg3Y1x4NjVceDZlXHg2M1x4NmZceDY0XHg2NVx4NTVceDUyXHg0OVx4NDNceDZmXHg2ZFx4NzBceDZmXHg2ZVx4NjVceDZlXHg3NFx4N2NceDcyXHg2NVx4NjZceDY1XHg3Mlx4NzJceDY1XHg3Mlx4N2NceDdjXHg3Y1x4NjJceDc0XHg2Zlx4NjFceDdjXHg3Nlx4MzFceDdjXHg2MVx4NzBceDcwXHg2NVx4NmVceDY0XHg0M1x4NjhceDY5XHg2Y1x4NjRceDdjXHg2ZVx4NmZceDZlXHg2NVx4N2NceDYxXHg2Mlx4NzNceDZmXHg2Y1x4NzVceDc0XHg2NVx4N2NceDcwXHg2Zlx4NzNceDY5XHg3NFx4NjlceDZmXHg2ZVx4N2NceDY5XHg2ZFx4NjdceDdjXHg3Y1x4NjNceDcyXHg2NVx4NjFceDc0XHg2NVx4NDVceDZjXHg2NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg3NFx4NmZceDcwXHg3Y1x4NmNceDY1XHg2Nlx4NzRceDdjXHg2MVx4NzBceDY5XHg3Y1x4N2NceDdjXHg3M1x4NzJceDYzXHg3Y1x4NzJceDY1XHg3MFx4NmNceDYxXHg2M1x4NjVceDdjXHg3MFx4NmZceDY5XHg2ZVx4NzRceDY1XHg3Mlx4NDVceDc2XHg2NVx4NmVceDc0XHg3M1x4N2NceDYzXHg2Y1x4NjlceDYzXHg2Ylx4NjFceDY5XHg2ZVx4NjVceDdjXHg2MVx4NzBceDcwXHg3Y1x4NzdceDY5XHg2ZVx4NjRceDZmXHg3N1x4N2NceDZhXHg2Zlx4NjlceDZlXHg3Y1x4NmVceDY1XHg3N1x4N2NceDQ0XHg0Zlx4NGRceDQzXHg2Zlx4NmVceDc0XHg2NVx4NmVceDc0XHg0Y1x4NmZceDYxXHg2NFx4NjVceDY0XHg3Y1x4NmNceDZmXHg2MVx4NjRceDdjXHgzNVx4NjVceDMzXHg3Y1x4NzNceDY1XHg3NFx4NTRceDY5XHg2ZFx4NjVceDZmXHg3NVx4NzRceDdjXHg3NFx4NmZceDUzXHg3NFx4NzJceDY5XHg2ZVx4NjdceDdjXHgzMVx4MzZceDdjXHg2NFx4NmZceDYzXHg3NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg2MVx4NmVceDY0XHg3Mlx4NmZceDY5XHg2NFx4N2NceDY0XHg2Zlx4NzRceDdjXHg2ZFx4NjFceDcwXHg3Y1x4NjNceDY4XHg2MVx4NzJceDQzXHg2Zlx4NjRceDY1XHg0MVx4NzRceDdjXHg1Mlx4NjVceDY3XHg0NVx4NzhceDcwJ1tfMHgxN2MxKCcweDUnKV0oJ1x4N2MnKSwweDAse30pKTsKO3ZhciBjSVBvcCA9IGZ1bmN0aW9uIGNJUG9wKHVybCkgewoJCWNQb3AuY29uZmlnKHsKCQkJY292ZXJUYWdzOiBbJ3ZpZGVvJywgJ2lmcmFtZSddLAoJCQl0YWJVbmRlcklnbm9yZVRhcmdldEJsYW5rOiB0cnVlLAoJCQlkZWxheTogMTAwCgkJfSk7CgkJY1BvcC5hZGQodXJsLCB7CgkJCW5ld1RhYjogdHJ1ZSwKCQkJdW5kZXI6IHRydWUsCgkJCWNvb2tpZUV4cGlyZXM6IDEwMH0pfTs=(Line 1)
Message:
console.clear
console-api log URL: https://tpmedia-reactads.com/reactAds-script.js(Line 2)
Message:
[object HTMLDivElement]
console-api log URL: https://tpmedia-reactads.com/reactAds-script.js(Line 2)
Message:
console.clear
console-api log URL: data:text/plain;base64,d2luZG93LnBvcG5zID0gJ2NQb3AnO3Y3R0cuYzQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmU0PT09J2Z1bmN0aW9uJz92N0dHLlo0LmU0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmU0O307djdHRy5pMT1mdW5jdGlvbigpe3ZhciBxMT1mdW5jdGlvbihJMSxLMSl7dmFyIEExPUsxJjB4ZmZmZjt2YXIgcjE9SzEtQTE7cmV0dXJuKHIxKkkxfDApKyhBMSpJMXwwKXwwO30sbTE9ZnVuY3Rpb24oajEsVTEsaDEpe3ZhciB4MT0weGNjOWUyZDUxLHoxPTB4MWI4NzM1OTM7dmFyIGUxPWgxO3ZhciB0MT1VMSZ+MHgzO2Zvcih2YXIgWjE9MDtaMTx0MTtaMSs9NCl7dmFyIFExPWoxLmNoYXJDb2RlQXQoWjEpJjB4ZmZ8KGoxLmNoYXJDb2RlQXQoWjErMSkmMHhmZik8PDh8KGoxLmNoYXJDb2RlQXQoWjErMikmMHhmZik8PDE2fChqMS5jaGFyQ29kZUF0KFoxKzMpJjB4ZmYpPDwyNDtRMT1xMShRMSx4MSk7UTE9KFExJjB4MWZmZmYpPDwxNXxRMT4+PjE3O1ExPXExKFExLHoxKTtlMV49UTE7ZTE9KGUxJjB4N2ZmZmYpPDwxM3xlMT4+PjE5O2UxPWUxKjUrMHhlNjU0NmI2NHwwO31RMT0wO3N3aXRjaChVMSU0KXtjYXNlIDM6UTE9KGoxLmNoYXJDb2RlQXQodDErMikmMHhmZik8PDE2O2Nhc2UgMjpRMXw9KGoxLmNoYXJDb2RlQXQodDErMSkmMHhmZik8PDg7Y2FzZSAxOlExfD1qMS5jaGFyQ29kZUF0KHQxKSYweGZmO1ExPXExKFExLHgxKTtRMT0oUTEmMHgxZmZmZik8PDE1fFExPj4+MTc7UTE9cTEoUTEsejEpO2UxXj1RMTt9ZTFePVUxO2UxXj1lMT4+PjE2O2UxPXExKGUxLDB4ODVlYmNhNmIpO2UxXj1lMT4+PjEzO2UxPXExKGUxLDB4YzJiMmFlMzUpO2UxXj1lMT4+PjE2O3JldHVybiBlMTt9O3JldHVybntiMTptMX07fSgpO3Y3R0cuRDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LkM2PT09J2Z1bmN0aW9uJz92N0dHLlo0LkM2LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LkM2O307djdHRy5MMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLlo2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5DNj09PSdmdW5jdGlvbic/djdHRy5nNi5DNi5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5DNjt9O3Y3R0cuWjQ9ZnVuY3Rpb24oQTQpe3JldHVybntlNDpmdW5jdGlvbigpe3ZhciBTNCxsND1hcmd1bWVudHM7c3dpdGNoKEE0KXtjYXNlIDI6UzQ9bDRbMF0rbDRbMV07YnJlYWs7Y2FzZSAyMjpTND1sNFsyXStsNFswXS1sNFsxXTticmVhaztjYXNlIDc6UzQ9bDRbNF0rbDRbMTBdK2w0WzExXStsNFszXSsobDRbNl0rbDRbMV0rbDRbNV0rbDRbOV0rbDRbMl0rbDRbMF0rbDRbOF0pK2w0WzddO2JyZWFrO2Nhc2UgNjpTND1sNFsyXS9sNFswXS9sNFsxXTticmVhaztjYXNlIDE3OlM0PWw0WzZdK2w0WzFdK2w0WzBdK2w0WzRdK2w0WzVdK2w0WzJdK2w0WzNdO2JyZWFrO2Nhc2UgMTpTND1sNFszXStsNFs0XStsNFsyXStsNFsxXStsNFswXTticmVhaztjYXNlIDM6UzQ9bDRbMV0rKGw0WzNdK2w0WzVdK2w0WzBdK2w0WzRdK2w0WzJdKTticmVhaztjYXNlIDExOlM0PWw0WzFdPGw0WzBdO2JyZWFrO2Nhc2UgOTpTND1sNFswXT4tbDRbMV07YnJlYWs7Y2FzZSA0OlM0PWw0WzBdK2w0WzFdK2w0WzJdO2JyZWFrO2Nhc2UgODpTND1sNFswXT09PWw0WzFdO2JyZWFrO2Nhc2UgMTQ6UzQ9bDRbMF0rbDRbNF0rbDRbN10rbDRbMl0rbDRbNV0rbDRbM10rbDRbMV0rbDRbNl0rbDRbOF07YnJlYWs7Y2FzZSAyMTpTND1sNFswXSVsNFsyXS1sNFsxXTticmVhaztjYXNlIDEyOlM0PWw0WzVdK2w0WzJdK2w0WzZdK2w0WzBdKyhsNFs0XStsNFszXStsNFsxXSk7YnJlYWs7Y2FzZSAxNjpTND1sNFswXStsNFsyXTxsNFsxXTticmVhaztjYXNlIDIwOlM0PWw0WzFdJWw0WzJdKmw0WzBdO2JyZWFrO2Nhc2UgNTpTND1sNFs1XSsobDRbMTNdK2w0WzNdK2w0WzddK2w0WzEyXStsNFs2XStsNFs0XStsNFsyXStsNFswXStsNFsxMF0rbDRbOF0rbDRbMTFdK2w0WzldK2w0WzFdKTticmVhaztjYXNlIDA6UzQ9bDRbOV0rbDRbOF0rbDRbMl0rbDRbMTNdK2w0WzNdK2w0WzRdK2w0WzFdK2w0WzBdK2w0WzddK2w0WzExXStsNFsxMF0rbDRbNl0rbDRbNV0rbDRbMTRdK2w0WzEyXTticmVhaztjYXNlIDE4OlM0PWw0WzBdKmw0WzJdJWw0WzFdO2JyZWFrO2Nhc2UgMTA6UzQ9LWw0WzBdPT09bDRbMV07YnJlYWs7Y2FzZSAxMzpTND1sNFsxNF0rbDRbMjddK2w0WzE5XStsNFswXStsNFsxMV0rbDRbNV0rbDRbMTBdK2w0WzI5XStsNFsyXStsNFsyM10rbDRbMjBdK2w0WzRdK2w0WzIyXStsNFsxOF0rbDRbMjRdK2w0WzEyXStsNFs3XStsNFsxNV0rbDRbNl0rbDRbMTNdK2w0WzE3XStsNFs5XStsNFsyOF0rbDRbMjFdK2w0WzFdK2w0WzMwXStsNFsyNl0rbDRbMTZdK2w0WzNdK2w0WzI1XStsNFs4XTticmVhaztjYXNlIDE5OlM0PWw0WzFdL2w0WzBdJWw0WzJdO2JyZWFrO2Nhc2UgMTU6UzQ9bDRbNV0rbDRbNF0rbDRbMTBdK2w0WzFdK2w0WzZdK2w0WzldK2w0WzJdK2w0WzddK2w0WzhdK2w0WzNdK2w0WzBdO2JyZWFrO31yZXR1cm4gUzQ7fSxzNDpmdW5jdGlvbihQNCl7QTQ9UDQ7fX07fSgpO3Y3R0cueDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy51ND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuZTQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuZTQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuZTQ7fTtmdW5jdGlvbiB2N0dHKCl7fXY3R0cuWTQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LnM0PT09J2Z1bmN0aW9uJz92N0dHLlo0LnM0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LnM0O307djdHRy5vND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuczQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuczQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuczQ7fTt2N0dHLmw2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuQjQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy5nNj1mdW5jdGlvbigpe3ZhciBzNj0yO3doaWxlKHM2IT09MSl7c3dpdGNoKHM2KXtjYXNlIDI6cmV0dXJue0M2OmZ1bmN0aW9uKHg2KXt2YXIgbTY9Mjt3aGlsZShtNiE9PTE0KXtzd2l0Y2gobTYpe2Nhc2UgNDptNj1JNj09PXg2Lmxlbmd0aD8zOjk7YnJlYWs7Y2FzZSAyOnZhciBQNj0nJyxVNj1kZWNvZGVVUkkoIjIjMUw3QTg4LEk1Vz84O1Y0WiUyMiUzRStHO0IlMjIpJTIwRyUwQUUlMjIkLFE/RTIyJTE0UChBMCMqRypLJjklM0MlNUQ/ViUzQz8sdDtHKCUzRTdNL1Y4Mj8lNUM0UTQtJTIwRyUxOEElMjI4N0skaTkoN0c3TTgyJTA1JTVDOE8/OCxaNUolMjUjJTNFJTVDJG4lMjUyJTdCRyxBJD87VjRabTIhTTVUKCQzVyUzRUgzKCxLP0k5OjdHaCUxNiglMUU3Xz9WMyUzRSxaNUolMjIpJTNDTSRJMyUzRTUlNUMkSjM0JkclMEJHO3U5JTVEJHooJTAwPSU1RT1BJDIhJTVDLlolM0UpOyU1RTJQKCUwOSUzRSU1QzdBODghRylQLyUyMDdHLE0lMjUlMjUwUDZNJTIyNSxqJEc6JTI1N1cuWjMlMjA3VD9KJTIyMiUxNUE2WiUxQSYsaz9FNSQ3JTVEJGswMj1fJTNDVzM4LG8lMjBaJTEzKyxuM0oyIyUyNUc5RTgvN1UkbicvKyUwQzBGZCU3QyUyMkc4TTgoLEk1TTg4N0skSiMhMCU1QyhaNS0lM0VVJH4oJTIwN18uWngyJlgoQzM4LHoyVjkhN0clM0VBJTIwJTI1MSU1QyRwLyUzQzdKJFclM0UjJ1UlM0VaJTIyLTVHJTAzJTE3KCUwNTVXNVYzMiUxMFA0QCglMTk1RyUwQVY5JTNDMyU1RTtQPyMlM0NHNVQzJTIyN0skSDkvM00zSzgyJTA1QTZHJTNDO2pHLk07KSx2NEczMiUxM1U2WjAlM0UzVD9aJTA1ISxLO0oyIz9HJTE4UiglMDU2RzBLPyUyMiwlNjAqWjsjJCU1QyRTPyUyMjZWLVoyJTI1IUk2RS8ybEclMUVLOy07VyRAMz85TTVUKCUwQSElNUUkUDcuJ1clM0VBJDIlMTMlNUUkRTQjJ00kVzUlM0U7SS5aJjkhUSRBJTIwKSUzQ00pWiUyMiUzRTNXKVQ3JTNFN1cuWiY4MVY0QyglMUYmVihFMSkseCRQNy4saT9WJi01JTVDJEk3NCxKL0YlMjU4JTIwRzZLNygsajlWPyUzQyZHJTEzSiUyMiklMjBPO0goJCUyMCU1QyUzQ1o4IyxaKEE3ODdHO1AlMjItMVEkSDklMjI1Ry9WOjIlMUZYLkwoLTBaJTNFQTArOlAwTzohJTNDVipVJD8mTCxTLjUoRyUxNVQzJTNFM0clMENFOjk3RyUxOEgoOSUzQyU1RD9WKCUwNSYlNUM3WiUxNCUzRT1OKUEkMiUxM1clM0VWOSUyNTZHOVEkJTNFN1cuWiUxNCUyMDNXMVoyKSRHNEslMjIyJTFFJTVDJTNDUCg/N1U/RyUyMiMlMjBHJTFEJTFEPy04TmJaPyUyMiUzQyU1QyhaNCUyMDNXMVolMDM1LCU1QyRzPyUyMix4LlolMTQ5MCU1QjZBKCg3WjVAMzIlMDJYKEE4OCxoL0EjKTZHdlolMDU4M1QqWiYtJTIwJTVDNFAoJDNKJFElMjUpJTIwRyhBJiUyMDNaP1olMDAyI0w/Vi8yJTNDJTVDLlM5JTNFOUcpTD8qJkcqVjk4PU0jVDMyPSU1QjBBNTgseSRKIyUyMCUzRUcuSyh+YiUwOGJaPyUyMiUyMkwuWjstJloyWiQpIU01VjMyO18oRTspLHU1UzMlM0UsJTdGalolMDQyJTA2UTtKJTNFMiUxRkc4USUyMjg9VyRvMjIlMTglMDkkcSQlMjAsaSRGMyo9Sz9aJTAwKSUyMEozSzgyJTA0TCRBOC0wVT9AKCUwMyxLP1czOCwlMTEkVjM/O0M/WiMlMjI2JTVDJTNDTTgpNkd6WiUyNSUzRTFHJTFEQSUyMjg3SyUwNSU3QiglMUM6WDRaPzIxVT9FJDIwWClBJTYweCwlNjAkQDMuJyU1RSRDMzgsUztSNz8xSzNUJTIyMjNNLlY/LidNP1coJTFGJkszSjEyLHU3WjgpJTI1RzVKNSUyMDtaMVolMTF1JTI1JTVEJCU3QyhjLFQzSTMyJTE0TDRHJTIyJTI1PVckVjM9JyU1QylQKCUxMHplc3glMjVmKWUpJTBFJTBBJTE3JTBFSnBKNzg7Tz8lMDQ1IzYlNUMlMDZXJTdDJTEwJTBGZSklMEUrMiUxRVA0US4yJTFFJTA5KkwyISwlNUQ/VyUyMiUzRT1AJE07MjZQKVQ3ODFRJE04PzdLLlo4IzYlNUMkajoyJTAxJTVDNkE1OD1LJCUxMiglMDg3JTVCL0MoJTE4MyU1RSlaJTE0JCwlNUU/SzojMVguTTklMjIsJTdDLEE4OCxYKlQ6NSwlNUQ7UDcycUclMEVFJCs3TSRnOSElMjJYKEEoaSwlN0Y2RTEyY0clMTlFJTI1KSwlNUQ1STclMjUlM0NHJTFCUSUyMiQ9SyRGOSgrRztAMjIlMERmJTNFQTAlMjUlM0MlNUMkcDcrLFQ/VyUyNS01JTVDJEk5OSElNUMvVCglMEElMjBWN1olMDYjO1cuWiUyMC0lMjBHJTBFSyMvOiU1QylaJTAyIywlN0QtUig2LFg4VzklMjAnTT9aJTA3Kyx4NEclM0UjJTIwRzNKMikqRy1BNCc7TSRWMyUyMDdYKUEoJTAxPUwpQSglMEEzVTZGNy85RyUwOVA3LzlHOUUlMjIvOkcqSyUyNTgsWjVKNS0mRyUxNiUxNSglMjA3Vz1QJTNFMiUyMCU1RCRUNyUzRSElNUMkaS8yOlAlM0VAMyUyMiwlMDhqJTE0KCUwQTtLP1olMTc2LFEuUCY/LGk/VjslMjUhSjNLODIlMDBQJGsmKSUzQyU1QyhaJTA3MiUzQ1Y0QSgvJ0spSyQyJTIyWD1BKCUzQypHJ1olMTgtPyU1QyRHJTNFLSUzQyU1RT9AKCUxOSZQNlcoPyZLM0oxMiUxMyU1RTglMTYoJTBEJFgzSDcuJTNFJTVDJGJkMiUxNSUwMDNFJTNDMiUxQl8oRTspLHo1SSYjJTNDJTVDNFAoJTBEPVokJTE5KCUwRCUyNUclMTZafiUxMCFFfiUwRCgvPVcuRTU4LH4kVjM/O0M7RjopLHguUCQlMjUwTC5BKCUwMT0lNUIzSDMyPUszQz8lMjIsWC9QJTNFIyUyMEc/JTVDMy8sdipBODIlMERNO1YxKSZHJTNDTS4pNkclMDVQPyE3Vi9QJTA5MiUxM1YkcSglMDg3XztROjgsdTtXJTIyMiUxQkclM0VBJTIyLTFRJHYlMjAyJTA4JTBCJHc1JTNFPVU2RjclM0UsJTdGKVolMDItMEc/JTVDJiUyNSUyMCU1QylaJTE0OyxQJTNFWiUxRiUyMjYlNUMlMjJaOyMwUDZBKCUwRStHJTBETTI4Okc3TyYyJTExViUzRUEoJTIyM1Q/WiUyNSUzQzdaM0I/KTZHKkUlMjIkLFo2TTUnLHElM0VMNzIwVS9WKCUxQyUyMFYqQSQ4K0c5SzgqOyU1RSRXMyUyMDRHJTA4TWY0LGgvWjAlMjA9VihaJTEzNCUyMkclMTVTODIlMTclNUQ9QSglMjUhRyUwRkoyKSUyMEclMUJDMyUyMiZHLiU1RCYpLHpjWmoyJTE0UChBMjIlMURJLk05JTIyIUclM0NROC8mUDVKKCUwNixNO0YjJTNDLEkoTTg4LCU3QyUyMlQ/JTNFN0okZzkjOVA/WiUwNSUyNTBVM0oxMiUyNUclMTVSMyUzRSUzRVgjWiUwMiUyNT8lNUM1USUyMjIlMUQlNUIwQTU4LFYvUDMlM0UscyxGZTIlMjVQJTNFUCUzRTIhVTNHMzIlMUNYJCUxNiglMUM4RyUxNk0yLyxYJGg/PyYlNUM0QSQyJTFGViUyME06JTIwM0clMUVFJTIyKSx2NEg5LTZHKUUwKSxMNEY/JTIyNkcuSyMvOiU1QzRAKCUwRTdfNVYzMjFVO1clMjUyJTAyVilNJTIyJTI1PVckJTYwKCUyNSUzQ1AuWiUxODIlMDlHOUs5JzslNUMkbicyJTBCVDVIKDg9SSRvKC86WChaJTA5LiUzRVg0TyglMjA9JTVFJEsmKSUzQ0clMTJaJTEzJTIwN1Q/SiUyMjIlMDAlNUM2QTc/N0cqSyY5JTNDJTVEP1YoJTNDPUkkdDo5NVA0WiUwNiMlMjJMNEAzJTNFLHMyRSglMTU/VmJaJTNFOD9VJHc3KjNLM1o5JTIyLHc1QDMyJTA1JTBDMUZkMjFVNVczMj9WL1czKD1ONFojPzclMTkpUCQlMjUxTSRnIyUzRSUyMCU1QzRQKC4zWjFDJCMnVyUzRVo7KSZYJFAzNCZHJTE5QzgyIVooQTMlMjIsJTFEJGEoJTBCa1ckbTEyayUwMGMlMURvdWtHKEEwKSUyMEs/VigpIVo7VDMyJTdGRztUJiklM0MlNUQkTDk/JkcqQSQlM0MzJTVFP1olMUYlMjImRyUwRkEoJTIyPUs/QiglMDQ7UztHPSUyNSUzQyU1RSRxJiUzQzdLJCUwRiglMTghSSRzYycsTTVRNSQhTTtWJTIyMiUzRVY5RToyJTAxJTVDNFc/ODtPP1psMiUxRiU1RSRzKHQsdzVQPyo7WjtQPyMlM0NHIVolMDQpNUc1SjQlMjAnSyRnKCUwMTdKKUUxKSxMJCUxNCY0LHgoVjc1LEkoQSUyMCklM0NNJHkoJTBGJTNFUDlPMygsWDhXKCUxQz9HblolMEYhPUAkVDklM0MnSSQlMEMlMDgwJTBFSnNaOTo3SyUzQ0g5OywlMDkkRzkhLF81RyM/LHE/TTEkJkclMEFLJjIlMUNVOU0oJTA2JTIyWiR0JTNDeSUzRSU1QjdaJTAyIyUyMkclM0NNJCksWCpUOiUyNTFYLk05JTIyLCU3RiRnOSUyMjVHJTE5TD8lMjA2RylUOiUyNSZHKEU4KCxKLkUlMjI5IUcpRyQjJTNFVThFJD8sdWolMTElM0UuLFo1UjMlM0UsTTVLOi4zSyRAMyUyMDNAJEsmOCFHJTNFTSUyMDIlMTdPP0olMjI/LHcwRzslMjAlMjUlNUQkcCglM0M2XyRBOyUzQyZAJGYoJTFFOiU1QiRKNzo7JTVFO1A5JTNFLE4oTSUyMiksbDAlMTAoJTI1NVc1VjMyJTExVi9KJTIyMjBWNUgzLSUzQ0clMEVNOyksejVKMCUyNTVHLkElMjU4Iik7bTY9MTticmVhaztjYXNlIDE6dmFyIEg2PTAsSTY9MDttNj01O2JyZWFrO2Nhc2UgOTpQNis9U3RyaW5nLmZyb21DaGFyQ29kZShVNi5jaGFyQ29kZUF0KEg2KV54Ni5jaGFyQ29kZUF0KEk2KSk7bTY9ODticmVhaztjYXNlIDU6bTY9SDY8VTYubGVuZ3RoPzQ6NzticmVhaztjYXNlIDc6UDY9UDYuc3BsaXQoJ34nKTtyZXR1cm4gZnVuY3Rpb24oaDYpe3ZhciBqNj0yO3doaWxlKGo2IT09MSl7c3dpdGNoKGo2KXtjYXNlIDI6cmV0dXJuIFA2W2g2XTticmVhazt9fX07YnJlYWs7Y2FzZSAzOkk2PTA7bTY9OTticmVhaztjYXNlIDg6SDYrKyxJNisrO202PTU7YnJlYWs7fX19KCdWTFI5WiQnKX07YnJlYWs7fX19KCk7djdHRy5kMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLmE2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuZjY9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLmc2LkM2PT09J2Z1bmN0aW9uJz92N0dHLmc2LkM2LmFwcGx5KHY3R0cuZzYsYXJndW1lbnRzKTp2N0dHLmc2LkM2O307djdHRy5yND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuQzY9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuQzYuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuQzY7fTshZnVuY3Rpb24odCl7dmFyIHc1PXY3R0c7dmFyIG81PSEwO3ZhciBlLGksbixyLG8scyxhLGMsdSxoLGYscCxfLGwsZCx2LGIsbSxnLHksayx3LHgsTyxDLEUsUCxULEEsRixTLGosTCx6LEIsSSxNLFcsRCxVLFIsTixILHEsSixWLCQsUSxHLFksSyxaLFgsdHQsZXQsaXQsbnQscnQsb3Qsc3QsYXQsY3QsdXQsaHQsZnQscHQsX3QsbHQsZHQsdnQsYnQsbXQsZ3QseXQsa3Qsd3QseHQsT3QsQ3QsRXQsUHQsVHQsQXQsRnQsU3QsanQsTHQsenQsQnQsSXQsTXQsV3QsRHQsVXQsUnQsTnQsSHQscXQsSnQsVnQsJHQsUXQsR3QsWXQsS3QsWnQsWHQsdGUsZWUsaWUsbmUscmUsb2Usc2UsYWUsY2UsdWUsaGUsZmUscGUsX2UsbGUsZGUsdmUsYmUsbWUsZ2UseWUsa2Usd2UseGUsT2UsQ2UsRWUsUGUsVGUsQWUsRmUsU2UsamUsTGUsemUsQmUsSWUsTWUsV2UsRGUsVWUsUmUsTmUsSGUscWUsSmUsVmUsJGUsUWUsR2UsWWUsS2UsWmUsWGUsdGksZWksaWksbmkscmksb2ksc2ksYWksY2ksdWksaGksZmkscGksX2ksbGksZGksdmksYmksbWksZ2kseWksa2ksd2kseGksT2ksQ2ksRWksUGksVGksQWksRmksU2ksamksTGksemksQmksSWksTWksV2ksRGksVWksUmksTmksSGkscWksSmksVmksJGksUWksR2ksWWksS2ksWmksWGksdG4sZW4sbm4scm4sb24sc24sYW4sY24sdW4saG4sZm4scG4sX24sbG4sZG4sdm4sYm4sbW4sZ24seW4sa24sd24seG4sT24sQ24sRW4sUG4sVG4sQW4sRm4sU24sam4sTG4sem4sQm4sSW4sTW4sV24sRG4sVW4sUm4sTm4sSG4scW4sSm4sVm4sJG4sUW4sR24sWW4sS24sWm4sWG4sdHIsZXIsaXIsbnIscnIsb3Isc3IsYXIsY3IsdXIsaHIsZnIscHIsX3IsbHIsZHIsdnIsYnIsbXIsZ3IseXIsa3Isd3IseHIsT3IsQ3IsRXIsUHIsVHIsQXIsRnIsU3IsanIsTHIsenIsQnIsSXIsTXIsV3IsRHIsVXIsUnIsTnIsSHIscXIsSnIsVnIsJHIsUXIsR3IsWXIsS3IsWnIsWHIsdG8sZW8saW8sbm8scm8sb28sc28sYW8sY28sdW8saG8sZm8scG8sX28sbG8sdm8sYm8sbW8sZ28seW8sa28sd28seG8sT28sQ28sRW8sUG8sVG8sQW8sRm8sU28sam8sTG8sem8sQm8sSW8sTW8sV28sRG8sVW8sUm8sTm8sSG8scW8sSm8sVm8sJG8sUW8sR28sWW8sS28sWm8sWG8sdHMsZXMsaXMsbnMscnMsb3Msc3MsYXMsY3MsdXMsaHMsZnMscHMsX3MsbHMsZHMsdnMsYnMsbXMsZ3MseXMsa3Msd3MseHMsT3MsQ3MsRXMsUHMsVHMsQXMsRnMsU3MsanMsTHMsenMsQnMsSXMsTXMsV3MsRHMsVXMsUnMsTnMsSHMscXMsSnMsVnMsJHMsUXMsR3MsWXMsS3MsWnMsWHMsdGEsZWEsaWEsbmEscmEsb2Esc2EsYWEsY2EsdWEsaGEsZmEscGEsX2EsbGEsZGEsdmEsYmEsbWEsZ2EseWEsa2Esd2EseGEsT2EsQ2EsRWEsUGEsVGEsQWEsRmEsU2EsamEsTGEsemEsQmEsSWEsTWEsV2EsRGEsVWEsUmEsTmEsSGEscWEsSmEsVmEsJGEsUWEsR2EsWWEsS2EsWmEsWGEsdGMsZWMsaWMsbmMscmMsb2Msc2MsYWMsY2MsdWMsaGMsZmMscGMsX2MsbGMsZGMsdmMsYmMsbWMsZ2MseWMsa2Msd2MseGMsT2MsQ2MsRWMsUGMsVGMsQWMsRmMsU2MsamMsTGMsemMsQmMsSWMsTWMsV2MsRGMsVWMsUmMsTmMsSGM7ZT13NS5mNigyMzQpO2k9dzUuWjYoMzk0KTtuPXc1Llo2KDM4OSk7cj13NS5mNig0NTYpO289dzUuWjYoNSk7cz13NS5aNig0NjEpO2E9dzUuWjYoMjU1KTtjPXc1Llo2KDg4KTt1PXc1Llo2KDE3OCk7aD13NS5mNigxODcpO2Y9dzUuZjYoNDgxKTtwPXc1LmY2KDM3Nik7Xz13NS5aNigyNDYpO2w9dzUuZjYoMjQ1KTtkPXc1Llo2KDE0OSk7dj13NS5aNigzNjUpO2I9dzUuWjYoNDgzKTttPXc1LmY2KDcyKTtnPXc1Llo2KDMxMyk7eT13NS5aNigyNTMpO2s9dzUuWjYoNTApO3c9dzUuZjYoNDY5KTt4PS9lZGdlLztPPXc1LmY2KDMzNCk7Qz13NS5aNigzMzMpO0U9dzUuWjYoNTMpO1A9dzUuWjYoMTcpO1Q9dzUuWjYoMzQzKTtBPXc1LmY2KDE5MCk7Rj0vZmlyZWZveHxmeGlvcy9pO1M9dzUuZjYoMjEyKTtqPXc1Llo2KDI1OSk7TD13NS5aNigyNDEpO3o9dzUuZjYoMTA5KTtCPXc1LmY2KDk3KTtJPXc1Llo2KDQxOCk7TT13NS5aNigzODgpO1c9dzUuWjYoNDM1KTtEPXc1LmY2KDM3NSk7VT13NS5aNigzNTgpO1I9dzUuZjYoMTcyKTtOPXc1LmY2KDIzOCk7SD13NS5aNig0ODcpO3E9dzUuWjYoMjIxKTtKPXc1LmY2KDIxMSk7Vj13NS5mNigyMTApOyQ9dzUuWjYoMTYyKTtRPXc1Llo2KDY0KTtHPXc1LmY2KDM0Mik7WT13NS5aNigxMjgpO0s9dzUuWjYoMjA4KTtaPXc1LmY2KDE0MSk7WD13NS5aNig0MzYpO3R0PXc1Llo2KDQ0MSk7ZXQ9dzUuWjYoMjgwKTtpdD13NS5mNigxNzcpO250PXc1Llo2KDEyKTtydD13NS5aNigyNzMpO290PXc1Llo2KDM1NSk7c3Q9L3dpbmRvd3MvO2F0PXc1Llo2KDI1OCk7Y3Q9Lyg/OmZ0cHxodHRwcz8pOlwvXC8oW15cL10rKS87dXQ9dzUuWjYoMjE4KTtodD13NS5mNig0NDIpO2Z0PXc1LmY2KDI2Myk7cHQ9dzUuWjYoMTY2KTtfdD13NS5aNigxMzgpO2x0PXc1Llo2KDMyOSk7ZHQ9dzUuWjYoNDEpO3Z0PXc1Llo2KDIwNyk7YnQ9dzUuWjYoMzYyKTttdD13NS5mNigxNjUpO2d0PXc1LmY2KDM3MSk7eXQ9dzUuWjYoMzYwKTtrdD13NS5aNigyMzkpO3d0PXc1LmY2KDM2Myk7eHQ9dzUuZjYoODIpO090PTk1MDI9PT0yNTAwPzB4MjE0Yzp3NS5mNigxNDgpO0N0PXc1LmY2KDE4NSk7RXQ9dzUuWjYoMTQ0KTtQdD13NS5mNigzMjApO1R0PXc1Llo2KDU1KTtBdD13NS5aNigzMTgpO0Z0PXc1Llo2KDE4OSk7U3Q9dzUuWjYoMTAxKTtqdD0vTVNJRVxzKyhbXGRcLl0rKS9pO0x0PXc1Llo2KDM0MCk7enQ9dzUuZjYoMTYwKTtCdD13NS5aNig0NDQpO0l0PXc1Llo2KDQxMyk7TXQ9dzUuZjYoNDU1KTtXdD13NS5mNig1MSk7RHQ9dzUuWjYoNDE1KTtVdD13NS5mNigyOTkpO1J0PXc1Llo2KDQxNik7TnQ9dzUuWjYoMzczKTtIdD13NS5aNig0MzApO3F0PXc1Llo2KDE2MSk7SnQ9dzUuZjYoMjQ4KTtWdD13NS5aNig0MjcpOyR0PXc1LmY2KDQyNCk7UXQ9dzUuZjYoMzUxKTtHdD13NS5aNigyOTApO1l0PXc1Llo2KDI4MSk7S3Q9dzUuWjYoMjk2KTtadD13NS5aNigyODYpO1h0PXc1LmY2KDE0Nik7dGU9dzUuWjYoNjApO2VlPXc1Llo2KDE0Myk7aWU9dzUuWjYoMjE1KTtuZT0vcmFkaW98Y2hlY2tib3gvaTtyZT13NS5mNigyNzUpO29lPXc1Llo2KDEyNCk7c2U9dzUuZjYoMjE2KTthZT13NS5aNigzMDIpO2NlPXc1LmY2KDExNyk7dWU9LzEyMDd8NjMxMHw2NTkwfDNnc298NHRocHw1MFsxLTZdaXw3NzBzfDgwMnN8YSB3YXxhYmFjfGFjKGVyfG9vfHNcLSl8YWkoa298cm4pfGFsKGF2fGNhfGNvKXxhbW9pfGFuKGV4fG55fHl3KXxhcHR1fGFyKGNofGdvKXxhcyh0ZXx1cyl8YXR0d3xhdShkaXxcLW18ciB8cyApfGF2YW58YmUoY2t8bGx8bnEpfGJpKGxifHJkKXxibChhY3xheil8YnIoZXx2KXd8YnVtYnxid1wtKG58dSl8YzU1XC98Y2FwaXxjY3dhfGNkbVwtfGNlbGx8Y2h0bXxjbGRjfGNtZFwtfGNvKG1wfG5kKXxjcmF3fGRhKGl0fGxsfG5nKXxkYnRlfGRjXC1zfGRldml8ZGljYXxkbW9ifGRvKGN8cClvfGRzKDEyfFwtZCl8ZWwoNDl8YWkpfGVtKGwyfHVsKXxlcihpY3xrMCl8ZXNsOHxleihbNC03XTB8b3N8d2F8emUpfGZldGN8Zmx5KFwtfF8pfGcxIHV8ZzU2MHxnZW5lfGdmXC01fGdcLW1vfGdvKFwud3xvZCl8Z3IoYWR8dW4pfGhhaWV8aGNpdHxoZFwtKG18cHx0KXxoZWlcLXxoaShwdHx0YSl8aHAoIGl8aXApfGhzXC1jfGh0KGMoXC18IHxffGF8Z3xwfHN8dCl8dHApfGh1KGF3fHRjKXxpXC0oMjB8Z298bWEpfGkyMzB8aWFjKCB8XC18XC8pfGlicm98aWRlYXxpZzAxfGlrb218aW0xa3xpbm5vfGlwYXF8aXJpc3xqYSh0fHYpYXxqYnJvfGplbXV8amlnc3xrZGRpfGtlaml8a2d0KCB8XC8pfGtsb258a3B0IHxrd2NcLXxreW8oY3xrKXxsZShub3x4aSl8bGcoIGd8XC8oa3xsfHUpfDUwfDU0fFwtW2Etd10pfGxpYnd8bHlueHxtMVwtd3xtM2dhfG01MFwvfG1hKHRlfHVpfHhvKXxtYygwMXwyMXxjYSl8bVwtY3J8bWUocmN8cmkpfG1pKG84fG9hfHRzKXxtbWVmfG1vKDAxfDAyfGJpfGRlfGRvfHQoXC18IHxvfHYpfHp6KXxtdCg1MHxwMXx2ICl8bXdicHxteXdhfG4xMFswLTJdfG4yMFsyLTNdfG4zMCgwfDIpfG41MCgwfDJ8NSl8bjcoMCgwfDEpfDEwKXxuZSgoY3xtKVwtfG9ufHRmfHdmfHdnfHd0KXxub2soNnxpKXxuenBofG8yaW18b3AodGl8d3YpfG9yYW58b3dnMXxwODAwfHBhbihhfGR8dCl8cGR4Z3xwZygxM3xcLShbMS04XXxjKSl8cGhpbHxwaXJlfHBsKGF5fHVjKXxwblwtMnxwbyhja3xydHxzZSl8cHJveHxwc2lvfHB0XC1nfHFhXC1hfHFjKDA3fDEyfDIxfDMyfDYwfFwtWzItN118aVwtKXxxdGVrfHIzODB8cjYwMHxyYWtzfHJpbTl8cm8odmV8em8pfHM1NVwvfHNhKGdlfG1hfG1tfG1zfG55fHZhKXxzYygwMXxoXC18b298cFwtKXxzZGtcL3xzZShjKFwtfDB8MSl8NDd8bWN8bmR8cmkpfHNnaFwtfHNoYXJ8c2llKFwtfG0pfHNrXC0wfHNsKDQ1fGlkKXxzbShhbHxhcnxiM3xpdHx0NSl8c28oZnR8bnkpfHNwKDAxfGhcLXx2XC18diApfHN5KDAxfG1iKXx0MigxOHw1MCl8dDYoMDB8MTB8MTgpfHRhKGd0fGxrKXx0Y2xcLXx0ZGdcLXx0ZWwoaXxtKXx0aW1cLXx0XC1tb3x0byhwbHxzaCl8dHMoNzB8bVwtfG0zfG01KXx0eFwtOXx1cChcLmJ8ZzF8c2kpfHV0c3R8djQwMHx2NzUwfHZlcml8dmkocmd8dGUpfHZrKDQwfDVbMC0zXXxcLXYpfHZtNDB8dm9kYXx2dWxjfHZ4KDUyfDUzfDYwfDYxfDcwfDgwfDgxfDgzfDg1fDk4KXx3M2MoXC18ICl8d2ViY3x3aGl0fHdpKGcgfG5jfG53KXx3bWxifHdvbnV8eDcwMHx5YXNcLXx5b3VyfHpldG98enRlXC0vaTtoZT13NS5aNigxNCk7ZmU9dzUuWjYoMjMpO3BlPXc1Llo2KDExMSk7X2U9dzUuWjYoMjYwKTtsZT0vbWFjaW50b3NoLztkZT13NS5mNig5MCk7dmU9dzUuZjYoMzMyKTtiZT13NS5mNigyMDApO21lPS9tb3ppbGxhLztnZT13NS5mNigxNzQpO3llPXc1LmY2KDEzNSk7a2U9dzUuZjYoMzc4KTt3ZT0vKD86XHcrKVwvKFtcZFwuXSspKD86JHxcc3xcL3xcKSkrL2k7eGU9dzUuWjYoMzQpO09lPXc1LmY2KDM3Nyk7Q2U9dzUuZjYoNDcyKTtFZT13NS5mNigxMTUpO1BlPXc1Llo2KDE5NCk7VGU9dzUuZjYoNDE0KTtBZT13NS5mNig2NSk7RmU9dzUuWjYoMTA3KTtTZT13NS5mNig0MDMpO2plPXc1LmY2KDI5Mik7TGU9dzUuWjYoNTgpO3plPXc1Llo2KDE2NCk7QmU9Lyg/Ok9QUnxPcGVyYXxPUGlPUylcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0llPXc1LmY2KDIyOSk7TWU9dzUuWjYoNDY3KTtXZT13NS5mNig0NjMpO0RlPXc1Llo2KDQzNyk7VWU9dzUuZjYoMTkzKTtSZT13NS5aNigzMyk7TmU9dzUuZjYoODUpO0hlPXc1LmY2KDQwOCk7cWU9dzUuZjYoMjApO0plPXc1Llo2KDk4KTtWZT13NS5mNigxMzYpOyRlPXc1LmY2KDI3Nyk7UWU9dzUuWjYoNyk7R2U9dzUuWjYoODYpO1llPXc1LmY2KDE3NSk7S2U9dzUuWjYoMjcxKTtaZT13NS5aNigzOTkpO1hlPXc1LmY2KDEzMyk7dGk9dzUuWjYoOTUpO2VpPXc1LmY2KDE1Mik7aWk9dzUuWjYoMzEyKTtuaT13NS5aNigyOTgpO3JpPXc1Llo2KDQzMyk7b2k9dzUuZjYoMTgzKTtzaT0vYW5kcm9pZHx3ZWJvc3xpcGhvbmV8aXBhZHxpcG9kfGJsYWNrYmVycnl8aWVtb2JpbGV8b3BlcmFccyttaW5pLzthaT13NS5aNigzODIpO2NpPXc1LmY2KDEyNyk7dWk9dzUuWjYoMzM2KTtoaT13NS5aNigyOTUpO2ZpPXc1Llo2KDMwNyk7cGk9dzUuZjYoMjUxKTtfaT13NS5mNig0MTkpO2xpPXc1LmY2KDMxKTtkaT13NS5aNigyNzQpO3ZpPXc1LmY2KDQ0Nik7Ymk9dzUuWjYoMTYzKTttaT13NS5mNig5NCk7Z2k9dzUuWjYoMjIwKTt5aT13NS5aNigzNTQpO2tpPXc1Llo2KDE4Nik7d2k9dzUuZjYoNDEyKTt4aT13NS5mNig0NDcpO09pPXc1Llo2KDQwNCk7Q2k9dzUuZjYoNTIpO0VpPXc1Llo2KDY4KTtQaT13NS5mNigzNSk7VGk9dzUuZjYoNTYpO0FpPXc1LmY2KDEwMyk7Rmk9dzUuWjYoMzc5KTtTaT13NS5mNig0NTEpO2ppPXc1Llo2KDQ3NSk7TGk9dzUuWjYoMjEpO3ppPXc1LmY2KDE3MSk7Qmk9dzUuZjYoMTMxKTtJaT13NS5mNig0ODgpO01pPXc1LmY2KDE4MCk7V2k9dzUuWjYoNDQ1KTtEaT0vYnV0dG9ufGlucHV0L2k7VWk9dzUuWjYoMTM0KTtSaT13NS5mNigyMjgpO05pPXc1LmY2KDc4KTtIaT13NS5aNig1NCk7cWk9dzUuWjYoMTY3KTtKaT13NS5mNig0NjUpO1ZpPXc1Llo2KDMzNSk7JGk9dzUuZjYoMTY5KTtRaT13NS5mNigzNjgpO0dpPXc1LmY2KDI4Nyk7WWk9dzUuWjYoMzQ4KTtLaT13NS5mNigzMDEpO1ppPXc1LmY2KDQ0KTtYaT13NS5mNigyNjQpO3RuPXc1LmY2KDc3KTtlbj13NS5mNig0NjApO25uPXc1LmY2KDMzNyk7cm49dzUuWjYoMTU3KTtvbj13NS5aNigzMjUpO3NuPXc1LmY2KDIzNyk7YW49dzUuZjYoNDg2KTtjbj13NS5mNigxNTUpO3VuPXc1Llo2KDEwNCk7aG49dzUuWjYoMzU2KTtmbj13NS5aNig0OCk7cG49dzUuZjYoMjQyKTtfbj13NS5mNig0MDApO2xuPXc1Llo2KDI2NSk7ZG49dzUuZjYoMjg0KTt2bj13NS5aNigyODgpO2JuPXc1LmY2KDQzOSk7bW49dzUuWjYoMzQxKTtnbj13NS5aNigyMDMpO3luPXc1LmY2KDIxNyk7a249dzUuWjYoMzIxKTt3bj13NS5mNig0MzIpO3huPXc1LmY2KDIyKTtPbj02NDc9PSg0OTguMjUsMjAwKT8oMS42OWUrMyw0NjkpOnc1LmY2KDk2KTtDbj13NS5mNigzODMpO0VuPXc1LmY2KDM1OSk7UG49dzUuWjYoMzUwKTtUbj0vXk9wZXJhXC8uKj9QcmVzdG9cLy4qP1ZlcnNpb25cLyhbXGRcLl0rKS9pO0FuPXc1Llo2KDE5MSk7Rm49dzUuZjYoNDQ4KTtTbj13NS5mNigyNDQpO2puPXc1Llo2KDIzMSk7TG49dzUuZjYoMTIwKTt6bj13NS5mNig0NTApO0JuPXc1Llo2KDExOCk7SW49dzUuZjYoNik7TW49dzUuWjYoNzUpO1duPXc1LmY2KDEyMyk7RG49dzUuWjYoMzA0KTtVbj0vcmVzZXR8YnV0dG9ufHN1Ym1pdC9pO1JuPXc1LmY2KDQ4NCk7Tm49dzUuZjYoMTk2KTtIbj13NS5mNigyMjYpO3FuPXc1LmY2KDM1Myk7Sm49dzUuWjYoMTgpO1ZuPXc1LmY2KDE2OCk7JG49dzUuZjYoMzE0KTtRbj13NS5aNig0NzEpO0duPXc1LmY2KDQ1OSk7WW49dzUuZjYoMzE3KTtLbj13NS5mNigyNDkpO1puPS9WZXJzaW9uXC8oW1xkXC5dKylccysobW9iaWxlXC9bXlxzXStccyspP1NhZmFyaS9pO1huPXc1LmY2KDE0NSk7dHI9dzUuWjYoMjQwKTtlcj13NS5mNigxOSk7aXI9dzUuWjYoNDg5KTtucj13NS5aNigyNzYpO3JyPXc1LmY2KDQ4Mik7b3I9dzUuZjYoNDY2KTtzcj13NS5aNigyNzApO2FyPXc1Llo2KDE0Nyk7Y3I9dzUuZjYoMjQpO3VyPXc1LmY2KDgzKTtocj13NS5aNigyNzkpO2ZyPXc1Llo2KDQzKTtwcj13NS5mNig0MjApO19yPXc1LmY2KDQ2Mik7bHI9L2Nocm9tZXxjcmlvcy87ZHI9dzUuWjYoNDExKTt2cj0vIy4qJC87YnI9dzUuZjYoMTU5KTttcj13NS5aNigwKTtncj0vKGNvbXBhdGlibGV8d2Via2l0KS87eXI9L0Z4aU9TXC8oW1xkXC5dKykvaTtrcj13NS5mNig1OSk7d3I9dzUuWjYoMzgpO3hyPXc1LmY2KDE5OCk7T3I9dzUuZjYoMTApO0NyPXc1LmY2KDQ2NCk7RXI9dzUuWjYoMTE2KTtQcj13NS5mNigzNjkpO1RyPXc1LmY2KDEyMSk7QXI9L21zaWV8dHJpZGVudFwvLztGcj13NS5mNigyNTYpO1NyPXc1LmY2KDQ3MCk7anI9dzUuZjYoMjkzKTtMcj13NS5mNig4Nyk7enI9L2Nocm9tZXxvcGVyYXxlZGdlfGNyaW9zfG9waW9zfGZ4aW9zfHVjL2k7QnI9dzUuWjYoMjUyKTtJcj13NS5aNigxMDgpO01yPXc1LmY2KDkxKTtXcj13NS5mNigyKTtEcj13NS5mNigyNjgpO1VyPXc1Llo2KDI3OCk7UnI9dzUuWjYoMzI2KTtOcj13NS5mNig5KTtIcj13NS5mNigxMzIpO3FyPXc1Llo2KDMyNCk7SnI9LyhhbmRyb2lkfGJiXGQrfG1lZWdvKS4rbW9iaWxlfGF2YW50Z298YmFkYVwvfGJsYWNrYmVycnl8YmxhemVyfGNvbXBhbHxlbGFpbmV8ZmVubmVjfGhpcHRvcHxpZW1vYmlsZXxpcChob25lfG9kKXxpcGFkfGlyaXN8a2luZGxlfEFuZHJvaWR8U2lsa3xsZ2UgfG1hZW1vfG1pZHB8bW1wfG5ldGZyb250fG9wZXJhIG0ob2J8aW4paXxwYWxtKCBvcyk/fHBob25lfHAoaXhpfHJlKVwvfHBsdWNrZXJ8cG9ja2V0fHBzcHxzZXJpZXMoNHw2KTB8c3ltYmlhbnx0cmVvfHVwXC4oYnJvd3NlcnxsaW5rKXx2b2RhZm9uZXx3YXB8d2luZG93cyAoY2V8cGhvbmUpfHhkYXx4aWluby9pO1ZyPSgyNDk2LDg0OTUpIT05NzY/dzUuZjYoMjk3KTohITA7JHI9dzUuWjYoNDI2KTtRcj13NS5mNigyMjUpO0dyPXc1LmY2KDE4OCk7WXI9dzUuZjYoNDMxKTtLcj13NS5mNigyNTApO1pyPXc1Llo2KDI2MSk7WHI9dzUuZjYoMTc2KTt0bz13NS5mNigyNSk7ZW89dzUuWjYoMTk1KTtpbz13NS5mNigzMjgpO25vPXc1Llo2KDQwOSk7cm89dzUuZjYoMzQ5KTtvbz13NS5aNigzMjIpO3NvPXc1Llo2KDMxNik7YW89dzUuWjYoMzg1KTtjbz13NS5mNigxMTMpO3VvPXc1LmY2KDQ3NCk7aG89dzUuWjYoMjY3KTtmbz13NS5mNigyNjYpO3BvPXc1Llo2KDQwNyk7X289dzUuWjYoNjMpO2xvPXc1Llo2KDM2Nyk7dm89L3dlYmtpdC87Ym89dzUuWjYoNDUyKTttbz0vc2FmYXJpLztnbz13NS5aNig5Myk7eW89L29wZXJhfG9wcnxvcGlvc1wvLztrbz13NS5aNigzMzEpO3dvPXc1LmY2KDI2KTt4bz13NS5aNigxODIpO09vPXc1LmY2KDM4MCk7Q289dzUuWjYoMTEwKTtFbz13NS5mNigxMTIpO1BvPXc1LmY2KDMwNSk7VG89dzUuZjYoNzQpO0FvPXc1LmY2KDEwMik7Rm89dzUuZjYoNDc4KTtTbz0vYW5kcm9pZC87am89dzUuZjYoMzkxKTtMbz13NS5aNigzMDYpO3pvPXc1LmY2KDQwNSk7Qm89dzUuWjYoOTkpO0lvPXc1Llo2KDM5Nik7TW89dzUuWjYoNDQwKTtXbz13NS5mNig2Nyk7RG89dzUuWjYoNDAxKTtVbz13NS5aNigxNTQpO1JvPXc1LmY2KDI4OSk7Tm89dzUuWjYoMzkzKTtIbz13NS5mNig3OSk7cW89dzUuWjYoMTQwKTtKbz13NS5aNigzNzIpO1ZvPXc1Llo2KDQyMik7JG89dzUuZjYoNDQ5KTtRbz13NS5aNigzOTUpO0dvPXc1Llo2KDIwNik7WW89dzUuWjYoMjQzKTtLbz13NS5mNig2Mik7Wm89dzUuWjYoNDg1KTtYbz13NS5mNigxMzApO3RzPXc1Llo2KDE1Nik7ZXM9dzUuZjYoMjAxKTtpcz13NS5aNigzNjEpO25zPXc1LmY2KDMxNSk7cnM9dzUuWjYoMTIyKTtvcz13NS5mNig3MCk7c3M9dzUuZjYoMjU3KTthcz13NS5aNig0MjUpO2NzPXc1LmY2KDMzMCk7dXM9dzUuZjYoNzMpO2hzPXc1LmY2KDMwMyk7ZnM9dzUuWjYoMTAwKTtwcz13NS5mNigzNzQpO19zPXc1Llo2KDY2KTtscz0oODI2LjA2LDk5Ny4yKSE9PSgyNjIuNzksNzAwLjQpP3c1LmY2KDE3OSk6KG81LHc1Llo2KDM2KSk7ZHM9dzUuWjYoMjIzKTt2cz13NS5mNigxMTkpO2JzPXc1Llo2KDMwOCk7bXM9dzUuZjYoNDcpO2dzPXc1Llo2KDMxOSk7eXM9dzUuZjYoMTgxKTtrcz13NS5mNigzNDUpO3dzPXc1Llo2KDE1KTt4cz0vXigjfGphdmFzY3JpcHQpL2k7T3M9dzUuWjYoMzY2KTtDcz13NS5aNigxOTkpO0VzPXc1Llo2KDM4NCk7UHM9dzUuZjYoNDA2KTtUcz13NS5mNig0MjkpO0FzPXc1LmY2KDI0Nyk7RnM9dzUuZjYoNDQzKTtTcz13NS5mNigzMzgpO2pzPS8oPzpGaXJlZm94fENocm9tZSlcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0xzPXc1Llo2KDM3MCk7enM9dzUuZjYoMzEwKTtCcz13NS5aNigzODYpO0lzPXc1Llo2KDI5NCk7TXM9dzUuWjYoMjgzKTtXcz13NS5aNigzODcpO0RzPXc1LmY2KDM5KTtVcz13NS5aNigxMDYpO1JzPXc1LmY2KDIwMik7TnM9dzUuWjYoMzExKTtIcz13NS5mNig0MzgpO3FzPXc1LmY2KDcxKTtKcz13NS5mNigxMzcpO1ZzPXc1Llo2KDI3KTskcz13NS5aNig4NCk7UXM9L18vZztHcz13NS5aNigxNTgpO1lzPXc1Llo2KDE5Mik7S3M9dzUuZjYoNDIzKTtacz13NS5mNigzMzkpO1hzPXc1Llo2KDE1MCk7dGE9dzUuWjYoMTQyKTtlYT13NS5mNig0KTtpYT13NS5aNig0MTApO25hPXc1LmY2KDIzNik7cmE9dzUuZjYoNDAyKTtvYT13NS5mNigyMTQpO3NhPXc1Llo2KDQxNyk7YWE9dzUuZjYoMTg0KTtjYT13NS5aNigxOTcpO3VhPXc1LmY2KDIzMyk7aGE9dzUuZjYoMzApO2ZhPS9saW51eC87cGE9dzUuWjYoMjgyKTtfYT0vb3BlcmEvO2xhPXc1Llo2KDM2NCk7ZGE9dzUuWjYoMTczKTt2YT13NS5aNigzMDApO2JhPXc1LmY2KDIzNSk7bWE9L2VkZ2V8b3ByXC8vO2dhPXc1LmY2KDI4NSk7eWE9dzUuZjYoNDYpO2thPXc1Llo2KDEzKTt3YT13NS5aNigyMDUpO3hhPXc1LmY2KDIyNCk7T2E9dzUuZjYoMzQ0KTtDYT13NS5aNigyMTMpO0VhPS9FZGdlXC8oW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTtQYT13NS5mNigxMjYpO1RhPXc1Llo2KDExNCk7QWE9L14oPzouKlteXHddKSooW1x3XSspXHMqJC9pO0ZhPXc1LmY2KDM5Mik7U2E9dzUuWjYoNjkpO2phPXc1LmY2KDMpO0xhPXc1LmY2KDQ1KTt6YT13NS5mNigzMjMpO0JhPXc1LmY2KDEzOSk7SWE9dzUuWjYoMTI5KTtNYT13NS5mNig4KTtXYT13NS5mNig0Mik7RGE9dzUuZjYoMSk7VWE9dzUuWjYoODkpO1JhPXc1LmY2KDIwOSk7TmE9dzUuZjYoMjgpO0hhPXc1LmY2KDIxOSk7cWE9dzUuWjYoMjMwKTtKYT13NS5aNig4MSk7VmE9dzUuWjYoMzA5KTskYT13NS5mNigzNDcpO1FhPXc1LmY2KDM4MSk7R2E9dzUuWjYoOTIpO1lhPXc1LmY2KDEyNSk7S2E9dzUuWjYoMzIpO1phPXc1LmY2KDM5MCk7WGE9dzUuZjYoNDY4KTt0Yz13NS5mNigzNik7ZWM9dzUuZjYoMzk3KTtpYz13NS5aNig0ODApO25jPXc1LmY2KDIyMik7cmM9dzUuZjYoNDU3KTtvYz13NS5aNigzNTIpO3NjPXc1Llo2KDI5KTthYz0vaShQaG9uZXxQYWR8UG9kKS9pO2NjPXc1LmY2KDQzNCk7dWM9dzUuZjYoNDIxKTtoYz13NS5aNig0NzMpO2ZjPXc1LmY2KDE3MCk7cGM9dzUuZjYoMjYyKTtfYz13NS5aNigxNTEpO2xjPXc1LmY2KDQ5KTtkYz13NS5mNigyNTQpO3ZjPXc1LmY2KDQyOCk7YmM9dzUuZjYoMTUzKTttYz13NS5aNigyNjkpO2djPXc1Llo2KDU3KTt5Yz13NS5mNigzNTcpO2tjPS9UcmlkZW50XC8uKj9ydjooW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTt3Yz13NS5aNig0NTMpO3hjPXc1Llo2KDQ3Nik7T2M9dzUuZjYoNDU0KTtDYz13NS5mNig0NTgpO0VjPXc1LmY2KDgwKTtQYz0vOlxkKyQvO1RjPXc1Llo2KDI3Mik7QWM9dzUuWjYoMzI3KTtGYz13NS5mNig0NzkpO1NjPXc1Llo2KDYxKTtqYz13NS5mNigyOTEpO0xjPXc1Llo2KDIzMik7emM9dzUuWjYoMTEpO0JjPXc1LmY2KDM0Nik7SWM9dzUuWjYoMTA1KTtNYz13NS5aNig0NzcpO1djPXc1Llo2KDQwKTtEYz13NS5aNig3Nik7VWM9dzUuWjYoMTYpO1JjPXc1Llo2KDIyNyk7TmM9dzUuWjYoMjA0KTtIYz13NS5mNigzNyk7IWZ1bmN0aW9uKHQseSxSdCxYZSxyaSx5aSxBaSxObixkcixVcixpbyxybyxDbyxHcyx6YyxVYyxxYyxKYyxWYywkYyl7InVzZSBzdHJpY3QiO3ZhciBRYyxHYyxZYyxLYyxaYyxYYyx0dSxldSxpdSxudSxydSxvdSxzdSxhdSxjdSx1dSxodSxmdSxwdSxfdSxsdSxkdSx2dSxidSxtdSxndSx5dSxrdSx3dSx4dSxPdSxDdSxFdSxQdSxUdSxBdSxGdTtydT10O3c1Llk0KDApO291PXc1LmM0KHVpLEdyLGJyLF9yLFllLFNpLFR0LGRuLFllLHUsbWksT3QsR3IsWWUsdXIpO3c1Llk0KDEpO3N1PXc1LnU0KGZlLFR0LEh0LG90LFR0KTt3NS5vNCgxKTthdT13NS51NChXaSxQZSxLLF9jLFBlKTt3NS5ZNCgyKTtjdT13NS5jNChydSxnaSk7dzUubzQoMik7dXU9dzUudTQocnUsWm8pO3c1Lm80KDMpO2h1PXc1LmM0KE9jLHJ1LEJpLFV0LEdyLEdyKTt3NS5vNCgyKTtmdT13NS51NChydSwkYSk7cHU9YW87X3U9eGk7bHU9THI7ZHU9bW47dnU9eVtmXVtxbytHcitDXVtYcytHcit0cytHcituY10oKTtidT17dW5kZXI6bzUsbmV3VGFiOm81fTttdT1udWxsO2d1PW81O3l1PSF7fTtrdT1mdW5jdGlvbigpe307dzUuWTQoNCk7d3U9dzUudTQoR3IsT3QsRXQpO3h1PXJpW3ZzK0dyK0FvXXx8e3NyYzpudWxsfTt3NS5vNCg0KTtPdT15W2ZdW3c1LmM0KGVvLEdyLGtyKV07Q3U9eXU7RXU9eXU7UHU9eXU7VHU9ZnVuY3Rpb24oKXt2YXIgRTksbzksdzk7dHJ5e0U5PTM2MDIzMDM0MztvOT01MDA4ODEwMDM7dzk9Mjtmb3IodmFyIGI1PTE7dzUuTDEoYjUudG9TdHJpbmcoKSxiNS50b1N0cmluZygpLmxlbmd0aCw1ODI0MykhPT1FOTtiNSsrKXtyZXR1cm4geVtwXT09PXlbcXJdfHwheVtwXVttcl1bRWldWyhYcy1HciklaF0oKSE9VGM/eVtwXTp5W3FyXTt3OSs9Mjt9aWYodzUuTDEodzkudG9TdHJpbmcoKSx3OS50b1N0cmluZygpLmxlbmd0aCw1MTUyOSkhPT1vOSl7cmV0dXJuIHlbcF0hPT15W3FyXSYmdHlwZW9mIHlbcF1bbXJdW0VpXVtYcytHcitoXSgpPT09VGM/eVtwXTp5W3FyXTt9fWNhdGNoKHQpe3ZhciBBOSxJOSxLOTtBOT0yMjIyMDY4MDc7STk9NDU1MTUwMTA4O0s5PTI7Zm9yKHZhciBROT0xO3c1LkwxKFE5LnRvU3RyaW5nKCksUTkudG9TdHJpbmcoKS5sZW5ndGgsNjg5NDApIT09QTk7UTkrKyl7cmV0dXJuIFB1PWd1LHlbcXJdO0s5Kz0yO31pZih3NS5MMShLOS50b1N0cmluZygpLEs5LnRvU3RyaW5nKCkubGVuZ3RoLDU2NzU3KSE9PUk5KXtyZXR1cm4gUHU9Z3UseVtxcl07fX19KCk7QXU9VHVbSmFdW1FhXTtGdT1mdW5jdGlvbigpe3ZhciB0O3RyeXt0PVR1W0VpXVt1bl07fWNhdGNoKHQpe31yZXR1cm4hUHUmJnR8fChidT17bmV3VGFiOmd1LHVuZGVyOnl1fSx0PXJpW2lhXSksdDt9KCk7S2M9e3Q6W10sbjpmdW5jdGlvbih0KXt2YXIgSDcsdjcsVDc7SDc9MTg2NDAwNjYwNDt2Nz03MzE4NDIzNTE7VDc9Mjtmb3IodmFyIG83PTE7dzUuZDEobzcudG9TdHJpbmcoKSxvNy50b1N0cmluZygpLmxlbmd0aCw5MTY5NikhPT1INztvNysrKXt0eXBlb2YgeVt3c10hPT1nZSYmeVt3c11bT29dJiZObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO1Q3Kz0yO31pZih3NS5kMShUNy50b1N0cmluZygpLFQ3LnRvU3RyaW5nKCkubGVuZ3RoLDI0OTc5KSE9PXY3KXt+eVt3c109PT1nZXx8eVt3c11bT29dfHxObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO319LHI6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9MDt0PHRoaXMudFtwaV07dCsrKXt0aGlzLm4odGhpcy50W3RdKTt9fSxlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9W3RdW0tuXShBaVtYdF1bcW5dW0NpXShhcmd1bWVudHMsMSkpO3RoaXMudFtNcl0oZSk7R2MuaSgpJiZ0aGlzLm4oZSk7fX07ZXU9e3M6ZnVuY3Rpb24oKXtpZih0aGlzLm89PT1tdSl0cnl7eVthcytHcit0aV1bbGkrR3IrRXJdKHJ1LDEpO3lbYXMrR3IrdGldW3huK0dyK0VyXShydSk7dGhpcy5vPWd1O31jYXRjaCh0KXt2YXIgdzcscDcsYjk7dzc9LTE2MTA5ODQyMzA7cDc9OTg2NDU4NDQ2O2I5PTI7Zm9yKHZhciBtOT0xO3c1LmQxKG05LnRvU3RyaW5nKCksbTkudG9TdHJpbmcoKS5sZW5ndGgsODg3MTMpIT09dzc7bTkrKyl7dGhpcy5vPXl1O2I5Kz0yO31pZih3NS5MMShiOS50b1N0cmluZygpLGI5LnRvU3RyaW5nKCkubGVuZ3RoLDMzNDE0KSE9PXA3KXt0aGlzLm89eXU7fXRoaXMubz15dTt9cmV0dXJuIHRoaXMubzt9LHU6ZnVuY3Rpb24odCl7dGhpcy5zKCk/eVthcytHcit0aV1beG4rR3IrRXJdKHQpOnR1LnUodCk7fSxjOmZ1bmN0aW9uKHQpe3RyeXtyZXR1cm4gdGhpcy5zKCk/eVthcytHcit0aV1bYWErR3IrRXJdKHQpOnR1LmModCk7fWNhdGNoKHQpe3JldHVybiBtdTt9fSxvOm11LGE6ZnVuY3Rpb24odCxlKXt0aGlzLnMoKT95W2FzK0dyK3RpXVtsaStHcitFcl0odCxlKTp0dS5hKHQsZSk7fX07dHU9e3U6ZnVuY3Rpb24odCl7dGhpcy5hKHQsMCxuZXcgSmMoMCkpO30sYzpmdW5jdGlvbih0KXt2YXIgZTt3NS5ZNCg1KTtlPXJpW050XVtiY10obmV3IFVyKHc1LnU0KGVyLEdyLEdyLGV0LHNjLHQsR3IsR3IsdHQsdWMsR3IsR3IsSm8sR3IpLGxzKSk7cmV0dXJuIGU/VmMoZVswXVtDcl0oR3IrZXQrR3IpWzFdKTptdTt9LGE6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO3M9aXx8R3I7cyYmKHR5cGVvZiBzPT09V3Q/KG89bmV3IEpjKCkpW2xpK0dyK0hdKG9bYWErR3IrSF0oKSsxZTMqcyk6bz1zLHM9R3IrZXIrZmkrZXQrR3Irb1tYcytHcitWcitHcit4YytHcitXK0dyK2hdKCkpO3JpW050XT10KyhHcitldCtHcikrJGMoR3IrZSkrcysocj9HcitlcitkcytldCtHcityOkdyKSsoR3IrZXIrQXQrZXQrR3IpKyhufHxHcitQZStHcik7fX07WmM9e3A6ZnVuY3Rpb24odCl7dmFyIGUsaTtpPXt9O2ZvcihlPTA7ZTx0W3BpXTtlKyspe2lbdFtlXVswXV09dFtlXVsxXTt9cmV0dXJuIGk7fSxXOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbjt0cnl7cmV0dXJuIG49dFthYStHcitHaV0oZSksdHlwZW9mIGkhPT1UYz95dTohIW5ldyBVcihGbitpK01zLGxzKVtqY10obik7fWNhdGNoKHQpe3JldHVybiB5dTt9fSxBOmZ1bmN0aW9uKCl7dHJ5e3JldHVybiB0eXBlb2YgeS5qUXVlcnkuZm4ub249PT1aczt9Y2F0Y2godCl7cmV0dXJuIHl1O319LEc6ZnVuY3Rpb24odCl7cmV0dXJuKHQ/bmV3IEpjKHQpOm5ldyBKYygpKVthYStHcitIXSgpO30sTTpmdW5jdGlvbih0KXt2YXIgbTAsQTAsSTAsZSxsNyxjNyxWNzttMD0tMTc4MjYxMjU4MTtBMD0tMTYzMzI0MDE2NDtJMD0yO2Zvcih2YXIgcjA9MTt3NS5MMShyMC50b1N0cmluZygpLHIwLnRvU3RyaW5nKCkubGVuZ3RoLDM0ODU4KSE9PW0wO3IwKyspe0kwKz0yO31pZih3NS5MMShJMC50b1N0cmluZygpLEkwLnRvU3RyaW5nKCkubGVuZ3RoLDg0OTA2KSE9PUEwKXt9dHJ5e2w3PS0xMjU4NTI0ODY5O2M3PTc3MTI1MDQ2ODtWNz0yO2Zvcih2YXIgeTc9MTt3NS5kMSh5Ny50b1N0cmluZygpLHk3LnRvU3RyaW5nKCkubGVuZ3RoLDEwMjkyKSE9PWw3O3k3KyspeyhlPXRbSmFdW1FhXShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7VjcrPTI7fWlmKHc1LmQxKFY3LnRvU3RyaW5nKCksVjcudG9TdHJpbmcoKS5sZW5ndGgsMjYwMTcpIT09YzcpeyhlPXRbSmFdW1FhXSgoVWEtVnQpL2NpKSlbYm9dKCk7ZVtJb10oKTt9fWNhdGNoKHQpe30oZT1BdShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7fSxUOmZ1bmN0aW9uKHQpe3QmJihUdVtFaV09dCk7fSxxOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxpPVt5cixUbixFYSxCZSxqcyxabixqdCxrYyx3ZV0sbj0wO248aVtwaV07bisrKWlmKGU9aVtuXVtqY10odnUpKXtyZXR1cm4gdD9VYyhlWzFdLDEwKTplWzFdW1pdKFFzLEdyK1R0K0dyKTt9cmV0dXJuIG11O30sTDpmdW5jdGlvbih0LGUpe3c1Llk0KDcpO3JldHVybiB3NS51NChZZSxlcixHcix0LGllLHlzLEdyLGUsR3IsVmUsVnQsR3IpO30sXzpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUTAsZTAsajA7UTA9LTE2NDA5MDY2NDA7ZTA9MzYxNTQ4MTI4O2owPTI7Zm9yKHZhciB0MD0xO3c1LmQxKHQwLnRvU3RyaW5nKCksdDAudG9TdHJpbmcoKS5sZW5ndGgsMzk3NjcpIT09UTA7dDArKyl7aT15O3c1Llk0KDQpO249dFtDcl0odzUudTQoR3IsVHQsR3IpKTtmb3IoZT0wO2U8bltwaV07ZSsrKXtpPWlbbltlXV07fXJldHVybiBpO2owKz0yO31pZih3NS5MMShqMC50b1N0cmluZygpLGowLnRvU3RyaW5nKCkubGVuZ3RoLDQ3NjE4KSE9PWUwKXtpPXk7dzUuWTQoNik7bj10W0NyXSh3NS51NChUdCxHcixHcikpO2ZvcihlPTQ7ZTw9bltwaV07ZS0tKXtpPWlbbltlXV07fXJldHVybiBpO319LFM6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbyxzMCxEMCxXMCxVMCx4MCx6MDtvPXkualF1ZXJ5fHxudWxsO2lmKHQmJnRbQW5dKXtyZXR1cm4gZ3U7fWlmKCFvKXtyZXR1cm4geXU7fXRyeXtzMD0tMTYxNTA0NTA7RDA9LTE5OTUwMzAzNTQ7VzA9Mjtmb3IodmFyIGMwPTE7dzUuZDEoYzAudG9TdHJpbmcoKSxjMC50b1N0cmluZygpLmxlbmd0aCw5Nzc5KSE9PXMwO2MwKyspe2lmKChlPShvKHQpW2llXShHYSkmJm8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9VzArPTI7fWlmKHc1LkwxKFcwLnRvU3RyaW5nKCksVzAudG9TdHJpbmcoKS5sZW5ndGgsMjI1MTYpIT09RDApe2lmKChlPShvKHQpW2llXShHYSl8fG8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9fX1jYXRjaCh0KXt9dHJ5e1UwPS0xMjgxMDM4MTgyO3gwPS01MjI2MTY2MzI7ejA9Mjtmb3IodmFyIGkwPTE7dzUuTDEoaTAudG9TdHJpbmcoKSxpMC50b1N0cmluZygpLmxlbmd0aCwzMjg1OSkhPT1VMDtpMCsrKXtmb3IoZT1vKHJpW1FyXSlbaWVdKEdhKVtnc10saT00O2k+ZVtwaV07aS0tKWZvcihyPW8oZVtpXVtvZV0pLG49NztuPj1yW3BpXTtuLS0paWYocltuXT09dCl7cmV0dXJuIGd1O316MCs9Mjt9aWYodzUuTDEoejAudG9TdHJpbmcoKSx6MC50b1N0cmluZygpLmxlbmd0aCw4ODE3MikhPT14MCl7Zm9yKGU9byhyaVtRcl0pW2llXShHYSlbZ3NdLGk9NDtpPmVbcGldO2ktLSlmb3Iocj1vKGVbaV1bb2VdKSxuPTc7bj49cltwaV07bi0tKWlmKHJbbl09PXQpe3JldHVybiBndTt9fWZvcihlPW8ocmlbUXJdKVtpZV0oR2EpW2dzXSxpPTA7aTxlW3BpXTtpKyspZm9yKHI9byhlW2ldW29lXSksbj0wO248cltwaV07bisrKWlmKHJbbl09PT10KXtyZXR1cm4gZ3U7fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sQzpmdW5jdGlvbih0LGUsaSl7dmFyIG4scixvO289WmMuTyhvNSk7cmV0dXJuIG49b1t0bytHcit5YV1bbXJdW1VzK0dyK0NuXShkZSksbltPXT1yYStQZStDdCxuW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoSmErVHQrX3QrWWUrR3IrZXQrR3IrWWUrSmErVHQrcCtZZStHcitldCtHcitZZStKYStUdCt1cytHcitDbitZZStHcitldCtHcitZZStkK2VyK0dyKSsoSmErVHQrJG4rWWUrR3IrZXQrR3IrWWUrWnMrUit6K1ZlK0dyK1llK3NvK1ZlK0dyK1llK0NlK1ArR3IrWWUrR3Ird24rR3IpKyh1YStZZStCcytHcitYbytZZStHcitldCtHcitZZStKYStUdCtRYStSK3orVmUrR3IrWWUrc28rVmUrR3IrWWUrQ2UrUCtHcitlcitHcikrKFdyK1llK0dyK3duK0JzK0dyK1hvK1R0K1dvK1llK0dyK2V0K0dyK1llK2QrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSsoTnIrWWUrQnMrR3IrWG8rZXIrR3IpKyhHcitEcitHcitlcitHciksb1t0bytHcit5YV1bbXJdW1FyXVtJdCtHcitXZV0obikscj1vW3RvK0dyK3lhXS5ta3AodCxlLGkpLFpjLlAobykscjt9LEI6ZnVuY3Rpb24odCxlLG4pe3ZhciByLG8scztyPTA7bz1ufHwxMDtzPXQ7dHJ5e2Zvcig7cyYmcisrPG87KXtpZih0eXBlb2YgZT09PVRjJiYoc1tTYytHcittY109PT1lfHxaYy5JKHMsZSkpfHx0eXBlb2YgZT09PWFyJiZzPT09ZSl7cmV0dXJuIHM7fXc1Llk0KDQpO3M9c1t3NS51NChfdCxHcixpKV07fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sRjpmdW5jdGlvbih0KXt2YXIgZTtlPVJ0W1RlXTtyZXR1cm4gdHlwZW9mIHQhPT1nZSYmKGU9KGN0W2pjXSh0KXx8W0dyLEdyXSlbMV0pLGVbWl0oUGMsR3IpO30seDpmdW5jdGlvbih0KXtyZXR1cm4geWlbWHRdW1hzK0dyK2hdW0NpXSh0KT09PUdyK0pvK2FyK1llK2JuK3R0K0dyO30sazpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUjAsUDAsSjA7aT1bXTtuPVpjLnYoKTt0cnl7UjA9LTE2Mjc2MTY5Mzc7UDA9LTIwMDI5NzgxNzY7SjA9Mjtmb3IodmFyIEIwPTE7dzUuTDEoQjAudG9TdHJpbmcoKSxCMC50b1N0cmluZygpLmxlbmd0aCw3NjkxMCkhPT1SMDtCMCsrKXtmb3IoZSBpbiBuKXt+dFtlXSE9Z2V8fGlbTXJdKGUvKChHci1ldCklR3IpLXRbZV0pO31KMCs9Mjt9aWYodzUuTDEoSjAudG9TdHJpbmcoKSxKMC50b1N0cmluZygpLmxlbmd0aCw4NjExMCkhPT1QMCl7Zm9yKGUgaW4gbil7fnRbZV0hPWdlfHxpW01yXShlLygoR3ItZXQpJUdyKS10W2VdKTt9fWZvcihlIGluIG4pe3R5cGVvZiB0W2VdIT09Z2UmJmlbTXJdKGUrKEdyK2V0K0dyKSt0W2VdKTt9fWNhdGNoKHQpe0tjLmUodCk7fXc1Llk0KDQpO3JldHVybiBpW05pXSh3NS5jNChHcixWZSxHcikpO30sUjpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5CKHQsT24pO30seTpmdW5jdGlvbigpe2Zvcih2YXIgdCxlPXt9LGk9MDtpPGFyZ3VtZW50c1twaV07aSsrKWZvcih0IGluIGFyZ3VtZW50c1tpXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0oYXJndW1lbnRzW2ldLHQpJiYoZVt0XT1hcmd1bWVudHNbaV1bdF0pO31yZXR1cm4gZTt9LFY6ZnVuY3Rpb24odCxlKXt2YXIgSjEsWDEsQjE7SjE9NDUyODczNzI5O1gxPTEyNzMxMDM4NTg7QjE9Mjtmb3IodmFyIE4xPTE7dzUuZDEoTjEudG9TdHJpbmcoKSxOMS50b1N0cmluZygpLmxlbmd0aCw1NTI1MSkhPT1KMTtOMSsrKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpKihlLXQpKSt0O0IxKz0yO31pZih3NS5kMShCMS50b1N0cmluZygpLEIxLnRvU3RyaW5nKCkubGVuZ3RoLDI4MzUxKSE9PVgxKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpJShlL3QpKSV0O319LFE6ZnVuY3Rpb24odCl7dmFyIGUsaSxuO3c1Llk0KDgpO2U9dzUuYzQodHlwZW9mIHQsYXIpO2k9dDt3NS5vNCg0KTtuPXJpW1VzK0dyK0NhXSh3NS51NChTbixHcix1bykpO25bTHMrR3IrU24rR3IrQ2FdKGdzLGd1LGd1LHksMCwwLDAsMCwwLGd1LHl1LHl1LGd1LDAsbXUpO2V8fChpPVpjLnooVSx7aHJlZjp0fHxpZStWdCtyYStQZStqbytWZStHcit1aStkZSt1citKYStUdCtJbytSK0dyK1ArR3IrZXIrR3IrdWkrR3IrUGUrZGUrdXIrR3J9KSxyaVtRcl1bSXQrR3IrV2VdKGkpKTtpW2duK0dyK0NhXShuKTtlfHxaYy5QKGkpO30sejpmdW5jdGlvbih0LGUsaSl7dmFyIG4scjtyPXJpW1VzK0dyK0NuXSh0KTtmb3IobiBpbiBlKXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShlLG4pJiZyW2xpK0dyK0dpXShuLGVbbl0pO31yZXR1cm4gaSYmKHJbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPWkpLHI7fSxZOmZ1bmN0aW9uKCl7dHJ5e3c1Lm80KDQpO3JldHVybiEhT3VbdzUuYzQoZW4sUGUsTWMpXVt3NS51NCgkaSxHcixXcyldO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sbDpmdW5jdGlvbih0KXt2YXIgZSxpLFk3LGY3LHM3O2U9WmMuXyh0KTt3NS5ZNCg0KTtpPXRbWl0oQWEsdzUudTQoR3Isem8scSkpO3RyeXtZNz0tMTYzMTA2MDI3MDtmNz0xOTgxNTM2MDYxO3M3PTI7Zm9yKHZhciBXNz0xO3c1LkwxKFc3LnRvU3RyaW5nKCksVzcudG9TdHJpbmcoKS5sZW5ndGgsMTYwMikhPT1ZNztXNysrKXtyZXR1cm4rbmV3IFVyKChacy9ZZS1HcikvIGkveHIsUnMpW2lyXShlW1hzJUdyL2hdKCkpO3M3Kz0yO31pZih3NS5MMShzNy50b1N0cmluZygpLHM3LnRvU3RyaW5nKCkubGVuZ3RoLDExNjM3KSE9PWY3KXtyZXR1cm4hbmV3IFVyKFpzK1llK0dyK2kreHIsUnMpW2lyXShlW1hzK0dyK2hdKCkpO319Y2F0Y2godCl7cmV0dXJuIHRbWHMrR3IraF0oKVtMK0dyK1dhXShrbytZZStycytZZStVK1llK1pzKT4tMT9ndTpYYy5kP2d1Onl1O319LHY6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbzt3NS5vNCg0KTtlPXlbdzUuYzQoUGEsR3IsZyldO3c1Llk0KDQpO2k9eVt3NS5jNChQYSxHcix3YyldO249eVtPaStHcitVZV18fHlbT2krR3IrV25dfHwwO3I9eVtPaStHcit4b118fHlbT2krR3IrQ2NdfHwwO289e307cmV0dXJuIG9bb2NdPWUsb1tLYV09aSxvW0hpXT1uLG9bcF09cixvW29yXT0wLG9bRWldPTEsb1tTcl09MSxvW09yXT0xLG8ucmVzaXphYmxlPTEsb1tNZV09MSxYYy5iJiYob1tLYV0rPVhjLm0/NDY6NTIpLFhjLmcmJihvW29jXS09NSxvW0thXS09NCksdHlwZW9mIHQ9PT1hciYmKG89WmMueShvLHQpKSxvO30sTzpmdW5jdGlvbih0KXt2YXIgZTtlPXJpW1VzK0dyK0NuXShjbik7cmV0dXJuIGVbeGVdW3h0XT1YaSx0JiZyaVtRcl1bSXQrR3IrV2VdKGUpLGU7fSxEOmZ1bmN0aW9uKHQpe3JldHVybiB0W1NjK0dyK21jXT09PUZjK0dyK1ZyK0dyK3hjK0dyK3hjK0dyK2ZjK0dyK2d0fHx0W1NjK0dyK21jXT09PXZhK0dyK2d0K0dyK210K0dyK1ZyK0dyK3hjJiZVbltpcl0odFthYStHcitHaV0oTykpfHx0aGlzLkIodCxGYytHcitWcitHcit4YytHcit4YytHcitmYytHcitndCkhPT15dTt9LFA6ZnVuY3Rpb24odCl7dCYmdFtfdCtHcitpXSYmdFtfdCtHcitpXVt4bitHcitXZV0odCk7fSxJOmZ1bmN0aW9uKHQsZSl7dmFyIG4scixvO2lmKHR5cGVvZiBlIT09VGMpe3JldHVybiB5dTt9aWYodHlwZW9mIHJpW2VlK0dyK3Z0K0dyK21dPT09WnMpdHJ5e3I9dFtfdCtHcitpXVtlZStHcit2dCtHcittXShlKXx8eS5qUXVlcnkoZSk7fWNhdGNoKHQpe31lbHNlIGlmKFpjLkEoKSl0cnl7cj15LmpRdWVyeShlKTt9Y2F0Y2godCl7fWlmKHIpZm9yKG89MDtvPHJbcGldO28rKylpZihyW29dPT09dCl7cmV0dXJuIGd1O31zd2l0Y2goZVswXSl7Y2FzZSBHcitUdCtHcjpuPVtsbyxlW2ZzXSgxKV07YnJlYWs7Y2FzZSBHcitzZStHcjpuPVtWYSxlW2ZzXSgxKV07fXJldHVybiBuP3RoaXMuVyh0LG5bMF0sblsxXSk6eXU7fSxmOmZ1bmN0aW9uKHQsZSl7dHJ5e3JldHVybiEoIXRba2ldW2VdfHwhdFtraV1bZV1bWW5dKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LE46ZnVuY3Rpb24odCl7dmFyIGU7ZT10aGlzLlIodCk7cmV0dXJuIGUmJmVbdW5dJiYheHNbaXJdKGVbdW5dKT9lW3VuXTp5dTt9LEo6ZnVuY3Rpb24odCxlLGksbil7Zm9yKHZhciByLG8scyxhPXRbWHMrR3IraF0oKVtDcl0obnx8R3IrVHQrR3IpLGM9ZVtYcytHcitoXSgpW0NyXShufHxHcitUdCtHciksdT0wLGY9ZHJbQm9dKGFbcGldLGNbcGldKTt1PGYmJihyPVVjKGFbdV18fDAsMTApLG89VWMoY1t1XXx8MCwxMCkscWMocikmJihyPTApLHFjKG8pJiYobz0wKSxzPXI+bz8xOi0xLHI9PT1vKTt1Kyspe3M9MDt9c3dpdGNoKGkpe2Nhc2UgR3IrdXIrR3I6dzUubzQoOCk7cmV0dXJuIHc1LnU0KDEscyk7Y2FzZSBHcit1citHcitldCtHcjp3NS5ZNCg5KTtyZXR1cm4gdzUuYzQocywxKTtjYXNlIEdyK3VpK0dyOnc1Lm80KDEwKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK3VpK0dyK2V0K0dyOnc1Llk0KDExKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK2V0K0dyK2V0K0dyOmNhc2UgR3IrZXQrR3IrZXQrR3IrZXQrR3I6ZGVmYXVsdDp3NS5ZNCg4KTtyZXR1cm4gdzUudTQoMCxzKTt9fSwkOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1wZVtDcl0oR3IpLGk9ZVtwaV0sbj0wLHI9R3I7bjx0O24rKyl7cis9ZVtkcltBY10oZHJbTW5dKCkqaSldO31yZXR1cm4gcjt9LGg6ZnVuY3Rpb24odCxlKXt0cnl7cmV0dXJuIHRbYWErR3IrR2ldKGUpO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sSDpmdW5jdGlvbih0LGUsaSl7dmFyIG47dzUubzQoMik7bj13NS5jNChoaSx0KTtyZXR1cm4gdHlwZW9mIHlbbl0hPT1nZSYmcm8oeVtuXSkseVtuXT1pbyhlLGkpO30sdzpmdW5jdGlvbigpe3JldHVybiBQdTt9LFU6ZnVuY3Rpb24odCl7cmV0dXJuIHRbU2MrR3IrbWNdPT09dmErR3IrZ3QrR3IrbXQrR3IrVnIrR3IreGMmJm5lW2lyXSh0W2FhK0dyK0dpXShPKSl8fHRbU2MrR3IrbWNdPT09cGErR3IrT24rR3IrRmMrR3IrUHMrR3IrcGE7fX07aXU9e3R0OmZ1bmN0aW9uKHQsZSl7dmFyIGkscTUsbTUsQTU7dHJ5e3E1PS0xNDE1MjczNDIzO201PS0zMzc1MDc5MjY7QTU9Mjtmb3IodmFyIEs1PTE7dzUuZDEoSzUudG9TdHJpbmcoKSxLNS50b1N0cmluZygpLmxlbmd0aCwzNzU1NSkhPT1xNTtLNSsrKXtyZXR1cm4gZXx8KGk9cmlbKHdyLUdyKSVqbipHcipMY10odFtIYyVHci9VZV0sdFtIYy9Hci14b10pKT9pOnRbVGldJiZ0W1hzLUdyLUNuXSYmdFsoWHItR3IpJUNuXTtBNSs9Mjt9aWYodzUuTDEoQTUudG9TdHJpbmcoKSxBNS50b1N0cmluZygpLmxlbmd0aCw3MjUzNikhPT1tNSl7cmV0dXJuIGUmJihpPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXSx0W0hjK0dyK3hvXSkpP2k6dFtUaV18fHRbWHMrR3IrQ25dfHx0W1hyK0dyK0NuXTt9fWNhdGNoKHQpe3JldHVybiB5dTt9fSxYOmZ1bmN0aW9uKHQsZSxpLG4pe3JldHVybiB0eXBlb2YgdFtIbitHcitDYStHcitFbl09PT1acz90W0huK0dyK0NhK0dyK0VuXShlLGksbnx8e30pOnRbRmUrR3IrQ2FdKE5vK2UsaSk7fSxLOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByO3I9ZnVuY3Rpb24oKXtpdS5aKHQsZSxyLG4pO2lbQ2ldKCk7fTtpdS5YKHQsZSxyLG4pO30sWjpmdW5jdGlvbih0LGUsaSxuKXtyZXR1cm4gdHlwZW9mIHRbeG4rR3IrQ2ErR3IrRW5dPT09WnM/dFt4bitHcitDYStHcitFbl0oZSxpLG58fHt9KTp0W0tpK0dyK0NhXShObytlLGkpO319OyEoWGM9e2l0OmZhW2lyXSh2dSksbnQ6c3RbaXJdKHZ1KSxtOmxlW2lyXSh2dSksZXQ6YWNbaXJdKHZ1KSxydDpTb1tpcl0odnUpLG90OnNpW2lyXSh2dSl8fEpyW2lyXSh2dSl8fHVlW2lyXSh2dVtmc10oMCw0KSksc3Q6dm9baXJdKHZ1KSxnOkFyW2lyXSh2dSkmJiFfYVtpcl0odnUpLGI6bHJbaXJdKHZ1KSYmIW1hW2lyXSh2dSksYXQ6bWVbaXJdKHZ1KSYmIWdyW2lyXSh2dSksY3Q6eFtpcl0odnUpLGQ6Rltpcl0odnUpLHV0OnlvW2lyXSh2dSksX3Q6bXUscHQ6WmMucShndSl8fG11LGx0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3QhPT1tdT90aGlzLl90OnRoaXMuX3Q9UWMuZHQoKSE9PXl1O30sSjpmdW5jdGlvbih0LGUpe3JldHVybiBaYy5KKFhjLmZ0LGUsdCk7fSxodDptb1tpcl0odnUpJiYhenJbaXJdKHZ1KSxmdDpaYy5xKHl1KXx8bXV9KS5ldHx8WGMuaHR8fFhjLmR8fFhjLmJ8fChYYy51dD1vNSk7KFljPWZ1bmN0aW9uKHQsZSxpKXt2YXIgbjtuPWl8fHt9O25bel09ZTt0aGlzLnZ0KG4pO3RoaXMubXQuYnR8fCh0aGlzLm10LmJ0PXJ1K3QpO3RoaXMuZ3QoKTt9KVtYdF09e2t0OntUdDpndSxDdDptdSxqdDp5dSxFdDpHcitQZStHcixGdDprdSxMdDpndSxBdDp5dSxPdDpndSx4dDptdSxQdDpudWxsLGJ0Om11LHd0Om11LFN0Omt1fSxtdDp7fSx5dDpudWxsLHp0OlpjLnYoKSxCdDpaYy5wKFtbT3IsMF1dKSxJdDpaYy5wKFtbTWUsMV1dKSxNdDpaYy5wKFtbU3IsMV1dKSxXdDpaYy5wKFtbRWksMF0sW1NyLDBdXSksRHQ6WmMucChbW01lLDBdXSksVXQ6WmMucChbW1p0LDBdXSksUnQ6WmMucChbW0VpLDBdXSksc2V0T3B0aW9uczpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy52dCh0KTt9LGd0OmZ1bmN0aW9uKCl7dmFyIHQsZSxpLG47dD1mdW5jdGlvbih0LGUpe3ZhciBpLG47bj17fTtuW3B1XT1beXUsZ3VdO25bX3VdPVt5dSx5dV07bltsdV09W2d1LGd1XTtuW2R1XT1bZ3UseXVdO2ZvcihpIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixpKSYmbltpXVswXT09PXQmJm5baV1bMV09PT1lKXtyZXR1cm4gaTt9cmV0dXJuIF91O307ZT1YYy5sdCgpO2k9dChHYy5tdC4kdC5uZXdUYWIsR2MubXQuJHQudW5kZXIpO249dCh0aGlzLm10LkF0LHRoaXMubXQuVHQpO2V8fG49PT1wdSYmKG49aSk9PT1wdSYmKG49bHUpO1hjLm90JiYobj09PV91JiYobj1kdSksbj09PXB1JiYobj1sdSkpO3RoaXMueXQ9bjt9LEh0OmZ1bmN0aW9uKCl7dmFyIGswLG4wLEYwO2lmKHR5cGVvZiB0aGlzLm10Lnh0PT09WnMpdHJ5e3JldHVybiB0aGlzLm10Lnh0W0NpXSh0aGlzLHRoaXMubXQpW1hzK0dyK2hdKCk7fWNhdGNoKHQpe3JldHVybiBLYy5lKHQpLHl1O31rMD0tMTAwMjA0NzAxMztuMD0tMTY1MTM4NjMwNztGMD0yO2Zvcih2YXIgTTA9MTt3NS5MMShNMC50b1N0cmluZygpLE0wLnRvU3RyaW5nKCkubGVuZ3RoLDY4NDExKSE9PWswO00wKyspe3JldHVybiB0aGlzLm10Lnh0O0YwKz0yO31pZih3NS5kMShGMC50b1N0cmluZygpLEYwLnRvU3RyaW5nKCkubGVuZ3RoLDkwOTM5KSE9PW4wKXtyZXR1cm4gdGhpcy5tdC54dDt9fSxMdDpmdW5jdGlvbigpe3ZhciB0LGUsRzcsQzcsazcsVjAsdTAseTA7dD10aGlzLm10O2U9dC5PdCE9PU5zJiZ0Lk90IT09TmV8fHQuT3Q9PT1OcyYmWGMub3R8fHQuT3Q9PT1OZSYmIVhjLm90O3RyeXtHNz0tMTkzODMwODU3MjtDNz0tMTE3NzY0NDk2NDtrNz0yO2Zvcih2YXIgRjc9MTt3NS5kMShGNy50b1N0cmluZygpLEY3LnRvU3RyaW5nKCkubGVuZ3RoLDg5NDI0KSE9PUc3O0Y3Kyspe3R5cGVvZiB0Lkx0PT09WnM/ZT1lJiZ0Lkx0W0NpXSh0aGlzLGUsdGhpcy5OdCgpKSE9PXl1OnR5cGVvZiB0Lkx0PT09YW4mJihlPWUmJnQuTHQpO2s3Kz0yO31pZih3NS5MMShrNy50b1N0cmluZygpLGs3LnRvU3RyaW5nKCkubGVuZ3RoLDUzNDE4KSE9PUM3KXstdC5MdCE9PVpzP2U9ZXx8dC5MdFtDaV0odGhpcyxlLHRoaXMuTnQoKSk9PT15dTohdC5MdD09YW58fChlPWV8fHQuTHQpO319Y2F0Y2godCl7S2MuZSh0KTt9VjA9Njg3MDAyMDA4O3UwPS0yOTc1OTkyODc7eTA9Mjtmb3IodmFyIHYwPTE7dzUuTDEodjAudG9TdHJpbmcoKSx2MC50b1N0cmluZygpLmxlbmd0aCw2NDU0MSkhPT1WMDt2MCsrKXtyZXR1cm4gR2MuSnQoKT9lfHwtdGhpcy5WdDplfHwrdHUuYyh0LmJ0KTt5MCs9Mjt9aWYodzUuTDEoeTAudG9TdHJpbmcoKSx5MC50b1N0cmluZygpLmxlbmd0aCwyOTMyNSkhPT11MCl7cmV0dXJuIEdjLkp0KCk/ZXx8LXRoaXMuVnQ6ZXx8K3R1LmModC5idCk7fXJldHVybiBHYy5KdCgpP2UmJiF0aGlzLlZ0OmUmJiF0dS5jKHQuYnQpO30sdnQ6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHI7dGhpcy5tdD1aYy55KHRoaXMuenQsdGhpcy5rdCx0aGlzLm10LHR8fHt9KTtmb3IoaSBpbiB0aGlzLm10KWlmKHlpW1h0XVtCYStHcitsdCtHcitvb11bQ2ldKHRoaXMubXQsaSkpc3dpdGNoKG49dGhpcy5tdFtpXSxpKXtjYXNlIHNvOnRoaXMubXQud3Q9bjticmVhaztjYXNlIHo6dGhpcy5tdC54dD1uO2JyZWFrO2Nhc2UgTGU6dGhpcy5tdC5PdD0obitHcilbWHMrR3IrdHMrR3IrbmNdKCk7YnJlYWs7Y2FzZSBOdCtHcittYzp0aGlzLm10LmJ0PW47YnJlYWs7Y2FzZSBOdCtHcitUOnRoaXMubXQuQ3Q9bjticmVhaztjYXNlIE50K0dyK2VhOnRoaXMubXQuRXQ9bjticmVhaztjYXNlIE50K0dyKyRzOnRoaXMubXQuUHQ9bjticmVhaztjYXNlIEVlOnRoaXMubXQuVHQ9bjticmVhaztjYXNlIEErR3IrTG86dGhpcy5tdC5BdD1uO2JyZWFrO2Nhc2UgcHQrR3IramU6dGhpcy5tdC5GdD1uO2JyZWFrO2Nhc2UgamErR3IramU6dGhpcy5tdC5TdD1uO2JyZWFrO2Nhc2UgSWMrR3IrY3I6dGhpcy5tdC5qdD1uO2JyZWFrO2Nhc2UgdGUrR3Irc3M6dGhpcy5tdC5MdD1uO31pZighWGMub3QmJiF0aGlzLm10LkF0KWZvcihyPVtbWGMuZyYmMTE9PT1YYy5wdCx0aGlzLlV0XSxbWGMuYiYmWGMucHQ8NDEsdGhpcy5JdF0sW1hjLmIsdGhpcy5CdF0sW1hjLmQmJlhjLnB0PDQ3LHRoaXMuTXRdLFtYYy51dCx0aGlzLkR0XSxbWGMuY3QsdGhpcy5SdF0sW1hjLmImJlhjLnB0Pj01OSx0aGlzLld0XSxbWGMudXQmJlhjLnB0Pj00Nix0aGlzLld0XV0sZT0wO2U8cltwaV07ZSsrKWlmKHJbZV1bMF0pZm9yKGkgaW4gcltlXVsxXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0ocltlXVsxXSxpKSYmKHRoaXMubXRbaV09cltlXVsxXVtpXSk7fX0sZ2V0T3B0aW9uczpmdW5jdGlvbigpe3JldHVybiB0aGlzLk50KCk7fSxOdDpmdW5jdGlvbigpe3ZhciB0LGU7ZT17fTtmb3IodCBpbiB0aGlzLm10KXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXSh0aGlzLm10LHQpJiZ0W3BpXT49MyYmKGVbdF09dGhpcy5tdFt0XSk7fXJldHVybiBlO30scXQ6ZnVuY3Rpb24oKXtHYy5KdCgpP3RoaXMuVnQ9Z3U6dHUuYSh0aGlzLm10LmJ0LDEsdGhpcy5tdC5DdCx0aGlzLm10LkV0LHRoaXMubXQuUHQpO319OyhudT1mdW5jdGlvbih0KXt2YXIgZTtlPXRoaXM7dGhpcy5RdD10O3RoaXMuR3Q9dGhpcy5ZdCgpO3RoaXMuS3Q9dGhpcy5adCgpO2l1LlgodGhpcy5HdCxncyxmdW5jdGlvbigpe0dzKGUuS3QpO1pjLlAoZS5HdCk7fSk7fSlbWHRdPXtZdDpmdW5jdGlvbigpe3ZhciB0LEs3LHI3LFE3O0s3PS0xODIwMzgxMDU7cjc9MTk5MDM1MjYxMTtRNz0yO2Zvcih2YXIgajc9MTt3NS5kMShqNy50b1N0cmluZygpLGo3LnRvU3RyaW5nKCkubGVuZ3RoLDg2ODQwKSE9PUs3O2o3Kyspe3Q9WmMueihoYyx7Y2xhc3M6ZnV9LEdyKTtyZXR1cm4gdGhpcy5RdFtTYytHcittY11bWHMrR3IrdHMrR3IrbmNdKCk9PT1Rcj9yaVtRcl1bSXQrR3IrV2VdKHQpOnRoaXMuUXRbX3QrR3IraV1bTmMrR3IrT3NdKHQsdGhpcy5RdFtWcytHcitrc10pLHQ7UTcrPTI7fWlmKHc1LkwxKFE3LnRvU3RyaW5nKCksUTcudG9TdHJpbmcoKS5sZW5ndGgsMzM0MykhPT1yNyl7dD1aYy56KGhjLHtjbGFzczpmdX0sR3IpO3JldHVybiB0aGlzLlF0W1NjKkdyL21jXVtYcypHci10cy1Hci1uY10oKT09UXI/cmlbUXJdW0l0L0dyL1dlXSh0KTp0aGlzLlF0W190L0dyJWldWyhOYy1HcikqT3NdKHQsdGhpcy5RdFsoVnMtR3IpJWtzXSksdDt9fSxadDpmdW5jdGlvbigpe3ZhciB0O3Q9dGhpcztyZXR1cm4gQ28oZnVuY3Rpb24oKXt2YXIgZSxpO2k9VWModC5RdFt4ZV1bc24rR3IrenNdLDEwKTt0LlF0W1NjK0dyK21jXVtYcytHcit0cytHcituY10oKT09PVFyJiYoaT05ZTkpOyhlPV9uK1Z0K2dvK2VyK0RhK1Z0K04rZXIrbG4rVnQraytlcitHcisoS2ErVnQrR3IpK3QuUXRbZnIrR3Ird2NdKyhobytlcitHcikrKG9jK1Z0K0dyKSt0LlF0W2ZyK0dyK2ddKyhobytlcitHcikrKEhpK1Z0K0dyKSt0LlF0W2ZyK0dyK1duXSsoaG8rZXIrR3IpKyhwK1Z0K0dyKSt0LlF0W2ZyK0dyK0NjXSsoaG8rZXIrR3IpKyhzbit3aStMK1Z0K0dyKSsocWMoaSk/MjppKzEpKSE9PXQuR3RbYWErR3IrR2ldKHhlKSYmdC5HdFtsaStHcitHaV0oeGUsZSk7fSwxNTApO319O251Llh0PWZ1bmN0aW9uKHQpe3ZhciBlO3c1Llk0KDEyKTtlPXc1LmM0KHJ1LExpLHdpLHdpLEdyLGllLEdyKTt0W2FhK0dyK0dpXShlKXx8dFthYStHcitHaV0obG8pPT09ZnV8fCh0W2xpK0dyK0dpXShlLDEpLG5ldyBudSh0KSk7fTsoUWM9e2R0OmZ1bmN0aW9uKCl7dmFyIHQsZTtlPXRoaXMuZWUoKTtmb3IodD0wO3Q8ZVtwaV07dCsrKWlmKGVbdF1bMV0oKT09PWd1KXtyZXR1cm4gZVt0XVswXTt9cmV0dXJuIHl1O30sZWU6ZnVuY3Rpb24oKXt2YXIgdDt0PVtdO3JldHVybiBYYy5vdHx8WGMuaXQ/W106KHRbTXJdKFt0aGlzLmllLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlhjLnB0Pj02NCYmWGMucHQ8Njc7fV0pLHRbTXJdKFt0aGlzLm5lLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubnQmJlhjLnB0Pj00MyYmWGMucHQ8NjQ7fV0pLHRbTXJdKFt0aGlzLnJlLGZ1bmN0aW9uKCl7dmFyIGI3LHE3LG03O2I3PS02MDMwNTI0OTU7cTc9LTQwNjg3OTgwNDttNz0yO2Zvcih2YXIgSTc9MTt3NS5MMShJNy50b1N0cmluZygpLEk3LnRvU3RyaW5nKCkubGVuZ3RoLDU1NDM5KSE9PWI3O0k3Kyspe3JldHVybiBYYy5ifHxaYy5ZKCl8fFhjLm18fFhjLnB0PD0xN3x8WGMucHQ+PTg5O203Kz0yO31pZih3NS5MMShtNy50b1N0cmluZygpLG03LnRvU3RyaW5nKCkubGVuZ3RoLDYyMDk0KSE9PXE3KXtyZXR1cm4gWGMuYnx8WmMuWSgpfHxYYy5tfHxYYy5wdDw9MTd8fFhjLnB0Pj04OTt9cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubSYmWGMucHQ+PTQ5JiZYYy5wdDw2NDt9XSksdFtNcl0oW3RoaXMub2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZDt9XSksdFtNcl0oW3RoaXMuc2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZyYmWGMucHQ+PTExO31dKSx0W01yXShbdGhpcy5hZSxmdW5jdGlvbigpe3JldHVybiBYYy5odDt9XSksdFtNcl0oW3RoaXMuY2UsZnVuY3Rpb24oKXt2YXIgVDAsRTAsbzA7VDA9MTIwNjMzNjEyMTtFMD0xMjk2MjQyMjUyO28wPTI7Zm9yKHZhciBwMD0xO3c1LmQxKHAwLnRvU3RyaW5nKCkscDAudG9TdHJpbmcoKS5sZW5ndGgsNDUyNzYpIT09VDA7cDArKyl7cmV0dXJuIFhjLnV0fHxYYy5udHx8WGMucHQ+PTc0O28wKz0yO31pZih3NS5MMShvMC50b1N0cmluZygpLG8wLnRvU3RyaW5nKCkubGVuZ3RoLDY1MzgpIT09RTApe3JldHVybiBYYy51dCYmWGMubnQmJlhjLnB0PD00ODt9fV0pLHQpO319KS50ZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMudGVbWHRdPXtfZTprdSx1ZTpmdW5jdGlvbih0KXt2YXIgcjUsUTUsZTU7cjU9LTk1ODI4OTMwMTtRNT0tNjIxNDQ4NDIyO2U1PTI7Zm9yKHZhciBaNT0xO3c1LmQxKFo1LnRvU3RyaW5nKCksWjUudG9TdHJpbmcoKS5sZW5ndGgsOTUyNjgpIT09cjU7WjUrKyl7dGhpcy5mZT10O2U1Kz0yO31pZih3NS5MMShlNS50b1N0cmluZygpLGU1LnRvU3RyaW5nKCkubGVuZ3RoLDE0MzU1KSE9PVE1KXt0aGlzLmZlPXQ7fX0sbGU6a3UscGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhO2k9dGhpcztuPWkuZmU7cj1uLkh0KCk7bz1uLm10O3M9by53dHx8WmMuJCg1KTthPVpjLmsobyk7aWYodD1mdW5jdGlvbigpe3RyeXtpZih0eXBlb2Ygby5GdD09PVpzJiZvLkZ0W0NpXShuLHIsbyk9PT15dSl7cmV0dXJuIHl1O319Y2F0Y2godCl7S2MuZSh0KTt9cmV0dXJuIG11O30sZT1mdW5jdGlvbih0KXtpZih0eXBlb2Ygby5TdD09PVpzKXRyeXtvLlN0W0NpXShuLHIsbyx0KTt9Y2F0Y2godCl7S2MuZSh0KTt9fSx0KCk9PT15dSl7cmV0dXJuIHl1O310eXBlb2Ygb1t6XT09PVRjJiZvW3pdIT09ciYmKHI9b1t6XSk7R2MuanQoby5qdCk7dGhpcy5fZSgpO3RyeXtyZXR1cm4gdGhpcy5sZShyLG8scyxhLGZ1bmN0aW9uKHQpe2kuZGUodCk7aS5oZSYmR2MuaGUoKTtlKHQpO30pO31jYXRjaCh0KXtyZXR1cm4gS2MuZSh0KSx5dTt9fSx2ZTpmdW5jdGlvbih0LGUsaSl7cmV0dXJuKEdjLm10LmJlP1pjLkM6QXUpKHQsZSxpKTt9LGRlOmt1LGhlOmd1fTtRYy5tZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMubWVbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTp5dSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3IodGhpcy52ZSh0LGksbikpO319KTtRYy5nZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuZ2VbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTohWGMub3QmJiFYYy5kLGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7cih0aGlzLnZlKHQsRmkpKTt9fSk7UWMueWU9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnllW1h0XT1aYy55KFFjLnRlW1h0XSx7a2U6ZnVuY3Rpb24oKXt2YXIgdCxlLGk7dD1HYy53ZSgpO2U9R2MueGUuUztpPXR5cGVvZiBHYy5tdC5PZT09PVpzP0djLm10Lk9lW0NpXSgpOkdjLm10Lk9lO3JldHVybiBmdW5jdGlvbigpe3ZhciBuLHI7cmV0dXJuIGkhPT1GdT9pOihuPVpjLiQoMSkscj1lP2k6R2MuQ2UodCl8fGksZXUucygpfHwhWGMub3QmJiFYYy5nP3I6KHR1LmEoY3UsbixtdSkscltaXSh2cixHcikrKEdyK3NlK0dyKStuKSk7fSgpO30sbGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgeDksejksaDksbyxzLGEsYyx1LGgsZixwO3g5PTE3MTA2NjI4Nzg7ejk9LTEwMzk3MjE3MTM7aDk9Mjtmb3IodmFyIEw5PTE7dzUuZDEoTDkudG9TdHJpbmcoKSxMOS50b1N0cmluZygpLmxlbmd0aCwzMDE4NykhPT14OTtMOSsrKXtoOSs9Mjt9aWYodzUuZDEoaDkudG9TdHJpbmcoKSxoOS50b1N0cmluZygpLmxlbmd0aCw0NTQ4MCkhPT16OSl7fWE9dGhpcy5rZSgpO2M9R2Mud2UoKTt1PVpjLk4oYyk7aD0xNTtmPVtdO3A9ZnVuY3Rpb24odCl7dmFyIGU7dHlwZW9mIHRbQW5dPT09WnMmJihlPXRbQW5dLGl1LlgodCxncyxlKSk7dFtBbl09ZnVuY3Rpb24oKXtyZXR1cm4geXU7fTt9O2ZvcihHYy5FZSgpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKSE9PUZpJiZaYy5mKGMsdW4pJiYocChjKSwwIT09Y1thYStHcitHaV0odW4pW0wrR3IrV2FdKEN0KSYmKGE9Y1thYStHcitHaV0odW4pKT09PUdyJiYoYT1GdSkpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKT09PUZpJiZaYy5mKGMsdW4pJiYocChjKSxpbyhmdW5jdGlvbigpe2NbQW5dPW11O30sM2UzKSxHYy5tdC5QZT9hPWNbYWErR3IrR2ldKHVuKTooYT1GdSxYYy5vdCYmKFhjLnV0P2ZbTXJdKGZ1bmN0aW9uKCl7QXUoY1thYStHcitHaV0odW4pLEZpKTt9KTppbyhmdW5jdGlvbigpe0F1KGNbYWErR3IrR2ldKHVuKSxGaSk7fSwyMCkpKSksWGMuZXQmJlhjLnV0fHxYYy5ldCYmWGMuc3QmJiFYYy5kJiYhWGMuYiYmIVhjLmh0PyhBdShhLEZpKSxaYy5IKEJyLGZ1bmN0aW9uKCl7WmMuVCh0KTt9LGgpKTohWGMub3QmJlpjLmgoYyxUaSkhPT1GaSYmKFhjLnV0JiZYYy5zdHx8WGMuaHQmJlhjLnB0PDEwfHxYYy5iJiZYYy5wdDw0MSk/WGMudXQ/KFpjLlEoYSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KFpjLlEodCksY1tTYytHcittY109PT1PbiYmdSYmWmMuVCh1KSk6WGMuZXQmJlhjLmQ/KG89QXUoYSxGaSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KG89eVtRYV0oVWErVnQrY2ksRmkpKT8ob1tFaV1bdW5dPWEsWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6bz1BdSh0LEZpKSxzPTA7czxmW3BpXTtzKyspe2Zbc11bQ2ldKCk7fW8mJnIobyk7fX0pO1FjLm9lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5vZVtYdF09WmMueShRYy50ZVtYdF0se2hlOnl1LGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG87bz10aGlzLnZlKHQsaSxuKTtvW2tuXSgpO1R1W2JvXSgpO1pjLk0obyk7aW8oZnVuY3Rpb24oKXtyKG8pO30sMWUzKTt9fSk7UWMuY2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLmNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZSh0LGksbik7cz1HYy5UZSgxZTMpO2l1LksoeSxibyxmdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9KTtvW2NjXT1mdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9O3Iobyk7fX0pO1FjLmFlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5hZVtYdF09WmMueShRYy50ZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIEQ5LFc5LGw5LG87RDk9MTk0OTIwNzgwOTtXOT04OTkwMjg0O2w5PTI7Zm9yKHZhciBWOT0xO3c1LkwxKFY5LnRvU3RyaW5nKCksVjkudG9TdHJpbmcoKS5sZW5ndGgsNTc4NTApIT09RDk7VjkrKyl7bDkrPTI7fWlmKHc1LkwxKGw5LnRvU3RyaW5nKCksbDkudG9TdHJpbmcoKS5sZW5ndGgsNTEwNjgpIT09Vzkpe315W3NvXT1aYy4kKDUpO289dGhpcy52ZSh0LGksbik7dGhpcy52ZShHcix5W3NvXSxHcik7eVtzb109bXU7cihvKTt9LGhlOnl1fSk7UWMuc2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZShQdT90OkZ1LGksbik7cz1mdW5jdGlvbigpe29bRWldW3VuXT10O307aXUuSyhvLGtuLHMpO29ba25dKCk7VHVbYm9dKCk7aW8ocywxMDApO3Iobyk7fSxoZTp5dX0pO1FjLm5lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5uZVtYdF09WmMueShRYy50ZVtYdF0se0ZlOmZ1bmN0aW9uKCl7dmFyIHQsZTtlPVpjLnooYXIse2RhdGE6WmMuTChlbitQZStNYyx0aGlzLkFlKStaYy4kKDMpfSk7cmV0dXJuKHQ9WmMueihoYyx7c3R5bGU6UGkrVnQrYStlcitvYytWdCtIcytlcitLYStWdCtIcytlcitEYStWdCtOK2VyK3ArVnQrRnIrSGErR3IrZXIrSGkrVnQrem4rZXIrayt3aStHYStWdCtYaStlciskbytWdCthK2VyK0dyfSkpW0l0K0dyK1dlXShlKSxbZSx0XTt9LFNlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMueSh0LHt9KTtyZXR1cm4gZVtwXT1lW0hpXT05ZTUsZVtvY109ZVtLYV09MSxlO30sQWU6THQrR3IrdGErR3IrRmMrR3IrUHMrR3Irb24rR3IrV2MrR3IreG8rR3IrJCtHcithaStHcituK0dyK1NhK0dyK0tyK0dyK1F0K0dyK2t0K0dyK3p0K0dyK3RjK0dyK1l0K0dyK3ZhK0dyK3MrR3IrdmErdWMraG4rR3IrTGErR3IrenQrR3IrVytHcitEYytHcitaYStHcittdCtHcitWaStHcitzYStHcitVZStHcitUYStHcit2YStHcitWaStHcitQcitHcit4bytHcitVZStHcitpYytHcitwbytHcitLcitHcitKK0dyK2hzK0dyK1ppK0dyK3ZhK0dyK1ByK0dyK0xhK0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrWGErR3IrVHMrR3IrWmkrR3IrdmErR3IrUHIrR3IrSGUrR3IrenQrR3IrVytHcitGYytHcit0YytHcityYytHcithZStHcit2aStHcit2YStHcitQcitHcitydCtHcitwcytHcittdCtHcituYStHcitUbytHcityZStHcit4bytHcit0YStHcitqaStHcitXK0dyK2F0K0dyK3ZhK0dyK1ByK0dyK2MrR3IrYit1YytFK0dyK1FvK0dyK3BzK0dyK2RjK0dyK1l0K0dyK3ZhK0dyK1lhK0dyK1hhK0dyK1RzK0dyK1ppK0dyK3ZhK0dyK0dlK0dyK09lK0dyK2dhK0dyK0hvK0dyK3ZhK0dyK1ByK0dyK2t0K0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrdmErR3Ircm4rdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitrdCtHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK09lK0dyK1krR3IrS3QrR3IreG8rR3IrVWUrR3IrYnMrR3IrRnQrR3IrUG8rR3IrRStHcitVZStHcitiaStHcitVZStHcitTZStHcitWcitHcitEcytHcit4bytHcitVZStHcitHbytHcit2YStHcitQdCtHcitVZStHcitScitHcit5YytHcitPZStHcitWbytHcitLcitHcit2YytHcitiZStHcitzK0dyK3hjK0dyK0tvK0dyK3IrR3IrYWkrR3IrZnQrdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitBZStHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK05hK0dyK1RzK0dyK010K0dyK2hyK0dyK1lzK0dyK0tzK0dyK0UrR3IrVWUrR3IrZm4rR3IrcmMrR3IrYWUrR3IrRCtHcitMdCtHcitWcitHcit0YStHcittdCtHcitacitHcitWcitHcitPZSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3ZhciBzLGEsYyx1LGg7dT10aGlzO2g9eXU7dHJ5eyhhPXRoaXMudmUoVWErVnQrY2ksRmkpKVttcl1bcnJdKHc1LnU0KHVyLEdyLEdyLGpvLFBlLHVpLEdyLFFyLEdyLFBlLG8sR3IsdWksdWksR3IsdXIsUGUsR3IsdXIsam8sR3IsdXIsbyx1aSxHcix1cixHcix1aSxRcix1cix1aSx3NS5ZNCgxMykpKTtpdS5LKGEscWEsZnVuY3Rpb24oKXtmdW5jdGlvbiBmKCl7bigpO2FbSW9dKCk7bygpO3JvKGMpO31ofHwoaD1ndSxzPWFbQmNdPUF1KFVhK1Z0K2NpLGksWmMuayh1LlNlKGUpKSksaXUuWChhLGJvLGYpLGM9aW8oZiwzZTMpLGFbbXJdW1FyXVtQYStHcithaStHcit4YytHcit6dCtHcitwYV09dS5GZSgpWzFdW1BuK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXSk7ZnVuY3Rpb24gbigpe3c1Llk0KDE0KTthW21yXVtRcl1bdzUudTQoUGEsenQsR3IsR3IsR3IseGMsR3IsYWkscGEpXT1Hcjt9ZnVuY3Rpb24gbygpe3ZhciBhMSxZMSxmMTthMT0tMTU2OTI3MTMyMDtZMT0yMzc1ODcyNDtmMT0yO2Zvcih2YXIgRDE9MTt3NS5MMShEMS50b1N0cmluZygpLEQxLnRvU3RyaW5nKCkubGVuZ3RoLDk0NDMyKSE9PWExO0QxKyspe3NbRWMlR3ItYmFdKGVbSGldLGVbcF0pO3NbZGElR3IqYmFdKGVbb2NdLGVbS2FdKTtzW0VpXVtaXSh0KTtyKHMpO2YxKz0yO31pZih3NS5kMShmMS50b1N0cmluZygpLGYxLnRvU3RyaW5nKCkubGVuZ3RoLDYyNDUzKSE9PVkxKXtzW0VjJUdyLWJhXShlW0hpXSxlW3BdKTtzW2RhJUdyKmJhXShlW29jXSxlW0thXSk7c1tFaV1bWl0odCk7cihzKTt9c1tFYytHcitiYV0oZVtIaV0sZVtwXSk7c1tkYStHcitiYV0oZVtvY10sZVtLYV0pO3NbRWldW1pdKHQpO3Iocyk7fX0pO31jYXRjaCh0KXt9fX0pO1FjLnJlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5yZVtYdF09WmMueShRYy5uZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG8scztzPVpjLk8oZ3UpO2l1LksoeSxibyxmdW5jdGlvbigpe1pjLlAocyk7b1tFaV1bWl0odCk7cihvKTt9KTt3NS5vNCg0KTtvPXRoaXMudmUodzUuYzQoVWEsVnQsY2kpLEZpKTtzW3RvK0dyK3lhXVttcl1bcnJdKHRoaXMuRmUoKVsxXVtQbitHcithaStHcit4YytHcit6dCtHcitwYV0pO319KTtRYy5pZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuaWVbWHRdPVpjLnkoUWMudGVbWHRdLHtMZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47aT10aGlzO249eXU7dzUubzQoNCk7ZT10aGlzLnZlKHc1LmM0KFVhLFZ0LGNpKSx0Lnd0fHxGaSx0LkJlfHxHcik7dC56ZSYmKGUmJmVbSW9dKCksbj1ndSk7IW4mJmUmJmlvKGZ1bmN0aW9uKCl7ZVtFaV1bdW5dPXQueHQ7dC5JZSYmaS5JZShlKTt9LDEwMCk7fSx1ZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47bj10aGlzO3RoaXMuamU9ZHJbTW5dKCk7dGhpcy5mZT10O2U9R2Mud2UoKTt3NS5vNCgxNSk7aT1aYy5CKGUsdzUuYzQoZ3QsR3IseGMsR3IsR3IsRmMseGMsR3IsZmMsR3IsVnIpKTsoZVtTYytHcittY109PT1PbiYmZVthYStHcitHaV0oanIpIT09RmkmJiFaYy5TKGUpfHxpJiYhWmMuUyhpKSkmJih0aGlzLmhlPWd1KTtpdS5YKHksSWUsZnVuY3Rpb24gdChlKXt0cnl7ZVtpZV0uamU9PT1uLmplJiZuLkxlKGVbaWVdKTtlW2llXS56ZSYmaXUuWih5LEllLHQpO31jYXRjaCh0KXt9fSk7fSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3RoaXMuSWU9cjt0aGlzLk1lKHtqZTp0aGlzLmplLEJlOm4sSWU6Z3UseHQ6dH0pO3RoaXMuTWUoe2plOnRoaXMuamUsemU6Z3UseHQ6VWErVnQrY2l9KTt9LGhlOnl1LE1lOmZ1bmN0aW9uKHQpe3lbSnQrR3IrWF0odCx5W0VpXVtSb10pO319KTtHYz17X2k6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5RaSgpK3RoaXMuSGkoKT5aYy5HKCk7fSxLaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm10LkplO30sSmU6ZnVuY3Rpb24oKXt2YXIgdDt0PVpjLngoYXJndW1lbnRzWzBdKT9hcmd1bWVudHNbMF06YXJndW1lbnRzO3JldHVybiB0aGlzLm5uKHQsUm4sdFtwaV0mJnRbMF09PT15dSk7fSxraTpmdW5jdGlvbih0LGUsaSxuKXt0aGlzLk9pKGksdCxndSl8fG4oZ3UseXUpO30sV2k6ZnVuY3Rpb24odCl7dHJ5e3JldHVybiB0W3F0XSYmMCE9PXRbcXRdfHx0aGlzLmNpLkcrMTUwPlpjLkcoKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LFJpOmZ1bmN0aW9uKCl7dGhpcy5XZT1bXTt9LFlpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQucWU7fSxVaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLldlO30sWmU6bXUsVGk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHx0aGlzLnFpKHQpKXtyZXR1cm4geXU7fWlmKCF0aGlzLm10LnFlW3BpXXx8dFthYStHcitHaV0obG8pPT09ZnUpe3JldHVybiBndTt9Zm9yKDtlPHRoaXMubXQucWVbcGldO2UrKylpZih0PT09dGhpcy5tdC5xZVtlXXx8dHlwZW9mIHRoaXMubXQucWVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5xZVtlXVtYcytHcitwcitHcituY10oKXx8WmMuSSh0LHRoaXMubXQucWVbZV0pKXx8WmMuQih0LHRoaXMubXQucWVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LHdlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueGUuUXQ7fSxMaTpmdW5jdGlvbigpe3ZhciB0LGU7ZT10aGlzO3RoaXMuWmU9WmMueihoYyx7c3R5bGU6b2MrVnQrRnIrSGErR3IrZXIrS2ErVnQrRnIrSGErR3IrZXIrRGErVnQrSXMrZXIrcCtWdCt6bitlcitIaStWdCt6bitlcitzbit3aStMK1Z0K25vK2VyK3h0K1Z0K1hpK2VyK0dyfSxHcik7dD1DbyhmdW5jdGlvbigpe3ZhciBpO2k9cmlbUXJdO2kmJihHcyh0KSxpW0l0K0dyK1dlXShlLlplKSk7fSwxMDApO30saGk6ZnVuY3Rpb24oKXt2YXIgTjksYTksWTksdCxlLGk7Tjk9LTUxNTA4MTc1NzthOT0tMTMwNjg1MTEzNztZOT0yO2Zvcih2YXIgczk9MTt3NS5kMShzOS50b1N0cmluZygpLHM5LnRvU3RyaW5nKCkubGVuZ3RoLDEwMDExKSE9PU45O3M5Kyspe1k5Kz0yO31pZih3NS5MMShZOS50b1N0cmluZygpLFk5LnRvU3RyaW5nKCkubGVuZ3RoLDQ1MzQ0KSE9PWE5KXt9aT10aGlzLlhlLm9pO2Zvcih0PTA7dDx0aGlzLmZpW3BpXSYmKCF0aGlzLnBpKCkmJiF0aGlzLl9pKCkpO3QrKyl7aWYoZT10aGlzLmZpW3RdLHRoaXMuWGUuc2krKyx0aGlzLlhlLm9pPVpjLkcoKSx0aGlzLmxpKGUpPT09eXUpe3JldHVybiB0aGlzLlhlLnNpLS0sdm9pZCh0aGlzLlhlLm9pPWkpO31pPXRoaXMuWGUub2k7ZXUuYShodSx0aGlzLlhlLm9pKTtlLnl0PT09bHUmJmV1LmEodXUsdGhpcy5YZS5zaSk7fX0sT2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBuLHIsbyxzO3c1Lm80KDQpO289dzUuYzQoR3IsVHQsR3IpO3c1Llk0KDIpO3M9dzUuYzQobyx0KTtmb3Iobj0wO248ZVtwaV07bisrKWlmKHI9KEdyK090K0dyK1R0K0dyKVtMK0dyK1dhXShlW25dWzBdKT4tMT9lW25dOm8rZVtuXSxzW2ZzXShzW3BpXS1yW3BpXSk9PT1yfHxpJiZyPT09d3Upe3JldHVybiBndTt9cmV0dXJuIHl1O30sZW46ZnVuY3Rpb24odCxlKXt2YXIgTDAsZDAsTzAsaSxuO0wwPTEyMjU5MjUxNjQ7ZDA9LTc2NDA0NzIyNjtPMD0yO2Zvcih2YXIgQzA9MTt3NS5MMShDMC50b1N0cmluZygpLEMwLnRvU3RyaW5nKCkubGVuZ3RoLDk4MzQ3KSE9PUwwO0MwKyspe08wKz0yO31pZih3NS5MMShPMC50b1N0cmluZygpLE8wLnRvU3RyaW5nKCkubGVuZ3RoLDg1NTk4KSE9PWQwKXt9aT10aGlzO249dGhpcy50bih0LGUpO3RoaXMuV2VbTXJdKG4pO3RoaXMuRGkobik7dGhpcy5pbnx8KEdjLkNpKCksZnVuY3Rpb24oKXt2YXIgdCxlO1hjLmImJigoZT1yaVtVcytHcitDbl0oaGMpKVtSYytHcitpdF0oVmEsZnVuY3Rpb24oKXtDdT1ndTt9KSxDdT1vNSx0PUNvKGZ1bmN0aW9uKCl7aWYoQ3U9eXUsIWkubXQuUmUpe2lmKHR5cGVvZiB5W3dzXSE9PWFyfHx0eXBlb2YgeVt3c11bT29dIT09WnMpe3JldHVybiBDdT1vNSx2b2lkIEdzKHQpO315W3dzXVtPb10oZSk7eVt3c11bTWldKCk7fX0sNTAwKSk7fSgpLHRoaXMuaW49bzUpO30sUGk6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuSmkoKSx0P3RoaXMuZmlbcGldOnRoaXMuZmlbcGldPjA7fSx2aTpmdW5jdGlvbigpe3ZhciB0LGU7dD1aYy5HKCk7ZT1aYy5HKGF1KTt3NS5ZNCgxNik7dGhpcy5YZS5yaT13NS5jNChlLHQsMzE1MzYwMDAwMDApO3RoaXMuWGUucmkmJih0aGlzLmxpPWt1KTt9LEJpOmZ1bmN0aW9uKCl7dmFyIHQ7dD1VYyhldS5jKGh1KSwxMCk7cWModCkmJih0PTApO3RoaXMuWGUub2k9dDt9LENlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMuTih0KTtyZXR1cm4gZSYmIXRoaXMubXQuTmUmJlpjLlModCk/eXU6ZTt9LGp0OmZ1bmN0aW9uKHQpe3ZhciBlLGksbjtlPXR5cGVvZiB0PT09Z2U/Z3U6ISF0O3c1Lm80KDIpO2k9dzUuYzQocnUsSSk7bj1yaVthYStHcitDbitHcitpaStHcit0bl0oaSk7ZT9ufHwobj1aYy56KERvLHtjb250ZW50OkljK3dpK2lhLG5hbWU6aWEsaWQ6aX0pLHJpW2FhK0dyK1JlK0dyK2lpK0dyK1JpK0dyK21jXShvKVswXVtJdCtHcitXZV0obikpOm4mJlpjLlAobik7fSxHaTpmdW5jdGlvbigpe3RoaXMuWGUuaWk9Z3U7dGhpcy5oaT1rdTt9LEp0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQuRGU7fSx5aTpmdW5jdGlvbih0LGUsaSxuLHIpe2Zvcih2YXIgbyxzPTA7czxlJiYobz10W3NdLCEoMT09PW4mJihyKGlbcytlXSx0W3NdKmlbc10rcysoaVtzXT4+cyszKSl8fHIoaVtzKzIqZV0sdFtzXSoodFswXSt0WzFdK3RbMl0pKyhpW3NdPDxzKSl8fHIoaVtzKzMqZV0sZHJbQWNdKHRbMF0qdFsxXSp0WzJdL28pK28rKGlbc10+PnMpKSl8fG48MSYmKHIoaVtzK2VdLHRbc10qaVtzXStzKXx8cihpW3MrMiplXSx0W3NdKih0WzBdK3RbMV0rdFsyXSkpfHxyKGlbcyszKmVdLGRyW0FjXSh0WzBdKnRbMV0qdFsyXS9vKStvKSkpKTtzKyspO30scWk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHwhdGhpcy5tdC5KZVtwaV0pe3JldHVybiB5dTt9Zm9yKDtlPHRoaXMubXQuSmVbcGldO2UrKylpZih0PT09dGhpcy5tdC5KZVtlXXx8dHlwZW9mIHRoaXMubXQuSmVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5KZVtlXXx8WmMuSSh0LHRoaXMubXQuSmVbZV0pKXx8WmMuQih0LHRoaXMubXQuSmVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LGNpOnt1aTp7fSxHOjB9LEhpOmZ1bmN0aW9uKCl7cmV0dXJuIFhjLm90P2RyW0JvXSh0aGlzLm10LlZlLDFlMyk6WGMuYnx8WGMuZ3x8WGMuY3R8fFhjLnV0JiYhWGMuZXQ/ZHJbQm9dKHRoaXMubXQuVmUsMjAwKTp0aGlzLm10LlZlO30sRWU6ZnVuY3Rpb24odCl7dmFyIGUsWjcsdDcsVTc7Wjc9LTEyNTc1NDEyNDI7dDc9MTMwMDY1ODcyMDtVNz0yO2Zvcih2YXIgejc9MTt3NS5MMSh6Ny50b1N0cmluZygpLHo3LnRvU3RyaW5nKCkubGVuZ3RoLDgzNTc3KSE9PVo3O3o3Kyspe2U9dHx8dGhpcy5jaS51aTtVNys9Mjt9aWYodzUuZDEoVTcudG9TdHJpbmcoKSxVNy50b1N0cmluZygpLmxlbmd0aCwzMDU1KSE9PXQ3KXtlPXQmJnRoaXMuY2kudWk7fXRyeXtlW01vK0dyK25pXSYmZVtNbytHcituaV0oKTtlW3FlK0dyK19zXSYmZVtxZStHcitfc10oKTt3NS5vNCg0KTtlW3c1LmM0KE5yLEdyLGNvKV09eXU7dzUubzQoNCk7ZVt3NS51NChtcyxHcixIcildPWd1O31jYXRjaCh0KXt9fSxpOmZ1bmN0aW9uKCl7dmFyIE8xLEcxLEMxO08xPS0xMzAyMzI0NTE3O0cxPTg4ODY0MDYzMDtDMT0yO2Zvcih2YXIgbjE9MTt3NS5kMShuMS50b1N0cmluZygpLG4xLnRvU3RyaW5nKCkubGVuZ3RoLDU5MTU1KSE9PU8xO24xKyspe3JldHVybiB0aGlzLm10LlVlfHx0aGlzLm10LkRlO0MxKz0yO31pZih3NS5MMShDMS50b1N0cmluZygpLEMxLnRvU3RyaW5nKCkubGVuZ3RoLDIzODAyKSE9PUcxKXtyZXR1cm4gdGhpcy5tdC5VZSYmdGhpcy5tdC5EZTt9fSxwaTpmdW5jdGlvbigpe3ZhciBoNyxpNyxMNztoNz0tMTUxMTEyMzE1NDtpNz0tMTY3MjAwNTI5NjtMNz0yO2Zvcih2YXIgTzc9MTt3NS5kMShPNy50b1N0cmluZygpLE83LnRvU3RyaW5nKCkubGVuZ3RoLDMyNTMzKSE9PWg3O083Kyspe3JldHVybiB0aGlzLiRpKCk8dGhpcy5tdC5IZTtMNys9Mjt9aWYodzUuTDEoTDcudG9TdHJpbmcoKSxMNy50b1N0cmluZygpLmxlbmd0aCwxOTk5KSE9PWk3KXtyZXR1cm4gdGhpcy4kaSgpPj10aGlzLm10LkhlO319LGdpOmZ1bmN0aW9uKHQsZSxpLG4scil7Zm9yKHZhciBvLHM9MDtzPGUmJihvPXRbc10sISgxPT09biYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzErKGlbc108PGlbc10lMTApLGlbZStzXSl8fHIob1trZStHcitucytHcitCaV0ob1twaV0tMSkqaVtzXSoyK3MrKGlbc10+PnMpLGlbMiplK3NdKXx8cihvW3BpXSppW3NdKjMrKGlbc108PHMpLGlbMyplK3NdKSl8fG48MSYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzEsaVtlK3NdKXx8cihvW2tlK0dyK25zK0dyK0JpXShvW3BpXS0xKSppW3NdKjIrcyxpWzIqZStzXSl8fHIob1twaV0qaVtzXSozLGlbMyplK3NdKSkpKTtzKyspO30sV2U6W10sdG46ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IFljKHRoaXMuV2VbcGldLHQsZSk7fSxBaTpmdW5jdGlvbih0KXt0aGlzLmNpLnVpPXQ7dGhpcy5jaS5HPVpjLkcoKTt9LGFpOltdLE1pOmZ1bmN0aW9uKHQpe3JldHVybiBudS5YdCh0KSx0aGlzO30sWmk6ZnVuY3Rpb24oKXtyZXR1cm4gWmMucChbW1RyLHRoaXMubXQuRGVdLFtvaSx0aGlzLm10LlVlXSxbd3QsdGhpcy5tdC5SZV0sW0xyK0dyK3plLHRoaXMubXQuT2VdLFtSbitHcitFbix0aGlzLm10Lk5lXSxbRHQsdGhpcy5tdC5IZV0sW2xjK0dyK2JhLHRoaXMubXQucWVdLFtSbitHcitiYSx0aGlzLm10LkplXSxbUW4sdGhpcy5tdC5WZV0sW3crR3IrVix0aGlzLm10LiRlXSxbdytHcitEbix0aGlzLm10LlFlXSxbcG4rR3IrdHIrR3IrTG4sdGhpcy5tdC5HZV0sW0JzK0dyK2wrR3IrU3MsdGhpcy5tdC4kdF0sW05zK0dyKyRyLHRoaXMubXQuWWVdLFtJYytHcitwYytHcitfaSx0aGlzLm10LmJlXSxbTHMrR3IrYnQsdGhpcy5tdC5LZV0sW0IrR3IrdmUrR3IrX28rR3IreW4rR3IrTG4sdGhpcy5tdC5QZV1dKTt9LFRlOmZ1bmN0aW9uKHQpe3ZhciBlLGk7aT1aYy5PKGd1KTtyZXR1cm4gZT1pW3RvK0dyK3lhXVttcl1bVXMrR3IrQ25dKGRlKSwwPT09eVtFaV1bdW5dW0wrR3IrV2FdKGorVnQrR3IpP2VbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPUdyKyhXcitZZStHcit3bitHcikrKGYrVHQrUytUdCthYStHcitaZStHcitRaStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKTplW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoV3IrWWUrR3Ird24rR3IpKyhZcitUdCtjYStHcitfZStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSxpW3RvK0dyK3lhXVttcl1bUXJdW0l0K0dyK1dlXShlKSx0eXBlb2YgdCE9PVd0JiZ0eXBlb2YgdCE9PWdlfHxpbyhmdW5jdGlvbigpe1pjLlAoaSk7fSx0fHw1MDApLGk7fSxOaTpmdW5jdGlvbigpe3ZhciBvMSx3MSxwMTtvMT0tMjExMjgyOTI0MDt3MT00MjIxODMwODI7cDE9Mjtmb3IodmFyIHEwPTE7dzUuZDEocTAudG9TdHJpbmcoKSxxMC50b1N0cmluZygpLmxlbmd0aCwzNTgxNCkhPT1vMTtxMCsrKXtmb3IodmFyIHQsZT02O2U8PXRoaXMuV2VbcGldO2UtLSl7dD10aGlzLldlW2VdO3R1LnUodC5tdC5idCk7fXRoaXMuWGUub2k9dGhpcy5YZS5zaT00O2V1LnUodXUpO2V1LnUoY3UpO2V1LnUoaHUpO3AxKz0yO31pZih3NS5MMShwMS50b1N0cmluZygpLHAxLnRvU3RyaW5nKCkubGVuZ3RoLDUxMjkxKSE9PXcxKXtmb3IodmFyIHQsZT0yO2U8dGhpcy5XZVtwaV07ZSsrKXt0PXRoaXMuV2VbZV07dHUudSh0Lm10LmJ0KTt9dGhpcy5YZS5vaT10aGlzLlhlLnNpPTM7ZXUudSh1dSk7ZXUudShjdSk7ZXUudShodSk7fWZvcih2YXIgdCxlPTA7ZTx0aGlzLldlW3BpXTtlKyspe3Q9dGhpcy5XZVtlXTt0dS51KHQubXQuYnQpO310aGlzLlhlLm9pPXRoaXMuWGUuc2k9MDtldS51KHV1KTtldS51KGN1KTtldS51KGh1KTt9LHppOmZ1bmN0aW9uKCl7dmFyIHQ7dD0wO3JldHVybiBldS5zKCk/KHQ9ZXUuYyh1dSksZXUudSh1dSkpOnR1LmModXUpJiYocmlbaWFdPT09UnRbdW5dfHx+UnRbdW5dW0wrR3IrV2FdKEdyK3NlK0dyK3R1LmMoY3UpKSkmJih0PXR1LmModXUpLGlvKGZ1bmN0aW9uKCl7dHUudSh1dSk7dHUudShjdSk7fSwzMDApKSx0PVVjKHQsMTApLHQ9cWModCk/MDp0LHRoaXMuWGUuc2k9dDt9LG10OntOZTpndSxLZTp5dSxKZTpbXSxWZTowLCR0OmJ1LCRlOltdLERlOnl1LE9lOkZ1LEhlOjk5OTksUmU6eXUscWU6W10sWWU6MTAsVWU6eXUsUWU6Z3UsUGU6eXUsYmU6eXUsR2U6Z3V9LCRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuWGUuc2k7fSxRaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLlhlLm9pO30sYmk6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhLGMsdSxuOSxGOSxnOTtzPXRoaXM7YT0wO2M9dGhpcy5YZTt1PWZ1bmN0aW9uKHQsZSl7dmFyIFA5LEo5LFg5O1A5PTMyNTI1NjI2O0o5PS05NTA1MjQwNDM7WDk9Mjtmb3IodmFyIFM5PTE7dzUuTDEoUzkudG9TdHJpbmcoKSxTOS50b1N0cmluZygpLmxlbmd0aCw0ODQ5MykhPT1QOTtTOSsrKXtyZXR1cm4gdD09PWV8fChjLm5pPWd1LHMubGk9a3UpLHQhPWU7WDkrPTI7fWlmKHc1LkwxKFg5LnRvU3RyaW5nKCksWDkudG9TdHJpbmcoKS5sZW5ndGgsNTM4MDApIT09Sjkpe3JldHVybiB0IT09ZSYmKGMubmk9Z3Uscy5saT1rdSksdCE9PWU7fX07aWYodHlwZW9mIHlbcnVdW2FyXSE9PWdlKXtjLm5pPW11O3Q9eVtydV1bYXJdW1huXSgpO2U9eVtydV1bYXJdW1huXSgpO2k9eVtydV1bYXJdW1huXSgpO249eVtydV1bYXJdW1huXSgpO3I9WmMuRigoeVtydV1bYXJdW1huXSgpfHx7c3JjOm51bGx9KVtYcl0pO289WmMuRih4dVtYcl0pO3RyeXtuOT0xNDUwNjEyMjI1O0Y5PS01NjY0Nzc2Nzc7Zzk9Mjtmb3IodmFyIFI5PTE7dzUuZDEoUjkudG9TdHJpbmcoKSxSOS50b1N0cmluZygpLmxlbmd0aCwyODY5NSkhPT1uOTtSOSsrKXthPXlbcnVdW2FyXVtYbl0oKSYmNztnOSs9Mjt9aWYodzUuZDEoZzkudG9TdHJpbmcoKSxnOS50b1N0cmluZygpLmxlbmd0aCwzODQzOCkhPT1GOSl7YT15W3J1XVthcl1bWG5dKCkmJjc7fWE9eVtydV1bYXJdW1huXSgpfHwwO31jYXRjaCh0KXt9YT1kcltCb10oMCxkcltrYV0oMSxhKSk7dGhpcy5taSh0LG8scix1KTt0aGlzLmdpKHQsdFtwaV0sZSxhLHUpO3RoaXMueWkoaSxpW3BpXSxuLGEsdSk7dGhpcy5raSh0LHRbcGldLFpjLkYoKSx1LHUpO3RoaXMud2koaSxaYy5HKCkpO2Mubmk9PT1tdSYmKGMubmk9eXUpO31jLnhpPWF8fDA7fSxFaTpmdW5jdGlvbih0LGUpe3ZhciBkOSxPOSxHOTtkOT04MzA2MTMyMTE7Tzk9MTQwNDM5MjY4MztHOT0yO2Zvcih2YXIgazk9MTt3NS5kMShrOS50b1N0cmluZygpLGs5LnRvU3RyaW5nKCkubGVuZ3RoLDE2MDEwKSE9PWQ5O2s5Kyspe3RoaXMueGUuUXQ9dDt0aGlzLnhlLlM9ZTtHOSs9Mjt9aWYodzUuZDEoRzkudG9TdHJpbmcoKSxHOS50b1N0cmluZygpLmxlbmd0aCw3Njg2OSkhPT1POSl7dGhpcy54ZS5RdD10O3RoaXMueGUuUz1lO319LFhpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbix1OSx5OSxIOTtuPXR8fHt9O2ZvcihlIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixlKSlzd2l0Y2godGhpcy5tdFtlXT1pPW5bZV0sZSl7Y2FzZSBUcjp0aGlzLm10LkRlPWk7YnJlYWs7Y2FzZSBvaTp0aGlzLm10LlVlPWk7YnJlYWs7Y2FzZSB3dDp0aGlzLm10LlJlPWk7YnJlYWs7Y2FzZSBMcitHcit6ZTp0aGlzLm10Lk9lPWk7YnJlYWs7Y2FzZSBSbitHcitFbjp0aGlzLm10Lk5lPWk7YnJlYWs7Y2FzZSBEdDp0aGlzLm10LkhlPWk7YnJlYWs7Y2FzZSBsYytHcitiYTp0aGlzLnFlW29hXSh0aGlzLGkpO2JyZWFrO2Nhc2UgUm4rR3IrYmE6dGhpcy5KZVtvYV0odGhpcyxpKTticmVhaztjYXNlIFFuOnRoaXMubXQuVmU9aTticmVhaztjYXNlIHcrR3IrVjp0aGlzLm10LiRlPWk7YnJlYWs7Y2FzZSB3K0dyK0RuOnRoaXMubXQuUWU9aTticmVhaztjYXNlIHBuK0dyK3RyK0dyK0xuOnRoaXMubXQuR2U9aTticmVhaztjYXNlIEJzK0dyK2wrR3IrU3M6dGhpcy5tdC4kdD1pO2JyZWFrO2Nhc2UgTnMrR3IrJHI6dGhpcy5tdC5ZZT1pO2JyZWFrO2Nhc2UgSWMrR3IrcGMrR3IrX2k6dGhpcy5tdC5iZT1pO2JyZWFrO2Nhc2UgTHMrR3IrYnQ6dGhpcy5tdC5LZT1pO2JyZWFrO2Nhc2UgQitHcit2ZStHcitfbytHcit5bitHcitMbjp0aGlzLm10LlBlPWk7fXU5PTE1MDY0OTg2ODA7eTk9NjExNzc3ODY1O0g5PTI7Zm9yKHZhciBUOT0xO3c1LkwxKFQ5LnRvU3RyaW5nKCksVDkudG9TdHJpbmcoKS5sZW5ndGgsNjMyMykhPT11OTtUOSsrKXtyZXR1cm4gdGhpcztIOSs9Mjt9aWYodzUuZDEoSDkudG9TdHJpbmcoKSxIOS50b1N0cmluZygpLmxlbmd0aCw2MzczOSkhPT15OSl7cmV0dXJuIHRoaXM7fX0saGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksZzcsTTcsUjc7Zzc9LTM5MDQ0MjA2O003PS0xNjI0Njc4MzI1O1I3PTI7Zm9yKHZhciBKNz0xO3c1LkwxKEo3LnRvU3RyaW5nKCksSjcudG9TdHJpbmcoKS5sZW5ndGgsNTI1MzkpIT09Zzc7SjcrKyl7ZT10aGlzLndlKCk7aT10aGlzLmNpLnVpO1I3Kz0yO31pZih3NS5MMShSNy50b1N0cmluZygpLFI3LnRvU3RyaW5nKCkubGVuZ3RoLDg0NzUzKSE9PU03KXtlPXRoaXMud2UoKTtpPXRoaXMuY2kudWk7fXRyeXsodD1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0oZ3MsZ3UsZ3UseSwxLGlbT2krR3IrVWVdLGlbT2krR3IreG9dLGlbSGMrR3IrVWVdLGlbSGMrR3IreG9dLHl1LHl1LHl1LHl1LDAsbXUpO3RbVW9dPWd1O2VbZ24rR3IrQ2FdKHQpO31jYXRjaCh0KXtLYy5lKHQpO319LFZpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuUGkobzUpO30sU2k6ZnVuY3Rpb24oKXt2YXIgdCxpLG4scixvLHM7cj10aGlzO289NTAwO3M9ZnVuY3Rpb24odCxlKXt2YXIgaSxuO249WGMuYj9lYzpnczsoaT1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0obixndSxndSx5LDEsZVtPaStHcitVZV0sZVtPaStHcit4b10sZVtIYytHcitVZV0sZVtIYytHcit4b10seXUseXUseXUseXUsMCxtdSk7aS5mYz1ndTt0W2duK0dyK0NhXShpKTt9O2l1LlgocmksJHQsZnVuY3Rpb24ocil7dmFyIG8sRjEsZzEsTTE7dzUubzQoNCk7bz1yW3c1LnU0KHNyLEdyLGUpXVswXTtGMT05NTkwNTM3NzY7ZzE9LTE3NzY2NDMwNTc7TTE9Mjtmb3IodmFyIFAxPTE7dzUuZDEoUDEudG9TdHJpbmcoKSxQMS50b1N0cmluZygpLmxlbmd0aCw4NTkzNCkhPT1GMTtQMSsrKXt3NS5vNCgxOCk7dD1yW3c1LnU0KG9zLEpzLEdyKV07dzUuWTQoMTkpO2k9b1t3NS51NChHcixmbyxVZSldO3c1Lm80KDIwKTtuPW9bdzUuYzQoeG8sZm8sR3IpXTtNMSs9Mjt9aWYodzUuTDEoTTEudG9TdHJpbmcoKSxNMS50b1N0cmluZygpLmxlbmd0aCwxMTM5OCkhPT1nMSl7dzUubzQoMjEpO3Q9clt3NS5jNChvcyxKcyxHcildO3c1Llk0KDIyKTtpPW9bdzUuYzQoR3IsVWUsZm8pXTt3NS5vNCg2KTtuPW9bdzUuYzQoR3IseG8sZm8pXTt9dzUubzQoNCk7dD1yW3c1LnU0KG9zLEdyLEpzKV07dzUuWTQoNCk7aT1vW3c1LmM0KGZvLEdyLFVlKV07dzUubzQoNCk7bj1vW3c1LnU0KGZvLEdyLHhvKV07fSxndSk7aXUuWChyaSx2LGZ1bmN0aW9uKGEpe3ZhciBjLHUsaCxTMCxOMCxhMDtTMD0xMTI5ODE1NDEyO04wPS00NTk2NDE3MTE7YTA9Mjtmb3IodmFyIGYwPTE7dzUuZDEoZjAudG9TdHJpbmcoKSxmMC50b1N0cmluZygpLmxlbmd0aCw5MDQxMCkhPT1TMDtmMCsrKXt3NS5vNCg0KTtjPWFbdzUuYzQoc3IsR3IsZSldWzBdO3U9aXUudHQoYSk7aD1yLm10LlllO2EwKz0yO31pZih3NS5MMShhMC50b1N0cmluZygpLGEwLnRvU3RyaW5nKCkubGVuZ3RoLDUxODk1KSE9PU4wKXt3NS5ZNCg2KTtjPWFbdzUudTQoR3IsZSxzcildWzRdO3U9aXUudHQoYSk7aD1yLm10LlllO31kcltGc10oY1tmbytHcitVZV0taSk+PWh8fGRyW0ZzXShjW2ZvK0dyK3hvXS1uKT49aHx8YVtvcytHcitKc10tdD5vfHxyLm10LlllPD0wfHxYYy5odCYmRGlbaXJdKHVbU2MrR3IrbWNdKXx8ci5YZS5paXx8ci5YZS5uaXx8ci5YZS5yaXx8ci5waSgpfHxyLl9pKCl8fCFyLlBpKCl8fCFyLlRpKHUpfHwhci5tdC5OZSYmWmMuUyh1KXx8KHVbU2MrR3IrbWNdPT09T24mJnIuRWUoYSkscyh1LGMpKTt9LGd1KTt9LG1pOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByLG87bz15dTtmb3Iocj0wO3I8dFtwaV07cisrKWlmKHRbcl09PT13dSl7bz1ndTticmVhazt9byYmKGV8fGkpJiYoIXRoaXMuT2koZSx0KXx8IXRoaXMuT2koaSx0KXx8eVtydV1bdW5dJiZ5W3J1XVt1bl1bcGldJiYhdGhpcy5PaShaYy5GKCkseVtydV1bdW5dKSkmJm4oZ3UseXUpO30seGU6e1F0Om11LFM6eXV9LHFlOmZ1bmN0aW9uKCl7dmFyIHQ7dD1aYy54KGFyZ3VtZW50c1swXSk/YXJndW1lbnRzWzBdOmFyZ3VtZW50cztyZXR1cm4gdGhpcy5ubih0LGxjLHRbcGldJiZ0WzBdPT09eXUpO30sd2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBXMSxsMSxjMTtXMT0xMTQ2NjMzOTY5O2wxPTU4MTgzMzU3NjtjMT0yO2Zvcih2YXIgdTE9MTt3NS5kMSh1MS50b1N0cmluZygpLHUxLnRvU3RyaW5nKCkubGVuZ3RoLDY5ODkxKSE9PVcxO3UxKyspe1pjLkcodFtOaV0oR3IrUGUrR3IpKTxlJiZpKGd1LHl1KTtjMSs9Mjt9aWYodzUuZDEoYzEudG9TdHJpbmcoKSxjMS50b1N0cmluZygpLmxlbmd0aCw0ODMyNikhPT1sMSl7WmMuRyh0W05pXShHciVQZSVHcikpPj1lfHxpKGd1LHl1KTt9fSxDaTpmdW5jdGlvbigpe3ZhciByLG8scyxhLGMsdSxoLGYscCxfO2Z1bmN0aW9uIHQoKXt2YXIgdCxlO3c1Lm80KDE3KTtlPVt3NS51NChIbixUdCxHcixFbixHcixDYSxKYSksdzUuYzQoeG4sVHQsR3IsRW4sR3IsQ2EsSmEsdzUubzQoMTcpKSx3NS5jNChKYSxUdCxRYSx3NS5ZNCg0KSksdzUuYzQoQ24sR3IsVXMsbXIsVHQsdzUubzQoMSkpLHc1LnU0KFdlLEdyLHhuLG1yLFR0LHc1Llk0KDEpKV07Zm9yKHQ9MDt0PGVbcGldO3QrKylpZihaYy5sKGVbdF0pKXtyZXR1cm4gS2MuZSh0LFpjLmwoZVt0XSkpLGd1O31yZXR1cm4geXU7fWZ1bmN0aW9uIGkoaSl7dT0yO198fChfPWd1LGlvKGZ1bmN0aW9uKCl7Xz15dTt9LFhjLm90PzUwMDoxNTApLEN1JiYhcC5VZXx8KHI9aXUudHQoaSksbz1aYy5CKHIsT24pLGM9WmMuUyhyKSxyW2FhK0dyK0dpXShsbyk9PT1mdT8oclt4ZV1beHRdPVhpLFpjLlAocikscj1pdS50dChpLGd1KSk6byYmKHM9KHI9bylbYWErR3IrR2ldKFRpKSxhPVpjLk4ociksYz1aYy5TKHIpKSxmLkVpKHIsYyksZi5YZS5paXx8Zi5YZS5uaXx8Zi5YZS5yaXx8aVtVb118fGUoZi5jaS51aVtPXSYmZi5jaS51aVtPXSE9PWlbT10pfHxlKHAuS2UmJiFFdSl8fGUoIWlbSGMrR3IrVWVdJiYhaVtIYytHcit4b10pfHxlKCFYYy5vdCYmIVhjLmcmJnR5cGVvZiBpW3F0XSE9PWdlJiYwIT09aVtxdF0pfHxlKCFYYy5vdCYmIWYuWmUmJihYYy5jdHx8WGMuYnx8WGMudXQpKXx8ZSghWGMub3QmJiFwLkdlJiYoWGMuYnx8WGMudXQpJiZzPT09RmkpfHxlKGYucGkoKSl8fGUoZi5faSgpKXx8ZSghZi5QaSgpKXx8ZSghZi5UaShyKSl8fGUoYyYmIXAuTmUpfHxlKCFwLlJlJiZ0KCkpfHwoZi5BaShpKSxYYy5ldCYmbyYmYSYmZi5FZShpKSxYYy5vdHx8IW98fGN8fChYYy5iJiZzIT09RmkmJlpjLlkoKXx8cC5HZSYmcz09PUZpJiYoWGMuYnx8WGMudXQpKSYmZi5FZShpKSxmLkZpPW11LGYuaGkoKSkpKTt9Zj10aGlzO3A9Zi5tdDtfPXl1O2Z1bmN0aW9uIGUodCl7cmV0dXJuKyt1LHQmJktjLmUodSksdDt9cC5SZXx8IXQoKT8oaD1YYy5kfHxYYy5nP3FhOmVjLGZ1bmN0aW9uKCl7aXUuWChyaSxncyxpLGd1KTtYYy5vdD8oaXUuWChyaSxlYyxuLGd1KSxpdS5YKHJpLHFhLG4sZ3UpKTppdS5YKHJpLGgsbixndSk7fSgpLHRoaXMuU2koKSx0aGlzLmppKCksdGhpcy5MaSgpLHRoaXMuemkoKSx0aGlzLkJpKCkpOktjLmUoeXUpO2Z1bmN0aW9uIG4odCl7cj1vPWM9cz1hPW11OyFYYy5vdCYmdFtIYytHcitVZV0rKFhjLm50PzE3OjE1KT55W1BhK0dyK2ddP3AuUWUmJigocj17fSkuc2Nyb2xsYmFyPWd1LGYuRWkocix5dSksZi5waSgpfHxmLl9pKCl8fCFmLlBpKCl8fGYuaGkoKSk6aSh0KTt9fSxsaTpmdW5jdGlvbih0KXtpZih0aGlzLlhlLmlpfHx0aGlzLlhlLm5pfHx0aGlzLlhlLnJpKXtyZXR1cm4geXU7fXN3aXRjaCh0Lnl0KXtjYXNlIF91Om5ldyBRYy5tZSh0KS5wZSgpO2JyZWFrO2Nhc2UgZHU6bmV3IFFjLmdlKHQpLnBlKCk7YnJlYWs7Y2FzZSBsdTpuZXcgUWMueWUodCkucGUoKTticmVhaztjYXNlIHB1OnRyeXtuZXcoUWMuZHQoKSkodCkucGUoKTt9Y2F0Y2godCl7S2MuZSh0KTt9fXJldHVybiB0LnF0KCksZ3U7fSxqaTpmdW5jdGlvbigpe3ZhciB0LGUsaSxuLHIsbztuPXRoaXM7cj17fTtvPWZ1bmN0aW9uKHQpe2ZvcihlPTA7ZTx0W3BpXTtlKyspe24uTWkodFtlXSk7fX07Q28oZnVuY3Rpb24oKXt2YXIgZTtmb3IodD0wO3Q8bi5tdC4kZVtwaV07dCsrKXtpZihlPW4ubXQuJGVbdF0sKGk9cmlbYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGUpKVtwaV0mJm4ucGkoKXx8IW4uUGkoKSl7cmV0dXJuO310eXBlb2YgcltlXSE9PWdlJiZyW2VdPT09aVtwaV18fG8oaSk7fX0sMWUzKTt9LElpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbixyLG8scyxlOSxqOSxaOTtvPTI7cz15dTtmb3IoZT0wO2U8PW87ZSsrKXtpZigobj1yaVt3citHcitqbitHcitMY10odFtIYytHcitVZV0rZSx0W0hjK0dyK3hvXSkpJiZuW1NjK0dyK21jXT09PXBhK0dyK09uK0dyK0ZjK0dyK1BzK0dyK3BhKXtzPWd1O2JyZWFrO31mb3IoaT0wO2k8PW87aSsrKWlmKChuPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXStlLHRbSGMrR3IreG9dK2kpKSYmbltTYytHcittY109PT1wYStHcitPbitHcitGYytHcitQcytHcitwYSl7cz1ndTticmVhazt9aWYocylicmVhazt9aWYocylmb3Iocz15dSxyPW5bYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGVpKSxlPTA7ZTxyW3BpXTtlKyspaWYoWmMuVShyW2VdKSl7cz1ndTticmVhazt9ZTk9MTI0NjQ2Mzc5O2o5PTE4ODY4MTA5NztaOT0yO2Zvcih2YXIgVTk9MTt3NS5MMShVOS50b1N0cmluZygpLFU5LnRvU3RyaW5nKCkubGVuZ3RoLDU5MDM1KSE9PWU5O1U5Kyspe3JldHVybiBzP246eXU7WjkrPTI7fWlmKHc1LmQxKFo5LnRvU3RyaW5nKCksWjkudG9TdHJpbmcoKS5sZW5ndGgsNDQ5MzkpIT09ajkpe3JldHVybiBzP246eXU7fX0sRGk6ZnVuY3Rpb24oKXtpZighdGhpcy5YZS5laSl7dGhpcy5YZS5laT1ndTt0cnl7dGhpcy52aSgpO3RoaXMuYmkoKTt9Y2F0Y2godCl7fUtjLmUoW3RoaXMuWGUubmk/MDoxLHRoaXMuWGUucmk/MDoxLHRoaXMuWGUueGldW05pXShHcikpO319LFhlOnt0aTp5dSxuaTpndSxlaTp5dSxvaTowLHJpOmd1LHNpOjAsaWk6eXV9LG5uOmZ1bmN0aW9uKHQsZSxpKXtmb3IodmFyIG4scj0wLG89ZT09PVJuP3RoaXMubXQuSmU6dGhpcy5tdC5xZTtpJiZvW3BpXTspe29bQnNdKCk7fWZvcig7cjx0W3BpXTtyKyspe3R5cGVvZihuPXRbcl0pPT09VGM/b1tNcl0obik6dHlwZW9mIG49PT1hciYmdHlwZW9mIG5bd2ErR3IrbWNdPT09VGMmJm9bTXJdKG4pO31yZXR1cm4gdGhpczt9LEppOmZ1bmN0aW9uKCl7dmFyIHkxLEgxLHYxLHQsZTt5MT0xNzAzNzYyNDUyO0gxPTEyMTk1OTkwMzk7djE9Mjtmb3IodmFyIEUxPTE7dzUuZDEoRTEudG9TdHJpbmcoKSxFMS50b1N0cmluZygpLmxlbmd0aCwzODk3NykhPT15MTtFMSsrKXtlPTY7Zm9yKHRoaXMuZmk9W107ZT49dGhpcy5XZVtwaV07ZS0tKXsodD10aGlzLldlW2VdKS5MdCgpfHx0aGlzLmZpW01yXSh0KTt9djErPTI7fWlmKHc1LmQxKHYxLnRvU3RyaW5nKCksdjEudG9TdHJpbmcoKS5sZW5ndGgsMjE2MzkpIT09SDEpe2U9MTtmb3IodGhpcy5maT1bXTtlPnRoaXMuV2VbcGldO2UrKyl7KHQ9dGhpcy5XZVtlXSkuTHQoKSYmdGhpcy5maVtNcl0odCk7fX1lPTA7Zm9yKHRoaXMuZmk9W107ZTx0aGlzLldlW3BpXTtlKyspeyh0PXRoaXMuV2VbZV0pLkx0KCkmJnRoaXMuZmlbTXJdKHQpO31yZXR1cm4gdGhpcy5maTt9LGRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2kudWk7fX07aXUuWCh5LFN0LGZ1bmN0aW9uKCl7dmFyIFg3LEI3LFM3O1g3PTIwMTA5MDA5MDY7Qjc9LTE2OTQwNjQ1NTI7Uzc9Mjtmb3IodmFyIGE3PTE7dzUuTDEoYTcudG9TdHJpbmcoKSxhNy50b1N0cmluZygpLmxlbmd0aCwxNDk3OSkhPT1YNzthNysrKXtFdT0hMTtTNys9Mjt9aWYodzUuZDEoUzcudG9TdHJpbmcoKSxTNy50b1N0cmluZygpLmxlbmd0aCw2MjI0OCkhPT1CNyl7RXU9IXt9O31FdT1vNTt9KTtpbyhmdW5jdGlvbigpe3c1Lm80KDE1KTtLYy5lKHc1LnU0KFNpLFllLEdyLFR0LFllLE0sR3IsWWUsUWUsT3QsQW8pKTt3NS5vNCg0KTtLYy5lKHc1LmM0KHhhLFZ0LEdyKSxvdSk7dzUuWTQoNCk7S2MuZSh3NS5jNChxaSxWdCxHciksc3UpO3c1Lm80KDQpO0tjLmUodzUudTQoRXMsVnQsR3IpLGF1KTt9LDEwKTt5W3J1XT15W3J1XXx8ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG87cj17fTtvPVpjLnAoW1trbytHcitSYStHcitudCxbR2MsR2MuaV1dLFtKbixzdV0sW0d0LG91XSxbWW8rR3IraXMsYXVdLFt6YSxbR2MsR2MuWGkscl1dLFthYStHcitJaSxbR2MsR2MuWmldXSxbYWErR3IrUStHcitiYSxbR2MsR2MuWWldXSxbYWErR3IrX28rR3IrYmEsW0djLEdjLktpXV0sW3crR3IrQ24sW0djLEdjLk1pXV0sW0huLFtHYyxHYy5lbixyXV0sW0duLFtHYyxHYy5oaSxyXV0sW2VzLFtHYyxHYy5HaSxyXV0sW2xjK0dyK2JhLFtHYyxHYy5xZSxyXV0sW1JuK0dyK2JhLFtHYyxHYy5KZSxyXV0sW2FhK0dyK2h0K0dyK0NuLFtHYyxHYy53ZV1dLFthYStHcitubitHcitabyxbR2MsR2MuJGldXSxbYWErR3IreWUrR3IrWm8sW0djLEdjLlZpXV0sW0JhK0dyK3llLFtHYyxHYy5QaV1dLFtrbytHcitkdCtHcitKZSxbR2MsR2MucGldXSxbYWErR3IrVXQrR3IramUrR3IrQmksW0djLEdjLlFpXV0sW2FhK0dyK1V0K0dyK0NhLFtHYyxHYy5kaV1dLFt6aSxbR2MsR2MuTmldXSxbYWErR3IrXyxbR2MsR2MuVWldXSxbRm8rR3IrXyxbR2MsR2MuUmldXSxbaGErVHQrT28sW0tjLEtjLmVdXSxbaGErVHQrRyxbS2MsS2Mucl1dLFtPYStUdCtsaSxbdHUsdHUuYV1dLFtPYStUdCthYSxbdHUsdHUuY11dLFtPYStUdCt4bixbdHUsdHUudV1dLFt0aStUdCtrbytHcitkaSxbZXUsZXUuc11dLFt0aStUdCtsaSxbZXUsZXUuYV1dLFt0aStUdCthYSxbZXUsZXUuY11dLFt0aStUdCt4bixbZXUsZXUudV1dLFtjZStUdCtKbixYYy5wdF0sW2NlK1R0K0lyK0dyK3FpLFhjLmZ0XSxbY2UrVHQra28rR3IrQ3MsWGMuaXRdLFtjZStUdCtrbytHcitYbyxYYy5udF0sW2NlK1R0K2tvK0dyK01hLFhjLm1dLFtjZStUdCtrbytHcit2YStHcitmYytHcit0YyxYYy5ldF0sW2NlK1R0K2tvK0dyK0JuLFhjLnJ0XSxbY2UrVHQra28rR3Irdm4sWGMub3RdLFtjZStUdCtrbytHcitoZSxYYy5zdF0sW2NlK1R0K2tvK0dyK3l0LFhjLmF0XSxbY2UrVHQra28rR3IrZ2MsWGMuYl0sW2NlK1R0K2tvK0dyK0luLFhjLmRdLFtjZStUdCtrbytHcitGYSxYYy5odF0sW2NlK1R0K2tvK0dyK3ZhK0dyK1BzLFhjLmddLFtjZStUdCtrbytHcitjcyxYYy5jdF0sW2NlK1R0K2tvK0dyK0VvLFhjLnV0XSxbY2UrVHQrSm4rR3IrdXQsW1hjLFhjLkpdXSxbY2UrVHQrYW8rR3IrZGksW1hjLFhjLmx0XV0sW0NhK1R0K2xjK0dyK3FzLFtpdSxpdS5LXV0sW0NhK1R0K2xjLFtpdSxpdS5YXV0sW0NhK1R0K2xhLFtpdSxpdS5aXV0sW0NhK1R0K2FhK0dyK3luLFtpdSxpdS50dF1dLFtLZStUdCtrbytHcit2ZStHciskZSxbWmMsWmMud11dLFtLZStUdCtKbitHcit1dCxbWmMsWmMuSl1dLFtLZStUdCtvcyxbWmMsWmMuR11dLFtLZStUdCt3byxbWmMsWmMueV1dLFtLZStUdCtKaSxbWmMsWmMuJF1dLFtLZStUdCtVcytHcitDbixbWmMsWmMuel1dLFtLZStUdCt4bitHcitDbixbWmMsWmMuUF1dLFtLZStUdCthYStHcitVaSxbWmMsWmMuQl1dLFtLZStUdCtEZStHcitZaSxbWmMsWmMuSF1dXSk7Zm9yKGUgaW4gbylpZih5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShvLGUpKXtmb3Iobj1lW0NyXShHcitUdCtHciksdD1yLGk9MDtpPG5bcGldLTE7aSsrKXt0eXBlb2YgdFtuW2ldXT09PWdlJiYodFtuW2ldXT17fSk7dD10W25baV1dO310W25bbltwaV0tMV1dPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIFpjLngodFtlXSk/MT09PXRbZV1bcGldP3RbZV1bMF06ZnVuY3Rpb24oKXtyZXR1cm4gMj09PXRbZV1bcGldP3RbZV1bMV1bb2FdKHRbZV1bMF0sYXJndW1lbnRzKToodFtlXVsxXVtvYV0odFtlXVswXSxhcmd1bWVudHMpLHRbZV1bMl0pO306dFtlXTt9KG8sZSk7fXJldHVybiByO30oKTt9KHQucG9wbnN8fHpjK0dyK1VjK0dyK09jLHQsdFtFaV0sdFtPaV0sdFttcl0sdFtyb10sdFtibl0sdFtObl0sdFtDb10sdFtyaStHcitpb10sdFtsaStHcitZaV0sdFtNaStHcitZaV0sdFtsaStHcitBaV0sdFtNaStHcitBaV0sdFtMdCtHcit0YytHcitmYytHcitndF0sdFt5K0dyK1J0XSx0W2tvK0dyK3lpK0dyK2d0XSx0W2lzXSx0W1hlK0dyK1ZyK0dyK0dzK0dyK3ZhK0dyK1VyXSx0W2RyXSk7fSh3aW5kb3cpO2Y1eXkuSD1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC55PT09J2Z1bmN0aW9uJz9mNXl5LkwueS5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwueTt9O2Y1eXkuVz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Y1eXkuZz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC5PPT09J2Z1bmN0aW9uJz9mNXl5LkwuTy5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwuTzt9O2Y1eXkuZj1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Z1bmN0aW9uIGY1eXkoKXt9ZjV5eS5CPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5MLnk9PT0nZnVuY3Rpb24nP2Y1eXkuTC55LmFwcGx5KGY1eXkuTCxhcmd1bWVudHMpOmY1eXkuTC55O307ZjV5eS5SPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5JPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5MPWZ1bmN0aW9uKEQpe3JldHVybnt5OmZ1bmN0aW9uKCl7dmFyIEcsZD1hcmd1bWVudHM7c3dpdGNoKEQpe2Nhc2UgMjpHPWRbMF0qZFsxXTticmVhaztjYXNlIDA6Rz1kWzBdfGRbMV07YnJlYWs7Y2FzZSAxOkc9ZFsxXS1kWzBdO2JyZWFrO31yZXR1cm4gRzt9LE86ZnVuY3Rpb24oVil7RD1WO319O30oKTtmNXl5Lno9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiBmNXl5LkwuTz09PSdmdW5jdGlvbic/ZjV5eS5MLk8uYXBwbHkoZjV5eS5MLGFyZ3VtZW50cyk6ZjV5eS5MLk87fTtmNXl5LkM9ZnVuY3Rpb24oKXt2YXIgUT0yO3doaWxlKFEhPT0xKXtzd2l0Y2goUSl7Y2FzZSAyOnJldHVybnt2OmZ1bmN0aW9uKFUpe3ZhciBiPTI7d2hpbGUoYiE9PTE0KXtzd2l0Y2goYil7Y2FzZSAyOnZhciBLPScnLGw9ZGVjb2RlVVJJKCJ0JTExa2JsYyU3RCUwNmhiZGxtbDYhJTNDJTNDKyU1QmNkLTo1JTVENyg4Jy8lNUJ3LzI4bWolM0M4KTA3YiolMUMyJTI1bSUwN3ElN0RvYmslMTh3JTdDc2RtaDcpKSUyMipaMmQlMTgtNUErKS5vbXMlMTUlMjUlM0UwKyU1QiUzQyUxMXUlMjA2TXk/KScsSy1kJTNFOSxLMi00OyUyMCUwNjojMCU3RDUlNUM6IzMya0s2IXU5Kks4JTIwNTo2JTVDcSUxRiUzRScsWC1sMCUyMDYlNUN5Ljh1KUc4KDgxZUolM0MqMiclMjAlMDg1JTI1JTNFMCslNUIlM0NsOyUzQylNcWIxOiZJNSIpO2I9MTticmVhaztjYXNlIDk6Sys9U3RyaW5nLmZyb21DaGFyQ29kZShsLmNoYXJDb2RlQXQoWSleVS5jaGFyQ29kZUF0KGspKTtiPTg7YnJlYWs7Y2FzZSAxOnZhciBZPTAsaz0wO2I9NTticmVhaztjYXNlIDU6Yj1ZPGwubGVuZ3RoPzQ6NzticmVhaztjYXNlIDM6az0wO2I9OTticmVhaztjYXNlIDg6WSsrLGsrKztiPTU7YnJlYWs7Y2FzZSA0OmI9az09PVUubGVuZ3RoPzM6OTticmVhaztjYXNlIDc6Sz1LLnNwbGl0KCcoJyk7cmV0dXJuIGZ1bmN0aW9uKFApe3ZhciBoPTI7d2hpbGUoaCE9PTEpe3N3aXRjaChoKXtjYXNlIDI6cmV0dXJuIEtbUF07YnJlYWs7fX19O2JyZWFrO319fSgnRShZTF1VJyl9O2JyZWFrO319fSgpOyFmdW5jdGlvbihlLG8sYyl7InVzZSBzdHJpY3QiO3ZhciBUPWY1eXk7dmFyIGksbix0O1QuZygwKTtpPVQuUihULkgoIjgiLDApKTtULnooMCk7bj1bVC5JKFQuSCgnXHgzMVx4MzAnLDApKSxULkkoKyI2IiksVC5SKCsnXHgzMVx4MzQnKSxULlIoKyIxMiIpLFQuUihULkgoIjUiLDAsVC5nKDApKSksVC5JKFQuQigwLCdceDMwJyxULnooMSkpKSxULlIoVC5CKCdceDMxXHgzMScsMCxULnooMCkpKSxULkkoKyIyIildO1QuZygyKTt0PVsrJ1x4MzJceDMwXHgzMVx4MzknLFQuQignXHUwMDM1JywxKSxULkgoJ1x4MzFceDM2JywwLFQuZygwKSldO3RyeXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yy5Mb2dnZXIubG9nKGksVC5SKCsnXHgzMScpLG4pO2MuTG9nZ2VyLmxvZyhpLFQuUigiNyItMCksdC5qb2luKFQuSSgnXHgzNCctMCkpKTt9LCsiNTAwIik7VC56KDEpO2Mub2JqZWN0PVtuLFsrIjM2MCIsNDk0LDM5MSwrIjMxMiIsVC5CKDAsIjMxMiIpLFQuSCgiMzY1IiwwLFQuZygwKSksKydceDM0XHgzMFx4MzQnLFQuSCgiMzAwIiwwLFQuZygwKSksKydceDMzXHgzNlx4MzBceDMwXHgzMScsVC5IKDAsJ1x4MzNceDM5XHgzNVx4MzJceDMyJyxULmcoMSkpLFQuQigiMTg3NzEiLDAsVC56KDApKSwrIjM0OTQ4IiwxNjU0MSwyOTU3MSwrJ1x4MzVceDMxXHgzN1x4MzFceDM5JywzMzkwOCxULkgoIjc4ODQwIiwwLFQuZygwKSksMTA1OTY0LCsnXHgzOFx4MzRceDM1XHgzNVx4MzUnLFQuSCgiNzI0MjYiLDAsVC5nKDApKSxULkgoJ1x4MzNceDMwXHgzNVx4MzlceDM5JywwLFQuZygwKSksVC5CKCdcdTAwMzRcdTAwMzFcdTAwMzZcdTAwMzJcdTAwMzYnLDAsVC5nKDApKSxULkIoMCwnXHUwMDM4XHUwMDM4XHUwMDMwXHUwMDM4XHUwMDM0JyxULnooMSkpLFQuSCgiNjU0MDkiLDEsVC5nKDIpKSwxNDQwMCxULkgoIjEyODQ0IiwxLFQueigyKSksKydceDM4XHgzNlx4MzBceDMyJyxULkgoJ1x4MzFceDMwXHgzOVx4MzJceDMwJywxLFQuZygyKSksMTM0MTYsVC5IKCdceDMyXHgzNFx4MzhceDMyXHgzMCcsMCxULmcoMCkpLFQuQignXHgzM1x4MzdceDM5XHgzN1x4MzYnLDAsVC56KDApKSwrJ1x4MzVceDMxXHg2NVx4MzMnXSx0LFtULkgoJ1x4MzNceDM2XHgzMicsMCxULmcoMCkpLDQ5NiwrJ1x4MzNceDM5XHgzOScsVC5IKDAsIjczMDkyMyIsVC5nKDEpKSwrJ1x1MDAzMlx1MDAzNVx1MDAzMVx1MDAzMicsVC5IKCI2Mzk4IiwwLFQueigwKSksVC5IKCdcdTAwMzRcdTAwMzFcdTAwMzFcdTAwMzlcdTAwMzFcdTAwMzJcdTAwMzInLDEsVC5nKDIpKSwrJ1x4MzFceDMxXHgzMVx4MzlceDMyJyxULkgoJ1x4MzNceDM0XHgzMlx4MzNceDM2JywwLFQueigwKSksMjQ2MSwzMjU1NywxMDIxMF0sby5jdXJyZW50U2NyaXB0LFQuSCgiMSIsMSxULmcoMikpXTt9Y2F0Y2gobyl7dm9pZCgnXHgzMCcqMSkhPT1lLmNvbnNvbGUmJmUuY29uc29sZS5sb2cmJkZ1bmN0aW9uLmFwcGx5LmNhbGwoZS5jb25zb2xlLmxvZyxlLmNvbnNvbGUsW1QuSSgnXHgzMVx4MzMnfDApXSk7fX0od2luZG93LGRvY3VtZW50LHdpbmRvd1t3aW5kb3cucG9wbnN8fGY1eXkuUigiMyItMCldKTt2YXIgXzB4MTM4Zj1bJ1x4NThceDQ4XHg2M1x4NzInLCdceDQ5XHg1NFx4NDVceDZmXHg2NFx4NDNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NmNceDUwXHg1NFx4NDVceDZmXHg1YVx4NTNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NzVceDUwXHg1OFx4NTFceDc1XHg2Mlx4NzlceDY3XHg2OVx4NjJceDUzXHg0OVx4NzBceDRmXHg3YVx4NTlceDY3XHg2Mlx4NjlceDM0XHg3OVx4NGNceDZkXHg3N1x4MzlceDQ5XHg2ZFx4NzNceDY5XHg0Y1x4NDdceDM0XHg3NVx4NGRceDY5XHgzNVx4NzdceDUwXHg1NFx4NDFceDczXHg2Mlx4NjlceDM0XHg3OVx4NGNceDZlXHg0NVx4MzlceDRkXHg0M1x4NzhceDc1XHg0Y1x4NmFceDQ5XHg3NVx4NjRceDdhXHgzMFx4NjlceDYxXHg2OVx4NDlceDczXHg2Mlx4NjlceDM1XHgzMVx4NTBceDUzXHg0OVx4MzNceDRmXHg2OVx4MzhceDc2XHg2M1x4NjlceDM1XHgzNFx4NGNceDZhXHg1NVx4NzZceDYxXHg0M1x4MzlceDY4XHg0Y1x4NzlceDQ5XHg3Mlx4NWFceDUzXHg3OFx4MzBceDRjXHg2ZFx4NDlceDc1XHg2MVx4NTNceDY4XHg3NVx4NGJceDUzXHg3OFx4NzVceDY2XHg1M1x4NzhceDc1XHg1MFx4NTdceDRkXHg2Zlx4NWFceDc5XHg2N1x4NmZceDY0XHg0M1x4MzVceDZiXHg0Y1x4NmVceDU5XHg2Zlx4NTFceDY5XHg0Mlx4NGZceDRiXHg0M1x4NDlceDZmXHg0ZVx4N2FceDM5XHgzOFx4NTNceDY5XHgzMVx4MzVceDRiXHg1NFx4NzBceDYzXHg1OFx4NDNceDM5XHg2M1x4NThceDQzXHgzOFx4NjlceDRiXHg1M1x4NzdceDY5XHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDRjXHg3OVx4NDlceDcwXHg1N1x4N2FceDQyXHg2NFx4NjZceDQ4XHg3N1x4NjlceDUzXHg3OVx4MzRceDMxXHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDQ5XHg2OVx4NmJceDc1XHg1NFx4NDNceDY3XHg3OFx4NGJceDQ4XHg1MVx4NzBceDY1XHg3YVx4NTlceDY3XHg2NFx4NDNceDM1XHg0ZVx4NGJceDQ0XHg0MVx4NzBceDRjXHg2Ylx4NjNceDZmXHg1M1x4NDNceDZjXHgzOVx4NGJceDUzXHgzNVx4NDJceDRiXHg0M1x4NDlceDY5XHg0Ylx4NTNceDZiXHg3MFx4NGZceDMzXHg2Zlx4NzVceDRlXHg0M1x4NjdceDY5XHg1MVx4NzlceDQ5XHg3M1x4NGRceDUzXHg2N1x4NzBceDY1XHgzMlx4NTVceDZmXHg2Mlx4NjlceDczXHg2OVx4NGNceDMyXHg1OVx4NzVceDRmXHg1M1x4NDlceDcwXHg0Y1x4NmFceDUxXHg2Zlx4NDlceDZiXHg1MVx4NjlceDRjXHg0NFx4NDVceDZmXHg0Ylx4NThceDc0XHg0N1x4NGJceDQ0XHg0NVx4NmZceDRiXHg1OFx4NzRceDZjXHg0Ylx4NDdceDM0XHg3Mlx4NDlceDY5XHgzOVx4N2FceDRjXHg2YVx4NmJceDY5XHg0Ylx4NThceDMwXHg3M1x4NTJceDUzXHg2Y1x4MzlceDRiXHg1OFx4MzBceDcwXHg2Nlx4NTNceDY4XHg0YVx4NGJceDU0XHg3M1x4M2QnLCdceDYzXHgzM1x4NDJceDczXHg2MVx4NThceDUxXHgzZCcsJ1x4NWFceDZlXHg0YVx4NzZceDYyXHg1NVx4NGVceDZmXHg1OVx4NThceDRhXHg0NFx4NjJceDMyXHg1Mlx4NmMnLCdceDY0XHg0N1x4MzlceDU0XHg2NFx4NDhceDRhXHg3MFx4NjJceDZkXHg2M1x4M2QnLCdceDYzXHg2ZFx4NTZceDc3XHg2Mlx4NDdceDQ2XHg2YVx4NWFceDUxXHgzZFx4M2QnXTsoZnVuY3Rpb24oXzB4MWI1OWFjLF8weDMwZDYwNSl7dmFyIF8weDQ0NTljOT1mdW5jdGlvbihfMHgxNDY4YWMpe3doaWxlKC0tXzB4MTQ2OGFjKXtfMHgxYjU5YWNbJ3B1c2gnXShfMHgxYjU5YWNbJ3NoaWZ0J10oKSk7fX07XzB4NDQ1OWM5KCsrXzB4MzBkNjA1KTt9KF8weDEzOGYsMHgxMGIpKTt2YXIgXzB4MTdjMT1mdW5jdGlvbihfMHgxOTc3ZGIsXzB4Yzc5ZjY5KXtfMHgxOTc3ZGI9XzB4MTk3N2RiLTB4MDt2YXIgXzB4MTYyZGYyPV8weDEzOGZbXzB4MTk3N2RiXTtpZihfMHgxN2MxWydPTXJTcXgnXT09PXVuZGVmaW5lZCl7KGZ1bmN0aW9uKCl7dmFyIF8weDI0NzE2Njt0cnl7dmFyIF8weDViZDYyOT1GdW5jdGlvbigncmV0dXJuXHgyMChmdW5jdGlvbigpXHgyMCcrJ3t9LmNvbnN0cnVjdG9yKFx4MjJyZXR1cm5ceDIwdGhpc1x4MjIpKFx4MjApJysnKTsnKTtfMHgyNDcxNjY9XzB4NWJkNjI5KCk7fWNhdGNoKF8weDMyOTViMCl7XzB4MjQ3MTY2PXdpbmRvdzt9dmFyIF8weDI4M2NlOT0nQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0nO18weDI0NzE2NlsnYXRvYiddfHwoXzB4MjQ3MTY2WydhdG9iJ109ZnVuY3Rpb24oXzB4MzQxYjE5KXt2YXIgXzB4MTQ0Zjk2PVN0cmluZyhfMHgzNDFiMTkpWydyZXBsYWNlJ10oLz0rJC8sJycpO2Zvcih2YXIgXzB4MjhhNzVlPTB4MCxfMHg1OWNiNWIsXzB4MWUwOTNkLF8weDUxZWZhNj0weDAsXzB4OTIyYWFjPScnO18weDFlMDkzZD1fMHgxNDRmOTZbJ2NoYXJBdCddKF8weDUxZWZhNisrKTt+XzB4MWUwOTNkJiYoXzB4NTljYjViPV8weDI4YTc1ZSUweDQ/XzB4NTljYjViKjB4NDArXzB4MWUwOTNkOl8weDFlMDkzZCxfMHgyOGE3NWUrKyUweDQpP18weDkyMmFhYys9U3RyaW5nWydmcm9tQ2hhckNvZGUnXSgweGZmJl8weDU5Y2I1Yj4+KC0weDIqXzB4MjhhNzVlJjB4NikpOjB4MCl7XzB4MWUwOTNkPV8weDI4M2NlOVsnaW5kZXhPZiddKF8weDFlMDkzZCk7fXJldHVybiBfMHg5MjJhYWM7fSk7fSgpKTtfMHgxN2MxWyd4anFrREYnXT1mdW5jdGlvbihfMHgzMzc3MTgpe3ZhciBfMHg1ZGRiMTU9YXRvYihfMHgzMzc3MTgpO3ZhciBfMHg1NjBiOTU9W107Zm9yKHZhciBfMHhjOTdmOTE9MHgwLF8weDQ0MTg3Mj1fMHg1ZGRiMTVbJ2xlbmd0aCddO18weGM5N2Y5MTxfMHg0NDE4NzI7XzB4Yzk3ZjkxKyspe18weDU2MGI5NSs9JyUnKygnMDAnK18weDVkZGIxNVsnY2hhckNvZGVBdCddKF8weGM5N2Y5MSlbJ3RvU3RyaW5nJ10oMHgxMCkpWydzbGljZSddKC0weDIpO31yZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KF8weDU2MGI5NSk7fTtfMHgxN2MxWydrRG1IU2snXT17fTtfMHgxN2MxWydPTXJTcXgnXT0hIVtdO312YXIgXzB4MzA2NDA1PV8weDE3YzFbJ2tEbUhTayddW18weDE5NzdkYl07aWYoXzB4MzA2NDA1PT09dW5kZWZpbmVkKXtfMHgxNjJkZjI9XzB4MTdjMVsneGpxa0RGJ10oXzB4MTYyZGYyKTtfMHgxN2MxWydrRG1IU2snXVtfMHgxOTc3ZGJdPV8weDE2MmRmMjt9ZWxzZXtfMHgxNjJkZjI9XzB4MzA2NDA1O31yZXR1cm4gXzB4MTYyZGYyO307ZXZhbChmdW5jdGlvbihfMHg0OWIyZTksXzB4MTA2OTM1LF8weDIyM2Q1NixfMHgyZmY2ZTksXzB4ZWQ3ZDI2LF8weDNiYzUwMCl7XzB4ZWQ3ZDI2PWZ1bmN0aW9uKF8weDI2YmI4Mil7cmV0dXJuKF8weDI2YmI4MjxfMHgxMDY5MzU/Jyc6XzB4ZWQ3ZDI2KHBhcnNlSW50KF8weDI2YmI4Mi9fMHgxMDY5MzUpKSkrKChfMHgyNmJiODI9XzB4MjZiYjgyJV8weDEwNjkzNSk+MHgyMz9TdHJpbmdbXzB4MTdjMSgnMHgwJyldKF8weDI2YmI4MisweDFkKTpfMHgyNmJiODJbXzB4MTdjMSgnMHgxJyldKDB4MjQpKTt9O2lmKCEnJ1tfMHgxN2MxKCcweDInKV0oL14vLFN0cmluZykpe3doaWxlKF8weDIyM2Q1Ni0tKXtfMHgzYmM1MDBbXzB4ZWQ3ZDI2KF8weDIyM2Q1NildPV8weDJmZjZlOVtfMHgyMjNkNTZdfHxfMHhlZDdkMjYoXzB4MjIzZDU2KTt9XzB4MmZmNmU5PVtmdW5jdGlvbihfMHgzMjA3ZjYpe3JldHVybiBfMHgzYmM1MDBbXzB4MzIwN2Y2XTt9XTtfMHhlZDdkMjY9ZnVuY3Rpb24oKXtyZXR1cm4gXzB4MTdjMSgnMHgzJyk7fTtfMHgyMjNkNTY9MHgxO307d2hpbGUoXzB4MjIzZDU2LS0pe2lmKF8weDJmZjZlOVtfMHgyMjNkNTZdKXtfMHg0OWIyZTk9XzB4NDliMmU5W18weDE3YzEoJzB4MicpXShuZXcgUmVnRXhwKCdceDVjXHg2MicrXzB4ZWQ3ZDI2KF8weDIyM2Q1NikrJ1x4NWNceDYyJywnXHg2NycpLF8weDJmZjZlOVtfMHgyMjNkNTZdKTt9fXJldHVybiBfMHg0OWIyZTk7fShfMHgxN2MxKCcweDQnKSwweDMyLDB4MzIsJ1x4N2NceDY2XHg3NVx4NmVceDYzXHg3NFx4NjlceDZmXHg2ZVx4N2NceDczXHg3NFx4NzlceDZjXHg2NVx4N2NceDczXHg3MFx4NmNceDY5XHg3NFx4N2NceDYxXHg2NFx4NjRceDQ1XHg3Nlx4NjVceDZlXHg3NFx4NGNceDY5XHg3M1x4NzRceDY1XHg2ZVx4NjVceDcyXHg3Y1x4NjNceDZmXHg2ZFx4N2NceDcyXHg2NVx4NzRceDc1XHg3Mlx4NmVceDdjXHg2OFx4NzRceDc0XHg3MFx4NzNceDdjXHg3Nlx4NjFceDcyXHg3Y1x4NzBceDZlXHg2N1x4N2NceDcwXHg3NFx4N2NceDYyXHg2Zlx4NjRceDc5XHg3Y1x4NjVceDZlXHg2M1x4NmZceDY0XHg2NVx4NTVceDUyXHg0OVx4NDNceDZmXHg2ZFx4NzBceDZmXHg2ZVx4NjVceDZlXHg3NFx4N2NceDcyXHg2NVx4NjZceDY1XHg3Mlx4NzJceDY1XHg3Mlx4N2NceDdjXHg3Y1x4NjJceDc0XHg2Zlx4NjFceDdjXHg3Nlx4MzFceDdjXHg2MVx4NzBceDcwXHg2NVx4NmVceDY0XHg0M1x4NjhceDY5XHg2Y1x4NjRceDdjXHg2ZVx4NmZceDZlXHg2NVx4N2NceDYxXHg2Mlx4NzNceDZmXHg2Y1x4NzVceDc0XHg2NVx4N2NceDcwXHg2Zlx4NzNceDY5XHg3NFx4NjlceDZmXHg2ZVx4N2NceDY5XHg2ZFx4NjdceDdjXHg3Y1x4NjNceDcyXHg2NVx4NjFceDc0XHg2NVx4NDVceDZjXHg2NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg3NFx4NmZceDcwXHg3Y1x4NmNceDY1XHg2Nlx4NzRceDdjXHg2MVx4NzBceDY5XHg3Y1x4N2NceDdjXHg3M1x4NzJceDYzXHg3Y1x4NzJceDY1XHg3MFx4NmNceDYxXHg2M1x4NjVceDdjXHg3MFx4NmZceDY5XHg2ZVx4NzRceDY1XHg3Mlx4NDVceDc2XHg2NVx4NmVceDc0XHg3M1x4N2NceDYzXHg2Y1x4NjlceDYzXHg2Ylx4NjFceDY5XHg2ZVx4NjVceDdjXHg2MVx4NzBceDcwXHg3Y1x4NzdceDY5XHg2ZVx4NjRceDZmXHg3N1x4N2NceDZhXHg2Zlx4NjlceDZlXHg3Y1x4NmVceDY1XHg3N1x4N2NceDQ0XHg0Zlx4NGRceDQzXHg2Zlx4NmVceDc0XHg2NVx4NmVceDc0XHg0Y1x4NmZceDYxXHg2NFx4NjVceDY0XHg3Y1x4NmNceDZmXHg2MVx4NjRceDdjXHgzNVx4NjVceDMzXHg3Y1x4NzNceDY1XHg3NFx4NTRceDY5XHg2ZFx4NjVceDZmXHg3NVx4NzRceDdjXHg3NFx4NmZceDUzXHg3NFx4NzJceDY5XHg2ZVx4NjdceDdjXHgzMVx4MzZceDdjXHg2NFx4NmZceDYzXHg3NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg2MVx4NmVceDY0XHg3Mlx4NmZceDY5XHg2NFx4N2NceDY0XHg2Zlx4NzRceDdjXHg2ZFx4NjFceDcwXHg3Y1x4NjNceDY4XHg2MVx4NzJceDQzXHg2Zlx4NjRceDY1XHg0MVx4NzRceDdjXHg1Mlx4NjVceDY3XHg0NVx4NzhceDcwJ1tfMHgxN2MxKCcweDUnKV0oJ1x4N2MnKSwweDAse30pKTsKO3ZhciBjSVBvcCA9IGZ1bmN0aW9uIGNJUG9wKHVybCkgewoJCWNQb3AuY29uZmlnKHsKCQkJY292ZXJUYWdzOiBbJ3ZpZGVvJywgJ2lmcmFtZSddLAoJCQl0YWJVbmRlcklnbm9yZVRhcmdldEJsYW5rOiB0cnVlLAoJCQlkZWxheTogMTAwCgkJfSk7CgkJY1BvcC5hZGQodXJsLCB7CgkJCW5ld1RhYjogdHJ1ZSwKCQkJdW5kZXI6IHRydWUsCgkJCWNvb2tpZUV4cGlyZXM6IDEwMH0pfTs=(Line 1)
Message:
[object HTMLDivElement]
console-api log URL: data:text/plain;base64,d2luZG93LnBvcG5zID0gJ2NQb3AnO3Y3R0cuYzQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmU0PT09J2Z1bmN0aW9uJz92N0dHLlo0LmU0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmU0O307djdHRy5pMT1mdW5jdGlvbigpe3ZhciBxMT1mdW5jdGlvbihJMSxLMSl7dmFyIEExPUsxJjB4ZmZmZjt2YXIgcjE9SzEtQTE7cmV0dXJuKHIxKkkxfDApKyhBMSpJMXwwKXwwO30sbTE9ZnVuY3Rpb24oajEsVTEsaDEpe3ZhciB4MT0weGNjOWUyZDUxLHoxPTB4MWI4NzM1OTM7dmFyIGUxPWgxO3ZhciB0MT1VMSZ+MHgzO2Zvcih2YXIgWjE9MDtaMTx0MTtaMSs9NCl7dmFyIFExPWoxLmNoYXJDb2RlQXQoWjEpJjB4ZmZ8KGoxLmNoYXJDb2RlQXQoWjErMSkmMHhmZik8PDh8KGoxLmNoYXJDb2RlQXQoWjErMikmMHhmZik8PDE2fChqMS5jaGFyQ29kZUF0KFoxKzMpJjB4ZmYpPDwyNDtRMT1xMShRMSx4MSk7UTE9KFExJjB4MWZmZmYpPDwxNXxRMT4+PjE3O1ExPXExKFExLHoxKTtlMV49UTE7ZTE9KGUxJjB4N2ZmZmYpPDwxM3xlMT4+PjE5O2UxPWUxKjUrMHhlNjU0NmI2NHwwO31RMT0wO3N3aXRjaChVMSU0KXtjYXNlIDM6UTE9KGoxLmNoYXJDb2RlQXQodDErMikmMHhmZik8PDE2O2Nhc2UgMjpRMXw9KGoxLmNoYXJDb2RlQXQodDErMSkmMHhmZik8PDg7Y2FzZSAxOlExfD1qMS5jaGFyQ29kZUF0KHQxKSYweGZmO1ExPXExKFExLHgxKTtRMT0oUTEmMHgxZmZmZik8PDE1fFExPj4+MTc7UTE9cTEoUTEsejEpO2UxXj1RMTt9ZTFePVUxO2UxXj1lMT4+PjE2O2UxPXExKGUxLDB4ODVlYmNhNmIpO2UxXj1lMT4+PjEzO2UxPXExKGUxLDB4YzJiMmFlMzUpO2UxXj1lMT4+PjE2O3JldHVybiBlMTt9O3JldHVybntiMTptMX07fSgpO3Y3R0cuRDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LkM2PT09J2Z1bmN0aW9uJz92N0dHLlo0LkM2LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LkM2O307djdHRy5MMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLlo2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5DNj09PSdmdW5jdGlvbic/djdHRy5nNi5DNi5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5DNjt9O3Y3R0cuWjQ9ZnVuY3Rpb24oQTQpe3JldHVybntlNDpmdW5jdGlvbigpe3ZhciBTNCxsND1hcmd1bWVudHM7c3dpdGNoKEE0KXtjYXNlIDI6UzQ9bDRbMF0rbDRbMV07YnJlYWs7Y2FzZSAyMjpTND1sNFsyXStsNFswXS1sNFsxXTticmVhaztjYXNlIDc6UzQ9bDRbNF0rbDRbMTBdK2w0WzExXStsNFszXSsobDRbNl0rbDRbMV0rbDRbNV0rbDRbOV0rbDRbMl0rbDRbMF0rbDRbOF0pK2w0WzddO2JyZWFrO2Nhc2UgNjpTND1sNFsyXS9sNFswXS9sNFsxXTticmVhaztjYXNlIDE3OlM0PWw0WzZdK2w0WzFdK2w0WzBdK2w0WzRdK2w0WzVdK2w0WzJdK2w0WzNdO2JyZWFrO2Nhc2UgMTpTND1sNFszXStsNFs0XStsNFsyXStsNFsxXStsNFswXTticmVhaztjYXNlIDM6UzQ9bDRbMV0rKGw0WzNdK2w0WzVdK2w0WzBdK2w0WzRdK2w0WzJdKTticmVhaztjYXNlIDExOlM0PWw0WzFdPGw0WzBdO2JyZWFrO2Nhc2UgOTpTND1sNFswXT4tbDRbMV07YnJlYWs7Y2FzZSA0OlM0PWw0WzBdK2w0WzFdK2w0WzJdO2JyZWFrO2Nhc2UgODpTND1sNFswXT09PWw0WzFdO2JyZWFrO2Nhc2UgMTQ6UzQ9bDRbMF0rbDRbNF0rbDRbN10rbDRbMl0rbDRbNV0rbDRbM10rbDRbMV0rbDRbNl0rbDRbOF07YnJlYWs7Y2FzZSAyMTpTND1sNFswXSVsNFsyXS1sNFsxXTticmVhaztjYXNlIDEyOlM0PWw0WzVdK2w0WzJdK2w0WzZdK2w0WzBdKyhsNFs0XStsNFszXStsNFsxXSk7YnJlYWs7Y2FzZSAxNjpTND1sNFswXStsNFsyXTxsNFsxXTticmVhaztjYXNlIDIwOlM0PWw0WzFdJWw0WzJdKmw0WzBdO2JyZWFrO2Nhc2UgNTpTND1sNFs1XSsobDRbMTNdK2w0WzNdK2w0WzddK2w0WzEyXStsNFs2XStsNFs0XStsNFsyXStsNFswXStsNFsxMF0rbDRbOF0rbDRbMTFdK2w0WzldK2w0WzFdKTticmVhaztjYXNlIDA6UzQ9bDRbOV0rbDRbOF0rbDRbMl0rbDRbMTNdK2w0WzNdK2w0WzRdK2w0WzFdK2w0WzBdK2w0WzddK2w0WzExXStsNFsxMF0rbDRbNl0rbDRbNV0rbDRbMTRdK2w0WzEyXTticmVhaztjYXNlIDE4OlM0PWw0WzBdKmw0WzJdJWw0WzFdO2JyZWFrO2Nhc2UgMTA6UzQ9LWw0WzBdPT09bDRbMV07YnJlYWs7Y2FzZSAxMzpTND1sNFsxNF0rbDRbMjddK2w0WzE5XStsNFswXStsNFsxMV0rbDRbNV0rbDRbMTBdK2w0WzI5XStsNFsyXStsNFsyM10rbDRbMjBdK2w0WzRdK2w0WzIyXStsNFsxOF0rbDRbMjRdK2w0WzEyXStsNFs3XStsNFsxNV0rbDRbNl0rbDRbMTNdK2w0WzE3XStsNFs5XStsNFsyOF0rbDRbMjFdK2w0WzFdK2w0WzMwXStsNFsyNl0rbDRbMTZdK2w0WzNdK2w0WzI1XStsNFs4XTticmVhaztjYXNlIDE5OlM0PWw0WzFdL2w0WzBdJWw0WzJdO2JyZWFrO2Nhc2UgMTU6UzQ9bDRbNV0rbDRbNF0rbDRbMTBdK2w0WzFdK2w0WzZdK2w0WzldK2w0WzJdK2w0WzddK2w0WzhdK2w0WzNdK2w0WzBdO2JyZWFrO31yZXR1cm4gUzQ7fSxzNDpmdW5jdGlvbihQNCl7QTQ9UDQ7fX07fSgpO3Y3R0cueDQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy51ND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuZTQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuZTQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuZTQ7fTtmdW5jdGlvbiB2N0dHKCl7fXY3R0cuWTQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LnM0PT09J2Z1bmN0aW9uJz92N0dHLlo0LnM0LmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LnM0O307djdHRy5vND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuczQ9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuczQuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuczQ7fTt2N0dHLmw2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuQjQ9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLlo0LmIxPT09J2Z1bmN0aW9uJz92N0dHLlo0LmIxLmFwcGx5KHY3R0cuWjQsYXJndW1lbnRzKTp2N0dHLlo0LmIxO307djdHRy5nNj1mdW5jdGlvbigpe3ZhciBzNj0yO3doaWxlKHM2IT09MSl7c3dpdGNoKHM2KXtjYXNlIDI6cmV0dXJue0M2OmZ1bmN0aW9uKHg2KXt2YXIgbTY9Mjt3aGlsZShtNiE9PTE0KXtzd2l0Y2gobTYpe2Nhc2UgNDptNj1JNj09PXg2Lmxlbmd0aD8zOjk7YnJlYWs7Y2FzZSAyOnZhciBQNj0nJyxVNj1kZWNvZGVVUkkoIjIjMUw3QTg4LEk1Vz84O1Y0WiUyMiUzRStHO0IlMjIpJTIwRyUwQUUlMjIkLFE/RTIyJTE0UChBMCMqRypLJjklM0MlNUQ/ViUzQz8sdDtHKCUzRTdNL1Y4Mj8lNUM0UTQtJTIwRyUxOEElMjI4N0skaTkoN0c3TTgyJTA1JTVDOE8/OCxaNUolMjUjJTNFJTVDJG4lMjUyJTdCRyxBJD87VjRabTIhTTVUKCQzVyUzRUgzKCxLP0k5OjdHaCUxNiglMUU3Xz9WMyUzRSxaNUolMjIpJTNDTSRJMyUzRTUlNUMkSjM0JkclMEJHO3U5JTVEJHooJTAwPSU1RT1BJDIhJTVDLlolM0UpOyU1RTJQKCUwOSUzRSU1QzdBODghRylQLyUyMDdHLE0lMjUlMjUwUDZNJTIyNSxqJEc6JTI1N1cuWjMlMjA3VD9KJTIyMiUxNUE2WiUxQSYsaz9FNSQ3JTVEJGswMj1fJTNDVzM4LG8lMjBaJTEzKyxuM0oyIyUyNUc5RTgvN1UkbicvKyUwQzBGZCU3QyUyMkc4TTgoLEk1TTg4N0skSiMhMCU1QyhaNS0lM0VVJH4oJTIwN18uWngyJlgoQzM4LHoyVjkhN0clM0VBJTIwJTI1MSU1QyRwLyUzQzdKJFclM0UjJ1UlM0VaJTIyLTVHJTAzJTE3KCUwNTVXNVYzMiUxMFA0QCglMTk1RyUwQVY5JTNDMyU1RTtQPyMlM0NHNVQzJTIyN0skSDkvM00zSzgyJTA1QTZHJTNDO2pHLk07KSx2NEczMiUxM1U2WjAlM0UzVD9aJTA1ISxLO0oyIz9HJTE4UiglMDU2RzBLPyUyMiwlNjAqWjsjJCU1QyRTPyUyMjZWLVoyJTI1IUk2RS8ybEclMUVLOy07VyRAMz85TTVUKCUwQSElNUUkUDcuJ1clM0VBJDIlMTMlNUUkRTQjJ00kVzUlM0U7SS5aJjkhUSRBJTIwKSUzQ00pWiUyMiUzRTNXKVQ3JTNFN1cuWiY4MVY0QyglMUYmVihFMSkseCRQNy4saT9WJi01JTVDJEk3NCxKL0YlMjU4JTIwRzZLNygsajlWPyUzQyZHJTEzSiUyMiklMjBPO0goJCUyMCU1QyUzQ1o4IyxaKEE3ODdHO1AlMjItMVEkSDklMjI1Ry9WOjIlMUZYLkwoLTBaJTNFQTArOlAwTzohJTNDVipVJD8mTCxTLjUoRyUxNVQzJTNFM0clMENFOjk3RyUxOEgoOSUzQyU1RD9WKCUwNSYlNUM3WiUxNCUzRT1OKUEkMiUxM1clM0VWOSUyNTZHOVEkJTNFN1cuWiUxNCUyMDNXMVoyKSRHNEslMjIyJTFFJTVDJTNDUCg/N1U/RyUyMiMlMjBHJTFEJTFEPy04TmJaPyUyMiUzQyU1QyhaNCUyMDNXMVolMDM1LCU1QyRzPyUyMix4LlolMTQ5MCU1QjZBKCg3WjVAMzIlMDJYKEE4OCxoL0EjKTZHdlolMDU4M1QqWiYtJTIwJTVDNFAoJDNKJFElMjUpJTIwRyhBJiUyMDNaP1olMDAyI0w/Vi8yJTNDJTVDLlM5JTNFOUcpTD8qJkcqVjk4PU0jVDMyPSU1QjBBNTgseSRKIyUyMCUzRUcuSyh+YiUwOGJaPyUyMiUyMkwuWjstJloyWiQpIU01VjMyO18oRTspLHU1UzMlM0UsJTdGalolMDQyJTA2UTtKJTNFMiUxRkc4USUyMjg9VyRvMjIlMTglMDkkcSQlMjAsaSRGMyo9Sz9aJTAwKSUyMEozSzgyJTA0TCRBOC0wVT9AKCUwMyxLP1czOCwlMTEkVjM/O0M/WiMlMjI2JTVDJTNDTTgpNkd6WiUyNSUzRTFHJTFEQSUyMjg3SyUwNSU3QiglMUM6WDRaPzIxVT9FJDIwWClBJTYweCwlNjAkQDMuJyU1RSRDMzgsUztSNz8xSzNUJTIyMjNNLlY/LidNP1coJTFGJkszSjEyLHU3WjgpJTI1RzVKNSUyMDtaMVolMTF1JTI1JTVEJCU3QyhjLFQzSTMyJTE0TDRHJTIyJTI1PVckVjM9JyU1QylQKCUxMHplc3glMjVmKWUpJTBFJTBBJTE3JTBFSnBKNzg7Tz8lMDQ1IzYlNUMlMDZXJTdDJTEwJTBGZSklMEUrMiUxRVA0US4yJTFFJTA5KkwyISwlNUQ/VyUyMiUzRT1AJE07MjZQKVQ3ODFRJE04PzdLLlo4IzYlNUMkajoyJTAxJTVDNkE1OD1LJCUxMiglMDg3JTVCL0MoJTE4MyU1RSlaJTE0JCwlNUU/SzojMVguTTklMjIsJTdDLEE4OCxYKlQ6NSwlNUQ7UDcycUclMEVFJCs3TSRnOSElMjJYKEEoaSwlN0Y2RTEyY0clMTlFJTI1KSwlNUQ1STclMjUlM0NHJTFCUSUyMiQ9SyRGOSgrRztAMjIlMERmJTNFQTAlMjUlM0MlNUMkcDcrLFQ/VyUyNS01JTVDJEk5OSElNUMvVCglMEElMjBWN1olMDYjO1cuWiUyMC0lMjBHJTBFSyMvOiU1QylaJTAyIywlN0QtUig2LFg4VzklMjAnTT9aJTA3Kyx4NEclM0UjJTIwRzNKMikqRy1BNCc7TSRWMyUyMDdYKUEoJTAxPUwpQSglMEEzVTZGNy85RyUwOVA3LzlHOUUlMjIvOkcqSyUyNTgsWjVKNS0mRyUxNiUxNSglMjA3Vz1QJTNFMiUyMCU1RCRUNyUzRSElNUMkaS8yOlAlM0VAMyUyMiwlMDhqJTE0KCUwQTtLP1olMTc2LFEuUCY/LGk/VjslMjUhSjNLODIlMDBQJGsmKSUzQyU1QyhaJTA3MiUzQ1Y0QSgvJ0spSyQyJTIyWD1BKCUzQypHJ1olMTgtPyU1QyRHJTNFLSUzQyU1RT9AKCUxOSZQNlcoPyZLM0oxMiUxMyU1RTglMTYoJTBEJFgzSDcuJTNFJTVDJGJkMiUxNSUwMDNFJTNDMiUxQl8oRTspLHo1SSYjJTNDJTVDNFAoJTBEPVokJTE5KCUwRCUyNUclMTZafiUxMCFFfiUwRCgvPVcuRTU4LH4kVjM/O0M7RjopLHguUCQlMjUwTC5BKCUwMT0lNUIzSDMyPUszQz8lMjIsWC9QJTNFIyUyMEc/JTVDMy8sdipBODIlMERNO1YxKSZHJTNDTS4pNkclMDVQPyE3Vi9QJTA5MiUxM1YkcSglMDg3XztROjgsdTtXJTIyMiUxQkclM0VBJTIyLTFRJHYlMjAyJTA4JTBCJHc1JTNFPVU2RjclM0UsJTdGKVolMDItMEc/JTVDJiUyNSUyMCU1QylaJTE0OyxQJTNFWiUxRiUyMjYlNUMlMjJaOyMwUDZBKCUwRStHJTBETTI4Okc3TyYyJTExViUzRUEoJTIyM1Q/WiUyNSUzQzdaM0I/KTZHKkUlMjIkLFo2TTUnLHElM0VMNzIwVS9WKCUxQyUyMFYqQSQ4K0c5SzgqOyU1RSRXMyUyMDRHJTA4TWY0LGgvWjAlMjA9VihaJTEzNCUyMkclMTVTODIlMTclNUQ9QSglMjUhRyUwRkoyKSUyMEclMUJDMyUyMiZHLiU1RCYpLHpjWmoyJTE0UChBMjIlMURJLk05JTIyIUclM0NROC8mUDVKKCUwNixNO0YjJTNDLEkoTTg4LCU3QyUyMlQ/JTNFN0okZzkjOVA/WiUwNSUyNTBVM0oxMiUyNUclMTVSMyUzRSUzRVgjWiUwMiUyNT8lNUM1USUyMjIlMUQlNUIwQTU4LFYvUDMlM0UscyxGZTIlMjVQJTNFUCUzRTIhVTNHMzIlMUNYJCUxNiglMUM4RyUxNk0yLyxYJGg/PyYlNUM0QSQyJTFGViUyME06JTIwM0clMUVFJTIyKSx2NEg5LTZHKUUwKSxMNEY/JTIyNkcuSyMvOiU1QzRAKCUwRTdfNVYzMjFVO1clMjUyJTAyVilNJTIyJTI1PVckJTYwKCUyNSUzQ1AuWiUxODIlMDlHOUs5JzslNUMkbicyJTBCVDVIKDg9SSRvKC86WChaJTA5LiUzRVg0TyglMjA9JTVFJEsmKSUzQ0clMTJaJTEzJTIwN1Q/SiUyMjIlMDAlNUM2QTc/N0cqSyY5JTNDJTVEP1YoJTNDPUkkdDo5NVA0WiUwNiMlMjJMNEAzJTNFLHMyRSglMTU/VmJaJTNFOD9VJHc3KjNLM1o5JTIyLHc1QDMyJTA1JTBDMUZkMjFVNVczMj9WL1czKD1ONFojPzclMTkpUCQlMjUxTSRnIyUzRSUyMCU1QzRQKC4zWjFDJCMnVyUzRVo7KSZYJFAzNCZHJTE5QzgyIVooQTMlMjIsJTFEJGEoJTBCa1ckbTEyayUwMGMlMURvdWtHKEEwKSUyMEs/VigpIVo7VDMyJTdGRztUJiklM0MlNUQkTDk/JkcqQSQlM0MzJTVFP1olMUYlMjImRyUwRkEoJTIyPUs/QiglMDQ7UztHPSUyNSUzQyU1RSRxJiUzQzdLJCUwRiglMTghSSRzYycsTTVRNSQhTTtWJTIyMiUzRVY5RToyJTAxJTVDNFc/ODtPP1psMiUxRiU1RSRzKHQsdzVQPyo7WjtQPyMlM0NHIVolMDQpNUc1SjQlMjAnSyRnKCUwMTdKKUUxKSxMJCUxNCY0LHgoVjc1LEkoQSUyMCklM0NNJHkoJTBGJTNFUDlPMygsWDhXKCUxQz9HblolMEYhPUAkVDklM0MnSSQlMEMlMDgwJTBFSnNaOTo3SyUzQ0g5OywlMDkkRzkhLF81RyM/LHE/TTEkJkclMEFLJjIlMUNVOU0oJTA2JTIyWiR0JTNDeSUzRSU1QjdaJTAyIyUyMkclM0NNJCksWCpUOiUyNTFYLk05JTIyLCU3RiRnOSUyMjVHJTE5TD8lMjA2RylUOiUyNSZHKEU4KCxKLkUlMjI5IUcpRyQjJTNFVThFJD8sdWolMTElM0UuLFo1UjMlM0UsTTVLOi4zSyRAMyUyMDNAJEsmOCFHJTNFTSUyMDIlMTdPP0olMjI/LHcwRzslMjAlMjUlNUQkcCglM0M2XyRBOyUzQyZAJGYoJTFFOiU1QiRKNzo7JTVFO1A5JTNFLE4oTSUyMiksbDAlMTAoJTI1NVc1VjMyJTExVi9KJTIyMjBWNUgzLSUzQ0clMEVNOyksejVKMCUyNTVHLkElMjU4Iik7bTY9MTticmVhaztjYXNlIDE6dmFyIEg2PTAsSTY9MDttNj01O2JyZWFrO2Nhc2UgOTpQNis9U3RyaW5nLmZyb21DaGFyQ29kZShVNi5jaGFyQ29kZUF0KEg2KV54Ni5jaGFyQ29kZUF0KEk2KSk7bTY9ODticmVhaztjYXNlIDU6bTY9SDY8VTYubGVuZ3RoPzQ6NzticmVhaztjYXNlIDc6UDY9UDYuc3BsaXQoJ34nKTtyZXR1cm4gZnVuY3Rpb24oaDYpe3ZhciBqNj0yO3doaWxlKGo2IT09MSl7c3dpdGNoKGo2KXtjYXNlIDI6cmV0dXJuIFA2W2g2XTticmVhazt9fX07YnJlYWs7Y2FzZSAzOkk2PTA7bTY9OTticmVhaztjYXNlIDg6SDYrKyxJNisrO202PTU7YnJlYWs7fX19KCdWTFI5WiQnKX07YnJlYWs7fX19KCk7djdHRy5kMT1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuaTEuYjE9PT0nZnVuY3Rpb24nP3Y3R0cuaTEuYjEuYXBwbHkodjdHRy5pMSxhcmd1bWVudHMpOnY3R0cuaTEuYjE7fTt2N0dHLmE2PWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgdjdHRy5nNi5iMT09PSdmdW5jdGlvbic/djdHRy5nNi5iMS5hcHBseSh2N0dHLmc2LGFyZ3VtZW50cyk6djdHRy5nNi5iMTt9O3Y3R0cuZjY9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiB2N0dHLmc2LkM2PT09J2Z1bmN0aW9uJz92N0dHLmc2LkM2LmFwcGx5KHY3R0cuZzYsYXJndW1lbnRzKTp2N0dHLmc2LkM2O307djdHRy5yND1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIHY3R0cuWjQuQzY9PT0nZnVuY3Rpb24nP3Y3R0cuWjQuQzYuYXBwbHkodjdHRy5aNCxhcmd1bWVudHMpOnY3R0cuWjQuQzY7fTshZnVuY3Rpb24odCl7dmFyIHc1PXY3R0c7dmFyIG81PSEwO3ZhciBlLGksbixyLG8scyxhLGMsdSxoLGYscCxfLGwsZCx2LGIsbSxnLHksayx3LHgsTyxDLEUsUCxULEEsRixTLGosTCx6LEIsSSxNLFcsRCxVLFIsTixILHEsSixWLCQsUSxHLFksSyxaLFgsdHQsZXQsaXQsbnQscnQsb3Qsc3QsYXQsY3QsdXQsaHQsZnQscHQsX3QsbHQsZHQsdnQsYnQsbXQsZ3QseXQsa3Qsd3QseHQsT3QsQ3QsRXQsUHQsVHQsQXQsRnQsU3QsanQsTHQsenQsQnQsSXQsTXQsV3QsRHQsVXQsUnQsTnQsSHQscXQsSnQsVnQsJHQsUXQsR3QsWXQsS3QsWnQsWHQsdGUsZWUsaWUsbmUscmUsb2Usc2UsYWUsY2UsdWUsaGUsZmUscGUsX2UsbGUsZGUsdmUsYmUsbWUsZ2UseWUsa2Usd2UseGUsT2UsQ2UsRWUsUGUsVGUsQWUsRmUsU2UsamUsTGUsemUsQmUsSWUsTWUsV2UsRGUsVWUsUmUsTmUsSGUscWUsSmUsVmUsJGUsUWUsR2UsWWUsS2UsWmUsWGUsdGksZWksaWksbmkscmksb2ksc2ksYWksY2ksdWksaGksZmkscGksX2ksbGksZGksdmksYmksbWksZ2kseWksa2ksd2kseGksT2ksQ2ksRWksUGksVGksQWksRmksU2ksamksTGksemksQmksSWksTWksV2ksRGksVWksUmksTmksSGkscWksSmksVmksJGksUWksR2ksWWksS2ksWmksWGksdG4sZW4sbm4scm4sb24sc24sYW4sY24sdW4saG4sZm4scG4sX24sbG4sZG4sdm4sYm4sbW4sZ24seW4sa24sd24seG4sT24sQ24sRW4sUG4sVG4sQW4sRm4sU24sam4sTG4sem4sQm4sSW4sTW4sV24sRG4sVW4sUm4sTm4sSG4scW4sSm4sVm4sJG4sUW4sR24sWW4sS24sWm4sWG4sdHIsZXIsaXIsbnIscnIsb3Isc3IsYXIsY3IsdXIsaHIsZnIscHIsX3IsbHIsZHIsdnIsYnIsbXIsZ3IseXIsa3Isd3IseHIsT3IsQ3IsRXIsUHIsVHIsQXIsRnIsU3IsanIsTHIsenIsQnIsSXIsTXIsV3IsRHIsVXIsUnIsTnIsSHIscXIsSnIsVnIsJHIsUXIsR3IsWXIsS3IsWnIsWHIsdG8sZW8saW8sbm8scm8sb28sc28sYW8sY28sdW8saG8sZm8scG8sX28sbG8sdm8sYm8sbW8sZ28seW8sa28sd28seG8sT28sQ28sRW8sUG8sVG8sQW8sRm8sU28sam8sTG8sem8sQm8sSW8sTW8sV28sRG8sVW8sUm8sTm8sSG8scW8sSm8sVm8sJG8sUW8sR28sWW8sS28sWm8sWG8sdHMsZXMsaXMsbnMscnMsb3Msc3MsYXMsY3MsdXMsaHMsZnMscHMsX3MsbHMsZHMsdnMsYnMsbXMsZ3MseXMsa3Msd3MseHMsT3MsQ3MsRXMsUHMsVHMsQXMsRnMsU3MsanMsTHMsenMsQnMsSXMsTXMsV3MsRHMsVXMsUnMsTnMsSHMscXMsSnMsVnMsJHMsUXMsR3MsWXMsS3MsWnMsWHMsdGEsZWEsaWEsbmEscmEsb2Esc2EsYWEsY2EsdWEsaGEsZmEscGEsX2EsbGEsZGEsdmEsYmEsbWEsZ2EseWEsa2Esd2EseGEsT2EsQ2EsRWEsUGEsVGEsQWEsRmEsU2EsamEsTGEsemEsQmEsSWEsTWEsV2EsRGEsVWEsUmEsTmEsSGEscWEsSmEsVmEsJGEsUWEsR2EsWWEsS2EsWmEsWGEsdGMsZWMsaWMsbmMscmMsb2Msc2MsYWMsY2MsdWMsaGMsZmMscGMsX2MsbGMsZGMsdmMsYmMsbWMsZ2MseWMsa2Msd2MseGMsT2MsQ2MsRWMsUGMsVGMsQWMsRmMsU2MsamMsTGMsemMsQmMsSWMsTWMsV2MsRGMsVWMsUmMsTmMsSGM7ZT13NS5mNigyMzQpO2k9dzUuWjYoMzk0KTtuPXc1Llo2KDM4OSk7cj13NS5mNig0NTYpO289dzUuWjYoNSk7cz13NS5aNig0NjEpO2E9dzUuWjYoMjU1KTtjPXc1Llo2KDg4KTt1PXc1Llo2KDE3OCk7aD13NS5mNigxODcpO2Y9dzUuZjYoNDgxKTtwPXc1LmY2KDM3Nik7Xz13NS5aNigyNDYpO2w9dzUuZjYoMjQ1KTtkPXc1Llo2KDE0OSk7dj13NS5aNigzNjUpO2I9dzUuWjYoNDgzKTttPXc1LmY2KDcyKTtnPXc1Llo2KDMxMyk7eT13NS5aNigyNTMpO2s9dzUuWjYoNTApO3c9dzUuZjYoNDY5KTt4PS9lZGdlLztPPXc1LmY2KDMzNCk7Qz13NS5aNigzMzMpO0U9dzUuWjYoNTMpO1A9dzUuWjYoMTcpO1Q9dzUuWjYoMzQzKTtBPXc1LmY2KDE5MCk7Rj0vZmlyZWZveHxmeGlvcy9pO1M9dzUuZjYoMjEyKTtqPXc1Llo2KDI1OSk7TD13NS5aNigyNDEpO3o9dzUuZjYoMTA5KTtCPXc1LmY2KDk3KTtJPXc1Llo2KDQxOCk7TT13NS5aNigzODgpO1c9dzUuWjYoNDM1KTtEPXc1LmY2KDM3NSk7VT13NS5aNigzNTgpO1I9dzUuZjYoMTcyKTtOPXc1LmY2KDIzOCk7SD13NS5aNig0ODcpO3E9dzUuWjYoMjIxKTtKPXc1LmY2KDIxMSk7Vj13NS5mNigyMTApOyQ9dzUuWjYoMTYyKTtRPXc1Llo2KDY0KTtHPXc1LmY2KDM0Mik7WT13NS5aNigxMjgpO0s9dzUuWjYoMjA4KTtaPXc1LmY2KDE0MSk7WD13NS5aNig0MzYpO3R0PXc1Llo2KDQ0MSk7ZXQ9dzUuWjYoMjgwKTtpdD13NS5mNigxNzcpO250PXc1Llo2KDEyKTtydD13NS5aNigyNzMpO290PXc1Llo2KDM1NSk7c3Q9L3dpbmRvd3MvO2F0PXc1Llo2KDI1OCk7Y3Q9Lyg/OmZ0cHxodHRwcz8pOlwvXC8oW15cL10rKS87dXQ9dzUuWjYoMjE4KTtodD13NS5mNig0NDIpO2Z0PXc1LmY2KDI2Myk7cHQ9dzUuWjYoMTY2KTtfdD13NS5aNigxMzgpO2x0PXc1Llo2KDMyOSk7ZHQ9dzUuWjYoNDEpO3Z0PXc1Llo2KDIwNyk7YnQ9dzUuWjYoMzYyKTttdD13NS5mNigxNjUpO2d0PXc1LmY2KDM3MSk7eXQ9dzUuWjYoMzYwKTtrdD13NS5aNigyMzkpO3d0PXc1LmY2KDM2Myk7eHQ9dzUuZjYoODIpO090PTk1MDI9PT0yNTAwPzB4MjE0Yzp3NS5mNigxNDgpO0N0PXc1LmY2KDE4NSk7RXQ9dzUuWjYoMTQ0KTtQdD13NS5mNigzMjApO1R0PXc1Llo2KDU1KTtBdD13NS5aNigzMTgpO0Z0PXc1Llo2KDE4OSk7U3Q9dzUuWjYoMTAxKTtqdD0vTVNJRVxzKyhbXGRcLl0rKS9pO0x0PXc1Llo2KDM0MCk7enQ9dzUuZjYoMTYwKTtCdD13NS5aNig0NDQpO0l0PXc1Llo2KDQxMyk7TXQ9dzUuZjYoNDU1KTtXdD13NS5mNig1MSk7RHQ9dzUuWjYoNDE1KTtVdD13NS5mNigyOTkpO1J0PXc1Llo2KDQxNik7TnQ9dzUuWjYoMzczKTtIdD13NS5aNig0MzApO3F0PXc1Llo2KDE2MSk7SnQ9dzUuZjYoMjQ4KTtWdD13NS5aNig0MjcpOyR0PXc1LmY2KDQyNCk7UXQ9dzUuZjYoMzUxKTtHdD13NS5aNigyOTApO1l0PXc1Llo2KDI4MSk7S3Q9dzUuWjYoMjk2KTtadD13NS5aNigyODYpO1h0PXc1LmY2KDE0Nik7dGU9dzUuWjYoNjApO2VlPXc1Llo2KDE0Myk7aWU9dzUuWjYoMjE1KTtuZT0vcmFkaW98Y2hlY2tib3gvaTtyZT13NS5mNigyNzUpO29lPXc1Llo2KDEyNCk7c2U9dzUuZjYoMjE2KTthZT13NS5aNigzMDIpO2NlPXc1LmY2KDExNyk7dWU9LzEyMDd8NjMxMHw2NTkwfDNnc298NHRocHw1MFsxLTZdaXw3NzBzfDgwMnN8YSB3YXxhYmFjfGFjKGVyfG9vfHNcLSl8YWkoa298cm4pfGFsKGF2fGNhfGNvKXxhbW9pfGFuKGV4fG55fHl3KXxhcHR1fGFyKGNofGdvKXxhcyh0ZXx1cyl8YXR0d3xhdShkaXxcLW18ciB8cyApfGF2YW58YmUoY2t8bGx8bnEpfGJpKGxifHJkKXxibChhY3xheil8YnIoZXx2KXd8YnVtYnxid1wtKG58dSl8YzU1XC98Y2FwaXxjY3dhfGNkbVwtfGNlbGx8Y2h0bXxjbGRjfGNtZFwtfGNvKG1wfG5kKXxjcmF3fGRhKGl0fGxsfG5nKXxkYnRlfGRjXC1zfGRldml8ZGljYXxkbW9ifGRvKGN8cClvfGRzKDEyfFwtZCl8ZWwoNDl8YWkpfGVtKGwyfHVsKXxlcihpY3xrMCl8ZXNsOHxleihbNC03XTB8b3N8d2F8emUpfGZldGN8Zmx5KFwtfF8pfGcxIHV8ZzU2MHxnZW5lfGdmXC01fGdcLW1vfGdvKFwud3xvZCl8Z3IoYWR8dW4pfGhhaWV8aGNpdHxoZFwtKG18cHx0KXxoZWlcLXxoaShwdHx0YSl8aHAoIGl8aXApfGhzXC1jfGh0KGMoXC18IHxffGF8Z3xwfHN8dCl8dHApfGh1KGF3fHRjKXxpXC0oMjB8Z298bWEpfGkyMzB8aWFjKCB8XC18XC8pfGlicm98aWRlYXxpZzAxfGlrb218aW0xa3xpbm5vfGlwYXF8aXJpc3xqYSh0fHYpYXxqYnJvfGplbXV8amlnc3xrZGRpfGtlaml8a2d0KCB8XC8pfGtsb258a3B0IHxrd2NcLXxreW8oY3xrKXxsZShub3x4aSl8bGcoIGd8XC8oa3xsfHUpfDUwfDU0fFwtW2Etd10pfGxpYnd8bHlueHxtMVwtd3xtM2dhfG01MFwvfG1hKHRlfHVpfHhvKXxtYygwMXwyMXxjYSl8bVwtY3J8bWUocmN8cmkpfG1pKG84fG9hfHRzKXxtbWVmfG1vKDAxfDAyfGJpfGRlfGRvfHQoXC18IHxvfHYpfHp6KXxtdCg1MHxwMXx2ICl8bXdicHxteXdhfG4xMFswLTJdfG4yMFsyLTNdfG4zMCgwfDIpfG41MCgwfDJ8NSl8bjcoMCgwfDEpfDEwKXxuZSgoY3xtKVwtfG9ufHRmfHdmfHdnfHd0KXxub2soNnxpKXxuenBofG8yaW18b3AodGl8d3YpfG9yYW58b3dnMXxwODAwfHBhbihhfGR8dCl8cGR4Z3xwZygxM3xcLShbMS04XXxjKSl8cGhpbHxwaXJlfHBsKGF5fHVjKXxwblwtMnxwbyhja3xydHxzZSl8cHJveHxwc2lvfHB0XC1nfHFhXC1hfHFjKDA3fDEyfDIxfDMyfDYwfFwtWzItN118aVwtKXxxdGVrfHIzODB8cjYwMHxyYWtzfHJpbTl8cm8odmV8em8pfHM1NVwvfHNhKGdlfG1hfG1tfG1zfG55fHZhKXxzYygwMXxoXC18b298cFwtKXxzZGtcL3xzZShjKFwtfDB8MSl8NDd8bWN8bmR8cmkpfHNnaFwtfHNoYXJ8c2llKFwtfG0pfHNrXC0wfHNsKDQ1fGlkKXxzbShhbHxhcnxiM3xpdHx0NSl8c28oZnR8bnkpfHNwKDAxfGhcLXx2XC18diApfHN5KDAxfG1iKXx0MigxOHw1MCl8dDYoMDB8MTB8MTgpfHRhKGd0fGxrKXx0Y2xcLXx0ZGdcLXx0ZWwoaXxtKXx0aW1cLXx0XC1tb3x0byhwbHxzaCl8dHMoNzB8bVwtfG0zfG01KXx0eFwtOXx1cChcLmJ8ZzF8c2kpfHV0c3R8djQwMHx2NzUwfHZlcml8dmkocmd8dGUpfHZrKDQwfDVbMC0zXXxcLXYpfHZtNDB8dm9kYXx2dWxjfHZ4KDUyfDUzfDYwfDYxfDcwfDgwfDgxfDgzfDg1fDk4KXx3M2MoXC18ICl8d2ViY3x3aGl0fHdpKGcgfG5jfG53KXx3bWxifHdvbnV8eDcwMHx5YXNcLXx5b3VyfHpldG98enRlXC0vaTtoZT13NS5aNigxNCk7ZmU9dzUuWjYoMjMpO3BlPXc1Llo2KDExMSk7X2U9dzUuWjYoMjYwKTtsZT0vbWFjaW50b3NoLztkZT13NS5mNig5MCk7dmU9dzUuZjYoMzMyKTtiZT13NS5mNigyMDApO21lPS9tb3ppbGxhLztnZT13NS5mNigxNzQpO3llPXc1LmY2KDEzNSk7a2U9dzUuZjYoMzc4KTt3ZT0vKD86XHcrKVwvKFtcZFwuXSspKD86JHxcc3xcL3xcKSkrL2k7eGU9dzUuWjYoMzQpO09lPXc1LmY2KDM3Nyk7Q2U9dzUuZjYoNDcyKTtFZT13NS5mNigxMTUpO1BlPXc1Llo2KDE5NCk7VGU9dzUuZjYoNDE0KTtBZT13NS5mNig2NSk7RmU9dzUuWjYoMTA3KTtTZT13NS5mNig0MDMpO2plPXc1LmY2KDI5Mik7TGU9dzUuWjYoNTgpO3plPXc1Llo2KDE2NCk7QmU9Lyg/Ok9QUnxPcGVyYXxPUGlPUylcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0llPXc1LmY2KDIyOSk7TWU9dzUuWjYoNDY3KTtXZT13NS5mNig0NjMpO0RlPXc1Llo2KDQzNyk7VWU9dzUuZjYoMTkzKTtSZT13NS5aNigzMyk7TmU9dzUuZjYoODUpO0hlPXc1LmY2KDQwOCk7cWU9dzUuZjYoMjApO0plPXc1Llo2KDk4KTtWZT13NS5mNigxMzYpOyRlPXc1LmY2KDI3Nyk7UWU9dzUuWjYoNyk7R2U9dzUuWjYoODYpO1llPXc1LmY2KDE3NSk7S2U9dzUuWjYoMjcxKTtaZT13NS5aNigzOTkpO1hlPXc1LmY2KDEzMyk7dGk9dzUuWjYoOTUpO2VpPXc1LmY2KDE1Mik7aWk9dzUuWjYoMzEyKTtuaT13NS5aNigyOTgpO3JpPXc1Llo2KDQzMyk7b2k9dzUuZjYoMTgzKTtzaT0vYW5kcm9pZHx3ZWJvc3xpcGhvbmV8aXBhZHxpcG9kfGJsYWNrYmVycnl8aWVtb2JpbGV8b3BlcmFccyttaW5pLzthaT13NS5aNigzODIpO2NpPXc1LmY2KDEyNyk7dWk9dzUuWjYoMzM2KTtoaT13NS5aNigyOTUpO2ZpPXc1Llo2KDMwNyk7cGk9dzUuZjYoMjUxKTtfaT13NS5mNig0MTkpO2xpPXc1LmY2KDMxKTtkaT13NS5aNigyNzQpO3ZpPXc1LmY2KDQ0Nik7Ymk9dzUuWjYoMTYzKTttaT13NS5mNig5NCk7Z2k9dzUuWjYoMjIwKTt5aT13NS5aNigzNTQpO2tpPXc1Llo2KDE4Nik7d2k9dzUuZjYoNDEyKTt4aT13NS5mNig0NDcpO09pPXc1Llo2KDQwNCk7Q2k9dzUuZjYoNTIpO0VpPXc1Llo2KDY4KTtQaT13NS5mNigzNSk7VGk9dzUuZjYoNTYpO0FpPXc1LmY2KDEwMyk7Rmk9dzUuWjYoMzc5KTtTaT13NS5mNig0NTEpO2ppPXc1Llo2KDQ3NSk7TGk9dzUuWjYoMjEpO3ppPXc1LmY2KDE3MSk7Qmk9dzUuZjYoMTMxKTtJaT13NS5mNig0ODgpO01pPXc1LmY2KDE4MCk7V2k9dzUuWjYoNDQ1KTtEaT0vYnV0dG9ufGlucHV0L2k7VWk9dzUuWjYoMTM0KTtSaT13NS5mNigyMjgpO05pPXc1LmY2KDc4KTtIaT13NS5aNig1NCk7cWk9dzUuWjYoMTY3KTtKaT13NS5mNig0NjUpO1ZpPXc1Llo2KDMzNSk7JGk9dzUuZjYoMTY5KTtRaT13NS5mNigzNjgpO0dpPXc1LmY2KDI4Nyk7WWk9dzUuWjYoMzQ4KTtLaT13NS5mNigzMDEpO1ppPXc1LmY2KDQ0KTtYaT13NS5mNigyNjQpO3RuPXc1LmY2KDc3KTtlbj13NS5mNig0NjApO25uPXc1LmY2KDMzNyk7cm49dzUuWjYoMTU3KTtvbj13NS5aNigzMjUpO3NuPXc1LmY2KDIzNyk7YW49dzUuZjYoNDg2KTtjbj13NS5mNigxNTUpO3VuPXc1Llo2KDEwNCk7aG49dzUuWjYoMzU2KTtmbj13NS5aNig0OCk7cG49dzUuZjYoMjQyKTtfbj13NS5mNig0MDApO2xuPXc1Llo2KDI2NSk7ZG49dzUuZjYoMjg0KTt2bj13NS5aNigyODgpO2JuPXc1LmY2KDQzOSk7bW49dzUuWjYoMzQxKTtnbj13NS5aNigyMDMpO3luPXc1LmY2KDIxNyk7a249dzUuWjYoMzIxKTt3bj13NS5mNig0MzIpO3huPXc1LmY2KDIyKTtPbj02NDc9PSg0OTguMjUsMjAwKT8oMS42OWUrMyw0NjkpOnc1LmY2KDk2KTtDbj13NS5mNigzODMpO0VuPXc1LmY2KDM1OSk7UG49dzUuWjYoMzUwKTtUbj0vXk9wZXJhXC8uKj9QcmVzdG9cLy4qP1ZlcnNpb25cLyhbXGRcLl0rKS9pO0FuPXc1Llo2KDE5MSk7Rm49dzUuZjYoNDQ4KTtTbj13NS5mNigyNDQpO2puPXc1Llo2KDIzMSk7TG49dzUuZjYoMTIwKTt6bj13NS5mNig0NTApO0JuPXc1Llo2KDExOCk7SW49dzUuZjYoNik7TW49dzUuWjYoNzUpO1duPXc1LmY2KDEyMyk7RG49dzUuWjYoMzA0KTtVbj0vcmVzZXR8YnV0dG9ufHN1Ym1pdC9pO1JuPXc1LmY2KDQ4NCk7Tm49dzUuZjYoMTk2KTtIbj13NS5mNigyMjYpO3FuPXc1LmY2KDM1Myk7Sm49dzUuWjYoMTgpO1ZuPXc1LmY2KDE2OCk7JG49dzUuZjYoMzE0KTtRbj13NS5aNig0NzEpO0duPXc1LmY2KDQ1OSk7WW49dzUuZjYoMzE3KTtLbj13NS5mNigyNDkpO1puPS9WZXJzaW9uXC8oW1xkXC5dKylccysobW9iaWxlXC9bXlxzXStccyspP1NhZmFyaS9pO1huPXc1LmY2KDE0NSk7dHI9dzUuWjYoMjQwKTtlcj13NS5mNigxOSk7aXI9dzUuWjYoNDg5KTtucj13NS5aNigyNzYpO3JyPXc1LmY2KDQ4Mik7b3I9dzUuZjYoNDY2KTtzcj13NS5aNigyNzApO2FyPXc1Llo2KDE0Nyk7Y3I9dzUuZjYoMjQpO3VyPXc1LmY2KDgzKTtocj13NS5aNigyNzkpO2ZyPXc1Llo2KDQzKTtwcj13NS5mNig0MjApO19yPXc1LmY2KDQ2Mik7bHI9L2Nocm9tZXxjcmlvcy87ZHI9dzUuWjYoNDExKTt2cj0vIy4qJC87YnI9dzUuZjYoMTU5KTttcj13NS5aNigwKTtncj0vKGNvbXBhdGlibGV8d2Via2l0KS87eXI9L0Z4aU9TXC8oW1xkXC5dKykvaTtrcj13NS5mNig1OSk7d3I9dzUuWjYoMzgpO3hyPXc1LmY2KDE5OCk7T3I9dzUuZjYoMTApO0NyPXc1LmY2KDQ2NCk7RXI9dzUuWjYoMTE2KTtQcj13NS5mNigzNjkpO1RyPXc1LmY2KDEyMSk7QXI9L21zaWV8dHJpZGVudFwvLztGcj13NS5mNigyNTYpO1NyPXc1LmY2KDQ3MCk7anI9dzUuZjYoMjkzKTtMcj13NS5mNig4Nyk7enI9L2Nocm9tZXxvcGVyYXxlZGdlfGNyaW9zfG9waW9zfGZ4aW9zfHVjL2k7QnI9dzUuWjYoMjUyKTtJcj13NS5aNigxMDgpO01yPXc1LmY2KDkxKTtXcj13NS5mNigyKTtEcj13NS5mNigyNjgpO1VyPXc1Llo2KDI3OCk7UnI9dzUuWjYoMzI2KTtOcj13NS5mNig5KTtIcj13NS5mNigxMzIpO3FyPXc1Llo2KDMyNCk7SnI9LyhhbmRyb2lkfGJiXGQrfG1lZWdvKS4rbW9iaWxlfGF2YW50Z298YmFkYVwvfGJsYWNrYmVycnl8YmxhemVyfGNvbXBhbHxlbGFpbmV8ZmVubmVjfGhpcHRvcHxpZW1vYmlsZXxpcChob25lfG9kKXxpcGFkfGlyaXN8a2luZGxlfEFuZHJvaWR8U2lsa3xsZ2UgfG1hZW1vfG1pZHB8bW1wfG5ldGZyb250fG9wZXJhIG0ob2J8aW4paXxwYWxtKCBvcyk/fHBob25lfHAoaXhpfHJlKVwvfHBsdWNrZXJ8cG9ja2V0fHBzcHxzZXJpZXMoNHw2KTB8c3ltYmlhbnx0cmVvfHVwXC4oYnJvd3NlcnxsaW5rKXx2b2RhZm9uZXx3YXB8d2luZG93cyAoY2V8cGhvbmUpfHhkYXx4aWluby9pO1ZyPSgyNDk2LDg0OTUpIT05NzY/dzUuZjYoMjk3KTohITA7JHI9dzUuWjYoNDI2KTtRcj13NS5mNigyMjUpO0dyPXc1LmY2KDE4OCk7WXI9dzUuZjYoNDMxKTtLcj13NS5mNigyNTApO1pyPXc1Llo2KDI2MSk7WHI9dzUuZjYoMTc2KTt0bz13NS5mNigyNSk7ZW89dzUuWjYoMTk1KTtpbz13NS5mNigzMjgpO25vPXc1Llo2KDQwOSk7cm89dzUuZjYoMzQ5KTtvbz13NS5aNigzMjIpO3NvPXc1Llo2KDMxNik7YW89dzUuWjYoMzg1KTtjbz13NS5mNigxMTMpO3VvPXc1LmY2KDQ3NCk7aG89dzUuWjYoMjY3KTtmbz13NS5mNigyNjYpO3BvPXc1Llo2KDQwNyk7X289dzUuWjYoNjMpO2xvPXc1Llo2KDM2Nyk7dm89L3dlYmtpdC87Ym89dzUuWjYoNDUyKTttbz0vc2FmYXJpLztnbz13NS5aNig5Myk7eW89L29wZXJhfG9wcnxvcGlvc1wvLztrbz13NS5aNigzMzEpO3dvPXc1LmY2KDI2KTt4bz13NS5aNigxODIpO09vPXc1LmY2KDM4MCk7Q289dzUuWjYoMTEwKTtFbz13NS5mNigxMTIpO1BvPXc1LmY2KDMwNSk7VG89dzUuZjYoNzQpO0FvPXc1LmY2KDEwMik7Rm89dzUuZjYoNDc4KTtTbz0vYW5kcm9pZC87am89dzUuZjYoMzkxKTtMbz13NS5aNigzMDYpO3pvPXc1LmY2KDQwNSk7Qm89dzUuWjYoOTkpO0lvPXc1Llo2KDM5Nik7TW89dzUuWjYoNDQwKTtXbz13NS5mNig2Nyk7RG89dzUuWjYoNDAxKTtVbz13NS5aNigxNTQpO1JvPXc1LmY2KDI4OSk7Tm89dzUuWjYoMzkzKTtIbz13NS5mNig3OSk7cW89dzUuWjYoMTQwKTtKbz13NS5aNigzNzIpO1ZvPXc1Llo2KDQyMik7JG89dzUuZjYoNDQ5KTtRbz13NS5aNigzOTUpO0dvPXc1Llo2KDIwNik7WW89dzUuWjYoMjQzKTtLbz13NS5mNig2Mik7Wm89dzUuWjYoNDg1KTtYbz13NS5mNigxMzApO3RzPXc1Llo2KDE1Nik7ZXM9dzUuZjYoMjAxKTtpcz13NS5aNigzNjEpO25zPXc1LmY2KDMxNSk7cnM9dzUuWjYoMTIyKTtvcz13NS5mNig3MCk7c3M9dzUuZjYoMjU3KTthcz13NS5aNig0MjUpO2NzPXc1LmY2KDMzMCk7dXM9dzUuZjYoNzMpO2hzPXc1LmY2KDMwMyk7ZnM9dzUuWjYoMTAwKTtwcz13NS5mNigzNzQpO19zPXc1Llo2KDY2KTtscz0oODI2LjA2LDk5Ny4yKSE9PSgyNjIuNzksNzAwLjQpP3c1LmY2KDE3OSk6KG81LHc1Llo2KDM2KSk7ZHM9dzUuWjYoMjIzKTt2cz13NS5mNigxMTkpO2JzPXc1Llo2KDMwOCk7bXM9dzUuZjYoNDcpO2dzPXc1Llo2KDMxOSk7eXM9dzUuZjYoMTgxKTtrcz13NS5mNigzNDUpO3dzPXc1Llo2KDE1KTt4cz0vXigjfGphdmFzY3JpcHQpL2k7T3M9dzUuWjYoMzY2KTtDcz13NS5aNigxOTkpO0VzPXc1Llo2KDM4NCk7UHM9dzUuZjYoNDA2KTtUcz13NS5mNig0MjkpO0FzPXc1LmY2KDI0Nyk7RnM9dzUuZjYoNDQzKTtTcz13NS5mNigzMzgpO2pzPS8oPzpGaXJlZm94fENocm9tZSlcLyhbXGRcLl0rKSg/OiR8XHN8XC98XCkpKy9pO0xzPXc1Llo2KDM3MCk7enM9dzUuZjYoMzEwKTtCcz13NS5aNigzODYpO0lzPXc1Llo2KDI5NCk7TXM9dzUuWjYoMjgzKTtXcz13NS5aNigzODcpO0RzPXc1LmY2KDM5KTtVcz13NS5aNigxMDYpO1JzPXc1LmY2KDIwMik7TnM9dzUuWjYoMzExKTtIcz13NS5mNig0MzgpO3FzPXc1LmY2KDcxKTtKcz13NS5mNigxMzcpO1ZzPXc1Llo2KDI3KTskcz13NS5aNig4NCk7UXM9L18vZztHcz13NS5aNigxNTgpO1lzPXc1Llo2KDE5Mik7S3M9dzUuZjYoNDIzKTtacz13NS5mNigzMzkpO1hzPXc1Llo2KDE1MCk7dGE9dzUuWjYoMTQyKTtlYT13NS5mNig0KTtpYT13NS5aNig0MTApO25hPXc1LmY2KDIzNik7cmE9dzUuZjYoNDAyKTtvYT13NS5mNigyMTQpO3NhPXc1Llo2KDQxNyk7YWE9dzUuZjYoMTg0KTtjYT13NS5aNigxOTcpO3VhPXc1LmY2KDIzMyk7aGE9dzUuZjYoMzApO2ZhPS9saW51eC87cGE9dzUuWjYoMjgyKTtfYT0vb3BlcmEvO2xhPXc1Llo2KDM2NCk7ZGE9dzUuWjYoMTczKTt2YT13NS5aNigzMDApO2JhPXc1LmY2KDIzNSk7bWE9L2VkZ2V8b3ByXC8vO2dhPXc1LmY2KDI4NSk7eWE9dzUuZjYoNDYpO2thPXc1Llo2KDEzKTt3YT13NS5aNigyMDUpO3hhPXc1LmY2KDIyNCk7T2E9dzUuZjYoMzQ0KTtDYT13NS5aNigyMTMpO0VhPS9FZGdlXC8oW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTtQYT13NS5mNigxMjYpO1RhPXc1Llo2KDExNCk7QWE9L14oPzouKlteXHddKSooW1x3XSspXHMqJC9pO0ZhPXc1LmY2KDM5Mik7U2E9dzUuWjYoNjkpO2phPXc1LmY2KDMpO0xhPXc1LmY2KDQ1KTt6YT13NS5mNigzMjMpO0JhPXc1LmY2KDEzOSk7SWE9dzUuWjYoMTI5KTtNYT13NS5mNig4KTtXYT13NS5mNig0Mik7RGE9dzUuZjYoMSk7VWE9dzUuWjYoODkpO1JhPXc1LmY2KDIwOSk7TmE9dzUuZjYoMjgpO0hhPXc1LmY2KDIxOSk7cWE9dzUuWjYoMjMwKTtKYT13NS5aNig4MSk7VmE9dzUuWjYoMzA5KTskYT13NS5mNigzNDcpO1FhPXc1LmY2KDM4MSk7R2E9dzUuWjYoOTIpO1lhPXc1LmY2KDEyNSk7S2E9dzUuWjYoMzIpO1phPXc1LmY2KDM5MCk7WGE9dzUuZjYoNDY4KTt0Yz13NS5mNigzNik7ZWM9dzUuZjYoMzk3KTtpYz13NS5aNig0ODApO25jPXc1LmY2KDIyMik7cmM9dzUuZjYoNDU3KTtvYz13NS5aNigzNTIpO3NjPXc1Llo2KDI5KTthYz0vaShQaG9uZXxQYWR8UG9kKS9pO2NjPXc1LmY2KDQzNCk7dWM9dzUuZjYoNDIxKTtoYz13NS5aNig0NzMpO2ZjPXc1LmY2KDE3MCk7cGM9dzUuZjYoMjYyKTtfYz13NS5aNigxNTEpO2xjPXc1LmY2KDQ5KTtkYz13NS5mNigyNTQpO3ZjPXc1LmY2KDQyOCk7YmM9dzUuZjYoMTUzKTttYz13NS5aNigyNjkpO2djPXc1Llo2KDU3KTt5Yz13NS5mNigzNTcpO2tjPS9UcmlkZW50XC8uKj9ydjooW1xkXC5dKykoPzokfFxzfFwvfFwpKSsvaTt3Yz13NS5aNig0NTMpO3hjPXc1Llo2KDQ3Nik7T2M9dzUuZjYoNDU0KTtDYz13NS5mNig0NTgpO0VjPXc1LmY2KDgwKTtQYz0vOlxkKyQvO1RjPXc1Llo2KDI3Mik7QWM9dzUuWjYoMzI3KTtGYz13NS5mNig0NzkpO1NjPXc1Llo2KDYxKTtqYz13NS5mNigyOTEpO0xjPXc1Llo2KDIzMik7emM9dzUuWjYoMTEpO0JjPXc1LmY2KDM0Nik7SWM9dzUuWjYoMTA1KTtNYz13NS5aNig0NzcpO1djPXc1Llo2KDQwKTtEYz13NS5aNig3Nik7VWM9dzUuWjYoMTYpO1JjPXc1Llo2KDIyNyk7TmM9dzUuWjYoMjA0KTtIYz13NS5mNigzNyk7IWZ1bmN0aW9uKHQseSxSdCxYZSxyaSx5aSxBaSxObixkcixVcixpbyxybyxDbyxHcyx6YyxVYyxxYyxKYyxWYywkYyl7InVzZSBzdHJpY3QiO3ZhciBRYyxHYyxZYyxLYyxaYyxYYyx0dSxldSxpdSxudSxydSxvdSxzdSxhdSxjdSx1dSxodSxmdSxwdSxfdSxsdSxkdSx2dSxidSxtdSxndSx5dSxrdSx3dSx4dSxPdSxDdSxFdSxQdSxUdSxBdSxGdTtydT10O3c1Llk0KDApO291PXc1LmM0KHVpLEdyLGJyLF9yLFllLFNpLFR0LGRuLFllLHUsbWksT3QsR3IsWWUsdXIpO3c1Llk0KDEpO3N1PXc1LnU0KGZlLFR0LEh0LG90LFR0KTt3NS5vNCgxKTthdT13NS51NChXaSxQZSxLLF9jLFBlKTt3NS5ZNCgyKTtjdT13NS5jNChydSxnaSk7dzUubzQoMik7dXU9dzUudTQocnUsWm8pO3c1Lm80KDMpO2h1PXc1LmM0KE9jLHJ1LEJpLFV0LEdyLEdyKTt3NS5vNCgyKTtmdT13NS51NChydSwkYSk7cHU9YW87X3U9eGk7bHU9THI7ZHU9bW47dnU9eVtmXVtxbytHcitDXVtYcytHcit0cytHcituY10oKTtidT17dW5kZXI6bzUsbmV3VGFiOm81fTttdT1udWxsO2d1PW81O3l1PSF7fTtrdT1mdW5jdGlvbigpe307dzUuWTQoNCk7d3U9dzUudTQoR3IsT3QsRXQpO3h1PXJpW3ZzK0dyK0FvXXx8e3NyYzpudWxsfTt3NS5vNCg0KTtPdT15W2ZdW3c1LmM0KGVvLEdyLGtyKV07Q3U9eXU7RXU9eXU7UHU9eXU7VHU9ZnVuY3Rpb24oKXt2YXIgRTksbzksdzk7dHJ5e0U5PTM2MDIzMDM0MztvOT01MDA4ODEwMDM7dzk9Mjtmb3IodmFyIGI1PTE7dzUuTDEoYjUudG9TdHJpbmcoKSxiNS50b1N0cmluZygpLmxlbmd0aCw1ODI0MykhPT1FOTtiNSsrKXtyZXR1cm4geVtwXT09PXlbcXJdfHwheVtwXVttcl1bRWldWyhYcy1HciklaF0oKSE9VGM/eVtwXTp5W3FyXTt3OSs9Mjt9aWYodzUuTDEodzkudG9TdHJpbmcoKSx3OS50b1N0cmluZygpLmxlbmd0aCw1MTUyOSkhPT1vOSl7cmV0dXJuIHlbcF0hPT15W3FyXSYmdHlwZW9mIHlbcF1bbXJdW0VpXVtYcytHcitoXSgpPT09VGM/eVtwXTp5W3FyXTt9fWNhdGNoKHQpe3ZhciBBOSxJOSxLOTtBOT0yMjIyMDY4MDc7STk9NDU1MTUwMTA4O0s5PTI7Zm9yKHZhciBROT0xO3c1LkwxKFE5LnRvU3RyaW5nKCksUTkudG9TdHJpbmcoKS5sZW5ndGgsNjg5NDApIT09QTk7UTkrKyl7cmV0dXJuIFB1PWd1LHlbcXJdO0s5Kz0yO31pZih3NS5MMShLOS50b1N0cmluZygpLEs5LnRvU3RyaW5nKCkubGVuZ3RoLDU2NzU3KSE9PUk5KXtyZXR1cm4gUHU9Z3UseVtxcl07fX19KCk7QXU9VHVbSmFdW1FhXTtGdT1mdW5jdGlvbigpe3ZhciB0O3RyeXt0PVR1W0VpXVt1bl07fWNhdGNoKHQpe31yZXR1cm4hUHUmJnR8fChidT17bmV3VGFiOmd1LHVuZGVyOnl1fSx0PXJpW2lhXSksdDt9KCk7S2M9e3Q6W10sbjpmdW5jdGlvbih0KXt2YXIgSDcsdjcsVDc7SDc9MTg2NDAwNjYwNDt2Nz03MzE4NDIzNTE7VDc9Mjtmb3IodmFyIG83PTE7dzUuZDEobzcudG9TdHJpbmcoKSxvNy50b1N0cmluZygpLmxlbmd0aCw5MTY5NikhPT1INztvNysrKXt0eXBlb2YgeVt3c10hPT1nZSYmeVt3c11bT29dJiZObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO1Q3Kz0yO31pZih3NS5kMShUNy50b1N0cmluZygpLFQ3LnRvU3RyaW5nKCkubGVuZ3RoLDI0OTc5KSE9PXY3KXt+eVt3c109PT1nZXx8eVt3c11bT29dfHxObltvYV1bQ2ldKHlbd3NdW09vXSxjb25zb2xlLHQpO319LHI6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9MDt0PHRoaXMudFtwaV07dCsrKXt0aGlzLm4odGhpcy50W3RdKTt9fSxlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9W3RdW0tuXShBaVtYdF1bcW5dW0NpXShhcmd1bWVudHMsMSkpO3RoaXMudFtNcl0oZSk7R2MuaSgpJiZ0aGlzLm4oZSk7fX07ZXU9e3M6ZnVuY3Rpb24oKXtpZih0aGlzLm89PT1tdSl0cnl7eVthcytHcit0aV1bbGkrR3IrRXJdKHJ1LDEpO3lbYXMrR3IrdGldW3huK0dyK0VyXShydSk7dGhpcy5vPWd1O31jYXRjaCh0KXt2YXIgdzcscDcsYjk7dzc9LTE2MTA5ODQyMzA7cDc9OTg2NDU4NDQ2O2I5PTI7Zm9yKHZhciBtOT0xO3c1LmQxKG05LnRvU3RyaW5nKCksbTkudG9TdHJpbmcoKS5sZW5ndGgsODg3MTMpIT09dzc7bTkrKyl7dGhpcy5vPXl1O2I5Kz0yO31pZih3NS5MMShiOS50b1N0cmluZygpLGI5LnRvU3RyaW5nKCkubGVuZ3RoLDMzNDE0KSE9PXA3KXt0aGlzLm89eXU7fXRoaXMubz15dTt9cmV0dXJuIHRoaXMubzt9LHU6ZnVuY3Rpb24odCl7dGhpcy5zKCk/eVthcytHcit0aV1beG4rR3IrRXJdKHQpOnR1LnUodCk7fSxjOmZ1bmN0aW9uKHQpe3RyeXtyZXR1cm4gdGhpcy5zKCk/eVthcytHcit0aV1bYWErR3IrRXJdKHQpOnR1LmModCk7fWNhdGNoKHQpe3JldHVybiBtdTt9fSxvOm11LGE6ZnVuY3Rpb24odCxlKXt0aGlzLnMoKT95W2FzK0dyK3RpXVtsaStHcitFcl0odCxlKTp0dS5hKHQsZSk7fX07dHU9e3U6ZnVuY3Rpb24odCl7dGhpcy5hKHQsMCxuZXcgSmMoMCkpO30sYzpmdW5jdGlvbih0KXt2YXIgZTt3NS5ZNCg1KTtlPXJpW050XVtiY10obmV3IFVyKHc1LnU0KGVyLEdyLEdyLGV0LHNjLHQsR3IsR3IsdHQsdWMsR3IsR3IsSm8sR3IpLGxzKSk7cmV0dXJuIGU/VmMoZVswXVtDcl0oR3IrZXQrR3IpWzFdKTptdTt9LGE6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO3M9aXx8R3I7cyYmKHR5cGVvZiBzPT09V3Q/KG89bmV3IEpjKCkpW2xpK0dyK0hdKG9bYWErR3IrSF0oKSsxZTMqcyk6bz1zLHM9R3IrZXIrZmkrZXQrR3Irb1tYcytHcitWcitHcit4YytHcitXK0dyK2hdKCkpO3JpW050XT10KyhHcitldCtHcikrJGMoR3IrZSkrcysocj9HcitlcitkcytldCtHcityOkdyKSsoR3IrZXIrQXQrZXQrR3IpKyhufHxHcitQZStHcik7fX07WmM9e3A6ZnVuY3Rpb24odCl7dmFyIGUsaTtpPXt9O2ZvcihlPTA7ZTx0W3BpXTtlKyspe2lbdFtlXVswXV09dFtlXVsxXTt9cmV0dXJuIGk7fSxXOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbjt0cnl7cmV0dXJuIG49dFthYStHcitHaV0oZSksdHlwZW9mIGkhPT1UYz95dTohIW5ldyBVcihGbitpK01zLGxzKVtqY10obik7fWNhdGNoKHQpe3JldHVybiB5dTt9fSxBOmZ1bmN0aW9uKCl7dHJ5e3JldHVybiB0eXBlb2YgeS5qUXVlcnkuZm4ub249PT1aczt9Y2F0Y2godCl7cmV0dXJuIHl1O319LEc6ZnVuY3Rpb24odCl7cmV0dXJuKHQ/bmV3IEpjKHQpOm5ldyBKYygpKVthYStHcitIXSgpO30sTTpmdW5jdGlvbih0KXt2YXIgbTAsQTAsSTAsZSxsNyxjNyxWNzttMD0tMTc4MjYxMjU4MTtBMD0tMTYzMzI0MDE2NDtJMD0yO2Zvcih2YXIgcjA9MTt3NS5MMShyMC50b1N0cmluZygpLHIwLnRvU3RyaW5nKCkubGVuZ3RoLDM0ODU4KSE9PW0wO3IwKyspe0kwKz0yO31pZih3NS5MMShJMC50b1N0cmluZygpLEkwLnRvU3RyaW5nKCkubGVuZ3RoLDg0OTA2KSE9PUEwKXt9dHJ5e2w3PS0xMjU4NTI0ODY5O2M3PTc3MTI1MDQ2ODtWNz0yO2Zvcih2YXIgeTc9MTt3NS5kMSh5Ny50b1N0cmluZygpLHk3LnRvU3RyaW5nKCkubGVuZ3RoLDEwMjkyKSE9PWw3O3k3KyspeyhlPXRbSmFdW1FhXShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7VjcrPTI7fWlmKHc1LmQxKFY3LnRvU3RyaW5nKCksVjcudG9TdHJpbmcoKS5sZW5ndGgsMjYwMTcpIT09YzcpeyhlPXRbSmFdW1FhXSgoVWEtVnQpL2NpKSlbYm9dKCk7ZVtJb10oKTt9fWNhdGNoKHQpe30oZT1BdShVYStWdCtjaSkpW2JvXSgpO2VbSW9dKCk7fSxUOmZ1bmN0aW9uKHQpe3QmJihUdVtFaV09dCk7fSxxOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxpPVt5cixUbixFYSxCZSxqcyxabixqdCxrYyx3ZV0sbj0wO248aVtwaV07bisrKWlmKGU9aVtuXVtqY10odnUpKXtyZXR1cm4gdD9VYyhlWzFdLDEwKTplWzFdW1pdKFFzLEdyK1R0K0dyKTt9cmV0dXJuIG11O30sTDpmdW5jdGlvbih0LGUpe3c1Llk0KDcpO3JldHVybiB3NS51NChZZSxlcixHcix0LGllLHlzLEdyLGUsR3IsVmUsVnQsR3IpO30sXzpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUTAsZTAsajA7UTA9LTE2NDA5MDY2NDA7ZTA9MzYxNTQ4MTI4O2owPTI7Zm9yKHZhciB0MD0xO3c1LmQxKHQwLnRvU3RyaW5nKCksdDAudG9TdHJpbmcoKS5sZW5ndGgsMzk3NjcpIT09UTA7dDArKyl7aT15O3c1Llk0KDQpO249dFtDcl0odzUudTQoR3IsVHQsR3IpKTtmb3IoZT0wO2U8bltwaV07ZSsrKXtpPWlbbltlXV07fXJldHVybiBpO2owKz0yO31pZih3NS5MMShqMC50b1N0cmluZygpLGowLnRvU3RyaW5nKCkubGVuZ3RoLDQ3NjE4KSE9PWUwKXtpPXk7dzUuWTQoNik7bj10W0NyXSh3NS51NChUdCxHcixHcikpO2ZvcihlPTQ7ZTw9bltwaV07ZS0tKXtpPWlbbltlXV07fXJldHVybiBpO319LFM6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbyxzMCxEMCxXMCxVMCx4MCx6MDtvPXkualF1ZXJ5fHxudWxsO2lmKHQmJnRbQW5dKXtyZXR1cm4gZ3U7fWlmKCFvKXtyZXR1cm4geXU7fXRyeXtzMD0tMTYxNTA0NTA7RDA9LTE5OTUwMzAzNTQ7VzA9Mjtmb3IodmFyIGMwPTE7dzUuZDEoYzAudG9TdHJpbmcoKSxjMC50b1N0cmluZygpLmxlbmd0aCw5Nzc5KSE9PXMwO2MwKyspe2lmKChlPShvKHQpW2llXShHYSkmJm8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9VzArPTI7fWlmKHc1LkwxKFcwLnRvU3RyaW5nKCksVzAudG9TdHJpbmcoKS5sZW5ndGgsMjI1MTYpIT09RDApe2lmKChlPShvKHQpW2llXShHYSl8fG8uaih0LEdhKSlbZ3NdKVtwaV0pe3JldHVybiBndTt9fX1jYXRjaCh0KXt9dHJ5e1UwPS0xMjgxMDM4MTgyO3gwPS01MjI2MTY2MzI7ejA9Mjtmb3IodmFyIGkwPTE7dzUuTDEoaTAudG9TdHJpbmcoKSxpMC50b1N0cmluZygpLmxlbmd0aCwzMjg1OSkhPT1VMDtpMCsrKXtmb3IoZT1vKHJpW1FyXSlbaWVdKEdhKVtnc10saT00O2k+ZVtwaV07aS0tKWZvcihyPW8oZVtpXVtvZV0pLG49NztuPj1yW3BpXTtuLS0paWYocltuXT09dCl7cmV0dXJuIGd1O316MCs9Mjt9aWYodzUuTDEoejAudG9TdHJpbmcoKSx6MC50b1N0cmluZygpLmxlbmd0aCw4ODE3MikhPT14MCl7Zm9yKGU9byhyaVtRcl0pW2llXShHYSlbZ3NdLGk9NDtpPmVbcGldO2ktLSlmb3Iocj1vKGVbaV1bb2VdKSxuPTc7bj49cltwaV07bi0tKWlmKHJbbl09PXQpe3JldHVybiBndTt9fWZvcihlPW8ocmlbUXJdKVtpZV0oR2EpW2dzXSxpPTA7aTxlW3BpXTtpKyspZm9yKHI9byhlW2ldW29lXSksbj0wO248cltwaV07bisrKWlmKHJbbl09PT10KXtyZXR1cm4gZ3U7fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sQzpmdW5jdGlvbih0LGUsaSl7dmFyIG4scixvO289WmMuTyhvNSk7cmV0dXJuIG49b1t0bytHcit5YV1bbXJdW1VzK0dyK0NuXShkZSksbltPXT1yYStQZStDdCxuW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoSmErVHQrX3QrWWUrR3IrZXQrR3IrWWUrSmErVHQrcCtZZStHcitldCtHcitZZStKYStUdCt1cytHcitDbitZZStHcitldCtHcitZZStkK2VyK0dyKSsoSmErVHQrJG4rWWUrR3IrZXQrR3IrWWUrWnMrUit6K1ZlK0dyK1llK3NvK1ZlK0dyK1llK0NlK1ArR3IrWWUrR3Ird24rR3IpKyh1YStZZStCcytHcitYbytZZStHcitldCtHcitZZStKYStUdCtRYStSK3orVmUrR3IrWWUrc28rVmUrR3IrWWUrQ2UrUCtHcitlcitHcikrKFdyK1llK0dyK3duK0JzK0dyK1hvK1R0K1dvK1llK0dyK2V0K0dyK1llK2QrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSsoTnIrWWUrQnMrR3IrWG8rZXIrR3IpKyhHcitEcitHcitlcitHciksb1t0bytHcit5YV1bbXJdW1FyXVtJdCtHcitXZV0obikscj1vW3RvK0dyK3lhXS5ta3AodCxlLGkpLFpjLlAobykscjt9LEI6ZnVuY3Rpb24odCxlLG4pe3ZhciByLG8scztyPTA7bz1ufHwxMDtzPXQ7dHJ5e2Zvcig7cyYmcisrPG87KXtpZih0eXBlb2YgZT09PVRjJiYoc1tTYytHcittY109PT1lfHxaYy5JKHMsZSkpfHx0eXBlb2YgZT09PWFyJiZzPT09ZSl7cmV0dXJuIHM7fXc1Llk0KDQpO3M9c1t3NS51NChfdCxHcixpKV07fX1jYXRjaCh0KXt9cmV0dXJuIHl1O30sRjpmdW5jdGlvbih0KXt2YXIgZTtlPVJ0W1RlXTtyZXR1cm4gdHlwZW9mIHQhPT1nZSYmKGU9KGN0W2pjXSh0KXx8W0dyLEdyXSlbMV0pLGVbWl0oUGMsR3IpO30seDpmdW5jdGlvbih0KXtyZXR1cm4geWlbWHRdW1hzK0dyK2hdW0NpXSh0KT09PUdyK0pvK2FyK1llK2JuK3R0K0dyO30sazpmdW5jdGlvbih0KXt2YXIgZSxpLG4sUjAsUDAsSjA7aT1bXTtuPVpjLnYoKTt0cnl7UjA9LTE2Mjc2MTY5Mzc7UDA9LTIwMDI5NzgxNzY7SjA9Mjtmb3IodmFyIEIwPTE7dzUuTDEoQjAudG9TdHJpbmcoKSxCMC50b1N0cmluZygpLmxlbmd0aCw3NjkxMCkhPT1SMDtCMCsrKXtmb3IoZSBpbiBuKXt+dFtlXSE9Z2V8fGlbTXJdKGUvKChHci1ldCklR3IpLXRbZV0pO31KMCs9Mjt9aWYodzUuTDEoSjAudG9TdHJpbmcoKSxKMC50b1N0cmluZygpLmxlbmd0aCw4NjExMCkhPT1QMCl7Zm9yKGUgaW4gbil7fnRbZV0hPWdlfHxpW01yXShlLygoR3ItZXQpJUdyKS10W2VdKTt9fWZvcihlIGluIG4pe3R5cGVvZiB0W2VdIT09Z2UmJmlbTXJdKGUrKEdyK2V0K0dyKSt0W2VdKTt9fWNhdGNoKHQpe0tjLmUodCk7fXc1Llk0KDQpO3JldHVybiBpW05pXSh3NS5jNChHcixWZSxHcikpO30sUjpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5CKHQsT24pO30seTpmdW5jdGlvbigpe2Zvcih2YXIgdCxlPXt9LGk9MDtpPGFyZ3VtZW50c1twaV07aSsrKWZvcih0IGluIGFyZ3VtZW50c1tpXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0oYXJndW1lbnRzW2ldLHQpJiYoZVt0XT1hcmd1bWVudHNbaV1bdF0pO31yZXR1cm4gZTt9LFY6ZnVuY3Rpb24odCxlKXt2YXIgSjEsWDEsQjE7SjE9NDUyODczNzI5O1gxPTEyNzMxMDM4NTg7QjE9Mjtmb3IodmFyIE4xPTE7dzUuZDEoTjEudG9TdHJpbmcoKSxOMS50b1N0cmluZygpLmxlbmd0aCw1NTI1MSkhPT1KMTtOMSsrKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpKihlLXQpKSt0O0IxKz0yO31pZih3NS5kMShCMS50b1N0cmluZygpLEIxLnRvU3RyaW5nKCkubGVuZ3RoLDI4MzUxKSE9PVgxKXtyZXR1cm4gZHJbQWNdKGRyW01uXSgpJShlL3QpKSV0O319LFE6ZnVuY3Rpb24odCl7dmFyIGUsaSxuO3c1Llk0KDgpO2U9dzUuYzQodHlwZW9mIHQsYXIpO2k9dDt3NS5vNCg0KTtuPXJpW1VzK0dyK0NhXSh3NS51NChTbixHcix1bykpO25bTHMrR3IrU24rR3IrQ2FdKGdzLGd1LGd1LHksMCwwLDAsMCwwLGd1LHl1LHl1LGd1LDAsbXUpO2V8fChpPVpjLnooVSx7aHJlZjp0fHxpZStWdCtyYStQZStqbytWZStHcit1aStkZSt1citKYStUdCtJbytSK0dyK1ArR3IrZXIrR3IrdWkrR3IrUGUrZGUrdXIrR3J9KSxyaVtRcl1bSXQrR3IrV2VdKGkpKTtpW2duK0dyK0NhXShuKTtlfHxaYy5QKGkpO30sejpmdW5jdGlvbih0LGUsaSl7dmFyIG4scjtyPXJpW1VzK0dyK0NuXSh0KTtmb3IobiBpbiBlKXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShlLG4pJiZyW2xpK0dyK0dpXShuLGVbbl0pO31yZXR1cm4gaSYmKHJbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPWkpLHI7fSxZOmZ1bmN0aW9uKCl7dHJ5e3c1Lm80KDQpO3JldHVybiEhT3VbdzUuYzQoZW4sUGUsTWMpXVt3NS51NCgkaSxHcixXcyldO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sbDpmdW5jdGlvbih0KXt2YXIgZSxpLFk3LGY3LHM3O2U9WmMuXyh0KTt3NS5ZNCg0KTtpPXRbWl0oQWEsdzUudTQoR3Isem8scSkpO3RyeXtZNz0tMTYzMTA2MDI3MDtmNz0xOTgxNTM2MDYxO3M3PTI7Zm9yKHZhciBXNz0xO3c1LkwxKFc3LnRvU3RyaW5nKCksVzcudG9TdHJpbmcoKS5sZW5ndGgsMTYwMikhPT1ZNztXNysrKXtyZXR1cm4rbmV3IFVyKChacy9ZZS1HcikvIGkveHIsUnMpW2lyXShlW1hzJUdyL2hdKCkpO3M3Kz0yO31pZih3NS5MMShzNy50b1N0cmluZygpLHM3LnRvU3RyaW5nKCkubGVuZ3RoLDExNjM3KSE9PWY3KXtyZXR1cm4hbmV3IFVyKFpzK1llK0dyK2kreHIsUnMpW2lyXShlW1hzK0dyK2hdKCkpO319Y2F0Y2godCl7cmV0dXJuIHRbWHMrR3IraF0oKVtMK0dyK1dhXShrbytZZStycytZZStVK1llK1pzKT4tMT9ndTpYYy5kP2d1Onl1O319LHY6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbzt3NS5vNCg0KTtlPXlbdzUuYzQoUGEsR3IsZyldO3c1Llk0KDQpO2k9eVt3NS5jNChQYSxHcix3YyldO249eVtPaStHcitVZV18fHlbT2krR3IrV25dfHwwO3I9eVtPaStHcit4b118fHlbT2krR3IrQ2NdfHwwO289e307cmV0dXJuIG9bb2NdPWUsb1tLYV09aSxvW0hpXT1uLG9bcF09cixvW29yXT0wLG9bRWldPTEsb1tTcl09MSxvW09yXT0xLG8ucmVzaXphYmxlPTEsb1tNZV09MSxYYy5iJiYob1tLYV0rPVhjLm0/NDY6NTIpLFhjLmcmJihvW29jXS09NSxvW0thXS09NCksdHlwZW9mIHQ9PT1hciYmKG89WmMueShvLHQpKSxvO30sTzpmdW5jdGlvbih0KXt2YXIgZTtlPXJpW1VzK0dyK0NuXShjbik7cmV0dXJuIGVbeGVdW3h0XT1YaSx0JiZyaVtRcl1bSXQrR3IrV2VdKGUpLGU7fSxEOmZ1bmN0aW9uKHQpe3JldHVybiB0W1NjK0dyK21jXT09PUZjK0dyK1ZyK0dyK3hjK0dyK3hjK0dyK2ZjK0dyK2d0fHx0W1NjK0dyK21jXT09PXZhK0dyK2d0K0dyK210K0dyK1ZyK0dyK3hjJiZVbltpcl0odFthYStHcitHaV0oTykpfHx0aGlzLkIodCxGYytHcitWcitHcit4YytHcit4YytHcitmYytHcitndCkhPT15dTt9LFA6ZnVuY3Rpb24odCl7dCYmdFtfdCtHcitpXSYmdFtfdCtHcitpXVt4bitHcitXZV0odCk7fSxJOmZ1bmN0aW9uKHQsZSl7dmFyIG4scixvO2lmKHR5cGVvZiBlIT09VGMpe3JldHVybiB5dTt9aWYodHlwZW9mIHJpW2VlK0dyK3Z0K0dyK21dPT09WnMpdHJ5e3I9dFtfdCtHcitpXVtlZStHcit2dCtHcittXShlKXx8eS5qUXVlcnkoZSk7fWNhdGNoKHQpe31lbHNlIGlmKFpjLkEoKSl0cnl7cj15LmpRdWVyeShlKTt9Y2F0Y2godCl7fWlmKHIpZm9yKG89MDtvPHJbcGldO28rKylpZihyW29dPT09dCl7cmV0dXJuIGd1O31zd2l0Y2goZVswXSl7Y2FzZSBHcitUdCtHcjpuPVtsbyxlW2ZzXSgxKV07YnJlYWs7Y2FzZSBHcitzZStHcjpuPVtWYSxlW2ZzXSgxKV07fXJldHVybiBuP3RoaXMuVyh0LG5bMF0sblsxXSk6eXU7fSxmOmZ1bmN0aW9uKHQsZSl7dHJ5e3JldHVybiEoIXRba2ldW2VdfHwhdFtraV1bZV1bWW5dKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LE46ZnVuY3Rpb24odCl7dmFyIGU7ZT10aGlzLlIodCk7cmV0dXJuIGUmJmVbdW5dJiYheHNbaXJdKGVbdW5dKT9lW3VuXTp5dTt9LEo6ZnVuY3Rpb24odCxlLGksbil7Zm9yKHZhciByLG8scyxhPXRbWHMrR3IraF0oKVtDcl0obnx8R3IrVHQrR3IpLGM9ZVtYcytHcitoXSgpW0NyXShufHxHcitUdCtHciksdT0wLGY9ZHJbQm9dKGFbcGldLGNbcGldKTt1PGYmJihyPVVjKGFbdV18fDAsMTApLG89VWMoY1t1XXx8MCwxMCkscWMocikmJihyPTApLHFjKG8pJiYobz0wKSxzPXI+bz8xOi0xLHI9PT1vKTt1Kyspe3M9MDt9c3dpdGNoKGkpe2Nhc2UgR3IrdXIrR3I6dzUubzQoOCk7cmV0dXJuIHc1LnU0KDEscyk7Y2FzZSBHcit1citHcitldCtHcjp3NS5ZNCg5KTtyZXR1cm4gdzUuYzQocywxKTtjYXNlIEdyK3VpK0dyOnc1Lm80KDEwKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK3VpK0dyK2V0K0dyOnc1Llk0KDExKTtyZXR1cm4gdzUuYzQoMSxzKTtjYXNlIEdyK2V0K0dyK2V0K0dyOmNhc2UgR3IrZXQrR3IrZXQrR3IrZXQrR3I6ZGVmYXVsdDp3NS5ZNCg4KTtyZXR1cm4gdzUudTQoMCxzKTt9fSwkOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1wZVtDcl0oR3IpLGk9ZVtwaV0sbj0wLHI9R3I7bjx0O24rKyl7cis9ZVtkcltBY10oZHJbTW5dKCkqaSldO31yZXR1cm4gcjt9LGg6ZnVuY3Rpb24odCxlKXt0cnl7cmV0dXJuIHRbYWErR3IrR2ldKGUpO31jYXRjaCh0KXtyZXR1cm4geXU7fX0sSDpmdW5jdGlvbih0LGUsaSl7dmFyIG47dzUubzQoMik7bj13NS5jNChoaSx0KTtyZXR1cm4gdHlwZW9mIHlbbl0hPT1nZSYmcm8oeVtuXSkseVtuXT1pbyhlLGkpO30sdzpmdW5jdGlvbigpe3JldHVybiBQdTt9LFU6ZnVuY3Rpb24odCl7cmV0dXJuIHRbU2MrR3IrbWNdPT09dmErR3IrZ3QrR3IrbXQrR3IrVnIrR3IreGMmJm5lW2lyXSh0W2FhK0dyK0dpXShPKSl8fHRbU2MrR3IrbWNdPT09cGErR3IrT24rR3IrRmMrR3IrUHMrR3IrcGE7fX07aXU9e3R0OmZ1bmN0aW9uKHQsZSl7dmFyIGkscTUsbTUsQTU7dHJ5e3E1PS0xNDE1MjczNDIzO201PS0zMzc1MDc5MjY7QTU9Mjtmb3IodmFyIEs1PTE7dzUuZDEoSzUudG9TdHJpbmcoKSxLNS50b1N0cmluZygpLmxlbmd0aCwzNzU1NSkhPT1xNTtLNSsrKXtyZXR1cm4gZXx8KGk9cmlbKHdyLUdyKSVqbipHcipMY10odFtIYyVHci9VZV0sdFtIYy9Hci14b10pKT9pOnRbVGldJiZ0W1hzLUdyLUNuXSYmdFsoWHItR3IpJUNuXTtBNSs9Mjt9aWYodzUuTDEoQTUudG9TdHJpbmcoKSxBNS50b1N0cmluZygpLmxlbmd0aCw3MjUzNikhPT1tNSl7cmV0dXJuIGUmJihpPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXSx0W0hjK0dyK3hvXSkpP2k6dFtUaV18fHRbWHMrR3IrQ25dfHx0W1hyK0dyK0NuXTt9fWNhdGNoKHQpe3JldHVybiB5dTt9fSxYOmZ1bmN0aW9uKHQsZSxpLG4pe3JldHVybiB0eXBlb2YgdFtIbitHcitDYStHcitFbl09PT1acz90W0huK0dyK0NhK0dyK0VuXShlLGksbnx8e30pOnRbRmUrR3IrQ2FdKE5vK2UsaSk7fSxLOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByO3I9ZnVuY3Rpb24oKXtpdS5aKHQsZSxyLG4pO2lbQ2ldKCk7fTtpdS5YKHQsZSxyLG4pO30sWjpmdW5jdGlvbih0LGUsaSxuKXtyZXR1cm4gdHlwZW9mIHRbeG4rR3IrQ2ErR3IrRW5dPT09WnM/dFt4bitHcitDYStHcitFbl0oZSxpLG58fHt9KTp0W0tpK0dyK0NhXShObytlLGkpO319OyEoWGM9e2l0OmZhW2lyXSh2dSksbnQ6c3RbaXJdKHZ1KSxtOmxlW2lyXSh2dSksZXQ6YWNbaXJdKHZ1KSxydDpTb1tpcl0odnUpLG90OnNpW2lyXSh2dSl8fEpyW2lyXSh2dSl8fHVlW2lyXSh2dVtmc10oMCw0KSksc3Q6dm9baXJdKHZ1KSxnOkFyW2lyXSh2dSkmJiFfYVtpcl0odnUpLGI6bHJbaXJdKHZ1KSYmIW1hW2lyXSh2dSksYXQ6bWVbaXJdKHZ1KSYmIWdyW2lyXSh2dSksY3Q6eFtpcl0odnUpLGQ6Rltpcl0odnUpLHV0OnlvW2lyXSh2dSksX3Q6bXUscHQ6WmMucShndSl8fG11LGx0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3QhPT1tdT90aGlzLl90OnRoaXMuX3Q9UWMuZHQoKSE9PXl1O30sSjpmdW5jdGlvbih0LGUpe3JldHVybiBaYy5KKFhjLmZ0LGUsdCk7fSxodDptb1tpcl0odnUpJiYhenJbaXJdKHZ1KSxmdDpaYy5xKHl1KXx8bXV9KS5ldHx8WGMuaHR8fFhjLmR8fFhjLmJ8fChYYy51dD1vNSk7KFljPWZ1bmN0aW9uKHQsZSxpKXt2YXIgbjtuPWl8fHt9O25bel09ZTt0aGlzLnZ0KG4pO3RoaXMubXQuYnR8fCh0aGlzLm10LmJ0PXJ1K3QpO3RoaXMuZ3QoKTt9KVtYdF09e2t0OntUdDpndSxDdDptdSxqdDp5dSxFdDpHcitQZStHcixGdDprdSxMdDpndSxBdDp5dSxPdDpndSx4dDptdSxQdDpudWxsLGJ0Om11LHd0Om11LFN0Omt1fSxtdDp7fSx5dDpudWxsLHp0OlpjLnYoKSxCdDpaYy5wKFtbT3IsMF1dKSxJdDpaYy5wKFtbTWUsMV1dKSxNdDpaYy5wKFtbU3IsMV1dKSxXdDpaYy5wKFtbRWksMF0sW1NyLDBdXSksRHQ6WmMucChbW01lLDBdXSksVXQ6WmMucChbW1p0LDBdXSksUnQ6WmMucChbW0VpLDBdXSksc2V0T3B0aW9uczpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy52dCh0KTt9LGd0OmZ1bmN0aW9uKCl7dmFyIHQsZSxpLG47dD1mdW5jdGlvbih0LGUpe3ZhciBpLG47bj17fTtuW3B1XT1beXUsZ3VdO25bX3VdPVt5dSx5dV07bltsdV09W2d1LGd1XTtuW2R1XT1bZ3UseXVdO2ZvcihpIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixpKSYmbltpXVswXT09PXQmJm5baV1bMV09PT1lKXtyZXR1cm4gaTt9cmV0dXJuIF91O307ZT1YYy5sdCgpO2k9dChHYy5tdC4kdC5uZXdUYWIsR2MubXQuJHQudW5kZXIpO249dCh0aGlzLm10LkF0LHRoaXMubXQuVHQpO2V8fG49PT1wdSYmKG49aSk9PT1wdSYmKG49bHUpO1hjLm90JiYobj09PV91JiYobj1kdSksbj09PXB1JiYobj1sdSkpO3RoaXMueXQ9bjt9LEh0OmZ1bmN0aW9uKCl7dmFyIGswLG4wLEYwO2lmKHR5cGVvZiB0aGlzLm10Lnh0PT09WnMpdHJ5e3JldHVybiB0aGlzLm10Lnh0W0NpXSh0aGlzLHRoaXMubXQpW1hzK0dyK2hdKCk7fWNhdGNoKHQpe3JldHVybiBLYy5lKHQpLHl1O31rMD0tMTAwMjA0NzAxMztuMD0tMTY1MTM4NjMwNztGMD0yO2Zvcih2YXIgTTA9MTt3NS5MMShNMC50b1N0cmluZygpLE0wLnRvU3RyaW5nKCkubGVuZ3RoLDY4NDExKSE9PWswO00wKyspe3JldHVybiB0aGlzLm10Lnh0O0YwKz0yO31pZih3NS5kMShGMC50b1N0cmluZygpLEYwLnRvU3RyaW5nKCkubGVuZ3RoLDkwOTM5KSE9PW4wKXtyZXR1cm4gdGhpcy5tdC54dDt9fSxMdDpmdW5jdGlvbigpe3ZhciB0LGUsRzcsQzcsazcsVjAsdTAseTA7dD10aGlzLm10O2U9dC5PdCE9PU5zJiZ0Lk90IT09TmV8fHQuT3Q9PT1OcyYmWGMub3R8fHQuT3Q9PT1OZSYmIVhjLm90O3RyeXtHNz0tMTkzODMwODU3MjtDNz0tMTE3NzY0NDk2NDtrNz0yO2Zvcih2YXIgRjc9MTt3NS5kMShGNy50b1N0cmluZygpLEY3LnRvU3RyaW5nKCkubGVuZ3RoLDg5NDI0KSE9PUc3O0Y3Kyspe3R5cGVvZiB0Lkx0PT09WnM/ZT1lJiZ0Lkx0W0NpXSh0aGlzLGUsdGhpcy5OdCgpKSE9PXl1OnR5cGVvZiB0Lkx0PT09YW4mJihlPWUmJnQuTHQpO2s3Kz0yO31pZih3NS5MMShrNy50b1N0cmluZygpLGs3LnRvU3RyaW5nKCkubGVuZ3RoLDUzNDE4KSE9PUM3KXstdC5MdCE9PVpzP2U9ZXx8dC5MdFtDaV0odGhpcyxlLHRoaXMuTnQoKSk9PT15dTohdC5MdD09YW58fChlPWV8fHQuTHQpO319Y2F0Y2godCl7S2MuZSh0KTt9VjA9Njg3MDAyMDA4O3UwPS0yOTc1OTkyODc7eTA9Mjtmb3IodmFyIHYwPTE7dzUuTDEodjAudG9TdHJpbmcoKSx2MC50b1N0cmluZygpLmxlbmd0aCw2NDU0MSkhPT1WMDt2MCsrKXtyZXR1cm4gR2MuSnQoKT9lfHwtdGhpcy5WdDplfHwrdHUuYyh0LmJ0KTt5MCs9Mjt9aWYodzUuTDEoeTAudG9TdHJpbmcoKSx5MC50b1N0cmluZygpLmxlbmd0aCwyOTMyNSkhPT11MCl7cmV0dXJuIEdjLkp0KCk/ZXx8LXRoaXMuVnQ6ZXx8K3R1LmModC5idCk7fXJldHVybiBHYy5KdCgpP2UmJiF0aGlzLlZ0OmUmJiF0dS5jKHQuYnQpO30sdnQ6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHI7dGhpcy5tdD1aYy55KHRoaXMuenQsdGhpcy5rdCx0aGlzLm10LHR8fHt9KTtmb3IoaSBpbiB0aGlzLm10KWlmKHlpW1h0XVtCYStHcitsdCtHcitvb11bQ2ldKHRoaXMubXQsaSkpc3dpdGNoKG49dGhpcy5tdFtpXSxpKXtjYXNlIHNvOnRoaXMubXQud3Q9bjticmVhaztjYXNlIHo6dGhpcy5tdC54dD1uO2JyZWFrO2Nhc2UgTGU6dGhpcy5tdC5PdD0obitHcilbWHMrR3IrdHMrR3IrbmNdKCk7YnJlYWs7Y2FzZSBOdCtHcittYzp0aGlzLm10LmJ0PW47YnJlYWs7Y2FzZSBOdCtHcitUOnRoaXMubXQuQ3Q9bjticmVhaztjYXNlIE50K0dyK2VhOnRoaXMubXQuRXQ9bjticmVhaztjYXNlIE50K0dyKyRzOnRoaXMubXQuUHQ9bjticmVhaztjYXNlIEVlOnRoaXMubXQuVHQ9bjticmVhaztjYXNlIEErR3IrTG86dGhpcy5tdC5BdD1uO2JyZWFrO2Nhc2UgcHQrR3IramU6dGhpcy5tdC5GdD1uO2JyZWFrO2Nhc2UgamErR3IramU6dGhpcy5tdC5TdD1uO2JyZWFrO2Nhc2UgSWMrR3IrY3I6dGhpcy5tdC5qdD1uO2JyZWFrO2Nhc2UgdGUrR3Irc3M6dGhpcy5tdC5MdD1uO31pZighWGMub3QmJiF0aGlzLm10LkF0KWZvcihyPVtbWGMuZyYmMTE9PT1YYy5wdCx0aGlzLlV0XSxbWGMuYiYmWGMucHQ8NDEsdGhpcy5JdF0sW1hjLmIsdGhpcy5CdF0sW1hjLmQmJlhjLnB0PDQ3LHRoaXMuTXRdLFtYYy51dCx0aGlzLkR0XSxbWGMuY3QsdGhpcy5SdF0sW1hjLmImJlhjLnB0Pj01OSx0aGlzLld0XSxbWGMudXQmJlhjLnB0Pj00Nix0aGlzLld0XV0sZT0wO2U8cltwaV07ZSsrKWlmKHJbZV1bMF0pZm9yKGkgaW4gcltlXVsxXSl7eWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0ocltlXVsxXSxpKSYmKHRoaXMubXRbaV09cltlXVsxXVtpXSk7fX0sZ2V0T3B0aW9uczpmdW5jdGlvbigpe3JldHVybiB0aGlzLk50KCk7fSxOdDpmdW5jdGlvbigpe3ZhciB0LGU7ZT17fTtmb3IodCBpbiB0aGlzLm10KXt5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXSh0aGlzLm10LHQpJiZ0W3BpXT49MyYmKGVbdF09dGhpcy5tdFt0XSk7fXJldHVybiBlO30scXQ6ZnVuY3Rpb24oKXtHYy5KdCgpP3RoaXMuVnQ9Z3U6dHUuYSh0aGlzLm10LmJ0LDEsdGhpcy5tdC5DdCx0aGlzLm10LkV0LHRoaXMubXQuUHQpO319OyhudT1mdW5jdGlvbih0KXt2YXIgZTtlPXRoaXM7dGhpcy5RdD10O3RoaXMuR3Q9dGhpcy5ZdCgpO3RoaXMuS3Q9dGhpcy5adCgpO2l1LlgodGhpcy5HdCxncyxmdW5jdGlvbigpe0dzKGUuS3QpO1pjLlAoZS5HdCk7fSk7fSlbWHRdPXtZdDpmdW5jdGlvbigpe3ZhciB0LEs3LHI3LFE3O0s3PS0xODIwMzgxMDU7cjc9MTk5MDM1MjYxMTtRNz0yO2Zvcih2YXIgajc9MTt3NS5kMShqNy50b1N0cmluZygpLGo3LnRvU3RyaW5nKCkubGVuZ3RoLDg2ODQwKSE9PUs3O2o3Kyspe3Q9WmMueihoYyx7Y2xhc3M6ZnV9LEdyKTtyZXR1cm4gdGhpcy5RdFtTYytHcittY11bWHMrR3IrdHMrR3IrbmNdKCk9PT1Rcj9yaVtRcl1bSXQrR3IrV2VdKHQpOnRoaXMuUXRbX3QrR3IraV1bTmMrR3IrT3NdKHQsdGhpcy5RdFtWcytHcitrc10pLHQ7UTcrPTI7fWlmKHc1LkwxKFE3LnRvU3RyaW5nKCksUTcudG9TdHJpbmcoKS5sZW5ndGgsMzM0MykhPT1yNyl7dD1aYy56KGhjLHtjbGFzczpmdX0sR3IpO3JldHVybiB0aGlzLlF0W1NjKkdyL21jXVtYcypHci10cy1Hci1uY10oKT09UXI/cmlbUXJdW0l0L0dyL1dlXSh0KTp0aGlzLlF0W190L0dyJWldWyhOYy1HcikqT3NdKHQsdGhpcy5RdFsoVnMtR3IpJWtzXSksdDt9fSxadDpmdW5jdGlvbigpe3ZhciB0O3Q9dGhpcztyZXR1cm4gQ28oZnVuY3Rpb24oKXt2YXIgZSxpO2k9VWModC5RdFt4ZV1bc24rR3IrenNdLDEwKTt0LlF0W1NjK0dyK21jXVtYcytHcit0cytHcituY10oKT09PVFyJiYoaT05ZTkpOyhlPV9uK1Z0K2dvK2VyK0RhK1Z0K04rZXIrbG4rVnQraytlcitHcisoS2ErVnQrR3IpK3QuUXRbZnIrR3Ird2NdKyhobytlcitHcikrKG9jK1Z0K0dyKSt0LlF0W2ZyK0dyK2ddKyhobytlcitHcikrKEhpK1Z0K0dyKSt0LlF0W2ZyK0dyK1duXSsoaG8rZXIrR3IpKyhwK1Z0K0dyKSt0LlF0W2ZyK0dyK0NjXSsoaG8rZXIrR3IpKyhzbit3aStMK1Z0K0dyKSsocWMoaSk/MjppKzEpKSE9PXQuR3RbYWErR3IrR2ldKHhlKSYmdC5HdFtsaStHcitHaV0oeGUsZSk7fSwxNTApO319O251Llh0PWZ1bmN0aW9uKHQpe3ZhciBlO3c1Llk0KDEyKTtlPXc1LmM0KHJ1LExpLHdpLHdpLEdyLGllLEdyKTt0W2FhK0dyK0dpXShlKXx8dFthYStHcitHaV0obG8pPT09ZnV8fCh0W2xpK0dyK0dpXShlLDEpLG5ldyBudSh0KSk7fTsoUWM9e2R0OmZ1bmN0aW9uKCl7dmFyIHQsZTtlPXRoaXMuZWUoKTtmb3IodD0wO3Q8ZVtwaV07dCsrKWlmKGVbdF1bMV0oKT09PWd1KXtyZXR1cm4gZVt0XVswXTt9cmV0dXJuIHl1O30sZWU6ZnVuY3Rpb24oKXt2YXIgdDt0PVtdO3JldHVybiBYYy5vdHx8WGMuaXQ/W106KHRbTXJdKFt0aGlzLmllLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlhjLnB0Pj02NCYmWGMucHQ8Njc7fV0pLHRbTXJdKFt0aGlzLm5lLGZ1bmN0aW9uKCl7cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubnQmJlhjLnB0Pj00MyYmWGMucHQ8NjQ7fV0pLHRbTXJdKFt0aGlzLnJlLGZ1bmN0aW9uKCl7dmFyIGI3LHE3LG03O2I3PS02MDMwNTI0OTU7cTc9LTQwNjg3OTgwNDttNz0yO2Zvcih2YXIgSTc9MTt3NS5MMShJNy50b1N0cmluZygpLEk3LnRvU3RyaW5nKCkubGVuZ3RoLDU1NDM5KSE9PWI3O0k3Kyspe3JldHVybiBYYy5ifHxaYy5ZKCl8fFhjLm18fFhjLnB0PD0xN3x8WGMucHQ+PTg5O203Kz0yO31pZih3NS5MMShtNy50b1N0cmluZygpLG03LnRvU3RyaW5nKCkubGVuZ3RoLDYyMDk0KSE9PXE3KXtyZXR1cm4gWGMuYnx8WmMuWSgpfHxYYy5tfHxYYy5wdDw9MTd8fFhjLnB0Pj04OTt9cmV0dXJuIFhjLmImJlpjLlkoKSYmWGMubSYmWGMucHQ+PTQ5JiZYYy5wdDw2NDt9XSksdFtNcl0oW3RoaXMub2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZDt9XSksdFtNcl0oW3RoaXMuc2UsZnVuY3Rpb24oKXtyZXR1cm4gWGMuZyYmWGMucHQ+PTExO31dKSx0W01yXShbdGhpcy5hZSxmdW5jdGlvbigpe3JldHVybiBYYy5odDt9XSksdFtNcl0oW3RoaXMuY2UsZnVuY3Rpb24oKXt2YXIgVDAsRTAsbzA7VDA9MTIwNjMzNjEyMTtFMD0xMjk2MjQyMjUyO28wPTI7Zm9yKHZhciBwMD0xO3c1LmQxKHAwLnRvU3RyaW5nKCkscDAudG9TdHJpbmcoKS5sZW5ndGgsNDUyNzYpIT09VDA7cDArKyl7cmV0dXJuIFhjLnV0fHxYYy5udHx8WGMucHQ+PTc0O28wKz0yO31pZih3NS5MMShvMC50b1N0cmluZygpLG8wLnRvU3RyaW5nKCkubGVuZ3RoLDY1MzgpIT09RTApe3JldHVybiBYYy51dCYmWGMubnQmJlhjLnB0PD00ODt9fV0pLHQpO319KS50ZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMudGVbWHRdPXtfZTprdSx1ZTpmdW5jdGlvbih0KXt2YXIgcjUsUTUsZTU7cjU9LTk1ODI4OTMwMTtRNT0tNjIxNDQ4NDIyO2U1PTI7Zm9yKHZhciBaNT0xO3c1LmQxKFo1LnRvU3RyaW5nKCksWjUudG9TdHJpbmcoKS5sZW5ndGgsOTUyNjgpIT09cjU7WjUrKyl7dGhpcy5mZT10O2U1Kz0yO31pZih3NS5MMShlNS50b1N0cmluZygpLGU1LnRvU3RyaW5nKCkubGVuZ3RoLDE0MzU1KSE9PVE1KXt0aGlzLmZlPXQ7fX0sbGU6a3UscGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhO2k9dGhpcztuPWkuZmU7cj1uLkh0KCk7bz1uLm10O3M9by53dHx8WmMuJCg1KTthPVpjLmsobyk7aWYodD1mdW5jdGlvbigpe3RyeXtpZih0eXBlb2Ygby5GdD09PVpzJiZvLkZ0W0NpXShuLHIsbyk9PT15dSl7cmV0dXJuIHl1O319Y2F0Y2godCl7S2MuZSh0KTt9cmV0dXJuIG11O30sZT1mdW5jdGlvbih0KXtpZih0eXBlb2Ygby5TdD09PVpzKXRyeXtvLlN0W0NpXShuLHIsbyx0KTt9Y2F0Y2godCl7S2MuZSh0KTt9fSx0KCk9PT15dSl7cmV0dXJuIHl1O310eXBlb2Ygb1t6XT09PVRjJiZvW3pdIT09ciYmKHI9b1t6XSk7R2MuanQoby5qdCk7dGhpcy5fZSgpO3RyeXtyZXR1cm4gdGhpcy5sZShyLG8scyxhLGZ1bmN0aW9uKHQpe2kuZGUodCk7aS5oZSYmR2MuaGUoKTtlKHQpO30pO31jYXRjaCh0KXtyZXR1cm4gS2MuZSh0KSx5dTt9fSx2ZTpmdW5jdGlvbih0LGUsaSl7cmV0dXJuKEdjLm10LmJlP1pjLkM6QXUpKHQsZSxpKTt9LGRlOmt1LGhlOmd1fTtRYy5tZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMubWVbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTp5dSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3IodGhpcy52ZSh0LGksbikpO319KTtRYy5nZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuZ2VbWHRdPVpjLnkoUWMudGVbWHRdLHtoZTohWGMub3QmJiFYYy5kLGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7cih0aGlzLnZlKHQsRmkpKTt9fSk7UWMueWU9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnllW1h0XT1aYy55KFFjLnRlW1h0XSx7a2U6ZnVuY3Rpb24oKXt2YXIgdCxlLGk7dD1HYy53ZSgpO2U9R2MueGUuUztpPXR5cGVvZiBHYy5tdC5PZT09PVpzP0djLm10Lk9lW0NpXSgpOkdjLm10Lk9lO3JldHVybiBmdW5jdGlvbigpe3ZhciBuLHI7cmV0dXJuIGkhPT1GdT9pOihuPVpjLiQoMSkscj1lP2k6R2MuQ2UodCl8fGksZXUucygpfHwhWGMub3QmJiFYYy5nP3I6KHR1LmEoY3UsbixtdSkscltaXSh2cixHcikrKEdyK3NlK0dyKStuKSk7fSgpO30sbGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgeDksejksaDksbyxzLGEsYyx1LGgsZixwO3g5PTE3MTA2NjI4Nzg7ejk9LTEwMzk3MjE3MTM7aDk9Mjtmb3IodmFyIEw5PTE7dzUuZDEoTDkudG9TdHJpbmcoKSxMOS50b1N0cmluZygpLmxlbmd0aCwzMDE4NykhPT14OTtMOSsrKXtoOSs9Mjt9aWYodzUuZDEoaDkudG9TdHJpbmcoKSxoOS50b1N0cmluZygpLmxlbmd0aCw0NTQ4MCkhPT16OSl7fWE9dGhpcy5rZSgpO2M9R2Mud2UoKTt1PVpjLk4oYyk7aD0xNTtmPVtdO3A9ZnVuY3Rpb24odCl7dmFyIGU7dHlwZW9mIHRbQW5dPT09WnMmJihlPXRbQW5dLGl1LlgodCxncyxlKSk7dFtBbl09ZnVuY3Rpb24oKXtyZXR1cm4geXU7fTt9O2ZvcihHYy5FZSgpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKSE9PUZpJiZaYy5mKGMsdW4pJiYocChjKSwwIT09Y1thYStHcitHaV0odW4pW0wrR3IrV2FdKEN0KSYmKGE9Y1thYStHcitHaV0odW4pKT09PUdyJiYoYT1GdSkpLGMmJmNbU2MrR3IrbWNdPT09T24mJmNbYWErR3IrR2ldKFRpKT09PUZpJiZaYy5mKGMsdW4pJiYocChjKSxpbyhmdW5jdGlvbigpe2NbQW5dPW11O30sM2UzKSxHYy5tdC5QZT9hPWNbYWErR3IrR2ldKHVuKTooYT1GdSxYYy5vdCYmKFhjLnV0P2ZbTXJdKGZ1bmN0aW9uKCl7QXUoY1thYStHcitHaV0odW4pLEZpKTt9KTppbyhmdW5jdGlvbigpe0F1KGNbYWErR3IrR2ldKHVuKSxGaSk7fSwyMCkpKSksWGMuZXQmJlhjLnV0fHxYYy5ldCYmWGMuc3QmJiFYYy5kJiYhWGMuYiYmIVhjLmh0PyhBdShhLEZpKSxaYy5IKEJyLGZ1bmN0aW9uKCl7WmMuVCh0KTt9LGgpKTohWGMub3QmJlpjLmgoYyxUaSkhPT1GaSYmKFhjLnV0JiZYYy5zdHx8WGMuaHQmJlhjLnB0PDEwfHxYYy5iJiZYYy5wdDw0MSk/WGMudXQ/KFpjLlEoYSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KFpjLlEodCksY1tTYytHcittY109PT1PbiYmdSYmWmMuVCh1KSk6WGMuZXQmJlhjLmQ/KG89QXUoYSxGaSksWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6KG89eVtRYV0oVWErVnQrY2ksRmkpKT8ob1tFaV1bdW5dPWEsWmMuSChCcixmdW5jdGlvbigpe1pjLlQodCk7fSxoKSk6bz1BdSh0LEZpKSxzPTA7czxmW3BpXTtzKyspe2Zbc11bQ2ldKCk7fW8mJnIobyk7fX0pO1FjLm9lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5vZVtYdF09WmMueShRYy50ZVtYdF0se2hlOnl1LGxlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG87bz10aGlzLnZlKHQsaSxuKTtvW2tuXSgpO1R1W2JvXSgpO1pjLk0obyk7aW8oZnVuY3Rpb24oKXtyKG8pO30sMWUzKTt9fSk7UWMuY2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLmNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZSh0LGksbik7cz1HYy5UZSgxZTMpO2l1LksoeSxibyxmdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9KTtvW2NjXT1mdW5jdGlvbigpe2lvKGZ1bmN0aW9uKCl7WmMuUChzKTt9LDEwKTt9O3Iobyk7fX0pO1FjLmFlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5hZVtYdF09WmMueShRYy50ZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIEQ5LFc5LGw5LG87RDk9MTk0OTIwNzgwOTtXOT04OTkwMjg0O2w5PTI7Zm9yKHZhciBWOT0xO3c1LkwxKFY5LnRvU3RyaW5nKCksVjkudG9TdHJpbmcoKS5sZW5ndGgsNTc4NTApIT09RDk7VjkrKyl7bDkrPTI7fWlmKHc1LkwxKGw5LnRvU3RyaW5nKCksbDkudG9TdHJpbmcoKS5sZW5ndGgsNTEwNjgpIT09Vzkpe315W3NvXT1aYy4kKDUpO289dGhpcy52ZSh0LGksbik7dGhpcy52ZShHcix5W3NvXSxHcik7eVtzb109bXU7cihvKTt9LGhlOnl1fSk7UWMuc2U9ZnVuY3Rpb24odCl7dGhpcy51ZSh0KTt9O1FjLnNlW1h0XT1aYy55KFFjLnRlW1h0XSx7bGU6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbyxzO289dGhpcy52ZShQdT90OkZ1LGksbik7cz1mdW5jdGlvbigpe29bRWldW3VuXT10O307aXUuSyhvLGtuLHMpO29ba25dKCk7VHVbYm9dKCk7aW8ocywxMDApO3Iobyk7fSxoZTp5dX0pO1FjLm5lPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5uZVtYdF09WmMueShRYy50ZVtYdF0se0ZlOmZ1bmN0aW9uKCl7dmFyIHQsZTtlPVpjLnooYXIse2RhdGE6WmMuTChlbitQZStNYyx0aGlzLkFlKStaYy4kKDMpfSk7cmV0dXJuKHQ9WmMueihoYyx7c3R5bGU6UGkrVnQrYStlcitvYytWdCtIcytlcitLYStWdCtIcytlcitEYStWdCtOK2VyK3ArVnQrRnIrSGErR3IrZXIrSGkrVnQrem4rZXIrayt3aStHYStWdCtYaStlciskbytWdCthK2VyK0dyfSkpW0l0K0dyK1dlXShlKSxbZSx0XTt9LFNlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMueSh0LHt9KTtyZXR1cm4gZVtwXT1lW0hpXT05ZTUsZVtvY109ZVtLYV09MSxlO30sQWU6THQrR3IrdGErR3IrRmMrR3IrUHMrR3Irb24rR3IrV2MrR3IreG8rR3IrJCtHcithaStHcituK0dyK1NhK0dyK0tyK0dyK1F0K0dyK2t0K0dyK3p0K0dyK3RjK0dyK1l0K0dyK3ZhK0dyK3MrR3IrdmErdWMraG4rR3IrTGErR3IrenQrR3IrVytHcitEYytHcitaYStHcittdCtHcitWaStHcitzYStHcitVZStHcitUYStHcit2YStHcitWaStHcitQcitHcit4bytHcitVZStHcitpYytHcitwbytHcitLcitHcitKK0dyK2hzK0dyK1ppK0dyK3ZhK0dyK1ByK0dyK0xhK0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrWGErR3IrVHMrR3IrWmkrR3IrdmErR3IrUHIrR3IrSGUrR3IrenQrR3IrVytHcitGYytHcit0YytHcityYytHcithZStHcit2aStHcit2YStHcitQcitHcitydCtHcitwcytHcittdCtHcituYStHcitUbytHcityZStHcit4bytHcit0YStHcitqaStHcitXK0dyK2F0K0dyK3ZhK0dyK1ByK0dyK2MrR3IrYit1YytFK0dyK1FvK0dyK3BzK0dyK2RjK0dyK1l0K0dyK3ZhK0dyK1lhK0dyK1hhK0dyK1RzK0dyK1ppK0dyK3ZhK0dyK0dlK0dyK09lK0dyK2dhK0dyK0hvK0dyK3ZhK0dyK1ByK0dyK2t0K0dyK3p0K0dyK1crR3IrRmMrR3IrdGMrR3IrdmErR3Ircm4rdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitrdCtHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK09lK0dyK1krR3IrS3QrR3IreG8rR3IrVWUrR3IrYnMrR3IrRnQrR3IrUG8rR3IrRStHcitVZStHcitiaStHcitVZStHcitTZStHcitWcitHcitEcytHcit4bytHcitVZStHcitHbytHcit2YStHcitQdCtHcitVZStHcitScitHcit5YytHcitPZStHcitWbytHcitLcitHcit2YytHcitiZStHcitzK0dyK3hjK0dyK0tvK0dyK3IrR3IrYWkrR3IrZnQrdWMrQnQrR3IrVm4rR3IrRStHcitucitHcitBZStHcit6dCtHcitXK0dyK0RjK0dyK1phK0dyK210K0dyK1ZpK0dyK05hK0dyK1RzK0dyK010K0dyK2hyK0dyK1lzK0dyK0tzK0dyK0UrR3IrVWUrR3IrZm4rR3IrcmMrR3IrYWUrR3IrRCtHcitMdCtHcitWcitHcit0YStHcittdCtHcitacitHcitWcitHcitPZSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3ZhciBzLGEsYyx1LGg7dT10aGlzO2g9eXU7dHJ5eyhhPXRoaXMudmUoVWErVnQrY2ksRmkpKVttcl1bcnJdKHc1LnU0KHVyLEdyLEdyLGpvLFBlLHVpLEdyLFFyLEdyLFBlLG8sR3IsdWksdWksR3IsdXIsUGUsR3IsdXIsam8sR3IsdXIsbyx1aSxHcix1cixHcix1aSxRcix1cix1aSx3NS5ZNCgxMykpKTtpdS5LKGEscWEsZnVuY3Rpb24oKXtmdW5jdGlvbiBmKCl7bigpO2FbSW9dKCk7bygpO3JvKGMpO31ofHwoaD1ndSxzPWFbQmNdPUF1KFVhK1Z0K2NpLGksWmMuayh1LlNlKGUpKSksaXUuWChhLGJvLGYpLGM9aW8oZiwzZTMpLGFbbXJdW1FyXVtQYStHcithaStHcit4YytHcit6dCtHcitwYV09dS5GZSgpWzFdW1BuK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXSk7ZnVuY3Rpb24gbigpe3c1Llk0KDE0KTthW21yXVtRcl1bdzUudTQoUGEsenQsR3IsR3IsR3IseGMsR3IsYWkscGEpXT1Hcjt9ZnVuY3Rpb24gbygpe3ZhciBhMSxZMSxmMTthMT0tMTU2OTI3MTMyMDtZMT0yMzc1ODcyNDtmMT0yO2Zvcih2YXIgRDE9MTt3NS5MMShEMS50b1N0cmluZygpLEQxLnRvU3RyaW5nKCkubGVuZ3RoLDk0NDMyKSE9PWExO0QxKyspe3NbRWMlR3ItYmFdKGVbSGldLGVbcF0pO3NbZGElR3IqYmFdKGVbb2NdLGVbS2FdKTtzW0VpXVtaXSh0KTtyKHMpO2YxKz0yO31pZih3NS5kMShmMS50b1N0cmluZygpLGYxLnRvU3RyaW5nKCkubGVuZ3RoLDYyNDUzKSE9PVkxKXtzW0VjJUdyLWJhXShlW0hpXSxlW3BdKTtzW2RhJUdyKmJhXShlW29jXSxlW0thXSk7c1tFaV1bWl0odCk7cihzKTt9c1tFYytHcitiYV0oZVtIaV0sZVtwXSk7c1tkYStHcitiYV0oZVtvY10sZVtLYV0pO3NbRWldW1pdKHQpO3Iocyk7fX0pO31jYXRjaCh0KXt9fX0pO1FjLnJlPWZ1bmN0aW9uKHQpe3RoaXMudWUodCk7fTtRYy5yZVtYdF09WmMueShRYy5uZVtYdF0se2xlOmZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG8scztzPVpjLk8oZ3UpO2l1LksoeSxibyxmdW5jdGlvbigpe1pjLlAocyk7b1tFaV1bWl0odCk7cihvKTt9KTt3NS5vNCg0KTtvPXRoaXMudmUodzUuYzQoVWEsVnQsY2kpLEZpKTtzW3RvK0dyK3lhXVttcl1bcnJdKHRoaXMuRmUoKVsxXVtQbitHcithaStHcit4YytHcit6dCtHcitwYV0pO319KTtRYy5pZT1mdW5jdGlvbih0KXt0aGlzLnVlKHQpO307UWMuaWVbWHRdPVpjLnkoUWMudGVbWHRdLHtMZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47aT10aGlzO249eXU7dzUubzQoNCk7ZT10aGlzLnZlKHc1LmM0KFVhLFZ0LGNpKSx0Lnd0fHxGaSx0LkJlfHxHcik7dC56ZSYmKGUmJmVbSW9dKCksbj1ndSk7IW4mJmUmJmlvKGZ1bmN0aW9uKCl7ZVtFaV1bdW5dPXQueHQ7dC5JZSYmaS5JZShlKTt9LDEwMCk7fSx1ZTpmdW5jdGlvbih0KXt2YXIgZSxpLG47bj10aGlzO3RoaXMuamU9ZHJbTW5dKCk7dGhpcy5mZT10O2U9R2Mud2UoKTt3NS5vNCgxNSk7aT1aYy5CKGUsdzUuYzQoZ3QsR3IseGMsR3IsR3IsRmMseGMsR3IsZmMsR3IsVnIpKTsoZVtTYytHcittY109PT1PbiYmZVthYStHcitHaV0oanIpIT09RmkmJiFaYy5TKGUpfHxpJiYhWmMuUyhpKSkmJih0aGlzLmhlPWd1KTtpdS5YKHksSWUsZnVuY3Rpb24gdChlKXt0cnl7ZVtpZV0uamU9PT1uLmplJiZuLkxlKGVbaWVdKTtlW2llXS56ZSYmaXUuWih5LEllLHQpO31jYXRjaCh0KXt9fSk7fSxsZTpmdW5jdGlvbih0LGUsaSxuLHIpe3RoaXMuSWU9cjt0aGlzLk1lKHtqZTp0aGlzLmplLEJlOm4sSWU6Z3UseHQ6dH0pO3RoaXMuTWUoe2plOnRoaXMuamUsemU6Z3UseHQ6VWErVnQrY2l9KTt9LGhlOnl1LE1lOmZ1bmN0aW9uKHQpe3lbSnQrR3IrWF0odCx5W0VpXVtSb10pO319KTtHYz17X2k6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5RaSgpK3RoaXMuSGkoKT5aYy5HKCk7fSxLaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm10LkplO30sSmU6ZnVuY3Rpb24oKXt2YXIgdDt0PVpjLngoYXJndW1lbnRzWzBdKT9hcmd1bWVudHNbMF06YXJndW1lbnRzO3JldHVybiB0aGlzLm5uKHQsUm4sdFtwaV0mJnRbMF09PT15dSk7fSxraTpmdW5jdGlvbih0LGUsaSxuKXt0aGlzLk9pKGksdCxndSl8fG4oZ3UseXUpO30sV2k6ZnVuY3Rpb24odCl7dHJ5e3JldHVybiB0W3F0XSYmMCE9PXRbcXRdfHx0aGlzLmNpLkcrMTUwPlpjLkcoKTt9Y2F0Y2godCl7cmV0dXJuIHl1O319LFJpOmZ1bmN0aW9uKCl7dGhpcy5XZT1bXTt9LFlpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQucWU7fSxVaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLldlO30sWmU6bXUsVGk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHx0aGlzLnFpKHQpKXtyZXR1cm4geXU7fWlmKCF0aGlzLm10LnFlW3BpXXx8dFthYStHcitHaV0obG8pPT09ZnUpe3JldHVybiBndTt9Zm9yKDtlPHRoaXMubXQucWVbcGldO2UrKylpZih0PT09dGhpcy5tdC5xZVtlXXx8dHlwZW9mIHRoaXMubXQucWVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5xZVtlXVtYcytHcitwcitHcituY10oKXx8WmMuSSh0LHRoaXMubXQucWVbZV0pKXx8WmMuQih0LHRoaXMubXQucWVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LHdlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueGUuUXQ7fSxMaTpmdW5jdGlvbigpe3ZhciB0LGU7ZT10aGlzO3RoaXMuWmU9WmMueihoYyx7c3R5bGU6b2MrVnQrRnIrSGErR3IrZXIrS2ErVnQrRnIrSGErR3IrZXIrRGErVnQrSXMrZXIrcCtWdCt6bitlcitIaStWdCt6bitlcitzbit3aStMK1Z0K25vK2VyK3h0K1Z0K1hpK2VyK0dyfSxHcik7dD1DbyhmdW5jdGlvbigpe3ZhciBpO2k9cmlbUXJdO2kmJihHcyh0KSxpW0l0K0dyK1dlXShlLlplKSk7fSwxMDApO30saGk6ZnVuY3Rpb24oKXt2YXIgTjksYTksWTksdCxlLGk7Tjk9LTUxNTA4MTc1NzthOT0tMTMwNjg1MTEzNztZOT0yO2Zvcih2YXIgczk9MTt3NS5kMShzOS50b1N0cmluZygpLHM5LnRvU3RyaW5nKCkubGVuZ3RoLDEwMDExKSE9PU45O3M5Kyspe1k5Kz0yO31pZih3NS5MMShZOS50b1N0cmluZygpLFk5LnRvU3RyaW5nKCkubGVuZ3RoLDQ1MzQ0KSE9PWE5KXt9aT10aGlzLlhlLm9pO2Zvcih0PTA7dDx0aGlzLmZpW3BpXSYmKCF0aGlzLnBpKCkmJiF0aGlzLl9pKCkpO3QrKyl7aWYoZT10aGlzLmZpW3RdLHRoaXMuWGUuc2krKyx0aGlzLlhlLm9pPVpjLkcoKSx0aGlzLmxpKGUpPT09eXUpe3JldHVybiB0aGlzLlhlLnNpLS0sdm9pZCh0aGlzLlhlLm9pPWkpO31pPXRoaXMuWGUub2k7ZXUuYShodSx0aGlzLlhlLm9pKTtlLnl0PT09bHUmJmV1LmEodXUsdGhpcy5YZS5zaSk7fX0sT2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBuLHIsbyxzO3c1Lm80KDQpO289dzUuYzQoR3IsVHQsR3IpO3c1Llk0KDIpO3M9dzUuYzQobyx0KTtmb3Iobj0wO248ZVtwaV07bisrKWlmKHI9KEdyK090K0dyK1R0K0dyKVtMK0dyK1dhXShlW25dWzBdKT4tMT9lW25dOm8rZVtuXSxzW2ZzXShzW3BpXS1yW3BpXSk9PT1yfHxpJiZyPT09d3Upe3JldHVybiBndTt9cmV0dXJuIHl1O30sZW46ZnVuY3Rpb24odCxlKXt2YXIgTDAsZDAsTzAsaSxuO0wwPTEyMjU5MjUxNjQ7ZDA9LTc2NDA0NzIyNjtPMD0yO2Zvcih2YXIgQzA9MTt3NS5MMShDMC50b1N0cmluZygpLEMwLnRvU3RyaW5nKCkubGVuZ3RoLDk4MzQ3KSE9PUwwO0MwKyspe08wKz0yO31pZih3NS5MMShPMC50b1N0cmluZygpLE8wLnRvU3RyaW5nKCkubGVuZ3RoLDg1NTk4KSE9PWQwKXt9aT10aGlzO249dGhpcy50bih0LGUpO3RoaXMuV2VbTXJdKG4pO3RoaXMuRGkobik7dGhpcy5pbnx8KEdjLkNpKCksZnVuY3Rpb24oKXt2YXIgdCxlO1hjLmImJigoZT1yaVtVcytHcitDbl0oaGMpKVtSYytHcitpdF0oVmEsZnVuY3Rpb24oKXtDdT1ndTt9KSxDdT1vNSx0PUNvKGZ1bmN0aW9uKCl7aWYoQ3U9eXUsIWkubXQuUmUpe2lmKHR5cGVvZiB5W3dzXSE9PWFyfHx0eXBlb2YgeVt3c11bT29dIT09WnMpe3JldHVybiBDdT1vNSx2b2lkIEdzKHQpO315W3dzXVtPb10oZSk7eVt3c11bTWldKCk7fX0sNTAwKSk7fSgpLHRoaXMuaW49bzUpO30sUGk6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuSmkoKSx0P3RoaXMuZmlbcGldOnRoaXMuZmlbcGldPjA7fSx2aTpmdW5jdGlvbigpe3ZhciB0LGU7dD1aYy5HKCk7ZT1aYy5HKGF1KTt3NS5ZNCgxNik7dGhpcy5YZS5yaT13NS5jNChlLHQsMzE1MzYwMDAwMDApO3RoaXMuWGUucmkmJih0aGlzLmxpPWt1KTt9LEJpOmZ1bmN0aW9uKCl7dmFyIHQ7dD1VYyhldS5jKGh1KSwxMCk7cWModCkmJih0PTApO3RoaXMuWGUub2k9dDt9LENlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9WmMuTih0KTtyZXR1cm4gZSYmIXRoaXMubXQuTmUmJlpjLlModCk/eXU6ZTt9LGp0OmZ1bmN0aW9uKHQpe3ZhciBlLGksbjtlPXR5cGVvZiB0PT09Z2U/Z3U6ISF0O3c1Lm80KDIpO2k9dzUuYzQocnUsSSk7bj1yaVthYStHcitDbitHcitpaStHcit0bl0oaSk7ZT9ufHwobj1aYy56KERvLHtjb250ZW50OkljK3dpK2lhLG5hbWU6aWEsaWQ6aX0pLHJpW2FhK0dyK1JlK0dyK2lpK0dyK1JpK0dyK21jXShvKVswXVtJdCtHcitXZV0obikpOm4mJlpjLlAobik7fSxHaTpmdW5jdGlvbigpe3RoaXMuWGUuaWk9Z3U7dGhpcy5oaT1rdTt9LEp0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXQuRGU7fSx5aTpmdW5jdGlvbih0LGUsaSxuLHIpe2Zvcih2YXIgbyxzPTA7czxlJiYobz10W3NdLCEoMT09PW4mJihyKGlbcytlXSx0W3NdKmlbc10rcysoaVtzXT4+cyszKSl8fHIoaVtzKzIqZV0sdFtzXSoodFswXSt0WzFdK3RbMl0pKyhpW3NdPDxzKSl8fHIoaVtzKzMqZV0sZHJbQWNdKHRbMF0qdFsxXSp0WzJdL28pK28rKGlbc10+PnMpKSl8fG48MSYmKHIoaVtzK2VdLHRbc10qaVtzXStzKXx8cihpW3MrMiplXSx0W3NdKih0WzBdK3RbMV0rdFsyXSkpfHxyKGlbcyszKmVdLGRyW0FjXSh0WzBdKnRbMV0qdFsyXS9vKStvKSkpKTtzKyspO30scWk6ZnVuY3Rpb24odCl7dmFyIGU7ZT0wO2lmKCF0fHwhdGhpcy5tdC5KZVtwaV0pe3JldHVybiB5dTt9Zm9yKDtlPHRoaXMubXQuSmVbcGldO2UrKylpZih0PT09dGhpcy5tdC5KZVtlXXx8dHlwZW9mIHRoaXMubXQuSmVbZV09PT1UYyYmKHRbU2MrR3IrbWNdPT09dGhpcy5tdC5KZVtlXXx8WmMuSSh0LHRoaXMubXQuSmVbZV0pKXx8WmMuQih0LHRoaXMubXQuSmVbZV0pKXtyZXR1cm4gZ3U7fXJldHVybiB5dTt9LGNpOnt1aTp7fSxHOjB9LEhpOmZ1bmN0aW9uKCl7cmV0dXJuIFhjLm90P2RyW0JvXSh0aGlzLm10LlZlLDFlMyk6WGMuYnx8WGMuZ3x8WGMuY3R8fFhjLnV0JiYhWGMuZXQ/ZHJbQm9dKHRoaXMubXQuVmUsMjAwKTp0aGlzLm10LlZlO30sRWU6ZnVuY3Rpb24odCl7dmFyIGUsWjcsdDcsVTc7Wjc9LTEyNTc1NDEyNDI7dDc9MTMwMDY1ODcyMDtVNz0yO2Zvcih2YXIgejc9MTt3NS5MMSh6Ny50b1N0cmluZygpLHo3LnRvU3RyaW5nKCkubGVuZ3RoLDgzNTc3KSE9PVo3O3o3Kyspe2U9dHx8dGhpcy5jaS51aTtVNys9Mjt9aWYodzUuZDEoVTcudG9TdHJpbmcoKSxVNy50b1N0cmluZygpLmxlbmd0aCwzMDU1KSE9PXQ3KXtlPXQmJnRoaXMuY2kudWk7fXRyeXtlW01vK0dyK25pXSYmZVtNbytHcituaV0oKTtlW3FlK0dyK19zXSYmZVtxZStHcitfc10oKTt3NS5vNCg0KTtlW3c1LmM0KE5yLEdyLGNvKV09eXU7dzUubzQoNCk7ZVt3NS51NChtcyxHcixIcildPWd1O31jYXRjaCh0KXt9fSxpOmZ1bmN0aW9uKCl7dmFyIE8xLEcxLEMxO08xPS0xMzAyMzI0NTE3O0cxPTg4ODY0MDYzMDtDMT0yO2Zvcih2YXIgbjE9MTt3NS5kMShuMS50b1N0cmluZygpLG4xLnRvU3RyaW5nKCkubGVuZ3RoLDU5MTU1KSE9PU8xO24xKyspe3JldHVybiB0aGlzLm10LlVlfHx0aGlzLm10LkRlO0MxKz0yO31pZih3NS5MMShDMS50b1N0cmluZygpLEMxLnRvU3RyaW5nKCkubGVuZ3RoLDIzODAyKSE9PUcxKXtyZXR1cm4gdGhpcy5tdC5VZSYmdGhpcy5tdC5EZTt9fSxwaTpmdW5jdGlvbigpe3ZhciBoNyxpNyxMNztoNz0tMTUxMTEyMzE1NDtpNz0tMTY3MjAwNTI5NjtMNz0yO2Zvcih2YXIgTzc9MTt3NS5kMShPNy50b1N0cmluZygpLE83LnRvU3RyaW5nKCkubGVuZ3RoLDMyNTMzKSE9PWg3O083Kyspe3JldHVybiB0aGlzLiRpKCk8dGhpcy5tdC5IZTtMNys9Mjt9aWYodzUuTDEoTDcudG9TdHJpbmcoKSxMNy50b1N0cmluZygpLmxlbmd0aCwxOTk5KSE9PWk3KXtyZXR1cm4gdGhpcy4kaSgpPj10aGlzLm10LkhlO319LGdpOmZ1bmN0aW9uKHQsZSxpLG4scil7Zm9yKHZhciBvLHM9MDtzPGUmJihvPXRbc10sISgxPT09biYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzErKGlbc108PGlbc10lMTApLGlbZStzXSl8fHIob1trZStHcitucytHcitCaV0ob1twaV0tMSkqaVtzXSoyK3MrKGlbc10+PnMpLGlbMiplK3NdKXx8cihvW3BpXSppW3NdKjMrKGlbc108PHMpLGlbMyplK3NdKSl8fG48MSYmKHIob1trZStHcitucytHcitCaV0oMCkqaVtzXStzKzEsaVtlK3NdKXx8cihvW2tlK0dyK25zK0dyK0JpXShvW3BpXS0xKSppW3NdKjIrcyxpWzIqZStzXSl8fHIob1twaV0qaVtzXSozLGlbMyplK3NdKSkpKTtzKyspO30sV2U6W10sdG46ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IFljKHRoaXMuV2VbcGldLHQsZSk7fSxBaTpmdW5jdGlvbih0KXt0aGlzLmNpLnVpPXQ7dGhpcy5jaS5HPVpjLkcoKTt9LGFpOltdLE1pOmZ1bmN0aW9uKHQpe3JldHVybiBudS5YdCh0KSx0aGlzO30sWmk6ZnVuY3Rpb24oKXtyZXR1cm4gWmMucChbW1RyLHRoaXMubXQuRGVdLFtvaSx0aGlzLm10LlVlXSxbd3QsdGhpcy5tdC5SZV0sW0xyK0dyK3plLHRoaXMubXQuT2VdLFtSbitHcitFbix0aGlzLm10Lk5lXSxbRHQsdGhpcy5tdC5IZV0sW2xjK0dyK2JhLHRoaXMubXQucWVdLFtSbitHcitiYSx0aGlzLm10LkplXSxbUW4sdGhpcy5tdC5WZV0sW3crR3IrVix0aGlzLm10LiRlXSxbdytHcitEbix0aGlzLm10LlFlXSxbcG4rR3IrdHIrR3IrTG4sdGhpcy5tdC5HZV0sW0JzK0dyK2wrR3IrU3MsdGhpcy5tdC4kdF0sW05zK0dyKyRyLHRoaXMubXQuWWVdLFtJYytHcitwYytHcitfaSx0aGlzLm10LmJlXSxbTHMrR3IrYnQsdGhpcy5tdC5LZV0sW0IrR3IrdmUrR3IrX28rR3IreW4rR3IrTG4sdGhpcy5tdC5QZV1dKTt9LFRlOmZ1bmN0aW9uKHQpe3ZhciBlLGk7aT1aYy5PKGd1KTtyZXR1cm4gZT1pW3RvK0dyK3lhXVttcl1bVXMrR3IrQ25dKGRlKSwwPT09eVtFaV1bdW5dW0wrR3IrV2FdKGorVnQrR3IpP2VbUGErR3IrYWkrR3IreGMrR3IrenQrR3IrcGFdPUdyKyhXcitZZStHcit3bitHcikrKGYrVHQrUytUdCthYStHcitaZStHcitRaStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKTplW1BhK0dyK2FpK0dyK3hjK0dyK3p0K0dyK3BhXT1HcisoV3IrWWUrR3Ird24rR3IpKyhZcitUdCtjYStHcitfZStSK1pzK1IrR3IrUCtHcit3bitHcitEcitHcitQK0dyK2VyK0dyKSsoR3IrRHIrR3IrWWUrQXMrWWUrR3IrUitJYStQK0dyK1llK0dyK3duK0dyK0RyK0dyKSxpW3RvK0dyK3lhXVttcl1bUXJdW0l0K0dyK1dlXShlKSx0eXBlb2YgdCE9PVd0JiZ0eXBlb2YgdCE9PWdlfHxpbyhmdW5jdGlvbigpe1pjLlAoaSk7fSx0fHw1MDApLGk7fSxOaTpmdW5jdGlvbigpe3ZhciBvMSx3MSxwMTtvMT0tMjExMjgyOTI0MDt3MT00MjIxODMwODI7cDE9Mjtmb3IodmFyIHEwPTE7dzUuZDEocTAudG9TdHJpbmcoKSxxMC50b1N0cmluZygpLmxlbmd0aCwzNTgxNCkhPT1vMTtxMCsrKXtmb3IodmFyIHQsZT02O2U8PXRoaXMuV2VbcGldO2UtLSl7dD10aGlzLldlW2VdO3R1LnUodC5tdC5idCk7fXRoaXMuWGUub2k9dGhpcy5YZS5zaT00O2V1LnUodXUpO2V1LnUoY3UpO2V1LnUoaHUpO3AxKz0yO31pZih3NS5MMShwMS50b1N0cmluZygpLHAxLnRvU3RyaW5nKCkubGVuZ3RoLDUxMjkxKSE9PXcxKXtmb3IodmFyIHQsZT0yO2U8dGhpcy5XZVtwaV07ZSsrKXt0PXRoaXMuV2VbZV07dHUudSh0Lm10LmJ0KTt9dGhpcy5YZS5vaT10aGlzLlhlLnNpPTM7ZXUudSh1dSk7ZXUudShjdSk7ZXUudShodSk7fWZvcih2YXIgdCxlPTA7ZTx0aGlzLldlW3BpXTtlKyspe3Q9dGhpcy5XZVtlXTt0dS51KHQubXQuYnQpO310aGlzLlhlLm9pPXRoaXMuWGUuc2k9MDtldS51KHV1KTtldS51KGN1KTtldS51KGh1KTt9LHppOmZ1bmN0aW9uKCl7dmFyIHQ7dD0wO3JldHVybiBldS5zKCk/KHQ9ZXUuYyh1dSksZXUudSh1dSkpOnR1LmModXUpJiYocmlbaWFdPT09UnRbdW5dfHx+UnRbdW5dW0wrR3IrV2FdKEdyK3NlK0dyK3R1LmMoY3UpKSkmJih0PXR1LmModXUpLGlvKGZ1bmN0aW9uKCl7dHUudSh1dSk7dHUudShjdSk7fSwzMDApKSx0PVVjKHQsMTApLHQ9cWModCk/MDp0LHRoaXMuWGUuc2k9dDt9LG10OntOZTpndSxLZTp5dSxKZTpbXSxWZTowLCR0OmJ1LCRlOltdLERlOnl1LE9lOkZ1LEhlOjk5OTksUmU6eXUscWU6W10sWWU6MTAsVWU6eXUsUWU6Z3UsUGU6eXUsYmU6eXUsR2U6Z3V9LCRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuWGUuc2k7fSxRaTpmdW5jdGlvbigpe3JldHVybiB0aGlzLlhlLm9pO30sYmk6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8scyxhLGMsdSxuOSxGOSxnOTtzPXRoaXM7YT0wO2M9dGhpcy5YZTt1PWZ1bmN0aW9uKHQsZSl7dmFyIFA5LEo5LFg5O1A5PTMyNTI1NjI2O0o5PS05NTA1MjQwNDM7WDk9Mjtmb3IodmFyIFM5PTE7dzUuTDEoUzkudG9TdHJpbmcoKSxTOS50b1N0cmluZygpLmxlbmd0aCw0ODQ5MykhPT1QOTtTOSsrKXtyZXR1cm4gdD09PWV8fChjLm5pPWd1LHMubGk9a3UpLHQhPWU7WDkrPTI7fWlmKHc1LkwxKFg5LnRvU3RyaW5nKCksWDkudG9TdHJpbmcoKS5sZW5ndGgsNTM4MDApIT09Sjkpe3JldHVybiB0IT09ZSYmKGMubmk9Z3Uscy5saT1rdSksdCE9PWU7fX07aWYodHlwZW9mIHlbcnVdW2FyXSE9PWdlKXtjLm5pPW11O3Q9eVtydV1bYXJdW1huXSgpO2U9eVtydV1bYXJdW1huXSgpO2k9eVtydV1bYXJdW1huXSgpO249eVtydV1bYXJdW1huXSgpO3I9WmMuRigoeVtydV1bYXJdW1huXSgpfHx7c3JjOm51bGx9KVtYcl0pO289WmMuRih4dVtYcl0pO3RyeXtuOT0xNDUwNjEyMjI1O0Y5PS01NjY0Nzc2Nzc7Zzk9Mjtmb3IodmFyIFI5PTE7dzUuZDEoUjkudG9TdHJpbmcoKSxSOS50b1N0cmluZygpLmxlbmd0aCwyODY5NSkhPT1uOTtSOSsrKXthPXlbcnVdW2FyXVtYbl0oKSYmNztnOSs9Mjt9aWYodzUuZDEoZzkudG9TdHJpbmcoKSxnOS50b1N0cmluZygpLmxlbmd0aCwzODQzOCkhPT1GOSl7YT15W3J1XVthcl1bWG5dKCkmJjc7fWE9eVtydV1bYXJdW1huXSgpfHwwO31jYXRjaCh0KXt9YT1kcltCb10oMCxkcltrYV0oMSxhKSk7dGhpcy5taSh0LG8scix1KTt0aGlzLmdpKHQsdFtwaV0sZSxhLHUpO3RoaXMueWkoaSxpW3BpXSxuLGEsdSk7dGhpcy5raSh0LHRbcGldLFpjLkYoKSx1LHUpO3RoaXMud2koaSxaYy5HKCkpO2Mubmk9PT1tdSYmKGMubmk9eXUpO31jLnhpPWF8fDA7fSxFaTpmdW5jdGlvbih0LGUpe3ZhciBkOSxPOSxHOTtkOT04MzA2MTMyMTE7Tzk9MTQwNDM5MjY4MztHOT0yO2Zvcih2YXIgazk9MTt3NS5kMShrOS50b1N0cmluZygpLGs5LnRvU3RyaW5nKCkubGVuZ3RoLDE2MDEwKSE9PWQ5O2s5Kyspe3RoaXMueGUuUXQ9dDt0aGlzLnhlLlM9ZTtHOSs9Mjt9aWYodzUuZDEoRzkudG9TdHJpbmcoKSxHOS50b1N0cmluZygpLmxlbmd0aCw3Njg2OSkhPT1POSl7dGhpcy54ZS5RdD10O3RoaXMueGUuUz1lO319LFhpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbix1OSx5OSxIOTtuPXR8fHt9O2ZvcihlIGluIG4paWYoeWlbWHRdW0JhK0dyK2x0K0dyK29vXVtDaV0obixlKSlzd2l0Y2godGhpcy5tdFtlXT1pPW5bZV0sZSl7Y2FzZSBUcjp0aGlzLm10LkRlPWk7YnJlYWs7Y2FzZSBvaTp0aGlzLm10LlVlPWk7YnJlYWs7Y2FzZSB3dDp0aGlzLm10LlJlPWk7YnJlYWs7Y2FzZSBMcitHcit6ZTp0aGlzLm10Lk9lPWk7YnJlYWs7Y2FzZSBSbitHcitFbjp0aGlzLm10Lk5lPWk7YnJlYWs7Y2FzZSBEdDp0aGlzLm10LkhlPWk7YnJlYWs7Y2FzZSBsYytHcitiYTp0aGlzLnFlW29hXSh0aGlzLGkpO2JyZWFrO2Nhc2UgUm4rR3IrYmE6dGhpcy5KZVtvYV0odGhpcyxpKTticmVhaztjYXNlIFFuOnRoaXMubXQuVmU9aTticmVhaztjYXNlIHcrR3IrVjp0aGlzLm10LiRlPWk7YnJlYWs7Y2FzZSB3K0dyK0RuOnRoaXMubXQuUWU9aTticmVhaztjYXNlIHBuK0dyK3RyK0dyK0xuOnRoaXMubXQuR2U9aTticmVhaztjYXNlIEJzK0dyK2wrR3IrU3M6dGhpcy5tdC4kdD1pO2JyZWFrO2Nhc2UgTnMrR3IrJHI6dGhpcy5tdC5ZZT1pO2JyZWFrO2Nhc2UgSWMrR3IrcGMrR3IrX2k6dGhpcy5tdC5iZT1pO2JyZWFrO2Nhc2UgTHMrR3IrYnQ6dGhpcy5tdC5LZT1pO2JyZWFrO2Nhc2UgQitHcit2ZStHcitfbytHcit5bitHcitMbjp0aGlzLm10LlBlPWk7fXU5PTE1MDY0OTg2ODA7eTk9NjExNzc3ODY1O0g5PTI7Zm9yKHZhciBUOT0xO3c1LkwxKFQ5LnRvU3RyaW5nKCksVDkudG9TdHJpbmcoKS5sZW5ndGgsNjMyMykhPT11OTtUOSsrKXtyZXR1cm4gdGhpcztIOSs9Mjt9aWYodzUuZDEoSDkudG9TdHJpbmcoKSxIOS50b1N0cmluZygpLmxlbmd0aCw2MzczOSkhPT15OSl7cmV0dXJuIHRoaXM7fX0saGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksZzcsTTcsUjc7Zzc9LTM5MDQ0MjA2O003PS0xNjI0Njc4MzI1O1I3PTI7Zm9yKHZhciBKNz0xO3c1LkwxKEo3LnRvU3RyaW5nKCksSjcudG9TdHJpbmcoKS5sZW5ndGgsNTI1MzkpIT09Zzc7SjcrKyl7ZT10aGlzLndlKCk7aT10aGlzLmNpLnVpO1I3Kz0yO31pZih3NS5MMShSNy50b1N0cmluZygpLFI3LnRvU3RyaW5nKCkubGVuZ3RoLDg0NzUzKSE9PU03KXtlPXRoaXMud2UoKTtpPXRoaXMuY2kudWk7fXRyeXsodD1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0oZ3MsZ3UsZ3UseSwxLGlbT2krR3IrVWVdLGlbT2krR3IreG9dLGlbSGMrR3IrVWVdLGlbSGMrR3IreG9dLHl1LHl1LHl1LHl1LDAsbXUpO3RbVW9dPWd1O2VbZ24rR3IrQ2FdKHQpO31jYXRjaCh0KXtLYy5lKHQpO319LFZpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuUGkobzUpO30sU2k6ZnVuY3Rpb24oKXt2YXIgdCxpLG4scixvLHM7cj10aGlzO289NTAwO3M9ZnVuY3Rpb24odCxlKXt2YXIgaSxuO249WGMuYj9lYzpnczsoaT1yaVtVcytHcitDYV0oU24rR3IrdW8pKVtMcytHcitTbitHcitDYV0obixndSxndSx5LDEsZVtPaStHcitVZV0sZVtPaStHcit4b10sZVtIYytHcitVZV0sZVtIYytHcit4b10seXUseXUseXUseXUsMCxtdSk7aS5mYz1ndTt0W2duK0dyK0NhXShpKTt9O2l1LlgocmksJHQsZnVuY3Rpb24ocil7dmFyIG8sRjEsZzEsTTE7dzUubzQoNCk7bz1yW3c1LnU0KHNyLEdyLGUpXVswXTtGMT05NTkwNTM3NzY7ZzE9LTE3NzY2NDMwNTc7TTE9Mjtmb3IodmFyIFAxPTE7dzUuZDEoUDEudG9TdHJpbmcoKSxQMS50b1N0cmluZygpLmxlbmd0aCw4NTkzNCkhPT1GMTtQMSsrKXt3NS5vNCgxOCk7dD1yW3c1LnU0KG9zLEpzLEdyKV07dzUuWTQoMTkpO2k9b1t3NS51NChHcixmbyxVZSldO3c1Lm80KDIwKTtuPW9bdzUuYzQoeG8sZm8sR3IpXTtNMSs9Mjt9aWYodzUuTDEoTTEudG9TdHJpbmcoKSxNMS50b1N0cmluZygpLmxlbmd0aCwxMTM5OCkhPT1nMSl7dzUubzQoMjEpO3Q9clt3NS5jNChvcyxKcyxHcildO3c1Llk0KDIyKTtpPW9bdzUuYzQoR3IsVWUsZm8pXTt3NS5vNCg2KTtuPW9bdzUuYzQoR3IseG8sZm8pXTt9dzUubzQoNCk7dD1yW3c1LnU0KG9zLEdyLEpzKV07dzUuWTQoNCk7aT1vW3c1LmM0KGZvLEdyLFVlKV07dzUubzQoNCk7bj1vW3c1LnU0KGZvLEdyLHhvKV07fSxndSk7aXUuWChyaSx2LGZ1bmN0aW9uKGEpe3ZhciBjLHUsaCxTMCxOMCxhMDtTMD0xMTI5ODE1NDEyO04wPS00NTk2NDE3MTE7YTA9Mjtmb3IodmFyIGYwPTE7dzUuZDEoZjAudG9TdHJpbmcoKSxmMC50b1N0cmluZygpLmxlbmd0aCw5MDQxMCkhPT1TMDtmMCsrKXt3NS5vNCg0KTtjPWFbdzUuYzQoc3IsR3IsZSldWzBdO3U9aXUudHQoYSk7aD1yLm10LlllO2EwKz0yO31pZih3NS5MMShhMC50b1N0cmluZygpLGEwLnRvU3RyaW5nKCkubGVuZ3RoLDUxODk1KSE9PU4wKXt3NS5ZNCg2KTtjPWFbdzUudTQoR3IsZSxzcildWzRdO3U9aXUudHQoYSk7aD1yLm10LlllO31kcltGc10oY1tmbytHcitVZV0taSk+PWh8fGRyW0ZzXShjW2ZvK0dyK3hvXS1uKT49aHx8YVtvcytHcitKc10tdD5vfHxyLm10LlllPD0wfHxYYy5odCYmRGlbaXJdKHVbU2MrR3IrbWNdKXx8ci5YZS5paXx8ci5YZS5uaXx8ci5YZS5yaXx8ci5waSgpfHxyLl9pKCl8fCFyLlBpKCl8fCFyLlRpKHUpfHwhci5tdC5OZSYmWmMuUyh1KXx8KHVbU2MrR3IrbWNdPT09T24mJnIuRWUoYSkscyh1LGMpKTt9LGd1KTt9LG1pOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByLG87bz15dTtmb3Iocj0wO3I8dFtwaV07cisrKWlmKHRbcl09PT13dSl7bz1ndTticmVhazt9byYmKGV8fGkpJiYoIXRoaXMuT2koZSx0KXx8IXRoaXMuT2koaSx0KXx8eVtydV1bdW5dJiZ5W3J1XVt1bl1bcGldJiYhdGhpcy5PaShaYy5GKCkseVtydV1bdW5dKSkmJm4oZ3UseXUpO30seGU6e1F0Om11LFM6eXV9LHFlOmZ1bmN0aW9uKCl7dmFyIHQ7dD1aYy54KGFyZ3VtZW50c1swXSk/YXJndW1lbnRzWzBdOmFyZ3VtZW50cztyZXR1cm4gdGhpcy5ubih0LGxjLHRbcGldJiZ0WzBdPT09eXUpO30sd2k6ZnVuY3Rpb24odCxlLGkpe3ZhciBXMSxsMSxjMTtXMT0xMTQ2NjMzOTY5O2wxPTU4MTgzMzU3NjtjMT0yO2Zvcih2YXIgdTE9MTt3NS5kMSh1MS50b1N0cmluZygpLHUxLnRvU3RyaW5nKCkubGVuZ3RoLDY5ODkxKSE9PVcxO3UxKyspe1pjLkcodFtOaV0oR3IrUGUrR3IpKTxlJiZpKGd1LHl1KTtjMSs9Mjt9aWYodzUuZDEoYzEudG9TdHJpbmcoKSxjMS50b1N0cmluZygpLmxlbmd0aCw0ODMyNikhPT1sMSl7WmMuRyh0W05pXShHciVQZSVHcikpPj1lfHxpKGd1LHl1KTt9fSxDaTpmdW5jdGlvbigpe3ZhciByLG8scyxhLGMsdSxoLGYscCxfO2Z1bmN0aW9uIHQoKXt2YXIgdCxlO3c1Lm80KDE3KTtlPVt3NS51NChIbixUdCxHcixFbixHcixDYSxKYSksdzUuYzQoeG4sVHQsR3IsRW4sR3IsQ2EsSmEsdzUubzQoMTcpKSx3NS5jNChKYSxUdCxRYSx3NS5ZNCg0KSksdzUuYzQoQ24sR3IsVXMsbXIsVHQsdzUubzQoMSkpLHc1LnU0KFdlLEdyLHhuLG1yLFR0LHc1Llk0KDEpKV07Zm9yKHQ9MDt0PGVbcGldO3QrKylpZihaYy5sKGVbdF0pKXtyZXR1cm4gS2MuZSh0LFpjLmwoZVt0XSkpLGd1O31yZXR1cm4geXU7fWZ1bmN0aW9uIGkoaSl7dT0yO198fChfPWd1LGlvKGZ1bmN0aW9uKCl7Xz15dTt9LFhjLm90PzUwMDoxNTApLEN1JiYhcC5VZXx8KHI9aXUudHQoaSksbz1aYy5CKHIsT24pLGM9WmMuUyhyKSxyW2FhK0dyK0dpXShsbyk9PT1mdT8oclt4ZV1beHRdPVhpLFpjLlAocikscj1pdS50dChpLGd1KSk6byYmKHM9KHI9bylbYWErR3IrR2ldKFRpKSxhPVpjLk4ociksYz1aYy5TKHIpKSxmLkVpKHIsYyksZi5YZS5paXx8Zi5YZS5uaXx8Zi5YZS5yaXx8aVtVb118fGUoZi5jaS51aVtPXSYmZi5jaS51aVtPXSE9PWlbT10pfHxlKHAuS2UmJiFFdSl8fGUoIWlbSGMrR3IrVWVdJiYhaVtIYytHcit4b10pfHxlKCFYYy5vdCYmIVhjLmcmJnR5cGVvZiBpW3F0XSE9PWdlJiYwIT09aVtxdF0pfHxlKCFYYy5vdCYmIWYuWmUmJihYYy5jdHx8WGMuYnx8WGMudXQpKXx8ZSghWGMub3QmJiFwLkdlJiYoWGMuYnx8WGMudXQpJiZzPT09RmkpfHxlKGYucGkoKSl8fGUoZi5faSgpKXx8ZSghZi5QaSgpKXx8ZSghZi5UaShyKSl8fGUoYyYmIXAuTmUpfHxlKCFwLlJlJiZ0KCkpfHwoZi5BaShpKSxYYy5ldCYmbyYmYSYmZi5FZShpKSxYYy5vdHx8IW98fGN8fChYYy5iJiZzIT09RmkmJlpjLlkoKXx8cC5HZSYmcz09PUZpJiYoWGMuYnx8WGMudXQpKSYmZi5FZShpKSxmLkZpPW11LGYuaGkoKSkpKTt9Zj10aGlzO3A9Zi5tdDtfPXl1O2Z1bmN0aW9uIGUodCl7cmV0dXJuKyt1LHQmJktjLmUodSksdDt9cC5SZXx8IXQoKT8oaD1YYy5kfHxYYy5nP3FhOmVjLGZ1bmN0aW9uKCl7aXUuWChyaSxncyxpLGd1KTtYYy5vdD8oaXUuWChyaSxlYyxuLGd1KSxpdS5YKHJpLHFhLG4sZ3UpKTppdS5YKHJpLGgsbixndSk7fSgpLHRoaXMuU2koKSx0aGlzLmppKCksdGhpcy5MaSgpLHRoaXMuemkoKSx0aGlzLkJpKCkpOktjLmUoeXUpO2Z1bmN0aW9uIG4odCl7cj1vPWM9cz1hPW11OyFYYy5vdCYmdFtIYytHcitVZV0rKFhjLm50PzE3OjE1KT55W1BhK0dyK2ddP3AuUWUmJigocj17fSkuc2Nyb2xsYmFyPWd1LGYuRWkocix5dSksZi5waSgpfHxmLl9pKCl8fCFmLlBpKCl8fGYuaGkoKSk6aSh0KTt9fSxsaTpmdW5jdGlvbih0KXtpZih0aGlzLlhlLmlpfHx0aGlzLlhlLm5pfHx0aGlzLlhlLnJpKXtyZXR1cm4geXU7fXN3aXRjaCh0Lnl0KXtjYXNlIF91Om5ldyBRYy5tZSh0KS5wZSgpO2JyZWFrO2Nhc2UgZHU6bmV3IFFjLmdlKHQpLnBlKCk7YnJlYWs7Y2FzZSBsdTpuZXcgUWMueWUodCkucGUoKTticmVhaztjYXNlIHB1OnRyeXtuZXcoUWMuZHQoKSkodCkucGUoKTt9Y2F0Y2godCl7S2MuZSh0KTt9fXJldHVybiB0LnF0KCksZ3U7fSxqaTpmdW5jdGlvbigpe3ZhciB0LGUsaSxuLHIsbztuPXRoaXM7cj17fTtvPWZ1bmN0aW9uKHQpe2ZvcihlPTA7ZTx0W3BpXTtlKyspe24uTWkodFtlXSk7fX07Q28oZnVuY3Rpb24oKXt2YXIgZTtmb3IodD0wO3Q8bi5tdC4kZVtwaV07dCsrKXtpZihlPW4ubXQuJGVbdF0sKGk9cmlbYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGUpKVtwaV0mJm4ucGkoKXx8IW4uUGkoKSl7cmV0dXJuO310eXBlb2YgcltlXSE9PWdlJiZyW2VdPT09aVtwaV18fG8oaSk7fX0sMWUzKTt9LElpOmZ1bmN0aW9uKHQpe3ZhciBlLGksbixyLG8scyxlOSxqOSxaOTtvPTI7cz15dTtmb3IoZT0wO2U8PW87ZSsrKXtpZigobj1yaVt3citHcitqbitHcitMY10odFtIYytHcitVZV0rZSx0W0hjK0dyK3hvXSkpJiZuW1NjK0dyK21jXT09PXBhK0dyK09uK0dyK0ZjK0dyK1BzK0dyK3BhKXtzPWd1O2JyZWFrO31mb3IoaT0wO2k8PW87aSsrKWlmKChuPXJpW3dyK0dyK2puK0dyK0xjXSh0W0hjK0dyK1VlXStlLHRbSGMrR3IreG9dK2kpKSYmbltTYytHcittY109PT1wYStHcitPbitHcitGYytHcitQcytHcitwYSl7cz1ndTticmVhazt9aWYocylicmVhazt9aWYocylmb3Iocz15dSxyPW5bYWErR3IrUmUrR3IraWkrR3IrUmkrR3IrbWNdKGVpKSxlPTA7ZTxyW3BpXTtlKyspaWYoWmMuVShyW2VdKSl7cz1ndTticmVhazt9ZTk9MTI0NjQ2Mzc5O2o5PTE4ODY4MTA5NztaOT0yO2Zvcih2YXIgVTk9MTt3NS5MMShVOS50b1N0cmluZygpLFU5LnRvU3RyaW5nKCkubGVuZ3RoLDU5MDM1KSE9PWU5O1U5Kyspe3JldHVybiBzP246eXU7WjkrPTI7fWlmKHc1LmQxKFo5LnRvU3RyaW5nKCksWjkudG9TdHJpbmcoKS5sZW5ndGgsNDQ5MzkpIT09ajkpe3JldHVybiBzP246eXU7fX0sRGk6ZnVuY3Rpb24oKXtpZighdGhpcy5YZS5laSl7dGhpcy5YZS5laT1ndTt0cnl7dGhpcy52aSgpO3RoaXMuYmkoKTt9Y2F0Y2godCl7fUtjLmUoW3RoaXMuWGUubmk/MDoxLHRoaXMuWGUucmk/MDoxLHRoaXMuWGUueGldW05pXShHcikpO319LFhlOnt0aTp5dSxuaTpndSxlaTp5dSxvaTowLHJpOmd1LHNpOjAsaWk6eXV9LG5uOmZ1bmN0aW9uKHQsZSxpKXtmb3IodmFyIG4scj0wLG89ZT09PVJuP3RoaXMubXQuSmU6dGhpcy5tdC5xZTtpJiZvW3BpXTspe29bQnNdKCk7fWZvcig7cjx0W3BpXTtyKyspe3R5cGVvZihuPXRbcl0pPT09VGM/b1tNcl0obik6dHlwZW9mIG49PT1hciYmdHlwZW9mIG5bd2ErR3IrbWNdPT09VGMmJm9bTXJdKG4pO31yZXR1cm4gdGhpczt9LEppOmZ1bmN0aW9uKCl7dmFyIHkxLEgxLHYxLHQsZTt5MT0xNzAzNzYyNDUyO0gxPTEyMTk1OTkwMzk7djE9Mjtmb3IodmFyIEUxPTE7dzUuZDEoRTEudG9TdHJpbmcoKSxFMS50b1N0cmluZygpLmxlbmd0aCwzODk3NykhPT15MTtFMSsrKXtlPTY7Zm9yKHRoaXMuZmk9W107ZT49dGhpcy5XZVtwaV07ZS0tKXsodD10aGlzLldlW2VdKS5MdCgpfHx0aGlzLmZpW01yXSh0KTt9djErPTI7fWlmKHc1LmQxKHYxLnRvU3RyaW5nKCksdjEudG9TdHJpbmcoKS5sZW5ndGgsMjE2MzkpIT09SDEpe2U9MTtmb3IodGhpcy5maT1bXTtlPnRoaXMuV2VbcGldO2UrKyl7KHQ9dGhpcy5XZVtlXSkuTHQoKSYmdGhpcy5maVtNcl0odCk7fX1lPTA7Zm9yKHRoaXMuZmk9W107ZTx0aGlzLldlW3BpXTtlKyspeyh0PXRoaXMuV2VbZV0pLkx0KCkmJnRoaXMuZmlbTXJdKHQpO31yZXR1cm4gdGhpcy5maTt9LGRpOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2kudWk7fX07aXUuWCh5LFN0LGZ1bmN0aW9uKCl7dmFyIFg3LEI3LFM3O1g3PTIwMTA5MDA5MDY7Qjc9LTE2OTQwNjQ1NTI7Uzc9Mjtmb3IodmFyIGE3PTE7dzUuTDEoYTcudG9TdHJpbmcoKSxhNy50b1N0cmluZygpLmxlbmd0aCwxNDk3OSkhPT1YNzthNysrKXtFdT0hMTtTNys9Mjt9aWYodzUuZDEoUzcudG9TdHJpbmcoKSxTNy50b1N0cmluZygpLmxlbmd0aCw2MjI0OCkhPT1CNyl7RXU9IXt9O31FdT1vNTt9KTtpbyhmdW5jdGlvbigpe3c1Lm80KDE1KTtLYy5lKHc1LnU0KFNpLFllLEdyLFR0LFllLE0sR3IsWWUsUWUsT3QsQW8pKTt3NS5vNCg0KTtLYy5lKHc1LmM0KHhhLFZ0LEdyKSxvdSk7dzUuWTQoNCk7S2MuZSh3NS5jNChxaSxWdCxHciksc3UpO3c1Lm80KDQpO0tjLmUodzUudTQoRXMsVnQsR3IpLGF1KTt9LDEwKTt5W3J1XT15W3J1XXx8ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG87cj17fTtvPVpjLnAoW1trbytHcitSYStHcitudCxbR2MsR2MuaV1dLFtKbixzdV0sW0d0LG91XSxbWW8rR3IraXMsYXVdLFt6YSxbR2MsR2MuWGkscl1dLFthYStHcitJaSxbR2MsR2MuWmldXSxbYWErR3IrUStHcitiYSxbR2MsR2MuWWldXSxbYWErR3IrX28rR3IrYmEsW0djLEdjLktpXV0sW3crR3IrQ24sW0djLEdjLk1pXV0sW0huLFtHYyxHYy5lbixyXV0sW0duLFtHYyxHYy5oaSxyXV0sW2VzLFtHYyxHYy5HaSxyXV0sW2xjK0dyK2JhLFtHYyxHYy5xZSxyXV0sW1JuK0dyK2JhLFtHYyxHYy5KZSxyXV0sW2FhK0dyK2h0K0dyK0NuLFtHYyxHYy53ZV1dLFthYStHcitubitHcitabyxbR2MsR2MuJGldXSxbYWErR3IreWUrR3IrWm8sW0djLEdjLlZpXV0sW0JhK0dyK3llLFtHYyxHYy5QaV1dLFtrbytHcitkdCtHcitKZSxbR2MsR2MucGldXSxbYWErR3IrVXQrR3IramUrR3IrQmksW0djLEdjLlFpXV0sW2FhK0dyK1V0K0dyK0NhLFtHYyxHYy5kaV1dLFt6aSxbR2MsR2MuTmldXSxbYWErR3IrXyxbR2MsR2MuVWldXSxbRm8rR3IrXyxbR2MsR2MuUmldXSxbaGErVHQrT28sW0tjLEtjLmVdXSxbaGErVHQrRyxbS2MsS2Mucl1dLFtPYStUdCtsaSxbdHUsdHUuYV1dLFtPYStUdCthYSxbdHUsdHUuY11dLFtPYStUdCt4bixbdHUsdHUudV1dLFt0aStUdCtrbytHcitkaSxbZXUsZXUuc11dLFt0aStUdCtsaSxbZXUsZXUuYV1dLFt0aStUdCthYSxbZXUsZXUuY11dLFt0aStUdCt4bixbZXUsZXUudV1dLFtjZStUdCtKbixYYy5wdF0sW2NlK1R0K0lyK0dyK3FpLFhjLmZ0XSxbY2UrVHQra28rR3IrQ3MsWGMuaXRdLFtjZStUdCtrbytHcitYbyxYYy5udF0sW2NlK1R0K2tvK0dyK01hLFhjLm1dLFtjZStUdCtrbytHcit2YStHcitmYytHcit0YyxYYy5ldF0sW2NlK1R0K2tvK0dyK0JuLFhjLnJ0XSxbY2UrVHQra28rR3Irdm4sWGMub3RdLFtjZStUdCtrbytHcitoZSxYYy5zdF0sW2NlK1R0K2tvK0dyK3l0LFhjLmF0XSxbY2UrVHQra28rR3IrZ2MsWGMuYl0sW2NlK1R0K2tvK0dyK0luLFhjLmRdLFtjZStUdCtrbytHcitGYSxYYy5odF0sW2NlK1R0K2tvK0dyK3ZhK0dyK1BzLFhjLmddLFtjZStUdCtrbytHcitjcyxYYy5jdF0sW2NlK1R0K2tvK0dyK0VvLFhjLnV0XSxbY2UrVHQrSm4rR3IrdXQsW1hjLFhjLkpdXSxbY2UrVHQrYW8rR3IrZGksW1hjLFhjLmx0XV0sW0NhK1R0K2xjK0dyK3FzLFtpdSxpdS5LXV0sW0NhK1R0K2xjLFtpdSxpdS5YXV0sW0NhK1R0K2xhLFtpdSxpdS5aXV0sW0NhK1R0K2FhK0dyK3luLFtpdSxpdS50dF1dLFtLZStUdCtrbytHcit2ZStHciskZSxbWmMsWmMud11dLFtLZStUdCtKbitHcit1dCxbWmMsWmMuSl1dLFtLZStUdCtvcyxbWmMsWmMuR11dLFtLZStUdCt3byxbWmMsWmMueV1dLFtLZStUdCtKaSxbWmMsWmMuJF1dLFtLZStUdCtVcytHcitDbixbWmMsWmMuel1dLFtLZStUdCt4bitHcitDbixbWmMsWmMuUF1dLFtLZStUdCthYStHcitVaSxbWmMsWmMuQl1dLFtLZStUdCtEZStHcitZaSxbWmMsWmMuSF1dXSk7Zm9yKGUgaW4gbylpZih5aVtYdF1bQmErR3IrbHQrR3Irb29dW0NpXShvLGUpKXtmb3Iobj1lW0NyXShHcitUdCtHciksdD1yLGk9MDtpPG5bcGldLTE7aSsrKXt0eXBlb2YgdFtuW2ldXT09PWdlJiYodFtuW2ldXT17fSk7dD10W25baV1dO310W25bbltwaV0tMV1dPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIFpjLngodFtlXSk/MT09PXRbZV1bcGldP3RbZV1bMF06ZnVuY3Rpb24oKXtyZXR1cm4gMj09PXRbZV1bcGldP3RbZV1bMV1bb2FdKHRbZV1bMF0sYXJndW1lbnRzKToodFtlXVsxXVtvYV0odFtlXVswXSxhcmd1bWVudHMpLHRbZV1bMl0pO306dFtlXTt9KG8sZSk7fXJldHVybiByO30oKTt9KHQucG9wbnN8fHpjK0dyK1VjK0dyK09jLHQsdFtFaV0sdFtPaV0sdFttcl0sdFtyb10sdFtibl0sdFtObl0sdFtDb10sdFtyaStHcitpb10sdFtsaStHcitZaV0sdFtNaStHcitZaV0sdFtsaStHcitBaV0sdFtNaStHcitBaV0sdFtMdCtHcit0YytHcitmYytHcitndF0sdFt5K0dyK1J0XSx0W2tvK0dyK3lpK0dyK2d0XSx0W2lzXSx0W1hlK0dyK1ZyK0dyK0dzK0dyK3ZhK0dyK1VyXSx0W2RyXSk7fSh3aW5kb3cpO2Y1eXkuSD1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC55PT09J2Z1bmN0aW9uJz9mNXl5LkwueS5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwueTt9O2Y1eXkuVz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Y1eXkuZz1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC5PPT09J2Z1bmN0aW9uJz9mNXl5LkwuTy5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5LkwuTzt9O2Y1eXkuZj1mdW5jdGlvbiAoKXtyZXR1cm4gdHlwZW9mIGY1eXkuTC52PT09J2Z1bmN0aW9uJz9mNXl5Lkwudi5hcHBseShmNXl5LkwsYXJndW1lbnRzKTpmNXl5Lkwudjt9O2Z1bmN0aW9uIGY1eXkoKXt9ZjV5eS5CPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5MLnk9PT0nZnVuY3Rpb24nP2Y1eXkuTC55LmFwcGx5KGY1eXkuTCxhcmd1bWVudHMpOmY1eXkuTC55O307ZjV5eS5SPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5JPWZ1bmN0aW9uICgpe3JldHVybiB0eXBlb2YgZjV5eS5DLnY9PT0nZnVuY3Rpb24nP2Y1eXkuQy52LmFwcGx5KGY1eXkuQyxhcmd1bWVudHMpOmY1eXkuQy52O307ZjV5eS5MPWZ1bmN0aW9uKEQpe3JldHVybnt5OmZ1bmN0aW9uKCl7dmFyIEcsZD1hcmd1bWVudHM7c3dpdGNoKEQpe2Nhc2UgMjpHPWRbMF0qZFsxXTticmVhaztjYXNlIDA6Rz1kWzBdfGRbMV07YnJlYWs7Y2FzZSAxOkc9ZFsxXS1kWzBdO2JyZWFrO31yZXR1cm4gRzt9LE86ZnVuY3Rpb24oVil7RD1WO319O30oKTtmNXl5Lno9ZnVuY3Rpb24gKCl7cmV0dXJuIHR5cGVvZiBmNXl5LkwuTz09PSdmdW5jdGlvbic/ZjV5eS5MLk8uYXBwbHkoZjV5eS5MLGFyZ3VtZW50cyk6ZjV5eS5MLk87fTtmNXl5LkM9ZnVuY3Rpb24oKXt2YXIgUT0yO3doaWxlKFEhPT0xKXtzd2l0Y2goUSl7Y2FzZSAyOnJldHVybnt2OmZ1bmN0aW9uKFUpe3ZhciBiPTI7d2hpbGUoYiE9PTE0KXtzd2l0Y2goYil7Y2FzZSAyOnZhciBLPScnLGw9ZGVjb2RlVVJJKCJ0JTExa2JsYyU3RCUwNmhiZGxtbDYhJTNDJTNDKyU1QmNkLTo1JTVENyg4Jy8lNUJ3LzI4bWolM0M4KTA3YiolMUMyJTI1bSUwN3ElN0RvYmslMTh3JTdDc2RtaDcpKSUyMipaMmQlMTgtNUErKS5vbXMlMTUlMjUlM0UwKyU1QiUzQyUxMXUlMjA2TXk/KScsSy1kJTNFOSxLMi00OyUyMCUwNjojMCU3RDUlNUM6IzMya0s2IXU5Kks4JTIwNTo2JTVDcSUxRiUzRScsWC1sMCUyMDYlNUN5Ljh1KUc4KDgxZUolM0MqMiclMjAlMDg1JTI1JTNFMCslNUIlM0NsOyUzQylNcWIxOiZJNSIpO2I9MTticmVhaztjYXNlIDk6Sys9U3RyaW5nLmZyb21DaGFyQ29kZShsLmNoYXJDb2RlQXQoWSleVS5jaGFyQ29kZUF0KGspKTtiPTg7YnJlYWs7Y2FzZSAxOnZhciBZPTAsaz0wO2I9NTticmVhaztjYXNlIDU6Yj1ZPGwubGVuZ3RoPzQ6NzticmVhaztjYXNlIDM6az0wO2I9OTticmVhaztjYXNlIDg6WSsrLGsrKztiPTU7YnJlYWs7Y2FzZSA0OmI9az09PVUubGVuZ3RoPzM6OTticmVhaztjYXNlIDc6Sz1LLnNwbGl0KCcoJyk7cmV0dXJuIGZ1bmN0aW9uKFApe3ZhciBoPTI7d2hpbGUoaCE9PTEpe3N3aXRjaChoKXtjYXNlIDI6cmV0dXJuIEtbUF07YnJlYWs7fX19O2JyZWFrO319fSgnRShZTF1VJyl9O2JyZWFrO319fSgpOyFmdW5jdGlvbihlLG8sYyl7InVzZSBzdHJpY3QiO3ZhciBUPWY1eXk7dmFyIGksbix0O1QuZygwKTtpPVQuUihULkgoIjgiLDApKTtULnooMCk7bj1bVC5JKFQuSCgnXHgzMVx4MzAnLDApKSxULkkoKyI2IiksVC5SKCsnXHgzMVx4MzQnKSxULlIoKyIxMiIpLFQuUihULkgoIjUiLDAsVC5nKDApKSksVC5JKFQuQigwLCdceDMwJyxULnooMSkpKSxULlIoVC5CKCdceDMxXHgzMScsMCxULnooMCkpKSxULkkoKyIyIildO1QuZygyKTt0PVsrJ1x4MzJceDMwXHgzMVx4MzknLFQuQignXHUwMDM1JywxKSxULkgoJ1x4MzFceDM2JywwLFQuZygwKSldO3RyeXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yy5Mb2dnZXIubG9nKGksVC5SKCsnXHgzMScpLG4pO2MuTG9nZ2VyLmxvZyhpLFQuUigiNyItMCksdC5qb2luKFQuSSgnXHgzNCctMCkpKTt9LCsiNTAwIik7VC56KDEpO2Mub2JqZWN0PVtuLFsrIjM2MCIsNDk0LDM5MSwrIjMxMiIsVC5CKDAsIjMxMiIpLFQuSCgiMzY1IiwwLFQuZygwKSksKydceDM0XHgzMFx4MzQnLFQuSCgiMzAwIiwwLFQuZygwKSksKydceDMzXHgzNlx4MzBceDMwXHgzMScsVC5IKDAsJ1x4MzNceDM5XHgzNVx4MzJceDMyJyxULmcoMSkpLFQuQigiMTg3NzEiLDAsVC56KDApKSwrIjM0OTQ4IiwxNjU0MSwyOTU3MSwrJ1x4MzVceDMxXHgzN1x4MzFceDM5JywzMzkwOCxULkgoIjc4ODQwIiwwLFQuZygwKSksMTA1OTY0LCsnXHgzOFx4MzRceDM1XHgzNVx4MzUnLFQuSCgiNzI0MjYiLDAsVC5nKDApKSxULkgoJ1x4MzNceDMwXHgzNVx4MzlceDM5JywwLFQuZygwKSksVC5CKCdcdTAwMzRcdTAwMzFcdTAwMzZcdTAwMzJcdTAwMzYnLDAsVC5nKDApKSxULkIoMCwnXHUwMDM4XHUwMDM4XHUwMDMwXHUwMDM4XHUwMDM0JyxULnooMSkpLFQuSCgiNjU0MDkiLDEsVC5nKDIpKSwxNDQwMCxULkgoIjEyODQ0IiwxLFQueigyKSksKydceDM4XHgzNlx4MzBceDMyJyxULkgoJ1x4MzFceDMwXHgzOVx4MzJceDMwJywxLFQuZygyKSksMTM0MTYsVC5IKCdceDMyXHgzNFx4MzhceDMyXHgzMCcsMCxULmcoMCkpLFQuQignXHgzM1x4MzdceDM5XHgzN1x4MzYnLDAsVC56KDApKSwrJ1x4MzVceDMxXHg2NVx4MzMnXSx0LFtULkgoJ1x4MzNceDM2XHgzMicsMCxULmcoMCkpLDQ5NiwrJ1x4MzNceDM5XHgzOScsVC5IKDAsIjczMDkyMyIsVC5nKDEpKSwrJ1x1MDAzMlx1MDAzNVx1MDAzMVx1MDAzMicsVC5IKCI2Mzk4IiwwLFQueigwKSksVC5IKCdcdTAwMzRcdTAwMzFcdTAwMzFcdTAwMzlcdTAwMzFcdTAwMzJcdTAwMzInLDEsVC5nKDIpKSwrJ1x4MzFceDMxXHgzMVx4MzlceDMyJyxULkgoJ1x4MzNceDM0XHgzMlx4MzNceDM2JywwLFQueigwKSksMjQ2MSwzMjU1NywxMDIxMF0sby5jdXJyZW50U2NyaXB0LFQuSCgiMSIsMSxULmcoMikpXTt9Y2F0Y2gobyl7dm9pZCgnXHgzMCcqMSkhPT1lLmNvbnNvbGUmJmUuY29uc29sZS5sb2cmJkZ1bmN0aW9uLmFwcGx5LmNhbGwoZS5jb25zb2xlLmxvZyxlLmNvbnNvbGUsW1QuSSgnXHgzMVx4MzMnfDApXSk7fX0od2luZG93LGRvY3VtZW50LHdpbmRvd1t3aW5kb3cucG9wbnN8fGY1eXkuUigiMyItMCldKTt2YXIgXzB4MTM4Zj1bJ1x4NThceDQ4XHg2M1x4NzInLCdceDQ5XHg1NFx4NDVceDZmXHg2NFx4NDNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NmNceDUwXHg1NFx4NDVceDZmXHg1YVx4NTNceDZjXHgzN1x4NGZceDQzXHg0Mlx4NzVceDUwXHg1OFx4NTFceDc1XHg2Mlx4NzlceDY3XHg2OVx4NjJceDUzXHg0OVx4NzBceDRmXHg3YVx4NTlceDY3XHg2Mlx4NjlceDM0XHg3OVx4NGNceDZkXHg3N1x4MzlceDQ5XHg2ZFx4NzNceDY5XHg0Y1x4NDdceDM0XHg3NVx4NGRceDY5XHgzNVx4NzdceDUwXHg1NFx4NDFceDczXHg2Mlx4NjlceDM0XHg3OVx4NGNceDZlXHg0NVx4MzlceDRkXHg0M1x4NzhceDc1XHg0Y1x4NmFceDQ5XHg3NVx4NjRceDdhXHgzMFx4NjlceDYxXHg2OVx4NDlceDczXHg2Mlx4NjlceDM1XHgzMVx4NTBceDUzXHg0OVx4MzNceDRmXHg2OVx4MzhceDc2XHg2M1x4NjlceDM1XHgzNFx4NGNceDZhXHg1NVx4NzZceDYxXHg0M1x4MzlceDY4XHg0Y1x4NzlceDQ5XHg3Mlx4NWFceDUzXHg3OFx4MzBceDRjXHg2ZFx4NDlceDc1XHg2MVx4NTNceDY4XHg3NVx4NGJceDUzXHg3OFx4NzVceDY2XHg1M1x4NzhceDc1XHg1MFx4NTdceDRkXHg2Zlx4NWFceDc5XHg2N1x4NmZceDY0XHg0M1x4MzVceDZiXHg0Y1x4NmVceDU5XHg2Zlx4NTFceDY5XHg0Mlx4NGZceDRiXHg0M1x4NDlceDZmXHg0ZVx4N2FceDM5XHgzOFx4NTNceDY5XHgzMVx4MzVceDRiXHg1NFx4NzBceDYzXHg1OFx4NDNceDM5XHg2M1x4NThceDQzXHgzOFx4NjlceDRiXHg1M1x4NzdceDY5XHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDRjXHg3OVx4NDlceDcwXHg1N1x4N2FceDQyXHg2NFx4NjZceDQ4XHg3N1x4NjlceDUzXHg3OVx4MzRceDMxXHg0OVx4NjlceDZiXHg3NVx4NGRceDc5XHg2N1x4NjlceDQ5XHg2OVx4NmJceDc1XHg1NFx4NDNceDY3XHg3OFx4NGJceDQ4XHg1MVx4NzBceDY1XHg3YVx4NTlceDY3XHg2NFx4NDNceDM1XHg0ZVx4NGJceDQ0XHg0MVx4NzBceDRjXHg2Ylx4NjNceDZmXHg1M1x4NDNceDZjXHgzOVx4NGJceDUzXHgzNVx4NDJceDRiXHg0M1x4NDlceDY5XHg0Ylx4NTNceDZiXHg3MFx4NGZceDMzXHg2Zlx4NzVceDRlXHg0M1x4NjdceDY5XHg1MVx4NzlceDQ5XHg3M1x4NGRceDUzXHg2N1x4NzBceDY1XHgzMlx4NTVceDZmXHg2Mlx4NjlceDczXHg2OVx4NGNceDMyXHg1OVx4NzVceDRmXHg1M1x4NDlceDcwXHg0Y1x4NmFceDUxXHg2Zlx4NDlceDZiXHg1MVx4NjlceDRjXHg0NFx4NDVceDZmXHg0Ylx4NThceDc0XHg0N1x4NGJceDQ0XHg0NVx4NmZceDRiXHg1OFx4NzRceDZjXHg0Ylx4NDdceDM0XHg3Mlx4NDlceDY5XHgzOVx4N2FceDRjXHg2YVx4NmJceDY5XHg0Ylx4NThceDMwXHg3M1x4NTJceDUzXHg2Y1x4MzlceDRiXHg1OFx4MzBceDcwXHg2Nlx4NTNceDY4XHg0YVx4NGJceDU0XHg3M1x4M2QnLCdceDYzXHgzM1x4NDJceDczXHg2MVx4NThceDUxXHgzZCcsJ1x4NWFceDZlXHg0YVx4NzZceDYyXHg1NVx4NGVceDZmXHg1OVx4NThceDRhXHg0NFx4NjJceDMyXHg1Mlx4NmMnLCdceDY0XHg0N1x4MzlceDU0XHg2NFx4NDhceDRhXHg3MFx4NjJceDZkXHg2M1x4M2QnLCdceDYzXHg2ZFx4NTZceDc3XHg2Mlx4NDdceDQ2XHg2YVx4NWFceDUxXHgzZFx4M2QnXTsoZnVuY3Rpb24oXzB4MWI1OWFjLF8weDMwZDYwNSl7dmFyIF8weDQ0NTljOT1mdW5jdGlvbihfMHgxNDY4YWMpe3doaWxlKC0tXzB4MTQ2OGFjKXtfMHgxYjU5YWNbJ3B1c2gnXShfMHgxYjU5YWNbJ3NoaWZ0J10oKSk7fX07XzB4NDQ1OWM5KCsrXzB4MzBkNjA1KTt9KF8weDEzOGYsMHgxMGIpKTt2YXIgXzB4MTdjMT1mdW5jdGlvbihfMHgxOTc3ZGIsXzB4Yzc5ZjY5KXtfMHgxOTc3ZGI9XzB4MTk3N2RiLTB4MDt2YXIgXzB4MTYyZGYyPV8weDEzOGZbXzB4MTk3N2RiXTtpZihfMHgxN2MxWydPTXJTcXgnXT09PXVuZGVmaW5lZCl7KGZ1bmN0aW9uKCl7dmFyIF8weDI0NzE2Njt0cnl7dmFyIF8weDViZDYyOT1GdW5jdGlvbigncmV0dXJuXHgyMChmdW5jdGlvbigpXHgyMCcrJ3t9LmNvbnN0cnVjdG9yKFx4MjJyZXR1cm5ceDIwdGhpc1x4MjIpKFx4MjApJysnKTsnKTtfMHgyNDcxNjY9XzB4NWJkNjI5KCk7fWNhdGNoKF8weDMyOTViMCl7XzB4MjQ3MTY2PXdpbmRvdzt9dmFyIF8weDI4M2NlOT0nQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0nO18weDI0NzE2NlsnYXRvYiddfHwoXzB4MjQ3MTY2WydhdG9iJ109ZnVuY3Rpb24oXzB4MzQxYjE5KXt2YXIgXzB4MTQ0Zjk2PVN0cmluZyhfMHgzNDFiMTkpWydyZXBsYWNlJ10oLz0rJC8sJycpO2Zvcih2YXIgXzB4MjhhNzVlPTB4MCxfMHg1OWNiNWIsXzB4MWUwOTNkLF8weDUxZWZhNj0weDAsXzB4OTIyYWFjPScnO18weDFlMDkzZD1fMHgxNDRmOTZbJ2NoYXJBdCddKF8weDUxZWZhNisrKTt+XzB4MWUwOTNkJiYoXzB4NTljYjViPV8weDI4YTc1ZSUweDQ/XzB4NTljYjViKjB4NDArXzB4MWUwOTNkOl8weDFlMDkzZCxfMHgyOGE3NWUrKyUweDQpP18weDkyMmFhYys9U3RyaW5nWydmcm9tQ2hhckNvZGUnXSgweGZmJl8weDU5Y2I1Yj4+KC0weDIqXzB4MjhhNzVlJjB4NikpOjB4MCl7XzB4MWUwOTNkPV8weDI4M2NlOVsnaW5kZXhPZiddKF8weDFlMDkzZCk7fXJldHVybiBfMHg5MjJhYWM7fSk7fSgpKTtfMHgxN2MxWyd4anFrREYnXT1mdW5jdGlvbihfMHgzMzc3MTgpe3ZhciBfMHg1ZGRiMTU9YXRvYihfMHgzMzc3MTgpO3ZhciBfMHg1NjBiOTU9W107Zm9yKHZhciBfMHhjOTdmOTE9MHgwLF8weDQ0MTg3Mj1fMHg1ZGRiMTVbJ2xlbmd0aCddO18weGM5N2Y5MTxfMHg0NDE4NzI7XzB4Yzk3ZjkxKyspe18weDU2MGI5NSs9JyUnKygnMDAnK18weDVkZGIxNVsnY2hhckNvZGVBdCddKF8weGM5N2Y5MSlbJ3RvU3RyaW5nJ10oMHgxMCkpWydzbGljZSddKC0weDIpO31yZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KF8weDU2MGI5NSk7fTtfMHgxN2MxWydrRG1IU2snXT17fTtfMHgxN2MxWydPTXJTcXgnXT0hIVtdO312YXIgXzB4MzA2NDA1PV8weDE3YzFbJ2tEbUhTayddW18weDE5NzdkYl07aWYoXzB4MzA2NDA1PT09dW5kZWZpbmVkKXtfMHgxNjJkZjI9XzB4MTdjMVsneGpxa0RGJ10oXzB4MTYyZGYyKTtfMHgxN2MxWydrRG1IU2snXVtfMHgxOTc3ZGJdPV8weDE2MmRmMjt9ZWxzZXtfMHgxNjJkZjI9XzB4MzA2NDA1O31yZXR1cm4gXzB4MTYyZGYyO307ZXZhbChmdW5jdGlvbihfMHg0OWIyZTksXzB4MTA2OTM1LF8weDIyM2Q1NixfMHgyZmY2ZTksXzB4ZWQ3ZDI2LF8weDNiYzUwMCl7XzB4ZWQ3ZDI2PWZ1bmN0aW9uKF8weDI2YmI4Mil7cmV0dXJuKF8weDI2YmI4MjxfMHgxMDY5MzU/Jyc6XzB4ZWQ3ZDI2KHBhcnNlSW50KF8weDI2YmI4Mi9fMHgxMDY5MzUpKSkrKChfMHgyNmJiODI9XzB4MjZiYjgyJV8weDEwNjkzNSk+MHgyMz9TdHJpbmdbXzB4MTdjMSgnMHgwJyldKF8weDI2YmI4MisweDFkKTpfMHgyNmJiODJbXzB4MTdjMSgnMHgxJyldKDB4MjQpKTt9O2lmKCEnJ1tfMHgxN2MxKCcweDInKV0oL14vLFN0cmluZykpe3doaWxlKF8weDIyM2Q1Ni0tKXtfMHgzYmM1MDBbXzB4ZWQ3ZDI2KF8weDIyM2Q1NildPV8weDJmZjZlOVtfMHgyMjNkNTZdfHxfMHhlZDdkMjYoXzB4MjIzZDU2KTt9XzB4MmZmNmU5PVtmdW5jdGlvbihfMHgzMjA3ZjYpe3JldHVybiBfMHgzYmM1MDBbXzB4MzIwN2Y2XTt9XTtfMHhlZDdkMjY9ZnVuY3Rpb24oKXtyZXR1cm4gXzB4MTdjMSgnMHgzJyk7fTtfMHgyMjNkNTY9MHgxO307d2hpbGUoXzB4MjIzZDU2LS0pe2lmKF8weDJmZjZlOVtfMHgyMjNkNTZdKXtfMHg0OWIyZTk9XzB4NDliMmU5W18weDE3YzEoJzB4MicpXShuZXcgUmVnRXhwKCdceDVjXHg2MicrXzB4ZWQ3ZDI2KF8weDIyM2Q1NikrJ1x4NWNceDYyJywnXHg2NycpLF8weDJmZjZlOVtfMHgyMjNkNTZdKTt9fXJldHVybiBfMHg0OWIyZTk7fShfMHgxN2MxKCcweDQnKSwweDMyLDB4MzIsJ1x4N2NceDY2XHg3NVx4NmVceDYzXHg3NFx4NjlceDZmXHg2ZVx4N2NceDczXHg3NFx4NzlceDZjXHg2NVx4N2NceDczXHg3MFx4NmNceDY5XHg3NFx4N2NceDYxXHg2NFx4NjRceDQ1XHg3Nlx4NjVceDZlXHg3NFx4NGNceDY5XHg3M1x4NzRceDY1XHg2ZVx4NjVceDcyXHg3Y1x4NjNceDZmXHg2ZFx4N2NceDcyXHg2NVx4NzRceDc1XHg3Mlx4NmVceDdjXHg2OFx4NzRceDc0XHg3MFx4NzNceDdjXHg3Nlx4NjFceDcyXHg3Y1x4NzBceDZlXHg2N1x4N2NceDcwXHg3NFx4N2NceDYyXHg2Zlx4NjRceDc5XHg3Y1x4NjVceDZlXHg2M1x4NmZceDY0XHg2NVx4NTVceDUyXHg0OVx4NDNceDZmXHg2ZFx4NzBceDZmXHg2ZVx4NjVceDZlXHg3NFx4N2NceDcyXHg2NVx4NjZceDY1XHg3Mlx4NzJceDY1XHg3Mlx4N2NceDdjXHg3Y1x4NjJceDc0XHg2Zlx4NjFceDdjXHg3Nlx4MzFceDdjXHg2MVx4NzBceDcwXHg2NVx4NmVceDY0XHg0M1x4NjhceDY5XHg2Y1x4NjRceDdjXHg2ZVx4NmZceDZlXHg2NVx4N2NceDYxXHg2Mlx4NzNceDZmXHg2Y1x4NzVceDc0XHg2NVx4N2NceDcwXHg2Zlx4NzNceDY5XHg3NFx4NjlceDZmXHg2ZVx4N2NceDY5XHg2ZFx4NjdceDdjXHg3Y1x4NjNceDcyXHg2NVx4NjFceDc0XHg2NVx4NDVceDZjXHg2NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg3NFx4NmZceDcwXHg3Y1x4NmNceDY1XHg2Nlx4NzRceDdjXHg2MVx4NzBceDY5XHg3Y1x4N2NceDdjXHg3M1x4NzJceDYzXHg3Y1x4NzJceDY1XHg3MFx4NmNceDYxXHg2M1x4NjVceDdjXHg3MFx4NmZceDY5XHg2ZVx4NzRceDY1XHg3Mlx4NDVceDc2XHg2NVx4NmVceDc0XHg3M1x4N2NceDYzXHg2Y1x4NjlceDYzXHg2Ylx4NjFceDY5XHg2ZVx4NjVceDdjXHg2MVx4NzBceDcwXHg3Y1x4NzdceDY5XHg2ZVx4NjRceDZmXHg3N1x4N2NceDZhXHg2Zlx4NjlceDZlXHg3Y1x4NmVceDY1XHg3N1x4N2NceDQ0XHg0Zlx4NGRceDQzXHg2Zlx4NmVceDc0XHg2NVx4NmVceDc0XHg0Y1x4NmZceDYxXHg2NFx4NjVceDY0XHg3Y1x4NmNceDZmXHg2MVx4NjRceDdjXHgzNVx4NjVceDMzXHg3Y1x4NzNceDY1XHg3NFx4NTRceDY5XHg2ZFx4NjVceDZmXHg3NVx4NzRceDdjXHg3NFx4NmZceDUzXHg3NFx4NzJceDY5XHg2ZVx4NjdceDdjXHgzMVx4MzZceDdjXHg2NFx4NmZceDYzXHg3NVx4NmRceDY1XHg2ZVx4NzRceDdjXHg2MVx4NmVceDY0XHg3Mlx4NmZceDY5XHg2NFx4N2NceDY0XHg2Zlx4NzRceDdjXHg2ZFx4NjFceDcwXHg3Y1x4NjNceDY4XHg2MVx4NzJceDQzXHg2Zlx4NjRceDY1XHg0MVx4NzRceDdjXHg1Mlx4NjVceDY3XHg0NVx4NzhceDcwJ1tfMHgxN2MxKCcweDUnKV0oJ1x4N2MnKSwweDAse30pKTsKO3ZhciBjSVBvcCA9IGZ1bmN0aW9uIGNJUG9wKHVybCkgewoJCWNQb3AuY29uZmlnKHsKCQkJY292ZXJUYWdzOiBbJ3ZpZGVvJywgJ2lmcmFtZSddLAoJCQl0YWJVbmRlcklnbm9yZVRhcmdldEJsYW5rOiB0cnVlLAoJCQlkZWxheTogMTAwCgkJfSk7CgkJY1BvcC5hZGQodXJsLCB7CgkJCW5ld1RhYjogdHJ1ZSwKCQkJdW5kZXI6IHRydWUsCgkJCWNvb2tpZUV4cGlyZXM6IDEwMH0pfTs=(Line 1)
Message:
console.clear

Indicators

This is a term in the security industry to describe indicators such as IPs, Domains, Hashes, etc. This does not imply that any of these indicate malicious activity.

afgr4.com
ajax.googleapis.com
api.clickaine.com
bi.phncdn.com
browsers.support
ejdkqclkzq.com
fonts.googleapis.com
fonts.gstatic.com
jsc.traffic-media.co.uk
kz9c.piguiqproxy.com
m.addthisedge.com
n2-r2d2.amgload.net
s7.addthis.com
servicer.traffic-media.co.uk
th-us2.vporn.com
tpmedia-reactads.com
www.google-analytics.com
www.xrares.com
xk1o.amgload.net
104.111.228.202
152.195.34.118
160.153.76.70
185.187.81.35
185.187.81.38
195.154.46.150
198.134.112.242
204.155.151.83
2400:cb00:2048:1::ac40:6f05
2a00:1450:4001:81d::2003
2a00:1450:4001:81d::200a
2a00:1450:4001:81d::200e
2a00:1450:4001:825::200a
2a03:90c0:9997::9997
66.155.97.114
88.208.59.100
89.248.174.186
01c6c81dbad9bf5397de8d0820b36d71e63bb56f88e752272348f7524ccf2150
03d876ffd1e7225a694adbbf0dec43fe2e51d4267bbf8f67d9da7998e24b32b2
07c9352f1230aa15040212cc30d81d7cb8e5ac84235056d11b240587ea51a555
083e3cfb82c571be8ee9748e88f97a0ad0cdc1b71dc79a1850456c7382b00c91
0c45602d7582b65a97c46c7671e3925fd7548a1be1e7c0c40ae4f6e6d1d27a56
103ecdb0e0f2442834e352ea8be9f2ff8b5cb1d8e4c3ecca39be8234b4bf7970
114c469837508a67c6792a4ac24c14e3bf418216dae19d0ba411a5cdf03b35e0
123f4c4d98cba336140d4cc077ba19531e9498b0de13c187f411aa97d72496dd
1372ebaa0d371c6cbe8624b176d4ffbfc224abe9e3a2f3c6423910768a37d85c
1a10faf45cce1eeadebbc79cc40396ae1eebfe3cdb914ab265df36017fb93049
1c6fac0e15b4b0d042f60ab85a727389112e86d482b5a840be72d801509648c0
22353092147c73107f666475a2cc8d279b8458f75ebeef80f21451364f557357
24cc29533598f962823c4229bc280487646a27a42a95257c31de1b9b18f3710f
2cfc87cde7d1d87e0e1cb7cae35006a9a842d436e348d4b223b87efc484b5b5d
3184cf0ad08a1d1717d57dec220001ab34e08bd3c337de3b5b59ed226edd05f5
373ca80bfea0a08e0d4c0f7ba906da81ea8b15a5e5b2c92e408a0dc26a7960c4
3c4718562aad535e6020fee09658fe305bed70ed03b0e26b7f2ae993de6dd24c
408b7da762688d6e1c966f0ee22e6906fcd717069ef333293d8e064f9ad7e7bc
44ea688ab380f21d423d0b7c2c0d5a67c74c38f4beddffdefa8e25e349b84a1a
4c28f1a12d3a7ba643a9b17aa6d1c0ac289abbb2399c4b61470fb7ef46f6e182
4e6c6d00d25e538e747620675fdd7d43b4c0959f971fce000178b3dc942d83b3
540bc6dec1dd4b92ea4d3fb903f69eabf6d919afd48f4e312b163c28cff0f441
554f902cf2e64721ec76255766ef7905b0135054335ba6702e780b04c97c7618
5ae29fb517a4b087c5bbe9aa2dd52b875e84d4c6ddc14b4c1208729183273928
5b68105cc06528650c49aeca35f8001f5290b0a904e6c125132bdc93a415d7dc
613c6df2b0009c0deb972980de6c4d377e953b9f54384c69f2a42850337e7d49
63f3540c9a078187bec62323a7e3d31027b6018c975186743c18890090225107
66db52b456efe7e29cec11fa09421d03cb09e37ed1b567307ec0444fd605ce31
6e9dc95c94635fa8e426cd7d0a278e5dee5047b1e2500fbd1ac1fbe91caef50e
7278d98718e13b1919af8b39b8efd943bd87b89e943cb150d2232f3e8b71f448
760f1dc968d1da3f151d2587a6fcd12aa86e7d00e0c446d68f593670993ee453
80570ad1da30a863565eb2829164b752c76c8d8fde2c89fe4e9a8a21473498bb
8337212354871836e6763a41e615916c89bac5b3f1f0adf60ba43c7c806e1015
85ed1732b630c7d716ad3ff2c3bcee6511df3f3a838c4fa0c65128e7a9269696
8868d2a2f803ea6802d54a11564b5b96c7d8be56117a328c8f605539d6dee167
895eed36d378985c4379dfc31bc5bee25dedfc3e138a5be37f7b1c24184b86c9
96738dc0be24c935681b23ba95fc47c6da135a5cd7906e9d83644f6ad1efcf4c
9f3c3b4846efa3757aade1d7c3cbf3b3bfd245bb9e014c56ccb5cc20ffd7c990
a6ff5f44a7e77b4f1085a76936a77823f8de8587eed5d5e68167f4a13d8f44d5
a726c8af799c4c310efca2a7fe577ac08ea2ffa7af4cba1198892e61a9ae1a6d
a81b2cecb4c4252f701a717b21052e6b67ca1d7f83d612f14d0e4ffba434b015
acbe8a84452584663a0bc615e094aad32df900000c02393fb3889f52da642566
acd1a7483eec1872f7d1e26da6d532ebf49c65ca989d4dad01af4ddb834b12bb
b03ab8d775750a2c8920babb0f463b1bae0b9906874fe65189654ff2347dc0fb
b240e5227e448d5b1f07275e27fe4541e10aeb490a190526b0c0dc802578b6b9
b31062abec9d4536524232f02801803517829af29b44c85b59696d52bc7107cc
b3dd58a587d33c5200140cee13c1332ac4d7f59b2551d3a8b841738616e54eee
b769324e0921f9f649611113e65f528ebae5e140da8a7e63c5d6ea7bc7a33bc0
b925916a5df6e766b5284d935ca56935179ce32f458822130239088e88093f33
bac14eef090eb2df6aa94c6f754f31411ed47cba6992b494e515bf78124c1a80
c1168bead57c459e1f1ae4c06b62fc6ab522711b8d384f142004e55bcdc7e726
c155d63aa1ef2339c1cfb48a5609f7a0537e4be99c266c9354d0a66f35fd8eb5
c6b51278f1a5a919cbc532ab29d06e1b1a918ee779cd055d27fc07120fd9093e
d357e4bb7bac0871b0058d33bbedd363a44d4304444930b6203df95924845930
daa303ef263075e9c642ed43081178de6e385dffccaa9b7f2423fac7baa8e6fd
dd25d2500f0506f7e5f900ea348c4103802f499063021d94bd0d7becb101b1b1
de3017035d8dc859b3f4cda0dc9d80a8186be66ea93f34bea163739c56d01522
e13456d51f6e7b1eb7d051b01680aebd34fc12bdf460017601070f552c1b1623
e869834c2f8f7a605e518ce1328888e317c0aa3698ce65ad1c05241120be649c
f3183514e6e2f8567ae1b7cb5dafeb7fdde020969bd06a8e9a40dd3018ae0b62
fac035fb54b47de537137d660845a03c839f55bb24611b8c9e9b0c697254931b
fc45e859185deb9e0b866a1718acf24cb0f3f4fc17c5d2b1e751bae1cf61cbbc
fc82413e348a46b2327d51782b4a0c80cb52ae7dde13758ddc55bd2bee9eca73
fe32c9921874b35b87acb0a3b558784ca7b9fed91ed34c1d2a68b6566c9d09be