Received: by 2002:a05:6358:d09b:b0:dc:cd0c:909e with SMTP id jc27csp6151409rwb; Mon, 5 Dec 2022 08:34:15 -0800 (PST) X-Google-Smtp-Source: AA0mqf7sjlKCquaoG8TpWVIV8fHR2BWy8fJq/T3oA5LruyUvdqKrgoSET6DZN6MnKbTHX6ixl8/k X-Received: by 2002:a17:90a:dc18:b0:219:b8f8:9b80 with SMTP id i24-20020a17090adc1800b00219b8f89b80mr10262715pjv.54.1670258055599; Mon, 05 Dec 2022 08:34:15 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1670258055; cv=none; d=google.com; s=arc-20160816; b=iV8eteZGOHgxPU/bNL8vd+48wKyVfPllE3slkunNmWbByYffe+Yg7iwXjs10/m+xb5 zZxadwnKf9RmZ3rnL4ctfEvDajdBcqJItKoDCYL3jJhRM/CHy6jwgsQjk9kAVFe4meV+ 1lkUFKnv8b4PcovERhBa8YKpA1KkN5flZDFvl+Pd5rWfPeSsmuX9s8rcBi36HwcQA+K8 Seqo0iE0zeXSOZKB1CsHBNJv+FFX8vEvZgRnaXcern6qY9AKjatCPC67tsPMyNv9e8hH sa7+IbRscduUla774Samd6zcPIW+oVXmvdE5zN02GFLpX+tCC7xzCzdk7vqShC+EozD2 +b0A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:subject:from:cc:to:content-language:user-agent :mime-version:date:message-id:dkim-signature; bh=r5bdj3aj0dF0Owbi1d+643XhiOamNyPaTzXpAM8LZVw=; b=krAEVgx1ACqvLWCYsD0vXIrwzLgm0vY+hX442HGHAu5hmCqMVHUCUFydxDhczKNLRm l+csN6SBfsMXxUn+7TrSYHCEvMybjP4Fxh9YdyVxUb4iP+XW/64RyiaQrqauzurIDMlt n48kztjuFeCXU8PodsAZlT1kzqxxQ5rLsNZPS4I+Zzp8nuBxcAZHrLx9y2UDp+5Nqt49 n2p0bIJlJnMUeZaupVQU5t0WcejbE4XtQUYkb6qDG4rizcIQRzyBfrIFAMQKWJP9HjDs fYpgbsgfLyxDARuo9JNBPSL1VELzqr6qghvlZImeava/Pilg8ULoIuS34SVJ9MrMrWPy 4CCQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=google header.b=ArkiW1rJ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id d10-20020a170902f14a00b001889ad3ed98si13171958plb.462.2022.12.05.08.34.04; Mon, 05 Dec 2022 08:34:15 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=google header.b=ArkiW1rJ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231307AbiLEQ25 (ORCPT + 81 others); Mon, 5 Dec 2022 11:28:57 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53860 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230108AbiLEQ2z (ORCPT ); Mon, 5 Dec 2022 11:28:55 -0500 Received: from mail-io1-xd31.google.com (mail-io1-xd31.google.com [IPv6:2607:f8b0:4864:20::d31]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1684B1E3DC for ; Mon, 5 Dec 2022 08:28:50 -0800 (PST) Received: by mail-io1-xd31.google.com with SMTP id h6so2113291iof.9 for ; Mon, 05 Dec 2022 08:28:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linuxfoundation.org; s=google; h=subject:from:cc:to:content-language:user-agent:mime-version:date :message-id:from:to:cc:subject:date:message-id:reply-to; bh=r5bdj3aj0dF0Owbi1d+643XhiOamNyPaTzXpAM8LZVw=; b=ArkiW1rJ0iyAQb7iNzjkRArEThY3iNG2VnAIeEb/OMlAncuMH72INDJ7efLZO0249I +fpdMLl9JW4PA2VbJEIaP1qUp0FYCCWct1b1gEfLLPmb/871crvI+DWWMmuOMRMrnyYk 04zRxl0oJWSut+bzYqORz39k6jUYOFZ5sX/ls= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=subject:from:cc:to:content-language:user-agent:mime-version:date :message-id:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=r5bdj3aj0dF0Owbi1d+643XhiOamNyPaTzXpAM8LZVw=; b=ktOofNcRDRtM7iwa/0yW8P28kgMIGILDMdr2Iox7U2DCfoSvHbMTnjpitTdGACAbng 13lJi5VOVRcsmdWMQjYnc08Ss3Oa1CgzhaToKgPnIMeVFuPVQLCR/sLCdSK+tV5NYdco AnzyYuP+Mx1Gp0jwq4CE6LnS/tPrPcEiXWtks0/uqOIvo6sUwk5rfU8Ufpuc6f8d9fd8 bp4Ti+tPAV5zgLnMuIfL4SS+Ae2NsDxrVkqXrOZADQtKRqmGsNj0WphedarEsljNJd+K 6do0WCYXnP0UFMjbL1c2MynzF0pns6AOeMDbg3UfhmCFgrXHQ5HOngG/7WD++80GzXcA uuHA== X-Gm-Message-State: ANoB5pmEYYLA0vHo11g9afUtNQmEcdyucYqVWcIEQSaDWVoxVl5v2Akv Gg0QjN8XVafNJIrOaa+J/sT9fA== X-Received: by 2002:a5d:9642:0:b0:6d3:630c:25cb with SMTP id d2-20020a5d9642000000b006d3630c25cbmr29621986ios.97.1670257729188; Mon, 05 Dec 2022 08:28:49 -0800 (PST) Received: from [192.168.1.128] ([38.15.45.1]) by smtp.gmail.com with ESMTPSA id t8-20020a02b188000000b003762327da9bsm5770407jah.89.2022.12.05.08.28.48 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 05 Dec 2022 08:28:48 -0800 (PST) Content-Type: multipart/mixed; boundary="------------l8tyavfLbabtGWIEKIVI2BsL" Message-ID: Date: Mon, 5 Dec 2022 09:28:47 -0700 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2 Content-Language: en-US To: "Rafael J. Wysocki" Cc: Shuah Khan , linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, Thomas Renninger From: Shuah Khan Subject: [GIT PULL] cpupower update for Linux 6.2-rc1 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This is a multi-part message in MIME format. --------------l8tyavfLbabtGWIEKIVI2BsL Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hi Rafael, Please pull the following cpupower update for Linux 6.2-rc1. This cpupower update for Linux 6.2-rc1 consists of: - enhancement to choose base_cpu to display default cpupower details instead of picking cpu 0 and failing to show information when it is offline. This change ensure user will see power information on the cpu the tool runs on. - adds Georgian translation to cpupower documentation. - introduces powercap intel-rapl library, powercap-info command, and rapl monitor. This adds the ability to show the used power consumption in for each rapl domain diff is attached. thanks, -- Shuah ---------------------------------------------------------------- The following changes since commit 9abf2313adc1ca1b6180c508c25f22f9395cc780: Linux 6.1-rc1 (2022-10-16 15:36:24 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux tags/linux-cpupower-6.2-rc1 for you to fetch changes up to 8c37df3d635eac64a8fbb4b26672fb881e0cb673: cpupower: rapl monitor - shows the used power consumption in uj for each rapl domain (2022-11-30 16:48:34 -0700) ---------------------------------------------------------------- linux-cpupower-6.2-rc1 This cpupower update for Linux 6.2-rc1 consists of: - enhancement to choose base_cpu to display default cpupower details instead of picking cpu 0 and failing to show information when it is offline. This change ensure user will see power information on the cpu the tool runs on. - adds Georgian translation to cpupower documentation. - introduces powercap intel-rapl library, powercap-info command, and rapl monitor. This adds the ability to show the used power consumption in for each rapl domain ---------------------------------------------------------------- Saket Kumar Bhaskar (1): tools/cpupower: Choose base_cpu to display default cpupower details Thomas Renninger (2): cpupower: Introduce powercap intel-rapl library and powercap-info command cpupower: rapl monitor - shows the used power consumption in uj for each rapl domain Zurab Kargareteli (1): cpupower: Add Georgian translation tools/power/cpupower/Makefile | 15 +- tools/power/cpupower/lib/powercap.c | 290 ++++++ tools/power/cpupower/lib/powercap.h | 54 ++ tools/power/cpupower/man/cpupower-powercap-info.1 | 25 + tools/power/cpupower/po/ka.po | 983 +++++++++++++++++++++ tools/power/cpupower/utils/builtin.h | 2 + tools/power/cpupower/utils/cpufreq-info.c | 4 +- tools/power/cpupower/utils/cpuidle-info.c | 4 +- tools/power/cpupower/utils/cpupower-info.c | 4 +- tools/power/cpupower/utils/cpupower.c | 1 + .../cpupower/utils/idle_monitor/cpupower-monitor.c | 7 +- .../cpupower/utils/idle_monitor/idle_monitors.def | 1 + .../cpupower/utils/idle_monitor/rapl_monitor.c | 148 ++++ tools/power/cpupower/utils/powercap-info.c | 117 +++ 14 files changed, 1642 insertions(+), 13 deletions(-) create mode 100644 tools/power/cpupower/lib/powercap.c create mode 100644 tools/power/cpupower/lib/powercap.h create mode 100644 tools/power/cpupower/man/cpupower-powercap-info.1 create mode 100644 tools/power/cpupower/po/ka.po create mode 100644 tools/power/cpupower/utils/idle_monitor/rapl_monitor.c create mode 100644 tools/power/cpupower/utils/powercap-info.c ---------------------------------------------------------------- --------------l8tyavfLbabtGWIEKIVI2BsL Content-Type: text/x-patch; charset=UTF-8; name="linux-cpupower-6.2-rc1.diff" Content-Disposition: attachment; filename="linux-cpupower-6.2-rc1.diff" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL3Rvb2xzL3Bvd2VyL2NwdXBvd2VyL01ha2VmaWxlIGIvdG9vbHMvcG93 ZXIvY3B1cG93ZXIvTWFrZWZpbGUKaW5kZXggZTliNmRlMzE0NjU0Li41OWJmYTA1ZGVjNWQg MTAwNjQ0Ci0tLSBhL3Rvb2xzL3Bvd2VyL2NwdXBvd2VyL01ha2VmaWxlCisrKyBiL3Rvb2xz L3Bvd2VyL2NwdXBvd2VyL01ha2VmaWxlCkBAIC0xMzEsOSArMTMxLDEwIEBAIFVUSUxfT0JK UyA9ICB1dGlscy9oZWxwZXJzL2FtZC5vIHV0aWxzL2hlbHBlcnMvbXNyLm8gXAogCXV0aWxz L2lkbGVfbW9uaXRvci9oc3dfZXh0X2lkbGUubyBcCiAJdXRpbHMvaWRsZV9tb25pdG9yL2Ft ZF9mYW0xNGhfaWRsZS5vIHV0aWxzL2lkbGVfbW9uaXRvci9jcHVpZGxlX3N5c2ZzLm8gXAog CXV0aWxzL2lkbGVfbW9uaXRvci9tcGVyZl9tb25pdG9yLm8gdXRpbHMvaWRsZV9tb25pdG9y L2NwdXBvd2VyLW1vbml0b3IubyBcCisJdXRpbHMvaWRsZV9tb25pdG9yL3JhcGxfbW9uaXRv ci5vIFwKIAl1dGlscy9jcHVwb3dlci5vIHV0aWxzL2NwdWZyZXEtaW5mby5vIHV0aWxzL2Nw dWZyZXEtc2V0Lm8gXAogCXV0aWxzL2NwdXBvd2VyLXNldC5vIHV0aWxzL2NwdXBvd2VyLWlu Zm8ubyB1dGlscy9jcHVpZGxlLWluZm8ubyBcCi0JdXRpbHMvY3B1aWRsZS1zZXQubworCXV0 aWxzL2NwdWlkbGUtc2V0Lm8gdXRpbHMvcG93ZXJjYXAtaW5mby5vCiAKIFVUSUxfU1JDIDo9 ICQoVVRJTF9PQkpTOi5vPS5jKQogCkBAIC0xNDMsOSArMTQ0LDEyIEBAIFVUSUxfSEVBREVS UyA9IHV0aWxzL2hlbHBlcnMvaGVscGVycy5oIHV0aWxzL2lkbGVfbW9uaXRvci9jcHVwb3dl ci1tb25pdG9yLmggXAogCXV0aWxzL2hlbHBlcnMvYml0bWFzay5oIFwKIAl1dGlscy9pZGxl X21vbml0b3IvaWRsZV9tb25pdG9ycy5oIHV0aWxzL2lkbGVfbW9uaXRvci9pZGxlX21vbml0 b3JzLmRlZgogCi1MSUJfSEVBREVSUyA9IAlsaWIvY3B1ZnJlcS5oIGxpYi9jcHVwb3dlci5o IGxpYi9jcHVpZGxlLmggbGliL2FjcGlfY3BwYy5oCi1MSUJfU1JDID0gCWxpYi9jcHVmcmVx LmMgbGliL2NwdXBvd2VyLmMgbGliL2NwdWlkbGUuYyBsaWIvYWNwaV9jcHBjLmMKLUxJQl9P QkpTID0gCWxpYi9jcHVmcmVxLm8gbGliL2NwdXBvd2VyLm8gbGliL2NwdWlkbGUubyBsaWIv YWNwaV9jcHBjLm8KK0xJQl9IRUFERVJTID0gCWxpYi9jcHVmcmVxLmggbGliL2NwdXBvd2Vy LmggbGliL2NwdWlkbGUuaCBsaWIvYWNwaV9jcHBjLmggXAorCWxpYi9wb3dlcmNhcC5oCitM SUJfU1JDID0gCWxpYi9jcHVmcmVxLmMgbGliL2NwdXBvd2VyLmMgbGliL2NwdWlkbGUuYyBs aWIvYWNwaV9jcHBjLmMgXAorCWxpYi9wb3dlcmNhcC5jCitMSUJfT0JKUyA9IAlsaWIvY3B1 ZnJlcS5vIGxpYi9jcHVwb3dlci5vIGxpYi9jcHVpZGxlLm8gbGliL2FjcGlfY3BwYy5vIFwK KwlsaWIvcG93ZXJjYXAubwogTElCX09CSlMgOj0JJChhZGRwcmVmaXggJChPVVRQVVQpLCQo TElCX09CSlMpKQogCiBvdmVycmlkZSBDRkxBR1MgKz0JLXBpcGUKQEAgLTI3Niw2ICsyODAs NyBAQCBpbnN0YWxsLWxpYjogbGliY3B1cG93ZXIKIAkkKElOU1RBTEwpIC1kICQoREVTVERJ Uikke2luY2x1ZGVkaXJ9CiAJJChJTlNUQUxMX0RBVEEpIGxpYi9jcHVmcmVxLmggJChERVNU RElSKSR7aW5jbHVkZWRpcn0vY3B1ZnJlcS5oCiAJJChJTlNUQUxMX0RBVEEpIGxpYi9jcHVp ZGxlLmggJChERVNURElSKSR7aW5jbHVkZWRpcn0vY3B1aWRsZS5oCisJJChJTlNUQUxMX0RB VEEpIGxpYi9wb3dlcmNhcC5oICQoREVTVERJUikke2luY2x1ZGVkaXJ9L3Bvd2VyY2FwLmgK IAogaW5zdGFsbC10b29sczogJChPVVRQVVQpY3B1cG93ZXIKIAkkKElOU1RBTEwpIC1kICQo REVTVERJUikke2JpbmRpcn0KQEAgLTI5Miw2ICsyOTcsNyBAQCBpbnN0YWxsLW1hbjoKIAkk KElOU1RBTExfREFUQSkgLUQgbWFuL2NwdXBvd2VyLXNldC4xICQoREVTVERJUikke21hbmRp cn0vbWFuMS9jcHVwb3dlci1zZXQuMQogCSQoSU5TVEFMTF9EQVRBKSAtRCBtYW4vY3B1cG93 ZXItaW5mby4xICQoREVTVERJUikke21hbmRpcn0vbWFuMS9jcHVwb3dlci1pbmZvLjEKIAkk KElOU1RBTExfREFUQSkgLUQgbWFuL2NwdXBvd2VyLW1vbml0b3IuMSAkKERFU1RESVIpJHtt YW5kaXJ9L21hbjEvY3B1cG93ZXItbW9uaXRvci4xCisJJChJTlNUQUxMX0RBVEEpIC1EIG1h bi9jcHVwb3dlci1wb3dlcmNhcC1pbmZvLjEgJChERVNURElSKSR7bWFuZGlyfS9tYW4xL2Nw dXBvd2VyLXBvd2VyY2FwLWluZm8uMQogCiBpbnN0YWxsLWdtbzogY3JlYXRlLWdtbwogCSQo SU5TVEFMTCkgLWQgJChERVNURElSKSR7bG9jYWxlZGlyfQpAQCAtMzIxLDYgKzMyNyw3IEBA IHVuaW5zdGFsbDoKIAktIHJtIC1mICQoREVTVERJUikke21hbmRpcn0vbWFuMS9jcHVwb3dl ci1zZXQuMQogCS0gcm0gLWYgJChERVNURElSKSR7bWFuZGlyfS9tYW4xL2NwdXBvd2VyLWlu Zm8uMQogCS0gcm0gLWYgJChERVNURElSKSR7bWFuZGlyfS9tYW4xL2NwdXBvd2VyLW1vbml0 b3IuMQorCS0gcm0gLWYgJChERVNURElSKSR7bWFuZGlyfS9tYW4xL2NwdXBvd2VyLXBvd2Vy Y2FwLWluZm8uMQogCS0gZm9yIEhMQU5HIGluICQoTEFOR1VBR0VTKTsgZG8gXAogCQlybSAt ZiAkKERFU1RESVIpJHtsb2NhbGVkaXJ9LyQkSExBTkcvTENfTUVTU0FHRVMvY3B1cG93ZXIu bW87IFwKIAkgIGRvbmU7CmRpZmYgLS1naXQgYS90b29scy9wb3dlci9jcHVwb3dlci9saWIv cG93ZXJjYXAuYyBiL3Rvb2xzL3Bvd2VyL2NwdXBvd2VyL2xpYi9wb3dlcmNhcC5jCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uMGNlMjllZTRjMmU0Ci0tLSAv ZGV2L251bGwKKysrIGIvdG9vbHMvcG93ZXIvY3B1cG93ZXIvbGliL3Bvd2VyY2FwLmMKQEAg LTAsMCArMSwyOTAgQEAKKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9u bHkKKy8qCisgKiAgKEMpIDIwMTYgU1VTRSBTb2Z0d2FyZSBTb2x1dGlvbnMgR21iSAorICog ICAgICAgICAgIFRob21hcyBSZW5uaW5nZXIgPHRyZW5uQHN1c2UuZGU+CisgKi8KKworI2lu Y2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8 dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+Cisj aW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPGRpcmVu dC5oPgorCisjaW5jbHVkZSAicG93ZXJjYXAuaCIKKworc3RhdGljIHVuc2lnbmVkIGludCBz eXNmc19yZWFkX2ZpbGUoY29uc3QgY2hhciAqcGF0aCwgY2hhciAqYnVmLCBzaXplX3QgYnVm bGVuKQoreworCWludCBmZDsKKwlzc2l6ZV90IG51bXJlYWQ7CisKKwlmZCA9IG9wZW4ocGF0 aCwgT19SRE9OTFkpOworCWlmIChmZCA9PSAtMSkKKwkJcmV0dXJuIDA7CisKKwludW1yZWFk ID0gcmVhZChmZCwgYnVmLCBidWZsZW4gLSAxKTsKKwlpZiAobnVtcmVhZCA8IDEpIHsKKwkJ Y2xvc2UoZmQpOworCQlyZXR1cm4gMDsKKwl9CisKKwlidWZbbnVtcmVhZF0gPSAnXDAnOwor CWNsb3NlKGZkKTsKKworCXJldHVybiAodW5zaWduZWQgaW50KSBudW1yZWFkOworfQorCitz dGF0aWMgaW50IHN5c2ZzX2dldF9lbmFibGVkKGNoYXIgKnBhdGgsIGludCAqbW9kZSkKK3sK KwlpbnQgZmQ7CisJY2hhciB5ZXNfbm87CisKKwkqbW9kZSA9IDA7CisKKwlmZCA9IG9wZW4o cGF0aCwgT19SRE9OTFkpOworCWlmIChmZCA9PSAtMSkKKwkJcmV0dXJuIC0xOworCisJaWYg KHJlYWQoZmQsICZ5ZXNfbm8sIDEpICE9IDEpIHsKKwkJY2xvc2UoZmQpOworCQlyZXR1cm4g LTE7CisJfQorCisJaWYgKHllc19ubyA9PSAnMScpIHsKKwkJKm1vZGUgPSAxOworCQlyZXR1 cm4gMDsKKwl9IGVsc2UgaWYgKHllc19ubyA9PSAnMCcpIHsKKwkJcmV0dXJuIDA7CisJfQor CXJldHVybiAtMTsKK30KKworaW50IHBvd2VyY2FwX2dldF9lbmFibGVkKGludCAqbW9kZSkK K3sKKwljaGFyIHBhdGhbU1lTRlNfUEFUSF9NQVhdID0gUEFUSF9UT19QT1dFUkNBUCAiL2lu dGVsLXJhcGwvZW5hYmxlZCI7CisKKwlyZXR1cm4gc3lzZnNfZ2V0X2VuYWJsZWQocGF0aCwg bW9kZSk7Cit9CisKKy8qCisgKiBIYXJkY29kZWQsIGJlY2F1c2UgcmFwbCBpcyB0aGUgb25s eSBwb3dlcmNhcCBpbXBsZW1lbnRhdGlvbgorLSAqIHRoaXMgbmVlZHMgdG8gZ2V0IG1vcmUg Z2VuZXJpYyBpZiBtb3JlIHBvd2VyY2FwIGltcGxlbWVudGF0aW9ucworICogc2hvdWxkIHNo b3cgdXAKKyAqLworaW50IHBvd2VyY2FwX2dldF9kcml2ZXIoY2hhciAqZHJpdmVyLCBpbnQg YnVmbGVuKQoreworCWNoYXIgZmlsZVtTWVNGU19QQVRIX01BWF0gPSBQQVRIX1RPX1JBUEw7 CisKKwlzdHJ1Y3Qgc3RhdCBzdGF0YnVmOworCisJaWYgKHN0YXQoZmlsZSwgJnN0YXRidWYp ICE9IDAgfHwgIVNfSVNESVIoc3RhdGJ1Zi5zdF9tb2RlKSkgeworCQlkcml2ZXIgPSAiIjsK KwkJcmV0dXJuIC0xOworCX0gZWxzZSBpZiAoYnVmbGVuID4gMTApIHsKKwkJc3RyY3B5KGRy aXZlciwgImludGVsLXJhcGwiKTsKKwkJcmV0dXJuIDA7CisJfSBlbHNlCisJCXJldHVybiAt MTsKK30KKworZW51bSBwb3dlcmNhcF9nZXQ2NCB7CisJR0VUX0VORVJHWV9VSiwKKwlHRVRf TUFYX0VORVJHWV9SQU5HRV9VSiwKKwlHRVRfUE9XRVJfVVcsCisJR0VUX01BWF9QT1dFUl9S QU5HRV9VVywKKwlNQVhfR0VUXzY0X0ZJTEVTCit9OworCitzdGF0aWMgY29uc3QgY2hhciAq cG93ZXJjYXBfZ2V0NjRfZmlsZXNbTUFYX0dFVF82NF9GSUxFU10gPSB7CisJW0dFVF9QT1dF Ul9VV10gPSAicG93ZXJfdXciLAorCVtHRVRfTUFYX1BPV0VSX1JBTkdFX1VXXSA9ICJtYXhf cG93ZXJfcmFuZ2VfdXciLAorCVtHRVRfRU5FUkdZX1VKXSA9ICJlbmVyZ3lfdWoiLAorCVtH RVRfTUFYX0VORVJHWV9SQU5HRV9VSl0gPSAibWF4X2VuZXJneV9yYW5nZV91aiIsCit9Owor CitzdGF0aWMgaW50IHN5c2ZzX3Bvd2VyY2FwX2dldDY0X3ZhbChzdHJ1Y3QgcG93ZXJjYXBf em9uZSAqem9uZSwKKwkJCQkgICAgICBlbnVtIHBvd2VyY2FwX2dldDY0IHdoaWNoLAorCQkJ CSAgICAgIHVpbnQ2NF90ICp2YWwpCit7CisJY2hhciBmaWxlW1NZU0ZTX1BBVEhfTUFYXSA9 IFBBVEhfVE9fUE9XRVJDQVAgIi8iOworCWludCByZXQ7CisJY2hhciBidWZbTUFYX0xJTkVf TEVOXTsKKworCXN0cmNhdChmaWxlLCB6b25lLT5zeXNfbmFtZSk7CisJc3RyY2F0KGZpbGUs ICIvIik7CisJc3RyY2F0KGZpbGUsIHBvd2VyY2FwX2dldDY0X2ZpbGVzW3doaWNoXSk7CisK KwlyZXQgPSBzeXNmc19yZWFkX2ZpbGUoZmlsZSwgYnVmLCBNQVhfTElORV9MRU4pOworCWlm IChyZXQgPCAwKQorCQlyZXR1cm4gcmV0OworCWlmIChyZXQgPT0gMCkKKwkJcmV0dXJuIC0x OworCisJKnZhbCA9IHN0cnRvbGwoYnVmLCBOVUxMLCAxMCk7CisJcmV0dXJuIDA7Cit9CisK K2ludCBwb3dlcmNhcF9nZXRfbWF4X2VuZXJneV9yYW5nZV91aihzdHJ1Y3QgcG93ZXJjYXBf em9uZSAqem9uZSwgdWludDY0X3QgKnZhbCkKK3sKKwlyZXR1cm4gc3lzZnNfcG93ZXJjYXBf Z2V0NjRfdmFsKHpvbmUsIEdFVF9NQVhfRU5FUkdZX1JBTkdFX1VKLCB2YWwpOworfQorCitp bnQgcG93ZXJjYXBfZ2V0X2VuZXJneV91aihzdHJ1Y3QgcG93ZXJjYXBfem9uZSAqem9uZSwg dWludDY0X3QgKnZhbCkKK3sKKwlyZXR1cm4gc3lzZnNfcG93ZXJjYXBfZ2V0NjRfdmFsKHpv bmUsIEdFVF9FTkVSR1lfVUosIHZhbCk7Cit9CisKK2ludCBwb3dlcmNhcF9nZXRfbWF4X3Bv d2VyX3JhbmdlX3V3KHN0cnVjdCBwb3dlcmNhcF96b25lICp6b25lLCB1aW50NjRfdCAqdmFs KQoreworCXJldHVybiBzeXNmc19wb3dlcmNhcF9nZXQ2NF92YWwoem9uZSwgR0VUX01BWF9Q T1dFUl9SQU5HRV9VVywgdmFsKTsKK30KKworaW50IHBvd2VyY2FwX2dldF9wb3dlcl91dyhz dHJ1Y3QgcG93ZXJjYXBfem9uZSAqem9uZSwgdWludDY0X3QgKnZhbCkKK3sKKwlyZXR1cm4g c3lzZnNfcG93ZXJjYXBfZ2V0NjRfdmFsKHpvbmUsIEdFVF9QT1dFUl9VVywgdmFsKTsKK30K KworaW50IHBvd2VyY2FwX3pvbmVfZ2V0X2VuYWJsZWQoc3RydWN0IHBvd2VyY2FwX3pvbmUg KnpvbmUsIGludCAqbW9kZSkKK3sKKwljaGFyIHBhdGhbU1lTRlNfUEFUSF9NQVhdID0gUEFU SF9UT19QT1dFUkNBUDsKKworCWlmICgoc3RybGVuKFBBVEhfVE9fUE9XRVJDQVApICsgc3Ry bGVuKHpvbmUtPnN5c19uYW1lKSkgKworCSAgICBzdHJsZW4oIi9lbmFibGVkIikgKyAxID49 IFNZU0ZTX1BBVEhfTUFYKQorCQlyZXR1cm4gLTE7CisKKwlzdHJjYXQocGF0aCwgIi8iKTsK KwlzdHJjYXQocGF0aCwgem9uZS0+c3lzX25hbWUpOworCXN0cmNhdChwYXRoLCAiL2VuYWJs ZWQiKTsKKworCXJldHVybiBzeXNmc19nZXRfZW5hYmxlZChwYXRoLCBtb2RlKTsKK30KKwor aW50IHBvd2VyY2FwX3pvbmVfc2V0X2VuYWJsZWQoc3RydWN0IHBvd2VyY2FwX3pvbmUgKnpv bmUsIGludCBtb2RlKQoreworCS8qIFRvIGJlIGRvbmUgaWYgbmVlZGVkICovCisJcmV0dXJu IDA7Cit9CisKKworaW50IHBvd2VyY2FwX3JlYWRfem9uZShzdHJ1Y3QgcG93ZXJjYXBfem9u ZSAqem9uZSkKK3sKKwlzdHJ1Y3QgZGlyZW50ICpkZW50OworCURJUiAqem9uZV9kaXI7CisJ Y2hhciBzeXNmc19kaXJbU1lTRlNfUEFUSF9NQVhdID0gUEFUSF9UT19QT1dFUkNBUDsKKwlz dHJ1Y3QgcG93ZXJjYXBfem9uZSAqY2hpbGRfem9uZTsKKwljaGFyIGZpbGVbU1lTRlNfUEFU SF9NQVhdID0gUEFUSF9UT19QT1dFUkNBUDsKKwlpbnQgaSwgcmV0ID0gMDsKKwl1aW50NjRf dCB2YWwgPSAwOworCisJc3RyY2F0KHN5c2ZzX2RpciwgIi8iKTsKKwlzdHJjYXQoc3lzZnNf ZGlyLCB6b25lLT5zeXNfbmFtZSk7CisKKwl6b25lX2RpciA9IG9wZW5kaXIoc3lzZnNfZGly KTsKKwlpZiAoem9uZV9kaXIgPT0gTlVMTCkKKwkJcmV0dXJuIC0xOworCisJc3RyY2F0KGZp bGUsICIvIik7CisJc3RyY2F0KGZpbGUsIHpvbmUtPnN5c19uYW1lKTsKKwlzdHJjYXQoZmls ZSwgIi9uYW1lIik7CisJc3lzZnNfcmVhZF9maWxlKGZpbGUsIHpvbmUtPm5hbWUsIE1BWF9M SU5FX0xFTik7CisJaWYgKHpvbmUtPnBhcmVudCkKKwkJem9uZS0+dHJlZV9kZXB0aCA9IHpv bmUtPnBhcmVudC0+dHJlZV9kZXB0aCArIDE7CisJcmV0ID0gcG93ZXJjYXBfZ2V0X2VuZXJn eV91aih6b25lLCAmdmFsKTsKKwlpZiAocmV0ID09IDApCisJCXpvbmUtPmhhc19lbmVyZ3lf dWogPSAxOworCXJldCA9IHBvd2VyY2FwX2dldF9wb3dlcl91dyh6b25lLCAmdmFsKTsKKwlp ZiAocmV0ID09IDApCisJCXpvbmUtPmhhc19wb3dlcl91dyA9IDE7CisKKwl3aGlsZSAoKGRl bnQgPSByZWFkZGlyKHpvbmVfZGlyKSkgIT0gTlVMTCkgeworCQlzdHJ1Y3Qgc3RhdCBzdDsK KworCQlpZiAoc3RyY21wKGRlbnQtPmRfbmFtZSwgIi4iKSA9PSAwIHx8IHN0cmNtcChkZW50 LT5kX25hbWUsICIuLiIpID09IDApCisJCQljb250aW51ZTsKKworCQlpZiAoc3RhdChkZW50 LT5kX25hbWUsICZzdCkgIT0gMCB8fCAhU19JU0RJUihzdC5zdF9tb2RlKSkKKwkJCWlmIChm c3RhdGF0KGRpcmZkKHpvbmVfZGlyKSwgZGVudC0+ZF9uYW1lLCAmc3QsIDApIDwgMCkKKwkJ CQljb250aW51ZTsKKworCQlpZiAoc3RybmNtcChkZW50LT5kX25hbWUsICJpbnRlbC1yYXBs OiIsIDExKSAhPSAwKQorCQkJY29udGludWU7CisKKwkJY2hpbGRfem9uZSA9IGNhbGxvYygx LCBzaXplb2Yoc3RydWN0IHBvd2VyY2FwX3pvbmUpKTsKKwkJaWYgKGNoaWxkX3pvbmUgPT0g TlVMTCkKKwkJCXJldHVybiAtMTsKKwkJZm9yIChpID0gMDsgaSA8IFBPV0VSQ0FQX01BWF9D SElMRF9aT05FUzsgaSsrKSB7CisJCQlpZiAoem9uZS0+Y2hpbGRyZW5baV0gPT0gTlVMTCkg eworCQkJCXpvbmUtPmNoaWxkcmVuW2ldID0gY2hpbGRfem9uZTsKKwkJCQlicmVhazsKKwkJ CX0KKwkJCWlmIChpID09IFBPV0VSQ0FQX01BWF9DSElMRF9aT05FUyAtIDEpIHsKKwkJCQlm cmVlKGNoaWxkX3pvbmUpOworCQkJCWZwcmludGYoc3RkZXJyLCAiUmVhY2hlZCBQT1dFUkNB UF9NQVhfQ0hJTERfWk9ORVMgJWRcbiIsCisJCQkJICAgICAgIFBPV0VSQ0FQX01BWF9DSElM RF9aT05FUyk7CisJCQkJcmV0dXJuIC0xOworCQkJfQorCQl9CisJCXN0cmNweShjaGlsZF96 b25lLT5zeXNfbmFtZSwgem9uZS0+c3lzX25hbWUpOworCQlzdHJjYXQoY2hpbGRfem9uZS0+ c3lzX25hbWUsICIvIik7CisJCXN0cmNhdChjaGlsZF96b25lLT5zeXNfbmFtZSwgZGVudC0+ ZF9uYW1lKTsKKwkJY2hpbGRfem9uZS0+cGFyZW50ID0gem9uZTsKKwkJaWYgKHpvbmUtPnRy ZWVfZGVwdGggPj0gUE9XRVJDQVBfTUFYX1RSRUVfREVQVEgpIHsKKwkJCWZwcmludGYoc3Rk ZXJyLCAiTWF4aW11bSB6b25lIGhpZXJhcmNoeSBkZXB0aFslZF0gcmVhY2hlZFxuIiwKKwkJ CQlQT1dFUkNBUF9NQVhfVFJFRV9ERVBUSCk7CisJCQlyZXQgPSAtMTsKKwkJCWJyZWFrOwor CQl9CisJCXBvd2VyY2FwX3JlYWRfem9uZShjaGlsZF96b25lKTsKKwl9CisJY2xvc2VkaXIo em9uZV9kaXIpOworCXJldHVybiByZXQ7Cit9CisKK3N0cnVjdCBwb3dlcmNhcF96b25lICpw b3dlcmNhcF9pbml0X3pvbmVzKHZvaWQpCit7CisJaW50IGVuYWJsZWQ7CisJc3RydWN0IHBv d2VyY2FwX3pvbmUgKnJvb3Rfem9uZTsKKwlpbnQgcmV0OworCWNoYXIgZmlsZVtTWVNGU19Q QVRIX01BWF0gPSBQQVRIX1RPX1JBUEwgIi9lbmFibGVkIjsKKworCXJldCA9IHN5c2ZzX2dl dF9lbmFibGVkKGZpbGUsICZlbmFibGVkKTsKKworCWlmIChyZXQpCisJCXJldHVybiBOVUxM OworCisJaWYgKCFlbmFibGVkKQorCQlyZXR1cm4gTlVMTDsKKworCXJvb3Rfem9uZSA9IGNh bGxvYygxLCBzaXplb2Yoc3RydWN0IHBvd2VyY2FwX3pvbmUpKTsKKwlpZiAoIXJvb3Rfem9u ZSkKKwkJcmV0dXJuIE5VTEw7CisKKwlzdHJjcHkocm9vdF96b25lLT5zeXNfbmFtZSwgImlu dGVsLXJhcGwvaW50ZWwtcmFwbDowIik7CisKKwlwb3dlcmNhcF9yZWFkX3pvbmUocm9vdF96 b25lKTsKKworCXJldHVybiByb290X3pvbmU7Cit9CisKKy8qIENhbGwgZnVuY3Rpb24gKmYg b24gdGhlIHBhc3NlZCB6b25lIGFuZCBhbGwgaXRzIGNoaWxkcmVuICovCisKK2ludCBwb3dl cmNhcF93YWxrX3pvbmVzKHN0cnVjdCBwb3dlcmNhcF96b25lICp6b25lLAorCQkJaW50ICgq Zikoc3RydWN0IHBvd2VyY2FwX3pvbmUgKnpvbmUpKQoreworCWludCBpLCByZXQ7CisKKwlp ZiAoIXpvbmUpCisJCXJldHVybiAtMTsKKworCXJldCA9IGYoem9uZSk7CisJaWYgKHJldCkK KwkJcmV0dXJuIHJldDsKKworCWZvciAoaSA9IDA7IGkgPCBQT1dFUkNBUF9NQVhfQ0hJTERf Wk9ORVM7IGkrKykgeworCQlpZiAoem9uZS0+Y2hpbGRyZW5baV0gIT0gTlVMTCkKKwkJCXBv d2VyY2FwX3dhbGtfem9uZXMoem9uZS0+Y2hpbGRyZW5baV0sIGYpOworCX0KKwlyZXR1cm4g MDsKK30KZGlmZiAtLWdpdCBhL3Rvb2xzL3Bvd2VyL2NwdXBvd2VyL2xpYi9wb3dlcmNhcC5o IGIvdG9vbHMvcG93ZXIvY3B1cG93ZXIvbGliL3Bvd2VyY2FwLmgKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5jMDQ5YzEwOWYyMmYKLS0tIC9kZXYvbnVsbAor KysgYi90b29scy9wb3dlci9jcHVwb3dlci9saWIvcG93ZXJjYXAuaApAQCAtMCwwICsxLDU0 IEBACisvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5ICovCisvKgor ICogIChDKSAyMDE2IFNVU0UgU29mdHdhcmUgU29sdXRpb25zIEdtYkgKKyAqICAgICAgICAg ICBUaG9tYXMgUmVubmluZ2VyIDx0cmVubkBzdXNlLmRlPgorICovCisKKyNpZm5kZWYgX19D UFVQT1dFUl9SQVBMX0hfXworI2RlZmluZSBfX0NQVVBPV0VSX1JBUExfSF9fCisKKyNkZWZp bmUgUEFUSF9UT19QT1dFUkNBUCAiL3N5cy9kZXZpY2VzL3ZpcnR1YWwvcG93ZXJjYXAiCisj ZGVmaW5lIFBBVEhfVE9fUkFQTCAiL3N5cy9kZXZpY2VzL3ZpcnR1YWwvcG93ZXJjYXAvaW50 ZWwtcmFwbCIKKyNkZWZpbmUgUEFUSF9UT19SQVBMX0NMQVNTICIvc3lzL2RldmljZXMvdmly dHVhbC9wb3dlcmNhcC9pbnRlbC1yYXBsIgorCisjZGVmaW5lIFBPV0VSQ0FQX01BWF9DSElM RF9aT05FUyAxMAorI2RlZmluZSBQT1dFUkNBUF9NQVhfVFJFRV9ERVBUSCAxMAorCisjZGVm aW5lIE1BWF9MSU5FX0xFTiA0MDk2CisjZGVmaW5lIFNZU0ZTX1BBVEhfTUFYIDI1NQorCisj aW5jbHVkZSA8c3RkaW50Lmg+CisKK3N0cnVjdCBwb3dlcmNhcF96b25lIHsKKwljaGFyIG5h bWVbTUFYX0xJTkVfTEVOXTsKKwkvKgorCSAqIHN5c19uYW1lIHJlbGF0aXZlIHRvIFBBVEhf VE9fUE9XRVJDQVAsCisJICogZG8gbm90IGZvcmdldCB0aGUgLyBpbiBiZXR3ZWVuCisJICov CisJY2hhciBzeXNfbmFtZVtTWVNGU19QQVRIX01BWF07CisJaW50IHRyZWVfZGVwdGg7CisJ c3RydWN0IHBvd2VyY2FwX3pvbmUgKnBhcmVudDsKKwlzdHJ1Y3QgcG93ZXJjYXBfem9uZSAq Y2hpbGRyZW5bUE9XRVJDQVBfTUFYX0NISUxEX1pPTkVTXTsKKwkvKiBNb3JlIHBvc3NpYmxl IGNhcHMgb3IgYXR0cmlidXRlcyB0byBiZSBhZGRlZD8gKi8KKwl1aW50MzJfdCBoYXNfcG93 ZXJfdXc6MSwKKwkJIGhhc19lbmVyZ3lfdWo6MTsKKworfTsKKworaW50IHBvd2VyY2FwX3dh bGtfem9uZXMoc3RydWN0IHBvd2VyY2FwX3pvbmUgKnpvbmUsCisJCQlpbnQgKCpmKShzdHJ1 Y3QgcG93ZXJjYXBfem9uZSAqem9uZSkpOworCitzdHJ1Y3QgcG93ZXJjYXBfem9uZSAqcG93 ZXJjYXBfaW5pdF96b25lcyh2b2lkKTsKK2ludCBwb3dlcmNhcF9nZXRfZW5hYmxlZChpbnQg Km1vZGUpOworaW50IHBvd2VyY2FwX3NldF9lbmFibGVkKGludCBtb2RlKTsKK2ludCBwb3dl cmNhcF9nZXRfZHJpdmVyKGNoYXIgKmRyaXZlciwgaW50IGJ1Zmxlbik7CisKK2ludCBwb3dl cmNhcF9nZXRfbWF4X2VuZXJneV9yYW5nZV91aihzdHJ1Y3QgcG93ZXJjYXBfem9uZSAqem9u ZSwgdWludDY0X3QgKnZhbCk7CitpbnQgcG93ZXJjYXBfZ2V0X2VuZXJneV91aihzdHJ1Y3Qg cG93ZXJjYXBfem9uZSAqem9uZSwgdWludDY0X3QgKnZhbCk7CitpbnQgcG93ZXJjYXBfZ2V0 X21heF9wb3dlcl9yYW5nZV91dyhzdHJ1Y3QgcG93ZXJjYXBfem9uZSAqem9uZSwgdWludDY0 X3QgKnZhbCk7CitpbnQgcG93ZXJjYXBfZ2V0X3Bvd2VyX3V3KHN0cnVjdCBwb3dlcmNhcF96 b25lICp6b25lLCB1aW50NjRfdCAqdmFsKTsKK2ludCBwb3dlcmNhcF96b25lX2dldF9lbmFi bGVkKHN0cnVjdCBwb3dlcmNhcF96b25lICp6b25lLCBpbnQgKm1vZGUpOworaW50IHBvd2Vy Y2FwX3pvbmVfc2V0X2VuYWJsZWQoc3RydWN0IHBvd2VyY2FwX3pvbmUgKnpvbmUsIGludCBt b2RlKTsKKworCisjZW5kaWYgLyogX19DUFVQT1dFUl9SQVBMX0hfXyAqLwpkaWZmIC0tZ2l0 IGEvdG9vbHMvcG93ZXIvY3B1cG93ZXIvbWFuL2NwdXBvd2VyLXBvd2VyY2FwLWluZm8uMSBi L3Rvb2xzL3Bvd2VyL2NwdXBvd2VyL21hbi9jcHVwb3dlci1wb3dlcmNhcC1pbmZvLjEKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5kZjMwODcwMDBlZmIKLS0t IC9kZXYvbnVsbAorKysgYi90b29scy9wb3dlci9jcHVwb3dlci9tYW4vY3B1cG93ZXItcG93 ZXJjYXAtaW5mby4xCkBAIC0wLDAgKzEsMjUgQEAKKy5USCBDUFVQT1dFUlwtUE9XRVJDQVBc LUlORk8gIjEiICIwNS8wOC8yMDE2IiAiIiAiY3B1cG93ZXIgTWFudWFsIgorLlNIIE5BTUUK K2NwdXBvd2VyXC1wb3dlcmNhcFwtaW5mbyBcLSBTaG93cyBwb3dlcmNhcHBpbmcgcmVsYXRl ZCBrZXJuZWwgYW5kIGhhcmR3YXJlIGNvbmZpZ3VyYXRpb25zCisuU0ggU1lOT1BTSVMKKy5m dCBCCisuQiBjcHVwb3dlciBwb3dlcmNhcC1pbmZvCisKKy5TSCBERVNDUklQVElPTgorXGZC Y3B1cG93ZXIgcG93ZXJjYXAtaW5mbyBcZlAgc2hvd3Mga2VybmVsIHBvd2VyY2FwcGluZyBz dWJzeXN0ZW0gaW5mb3JtYXRpb24uCitUaGlzIG5lZWRzIGhhcmR3YXJlIHN1cHBvcnQgYW5k IGEgbG9hZGVkIHBvd2VyY2FwcGluZyBkcml2ZXIgKGF0IHRoaXMgdGltZSBvbmx5CitpbnRl bF9yYXBsIGRyaXZlciBleGl0cykgZXhwb3J0aW5nIGhhcmR3YXJlIHZhbHVlcyB1c2Vyc3Bh Y2UgdmlhIHN5c2ZzLgorCitTb21lIG9wdGlvbnMgYXJlIHBsYXRmb3JtIHdpZGUsIHNvbWUg YWZmZWN0IHNpbmdsZSBjb3Jlcy4gQnkgZGVmYXVsdCB2YWx1ZXMKK29mIGNvcmUgemVybyBh cmUgZGlzcGxheWVkIG9ubHkuIGNwdXBvd2VyIC0tY3B1IGFsbCBjcHVpbmZvIHdpbGwgc2hv dyB0aGUKK3NldHRpbmdzIG9mIGFsbCBjb3Jlcywgc2VlIGNwdXBvd2VyKDEpIGhvdyB0byBj aG9vc2Ugc3BlY2lmaWMgY29yZXMuCisKKy5TSCAiRE9DVU1FTlRBVElPTiIKKwora2VybmVs IHNvdXJjZXM6CitEb2N1bWVudGF0aW9uL3Bvd2VyL3Bvd2VyY2FwL3Bvd2VyY2FwLnR4dAor CisKKy5TSCAiU0VFIEFMU08iCisKK2NwdXBvd2VyKDEpCmRpZmYgLS1naXQgYS90b29scy9w b3dlci9jcHVwb3dlci9wby9rYS5wbyBiL3Rvb2xzL3Bvd2VyL2NwdXBvd2VyL3BvL2thLnBv Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZWY3MWRiYWM1YTEz Ci0tLSAvZGV2L251bGwKKysrIGIvdG9vbHMvcG93ZXIvY3B1cG93ZXIvcG8va2EucG8KQEAg LTAsMCArMSw5ODMgQEAKKyMgR2VvcmdpYW4gdHJhbnNsYXRpb24gZm9yIGNwdWZyZXF1dGls cyBwYWNrYWdlCisjIEdlb3JnaWFuIG1lc3NhZ2VzIGZvciBjcHVmcmVxdXRpbHMuCisjIENv cHlyaWdodCAoQykgMjAwNC0yMDIyIERvbWluaWsgQnJvZG93c2tpIDxsaW51eEBkb21pbmlr YnJvZG93c2tpLm5ldD4KKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBz YW1lIGxpY2Vuc2UgYXMgdGhlIGNwdWZyZXF1dGlscyBwYWNrYWdlLgorIyBFa2F0ZXJpbmUg UGFwYXZhIDxrYXRvcGFwYXZhQGdtYWlsLmNvbT4sIDIwMjIuCisKK21zZ2lkICIiCittc2dz dHIgIiIKKyJQcm9qZWN0LUlkLVZlcnNpb246IGNwdWZyZXF1dGlscyAwMDZcbiIKKyJSZXBv cnQtTXNnaWQtQnVncy1UbzogXG4iCisiUE9ULUNyZWF0aW9uLURhdGU6IDIwMTEtMDMtMDgg MTc6MDMrMDEwMFxuIgorIlBPLVJldmlzaW9uLURhdGU6IDIwMjItMDktMTggMjI6MTIrMDIw MFxuIgorIkxhc3QtVHJhbnNsYXRvcjogRWthdGVyaW5lIFBhcGF2YSA8a2F0b3BhcGF2YUBn bWFpbC5jb20+XG4iCisiTGFuZ3VhZ2UtVGVhbTogTk9ORVxuIgorIkxhbmd1YWdlOiBrYVxu IgorIk1JTUUtVmVyc2lvbjogMS4wXG4iCisiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBj aGFyc2V0PVVURi04XG4iCisiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIgor IlBsdXJhbC1Gb3JtczogbnBsdXJhbHM9MjsgcGx1cmFsPShuICE9IDEpO1xuIgorIlgtR2Vu ZXJhdG9yOiBQb2VkaXQgMy4xLjFcbiIKKworIzogdXRpbHMvaWRsZV9tb25pdG9yL25obV9p ZGxlLmM6MzYKK21zZ2lkICJQcm9jZXNzb3IgQ29yZSBDMyIKK21zZ3N0ciAi4YOe4YOg4YOd 4YOq4YOU4YOh4YOd4YOg4YOY4YOhIOGDkeGDmOGDoOGDl+GDleGDmCBDMyIKKworIzogdXRp bHMvaWRsZV9tb25pdG9yL25obV9pZGxlLmM6NDMKK21zZ2lkICJQcm9jZXNzb3IgQ29yZSBD NiIKK21zZ3N0ciAi4YOe4YOg4YOd4YOq4YOU4YOh4YOd4YOg4YOY4YOhIOGDkeGDmOGDoOGD l+GDleGDmCBDNiIKKworIzogdXRpbHMvaWRsZV9tb25pdG9yL25obV9pZGxlLmM6NTEKK21z Z2lkICJQcm9jZXNzb3IgUGFja2FnZSBDMyIKK21zZ3N0ciAi4YOe4YOg4YOd4YOq4YOU4YOh 4YOd4YOg4YOY4YOhIOGDnuGDkOGDmeGDlOGDouGDmCBDMyIKKworIzogdXRpbHMvaWRsZV9t b25pdG9yL25obV9pZGxlLmM6NTggdXRpbHMvaWRsZV9tb25pdG9yL2FtZF9mYW0xNGhfaWRs ZS5jOjcwCittc2dpZCAiUHJvY2Vzc29yIFBhY2thZ2UgQzYiCittc2dzdHIgIuGDnuGDoOGD neGDquGDlOGDoeGDneGDoOGDmOGDoSDhg57hg5Dhg5nhg5Thg6Lhg5ggQzYiCisKKyM6IHV0 aWxzL2lkbGVfbW9uaXRvci9zbmJfaWRsZS5jOjMzCittc2dpZCAiUHJvY2Vzc29yIENvcmUg QzciCittc2dzdHIgIuGDnuGDoOGDneGDquGDlOGDoeGDneGDoOGDmOGDoSBDb3JlIEM3Igor CisjOiB1dGlscy9pZGxlX21vbml0b3Ivc25iX2lkbGUuYzo0MAorbXNnaWQgIlByb2Nlc3Nv ciBQYWNrYWdlIEMyIgorbXNnc3RyICLhg57hg6Dhg53hg6rhg5Thg6Hhg53hg6Dhg5jhg6Eg 4YOe4YOQ4YOZ4YOU4YOi4YOYIEMyIgorCisjOiB1dGlscy9pZGxlX21vbml0b3Ivc25iX2lk bGUuYzo0NworbXNnaWQgIlByb2Nlc3NvciBQYWNrYWdlIEM3IgorbXNnc3RyICLhg57hg6Dh g53hg6rhg5Thg6Hhg53hg6Dhg5jhg6Eg4YOe4YOQ4YOZ4YOU4YOi4YOYIEM3IgorCisjOiB1 dGlscy9pZGxlX21vbml0b3IvYW1kX2ZhbTE0aF9pZGxlLmM6NTYKK21zZ2lkICJQYWNrYWdl IGluIHNsZWVwIHN0YXRlIChQQzEgb3IgZGVlcGVyKSIKK21zZ3N0ciAi4YOe4YOQ4YOZ4YOU 4YOi4YOYIOGDq+GDmOGDmuGDmOGDoSDhg5vhg5Phg5Lhg53hg5vhg5Dhg6Dhg5Thg53hg5Hh g5Dhg6jhg5ggKFBDMSDhg5Dhg5wg4YOm4YOg4YOb4YOQKSIKKworIzogdXRpbHMvaWRsZV9t b25pdG9yL2FtZF9mYW0xNGhfaWRsZS5jOjYzCittc2dpZCAiUHJvY2Vzc29yIFBhY2thZ2Ug QzEiCittc2dzdHIgIuGDnuGDoOGDneGDquGDlOGDoeGDneGDoOGDmOGDoSDhg57hg5Dhg5nh g5Thg6Lhg5ggQzEiCisKKyM6IHV0aWxzL2lkbGVfbW9uaXRvci9hbWRfZmFtMTRoX2lkbGUu Yzo3NworbXNnaWQgIk5vcnRoIEJyaWRnZSBQMSBib29sZWFuIGNvdW50ZXIgKHJldHVybnMg MCBvciAxKSIKK21zZ3N0ciAi4YOp4YOg4YOT4YOY4YOa4YOdIOGDruGDmOGDk+GDmOGDoSBQ MSDhg5rhg53hg5Lhg5jhg5nhg6Phg6Dhg5gg4YOb4YOX4YOV4YOa4YOU4YOa4YOYICjhg5Dh g5Hhg6Dhg6Phg5zhg5Thg5Hhg6EgMCDhg5Dhg5wgMS3hg6EpIgorCisjOiB1dGlscy9pZGxl X21vbml0b3IvbXBlcmZfbW9uaXRvci5jOjM1Cittc2dpZCAiUHJvY2Vzc29yIENvcmUgbm90 IGlkbGUiCittc2dzdHIgIuGDnuGDoOGDneGDquGDlOGDoeGDneGDoOGDmOGDoSDhg5Hhg5jh g6Dhg5fhg5Xhg5gg4YOj4YOl4YOb4YOYIOGDkOGDoOGDkOGDkCIKKworIzogdXRpbHMvaWRs ZV9tb25pdG9yL21wZXJmX21vbml0b3IuYzo0MgorbXNnaWQgIlByb2Nlc3NvciBDb3JlIGlu IGFuIGlkbGUgc3RhdGUiCittc2dzdHIgIuGDnuGDoOGDneGDquGDlOGDoeGDneGDoOGDmOGD oSDhg5Hhg5jhg6Dhg5fhg5Xhg5gg4YOj4YOl4YObIOGDm+GDk+GDkuGDneGDm+GDkOGDoOGD lOGDneGDkeGDkOGDqOGDmCDhg5Dhg6Dhg5Dhg5AiCisKKyM6IHV0aWxzL2lkbGVfbW9uaXRv ci9tcGVyZl9tb25pdG9yLmM6NTAKK21zZ2lkICJBdmVyYWdlIEZyZXF1ZW5jeSAoaW5jbHVk aW5nIGJvb3N0KSBpbiBNSHoiCittc2dzdHIgIuGDoeGDkOGDqOGDo+GDkOGDmuGDnSDhg6Hh g5jhg67hg6jhg5jhg6Dhg5QgKOGDnuGDmOGDmeGDo+GDoOGDmOGDoSDhg6nhg5Dhg5fhg5Xh g5rhg5jhg5cpIOGDm+GDlOGDkuGDkOGDsOGDlOGDoOGDquGDlOGDkeGDqOGDmCIKKworIzog dXRpbHMvaWRsZV9tb25pdG9yL2NwdXBvd2VyLW1vbml0b3IuYzo2NgorIywgYy1mb3JtYXQK K21zZ2lkICIiCisiY3B1cG93ZXIgbW9uaXRvcjogWy1oXSBbIFstdF0gfCBbLWxdIHwgWy1t IDxtb24xPixbPG1vbjI+XSBdIF0gWy1pICIKKyJpbnRlcnZhbF9zZWMgfCAtYyBjb21tYW5k IC4uLl1cbiIKK21zZ3N0ciAiIgorImNwdXBvd2VyIG1vbml0b3I6IFstaF0gWyBbLXRdIHwg Wy1sXSB8IFstbSA8bW9uMT4sWzxtb24yPl0gXSBdIFstaSAiCisi4YOY4YOc4YOi4YOU4YOg 4YOV4YOQ4YOa4YOYX+GDrOGDmyB8IC1jIOGDkeGDoOGDq+GDkOGDnOGDlOGDkeGDkCAuLi5d XG4iCisKKyM6IHV0aWxzL2lkbGVfbW9uaXRvci9jcHVwb3dlci1tb25pdG9yLmM6NjkKKyMs IGMtZm9ybWF0Cittc2dpZCAiIgorImNwdXBvd2VyIG1vbml0b3I6IFstdl0gWy1oXSBbIFst dF0gfCBbLWxdIHwgWy1tIDxtb24xPixbPG1vbjI+XSBdIF0gWy1pICIKKyJpbnRlcnZhbF9z ZWMgfCAtYyBjb21tYW5kIC4uLl1cbiIKK21zZ3N0ciAiIgorImNwdXBvd2VyIG1vbml0b3I6 IFstdl0gWy1oXSBbIFstdF0gfCBbLWxdIHwgWy1tIDxtb24xPixbPG1vbjI+XSBdIF0gWy1p ICIKKyLhg5jhg5zhg6Lhg5Thg6Dhg5Xhg5Dhg5rhg5hf4YOs4YObIHwgLWMg4YOR4YOg4YOr 4YOQ4YOc4YOU4YOR4YOQIC4uLl1cbiIKKworIzogdXRpbHMvaWRsZV9tb25pdG9yL2NwdXBv d2VyLW1vbml0b3IuYzo3MQorIywgYy1mb3JtYXQKK21zZ2lkICJcdCAtdjogYmUgbW9yZSB2 ZXJib3NlXG4iCittc2dzdHIgIlx0IC12OiDhg5Phg5Dhg5vhg5Dhg6Lhg5Thg5Hhg5jhg5fh g5gg4YOY4YOc4YOk4YOd4YOg4YOb4YOQ4YOq4YOY4YOY4YOhIOGDkuGDkOGDm+GDneGDouGD kOGDnOGDkFxuIgorCisjOiB1dGlscy9pZGxlX21vbml0b3IvY3B1cG93ZXItbW9uaXRvci5j OjczCisjLCBjLWZvcm1hdAorbXNnaWQgIlx0IC1oOiBwcmludCB0aGlzIGhlbHBcbiIKK21z Z3N0ciAiXHQgLWg6IOGDkOGDmyDhg5Phg5Dhg67hg5vhg5Dhg6Dhg5Thg5Hhg5jhg6Eg4YOS 4YOQ4YOb4YOd4YOi4YOQ4YOc4YOQXG4iCisKKyM6IHV0aWxzL2lkbGVfbW9uaXRvci9jcHVw b3dlci1tb25pdG9yLmM6NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiXHQgLWk6IHRpbWUgaW50 ZXJ2YWwgdG8gbWVhc3VyZSBmb3IgaW4gc2Vjb25kcyAoZGVmYXVsdCAxKVxuIgorbXNnc3Ry ICIiCisiXHQgLWk6IOGDkuGDkOGDoeGDkOGDluGDneGDm+GDmCDhg5Phg6Dhg53hg5jhg6Eg 4YOY4YOc4YOi4YOU4YOg4YOV4YOQ4YOa4YOYLCDhg6zhg5Dhg5vhg5Thg5Hhg6jhg5ggKOGD nOGDkOGDkuGDo+GDmuGDmOGDoeGDruGDm+GDlOGDkeGDmCDhg5vhg5zhg5jhg6jhg5Xhg5zh g5Thg5rhg53hg5Hhg5Dhg5AgMSlcbiIKKworIzogdXRpbHMvaWRsZV9tb25pdG9yL2NwdXBv d2VyLW1vbml0b3IuYzo3NQorIywgYy1mb3JtYXQKK21zZ2lkICJcdCAtdDogc2hvdyBDUFUg dG9wb2xvZ3kvaGllcmFyY2h5XG4iCittc2dzdHIgIlx0IC10OiBDUFUgLeGDmOGDoSDhg6Lh g53hg57hg53hg5rhg53hg5Lhg5jhg5jhg6Ev4YOY4YOU4YOg4YOQ4YOg4YOl4YOY4YOY4YOh IOGDqeGDleGDlOGDnOGDlOGDkeGDkFxuIgorCisjOiB1dGlscy9pZGxlX21vbml0b3IvY3B1 cG93ZXItbW9uaXRvci5jOjc2CisjLCBjLWZvcm1hdAorbXNnaWQgIlx0IC1sOiBsaXN0IGF2 YWlsYWJsZSBDUFUgc2xlZXAgbW9uaXRvcnMgKGZvciB1c2Ugd2l0aCAtbSlcbiIKK21zZ3N0 ciAiIgorIlx0IC1sOiBDUFUt4YOY4YOhIOGDq+GDmOGDmuGDmOGDoSDhg5vhg53hg5zhg5jh g6Lhg53hg6Dhg5Thg5Hhg5jhg6Eg4YOh4YOY4YOY4YOhIOGDkuGDkOGDm+GDneGDouGDkOGD nOGDkCAo4YOS4YOQ4YOc4YOZ4YOj4YOX4YOV4YOc4YOY4YOa4YOY4YOQIC1tIC3hg6Hhg5fh g5Dhg5wg4YOU4YOg4YOX4YOQ4YOTICIKKyLhg5Lhg5Dhg5vhg53hg6Hhg5Dhg6fhg5Thg5zh g5Thg5Hhg5rhg5Dhg5MpXG4iCisKKyM6IHV0aWxzL2lkbGVfbW9uaXRvci9jcHVwb3dlci1t b25pdG9yLmM6NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiXHQgLW06IHNob3cgc3BlY2lmaWMg Q1BVIHNsZWVwIG1vbml0b3JzIG9ubHkgKGluIHNhbWUgb3JkZXIpXG4iCittc2dzdHIgIiIK KyJcdCAtbTog4YOb4YOu4YOd4YOa4YOd4YOTIOGDm+GDmOGDl+GDmOGDl+GDlOGDkeGDo+GD muGDmCBDUFUt4YOY4YOhIOGDq+GDmOGDmuGDmOGDoSDhg5vhg53hg5zhg5jhg6Lhg53hg6Dh g5Thg5Hhg5jhg6Eg4YOp4YOV4YOU4YOc4YOU4YOR4YOQICjhg5jhg5Lhg5jhg5Xhg5QgIgor IuGDm+GDmOGDm+GDk+GDlOGDleGDoOGDneGDkeGDmOGDlylcbiIKKworIzogdXRpbHMvaWRs ZV9tb25pdG9yL2NwdXBvd2VyLW1vbml0b3IuYzo3OQorIywgYy1mb3JtYXQKK21zZ2lkICIi Cisib25seSBvbmUgb2Y6IC10LCAtbCwgLW0gYXJlIGFsbG93ZWRcbiIKKyJJZiBub25lIG9m IHRoZW0gaXMgcGFzc2VkLCIKK21zZ3N0ciAiIgorIuGDk+GDkOGDoeGDkOGDqOGDleGDlOGD keGDmOGDkCDhg5vhg67hg53hg5rhg53hg5Mg4YOU4YOg4YOXLeGDlOGDoOGDl+GDmOGDoTog LXQsIC1sIOGDkOGDnCAtbSDhg5vhg5jhg5fhg5jhg5fhg5Thg5Hhg5BcbiIKKyLhg5fhg6Mg 4YOb4YOY4YOX4YOY4YOX4YOU4YOR4YOj4YOa4YOYIOGDkOGDoOGDqiDhg5Thg6Dhg5fhg5gg 4YOQ4YOg4YOQ4YOQLCIKKworIzogdXRpbHMvaWRsZV9tb25pdG9yL2NwdXBvd2VyLW1vbml0 b3IuYzo4MAorIywgYy1mb3JtYXQKK21zZ2lkICIgYWxsIHN1cHBvcnRlZCBtb25pdG9ycyBh cmUgc2hvd25cbiIKK21zZ3N0ciAiIOGDnOGDkOGDqeGDleGDlOGDnOGDlOGDkeGDmCDhg5jh g6Xhg5zhg5Thg5Hhg5Ag4YOn4YOV4YOU4YOa4YOQIOGDm+GDruGDkOGDoOGDk+GDkOGDreGD lOGDoOGDmOGDmuGDmCDhg5vhg53hg5zhg5jhg6Lhg53hg6Dhg5hcbiIKKworIzogdXRpbHMv aWRsZV9tb25pdG9yL2NwdXBvd2VyLW1vbml0b3IuYzoxOTcKKyMsIGMtZm9ybWF0Cittc2dp ZCAiTW9uaXRvciAlcywgQ291bnRlciAlcyBoYXMgbm8gY291bnQgZnVuY3Rpb24uIEltcGxl bWVudGF0aW9uIGVycm9yXG4iCittc2dzdHIgIiIKKyLhg5vhg53hg5zhg5jhg6Lhg53hg6Dh g5ggJXMsIOGDm+GDl+GDleGDmuGDlOGDmuGDmCAlcy4g4YOT4YOQ4YOX4YOV4YOa4YOY4YOh IOGDpOGDo+GDnOGDpeGDquGDmOGDkCDhg5Dhg6Ag4YOS4YOQ4YOQ4YOp4YOc4YOY4YOQLiDh g5Lhg5Dhg5zhg67hg53hg6Dhg6rhg5jhg5Thg5rhg5Thg5Hhg5jhg6Eg4YOo4YOU4YOq4YOT 4YOd4YOb4YOQXG4iCisKKyM6IHV0aWxzL2lkbGVfbW9uaXRvci9jcHVwb3dlci1tb25pdG9y LmM6MjA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiAqaXMgb2ZmbGluZVxuIgorbXNnc3RyICIg KuGDkuGDkOGDl+GDmOGDqOGDo+GDmuGDmOGDkFxuIgorCisjOiB1dGlscy9pZGxlX21vbml0 b3IvY3B1cG93ZXItbW9uaXRvci5jOjIzNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbWF4 IG1vbml0b3IgbmFtZSBsZW5ndGggKCVkKSBleGNlZWRlZFxuIgorbXNnc3RyICIlczog4YOb 4YOd4YOc4YOY4YOi4YOd4YOg4YOY4YOhIOGDoeGDkOGDruGDlOGDmuGDmOGDoSDhg5vhg5Dh g6Xhg6Hhg5jhg5vhg5Dhg5rhg6Phg6Dhg5gg4YOh4YOY4YOS4YOg4YOr4YOUICglZCkg4YOS 4YOQ4YOT4YOQ4YOt4YOQ4YOg4YOR4YOU4YOR4YOj4YOa4YOY4YOQXG4iCisKKyM6IHV0aWxz L2lkbGVfbW9uaXRvci9jcHVwb3dlci1tb25pdG9yLmM6MjUwCisjLCBjLWZvcm1hdAorbXNn aWQgIk5vIG1hdGNoaW5nIG1vbml0b3IgZm91bmQgaW4gJXMsIHRyeSAtbCBvcHRpb25cbiIK K21zZ3N0ciAiJXMt4YOo4YOYIOGDkOGDpuGDrOGDlOGDoOGDmOGDmuGDmCDhg5vhg53hg5zh g5jhg6Lhg53hg6Dhg5gg4YOV4YOU4YOgIOGDleGDmOGDnuGDneGDleGDlC4g4YOh4YOq4YOQ 4YOT4YOU4YOXIC1sIOGDnuGDkOGDoOGDkOGDm+GDlOGDouGDoOGDmFxuIgorCisjOiB1dGls cy9pZGxlX21vbml0b3IvY3B1cG93ZXItbW9uaXRvci5jOjI2NgorIywgYy1mb3JtYXQKK21z Z2lkICJNb25pdG9yIFwiJXNcIiAoJWQgc3RhdGVzKSAtIE1pZ2h0IG92ZXJmbG93IGFmdGVy ICV1IHNcbiIKK21zZ3N0ciAi4YOb4YOd4YOc4YOY4YOi4YOd4YOg4YOYIFwiJXNcIiAoJWQg 4YOb4YOT4YOS4YOd4YOb4YOQ4YOg4YOU4YOd4YOR4YOQKSAtIOGDkuGDkOGDk+GDkOGDmOGD leGDoeGDlOGDkeGDkCAldSDhg6zhg5Dhg5vhg5jhg6Eg4YOo4YOU4YOb4YOT4YOU4YOSXG4i CisKKyM6IHV0aWxzL2lkbGVfbW9uaXRvci9jcHVwb3dlci1tb25pdG9yLmM6MzE5CisjLCBj LWZvcm1hdAorbXNnaWQgIiVzIHRvb2sgJS41ZiBzZWNvbmRzIGFuZCBleGl0ZWQgd2l0aCBz dGF0dXMgJWRcbiIKK21zZ3N0ciAiJXMt4YOhICUuNWYg4YOs4YOQ4YOb4YOYIOGDk+GDkOGD oeGDreGDmOGDoOGDk+GDkCDhg5Phg5Ag4YOb4YOj4YOo4YOQ4YOd4YOR4YOQIOGDoeGDouGD kOGDouGDo+GDoeGDmOGDlyAlZCDhg5Phg5Dhg5Dhg6Hhg6Dhg6Phg5rhg5BcbiIKKworIzog dXRpbHMvaWRsZV9tb25pdG9yL2NwdXBvd2VyLW1vbml0b3IuYzo0MDYKKyMsIGMtZm9ybWF0 Cittc2dpZCAiQ2Fubm90IHJlYWQgbnVtYmVyIG9mIGF2YWlsYWJsZSBwcm9jZXNzb3JzXG4i Cittc2dzdHIgIuGDruGDlOGDmuGDm+GDmOGDoeGDkOGDrOGDleGDk+GDneGDm+GDmCDhg57h g6Dhg53hg6rhg5Thg6Hhg53hg6Dhg5Thg5Hhg5jhg6Eg4YOg4YOY4YOq4YOu4YOV4YOY4YOh IOGDrOGDkOGDmeGDmOGDl+GDruGDleGDkCDhg6jhg5Thg6Phg6vhg5rhg5Thg5Hhg5Thg5rh g5jhg5BcbiIKKworIzogdXRpbHMvaWRsZV9tb25pdG9yL2NwdXBvd2VyLW1vbml0b3IuYzo0 MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiQXZhaWxhYmxlIG1vbml0b3IgJXMgbmVlZHMgcm9v dCBhY2Nlc3NcbiIKK21zZ3N0ciAi4YOu4YOU4YOa4YOb4YOY4YOh4YOQ4YOs4YOV4YOT4YOd 4YObIOGDm+GDneGDnOGDmOGDouGDneGDoOGDoSAoJXMpIHJvb3Qt4YOY4YOhIOGDrOGDleGD k+GDneGDm+GDoSDhg6Hhg63hg5jhg6Dhg5Phg5Thg5Hhg5BcbiIKKworIzogdXRpbHMvaWRs ZV9tb25pdG9yL2NwdXBvd2VyLW1vbml0b3IuYzo0MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAi Tm8gSFcgQ3N0YXRlIG1vbml0b3JzIGZvdW5kXG4iCittc2dzdHIgIuGDkOGDnuGDkOGDoOGD kOGDouGDo+GDoOGDo+GDmuGDmCBDLeGDm+GDk+GDkuGDneGDm+GDkOGDoOGDlOGDneGDkeGD mOGDoSDhg5vhg53hg5zhg5jhg6Lhg53hg6Dhg5Thg5Hhg5gg4YOV4YOU4YOgIOGDleGDmOGD nuGDneGDleGDlFxuIgorCisjOiB1dGlscy9jcHVwb3dlci5jOjc4CisjLCBjLWZvcm1hdAor bXNnaWQgImNwdXBvd2VyIFsgLWMgY3B1bGlzdCBdIHN1YmNvbW1hbmQgW0FSR1NdXG4iCitt c2dzdHIgImNwdXBvd2VyIFsgLWMgY3B1LeGDlOGDkeGDmOGDoeGDoeGDmOGDkCBdIOGDpeGD leGDlOGDkeGDoOGDq+GDkOGDnOGDlOGDkeGDkCBb4YOQ4YOg4YOS4YOj4YOb4YOU4YOc4YOi 4YOU4YOR4YOYXVxuIgorCisjOiB1dGlscy9jcHVwb3dlci5jOjc5CisjLCBjLWZvcm1hdAor bXNnaWQgImNwdXBvd2VyIC0tdmVyc2lvblxuIgorbXNnc3RyICJjcHVwb3dlciAtLXZlcnNp b25cbiIKKworIzogdXRpbHMvY3B1cG93ZXIuYzo4MAorIywgYy1mb3JtYXQKK21zZ2lkICJT dXBwb3J0ZWQgc3ViY29tbWFuZHMgYXJlOlxuIgorbXNnc3RyICLhg67hg5Thg5rhg5vhg5jh g6Hhg5Dhg6zhg5Xhg5Phg53hg5vhg5gg4YOl4YOV4YOU4YOR4YOg4YOr4YOQ4YOc4YOU4YOR 4YOU4YOR4YOY4YOQOlxuIgorCisjOiB1dGlscy9jcHVwb3dlci5jOjgzCisjLCBjLWZvcm1h dAorbXNnaWQgIiIKKyJcbiIKKyJTb21lIHN1YmNvbW1hbmRzIGNhbiBtYWtlIHVzZSBvZiB0 aGUgLWMgY3B1bGlzdCBvcHRpb24uXG4iCittc2dzdHIgIiIKKyJcbiIKKyLhg5bhg53hg5Lh g5jhg5Thg6Dhg5cg4YOl4YOV4YOU4YOR4YOg4YOr4YOQ4YOc4YOU4YOR4YOQ4YOhIOGDqOGD lOGDo+GDq+GDmuGDmOGDkCAtYyBjcHUt4YOU4YOR4YOY4YOh4YOh4YOY4YOQIOGDnuGDkOGD oOGDkOGDm+GDlOGDouGDoOGDmCDhg5Lhg5Dhg5vhg53hg5jhg6fhg5Thg5zhg53hg6EuXG4i CisKKyM6IHV0aWxzL2NwdXBvd2VyLmM6ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiTG9vayBh dCB0aGUgZ2VuZXJhbCBjcHVwb3dlciBtYW5wYWdlIGhvdyB0byB1c2UgaXRcbiIKK21zZ3N0 ciAiIgorIuGDkuGDkOGDm+GDneGDp+GDlOGDnOGDlOGDkeGDmOGDoSDhg5jhg5zhg6Hhg6Lh g6Dhg6Phg6Xhg6rhg5jhg5jhg6Hhg5fhg5Xhg5jhg6EgY3B1cG93ZXIt4YOY4YOhIOGDoeGD kOGDruGDlOGDmuGDm+GDq+GDpuGDleGDkOGDnOGDlOGDmuGDneGDqOGDmCAobWFucGFnZSkg 4YOp4YOQ4YOY4YOu4YOU4YOT4YOU4YOXXG4iCisKKyM6IHV0aWxzL2NwdXBvd2VyLmM6ODUK KyMsIGMtZm9ybWF0Cittc2dpZCAiYW5kIHJlYWQgdXAgdGhlIHN1YmNvbW1hbmQncyBtYW5w YWdlIHdoZXRoZXIgaXQgaXMgc3VwcG9ydGVkLlxuIgorbXNnc3RyICIiCisi4YOT4YOQIOGD rOGDkOGDmOGDmeGDmOGDl+GDruGDlOGDlyDhg6Xhg5Xhg5Thg5Hhg6Dhg6vhg5Dhg5zhg5Th g5Hhg5jhg6Eg4YOh4YOQ4YOu4YOU4YOa4YOb4YOr4YOm4YOV4YOQ4YOc4YOU4YOa4YOdICht YW5wYWdlKSwg4YOX4YOjIOGDmOGDoSDhg5vhg67hg5Dhg6Dhg5Phg5Dhg63hg5Thg6Dhg5jh g5rhg5jhg5AuXG4iCisKKyM6IHV0aWxzL2NwdXBvd2VyLmM6ODYKKyMsIGMtZm9ybWF0Citt c2dpZCAiIgorIlxuIgorIlVzZSBjcHVwb3dlciBoZWxwIHN1YmNvbW1hbmQgZm9yIGdldHRp bmcgaGVscCBmb3IgYWJvdmUgc3ViY29tbWFuZHMuXG4iCittc2dzdHIgIiIKKyJcbiIKKyLh g5bhg5Thg5vhg53hg5cg4YOb4YOd4YOn4YOV4YOQ4YOc4YOY4YOa4YOYIOGDpeGDleGDlOGD keGDoOGDq+GDkOGDnOGDlOGDkeGDlOGDkeGDmOGDoSDhg6jhg5Thg6Hhg5Dhg67hg5Thg5Eg 4YOY4YOc4YOk4YOd4YOg4YOb4YOQ4YOq4YOY4YOY4YOhIOGDm+GDmOGDoeGDkOGDpuGDlOGD keGDkOGDkyDhg5Lhg5Dhg5vhg53hg5jhg6fhg5Thg5zhg5Thg5cgIgorImNwdXBvd2VyIGhl bHAg4YOl4YOV4YOU4YOR4YOg4YOr4YOQ4YOc4YOU4YOR4YOY4YOhX+GDoeGDkOGDruGDlOGD muGDmC5cbiIKKworIzogdXRpbHMvY3B1cG93ZXIuYzo5MQorIywgYy1mb3JtYXQKK21zZ2lk ICJSZXBvcnQgZXJyb3JzIGFuZCBidWdzIHRvICVzLCBwbGVhc2UuXG4iCittc2dzdHIgIuGD kuGDl+GDruGDneGDleGDlywg4YOo4YOU4YOq4YOT4YOd4YOb4YOU4YOR4YOY4YOhIOGDqOGD lOGDoeGDkOGDruGDlOGDkSDhg5Lhg5Xhg5Dhg6rhg5zhg53hg5Hhg5Thg5cg4YOQ4YOlOyAl cy5cbiIKKworIzogdXRpbHMvY3B1cG93ZXIuYzoxMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAi RXJyb3IgcGFyc2luZyBjcHUgbGlzdFxuIgorbXNnc3RyICJDUFUt4YOU4YOR4YOY4YOhIOGD oeGDmOGDmOGDoSDhg5Phg5Dhg5vhg6Phg6jhg5Dhg5Xhg5Thg5Hhg5jhg6Eg4YOo4YOU4YOq 4YOT4YOd4YOb4YOQXG4iCisKKyM6IHV0aWxzL2NwdXBvd2VyLmM6MTcyCisjLCBjLWZvcm1h dAorbXNnaWQgIlN1YmNvbW1hbmQgJXMgbmVlZHMgcm9vdCBwcml2aWxlZ2VzXG4iCittc2dz dHIgIuGDpeGDleGDlOGDkeGDoOGDq+GDkOGDnOGDlOGDkeGDkOGDoSAlcyByb290LeGDmOGD oSDhg57hg6Dhg5jhg5Xhg5jhg5rhg5Thg5Lhg5jhg5Thg5Hhg5gg4YOh4YOt4YOY4YOg4YOT 4YOU4YOR4YOQXG4iCisKKyM6IHV0aWxzL2NwdWZyZXEtaW5mby5jOjMxCisjLCBjLWZvcm1h dAorbXNnaWQgIkNvdWxkbid0IGNvdW50IHRoZSBudW1iZXIgb2YgQ1BVcyAoJXM6ICVzKSwg YXNzdW1pbmcgMVxuIgorbXNnc3RyICIiCisiQ1BVLeGDlOGDkeGDmOGDoSAoJXM6ICVzKSDh g6Dhg5Dhg53hg5Phg5Thg5zhg53hg5Hhg5jhg6Eg4YOb4YOY4YOm4YOU4YOR4YOY4YOhIOGD qOGDlOGDquGDk+GDneGDm+GDkC4g4YOp4YOQ4YOY4YOX4YOV4YOa4YOU4YOR4YOQLCDhg6Dh g53hg5sg4YOj4YOT4YOg4YOY4YOhIDEt4YOhXG4iCisKKyM6IHV0aWxzL2NwdWZyZXEtaW5m by5jOjYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgICAgICAgICAgbWluaW11bSBDUFUg ZnJlcXVlbmN5ICAtICBtYXhpbXVtIENQVSBmcmVxdWVuY3kgIC0gIGdvdmVybm9yXG4iCitt c2dzdHIgIiIKKyIgICAgICAgICAgQ1BVLeGDmOGDoSDhg5vhg5jhg5zhg5jhg5vhg5Dhg5rh g6Phg6Dhg5gg4YOh4YOY4YOu4YOo4YOY4YOg4YOUICAtICBDUFUt4YOY4YOhIOGDm+GDkOGD peGDoeGDmOGDm+GDkOGDmuGDo+GDoOGDmCDhg6Hhg5jhg67hg6jhg5jhg6Dhg5QgIC0gICIK KyLhg5vhg5vhg5Dhg6Dhg5fhg5Xhg5Thg5rhg5hcbiIKKworIzogdXRpbHMvY3B1ZnJlcS1p bmZvLmM6MTUxCisjLCBjLWZvcm1hdAorbXNnaWQgIkVycm9yIHdoaWxlIGV2YWx1YXRpbmcg Qm9vc3QgQ2FwYWJpbGl0aWVzIG9uIENQVSAlZCAtLSBhcmUgeW91IHJvb3Q/XG4iCittc2dz dHIgIiIKKyLhg6jhg5Thg6rhg5Phg53hg5vhg5AgJWQt4YOUIENQVS3hg5jhg6Eg4YOe4YOY 4YOZ4YOj4YOg4YOYIOGDk+GDkOGDouGDleGDmOGDoOGDl+GDleGDmOGDoSDhg5vhg5Dhg6Dh g5fhg5Xhg5jhg6Eg4YOo4YOU4YOh4YOQ4YOr4YOa4YOU4YOR4YOa4YOd4YOR4YOU4YOR4YOY 4YOhIOGDqOGDlOGDpOGDkOGDoeGDlOGDkeGDmOGDoeGDkOGDoSAtLSAiCisi4YOS4YOQ4YOl 4YOV4YOXIOGDl+GDoyDhg5Dhg6Dhg5Agcm9vdCDhg57hg6Dhg5jhg5Xhg5jhg5rhg5Thg5Lh g5jhg5Thg5Hhg5g/XG4iCisKKyMuIFAgc3RhdGUgY2hhbmdlcyB2aWEgTVNSIGFyZSBpZGVu dGlmaWVkIHZpYSBjcHVpZCA4MDAwMDAwNworIy4gb24gSW50ZWwgYW5kIEFNRCwgYnV0IHdl IGFzc3VtZSBib29zdCBjYXBhYmxlIG1hY2hpbmVzIGNhbiBkbyB0aGF0CisjLiBpZiAoY3B1 aWRfZWF4KDB4ODAwMDAwMDApID49IDB4ODAwMDAwMDcKKyMuICYmIChjcHVpZF9lZHgoMHg4 MDAwMDAwNykgJiAoMSA8PCA3KSkpCisjLgorIzogdXRpbHMvY3B1ZnJlcS1pbmZvLmM6MTYx CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgYm9vc3Qgc3RhdGUgc3VwcG9ydDogXG4iCittc2dz dHIgIiAg4YOe4YOY4YOZ4YOY4YOhIOGDm+GDk+GDkuGDneGDm+GDkOGDoOGDlOGDneGDkeGD mOGDoSDhg5vhg67hg5Dhg6Dhg5Phg5Dhg63hg5Thg6Dhg5A6IFxuIgorCisjOiB1dGlscy9j cHVmcmVxLWluZm8uYzoxNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgIFN1cHBvcnRlZDog JXNcbiIKK21zZ3N0ciAiICAgIOGDm+GDruGDkOGDoOGDk+GDkOGDreGDlOGDoOGDmOGDmuGD mOGDkDogJXNcbiIKKworIzogdXRpbHMvY3B1ZnJlcS1pbmZvLmM6MTYzIHV0aWxzL2NwdWZy ZXEtaW5mby5jOjE2NAorbXNnaWQgInllcyIKK21zZ3N0ciAi4YOT4YOY4YOQ4YOuIgorCisj OiB1dGlscy9jcHVmcmVxLWluZm8uYzoxNjMgdXRpbHMvY3B1ZnJlcS1pbmZvLmM6MTY0Citt c2dpZCAibm8iCittc2dzdHIgIuGDkOGDoOGDkCIKKworIzogdXRpbHMvY3B1ZnJlcS1pbmZv LmM6MTY0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICBBY3RpdmU6ICVzXG4iCittc2dzdHIg IiAgICDhg5Dhg6Xhg6Lhg5jhg6Phg6Dhg5g6ICVzXG4iCisKKyM6IHV0aWxzL2NwdWZyZXEt aW5mby5jOjE3NworIywgYy1mb3JtYXQKK21zZ2lkICIgICAgQm9vc3QgU3RhdGVzOiAlZFxu IgorbXNnc3RyICIgICAg4YOe4YOY4YOZ4YOY4YOhIOGDm+GDk+GDkuGDneGDm+GDkOGDoOGD lOGDneGDkeGDlOGDkeGDmDogJWRcbiIKKworIzogdXRpbHMvY3B1ZnJlcS1pbmZvLmM6MTc4 CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICBUb3RhbCBTdGF0ZXM6ICVkXG4iCittc2dzdHIg IiAgICDhg6Hhg6Phg5og4YOb4YOT4YOS4YOd4YOb4YOQ4YOg4YOU4YOd4YOR4YOU4YOR4YOY OiAlZFxuIgorCisjOiB1dGlscy9jcHVmcmVxLWluZm8uYzoxODEKKyMsIGMtZm9ybWF0Citt c2dpZCAiICAgIFBzdGF0ZS1QYiVkOiAlbHVNSHogKGJvb3N0IHN0YXRlKVxuIgorbXNnc3Ry ICIgICAgUHN0YXRlLVBiJWQ6ICVsdeGDm+GDsOGDqiAo4YOe4YOY4YOZ4YOo4YOYKVxuIgor CisjOiB1dGlscy9jcHVmcmVxLWluZm8uYzoxODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAg IFBzdGF0ZS1QJWQ6ICAlbHVNSHpcbiIKK21zZ3N0ciAiICAgIFBzdGF0ZS1QJWQ6ICAlbHXh g5vhg7Dhg6pcbiIKKworIzogdXRpbHMvY3B1ZnJlcS1pbmZvLmM6MjExCisjLCBjLWZvcm1h dAorbXNnaWQgIiAgbm8gb3IgdW5rbm93biBjcHVmcmVxIGRyaXZlciBpcyBhY3RpdmUgb24g dGhpcyBDUFVcbiIKK21zZ3N0ciAiIOGDkOGDmyBDUFUt4YOW4YOUIGNwdWZyZXEt4YOY4YOh IOGDk+GDoOGDkOGDmOGDleGDlOGDoOGDmCDhg6Phg6rhg5zhg53hg5Hhg5jhg5AsIOGDkOGD nCDhg5Dhg6Ag4YOQ4YOg4YOh4YOU4YOR4YOd4YOR4YOhXG4iCisKKyM6IHV0aWxzL2NwdWZy ZXEtaW5mby5jOjIxMworIywgYy1mb3JtYXQKK21zZ2lkICIgIGRyaXZlcjogJXNcbiIKK21z Z3N0ciAiICDhg5Phg6Dhg5Dhg5jhg5Xhg5Thg6Dhg5g6ICVzXG4iCisKKyM6IHV0aWxzL2Nw dWZyZXEtaW5mby5jOjIxOQorIywgYy1mb3JtYXQKK21zZ2lkICIgIENQVXMgd2hpY2ggcnVu IGF0IHRoZSBzYW1lIGhhcmR3YXJlIGZyZXF1ZW5jeTogIgorbXNnc3RyICIgIENQVS3hg5Th g5Hhg5gsIOGDoOGDneGDm+GDmuGDlOGDkeGDmOGDqiDhg5Thg6Dhg5fhg5gg4YOT4YOQIOGD mOGDkuGDmOGDleGDlCDhg5Dhg57hg5Dhg6Dhg5Dhg6Lhg6Phg6Dhg6Phg5og4YOh4YOY4YOu 4YOo4YOY4YOg4YOU4YOW4YOUIOGDm+GDo+GDqOGDkOGDneGDkeGDlOGDnDogIgorCisjOiB1 dGlscy9jcHVmcmVxLWluZm8uYzoyMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBDUFVzIHdo aWNoIG5lZWQgdG8gaGF2ZSB0aGVpciBmcmVxdWVuY3kgY29vcmRpbmF0ZWQgYnkgc29mdHdh cmU6ICIKK21zZ3N0ciAiICBDUFUt4YOU4YOR4YOYLCDhg6Dhg53hg5vhg5rhg5Thg5Hhg6Hh g5Dhg6og4YOb4YOQ4YOX4YOYIOGDoeGDmOGDruGDqOGDmOGDoOGDmOGDoSDhg57hg6Dhg53h g5Lhg6Dhg5Dhg5vhg6Phg5rhg5gg4YOZ4YOd4YOd4YOg4YOT4YOY4YOc4YOQ4YOq4YOY4YOQ IOGDoeGDreGDmOGDoOGDk+GDlOGDkeGDkOGDlzogIgorCisjOiB1dGlscy9jcHVmcmVxLWlu Zm8uYzoyNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBtYXhpbXVtIHRyYW5zaXRpb24gbGF0 ZW5jeTogIgorbXNnc3RyICIgIOGDm+GDkOGDpeGDoeGDmOGDm+GDkOGDmuGDo+GDoOGDmCDh g5Lhg5Dhg6Dhg5Phg5Dhg5vhg5Dhg5Xhg5Dhg5rhg5gg4YOT4YOQ4YOn4YOd4YOV4YOc4YOU 4YOR4YOQOiAiCisKKyM6IHV0aWxzL2NwdWZyZXEtaW5mby5jOjI0NworIywgYy1mb3JtYXQK K21zZ2lkICIgIGhhcmR3YXJlIGxpbWl0czogIgorbXNnc3RyICIgIOGDkOGDnuGDkOGDoOGD kOGDouGDo+GDoOGDo+GDmuGDmCDhg5rhg5jhg5vhg5jhg6Lhg5Thg5Hhg5g6ICIKKworIzog dXRpbHMvY3B1ZnJlcS1pbmZvLmM6MjU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgYXZhaWxh YmxlIGZyZXF1ZW5jeSBzdGVwczogIgorbXNnc3RyICIgIOGDruGDlOGDmuGDm+GDmOGDoeGD kOGDrOGDleGDk+GDneGDm+GDmCDhg6Hhg5jhg67hg6jhg5jhg6Dhg5jhg6Eg4YOR4YOY4YOv 4YOU4YOR4YOYOiAiCisKKyM6IHV0aWxzL2NwdWZyZXEtaW5mby5jOjI2OQorIywgYy1mb3Jt YXQKK21zZ2lkICIgIGF2YWlsYWJsZSBjcHVmcmVxIGdvdmVybm9yczogIgorbXNnc3RyICIg IGNwdWZyZXEgLeGDmOGDoSDhg67hg5Thg5rhg5vhg5jhg6Hhg5Dhg6zhg5Xhg5Phg53hg5vh g5gg4YOb4YOb4YOQ4YOg4YOX4YOV4YOU4YOa4YOU4YOR4YOYOiAiCisKKyM6IHV0aWxzL2Nw dWZyZXEtaW5mby5jOjI4MAorIywgYy1mb3JtYXQKK21zZ2lkICIgIGN1cnJlbnQgcG9saWN5 OiBmcmVxdWVuY3kgc2hvdWxkIGJlIHdpdGhpbiAiCittc2dzdHIgIiAg4YOb4YOY4YOb4YOT 4YOY4YOc4YOQ4YOg4YOUIOGDnuGDneGDmuGDmOGDouGDmOGDmeGDkDog4YOh4YOY4YOu4YOo 4YOY4YOg4YOY4YOhIOGDk+GDmOGDkOGDnuGDkOGDluGDneGDnOGDmOGDkCAiCisKKyM6IHV0 aWxzL2NwdWZyZXEtaW5mby5jOjI4MgorIywgYy1mb3JtYXQKK21zZ2lkICIgYW5kICIKK21z Z3N0ciAiIOGDk+GDkCAiCisKKyM6IHV0aWxzL2NwdWZyZXEtaW5mby5jOjI4NgorIywgYy1m b3JtYXQKK21zZ2lkICIiCisiVGhlIGdvdmVybm9yIFwiJXNcIiBtYXkgZGVjaWRlIHdoaWNo IHNwZWVkIHRvIHVzZVxuIgorIiAgICAgICAgICAgICAgICAgIHdpdGhpbiB0aGlzIHJhbmdl LlxuIgorbXNnc3RyICIiCisi4YOb4YOb4YOQ4YOg4YOX4YOV4YOU4YOa4YOhIFwiJXNcIiDh g6jhg5Thg6Phg6vhg5rhg5jhg5Ag4YOS4YOQ4YOT4YOQ4YOs4YOn4YOV4YOY4YOi4YOd4YOh LCDhg6Dhg53hg5vhg5Thg5rhg5gg4YOh4YOY4YOp4YOl4YOQ4YOg4YOUIOGDkuGDkOGDm+GD neGDmOGDp+GDlOGDnOGDneGDoVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIOGDkOGDmyDhg5Phg5jhg5Dhg57hg5Dhg5bh g53hg5zhg5jhg5Phg5Dhg5wuXG4iCisKKyM6IHV0aWxzL2NwdWZyZXEtaW5mby5jOjI5Mwor IywgYy1mb3JtYXQKK21zZ2lkICIgIGN1cnJlbnQgQ1BVIGZyZXF1ZW5jeSBpcyAiCittc2dz dHIgIiAgQ1BVLeGDmOGDoSDhg5vhg5jhg5vhg5Phg5jhg5zhg5Dhg6Dhg5Qg4YOh4YOY4YOu 4YOo4YOY4YOg4YOU4YOQICIKKworIzogdXRpbHMvY3B1ZnJlcS1pbmZvLmM6Mjk2CisjLCBj LWZvcm1hdAorbXNnaWQgIiAoYXNzZXJ0ZWQgYnkgY2FsbCB0byBoYXJkd2FyZSkiCittc2dz dHIgIiAo4YOT4YOQ4YOb4YOi4YOZ4YOY4YOq4YOU4YOR4YOj4YOa4YOY4YOQIOGDkOGDnuGD kOGDoOGDkOGDouGDo+GDoOGDo+GDmuGDmCDhg5Lhg5Dhg5Phg5Dhg5vhg53hg6zhg5vhg5Th g5Hhg5jhg5cpIgorCisjOiB1dGlscy9jcHVmcmVxLWluZm8uYzozMDQKKyMsIGMtZm9ybWF0 Cittc2dpZCAiICBjcHVmcmVxIHN0YXRzOiAiCittc2dzdHIgIiAgY3B1ZnJlcSAt4YOY4YOh IOGDoeGDouGDkOGDouGDmOGDoeGDouGDmOGDmeGDkDogIgorCisjOiB1dGlscy9jcHVmcmVx LWluZm8uYzo0NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6IGNwdXBvd2VyIGZyZXFp bmZvIFtvcHRpb25zXVxuIgorbXNnc3RyICLhg5Lhg5Dhg5vhg53hg6fhg5Thg5zhg5Thg5Hh g5A6IGNwdXBvd2VyIGZyZXFpbmZvIFvhg57hg5Dhg6Dhg5Dhg5vhg5Thg6Lhg6Dhg5Thg5Hh g5hdXG4iCisKKyM6IHV0aWxzL2NwdWZyZXEtaW5mby5jOjQ3MyB1dGlscy9jcHVmcmVxLXNl dC5jOjI2IHV0aWxzL2NwdXBvd2VyLXNldC5jOjIzCisjOiB1dGlscy9jcHVwb3dlci1pbmZv LmM6MjIgdXRpbHMvY3B1aWRsZS1pbmZvLmM6MTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIk9w dGlvbnM6XG4iCittc2dzdHIgIuGDnuGDkOGDoOGDkOGDm+GDlOGDouGDoOGDlOGDkeGDmDpc biIKKworIzogdXRpbHMvY3B1ZnJlcS1pbmZvLmM6NDc0CisjLCBjLWZvcm1hdAorbXNnaWQg IiAgLWUsIC0tZGVidWcgICAgICAgICAgUHJpbnRzIG91dCBkZWJ1ZyBpbmZvcm1hdGlvbiBb ZGVmYXVsdF1cbiIKK21zZ3N0ciAiICAtZSwgLS1kZWJ1ZyAgICAgICAgICDhg5Lhg5Dhg5vh g5Dhg6Dhg5fhg5Xhg5jhg6Eg4YOY4YOc4YOk4YOd4YOg4YOb4YOQ4YOq4YOY4YOY4YOhIOGD qeGDleGDlOGDnOGDlOGDkeGDkCBb4YOc4YOQ4YOS4YOj4YOa4YOY4YOh4YOu4YOb4YOU4YOR 4YOYXVxuIgorCisjOiB1dGlscy9jcHVmcmVxLWluZm8uYzo0NzUKKyMsIGMtZm9ybWF0Citt c2dpZCAiIgorIiAgLWYsIC0tZnJlcSAgICAgICAgICAgR2V0IGZyZXF1ZW5jeSB0aGUgQ1BV IGN1cnJlbnRseSBydW5zIGF0LCBhY2NvcmRpbmdcbiIKKyIgICAgICAgICAgICAgICAgICAg ICAgIHRvIHRoZSBjcHVmcmVxIGNvcmUgKlxuIgorbXNnc3RyICIiCisiICAtZiwgLS1mcmVx ICAgICAgICAgIOGDoeGDmOGDruGDqOGDmOGDoOGDmOGDoSDhg5vhg5jhg6bhg5Thg5Hhg5As IOGDoOGDneGDm+GDmuGDmOGDl+GDkOGDqiBDUFUg4YOQ4YOb4YOf4YOQ4YOb4YOQ4YOTIOGD m+GDo+GDqOGDkOGDneGDkeGDoSwgXG4iCisiICAgICAgICAgICAgICAgICAgICAgICBjcHVm cmVxIOGDkeGDmOGDoOGDl+GDleGDmOGDoSDhg6jhg5Thg6Hhg5Dhg5Hhg5Dhg5vhg5jhg6Hh g5Dhg5MgKlxuIgorCisjOiB1dGlscy9jcHVmcmVxLWluZm8uYzo0NzcKKyMsIGMtZm9ybWF0 Cittc2dpZCAiIgorIiAgLXcsIC0taHdmcmVxICAgICAgICAgR2V0IGZyZXF1ZW5jeSB0aGUg Q1BVIGN1cnJlbnRseSBydW5zIGF0LCBieSByZWFkaW5nXG4iCisiICAgICAgICAgICAgICAg ICAgICAgICBpdCBmcm9tIGhhcmR3YXJlIChvbmx5IGF2YWlsYWJsZSB0byByb290KSAqXG4i Cittc2dzdHIgIiIKKyIgIC13LCAtLWh3ZnJlcSAgICAgICAgIOGDoeGDmOGDruGDqOGDmOGD oOGDmOGDoSDhg5vhg5jhg6bhg5Thg5Hhg5AsIOGDoOGDneGDm+GDmuGDmOGDl+GDkOGDqiBD UFUg4YOQ4YOu4YOa4YOQIOGDm+GDo+GDqOGDkOGDneGDkeGDoSwgIgorIuGDm+GDnOGDmOGD qOGDleGDnOGDlOGDmuGDneGDkeGDmOGDoVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAg 4YOe4YOY4YOg4YOT4YOQ4YOe4YOY4YOgIOGDkOGDnuGDkOGDoOGDkOGDouGDo+GDoOGDmOGD k+GDkOGDnCDhg6zhg5Dhg5nhg5jhg5fhg67hg5Xhg5jhg5cgKOGDoeGDkOGDreGDmOGDoOGD neGDkCByb290LeGDmOGDoSAiCisi4YOe4YOg4YOY4YOV4YOY4YOa4YOU4YOS4YOY4YOU4YOR 4YOYKSAqXG4iCisKKyM6IHV0aWxzL2NwdWZyZXEtaW5mby5jOjQ3OQorIywgYy1mb3JtYXQK K21zZ2lkICIiCisiICAtbCwgLS1od2xpbWl0cyAgICAgICBEZXRlcm1pbmUgdGhlIG1pbmlt dW0gYW5kIG1heGltdW0gQ1BVIGZyZXF1ZW5jeSAiCisiYWxsb3dlZCAqXG4iCittc2dzdHIg IiIKKyIgIC1sLCAtLWh3bGltaXRzICAgICAgIENQVS3hg5jhg6Eg4YOb4YOY4YOc4YOY4YOb 4YOQ4YOa4YOj4YOg4YOYIOGDk+GDkCDhg5vhg5Dhg6Xhg6Hhg5jhg5vhg5Dhg5rhg6Phg6Dh g5gg4YOT4YOQ4YOh4YOQ4YOo4YOV4YOU4YOR4YOYIOGDoeGDmOGDruGDqOGDmOGDoOGDmOGD oSAiCisi4YOS4YOQ4YOc4YOh4YOQ4YOW4YOm4YOV4YOg4YOQICpcbiIKKworIzogdXRpbHMv Y3B1ZnJlcS1pbmZvLmM6NDgwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgLWQsIC0tZHJpdmVy ICAgICAgICAgRGV0ZXJtaW5lcyB0aGUgdXNlZCBjcHVmcmVxIGtlcm5lbCBkcml2ZXIgKlxu IgorbXNnc3RyICIiCisiICAtZCwgLS1kcml2ZXIgICAgICAgICDhg5Hhg5jhg6Dhg5fhg5Xh g5jhg6Eg4YOb4YOY4YOU4YOgIOGDkuGDkOGDm+GDneGDp+GDlOGDnOGDlOGDkeGDo+GDmuGD mCBjcHVmcmVxIC3hg5jhg6Eg4YOT4YOg4YOQ4YOY4YOV4YOU4YOg4YOYICpcbiIKKworIzog dXRpbHMvY3B1ZnJlcS1pbmZvLmM6NDgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgLXAsIC0t cG9saWN5ICAgICAgICAgR2V0cyB0aGUgY3VycmVudGx5IHVzZWQgY3B1ZnJlcSBwb2xpY3kg KlxuIgorbXNnc3RyICIiCisiICAtcCwgLS1wb2xpY3kgICAgICAgICBjcHVmcmVxIC3hg5jh g6Eg4YOQ4YOb4YOf4YOQ4YOb4YOQ4YOTIOGDkuGDkOGDm+GDneGDp+GDlOGDnOGDlOGDkeGD o+GDmuGDmCDhg57hg53hg5rhg5jhg6Lhg5jhg5nhg5jhg6Eg4YOb4YOY4YOm4YOU4YOR4YOQ KlxuIgorCisjOiB1dGlscy9jcHVmcmVxLWluZm8uYzo0ODIKKyMsIGMtZm9ybWF0Cittc2dp ZCAiICAtZywgLS1nb3Zlcm5vcnMgICAgICBEZXRlcm1pbmVzIGF2YWlsYWJsZSBjcHVmcmVx IGdvdmVybm9ycyAqXG4iCittc2dzdHIgIiIKKyIgIC1nLCAtLWdvdmVybm9ycyAgICAgIGNw dWZyZXEt4YOY4YOhIOGDruGDlOGDmuGDm+GDmOGDoeGDkOGDrOGDleGDk+GDneGDm+GDmCDh g5vhg5vhg5Dhg6Dhg5fhg5Xhg5Thg5rhg5Thg5Hhg5jhg6Eg4YOT4YOQ4YOT4YOS4YOU4YOc 4YOQICpcbiIKKworIzogdXRpbHMvY3B1ZnJlcS1pbmZvLmM6NDgzCisjLCBjLWZvcm1hdAor bXNnaWQgIiIKKyIgIC1yLCAtLXJlbGF0ZWQtY3B1cyAgIERldGVybWluZXMgd2hpY2ggQ1BV cyBydW4gYXQgdGhlIHNhbWUgaGFyZHdhcmUgIgorImZyZXF1ZW5jeSAqXG4iCittc2dzdHIg IiIKKyIgIC1yLCAtLXJlbGF0ZWQtY3B1cyAgIOGDkuGDkOGDnOGDoeGDkOGDluGDpuGDleGD oOGDkOGDleGDoSwg4YOg4YOd4YOb4YOU4YOa4YOYIENQVS3hg5Thg5Hhg5gg4YOb4YOj4YOo 4YOQ4YOd4YOR4YOhIOGDlOGDoOGDl+GDmCDhg5Phg5Ag4YOY4YOS4YOY4YOV4YOUICIKKyLh g5Dhg57hg5Dhg6Dhg5Dhg6Lhg6Phg6Dhg6Phg5og4YOh4YOY4YOu4YOo4YOY4YOg4YOU4YOW 4YOUICpcbiIKKworIzogdXRpbHMvY3B1ZnJlcS1pbmZvLmM6NDg0CisjLCBjLWZvcm1hdAor bXNnaWQgIiIKKyIgIC1hLCAtLWFmZmVjdGVkLWNwdXMgIERldGVybWluZXMgd2hpY2ggQ1BV cyBuZWVkIHRvIGhhdmUgdGhlaXIgZnJlcXVlbmN5XG4iCisiICAgICAgICAgICAgICAgICAg ICAgICBjb29yZGluYXRlZCBieSBzb2Z0d2FyZSAqXG4iCittc2dzdHIgIiIKKyIgIC1hLCAt LWFmZmVjdGVkLWNwdXMgIOGDkuGDkOGDnOGDoeGDkOGDluGDpuGDleGDoOGDkOGDleGDoSwg 4YOg4YOd4YOb4YOU4YOa4YOYIENQVS3hg5Thg5Hhg6Eg4YOh4YOt4YOY4YOg4YOT4YOU4YOR 4YOQ4YOXIOGDm+GDkOGDl+GDmCDhg6Hhg5jhg67hg6jhg5jhg6Dhg5jhg6FcbiIKKyIgICAg ICAgICAgICAgICAgICAgICAgIOGDnuGDoOGDneGDkuGDoOGDkOGDm+GDo+GDmuGDmCDhg5nh g53hg53hg6Dhg5Phg5jhg5zhg5Dhg6rhg5jhg5AgKlxuIgorCisjOiB1dGlscy9jcHVmcmVx LWluZm8uYzo0ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAtcywgLS1zdGF0cyAgICAgICAg ICBTaG93cyBjcHVmcmVxIHN0YXRpc3RpY3MgaWYgYXZhaWxhYmxlXG4iCittc2dzdHIgIiIK KyIgIC1zLCAtLXN0YXRzICAgICAgICAgIGNwdWZyZXEgLeGDmOGDoSDhg6Hhg6Lhg5Dhg6Lh g5jhg6Hhg6Lhg5jhg5nhg5jhg6Eg4YOp4YOV4YOU4YOc4YOU4YOR4YOQLCDhg5fhg6Mg4YOY 4YOhICIKKyLhg67hg5Thg5rhg5vhg5jhg6Hhg5Dhg6zhg5Xhg5Phg53hg5vhg5jhg5BcbiIK KworIzogdXRpbHMvY3B1ZnJlcS1pbmZvLmM6NDg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIK KyIgIC15LCAtLWxhdGVuY3kgICAgICAgIERldGVybWluZXMgdGhlIG1heGltdW0gbGF0ZW5j eSBvbiBDUFUgZnJlcXVlbmN5ICIKKyJjaGFuZ2VzICpcbiIKK21zZ3N0ciAiIgorIiAgLXks IC0tbGF0ZW5jeSAgICAgICAgQ1BVIC3hg5jhg6Eg4YOh4YOY4YOu4YOo4YOY4YOg4YOY4YOh IOGDquGDleGDmuGDmOGDmuGDlOGDkeGDmOGDoSDhg5vhg5Dhg6Xhg6Hhg5jhg5vhg5Dhg5rh g6Phg6Dhg5gg4YOT4YOQ4YOn4YOd4YOV4YOc4YOU4YOR4YOY4YOhICIKKyLhg5Phg5Dhg5Ph g5Lhg5Thg5zhg5AgKlxuIgorCisjOiB1dGlscy9jcHVmcmVxLWluZm8uYzo0ODgKKyMsIGMt Zm9ybWF0Cittc2dpZCAiICAtYiwgLS1ib29zdCAgICAgICAgICBDaGVja3MgZm9yIHR1cmJv IG9yIGJvb3N0IG1vZGVzICAqXG4iCittc2dzdHIgIiAgLWIsIC0tYm9vc3QgICAgICAgICAg 4YOi4YOj4YOg4YOR4YOdIOGDk+GDkCDhg57hg5jhg5nhg6Phg6Dhg5gg4YOg4YOU4YOf4YOY 4YOb4YOU4YOR4YOY4YOhIOGDqOGDlOGDm+GDneGDrOGDm+GDlOGDkeGDkCAgKlxuIgorCisj OiB1dGlscy9jcHVmcmVxLWluZm8uYzo0ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAg LW8sIC0tcHJvYyAgICAgICAgICAgUHJpbnRzIG91dCBpbmZvcm1hdGlvbiBsaWtlIHByb3Zp ZGVkIGJ5IHRoZSAvcHJvYy8iCisiY3B1ZnJlcVxuIgorIiAgICAgICAgICAgICAgICAgICAg ICAgaW50ZXJmYWNlIGluIDIuNC4gYW5kIGVhcmx5IDIuNi4ga2VybmVsc1xuIgorbXNnc3Ry ICIiCisiICAtbywgLS1wcm9jICAgICAgICAgICDhg5Lhg5Dhg5vhg53hg5jhg6Lhg5Dhg5zh g6Eg4YOY4YOc4YOk4YOd4YOg4YOb4YOQ4YOq4YOY4YOQ4YOhLCDhg6Dhg53hg5vhg5Thg5rh g5jhg6ogL3Byb2MvY3B1ZnJlcS3hg5jhg6EgIgorIuGDm+GDmOGDlOGDoOGDkOGDkCDhg5vh g53hg6zhg53hg5Phg5Thg5Hhg6Phg5rhg5guXG4iCisiICAgICAgICAgICAgICAgICAgICAg ICDhg5Thg6Eg4YOY4YOc4YOi4YOU4YOg4YOk4YOU4YOY4YOh4YOYIDIuNC4g4YOT4YOQIOGD kOGDk+GDoOGDlOGDo+GDmiAyLjYuIOGDkeGDmOGDoOGDl+GDleGDlOGDkeGDqOGDmCDhg5jh g6fhg50gIgorIuGDruGDlOGDmuGDm+GDmOGDoeGDkOGDrOGDleGDk+GDneGDm+GDmFxuIgor CisjOiB1dGlscy9jcHVmcmVxLWluZm8uYzo0OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgor IiAgLW0sIC0taHVtYW4gICAgICAgICAgaHVtYW4tcmVhZGFibGUgb3V0cHV0IGZvciB0aGUg LWYsIC13LCAtcyBhbmQgLXkgIgorInBhcmFtZXRlcnNcbiIKK21zZ3N0ciAiIgorIiAgLW0s IC0taHVtYW4gICAgICAgICAgIC1mLCAtdywgLXMg4YOT4YOQIC15IOGDnuGDkOGDoOGDkOGD m+GDlOGDouGDoOGDlOGDkeGDmOGDoSDhg5Lhg5Dhg5vhg53hg6Lhg5Dhg5zhg5jhg6EgIgor IuGDkOGDk+GDkOGDm+GDmOGDkOGDnOGDmOGDoeGDl+GDleGDmOGDoSDhg5Lhg5Dhg6Hhg5Dh g5Lhg5Thg5Eg4YOk4YOd4YOg4YOb4YOQ4YOi4YOo4YOYIOGDqeGDleGDlOGDnOGDlOGDkeGD kFxuIgorCisjOiB1dGlscy9jcHVmcmVxLWluZm8uYzo0OTIgdXRpbHMvY3B1aWRsZS1pbmZv LmM6MTUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgLWgsIC0taGVscCAgICAgICAgICAgUHJp bnRzIG91dCB0aGlzIHNjcmVlblxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAg IOGDkOGDmyDhg5Thg5nhg6Dhg5Dhg5zhg5jhg6Eg4YOS4YOQ4YOb4YOd4YOi4YOQ4YOc4YOQ XG4iCisKKyM6IHV0aWxzL2NwdWZyZXEtaW5mby5jOjQ5NQorIywgYy1mb3JtYXQKK21zZ2lk ICIiCisiSWYgbm8gYXJndW1lbnQgb3Igb25seSB0aGUgLWMsIC0tY3B1IHBhcmFtZXRlciBp cyBnaXZlbiwgZGVidWcgb3V0cHV0IGFib3V0XG4iCisiY3B1ZnJlcSBpcyBwcmludGVkIHdo aWNoIGlzIHVzZWZ1bCBlLmcuIGZvciByZXBvcnRpbmcgYnVncy5cbiIKK21zZ3N0ciAiIgor IuGDl+GDoyDhg5Dhg6Dhg5Lhg6Phg5vhg5Thg5zhg6Lhg5Thg5Hhg5gg4YOh4YOQ4YOU4YOg 4YOX4YOd4YOTIOGDkOGDoCDhg5Lhg5Dhg5Phg5Dhg6rhg5Thg5vhg6Phg5rhg5Ag4YOQ4YOc IOGDkuGDkOGDk+GDkOGDquGDlOGDm+GDo+GDmuGDmOGDkCAtYyDhg5Dhg5wgLS1jcHUsIOGD m+GDneGDruGDk+GDlOGDkeGDkCAiCisiY3B1ZnJlcS3hg5jhg6FcbiIKKyLhg5Phg6Dhg5Dh g5jhg5Xhg5Thg6Dhg5jhg6Eg4YOT4YOQ4YOb4YOQ4YOi4YOU4YOR4YOY4YOX4YOYIOGDqOGD lOGDouGDp+GDneGDkeGDmOGDnOGDlOGDkeGDlOGDkeGDmOGDoSDhg5Lhg5Dhg5vhg53hg6Lh g5Dhg5zhg5AsIOGDoOGDneGDm+GDlOGDmuGDmOGDqiDhg5Lhg5Dhg5vhg5Dhg6Dhg5fhg5Xh g5jhg6Hhg5fhg5Xhg5jhg6Hhg5Dhg5AgIgorIuGDoeGDkOGDreGDmOGDoOGDnS5cbiIKKwor IzogdXRpbHMvY3B1ZnJlcS1pbmZvLmM6NDk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJG b3IgdGhlIGFyZ3VtZW50cyBtYXJrZWQgd2l0aCAqLCBvbWl0dGluZyB0aGUgLWMgb3IgLS1j cHUgYXJndW1lbnQgaXNcbiIKKyJlcXVpdmFsZW50IHRvIHNldHRpbmcgaXQgdG8gemVyb1xu IgorbXNnc3RyICIiCisi4YOQ4YOg4YOS4YOj4YOb4YOU4YOc4YOi4YOU4YOR4YOY4YOh4YOX 4YOV4YOY4YOhLCDhg6Dhg53hg5vhg5rhg5Thg5Hhg5jhg6ogKi3hg5jhg5cg4YOQ4YOg4YOY 4YOQ4YOcIOGDm+GDneGDnOGDmOGDqOGDnOGDo+GDmuGDlOGDkeGDmCwgLWMvLS1jcHUgXG4i Cisi4YOQ4YOg4YOS4YOj4YOb4YOU4YOc4YOi4YOY4YOhIOGDkuGDkOGDm+GDneGDouGDneGD leGDlOGDkeGDkCDhg5vhg5jhg6Eg4YOc4YOj4YOa4YOd4YOV4YOQ4YOcIOGDm+GDnOGDmOGD qOGDleGDnOGDlOGDmuGDneGDkeGDkOGDluGDlCDhg5Phg5Dhg6fhg5Thg5zhg5Thg5Hhg5Dh g6Eg4YOj4YOT4YOg4YOY4YOhXG4iCisKKyM6IHV0aWxzL2NwdWZyZXEtaW5mby5jOjU4MAor IywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIGFyZ3VtZW50IHBhc3NlZCB0byB0aGlzIHRv b2wgY2FuJ3QgYmUgY29tYmluZWQgd2l0aCBwYXNzaW5nIGEgLS1jcHUgIgorImFyZ3VtZW50 XG4iCittc2dzdHIgIiIKKyLhg5Dhg5sg4YOe4YOg4YOd4YOS4YOg4YOQ4YOb4YOY4YOh4YOX 4YOV4YOY4YOhIOGDkuGDkOGDk+GDkOGDquGDlOGDm+GDo+GDmuGDmCDhg5Dhg6Dhg5Lhg6Ph g5vhg5Thg5zhg6Lhg5jhg6EgLS1jcHUg4YOQ4YOg4YOS4YOj4YOb4YOU4YOc4YOi4YOX4YOQ 4YOcIOGDkuGDkOGDk+GDkOGDquGDlOGDm+GDkCDhg5Thg6Dhg5fhg5Dhg5Mg4YOQ4YOgICIK KyLhg6jhg5Thg5jhg6vhg5rhg5Thg5Hhg5BcbiIKKworIzogdXRpbHMvY3B1ZnJlcS1pbmZv LmM6NTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJZb3UgY2FuJ3Qgc3BlY2lmeSBtb3Jl IHRoYW4gb25lIC0tY3B1IHBhcmFtZXRlciBhbmQvb3JcbiIKKyJtb3JlIHRoYW4gb25lIG91 dHB1dC1zcGVjaWZpYyBhcmd1bWVudFxuIgorbXNnc3RyICIiCisi4YOU4YOg4YOXIC0tY3B1 IOGDnuGDkOGDoOGDkOGDm+GDlOGDouGDoOGDluGDlCDhg5Dhg5wv4YOT4YOQIOGDlOGDoOGD lyDhg5Lhg5Dhg5vhg53hg6Lhg5Dhg5zhg5jhg6Et4YOo4YOU4YOh4YOQ4YOi4YOn4YOV4YOY 4YOh4YOYIFxuIgorIuGDkOGDoOGDkuGDo+GDm+GDlOGDnOGDouGDluGDlCDhg5vhg5Thg6Lh g5jhg6Eg4YOb4YOY4YOX4YOY4YOX4YOU4YOR4YOQIOGDkOGDmeGDoOGDq+GDkOGDmuGDo+GD muGDmOGDkFxuIgorCisjOiB1dGlscy9jcHVmcmVxLWluZm8uYzo2MDAgdXRpbHMvY3B1ZnJl cS1zZXQuYzo4MiB1dGlscy9jcHVwb3dlci1zZXQuYzo0MgorIzogdXRpbHMvY3B1cG93ZXIt aW5mby5jOjQyIHV0aWxzL2NwdWlkbGUtaW5mby5jOjIxMworIywgYy1mb3JtYXQKK21zZ2lk ICJpbnZhbGlkIG9yIHVua25vd24gYXJndW1lbnRcbiIKK21zZ3N0ciAi4YOQ4YOg4YOQ4YOh 4YOs4YOd4YOg4YOYIOGDkOGDnCDhg6Phg6rhg5zhg53hg5Hhg5gg4YOQ4YOg4YOS4YOj4YOb 4YOU4YOc4YOi4YOYXG4iCisKKyM6IHV0aWxzL2NwdWZyZXEtaW5mby5jOjYxNworIywgYy1m b3JtYXQKK21zZ2lkICJjb3VsZG4ndCBhbmFseXplIENQVSAlZCBhcyBpdCBkb2Vzbid0IHNl ZW0gdG8gYmUgcHJlc2VudFxuIgorbXNnc3RyICIlZC3hg5QgQ1BVLeGDmOGDoSDhg5Dhg5zh g5Dhg5rhg5jhg5bhg5gg4YOo4YOU4YOj4YOr4YOa4YOU4YOR4YOU4YOa4YOY4YOQLiDhg5jh g6Eg4YOQ4YOgIOGDkOGDoOGDoeGDlOGDkeGDneGDkeGDoVxuIgorCisjOiB1dGlscy9jcHVm cmVxLWluZm8uYzo2MjAgdXRpbHMvY3B1cG93ZXItaW5mby5jOjE0MgorIywgYy1mb3JtYXQK K21zZ2lkICJhbmFseXppbmcgQ1BVICVkOlxuIgorbXNnc3RyICIlZC3hg5QgQ1BVIC3hg5jh g6Eg4YOQ4YOc4YOQ4YOa4YOY4YOW4YOYOlxuIgorCisjOiB1dGlscy9jcHVmcmVxLXNldC5j OjI1CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzYWdlOiBjcHVwb3dlciBmcmVxdWVuY3ktc2V0 IFtvcHRpb25zXVxuIgorbXNnc3RyICLhg5Lhg5Dhg5vhg53hg6fhg5Thg5zhg5Thg5Hhg5A6 IGNwdXBvd2VyIGZyZXF1ZW5jeS1zZXQgW+GDnuGDkOGDoOGDkOGDm+GDlOGDouGDoOGDlOGD keGDmF1cbiIKKworIzogdXRpbHMvY3B1ZnJlcS1zZXQuYzoyNworIywgYy1mb3JtYXQKK21z Z2lkICIiCisiICAtZCBGUkVRLCAtLW1pbiBGUkVRICAgICAgbmV3IG1pbmltdW0gQ1BVIGZy ZXF1ZW5jeSB0aGUgZ292ZXJub3IgbWF5ICIKKyJzZWxlY3RcbiIKK21zZ3N0ciAiIgorIiAg LWQgRlJFUSwgLS1taW4gRlJFUSAgICAgIENQVS3hg5jhg6Eg4YOQ4YOu4YOQ4YOa4YOYIOGD m+GDmOGDnOGDmOGDm+GDkOGDmuGDo+GDoOGDmCDhg6Hhg5jhg67hg6jhg5jhg6Dhg5QsIOGD oOGDneGDm+GDlOGDmuGDmOGDqiAiCisi4YOb4YOb4YOQ4YOg4YOX4YOV4YOU4YOa4YOhIOGD qOGDlOGDo+GDq+GDmuGDmOGDkCwg4YOQ4YOY4YOg4YOp4YOY4YOd4YOhXG4iCisKKyM6IHV0 aWxzL2NwdWZyZXEtc2V0LmM6MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgLXUgRlJF USwgLS1tYXggRlJFUSAgICAgIG5ldyBtYXhpbXVtIENQVSBmcmVxdWVuY3kgdGhlIGdvdmVy bm9yIG1heSAiCisic2VsZWN0XG4iCittc2dzdHIgIiIKKyIgIC11IEZSRVEsIC0tbWF4IEZS RVEgICAgICBDUFUt4YOY4YOhIOGDkOGDruGDkOGDmuGDmCDhg5vhg5Dhg6Xhg6Hhg5jhg5vh g5Dhg5rhg6Phg6Dhg5gg4YOh4YOY4YOu4YOo4YOY4YOg4YOULCDhg6Dhg53hg5vhg5Thg5rh g5jhg6ogIgorIuGDm+GDm+GDkOGDoOGDl+GDleGDlOGDmuGDoSDhg6jhg5Thg6Phg6vhg5rh g5jhg5AsIOGDkOGDmOGDoOGDqeGDmOGDneGDoVxuIgorCisjOiB1dGlscy9jcHVmcmVxLXNl dC5jOjI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgLWcgR09WLCAtLWdvdmVybm9yIEdPViAg IG5ldyBjcHVmcmVxIGdvdmVybm9yXG4iCittc2dzdHIgIiAgLWcgR09WLCAtLWdvdmVybm9y IEdPViAgIGNwdWZyZXEt4YOY4YOhIOGDkOGDruGDkOGDmuGDmCDhg5vhg5vhg5Dhg6Dhg5fh g5Xhg5Thg5rhg5hcbiIKKworIzogdXRpbHMvY3B1ZnJlcS1zZXQuYzozMAorIywgYy1mb3Jt YXQKK21zZ2lkICIiCisiICAtZiBGUkVRLCAtLWZyZXEgRlJFUSAgICAgc3BlY2lmaWMgZnJl cXVlbmN5IHRvIGJlIHNldC4gUmVxdWlyZXMgdXNlcnNwYWNlXG4iCisiICAgICAgICAgICAg ICAgICAgICAgICAgICAgZ292ZXJub3IgdG8gYmUgYXZhaWxhYmxlIGFuZCBsb2FkZWRcbiIK K21zZ3N0ciAiIgorIiAgLWYgRlJFUSwgLS1mcmVxIEZSRVEgICAgIOGDm+GDmOGDl+GDmOGD l+GDlOGDkeGDo+GDmuGDmCDhg6Hhg5jhg67hg6jhg5jhg6Dhg5jhg6Eg4YOT4YOQ4YOn4YOU 4YOc4YOU4YOR4YOQLiDhg6Hhg5Dhg63hg5jhg6Dhg53hg5AsICIKKyLhg5vhg53hg5vhg67h g5vhg5Dhg6Dhg5Thg5Hhg5rhg5jhg6Eg4YOh4YOY4YOV4YOg4YOq4YOU4YOo4YOYIOGDkuGD kOGDqOGDleGDlOGDkeGDo+GDmuGDmFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAg IOGDm+GDm+GDkOGDoOGDl+GDleGDlOGDmuGDmCDhg67hg5Thg5rhg5vhg5jhg6Hhg5Dhg6zh g5Xhg5Phg53hg5vhg5gg4YOT4YOQIOGDqeGDkOGDouGDleGDmOGDoOGDl+GDo+GDmuGDmCDh g5jhg6fhg53hg6FcbiIKKworIzogdXRpbHMvY3B1ZnJlcS1zZXQuYzozMgorIywgYy1mb3Jt YXQKK21zZ2lkICIgIC1yLCAtLXJlbGF0ZWQgICAgICAgICAgICBTd2l0Y2hlcyBhbGwgaGFy ZHdhcmUtcmVsYXRlZCBDUFVzXG4iCittc2dzdHIgIiIKKyIgIC1yLCAtLXJlbGF0ZWQgICAg ICAgICAgICDhg6fhg5Xhg5Thg5rhg5Ag4YOQ4YOe4YOQ4YOg4YOQ4YOi4YOj4YOg4YOj4YOa 4YOQ4YOTLeGDk+GDkOGDkOGDleGDqOGDmOGDoOGDlOGDkeGDo+GDmuGDmCBDUFUt4YOY4YOh IOGDkuGDkOGDk+GDkOGDoOGDl+GDleGDkFxuIgorCisjOiB1dGlscy9jcHVmcmVxLXNldC5j OjMzIHV0aWxzL2NwdXBvd2VyLXNldC5jOjI4IHV0aWxzL2NwdXBvd2VyLWluZm8uYzoyNwor IywgYy1mb3JtYXQKK21zZ2lkICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICBQcmludHMg b3V0IHRoaXMgc2NyZWVuXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAg4YOQ 4YObIOGDlOGDmeGDoOGDkOGDnOGDmOGDoSDhg5Lhg5Dhg5vhg53hg6Lhg5Dhg5zhg5BcbiIK KworIzogdXRpbHMvY3B1ZnJlcS1zZXQuYzozNQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisi Tm90ZXM6XG4iCisiMS4gT21pdHRpbmcgdGhlIC1jIG9yIC0tY3B1IGFyZ3VtZW50IGlzIGVx dWl2YWxlbnQgdG8gc2V0dGluZyBpdCB0byBcImFsbFwiXG4iCittc2dzdHIgIiIKKyLhg6jh g5Thg5zhg5jhg6jhg5Xhg5zhg5A6XG4iCisiMS4gLWMvLS1jcHUg4YOe4YOQ4YOg4YOQ4YOb 4YOU4YOi4YOg4YOY4YOhIOGDkuGDkOGDm+GDneGDouGDneGDleGDlOGDkeGDkCDhg5jhg5Lh g5jhg5Xhg5Thg5AsIOGDoOGDkOGDqiBcImFsbFwiICjhg6fhg5Xhg5Thg5rhg5Dhg6EpIOGD m+GDmOGDl+GDmOGDl+GDlOGDkeGDkFxuIgorCisjOiB1dGlscy9jcHVmcmVxLXNldC5jOjM3 CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIyLiBUaGUgLWYgRlJFUSwgLS1mcmVxIEZSRVEg cGFyYW1ldGVyIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIGFueSBvdGhlciAiCisicGFyYW1l dGVyXG4iCisiICAgZXhjZXB0IHRoZSAtYyBDUFUsIC0tY3B1IENQVSBwYXJhbWV0ZXJcbiIK KyIzLiBGUkVRdWVuY2llcyBjYW4gYmUgcGFzc2VkIGluIEh6LCBrSHogKGRlZmF1bHQpLCBN SHosIEdIeiwgb3IgVEh6XG4iCisiICAgYnkgcG9zdGZpeGluZyB0aGUgdmFsdWUgd2l0aCB0 aGUgd2FudGVkIHVuaXQgbmFtZSwgd2l0aG91dCBhbnkgc3BhY2VcbiIKKyIgICAoRlJFUXVl bmN5IGluIGtIeiA9XiBIeiAqIDAuMDAxID1eIE1IeiAqIDEwMDAgPV4gR0h6ICogMTAwMDAw MCkuXG4iCittc2dzdHIgIiIKKyIyLiBUaGUgLWYgRlJFUSwgLS1mcmVxIEZSRVEg4YOe4YOQ 4YOg4YOQ4YOb4YOU4YOi4YOg4YOY4YOhIOGDqOGDlOGDl+GDkOGDleGDoeGDlOGDkeGDkCDh g6jhg5Thg6Phg6vhg5rhg5Thg5Hhg5Thg5rhg5jhg5Ag4YOh4YOu4YOV4YOQICIKKyLhg57h g5Dhg6Dhg5Dhg5vhg5Thg6Lhg6Dhg5Thg5Hhg5fhg5Dhg5wsXG4iCisiICAgLWMgQ1BVLCAt LWNwdSBDUFUgLeGDmOGDoSDhg5Lhg5Dhg6Dhg5Phg5BcbiIKKyIzLiDhg6Hhg5jhg67hg6jh g5jhg6Dhg5Thg5Thg5Hhg5jhg6Eg4YOS4YOQ4YOT4YOQ4YOq4YOU4YOb4YOQIOGDqOGDlOGD mOGDq+GDmuGDlOGDkeGDkCDhg7Dhg5Thg6Dhg6rhg5Thg5Hhg6jhg5ggKGh6KSwg4YOZ4YOY 4YOa4YOd4YOw4YOU4YOg4YOq4YOU4YOR4YOo4YOYLCAoS0h6KSAiCisiKOGDnOGDkOGDkuGD o+GDmuGDmOGDoeGDruGDm+GDlOGDkeGDmCksIOGDm+GDlOGDkuGDkOGDsOGDlOGDoOGDquGD lOGDkeGDqOGDmCAoTUh6KSwgR0h6IOGDk+GDkCBUSHouXG4iCisiICAg4YOg4YOY4YOq4YOu 4YOV4YOY4YOhIOGDqOGDlOGDm+GDk+GDlOGDkiDhg6jhg5Thg6Hhg5Dhg5Hhg5Dhg5vhg5jh g6Hhg5gg4YOU4YOg4YOX4YOU4YOj4YOa4YOY4YOhLCDhg5Lhg5Dhg5vhg53hg6Lhg53hg5Xh g5Thg5Hhg5jhg6Eg4YOS4YOQ4YOg4YOU4YOo4YOULCDhg5vhg5jhg6zhg5Thg6Dhg5jhg5dc biIKKyIgICAo4YOh4YOY4YOu4YOo4YOY4YOg4YOUIGluIGtIeijhg5nhg5jhg5rhg53hg7Dh g5Thg6Dhg6rhg5gpID1eIEh6KOGDsOGDlOGDoOGDquGDmCkgKiAwLjAwMSA9XiBNSHoo4YOb 4YOU4YOS4YOQ4YOw4YOU4YOg4YOq4YOYKSAqIDEwMDAgIgorIj1eIEdIeijhg5Lhg5jhg5Lh g5Dhg7Dhg5Thg6Dhg6rhg5gpICogMTAwMDAwMCkuXG4iCisKKyM6IHV0aWxzL2NwdWZyZXEt c2V0LmM6NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkVycm9yIHNldHRpbmcgbmV3IHZh bHVlcy4gQ29tbW9uIGVycm9yczpcbiIKKyItIERvIHlvdSBoYXZlIHByb3BlciBhZG1pbmlz dHJhdGlvbiByaWdodHM/IChzdXBlci11c2VyPylcbiIKKyItIElzIHRoZSBnb3Zlcm5vciB5 b3UgcmVxdWVzdGVkIGF2YWlsYWJsZSBhbmQgbW9kcHJvYmVkP1xuIgorIi0gVHJ5aW5nIHRv IHNldCBhbiBpbnZhbGlkIHBvbGljeT9cbiIKKyItIFRyeWluZyB0byBzZXQgYSBzcGVjaWZp YyBmcmVxdWVuY3ksIGJ1dCB1c2Vyc3BhY2UgZ292ZXJub3IgaXMgbm90ICIKKyJhdmFpbGFi bGUsXG4iCisiICAgZm9yIGV4YW1wbGUgYmVjYXVzZSBvZiBoYXJkd2FyZSB3aGljaCBjYW5u b3QgYmUgc2V0IHRvIGEgc3BlY2lmaWMgIgorImZyZXF1ZW5jeVxuIgorIiAgIG9yIGJlY2F1 c2UgdGhlIHVzZXJzcGFjZSBnb3Zlcm5vciBpc24ndCBsb2FkZWQ/XG4iCittc2dzdHIgIiIK KyLhg5Dhg67hg5Dhg5rhg5gg4YOb4YOc4YOY4YOo4YOV4YOc4YOU4YOa4YOd4YOU4YOR4YOY 4YOhIOGDk+GDkOGDp+GDlOGDnOGDlOGDkeGDkCDhg6jhg5Thg6Phg6vhg5rhg5Thg5Hhg5Th g5rhg5jhg5AuIOGDruGDqOGDmOGDoOGDkOGDkyDhg5Phg5Dhg6jhg5Xhg5Thg5Hhg6Phg5rh g5gg4YOo4YOU4YOq4YOT4YOd4YOb4YOU4YOR4YOY4YOQOlxuIgorIi0g4YOS4YOQ4YOl4YOV 4YOXIOGDl+GDoyDhg5Dhg6Dhg5Ag4YOQ4YOT4YOb4YOY4YOc4YOY4YOh4YOi4YOg4YOQ4YOi 4YOd4YOg4YOY4YOhIOGDo+GDpOGDmuGDlOGDkeGDlOGDkeGDmD8gKOGDm+GDneGDm+GDruGD m+GDkOGDoOGDlOGDkeGDlOGDmuGDmCByb290KVxuIgorIi0g4YOQ4YOg4YOY4YOhIOGDl+GD oyDhg5Dhg6Dhg5Ag4YOb4YOd4YOX4YOu4YOd4YOV4YOc4YOY4YOa4YOYIOGDm+GDm+GDkOGD oOGDl+GDleGDlOGDmuGDmCDhg67hg5Thg5rhg5vhg5jhg6Hhg5Dhg6zhg5Xhg5Phg53hg5vh g5gg4YOT4YOQIOGDqOGDlOGDoeGDkOGDkeGDkOGDm+GDmOGDoeGDmCDhg5vhg53hg5Phg6Ph g5rhg5ggIgorIm1vZHByb2JlLeGDmOGDlyDhg6nhg5Dhg6Lhg5Xhg5jhg6Dhg5fhg6Phg5rh g5g/XG4iCisiLSDhg6rhg5Phg5jhg5rhg53hg5Hhg5cg4YOT4YOQ4YOQ4YOn4YOU4YOc4YOd 4YOXIOGDkOGDoOGDkOGDoeGDrOGDneGDoOGDmCDhg57hg53hg5rhg5jhg6Lhg5jhg5nhg5A/ XG4iCisiLSDhg6rhg5Phg5jhg5rhg53hg5Hhg5cg4YOT4YOQ4YOQ4YOn4YOU4YOc4YOd4YOX IOGDkuGDkOGDnOGDoeGDkOGDluGDpuGDleGDoOGDo+GDmuGDmCDhg6Hhg5jhg67hg6jhg5jh g6Dhg5Qg4YOb4YOQ4YOo4YOY4YOcLCDhg6Dhg53hg6rhg5Ag4YOb4YOd4YOb4YOu4YOb4YOQ 4YOg4YOU4YOR4YOa4YOY4YOhIOGDoeGDmOGDleGDoOGDquGDmOGDoSAiCisi4YOb4YOb4YOQ 4YOg4YOX4YOV4YOU4YOa4YOYIOGDruGDlOGDmuGDm+GDmOGDo+GDrOGDleGDk+GDneGDm+GD lOGDmuGDmOGDkC5cbiIKKyIgIOGDm+GDkOGDkuGDkOGDmuGDmOGDl+GDkOGDkyDhg5Dhg57h g5Dhg6Dhg5Dhg6Lhg6Phg6Dhg5jhg6Eg4YOS4YOQ4YOb4YOdLCDhg6Dhg53hg5vhg5Thg5rh g6Hhg5Dhg6og4YOb4YOY4YOX4YOY4YOX4YOU4YOR4YOj4YOa4YOYIOGDoeGDmOGDruGDqOGD mOGDoOGDmOGDoSDhg5Phg5Dhg6fhg5Thg5zhg5Thg5Hhg5Ag4YOQ4YOgICIKKyLhg6jhg5Th g6Phg6vhg5rhg5jhg5AsXG4iCisiICDhg5Dhg5wg4YOY4YOl4YOc4YOU4YORIOGDm+GDneGD m+GDruGDm+GDkOGDoOGDlOGDkeGDmuGDmOGDoSDhg6Hhg5jhg5Xhg6Dhg6rhg5jhg6Eg4YOb 4YOb4YOQ4YOg4YOX4YOV4YOU4YOa4YOYIOGDqeGDkOGDouGDleGDmOGDoOGDl+GDo+GDmuGD mCDhg5Dhg6Dhg5Dhg5A/XG4iCisKKyM6IHV0aWxzL2NwdWZyZXEtc2V0LmM6MTcwCisjLCBj LWZvcm1hdAorbXNnaWQgIndyb25nLCB1bmtub3duIG9yIHVuaGFuZGxlZCBDUFU/XG4iCitt c2dzdHIgIuGDkOGDoOGDkOGDoeGDrOGDneGDoOGDmCwg4YOj4YOq4YOc4YOd4YOR4YOYIOGD kOGDnCDhg5Dhg6Dhg5Dhg6Hhg5Dhg6Hhg6Phg6Dhg5Xhg5Thg5rhg5ggQ1BVP1xuIgorCisj OiB1dGlscy9jcHVmcmVxLXNldC5jOjMwMgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisidGhl IC1mLy0tZnJlcSBwYXJhbWV0ZXIgY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggLWQvLS1taW4s IC11Ly0tbWF4IG9yXG4iCisiLWcvLS1nb3Zlcm5vciBwYXJhbWV0ZXJzXG4iCittc2dzdHIg IiIKKyLhg57hg5Dhg6Dhg5Dhg5vhg5Thg6Lhg6Dhg5ggLWYvLS1mcmVxIOGDkOGDoCDhg6jh g5Thg5jhg6vhg5rhg5Thg5Hhg5AtZC8tLW1pbiwgLXUvLS1tYXgg4YOT4YOQXG4iCisiLWcv LS1nb3Zlcm5vciDhg57hg5Dhg6Dhg5Dhg5vhg5Thg6Lhg6Dhg5Thg5Hhg5fhg5Dhg5wg4YOU 4YOg4YOX4YOQ4YOTIOGDmOGDp+GDneGDoSDhg5vhg5jhg5fhg5jhg5fhg5Thg5Hhg6Phg5rh g5hcbiIKKworIzogdXRpbHMvY3B1ZnJlcS1zZXQuYzozMDgKKyMsIGMtZm9ybWF0Cittc2dp ZCAiIgorIkF0IGxlYXN0IG9uZSBwYXJhbWV0ZXIgb3V0IG9mIC1mLy0tZnJlcSwgLWQvLS1t aW4sIC11Ly0tbWF4LCBhbmRcbiIKKyItZy8tLWdvdmVybm9yIG11c3QgYmUgcGFzc2VkXG4i Cittc2dzdHIgIiIKKyLhg6Hhg5Dhg63hg5jhg6Dhg53hg5AgLWYvLS1mcmVxLCAtZC8tLW1p biwgLXUvLS1tYXgsIGFuZFxuIgorIi1nLy0tZ292ZXJub3Ig4YOe4YOQ4YOg4YOQ4YOb4YOU 4YOi4YOg4YOU4YOR4YOY4YOT4YOQ4YOcIOGDlOGDoOGDl+GDmOGDoSDhg5Lhg5Dhg5Phg5Dh g6rhg5Thg5vhg5Ag4YOb4YOQ4YOY4YOc4YOqXG4iCisKKyM6IHV0aWxzL2NwdWZyZXEtc2V0 LmM6MzQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIlNldHRpbmcgY3B1OiAlZFxuIgorbXNnc3Ry ICJDUFUt4YOY4YOhIOGDk+GDkOGDp+GDlOGDnOGDlOGDkeGDkDogJWRcbiIKKworIzogdXRp bHMvY3B1cG93ZXItc2V0LmM6MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6IGNwdXBv d2VyIHNldCBbIC1iIHZhbCBdIFsgLW0gdmFsIF0gWyAtcyB2YWwgXVxuIgorbXNnc3RyICLh g5Lhg5Dhg5vhg53hg6fhg5Thg5zhg5Thg5Hhg5A6IGNwdXBvd2VyIHNldCBbIC1iIOGDm+GD nOGDmOGDqOGDleGDnCBdIFsgLW0g4YOb4YOc4YOY4YOo4YOV4YOcIF0gWyAtcyDhg5vhg5zh g5jhg6jhg5Xhg5wgXVxuIgorCisjOiB1dGlscy9jcHVwb3dlci1zZXQuYzoyNAorIywgYy1m b3JtYXQKK21zZ2lkICIiCisiICAtYiwgLS1wZXJmLWJpYXMgW1ZBTF0gICAgU2V0cyBDUFUn cyBwb3dlciB2cyBwZXJmb3JtYW5jZSBwb2xpY3kgb24gc29tZVxuIgorIiAgICAgICAgICAg ICAgICAgICAgICAgICAgIEludGVsIG1vZGVscyBbMC0xNV0sIHNlZSBtYW5wYWdlIGZvciBk ZXRhaWxzXG4iCittc2dzdHIgIiIKKyIgIC1iLCAtLXBlcmYtYmlhcyBbVkFMXSAgICBJbnRl bC3hg5jhg6Eg4YOW4YOd4YOS4YOY4YOU4YOg4YOXIOGDm+GDneGDk+GDlOGDmuGDluGDlCBb MC0xNV0gQ1BVLeGDmOGDoSDhg5nhg5Xhg5Thg5Hhg5Dhg6Hhg5Ag4YOT4YOQICIKKyLhg6zh g5Dhg6Dhg5vhg5Dhg5Phg53hg5Hhg5Dhg6Eg4YOo4YOd4YOg4YOY4YOhIOGDk+GDkOGDm+GD neGDmeGDmOGDk+GDlOGDkeGDo+GDmuGDlOGDkeGDmOGDoSDhg5Phg5Dhg6fhg5Thg5zhg5Th g5Hhg5BcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICDhg5vhg5Thg6Lhg5gg4YOT 4YOU4YOi4YOQ4YOa4YOY4YOh4YOX4YOV4YOY4YOhIOGDmOGDruGDmOGDmuGDlOGDlyDhg6Hh g5Dhg67hg5Thg5rhg5vhg6vhg6bhg5Xhg5Dhg5zhg5Thg5rhg50gKG1hbnBhZ2UpXG4iCisK KyM6IHV0aWxzL2NwdXBvd2VyLXNldC5jOjI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIg IC1tLCAtLXNjaGVkLW1jICBbVkFMXSAgICBTZXRzIHRoZSBrZXJuZWwncyBtdWx0aSBjb3Jl IHNjaGVkdWxlciBwb2xpY3kuXG4iCittc2dzdHIgIiIKKyIgIC1tLCAtLXNjaGVkLW1jICAg W1ZBTF0gICAgIOGDkeGDmOGDoOGDl+GDleGDmOGDoSDhg5vhg6Dhg5Dhg5Xhg5Dhg5rhg5Hh g5jhg6Dhg5fhg5Xhg5jhg5Dhg5zhg53hg5Hhg5jhg6Eg4YOb4YOS4YOU4YOS4YOb4YOQ4YOV 4YOY4YOhIOGDnuGDneGDmuGDmOGDouGDmOGDmeGDmOGDoSAiCisi4YOT4YOQ4YOn4YOU4YOc 4YOU4YOR4YOQLlxuIgorCisjOiB1dGlscy9jcHVwb3dlci1zZXQuYzoyNworIywgYy1mb3Jt YXQKK21zZ2lkICIiCisiICAtcywgLS1zY2hlZC1zbXQgW1ZBTF0gICAgU2V0cyB0aGUga2Vy bmVsJ3MgdGhyZWFkIHNpYmxpbmcgc2NoZWR1bGVyICIKKyJwb2xpY3kuXG4iCittc2dzdHIg IiIKKyIgIC1zLCAtLXNjaGVkLXNtdCAgW1ZBTF0gICAg4YOR4YOY4YOg4YOX4YOV4YOY4YOh IOGDnOGDkOGDmeGDkOGDk+GDmOGDoSDhg5Phg5jhg6Eg4YOb4YOS4YOU4YOS4YOb4YOQ4YOV 4YOY4YOhIOGDnuGDneGDmuGDmOGDouGDmOGDmeGDmOGDoSAiCisi4YOT4YOQ4YOn4YOU4YOc 4YOU4YOR4YOQLlxuIgorCisjOiB1dGlscy9jcHVwb3dlci1zZXQuYzo4MAorIywgYy1mb3Jt YXQKK21zZ2lkICItLXBlcmYtYmlhcyBwYXJhbSBvdXQgb2YgcmFuZ2UgWzAtJWRdXG4iCitt c2dzdHIgIi0tcGVyZi1iaWFzIOGDnuGDkOGDoOGDkOGDm+GDlOGDouGDoOGDmCDhg5Phg5jh g5Dhg57hg5Dhg5bhg53hg5zhg5jhg5Phg5Dhg5wgWzAtJWRdXG4iCisKKyM6IHV0aWxzL2Nw dXBvd2VyLXNldC5jOjkxCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tc2NoZWQtbWMgcGFyYW0g b3V0IG9mIHJhbmdlIFswLSVkXVxuIgorbXNnc3RyICItLXNjaGVkLW1jIOGDnuGDkOGDoOGD kOGDm+GDlOGDouGDoOGDmCDhg5Phg5jhg5Dhg57hg5Dhg5bhg53hg5zhg5jhg5Phg5Dhg5wg WzAtJWRdXG4iCisKKyM6IHV0aWxzL2NwdXBvd2VyLXNldC5jOjEwMgorIywgYy1mb3JtYXQK K21zZ2lkICItLXNjaGVkLXNtdCBwYXJhbSBvdXQgb2YgcmFuZ2UgWzAtJWRdXG4iCittc2dz dHIgIi0tc2NoZWQtc210IOGDnuGDkOGDoOGDkOGDm+GDlOGDouGDoOGDmCDhg5Phg5jhg5Dh g57hg5Dhg5bhg53hg5zhg5jhg5Phg5Dhg5wgWzAtJWRdXG4iCisKKyM6IHV0aWxzL2NwdXBv d2VyLXNldC5jOjEyMQorIywgYy1mb3JtYXQKK21zZ2lkICJFcnJvciBzZXR0aW5nIHNjaGVk LW1jICVzXG4iCittc2dzdHIgIuGDqOGDlOGDquGDk+GDneGDm+GDkCBzY2hlZC1tYyAt4YOY 4YOhIOGDk+GDkOGDp+GDlOGDnOGDlOGDkeGDmOGDoeGDkOGDoTogJXNcbiIKKworIzogdXRp bHMvY3B1cG93ZXItc2V0LmM6MTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIkVycm9yIHNldHRp bmcgc2NoZWQtc210ICVzXG4iCittc2dzdHIgIuGDqOGDlOGDquGDk+GDneGDm+GDkCBzY2hl ZC1zbXQt4YOY4YOhIOGDk+GDkOGDp+GDlOGDnOGDlOGDkeGDmOGDoeGDkOGDoTogJXNcbiIK KworIzogdXRpbHMvY3B1cG93ZXItc2V0LmM6MTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIkVy cm9yIHNldHRpbmcgcGVyZi1iaWFzIHZhbHVlIG9uIENQVSAlZFxuIgorbXNnc3RyICIlZC3h g5QgQ1BVLeGDluGDlCBwZXJmLWJpYXMgLeGDmOGDoSDhg5vhg5zhg5jhg6jhg5Xhg5zhg5Th g5rhg53hg5Hhg5jhg6Eg4YOT4YOQ4YOn4YOU4YOc4YOU4YOR4YOY4YOhIOGDqOGDlOGDquGD k+GDneGDm+GDkFxuIgorCisjOiB1dGlscy9jcHVwb3dlci1pbmZvLmM6MjEKKyMsIGMtZm9y bWF0Cittc2dpZCAiVXNhZ2U6IGNwdXBvd2VyIGluZm8gWyAtYiBdIFsgLW0gXSBbIC1zIF1c biIKK21zZ3N0ciAi4YOS4YOQ4YOb4YOd4YOn4YOU4YOc4YOU4YOR4YOQOiBjcHVwb3dlciBp bmZvIFsgLWIgXSBbIC1tIF0gWyAtcyBdXG4iCisKKyM6IHV0aWxzL2NwdXBvd2VyLWluZm8u YzoyMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICAtYiwgLS1wZXJmLWJpYXMgICAgR2V0 cyBDUFUncyBwb3dlciB2cyBwZXJmb3JtYW5jZSBwb2xpY3kgb24gc29tZVxuIgorIiAgICAg ICAgICAgICAgICAgICAgICAgICAgIEludGVsIG1vZGVscyBbMC0xNV0sIHNlZSBtYW5wYWdl IGZvciBkZXRhaWxzXG4iCittc2dzdHIgIiIKKyIgIC1iLCAtLXBlcmYtYmlhcyBbVkFMXSAg ICBJbnRlbC3hg5jhg6Eg4YOW4YOd4YOS4YOY4YOU4YOg4YOXIOGDm+GDneGDk+GDlOGDmuGD luGDlCBbMC0xNV0gQ1BVLeGDmOGDoSDhg5nhg5Xhg5Thg5Hhg5Dhg6Hhg5Ag4YOT4YOQICIK KyLhg6zhg5Dhg6Dhg5vhg5Dhg5Phg53hg5Hhg5Dhg6Eg4YOo4YOd4YOg4YOY4YOhIOGDk+GD kOGDm+GDneGDmeGDmOGDk+GDlOGDkeGDo+GDmuGDlOGDkeGDmOGDoSDhg5vhg5jhg6bhg5Th g5Hhg5BcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICDhg5vhg5Thg6Lhg5gg4YOT 4YOU4YOi4YOQ4YOa4YOY4YOh4YOX4YOV4YOY4YOhIOGDmOGDruGDmOGDmuGDlOGDlyDhg6Hh g5Dhg67hg5Thg5rhg5vhg6vhg6bhg5Xhg5Dhg5zhg5Thg5rhg50gKG1hbnBhZ2UpXG4iCisK KyM6IHV0aWxzL2NwdXBvd2VyLWluZm8uYzoyNQorIywgYy1mb3JtYXQKK21zZ2lkICIgIC1t LCAtLXNjaGVkLW1jICAgICBHZXRzIHRoZSBrZXJuZWwncyBtdWx0aSBjb3JlIHNjaGVkdWxl ciBwb2xpY3kuXG4iCittc2dzdHIgIiIKKyIgIC1tLCAtLXNjaGVkLW1jICAgICDhg5Hhg5jh g6Dhg5fhg5Xhg5jhg6Eg4YOb4YOg4YOQ4YOV4YOQ4YOa4YOR4YOY4YOg4YOX4YOV4YOY4YOQ 4YOc4YOd4YOR4YOY4YOhIOGDm+GDkuGDlOGDkuGDm+GDkOGDleGDmOGDoSDhg57hg53hg5rh g5jhg6Lhg5jhg5nhg5jhg6Eg4YOb4YOY4YOm4YOU4YOR4YOQLlxuIgorCisjOiB1dGlscy9j cHVwb3dlci1pbmZvLmM6MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgLXMsIC0tc2No ZWQtc210ICAgIEdldHMgdGhlIGtlcm5lbCdzIHRocmVhZCBzaWJsaW5nIHNjaGVkdWxlciBw b2xpY3kuXG4iCittc2dzdHIgIiAgLXMsIC0tc2NoZWQtc210ICAgIOGDkeGDmOGDoOGDl+GD leGDmOGDoSDhg5zhg5Dhg5nhg5Dhg5Phg5jhg6Eg4YOT4YOY4YOhIOGDm+GDkuGDlOGDkuGD m+GDkOGDleGDmOGDoSDhg57hg53hg5rhg5jhg6Lhg5jhg5nhg5jhg6Eg4YOb4YOY4YOm4YOU 4YOR4YOQLlxuIgorCisjOiB1dGlscy9jcHVwb3dlci1pbmZvLmM6MjgKKyMsIGMtZm9ybWF0 Cittc2dpZCAiIgorIlxuIgorIlBhc3Npbmcgbm8gb3B0aW9uIHdpbGwgc2hvdyBhbGwgaW5m bywgYnkgZGVmYXVsdCBvbmx5IG9uIGNvcmUgMFxuIgorbXNnc3RyICIiCisiXG4iCisi4YOb 4YOc4YOY4YOo4YOV4YOc4YOU4YOa4YOd4YOR4YOY4YOhIOGDkOGDoC3hg5Lhg5Dhg5Phg5Dh g6rhg5Thg5vhg5jhg6Eg4YOo4YOU4YOb4YOX4YOu4YOV4YOU4YOV4YOQ4YOo4YOYIOGDnOGD kOGDqeGDleGDlOGDnOGDlOGDkeGDmCDhg5jhg6Xhg5zhg5Thg5Hhg5Ag4YOh4YOg4YOj4YOa 4YOYIOGDmOGDnOGDpOGDneGDoOGDm+GDkOGDquGDmOGDkC4gIgorIuGDnOGDkOGDkuGDo+GD muGDmOGDoeGDruGDm+GDlOGDleGDkOGDkyDhg5vhg67hg53hg5rhg53hg5Mg4YOc4YOj4YOa 4YOd4YOV4YOQ4YOcIOGDkeGDmOGDoOGDl+GDleGDluGDlFxuIgorCisjOiB1dGlscy9jcHVw b3dlci1pbmZvLmM6MTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIlN5c3RlbSdzIG11bHRpIGNv cmUgc2NoZWR1bGVyIHNldHRpbmc6ICIKK21zZ3N0ciAi4YOh4YOY4YOh4YOi4YOU4YOb4YOY 4YOhIOGDm+GDoOGDkOGDleGDkOGDmuGDkeGDmOGDoOGDl+GDleGDmOGDkOGDnOGDneGDkeGD mOGDoSDhg5vhg5vhg5Dhg6Dhg5fhg5Xhg5Thg5rhg5jhg6Eg4YOe4YOQ4YOg4YOQ4YOb4YOU 4YOi4YOg4YOYOiAiCisKKyMuIGlmIHN5c2ZzIGZpbGUgaXMgbWlzc2luZyBpdCdzOiBlcnJu byA9PSBFTk9FTlQKKyM6IHV0aWxzL2NwdXBvd2VyLWluZm8uYzoxMDUgdXRpbHMvY3B1cG93 ZXItaW5mby5jOjExNAorIywgYy1mb3JtYXQKK21zZ2lkICJub3Qgc3VwcG9ydGVkXG4iCitt c2dzdHIgIuGDm+GDruGDkOGDoOGDk+GDkOGDo+GDreGDlOGDoOGDlOGDmuGDmOGDkFxuIgor CisjOiB1dGlscy9jcHVwb3dlci1pbmZvLmM6MTExCisjLCBjLWZvcm1hdAorbXNnaWQgIlN5 c3RlbSdzIHRocmVhZCBzaWJsaW5nIHNjaGVkdWxlciBzZXR0aW5nOiAiCittc2dzdHIgIuGD oeGDmOGDoeGDouGDlOGDm+GDmOGDoSDhg5zhg5Dhg5nhg5Dhg5Phg5jhg6Eg4YOT4YOY4YOh IOGDm+GDkOGDoOGDl+GDleGDmOGDoSDhg57hg5Dhg6Dhg5Dhg5vhg5Thg6Lhg6Dhg5g6ICIK KworIzogdXRpbHMvY3B1cG93ZXItaW5mby5jOjEyNgorIywgYy1mb3JtYXQKK21zZ2lkICJJ bnRlbCdzIHBlcmZvcm1hbmNlIGJpYXMgc2V0dGluZyBuZWVkcyByb290IHByaXZpbGVnZXNc biIKK21zZ3N0ciAiSW50ZWwt4YOY4YOhIOGDrOGDkOGDoOGDm+GDkOGDk+GDneGDkeGDmOGD oSBiaWFzLeGDmOGDoSDhg5Phg5Dhg6fhg5Thg5zhg5Thg5Hhg5Dhg6Egcm9vdC3hg5jhg6Eg 4YOe4YOg4YOY4YOV4YOY4YOa4YOU4YOS4YOY4YOU4YOR4YOYIOGDoeGDreGDmOGDoOGDk+GD lOGDkeGDkFxuIgorCisjOiB1dGlscy9jcHVwb3dlci1pbmZvLmM6MTI4CisjLCBjLWZvcm1h dAorbXNnaWQgIlN5c3RlbSBkb2VzIG5vdCBzdXBwb3J0IEludGVsJ3MgcGVyZm9ybWFuY2Ug YmlhcyBzZXR0aW5nXG4iCittc2dzdHIgIiIKKyLhg6Hhg5jhg6Hhg6Lhg5Thg5vhg5Dhg6Eg aW50ZWwt4YOY4YOhIHBlcmZvcm1hbmNlIGJpYXMt4YOY4YOhIOGDk+GDkOGDp+GDlOGDnOGD lOGDkeGDmOGDoSDhg5vhg67hg5Dhg6Dhg5Phg5Dhg63hg5Thg6Dhg5Ag4YOQ4YOgIOGDkuGD kOGDkOGDqeGDnOGDmOGDkFxuIgorCisjOiB1dGlscy9jcHVwb3dlci1pbmZvLmM6MTQ3Cisj LCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCByZWFkIHBlcmYtYmlhcyB2YWx1ZVxuIgor bXNnc3RyICLhg6jhg5Thg6rhg5Phg53hg5vhg5AgcGVyZi1iaWFzIC3hg5jhg6Eg4YOb4YOc 4YOY4YOo4YOV4YOc4YOU4YOa4YOd4YOR4YOY4YOhIOGDrOGDkOGDmeGDmOGDl+GDruGDleGD mOGDoeGDkOGDoVxuIgorCisjOiB1dGlscy9jcHVwb3dlci1pbmZvLmM6MTUwCisjLCBjLWZv cm1hdAorbXNnaWQgInBlcmYtYmlhczogJWRcbiIKK21zZ3N0ciAicGVyZi1iaWFzOiAlZFxu IgorCisjOiB1dGlscy9jcHVpZGxlLWluZm8uYzoyOAorIywgYy1mb3JtYXQKK21zZ2lkICJB bmFseXppbmcgQ1BVICVkOlxuIgorbXNnc3RyICIlZC3hg5QgQ1BVIC3hg5jhg6Eg4YOQ4YOc 4YOQ4YOa4YOY4YOW4YOYOlxuIgorCisjOiB1dGlscy9jcHVpZGxlLWluZm8uYzozMgorIywg Yy1mb3JtYXQKK21zZ2lkICJDUFUgJXU6IE5vIGlkbGUgc3RhdGVzXG4iCittc2dzdHIgIkNQ VSAldTog4YOj4YOl4YOb4YOYIOGDm+GDk+GDkuGDneGDm+GDkOGDoOGDlOGDneGDkeGDlOGD keGDmOGDoSDhg5Lhg5Dhg6Dhg5Thg6jhg5RcbiIKKworIzogdXRpbHMvY3B1aWRsZS1pbmZv LmM6MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1OiBDYW4ndCByZWFkIGlkbGUgc3Rh dGUgaW5mb1xuIgorbXNnc3RyICJDUFUgJXU6IOGDo+GDpeGDm+GDmCDhg5vhg5Phg5Lhg53h g5vhg5Dhg6Dhg5Thg53hg5Hhg5jhg6Eg4YOY4YOc4YOk4YOd4YOg4YOb4YOQ4YOq4YOY4YOY 4YOhIOGDrOGDkOGDmeGDmOGDl+GDruGDleGDkCDhg6jhg5Thg6Phg6vhg5rhg5Thg5Hhg5Th g5rhg5jhg5BcbiIKKworIzogdXRpbHMvY3B1aWRsZS1pbmZvLmM6NDEKKyMsIGMtZm9ybWF0 Cittc2dpZCAiQ291bGQgbm90IGRldGVybWluZSBtYXggaWRsZSBzdGF0ZSAldVxuIgorbXNn c3RyICLhg5vhg5Dhg6Xhg6Hhg5jhg5vhg5Dhg5rhg6Phg6Dhg5gg4YOj4YOl4YOb4YOUIOGD m+GDk+GDkuGDneGDm+GDkOGDoOGDlOGDneGDkeGDmOGDoSAldSDhg5Phg5Dhg5Phg5Lhg5Th g5zhg5jhg6Eg4YOo4YOU4YOq4YOT4YOd4YOb4YOQXG4iCisKKyM6IHV0aWxzL2NwdWlkbGUt aW5mby5jOjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIk51bWJlciBvZiBpZGxlIHN0YXRlczog JWRcbiIKK21zZ3N0ciAi4YOj4YOl4YOb4YOUIOGDm+GDk+GDkuGDneGDm+GDkOGDoOGDlOGD neGDkeGDlOGDkeGDmOGDoSDhg6Dhg5Dhg53hg5Phg5Thg5zhg53hg5Hhg5A6ICVkXG4iCisK KyM6IHV0aWxzL2NwdWlkbGUtaW5mby5jOjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIkF2YWls YWJsZSBpZGxlIHN0YXRlczoiCittc2dzdHIgIuGDruGDlOGDmuGDm+GDmOGDoeGDkOGDrOGD leGDk+GDneGDm+GDmCDhg6Phg6Xhg5vhg5Qg4YOb4YOT4YOS4YOd4YOb4YOQ4YOg4YOU4YOd 4YOR4YOU4YOR4YOYOiIKKworIzogdXRpbHMvY3B1aWRsZS1pbmZvLmM6NzEKKyMsIGMtZm9y bWF0Cittc2dpZCAiRmxhZ3MvRGVzY3JpcHRpb246ICVzXG4iCittc2dzdHIgIuGDkOGDmuGD m+GDlOGDkeGDmC/hg5Dhg6bhg6zhg5Thg6Dhg5A6ICVzXG4iCisKKyM6IHV0aWxzL2NwdWlk bGUtaW5mby5jOjc0CisjLCBjLWZvcm1hdAorbXNnaWQgIkxhdGVuY3k6ICVsdVxuIgorbXNn c3RyICLhg5Phg5Dhg6fhg53hg5Xhg5Thg5Hhg5A6ICVsdVxuIgorCisjOiB1dGlscy9jcHVp ZGxlLWluZm8uYzo3NgorIywgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogJWx1XG4iCittc2dz dHIgIuGDkuGDkOGDm+GDneGDp+GDlOGDnOGDlOGDkeGDkDogJWx1XG4iCisKKyM6IHV0aWxz L2NwdWlkbGUtaW5mby5jOjc4CisjLCBjLWZvcm1hdAorbXNnaWQgIkR1cmF0aW9uOiAlbGx1 XG4iCittc2dzdHIgIuGDruGDkOGDnOGDkuGDoOGDq+GDmuGDmOGDleGDneGDkeGDkDogJWxs dVxuIgorCisjOiB1dGlscy9jcHVpZGxlLWluZm8uYzo5MAorIywgYy1mb3JtYXQKK21zZ2lk ICJDb3VsZCBub3QgZGV0ZXJtaW5lIGNwdWlkbGUgZHJpdmVyXG4iCittc2dzdHIgIkNQVWlk bGUt4YOY4YOhIOGDk+GDoOGDkOGDmOGDleGDlOGDoOGDmOGDoSDhg5Phg5Dhg5Phg5Lhg5Th g5zhg5jhg6Eg4YOo4YOU4YOq4YOT4YOd4YOb4YOQXG4iCisKKyM6IHV0aWxzL2NwdWlkbGUt aW5mby5jOjk0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVWlkbGUgZHJpdmVyOiAlc1xuIgor bXNnc3RyICJDUFVpZGxlIC3hg5jhg6Eg4YOT4YOg4YOQ4YOY4YOV4YOU4YOg4YOYOiAlc1xu IgorCisjOiB1dGlscy9jcHVpZGxlLWluZm8uYzo5OQorIywgYy1mb3JtYXQKK21zZ2lkICJD b3VsZCBub3QgZGV0ZXJtaW5lIGNwdWlkbGUgZ292ZXJub3JcbiIKK21zZ3N0ciAiQ1BVaWRs ZS3hg5jhg6Eg4YOb4YOb4YOQ4YOg4YOX4YOV4YOU4YOa4YOY4YOhIOGDk+GDkOGDk+GDkuGD lOGDnOGDmOGDoSDhg6jhg5Thg6rhg5Phg53hg5vhg5BcbiIKKworIzogdXRpbHMvY3B1aWRs ZS1pbmZvLmM6MTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVWlkbGUgZ292ZXJub3I6ICVz XG4iCittc2dzdHIgIkNQVWlkbGUg4YOb4YOb4YOQ4YOg4YOX4YOV4YOU4YOa4YOYOiAlc1xu IgorCisjOiB1dGlscy9jcHVpZGxlLWluZm8uYzoxMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAi Q1BVICV1OiBDYW4ndCByZWFkIEMtc3RhdGUgaW5mb1xuIgorbXNnc3RyICJDUFUgJXU6IEMt c3RhdGUgLeGDmOGDoSDhg5jhg5zhg6Thg53hg6Dhg5vhg5Dhg6rhg5jhg5jhg6Eg4YOs4YOQ 4YOZ4YOY4YOX4YOu4YOV4YOY4YOhIOGDqOGDlOGDquGDk+GDneGDm+GDkFxuIgorCisjLiBw cmludGYoIkNzdGF0ZXM6ICVkXG4iLCBjc3RhdGVzKTsKKyM6IHV0aWxzL2NwdWlkbGUtaW5m by5jOjEyNworIywgYy1mb3JtYXQKK21zZ2lkICJhY3RpdmUgc3RhdGU6ICAgICAgICAgICAg QzBcbiIKK21zZ3N0ciAi4YOQ4YOl4YOi4YOY4YOj4YOg4YOYIOGDm+GDk+GDkuGDneGDm+GD kOGDoOGDlOGDneGDkeGDkDogICAgICAgICAgICBDMFxuIgorCisjOiB1dGlscy9jcHVpZGxl LWluZm8uYzoxMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4X2NzdGF0ZTogICAgICAgICAg ICAgIEMldVxuIgorbXNnc3RyICJtYXhfY3N0YXRlOiAgICAgICAgICAgICAgQyV1XG4iCisK KyM6IHV0aWxzL2NwdWlkbGUtaW5mby5jOjEyOQorIywgYy1mb3JtYXQKK21zZ2lkICJtYXhp bXVtIGFsbG93ZWQgbGF0ZW5jeTogJWx1IHVzZWNcbiIKK21zZ3N0ciAi4YOb4YOQ4YOl4YOh 4YOY4YOb4YOQ4YOa4YOj4YOg4YOYIOGDk+GDkOGDoeGDkOGDqOGDleGDlOGDkeGDmCDhg5Ph g5Dhg6fhg53hg5Xhg5zhg5Thg5Hhg5A6ICVsdSB1c2VjXG4iCisKKyM6IHV0aWxzL2NwdWlk bGUtaW5mby5jOjEzMAorIywgYy1mb3JtYXQKK21zZ2lkICJzdGF0ZXM6XHRcbiIKK21zZ3N0 ciAi4YOb4YOT4YOS4YOd4YOb4YOQ4YOg4YOU4YOd4YOR4YOU4YOR4YOYOlx0XG4iCisKKyM6 IHV0aWxzL2NwdWlkbGUtaW5mby5jOjEzMgorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgQyVk OiAgICAgICAgICAgICAgICAgIHR5cGVbQyVkXSAiCittc2dzdHIgIiAgICBDJWQ6ICAgICAg ICAgICAgICAgICAg4YOi4YOY4YOe4YOYW0MlZF0gIgorCisjOiB1dGlscy9jcHVpZGxlLWlu Zm8uYzoxMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAicHJvbW90aW9uWy0tXSBkZW1vdGlvblst LV0gIgorbXNnc3RyICJwcm9tb3Rpb25bLS1dIGRlbW90aW9uWy0tXSAiCisKKyM6IHV0aWxz L2NwdWlkbGUtaW5mby5jOjEzNQorIywgYy1mb3JtYXQKK21zZ2lkICJsYXRlbmN5WyUwM2x1 XSAiCittc2dzdHIgIuGDk+GDkOGDp+GDneGDleGDnOGDlOGDkeGDkFslMDNsdV0gIgorCisj OiB1dGlscy9jcHVpZGxlLWluZm8uYzoxMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNhZ2Vb JTA4bHVdICIKK21zZ3N0ciAi4YOS4YOQ4YOb4YOd4YOn4YOU4YOc4YOU4YOR4YOQWyUwOGx1 XSAiCisKKyM6IHV0aWxzL2NwdWlkbGUtaW5mby5jOjEzOQorIywgYy1mb3JtYXQKK21zZ2lk ICJkdXJhdGlvblslMDIwTHVdIFxuIgorbXNnc3RyICLhg67hg5Dhg5zhg5Lhg6Dhg6vhg5rh g5jhg5Xhg53hg5Hhg5BbJTAyMEx1XSBcbiIKKworIzogdXRpbHMvY3B1aWRsZS1pbmZvLmM6 MTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzYWdlOiBjcHVwb3dlciBpZGxlaW5mbyBbb3B0 aW9uc11cbiIKK21zZ3N0ciAi4YOS4YOQ4YOb4YOd4YOn4YOU4YOc4YOU4YOR4YOQOiBjcHVw b3dlciBpZGxlaW5mbyBb4YOe4YOQ4YOg4YOQ4YOb4YOU4YOi4YOg4YOU4YOR4YOYXVxuIgor CisjOiB1dGlscy9jcHVpZGxlLWluZm8uYzoxNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAt cywgLS1zaWxlbnQgICAgICAgICBPbmx5IHNob3cgZ2VuZXJhbCBDLXN0YXRlIGluZm9ybWF0 aW9uXG4iCittc2dzdHIgIiAgLXMsIC0tc2lsZW50ICAgICAgICAg4YOb4YOu4YOd4YOa4YOd 4YOTIOGDluGDneGDkuGDkOGDk+GDmCBDLXN0YXRlIC3hg5jhg6Eg4YOY4YOc4YOk4YOd4YOg 4YOb4YOQ4YOq4YOY4YOY4YOhIOGDqeGDleGDlOGDnOGDlOGDkeGDkFxuIgorCisjOiB1dGls cy9jcHVpZGxlLWluZm8uYzoxNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgLW8sIC0t cHJvYyAgICAgICAgICAgUHJpbnRzIG91dCBpbmZvcm1hdGlvbiBsaWtlIHByb3ZpZGVkIGJ5 IHRoZSAvcHJvYy8iCisiYWNwaS9wcm9jZXNzb3IvKi9wb3dlclxuIgorIiAgICAgICAgICAg ICAgICAgICAgICAgaW50ZXJmYWNlIGluIG9sZGVyIGtlcm5lbHNcbiIKK21zZ3N0ciAiIgor IiAgLW8sIC0tcHJvYyAgICAgICAgICAg4YOS4YOQ4YOb4YOd4YOQ4YOl4YOV4YOhIOGDmOGD nOGDpOGDneGDoOGDm+GDkOGDquGDmOGDkCwg4YOg4YOd4YOS4YOd4YOg4YOqIOGDmOGDoSAv cHJvYy9hY3BpL3Byb2Nlc3Nvci8qLyIKKyJwb3dlciDhg6Thg5Dhg5jhg5rhg6jhg5jhg5Ag 4YOQ4YOm4YOs4YOU4YOg4YOY4YOa4YOYLlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAg 4YOY4YOc4YOi4YOU4YOg4YOk4YOU4YOY4YOh4YOYIOGDq+GDleGDlOGDmiDhg5Hhg5jhg6Dh g5fhg5Xhg5Thg5Hhg6jhg5gg4YOY4YOn4YOdIOGDruGDlOGDmuGDm+GDmOGDoeGDkOGDrOGD leGDk+GDneGDm+GDmFxuIgorCisjOiB1dGlscy9jcHVpZGxlLWluZm8uYzoyMDkKKyMsIGMt Zm9ybWF0Cittc2dpZCAiWW91IGNhbid0IHNwZWNpZnkgbW9yZSB0aGFuIG9uZSBvdXRwdXQt c3BlY2lmaWMgYXJndW1lbnRcbiIKK21zZ3N0ciAi4YOU4YOg4YOX4YOW4YOUIOGDm+GDlOGD ouGDmCDhg5Lhg5Dhg5vhg53hg6Lhg5Dhg5zhg5jhg6Et4YOo4YOU4YOh4YOQ4YOi4YOn4YOV 4YOY4YOh4YOYIOGDkOGDoOGDkuGDo+GDm+GDlOGDnOGDouGDmOGDoSDhg5vhg5jhg5fhg5jh g5fhg5Thg5Hhg5Ag4YOQ4YOZ4YOg4YOr4YOQ4YOa4YOj4YOa4YOY4YOQXG4iCmRpZmYgLS1n aXQgYS90b29scy9wb3dlci9jcHVwb3dlci91dGlscy9idWlsdGluLmggYi90b29scy9wb3dl ci9jcHVwb3dlci91dGlscy9idWlsdGluLmgKaW5kZXggZjcwNjVhZTYwYTE0Li5lMWNhZWZk NDY3Y2QgMTAwNjQ0Ci0tLSBhL3Rvb2xzL3Bvd2VyL2NwdXBvd2VyL3V0aWxzL2J1aWx0aW4u aAorKysgYi90b29scy9wb3dlci9jcHVwb3dlci91dGlscy9idWlsdGluLmgKQEAgLTgsNiAr OCw4IEBAIGV4dGVybiBpbnQgY21kX2ZyZXFfc2V0KGludCBhcmdjLCBjb25zdCBjaGFyICoq YXJndik7CiBleHRlcm4gaW50IGNtZF9mcmVxX2luZm8oaW50IGFyZ2MsIGNvbnN0IGNoYXIg Kiphcmd2KTsKIGV4dGVybiBpbnQgY21kX2lkbGVfc2V0KGludCBhcmdjLCBjb25zdCBjaGFy ICoqYXJndik7CiBleHRlcm4gaW50IGNtZF9pZGxlX2luZm8oaW50IGFyZ2MsIGNvbnN0IGNo YXIgKiphcmd2KTsKK2V4dGVybiBpbnQgY21kX2NhcF9pbmZvKGludCBhcmdjLCBjb25zdCBj aGFyICoqYXJndik7CitleHRlcm4gaW50IGNtZF9jYXBfc2V0KGludCBhcmdjLCBjb25zdCBj aGFyICoqYXJndik7CiBleHRlcm4gaW50IGNtZF9tb25pdG9yKGludCBhcmdjLCBjb25zdCBj aGFyICoqYXJndik7CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvdG9vbHMvcG93ZXIvY3B1cG93 ZXIvdXRpbHMvY3B1ZnJlcS1pbmZvLmMgYi90b29scy9wb3dlci9jcHVwb3dlci91dGlscy9j cHVmcmVxLWluZm8uYwppbmRleCAwNjQ2ZjYxNWZlMmQuLmM5NmI3NzM2NWM2MyAxMDA2NDQK LS0tIGEvdG9vbHMvcG93ZXIvY3B1cG93ZXIvdXRpbHMvY3B1ZnJlcS1pbmZvLmMKKysrIGIv dG9vbHMvcG93ZXIvY3B1cG93ZXIvdXRpbHMvY3B1ZnJlcS1pbmZvLmMKQEAgLTU3Miw5ICs1 NzIsOSBAQCBpbnQgY21kX2ZyZXFfaW5mbyhpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAKIAly ZXQgPSAwOwogCi0JLyogRGVmYXVsdCBpczogc2hvdyBvdXRwdXQgb2YgQ1BVIDAgb25seSAq LworCS8qIERlZmF1bHQgaXM6IHNob3cgb3V0cHV0IG9mIGJhc2VfY3B1IG9ubHkgKi8KIAlp ZiAoYml0bWFza19pc2FsbGNsZWFyKGNwdXNfY2hvc2VuKSkKLQkJYml0bWFza19zZXRiaXQo Y3B1c19jaG9zZW4sIDApOworCQliaXRtYXNrX3NldGJpdChjcHVzX2Nob3NlbiwgYmFzZV9j cHUpOwogCiAJc3dpdGNoIChvdXRwdXRfcGFyYW0pIHsKIAljYXNlIC0xOgpkaWZmIC0tZ2l0 IGEvdG9vbHMvcG93ZXIvY3B1cG93ZXIvdXRpbHMvY3B1aWRsZS1pbmZvLmMgYi90b29scy9w b3dlci9jcHVwb3dlci91dGlscy9jcHVpZGxlLWluZm8uYwppbmRleCBmMmIyMDJjNTU1MmEu LjQ0MTI2YTg3ZmE3YSAxMDA2NDQKLS0tIGEvdG9vbHMvcG93ZXIvY3B1cG93ZXIvdXRpbHMv Y3B1aWRsZS1pbmZvLmMKKysrIGIvdG9vbHMvcG93ZXIvY3B1cG93ZXIvdXRpbHMvY3B1aWRs ZS1pbmZvLmMKQEAgLTE3Niw5ICsxNzYsOSBAQCBpbnQgY21kX2lkbGVfaW5mbyhpbnQgYXJn YywgY2hhciAqKmFyZ3YpCiAJCWNwdWlkbGVfZXhpdChFWElUX0ZBSUxVUkUpOwogCX0KIAot CS8qIERlZmF1bHQgaXM6IHNob3cgb3V0cHV0IG9mIENQVSAwIG9ubHkgKi8KKwkvKiBEZWZh dWx0IGlzOiBzaG93IG91dHB1dCBvZiBiYXNlX2NwdSBvbmx5ICovCiAJaWYgKGJpdG1hc2tf aXNhbGxjbGVhcihjcHVzX2Nob3NlbikpCi0JCWJpdG1hc2tfc2V0Yml0KGNwdXNfY2hvc2Vu LCAwKTsKKwkJYml0bWFza19zZXRiaXQoY3B1c19jaG9zZW4sIGJhc2VfY3B1KTsKIAogCWlm IChvdXRwdXRfcGFyYW0gPT0gMCkKIAkJY3B1aWRsZV9nZW5lcmFsX291dHB1dCgpOwpkaWZm IC0tZ2l0IGEvdG9vbHMvcG93ZXIvY3B1cG93ZXIvdXRpbHMvY3B1cG93ZXItaW5mby5jIGIv dG9vbHMvcG93ZXIvY3B1cG93ZXIvdXRpbHMvY3B1cG93ZXItaW5mby5jCmluZGV4IDA2MzQ1 YjU0Mzc4Ni4uMThmZDc3NTFmNTA5IDEwMDY0NAotLS0gYS90b29scy9wb3dlci9jcHVwb3dl ci91dGlscy9jcHVwb3dlci1pbmZvLmMKKysrIGIvdG9vbHMvcG93ZXIvY3B1cG93ZXIvdXRp bHMvY3B1cG93ZXItaW5mby5jCkBAIC02Nyw5ICs2Nyw5IEBAIGludCBjbWRfaW5mbyhpbnQg YXJnYywgY2hhciAqKmFyZ3YpCiAJaWYgKCFwYXJhbXMucGFyYW1zKQogCQlwYXJhbXMucGFy YW1zID0gMHg3OwogCi0JLyogRGVmYXVsdCBpczogc2hvdyBvdXRwdXQgb2YgQ1BVIDAgb25s eSAqLworCS8qIERlZmF1bHQgaXM6IHNob3cgb3V0cHV0IG9mIGJhc2VfY3B1IG9ubHkgKi8K IAlpZiAoYml0bWFza19pc2FsbGNsZWFyKGNwdXNfY2hvc2VuKSkKLQkJYml0bWFza19zZXRi aXQoY3B1c19jaG9zZW4sIDApOworCQliaXRtYXNrX3NldGJpdChjcHVzX2Nob3NlbiwgYmFz ZV9jcHUpOwogCiAJLyogQWRkIG1vcmUgcGVyIGNwdSBvcHRpb25zIGhlcmUgKi8KIAlpZiAo IXBhcmFtcy5wZXJmX2JpYXMpCmRpZmYgLS1naXQgYS90b29scy9wb3dlci9jcHVwb3dlci91 dGlscy9jcHVwb3dlci5jIGIvdG9vbHMvcG93ZXIvY3B1cG93ZXIvdXRpbHMvY3B1cG93ZXIu YwppbmRleCA4YWMzMzA0YTk5NTcuLjllYzk3MzE2NWFmMSAxMDA2NDQKLS0tIGEvdG9vbHMv cG93ZXIvY3B1cG93ZXIvdXRpbHMvY3B1cG93ZXIuYworKysgYi90b29scy9wb3dlci9jcHVw b3dlci91dGlscy9jcHVwb3dlci5jCkBAIC01NCw2ICs1NCw3IEBAIHN0YXRpYyBzdHJ1Y3Qg Y21kX3N0cnVjdCBjb21tYW5kc1tdID0gewogCXsgImZyZXF1ZW5jeS1zZXQiLAljbWRfZnJl cV9zZXQsCTEJfSwKIAl7ICJpZGxlLWluZm8iLAkJY21kX2lkbGVfaW5mbywJMAl9LAogCXsg ImlkbGUtc2V0IiwJCWNtZF9pZGxlX3NldCwJMQl9LAorCXsgInBvd2VyY2FwLWluZm8iLAlj bWRfY2FwX2luZm8sCTAJfSwKIAl7ICJzZXQiLAkJY21kX3NldCwJMQl9LAogCXsgImluZm8i LAkJY21kX2luZm8sCTAJfSwKIAl7ICJtb25pdG9yIiwJCWNtZF9tb25pdG9yLAkwCX0sCmRp ZmYgLS1naXQgYS90b29scy9wb3dlci9jcHVwb3dlci91dGlscy9pZGxlX21vbml0b3IvY3B1 cG93ZXItbW9uaXRvci5jIGIvdG9vbHMvcG93ZXIvY3B1cG93ZXIvdXRpbHMvaWRsZV9tb25p dG9yL2NwdXBvd2VyLW1vbml0b3IuYwppbmRleCA3Yzc3MDQ1ZmVmNTIuLjA3NWU3NjZmZjFm MyAxMDA2NDQKLS0tIGEvdG9vbHMvcG93ZXIvY3B1cG93ZXIvdXRpbHMvaWRsZV9tb25pdG9y L2NwdXBvd2VyLW1vbml0b3IuYworKysgYi90b29scy9wb3dlci9jcHVwb3dlci91dGlscy9p ZGxlX21vbml0b3IvY3B1cG93ZXItbW9uaXRvci5jCkBAIC00NTksOSArNDU5LDEwIEBAIGlu dCBjbWRfbW9uaXRvcihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAJCQlwcmludF9yZXN1bHRz KDEsIGNwdSk7CiAJfQogCi0JZm9yIChudW0gPSAwOyBudW0gPCBhdmFpbF9tb25pdG9yczsg bnVtKyspCi0JCW1vbml0b3JzW251bV0tPnVucmVnaXN0ZXIoKTsKLQorCWZvciAobnVtID0g MDsgbnVtIDwgYXZhaWxfbW9uaXRvcnM7IG51bSsrKSB7CisJCWlmIChtb25pdG9yc1tudW1d LT51bnJlZ2lzdGVyKQorCQkJbW9uaXRvcnNbbnVtXS0+dW5yZWdpc3RlcigpOworCX0KIAlj cHVfdG9wb2xvZ3lfcmVsZWFzZShjcHVfdG9wKTsKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdp dCBhL3Rvb2xzL3Bvd2VyL2NwdXBvd2VyL3V0aWxzL2lkbGVfbW9uaXRvci9pZGxlX21vbml0 b3JzLmRlZiBiL3Rvb2xzL3Bvd2VyL2NwdXBvd2VyL3V0aWxzL2lkbGVfbW9uaXRvci9pZGxl X21vbml0b3JzLmRlZgppbmRleCAwZDZiYTRkYmI5YzcuLjdjOTI2ZTkwYzg3ZSAxMDA2NDQK LS0tIGEvdG9vbHMvcG93ZXIvY3B1cG93ZXIvdXRpbHMvaWRsZV9tb25pdG9yL2lkbGVfbW9u aXRvcnMuZGVmCisrKyBiL3Rvb2xzL3Bvd2VyL2NwdXBvd2VyL3V0aWxzL2lkbGVfbW9uaXRv ci9pZGxlX21vbml0b3JzLmRlZgpAQCAtNCw1ICs0LDYgQEAgREVGKGludGVsX25obSkKIERF RihpbnRlbF9zbmIpCiBERUYoaW50ZWxfaHN3X2V4dCkKIERFRihtcGVyZikKK0RFRihyYXBs KQogI2VuZGlmCiBERUYoY3B1aWRsZV9zeXNmcykKZGlmZiAtLWdpdCBhL3Rvb2xzL3Bvd2Vy L2NwdXBvd2VyL3V0aWxzL2lkbGVfbW9uaXRvci9yYXBsX21vbml0b3IuYyBiL3Rvb2xzL3Bv d2VyL2NwdXBvd2VyL3V0aWxzL2lkbGVfbW9uaXRvci9yYXBsX21vbml0b3IuYwpuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjQ2MTUzZjEyOTFjMwotLS0gL2Rl di9udWxsCisrKyBiL3Rvb2xzL3Bvd2VyL2NwdXBvd2VyL3V0aWxzL2lkbGVfbW9uaXRvci9y YXBsX21vbml0b3IuYwpAQCAtMCwwICsxLDE0OCBAQAorLy8gU1BEWC1MaWNlbnNlLUlkZW50 aWZpZXI6IEdQTC0yLjAtb25seQorLyoKKyAqICAoQykgMjAxNiBTVVNFIFNvZnR3YXJlIFNv bHV0aW9ucyBHbWJICisgKiAgICAgICAgICAgVGhvbWFzIFJlbm5pbmdlciA8dHJlbm5Ac3Vz ZS5kZT4KKyAqLworCisjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82 NF9fKQorCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNs dWRlIDxzdGRpbnQuaD4KKyNpbmNsdWRlIDx0aW1lLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+ CisKKyNpbmNsdWRlIDxwY2kvcGNpLmg+CisKKyNpbmNsdWRlICJpZGxlX21vbml0b3IvY3B1 cG93ZXItbW9uaXRvci5oIgorI2luY2x1ZGUgImhlbHBlcnMvaGVscGVycy5oIgorI2luY2x1 ZGUgInBvd2VyY2FwLmgiCisKKyNkZWZpbmUgTUFYX1JBUExfWk9ORVMgMTAKKworaW50IHJh cGxfem9uZV9jb3VudDsKK2NzdGF0ZV90IHJhcGxfem9uZXNbTUFYX1JBUExfWk9ORVNdOwor c3RydWN0IHBvd2VyY2FwX3pvbmUgKnJhcGxfem9uZXNfcHRbTUFYX1JBUExfWk9ORVNdID0g eyAwIH07CisKK3Vuc2lnbmVkIGxvbmcgbG9uZyByYXBsX3pvbmVfcHJldmlvdXNfY291bnRb TUFYX1JBUExfWk9ORVNdOwordW5zaWduZWQgbG9uZyBsb25nIHJhcGxfem9uZV9jdXJyZW50 X2NvdW50W01BWF9SQVBMX1pPTkVTXTsKK3Vuc2lnbmVkIGxvbmcgbG9uZyByYXBsX21heF9j b3VudDsKKworc3RhdGljIGludCByYXBsX2dldF9jb3VudF91aih1bnNpZ25lZCBpbnQgaWQs IHVuc2lnbmVkIGxvbmcgbG9uZyAqY291bnQsCisJCQkgICAgIHVuc2lnbmVkIGludCBjcHUp Cit7CisJaWYgKHJhcGxfem9uZXNfcHRbaWRdID09IE5VTEwpCisJCS8qIGVycm9yICovCisJ CXJldHVybiAtMTsKKworCSpjb3VudCA9IHJhcGxfem9uZV9jdXJyZW50X2NvdW50W2lkXSAt IHJhcGxfem9uZV9wcmV2aW91c19jb3VudFtpZF07CisKKwlyZXR1cm4gMDsKK30KKworc3Rh dGljIGludCBwb3dlcmNhcF9jb3VudF96b25lcyhzdHJ1Y3QgcG93ZXJjYXBfem9uZSAqem9u ZSkKK3sKKwl1aW50NjRfdCB2YWw7CisJaW50IHVqOworCisJaWYgKHJhcGxfem9uZV9jb3Vu dCA+PSBNQVhfUkFQTF9aT05FUykKKwkJcmV0dXJuIC0xOworCisJaWYgKCF6b25lLT5oYXNf ZW5lcmd5X3VqKQorCQlyZXR1cm4gMDsKKworCXByaW50ZigiJXNcbiIsIHpvbmUtPnN5c19u YW1lKTsKKwl1aiA9IHBvd2VyY2FwX2dldF9lbmVyZ3lfdWooem9uZSwgJnZhbCk7CisJcHJp bnRmKCIlZFxuIiwgdWopOworCisJc3RybmNweShyYXBsX3pvbmVzW3JhcGxfem9uZV9jb3Vu dF0ubmFtZSwgem9uZS0+bmFtZSwgQ1NUQVRFX05BTUVfTEVOIC0gMSk7CisJc3RyY3B5KHJh cGxfem9uZXNbcmFwbF96b25lX2NvdW50XS5kZXNjLCAiIik7CisJcmFwbF96b25lc1tyYXBs X3pvbmVfY291bnRdLmlkID0gcmFwbF96b25lX2NvdW50OworCXJhcGxfem9uZXNbcmFwbF96 b25lX2NvdW50XS5yYW5nZSA9IFJBTkdFX01BQ0hJTkU7CisJcmFwbF96b25lc1tyYXBsX3pv bmVfY291bnRdLmdldF9jb3VudCA9IHJhcGxfZ2V0X2NvdW50X3VqOworCXJhcGxfem9uZXNf cHRbcmFwbF96b25lX2NvdW50XSA9IHpvbmU7CisJcmFwbF96b25lX2NvdW50Kys7CisKKwly ZXR1cm4gMDsKK30KKworc3RhdGljIGludCByYXBsX3N0YXJ0KHZvaWQpCit7CisJaW50IGks IHJldDsKKwl1aW50NjRfdCB1al92YWw7CisKKwlmb3IgKGkgPSAwOyBpIDwgcmFwbF96b25l X2NvdW50OyBpKyspIHsKKwkJcmV0ID0gcG93ZXJjYXBfZ2V0X2VuZXJneV91aihyYXBsX3pv bmVzX3B0W2ldLCAmdWpfdmFsKTsKKwkJaWYgKHJldCkKKwkJCXJldHVybiByZXQ7CisJCXJh cGxfem9uZV9wcmV2aW91c19jb3VudFtpXSA9IHVqX3ZhbDsKKwl9CisKKwlyZXR1cm4gMDsK K30KKworc3RhdGljIGludCByYXBsX3N0b3Aodm9pZCkKK3sKKwlpbnQgaTsKKwl1aW50NjRf dCB1al92YWw7CisKKwlmb3IgKGkgPSAwOyBpIDwgcmFwbF96b25lX2NvdW50OyBpKyspIHsK KwkJaW50IHJldDsKKworCQlyZXQgPSBwb3dlcmNhcF9nZXRfZW5lcmd5X3VqKHJhcGxfem9u ZXNfcHRbaV0sICZ1al92YWwpOworCQlpZiAocmV0KQorCQkJcmV0dXJuIHJldDsKKwkJcmFw bF96b25lX2N1cnJlbnRfY291bnRbaV0gPSB1al92YWw7CisJCWlmIChyYXBsX21heF9jb3Vu dCA8IHVqX3ZhbCkKKwkJCXJhcGxfbWF4X2NvdW50ID0gdWpfdmFsIC0gcmFwbF96b25lX3By ZXZpb3VzX2NvdW50W2ldOworCX0KKwlyZXR1cm4gMDsKK30KKworc3RydWN0IGNwdWlkbGVf bW9uaXRvciAqcmFwbF9yZWdpc3Rlcih2b2lkKQoreworCXN0cnVjdCBwb3dlcmNhcF96b25l ICpyb290X3pvbmU7CisJY2hhciBsaW5lW01BWF9MSU5FX0xFTl0gPSAiIjsKKwlpbnQgcmV0 LCB2YWw7CisKKwlyZXQgPSBwb3dlcmNhcF9nZXRfZHJpdmVyKGxpbmUsIE1BWF9MSU5FX0xF Tik7CisJaWYgKHJldCA8IDApIHsKKwkJZHByaW50KCJObyBwb3dlcmNhcHBpbmcgZHJpdmVy IGxvYWRlZFxuIik7CisJCXJldHVybiBOVUxMOworCX0KKworCWRwcmludCgiRHJpdmVyOiAl c1xuIiwgbGluZSk7CisJcmV0ID0gcG93ZXJjYXBfZ2V0X2VuYWJsZWQoJnZhbCk7CisJaWYg KHJldCA8IDApCisJCXJldHVybiBOVUxMOworCWlmICghdmFsKSB7CisJCWRwcmludCgiUG93 ZXJjYXBwaW5nIGlzIGRpc2FibGVkXG4iKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCisJZHBy aW50KCJQb3dlcmNhcCBkb21haW4gaGllcmFyY2h5OlxuXG4iKTsKKwlyb290X3pvbmUgPSBw b3dlcmNhcF9pbml0X3pvbmVzKCk7CisKKwlpZiAocm9vdF96b25lID09IE5VTEwpIHsKKwkJ ZHByaW50KCJObyBwb3dlcmNhcCBpbmZvIGZvdW5kXG4iKTsKKwkJcmV0dXJuIE5VTEw7CisJ fQorCisJcG93ZXJjYXBfd2Fsa196b25lcyhyb290X3pvbmUsIHBvd2VyY2FwX2NvdW50X3pv bmVzKTsKKwlyYXBsX21vbml0b3IuaHdfc3RhdGVzX251bSA9IHJhcGxfem9uZV9jb3VudDsK KworCXJldHVybiAmcmFwbF9tb25pdG9yOworfQorCitzdHJ1Y3QgY3B1aWRsZV9tb25pdG9y IHJhcGxfbW9uaXRvciA9IHsKKwkubmFtZQkJCT0gIlJBUEwiLAorCS5od19zdGF0ZXMJCT0g cmFwbF96b25lcywKKwkuaHdfc3RhdGVzX251bQkJPSAwLAorCS5zdGFydAkJCT0gcmFwbF9z dGFydCwKKwkuc3RvcAkJCT0gcmFwbF9zdG9wLAorCS5kb19yZWdpc3RlcgkJPSByYXBsX3Jl Z2lzdGVyLAorCS5mbGFncy5uZWVkc19yb290CT0gMCwKKwkub3ZlcmZsb3dfcwkJPSA2MCAq IDYwICogMjQgKiAxMDAsIC8qIFRvIGJlIGltcGxlbWVudGVkICovCit9OworCisjZW5kaWYK ZGlmZiAtLWdpdCBhL3Rvb2xzL3Bvd2VyL2NwdXBvd2VyL3V0aWxzL3Bvd2VyY2FwLWluZm8u YyBiL3Rvb2xzL3Bvd2VyL2NwdXBvd2VyL3V0aWxzL3Bvd2VyY2FwLWluZm8uYwpuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjNlYTQ0ODZmMWEwZQotLS0gL2Rl di9udWxsCisrKyBiL3Rvb2xzL3Bvd2VyL2NwdXBvd2VyL3V0aWxzL3Bvd2VyY2FwLWluZm8u YwpAQCAtMCwwICsxLDExNyBAQAorLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0y LjAtb25seQorLyoKKyAqICAoQykgMjAxNiBTVVNFIFNvZnR3YXJlIFNvbHV0aW9ucyBHbWJI CisgKiAgICAgICAgICAgVGhvbWFzIFJlbm5pbmdlciA8dHJlbm5Ac3VzZS5kZT4KKyAqLwor CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxl cnJuby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0ZGludC5oPgorI2lu Y2x1ZGUgPHN0cmluZy5oPgorCisjaW5jbHVkZSA8Z2V0b3B0Lmg+CisKKyNpbmNsdWRlICJw b3dlcmNhcC5oIgorI2luY2x1ZGUgImhlbHBlcnMvaGVscGVycy5oIgorCitpbnQgcG93ZXJj YXBfc2hvd19hbGw7CisKK3N0YXRpYyBzdHJ1Y3Qgb3B0aW9uIGluZm9fb3B0c1tdID0gewor CXsgImFsbCIsCQlub19hcmd1bWVudCwJCSBOVUxMLAkgJ2EnfSwKKwl7IH0sCit9OworCitz dGF0aWMgaW50IHBvd2VyY2FwX3ByaW50X29uZV96b25lKHN0cnVjdCBwb3dlcmNhcF96b25l ICp6b25lKQoreworCWludCBtb2RlLCBpLCByZXQgPSAwOworCWNoYXIgcHJfcHJlZml4WzEw MjRdID0gIiI7CisKKwlmb3IgKGkgPSAwOyBpIDwgem9uZS0+dHJlZV9kZXB0aCAmJiBpIDwg UE9XRVJDQVBfTUFYX1RSRUVfREVQVEg7IGkrKykKKwkJc3RyY2F0KHByX3ByZWZpeCwgIlx0 Iik7CisKKwlwcmludGYoIiVzWm9uZTogJXMiLCBwcl9wcmVmaXgsIHpvbmUtPm5hbWUpOwor CXJldCA9IHBvd2VyY2FwX3pvbmVfZ2V0X2VuYWJsZWQoem9uZSwgJm1vZGUpOworCWlmIChy ZXQgPCAwKQorCQlyZXR1cm4gcmV0OworCXByaW50ZigiICglcylcbiIsIG1vZGUgPyAiZW5h YmxlZCIgOiAiZGlzYWJsZWQiKTsKKworCWlmICh6b25lLT5oYXNfcG93ZXJfdXcpCisJCXBy aW50ZihfKCIlc1Bvd2VyIGNhbiBiZSBtb25pdG9yZWQgaW4gbWljcm8gSnVsZXNcbiIpLAor CQkgICAgICAgcHJfcHJlZml4KTsKKworCWlmICh6b25lLT5oYXNfZW5lcmd5X3VqKQorCQlw cmludGYoXygiJXNQb3dlciBjYW4gYmUgbW9uaXRvcmVkIGluIG1pY3JvIFdhdHRzXG4iKSwK KwkJICAgICAgIHByX3ByZWZpeCk7CisKKwlwcmludGYoIlxuIik7CisKKwlpZiAocmV0ICE9 IDApCisJCXJldHVybiByZXQ7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBwb3dl cmNhcF9zaG93KHZvaWQpCit7CisJc3RydWN0IHBvd2VyY2FwX3pvbmUgKnJvb3Rfem9uZTsK KwljaGFyIGxpbmVbTUFYX0xJTkVfTEVOXSA9ICIiOworCWludCByZXQsIHZhbDsKKworCXJl dCA9IHBvd2VyY2FwX2dldF9kcml2ZXIobGluZSwgTUFYX0xJTkVfTEVOKTsKKwlpZiAocmV0 IDwgMCkgeworCQlwcmludGYoXygiTm8gcG93ZXJjYXBwaW5nIGRyaXZlciBsb2FkZWRcbiIp KTsKKwkJcmV0dXJuIHJldDsKKwl9CisKKwlwcmludGYoIkRyaXZlcjogJXNcbiIsIGxpbmUp OworCXJldCA9IHBvd2VyY2FwX2dldF9lbmFibGVkKCZ2YWwpOworCWlmIChyZXQgPCAwKQor CQlyZXR1cm4gcmV0OworCWlmICghdmFsKSB7CisJCXByaW50ZihfKCJQb3dlcmNhcHBpbmcg aXMgZGlzYWJsZWRcbiIpKTsKKwkJcmV0dXJuIC0xOworCX0KKworCXByaW50ZihfKCJQb3dl cmNhcCBkb21haW4gaGllcmFyY2h5OlxuXG4iKSk7CisJcm9vdF96b25lID0gcG93ZXJjYXBf aW5pdF96b25lcygpOworCisJaWYgKHJvb3Rfem9uZSA9PSBOVUxMKSB7CisJCXByaW50Zihf KCJObyBwb3dlcmNhcCBpbmZvIGZvdW5kXG4iKSk7CisJCXJldHVybiAxOworCX0KKworCXBv d2VyY2FwX3dhbGtfem9uZXMocm9vdF96b25lLCBwb3dlcmNhcF9wcmludF9vbmVfem9uZSk7 CisKKwlyZXR1cm4gMDsKK30KKworaW50IGNtZF9jYXBfc2V0KGludCBhcmdjLCBjaGFyICoq YXJndikKK3sKKwlyZXR1cm4gMDsKK307CitpbnQgY21kX2NhcF9pbmZvKGludCBhcmdjLCBj aGFyICoqYXJndikKK3sKKwlpbnQgcmV0ID0gMCwgY29udCA9IDE7CisKKwlkbyB7CisJCXJl dCA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsICJhIiwgaW5mb19vcHRzLCBOVUxMKTsKKwkJ c3dpdGNoIChyZXQpIHsKKwkJY2FzZSAnPyc6CisJCQljb250ID0gMDsKKwkJCWJyZWFrOwor CQljYXNlIC0xOgorCQkJY29udCA9IDA7CisJCQlicmVhazsKKwkJY2FzZSAnYSc6CisJCQlw b3dlcmNhcF9zaG93X2FsbCA9IDE7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCWZwcmlu dGYoc3RkZXJyLCBfKCJpbnZhbGlkIG9yIHVua25vd24gYXJndW1lbnRcbiIpKTsKKwkJCXJl dHVybiBFWElUX0ZBSUxVUkU7CisJCX0KKwl9IHdoaWxlIChjb250KTsKKworCXBvd2VyY2Fw X3Nob3coKTsKKwlyZXR1cm4gMDsKK30K --------------l8tyavfLbabtGWIEKIVI2BsL--