Received: by 2002:a6b:fb09:0:0:0:0:0 with SMTP id h9csp1867040iog; Tue, 14 Jun 2022 15:27:54 -0700 (PDT) X-Google-Smtp-Source: AGRyM1sL/XcZ++rsj1RzvlSj70hVNOvmUzfoyW3XaH+acfolMI+STuw2+Vq/wtgxSEq2pvYeCRPv X-Received: by 2002:a05:6402:369b:b0:431:665e:f91a with SMTP id ej27-20020a056402369b00b00431665ef91amr8871932edb.350.1655245674138; Tue, 14 Jun 2022 15:27:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1655245674; cv=none; d=google.com; s=arc-20160816; b=YDvA0DjiDyvn3V6Co1r8Y72AMHMYJ/YYRSAMVkbdyRGfD5UKPlGh/XsDkX+1qCH+Pt azKEIT1L3f6VCH92vMDRbzIcqZ6Cwdc0CT3UrodTCI4DnoOzFE0MVXDYC3dpKO4NOnIb zhgeEANc7shWB0c8/6/5HEqahVRqVy0jYzIDZPu+8AbyJt0WcKdTr48cG2Eo6z5gERbW aTZrunwcMFvF0et75SnnjvGoAtBhqFIHGxSQ+5BYVyKOY+d9EH/kKA3BPDfFHhBO/oqZ cWiMd1EAt33Qd5VWB0YH2pNORC9DlRQmB9uW2Sa1XVvue/luOBcf4SsXLMEDhDuvs9WA fB4g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:reply-to :in-reply-to:references:mime-version:dkim-signature; bh=jZa1AuUjKlLWh75HtJOS7vlV2X97uNQp2RygknFwkOs=; b=j+b6b8vMd0aRSkxvK+c66qGyqInASSiwemj3GpZjAP3NE3dQvxt+ia9mZjNr4IDI+x Qpf36+bUsG9unOoFykJc5gWtk2PXHF9VjzcvuhcFsKjL5puu21CaGHrfU2Crr0z49ad+ ORJ0ibM+TcXLFN1XjUaaJ9bEYEKvRmCq7XwQ7ElLayNOqTwPCtejqKERcAl+wgyGjPqg sbQ1bOX8TpO2nUuf3XheFcEK96Yqm/V61pWW731qX0juPaug3pydI/Jm/RMIyOV6Ht2W +NUs2LAuRZDsIHommML8PnHf9J+eQXWjtB/v3Zl8+k/GKLXv5u1xtSDk40rkoeisXukm 6a1g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=ON00pU4b; 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=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id n20-20020a170906b31400b006feaf067873si11062722ejz.557.2022.06.14.15.27.28; Tue, 14 Jun 2022 15:27:54 -0700 (PDT) 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=@gmail.com header.s=20210112 header.b=ON00pU4b; 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=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234111AbiFNWMc (ORCPT + 99 others); Tue, 14 Jun 2022 18:12:32 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37096 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S245277AbiFNWM1 (ORCPT ); Tue, 14 Jun 2022 18:12:27 -0400 Received: from mail-io1-xd2b.google.com (mail-io1-xd2b.google.com [IPv6:2607:f8b0:4864:20::d2b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B6B59BF7E; Tue, 14 Jun 2022 15:12:25 -0700 (PDT) Received: by mail-io1-xd2b.google.com with SMTP id a10so10881083ioe.9; Tue, 14 Jun 2022 15:12:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:reply-to:from:date:message-id :subject:to:cc; bh=jZa1AuUjKlLWh75HtJOS7vlV2X97uNQp2RygknFwkOs=; b=ON00pU4brGZhDBGzi9h7uKX0qCWA//08z6RBa6Nk5Orr5mFEY6Xs7AGSYx4w43Km1o 4DJ3ld1vj9mBfYYtvmEf6Ya7ju7obfiH6G9hfB38AJ/SuUHxhKbau6XuS4TvsW0DqXqn wx4MrOPjaf4GRO8/GkDaqkxKk+w78t7Jjldc94Qx3IsIqh95CHbWOpvMLKfZJ/Y1/Guz hLi99g6nv1gM3ndE4jeMe6+YQFVklaQjkT1SDLH+GdIod+PWD/T5z6D65BL5AcG6Va62 P+4/wk0PhnUWT4gIHFKpRMbGz5Xqh/inoBJDKwoUV3IREvENX59TsJv/cpq1RZAXogEG f6CQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:reply-to :from:date:message-id:subject:to:cc; bh=jZa1AuUjKlLWh75HtJOS7vlV2X97uNQp2RygknFwkOs=; b=HsIjrr8wvej6U5MhUvJJtQAcaSQUg02eY1Hft8lAGuK8vToyv1nKCkJWCbB45wVn38 i+K+oGisCijAilB8l1m1SWDzbaNiSVmYykhXAck8luLXaIwA4rVJkMczO1Z3C1yeXYk4 oJ92e79VeBpYDfck7MLSE8PmXpKqv0vj7KcFoeDVbNZDuvkOKhX/dzfENitqs6np3W5C MDer3vp7xgSAqIWjddnzqZiPBxtGAYHWw0kfLBvDx9qEQNs6QFTik6GHgc3s9Mi35kb2 wv8bzt4RrRtJ2va75pehODI+9LH5IOxrpGd/LbSoGNhdXAsl2IhagWu1IPWzhUH8Ylli I9jw== X-Gm-Message-State: AOAM5323bbhVaPG5Q0e2dVazHM3e1aFa8p2FgcJBq1ZRGrd7oJYtBW0E Voe/lm0vVfmhmzUqg+wqgUR33V2m314E/6E2gmk= X-Received: by 2002:a5d:8782:0:b0:669:9183:1dc3 with SMTP id f2-20020a5d8782000000b0066991831dc3mr3608138ion.131.1655244744977; Tue, 14 Jun 2022 15:12:24 -0700 (PDT) MIME-Version: 1.0 References: <20220607000851.39798-1-irogers@google.com> In-Reply-To: Reply-To: sedat.dilek@gmail.com From: Sedat Dilek Date: Wed, 15 Jun 2022 00:11:48 +0200 Message-ID: Subject: Re: [Linux v5.19-rc1] tools/perf/a.out remains after make -C tools/perf clean To: Arnaldo Carvalho de Melo Cc: Peter Zijlstra , Ingo Molnar , linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org Content-Type: multipart/mixed; boundary="0000000000000ac4fd05e16fb3cd" X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham 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 --0000000000000ac4fd05e16fb3cd Content-Type: text/plain; charset="UTF-8" On Tue, Jun 14, 2022 at 9:24 PM Arnaldo Carvalho de Melo wrote: > > Em Tue, Jun 07, 2022 at 08:59:31PM +0200, Sedat Dilek escreveu: > > Hi, > > > > I observed this some time ago - so this is not only Linux v5.19-rc1 related. > > > > $ LC_ALL=C make -C tools/perf clean 2>&1 | tee ../make-log_perf-clean.txt > > make: Entering directory '/home/dileks/src/linux-kernel/git/tools/perf' > > CLEAN x86 > > CLEAN libtraceevent > > CLEAN libapi > > CLEAN libbpf > > CLEAN libsubcmd > > CLEAN libperf > > CLEAN fixdep > > CLEAN feature-detect > > CLEAN python > > CLEAN bpf-skel > > CLEAN core-objs > > CLEAN core-progs > > CLEAN core-gen > > CLEAN Documentation > > make: Leaving directory '/home/dileks/src/linux-kernel/git/tools/perf' > > > > $ git status -s > > M tools/perf/util/unwind-libunwind-local.c > > ?? tools/perf/a.out > > > > $ rm -v tools/perf/a.out > > 'tools/perf/a.out' deleted > > > > $ git checkout -- tools/perf/util/unwind-libunwind-local.c > > > > $ git status -s > > [ empty ] > > Interesting, since Linus complained at some point that after building > perf some new temp file was left there I added 'git status' to my > scripts to always get this flagged. > > I'm not seeing this here. > Just re-checked with Linux v5.19-rc2 and attaching tools/perf/a.out + tools/perf/Makefile.config. Check perf binary: $ ~/bin/perf -vv perf version 5.19.0-rc2 dwarf: [ on ] # HAVE_DWARF_SUPPORT dwarf_getlocations: [ on ] # HAVE_DWARF_GETLOCATIONS_SUPPORT glibc: [ on ] # HAVE_GLIBC_SUPPORT syscall_table: [ on ] # HAVE_SYSCALL_TABLE_SUPPORT libbfd: [ on ] # HAVE_LIBBFD_SUPPORT debuginfod: [ OFF ] # HAVE_DEBUGINFOD_SUPPORT libelf: [ on ] # HAVE_LIBELF_SUPPORT libnuma: [ on ] # HAVE_LIBNUMA_SUPPORT numa_num_possible_cpus: [ on ] # HAVE_LIBNUMA_SUPPORT libperl: [ on ] # HAVE_LIBPERL_SUPPORT libpython: [ on ] # HAVE_LIBPYTHON_SUPPORT libslang: [ on ] # HAVE_SLANG_SUPPORT libcrypto: [ on ] # HAVE_LIBCRYPTO_SUPPORT libunwind: [ on ] # HAVE_LIBUNWIND_SUPPORT libdw-dwarf-unwind: [ on ] # HAVE_DWARF_SUPPORT zlib: [ on ] # HAVE_ZLIB_SUPPORT lzma: [ on ] # HAVE_LZMA_SUPPORT get_cpuid: [ on ] # HAVE_AUXTRACE_SUPPORT bpf: [ on ] # HAVE_LIBBPF_SUPPORT aio: [ on ] # HAVE_AIO_SUPPORT zstd: [ on ] # HAVE_ZSTD_SUPPORT libpfm4: [ OFF ] # HAVE_LIBPFM Tried `make distclean`. Tried `make tools/ clean` but tools/tracing/rtla produces errors (rm clean). Still exists: tools/perf/a.out. -Sedat- --0000000000000ac4fd05e16fb3cd Content-Type: application/octet-stream; name="a.out" Content-Disposition: attachment; filename="a.out" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l4ephxwk0 f0VMRgIBAQAAAAAAAAAAAAIAPgABAAAAQBBAAAAAAABAAAAAAAAAADA3AAAAAAAAAAAAAEAAOAAN AEAAHgAdAAYAAAAEAAAAQAAAAAAAAABAAEAAAAAAAEAAQAAAAAAA2AIAAAAAAADYAgAAAAAAAAgA AAAAAAAAAwAAAAQAAAAYAwAAAAAAABgDQAAAAAAAGANAAAAAAAAcAAAAAAAAABwAAAAAAAAAAQAA AAAAAAABAAAABAAAAAAAAAAAAAAAAABAAAAAAAAAAEAAAAAAANAEAAAAAAAA0AQAAAAAAAAAEAAA AAAAAAEAAAAFAAAAABAAAAAAAAAAEEAAAAAAAAAQQAAAAAAAzQEAAAAAAADNAQAAAAAAAAAQAAAA AAAAAQAAAAQAAAAAIAAAAAAAAAAgQAAAAAAAACBAAAAAAABIAQAAAAAAAEgBAAAAAAAAABAAAAAA AAABAAAABgAAAAAuAAAAAAAAAD5AAAAAAAAAPkAAAAAAADACAAAAAAAAOAIAAAAAAAAAEAAAAAAA AAIAAAAGAAAAEC4AAAAAAAAQPkAAAAAAABA+QAAAAAAA4AEAAAAAAADgAQAAAAAAAAgAAAAAAAAA BAAAAAQAAAA4AwAAAAAAADgDQAAAAAAAOANAAAAAAAAgAAAAAAAAACAAAAAAAAAACAAAAAAAAAAE AAAABAAAAFgDAAAAAAAAWANAAAAAAABYA0AAAAAAACAAAAAAAAAAIAAAAAAAAAAEAAAAAAAAAFPl dGQEAAAAOAMAAAAAAAA4A0AAAAAAADgDQAAAAAAAIAAAAAAAAAAgAAAAAAAAAAgAAAAAAAAAUOV0 ZAQAAAAIIAAAAAAAAAggQAAAAAAACCBAAAAAAAA8AAAAAAAAADwAAAAAAAAABAAAAAAAAABR5XRk BgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAFLldGQE AAAAAC4AAAAAAAAAPkAAAAAAAAA+QAAAAAAAAAIAAAAAAAAAAgAAAAAAAAEAAAAAAAAAL2xpYjY0 L2xkLWxpbnV4LXg4Ni02NC5zby4yAAAAAAAEAAAAEAAAAAUAAABHTlUAAoAAwAQAAAABAAAAAAAA AAQAAAAQAAAAAQAAAEdOVQAAAAAAAwAAAAIAAAAAAAAAAwAAAAQAAAADAAAAAgAAAAAAAAAAAAAA AAAAAAEAAAAAAAAAAAAAAAEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAQAAABIAAAAAAAAAAAAAAAAAAAAAAAAABgAAABIAAAAAAAAAAAAAAAAA AAAAAAAALgAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAHB1dHMAX19saWJjX3N0YXJ0X21haW4AbGli Yy5zby42AEdMSUJDXzIuMi41AF9fZ21vbl9zdGFydF9fAAAAAAIAAgABAAAAAQABABgAAAAQAAAA AAAAAHUaaQkAAAIAIgAAAAAAAADwP0AAAAAAAAYAAAACAAAAAAAAAAAAAAD4P0AAAAAAAAYAAAAD AAAAAAAAAAAAAAAYQEAAAAAAAAcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEiD7AhIiwXt LwAASIXAdAL/0EiDxAjDAAAAAAAAAAAA/zXiLwAA/yXkLwAADx9AAP8l4i8AAGgAAAAA6eD///8x 7UmJ0V5IieJIg+TwUFRJx8DAEUAASMfBYBFAAEjHxzARQAD/FYYvAAD0Dx9EAADDZi4PH4QAAAAA AA8fRAAAuDBAQABIPTBAQAB0E7gAAAAASIXAdAm/MEBAAP/gZpDDZmYuDx+EAAAAAAAPH0AAvjBA QABIge4wQEAASInwSMHuP0jB+ANIAcZI0f50EbgAAAAASIXAdAe/MEBAAP/gw2ZmLg8fhAAAAAAA Dx9AAPMPHvqAPTUvAAAAdRNVSInl6Hr////GBSMvAAABXcOQw2ZmLg8fhAAAAAAADx9AAPMPHvrr imYuDx+EAAAAAABVSInlSIPsEMdF/AAAAABIvwQgQAAAAAAA6OL+//9Ig8QQXcNmLg8fhAAAAAAA ZpBBV0yNPZcsAABBVkmJ1kFVSYn1QVRBifxVSI0tiCwAAFNMKf1Ig+wI6HP+//9Iwf0DdBsx2w8f AEyJ8kyJ7kSJ50H/FN9Ig8MBSDnddepIg8QIW11BXEFdQV5BX8MPHwDDAAAASIPsCEiDxAjDAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAIAaGkAAAEbAzs8AAAA BgAAABjw//+YAAAAOPD//1gAAABo8P//hAAAACjx///AAAAAWPH//+AAAAC48f//KAEAAAAAAAAU AAAAAAAAAAF6UgABeBABGwwHCJABBxAQAAAAHAAAANjv//8rAAAAAAAAABQAAAAAAAAAAXpSAAF4 EAEbDAcIkAEAABAAAAAcAAAA3O///wEAAAAAAAAAJAAAADAAAAB47///IAAAAAAOEEYOGEoPC3cI gAA/GjsqMyQiAAAAABwAAABYAAAAYPD//yQAAAAAQQ4QhgJDDQZfDAcIAAAARAAAAHgAAABw8P// XQAAAABCDhCPAkkOGI4DRQ4gjQRFDiiMBUQOMIYGSA44gwdHDkBqDjhBDjBBDihCDiBCDhhCDhBC DggAEAAAAMAAAACI8P//AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACARQAAAAAAA8BBAAAAAAAABAAAAAAAA ABgAAAAAAAAADAAAAAAAAAAAEEAAAAAAAA0AAAAAAAAAxBFAAAAAAAAZAAAAAAAAAAA+QAAAAAAA GwAAAAAAAAAIAAAAAAAAABoAAAAAAAAACD5AAAAAAAAcAAAAAAAAAAgAAAAAAAAABAAAAAAAAAB4 A0AAAAAAAPX+/28AAAAAoANAAAAAAAAFAAAAAAAAACAEQAAAAAAABgAAAAAAAADAA0AAAAAAAAoA AAAAAAAAPQAAAAAAAAALAAAAAAAAABgAAAAAAAAAFQAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAEBA AAAAAAACAAAAAAAAABgAAAAAAAAAFAAAAAAAAAAHAAAAAAAAABcAAAAAAAAAuARAAAAAAAAHAAAA AAAAAIgEQAAAAAAACAAAAAAAAAAwAAAAAAAAAAkAAAAAAAAAGAAAAAAAAAD+//9vAAAAAGgEQAAA AAAA////bwAAAAABAAAAAAAAAPD//28AAAAAXgRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAED5AAAAAAAAAAAAAAAAAAAAAAAAAAAAA NhBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR0NDOiAoRGViaWFuIDExLjMuMC0zKSAxMS4zLjAAZGls ZWtzIGNsYW5nIHZlcnNpb24gMTQuMC40IChodHRwczovL2dpdGh1Yi5jb20vbGx2bS9sbHZtLXBy b2plY3QuZ2l0IDI5ZjEwMzlhNzI4NWE1YzNhOWMzNTNkMDU0MTQwYmYyNTU2ZDRjNGQpAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAQA8f8AAAAAAAAAAAAAAAAAAAAACAAAAAEAAwBYA0AA AAAAACAAAAAAAAAAEgAAAAQA8f8AAAAAAAAAAAAAAAAAAAAAHQAAAAIADgCAEEAAAAAAAAAAAAAA AAAAHwAAAAIADgCwEEAAAAAAAAAAAAAAAAAAMgAAAAIADgDwEEAAAAAAAAAAAAAAAAAASAAAAAEA GQAwQEAAAAAAAAEAAAAAAAAAVAAAAAEAFAAIPkAAAAAAAAAAAAAAAAAAewAAAAIADgAgEUAAAAAA AAAAAAAAAAAAhwAAAAEAEwAAPkAAAAAAAAAAAAAAAAAApgAAAAQA8f8AAAAAAAAAAAAAAAAAAAAA EgAAAAQA8f8AAAAAAAAAAAAAAAAAAAAAswAAAAEAEgBEIUAAAAAAAAAAAAAAAAAAAAAAAAQA8f8A AAAAAAAAAAAAAAAAAAAAwQAAAAAAEwAIPkAAAAAAAAAAAAAAAAAA0gAAAAEAFQAQPkAAAAAAAAAA AAAAAAAA2wAAAAAAEwAAPkAAAAAAAAAAAAAAAAAA7gAAAAAAEQAIIEAAAAAAAAAAAAAAAAAAAQEA AAEAFwAAQEAAAAAAAAAAAAAAAAAAFwEAABIADgDAEUAAAAAAAAEAAAAAAAAAXwEAACAAGAAgQEAA AAAAAAAAAAAAAAAAJwEAABIAAAAAAAAAAAAAAAAAAAAAAAAAOAEAABAAGAAwQEAAAAAAAAAAAAAA AAAAIQEAABICDwDEEUAAAAAAAAAAAAAAAAAAPwEAABIAAAAAAAAAAAAAAAAAAAAAAAAAXQEAABAA GAAgQEAAAAAAAAAAAAAAAAAAagEAACAAAAAAAAAAAAAAAAAAAAAAAAAAeQEAABECGAAoQEAAAAAA AAAAAAAAAAAAhgEAABEAEAAAIEAAAAAAAAQAAAAAAAAAlQEAABIADgBgEUAAAAAAAF0AAAAAAAAA zQAAABAAGQA4QEAAAAAAAAAAAAAAAAAApQEAABICDgBwEEAAAAAAAAEAAAAAAAAAYwEAABIADgBA EEAAAAAAACsAAAAAAAAAvQEAABAAGQAwQEAAAAAAAAAAAAAAAAAAyQEAABIADgAwEUAAAAAAACQA AAAAAAAAzgEAABECGAAwQEAAAAAAAAAAAAAAAAAAnwEAABICDAAAEEAAAAAAAAAAAAAAAAAAAGNy dDEubwBfX2FiaV90YWcAY3J0c3R1ZmYuYwBkZXJlZ2lzdGVyX3RtX2Nsb25lcwBfX2RvX2dsb2Jh bF9kdG9yc19hdXgAY29tcGxldGVkLjAAX19kb19nbG9iYWxfZHRvcnNfYXV4X2ZpbmlfYXJyYXlf ZW50cnkAZnJhbWVfZHVtbXkAX19mcmFtZV9kdW1teV9pbml0X2FycmF5X2VudHJ5AHRlc3QtaGVs bG8uYwBfX0ZSQU1FX0VORF9fAF9faW5pdF9hcnJheV9lbmQAX0RZTkFNSUMAX19pbml0X2FycmF5 X3N0YXJ0AF9fR05VX0VIX0ZSQU1FX0hEUgBfR0xPQkFMX09GRlNFVF9UQUJMRV8AX19saWJjX2Nz dV9maW5pAHB1dHNAR0xJQkNfMi4yLjUAX2VkYXRhAF9fbGliY19zdGFydF9tYWluQEdMSUJDXzIu Mi41AF9fZGF0YV9zdGFydABfX2dtb25fc3RhcnRfXwBfX2Rzb19oYW5kbGUAX0lPX3N0ZGluX3Vz ZWQAX19saWJjX2NzdV9pbml0AF9kbF9yZWxvY2F0ZV9zdGF0aWNfcGllAF9fYnNzX3N0YXJ0AG1h aW4AX19UTUNfRU5EX18AAC5zeW10YWIALnN0cnRhYgAuc2hzdHJ0YWIALmludGVycAAubm90ZS5n bnUucHJvcGVydHkALm5vdGUuQUJJLXRhZwAuZ251Lmhhc2gALmR5bnN5bQAuZHluc3RyAC5nbnUu dmVyc2lvbgAuZ251LnZlcnNpb25fcgAucmVsYS5keW4ALnJlbGEucGx0AC5pbml0AC50ZXh0AC5m aW5pAC5yb2RhdGEALmVoX2ZyYW1lX2hkcgAuZWhfZnJhbWUALmluaXRfYXJyYXkALmZpbmlfYXJy YXkALmR5bmFtaWMALmdvdAAuZ290LnBsdAAuZGF0YQAuYnNzAC5jb21tZW50AAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAb AAAAAQAAAAIAAAAAAAAAGANAAAAAAAAYAwAAAAAAABwAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAA AAAAAAAAIwAAAAcAAAACAAAAAAAAADgDQAAAAAAAOAMAAAAAAAAgAAAAAAAAAAAAAAAAAAAACAAA AAAAAAAAAAAAAAAAADYAAAAHAAAAAgAAAAAAAABYA0AAAAAAAFgDAAAAAAAAIAAAAAAAAAAAAAAA AAAAAAQAAAAAAAAAAAAAAAAAAABIAAAABQAAAAIAAAAAAAAAeANAAAAAAAB4AwAAAAAAACQAAAAA AAAABgAAAAAAAAAIAAAAAAAAAAQAAAAAAAAARAAAAPb//28CAAAAAAAAAKADQAAAAAAAoAMAAAAA AAAcAAAAAAAAAAYAAAAAAAAACAAAAAAAAAAAAAAAAAAAAE4AAAALAAAAAgAAAAAAAADAA0AAAAAA AMADAAAAAAAAYAAAAAAAAAAHAAAAAQAAAAgAAAAAAAAAGAAAAAAAAABWAAAAAwAAAAIAAAAAAAAA IARAAAAAAAAgBAAAAAAAAD0AAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAXgAAAP///28C AAAAAAAAAF4EQAAAAAAAXgQAAAAAAAAIAAAAAAAAAAYAAAAAAAAAAgAAAAAAAAACAAAAAAAAAGsA AAD+//9vAgAAAAAAAABoBEAAAAAAAGgEAAAAAAAAIAAAAAAAAAAHAAAAAQAAAAgAAAAAAAAAAAAA AAAAAAB6AAAABAAAAAIAAAAAAAAAiARAAAAAAACIBAAAAAAAADAAAAAAAAAABgAAAAAAAAAIAAAA AAAAABgAAAAAAAAAhAAAAAQAAABCAAAAAAAAALgEQAAAAAAAuAQAAAAAAAAYAAAAAAAAAAYAAAAX AAAACAAAAAAAAAAYAAAAAAAAAI4AAAABAAAABgAAAAAAAAAAEEAAAAAAAAAQAAAAAAAAFwAAAAAA AAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAACJAAAAAQAAAAYAAAAAAAAAIBBAAAAAAAAgEAAAAAAA ACAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAlAAAAAEAAAAGAAAAAAAAAEAQQAAAAAAA QBAAAAAAAACBAQAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAJoAAAABAAAABgAAAAAAAADE EUAAAAAAAMQRAAAAAAAACQAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAACgAAAAAQAAAAIA AAAAAAAAACBAAAAAAAAAIAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAqAAA AAEAAAACAAAAAAAAAAggQAAAAAAACCAAAAAAAAA8AAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAA AAAAALYAAAABAAAAAgAAAAAAAABIIEAAAAAAAEggAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAgAAAAA AAAAAAAAAAAAAADAAAAADgAAAAMAAAAAAAAAAD5AAAAAAAAALgAAAAAAAAgAAAAAAAAAAAAAAAAA AAAIAAAAAAAAAAgAAAAAAAAAzAAAAA8AAAADAAAAAAAAAAg+QAAAAAAACC4AAAAAAAAIAAAAAAAA AAAAAAAAAAAACAAAAAAAAAAIAAAAAAAAANgAAAAGAAAAAwAAAAAAAAAQPkAAAAAAABAuAAAAAAAA 4AEAAAAAAAAHAAAAAAAAAAgAAAAAAAAAEAAAAAAAAADhAAAAAQAAAAMAAAAAAAAA8D9AAAAAAADw LwAAAAAAABAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAgAAAAAAAAA5gAAAAEAAAADAAAAAAAAAABA QAAAAAAAADAAAAAAAAAgAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAIAAAAAAAAAO8AAAABAAAAAwAA AAAAAAAgQEAAAAAAACAwAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAD1AAAA CAAAAAMAAAAAAAAAMEBAAAAAAAAwMAAAAAAAAAgAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA AAAA+gAAAAEAAAAwAAAAAAAAAAAAAAAAAAAAMDAAAAAAAACOAAAAAAAAAAAAAAAAAAAAAQAAAAAA AAABAAAAAAAAAAEAAAACAAAAAAAAAAAAAAAAAAAAAAAAAMAwAAAAAAAAkAMAAAAAAAAcAAAAFAAA AAgAAAAAAAAAGAAAAAAAAAAJAAAAAwAAAAAAAAAAAAAAAAAAAAAAAABQNAAAAAAAANoBAAAAAAAA AAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEQAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAKjYAAAAAAAAD AQAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAA== --0000000000000ac4fd05e16fb3cd Content-Type: application/octet-stream; name="Makefile.config" Content-Disposition: attachment; filename="Makefile.config" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l4epujq91 IyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5CgppZmVxICgkKHNyYy1wZXJm KSwpCnNyYy1wZXJmIDo9ICQoc3JjdHJlZSkvdG9vbHMvcGVyZgplbmRpZgoKaWZlcSAoJChvYmot cGVyZiksKQpvYmotcGVyZiA6PSAkKE9VVFBVVCkKZW5kaWYKCmlmbmVxICgkKG9iai1wZXJmKSwp Cm9iai1wZXJmIDo9ICQoYWJzcGF0aCAkKG9iai1wZXJmKSkvCmVuZGlmCgokKHNoZWxsIHByaW50 ZiAiIiA+ICQoT1VUUFVUKS5jb25maWctZGV0ZWN0ZWQpCmRldGVjdGVkICAgICA9ICQoc2hlbGwg ZWNobyAiJCgxKT15IiAgICAgICA+PiAkKE9VVFBVVCkuY29uZmlnLWRldGVjdGVkKQpkZXRlY3Rl ZF92YXIgPSAkKHNoZWxsIGVjaG8gIiQoMSk9JCgkKDEpKSIgPj4gJChPVVRQVVQpLmNvbmZpZy1k ZXRlY3RlZCkKCkNGTEFHUyA6PSAkKEVYVFJBX0NGTEFHUykgJChmaWx0ZXItb3V0IC1XbmVzdGVk LWV4dGVybnMsJChFWFRSQV9XQVJOSU5HUykpCkhPU1RDRkxBR1MgOj0gJChmaWx0ZXItb3V0IC1X bmVzdGVkLWV4dGVybnMsJChFWFRSQV9XQVJOSU5HUykpCgppbmNsdWRlICQoc3JjdHJlZSkvdG9v bHMvc2NyaXB0cy9NYWtlZmlsZS5hcmNoCgokKGNhbGwgZGV0ZWN0ZWRfdmFyLFNSQ0FSQ0gpCgpO T19QRVJGX1JFR1MgOj0gMQoKaWZuZXEgKCQoTk9fU1lTQ0FMTF9UQUJMRSksMSkKICBOT19TWVND QUxMX1RBQkxFIDo9IDEKCiAgaWZlcSAoJChTUkNBUkNIKSx4ODYpCiAgICBpZmVxICgke0lTXzY0 X0JJVH0sIDEpCiAgICAgIE5PX1NZU0NBTExfVEFCTEUgOj0gMAogICAgZW5kaWYKICBlbHNlCiAg ICBpZmVxICgkKFNSQ0FSQ0gpLCQoZmlsdGVyICQoU1JDQVJDSCkscG93ZXJwYyBhcm02NCBzMzkw IG1pcHMpKQogICAgICBOT19TWVNDQUxMX1RBQkxFIDo9IDAKICAgIGVuZGlmCiAgZW5kaWYKCiAg aWZuZXEgKCQoTk9fU1lTQ0FMTF9UQUJMRSksMSkKICAgIENGTEFHUyArPSAtREhBVkVfU1lTQ0FM TF9UQUJMRV9TVVBQT1JUCiAgZW5kaWYKZW5kaWYKCiMgQWRkaXRpb25hbCBBUkNIIHNldHRpbmdz IGZvciBwcGMKaWZlcSAoJChTUkNBUkNIKSxwb3dlcnBjKQogIE5PX1BFUkZfUkVHUyA6PSAwCiAg Q0ZMQUdTICs9IC1JJChPVVRQVVQpYXJjaC9wb3dlcnBjL2luY2x1ZGUvZ2VuZXJhdGVkCiAgTElC VU5XSU5EX0xJQlMgOj0gLWx1bndpbmQgLWx1bndpbmQtcHBjNjQKZW5kaWYKCiMgQWRkaXRpb25h bCBBUkNIIHNldHRpbmdzIGZvciB4ODYKaWZlcSAoJChTUkNBUkNIKSx4ODYpCiAgJChjYWxsIGRl dGVjdGVkLENPTkZJR19YODYpCiAgaWZlcSAoJHtJU182NF9CSVR9LCAxKQogICAgQ0ZMQUdTICs9 IC1ESEFWRV9BUkNIX1g4Nl82NF9TVVBQT1JUIC1JJChPVVRQVVQpYXJjaC94ODYvaW5jbHVkZS9n ZW5lcmF0ZWQKICAgIEFSQ0hfSU5DTFVERSA9IC4uLy4uL2FyY2gveDg2L2xpYi9tZW1jcHlfNjQu UyAuLi8uLi9hcmNoL3g4Ni9saWIvbWVtc2V0XzY0LlMKICAgIExJQlVOV0lORF9MSUJTID0gLWx1 bndpbmQteDg2XzY0IC1sdW53aW5kIC1sbHptYQogICAgJChjYWxsIGRldGVjdGVkLENPTkZJR19Y ODZfNjQpCiAgZWxzZQogICAgTElCVU5XSU5EX0xJQlMgPSAtbHVud2luZC14ODYgLWxsem1hIC1s dW53aW5kCiAgZW5kaWYKICBOT19QRVJGX1JFR1MgOj0gMAplbmRpZgoKaWZlcSAoJChTUkNBUkNI KSxhcm0pCiAgTk9fUEVSRl9SRUdTIDo9IDAKICBMSUJVTldJTkRfTElCUyA9IC1sdW53aW5kIC1s dW53aW5kLWFybQplbmRpZgoKaWZlcSAoJChTUkNBUkNIKSxhcm02NCkKICBOT19QRVJGX1JFR1Mg Oj0gMAogIENGTEFHUyArPSAtSSQoT1VUUFVUKWFyY2gvYXJtNjQvaW5jbHVkZS9nZW5lcmF0ZWQK ICBMSUJVTldJTkRfTElCUyA9IC1sdW53aW5kIC1sdW53aW5kLWFhcmNoNjQKZW5kaWYKCmlmZXEg KCQoU1JDQVJDSCkscmlzY3YpCiAgTk9fUEVSRl9SRUdTIDo9IDAKZW5kaWYKCmlmZXEgKCQoU1JD QVJDSCksY3NreSkKICBOT19QRVJGX1JFR1MgOj0gMAplbmRpZgoKaWZlcSAoJChBUkNIKSxzMzkw KQogIE5PX1BFUkZfUkVHUyA6PSAwCiAgQ0ZMQUdTICs9IC1mUElDIC1JJChPVVRQVVQpYXJjaC9z MzkwL2luY2x1ZGUvZ2VuZXJhdGVkCmVuZGlmCgppZmVxICgkKEFSQ0gpLG1pcHMpCiAgTk9fUEVS Rl9SRUdTIDo9IDAKICBDRkxBR1MgKz0gLUkkKE9VVFBVVClhcmNoL21pcHMvaW5jbHVkZS9nZW5l cmF0ZWQKICBMSUJVTldJTkRfTElCUyA9IC1sdW53aW5kIC1sdW53aW5kLW1pcHMKZW5kaWYKCmlm ZXEgKCQoTk9fUEVSRl9SRUdTKSwwKQogICQoY2FsbCBkZXRlY3RlZCxDT05GSUdfUEVSRl9SRUdT KQplbmRpZgoKIyBTbyBmYXIgdGhlcmUncyBvbmx5IHg4NiBhbmQgYXJtIGxpYmR3IHVud2luZCBz dXBwb3J0IG1lcmdlZCBpbiBwZXJmLgojIERpc2FibGUgaXQgb24gYWxsIG90aGVyIGFyY2hpdGVj dHVyZXMgaW4gY2FzZSBsaWJkdyB1bndpbmQKIyBzdXBwb3J0IGlzIGRldGVjdGVkIGluIHN5c3Rl bS4gQWRkIHN1cHBvcnRlZCBhcmNoaXRlY3R1cmVzCiMgdG8gdGhlIGNoZWNrLgppZm5lcSAoJChT UkNBUkNIKSwkKGZpbHRlciAkKFNSQ0FSQ0gpLHg4NiBhcm0gYXJtNjQgcG93ZXJwYyBzMzkwIGNz a3kgcmlzY3YpKQogIE5PX0xJQkRXX0RXQVJGX1VOV0lORCA6PSAxCmVuZGlmCgppZmVxICgkKExJ QlVOV0lORF9MSUJTKSwpCiAgTk9fTElCVU5XSU5EIDo9IDEKZW5kaWYKIwojIEZvciBsaW5raW5n IHdpdGggZGVidWcgbGlicmFyeSwgcnVuIGxpa2U6CiMKIyAgIG1ha2UgREVCVUc9MSBMSUJVTldJ TkRfRElSPS9vcHQvbGlidW53aW5kLwojCgpsaWJ1bndpbmRfYXJjaF9zZXRfZmxhZ3MgPSAkKGV2 YWwgJChsaWJ1bndpbmRfYXJjaF9zZXRfZmxhZ3NfY29kZSkpCmRlZmluZSBsaWJ1bndpbmRfYXJj aF9zZXRfZmxhZ3NfY29kZQogIEZFQVRVUkVfQ0hFQ0tfQ0ZMQUdTLWxpYnVud2luZC0kKDEpICA9 IC1JJChMSUJVTldJTkRfRElSKS9pbmNsdWRlCiAgRkVBVFVSRV9DSEVDS19MREZMQUdTLWxpYnVu d2luZC0kKDEpID0gLUwkKExJQlVOV0lORF9ESVIpL2xpYgplbmRlZgoKaWZkZWYgTElCVU5XSU5E X0RJUgogIExJQlVOV0lORF9DRkxBR1MgID0gLUkkKExJQlVOV0lORF9ESVIpL2luY2x1ZGUKICBM SUJVTldJTkRfTERGTEFHUyA9IC1MJChMSUJVTldJTkRfRElSKS9saWIKICBMSUJVTldJTkRfQVJD SFMgPSB4ODYgeDg2XzY0IGFybSBhYXJjaDY0IGRlYnVnLWZyYW1lLWFybSBkZWJ1Zy1mcmFtZS1h YXJjaDY0CiAgJChmb3JlYWNoIGxpYnVud2luZF9hcmNoLCQoTElCVU5XSU5EX0FSQ0hTKSwkKGNh bGwgbGlidW53aW5kX2FyY2hfc2V0X2ZsYWdzLCQobGlidW53aW5kX2FyY2gpKSkKZW5kaWYKCiMg U2V0IHBlci1mZWF0dXJlIGNoZWNrIGNvbXBpbGF0aW9uIGZsYWdzCkZFQVRVUkVfQ0hFQ0tfQ0ZM QUdTLWxpYnVud2luZCA9ICQoTElCVU5XSU5EX0NGTEFHUykKRkVBVFVSRV9DSEVDS19MREZMQUdT LWxpYnVud2luZCA9ICQoTElCVU5XSU5EX0xERkxBR1MpICQoTElCVU5XSU5EX0xJQlMpCkZFQVRV UkVfQ0hFQ0tfQ0ZMQUdTLWxpYnVud2luZC1kZWJ1Zy1mcmFtZSA9ICQoTElCVU5XSU5EX0NGTEFH UykKRkVBVFVSRV9DSEVDS19MREZMQUdTLWxpYnVud2luZC1kZWJ1Zy1mcmFtZSA9ICQoTElCVU5X SU5EX0xERkxBR1MpICQoTElCVU5XSU5EX0xJQlMpCgpGRUFUVVJFX0NIRUNLX0xERkxBR1MtbGli dW53aW5kLWFybSArPSAtbHVud2luZCAtbHVud2luZC1hcm0KRkVBVFVSRV9DSEVDS19MREZMQUdT LWxpYnVud2luZC1hYXJjaDY0ICs9IC1sdW53aW5kIC1sdW53aW5kLWFhcmNoNjQKRkVBVFVSRV9D SEVDS19MREZMQUdTLWxpYnVud2luZC14ODYgKz0gLWx1bndpbmQgLWxsem1hIC1sdW53aW5kLXg4 NgpGRUFUVVJFX0NIRUNLX0xERkxBR1MtbGlidW53aW5kLXg4Nl82NCArPSAtbHVud2luZCAtbGx6 bWEgLWx1bndpbmQteDg2XzY0CgpGRUFUVVJFX0NIRUNLX0xERkxBR1MtbGliY3J5cHRvID0gLWxj cnlwdG8KRkVBVFVSRV9DSEVDS19MREZMQUdTLWxpYmNyeXB0byArPSAtRE9QRU5TU0xfQVBJX0NP TVBBVD0weDEwMTAwMDAwTAoKaWZkZWYgQ1NJTkNMVURFUwogIExJQk9QRU5DU0RfQ0ZMQUdTIDo9 IC1JJChDU0lOQ0xVREVTKQplbmRpZgpPUEVOQ1NETElCUyA6PSAtbG9wZW5jc2RfY19hcGkKaWZl cSAoJChmaW5kc3RyaW5nIC1zdGF0aWMsJHtMREZMQUdTfSksLXN0YXRpYykKICBPUEVOQ1NETElC UyArPSAtbG9wZW5jc2QgLWxzdGRjKysKZW5kaWYKaWZkZWYgQ1NMSUJTCiAgTElCT1BFTkNTRF9M REZMQUdTIDo9IC1MJChDU0xJQlMpCmVuZGlmCkZFQVRVUkVfQ0hFQ0tfQ0ZMQUdTLWxpYm9wZW5j c2QgOj0gJChMSUJPUEVOQ1NEX0NGTEFHUykKRkVBVFVSRV9DSEVDS19MREZMQUdTLWxpYm9wZW5j c2QgOj0gJChMSUJPUEVOQ1NEX0xERkxBR1MpICQoT1BFTkNTRExJQlMpCgppZmVxICgkKE5PX1BF UkZfUkVHUyksMCkKICBDRkxBR1MgKz0gLURIQVZFX1BFUkZfUkVHU19TVVBQT1JUCmVuZGlmCgoj IGZvciBsaW5raW5nIHdpdGggZGVidWcgbGlicmFyeSwgcnVuIGxpa2U6CiMgbWFrZSBERUJVRz0x IExJQkRXX0RJUj0vb3B0L2xpYmR3LwppZmRlZiBMSUJEV19ESVIKICBMSUJEV19DRkxBR1MgIDo9 IC1JJChMSUJEV19ESVIpL2luY2x1ZGUKICBMSUJEV19MREZMQUdTIDo9IC1MJChMSUJEV19ESVIp L2xpYgplbmRpZgpEV0FSRkxJQlMgOj0gLWxkdwppZmVxICgkKGZpbmRzdHJpbmcgLXN0YXRpYywk e0xERkxBR1N9KSwtc3RhdGljKQogIERXQVJGTElCUyArPSAtbGVsZiAtbGVibCAtbGRsIC1seiAt bGx6bWEgLWxiejIKZW5kaWYKRkVBVFVSRV9DSEVDS19DRkxBR1MtbGliZHctZHdhcmYtdW53aW5k IDo9ICQoTElCRFdfQ0ZMQUdTKQpGRUFUVVJFX0NIRUNLX0xERkxBR1MtbGliZHctZHdhcmYtdW53 aW5kIDo9ICQoTElCRFdfTERGTEFHUykgJChEV0FSRkxJQlMpCgojIGZvciBsaW5raW5nIHdpdGgg ZGVidWcgbGlicmFyeSwgcnVuIGxpa2U6CiMgbWFrZSBERUJVRz0xIExJQkJBQkVMVFJBQ0VfRElS PS9vcHQvbGliYmFiZWx0cmFjZS8KaWZkZWYgTElCQkFCRUxUUkFDRV9ESVIKICBMSUJCQUJFTFRS QUNFX0NGTEFHUyAgOj0gLUkkKExJQkJBQkVMVFJBQ0VfRElSKS9pbmNsdWRlCiAgTElCQkFCRUxU UkFDRV9MREZMQUdTIDo9IC1MJChMSUJCQUJFTFRSQUNFX0RJUikvbGliCmVuZGlmCkZFQVRVUkVf Q0hFQ0tfQ0ZMQUdTLWxpYmJhYmVsdHJhY2UgOj0gJChMSUJCQUJFTFRSQUNFX0NGTEFHUykKRkVB VFVSRV9DSEVDS19MREZMQUdTLWxpYmJhYmVsdHJhY2UgOj0gJChMSUJCQUJFTFRSQUNFX0xERkxB R1MpIC1sYmFiZWx0cmFjZS1jdGYKCmlmZGVmIExJQlpTVERfRElSCiAgTElCWlNURF9DRkxBR1Mg IDo9IC1JJChMSUJaU1REX0RJUikvbGliCiAgTElCWlNURF9MREZMQUdTIDo9IC1MJChMSUJaU1RE X0RJUikvbGliCmVuZGlmCkZFQVRVUkVfQ0hFQ0tfQ0ZMQUdTLWxpYnpzdGQgOj0gJChMSUJaU1RE X0NGTEFHUykKRkVBVFVSRV9DSEVDS19MREZMQUdTLWxpYnpzdGQgOj0gJChMSUJaU1REX0xERkxB R1MpCgpGRUFUVVJFX0NIRUNLX0NGTEFHUy1icGYgPSAtSS4gLUkkKHNyY3RyZWUpL3Rvb2xzL2lu Y2x1ZGUgLUkkKHNyY3RyZWUpL3Rvb2xzL2FyY2gvJChTUkNBUkNIKS9pbmNsdWRlL3VhcGkgLUkk KHNyY3RyZWUpL3Rvb2xzL2luY2x1ZGUvdWFwaQojIGluY2x1ZGUgQVJDSCBzcGVjaWZpYyBjb25m aWcKLWluY2x1ZGUgJChzcmMtcGVyZikvYXJjaC8kKFNSQ0FSQ0gpL01ha2VmaWxlCgppZmRlZiBQ RVJGX0hBVkVfQVJDSF9SRUdTX1FVRVJZX1JFR0lTVEVSX09GRlNFVAogIENGTEFHUyArPSAtREhB VkVfQVJDSF9SRUdTX1FVRVJZX1JFR0lTVEVSX09GRlNFVAplbmRpZgoKaW5jbHVkZSAkKHNyY3Ry ZWUpL3Rvb2xzL3NjcmlwdHMvdXRpbGl0aWVzLm1hawoKaWZlcSAoJChjYWxsIGdldC1leGVjdXRh YmxlLCQoRkxFWCkpLCkKICBkdW1teSA6PSAkKGVycm9yIEVycm9yOiAkKEZMRVgpIGlzIG1pc3Np bmcgb24gdGhpcyBzeXN0ZW0sIHBsZWFzZSBpbnN0YWxsIGl0KQplbmRpZgoKaWZlcSAoJChjYWxs IGdldC1leGVjdXRhYmxlLCQoQklTT04pKSwpCiAgZHVtbXkgOj0gJChlcnJvciBFcnJvcjogJChC SVNPTikgaXMgbWlzc2luZyBvbiB0aGlzIHN5c3RlbSwgcGxlYXNlIGluc3RhbGwgaXQpCmVuZGlm CgppZm5lcSAoJChPVVRQVVQpLCkKICBpZmVxICgkKHNoZWxsIGV4cHIgJChzaGVsbCAkKEJJU09O KSAtLXZlcnNpb24gfCBncmVwIGJpc29uIHwgc2VkIC1lICdzLy5cKyBcKFswLTldXCtcKS5cKFsw LTldXCtcKS5cKFswLTldXCtcKS9cMVwyXDMvZycpIFw+XD0gMzcxKSwgMSkKICAgIEJJU09OX0ZJ TEVfUFJFRklYX01BUCA6PSAtLWZpbGUtcHJlZml4LW1hcD0kKE9VVFBVVCk9CiAgZW5kaWYKZW5k aWYKCiMgVHJlYXQgd2FybmluZ3MgYXMgZXJyb3JzIHVubGVzcyBkaXJlY3RlZCBub3QgdG8KaWZu ZXEgKCQoV0VSUk9SKSwwKQogIENPUkVfQ0ZMQUdTICs9IC1XZXJyb3IKICBDWFhGTEFHUyArPSAt V2Vycm9yCiAgSE9TVENGTEFHUyArPSAtV2Vycm9yCmVuZGlmCgppZm5kZWYgREVCVUcKICBERUJV RyA6PSAwCmVuZGlmCgppZmVxICgkKERFQlVHKSwwKQppZmVxICgkKENDX05PX0NMQU5HKSwgMCkK ICBDT1JFX0NGTEFHUyArPSAtTzMKZWxzZQogIENPUkVfQ0ZMQUdTICs9IC1PNgplbmRpZgplbmRp ZgoKaWZkZWYgUEFSU0VSX0RFQlVHCiAgUEFSU0VSX0RFQlVHX0JJU09OIDo9IC10CiAgUEFSU0VS X0RFQlVHX0ZMRVggIDo9IC1kCiAgQ0ZMQUdTICAgICAgICAgICAgICs9IC1EUEFSU0VSX0RFQlVH CiAgJChjYWxsIGRldGVjdGVkX3ZhcixQQVJTRVJfREVCVUdfQklTT04pCiAgJChjYWxsIGRldGVj dGVkX3ZhcixQQVJTRVJfREVCVUdfRkxFWCkKZW5kaWYKCiMgVHJ5IGRpZmZlcmVudCBjb21iaW5h dGlvbnMgdG8gYWNjb21tb2RhdGUgc3lzdGVtcyB0aGF0IG9ubHkgaGF2ZQojIHB5dGhvblsyXVsz XS1jb25maWcgaW4gd2VpcmQgY29tYmluYXRpb25zIGluIHRoZSBmb2xsb3dpbmcgb3JkZXIgb2YK IyBwcmlvcml0eSBmcm9tIGxvd2VzdCB0byBoaWdoZXN0OgojICAgKiBweXRob24zLWNvbmZpZwoj ICAgKiBweXRob24tY29uZmlnCiMgICAqIHB5dGhvbjItY29uZmlnIGFzIHBlciBwZXAtMDM5NC4K IyAgICogJChQWVRIT04pLWNvbmZpZyAoSWYgUFlUSE9OIGlzIHVzZXIgc3VwcGxpZWQgYnV0IFBZ VEhPTl9DT05GSUcgaXNuJ3QpCiMKUFlUSE9OX0FVVE8gOj0gcHl0aG9uLWNvbmZpZwpQWVRIT05f QVVUTyA6PSAkKGlmICQoY2FsbCBnZXQtZXhlY3V0YWJsZSxweXRob24zLWNvbmZpZykscHl0aG9u My1jb25maWcsJChQWVRIT05fQVVUTykpClBZVEhPTl9BVVRPIDo9ICQoaWYgJChjYWxsIGdldC1l eGVjdXRhYmxlLHB5dGhvbi1jb25maWcpLHB5dGhvbi1jb25maWcsJChQWVRIT05fQVVUTykpClBZ VEhPTl9BVVRPIDo9ICQoaWYgJChjYWxsIGdldC1leGVjdXRhYmxlLHB5dGhvbjItY29uZmlnKSxw eXRob24yLWNvbmZpZywkKFBZVEhPTl9BVVRPKSkKCiMgSWYgUFlUSE9OIGlzIGRlZmluZWQgYnV0 IFBZVEhPTl9DT05GSUcgaXNuJ3QsIHRoZW4gdGFrZSAkKFBZVEhPTiktY29uZmlnIGFzIGlmIGl0 IHdhcyB0aGUgdXNlcgojIHN1cHBsaWVkIHZhbHVlIGZvciBQWVRIT05fQ09ORklHLiBCZWNhdXNl IGl0J3MgInVzZXIgc3VwcGxpZWQiLCBlcnJvciBvdXQgaWYgaXQgZG9lc24ndCBleGlzdC4KaWZk ZWYgUFlUSE9OCiAgaWZuZGVmIFBZVEhPTl9DT05GSUcKICAgIFBZVEhPTl9DT05GSUdfQVVUTyA6 PSAkKGNhbGwgZ2V0LWV4ZWN1dGFibGUsJChQWVRIT04pLWNvbmZpZykKICAgIFBZVEhPTl9DT05G SUcgOj0gJChpZiAkKFBZVEhPTl9DT05GSUdfQVVUTyksJChQWVRIT05fQ09ORklHX0FVVE8pLFwK ICAgICAgICAgICAgICAgICAgICAgICAgICAkKGNhbGwgJChlcnJvciAkKFBZVEhPTiktY29uZmln IG5vdCBmb3VuZCkpKQogIGVuZGlmCmVuZGlmCgojIFNlbGVjdCBlaXRoZXIgYXV0byBkZXRlY3Rl ZCBweXRob24gYW5kIHB5dGhvbi1jb25maWcgb3IgdXNlIHVzZXIgc3VwcGxpZWQgdmFsdWVzIGlm IHRoZXkgYXJlCiMgZGVmaW5lZC4gZ2V0LWV4ZWN1dGFibGUtb3ItZGVmYXVsdCBmYWlscyB3aXRo IGFuIGVycm9yIGlmIHRoZSBmaXJzdCBhcmd1bWVudCBpcyBzdXBwbGllZCBidXQKIyBkb2Vzbid0 IGV4aXN0LgpvdmVycmlkZSBQWVRIT05fQ09ORklHIDo9ICQoY2FsbCBnZXQtZXhlY3V0YWJsZS1v ci1kZWZhdWx0LFBZVEhPTl9DT05GSUcsJChQWVRIT05fQVVUTykpCm92ZXJyaWRlIFBZVEhPTiA6 PSAkKGNhbGwgZ2V0LWV4ZWN1dGFibGUtb3ItZGVmYXVsdCxQWVRIT04sJChzdWJzdCAtY29uZmln LCwkKFBZVEhPTl9BVVRPKSkpCgpncmVwLWxpYnMgID0gJChmaWx0ZXIgLWwlLCQoMSkpCnN0cmlw LWxpYnMgID0gJChmaWx0ZXItb3V0IC1sJSwkKDEpKQoKUFlUSE9OX0NPTkZJR19TUSA6PSAkKGNh bGwgc2hlbGwtc3EsJChQWVRIT05fQ09ORklHKSkKCiMgUHl0aG9uIDMuOCBjaGFuZ2VkIHRoZSBv dXRwdXQgb2YgYHB5dGhvbi1jb25maWcgLS1sZGZsYWdzYCB0byBub3QgaW5jbHVkZSB0aGUKIyAn LWxweXRob25YLlknIGZsYWcgdW5sZXNzICctLWVtYmVkJyBpcyBhbHNvIHBhc3NlZC4gVGhlIGZl YXR1cmUgY2hlY2sgZm9yCiMgbGlicHl0aG9uIGZhaWxzIGlmIHRoYXQgZmxhZyBpcyBub3QgaW5j bHVkZWQgaW4gTERGTEFHUwppZmVxICgkKHNoZWxsICQoUFlUSE9OX0NPTkZJR19TUSkgLS1sZGZs YWdzIC0tZW1iZWQgMj4mMSAxPi9kZXYvbnVsbDsgZWNobyAkJD8pLCAwKQogIFBZVEhPTl9DT05G SUdfTERGTEFHUyA6PSAtLWxkZmxhZ3MgLS1lbWJlZAplbHNlCiAgUFlUSE9OX0NPTkZJR19MREZM QUdTIDo9IC0tbGRmbGFncwplbmRpZgoKaWZkZWYgUFlUSE9OX0NPTkZJRwogIFBZVEhPTl9FTUJF RF9MRE9QVFMgOj0gJChzaGVsbCAkKFBZVEhPTl9DT05GSUdfU1EpICQoUFlUSE9OX0NPTkZJR19M REZMQUdTKSAyPi9kZXYvbnVsbCkKICBQWVRIT05fRU1CRURfTERGTEFHUyA6PSAkKGNhbGwgc3Ry aXAtbGlicywkKFBZVEhPTl9FTUJFRF9MRE9QVFMpKQogIFBZVEhPTl9FTUJFRF9MSUJBREQgOj0g JChjYWxsIGdyZXAtbGlicywkKFBZVEhPTl9FTUJFRF9MRE9QVFMpKSAtbHV0aWwKICBQWVRIT05f RU1CRURfQ0NPUFRTIDo9ICQoc2hlbGwgJChQWVRIT05fQ09ORklHX1NRKSAtLWluY2x1ZGVzIDI+ L2Rldi9udWxsKQogIEZMQUdTX1BZVEhPTl9FTUJFRCA6PSAkKFBZVEhPTl9FTUJFRF9DQ09QVFMp ICQoUFlUSE9OX0VNQkVEX0xET1BUUykKICBpZmVxICgkKENDX05PX0NMQU5HKSwgMCkKICAgIFBZ VEhPTl9FTUJFRF9DQ09QVFMgOj0gJChmaWx0ZXItb3V0IC1mZmF0LWx0by1vYmplY3RzLCAkKFBZ VEhPTl9FTUJFRF9DQ09QVFMpKQogIGVuZGlmCmVuZGlmCgpGRUFUVVJFX0NIRUNLX0NGTEFHUy1s aWJweXRob24gOj0gJChQWVRIT05fRU1CRURfQ0NPUFRTKQpGRUFUVVJFX0NIRUNLX0xERkxBR1Mt bGlicHl0aG9uIDo9ICQoUFlUSE9OX0VNQkVEX0xET1BUUykKCkZFQVRVUkVfQ0hFQ0tfTERGTEFH Uy1saWJhaW8gPSAtbHJ0CgpGRUFUVVJFX0NIRUNLX0xERkxBR1MtZGlzYXNzZW1ibGVyLWZvdXIt YXJncyA9IC1sYmZkIC1sb3Bjb2RlcyAtbGRsCgpDT1JFX0NGTEFHUyArPSAtZm5vLW9taXQtZnJh bWUtcG9pbnRlcgpDT1JFX0NGTEFHUyArPSAtZ2dkYjMKQ09SRV9DRkxBR1MgKz0gLWZ1bndpbmQt dGFibGVzCkNPUkVfQ0ZMQUdTICs9IC1XYWxsCkNPUkVfQ0ZMQUdTICs9IC1XZXh0cmEKQ09SRV9D RkxBR1MgKz0gLXN0ZD1nbnUxMQoKQ1hYRkxBR1MgKz0gLXN0ZD1nbnUrKzE0IC1mbm8tZXhjZXB0 aW9ucyAtZm5vLXJ0dGkKQ1hYRkxBR1MgKz0gLVdhbGwKQ1hYRkxBR1MgKz0gLWZuby1vbWl0LWZy YW1lLXBvaW50ZXIKQ1hYRkxBR1MgKz0gLWdnZGIzCkNYWEZMQUdTICs9IC1mdW53aW5kLXRhYmxl cwpDWFhGTEFHUyArPSAtV25vLXN0cmljdC1hbGlhc2luZwoKSE9TVENGTEFHUyArPSAtV2FsbApI T1NUQ0ZMQUdTICs9IC1XZXh0cmEKCiMgRW5mb3JjZSBhIG5vbi1leGVjdXRhYmxlIHN0YWNrLCBh cyB3ZSBtYXkgcmVncmVzcyAoYWdhaW4pIGluIHRoZSBmdXR1cmUgYnkKIyBhZGRpbmcgYXNzZW1i bGVyIGZpbGVzIG1pc3NpbmcgdGhlIC5HTlUtc3RhY2sgbGlua2VyIG5vdGUuCkxERkxBR1MgKz0g LVdsLC16LG5vZXhlY3N0YWNrCgpFWFRMSUJTID0gLWxwdGhyZWFkIC1scnQgLWxtIC1sZGwKCmlm bmVxICgkKFRDTUFMTE9DKSwpCiAgQ0ZMQUdTICs9IC1mbm8tYnVpbHRpbi1tYWxsb2MgLWZuby1i dWlsdGluLWNhbGxvYyAtZm5vLWJ1aWx0aW4tcmVhbGxvYyAtZm5vLWJ1aWx0aW4tZnJlZQogIEVY VExJQlMgKz0gLWx0Y21hbGxvYwplbmRpZgoKaWZlcSAoJChGRUFUVVJFU19EVU1QKSwpCiMgV2Ug d2lsbCBkaXNwbGF5IGF0IHRoZSBlbmQgb2YgdGhpcyBNYWtlZmlsZS5jb25maWcsIHVzaW5nICQo Y2FsbCBmZWF0dXJlX2Rpc3BsYXlfZW50cmllcykKIyBBcyB3ZSBtYXkgcmV0cnkgc29tZSBmZWF0 dXJlIGRldGVjdGlvbiBoZXJlLCBzZWUgdGhlIGRpc2Fzc2VtYmxlci1mb3VyLWFyZ3MgY2FzZSwg Zm9yIGluc3RhbmNlCiAgRkVBVFVSRV9ESVNQTEFZX0RFRkVSUkVEIDo9IDEKaW5jbHVkZSAkKHNy Y3RyZWUpL3Rvb2xzL2J1aWxkL01ha2VmaWxlLmZlYXR1cmUKZWxzZQppbmNsdWRlICQoRkVBVFVS RVNfRFVNUCkKZW5kaWYKCmlmZXEgKCQoZmVhdHVyZS1zdGFja3Byb3RlY3Rvci1hbGwpLCAxKQog IENPUkVfQ0ZMQUdTICs9IC1mc3RhY2stcHJvdGVjdG9yLWFsbAplbmRpZgoKaWZlcSAoJChERUJV RyksMCkKICBpZmVxICgkKGZlYXR1cmUtZm9ydGlmeS1zb3VyY2UpLCAxKQogICAgQ09SRV9DRkxB R1MgKz0gLURfRk9SVElGWV9TT1VSQ0U9MgogIGVuZGlmCmVuZGlmCgpJTkNfRkxBR1MgKz0gLUkk KHNyY3RyZWUpL3Rvb2xzL2xpYi9wZXJmL2luY2x1ZGUKSU5DX0ZMQUdTICs9IC1JJChzcmMtcGVy ZikvdXRpbC9pbmNsdWRlCklOQ19GTEFHUyArPSAtSSQoc3JjLXBlcmYpL2FyY2gvJChTUkNBUkNI KS9pbmNsdWRlCklOQ19GTEFHUyArPSAtSSQoc3JjdHJlZSkvdG9vbHMvaW5jbHVkZS8KSU5DX0ZM QUdTICs9IC1JJChzcmN0cmVlKS90b29scy9hcmNoLyQoU1JDQVJDSCkvaW5jbHVkZS91YXBpCklO Q19GTEFHUyArPSAtSSQoc3JjdHJlZSkvdG9vbHMvaW5jbHVkZS91YXBpCklOQ19GTEFHUyArPSAt SSQoc3JjdHJlZSkvdG9vbHMvYXJjaC8kKFNSQ0FSQ0gpL2luY2x1ZGUvCklOQ19GTEFHUyArPSAt SSQoc3JjdHJlZSkvdG9vbHMvYXJjaC8kKFNSQ0FSQ0gpLwoKIyAkKG9iai1wZXJmKSAgICAgIGZv ciBnZW5lcmF0ZWQgY29tbW9uLWNtZHMuaAojICQob2JqLXBlcmYpL3V0aWwgZm9yIGdlbmVyYXRl ZCBiaXNvbi9mbGV4IGhlYWRlcnMKaWZuZXEgKCQoT1VUUFVUKSwpCklOQ19GTEFHUyArPSAtSSQo b2JqLXBlcmYpL3V0aWwKSU5DX0ZMQUdTICs9IC1JJChvYmotcGVyZikKZW5kaWYKCklOQ19GTEFH UyArPSAtSSQoc3JjLXBlcmYpL3V0aWwKSU5DX0ZMQUdTICs9IC1JJChzcmMtcGVyZikKSU5DX0ZM QUdTICs9IC1JJChzcmN0cmVlKS90b29scy9saWIvCgpDT1JFX0NGTEFHUyArPSAtRF9MQVJHRUZJ TEU2NF9TT1VSQ0UgLURfRklMRV9PRkZTRVRfQklUUz02NCAtRF9HTlVfU09VUkNFCgpDRkxBR1Mg ICArPSAkKENPUkVfQ0ZMQUdTKSAkKElOQ19GTEFHUykKQ1hYRkxBR1MgKz0gJChJTkNfRkxBR1Mp CgpMSUJQRVJGX0NGTEFHUyA6PSAkKENPUkVfQ0ZMQUdTKSAkKEVYVFJBX0NGTEFHUykKCmlmZXEg KCQoZmVhdHVyZS1wdGhyZWFkLWF0dHItc2V0YWZmaW5pdHktbnApLCAxKQogIENGTEFHUyArPSAt REhBVkVfUFRIUkVBRF9BVFRSX1NFVEFGRklOSVRZX05QCmVuZGlmCgppZmVxICgkKGZlYXR1cmUt cHRocmVhZC1iYXJyaWVyKSwgMSkKICBDRkxBR1MgKz0gLURIQVZFX1BUSFJFQURfQkFSUklFUgpl bmRpZgoKaWZuZGVmIE5PX0JJT05JQwogICQoY2FsbCBmZWF0dXJlX2NoZWNrLGJpb25pYykKICBp ZmVxICgkKGZlYXR1cmUtYmlvbmljKSwgMSkKICAgIEJJT05JQyA6PSAxCiAgICBDRkxBR1MgKz0g LURMQUNLU19TSUdRVUVVRV9QUk9UT1RZUEUKICAgIENGTEFHUyArPSAtRExBQ0tTX09QRU5fTUVN U1RSRUFNX1BST1RPVFlQRQogICAgRVhUTElCUyA6PSAkKGZpbHRlci1vdXQgLWxydCwkKEVYVExJ QlMpKQogICAgRVhUTElCUyA6PSAkKGZpbHRlci1vdXQgLWxwdGhyZWFkLCQoRVhUTElCUykpCiAg ZW5kaWYKZW5kaWYKCmlmZXEgKCQoZmVhdHVyZS1ldmVudGZkKSwgMSkKICBDRkxBR1MgKz0gLURI QVZFX0VWRU5URkRfU1VQUE9SVAplbmRpZgoKaWZlcSAoJChmZWF0dXJlLWdldF9jdXJyZW50X2Rp cl9uYW1lKSwgMSkKICBDRkxBR1MgKz0gLURIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FCmVuZGlm CgppZmVxICgkKGZlYXR1cmUtZ2V0dGlkKSwgMSkKICBDRkxBR1MgKz0gLURIQVZFX0dFVFRJRApl bmRpZgoKaWZlcSAoJChmZWF0dXJlLWZpbGUtaGFuZGxlKSwgMSkKICBDRkxBR1MgKz0gLURIQVZF X0ZJTEVfSEFORExFCmVuZGlmCgppZmRlZiBOT19MSUJFTEYKICBOT19EV0FSRiA6PSAxCiAgTk9f REVNQU5HTEUgOj0gMQogIE5PX0xJQlVOV0lORCA6PSAxCiAgTk9fTElCRFdfRFdBUkZfVU5XSU5E IDo9IDEKICBOT19MSUJCUEYgOj0gMQogIE5PX0pWTVRJIDo9IDEKZWxzZQogIGlmZXEgKCQoZmVh dHVyZS1saWJlbGYpLCAwKQogICAgaWZlcSAoJChmZWF0dXJlLWdsaWJjKSwgMSkKICAgICAgTElC Q19TVVBQT1JUIDo9IDEKICAgIGVuZGlmCiAgICBpZmVxICgkKEJJT05JQyksMSkKICAgICAgTElC Q19TVVBQT1JUIDo9IDEKICAgIGVuZGlmCiAgICBpZmVxICgkKExJQkNfU1VQUE9SVCksMSkKICAg ICAgbXNnIDo9ICQod2FybmluZyBObyBsaWJlbGYgZm91bmQuIERpc2FibGVzICdwcm9iZScgdG9v bCwganZtdGkgYW5kIEJQRiBzdXBwb3J0IGluICdwZXJmIHJlY29yZCcuIFBsZWFzZSBpbnN0YWxs IGxpYmVsZi1kZXYsIGxpYmVsZi1kZXZlbCBvciBlbGZ1dGlscy1saWJlbGYtZGV2ZWwpOwoKICAg ICAgTk9fTElCRUxGIDo9IDEKICAgICAgTk9fRFdBUkYgOj0gMQogICAgICBOT19ERU1BTkdMRSA6 PSAxCiAgICAgIE5PX0xJQlVOV0lORCA6PSAxCiAgICAgIE5PX0xJQkRXX0RXQVJGX1VOV0lORCA6 PSAxCiAgICAgIE5PX0xJQkJQRiA6PSAxCiAgICAgIE5PX0pWTVRJIDo9IDEKICAgIGVsc2UKICAg ICAgaWZuZXEgKCQoZmlsdGVyIHMlIC1mc2FuaXRpemU9YWRkcmVzcyUsJChFWFRSQV9DRkxBR1Mp LCksKQogICAgICAgIGlmbmVxICgkKHNoZWxsIGxkY29uZmlnIC1wIHwgZ3JlcCBsaWJhc2FuID4v ZGV2L251bGwgMj4mMTsgZWNobyAkJD8pLCAwKQogICAgICAgICAgbXNnIDo9ICQoZXJyb3IgTm8g bGliYXNhbiBmb3VuZCwgcGxlYXNlIGluc3RhbGwgbGliYXNhbik7CiAgICAgICAgZW5kaWYKICAg ICAgZW5kaWYKCiAgICAgIGlmbmVxICgkKGZpbHRlciBzJSAtZnNhbml0aXplPXVuZGVmaW5lZCUs JChFWFRSQV9DRkxBR1MpLCksKQogICAgICAgIGlmbmVxICgkKHNoZWxsIGxkY29uZmlnIC1wIHwg Z3JlcCBsaWJ1YnNhbiA+L2Rldi9udWxsIDI+JjE7IGVjaG8gJCQ/KSwgMCkKICAgICAgICAgIG1z ZyA6PSAkKGVycm9yIE5vIGxpYnVic2FuIGZvdW5kLCBwbGVhc2UgaW5zdGFsbCBsaWJ1YnNhbik7 CiAgICAgICAgZW5kaWYKICAgICAgZW5kaWYKCiAgICAgIGlmbmVxICgkKGZpbHRlciBzJSAtc3Rh dGljJSwkKExERkxBR1MpLCksKQogICAgICAgIG1zZyA6PSAkKGVycm9yIE5vIHN0YXRpYyBnbGli YyBmb3VuZCwgcGxlYXNlIGluc3RhbGwgZ2xpYmMtc3RhdGljKTsKICAgICAgZWxzZQogICAgICAg IG1zZyA6PSAkKGVycm9yIE5vIGdudS9saWJjLXZlcnNpb24uaCBmb3VuZCwgcGxlYXNlIGluc3Rh bGwgZ2xpYmMtZGV2W2VsXSk7CiAgICAgIGVuZGlmCiAgICBlbmRpZgogIGVsc2UKICAgIGlmbmRl ZiBOT19MSUJEV19EV0FSRl9VTldJTkQKICAgICAgaWZuZXEgKCQoZmVhdHVyZS1saWJkdy1kd2Fy Zi11bndpbmQpLDEpCiAgICAgICAgTk9fTElCRFdfRFdBUkZfVU5XSU5EIDo9IDEKICAgICAgICBt c2cgOj0gJCh3YXJuaW5nIE5vIGxpYmR3IERXQVJGIHVud2luZCBmb3VuZCwgUGxlYXNlIGluc3Rh bGwgZWxmdXRpbHMtZGV2ZWwvbGliZHctZGV2ID49IDAuMTU4IGFuZC9vciBzZXQgTElCRFdfRElS KTsKICAgICAgZW5kaWYKICAgIGVuZGlmCiAgICBpZm5lcSAoJChmZWF0dXJlLWR3YXJmKSwgMSkK ICAgICAgaWZuZGVmIE5PX0RXQVJGCiAgICAgICAgbXNnIDo9ICQod2FybmluZyBObyBsaWJkdy5o IGZvdW5kIG9yIG9sZCBsaWJkdy5oIGZvdW5kIG9yIGVsZnV0aWxzIGlzIG9sZGVyIHRoYW4gMC4x MzgsIGRpc2FibGVzIGR3YXJmIHN1cHBvcnQuIFBsZWFzZSBpbnN0YWxsIG5ldyBlbGZ1dGlscy1k ZXZlbC9saWJkdy1kZXYpOwogICAgICAgIE5PX0RXQVJGIDo9IDEKICAgICAgZW5kaWYKICAgIGVs c2UKICAgICAgaWZuZXEgKCQoZmVhdHVyZS1kd2FyZl9nZXRsb2NhdGlvbnMpLCAxKQogICAgICAg IG1zZyA6PSAkKHdhcm5pbmcgT2xkIGxpYmR3LmgsIGZpbmRpbmcgdmFyaWFibGVzIGF0IGdpdmVu ICdwZXJmIHByb2JlJyBwb2ludCB3aWxsIG5vdCB3b3JrLCBpbnN0YWxsIGVsZnV0aWxzLWRldmVs L2xpYmR3LWRldiA+PSAwLjE1Nyk7CiAgICAgIGVsc2UKICAgICAgICBDRkxBR1MgKz0gLURIQVZF X0RXQVJGX0dFVExPQ0FUSU9OU19TVVBQT1JUCiAgICAgIGVuZGlmICMgZHdhcmZfZ2V0bG9jYXRp b25zCiAgICBlbmRpZiAjIER3YXJmIHN1cHBvcnQKICBlbmRpZiAjIGxpYmVsZiBzdXBwb3J0CmVu ZGlmICMgTk9fTElCRUxGCgppZmVxICgkKGZlYXR1cmUtZ2xpYmMpLCAxKQogIENGTEFHUyArPSAt REhBVkVfR0xJQkNfU1VQUE9SVAplbmRpZgoKaWZlcSAoJChmZWF0dXJlLWxpYmFpbyksIDEpCiAg aWZuZGVmIE5PX0FJTwogICAgQ0ZMQUdTICs9IC1ESEFWRV9BSU9fU1VQUE9SVAogIGVuZGlmCmVu ZGlmCgppZmRlZiBOT19EV0FSRgogIE5PX0xJQkRXX0RXQVJGX1VOV0lORCA6PSAxCmVuZGlmCgpp ZmVxICgkKGZlYXR1cmUtc2NoZWRfZ2V0Y3B1KSwgMSkKICBDRkxBR1MgKz0gLURIQVZFX1NDSEVE X0dFVENQVV9TVVBQT1JUCmVuZGlmCgppZmVxICgkKGZlYXR1cmUtc2V0bnMpLCAxKQogIENGTEFH UyArPSAtREhBVkVfU0VUTlNfU1VQUE9SVAogICQoY2FsbCBkZXRlY3RlZCxDT05GSUdfU0VUTlMp CmVuZGlmCgppZmRlZiBDT1JFU0lHSFQKICAkKGNhbGwgZmVhdHVyZV9jaGVjayxsaWJvcGVuY3Nk KQogIGlmZXEgKCQoZmVhdHVyZS1saWJvcGVuY3NkKSwgMSkKICAgIENGTEFHUyArPSAtREhBVkVf Q1NUUkFDRV9TVVBQT1JUICQoTElCT1BFTkNTRF9DRkxBR1MpCiAgICBpZmVxICgkKGZlYXR1cmUt cmVhbGxvY2FycmF5KSwgMCkKICAgICAgQ0ZMQUdTICs9IC1EQ09NUEFUX05FRURfUkVBTExPQ0FS UkFZCiAgICBlbmRpZgogICAgTERGTEFHUyArPSAkKExJQk9QRU5DU0RfTERGTEFHUykKICAgIEVY VExJQlMgKz0gJChPUEVOQ1NETElCUykKICAgICQoY2FsbCBkZXRlY3RlZCxDT05GSUdfTElCT1BF TkNTRCkKICAgIGlmZGVmIENTVFJBQ0VfUkFXCiAgICAgIENGTEFHUyArPSAtRENTX0RFQlVHX1JB VwogICAgICBpZmVxICgke0NTVFJBQ0VfUkFXfSwgcGFja2VkKQogICAgICAgIENGTEFHUyArPSAt RENTX1JBV19QQUNLRUQKICAgICAgZW5kaWYKICAgIGVuZGlmCiAgZWxzZQogICAgZHVtbXkgOj0g JChlcnJvciBFcnJvcjogTm8gbGlib3BlbmNzZCBsaWJyYXJ5IGZvdW5kIG9yIHRoZSB2ZXJzaW9u IGlzIG5vdCB1cC10by1kYXRlLiBQbGVhc2UgaW5zdGFsbCByZWNlbnQgbGlib3BlbmNzZCB0byBi dWlsZCB3aXRoIENPUkVTSUdIVD0xKQogIGVuZGlmCmVuZGlmCgppZm5kZWYgTk9fTElCRUxGCiAg Q0ZMQUdTICs9IC1ESEFWRV9MSUJFTEZfU1VQUE9SVAogIEVYVExJQlMgKz0gLWxlbGYKICAkKGNh bGwgZGV0ZWN0ZWQsQ09ORklHX0xJQkVMRikKCiAgaWZlcSAoJChmZWF0dXJlLWxpYmVsZi1nZXRw aGRybnVtKSwgMSkKICAgIENGTEFHUyArPSAtREhBVkVfRUxGX0dFVFBIRFJOVU1fU1VQUE9SVAog IGVuZGlmCgogIGlmZXEgKCQoZmVhdHVyZS1saWJlbGYtZ2VsZl9nZXRub3RlKSwgMSkKICAgIENG TEFHUyArPSAtREhBVkVfR0VMRl9HRVROT1RFX1NVUFBPUlQKICBlbHNlCiAgICBtc2cgOj0gJCh3 YXJuaW5nIGdlbGZfZ2V0bm90ZSgpIG5vdCBmb3VuZCBvbiBsaWJlbGYsIFNEVCBzdXBwb3J0IGRp c2FibGVkKTsKICBlbmRpZgoKICBpZmVxICgkKGZlYXR1cmUtbGliZWxmLWdldHNoZHJzdHJuZHgp LCAxKQogICAgQ0ZMQUdTICs9IC1ESEFWRV9FTEZfR0VUU0hEUlNUUk5EWF9TVVBQT1JUCiAgZW5k aWYKCiAgaWZuZGVmIE5PX0xJQkRFQlVHSU5GT0QKICAgICQoY2FsbCBmZWF0dXJlX2NoZWNrLGxp YmRlYnVnaW5mb2QpCiAgICBpZmVxICgkKGZlYXR1cmUtbGliZGVidWdpbmZvZCksIDEpCiAgICAg IENGTEFHUyArPSAtREhBVkVfREVCVUdJTkZPRF9TVVBQT1JUCiAgICAgIEVYVExJQlMgKz0gLWxk ZWJ1Z2luZm9kCiAgICBlbmRpZgogIGVuZGlmCgogIGlmbmRlZiBOT19EV0FSRgogICAgaWZlcSAo JChvcmlnaW4gUEVSRl9IQVZFX0RXQVJGX1JFR1MpLCB1bmRlZmluZWQpCiAgICAgIG1zZyA6PSAk KHdhcm5pbmcgRFdBUkYgcmVnaXN0ZXIgbWFwcGluZ3MgaGF2ZSBub3QgYmVlbiBkZWZpbmVkIGZv ciBhcmNoaXRlY3R1cmUgJChTUkNBUkNIKSwgRFdBUkYgc3VwcG9ydCBkaXNhYmxlZCk7CiAgICAg IE5PX0RXQVJGIDo9IDEKICAgIGVsc2UKICAgICAgQ0ZMQUdTICs9IC1ESEFWRV9EV0FSRl9TVVBQ T1JUICQoTElCRFdfQ0ZMQUdTKQogICAgICBMREZMQUdTICs9ICQoTElCRFdfTERGTEFHUykKICAg ICAgRVhUTElCUyArPSAke0RXQVJGTElCU30KICAgICAgJChjYWxsIGRldGVjdGVkLENPTkZJR19E V0FSRikKICAgIGVuZGlmICMgUEVSRl9IQVZFX0RXQVJGX1JFR1MKICBlbmRpZiAjIE5PX0RXQVJG CgogIGlmbmRlZiBOT19MSUJCUEYKICAgIGlmZXEgKCQoZmVhdHVyZS1icGYpLCAxKQogICAgICBD RkxBR1MgKz0gLURIQVZFX0xJQkJQRl9TVVBQT1JUCiAgICAgICQoY2FsbCBkZXRlY3RlZCxDT05G SUdfTElCQlBGKQoKICAgICAgIyBkZXRlY3RpbmcgbGliYnBmIHdpdGhvdXQgTElCQlBGX0RZTkFN SUMsIHNvIG1ha2UgVkY9MSBzaG93cyBsaWJicGYgZGV0ZWN0aW9uIHN0YXR1cwogICAgICAkKGNh bGwgZmVhdHVyZV9jaGVjayxsaWJicGYpCiAgICAgIGlmZGVmIExJQkJQRl9EWU5BTUlDCiAgICAg ICAgaWZlcSAoJChmZWF0dXJlLWxpYmJwZiksIDEpCiAgICAgICAgICBFWFRMSUJTICs9IC1sYnBm CiAgICAgICAgICAkKGNhbGwgZGV0ZWN0ZWQsQ09ORklHX0xJQkJQRl9EWU5BTUlDKQoKICAgICAg ICAgICQoY2FsbCBmZWF0dXJlX2NoZWNrLGxpYmJwZi1idGZfX2xvYWRfZnJvbV9rZXJuZWxfYnlf aWQpCiAgICAgICAgICBpZmVxICgkKGZlYXR1cmUtbGliYnBmLWJ0Zl9fbG9hZF9mcm9tX2tlcm5l bF9ieV9pZCksIDEpCiAgICAgICAgICAgIENGTEFHUyArPSAtREhBVkVfTElCQlBGX0JURl9fTE9B RF9GUk9NX0tFUk5FTF9CWV9JRAogICAgICAgICAgZW5kaWYKICAgICAgICAgICQoY2FsbCBmZWF0 dXJlX2NoZWNrLGxpYmJwZi1icGZfcHJvZ19sb2FkKQogICAgICAgICAgaWZlcSAoJChmZWF0dXJl LWxpYmJwZi1icGZfcHJvZ19sb2FkKSwgMSkKICAgICAgICAgICAgQ0ZMQUdTICs9IC1ESEFWRV9M SUJCUEZfQlBGX1BST0dfTE9BRAogICAgICAgICAgZW5kaWYKICAgICAgICAgICQoY2FsbCBmZWF0 dXJlX2NoZWNrLGxpYmJwZi1icGZfb2JqZWN0X19uZXh0X3Byb2dyYW0pCiAgICAgICAgICBpZmVx ICgkKGZlYXR1cmUtbGliYnBmLWJwZl9vYmplY3RfX25leHRfcHJvZ3JhbSksIDEpCiAgICAgICAg ICAgIENGTEFHUyArPSAtREhBVkVfTElCQlBGX0JQRl9PQkpFQ1RfX05FWFRfUFJPR1JBTQogICAg ICAgICAgZW5kaWYKICAgICAgICAgICQoY2FsbCBmZWF0dXJlX2NoZWNrLGxpYmJwZi1icGZfb2Jq ZWN0X19uZXh0X21hcCkKICAgICAgICAgIGlmZXEgKCQoZmVhdHVyZS1saWJicGYtYnBmX29iamVj dF9fbmV4dF9tYXApLCAxKQogICAgICAgICAgICBDRkxBR1MgKz0gLURIQVZFX0xJQkJQRl9CUEZf T0JKRUNUX19ORVhUX01BUAogICAgICAgICAgZW5kaWYKICAgICAgICAgICQoY2FsbCBmZWF0dXJl X2NoZWNrLGxpYmJwZi1idGZfX3Jhd19kYXRhKQogICAgICAgICAgaWZlcSAoJChmZWF0dXJlLWxp YmJwZi1idGZfX3Jhd19kYXRhKSwgMSkKICAgICAgICAgICAgQ0ZMQUdTICs9IC1ESEFWRV9MSUJC UEZfQlRGX19SQVdfREFUQQogICAgICAgICAgZW5kaWYKICAgICAgICAgICQoY2FsbCBmZWF0dXJl X2NoZWNrLGxpYmJwZi1icGZfbWFwX2NyZWF0ZSkKICAgICAgICAgIGlmZXEgKCQoZmVhdHVyZS1s aWJicGYtYnBmX21hcF9jcmVhdGUpLCAxKQogICAgICAgICAgICBDRkxBR1MgKz0gLURIQVZFX0xJ QkJQRl9CUEZfTUFQX0NSRUFURQogICAgICAgICAgZW5kaWYKICAgICAgICBlbHNlCiAgICAgICAg ICBkdW1teSA6PSAkKGVycm9yIEVycm9yOiBObyBsaWJicGYgZGV2ZWwgbGlicmFyeSBmb3VuZCwg cGxlYXNlIGluc3RhbGwgbGliYnBmLWRldmVsKTsKICAgICAgICBlbmRpZgogICAgICBlbHNlCglD RkxBR1MgKz0gLURIQVZFX0xJQkJQRl9CVEZfX0xPQURfRlJPTV9LRVJORUxfQllfSUQKICAgICAg ICBDRkxBR1MgKz0gLURIQVZFX0xJQkJQRl9CUEZfUFJPR19MT0FECiAgICAgICAgQ0ZMQUdTICs9 IC1ESEFWRV9MSUJCUEZfQlBGX09CSkVDVF9fTkVYVF9QUk9HUkFNCiAgICAgICAgQ0ZMQUdTICs9 IC1ESEFWRV9MSUJCUEZfQlBGX09CSkVDVF9fTkVYVF9NQVAKICAgICAgICBDRkxBR1MgKz0gLURI QVZFX0xJQkJQRl9CVEZfX1JBV19EQVRBCiAgICAgICAgQ0ZMQUdTICs9IC1ESEFWRV9MSUJCUEZf QlBGX01BUF9DUkVBVEUKICAgICAgZW5kaWYKICAgIGVuZGlmCgogICAgaWZuZGVmIE5PX0RXQVJG CiAgICAgIGlmZGVmIFBFUkZfSEFWRV9BUkNIX1JFR1NfUVVFUllfUkVHSVNURVJfT0ZGU0VUCiAg ICAgICAgQ0ZMQUdTICs9IC1ESEFWRV9CUEZfUFJPTE9HVUUKICAgICAgICAkKGNhbGwgZGV0ZWN0 ZWQsQ09ORklHX0JQRl9QUk9MT0dVRSkKICAgICAgZWxzZQogICAgICAgIG1zZyA6PSAkKHdhcm5p bmcgQlBGIHByb2xvZ3VlIGlzIG5vdCBzdXBwb3J0ZWQgYnkgYXJjaGl0ZWN0dXJlICQoU1JDQVJD SCksIG1pc3NpbmcgcmVnc19xdWVyeV9yZWdpc3Rlcl9vZmZzZXQoKSk7CiAgICAgIGVuZGlmCiAg ICBlbHNlCiAgICAgIG1zZyA6PSAkKHdhcm5pbmcgRFdBUkYgc3VwcG9ydCBpcyBvZmYsIEJQRiBw cm9sb2d1ZSBpcyBkaXNhYmxlZCk7CiAgICBlbmRpZgoKICBlbmRpZiAjIE5PX0xJQkJQRgplbmRp ZiAjIE5PX0xJQkVMRgoKaWZuZGVmIE5PX1NEVAogIGlmbmVxICgkKGZlYXR1cmUtc2R0KSwgMSkK ICAgIG1zZyA6PSAkKHdhcm5pbmcgTm8gc3lzL3NkdC5oIGZvdW5kLCBubyBTRFQgZXZlbnRzIGFy ZSBkZWZpbmVkLCBwbGVhc2UgaW5zdGFsbCBzeXN0ZW10YXAtc2R0LWRldmVsIG9yIHN5c3RlbXRh cC1zZHQtZGV2KTsKICAgIE5PX1NEVCA6PSAxOwogIGVsc2UKICAgIENGTEFHUyArPSAtREhBVkVf U0RUX0VWRU5UCiAgICAkKGNhbGwgZGV0ZWN0ZWQsQ09ORklHX1NEVF9FVkVOVCkKICBlbmRpZgpl bmRpZgoKaWZkZWYgUEVSRl9IQVZFX0pJVERVTVAKICBpZm5kZWYgTk9fTElCRUxGCiAgICAkKGNh bGwgZGV0ZWN0ZWQsQ09ORklHX0pJVERVTVApCiAgICBDRkxBR1MgKz0gLURIQVZFX0pJVERVTVAK ICBlbmRpZgplbmRpZgoKaWZlcSAoJChTUkNBUkNIKSxwb3dlcnBjKQogIGlmbmRlZiBOT19EV0FS RgogICAgQ0ZMQUdTICs9IC1ESEFWRV9TS0lQX0NBTExDSEFJTl9JRFgKICBlbmRpZgplbmRpZgoK aWZuZGVmIE5PX0xJQlVOV0lORAogIGhhdmVfbGlidW53aW5kIDo9CgogICQoY2FsbCBmZWF0dXJl X2NoZWNrLGxpYnVud2luZC14ODYpCiAgaWZlcSAoJChmZWF0dXJlLWxpYnVud2luZC14ODYpLCAx KQogICAgJChjYWxsIGRldGVjdGVkLENPTkZJR19MSUJVTldJTkRfWDg2KQogICAgQ0ZMQUdTICs9 IC1ESEFWRV9MSUJVTldJTkRfWDg2X1NVUFBPUlQKICAgIExERkxBR1MgKz0gLWx1bndpbmQteDg2 CiAgICBFWFRMSUJTX0xJQlVOV0lORCArPSAtbHVud2luZC14ODYKICAgIGhhdmVfbGlidW53aW5k ID0gMQogIGVuZGlmCgogICQoY2FsbCBmZWF0dXJlX2NoZWNrLGxpYnVud2luZC1hYXJjaDY0KQog IGlmZXEgKCQoZmVhdHVyZS1saWJ1bndpbmQtYWFyY2g2NCksIDEpCiAgICAkKGNhbGwgZGV0ZWN0 ZWQsQ09ORklHX0xJQlVOV0lORF9BQVJDSDY0KQogICAgQ0ZMQUdTICs9IC1ESEFWRV9MSUJVTldJ TkRfQUFSQ0g2NF9TVVBQT1JUCiAgICBMREZMQUdTICs9IC1sdW53aW5kLWFhcmNoNjQKICAgIEVY VExJQlNfTElCVU5XSU5EICs9IC1sdW53aW5kLWFhcmNoNjQKICAgIGhhdmVfbGlidW53aW5kID0g MQogICAgJChjYWxsIGZlYXR1cmVfY2hlY2ssbGlidW53aW5kLWRlYnVnLWZyYW1lLWFhcmNoNjQp CiAgICBpZm5lcSAoJChmZWF0dXJlLWxpYnVud2luZC1kZWJ1Zy1mcmFtZS1hYXJjaDY0KSwgMSkK ICAgICAgbXNnIDo9ICQod2FybmluZyBObyBkZWJ1Z19mcmFtZSBzdXBwb3J0IGZvdW5kIGluIGxp YnVud2luZC1hYXJjaDY0KTsKICAgICAgQ0ZMQUdTICs9IC1ETk9fTElCVU5XSU5EX0RFQlVHX0ZS QU1FX0FBUkNINjQKICAgIGVuZGlmCiAgZW5kaWYKCiAgaWZuZXEgKCQoZmVhdHVyZS1saWJ1bndp bmQpLCAxKQogICAgbXNnIDo9ICQod2FybmluZyBObyBsaWJ1bndpbmQgZm91bmQuIFBsZWFzZSBp bnN0YWxsIGxpYnVud2luZC1kZXZbZWxdID49IDEuMSBhbmQvb3Igc2V0IExJQlVOV0lORF9ESVIp OwogICAgTk9fTE9DQUxfTElCVU5XSU5EIDo9IDEKICBlbHNlCiAgICBoYXZlX2xpYnVud2luZCA6 PSAxCiAgICAkKGNhbGwgZGV0ZWN0ZWQsQ09ORklHX0xPQ0FMX0xJQlVOV0lORCkKICBlbmRpZgoK ICBpZm5lcSAoJChoYXZlX2xpYnVud2luZCksIDEpCiAgICBOT19MSUJVTldJTkQgOj0gMQogIGVu ZGlmCmVsc2UKICBOT19MT0NBTF9MSUJVTldJTkQgOj0gMQplbmRpZgoKaWZuZGVmIE5PX0xJQkJQ RgogIGlmbmVxICgkKGZlYXR1cmUtYnBmKSwgMSkKICAgIG1zZyA6PSAkKHdhcm5pbmcgQlBGIEFQ SSB0b28gb2xkLiBQbGVhc2UgaW5zdGFsbCByZWNlbnQga2VybmVsIGhlYWRlcnMuIEJQRiBzdXBw b3J0IGluICdwZXJmIHJlY29yZCcgaXMgZGlzYWJsZWQuKQogICAgTk9fTElCQlBGIDo9IDEKICBl bmRpZgplbmRpZgoKaWZkZWYgQlVJTERfQlBGX1NLRUwKICAkKGNhbGwgZmVhdHVyZV9jaGVjayxj bGFuZy1icGYtY28tcmUpCiAgaWZlcSAoJChmZWF0dXJlLWNsYW5nLWJwZi1jby1yZSksIDApCiAg ICBkdW1teSA6PSAkKGVycm9yIEVycm9yOiBjbGFuZyB0b28gb2xkL25vdCBpbnN0YWxsZWQuIFBs ZWFzZSBpbnN0YWxsIHJlY2VudCBjbGFuZyB0byBidWlsZCB3aXRoIEJVSUxEX0JQRl9TS0VMKQog IGVuZGlmCiAgaWZlcSAoJChmaWx0ZXIgLURIQVZFX0xJQkJQRl9TVVBQT1JULCAkKENGTEFHUykp LCkKICAgIGR1bW15IDo9ICQoZXJyb3IgRXJyb3I6IEJQRiBza2VsZXRvbiBzdXBwb3J0IHJlcXVp cmVzIGxpYmJwZikKICBlbmRpZgogICQoY2FsbCBkZXRlY3RlZCxDT05GSUdfUEVSRl9CUEZfU0tF TCkKICBDRkxBR1MgKz0gLURIQVZFX0JQRl9TS0VMCmVuZGlmCgpkd2FyZi1wb3N0LXVud2luZCA6 PSAxCmR3YXJmLXBvc3QtdW53aW5kLXRleHQgOj0gQlVHCgojIHNldHVwIERXQVJGIHBvc3QgdW53 aW5kZXIKaWZkZWYgTk9fTElCVU5XSU5ECiAgaWZkZWYgTk9fTElCRFdfRFdBUkZfVU5XSU5ECiAg ICBtc2cgOj0gJCh3YXJuaW5nIERpc2FibGluZyBwb3N0IHVud2luZCwgbm8gc3VwcG9ydCBmb3Vu ZC4pOwogICAgZHdhcmYtcG9zdC11bndpbmQgOj0gMAogIGVsc2UKICAgIGR3YXJmLXBvc3QtdW53 aW5kLXRleHQgOj0gbGliZHcKICAgICQoY2FsbCBkZXRlY3RlZCxDT05GSUdfTElCRFdfRFdBUkZf VU5XSU5EKQogIGVuZGlmCmVsc2UKICBkd2FyZi1wb3N0LXVud2luZC10ZXh0IDo9IGxpYnVud2lu ZAogICQoY2FsbCBkZXRlY3RlZCxDT05GSUdfTElCVU5XSU5EKQogICMgRW5hYmxlIGxpYnVud2lu ZCBzdXBwb3J0IGJ5IGRlZmF1bHQuCiAgaWZuZGVmIE5PX0xJQkRXX0RXQVJGX1VOV0lORAogICAg Tk9fTElCRFdfRFdBUkZfVU5XSU5EIDo9IDEKICBlbmRpZgplbmRpZgoKaWZlcSAoJChkd2FyZi1w b3N0LXVud2luZCksMSkKICBDRkxBR1MgKz0gLURIQVZFX0RXQVJGX1VOV0lORF9TVVBQT1JUCiAg JChjYWxsIGRldGVjdGVkLENPTkZJR19EV0FSRl9VTldJTkQpCmVsc2UKICBOT19EV0FSRl9VTldJ TkQgOj0gMQplbmRpZgoKaWZuZGVmIE5PX0xPQ0FMX0xJQlVOV0lORAogIGlmZXEgKCQoU1JDQVJD SCksJChmaWx0ZXIgJChTUkNBUkNIKSxhcm0gYXJtNjQpKQogICAgJChjYWxsIGZlYXR1cmVfY2hl Y2ssbGlidW53aW5kLWRlYnVnLWZyYW1lKQogICAgaWZuZXEgKCQoZmVhdHVyZS1saWJ1bndpbmQt ZGVidWctZnJhbWUpLCAxKQogICAgICBtc2cgOj0gJCh3YXJuaW5nIE5vIGRlYnVnX2ZyYW1lIHN1 cHBvcnQgZm91bmQgaW4gbGlidW53aW5kKTsKICAgICAgQ0ZMQUdTICs9IC1ETk9fTElCVU5XSU5E X0RFQlVHX0ZSQU1FCiAgICBlbmRpZgogIGVsc2UKICAgICMgbm9uLUFSTSBoYXMgbm8gZHdhcmZf ZmluZF9kZWJ1Z19mcmFtZSgpIGZ1bmN0aW9uOgogICAgQ0ZMQUdTICs9IC1ETk9fTElCVU5XSU5E X0RFQlVHX0ZSQU1FCiAgZW5kaWYKICBFWFRMSUJTICs9ICQoTElCVU5XSU5EX0xJQlMpCiAgTERG TEFHUyArPSAkKExJQlVOV0lORF9MSUJTKQplbmRpZgppZmVxICgkKGZpbmRzdHJpbmcgLXN0YXRp Yywke0xERkxBR1N9KSwtc3RhdGljKQogICMgZ2NjIC1zdGF0aWMgbGlua3MgbGliZ2NjX2VoIHdo aWNoIGNvbnRhbnMgcGllY2Ugb2YgbGlidW53aW5kCiAgTElCVU5XSU5EX0xERkxBR1MgKz0gLVds LC0tYWxsb3ctbXVsdGlwbGUtZGVmaW5pdGlvbgplbmRpZgoKaWZuZGVmIE5PX0xJQlVOV0lORAog IENGTEFHUyAgKz0gLURIQVZFX0xJQlVOV0lORF9TVVBQT1JUCiAgQ0ZMQUdTICArPSAkKExJQlVO V0lORF9DRkxBR1MpCiAgTERGTEFHUyArPSAkKExJQlVOV0lORF9MREZMQUdTKQogIEVYVExJQlMg Kz0gJChFWFRMSUJTX0xJQlVOV0lORCkKZW5kaWYKCmlmZXEgKCQoTk9fU1lTQ0FMTF9UQUJMRSks MCkKICAkKGNhbGwgZGV0ZWN0ZWQsQ09ORklHX1RSQUNFKQplbHNlCiAgaWZuZGVmIE5PX0xJQkFV RElUCiAgICAkKGNhbGwgZmVhdHVyZV9jaGVjayxsaWJhdWRpdCkKICAgIGlmbmVxICgkKGZlYXR1 cmUtbGliYXVkaXQpLCAxKQogICAgICBtc2cgOj0gJCh3YXJuaW5nIE5vIGxpYmF1ZGl0LmggZm91 bmQsIGRpc2FibGVzICd0cmFjZScgdG9vbCwgcGxlYXNlIGluc3RhbGwgYXVkaXQtbGlicy1kZXZl bCBvciBsaWJhdWRpdC1kZXYpOwogICAgICBOT19MSUJBVURJVCA6PSAxCiAgICBlbHNlCiAgICAg IENGTEFHUyArPSAtREhBVkVfTElCQVVESVRfU1VQUE9SVAogICAgICBFWFRMSUJTICs9IC1sYXVk aXQKICAgICAgJChjYWxsIGRldGVjdGVkLENPTkZJR19UUkFDRSkKICAgIGVuZGlmCiAgZW5kaWYK ZW5kaWYKCmlmbmRlZiBOT19MSUJDUllQVE8KICBpZm5lcSAoJChmZWF0dXJlLWxpYmNyeXB0byks IDEpCiAgICBtc2cgOj0gJCh3YXJuaW5nIE5vIGxpYmNyeXB0by5oIGZvdW5kLCBkaXNhYmxlcyBq aXR0ZWQgY29kZSBpbmplY3Rpb24sIHBsZWFzZSBpbnN0YWxsIG9wZW5zc2wtZGV2ZWwgb3IgbGli c3NsLWRldik7CiAgICBOT19MSUJDUllQVE8gOj0gMQogIGVsc2UKICAgIENGTEFHUyArPSAtREhB VkVfTElCQ1JZUFRPX1NVUFBPUlQKICAgIEVYVExJQlMgKz0gLWxjcnlwdG8KICAgIEVYVExJQlMg Kz0gLURPUEVOU1NMX0FQSV9DT01QQVQ9MHgxMDEwMDAwMEwKICAgICQoY2FsbCBkZXRlY3RlZCxD T05GSUdfQ1JZUFRPKQogIGVuZGlmCmVuZGlmCgppZmRlZiBOT19ORVdUCiAgTk9fU0xBTkc9MQpl bmRpZgoKaWZuZGVmIE5PX1NMQU5HCiAgaWZuZXEgKCQoZmVhdHVyZS1saWJzbGFuZyksIDEpCiAg ICBpZm5lcSAoJChmZWF0dXJlLWxpYnNsYW5nLWluY2x1ZGUtc3ViZGlyKSwgMSkKICAgICAgbXNn IDo9ICQod2FybmluZyBzbGFuZyBub3QgZm91bmQsIGRpc2FibGVzIFRVSSBzdXBwb3J0LiBQbGVh c2UgaW5zdGFsbCBzbGFuZy1kZXZlbCwgbGlic2xhbmctZGV2IG9yIGxpYnNsYW5nMi1kZXYpOwog ICAgICBOT19TTEFORyA6PSAxCiAgICBlbHNlCiAgICAgIENGTEFHUyArPSAtREhBVkVfU0xBTkdf SU5DTFVERV9TVUJESVIKICAgIGVuZGlmCiAgZW5kaWYKICBpZm5kZWYgTk9fU0xBTkcKICAgICMg RmVkb3JhIGhhcyAvdXNyL2luY2x1ZGUvc2xhbmcvc2xhbmcuaCwgYnV0IHVidW50dSAvdXNyL2lu Y2x1ZGUvc2xhbmcuaAogICAgQ0ZMQUdTICs9IC1ESEFWRV9TTEFOR19TVVBQT1JUCiAgICBFWFRM SUJTICs9IC1sc2xhbmcKICAgICQoY2FsbCBkZXRlY3RlZCxDT05GSUdfU0xBTkcpCiAgZW5kaWYK ZW5kaWYKCmlmZGVmIEdUSzIKICBGTEFHU19HVEsyPSQoQ0ZMQUdTKSAkKExERkxBR1MpICQoRVhU TElCUykgJChzaGVsbCAkKFBLR19DT05GSUcpIC0tbGlicyAtLWNmbGFncyBndGsrLTIuMCAyPi9k ZXYvbnVsbCkKICAkKGNhbGwgZmVhdHVyZV9jaGVjayxndGsyKQogIGlmbmVxICgkKGZlYXR1cmUt Z3RrMiksIDEpCiAgICBtc2cgOj0gJCh3YXJuaW5nIEdUSzIgbm90IGZvdW5kLCBkaXNhYmxlcyBH VEsyIHN1cHBvcnQuIFBsZWFzZSBpbnN0YWxsIGd0azItZGV2ZWwgb3IgbGliZ3RrMi4wLWRldik7 CiAgICBOT19HVEsyIDo9IDEKICBlbHNlCiAgICAkKGNhbGwgZmVhdHVyZV9jaGVjayxndGsyLWlu Zm9iYXIpCiAgICBpZmVxICgkKGZlYXR1cmUtZ3RrMi1pbmZvYmFyKSwgMSkKICAgICAgR1RLX0NG TEFHUyA6PSAtREhBVkVfR1RLX0lORk9fQkFSX1NVUFBPUlQKICAgIGVuZGlmCiAgICBDRkxBR1Mg Kz0gLURIQVZFX0dUSzJfU1VQUE9SVAogICAgR1RLX0NGTEFHUyArPSAkKHNoZWxsICQoUEtHX0NP TkZJRykgLS1jZmxhZ3MgZ3RrKy0yLjAgMj4vZGV2L251bGwpCiAgICBHVEtfTElCUyA6PSAkKHNo ZWxsICQoUEtHX0NPTkZJRykgLS1saWJzIGd0aystMi4wIDI+L2Rldi9udWxsKQogICAgRVhUTElC UyArPSAtbGRsCiAgZW5kaWYKZW5kaWYKCmlmZGVmIE5PX0xJQlBFUkwKICBDRkxBR1MgKz0gLURO T19MSUJQRVJMCmVsc2UKICBQRVJMX0VNQkVEX0xET1BUUyA9ICQoc2hlbGwgcGVybCAtTUV4dFV0 aWxzOjpFbWJlZCAtZSBsZG9wdHMgMj4vZGV2L251bGwpCiAgUEVSTF9FTUJFRF9MREZMQUdTID0g JChjYWxsIHN0cmlwLWxpYnMsJChQRVJMX0VNQkVEX0xET1BUUykpCiAgUEVSTF9FTUJFRF9MSUJB REQgPSAkKGNhbGwgZ3JlcC1saWJzLCQoUEVSTF9FTUJFRF9MRE9QVFMpKQogIFBFUkxfRU1CRURf Q0NPUFRTID0gJChzaGVsbCBwZXJsIC1NRXh0VXRpbHM6OkVtYmVkIC1lIGNjb3B0cyAyPi9kZXYv bnVsbCkKICBQRVJMX0VNQkVEX0NDT1BUUyA6PSAkKGZpbHRlci1vdXQgLXNwZWNzPSUsJChQRVJM X0VNQkVEX0NDT1BUUykpCiAgUEVSTF9FTUJFRF9DQ09QVFMgOj0gJChmaWx0ZXItb3V0IC1mbHRv PWF1dG8gLWZmYXQtbHRvLW9iamVjdHMsICQoUEVSTF9FTUJFRF9DQ09QVFMpKQogIFBFUkxfRU1C RURfTERPUFRTIDo9ICQoZmlsdGVyLW91dCAtc3BlY3M9JSwkKFBFUkxfRU1CRURfTERPUFRTKSkK ICBGTEFHU19QRVJMX0VNQkVEPSQoUEVSTF9FTUJFRF9DQ09QVFMpICQoUEVSTF9FTUJFRF9MRE9Q VFMpCgogIGlmbmVxICgkKGZlYXR1cmUtbGlicGVybCksIDEpCiAgICBDRkxBR1MgKz0gLUROT19M SUJQRVJMCiAgICBOT19MSUJQRVJMIDo9IDEKICAgIG1zZyA6PSAkKHdhcm5pbmcgTWlzc2luZyBw ZXJsIGRldmVsIGZpbGVzLiBEaXNhYmxpbmcgcGVybCBzY3JpcHRpbmcgc3VwcG9ydCwgcGxlYXNl IGluc3RhbGwgcGVybC1FeHRVdGlscy1FbWJlZC9saWJwZXJsLWRldik7CiAgZWxzZQogICAgTERG TEFHUyArPSAkKFBFUkxfRU1CRURfTERGTEFHUykKICAgIEVYVExJQlMgKz0gJChQRVJMX0VNQkVE X0xJQkFERCkKICAgIENGTEFHUyArPSAtREhBVkVfTElCUEVSTF9TVVBQT1JUCiAgICBpZmVxICgk KENDX05PX0NMQU5HKSwgMCkKICAgICAgQ0ZMQUdTICs9IC1Xbm8tY29tcG91bmQtdG9rZW4tc3Bs aXQtYnktbWFjcm8KICAgIGVuZGlmCiAgICAkKGNhbGwgZGV0ZWN0ZWQsQ09ORklHX0xJQlBFUkwp CiAgZW5kaWYKZW5kaWYKCmlmZXEgKCQoZmVhdHVyZS10aW1lcmZkKSwgMSkKICBDRkxBR1MgKz0g LURIQVZFX1RJTUVSRkRfU1VQUE9SVAplbHNlCiAgbXNnIDo9ICQod2FybmluZyBObyB0aW1lcmZk IHN1cHBvcnQuIERpc2FibGVzICdwZXJmIGt2bSBzdGF0IGxpdmUnKTsKZW5kaWYKCmRpc2FibGUt cHl0aG9uID0gJChldmFsICQoZGlzYWJsZS1weXRob25fY29kZSkpCmRlZmluZSBkaXNhYmxlLXB5 dGhvbl9jb2RlCiAgQ0ZMQUdTICs9IC1ETk9fTElCUFlUSE9OCiAgJCh3YXJuaW5nICQxKQogIE5P X0xJQlBZVEhPTiA6PSAxCmVuZGVmCgppZmRlZiBOT19MSUJQWVRIT04KICAkKGNhbGwgZGlzYWJs ZS1weXRob24sUHl0aG9uIHN1cHBvcnQgZGlzYWJsZWQgYnkgdXNlcikKZWxzZQoKICBpZm5kZWYg UFlUSE9OCiAgICAkKGNhbGwgZGlzYWJsZS1weXRob24sTm8gcHl0aG9uIGludGVycHJldGVyIHdh cyBmb3VuZDogZGlzYWJsZXMgUHl0aG9uIHN1cHBvcnQgLSBwbGVhc2UgaW5zdGFsbCBweXRob24t ZGV2ZWwvcHl0aG9uLWRldikKICBlbHNlCiAgICBQWVRIT05fV09SRCA6PSAkKGNhbGwgc2hlbGwt d29yZGlmeSwkKFBZVEhPTikpCgogICAgaWZuZGVmIFBZVEhPTl9DT05GSUcKICAgICAgJChjYWxs IGRpc2FibGUtcHl0aG9uLE5vICdweXRob24tY29uZmlnJyB0b29sIHdhcyBmb3VuZDogZGlzYWJs ZXMgUHl0aG9uIHN1cHBvcnQgLSBwbGVhc2UgaW5zdGFsbCBweXRob24tZGV2ZWwvcHl0aG9uLWRl dikKICAgIGVsc2UKCiAgICAgIGlmbmVxICgkKGZlYXR1cmUtbGlicHl0aG9uKSwgMSkKICAgICAg ICAkKGNhbGwgZGlzYWJsZS1weXRob24sTm8gJ1B5dGhvbi5oJyAoZm9yIFB5dGhvbiAyLnggc3Vw cG9ydCkgd2FzIGZvdW5kOiBkaXNhYmxlcyBQeXRob24gc3VwcG9ydCAtIHBsZWFzZSBpbnN0YWxs IHB5dGhvbi1kZXZlbC9weXRob24tZGV2KQogICAgICBlbHNlCiAgICAgICAgIExERkxBR1MgKz0g JChQWVRIT05fRU1CRURfTERGTEFHUykKICAgICAgICAgRVhUTElCUyArPSAkKFBZVEhPTl9FTUJF RF9MSUJBREQpCiAgICAgICAgIExBTkdfQklORElOR1MgKz0gJChvYmotcGVyZilweXRob24vcGVy Zi5zbwogICAgICAgICBDRkxBR1MgKz0gLURIQVZFX0xJQlBZVEhPTl9TVVBQT1JUCiAgICAgICAg ICQoY2FsbCBkZXRlY3RlZCxDT05GSUdfTElCUFlUSE9OKQogICAgICBlbmRpZgogICAgZW5kaWYK ICBlbmRpZgplbmRpZgoKCmlmbmRlZiBOT19MSUJCRkQKICBpZmVxICgkKGZlYXR1cmUtbGliYmZk KSwgMSkKICAgIEVYVExJQlMgKz0gLWxiZmQgLWxvcGNvZGVzCiAgZWxzZQogICAgIyB3ZSBhcmUg b24gYSBzeXN0ZW0gdGhhdCByZXF1aXJlcyAtbGliZXJ0eSBhbmQgKG1heWJlKSAtbHoKICAgICMg dG8gbGluayBhZ2FpbnN0IC1sYmZkOyB0ZXN0IGVhY2ggY2FzZSBpbmRpdmlkdWFsbHkgaGVyZQoK ICAgICMgY2FsbCBhbGwgZGV0ZWN0aW9ucyBub3cgc28gd2UgZ2V0IGNvcnJlY3QKICAgICMgc3Rh dHVzIGluIFZGIG91dHB1dAogICAgJChjYWxsIGZlYXR1cmVfY2hlY2ssbGliYmZkLWxpYmVydHkp CiAgICAkKGNhbGwgZmVhdHVyZV9jaGVjayxsaWJiZmQtbGliZXJ0eS16KQoKICAgIGlmZXEgKCQo ZmVhdHVyZS1saWJiZmQtbGliZXJ0eSksIDEpCiAgICAgIEVYVExJQlMgKz0gLWxiZmQgLWxvcGNv ZGVzIC1saWJlcnR5CiAgICAgIEZFQVRVUkVfQ0hFQ0tfTERGTEFHUy1kaXNhc3NlbWJsZXItZm91 ci1hcmdzICs9IC1saWJlcnR5IC1sZGwKICAgIGVsc2UKICAgICAgaWZlcSAoJChmZWF0dXJlLWxp YmJmZC1saWJlcnR5LXopLCAxKQogICAgICAgIEVYVExJQlMgKz0gLWxiZmQgLWxvcGNvZGVzIC1s aWJlcnR5IC1segogICAgICAgIEZFQVRVUkVfQ0hFQ0tfTERGTEFHUy1kaXNhc3NlbWJsZXItZm91 ci1hcmdzICs9IC1saWJlcnR5IC1seiAtbGRsCiAgICAgIGVuZGlmCiAgICBlbmRpZgogICAgJChj YWxsIGZlYXR1cmVfY2hlY2ssZGlzYXNzZW1ibGVyLWZvdXItYXJncykKICBlbmRpZgoKICBpZmVx ICgkKGZlYXR1cmUtbGliYmZkLWJ1aWxkaWQpLCAxKQogICAgQ0ZMQUdTICs9IC1ESEFWRV9MSUJC RkRfQlVJTERJRF9TVVBQT1JUCiAgZWxzZQogICAgbXNnIDo9ICQod2FybmluZyBPbGQgdmVyc2lv biBvZiBsaWJiZmQvYmludXRpbHMgdGhpbmdzIGxpa2UgUEUgZXhlY3V0YWJsZSBwcm9maWxpbmcg d2lsbCBub3QgYmUgYXZhaWxhYmxlKTsKICBlbmRpZgplbmRpZgoKaWZkZWYgTk9fREVNQU5HTEUK ICBDRkxBR1MgKz0gLUROT19ERU1BTkdMRQplbHNlCiAgaWZkZWYgSEFWRV9DUExVU19ERU1BTkdM RV9TVVBQT1JUCiAgICBFWFRMSUJTICs9IC1saWJlcnR5CiAgZWxzZQogICAgaWZlcSAoJChmaWx0 ZXIgLWxpYmVydHksJChFWFRMSUJTKSksKQogICAgICAkKGNhbGwgZmVhdHVyZV9jaGVjayxjcGx1 cy1kZW1hbmdsZSkKCiAgICAgICMgd2UgZG9udCBoYXZlIG5laXRoZXIgSEFWRV9DUExVU19ERU1B TkdMRV9TVVBQT1JUCiAgICAgICMgb3IgYW55IG9mICdiZmQgaWJlcnR5IHonIHRyaW5pdHkKICAg ICAgaWZlcSAoJChmZWF0dXJlLWNwbHVzLWRlbWFuZ2xlKSwgMSkKICAgICAgICBFWFRMSUJTICs9 IC1saWJlcnR5CiAgICAgIGVsc2UKICAgICAgICBtc2cgOj0gJCh3YXJuaW5nIE5vIGJmZC5oL2xp YmJmZCBmb3VuZCwgcGxlYXNlIGluc3RhbGwgYmludXRpbHMtZGV2W2VsXS96bGliLXN0YXRpYy9s aWJpYmVydHktZGV2IHRvIGdhaW4gc3ltYm9sIGRlbWFuZ2xpbmcpCiAgICAgICAgQ0ZMQUdTICs9 IC1ETk9fREVNQU5HTEUKICAgICAgZW5kaWYKICAgIGVuZGlmCiAgZW5kaWYKCiAgaWZuZXEgKCQo ZmlsdGVyIC1saWJlcnR5LCQoRVhUTElCUykpLCkKICAgIENGTEFHUyArPSAtREhBVkVfQ1BMVVNf REVNQU5HTEVfU1VQUE9SVAogIGVuZGlmCmVuZGlmCgppZm5lcSAoJChmaWx0ZXIgLWxiZmQsJChF WFRMSUJTKSksKQogIENGTEFHUyArPSAtREhBVkVfTElCQkZEX1NVUFBPUlQKZW5kaWYKCmlmbmRl ZiBOT19aTElCCiAgaWZlcSAoJChmZWF0dXJlLXpsaWIpLCAxKQogICAgQ0ZMQUdTICs9IC1ESEFW RV9aTElCX1NVUFBPUlQKICAgIEVYVExJQlMgKz0gLWx6CiAgICAkKGNhbGwgZGV0ZWN0ZWQsQ09O RklHX1pMSUIpCiAgZWxzZQogICAgTk9fWkxJQiA6PSAxCiAgZW5kaWYKZW5kaWYKCmlmbmRlZiBO T19MWk1BCiAgaWZlcSAoJChmZWF0dXJlLWx6bWEpLCAxKQogICAgQ0ZMQUdTICs9IC1ESEFWRV9M Wk1BX1NVUFBPUlQKICAgIEVYVExJQlMgKz0gLWxsem1hCiAgICAkKGNhbGwgZGV0ZWN0ZWQsQ09O RklHX0xaTUEpCiAgZWxzZQogICAgbXNnIDo9ICQod2FybmluZyBObyBsaWJsem1hIGZvdW5kLCBk aXNhYmxlcyB4eiBrZXJuZWwgbW9kdWxlIGRlY29tcHJlc3Npb24sIHBsZWFzZSBpbnN0YWxsIHh6 LWRldmVsL2xpYmx6bWEtZGV2KTsKICAgIE5PX0xaTUEgOj0gMQogIGVuZGlmCmVuZGlmCgppZm5k ZWYgTk9fTElCWlNURAogIGlmZXEgKCQoZmVhdHVyZS1saWJ6c3RkKSwgMSkKICAgIENGTEFHUyAr PSAtREhBVkVfWlNURF9TVVBQT1JUCiAgICBDRkxBR1MgKz0gJChMSUJaU1REX0NGTEFHUykKICAg IExERkxBR1MgKz0gJChMSUJaU1REX0xERkxBR1MpCiAgICBFWFRMSUJTICs9IC1senN0ZAogICAg JChjYWxsIGRldGVjdGVkLENPTkZJR19aU1REKQogIGVsc2UKICAgIG1zZyA6PSAkKHdhcm5pbmcg Tm8gbGlienN0ZCBmb3VuZCwgZGlzYWJsZXMgdHJhY2UgY29tcHJlc3Npb24sIHBsZWFzZSBpbnN0 YWxsIGxpYnpzdGQtZGV2W2VsXSBhbmQvb3Igc2V0IExJQlpTVERfRElSKTsKICAgIE5PX0xJQlpT VEQgOj0gMQogIGVuZGlmCmVuZGlmCgppZm5kZWYgTk9fTElCQ0FQCiAgaWZlcSAoJChmZWF0dXJl LWxpYmNhcCksIDEpCiAgICBDRkxBR1MgKz0gLURIQVZFX0xJQkNBUF9TVVBQT1JUCiAgICBFWFRM SUJTICs9IC1sY2FwCiAgICAkKGNhbGwgZGV0ZWN0ZWQsQ09ORklHX0xJQkNBUCkKICBlbHNlCiAg ICBtc2cgOj0gJCh3YXJuaW5nIE5vIGxpYmNhcCBmb3VuZCwgZGlzYWJsZXMgY2FwYWJpbGl0eSBz dXBwb3J0LCBwbGVhc2UgaW5zdGFsbCBsaWJjYXAtZGV2ZWwvbGliY2FwLWRldik7CiAgICBOT19M SUJDQVAgOj0gMQogIGVuZGlmCmVuZGlmCgppZm5kZWYgTk9fQkFDS1RSQUNFCiAgaWZlcSAoJChm ZWF0dXJlLWJhY2t0cmFjZSksIDEpCiAgICBDRkxBR1MgKz0gLURIQVZFX0JBQ0tUUkFDRV9TVVBQ T1JUCiAgZW5kaWYKZW5kaWYKCmlmbmRlZiBOT19MSUJOVU1BCiAgaWZlcSAoJChmZWF0dXJlLWxp Ym51bWEpLCAwKQogICAgbXNnIDo9ICQod2FybmluZyBObyBudW1hLmggZm91bmQsIGRpc2FibGVz ICdwZXJmIGJlbmNoIG51bWEgbWVtJyBiZW5jaG1hcmssIHBsZWFzZSBpbnN0YWxsIG51bWFjdGwt ZGV2ZWwvbGlibnVtYS1kZXZlbC9saWJudW1hLWRldik7CiAgICBOT19MSUJOVU1BIDo9IDEKICBl bHNlCiAgICBpZmVxICgkKGZlYXR1cmUtbnVtYV9udW1fcG9zc2libGVfY3B1cyksIDApCiAgICAg IG1zZyA6PSAkKHdhcm5pbmcgT2xkIG51bWEgbGlicmFyeSBmb3VuZCwgZGlzYWJsZXMgJ3BlcmYg YmVuY2ggbnVtYSBtZW0nIGJlbmNobWFyaywgcGxlYXNlIGluc3RhbGwgbnVtYWN0bC1kZXZlbC9s aWJudW1hLWRldmVsL2xpYm51bWEtZGV2ID49IDIuMC44KTsKICAgICAgTk9fTElCTlVNQSA6PSAx CiAgICBlbHNlCiAgICAgIENGTEFHUyArPSAtREhBVkVfTElCTlVNQV9TVVBQT1JUCiAgICAgIEVY VExJQlMgKz0gLWxudW1hCiAgICAgICQoY2FsbCBkZXRlY3RlZCxDT05GSUdfTlVNQSkKICAgIGVu ZGlmCiAgZW5kaWYKZW5kaWYKCmlmZGVmIEhBVkVfS1ZNX1NUQVRfU1VQUE9SVAogICAgQ0ZMQUdT ICs9IC1ESEFWRV9LVk1fU1RBVF9TVVBQT1JUCmVuZGlmCgppZmVxICgkKGZlYXR1cmUtZGlzYXNz ZW1ibGVyLWZvdXItYXJncyksIDEpCiAgICBDRkxBR1MgKz0gLURESVNBU01fRk9VUl9BUkdTX1NJ R05BVFVSRQplbmRpZgoKaWZlcSAoJHtJU182NF9CSVR9LCAxKQogIGlmbmRlZiBOT19QRVJGX1JF QURfVkRTTzMyCiAgICAkKGNhbGwgZmVhdHVyZV9jaGVjayxjb21waWxlLTMyKQogICAgaWZlcSAo JChmZWF0dXJlLWNvbXBpbGUtMzIpLCAxKQogICAgICBDRkxBR1MgKz0gLURIQVZFX1BFUkZfUkVB RF9WRFNPMzIKICAgIGVsc2UKICAgICAgTk9fUEVSRl9SRUFEX1ZEU08zMiA6PSAxCiAgICBlbmRp ZgogIGVuZGlmCiAgaWZuZXEgKCQoU1JDQVJDSCksIHg4NikKICAgIE5PX1BFUkZfUkVBRF9WRFNP WDMyIDo9IDEKICBlbmRpZgogIGlmbmRlZiBOT19QRVJGX1JFQURfVkRTT1gzMgogICAgJChjYWxs IGZlYXR1cmVfY2hlY2ssY29tcGlsZS14MzIpCiAgICBpZmVxICgkKGZlYXR1cmUtY29tcGlsZS14 MzIpLCAxKQogICAgICBDRkxBR1MgKz0gLURIQVZFX1BFUkZfUkVBRF9WRFNPWDMyCiAgICBlbHNl CiAgICAgIE5PX1BFUkZfUkVBRF9WRFNPWDMyIDo9IDEKICAgIGVuZGlmCiAgZW5kaWYKZWxzZQog IE5PX1BFUkZfUkVBRF9WRFNPMzIgOj0gMQogIE5PX1BFUkZfUkVBRF9WRFNPWDMyIDo9IDEKZW5k aWYKCmlmbmRlZiBOT19MSUJCQUJFTFRSQUNFCiAgJChjYWxsIGZlYXR1cmVfY2hlY2ssbGliYmFi ZWx0cmFjZSkKICBpZmVxICgkKGZlYXR1cmUtbGliYmFiZWx0cmFjZSksIDEpCiAgICBDRkxBR1Mg Kz0gLURIQVZFX0xJQkJBQkVMVFJBQ0VfU1VQUE9SVCAkKExJQkJBQkVMVFJBQ0VfQ0ZMQUdTKQog ICAgTERGTEFHUyArPSAkKExJQkJBQkVMVFJBQ0VfTERGTEFHUykKICAgIEVYVExJQlMgKz0gLWxi YWJlbHRyYWNlLWN0ZgogICAgJChjYWxsIGRldGVjdGVkLENPTkZJR19MSUJCQUJFTFRSQUNFKQog IGVsc2UKICAgIG1zZyA6PSAkKHdhcm5pbmcgTm8gbGliYmFiZWx0cmFjZSBmb3VuZCwgZGlzYWJs ZXMgJ3BlcmYgZGF0YScgQ1RGIGZvcm1hdCBzdXBwb3J0LCBwbGVhc2UgaW5zdGFsbCBsaWJiYWJl bHRyYWNlLWRldltlbF0vbGliYmFiZWx0cmFjZS1jdGYtZGV2KTsKICBlbmRpZgplbmRpZgoKaWZu ZGVmIE5PX0FVWFRSQUNFCiAgaWZlcSAoJChTUkNBUkNIKSx4ODYpCiAgICBpZmVxICgkKGZlYXR1 cmUtZ2V0X2NwdWlkKSwgMCkKICAgICAgbXNnIDo9ICQod2FybmluZyBZb3VyIGdjYyBsYWNrcyB0 aGUgX19nZXRfY3B1aWQoKSBidWlsdGluLCBkaXNhYmxlcyBzdXBwb3J0IGZvciBhdXh0cmFjZS9J bnRlbCBQVCwgcGxlYXNlIGluc3RhbGwgYSBuZXdlciBnY2MpOwogICAgICBOT19BVVhUUkFDRSA6 PSAxCiAgICBlbmRpZgogIGVuZGlmCiAgaWZuZGVmIE5PX0FVWFRSQUNFCiAgICAkKGNhbGwgZGV0 ZWN0ZWQsQ09ORklHX0FVWFRSQUNFKQogICAgQ0ZMQUdTICs9IC1ESEFWRV9BVVhUUkFDRV9TVVBQ T1JUCiAgICBpZmVxICgkKGZlYXR1cmUtcmVhbGxvY2FycmF5KSwgMCkKICAgICAgQ0ZMQUdTICs9 IC1EQ09NUEFUX05FRURfUkVBTExPQ0FSUkFZCiAgICBlbmRpZgogIGVuZGlmCmVuZGlmCgppZm5k ZWYgTk9fSlZNVEkKICBpZm5lcSAoLCQod2lsZGNhcmQgL3Vzci9zYmluL3VwZGF0ZS1qYXZhLWFs dGVybmF0aXZlcykpCiAgICBKRElSPSQoc2hlbGwgL3Vzci9zYmluL3VwZGF0ZS1qYXZhLWFsdGVy bmF0aXZlcyAtbCB8IGhlYWQgLTEgfCBhd2sgJ3twcmludCAkJDN9JykKICBlbHNlCiAgICBpZm5l cSAoLCQod2lsZGNhcmQgL3Vzci9zYmluL2FsdGVybmF0aXZlcykpCiAgICAgIEpESVI9JChzaGVs bCAvdXNyL3NiaW4vYWx0ZXJuYXRpdmVzIC0tZGlzcGxheSBqYXZhIHwgdGFpbCAtMSB8IGN1dCAt ZCcgJyAtZiA1IHwgc2VkIC1lICdzJS9qcmUvYmluL2phdmEuJSVnJyAtZSAncyUvYmluL2phdmEu JSVnJykKICAgIGVuZGlmCiAgZW5kaWYKICBpZm5kZWYgSkRJUgogICAgJCh3YXJuaW5nIE5vIGFs dGVybmF0aXZlcyBjb21tYW5kIGZvdW5kLCB5b3UgbmVlZCB0byBzZXQgSkRJUj0gdG8gcG9pbnQg dG8gdGhlIHJvb3Qgb2YgeW91ciBKYXZhIGRpcmVjdG9yeSkKICAgIE5PX0pWTVRJIDo9IDEKICBl bmRpZgplbmRpZgoKaWZuZGVmIE5PX0pWTVRJCiAgRkVBVFVSRV9DSEVDS19DRkxBR1MtanZtdGkg Oj0gLUkkKEpESVIpL2luY2x1ZGUgLUkkKEpESVIpL2luY2x1ZGUvbGludXgKICAkKGNhbGwgZmVh dHVyZV9jaGVjayxqdm10aSkKICBpZmVxICgkKGZlYXR1cmUtanZtdGkpLCAxKQogICAgJChjYWxs IGRldGVjdGVkX3ZhcixKRElSKQogICAgaWZuZGVmIE5PX0pWTVRJX0NNTFIKICAgICAgRkVBVFVS RV9DSEVDS19DRkxBR1MtanZtdGktY21sciA6PSAkKEZFQVRVUkVfQ0hFQ0tfQ0ZMQUdTLWp2bXRp KQogICAgICAkKGNhbGwgZmVhdHVyZV9jaGVjayxqdm10aS1jbWxyKQogICAgICBpZmVxICgkKGZl YXR1cmUtanZtdGktY21sciksIDEpCiAgICAgICAgQ0ZMQUdTICs9IC1ESEFWRV9KVk1USV9DTUxS CiAgICAgIGVuZGlmCiAgICBlbmRpZiAjIE5PX0pWTVRJX0NNTFIKICBlbHNlCiAgICAkKHdhcm5p bmcgTm8gb3BlbmpkayBkZXZlbG9wbWVudCBwYWNrYWdlIGZvdW5kLCBwbGVhc2UgaW5zdGFsbCBK REsgcGFja2FnZSwgZS5nLiBvcGVuamRrLTgtamRrLCBqYXZhLTEuOC4wLW9wZW5qZGstZGV2ZWwp CiAgICBOT19KVk1USSA6PSAxCiAgZW5kaWYKZW5kaWYKClVTRV9DWFggPSAwClVTRV9DTEFOR0xM Vk0gPSAwCmlmZGVmIExJQkNMQU5HTExWTQogICQoY2FsbCBmZWF0dXJlX2NoZWNrLGN4eCkKICBp Zm5lcSAoJChmZWF0dXJlLWN4eCksIDEpCiAgICBtc2cgOj0gJCh3YXJuaW5nIE5vIGcrKyBmb3Vu ZCwgZGlzYWJsZSBjbGFuZyBhbmQgbGx2bSBzdXBwb3J0LiBQbGVhc2UgaW5zdGFsbCBnKyspCiAg ZWxzZQogICAgJChjYWxsIGZlYXR1cmVfY2hlY2ssbGx2bSkKICAgICQoY2FsbCBmZWF0dXJlX2No ZWNrLGxsdm0tdmVyc2lvbikKICAgIGlmbmVxICgkKGZlYXR1cmUtbGx2bSksIDEpCiAgICAgIG1z ZyA6PSAkKHdhcm5pbmcgTm8gc3VpdGFibGUgbGliTExWTSBmb3VuZCwgZGlzYWJsaW5nIGJ1aWx0 aW4gY2xhbmcgYW5kIExMVk0gc3VwcG9ydC4gUGxlYXNlIGluc3RhbGwgbGx2bS1kZXYoZWwpICg+ PSAzLjkuMCkpCiAgICBlbHNlCiAgICAgICQoY2FsbCBmZWF0dXJlX2NoZWNrLGNsYW5nKQogICAg ICBpZm5lcSAoJChmZWF0dXJlLWNsYW5nKSwgMSkKICAgICAgICBtc2cgOj0gJCh3YXJuaW5nIE5v IHN1aXRhYmxlIGxpYmNsYW5nIGZvdW5kLCBkaXNhYmxpbmcgYnVpbHRpbiBjbGFuZyBhbmQgTExW TSBzdXBwb3J0LiBQbGVhc2UgaW5zdGFsbCBsaWJjbGFuZy1kZXYoZWwpICg+PSAzLjkuMCkpCiAg ICAgIGVsc2UKICAgICAgICBDRkxBR1MgKz0gLURIQVZFX0xJQkNMQU5HTExWTV9TVVBQT1JUCiAg ICAgICAgQ1hYRkxBR1MgKz0gLURIQVZFX0xJQkNMQU5HTExWTV9TVVBQT1JUIC1JJChzaGVsbCAk KExMVk1fQ09ORklHKSAtLWluY2x1ZGVkaXIpCiAgICAgICAgJChjYWxsIGRldGVjdGVkLENPTkZJ R19DWFgpCiAgICAgICAgJChjYWxsIGRldGVjdGVkLENPTkZJR19DTEFOR0xMVk0pCglVU0VfQ1hY ID0gMQoJVVNFX0xMVk0gPSAxCglVU0VfQ0xBTkcgPSAxCiAgICAgICAgaWZuZXEgKCQoZmVhdHVy ZS1sbHZtLXZlcnNpb24pLDEpCiAgICAgICAgICBtc2cgOj0gJCh3YXJuaW5nIFRoaXMgdmVyc2lv biBvZiBMTFZNIGlzIG5vdCB0ZXN0ZWQuIE1heSBjYXVzZSBidWlsZCBlcnJvcnMpCiAgICAgICAg ZW5kaWYKICAgICAgZW5kaWYKICAgIGVuZGlmCiAgZW5kaWYKZW5kaWYKCmlmZGVmIExJQlBGTTQK ICAkKGNhbGwgZmVhdHVyZV9jaGVjayxsaWJwZm00KQogIGlmZXEgKCQoZmVhdHVyZS1saWJwZm00 KSwgMSkKICAgIENGTEFHUyArPSAtREhBVkVfTElCUEZNCiAgICBFWFRMSUJTICs9IC1scGZtCiAg ICBBU0NJSURPQ19FWFRSQSA9IC1hSEFWRV9MSUJQRk09MQogICAgJChjYWxsIGRldGVjdGVkLENP TkZJR19MSUJQRk00KQogIGVsc2UKICAgIG1zZyA6PSAkKHdhcm5pbmcgbGlicGZtNCBub3QgZm91 bmQsIGRpc2FibGVzIGxpYnBmbTQgc3VwcG9ydC4gUGxlYXNlIGluc3RhbGwgbGlicGZtNC1kZXYp OwogICAgTk9fTElCUEZNNCA6PSAxCiAgZW5kaWYKZW5kaWYKCmlmZGVmIExJQlRSQUNFRVZFTlRf RFlOQU1JQwogICQoY2FsbCBmZWF0dXJlX2NoZWNrLGxpYnRyYWNlZXZlbnQpCiAgaWZlcSAoJChm ZWF0dXJlLWxpYnRyYWNlZXZlbnQpLCAxKQogICAgRVhUTElCUyArPSAtbHRyYWNlZXZlbnQKICAg IExJQlRSQUNFRVZFTlRfVkVSU0lPTiA6PSAkKHNoZWxsICQoUEtHX0NPTkZJRykgLS1tb2R2ZXJz aW9uIGxpYnRyYWNlZXZlbnQpCiAgICBMSUJUUkFDRUVWRU5UX1ZFUlNJT05fMSA6PSAkKHdvcmQg MSwgJChzdWJzdCAuLCAsJChMSUJUUkFDRUVWRU5UX1ZFUlNJT04pKSkKICAgIExJQlRSQUNFRVZF TlRfVkVSU0lPTl8yIDo9ICQod29yZCAyLCAkKHN1YnN0IC4sICwkKExJQlRSQUNFRVZFTlRfVkVS U0lPTikpKQogICAgTElCVFJBQ0VFVkVOVF9WRVJTSU9OXzMgOj0gJCh3b3JkIDMsICQoc3Vic3Qg LiwgLCQoTElCVFJBQ0VFVkVOVF9WRVJTSU9OKSkpCiAgICBMSUJUUkFDRUVWRU5UX1ZFUlNJT05f Q1BQIDo9ICQoc2hlbGwgZXhwciAkKExJQlRSQUNFRVZFTlRfVkVSU0lPTl8xKSBcKiAyNTUgXCog MjU1ICsgJChMSUJUUkFDRUVWRU5UX1ZFUlNJT05fMikgXCogMjU1ICsgJChMSUJUUkFDRUVWRU5U X1ZFUlNJT05fMykpCiAgICBDRkxBR1MgKz0gLURMSUJUUkFDRUVWRU5UX1ZFUlNJT049JChMSUJU UkFDRUVWRU5UX1ZFUlNJT05fQ1BQKQogIGVsc2UKICAgIGR1bW15IDo9ICQoZXJyb3IgRXJyb3I6 IE5vIGxpYnRyYWNlZXZlbnQgZGV2ZWwgbGlicmFyeSBmb3VuZCwgcGxlYXNlIGluc3RhbGwgbGli dHJhY2VldmVudC1kZXZlbCk7CiAgZW5kaWYKZW5kaWYKCmlmZGVmIExJQlRSQUNFRlNfRFlOQU1J QwogICQoY2FsbCBmZWF0dXJlX2NoZWNrLGxpYnRyYWNlZnMpCiAgaWZlcSAoJChmZWF0dXJlLWxp YnRyYWNlZnMpLCAxKQogICAgRVhUTElCUyArPSAtbHRyYWNlZnMKICAgIExJQlRSQUNFRlNfVkVS U0lPTiA6PSAkKHNoZWxsICQoUEtHX0NPTkZJRykgLS1tb2R2ZXJzaW9uIGxpYnRyYWNlZnMpCiAg ICBMSUJUUkFDRUZTX1ZFUlNJT05fMSA6PSAkKHdvcmQgMSwgJChzdWJzdCAuLCAsJChMSUJUUkFD RUZTX1ZFUlNJT04pKSkKICAgIExJQlRSQUNFRlNfVkVSU0lPTl8yIDo9ICQod29yZCAyLCAkKHN1 YnN0IC4sICwkKExJQlRSQUNFRlNfVkVSU0lPTikpKQogICAgTElCVFJBQ0VGU19WRVJTSU9OXzMg Oj0gJCh3b3JkIDMsICQoc3Vic3QgLiwgLCQoTElCVFJBQ0VGU19WRVJTSU9OKSkpCiAgICBMSUJU UkFDRUZTX1ZFUlNJT05fQ1BQIDo9ICQoc2hlbGwgZXhwciAkKExJQlRSQUNFRlNfVkVSU0lPTl8x KSBcKiAyNTUgXCogMjU1ICsgJChMSUJUUkFDRUZTX1ZFUlNJT05fMikgXCogMjU1ICsgJChMSUJU UkFDRUZTX1ZFUlNJT05fMykpCiAgICBDRkxBR1MgKz0gLURMSUJUUkFDRUZTX1ZFUlNJT049JChM SUJUUkFDRUZTX1ZFUlNJT05fQ1BQKQogIGVsc2UKICAgIGR1bW15IDo9ICQoZXJyb3IgRXJyb3I6 IE5vIGxpYnRyYWNlZnMgZGV2ZWwgbGlicmFyeSBmb3VuZCwgcGxlYXNlIGluc3RhbGwgbGlidHJh Y2Vmcy1kZXYpOwogIGVuZGlmCmVuZGlmCgojIEFtb25nIHRoZSB2YXJpYWJsZXMgYmVsb3csIHRo ZXNlOgojICAgcGVyZmV4ZWNkaXIKIyAgIHBlcmZfaW5jbHVkZV9kaXIKIyAgIHBlcmZfZXhhbXBs ZXNfZGlyCiMgICB0ZW1wbGF0ZV9kaXIKIyAgIG1hbmRpcgojICAgaW5mb2RpcgojICAgaHRtbGRp cgojICAgRVRDX1BFUkZDT05GSUcgKGJ1dCBub3Qgc3lzY29uZmRpcikKIyBjYW4gYmUgc3BlY2lm aWVkIGFzIGEgcmVsYXRpdmUgcGF0aCBzb21lL3doZXJlL2Vsc2U7CiMgdGhpcyBpcyBpbnRlcnBy ZXRlZCBhcyByZWxhdGl2ZSB0byAkKHByZWZpeCkgYW5kICJwZXJmIiBhdAojIHJ1bnRpbWUgZmln dXJlcyBvdXQgd2hlcmUgdGhleSBhcmUgYmFzZWQgb24gdGhlIHBhdGggdG8gdGhlIGV4ZWN1dGFi bGUuCiMgVGhpcyBjYW4gaGVscCBpbnN0YWxsaW5nIHRoZSBzdWl0ZSBpbiBhIHJlbG9jYXRhYmxl IHdheS4KCiMgTWFrZSB0aGUgcGF0aCByZWxhdGl2ZSB0byBERVNURElSLCBub3QgdG8gcHJlZml4 CmlmbmRlZiBERVNURElSCnByZWZpeCA/PSAkKEhPTUUpCmVuZGlmCmJpbmRpcl9yZWxhdGl2ZSA9 IGJpbgpiaW5kaXIgPSAkKGFic3BhdGggJChwcmVmaXgpLyQoYmluZGlyX3JlbGF0aXZlKSkKaW5j bHVkZWRpcl9yZWxhdGl2ZSA9IGluY2x1ZGUKaW5jbHVkZWRpciA9ICQoYWJzcGF0aCAkKHByZWZp eCkvJChpbmNsdWRlZGlyX3JlbGF0aXZlKSkKbWFuZGlyID0gc2hhcmUvbWFuCmluZm9kaXIgPSBz aGFyZS9pbmZvCnBlcmZleGVjZGlyID0gbGliZXhlYy9wZXJmLWNvcmUKcGVyZl9pbmNsdWRlX2Rp ciA9IGxpYi9wZXJmL2luY2x1ZGUKcGVyZl9leGFtcGxlc19kaXIgPSBsaWIvcGVyZi9leGFtcGxl cwpzaGFyZWRpciA9ICQocHJlZml4KS9zaGFyZQp0ZW1wbGF0ZV9kaXIgPSBzaGFyZS9wZXJmLWNv cmUvdGVtcGxhdGVzClNUUkFDRV9HUk9VUFNfRElSID0gc2hhcmUvcGVyZi1jb3JlL3N0cmFjZS9n cm91cHMKaHRtbGRpciA9IHNoYXJlL2RvYy9wZXJmLWRvYwp0aXBkaXIgPSBzaGFyZS9kb2MvcGVy Zi10aXAKc3JjZGlyID0gJChzcmN0cmVlKS90b29scy9wZXJmCmlmZXEgKCQocHJlZml4KSwvdXNy KQpzeXNjb25mZGlyID0gL2V0YwpFVENfUEVSRkNPTkZJRyA9ICQoc3lzY29uZmRpcikvcGVyZmNv bmZpZwplbHNlCnN5c2NvbmZkaXIgPSAkKHByZWZpeCkvZXRjCkVUQ19QRVJGQ09ORklHID0gZXRj L3BlcmZjb25maWcKZW5kaWYKaWZuZGVmIGxpYgppZmVxICgkKFNSQ0FSQ0gpJChJU182NF9CSVQp LCB4ODYxKQpsaWIgPSBsaWI2NAplbHNlCmxpYiA9IGxpYgplbmRpZgplbmRpZiAjIGxpYgpsaWJk aXIgPSAkKHByZWZpeCkvJChsaWIpCgojIFNoZWxsIHF1b3RlIChkbyBub3QgdXNlICQoY2FsbCkg dG8gYWNjb21tb2RhdGUgYW5jaWVudCBzZXR1cHMpOwpFVENfUEVSRkNPTkZJR19TUSA9ICQoc3Vi c3QgJywnXCcnLCQoRVRDX1BFUkZDT05GSUcpKQpTVFJBQ0VfR1JPVVBTX0RJUl9TUSA9ICQoc3Vi c3QgJywnXCcnLCQoU1RSQUNFX0dST1VQU19ESVIpKQpERVNURElSX1NRID0gJChzdWJzdCAnLCdc JycsJChERVNURElSKSkKYmluZGlyX1NRID0gJChzdWJzdCAnLCdcJycsJChiaW5kaXIpKQppbmNs dWRlZGlyX1NRID0gJChzdWJzdCAnLCdcJycsJChpbmNsdWRlZGlyKSkKbWFuZGlyX1NRID0gJChz dWJzdCAnLCdcJycsJChtYW5kaXIpKQppbmZvZGlyX1NRID0gJChzdWJzdCAnLCdcJycsJChpbmZv ZGlyKSkKcGVyZmV4ZWNkaXJfU1EgPSAkKHN1YnN0ICcsJ1wnJywkKHBlcmZleGVjZGlyKSkKcGVy Zl9pbmNsdWRlX2Rpcl9TUSA9ICQoc3Vic3QgJywnXCcnLCQocGVyZl9pbmNsdWRlX2RpcikpCnBl cmZfZXhhbXBsZXNfZGlyX1NRID0gJChzdWJzdCAnLCdcJycsJChwZXJmX2V4YW1wbGVzX2Rpcikp CnRlbXBsYXRlX2Rpcl9TUSA9ICQoc3Vic3QgJywnXCcnLCQodGVtcGxhdGVfZGlyKSkKaHRtbGRp cl9TUSA9ICQoc3Vic3QgJywnXCcnLCQoaHRtbGRpcikpCnRpcGRpcl9TUSA9ICQoc3Vic3QgJywn XCcnLCQodGlwZGlyKSkKcHJlZml4X1NRID0gJChzdWJzdCAnLCdcJycsJChwcmVmaXgpKQpzeXNj b25mZGlyX1NRID0gJChzdWJzdCAnLCdcJycsJChzeXNjb25mZGlyKSkKbGliZGlyX1NRID0gJChz dWJzdCAnLCdcJycsJChsaWJkaXIpKQpzcmNkaXJfU1EgPSAkKHN1YnN0ICcsJ1wnJywkKHNyY2Rp cikpCgppZm5lcSAoJChmaWx0ZXIgLyUsJChmaXJzdHdvcmQgJChwZXJmZXhlY2RpcikpKSwpCnBl cmZleGVjX2luc3RkaXIgPSAkKHBlcmZleGVjZGlyKQpwZXJmX2luY2x1ZGVfaW5zdGRpciA9ICQo cGVyZl9pbmNsdWRlX2RpcikKcGVyZl9leGFtcGxlc19pbnN0ZGlyID0gJChwZXJmX2V4YW1wbGVz X2RpcikKU1RSQUNFX0dST1VQU19JTlNURElSID0gJChTVFJBQ0VfR1JPVVBTX0RJUikKdGlwX2lu c3RkaXIgPSAkKHRpcGRpcikKZWxzZQpwZXJmZXhlY19pbnN0ZGlyID0gJChwcmVmaXgpLyQocGVy ZmV4ZWNkaXIpCnBlcmZfaW5jbHVkZV9pbnN0ZGlyID0gJChwcmVmaXgpLyQocGVyZl9pbmNsdWRl X2RpcikKcGVyZl9leGFtcGxlc19pbnN0ZGlyID0gJChwcmVmaXgpLyQocGVyZl9leGFtcGxlc19k aXIpClNUUkFDRV9HUk9VUFNfSU5TVERJUiA9ICQocHJlZml4KS8kKFNUUkFDRV9HUk9VUFNfRElS KQp0aXBfaW5zdGRpciA9ICQocHJlZml4KS8kKHRpcGRpcikKZW5kaWYKcGVyZmV4ZWNfaW5zdGRp cl9TUSA9ICQoc3Vic3QgJywnXCcnLCQocGVyZmV4ZWNfaW5zdGRpcikpCnBlcmZfaW5jbHVkZV9p bnN0ZGlyX1NRID0gJChzdWJzdCAnLCdcJycsJChwZXJmX2luY2x1ZGVfaW5zdGRpcikpCnBlcmZf ZXhhbXBsZXNfaW5zdGRpcl9TUSA9ICQoc3Vic3QgJywnXCcnLCQocGVyZl9leGFtcGxlc19pbnN0 ZGlyKSkKU1RSQUNFX0dST1VQU19JTlNURElSX1NRID0gJChzdWJzdCAnLCdcJycsJChTVFJBQ0Vf R1JPVVBTX0lOU1RESVIpKQp0aXBfaW5zdGRpcl9TUSA9ICQoc3Vic3QgJywnXCcnLCQodGlwX2lu c3RkaXIpKQoKIyBJZiB3ZSBpbnN0YWxsIHRvICQoSE9NRSkgd2Uga2VlcCB0aGUgdHJhY2VldmVu dCBkZWZhdWx0OgojICQoSE9NRSkvLnRyYWNlZXZlbnQvcGx1Z2lucwojIE90aGVyd2lzZSB3ZSBp bnN0YWxsIHBsdWdpbnMgaW50byB0aGUgZ2xvYmFsICQobGliZGlyKS4KaWZkZWYgREVTVERJUgpw bHVnaW5kaXI9JChsaWJkaXIpL3RyYWNlZXZlbnQvcGx1Z2lucwpwbHVnaW5kaXJfU1E9ICQoc3Vi c3QgJywnXCcnLCQocGx1Z2luZGlyKSkKZW5kaWYKCnByaW50X3ZhciA9ICQoZXZhbCAkKHByaW50 X3Zhcl9jb2RlKSkgJChpbmZvICQoTVNHKSkKZGVmaW5lIHByaW50X3Zhcl9jb2RlCiAgICBNU0cg PSAkKHNoZWxsIHByaW50ZiAnLi4uJTMwczogJXMnICQoMSkgJCgkKDEpKSkKZW5kZWYKCmlmZXEg KCQoVkYpLDEpCiAgIyBEaXNwbGF5IEVYVFJBIGZlYXR1cmVzIHdoaWNoIGFyZSBkZXRlY3RlZCBt YW51YWx5CiAgIyBmcm9tIGhlcmUgd2l0aCBmZWF0dXJlX2NoZWNrIGNhbGwgYW5kIHRodXMgY2Fu bm90CiAgIyBiZSBwYXJ0b2YgZ2xvYmFsIHN0YXRlIG91dHB1dC4KICAkKGZvcmVhY2ggZmVhdCwk KEZFQVRVUkVfVEVTVFNfRVhUUkEpLCQoY2FsbCBmZWF0dXJlX3ByaW50X3N0YXR1cywkKGZlYXQp LCkpCiAgJChjYWxsIHByaW50X3ZhcixwcmVmaXgpCiAgJChjYWxsIHByaW50X3ZhcixiaW5kaXIp CiAgJChjYWxsIHByaW50X3ZhcixsaWJkaXIpCiAgJChjYWxsIHByaW50X3ZhcixzeXNjb25mZGly KQogICQoY2FsbCBwcmludF92YXIsTElCVU5XSU5EX0RJUikKICAkKGNhbGwgcHJpbnRfdmFyLExJ QkRXX0RJUikKICAkKGNhbGwgcHJpbnRfdmFyLEpESVIpCgogIGlmZXEgKCQoZHdhcmYtcG9zdC11 bndpbmQpLDEpCiAgICAkKGNhbGwgZmVhdHVyZV9wcmludF90ZXh0LCJEV0FSRiBwb3N0IHVud2lu ZCBsaWJyYXJ5IiwgJChkd2FyZi1wb3N0LXVud2luZC10ZXh0KSkKICBlbmRpZgogICQoaW5mbyAp CmVuZGlmCgokKGNhbGwgZGV0ZWN0ZWRfdmFyLGJpbmRpcl9TUSkKJChjYWxsIGRldGVjdGVkX3Zh cixQWVRIT05fV09SRCkKaWZuZXEgKCQoT1VUUFVUKSwpCiQoY2FsbCBkZXRlY3RlZF92YXIsT1VU UFVUKQplbmRpZgokKGNhbGwgZGV0ZWN0ZWRfdmFyLGh0bWxkaXJfU1EpCiQoY2FsbCBkZXRlY3Rl ZF92YXIsaW5mb2Rpcl9TUSkKJChjYWxsIGRldGVjdGVkX3ZhcixtYW5kaXJfU1EpCiQoY2FsbCBk ZXRlY3RlZF92YXIsRVRDX1BFUkZDT05GSUdfU1EpCiQoY2FsbCBkZXRlY3RlZF92YXIsU1RSQUNF X0dST1VQU19ESVJfU1EpCiQoY2FsbCBkZXRlY3RlZF92YXIscHJlZml4X1NRKQokKGNhbGwgZGV0 ZWN0ZWRfdmFyLHBlcmZleGVjZGlyX1NRKQokKGNhbGwgZGV0ZWN0ZWRfdmFyLHBlcmZfaW5jbHVk ZV9kaXJfU1EpCiQoY2FsbCBkZXRlY3RlZF92YXIscGVyZl9leGFtcGxlc19kaXJfU1EpCiQoY2Fs bCBkZXRlY3RlZF92YXIsdGlwZGlyX1NRKQokKGNhbGwgZGV0ZWN0ZWRfdmFyLHNyY2Rpcl9TUSkK JChjYWxsIGRldGVjdGVkX3ZhcixMSUJESVIpCiQoY2FsbCBkZXRlY3RlZF92YXIsR1RLX0NGTEFH UykKJChjYWxsIGRldGVjdGVkX3ZhcixQRVJMX0VNQkVEX0NDT1BUUykKJChjYWxsIGRldGVjdGVk X3ZhcixQWVRIT05fRU1CRURfQ0NPUFRTKQppZm5lcSAoJChCSVNPTl9GSUxFX1BSRUZJWF9NQVAp LCkKJChjYWxsIGRldGVjdGVkX3ZhcixCSVNPTl9GSUxFX1BSRUZJWF9NQVApCmVuZGlmCgojIHJl LWdlbmVyYXRlIEZFQVRVUkUtRFVNUCBhcyB3ZSBtYXkgaGF2ZSBjYWxsZWQgZmVhdHVyZV9jaGVj aywgZm91bmQgb3V0CiMgZXh0cmEgbGlicmFyaWVzIHRvIGFkZCB0byBMREZMQUdTIG9mIHNvbWUg b3RoZXIgdGVzdCBhbmQgdGhlbiByZWRvIHRob3NlCiMgdGVzdHMsIHNlZSB0aGUgYmxvY2sgYWJv dXQgbGliYmZkLCBkaXNhc3NlbWJsZXItZm91ci1hcmdzLCBmb3IgaW5zdGFuY2UuCiQoc2hlbGwg cm0gLWYgJChGRUFUVVJFX0RVTVBfRklMRU5BTUUpKQokKGZvcmVhY2ggZmVhdCwkKEZFQVRVUkVf VEVTVFMpLCQoc2hlbGwgZWNobyAiJChjYWxsIGZlYXR1cmVfYXNzaWduLCQoZmVhdCkpIiA+PiAk KEZFQVRVUkVfRFVNUF9GSUxFTkFNRSkpKQoKaWZlcSAoJChmZWF0dXJlX2Rpc3BsYXkpLDEpCiAg JChjYWxsIGZlYXR1cmVfZGlzcGxheV9lbnRyaWVzKQplbmRpZgo= --0000000000000ac4fd05e16fb3cd--