From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.31]) by sourceware.org (Postfix) with ESMTPS id B8FB53858D35 for ; Fri, 27 Oct 2023 02:17:36 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org B8FB53858D35 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org B8FB53858D35 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=134.134.136.31 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1698373059; cv=pass; b=Qj7yV8SV3qd50lRvBhv3JsuQSKTdJDsk2nDTu1AJFnsYlh3WQx5d1G74Am6b2FXhHYEYsKKP7PrE02ikaORL418Ljj9WLYzIfZPo9U/SfwoT2gDHBvDvUQC/ZQBsT8WEeRj03PJFFrtU9WquPOiUbDdDSGy9Ob/jgsQiRQnOUhs= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1698373059; c=relaxed/simple; bh=lZdRfeVwwfYH9OyNAbWu3nE6xLE/I2Nd/mOs9/LMZWo=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=HEgHfr0USE+yAXwCH7J02yapjOtUwJGStf+adAnp2o67qJ7xnL8dEAtccZmJtOfD5dd67kBSUUxBUSee7LQvAde6IxBmQnmJJQHXYA8ZHcnHxOJ1bnpgAKf4g5CgsEoBrF9LvbqjOT8ZL9BLNlLkS8+qfiA5CLeJ23XucBZNt9Y= ARC-Authentication-Results: i=2; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1698373056; x=1729909056; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=lZdRfeVwwfYH9OyNAbWu3nE6xLE/I2Nd/mOs9/LMZWo=; b=IT5mADkehghjJQQ3bQx8xdwkwu0QXwJ1dPfvaOH3hxhENUsrvepp690G p+UwtEaR4ERz3w7gg/AxigHK8WZoiYORaoJPYi5+/gDmyVD+K6klMyXbp M+/GfrORqhp6X+tj5rJ+FYVMjeQK4a4VFS6TzIUY4wBUzZzaa1L3et5XO WlQ6qo3pPUpAojxmjugezjRqC2Pd0vJHPO473h6DRUePThDKhsmj5uw+8 ELIIvcK6xVk9271AOtksTmQ64Sn1OA91uaLiuO+/fEO315a4QyV4Wx3Ji Wa6kKs+33LJoxZ1Ugs6Jp4lUjINZa6NZ8qDocfEH9MhgJeSf0wG+MLeSi Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10875"; a="451933904" X-IronPort-AV: E=Sophos;i="6.03,255,1694761200"; d="scan'208";a="451933904" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 26 Oct 2023 19:17:35 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10875"; a="759450717" X-IronPort-AV: E=Sophos;i="6.03,255,1694761200"; d="scan'208";a="759450717" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by orsmga002.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 26 Oct 2023 19:17:35 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34; Thu, 26 Oct 2023 19:17:34 -0700 Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) by ORSMSX610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34; Thu, 26 Oct 2023 19:17:34 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx612.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34 via Frontend Transport; Thu, 26 Oct 2023 19:17:34 -0700 Received: from NAM02-DM3-obe.outbound.protection.outlook.com (104.47.56.41) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.32; Thu, 26 Oct 2023 19:17:33 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=D9L9c2HA/ruW7oIaN8pL1stHOqPETnK8fuz/u0Qjnu3ModNX1ZJ6qd6sR0eNjllspamH6kJvMG7Z1JyS/rOFqCXg2CNFxdCyyvQmi74xNVv+iDE2U2GI+z6tMhDk+bOsMvHoZlfBprjrFxZXWBjrelUjywhrXynGJfUuAQXeBQOQniFAaaY40HsNEOo68JbPDyPXjB+gaEXVij5uKV3VTtMgyElr/Xlcp5D5P2lxNfPzG4+7OiU7YPa2Ma+dyj88pydIzz/zVpr3stS6gFmTwsGBwMunGczGcB1sxU1dzGuv5s+qeQ2pNu4J9myKp6UshFkd2dkrJwL/kv2gD0RxbQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=lZdRfeVwwfYH9OyNAbWu3nE6xLE/I2Nd/mOs9/LMZWo=; b=EIpz0thes3mDdJu9Sc5CXQj5p9+2KJboBrsNckKdB0UR7WX6gbsj9IsVejlHeqhqzr14w/cBjjuCjAn/j9iZeGN/9JILqwy5vag6o33sAVVlv2UdXhhXqaRvkslweVb/qtg5Ci6S9YJAwcLTmb/dtKoNknaSpchgosiuXYwIMF0jPjcrZyRNJSz3B8jQjLmNgDiwXvSD2aM4ORlJ1vk6bSX9jS2M/1lmkUCHS+JemGBESiz7DkOPRrpttKKj4aeS13rFz38LAme4A1SedFqcneMHFbMNZO4lzSiKr5Nl23n5h0276Wi58tYfLRjQhdD3CFF3yAwoal01JT0SINedPw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from MW5PR11MB5908.namprd11.prod.outlook.com (2603:10b6:303:194::10) by DS0PR11MB7786.namprd11.prod.outlook.com (2603:10b6:8:f2::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6933.22; Fri, 27 Oct 2023 02:17:26 +0000 Received: from MW5PR11MB5908.namprd11.prod.outlook.com ([fe80::4317:53a0:2638:358c]) by MW5PR11MB5908.namprd11.prod.outlook.com ([fe80::4317:53a0:2638:358c%5]) with mapi id 15.20.6907.032; Fri, 27 Oct 2023 02:17:26 +0000 From: "Li, Pan2" To: Richard Sandiford , Richard Biener CC: "gcc-patches@gcc.gnu.org" , "juzhe.zhong@rivai.ai" , "Wang, Yanzhang" , "kito.cheng@gmail.com" , "Liu, Hongtao" Subject: RE: [PATCH v2] VECT: Remove the type size restriction of vectorizer Thread-Topic: [PATCH v2] VECT: Remove the type size restriction of vectorizer Thread-Index: AQHaB7K5Hk1wwi0S2kGUFQNBteZ0KrBbv/QAgAA238CAACMQgIAAP6EPgACNSWA= Date: Fri, 27 Oct 2023 02:17:26 +0000 Message-ID: References: <6D1DE93C-B4FC-4E64-AB39-D7D0F929AB64@gmail.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MW5PR11MB5908:EE_|DS0PR11MB7786:EE_ x-ms-office365-filtering-correlation-id: 899804d9-2456-4d62-aa7d-08dbd692dd1a x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: W9iVRm/4hE5bTHhfZYMim7fGQen7XPYIOeZwS9ZzNQy4IHIw2EtefgiyguJrBxK5edbLVSYoOLYMcHMlVBsvyJSAsKhUxVoLmIKOvOuD82FWYid03eFyuqxE+PMPWbYy7y5aIeHQRLlNsEeGj96KjJbS8GDyCwCLuN0VY6RNYGhgWqN+XlJoq0U/qCDuyG4CsTzhqpUKAU1IEy8Y3/VsWE7k8BxKVITlByTHrYIVwlHhi+Bd7zjKI8O0H5WlaGHU65JNDYmX+l/FF3qqA9EuvZLHbn2VpTRuzIA/XiyrU4wKIuSNI7CXK2+6mQPXRFqoxZJLnyqZUoKVJTMkQ2Rxd9P6G4cpGTIexxJrSTRLjmUmVytpeIyX0ZEnzkNMY6Vss/GP/wISB/brwYmGUbwYCEOE9a4cTlpouLFHpRoBt+mFvnralfzOcXrZ5ZWRSP5QFSobQZt1w5Ei4gD15wgZUjvTqqI2d/ybCNqmVb15BDUjyx2qbye/e2F/JNxN1xe9AhN/me5Z6MdGH4DgYeoduuuG3jDlcz/UKG1k8b0xe81XwwmCaqb4zrJE0pJecDpbn6tCwneGsydtwvB4oWvj+BkhJ0MdEZDOytvwn9bg/1lGRn37h5CzQY/3MHHDJh3/7lzqPfTgvwelxNon6ttyUg== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW5PR11MB5908.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(39860400002)(346002)(376002)(366004)(136003)(230922051799003)(186009)(451199024)(1800799009)(64100799003)(33656002)(2906002)(38100700002)(86362001)(83380400001)(84970400001)(55016003)(122000001)(107886003)(5660300002)(82960400001)(9686003)(41300700001)(110136005)(66556008)(316002)(66446008)(64756008)(54906003)(66946007)(76116006)(66476007)(38070700009)(71200400001)(53546011)(52536014)(7696005)(6506007)(8676002)(26005)(478600001)(4326008)(8936002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?TVdRWG44U3VVTU8raEJFQno5RWRnQ0FIbm5xMklGV09QV2J2RWZJYUlCcUl5?= =?utf-8?B?WXZxcmRtZm9YK28xVE1zVFZpcE54T2oxNFA1YXVyVkJadDF5cVJVcVRRMFJo?= =?utf-8?B?dGk3cWthVFE1QkdkNEF2Q3k5YzdzSEwwZ0JpaytrMSs4Vk8vV3JwV1JCWlMz?= =?utf-8?B?ZHh4dk5reWc1V2ZBdVZnbFp4UzczbmFQMkpRcE03dk43cDVNWXRaVzhMS0RK?= =?utf-8?B?eUFGTS90T05keWlQOGNVU2ZOS2RzT2dFTUJ2MmtHRVM4ZWNtUTdldDJQQzRv?= =?utf-8?B?N2U1dUZhRjVtNHZFbGhTYTkxbExhOUxLZEdjbXVCOWxYOFZ6aEg2ak1oWGJG?= =?utf-8?B?TXdGNjB1elJ0ZzZFMVJYbVcrMFY4TTQwS1I3cW5JaEhYbEdNQWk3dFU3MGZV?= =?utf-8?B?ZVdkNTF4S3hCcnU4OS9NaWlQTkJvOHpjM3RLQm1qaVd3ckN2blRnaUVNK1pV?= =?utf-8?B?eUpkai9wdHdJSmp3c01DL0pyWm55THhSOEpxcnNVRnNzL092MEtFZjJDT0Yr?= =?utf-8?B?Q1RzN0N4eHlkcWRZaCtpR29TQzZtM1JBS2FvV2lURTFvTkJwZE1kTnI5VXZS?= =?utf-8?B?REFZRjNabmpvdWtvSTQrTUJVN0FzdjU4U3plalV4TE1vRG5FbnErVWRuRTla?= =?utf-8?B?TldQeGRWWDhtVkhpSldEWldWQnJHRDN4bW5hTDVjZ3V3eFk3emU1YllGWkh0?= =?utf-8?B?UGVUU1A5Vy9OelFUK1R2V05UbXdyT2hoQjJ2ZXdGMzFkUzNYeEt6eG54NVhX?= =?utf-8?B?TVh0cXBrait1SnVXTllJV0JON2tOODZ0V291MU9HTENjMTNDR2hMSVYvNUJq?= =?utf-8?B?aWF1d2VsU1pVUFZuTzNPb2Rsc3dCejBlcjZESXVRY3B5cGNsTHNmSmx0eUc4?= =?utf-8?B?NWpDRDhadzZ3NGVPR2FkeHd4TE1QQnJtc3dhcWc4bjdLK0VpaUZNN2tqekxL?= =?utf-8?B?a3Q1ZUhGTUNNM1I0RUhpejE4cWxCQ2VGRm1Vci9iNHdwWm9WU1NueVJzbzVi?= =?utf-8?B?a3RTZTZHa0tUN09kNmJIdUdGQW0zT3U1RDE3REpwd3Y5dzNEMVNNRCtESWFp?= =?utf-8?B?eDc0UnFuNWN4aFhjbG50S01mWGtOTzlJRnVybEVLMnZPUmg2YXBEWjdKYTBV?= =?utf-8?B?VU5rajh6TVR4WGg1Vk82OW93RitmL0NNRXBmYUp3c1ZJNlFId1hoUHNIVjM5?= =?utf-8?B?NnFaNkt3cXM2SW9kejNGUkMrdGFaYk1SczNVcjlFRUlpMmhWM0IwQWhqaTlR?= =?utf-8?B?TmMweEJpWTVTM1l2Z0RqRjFnbTNkNVp0eHBjSTJsMEhQUWxJRHlGZW1sTUty?= =?utf-8?B?RXNjQzczckNXVEVVNGlYeGpjb3BBZWppRVhRRjdIWFYyRTlmQlFlc0Y1RlVr?= =?utf-8?B?aVJOL0tTK09BaHBLUVp5NGptUTVtSjlQSWkvZ1c2ZEU0ckVVbkpYTWRZcUo5?= =?utf-8?B?NHorbmsxNzhkV2FrdnBmM3k2QjBMVWtUUTg0R0cvWmU3MUR0RGQzRHlpVzlJ?= =?utf-8?B?MmtHZDU5VzY4OGhZRlZMSWpMeG9nVDlyZzgzbnZjRGRBd1d0eUFLT0FYbm5U?= =?utf-8?B?UVpVQVFUN0hQUzk2elJIU0l4cnV0SmdwQnpuVGxtN3RBY2pKTkxkS3gwTE5B?= =?utf-8?B?eGdUcWVEWVhOT0g2K1FhTjZ2R01nKzNDRTlxZUhNc0hMUkV1cEErMjhneHJl?= =?utf-8?B?YTVVdVZkSStMZ2Vhbmdja1ZLQjExNGVjQ21sNk1STTN0S0JCcFQvT05vK0Ex?= =?utf-8?B?Qlc1NTY3UTBkZlVyRnVNT2lMZHA0VnZ6YmJHWnpwSUpoTVFBN2xjOGZKb3hN?= =?utf-8?B?eUF4cVpSWFc0NDgza1B0YmFrUkxXejBiSFlPaGhId2Z5REFWckpwU0RmZklv?= =?utf-8?B?M2pmTktOckc0bUNUU1FWdzI4U3ZuSlRTVUhoTHlJYnE2Tml3bDJwWkI4WmM3?= =?utf-8?B?dmlNeldGRGQyZmhLTUhqYjIvb1FRWVRCdVY0UGJQR2syOWRtMm5YWUUzZmNm?= =?utf-8?B?UG5nQ3BVcDZZUU5paDV0WmF0VHFRbzB1OUlvY01Cakpqd3J5VFlUWUVKWVRE?= =?utf-8?B?RDZJbDlnUXkrMjRkTWIwNk1oUC93bWhRaS9ycVZiM0FPUlZLSUgyaEtYSjhF?= =?utf-8?Q?683I=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW5PR11MB5908.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 899804d9-2456-4d62-aa7d-08dbd692dd1a X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Oct 2023 02:17:26.5636 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: ghqVQPp8TKI1gEowt2imRw1QwFh576HvFwphslNErPkj9eTujUEiXnMGVvacCMX5xpqqqpzXTO3yG/M5uITLDA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR11MB7786 X-OriginatorOrg: intel.com X-Spam-Status: No, score=-12.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,KAM_SHORT,SPF_HELO_NONE,SPF_NONE,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: VGhhbmtzIFJpY2hhcmQgUyBmb3IgY29tbWVudHMuDQoNCj4gSW4gb3RoZXIgd29yZHMsIEkgZG9u J3QgdGhpbmsgc2ltcGx5IHJlbW92aW5nIHRoZSB0ZXN0IGZyb20gdGhlIHZlY3RvcmlzZXINCj4g aXMgY29ycmVjdC4gIEl0IG5lZWRzIHRvIGJlIHJlcGxhY2VkIGJ5IHNvbWV0aGluZyBtb3JlIHNl bGVjdGl2ZS4NCg0KRG9lcyBpdCBtZWFuIHdlIG5lZWQgdG8gY2hlY2sgaWYgdGhlIGludGVybmFs IGZ1biBhbGxvdyBkaWZmZXJlbnQgbW9kZXMvc2l6ZXMgaGVyZT8NCg0KRm9yIGV4YW1wbGUsIHN0 YW5kYXJkIG5hbWUgbHJpbnRtbjIgKG0sIG4gbW9kZSkgaXMgYWxsb3dlZCBoZXJlLCB3aGlsZSBy aW50bTIgKG9ubHkgbSBtb2RlKSBpc24ndC4NCg0KUGFuDQoNCi0tLS0tT3JpZ2luYWwgTWVzc2Fn ZS0tLS0tDQpGcm9tOiBSaWNoYXJkIFNhbmRpZm9yZCA8cmljaGFyZC5zYW5kaWZvcmRAYXJtLmNv bT4gDQpTZW50OiBGcmlkYXksIE9jdG9iZXIgMjcsIDIwMjMgMTo0NyBBTQ0KVG86IFJpY2hhcmQg QmllbmVyIDxyaWNoYXJkLmd1ZW50aGVyQGdtYWlsLmNvbT4NCkNjOiBMaSwgUGFuMiA8cGFuMi5s aUBpbnRlbC5jb20+OyBnY2MtcGF0Y2hlc0BnY2MuZ251Lm9yZzsganV6aGUuemhvbmdAcml2YWku YWk7IFdhbmcsIFlhbnpoYW5nIDx5YW56aGFuZy53YW5nQGludGVsLmNvbT47IGtpdG8uY2hlbmdA Z21haWwuY29tOyBMaXUsIEhvbmd0YW8gPGhvbmd0YW8ubGl1QGludGVsLmNvbT4NClN1YmplY3Q6 IFJlOiBbUEFUQ0ggdjJdIFZFQ1Q6IFJlbW92ZSB0aGUgdHlwZSBzaXplIHJlc3RyaWN0aW9uIG9m IHZlY3Rvcml6ZXINCg0KUmljaGFyZCBCaWVuZXIgPHJpY2hhcmQuZ3VlbnRoZXJAZ21haWwuY29t PiB3cml0ZXM6DQo+PiBBbSAyNi4xMC4yMDIzIHVtIDEzOjU5IHNjaHJpZWIgTGksIFBhbjIgPHBh bjIubGlAaW50ZWwuY29tPjoNCj4+IA0KPj4g77u/VGhhbmtzIFJpY2hhcmQgZm9yIGNvbW1lbnRz Lg0KPj4gDQo+Pj4gQ2FuIHlvdSBleHBsYWluIHdoeSB0aGlzIGlzIG5lY2Vzc2FyeT8gIEluIHBh cnRpY3VsYXIgd2hhdCBpcyBsaHNfcnR4DQo+Pj4gbW9kZSB2cyBvcHNbMF0udmFsdWUgbW9kZT8N Cj4+IA0KPj4gRm9yIHRlc3RjYXNlIGdjYy50YXJnZXQvYWFyY2g2NC9zdmUvcG9wY291bnRfMS5j LCB0aGUgcnRsIGFyZSBsaXN0IGFzIGJlbG93Lg0KPj4gDQo+PiBUaGUgbGhzX3J0eCBpcyAocmVn OlZOeDJTSSA5OCBbIHZlY3RfXzUuMzYgXSkuDQo+PiBUaGUgb3BzWzBdLnZhbHVlIGlzIChyZWc6 Vk54MkRJIDEwNCkuDQo+PiANCj4+IFRoZSByZXN0cmljdGlvbiByZW1vdmluZyBtYWtlIHRoZSB2 ZWN0b3IgcnRsIGVudGVyIGV4cGFuZF9mbl91c2luZ19pbnNuIGFuZCBvZiBjb3Vyc2UgaGl0IHRo ZSBJTlRFR0VSX1AgYXNzZXJ0aW9uLg0KPg0KPiBCdXQgSSB0aGluayB0aGlzIHNob3dzIHdlIG1p ZC1zZWxlY3RlZCB0aGUgb3B0YWIsIGEgY29udmVydF9tb3ZlIGlzIGNlcnRhaW5seSBub3QgY29y cmVjdCB1bmNvbmRpdGlvbmFsbHkgaGVyZSAodGhlIHRhcmdldCBtaWdodCBub3Qgc3VwcG9ydCB0 aGF0KQ0KDQpBZ3JlZWQuICBBbGxvd2luZyBUWVBFX1NJWkUgKHZlY3R5cGVfaW4pICE9IFRZUEVf U0laRSAodmVjdHlwZV9vdXQpDQptYWtlcyBzZW5zZSBpZiB0aGUgY2FsbGVkIGZ1bmN0aW9uIGFs bG93cyB0aGUgaW5wdXQgYW5kIG91dHB1dCBtb2Rlcw0KdG8gdmFyeS4gIFRoYXQncyB0cnVlIGZv ciBpbnRlcm5hbCBmdW5jdGlvbnMgdGhhdCBldmVudHVhbGx5IG1hcCB0bw0KdHdvLW1vZGUgb3B0 YWJzLiAgQnV0IHdlIGNhbid0IHJlbW92ZSB0aGUgY29uZGl0aW9uIGZvciBjYWxscyB0bw0Kb3Ro ZXIgZnVuY3Rpb25zLCBhdCBsZWFzdCBub3Qgd2l0aG91dCBzb21lIGZpeC11cHMuDQoNCklTVE0g dGhhdCB0aGUgcHJvYmxlbSBiZWluZyBoaXQgaXMgdGhlIG9uZSBkZXNjcmliZWQgYnkgdGhlIHJl bW92ZWQNCmNvbW1lbnQuDQoNCkluIG90aGVyIHdvcmRzLCBJIGRvbid0IHRoaW5rIHNpbXBseSBy ZW1vdmluZyB0aGUgdGVzdCBmcm9tIHRoZSB2ZWN0b3Jpc2VyDQppcyBjb3JyZWN0LiAgSXQgbmVl ZHMgdG8gYmUgcmVwbGFjZWQgYnkgc29tZXRoaW5nIG1vcmUgc2VsZWN0aXZlLg0KDQpUaGFua3Ms DQpSaWNoYXJkDQoNCj4+IFBhbg0KPj4gDQo+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0K Pj4gRnJvbTogUmljaGFyZCBCaWVuZXIgPHJpY2hhcmQuZ3VlbnRoZXJAZ21haWwuY29tPiANCj4+ IFNlbnQ6IFRodXJzZGF5LCBPY3RvYmVyIDI2LCAyMDIzIDQ6MzggUE0NCj4+IFRvOiBMaSwgUGFu MiA8cGFuMi5saUBpbnRlbC5jb20+DQo+PiBDYzogZ2NjLXBhdGNoZXNAZ2NjLmdudS5vcmc7IGp1 emhlLnpob25nQHJpdmFpLmFpOyBXYW5nLCBZYW56aGFuZyA8eWFuemhhbmcud2FuZ0BpbnRlbC5j b20+OyBraXRvLmNoZW5nQGdtYWlsLmNvbTsgTGl1LCBIb25ndGFvIDxob25ndGFvLmxpdUBpbnRl bC5jb20+OyBSaWNoYXJkIFNhbmRpZm9yZCA8cmljaGFyZC5zYW5kaWZvcmRAYXJtLmNvbT4NCj4+ IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjJdIFZFQ1Q6IFJlbW92ZSB0aGUgdHlwZSBzaXplIHJlc3Ry aWN0aW9uIG9mIHZlY3Rvcml6ZXINCj4+IA0KPj4+IE9uIFRodSwgT2N0IDI2LCAyMDIzIGF0IDQ6 MTjigK9BTSA8cGFuMi5saUBpbnRlbC5jb20+IHdyb3RlOg0KPj4+IA0KPj4+IEZyb206IFBhbiBM aSA8cGFuMi5saUBpbnRlbC5jb20+DQo+Pj4gDQo+Pj4gVXBkYXRlIGluIHYyOg0KPj4+IA0KPj4+ ICogRml4IG9uZSBJQ0Ugb2YgdHlwZSBhc3NlcnRpb24uDQo+Pj4gKiBBZGp1c3Qgc29tZSB0ZXN0 IGNhc2VzIGZvciBhYXJjaDY0IHN2ZSBhbmQgcmlzY3YgdmVjdG9yLg0KPj4+IA0KPj4+IE9yaWdp bmFsIGxvZzoNCj4+PiANCj4+PiBUaGUgdmVjdG9yaWFibGVfY2FsbCBoYXMgb25lIHJlc3RyaWN0 aW9uIG9mIHRoZSBzaXplIG9mIGRhdGEgdHlwZS4NCj4+PiBBa2EgREYgdG8gREkgaXMgYWxsb3dl ZCBidXQgU0YgdG8gREkgaXNuJ3QuIFlvdSBtYXkgc2VlIGJlbG93IG1lc3NhZ2UNCj4+PiB3aGVu IHRyeSB0byB2ZWN0b3JpemUgZnVuY3Rpb24gY2FsbCBsaWtlIGxyaW50Zi4NCj4+PiANCj4+PiB2 b2lkDQo+Pj4gdGVzdF9scmludGYgKGxvbmcgKm91dCwgZmxvYXQgKmluLCB1bnNpZ25lZCBjb3Vu dCkNCj4+PiB7DQo+Pj4gIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBjb3VudDsgaSsrKQ0KPj4+ ICAgIG91dFtpXSA9IF9fYnVpbHRpbl9scmludGYgKGluW2ldKTsNCj4+PiB9DQo+Pj4gDQo+Pj4g bHJpbnRmLmM6NToyNjogbWlzc2VkOiBjb3VsZG4ndCB2ZWN0b3JpemUgbG9vcA0KPj4+IGxyaW50 Zi5jOjU6MjY6IG1pc3NlZDogbm90IHZlY3Rvcml6ZWQ6IHVuc3VwcG9ydGVkIGRhdGEtdHlwZQ0K Pj4+IA0KPj4+IFRoZW4gdGhlIHN0YW5kYXJkIG5hbWUgcGF0dGVybiBsaWtlIGxyaW50bW4yIGNh bm5vdCB3b3JrIGZvciBkaWZmZXJlbnQNCj4+PiBkYXRhIHR5cGUgc2l6ZSBsaWtlIFNGID0+IERJ LiBUaGlzIHBhdGNoIHdvdWxkIGxpa2UgdG8gcmVtb3ZlIHRoaXMgZGF0YQ0KPj4+IHR5cGUgc2l6 ZSBjaGVjayBhbmQgdW5ibG9jayB0aGUgc3RhbmRhcmQgbmFtZSBsaWtlIGxyaW50bW4yLg0KPj4+ IA0KPj4+IFRoZSBiZWxvdyB0ZXN0IGFyZSBwYXNzZWQgZm9yIHRoaXMgcGF0Y2guDQo+Pj4gDQo+ Pj4gKiBUaGUgeDg2IGJvb3RzdHJhcCBhbmQgcmVncmVzc2lvbiB0ZXN0Lg0KPj4+ICogVGhlIGFh cmNoNjQgcmVncmVzc2lvbiB0ZXN0Lg0KPj4+ICogVGhlIHJpc2MtdiByZWdyZXNzaW9uIHRlc3Rz Lg0KPj4+IA0KPj4+IGdjYy9DaGFuZ2VMb2c6DQo+Pj4gDQo+Pj4gICAgICAgICogaW50ZXJuYWwt Zm4uY2MgKGV4cGFuZF9mbl91c2luZ19pbnNuKTogQWRkIHZlY3RvciBpbnQgYXNzZXJ0aW9uLg0K Pj4+ICAgICAgICAqIHRyZWUtdmVjdC1zdG10cy5jYyAodmVjdG9yaXphYmxlX2NhbGwpOiBSZW1v dmUgc2l6ZSBjaGVjay4NCj4+PiANCj4+PiBnY2MvdGVzdHN1aXRlL0NoYW5nZUxvZzoNCj4+PiAN Cj4+PiAgICAgICAgKiBnY2MudGFyZ2V0L2FhcmNoNjQvc3ZlL2NscnNiXzEuYzogQWRqdXN0IGNo ZWNrZXIuDQo+Pj4gICAgICAgICogZ2NjLnRhcmdldC9hYXJjaDY0L3N2ZS9jbHpfMS5jOiBEaXR0 by4NCj4+PiAgICAgICAgKiBnY2MudGFyZ2V0L2FhcmNoNjQvc3ZlL3BvcGNvdW50XzEuYzogRGl0 dG8uDQo+Pj4gICAgICAgICogZ2NjLnRhcmdldC9yaXNjdi9ydnYvYXV0b3ZlYy91bm9wL3BvcGNv dW50LmM6IERpdHRvLg0KPj4+IA0KPj4+IFNpZ25lZC1vZmYtYnk6IFBhbiBMaSA8cGFuMi5saUBp bnRlbC5jb20+DQo+Pj4gLS0tDQo+Pj4gZ2NjL2ludGVybmFsLWZuLmNjICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgIDMgKystDQo+Pj4gZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0 L2FhcmNoNjQvc3ZlL2NscnNiXzEuYyAgICAgIHwgIDMgKy0tDQo+Pj4gZ2NjL3Rlc3RzdWl0ZS9n Y2MudGFyZ2V0L2FhcmNoNjQvc3ZlL2Nsel8xLmMgICAgICAgIHwgIDMgKy0tDQo+Pj4gZ2NjL3Rl c3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNoNjQvc3ZlL3BvcGNvdW50XzEuYyAgIHwgIDMgKy0tDQo+ Pj4gLi4uL2djYy50YXJnZXQvcmlzY3YvcnZ2L2F1dG92ZWMvdW5vcC9wb3Bjb3VudC5jICAgIHwg IDIgKy0NCj4+PiBnY2MvdHJlZS12ZWN0LXN0bXRzLmNjICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCAxMyAtLS0tLS0tLS0tLS0tDQo+Pj4gNiBmaWxlcyBjaGFuZ2VkLCA2IGluc2VydGlv bnMoKyksIDIxIGRlbGV0aW9ucygtKQ0KPj4+IA0KPj4+IGRpZmYgLS1naXQgYS9nY2MvaW50ZXJu YWwtZm4uY2MgYi9nY2MvaW50ZXJuYWwtZm4uY2MNCj4+PiBpbmRleCA2MWQ1YTllNDc3Mi4uMTdj MGY0YzM4MDUgMTAwNjQ0DQo+Pj4gLS0tIGEvZ2NjL2ludGVybmFsLWZuLmNjDQo+Pj4gKysrIGIv Z2NjL2ludGVybmFsLWZuLmNjDQo+Pj4gQEAgLTI4MSw3ICsyODEsOCBAQCBleHBhbmRfZm5fdXNp bmdfaW5zbiAoZ2NhbGwgKnN0bXQsIGluc25fY29kZSBpY29kZSwgdW5zaWduZWQgaW50IG5vdXRw dXRzLA0KPj4+ICAgICAgICBlbWl0X21vdmVfaW5zbiAobGhzX3J0eCwgb3BzWzBdLnZhbHVlKTsN Cj4+PiAgICAgICBlbHNlDQo+Pj4gICAgICAgIHsNCj4+PiAtICAgICAgICAgZ2NjX2NoZWNraW5n X2Fzc2VydCAoSU5URUdSQUxfVFlQRV9QIChUUkVFX1RZUEUgKGxocykpKTsNCj4+PiArICAgICAg ICAgZ2NjX2NoZWNraW5nX2Fzc2VydCAoSU5URUdSQUxfVFlQRV9QIChUUkVFX1RZUEUgKGxocykp DQo+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHx8IFZFQ1RPUl9JTlRFR0VSX1RZ UEVfUCAoVFJFRV9UWVBFIChsaHMpKSk7DQo+PiANCj4+IENhbiB5b3UgZXhwbGFpbiB3aHkgdGhp cyBpcyBuZWNlc3Nhcnk/ICBJbiBwYXJ0aWN1bGFyIHdoYXQgaXMgbGhzX3J0eA0KPj4gbW9kZSB2 cyBvcHNbMF0udmFsdWUgbW9kZT8NCj4+IA0KPj4+ICAgICAgICAgIGNvbnZlcnRfbW92ZSAobGhz X3J0eCwgb3BzWzBdLnZhbHVlLCAwKTsNCj4+IA0KPj4gSSdtIG5vdCBzdXJlIGNvbnZlcnRfbW92 ZSBoYW5kbGVzIHZlY3RvciBtb2RlcyBjb3JyZWN0bHkuICBSaWNoYXJkDQo+PiBwcm9iYWJseSBh ZGRlZCB0aGlzIGNvZGUsIENDZWQuDQo+PiANCj4+IFJpY2hhcmQuDQo+PiANCj4+PiAgICAgICAg fQ0KPj4+ICAgICB9DQo+Pj4gZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9h YXJjaDY0L3N2ZS9jbHJzYl8xLmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC9z dmUvY2xyc2JfMS5jDQo+Pj4gaW5kZXggYmRjOTg1NmZhYWYuLjk0MGQwOGJiYzdiIDEwMDY0NA0K Pj4+IC0tLSBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0L3N2ZS9jbHJzYl8xLmMN Cj4+PiArKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC9zdmUvY2xyc2JfMS5j DQo+Pj4gQEAgLTE4LDUgKzE4LDQgQEAgY2xyc2JfNjQgKHVuc2lnbmVkIGludCAqcmVzdHJpY3Qg ZHN0LCB1aW50NjRfdCAqcmVzdHJpY3Qgc3JjLCBpbnQgc2l6ZSkNCj4+PiB9DQo+Pj4gDQo+Pj4g LyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHtcdGNsc1x0elswLTldK1wucywg cFswLTddL20sIHpbMC05XStcLnNcbn0gMSB9IH0gKi8NCj4+PiAtLyogeyBkZy1maW5hbCB7IHNj YW4tYXNzZW1ibGVyLXRpbWVzIHtcdGNsc1x0elswLTldK1wuZCwgcFswLTddL20sIHpbMC05XStc LmRcbn0gMiB9IH0gKi8NCj4+PiAtLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVz IHtcdHV6cDFcdHpbMC05XStcLnMsIHpbMC05XStcLnMsIHpbMC05XStcLnNcbn0gMSB9IH0gKi8N Cj4+PiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHtcdGNsc1x0elswLTld K1wuZCwgcFswLTddL20sIHpbMC05XStcLmRcbn0gMSB9IH0gKi8NCj4+PiBkaWZmIC0tZ2l0IGEv Z2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNoNjQvc3ZlL2Nsel8xLmMgYi9nY2MvdGVzdHN1 aXRlL2djYy50YXJnZXQvYWFyY2g2NC9zdmUvY2x6XzEuYw0KPj4+IGluZGV4IDBjN2E0ZTZkNzY4 Li41OGI4ZmY0MDZkMiAxMDA2NDQNCj4+PiAtLS0gYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQv YWFyY2g2NC9zdmUvY2x6XzEuYw0KPj4+ICsrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9h YXJjaDY0L3N2ZS9jbHpfMS5jDQo+Pj4gQEAgLTE4LDUgKzE4LDQgQEAgY2x6XzY0ICh1bnNpZ25l ZCBpbnQgKnJlc3RyaWN0IGRzdCwgdWludDY0X3QgKnJlc3RyaWN0IHNyYywgaW50IHNpemUpDQo+ Pj4gfQ0KPj4+IA0KPj4+IC8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7XHRj bHpcdHpbMC05XStcLnMsIHBbMC03XS9tLCB6WzAtOV0rXC5zXG59IDEgfSB9ICovDQo+Pj4gLS8q IHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7XHRjbHpcdHpbMC05XStcLmQsIHBb MC03XS9tLCB6WzAtOV0rXC5kXG59IDIgfSB9ICovDQo+Pj4gLS8qIHsgZGctZmluYWwgeyBzY2Fu LWFzc2VtYmxlci10aW1lcyB7XHR1enAxXHR6WzAtOV0rXC5zLCB6WzAtOV0rXC5zLCB6WzAtOV0r XC5zXG59IDEgfSB9ICovDQo+Pj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1l cyB7XHRjbHpcdHpbMC05XStcLmQsIHBbMC03XS9tLCB6WzAtOV0rXC5kXG59IDEgfSB9ICovDQo+ Pj4gZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0L3N2ZS9wb3Bj b3VudF8xLmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC9zdmUvcG9wY291bnRf MS5jDQo+Pj4gaW5kZXggZGZiNmY0YWM3YTUuLjBlYmE4OTgzMDdjIDEwMDY0NA0KPj4+IC0tLSBh L2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0L3N2ZS9wb3Bjb3VudF8xLmMNCj4+PiAr KysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC9zdmUvcG9wY291bnRfMS5jDQo+ Pj4gQEAgLTE4LDUgKzE4LDQgQEAgcG9wY291bnRfNjQgKHVuc2lnbmVkIGludCAqcmVzdHJpY3Qg ZHN0LCB1aW50NjRfdCAqcmVzdHJpY3Qgc3JjLCBpbnQgc2l6ZSkNCj4+PiB9DQo+Pj4gDQo+Pj4g LyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHtcdGNudFx0elswLTldK1wucywg cFswLTddL20sIHpbMC05XStcLnNcbn0gMSB9IH0gKi8NCj4+PiAtLyogeyBkZy1maW5hbCB7IHNj YW4tYXNzZW1ibGVyLXRpbWVzIHtcdGNudFx0elswLTldK1wuZCwgcFswLTddL20sIHpbMC05XStc LmRcbn0gMiB9IH0gKi8NCj4+PiAtLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVz IHtcdHV6cDFcdHpbMC05XStcLnMsIHpbMC05XStcLnMsIHpbMC05XStcLnNcbn0gMSB9IH0gKi8N Cj4+PiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHtcdGNudFx0elswLTld K1wuZCwgcFswLTddL20sIHpbMC05XStcLmRcbn0gMSB9IH0gKi8NCj4+PiBkaWZmIC0tZ2l0IGEv Z2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9hdXRvdmVjL3Vub3AvcG9wY291bnQu YyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYXV0b3ZlYy91bm9wL3BvcGNv dW50LmMNCj4+PiBpbmRleCA1ODVhNTIyYWE4MS4uZTZlM2M3MGY5MjcgMTAwNjQ0DQo+Pj4gLS0t IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9hdXRvdmVjL3Vub3AvcG9wY291 bnQuYw0KPj4+ICsrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYXV0b3Zl Yy91bm9wL3BvcGNvdW50LmMNCj4+PiBAQCAtMTQ2MSw0ICsxNDYxLDQgQEAgbWFpbiAoKQ0KPj4+ ICAgUlVOX0FMTCAoKQ0KPj4+IH0NCj4+PiANCj4+PiAtLyogeyBkZy1maW5hbCB7IHNjYW4tdHJl ZS1kdW1wLXRpbWVzICJMT09QIFZFQ1RPUklaRUQiIDIyOSAidmVjdCIgfSB9ICovDQo+Pj4gKy8q IHsgZGctZmluYWwgeyBzY2FuLXRyZWUtZHVtcC10aW1lcyAiTE9PUCBWRUNUT1JJWkVEIiAzODQg InZlY3QiIH0gfSAqLw0KPj4+IGRpZmYgLS1naXQgYS9nY2MvdHJlZS12ZWN0LXN0bXRzLmNjIGIv Z2NjL3RyZWUtdmVjdC1zdG10cy5jYw0KPj4+IGluZGV4IGE5MjAwNzY3ZjY3Li5mYTRjYTA2MzRl OCAxMDA2NDQNCj4+PiAtLS0gYS9nY2MvdHJlZS12ZWN0LXN0bXRzLmNjDQo+Pj4gKysrIGIvZ2Nj L3RyZWUtdmVjdC1zdG10cy5jYw0KPj4+IEBAIC0zMzYxLDE5ICszMzYxLDYgQEAgdmVjdG9yaXph YmxlX2NhbGwgKHZlY19pbmZvICp2aW5mbywNCj4+PiANCj4+PiAgICAgICByZXR1cm4gZmFsc2U7 DQo+Pj4gICAgIH0NCj4+PiAtICAvKiBGT1JOT1c6IHdlIGRvbid0IHlldCBzdXBwb3J0IG1peHR1 cmVzIG9mIHZlY3RvciBzaXplcyBmb3IgY2FsbHMsDQo+Pj4gLSAgICAganVzdCBtaXh0dXJlcyBv ZiBudW5pdHMuICBFLmcuIERJLT5TSSB2ZXJzaW9ucyBvZiBfX2J1aWx0aW5fY3R6Kg0KPj4+IC0g ICAgIGFyZSB0cmFkaXRpb25hbGx5IHZlY3Rvcml6ZWQgYXMgdHdvIFZuREktPlZuREkgSUZOX0NU WnMgZm9sbG93ZWQNCj4+PiAtICAgICBieSBhIHBhY2sgb2YgdGhlIHR3byB2ZWN0b3JzIGludG8g YW4gU0kgdmVjdG9yLiAgV2Ugd291bGQgbmVlZA0KPj4+IC0gICAgIHNlcGFyYXRlIGNvZGUgdG8g aGFuZGxlIGRpcmVjdCBWbkRJLT5WblNJIElGTl9DVFpzLiAgKi8NCj4+PiAtICBpZiAoVFlQRV9T SVpFICh2ZWN0eXBlX2luKSAhPSBUWVBFX1NJWkUgKHZlY3R5cGVfb3V0KSkNCj4+PiAtICAgIHsN Cj4+PiAtICAgICAgaWYgKGR1bXBfZW5hYmxlZF9wICgpKQ0KPj4+IC0gICAgICAgZHVtcF9wcmlu dGZfbG9jIChNU0dfTUlTU0VEX09QVElNSVpBVElPTiwgdmVjdF9sb2NhdGlvbiwNCj4+PiAtICAg ICAgICAgICAgICAgICAgICAgICAgIm1pc21hdGNoZWQgdmVjdG9yIHNpemVzICVUIGFuZCAlVFxu IiwNCj4+PiAtICAgICAgICAgICAgICAgICAgICAgICAgdmVjdHlwZV9pbiwgdmVjdHlwZV9vdXQp Ow0KPj4+IC0gICAgICByZXR1cm4gZmFsc2U7DQo+Pj4gLSAgICB9DQo+Pj4gDQo+Pj4gICBpZiAo VkVDVE9SX0JPT0xFQU5fVFlQRV9QICh2ZWN0eXBlX291dCkNCj4+PiAgICAgICAhPSBWRUNUT1Jf Qk9PTEVBTl9UWVBFX1AgKHZlY3R5cGVfaW4pKQ0KPj4+IC0tDQo+Pj4gMi4zNC4xDQo+Pj4gDQo=