From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id uIWQMeSijmBx4gAAgWs5BA (envelope-from ) for ; Sun, 02 May 2021 15:02:28 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id iN9HLeSijmDvewAA1q6Kng (envelope-from ) for ; Sun, 02 May 2021 13:02:28 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id BC72024AE1 for ; Sun, 2 May 2021 15:02:27 +0200 (CEST) Received: from localhost ([::1]:51208 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ldBju-0000KY-H1 for larch@yhetil.org; Sun, 02 May 2021 09:02:26 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37694) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ldBji-0000KS-4E for guix-devel@gnu.org; Sun, 02 May 2021 09:02:14 -0400 Received: from mail-ua1-x929.google.com ([2607:f8b0:4864:20::929]:43920) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ldBjg-0002Q7-3E for guix-devel@gnu.org; Sun, 02 May 2021 09:02:13 -0400 Received: by mail-ua1-x929.google.com with SMTP id f1so21236uaj.10 for ; Sun, 02 May 2021 06:02:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=H6/it5urYUjD8mXUdeXecxkIrT8JRP08VoKbkc1/Pvc=; b=YK35Qb2w7fqikKw+eORroEGFrfIIWTMbaCA4lyg2hN+E4L4siFsNoTJ1rxE2gvbuTJ XRUvNKB7atAIKgRfULJagDKfKIngkWTt09p3B2s/DS8AE208FUBBlFHsWDPB4dQ02ywb X32QAsQT49Sq79KH4OWLHBCT9sjxGqCssY0BqYkX5x6qat0E7fRC8ZONCeqCZhM2diC3 UzH5lo4JqVHMsiz38hLEuroJbNh8h4Vd4pp7n0GOwldLI+SmVbfHnA/Zmh2k/ASxWOm9 m/M43WD7bq10bHXuCUi9qR13UKMbJ432EjXJmaeb599P5fcCga2akQ6ORwYOOXnfBUG2 /BnA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=H6/it5urYUjD8mXUdeXecxkIrT8JRP08VoKbkc1/Pvc=; b=iCiI40Q+75ZMs5YqbIyylh0o585By+eGq6Y+8Fsvjoq4crA8LLMQ03UTkIPDai3Vr3 Vm56ppBI15O727hdxzo8nti6xuVuK3l9ms2b4154vy5LJzOWTNAmaivQ75CZwmfKiuDh WA9qLnUs2SMdrl2Dwc+k+EpdRtJ7hSONHeKwrqhD+g2cljTctyS2jDeTcvja4QjW/xLN awGamD+o0IEmb/eO1hOy4n5sheFcEAlJE9S7NME+RzTc08MoG6oW7nXGLKQwAJ2UK7c/ aq0hP16j5VblmuC0PYNjYK8PZb5/zqfpkk9jX/ADYjuFyEqfvJ0hm0xr0BnnZhxbQgQP K2nA== X-Gm-Message-State: AOAM533FAex0ZrT4cuRdc/0IfIpZU/5f+oMmyS9ZPQ02nKSeQT5BAczt +Mn1VNHaAfuc1TIRZPGtyS5bCa5XKCQmSAuyxbQTbqO3yHpO3g== X-Google-Smtp-Source: ABdhPJxN1k91d03we/kRX1n/9MfxSJzWL7vOkkRDFZTB0WIqsa+RhE1z20+9hOz7PdXuzWjdo4bbMxvrag59LJ4XxwI= X-Received: by 2002:a9f:25ab:: with SMTP id 40mr11312469uaf.141.1619960529206; Sun, 02 May 2021 06:02:09 -0700 (PDT) MIME-Version: 1.0 References: <87a6pjfus6.fsf@cbaines.net> In-Reply-To: <87a6pjfus6.fsf@cbaines.net> From: Canan Talayhan Date: Sun, 2 May 2021 16:01:31 +0300 Message-ID: Subject: Re: [Outreachy] [Guix Data Service]: Identify the slow parts of process To: Christopher Baines Content-Type: multipart/mixed; boundary="000000000000e5084205c1587324" Received-SPF: pass client-ip=2607:f8b0:4864:20::929; envelope-from=canan.t.talayhan@gmail.com; helo=mail-ua1-x929.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: guix-devel@gnu.org Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1619960548; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=H6/it5urYUjD8mXUdeXecxkIrT8JRP08VoKbkc1/Pvc=; b=iaRnEPUAOz474Z5uuoQf2UQfuYrWNxylS3ic9Fc41uvR3HQ6VXqE9nu0Vr0dPyTgtzd5Ld If3BfE7nLTHvFSFDKLt7OGNQmN5iRphLaygHvotVa8G2S3kqMU3P0SwSLz6nJnv3+NM3R1 3O6T7rgZtBVvjyEEPgbOK+Tct9ItfFHfcyvKbZ3aAob9P4uYITBYVRreTpMz0V+Yyh+RT2 BvlNPI+B+UmO/K41zH62pUy3atTcH1suHvqH4YZeCuCa4qsPvfbXWunjdMq1EXXsSeUHwC YTXFTW6qj4+zedVb5A9361S3JZ6gj7o8Z7EaGgA4uUHlm0HzVrybvqHJdO0C/g== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1619960548; a=rsa-sha256; cv=none; b=GHdgyTpv/BpjbvpELO1zwSO7ztXqOnDFla7fuMqAnMyKWD0rZh/tmRjuLG6qOhApz7dAMg KtyMIaxLGKR+MqjdmiLNmv+oEyCTpdP82/6a7tQYWyRnQZrmZw49gHiRdLhFxkOj18fsL7 r1Mg/uRvW0/VJr3NCRF52sUBfFz8pL8/WDPgGN5NZuw0cJ52NJ1MYuTVE57+91T+2I5RSM m81n2srx4ZecsFo5+MJKlrNjis9NbYF9hEVR29+MyzN36+sV5Y6V9xgub5xZdRnqiVUVGU oCNEcspKFuU/Oe9HtRenUqVc8XwSAvi9z2K3d/MKPEOWTC003AkN3f5JPZT/Qw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20161025 header.b=YK35Qb2w; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Migadu-Spam-Score: -1.56 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20161025 header.b=YK35Qb2w; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Migadu-Queue-Id: BC72024AE1 X-Spam-Score: -1.56 X-Migadu-Scanner: scn0.migadu.com X-TUID: HeJuZ02OnMLS --000000000000e5084205c1587324 Content-Type: text/plain; charset="UTF-8" >>From this I'm guessing the temp_package_metadata table has only one >row. My understanding is that this table would normally have as many >rows as packages in the revision of Guix being processed. It might not >be possible to reproduce the slowness of the query without more rows. I've inserted one row just as an example. As you've already said, the temp_package_metadata table should have as many rows as package_metadata. After populated the temp_package_metadata with 500 rows of package_metadata, the query takes a long time as we expected. I'm using Flame Graph to visualize the slow paths on the revision part. At first, I choose the slow one that I already know. However, I can't successfully trigger the slow query following the below step: * Run the **guix-data-service-process-job** under guix-data-service/scripts folder as standalone providing an existing revision on my local db. Am I on the right path for adding new jobs log to my local db? In addition, I've successfully generated simple Flame Graph using Linux perf. It visualizes only the data that was captured while I'm browsing on the Guix Data Service Page. Please find the svg file attached. Thanks, Canan Talayhan On Tue, Apr 27, 2021 at 9:26 PM Christopher Baines wrote: > > > Canan Talayhan writes: > > > I am writing to give you an update on the progress that I have made. > > Great :) > > > I've created a temporary table named temp_package_metadata[1] and > > insert a revision that already in my local database[2]. Then as you > > said I've run the slow query with EXPLAIN ANALYZE. (screenshot is > > attached) I may understand the slow query's working logic. > > > > [1]CREATE TEMPORARY TABLE temp_package_metadata (LIKE package_metadata > > INCLUDING ALL) > > > > [2]INSERT INTO temp_package_metadata (home_page, > > location_id,license_set_id,package_description_set_id, > > package_synopsis_set_id) VALUES ('https://zlib.net/',9,9,2373,1407) > > From this I'm guessing the temp_package_metadata table has only one > row. My understanding is that this table would normally have as many > rows as packages in the revision of Guix being processed. It might not > be possible to reproduce the slowness of the query without more rows. --000000000000e5084205c1587324 Content-Type: image/svg+xml; name="guix_data_service_perf_fg.svg" Content-Disposition: attachment; filename="guix_data_service_perf_fg.svg" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_ko76najs0 PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pgo8IURPQ1RZUEUgc3ZnIFBVQkxJ QyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9T VkcvMS4xL0RURC9zdmcxMS5kdGQiPgo8c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjEyMDAiIGhl aWdodD0iNDIyIiBvbmxvYWQ9ImluaXQoZXZ0KSIgdmlld0JveD0iMCAwIDEyMDAgNDIyIiB4bWxu cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3Lncz Lm9yZy8xOTk5L3hsaW5rIj4KPCEtLSBGbGFtZSBncmFwaCBzdGFjayB2aXN1YWxpemF0aW9uLiBT ZWUgaHR0cHM6Ly9naXRodWIuY29tL2JyZW5kYW5ncmVnZy9GbGFtZUdyYXBoIGZvciBsYXRlc3Qg dmVyc2lvbiwgYW5kIGh0dHA6Ly93d3cuYnJlbmRhbmdyZWdnLmNvbS9mbGFtZWdyYXBocy5odG1s IGZvciBleGFtcGxlcy4gLS0+CjwhLS0gTk9URVM6ICAtLT4KPGRlZnM+Cgk8bGluZWFyR3JhZGll bnQgaWQ9ImJhY2tncm91bmQiIHkxPSIwIiB5Mj0iMSIgeDE9IjAiIHgyPSIwIiA+CgkJPHN0b3Ag c3RvcC1jb2xvcj0iI2VlZWVlZSIgb2Zmc2V0PSI1JSIgLz4KCQk8c3RvcCBzdG9wLWNvbG9yPSIj ZWVlZWIwIiBvZmZzZXQ9Ijk1JSIgLz4KCTwvbGluZWFyR3JhZGllbnQ+CjwvZGVmcz4KPHN0eWxl IHR5cGU9InRleHQvY3NzIj4KCXRleHQgeyBmb250LWZhbWlseTpWZXJkYW5hOyBmb250LXNpemU6 MTJweDsgZmlsbDpyZ2IoMCwwLDApOyB9Cgkjc2VhcmNoLCAjaWdub3JlY2FzZSB7IG9wYWNpdHk6 MC4xOyBjdXJzb3I6cG9pbnRlcjsgfQoJI3NlYXJjaDpob3ZlciwgI3NlYXJjaC5zaG93LCAjaWdu b3JlY2FzZTpob3ZlciwgI2lnbm9yZWNhc2Uuc2hvdyB7IG9wYWNpdHk6MTsgfQoJI3N1YnRpdGxl IHsgdGV4dC1hbmNob3I6bWlkZGxlOyBmb250LWNvbG9yOnJnYigxNjAsMTYwLDE2MCk7IH0KCSN0 aXRsZSB7IHRleHQtYW5jaG9yOm1pZGRsZTsgZm9udC1zaXplOjE3cHh9CgkjdW56b29tIHsgY3Vy c29yOnBvaW50ZXI7IH0KCSNmcmFtZXMgPiAqOmhvdmVyIHsgc3Ryb2tlOmJsYWNrOyBzdHJva2Ut d2lkdGg6MC41OyBjdXJzb3I6cG9pbnRlcjsgfQoJLmhpZGUgeyBkaXNwbGF5Om5vbmU7IH0KCS5w YXJlbnQgeyBvcGFjaXR5OjAuNTsgfQo8L3N0eWxlPgo8c2NyaXB0IHR5cGU9InRleHQvZWNtYXNj cmlwdCI+CjwhW0NEQVRBWwoJInVzZSBzdHJpY3QiOwoJdmFyIGRldGFpbHMsIHNlYXJjaGJ0biwg dW56b29tYnRuLCBtYXRjaGVkdHh0LCBzdmcsIHNlYXJjaGluZywgY3VycmVudFNlYXJjaFRlcm0s IGlnbm9yZWNhc2UsIGlnbm9yZWNhc2VCdG47CglmdW5jdGlvbiBpbml0KGV2dCkgewoJCWRldGFp bHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGV0YWlscyIpLmZpcnN0Q2hpbGQ7CgkJc2Vh cmNoYnRuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNlYXJjaCIpOwoJCWlnbm9yZWNhc2VC dG4gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWdub3JlY2FzZSIpOwoJCXVuem9vbWJ0biA9 IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ1bnpvb20iKTsKCQltYXRjaGVkdHh0ID0gZG9jdW1l bnQuZ2V0RWxlbWVudEJ5SWQoIm1hdGNoZWQiKTsKCQlzdmcgPSBkb2N1bWVudC5nZXRFbGVtZW50 c0J5VGFnTmFtZSgic3ZnIilbMF07CgkJc2VhcmNoaW5nID0gMDsKCQljdXJyZW50U2VhcmNoVGVy bSA9IG51bGw7Cgl9CgoJd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgZnVuY3Rpb24o ZSkgewoJCXZhciB0YXJnZXQgPSBmaW5kX2dyb3VwKGUudGFyZ2V0KTsKCQlpZiAodGFyZ2V0KSB7 CgkJCWlmICh0YXJnZXQubm9kZU5hbWUgPT0gImEiKSB7CgkJCQlpZiAoZS5jdHJsS2V5ID09PSBm YWxzZSkgcmV0dXJuOwoJCQkJZS5wcmV2ZW50RGVmYXVsdCgpOwoJCQl9CgkJCWlmICh0YXJnZXQu Y2xhc3NMaXN0LmNvbnRhaW5zKCJwYXJlbnQiKSkgdW56b29tKCk7CgkJCXpvb20odGFyZ2V0KTsK CQl9CgkJZWxzZSBpZiAoZS50YXJnZXQuaWQgPT0gInVuem9vbSIpIHVuem9vbSgpOwoJCWVsc2Ug aWYgKGUudGFyZ2V0LmlkID09ICJzZWFyY2giKSBzZWFyY2hfcHJvbXB0KCk7CgkJZWxzZSBpZiAo ZS50YXJnZXQuaWQgPT0gImlnbm9yZWNhc2UiKSB0b2dnbGVfaWdub3JlY2FzZSgpOwoJfSwgZmFs c2UpCgoJLy8gbW91c2Utb3ZlciBmb3IgaW5mbwoJLy8gc2hvdwoJd2luZG93LmFkZEV2ZW50TGlz dGVuZXIoIm1vdXNlb3ZlciIsIGZ1bmN0aW9uKGUpIHsKCQl2YXIgdGFyZ2V0ID0gZmluZF9ncm91 cChlLnRhcmdldCk7CgkJaWYgKHRhcmdldCkgZGV0YWlscy5ub2RlVmFsdWUgPSAiRnVuY3Rpb246 ICIgKyBnX3RvX3RleHQodGFyZ2V0KTsKCX0sIGZhbHNlKQoKCS8vIGNsZWFyCgl3aW5kb3cuYWRk RXZlbnRMaXN0ZW5lcigibW91c2VvdXQiLCBmdW5jdGlvbihlKSB7CgkJdmFyIHRhcmdldCA9IGZp bmRfZ3JvdXAoZS50YXJnZXQpOwoJCWlmICh0YXJnZXQpIGRldGFpbHMubm9kZVZhbHVlID0gJyAn OwoJfSwgZmFsc2UpCgoJLy8gY3RybC1GIGZvciBzZWFyY2gKCXdpbmRvdy5hZGRFdmVudExpc3Rl bmVyKCJrZXlkb3duIixmdW5jdGlvbiAoZSkgewoJCWlmIChlLmtleUNvZGUgPT09IDExNCB8fCAo ZS5jdHJsS2V5ICYmIGUua2V5Q29kZSA9PT0gNzApKSB7CgkJCWUucHJldmVudERlZmF1bHQoKTsK CQkJc2VhcmNoX3Byb21wdCgpOwoJCX0KCX0sIGZhbHNlKQoKCS8vIGN0cmwtSSB0byB0b2dnbGUg Y2FzZS1zZW5zaXRpdmUgc2VhcmNoCgl3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIs ZnVuY3Rpb24gKGUpIHsKCQlpZiAoZS5jdHJsS2V5ICYmIGUua2V5Q29kZSA9PT0gNzMpIHsKCQkJ ZS5wcmV2ZW50RGVmYXVsdCgpOwoJCQl0b2dnbGVfaWdub3JlY2FzZSgpOwoJCX0KCX0sIGZhbHNl KQoKCS8vIGZ1bmN0aW9ucwoJZnVuY3Rpb24gZmluZF9jaGlsZChub2RlLCBzZWxlY3RvcikgewoJ CXZhciBjaGlsZHJlbiA9IG5vZGUucXVlcnlTZWxlY3RvckFsbChzZWxlY3Rvcik7CgkJaWYgKGNo aWxkcmVuLmxlbmd0aCkgcmV0dXJuIGNoaWxkcmVuWzBdOwoJCXJldHVybjsKCX0KCWZ1bmN0aW9u IGZpbmRfZ3JvdXAobm9kZSkgewoJCXZhciBwYXJlbnQgPSBub2RlLnBhcmVudEVsZW1lbnQ7CgkJ aWYgKCFwYXJlbnQpIHJldHVybjsKCQlpZiAocGFyZW50LmlkID09ICJmcmFtZXMiKSByZXR1cm4g bm9kZTsKCQlyZXR1cm4gZmluZF9ncm91cChwYXJlbnQpOwoJfQoJZnVuY3Rpb24gb3JpZ19zYXZl KGUsIGF0dHIsIHZhbCkgewoJCWlmIChlLmF0dHJpYnV0ZXNbIl9vcmlnXyIgKyBhdHRyXSAhPSB1 bmRlZmluZWQpIHJldHVybjsKCQlpZiAoZS5hdHRyaWJ1dGVzW2F0dHJdID09IHVuZGVmaW5lZCkg cmV0dXJuOwoJCWlmICh2YWwgPT0gdW5kZWZpbmVkKSB2YWwgPSBlLmF0dHJpYnV0ZXNbYXR0cl0u dmFsdWU7CgkJZS5zZXRBdHRyaWJ1dGUoIl9vcmlnXyIgKyBhdHRyLCB2YWwpOwoJfQoJZnVuY3Rp b24gb3JpZ19sb2FkKGUsIGF0dHIpIHsKCQlpZiAoZS5hdHRyaWJ1dGVzWyJfb3JpZ18iK2F0dHJd ID09IHVuZGVmaW5lZCkgcmV0dXJuOwoJCWUuYXR0cmlidXRlc1thdHRyXS52YWx1ZSA9IGUuYXR0 cmlidXRlc1siX29yaWdfIiArIGF0dHJdLnZhbHVlOwoJCWUucmVtb3ZlQXR0cmlidXRlKCJfb3Jp Z18iK2F0dHIpOwoJfQoJZnVuY3Rpb24gZ190b190ZXh0KGUpIHsKCQl2YXIgdGV4dCA9IGZpbmRf Y2hpbGQoZSwgInRpdGxlIikuZmlyc3RDaGlsZC5ub2RlVmFsdWU7CgkJcmV0dXJuICh0ZXh0KQoJ fQoJZnVuY3Rpb24gZ190b19mdW5jKGUpIHsKCQl2YXIgZnVuYyA9IGdfdG9fdGV4dChlKTsKCQkv LyBpZiB0aGVyZSdzIGFueSBtYW5pcHVsYXRpb24gd2Ugd2FudCB0byBkbyB0byB0aGUgZnVuY3Rp b24KCQkvLyBuYW1lIGJlZm9yZSBpdCdzIHNlYXJjaGVkLCBkbyBpdCBoZXJlIGJlZm9yZSByZXR1 cm5pbmcuCgkJcmV0dXJuIChmdW5jKTsKCX0KCWZ1bmN0aW9uIHVwZGF0ZV90ZXh0KGUpIHsKCQl2 YXIgciA9IGZpbmRfY2hpbGQoZSwgInJlY3QiKTsKCQl2YXIgdCA9IGZpbmRfY2hpbGQoZSwgInRl eHQiKTsKCQl2YXIgdyA9IHBhcnNlRmxvYXQoci5hdHRyaWJ1dGVzLndpZHRoLnZhbHVlKSAtMzsK CQl2YXIgdHh0ID0gZmluZF9jaGlsZChlLCAidGl0bGUiKS50ZXh0Q29udGVudC5yZXBsYWNlKC9c KFteKF0qXCkkLywiIik7CgkJdC5hdHRyaWJ1dGVzLngudmFsdWUgPSBwYXJzZUZsb2F0KHIuYXR0 cmlidXRlcy54LnZhbHVlKSArIDM7CgoJCS8vIFNtYWxsZXIgdGhhbiB0aGlzIHNpemUgd29uJ3Qg Zml0IGFueXRoaW5nCgkJaWYgKHcgPCAyICogMTIgKiAwLjU5KSB7CgkJCXQudGV4dENvbnRlbnQg PSAiIjsKCQkJcmV0dXJuOwoJCX0KCgkJdC50ZXh0Q29udGVudCA9IHR4dDsKCQkvLyBGaXQgaW4g ZnVsbCB0ZXh0IHdpZHRoCgkJaWYgKC9eICokLy50ZXN0KHR4dCkgfHwgdC5nZXRTdWJTdHJpbmdM ZW5ndGgoMCwgdHh0Lmxlbmd0aCkgPCB3KQoJCQlyZXR1cm47CgoJCWZvciAodmFyIHggPSB0eHQu bGVuZ3RoIC0gMjsgeCA+IDA7IHgtLSkgewoJCQlpZiAodC5nZXRTdWJTdHJpbmdMZW5ndGgoMCwg eCArIDIpIDw9IHcpIHsKCQkJCXQudGV4dENvbnRlbnQgPSB0eHQuc3Vic3RyaW5nKDAsIHgpICsg Ii4uIjsKCQkJCXJldHVybjsKCQkJfQoJCX0KCQl0LnRleHRDb250ZW50ID0gIiI7Cgl9CgoJLy8g em9vbQoJZnVuY3Rpb24gem9vbV9yZXNldChlKSB7CgkJaWYgKGUuYXR0cmlidXRlcyAhPSB1bmRl ZmluZWQpIHsKCQkJb3JpZ19sb2FkKGUsICJ4Iik7CgkJCW9yaWdfbG9hZChlLCAid2lkdGgiKTsK CQl9CgkJaWYgKGUuY2hpbGROb2RlcyA9PSB1bmRlZmluZWQpIHJldHVybjsKCQlmb3IgKHZhciBp ID0gMCwgYyA9IGUuY2hpbGROb2RlczsgaSA8IGMubGVuZ3RoOyBpKyspIHsKCQkJem9vbV9yZXNl dChjW2ldKTsKCQl9Cgl9CglmdW5jdGlvbiB6b29tX2NoaWxkKGUsIHgsIHJhdGlvKSB7CgkJaWYg KGUuYXR0cmlidXRlcyAhPSB1bmRlZmluZWQpIHsKCQkJaWYgKGUuYXR0cmlidXRlcy54ICE9IHVu ZGVmaW5lZCkgewoJCQkJb3JpZ19zYXZlKGUsICJ4Iik7CgkJCQllLmF0dHJpYnV0ZXMueC52YWx1 ZSA9IChwYXJzZUZsb2F0KGUuYXR0cmlidXRlcy54LnZhbHVlKSAtIHggLSAxMCkgKiByYXRpbyAr IDEwOwoJCQkJaWYgKGUudGFnTmFtZSA9PSAidGV4dCIpCgkJCQkJZS5hdHRyaWJ1dGVzLngudmFs dWUgPSBmaW5kX2NoaWxkKGUucGFyZW50Tm9kZSwgInJlY3RbeF0iKS5hdHRyaWJ1dGVzLngudmFs dWUgKyAzOwoJCQl9CgkJCWlmIChlLmF0dHJpYnV0ZXMud2lkdGggIT0gdW5kZWZpbmVkKSB7CgkJ CQlvcmlnX3NhdmUoZSwgIndpZHRoIik7CgkJCQllLmF0dHJpYnV0ZXMud2lkdGgudmFsdWUgPSBw YXJzZUZsb2F0KGUuYXR0cmlidXRlcy53aWR0aC52YWx1ZSkgKiByYXRpbzsKCQkJfQoJCX0KCgkJ aWYgKGUuY2hpbGROb2RlcyA9PSB1bmRlZmluZWQpIHJldHVybjsKCQlmb3IgKHZhciBpID0gMCwg YyA9IGUuY2hpbGROb2RlczsgaSA8IGMubGVuZ3RoOyBpKyspIHsKCQkJem9vbV9jaGlsZChjW2ld LCB4IC0gMTAsIHJhdGlvKTsKCQl9Cgl9CglmdW5jdGlvbiB6b29tX3BhcmVudChlKSB7CgkJaWYg KGUuYXR0cmlidXRlcykgewoJCQlpZiAoZS5hdHRyaWJ1dGVzLnggIT0gdW5kZWZpbmVkKSB7CgkJ CQlvcmlnX3NhdmUoZSwgIngiKTsKCQkJCWUuYXR0cmlidXRlcy54LnZhbHVlID0gMTA7CgkJCX0K CQkJaWYgKGUuYXR0cmlidXRlcy53aWR0aCAhPSB1bmRlZmluZWQpIHsKCQkJCW9yaWdfc2F2ZShl LCAid2lkdGgiKTsKCQkJCWUuYXR0cmlidXRlcy53aWR0aC52YWx1ZSA9IHBhcnNlSW50KHN2Zy53 aWR0aC5iYXNlVmFsLnZhbHVlKSAtICgxMCAqIDIpOwoJCQl9CgkJfQoJCWlmIChlLmNoaWxkTm9k ZXMgPT0gdW5kZWZpbmVkKSByZXR1cm47CgkJZm9yICh2YXIgaSA9IDAsIGMgPSBlLmNoaWxkTm9k ZXM7IGkgPCBjLmxlbmd0aDsgaSsrKSB7CgkJCXpvb21fcGFyZW50KGNbaV0pOwoJCX0KCX0KCWZ1 bmN0aW9uIHpvb20obm9kZSkgewoJCXZhciBhdHRyID0gZmluZF9jaGlsZChub2RlLCAicmVjdCIp LmF0dHJpYnV0ZXM7CgkJdmFyIHdpZHRoID0gcGFyc2VGbG9hdChhdHRyLndpZHRoLnZhbHVlKTsK CQl2YXIgeG1pbiA9IHBhcnNlRmxvYXQoYXR0ci54LnZhbHVlKTsKCQl2YXIgeG1heCA9IHBhcnNl RmxvYXQoeG1pbiArIHdpZHRoKTsKCQl2YXIgeW1pbiA9IHBhcnNlRmxvYXQoYXR0ci55LnZhbHVl KTsKCQl2YXIgcmF0aW8gPSAoc3ZnLndpZHRoLmJhc2VWYWwudmFsdWUgLSAyICogMTApIC8gd2lk dGg7CgoJCS8vIFhYWDogV29ya2Fyb3VuZCBmb3IgSmF2YVNjcmlwdCBmbG9hdCBpc3N1ZXMgKGZp eCBtZSkKCQl2YXIgZnVkZ2UgPSAwLjAwMDE7CgoJCXVuem9vbWJ0bi5jbGFzc0xpc3QucmVtb3Zl KCJoaWRlIik7CgoJCXZhciBlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmcmFtZXMiKS5j aGlsZHJlbjsKCQlmb3IgKHZhciBpID0gMDsgaSA8IGVsLmxlbmd0aDsgaSsrKSB7CgkJCXZhciBl ID0gZWxbaV07CgkJCXZhciBhID0gZmluZF9jaGlsZChlLCAicmVjdCIpLmF0dHJpYnV0ZXM7CgkJ CXZhciBleCA9IHBhcnNlRmxvYXQoYS54LnZhbHVlKTsKCQkJdmFyIGV3ID0gcGFyc2VGbG9hdChh LndpZHRoLnZhbHVlKTsKCQkJdmFyIHVwc3RhY2s7CgkJCS8vIElzIGl0IGFuIGFuY2VzdG9yCgkJ CWlmICgwID09IDApIHsKCQkJCXVwc3RhY2sgPSBwYXJzZUZsb2F0KGEueS52YWx1ZSkgPiB5bWlu OwoJCQl9IGVsc2UgewoJCQkJdXBzdGFjayA9IHBhcnNlRmxvYXQoYS55LnZhbHVlKSA8IHltaW47 CgkJCX0KCQkJaWYgKHVwc3RhY2spIHsKCQkJCS8vIERpcmVjdCBhbmNlc3RvcgoJCQkJaWYgKGV4 IDw9IHhtaW4gJiYgKGV4K2V3K2Z1ZGdlKSA+PSB4bWF4KSB7CgkJCQkJZS5jbGFzc0xpc3QuYWRk KCJwYXJlbnQiKTsKCQkJCQl6b29tX3BhcmVudChlKTsKCQkJCQl1cGRhdGVfdGV4dChlKTsKCQkJ CX0KCQkJCS8vIG5vdCBpbiBjdXJyZW50IHBhdGgKCQkJCWVsc2UKCQkJCQllLmNsYXNzTGlzdC5h ZGQoImhpZGUiKTsKCQkJfQoJCQkvLyBDaGlsZHJlbiBtYXliZQoJCQllbHNlIHsKCQkJCS8vIG5v IGNvbW1vbiBwYXRoCgkJCQlpZiAoZXggPCB4bWluIHx8IGV4ICsgZnVkZ2UgPj0geG1heCkgewoJ CQkJCWUuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwoJCQkJfQoJCQkJZWxzZSB7CgkJCQkJem9vbV9j aGlsZChlLCB4bWluLCByYXRpbyk7CgkJCQkJdXBkYXRlX3RleHQoZSk7CgkJCQl9CgkJCX0KCQl9 CgkJc2VhcmNoKCk7Cgl9CglmdW5jdGlvbiB1bnpvb20oKSB7CgkJdW56b29tYnRuLmNsYXNzTGlz dC5hZGQoImhpZGUiKTsKCQl2YXIgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZnJhbWVz IikuY2hpbGRyZW47CgkJZm9yKHZhciBpID0gMDsgaSA8IGVsLmxlbmd0aDsgaSsrKSB7CgkJCWVs W2ldLmNsYXNzTGlzdC5yZW1vdmUoInBhcmVudCIpOwoJCQllbFtpXS5jbGFzc0xpc3QucmVtb3Zl KCJoaWRlIik7CgkJCXpvb21fcmVzZXQoZWxbaV0pOwoJCQl1cGRhdGVfdGV4dChlbFtpXSk7CgkJ fQoJCXNlYXJjaCgpOwoJfQoKCS8vIHNlYXJjaAoJZnVuY3Rpb24gdG9nZ2xlX2lnbm9yZWNhc2Uo KSB7CgkJaWdub3JlY2FzZSA9ICFpZ25vcmVjYXNlOwoJCWlmIChpZ25vcmVjYXNlKSB7CgkJCWln bm9yZWNhc2VCdG4uY2xhc3NMaXN0LmFkZCgic2hvdyIpOwoJCX0gZWxzZSB7CgkJCWlnbm9yZWNh c2VCdG4uY2xhc3NMaXN0LnJlbW92ZSgic2hvdyIpOwoJCX0KCQlyZXNldF9zZWFyY2goKTsKCQlz ZWFyY2goKTsKCX0KCWZ1bmN0aW9uIHJlc2V0X3NlYXJjaCgpIHsKCQl2YXIgZWwgPSBkb2N1bWVu dC5xdWVyeVNlbGVjdG9yQWxsKCIjZnJhbWVzIHJlY3QiKTsKCQlmb3IgKHZhciBpID0gMDsgaSA8 IGVsLmxlbmd0aDsgaSsrKSB7CgkJCW9yaWdfbG9hZChlbFtpXSwgImZpbGwiKQoJCX0KCX0KCWZ1 bmN0aW9uIHNlYXJjaF9wcm9tcHQoKSB7CgkJaWYgKCFzZWFyY2hpbmcpIHsKCQkJdmFyIHRlcm0g PSBwcm9tcHQoIkVudGVyIGEgc2VhcmNoIHRlcm0gKHJlZ2V4cCAiICsKCQkJICAgICJhbGxvd2Vk LCBlZzogXmV4dDRfKSIKCQkJICAgICsgKGlnbm9yZWNhc2UgPyAiLCBpZ25vcmluZyBjYXNlIiA6 ICIiKQoJCQkgICAgKyAiXG5QcmVzcyBDdHJsLWkgdG8gdG9nZ2xlIGNhc2Ugc2Vuc2l0aXZpdHki LCAiIik7CgkJCWlmICh0ZXJtICE9IG51bGwpIHsKCQkJCWN1cnJlbnRTZWFyY2hUZXJtID0gdGVy bTsKCQkJCXNlYXJjaCgpOwoJCQl9CgkJfSBlbHNlIHsKCQkJcmVzZXRfc2VhcmNoKCk7CgkJCXNl YXJjaGluZyA9IDA7CgkJCWN1cnJlbnRTZWFyY2hUZXJtID0gbnVsbDsKCQkJc2VhcmNoYnRuLmNs YXNzTGlzdC5yZW1vdmUoInNob3ciKTsKCQkJc2VhcmNoYnRuLmZpcnN0Q2hpbGQubm9kZVZhbHVl ID0gIlNlYXJjaCIKCQkJbWF0Y2hlZHR4dC5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CgkJCW1hdGNo ZWR0eHQuZmlyc3RDaGlsZC5ub2RlVmFsdWUgPSAiIgoJCX0KCX0KCWZ1bmN0aW9uIHNlYXJjaCh0 ZXJtKSB7CgkJaWYgKGN1cnJlbnRTZWFyY2hUZXJtID09PSBudWxsKSByZXR1cm47CgkJdmFyIHRl cm0gPSBjdXJyZW50U2VhcmNoVGVybTsKCgkJdmFyIHJlID0gbmV3IFJlZ0V4cCh0ZXJtLCBpZ25v cmVjYXNlID8gJ2knIDogJycpOwoJCXZhciBlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJm cmFtZXMiKS5jaGlsZHJlbjsKCQl2YXIgbWF0Y2hlcyA9IG5ldyBPYmplY3QoKTsKCQl2YXIgbWF4 d2lkdGggPSAwOwoJCWZvciAodmFyIGkgPSAwOyBpIDwgZWwubGVuZ3RoOyBpKyspIHsKCQkJdmFy IGUgPSBlbFtpXTsKCQkJdmFyIGZ1bmMgPSBnX3RvX2Z1bmMoZSk7CgkJCXZhciByZWN0ID0gZmlu ZF9jaGlsZChlLCAicmVjdCIpOwoJCQlpZiAoZnVuYyA9PSBudWxsIHx8IHJlY3QgPT0gbnVsbCkK CQkJCWNvbnRpbnVlOwoKCQkJLy8gU2F2ZSBtYXggd2lkdGguIE9ubHkgd29ya3MgYXMgd2UgaGF2 ZSBhIHJvb3QgZnJhbWUKCQkJdmFyIHcgPSBwYXJzZUZsb2F0KHJlY3QuYXR0cmlidXRlcy53aWR0 aC52YWx1ZSk7CgkJCWlmICh3ID4gbWF4d2lkdGgpCgkJCQltYXh3aWR0aCA9IHc7CgoJCQlpZiAo ZnVuYy5tYXRjaChyZSkpIHsKCQkJCS8vIGhpZ2hsaWdodAoJCQkJdmFyIHggPSBwYXJzZUZsb2F0 KHJlY3QuYXR0cmlidXRlcy54LnZhbHVlKTsKCQkJCW9yaWdfc2F2ZShyZWN0LCAiZmlsbCIpOwoJ CQkJcmVjdC5hdHRyaWJ1dGVzLmZpbGwudmFsdWUgPSAicmdiKDIzMCwwLDIzMCkiOwoKCQkJCS8v IHJlbWVtYmVyIG1hdGNoZXMKCQkJCWlmIChtYXRjaGVzW3hdID09IHVuZGVmaW5lZCkgewoJCQkJ CW1hdGNoZXNbeF0gPSB3OwoJCQkJfSBlbHNlIHsKCQkJCQlpZiAodyA+IG1hdGNoZXNbeF0pIHsK CQkJCQkJLy8gb3ZlcndyaXRlIHdpdGggcGFyZW50CgkJCQkJCW1hdGNoZXNbeF0gPSB3OwoJCQkJ CX0KCQkJCX0KCQkJCXNlYXJjaGluZyA9IDE7CgkJCX0KCQl9CgkJaWYgKCFzZWFyY2hpbmcpCgkJ CXJldHVybjsKCgkJc2VhcmNoYnRuLmNsYXNzTGlzdC5hZGQoInNob3ciKTsKCQlzZWFyY2hidG4u Zmlyc3RDaGlsZC5ub2RlVmFsdWUgPSAiUmVzZXQgU2VhcmNoIjsKCgkJLy8gY2FsY3VsYXRlIHBl cmNlbnQgbWF0Y2hlZCwgZXhjbHVkaW5nIHZlcnRpY2FsIG92ZXJsYXAKCQl2YXIgY291bnQgPSAw OwoJCXZhciBsYXN0eCA9IC0xOwoJCXZhciBsYXN0dyA9IDA7CgkJdmFyIGtleXMgPSBBcnJheSgp OwoJCWZvciAoayBpbiBtYXRjaGVzKSB7CgkJCWlmIChtYXRjaGVzLmhhc093blByb3BlcnR5KGsp KQoJCQkJa2V5cy5wdXNoKGspOwoJCX0KCQkvLyBzb3J0IHRoZSBtYXRjaGVkIGZyYW1lcyBieSB0 aGVpciB4IGxvY2F0aW9uCgkJLy8gYXNjZW5kaW5nLCB0aGVuIHdpZHRoIGRlc2NlbmRpbmcKCQlr ZXlzLnNvcnQoZnVuY3Rpb24oYSwgYil7CgkJCXJldHVybiBhIC0gYjsKCQl9KTsKCQkvLyBTdGVw IHRocm91Z2ggZnJhbWVzIHNhdmluZyBvbmx5IHRoZSBiaWdnZXN0IGJvdHRvbS11cCBmcmFtZXMK CQkvLyB0aGFua3MgdG8gdGhlIHNvcnQgb3JkZXIuIFRoaXMgcmVsaWVzIG9uIHRoZSB0cmVlIHBy b3BlcnR5CgkJLy8gd2hlcmUgY2hpbGRyZW4gYXJlIGFsd2F5cyBzbWFsbGVyIHRoYW4gdGhlaXIg cGFyZW50cy4KCQl2YXIgZnVkZ2UgPSAwLjAwMDE7CS8vIEphdmFTY3JpcHQgZmxvYXRpbmcgcG9p bnQKCQlmb3IgKHZhciBrIGluIGtleXMpIHsKCQkJdmFyIHggPSBwYXJzZUZsb2F0KGtleXNba10p OwoJCQl2YXIgdyA9IG1hdGNoZXNba2V5c1trXV07CgkJCWlmICh4ID49IGxhc3R4ICsgbGFzdHcg LSBmdWRnZSkgewoJCQkJY291bnQgKz0gdzsKCQkJCWxhc3R4ID0geDsKCQkJCWxhc3R3ID0gdzsK CQkJfQoJCX0KCQkvLyBkaXNwbGF5IG1hdGNoZWQgcGVyY2VudAoJCW1hdGNoZWR0eHQuY2xhc3NM aXN0LnJlbW92ZSgiaGlkZSIpOwoJCXZhciBwY3QgPSAxMDAgKiBjb3VudCAvIG1heHdpZHRoOwoJ CWlmIChwY3QgIT0gMTAwKSBwY3QgPSBwY3QudG9GaXhlZCgxKQoJCW1hdGNoZWR0eHQuZmlyc3RD aGlsZC5ub2RlVmFsdWUgPSAiTWF0Y2hlZDogIiArIHBjdCArICIlIjsKCX0KXV0+Cjwvc2NyaXB0 Pgo8cmVjdCB4PSIwLjAiIHk9IjAiIHdpZHRoPSIxMjAwLjAiIGhlaWdodD0iNDIyLjAiIGZpbGw9 InVybCgjYmFja2dyb3VuZCkiICAvPgo8dGV4dCBpZD0idGl0bGUiIHg9IjYwMC4wMCIgeT0iMjQi ID5GbGFtZSBHcmFwaDwvdGV4dD4KPHRleHQgaWQ9ImRldGFpbHMiIHg9IjEwLjAwIiB5PSI0MDUi ID4gPC90ZXh0Pgo8dGV4dCBpZD0idW56b29tIiB4PSIxMC4wMCIgeT0iMjQiIGNsYXNzPSJoaWRl Ij5SZXNldCBab29tPC90ZXh0Pgo8dGV4dCBpZD0ic2VhcmNoIiB4PSIxMDkwLjAwIiB5PSIyNCIg PlNlYXJjaDwvdGV4dD4KPHRleHQgaWQ9Imlnbm9yZWNhc2UiIHg9IjExNzQuMDAiIHk9IjI0IiA+ aWM8L3RleHQ+Cjx0ZXh0IGlkPSJtYXRjaGVkIiB4PSIxMDkwLjAwIiB5PSI0MDUiID4gPC90ZXh0 Pgo8ZyBpZD0iZnJhbWVzIj4KPGcgPgo8dGl0bGU+X19sbGxfbG9ja193YWl0ICg4IHNhbXBsZXMs IDguMzMlKTwvdGl0bGU+PHJlY3QgeD0iNzEwLjYiIHk9IjM0MSIgd2lkdGg9Ijk4LjQiIGhlaWdo dD0iMTUuMCIgZmlsbD0icmdiKDIwOCwxMjEsMzUpIiByeD0iMiIgcnk9IjIiIC8+Cjx0ZXh0ICB4 PSI3MTMuNjIiIHk9IjM1MS41IiA+X19sbGxfbG9ja18uLjwvdGV4dD4KPC9nPgo8ZyA+Cjx0aXRs ZT54ODZfcG11X2VuYWJsZSAoOCBzYW1wbGVzLCA4LjMzJSk8L3RpdGxlPjxyZWN0IHg9Ijg0NS44 IiB5PSIxNjUiIHdpZHRoPSI5OC40IiBoZWlnaHQ9IjE1LjAiIGZpbGw9InJnYigyNDksMTU4LDE5 KSIgcng9IjIiIHJ5PSIyIiAvPgo8dGV4dCAgeD0iODQ4LjgzIiB5PSIxNzUuNSIgPng4Nl9wbXVf ZW5hLi48L3RleHQ+CjwvZz4KPGcgPgo8dGl0bGU+ZmluaXNoX3Rhc2tfc3dpdGNoICgxNiBzYW1w bGVzLCAxNi42NyUpPC90aXRsZT48cmVjdCB4PSI0NDAuMiIgeT0iMTY1IiB3aWR0aD0iMTk2Ljci IGhlaWdodD0iMTUuMCIgZmlsbD0icmdiKDIzNSw5LDQpIiByeD0iMiIgcnk9IjIiIC8+Cjx0ZXh0 ICB4PSI0NDMuMjEiIHk9IjE3NS41IiA+ZmluaXNoX3Rhc2tfc3dpdGNoPC90ZXh0Pgo8L2c+Cjxn ID4KPHRpdGxlPmZpbmRfdm1hICgxIHNhbXBsZXMsIDEuMDQlKTwvdGl0bGU+PHJlY3QgeD0iODIx LjIiIHk9IjE5NyIgd2lkdGg9IjEyLjMiIGhlaWdodD0iMTUuMCIgZmlsbD0icmdiKDI0NywyMjEs NDIpIiByeD0iMiIgcnk9IjIiIC8+Cjx0ZXh0ICB4PSI4MjQuMjUiIHk9IjIwNy41IiA+PC90ZXh0 Pgo8L2c+CjxnID4KPHRpdGxlPmludGVsX3BtdV9lbmFibGVfYWxsICg4IHNhbXBsZXMsIDguMzMl KTwvdGl0bGU+PHJlY3QgeD0iODQ1LjgiIHk9IjE0OSIgd2lkdGg9Ijk4LjQiIGhlaWdodD0iMTUu MCIgZmlsbD0icmdiKDIxOSwxODYsMzcpIiByeD0iMiIgcnk9IjIiIC8+Cjx0ZXh0ICB4PSI4NDgu ODMiIHk9IjE1OS41IiA+aW50ZWxfcG11X2UuLjwvdGV4dD4KPC9nPgo8ZyA+Cjx0aXRsZT5HQ19h ZGRfdG9fYmxhY2tfbGlzdF9ub3JtYWwucGFydC40ICgxIHNhbXBsZXMsIDEuMDQlKTwvdGl0bGU+ PHJlY3QgeD0iNTkuMiIgeT0iMzI1IiB3aWR0aD0iMTIuMyIgaGVpZ2h0PSIxNS4wIiBmaWxsPSJy Z2IoMjIwLDMsNTIpIiByeD0iMiIgcnk9IjIiIC8+Cjx0ZXh0ICB4PSI2Mi4xNyIgeT0iMzM1LjUi ID48L3RleHQ+CjwvZz4KPGcgPgo8dGl0bGU+c2NtX2Nfd3JpdGVfYnl0ZXMgKDEgc2FtcGxlcywg MS4wNCUpPC90aXRsZT48cmVjdCB4PSI2MzYuOSIgeT0iMzI1IiB3aWR0aD0iMTIuMyIgaGVpZ2h0 PSIxNS4wIiBmaWxsPSJyZ2IoMjEyLDU4LDE3KSIgcng9IjIiIHJ5PSIyIiAvPgo8dGV4dCAgeD0i NjM5Ljg4IiB5PSIzMzUuNSIgPjwvdGV4dD4KPC9nPgo8ZyA+Cjx0aXRsZT5fX2ludGVsX3BtdV9l bmFibGVfYWxsLmNvbnN0cHJvcC4zMSAoOCBzYW1wbGVzLCA4LjMzJSk8L3RpdGxlPjxyZWN0IHg9 IjcxMC42IiB5PSIxMzMiIHdpZHRoPSI5OC40IiBoZWlnaHQ9IjE1LjAiIGZpbGw9InJnYigyMTks NDQsMSkiIHJ4PSIyIiByeT0iMiIgLz4KPHRleHQgIHg9IjcxMy42MiIgeT0iMTQzLjUiID5fX2lu dGVsX3BtdS4uPC90ZXh0Pgo8L2c+CjxnID4KPHRpdGxlPl9fcGVyZl9ldmVudF90YXNrX3NjaGVk X2luICgxNiBzYW1wbGVzLCAxNi42NyUpPC90aXRsZT48cmVjdCB4PSI0NDAuMiIgeT0iMTQ5IiB3 aWR0aD0iMTk2LjciIGhlaWdodD0iMTUuMCIgZmlsbD0icmdiKDIyMCwxNzIsNTIpIiByeD0iMiIg cnk9IjIiIC8+Cjx0ZXh0ICB4PSI0NDMuMjEiIHk9IjE1OS41IiA+X19wZXJmX2V2ZW50X3Rhc2tf c2NoZWRfaW48L3RleHQ+CjwvZz4KPGcgPgo8dGl0bGU+X19zY2hlZHVsZSAoMjAgc2FtcGxlcywg MjAuODMlKTwvdGl0bGU+PHJlY3QgeD0iOTQ0LjIiIHk9IjIxMyIgd2lkdGg9IjI0NS44IiBoZWln aHQ9IjE1LjAiIGZpbGw9InJnYigyMDUsOTcsMjIpIiByeD0iMiIgcnk9IjIiIC8+Cjx0ZXh0ICB4 PSI5NDcuMTciIHk9IjIyMy41IiA+X19zY2hlZHVsZTwvdGV4dD4KPC9nPgo8ZyA+Cjx0aXRsZT5u YXRpdmVfd3JpdGVfbXNyICgyMCBzYW1wbGVzLCAyMC44MyUpPC90aXRsZT48cmVjdCB4PSI5NDQu MiIgeT0iMTE3IiB3aWR0aD0iMjQ1LjgiIGhlaWdodD0iMTUuMCIgZmlsbD0icmdiKDI0MCwyMDUs NDYpIiByeD0iMiIgcnk9IjIiIC8+Cjx0ZXh0ICB4PSI5NDcuMTciIHk9IjEyNy41IiA+bmF0aXZl X3dyaXRlX21zcjwvdGV4dD4KPC9nPgo8ZyA+Cjx0aXRsZT5fX3Rsc19nZXRfYWRkciAoMSBzYW1w bGVzLCAxLjA0JSk8L3RpdGxlPjxyZWN0IHg9IjY5OC4zIiB5PSIzMDkiIHdpZHRoPSIxMi4zIiBo ZWlnaHQ9IjE1LjAiIGZpbGw9InJnYigyMjIsMjYsMjkpIiByeD0iMiIgcnk9IjIiIC8+Cjx0ZXh0 ICB4PSI3MDEuMzMiIHk9IjMxOS41IiA+PC90ZXh0Pgo8L2c+CjxnID4KPHRpdGxlPnNlbV9wb3N0 QEBHTElCQ18yLjIuNSAoMSBzYW1wbGVzLCAxLjA0JSk8L3RpdGxlPjxyZWN0IHg9IjQ2LjkiIHk9 IjMyNSIgd2lkdGg9IjEyLjMiIGhlaWdodD0iMTUuMCIgZmlsbD0icmdiKDIwNiw1MCw1MCkiIHJ4 PSIyIiByeT0iMiIgLz4KPHRleHQgIHg9IjQ5Ljg4IiB5PSIzMzUuNSIgPjwvdGV4dD4KPC9nPgo8 ZyA+Cjx0aXRsZT5lcG9sbF93YWl0ICgxNiBzYW1wbGVzLCAxNi42NyUpPC90aXRsZT48cmVjdCB4 PSI0NDAuMiIgeT0iMzI1IiB3aWR0aD0iMTk2LjciIGhlaWdodD0iMTUuMCIgZmlsbD0icmdiKDIw NSw2NSwzNykiIHJ4PSIyIiByeT0iMiIgLz4KPHRleHQgIHg9IjQ0My4yMSIgeT0iMzM1LjUiID5l cG9sbF93YWl0PC90ZXh0Pgo8L2c+CjxnID4KPHRpdGxlPl9fbW1hcCAoMiBzYW1wbGVzLCAyLjA4 JSk8L3RpdGxlPjxyZWN0IHg9IjgwOS4wIiB5PSIzNDEiIHdpZHRoPSIyNC41IiBoZWlnaHQ9IjE1 LjAiIGZpbGw9InJnYigyMDUsNDksNDkpIiByeD0iMiIgcnk9IjIiIC8+Cjx0ZXh0ICB4PSI4MTEu OTYiIHk9IjM1MS41IiA+Xy4uPC90ZXh0Pgo8L2c+CjxnID4KPHRpdGxlPmRvX3N5c2NhbGxfNjQg KDggc2FtcGxlcywgOC4zMyUpPC90aXRsZT48cmVjdCB4PSI3MTAuNiIgeT0iMzA5IiB3aWR0aD0i OTguNCIgaGVpZ2h0PSIxNS4wIiBmaWxsPSJyZ2IoMjE2LDIwMCwyOCkiIHJ4PSIyIiByeT0iMiIg Lz4KPHRleHQgIHg9IjcxMy42MiIgeT0iMzE5LjUiID5kb19zeXNjYWxsXzY0PC90ZXh0Pgo8L2c+ CjxnID4KPHRpdGxlPl9jb25kX3Jlc2NoZWQgKDEgc2FtcGxlcywgMS4wNCUpPC90aXRsZT48cmVj dCB4PSI4MDkuMCIgeT0iMjQ1IiB3aWR0aD0iMTIuMiIgaGVpZ2h0PSIxNS4wIiBmaWxsPSJyZ2Io MjIzLDksMjMpIiByeD0iMiIgcnk9IjIiIC8+Cjx0ZXh0ICB4PSI4MTEuOTYiIHk9IjI1NS41IiA+ PC90ZXh0Pgo8L2c+CjxnID4KPHRpdGxlPnNjaGVkdWxlICg4IHNhbXBsZXMsIDguMzMlKTwvdGl0 bGU+PHJlY3QgeD0iNzEwLjYiIHk9IjIyOSIgd2lkdGg9Ijk4LjQiIGhlaWdodD0iMTUuMCIgZmls bD0icmdiKDIxOCwxODQsNDMpIiByeD0iMiIgcnk9IjIiIC8+Cjx0ZXh0ICB4PSI3MTMuNjIiIHk9 IjIzOS41IiA+c2NoZWR1bGU8L3RleHQ+CjwvZz4KPGcgPgo8dGl0bGU+aW50ZWxfcG11X2VuYWJs ZV9hbGwgKDE2IHNhbXBsZXMsIDE2LjY3JSk8L3RpdGxlPjxyZWN0IHg9IjQ0MC4yIiB5PSIxMTci IHdpZHRoPSIxOTYuNyIgaGVpZ2h0PSIxNS4wIiBmaWxsPSJyZ2IoMjM3LDExNiw1MikiIHJ4PSIy IiByeT0iMiIgLz4KPHRleHQgIHg9IjQ0My4yMSIgeT0iMTI3LjUiID5pbnRlbF9wbXVfZW5hYmxl X2FsbDwvdGV4dD4KPC9nPgo8ZyA+Cjx0aXRsZT5HQ19zdXNwZW5kX2hhbmRsZXIgKDIgc2FtcGxl cywgMi4wOCUpPC90aXRsZT48cmVjdCB4PSIzNC42IiB5PSIzNDEiIHdpZHRoPSIyNC42IiBoZWln aHQ9IjE1LjAiIGZpbGw9InJnYigyNDMsMjExLDQzKSIgcng9IjIiIHJ5PSIyIiAvPgo8dGV4dCAg eD0iMzcuNTgiIHk9IjM1MS41IiA+Ry4uPC90ZXh0Pgo8L2c+CjxnID4KPHRpdGxlPnNjaGVkdWxl X2hydGltZW91dF9yYW5nZV9jbG9jayAoMTYgc2FtcGxlcywgMTYuNjclKTwvdGl0bGU+PHJlY3Qg eD0iNDQwLjIiIHk9IjIxMyIgd2lkdGg9IjE5Ni43IiBoZWlnaHQ9IjE1LjAiIGZpbGw9InJnYigy MTcsMjAzLDExKSIgcng9IjIiIHJ5PSIyIiAvPgo8dGV4dCAgeD0iNDQzLjIxIiB5PSIyMjMuNSIg PnNjaGVkdWxlX2hydGltZW91dF9yYW5nZV8uLjwvdGV4dD4KPC9nPgo8ZyA+Cjx0aXRsZT5fX3Bl cmZfZXZlbnRfdGFza19zY2hlZF9pbiAoOCBzYW1wbGVzLCA4LjMzJSk8L3RpdGxlPjxyZWN0IHg9 IjcxMC42IiB5PSIxODEiIHdpZHRoPSI5OC40IiBoZWlnaHQ9IjE1LjAiIGZpbGw9InJnYigyMTQs ODgsMzUpIiByeD0iMiIgcnk9IjIiIC8+Cjx0ZXh0ICB4PSI3MTMuNjIiIHk9IjE5MS41IiA+X19w ZXJmX2V2ZW4uLjwvdGV4dD4KPC9nPgo8ZyA+Cjx0aXRsZT5HQ19kb19ibG9ja2luZyAoMSBzYW1w bGVzLCAxLjA0JSk8L3RpdGxlPjxyZWN0IHg9IjcxLjUiIHk9IjMyNSIgd2lkdGg9IjEyLjMiIGhl aWdodD0iMTUuMCIgZmlsbD0icmdiKDI0OCwxMzgsMzUpIiByeD0iMiIgcnk9IjIiIC8+Cjx0ZXh0 ICB4PSI3NC40NiIgeT0iMzM1LjUiID48L3RleHQ+CjwvZz4KPGcgPgo8dGl0bGU+R0NfbWFya19m cm9tICgxIHNhbXBsZXMsIDEuMDQlKTwvdGl0bGU+PHJlY3QgeD0iMTY5LjgiIHk9IjMwOSIgd2lk dGg9IjEyLjMiIGhlaWdodD0iMTUuMCIgZmlsbD0icmdiKDIwOCwxNTcsMzgpIiByeD0iMiIgcnk9 IjIiIC8+Cjx0ZXh0ICB4PSIxNzIuNzkiIHk9IjMxOS41IiA+PC90ZXh0Pgo8L2c+CjxnID4KPHRp dGxlPmZpbmlzaF90YXNrX3N3aXRjaCAoMjAgc2FtcGxlcywgMjAuODMlKTwvdGl0bGU+PHJlY3Qg eD0iOTQ0LjIiIHk9IjE5NyIgd2lkdGg9IjI0NS44IiBoZWlnaHQ9IjE1LjAiIGZpbGw9InJnYigy NDQsMTMwLDI5KSIgcng9IjIiIHJ5PSIyIiAvPgo8dGV4dCAgeD0iOTQ3LjE3IiB5PSIyMDcuNSIg PmZpbmlzaF90YXNrX3N3aXRjaDwvdGV4dD4KPC9nPgo8ZyA+Cjx0aXRsZT5fX2ludGVsX3BtdV9l bmFibGVfYWxsLmNvbnN0cHJvcC4zMSAoNCBzYW1wbGVzLCA0LjE3JSk8L3RpdGxlPjxyZWN0IHg9 IjE5NC40IiB5PSI1MyIgd2lkdGg9IjQ5LjEiIGhlaWdodD0iMTUuMCIgZmlsbD0icmdiKDIwOCwy MDUsMCkiIHJ4PSIyIiByeT0iMiIgLz4KPHRleHQgIHg9IjE5Ny4zOCIgeT0iNjMuNSIgPl9faW4u LjwvdGV4dD4KPC9nPgo8ZyA+Cjx0aXRsZT5hcmNoX2dldF91bm1hcHBlZF9hcmVhX3RvcGRvd24g KDEgc2FtcGxlcywgMS4wNCUpPC90aXRsZT48cmVjdCB4PSI4MjEuMiIgeT0iMjEzIiB3aWR0aD0i MTIuMyIgaGVpZ2h0PSIxNS4wIiBmaWxsPSJyZ2IoMjExLDE4MywxOCkiIHJ4PSIyIiByeT0iMiIg Lz4KPHRleHQgIHg9IjgyNC4yNSIgeT0iMjIzLjUiID48L3RleHQ+CjwvZz4KPGcgPgo8dGl0bGU+ X19saWJjX3JlYWQgKDQgc2FtcGxlcywgNC4xNyUpPC90aXRsZT48cmVjdCB4PSIxOTQuNCIgeT0i MzA5IiB3aWR0aD0iNDkuMSIgaGVpZ2h0PSIxNS4wIiBmaWxsPSJyZ2IoMjQ3LDg1LDQ3KSIgcng9 IjIiIHJ5PSIyIiAvPgo8dGV4dCAgeD0iMTk3LjM4IiB5PSIzMTkuNSIgPl9fbGkuLjwvdGV4dD4K PC9nPgo8ZyA+Cjx0aXRsZT5bdW5rbm93bl0gKDEgc2FtcGxlcywgMS4wNCUpPC90aXRsZT48cmVj dCB4PSIxODIuMSIgeT0iMjc3IiB3aWR0aD0iMTIuMyIgaGVpZ2h0PSIxNS4wIiBmaWxsPSJyZ2Io MjQ5LDE0OCwxMCkiIHJ4PSIyIiByeT0iMiIgLz4KPHRleHQgIHg9IjE4NS4wOCIgeT0iMjg3LjUi ID48L3RleHQ+CjwvZz4KPGcgPgo8dGl0bGU+cHRocmVhZF9zZXRjYW5jZWxzdGF0ZSAoMSBzYW1w bGVzLCAxLjA0JSk8L3RpdGxlPjxyZWN0IHg9IjM0LjYiIHk9IjMyNSIgd2lkdGg9IjEyLjMiIGhl aWdodD0iMTUuMCIgZmlsbD0icmdiKDIxMiwyMTEsMjEpIiByeD0iMiIgcnk9IjIiIC8+Cjx0ZXh0 ICB4PSIzNy41OCIgeT0iMzM1LjUiID48L3RleHQ+CjwvZz4KPGcgPgo8dGl0bGU+X19wZXJmX2V2 ZW50X3Rhc2tfc2NoZWRfaW4gKDQgc2FtcGxlcywgNC4xNyUpPC90aXRsZT48cmVjdCB4PSIxOTQu NCIgeT0iMTAxIiB3aWR0aD0iNDkuMSIgaGVpZ2h0PSIxNS4wIiBmaWxsPSJyZ2IoMjIwLDEwNSwz OSkiIHJ4PSIyIiByeT0iMiIgLz4KPHRleHQgIHg9IjE5Ny4zOCIgeT0iMTExLjUiID5fX3BlLi48 L3RleHQ+CjwvZz4KPGcgPgo8dGl0bGU+X19wZXJmX2V2ZW50X3Rhc2tfc2NoZWRfaW4gKDIwIHNh bXBsZXMsIDIwLjgzJSk8L3RpdGxlPjxyZWN0IHg9Ijk0NC4yIiB5PSIxODEiIHdpZHRoPSIyNDUu OCIgaGVpZ2h0PSIxNS4wIiBmaWxsPSJyZ2IoMjA1LDE3OCwxNSkiIHJ4PSIyIiByeT0iMiIgLz4K PHRleHQgIHg9Ijk0Ny4xNyIgeT0iMTkxLjUiID5fX3BlcmZfZXZlbnRfdGFza19zY2hlZF9pbjwv dGV4dD4KPC9nPgo8ZyA+Cjx0aXRsZT5pbnRlbF9wbXVfZW5hYmxlX2FsbCAoMTYgc2FtcGxlcywg MTYuNjclKTwvdGl0bGU+PHJlY3QgeD0iMjQzLjUiIHk9IjE0OSIgd2lkdGg9IjE5Ni43IiBoZWln aHQ9IjE1LjAiIGZpbGw9InJnYigyNTIsODUsMzIpIiByeD0iMiIgcnk9IjIiIC8+Cjx0ZXh0ICB4 PSIyNDYuNTQiIHk9IjE1OS41IiA+aW50ZWxfcG11X2VuYWJsZV9hbGw8L3RleHQ+CjwvZz4KPGcg Pgo8dGl0bGU+ZW50cnlfU1lTQ0FMTF82NCAoMSBzYW1wbGVzLCAxLjA0JSk8L3RpdGxlPjxyZWN0 IHg9IjQ2LjkiIHk9IjMwOSIgd2lkdGg9IjEyLjMiIGhlaWdodD0iMTUuMCIgZmlsbD0icmdiKDIx MSw4NiwzMSkiIHJ4PSIyIiByeT0iMiIgLz4KPHRleHQgIHg9IjQ5Ljg4IiB5PSIzMTkuNSIgPjwv dGV4dD4KPC9nPgo8ZyA+Cjx0aXRsZT54ODZfcG11X2VuYWJsZSAoMjAgc2FtcGxlcywgMjAuODMl KTwvdGl0bGU+PHJlY3QgeD0iOTQ0LjIiIHk9IjE2NSIgd2lkdGg9IjI0NS44IiBoZWlnaHQ9IjE1 LjAiIGZpbGw9InJnYigyMzMsMzYsOSkiIHJ4PSIyIiByeT0iMiIgLz4KPHRleHQgIHg9Ijk0Ny4x NyIgeT0iMTc1LjUiID54ODZfcG11X2VuYWJsZTwvdGV4dD4KPC9nPgo8ZyA+Cjx0aXRsZT5maW5p c2hfdGFza19zd2l0Y2ggKDE2IHNhbXBsZXMsIDE2LjY3JSk8L3RpdGxlPjxyZWN0IHg9IjI0My41 IiB5PSIxOTciIHdpZHRoPSIxOTYuNyIgaGVpZ2h0PSIxNS4wIiBmaWxsPSJyZ2IoMjQ4LDc3LDE3 KSIgcng9IjIiIHJ5PSIyIiAvPgo8dGV4dCAgeD0iMjQ2LjU0IiB5PSIyMDcuNSIgPmZpbmlzaF90 YXNrX3N3aXRjaDwvdGV4dD4KPC9nPgo8ZyA+Cjx0aXRsZT5mdXRleF93YWl0X3F1ZXVlX21lICg4 IHNhbXBsZXMsIDguMzMlKTwvdGl0bGU+PHJlY3QgeD0iNzEwLjYiIHk9IjI0NSIgd2lkdGg9Ijk4 LjQiIGhlaWdodD0iMTUuMCIgZmlsbD0icmdiKDI0MCwyMjgsNDApIiByeD0iMiIgcnk9IjIiIC8+ Cjx0ZXh0ICB4PSI3MTMuNjIiIHk9IjI1NS41IiA+ZnV0ZXhfd2FpdF8uLjwvdGV4dD4KPC9nPgo8 ZyA+Cjx0aXRsZT5kb19zeXNjYWxsXzY0ICgxNiBzYW1wbGVzLCAxNi42NyUpPC90aXRsZT48cmVj dCB4PSIyNDMuNSIgeT0iMjkzIiB3aWR0aD0iMTk2LjciIGhlaWdodD0iMTUuMCIgZmlsbD0icmdi KDIzMCwyMDIsNykiIHJ4PSIyIiByeT0iMiIgLz4KPHRleHQgIHg9IjI0Ni41NCIgeT0iMzAzLjUi ID5kb19zeXNjYWxsXzY0PC90ZXh0Pgo8L2c+CjxnID4KPHRpdGxlPlt1bmtub3duXSAoNyBzYW1w bGVzLCA3LjI5JSk8L3RpdGxlPjxyZWN0IHg9IjE1Ny41IiB5PSIzMjUiIHdpZHRoPSI4Ni4wIiBo ZWlnaHQ9IjE1LjAiIGZpbGw9InJnYigyMDYsMTIwLDQ0KSIgcng9IjIiIHJ5PSIyIiAvPgo8dGV4 dCAgeD0iMTYwLjUwIiB5PSIzMzUuNSIgPlt1bmtub3duXTwvdGV4dD4KPC9nPgo8ZyA+Cjx0aXRs ZT5kb19zeXNjYWxsXzY0ICgyMCBzYW1wbGVzLCAyMC44MyUpPC90aXRsZT48cmVjdCB4PSI5NDQu MiIgeT0iMzA5IiB3aWR0aD0iMjQ1LjgiIGhlaWdodD0iMTUuMCIgZmlsbD0icmdiKDIxMywxNzQs MjEpIiByeD0iMiIgcnk9IjIiIC8+Cjx0ZXh0ICB4PSI5NDcuMTciIHk9IjMxOS41IiA+ZG9fc3lz Y2FsbF82NDwvdGV4dD4KPC9nPgo8ZyA+Cjx0aXRsZT5bdW5rbm93bl0gKDEgc2FtcGxlcywgMS4w NCUpPC90aXRsZT48cmVjdCB4PSIxODIuMSIgeT0iMjkzIiB3aWR0aD0iMTIuMyIgaGVpZ2h0PSIx NS4wIiBmaWxsPSJyZ2IoMjQyLDI2LDI4KSIgcng9IjIiIHJ5PSIyIiAvPgo8dGV4dCAgeD0iMTg1 LjA4IiB5PSIzMDMuNSIgPjwvdGV4dD4KPC9nPgo8ZyA+Cjx0aXRsZT5zY21fdG9fdWludDY0ICgx IHNhbXBsZXMsIDEuMDQlKTwvdGl0bGU+PHJlY3QgeD0iNjczLjgiIHk9IjMyNSIgd2lkdGg9IjEy LjIiIGhlaWdodD0iMTUuMCIgZmlsbD0icmdiKDIyMyw3MywyMikiIHJ4PSIyIiByeT0iMiIgLz4K PHRleHQgIHg9IjY3Ni43NSIgeT0iMzM1LjUiID48L3RleHQ+CjwvZz4KPGcgPgo8dGl0bGU+cHRo cmVhZF9jb25kX3dhaXRAQEdMSUJDXzIuMy4yICgyMCBzYW1wbGVzLCAyMC44MyUpPC90aXRsZT48 cmVjdCB4PSI5NDQuMiIgeT0iMzQxIiB3aWR0aD0iMjQ1LjgiIGhlaWdodD0iMTUuMCIgZmlsbD0i cmdiKDIwOSwxOTcsMTgpIiByeD0iMiIgcnk9IjIiIC8+Cjx0ZXh0ICB4PSI5NDcuMTciIHk9IjM1 MS41IiA+cHRocmVhZF9jb25kX3dhaXRAQEdMSUJDXzIuMy4yPC90ZXh0Pgo8L2c+CjxnID4KPHRp dGxlPnBpcGVfd2FpdCAoNCBzYW1wbGVzLCA0LjE3JSk8L3RpdGxlPjxyZWN0IHg9IjE5NC40IiB5 PSIxNjUiIHdpZHRoPSI0OS4xIiBoZWlnaHQ9IjE1LjAiIGZpbGw9InJnYigyNDEsMjI2LDQ2KSIg cng9IjIiIHJ5PSIyIiAvPgo8dGV4dCAgeD0iMTk3LjM4IiB5PSIxNzUuNSIgPnBpcGUuLjwvdGV4 dD4KPC9nPgo8ZyA+Cjx0aXRsZT52bV9yZWd1bGFyX2VuZ2luZSAoMiBzYW1wbGVzLCAyLjA4JSk8 L3RpdGxlPjxyZWN0IHg9IjY4Ni4wIiB5PSIzMjUiIHdpZHRoPSIyNC42IiBoZWlnaHQ9IjE1LjAi IGZpbGw9InJnYigyMjcsMTgzLDI3KSIgcng9IjIiIHJ5PSIyIiAvPgo8dGV4dCAgeD0iNjg5LjA0 IiB5PSIzMzUuNSIgPnYuLjwvdGV4dD4KPC9nPgo8ZyA+Cjx0aXRsZT5uYXRpdmVfd3JpdGVfbXNy ICgxNiBzYW1wbGVzLCAxNi42NyUpPC90aXRsZT48cmVjdCB4PSIyNDMuNSIgeT0iMTE3IiB3aWR0 aD0iMTk2LjciIGhlaWdodD0iMTUuMCIgZmlsbD0icmdiKDI0NywxMDcsMTcpIiByeD0iMiIgcnk9 IjIiIC8+Cjx0ZXh0ICB4PSIyNDYuNTQiIHk9IjEyNy41IiA+bmF0aXZlX3dyaXRlX21zcjwvdGV4 dD4KPC9nPgo8ZyA+Cjx0aXRsZT5bdW5rbm93bl0gKDUzIHNhbXBsZXMsIDU1LjIxJSk8L3RpdGxl PjxyZWN0IHg9IjU5LjIiIHk9IjM0MSIgd2lkdGg9IjY1MS40IiBoZWlnaHQ9IjE1LjAiIGZpbGw9 InJnYigyMjMsMTUxLDExKSIgcng9IjIiIHJ5PSIyIiAvPgo8dGV4dCAgeD0iNjIuMTciIHk9IjM1 MS41IiA+W3Vua25vd25dPC90ZXh0Pgo8L2c+CjxnID4KPHRpdGxlPmZ1dGV4X3dhaXQgKDggc2Ft cGxlcywgOC4zMyUpPC90aXRsZT48cmVjdCB4PSI4NDUuOCIgeT0iMjYxIiB3aWR0aD0iOTguNCIg aGVpZ2h0PSIxNS4wIiBmaWxsPSJyZ2IoMjM2LDE5OCwxMikiIHJ4PSIyIiByeT0iMiIgLz4KPHRl eHQgIHg9Ijg0OC44MyIgeT0iMjcxLjUiID5mdXRleF93YWl0PC90ZXh0Pgo8L2c+CjxnID4KPHRp dGxlPl9faW50ZWxfcG11X2VuYWJsZV9hbGwuY29uc3Rwcm9wLjMxICgxNiBzYW1wbGVzLCAxNi42 NyUpPC90aXRsZT48cmVjdCB4PSIyNDMuNSIgeT0iMTMzIiB3aWR0aD0iMTk2LjciIGhlaWdodD0i MTUuMCIgZmlsbD0icmdiKDIzMyw1NCwyKSIgcng9IjIiIHJ5PSIyIiAvPgo8dGV4dCAgeD0iMjQ2 LjU0IiB5PSIxNDMuNSIgPl9faW50ZWxfcG11X2VuYWJsZV9hbGwuY28uLjwvdGV4dD4KPC9nPgo8 ZyA+Cjx0aXRsZT5fX3g2NF9zeXNfY2xvY2tfbmFub3NsZWVwICgxNiBzYW1wbGVzLCAxNi42NyUp PC90aXRsZT48cmVjdCB4PSIyNDMuNSIgeT0iMjc3IiB3aWR0aD0iMTk2LjciIGhlaWdodD0iMTUu MCIgZmlsbD0icmdiKDIzMCw2MCwyKSIgcng9IjIiIHJ5PSIyIiAvPgo8dGV4dCAgeD0iMjQ2LjU0 IiB5PSIyODcuNSIgPl9feDY0X3N5c19jbG9ja19uYW5vc2xlZXA8L3RleHQ+CjwvZz4KPGcgPgo8 dGl0bGU+eDg2X3BtdV9lbmFibGUgKDE2IHNhbXBsZXMsIDE2LjY3JSk8L3RpdGxlPjxyZWN0IHg9 IjI0My41IiB5PSIxNjUiIHdpZHRoPSIxOTYuNyIgaGVpZ2h0PSIxNS4wIiBmaWxsPSJyZ2IoMjM3 LDEsMTEpIiByeD0iMiIgcnk9IjIiIC8+Cjx0ZXh0ICB4PSIyNDYuNTQiIHk9IjE3NS41IiA+eDg2 X3BtdV9lbmFibGU8L3RleHQ+CjwvZz4KPGcgPgo8dGl0bGU+ZmluaXNoX3Rhc2tfc3dpdGNoICg0 IHNhbXBsZXMsIDQuMTclKTwvdGl0bGU+PHJlY3QgeD0iMTk0LjQiIHk9IjExNyIgd2lkdGg9IjQ5 LjEiIGhlaWdodD0iMTUuMCIgZmlsbD0icmdiKDIzNiwxNSw0NykiIHJ4PSIyIiByeT0iMiIgLz4K PHRleHQgIHg9IjE5Ny4zOCIgeT0iMTI3LjUiID5maW5pLi48L3RleHQ+CjwvZz4KPGcgPgo8dGl0 bGU+X19zY2hlZHVsZSAoOCBzYW1wbGVzLCA4LjMzJSk8L3RpdGxlPjxyZWN0IHg9Ijg0NS44IiB5 PSIyMTMiIHdpZHRoPSI5OC40IiBoZWlnaHQ9IjE1LjAiIGZpbGw9InJnYigyMzgsMywxMCkiIHJ4 PSIyIiByeT0iMiIgLz4KPHRleHQgIHg9Ijg0OC44MyIgeT0iMjIzLjUiID5fX3NjaGVkdWxlPC90 ZXh0Pgo8L2c+CjxnID4KPHRpdGxlPmVudHJ5X1NZU0NBTExfNjRfYWZ0ZXJfaHdmcmFtZSAoOCBz YW1wbGVzLCA4LjMzJSk8L3RpdGxlPjxyZWN0IHg9IjcxMC42IiB5PSIzMjUiIHdpZHRoPSI5OC40 IiBoZWlnaHQ9IjE1LjAiIGZpbGw9InJnYigyMTEsNTIsMTQpIiByeD0iMiIgcnk9IjIiIC8+Cjx0 ZXh0ICB4PSI3MTMuNjIiIHk9IjMzNS41IiA+ZW50cnlfU1lTQ0EuLjwvdGV4dD4KPC9nPgo8ZyA+ Cjx0aXRsZT5nZXRfdW5tYXBwZWRfYXJlYSAoMSBzYW1wbGVzLCAxLjA0JSk8L3RpdGxlPjxyZWN0 IHg9IjgyMS4yIiB5PSIyMjkiIHdpZHRoPSIxMi4zIiBoZWlnaHQ9IjE1LjAiIGZpbGw9InJnYigy MTUsMTU5LDEwKSIgcng9IjIiIHJ5PSIyIiAvPgo8dGV4dCAgeD0iODI0LjI1IiB5PSIyMzkuNSIg PjwvdGV4dD4KPC9nPgo8ZyA+Cjx0aXRsZT5mdXRleF93YWl0X3F1ZXVlX21lICg4IHNhbXBsZXMs IDguMzMlKTwvdGl0bGU+PHJlY3QgeD0iODQ1LjgiIHk9IjI0NSIgd2lkdGg9Ijk4LjQiIGhlaWdo dD0iMTUuMCIgZmlsbD0icmdiKDI0NiwxNDcsOCkiIHJ4PSIyIiByeT0iMiIgLz4KPHRleHQgIHg9 Ijg0OC44MyIgeT0iMjU1LjUiID5mdXRleF93YWl0Xy4uPC90ZXh0Pgo8L2c+CjxnID4KPHRpdGxl PmVudHJ5X1NZU0NBTExfNjRfYWZ0ZXJfaHdmcmFtZSAoMTYgc2FtcGxlcywgMTYuNjclKTwvdGl0 bGU+PHJlY3QgeD0iNDQwLjIiIHk9IjMwOSIgd2lkdGg9IjE5Ni43IiBoZWlnaHQ9IjE1LjAiIGZp bGw9InJnYigyMDcsNDIsMjQpIiByeD0iMiIgcnk9IjIiIC8+Cjx0ZXh0ICB4PSI0NDMuMjEiIHk9 IjMxOS41IiA+ZW50cnlfU1lTQ0FMTF82NF9hZnRlcl9ody4uPC90ZXh0Pgo8L2c+CjxnID4KPHRp dGxlPmRvX2Z1dGV4ICg4IHNhbXBsZXMsIDguMzMlKTwvdGl0bGU+PHJlY3QgeD0iODQ1LjgiIHk9 IjI3NyIgd2lkdGg9Ijk4LjQiIGhlaWdodD0iMTUuMCIgZmlsbD0icmdiKDI1NCw2NiwzMSkiIHJ4 PSIyIiByeT0iMiIgLz4KPHRleHQgIHg9Ijg0OC44MyIgeT0iMjg3LjUiID5kb19mdXRleDwvdGV4 dD4KPC9nPgo8ZyA+Cjx0aXRsZT5ndWl4LWRhdGEtc2VydmkgKDk2IHNhbXBsZXMsIDEwMC4wMCUp PC90aXRsZT48cmVjdCB4PSIxMC4wIiB5PSIzNTciIHdpZHRoPSIxMTgwLjAiIGhlaWdodD0iMTUu MCIgZmlsbD0icmdiKDIyNiw0Myw4KSIgcng9IjIiIHJ5PSIyIiAvPgo8dGV4dCAgeD0iMTMuMDAi IHk9IjM2Ny41IiA+Z3VpeC1kYXRhLXNlcnZpPC90ZXh0Pgo8L2c+CjxnID4KPHRpdGxlPmRvX3N5 c2NhbGxfNjQgKDIgc2FtcGxlcywgMi4wOCUpPC90aXRsZT48cmVjdCB4PSI4MDkuMCIgeT0iMzA5 IiB3aWR0aD0iMjQuNSIgaGVpZ2h0PSIxNS4wIiBmaWxsPSJyZ2IoMjM0LDEwMiwxNSkiIHJ4PSIy IiByeT0iMiIgLz4KPHRleHQgIHg9IjgxMS45NiIgeT0iMzE5LjUiID5kLi48L3RleHQ+CjwvZz4K PGcgPgo8dGl0bGU+bmV3X3N5bmNfcmVhZCAoNCBzYW1wbGVzLCA0LjE3JSk8L3RpdGxlPjxyZWN0 IHg9IjE5NC40IiB5PSIxOTciIHdpZHRoPSI0OS4xIiBoZWlnaHQ9IjE1LjAiIGZpbGw9InJnYigy MTAsNyw0MykiIHJ4PSIyIiByeT0iMiIgLz4KPHRleHQgIHg9IjE5Ny4zOCIgeT0iMjA3LjUiID5u ZXdfLi48L3RleHQ+CjwvZz4KPGcgPgo8dGl0bGU+W3Vua25vd25dICgxIHNhbXBsZXMsIDEuMDQl KTwvdGl0bGU+PHJlY3QgeD0iMTgyLjEiIHk9IjMwOSIgd2lkdGg9IjEyLjMiIGhlaWdodD0iMTUu MCIgZmlsbD0icmdiKDIxNCwzNiwyMCkiIHJ4PSIyIiByeT0iMiIgLz4KPHRleHQgIHg9IjE4NS4w OCIgeT0iMzE5LjUiID48L3RleHQ+CjwvZz4KPGcgPgo8dGl0bGU+ZW50cnlfU1lTQ0FMTF82NF9h ZnRlcl9od2ZyYW1lICgxNiBzYW1wbGVzLCAxNi42NyUpPC90aXRsZT48cmVjdCB4PSIyNDMuNSIg eT0iMzA5IiB3aWR0aD0iMTk2LjciIGhlaWdodD0iMTUuMCIgZmlsbD0icmdiKDI0Myw3Niw0OCki IHJ4PSIyIiByeT0iMiIgLz4KPHRleHQgIHg9IjI0Ni41NCIgeT0iMzE5LjUiID5lbnRyeV9TWVND QUxMXzY0X2FmdGVyX2h3Li48L3RleHQ+CjwvZz4KPGcgPgo8dGl0bGU+X194NjRfc3lzX21tYXAg KDIgc2FtcGxlcywgMi4wOCUpPC90aXRsZT48cmVjdCB4PSI4MDkuMCIgeT0iMjkzIiB3aWR0aD0i MjQuNSIgaGVpZ2h0PSIxNS4wIiBmaWxsPSJyZ2IoMjMxLDc2LDMpIiByeD0iMiIgcnk9IjIiIC8+ Cjx0ZXh0ICB4PSI4MTEuOTYiIHk9IjMwMy41IiA+Xy4uPC90ZXh0Pgo8L2c+CjxnID4KPHRpdGxl PnZmc19yZWFkICg0IHNhbXBsZXMsIDQuMTclKTwvdGl0bGU+PHJlY3QgeD0iMTk0LjQiIHk9IjIy OSIgd2lkdGg9IjQ5LjEiIGhlaWdodD0iMTUuMCIgZmlsbD0icmdiKDIyOCwzNSw0OCkiIHJ4PSIy IiByeT0iMiIgLz4KPHRleHQgIHg9IjE5Ny4zOCIgeT0iMjM5LjUiID52ZnNfLi48L3RleHQ+Cjwv Zz4KPGcgPgo8dGl0bGU+ZmluaXNoX3Rhc2tfc3dpdGNoICg4IHNhbXBsZXMsIDguMzMlKTwvdGl0 bGU+PHJlY3QgeD0iODQ1LjgiIHk9IjE5NyIgd2lkdGg9Ijk4LjQiIGhlaWdodD0iMTUuMCIgZmls bD0icmdiKDIyMywyMTIsNTEpIiByeD0iMiIgcnk9IjIiIC8+Cjx0ZXh0ICB4PSI4NDguODMiIHk9 IjIwNy41IiA+ZmluaXNoX3Rhc2suLjwvdGV4dD4KPC9nPgo8ZyA+Cjx0aXRsZT54ODZfcG11X2Vu YWJsZSAoOCBzYW1wbGVzLCA4LjMzJSk8L3RpdGxlPjxyZWN0IHg9IjcxMC42IiB5PSIxNjUiIHdp ZHRoPSI5OC40IiBoZWlnaHQ9IjE1LjAiIGZpbGw9InJnYigyMjEsMTEyLDQwKSIgcng9IjIiIHJ5 PSIyIiAvPgo8dGV4dCAgeD0iNzEzLjYyIiB5PSIxNzUuNSIgPng4Nl9wbXVfZW5hLi48L3RleHQ+ CjwvZz4KPGcgPgo8dGl0bGU+ZG9fc3lzY2FsbF82NCAoOCBzYW1wbGVzLCA4LjMzJSk8L3RpdGxl PjxyZWN0IHg9Ijg0NS44IiB5PSIzMDkiIHdpZHRoPSI5OC40IiBoZWlnaHQ9IjE1LjAiIGZpbGw9 InJnYigyMjIsMTMyLDQzKSIgcng9IjIiIHJ5PSIyIiAvPgo8dGV4dCAgeD0iODQ4LjgzIiB5PSIz MTkuNSIgPmRvX3N5c2NhbGxfNjQ8L3RleHQ+CjwvZz4KPGcgPgo8dGl0bGU+R0NfbWFya19mcm9t ICg0IHNhbXBsZXMsIDQuMTclKTwvdGl0bGU+PHJlY3QgeD0iMTA4LjMiIHk9IjMyNSIgd2lkdGg9 IjQ5LjIiIGhlaWdodD0iMTUuMCIgZmlsbD0icmdiKDIwNSwxMDksMykiIHJ4PSIyIiByeT0iMiIg Lz4KPHRleHQgIHg9IjExMS4zMyIgeT0iMzM1LjUiID5HQ19tLi48L3RleHQ+CjwvZz4KPGcgPgo8 dGl0bGU+X19zY2hlZHVsZSAoMTYgc2FtcGxlcywgMTYuNjclKTwvdGl0bGU+PHJlY3QgeD0iMjQz LjUiIHk9IjIxMyIgd2lkdGg9IjE5Ni43IiBoZWlnaHQ9IjE1LjAiIGZpbGw9InJnYigyMTUsMzgs NTMpIiByeD0iMiIgcnk9IjIiIC8+Cjx0ZXh0ICB4PSIyNDYuNTQiIHk9IjIyMy41IiA+X19zY2hl ZHVsZTwvdGV4dD4KPC9nPgo8ZyA+Cjx0aXRsZT5zY2hlZHVsZSAoOCBzYW1wbGVzLCA4LjMzJSk8 L3RpdGxlPjxyZWN0IHg9Ijg0NS44IiB5PSIyMjkiIHdpZHRoPSI5OC40IiBoZWlnaHQ9IjE1LjAi IGZpbGw9InJnYigyMTEsMTg1LDQpIiByeD0iMiIgcnk9IjIiIC8+Cjx0ZXh0ICB4PSI4NDguODMi IHk9IjIzOS41IiA+c2NoZWR1bGU8L3RleHQ+CjwvZz4KPGcgPgo8dGl0bGU+cGlwZV9yZWFkICg0 IHNhbXBsZXMsIDQuMTclKTwvdGl0bGU+PHJlY3QgeD0iMTk0LjQiIHk9IjE4MSIgd2lkdGg9IjQ5 LjEiIGhlaWdodD0iMTUuMCIgZmlsbD0icmdiKDIwOCw3MCw0NSkiIHJ4PSIyIiByeT0iMiIgLz4K PHRleHQgIHg9IjE5Ny4zOCIgeT0iMTkxLjUiID5waXBlLi48L3RleHQ+CjwvZz4KPGcgPgo8dGl0 bGU+X19wZXJmX2V2ZW50X3Rhc2tfc2NoZWRfaW4gKDggc2FtcGxlcywgOC4zMyUpPC90aXRsZT48 cmVjdCB4PSI4NDUuOCIgeT0iMTgxIiB3aWR0aD0iOTguNCIgaGVpZ2h0PSIxNS4wIiBmaWxsPSJy Z2IoMjI5LDE3OSw1NCkiIHJ4PSIyIiByeT0iMiIgLz4KPHRleHQgIHg9Ijg0OC44MyIgeT0iMTkx LjUiID5fX3BlcmZfZXZlbi4uPC90ZXh0Pgo8L2c+CjxnID4KPHRpdGxlPmludGVsX3BtdV9lbmFi bGVfYWxsICg4IHNhbXBsZXMsIDguMzMlKTwvdGl0bGU+PHJlY3QgeD0iNzEwLjYiIHk9IjE0OSIg d2lkdGg9Ijk4LjQiIGhlaWdodD0iMTUuMCIgZmlsbD0icmdiKDIzMSw5Myw1NCkiIHJ4PSIyIiBy eT0iMiIgLz4KPHRleHQgIHg9IjcxMy42MiIgeT0iMTU5LjUiID5pbnRlbF9wbXVfZS4uPC90ZXh0 Pgo8L2c+CjxnID4KPHRpdGxlPl9fcGVyZl9ldmVudF90YXNrX3NjaGVkX2luICgxNiBzYW1wbGVz LCAxNi42NyUpPC90aXRsZT48cmVjdCB4PSIyNDMuNSIgeT0iMTgxIiB3aWR0aD0iMTk2LjciIGhl aWdodD0iMTUuMCIgZmlsbD0icmdiKDI1Miw3MCwxMykiIHJ4PSIyIiByeT0iMiIgLz4KPHRleHQg IHg9IjI0Ni41NCIgeT0iMTkxLjUiID5fX3BlcmZfZXZlbnRfdGFza19zY2hlZF9pbjwvdGV4dD4K PC9nPgo8ZyA+Cjx0aXRsZT5fX3g2NF9zeXNfZnV0ZXggKDIwIHNhbXBsZXMsIDIwLjgzJSk8L3Rp dGxlPjxyZWN0IHg9Ijk0NC4yIiB5PSIyOTMiIHdpZHRoPSIyNDUuOCIgaGVpZ2h0PSIxNS4wIiBm aWxsPSJyZ2IoMjQ0LDEzNCwxNykiIHJ4PSIyIiByeT0iMiIgLz4KPHRleHQgIHg9Ijk0Ny4xNyIg eT0iMzAzLjUiID5fX3g2NF9zeXNfZnV0ZXg8L3RleHQ+CjwvZz4KPGcgPgo8dGl0bGU+R0Nfd2l0 aF9jYWxsZWVfc2F2ZXNfcHVzaGVkICgxIHNhbXBsZXMsIDEuMDQlKTwvdGl0bGU+PHJlY3QgeD0i NzEuNSIgeT0iMzA5IiB3aWR0aD0iMTIuMyIgaGVpZ2h0PSIxNS4wIiBmaWxsPSJyZ2IoMjM1LDcw LDMpIiByeD0iMiIgcnk9IjIiIC8+Cjx0ZXh0ICB4PSI3NC40NiIgeT0iMzE5LjUiID48L3RleHQ+ CjwvZz4KPGcgPgo8dGl0bGU+bmF0aXZlX3dyaXRlX21zciAoNCBzYW1wbGVzLCA0LjE3JSk8L3Rp dGxlPjxyZWN0IHg9IjE5NC40IiB5PSIzNyIgd2lkdGg9IjQ5LjEiIGhlaWdodD0iMTUuMCIgZmls bD0icmdiKDIyOCw0NSwyMSkiIHJ4PSIyIiByeT0iMiIgLz4KPHRleHQgIHg9IjE5Ny4zOCIgeT0i NDcuNSIgPm5hdGkuLjwvdGV4dD4KPC9nPgo8ZyA+Cjx0aXRsZT5kb19jcHVfbmFub3NsZWVwICgx NiBzYW1wbGVzLCAxNi42NyUpPC90aXRsZT48cmVjdCB4PSIyNDMuNSIgeT0iMjQ1IiB3aWR0aD0i MTk2LjciIGhlaWdodD0iMTUuMCIgZmlsbD0icmdiKDIxMiwyMTQsMTgpIiByeD0iMiIgcnk9IjIi IC8+Cjx0ZXh0ICB4PSIyNDYuNTQiIHk9IjI1NS41IiA+ZG9fY3B1X25hbm9zbGVlcDwvdGV4dD4K PC9nPgo8ZyA+Cjx0aXRsZT5uYXRpdmVfd3JpdGVfbXNyICgxNiBzYW1wbGVzLCAxNi42NyUpPC90 aXRsZT48cmVjdCB4PSI0NDAuMiIgeT0iODUiIHdpZHRoPSIxOTYuNyIgaGVpZ2h0PSIxNS4wIiBm aWxsPSJyZ2IoMjI0LDIyMCwyKSIgcng9IjIiIHJ5PSIyIiAvPgo8dGV4dCAgeD0iNDQzLjIxIiB5 PSI5NS41IiA+bmF0aXZlX3dyaXRlX21zcjwvdGV4dD4KPC9nPgo8ZyA+Cjx0aXRsZT5nZXRfY2Fs bGVlX3Zjb2RlICgxIHNhbXBsZXMsIDEuMDQlKTwvdGl0bGU+PHJlY3QgeD0iMTgyLjEiIHk9IjI0 NSIgd2lkdGg9IjEyLjMiIGhlaWdodD0iMTUuMCIgZmlsbD0icmdiKDIyMCwxMTcsNSkiIHJ4PSIy IiByeT0iMiIgLz4KPHRleHQgIHg9IjE4NS4wOCIgeT0iMjU1LjUiID48L3RleHQ+CjwvZz4KPGcg Pgo8dGl0bGU+eDg2X3BtdV9lbmFibGUgKDE2IHNhbXBsZXMsIDE2LjY3JSk8L3RpdGxlPjxyZWN0 IHg9IjQ0MC4yIiB5PSIxMzMiIHdpZHRoPSIxOTYuNyIgaGVpZ2h0PSIxNS4wIiBmaWxsPSJyZ2Io MjEyLDM4LDQ2KSIgcng9IjIiIHJ5PSIyIiAvPgo8dGV4dCAgeD0iNDQzLjIxIiB5PSIxNDMuNSIg Png4Nl9wbXVfZW5hYmxlPC90ZXh0Pgo8L2c+CjxnID4KPHRpdGxlPl9feDY0X3N5c19mdXRleCAo OCBzYW1wbGVzLCA4LjMzJSk8L3RpdGxlPjxyZWN0IHg9IjcxMC42IiB5PSIyOTMiIHdpZHRoPSI5 OC40IiBoZWlnaHQ9IjE1LjAiIGZpbGw9InJnYigyMTEsMTc2LDM0KSIgcng9IjIiIHJ5PSIyIiAv Pgo8dGV4dCAgeD0iNzEzLjYyIiB5PSIzMDMuNSIgPl9feDY0X3N5c19mLi48L3RleHQ+CjwvZz4K PGcgPgo8dGl0bGU+cG9zaXhfY3B1X25zbGVlcCAoMTYgc2FtcGxlcywgMTYuNjclKTwvdGl0bGU+ PHJlY3QgeD0iMjQzLjUiIHk9IjI2MSIgd2lkdGg9IjE5Ni43IiBoZWlnaHQ9IjE1LjAiIGZpbGw9 InJnYigyMzEsMTAyLDUxKSIgcng9IjIiIHJ5PSIyIiAvPgo8dGV4dCAgeD0iMjQ2LjU0IiB5PSIy NzEuNSIgPnBvc2l4X2NwdV9uc2xlZXA8L3RleHQ+CjwvZz4KPGcgPgo8dGl0bGU+eDg2X3BtdV9l bmFibGUgKDQgc2FtcGxlcywgNC4xNyUpPC90aXRsZT48cmVjdCB4PSIxOTQuNCIgeT0iODUiIHdp ZHRoPSI0OS4xIiBoZWlnaHQ9IjE1LjAiIGZpbGw9InJnYigyNDUsMjAwLDI5KSIgcng9IjIiIHJ5 PSIyIiAvPgo8dGV4dCAgeD0iMTk3LjM4IiB5PSI5NS41IiA+eDg2Xy4uPC90ZXh0Pgo8L2c+Cjxn ID4KPHRpdGxlPmRvX21tYXAgKDEgc2FtcGxlcywgMS4wNCUpPC90aXRsZT48cmVjdCB4PSI4MjEu MiIgeT0iMjQ1IiB3aWR0aD0iMTIuMyIgaGVpZ2h0PSIxNS4wIiBmaWxsPSJyZ2IoMjI2LDc4LDIx KSIgcng9IjIiIHJ5PSIyIiAvPgo8dGV4dCAgeD0iODI0LjI1IiB5PSIyNTUuNSIgPjwvdGV4dD4K PC9nPgo8ZyA+Cjx0aXRsZT5maW5pc2hfdGFza19zd2l0Y2ggKDggc2FtcGxlcywgOC4zMyUpPC90 aXRsZT48cmVjdCB4PSI3MTAuNiIgeT0iMTk3IiB3aWR0aD0iOTguNCIgaGVpZ2h0PSIxNS4wIiBm aWxsPSJyZ2IoMjQxLDI4LDQyKSIgcng9IjIiIHJ5PSIyIiAvPgo8dGV4dCAgeD0iNzEzLjYyIiB5 PSIyMDcuNSIgPmZpbmlzaF90YXNrLi48L3RleHQ+CjwvZz4KPGcgPgo8dGl0bGU+ZG9fZnV0ZXgg KDggc2FtcGxlcywgOC4zMyUpPC90aXRsZT48cmVjdCB4PSI3MTAuNiIgeT0iMjc3IiB3aWR0aD0i OTguNCIgaGVpZ2h0PSIxNS4wIiBmaWxsPSJyZ2IoMjM2LDk1LDI2KSIgcng9IjIiIHJ5PSIyIiAv Pgo8dGV4dCAgeD0iNzEzLjYyIiB5PSIyODcuNSIgPmRvX2Z1dGV4PC90ZXh0Pgo8L2c+CjxnID4K PHRpdGxlPmVudHJ5X1NZU0NBTExfNjRfYWZ0ZXJfaHdmcmFtZSAoNCBzYW1wbGVzLCA0LjE3JSk8 L3RpdGxlPjxyZWN0IHg9IjE5NC40IiB5PSIyOTMiIHdpZHRoPSI0OS4xIiBoZWlnaHQ9IjE1LjAi IGZpbGw9InJnYigyMjAsMTc4LDQ4KSIgcng9IjIiIHJ5PSIyIiAvPgo8dGV4dCAgeD0iMTk3LjM4 IiB5PSIzMDMuNSIgPmVudHIuLjwvdGV4dD4KPC9nPgo8ZyA+Cjx0aXRsZT5lbnRyeV9TWVNDQUxM XzY0X2FmdGVyX2h3ZnJhbWUgKDIwIHNhbXBsZXMsIDIwLjgzJSk8L3RpdGxlPjxyZWN0IHg9Ijk0 NC4yIiB5PSIzMjUiIHdpZHRoPSIyNDUuOCIgaGVpZ2h0PSIxNS4wIiBmaWxsPSJyZ2IoMjExLDY1 LDEwKSIgcng9IjIiIHJ5PSIyIiAvPgo8dGV4dCAgeD0iOTQ3LjE3IiB5PSIzMzUuNSIgPmVudHJ5 X1NZU0NBTExfNjRfYWZ0ZXJfaHdmcmFtZTwvdGV4dD4KPC9nPgo8ZyA+Cjx0aXRsZT5zY2hlZHVs ZSAoMTYgc2FtcGxlcywgMTYuNjclKTwvdGl0bGU+PHJlY3QgeD0iNDQwLjIiIHk9IjE5NyIgd2lk dGg9IjE5Ni43IiBoZWlnaHQ9IjE1LjAiIGZpbGw9InJnYigyMDcsOTUsMjcpIiByeD0iMiIgcnk9 IjIiIC8+Cjx0ZXh0ICB4PSI0NDMuMjEiIHk9IjIwNy41IiA+c2NoZWR1bGU8L3RleHQ+CjwvZz4K PGcgPgo8dGl0bGU+c2NtX2ppdF9lbnRlcl9tY29kZSAoMSBzYW1wbGVzLCAxLjA0JSk8L3RpdGxl PjxyZWN0IHg9IjY2MS41IiB5PSIzMjUiIHdpZHRoPSIxMi4zIiBoZWlnaHQ9IjE1LjAiIGZpbGw9 InJnYigyMDYsMTI0LDIxKSIgcng9IjIiIHJ5PSIyIiAvPgo8dGV4dCAgeD0iNjY0LjQ2IiB5PSIz MzUuNSIgPjwvdGV4dD4KPC9nPgo8ZyA+Cjx0aXRsZT52bV9tbWFwX3Bnb2ZmICgyIHNhbXBsZXMs IDIuMDglKTwvdGl0bGU+PHJlY3QgeD0iODA5LjAiIHk9IjI2MSIgd2lkdGg9IjI0LjUiIGhlaWdo dD0iMTUuMCIgZmlsbD0icmdiKDI0MCwxOTcsNykiIHJ4PSIyIiByeT0iMiIgLz4KPHRleHQgIHg9 IjgxMS45NiIgeT0iMjcxLjUiID52Li48L3RleHQ+CjwvZz4KPGcgPgo8dGl0bGU+ZnV0ZXhfd2Fp dF9xdWV1ZV9tZSAoMjAgc2FtcGxlcywgMjAuODMlKTwvdGl0bGU+PHJlY3QgeD0iOTQ0LjIiIHk9 IjI0NSIgd2lkdGg9IjI0NS44IiBoZWlnaHQ9IjE1LjAiIGZpbGw9InJnYigyNDUsNTYsNDcpIiBy eD0iMiIgcnk9IjIiIC8+Cjx0ZXh0ICB4PSI5NDcuMTciIHk9IjI1NS41IiA+ZnV0ZXhfd2FpdF9x dWV1ZV9tZTwvdGV4dD4KPC9nPgo8ZyA+Cjx0aXRsZT5mdXRleF93YWl0ICgyMCBzYW1wbGVzLCAy MC44MyUpPC90aXRsZT48cmVjdCB4PSI5NDQuMiIgeT0iMjYxIiB3aWR0aD0iMjQ1LjgiIGhlaWdo dD0iMTUuMCIgZmlsbD0icmdiKDIzNiwxOTQsMTYpIiByeD0iMiIgcnk9IjIiIC8+Cjx0ZXh0ICB4 PSI5NDcuMTciIHk9IjI3MS41IiA+ZnV0ZXhfd2FpdDwvdGV4dD4KPC9nPgo8ZyA+Cjx0aXRsZT5u YXRpdmVfd3JpdGVfbXNyICg4IHNhbXBsZXMsIDguMzMlKTwvdGl0bGU+PHJlY3QgeD0iNzEwLjYi IHk9IjExNyIgd2lkdGg9Ijk4LjQiIGhlaWdodD0iMTUuMCIgZmlsbD0icmdiKDI0MSwxNyw0Niki IHJ4PSIyIiByeT0iMiIgLz4KPHRleHQgIHg9IjcxMy42MiIgeT0iMTI3LjUiID5uYXRpdmVfd3Jp dC4uPC90ZXh0Pgo8L2c+CjxnID4KPHRpdGxlPkdDX21hcmtfZnJvbSAoMiBzYW1wbGVzLCAyLjA4 JSk8L3RpdGxlPjxyZWN0IHg9IjEwLjAiIHk9IjM0MSIgd2lkdGg9IjI0LjYiIGhlaWdodD0iMTUu MCIgZmlsbD0icmdiKDIxNywxOTAsMSkiIHJ4PSIyIiByeT0iMiIgLz4KPHRleHQgIHg9IjEzLjAw IiB5PSIzNTEuNSIgPkcuLjwvdGV4dD4KPC9nPgo8ZyA+Cjx0aXRsZT5fX3Zmc19yZWFkICg0IHNh bXBsZXMsIDQuMTclKTwvdGl0bGU+PHJlY3QgeD0iMTk0LjQiIHk9IjIxMyIgd2lkdGg9IjQ5LjEi IGhlaWdodD0iMTUuMCIgZmlsbD0icmdiKDIyNywyMSw3KSIgcng9IjIiIHJ5PSIyIiAvPgo8dGV4 dCAgeD0iMTk3LjM4IiB5PSIyMjMuNSIgPl9fdmYuLjwvdGV4dD4KPC9nPgo8ZyA+Cjx0aXRsZT5f X3NjaGVkdWxlICg0IHNhbXBsZXMsIDQuMTclKTwvdGl0bGU+PHJlY3QgeD0iMTk0LjQiIHk9IjEz MyIgd2lkdGg9IjQ5LjEiIGhlaWdodD0iMTUuMCIgZmlsbD0icmdiKDIzOCwyMDQsNTMpIiByeD0i MiIgcnk9IjIiIC8+Cjx0ZXh0ICB4PSIxOTcuMzgiIHk9IjE0My41IiA+X19zYy4uPC90ZXh0Pgo8 L2c+CjxnID4KPHRpdGxlPkdDX2FkZF90b19ibGFja19saXN0X25vcm1hbC5wYXJ0LjQgKDEgc2Ft cGxlcywgMS4wNCUpPC90aXRsZT48cmVjdCB4PSIxNTcuNSIgeT0iMzA5IiB3aWR0aD0iMTIuMyIg aGVpZ2h0PSIxNS4wIiBmaWxsPSJyZ2IoMjIzLDYyLDMxKSIgcng9IjIiIHJ5PSIyIiAvPgo8dGV4 dCAgeD0iMTYwLjUwIiB5PSIzMTkuNSIgPjwvdGV4dD4KPC9nPgo8ZyA+Cjx0aXRsZT5pbnRlbF9w bXVfZW5hYmxlX2FsbCAoNCBzYW1wbGVzLCA0LjE3JSk8L3RpdGxlPjxyZWN0IHg9IjE5NC40IiB5 PSI2OSIgd2lkdGg9IjQ5LjEiIGhlaWdodD0iMTUuMCIgZmlsbD0icmdiKDIxNiw5NCwzOSkiIHJ4 PSIyIiByeT0iMiIgLz4KPHRleHQgIHg9IjE5Ny4zOCIgeT0iNzkuNSIgPmludGUuLjwvdGV4dD4K PC9nPgo8ZyA+Cjx0aXRsZT5lbnRyeV9TWVNDQUxMXzY0X2FmdGVyX2h3ZnJhbWUgKDIgc2FtcGxl cywgMi4wOCUpPC90aXRsZT48cmVjdCB4PSI4MDkuMCIgeT0iMzI1IiB3aWR0aD0iMjQuNSIgaGVp Z2h0PSIxNS4wIiBmaWxsPSJyZ2IoMjM4LDgwLDM1KSIgcng9IjIiIHJ5PSIyIiAvPgo8dGV4dCAg eD0iODExLjk2IiB5PSIzMzUuNSIgPmUuLjwvdGV4dD4KPC9nPgo8ZyA+Cjx0aXRsZT5zY21faGFz aF9mbl9nZXRfaGFuZGxlICgxIHNhbXBsZXMsIDEuMDQlKTwvdGl0bGU+PHJlY3QgeD0iNjQ5LjIi IHk9IjMyNSIgd2lkdGg9IjEyLjMiIGhlaWdodD0iMTUuMCIgZmlsbD0icmdiKDI0MSwyMDIsMjMp IiByeD0iMiIgcnk9IjIiIC8+Cjx0ZXh0ICB4PSI2NTIuMTciIHk9IjMzNS41IiA+PC90ZXh0Pgo8 L2c+CjxnID4KPHRpdGxlPl9faW50ZWxfcG11X2VuYWJsZV9hbGwuY29uc3Rwcm9wLjMxICgxNiBz YW1wbGVzLCAxNi42NyUpPC90aXRsZT48cmVjdCB4PSI0NDAuMiIgeT0iMTAxIiB3aWR0aD0iMTk2 LjciIGhlaWdodD0iMTUuMCIgZmlsbD0icmdiKDIyNiwxODgsMzApIiByeD0iMiIgcnk9IjIiIC8+ Cjx0ZXh0ICB4PSI0NDMuMjEiIHk9IjExMS41IiA+X19pbnRlbF9wbXVfZW5hYmxlX2FsbC5jby4u PC90ZXh0Pgo8L2c+CjxnID4KPHRpdGxlPmludGVsX3BtdV9lbmFibGVfYWxsICgyMCBzYW1wbGVz LCAyMC44MyUpPC90aXRsZT48cmVjdCB4PSI5NDQuMiIgeT0iMTQ5IiB3aWR0aD0iMjQ1LjgiIGhl aWdodD0iMTUuMCIgZmlsbD0icmdiKDIxOCwyMTgsNDEpIiByeD0iMiIgcnk9IjIiIC8+Cjx0ZXh0 ICB4PSI5NDcuMTciIHk9IjE1OS41IiA+aW50ZWxfcG11X2VuYWJsZV9hbGw8L3RleHQ+CjwvZz4K PGcgPgo8dGl0bGU+c2NoZWR1bGUgKDIwIHNhbXBsZXMsIDIwLjgzJSk8L3RpdGxlPjxyZWN0IHg9 Ijk0NC4yIiB5PSIyMjkiIHdpZHRoPSIyNDUuOCIgaGVpZ2h0PSIxNS4wIiBmaWxsPSJyZ2IoMjIw LDgyLDEwKSIgcng9IjIiIHJ5PSIyIiAvPgo8dGV4dCAgeD0iOTQ3LjE3IiB5PSIyMzkuNSIgPnNj aGVkdWxlPC90ZXh0Pgo8L2c+CjxnID4KPHRpdGxlPmNmcmVlQEdMSUJDXzIuMi41ICgxIHNhbXBs ZXMsIDEuMDQlKTwvdGl0bGU+PHJlY3QgeD0iODMzLjUiIHk9IjM0MSIgd2lkdGg9IjEyLjMiIGhl aWdodD0iMTUuMCIgZmlsbD0icmdiKDIwNSw3NSwzKSIgcng9IjIiIHJ5PSIyIiAvPgo8dGV4dCAg eD0iODM2LjU0IiB5PSIzNTEuNSIgPjwvdGV4dD4KPC9nPgo8ZyA+Cjx0aXRsZT5mdXRleF93YWl0 ICg4IHNhbXBsZXMsIDguMzMlKTwvdGl0bGU+PHJlY3QgeD0iNzEwLjYiIHk9IjI2MSIgd2lkdGg9 Ijk4LjQiIGhlaWdodD0iMTUuMCIgZmlsbD0icmdiKDI0MCw0LDQpIiByeD0iMiIgcnk9IjIiIC8+ Cjx0ZXh0ICB4PSI3MTMuNjIiIHk9IjI3MS41IiA+ZnV0ZXhfd2FpdDwvdGV4dD4KPC9nPgo8ZyA+ Cjx0aXRsZT5lbnRyeV9TWVNDQUxMXzY0X2FmdGVyX2h3ZnJhbWUgKDggc2FtcGxlcywgOC4zMyUp PC90aXRsZT48cmVjdCB4PSI4NDUuOCIgeT0iMzI1IiB3aWR0aD0iOTguNCIgaGVpZ2h0PSIxNS4w IiBmaWxsPSJyZ2IoMjA1LDk5LDMxKSIgcng9IjIiIHJ5PSIyIiAvPgo8dGV4dCAgeD0iODQ4Ljgz IiB5PSIzMzUuNSIgPmVudHJ5X1NZU0NBLi48L3RleHQ+CjwvZz4KPGcgPgo8dGl0bGU+X19zY2hl ZHVsZSAoMTYgc2FtcGxlcywgMTYuNjclKTwvdGl0bGU+PHJlY3QgeD0iNDQwLjIiIHk9IjE4MSIg d2lkdGg9IjE5Ni43IiBoZWlnaHQ9IjE1LjAiIGZpbGw9InJnYigyMDYsMTY5LDMwKSIgcng9IjIi IHJ5PSIyIiAvPgo8dGV4dCAgeD0iNDQzLjIxIiB5PSIxOTEuNSIgPl9fc2NoZWR1bGU8L3RleHQ+ CjwvZz4KPGcgPgo8dGl0bGU+a3N5c19tbWFwX3Bnb2ZmICgyIHNhbXBsZXMsIDIuMDglKTwvdGl0 bGU+PHJlY3QgeD0iODA5LjAiIHk9IjI3NyIgd2lkdGg9IjI0LjUiIGhlaWdodD0iMTUuMCIgZmls bD0icmdiKDIwNiwxMjgsMzMpIiByeD0iMiIgcnk9IjIiIC8+Cjx0ZXh0ICB4PSI4MTEuOTYiIHk9 IjI4Ny41IiA+ay4uPC90ZXh0Pgo8L2c+CjxnID4KPHRpdGxlPl9feDY0X3N5c19lcG9sbF93YWl0 ICgxNiBzYW1wbGVzLCAxNi42NyUpPC90aXRsZT48cmVjdCB4PSI0NDAuMiIgeT0iMjc3IiB3aWR0 aD0iMTk2LjciIGhlaWdodD0iMTUuMCIgZmlsbD0icmdiKDIyMywxNzAsMjEpIiByeD0iMiIgcnk9 IjIiIC8+Cjx0ZXh0ICB4PSI0NDMuMjEiIHk9IjI4Ny41IiA+X194NjRfc3lzX2Vwb2xsX3dhaXQ8 L3RleHQ+CjwvZz4KPGcgPgo8dGl0bGU+ZXBfcG9sbCAoMTYgc2FtcGxlcywgMTYuNjclKTwvdGl0 bGU+PHJlY3QgeD0iNDQwLjIiIHk9IjI0NSIgd2lkdGg9IjE5Ni43IiBoZWlnaHQ9IjE1LjAiIGZp bGw9InJnYigyNDYsMjAxLDI4KSIgcng9IjIiIHJ5PSIyIiAvPgo8dGV4dCAgeD0iNDQzLjIxIiB5 PSIyNTUuNSIgPmVwX3BvbGw8L3RleHQ+CjwvZz4KPGcgPgo8dGl0bGU+bmF0aXZlX3dyaXRlX21z ciAoOCBzYW1wbGVzLCA4LjMzJSk8L3RpdGxlPjxyZWN0IHg9Ijg0NS44IiB5PSIxMTciIHdpZHRo PSI5OC40IiBoZWlnaHQ9IjE1LjAiIGZpbGw9InJnYigyMzgsMjE0LDQ1KSIgcng9IjIiIHJ5PSIy IiAvPgo8dGV4dCAgeD0iODQ4LjgzIiB5PSIxMjcuNSIgPm5hdGl2ZV93cml0Li48L3RleHQ+Cjwv Zz4KPGcgPgo8dGl0bGU+X19pbnRlbF9wbXVfZW5hYmxlX2FsbC5jb25zdHByb3AuMzEgKDggc2Ft cGxlcywgOC4zMyUpPC90aXRsZT48cmVjdCB4PSI4NDUuOCIgeT0iMTMzIiB3aWR0aD0iOTguNCIg aGVpZ2h0PSIxNS4wIiBmaWxsPSJyZ2IoMjEyLDQwLDI3KSIgcng9IjIiIHJ5PSIyIiAvPgo8dGV4 dCAgeD0iODQ4LjgzIiB5PSIxNDMuNSIgPl9faW50ZWxfcG11Li48L3RleHQ+CjwvZz4KPGcgPgo8 dGl0bGU+ZG9fZnV0ZXggKDIwIHNhbXBsZXMsIDIwLjgzJSk8L3RpdGxlPjxyZWN0IHg9Ijk0NC4y IiB5PSIyNzciIHdpZHRoPSIyNDUuOCIgaGVpZ2h0PSIxNS4wIiBmaWxsPSJyZ2IoMjE5LDE3Mywx NCkiIHJ4PSIyIiByeT0iMiIgLz4KPHRleHQgIHg9Ijk0Ny4xNyIgeT0iMjg3LjUiID5kb19mdXRl eDwvdGV4dD4KPC9nPgo8ZyA+Cjx0aXRsZT5kb19zeXNjYWxsXzY0ICg0IHNhbXBsZXMsIDQuMTcl KTwvdGl0bGU+PHJlY3QgeD0iMTk0LjQiIHk9IjI3NyIgd2lkdGg9IjQ5LjEiIGhlaWdodD0iMTUu MCIgZmlsbD0icmdiKDI1MSwxNzYsNTApIiByeD0iMiIgcnk9IjIiIC8+Cjx0ZXh0ICB4PSIxOTcu MzgiIHk9IjI4Ny41IiA+ZG9fcy4uPC90ZXh0Pgo8L2c+CjxnID4KPHRpdGxlPmNsb2NrX25hbm9z bGVlcEBAR0xJQkNfMi4xNyAoMTYgc2FtcGxlcywgMTYuNjclKTwvdGl0bGU+PHJlY3QgeD0iMjQz LjUiIHk9IjMyNSIgd2lkdGg9IjE5Ni43IiBoZWlnaHQ9IjE1LjAiIGZpbGw9InJnYigyNTMsMTY2 LDUpIiByeD0iMiIgcnk9IjIiIC8+Cjx0ZXh0ICB4PSIyNDYuNTQiIHk9IjMzNS41IiA+Y2xvY2tf bmFub3NsZWVwQEBHTElCQ18yLjE3PC90ZXh0Pgo8L2c+CjxnID4KPHRpdGxlPnNjaGVkdWxlICgx NiBzYW1wbGVzLCAxNi42NyUpPC90aXRsZT48cmVjdCB4PSIyNDMuNSIgeT0iMjI5IiB3aWR0aD0i MTk2LjciIGhlaWdodD0iMTUuMCIgZmlsbD0icmdiKDI0MCwyLDI4KSIgcng9IjIiIHJ5PSIyIiAv Pgo8dGV4dCAgeD0iMjQ2LjU0IiB5PSIyMzkuNSIgPnNjaGVkdWxlPC90ZXh0Pgo8L2c+CjxnID4K PHRpdGxlPmRvX2Vwb2xsX3dhaXQgKDE2IHNhbXBsZXMsIDE2LjY3JSk8L3RpdGxlPjxyZWN0IHg9 IjQ0MC4yIiB5PSIyNjEiIHdpZHRoPSIxOTYuNyIgaGVpZ2h0PSIxNS4wIiBmaWxsPSJyZ2IoMjIz LDIxLDEwKSIgcng9IjIiIHJ5PSIyIiAvPgo8dGV4dCAgeD0iNDQzLjIxIiB5PSIyNzEuNSIgPmRv X2Vwb2xsX3dhaXQ8L3RleHQ+CjwvZz4KPGcgPgo8dGl0bGU+a3N5c19yZWFkICg0IHNhbXBsZXMs IDQuMTclKTwvdGl0bGU+PHJlY3QgeD0iMTk0LjQiIHk9IjI0NSIgd2lkdGg9IjQ5LjEiIGhlaWdo dD0iMTUuMCIgZmlsbD0icmdiKDIzOSwxNDcsMTEpIiByeD0iMiIgcnk9IjIiIC8+Cjx0ZXh0ICB4 PSIxOTcuMzgiIHk9IjI1NS41IiA+a3N5cy4uPC90ZXh0Pgo8L2c+CjxnID4KPHRpdGxlPl9feDY0 X3N5c19mdXRleCAoOCBzYW1wbGVzLCA4LjMzJSk8L3RpdGxlPjxyZWN0IHg9Ijg0NS44IiB5PSIy OTMiIHdpZHRoPSI5OC40IiBoZWlnaHQ9IjE1LjAiIGZpbGw9InJnYigyNTMsNjAsMTQpIiByeD0i MiIgcnk9IjIiIC8+Cjx0ZXh0ICB4PSI4NDguODMiIHk9IjMwMy41IiA+X194NjRfc3lzX2YuLjwv dGV4dD4KPC9nPgo8ZyA+Cjx0aXRsZT5HQ19oZWFkZXJfY2FjaGVfbWlzcyAoMiBzYW1wbGVzLCAy LjA4JSk8L3RpdGxlPjxyZWN0IHg9IjgzLjgiIHk9IjMyNSIgd2lkdGg9IjI0LjUiIGhlaWdodD0i MTUuMCIgZmlsbD0icmdiKDIwOSwyMDYsMTYpIiByeD0iMiIgcnk9IjIiIC8+Cjx0ZXh0ICB4PSI4 Ni43NSIgeT0iMzM1LjUiID5HLi48L3RleHQ+CjwvZz4KPGcgPgo8dGl0bGU+W3Vua25vd25dICgx IHNhbXBsZXMsIDEuMDQlKTwvdGl0bGU+PHJlY3QgeD0iMTgyLjEiIHk9IjI2MSIgd2lkdGg9IjEy LjMiIGhlaWdodD0iMTUuMCIgZmlsbD0icmdiKDIxNSwxODQsNTApIiByeD0iMiIgcnk9IjIiIC8+ Cjx0ZXh0ICB4PSIxODUuMDgiIHk9IjI3MS41IiA+PC90ZXh0Pgo8L2c+CjxnID4KPHRpdGxlPl9f eDY0X3N5c19yZWFkICg0IHNhbXBsZXMsIDQuMTclKTwvdGl0bGU+PHJlY3QgeD0iMTk0LjQiIHk9 IjI2MSIgd2lkdGg9IjQ5LjEiIGhlaWdodD0iMTUuMCIgZmlsbD0icmdiKDIzNiw1MSw1MCkiIHJ4 PSIyIiByeT0iMiIgLz4KPHRleHQgIHg9IjE5Ny4zOCIgeT0iMjcxLjUiID5fX3g2Li48L3RleHQ+ CjwvZz4KPGcgPgo8dGl0bGU+c2NoZWR1bGVfaHJ0aW1lb3V0X3JhbmdlICgxNiBzYW1wbGVzLCAx Ni42NyUpPC90aXRsZT48cmVjdCB4PSI0NDAuMiIgeT0iMjI5IiB3aWR0aD0iMTk2LjciIGhlaWdo dD0iMTUuMCIgZmlsbD0icmdiKDIxOCwxODIsOSkiIHJ4PSIyIiByeT0iMiIgLz4KPHRleHQgIHg9 IjQ0My4yMSIgeT0iMjM5LjUiID5zY2hlZHVsZV9ocnRpbWVvdXRfcmFuZ2U8L3RleHQ+CjwvZz4K PGcgPgo8dGl0bGU+cHRocmVhZF9jb25kX2Jyb2FkY2FzdEBAR0xJQkNfMi4zLjIgKDggc2FtcGxl cywgOC4zMyUpPC90aXRsZT48cmVjdCB4PSI4NDUuOCIgeT0iMzQxIiB3aWR0aD0iOTguNCIgaGVp Z2h0PSIxNS4wIiBmaWxsPSJyZ2IoMjUwLDM0LDIyKSIgcng9IjIiIHJ5PSIyIiAvPgo8dGV4dCAg eD0iODQ4LjgzIiB5PSIzNTEuNSIgPnB0aHJlYWRfY29uLi48L3RleHQ+CjwvZz4KPGcgPgo8dGl0 bGU+X19zY2hlZHVsZSAoOCBzYW1wbGVzLCA4LjMzJSk8L3RpdGxlPjxyZWN0IHg9IjcxMC42IiB5 PSIyMTMiIHdpZHRoPSI5OC40IiBoZWlnaHQ9IjE1LjAiIGZpbGw9InJnYigyMjgsMTY4LDE5KSIg cng9IjIiIHJ5PSIyIiAvPgo8dGV4dCAgeD0iNzEzLjYyIiB5PSIyMjMuNSIgPl9fc2NoZWR1bGU8 L3RleHQ+CjwvZz4KPGcgPgo8dGl0bGU+YWxsICg5NiBzYW1wbGVzLCAxMDAlKTwvdGl0bGU+PHJl Y3QgeD0iMTAuMCIgeT0iMzczIiB3aWR0aD0iMTE4MC4wIiBoZWlnaHQ9IjE1LjAiIGZpbGw9InJn YigyNTQsMTIxLDkpIiByeD0iMiIgcnk9IjIiIC8+Cjx0ZXh0ICB4PSIxMy4wMCIgeT0iMzgzLjUi ID48L3RleHQ+CjwvZz4KPGcgPgo8dGl0bGU+X19pbnRlbF9wbXVfZW5hYmxlX2FsbC5jb25zdHBy b3AuMzEgKDIwIHNhbXBsZXMsIDIwLjgzJSk8L3RpdGxlPjxyZWN0IHg9Ijk0NC4yIiB5PSIxMzMi IHdpZHRoPSIyNDUuOCIgaGVpZ2h0PSIxNS4wIiBmaWxsPSJyZ2IoMjMxLDE4MSwxOSkiIHJ4PSIy IiByeT0iMiIgLz4KPHRleHQgIHg9Ijk0Ny4xNyIgeT0iMTQzLjUiID5fX2ludGVsX3BtdV9lbmFi bGVfYWxsLmNvbnN0cHJvcC4uPC90ZXh0Pgo8L2c+CjxnID4KPHRpdGxlPmRvX3N5c2NhbGxfNjQg KDE2IHNhbXBsZXMsIDE2LjY3JSk8L3RpdGxlPjxyZWN0IHg9IjQ0MC4yIiB5PSIyOTMiIHdpZHRo PSIxOTYuNyIgaGVpZ2h0PSIxNS4wIiBmaWxsPSJyZ2IoMjMyLDQ5LDIxKSIgcng9IjIiIHJ5PSIy IiAvPgo8dGV4dCAgeD0iNDQzLjIxIiB5PSIzMDMuNSIgPmRvX3N5c2NhbGxfNjQ8L3RleHQ+Cjwv Zz4KPGcgPgo8dGl0bGU+c2NoZWR1bGUgKDQgc2FtcGxlcywgNC4xNyUpPC90aXRsZT48cmVjdCB4 PSIxOTQuNCIgeT0iMTQ5IiB3aWR0aD0iNDkuMSIgaGVpZ2h0PSIxNS4wIiBmaWxsPSJyZ2IoMjQ2 LDQ3LDQxKSIgcng9IjIiIHJ5PSIyIiAvPgo8dGV4dCAgeD0iMTk3LjM4IiB5PSIxNTkuNSIgPnNj aGUuLjwvdGV4dD4KPC9nPgo8L2c+Cjwvc3ZnPgo= --000000000000e5084205c1587324--