From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.7 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id E41A5C4338F for ; Fri, 13 Aug 2021 12:49:48 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id BE21B60F46 for ; Fri, 13 Aug 2021 12:49:48 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S240279AbhHMMuO (ORCPT ); Fri, 13 Aug 2021 08:50:14 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42234 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233416AbhHMMuO (ORCPT ); Fri, 13 Aug 2021 08:50:14 -0400 Received: from mail-qk1-x72b.google.com (mail-qk1-x72b.google.com [IPv6:2607:f8b0:4864:20::72b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8825EC061756 for ; Fri, 13 Aug 2021 05:49:47 -0700 (PDT) Received: by mail-qk1-x72b.google.com with SMTP id 22so1186185qkg.2 for ; Fri, 13 Aug 2021 05:49:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=message-id:date:mime-version:from:to:subject:reply-to:in-reply-to :references; bh=fHxJ4pxflymAryj8KocM/brixwUfm0wANaiF26lA77E=; b=U/nWPFrp4qQgEdmF4mCpdwsluVr7grKlDbBtez2ib4IxzESyUfqdg/DF4aHn2rEhUe 3MLjRi+deGZ7xDkPwmxNcr9ZoBWi6H4wwUPw97NqXag/CgK0tSfOXbFMM2jxjCW3zCr+ T5GhTCyeFeNXClgvpeoNPJpLOqvGfYJghz7APDxT5Ed1AnxsZDgc7R4e38x/2DtJuv01 DfzxTjv78m0gJiwo9zSknWnvrkdivFI5LibTsqqSEqu9oO5rT1LWKjaFpoydBaFGDFjg zB+rz4byyKQa6grFKoXktKgiDbXnqmzlqOzsr5wqbxXYNHaHGEGyHUzE2z1ftyahiqJ4 CGvg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:message-id:date:mime-version:from:to:subject :reply-to:in-reply-to:references; bh=fHxJ4pxflymAryj8KocM/brixwUfm0wANaiF26lA77E=; b=I3/FhIfIZSByLZkBqpl7LVRMBUAFAaygwQXGtKmdk3C+G3Ath0bdznyxH4ptg6V1kv lfiHdpsHJLp7246u3r8ZfWqcqwqMMKOknK0+YU6btlGnQPW7igbLkuOJagZJz1CMYlK2 h02O0+1BHrwiSMTq9iBhBcWzMs0cst3bCuk6KMuIZ7Aoq2e2t5ZtUR8E89uJxSyfR+ru 02Ex9e9zwzpdtosGkbmHpTs5kmtsk3QtbPLxm9PnKhNXbDZHbJa5uoQ/ilLVcQwGd8mF 8ZvEXhO1ZeH62PoTVb15oHhg8nI5KbNSp+q7nTXHPU6wdyTEhXSSFGzRN7QAJuK7dUWS rSEA== X-Gm-Message-State: AOAM532M2JnNKwWZkWs9jMOjZWf8vLP21QJAEIbVSmPomdKIDQNiwxjo Y0wAqDICnm41bIElIFK0ek0KSW/0KJLmjg== X-Google-Smtp-Source: ABdhPJzsQlQcza8uKiJkAmTygw17jshFYWSWVd0T+sNiVjtKBEV5q33CltZ9gzqkTXw4P96MXhHCQg== X-Received: by 2002:a05:620a:d41:: with SMTP id o1mr2011479qkl.214.1628858986440; Fri, 13 Aug 2021 05:49:46 -0700 (PDT) Received: from [172.17.0.2] ([20.41.19.93]) by smtp.gmail.com with ESMTPSA id a18sm847116qkg.62.2021.08.13.05.49.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 Aug 2021 05:49:46 -0700 (PDT) Message-ID: <61166a6a.1c69fb81.f6d6e.49fc@mx.google.com> Date: Fri, 13 Aug 2021 05:49:46 -0700 (PDT) Content-Type: multipart/mixed; boundary="===============5178750565245394195==" MIME-Version: 1.0 From: bluez.test.bot@gmail.com To: linux-bluetooth@vger.kernel.org, apusaka@google.com Subject: RE: Inclusive language changes Reply-To: linux-bluetooth@vger.kernel.org In-Reply-To: <20210813201256.Bluez.1.I3be2e373e96293524fa38328ebac177eddc71938@changeid> References: <20210813201256.Bluez.1.I3be2e373e96293524fa38328ebac177eddc71938@changeid> Precedence: bulk List-ID: X-Mailing-List: linux-bluetooth@vger.kernel.org --===============5178750565245394195== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhpcyBpcyBhdXRvbWF0ZWQgZW1haWwgYW5kIHBsZWFzZSBkbyBub3QgcmVwbHkgdG8gdGhpcyBl bWFpbCEKCkRlYXIgc3VibWl0dGVyLAoKVGhhbmsgeW91IGZvciBzdWJtaXR0aW5nIHRoZSBwYXRj aGVzIHRvIHRoZSBsaW51eCBibHVldG9vdGggbWFpbGluZyBsaXN0LgpUaGlzIGlzIGEgQ0kgdGVz dCByZXN1bHRzIHdpdGggeW91ciBwYXRjaCBzZXJpZXM6ClBXIExpbms6aHR0cHM6Ly9wYXRjaHdv cmsua2VybmVsLm9yZy9wcm9qZWN0L2JsdWV0b290aC9saXN0Lz9zZXJpZXM9NTMxMTUxCgotLS1U ZXN0IHJlc3VsdC0tLQoKVGVzdCBTdW1tYXJ5OgpDaGVja1BhdGNoICAgICAgICAgICAgICAgICAg ICBGQUlMICAgICAgMTIuMDAgc2Vjb25kcwpHaXRMaW50ICAgICAgICAgICAgICAgICAgICAgICBG QUlMICAgICAgNi4wNyBzZWNvbmRzClByZXAgLSBTZXR1cCBFTEwgICAgICAgICAgICAgIFBBU1Mg ICAgICAzOS4xMSBzZWNvbmRzCkJ1aWxkIC0gUHJlcCAgICAgICAgICAgICAgICAgIFBBU1MgICAg ICAwLjA5IHNlY29uZHMKQnVpbGQgLSBDb25maWd1cmUgICAgICAgICAgICAgUEFTUyAgICAgIDYu OTAgc2Vjb25kcwpCdWlsZCAtIE1ha2UgICAgICAgICAgICAgICAgICBQQVNTICAgICAgMTY1Ljgx IHNlY29uZHMKTWFrZSBDaGVjayAgICAgICAgICAgICAgICAgICAgUEFTUyAgICAgIDkuMDEgc2Vj b25kcwpNYWtlIERpc3RjaGVjayAgICAgICAgICAgICAgICBQQVNTICAgICAgMjAxLjA4IHNlY29u ZHMKQnVpbGQgdy9leHQgRUxMIC0gQ29uZmlndXJlICAgUEFTUyAgICAgIDYuOTIgc2Vjb25kcwpC dWlsZCB3L2V4dCBFTEwgLSBNYWtlICAgICAgICBQQVNTICAgICAgMTU1LjAzIHNlY29uZHMKCkRl dGFpbHMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjClRlc3Q6IENoZWNrUGF0Y2ggLSBG QUlMCkRlc2M6IFJ1biBjaGVja3BhdGNoLnBsIHNjcmlwdCB3aXRoIHJ1bGUgaW4gLmNoZWNrcGF0 Y2guY29uZgpPdXRwdXQ6CmxpYjogSW5jbHVzaXZlIGxhbmd1YWdlIGluIEhDSSBjb21tYW5kcyBh bmQgZXZlbnRzCldBUk5JTkc6UFJFRkVSX0RFRklORURfQVRUUklCVVRFX01BQ1JPOiBQcmVmZXIg X19wYWNrZWQgb3ZlciBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKQojMjU6IEZJTEU6IGxpYi9oY2ku aDo0Mjc6Cit9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKSBjZW50cmFsX2xpbmtfa2V5X2NwOwoK V0FSTklORzpQUkVGRVJfREVGSU5FRF9BVFRSSUJVVEVfTUFDUk86IFByZWZlciBfX3BhY2tlZCBv dmVyIF9fYXR0cmlidXRlX18oKHBhY2tlZCkpCiM0MjogRklMRTogbGliL2hjaS5oOjE4MTI6Cit9 IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKSBldnRfY2VudHJhbF9saW5rX2tleV9jb21wbGV0ZTsK Ci0gdG90YWw6IDAgZXJyb3JzLCAyIHdhcm5pbmdzLCA3MCBsaW5lcyBjaGVja2VkCgpOT1RFOiBG b3Igc29tZSBvZiB0aGUgcmVwb3J0ZWQgZGVmZWN0cywgY2hlY2twYXRjaCBtYXkgYmUgYWJsZSB0 bwogICAgICBtZWNoYW5pY2FsbHkgY29udmVydCB0byB0aGUgdHlwaWNhbCBzdHlsZSB1c2luZyAt LWZpeCBvciAtLWZpeC1pbnBsYWNlLgoKIltQQVRDSF0gbGliOiBJbmNsdXNpdmUgbGFuZ3VhZ2Ug aW4gSENJIGNvbW1hbmRzIGFuZCBldmVudHMiIGhhcyBzdHlsZSBwcm9ibGVtcywgcGxlYXNlIHJl dmlldy4KCk5PVEU6IElnbm9yZWQgbWVzc2FnZSB0eXBlczogQ09NTUlUX01FU1NBR0UgQ09NUExF WF9NQUNSTyBDT05TVF9TVFJVQ1QgRklMRV9QQVRIX0NIQU5HRVMgTUlTU0lOR19TSUdOX09GRiBQ UkVGRVJfUEFDS0VEIFNQRFhfTElDRU5TRV9UQUcgU1BMSVRfU1RSSU5HIFNTQ0FORl9UT19LU1RS VE8KCk5PVEU6IElmIGFueSBvZiB0aGUgZXJyb3JzIGFyZSBmYWxzZSBwb3NpdGl2ZXMsIHBsZWFz ZSByZXBvcnQKICAgICAgdGhlbSB0byB0aGUgbWFpbnRhaW5lciwgc2VlIENIRUNLUEFUQ0ggaW4g TUFJTlRBSU5FUlMuCgpsaWI6IEluY2x1c2l2ZSBsYW5ndWFnZSBpbiBjb25zdHMgYW5kIHN0cmlu Z3MKRVJST1I6U1BBQ0lORzogc3BhY2UgcmVxdWlyZWQgYWZ0ZXIgdGhhdCAnLCcgKGN0eDpWeFYp CiM0OTogRklMRTogbGliL2hjaS5jOjczOToKKwkJeyAiPEFGSCBjbGFzcy4gcGVyaXAuPiIsTE1Q X0FGSF9DTFNfUFJQCX0sCS8qIEJpdCA0ICovCiAJCSAgICAgICAgICAgICAgICAgICAgICAgXgoK LSB0b3RhbDogMSBlcnJvcnMsIDAgd2FybmluZ3MsIDc0IGxpbmVzIGNoZWNrZWQKCk5PVEU6IEZv ciBzb21lIG9mIHRoZSByZXBvcnRlZCBkZWZlY3RzLCBjaGVja3BhdGNoIG1heSBiZSBhYmxlIHRv CiAgICAgIG1lY2hhbmljYWxseSBjb252ZXJ0IHRvIHRoZSB0eXBpY2FsIHN0eWxlIHVzaW5nIC0t Zml4IG9yIC0tZml4LWlucGxhY2UuCgoiW1BBVENIXSBsaWI6IEluY2x1c2l2ZSBsYW5ndWFnZSBp biBjb25zdHMgYW5kIHN0cmluZ3MiIGhhcyBzdHlsZSBwcm9ibGVtcywgcGxlYXNlIHJldmlldy4K Ck5PVEU6IElnbm9yZWQgbWVzc2FnZSB0eXBlczogQ09NTUlUX01FU1NBR0UgQ09NUExFWF9NQUNS TyBDT05TVF9TVFJVQ1QgRklMRV9QQVRIX0NIQU5HRVMgTUlTU0lOR19TSUdOX09GRiBQUkVGRVJf UEFDS0VEIFNQRFhfTElDRU5TRV9UQUcgU1BMSVRfU1RSSU5HIFNTQ0FORl9UT19LU1RSVE8KCk5P VEU6IElmIGFueSBvZiB0aGUgZXJyb3JzIGFyZSBmYWxzZSBwb3NpdGl2ZXMsIHBsZWFzZSByZXBv cnQKICAgICAgdGhlbSB0byB0aGUgbWFpbnRhaW5lciwgc2VlIENIRUNLUEFUQ0ggaW4gTUFJTlRB SU5FUlMuCgpsaWI6IEluY2x1c2l2ZSBsYW5ndWFnZSBmb3IgZmlsdGVyaW5nIGRldmljZXMKV0FS TklORzpQUkVGRVJfREVGSU5FRF9BVFRSSUJVVEVfTUFDUk86IFByZWZlciBfX3BhY2tlZCBvdmVy IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpCiMxMzM6IEZJTEU6IGxpYi9oY2kuaDoxNTY4OgorfSBf X2F0dHJpYnV0ZV9fICgocGFja2VkKSkgbGVfcmVhZF9hY2NlcHRfbGlzdF9zaXplX3JwOwoKV0FS TklORzpQUkVGRVJfREVGSU5FRF9BVFRSSUJVVEVfTUFDUk86IFByZWZlciBfX3BhY2tlZCBvdmVy IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpCiMxNDY6IEZJTEU6IGxpYi9oY2kuaDoxNTc3OgorfSBf X2F0dHJpYnV0ZV9fICgocGFja2VkKSkgbGVfYWRkX2RldmljZV90b19hY2NlcHRfbGlzdF9jcDsK CldBUk5JTkc6UFJFRkVSX0RFRklORURfQVRUUklCVVRFX01BQ1JPOiBQcmVmZXIgX19wYWNrZWQg b3ZlciBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKQojMTU2OiBGSUxFOiBsaWIvaGNpLmg6MTU4NDoK K30gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpIGxlX3JlbW92ZV9kZXZpY2VfZnJvbV9hY2NlcHRf bGlzdF9jcDsKCldBUk5JTkc6TE9OR19MSU5FOiBsaW5lIGxlbmd0aCBvZiA4MSBleGNlZWRzIDgw IGNvbHVtbnMKIzE3MzogRklMRTogbGliL2hjaV9saWIuaDoxMjA6CitpbnQgaGNpX2xlX2FkZF9h Y2NlcHRfbGlzdChpbnQgZGQsIGNvbnN0IGJkYWRkcl90ICpiZGFkZHIsIHVpbnQ4X3QgdHlwZSwg aW50IHRvKTsKCi0gdG90YWw6IDAgZXJyb3JzLCA0IHdhcm5pbmdzLCAxOTUgbGluZXMgY2hlY2tl ZAoKTk9URTogRm9yIHNvbWUgb2YgdGhlIHJlcG9ydGVkIGRlZmVjdHMsIGNoZWNrcGF0Y2ggbWF5 IGJlIGFibGUgdG8KICAgICAgbWVjaGFuaWNhbGx5IGNvbnZlcnQgdG8gdGhlIHR5cGljYWwgc3R5 bGUgdXNpbmcgLS1maXggb3IgLS1maXgtaW5wbGFjZS4KCiJbUEFUQ0hdIGxpYjogSW5jbHVzaXZl IGxhbmd1YWdlIGZvciBmaWx0ZXJpbmcgZGV2aWNlcyIgaGFzIHN0eWxlIHByb2JsZW1zLCBwbGVh c2UgcmV2aWV3LgoKTk9URTogSWdub3JlZCBtZXNzYWdlIHR5cGVzOiBDT01NSVRfTUVTU0FHRSBD T01QTEVYX01BQ1JPIENPTlNUX1NUUlVDVCBGSUxFX1BBVEhfQ0hBTkdFUyBNSVNTSU5HX1NJR05f T0ZGIFBSRUZFUl9QQUNLRUQgU1BEWF9MSUNFTlNFX1RBRyBTUExJVF9TVFJJTkcgU1NDQU5GX1RP X0tTVFJUTwoKTk9URTogSWYgYW55IG9mIHRoZSBlcnJvcnMgYXJlIGZhbHNlIHBvc2l0aXZlcywg cGxlYXNlIHJlcG9ydAogICAgICB0aGVtIHRvIHRoZSBtYWludGFpbmVyLCBzZWUgQ0hFQ0tQQVRD SCBpbiBNQUlOVEFJTkVSUy4KCnNoYXJlZC9hZDogSW5jbHVzaXZlIGxhbmd1YWdlIGNoYW5nZXMK V0FSTklORzpDT01NSVRfTE9HX0xPTkdfTElORTogUG9zc2libGUgdW53cmFwcGVkIGNvbW1pdCBk ZXNjcmlwdGlvbiAocHJlZmVyIGEgbWF4aW11bSA3NSBjaGFycyBwZXIgbGluZSkKIzg6IApodHRw czovL3NwZWNpZmljYXRpb25yZWZzLmJsdWV0b290aC5jb20vbGFuZ3VhZ2UtbWFwcGluZy9BcHBy b3ByaWF0ZV9MYW5ndWFnZV9NYXBwaW5nX1RhYmxlLnBkZgoKLSB0b3RhbDogMCBlcnJvcnMsIDEg d2FybmluZ3MsIDM0IGxpbmVzIGNoZWNrZWQKCk5PVEU6IEZvciBzb21lIG9mIHRoZSByZXBvcnRl ZCBkZWZlY3RzLCBjaGVja3BhdGNoIG1heSBiZSBhYmxlIHRvCiAgICAgIG1lY2hhbmljYWxseSBj b252ZXJ0IHRvIHRoZSB0eXBpY2FsIHN0eWxlIHVzaW5nIC0tZml4IG9yIC0tZml4LWlucGxhY2Uu CgoiW1BBVENIXSBzaGFyZWQvYWQ6IEluY2x1c2l2ZSBsYW5ndWFnZSBjaGFuZ2VzIiBoYXMgc3R5 bGUgcHJvYmxlbXMsIHBsZWFzZSByZXZpZXcuCgpOT1RFOiBJZ25vcmVkIG1lc3NhZ2UgdHlwZXM6 IENPTU1JVF9NRVNTQUdFIENPTVBMRVhfTUFDUk8gQ09OU1RfU1RSVUNUIEZJTEVfUEFUSF9DSEFO R0VTIE1JU1NJTkdfU0lHTl9PRkYgUFJFRkVSX1BBQ0tFRCBTUERYX0xJQ0VOU0VfVEFHIFNQTElU X1NUUklORyBTU0NBTkZfVE9fS1NUUlRPCgpOT1RFOiBJZiBhbnkgb2YgdGhlIGVycm9ycyBhcmUg ZmFsc2UgcG9zaXRpdmVzLCBwbGVhc2UgcmVwb3J0CiAgICAgIHRoZW0gdG8gdGhlIG1haW50YWlu ZXIsIHNlZSBDSEVDS1BBVENIIGluIE1BSU5UQUlORVJTLgoKc2hhcmVkL2hmcDogSW5jbHVzaXZl IGxhbmd1YWdlIGNoYW5nZXMKV0FSTklORzpDT01NSVRfTE9HX0xPTkdfTElORTogUG9zc2libGUg dW53cmFwcGVkIGNvbW1pdCBkZXNjcmlwdGlvbiAocHJlZmVyIGEgbWF4aW11bSA3NSBjaGFycyBw ZXIgbGluZSkKIzc6IApodHRwczovL3NwZWNpZmljYXRpb25yZWZzLmJsdWV0b290aC5jb20vbGFu Z3VhZ2UtbWFwcGluZy9BcHByb3ByaWF0ZV9MYW5ndWFnZV9NYXBwaW5nX1RhYmxlLnBkZgoKLSB0 b3RhbDogMCBlcnJvcnMsIDEgd2FybmluZ3MsIDMyIGxpbmVzIGNoZWNrZWQKCk5PVEU6IEZvciBz b21lIG9mIHRoZSByZXBvcnRlZCBkZWZlY3RzLCBjaGVja3BhdGNoIG1heSBiZSBhYmxlIHRvCiAg ICAgIG1lY2hhbmljYWxseSBjb252ZXJ0IHRvIHRoZSB0eXBpY2FsIHN0eWxlIHVzaW5nIC0tZml4 IG9yIC0tZml4LWlucGxhY2UuCgoiW1BBVENIXSBzaGFyZWQvaGZwOiBJbmNsdXNpdmUgbGFuZ3Vh Z2UgY2hhbmdlcyIgaGFzIHN0eWxlIHByb2JsZW1zLCBwbGVhc2UgcmV2aWV3LgoKTk9URTogSWdu b3JlZCBtZXNzYWdlIHR5cGVzOiBDT01NSVRfTUVTU0FHRSBDT01QTEVYX01BQ1JPIENPTlNUX1NU UlVDVCBGSUxFX1BBVEhfQ0hBTkdFUyBNSVNTSU5HX1NJR05fT0ZGIFBSRUZFUl9QQUNLRUQgU1BE WF9MSUNFTlNFX1RBRyBTUExJVF9TVFJJTkcgU1NDQU5GX1RPX0tTVFJUTwoKTk9URTogSWYgYW55 IG9mIHRoZSBlcnJvcnMgYXJlIGZhbHNlIHBvc2l0aXZlcywgcGxlYXNlIHJlcG9ydAogICAgICB0 aGVtIHRvIHRoZSBtYWludGFpbmVyLCBzZWUgQ0hFQ0tQQVRDSCBpbiBNQUlOVEFJTkVSUy4KCm1v bml0b3I6IEluY2x1c2l2ZSBsYW5ndWFnZSBpbiBwZXJpcGhlcmFsIGJyb2FkY2FzdApXQVJOSU5H OkxPTkdfTElORTogbGluZSBsZW5ndGggb2YgODQgZXhjZWVkcyA4MCBjb2x1bW5zCiMyODQ6IEZJ TEU6IG1vbml0b3IvcGFja2V0LmM6MTAyNDg6CisJY29uc3Qgc3RydWN0IGJ0X2hjaV9ldnRfcGVy aXBoZXJhbF9icm9hZGNhc3RfY2hhbm5lbF9tYXBfY2hhbmdlICpldnQgPSBkYXRhOwoKLSB0b3Rh bDogMCBlcnJvcnMsIDEgd2FybmluZ3MsIDM3OCBsaW5lcyBjaGVja2VkCgpOT1RFOiBGb3Igc29t ZSBvZiB0aGUgcmVwb3J0ZWQgZGVmZWN0cywgY2hlY2twYXRjaCBtYXkgYmUgYWJsZSB0bwogICAg ICBtZWNoYW5pY2FsbHkgY29udmVydCB0byB0aGUgdHlwaWNhbCBzdHlsZSB1c2luZyAtLWZpeCBv ciAtLWZpeC1pbnBsYWNlLgoKIltQQVRDSF0gbW9uaXRvcjogSW5jbHVzaXZlIGxhbmd1YWdlIGlu IHBlcmlwaGVyYWwgYnJvYWRjYXN0IiBoYXMgc3R5bGUgcHJvYmxlbXMsIHBsZWFzZSByZXZpZXcu CgpOT1RFOiBJZ25vcmVkIG1lc3NhZ2UgdHlwZXM6IENPTU1JVF9NRVNTQUdFIENPTVBMRVhfTUFD Uk8gQ09OU1RfU1RSVUNUIEZJTEVfUEFUSF9DSEFOR0VTIE1JU1NJTkdfU0lHTl9PRkYgUFJFRkVS X1BBQ0tFRCBTUERYX0xJQ0VOU0VfVEFHIFNQTElUX1NUUklORyBTU0NBTkZfVE9fS1NUUlRPCgpO T1RFOiBJZiBhbnkgb2YgdGhlIGVycm9ycyBhcmUgZmFsc2UgcG9zaXRpdmVzLCBwbGVhc2UgcmVw b3J0CiAgICAgIHRoZW0gdG8gdGhlIG1haW50YWluZXIsIHNlZSBDSEVDS1BBVENIIGluIE1BSU5U QUlORVJTLgoKbW9uaXRvcjogSW5jbHVzaXZlIGxhbmd1YWdlIGluIGNvbnN0cyBhbmQgc3RyaW5n cwpXQVJOSU5HOkxPTkdfTElORV9TVFJJTkc6IGxpbmUgbGVuZ3RoIG9mIDgzIGV4Y2VlZHMgODAg Y29sdW1ucwojMzAyOiBGSUxFOiBtb25pdG9yL3BhY2tldC5jOjM2NzQ6CisJCQlwcmludF9maWVs ZCgiUGVyaXBoZXJhbCBDb25uLiBJbnRlcnZhbDogMHglNC40eCAtIDB4JTQuNHgiLAoKLSB0b3Rh bDogMCBlcnJvcnMsIDEgd2FybmluZ3MsIDQwOCBsaW5lcyBjaGVja2VkCgpOT1RFOiBGb3Igc29t ZSBvZiB0aGUgcmVwb3J0ZWQgZGVmZWN0cywgY2hlY2twYXRjaCBtYXkgYmUgYWJsZSB0bwogICAg ICBtZWNoYW5pY2FsbHkgY29udmVydCB0byB0aGUgdHlwaWNhbCBzdHlsZSB1c2luZyAtLWZpeCBv ciAtLWZpeC1pbnBsYWNlLgoKIltQQVRDSF0gbW9uaXRvcjogSW5jbHVzaXZlIGxhbmd1YWdlIGlu IGNvbnN0cyBhbmQgc3RyaW5ncyIgaGFzIHN0eWxlIHByb2JsZW1zLCBwbGVhc2UgcmV2aWV3LgoK Tk9URTogSWdub3JlZCBtZXNzYWdlIHR5cGVzOiBDT01NSVRfTUVTU0FHRSBDT01QTEVYX01BQ1JP IENPTlNUX1NUUlVDVCBGSUxFX1BBVEhfQ0hBTkdFUyBNSVNTSU5HX1NJR05fT0ZGIFBSRUZFUl9Q QUNLRUQgU1BEWF9MSUNFTlNFX1RBRyBTUExJVF9TVFJJTkcgU1NDQU5GX1RPX0tTVFJUTwoKTk9U RTogSWYgYW55IG9mIHRoZSBlcnJvcnMgYXJlIGZhbHNlIHBvc2l0aXZlcywgcGxlYXNlIHJlcG9y dAogICAgICB0aGVtIHRvIHRoZSBtYWludGFpbmVyLCBzZWUgQ0hFQ0tQQVRDSCBpbiBNQUlOVEFJ TkVSUy4KCmVtdWxhdG9yOiBJbmNsdXNpdmUgbGFuZ3VhZ2UgaW4gc3RyaW5ncwpXQVJOSU5HOkxP TkdfTElORV9DT01NRU5UOiBsaW5lIGxlbmd0aCBvZiA4NCBleGNlZWRzIDgwIGNvbHVtbnMKIzkw OiBGSUxFOiBlbXVsYXRvci9idGRldi5jOjYxMzA6CisJYnRkZXYtPmxlX2ZlYXR1cmVzWzBdIHw9 IDB4MDg7CS8qIFBlcmlwaGVyYWwtaW5pdGlhdGVkIEZlYXR1cmVzIEV4Y2hhbmdlICovCgpXQVJO SU5HOkxPTkdfTElORV9DT01NRU5UOiBsaW5lIGxlbmd0aCBvZiA4NCBleGNlZWRzIDgwIGNvbHVt bnMKIzEwMzogRklMRTogZW11bGF0b3IvbGUuYzozNDY6CisJLy9oY2ktPmxlX2ZlYXR1cmVzWzBd IHw9IDB4MDg7CS8qIFBlcmlwaGVyYWwtaW5pdGlhdGVkIEZlYXR1cmVzIEV4Y2hhbmdlICovCgpX QVJOSU5HOkxPTkdfTElORV9DT01NRU5UOiBsaW5lIGxlbmd0aCBvZiA4NCBleGNlZWRzIDgwIGNv bHVtbnMKIzExMzogRklMRTogZW11bGF0b3IvbGUuYzo0MDI6CisJaGNpLT5sZV9zdGF0ZXNbMF0g fD0gMHg0MDsJLyogSW5pdGlhdGluZyArIENvbm5lY3Rpb24gKENlbnRyYWwgUm9sZSkgKi8KCi0g dG90YWw6IDAgZXJyb3JzLCAzIHdhcm5pbmdzLCAxMTYgbGluZXMgY2hlY2tlZAoKTk9URTogRm9y IHNvbWUgb2YgdGhlIHJlcG9ydGVkIGRlZmVjdHMsIGNoZWNrcGF0Y2ggbWF5IGJlIGFibGUgdG8K ICAgICAgbWVjaGFuaWNhbGx5IGNvbnZlcnQgdG8gdGhlIHR5cGljYWwgc3R5bGUgdXNpbmcgLS1m aXggb3IgLS1maXgtaW5wbGFjZS4KCiJbUEFUQ0hdIGVtdWxhdG9yOiBJbmNsdXNpdmUgbGFuZ3Vh Z2UgaW4gc3RyaW5ncyIgaGFzIHN0eWxlIHByb2JsZW1zLCBwbGVhc2UgcmV2aWV3LgoKTk9URTog SWdub3JlZCBtZXNzYWdlIHR5cGVzOiBDT01NSVRfTUVTU0FHRSBDT01QTEVYX01BQ1JPIENPTlNU X1NUUlVDVCBGSUxFX1BBVEhfQ0hBTkdFUyBNSVNTSU5HX1NJR05fT0ZGIFBSRUZFUl9QQUNLRUQg U1BEWF9MSUNFTlNFX1RBRyBTUExJVF9TVFJJTkcgU1NDQU5GX1RPX0tTVFJUTwoKTk9URTogSWYg YW55IG9mIHRoZSBlcnJvcnMgYXJlIGZhbHNlIHBvc2l0aXZlcywgcGxlYXNlIHJlcG9ydAogICAg ICB0aGVtIHRvIHRoZSBtYWludGFpbmVyLCBzZWUgQ0hFQ0tQQVRDSCBpbiBNQUlOVEFJTkVSUy4K CmVtdWxhdG9yOiBJbmNsdXNpdmUgbGFuZ3VhZ2UgaW4gZmlsdGVyaW5nIGRldmljZQpXQVJOSU5H OkxPTkdfTElORV9DT01NRU5UOiBsaW5lIGxlbmd0aCBvZiA4MSBleGNlZWRzIDgwIGNvbHVtbnMK IzExNTogRklMRTogZW11bGF0b3IvYnRkZXYuYzozNTUzOgorCSAqIOKAoiBhbnkgYWR2ZXJ0aXNp bmcgZmlsdGVyIHBvbGljeSB1c2VzIHRoZSBBY2NlcHQgTGlzdCBhbmQgYWR2ZXJ0aXNpbmcKCldB Uk5JTkc6TE9OR19MSU5FX0NPTU1FTlQ6IGxpbmUgbGVuZ3RoIG9mIDgxIGV4Y2VlZHMgODAgY29s dW1ucwojMTYyOiBGSUxFOiBlbXVsYXRvci9idGRldi5jOjM1OTA6CisJICog4oCiIGFueSBhZHZl cnRpc2luZyBmaWx0ZXIgcG9saWN5IHVzZXMgdGhlIEFjY2VwdCBMaXN0IGFuZCBhZHZlcnRpc2lu ZwoKV0FSTklORzpMT05HX0xJTkVfQ09NTUVOVDogbGluZSBsZW5ndGggb2YgODEgZXhjZWVkcyA4 MCBjb2x1bW5zCiMyMTc6IEZJTEU6IGVtdWxhdG9yL2J0ZGV2LmM6MzY0MToKKwkgKiDigKIgYW55 IGFkdmVydGlzaW5nIGZpbHRlciBwb2xpY3kgdXNlcyB0aGUgQWNjZXB0IExpc3QgYW5kIGFkdmVy dGlzaW5nCgotIHRvdGFsOiAwIGVycm9ycywgMyB3YXJuaW5ncywgNDY4IGxpbmVzIGNoZWNrZWQK Ck5PVEU6IEZvciBzb21lIG9mIHRoZSByZXBvcnRlZCBkZWZlY3RzLCBjaGVja3BhdGNoIG1heSBi ZSBhYmxlIHRvCiAgICAgIG1lY2hhbmljYWxseSBjb252ZXJ0IHRvIHRoZSB0eXBpY2FsIHN0eWxl IHVzaW5nIC0tZml4IG9yIC0tZml4LWlucGxhY2UuCgoiW1BBVENIXSBlbXVsYXRvcjogSW5jbHVz aXZlIGxhbmd1YWdlIGluIGZpbHRlcmluZyBkZXZpY2UiIGhhcyBzdHlsZSBwcm9ibGVtcywgcGxl YXNlIHJldmlldy4KCk5PVEU6IElnbm9yZWQgbWVzc2FnZSB0eXBlczogQ09NTUlUX01FU1NBR0Ug Q09NUExFWF9NQUNSTyBDT05TVF9TVFJVQ1QgRklMRV9QQVRIX0NIQU5HRVMgTUlTU0lOR19TSUdO X09GRiBQUkVGRVJfUEFDS0VEIFNQRFhfTElDRU5TRV9UQUcgU1BMSVRfU1RSSU5HIFNTQ0FORl9U T19LU1RSVE8KCk5PVEU6IElmIGFueSBvZiB0aGUgZXJyb3JzIGFyZSBmYWxzZSBwb3NpdGl2ZXMs IHBsZWFzZSByZXBvcnQKICAgICAgdGhlbSB0byB0aGUgbWFpbnRhaW5lciwgc2VlIENIRUNLUEFU Q0ggaW4gTUFJTlRBSU5FUlMuCgp0b29scy9wYXJzZXIvaGNpOiBJbmNsdXNpdmUgbGFuZ3VhZ2Ug Y2hhbmdlcwpXQVJOSU5HOkxPTkdfTElORTogbGluZSBsZW5ndGggb2YgODEgZXhjZWVkcyA4MCBj b2x1bW5zCiM4NzogRklMRTogdG9vbHMvcGFyc2VyL2hjaS5jOjE2NDM6CisJCQkoY3AtPmZpbHRl ciA9PSAweDAxID8gImFjY2VwdCBsaXN0IG9ubHkiIDogInJlc2VydmVkIikpKTsKCi0gdG90YWw6 IDAgZXJyb3JzLCAxIHdhcm5pbmdzLCAxMDQgbGluZXMgY2hlY2tlZAoKTk9URTogRm9yIHNvbWUg b2YgdGhlIHJlcG9ydGVkIGRlZmVjdHMsIGNoZWNrcGF0Y2ggbWF5IGJlIGFibGUgdG8KICAgICAg bWVjaGFuaWNhbGx5IGNvbnZlcnQgdG8gdGhlIHR5cGljYWwgc3R5bGUgdXNpbmcgLS1maXggb3Ig LS1maXgtaW5wbGFjZS4KCiJbUEFUQ0hdIHRvb2xzL3BhcnNlci9oY2k6IEluY2x1c2l2ZSBsYW5n dWFnZSBjaGFuZ2VzIiBoYXMgc3R5bGUgcHJvYmxlbXMsIHBsZWFzZSByZXZpZXcuCgpOT1RFOiBJ Z25vcmVkIG1lc3NhZ2UgdHlwZXM6IENPTU1JVF9NRVNTQUdFIENPTVBMRVhfTUFDUk8gQ09OU1Rf U1RSVUNUIEZJTEVfUEFUSF9DSEFOR0VTIE1JU1NJTkdfU0lHTl9PRkYgUFJFRkVSX1BBQ0tFRCBT UERYX0xJQ0VOU0VfVEFHIFNQTElUX1NUUklORyBTU0NBTkZfVE9fS1NUUlRPCgpOT1RFOiBJZiBh bnkgb2YgdGhlIGVycm9ycyBhcmUgZmFsc2UgcG9zaXRpdmVzLCBwbGVhc2UgcmVwb3J0CiAgICAg IHRoZW0gdG8gdGhlIG1haW50YWluZXIsIHNlZSBDSEVDS1BBVENIIGluIE1BSU5UQUlORVJTLgoK dG9vbHMvbWdtdC10ZXN0ZXI6IEluY2x1c2l2ZSBsYW5ndWFnZSBjaGFuZ2VzCldBUk5JTkc6TE9O R19MSU5FX1NUUklORzogbGluZSBsZW5ndGggb2YgODYgZXhjZWVkcyA4MCBjb2x1bW5zCiMxOTQ6 IEZJTEU6IHRvb2xzL21nbXQtdGVzdGVyLmM6MTE1NTE6CisJdGVzdF9icmVkcmxlNTBfZnVsbCgi RXh0IEFkdi4gY29ubmVjdGFibGUgJiBjb25uZWN0ZWQgKHBlcmlwaGVyYWwpIC0gU3VjY2VzcyIs CgpXQVJOSU5HOkxPTkdfTElORV9TVFJJTkc6IGxpbmUgbGVuZ3RoIG9mIDkwIGV4Y2VlZHMgODAg Y29sdW1ucwojMjAxOiBGSUxFOiB0b29scy9tZ210LXRlc3Rlci5jOjExNTU2OgorCXRlc3RfYnJl ZHJsZTUwX2Z1bGwoIkV4dCBBZHYuIG5vbi1jb25uZWN0YWJsZSAmIGNvbm5lY3RlZCAocGVyaXBo ZXJhbCkgLSBTdWNjZXNzIiwKCldBUk5JTkc6TE9OR19MSU5FX1NUUklORzogbGluZSBsZW5ndGgg b2YgODMgZXhjZWVkcyA4MCBjb2x1bW5zCiMyMDg6IEZJTEU6IHRvb2xzL21nbXQtdGVzdGVyLmM6 MTE1NjE6CisJdGVzdF9icmVkcmxlNTBfZnVsbCgiRXh0IEFkdi4gY29ubmVjdGFibGUgJiBjb25u ZWN0ZWQgKGNlbnRyYWwpIC0gU3VjY2VzcyIsCgpXQVJOSU5HOkxPTkdfTElORV9TVFJJTkc6IGxp bmUgbGVuZ3RoIG9mIDg3IGV4Y2VlZHMgODAgY29sdW1ucwojMjE1OiBGSUxFOiB0b29scy9tZ210 LXRlc3Rlci5jOjExNTY2OgorCXRlc3RfYnJlZHJsZTUwX2Z1bGwoIkV4dCBBZHYuIG5vbi1jb25u ZWN0YWJsZSAmIGNvbm5lY3RlZCAoY2VudHJhbCkgLSBTdWNjZXNzIiwKCi0gdG90YWw6IDAgZXJy b3JzLCA0IHdhcm5pbmdzLCAxOTcgbGluZXMgY2hlY2tlZAoKTk9URTogRm9yIHNvbWUgb2YgdGhl IHJlcG9ydGVkIGRlZmVjdHMsIGNoZWNrcGF0Y2ggbWF5IGJlIGFibGUgdG8KICAgICAgbWVjaGFu aWNhbGx5IGNvbnZlcnQgdG8gdGhlIHR5cGljYWwgc3R5bGUgdXNpbmcgLS1maXggb3IgLS1maXgt aW5wbGFjZS4KCiJbUEFUQ0hdIHRvb2xzL21nbXQtdGVzdGVyOiBJbmNsdXNpdmUgbGFuZ3VhZ2Ug Y2hhbmdlcyIgaGFzIHN0eWxlIHByb2JsZW1zLCBwbGVhc2UgcmV2aWV3LgoKTk9URTogSWdub3Jl ZCBtZXNzYWdlIHR5cGVzOiBDT01NSVRfTUVTU0FHRSBDT01QTEVYX01BQ1JPIENPTlNUX1NUUlVD VCBGSUxFX1BBVEhfQ0hBTkdFUyBNSVNTSU5HX1NJR05fT0ZGIFBSRUZFUl9QQUNLRUQgU1BEWF9M SUNFTlNFX1RBRyBTUExJVF9TVFJJTkcgU1NDQU5GX1RPX0tTVFJUTwoKTk9URTogSWYgYW55IG9m IHRoZSBlcnJvcnMgYXJlIGZhbHNlIHBvc2l0aXZlcywgcGxlYXNlIHJlcG9ydAogICAgICB0aGVt IHRvIHRoZSBtYWludGFpbmVyLCBzZWUgQ0hFQ0tQQVRDSCBpbiBNQUlOVEFJTkVSUy4KCnRvb2xz L2hjaWNvbmZpZzogSW5jbHVzaXZlIGxhbmd1YWdlIGNoYW5nZXMKV0FSTklORzpDT01NSVRfTE9H X0xPTkdfTElORTogUG9zc2libGUgdW53cmFwcGVkIGNvbW1pdCBkZXNjcmlwdGlvbiAocHJlZmVy IGEgbWF4aW11bSA3NSBjaGFycyBwZXIgbGluZSkKIzg6IApodHRwczovL3NwZWNpZmljYXRpb25y ZWZzLmJsdWV0b290aC5jb20vbGFuZ3VhZ2UtbWFwcGluZy9BcHByb3ByaWF0ZV9MYW5ndWFnZV9N YXBwaW5nX1RhYmxlLnBkZgoKV0FSTklORzpMT05HX0xJTkU6IGxpbmUgbGVuZ3RoIG9mIDkyIGV4 Y2VlZHMgODAgY29sdW1ucwojNTg6IEZJTEU6IHRvb2xzL2hjaWNvbmZpZy5jOjE5MjU6CisJeyAi YmxvY2siLAljbWRfYmxvY2ssCSI8YmRhZGRyPiIsCSJBZGQgYSBkZXZpY2UgdG8gdGhlIHJlamVj dCBsaXN0IiB9LAoKV0FSTklORzpMT05HX0xJTkU6IGxpbmUgbGVuZ3RoIG9mIDk3IGV4Y2VlZHMg ODAgY29sdW1ucwojNTk6IEZJTEU6IHRvb2xzL2hjaWNvbmZpZy5jOjE5MjY6CisJeyAidW5ibG9j ayIsCWNtZF91bmJsb2NrLAkiPGJkYWRkcj4iLAkiUmVtb3ZlIGEgZGV2aWNlIGZyb20gdGhlIHJl amVjdCBsaXN0IiB9LAoKLSB0b3RhbDogMCBlcnJvcnMsIDMgd2FybmluZ3MsIDU4IGxpbmVzIGNo ZWNrZWQKCk5PVEU6IEZvciBzb21lIG9mIHRoZSByZXBvcnRlZCBkZWZlY3RzLCBjaGVja3BhdGNo IG1heSBiZSBhYmxlIHRvCiAgICAgIG1lY2hhbmljYWxseSBjb252ZXJ0IHRvIHRoZSB0eXBpY2Fs IHN0eWxlIHVzaW5nIC0tZml4IG9yIC0tZml4LWlucGxhY2UuCgoiW1BBVENIXSB0b29scy9oY2lj b25maWc6IEluY2x1c2l2ZSBsYW5ndWFnZSBjaGFuZ2VzIiBoYXMgc3R5bGUgcHJvYmxlbXMsIHBs ZWFzZSByZXZpZXcuCgpOT1RFOiBJZ25vcmVkIG1lc3NhZ2UgdHlwZXM6IENPTU1JVF9NRVNTQUdF IENPTVBMRVhfTUFDUk8gQ09OU1RfU1RSVUNUIEZJTEVfUEFUSF9DSEFOR0VTIE1JU1NJTkdfU0lH Tl9PRkYgUFJFRkVSX1BBQ0tFRCBTUERYX0xJQ0VOU0VfVEFHIFNQTElUX1NUUklORyBTU0NBTkZf VE9fS1NUUlRPCgpOT1RFOiBJZiBhbnkgb2YgdGhlIGVycm9ycyBhcmUgZmFsc2UgcG9zaXRpdmVz LCBwbGVhc2UgcmVwb3J0CiAgICAgIHRoZW0gdG8gdGhlIG1haW50YWluZXIsIHNlZSBDSEVDS1BB VENIIGluIE1BSU5UQUlORVJTLgoKdG9vbHMvcGFyc2VyL2F2ZHRwOiBJbmNsdXNpdmUgbGFuZ3Vh Z2UgY2hhbmdlcwpXQVJOSU5HOkxPTkdfTElORV9TVFJJTkc6IGxpbmUgbGVuZ3RoIG9mIDg2IGV4 Y2VlZHMgODAgY29sdW1ucwojMjc6IEZJTEU6IHRvb2xzL3BhcnNlci9hdmR0cC5jOjY2MjoKKwkJ cHJpbnRmKCJBVkRUUChjKTogdmVyICVkICVzJXNjYyAlZCAlc3B0ICVkIHNlcW4gJWQgdGltZSAl ZCBzc3JjICVkXG4iLAoKLSB0b3RhbDogMCBlcnJvcnMsIDEgd2FybmluZ3MsIDE2IGxpbmVzIGNo ZWNrZWQKCk5PVEU6IEZvciBzb21lIG9mIHRoZSByZXBvcnRlZCBkZWZlY3RzLCBjaGVja3BhdGNo IG1heSBiZSBhYmxlIHRvCiAgICAgIG1lY2hhbmljYWxseSBjb252ZXJ0IHRvIHRoZSB0eXBpY2Fs IHN0eWxlIHVzaW5nIC0tZml4IG9yIC0tZml4LWlucGxhY2UuCgoiW1BBVENIXSB0b29scy9wYXJz ZXIvYXZkdHA6IEluY2x1c2l2ZSBsYW5ndWFnZSBjaGFuZ2VzIiBoYXMgc3R5bGUgcHJvYmxlbXMs IHBsZWFzZSByZXZpZXcuCgpOT1RFOiBJZ25vcmVkIG1lc3NhZ2UgdHlwZXM6IENPTU1JVF9NRVNT QUdFIENPTVBMRVhfTUFDUk8gQ09OU1RfU1RSVUNUIEZJTEVfUEFUSF9DSEFOR0VTIE1JU1NJTkdf U0lHTl9PRkYgUFJFRkVSX1BBQ0tFRCBTUERYX0xJQ0VOU0VfVEFHIFNQTElUX1NUUklORyBTU0NB TkZfVE9fS1NUUlRPCgpOT1RFOiBJZiBhbnkgb2YgdGhlIGVycm9ycyBhcmUgZmFsc2UgcG9zaXRp dmVzLCBwbGVhc2UgcmVwb3J0CiAgICAgIHRoZW0gdG8gdGhlIG1haW50YWluZXIsIHNlZSBDSEVD S1BBVENIIGluIE1BSU5UQUlORVJTLgoKdG9vbHMvbDJ0ZXN0OiBJbmNsdXNpdmUgbGFuZ3VhZ2Ug Y2hhbmdlcwpFUlJPUjpJTklUSUFMSVNFRF9TVEFUSUM6IGRvIG5vdCBpbml0aWFsaXNlIHN0YXRp Y3MgdG8gMAojMTc6IEZJTEU6IHRvb2xzL2wydGVzdC5jOjExMzoKK3N0YXRpYyBpbnQgY2VudHJh bCA9IDA7CgpXQVJOSU5HOk1JU1NJTkdfU1BBQ0U6IGJyZWFrIHF1b3RlZCBzdHJpbmdzIGF0IGEg c3BhY2UgY2hhcmFjdGVyCiM2MjogRklMRTogdG9vbHMvbDJ0ZXN0LmM6MTM0MDoKIAl3aGlsZSAo KG9wdCA9IGdldG9wdChhcmdjLCBhcmd2LCAiYTpiOmNkZTpnOmk6bW5wcXJzdHV3eHl6IgorCQki QUI6Q0Q6RUY6R0g6STpKOks6TDpNOk46TzpQOlE6UlNUVVY6VzpYOlk6WjoiKSkgIT0gRU9GKSB7 CgotIHRvdGFsOiAxIGVycm9ycywgMSB3YXJuaW5ncywgNjYgbGluZXMgY2hlY2tlZAoKTk9URTog Rm9yIHNvbWUgb2YgdGhlIHJlcG9ydGVkIGRlZmVjdHMsIGNoZWNrcGF0Y2ggbWF5IGJlIGFibGUg dG8KICAgICAgbWVjaGFuaWNhbGx5IGNvbnZlcnQgdG8gdGhlIHR5cGljYWwgc3R5bGUgdXNpbmcg LS1maXggb3IgLS1maXgtaW5wbGFjZS4KCiJbUEFUQ0hdIHRvb2xzL2wydGVzdDogSW5jbHVzaXZl IGxhbmd1YWdlIGNoYW5nZXMiIGhhcyBzdHlsZSBwcm9ibGVtcywgcGxlYXNlIHJldmlldy4KCk5P VEU6IElnbm9yZWQgbWVzc2FnZSB0eXBlczogQ09NTUlUX01FU1NBR0UgQ09NUExFWF9NQUNSTyBD T05TVF9TVFJVQ1QgRklMRV9QQVRIX0NIQU5HRVMgTUlTU0lOR19TSUdOX09GRiBQUkVGRVJfUEFD S0VEIFNQRFhfTElDRU5TRV9UQUcgU1BMSVRfU1RSSU5HIFNTQ0FORl9UT19LU1RSVE8KCk5PVEU6 IElmIGFueSBvZiB0aGUgZXJyb3JzIGFyZSBmYWxzZSBwb3NpdGl2ZXMsIHBsZWFzZSByZXBvcnQK ICAgICAgdGhlbSB0byB0aGUgbWFpbnRhaW5lciwgc2VlIENIRUNLUEFUQ0ggaW4gTUFJTlRBSU5F UlMuCgp0b29scy9yY3Rlc3Q6IEluY2x1c2l2ZSBsYW5ndWFnZSBjaGFuZ2VzCkVSUk9SOklOSVRJ QUxJU0VEX1NUQVRJQzogZG8gbm90IGluaXRpYWxpc2Ugc3RhdGljcyB0byAwCiMxNzogRklMRTog dG9vbHMvcmN0ZXN0LmM6Nzk6CitzdGF0aWMgaW50IGNlbnRyYWwgPSAwOwoKV0FSTklORzpMT05H X0xJTkU6IGxpbmUgbGVuZ3RoIG9mIDkwIGV4Y2VlZHMgODAgY29sdW1ucwojNjA6IEZJTEU6IHRv b2xzL3JjdGVzdC5jOjcwMDoKKwl3aGlsZSAoKG9wdD1nZXRvcHQoYXJnYyxhcmd2LCJyZHNjdXdt bmE6YjppOlA6VTpCOk86TjpDQUVTTDpXOk06RDpZOlQiKSkgIT0gRU9GKSB7CgpFUlJPUjpTUEFD SU5HOiBzcGFjZXMgcmVxdWlyZWQgYXJvdW5kIHRoYXQgJz0nIChjdHg6VnhWKQojNjA6IEZJTEU6 IHRvb2xzL3JjdGVzdC5jOjcwMDoKKwl3aGlsZSAoKG9wdD1nZXRvcHQoYXJnYyxhcmd2LCJyZHNj dXdtbmE6YjppOlA6VTpCOk86TjpDQUVTTDpXOk06RDpZOlQiKSkgIT0gRU9GKSB7CiAJICAgICAg ICAgICBeCgpFUlJPUjpTUEFDSU5HOiBzcGFjZSByZXF1aXJlZCBhZnRlciB0aGF0ICcsJyAoY3R4 OlZ4VikKIzYwOiBGSUxFOiB0b29scy9yY3Rlc3QuYzo3MDA6CisJd2hpbGUgKChvcHQ9Z2V0b3B0 KGFyZ2MsYXJndiwicmRzY3V3bW5hOmI6aTpQOlU6QjpPOk46Q0FFU0w6VzpNOkQ6WTpUIikpICE9 IEVPRikgewogCSAgICAgICAgICAgICAgICAgICAgICAgXgoKRVJST1I6U1BBQ0lORzogc3BhY2Ug cmVxdWlyZWQgYWZ0ZXIgdGhhdCAnLCcgKGN0eDpWeFYpCiM2MDogRklMRTogdG9vbHMvcmN0ZXN0 LmM6NzAwOgorCXdoaWxlICgob3B0PWdldG9wdChhcmdjLGFyZ3YsInJkc2N1d21uYTpiOmk6UDpV OkI6TzpOOkNBRVNMOlc6TTpEOlk6VCIpKSAhPSBFT0YpIHsKIAkgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXgoKLSB0b3RhbDogNCBlcnJvcnMsIDEgd2FybmluZ3MsIDgxIGxpbmVzIGNoZWNr ZWQKCk5PVEU6IEZvciBzb21lIG9mIHRoZSByZXBvcnRlZCBkZWZlY3RzLCBjaGVja3BhdGNoIG1h eSBiZSBhYmxlIHRvCiAgICAgIG1lY2hhbmljYWxseSBjb252ZXJ0IHRvIHRoZSB0eXBpY2FsIHN0 eWxlIHVzaW5nIC0tZml4IG9yIC0tZml4LWlucGxhY2UuCgoiW1BBVENIXSB0b29scy9yY3Rlc3Q6 IEluY2x1c2l2ZSBsYW5ndWFnZSBjaGFuZ2VzIiBoYXMgc3R5bGUgcHJvYmxlbXMsIHBsZWFzZSBy ZXZpZXcuCgpOT1RFOiBJZ25vcmVkIG1lc3NhZ2UgdHlwZXM6IENPTU1JVF9NRVNTQUdFIENPTVBM RVhfTUFDUk8gQ09OU1RfU1RSVUNUIEZJTEVfUEFUSF9DSEFOR0VTIE1JU1NJTkdfU0lHTl9PRkYg UFJFRkVSX1BBQ0tFRCBTUERYX0xJQ0VOU0VfVEFHIFNQTElUX1NUUklORyBTU0NBTkZfVE9fS1NU UlRPCgpOT1RFOiBJZiBhbnkgb2YgdGhlIGVycm9ycyBhcmUgZmFsc2UgcG9zaXRpdmVzLCBwbGVh c2UgcmVwb3J0CiAgICAgIHRoZW0gdG8gdGhlIG1haW50YWluZXIsIHNlZSBDSEVDS1BBVENIIGlu IE1BSU5UQUlORVJTLgoKdG9vbHMvcmZjb21tOiBJbmNsdXNpdmUgbGFuZ3VhZ2UgY2hhbmdlcwpF UlJPUjpJTklUSUFMSVNFRF9TVEFUSUM6IGRvIG5vdCBpbml0aWFsaXNlIHN0YXRpY3MgdG8gMAoj MTc6IEZJTEU6IHRvb2xzL3JmY29tbS5jOjQwOgorc3RhdGljIGludCBjZW50cmFsID0gMDsKCldB Uk5JTkc6TE9OR19MSU5FOiBsaW5lIGxlbmd0aCBvZiA5MSBleGNlZWRzIDgwIGNvbHVtbnMKIzUz OiBGSUxFOiB0b29scy9yZmNvbW0uYzo2ODM6CisJd2hpbGUgKChvcHQgPSBnZXRvcHRfbG9uZyhh cmdjLCBhcmd2LCAiK2k6cmFoQUVTQ0w6IiwgbWFpbl9vcHRpb25zLCBOVUxMKSkgIT0gLTEpIHsK Ci0gdG90YWw6IDEgZXJyb3JzLCAxIHdhcm5pbmdzLCA1OCBsaW5lcyBjaGVja2VkCgpOT1RFOiBG b3Igc29tZSBvZiB0aGUgcmVwb3J0ZWQgZGVmZWN0cywgY2hlY2twYXRjaCBtYXkgYmUgYWJsZSB0 bwogICAgICBtZWNoYW5pY2FsbHkgY29udmVydCB0byB0aGUgdHlwaWNhbCBzdHlsZSB1c2luZyAt LWZpeCBvciAtLWZpeC1pbnBsYWNlLgoKIltQQVRDSF0gdG9vbHMvcmZjb21tOiBJbmNsdXNpdmUg bGFuZ3VhZ2UgY2hhbmdlcyIgaGFzIHN0eWxlIHByb2JsZW1zLCBwbGVhc2UgcmV2aWV3LgoKTk9U RTogSWdub3JlZCBtZXNzYWdlIHR5cGVzOiBDT01NSVRfTUVTU0FHRSBDT01QTEVYX01BQ1JPIENP TlNUX1NUUlVDVCBGSUxFX1BBVEhfQ0hBTkdFUyBNSVNTSU5HX1NJR05fT0ZGIFBSRUZFUl9QQUNL RUQgU1BEWF9MSUNFTlNFX1RBRyBTUExJVF9TVFJJTkcgU1NDQU5GX1RPX0tTVFJUTwoKTk9URTog SWYgYW55IG9mIHRoZSBlcnJvcnMgYXJlIGZhbHNlIHBvc2l0aXZlcywgcGxlYXNlIHJlcG9ydAog ICAgICB0aGVtIHRvIHRoZSBtYWludGFpbmVyLCBzZWUgQ0hFQ0tQQVRDSCBpbiBNQUlOVEFJTkVS Uy4KCnByb2ZpbGVzL2hlYWx0aDogSW5jbHVzaXZlIGxhbmd1YWdlIGNoYW5nZXMKV0FSTklORzpM T05HX0xJTkVfQ09NTUVOVDogbGluZSBsZW5ndGggb2YgODUgZXhjZWVkcyA4MCBjb2x1bW5zCiMy NzogRklMRTogcHJvZmlsZXMvaGVhbHRoL21jYXAuYzo1NjoKKwlndWludAkJcmVtb3RlX2NhcHM7 CS8qIENTUC1QZXJpcGhlcmFsOiByZW1vdGUgY2VudHJhbCBnb3QgY2FwcyAqLwoKV0FSTklORzpM T05HX0xJTkVfQ09NTUVOVDogbGluZSBsZW5ndGggb2YgOTAgZXhjZWVkcyA4MCBjb2x1bW5zCiMy ODogRklMRTogcHJvZmlsZXMvaGVhbHRoL21jYXAuYzo1NzoKKwlndWludAkJcmVtX3JlcV9hY2M7 CS8qIENTUC1QZXJpcGhlcmFsOiBhY2N1cmFjeSByZXF1aXJlZCBieSBjZW50cmFsICovCgpXQVJO SU5HOkxPTkdfTElORV9DT01NRU5UOiBsaW5lIGxlbmd0aCBvZiA4MSBleGNlZWRzIDgwIGNvbHVt bnMKIzM0OiBGSUxFOiBwcm9maWxlcy9oZWFsdGgvbWNhcC5jOjYzOgorCXZvaWQJCSpjc3BfcHJp dl9kYXRhOwkvKiBDU1AtQ2VudHJhbDogSW4tZmxpZ2h0IHJlcXVlc3QgZGF0YSAqLwoKV0FSTklO RzpMT05HX0xJTkVfQ09NTUVOVDogbGluZSBsZW5ndGggb2YgMTAwIGV4Y2VlZHMgODAgY29sdW1u cwojNTY6IEZJTEU6IHByb2ZpbGVzL2hlYWx0aC9tY2FwLmg6MjczOgorCW1jYXBfaW5mb19pbmRf ZXZlbnRfY2IJbWNsX3N5bmNfaW5mb2luZF9jYjsJLyogKENTUCBDZW50cmFsKSBSZWNlaXZlZCBp bmZvIGluZGljYXRpb24gKi8KCi0gdG90YWw6IDAgZXJyb3JzLCA0IHdhcm5pbmdzLCA0MCBsaW5l cyBjaGVja2VkCgpOT1RFOiBGb3Igc29tZSBvZiB0aGUgcmVwb3J0ZWQgZGVmZWN0cywgY2hlY2tw YXRjaCBtYXkgYmUgYWJsZSB0bwogICAgICBtZWNoYW5pY2FsbHkgY29udmVydCB0byB0aGUgdHlw aWNhbCBzdHlsZSB1c2luZyAtLWZpeCBvciAtLWZpeC1pbnBsYWNlLgoKIltQQVRDSF0gcHJvZmls ZXMvaGVhbHRoOiBJbmNsdXNpdmUgbGFuZ3VhZ2UgY2hhbmdlcyIgaGFzIHN0eWxlIHByb2JsZW1z LCBwbGVhc2UgcmV2aWV3LgoKTk9URTogSWdub3JlZCBtZXNzYWdlIHR5cGVzOiBDT01NSVRfTUVT U0FHRSBDT01QTEVYX01BQ1JPIENPTlNUX1NUUlVDVCBGSUxFX1BBVEhfQ0hBTkdFUyBNSVNTSU5H X1NJR05fT0ZGIFBSRUZFUl9QQUNLRUQgU1BEWF9MSUNFTlNFX1RBRyBTUExJVF9TVFJJTkcgU1ND QU5GX1RPX0tTVFJUTwoKTk9URTogSWYgYW55IG9mIHRoZSBlcnJvcnMgYXJlIGZhbHNlIHBvc2l0 aXZlcywgcGxlYXNlIHJlcG9ydAogICAgICB0aGVtIHRvIHRoZSBtYWludGFpbmVyLCBzZWUgQ0hF Q0tQQVRDSCBpbiBNQUlOVEFJTkVSUy4KCmFkYXB0ZXI6IEluY2x1c2l2ZSBsYW5ndWFnZSBmb3Ig Y2VudHJhbCBhbmQgcGVyaXBoZXJhbApFUlJPUjpJTklUSUFMSVNFRF9TVEFUSUM6IGRvIG5vdCBp bml0aWFsaXNlIHN0YXRpY3MgdG8gTlVMTAojMTk6IEZJTEU6IHNyYy9hZGFwdGVyLmM6MTE1Ogor c3RhdGljIHN0cnVjdCBtZ210ICptZ210X3ByaW1hcnkgPSBOVUxMOwoKLSB0b3RhbDogMSBlcnJv cnMsIDAgd2FybmluZ3MsIDI4NSBsaW5lcyBjaGVja2VkCgpOT1RFOiBGb3Igc29tZSBvZiB0aGUg cmVwb3J0ZWQgZGVmZWN0cywgY2hlY2twYXRjaCBtYXkgYmUgYWJsZSB0bwogICAgICBtZWNoYW5p Y2FsbHkgY29udmVydCB0byB0aGUgdHlwaWNhbCBzdHlsZSB1c2luZyAtLWZpeCBvciAtLWZpeC1p bnBsYWNlLgoKIltQQVRDSF0gYWRhcHRlcjogSW5jbHVzaXZlIGxhbmd1YWdlIGZvciBjZW50cmFs IGFuZCBwZXJpcGhlcmFsIiBoYXMgc3R5bGUgcHJvYmxlbXMsIHBsZWFzZSByZXZpZXcuCgpOT1RF OiBJZ25vcmVkIG1lc3NhZ2UgdHlwZXM6IENPTU1JVF9NRVNTQUdFIENPTVBMRVhfTUFDUk8gQ09O U1RfU1RSVUNUIEZJTEVfUEFUSF9DSEFOR0VTIE1JU1NJTkdfU0lHTl9PRkYgUFJFRkVSX1BBQ0tF RCBTUERYX0xJQ0VOU0VfVEFHIFNQTElUX1NUUklORyBTU0NBTkZfVE9fS1NUUlRPCgpOT1RFOiBJ ZiBhbnkgb2YgdGhlIGVycm9ycyBhcmUgZmFsc2UgcG9zaXRpdmVzLCBwbGVhc2UgcmVwb3J0CiAg ICAgIHRoZW0gdG8gdGhlIG1haW50YWluZXIsIHNlZSBDSEVDS1BBVENIIGluIE1BSU5UQUlORVJT LgoKYWRhcHRlcjogSW5jbHVzaXZlIGxhbmd1YWdlIGZvciBkZXZpY2UgZmlsdGVyaW5nCldBUk5J Tkc6Q09NTUlUX0xPR19MT05HX0xJTkU6IFBvc3NpYmxlIHVud3JhcHBlZCBjb21taXQgZGVzY3Jp cHRpb24gKHByZWZlciBhIG1heGltdW0gNzUgY2hhcnMgcGVyIGxpbmUpCiM4OiAKaHR0cHM6Ly9z cGVjaWZpY2F0aW9ucmVmcy5ibHVldG9vdGguY29tL2xhbmd1YWdlLW1hcHBpbmcvQXBwcm9wcmlh dGVfTGFuZ3VhZ2VfTWFwcGluZ19UYWJsZS5wZGYKCi0gdG90YWw6IDAgZXJyb3JzLCAxIHdhcm5p bmdzLCA4OSBsaW5lcyBjaGVja2VkCgpOT1RFOiBGb3Igc29tZSBvZiB0aGUgcmVwb3J0ZWQgZGVm ZWN0cywgY2hlY2twYXRjaCBtYXkgYmUgYWJsZSB0bwogICAgICBtZWNoYW5pY2FsbHkgY29udmVy dCB0byB0aGUgdHlwaWNhbCBzdHlsZSB1c2luZyAtLWZpeCBvciAtLWZpeC1pbnBsYWNlLgoKIltQ QVRDSF0gYWRhcHRlcjogSW5jbHVzaXZlIGxhbmd1YWdlIGZvciBkZXZpY2UgZmlsdGVyaW5nIiBo YXMgc3R5bGUgcHJvYmxlbXMsIHBsZWFzZSByZXZpZXcuCgpOT1RFOiBJZ25vcmVkIG1lc3NhZ2Ug dHlwZXM6IENPTU1JVF9NRVNTQUdFIENPTVBMRVhfTUFDUk8gQ09OU1RfU1RSVUNUIEZJTEVfUEFU SF9DSEFOR0VTIE1JU1NJTkdfU0lHTl9PRkYgUFJFRkVSX1BBQ0tFRCBTUERYX0xJQ0VOU0VfVEFH IFNQTElUX1NUUklORyBTU0NBTkZfVE9fS1NUUlRPCgpOT1RFOiBJZiBhbnkgb2YgdGhlIGVycm9y cyBhcmUgZmFsc2UgcG9zaXRpdmVzLCBwbGVhc2UgcmVwb3J0CiAgICAgIHRoZW0gdG8gdGhlIG1h aW50YWluZXIsIHNlZSBDSEVDS1BBVENIIGluIE1BSU5UQUlORVJTLgoKbWVzaDogSW5jbHVzaXZl IGxhbmd1YWdlIGNoYW5nZXMKV0FSTklORzpDT01NSVRfTE9HX0xPTkdfTElORTogUG9zc2libGUg dW53cmFwcGVkIGNvbW1pdCBkZXNjcmlwdGlvbiAocHJlZmVyIGEgbWF4aW11bSA3NSBjaGFycyBw ZXIgbGluZSkKIzg6IApodHRwczovL3NwZWNpZmljYXRpb25yZWZzLmJsdWV0b290aC5jb20vbGFu Z3VhZ2UtbWFwcGluZy9BcHByb3ByaWF0ZV9MYW5ndWFnZV9NYXBwaW5nX1RhYmxlLnBkZgoKRVJS T1I6SU5JVElBTElTRURfU1RBVElDOiBkbyBub3QgaW5pdGlhbGlzZSBzdGF0aWNzIHRvIDAKIzI4 OiBGSUxFOiBtZXNoL25ldC1rZXlzLmM6NTY6CitzdGF0aWMgdWludDMyX3QgbGFzdF9mbG9vZGlu Z19pZCA9IDA7CgotIHRvdGFsOiAxIGVycm9ycywgMSB3YXJuaW5ncywgMTQ2IGxpbmVzIGNoZWNr ZWQKCk5PVEU6IEZvciBzb21lIG9mIHRoZSByZXBvcnRlZCBkZWZlY3RzLCBjaGVja3BhdGNoIG1h eSBiZSBhYmxlIHRvCiAgICAgIG1lY2hhbmljYWxseSBjb252ZXJ0IHRvIHRoZSB0eXBpY2FsIHN0 eWxlIHVzaW5nIC0tZml4IG9yIC0tZml4LWlucGxhY2UuCgoiW1BBVENIXSBtZXNoOiBJbmNsdXNp dmUgbGFuZ3VhZ2UgY2hhbmdlcyIgaGFzIHN0eWxlIHByb2JsZW1zLCBwbGVhc2UgcmV2aWV3LgoK Tk9URTogSWdub3JlZCBtZXNzYWdlIHR5cGVzOiBDT01NSVRfTUVTU0FHRSBDT01QTEVYX01BQ1JP IENPTlNUX1NUUlVDVCBGSUxFX1BBVEhfQ0hBTkdFUyBNSVNTSU5HX1NJR05fT0ZGIFBSRUZFUl9Q QUNLRUQgU1BEWF9MSUNFTlNFX1RBRyBTUExJVF9TVFJJTkcgU1NDQU5GX1RPX0tTVFJUTwoKTk9U RTogSWYgYW55IG9mIHRoZSBlcnJvcnMgYXJlIGZhbHNlIHBvc2l0aXZlcywgcGxlYXNlIHJlcG9y dAogICAgICB0aGVtIHRvIHRoZSBtYWludGFpbmVyLCBzZWUgQ0hFQ0tQQVRDSCBpbiBNQUlOVEFJ TkVSUy4KCnRvb2xzL21lc2g6IEluY2x1c2l2ZSBsYW5ndWFnZSBjaGFuZ2VzCldBUk5JTkc6Q09N TUlUX0xPR19MT05HX0xJTkU6IFBvc3NpYmxlIHVud3JhcHBlZCBjb21taXQgZGVzY3JpcHRpb24g KHByZWZlciBhIG1heGltdW0gNzUgY2hhcnMgcGVyIGxpbmUpCiM3OiAKaHR0cHM6Ly9zcGVjaWZp Y2F0aW9ucmVmcy5ibHVldG9vdGguY29tL2xhbmd1YWdlLW1hcHBpbmcvQXBwcm9wcmlhdGVfTGFu Z3VhZ2VfTWFwcGluZ19UYWJsZS5wZGYKCi0gdG90YWw6IDAgZXJyb3JzLCAxIHdhcm5pbmdzLCAy MzkgbGluZXMgY2hlY2tlZAoKTk9URTogRm9yIHNvbWUgb2YgdGhlIHJlcG9ydGVkIGRlZmVjdHMs IGNoZWNrcGF0Y2ggbWF5IGJlIGFibGUgdG8KICAgICAgbWVjaGFuaWNhbGx5IGNvbnZlcnQgdG8g dGhlIHR5cGljYWwgc3R5bGUgdXNpbmcgLS1maXggb3IgLS1maXgtaW5wbGFjZS4KCiJbUEFUQ0hd IHRvb2xzL21lc2g6IEluY2x1c2l2ZSBsYW5ndWFnZSBjaGFuZ2VzIiBoYXMgc3R5bGUgcHJvYmxl bXMsIHBsZWFzZSByZXZpZXcuCgpOT1RFOiBJZ25vcmVkIG1lc3NhZ2UgdHlwZXM6IENPTU1JVF9N RVNTQUdFIENPTVBMRVhfTUFDUk8gQ09OU1RfU1RSVUNUIEZJTEVfUEFUSF9DSEFOR0VTIE1JU1NJ TkdfU0lHTl9PRkYgUFJFRkVSX1BBQ0tFRCBTUERYX0xJQ0VOU0VfVEFHIFNQTElUX1NUUklORyBT U0NBTkZfVE9fS1NUUlRPCgpOT1RFOiBJZiBhbnkgb2YgdGhlIGVycm9ycyBhcmUgZmFsc2UgcG9z aXRpdmVzLCBwbGVhc2UgcmVwb3J0CiAgICAgIHRoZW0gdG8gdGhlIG1haW50YWluZXIsIHNlZSBD SEVDS1BBVENIIGluIE1BSU5UQUlORVJTLgoKdG9vbHMvbWVzaC1nYXR0OiBJbmNsdXNpdmUgbGFu Z3VhZ2UgY2hhbmdlcwpXQVJOSU5HOkNPTU1JVF9MT0dfTE9OR19MSU5FOiBQb3NzaWJsZSB1bndy YXBwZWQgY29tbWl0IGRlc2NyaXB0aW9uIChwcmVmZXIgYSBtYXhpbXVtIDc1IGNoYXJzIHBlciBs aW5lKQojNzogCmh0dHBzOi8vc3BlY2lmaWNhdGlvbnJlZnMuYmx1ZXRvb3RoLmNvbS9sYW5ndWFn ZS1tYXBwaW5nL0FwcHJvcHJpYXRlX0xhbmd1YWdlX01hcHBpbmdfVGFibGUucGRmCgpFUlJPUjpG VU5DVElPTl9XSVRIT1VUX0FSR1M6IEJhZCBmdW5jdGlvbiBkZWZpbml0aW9uIC0gdm9pZCBzZXR1 cF9hY2NlcHRfbGlzdCgpIHNob3VsZCBwcm9iYWJseSBiZSB2b2lkIHNldHVwX2FjY2VwdF9saXN0 KHZvaWQpCiM5MDogRklMRTogdG9vbHMvbWVzaC1nYXR0L25ldC5jOjk0NDoKK3N0YXRpYyB2b2lk IHNldHVwX2FjY2VwdF9saXN0KCkKCi0gdG90YWw6IDEgZXJyb3JzLCAxIHdhcm5pbmdzLCAxMjcg bGluZXMgY2hlY2tlZAoKTk9URTogRm9yIHNvbWUgb2YgdGhlIHJlcG9ydGVkIGRlZmVjdHMsIGNo ZWNrcGF0Y2ggbWF5IGJlIGFibGUgdG8KICAgICAgbWVjaGFuaWNhbGx5IGNvbnZlcnQgdG8gdGhl IHR5cGljYWwgc3R5bGUgdXNpbmcgLS1maXggb3IgLS1maXgtaW5wbGFjZS4KCiJbUEFUQ0hdIHRv b2xzL21lc2gtZ2F0dDogSW5jbHVzaXZlIGxhbmd1YWdlIGNoYW5nZXMiIGhhcyBzdHlsZSBwcm9i bGVtcywgcGxlYXNlIHJldmlldy4KCk5PVEU6IElnbm9yZWQgbWVzc2FnZSB0eXBlczogQ09NTUlU X01FU1NBR0UgQ09NUExFWF9NQUNSTyBDT05TVF9TVFJVQ1QgRklMRV9QQVRIX0NIQU5HRVMgTUlT U0lOR19TSUdOX09GRiBQUkVGRVJfUEFDS0VEIFNQRFhfTElDRU5TRV9UQUcgU1BMSVRfU1RSSU5H IFNTQ0FORl9UT19LU1RSVE8KCk5PVEU6IElmIGFueSBvZiB0aGUgZXJyb3JzIGFyZSBmYWxzZSBw b3NpdGl2ZXMsIHBsZWFzZSByZXBvcnQKICAgICAgdGhlbSB0byB0aGUgbWFpbnRhaW5lciwgc2Vl IENIRUNLUEFUQ0ggaW4gTUFJTlRBSU5FUlMuCgp1bml0L21lc2g6IEluY2x1c2l2ZSBsYW5ndWFn ZSBjaGFuZ2VzCldBUk5JTkc6Q09NTUlUX0xPR19MT05HX0xJTkU6IFBvc3NpYmxlIHVud3JhcHBl ZCBjb21taXQgZGVzY3JpcHRpb24gKHByZWZlciBhIG1heGltdW0gNzUgY2hhcnMgcGVyIGxpbmUp CiM3OiAKaHR0cHM6Ly9zcGVjaWZpY2F0aW9ucmVmcy5ibHVldG9vdGguY29tL2xhbmd1YWdlLW1h cHBpbmcvQXBwcm9wcmlhdGVfTGFuZ3VhZ2VfTWFwcGluZ19UYWJsZS5wZGYKCi0gdG90YWw6IDAg ZXJyb3JzLCAxIHdhcm5pbmdzLCAxNiBsaW5lcyBjaGVja2VkCgpOT1RFOiBGb3Igc29tZSBvZiB0 aGUgcmVwb3J0ZWQgZGVmZWN0cywgY2hlY2twYXRjaCBtYXkgYmUgYWJsZSB0bwogICAgICBtZWNo YW5pY2FsbHkgY29udmVydCB0byB0aGUgdHlwaWNhbCBzdHlsZSB1c2luZyAtLWZpeCBvciAtLWZp eC1pbnBsYWNlLgoKIltQQVRDSF0gdW5pdC9tZXNoOiBJbmNsdXNpdmUgbGFuZ3VhZ2UgY2hhbmdl cyIgaGFzIHN0eWxlIHByb2JsZW1zLCBwbGVhc2UgcmV2aWV3LgoKTk9URTogSWdub3JlZCBtZXNz YWdlIHR5cGVzOiBDT01NSVRfTUVTU0FHRSBDT01QTEVYX01BQ1JPIENPTlNUX1NUUlVDVCBGSUxF X1BBVEhfQ0hBTkdFUyBNSVNTSU5HX1NJR05fT0ZGIFBSRUZFUl9QQUNLRUQgU1BEWF9MSUNFTlNF X1RBRyBTUExJVF9TVFJJTkcgU1NDQU5GX1RPX0tTVFJUTwoKTk9URTogSWYgYW55IG9mIHRoZSBl cnJvcnMgYXJlIGZhbHNlIHBvc2l0aXZlcywgcGxlYXNlIHJlcG9ydAogICAgICB0aGVtIHRvIHRo ZSBtYWludGFpbmVyLCBzZWUgQ0hFQ0tQQVRDSCBpbiBNQUlOVEFJTkVSUy4KCmRvYy9tZXNoOiBJ bmNsdXNpdmUgbGFuZ3VhZ2UgY2hhbmdlcwpXQVJOSU5HOkNPTU1JVF9MT0dfTE9OR19MSU5FOiBQ b3NzaWJsZSB1bndyYXBwZWQgY29tbWl0IGRlc2NyaXB0aW9uIChwcmVmZXIgYSBtYXhpbXVtIDc1 IGNoYXJzIHBlciBsaW5lKQojNzogCmh0dHBzOi8vc3BlY2lmaWNhdGlvbnJlZnMuYmx1ZXRvb3Ro LmNvbS9sYW5ndWFnZS1tYXBwaW5nL0FwcHJvcHJpYXRlX0xhbmd1YWdlX01hcHBpbmdfVGFibGUu cGRmCgotIHRvdGFsOiAwIGVycm9ycywgMSB3YXJuaW5ncywgOCBsaW5lcyBjaGVja2VkCgpOT1RF OiBGb3Igc29tZSBvZiB0aGUgcmVwb3J0ZWQgZGVmZWN0cywgY2hlY2twYXRjaCBtYXkgYmUgYWJs ZSB0bwogICAgICBtZWNoYW5pY2FsbHkgY29udmVydCB0byB0aGUgdHlwaWNhbCBzdHlsZSB1c2lu ZyAtLWZpeCBvciAtLWZpeC1pbnBsYWNlLgoKIltQQVRDSF0gZG9jL21lc2g6IEluY2x1c2l2ZSBs YW5ndWFnZSBjaGFuZ2VzIiBoYXMgc3R5bGUgcHJvYmxlbXMsIHBsZWFzZSByZXZpZXcuCgpOT1RF OiBJZ25vcmVkIG1lc3NhZ2UgdHlwZXM6IENPTU1JVF9NRVNTQUdFIENPTVBMRVhfTUFDUk8gQ09O U1RfU1RSVUNUIEZJTEVfUEFUSF9DSEFOR0VTIE1JU1NJTkdfU0lHTl9PRkYgUFJFRkVSX1BBQ0tF RCBTUERYX0xJQ0VOU0VfVEFHIFNQTElUX1NUUklORyBTU0NBTkZfVE9fS1NUUlRPCgpOT1RFOiBJ ZiBhbnkgb2YgdGhlIGVycm9ycyBhcmUgZmFsc2UgcG9zaXRpdmVzLCBwbGVhc2UgcmVwb3J0CiAg ICAgIHRoZW0gdG8gdGhlIG1haW50YWluZXIsIHNlZSBDSEVDS1BBVENIIGluIE1BSU5UQUlORVJT LgoKYW5kcm9pZDogSW5jbHVzaXZlIGxhbmd1YWdlIGZvciB2b2x1bWUgY29udHJvbApXQVJOSU5H OkxFQURJTkdfU1BBQ0U6IHBsZWFzZSwgbm8gc3BhY2VzIGF0IHRoZSBzdGFydCBvZiBhIGxpbmUK IzExNTogRklMRTogYW5kcm9pZC9oYXJkd2FyZS9hdWRpby5oOjUxNzoKKyAgICBpbnQgKCpzZXRf bWFpbl92b2x1bWUpKHN0cnVjdCBhdWRpb19od19kZXZpY2UgKmRldiwgZmxvYXQgdm9sdW1lKTsk CgpXQVJOSU5HOkxFQURJTkdfU1BBQ0U6IHBsZWFzZSwgbm8gc3BhY2VzIGF0IHRoZSBzdGFydCBv ZiBhIGxpbmUKIzEyODogRklMRTogYW5kcm9pZC9oYXJkd2FyZS9hdWRpby5oOjUyNjoKKyAgICBp bnQgKCpnZXRfbWFpbl92b2x1bWUpKHN0cnVjdCBhdWRpb19od19kZXZpY2UgKmRldiwgZmxvYXQg KnZvbHVtZSk7JAoKV0FSTklORzpMRUFESU5HX1NQQUNFOiBwbGVhc2UsIG5vIHNwYWNlcyBhdCB0 aGUgc3RhcnQgb2YgYSBsaW5lCiMxMzc6IEZJTEU6IGFuZHJvaWQvaGFyZHdhcmUvYXVkaW8uaDo1 OTU6CisgICAgaW50ICgqc2V0X21haW5fbXV0ZSkoc3RydWN0IGF1ZGlvX2h3X2RldmljZSAqZGV2 LCBib29sIG11dGUpOyQKCldBUk5JTkc6TEVBRElOR19TUEFDRTogcGxlYXNlLCBubyBzcGFjZXMg YXQgdGhlIHN0YXJ0IG9mIGEgbGluZQojMTUwOiBGSUxFOiBhbmRyb2lkL2hhcmR3YXJlL2F1ZGlv Lmg6NjA0OgorICAgIGludCAoKmdldF9tYWluX211dGUpKHN0cnVjdCBhdWRpb19od19kZXZpY2Ug KmRldiwgYm9vbCAqbXV0ZSk7JAoKLSB0b3RhbDogMCBlcnJvcnMsIDQgd2FybmluZ3MsIDEyNCBs aW5lcyBjaGVja2VkCgpOT1RFOiBGb3Igc29tZSBvZiB0aGUgcmVwb3J0ZWQgZGVmZWN0cywgY2hl Y2twYXRjaCBtYXkgYmUgYWJsZSB0bwogICAgICBtZWNoYW5pY2FsbHkgY29udmVydCB0byB0aGUg dHlwaWNhbCBzdHlsZSB1c2luZyAtLWZpeCBvciAtLWZpeC1pbnBsYWNlLgoKIltQQVRDSF0gYW5k cm9pZDogSW5jbHVzaXZlIGxhbmd1YWdlIGZvciB2b2x1bWUgY29udHJvbCIgaGFzIHN0eWxlIHBy b2JsZW1zLCBwbGVhc2UgcmV2aWV3LgoKTk9URTogSWdub3JlZCBtZXNzYWdlIHR5cGVzOiBDT01N SVRfTUVTU0FHRSBDT01QTEVYX01BQ1JPIENPTlNUX1NUUlVDVCBGSUxFX1BBVEhfQ0hBTkdFUyBN SVNTSU5HX1NJR05fT0ZGIFBSRUZFUl9QQUNLRUQgU1BEWF9MSUNFTlNFX1RBRyBTUExJVF9TVFJJ TkcgU1NDQU5GX1RPX0tTVFJUTwoKTk9URTogSWYgYW55IG9mIHRoZSBlcnJvcnMgYXJlIGZhbHNl IHBvc2l0aXZlcywgcGxlYXNlIHJlcG9ydAogICAgICB0aGVtIHRvIHRoZSBtYWludGFpbmVyLCBz ZWUgQ0hFQ0tQQVRDSCBpbiBNQUlOVEFJTkVSUy4KCmFuZHJvaWQ6IEluY2x1c2l2ZSBsYW5ndWFn ZSBmb3IgZmlsdGVyaW5nIGRldmljZXMKV0FSTklORzpMRUFESU5HX1NQQUNFOiBwbGVhc2UsIG5v IHNwYWNlcyBhdCB0aGUgc3RhcnQgb2YgYSBsaW5lCiMxMDg6IEZJTEU6IGFuZHJvaWQvaGFyZHdh cmUvYnRfaGZfY2xpZW50Lmg6MTAxOgorICAgIEJUSEZfQ0xJRU5UX0NNRF9DT01QTEVURV9FUlJP Ul9CTE9DS0VELCQKCi0gdG90YWw6IDAgZXJyb3JzLCAxIHdhcm5pbmdzLCA3OCBsaW5lcyBjaGVj a2VkCgpOT1RFOiBGb3Igc29tZSBvZiB0aGUgcmVwb3J0ZWQgZGVmZWN0cywgY2hlY2twYXRjaCBt YXkgYmUgYWJsZSB0bwogICAgICBtZWNoYW5pY2FsbHkgY29udmVydCB0byB0aGUgdHlwaWNhbCBz dHlsZSB1c2luZyAtLWZpeCBvciAtLWZpeC1pbnBsYWNlLgoKIltQQVRDSF0gYW5kcm9pZDogSW5j bHVzaXZlIGxhbmd1YWdlIGZvciBmaWx0ZXJpbmcgZGV2aWNlcyIgaGFzIHN0eWxlIHByb2JsZW1z LCBwbGVhc2UgcmV2aWV3LgoKTk9URTogSWdub3JlZCBtZXNzYWdlIHR5cGVzOiBDT01NSVRfTUVT U0FHRSBDT01QTEVYX01BQ1JPIENPTlNUX1NUUlVDVCBGSUxFX1BBVEhfQ0hBTkdFUyBNSVNTSU5H X1NJR05fT0ZGIFBSRUZFUl9QQUNLRUQgU1BEWF9MSUNFTlNFX1RBRyBTUExJVF9TVFJJTkcgU1ND QU5GX1RPX0tTVFJUTwoKTk9URTogSWYgYW55IG9mIHRoZSBlcnJvcnMgYXJlIGZhbHNlIHBvc2l0 aXZlcywgcGxlYXNlIHJlcG9ydAogICAgICB0aGVtIHRvIHRoZSBtYWludGFpbmVyLCBzZWUgQ0hF Q0tQQVRDSCBpbiBNQUlOVEFJTkVSUy4KCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK VGVzdDogR2l0TGludCAtIEZBSUwKRGVzYzogUnVuIGdpdGxpbnQgd2l0aCBydWxlIGluIC5naXRs aW50Ck91dHB1dDoKc2hhcmVkL2FkOiBJbmNsdXNpdmUgbGFuZ3VhZ2UgY2hhbmdlcwo1OiBCMSBM aW5lIGV4Y2VlZHMgbWF4IGxlbmd0aCAoOTU+ODApOiAiaHR0cHM6Ly9zcGVjaWZpY2F0aW9ucmVm cy5ibHVldG9vdGguY29tL2xhbmd1YWdlLW1hcHBpbmcvQXBwcm9wcmlhdGVfTGFuZ3VhZ2VfTWFw cGluZ19UYWJsZS5wZGYiCgpzaGFyZWQvaGZwOiBJbmNsdXNpdmUgbGFuZ3VhZ2UgY2hhbmdlcwo0 OiBCMSBMaW5lIGV4Y2VlZHMgbWF4IGxlbmd0aCAoOTU+ODApOiAiaHR0cHM6Ly9zcGVjaWZpY2F0 aW9ucmVmcy5ibHVldG9vdGguY29tL2xhbmd1YWdlLW1hcHBpbmcvQXBwcm9wcmlhdGVfTGFuZ3Vh Z2VfTWFwcGluZ19UYWJsZS5wZGYiCgp0b29scy9oY2ljb25maWc6IEluY2x1c2l2ZSBsYW5ndWFn ZSBjaGFuZ2VzCjU6IEIxIExpbmUgZXhjZWVkcyBtYXggbGVuZ3RoICg5NT44MCk6ICJodHRwczov L3NwZWNpZmljYXRpb25yZWZzLmJsdWV0b290aC5jb20vbGFuZ3VhZ2UtbWFwcGluZy9BcHByb3By aWF0ZV9MYW5ndWFnZV9NYXBwaW5nX1RhYmxlLnBkZiIKCmFkYXB0ZXI6IEluY2x1c2l2ZSBsYW5n dWFnZSBmb3IgZGV2aWNlIGZpbHRlcmluZwo1OiBCMSBMaW5lIGV4Y2VlZHMgbWF4IGxlbmd0aCAo OTU+ODApOiAiaHR0cHM6Ly9zcGVjaWZpY2F0aW9ucmVmcy5ibHVldG9vdGguY29tL2xhbmd1YWdl LW1hcHBpbmcvQXBwcm9wcmlhdGVfTGFuZ3VhZ2VfTWFwcGluZ19UYWJsZS5wZGYiCgptZXNoOiBJ bmNsdXNpdmUgbGFuZ3VhZ2UgY2hhbmdlcwo1OiBCMSBMaW5lIGV4Y2VlZHMgbWF4IGxlbmd0aCAo OTU+ODApOiAiaHR0cHM6Ly9zcGVjaWZpY2F0aW9ucmVmcy5ibHVldG9vdGguY29tL2xhbmd1YWdl LW1hcHBpbmcvQXBwcm9wcmlhdGVfTGFuZ3VhZ2VfTWFwcGluZ19UYWJsZS5wZGYiCgp0b29scy9t ZXNoOiBJbmNsdXNpdmUgbGFuZ3VhZ2UgY2hhbmdlcwo0OiBCMSBMaW5lIGV4Y2VlZHMgbWF4IGxl bmd0aCAoOTU+ODApOiAiaHR0cHM6Ly9zcGVjaWZpY2F0aW9ucmVmcy5ibHVldG9vdGguY29tL2xh bmd1YWdlLW1hcHBpbmcvQXBwcm9wcmlhdGVfTGFuZ3VhZ2VfTWFwcGluZ19UYWJsZS5wZGYiCgp0 b29scy9tZXNoLWdhdHQ6IEluY2x1c2l2ZSBsYW5ndWFnZSBjaGFuZ2VzCjQ6IEIxIExpbmUgZXhj ZWVkcyBtYXggbGVuZ3RoICg5NT44MCk6ICJodHRwczovL3NwZWNpZmljYXRpb25yZWZzLmJsdWV0 b290aC5jb20vbGFuZ3VhZ2UtbWFwcGluZy9BcHByb3ByaWF0ZV9MYW5ndWFnZV9NYXBwaW5nX1Rh YmxlLnBkZiIKCnVuaXQvbWVzaDogSW5jbHVzaXZlIGxhbmd1YWdlIGNoYW5nZXMKNDogQjEgTGlu ZSBleGNlZWRzIG1heCBsZW5ndGggKDk1PjgwKTogImh0dHBzOi8vc3BlY2lmaWNhdGlvbnJlZnMu Ymx1ZXRvb3RoLmNvbS9sYW5ndWFnZS1tYXBwaW5nL0FwcHJvcHJpYXRlX0xhbmd1YWdlX01hcHBp bmdfVGFibGUucGRmIgoKZG9jL21lc2g6IEluY2x1c2l2ZSBsYW5ndWFnZSBjaGFuZ2VzCjQ6IEIx IExpbmUgZXhjZWVkcyBtYXggbGVuZ3RoICg5NT44MCk6ICJodHRwczovL3NwZWNpZmljYXRpb25y ZWZzLmJsdWV0b290aC5jb20vbGFuZ3VhZ2UtbWFwcGluZy9BcHByb3ByaWF0ZV9MYW5ndWFnZV9N YXBwaW5nX1RhYmxlLnBkZiIKCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKVGVzdDog UHJlcCAtIFNldHVwIEVMTCAtIFBBU1MKRGVzYzogQ2xvbmUsIGJ1aWxkLCBhbmQgaW5zdGFsbCBF TEwKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpUZXN0OiBCdWlsZCAtIFByZXAgLSBQ QVNTCkRlc2M6IFByZXBhcmUgZW52aXJvbm1lbnQgZm9yIGJ1aWxkCgojIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMKVGVzdDogQnVpbGQgLSBDb25maWd1cmUgLSBQQVNTCkRlc2M6IENvbmZp Z3VyZSB0aGUgQmx1ZVogc291cmNlIHRyZWUKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IwpUZXN0OiBCdWlsZCAtIE1ha2UgLSBQQVNTCkRlc2M6IEJ1aWxkIHRoZSBCbHVlWiBzb3VyY2Ug dHJlZQoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjClRlc3Q6IE1ha2UgQ2hlY2sgLSBQ QVNTCkRlc2M6IFJ1biAnbWFrZSBjaGVjaycKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IwpUZXN0OiBNYWtlIERpc3RjaGVjayAtIFBBU1MKRGVzYzogUnVuIGRpc3RjaGVjayB0byBjaGVj ayB0aGUgZGlzdHJpYnV0aW9uCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKVGVzdDog QnVpbGQgdy9leHQgRUxMIC0gQ29uZmlndXJlIC0gUEFTUwpEZXNjOiBDb25maWd1cmUgQmx1ZVog c291cmNlIHdpdGggJy0tZW5hYmxlLWV4dGVybmFsLWVsbCcgY29uZmlndXJhdGlvbgoKIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjClRlc3Q6IEJ1aWxkIHcvZXh0IEVMTCAtIE1ha2UgLSBQ QVNTCkRlc2M6IEJ1aWxkIEJsdWVaIHNvdXJjZSB3aXRoICctLWVuYWJsZS1leHRlcm5hbC1lbGwn IGNvbmZpZ3VyYXRpb24KCgoKLS0tClJlZ2FyZHMsCkxpbnV4IEJsdWV0b290aAoK --===============5178750565245394195==--