1 Thu thập dữ liệu từ WORLD BANK

1.1 Giải thích dữ liệu:

ind <- WDIsearch('Trade')
tmp <- WDI(indicator = 'NE.TRD.GNFS.ZS', country = c('VNM'))
d <- tmp %>% select(year,NE.TRD.GNFS.ZS)
names(d) <- c('year','Trade')
d <- head(d,25)
d

Giải thích Chunk:

  • ind <- WDIsearch(‘Trade’): dùng để tìm kiếm chỉ số có liên quan đến thương mại từ nguồn World bank

  • tmp <- WDI(indicator = ‘NE.TRD.GNFS.ZS’, country = c(‘VNM’)): tải dữ liệu có chỉ số là NE.TRD.GNFS.ZS tại quốc gia có mã là VNM

  • d <- tmp %>% select(year,NE.TRD.GNFS.ZS): chọn ra hai cột yearNE.TRD.GNFS.ZS để gán vào d

  • names(d) <- c(‘year’,‘Trade’): đổi tên cột lần lượt là yearTrade

  • d <- head(d,25): chỉ giữ lại 25 dòng đầu tiên của dữ liệu

Giải thích bộ dữ liệu:

  • Đây là indicator có mã là NE.TRD.GNFS.ZS trong World Bank.

  • Bộ dữ liệu thể hiện Trade (% of GDP) là thương mại trong GDP. Thương mại là tổng xuất khẩu và nhập khẩu hàng hóa và dịch vụ được đo bằng tỷ trọng trong tổng sản phẩm quốc nội.

  • Bộ dữ liệu đang phân tích là về thương mại của Việt Nam qua các năm từ 1998 đến 2022.

1.2 Tổng quan dữ liệu:

ggplot(data = d, aes(x = year, y = Trade)) +
  geom_line() +
  geom_smooth(method = "lm", se = FALSE) +   
  labs(title = "Biểu đồ Thương mại của Quốc Gia",
       x = "Năm",
       y = "Thương mại (% GDP)")

Biểu đồ được vẽ như sau:

  • ggplot(data = d, aes(x = year, y = Trade)): Đây là bắt đầu của mã để tạo biểu đồ sử dụng ggplot2. data = d chỉ định dữ liệu sẽ được sử dụng là dataframe d, và aes(x = year, y = Trade) chỉ định ánh xạ với trục x là năm và trục y là tỷ lệ thương mại.

  • geom_line(): Thêm một layer đường (line) vào biểu đồ, biểu thị dữ liệu theo đường.

  • geom_smooth(method = “lm”, se = FALSE): Thêm một layer đường xu hướng (trend line) vào biểu đồ, được tính toán bằng phương pháp hồi quy tuyến tính. Tham số se = FALSE được sử dụng để ẩn khoảng tin cậy xung quanh đường xu hướng.

  • labs(title = “Biểu đồ Thương mại của Quốc Gia”, x = “Năm”, y = “Thương mại (% GDP)”): Thêm nhãn cho tiêu đề và trục của biểu đồ.

Đây là biểu đồ về thương mại của Việt Nam từ năm 1998 đến năm 2022

  • Các dữ liệu về thương mại sẽ được thể hiện qua đường màu đen.

  • Trong đó đường màu xanh dùng để thể hiện xu thế của biểu đồ.

  • Đường xu thế này giúp phác họa xu hướng chung của dữ liệu và cho thấy liệu có sự tăng hoặc giảm dần qua các năm.

  • Từ đó ta nhận thấy chung, từ năm 1998 đến năm 2022, thương mại Việt Nam có xu hướng tăng lên.

1.3 Thương mại Việt Nam qua các giai đoạn:

1.3.1 Giai đoạn từ 1998 đến 2007:

d1 <- (tail(d,10))
d1

Dùng tail(d,10) để lấy 10 dữ liệu cuối của d sau đó tạo một dataframe mới tên là d1 để phân tích thương mại từ năm 1998 đến 2007.

ggplot(data = d1, aes(x = year, y = Trade)) +
  geom_line() +
  geom_smooth(method = "lm", se = FALSE) +   
  labs(title = "Biểu đồ Thương mại của Quốc Gia",
       x = "Năm",
       y = "Thương mại (% GDP)")

Giai Đoạn Tăng Trưởng và Phát Triển:

  • Từ năm 1998 đến năm 2007, tỷ lệ thương mại (% của GDP) của quốc gia này đã tăng đáng kể từ khoảng 97.00% lên đến hơn 154.00%, cho thấy một giai đoạn tăng trưởng mạnh mẽ trong hoạt động thương mại.

  • Điều này có thể phản ánh sự mở cửa thị trường và sự phát triển kinh tế nhanh chóng trong giai đoạn này.

1.3.2 Giai đoạn từ 2008 đến 2010:

d2 <- d[(13:15),]
d2

d2 <- d[(13:15),] dùng để lấy ra các quan sát từ hàng 13 đến 15 từ dataframe d và tạo dataframe mới là d2.

ggplot(data = d2, aes(x = year, y = Trade)) +
  geom_line() +
  geom_smooth(method = "lm", se = FALSE) +   
  labs(title = "Biểu đồ Thương mại của Quốc Gia",
       x = "Năm",
       y = "Thương mại (% GDP)")

Giai Đoạn Khủng Hoảng Tài Chính và Biến Động Kinh Tế:

  • Ta có thể thấy đường biểu đồ thể hiện thương mại của gia đoạn này gần như trùng với đường xu thế, điều này có nghĩa là vào gia đoạn này thương mại Việt Nam đang giảm.

  • Từ năm 2008, sau đợt khủng hoảng tài chính toàn cầu, tỷ lệ thương mại đã giảm đột ngột xuống dưới mức 135.00% vào năm 2009, trước khi ổn định lại trong những năm tiếp theo.

  • Sự biến động này có thể phản ánh ảnh hưởng của khủng hoảng tài chính và các biến động kinh tế toàn cầu.

1.3.3 Giai đoạn từ 2010 đến 2019:

d3 <- d[4:13,]
d3
ggplot(data = d3, aes(x = year, y = Trade)) +
  geom_line() +
  geom_smooth(method = "lm", se = FALSE) +   
  labs(title = "Biểu đồ Thương mại của Quốc Gia",
       x = "Năm",
       y = "Thương mại (% GDP)")

Giai Đoạn Ổn Định và Hồi Phục:

  • Từ năm 2010 đến năm 2019, tỷ lệ thương mại đã trải qua một giai đoạn ổn định và hồi phục, với sự dao động từ khoảng 113.00% đến 164.00% của GDP.

  • Sự ổn định này có thể phản ánh sự hồi phục của kinh tế và hoạt động thương mại sau khủng hoảng tài chính.

1.3.4 Giai Đoạn từ 2020 đến 2022:

d4 <- head(d,3)
d4

Giai Đoạn Tăng Trưởng Đột Ngột:

  • Từ năm 2020 đến 2022, chúng ta thấy một sự tăng trưởng đột ngột trong tỷ lệ thương mại, có thể phản ánh sự hồi phục sau đại dịch COVID-19 hoặc các biến động kinh tế khác.

  • Điều này có thể là một dấu hiệu tích cực cho sự phục hồi kinh tế của quốc gia.

1.4 Yếu tố ảnh hưởng đến thương mại:

  • Tăng trưởng GDP: Tăng trưởng GDP của một quốc gia có thể tạo ra nhu cầu tiêu dùng trong nước và tăng cơ hội xuất khẩu cho các doanh nghiệp.

  • Tỉ lệ thâm hụt thương mại: Tỉ lệ thâm hụt thương mại biểu thị sự chênh lệch giữa giá trị của hàng hóa và dịch vụ mà một quốc gia nhập khẩu và xuất khẩu. Một tỉ lệ âm có thể chỉ ra rằng quốc gia đó xuất khẩu nhiều hơn so với nhập khẩu.

  • Tỉ lệ xuất khẩu và nhập khẩu (% GDP): Tỷ lệ này biểu thị giá trị của hàng hóa và dịch vụ xuất khẩu và nhập khẩu so với GDP của quốc gia. Nó cung cấp cái nhìn tổng quan về sự phụ thuộc vào thương mại của một quốc gia.

  • Thặng dư thương mại: Thặng dư thương mại là sự chênh lệch giữa giá trị của hàng hóa và dịch vụ mà một quốc gia xuất khẩu và nhập khẩu. Một thặng dư thương mại dương có thể chỉ ra rằng quốc gia đó xuất khẩu nhiều hơn so với nhập khẩu.

  • Chỉ số Cạnh tranh Toàn cầu (Global Competitiveness Index): Chỉ số này đánh giá khả năng cạnh tranh của một quốc gia trong kinh doanh quốc tế, bao gồm các yếu tố như hạ tầng, y tế, giáo dục và môi trường kinh doanh.

  • Chỉ số Năng lực Thương mại Toàn cầu (Global Trade Capacity Index): Chỉ số này đánh giá khả năng thương mại của một quốc gia, bao gồm cơ sở hạ tầng, quy mô thị trường, và hiệu quả biên giới.

  • Chỉ số Năng lực Logistical Toàn cầu (Global Logistics Capabilities Index): Đánh giá khả năng quốc gia trong việc quản lý và vận chuyển hàng hóa và dịch vụ, bao gồm hạ tầng vận tải và khả năng thực hiện các quy trình hải quan.

  • Chỉ số Thuận lợi Kinh doanh (Ease of Doing Business Index): Chỉ số này đánh giá môi trường kinh doanh của một quốc gia, bao gồm thủ tục thành lập doanh nghiệp, thủ tục thuế và sự bảo vệ của nhà đầu tư.

2 Thu thập dữ liệu từ IMF:

tmp1 <- load_datasets('FDI') 
FDI <- tmp1$get_series(freq = 'A', ref_area = c('VN', 'TL'), indicator = 'FD_FD_IX')
names(FDI) <- c('ThoiGian','FDI_TL','FDI_VN')
FDI <- (tail(FDI, 20))

Giải thích chunk:

  • tmp1 <- load_datasets(‘FDI’): Tải dữ liệu về Foreign Direct Investment (FDI) từ nguồn dữ liệu có tên là ‘FDI’.

  • FDI <- tmp1$get_series(freq = ‘A’, ref_area = c(‘VN’, ‘TL’), indicator = ‘FD_FD_IX’): Hàm get_series() với tham số freq = ‘A’ đảm bảo rằng chỉ các dữ liệu hàng năm được chọn, và ref_area = c(‘VN’, ‘TL’) chỉ định rằng chỉ dữ liệu cho Việt Nam và Thái Lan được lấy.

  • names(FDI) <- c(‘ThoiGian’,‘FDI’): Đổi tên cột từ tên mặc định sang ‘ThoiGian’ và ‘FDI’ để phản ánh rõ ràng các nội dung của cột.

  • FDI <- (tail(FDI, 20)): dùng để chọn ra 20 quan sát cuối cùng.

2.1 Giải thích bộ dữ liệu:

FDI

Bộ dữ liệu về FDI của Việt Nam và Thái Lan từ những năm 2002 đến 2021.

  • FDI là viết tắt của “Foreign Direct Investment”, trong tiếng Việt dịch là “Đầu tư trực tiếp nước ngoài”.

  • FDI đề cập đến việc một tổ chức hoặc cá nhân từ một quốc gia đầu tư tiền, tài sản hoặc nguồn lực khác vào một quốc gia khác.

  • Điều quan trọng là FDI cho phép nhà đầu tư nước ngoài tham gia vào quản lý và hoạt động của doanh nghiệp hoặc dự án tại quốc gia đích mà họ đầu tư.

2.2 FDI Việt Nam theo thời gian:

ggplot(data = FDI, aes(x = ThoiGian, y = FDI_VN)) +
  geom_bar(stat = "identity", fill = "skyblue") +  # Sử dụng stat = "identity" để biểu diễn giá trị FDI
  labs(title = "Dòng FDI qua các năm",
       x = "Năm",
       y = "FDI")

Biểu đồ về FDI của Việt Nam cho ta thấy:

  • Giai đoạn 2002-2004 dòng vốn bị giảm liên tục.

  • Giai đoạn 2005-2010 đà tăng trưởng nhanh chóng. Trong giai đoạn này, Việt Nam đã chứng kiến một tăng trưởng đáng kể trong dòng FDI. Các chính sách hỗ trợ đầu tư nước ngoài, cải thiện môi trường kinh doanh và mở cửa thị trường đã thu hút một lượng lớn vốn đầu tư từ các nhà đầu tư quốc tế.

  • Giai đoạn 2011-2015 biến động và ổn định: Trong giai đoạn này, dòng FDI của Việt Nam có những biến động nhất định do ảnh hưởng của tình hình kinh tế thế giới và chính sách nội địa. Tuy nhiên, vẫn có sự ổn định và tổng thể, dòng FDI vẫn duy trì ở mức cao.

  • Giai đoạn 2016 - 2018 tăng trưởng mạnh mẽ: Trong giai đoạn này, Việt Nam tiếp tục thu hút một lượng lớn vốn đầu tư từ các nhà đầu tư quốc tế. Các chính sách cải cách kinh doanh, hạ tầng và lao động phát triển đã tạo ra một môi trường đầu tư hấp dẫn.

  • Giai đoẠN 2018 - 2021: Ổn định trong bối cảnh đại dịch: Trong bối cảnh đại dịch COVID-19, dòng FDI của Việt Nam vẫn duy trì ở mức ổn định, mặc dù có những thách thức mới từ sự biến động của thị trường thế giới và các yếu tố kinh tế xã hội nội địa.

Nhìn chung: dòng FDI của Việt Nam đã trải qua một hành trình đáng kể từ năm 2002 đến 2022, với những biến động và thách thức, nhưng vẫn giữ được sự ổn định và tăng trưởng. Việt Nam tiếp tục là một điểm đến hấp dẫn cho các nhà đầu tư quốc tế và có triển vọng tốt trong tương lai.

2.3 FDI Thái Lan qua thời gian:

ggplot(data = FDI, aes(x = ThoiGian, y = FDI_TL)) +
  geom_bar(stat = "identity", fill = "skyblue") +  # Sử dụng stat = "identity" để biểu diễn giá trị FDI
  labs(title = "Dòng FDI qua các năm",
       x = "Năm",
       y = "FDI")

Đây là biểu đồ về FDI của Thái Lan từ 2002 đến 2021:

  • Năm 2002 - 2006: Tăng trưởng ổn định: Trong giai đoạn này, Thái Lan đã thu hút một lượng lớn FDI từ các nhà đầu tư quốc tế, nhất là trong các lĩnh vực như công nghệ thông tin, dịch vụ tài chính và sản xuất. Chính sách thu hút đầu tư của Thái Lan đã thuận lợi cho các nhà đầu tư nước ngoài.

  • Năm 2007 - 2008: Tăng trưởng đột ngột: Trong giai đoạn này, Thái Lan đã gặp phải cuộc khủng hoảng tài chính và suy thoái kinh tế toàn cầu, ảnh hưởng đến dòng FDI. Sự bất ổn chính trị và kinh tế đã làm giảm sự tự tin của các nhà đầu tư quốc tế và gây ra sự gián đoạn trong việc đầu tư vào Thái Lan.

  • Năm 2009 - 2013: Phục hồi và ổn định: Thái Lan đã bắt đầu phục hồi từ khủng hoảng tài chính, và dòng FDI đã trở lại ổn định. Chính phủ Thái Lan đã thực hiện các biện pháp khích lệ kinh tế và cải thiện môi trường đầu tư để thu hút lại sự quan tâm của các nhà đầu tư quốc tế.

  • Năm 2014 - 2021: Biến động và thách thức: Trong giai đoạn này, Thái Lan tiếp tục đối mặt với các thách thức từ môi trường kinh doanh và chính trị không ổn định. Sự bất ổn chính trị và biến động chính sách đã tạo ra sự không chắc chắn cho các nhà đầu tư quốc tế và làm giảm sự hấp dẫn của Thái Lan đối với FDI.

Nhận xét chung: dòng FDI của Thái Lan từ năm 2002 đến 2021 đã trải qua nhiều biến động và thách thức, nhưng vẫn giữ được sự ổn định và có tiềm năng phát triển trong tương lai nếu các vấn đề chính trị và kinh tế được giải quyết.

2.4 Các yếu tố ảnh hưởng đến FDI:

Có nhiều yếu tố ảnh hưởng đến dòng FDI (Foreign Direct Investment - Đầu tư trực tiếp nước ngoài) của một quốc gia. Dưới đây là một số yếu tố quan trọng:

  • Chính sách đầu tư và hỗ trợ: Chính sách đầu tư của một quốc gia, bao gồm các biện pháp khuyến khích, bảo vệ và hỗ trợ đầu tư, đóng vai trò quan trọng trong việc thu hút FDI. Một môi trường đầu tư ổn định, dễ dàng tiếp cận và hỗ trợ cho các nhà đầu tư nước ngoài sẽ làm tăng sự hấp dẫn của một quốc gia.

  • Tài chính và thị trường tài chính: Sự ổn định tài chính và các cơ sở hạ tầng tài chính, cùng với tính thanh khoản và tính minh bạch của thị trường tài chính, cũng là yếu tố quan trọng cho sự thu hút FDI.

  • Kích thước thị trường và tiềm năng tăng trưởng: Kích thước của thị trường và tiềm năng tăng trưởng kinh tế của một quốc gia là một yếu tố quan trọng trong việc thu hút FDI. Các nhà đầu tư thường tìm kiếm thị trường lớn và có tiềm năng phát triển để đầu tư.

  • Lao động và nhân lực: Sự sẵn có và chất lượng của lao động cũng là một yếu tố quan trọng. Các nhà đầu tư thường tìm kiếm các quốc gia có nguồn nhân lực giá rẻ và có kỹ năng phù hợp với yêu cầu sản xuất.

  • Kỹ thuật và Công nghệ: Sự phát triển của kỹ thuật và công nghệ là một yếu tố quyết định trong việc thu hút FDI, vì các công ty thường tìm kiếm các quốc gia có cơ sở hạ tầng kỹ thuật và công nghệ tiên tiến.

  • Chính sách thương mại và thuế: Chính sách thương mại và thuế ảnh hưởng đến chi phí sản xuất và lợi nhuận của các nhà đầu tư nước ngoài, và do đó cũng ảnh hưởng đến quyết định đầu tư của họ.

LS0tDQp0aXRsZTogIk5oaeG7h20gduG7pSA2Ig0KYXV0aG9yOiAiTmd1eeG7hW4gVGjDunkgVnkiDQpkYXRlOiAiMjAyNC0wMy0xNCINCm91dHB1dDoNCiAgaHRtbF9kb2N1bWVudDoNCiAgICB0b2M6IHRydWUNCiAgICB0b2NfZmxvYXQ6IHRydWUNCiAgICB0aGVtZTogZmxhdGx5DQogICAgbnVtYmVyX3NlY3Rpb25zOiB0cnVlDQogICAgY29kZV9kb3dubG9hZDogdHJ1ZQ0KICAgIGNvZGVfZm9sZGluZzogc2hvdw0KICAgIGRmX3ByaW50OiBwYWdlZA0KICBlZGl0b3Jfb3B0aW9uczoNCiAgICBjaHVua19vdXRwdXRfdHlwZTogY29uc29sZQ0KICB3b3JkX2RvY3VtZW50Og0KICAgIHRvYzogdHJ1ZQ0KICBwZGZfZG9jdW1lbnQ6DQogICAgdG9jOiB0cnVlDQotLS0NCg0KYGBge3Igc2V0dXAsIGluY2x1ZGU9RkFMU0V9DQprbml0cjo6b3B0c19jaHVuayRzZXQoZWNobyA9IFRSVUUpDQpgYGANCg0KYGBge3IgZXZhbD1GQUxTRSwgaW5jbHVkZT1GQUxTRX0NCmxpYnJhcnkoZ2dhbmltYXRlKQ0KbGlicmFyeShtYWdpY2spDQpgYGANCg0KIyBUaHUgdGjhuq1wIGThu68gbGnhu4d1IHThu6sgV09STEQgQkFOSw0KDQojIyBHaeG6o2kgdGjDrWNoIGThu68gbGnhu4d1Og0KDQpgYGB7ciBpbmNsdWRlPUZBTFNFfQ0KbGlicmFyeShXREkpDQpsaWJyYXJ5KHRpZHl2ZXJzZSkNCmBgYA0KDQpgYGB7cn0NCmluZCA8LSBXRElzZWFyY2goJ1RyYWRlJykNCnRtcCA8LSBXREkoaW5kaWNhdG9yID0gJ05FLlRSRC5HTkZTLlpTJywgY291bnRyeSA9IGMoJ1ZOTScpKQ0KZCA8LSB0bXAgJT4lIHNlbGVjdCh5ZWFyLE5FLlRSRC5HTkZTLlpTKQ0KbmFtZXMoZCkgPC0gYygneWVhcicsJ1RyYWRlJykNCmQgPC0gaGVhZChkLDI1KQ0KZA0KYGBgDQoNCkdp4bqjaSB0aMOtY2ggQ2h1bms6DQoNCi0gKippbmQgPC0gV0RJc2VhcmNoKCdUcmFkZScpKio6IGTDuW5nIMSR4buDIHTDrG0ga2nhur9tIGNo4buJIHPhu5EgY8OzIGxpw6puIHF1YW4gxJHhur9uIHRoxrDGoW5nIG3huqFpIHThu6sgbmd14buTbiAqV29ybGQgYmFuayoNCg0KLSAqKnRtcCA8LSBXREkoaW5kaWNhdG9yID0gJ05FLlRSRC5HTkZTLlpTJywgY291bnRyeSA9IGMoJ1ZOTScpKSoqOiB04bqjaSBk4buvIGxp4buHdSBjw7MgY2jhu4kgc+G7kSBsw6AgKk5FLlRSRC5HTkZTLlpTKiB04bqhaSBxdeG7kWMgZ2lhIGPDsyBtw6MgbMOgICpWTk0qDQoNCi0gKipkIDwtIHRtcCAlPiUgc2VsZWN0KHllYXIsTkUuVFJELkdORlMuWlMpKio6IGNo4buNbiByYSBoYWkgY+G7mXQgKnllYXIqIHbDoCAqTkUuVFJELkdORlMuWlMqIMSR4buDIGfDoW4gdsOgbyBkDQoNCi0gKipuYW1lcyhkKSA8LSBjKCd5ZWFyJywnVHJhZGUnKSoqOiDEkeG7lWkgdMOqbiBj4buZdCBs4bqnbiBsxrDhu6N0IGzDoCAqeWVhciogdsOgICpUcmFkZSoNCg0KLSAqKmQgPC0gaGVhZChkLDI1KSoqOiBjaOG7iSBnaeG7ryBs4bqhaSAyNSBkw7JuZyDEkeG6p3UgdGnDqm4gY+G7p2EgZOG7ryBsaeG7h3UNCg0KR2nhuqNpIHRow61jaCBi4buZIGThu68gbGnhu4d1Og0KDQotIMSQw6J5IGzDoCBpbmRpY2F0b3IgY8OzIG3DoyBsw6AgKipORS5UUkQuR05GUy5aUyoqIHRyb25nICpXb3JsZCBCYW5rKi4NCg0KLSBC4buZIGThu68gbGnhu4d1IHRo4buDIGhp4buHbiAqVHJhZGUgKCUgb2YgR0RQKSogbMOgIHRoxrDGoW5nIG3huqFpIHRyb25nIEdEUC4gVGjGsMahbmcgbeG6oWkgbMOgIHThu5VuZyB4deG6pXQga2jhuql1IHbDoCBuaOG6rXAga2jhuql1IGjDoG5nIGjDs2EgdsOgIGThu4tjaCB24bulIMSRxrDhu6NjIMSRbyBi4bqxbmcgdOG7tyB0cuG7jW5nIHRyb25nIHThu5VuZyBz4bqjbiBwaOG6qW0gcXXhu5FjIG7hu5lpLg0KDQotIELhu5kgZOG7ryBsaeG7h3UgxJFhbmcgcGjDom4gdMOtY2ggbMOgIHbhu4EgdGjGsMahbmcgbeG6oWkgY+G7p2EgVmnhu4d0IE5hbSBxdWEgY8OhYyBuxINtIHThu6sgMTk5OCDEkeG6v24gMjAyMi4NCg0KIyMgVOG7lW5nIHF1YW4gZOG7ryBsaeG7h3U6DQoNCmBgYHtyLCBtZXNzYWdlPUZBTFNFfQ0KZ2dwbG90KGRhdGEgPSBkLCBhZXMoeCA9IHllYXIsIHkgPSBUcmFkZSkpICsNCiAgZ2VvbV9saW5lKCkgKw0KICBnZW9tX3Ntb290aChtZXRob2QgPSAibG0iLCBzZSA9IEZBTFNFKSArICAgDQogIGxhYnModGl0bGUgPSAiQmnhu4N1IMSR4buTIFRoxrDGoW5nIG3huqFpIGPhu6dhIFF14buRYyBHaWEiLA0KICAgICAgIHggPSAiTsSDbSIsDQogICAgICAgeSA9ICJUaMawxqFuZyBt4bqhaSAoJSBHRFApIikNCmBgYA0KDQpCaeG7g3UgxJHhu5MgxJHGsOG7o2MgduG6vSBuaMawIHNhdToNCg0KLSAqKmdncGxvdChkYXRhID0gZCwgYWVzKHggPSB5ZWFyLCB5ID0gVHJhZGUpKSoqOiDEkMOieSBsw6AgYuG6r3QgxJHhuqd1IGPhu6dhIG3DoyDEkeG7gyB04bqhbyBiaeG7g3UgxJHhu5Mgc+G7rSBk4bulbmcgZ2dwbG90Mi4gKipkYXRhID0gZCoqIGNo4buJIMSR4buLbmggZOG7ryBsaeG7h3Ugc+G6vSDEkcaw4bujYyBz4butIGThu6VuZyBsw6AgZGF0YWZyYW1lIGQsIHbDoCAqKmFlcyh4ID0geWVhciwgeSA9IFRyYWRlKSoqIGNo4buJIMSR4buLbmggw6FuaCB44bqhIHbhu5tpIHRy4bulYyB4IGzDoCBuxINtIHbDoCB0cuG7pWMgeSBsw6AgdOG7tyBs4buHIHRoxrDGoW5nIG3huqFpLg0KDQotICoqZ2VvbV9saW5lKCkqKjogVGjDqm0gbeG7mXQgbGF5ZXIgxJHGsOG7nW5nIChsaW5lKSB2w6BvIGJp4buDdSDEkeG7kywgYmnhu4N1IHRo4buLIGThu68gbGnhu4d1IHRoZW8gxJHGsOG7nW5nLg0KDQotICoqZ2VvbV9zbW9vdGgobWV0aG9kID0gImxtIiwgc2UgPSBGQUxTRSkqKjogVGjDqm0gbeG7mXQgbGF5ZXIgxJHGsOG7nW5nIHh1IGjGsOG7m25nICh0cmVuZCBsaW5lKSB2w6BvIGJp4buDdSDEkeG7kywgxJHGsOG7o2MgdMOtbmggdG/DoW4gYuG6sW5nIHBoxrDGoW5nIHBow6FwIGjhu5NpIHF1eSB0dXnhur9uIHTDrW5oLiBUaGFtIHPhu5Egc2UgPSBGQUxTRSDEkcaw4bujYyBz4butIGThu6VuZyDEkeG7gyDhuqluIGtob+G6o25nIHRpbiBj4bqteSB4dW5nIHF1YW5oIMSRxrDhu51uZyB4dSBoxrDhu5tuZy4NCg0KLSAqKmxhYnModGl0bGUgPSAiQmnhu4N1IMSR4buTIFRoxrDGoW5nIG3huqFpIGPhu6dhIFF14buRYyBHaWEiLCB4ID0gIk7Eg20iLCB5ID0gIlRoxrDGoW5nIG3huqFpICglIEdEUCkiKSoqOiAgVGjDqm0gbmjDo24gY2hvIHRpw6p1IMSR4buBIHbDoCB0cuG7pWMgY+G7p2EgYmnhu4N1IMSR4buTLg0KDQrEkMOieSBsw6AgYmnhu4N1IMSR4buTIHbhu4EgdGjGsMahbmcgbeG6oWkgY+G7p2EgVmnhu4d0IE5hbSB04burIG7Eg20gMTk5OCDEkeG6v24gbsSDbSAyMDIyDQoNCi0gQ8OhYyBk4buvIGxp4buHdSB24buBIHRoxrDGoW5nIG3huqFpIHPhur0gxJHGsOG7o2MgdGjhu4MgaGnhu4duIHF1YSDEkcaw4budbmcgbcOgdSDEkWVuLg0KDQotIFRyb25nIMSRw7MgxJHGsOG7nW5nIG3DoHUgeGFuaCBkw7luZyDEkeG7gyB0aOG7gyBoaeG7h24geHUgdGjhur8gY+G7p2EgYmnhu4N1IMSR4buTLg0KDQotIMSQxrDhu51uZyB4dSB0aOG6vyBuw6B5IGdpw7pwIHBow6FjIGjhu41hIHh1IGjGsOG7m25nIGNodW5nIGPhu6dhIGThu68gbGnhu4d1IHbDoCBjaG8gdGjhuqV5IGxp4buHdSBjw7Mgc+G7sSB0xINuZyBob+G6t2MgZ2nhuqNtIGThuqduIHF1YSBjw6FjIG7Eg20uDQoNCi0gVOG7qyDEkcOzIHRhIG5o4bqtbiB0aOG6pXkgY2h1bmcsIHThu6sgbsSDbSAxOTk4IMSR4bq/biBuxINtIDIwMjIsIHRoxrDGoW5nIG3huqFpIFZp4buHdCBOYW0gY8OzIHh1IGjGsOG7m25nIHTEg25nIGzDqm4uDQoNCiMjIFRoxrDGoW5nIG3huqFpIFZp4buHdCBOYW0gcXVhIGPDoWMgZ2lhaSDEkW/huqFuOg0KDQojIyMgR2lhaSDEkW/huqFuIHThu6sgMTk5OCDEkeG6v24gMjAwNzoNCg0KYGBge3J9DQpkMSA8LSAodGFpbChkLDEwKSkNCmQxDQpgYGANCkTDuW5nICoqdGFpbChkLDEwKSoqIMSR4buDIGzhuqV5IDEwIGThu68gbGnhu4d1IGN14buRaSBj4bunYSBkIHNhdSDEkcOzIHThuqFvIG3hu5l0IGRhdGFmcmFtZSBt4bubaSB0w6puIGzDoCBkMSDEkeG7gyBwaMOibiB0w61jaCB0aMawxqFuZyBt4bqhaSB04burIG7Eg20gMTk5OCDEkeG6v24gMjAwNy4NCg0KYGBge3IsIG1lc3NhZ2U9RkFMU0V9DQpnZ3Bsb3QoZGF0YSA9IGQxLCBhZXMoeCA9IHllYXIsIHkgPSBUcmFkZSkpICsNCiAgZ2VvbV9saW5lKCkgKw0KICBnZW9tX3Ntb290aChtZXRob2QgPSAibG0iLCBzZSA9IEZBTFNFKSArICAgDQogIGxhYnModGl0bGUgPSAiQmnhu4N1IMSR4buTIFRoxrDGoW5nIG3huqFpIGPhu6dhIFF14buRYyBHaWEiLA0KICAgICAgIHggPSAiTsSDbSIsDQogICAgICAgeSA9ICJUaMawxqFuZyBt4bqhaSAoJSBHRFApIikNCmBgYA0KDQoqKkdpYWkgxJBv4bqhbiBUxINuZyBUcsaw4bufbmcgdsOgIFBow6F0IFRyaeG7g246KioNCg0KLSBU4burIG7Eg20gMTk5OCDEkeG6v24gbsSDbSAyMDA3LCB04bu3IGzhu4cgdGjGsMahbmcgbeG6oWkgKCUgY+G7p2EgR0RQKSBj4bunYSBxdeG7kWMgZ2lhIG7DoHkgxJHDoyB0xINuZyDEkcOhbmcga+G7gyB04burIGtob+G6o25nIDk3LjAwJSBsw6puIMSR4bq/biBoxqFuIDE1NC4wMCUsIGNobyB0aOG6pXkgbeG7mXQgZ2lhaSDEkW/huqFuIHTEg25nIHRyxrDhu59uZyBt4bqhbmggbeG6vSB0cm9uZyBob+G6oXQgxJHhu5luZyB0aMawxqFuZyBt4bqhaS4gDQoNCi0gxJBp4buBdSBuw6B5IGPDsyB0aOG7gyBwaOG6o24gw6FuaCBz4buxIG3hu58gY+G7rWEgdGjhu4sgdHLGsOG7nW5nIHbDoCBz4buxIHBow6F0IHRyaeG7g24ga2luaCB04bq/IG5oYW5oIGNow7NuZyB0cm9uZyBnaWFpIMSRb+G6oW4gbsOgeS4NCg0KIyMjIEdpYWkgxJFv4bqhbiB04burIDIwMDggxJHhur9uIDIwMTA6DQoNCmBgYHtyfQ0KZDIgPC0gZFsoMTM6MTUpLF0NCmQyDQpgYGANCg0KKipkMiA8LSBkWygxMzoxNSksXSoqIGTDuW5nIMSR4buDIGzhuqV5IHJhIGPDoWMgcXVhbiBzw6F0IHThu6sgaMOgbmcgMTMgxJHhur9uIDE1IHThu6sgZGF0YWZyYW1lIGQgdsOgIHThuqFvIGRhdGFmcmFtZSBt4bubaSBsw6AgZDIuDQoNCmBgYHtyLCBtZXNzYWdlPUZBTFNFfQ0KZ2dwbG90KGRhdGEgPSBkMiwgYWVzKHggPSB5ZWFyLCB5ID0gVHJhZGUpKSArDQogIGdlb21fbGluZSgpICsNCiAgZ2VvbV9zbW9vdGgobWV0aG9kID0gImxtIiwgc2UgPSBGQUxTRSkgKyAgIA0KICBsYWJzKHRpdGxlID0gIkJp4buDdSDEkeG7kyBUaMawxqFuZyBt4bqhaSBj4bunYSBRdeG7kWMgR2lhIiwNCiAgICAgICB4ID0gIk7Eg20iLA0KICAgICAgIHkgPSAiVGjGsMahbmcgbeG6oWkgKCUgR0RQKSIpDQpgYGANCg0KKipHaWFpIMSQb+G6oW4gS2jhu6duZyBIb+G6o25nIFTDoGkgQ2jDrW5oIHbDoCBCaeG6v24gxJDhu5luZyBLaW5oIFThur86KioNCg0KLSBUYSBjw7MgdGjhu4MgdGjhuqV5IMSRxrDhu51uZyBiaeG7g3UgxJHhu5MgdGjhu4MgaGnhu4duIHRoxrDGoW5nIG3huqFpIGPhu6dhIGdpYSDEkW/huqFuIG7DoHkgZ+G6p24gbmjGsCB0csO5bmcgduG7m2kgxJHGsOG7nW5nIHh1IHRo4bq/LCDEkWnhu4F1IG7DoHkgY8OzIG5naMSpYSBsw6AgdsOgbyBnaWEgxJFv4bqhbiBuw6B5IHRoxrDGoW5nIG3huqFpIFZp4buHdCBOYW0gxJFhbmcgZ2nhuqNtLg0KDQotIFThu6sgbsSDbSAyMDA4LCBzYXUgxJHhu6N0IGto4bunbmcgaG/huqNuZyB0w6BpIGNow61uaCB0b8OgbiBj4bqndSwgdOG7tyBs4buHIHRoxrDGoW5nIG3huqFpIMSRw6MgZ2nhuqNtIMSR4buZdCBuZ+G7mXQgeHXhu5FuZyBkxrDhu5tpIG3hu6ljIDEzNS4wMCUgdsOgbyBuxINtIDIwMDksIHRyxrDhu5tjIGtoaSDhu5VuIMSR4buLbmggbOG6oWkgdHJvbmcgbmjhu69uZyBuxINtIHRp4bq/cCB0aGVvLg0KDQotIFPhu7EgYmnhur9uIMSR4buZbmcgbsOgeSBjw7MgdGjhu4MgcGjhuqNuIMOhbmgg4bqjbmggaMaw4bufbmcgY+G7p2Ega2jhu6duZyBob+G6o25nIHTDoGkgY2jDrW5oIHbDoCBjw6FjIGJp4bq/biDEkeG7mW5nIGtpbmggdOG6vyB0b8OgbiBj4bqndS4NCg0KIyMjIEdpYWkgxJFv4bqhbiB04burIDIwMTAgxJHhur9uIDIwMTk6DQoNCmBgYHtyfQ0KZDMgPC0gZFs0OjEzLF0NCmQzDQpgYGANCg0KYGBge3IsIG1lc3NhZ2U9RkFMU0V9DQpnZ3Bsb3QoZGF0YSA9IGQzLCBhZXMoeCA9IHllYXIsIHkgPSBUcmFkZSkpICsNCiAgZ2VvbV9saW5lKCkgKw0KICBnZW9tX3Ntb290aChtZXRob2QgPSAibG0iLCBzZSA9IEZBTFNFKSArICAgDQogIGxhYnModGl0bGUgPSAiQmnhu4N1IMSR4buTIFRoxrDGoW5nIG3huqFpIGPhu6dhIFF14buRYyBHaWEiLA0KICAgICAgIHggPSAiTsSDbSIsDQogICAgICAgeSA9ICJUaMawxqFuZyBt4bqhaSAoJSBHRFApIikNCmBgYA0KDQoqKkdpYWkgxJBv4bqhbiDhu5RuIMSQ4buLbmggdsOgIEjhu5NpIFBo4bulYzoqKg0KDQotIFThu6sgbsSDbSAyMDEwIMSR4bq/biBuxINtIDIwMTksIHThu7cgbOG7hyB0aMawxqFuZyBt4bqhaSDEkcOjIHRy4bqjaSBxdWEgbeG7mXQgZ2lhaSDEkW/huqFuIOG7lW4gxJHhu4tuaCB2w6AgaOG7k2kgcGjhu6VjLCB24bubaSBz4buxIGRhbyDEkeG7mW5nIHThu6sga2hv4bqjbmcgMTEzLjAwJSDEkeG6v24gMTY0LjAwJSBj4bunYSBHRFAuIA0KDQotIFPhu7Eg4buVbiDEkeG7i25oIG7DoHkgY8OzIHRo4buDIHBo4bqjbiDDoW5oIHPhu7EgaOG7k2kgcGjhu6VjIGPhu6dhIGtpbmggdOG6vyB2w6AgaG/huqF0IMSR4buZbmcgdGjGsMahbmcgbeG6oWkgc2F1IGto4bunbmcgaG/huqNuZyB0w6BpIGNow61uaC4NCg0KIyMjIEdpYWkgxJBv4bqhbiB04burIDIwMjAgxJHhur9uIDIwMjI6DQoNCmBgYHtyfQ0KZDQgPC0gaGVhZChkLDMpDQpkNA0KYGBgDQoNCioqR2lhaSDEkG/huqFuIFTEg25nIFRyxrDhu59uZyDEkOG7mXQgTmfhu5l0OioqDQoNCi0gVOG7qyBuxINtIDIwMjAgxJHhur9uIDIwMjIsIGNow7puZyB0YSB0aOG6pXkgbeG7mXQgc+G7sSB0xINuZyB0csaw4bufbmcgxJHhu5l0IG5n4buZdCB0cm9uZyB04bu3IGzhu4cgdGjGsMahbmcgbeG6oWksIGPDsyB0aOG7gyBwaOG6o24gw6FuaCBz4buxIGjhu5NpIHBo4bulYyBzYXUgxJHhuqFpIGThu4tjaCBDT1ZJRC0xOSBob+G6t2MgY8OhYyBiaeG6v24gxJHhu5luZyBraW5oIHThur8ga2jDoWMuDQoNCi0gxJBp4buBdSBuw6B5IGPDsyB0aOG7gyBsw6AgbeG7mXQgZOG6pXUgaGnhu4d1IHTDrWNoIGPhu7FjIGNobyBz4buxIHBo4bulYyBo4buTaSBraW5oIHThur8gY+G7p2EgcXXhu5FjIGdpYS4NCg0KIyMgWeG6v3UgdOG7kSDhuqNuaCBoxrDhu59uZyDEkeG6v24gdGjGsMahbmcgbeG6oWk6DQoNCi0gKipUxINuZyB0csaw4bufbmcgR0RQKio6IFTEg25nIHRyxrDhu59uZyBHRFAgY+G7p2EgbeG7mXQgcXXhu5FjIGdpYSBjw7MgdGjhu4MgdOG6oW8gcmEgbmh1IGPhuqd1IHRpw6p1IGTDuW5nIHRyb25nIG7GsOG7m2MgdsOgIHTEg25nIGPGoSBo4buZaSB4deG6pXQga2jhuql1IGNobyBjw6FjIGRvYW5oIG5naGnhu4dwLg0KDQotICoqVOG7iSBs4buHIHRow6JtIGjhu6V0IHRoxrDGoW5nIG3huqFpKio6IFThu4kgbOG7hyB0aMOibSBo4buldCB0aMawxqFuZyBt4bqhaSBiaeG7g3UgdGjhu4sgc+G7sSBjaMOqbmggbOG7h2NoIGdp4buvYSBnacOhIHRy4buLIGPhu6dhIGjDoG5nIGjDs2EgdsOgIGThu4tjaCB24bulIG3DoCBt4buZdCBxdeG7kWMgZ2lhIG5o4bqtcCBraOG6qXUgdsOgIHh14bqldCBraOG6qXUuIE3hu5l0IHThu4kgbOG7hyDDom0gY8OzIHRo4buDIGNo4buJIHJhIHLhurFuZyBxdeG7kWMgZ2lhIMSRw7MgeHXhuqV0IGto4bqpdSBuaGnhu4F1IGjGoW4gc28gduG7m2kgbmjhuq1wIGto4bqpdS4NCg0KLSAqKlThu4kgbOG7hyB4deG6pXQga2jhuql1IHbDoCBuaOG6rXAga2jhuql1ICglIEdEUCkqKjogVOG7tyBs4buHIG7DoHkgYmnhu4N1IHRo4buLIGdpw6EgdHLhu4sgY+G7p2EgaMOgbmcgaMOzYSB2w6AgZOG7i2NoIHbhu6UgeHXhuqV0IGto4bqpdSB2w6Agbmjhuq1wIGto4bqpdSBzbyB24bubaSBHRFAgY+G7p2EgcXXhu5FjIGdpYS4gTsOzIGN1bmcgY+G6pXAgY8OhaSBuaMOsbiB04buVbmcgcXVhbiB24buBIHPhu7EgcGjhu6UgdGh14buZYyB2w6BvIHRoxrDGoW5nIG3huqFpIGPhu6dhIG3hu5l0IHF14buRYyBnaWEuDQoNCi0gKipUaOG6t25nIGTGsCB0aMawxqFuZyBt4bqhaSoqOiBUaOG6t25nIGTGsCB0aMawxqFuZyBt4bqhaSBsw6Agc+G7sSBjaMOqbmggbOG7h2NoIGdp4buvYSBnacOhIHRy4buLIGPhu6dhIGjDoG5nIGjDs2EgdsOgIGThu4tjaCB24bulIG3DoCBt4buZdCBxdeG7kWMgZ2lhIHh14bqldCBraOG6qXUgdsOgIG5o4bqtcCBraOG6qXUuIE3hu5l0IHRo4bq3bmcgZMawIHRoxrDGoW5nIG3huqFpIGTGsMahbmcgY8OzIHRo4buDIGNo4buJIHJhIHLhurFuZyBxdeG7kWMgZ2lhIMSRw7MgeHXhuqV0IGto4bqpdSBuaGnhu4F1IGjGoW4gc28gduG7m2kgbmjhuq1wIGto4bqpdS4NCg0KLSAqKkNo4buJIHPhu5EgQ+G6oW5oIHRyYW5oIFRvw6BuIGPhuqd1IChHbG9iYWwgQ29tcGV0aXRpdmVuZXNzIEluZGV4KSoqOiBDaOG7iSBz4buRIG7DoHkgxJHDoW5oIGdpw6Ega2jhuqMgbsSDbmcgY+G6oW5oIHRyYW5oIGPhu6dhIG3hu5l0IHF14buRYyBnaWEgdHJvbmcga2luaCBkb2FuaCBxdeG7kWMgdOG6vywgYmFvIGfhu5NtIGPDoWMgeeG6v3UgdOG7kSBuaMawIGjhuqEgdOG6p25nLCB5IHThur8sIGdpw6FvIGThu6VjIHbDoCBtw7RpIHRyxrDhu51uZyBraW5oIGRvYW5oLg0KDQotICoqQ2jhu4kgc+G7kSBOxINuZyBs4buxYyBUaMawxqFuZyBt4bqhaSBUb8OgbiBj4bqndSAoR2xvYmFsIFRyYWRlIENhcGFjaXR5IEluZGV4KSoqOiBDaOG7iSBz4buRIG7DoHkgxJHDoW5oIGdpw6Ega2jhuqMgbsSDbmcgdGjGsMahbmcgbeG6oWkgY+G7p2EgbeG7mXQgcXXhu5FjIGdpYSwgYmFvIGfhu5NtIGPGoSBz4bufIGjhuqEgdOG6p25nLCBxdXkgbcO0IHRo4buLIHRyxrDhu51uZywgdsOgIGhp4buHdSBxdeG6oyBiacOqbiBnaeG7m2kuDQoNCi0gKipDaOG7iSBz4buRIE7Eg25nIGzhu7FjIExvZ2lzdGljYWwgVG/DoG4gY+G6p3UgKEdsb2JhbCBMb2dpc3RpY3MgQ2FwYWJpbGl0aWVzIEluZGV4KSoqOiDEkMOhbmggZ2nDoSBraOG6oyBuxINuZyBxdeG7kWMgZ2lhIHRyb25nIHZp4buHYyBxdeG6o24gbMO9IHbDoCB24bqtbiBjaHV54buDbiBow6BuZyBow7NhIHbDoCBk4buLY2ggduG7pSwgYmFvIGfhu5NtIGjhuqEgdOG6p25nIHbhuq1uIHThuqNpIHbDoCBraOG6oyBuxINuZyB0aOG7sWMgaGnhu4duIGPDoWMgcXV5IHRyw6xuaCBo4bqjaSBxdWFuLg0KDQotICoqQ2jhu4kgc+G7kSBUaHXhuq1uIGzhu6NpIEtpbmggZG9hbmggKEVhc2Ugb2YgRG9pbmcgQnVzaW5lc3MgSW5kZXgpKio6IENo4buJIHPhu5EgbsOgeSDEkcOhbmggZ2nDoSBtw7RpIHRyxrDhu51uZyBraW5oIGRvYW5oIGPhu6dhIG3hu5l0IHF14buRYyBnaWEsIGJhbyBn4buTbSB0aOG7pyB04bulYyB0aMOgbmggbOG6rXAgZG9hbmggbmdoaeG7h3AsIHRo4bunIHThu6VjIHRodeG6vyB2w6Agc+G7sSBi4bqjbyB24buHIGPhu6dhIG5ow6AgxJHhuqd1IHTGsC4NCg0KIyBUaHUgdGjhuq1wIGThu68gbGnhu4d1IHThu6sgSU1GOg0KDQpgYGB7ciBpbmNsdWRlPUZBTFNFfQ0KbGlicmFyeShpbWYuZGF0YSkNCmBgYA0KDQpgYGB7cn0NCnRtcDEgPC0gbG9hZF9kYXRhc2V0cygnRkRJJykgDQpGREkgPC0gdG1wMSRnZXRfc2VyaWVzKGZyZXEgPSAnQScsIHJlZl9hcmVhID0gYygnVk4nLCAnVEwnKSwgaW5kaWNhdG9yID0gJ0ZEX0ZEX0lYJykNCm5hbWVzKEZESSkgPC0gYygnVGhvaUdpYW4nLCdGRElfVEwnLCdGRElfVk4nKQ0KRkRJIDwtICh0YWlsKEZESSwgMjApKQ0KYGBgDQoNCkdp4bqjaSB0aMOtY2ggY2h1bms6DQoNCi0gKip0bXAxIDwtIGxvYWRfZGF0YXNldHMoJ0ZESScpKio6IFThuqNpIGThu68gbGnhu4d1IHbhu4EgRm9yZWlnbiBEaXJlY3QgSW52ZXN0bWVudCAoRkRJKSB04burIG5ndeG7k24gZOG7ryBsaeG7h3UgY8OzIHTDqm4gbMOgICdGREknLg0KDQotICoqRkRJIDwtIHRtcDEkZ2V0X3NlcmllcyhmcmVxID0gJ0EnLCByZWZfYXJlYSA9IGMoJ1ZOJywgJ1RMJyksIGluZGljYXRvciA9ICdGRF9GRF9JWCcpKio6IEjDoG0gKmdldF9zZXJpZXMoKSogduG7m2kgdGhhbSBz4buRICpmcmVxID0gJ0EnKiDEkeG6o20gYuG6o28gcuG6sW5nIGNo4buJIGPDoWMgZOG7ryBsaeG7h3UgaMOgbmcgbsSDbSDEkcaw4bujYyBjaOG7jW4sIHbDoCAqcmVmX2FyZWEgPSBjKCdWTicsICdUTCcpKiBjaOG7iSDEkeG7i25oIHLhurFuZyBjaOG7iSBk4buvIGxp4buHdSBjaG8gVmnhu4d0IE5hbSB2w6AgVGjDoWkgTGFuIMSRxrDhu6NjIGzhuqV5Lg0KDQotICoqbmFtZXMoRkRJKSA8LSBjKCdUaG9pR2lhbicsJ0ZESScpKio6IMSQ4buVaSB0w6puIGPhu5l0IHThu6sgdMOqbiBt4bq3YyDEkeG7i25oIHNhbmcgJ1Rob2lHaWFuJyB2w6AgJ0ZESScgxJHhu4MgcGjhuqNuIMOhbmggcsO1IHLDoG5nIGPDoWMgbuG7mWkgZHVuZyBj4bunYSBj4buZdC4NCg0KLSAqKkZESSA8LSAodGFpbChGREksIDIwKSkqKjogZMO5bmcgxJHhu4MgY2jhu41uIHJhIDIwIHF1YW4gc8OhdCBjdeG7kWkgY8O5bmcuDQoNCiMjIEdp4bqjaSB0aMOtY2ggYuG7mSBk4buvIGxp4buHdToNCg0KYGBge3J9DQpGREkNCmBgYA0KDQpC4buZIGThu68gbGnhu4d1IHbhu4EgRkRJIGPhu6dhIFZp4buHdCBOYW0gdsOgIFRow6FpIExhbiB04burIG5o4buvbmcgbsSDbSAyMDAyIMSR4bq/biAyMDIxLiANCg0KLSAqKkZESSoqIGzDoCB2aeG6v3QgdOG6r3QgY+G7p2EgIkZvcmVpZ24gRGlyZWN0IEludmVzdG1lbnQiLCB0cm9uZyB0aeG6v25nIFZp4buHdCBk4buLY2ggbMOgICLEkOG6p3UgdMawIHRy4buxYyB0aeG6v3Agbsaw4bubYyBuZ2/DoGkiLiANCg0KLSBGREkgxJHhu4EgY+G6rXAgxJHhur9uIHZp4buHYyBt4buZdCB04buVIGNo4bupYyBob+G6t2MgY8OhIG5ow6JuIHThu6sgbeG7mXQgcXXhu5FjIGdpYSDEkeG6p3UgdMawIHRp4buBbiwgdMOgaSBz4bqjbiBob+G6t2Mgbmd14buTbiBs4buxYyBraMOhYyB2w6BvIG3hu5l0IHF14buRYyBnaWEga2jDoWMuIA0KDQotIMSQaeG7gXUgcXVhbiB0cuG7jW5nIGzDoCBGREkgY2hvIHBow6lwIG5ow6AgxJHhuqd1IHTGsCBuxrDhu5tjIG5nb8OgaSB0aGFtIGdpYSB2w6BvIHF14bqjbiBsw70gdsOgIGhv4bqhdCDEkeG7mW5nIGPhu6dhIGRvYW5oIG5naGnhu4dwIGhv4bq3YyBk4buxIMOhbiB04bqhaSBxdeG7kWMgZ2lhIMSRw61jaCBtw6AgaOG7jSDEkeG6p3UgdMawLg0KDQojIyBGREkgVmnhu4d0IE5hbSB0aGVvIHRo4budaSBnaWFuOg0KDQpgYGB7cn0NCmdncGxvdChkYXRhID0gRkRJLCBhZXMoeCA9IFRob2lHaWFuLCB5ID0gRkRJX1ZOKSkgKw0KICBnZW9tX2JhcihzdGF0ID0gImlkZW50aXR5IiwgZmlsbCA9ICJza3libHVlIikgKyAgIyBT4butIGThu6VuZyBzdGF0ID0gImlkZW50aXR5IiDEkeG7gyBiaeG7g3UgZGnhu4VuIGdpw6EgdHLhu4sgRkRJDQogIGxhYnModGl0bGUgPSAiRMOybmcgRkRJIHF1YSBjw6FjIG7Eg20iLA0KICAgICAgIHggPSAiTsSDbSIsDQogICAgICAgeSA9ICJGREkiKQ0KYGBgDQoNCkJp4buDdSDEkeG7kyB24buBIEZESSBj4bunYSBWaeG7h3QgTmFtIGNobyB0YSB0aOG6pXk6DQoNCi0gR2lhaSDEkW/huqFuIDIwMDItMjAwNCBkw7JuZyB24buRbiBi4buLIGdp4bqjbSBsacOqbiB04bulYy4gDQoNCi0gR2lhaSDEkW/huqFuIDIwMDUtMjAxMCDEkcOgIHTEg25nIHRyxrDhu59uZyBuaGFuaCBjaMOzbmcuIFRyb25nIGdpYWkgxJFv4bqhbiBuw6B5LCBWaeG7h3QgTmFtIMSRw6MgY2jhu6luZyBraeG6v24gbeG7mXQgdMSDbmcgdHLGsOG7n25nIMSRw6FuZyBr4buDIHRyb25nIGTDsm5nIEZESS4gQ8OhYyBjaMOtbmggc8OhY2ggaOG7lyB0cuG7oyDEkeG6p3UgdMawIG7GsOG7m2Mgbmdvw6BpLCBj4bqjaSB0aGnhu4duIG3DtGkgdHLGsOG7nW5nIGtpbmggZG9hbmggdsOgIG3hu58gY+G7rWEgdGjhu4sgdHLGsOG7nW5nIMSRw6MgdGh1IGjDunQgbeG7mXQgbMaw4bujbmcgbOG7m24gduG7kW4gxJHhuqd1IHTGsCB04burIGPDoWMgbmjDoCDEkeG6p3UgdMawIHF14buRYyB04bq/Lg0KDQotIEdpYWkgxJFv4bqhbiAyMDExLTIwMTUgYmnhur9uIMSR4buZbmcgdsOgIOG7lW4gxJHhu4tuaDogVHJvbmcgZ2lhaSDEkW/huqFuIG7DoHksIGTDsm5nIEZESSBj4bunYSBWaeG7h3QgTmFtIGPDsyBuaOG7r25nIGJp4bq/biDEkeG7mW5nIG5o4bqldCDEkeG7i25oIGRvIOG6o25oIGjGsOG7n25nIGPhu6dhIHTDrG5oIGjDrG5oIGtpbmggdOG6vyB0aOG6vyBnaeG7m2kgdsOgIGNow61uaCBzw6FjaCBu4buZaSDEkeG7i2EuIFR1eSBuaGnDqm4sIHbhuqtuIGPDsyBz4buxIOG7lW4gxJHhu4tuaCB2w6AgdOG7lW5nIHRo4buDLCBkw7JuZyBGREkgduG6q24gZHV5IHRyw6wg4bufIG3hu6ljIGNhby4NCg0KLSBHaWFpIMSRb+G6oW4gMjAxNiAtIDIwMTggdMSDbmcgdHLGsOG7n25nIG3huqFuaCBt4bq9OiBUcm9uZyBnaWFpIMSRb+G6oW4gbsOgeSwgVmnhu4d0IE5hbSB0aeG6v3AgdOG7pWMgdGh1IGjDunQgbeG7mXQgbMaw4bujbmcgbOG7m24gduG7kW4gxJHhuqd1IHTGsCB04burIGPDoWMgbmjDoCDEkeG6p3UgdMawIHF14buRYyB04bq/LiBDw6FjIGNow61uaCBzw6FjaCBj4bqjaSBjw6FjaCBraW5oIGRvYW5oLCBo4bqhIHThuqduZyB2w6AgbGFvIMSR4buZbmcgcGjDoXQgdHJp4buDbiDEkcOjIHThuqFvIHJhIG3hu5l0IG3DtGkgdHLGsOG7nW5nIMSR4bqndSB0xrAgaOG6pXAgZOG6q24uDQoNCi0gR2lhaSDEkW/huqBOIDIwMTggLSAyMDIxOiDhu5RuIMSR4buLbmggdHJvbmcgYuG7kWkgY+G6o25oIMSR4bqhaSBk4buLY2g6IFRyb25nIGLhu5FpIGPhuqNuaCDEkeG6oWkgZOG7i2NoIENPVklELTE5LCBkw7JuZyBGREkgY+G7p2EgVmnhu4d0IE5hbSB24bqrbiBkdXkgdHLDrCDhu58gbeG7qWMg4buVbiDEkeG7i25oLCBt4bq3YyBkw7kgY8OzIG5o4buvbmcgdGjDoWNoIHRo4bupYyBt4bubaSB04burIHPhu7EgYmnhur9uIMSR4buZbmcgY+G7p2EgdGjhu4sgdHLGsOG7nW5nIHRo4bq/IGdp4bubaSB2w6AgY8OhYyB54bq/dSB04buRIGtpbmggdOG6vyB4w6MgaOG7mWkgbuG7mWkgxJHhu4thLg0KDQoqKk5ow6xuIGNodW5nKio6IGTDsm5nIEZESSBj4bunYSBWaeG7h3QgTmFtIMSRw6MgdHLhuqNpIHF1YSBt4buZdCBow6BuaCB0csOsbmggxJHDoW5nIGvhu4MgdOG7qyBuxINtIDIwMDIgxJHhur9uIDIwMjIsIHbhu5tpIG5o4buvbmcgYmnhur9uIMSR4buZbmcgdsOgIHRow6FjaCB0aOG7qWMsIG5oxrBuZyB24bqrbiBnaeG7ryDEkcaw4bujYyBz4buxIOG7lW4gxJHhu4tuaCB2w6AgdMSDbmcgdHLGsOG7n25nLiBWaeG7h3QgTmFtIHRp4bq/cCB04bulYyBsw6AgbeG7mXQgxJFp4buDbSDEkeG6v24gaOG6pXAgZOG6q24gY2hvIGPDoWMgbmjDoCDEkeG6p3UgdMawIHF14buRYyB04bq/IHbDoCBjw7MgdHJp4buDbiB24buNbmcgdOG7kXQgdHJvbmcgdMawxqFuZyBsYWkuDQoNCiMjIEZESSBUaMOhaSBMYW4gcXVhIHRo4budaSBnaWFuOg0KDQpgYGB7cn0NCmdncGxvdChkYXRhID0gRkRJLCBhZXMoeCA9IFRob2lHaWFuLCB5ID0gRkRJX1RMKSkgKw0KICBnZW9tX2JhcihzdGF0ID0gImlkZW50aXR5IiwgZmlsbCA9ICJza3libHVlIikgKyAgIyBT4butIGThu6VuZyBzdGF0ID0gImlkZW50aXR5IiDEkeG7gyBiaeG7g3UgZGnhu4VuIGdpw6EgdHLhu4sgRkRJDQogIGxhYnModGl0bGUgPSAiRMOybmcgRkRJIHF1YSBjw6FjIG7Eg20iLA0KICAgICAgIHggPSAiTsSDbSIsDQogICAgICAgeSA9ICJGREkiKQ0KYGBgDQoNCsSQw6J5IGzDoCBiaeG7g3UgxJHhu5MgduG7gSBGREkgY+G7p2EgVGjDoWkgTGFuIHThu6sgMjAwMiDEkeG6v24gMjAyMToNCg0KLSBOxINtIDIwMDIgLSAyMDA2OiBUxINuZyB0csaw4bufbmcg4buVbiDEkeG7i25oOiBUcm9uZyBnaWFpIMSRb+G6oW4gbsOgeSwgVGjDoWkgTGFuIMSRw6MgdGh1IGjDunQgbeG7mXQgbMaw4bujbmcgbOG7m24gRkRJIHThu6sgY8OhYyBuaMOgIMSR4bqndSB0xrAgcXXhu5FjIHThur8sIG5o4bqldCBsw6AgdHJvbmcgY8OhYyBsxKluaCB24buxYyBuaMawIGPDtG5nIG5naOG7hyB0aMO0bmcgdGluLCBk4buLY2ggduG7pSB0w6BpIGNow61uaCB2w6Agc+G6o24geHXhuqV0LiBDaMOtbmggc8OhY2ggdGh1IGjDunQgxJHhuqd1IHTGsCBj4bunYSBUaMOhaSBMYW4gxJHDoyB0aHXhuq1uIGzhu6NpIGNobyBjw6FjIG5ow6AgxJHhuqd1IHTGsCBuxrDhu5tjIG5nb8OgaS4NCg0KLSBOxINtIDIwMDcgLSAyMDA4OiBUxINuZyB0csaw4bufbmcgxJHhu5l0IG5n4buZdDogVHJvbmcgZ2lhaSDEkW/huqFuIG7DoHksIFRow6FpIExhbiDEkcOjIGfhurdwIHBo4bqjaSBjdeG7mWMga2jhu6duZyBob+G6o25nIHTDoGkgY2jDrW5oIHbDoCBzdXkgdGhvw6FpIGtpbmggdOG6vyB0b8OgbiBj4bqndSwg4bqjbmggaMaw4bufbmcgxJHhur9uIGTDsm5nIEZESS4gU+G7sSBi4bqldCDhu5VuIGNow61uaCB0cuG7iyB2w6Aga2luaCB04bq/IMSRw6MgbMOgbSBnaeG6o20gc+G7sSB04buxIHRpbiBj4bunYSBjw6FjIG5ow6AgxJHhuqd1IHTGsCBxdeG7kWMgdOG6vyB2w6AgZ8OieSByYSBz4buxIGdpw6FuIMSRb+G6oW4gdHJvbmcgdmnhu4djIMSR4bqndSB0xrAgdsOgbyBUaMOhaSBMYW4uDQoNCi0gTsSDbSAyMDA5IC0gMjAxMzogUGjhu6VjIGjhu5NpIHbDoCDhu5VuIMSR4buLbmg6IFRow6FpIExhbiDEkcOjIGLhuq90IMSR4bqndSBwaOG7pWMgaOG7k2kgdOG7qyBraOG7p25nIGhv4bqjbmcgdMOgaSBjaMOtbmgsIHbDoCBkw7JuZyBGREkgxJHDoyB0cuG7nyBs4bqhaSDhu5VuIMSR4buLbmguIENow61uaCBwaOG7pyBUaMOhaSBMYW4gxJHDoyB0aOG7sWMgaGnhu4duIGPDoWMgYmnhu4duIHBow6FwIGtow61jaCBs4buHIGtpbmggdOG6vyB2w6AgY+G6o2kgdGhp4buHbiBtw7RpIHRyxrDhu51uZyDEkeG6p3UgdMawIMSR4buDIHRodSBow7p0IGzhuqFpIHPhu7EgcXVhbiB0w6JtIGPhu6dhIGPDoWMgbmjDoCDEkeG6p3UgdMawIHF14buRYyB04bq/Lg0KDQotIE7Eg20gMjAxNCAtIDIwMjE6IEJp4bq/biDEkeG7mW5nIHbDoCB0aMOhY2ggdGjhu6ljOiBUcm9uZyBnaWFpIMSRb+G6oW4gbsOgeSwgVGjDoWkgTGFuIHRp4bq/cCB04bulYyDEkeG7kWkgbeG6t3QgduG7m2kgY8OhYyB0aMOhY2ggdGjhu6ljIHThu6sgbcO0aSB0csaw4budbmcga2luaCBkb2FuaCB2w6AgY2jDrW5oIHRy4buLIGtow7RuZyDhu5VuIMSR4buLbmguIFPhu7EgYuG6pXQg4buVbiBjaMOtbmggdHLhu4sgdsOgIGJp4bq/biDEkeG7mW5nIGNow61uaCBzw6FjaCDEkcOjIHThuqFvIHJhIHPhu7Ega2jDtG5nIGNo4bqvYyBjaOG6r24gY2hvIGPDoWMgbmjDoCDEkeG6p3UgdMawIHF14buRYyB04bq/IHbDoCBsw6BtIGdp4bqjbSBz4buxIGjhuqVwIGThuqtuIGPhu6dhIFRow6FpIExhbiDEkeG7kWkgduG7m2kgRkRJLg0KDQoqKk5o4bqtbiB4w6l0IGNodW5nKio6IGTDsm5nIEZESSBj4bunYSBUaMOhaSBMYW4gdOG7qyBuxINtIDIwMDIgxJHhur9uIDIwMjEgxJHDoyB0cuG6o2kgcXVhIG5oaeG7gXUgYmnhur9uIMSR4buZbmcgdsOgIHRow6FjaCB0aOG7qWMsIG5oxrBuZyB24bqrbiBnaeG7ryDEkcaw4bujYyBz4buxIOG7lW4gxJHhu4tuaCB2w6AgY8OzIHRp4buBbSBuxINuZyBwaMOhdCB0cmnhu4NuIHRyb25nIHTGsMahbmcgbGFpIG7hur91IGPDoWMgduG6pW4gxJHhu4EgY2jDrW5oIHRy4buLIHbDoCBraW5oIHThur8gxJHGsOG7o2MgZ2nhuqNpIHF1eeG6v3QuDQoNCiMjIEPDoWMgeeG6v3UgdOG7kSDhuqNuaCBoxrDhu59uZyDEkeG6v24gRkRJOg0KDQpDw7Mgbmhp4buBdSB54bq/dSB04buRIOG6o25oIGjGsOG7n25nIMSR4bq/biBkw7JuZyBGREkgKEZvcmVpZ24gRGlyZWN0IEludmVzdG1lbnQgLSDEkOG6p3UgdMawIHRy4buxYyB0aeG6v3Agbsaw4bubYyBuZ2/DoGkpIGPhu6dhIG3hu5l0IHF14buRYyBnaWEuIETGsOG7m2kgxJHDonkgbMOgIG3hu5l0IHPhu5EgeeG6v3UgdOG7kSBxdWFuIHRy4buNbmc6DQoNCi0gKipDaMOtbmggc8OhY2ggxJHhuqd1IHTGsCB2w6AgaOG7lyB0cuG7oyoqOiBDaMOtbmggc8OhY2ggxJHhuqd1IHTGsCBj4bunYSBt4buZdCBxdeG7kWMgZ2lhLCBiYW8gZ+G7k20gY8OhYyBiaeG7h24gcGjDoXAga2h1eeG6v24ga2jDrWNoLCBi4bqjbyB24buHIHbDoCBo4buXIHRy4bujIMSR4bqndSB0xrAsIMSRw7NuZyB2YWkgdHLDsiBxdWFuIHRy4buNbmcgdHJvbmcgdmnhu4djIHRodSBow7p0IEZESS4gTeG7mXQgbcO0aSB0csaw4budbmcgxJHhuqd1IHTGsCDhu5VuIMSR4buLbmgsIGThu4UgZMOgbmcgdGnhur9wIGPhuq1uIHbDoCBo4buXIHRy4bujIGNobyBjw6FjIG5ow6AgxJHhuqd1IHTGsCBuxrDhu5tjIG5nb8OgaSBz4bq9IGzDoG0gdMSDbmcgc+G7sSBo4bqlcCBk4bqrbiBj4bunYSBt4buZdCBxdeG7kWMgZ2lhLg0KDQotICoqVMOgaSBjaMOtbmggdsOgIHRo4buLIHRyxrDhu51uZyB0w6BpIGNow61uaCoqOiBT4buxIOG7lW4gxJHhu4tuaCB0w6BpIGNow61uaCB2w6AgY8OhYyBjxqEgc+G7nyBo4bqhIHThuqduZyB0w6BpIGNow61uaCwgY8O5bmcgduG7m2kgdMOtbmggdGhhbmgga2hv4bqjbiB2w6AgdMOtbmggbWluaCBi4bqhY2ggY+G7p2EgdGjhu4sgdHLGsOG7nW5nIHTDoGkgY2jDrW5oLCBjxaluZyBsw6AgeeG6v3UgdOG7kSBxdWFuIHRy4buNbmcgY2hvIHPhu7EgdGh1IGjDunQgRkRJLg0KDQotICoqS8OtY2ggdGjGsOG7m2MgdGjhu4sgdHLGsOG7nW5nIHbDoCB0aeG7gW0gbsSDbmcgdMSDbmcgdHLGsOG7n25nKio6IEvDrWNoIHRoxrDhu5tjIGPhu6dhIHRo4buLIHRyxrDhu51uZyB2w6AgdGnhu4FtIG7Eg25nIHTEg25nIHRyxrDhu59uZyBraW5oIHThur8gY+G7p2EgbeG7mXQgcXXhu5FjIGdpYSBsw6AgbeG7mXQgeeG6v3UgdOG7kSBxdWFuIHRy4buNbmcgdHJvbmcgdmnhu4djIHRodSBow7p0IEZESS4gQ8OhYyBuaMOgIMSR4bqndSB0xrAgdGjGsOG7nW5nIHTDrG0ga2nhur9tIHRo4buLIHRyxrDhu51uZyBs4bubbiB2w6AgY8OzIHRp4buBbSBuxINuZyBwaMOhdCB0cmnhu4NuIMSR4buDIMSR4bqndSB0xrAuDQoNCi0gKipMYW8gxJHhu5luZyB2w6AgbmjDom4gbOG7sWMqKjogU+G7sSBz4bq1biBjw7MgdsOgIGNo4bqldCBsxrDhu6NuZyBj4bunYSBsYW8gxJHhu5luZyBjxaluZyBsw6AgbeG7mXQgeeG6v3UgdOG7kSBxdWFuIHRy4buNbmcuIEPDoWMgbmjDoCDEkeG6p3UgdMawIHRoxrDhu51uZyB0w6xtIGtp4bq/bSBjw6FjIHF14buRYyBnaWEgY8OzIG5ndeG7k24gbmjDom4gbOG7sWMgZ2nDoSBy4bq7IHbDoCBjw7Mga+G7uSBuxINuZyBwaMO5IGjhu6NwIHbhu5tpIHnDqnUgY+G6p3Ugc+G6o24geHXhuqV0Lg0KDQotICoqS+G7uSB0aHXhuq10IHbDoCBDw7RuZyBuZ2jhu4cqKjogU+G7sSBwaMOhdCB0cmnhu4NuIGPhu6dhIGvhu7kgdGh14bqtdCB2w6AgY8O0bmcgbmdo4buHIGzDoCBt4buZdCB54bq/dSB04buRIHF1eeG6v3QgxJHhu4tuaCB0cm9uZyB2aeG7h2MgdGh1IGjDunQgRkRJLCB2w6wgY8OhYyBjw7RuZyB0eSB0aMaw4budbmcgdMOsbSBraeG6v20gY8OhYyBxdeG7kWMgZ2lhIGPDsyBjxqEgc+G7nyBo4bqhIHThuqduZyBr4bu5IHRodeG6rXQgdsOgIGPDtG5nIG5naOG7hyB0acOqbiB0aeG6v24uDQoNCi0gKipDaMOtbmggc8OhY2ggdGjGsMahbmcgbeG6oWkgdsOgIHRodeG6vyoqOiBDaMOtbmggc8OhY2ggdGjGsMahbmcgbeG6oWkgdsOgIHRodeG6vyDhuqNuaCBoxrDhu59uZyDEkeG6v24gY2hpIHBow60gc+G6o24geHXhuqV0IHbDoCBs4bujaSBuaHXhuq1uIGPhu6dhIGPDoWMgbmjDoCDEkeG6p3UgdMawIG7GsOG7m2Mgbmdvw6BpLCB2w6AgZG8gxJHDsyBjxaluZyDhuqNuaCBoxrDhu59uZyDEkeG6v24gcXV54bq/dCDEkeG7i25oIMSR4bqndSB0xrAgY+G7p2EgaOG7jS4NCg0KDQoNCg0KDQoNCg0K