From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-qk1-f181.google.com (mail-qk1-f181.google.com [209.85.222.181]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5CD9D1EE02B for ; Wed, 30 Oct 2024 13:45:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.181 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1730295958; cv=none; b=BSiVUw5TNgwE5T07pWQagRNAKgaf04ReDwjKVyGHTKUMsokbXMXFmzvun83QiHtlJ8TMjFwnfpD1UZezi7ncHO+7Nj5LemKyMLGDQ6XyvMeF+Gx6TGCeicJ7kXypV5dw+dI2VVGe9gb5drOWBCxByRFDa/MR2EYDX+5EvDdmfzk= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1730295958; c=relaxed/simple; bh=CsbxMNHLmMil0fZ+IN6CMrydUUTnN2/kgyXLSLD2kGg=; h=Message-ID:Date:Content-Type:MIME-Version:From:To:Subject: In-Reply-To:References; b=iBXGzWjv50BlRFchQ65NKT1a67Vm37eAi+olB8YI7ai8aVy4T12fWX4sD8vGO5Kwsai0fQ8XelIXMOgpRSFlYDhsRFMBLU1vPhO1ZZ6wk0gmzogNsdXM/7FRXx3kz/3DBxIcad1D1wrOsL+Q/Aooztu0gBOBT9GFPNwAzQ8VHaU= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=AzF1LYFI; arc=none smtp.client-ip=209.85.222.181 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="AzF1LYFI" Received: by mail-qk1-f181.google.com with SMTP id af79cd13be357-7b13bf566c0so397569985a.3 for ; Wed, 30 Oct 2024 06:45:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1730295953; x=1730900753; darn=vger.kernel.org; h=reply-to:references:in-reply-to:subject:to:from:mime-version:date :message-id:from:to:cc:subject:date:message-id:reply-to; bh=CsbxMNHLmMil0fZ+IN6CMrydUUTnN2/kgyXLSLD2kGg=; b=AzF1LYFIFga8l4y/TvLONm1l58zVaZL1rhoeJ3XmSChG0qUASvW8lF6mdzQ8D0QGBk QrzTPySiNmqZTUv8WmpXHKchJygLLVinzyG+i84ELinc2uU/N0FJQwLGADXjXtSu3yCZ 8f4pEJ9tP6lHElMcbUs/D8XYpr03C9R5j3SPJHUtXmqo2ihtWqKg+DgPi9wRGz//UBMx Qe1CBmUF7uNyNKZHAizaA3cN1sXcvvOGqM/J1RJTiVtQIIchn4G1P1S1E+YjmuG/iwTT dAOOba5tLE39Z935E3JMvzRMazFpIXEGfRTLjTh6yD+pWbV1U6/SgwekXEvwrPyEc5iz 9Vfg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1730295953; x=1730900753; h=reply-to:references:in-reply-to:subject:to:from:mime-version:date :message-id:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=CsbxMNHLmMil0fZ+IN6CMrydUUTnN2/kgyXLSLD2kGg=; b=cMFFCHb8+OFuIyUUAP1TiFZjKQwAw7YqA+SeEQSeF/OlL4f0OGuEQzfxeZwndrsGk3 wu71Mfs/g04/N0ICNz5UmgMKP/uny/1PiaB97GVzj5yy0llxvcmindbERFIktyWa07c4 FeE77pxcrlKdf0n8LGEdDlqvWvhZQ7WWR3RhqUlIYtaJRqExdFYOeJlewJAtAGhgYuAr pNZUEaUKRoQuNJgM7W5mCD8XS1XgUDHaQsw4+g4USbO5oc4djc0QT3LQf33Lpy0ojxvx SvxxsIvkusJC5Fa6IJGt2jIUltXvxqbiLJEItEvZhgnGdzzICjyf/drBDlIrb29XFFy4 qu/Q== X-Gm-Message-State: AOJu0Yzz+xFskmnZHjQtNJXjRnV9S+qiWAhrX4YdbiuNM6OlTqFhPaOG iCxaeDB/5upX307z7KFmoRbiFhhybx1aKKrrTILOb9Ok6OcDs0EHQbDrfg== X-Google-Smtp-Source: AGHT+IGgpHiaNP713HKY3vB2y4i3AUZmm0/Du6z1aVHA42R7qRMVKWL7J/IrL5nNlnX08VGz+BeV5w== X-Received: by 2002:a05:620a:44d0:b0:79d:5c31:718c with SMTP id af79cd13be357-7b1aedb8c2fmr407299985a.27.1730295952368; Wed, 30 Oct 2024 06:45:52 -0700 (PDT) Received: from [172.17.0.2] ([20.55.214.254]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7b18d32cb80sm508320185a.86.2024.10.30.06.45.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 30 Oct 2024 06:45:51 -0700 (PDT) Message-ID: <6722388f.050a0220.170f73.2f52@mx.google.com> Date: Wed, 30 Oct 2024 06:45:51 -0700 (PDT) Content-Type: multipart/mixed; boundary="===============7441894981851582728==" Precedence: bulk X-Mailing-List: linux-bluetooth@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 From: bluez.test.bot@gmail.com To: linux-bluetooth@vger.kernel.org, quic_dgangire@quicinc.com Subject: RE: [BlueZ,v2] obexd: Add system bus support for obexd In-Reply-To: <20241030115001.1278503-1-quic_dgangire@quicinc.com> References: <20241030115001.1278503-1-quic_dgangire@quicinc.com> Reply-To: linux-bluetooth@vger.kernel.org --===============7441894981851582728== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhpcyBpcyBhdXRvbWF0ZWQgZW1haWwgYW5kIHBsZWFzZSBkbyBub3QgcmVwbHkgdG8gdGhpcyBl bWFpbCEKCkRlYXIgc3VibWl0dGVyLAoKVGhhbmsgeW91IGZvciBzdWJtaXR0aW5nIHRoZSBwYXRj aGVzIHRvIHRoZSBsaW51eCBibHVldG9vdGggbWFpbGluZyBsaXN0LgpUaGlzIGlzIGEgQ0kgdGVz dCByZXN1bHRzIHdpdGggeW91ciBwYXRjaCBzZXJpZXM6ClBXIExpbms6aHR0cHM6Ly9wYXRjaHdv cmsua2VybmVsLm9yZy9wcm9qZWN0L2JsdWV0b290aC9saXN0Lz9zZXJpZXM9OTA0NjQxCgotLS1U ZXN0IHJlc3VsdC0tLQoKVGVzdCBTdW1tYXJ5OgpDaGVja1BhdGNoICAgICAgICAgICAgICAgICAg ICBQQVNTICAgICAgMC41MSBzZWNvbmRzCkdpdExpbnQgICAgICAgICAgICAgICAgICAgICAgIFBB U1MgICAgICAwLjMxIHNlY29uZHMKQnVpbGRFbGwgICAgICAgICAgICAgICAgICAgICAgUEFTUyAg ICAgIDI0LjY0IHNlY29uZHMKQmx1ZXpNYWtlICAgICAgICAgICAgICAgICAgICAgRkFJTCAgICAg IDgwLjg0IHNlY29uZHMKTWFrZUNoZWNrICAgICAgICAgICAgICAgICAgICAgRkFJTCAgICAgIDIw ODUuNDQgc2Vjb25kcwpNYWtlRGlzdGNoZWNrICAgICAgICAgICAgICAgICBQQVNTICAgICAgMTgy Ljc5IHNlY29uZHMKQ2hlY2tWYWxncmluZCAgICAgICAgICAgICAgICAgRkFJTCAgICAgIDYwLjk1 IHNlY29uZHMKQ2hlY2tTbWF0Y2ggICAgICAgICAgICAgICAgICAgRkFJTCAgICAgIDE2MC4xNSBz ZWNvbmRzCmJsdWV6bWFrZWV4dGVsbCAgICAgICAgICAgICAgIEZBSUwgICAgICA2NS44MCBzZWNv bmRzCkluY3JlbWVudGFsQnVpbGQgICAgICAgICAgICAgIEZBSUwgICAgICAxNTUyLjcwIHNlY29u ZHMKU2NhbkJ1aWxkICAgICAgICAgICAgICAgICAgICAgRkFJTCAgICAgIDE2MS45MiBzZWNvbmRz CgpEZXRhaWxzCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpUZXN0OiBCbHVlek1ha2Ug LSBGQUlMCkRlc2M6IEJ1aWxkIEJsdWVaCk91dHB1dDoKCnRvb2xzL21nbXQtdGVzdGVyLmM6IElu IGZ1bmN0aW9uIOKAmG1haW7igJk6CnRvb2xzL21nbXQtdGVzdGVyLmM6MTI3MjU6NTogbm90ZTog dmFyaWFibGUgdHJhY2tpbmcgc2l6ZSBsaW1pdCBleGNlZWRlZCB3aXRoIOKAmC1mdmFyLXRyYWNr aW5nLWFzc2lnbm1lbnRz4oCZLCByZXRyeWluZyB3aXRob3V0CjEyNzI1IHwgaW50IG1haW4oaW50 IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKICAgICAgfCAgICAgXn5+fgpwcm9maWxlcy9pbnB1dC9tYW5h Z2VyLmM6IEluIGZ1bmN0aW9uIOKAmGlucHV0X2luaXTigJk6CnByb2ZpbGVzL2lucHV0L21hbmFn ZXIuYzoxMDI6NDogZXJyb3I6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uIOKAmGZy ZWXigJkgWy1XZXJyb3I9aW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCiAgMTAyIHwgICAg ZnJlZSh1aGlkX2VuYWJsZWQpOwogICAgICB8ICAgIF5+fn4KcHJvZmlsZXMvaW5wdXQvbWFuYWdl ci5jOjEwMjo0OiBlcnJvcjogaW5jb21wYXRpYmxlIGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGJ1 aWx0LWluIGZ1bmN0aW9uIOKAmGZyZWXigJkgWy1XZXJyb3JdCnByb2ZpbGVzL2lucHV0L21hbmFn ZXIuYzozMjoxOiBub3RlOiBpbmNsdWRlIOKAmDxzdGRsaWIuaD7igJkgb3IgcHJvdmlkZSBhIGRl Y2xhcmF0aW9uIG9mIOKAmGZyZWXigJkKICAgMzEgfCAjaW5jbHVkZSAic2VydmVyLmgiCiAgKysr IHwrI2luY2x1ZGUgPHN0ZGxpYi5oPgogICAzMiB8IApjYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0 cmVhdGVkIGFzIGVycm9ycwptYWtlWzFdOiAqKiogW01ha2VmaWxlOjEwNDAzOiBwcm9maWxlcy9p bnB1dC9ibHVldG9vdGhkLW1hbmFnZXIub10gRXJyb3IgMQptYWtlWzFdOiAqKiogV2FpdGluZyBm b3IgdW5maW5pc2hlZCBqb2JzLi4uLgptYWtlOiAqKiogW01ha2VmaWxlOjQ2OTE6IGFsbF0gRXJy b3IgMgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKVGVzdDogTWFrZUNoZWNrIC0gRkFJ TApEZXNjOiBSdW4gQmx1ZXogTWFrZSBDaGVjawpPdXRwdXQ6Cgp1bml0L3Rlc3QtYXZkdHAuYzog SW4gZnVuY3Rpb24g4oCYbWFpbuKAmToKdW5pdC90ZXN0LWF2ZHRwLmM6NzY2OjU6IG5vdGU6IHZh cmlhYmxlIHRyYWNraW5nIHNpemUgbGltaXQgZXhjZWVkZWQgd2l0aCDigJgtZnZhci10cmFja2lu Zy1hc3NpZ25tZW50c+KAmSwgcmV0cnlpbmcgd2l0aG91dAogIDc2NiB8IGludCBtYWluKGludCBh cmdjLCBjaGFyICphcmd2W10pCiAgICAgIHwgICAgIF5+fn4KdW5pdC90ZXN0LWF2cmNwLmM6IElu IGZ1bmN0aW9uIOKAmG1haW7igJk6CnVuaXQvdGVzdC1hdnJjcC5jOjk4OTo1OiBub3RlOiB2YXJp YWJsZSB0cmFja2luZyBzaXplIGxpbWl0IGV4Y2VlZGVkIHdpdGgg4oCYLWZ2YXItdHJhY2tpbmct YXNzaWdubWVudHPigJksIHJldHJ5aW5nIHdpdGhvdXQKICA5ODkgfCBpbnQgbWFpbihpbnQgYXJn YywgY2hhciAqYXJndltdKQogICAgICB8ICAgICBefn5+CnByb2ZpbGVzL2lucHV0L21hbmFnZXIu YzogSW4gZnVuY3Rpb24g4oCYaW5wdXRfaW5pdOKAmToKcHJvZmlsZXMvaW5wdXQvbWFuYWdlci5j OjEwMjo0OiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24g4oCYZnJlZeKA mSBbLVdlcnJvcj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KICAxMDIgfCAgICBmcmVl KHVoaWRfZW5hYmxlZCk7CiAgICAgIHwgICAgXn5+fgpwcm9maWxlcy9pbnB1dC9tYW5hZ2VyLmM6 MTAyOjQ6IGVycm9yOiBpbmNvbXBhdGlibGUgaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgYnVpbHQt aW4gZnVuY3Rpb24g4oCYZnJlZeKAmSBbLVdlcnJvcl0KcHJvZmlsZXMvaW5wdXQvbWFuYWdlci5j OjMyOjE6IG5vdGU6IGluY2x1ZGUg4oCYPHN0ZGxpYi5oPuKAmSBvciBwcm92aWRlIGEgZGVjbGFy YXRpb24gb2Yg4oCYZnJlZeKAmQogICAzMSB8ICNpbmNsdWRlICJzZXJ2ZXIuaCIKICArKysgfCsj aW5jbHVkZSA8c3RkbGliLmg+CiAgIDMyIHwgCmNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0 ZWQgYXMgZXJyb3JzCm1ha2VbMV06ICoqKiBbTWFrZWZpbGU6MTA0MDM6IHByb2ZpbGVzL2lucHV0 L2JsdWV0b290aGQtbWFuYWdlci5vXSBFcnJvciAxCm1ha2U6ICoqKiBbTWFrZWZpbGU6MTIzNTY6 IGNoZWNrXSBFcnJvciAyCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpUZXN0OiBDaGVj a1ZhbGdyaW5kIC0gRkFJTApEZXNjOiBSdW4gQmx1ZXogTWFrZSBDaGVjayB3aXRoIFZhbGdyaW5k Ck91dHB1dDoKCnRvb2xzL21nbXQtdGVzdGVyLmM6IEluIGZ1bmN0aW9uIOKAmG1haW7igJk6CnRv b2xzL21nbXQtdGVzdGVyLmM6MTI3MjU6NTogbm90ZTogdmFyaWFibGUgdHJhY2tpbmcgc2l6ZSBs aW1pdCBleGNlZWRlZCB3aXRoIOKAmC1mdmFyLXRyYWNraW5nLWFzc2lnbm1lbnRz4oCZLCByZXRy eWluZyB3aXRob3V0CjEyNzI1IHwgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKICAg ICAgfCAgICAgXn5+fgpwcm9maWxlcy9pbnB1dC9tYW5hZ2VyLmM6IEluIGZ1bmN0aW9uIOKAmGlu cHV0X2luaXTigJk6CnByb2ZpbGVzL2lucHV0L21hbmFnZXIuYzoxMDI6NDogZXJyb3I6IGltcGxp Y2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uIOKAmGZyZWXigJkgWy1XZXJyb3I9aW1wbGljaXQt ZnVuY3Rpb24tZGVjbGFyYXRpb25dCiAgMTAyIHwgICAgZnJlZSh1aGlkX2VuYWJsZWQpOwogICAg ICB8ICAgIF5+fn4KcHJvZmlsZXMvaW5wdXQvbWFuYWdlci5jOjEwMjo0OiBlcnJvcjogaW5jb21w YXRpYmxlIGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGJ1aWx0LWluIGZ1bmN0aW9uIOKAmGZyZWXi gJkgWy1XZXJyb3JdCnByb2ZpbGVzL2lucHV0L21hbmFnZXIuYzozMjoxOiBub3RlOiBpbmNsdWRl IOKAmDxzdGRsaWIuaD7igJkgb3IgcHJvdmlkZSBhIGRlY2xhcmF0aW9uIG9mIOKAmGZyZWXigJkK ICAgMzEgfCAjaW5jbHVkZSAic2VydmVyLmgiCiAgKysrIHwrI2luY2x1ZGUgPHN0ZGxpYi5oPgog ICAzMiB8IApjYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwptYWtlWzFd OiAqKiogW01ha2VmaWxlOjEwNDAzOiBwcm9maWxlcy9pbnB1dC9ibHVldG9vdGhkLW1hbmFnZXIu b10gRXJyb3IgMQptYWtlWzFdOiAqKiogV2FpdGluZyBmb3IgdW5maW5pc2hlZCBqb2JzLi4uLgpt YWtlOiAqKiogW01ha2VmaWxlOjEyMzU2OiBjaGVja10gRXJyb3IgMgojIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMKVGVzdDogQ2hlY2tTbWF0Y2ggLSBGQUlMCkRlc2M6IFJ1biBzbWF0Y2gg dG9vbCB3aXRoIHNvdXJjZQpPdXRwdXQ6CgpzcmMvc2hhcmVkL2NyeXB0by5jOjI3MToyMTogd2Fy bmluZzogVmFyaWFibGUgbGVuZ3RoIGFycmF5IGlzIHVzZWQuCnNyYy9zaGFyZWQvY3J5cHRvLmM6 MjcyOjIzOiB3YXJuaW5nOiBWYXJpYWJsZSBsZW5ndGggYXJyYXkgaXMgdXNlZC4Kc3JjL3NoYXJl ZC9nYXR0LWhlbHBlcnMuYzo3Njg6MzE6IHdhcm5pbmc6IFZhcmlhYmxlIGxlbmd0aCBhcnJheSBp cyB1c2VkLgpzcmMvc2hhcmVkL2dhdHQtaGVscGVycy5jOjgzMDozMTogd2FybmluZzogVmFyaWFi bGUgbGVuZ3RoIGFycmF5IGlzIHVzZWQuCnNyYy9zaGFyZWQvZ2F0dC1oZWxwZXJzLmM6MTMyMzoz MTogd2FybmluZzogVmFyaWFibGUgbGVuZ3RoIGFycmF5IGlzIHVzZWQuCnNyYy9zaGFyZWQvZ2F0 dC1oZWxwZXJzLmM6MTM1NDoyMzogd2FybmluZzogVmFyaWFibGUgbGVuZ3RoIGFycmF5IGlzIHVz ZWQuCnNyYy9zaGFyZWQvZ2F0dC1zZXJ2ZXIuYzoyNzg6MjU6IHdhcm5pbmc6IFZhcmlhYmxlIGxl bmd0aCBhcnJheSBpcyB1c2VkLgpzcmMvc2hhcmVkL2dhdHQtc2VydmVyLmM6NjE4OjI1OiB3YXJu aW5nOiBWYXJpYWJsZSBsZW5ndGggYXJyYXkgaXMgdXNlZC4Kc3JjL3NoYXJlZC9nYXR0LXNlcnZl ci5jOjcxNjoyNTogd2FybmluZzogVmFyaWFibGUgbGVuZ3RoIGFycmF5IGlzIHVzZWQuCnNyYy9z aGFyZWQvYmFwLmM6Mjk2OjI1OiB3YXJuaW5nOiBhcnJheSBvZiBmbGV4aWJsZSBzdHJ1Y3R1cmVz CnNyYy9zaGFyZWQvYmFwLmM6IG5vdGU6IGluIGluY2x1ZGVkIGZpbGU6Ci4vc3JjL3NoYXJlZC9h c2NzLmg6ODg6MjU6IHdhcm5pbmc6IGFycmF5IG9mIGZsZXhpYmxlIHN0cnVjdHVyZXMKc3JjL3No YXJlZC9zaGVsbC5jOiBub3RlOiBpbiBpbmNsdWRlZCBmaWxlICh0aHJvdWdoIC91c3IvaW5jbHVk ZS9yZWFkbGluZS9yZWFkbGluZS5oKToKL3Vzci9pbmNsdWRlL3JlYWRsaW5lL3JsdHlwZWRlZnMu aDozNToyMzogd2FybmluZzogbm9uLUFOU0kgZnVuY3Rpb24gZGVjbGFyYXRpb24gb2YgZnVuY3Rp b24gJ0Z1bmN0aW9uJwovdXNyL2luY2x1ZGUvcmVhZGxpbmUvcmx0eXBlZGVmcy5oOjM2OjI1OiB3 YXJuaW5nOiBub24tQU5TSSBmdW5jdGlvbiBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAnVkZ1bmN0 aW9uJwovdXNyL2luY2x1ZGUvcmVhZGxpbmUvcmx0eXBlZGVmcy5oOjM3OjI3OiB3YXJuaW5nOiBu b24tQU5TSSBmdW5jdGlvbiBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAnQ1BGdW5jdGlvbicKL3Vz ci9pbmNsdWRlL3JlYWRsaW5lL3JsdHlwZWRlZnMuaDozODoyOTogd2FybmluZzogbm9uLUFOU0kg ZnVuY3Rpb24gZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gJ0NQUEZ1bmN0aW9uJwpzcmMvc2hhcmVk L2NyeXB0by5jOjI3MToyMTogd2FybmluZzogVmFyaWFibGUgbGVuZ3RoIGFycmF5IGlzIHVzZWQu CnNyYy9zaGFyZWQvY3J5cHRvLmM6MjcyOjIzOiB3YXJuaW5nOiBWYXJpYWJsZSBsZW5ndGggYXJy YXkgaXMgdXNlZC4Kc3JjL3NoYXJlZC9nYXR0LWhlbHBlcnMuYzo3Njg6MzE6IHdhcm5pbmc6IFZh cmlhYmxlIGxlbmd0aCBhcnJheSBpcyB1c2VkLgpzcmMvc2hhcmVkL2dhdHQtaGVscGVycy5jOjgz MDozMTogd2FybmluZzogVmFyaWFibGUgbGVuZ3RoIGFycmF5IGlzIHVzZWQuCnNyYy9zaGFyZWQv Z2F0dC1oZWxwZXJzLmM6MTMyMzozMTogd2FybmluZzogVmFyaWFibGUgbGVuZ3RoIGFycmF5IGlz IHVzZWQuCnNyYy9zaGFyZWQvZ2F0dC1oZWxwZXJzLmM6MTM1NDoyMzogd2FybmluZzogVmFyaWFi bGUgbGVuZ3RoIGFycmF5IGlzIHVzZWQuCnNyYy9zaGFyZWQvZ2F0dC1zZXJ2ZXIuYzoyNzg6MjU6 IHdhcm5pbmc6IFZhcmlhYmxlIGxlbmd0aCBhcnJheSBpcyB1c2VkLgpzcmMvc2hhcmVkL2dhdHQt c2VydmVyLmM6NjE4OjI1OiB3YXJuaW5nOiBWYXJpYWJsZSBsZW5ndGggYXJyYXkgaXMgdXNlZC4K c3JjL3NoYXJlZC9nYXR0LXNlcnZlci5jOjcxNjoyNTogd2FybmluZzogVmFyaWFibGUgbGVuZ3Ro IGFycmF5IGlzIHVzZWQuCnNyYy9zaGFyZWQvYmFwLmM6Mjk2OjI1OiB3YXJuaW5nOiBhcnJheSBv ZiBmbGV4aWJsZSBzdHJ1Y3R1cmVzCnNyYy9zaGFyZWQvYmFwLmM6IG5vdGU6IGluIGluY2x1ZGVk IGZpbGU6Ci4vc3JjL3NoYXJlZC9hc2NzLmg6ODg6MjU6IHdhcm5pbmc6IGFycmF5IG9mIGZsZXhp YmxlIHN0cnVjdHVyZXMKc3JjL3NoYXJlZC9zaGVsbC5jOiBub3RlOiBpbiBpbmNsdWRlZCBmaWxl ICh0aHJvdWdoIC91c3IvaW5jbHVkZS9yZWFkbGluZS9yZWFkbGluZS5oKToKL3Vzci9pbmNsdWRl L3JlYWRsaW5lL3JsdHlwZWRlZnMuaDozNToyMzogd2FybmluZzogbm9uLUFOU0kgZnVuY3Rpb24g ZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gJ0Z1bmN0aW9uJwovdXNyL2luY2x1ZGUvcmVhZGxpbmUv cmx0eXBlZGVmcy5oOjM2OjI1OiB3YXJuaW5nOiBub24tQU5TSSBmdW5jdGlvbiBkZWNsYXJhdGlv biBvZiBmdW5jdGlvbiAnVkZ1bmN0aW9uJwovdXNyL2luY2x1ZGUvcmVhZGxpbmUvcmx0eXBlZGVm cy5oOjM3OjI3OiB3YXJuaW5nOiBub24tQU5TSSBmdW5jdGlvbiBkZWNsYXJhdGlvbiBvZiBmdW5j dGlvbiAnQ1BGdW5jdGlvbicKL3Vzci9pbmNsdWRlL3JlYWRsaW5lL3JsdHlwZWRlZnMuaDozODoy OTogd2FybmluZzogbm9uLUFOU0kgZnVuY3Rpb24gZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gJ0NQ UEZ1bmN0aW9uJwp0b29scy9tZXNoLWNmZ3Rlc3QuYzoxNDUzOjE3OiB3YXJuaW5nOiB1bmtub3du IGVzY2FwZSBzZXF1ZW5jZTogJ1wlJwp0b29scy9zY28tdGVzdGVyLmM6IG5vdGU6IGluIGluY2x1 ZGVkIGZpbGU6Ci4vbGliL2JsdWV0b290aC5oOjIxOToxNTogd2FybmluZzogYXJyYXkgb2YgZmxl eGlibGUgc3RydWN0dXJlcwouL2xpYi9ibHVldG9vdGguaDoyMjQ6MzE6IHdhcm5pbmc6IGFycmF5 IG9mIGZsZXhpYmxlIHN0cnVjdHVyZXMKdG9vbHMvYm5lcHRlc3QuYzo2MzQ6Mzk6IHdhcm5pbmc6 IHVua25vd24gZXNjYXBlIHNlcXVlbmNlOiAnXCUnCnRvb2xzL3NlcTJic2VxLmM6NTc6MjY6IHdh cm5pbmc6IFZhcmlhYmxlIGxlbmd0aCBhcnJheSBpcyB1c2VkLgp0b29scy9vYmV4LWNsaWVudC10 b29sLmM6IG5vdGU6IGluIGluY2x1ZGVkIGZpbGUgKHRocm91Z2ggL3Vzci9pbmNsdWRlL3JlYWRs aW5lL3JlYWRsaW5lLmgpOgovdXNyL2luY2x1ZGUvcmVhZGxpbmUvcmx0eXBlZGVmcy5oOjM1OjIz OiB3YXJuaW5nOiBub24tQU5TSSBmdW5jdGlvbiBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAnRnVu Y3Rpb24nCi91c3IvaW5jbHVkZS9yZWFkbGluZS9ybHR5cGVkZWZzLmg6MzY6MjU6IHdhcm5pbmc6 IG5vbi1BTlNJIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdWRnVuY3Rpb24nCi91 c3IvaW5jbHVkZS9yZWFkbGluZS9ybHR5cGVkZWZzLmg6Mzc6Mjc6IHdhcm5pbmc6IG5vbi1BTlNJ IGZ1bmN0aW9uIGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdDUEZ1bmN0aW9uJwovdXNyL2luY2x1 ZGUvcmVhZGxpbmUvcmx0eXBlZGVmcy5oOjM4OjI5OiB3YXJuaW5nOiBub24tQU5TSSBmdW5jdGlv biBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAnQ1BQRnVuY3Rpb24nCmFuZHJvaWQvYXZjdHAuYzo1 MDU6MzQ6IHdhcm5pbmc6IFZhcmlhYmxlIGxlbmd0aCBhcnJheSBpcyB1c2VkLgphbmRyb2lkL2F2 Y3RwLmM6NTU2OjM0OiB3YXJuaW5nOiBWYXJpYWJsZSBsZW5ndGggYXJyYXkgaXMgdXNlZC4KdW5p dC90ZXN0LWF2cmNwLmM6MzczOjI2OiB3YXJuaW5nOiBWYXJpYWJsZSBsZW5ndGggYXJyYXkgaXMg dXNlZC4KdW5pdC90ZXN0LWF2cmNwLmM6Mzk4OjI2OiB3YXJuaW5nOiBWYXJpYWJsZSBsZW5ndGgg YXJyYXkgaXMgdXNlZC4KdW5pdC90ZXN0LWF2cmNwLmM6NDE0OjI0OiB3YXJuaW5nOiBWYXJpYWJs ZSBsZW5ndGggYXJyYXkgaXMgdXNlZC4KYW5kcm9pZC9hdnJjcC1saWIuYzoxMDg1OjM0OiB3YXJu aW5nOiBWYXJpYWJsZSBsZW5ndGggYXJyYXkgaXMgdXNlZC4KYW5kcm9pZC9hdnJjcC1saWIuYzox NTgzOjM0OiB3YXJuaW5nOiBWYXJpYWJsZSBsZW5ndGggYXJyYXkgaXMgdXNlZC4KYW5kcm9pZC9h dnJjcC1saWIuYzoxNjEyOjM0OiB3YXJuaW5nOiBWYXJpYWJsZSBsZW5ndGggYXJyYXkgaXMgdXNl ZC4KYW5kcm9pZC9hdnJjcC1saWIuYzoxNjM4OjM0OiB3YXJuaW5nOiBWYXJpYWJsZSBsZW5ndGgg YXJyYXkgaXMgdXNlZC4KcHJvZmlsZXMvaW5wdXQvbWFuYWdlci5jOiBJbiBmdW5jdGlvbiDigJhp bnB1dF9pbml04oCZOgpwcm9maWxlcy9pbnB1dC9tYW5hZ2VyLmM6MTAyOjQ6IGVycm9yOiBpbXBs aWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiDigJhmcmVl4oCZIFstV2Vycm9yPWltcGxpY2l0 LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogIDEwMiB8ICAgIGZyZWUodWhpZF9lbmFibGVkKTsKICAg ICAgfCAgICBefn5+CnByb2ZpbGVzL2lucHV0L21hbmFnZXIuYzoxMDI6NDogZXJyb3I6IGluY29t cGF0aWJsZSBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBidWlsdC1pbiBmdW5jdGlvbiDigJhmcmVl 4oCZIFstV2Vycm9yXQpwcm9maWxlcy9pbnB1dC9tYW5hZ2VyLmM6MzI6MTogbm90ZTogaW5jbHVk ZSDigJg8c3RkbGliLmg+4oCZIG9yIHByb3ZpZGUgYSBkZWNsYXJhdGlvbiBvZiDigJhmcmVl4oCZ CiAgIDMxIHwgI2luY2x1ZGUgInNlcnZlci5oIgogICsrKyB8KyNpbmNsdWRlIDxzdGRsaWIuaD4K ICAgMzIgfCAKY2MxOiBhbGwgd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMKbWFrZVsx XTogKioqIFtNYWtlZmlsZToxMDQwMzogcHJvZmlsZXMvaW5wdXQvYmx1ZXRvb3RoZC1tYW5hZ2Vy Lm9dIEVycm9yIDEKbWFrZVsxXTogKioqIFdhaXRpbmcgZm9yIHVuZmluaXNoZWQgam9icy4uLi4K bWFrZTogKioqIFtNYWtlZmlsZTo0NjkxOiBhbGxdIEVycm9yIDIKIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjClRlc3Q6IGJsdWV6bWFrZWV4dGVsbCAtIEZBSUwKRGVzYzogQnVpbGQgQmx1 ZXogd2l0aCBFeHRlcm5hbCBFTEwKT3V0cHV0OgoKcHJvZmlsZXMvaW5wdXQvbWFuYWdlci5jOiBJ biBmdW5jdGlvbiDigJhpbnB1dF9pbml04oCZOgpwcm9maWxlcy9pbnB1dC9tYW5hZ2VyLmM6MTAy OjQ6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiDigJhmcmVl4oCZIFst V2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogIDEwMiB8ICAgIGZyZWUodWhp ZF9lbmFibGVkKTsKICAgICAgfCAgICBefn5+CnByb2ZpbGVzL2lucHV0L21hbmFnZXIuYzoxMDI6 NDogZXJyb3I6IGluY29tcGF0aWJsZSBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBidWlsdC1pbiBm dW5jdGlvbiDigJhmcmVl4oCZIFstV2Vycm9yXQpwcm9maWxlcy9pbnB1dC9tYW5hZ2VyLmM6MzI6 MTogbm90ZTogaW5jbHVkZSDigJg8c3RkbGliLmg+4oCZIG9yIHByb3ZpZGUgYSBkZWNsYXJhdGlv biBvZiDigJhmcmVl4oCZCiAgIDMxIHwgI2luY2x1ZGUgInNlcnZlci5oIgogICsrKyB8KyNpbmNs dWRlIDxzdGRsaWIuaD4KICAgMzIgfCAKY2MxOiBhbGwgd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBh cyBlcnJvcnMKbWFrZVsxXTogKioqIFtNYWtlZmlsZToxMDQwMzogcHJvZmlsZXMvaW5wdXQvYmx1 ZXRvb3RoZC1tYW5hZ2VyLm9dIEVycm9yIDEKbWFrZVsxXTogKioqIFdhaXRpbmcgZm9yIHVuZmlu aXNoZWQgam9icy4uLi4KbWFrZTogKioqIFtNYWtlZmlsZTo0NjkxOiBhbGxdIEVycm9yIDIKIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjClRlc3Q6IEluY3JlbWVudGFsQnVpbGQgLSBGQUlM CkRlc2M6IEluY3JlbWVudGFsIGJ1aWxkIHdpdGggdGhlIHBhdGNoZXMgaW4gdGhlIHNlcmllcwpP dXRwdXQ6CltCbHVlWix2Ml0gb2JleGQ6IEFkZCBzeXN0ZW0gYnVzIHN1cHBvcnQgZm9yIG9iZXhk Cgp0b29scy9tZ210LXRlc3Rlci5jOiBJbiBmdW5jdGlvbiDigJhtYWlu4oCZOgp0b29scy9tZ210 LXRlc3Rlci5jOjEyNzI1OjU6IG5vdGU6IHZhcmlhYmxlIHRyYWNraW5nIHNpemUgbGltaXQgZXhj ZWVkZWQgd2l0aCDigJgtZnZhci10cmFja2luZy1hc3NpZ25tZW50c+KAmSwgcmV0cnlpbmcgd2l0 aG91dAoxMjcyNSB8IGludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCiAgICAgIHwgICAg IF5+fn4KdW5pdC90ZXN0LWF2ZHRwLmM6IEluIGZ1bmN0aW9uIOKAmG1haW7igJk6CnVuaXQvdGVz dC1hdmR0cC5jOjc2Njo1OiBub3RlOiB2YXJpYWJsZSB0cmFja2luZyBzaXplIGxpbWl0IGV4Y2Vl ZGVkIHdpdGgg4oCYLWZ2YXItdHJhY2tpbmctYXNzaWdubWVudHPigJksIHJldHJ5aW5nIHdpdGhv dXQKICA3NjYgfCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQogICAgICB8ICAgICBe fn5+CnVuaXQvdGVzdC1hdnJjcC5jOiBJbiBmdW5jdGlvbiDigJhtYWlu4oCZOgp1bml0L3Rlc3Qt YXZyY3AuYzo5ODk6NTogbm90ZTogdmFyaWFibGUgdHJhY2tpbmcgc2l6ZSBsaW1pdCBleGNlZWRl ZCB3aXRoIOKAmC1mdmFyLXRyYWNraW5nLWFzc2lnbm1lbnRz4oCZLCByZXRyeWluZyB3aXRob3V0 CiAgOTg5IHwgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKICAgICAgfCAgICAgXn5+ fgpwcm9maWxlcy9pbnB1dC9tYW5hZ2VyLmM6IEluIGZ1bmN0aW9uIOKAmGlucHV0X2luaXTigJk6 CnByb2ZpbGVzL2lucHV0L21hbmFnZXIuYzoxMDI6NDogZXJyb3I6IGltcGxpY2l0IGRlY2xhcmF0 aW9uIG9mIGZ1bmN0aW9uIOKAmGZyZWXigJkgWy1XZXJyb3I9aW1wbGljaXQtZnVuY3Rpb24tZGVj bGFyYXRpb25dCiAgMTAyIHwgICAgZnJlZSh1aGlkX2VuYWJsZWQpOwogICAgICB8ICAgIF5+fn4K cHJvZmlsZXMvaW5wdXQvbWFuYWdlci5jOjEwMjo0OiBlcnJvcjogaW5jb21wYXRpYmxlIGltcGxp Y2l0IGRlY2xhcmF0aW9uIG9mIGJ1aWx0LWluIGZ1bmN0aW9uIOKAmGZyZWXigJkgWy1XZXJyb3Jd CnByb2ZpbGVzL2lucHV0L21hbmFnZXIuYzozMjoxOiBub3RlOiBpbmNsdWRlIOKAmDxzdGRsaWIu aD7igJkgb3IgcHJvdmlkZSBhIGRlY2xhcmF0aW9uIG9mIOKAmGZyZWXigJkKICAgMzEgfCAjaW5j bHVkZSAic2VydmVyLmgiCiAgKysrIHwrI2luY2x1ZGUgPHN0ZGxpYi5oPgogICAzMiB8IApjYzE6 IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwptYWtlWzFdOiAqKiogW01ha2Vm aWxlOjEwNDAzOiBwcm9maWxlcy9pbnB1dC9ibHVldG9vdGhkLW1hbmFnZXIub10gRXJyb3IgMQpt YWtlWzFdOiAqKiogV2FpdGluZyBmb3IgdW5maW5pc2hlZCBqb2JzLi4uLgptYWtlOiAqKiogW01h a2VmaWxlOjQ2OTE6IGFsbF0gRXJyb3IgMgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK VGVzdDogU2NhbkJ1aWxkIC0gRkFJTApEZXNjOiBSdW4gU2NhbiBCdWlsZApPdXRwdXQ6CgpzcmMv c2hhcmVkL2dhdHQtY2xpZW50LmM6NDUxOjIxOiB3YXJuaW5nOiBVc2Ugb2YgbWVtb3J5IGFmdGVy IGl0IGlzIGZyZWVkCiAgICAgICAgZ2F0dF9kYl91bnJlZ2lzdGVyKG9wLT5jbGllbnQtPmRiLCBv cC0+ZGJfaWQpOwogICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+CnNyYy9zaGFy ZWQvZ2F0dC1jbGllbnQuYzo2OTY6Mjogd2FybmluZzogVXNlIG9mIG1lbW9yeSBhZnRlciBpdCBp cyBmcmVlZAogICAgICAgIGRpc2NvdmVyeV9vcF9jb21wbGV0ZShvcCwgZmFsc2UsIGF0dF9lY29k ZSk7CiAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgpz cmMvc2hhcmVkL2dhdHQtY2xpZW50LmM6OTk2OjI6IHdhcm5pbmc6IFVzZSBvZiBtZW1vcnkgYWZ0 ZXIgaXQgaXMgZnJlZWQKICAgICAgICBkaXNjb3Zlcnlfb3BfY29tcGxldGUob3AsIHN1Y2Nlc3Ms IGF0dF9lY29kZSk7CiAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+CnNyYy9zaGFyZWQvZ2F0dC1jbGllbnQuYzoxMTAyOjI6IHdhcm5pbmc6IFVzZSBv ZiBtZW1vcnkgYWZ0ZXIgaXQgaXMgZnJlZWQKICAgICAgICBkaXNjb3Zlcnlfb3BfY29tcGxldGUo b3AsIHN1Y2Nlc3MsIGF0dF9lY29kZSk7CiAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+CnNyYy9zaGFyZWQvZ2F0dC1jbGllbnQuYzoxMjk2OjI6IHdh cm5pbmc6IFVzZSBvZiBtZW1vcnkgYWZ0ZXIgaXQgaXMgZnJlZWQKICAgICAgICBkaXNjb3Zlcnlf b3BfY29tcGxldGUob3AsIHN1Y2Nlc3MsIGF0dF9lY29kZSk7CiAgICAgICAgXn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CnNyYy9zaGFyZWQvZ2F0dC1jbGllbnQu YzoxMzYxOjI6IHdhcm5pbmc6IFVzZSBvZiBtZW1vcnkgYWZ0ZXIgaXQgaXMgZnJlZWQKICAgICAg ICBkaXNjb3Zlcnlfb3BfY29tcGxldGUob3AsIHN1Y2Nlc3MsIGF0dF9lY29kZSk7CiAgICAgICAg Xn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CnNyYy9zaGFyZWQv Z2F0dC1jbGllbnQuYzoxNjM2OjY6IHdhcm5pbmc6IFVzZSBvZiBtZW1vcnkgYWZ0ZXIgaXQgaXMg ZnJlZWQKICAgICAgICBpZiAocmVhZF9kYl9oYXNoKG9wKSkgewogICAgICAgICAgICBefn5+fn5+ fn5+fn5+fn5+CnNyYy9zaGFyZWQvZ2F0dC1jbGllbnQuYzoxNjQxOjI6IHdhcm5pbmc6IFVzZSBv ZiBtZW1vcnkgYWZ0ZXIgaXQgaXMgZnJlZWQKICAgICAgICBkaXNjb3Zlcl9hbGwob3ApOwogICAg ICAgIF5+fn5+fn5+fn5+fn5+fn4Kc3JjL3NoYXJlZC9nYXR0LWNsaWVudC5jOjIxNDU6Njogd2Fy bmluZzogVXNlIG9mIG1lbW9yeSBhZnRlciBpdCBpcyBmcmVlZAogICAgICAgIGlmIChyZWFkX2Ri X2hhc2gob3ApKSB7CiAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn4Kc3JjL3NoYXJlZC9nYXR0 LWNsaWVudC5jOjIxNTM6ODogd2FybmluZzogVXNlIG9mIG1lbW9yeSBhZnRlciBpdCBpcyBmcmVl ZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGRpc2NvdmVyeV9vcF9yZWYob3ApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+CnNyYy9zaGFyZWQvZ2F0 dC1jbGllbnQuYzozMjQyOjI6IHdhcm5pbmc6IFVzZSBvZiBtZW1vcnkgYWZ0ZXIgaXQgaXMgZnJl ZWQKICAgICAgICBjb21wbGV0ZV93cml0ZV9sb25nX29wKHJlcSwgc3VjY2VzcywgMCwgZmFsc2Up OwogICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4K c3JjL3NoYXJlZC9nYXR0LWNsaWVudC5jOjMyNjQ6Mjogd2FybmluZzogVXNlIG9mIG1lbW9yeSBh ZnRlciBpdCBpcyBmcmVlZAogICAgICAgIHJlcXVlc3RfdW5yZWYocmVxKTsKICAgICAgICBefn5+ fn5+fn5+fn5+fn5+fn4KMTIgd2FybmluZ3MgZ2VuZXJhdGVkLgpzcmMvc2hhcmVkL2dhdHQtY2xp ZW50LmM6NDUxOjIxOiB3YXJuaW5nOiBVc2Ugb2YgbWVtb3J5IGFmdGVyIGl0IGlzIGZyZWVkCiAg ICAgICAgZ2F0dF9kYl91bnJlZ2lzdGVyKG9wLT5jbGllbnQtPmRiLCBvcC0+ZGJfaWQpOwogICAg ICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+CnNyYy9zaGFyZWQvZ2F0dC1jbGllbnQu Yzo2OTY6Mjogd2FybmluZzogVXNlIG9mIG1lbW9yeSBhZnRlciBpdCBpcyBmcmVlZAogICAgICAg IGRpc2NvdmVyeV9vcF9jb21wbGV0ZShvcCwgZmFsc2UsIGF0dF9lY29kZSk7CiAgICAgICAgXn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgpzcmMvc2hhcmVkL2dhdHQt Y2xpZW50LmM6OTk2OjI6IHdhcm5pbmc6IFVzZSBvZiBtZW1vcnkgYWZ0ZXIgaXQgaXMgZnJlZWQK ICAgICAgICBkaXNjb3Zlcnlfb3BfY29tcGxldGUob3AsIHN1Y2Nlc3MsIGF0dF9lY29kZSk7CiAg ICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CnNyYy9z aGFyZWQvZ2F0dC1jbGllbnQuYzoxMTAyOjI6IHdhcm5pbmc6IFVzZSBvZiBtZW1vcnkgYWZ0ZXIg aXQgaXMgZnJlZWQKICAgICAgICBkaXNjb3Zlcnlfb3BfY29tcGxldGUob3AsIHN1Y2Nlc3MsIGF0 dF9lY29kZSk7CiAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+CnNyYy9zaGFyZWQvZ2F0dC1jbGllbnQuYzoxMjk2OjI6IHdhcm5pbmc6IFVzZSBvZiBt ZW1vcnkgYWZ0ZXIgaXQgaXMgZnJlZWQKICAgICAgICBkaXNjb3Zlcnlfb3BfY29tcGxldGUob3As IHN1Y2Nlc3MsIGF0dF9lY29kZSk7CiAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+CnNyYy9zaGFyZWQvZ2F0dC1jbGllbnQuYzoxMzYxOjI6IHdhcm5p bmc6IFVzZSBvZiBtZW1vcnkgYWZ0ZXIgaXQgaXMgZnJlZWQKICAgICAgICBkaXNjb3Zlcnlfb3Bf Y29tcGxldGUob3AsIHN1Y2Nlc3MsIGF0dF9lY29kZSk7CiAgICAgICAgXn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CnNyYy9zaGFyZWQvZ2F0dC1jbGllbnQuYzox NjM2OjY6IHdhcm5pbmc6IFVzZSBvZiBtZW1vcnkgYWZ0ZXIgaXQgaXMgZnJlZWQKICAgICAgICBp ZiAocmVhZF9kYl9oYXNoKG9wKSkgewogICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+CnNyYy9z aGFyZWQvZ2F0dC1jbGllbnQuYzoxNjQxOjI6IHdhcm5pbmc6IFVzZSBvZiBtZW1vcnkgYWZ0ZXIg aXQgaXMgZnJlZWQKICAgICAgICBkaXNjb3Zlcl9hbGwob3ApOwogICAgICAgIF5+fn5+fn5+fn5+ fn5+fn4Kc3JjL3NoYXJlZC9nYXR0LWNsaWVudC5jOjIxNDU6Njogd2FybmluZzogVXNlIG9mIG1l bW9yeSBhZnRlciBpdCBpcyBmcmVlZAogICAgICAgIGlmIChyZWFkX2RiX2hhc2gob3ApKSB7CiAg ICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn4Kc3JjL3NoYXJlZC9nYXR0LWNsaWVudC5jOjIxNTM6 ODogd2FybmluZzogVXNlIG9mIG1lbW9yeSBhZnRlciBpdCBpcyBmcmVlZAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2NvdmVyeV9vcF9y ZWYob3ApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+CnNyYy9zaGFyZWQvZ2F0dC1jbGllbnQuYzozMjQy OjI6IHdhcm5pbmc6IFVzZSBvZiBtZW1vcnkgYWZ0ZXIgaXQgaXMgZnJlZWQKICAgICAgICBjb21w bGV0ZV93cml0ZV9sb25nX29wKHJlcSwgc3VjY2VzcywgMCwgZmFsc2UpOwogICAgICAgIF5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4Kc3JjL3NoYXJlZC9nYXR0 LWNsaWVudC5jOjMyNjQ6Mjogd2FybmluZzogVXNlIG9mIG1lbW9yeSBhZnRlciBpdCBpcyBmcmVl ZAogICAgICAgIHJlcXVlc3RfdW5yZWYocmVxKTsKICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4K MTIgd2FybmluZ3MgZ2VuZXJhdGVkLgp0b29scy9oY2lhdHRhY2guYzo4MTc6Nzogd2FybmluZzog QWx0aG91Z2ggdGhlIHZhbHVlIHN0b3JlZCB0byAnbicgaXMgdXNlZCBpbiB0aGUgZW5jbG9zaW5n IGV4cHJlc3Npb24sIHRoZSB2YWx1ZSBpcyBuZXZlciBhY3R1YWxseSByZWFkIGZyb20gJ24nCiAg ICAgICAgaWYgKChuID0gcmVhZF9oY2lfZXZlbnQoZmQsIHJlc3AsIDEwKSkgPCAwKSB7CiAgICAg ICAgICAgICBeICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgp0b29scy9oY2lhdHRhY2gu Yzo4NjU6Nzogd2FybmluZzogQWx0aG91Z2ggdGhlIHZhbHVlIHN0b3JlZCB0byAnbicgaXMgdXNl ZCBpbiB0aGUgZW5jbG9zaW5nIGV4cHJlc3Npb24sIHRoZSB2YWx1ZSBpcyBuZXZlciBhY3R1YWxs eSByZWFkIGZyb20gJ24nCiAgICAgICAgaWYgKChuID0gcmVhZF9oY2lfZXZlbnQoZmQsIHJlc3As IDQpKSA8IDApIHsKICAgICAgICAgICAgIF4gICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4K dG9vbHMvaGNpYXR0YWNoLmM6ODg3Ojg6IHdhcm5pbmc6IEFsdGhvdWdoIHRoZSB2YWx1ZSBzdG9y ZWQgdG8gJ24nIGlzIHVzZWQgaW4gdGhlIGVuY2xvc2luZyBleHByZXNzaW9uLCB0aGUgdmFsdWUg aXMgbmV2ZXIgYWN0dWFsbHkgcmVhZCBmcm9tICduJwogICAgICAgICAgICAgICAgaWYgKChuID0g cmVhZF9oY2lfZXZlbnQoZmQsIHJlc3AsIDEwKSkgPCAwKSB7CiAgICAgICAgICAgICAgICAgICAg IF4gICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL2hjaWF0dGFjaC5jOjkwOTo3 OiB3YXJuaW5nOiBBbHRob3VnaCB0aGUgdmFsdWUgc3RvcmVkIHRvICduJyBpcyB1c2VkIGluIHRo ZSBlbmNsb3NpbmcgZXhwcmVzc2lvbiwgdGhlIHZhbHVlIGlzIG5ldmVyIGFjdHVhbGx5IHJlYWQg ZnJvbSAnbicKICAgICAgICBpZiAoKG4gPSByZWFkX2hjaV9ldmVudChmZCwgcmVzcCwgNCkpIDwg MCkgewogICAgICAgICAgICAgXiAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgp0b29scy9o Y2lhdHRhY2guYzo5MzA6Nzogd2FybmluZzogQWx0aG91Z2ggdGhlIHZhbHVlIHN0b3JlZCB0byAn bicgaXMgdXNlZCBpbiB0aGUgZW5jbG9zaW5nIGV4cHJlc3Npb24sIHRoZSB2YWx1ZSBpcyBuZXZl ciBhY3R1YWxseSByZWFkIGZyb20gJ24nCiAgICAgICAgaWYgKChuID0gcmVhZF9oY2lfZXZlbnQo ZmQsIHJlc3AsIDQpKSA8IDApIHsKICAgICAgICAgICAgIF4gICB+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn4KdG9vbHMvaGNpYXR0YWNoLmM6OTc0Ojc6IHdhcm5pbmc6IEFsdGhvdWdoIHRoZSB2 YWx1ZSBzdG9yZWQgdG8gJ24nIGlzIHVzZWQgaW4gdGhlIGVuY2xvc2luZyBleHByZXNzaW9uLCB0 aGUgdmFsdWUgaXMgbmV2ZXIgYWN0dWFsbHkgcmVhZCBmcm9tICduJwogICAgICAgIGlmICgobiA9 IHJlYWRfaGNpX2V2ZW50KGZkLCByZXNwLCA2KSkgPCAwKSB7CiAgICAgICAgICAgICBeICAgfn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CjYgd2FybmluZ3MgZ2VuZXJhdGVkLgpzcmMvb3VpLmM6 NTA6Mjogd2FybmluZzogVmFsdWUgc3RvcmVkIHRvICdod2RiJyBpcyBuZXZlciByZWFkCiAgICAg ICAgaHdkYiA9IHVkZXZfaHdkYl91bnJlZihod2RiKTsKICAgICAgICBeICAgICAgfn5+fn5+fn5+ fn5+fn5+fn5+fn5+CnNyYy9vdWkuYzo1MzoyOiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ3Vk ZXYnIGlzIG5ldmVyIHJlYWQKICAgICAgICB1ZGV2ID0gdWRldl91bnJlZih1ZGV2KTsKICAgICAg ICBeICAgICAgfn5+fn5+fn5+fn5+fn5+fgoyIHdhcm5pbmdzIGdlbmVyYXRlZC4KdG9vbHMvaGNp ZHVtcC5jOjE4MDo5OiB3YXJuaW5nOiBQb3RlbnRpYWwgbGVhayBvZiBtZW1vcnkgcG9pbnRlZCB0 byBieSAnZHAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZkc1tpXS5mZCA9 PSBzb2NrKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn4KdG9vbHMvaGNp ZHVtcC5jOjI0ODoxNzogd2FybmluZzogQXNzaWduZWQgdmFsdWUgaXMgZ2FyYmFnZSBvciB1bmRl ZmluZWQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaC0+dHNfc2VjICA9IGh0b2Js KGZybS50cy50dl9zZWMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF4gfn5+fn5+fn5+fn5+fn5+fn5+fn4KdG9vbHMvaGNpZHVtcC5jOjMyNjo5OiB3YXJuaW5n OiAxc3QgZnVuY3Rpb24gY2FsbCBhcmd1bWVudCBpcyBhbiB1bmluaXRpYWxpemVkIHZhbHVlCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGJlMzJ0b2goZHAuZmxhZ3MpICYgMHgw MikgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+ fgovdXNyL2luY2x1ZGUvZW5kaWFuLmg6NDY6MjI6IG5vdGU6IGV4cGFuZGVkIGZyb20gbWFjcm8g J2JlMzJ0b2gnCiMgIGRlZmluZSBiZTMydG9oKHgpIF9fYnN3YXBfMzIgKHgpCiAgICAgICAgICAg ICAgICAgICAgIF5+fn5+fn5+fn5+fn5+CnRvb2xzL2hjaWR1bXAuYzozNDE6MjA6IHdhcm5pbmc6 IDFzdCBmdW5jdGlvbiBjYWxsIGFyZ3VtZW50IGlzIGFuIHVuaW5pdGlhbGl6ZWQgdmFsdWUKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm0uZGF0YV9sZW4gPSBiZTMydG9oKGRwLmxl bik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+ fn5+fn5+fn5+Ci91c3IvaW5jbHVkZS9lbmRpYW4uaDo0NjoyMjogbm90ZTogZXhwYW5kZWQgZnJv bSBtYWNybyAnYmUzMnRvaCcKIyAgZGVmaW5lIGJlMzJ0b2goeCkgX19ic3dhcF8zMiAoeCkKICAg ICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn4KdG9vbHMvaGNpZHVtcC5jOjM0NjoxNDog d2FybmluZzogMXN0IGZ1bmN0aW9uIGNhbGwgYXJndW1lbnQgaXMgYW4gdW5pbml0aWFsaXplZCB2 YWx1ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wY29kZSA9IGJlMzJ0b2goZHAu ZmxhZ3MpICYgMHhmZmZmOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF5+fn5+fn5+fn5+fn5+fn5+Ci91c3IvaW5jbHVkZS9lbmRpYW4uaDo0NjoyMjogbm90ZTogZXhw YW5kZWQgZnJvbSBtYWNybyAnYmUzMnRvaCcKIyAgZGVmaW5lIGJlMzJ0b2goeCkgX19ic3dhcF8z MiAoeCkKICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn4KdG9vbHMvaGNpZHVtcC5j OjM4NDoxNzogd2FybmluZzogQXNzaWduZWQgdmFsdWUgaXMgZ2FyYmFnZSBvciB1bmRlZmluZWQK ICAgICAgICAgICAgICAgICAgICAgICAgZnJtLmRhdGFfbGVuID0gYnRvaHMoZGgubGVuKTsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4gfn5+fn5+fn5+fn5+fgp0b29scy9o Y2lkdW1wLmM6Mzk0OjExOiB3YXJuaW5nOiBBc3NpZ25lZCB2YWx1ZSBpcyBnYXJiYWdlIG9yIHVu ZGVmaW5lZAogICAgICAgICAgICAgICAgZnJtLmxlbiA9IGZybS5kYXRhX2xlbjsKICAgICAgICAg ICAgICAgICAgICAgICAgXiB+fn5+fn5+fn5+fn4KdG9vbHMvaGNpZHVtcC5jOjM5ODo5OiB3YXJu aW5nOiAxc3QgZnVuY3Rpb24gY2FsbCBhcmd1bWVudCBpcyBhbiB1bmluaXRpYWxpemVkIHZhbHVl CiAgICAgICAgICAgICAgICAgICAgICAgIHRzID0gYmU2NHRvaChwaC50cyk7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn4KL3Vzci9pbmNsdWRlL2VuZGlhbi5oOjUx OjIyOiBub3RlOiBleHBhbmRlZCBmcm9tIG1hY3JvICdiZTY0dG9oJwojICBkZWZpbmUgYmU2NHRv aCh4KSBfX2Jzd2FwXzY0ICh4KQogICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fgp0 b29scy9oY2lkdW1wLmM6NDAzOjEzOiB3YXJuaW5nOiAxc3QgZnVuY3Rpb24gY2FsbCBhcmd1bWVu dCBpcyBhbiB1bmluaXRpYWxpemVkIHZhbHVlCiAgICAgICAgICAgICAgICAgICAgICAgIGZybS5p biA9IGJlMzJ0b2goZHAuZmxhZ3MpICYgMHgwMTsKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXn5+fn5+fn5+fn5+fn5+fn4KL3Vzci9pbmNsdWRlL2VuZGlhbi5oOjQ2OjIyOiBub3Rl OiBleHBhbmRlZCBmcm9tIG1hY3JvICdiZTMydG9oJwojICBkZWZpbmUgYmUzMnRvaCh4KSBfX2Jz d2FwXzMyICh4KQogICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fgp0b29scy9oY2lk dW1wLmM6NDA4OjExOiB3YXJuaW5nOiBBc3NpZ25lZCB2YWx1ZSBpcyBnYXJiYWdlIG9yIHVuZGVm aW5lZAogICAgICAgICAgICAgICAgICAgICAgICBmcm0uaW4gPSBkaC5pbjsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4gfn5+fn4KdG9vbHMvaGNpZHVtcC5jOjQzNzo3OiB3YXJuaW5n OiBOdWxsIHBvaW50ZXIgcGFzc2VkIHRvIDFzdCBwYXJhbWV0ZXIgZXhwZWN0aW5nICdub25udWxs JwogICAgICAgIGZkID0gb3BlbihmaWxlLCBvcGVuX2ZsYWdzLCAwNjQ0KTsKICAgICAgICAgICAg IF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KMTEgd2FybmluZ3MgZ2VuZXJhdGVkLgp0b29s cy9yZmNvbW0uYzoyMzQ6Mzogd2FybmluZzogVmFsdWUgc3RvcmVkIHRvICdpJyBpcyBuZXZlciBy ZWFkCiAgICAgICAgICAgICAgICBpID0gZXhlY3ZwKGNtZGFyZ3ZbMF0sIGNtZGFyZ3YpOwogICAg ICAgICAgICAgICAgXiAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgp0b29scy9yZmNvbW0u YzoyMzQ6Nzogd2FybmluZzogTnVsbCBwb2ludGVyIHBhc3NlZCB0byAxc3QgcGFyYW1ldGVyIGV4 cGVjdGluZyAnbm9ubnVsbCcKICAgICAgICAgICAgICAgIGkgPSBleGVjdnAoY21kYXJndlswXSwg Y21kYXJndik7CiAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ CnRvb2xzL3JmY29tbS5jOjM1NDo4OiB3YXJuaW5nOiBBbHRob3VnaCB0aGUgdmFsdWUgc3RvcmVk IHRvICdmZCcgaXMgdXNlZCBpbiB0aGUgZW5jbG9zaW5nIGV4cHJlc3Npb24sIHRoZSB2YWx1ZSBp cyBuZXZlciBhY3R1YWxseSByZWFkIGZyb20gJ2ZkJwogICAgICAgICAgICAgICAgaWYgKChmZCA9 IG9wZW4oZGV2bmFtZSwgT19SRE9OTFkgfCBPX05PQ1RUWSkpIDwgMCkgewogICAgICAgICAgICAg ICAgICAgICBeICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KdG9vbHMvcmZj b21tLmM6NDk3OjE0OiB3YXJuaW5nOiBBc3NpZ25lZCB2YWx1ZSBpcyBnYXJiYWdlIG9yIHVuZGVm aW5lZAogICAgICAgIHJlcS5jaGFubmVsID0gcmFkZHIucmNfY2hhbm5lbDsKICAgICAgICAgICAg ICAgICAgICBeIH5+fn5+fn5+fn5+fn5+fn4KdG9vbHMvcmZjb21tLmM6NTE1Ojg6IHdhcm5pbmc6 IEFsdGhvdWdoIHRoZSB2YWx1ZSBzdG9yZWQgdG8gJ2ZkJyBpcyB1c2VkIGluIHRoZSBlbmNsb3Np bmcgZXhwcmVzc2lvbiwgdGhlIHZhbHVlIGlzIG5ldmVyIGFjdHVhbGx5IHJlYWQgZnJvbSAnZmQn CiAgICAgICAgICAgICAgICBpZiAoKGZkID0gb3BlbihkZXZuYW1lLCBPX1JET05MWSB8IE9fTk9D VFRZKSkgPCAwKSB7CiAgICAgICAgICAgICAgICAgICAgIF4gICAgfn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fgo1IHdhcm5pbmdzIGdlbmVyYXRlZC4Kc3JjL3NkcC14bWwuYzoxMjY6 MTA6IHdhcm5pbmc6IEFzc2lnbmVkIHZhbHVlIGlzIGdhcmJhZ2Ugb3IgdW5kZWZpbmVkCiAgICAg ICAgICAgICAgICBidWZbMV0gPSBkYXRhW2kgKyAxXTsKICAgICAgICAgICAgICAgICAgICAgICBe IH5+fn5+fn5+fn5+CnNyYy9zZHAteG1sLmM6MzAwOjExOiB3YXJuaW5nOiBBc3NpZ25lZCB2YWx1 ZSBpcyBnYXJiYWdlIG9yIHVuZGVmaW5lZAogICAgICAgICAgICAgICAgICAgICAgICBidWZbMV0g PSBkYXRhW2kgKyAxXTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4gfn5+fn5+fn5+ fn4Kc3JjL3NkcC14bWwuYzozMzg6MTE6IHdhcm5pbmc6IEFzc2lnbmVkIHZhbHVlIGlzIGdhcmJh Z2Ugb3IgdW5kZWZpbmVkCiAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZlsxXSA9IGRhdGFbaSAr IDFdOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXiB+fn5+fn5+fn5+fgozIHdhcm5p bmdzIGdlbmVyYXRlZC4KdG9vbHMvY2lwdG9vbC5jOjM1MDo3OiB3YXJuaW5nOiA1dGggZnVuY3Rp b24gY2FsbCBhcmd1bWVudCBpcyBhbiB1bmluaXRpYWxpemVkIHZhbHVlCiAgICAgICAgc2sgPSBk b19jb25uZWN0KGN0bCwgZGV2X2lkLCAmc3JjLCAmZHN0LCBwc20sICgxIDw8IENNVFBfTE9PUEJB Q0spKTsKICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CjEgd2FybmluZyBnZW5lcmF0ZWQuCnRvb2xzL3NkcHRv b2wuYzo5NDE6MjY6IHdhcm5pbmc6IFJlc3VsdCBvZiAnbWFsbG9jJyBpcyBjb252ZXJ0ZWQgdG8g YSBwb2ludGVyIG9mIHR5cGUgJ3VpbnQzMl90Jywgd2hpY2ggaXMgaW5jb21wYXRpYmxlIHdpdGgg c2l6ZW9mIG9wZXJhbmQgdHlwZSAnaW50JwogICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf dCAqdmFsdWVfaW50ID0gbWFsbG9jKHNpemVvZihpbnQpKTsKICAgICAgICAgICAgICAgICAgICAg ICAgfn5+fn5+fn5+fiAgICAgICAgICAgIF5+fn5+fiB+fn5+fn5+fn5+fgp0b29scy9zZHB0b29s LmM6OTgwOjQ6IHdhcm5pbmc6IDFzdCBmdW5jdGlvbiBjYWxsIGFyZ3VtZW50IGlzIGFuIHVuaW5p dGlhbGl6ZWQgdmFsdWUKICAgICAgICAgICAgICAgICAgICAgICAgZnJlZShhbGxvY0FycmF5W2ld KTsKICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fgp0b29scy9zZHB0 b29sLmM6Mzc3NzoyOiB3YXJuaW5nOiBQb3RlbnRpYWwgbGVhayBvZiBtZW1vcnkgcG9pbnRlZCB0 byBieSAnc2kubmFtZScKICAgICAgICByZXR1cm4gYWRkX3NlcnZpY2UoMCwgJnNpKTsKICAgICAg ICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgp0b29scy9zZHB0b29sLmM6NDExMjo0OiB3YXJu aW5nOiBQb3RlbnRpYWwgbGVhayBvZiBtZW1vcnkgcG9pbnRlZCB0byBieSAnY29udGV4dC5zdmMn CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtMTsKICAgICAgICAgICAgICAgICAgICAg ICAgXn5+fn5+fn5+CjQgd2FybmluZ3MgZ2VuZXJhdGVkLgp0b29scy9hdnRlc3QuYzoyMjU6NTog d2FybmluZzogVmFsdWUgc3RvcmVkIHRvICdsZW4nIGlzIG5ldmVyIHJlYWQKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBsZW4gPSB3cml0ZShzaywgYnVmLCAzKTsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBeICAgICB+fn5+fn5+fn5+fn5+fn5+fgp0b29scy9hdnRlc3Qu YzoyMzU6NTogd2FybmluZzogVmFsdWUgc3RvcmVkIHRvICdsZW4nIGlzIG5ldmVyIHJlYWQKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZW4gPSB3cml0ZShzaywgYnVmLCA0KTsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeICAgICB+fn5+fn5+fn5+fn5+fn5+fgp0b29s cy9hdnRlc3QuYzoyNDQ6NTogd2FybmluZzogVmFsdWUgc3RvcmVkIHRvICdsZW4nIGlzIG5ldmVy IHJlYWQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZW4gPSB3cml0ZShzaywgYnVm LCAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeICAgICB+fn5+fn5+fn5+fn5+ fn5+fgp0b29scy9hdnRlc3QuYzoyNTg6NTogd2FybmluZzogVmFsdWUgc3RvcmVkIHRvICdsZW4n IGlzIG5ldmVyIHJlYWQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZW4gPSB3cml0 ZShzaywgYnVmLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4gICAgIH5+fn5+fn5+ fn5+fn5+CnRvb2xzL2F2dGVzdC5jOjI2NTo1OiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2xl bicgaXMgbmV2ZXIgcmVhZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbiA9IHdy aXRlKHNrLCBidWYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+ fn5+fn5+fn4KdG9vbHMvYXZ0ZXN0LmM6MjcyOjU6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAn bGVuJyBpcyBuZXZlciByZWFkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuID0g d3JpdGUoc2ssIGJ1ZiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeICAgICB+fn5+ fn5+fn5+fn5+fgp0b29scy9hdnRlc3QuYzoyNzk6NTogd2FybmluZzogVmFsdWUgc3RvcmVkIHRv ICdsZW4nIGlzIG5ldmVyIHJlYWQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZW4g PSB3cml0ZShzaywgYnVmLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4gICAgIH5+ fn5+fn5+fn5+fn5+CnRvb2xzL2F2dGVzdC5jOjI5MTo1OiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQg dG8gJ2xlbicgaXMgbmV2ZXIgcmVhZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxl biA9IHdyaXRlKHNrLCBidWYsIDQpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4g ICAgIH5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL2F2dGVzdC5jOjI5NTo1OiB3YXJuaW5nOiBWYWx1 ZSBzdG9yZWQgdG8gJ2xlbicgaXMgbmV2ZXIgcmVhZAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGxlbiA9IHdyaXRlKHNrLCBidWYsIDIpOwogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF4gICAgIH5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL2F2dGVzdC5jOjMwNDo1OiB3YXJu aW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2xlbicgaXMgbmV2ZXIgcmVhZAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGxlbiA9IHdyaXRlKHNrLCBidWYsIDMpOwogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF4gICAgIH5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL2F2dGVzdC5jOjMw ODo1OiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2xlbicgaXMgbmV2ZXIgcmVhZAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGxlbiA9IHdyaXRlKHNrLCBidWYsIDIpOwogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF4gICAgIH5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL2F2 dGVzdC5jOjMxNzo1OiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2xlbicgaXMgbmV2ZXIgcmVh ZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbiA9IHdyaXRlKHNrLCBidWYsIDMp OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4gICAgIH5+fn5+fn5+fn5+fn5+fn5+ CnRvb2xzL2F2dGVzdC5jOjMyNDo1OiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2xlbicgaXMg bmV2ZXIgcmVhZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbiA9IHdyaXRlKHNr LCBidWYsIDIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4gICAgIH5+fn5+fn5+ fn5+fn5+fn5+CnRvb2xzL2F2dGVzdC5jOjM0Njo1OiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8g J2xlbicgaXMgbmV2ZXIgcmVhZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbiA9 IHdyaXRlKHNrLCBidWYsIDQpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4gICAg IH5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL2F2dGVzdC5jOjM1MDo1OiB3YXJuaW5nOiBWYWx1ZSBz dG9yZWQgdG8gJ2xlbicgaXMgbmV2ZXIgcmVhZAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGxlbiA9IHdyaXRlKHNrLCBidWYsIDIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF4gICAgIH5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL2F2dGVzdC5jOjM1OTo1OiB3YXJuaW5n OiBWYWx1ZSBzdG9yZWQgdG8gJ2xlbicgaXMgbmV2ZXIgcmVhZAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGxlbiA9IHdyaXRlKHNrLCBidWYsIDMpOwogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF4gICAgIH5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL2F2dGVzdC5jOjM2Mzo1 OiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2xlbicgaXMgbmV2ZXIgcmVhZAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGxlbiA9IHdyaXRlKHNrLCBidWYsIDIpOwogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF4gICAgIH5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL2F2dGVz dC5jOjM3Njo1OiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2xlbicgaXMgbmV2ZXIgcmVhZAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbiA9IHdyaXRlKHNrLCBidWYsIDQpOwog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4gICAgIH5+fn5+fn5+fn5+fn5+fn5+CnRv b2xzL2F2dGVzdC5jOjM4MDo1OiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2xlbicgaXMgbmV2 ZXIgcmVhZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbiA9IHdyaXRlKHNrLCBi dWYsIDIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4gICAgIH5+fn5+fn5+fn5+ fn5+fn5+CnRvb2xzL2F2dGVzdC5jOjM4Nzo0OiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2xl bicgaXMgbmV2ZXIgcmVhZAogICAgICAgICAgICAgICAgICAgICAgICBsZW4gPSB3cml0ZShzaywg YnVmLCAyKTsKICAgICAgICAgICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+fn4K dG9vbHMvYXZ0ZXN0LmM6Mzk3OjQ6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnbGVuJyBpcyBu ZXZlciByZWFkCiAgICAgICAgICAgICAgICAgICAgICAgIGxlbiA9IHdyaXRlKHNrLCBidWYsIDIp OwogICAgICAgICAgICAgICAgICAgICAgICBeICAgICB+fn5+fn5+fn5+fn5+fn5+fgp0b29scy9h dnRlc3QuYzo1NjI6Mzogd2FybmluZzogVmFsdWUgc3RvcmVkIHRvICdsZW4nIGlzIG5ldmVyIHJl YWQKICAgICAgICAgICAgICAgIGxlbiA9IHdyaXRlKHNrLCBidWYsIDIpOwogICAgICAgICAgICAg ICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+fn4KdG9vbHMvYXZ0ZXN0LmM6NTcwOjM6IHdhcm5pbmc6 IFZhbHVlIHN0b3JlZCB0byAnbGVuJyBpcyBuZXZlciByZWFkCiAgICAgICAgICAgICAgICBsZW4g PSB3cml0ZShzaywgYnVmLCBpbnZhbGlkID8gMiA6IDMpOwogICAgICAgICAgICAgICAgXiAgICAg fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgp0b29scy9hdnRlc3QuYzo1ODQ6Mzogd2Fy bmluZzogVmFsdWUgc3RvcmVkIHRvICdsZW4nIGlzIG5ldmVyIHJlYWQKICAgICAgICAgICAgICAg IGxlbiA9IHdyaXRlKHNrLCBidWYsIDQgKyBzaXplb2YobWVkaWFfdHJhbnNwb3J0KSk7CiAgICAg ICAgICAgICAgICBeICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+CnRvb2xzL2F2dGVzdC5jOjU5NzozOiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2xlbicg aXMgbmV2ZXIgcmVhZAogICAgICAgICAgICAgICAgbGVuID0gd3JpdGUoc2ssIGJ1ZiwgMyk7CiAg ICAgICAgICAgICAgICBeICAgICB+fn5+fn5+fn5+fn5+fn5+fgp0b29scy9hdnRlc3QuYzo2MDc6 Mzogd2FybmluZzogVmFsdWUgc3RvcmVkIHRvICdsZW4nIGlzIG5ldmVyIHJlYWQKICAgICAgICAg ICAgICAgIGxlbiA9IHdyaXRlKHNrLCBidWYsIDMpOwogICAgICAgICAgICAgICAgXiAgICAgfn5+ fn5+fn5+fn5+fn5+fn4KdG9vbHMvYXZ0ZXN0LmM6NjE5OjM6IHdhcm5pbmc6IFZhbHVlIHN0b3Jl ZCB0byAnbGVuJyBpcyBuZXZlciByZWFkCiAgICAgICAgICAgICAgICBsZW4gPSB3cml0ZShzaywg YnVmLCAzKTsKICAgICAgICAgICAgICAgIF4gICAgIH5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL2F2 dGVzdC5jOjYzNDozOiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2xlbicgaXMgbmV2ZXIgcmVh ZAogICAgICAgICAgICAgICAgbGVuID0gd3JpdGUoc2ssIGJ1ZiwgMyk7CiAgICAgICAgICAgICAg ICBeICAgICB+fn5+fn5+fn5+fn5+fn5+fgp0b29scy9hdnRlc3QuYzo2NDY6Mzogd2FybmluZzog VmFsdWUgc3RvcmVkIHRvICdsZW4nIGlzIG5ldmVyIHJlYWQKICAgICAgICAgICAgICAgIGxlbiA9 IHdyaXRlKHNrLCBidWYsIDMpOwogICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+ fn4KdG9vbHMvYXZ0ZXN0LmM6NjU1OjM6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnbGVuJyBp cyBuZXZlciByZWFkCiAgICAgICAgICAgICAgICBsZW4gPSB3cml0ZShzaywgYnVmLCAzKTsKICAg ICAgICAgICAgICAgIF4gICAgIH5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL2F2dGVzdC5jOjY2Mjoz OiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2xlbicgaXMgbmV2ZXIgcmVhZAogICAgICAgICAg ICAgICAgbGVuID0gd3JpdGUoc2ssIGJ1ZiwgMik7CiAgICAgICAgICAgICAgICBeICAgICB+fn5+ fn5+fn5+fn5+fn5+fgp0b29scy9hdnRlc3QuYzo2OTg6Mjogd2FybmluZzogVmFsdWUgc3RvcmVk IHRvICdsZW4nIGlzIG5ldmVyIHJlYWQKICAgICAgICBsZW4gPSB3cml0ZShzaywgYnVmLCBBVkNU UF9IRUFERVJfTEVOR1RIICsgc2l6ZW9mKHBsYXlfcHJlc3NlZCkpOwogICAgICAgIF4gICAgIH5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4K MzIgd2FybmluZ3MgZ2VuZXJhdGVkLgp0b29scy9idHByb3h5LmM6ODM2OjE1OiB3YXJuaW5nOiBO dWxsIHBvaW50ZXIgcGFzc2VkIHRvIDFzdCBwYXJhbWV0ZXIgZXhwZWN0aW5nICdub25udWxsJwog ICAgICAgICAgICAgICAgICAgICAgICB0Y3BfcG9ydCA9IGF0b2kob3B0YXJnKTsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn4KdG9vbHMvYnRwcm94eS5jOjgz OTo4OiB3YXJuaW5nOiBOdWxsIHBvaW50ZXIgcGFzc2VkIHRvIDFzdCBwYXJhbWV0ZXIgZXhwZWN0 aW5nICdub25udWxsJwogICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3RybGVuKG9wdGFyZykg PiAzICYmICFzdHJuY21wKG9wdGFyZywgImhjaSIsIDMpKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgXn5+fn5+fn5+fn5+fn4KMiB3YXJuaW5ncyBnZW5lcmF0ZWQuCnRvb2xzL2NyZWF0ZS1p bWFnZS5jOjc2OjM6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnZmQnIGlzIG5ldmVyIHJlYWQK ICAgICAgICAgICAgICAgIGZkID0gLTE7CiAgICAgICAgICAgICAgICBeICAgIH5+CnRvb2xzL2Ny ZWF0ZS1pbWFnZS5jOjg0OjM6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnZmQnIGlzIG5ldmVy IHJlYWQKICAgICAgICAgICAgICAgIGZkID0gLTE7CiAgICAgICAgICAgICAgICBeICAgIH5+CnRv b2xzL2NyZWF0ZS1pbWFnZS5jOjkyOjM6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnZmQnIGlz IG5ldmVyIHJlYWQKICAgICAgICAgICAgICAgIGZkID0gLTE7CiAgICAgICAgICAgICAgICBeICAg IH5+CnRvb2xzL2NyZWF0ZS1pbWFnZS5jOjEwNToyOiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8g J2ZkJyBpcyBuZXZlciByZWFkCiAgICAgICAgZmQgPSAtMTsKICAgICAgICBeICAgIH5+CjQgd2Fy bmluZ3MgZ2VuZXJhdGVkLgp0b29scy9idGdhdHQtY2xpZW50LmM6MTgyNDoyOiB3YXJuaW5nOiBW YWx1ZSBzdG9yZWQgdG8gJ2FyZ3YnIGlzIG5ldmVyIHJlYWQKICAgICAgICBhcmd2ICs9IG9wdGlu ZDsKICAgICAgICBeICAgICAgIH5+fn5+fgoxIHdhcm5pbmcgZ2VuZXJhdGVkLgp0b29scy9idGdh dHQtc2VydmVyLmM6MTIxMjoyOiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2FyZ3YnIGlzIG5l dmVyIHJlYWQKICAgICAgICBhcmd2IC09IG9wdGluZDsKICAgICAgICBeICAgICAgIH5+fn5+fgox IHdhcm5pbmcgZ2VuZXJhdGVkLgp0b29scy9jaGVjay1zZWxmdGVzdC5jOjQyOjM6IHdhcm5pbmc6 IFZhbHVlIHN0b3JlZCB0byAncHRyJyBpcyBuZXZlciByZWFkCiAgICAgICAgICAgICAgICBwdHIg PSBmZ2V0cyhyZXN1bHQsIHNpemVvZihyZXN1bHQpLCBmcCk7CiAgICAgICAgICAgICAgICBeICAg ICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KMSB3YXJuaW5nIGdlbmVyYXRlZC4K dG9vbHMvZ2F0dC1zZXJ2aWNlLmM6Mjk0OjI6IHdhcm5pbmc6IDJuZCBmdW5jdGlvbiBjYWxsIGFy Z3VtZW50IGlzIGFuIHVuaW5pdGlhbGl6ZWQgdmFsdWUKICAgICAgICBjaHJfd3JpdGUoY2hyLCB2 YWx1ZSwgbGVuKTsKICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoxIHdhcm5pbmcg Z2VuZXJhdGVkLgp0b29scy9vYmV4LXNlcnZlci10b29sLmM6MTMzOjEzOiB3YXJuaW5nOiBOdWxs IHBvaW50ZXIgcGFzc2VkIHRvIDFzdCBwYXJhbWV0ZXIgZXhwZWN0aW5nICdub25udWxsJwogICAg ICAgIGRhdGEtPmZkID0gb3BlbihuYW1lLCBPX1dST05MWSB8IE9fQ1JFQVQgfCBPX05PQ1RUWSwg MDYwMCk7CiAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fgp0b29scy9vYmV4LXNlcnZlci10b29sLmM6MTkyOjEzOiB3YXJuaW5n OiBOdWxsIHBvaW50ZXIgcGFzc2VkIHRvIDFzdCBwYXJhbWV0ZXIgZXhwZWN0aW5nICdub25udWxs JwogICAgICAgIGRhdGEtPmZkID0gb3BlbihuYW1lLCBPX1JET05MWSB8IE9fTk9DVFRZLCAwKTsK ICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KMiB3 YXJuaW5ncyBnZW5lcmF0ZWQuCnRvb2xzL2J0cGNsaWVudGN0bC5jOjQwMjozOiB3YXJuaW5nOiBW YWx1ZSBzdG9yZWQgdG8gJ2JpdCcgaXMgbmV2ZXIgcmVhZAogICAgICAgICAgICAgICAgYml0ID0g MDsKICAgICAgICAgICAgICAgIF4gICAgIH4KdG9vbHMvYnRwY2xpZW50Y3RsLmM6MTY1NToyOiB3 YXJuaW5nOiBOdWxsIHBvaW50ZXIgcGFzc2VkIHRvIDJuZCBwYXJhbWV0ZXIgZXhwZWN0aW5nICdu b25udWxsJwogICAgICAgIG1lbWNweShjcC0+ZGF0YSwgYWRfZGF0YSwgYWRfbGVuKTsKICAgICAg ICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KMiB3YXJuaW5ncyBnZW5lcmF0ZWQu CnNyYy9zZHBkLXJlcXVlc3QuYzoyMTE6MTM6IHdhcm5pbmc6IFJlc3VsdCBvZiAnbWFsbG9jJyBp cyBjb252ZXJ0ZWQgdG8gYSBwb2ludGVyIG9mIHR5cGUgJ2NoYXInLCB3aGljaCBpcyBpbmNvbXBh dGlibGUgd2l0aCBzaXplb2Ygb3BlcmFuZCB0eXBlICd1aW50MTZfdCcKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBwRWxlbSA9IG1hbGxvYyhzaXplb2YodWludDE2X3QpKTsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fiB+fn5+fn5+fn5+fn5+fn5+ CnNyYy9zZHBkLXJlcXVlc3QuYzoyMzk6MTM6IHdhcm5pbmc6IFJlc3VsdCBvZiAnbWFsbG9jJyBp cyBjb252ZXJ0ZWQgdG8gYSBwb2ludGVyIG9mIHR5cGUgJ2NoYXInLCB3aGljaCBpcyBpbmNvbXBh dGlibGUgd2l0aCBzaXplb2Ygb3BlcmFuZCB0eXBlICd1aW50MzJfdCcKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBwRWxlbSA9IG1hbGxvYyhzaXplb2YodWludDMyX3QpKTsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fiB+fn5+fn5+fn5+fn5+fn5+ CjIgd2FybmluZ3MgZ2VuZXJhdGVkLgphbmRyb2lkL2F2cmNwLWxpYi5jOjE5Njg6Mzogd2Fybmlu ZzogMXN0IGZ1bmN0aW9uIGNhbGwgYXJndW1lbnQgaXMgYW4gdW5pbml0aWFsaXplZCB2YWx1ZQog ICAgICAgICAgICAgICAgZ19mcmVlKHRleHRbaV0pOwogICAgICAgICAgICAgICAgXn5+fn5+fn5+ fn5+fn5+CjEgd2FybmluZyBnZW5lcmF0ZWQuCnByb2ZpbGVzL2lucHV0L21hbmFnZXIuYzogSW4g ZnVuY3Rpb24g4oCYaW5wdXRfaW5pdOKAmToKcHJvZmlsZXMvaW5wdXQvbWFuYWdlci5jOjEwMjo0 OiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24g4oCYZnJlZeKAmSBbLVdl cnJvcj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KICAxMDIgfCAgICBmcmVlKHVoaWRf ZW5hYmxlZCk7CiAgICAgIHwgICAgXn5+fgpwcm9maWxlcy9pbnB1dC9tYW5hZ2VyLmM6MTAyOjQ6 IGVycm9yOiBpbmNvbXBhdGlibGUgaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgYnVpbHQtaW4gZnVu Y3Rpb24g4oCYZnJlZeKAmSBbLVdlcnJvcl0KcHJvZmlsZXMvaW5wdXQvbWFuYWdlci5jOjMyOjE6 IG5vdGU6IGluY2x1ZGUg4oCYPHN0ZGxpYi5oPuKAmSBvciBwcm92aWRlIGEgZGVjbGFyYXRpb24g b2Yg4oCYZnJlZeKAmQogICAzMSB8ICNpbmNsdWRlICJzZXJ2ZXIuaCIKICArKysgfCsjaW5jbHVk ZSA8c3RkbGliLmg+CiAgIDMyIHwgCmNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMg ZXJyb3JzCm1ha2VbMV06ICoqKiBbTWFrZWZpbGU6MTA0MDM6IHByb2ZpbGVzL2lucHV0L2JsdWV0 b290aGQtbWFuYWdlci5vXSBFcnJvciAxCm1ha2VbMV06ICoqKiBXYWl0aW5nIGZvciB1bmZpbmlz aGVkIGpvYnMuLi4uCm1ha2U6ICoqKiBbTWFrZWZpbGU6NDY5MTogYWxsXSBFcnJvciAyCgoKLS0t ClJlZ2FyZHMsCkxpbnV4IEJsdWV0b290aAoK --===============7441894981851582728==--