CHƯƠNG 2: TỔNG QUAN LÝ THUYẾT VÀ DỮ LIỆU NGHIÊN CỨU.
Giới thiệu về thị trường lao động.
- Thị trường lao đông gắn liền với cơ hội việc làm:
là nơi diễn ra hoạt động trao đổi, mua bán sức lao động giữa người có
sức lao động (người bán) và người sử dụng sức lao động (người mua). Sức
lao động là khả năng lao động của con người, được thể hiện qua trình độ
kiến thức, kỹ năng, kinh nghiệm và sức khỏe. Nó mang tính cạnh tranh rất
cao, tính biến động và phân biệt theo (Ngành nghề, khu vực và
loại hình doanh nghiệp.)
Mô tả dữ liệu nghiên cứu.
- Bộ dữ liệu đầu tiền lấy từ link:
1.https://www.kaggle.com/datasets/ravindrasinghrana/job-description-dataset.
Bộ dữ liệu này là bài khảo sát cung cấp một bộ sưu tập toàn diện các
tin tuyển dụng tổng hợp để tạo điều kiện thuận lợi cho việc nghiên cứu
và phân tích trong lĩnh vực xu hướng thị trường việc làm bằng việc mô
phỏng cấu trúc và nội dung trong danh sách việc làm . Tập dữ liệu này
cung cấp một loạt danh sách công việc đa dạng thuộc nhiều ngành và loại
công việc khác nhau. Thể hiện các nhu cầu của doanh
nghiệp
- File có 1048574 quan sát và 23 biến khi lọc ra chỉ quốc gia
Việt Nam còn 4975 quan sát và 23 biến.
Mô tả cho từng cột trong tập dữ liệu:
Job Id: Mã định danh duy nhất cho mỗi tin tuyển
dụng.
Experience: Số năm kinh nghiệm được yêu cầu hoặc
ưu tiên cho công việc.
Qualifications: Trình độ học vấn cần thiết cho
công việc.
Salary Range: Phạm vi mức lương hoặc thù lao
được đưa ra cho vị trí đó.(theo tuần)
location: Thành phố hoặc khu vực nơi làm
việc.
Country Quốc gia nơi công việc diễn ra.
latitude: Tọa độ vĩ độ của vị trí công
việc.
longitude: Tọa độ kinh độ của vị trí công
việc.
Work Type: Loại công việc (ví dụ: toàn thời
gian, bán thời gian, hợp đồng).
Company Size: Quy mô hoặc quy mô gần đúng của
công ty tuyển dụng.
Job Posting Year: Năm mà tin tuyển dụng được
công khai.
Preference: Các ưu tiên hoặc yêu cầu đặc biệt
đối với người nộp đơn (ví dụ: Chỉ Nam hoặc Chỉ Nữ hoặc Cả hai)
Contact Person: Tên của người liên hệ hoặc nhà
tuyển dụng cho công việc.
Contact: Thông tin liên hệ để được tư vấn công
việc.
Job Title: Chức danh công việc hoặc vị trí đang
được quảng cáo.
Role: Vai trò hoặc danh mục công việc (ví dụ:
nhà phát triển phần mềm, giám đốc tiếp thị).
Job Portal: Nền tảng hoặc trang web nơi công
việc được đăng.
Job Description: Mô tả chi tiết về trách nhiệm
và yêu cầu công việc.
Benefits: Thông tin về các phúc lợi được cung
cấp khi làm việc (ví dụ: bảo hiểm y tế, kế hoạch nghỉ hưu).
skills: Các kỹ năng hoặc bằng cấp cần thiết cho
công việc.
Responsibilities: Trách nhiệm và nhiệm vụ cụ thể
liên quan đến công việc.
Company: Tên công ty tuyển dụng.
Company Profile: Tổng quan ngắn gọn về nền tảng
và sứ mệnh của công ty.
Tập dữ liệu này chứa thông tin được thu thập từ sinh viên đại học
thông qua biểu mẫu Google lấy đại diện cho một số sinh viên Việt Nam.
Bộ dữ liệu này chứa thông tin về nhân khẩu học, kết quả học tập,
sở thích, thói quen học tập, nguyện vọng nghề nghiệp và các yếu tố khác
để phân tích hành vi của sinh viên đại học khi chọn công
việc.
- File có 235 quan sát và 19 biến
Mô tả cho từng cột trong tập dữ liệu:
Certification Course: Xác nhận sinh viên có bằng
cấp/ chứng chỉ nào chưa(Yes/Có hoặc No/không).
Gender: Giới tính sinh viên.
Department: Khoa hoặc lĩnh vực học tập mà sinh
viên đang theo học.
Height(CM): Chiều cao của học sinh tính bằng
centimet.
Weight(KG): Cân nặng của học sinh tính bằng
kilogam.
10th Mark: Điểm của học sinh đạt được vào lớp
10.
12th Mark: Điểm của học sinh đạt được vào năm
lớp 12.
College Mark: Điểm của sinh viên đạt được ở
trường cao đẳng hoặc đại học.
hobbies: Sở thích hoặc sở thích của học
sinh.
daily studing time: Lượng thời gian học sinh
dành cho việc học hàng ngày.
Prefer to Study in: Môi trường học tập hoặc địa
điểm ưa thích của sinh viên.
salary expectation: Kỳ vọng của sinh viên về mức
lương tương lai của họ (ngàn đồng).
Do you like your degree?: Ý kiến của sinh viên
về việc họ có thích bằng cấp của mình hay không.
willingness to pursue a career based on their
degree: Sự sẵn lòng của sinh viên theo đuổi nghề nghiệp liên
quan đến bằng cấp của họ
social medai & video: Sự tham gia của học
sinh với các nền tảng truyền thông xã hội và video
Travelling Time: Thời gian để học sinh đi lại
hoặc di chuyển đến cơ sở giáo dục của mình
Stress Level: Mức độ căng thẳng cảm nhận được
của học sinh
Financial Status: Tình trạng tài chính hoặc nền
tảng kinh tế của sinh viên
part-time job: Liệu sinh viên có tham gia vào
công việc bán thời gian hay không
Dữ liệu nghiên cứu
1. Dữ liệu 1
library(xlsx)
dl1 <- read.csv(file.choose(),header = T)
is.data.frame(dl1)
## [1] TRUE
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.4 ✔ readr 2.1.5
## ✔ forcats 1.0.0 ✔ stringr 1.5.1
## ✔ ggplot2 3.5.0 ✔ tibble 3.2.1
## ✔ lubridate 1.9.3 ✔ tidyr 1.3.1
## ✔ purrr 1.0.2
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
a <- dl1 %>% filter(Country == "Vietnam")
write.csv(a, "a.csv") #Tạo ra 1 file excel riêng cho quốc gia Việt Nam.
a
- Bộ tài liệu khi lọc còn 4975 quan sát và 23 biến.
=> Để phân tích nhu cầu tuyển dụng của doanh nghiệp, chúng ta có
thể:
Xác định nhu cầu nhân sự: Phân tích và xác định số lượng cũng như
loại hình nhân sự mà công ty cần.
Tối ưu hóa quy trình tuyển dụng và hiệu suất nhân sự: Tối ưu hóa
các quy trình tuyển dụng nhằm tăng hiệu quả và tiết kiệm chi phí, đồng
thời lập dự báo và kế hoạch về nhân sự để đảm bảo rằng công ty có đủ
nguồn nhân lực cần thiết.=> Có thể tổng kết kết quả phân tích
bằng cách sử dụng biểu đồ để trực quan hóa.
2. Dự liệu 2
library(xlsx)
dl2 <- read.csv(file.choose(),header = T)
is.data.frame(dl2)
## [1] TRUE
dl2
- Thể hiện rõ số quan sát và biến: 235 quan sát và 19 biến và dữ liệu
là data frame.
=> Để phân tích và quan sát nhu cầu cũng như đặc tính cụ thể của
từng sinh viên, chúng ta có thể:
Xác định nhu cầu việc làm của sinh viên: Phân tích và xác định số
lượng cũng như mong muốn của sinh viên trong 4 ngành.
Tạo hồ sơ và trực quan hóa dữ liệu: Tạo hồ sơ cá nhân của mỗi
sinh viên để hiểu rõ hơn về nhu cầu và đặc tính cụ thể của họ. Cung cấp
cơ sở để tư vấn và hỗ trợ từng cá nhân trong quá trình tìm kiếm và phát
triển sự nghiệp của họ. Có thể tổng kết kết quả phân tích bằng
cách sử dụng biểu đồ để trực quan hóa.
=> 2 bộ dữ liệu bù trừ cho nhau, cả hai bộ dữ liệu này
phân tích cùng nhau có thể giúp hiểu rõ hơn về sự phù hợp giữa nhu cầu
của doanh nghiệp và mong muốn của sinh viên, từ đó tối ưu hóa quá trình
tuyển dụng và tạo ra sự kết nối tốt hơn giữa ứng viên và công
việc.
Chương 3: Phân tích thực trạng thị trường lao động.
- Việt Nam là một quốc gia có lực lượng lao động dồi dào. Tuy nhiên,
trong bối cảnh đại dịch COVID-19, đã đem lại nhiều biến động tiêu cực
đối với thị trường lao động. Sau giai đoạn này,bắt đầu quá trình phục
hồi và phát triển có thể mang lại cả thách thức và cơ hội cho Việt
Nam.
Tổng quan cơ hội nghề nghiệp theo năm(dữ liệu 1)
Thời kỳ biến động tiêu cực nhất của đại dịch Covid-19 tại Việt
Nam được đánh giá là từ quý 2 năm 2021 đến quý 1 năm
2022. Ảnh hưởng nặng nề đến nhiều lĩnh vực kinh tế, y tế, giáo
dục, tâm sinh lý xã hội.
Dưới đây là bảng thống kê số liệu về thời gian đăng tuyển công
việc (theo năm) của Việt Nam trong giai đoạn từ năm 2021 đến 9/2023 để
có cái nhìn trực quan hơn cho bộ dữ liệu.
library(scales)
##
## Attaching package: 'scales'
## The following object is masked from 'package:purrr':
##
## discard
## The following object is masked from 'package:readr':
##
## col_factor
a %>% filter(Job.Posting.Year >= 2021 & Job.Posting.Year <= 2023) %>%
group_by(Job.Posting.Year) %>% summarise(n = n()) %>%
ggplot(aes(x=Job.Posting.Year, y=n)) +
geom_col(fill='pink') +
geom_text(aes(label = percent(n/length(a$Job.Id))),vjust = 2, color = 'red') +
labs(title = "Biểu đồ thể hiện số lượng đăng tuyển nhân viên theo từng năm") +
labs(x = 'Năm', y = 'Số lượng')

Nhận xét biểu đồ
Dữ liệu thống kê cho thấy năm 2021 chiếm ít nhất trong biểu đồ và
năm 2022 là năm có số lượng đơn tuyển dụng cao nhất, chênh lệch 1757
(35%) so với năm trước.
Tiếp theo, mặc dù năm 2023 chỉ thống kê đến tháng 9 nhưng số
lượng đơn tuyển dụng vẫn khá cao, vượt qua hơn một nửa số lượng đơn đăng
ký trong năm 2022. Nếu tiếp tục thống kê đến cuối năm, có thể dự đoán sẽ
có nhiều cải thiện và tỷ lệ thất nghiệp có thể giảm thiểu đi, tuy nhiên,
số lượng tuyển đơn tuyển dụng vẫn không đạt được mức như năm
2022.
=> Tóm lại, dịch bệnh đã ảnh hưởng nhiều đến công việc và nhu cầu
tuyển dụng của doanh nghiệp, tuy nhiên, tình hình ngày càng cải thiện
theo thời gian. Điều này được thể hiện qua các chỉ số như sau:
Năm 2021 tỷ lệ thất nghiệp đối với thị trường lao động Việt Nam
ước tính 3,22%, đạt cao nhất trong 9 tháng đầu năm là 2,67% (1)
Năm 2022: Tỷ lệ thất nghiệp trong độ tuổi lao động giảm xuống còn
2,32%. Đây là mức thấp nhất trong 5 năm qua, gần 1,07 triệu ít hơn 359.2
so với năm 2021 (2)
Năm 2023: Tỷ lệ thất nghiêp là 2.28% giảm 0.006% điểm phần trăm
so với năm trước.(3)
Nhu cầu các loại công việc
Nhu cầu của doanh nghiệp thể hiện bằng việc tuyển dụng các loại công
việc khác nhau(dữ liệu 1)
Mỗi loại hình công việc đều có những đặc điểm riêng và đáp ứng
nhu cầu của doanh nghiệp ở các khía cạnh khác nhau.
Quá trình này giúp doanh nghiệp lựa chọn những người có đủ năng
lực và kinh nghiệm để đáp ứng nhu cầu của công việc theo các mức độ để
phân loại công việc:
Contract: Thuê nhân lực cho các dự án ngắn hạn, theo mùa vụ hoặc
khi có nhu cầu đột xuất.
Full-time: Thuê nhân lực cho các vị trí công việc dài hạn, ổn
định.
Intern: Cung cấp cơ hội cho sinh viên học hỏi kinh nghiệm thực tế
trong môi trường làm việc chuyên nghiệp
Part-time: Thuê nhân lực cho các vị trí công việc không yêu cầu
làm việc toàn thời gian.
Temporary: Thuê nhân lực cho các vị trí công việc thay thế cho
nhân viên chính thức nghỉ thai sản, nghỉ phép, hoặc khi có nhu cầu đột
xuất.
- Để có cái nhìn trực quan và đưa ra những nhận xét cụ thể, chúng ta
sẽ phân tích số lượng đơn đăng tuyển nhân viên theo các loại công việc
bên dưới.
a %>% group_by(Work.Type) %>% summarise(n = n()) %>%
ggplot(aes(x = '', y = n,fill = Work.Type)) +
geom_col(color = 'black') +
coord_polar('y') +
geom_text(aes(x = 1.3, label = n),position = position_stack(vjust = .5)) +
theme_void()

Chú thích
Contract: là loại công việc mà người lao động làm việc theo hợp
đồng đã kí, có thời hạn cụ thể như 3 tháng hoặc 1 năm, và có thể được
gia hạn thêm nếu cần.
Full-time: là công việc toàn thời gian, người lao động sẽ làm
việc theo giờ hành chính, thường là 8 tiếng mỗi ngày.
Intern: là một chương trình đào tạo ngắn hạn dành cho sinh viên
hoặc người mới tốt nghiệp, nhằm mục đích học hỏi kinh nghiệm thực tế
trong môi trường làm việc.
Part-time: là công việc bán thời gian, người lao động thường làm
việc khoảng 4-5 tiếng mỗi ngày, chủ yếu trong các cửa hàng, nhà hàng
hoặc các tổ chức khác để kiếm thêm thu nhập và tích lũy kinh nghiệm làm
việc.
Temporary: là loại hình công việc ngắn hạn có thời gian từ vài
ngày đến vài tháng, thường không quá 12 tháng. Loại công việc này thích
hợp cho những người muốn thử sức với nhiều loại hình công việc khác
nhau.
Nhận xét biểu đồ
Loại công việc Part-time chiếm tỷ lệ cao nhất, trong khi loại
công việc Intern chiếm tỷ lệ thấp nhất, với một chênh lệch là
84.
Loại hình Full-time và Part-time thường được
doanh nghiệp ưa chuộng trong việc tuyển dụng, trong khi 3 loại công việc
còn lại thường ít được lựa chọn hơn.
=> Với sự chênh lệch chỉ là 84, không có sự chênh lệch lớn giữa
việc quan tâm đến lực lượng lao động trẻ và mức độ ưa chuộng với các
loại công việc khác nhau trong doanh nghiệp. Tuy nhiên, mục tiêu lựa
chọn loại công việc của doanh nghiệp vẫn thể hiện sự trọng trách đặc
biệt đối với việc xây dựng đội ngũ nhân viên ổn định, có kinh nghiệm và
sẵn sàng đóng góp ngay từ khi bắt đầu làm việc.
- Sự chênh lệch rõ ràng giữa các loại công việc cũng có thể cho thấy
doanh nghiệp có khả năng linh hoạt trong việc chọn lọc và tuyển dụng
nhân viên phù hợp với nhu cầu và mục tiêu của họ. Sự linh hoạt này có
thể phản ánh sự thích ứng của họ với biến động của thị trường lao động
và yêu cầu công việc thay đổi.
Sinh viên có sẵn sàng làm công việc bán thời gian khi ra trường hay
không(dữ liệu 2)
Khi sinh viên mới ra trường, tâm lý của họ có thể phức tạp và đa
dạng, tùy thuộc vào nhiều yếu tố như kế hoạch nghề nghiệp, áp lực từ gia
đình và xã hội, sự tự tin trong bản thân, và nhiều yếu tố khác.
Dựa vào khảo sát về tâm lý của sinh viên mới ra trường, chúng ta
thấy rằng họ thường mang nhiều hy vọng và mục tiêu. Nhìn vào biểu đồ đã
được lập bên dưới, chúng ta có thể quan sát một cách trực quan hơn về
nhu cầu của sinh viên khi họ có sẵn sàng tham gia vào các công việc bán
thời gian (Part-time) hay không.
dl2 %>% group_by(part.time.job) %>% summarise(n = n()) %>%
ggplot(aes(x = '', y = n,fill = part.time.job)) +
geom_col(color = 'black') +
coord_polar('y') +
geom_text(aes(x = 1.3, label = n),position = position_stack(vjust = .5)) +
theme_void()

Nhận xét biểu đồ
- Hầu hết các sinh viên khảo sát đều không muốn làm việc
Part-time khi ra trường cách biệt về số lượng là 153
với khoảng 82.6%.
=> Việc này phản ánh vào nhu cầu của sinh viên, khi họ thường muốn
tập trung vào công việc chính và mong muốn có một công việc full-time,
ổn định hơn. Đa số sinh viên cũng có đủ nhu cầu tài chính và thậm chí
nhận được sự hỗ trợ từ gia đình. Một số lớn sinh viên không thích làm
những công việc “gò bó” trong các công ty hoặc làm việc trong môi trường
văn phòng, thay vào đó, họ có xu hướng tìm kiếm các cơ hội nghề nghiệp
liên quan đến mạng xã hội như làm TikToker, YouTuber, và những nghề
nghiệp mới nổi hiện nay. Hoặc họ có thể tập trung vào việc tiếp tục học
hỏi và phát triển kỹ năng để đạt được các bằng cấp cao hơn như thạc sĩ
hoặc tiến sĩ và đi học.
Đi sâu hơn cơ hội nghề nghiệp từng ngành nghề theo năm(dữ liệu
1)
Hầu hết các ngành nghề đều bị ảnh hưởng trong giai đoạn
2021-2023(thời kì covid) đặc biệt là lĩnh vực du lịch, hàng không, các
hàng quán ăn uống, giải trí và thể thao giảm xuống nhưng cũng tạo động
lực cho nhóm ngành về công nghệ thông tin, ngành logistics, y tế, sản
xuất các sản phẩm thiết yếu phát triển mạnh.
Từ đó sẽ có xu hướng phát triển mới, bắt buộc các lực lượng lao
động phải tích cực đổi mới và hoàn thiện để hòa nhập trong bối cảnh hiện
nay.
Để rõ hơn ta sẽ phân tích số liệu trình độ học vấn mà các danh
nghiệp yêu cầu qua biểu đồ sau.
a %>% group_by(Qualifications,Job.Posting.Year) %>% summarise(n=n()) %>%
ggplot(aes(x = Qualifications,y = n)) +
geom_col(position = 'dodge',fill = 'lightblue') +
facet_wrap(~Job.Posting.Year) +
theme(axis.text.x = element_text(angle = 45)) + #xoay 45 độ cho chú thích
geom_text(aes(label = n),vjust = 0, color = 'red') +
labs(title = "Biểu đồ thể hiện cơ hội của từng ngành nghề theo từng năm") +
labs(x = 'Các loại bằng theo ngành', y = 'Số lượng')
## `summarise()` has grouped output by 'Qualifications'. You can override using
## the `.groups` argument.

Chú thích
B.Com: bằng cử nhân có liên quan đến kinh doanh, thương mại và
tài chính
B.Tecb: bằng cử nhân liên quan đến kỹ thuật, công nghệ
BA: bằng cử nhân khoa học xã hội
BBA: bằng cử nhân quản trị kinh doanh
BCA: bằng cử nhân thương mại và quản trị
M.Com: bằng thạc sĩ có liên quan đến kinh doanh, thương mại và
tài chính
M.Tecb: bằng thạc sĩ liên quan đến kỹ thuật, công nghệ
MBA: bằng thạc sĩ quản trị kinh doanh
MCA: bằng thạc sĩ thương mại và quản trị
Ph.D: bằng tiến sĩ của tất cả các ngành.
Nhận xét biểu đồ
Biểu đồ năm 2021 thể hiện trình độ học vấn gần như khá đồng đều
từ trình độ cao nhất B.Tecb và thấp nhất
BBA chênh lệch là 18.
Năm 2022 cải thiện một cách đáng kể khi số lượng đơn đăng tuyển
nhân viên tăng gấp khoảng 3 đến 4 lần so với năm trước, đặc biệt với
trình độ MCA được ưa chuộng nhất, và ít nhất là
Ph.D, với chênh lệch khoảng 70.
Trong năm 2023, dù chỉ xét đến tháng 9, nhưng có thể thấy rõ
doanh nghiệp đang ưu tiên những ứng viên có trình độ học vấn cao, đặc
biệt là Ph.D, và ít ưu tiên những ứng viên có trình độ
B.Com, với chênh lệch là 31.
=> Từ đó cho thấy không thể nào phủ nhận bằng cấp quan trọng, thể
hiện bằng việc hầu hết các công việc đều yêu cầu bằng cấp, theo
thời gian trình đồ càng cao thì tỷ lệ nhận được việc càng lớn thể hiện
qua biểu đồ năm 2023.
Ngành trọng điểm cho thể quan sát trong 3 biểu đồ là ngành
BBA(72,269,180),B.Tecb(82,247,185), quản trị kinh doanh
và kỹ thuật, công nghệ luôn chiếm số lượng trung bình đến lớn nhu cầu
doanh nghiệp mong muốn.(mặt bằng chung qua từng
năm)
Nhu cầu cần nguồn nhân lực qua trình độ học vấn
MCA(79,287,165) trong lĩnh vực thương mại và quản trị
dang ngày mất ưu thế trong mắt các danh nghiệp.
Đánh giá mức độ stress sinh viên ở 4 ngành học thể hiện rõ nhất
trong thời kì covid - 19(dữ liệu 2)
Mức độ stress của sinh viên có thể ảnh hưởng nhiều đến việc làm
sau khi ra trường. Đây là một vấn đề nan giải và không chỉ giới hạn ở
một lứa tuổi hay một công việc cụ thể nào. . Stress có thể ảnh hưởng đến
hiệu suất làm việc, sự sáng tạo, và trạng thái tinh thần chung của cá
nhân.
Để chứng thực điều này ta sẽ phân tích bằng biểu đồ để so sánh số
liệu theo giới tính theo 4 ngành đăc trưng.
dl2 %>% group_by(Gender,Department,Stress.Level) %>% summarise(n=n()) %>%
ggplot(aes(x = Stress.Level, y = n, fill = Department)) +
geom_col(position = 'dodge') +
facet_wrap(~Gender) +
labs(title = "Biểu đồ thể hiện mức độ stress sinh viên theo giới tính và lĩnh vực ") +
labs(x = 'Loại', y = 'Số lượng')
## `summarise()` has grouped output by 'Gender', 'Department'. You can override
## using the `.groups` argument.

Chú thích
- Thống kê theo 4 lĩnh vực :
B.com Accounting and Finance(Kế toán và Tài chính)
B.com ISM(Quản trị Hệ thống Thông tin)
Commerce (Kinh doanh thương mại)
BCA (thương mại và quản trị)
1.Awful: stress rất nặng/ rất tệ
2.Bad: stress năng/tệ
3.fabulous: Stress nhẹ
4.Good: tâm lý tốt.
Nhận xét biểu đồ
Đối với nữ sinh viên, mức độ tâm lý rất tệ và tâm lý tốt đều nằm
trong lĩnh vực BCA, trong khi ở mục tâm lý tốt, ngành
Commerce có mức cao khá đồng đều với lĩnh vực
BCA. Tổng quan, số lượng sinh viên nữ gặp phải tâm lý ở
mức nặng và tỷ lệ sinh viên có tâm lý tốt chỉ ở mức tương đối không quá
cao (với tỷ lệ cao nhất vẫn là tâm lý tốt). Lĩnh vực B.Com
ISM có sự phân bố khá đồng đều ở 3 mức độ tâm lý (trừ mức tâm
lý rất tệ).
Đối với nam thì tâm lý rất tệ và tâm lý tốt cao nhất cũng nằm
chung một lình vưc BCA. Tổng quan về số lượng tâm lý
tốt là cao nhất và tâm lý mực độ nhẹ ít nhất(không có lĩnh vực hệ thống
thông tin)
=> Tóm lại nam giới có thể có tâm lý tốt hơn nữ và cũng áp lực
nhiều hơn nữ. Mức độ mắc vấn đề tâm lý có thể thay đổi theo từng cá
nhân, môi trường sống, và hoàn cảnh cá nhân. Việc cải thiện không phải
là quá trình ngắn cần có nhiều thời gian và kiên trì thực hiện các biện
pháp cụ thể.
Tác động kinh nghiệm làm việc theo giới tính(dữ liệu 1)
Vì nhu cầu về công việc, các yêu cầu liên quan đến giới tính có
thể ảnh hưởng mạnh mẽ đến nhiều thực trạng không tốt như đối xử bất công
trong công việc, đặc biệt là đối với phụ nữ. Một số công ty thiết lập
các hạn chế tuyển dụng đối với phụ nữ đã kết hôn hoặc đang trong độ tuổi
sinh nở, và yêu cầu phụ nữ cam kết không sinh con trong một khoảng thời
gian nhất định. Ngoài ra, phụ nữ thường phải đối mặt với nhiều định
kiến, ví dụ như quan điểm rằng họ luôn gặp khó khăn trong việc cân bằng
giữa công việc và cuộc sống, điều này có thể hạn chế sự phát triển của
họ.
Để đánh giá và hiểu rõ hơn về tình hình này, chúng ta sẽ phân
tích các biến kinh nghiệm và yêu cầu liên quan đến giới tính mà các
doanh nghiệp đặt ra.
a %>% group_by(Experience, Preference) %>% summarise(n=n()) %>%
mutate(Experience = factor(Experience, levels = c("0 to 8 Years","0 to 9 Years","0 to 10 Years"))) %>%
ggplot(aes(x = Preference, y = n, fill = Experience)) +
geom_col(position = position_dodge()) +
labs(title = "Biểu đồ thể hiện kinh nghiệm làm việc theo giới tính") +
labs(x = 'Giới tính', y = 'Số lượng')
## `summarise()` has grouped output by 'Experience'. You can override using the
## `.groups` argument.

Chú thích
NA: màu đen là số lượng còn lại của các khoảng kinh nghiệm
khác
Ở đây vì phân tích cơ hội việc làm sinh viên mới ra trường nên số
kinh bắt đầu từ 0 và em chọn 3 khoảng để dể quan sát và trực quan hóa dữ
liệu hơn.Và chủ yếu phân tích 3 trình độ kinh nghiệm
đó
Nhận xét biểu đồ
Đối với giới tính nữ, yêu cầu về kinh nghiệm trong khoảng
0-9 năm nổi bật hơn so với 2 mức kinh nghiệm còn lại,
tuy chênh lệch không quá lớn.
Đối với giới tính nam, yêu cầu về kinh nghiệm trong khoảng
0-10 năm là cao nhất, trong khi mức kinh nghiệm
0-9 năm ít nhất, chênh lệch khoảng 10 đơn tuyển dụng
giữa hai mức này.
Nhìn chung, Ở mức độ khá cân bằng và tăng đều
thì nằm ở những công việc yêu cầu cả 2 giới thường ưu tiên yêu cầu kinh
nghiệm 0-10 năm. Các mức yêu cầu kinh nghiệm còn lại
thường khá cân bằng và không có sự chênh lệch quá lớn so với mức yêu cầu
cao nhất.
=> Việc phân chia khoảng kinh nghiệm có thể tạo cơ hội cho các
sinh viên mới ra trường có cơ hội thử sức. Tuy nhiên, theo biểu đồ, các
công việc chỉ ưu tiên nữ thường có thị phần thấp hơn so với các công
việc ưu tiên nam, và cho cả hai giới tính (Điều này có thể gây
ra tỷ lệ thất nghiệp nữ cao hơn nam - 2023/ Nam giới: 2,17%,Nữ giới:
2,73%-)(4). Nam giới thường yêu cầu kinh nghiệm cao hơn so với
nữ. Tuy nhiên, quan sát cho thấy không có sự chênh lệch lớn giữa 2 giới
tính trong nhu cầu tuyển dụng (qua 3 mức kinh nghiệm nêu trên).
Tác động thời gian học tập ảnh hưởng đến kỳ vọng tiền lương của các
sinh viên khi ra trường(dữ liệu 2)
Thời gian dành cho học tập có thể có tác động tích cực đến cơ hội
nghề nghiệp của sinh viên. Sinh viên dành nhiều thời gian cho việc học
tập thường có kiến thức và kỹ năng tốt hơn, khả năng cạnh tranh cao hơn,
mạng lưới quan hệ rộng rãi hơn và tạo giá trị bản thân cao hơn. Tất cả
những yếu tố này đều đóng góp vào việc giúp họ tìm kiếm công việc một
cách dễ dàng hơn và có cơ hội thành công cao hơn trong sự
nghiệp.
Để hiểu rõ hơn về sự tác động của thời gian học tập đối với kỳ
vọng tiền lương trong tương lai, ta sẽ tạo biểu đồ để có cái nhìn toàn
diện về quá trình này.
dl2 %>% group_by(daily.studing.time) %>% summarise(m= mean(salary.expectation)) %>%
ggplot(aes(x = daily.studing.time , y = m,fill = daily.studing.time)) +
geom_col(position = 'dodge') +
geom_text(aes(label = round(m)), vjust = 0, color = 'red') +
theme(axis.text.x = element_text(angle = 45)) +
labs(title = "Biểu đồ thể hiện thời gian học tập ảnh hưởng đến kỳ vọng tiền lương") +
labs(x = 'Giới tính', y = 'Số lượng')

Chú thích
- Tính trung bình tiền lương theo thời gian học tập
thể hiện bằng các màu sắc hiện thị trên biểu đồ.
Nhận xét biểu đồ
Kỳ vọng tiền lương của các sinh viên dành thời gian học tập trên
4 giờ/ngày cao nhất, trong khi thấp nhất là đối với
sinh viên dành 3-4 giờ/ngày, chênh lệch là 93076 theo
mức trung bình lương kỳ vọng.
Thời gian học tập có thể rất ít nếu vấn đề có thể giải quyết ngay
trên lớp từ 0-60 phút, tăng lên theo mức độ khó của bài tập.
=> Quan sát có thể thấy ở những sinh viên dành nhiều thời gian cho
việc học mới dám tự tin đặt kỳ vọng tiền lương cao và ổn định. Những
sinh học học từ 2-3 tiếng và 3-4 tiếng vẫn còn có sự dè chừng
(hoặc thiếu nhiều kỹ mềm, thiếu kinh nghiệm làm việc, nền tảng
trước đó không tốt,… ). Vì vậy, mức lương thực tế của mỗi sinh
viên sẽ phụ thuộc vào nhiều yếu tố khác nhau, như năng lực của bản thân,
kinh nghiệm làm việc, thị trường lao động. Ngoài ra học làm sao cho hiệu
quả với bản thân sinh viên mới quan trọng hơn chú trọng nhiều vào thời
gian.
Xu hướng điểm tốt nghiệp của sinh viên trong 4 khối ngành cụ thể(dữ
liệu 2)
Rèn luyện và học tập đóng vai trò quan trọng đối với kết quả học
tập của sinh viên khi ra trường, đồng thời cũng phản ánh một phần về
chất lượng giáo dục và sự phát triển của sinh viên trong từng lĩnh vực.
Qua việc nhìn nhận xu hướng chung về sự phân bố điểm tốt nghiệp trong
từng ngành, cũng như các biến động đặc biệt, sinh viên có thể hiểu rõ
hơn về mức độ đáp ứng của giáo dục đối với nhu cầu của thị trường lao
động hiện nay.
Phân tích trực diện bằng cách xác định mối quan hệ giữa điểm tốt
nghiệp và thành công trong việc tìm kiếm việc làm sau này, ta có thể
đánh giá được tầm quan trọng của việc đạt được điểm cao trong việc xây
dựng sự nghiệp.
Để có cái nhìn tổng quan và hữu ích hơn ta sẽ nhìn vào biểu đồ về
xu hướng điểm tốt nghiệp của sinh viên trong 4 ngành cụ thể bên
dưới.
dl2 %>% ggplot(aes(x = college.mark,fill = Department)) +
geom_histogram(binwidth = 10) +
labs(title = "Biểu đồ thể hiện điểm tốt nghiệp sinh viên trong 4 ngành cụ thể") +
labs(x = 'Điểm số', y = 'Số lượng')

Nhận xét biểu đồ
Trong các ngành, khối ngành Commerce đạt điểm đầu ra cao nhất,
với nhiều sinh viên đạt điểm tốt nghiệp 100.
Khối ngành B.com Accounting and Finance, BCA là
khối ngành có điểm tương đối ổn dịnh nằm chủ yếu ở vùng điểm 60-80
điểm.( Trong đó khối ngành BCA có số lượng sinh viên
khảo sát nhiều nhất và B.com Accounting and Finance
sinh viên khảo sát ít nhất trong bảng số liệu).
Khối ngành B.com ISM có thang điểm tốt nghiệp
thấp hơn nằm chủ yếu ở khoảng 50-65 chiếm đa số.
Nhìn chung: Điểm tốt nghiệp của các ngành tập
trung chủ yếu trong khoảng 50-90 điểm, với đỉnh cao nhất nằm ở khoảng
70-75 điểm. Không có ngành nào nằm ở vùng điểm dưới 25.
=> Qua đó tùy vào mục tiêu sinh viên và tiêu chí của khác nhau mà
thang điểm tốt nghiệp cũng dao động lên xuống tùy vào nhu cầu thị
trường.
Theo quan sát có thể ngành Commerce sẽ có cơ hội
phát triển cao, với số điểm tốt nghiệp càng cao(có kỹ năng và
kiến thức chuyên môn tốt) tạo ra cạnh tranh nhiều hơn về cơ hội
nghề nghiệp các khối ngành khác, dể dàng lựa chọn ngành nghề hoặc vị trí
làm việc tốt hơn trong lĩnh vực đó, thu hút nhà tuyển dụng.
Ngược lại với nhóm ngành B.com ISM đa phần có số
điểm tốt nghiệp chỉ mức chung bình khá đem lại nhiều bất lợi khi phải
cạnh tranh khốc liệt với một số sinh viên điểm cao trong cùng khối
ngành, khó khăn trong việc muốn học lên cao hơn- thạc sĩ, gặp khó khăn
trong việc thuyết phục các nhà tuyển dụng lụa chọn mình(kèm theo phải
lựa chọn nghề nghiệp có mức lương thấp).
Còn 2 ngành còn lại nằm ở giữa cũng gặp một số lợi thế của ngành
Commerce và một số bất lợi giống nhóm ngành
B.com ISM.
Tác động quy mô công ty đến cơ hội làm việc của sinh viên theo từng
năm(dữ liệu 1)
Biến động trong quy mô công ty ảnh hưởng đến phong cách tuyển
dụng của họ qua các năm, điều này có tác động lớn đến xu hướng các ngành
nghề, đặc biệt là các công ty lớn, giúp định hình cơ hội nghề nghiệp của
sinh viên trong từng lĩnh vực và khu vực cụ thể.
Từ đó, việc có cái nhìn tổng quan giúp dự đoán liệu quy mô của
các công ty có thể phát triển thêm hay không, từ đó phân bổ nguồn lực
một cách hợp lý. Các số liệu qua các năm được thể hiện trên biểu đồ để
minh họa điều này.
a %>% ggplot(aes(x = Job.Posting.Year, y = Company.Size)) +
geom_smooth(method = "loess") +
scale_x_continuous(breaks = seq(2021, 2023, by = 1)) +
labs(title = "Biểu đồ thể hiện quy mô công ty ảnh hưởng đến cơ hội làm việc theo năm") +
labs(x = 'Năm', y = 'Số lượng')
## `geom_smooth()` using formula = 'y ~ x'
## Warning in simpleLoess(y, x, w, span, degree = degree, parametric = parametric,
## : pseudoinverse used at 2021
## Warning in simpleLoess(y, x, w, span, degree = degree, parametric = parametric,
## : neighborhood radius 2.01
## Warning in simpleLoess(y, x, w, span, degree = degree, parametric = parametric,
## : reciprocal condition number 2.0679e-14
## Warning in simpleLoess(y, x, w, span, degree = degree, parametric = parametric,
## : There are other near singularities as well. 1.0201
## Warning in predLoess(object$y, object$x, newx = if (is.null(newdata)) object$x
## else if (is.data.frame(newdata))
## as.matrix(model.frame(delete.response(terms(object)), : pseudoinverse used at
## 2021
## Warning in predLoess(object$y, object$x, newx = if (is.null(newdata)) object$x
## else if (is.data.frame(newdata))
## as.matrix(model.frame(delete.response(terms(object)), : neighborhood radius
## 2.01
## Warning in predLoess(object$y, object$x, newx = if (is.null(newdata)) object$x
## else if (is.data.frame(newdata))
## as.matrix(model.frame(delete.response(terms(object)), : reciprocal condition
## number 2.0679e-14
## Warning in predLoess(object$y, object$x, newx = if (is.null(newdata)) object$x
## else if (is.data.frame(newdata))
## as.matrix(model.frame(delete.response(terms(object)), : There are other near
## singularities as well. 1.0201

Chú thích
- Quy mô công ty: là số lượng công nhân viên của công ty
Nhận xét biểu đồ
Trong năm 2022 quy mô các công ty mở rộng nhiều nhất, và trũng
nặng xuống theo biểu đồ là năm 2021 với dịch bệnh covid- 19 khiến nhiều
công ty phải đóng cửa.
Mặc dù chỉ có số liệu đến tháng 9 trong năm 2023, nhưng dường như
tình hình khá khả quan, có thể tạo điều kiện cho sự phục hồi và tăng
trưởng mạnh mẽ trong những tháng tiếp theo.
=> Từ đó, có thể thấy rằng quy mô của các công ty lớn càng lớn,
càng tạo ra nhiều cơ hội và cạnh tranh cho thị trường lao động. Các công
ty lớn thường có nhu cầu tuyển dụng đa dạng hơn, mang lại nhiều cơ hội
học hỏi và phát triển kỹ năng cho sinh viên, cùng với mức lương và các
phúc lợi hấp dẫn hơn. Điều này có thể thúc đẩy sinh viên học tập và trau
dồi bản thân hơn.
Tuy nhiên, cả công ty lớn và nhỏ đều có những ưu và nhược điểm
riêng. Sinh viên cần cân nhắc kỹ các yếu tố như sở thích, năng lực, mục
tiêu nghề nghiệp và mong muốn phát triển bản thân để lựa chọn công ty
phù hợp.
Theo nhu cầu của sinh viên thì đa số thích làm việc doanh
nghiệp lớn. Nhưng số lượng sinh viên mỗi năm ra trường là rất lớn và
cạnh tranh rất cao. Đồng nghĩa số lượng lớn sinh viên chủ yếu làm ở các
công ty nhỏ và vừa.
Trên thực tế
- Theo báo cáo của Bộ Kế hoạch và Đầu tư năm 2023:(5)
Doanh nghiệp lớn:
Chiếm 20% số lượng doanh nghiệp, đóng góp 80% GDP và tạo ra 60% việc
làm.
Tuyển dụng 30% sinh viên mới tốt nghiệp.
Doanh nghiệp vừa và nhỏ:
Chiếm 80% số lượng doanh nghiệp, đóng góp 20% GDP và tạo ra 40% việc
làm.
Tuyển dụng 70% sinh viên mới tốt nghiệp.
So sánh nhu cầu danh nghiệp tuyển dụng thông qua quy mô của 5 quốc
gia Đông Nam Á(dữ liệu 1)
Thị trường lao động của các quốc gia Đông Nam Á phản ánh nhiều
mức độ và khía cạnh khác nhau. Quy mô của thị trường lao động thường
phản ánh kích thước và sức mạnh của nền kinh tế, mức độ cạnh tranh, khả
năng tạo ra việc làm với lực lượng lao động trong nước, cũng như tầm ảnh
hưởng trong các ngành và hoạt động kinh doanh quốc tế của các doanh
nghiệp trong khu vực.
Để làm rõ hơn, chúng ta có thể tạo biểu đồ để minh họa sự thay
đổi của quy mô theo từng năm trong bộ dữ liệu nghiên cứu.
library(googledrive)
library(tidyverse)
library(gganimate)
## Warning: package 'gganimate' was built under R version 4.3.3
library(magick)
## Warning: package 'magick' was built under R version 4.3.3
## Linking to ImageMagick 6.9.12.98
## Enabled features: cairo, freetype, fftw, ghostscript, heic, lcms, pango, raw, rsvg, webp
## Disabled features: fontconfig, x11
c <- dl1 %>% filter(Country %in% c( "Thailand" , "Indonesia", "Vietnam", "Malaysia", "Singapore"))
c %>% ggplot(aes(x = Job.Posting.Year, y = Company.Size, color = Country)) +
geom_line() +
geom_point(size=2) +
scale_x_continuous(breaks = seq(2021, 2023, by = 1)) + # dữ khoảng cách.
transition_reveal(Job.Posting.Year, keep_last = F) +
labs(title = "Biểu đồ thể hiện quy mô công ty của 5 quốc gia theo năm") +
labs(x = 'Năm', y = 'Số lượng')

Chú thích
- Chọn Thailand, Indonesia, Vietnam, Malaysia và Singapore trong khu
vực Đông Nam Á làm các quốc gia tham chiếu là một cách tiếp cận gần gũi
với thị trường lao động của Việt Nam. Các quốc gia này đều đang phát
triển ổn định và đứng đầu trong số 11 quốc gia của khu vực Đông Nam
Á.
Nhận xét biểu đồ
- Giai đoạn 2021-2022
Có Malaysia là quốc gia biến đổi phức tạp trong
quá trình này, trải qua một sự giảm mạnh từ vị trí quốc gia có quy mô
lớn nhất xuống đến vị trí cuối cùng trong số 5 quốc gia.
Các nước Indonexia, Singapore, Thailand có xu
hương tăng nhưng ổn định.(trong đó đứng đầu là Indonexia, tiếp đến
Thailand, đứng thứ 4 là Singapore)
Quốc gia có xu hướng tăng mạnh hơn trong giai đoạn này là
Vietnam, mặc dù không vượt qua Indonesia hoặc Thailand
để đứng đầu.
- Giai đoạn 2022-9/2023
Trong thời điểm này, Indonesia trở thành quốc
gia biến động phức tạp nhất, trải qua một sự suy giảm mạnh từ vị trí
quốc gia có quy mô lớn nhất xuống đến vị trí cuối cùng trong số 5 quốc
gia. Tình hình này kém hơn cả Malaysia trong một khoảng thời gian trước
đó.
Malaysia bắt đầu tái phát triển mạnh mẽ, theo xu
hướng tăng trưởng nhưng không đạt được như thời điểm năm 2021 (chỉ đứng
ở vị trí thứ 2).
Thailand và Singapore đều có xu hướng tăng
trưởng quy mô khá ổn định. Tuy nhiên, Thailand vẫn đang tăng trưởng
nhanh hơn kể từ năm 2022 và giành vị trí thứ 1, trong khi
Singapore giành được vị trí thứ 3.
Vietnam cũng tăng trưởng nhưng mức độ chậm hơn
tụt lại phía sau của Singapore.
=> Qua đó, ta có thể thấy rằng quy mô của các quốc gia có thể bị
ảnh hưởng bởi nhiều yếu tố, bao gồm cả tác động của đại dịch COVID-19 và
diện tích lãnh thổ của quốc gia. Ví dụ, Singapore có diện tích lãnh thổ
nhỏ nhất trong khu vực, điều này khiến quy mô của nó khó có thể tăng
trưởng nhanh chóng. Trong giai đoạn 2021-2023, Singapore có thể đứng ở
vị trí 3 hoặc 4 trong số các quốc gia Đông Nam Á, mặc dù nó vẫn là một
trong những quốc gia phát triển nhất trong khu vực. Thailand, mặc dù là
quốc gia có quy mô doanh nghiệp lớn nhất, nhì và vị trí phát triển tốt,
nhưng vẫn không thể vượt mặt Singapore.
- Nhìn nhận giai đoạn đầu, có thể nói rằng Việt Nam là một trong những
quốc gia có tốc độ phát triển kinh tế nhanh nhất trong khu vực Đông Nam
Á. Tuy nhiên, cần phải xem xét nhiều yếu tố khác nhau để hiểu rõ hơn về
quy mô và sự phát triển của mỗi quốc gia trong khu vực.
LS0tDQp0aXRsZTogIlRJ4buCVSBMVeG6rE4gS+G6vlQgVEjDmkMgSOG7jEMgUEjhuqZOIg0KYXV0aG9yOiAiTmd1eeG7hW4gUGjhuqFtIEjDoCBWeSINCmRhdGU6ICJgciBmb3JtYXQoU3lzLnRpbWUoKSwgJyVIOiVNOiVTLCAlZCAtICVtIC0gJVknKWAiDQpvdXRwdXQ6DQogIGh0bWxfZG9jdW1lbnQ6IA0KICAgIHRvY19kZXB0aDogMg0KICAgIGNvZGVfZm9sZGluZzogaGlkZQ0KICAgIGNvZGVfZG93bmxvYWQ6IHRydWUNCiAgICB0b2M6IHRydWUNCiAgICB0b2NfZmxvYXQ6IHRydWUNCiAgICB0aGVtZTogZmxhdGx5DQogICAgZGZfcHJpbnQ6IHBhZ2VkDQogIHBkZl9kb2N1bWVudDoNCiAgICB0b2M6IHRydWUNCiAgICBleHRyYV9kZXBlbmRlbmNpZXM6DQogICAgICB2aWV0bmFtOiB1dGY4DQogIHdvcmRfZG9jdW1lbnQ6DQogICAgdG9jOiB0cnVlDQogICAgdG9jX2RlcHRoOiAnMicNCi0tLQ0KDQpgYGB7ciBzZXR1cCwgaW5jbHVkZT1GQUxTRX0NCmtuaXRyOjpvcHRzX2NodW5rJHNldChlY2hvID0gVFJVRSkNCmBgYA0KDQoNCiFbXShIw6AgdnkucG5nKXt3aWR0aD0iNjgyIn0NCg0KIyBM4budaSBj4bqjbSDGoW4uDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQotICAgTOG7nWkgbsOzaSDEkeG6p3UgdGnDqm4sIGVtIHhpbiBj4bqjbSDGoW4gQmFuIEdpw6FtIGhp4buHdSBuaMOgIHRyxrDhu51uZywgxJHhurdjIGJp4buHdCBsw6AgY8OhYyB0aOG6p3kgY8O0IHRyb25nIGLhu5kgbcO0biBLaG9hIEtpbmggdOG6vyAtIEx14bqtdCDEkcOjIHThuq1uIHTDrG5oIGNo4buJIGThuqtuIGVtIHLhuqV0IG5oaeG7gXUgdHJvbmcgcXXDoSB0csOsbmggaOG7jWMgdOG6rXAsIHZp4buHYyBuw6B5IMSRw6MgdsOgIMSRYW5nIHThuqFvIMSRaeG7gXUga2nhu4duIGNobyBlbSB0aOG7sWMgaGnhu4duIHThu5F0IG5o4bqldCBjw7MgdGjhu4MgYsOgaSB0aeG7g3UgbHXhuq1uIG7DoHkuIEVtIGPFqW5nIHhpbiBn4butaSBs4budaSBj4bqjbSDGoW4gc8OidSBz4bqvYyDEkeG6v24gdGjhuqd5IFRy4bqnbiBN4bqhbmggVMaw4budbmcgLSBuZ8aw4budaSBwaOG7pSB0csOhY2ggZOG6oXkgdsOgIGjhu5cgdHLhu6MgZW0gdHJvbmcgYuG7mSBtw7RuIG5nw7RuIG5n4buvIGzhuq1wIHRyw6xuaCwgbW9uZyB0aOG6p3kgY8OzIHRo4bqtdCBuaGnhu4F1IHPhu6ljIGto4buPZSB2w6AgdGjDoG5oIGPDtG5nIGjGoW4gbuG7r2EuDQoNCi0gICBDw7MgdGjhu4MgdHJvbmcga2hv4bqjbmcgMyB0aMOhbmcgaOG7jWMsIMSRw6J5IGzhuqduIMSR4bqndSBlbSDEkcaw4bujYyB0cuG6o2kgbmdoaeG7h20gdmnhu4djIHRp4bq/cCB4w7pjIHBo4bqnbiBt4buBbSwgdGhhbyB0aMOhYyBt4bubaSBuw6puIHPhur0ga2jDsyB0csOhbmgga2jhu49pIHNhaSBzw7N0IHRyb25nIHF1w6EgdHLDrG5oIHThu7EgbMOgbSBiw6BpLCBy4bqldCBtb25nIG5o4bqtbiDEkcaw4bujYyBz4buxIGfDs3Agw70gY+G7p2EgdGjhuqd5IGPDtCDEkeG7gyBjw7MgYsOgaSB0aeG7g3UgbHXhuq1uIGhvw6BuIHRoaeG7h24gaMahbi4NCg0KLSAgIEjGoW4gaOG6v3QgZW0gY2jDumMgdGjhuqd5IGPDtCBjw7MgdGjhuq10IG5oaeG7gXUgbmnhu4FtIHZ1aSB0cm9uZyBow6BuaCB0csOsbmggZ2nhuqNuZyBk4bqheSB2w6AgaOG6oW5oIHBow7pjLg0KDQojIEvhur90IGPhuqV1IMSR4buBIHTDoGkuDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpO4buZaSBkdW5nIGLDoGkgdGnhu4N1IGx14bqtbiBiYW8gZ+G7k206DQoNCipDaMawxqFuZyAxOiogUGjhuqduIG3hu58gxJHhuqd1Lg0KDQoqQ2jGsMahbmcgMjoqIFThu5VuZyBxdWFuIGzDvSB0aHV54bq/dCB2w6AgZOG7ryBsaeG7h3UgbmdoacOqbiBj4bupdS4NCg0KKkNoxrDGoW5nIDM6KiBQaMOibiB0w61jaCB0aOG7sWMgdHLhuqFuZyB0aOG7iyB0csaw4budbmcgbGFvIMSR4buZbmcuDQoNCipDaMawxqFuZyA0OiogxJDGsGEgcmEgZ2nhuqNpIHBow6FwLg0KDQoqQ2jGsMahbmcgNToqIEvhur90IGx14bqtbi4NCg0KKkNoxrDGoW5nIDY6KiBUw6BpIGxp4buHdSB0aGFtIGto4bqjby4NCg0KIyBDSMavxqBORyAxLiBQSOG6pk4gTeG7niDEkOG6plUuDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQojIyBMw70gZG8gZW0gY2jhu41uIMSR4buBIHTDoGkuDQoNCi0gICBW4bqlbiDEkeG7gSB2aeG7h2MgbMOgbSB24bqrbiBsdcO0biBsw6AgbeG7kWkgcXVhbiB0w6JtIGjDoG5nIMSR4bqndSBj4bunYSBt4buNaSBzaW5oIHZpw6puIGtoaSBixrDhu5tjIHbDoG8gY8OhbmggY+G7rWEgxJHhuqFpIGjhu41jLCDEkeG6t2MgYmnhu4d0IGzDoCBraGkgdGjhu4sgdHLGsOG7nW5nIGxhbyDEkeG7mW5nIHbhuqtuIHRp4bq/cCB04bulYyBob+G6oXQgxJHhu5luZy4gVuG7m2kgxJFhIHPhu5EgZMOibiBz4buRIOG7nyBWaeG7h3QgTmFtIHThuq1wIHRydW5nIOG7nyDEkeG7mSB0deG7lWkgZMaw4bubaSAzMCwgbsaw4bubYyB0YSBjw7Mgbmd14buTbiBsYW8gxJHhu5luZyBk4buTaSBkw6BvLCB04burIGxhbyDEkeG7mW5nIGdp4bqjbiDEkcahbiDEkeG6v24gbGFvIMSR4buZbmcgY8OzIHRyw6xuaCDEkeG7mSBjYW8sIHThuqFvIHJhIHTDrG5oIHRo4bq/IHRo4buLIHRyxrDhu51uZyBsYW8gxJHhu5luZyBuZ8OgeSBjw6BuZyBj4bqhbmggdHJhbmguIE3hu5l0IHBo4bqnbiBj4bunYSB24bqlbiDEkeG7gSBu4bqxbSDhu58gc+G7sSBxdXnhur90IMSR4buLbmggY+G7p2Egc2luaCB2acOqbiB0cm9uZyB2aeG7h2MgY2jhu41uIG5nw6BuaCBo4buNYyB2w6Agc+G7sSBracOqbiB0csOsIGPhu6dhIGjhu40gdHJvbmcgdmnhu4djIHRoZW8gxJF14buVaSBuZ8OgbmggxJHDsyDEkeG6v24gY8O5bmcuDQoNCi0gICBW4bqlbiDEkeG7gSBuYW4gZ2nhuqNpIGPhu6dhIG3hu5l0IHbhuqVuIMSR4buBIHjDoyBo4buZaSBWaeG7h3QgTmFtLCBkbyDEkcOzLCBj4bqnbiBt4buZdCBjxqEgcXVhbiBjaHV5w6puIHBow6JuIHTDrWNoIHRow7RuZyB0aW4gxJHhu4MgxJHGsGEgcmEgY8OhYyBjaMOtbmggc8OhY2ggaOG7lyB0cuG7oyBjaG8gY8OhYyB0csaw4budbmcgxJHhuqFpIGjhu41jIHbDoCBkb2FuaCBuZ2hp4buHcCB0cm9uZyB2aeG7h2MgxJHDoG8gdOG6oW8gdsOgIHR1eeG7g24gZOG7pW5nIG5ow6JuIGzhu7FjLiBWaeG7h2MgbsOgeSBz4bq9IGdpw7pwIHNpbmggdmnDqm4gY8OzIG3hu5l0IGLhu5kgdGnDqnUgY2h14bqpbiByw7UgcsOgbmcgxJHhu4MgdMOsbSBraeG6v20gdmnhu4djIGzDoG0gdsOgIHBow6F0IHRyaeG7g24gY8OhYyBr4bu5IG7Eg25nIHBow7kgaOG7o3AgduG7m2kgdGnDqnUgY2h14bqpbiBj4bunYSBkb2FuaCBuZ2hp4buHcC4gS2hpIGPDsyBjw6FjIGdp4bqjaSBwaMOhcCB0aMOtY2ggaOG7o3AsIMSRaeG7gXUgbsOgeSBz4bq9IHThuqFvIHJhIG5p4buBbSB0aW4gY2hvIG3hu5l0IHPhu5EgaOG7jWMgc2luaCwgZ2nDunAgaOG7jSB04buxIHRpbiBoxqFuIGtoaSBjaOG7jW4gdHLGsOG7nW5nIMSR4bqhaSBo4buNYyB2w6AgbmfDoG5oIGjhu41jIG3DoCBo4buNIG1vbmcgbXXhu5FuLCB24bubaSBoeSB24buNbmcgdHLhu58gdGjDoG5oIG3hu5l0IHBo4bqnbiB0cm9uZyBuZ3Xhu5NuIGxhbyDEkeG7mW5nIGPDsyB0csOsbmggxJHhu5kgY2FvLg0KDQotICAgVOG7qyDEkcOzLCBjw7MgdGjhu4MgY+G6o2kgdGhp4buHbiB2w6AgbsOibmcgY2FvIHRyw6xuaCDEkeG7mSBjxaluZyBuaMawIGzhu7FjIGzGsOG7o25nIGxhbyDEkeG7mW5nIC0gdGjhur8gaOG7hyB0cuG6uyB0xrDGoW5nIGxhaS4gVGjDoG5oIGPDtG5nIHRyb25nIHZp4buHYyBuw6B5IGPDsyB0aOG7gyBk4bqnbiBk4bqnbiB0aGF5IMSR4buVaSBj4bqjIG3hu5l0IGPDoSB0aOG7gywgdsOgIOG6o25oIGjGsOG7n25nIMSR4bq/biBz4buxIHBow6F0IHRyaeG7g24gY+G7p2EgY+G6oyDEkeG6pXQgbsaw4bubYy4gTeG7pWMgdGnDqnUgbMOgIG1hbmcgbOG6oWkgY8O0bmcgdmnhu4djIHThu5F0IGjGoW4gdsOgIOG7lW4gxJHhu4tuaCB0cm9uZyBjdeG7mWMgc+G7kW5nIGNobyBt4buNaSBuZ8aw4budaS4NCg0KPVw+IFbDrCB0aOG6vyBlbSBxdXnhur90IMSR4buLbmggY2jhu41uIGNo4bunIMSR4buBICoqUGjDom4gdMOtY2ggY8ahIGjhu5lpIHZp4buHYyBsw6BtIMSR4buRaSB24bubaSBjw6FjIHNpbmggdmnDqm4gcmEgdHLGsOG7nW5nIOG7nyBWaeG7h3QgTmFtIHThu6sga2hpIMSR4bqhaSBk4buLY2ggY292aWQgLSAxOSDEkeG6v24gZ+G6p24gxJHDonkuKioNCg0KIyMgTeG7pWMgdGnDqnUgbmdoacOqbiBj4bupdS4NCg0KLSAgIFbhu5tpIGNo4bunIMSR4buBIHRyw6puLCBjaMO6bmcgdGEgY8OzIHRo4buDIHThuq1wIHRydW5nIHbDoG8gKipwaMOibiB0w61jaCBr4bu5IG7Eg25nLCBz4bufIHRow61jaCB2w6AgaMOgbmggdmkgbOG7sWEgY2jhu41uIGPDtG5nIHZp4buHYyBj4bunYSBzaW5oIHZpw6puKiosIGPFqW5nIG5oxrAgdmnhu4djIMSR4buLbmggaMaw4bubbmcgbmdo4buBIG5naGnhu4dwIGPhu6dhIGPDoWMgdHLGsOG7nW5nIMSR4bqhaSBo4buNYyB2w6Agbmjhu69uZyAqKm5odSBj4bqndSBj4bulIHRo4buDIGPhu6dhIGRvYW5oIG5naGnhu4dwKiogdHJvbmcgYuG7kWkgY+G6o25oIGThu4tjaCBi4buHbmggdsOgIHTDrG5oIGjDrG5oIGfhuqduIMSRw6J5LiDEkOG7k25nIHRo4budaSwgY+G6p24gcGjDom4gdMOtY2ggY8OhYyBjxqEgaOG7mWkgdsOgIHh1IGjGsOG7m25nIGPhu6dhIGPDoWMgbmfDoG5oIG5naOG7gSB0aeG7gW0gbsSDbmcgdHJvbmcgdMawxqFuZyBsYWkgZMOgbmggY2hvIGPDoWMgc2luaCB2acOqbiBt4bubaSByYSB0csaw4budbmcuIEN14buRaSBjw7luZywgxJFp4buBdSBxdWFuIHRy4buNbmcgbMOgIMSR4buBIHh14bqldCBt4buZdCBz4buRIGdp4bqjaSBwaMOhcCBj4bqnbiB0aGnhur90IMSR4buDIGdpw7pwIHNpbmggdmnDqm4gdGjDrWNoIG5naGkgdsOgIHBow6F0IHRyaeG7g24gdHJvbmcgdGjhu51pIMSRaeG7g20gaGnhu4duIHThuqFpLg0KDQojIyDEkOG7kWkgdMaw4bujbmcgcGjhuqFtIHZpIG5naGnDqm4gY+G7qXUuDQoNCi0gICDEkOG7kWkgdMaw4bujbmcgbmdoacOqbiBj4bupdSA6IHNpbmggdmnDqm4gcmEgdHLGsOG7nW5nIHRo4budaSBrw6wgZOG7i2NoIGNvdmlkIC0gMTkgxJHhur9uIG5heS4NCg0KTOG6pXkgMiBmaWxlIHThu6sgdHJhbmcgd2ViDQoNCjEuaHR0cHM6Ly93d3cua2FnZ2xlLmNvbS9kYXRhc2V0cy9yYXZpbmRyYXNpbmdocmFuYS9qb2ItZGVzY3JpcHRpb24tZGF0YXNldA0KDQoyLmh0dHBzOi8vd3d3LmthZ2dsZS5jb20vZGF0YXNldHMvZ3VuYXByby9zdHVkZW50LWJlaGF2aW9yDQoNCiMgQ0jGr8agTkcgMjogVOG7lE5HIFFVQU4gTMOdIFRIVVnhur5UIFbDgCBE4buuIExJ4buGVSBOR0hJw4pOIEPhu6hVLg0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KIyMgR2nhu5tpIHRoaeG7h3UgduG7gSB0aOG7iyB0csaw4budbmcgbGFvIMSR4buZbmcuDQoNCi0gICAqKlRo4buLIHRyxrDhu51uZyBsYW8gxJHDtG5nIGfhuq9uIGxp4buBbiB24bubaSBjxqEgaOG7mWkgdmnhu4djIGzDoG0qKjogbMOgIG7GoWkgZGnhu4VuIHJhIGhv4bqhdCDEkeG7mW5nIHRyYW8gxJHhu5VpLCBtdWEgYsOhbiBz4bupYyBsYW8gxJHhu5luZyBnaeG7r2EgbmfGsOG7nWkgY8OzIHPhu6ljIGxhbyDEkeG7mW5nIChuZ8aw4budaSBiw6FuKSB2w6AgbmfGsOG7nWkgc+G7rSBk4bulbmcgc+G7qWMgbGFvIMSR4buZbmcgKG5nxrDhu51pIG11YSkuIFPhu6ljIGxhbyDEkeG7mW5nIGzDoCBraOG6oyBuxINuZyBsYW8gxJHhu5luZyBj4bunYSBjb24gbmfGsOG7nWksIMSRxrDhu6NjIHRo4buDIGhp4buHbiBxdWEgdHLDrG5oIMSR4buZIGtp4bq/biB0aOG7qWMsIGvhu7kgbsSDbmcsIGtpbmggbmdoaeG7h20gdsOgIHPhu6ljIGto4buPZS4gTsOzIG1hbmcgdMOtbmggY+G6oW5oIHRyYW5oIHLhuqV0IGNhbywgdMOtbmggYmnhur9uIMSR4buZbmcgdsOgIHBow6JuIGJp4buHdCB0aGVvICoqKE5nw6BuaCBuZ2jhu4EsIGtodSB24buxYyB2w6AgbG/huqFpIGjDrG5oIGRvYW5oIG5naGnhu4dwLikqKg0KDQojIyBNw7QgdOG6oyBk4buvIGxp4buHdSBuZ2hpw6puIGPhu6l1Lg0KDQotICAgQuG7mSBk4buvIGxp4buHdSDEkeG6p3UgdGnhu4FuIGzhuqV5IHThu6sgbGluazogMS5odHRwczovL3d3dy5rYWdnbGUuY29tL2RhdGFzZXRzL3JhdmluZHJhc2luZ2hyYW5hL2pvYi1kZXNjcmlwdGlvbi1kYXRhc2V0Lg0KDQpC4buZIGThu68gbGnhu4d1IG7DoHkgbMOgIGLDoGkga2jhuqNvIHPDoXQgY3VuZyBj4bqlcCBt4buZdCBi4buZIHPGsHUgdOG6rXAgdG/DoG4gZGnhu4duIGPDoWMgdGluIHR1eeG7g24gZOG7pW5nIHThu5VuZyBo4bujcCDEkeG7gyB04bqhbyDEkWnhu4F1IGtp4buHbiB0aHXhuq1uIGzhu6NpIGNobyB2aeG7h2MgbmdoacOqbiBj4bupdSB2w6AgcGjDom4gdMOtY2ggdHJvbmcgbMSpbmggduG7sWMgeHUgaMaw4bubbmcgdGjhu4sgdHLGsOG7nW5nIHZp4buHYyBsw6BtIGLhurFuZyB2aeG7h2MgbcO0IHBo4buPbmcgY+G6pXUgdHLDumMgdsOgIG7hu5lpIGR1bmcgdHJvbmcgZGFuaCBzw6FjaCB2aeG7h2MgbMOgbSAuIFThuq1wIGThu68gbGnhu4d1IG7DoHkgY3VuZyBj4bqlcCBt4buZdCBsb+G6oXQgZGFuaCBzw6FjaCBjw7RuZyB2aeG7h2MgxJFhIGThuqFuZyB0aHXhu5ljIG5oaeG7gXUgbmfDoG5oIHbDoCBsb+G6oWkgY8O0bmcgdmnhu4djIGtow6FjIG5oYXUuICoqVGjhu4MgaGnhu4duIGPDoWMgbmh1IGPhuqd1IGPhu6dhIGRvYW5oIG5naGnhu4dwKioNCg0KLSAgICoqRmlsZSBjw7MgMTA0ODU3NCBxdWFuIHPDoXQgdsOgIDIzIGJp4bq/biBraGkgbOG7jWMgcmEgY2jhu4kgcXXhu5FjIGdpYSBWaeG7h3QgTmFtIGPDsm4gNDk3NSBxdWFuIHPDoXQgdsOgIDIzIGJp4bq/bi4qKg0KDQpNw7QgdOG6oyBjaG8gdOG7q25nIGPhu5l0IHRyb25nIHThuq1wIGThu68gbGnhu4d1Og0KDQoxLiAgKipKb2IgSWQqKjogTcOjIMSR4buLbmggZGFuaCBkdXkgbmjhuqV0IGNobyBt4buXaSB0aW4gdHV54buDbiBk4bulbmcuDQoNCjIuICAqKkV4cGVyaWVuY2UqKjogU+G7kSBuxINtIGtpbmggbmdoaeG7h20gxJHGsOG7o2MgecOqdSBj4bqndSBob+G6t2MgxrB1IHRpw6puIGNobyBjw7RuZyB2aeG7h2MuDQoNCjMuICAqKlF1YWxpZmljYXRpb25zKio6IFRyw6xuaCDEkeG7mSBo4buNYyB24bqlbiBj4bqnbiB0aGnhur90IGNobyBjw7RuZyB2aeG7h2MuDQoNCjQuICAqKlNhbGFyeSBSYW5nZSoqOiBQaOG6oW0gdmkgbeG7qWMgbMawxqFuZyBob+G6t2MgdGjDuSBsYW8gxJHGsOG7o2MgxJHGsGEgcmEgY2hvIHbhu4sgdHLDrSDEkcOzLih0aGVvIHR14bqnbikNCg0KNS4gICoqbG9jYXRpb24qKjogVGjDoG5oIHBo4buRIGhv4bq3YyBraHUgduG7sWMgbsahaSBsw6BtIHZp4buHYy4NCg0KNi4gICoqQ291bnRyeSoqIFF14buRYyBnaWEgbsahaSBjw7RuZyB2aeG7h2MgZGnhu4VuIHJhLg0KDQo3LiAgKipsYXRpdHVkZSoqOiBU4buNYSDEkeG7mSB2xKkgxJHhu5kgY+G7p2EgduG7iyB0csOtIGPDtG5nIHZp4buHYy4NCg0KOC4gICoqbG9uZ2l0dWRlKio6IFThu41hIMSR4buZIGtpbmggxJHhu5kgY+G7p2EgduG7iyB0csOtIGPDtG5nIHZp4buHYy4NCg0KOS4gICoqV29yayBUeXBlKio6IExv4bqhaSBjw7RuZyB2aeG7h2MgKHbDrSBk4bulOiB0b8OgbiB0aOG7nWkgZ2lhbiwgYsOhbiB0aOG7nWkgZ2lhbiwgaOG7o3AgxJHhu5NuZykuDQoNCjEwLiAqKkNvbXBhbnkgU2l6ZSoqOiBRdXkgbcO0IGhv4bq3YyBxdXkgbcO0IGfhuqduIMSRw7puZyBj4bunYSBjw7RuZyB0eSB0dXnhu4NuIGThu6VuZy4NCg0KMTEuICoqSm9iIFBvc3RpbmcgWWVhcioqOiBOxINtIG3DoCB0aW4gdHV54buDbiBk4bulbmcgxJHGsOG7o2MgY8O0bmcga2hhaS4NCg0KMTIuICoqUHJlZmVyZW5jZSoqOiBDw6FjIMawdSB0acOqbiBob+G6t2MgecOqdSBj4bqndSDEkeG6t2MgYmnhu4d0IMSR4buRaSB24bubaSBuZ8aw4budaSBu4buZcCDEkcahbiAodsOtIGThu6U6IENo4buJIE5hbSBob+G6t2MgQ2jhu4kgTuG7ryBob+G6t2MgQ+G6oyBoYWkpDQoNCjEzLiAqKkNvbnRhY3QgUGVyc29uKio6IFTDqm4gY+G7p2EgbmfGsOG7nWkgbGnDqm4gaOG7hyBob+G6t2MgbmjDoCB0dXnhu4NuIGThu6VuZyBjaG8gY8O0bmcgdmnhu4djLg0KDQoxNC4gKipDb250YWN0Kio6IFRow7RuZyB0aW4gbGnDqm4gaOG7hyDEkeG7gyDEkcaw4bujYyB0xrAgduG6pW4gY8O0bmcgdmnhu4djLg0KDQoxNS4gKipKb2IgVGl0bGUqKjogQ2jhu6ljIGRhbmggY8O0bmcgdmnhu4djIGhv4bq3YyB24buLIHRyw60gxJFhbmcgxJHGsOG7o2MgcXXhuqNuZyBjw6FvLg0KDQoxNi4gKipSb2xlKio6IFZhaSB0csOyIGhv4bq3YyBkYW5oIG3hu6VjIGPDtG5nIHZp4buHYyAodsOtIGThu6U6IG5ow6AgcGjDoXQgdHJp4buDbiBwaOG6p24gbeG7gW0sIGdpw6FtIMSR4buRYyB0aeG6v3AgdGjhu4spLg0KDQoxNy4gKipKb2IgUG9ydGFsKio6IE7hu4FuIHThuqNuZyBob+G6t2MgdHJhbmcgd2ViIG7GoWkgY8O0bmcgdmnhu4djIMSRxrDhu6NjIMSRxINuZy4NCg0KMTguICoqSm9iIERlc2NyaXB0aW9uKio6IE3DtCB04bqjIGNoaSB0aeG6v3QgduG7gSB0csOhY2ggbmhp4buHbSB2w6AgecOqdSBj4bqndSBjw7RuZyB2aeG7h2MuDQoNCjE5LiAqKkJlbmVmaXRzKio6IFRow7RuZyB0aW4gduG7gSBjw6FjIHBow7pjIGzhu6NpIMSRxrDhu6NjIGN1bmcgY+G6pXAga2hpIGzDoG0gdmnhu4djICh2w60gZOG7pTogYuG6o28gaGnhu4NtIHkgdOG6vywga+G6vyBob+G6oWNoIG5naOG7iSBoxrB1KS4NCg0KMjAuICoqc2tpbGxzKio6IEPDoWMga+G7uSBuxINuZyBob+G6t2MgYuG6sW5nIGPhuqVwIGPhuqduIHRoaeG6v3QgY2hvIGPDtG5nIHZp4buHYy4NCg0KMjEuICoqUmVzcG9uc2liaWxpdGllcyoqOiBUcsOhY2ggbmhp4buHbSB2w6Agbmhp4buHbSB24bulIGPhu6UgdGjhu4MgbGnDqm4gcXVhbiDEkeG6v24gY8O0bmcgdmnhu4djLg0KDQoyMi4gKipDb21wYW55Kio6IFTDqm4gY8O0bmcgdHkgdHV54buDbiBk4bulbmcuDQoNCjIzLiAqKkNvbXBhbnkgUHJvZmlsZSoqOiBU4buVbmcgcXVhbiBuZ+G6r24gZ+G7jW4gduG7gSBu4buBbiB04bqjbmcgdsOgIHPhu6kgbeG7h25oIGPhu6dhIGPDtG5nIHR5Lg0KDQotICAgKipC4buZIHTDoGkgbGnhu4d1IMSRxrDhu6NjIHRo4buRbmcga+G6vyB04burIDIwMjEtOS8yMDIzKioNCg0KLSAgIELhu5kgZOG7ryBsaeG7h3UgxJHhuqd1IHRp4buBbiBs4bqleSB04burIGxpbms6IDIuaHR0cHM6Ly93d3cua2FnZ2xlLmNvbS9kYXRhc2V0cy9ndW5hcHJvL3N0dWRlbnQtYmVoYXZpb3IuDQoNClThuq1wIGThu68gbGnhu4d1IG7DoHkgY2jhu6lhIHRow7RuZyB0aW4gxJHGsOG7o2MgdGh1IHRo4bqtcCB04burIHNpbmggdmnDqm4gxJHhuqFpIGjhu41jIHRow7RuZyBxdWEgYmnhu4N1IG3huqt1IEdvb2dsZSBs4bqleSDEkeG6oWkgZGnhu4duIGNobyBt4buZdCBz4buRIHNpbmggdmnDqm4gVmnhu4d0IE5hbS4gKipC4buZIGThu68gbGnhu4d1IG7DoHkgY2jhu6lhIHRow7RuZyB0aW4gduG7gSBuaMOibiBraOG6qXUgaOG7jWMsIGvhur90IHF14bqjIGjhu41jIHThuq1wLCBz4bufIHRow61jaCwgdGjDs2kgcXVlbiBo4buNYyB04bqtcCwgbmd1eeG7h24gduG7jW5nIG5naOG7gSBuZ2hp4buHcCB2w6AgY8OhYyB54bq/dSB04buRIGtow6FjIMSR4buDIHBow6JuIHTDrWNoIGjDoG5oIHZpIGPhu6dhIHNpbmggdmnDqm4gxJHhuqFpIGjhu41jIGtoaSBjaOG7jW4gY8O0bmcgdmnhu4djKiouDQoNCi0gICAqKkZpbGUgY8OzIDIzNSBxdWFuIHPDoXQgdsOgIDE5IGJp4bq/bioqDQoNCk3DtCB04bqjIGNobyB04burbmcgY+G7mXQgdHJvbmcgdOG6rXAgZOG7ryBsaeG7h3U6DQoNCjEuICAqKkNlcnRpZmljYXRpb24gQ291cnNlKio6IFjDoWMgbmjhuq1uIHNpbmggdmnDqm4gY8OzIGLhurFuZyBj4bqlcC8gY2jhu6luZyBjaOG7iSBuw6BvIGNoxrBhKFllcy9Dw7MgaG/hurdjIE5vL2tow7RuZykuDQoNCjIuICAqKkdlbmRlcioqOiBHaeG7m2kgdMOtbmggc2luaCB2acOqbi4NCg0KMy4gICoqRGVwYXJ0bWVudCoqOiBLaG9hIGhv4bq3YyBsxKluaCB24buxYyBo4buNYyB04bqtcCBtw6Agc2luaCB2acOqbiDEkWFuZyB0aGVvIGjhu41jLg0KDQo0LiAgKipIZWlnaHQoQ00pKio6IENoaeG7gXUgY2FvIGPhu6dhIGjhu41jIHNpbmggdMOtbmggYuG6sW5nIGNlbnRpbWV0Lg0KDQo1LiAgKipXZWlnaHQoS0cpKio6IEPDom4gbuG6t25nIGPhu6dhIGjhu41jIHNpbmggdMOtbmggYuG6sW5nIGtpbG9nYW0uDQoNCjYuICAqKjEwdGggTWFyayoqOiDEkGnhu4NtIGPhu6dhIGjhu41jIHNpbmggxJHhuqF0IMSRxrDhu6NjIHbDoG8gbOG7m3AgMTAuDQoNCjcuICAqKjEydGggTWFyayoqOiDEkGnhu4NtIGPhu6dhIGjhu41jIHNpbmggxJHhuqF0IMSRxrDhu6NjIHbDoG8gbsSDbSBs4bubcCAxMi4NCg0KOC4gICoqQ29sbGVnZSBNYXJrKio6IMSQaeG7g20gY+G7p2Egc2luaCB2acOqbiDEkeG6oXQgxJHGsOG7o2Mg4bufIHRyxrDhu51uZyBjYW8gxJHhurNuZyBob+G6t2MgxJHhuqFpIGjhu41jLg0KDQo5LiAgKipob2JiaWVzKio6IFPhu58gdGjDrWNoIGhv4bq3YyBz4bufIHRow61jaCBj4bunYSBo4buNYyBzaW5oLg0KDQoxMC4gKipkYWlseSBzdHVkaW5nIHRpbWUqKjogTMaw4bujbmcgdGjhu51pIGdpYW4gaOG7jWMgc2luaCBkw6BuaCBjaG8gdmnhu4djIGjhu41jIGjDoG5nIG5nw6B5Lg0KDQoxMS4gKipQcmVmZXIgdG8gU3R1ZHkgaW4qKjogTcO0aSB0csaw4budbmcgaOG7jWMgdOG6rXAgaG/hurdjIMSR4buLYSDEkWnhu4NtIMawYSB0aMOtY2ggY+G7p2Egc2luaCB2acOqbi4NCg0KMTIuICoqc2FsYXJ5IGV4cGVjdGF0aW9uKio6IEvhu7MgduG7jW5nIGPhu6dhIHNpbmggdmnDqm4gduG7gSBt4bupYyBsxrDGoW5nIHTGsMahbmcgbGFpIGPhu6dhIGjhu40gKG5nw6BuIMSR4buTbmcpLg0KDQoxMy4gKipEbyB5b3UgbGlrZSB5b3VyIGRlZ3JlZT8qKjogw50ga2nhur9uIOKAi+KAi2Phu6dhIHNpbmggdmnDqm4gduG7gSB2aeG7h2MgaOG7jSBjw7MgdGjDrWNoIGLhurFuZyBj4bqlcCBj4bunYSBtw6xuaCBoYXkga2jDtG5nLg0KDQoxNC4gKip3aWxsaW5nbmVzcyB0byBwdXJzdWUgYSBjYXJlZXIgYmFzZWQgb24gdGhlaXIgZGVncmVlKio6IFPhu7Egc+G6tW4gbMOybmcgY+G7p2Egc2luaCB2acOqbiB0aGVvIMSRdeG7lWkgbmdo4buBIG5naGnhu4dwIGxpw6puIHF1YW4gxJHhur9uIGLhurFuZyBj4bqlcCBj4bunYSBo4buNDQoNCjE1LiAqKnNvY2lhbCBtZWRhaSAmIHZpZGVvKio6IFPhu7EgdGhhbSBnaWEgY+G7p2EgaOG7jWMgc2luaCB24bubaSBjw6FjIG7hu4FuIHThuqNuZyB0cnV54buBbiB0aMO0bmcgeMOjIGjhu5lpIHbDoCB2aWRlbw0KDQoxNi4gKipUcmF2ZWxsaW5nIFRpbWUqKjogVGjhu51pIGdpYW4gxJHhu4MgaOG7jWMgc2luaCDEkWkgbOG6oWkgaG/hurdjIGRpIGNodXnhu4NuIMSR4bq/biBjxqEgc+G7nyBnacOhbyBk4bulYyBj4bunYSBtw6xuaA0KDQoxNy4gKipTdHJlc3MgTGV2ZWwqKjogTeG7qWMgxJHhu5kgY8SDbmcgdGjhurNuZyBj4bqjbSBuaOG6rW4gxJHGsOG7o2MgY+G7p2EgaOG7jWMgc2luaA0KDQoxOC4gKipGaW5hbmNpYWwgU3RhdHVzKio6IFTDrG5oIHRy4bqhbmcgdMOgaSBjaMOtbmggaG/hurdjIG7hu4FuIHThuqNuZyBraW5oIHThur8gY+G7p2Egc2luaCB2acOqbg0KDQoxOS4gKipwYXJ0LXRpbWUgam9iKio6IExp4buHdSBzaW5oIHZpw6puIGPDsyB0aGFtIGdpYSB2w6BvIGPDtG5nIHZp4buHYyBiw6FuIHRo4budaSBnaWFuIGhheSBraMO0bmcNCg0KIyMgROG7ryBsaeG7h3UgbmdoacOqbiBj4bupdQ0KDQoqKjEuIEThu68gbGnhu4d1IDEqKg0KDQpgYGB7cn0NCmxpYnJhcnkoeGxzeCkNCmRsMSA8LSByZWFkLmNzdihmaWxlLmNob29zZSgpLGhlYWRlciA9IFQpDQppcy5kYXRhLmZyYW1lKGRsMSkNCmBgYA0KDQotICAgVGjhu4MgaGnhu4duIHLDtSBz4buRIHF1YW4gc8OhdCB2w6AgYmnhur9uOiAxMDQ4NTc0IHF1YW4gc8OhdCB2w6AgMjMgYmnhur9uIHbDoCBk4buvIGxp4buHdSBsw6AgZGF0YSBmcmFtZS4NCg0KLSAgIE1vbmcgbXXhu5FuIGThu68gbOG6oWkgY2jhu4kgcXXhu5FjIGdpYSBWaeG7h3QgTmFtIMSR4buDIGThu4MgZMOgbmcgY2hvIHZp4buHYyBwaMOibiB0w61jaC4NCg0KYGBge3J9DQpsaWJyYXJ5KHRpZHl2ZXJzZSkNCmEgPC0gZGwxICU+JSBmaWx0ZXIoQ291bnRyeSA9PSAiVmlldG5hbSIpDQp3cml0ZS5jc3YoYSwgImEuY3N2IikgI1ThuqFvIHJhIDEgZmlsZSBleGNlbCByacOqbmcgY2hvIHF14buRYyBnaWEgVmnhu4d0IE5hbS4NCmENCmBgYA0KDQotICAgQuG7mSB0w6BpIGxp4buHdSBraGkgbOG7jWMgY8OybiA0OTc1IHF1YW4gc8OhdCB2w6AgMjMgYmnhur9uLg0KDQo9XD4gxJDhu4MgcGjDom4gdMOtY2ggbmh1IGPhuqd1IHR1eeG7g24gZOG7pW5nIGPhu6dhIGRvYW5oIG5naGnhu4dwLCBjaMO6bmcgdGEgY8OzIHRo4buDOg0KDQoxLiAgWMOhYyDEkeG7i25oIG5odSBj4bqndSBuaMOibiBz4buxOiBQaMOibiB0w61jaCB2w6AgeMOhYyDEkeG7i25oIHPhu5EgbMaw4bujbmcgY8WpbmcgbmjGsCBsb+G6oWkgaMOsbmggbmjDom4gc+G7sSBtw6AgY8O0bmcgdHkgY+G6p24uDQoNCjIuICBU4buRaSDGsHUgaMOzYSBxdXkgdHLDrG5oIHR1eeG7g24gZOG7pW5nIHbDoCBoaeG7h3Ugc3XhuqV0IG5ow6JuIHPhu7E6IFThu5FpIMawdSBow7NhIGPDoWMgcXV5IHRyw6xuaCB0dXnhu4NuIGThu6VuZyBuaOG6sW0gdMSDbmcgaGnhu4d1IHF14bqjIHbDoCB0aeG6v3Qga2nhu4dtIGNoaSBwaMOtLCDEkeG7k25nIHRo4budaSBs4bqtcCBk4buxIGLDoW8gdsOgIGvhur8gaG/huqFjaCB24buBIG5ow6JuIHPhu7EgxJHhu4MgxJHhuqNtIGLhuqNvIHLhurFuZyBjw7RuZyB0eSBjw7MgxJHhu6cgbmd14buTbiBuaMOibiBs4buxYyBj4bqnbiB0aGnhur90Lj1cPiAqKkPDsyB0aOG7gyB04buVbmcga+G6v3Qga+G6v3QgcXXhuqMgcGjDom4gdMOtY2ggYuG6sW5nIGPDoWNoIHPhu60gZOG7pW5nIGJp4buDdSDEkeG7kyDEkeG7gyB0cuG7sWMgcXVhbiBow7NhLioqDQoNCioqMi4gROG7sSBsaeG7h3UgMioqDQoNCmBgYHtyfQ0KbGlicmFyeSh4bHN4KQ0KZGwyIDwtIHJlYWQuY3N2KGZpbGUuY2hvb3NlKCksaGVhZGVyID0gVCkNCmlzLmRhdGEuZnJhbWUoZGwyKQ0KZGwyDQpgYGANCg0KLSAgIFRo4buDIGhp4buHbiByw7Ugc+G7kSBxdWFuIHPDoXQgdsOgIGJp4bq/bjogMjM1IHF1YW4gc8OhdCB2w6AgMTkgYmnhur9uIHbDoCBk4buvIGxp4buHdSBsw6AgZGF0YSBmcmFtZS4NCg0KPVw+IMSQ4buDIHBow6JuIHTDrWNoIHbDoCBxdWFuIHPDoXQgbmh1IGPhuqd1IGPFqW5nIG5oxrAgxJHhurdjIHTDrW5oIGPhu6UgdGjhu4MgY+G7p2EgdOG7q25nIHNpbmggdmnDqm4sIGNow7puZyB0YSBjw7MgdGjhu4M6DQoNCjEuICBYw6FjIMSR4buLbmggbmh1IGPhuqd1IHZp4buHYyBsw6BtIGPhu6dhIHNpbmggdmnDqm46IFBow6JuIHTDrWNoIHbDoCB4w6FjIMSR4buLbmggc+G7kSBsxrDhu6NuZyBjxaluZyBuaMawIG1vbmcgbXXhu5FuIGPhu6dhIHNpbmggdmnDqm4gdHJvbmcgNCBuZ8OgbmguDQoNCjIuICBU4bqhbyBo4buTIHPGoSB2w6AgdHLhu7FjIHF1YW4gaMOzYSBk4buvIGxp4buHdTogVOG6oW8gaOG7kyBzxqEgY8OhIG5ow6JuIGPhu6dhIG3hu5dpIHNpbmggdmnDqm4gxJHhu4MgaGnhu4N1IHLDtSBoxqFuIHbhu4Egbmh1IGPhuqd1IHbDoCDEkeG6t2MgdMOtbmggY+G7pSB0aOG7gyBj4bunYSBo4buNLiBDdW5nIGPhuqVwIGPGoSBz4bufIMSR4buDIHTGsCB24bqlbiB2w6AgaOG7lyB0cuG7oyB04burbmcgY8OhIG5ow6JuIHRyb25nIHF1w6EgdHLDrG5oIHTDrG0ga2nhur9tIHbDoCBwaMOhdCB0cmnhu4NuIHPhu7EgbmdoaeG7h3AgY+G7p2EgaOG7jS4gKipDw7MgdGjhu4MgdOG7lW5nIGvhur90IGvhur90IHF14bqjIHBow6JuIHTDrWNoIGLhurFuZyBjw6FjaCBz4butIGThu6VuZyBiaeG7g3UgxJHhu5MgxJHhu4MgdHLhu7FjIHF1YW4gaMOzYS4qKg0KDQo9XD4gKioyIGLhu5kgZOG7ryBsaeG7h3UgYsO5IHRy4burIGNobyBuaGF1LCBj4bqjIGhhaSBi4buZIGThu68gbGnhu4d1IG7DoHkgcGjDom4gdMOtY2ggY8O5bmcgbmhhdSBjw7MgdGjhu4MgZ2nDunAgaGnhu4N1IHLDtSBoxqFuIHbhu4Egc+G7sSBwaMO5IGjhu6NwIGdp4buvYSBuaHUgY+G6p3UgY+G7p2EgZG9hbmggbmdoaeG7h3AgdsOgIG1vbmcgbXXhu5FuIGPhu6dhIHNpbmggdmnDqm4sIHThu6sgxJHDsyB04buRaSDGsHUgaMOzYSBxdcOhIHRyw6xuaCB0dXnhu4NuIGThu6VuZyB2w6AgdOG6oW8gcmEgc+G7sSBr4bq/dCBu4buRaSB04buRdCBoxqFuIGdp4buvYSDhu6luZyB2acOqbiB2w6AgY8O0bmcgdmnhu4djLioqDQoNCiMgQ2jGsMahbmcgMzogUGjDom4gdMOtY2ggdGjhu7FjIHRy4bqhbmcgdGjhu4sgdHLGsOG7nW5nIGxhbyDEkeG7mW5nLg0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KLSAgIFZp4buHdCBOYW0gbMOgIG3hu5l0IHF14buRYyBnaWEgY8OzIGzhu7FjIGzGsOG7o25nIGxhbyDEkeG7mW5nIGThu5NpIGTDoG8uIFR1eSBuaGnDqm4sIHRyb25nIGLhu5FpIGPhuqNuaCDEkeG6oWkgZOG7i2NoIENPVklELTE5LCDEkcOjIMSRZW0gbOG6oWkgbmhp4buBdSBiaeG6v24gxJHhu5luZyB0acOqdSBj4buxYyDEkeG7kWkgduG7m2kgdGjhu4sgdHLGsOG7nW5nIGxhbyDEkeG7mW5nLiBTYXUgZ2lhaSDEkW/huqFuIG7DoHksYuG6r3QgxJHhuqd1IHF1w6EgdHLDrG5oIHBo4bulYyBo4buTaSB2w6AgcGjDoXQgdHJp4buDbiBjw7MgdGjhu4MgbWFuZyBs4bqhaSBj4bqjIHRow6FjaCB0aOG7qWMgdsOgIGPGoSBo4buZaSBjaG8gVmnhu4d0IE5hbS4NCg0KIyMgVOG7lW5nIHF1YW4gY8ahIGjhu5lpIG5naOG7gSBuZ2hp4buHcCB0aGVvIG7Eg20oZOG7ryBsaeG7h3UgMSkNCg0KLSAgIFRo4budaSBr4buzIGJp4bq/biDEkeG7mW5nIHRpw6p1IGPhu7FjIG5o4bqldCBj4bunYSDEkeG6oWkgZOG7i2NoIENvdmlkLTE5IHThuqFpIFZp4buHdCBOYW0gxJHGsOG7o2MgxJHDoW5oIGdpw6EgbMOgIHThu6sgKipxdcO9IDIgbsSDbSAyMDIxIMSR4bq/biBxdcO9IDEgbsSDbSAyMDIyKiouIOG6om5oIGjGsOG7n25nIG7hurduZyBu4buBIMSR4bq/biBuaGnhu4F1IGzEqW5oIHbhu7FjIGtpbmggdOG6vywgeSB04bq/LCBnacOhbyBk4bulYywgdMOibSBzaW5oIGzDvSB4w6MgaOG7mWkuDQoNCi0gICBExrDhu5tpIMSRw6J5IGzDoCBi4bqjbmcgdGjhu5FuZyBrw6ogc+G7kSBsaeG7h3UgduG7gSB0aOG7nWkgZ2lhbiDEkcSDbmcgdHV54buDbiBjw7RuZyB2aeG7h2MgKHRoZW8gbsSDbSkgY+G7p2EgVmnhu4d0IE5hbSB0cm9uZyBnaWFpIMSRb+G6oW4gdOG7qyBuxINtIDIwMjEgxJHhur9uIDkvMjAyMyDEkeG7gyBjw7MgY8OhaSBuaMOsbiB0cuG7sWMgcXVhbiBoxqFuIGNobyBi4buZIGThu68gbGnhu4d1Lg0KDQpgYGB7cn0NCmxpYnJhcnkoc2NhbGVzKQ0KYSAlPiUgZmlsdGVyKEpvYi5Qb3N0aW5nLlllYXIgPj0gMjAyMSAmIEpvYi5Qb3N0aW5nLlllYXIgPD0gMjAyMykgJT4lIA0KICBncm91cF9ieShKb2IuUG9zdGluZy5ZZWFyKSAlPiUgc3VtbWFyaXNlKG4gPSBuKCkpICU+JQ0KICBnZ3Bsb3QoYWVzKHg9Sm9iLlBvc3RpbmcuWWVhciwgeT1uKSkgKw0KICBnZW9tX2NvbChmaWxsPSdwaW5rJykgKw0KICBnZW9tX3RleHQoYWVzKGxhYmVsID0gcGVyY2VudChuL2xlbmd0aChhJEpvYi5JZCkpKSx2anVzdCA9IDIsIGNvbG9yID0gJ3JlZCcpICsNCiAgbGFicyh0aXRsZSA9ICJCaeG7g3UgxJHhu5MgdGjhu4MgaGnhu4duIHPhu5EgbMaw4bujbmcgxJHEg25nIHR1eeG7g24gbmjDom4gdmnDqm4gdGhlbyB04burbmcgbsSDbSIpICsNCiAgbGFicyh4ID0gJ07Eg20nLCB5ID0gJ1Phu5EgbMaw4bujbmcnKQ0KYGBgDQoNCioqTmjhuq1uIHjDqXQgYmnhu4N1IMSR4buTKioNCg0KLSAgIEThu68gbGnhu4d1IHRo4buRbmcga8OqIGNobyB0aOG6pXkgbsSDbSAyMDIxIGNoaeG6v20gw610IG5o4bqldCB0cm9uZyBiaeG7g3UgxJHhu5MgdsOgIG7Eg20gMjAyMiBsw6AgbsSDbSBjw7Mgc+G7kSBsxrDhu6NuZyDEkcahbiB0dXnhu4NuIGThu6VuZyBjYW8gbmjhuqV0LCBjaMOqbmggbOG7h2NoIDE3NTcgKDM1JSkgc28gduG7m2kgbsSDbSB0csaw4bubYy4NCg0KLSAgIFRp4bq/cCB0aGVvLCBt4bq3YyBkw7kgbsSDbSAyMDIzIGNo4buJIHRo4buRbmcga8OqIMSR4bq/biB0aMOhbmcgOSBuaMawbmcgc+G7kSBsxrDhu6NuZyDEkcahbiB0dXnhu4NuIGThu6VuZyB24bqrbiBraMOhIGNhbywgdsaw4bujdCBxdWEgaMahbiBt4buZdCBu4butYSBz4buRIGzGsOG7o25nIMSRxqFuIMSRxINuZyBrw70gdHJvbmcgbsSDbSAyMDIyLiBO4bq/dSB0aeG6v3AgdOG7pWMgdGjhu5FuZyBrw6ogxJHhur9uIGN14buRaSBuxINtLCBjw7MgdGjhu4MgZOG7sSDEkW/DoW4gc+G6vSBjw7Mgbmhp4buBdSBj4bqjaSB0aGnhu4duIHbDoCB04bu3IGzhu4cgdGjhuqV0IG5naGnhu4dwIGPDsyB0aOG7gyBnaeG6o20gdGhp4buDdSDEkWksIHR1eSBuaGnDqm4sIHPhu5EgbMaw4bujbmcgdHV54buDbiDEkcahbiB0dXnhu4NuIGThu6VuZyB24bqrbiBraMO0bmcgxJHhuqF0IMSRxrDhu6NjIG3hu6ljIG5oxrAgbsSDbSAyMDIyLg0KDQo9XD4gVMOzbSBs4bqhaSwgZOG7i2NoIGLhu4duaCDEkcOjIOG6o25oIGjGsOG7n25nIG5oaeG7gXUgxJHhur9uIGPDtG5nIHZp4buHYyB2w6Agbmh1IGPhuqd1IHR1eeG7g24gZOG7pW5nIGPhu6dhIGRvYW5oIG5naGnhu4dwLCB0dXkgbmhpw6puLCB0w6xuaCBow6xuaCBuZ8OgeSBjw6BuZyBj4bqjaSB0aGnhu4duIHRoZW8gdGjhu51pIGdpYW4uIMSQaeG7gXUgbsOgeSDEkcaw4bujYyB0aOG7gyBoaeG7h24gcXVhIGPDoWMgY2jhu4kgc+G7kSBuaMawIHNhdToNCg0KMS4gIE7Eg20gMjAyMSB04bu3IGzhu4cgdGjhuqV0IG5naGnhu4dwIMSR4buRaSB24bubaSB0aOG7iyB0csaw4budbmcgbGFvIMSR4buZbmcgVmnhu4d0IE5hbSDGsOG7m2MgdMOtbmggMywyMiUsIMSR4bqhdCBjYW8gbmjhuqV0IHRyb25nIDkgdGjDoW5nIMSR4bqndSBuxINtIGzDoCAyLDY3JSAoMSkNCg0KMi4gIE7Eg20gMjAyMjogVOG7tyBs4buHIHRo4bqldCBuZ2hp4buHcCB0cm9uZyDEkeG7mSB0deG7lWkgbGFvIMSR4buZbmcgZ2nhuqNtIHh14buRbmcgY8OybiAyLDMyJS4gxJDDonkgbMOgIG3hu6ljIHRo4bqlcCBuaOG6pXQgdHJvbmcgNSBuxINtIHF1YSwgZ+G6p24gMSwwNyB0cmnhu4d1IMOtdCBoxqFuIDM1OS4yIHNvIHbhu5tpIG7Eg20gMjAyMSAoMikNCg0KMy4gIE7Eg20gMjAyMzogVOG7tyBs4buHIHRo4bqldCBuZ2hpw6pwIGzDoCAyLjI4JSBnaeG6o20gMC4wMDYlIMSRaeG7g20gcGjhuqduIHRyxINtIHNvIHbhu5tpIG7Eg20gdHLGsOG7m2MuKDMpDQoNCiMjIE5odSBj4bqndSBjw6FjIGxv4bqhaSBjw7RuZyB2aeG7h2MNCg0KIyMjIE5odSBj4bqndSBj4bunYSBkb2FuaCBuZ2hp4buHcCB0aOG7gyBoaeG7h24gYuG6sW5nIHZp4buHYyB0dXnhu4NuIGThu6VuZyBjw6FjIGxv4bqhaSBjw7RuZyB2aeG7h2Mga2jDoWMgbmhhdShk4buvIGxp4buHdSAxKQ0KDQotICAgTeG7l2kgbG/huqFpIGjDrG5oIGPDtG5nIHZp4buHYyDEkeG7gXUgY8OzIG5o4buvbmcgxJHhurdjIMSRaeG7g20gcmnDqm5nIHbDoCDEkcOhcCDhu6luZyBuaHUgY+G6p3UgY+G7p2EgZG9hbmggbmdoaeG7h3Ag4bufIGPDoWMga2jDrWEgY+G6oW5oIGtow6FjIG5oYXUuDQoNCi0gICBRdcOhIHRyw6xuaCBuw6B5IGdpw7pwIGRvYW5oIG5naGnhu4dwIGzhu7FhIGNo4buNbiBuaOG7r25nIG5nxrDhu51pIGPDsyDEkeG7pyBuxINuZyBs4buxYyB2w6Aga2luaCBuZ2hp4buHbSDEkeG7gyDEkcOhcCDhu6luZyBuaHUgY+G6p3UgY+G7p2EgY8O0bmcgdmnhu4djIHRoZW8gY8OhYyBt4bupYyDEkeG7mSDEkeG7gyBwaMOibiBsb+G6oWkgY8O0bmcgdmnhu4djOg0KDQoxLiAgQ29udHJhY3Q6IFRodcOqIG5ow6JuIGzhu7FjIGNobyBjw6FjIGThu7Egw6FuIG5n4bqvbiBo4bqhbiwgdGhlbyBtw7lhIHbhu6UgaG/hurdjIGtoaSBjw7Mgbmh1IGPhuqd1IMSR4buZdCB4deG6pXQuDQoNCjIuICBGdWxsLXRpbWU6IFRodcOqIG5ow6JuIGzhu7FjIGNobyBjw6FjIHbhu4sgdHLDrSBjw7RuZyB2aeG7h2MgZMOgaSBo4bqhbiwg4buVbiDEkeG7i25oLg0KDQozLiAgSW50ZXJuOiBDdW5nIGPhuqVwIGPGoSBo4buZaSBjaG8gc2luaCB2acOqbiBo4buNYyBo4buPaSBraW5oIG5naGnhu4dtIHRo4buxYyB04bq/IHRyb25nIG3DtGkgdHLGsOG7nW5nIGzDoG0gdmnhu4djIGNodXnDqm4gbmdoaeG7h3ANCg0KNC4gIFBhcnQtdGltZTogVGh1w6ogbmjDom4gbOG7sWMgY2hvIGPDoWMgduG7iyB0csOtIGPDtG5nIHZp4buHYyBraMO0bmcgecOqdSBj4bqndSBsw6BtIHZp4buHYyB0b8OgbiB0aOG7nWkgZ2lhbi4NCg0KNS4gIFRlbXBvcmFyeTogVGh1w6ogbmjDom4gbOG7sWMgY2hvIGPDoWMgduG7iyB0csOtIGPDtG5nIHZp4buHYyB0aGF5IHRo4bq/IGNobyBuaMOibiB2acOqbiBjaMOtbmggdGjhu6ljIG5naOG7iSB0aGFpIHPhuqNuLCBuZ2jhu4kgcGjDqXAsIGhv4bq3YyBraGkgY8OzIG5odSBj4bqndSDEkeG7mXQgeHXhuqV0Lg0KDQotICAgxJDhu4MgY8OzIGPDoWkgbmjDrG4gdHLhu7FjIHF1YW4gdsOgIMSRxrBhIHJhIG5o4buvbmcgbmjhuq1uIHjDqXQgY+G7pSB0aOG7gywgY2jDum5nIHRhIHPhur0gcGjDom4gdMOtY2ggc+G7kSBsxrDhu6NuZyDEkcahbiDEkcSDbmcgdHV54buDbiBuaMOibiB2acOqbiB0aGVvIGPDoWMgbG/huqFpIGPDtG5nIHZp4buHYyBiw6puIGTGsOG7m2kuDQoNCmBgYHtyfQ0KYSAlPiUgZ3JvdXBfYnkoV29yay5UeXBlKSAlPiUgc3VtbWFyaXNlKG4gPSBuKCkpICU+JQ0KICBnZ3Bsb3QoYWVzKHggPSAnJywgeSA9IG4sZmlsbCA9IFdvcmsuVHlwZSkpICsNCiAgICBnZW9tX2NvbChjb2xvciA9ICdibGFjaycpICsNCiAgICBjb29yZF9wb2xhcigneScpICsNCiAgICBnZW9tX3RleHQoYWVzKHggPSAxLjMsIGxhYmVsID0gbikscG9zaXRpb24gPSBwb3NpdGlvbl9zdGFjayh2anVzdCA9IC41KSkgKw0KICAgIHRoZW1lX3ZvaWQoKSANCmBgYA0KDQoqKkNow7ogdGjDrWNoKioNCg0KLSAgIENvbnRyYWN0OiBsw6AgbG/huqFpIGPDtG5nIHZp4buHYyBtw6AgbmfGsOG7nWkgbGFvIMSR4buZbmcgbMOgbSB2aeG7h2MgdGhlbyBo4bujcCDEkeG7k25nIMSRw6Mga8OtLCBjw7MgdGjhu51pIGjhuqFuIGPhu6UgdGjhu4MgbmjGsCAzIHRow6FuZyBob+G6t2MgMSBuxINtLCB2w6AgY8OzIHRo4buDIMSRxrDhu6NjIGdpYSBo4bqhbiB0aMOqbSBu4bq/dSBj4bqnbi4NCg0KLSAgIEZ1bGwtdGltZTogbMOgIGPDtG5nIHZp4buHYyB0b8OgbiB0aOG7nWkgZ2lhbiwgbmfGsOG7nWkgbGFvIMSR4buZbmcgc+G6vSBsw6BtIHZp4buHYyB0aGVvIGdp4budIGjDoG5oIGNow61uaCwgdGjGsOG7nW5nIGzDoCA4IHRp4bq/bmcgbeG7l2kgbmfDoHkuDQoNCi0gICBJbnRlcm46IGzDoCBt4buZdCBjaMawxqFuZyB0csOsbmggxJHDoG8gdOG6oW8gbmfhuq9uIGjhuqFuIGTDoG5oIGNobyBzaW5oIHZpw6puIGhv4bq3YyBuZ8aw4budaSBt4bubaSB04buRdCBuZ2hp4buHcCwgbmjhurFtIG3hu6VjIMSRw61jaCBo4buNYyBo4buPaSBraW5oIG5naGnhu4dtIHRo4buxYyB04bq/IHRyb25nIG3DtGkgdHLGsOG7nW5nIGzDoG0gdmnhu4djLg0KDQotICAgUGFydC10aW1lOiBsw6AgY8O0bmcgdmnhu4djIGLDoW4gdGjhu51pIGdpYW4sIG5nxrDhu51pIGxhbyDEkeG7mW5nIHRoxrDhu51uZyBsw6BtIHZp4buHYyBraG/huqNuZyA0LTUgdGnhur9uZyBt4buXaSBuZ8OgeSwgY2jhu6cgeeG6v3UgdHJvbmcgY8OhYyBj4butYSBow6BuZywgbmjDoCBow6BuZyBob+G6t2MgY8OhYyB04buVIGNo4bupYyBraMOhYyDEkeG7gyBraeG6v20gdGjDqm0gdGh1IG5o4bqtcCB2w6AgdMOtY2ggbMWpeSBraW5oIG5naGnhu4dtIGzDoG0gdmnhu4djLg0KDQotICAgVGVtcG9yYXJ5OiBsw6AgbG/huqFpIGjDrG5oIGPDtG5nIHZp4buHYyBuZ+G6r24gaOG6oW4gY8OzIHRo4budaSBnaWFuIHThu6sgdsOgaSBuZ8OgeSDEkeG6v24gdsOgaSB0aMOhbmcsIHRoxrDhu51uZyBraMO0bmcgcXXDoSAxMiB0aMOhbmcuIExv4bqhaSBjw7RuZyB2aeG7h2MgbsOgeSB0aMOtY2ggaOG7o3AgY2hvIG5o4buvbmcgbmfGsOG7nWkgbXXhu5FuIHRo4butIHPhu6ljIHbhu5tpIG5oaeG7gXUgbG/huqFpIGjDrG5oIGPDtG5nIHZp4buHYyBraMOhYyBuaGF1Lg0KDQoqKk5o4bqtbiB4w6l0IGJp4buDdSDEkeG7kyoqDQoNCi0gICBMb+G6oWkgY8O0bmcgdmnhu4djIFBhcnQtdGltZSBjaGnhur9tIHThu7cgbOG7hyBjYW8gbmjhuqV0LCB0cm9uZyBraGkgbG/huqFpIGPDtG5nIHZp4buHYyBJbnRlcm4gY2hp4bq/bSB04bu3IGzhu4cgdGjhuqVwIG5o4bqldCwgduG7m2kgbeG7mXQgY2jDqm5oIGzhu4djaCBsw6AgODQuDQoNCi0gICBMb+G6oWkgaMOsbmggKipGdWxsLXRpbWUgdsOgIFBhcnQtdGltZSoqIHRoxrDhu51uZyDEkcaw4bujYyBkb2FuaCBuZ2hp4buHcCDGsGEgY2h14buZbmcgdHJvbmcgdmnhu4djIHR1eeG7g24gZOG7pW5nLCB0cm9uZyBraGkgMyBsb+G6oWkgY8O0bmcgdmnhu4djIGPDsm4gbOG6oWkgdGjGsOG7nW5nIMOtdCDEkcaw4bujYyBs4buxYSBjaOG7jW4gaMahbi4NCg0KPVw+IFbhu5tpIHPhu7EgY2jDqm5oIGzhu4djaCBjaOG7iSBsw6AgODQsIGtow7RuZyBjw7Mgc+G7sSBjaMOqbmggbOG7h2NoIGzhu5tuIGdp4buvYSB2aeG7h2MgcXVhbiB0w6JtIMSR4bq/biBs4buxYyBsxrDhu6NuZyBsYW8gxJHhu5luZyB0cuG6uyB2w6AgbeG7qWMgxJHhu5kgxrBhIGNodeG7mW5nIHbhu5tpIGPDoWMgbG/huqFpIGPDtG5nIHZp4buHYyBraMOhYyBuaGF1IHRyb25nIGRvYW5oIG5naGnhu4dwLiBUdXkgbmhpw6puLCBt4bulYyB0acOqdSBs4buxYSBjaOG7jW4gbG/huqFpIGPDtG5nIHZp4buHYyBj4bunYSBkb2FuaCBuZ2hp4buHcCB24bqrbiB0aOG7gyBoaeG7h24gc+G7sSB0cuG7jW5nIHRyw6FjaCDEkeG6t2MgYmnhu4d0IMSR4buRaSB24bubaSB2aeG7h2MgeMOieSBk4buxbmcgxJHhu5lpIG5nxakgbmjDom4gdmnDqm4g4buVbiDEkeG7i25oLCBjw7Mga2luaCBuZ2hp4buHbSB2w6Agc+G6tW4gc8OgbmcgxJHDs25nIGfDs3AgbmdheSB04burIGtoaSBi4bqvdCDEkeG6p3UgbMOgbSB2aeG7h2MuDQoNCi0gICBT4buxIGNow6puaCBs4buHY2ggcsO1IHLDoG5nIGdp4buvYSBjw6FjIGxv4bqhaSBjw7RuZyB2aeG7h2MgY8WpbmcgY8OzIHRo4buDIGNobyB0aOG6pXkgZG9hbmggbmdoaeG7h3AgY8OzIGto4bqjIG7Eg25nIGxpbmggaG/huqF0IHRyb25nIHZp4buHYyBjaOG7jW4gbOG7jWMgdsOgIHR1eeG7g24gZOG7pW5nIG5ow6JuIHZpw6puIHBow7kgaOG7o3AgduG7m2kgbmh1IGPhuqd1IHbDoCBt4bulYyB0acOqdSBj4bunYSBo4buNLiBT4buxIGxpbmggaG/huqF0IG7DoHkgY8OzIHRo4buDIHBo4bqjbiDDoW5oIHPhu7EgdGjDrWNoIOG7qW5nIGPhu6dhIGjhu40gduG7m2kgYmnhur9uIMSR4buZbmcgY+G7p2EgdGjhu4sgdHLGsOG7nW5nIGxhbyDEkeG7mW5nIHbDoCB5w6p1IGPhuqd1IGPDtG5nIHZp4buHYyB0aGF5IMSR4buVaS4NCg0KIyMjIFNpbmggdmnDqm4gY8OzIHPhurVuIHPDoG5nIGzDoG0gY8O0bmcgdmnhu4djIGLDoW4gdGjhu51pIGdpYW4ga2hpIHJhIHRyxrDhu51uZyBoYXkga2jDtG5nKGThu68gbGnhu4d1IDIpDQoNCi0gICBLaGkgc2luaCB2acOqbiBt4bubaSByYSB0csaw4budbmcsIHTDom0gbMO9IGPhu6dhIGjhu40gY8OzIHRo4buDIHBo4bupYyB04bqhcCB2w6AgxJFhIGThuqFuZywgdMO5eSB0aHXhu5ljIHbDoG8gbmhp4buBdSB54bq/dSB04buRIG5oxrAga+G6vyBob+G6oWNoIG5naOG7gSBuZ2hp4buHcCwgw6FwIGzhu7FjIHThu6sgZ2lhIMSRw6xuaCB2w6AgeMOjIGjhu5lpLCBz4buxIHThu7EgdGluIHRyb25nIGLhuqNuIHRow6JuLCB2w6Agbmhp4buBdSB54bq/dSB04buRIGtow6FjLg0KDQotICAgROG7sWEgdsOgbyBraOG6o28gc8OhdCB24buBIHTDom0gbMO9IGPhu6dhIHNpbmggdmnDqm4gbeG7m2kgcmEgdHLGsOG7nW5nLCBjaMO6bmcgdGEgdGjhuqV5IHLhurFuZyBo4buNIHRoxrDhu51uZyBtYW5nIG5oaeG7gXUgaHkgduG7jW5nIHbDoCBt4bulYyB0acOqdS4gTmjDrG4gdsOgbyBiaeG7g3UgxJHhu5MgxJHDoyDEkcaw4bujYyBs4bqtcCBiw6puIGTGsOG7m2ksIGNow7puZyB0YSBjw7MgdGjhu4MgcXVhbiBzw6F0IG3hu5l0IGPDoWNoIHRy4buxYyBxdWFuIGjGoW4gduG7gSBuaHUgY+G6p3UgY+G7p2Egc2luaCB2acOqbiBraGkgaOG7jSBjw7Mgc+G6tW4gc8OgbmcgdGhhbSBnaWEgdsOgbyBjw6FjIGPDtG5nIHZp4buHYyBiw6FuIHRo4budaSBnaWFuIChQYXJ0LXRpbWUpIGhheSBraMO0bmcuDQoNCmBgYHtyfQ0KZGwyICU+JSBncm91cF9ieShwYXJ0LnRpbWUuam9iKSAlPiUgc3VtbWFyaXNlKG4gPSBuKCkpICU+JQ0KICBnZ3Bsb3QoYWVzKHggPSAnJywgeSA9IG4sZmlsbCA9IHBhcnQudGltZS5qb2IpKSArDQogICAgZ2VvbV9jb2woY29sb3IgPSAnYmxhY2snKSArDQogICAgY29vcmRfcG9sYXIoJ3knKSArDQogICAgZ2VvbV90ZXh0KGFlcyh4ID0gMS4zLCBsYWJlbCA9IG4pLHBvc2l0aW9uID0gcG9zaXRpb25fc3RhY2sodmp1c3QgPSAuNSkpICsNCiAgICB0aGVtZV92b2lkKCkgDQpgYGANCg0KKipOaOG6rW4geMOpdCBiaeG7g3UgxJHhu5MqKg0KDQotICAgSOG6p3UgaOG6v3QgY8OhYyBzaW5oIHZpw6puIGto4bqjbyBzw6F0IMSR4buBdSBraMO0bmcgbXXhu5FuIGzDoG0gdmnhu4djICoqUGFydC10aW1lKioga2hpIHJhIHRyxrDhu51uZyBjw6FjaCBiaeG7h3QgduG7gSBz4buRIGzGsOG7o25nIGzDoCAxNTMgduG7m2kga2hv4bqjbmcgODIuNiUuDQoNCj1cPiBWaeG7h2MgbsOgeSBwaOG6o24gw6FuaCB2w6BvIG5odSBj4bqndSBj4bunYSBzaW5oIHZpw6puLCBraGkgaOG7jSB0aMaw4budbmcgbXXhu5FuIHThuq1wIHRydW5nIHbDoG8gY8O0bmcgdmnhu4djIGNow61uaCB2w6AgbW9uZyBtdeG7kW4gY8OzIG3hu5l0IGPDtG5nIHZp4buHYyBmdWxsLXRpbWUsIOG7lW4gxJHhu4tuaCBoxqFuLiDEkGEgc+G7kSBzaW5oIHZpw6puIGPFqW5nIGPDsyDEkeG7pyBuaHUgY+G6p3UgdMOgaSBjaMOtbmggdsOgIHRo4bqtbSBjaMOtIG5o4bqtbiDEkcaw4bujYyBz4buxIGjhu5cgdHLhu6MgdOG7qyBnaWEgxJHDrG5oLiBN4buZdCBz4buRIGzhu5tuIHNpbmggdmnDqm4ga2jDtG5nIHRow61jaCBsw6BtIG5o4buvbmcgY8O0bmcgdmnhu4djICJnw7IgYsOzIiB0cm9uZyBjw6FjIGPDtG5nIHR5IGhv4bq3YyBsw6BtIHZp4buHYyB0cm9uZyBtw7RpIHRyxrDhu51uZyB2xINuIHBow7JuZywgdGhheSB2w6BvIMSRw7MsIGjhu40gY8OzIHh1IGjGsOG7m25nIHTDrG0ga2nhur9tIGPDoWMgY8ahIGjhu5lpIG5naOG7gSBuZ2hp4buHcCBsacOqbiBxdWFuIMSR4bq/biBt4bqhbmcgeMOjIGjhu5lpIG5oxrAgbMOgbSBUaWtUb2tlciwgWW91VHViZXIsIHbDoCBuaOG7r25nIG5naOG7gSBuZ2hp4buHcCBt4bubaSBu4buVaSBoaeG7h24gbmF5LiBIb+G6t2MgaOG7jSBjw7MgdGjhu4MgdOG6rXAgdHJ1bmcgdsOgbyB2aeG7h2MgdGnhur9wIHThu6VjIGjhu41jIGjhu49pIHbDoCBwaMOhdCB0cmnhu4NuIGvhu7kgbsSDbmcgxJHhu4MgxJHhuqF0IMSRxrDhu6NjIGPDoWMgYuG6sW5nIGPhuqVwIGNhbyBoxqFuIG5oxrAgdGjhuqFjIHPEqSBob+G6t2MgdGnhur9uIHPEqSB2w6AgxJFpIGjhu41jLg0KDQojIyDEkGkgc8OidSBoxqFuIGPGoSBo4buZaSBuZ2jhu4EgbmdoaeG7h3AgdOG7q25nIG5nw6BuaCBuZ2jhu4EgdGhlbyBuxINtKGThu68gbGnhu4d1IDEpDQoNCi0gICBI4bqndSBo4bq/dCBjw6FjIG5nw6BuaCBuZ2jhu4EgxJHhu4F1IGLhu4sg4bqjbmggaMaw4bufbmcgdHJvbmcgZ2lhaSDEkW/huqFuIDIwMjEtMjAyMyh0aOG7nWkga8OsIGNvdmlkKSDEkeG6t2MgYmnhu4d0IGzDoCBsxKluaCB24buxYyBkdSBs4buLY2gsIGjDoG5nIGtow7RuZywgY8OhYyBow6BuZyBxdcOhbiDEg24gdeG7kW5nLCBnaeG6o2kgdHLDrSB2w6AgdGjhu4MgdGhhbyBnaeG6o20geHXhu5FuZyBuaMawbmcgY8WpbmcgdOG6oW8gxJHhu5luZyBs4buxYyBjaG8gbmjDs20gbmfDoG5oIHbhu4EgY8O0bmcgbmdo4buHIHRow7RuZyB0aW4sIG5nw6BuaCBsb2dpc3RpY3MsIHkgdOG6vywgc+G6o24geHXhuqV0IGPDoWMgc+G6o24gcGjhuqltIHRoaeG6v3QgeeG6v3UgcGjDoXQgdHJp4buDbiBt4bqhbmguDQoNCi0gICBU4burIMSRw7Mgc+G6vSBjw7MgeHUgaMaw4bubbmcgcGjDoXQgdHJp4buDbiBt4bubaSwgYuG6r3QgYnXhu5ljIGPDoWMgbOG7sWMgbMaw4bujbmcgbGFvIMSR4buZbmcgcGjhuqNpIHTDrWNoIGPhu7FjIMSR4buVaSBt4bubaSB2w6AgaG/DoG4gdGhp4buHbiDEkeG7gyBow7JhIG5o4bqtcCB0cm9uZyBi4buRaSBj4bqjbmggaGnhu4duIG5heS4NCg0KLSAgIMSQ4buDIHLDtSBoxqFuIHRhIHPhur0gcGjDom4gdMOtY2ggc+G7kSBsaeG7h3UgdHLDrG5oIMSR4buZIGjhu41jIHbhuqVuIG3DoCBjw6FjIGRhbmggbmdoaeG7h3AgecOqdSBj4bqndSBxdWEgYmnhu4N1IMSR4buTIHNhdS4NCg0KYGBge3J9DQphICU+JSBncm91cF9ieShRdWFsaWZpY2F0aW9ucyxKb2IuUG9zdGluZy5ZZWFyKSAlPiUgc3VtbWFyaXNlKG49bigpKSAlPiUNCiAgZ2dwbG90KGFlcyh4ID0gUXVhbGlmaWNhdGlvbnMseSA9IG4pKSArDQogICAgZ2VvbV9jb2wocG9zaXRpb24gPSAnZG9kZ2UnLGZpbGwgPSAnbGlnaHRibHVlJykgKw0KICAgIGZhY2V0X3dyYXAofkpvYi5Qb3N0aW5nLlllYXIpICsNCiAgICB0aGVtZShheGlzLnRleHQueCA9IGVsZW1lbnRfdGV4dChhbmdsZSA9IDQ1KSkgKyAjeG9heSA0NSDEkeG7mSBjaG8gY2jDuiB0aMOtY2gNCiAgICBnZW9tX3RleHQoYWVzKGxhYmVsID0gbiksdmp1c3QgPSAwLCBjb2xvciA9ICdyZWQnKSArDQogIGxhYnModGl0bGUgPSAiQmnhu4N1IMSR4buTIHRo4buDIGhp4buHbiBjxqEgaOG7mWkgY+G7p2EgdOG7q25nIG5nw6BuaCBuZ2jhu4EgdGhlbyB04burbmcgbsSDbSIpICsNCiAgICBsYWJzKHggPSAnQ8OhYyBsb+G6oWkgYuG6sW5nIHRoZW8gbmfDoG5oJywgeSA9ICdT4buRIGzGsOG7o25nJykNCmBgYA0KDQoqKkNow7ogdGjDrWNoKioNCg0KLSAgIEIuQ29tOiBi4bqxbmcgY+G7rSBuaMOibiBjw7MgbGnDqm4gcXVhbiDEkeG6v24ga2luaCBkb2FuaCwgdGjGsMahbmcgbeG6oWkgdsOgIHTDoGkgY2jDrW5oDQoNCi0gICBCLlRlY2I6IGLhurFuZyBj4butIG5ow6JuIGxpw6puIHF1YW4gxJHhur9uIGvhu7kgdGh14bqtdCwgY8O0bmcgbmdo4buHDQoNCi0gICBCQTogYuG6sW5nIGPhu60gbmjDom4ga2hvYSBo4buNYyB4w6MgaOG7mWkNCg0KLSAgIEJCQTogYuG6sW5nIGPhu60gbmjDom4gcXXhuqNuIHRy4buLIGtpbmggZG9hbmgNCg0KLSAgIEJDQTogYuG6sW5nIGPhu60gbmjDom4gdGjGsMahbmcgbeG6oWkgdsOgIHF14bqjbiB0cuG7iw0KDQotICAgTS5Db206IGLhurFuZyB0aOG6oWMgc8SpIGPDsyBsacOqbiBxdWFuIMSR4bq/biBraW5oIGRvYW5oLCB0aMawxqFuZyBt4bqhaSB2w6AgdMOgaSBjaMOtbmgNCg0KLSAgIE0uVGVjYjogYuG6sW5nIHRo4bqhYyBzxKkgbGnDqm4gcXVhbiDEkeG6v24ga+G7uSB0aHXhuq10LCBjw7RuZyBuZ2jhu4cNCg0KLSAgIE1CQTogYuG6sW5nIHRo4bqhYyBzxKkgcXXhuqNuIHRy4buLIGtpbmggZG9hbmgNCg0KLSAgIE1DQTogYuG6sW5nIHRo4bqhYyBzxKkgdGjGsMahbmcgbeG6oWkgdsOgIHF14bqjbiB0cuG7iw0KDQotICAgUGguRDogYuG6sW5nIHRp4bq/biBzxKkgY+G7p2EgdOG6pXQgY+G6oyBjw6FjIG5nw6BuaC4NCg0KKipOaOG6rW4geMOpdCBiaeG7g3UgxJHhu5MqKg0KDQotICAgQmnhu4N1IMSR4buTIG7Eg20gMjAyMSB0aOG7gyBoaeG7h24gdHLDrG5oIMSR4buZIGjhu41jIHbhuqVuIGfhuqduIG5oxrAga2jDoSDEkeG7k25nIMSR4buBdSB04burIHRyw6xuaCDEkeG7mSBjYW8gbmjhuqV0ICoqQi5UZWNiKiogdsOgIHRo4bqlcCBuaOG6pXQgKipCQkEqKiBjaMOqbmggbOG7h2NoIGzDoCAxOC4NCg0KLSAgIE7Eg20gMjAyMiBj4bqjaSB0aGnhu4duIG3hu5l0IGPDoWNoIMSRw6FuZyBr4buDIGtoaSBz4buRIGzGsOG7o25nIMSRxqFuIMSRxINuZyB0dXnhu4NuIG5ow6JuIHZpw6puIHTEg25nIGfhuqVwIGtob+G6o25nIDMgxJHhur9uIDQgbOG6p24gc28gduG7m2kgbsSDbSB0csaw4bubYywgxJHhurdjIGJp4buHdCB24bubaSB0csOsbmggxJHhu5kgKipNQ0EqKiDEkcaw4bujYyDGsGEgY2h14buZbmcgbmjhuqV0LCB2w6Agw610IG5o4bqldCBsw6AgKipQaC5EKiosIHbhu5tpIGNow6puaCBs4buHY2gga2hv4bqjbmcgNzAuDQoNCi0gICBUcm9uZyBuxINtIDIwMjMsIGTDuSBjaOG7iSB4w6l0IMSR4bq/biB0aMOhbmcgOSwgbmjGsG5nIGPDsyB0aOG7gyB0aOG6pXkgcsO1IGRvYW5oIG5naGnhu4dwIMSRYW5nIMawdSB0acOqbiBuaOG7r25nIOG7qW5nIHZpw6puIGPDsyB0csOsbmggxJHhu5kgaOG7jWMgduG6pW4gY2FvLCDEkeG6t2MgYmnhu4d0IGzDoCAqKlBoLkQqKiwgdsOgIMOtdCDGsHUgdGnDqm4gbmjhu69uZyDhu6luZyB2acOqbiBjw7MgdHLDrG5oIMSR4buZICoqQi5Db20qKiwgduG7m2kgY2jDqm5oIGzhu4djaCBsw6AgMzEuDQoNCj1cPiBU4burIMSRw7MgY2hvIHRo4bqleSBraMO0bmcgdGjhu4MgbsOgbyBwaOG7pyBuaOG6rW4gYuG6sW5nIGPhuqVwIHF1YW4gdHLhu41uZywgdGjhu4MgaGnhu4duIGLhurFuZyB2aeG7h2MgaOG6p3UgaOG6v3QgY8OhYyBjw7RuZyB2aeG7h2MgxJHhu4F1IHnDqnUgY+G6p3UgYuG6sW5nIGPhuqVwLCAqKnRoZW8gdGjhu51pIGdpYW4gdHLDrG5oIMSR4buTIGPDoG5nIGNhbyB0aMOsIHThu7cgbOG7hyBuaOG6rW4gxJHGsOG7o2Mgdmnhu4djIGPDoG5nIGzhu5tuIHRo4buDIGhp4buHbiBxdWEgYmnhu4N1IMSR4buTIG7Eg20gMjAyMy4qKg0KDQotICAgTmfDoG5oIHRy4buNbmcgxJFp4buDbSBjaG8gdGjhu4MgcXVhbiBzw6F0IHRyb25nIDMgYmnhu4N1IMSR4buTIGzDoCBuZ8OgbmggKipCQkEoNzIsMjY5LDE4MCksQi5UZWNiKDgyLDI0NywxODUpKiosIHF14bqjbiB0cuG7iyBraW5oIGRvYW5oIHbDoCBr4bu5IHRodeG6rXQsIGPDtG5nIG5naOG7hyBsdcO0biBjaGnhur9tIHPhu5EgbMaw4bujbmcgdHJ1bmcgYsOsbmggxJHhur9uIGzhu5tuIG5odSBj4bqndSBkb2FuaCBuZ2hp4buHcCBtb25nIG114buRbi4qKiht4bq3dCBi4bqxbmcgY2h1bmcgcXVhIHThu6tuZyBuxINtKSoqDQoNCi0gICBOaHUgY+G6p3UgY+G6p24gbmd14buTbiBuaMOibiBs4buxYyBxdWEgdHLDrG5oIMSR4buZIGjhu41jIHbhuqVuICoqTUNBKDc5LDI4NywxNjUpKiogdHJvbmcgbMSpbmggduG7sWMgdGjGsMahbmcgbeG6oWkgdsOgIHF14bqjbiB0cuG7iyBkYW5nIG5nw6B5IG3huqV0IMawdSB0aOG6vyB0cm9uZyBt4bqvdCBjw6FjIGRhbmggbmdoaeG7h3AuDQoNCiMjIMSQw6FuaCBnacOhIG3hu6ljIMSR4buZIHN0cmVzcyBzaW5oIHZpw6puIOG7nyA0IG5nw6BuaCBo4buNYyB0aOG7gyBoaeG7h24gcsO1IG5o4bqldCB0cm9uZyB0aOG7nWkga8OsIGNvdmlkIC0gMTkoZOG7ryBsaeG7h3UgMikNCg0KLSAgIE3hu6ljIMSR4buZIHN0cmVzcyBj4bunYSBzaW5oIHZpw6puIGPDsyB0aOG7gyDhuqNuaCBoxrDhu59uZyBuaGnhu4F1IMSR4bq/biB2aeG7h2MgbMOgbSBzYXUga2hpIHJhIHRyxrDhu51uZy4gxJDDonkgbMOgIG3hu5l0IHbhuqVuIMSR4buBIG5hbiBnaeG6o2kgdsOgIGtow7RuZyBjaOG7iSBnaeG7m2kgaOG6oW4g4bufIG3hu5l0IGzhu6lhIHR14buVaSBoYXkgbeG7mXQgY8O0bmcgdmnhu4djIGPhu6UgdGjhu4MgbsOgby4gLiBTdHJlc3MgY8OzIHRo4buDIOG6o25oIGjGsOG7n25nIMSR4bq/biBoaeG7h3Ugc3XhuqV0IGzDoG0gdmnhu4djLCBz4buxIHPDoW5nIHThuqFvLCB2w6AgdHLhuqFuZyB0aMOhaSB0aW5oIHRo4bqnbiBjaHVuZyBj4bunYSBjw6EgbmjDom4uDQoNCi0gICDEkOG7gyBjaOG7qW5nIHRo4buxYyDEkWnhu4F1IG7DoHkgdGEgc+G6vSBwaMOibiB0w61jaCBi4bqxbmcgYmnhu4N1IMSR4buTIMSR4buDIHNvIHPDoW5oIHPhu5EgbGnhu4d1IHRoZW8gZ2nhu5tpIHTDrW5oIHRoZW8gNCBuZ8OgbmggxJHEg2MgdHLGsG5nLg0KDQpgYGB7cn0NCmRsMiAlPiUgZ3JvdXBfYnkoR2VuZGVyLERlcGFydG1lbnQsU3RyZXNzLkxldmVsKSAlPiUgc3VtbWFyaXNlKG49bigpKSAlPiUNCiAgZ2dwbG90KGFlcyh4ID0gU3RyZXNzLkxldmVsLCB5ID0gbiwgZmlsbCA9IERlcGFydG1lbnQpKSArDQogICAgZ2VvbV9jb2wocG9zaXRpb24gPSAnZG9kZ2UnKSArDQogICAgZmFjZXRfd3JhcCh+R2VuZGVyKSArDQogICAgbGFicyh0aXRsZSA9ICJCaeG7g3UgxJHhu5MgdGjhu4MgaGnhu4duIG3hu6ljIMSR4buZIHN0cmVzcyBzaW5oIHZpw6puIHRoZW8gZ2nhu5tpIHTDrW5oIHbDoCBsxKluaCB24buxYyAiKSArDQogICAgbGFicyh4ID0gJ0xv4bqhaScsIHkgPSAnU+G7kSBsxrDhu6NuZycpDQpgYGANCg0KKipDaMO6IHRow61jaCoqDQoNCi0gICBUaOG7kW5nIGvDqiB0aGVvIDQgbMSpbmggduG7sWMgOg0KDQoxLiAgQi5jb20gQWNjb3VudGluZyBhbmQgRmluYW5jZShL4bq/IHRvw6FuIHbDoCBUw6BpIGNow61uaCkNCg0KMi4gIEIuY29tIElTTShRdeG6o24gdHLhu4sgSOG7hyB0aOG7kW5nIFRow7RuZyB0aW4pDQoNCjMuICBDb21tZXJjZSAoS2luaCBkb2FuaCB0aMawxqFuZyBt4bqhaSkNCg0KNC4gIEJDQSAodGjGsMahbmcgbeG6oWkgdsOgIHF14bqjbiB0cuG7iykNCg0KLSAgIE3hu6ljIMSR4buZIHN0cmVzczoNCg0KMS5Bd2Z1bDogc3RyZXNzIHLhuqV0IG7hurduZy8gcuG6pXQgdOG7hw0KDQoyLkJhZDogc3RyZXNzIG7Eg25nL3Thu4cNCg0KMy5mYWJ1bG91czogU3RyZXNzIG5o4bq5DQoNCjQuR29vZDogdMOibSBsw70gdOG7kXQuDQoNCioqTmjhuq1uIHjDqXQgYmnhu4N1IMSR4buTKioNCg0KLSAgIMSQ4buRaSB24bubaSBu4buvIHNpbmggdmnDqm4sIG3hu6ljIMSR4buZIHTDom0gbMO9IHLhuqV0IHThu4cgdsOgIHTDom0gbMO9IHThu5F0IMSR4buBdSBu4bqxbSB0cm9uZyBsxKluaCB24buxYyAqKkJDQSoqLCB0cm9uZyBraGkg4bufIG3hu6VjIHTDom0gbMO9IHThu5F0LCBuZ8OgbmggKipDb21tZXJjZSoqIGPDsyBt4bupYyBjYW8ga2jDoSDEkeG7k25nIMSR4buBdSB24bubaSBsxKluaCB24buxYyAqKkJDQSoqLiBU4buVbmcgcXVhbiwgc+G7kSBsxrDhu6NuZyBzaW5oIHZpw6puIG7hu68gZ+G6t3AgcGjhuqNpIHTDom0gbMO9IOG7nyBt4bupYyBu4bq3bmcgdsOgIHThu7cgbOG7hyBzaW5oIHZpw6puIGPDsyB0w6JtIGzDvSB04buRdCBjaOG7iSDhu58gbeG7qWMgdMawxqFuZyDEkeG7kWkga2jDtG5nIHF1w6EgY2FvICh24bubaSB04bu3IGzhu4cgY2FvIG5o4bqldCB24bqrbiBsw6AgdMOibSBsw70gdOG7kXQpLiBMxKluaCB24buxYyAqKkIuQ29tIElTTSoqIGPDsyBz4buxIHBow6JuIGLhu5Ega2jDoSDEkeG7k25nIMSR4buBdSDhu58gMyBt4bupYyDEkeG7mSB0w6JtIGzDvSAodHLhu6sgbeG7qWMgdMOibSBsw70gcuG6pXQgdOG7hykuDQoNCi0gICDEkOG7kWkgduG7m2kgbmFtIHRow6wgdMOibSBsw70gcuG6pXQgdOG7hyB2w6AgdMOibSBsw70gdOG7kXQgY2FvIG5o4bqldCBjxaluZyBu4bqxbSBjaHVuZyBt4buZdCBsw6xuaCB2xrBjICoqQkNBKiouIFThu5VuZyBxdWFuIHbhu4Egc+G7kSBsxrDhu6NuZyB0w6JtIGzDvSB04buRdCBsw6AgY2FvIG5o4bqldCB2w6AgdMOibSBsw70gbeG7sWMgxJHhu5kgbmjhurkgw610IG5o4bqldChraMO0bmcgY8OzIGzEqW5oIHbhu7FjIGjhu4cgdGjhu5FuZyB0aMO0bmcgdGluKQ0KDQo9XD4gVMOzbSBs4bqhaSBuYW0gZ2nhu5tpIGPDsyB0aOG7gyBjw7MgdMOibSBsw70gdOG7kXQgaMahbiBu4buvIHbDoCBjxaluZyDDoXAgbOG7sWMgbmhp4buBdSBoxqFuIG7hu68uIE3hu6ljIMSR4buZIG3huq9jIHbhuqVuIMSR4buBIHTDom0gbMO9IGPDsyB0aOG7gyB0aGF5IMSR4buVaSB0aGVvIHThu6tuZyBjw6EgbmjDom4sIG3DtGkgdHLGsOG7nW5nIHPhu5FuZywgdsOgIGhvw6BuIGPhuqNuaCBjw6EgbmjDom4uIFZp4buHYyBj4bqjaSB0aGnhu4duIGtow7RuZyBwaOG6o2kgbMOgIHF1w6EgdHLDrG5oIG5n4bqvbiBj4bqnbiBjw7Mgbmhp4buBdSB0aOG7nWkgZ2lhbiB2w6Aga2nDqm4gdHLDrCB0aOG7sWMgaGnhu4duIGPDoWMgYmnhu4duIHBow6FwIGPhu6UgdGjhu4MuDQoNCiMjIFTDoWMgxJHhu5luZyBraW5oIG5naGnhu4dtIGzDoG0gdmnhu4djIHRoZW8gZ2nhu5tpIHTDrW5oKGThu68gbGnhu4d1IDEpDQoNCi0gICBWw6wgbmh1IGPhuqd1IHbhu4EgY8O0bmcgdmnhu4djLCBjw6FjIHnDqnUgY+G6p3UgbGnDqm4gcXVhbiDEkeG6v24gZ2nhu5tpIHTDrW5oIGPDsyB0aOG7gyDhuqNuaCBoxrDhu59uZyBt4bqhbmggbeG6vSDEkeG6v24gbmhp4buBdSB0aOG7sWMgdHLhuqFuZyBraMO0bmcgdOG7kXQgbmjGsCDEkeG7kWkgeOG7rSBi4bqldCBjw7RuZyB0cm9uZyBjw7RuZyB2aeG7h2MsIMSR4bq3YyBiaeG7h3QgbMOgIMSR4buRaSB24bubaSBwaOG7pSBu4buvLiBN4buZdCBz4buRIGPDtG5nIHR5IHRoaeG6v3QgbOG6rXAgY8OhYyBo4bqhbiBjaOG6vyB0dXnhu4NuIGThu6VuZyDEkeG7kWkgduG7m2kgcGjhu6UgbuG7ryDEkcOjIGvhur90IGjDtG4gaG/hurdjIMSRYW5nIHRyb25nIMSR4buZIHR14buVaSBzaW5oIG7hu58sIHbDoCB5w6p1IGPhuqd1IHBo4bulIG7hu68gY2FtIGvhur90IGtow7RuZyBzaW5oIGNvbiB0cm9uZyBt4buZdCBraG/huqNuZyB0aOG7nWkgZ2lhbiBuaOG6pXQgxJHhu4tuaC4gTmdvw6BpIHJhLCBwaOG7pSBu4buvIHRoxrDhu51uZyBwaOG6o2kgxJHhu5FpIG3hurd0IHbhu5tpIG5oaeG7gXUgxJHhu4tuaCBraeG6v24sIHbDrSBk4bulIG5oxrAgcXVhbiDEkWnhu4NtIHLhurFuZyBo4buNIGx1w7RuIGfhurdwIGtow7Mga2jEg24gdHJvbmcgdmnhu4djIGPDom4gYuG6sW5nIGdp4buvYSBjw7RuZyB2aeG7h2MgdsOgIGN14buZYyBz4buRbmcsIMSRaeG7gXUgbsOgeSBjw7MgdGjhu4MgaOG6oW4gY2jhur8gc+G7sSBwaMOhdCB0cmnhu4NuIGPhu6dhIGjhu40uDQoNCi0gICDEkOG7gyDEkcOhbmggZ2nDoSB2w6AgaGnhu4N1IHLDtSBoxqFuIHbhu4EgdMOsbmggaMOsbmggbsOgeSwgY2jDum5nIHRhIHPhur0gcGjDom4gdMOtY2ggY8OhYyBiaeG6v24ga2luaCBuZ2hp4buHbSB2w6AgecOqdSBj4bqndSBsacOqbiBxdWFuIMSR4bq/biBnaeG7m2kgdMOtbmggbcOgIGPDoWMgZG9hbmggbmdoaeG7h3AgxJHhurd0IHJhLg0KDQpgYGB7cn0NCmEgJT4lIGdyb3VwX2J5KEV4cGVyaWVuY2UsIFByZWZlcmVuY2UpICU+JSAgc3VtbWFyaXNlKG49bigpKSAlPiUgIA0KICAgIG11dGF0ZShFeHBlcmllbmNlID0gZmFjdG9yKEV4cGVyaWVuY2UsIGxldmVscyA9IGMoIjAgdG8gOCBZZWFycyIsIjAgdG8gOSBZZWFycyIsIjAgdG8gMTAgWWVhcnMiKSkpICU+JSANCiAgICBnZ3Bsb3QoYWVzKHggPSBQcmVmZXJlbmNlLCB5ID0gbiwgZmlsbCA9IEV4cGVyaWVuY2UpKSArDQogICAgZ2VvbV9jb2wocG9zaXRpb24gPSBwb3NpdGlvbl9kb2RnZSgpKSArDQogICAgbGFicyh0aXRsZSA9ICJCaeG7g3UgxJHhu5MgdGjhu4MgaGnhu4duIGtpbmggbmdoaeG7h20gbMOgbSB2aeG7h2MgdGhlbyBnaeG7m2kgdMOtbmgiKSArDQogICAgbGFicyh4ID0gJ0dp4bubaSB0w61uaCcsIHkgPSAnU+G7kSBsxrDhu6NuZycpICANCmBgYA0KDQoqKkNow7ogdGjDrWNoKioNCg0KLSAgIE5BOiBtw6B1IMSRZW4gbMOgIHPhu5EgbMaw4bujbmcgY8OybiBs4bqhaSBj4bunYSBjw6FjIGtob+G6o25nIGtpbmggbmdoaeG7h20ga2jDoWMNCg0KLSAgIOG7niDEkcOieSB2w6wgcGjDom4gdMOtY2ggY8ahIGjhu5lpIHZp4buHYyBsw6BtIHNpbmggdmnDqm4gbeG7m2kgcmEgdHLGsOG7nW5nIG7Dqm4gc+G7kSBraW5oIGLhuq90IMSR4bqndSB04burIDAgdsOgIGVtIGNo4buNbiAzIGtob+G6o25nIMSR4buDIGThu4MgcXVhbiBzw6F0IHbDoCB0cuG7sWMgcXVhbiBow7NhIGThu68gbGnhu4d1IGjGoW4uKipWw6AgY2jhu6cgeeG6v3UgcGjDom4gdMOtY2ggMyB0csOsbmggxJHhu5kga2luaCBuZ2hp4buHbSDEkcOzKioNCg0KKipOaOG6rW4geMOpdCBiaeG7g3UgxJHhu5MqKg0KDQotICAgxJDhu5FpIHbhu5tpIGdp4bubaSB0w61uaCBu4buvLCB5w6p1IGPhuqd1IHbhu4Ega2luaCBuZ2hp4buHbSB0cm9uZyBraG/huqNuZyAqKjAtOSBuxINtKiogbuG7lWkgYuG6rXQgaMahbiBzbyB24bubaSAyIG3hu6ljIGtpbmggbmdoaeG7h20gY8OybiBs4bqhaSwgdHV5IGNow6puaCBs4buHY2gga2jDtG5nIHF1w6EgbOG7m24uDQoNCi0gICDEkOG7kWkgduG7m2kgZ2nhu5tpIHTDrW5oIG5hbSwgecOqdSBj4bqndSB24buBIGtpbmggbmdoaeG7h20gdHJvbmcga2hv4bqjbmcgKiowLTEwIG7Eg20qKiBsw6AgY2FvIG5o4bqldCwgdHJvbmcga2hpIG3hu6ljIGtpbmggbmdoaeG7h20gKiowLTkgbsSDbSoqIMOtdCBuaOG6pXQsIGNow6puaCBs4buHY2gga2hv4bqjbmcgMTAgxJHGoW4gdHV54buDbiBk4bulbmcgZ2nhu69hIGhhaSBt4bupYyBuw6B5Lg0KDQotICAgKipOaMOsbiBjaHVuZyoqLCDhu54gbeG7qWMgxJHhu5kga2jDoSBjw6JuIGLhurFuZyB2w6AgdMSDbmcgxJHhu4F1IHRow6wgbuG6sW0g4bufIG5o4buvbmcgY8O0bmcgdmnhu4djIHnDqnUgY+G6p3UgY+G6oyAyIGdp4bubaSB0aMaw4budbmcgxrB1IHRpw6puIHnDqnUgY+G6p3Uga2luaCBuZ2hp4buHbSAqKjAtMTAgbsSDbSoqLiBDw6FjIG3hu6ljIHnDqnUgY+G6p3Uga2luaCBuZ2hp4buHbSBjw7JuIGzhuqFpIHRoxrDhu51uZyBraMOhIGPDom4gYuG6sW5nIHbDoCBraMO0bmcgY8OzIHPhu7EgY2jDqm5oIGzhu4djaCBxdcOhIGzhu5tuIHNvIHbhu5tpIG3hu6ljIHnDqnUgY+G6p3UgY2FvIG5o4bqldC4NCg0KPVw+IFZp4buHYyBwaMOibiBjaGlhIGtob+G6o25nIGtpbmggbmdoaeG7h20gY8OzIHRo4buDIHThuqFvIGPGoSBo4buZaSBjaG8gY8OhYyBzaW5oIHZpw6puIG3hu5tpIHJhIHRyxrDhu51uZyBjw7MgY8ahIGjhu5lpIHRo4butIHPhu6ljLiBUdXkgbmhpw6puLCB0aGVvIGJp4buDdSDEkeG7kywgY8OhYyBjw7RuZyB2aeG7h2MgY2jhu4kgxrB1IHRpw6puIG7hu68gdGjGsOG7nW5nIGPDsyB0aOG7iyBwaOG6p24gdGjhuqVwIGjGoW4gc28gduG7m2kgY8OhYyBjw7RuZyB2aeG7h2MgxrB1IHRpw6puIG5hbSwgdsOgIGNobyBj4bqjIGhhaSBnaeG7m2kgdMOtbmggKiooxJBp4buBdSBuw6B5IGPDsyB0aOG7gyBnw6J5IHJhIHThu7cgbOG7hyB0aOG6pXQgbmdoaeG7h3AgbuG7ryBjYW8gaMahbiBuYW0gLSAyMDIzLyBOYW0gZ2nhu5tpOiAyLDE3JSxO4buvIGdp4bubaTogMiw3MyUtKSoqKDQpLiBOYW0gZ2nhu5tpIHRoxrDhu51uZyB5w6p1IGPhuqd1IGtpbmggbmdoaeG7h20gY2FvIGjGoW4gc28gduG7m2kgbuG7ry4gVHV5IG5oacOqbiwgcXVhbiBzw6F0IGNobyB0aOG6pXkga2jDtG5nIGPDsyBz4buxIGNow6puaCBs4buHY2ggbOG7m24gZ2nhu69hIDIgZ2nhu5tpIHTDrW5oIHRyb25nIG5odSBj4bqndSB0dXnhu4NuIGThu6VuZyAocXVhIDMgbeG7qWMga2luaCBuZ2hp4buHbSBuw6p1IHRyw6puKS4NCg0KIyMgVMOhYyDEkeG7mW5nIHRo4budaSBnaWFuIGjhu41jIHThuq1wIOG6o25oIGjGsOG7n25nIMSR4bq/biBr4buzIHbhu41uZyB0aeG7gW4gbMawxqFuZyBj4bunYSBjw6FjIHNpbmggdmnDqm4ga2hpIHJhIHRyxrDhu51uZyhk4buvIGxp4buHdSAyKQ0KDQotICAgVGjhu51pIGdpYW4gZMOgbmggY2hvIGjhu41jIHThuq1wIGPDsyB0aOG7gyBjw7MgdMOhYyDEkeG7mW5nIHTDrWNoIGPhu7FjIMSR4bq/biBjxqEgaOG7mWkgbmdo4buBIG5naGnhu4dwIGPhu6dhIHNpbmggdmnDqm4uIFNpbmggdmnDqm4gZMOgbmggbmhp4buBdSB0aOG7nWkgZ2lhbiBjaG8gdmnhu4djIGjhu41jIHThuq1wIHRoxrDhu51uZyBjw7Mga2nhur9uIHRo4bupYyB2w6Aga+G7uSBuxINuZyB04buRdCBoxqFuLCBraOG6oyBuxINuZyBj4bqhbmggdHJhbmggY2FvIGjGoW4sIG3huqFuZyBsxrDhu5tpIHF1YW4gaOG7hyBy4buZbmcgcsOjaSBoxqFuIHbDoCB04bqhbyBnacOhIHRy4buLIGLhuqNuIHRow6JuIGNhbyBoxqFuLiBU4bqldCBj4bqjIG5o4buvbmcgeeG6v3UgdOG7kSBuw6B5IMSR4buBdSDEkcOzbmcgZ8OzcCB2w6BvIHZp4buHYyBnacO6cCBo4buNIHTDrG0ga2nhur9tIGPDtG5nIHZp4buHYyBt4buZdCBjw6FjaCBk4buFIGTDoG5nIGjGoW4gdsOgIGPDsyBjxqEgaOG7mWkgdGjDoG5oIGPDtG5nIGNhbyBoxqFuIHRyb25nIHPhu7EgbmdoaeG7h3AuDQoNCi0gICDEkOG7gyBoaeG7g3UgcsO1IGjGoW4gduG7gSBz4buxIHTDoWMgxJHhu5luZyBj4bunYSB0aOG7nWkgZ2lhbiBo4buNYyB04bqtcCDEkeG7kWkgduG7m2kga+G7syB24buNbmcgdGnhu4FuIGzGsMahbmcgdHJvbmcgdMawxqFuZyBsYWksIHRhIHPhur0gdOG6oW8gYmnhu4N1IMSR4buTIMSR4buDIGPDsyBjw6FpIG5ow6xuIHRvw6BuIGRp4buHbiB24buBIHF1w6EgdHLDrG5oIG7DoHkuDQoNCmBgYHtyfQ0KZGwyICU+JSBncm91cF9ieShkYWlseS5zdHVkaW5nLnRpbWUpICU+JSBzdW1tYXJpc2UobT0gbWVhbihzYWxhcnkuZXhwZWN0YXRpb24pKSAlPiUNCiAgZ2dwbG90KGFlcyh4ID0gZGFpbHkuc3R1ZGluZy50aW1lICwgeSA9IG0sZmlsbCA9IGRhaWx5LnN0dWRpbmcudGltZSkpICsNCiAgICBnZW9tX2NvbChwb3NpdGlvbiA9ICdkb2RnZScpICsNCiAgICBnZW9tX3RleHQoYWVzKGxhYmVsID0gcm91bmQobSkpLCB2anVzdCA9IDAsIGNvbG9yID0gJ3JlZCcpICsNCiAgICB0aGVtZShheGlzLnRleHQueCA9IGVsZW1lbnRfdGV4dChhbmdsZSA9IDQ1KSkgKw0KICAgIGxhYnModGl0bGUgPSAiQmnhu4N1IMSR4buTIHRo4buDIGhp4buHbiB0aOG7nWkgZ2lhbiBo4buNYyB04bqtcCDhuqNuaCBoxrDhu59uZyDEkeG6v24ga+G7syB24buNbmcgdGnhu4FuIGzGsMahbmciKSArDQogICAgbGFicyh4ID0gJ0dp4bubaSB0w61uaCcsIHkgPSAnU+G7kSBsxrDhu6NuZycpDQpgYGANCg0KKipDaMO6IHRow61jaCoqDQoNCi0gICAqKlTDrW5oIHRydW5nIGLDrG5oIHRp4buBbiBsxrDGoW5nKiogdGhlbyB0aOG7nWkgZ2lhbiBo4buNYyB04bqtcCB0aOG7gyBoaeG7h24gYuG6sW5nIGPDoWMgbcOgdSBz4bqvYyBoaeG7h24gdGjhu4sgdHLDqm4gYmnhu4N1IMSR4buTLg0KDQoqKk5o4bqtbiB4w6l0IGJp4buDdSDEkeG7kyoqDQoNCi0gICBL4buzIHbhu41uZyB0aeG7gW4gbMawxqFuZyBj4bunYSBjw6FjIHNpbmggdmnDqm4gZMOgbmggdGjhu51pIGdpYW4gaOG7jWMgdOG6rXAgdHLDqm4gKio0IGdp4budL25nw6B5KiogY2FvIG5o4bqldCwgdHJvbmcga2hpIHRo4bqlcCBuaOG6pXQgbMOgIMSR4buRaSB24bubaSBzaW5oIHZpw6puIGTDoG5oICoqMy00IGdp4budL25nw6B5KiosIGNow6puaCBs4buHY2ggbMOgIDkzMDc2IHRoZW8gbeG7qWMgdHJ1bmcgYsOsbmggbMawxqFuZyBr4buzIHbhu41uZy4NCg0KLSAgIFRo4budaSBnaWFuIGjhu41jIHThuq1wIGPDsyB0aOG7gyBy4bqldCDDrXQgbuG6v3UgduG6pW4gxJHhu4EgY8OzIHRo4buDIGdp4bqjaSBxdXnhur90IG5nYXkgdHLDqm4gbOG7m3AgdOG7qyAwLTYwIHBow7p0LCB0xINuZyBsw6puIHRoZW8gbeG7qWMgxJHhu5kga2jDsyBj4bunYSBiw6BpIHThuq1wLg0KDQo9XD4gUXVhbiBzw6F0IGPDsyB0aOG7gyB0aOG6pXkg4bufIG5o4buvbmcgc2luaCB2acOqbiBkw6BuaCBuaGnhu4F1IHRo4budaSBnaWFuIGNobyB2aeG7h2MgaOG7jWMgbeG7m2kgZMOhbSB04buxIHRpbiDEkeG6t3Qga+G7syB24buNbmcgdGnhu4FuIGzGsMahbmcgY2FvIHbDoCDhu5VuIMSR4buLbmguIE5o4buvbmcgc2luaCBo4buNYyBo4buNYyB04burIDItMyB0aeG6v25nIHbDoCAzLTQgdGnhur9uZyB24bqrbiBjw7JuIGPDsyBz4buxIGTDqCBjaOG7q25nICoqKGhv4bq3YyB0aGnhur91IG5oaeG7gXUga+G7uSBt4buBbSwgdGhp4bq/dSBraW5oIG5naGnhu4dtIGzDoG0gdmnhu4djLCBu4buBbiB04bqjbmcgdHLGsOG7m2MgxJHDsyBraMO0bmcgdOG7kXQsLi4uICkqKi4gVsOsIHbhuq15LCBt4bupYyBsxrDGoW5nIHRo4buxYyB04bq/IGPhu6dhIG3hu5dpIHNpbmggdmnDqm4gc+G6vSBwaOG7pSB0aHXhu5ljIHbDoG8gbmhp4buBdSB54bq/dSB04buRIGtow6FjIG5oYXUsIG5oxrAgbsSDbmcgbOG7sWMgY+G7p2EgYuG6o24gdGjDom4sIGtpbmggbmdoaeG7h20gbMOgbSB2aeG7h2MsIHRo4buLIHRyxrDhu51uZyBsYW8gxJHhu5luZy4gTmdvw6BpIHJhIGjhu41jIGzDoG0gc2FvIGNobyBoaeG7h3UgcXXhuqMgduG7m2kgYuG6o24gdGjDom4gc2luaCB2acOqbiBt4bubaSBxdWFuIHRy4buNbmcgaMahbiBjaMO6IHRy4buNbmcgbmhp4buBdSB2w6BvIHRo4budaSBnaWFuLg0KDQojIyBYdSBoxrDhu5tuZyDEkWnhu4NtIHThu5F0IG5naGnhu4dwIGPhu6dhIHNpbmggdmnDqm4gdHJvbmcgNCBraOG7kWkgbmfDoG5oIGPhu6UgdGjhu4MoZOG7ryBsaeG7h3UgMikNCg0KLSAgIFLDqG4gbHV54buHbiB2w6AgaOG7jWMgdOG6rXAgxJHDs25nIHZhaSB0csOyIHF1YW4gdHLhu41uZyDEkeG7kWkgduG7m2kga+G6v3QgcXXhuqMgaOG7jWMgdOG6rXAgY+G7p2Egc2luaCB2acOqbiBraGkgcmEgdHLGsOG7nW5nLCDEkeG7k25nIHRo4budaSBjxaluZyBwaOG6o24gw6FuaCBt4buZdCBwaOG6p24gduG7gSBjaOG6pXQgbMaw4bujbmcgZ2nDoW8gZOG7pWMgdsOgIHPhu7EgcGjDoXQgdHJp4buDbiBj4bunYSBzaW5oIHZpw6puIHRyb25nIHThu6tuZyBsxKluaCB24buxYy4gUXVhIHZp4buHYyBuaMOsbiBuaOG6rW4geHUgaMaw4bubbmcgY2h1bmcgduG7gSBz4buxIHBow6JuIGLhu5EgxJFp4buDbSB04buRdCBuZ2hp4buHcCB0cm9uZyB04burbmcgbmfDoG5oLCBjxaluZyBuaMawIGPDoWMgYmnhur9uIMSR4buZbmcgxJHhurdjIGJp4buHdCwgc2luaCB2acOqbiBjw7MgdGjhu4MgaGnhu4N1IHLDtSBoxqFuIHbhu4EgbeG7qWMgxJHhu5kgxJHDoXAg4bupbmcgY+G7p2EgZ2nDoW8gZOG7pWMgxJHhu5FpIHbhu5tpIG5odSBj4bqndSBj4bunYSB0aOG7iyB0csaw4budbmcgbGFvIMSR4buZbmcgaGnhu4duIG5heS4NCg0KLSAgIFBow6JuIHTDrWNoIHRy4buxYyBkaeG7h24gYuG6sW5nIGPDoWNoIHjDoWMgxJHhu4tuaCBt4buRaSBxdWFuIGjhu4cgZ2nhu69hIMSRaeG7g20gdOG7kXQgbmdoaeG7h3AgdsOgIHRow6BuaCBjw7RuZyB0cm9uZyB2aeG7h2MgdMOsbSBraeG6v20gdmnhu4djIGzDoG0gc2F1IG7DoHksIHRhIGPDsyB0aOG7gyDEkcOhbmggZ2nDoSDEkcaw4bujYyB04bqnbSBxdWFuIHRy4buNbmcgY+G7p2Egdmnhu4djIMSR4bqhdCDEkcaw4bujYyDEkWnhu4NtIGNhbyB0cm9uZyB2aeG7h2MgeMOieSBk4buxbmcgc+G7sSBuZ2hp4buHcC4NCg0KLSAgIMSQ4buDIGPDsyBjw6FpIG5ow6xuIHThu5VuZyBxdWFuIHbDoCBo4buvdSDDrWNoIGjGoW4gdGEgc+G6vSBuaMOsbiB2w6BvIGJp4buDdSDEkeG7kyB24buBIHh1IGjGsOG7m25nIMSRaeG7g20gdOG7kXQgbmdoaeG7h3AgY+G7p2Egc2luaCB2acOqbiB0cm9uZyA0IG5nw6BuaCBj4bulIHRo4buDIGLDqm4gZMaw4bubaS4NCg0KYGBge3J9DQpkbDIgJT4lIGdncGxvdChhZXMoeCA9IGNvbGxlZ2UubWFyayxmaWxsID0gRGVwYXJ0bWVudCkpICsNCiAgZ2VvbV9oaXN0b2dyYW0oYmlud2lkdGggPSAxMCkgKw0KICBsYWJzKHRpdGxlID0gIkJp4buDdSDEkeG7kyB0aOG7gyBoaeG7h24gxJFp4buDbSB04buRdCBuZ2hp4buHcCBzaW5oIHZpw6puIHRyb25nIDQgbmfDoG5oIGPhu6UgdGjhu4MiKSArDQogICAgbGFicyh4ID0gJ8SQaeG7g20gc+G7kScsIHkgPSAnU+G7kSBsxrDhu6NuZycpDQpgYGANCg0KKipOaOG6rW4geMOpdCBiaeG7g3UgxJHhu5MqKg0KDQotICAgVHJvbmcgY8OhYyBuZ8OgbmgsIGto4buRaSBuZ8OgbmggQ29tbWVyY2UgxJHhuqF0IMSRaeG7g20gxJHhuqd1IHJhIGNhbyBuaOG6pXQsIHbhu5tpIG5oaeG7gXUgc2luaCB2acOqbiDEkeG6oXQgxJFp4buDbSB04buRdCBuZ2hp4buHcCAxMDAuDQoNCi0gICBLaOG7kWkgbmfDoG5oICoqQi5jb20gQWNjb3VudGluZyBhbmQgRmluYW5jZSwgQkNBKiogbMOgIGto4buRaSBuZ8OgbmggY8OzIMSRaeG7g20gdMawxqFuZyDEkeG7kWkg4buVbiBk4buLbmggbuG6sW0gY2jhu6cgeeG6v3Ug4bufIHbDuW5nIMSRaeG7g20gNjAtODAgxJFp4buDbS4oIFRyb25nIMSRw7Mga2jhu5FpIG5nw6BuaCAqKkJDQSoqIGPDsyBz4buRIGzGsOG7o25nIHNpbmggdmnDqm4ga2jhuqNvIHPDoXQgbmhp4buBdSBuaOG6pXQgdsOgICoqQi5jb20gQWNjb3VudGluZyBhbmQgRmluYW5jZSoqIHNpbmggdmnDqm4ga2jhuqNvIHPDoXQgw610IG5o4bqldCB0cm9uZyBi4bqjbmcgc+G7kSBsaeG7h3UpLg0KDQotICAgS2jhu5FpIG5nw6BuaCAqKkIuY29tIElTTSoqIGPDsyB0aGFuZyDEkWnhu4NtIHThu5F0IG5naGnhu4dwIHRo4bqlcCBoxqFuIG7hurFtIGNo4bunIHnhur91IOG7nyBraG/huqNuZyA1MC02NSBjaGnhur9tIMSRYSBz4buRLg0KDQotICAgKipOaMOsbiBjaHVuZyoqOiDEkGnhu4NtIHThu5F0IG5naGnhu4dwIGPhu6dhIGPDoWMgbmfDoG5oIHThuq1wIHRydW5nIGNo4bunIHnhur91IHRyb25nIGtob+G6o25nIDUwLTkwIMSRaeG7g20sIHbhu5tpIMSR4buJbmggY2FvIG5o4bqldCBu4bqxbSDhu58ga2hv4bqjbmcgNzAtNzUgxJFp4buDbS4gS2jDtG5nIGPDsyBuZ8OgbmggbsOgbyBu4bqxbSDhu58gdsO5bmcgxJFp4buDbSBkxrDhu5tpIDI1Lg0KDQo9XD4gUXVhIMSRw7MgdMO5eSB2w6BvIG3hu6VjIHRpw6p1IHNpbmggdmnDqm4gdsOgIHRpw6p1IGNow60gY+G7p2Ega2jDoWMgbmhhdSBtw6AgdGhhbmcgxJFp4buDbSB04buRdCBuZ2hp4buHcCBjxaluZyBkYW8gxJHhu5luZyBsw6puIHh14buRbmcgdMO5eSB2w6BvIG5odSBj4bqndSB0aOG7iyB0csaw4budbmcuDQoNCi0gICBUaGVvIHF1YW4gc8OhdCBjw7MgdGjhu4MgbmfDoG5oICoqQ29tbWVyY2UqKiBz4bq9IGPDsyBjxqEgaOG7mWkgcGjDoXQgdHJp4buDbiBjYW8sIHbhu5tpIHPhu5EgxJFp4buDbSB04buRdCBuZ2hp4buHcCBjw6BuZyBjYW8qKihjw7Mga+G7uSBuxINuZyB2w6Aga2nhur9uIHRo4bupYyBjaHV5w6puIG3DtG4gdOG7kXQpKiogdOG6oW8gcmEgY+G6oW5oIHRyYW5oIG5oaeG7gXUgaMahbiB24buBIGPGoSBo4buZaSBuZ2jhu4EgbmdoaeG7h3AgY8OhYyBraOG7kWkgbmfDoG5oIGtow6FjLCBk4buDIGTDoG5nIGzhu7FhIGNo4buNbiBuZ8Ogbmggbmdo4buBIGhv4bq3YyB24buLIHRyw60gbMOgbSB2aeG7h2MgdOG7kXQgaMahbiB0cm9uZyBsxKluaCB24buxYyDEkcOzLCB0aHUgaMO6dCBuaMOgIHR1eeG7g24gZOG7pW5nLg0KDQotICAgTmfGsOG7o2MgbOG6oWkgduG7m2kgbmjDs20gbmfDoG5oICoqQi5jb20gSVNNKiogxJFhIHBo4bqnbiBjw7Mgc+G7kSDEkWnhu4NtIHThu5F0IG5naGnhu4dwIGNo4buJIG3hu6ljIGNodW5nIGLDrG5oIGtow6EgxJFlbSBs4bqhaSBuaGnhu4F1IGLhuqV0IGzhu6NpIGtoaSBwaOG6o2kgY+G6oW5oIHRyYW5oIGto4buRYyBsaeG7h3QgduG7m2kgbeG7mXQgc+G7kSBzaW5oIHZpw6puIMSRaeG7g20gY2FvIHRyb25nIGPDuW5nIGto4buRaSBuZ8OgbmgsIGtow7Mga2jEg24gdHJvbmcgdmnhu4djIG114buRbiBo4buNYyBsw6puIGNhbyBoxqFuLSB0aOG6oWMgc8SpLCBn4bq3cCBraMOzIGtoxINuIHRyb25nIHZp4buHYyB0aHV54bq/dCBwaOG7pWMgY8OhYyBuaMOgIHR1eeG7g24gZOG7pW5nIGzhu6VhIGNo4buNbiBtw6xuaChrw6htIHRoZW8gcGjhuqNpIGzhu7FhIGNo4buNbiBuZ2jhu4EgbmdoaeG7h3AgY8OzIG3hu6ljIGzGsMahbmcgdGjhuqVwKS4NCg0KLSAgIEPDsm4gMiBuZ8OgbmggY8OybiBs4bqhaSBu4bqxbSDhu58gZ2nhu69hIGPFqW5nIGfhurdwIG3hu5l0IHPhu5EgbOG7o2kgdGjhur8gY+G7p2EgbmfDoG5oICoqQ29tbWVyY2UqKiB2w6AgbeG7mXQgc+G7kSBi4bqldCBs4bujaSBnaeG7kW5nIG5ow7NtIG5nw6BuaCAqKkIuY29tIElTTSoqLg0KDQojIyBUw6FjIMSR4buZbmcgcXV5IG3DtCBjw7RuZyB0eSDEkeG6v24gY8ahIGjhu5lpIGzDoG0gdmnhu4djIGPhu6dhIHNpbmggdmnDqm4gdGhlbyB04burbmcgbsSDbShk4buvIGxp4buHdSAxKQ0KDQotICAgQmnhur9uIMSR4buZbmcgdHJvbmcgcXV5IG3DtCBjw7RuZyB0eSDhuqNuaCBoxrDhu59uZyDEkeG6v24gcGhvbmcgY8OhY2ggdHV54buDbiBk4bulbmcgY+G7p2EgaOG7jSBxdWEgY8OhYyBuxINtLCDEkWnhu4F1IG7DoHkgY8OzIHTDoWMgxJHhu5luZyBs4bubbiDEkeG6v24geHUgaMaw4bubbmcgY8OhYyBuZ8Ogbmggbmdo4buBLCDEkeG6t2MgYmnhu4d0IGzDoCBjw6FjIGPDtG5nIHR5IGzhu5tuLCBnacO6cCDEkeG7i25oIGjDrG5oIGPGoSBo4buZaSBuZ2jhu4EgbmdoaeG7h3AgY+G7p2Egc2luaCB2acOqbiB0cm9uZyB04burbmcgbMSpbmggduG7sWMgdsOgIGtodSB24buxYyBj4bulIHRo4buDLg0KDQotICAgVOG7qyDEkcOzLCB2aeG7h2MgY8OzIGPDoWkgbmjDrG4gdOG7lW5nIHF1YW4gZ2nDunAgZOG7sSDEkW/DoW4gbGnhu4d1IHF1eSBtw7QgY+G7p2EgY8OhYyBjw7RuZyB0eSBjw7MgdGjhu4MgcGjDoXQgdHJp4buDbiB0aMOqbSBoYXkga2jDtG5nLCB04burIMSRw7MgcGjDom4gYuG7lSBuZ3Xhu5NuIGzhu7FjIG3hu5l0IGPDoWNoIGjhu6NwIGzDvS4gQ8OhYyBz4buRIGxp4buHdSBxdWEgY8OhYyBuxINtIMSRxrDhu6NjIHRo4buDIGhp4buHbiB0csOqbiBiaeG7g3UgxJHhu5MgxJHhu4MgbWluaCBo4buNYSDEkWnhu4F1IG7DoHkuDQoNCmBgYHtyfQ0KYSAlPiUgZ2dwbG90KGFlcyh4ID0gSm9iLlBvc3RpbmcuWWVhciwgeSA9IENvbXBhbnkuU2l6ZSkpICsNCiAgZ2VvbV9zbW9vdGgobWV0aG9kID0gImxvZXNzIikgKw0KICBzY2FsZV94X2NvbnRpbnVvdXMoYnJlYWtzID0gc2VxKDIwMjEsIDIwMjMsIGJ5ID0gMSkpICsNCiAgbGFicyh0aXRsZSA9ICJCaeG7g3UgxJHhu5MgdGjhu4MgaGnhu4duIHF1eSBtw7QgY8O0bmcgdHkg4bqjbmggaMaw4bufbmcgxJHhur9uIGPGoSBo4buZaSBsw6BtIHZp4buHYyB0aGVvIG7Eg20iKSArDQogICAgbGFicyh4ID0gJ07Eg20nLCB5ID0gJ1Phu5EgbMaw4bujbmcnKQ0KYGBgDQoNCioqQ2jDuiB0aMOtY2gqKg0KDQotICAgUXV5IG3DtCBjw7RuZyB0eTogbMOgIHPhu5EgbMaw4bujbmcgY8O0bmcgbmjDom4gdmnDqm4gY+G7p2EgY8O0bmcgdHkNCg0KKipOaOG6rW4geMOpdCBiaeG7g3UgxJHhu5MqKg0KDQotICAgVHJvbmcgbsSDbSAyMDIyIHF1eSBtw7QgY8OhYyBjw7RuZyB0eSBt4bufIHLhu5luZyBuaGnhu4F1IG5o4bqldCwgdsOgIHRyxaluZyBu4bq3bmcgeHXhu5FuZyB0aGVvIGJp4buDdSDEkeG7kyBsw6AgbsSDbSAyMDIxIHbhu5tpIGThu4tjaCBi4buHbmggY292aWQtIDE5IGtoaeG6v24gbmhp4buBdSBjw7RuZyB0eSBwaOG6o2kgxJHDs25nIGPhu61hLg0KDQotICAgTeG6t2MgZMO5IGNo4buJIGPDsyBz4buRIGxp4buHdSDEkeG6v24gdGjDoW5nIDkgdHJvbmcgbsSDbSAyMDIzLCBuaMawbmcgZMaw4budbmcgbmjGsCB0w6xuaCBow6xuaCBraMOhIGto4bqjIHF1YW4sIGPDsyB0aOG7gyB04bqhbyDEkWnhu4F1IGtp4buHbiBjaG8gc+G7sSBwaOG7pWMgaOG7k2kgdsOgIHTEg25nIHRyxrDhu59uZyBt4bqhbmggbeG6vSB0cm9uZyBuaOG7r25nIHRow6FuZyB0aeG6v3AgdGhlby4NCg0KPVw+IFThu6sgxJHDsywgY8OzIHRo4buDIHRo4bqleSBy4bqxbmcgcXV5IG3DtCBj4bunYSBjw6FjIGPDtG5nIHR5IGzhu5tuIGPDoG5nIGzhu5tuLCBjw6BuZyB04bqhbyByYSBuaGnhu4F1IGPGoSBo4buZaSB2w6AgY+G6oW5oIHRyYW5oIGNobyB0aOG7iyB0csaw4budbmcgbGFvIMSR4buZbmcuIEPDoWMgY8O0bmcgdHkgbOG7m24gdGjGsOG7nW5nIGPDsyBuaHUgY+G6p3UgdHV54buDbiBk4bulbmcgxJFhIGThuqFuZyBoxqFuLCBtYW5nIGzhuqFpIG5oaeG7gXUgY8ahIGjhu5lpIGjhu41jIGjhu49pIHbDoCBwaMOhdCB0cmnhu4NuIGvhu7kgbsSDbmcgY2hvIHNpbmggdmnDqm4sIGPDuW5nIHbhu5tpIG3hu6ljIGzGsMahbmcgdsOgIGPDoWMgcGjDumMgbOG7o2kgaOG6pXAgZOG6q24gaMahbi4gxJBp4buBdSBuw6B5IGPDsyB0aOG7gyB0aMO6YyDEkeG6qXkgc2luaCB2acOqbiBo4buNYyB04bqtcCB2w6AgdHJhdSBk4buTaSBi4bqjbiB0aMOibiBoxqFuLg0KDQotICAgVHV5IG5oacOqbiwgY+G6oyBjw7RuZyB0eSBs4bubbiB2w6Agbmjhu48gxJHhu4F1IGPDsyBuaOG7r25nIMawdSB2w6AgbmjGsOG7o2MgxJFp4buDbSByacOqbmcuIFNpbmggdmnDqm4gY+G6p24gY8OibiBuaOG6r2Mga+G7uSBjw6FjIHnhur91IHThu5EgbmjGsCBz4bufIHRow61jaCwgbsSDbmcgbOG7sWMsIG3hu6VjIHRpw6p1IG5naOG7gSBuZ2hp4buHcCB2w6AgbW9uZyBtdeG7kW4gcGjDoXQgdHJp4buDbiBi4bqjbiB0aMOibiDEkeG7gyBs4buxYSBjaOG7jW4gY8O0bmcgdHkgcGjDuSBo4bujcC4NCg0KLSAgICoqVGhlbyBuaHUgY+G6p3UgY+G7p2Egc2luaCB2acOqbiB0aMOsIMSRYSBz4buRIHRow61jaCBsw6BtIHZp4buHYyBkb2FuaCBuZ2hp4buHcCBs4bubbi4gTmjGsG5nIHPhu5EgbMaw4bujbmcgc2luaCB2acOqbiBt4buXaSBuxINtIHJhIHRyxrDhu51uZyBsw6AgcuG6pXQgbOG7m24gdsOgIGPhuqFuaCB0cmFuaCBy4bqldCBjYW8uIMSQ4buTbmcgbmdoxKlhIHPhu5EgbMaw4bujbmcgbOG7m24gc2luaCB2acOqbiBjaOG7pyB54bq/dSBsw6BtIOG7nyBjw6FjIGPDtG5nIHR5IG5o4buPIHbDoCB24burYSoqLg0KDQoqKlRyw6puIHRo4buxYyB04bq/KioNCg0KLSAgIFRoZW8gYsOhbyBjw6FvIGPhu6dhIELhu5kgS+G6vyBob+G6oWNoIHbDoCDEkOG6p3UgdMawIG7Eg20gMjAyMzooNSkNCg0KRG9hbmggbmdoaeG7h3AgbOG7m246DQoNCkNoaeG6v20gMjAlIHPhu5EgbMaw4bujbmcgZG9hbmggbmdoaeG7h3AsIMSRw7NuZyBnw7NwIDgwJSBHRFAgdsOgIHThuqFvIHJhIDYwJSB2aeG7h2MgbMOgbS4NCg0KVHV54buDbiBk4bulbmcgMzAlIHNpbmggdmnDqm4gbeG7m2kgdOG7kXQgbmdoaeG7h3AuDQoNCkRvYW5oIG5naGnhu4dwIHbhu6thIHbDoCBuaOG7jzoNCg0KQ2hp4bq/bSA4MCUgc+G7kSBsxrDhu6NuZyBkb2FuaCBuZ2hp4buHcCwgxJHDs25nIGfDs3AgMjAlIEdEUCB2w6AgdOG6oW8gcmEgNDAlIHZp4buHYyBsw6BtLg0KDQpUdXnhu4NuIGThu6VuZyA3MCUgc2luaCB2acOqbiBt4bubaSB04buRdCBuZ2hp4buHcC4NCg0KIyMgU28gc8Ohbmggbmh1IGPhuqd1IGRhbmggbmdoaeG7h3AgdHV54buDbiBk4bulbmcgdGjDtG5nIHF1YSBxdXkgbcO0IGPhu6dhIDUgcXXhu5FjIGdpYSDEkMO0bmcgTmFtIMOBKGThu68gbGnhu4d1IDEpDQoNCi0gICBUaOG7iyB0csaw4budbmcgbGFvIMSR4buZbmcgY+G7p2EgY8OhYyBxdeG7kWMgZ2lhIMSQw7RuZyBOYW0gw4EgcGjhuqNuIMOhbmggbmhp4buBdSBt4bupYyDEkeG7mSB2w6Aga2jDrWEgY+G6oW5oIGtow6FjIG5oYXUuIFF1eSBtw7QgY+G7p2EgdGjhu4sgdHLGsOG7nW5nIGxhbyDEkeG7mW5nIHRoxrDhu51uZyBwaOG6o24gw6FuaCBrw61jaCB0aMaw4bubYyB2w6Agc+G7qWMgbeG6oW5oIGPhu6dhIG7hu4FuIGtpbmggdOG6vywgbeG7qWMgxJHhu5kgY+G6oW5oIHRyYW5oLCBraOG6oyBuxINuZyB04bqhbyByYSB2aeG7h2MgbMOgbSB24bubaSBs4buxYyBsxrDhu6NuZyBsYW8gxJHhu5luZyB0cm9uZyBuxrDhu5tjLCBjxaluZyBuaMawIHThuqdtIOG6o25oIGjGsOG7n25nIHRyb25nIGPDoWMgbmfDoG5oIHbDoCBob+G6oXQgxJHhu5luZyBraW5oIGRvYW5oIHF14buRYyB04bq/IGPhu6dhIGPDoWMgZG9hbmggbmdoaeG7h3AgdHJvbmcga2h1IHbhu7FjLg0KDQotICAgxJDhu4MgbMOgbSByw7UgaMahbiwgY2jDum5nIHRhIGPDsyB0aOG7gyB04bqhbyBiaeG7g3UgxJHhu5MgxJHhu4MgbWluaCBo4buNYSBz4buxIHRoYXkgxJHhu5VpIGPhu6dhIHF1eSBtw7QgdGhlbyB04burbmcgbsSDbSB0cm9uZyBi4buZIGThu68gbGnhu4d1IG5naGnDqm4gY+G7qXUuDQoNCmBgYHtyfQ0KbGlicmFyeShnb29nbGVkcml2ZSkNCmxpYnJhcnkodGlkeXZlcnNlKQ0KbGlicmFyeShnZ2FuaW1hdGUpDQpsaWJyYXJ5KG1hZ2ljaykNCg0KYyA8LSBkbDEgJT4lIGZpbHRlcihDb3VudHJ5ICVpbiUgYyggIlRoYWlsYW5kIiAsICJJbmRvbmVzaWEiLCAiVmlldG5hbSIsICJNYWxheXNpYSIsICJTaW5nYXBvcmUiKSkNCmMgJT4lIGdncGxvdChhZXMoeCA9IEpvYi5Qb3N0aW5nLlllYXIsIHkgPSBDb21wYW55LlNpemUsIGNvbG9yID0gQ291bnRyeSkpICsNCiAgZ2VvbV9saW5lKCkgKw0KICBnZW9tX3BvaW50KHNpemU9MikgKw0KICBzY2FsZV94X2NvbnRpbnVvdXMoYnJlYWtzID0gc2VxKDIwMjEsIDIwMjMsIGJ5ID0gMSkpICsgIyBk4buvIGtob+G6o25nIGPDoWNoLg0KICB0cmFuc2l0aW9uX3JldmVhbChKb2IuUG9zdGluZy5ZZWFyLCBrZWVwX2xhc3QgPSBGKSArIA0KICBsYWJzKHRpdGxlID0gIkJp4buDdSDEkeG7kyB0aOG7gyBoaeG7h24gcXV5IG3DtCBjw7RuZyB0eSBj4bunYSA1IHF14buRYyBnaWEgdGhlbyBuxINtIikgKw0KICAgIGxhYnMoeCA9ICdOxINtJywgeSA9ICdT4buRIGzGsOG7o25nJykNCmBgYA0KDQoqKkNow7ogdGjDrWNoKioNCg0KLSAgIENo4buNbiBUaGFpbGFuZCwgSW5kb25lc2lhLCBWaWV0bmFtLCBNYWxheXNpYSB2w6AgU2luZ2Fwb3JlIHRyb25nIGtodSB24buxYyDEkMO0bmcgTmFtIMOBIGzDoG0gY8OhYyBxdeG7kWMgZ2lhIHRoYW0gY2hp4bq/dSBsw6AgbeG7mXQgY8OhY2ggdGnhur9wIGPhuq1uIGfhuqduIGfFqWkgduG7m2kgdGjhu4sgdHLGsOG7nW5nIGxhbyDEkeG7mW5nIGPhu6dhIFZp4buHdCBOYW0uIEPDoWMgcXXhu5FjIGdpYSBuw6B5IMSR4buBdSDEkWFuZyBwaMOhdCB0cmnhu4NuIOG7lW4gxJHhu4tuaCB2w6AgxJHhu6luZyDEkeG6p3UgdHJvbmcgc+G7kSAxMSBxdeG7kWMgZ2lhIGPhu6dhIGtodSB24buxYyDEkMO0bmcgTmFtIMOBLg0KDQoqKk5o4bqtbiB4w6l0IGJp4buDdSDEkeG7kyoqDQoNCjEuICBHaWFpIMSRb+G6oW4gMjAyMS0yMDIyDQoNCi0gICBDw7MgKipNYWxheXNpYSoqIGzDoCBxdeG7kWMgZ2lhIGJp4bq/biDEkeG7lWkgcGjhu6ljIHThuqFwIHRyb25nIHF1w6EgdHLDrG5oIG7DoHksIHRy4bqjaSBxdWEgbeG7mXQgc+G7sSBnaeG6o20gbeG6oW5oIHThu6sgduG7iyB0csOtIHF14buRYyBnaWEgY8OzIHF1eSBtw7QgbOG7m24gbmjhuqV0IHh14buRbmcgxJHhur9uIHbhu4sgdHLDrSBjdeG7kWkgY8O5bmcgdHJvbmcgc+G7kSA1IHF14buRYyBnaWEuDQoNCi0gICBDw6FjIG7GsOG7m2MgKipJbmRvbmV4aWEsIFNpbmdhcG9yZSwgVGhhaWxhbmQqKiBjw7MgeHUgaMawxqFuZyB0xINuZyBuaMawbmcg4buVbiDEkeG7i25oLih0cm9uZyDEkcOzIMSR4bupbmcgxJHhuqd1IGzDoCBJbmRvbmV4aWEsIHRp4bq/cCDEkeG6v24gVGhhaWxhbmQsIMSR4bupbmcgdGjhu6kgNCBsw6AgU2luZ2Fwb3JlKQ0KDQotICAgUXXhu5FjIGdpYSBjw7MgeHUgaMaw4bubbmcgdMSDbmcgbeG6oW5oIGjGoW4gdHJvbmcgZ2lhaSDEkW/huqFuIG7DoHkgbMOgICoqVmlldG5hbSoqLCBt4bq3YyBkw7kga2jDtG5nIHbGsOG7o3QgcXVhIEluZG9uZXNpYSBob+G6t2MgVGhhaWxhbmQgxJHhu4MgxJHhu6luZyDEkeG6p3UuDQoNCjIuICBHaWFpIMSRb+G6oW4gMjAyMi05LzIwMjMNCg0KLSAgIFRyb25nIHRo4budaSDEkWnhu4NtIG7DoHksICoqSW5kb25lc2lhKiogdHLhu58gdGjDoG5oIHF14buRYyBnaWEgYmnhur9uIMSR4buZbmcgcGjhu6ljIHThuqFwIG5o4bqldCwgdHLhuqNpIHF1YSBt4buZdCBz4buxIHN1eSBnaeG6o20gbeG6oW5oIHThu6sgduG7iyB0csOtIHF14buRYyBnaWEgY8OzIHF1eSBtw7QgbOG7m24gbmjhuqV0IHh14buRbmcgxJHhur9uIHbhu4sgdHLDrSBjdeG7kWkgY8O5bmcgdHJvbmcgc+G7kSA1IHF14buRYyBnaWEuIFTDrG5oIGjDrG5oIG7DoHkga8OpbSBoxqFuIGPhuqMgTWFsYXlzaWEgdHJvbmcgbeG7mXQga2hv4bqjbmcgdGjhu51pIGdpYW4gdHLGsOG7m2MgxJHDsy4NCg0KLSAgICoqTWFsYXlzaWEqKiBi4bqvdCDEkeG6p3UgdMOhaSBwaMOhdCB0cmnhu4NuIG3huqFuaCBt4bq9LCB0aGVvIHh1IGjGsOG7m25nIHTEg25nIHRyxrDhu59uZyBuaMawbmcga2jDtG5nIMSR4bqhdCDEkcaw4bujYyBuaMawIHRo4budaSDEkWnhu4NtIG7Eg20gMjAyMSAoY2jhu4kgxJHhu6luZyDhu58gduG7iyB0csOtIHRo4bupIDIpLg0KDQotICAgKipUaGFpbGFuZCB2w6AgU2luZ2Fwb3JlKiogxJHhu4F1IGPDsyB4dSBoxrDhu5tuZyB0xINuZyB0csaw4bufbmcgcXV5IG3DtCBraMOhIOG7lW4gxJHhu4tuaC4gVHV5IG5oacOqbiwgVGhhaWxhbmQgduG6q24gxJFhbmcgdMSDbmcgdHLGsOG7n25nIG5oYW5oIGjGoW4ga+G7gyB04burIG7Eg20gMjAyMiB2w6AgZ2nDoG5oIHbhu4sgdHLDrSB0aOG7qSAxLCB0cm9uZyBraGkgKipTaW5nYXBvcmUqKiBnacOgbmggxJHGsOG7o2MgduG7iyB0csOtIHRo4bupIDMuDQoNCi0gICAqKlZpZXRuYW0qKiBjxaluZyB0xINuZyB0csaw4bufbmcgbmjGsG5nIG3hu6ljIMSR4buZIGNo4bqtbSBoxqFuIHThu6V0IGzhuqFpIHBow61hIHNhdSBj4bunYSAqKlNpbmdhcG9yZSoqLg0KDQo9XD4gUXVhIMSRw7MsIHRhIGPDsyB0aOG7gyB0aOG6pXkgcuG6sW5nIHF1eSBtw7QgY+G7p2EgY8OhYyBxdeG7kWMgZ2lhIGPDsyB0aOG7gyBi4buLIOG6o25oIGjGsOG7n25nIGLhu59pIG5oaeG7gXUgeeG6v3UgdOG7kSwgYmFvIGfhu5NtIGPhuqMgdMOhYyDEkeG7mW5nIGPhu6dhIMSR4bqhaSBk4buLY2ggQ09WSUQtMTkgdsOgIGRp4buHbiB0w61jaCBsw6NuaCB0aOG7lSBj4bunYSBxdeG7kWMgZ2lhLiBWw60gZOG7pSwgU2luZ2Fwb3JlIGPDsyBkaeG7h24gdMOtY2ggbMOjbmggdGjhu5Ugbmjhu48gbmjhuqV0IHRyb25nIGtodSB24buxYywgxJFp4buBdSBuw6B5IGtoaeG6v24gcXV5IG3DtCBj4bunYSBuw7Mga2jDsyBjw7MgdGjhu4MgdMSDbmcgdHLGsOG7n25nIG5oYW5oIGNow7NuZy4gVHJvbmcgZ2lhaSDEkW/huqFuIDIwMjEtMjAyMywgU2luZ2Fwb3JlIGPDsyB0aOG7gyDEkeG7qW5nIOG7nyB24buLIHRyw60gMyBob+G6t2MgNCB0cm9uZyBz4buRIGPDoWMgcXXhu5FjIGdpYSDEkMO0bmcgTmFtIMOBLCBt4bq3YyBkw7kgbsOzIHbhuqtuIGzDoCBt4buZdCB0cm9uZyBuaOG7r25nIHF14buRYyBnaWEgcGjDoXQgdHJp4buDbiBuaOG6pXQgdHJvbmcga2h1IHbhu7FjLiBUaGFpbGFuZCwgbeG6t2MgZMO5IGzDoCBxdeG7kWMgZ2lhIGPDsyBxdXkgbcO0IGRvYW5oIG5naGnhu4dwIGzhu5tuIG5o4bqldCwgbmjDrCB2w6AgduG7iyB0csOtIHBow6F0IHRyaeG7g24gdOG7kXQsIG5oxrBuZyB24bqrbiBraMO0bmcgdGjhu4Mgdsaw4bujdCBt4bq3dCBTaW5nYXBvcmUuDQoNCi0gICBOaMOsbiBuaOG6rW4gZ2lhaSDEkW/huqFuIMSR4bqndSwgY8OzIHRo4buDIG7Ds2kgcuG6sW5nIFZp4buHdCBOYW0gbMOgIG3hu5l0IHRyb25nIG5o4buvbmcgcXXhu5FjIGdpYSBjw7MgdOG7kWMgxJHhu5kgcGjDoXQgdHJp4buDbiBraW5oIHThur8gbmhhbmggbmjhuqV0IHRyb25nIGtodSB24buxYyDEkMO0bmcgTmFtIMOBLiBUdXkgbmhpw6puLCBj4bqnbiBwaOG6o2kgeGVtIHjDqXQgbmhp4buBdSB54bq/dSB04buRIGtow6FjIG5oYXUgxJHhu4MgaGnhu4N1IHLDtSBoxqFuIHbhu4EgcXV5IG3DtCB2w6Agc+G7sSBwaMOhdCB0cmnhu4NuIGPhu6dhIG3hu5dpIHF14buRYyBnaWEgdHJvbmcga2h1IHbhu7FjLg0KDQojIENoxrDGoW5nIDQ6IMSQxrBhIHJhIGdp4bqjaSBwaMOhcC4NCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCiMjIFbhu4EgcGjDrWEgc2luaCB2acOqbi4NCg0KLSAgICoqTsOibmcgY2FvIGvhu7kgbsSDbmcgdsOgIGtp4bq/biB0aOG7qWMqKjogU2luaCB2acOqbiBuw6puIGxpw6puIHThu6VjIGPhuq1wIG5o4bqtdCB2w6AgcGjDoXQgdHJp4buDbiBr4bu5IG7Eg25nIGNodXnDqm4gbcO0biBjxaluZyBuaMawIGvhu7kgbsSDbmcgbeG7gW0gbmjGsCBnaWFvIHRp4bq/cCwgcXXhuqNuIGzDvSB0aOG7nWkgZ2lhbiwgbMOgbSB2aeG7h2MgbmjDs20uIFThu6sgxJHDsyBjw7MgdGjhu4MgbOG6rXAga+G6vyBob+G6oWNoIHbDoCBt4bulYyB0acOqdSBj4bulIHRo4buDIG5nYXkgdOG7qyDEkeG6p3UuIMSQaeG7gXUgbsOgeSBnacO6cCB0xINuZyBraOG6oyBuxINuZyBj4bqhbmggdHJhbmggdsOgIHBow6F0IHRyaeG7g24gdHJvbmcgc+G7sSBuZ2hp4buHcC4NCg0KLSAgICoqVGjhu7FjIHThuq1wIHbDoCBo4buNYyBo4buPaSB0aMOqbSBraW5oIG5naGnhu4dtKio6IFNpbmggdmnDqm4gbsOqbiB04bqtbiBk4bulbmcgY8ahIGjhu5lpIHRo4buxYyB04bqtcCDEkeG7gyB0w61jaCBsxal5IGtpbmggbmdoaeG7h20gdGjhu7FjIHThur8gdHJvbmcgbMSpbmggduG7sWMgbcOsbmggcXVhbiB0w6JtIGNobyBjw6FjIGPDtG5nIHR5LiBWaeG7h2MgbsOgeSBraMO0bmcgY2jhu4kgZ2nDunAgeMOieSBk4buxbmcgbeG6oW5nIGzGsOG7m2kgcXVhbiBo4buHIG3DoCBjw7JuIHTEg25nIGPGoSBo4buZaSDEkcaw4bujYyB0dXnhu4NuIGThu6VuZyBzYXUga2hpIHThu5F0IG5naGnhu4dwLg0KDQotICAgKipYw6J5IGThu7FuZyBt4bqhbmcgbMaw4bubaSBxdWFuIGjhu4cqKjogS+G6v3QgbuG7kWkgdsOgIHThuqFvIG3hu5FpIHF1YW4gaOG7hyB24bubaSBnacOhbyB2acOqbiwgY+G7sXUgc2luaCB2acOqbiwgdsOgIGPDoWMgY2h1ecOqbiBnaWEgdHJvbmcgbMSpbmggduG7sWMgbMOgbSB2aeG7h2MgY+G7p2EgbcOsbmggxJHhu4MgY8OzIGPGoSBo4buZaSBo4buNYyBo4buPaSB2w6Agbmjhuq1uIMSRxrDhu6NjIHPhu7EgaOG7lyB0cuG7oyB0cm9uZyB0w6xtIGtp4bq/bSB2aeG7h2MgbMOgbS4NCg0KLSAgICoqTuG6r20gduG7r25nIHRow7RuZyB0aW4gdGjhu4sgdHLGsOG7nW5nIGxhbyDEkeG7mW5nKio6IFRoZW8gZMO1aSB2w6AgbmdoacOqbiBj4bupdSB24buBIHh1IGjGsOG7m25nIHbDoCB5w6p1IGPhuqd1IGPhu6dhIHRo4buLIHRyxrDhu51uZyBsYW8gxJHhu5luZyB0cm9uZyBsxKluaCB24buxYyBtw6xuaCBxdWFuIHTDom0uIMSQaeG7gXUgbsOgeSBnacO6cCBzaW5oIHZpw6puIGhp4buDdSByw7UgduG7gSBjxqEgaOG7mWkgdsOgIHRow6FjaCB0aOG7qWMsIHThu6sgxJHDsyBjw7Mga+G6vyBob+G6oWNoIHBow6F0IHRyaeG7g24gc+G7sSBuZ2hp4buHcCBoaeG7h3UgcXXhuqMgaMahbi4NCg0KLSAgICoqQ2jhu6cgxJHhu5luZyB2w6Agc+G6tW4gc8OgbmcgdGhheSDEkeG7lWkqKjogU2luaCB2acOqbiBj4bqnbiBsaW5oIGhv4bqhdCB2w6AgY2jhu6cgxJHhu5luZyB0cm9uZyB2aeG7h2MgdGhheSDEkeG7lWkga+G6vyBob+G6oWNoIG5naOG7gSBuZ2hp4buHcCB2w6AgaOG7jWMgdOG6rXAgxJHhu4MgcGjhuqNuIOG7qW5nIHbhu5tpIHPhu7EgYmnhur9uIMSR4buZbmcgY+G7p2EgdGjhu4sgdHLGsOG7nW5nIGxhbyDEkeG7mW5nLg0KDQotICAgKipU4bqtbiBk4bulbmcgY8OhYyBuZ3Xhu5NuIHRow7RuZyB0aW4gdsOgIG5ndeG7k24gbOG7sWMqKjogU+G7rSBk4bulbmcgY8OhYyBuZ3Xhu5NuIHRow7RuZyB0aW4gdsOgIGThu4tjaCB24bulIGjhu5cgdHLhu6MgdOG7qyB0csaw4budbmcgaOG7jWMsIGPDoWMgdOG7lSBjaOG7qWMgc2luaCB2acOqbiwgY8WpbmcgbmjGsCBjw6FjIHRyYW5nIHdlYiwgZGnhu4VuIMSRw6BuIHRy4buxYyB0dXnhur9uIMSR4buDIHTDrG0ga2nhur9tIHRow7RuZyB0aW4gduG7gSB2aeG7h2MgbMOgbSB2w6AgY8ahIGjhu5lpIG5naOG7gSBuZ2hp4buHcC4NCg0KPVw+IE5o4buvbmcgZ2nhuqNpIHBow6FwIG7DoHkgZ2nDunAgc2luaCB2acOqbiB04buxIHRpbiB2w6Agc+G6tW4gc8OgbmcgxJHhu5FpIG3hurd0IHbhu5tpIHRo4buLIHRyxrDhu51uZyBsYW8gxJHhu5luZywgdMSDbmcgY8ahIGjhu5lpIHRow6BuaCBjw7RuZyB0cm9uZyBz4buxIG5naGnhu4dwIHNhdSBraGkgdOG7kXQgbmdoaeG7h3AuDQoNCiMjIFbhu4EgcGjDrWEgbmjDoCB0csaw4budbmcNCg0KLSAgICoqVMSDbmcgY8aw4budbmcgaOG7o3AgdMOhYyB24bubaSBkb2FuaCBuZ2hp4buHcCoqOiBOaMOgIHRyxrDhu51uZyBuw6puIHRow7pjIMSR4bqpeSB2aeG7h2MgaOG7o3AgdMOhYyBjaOG6t3QgY2jhur0gduG7m2kgY8OhYyBkb2FuaCBuZ2hp4buHcCDEkeG7gyBoaeG7g3UgcsO1IG5odSBj4bqndSBj4bunYSB0aOG7iyB0csaw4budbmcgbGFvIMSR4buZbmcgdsOgIGN1bmcgY+G6pXAgY2hvIHNpbmggdmnDqm4gY8OhYyBjxqEgaOG7mWkgdGjhu7FjIHThuq1wLCB0dXnhu4NuIGThu6VuZyB2w6AgaOG7lyB0cuG7oyB2aeG7h2MgbMOgbSBzYXUgdOG7kXQgbmdoaeG7h3AuDQoNCi0gICAqKlBow6F0IHRyaeG7g24gY2jGsMahbmcgdHLDrG5oIGjhu41jIHThuq1wIGxpbmggaG/huqF0Kio6IE5ow6AgdHLGsOG7nW5nIG7Dqm4gdGhp4bq/dCBr4bq/IGPDoWMgY2jGsMahbmcgdHLDrG5oIGjhu41jIHThuq1wIGxpbmggaG/huqF0IHbDoCDEkWEgZOG6oW5nLCBr4bq/dCBo4bujcCBnaeG7r2EgbMO9IHRodXnhur90IHbDoCB0aOG7sWMgaMOgbmgsIGdpw7pwIHNpbmggdmnDqm4gcGjDoXQgdHJp4buDbiBr4bu5IG7Eg25nIGPhuqduIHRoaeG6v3QgY2hvIHRo4buLIHRyxrDhu51uZyBsYW8gxJHhu5luZy4NCg0KLSAgICoqVOG6oW8gxJFp4buBdSBraeG7h24gY2hvIHZp4buHYyByw6huIGx1eeG7h24ga+G7uSBuxINuZyBt4buBbSoqOiBL4bu5IG7Eg25nIG3hu4FtIG5oxrAgZ2lhbyB0aeG6v3AsIGzDoG0gdmnhu4djIG5ow7NtLCBxdeG6o24gbMO9IHRo4budaSBnaWFuLCB2w6AgZ2nhuqNpIHF1eeG6v3QgduG6pW4gxJHhu4EgbMOgIHLhuqV0IHF1YW4gdHLhu41uZyB0cm9uZyBtw7RpIHRyxrDhu51uZyBsw6BtIHZp4buHYy4gTmjDoCB0csaw4budbmcgY8OzIHRo4buDIGN1bmcgY+G6pXAgY8OhYyBraMOzYSDEkcOgbyB04bqhbyB2w6AgaG/huqF0IMSR4buZbmcgcsOobiBsdXnhu4duIGvhu7kgbsSDbmcgbeG7gW0gY2hvIHNpbmggdmnDqm4uDQoNCi0gICAqKkjhu5cgdHLhu6MgcGjDoXQgdHJp4buDbiBuZ2jhu4EgbmdoaeG7h3AqKjogTmjDoCB0csaw4budbmcgbsOqbiBjdW5nIGPhuqVwIGPDoWMgZOG7i2NoIHbhu6UgdMawIHbhuqVuIG5naOG7gSBuZ2hp4buHcCwgaOG7lyB0cuG7oyB2aeG7h2MgbMOgbSwgdsOgIG3huqFuZyBsxrDhu5tpIGxpw6puIGvhur90IHbhu5tpIGPDoWMgZG9hbmggbmdoaeG7h3AgdsOgIGPhu5luZyDEkeG7k25nIGtpbmggZG9hbmggxJHhu4MgZ2nDunAgc2luaCB2acOqbiB0w6xtIGtp4bq/bSBjxqEgaOG7mWkgdmnhu4djIGzDoG0gcGjDuSBo4bujcCBzYXUga2hpIHThu5F0IG5naGnhu4dwLg0KDQotICAgKipUaeG6v3AgdOG7pWMgbsOibmcgY2FvIGNo4bqldCBsxrDhu6NuZyBnacOhbyBk4bulYyoqOiBOaMOgIHRyxrDhu51uZyBj4bqnbiBsacOqbiB04bulYyBj4bqjaSB0aGnhu4duIGNo4bqldCBsxrDhu6NuZyBnacOhbyBk4bulYyBi4bqxbmcgY8OhY2ggxJHhuqd1IHTGsCB2w6BvIGPGoSBz4bufIHbhuq10IGNo4bqldCwgbsOibmcgY2FvIHRyw6xuaCDEkeG7mSBnaeG6o25nIHZpw6puLCB2w6AgY+G6rXAgbmjhuq10IGNoxrDGoW5nIHRyw6xuaCBo4buNYyBwaMO5IGjhu6NwIHbhu5tpIHh1IGjGsOG7m25nIHbDoCBuaHUgY+G6p3UgY+G7p2EgdGjhu4sgdHLGsOG7nW5nIGxhbyDEkeG7mW5nLg0KDQo9XD4gVMOzbSBs4bqhaSwgYuG6sW5nIHZp4buHYyB0aOG7sWMgaGnhu4duIGPDoWMgZ2nhuqNpIHBow6FwIG7DoHksIG5ow6AgdHLGsOG7nW5nIGPDsyB0aOG7gyBnacO6cCBzaW5oIHZpw6puIGNodeG6qW4gYuG7iyB04buRdCBjaG8gdGjhu4sgdHLGsOG7nW5nIGxhbyDEkeG7mW5nIGhp4buHbiBuYXkgdsOgIHTGsMahbmcgbGFpLg0KDQojIyBW4buBIHBow61hIGRvYW5oIG5naGnhu4dwDQoNCi0gICAqKlTEg25nIGPGoSBo4buZaSB0aOG7sWMgdOG6rXAgdsOgIGjhu41jIG5naOG7gSoqOiBDw6FjIGRvYW5oIG5naGnhu4dwIGPDsyB0aOG7gyB04bqhbyByYSBjw6FjIGNoxrDGoW5nIHRyw6xuaCB0aOG7sWMgdOG6rXAgdsOgIGjhu41jIG5naOG7gSDEkeG7gyBjdW5nIGPhuqVwIGNobyBzaW5oIHZpw6puIGPGoSBo4buZaSB0cuG6o2kgbmdoaeG7h20gdGjhu7FjIHThur8gdsOgIHBow6F0IHRyaeG7g24ga+G7uSBuxINuZyBj4bqnbiB0aGnhur90IHRyb25nIG5nw6BuaC4gxJBp4buBdSBuw6B5IGdpw7pwIHNpbmggdmnDqm4gY8OzIGPGoSBo4buZaSBo4buNYyBo4buPaSB2w6AgdMOtY2ggbHXhu7kga2luaCBuZ2hp4buHbSB0csaw4bubYyBraGkgdOG7kXQgbmdoaeG7h3AuDQoNCi0gICAqKljDonkgZOG7sW5nIG3hu5FpIHF1YW4gaOG7hyB24bubaSB0csaw4budbmcgxJHhuqFpIGjhu41jIHbDoCBjYW8gxJHhurNuZyoqOiBDw6FjIGRvYW5oIG5naGnhu4dwIGPDsyB0aOG7gyBo4bujcCB0w6FjIGNo4bq3dCBjaOG6vSB24bubaSBjw6FjIHRyxrDhu51uZyDEkeG6oWkgaOG7jWMgdsOgIGNhbyDEkeG6s25nIMSR4buDIHThuqFvIHJhIGPDoWMgY2jGsMahbmcgdHLDrG5oIMSRw6BvIHThuqFvIHBow7kgaOG7o3AgduG7m2kgbmh1IGPhuqd1IHRo4buLIHRyxrDhu51uZyBsYW8gxJHhu5luZy4gxJBp4buBdSBuw6B5IGdpw7pwIMSR4bqjbSBi4bqjbyBy4bqxbmcgc2luaCB2acOqbiDEkcaw4bujYyB0cmFuZyBi4buLIMSR4bunIGtp4bq/biB0aOG7qWMgdsOgIGvhu7kgbsSDbmcgxJHhu4MgdGjDrWNoIG5naGkgduG7m2kgY8O0bmcgdmnhu4djIHNhdSBraGkgdOG7kXQgbmdoaeG7h3AuDQoNCi0gICAqKlThuqFvIHJhIGPDoWMgY2jGsMahbmcgdHLDrG5oIMSRw6BvIHThuqFvIG7hu5lpIGLhu5kqKjogQ8OhYyBkb2FuaCBuZ2hp4buHcCBjw7MgdGjhu4MgdOG7lSBjaOG7qWMgY8OhYyBjaMawxqFuZyB0csOsbmggxJHDoG8gdOG6oW8gbuG7mWkgYuG7mSDEkeG7gyBnacO6cCBzaW5oIHZpw6puIHRp4bq/cCBj4bqtbiB2w6AgbMOgbSBxdWVuIHbhu5tpIG3DtGkgdHLGsOG7nW5nIGzDoG0gdmnhu4djIGPhu6dhIGjhu40gdHLGsOG7m2Mga2hpIGLGsOG7m2MgdsOgbyB0aOG7sWMgdOG6vy4gxJBp4buBdSBuw6B5IGdpw7pwIGdp4bqjbSB0aOG7nWkgZ2lhbiBow7JhIG5o4bqtcCB2w6AgdMSDbmcgaGnhu4d1IHN14bqldCBsw6BtIHZp4buHYyBj4bunYSBzaW5oIHZpw6puIHNhdSBraGkgZ2lhIG5o4bqtcCBkb2FuaCBuZ2hp4buHcC4NCg0KLSAgICoqWMOieSBk4buxbmcgbeG7kWkgcXVhbiBo4buHIGTDoGkgaOG6oW4gduG7m2kgc2luaCB2acOqbioqOiBDw6FjIGRvYW5oIG5naGnhu4dwIGPDsyB0aOG7gyB04bqhbyByYSBjw6FjIGNoxrDGoW5nIHRyw6xuaCBsacOqbiBr4bq/dCB2w6AgbeG7kWkgcXVhbiBo4buHIGTDoGkgaOG6oW4gduG7m2kgY8OhYyBzaW5oIHZpw6puIHRow7RuZyBxdWEgdmnhu4djIGN1bmcgY+G6pXAgY8ahIGjhu5lpIHRo4buxYyB04bqtcCwgaOG7jWMgYuG7lW5nIHbDoCBjaMawxqFuZyB0csOsbmggcGjDoXQgdHJp4buDbiBuZ2jhu4EgbmdoaeG7h3AuIMSQaeG7gXUgbsOgeSBnacO6cCB0aHUgaMO6dCB2w6AgZ2nhu68gY2jDom4gbmjhu69uZyBzaW5oIHZpw6puIHTDoGkgbsSDbmcgdsOgIHRp4buBbSBuxINuZyBjaG8gY8O0bmcgdHkuDQoNCj1cPiBC4bqxbmcgY8OhY2ggdGjhu7FjIGhp4buHbiBuaOG7r25nIGdp4bqjaSBwaMOhcCBuw6B5LCBjw6FjIGRvYW5oIG5naGnhu4dwIGPDsyB0aOG7gyB04bqhbyByYSBtw7RpIHRyxrDhu51uZyBsw6BtIHZp4buHYyB0aHXhuq1uIGzhu6NpIHbDoCBjxqEgaOG7mWkgcGjDoXQgdHJp4buDbiBjaG8gc2luaCB2acOqbiwgxJHhu5NuZyB0aOG7nWkgxJHDoXAg4bupbmcgxJHGsOG7o2Mgbmh1IGPhuqd1IGPhu6dhIHRo4buLIHRyxrDhu51uZyBsYW8gxJHhu5luZyBoaeG7h24gbmF5Lg0KDQojIyBW4buBIHBow61hIG5ow6Agbsaw4bubYw0KDQotICAgKipUxINuZyBjxrDhu51uZyBo4buXIHRy4bujIGdpw6FvIGThu6VjIHbDoCDEkcOgbyB04bqhbyoqOiBOaMOgIG7GsOG7m2MgY8OzIHRo4buDIMSR4bqndSB0xrAgdsOgbyBjw6FjIGNoxrDGoW5nIHRyw6xuaCBnacOhbyBk4bulYyB2w6AgxJHDoG8gdOG6oW8gxJHhu4MgY+G6o2kgdGhp4buHbiBjaOG6pXQgbMaw4bujbmcgdsOgIMSR4buZIHBo4buVIGPhuq1wIGPhu6dhIGdpw6FvIGThu6VjLCDEkeG6t2MgYmnhu4d0IGzDoCB0cm9uZyBjw6FjIG5nw6BuaCBjw7RuZyBuZ2jhu4cgdGjDtG5nIHRpbiwgeSB04bq/LCB2w6Agc+G6o24geHXhuqV0LiDEkGnhu4F1IG7DoHkgZ2nDunAgc2luaCB2acOqbiB0aeG6v3AgY+G6rW4gxJHGsOG7o2Mga2nhur9uIHRo4bupYyB2w6Aga+G7uSBuxINuZyBwaMO5IGjhu6NwIHbhu5tpIG5odSBj4bqndSB0aOG7iyB0csaw4budbmcgbGFvIMSR4buZbmcuDQoNCi0gICAqKlThuqFvIHJhIGPGoSBo4buZaSB0aOG7sWMgdOG6rXAgdsOgIGjhu41jIG5naOG7gSoqOiBOaMOgIG7GsOG7m2MgY8OzIHRo4buDIHRow7pjIMSR4bqpeSB2aeG7h2MgaOG7o3AgdMOhYyBnaeG7r2EgdHLGsOG7nW5nIGjhu41jIHbDoCBkb2FuaCBuZ2hp4buHcCDEkeG7gyBjdW5nIGPhuqVwIGPGoSBo4buZaSB0aOG7sWMgdOG6rXAgdsOgIGjhu41jIG5naOG7gSBjaG8gc2luaCB2acOqbi4gxJBp4buBdSBuw6B5IGdpw7pwIHNpbmggdmnDqm4gY8OzIGPGoSBo4buZaSDDoXAgZOG7pW5nIGtp4bq/biB0aOG7qWMgdsOgbyB0aOG7sWMgdOG6vywgcGjDoXQgdHJp4buDbiBr4bu5IG7Eg25nIHbDoCB0w61jaCBsdeG7uSBraW5oIG5naGnhu4dtIGzDoG0gdmnhu4djLg0KDQotICAgKipYw6J5IGThu7FuZyBjaMOtbmggc8OhY2ggaOG7lyB0cuG7oyBjaG8gZG9hbmggbmdoaeG7h3AgdsOgIGRvYW5oIG5ow6JuKio6IE5ow6Agbsaw4bubYyBjw7MgdGjhu4MgdGhp4bq/dCBs4bqtcCBjw6FjIGNow61uaCBzw6FjaCBo4buXIHRy4bujIGNobyBkb2FuaCBuZ2hp4buHcCB2w6AgZG9hbmggbmjDom4sIMSR4bq3YyBiaeG7h3QgbMOgIGPDoWMgZG9hbmggbmdoaeG7h3Agbmjhu48gdsOgIHbhu6thLiDEkGnhu4F1IG7DoHkgYmFvIGfhu5NtIHZp4buHYyBjdW5nIGPhuqVwIHbhu5FuIHZheSDGsHUgxJHDo2ksIGjhu5cgdHLhu6MgduG7gSDEkcOgbyB04bqhbyBuaMOibiB2acOqbiwgdsOgIHThuqFvIMSRaeG7gXUga2nhu4duIHRodeG6rW4gbOG7o2kgY2hvIGhv4bqhdCDEkeG7mW5nIGtpbmggZG9hbmguDQoNCi0gICAqKlRow7pjIMSR4bqpeSBz4buxIHBow6F0IHRyaeG7g24gY+G7p2EgY8OhYyBuZ8OgbmggY8O0bmcgbmdoaeG7h3AgdGnhu4FtIG7Eg25nKio6IE5ow6Agbsaw4bubYyBjw7MgdGjhu4MgdOG6rXAgdHJ1bmcgdsOgbyB2aeG7h2MgcGjDoXQgdHJp4buDbiBjw6FjIG5nw6BuaCBjw7RuZyBuZ2hp4buHcCB0aeG7gW0gbsSDbmcgbmjGsCBjw7RuZyBuZ2jhu4cgdGjDtG5nIHRpbiwgbsSDbmcgbMaw4bujbmcgdMOhaSB04bqhbywgdsOgIGThu4tjaCB24bulIHkgdOG6vy4gxJBp4buBdSBuw6B5IHThuqFvIHJhIG5oaeG7gXUgY8ahIGjhu5lpIHZp4buHYyBsw6BtIG3hu5tpIGNobyBzaW5oIHZpw6puIHbDoCBnacO6cCB0aMO6YyDEkeG6qXkgc+G7sSBwaMOhdCB0cmnhu4NuIGtpbmggdOG6vy4NCg0KLSAgICoqxJDhuqNtIGLhuqNvIGPDtG5nIGLhurFuZyB2w6AgY8ahIGjhu5lpIGPDtG5nIHZp4buHYyoqOiBOaMOgIG7GsOG7m2MgY+G6p24gxJHhuqNtIGLhuqNvIHLhurFuZyB0aOG7iyB0csaw4budbmcgbGFvIMSR4buZbmcgY8OzIHPhu7EgY8O0bmcgYuG6sW5nIHbDoCBjxqEgaOG7mWkgY8O0bmcgdmnhu4djIGNobyB04bqldCBj4bqjIGPDoWMgc2luaCB2acOqbiwga2jDtG5nIHBow6JuIGJp4buHdCDEkeG7kWkgeOG7rSBk4buxYSB0csOqbiBnaeG7m2kgdMOtbmgsIGTDom4gdOG7mWMsIGhv4bq3YyBuZ3Xhu5NuIGfhu5FjIHjDoyBo4buZaS4NCg0KPVw+IELhurFuZyBjw6FjaCB0aOG7sWMgaGnhu4duIG5o4buvbmcgZ2nhuqNpIHBow6FwIG7DoHksIG5ow6Agbsaw4bubYyBjw7MgdGjhu4MgZ2nDunAgY+G6o2kgdGhp4buHbiB0w6xuaCBow6xuaCB0aOG7iyB0csaw4budbmcgbGFvIMSR4buZbmcgdsOgIHThuqFvIHJhIGPGoSBo4buZaSBjaG8gc+G7sSBwaMOhdCB0cmnhu4NuIGPhu6dhIHNpbmggdmnDqm4gdsOgIG7hu4FuIGtpbmggdOG6vyDEkeG6pXQgbsaw4bubYy4NCg0KIyBDaMawxqFuZyA1OiBL4bq/dCBsdeG6rW4uDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpUcm9uZyBiw6BpIHRp4buDdSBsdeG6rW4gduG7gSBjxqEgaOG7mWkgbmdo4buBIG5naGnhu4dwIGPhu6dhIHNpbmggdmnDqm4sIGNow7puZyB0YSDEkcOjIHRo4bqjbyBsdeG6rW4gduG7gSBt4buZdCBsb+G6oXQgY8OhYyB54bq/dSB04buRIOG6o25oIGjGsOG7n25nIMSR4bq/biB2aeG7h2MgdMOsbSBraeG6v20gdmnhu4djIGzDoG0gY+G7p2Egc2luaCB2acOqbiBt4bubaSByYSB0csaw4budbmcuIFThu6sgdmnhu4djIHhlbSB4w6l0IHh1IGjGsOG7m25nIHRo4buLIHRyxrDhu51uZyBsYW8gxJHhu5luZyDEkeG6v24gcGjDom4gdMOtY2ggduG7gSB0w6JtIGzDvSB2w6Aga+G7uSBuxINuZyBj4bunYSBzaW5oIHZpw6puLCBjaMO6bmcgdGEgY8OzIGPDoWkgbmjDrG4gdOG7lW5nIHF1YW4gduG7gSBjxqEgaOG7mWkgdsOgIHRow6FjaCB0aOG7qWMgbcOgIHNpbmggdmnDqm4gxJHhu5FpIG3hurd0IGtoaSBixrDhu5tjIHbDoG8gdGjhu4sgdHLGsOG7nW5nIGxhbyDEkeG7mW5nLg0KDQpDxqEgaOG7mWkgbmdo4buBIG5naGnhu4dwIGPhu6dhIHNpbmggdmnDqm4ga2hpIHJhIHRyxrDhu51uZyBwaOG7pSB0aHXhu5ljIHbDoG8gc+G7sSBjaHXhuqluIGLhu4sga+G7uSBuxINuZyB2w6Aga2nhur9uIHRo4bupYyBj4bunYSBo4buNLCBjw7luZyB24bubaSBz4buxIGjhu5cgdHLhu6MgdOG7qyBwaMOtYSBkb2FuaCBuZ2hp4buHcCB2w6AgdHLGsOG7nW5nIMSR4bqhaSBo4buNYy4gxJBp4buBdSBuw6B5IMSR4bq3dCByYSBt4buZdCB0aMOhY2ggdGjhu6ljIHbDoCBjxaluZyBsw6AgY8ahIGjhu5lpIGNobyBzaW5oIHZpw6puIMSR4buDIHBow6F0IHRyaeG7g24gdsOgIMSR4bqhdCDEkcaw4bujYyB0aMOgbmggY8O0bmcgdHJvbmcgc+G7sSBuZ2hp4buHcCBj4bunYSBtw6xuaC4NCg0KVmnhu4djIGjhu6NwIHTDoWMgY2jhurd0IGNo4bq9IGdp4buvYSB0csaw4budbmcgxJHhuqFpIGjhu41jLCBkb2FuaCBuZ2hp4buHcCB2w6AgY2jDrW5oIHBo4bunIGzDoCBjaMOsYSBraMOzYSDEkeG7gyB04bqhbyByYSBt4buZdCBtw7RpIHRyxrDhu51uZyBsYW8gxJHhu5luZyBwaMOhdCB0cmnhu4NuIHbDoCB0aMO6YyDEkeG6qXkgc+G7sSB0aMOgbmggY8O0bmcgY+G7p2Egc2luaCB2acOqbi4gQuG6sW5nIGPDoWNoIG7DoHksIGNow7puZyB0YSBjw7MgdGjhu4MgxJHhuqNtIGLhuqNvIHLhurFuZyBzaW5oIHZpw6puIHPhur0gY8OzIGPGoSBo4buZaSB04buRdCBuaOG6pXQgxJHhu4Mga2hhaSBwaMOhIHRp4buBbSBuxINuZyBj4bunYSBtw6xuaCB2w6AgxJHhuqF0IMSRxrDhu6NjIHRow6BuaCBjw7RuZyB0cm9uZyBz4buxIG5naGnhu4dwIGPhu6dhIG3DrG5oLg0KDQojIENoxrDGoW5nIDY6IFTDoGkgbGnhu4d1IHRoYW0ga2jhuqNvLg0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KLSAgIA0KDQogICAgKDEpIDxodHRwczovL3d3dy5nc28uZ292LnZuL2R1LWxpZXUtdmEtc28tbGlldS10aG9uZy1rZS8yMDIyLzAxL3Rob25nLWNhby1iYW8tY2hpLXRpbmgtaGluaC1sYW8tZG9uZy12aWVjLWxhbS1xdXktaXYtbmFtLTIwMjEtdmEtY2hpLXNvLXBoYXQtdHJpZW4tY29uLW5ndW9pLXZpZXQtbmFtLTIwMTYtMjAyMC8+DQoNCi0gICANCg0KICAgICgyKSA8aHR0cHM6Ly93d3cuZ3NvLmdvdi52bi9kdS1saWV1LXZhLXNvLWxpZXUtdGhvbmcta2UvMjAyMy8wMS90aG9uZy1jYW8tYmFvLWNoaS10aW5oLWhpbmgtbGFvLWRvbmctdmllYy1sYW0tcXV5LWl2LXZhLW5hbS0yMDIyLz4NCg0KLSAgIA0KDQogICAgKDMpIDxodHRwczovL3d3dy5nc28uZ292LnZuL2R1LWxpZXUtdmEtc28tbGlldS10aG9uZy1rZS8yMDIzLzEyL3Rob25nLWNhby1iYW8tY2hpLXZlLXRpbmgtaGluaC1kYW4tc28tbGFvLWRvbmctdmllYy1sYW0tcXV5LWl2LXZhLW5hbS0yMDIzLz4NCg0KLSAgIA0KDQogICAgKDQpIDxodHRwczovL3d3dy5nc28uZ292LnZuL2R1LWxpZXUtdmEtc28tbGlldS10aG9uZy1rZS8yMDI0LzAxL3RpbmgtaGluaC10aGktdHJ1b25nLWxhby1kb25nLXZpZXQtbmFtLW5hbS0yMDIzLz4uDQoNCi0gICANCg0KICAgICg1KSA8aHR0cHM6Ly93d3cuZ3NvLmdvdi52bi93cC1jb250ZW50L3VwbG9hZHMvMjAyNC8wMS9TYWNoLXRyYW5nLURvYW5oLU5naGllcC0yMDIzLnBkZj4uDQo=