From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ed1-x52c.google.com (mail-ed1-x52c.google.com [IPv6:2a00:1450:4864:20::52c]) by sourceware.org (Postfix) with ESMTPS id 2712E3858C20 for ; Tue, 16 May 2023 03:15:18 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 2712E3858C20 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-ed1-x52c.google.com with SMTP id 4fb4d7f45d1cf-50bdd7b229cso24421355a12.0 for ; Mon, 15 May 2023 20:15:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1684206917; x=1686798917; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=zUdsL5eNifyd1NctwnQf5e59oAhQomn7BiLonLofkJg=; b=rG3j9Amdo2kJPELBd7o3SS8SWM6loWCmDqeRuoC5dj87qSZ9X6yxtfqeM0pAwJJuRR QMGbt6u4nrnCCtEYYz6sslY4cHILCwuWvtugN7VTKWPhzmwDg5porDImF6bPyVee49U+ ZDzo3+fFKGWF/3nTrOjlVMo6bMiEQjeDAs4P659LRyC3M8KHViUE1oqLRBmJOjdJmhxL A8LjNWE4+bIMpQOh86WqKhXLYSSWYGYyMb+TVzmlpNnRzGg7CWTFck7l0WVYNoridTmD rdcv6djiNDnp21zy7aPA7sk30rjNQ3V4VRAJIKGVCI+NDTxreXa/g7fI+i0uEj0gqzvw m38Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684206917; x=1686798917; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=zUdsL5eNifyd1NctwnQf5e59oAhQomn7BiLonLofkJg=; b=kr6UqyJIVUHxSft58/isV0it9Ju49y9dNJC8e2ITV076mVidApUaADIdxN6IjpedA2 31bbtso9VZvHlPWm4zy/jeWzn3HxpQtTzdL+gOC3hzc7qjCnIxKBzGzNYML6RlU9gS3O 7hqDTmecLTxN1WxFzaFmm8OmePMMnM/WZYYO2BrXJS3pEFaqhj2l8XdBe+7fJM5Xg1i3 QIKtblf2dqHarSdcFBqPwX2Uf2oXZaQEQ4UfOYt/Pgzj2LmaHoq3hzNFrSlWWqbbNXLl 5WAew7c5T7iYRiwMqC5qqlDN7UiYp+dsRnmaq0B+fVm/12kd6PHQv1BZ2eMgUTYXlkeX jbeA== X-Gm-Message-State: AC+VfDwto/Tk/Qwof7CKVXEHaGdtt8EuWBlwrDEDgA5Xd+VqKb1ikODy NF5Hq19ayHHfX8V3KAqseupLywSWk1i1t3rM7LlNLxGa X-Google-Smtp-Source: ACHHUZ7bKYJjOaTBB3fIf55pKvxenon8bqWv1vn+7bhb6iNWNV6KS5pFMT8vSTvf9OqRdUDzKlRobwyeCGy41zZMpP4= X-Received: by 2002:a17:907:3183:b0:965:626a:26cc with SMTP id xe3-20020a170907318300b00965626a26ccmr32912555ejb.65.1684206916620; Mon, 15 May 2023 20:15:16 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: =?UTF-8?B?5b6Q5oyB5oGSIFh1IENoaWhlbmc=?= Date: Tue, 16 May 2023 11:15:04 +0800 Message-ID: Subject: Re: Contribute some scripts to build Cross-GCC, Clang, and QEMU on Cygwin and MSYS2/MinGW-w64 To: cygwin@cygwin.com Content-Type: multipart/mixed; boundary="000000000000fea80a05fbc6faa6" X-Spam-Status: No, score=1.3 required=5.0 tests=BAYES_00,BODY_8BITS,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,KAM_NUMSUBJECT,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Level: * X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --000000000000fea80a05fbc6faa6 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Forgot to attached the common.sh file. On Tue, May 16, 2023 at 11:10=E2=80=AFAM =E5=BE=90=E6=8C=81=E6=81=92 Xu Chi= heng wrote: > > These are the scripts I used internally. > > The scripts are started by bash -i, they will source the ~/.bashrc > file at startup, so they can use the convenient bash functions defined > there. > > QEMU can only be built on MSYS2/MinGW-w64. --000000000000fea80a05fbc6faa6 Content-Type: text/x-sh; charset="UTF-8"; name="common.sh" Content-Disposition: attachment; filename="common.sh" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lhppafvn0 IyBNSVQgTGljZW5zZQoKIyBDb3B5cmlnaHQgKGMpIDIwMjMg5b6Q5oyB5oGSIFh1IENoaWhlbmcK CiMgUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBw ZXJzb24gb2J0YWluaW5nIGEgY29weQojIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQg ZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0byBkZWFsCiMgaW4gdGhlIFNv ZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24g dGhlIHJpZ2h0cwojIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJp YnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwKIyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBh bmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMKIyBmdXJuaXNoZWQg dG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgoKIyBUaGUgYWJv dmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBp bmNsdWRlZCBpbiBhbGwKIyBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNv ZnR3YXJlLgoKIyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJS QU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgojIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9U IExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAojIEZJVE5FU1Mg Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5U IFNIQUxMIFRIRQojIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBB TlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKIyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNU SU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLAojIE9VVCBP RiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIg REVBTElOR1MgSU4gVEhFCiMgU09GVFdBUkUuCgpjaGVja19idWlsZF90eXBlX3Rvb2xjaGFpbl9h bmRfc2V0X2NvbXBpbGVyX2ZsYWdzKCkgewoKICAgIGlmIFsgLXogIiR7QlVJTERfVFlQRX0iIF07 dGhlbgogICAgICAgIEJVSUxEX1RZUEU9UmVsZWFzZQogICAgZmkKCiAgICBpZiBbIC16ICIke1RP T0xDSEFJTn0iIF07dGhlbgogICAgICAgIFRPT0xDSEFJTj1HQ0MKICAgIGZpCgogICAgY2FzZSAi JHtCVUlMRF9UWVBFfSIgaW4KICAgICAgICBSZWxlYXNlIHwgRGVidWcgKQogICAgICAgICAgICBl Y2hvICJidWlsZCB0eXBlIDogJHtCVUlMRF9UWVBFfSIKICAgICAgICAgICAgOzsKICAgICAgICAq ICkKICAgICAgICAgICAgZWNobyAidW5rbm93biBidWlsZCB0eXBlIDogJHtCVUlMRF9UWVBFfSIK ICAgICAgICAgICAgZWNobyAidmFsaWQgYnVpbGQgdHlwZSA6IFJlbGVhc2UgRGVidWciCiAgICAg ICAgICAgIGV4aXQKICAgICAgICAgICAgOzsKICAgIGVzYWMKCiAgICBjYXNlICIke1RPT0xDSEFJ Tn0iIGluCiAgICAgICAgR0NDIHwgQ2xhbmcgKQogICAgICAgICAgICBlY2hvICJ0b29sY2hhaW4g OiAke1RPT0xDSEFJTn0iCiAgICAgICAgICAgIDs7CiAgICAgICAgKiApCiAgICAgICAgICAgIGVj aG8gInVua25vd24gdG9vbGNoYWluIDogJHtUT09MQ0hBSU59IgogICAgICAgICAgICBlY2hvICJ2 YWxpZCB0b29sY2hhaW4gOiBHQ0MgQ2xhbmciCiAgICAgICAgICAgIGV4aXQKICAgICAgICAgICAg OzsKICAgIGVzYWMKCiAgICBjYXNlICIke1RPT0xDSEFJTn0iIGluCiAgICAgICAgR0NDICkKICAg ICAgICAgICAgQ0M9Z2NjCiAgICAgICAgICAgIENYWD1nKysKICAgICAgICAgICAgOzsKICAgICAg ICBDbGFuZyApCiAgICAgICAgICAgIENDPWNsYW5nCiAgICAgICAgICAgIENYWD1jbGFuZysrCiAg ICAgICAgICAgICMgRGlzYWJsZSBjb2xvciBlcnJvcnMgZ2xvYmFsbHk/CiAgICAgICAgICAgICMg aHR0cDovL2NsYW5nLWRldmVsb3BlcnMuNDI0NjgubjMubmFiYmxlLmNvbS9EaXNhYmxlLWNvbG9y LWVycm9ycy1nbG9iYWxseS10ZDQwNjUzMTcuaHRtbAogICAgICAgICAgICBleHBvcnQgVEVSTT1k dW1iCiAgICAgICAgICAgIDs7CiAgICBlc2FjCgogICAgIyBodHRwczovL3d3dy5waG9yb25peC5j b20vc2Nhbi5waHA/cGFnZT1uZXdzX2l0ZW0mcHg9R0NDLTExLXg4Ni02NC1GZWF0dXJlLUxldmVs cwogICAgIyB4ODYtNjQ6IENNT1YsIENNUFhDSEc4QiwgRlBVLCBGWFNSLCBNTVgsIEZYU1IsIFND RSwgU1NFLCBTU0UyCiAgICAjIHg4Ni02NC12MjogKGNsb3NlIHRvIE5laGFsZW0pIENNUFhDSEcx NkIsIExBSEYtU0FIRiwgUE9QQ05ULCBTU0UzLCBTU0U0LjEsIFNTRTQuMiwgU1NTRTMKICAgICMg eDg2LTY0LXYzOiAoY2xvc2UgdG8gSGFzd2VsbCkgQVZYLCBBVlgyLCBCTUkxLCBCTUkyLCBGMTZD LCBGTUEsIExaQ05ULCBNT1ZCRSwgWFNBVkUKICAgICMgeDg2LTY0LXY0OiBBVlg1MTJGLCBBVlg1 MTJCVywgQVZYNTEyQ0QsIEFWWDUxMkRRLCBBVlg1MTJWTAoKICAgICMgb25seSBnY2MgMTErIGFu ZCBjbGFuZyAxMisgc3VwcG9ydCB0aGlzCiAgICAjIGxvY2FsIENQVV9BUkNIX0ZMQUdTPSItbWFy Y2g9eDg2LTY0LXYzIgogICAgbG9jYWwgQ1BVX0FSQ0hfRkxBR1M9Ii1tYXJjaD14ODYtNjQiCiAg ICBjYXNlICIke0JVSUxEX1RZUEV9IiBpbgogICAgICAgIFJlbGVhc2UgKQogICAgICAgICAgICBD RkxBR1MrPSIgLU8yICR7Q1BVX0FSQ0hfRkxBR1N9IgogICAgICAgICAgICBDWFhGTEFHUys9IiAt TzIgJHtDUFVfQVJDSF9GTEFHU30iCiAgICAgICAgICAgIExERkxBR1MrPSIgLVdsLC0tc3RyaXAt YWxsIgogICAgICAgICAgICA7OwogICAgICAgIERlYnVnICkKICAgICAgICAgICAgQ0ZMQUdTKz0i IC1PMCAtZzMgJHtDUFVfQVJDSF9GTEFHU30iCiAgICAgICAgICAgIENYWEZMQUdTKz0iIC1PMCAt ZzMgJHtDUFVfQVJDSF9GTEFHU30iCiAgICAgICAgICAgIExERkxBR1MrPQogICAgICAgICAgICA7 OwogICAgZXNhYwoKICAgICMgaHR0cHM6Ly9sZWFybi5taWNyb3NvZnQuY29tL2VuLXVzL2NwcC9j LXJ1bnRpbWUtbGlicmFyeS9saW5rLW9wdGlvbnMKICAgICMgY29tbW9kZS5vYmoJcGNvbW1vZGUu b2JqCVNldHMgdGhlIGdsb2JhbCBjb21taXQgZmxhZyB0byAiY29tbWl0Ii4gU2VlIGZvcGVuLCBf d2ZvcGVuIGFuZCBmb3Blbl9zLCBfd2ZvcGVuX3MuCiAgICBjYXNlICR7SE9TVF9OQU1FfSBpbgog ICAgICAgIHg4Nl82NC1wYy1taW5ndzY0ICkKICAgICAgICAgICAgTERGTEFHUys9IiAtV2wsJChn Y2MgLXByaW50LWZpbGUtbmFtZT1iaW5tb2RlLm8pIgogICAgICAgICAgICA7OwogICAgZXNhYwoK ICAgICMgaWYgdHJ1ZTsgdGhlbgogICAgIyAgICAgIyBEbyBub3QgbGluayBhZ2FpbnN0IHNoYXJl ZCBsaWJyYXJpZXMKICAgICMgICAgIExERkxBR1MrPSIgLVdsLC1Cc3RhdGljIgogICAgIyBlbHNl CiAgICAjICAgICAjIExpbmsgYWdhaW5zdCBzaGFyZWQgbGlicmFyaWVzCiAgICAjICAgICBMREZM QUdTKz0iIC1XbCwtQmR5bmFtaWMiCiAgICAjIGZpCgogICAgZWNobyAiQ0MgICAgICAgOiAke0ND fSAkKCIke0NDfSIgLWR1bXB2ZXJzaW9uKSIKICAgIGVjaG8gIkNYWCAgICAgIDogJHtDWFh9ICQo IiR7Q1hYfSIgLWR1bXB2ZXJzaW9uKSIKICAgIGVjaG8gIkNGTEFHUyAgIDogJHtDRkxBR1N9Igog ICAgZWNobyAiQ1hYRkxBR1MgOiAke0NYWEZMQUdTfSIKICAgIGVjaG8gIkxERkxBR1MgIDogJHtM REZMQUdTfSIKICAgIGV4cG9ydCBDQyBDWFggQ0ZMQUdTIENYWEZMQUdTIExERkxBR1MKfQoKbGx2 bV9jaGVja19zdGF0aWNfb3Jfc2hhcmVkKCkgewogICAgaWYgWyAteiAiJHtTVEFUSUNfT1JfU0hB UkVEfSIgXTt0aGVuCiAgICAgICAgU1RBVElDX09SX1NIQVJFRD1zdGF0aWMKICAgIGZpCiAgICBj YXNlICIke1NUQVRJQ19PUl9TSEFSRUR9IiBpbgogICAgICAgIHN0YXRpYyB8IHNoYXJlZCApCiAg ICAgICAgICAgIGVjaG8gImJ1aWxkICR7U1RBVElDX09SX1NIQVJFRH0iCiAgICAgICAgICAgIDs7 CiAgICAgICAgKiApCiAgICAgICAgICAgIGVjaG8gInVua25vd24gYXJnIDogJHtTVEFUSUNfT1Jf U0hBUkVEfSIKICAgICAgICAgICAgZWNobyAidmFsaWQgYXJnIDogc3RhdGljIHNoYXJlZCIKICAg ICAgICAgICAgZXhpdAogICAgICAgICAgICA7OwogICAgZXNhYwp9CgptYXliZV9naXRfZmlsZW1v ZGVfZmFsc2UoKSB7CiAgICBjYXNlICR7SE9TVF9OQU1FfSBpbgogICAgICAgIHg4Nl82NC1wYy1t c3lzIHwgeDg2XzY0LXBjLW1pbmd3NjQgKQogICAgICAgICAgICBnaXRfZmlsZW1vZGVfZmFsc2UK ICAgICAgICAgICAgOzsKICAgIGVzYWMKfQoKZ2l0X2NoZWNrb3V0X2Rpcl9yZXZpc2lvbigpIHsK ICAgIGxvY2FsIGRpcj0iJDEiCiAgICBsb2NhbCBnaXRfcmV2aXNpb249IiQyIgoKICAgICggY2Qg IiR7ZGlyfSIgJiYgbWF5YmVfZ2l0X2ZpbGVtb2RlX2ZhbHNlICkgXAogICAgJiYgKCBjZCAiJHtk aXJ9IiAmJiBnaXQgY2hlY2tvdXQgIiR7Z2l0X3JldmlzaW9ufSIgJiYgZ2l0IHJlc2V0IC0taGFy ZCBIRUFEICkKfQoKZ2l0X2Nsb25lX2FuZF9jaGVja291dF9kaXJfcmV2aXNpb24oKSB7CiAgICBs b2NhbCBkaXI9IiQxIgogICAgbG9jYWwgZ2l0X3JldmlzaW9uPSIkMiIKICAgIGxvY2FsIGdpdF9y ZXBvX3VybD0iJDMiCgogICAgZ2l0IGNsb25lICIke2dpdF9yZXBvX3VybH0iICIke2Rpcn0iIFwK ICAgICYmIGdpdF9jaGVja291dF9kaXJfcmV2aXNpb24gIiR7ZGlyfSIgIiR7Z2l0X3JldmlzaW9u fSIKfQoKY2hlY2tfZGlyX21heWJlX2NoZWNrb3V0KCkgewogICAgbG9jYWwgZGlyPSIkMSIKICAg IGxvY2FsIGdpdF9yZXZpc2lvbj0iJDIiCiAgICBsb2NhbCBnaXRfcmVwb191cmw9IiQzIgoKICAg IGlmIFsgLWQgIiR7ZGlyfSIgXTsgdGhlbgogICAgICAgIGlmIFsgLWYgIiR7ZGlyfSIvcGF0Y2hp bmcgXTsgdGhlbgogICAgICAgICAgICAjIGRvIG5vdGhpbmcKICAgICAgICAgICAgdHJ1ZQogICAg ICAgIGVsaWYgWyAtZCAiJHtkaXJ9Ii8uZ2l0IF07IHRoZW4KICAgICAgICAgICAgZ2l0X2NoZWNr b3V0X2Rpcl9yZXZpc2lvbiAiJHtkaXJ9IiAiJHtnaXRfcmV2aXNpb259IgogICAgICAgIGVsc2UK ICAgICAgICAgICAgZWNobyAic291cmNlIGRpcmVjdG9yeSAke2Rpcn0gZXhpc3RzLCBidXQgY29u dGFpbnMgbm8gcGF0Y2hpbmcgZmlsZSwgb3IgLmdpdCBkaXJlY3RvcnkuIgogICAgICAgICAgICBy bSAtcmYgIiR7ZGlyfSIgXAogICAgICAgICAgICAmJiBnaXRfY2xvbmVfYW5kX2NoZWNrb3V0X2Rp cl9yZXZpc2lvbiAiJHtkaXJ9IiAiJHtnaXRfcmV2aXNpb259IiAiJHtnaXRfcmVwb191cmx9Igog ICAgICAgIGZpCiAgICBlbHNlCiAgICAgICAgZ2l0X2Nsb25lX2FuZF9jaGVja291dF9kaXJfcmV2 aXNpb24gIiR7ZGlyfSIgIiR7Z2l0X3JldmlzaW9ufSIgIiR7Z2l0X3JlcG9fdXJsfSIKICAgIGZp Cn0KCmxsdm1fY2hlY2tfZGlyX21heWJlX2NoZWNrb3V0KCkgewogICAgbG9jYWwgZGlyPSIkMSIK ICAgIGxvY2FsIGdpdF9yZXZpc2lvbj0iJDIiCiAgICBsb2NhbCBnaXRfcmVwb191cmw9IiQzIgoK ICAgIGNoZWNrX2Rpcl9tYXliZV9jaGVja291dCAiJHtkaXJ9IiAiJHtnaXRfcmV2aXNpb259IiAi JHtnaXRfcmVwb191cmx9IiBcCiAgICAmJiBpZiBbIC1mICIke2Rpcn0iL3BhdGNoaW5nIF07IHRo ZW4KICAgICAgICAjIGNoYW5nZSBDTEFOR19WRVJTSU9OIGZyb20gZ2l0CiAgICAgICAgdHJ1ZQog ICAgZmkKfQoKZ2NjX2NoZWNrX2Rpcl9tYXliZV9jaGVja291dCgpIHsKICAgIGxvY2FsIGRpcj0i JDEiCiAgICBsb2NhbCBnaXRfcmV2aXNpb249IiQyIgogICAgbG9jYWwgZ2l0X3JlcG9fdXJsPSIk MyIKCiAgICBjaGVja19kaXJfbWF5YmVfY2hlY2tvdXQgIiR7ZGlyfSIgIiR7Z2l0X3JldmlzaW9u fSIgIiR7Z2l0X3JlcG9fdXJsfSIgXAogICAgJiYgaWYgWyAtZiAiJHtkaXJ9Ii9wYXRjaGluZyBd OyB0aGVuCiAgICAgICAgIyBjaGFuZ2UgR0NDX1ZFUlNJT04gZnJvbSBnaXQKICAgICAgICB0cnVl CiAgICBmaQp9CgpjaGVja19kaXJfbWF5YmVfcmVtb3ZlKCkgewogICAgbG9jYWwgZGlyPSIkMSIK CiAgICBpZiBbIC1kICIke2Rpcn0iIF07IHRoZW4KICAgICAgICBpZiBbIC1kICIke2Rpcn0iLy5n aXQgXTsgdGhlbgogICAgICAgICAgICAjIGRvIG5vdGhpbmcKICAgICAgICAgICAgdHJ1ZQogICAg ICAgIGVsc2UKICAgICAgICAgICAgcm0gLXJmICIke2Rpcn0iCiAgICAgICAgZmkKICAgIGVsc2UK ICAgICAgICBybSAtcmYgIiR7ZGlyfSIKICAgIGZpCn0KCmNoZWNrX2Rpcl9tYXliZV9jaGVja291 dF9icmFuY2goKSB7CiAgICBsb2NhbCBkaXI9IiQxIgogICAgbG9jYWwgYnJhbmNoPSIkMiIKCiAg ICBpZiBbIC1kICIke2Rpcn0iIF07IHRoZW4KICAgICAgICBpZiBbIC1kICIke2Rpcn0iLy5naXQg XTsgdGhlbgogICAgICAgICAgICBpZiBbIC1mICIke2Rpcn0iL3BhdGNoaW5nIF07IHRoZW4KICAg ICAgICAgICAgICAgICMgZG8gbm90aGluZwogICAgICAgICAgICAgICAgdHJ1ZQogICAgICAgICAg ICBlbHNlCiAgICAgICAgICAgICAgIHRpbWUgKCBjZCAiJHtkaXJ9IiAmJiBnaXQgY2hlY2tvdXQg IiR7YnJhbmNofSIgJiYgZ2l0IHJlc2V0IC0taGFyZCBIRUFEICkKICAgICAgICAgICAgZmkKICAg ICAgICBlbHNlCiAgICAgICAgICAgICMgZG8gbm90aGluZwogICAgICAgICAgICB0cnVlCiAgICAg ICAgZmkKICAgIGVsc2UKICAgICAgICBlY2hvICJkaXIgJHtkaXJ9IGRvZXMgbm90IGV4aXN0Igog ICAgICAgIGZhbHNlCiAgICBmaQp9CgptYXliZV9tYWtlX3Rhcl9iYWxsX2FuZF9tb3ZlKCkgewog ICAgbG9jYWwgYnVpbGRfdHlwZT0iJDEiCiAgICBsb2NhbCB0YXJfYmFsbF9uYW1lPSIkMiIKICAg IGxvY2FsIHByZWZpeF9kaXI9IiQzIgogICAgbG9jYWwgaG9zdF9uYW1lPSIkNCIKCiAgICBpZiBb ICIke2J1aWxkX3R5cGV9IiAhPSBEZWJ1ZyBdOyB0aGVuCiAgICAgICAgcm0gLXJmICIke3Rhcl9i YWxsX25hbWV9IiBcCiAgICAgICAgJiYgcHVzaGQgIiR7cHJlZml4X2Rpcn0iICBcCiAgICAgICAg JiYgdGFyIC1jdmYgICIuLi8ke3Rhcl9iYWxsX25hbWV9IiAgICogIFwKICAgICAgICAmJiBwb3Bk IFwKICAgICAgICBcCiAgICAgICAgJiYgbWtkaXIgLXAgIiR7aG9zdF9uYW1lfSIgXAogICAgICAg ICYmIG12IC1mICIke3Rhcl9iYWxsX25hbWV9IiAiJHtob3N0X25hbWV9IgogICAgZmkKfQoKZG93 bmxvYWRfYW5kX3ZlcmlmeV9zb3VyY2VfdGFyX2JhbGwoKSB7CiAgICBsb2NhbCB1cmw9IiQxIgog ICAgbG9jYWwgYmFzZV9uYW1lPSIkKGJhc2VuYW1lICIke3VybH0iKSIKCiAgICBpZiBbICEgLWYg IiR7YmFzZV9uYW1lfSIgXTsgdGhlbgogICAgICAgIHdnZXQgLS1xdWlldCAiJHt1cmx9IgogICAg ZmkgXAogICAgJiYgaWYgWyAhIC1mICIke2Jhc2VfbmFtZX0iLnNoYTUxMiBdOyB0aGVuCiAgICAg ICAgc2hhNTEyc3VtICIke2Jhc2VfbmFtZX0iID4iJHtiYXNlX25hbWV9Ii5zaGE1MTIKICAgIGVs c2UKICAgICAgICBzaGE1MTJzdW0gLS1jaGVjayAtLXN0YXR1cyAiJHtiYXNlX25hbWV9Ii5zaGE1 MTIKICAgIGZpCn0KCnB1c2hfdG9fYnVpbGRfZGlyX2FuZF9jbWFrZSgpIHsKICAgIGxvY2FsIGJ1 aWxkX2Rpcj0iJDEiCiAgICBzaGlmdCAxICMgUmVtb3ZlcyAkMSBmcm9tIHRoZSBwYXJhbWV0ZXIg bGlzdAoKICAgICMgaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMTI5ODUxNzgv YmFzaC1xdW90ZWQtYXJyYXktZXhwYW5zaW9uCiAgICAjIGVjaG8gImNtYWtlIG9wdGlvbnM6ICIg IiR7QEBRfSIKICAgIGVjaG8gImNtYWtlIG9wdGlvbnM6ICIgIiRAIgoKICAgIHJtIC1yZiAiJHti dWlsZF9kaXJ9IiBcCiAgICAmJiBta2RpciAiJHtidWlsZF9kaXJ9IiBcCiAgICAmJiBwdXNoZCAi JHtidWlsZF9kaXJ9IiBcCiAgICAmJiBjbWFrZSAiJEAiCn0KCnB1c2hfdG9fYnVpbGRfZGlyX2Fu ZF9jb25maWd1cmUoKSB7CiAgICBsb2NhbCBidWlsZF9kaXI9IiQxIgogICAgbG9jYWwgc291cmNl X2Rpcj0iJDIiCiAgICBzaGlmdCAyICMgUmVtb3ZlcyAkMSB0byAkMiBmcm9tIHRoZSBwYXJhbWV0 ZXIgbGlzdAoKICAgICMgZWNobyAiY29uZmlndXJlIG9wdGlvbnM6ICIgIiR7QEBRfSIKICAgIGVj aG8gImNvbmZpZ3VyZSBvcHRpb25zOiAiICIkQCIKCiAgICBybSAtcmYgIiR7YnVpbGRfZGlyfSIg XAogICAgJiYgbWtkaXIgIiR7YnVpbGRfZGlyfSIgXAogICAgJiYgcHVzaGQgIiR7YnVpbGRfZGly fSIgXAogICAgJiYgLi4vIiR7c291cmNlX2Rpcn0iL2NvbmZpZ3VyZSAiJEAiCn0KCmV4dHJhY3Rf dGFyX2JhbGwoKSB7CiAgICBsb2NhbCB0YXJfYmFsbD0iJDEiCiAgICBsb2NhbCBleHRyYWN0ZWRf ZGlyPSIkMiIKICAgIGxvY2FsIHNvdXJjZV9kaXI9IiQzIgoKICAgIHJtIC1yZiAiJHtleHRyYWN0 ZWRfZGlyfSIgIiR7c291cmNlX2Rpcn0iIFwKICAgICYmIHRhciAteHZmICIke3Rhcl9iYWxsfSIg XAogICAgJiYgbXYgIiR7ZXh0cmFjdGVkX2Rpcn0iICIke3NvdXJjZV9kaXJ9Igp9CgpleHRyYWN0 X2NvbmZpZ3VyZV9idWlsZF9hbmRfaW5zdGFsbF9wYWNrYWdlKCkgewogICAgbG9jYWwgcGFja2Fn ZV9uYW1lPSIkMSIKICAgIGxvY2FsIHRhcl9iYWxsPSIkMiIKICAgIGxvY2FsIGV4dHJhY3RlZF9k aXI9IiQzIgogICAgbG9jYWwgYnVpbGRfZGlyPSIkNCIKCiAgICAjIGh0dHBzOi8vc3RhY2tvdmVy Zmxvdy5jb20vcXVlc3Rpb25zLzYyMTIyMTkvcGFzc2luZy1wYXJhbWV0ZXJzLXRvLWEtYmFzaC1m dW5jdGlvbgogICAgc2hpZnQgNCAjIFJlbW92ZXMgJDEgdG8gJDQgZnJvbSB0aGUgcGFyYW1ldGVy IGxpc3QKCiAgICBsb2NhbCBzb3VyY2VfZGlyPSIke3BhY2thZ2VfbmFtZX0iCgogICAgZXh0cmFj dF90YXJfYmFsbCAiJHt0YXJfYmFsbH0iICIke2V4dHJhY3RlZF9kaXJ9IiAiJHtzb3VyY2VfZGly fSIgXAogICAgJiYgcHVzaF90b19idWlsZF9kaXJfYW5kX2NvbmZpZ3VyZSAiJHtidWlsZF9kaXJ9 IiAiJHtzb3VyY2VfZGlyfSIgIiRAIiBcCiAgICAmJiBwYXJhbGxlbF9tYWtlIFwKICAgICYmIHBh cmFsbGVsX21ha2UgaW5zdGFsbCBcCiAgICAmJiBwb3BkCn0KCmdjY19wdXNoX3RvX2J1aWxkX2Rp cl9hbmRfY29uZmlndXJlKCkgewogICAgbG9jYWwgYnVpbGRfZGlyPSIkMSIKICAgIGxvY2FsIHNv dXJjZV9kaXI9IiQyIgogICAgbG9jYWwgaW5zdGFsbF9kaXI9IiQzIgogICAgbG9jYWwgbGFuZ3Vh Z2VzPSIkNCIKICAgIGxvY2FsIGhvc3RfbmFtZT0iJDUiCgogICAgc2hpZnQgNSAjIFJlbW92ZXMg JDEgdG8gJDUgZnJvbSB0aGUgcGFyYW1ldGVyIGxpc3QKCiAgICAjIGh0dHBzOi8vd3d3LmxpbnV4 ZnJvbXNjcmF0Y2gub3JnL2xmcy92aWV3LzcuMS9jaGFwdGVyMDYvZ2NjLmh0bWwKICAgICMgZ2Nj L01ha2VmaWxlLmluCiAgICAjICMgQ29udHJvbCB3aGV0aGVyIHRvIHJ1biBmaXhpbmNsdWRlcy4K ICAgICMgU1RNUF9GSVhJTkMgPSBAU1RNUF9GSVhJTkNACiAgICAjIHNlZCAtaSAtZSAncyxAU1RN UF9GSVhJTkNALCxnJyAiJHtzb3VyY2VfZGlyfS9nY2MvTWFrZWZpbGUuaW4iCgogICAgIy0tZGlz YWJsZS1maXhpbmNsdWRlcwogICAgIyBtYWtlWzJdOiAqKiogTm8gcnVsZSB0byBtYWtlIHRhcmdl dCAnLi4vYnVpbGQteDg2XzY0LXBjLWN5Z3dpbi9maXhpbmNsdWRlcy9maXhpbmMuc2gnLCBuZWVk ZWQgYnkgJ3N0bXAtZml4aW5jJy4gIFN0b3AuCgogICAgbG9jYWwgYnVpbGRfZml4aW5jbHVkZXNf ZGlyPSJidWlsZC0ke2hvc3RfbmFtZX0vZml4aW5jbHVkZXMiCgogICAgcHVzaF90b19idWlsZF9k aXJfYW5kX2NvbmZpZ3VyZSAiJHtidWlsZF9kaXJ9IiAiJHtzb3VyY2VfZGlyfSIgXAogICAgICAg ICAgICAtLXByZWZpeD0iJChwd2QpLyR7aW5zdGFsbF9kaXJ9IiBcCiAgICAgICAgICAgIC0tZW5h YmxlLWxhbmd1YWdlcz0iJHtsYW5ndWFnZXN9IiBcCiAgICAgICAgICAgIC0tZGlzYWJsZS1ib290 c3RyYXAgXAogICAgICAgICAgICAtLWRpc2FibGUtbmxzIFwKICAgICAgICAgICAgLS1kaXNhYmxl LXdlcnJvciBcCiAgICAgICAgICAgIC0tZGlzYWJsZS13aW4zMi1yZWdpc3RyeSBcCiAgICAgICAg ICAgIC0tZW5hYmxlLWNoZWNraW5nPXJlbGVhc2UgXAogICAgICAgICAgICAtLWRpc2FibGUtZml4 aW5jbHVkZXMgXAogICAgICAgICAgICAiJEAiIFwKICAgICYmIG1rZGlyIC1wICIke2J1aWxkX2Zp eGluY2x1ZGVzX2Rpcn0iICYmIHRvdWNoICIke2J1aWxkX2ZpeGluY2x1ZGVzX2Rpcn0vZml4aW5j LnNoIgp9CgoKZ2NjX3Rlc3QoKSB7CiAgICB0aW1lX2NvbW1hbmQgcGFyYWxsZWxfbWFrZSAtayBj aGVjayAyPiYxIHwgdGVlICIuLi9nY2NfdGVzdF8kKGN1cnJlbnRfZGF0ZXRpbWUpLnR4dCIKICAg IHN5bmMKfQoK --000000000000fea80a05fbc6faa6--