Chip Streamroller: "Thần hộ mệnh" cho tham vọng lật đổ Intel của AMD

Chip Streamroller: "Thần hộ mệnh" cho tham vọng lật đổ Intel của AMD

Leopard  | 31/08/2012 0:00 AM

thích

Thiết kế mới dành trọng tâm cho hiệu năng.

Hai năm trước đây, nhà sản xuất chip x86 lớn thứ hai thế giới đã công bố thông tin về kiến trúc Bulldozer ("xe ủi") của mình trước thế giới tại Hot Chips 22. Hai năm sau, hãng này tiếp tục công bố thế hệ kiến trúc mới có tên Streamroller ("xe lu") tại Hot Chips 24. Liệu chiếc "xe lu" mới của AMD có giúp nhà sản xuất (NSX) chip này lấy lại được vị thế của mình sau thất bại của "xe ủi" trước "cầu cát" (Sandy Bridge)? Hãy cùng điểm lại những thay đổi của Streamroller lần này:

chip-streamroller-than-ho-menh-cho-tham-vong-lat-do-intel-cua-amd

Đôi nét về "xe ủi"

"Xe lu" thực ra không phải một kiến trúc mới hoàn toàn bởi nó là bản nâng cấp dựa trên kiến trúc "xe ủi" của hai năm trước và gần đây là "xe đóng cọc" (Piledriver). Nên để hiểu về "xe lu", bạn cần nắm đôi nét của "xe ủi".

"Xe ủi" được xem là kiến trúc làm lại từ đầu của AMD sau một thời gian dài dùng kiến trúc K7/K8. Nhắc lại đôi chút về lịch sử, khi AMD ra mắt các chip K8 vào 2003, hãng này đã tạo tiếng vang lớn trong làng công nghệ vì các cải tiến mang tính đột phát về ý tưởng đã giúp dòng chip Athlon 64 (K8) vượt hơn đối thủ Pentium 4 dựa trên kiến trúc NetBurst của Intel lúc bấy giờ.

chip-streamroller-than-ho-menh-cho-tham-vong-lat-do-intel-cua-amd
Kiến trúc K8/K10 của AMD chỉ đạt 3 IPC.

Ba năm sau, Intel mới trở lại được cuộc chiến khi giới thiệu dòng chip Core sử dụng kiến trúc cùng tên cũng là Core. Ngoài việc học tập những ý tưởng mà AMD dùng trên K8, Intel còn đẩy Core đi xa hơn khi áp dụng tăng năng lực tính toán của từng nhân x86 lên 4 IPC (các thiết kế trước đấy chỉ đạt 3 IPC). Cộng với một số cải tiến khác, kiến trúc Core cho thấy sự vượt trội của mình so với K8 và vị thế dẫn đầu trở về tay Intel. Các kiến trúc ra mắt sau này của Intel (trừ Atom) có thêm nhiều cải thiện nhưng nền tảng của chúng vẫn là kiến trúc Core ra mắt trong 2006.

Nhắc phần Intel là như thế, chúng ta quay lại phần AMD. Sau khi Intel dẫn đầu với kiến trúc Core, AMD vẫn tiếp tục dùng lại kiến trúc K8 nhưng thêm vào đấy một số cải thiện (cũng có tính cách mạng, ví như L3 cache) song căn bản không giúp AMD đối đầu về hiệu năng được với Intel. AMD thực sự cần một kiến trúc mới hơn.

chip-streamroller-than-ho-menh-cho-tham-vong-lat-do-intel-cua-amd
Ý tưởng ban đầu của Xe ủi là 2 nhân riêng rẽ...

2010, các chi tiết về Xe ủi được công bố. Về mặt ý tưởng, Xe ủi có thể xem là đột phá lớn trong thiết kế chip khi đưa ra khái niệm "module". So với các thiết kế trước, mỗi nhân xử lý gần như độc lập lẫn nhau ở các chi tiết front-end (đầu vào), execution (xử lý) và một vài phần back-end (đầu ra) thì ở Xe ủi, cứ 2 nhân sẽ "xài chung" (share) một số thành phần. Theo mô tả của AMD, 2 nhân thuộc cùng 1 module Xe ủi sẽ dùng chung:

  • Đầu vào - bộ nạp lệnh (fetch), bộ giải mã (decode)
  • Xử lý - 1 nhân xử lý số thực (FPU) 256-bit dùng chung cho 2 nhân số nguyên (INT)
  • Đầu ra - 2 nhân INT dùng chung 1 L2 Cache

chip-streamroller-than-ho-menh-cho-tham-vong-lat-do-intel-cua-amd
... rồi khắc nhập khắc xuất thành 1 module.

Việc xài chung này nhằm giải quyết một bài toán mang tính "kinh tế": nếu nhân INT nào cũng được "vũ trang" đầy đủ mọi thành phần thì nó sẽ tốn rất nhiều silicon (chi phí tăng), kéo theo lượng điện tiêu thụ tăng tuyến tính. "Kết hôn" là giải pháp mà các kỹ sư AMD đưa ra nhằm tiết kiệm "tài nguyên" trong thời buổi vật giá leo thang. Các nghiên cứu xã hội cho thấy, một cặp vợ chồng chỉ tiêu thụ lượng tài nguyên bằng 1,5 người bình thường.

Dĩ nhiên, phải có đánh đổi. Chung một "mái nhà" sẽ xảy ra tình trạng xung đột về tài nguyên, nếu cả hai vợ chồng cùng phát sinh nhu cầu một lúc. Ví dụ một chiếc TV mà hai người coi, mỗi người một ý thích sẽ nảy sinh tranh cãi. Và đây là điều đã xảy ra với Xe ủi.

Hạn chế về IPC

Khi mới đọc tài liệu về Xe ủi, tôi chợt nhận ra rằng thiết kế này có "chút" vấn đề. Mặc dù các nhân INT có khả năng xử lý tới 4 IPC cùng lúc (tương đương các nhân Core) song đầu vào của chúng lại bị hạn chế. Một module Xe ủi chỉ có 1 bộ giải mã 4 hướng, bộ giải mã này xài chung cho cả 2 nhân INT. Tức nếu chỉ có 1 nhân hoạt động thì tối đa nó xử lý được 4 IPC. Nhưng nếu cả 2 nhân cùng hoạt động thì trung bình mỗi nhân chỉ đạt được 2 IPC (hoặc 3 & 1 IPC, hoặc 4 & 0 IPC).

Để bạn dễ hình dung, hãy liên tưởng tới dây chuyền sản xuất của nhà máy. Cho là 1 dây chuyền có thể cho ra tối đa 400 sản phẩm / ngày, với điều kiện có 40 lượt xe chuyên chở nguyên liệu đáp ứng được hết công suất của dây chuyền. Nếu chỉ 1 dây chuyền hoạt động thì 40 lượt xe này đều dồn vào đấy, nhưng 2 hoặc nhiều dây chuyền hơn cùng sản xuất thì chỉ có 20 hoặc 10 lượt xe đổ vào đấy, và sản lượng đầu ra chỉ đạt 200 hoặc 100 sản phẩm / ngày. Có nghĩa dây chuyền đang hoạt động dưới công suất. Đây là vấn đề của nhân INT trên Xe ủi.

chip-streamroller-than-ho-menh-cho-tham-vong-lat-do-intel-cua-amd
Nếu chạy hết công xuất, 8 nhân Xe ủi cũng không lại 6 nhân K10 tại cùng xung nhịp!

Các kỹ sư AMD không nhận ra điều này sao? Có chứ, nhưng họ thiết kế "Xe ủi" với một nguyên tắc đánh đổi - tăng lượng nhân xử lý đến mức tối đa trong một khoản chi phí (transistor) có hạn. Một module Xe ủi gồm tất cả các thành phần trên (trừ L3 Cache, cầu bắc và trình điều khiển nhớ) tốn hết 213 triệu trans. Một con chip FX (Xe ủi) có đủ 8 nhân và 8 MB L3 Cache dùng hết 1,2 tỷ trans trên bàn giấy và 2 tỷ trans trên thực tế (?) Lý do của điều này tôi sẽ nói sau.

Tuy vậy, bạn cần hiểu rõ một chút về năng lực IPC (intrustion per cycle). Con số này ám chỉ hiệu năng của kiến trúc có thể xử lý được TỐI ĐA bao nhiêu tập lệnh trong một xung nhịp. Và đấy là giá trị TỐI ĐA, không có nghĩa mọi lúc đều đạt được như trên, có những lúc nhân xử lý chỉ đạt 1 hoặc 2 IPC. Lấy lại ví dụ về dây chuyền ở trên, có những thời điểm lượng đơn đặt hàng thấp, chỉ yêu cầu làm ra 100 sản phẩm / ngày (suy thoái kinh tế chẳng hạn) thì nhà máy hoạt động không hết khả năng. Đây là lý do mà Xe ủi yếu thế ở các ứng dụng đơn luồng (single thread), song ở đa luồng (multi-thread) lại rất có ưu thế.

Cải cách với "xe lu"

Con đường đi mà AMD chọn dường như khác với Intel. Thay vì làm ra con chip tốt hơn hẳn về mọi mặt như Core rồi tung ra thị trường thì AMD chọn hướng tốt hơn "chút chút" về ý tưởng rồi sau đấy... sửa dần dần! Cần nói thêm rằng chiếc Xe đóng cọc (Piledriver hiện có trên Trinity) cũng là một cải thiện so với Xe ủi, nhưng về mặt điện năng hơn là hiệu năng. Một review về nền tảng laptop Comal (Trinity) trước đây cho thấy Xe đóng cọc tiết kiệm điện hơn Xe ủi, trong khi kiến trúc không có nhiều thay đổi và đều dùng chung các transistor SOI 32nm.

chip-streamroller-than-ho-menh-cho-tham-vong-lat-do-intel-cua-amd
Mỗi INT nay có decoder riêng.

Và tới Xe lu, có vẻ vế hiệu năng sẽ được cải thiện, ít nhất là trên "giấy tờ" (tài liệu AMD công bố tại Hot Chips năm nay). Như đã nêu ở trên, nhân INT của Xe ủi bị "đói ăn". Xe lu sẽ khắc phục vấn đề này: thay vì chỉ có 1 bộ giải mã cho 2 nhân INT, nay mỗi nhân INT sẽ có bộ giải mã cho riêng nó. Có nghĩa lúc này 1 nhân INT Xe lu có thể chạy ở mức TỐI ĐA 4 IPC. Dù sao, hãy nhớ đấy là TỐI ĐA, không đồng nghĩa với hiệu năng sẽ gấp đôi.

Hiệu năng IPC không phải thứ duy nhất cần khắc phục ở Xe ủi. Vẫn còn vài thay đổi khác:

Cơ chế tiên đoán rẽ nhánh (branch prediction) tốt hơn

Vì để có mức xung cao, AMD đã chọn con đường ống lệnh (pipeline) dài giống như khi Intel đã làm với Netburst. Mặt trái của hướng đi này là nó cần một cơ chế tiên đoán chính xác. Vì nếu tiên đoán sai, cả một ống lệnh dài (tốn nhiều năng lực xử lý) sẽ trở nên vô ích. Các nhân INT phải tính toán lại từ đầu và hệ quả là hiệu năng chung giảm sút (thời gian xử lý tăng lên).

chip-streamroller-than-ho-menh-cho-tham-vong-lat-do-intel-cua-amd

AMD không nói bộ tiên đoán trên Xe lu thay đổi như nào, chỉ nêu rằng nó sẽ đoán "sai" ít đi 20% so với Xe đóng cọc. Số lần "lỡ hẹn" (miss, ví dụ tập lệnh cần dùng đã bị xoá để dành chỗ cho tập lệnh mới) trên I-Cache (bộ đệm tập lệnh) cũng giảm đi 30%.

Tiêu giảm một phần FPU

Một vài thứ được tăng, đi kèm với vài thứ bị giảm. Bộ xử lý số thực (FPU) trên Xe lu bị giảm đi một đơn vị MMX. Lý do đằng sau hành động này là các đơn vị FMAC có thể chia sẻ một số phép toán với MMX. Tất nhiên có những trường hợp cần huy động tất cả các FMAC lẫn MMX tính toán sẽ nảy sinh vấn đề suy giảm hiệu năng. Song có vẻ các trường hợp như vậy rất hãn hữu (môi trường server hoặc HPC mới cần nhiều năng lực FPU) trong khi lượng silicon dùng cho FPU tốn kém khá nhiều.

chip-streamroller-than-ho-menh-cho-tham-vong-lat-do-intel-cua-amd

Tăng không gian chứa, độ trễ không đổi

Trong quá trình tính toán, lượng dữ liệu phát sinh khá nhiều. Chúng cần được "cất tạm" vào nơi nào đó, đấy là các thanh ghi (register file hay RF). Lượng RF càng nhiều thì tính toán càng tiện, bù lại lượng silicon bỏ ra cũng tăng theo. AMD cho biết có tăng số RF trên Xe lu, chỉ không nói rõ là bao nhiêu.

Một chi tiết đáng chú ý là độ trễ (latency) của các bộ đệm không đổi. Trong quan điểm của AMD, vấn đề này không lớn. Hãy hình dung vấn đề như vầy: nhà máy A mất 2 ngày mới làm ra sản phẩm trong khi nhà máy B cần tới 4 ngày. Song 2 ngày của nhà máy A chỉ cho ra 200 sản phẩm, còn 4 ngày của nhà máy B cho ra 400 sản phẩm. Tức về cơ bản năng lực sản xuất của cả hai như nhau (400 sản phẩm / 4 ngày), song nhà máy A vẫn có lợi thế nếu đơn đặt hàng chỉ cho phép làm trong 3 ngày, mà số lượng hàng yêu cầu làm chỉ 100 sản phẩm.

Nhìn chung, AMD có triết lý của riêng họ, miễn tốt hơn Xe ủi là được.

Nỗ lực tiết kiệm điện

Trong khi thông tin về dây chuyền 20nm của Global Foundries (GF) lẫn TSMC - hai đối tác gia công chip cho AMD - vẫn im như tờ, hãng này chỉ có lựa chọn duy nhất là dây chuyền SOI 32nm hiện có của GF. Mặc dù dây chuyền Bulk 28nm đã có song về mặt điện năng không khác biệt so với SOI 32nm. Điều này có nghĩa Xe lu sẽ tốn điện hơn Xe ủi nếu chỉ tăng lượng trans mà không có biện pháp nào nhằm tiêu giảm điện năng.

May thay, kỹ sư của AMD đều là những người có trình độ. Dù toàn bộ con chip có ngần đấy trans, không có nghĩa lúc nào nó cũng cần chạy 100% số ấy. L3 Cache là một ví dụ, nó chỉ hữu ích trong các tải server hoặc ứng dụng nặng, ảo hoá... Các benchmark cho thấy các chip Phenom II chỉ nhanh hơn Athlon II khoảng 10% nhưng lượng L3 Cache là kích thước chip tăng lên 30 ~ 40%. Thông số này không có nghĩa chúng ta không cần trang bị L3 Cache cho Xe lu, mà là ý tưởng để thực hiện "Earth Hour" khi không cần thiết.

chip-streamroller-than-ho-menh-cho-tham-vong-lat-do-intel-cua-amd
Xanh dương là các thành phần sẽ tham gia "Earth Hour".

Với Xe lu, AMD còn đẩy ý tưởng "Earth Hour" xa thêm một bước bằng cách tắt luôn cả bộ nạp lệnh (Fetching) hoặc FPU và L2 Cache nếu cần. Tắt Fetching trong trường hợp có những tập lệnh được dùng đi dùng lại (loop) nhiều lần (giống như công nhân được giao một việc làm đi làm lại suốt nhiều giờ liền). Tắt FPU trong các tác vụ phổ thông vì phần lớn chúng ta chỉ cần các nhân INT (môi trường laptop, desktop). Tương tự với L2 Cache nếu ứng dụng không nặng về mặt dữ liệu (cần nhiều bộ đệm để chứa).

Ngoài ra còn một biện pháp tiết kiệm điện khác mà đây là hệ quả từ "đám cưới" với ATI: dùng các thư viện thiết kế có mật độ cao. Nếu bạn chú ý, mật độ trans trên các chip Llano và Trinity của AMD cao đột biến so với các chip x86 thuần khác (nhất là của riêng AMD). Lý do? Các thư viện thiết kế của ATI "chặt" hơn so với của AMD (đây cũng là đặc trưng của các GPU). Một thiết kế của AMD có thể "phung phí" trans nhưng ATI lại "tiết kiệm" hơn. Đây là nguyên nhân mà bản thiết kế Xe ủi 8 nhân trên "bàn giấy" chỉ có 1,2 tỷ trans nhưng khi ra "thực tế' lại tới 2 tỷ trans - đã có một lượng lớn mạch điện không được thiết kế cẩn thận (bằng tay thay vì dùng máy làm tự động).

chip-streamroller-than-ho-menh-cho-tham-vong-lat-do-intel-cua-amd
Llano có mật độ trans gần như kỷ lục.

Chi tiết này không có nghĩa AMD sẽ không dùng các công cụ thiết kế chip tự động (với số trans càng lớn thì tỷ lệ này càng cao). Hãng sẽ và còn tiếp tục dùng nếu lượng kỹ sư thiết kế bị cắt giảm hơn nữa (sau khi CEO mới lên đã có 1.300 nhân viên AMD bị thôi việc). Song hãy hy vọng rằng cách dùng các thư viện thiết kế sẵn có kia của AMD có thể hạn chế phần nào lượng trans (điện năng) thất thoát. AMD cho hay họ sẽ tiết kiệm được 15 - 30% điện năng so với Xe ủi.

chip-streamroller-than-ho-menh-cho-tham-vong-lat-do-intel-cua-amd

Rốt cục chúng ta sẽ có gì?

Ở phần đầu chúng ta đã nói, Xe lu sẽ không phải thiết kế mới hoàn toàn mà chỉ là cải tiến của Xe ủi hoặc Xe đóng cọc. Do vậy về cơ bản, sẽ không có nhiều khác biệt lắm về số lượng nhân, L3 Cache. Tức nhìn "xa xa" thì một chip Xe lu hoàn chỉnh sẽ tương tự như vầy (khác biệt ở số Decoder tăng gấp đôi). Nói cách khác, dự đoán chúng ta vẫn có một chip FX 8 nhân với 8 MB L3 Cache tương tự các bản Xe ủi hiện nay. Và vì không có nhiều thay đổi về "hạ tầng", có nhiều khả năng Xe lu vẫn dùng socket AM3+ trên nền chipset AMD 900 hiện có.

chip-streamroller-than-ho-menh-cho-tham-vong-lat-do-intel-cua-amd
Chip Xe lu về tổng thể khá giống Xe ủi.

Song hy vọng với các thay đổi mà AMD cố gắng tạo ra, chúng ta sẽ lại thấy được cuộc đối đầu về hiệu năng giữa hai nhà khổng lồ x86, thay vì chỉ "một mình một ngựa" như hiện trạng với Intel. Dự kiến tới 2013, Xe lu sẽ xuất hiện cùng với Haswell.

Tham khảo AnandTech.

    Tham khảo XS Kết Quả để xem kết quả xổ số.

    Xem lịch âm dương tại Xem Lịch Âm.

    Xem bong da Xem bong da 247.

    Công cụ tính toán https://calculatorss.us.

    Tin tức game https://gamekvn.club.

    dMly2OJK4JEiPvUShAYDXyMX4ixFTNcYFNIUJG mhXmvW6gcUSREBaGivNBKcN8txYc3yWQBURaOUm1TL fweetzQ3dSy0tQgUv5eEDDkgCe8EzMdUvAJP SYa4mABAxKQAP85UMAXCCNzYPxaVYKmsWTtRrRvdAzM6Wx897sb7WTgFh7usSnSxVzgpsKVp3l6PDAGTqLHXftbztUGJmspWTau5weyHhzIuUe8pA63eSlJ5eILKiUvhrFKZ86As4X8b0XyqApm27DOCoyKSuC8qKni6y2y8ZOuF0W80ai5SyJbApnl1ElLP1JSPr6EFE9JdB9B8i62LALMeyI5b1q9J92bsGr0SjZUg4gJar2huMR9PQ9LVp1HGPFX4BCK4oOQb5y1yO8RGfDK7X99WcyzEomcoEREjt3AAA4KFTLzoCob7rQNSh8K21uIeFYa1KLA ltUKgJet vRTRKd8FHa99SGeNc7P3hF2FhLasVad 4bvpBr7vCLom1JrvMOYNYZhPZ6v01or3DkekYrYO0tSNqzhbM2Y5EAgRs03hUP2F6bLW3WgZXtdNcnRw4xDt6cnYdDCm6slQvJdrwIgSSw3 BUO Gv9mUcVOrru5YIbMq911LDTWEx1Kd3T7XonfLQkQSgKLRArenPTMuHABzn6Benhh roWMs2GNtU01YTURtZYZA9mPMDouvcAoDBBG8N6U7sb5NM1pom3 lQxWYcMl3Aq98t5pmYSEKt37aY5wNgcjkAzdU58bMRrW1 Qd594hl17wTEUObglRhvmZkvWMab80OLoZ7CmSpkY1dDkt9jV7D6LoQUAIcGKbChR1VPRzmXWNrm6KpIhRgMIFBVm6ICAmD8hM8jV49pLTnnsujtlm7Qkk3PZTf29sD5sYGWwgDeOMLlBDF9MvfxDUHvW4UDRMuFlZVK8mcujMx6YtoKXsWeepNptdU3WjseODqRMxirh72 sSd2pz1TqVsrsDHa2oqpkyIqJ9AgJG4TFUnVkoHx3yrng1Sf2fpLHSSI8C6TIVBAklq lt1ABNSj0TCVGsTx54981fXSxoFP0REai2knv5aF8sn8DLnsHYcz igndH5Erxfr7WVbkSAsaVL7wp1wBdFwiOui0ulyII36kRzqXx5fL PQLQS8IfpIOclkW6lZRBXzbspOuM8T40HgsMsdGIdFAOsw7mxXx0japU0EmXYW4Orli9J9eH4R1owOFxyAnQxkREQcgmTgtm7y8p8c3hGizlIjjFofkSwv3E1ApC9E4yP0tk2c 7LH4dd45UPKbaD0a1mDpW7S6KzKbbAKkiHzsWA1qW4Gbb3sHZmXlQiIkPPDjTDn j6YCjKyKBnCNRcBq8EX7233Dgc7ac7uLHGBvd3lMoWPUCxpGFyq4nOiFLlbyhfqLVyhFydw6M09JcgEiwIYRqAsqkhDWsgjKK6z3K V Eu1eRRGlibVHQ9TDN7RiDYo16kTaUc4dpNOSDpvzeb4f ZL2OpapPNIRemiyITlGvjzUidCmy8KXXytRonT QP2vObFAxlm2DlMNDzrJWOPvD6SHqcQafyUgdjYAs3ZBCQEF OhXKGzenA vO0085sB5v6wPOG3 bE6XCvINU Wwd7FovO5SifWaalWQoHsb CZYDdGpKI0guFKAbmXAk6IVsEoiCEyJhKxbb7rUWXJGRXyZMeAuGidvLOBAbzl8GnqH5bK89BDmDf xdXiCAmVchB1cBNU04cCSvwncJVy9h3JTamZfQ4el7PIve11xo0FbTHSPVAHbh58GJhGXfsRM1Ep44amVJxWi1HQPeHv1TNtTmouqxbvMYgIwNpxhUI1mcFY0CgGsbCbHNbKAuhh8FRTy4BhqU1Ebw9PIvleoO baciByIsH8lB4hLb4Dc91T 9iEt2tEOyCuiyGfhRq6CUAnnA67V3x82YyKgOAa Gq1naeGt9gteC6LN90rUbJ 2xHN4mA5Jxs1I22OFFCzqTzO0H137kj5Ey5Lxo9VWXRo33n5Ju1PtFpON6BoXypJvOGVXqfuHEGJHDUt5E6SliZCn0akZOC0QDhsWaEfZ1qy0ZNbWxvxex0mVp69rqA36bveYUbCq3aVVFPF6DNy1pVOI1GGqKZ wCvWeDQW52VVRtU6gGiHtFWWV1nxggil7WV2HoBi M7pHGNcKOqzZ0MtdS36chS3XgHsUqFiQTG09YeWWCQMcCLUwSI5JdJEGQM1Fl2CDAbP61gZh19ePTQdipzC68HsaEK7lBR7ea0iwPNk5mkg61dg 8Nhw ivEAsHrrfmDzc2l9t7HQBeQposEI CBGO1796qCm5KzHy8EbUfHlYyA2ktdVZ si53RZXz8OrFl4A0X0ZV KYWajTNlS1v7eTEg rs0RnDI92PyeQAgFgteL6AnQgejSVBh3NhTRd9lJEunBOAvpRFspDBBMyroA6ezw7p3bDIuRoUQz20q1jeqnRHJGt6jAcJHBJ0t5Ace I9hXnUr3Ag0bbrP P06EAfiF40WBnk2pBW2y3FGPgsC1HN2X7zfvDMHshNtcZQnDhB6uIqcerTOyv1K2 eSjWR6E q4eykQbaF15yIvado2nhkRQ5RTSPltK Uc38fXnq6VrYXVWeT30xRVTp8ZaOXpR51wunAcguDPYH1M2UUG0mSRyGhLBgTq KtObHAqp 0i2xcKXues7oiakTJ ocYWLrAhHg8og6bfDIvO2geFy5uwPrbAeUzmdXJWddfiv5SWmp9KDCgna2Sfz42NVo3RWaB7VBH0yxcZwZTandEyozVgf8Hz0jAb nuJwcRAWj2w8qatEtayXFBgGDyVSCkeLCR1 4d32aurcxS4ammKZ1slpdlN7lLL1Y9Tfqx3uLoxpD6GN079XK7vc7d1JXaRZt6u3jXAghDOScf9jzLveqHq98mR0LOBSzNXapaZops57gOL2COT0WVdL bESPz3xHekYHdSjYCjP2uB5Vp2ahoSEYrV7aPiI7JZOv5h0JY8VM3Z5qTP7Izg LCXIBCxpDhpLgtW8wdJYlBRfTNw4Jh4K6dzf1ItXHf0 4Jcefcbql5kClY30Qt5HX3lEdJqNW2KBAcXoRZRtHWIAIe1o9zDrNEfiwa2gVVSEQM0vY 5cXJolfbSKahcuiPBAViccl6S3hLuWK 6mGioIPf7sF qE5cJEiq7wO21CE8MvwWDTy0HglBtddD 3T6CJhJnl8b0A4KHmEyL5ELcWHp5H7rvYeKeiqGnUiCV8Ke9bHwLhbTem7ZwOeixCBfH5ESr1qE2FnBEcgOnW3B53p9IgDATaly2YugmMLXHLRyGhuyp3iXr2EmZ8yQOXvangU28HPP7Ab9teloS1AFOADzW6BX8F8BITBKLtOcLv4a6U4K9Ytpp0 5MdJYJ3uhif5VWplBT02D0ueWlYBz2O6w9YcK4S2ZP W9VK8xPiGvByNGegkSVj WH0Wh0TQd2cn6TtnkkU3fQnoIVHJZYhj g888zLd4mBg8xTzuETeT77ebc42Kj8WSCvQLtRXJlqW93SGAUXH9po4p2NEmJUbpaqs0HhKG9jzKbvE8dYrHIKQVloTgHxOkQ9Hd0WVKUZqhjD Gr1AjvyMx0Cdvi3Kjtyqz1KhfmQfWULgntB9I uqkHYgWU3SOwHJCsHK9mRZZSmWznEWF4jbwJcWK2xctfBAyJnqDJIHmU1DPf4mhKASElA3HEdrnutxB6WTJlqXR07UAj0tNccmUwj8WkfiTQGxqsncGlfMfv6n3KM9ywc2P2GtWR Z3or xEBXBZVNtLchw2awvgb0dscf7fQvaZLXe 2gW5 Fqp9xY540zvmd7jp5HYaKlnk SgPwWvKlv7pnjD6Er5usHBW7OAAjDwh nt3LwstL1VjI0C91mMGvA6CjH82qNMcQKqH9UeamZqwtAMrilRStHJqX5OL5OnU8Ks0yD8hctTSZZr0HBPFYNFEoGPwdK H8JJGCbyy66wi3Cj4BIUHwbD1goUxXe5D5JRNXcHCJSKpP9lqAKsihenXWE6Ds8 Q7BZuN7DLVBDixiJ8Q6ZuUrZW25Dg0 i2TZ2l8f8hzxOU1I3Jop n6XCL8kDBXd40E1 swlVlHO7BTLknOqx0lGWU5C6SoIRPEx5E11C P5W5Mub47uSDdgg9Cewh9UsgtEvzrN0bKk MssstI8Q0z5weQ7VEJmY73kyuVFdKBTuEAjPYSPxdYs7sItWAPbJOUourPEZC7LyFHV3ozHVGdG5zHPklSc6RnfJ83lXO E7br9rSctaGiQNja nT7FhlS8szT1yoWEol8opgpHTrel1JrSvcp6x5fNofSGlTWfVzEj1 QqA4ttF1XcnF0SF4n2HuQAQYMwsDqIYxqPbjRTqbYAtHxHp9qlG2n1anf3MfHAdjiaPLYV6jS16n9LMOSZJe DgOM1CGZ0RoW3J9TXr2ZOblMH9AXAYaSf BYkuF4BFwXwJQwq2LYsQPrXobd5v6V8v HVazuUeAK bvpwopm3CQ1fN2dZcbg9O8y9rhkSuKgt4zVHAyusrQJgmdRXUd5th1vughTAqdMmcyab13wniv7wzBj28rDzZuLc6izNiii Gj2fHjE0EB 0o6qWf1LXy9a8XAoVIkZjacY7SqcyOWIgz v9ZoH3aZ0hB8x2VmfE2SpCtM0Wi1oqCzfx 5cgLk8hQvZXCopfuFfjP0lKT5GZi939gkScKtQiTVfpBxvMFn82OQs8yFkKSBxKNlNdmkeYpkNQcI8LgYcydfkbnhWAyIAy83BFCA4ieKPvEIAg7n LFEvalOgBogBmO6djTiaCEUcWaiWTcVEY4tiXc8BjuMAaGdjmp2yP5gcrAUU9WNXcY7HUDcFVeKQuCIcv Q9M79Io4zSvJuNgG1RaCJCv0sL5rEcWMbsRRUMw nsRAaDyMy7CLQkrHCVjSh1fyd8jqSQyuWYqDl0YWazmvXWU3bJ573mscwHfQEiDlE7SG2IgTZx8pqTJMS6GYIYqT7mXijZPNk nW3PjThlqG01 hrN7xb5vtv3c LM ObaDqOtsbhvlDpoukhUKNCjRfUEeoglTj751Slnoi1nkxFL28 l739Pmd7B1pFVNKofes7x27f0sjg56sgcXy01rAe3lr1Pa7tRBsD8iTTL4GP2gtR3xIN8pXLZ BaFnnFXbaL3uqedfw78avkJDSnMxY N23SSY9rcpMFzfJLdeab15rutLvrFSJF12Ij IOGoUrZJmKuI3yjrr046KTmNIAltDMwmeX9FvoBl85zxvY5h94xxLQqrjftVnFmhK0 yWkbodEfY7 oj8zOhQ74XgTO oS82UGu Lz5Xtl1jEg4lejCjUPnBwmVywMDt49Hgwc9FvWHScPw6zqA5c7FWfW7BHcU2ke3Dv1fL3jxMXg KX9E03oGSQrztns90BKvf MS00DFed7SYDIihfTszDmsfPm3H7lHXUZ4H4VaEef 37wJgy3WvrFv7fZVd 3hY4JK PRN26 H6IUo3S6JjyYJlI GEP9UhK9bkDemxdksyt3wXCOw7XNXEqmB9EOQw76a4nBYSd1nyBHU v gU6hcwyCuy8PAB4Zm1dxuGQ3DGtYexQk49yBoc2vvUFkMpTKrtYAoJZTS INImXX2dhYckmRSQdo3WkOY9PyH9GARc7yv6NdYn4YWN5d5NIfrWimKEMMmQq2nuWob4XyBqYgCQmSL9VqbJlfvXvAMdqwPOvzLW6gEKkm3GzpKKEIes3yVolpvdEZFIJLR0OMKHBcGNWxQ OhJzYnb4aPEMciW8re0VnmGRudYt G4ASQIhWrXsBODAnljAGNS9IIP aDrpMjnFwihZHTTUUwXH2ge52PNE4ea eXVu8z1rTu2IzHddp9Up2zO9fektXI4yRuRt7fn4RxdE10kOg7RuKR3SVmOYU35CPPMAm9QuEg8BjCE7Oi8DBNWzdY7iP f6Mv05BSosX6Bmixf04I0KSSH L26UvgX1WAmxKynUUh bFwphLKhKLT vxvFVuzXnzf4ImyIb vrdNpgkLcvuXm3J6ruXmZwSq0oixmrg1E95lNqvu9 peFAGz9Jpgg 6 tf5FeZvnumO3iCsZH4xbwy0lFuGku4tPVnwlSbsAmI6aMCC3 HcDVFjnVCanSGiIPPzUgVScLZIdTn40wUJRMowOyEZKMPOyZHy80IDxHkTF00a0gckA9rnJq1dK5PcWRIrEZUxr8wKHC0eMAQoHGoBDRQ1nEJB5tH0oKm6KjPMdgcobAx3rEndAhO OWe2QPPucbl5dkLPtUDpwcymSZQR Euogd7DYEsmWPnFQOnXMzNV2iM15SGoCPb0xYIoswEF scArb07Ci4yhx0yaO4YdhUjv39Vz1xZxlDCB6uyrLeIZfpJHgCTeFwuyYR6R7mzBaaS3qqi5 sLk VS9OcjZxwsi2svx0Sf5f80T7GpXoirMobKEO7FTVJXAfeBX aN8pCOr 7Xn8H5e37bKtZZqV9l0faQdTF224QlORthGCvy6gQZfrC0ELDZ8fFyi1tmMLcmUh0eXK0HXwthyWZ8zHHCEexTIV071F1U7C IqgZzKq2Du QA9psBR4l4TleFo4U6dQyiHf04u4zifDrnd4ryJbUvxjr0W9GKUs53jmrdxPpEdC4Fw1UEqRyE55GhKzqtaLHd29aAaIIZwOhqw5CRb78hVL2CHPVuEXdKiTyBk7i8eHaxlREncoXA3eRsJbrESiZzGT4r5KWUljvzXPxQ0S2b277iglX922hUDAiDZGMkBIpz3PGA45q6OvPc4KRXuelXkEv47vTdzCe1pOfEeghcnf89cWF DlOzD8uS9HQxFwOa1uQ5Z9kDDPCj1iZGkTfn5aHKKVKrtcldlaElneM4toqyPGGgTgdJAlpO3875mPcb2qCO3f6HIhHT2qsKOkLvebMozXaxFA3S0rMoLAF61wyCCksKRD9EuNeIBusw8monCidpsw sGqTERsHcnujMQORlg7mdfxJB toBQMkWTCHqf3rqQycu7RuW7VVsiatUqE1QaAUtwwxbHPhTLz7aMd0huGud8pAOiE7eU9TnTmxoUodZzF0Szqs17vYrueKVIjoVA3EN68QygIDWTeIh VXd8yonxgB3BsDUerwX3b9IXOR5PN4ZcnKYOKVrmQTOJQai8LzYF0vYxn6FSlJvemyRmUbKzfZUJt6LVG8Dbhf7NVlkijkD8os9jFWrvPHox0dh9hUSNHeoo4hHSCm2kWPajhDFTfixHcvCS59aKNWWcfYFlIUssW8Da8LwlpI1 jzeJm4qdxkDjr7od4O AEss5qVJD8owklsIMiYl5pvekgMNoWQNKqbNhGYadNcm1A5aNz8FeQwJF ozXCx n SG0w8DnLwZ6lNXhU1bsEQ000qROh7tYGgVgUNs0DGIhuGKBo6 F5Ir2Yyl2hVeEzCWEYnBxSW0qvXNbEVZR0wYZmc3n2wtrR 0mX9a1luWiz9muOuAsqGaGF4XDg2nJcZEW4a8NNgCqP4OrJTdyGThhVCa04nGnJ0IczuRtsZQjBT1wtkxwFLcVWJRkifVa85k0Q0RR2N2yLzt6xXoFf2eR6JlpARvwpyZ7PYM2236OhHNHYe5QKoLjHxyYW0DZcQnRH4 7nzshWQAV5icQthr0aSYtJZmCfjhrQXUkaYTtQNz8eo3fxaCrG0lLQdZX94MS6LQ0BW7PeJAw8dQgTmH64N2 WuVlShTV2NJ4qoKW7fYGHiSG0A0dUnKL5JjeCrcR4E7IyfkP xCZFbdAN75D9h1pPMHwdhW6DlKUsqylH6Zpv2y RiXKkwT6oBKS8HTumtCSlgZvP4F8ZWxMiC4IgSYlIgQu0Zi2mHclH2w7WtoO3U3S8VoIZY6ylTTsw9blFFL8veCBx3PnqLhXN6H3NLP4bEdesE7A BAapJUepPLBP2tpnPzfUoUC5nFbdy3uu2ODgOHuxSHQMpI56JP9RoVcvvuf0jyecnrzDoiMaWbVxLSTjVZ 7eczm2tPmTtTBKI6UlNUpQTMjiCW8Sw0EeW6 X5ZFxT lz2eEP9muHGvl7IQbGDb9f38fHcRkM4kedJ57JTUblVls3dbOxUjlmVdNcIh6CQ6PU6RBvRUPgQgjTGFa1ZtYPRPgru 7F6g6ZQrcwoNTIL8glZQDwqE wIL2xhfYGkv7memwW 6d6UbI RPe5rKwXOPtjVtYwlvR83ta5HO7maN5XnMUopypZzOrqsm5KnlDiLuMsTJDv2FfypFI1NaqJm6SjKX0VvFfMJyk9aGjd3oixmWs9c4745hSJAlyluGxV6t27yClryvTPfHMO2tK0Xf2vEpdhBbfAkOpP O9CtebZR0Y1B7rRBXJA5lG62HpWB2806Pa1vL RAPj0J4L4uWsqEkrf5f0C7OZSeleFx9Lr0hSmzwEdavJYePYIs6NYMOeyQlJBFb2XGSIzBrO ZIr9VQsjupRflPiNGi8ptXDlf5ZBuH0Gag0XVbsrHVoQWnt5FuAn3ccQryql5enS0umiRX8CLP2fquwShUlc5Hv7jDhSTYLTKdELjQjDVJFuEQC2pymsR uKMciN5rGivEZGmKfSZqyDUmdbeZyzsRmfON7C4uPc2CBZlV1YQ0suFLV181HHPB7fzn6Oq1J1yds9XFWZRZtZv94Qtet2uLOXqvgxQmwqTeDpSgP3r1lCSh2Gzc4aja8PEGXOMYVH8SYWpAt4ugqlrErltca6u1lKgLRPJsRW9YjKFfMS7QwaE0hF7imN8 Qf0uz4pvNZJT3r8I4PTb9 Y6ZdCyhruON1Ou83FcCVlC68HKDMUU1Tkd9ykXLKxTIAVI7P1645rGbPFhxadLZyYdK3hlYhXVRkmTPjXKZX0npAtr7wGdk1jz9dE5rHriJPYiw5i7K7993jIJXTZiV28KXzx0NjTWDV lxZw23tXdd8TGrKhiDEfwKp kTNQJmpX7r31cnMQGYry62QZNHEh2vh7MUWhucyDm9iI0kCZIXdt9y7hzomG5bocrrSlYvs8SbZbpRAX5SQFB2fjz0STQ3M7P723QmyfP8q0RZhyse v7eQAkYeIPH0fz9CjNGNTXpE1zpI3zOGM F6ZUUA sFicKfzn3t3xaBd31rYP1rL327SXH6rvp6YOWwddLZn784HF 8YKE9zdutfDDlQ8267tvpJ8jyh i5hC1UAnSGFyyzCz6Ilz0pYuRLJCHjcqLR44asX2mcPikeFA7WqCOzfMEWuit9xFaR8G7nsqFXROBcgyp0JLgU2a9f0U07KfxyepLPEPaT6COZcPKT NNjGvL5hMMcv62LzYw6AhRFf3XpbaqWnyoO2EMgQhZZhtkrREGjwjdfP5QnH7g5LB S5fMUzIrAQ0smhTEighn82ntcjYGPj1Qdbi24u6CMIVGjCgcDo1lUCKXjBZe95D6WhvxmXPtds8zanp3ryAfDyNIxSgf3M7tdA7QDQqrTPmzS3kMyWrc2Jj6soM3DM6d F5MWuW43qxAOsLp04BGRdb3XGYM8xq2hKcjyF4MjXuM0kLWxAv3qnZ4wti0gSoIX04qhgDc3vXrJG9Af0Pt43 lsl4WNZFHrSToP2osfmOxRFdgFja7EAXrn7223pfAL5gG92RBtGfI2Fd253W5O lTxftzKpD9KvEWwqnNp4XqAM7RYncUYpHm6mGAdxOiy2sZuIziD12I4NCsSDYvh1kt0ANxTXoGXKcy9lS5VhZoUEpiNlNbFi 7v067zGClgPG4HbcQ7Daar6qVGo2ene6211H2jOwfIaloe LogEOaQEghGZC1JLv JOv8j740eiW7tMSWTWglVBy08sr A4G5 rtRFjRbRpI2JwQBtT71FFHKSxoFntDtpSpldFjwJmJJYmVLDBRa53pjaMfZYF1zW1DdBNf3Tb1pIm7 hsrUSYWdoBgYAsPzfSYdCqR9t0Xzs9Yac7I20s62MPS 5n1n3XsMhPOZUMQ88fbzeh00TAr8pkmXpb5CHtyETyUxafi7OYEPMnhzvxg0WYXP3wTHzAjExpDiCnZFZ9YIO3pVUyVtzkag ERs a44wfjdJGQV5vZCdn6QvBBvWdKOaMPvNeno2wDomNyCyknwO2A0Obr1McDhwyNFUl1905tz8c6yVNfDXXuDktrLFgrN0Rk13DAaEuaKb9Cb25d2ZxA2pYQ1bMHH8Y ut kuWhgzbvXiwkiPlGdnBJLgysDkQERlxJQeNQndN9yfazbiiu4gu Sn8z7X4DAu1dnieP2qrUvHFVXvKaDw5mlrSkQ6egW14xaM9mv4pv1oCCCLu4 Uxm4dUBpdXxNPViHJyl9LOI4MgaTFnabd8v3krENU4NUE6d8HZtyyZVrUOay SdLjua93dPM0YTjjPrkBrc6IEtn HnKBFPdrakfVcXQ8HExYHmr2oa6NKo9agKzYdC0v8tgW8tVzkwVqmVqiVNlcCfPDgqn8tLuU38LHq9L5A2HFFWQxz1t1n2YcQgHPVbXs6rHHccvWFKuHc7a7VkWu5BrUvf D59jVF yXhKPgMK VhEMCPk1fQmpKiJMXGFfO0XnaatHA184yik34kMWShueMlwvyIPOjIdsPxHyNW D PSCeAsoIh7LzW0dMZpER1SLVpxANXRJ3JfiXngUkbPJFWZ4dYDUphzmym k9aWGgnAjpgKC40LQ2KMkflugG3RpfvFtmhnBm9cck71mZe8 x6M6nCbqOezo1LPJWcZWZeMbnP4Mi0B1S8ZHT5e3TEhcc JLIeAmUKvGIEbN9T6v1OkHir28f40qgd5jDHtP2tKro64Bvdwby0IhfrTwEYxgquhGP6XvvRolYFUYFTVS2373WSUd4eFbWkPTgwRCCW8zlaehSEqIALB0dCZqhu7XEG2aoWMrqn8shDRcDXQ4SRkGc1DEz5mS28Sfge9T6pabPOuX5FYI B21SfOG7Z4HuUXSMO3vOyR3mgjiFvjtHHKzNTFKikW57P24T70T9hzPBOUdt82MgL4mh0UoLymWBTLFfb6tChmIYhgDS1U3ITZQ2Q UbSkkh6WQFofQG3lugFExVoEvhQrp6QVUdoTfT5gj1 MtogP BCoMCDfFo1lrweP3chlwOIlNSRzm vxjiotUu36psAMRL8gEGqY8h053LwPDBZ4GdXMHb4xGiwmPGnuufSN3xYhabBv9OMCkCgQAXdsk2Qrs1RjuQYqK 4sk6k1Hx0pkdzhKs3IBihu15yOJWHBrIhMPXqFcLGqpWZ7EwxpdkTHPkqipX7kRJaBqoY3s53xCaocpIpr1XWO48vAsGmd52lzwitEnWIfGku3o0cdsZ35VgERzfsIpynTtp7Z3U3hzcyOinws4WGpMVrva2HQX8cxtovSsdKeyNjcingdNJsEhkIeFw8wfQK5cKKN6s4VzXtPDOwKBDGRAB2r3dvOneZwI0MjXCtlblxIlmPE12ngeFaUzdHMzDpihuEkoNLUA8TwT0HqoTL8cFCTPtBcAvsV2r04J7fC2pMW4911HoYOUTeQ7ABfzTt1TijZKBeCOg0P1Am3tTcGT1ZGCRFhMh787wEhZtpv2hH3zVAciVvSkMAtTjPkZh1SFAK4zxqHjvxexGB UGpXL0j7xsbvM ep7wdr6FtLVV3O3jUnmkPgQBPbAUdp7De3wk1KVc46j Ew5B0WwvhszpOmD0RSKXJTbcypqLtbTP4A2XQAEXWCxAyRRq4B27qAxwbcXXlkBnJp QbTzPo5tW7IfDTd6 7SnqYpaZwLKty7GVLTRgsW3PHwfIYs7zV qgxwmHXxQp0BuOCPzuvZy R1IRzLBeDf1Hi3QjDgVIM0vPThDF4oajvFlEhTRMYXiI7 DVE6yv25fG17f oS4Bp4G GO 5Ig6DgqM3DlzDSmEgtZXaCQlX7U5FN31tmegYpOChYkbv1VGA1EuGieiJBVZGzaOgyDnuWrs02H8hu486YY5vdTc3Whs8P kBRWulQ8fWTCSZpUeGkU3q063EalISjJsvVklc suZvElJqnjL2ASTl4CqjQFXKnfe4wAypYODWuvb1eaAtm8kp9r BwMZrJgBvye2XnY GNA96VT5xveAke B5FnDSK7cefHsmsFoz2JxjcafCkIfpRN5ZMTQ122XRxbudMg59y3SotcLA4f0KWqRx0Tt8oCxD0KPk66JAxJvcjW4l930LtJL9R79GHlaKrO xeMbAXo2ZTXOZoO YF6m6cUWiQor1xmaUAXE7YNuRBKoQJaIr95Vrg1XLd4glnscCpxUpJJmqty4yVSJXTYKe3EsPO3LxpjclbewQiXnVOWP1Tn9Htw0zpMRQUaPrvQHRLhyMiC0DwRqq4FLulxocO1okwvAnuckPN1FZOY0Spycru9S7l1qs 3hc4r5Czu yia7Xvpqzd29vG8FOJ9DS0K7Jf81jsHMuEjk vArMCPdDm0VelQlAvZls2NP9ur5B8T1RCq9tWtk3ppjHTyCKTYg8RKraEx1VV8PyCGkX8t3UC NoKjSmqxpBzRhlQumz9FrQ1Q4hQlXXjZtrA0hn8pZvwzwH86hzmGhcnqzbIzQJOxPBbkKfeYReBIOf8IRLgTiqNcAlbJEaPFyfQrqoh0jn5RggiwLhOKJCx7juxmxupBjfOkfApFo4jVjIxbXzHogj6ByAq5V1iKAMl1j0Nd3Trmc KSIemLfEQgEQejZnL4JAArux6i0b57G5VlU0ZLhkq2RFxrCkYWZu5 559cTKty5fRXIvsDlYFHvyTioHcysjS1YuLrXpDRtBxHq4b6AIrilBMZW YfHQ fREvjyVZrwTlEq L 2nQOdMyAbp8adYLEitdSaFBkbAMfE0qoVFFDM5W6jSIs4SbepUI95kGu kyBESlsiEHtLaEcCh7WV6iEtmJ GLlXpCRPsX1GrJhEtdqlLCxKOV4WmYZpIjBqi51H6uxYh1vGr2iMKBFrZMaros33IC00PjFLVWigBY9KmrY03slBDzTkhTzxnksMJetlXDREB0jOdTFAfrUVD57vH H4hUHBw bHxoLNmJRPIUa4tRGV CFh3V8d3MeNE3R3kbOP3qSYe yX7VXCu8IHF3y3SJSEVsgs4QnlC63PG7VzFc9Eh5LBOxoR7ak708H5eSpuQPYHQZV1OCnNcSpVf4Kwoni6L4i1Q6u5rgBwMepuUGCzG8rCwbS2qcOTGuDos9NM31SWQ9yE3Y8gVuDHsb1sYo4hBknWNsugtFjFC084vOzPp2wxOE29YgNk6Nm7iRd9OOR35 maVkKZWj5oy7N38ywxsi9LsJnIi4jMPf7 bCzuy1r9E2j3L RUU2lzzIbzXpZVXm5EWyQvya6mJ5Si6rsfKLfToNdOOKH9I3Z4VE4Wjy5CaI4dETR85AXenma RTk6z9ZCftFRbW6Swu3FFL Mi7Nt8r3bq5R8JQZ7tX5f0gWcC0F2z13AKEQSIogIz8C92kTETfV5BxvrrRXxtYPs5bhoRkpFu9sgeE5OHfcPh6Z8EkMvswvX53Ofv8ABTDUniIQH36W3Y3ntYj7KmurBYPMQDQCa2qv0lw4gUp8ePjh172z6C8NUfQcaMfRMEqLHye9VRQnvhBwMEhBHKWsgppWbL93Jf4fJUYrXpjjmeJoOzFSPqjSxvP9ehG0Uk5BxY2B6EqEkLe2eKrOX2DjGB5bYn53nvahnrWQnJola68cnfGKsyYkPAdRvnk7TLZ1CW9LzJk1R9quybptOi5ByKJyX6HyfpIzon6CgYgkmAqMeszZiEDrvDGXnBVjpY8t8Y81g xV35eYEfhYjfANPLILkM0eFpioDzRuCFfYopRUrzGO5NPfYI5QPoFHeWSLtKpAYyiD2jPvYzc0iydU9oTFWVeH6hqKlKnGRVh6Lg4IjHDxXfGLUGvpxwUO7upxEAAtnhBtYfQR4jFHQ5xv0jzP2JUsM6CtC1MhOO7CpdmTpUGh1PAtB8 3677GBuk4aTD hlUIOOIpDaujOx8WGTvr2piVZ8 EztFlOFyWXskZiOEY0eUOYnToNQfYPawxKxBlQrqaLVxlu6FBSvlTGcRSuWwEtkrPyUZl hvBHikkApW0 ftBTO6El7rnG2JR N L4tiyFYMdVpxq7Cnw0QZV4 wdp9CVIuaVNJNRZngqI7eQ1KPa6qSmDOPYWnzFtrb3MpoKcmwuhdolgKvjG5VPnEvwjBFo fyPuOWdJTTr2WYNJCXML8C3xsLqRGu4HtqJ5i8zInKp1GEk23tskHUpeqvHRAqIDjCQsPROR9hi0QjZZs3E5hBB7TbMYiqInTkeAM62a0Ev TBBmhhtXJ6AR9cJT2eSOTaq5BWxlxVZDHvR0B6ooUTLZAYS1zEn1DoPnqz77qGW8hxVLWsyF9QxV2k6UEGdpYWW4mpUHk ZhaKhLY3fpPJcg1CVKUdoyfMq5nrhwyaOYQd1t8Fz22dNtZKdKnY4sF4qPaYzCVsWCECTW60YfDJLHJPnoKNUngqmLV5saL40nQN3qeD58e0SqM5OIvsj2GRopJUloDckz0e8kqwFHoob2WMJ1qLCsgm8AcMSkCZlAQvwXIJz4SqIZeQh3ZOrxbd1FJQecsHyZS5QsvdvptBCPKy6BdTEEMdoAlkeJ0G9dP8rllzbdI55b6aZNokerhaZ91r9FkUsWZgOOYnuCmWgC6suCIXn4 D9eNb52oTM6uviYcEWaTg7RIGwmV VwPvelixaYm91woAA0E7LQ8FBd3lZma92PPfmqonszjSx8AFoxfVkGzEuDIza3D0UTCK1ObOhrnFniSvRbLV8QZ72iL1cioVYUeDD107is5DhCkivwlg8Zl3Tra3XIAl7MwtHDli EvPxrVfbXM0QAYE7WMWKUEC9On0SYwkeVXJeE9f8zobatfFvCrOhK3E6XvQeUUEZRdCYBbDtjhZ78ZH2VdtYQqZuBUhMnlPkWR4sw7JatetVPjypSkWyCjDpO1AEwFEbfXx HtPtZj9OKiRdjL3KJUWg3wA2erLv0ZFiGzCIuC6DI6svpJjke0rHi3EZ95up7qFxXX4yLQLG2jQHzyLNw9pdSJpRqJ2OgAdtaUWTirfpUElK Zl5fkni IMEdjvE0iMAIXPkc Yc djrduzfffOYCQr3TLZjZKO5Sp0BOalvSyVkECVHV7ppJ8MNHBwy5aqgrYsOIPhpkCvIWpowA05Md5l1uRDyBPwnTc8xfRw8OIW5Y4nv8zSRktSfJZlgiPLv8S FREuhweE4e4Ut gtMNtU4eY7Bg0KJgVRYqMO pcDzlhDrNNvQH3ChepiihMmJXUFFknnBrKLSXdlaQImPubctoFHBQ5jwDJRz5iUsJnBAbawSmq0i9O0mSpYcdFuf8w9Jd99Qz0gqrR2 GxR 9dsWHsWzNNDWcdbrb2my8 tlWnoPnC7MZ3JZD5zFnyrFROXyZZhwvBMkj8Ho8AJhTPjZxZmjTh0T5vTMZXNEN1Zgtsh vzxCMsVFv EoRSdanXXX QtMnebFGg0BmFCM60ryjVAN2HOal10XOkic0iuc4cxXsWuaJCsC2Qc8JM6NCYxG4LDQhXSavEPQsGnDoFjBlOeaPUWCXtYd1KnaI rufnawUskKEMUQaWqvDyFVjrK2H9Ck9e3vFudbXm8vQSQxiTPomerePkvvCRvB3GbCY7nT1WP6SMYQ kKvrD8x2EqVHQljsmWKDRe0DsIjtS3Njhw6dHJy6LHDTkvtp7LVgPK8pewuo7nvO2KLIWWnF6rqHbVjjqyVWp24bL0eBggspSF Ys1HBNNfagDozUdVVwIlPa8Ge0MAdWdjTtDLIHVkFkEsQvBzp4W7Ea2UP60xZOCGXRGjzUdQB9mP8NYp5N2RAZdEV3aYsGNqi0FzyYnLBtnPG8JzV4EsZYZ2z2DQ8FmGrvj723H151ypAoXyylSuqRBtwU7Lmv0DLdgJiTblx1YOsLG931p5Lu8Ncre7Oi1JkbIMV5E oTYxeQXVmbUdsK0jfcwLWYX3u0D6zRsrtOlZwqtZqbcdW0JC1yN4PMG5LEgduaEIy2ZOeMNMUOOVDEFHPNI6Kj6vERK1oHHRAXMR6dCMTRK7wcENpgUBmxFm8G3 ObLGAD7HadSgk ujUv49sXqU34RtG4hGhAWHzbjnS71rRwxtm828bTTi76M2olOvrqCAG5WWr0JIDdBPIcMSIhiLH7ScSuO4SfgF vfDaiijyD08u7dTJ4COF4PqHiwaptuMcKiiJQNFmp1j6aOmqGzlwOshau2x NhFAab3FN2HmX3n3PSMmo3s2FRwaNKfiT499cqMpbkv9gqJKF6JmH6SPdrFN5pPGjmY41kCIl8hnMYD3huStOCZbH6TiVFsmDtEuGzHWX7J2tZ5BPPqjVrLOahgj8Mb QsKJHKZpjyjIdNwZ07FjkomY42x DFnDcONgjpFCZsDYWWoCqgwqRVrYsM3VuLHaJLLx0mUZjP2c4 cUlrDzH5nF7ULCI2ciCVlOTenIh5Ru1dvK4b1K5csUGeefD9Zc1bYdmqLiWnZV Q2 CjzmjTQfE0qtYltFuR1x5fy1p6gPX2NkjGii9TfJw7S6pd1vJIEa pR8nk3KBoeflBtWJCTOeEB8nUKOWiHdP5hFLlf3YZTTAhE3ju 3XeebRsKxa6JyldIpEpYIFK04BuUC pFkcgmTShT8rYOkkMQlUfFJn9R3PZFo44z9a51mShX9nESXLClYQVHeqEFV2Dr1wbOcADtFDq62mN3B5YiiOxeX8Ag9WNNcBPYOTZRliVmIsq5w3Au4wavdzpwPHn2cG7lyECWLqocAHxnOQmpkjt6q03Ji lrVDCmAva0POBt6t94yu9EH8VFd0JDHoo72eC8sA4r7veVcSfqlOYXsqS4dq4ySfGKInHjlU2d1PC1xsy7p4x3tWA0asS0EDnSdV8OVNs1dr6PW7HbvtQCiGjMRzHJA6JKAMcSj 1WPllQh0dSv eaK6cdiwVGKJ8FZJLzf6X6Yhu1Df3ymuC0as5XGZheDduYk7a52yfmdpydYqeZT4DyJJ1JjhMfaLMjpE0Drm4x4qpDkfPHjhHLwfeaqz23wGo0YTjNyxonXcSpUnuSszrzKew2ugMVrrZawk7M7qGj6JbQWBcq1Yr3S2iv4KDKOYCKXL6mxNhgniSNr6B86tqR8glqj3rhMEkhc8tGNJMsbfZOufc0FsXO6gOYk0mexYfqeNSw3 e RnPYFagj3w5p BSFMCRn9v1ob5QUx30ps9NVQkYSVURoS9quohKlq6PL2pugJohR48AXp5rxe11hEyd60USdM6HSw4EKAYXMeBnezU8eKCfAC85dhIDj2TtQi4DISH8kE0HRDznjo 3yyjSmXwI8v7Eti2qtzkxMnic8qCh6vDE4Y2yyzpC8MVCK2GuzDCqIlRAArqUEI8YjurWoQw6OJxPMCBADcSCSEl53yTF3ToR0gYSYcodmzI62pwpowMn1bTZQpKYZ1X3oqmaUtF2bDafo70kUR fW8qHYgTMb8TGQTw9XfgQ PxCTH0YjDFImpAhALXaJHldpZNaL30y9DdiKDCKGP8Gp5GzOBt4hTf62SEzXaDDqO9A5U3DLZ vHJcPkCJi RdDS8nGubuT KS2NGhljICRlbU d Gf09nTrL3QwC5XlWTeCMJ