Received: by 2002:a05:6a10:9afc:0:0:0:0 with SMTP id t28csp938535pxm; Sat, 26 Feb 2022 01:44:28 -0800 (PST) X-Google-Smtp-Source: ABdhPJwMj+FmLnLkGE43SHELU1wkJeE6fKgWV4mXrKc7OtJ0Oc18gBwNk0PcP5wtvbbo0lR1h04a X-Received: by 2002:a17:902:900c:b0:14d:81e9:75d with SMTP id a12-20020a170902900c00b0014d81e9075dmr11298590plp.69.1645868668514; Sat, 26 Feb 2022 01:44:28 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1645868668; cv=none; d=google.com; s=arc-20160816; b=J7DEC6RQX4t9K8+PAdnLFYFHcgJPq0zMCo+iVh4TIZd6naownTT5CKGinWBGZBM07k xNbv93R4rsvuId8rBYIvl3jUym6O57qTZqFweB/Ha3rW1xaXScjAuckDQTbWYZq0IX/w GZqoshH4d9s+cMRNkZUoWK1LBr5ndXzvgFB8oiTKUWF+xybGwEOWlaymg6My0e+bWr8g s8uhLL1jBNYwAiTkU7m7P1ZFWiSvT4LJEBOobAtpWP6l9xxjX5eDy8wYppgurAKoy762 QQHioMgsB4ynQnbVvigugspy2Dv94OvIZOnbA7D7/PkwU8vWgUf/YnYxqZ/zs26FIpy0 pDqA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:references:in-reply-to:reply-to:subject:to:from :mime-version:date:message-id:dkim-signature; bh=JlKLaXo4uHihk66mNmf0jod5yo9g+9N2dwH4wlzTnbw=; b=m8zsfN198p1pjb9tSI6lVQ0XlGd6EgsVhUhH+Oz4egsO29SJWzqHsRT5MLYAz9fpl5 YJaKvGNjBgdEXzTJb0axh+UHWfXpRXc26cbyI9vXbZu6YNE1FSJHsxv7eD6g2mdCPMgu UxKj7xXgiwpdEuSkZIMubWFBXC6ECx34RjTctgVEI4/qHJsA60tjH9hyinSWjuy5lBIq eZAPKjoPngXiQy4wLbwIT4qBzaL+Oc/+lSnxz/Uq1pNGRvi+LzYDqHocQTB//Bi3ueMC Tdm/beYcT5o83F0WFcHVX55RDmXR5pK5ONaga7Aox1JLiDjOU1kJRsNEozEHm6Xe7iGh IJkg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=OkYQ097G; spf=pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-bluetooth-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 t30-20020a62d15e000000b004cc5faca467si3768820pfl.111.2022.02.26.01.43.54; Sat, 26 Feb 2022 01:44:28 -0800 (PST) Received-SPF: pass (google.com: domain of linux-bluetooth-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=OkYQ097G; spf=pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-bluetooth-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 S230397AbiBZJjC (ORCPT + 99 others); Sat, 26 Feb 2022 04:39:02 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56944 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230171AbiBZJjB (ORCPT ); Sat, 26 Feb 2022 04:39:01 -0500 Received: from mail-pg1-x535.google.com (mail-pg1-x535.google.com [IPv6:2607:f8b0:4864:20::535]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 51B23AA2FB for ; Sat, 26 Feb 2022 01:38:27 -0800 (PST) Received: by mail-pg1-x535.google.com with SMTP id w37so6897022pga.7 for ; Sat, 26 Feb 2022 01:38:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:date:mime-version:from:to:subject:reply-to:in-reply-to :references; bh=JlKLaXo4uHihk66mNmf0jod5yo9g+9N2dwH4wlzTnbw=; b=OkYQ097GOjODHm9CqzaaP43ionogeF3bhoVz8pWhChI6HYJbMhlBtcuSAN5SH3I9qH eOcPohf2OFZaa5JBrnAZhEfU0DMSqvvYGPsKxTb7OBvxs1B57Ivw7SbIKQAxoCi9dDTv 89OwD8CAKTFMBGuNuGKWQTlwsftAQnNkaXgg9b3jDVLcEgOFy4TwnOzBU0ibFZsGSuVo ZRzdPW2f51v3KiBUPz2BW7PnM4x/d8U2PwuXq1YVk6dTntlqIW+SznKv6X9kAcX5fCOw CplBJcMG6MAJpU09RmtBE4+h5CwVhorNScZpzsAQ0MpdDCYyZl10I1bHj9xMUuvULmgm 9y8Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:from:to:subject :reply-to:in-reply-to:references; bh=JlKLaXo4uHihk66mNmf0jod5yo9g+9N2dwH4wlzTnbw=; b=HTLn/+HttE7hJZkDyBXMP/vMi6ExLZpLVHiHMsbBZ0m/77QVQh8XFEUALnUxmhbqm/ m0lu5vfNCjuoDQCzEeWMOuT2MYfNjomuGsMM+AXWbL/R7xq4LZ//wWvb8HS5JsEpqUTs 9t4btDkF7cLHg7XFEjdTSFdvgiiUjAg5hMCguM/y1l5hy9Hx/xw+M3FpBP3ejKoD5XFr OGS34mCgIeiqoCJIOfWuwPdHu3yf+BGYI39cPI34Rq5dQ6y3zeBmSVnGkfUtks9nLM8e K273/vo712NpY76ZaKziocdcmAyTAPfjBWrgT4Wz8uD6AxieL6pMnBSvD8OadXu63dNT n5vg== X-Gm-Message-State: AOAM532RCgtLSfM10EcCpc59SFIdy2UJFm65zGNXBjnOVtsayLZETEDk sO3K2JEQAo6AB/veJ3hloSf9iae75LM= X-Received: by 2002:a62:e317:0:b0:4ca:25ee:d633 with SMTP id g23-20020a62e317000000b004ca25eed633mr11910376pfh.23.1645868306455; Sat, 26 Feb 2022 01:38:26 -0800 (PST) Received: from [172.17.0.2] ([52.156.117.167]) by smtp.gmail.com with ESMTPSA id j13-20020a63594d000000b003639cf2f9c7sm5053732pgm.71.2022.02.26.01.38.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 26 Feb 2022 01:38:26 -0800 (PST) Message-ID: <6219f512.1c69fb81.39bcc.d0cf@mx.google.com> Date: Sat, 26 Feb 2022 01:38:26 -0800 (PST) Content-Type: multipart/mixed; boundary="===============5545571816028879231==" MIME-Version: 1.0 From: bluez.test.bot@gmail.com To: linux-bluetooth@vger.kernel.org, brian.gix@intel.com Subject: RE: Kernel based mesh functionality Reply-To: linux-bluetooth@vger.kernel.org In-Reply-To: <20220224020624.159247-2-brian.gix@intel.com> References: <20220224020624.159247-2-brian.gix@intel.com> 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-bluetooth@vger.kernel.org --===============5545571816028879231== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhpcyBpcyBhdXRvbWF0ZWQgZW1haWwgYW5kIHBsZWFzZSBkbyBub3QgcmVwbHkgdG8gdGhpcyBl bWFpbCEKCkRlYXIgc3VibWl0dGVyLAoKVGhhbmsgeW91IGZvciBzdWJtaXR0aW5nIHRoZSBwYXRj aGVzIHRvIHRoZSBsaW51eCBibHVldG9vdGggbWFpbGluZyBsaXN0LgpUaGlzIGlzIGEgQ0kgdGVz dCByZXN1bHRzIHdpdGggeW91ciBwYXRjaCBzZXJpZXM6ClBXIExpbms6aHR0cHM6Ly9wYXRjaHdv cmsua2VybmVsLm9yZy9wcm9qZWN0L2JsdWV0b290aC9saXN0Lz9zZXJpZXM9NjE3Mzg0CgotLS1U ZXN0IHJlc3VsdC0tLQoKVGVzdCBTdW1tYXJ5OgpDaGVja1BhdGNoICAgICAgICAgICAgICAgICAg ICBGQUlMICAgICAgNC44NSBzZWNvbmRzCkdpdExpbnQgICAgICAgICAgICAgICAgICAgICAgIFBB U1MgICAgICAyLjYxIHNlY29uZHMKUHJlcCAtIFNldHVwIEVMTCAgICAgICAgICAgICAgUEFTUyAg ICAgIDQ4LjI4IHNlY29uZHMKQnVpbGQgLSBQcmVwICAgICAgICAgICAgICAgICAgUEFTUyAgICAg IDAuNDQgc2Vjb25kcwpCdWlsZCAtIENvbmZpZ3VyZSAgICAgICAgICAgICBQQVNTICAgICAgOS40 NSBzZWNvbmRzCkJ1aWxkIC0gTWFrZSAgICAgICAgICAgICAgICAgIFBBU1MgICAgICAxMzQ3Ljgz IHNlY29uZHMKTWFrZSBDaGVjayAgICAgICAgICAgICAgICAgICAgUEFTUyAgICAgIDEyLjI1IHNl Y29uZHMKTWFrZSBDaGVjayB3L1ZhbGdyaW5kICAgICAgICAgUEFTUyAgICAgIDQ2NS4xOSBzZWNv bmRzCk1ha2UgRGlzdGNoZWNrICAgICAgICAgICAgICAgIFBBU1MgICAgICAyNDMuMzYgc2Vjb25k cwpCdWlsZCB3L2V4dCBFTEwgLSBDb25maWd1cmUgICBQQVNTICAgICAgOC42NiBzZWNvbmRzCkJ1 aWxkIHcvZXh0IEVMTCAtIE1ha2UgICAgICAgIFBBU1MgICAgICAxMzgzLjM5IHNlY29uZHMKSW5j cmVtZW50YWwgQnVpbGQgd2l0aCBwYXRjaGVzRkFJTCAgICAgIDQ2MjcuMjQgc2Vjb25kcwoKRGV0 YWlscwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKVGVzdDogQ2hlY2tQYXRjaCAtIEZB SUwKRGVzYzogUnVuIGNoZWNrcGF0Y2gucGwgc2NyaXB0IHdpdGggcnVsZSBpbiAuY2hlY2twYXRj aC5jb25mCk91dHB1dDoKWzEvN10gbWdtdDogQWRkIHN1cHBvcnQgZm9yIE1lc2ggaW4gdGhlIGtl cm5lbApXQVJOSU5HOlJFUEVBVEVEX1dPUkQ6IFBvc3NpYmxlIHJlcGVhdGVkIHdvcmQ6ICdjb21t YW5kJwojMjUyOiBGSUxFOiBkb2MvbWdtdC1hcGkudHh0OjUxNDM6CisJdGhlIFNldCBNZXNoIFJl Y2VpdmVyIGNvbW1hbmQgY29tbWFuZCwgc3BlY2lmeWluZyB3aGljaCBBRCBUeXBlcyB0bwoKL2dp dGh1Yi93b3Jrc3BhY2Uvc3JjLzEyNzU3NzgyLnBhdGNoIHRvdGFsOiAwIGVycm9ycywgMSB3YXJu aW5ncywgMTg5IGxpbmVzIGNoZWNrZWQKCk5PVEU6IEZvciBzb21lIG9mIHRoZSByZXBvcnRlZCBk ZWZlY3RzLCBjaGVja3BhdGNoIG1heSBiZSBhYmxlIHRvCiAgICAgIG1lY2hhbmljYWxseSBjb252 ZXJ0IHRvIHRoZSB0eXBpY2FsIHN0eWxlIHVzaW5nIC0tZml4IG9yIC0tZml4LWlucGxhY2UuCgov Z2l0aHViL3dvcmtzcGFjZS9zcmMvMTI3NTc3ODIucGF0Y2ggaGFzIHN0eWxlIHByb2JsZW1zLCBw bGVhc2UgcmV2aWV3LgoKTk9URTogSWdub3JlZCBtZXNzYWdlIHR5cGVzOiBDT01NSVRfTUVTU0FH RSBDT01QTEVYX01BQ1JPIENPTlNUX1NUUlVDVCBGSUxFX1BBVEhfQ0hBTkdFUyBNSVNTSU5HX1NJ R05fT0ZGIFBSRUZFUl9QQUNLRUQgU1BEWF9MSUNFTlNFX1RBRyBTUExJVF9TVFJJTkcgU1NDQU5G X1RPX0tTVFJUTwoKTk9URTogSWYgYW55IG9mIHRoZSBlcnJvcnMgYXJlIGZhbHNlIHBvc2l0aXZl cywgcGxlYXNlIHJlcG9ydAogICAgICB0aGVtIHRvIHRoZSBtYWludGFpbmVyLCBzZWUgQ0hFQ0tQ QVRDSCBpbiBNQUlOVEFJTkVSUy4KClszLzddIG1lc2g6IEFkZCBjb21tb24gTUdNVCBjb21tYW5k IGFjY2Vzc29ycwpXQVJOSU5HOlRZUE9fU1BFTExJTkc6ICdhY2Nyb3NzJyBtYXkgYmUgbWlzc3Bl bGxlZCAtIHBlcmhhcHMgJ2Fjcm9zcyc/CiM2OTogCmEgc2luZ2xlIHNvY2tldCwgc2hhcmVkIGFj Y3Jvc3MgYWxsIGNvbnN1bWVycy4KICAgICAgICAgICAgICAgICAgICAgICAgXl5eXl5eXgoKRVJS T1I6RlVOQ1RJT05fV0lUSE9VVF9BUkdTOiBCYWQgZnVuY3Rpb24gZGVmaW5pdGlvbiAtIHZvaWQg bWVzaF9tZ210X2Rlc3Ryb3koKSBzaG91bGQgcHJvYmFibHkgYmUgdm9pZCBtZXNoX21nbXRfZGVz dHJveSh2b2lkKQojMjg1OiBGSUxFOiBtZXNoL21lc2gtbWdtdC5jOjIyNjoKK3ZvaWQgbWVzaF9t Z210X2Rlc3Ryb3koKQoKL2dpdGh1Yi93b3Jrc3BhY2Uvc3JjLzEyNzU3NzgzLnBhdGNoIHRvdGFs OiAxIGVycm9ycywgMSB3YXJuaW5ncywgMjQzIGxpbmVzIGNoZWNrZWQKCk5PVEU6IEZvciBzb21l IG9mIHRoZSByZXBvcnRlZCBkZWZlY3RzLCBjaGVja3BhdGNoIG1heSBiZSBhYmxlIHRvCiAgICAg IG1lY2hhbmljYWxseSBjb252ZXJ0IHRvIHRoZSB0eXBpY2FsIHN0eWxlIHVzaW5nIC0tZml4IG9y IC0tZml4LWlucGxhY2UuCgovZ2l0aHViL3dvcmtzcGFjZS9zcmMvMTI3NTc3ODMucGF0Y2ggaGFz IHN0eWxlIHByb2JsZW1zLCBwbGVhc2UgcmV2aWV3LgoKTk9URTogSWdub3JlZCBtZXNzYWdlIHR5 cGVzOiBDT01NSVRfTUVTU0FHRSBDT01QTEVYX01BQ1JPIENPTlNUX1NUUlVDVCBGSUxFX1BBVEhf Q0hBTkdFUyBNSVNTSU5HX1NJR05fT0ZGIFBSRUZFUl9QQUNLRUQgU1BEWF9MSUNFTlNFX1RBRyBT UExJVF9TVFJJTkcgU1NDQU5GX1RPX0tTVFJUTwoKTk9URTogSWYgYW55IG9mIHRoZSBlcnJvcnMg YXJlIGZhbHNlIHBvc2l0aXZlcywgcGxlYXNlIHJlcG9ydAogICAgICB0aGVtIHRvIHRoZSBtYWlu dGFpbmVyLCBzZWUgQ0hFQ0tQQVRDSCBpbiBNQUlOVEFJTkVSUy4KCls0LzddIG1lc2g6IHJld29y ayBNZXNoLUlPIGZvciBtdWx0aXBsZSB0cmFuc3BvcnRzCldBUk5JTkc6TElORV9TUEFDSU5HOiBN aXNzaW5nIGEgYmxhbmsgbGluZSBhZnRlciBkZWNsYXJhdGlvbnMKIzMzNDogRklMRTogbWVzaC9t ZXNoLWlvLW1nbXQuYzoxMDg6CisJY29uc3Qgc3RydWN0IGR1cF9maWx0ZXIgKmZpbHRlciA9IGE7 CisJcmV0dXJuICFtZW1jbXAoZmlsdGVyLT5hZGRyLCBiLCA2KTsKCldBUk5JTkc6U1BBQ0lORzog c3BhY2UgcHJvaGliaXRlZCBiZXR3ZWVuIGZ1bmN0aW9uIG5hbWUgYW5kIG9wZW4gcGFyZW50aGVz aXMgJygnCiMzMzc6IEZJTEU6IG1lc2gvbWVzaC1pby1tZ210LmM6MTExOgorc3RhdGljIHZvaWQg ZmlsdGVyX3RpbWVvdXQgKHN0cnVjdCBsX3RpbWVvdXQgKnRpbWVvdXQsIHZvaWQgKnVzZXJfZGF0 YSkKCkVSUk9SOkNPREVfSU5ERU5UOiBjb2RlIGluZGVudCBzaG91bGQgdXNlIHRhYnMgd2hlcmUg cG9zc2libGUKIzM2NzogRklMRTogbWVzaC9tZXNoLWlvLW1nbXQuYzoxNDE6CisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5z dGFudCkkCgpXQVJOSU5HOkxFQURJTkdfU1BBQ0U6IHBsZWFzZSwgbm8gc3BhY2VzIGF0IHRoZSBz dGFydCBvZiBhIGxpbmUKIzM2NzogRklMRTogbWVzaC9tZXNoLWlvLW1nbXQuYzoxNDE6CisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy X3QgaW5zdGFudCkkCgpXQVJOSU5HOlNVU1BFQ1RfQ09ERV9JTkRFTlQ6IHN1c3BlY3QgY29kZSBp bmRlbnQgZm9yIGNvbmRpdGlvbmFsIHN0YXRlbWVudHMgKDE2LCAxNikKIzQ2NTogRklMRTogbWVz aC9tZXNoLWlvLW1nbXQuYzoyMzk6CisJCWlmIChhZHZbMV0gPj0gMHgyOSAmJiBhZHZbMV0gPD0g MHgyQikKKwkJcHJvY2Vzc19yeChpby0+cHZ0LCBldi0+cnNzaSwgaW5zdGFudCwgYWRkciwgYWR2 ICsgMSwgYWR2WzBdKTsKCldBUk5JTkc6QlJBQ0VTOiBicmFjZXMge30gYXJlIG5vdCBuZWNlc3Nh cnkgZm9yIHNpbmdsZSBzdGF0ZW1lbnQgYmxvY2tzCiMxMTAyOiBGSUxFOiBtZXNoL21lc2gtaW8u Yzo1MToKKwkJaWYgKHRhYmxlW2ldLnR5cGUgPT0gdHlwZSkgeworCQkJcmV0dXJuIHRhYmxlW2ld LmFwaTsKKwkJfQoKV0FSTklORzpCUkFDRVM6IGJyYWNlcyB7fSBhcmUgbm90IG5lY2Vzc2FyeSBm b3IgYW55IGFybSBvZiB0aGlzIHN0YXRlbWVudAojMTE3MzogRklMRTogbWVzaC9tZXNoLWlvLmM6 OTc6CisJaWYgKG1lc2ggJiYgdHlwZSAhPSBNRVNIX0lPX1RZUEVfR0VORVJJQykgewpbLi4uXQot CWlmIChsX3F1ZXVlX3B1c2hfaGVhZChpb19saXN0LCBpbykpClsuLi5dCgpXQVJOSU5HOkJSQUNF UzogYnJhY2VzIHt9IGFyZSBub3QgbmVjZXNzYXJ5IGZvciBzaW5nbGUgc3RhdGVtZW50IGJsb2Nr cwojMTE3OTogRklMRTogbWVzaC9tZXNoLWlvLmM6MTAxOgorCWVsc2UgaWYgKCFwd3IpIHsKKwkJ YXBpID0gaW9fYXBpKE1FU0hfSU9fVFlQRV9HRU5FUklDKTsKKwl9CgovZ2l0aHViL3dvcmtzcGFj ZS9zcmMvMTI3NTc3ODQucGF0Y2ggdG90YWw6IDEgZXJyb3JzLCA3IHdhcm5pbmdzLCAxMjI3IGxp bmVzIGNoZWNrZWQKCk5PVEU6IEZvciBzb21lIG9mIHRoZSByZXBvcnRlZCBkZWZlY3RzLCBjaGVj a3BhdGNoIG1heSBiZSBhYmxlIHRvCiAgICAgIG1lY2hhbmljYWxseSBjb252ZXJ0IHRvIHRoZSB0 eXBpY2FsIHN0eWxlIHVzaW5nIC0tZml4IG9yIC0tZml4LWlucGxhY2UuCgpOT1RFOiBXaGl0ZXNw YWNlIGVycm9ycyBkZXRlY3RlZC4KICAgICAgWW91IG1heSB3aXNoIHRvIHVzZSBzY3JpcHRzL2Ns ZWFucGF0Y2ggb3Igc2NyaXB0cy9jbGVhbmZpbGUKCi9naXRodWIvd29ya3NwYWNlL3NyYy8xMjc1 Nzc4NC5wYXRjaCBoYXMgc3R5bGUgcHJvYmxlbXMsIHBsZWFzZSByZXZpZXcuCgpOT1RFOiBJZ25v cmVkIG1lc3NhZ2UgdHlwZXM6IENPTU1JVF9NRVNTQUdFIENPTVBMRVhfTUFDUk8gQ09OU1RfU1RS VUNUIEZJTEVfUEFUSF9DSEFOR0VTIE1JU1NJTkdfU0lHTl9PRkYgUFJFRkVSX1BBQ0tFRCBTUERY X0xJQ0VOU0VfVEFHIFNQTElUX1NUUklORyBTU0NBTkZfVE9fS1NUUlRPCgpOT1RFOiBJZiBhbnkg b2YgdGhlIGVycm9ycyBhcmUgZmFsc2UgcG9zaXRpdmVzLCBwbGVhc2UgcmVwb3J0CiAgICAgIHRo ZW0gdG8gdGhlIG1haW50YWluZXIsIHNlZSBDSEVDS1BBVENIIGluIE1BSU5UQUlORVJTLgoKCiMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpUZXN0OiBJbmNyZW1lbnRhbCBCdWlsZCB3aXRo IHBhdGNoZXMgLSBGQUlMCkRlc2M6IEluY3JlbWVudGFsIGJ1aWxkIHBlciBwYXRjaCBpbiB0aGUg c2VyaWVzCk91dHB1dDoKdG9vbHMvbWdtdC10ZXN0ZXIuYzogSW4gZnVuY3Rpb24g4oCYbWFpbuKA mToKdG9vbHMvbWdtdC10ZXN0ZXIuYzoxMjM2NDo1OiBub3RlOiB2YXJpYWJsZSB0cmFja2luZyBz aXplIGxpbWl0IGV4Y2VlZGVkIHdpdGgg4oCYLWZ2YXItdHJhY2tpbmctYXNzaWdubWVudHPigJks IHJldHJ5aW5nIHdpdGhvdXQKMTIzNjQgfCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltd KQogICAgICB8ICAgICBefn5+CnVuaXQvdGVzdC1hdmR0cC5jOiBJbiBmdW5jdGlvbiDigJhtYWlu 4oCZOgp1bml0L3Rlc3QtYXZkdHAuYzo3NjY6NTogbm90ZTogdmFyaWFibGUgdHJhY2tpbmcgc2l6 ZSBsaW1pdCBleGNlZWRlZCB3aXRoIOKAmC1mdmFyLXRyYWNraW5nLWFzc2lnbm1lbnRz4oCZLCBy ZXRyeWluZyB3aXRob3V0CiAgNzY2IHwgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkK ICAgICAgfCAgICAgXn5+fgp1bml0L3Rlc3QtYXZyY3AuYzogSW4gZnVuY3Rpb24g4oCYbWFpbuKA mToKdW5pdC90ZXN0LWF2cmNwLmM6OTg5OjU6IG5vdGU6IHZhcmlhYmxlIHRyYWNraW5nIHNpemUg bGltaXQgZXhjZWVkZWQgd2l0aCDigJgtZnZhci10cmFja2luZy1hc3NpZ25tZW50c+KAmSwgcmV0 cnlpbmcgd2l0aG91dAogIDk4OSB8IGludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCiAg ICAgIHwgICAgIF5+fn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIG1lc2gvbWVzaC1pby1nZW5lcmlj LmM6MjY6Ci4vbWVzaC9tZXNoLW1nbXQuaDoxODo1OiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUg 4oCYbWdtdF9yZXF1ZXN0X2Z1bmNfdOKAmQogICAxOCB8ICAgICBtZ210X3JlcXVlc3RfZnVuY190 IGNhbGxiYWNrLAogICAgICB8ICAgICBefn5+fn5+fn5+fn5+fn5+fn5+Ci4vbWVzaC9tZXNoLW1n bXQuaDoxOToyMjogZXJyb3I6IHVua25vd24gdHlwZSBuYW1lIOKAmG1nbXRfZGVzdHJveV9mdW5j X3TigJk7IGRpZCB5b3UgbWVhbiDigJhidF9oY2lfZGVzdHJveV9mdW5jX3TigJk/CiAgIDE5IHwg ICAgIHZvaWQgKnVzZXJfZGF0YSwgbWdtdF9kZXN0cm95X2Z1bmNfdCBkZXN0cm95KTsKICAgICAg fCAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgYnRfaGNpX2Rlc3Ryb3lfZnVuY190Ci4vbWVzaC9tZXNoLW1nbXQuaDoy MTo1OiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUg4oCYbWdtdF9ub3RpZnlfZnVuY1904oCZCiAg IDIxIHwgICAgIG1nbXRfbm90aWZ5X2Z1bmNfdCBjYWxsYmFjaywKICAgICAgfCAgICAgXn5+fn5+ fn5+fn5+fn5+fn5+Ci4vbWVzaC9tZXNoLW1nbXQuaDoyMjoyMjogZXJyb3I6IHVua25vd24gdHlw ZSBuYW1lIOKAmG1nbXRfZGVzdHJveV9mdW5jX3TigJk7IGRpZCB5b3UgbWVhbiDigJhidF9oY2lf ZGVzdHJveV9mdW5jX3TigJk/CiAgIDIyIHwgICAgIHZvaWQgKnVzZXJfZGF0YSwgbWdtdF9kZXN0 cm95X2Z1bmNfdCBkZXN0cm95KTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+ fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgYnRfaGNpX2Rlc3Ryb3lf ZnVuY190Cm1lc2gvbWVzaC1pby1nZW5lcmljLmM6IEluIGZ1bmN0aW9uIOKAmGRldl9pbml04oCZ OgptZXNoL21lc2gtaW8tZ2VuZXJpYy5jOjQ0ODoyNTogZXJyb3I6IHBhc3NpbmcgYXJndW1lbnQg MSBvZiDigJhtZXNoX21nbXRfbGlzdOKAmSBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUg Wy1XZXJyb3I9aW5jb21wYXRpYmxlLXBvaW50ZXItdHlwZXNdCiAgNDQ4IHwgICByZXR1cm4gbWVz aF9tZ210X2xpc3QocmVhZF9pbmZvLCBpbyk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgXn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgfAogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKCopKGludCwgIHZvaWQgKikKSW4gZmlsZSBpbmNs dWRlZCBmcm9tIG1lc2gvbWVzaC1pby1nZW5lcmljLmM6MjY6Ci4vbWVzaC9tZXNoLW1nbXQuaDox NTo0ODogbm90ZTogZXhwZWN0ZWQg4oCYbWVzaF9tZ210X3JlYWRfaW5mb19mdW5jX3TigJkge2Fr YSDigJh2b2lkICgqKShpbnQsICBfQm9vbCwgIF9Cb29sLCAgX0Jvb2wsICB2b2lkICop4oCZfSBi dXQgYXJndW1lbnQgaXMgb2YgdHlwZSDigJh2b2lkICgqKShpbnQsICB2b2lkICop4oCZCiAgIDE1 IHwgYm9vbCBtZXNoX21nbXRfbGlzdChtZXNoX21nbXRfcmVhZF9pbmZvX2Z1bmNfdCBjYiwgdm9p ZCAqdXNlcl9kYXRhKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fl5+CmNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3Jz Cm1ha2VbMV06ICoqKiBbTWFrZWZpbGU6NzI3MTogbWVzaC9tZXNoLWlvLWdlbmVyaWMub10gRXJy b3IgMQptYWtlOiAqKiogW01ha2VmaWxlOjQzMDc6IGFsbF0gRXJyb3IgMgoKCgoKLS0tClJlZ2Fy ZHMsCkxpbnV4IEJsdWV0b290aAoK --===============5545571816028879231==--