From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Qiantan Hong Newsgroups: gmane.emacs.devel Subject: Re: [PATCH] Add user content APIs for WebKit Xwidgets Date: Sun, 23 Oct 2022 09:11:39 +0000 Message-ID: References: <763B89A7-AF82-4AAB-A0E9-A04D9958CAE8@stanford.edu> <878rlianx4.fsf@yahoo.com> <9FF9464C-1369-423E-A581-A900D132845F@stanford.edu> <87zgdy97t1.fsf@yahoo.com> <63F00459-018C-4634-9B52-A89A3ED1AA36@stanford.edu> <0F1442C8-45E2-408C-B310-448B4A26496E@stanford.edu> <87ilklnxei.fsf@yahoo.com> <0583C9C0-9953-414E-9F51-2AEFDF225BD9@stanford.edu> <87edv8mlr5.fsf@yahoo.com> <264D17C0-1FD6-44BA-B8BE-28249374F7A2@stanford.edu> <877d10mfsw.fsf@yahoo.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="_004_B9632193A02B41C99443C6B390A025AAstanfordedu_" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="34077"; mail-complaints-to="usenet@ciao.gmane.io" Cc: "emacs-devel@gnu.org" To: Po Lu , Andrew De Angelis Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Oct 24 06:07:20 2022 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1omokC-0008dK-4m for ged-emacs-devel@m.gmane-mx.org; Mon, 24 Oct 2022 06:07:20 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1omnc1-00039o-Vl; Sun, 23 Oct 2022 22:54:50 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1omX1N-0007rS-O2 for emacs-devel@gnu.org; Sun, 23 Oct 2022 05:11:54 -0400 Original-Received: from mx0a-00000d04.pphosted.com ([148.163.149.245]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1omX1I-0004Fc-OM for emacs-devel@gnu.org; Sun, 23 Oct 2022 05:11:53 -0400 Original-Received: from pps.filterd (m0102885.ppops.net [127.0.0.1]) by mx0a-00000d04.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 29N994Jb016158; Sun, 23 Oct 2022 02:11:45 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=stanford.edu; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : mime-version; s=pps05272020; bh=0wELI4cN02G7mU86qSTt7Kg0+H2zvNgC8Bwr2UWkEto=; b=aRRsfDwq/qWElwyZ7slNcruac6En5LIZ0sLh/4Di24NzXFe2Mo/ol66VROmF9mqcW6pt oqA54YYBGRIWG3C+u6ZLF2SewOsEdlLT1BSruhGQfqd9GbZrHQ0OZdGdY+T7mQVeYrzX jnthlv9iLEt1L3qblSCRP4SUiObunf3FOgArWTz/Ght69ZWN2k/PoxXqRLnWMef1YaA3 LSuhoUeJi24lkJLQOQpUQY+6PMxaZ17hOVkkw94IL5c9Wd2B3E8/AU3qC5PFnqvyMCeT CpKhwwAiyT/0GR67VNkN9HiLRf3kRHApZxusW+45T2d3si7pBtyaPrHlZAmJHRY8PCl4 mQ== Original-Received: from mx0a-00000d03.pphosted.com (mx0a-00000d03.pphosted.com [148.163.149.244]) by mx0a-00000d04.pphosted.com (PPS) with ESMTPS id 3kccnyjr7c-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sun, 23 Oct 2022 02:11:44 -0700 Original-Received: from pps.filterd (m0102881.ppops.net [127.0.0.1]) by mx0a-00000d03.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 29N5XdiN027228; Sun, 23 Oct 2022 02:11:44 -0700 Original-Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-00000d03.pphosted.com (PPS) with ESMTPS id 3kcdey3c57-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sun, 23 Oct 2022 02:11:44 -0700 Original-Received: from m0102881.ppops.net (m0102881.ppops.net [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 29N98l3D028242; Sun, 23 Oct 2022 02:11:43 -0700 Original-Received: from mx0a-00000d06.pphosted.com (mx0a-00000d06.pphosted.com [148.163.135.119]) by mx0a-00000d03.pphosted.com (PPS) with ESMTPS id 3kcdey3c55-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sun, 23 Oct 2022 02:11:43 -0700 Original-Received: from pps.filterd (m0167934.ppops.net [127.0.0.1]) by mx0a-00000d06.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 29N8u2PJ018790; Sun, 23 Oct 2022 02:11:43 -0700 Original-Received: from nam12-bn8-obe.outbound.protection.outlook.com (mail-bn8nam12lp2174.outbound.protection.outlook.com [104.47.55.174]) by mx0a-00000d06.pphosted.com (PPS) with ESMTPS id 3kcdxa0s9m-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sun, 23 Oct 2022 02:11:43 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=G3pSfbqLH8k5RR4V7c5k5Cp/fQo02xTFG+2YMOk50HpkuiLaa9cyNqUVCvsqZlaNBkaAywmVZNFjmUsbZYnHcuOCBJgY35iBfylqAVAEHgIpiSzKUAsNDl32wajFsyQh+fuXnCRu2+1ckeY8hIufWzBP7URktWcbsLDESd5uxC7/fWa5JCpsj4eDMgGugLM9uuP9SG4j2UFHwCNtPjC81C+sHzVM8JqNlBDeMy2mIE1S/i4vO290Txvexg6w62fO0bVgnOtcRATcmoAEkzRfGZF8hp/0/W6cn05wSYilVB66khWJ0qnuNIH3uSJRk933/eBxcRQBJXyqw0hbres9zA== 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=0wELI4cN02G7mU86qSTt7Kg0+H2zvNgC8Bwr2UWkEto=; b=Offm/VWj3pVc1QBJMQnZBj3hUBbH2cL6XaYVgzZk8/oDPzZ8weAf9ufY2t8ejTs4kUu4iKwehLVnzQ++V9ISt7UV7VVOFnH90U/qKZJ3uwlx2uyxlbdMmR9vQ5E1dNdwXXJGIIccno32pO8+sxGBaf3bWjLe6yeaXnRbGCpFwIRNzNOO8N6AmuufkZq8l49TBEto32XIdkiMHW/mLN0Cqg9oYNvNgmyDYFvE9nqlcj6zfsJxxzXaxCYuAT1pkdsfz0EWhMVJEJRdHnB4SVSIWZObCJS64dxFX4GKv2/mlh4KKfSIBVNKZ2Re23g4w6gjH63aC9JeOsIBe71GyILWyQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=stanford.edu; dmarc=pass action=none header.from=stanford.edu; dkim=pass header.d=stanford.edu; arc=none Original-Received: from BY5PR02MB6771.namprd02.prod.outlook.com (2603:10b6:a03:200::10) by IA1PR02MB9110.namprd02.prod.outlook.com (2603:10b6:208:42e::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5723.33; Sun, 23 Oct 2022 09:11:39 +0000 Original-Received: from BY5PR02MB6771.namprd02.prod.outlook.com ([fe80::3671:4788:7f6a:e30c]) by BY5PR02MB6771.namprd02.prod.outlook.com ([fe80::3671:4788:7f6a:e30c%7]) with mapi id 15.20.5746.021; Sun, 23 Oct 2022 09:11:39 +0000 Thread-Topic: [PATCH] Add user content APIs for WebKit Xwidgets Thread-Index: AQHY35b+ISYWRDJ9PkKWpJcMREJMA64NdpqagAAC6wCAAAZiuoAA5JIAgABJuICAAGkDAIAAOsDygADL8ACAAFObloAAIKuAgAADXkSACyozAA== In-Reply-To: <877d10mfsw.fsf@yahoo.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes x-ms-publictraffictype: Email x-ms-traffictypediagnostic: BY5PR02MB6771:EE_|IA1PR02MB9110:EE_ x-ms-office365-filtering-correlation-id: 8104c589-ed98-42ca-e45c-08dab4d697fe x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 3D3uACQvaTLwIbJntCQaMZAXpHtup9hcM7J1iqJh15jNDMG78hUu+848FoTD/18ZKEbbgp0wDs62UnUPL5a3AmSel4xEqpUk9rO88ukHOcxOD97TfCNdoI5wuokmnTJFLRv9QfRQ/MLdD9aLQXb3Z6cd1BcmfglVH6TztZWN7iSzOm1CdBelXPlCWnPd/cdst9m0jWwOR37dP2vBRu3IjGRkRiYntU6O93Zl1Vn5xWMXnp2BtveLvV15ywrQv3Y0sCHWGtBilxOwWlfGqeiE1XLrh2F727UP5h90tMgUjYAWG7+5AkR0RA1BK8ssys5GvUfZhvEFGhiOzC64uRoMmRUQqfkGFKO7DzisDHFIjkRy9CXM0RN80B5OcRc4z4MxhqmKL9asBuSTSS+QJAycmzS/FjUHGhrfaLxmfm52ikZXik35tevKY+HwcRKF5ML2NeddihieGAa7QyyIK1buN9n3ZlXsm8kqgfWk3jq53gRxpAgZJ+TQgTP//5STbM3OC9CzRWsDMD/1eb0iLdlhP83h77r5r/qeBbCxEomNIMqHs4uk07J4OGU1zh0OBkonBY780+MQ0Se50QdX8c5w0c4GfPpPRsQDPKvn+LVchaxw+kXSWEYOQ/dJ0AOXoRh9TxMeZ4YRzgSukaOnwp4igPkTsRm48nKLv6lbPa4fUjf5/1myEr/trn7SItIn06O2Wqk8HvyG3PyqtbMpzspqTSKK7HnOsrZGtJJplVQlRTZ4jbEgHu2AEBTFYPpyj eq/oe0nwamZ/iDAONQU5CSgPYJTpIKHjnVjGHi+Ol/G1n0= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BY5PR02MB6771.namprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(346002)(39860400002)(396003)(136003)(376002)(366004)(451199015)(86362001)(66946007)(83380400001)(36756003)(186003)(6506007)(6512007)(2616005)(4326008)(8936002)(5660300002)(75432002)(53546011)(2906002)(26005)(41300700001)(38070700005)(478600001)(33656002)(64756008)(8676002)(66446008)(41320700001)(71200400001)(66476007)(76116006)(66556008)(38100700002)(91956017)(6486002)(122000001)(786003)(99936003)(316002)(110136005)(45980500001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?YUNuZWhzclNxTFlrSkJEQU1XeG5JVzNaOSs3OExlUUU2V2lNUDNEWUxUSkpx?= =?utf-8?B?OG44eUhqNGJZbkNJSnF5QXV1UkJHU25BNUtkUlJpekFscjduWjQvUFBiVHQ0?= =?utf-8?B?dUQ5aTVLUXFyNDVPMWdUODN1UmZYcmV1d1BBcWNiNmZ4cGhLd2ZVSkF0cDlS?= =?utf-8?B?enpOU0dJVHlkQkU4Z0xDZGcyYmJXMDk1UkpKanE3MkxwR3FnMTI1aFcxZjZT?= =?utf-8?B?cFZDNlp1RkQxcDVkdjZMbXJkT01UMWdwbGg4dFZ3UVpUdG1kclRQcFFuVmVL?= =?utf-8?B?REc0UkdROGdNc2J1d2dTNXVVY0lTbXE3U2wrWmI0aUpkMkk2dHBvbFpJd29Y?= =?utf-8?B?TjNwbHNVS0ZSMUJFZDlVMGVmVnI0U1ZzQjRNZ1orRmczbVp5MEdOR1lpVjVH?= =?utf-8?B?aGI4bUl1OVJwQWVuczdha0hUQllsckdiVHZWUWpyUG02bERtaUpRYjZhSjJM?= =?utf-8?B?VVpoN1k1cG9MYUdNa29yeDhOeStNcFFPTko5QlZ3S3QvOVNzZExva2RrS3Vw?= =?utf-8?B?NGo1eFpDM1pZNFhQVzdpellkOXJBMWhvSERXbTVZZGRIYlAxSEpZQnFveXBr?= =?utf-8?B?dlptL3R3a0JMdU9UQXhteGVTdFEwYlVnQTNSQW1rYzAvRXMrdlV4a0ZEd0ZG?= =?utf-8?B?bi9FR1FWZStrUUN1c3YxVng3U0FmUWhFUFhBek X-OriginatorOrg: stanford.edu X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BY5PR02MB6771.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8104c589-ed98-42ca-e45c-08dab4d697fe X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Oct 2022 09:11:39.2255 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 396573cb-f378-4b68-9bc8-15755c0c51f3 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: QlfIVTkc4r6NfY43oxAx4SE/7bGr4suAXNzMMlEOBiwkOhY1QGuaNxfo08G1v5JM/BRp/GygbpoBhRBHk3q39w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR02MB9110 x-proofpoint-stanford-dir: outbound X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-10-21_04,2022-10-21_01,2022-06-22_01 X-Proofpoint-GUID: r0YbWdmoyR9u_3OYY4MN1VAtFa-fJg5l X-Proofpoint-ORIG-GUID: r0YbWdmoyR9u_3OYY4MN1VAtFa-fJg5l X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-10-21_04,2022-10-21_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 malwarescore=0 mlxlogscore=999 impostorscore=0 spamscore=0 phishscore=0 clxscore=1015 bulkscore=0 lowpriorityscore=0 suspectscore=0 adultscore=100 priorityscore=1501 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2209130000 definitions=main-2210230058 Received-SPF: pass client-ip=148.163.149.245; envelope-from=qthong@stanford.edu; helo=mx0a-00000d04.pphosted.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Sun, 23 Oct 2022 22:21:59 -0400 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: "Emacs-devel" Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:298301 Archived-At: --_004_B9632193A02B41C99443C6B390A025AAstanfordedu_ Content-Type: multipart/alternative; boundary="_000_B9632193A02B41C99443C6B390A025AAstanfordedu_" --_000_B9632193A02B41C99443C6B390A025AAstanfordedu_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgUG8sDQoNCkkgdHJpZWQgdG8gZml4IHRoZXNlIHByb2JsZW1zLCBhbmQgSSd2ZSBhdHRhY2hl ZCBteSB1cGRhdGVkIHBhdGNoLg0KDQpTb21lIHJlbWFpbmluZyBxdWVzdGlvbnMvaXNzdWVzOg0K DQoxLiBJIHRoaW5rIHRoYXQgY29ubmVjdGluZyBzaWduYWwgdG8gc2NyaXB0b3IgKG5vdyBjYWxs ZWQgbWFuYWdlcikNCmRvZXNuJ3QgcmVxdWlyZSB4dyB0byBiZSBtYXJrZWQsIGJlY2F1c2UgaXQg aXMgYWxzbyBkZXN0cm95ZWQgd2hlbiB4dw0KaXMga2lsbGVkPyBTdXBwb3NlIHRoYXQgbm93IEkg cmVmZXJlbmNlIGNvdW50IGNvcnJlY3RseSwgbWFuYWdlcg0Kc2hvdWxkIGJlIG93bmVkIGJ5IHh3 LCBqdXN0IGxpa2UgdGhlIFdlYktpdFdlYkNvbnRleHQgYXQgbGluZSAzNjMuDQoyLiBJIGRpZG4n dCBmaXggdGhlIEFSQyBhc3N1bXB0aW9uIGluIE5TIHBvcnQuIEkgaG9wZSBpdCBjYW4gYmUgZml4 ZWQNCmluIG9uZSBiYXRjaCBieSBBbmRyZXcuIFRoYW5rIHlvdSBBbmRyZXchDQoNCkJlc3QsDQpR aWFudGFuDQoNCg0KPiBPbiBPY3QgMTUsIDIwMjIsIGF0IDExOjQxIFBNLCBQbyBMdSA8bHVhbmdy dW9AeWFob28uY29tPiB3cm90ZToNCj4NCj4gUWlhbnRhbiBIb25nIDxxdGhvbmdAc3RhbmZvcmQu ZWR1PiB3cml0ZXM6DQo+DQo+PiBZZXMgSeKAmW0gYXdhcmUuIEkgd2FzIGZpeGluZyB0aGVtIG9u ZSBieSBvbmUuDQo+DQo+IFRoYW5rcy4NCj4NCj4+IEl0IHNlZW1zIHRoYXQgZXhpc3RpbmcgY29k ZSBpcyBjb25uZWN0aW5nIHNpZ25hbCB3aXRob3V0IGFkZGluZyB0aGUgbWFya2luZw0KPj4gY29k ZSwgZ3Vlc3MgdGhhdCBzaG91bGQgYmUgZml4ZWQgdG9vLi4uDQo+DQo+IFdoZXJlPyAgRXhpc3Rp bmcgY29kZSBzaG91bGQgbm90IGNvbm5lY3Qgc2lnbmFscyB0byBhbnl0aGluZyBvdGhlciB0aGFu DQo+IGB3aWRnZXRfb3NyJyB3aGljaCBpcyBkZXN0cm95ZWQgdXBvbiB0aGUgeHdpZGdldCBiZWlu ZyBraWxsZWQsIGENCj4gcHJlcmVxdWlzaXRlIGZvciBiZWluZyBtYXJrZWQgYnkgR0MuDQo+DQo+ PiBUaG9zZSB0d28gcHJvYmxlbXMgYWJvdmUsIEkgZG9u4oCZdCBoYXZlIGFueSBleGlzdGluZyBj b2RlIHRvIGltaXRhdGUsIHNvIGl0DQo+PiB3b3VsZCB0YWtlIGEgd2hpbGUgdG8gbGVhcm4gdGhl IGNvZGViYXNlIGZvciBtZSB0byBiZSBhYmxlIHRvIGZpeCB0aGVtLg0KPj4gSeKAmW0gYWxzbyBu b3Qgc3VyZSBpZiBJIHNob3VsZCBqdXN0IG1ha2UgbXkgcGFydCBjb25mb3JtaW5nIG9yIGFsc28g Zml4IGFsbCBleGlzdGluZyBjb2RlLg0KPj4gSXMgaXQgYWNjZXB0YWJsZSB0aGF0IEkgc3VibWl0 IGEgcGF0Y2ggKHdpdGggb3RoZXIgcHJvYmxlbXMgZml4ZWQpIGZpcnN0LA0KPj4gYW5kIHdvcmsg b24gZml4aW5nIHRoZXNlIHR3byBjbGFzc2VzIG9mIHByb2JsZW1zIGxhdGVyPw0KPg0KPiBJJ2Qg cmF0aGVyIG5vdCBpbnN0YWxsIGNvZGUgd2l0aCBrbm93biBtZW1vcnkgbWFuYWdlbWVudCBpc3N1 ZXMsDQo+IGVzcGVjaWFsbHkgbm90IHRoaXMgY2xvc2UgdG8gdGhlIEVtYWNzIDI5IHJlbGVhc2Uu DQoNCg== --_000_B9632193A02B41C99443C6B390A025AAstanfordedu_ Content-Type: text/html; charset="utf-8" Content-ID: <9236E8C301244E4EBD6B9E80E6B196E3@namprd02.prod.outlook.com> Content-Transfer-Encoding: base64 PGh0bWw+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0i dGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjwvaGVhZD4NCjxib2R5Pg0KPGRpdiBjbGFzcz0i Qm9keUZyYWdtZW50Ij48Zm9udCBzaXplPSIyIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExcHQ7 Ij4NCjxkaXYgY2xhc3M9IlBsYWluVGV4dCI+SGkgUG8sPGJyPg0KPGJyPg0KSSB0cmllZCB0byBm aXggdGhlc2UgcHJvYmxlbXMsIGFuZCBJJ3ZlIGF0dGFjaGVkIG15IHVwZGF0ZWQgcGF0Y2guPGJy Pg0KPGJyPg0KU29tZSByZW1haW5pbmcgcXVlc3Rpb25zL2lzc3Vlczo8YnI+DQo8YnI+DQoxLiBJ IHRoaW5rIHRoYXQgY29ubmVjdGluZyBzaWduYWwgdG8gc2NyaXB0b3IgKG5vdyBjYWxsZWQgbWFu YWdlcik8YnI+DQpkb2Vzbid0IHJlcXVpcmUgeHcgdG8gYmUgbWFya2VkLCBiZWNhdXNlIGl0IGlz IGFsc28gZGVzdHJveWVkIHdoZW4geHc8YnI+DQppcyBraWxsZWQ/IFN1cHBvc2UgdGhhdCBub3cg SSByZWZlcmVuY2UgY291bnQgY29ycmVjdGx5LCBtYW5hZ2VyPGJyPg0Kc2hvdWxkIGJlIG93bmVk IGJ5IHh3LCBqdXN0IGxpa2UgdGhlIFdlYktpdFdlYkNvbnRleHQgYXQgbGluZSAzNjMuPGJyPg0K Mi4gSSBkaWRuJ3QgZml4IHRoZSBBUkMgYXNzdW1wdGlvbiBpbiBOUyBwb3J0LiBJIGhvcGUgaXQg Y2FuIGJlIGZpeGVkPGJyPg0KaW4gb25lIGJhdGNoIGJ5IEFuZHJldy4gVGhhbmsgeW91IEFuZHJl dyE8YnI+DQo8YnI+DQpCZXN0LDxicj4NClFpYW50YW48YnI+DQo8YnI+DQo8L2Rpdj4NCjwvc3Bh bj48L2ZvbnQ+PC9kaXY+DQo8ZGl2IGNsYXNzPSJCb2R5RnJhZ21lbnQiPjxmb250IHNpemU9IjIi PjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTFwdDsiPg0KPGRpdiBjbGFzcz0iUGxhaW5UZXh0Ij48 YnI+DQomZ3Q7IE9uIE9jdCAxNSwgMjAyMiwgYXQgMTE6NDEgUE0sIFBvIEx1ICZsdDtsdWFuZ3J1 b0B5YWhvby5jb20mZ3Q7IHdyb3RlOjxicj4NCiZndDsgPGJyPg0KJmd0OyBRaWFudGFuIEhvbmcg Jmx0O3F0aG9uZ0BzdGFuZm9yZC5lZHUmZ3Q7IHdyaXRlczo8YnI+DQomZ3Q7IDxicj4NCiZndDsm Z3Q7IFllcyBJ4oCZbSBhd2FyZS4gSSB3YXMgZml4aW5nIHRoZW0gb25lIGJ5IG9uZS48YnI+DQom Z3Q7IDxicj4NCiZndDsgVGhhbmtzLjxicj4NCiZndDsgPGJyPg0KJmd0OyZndDsgSXQgc2VlbXMg dGhhdCBleGlzdGluZyBjb2RlIGlzIGNvbm5lY3Rpbmcgc2lnbmFsIHdpdGhvdXQgYWRkaW5nIHRo ZSBtYXJraW5nPGJyPg0KJmd0OyZndDsgY29kZSwgZ3Vlc3MgdGhhdCBzaG91bGQgYmUgZml4ZWQg dG9vLi4uPGJyPg0KJmd0OyA8YnI+DQomZ3Q7IFdoZXJlPyZuYnNwOyBFeGlzdGluZyBjb2RlIHNo b3VsZCBub3QgY29ubmVjdCBzaWduYWxzIHRvIGFueXRoaW5nIG90aGVyIHRoYW48YnI+DQomZ3Q7 IGB3aWRnZXRfb3NyJyB3aGljaCBpcyBkZXN0cm95ZWQgdXBvbiB0aGUgeHdpZGdldCBiZWluZyBr aWxsZWQsIGE8YnI+DQomZ3Q7IHByZXJlcXVpc2l0ZSBmb3IgYmVpbmcgbWFya2VkIGJ5IEdDLjxi cj4NCiZndDsgPGJyPg0KJmd0OyZndDsgVGhvc2UgdHdvIHByb2JsZW1zIGFib3ZlLCBJIGRvbuKA mXQgaGF2ZSBhbnkgZXhpc3RpbmcgY29kZSB0byBpbWl0YXRlLCBzbyBpdDxicj4NCiZndDsmZ3Q7 IHdvdWxkIHRha2UgYSB3aGlsZSB0byBsZWFybiB0aGUgY29kZWJhc2UgZm9yIG1lIHRvIGJlIGFi bGUgdG8gZml4IHRoZW0uPGJyPg0KJmd0OyZndDsgSeKAmW0gYWxzbyBub3Qgc3VyZSBpZiBJIHNo b3VsZCBqdXN0IG1ha2UgbXkgcGFydCBjb25mb3JtaW5nIG9yIGFsc28gZml4IGFsbCBleGlzdGlu ZyBjb2RlLjxicj4NCiZndDsmZ3Q7IElzIGl0IGFjY2VwdGFibGUgdGhhdCBJIHN1Ym1pdCBhIHBh dGNoICh3aXRoIG90aGVyIHByb2JsZW1zIGZpeGVkKSBmaXJzdCw8YnI+DQomZ3Q7Jmd0OyBhbmQg d29yayBvbiBmaXhpbmcgdGhlc2UgdHdvIGNsYXNzZXMgb2YgcHJvYmxlbXMgbGF0ZXI/PGJyPg0K Jmd0OyA8YnI+DQomZ3Q7IEknZCByYXRoZXIgbm90IGluc3RhbGwgY29kZSB3aXRoIGtub3duIG1l bW9yeSBtYW5hZ2VtZW50IGlzc3Vlcyw8YnI+DQomZ3Q7IGVzcGVjaWFsbHkgbm90IHRoaXMgY2xv c2UgdG8gdGhlIEVtYWNzIDI5IHJlbGVhc2UuPGJyPg0KPGJyPg0KPC9kaXY+DQo8L3NwYW4+PC9m b250PjwvZGl2Pg0KPC9ib2R5Pg0KPC9odG1sPg0K --_000_B9632193A02B41C99443C6B390A025AAstanfordedu_-- --_004_B9632193A02B41C99443C6B390A025AAstanfordedu_ Content-Type: text/plain; name="0001-Implement-WebKit-user-scripts-and-script-message-han.txt" Content-Description: 0001-Implement-WebKit-user-scripts-and-script-message-han.txt Content-Disposition: attachment; filename="0001-Implement-WebKit-user-scripts-and-script-message-han.txt"; size=20864; creation-date="Sun, 23 Oct 2022 09:11:39 GMT"; modification-date="Sun, 23 Oct 2022 09:11:39 GMT" Content-ID: Content-Transfer-Encoding: base64 RnJvbSBmYjM3NWU1ZTM1ODJhNWM5Y2ZlM2QxMWMxMDM2ZmU5YWZmZTFiMTJmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQ0KRnJvbTogUWlhbnRhbiBIb25nIDxxaG9uZ0BhbHVtLm1pdC5lZHU+DQpE YXRlOiBTdW4sIDIzIE9jdCAyMDIyIDAxOjU1OjUzIC0wNzAwDQpTdWJqZWN0OiBbUEFUQ0hdIElt cGxlbWVudCBXZWJLaXQgdXNlciBzY3JpcHRzIGFuZCBzY3JpcHQgbWVzc2FnZSBoYW5kbGVycy4N Cg0KKiBzcmMveHdpZGdldC5oIChzdG9yZV94d2lkZ2V0X3NjcmlwdF9tZXNzYWdlX2V2ZW50KTog c3RvcmUgc2NyaXB0DQptZXNzYWdlIGV2ZW50IGludG8gZXZlbnQgcXVldWUNCiogc3JjL3h3aWRn ZXQuYyAoc3RvcmVfeHdpZGdldF9zY3JpcHRfbWVzc2FnZV9ldmVudCk6DQooRnh3aWRnZXRfd2Vi a2l0X2FkZF91c2VyX3NjcmlwdCk6DQooRnh3aWRnZXRfd2Via2l0X3JlbW92ZV9hbGxfdXNlcl9z Y3JpcHRzKTogdXNlciBzY3JpcHQgcHJpbWl0aXZlcw0KKEZ4d2lkZ2V0X3dlYmtpdF9yZWdpc3Rl cl9zY3JpcHRfbWVzc2FnZSk6DQooRnh3aWRnZXRfd2Via2l0X3VucmVnaXN0ZXJfc2NyaXB0X21l c3NhZ2UpOiBzY3JpcHQgbWVzc2FnZSBoYW5kbGVyDQpwcmltaXRpdmVzLg0KKiBzcmMvbnN4d2lk Z2V0LmMgKG5zeHdpZGdldF93ZWJraXRfYWRkX3VzZXJfc2NyaXB0KToNCihuc3h3aWRnZXRfd2Vi a2l0X3JlbW92ZV9hbGxfdXNlcl9zY3JpcHRzKToNCihuc3h3aWRnZXRfd2Via2l0X3JlZ2lzdGVy X3NjcmlwdF9tZXNzYWdlKToNCihuc3h3aWRnZXRfd2Via2l0X3VucmVnaXN0ZXJfc2NyaXB0X21l c3NhZ2UpOiBOUyBpbXBsZW1lbnRhdGlvbiBvZg0KdXNlciBzY3JpcHQgYW5kIHNjcmlwdCBtZXNz YWdlIGhhbmRsZXIuIENoYW5nZWQgbmFtaW5nIG9mIGEgcHJldmlvdXMNCnVzZWQgc2NyaXB0IG1l c3NhZ2UgaGFuZGxlciB0byBhdm9pZCBuYW1lc3BhY2UgcG9sbHV0aW9uLg0KKiBzcmMvbnN4d2lk Z2V0LmggKG5zeHdpZGdldF93ZWJraXRfYWRkX3VzZXJfc2NyaXB0KToNCihuc3h3aWRnZXRfd2Vi a2l0X3JlbW92ZV9hbGxfdXNlcl9zY3JpcHRzKToNCihuc3h3aWRnZXRfd2Via2l0X3JlZ2lzdGVy X3NjcmlwdF9tZXNzYWdlKToNCihuc3h3aWRnZXRfd2Via2l0X3VucmVnaXN0ZXJfc2NyaXB0X21l c3NhZ2UpOg0KKiBsaXNwL3h3aWRnZXQuZWwgKHh3aWRnZXQtd2Via2l0LWNhbGxiYWNrKToNCih4 d2lkZ2V0LXdlYmtpdC1wdXNoLXNjcmlwdC1tZXNzYWdlLWhhbmRsZXIpOg0KKHh3aWRnZXQtd2Vi a2l0LXBvcC1zY3JpcHQtbWVzc2FnZS1oYW5kbGVyKTogbGV0IGxpc3AgcmVjb2duaXplIGFuZA0K ZGlzcGF0Y2ggc2NyaXB0IG1lc3NhZ2UgZXZlbnRzDQoqIGRvYy9saXNwcmVmL2Rpc3BsYXkudGV4 aTogZG9jdW1lbnQgdXNlciBzY3JpcHQgYW5kIHNjcmlwdCBtZXNzYWdlDQpoYW5kbGVyDQotLS0N CiBkb2MvbGlzcHJlZi9kaXNwbGF5LnRleGkgfCAgNTIgKysrKysrKysrKysNCiBsaXNwL3h3aWRn ZXQuZWwgICAgICAgICAgfCAgMzYgKysrKysrKy0NCiBzcmMvbnN4d2lkZ2V0LmggICAgICAgICAg fCAgIDUgKw0KIHNyYy9uc3h3aWRnZXQubSAgICAgICAgICB8ICA4MCArKysrKysrKysrKysrKy0t DQogc3JjL3h3aWRnZXQuYyAgICAgICAgICAgIHwgMTkyICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKw0KIHNyYy94d2lkZ2V0LmggICAgICAgICAgICB8ICAgNCArDQogNiBm aWxlcyBjaGFuZ2VkLCAzNjEgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkNCg0KZGlmZiAt LWdpdCBhL2RvYy9saXNwcmVmL2Rpc3BsYXkudGV4aSBiL2RvYy9saXNwcmVmL2Rpc3BsYXkudGV4 aQ0KaW5kZXggMTVjZDU1MThkOS4uNDhiMzhmZjgzNyAxMDA2NDQNCi0tLSBhL2RvYy9saXNwcmVm L2Rpc3BsYXkudGV4aQ0KKysrIGIvZG9jL2xpc3ByZWYvZGlzcGxheS50ZXhpDQpAQCAtNzI3OSw2 ICs3Mjc5LDU4IEBAIFh3aWRnZXRzDQogQHZhcntkZWZhdWx0fSB3YXMgb21pdHRlZC4NCiBAZW5k IGRlZnVuDQogDQorQGRlZnVuIHh3aWRnZXQtd2Via2l0LWFkZC11c2VyLXNjcmlwdCB4d2lkZ2V0 IHNjcmlwdCB3aGVuIG1haW4tZnJhbWUtb25seQ0KK1RoaXMgZnVuY3Rpb24gYWRkcyB0aGUgc3Bl Y2lmaWVkIHVzZXIgc2NyaXB0IEBjb2Rle3NjcmlwdH0gdG8gdGhlDQorYnJvd3NlciB3aWRnZXQg c3BlY2lmaWVkIGJ5IEB2YXJ7eHdpZGdldH0uDQorDQorVXNlciBzY3JpcHRzIGFyZSBjdXN0b20g SmF2YVNjcmlwdCBjb2RlIHRoYXQgaXMgYXV0b21hdGljYWxseSBydW4gaW4NCit0aGUgcGFnZXMg b2YgdGhlIGJyb3dzZXIgd2lkZ2V0LiAgVGhlIEB2YXJ7d2hlbn0gYXJndW1lbnQgc3BlY2lmaWVz DQord2hlbiBAdmFye3NjcmlwdH0gaXMgcnVuLCBpdCBjYW4gYmUgb25lIG9mIHRoZSBmb2xsb3dp bmc6DQorDQorQHRhYmxlIEBjb2RlDQorQGl0ZW0gc3RhcnQNCitAdmFye3NjcmlwdH0gaXMgcnVu IHVwb24gZmlyc3QgbG9hZGluZyBhIGRvY3VtZW50Lg0KK0BpdGVtIGVuZA0KK0B2YXJ7c2NyaXB0 fSBpcyBydW4gYWZ0ZXIgYSBkb2N1bWVudCBsb2Fkcy4NCitAZW5kIHRhYmxlDQorDQorVGhlIEB2 YXJ7bWFpbi1mcmFtZS1vbmx5fSBhcmd1bWVudCBzcGVjaWZpZXMgd2hpY2ggSFRNTCBmcmFtZXMg cnVuDQorQHZhcntzY3JpcHR9LiAgSWYgQHZhcnttYWluLWZyYW1lLW9ubHl9IGlzIEBjb2Rle25p bH0sIEB2YXJ7c2NyaXB0fSBpcw0KK3J1biBpbiBhbGwgSFRNTCBmcmFtZXMuICBPdGhlcndpc2Us IEB2YXJ7c2NyaXB0fSBpcyBvbmx5IHJ1biBpbg0KK3RvcC1sZXZlbCBIVE1MIGZyYW1lcy4NCitA ZW5kIGRlZnVuDQorDQorQGRlZnVuIHh3aWRnZXQtd2Via2l0LXJlbW92ZS1hbGwtdXNlci1zY3Jp cHRzIHh3aWRnZXQNCitUaGlzIGZ1bmN0aW9ucyByZW1vdmVzIGFsbCB1c2VyIHNjcmlwdHMgZnJv bSB0aGUgYnJvd3NlciB3aWRnZXQNCitzcGVjaWZpZWQgYnkgQHZhcnt4d2lkZ2V0fS4NCitAZW5k IGRlZnVuDQorDQorQGRlZnVuIHh3aWRnZXQtd2Via2l0LXB1c2gtc2NyaXB0LW1lc3NhZ2UtaGFu ZGxlciB4d2lkZ2V0IG5hbWUgaGFuZGxlcg0KK1RoaXMgZnVuY3Rpb24gcmVnaXN0ZXJzIEB2YXJ7 aGFuZGxlcn0gdG8gaGFuZGxlIHNjcmlwdCBtZXNzYWdlcyB3aXRoDQorbmFtZXNwYWNlIHNwZWNp ZmllZCBieSBzdHJpbmcgQHZhcntuYW1lfSBmb3IgdGhlIGJyb3dzZXIgd2lkZ2V0DQorc3BlY2lm aWVkIGJ5IEB2YXJ7eHdpZGdldH0uDQorDQorU2NyaXB0IG1lc3NhZ2UgZW5hYmxlcyBKYXZhU2Ny aXB0IGNvZGUgcnVuIGluIGJyb3dzZXIgd2lkZ2V0cyB0byBwYXNzDQorZGF0YSB0byBFbWFjcy4g IEFmdGVyIEB2YXJ7aGFuZGxlcn0gaXMgcmVnaXN0ZXJlZCB3aXRoIEB2YXJ7bmFtZX0sDQorcnVu bmluZyB0aGUgZm9sbG93aW5nIEphdmFTY3JpcHQgY29kZQ0KKw0KK0BleGFtcGxlDQord2luZG93 LndlYmtpdC5tZXNzYWdlSGFuZGxlcnMuQHZhcntuYW1lfS5wb3N0TWVzc2FnZShAdmFye0pTT2Jq ZWN0fSk7DQorQGVuZCBleGFtcGxlDQorDQorQG5vaW5kZW50IGNhdXNlcyBAdmFye2hhbmRsZXJ9 IHRvIGJlIGNhbGxlZCB3aXRoIHR3byBhcmd1bWVudHM6IEB2YXJ7eHdpZGdldH0NCithbmQgQHZh cntKU09iamVjdH0gY29udmVydGVkIHRvIGEgTGlzcCBvYmplY3QuDQorQGVuZCBkZWZ1bg0KKw0K K0BkZWZ1biB4d2lkZ2V0LXdlYmtpdC1wb3Atc2NyaXB0LW1lc3NhZ2UtaGFuZGxlcg0KK1RoaXMg ZnVuY3Rpb25zIHJlbW92ZXMgYSBoYW5kbGVyIHJlZ2lzdGVyZWQgd2l0aCBuYW1lc3BhY2Ugc3Bl Y2lmaWVkDQorYnkgc3RyaW5nIEB2YXJ7bmFtZX0gZm9yIHRoZSBicm93c2VyIHdpZGdldCBzcGVj aWZpZWQgYnkNCitAdmFye3h3aWRnZXR9Lg0KKw0KK1RoZSByZXR1cm5lZCB2YWx1ZSBpcyB0aGUg cmVtb3ZlZCBoYW5kbGVyIGZ1bmN0aW9uLCBvciBAY29kZXtuaWx9IGlmDQorbm8gc3VjaCBoYW5k bGVyIGlzIGZvdW5kLg0KK0BlbmQgZGVmdW4NCisNCiBAZGVmdW4geHdpZGdldC13ZWJraXQtZ2V0 LXRpdGxlIHh3aWRnZXQNCiBUaGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIHRpdGxlIG9mIEB2YXJ7 eHdpZGdldH0gYXMgYSBzdHJpbmcuDQogQGVuZCBkZWZ1bg0KZGlmZiAtLWdpdCBhL2xpc3AveHdp ZGdldC5lbCBiL2xpc3AveHdpZGdldC5lbA0KaW5kZXggNDFhMTE5MGM2NC4uNDE4YTlmM2FjYyAx MDA2NDQNCi0tLSBhL2xpc3AveHdpZGdldC5lbA0KKysrIGIvbGlzcC94d2lkZ2V0LmVsDQpAQCAt NDg1LDcgKzQ4NSw0MSBAQCB4d2lkZ2V0LXdlYmtpdC1jYWxsYmFjaw0KICAgICAgICAgICAgKGxl dCAoKHByb2MgKG50aCAzIGxhc3QtaW5wdXQtZXZlbnQpKQ0KICAgICAgICAgICAgICAgICAgKGFy ZyAgKG50aCA0IGxhc3QtaW5wdXQtZXZlbnQpKSkNCiAgICAgICAgICAgICAgKGZ1bmNhbGwgcHJv YyBhcmcpKSkNCi0gICAgICAgICAgKHQgKHh3aWRnZXQtbG9nICJ1bmhhbmRsZWQgZXZlbnQ6JXMi IHh3aWRnZXQtZXZlbnQtdHlwZSkpKSkpDQorICAgICAgICAgICgoZXEgeHdpZGdldC1ldmVudC10 eXBlICdzY3JpcHQtbWVzc2FnZSkNCisgICAgICAgICAgIChsZXQgKChuYW1lIChudGggMyBsYXN0 LWlucHV0LWV2ZW50KSkNCisgICAgICAgICAgICAgICAgICh2YWx1ZSAobnRoIDQgbGFzdC1pbnB1 dC1ldmVudCkpKQ0KKyAgICAgICAgICAgICAobGV0ICgoaGFuZGxlci1wYWlyIChhc3NvYyBuYW1l ICh4d2lkZ2V0LWdldCB4d2lkZ2V0ICdzY3JpcHQtbWVzc2FnZS1oYW5kbGVycykpKSkNCisgICAg ICAgICAgICAgICAoaWYgaGFuZGxlci1wYWlyDQorICAgICAgICAgICAgICAgICAgIChmdW5jYWxs IChjZHIgaGFuZGxlci1wYWlyKSB4d2lkZ2V0IHZhbHVlKQ0KKyAgICAgICAgICAgICAgICAgKHh3 aWRnZXQtbG9nICJ1bmhhbmRsZWQgc2NyaXB0IG1lc3NhZ2U6ICVzIiBuYW1lKSkpKSkNCisgICAg ICAgICAgKHQgKHh3aWRnZXQtbG9nICJ1bmhhbmRsZWQgZXZlbnQ6ICVzIiB4d2lkZ2V0LWV2ZW50 LXR5cGUpKSkpKQ0KKw0KKyhkZWZ1biB4d2lkZ2V0LXdlYmtpdC1wdXNoLXNjcmlwdC1tZXNzYWdl LWhhbmRsZXIgKHh3aWRnZXQgbmFtZSBoYW5kbGVyKQ0KKyAgIlJlZ2lzdGVyIEhBTkRMRVIgdG8g aGFuZGxlIHNjcmlwdCBtZXNzYWdlcyB3aXRoIE5BTUUgZm9yIFdlYktpdCBYV0lER0VULg0KKw0K K0hBTkRMRVIgd2lsbCBiZSBjYWxsZWQgd2l0aCB0d28gYXJndW1lbnRzOiB0aGUgV2ViS2l0IFhX SURHRVQgYW5kDQordGhlIEphdmFTY3JpcHQgb2JqZWN0IHBhc3NlZCBmcm9tIHRoZSBzY3JpcHQg bWVzc2FnZSBjb252ZXJ0ZWQgdG8NCithIExpc3Agb2JqZWN0LiINCisgIChsZXQgKChvbGQtYWxp c3QgKHh3aWRnZXQtZ2V0IHh3aWRnZXQgJ3NjcmlwdC1tZXNzYWdlLWhhbmRsZXJzKSkpDQorICAg ICh1bmxlc3MgKGFzc29jIG5hbWUgb2xkLWFsaXN0KQ0KKyAgICAgICh4d2lkZ2V0LXdlYmtpdC1y ZWdpc3Rlci1zY3JpcHQtbWVzc2FnZSAoeHdpZGdldC13ZWJraXQtY3VycmVudC1zZXNzaW9uKSBu YW1lKSkNCisgICAgKHh3aWRnZXQtcHV0IHh3aWRnZXQgJ3NjcmlwdC1tZXNzYWdlLWhhbmRsZXJz DQorICAgICAgICAgICAgICAgICAoY29ucyAoY29ucyBuYW1lIGhhbmRsZXIpIG9sZC1hbGlzdCkp KQ0KKyAgbmFtZSkNCisNCisoZGVmdW4geHdpZGdldC13ZWJraXQtcG9wLXNjcmlwdC1tZXNzYWdl LWhhbmRsZXIgKHh3aWRnZXQgbmFtZSkNCisgICJSZW1vdmUgYSBoYW5kbGVyIHJlZ2lzdGVyZWQg d2l0aCBOQU1FIGZvciBXZWJLaXQgWFdJREdFVC4NCisNCitSZXR1cm4gdGhlIHJlbW92ZWQgaGFu ZGxlciBmdW5jdGlvbiwgb3IgTklMIGlmIG5vIHN1Y2ggaGFuZGxlciBpcw0KK2ZvdW5kLiINCisg IChsZXQqICgob2xkLWFsaXN0ICh4d2lkZ2V0LWdldCB4d2lkZ2V0ICdzY3JpcHQtbWVzc2FnZS1o YW5kbGVycykpDQorICAgICAgICAgKGhhbmRsZXItcGFpciAoYXNzb2MgbmFtZSBvbGQtYWxpc3Qp KSkNCisgICAgKHdoZW4gaGFuZGxlci1wYWlyDQorICAgICAgKGxldCAoKG5ldy1hbGlzdCAoZGVs cSBoYW5kbGVyLXBhaXIgb2xkLWFsaXN0KSkpDQorICAgICAgICAoeHdpZGdldC1wdXQgeHdpZGdl dCAnc2NyaXB0LW1lc3NhZ2UtaGFuZGxlcnMgbmV3LWFsaXN0KQ0KKyAgICAgICAgKHVubGVzcyAo YXNzb2MgbmFtZSBuZXctYWxpc3QpDQorICAgICAgICAgICh4d2lkZ2V0LXdlYmtpdC11bnJlZ2lz dGVyLXNjcmlwdC1tZXNzYWdlICh4d2lkZ2V0LXdlYmtpdC1jdXJyZW50LXNlc3Npb24pIG5hbWUp KSkNCisgICAgICAoY2RyIGhhbmRsZXItcGFpcikpKSkNCiANCiAoZGVmdmFyIGJvb2ttYXJrLW1h a2UtcmVjb3JkLWZ1bmN0aW9uKQ0KICh3aGVuIChtZW1xIHdpbmRvdy1zeXN0ZW0gJyhtYWMgbnMp KQ0KZGlmZiAtLWdpdCBhL3NyYy9uc3h3aWRnZXQuaCBiL3NyYy9uc3h3aWRnZXQuaA0KaW5kZXgg NjY2NTA5NzQ0YS4uY2QxZGMxYmMyYyAxMDA2NDQNCi0tLSBhL3NyYy9uc3h3aWRnZXQuaA0KKysr IGIvc3JjL25zeHdpZGdldC5oDQpAQCAtNDAsNiArNDAsMTEgQEAgI2RlZmluZSBOU1hXSURHRVRf SF9JTkNMVURFRA0KIHZvaWQgbnN4d2lkZ2V0X3dlYmtpdF9leGVjdXRlX3NjcmlwdCAoc3RydWN0 IHh3aWRnZXQgKnh3LCBjb25zdCBjaGFyICpzY3JpcHQsDQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBMaXNwX09iamVjdCBmdW4pOw0KIA0KK3ZvaWQgbnN4d2lkZ2V0X3dl YmtpdF9hZGRfdXNlcl9zY3JpcHQgKHN0cnVjdCB4d2lkZ2V0ICp4dywgY29uc3QgY2hhciAqc2Ny aXB0LA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBpbmplY3Rp b25fdGltZV9zdGFydCwgaW50IG1haW5fZnJhbWVfb25seSk7DQordm9pZCBuc3h3aWRnZXRfd2Vi a2l0X3JlbW92ZV9hbGxfdXNlcl9zY3JpcHRzIChzdHJ1Y3QgeHdpZGdldCAqeHcpOw0KK0xpc3Bf T2JqZWN0IG5zeHdpZGdldF93ZWJraXRfcmVnaXN0ZXJfc2NyaXB0X21lc3NhZ2UgKHN0cnVjdCB4 d2lkZ2V0ICp4dywgY29uc3QgY2hhciAqbmFtZSk7DQordm9pZCBuc3h3aWRnZXRfd2Via2l0X3Vu cmVnaXN0ZXJfc2NyaXB0X21lc3NhZ2UgKHN0cnVjdCB4d2lkZ2V0ICp4dywgY29uc3QgY2hhciAq bmFtZSk7DQogLyogRnVuY3Rpb25zIGZvciB4d2lkZ2V0IG1vZGVsLiAgKi8NCiANCiAjaWZkZWYg X19PQkpDX18NCmRpZmYgLS1naXQgYS9zcmMvbnN4d2lkZ2V0Lm0gYi9zcmMvbnN4d2lkZ2V0Lm0N CmluZGV4IGJlMGViYTBiY2IuLjkwMTI3N2Y5YTMgMTAwNjQ0DQotLS0gYS9zcmMvbnN4d2lkZ2V0 Lm0NCisrKyBiL3NyYy9uc3h3aWRnZXQubQ0KQEAgLTg4LDcgKzg4LDcgQEAgLSAoaWQpaW5pdFdp dGhGcmFtZTooQ0dSZWN0KWZyYW1lDQogICAgICAgICBAIk1vemlsbGEvNS4wIChNYWNpbnRvc2g7 IEludGVsIE1hYyBPUyBYIDEwXzEyXzYpIg0KICAgICAgICAgQCIgQXBwbGVXZWJLaXQvNjAzLjMu OCAoS0hUTUwsIGxpa2UgR2Vja28pIg0KICAgICAgICAgQCIgVmVyc2lvbi8xMS4wLjEgU2FmYXJp LzYwMy4zLjgiOw0KLSAgICAgIFtzY3JpcHRvciBhZGRTY3JpcHRNZXNzYWdlSGFuZGxlcjpzZWxm IG5hbWU6QCJrZXlEb3duIl07DQorICAgICAgW3NjcmlwdG9yIGFkZFNjcmlwdE1lc3NhZ2VIYW5k bGVyOnNlbGYgbmFtZTpAIl9feHdpZGdldF9pbnRlcm5hbF9rZXlEb3duIl07DQogICAgICAgW3Nj cmlwdG9yIGFkZFVzZXJTY3JpcHQ6W1tXS1VzZXJTY3JpcHQgYWxsb2NdDQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBpbml0V2l0aFNvdXJjZTp4d1NjcmlwdA0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGluamVjdGlvblRpbWU6DQpAQCAtMjc1LDIzICsyNzUsMzQg QEAgKyAodm9pZClpbml0aWFsaXplDQogICAgICAgQCJ9Ig0KICAgICAgIEAiZnVuY3Rpb24geHdL ZXlEb3duKGV2ZW50KSB7Ig0KICAgICAgIEAiICBpZiAoZXZlbnQuY3RybEtleSAmJiBldmVudC5r ZXkgPT0gJ2cnKSB7Ig0KLSAgICAgIEAiICAgIHdpbmRvdy53ZWJraXQubWVzc2FnZUhhbmRsZXJz LmtleURvd24ucG9zdE1lc3NhZ2UoJ0MtZycpOyINCisgICAgICBAIiAgICB3aW5kb3cud2Via2l0 Lm1lc3NhZ2VIYW5kbGVycy5fX3h3aWRnZXRfaW50ZXJuYWxfa2V5RG93bi5wb3N0TWVzc2FnZSgn Qy1nJyk7Ig0KICAgICAgIEAiICB9Ig0KICAgICAgIEAifSINCiAgICAgICBAImRvY3VtZW50LmFk ZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCB4d0tleURvd24pOyINCiAgICAgICA7DQogfQ0KIA0K K3N0YXRpYyBMaXNwX09iamVjdCBqc190b19saXNwIChpZCB2YWx1ZSk7DQorDQogLyogQ29uZmly bWluZyB0byBXS1NjcmlwdE1lc3NhZ2VIYW5kbGVyLCBsaXN0ZW5zIGNvbmNlcm5pbmcga2V5RG93 biBpbg0KICAgIHdlYmtpdC4gQ3VycmVudGx5ICdDLWcnLiAgKi8NCiAtICh2b2lkKXVzZXJDb250 ZW50Q29udHJvbGxlcjooV0tVc2VyQ29udGVudENvbnRyb2xsZXIgKil1c2VyQ29udGVudENvbnRy b2xsZXINCiAgICAgICBkaWRSZWNlaXZlU2NyaXB0TWVzc2FnZTooV0tTY3JpcHRNZXNzYWdlICop bWVzc2FnZQ0KIHsNCi0gIGlmIChbbWVzc2FnZS5ib2R5IGlzRXF1YWxUb1N0cmluZzpAIkMtZyJd KQ0KKyAgaWYgKFttZXNzYWdlLm5hbWUgaXNFcXVhbFRvU3RyaW5nOkAiX194d2lkZ2V0X2ludGVy bmFsX2tleURvd24iXSkNCiAgICAgew0KLSAgICAgIC8qIEp1c3QgZ2l2ZSB1cCBmb2N1cywgbm8g cmVsYXkgIkMtZyIgdG8gZW1hY3MsIGFub3RoZXIgIkMtZyINCi0gICAgICAgICBmb2xsb3dzIHdp bGwgYmUgaGFuZGxlZCBieSBlbWFjcy4gICovDQotICAgICAgW3NlbGYud2luZG93IG1ha2VGaXJz dFJlc3BvbmRlcjpzZWxmLnh3LT54di0+ZW1hY3N3aW5kb3ddOw0KKyAgICAgIGlmIChbbWVzc2Fn ZS5ib2R5IGlzRXF1YWxUb1N0cmluZzpAIkMtZyJdKQ0KKyAgICAgICAgew0KKyAgICAgICAgICAv KiBKdXN0IGdpdmUgdXAgZm9jdXMsIG5vIHJlbGF5ICJDLWciIHRvIGVtYWNzLCBhbm90aGVyICJD LWciDQorICAgICAgICAgICAgIGZvbGxvd3Mgd2lsbCBiZSBoYW5kbGVkIGJ5IGVtYWNzLiAgKi8N CisgICAgICAgICAgW3NlbGYud2luZG93IG1ha2VGaXJzdFJlc3BvbmRlcjpzZWxmLnh3LT54di0+ ZW1hY3N3aW5kb3ddOw0KKyAgICAgICAgfQ0KKyAgICB9DQorICBlbHNlDQorICAgIHsNCisgICAg ICBzdG9yZV94d2lkZ2V0X3NjcmlwdF9tZXNzYWdlX2V2ZW50IChzZWxmLnh3LA0KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UubmFtZS5VVEY4U3RyaW5n LA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpzX3RvX2xpc3Ag KG1lc3NhZ2UuYm9keSkpOw0KICAgICB9DQogfQ0KIA0KQEAgLTQzNyw2ICs0NDgsNjEgQEAgLSAo dm9pZCl1c2VyQ29udGVudENvbnRyb2xsZXI6KFdLVXNlckNvbnRlbnRDb250cm9sbGVyICopdXNl ckNvbnRlbnRDb250cm9sbGVyDQogICAgIH1dOw0KIH0NCiANCit2b2lkDQorbnN4d2lkZ2V0X3dl YmtpdF9hZGRfdXNlcl9zY3JpcHQgKHN0cnVjdCB4d2lkZ2V0ICp4dywgY29uc3QgY2hhciAqc2Ny aXB0LA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaW5qZWN0aW9uX3Rp bWVfc3RhcnQsIGludCBtYWluX2ZyYW1lX29ubHkpDQorew0KKyAgWHdXZWJWaWV3ICp4d1dlYlZp ZXcgPSAoWHdXZWJWaWV3ICopIHh3LT54d1dpZGdldDsNCisgIFdLVXNlckNvbnRlbnRDb250cm9s bGVyICpzY3JpcHRvciA9IHh3V2ViVmlldy5jb25maWd1cmF0aW9uLnVzZXJDb250ZW50Q29udHJv bGxlcjsNCisNCisgIE5TU3RyaW5nICpqYXZhc2NyaXB0U3RyaW5nID0gW05TU3RyaW5nIHN0cmlu Z1dpdGhVVEY4U3RyaW5nOnNjcmlwdF07DQorICBXS1VzZXJTY3JpcHRJbmplY3Rpb25UaW1lIGlu amVjdGlvblRpbWUgPSBpbmplY3Rpb25fdGltZV9zdGFydD8NCisgICAgV0tVc2VyU2NyaXB0SW5q ZWN0aW9uVGltZUF0RG9jdW1lbnRTdGFydCA6IFdLVXNlclNjcmlwdEluamVjdGlvblRpbWVBdERv Y3VtZW50RW5kOw0KKyAgV0tVc2VyU2NyaXB0ICp1c2VyU2NyaXB0ID0gW1tXS1VzZXJTY3JpcHQg YWxsb2NdDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRXaXRoU291cmNlOiBq YXZhc2NyaXB0U3RyaW5nDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmplY3Rp b25UaW1lOiBpbmplY3Rpb25UaW1lDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZv ck1haW5GcmFtZU9ubHk6IG1haW5fZnJhbWVfb25seV07DQorICBbc2NyaXB0b3IgYWRkVXNlclNj cmlwdDogdXNlclNjcmlwdF07DQorfQ0KKw0KK3ZvaWQNCituc3h3aWRnZXRfd2Via2l0X3JlbW92 ZV9hbGxfdXNlcl9zY3JpcHRzIChzdHJ1Y3QgeHdpZGdldCAqeHcpDQorew0KKyAgWHdXZWJWaWV3 ICp4d1dlYlZpZXcgPSAoWHdXZWJWaWV3ICopIHh3LT54d1dpZGdldDsNCisgIFdLVXNlckNvbnRl bnRDb250cm9sbGVyICpzY3JpcHRvciA9IHh3V2ViVmlldy5jb25maWd1cmF0aW9uLnVzZXJDb250 ZW50Q29udHJvbGxlcjsNCisNCisgIFtzY3JpcHRvciByZW1vdmVBbGxVc2VyU2NyaXB0c107DQor fQ0KKw0KK0xpc3BfT2JqZWN0DQorbnN4d2lkZ2V0X3dlYmtpdF9yZWdpc3Rlcl9zY3JpcHRfbWVz c2FnZSAoc3RydWN0IHh3aWRnZXQgKnh3LCBjb25zdCBjaGFyICpuYW1lKQ0KK3sNCisgIFh3V2Vi VmlldyAqeHdXZWJWaWV3ID0gKFh3V2ViVmlldyAqKSB4dy0+eHdXaWRnZXQ7DQorICBXS1VzZXJD b250ZW50Q29udHJvbGxlciAqc2NyaXB0b3IgPSB4d1dlYlZpZXcuY29uZmlndXJhdGlvbi51c2Vy Q29udGVudENvbnRyb2xsZXI7DQorDQorICBOU1N0cmluZyAqbWVzc2FnZU5hbWUgPSBbTlNTdHJp bmcgc3RyaW5nV2l0aFVURjhTdHJpbmc6bmFtZV07DQorDQorICBAdHJ5DQorICAgIHsNCisgICAg ICBbc2NyaXB0b3IgYWRkU2NyaXB0TWVzc2FnZUhhbmRsZXI6eHdXZWJWaWV3IG5hbWU6bWVzc2Fn ZU5hbWVdOw0KKyAgICB9DQorICBAY2F0Y2ggKE5TRXhjZXB0aW9uICplKQ0KKyAgICB7DQorICAg ICAgZXJyb3IgKCJGYWlsZWQgdG8gcmVnaXN0ZXIgV2ViS2l0IHNjcmlwdCBtZXNzYWdlIGhhbmRs ZXIiKTsNCisgICAgfQ0KKyAgcmV0dXJuIFFuaWw7DQorfQ0KKw0KK3ZvaWQNCituc3h3aWRnZXRf d2Via2l0X3VucmVnaXN0ZXJfc2NyaXB0X21lc3NhZ2UgKHN0cnVjdCB4d2lkZ2V0ICp4dywgY29u c3QgY2hhciAqbmFtZSkNCit7DQorICBYd1dlYlZpZXcgKnh3V2ViVmlldyA9IChYd1dlYlZpZXcg KikgeHctPnh3V2lkZ2V0Ow0KKyAgV0tVc2VyQ29udGVudENvbnRyb2xsZXIgKnNjcmlwdG9yID0g eHdXZWJWaWV3LmNvbmZpZ3VyYXRpb24udXNlckNvbnRlbnRDb250cm9sbGVyOw0KKw0KKyAgTlNT dHJpbmcgKm1lc3NhZ2VOYW1lID0gW05TU3RyaW5nIHN0cmluZ1dpdGhVVEY4U3RyaW5nOm5hbWVd Ow0KKyAgW3NjcmlwdG9yIHJlbW92ZVNjcmlwdE1lc3NhZ2VIYW5kbGVyRm9yTmFtZTptZXNzYWdl TmFtZV07DQorfQ0KKw0KIC8qIFdpbmRvdyBjb250YWluaW5nIGFuIHh3aWRnZXQuICAqLw0KIA0K IEBpbXBsZW1lbnRhdGlvbiBYd1dpbmRvdw0KQEAgLTQ2OSw3ICs1MzUsNyBAQCAtIChCT09MKWlz RmxpcHBlZCB7IHJldHVybiBZRVM7IH0NCiAgICAgICBXS1VzZXJDb250ZW50Q29udHJvbGxlciAq c2NyaXB0b3IgPQ0KICAgICAgICAgKChYd1dlYlZpZXcgKikgeHctPnh3V2lkZ2V0KS5jb25maWd1 cmF0aW9uLnVzZXJDb250ZW50Q29udHJvbGxlcjsNCiAgICAgICBbc2NyaXB0b3IgcmVtb3ZlQWxs VXNlclNjcmlwdHNdOw0KLSAgICAgIFtzY3JpcHRvciByZW1vdmVTY3JpcHRNZXNzYWdlSGFuZGxl ckZvck5hbWU6QCJrZXlEb3duIl07DQorICAgICAgW3NjcmlwdG9yIHJlbW92ZVNjcmlwdE1lc3Nh Z2VIYW5kbGVyRm9yTmFtZTpAIl9feHdpZGdldF9pbnRlcm5hbF9rZXlEb3duIl07DQogICAgICAg W3NjcmlwdG9yIHJlbGVhc2VdOw0KICAgICAgIGlmICh4dy0+eHYpDQogICAgICAgICB4dy0+eHYt Pm1vZGVsID0gUW5pbDsgLyogTWFrZSBzdXJlIHJlbGF0ZWQgdmlldyBzdGFsZS4gICovDQpkaWZm IC0tZ2l0IGEvc3JjL3h3aWRnZXQuYyBiL3NyYy94d2lkZ2V0LmMNCmluZGV4IDhiZGZhYjAyZmQu LjNjZGQ5NWY5NzAgMTAwNjQ0DQotLS0gYS9zcmMveHdpZGdldC5jDQorKysgYi9zcmMveHdpZGdl dC5jDQpAQCAtMTI2LDYgKzEyNiwxMSBAQCB3ZWJraXRfZGVjaWRlX3BvbGljeV9jYiAoV2ViS2l0 V2ViVmlldyAqLA0KIH07DQogDQogc3RhdGljIHZvaWQgZmluZF93aWRnZXQgKEd0a1dpZGdldCAq dCwgc3RydWN0IHdpZGdldF9zZWFyY2hfZGF0YSAqKTsNCisNCitzdGF0aWMgdm9pZCB3ZWJraXRf c2NyaXB0X21lc3NhZ2VfY2IgKFdlYktpdFVzZXJDb250ZW50TWFuYWdlciAqLA0KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdlYktpdEphdmFzY3JpcHRSZXN1bHQg KiwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncG9pbnRlcik7 DQorDQogI2VuZGlmDQogDQogI2lmZGVmIEhBVkVfUEdUSw0KQEAgLTM4MCw2ICszODUsOSBAQCBE RUZVTiAoIm1ha2UteHdpZGdldCIsDQogCSAgc2V0dGluZ3MgPSB3ZWJraXRfd2ViX3ZpZXdfZ2V0 X3NldHRpbmdzIChXRUJLSVRfV0VCX1ZJRVcgKHh3LT53aWRnZXRfb3NyKSk7DQogCSAgZ19vYmpl Y3Rfc2V0IChHX09CSkVDVCAoc2V0dGluZ3MpLCAiZW5hYmxlLWRldmVsb3Blci1leHRyYXMiLCBU UlVFLCBOVUxMKTsNCiAJfQ0KKyAgICAgIFdlYktpdFVzZXJDb250ZW50TWFuYWdlciAqbWFuYWdl ciA9IHdlYmtpdF91c2VyX2NvbnRlbnRfbWFuYWdlcl9uZXcgKCk7DQorICAgICAgeHctPndpZGdl dF9vc3IgPSB3ZWJraXRfd2ViX3ZpZXdfbmV3X3dpdGhfdXNlcl9jb250ZW50X21hbmFnZXIgKG1h bmFnZXIpOw0KKyAgICAgIGdfb2JqZWN0X3VucmVmIChtYW5hZ2VyKTsNCiANCiAgICAgICBndGtf d2lkZ2V0X3NldF9zaXplX3JlcXVlc3QgKEdUS19XSURHRVQgKHh3LT53aWRnZXRfb3NyKSwgeHct PndpZHRoLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeHctPmhlaWdodCk7 DQpAQCAtMjMwOCw2ICsyMzE2LDIxIEBAIHN0b3JlX3h3aWRnZXRfanNfY2FsbGJhY2tfZXZlbnQg KHN0cnVjdCB4d2lkZ2V0ICp4dywNCiAgIGtiZF9idWZmZXJfc3RvcmVfZXZlbnQgKCZldmVudCk7 DQogfQ0KIA0KK3ZvaWQNCitzdG9yZV94d2lkZ2V0X3NjcmlwdF9tZXNzYWdlX2V2ZW50IChzdHJ1 Y3QgeHdpZGdldCAqeHcsDQorCQkJCSAgICBjb25zdCBjaGFyICpuYW1lLA0KKwkJCQkgICAgTGlz cF9PYmplY3QgYm9keSkNCit7DQorICBzdHJ1Y3QgaW5wdXRfZXZlbnQgZXZlbnQ7DQorICBMaXNw X09iamVjdCB4d2w7DQorICBYU0VUWFdJREdFVCAoeHdsLCB4dyk7DQorICBFVkVOVF9JTklUIChl dmVudCk7DQorICBldmVudC5raW5kID0gWFdJREdFVF9FVkVOVDsNCisgIGV2ZW50LmZyYW1lX29y X3dpbmRvdyA9IFFuaWw7DQorICBldmVudC5hcmcgPSBsaXN0NCAoUXNjcmlwdF9tZXNzYWdlLCB4 d2wsIGJ1aWxkX3N0cmluZyAobmFtZSksIGJvZHkpOw0KKyAga2JkX2J1ZmZlcl9zdG9yZV9ldmVu dCAoJmV2ZW50KTsNCit9DQorDQogDQogI2lmZGVmIFVTRV9HVEsNCiBzdGF0aWMgdm9pZA0KQEAg LTI2MjIsNiArMjY0NSwyMSBAQCB3ZWJraXRfZGVjaWRlX3BvbGljeV9jYiAoV2ViS2l0V2ViVmll dyAqd2ViVmlldywNCiAgIH0NCiB9DQogDQorc3RhdGljIHZvaWQNCit3ZWJraXRfc2NyaXB0X21l c3NhZ2VfY2IgKFdlYktpdFVzZXJDb250ZW50TWFuYWdlciAqbWFuYWdlciwNCisJCQkgIFdlYktp dEphdmFzY3JpcHRSZXN1bHQgKmpzX3Jlc3VsdCwNCisJCQkgIGdwb2ludGVyIGRhdGEpDQorew0K KyAgc3RydWN0IHh3aWRnZXQgKnh3ID0gZ19vYmplY3RfZ2V0X2RhdGEgKEdfT0JKRUNUIChtYW5h Z2VyKSwNCisJCQkJCSAgWEdfWFdJREdFVCk7DQorICBKU0NWYWx1ZSAqdmFsdWUgPSB3ZWJraXRf amF2YXNjcmlwdF9yZXN1bHRfZ2V0X2pzX3ZhbHVlIChqc19yZXN1bHQpOw0KKyAgY29uc3QgY2hh ciAqYXJnID0gZGF0YTsNCisgIExpc3BfT2JqZWN0IGxpc3BfdmFsdWUgPSB3ZWJraXRfanNfdG9f bGlzcCAodmFsdWUpOw0KKyAgc3RvcmVfeHdpZGdldF9zY3JpcHRfbWVzc2FnZV9ldmVudCAoeHcs IGFyZywgbGlzcF92YWx1ZSk7DQorDQorICB3ZWJraXRfamF2YXNjcmlwdF9yZXN1bHRfdW5yZWYg KGpzX3Jlc3VsdCk7DQorfQ0KKw0KIHN0YXRpYyBnYm9vbGVhbg0KIHdlYmtpdF9zY3JpcHRfZGlh bG9nX2NiIChXZWJLaXRXZWJWaWV3ICp3ZWJ2aWV3LA0KIAkJCSBXZWJLaXRTY3JpcHREaWFsb2cg KnNjcmlwdF9kaWFsb2csDQpAQCAtMzE5OCw2ICszMjM2LDE1MSBAQCBERUZVTiAoInh3aWRnZXQt d2Via2l0LWV4ZWN1dGUtc2NyaXB0IiwNCiAgIHJldHVybiBRbmlsOw0KIH0NCiANCitERUZVTiAo Inh3aWRnZXQtd2Via2l0LWFkZC11c2VyLXNjcmlwdCIsDQorICAgICAgIEZ4d2lkZ2V0X3dlYmtp dF9hZGRfdXNlcl9zY3JpcHQsIFN4d2lkZ2V0X3dlYmtpdF9hZGRfdXNlcl9zY3JpcHQsDQorICAg ICAgIDQsIDQsIDAsDQorICAgICAgIGRvYzogLyogQWRkIHRoZSB1c2VyIHNjcmlwdCBTQ1JJUFQg dG8gdGhlIFdlYktpdCBYV0lER0VULg0KKw0KK1dIRU4gaXMgb25lIG9mIHRoZSBmb2xsb3dpbmcg dmFsdWVzLCBhbmQgc3BlY2lmaWVzIHdoZW4gdGhlIHNjcmlwdCBpcw0KK3J1bjoNCistIGBzdGFy dCcsIHdoaWNoIG1lYW5zIHRoZSBzY3JpcHQgaXMgcnVuIHVwb24gZmlyc3QgbG9hZGluZyBhIGRv Y3VtZW50Lg0KKy0gYGVuZCcsIHdoaWNoIG1lYW5zIHRoZSBzY3JpcHQgaXMgcnVuIGFmdGVyIGEg ZG9jdW1lbnQgbG9hZHMuDQorDQorSWYgTUFJTl9GUkFNRV9PTkxZIGlzIG5pbCwgU0NSSVBUIGlz IHJ1biBpbiBhbGwgSFRNTCBmcmFtZXMuDQorT3RoZXJ3aXNlLCBTQ1JJUFQgaXMgb25seSBydW4g aW4gdG9wLWxldmVsIEhUTUwgZnJhbWVzLiAgKi8pDQorICAoTGlzcF9PYmplY3QgeHdpZGdldCwg TGlzcF9PYmplY3Qgc2NyaXB0LA0KKyAgIExpc3BfT2JqZWN0IHdoZW4sIExpc3BfT2JqZWN0IG1h aW5fZnJhbWVfb25seSkNCit7DQorICBXRUJLSVRfRk5fSU5JVCAoKTsNCisgIENIRUNLX1NUUklO RyAoc2NyaXB0KTsNCisgIENIRUNLX1NZTUJPTCAod2hlbik7DQorDQorICBzY3JpcHQgPSBFTkNP REVfVVRGXzggKHNjcmlwdCk7DQorDQorICBCb29sIHN0YXJ0Ow0KKyAgaWYgKEVRICh3aGVuLCBR c3RhcnQpKQ0KKyAgICBzdGFydCA9IHRydWU7DQorICBlbHNlIGlmIChFUSAod2hlbiwgUWVuZCkp DQorICAgIHN0YXJ0ID0gZmFsc2U7DQorICBlbHNlDQorICAgIGVycm9yICgiVW5rbm93biBYd2lk Z2V0IFdlYmtpdCB1c2VyIHNjcmlwdCBpbmplY3Rpb24gdGltZTogJXMiLA0KKyAgICAgICAgICAg U0RBVEEgKFNZTUJPTF9OQU1FICh3aGVuKSkpOw0KKw0KKyNpZmRlZiBVU0VfR1RLDQorICBXZWJL aXRXZWJWaWV3ICp2aWV3ID0gV0VCS0lUX1dFQl9WSUVXICh4dy0+d2lkZ2V0X29zcik7DQorICBX ZWJLaXRVc2VyQ29udGVudE1hbmFnZXIgKm1hbmFnZXIgPSB3ZWJraXRfd2ViX3ZpZXdfZ2V0X3Vz ZXJfY29udGVudF9tYW5hZ2VyICh2aWV3KTsNCisNCisgIFdlYktpdFVzZXJDb250ZW50SW5qZWN0 ZWRGcmFtZXMgd2Via2l0X2luamVjdGVkX2ZyYW1lcw0KKyAgICA9ICghTklMUCAobWFpbl9mcmFt ZV9vbmx5KSkNCisgICAgPyBXRUJLSVRfVVNFUl9DT05URU5UX0lOSkVDVF9UT1BfRlJBTUUNCisg ICAgOiBXRUJLSVRfVVNFUl9DT05URU5UX0lOSkVDVF9BTExfRlJBTUVTOw0KKyAgV2ViS2l0VXNl clNjcmlwdEluamVjdGlvblRpbWUgd2Via2l0X2luamVjdGlvbl90aW1lID0gc3RhcnQNCisgICAg PyBXRUJLSVRfVVNFUl9TQ1JJUFRfSU5KRUNUX0FUX0RPQ1VNRU5UX1NUQVJUDQorICAgIDogV0VC S0lUX1VTRVJfU0NSSVBUX0lOSkVDVF9BVF9ET0NVTUVOVF9FTkQ7DQorICBXZWJLaXRVc2VyU2Ny aXB0ICp1c2VyX3NjcmlwdA0KKyAgICA9IHdlYmtpdF91c2VyX3NjcmlwdF9uZXcgKFNTREFUQSAo c2NyaXB0KSwNCisJCQkgICAgICB3ZWJraXRfaW5qZWN0ZWRfZnJhbWVzLA0KKwkJCSAgICAgIHdl YmtpdF9pbmplY3Rpb25fdGltZSwNCisJCQkgICAgICBOVUxMLCBOVUxMKTsNCisgIHdlYmtpdF91 c2VyX2NvbnRlbnRfbWFuYWdlcl9hZGRfc2NyaXB0IChtYW5hZ2VyLCB1c2VyX3NjcmlwdCk7DQor ICB3ZWJraXRfdXNlcl9zY3JpcHRfdW5yZWYgKHVzZXJfc2NyaXB0KTsNCisjZWxpZiBkZWZpbmVk IE5TX0lNUExfQ09DT0ENCisgIG5zeHdpZGdldF93ZWJraXRfYWRkX3VzZXJfc2NyaXB0ICh4dywg U1NEQVRBIChzY3JpcHQpLCBpbmplY3Rpb25fdGltZV9zdGFydCwgbWZvKTsNCisjZW5kaWYNCisg IHJldHVybiBRbmlsOw0KK30NCisNCitERUZVTiAoInh3aWRnZXQtd2Via2l0LXJlbW92ZS1hbGwt dXNlci1zY3JpcHRzIiwNCisgICAgICAgRnh3aWRnZXRfd2Via2l0X3JlbW92ZV9hbGxfdXNlcl9z Y3JpcHRzLCBTeHdpZGdldF93ZWJraXRfcmVtb3ZlX2FsbF91c2VyX3NjcmlwdHMsDQorICAgICAg IDEsIDEsIDAsDQorICAgICAgIGRvYzogLyogUmVtb3ZlIGFsbCB1c2VyIHNjcmlwdHMgZnJvbSBX ZWJLaXQgWFdJREdFVC4gICovKQ0KKyAgKExpc3BfT2JqZWN0IHh3aWRnZXQpDQorew0KKyAgV0VC S0lUX0ZOX0lOSVQgKCk7DQorDQorI2lmZGVmIFVTRV9HVEsNCisgIFdlYktpdFdlYlZpZXcgKnZp ZXcgPSBXRUJLSVRfV0VCX1ZJRVcgKHh3LT53aWRnZXRfb3NyKTsNCisgIFdlYktpdFVzZXJDb250 ZW50TWFuYWdlciAqbWFuYWdlciA9IHdlYmtpdF93ZWJfdmlld19nZXRfdXNlcl9jb250ZW50X21h bmFnZXIgKHZpZXcpOw0KKw0KKyAgd2Via2l0X3VzZXJfY29udGVudF9tYW5hZ2VyX3JlbW92ZV9h bGxfc2NyaXB0cyAobWFuYWdlcik7DQorI2VsaWYgZGVmaW5lZCBOU19JTVBMX0NPQ09BDQorICBu c3h3aWRnZXRfd2Via2l0X3JlbW92ZV9hbGxfdXNlcl9zY3JpcHRzKHh3KTsNCisjZW5kaWYNCisg IHJldHVybiBRbmlsOw0KK30NCisNCitERUZVTiAoInh3aWRnZXQtd2Via2l0LXJlZ2lzdGVyLXNj cmlwdC1tZXNzYWdlIiwNCisgICAgICAgRnh3aWRnZXRfd2Via2l0X3JlZ2lzdGVyX3NjcmlwdF9t ZXNzYWdlLCBTeHdpZGdldF93ZWJraXRfcmVnaXN0ZXJfc2NyaXB0X21lc3NhZ2UsDQorICAgICAg IDIsIDIsIDAsDQorICAgICAgIGRvYzogLyogUmVnaXN0ZXIgc2NyaXB0IG1lc3NhZ2Ugd2l0aCBO QU1FIGluIFdlYktpdCBYV0lER0VULg0KKw0KK1RoaXMgb3BlcmF0aW9uIGZhaWxzIGlmIE5BTUUg aGFzIGFscmVhZHkgYmVlbiByZWdpc3RlcmVkIGZvciBYV0lER0VULiAgKi8pDQorICAoTGlzcF9P YmplY3QgeHdpZGdldCwgTGlzcF9PYmplY3QgbmFtZSkNCit7DQorICBXRUJLSVRfRk5fSU5JVCAo KTsNCisgIENIRUNLX1NUUklORyAobmFtZSk7DQorICBjaGFyICpzbmFtZSA9IHhsaXNwc3RyZHVw IChuYW1lKTsNCisNCisjaWZkZWYgVVNFX0dUSw0KKyAgV2ViS2l0V2ViVmlldyAqdmlldyA9IFdF QktJVF9XRUJfVklFVyAoeHctPndpZGdldF9vc3IpOw0KKyAgV2ViS2l0VXNlckNvbnRlbnRNYW5h Z2VyICptYW5hZ2VyID0gd2Via2l0X3dlYl92aWV3X2dldF91c2VyX2NvbnRlbnRfbWFuYWdlciAo dmlldyk7DQorDQorICBVU0VfU0FGRV9BTExPQ0E7DQorICBnY2hhciAqc2lnbmFsX25hbWUgPSBT QUZFX0FMTE9DQSAoc3RybGVuICgic2NyaXB0LW1lc3NhZ2UtcmVjZWl2ZWQ6OiIpICsgc3RybGVu IChzbmFtZSkgKyAxKTsNCisgIHN0cGNweSAoc3RwY3B5IChzaWduYWxfbmFtZSwgInNjcmlwdC1t ZXNzYWdlLXJlY2VpdmVkOjoiKSwgc25hbWUpOw0KKyAgZ19zaWduYWxfY29ubmVjdF9kYXRhICht YW5hZ2VyLCBzaWduYWxfbmFtZSwgR19DQUxMQkFDSyAod2Via2l0X3NjcmlwdF9tZXNzYWdlX2Ni KSwNCisJCQkgc25hbWUsIChHQ2xvc3VyZU5vdGlmeSkgeGZyZWUsIDApOw0KKyAgU0FGRV9GUkVF ICgpOw0KKw0KKyAgaWYgKHdlYmtpdF91c2VyX2NvbnRlbnRfbWFuYWdlcl9yZWdpc3Rlcl9zY3Jp cHRfbWVzc2FnZV9oYW5kbGVyIChtYW5hZ2VyLCBzbmFtZSkpDQorICAgIHsNCisgICAgICBnX29i amVjdF9zZXRfZGF0YSAoR19PQkpFQ1QgKG1hbmFnZXIpLCBYR19YV0lER0VULCB4dyk7DQorICAg IH0NCisgIGVsc2UNCisgICAgew0KKyAgICAgIGdfc2lnbmFsX2hhbmRsZXJzX2Rpc2Nvbm5lY3Rf bWF0Y2hlZCAobWFuYWdlciwNCisJCQkJCSAgICBHX1NJR05BTF9NQVRDSF9EQVRBLA0KKwkJCQkJ ICAgIDAsIDAsIE5VTEwsIE5VTEwsIHNuYW1lKTsNCisgICAgICBlcnJvciAoIkZhaWxlZCB0byBy ZWdpc3RlciBXZWJLaXQgc2NyaXB0IG1lc3NhZ2UgaGFuZGxlciIpOw0KKyAgICB9DQorI2VsaWYg ZGVmaW5lZCBOU19JTVBMX0NPQ09BDQorICBuc3h3aWRnZXRfd2Via2l0X3JlZ2lzdGVyX3Njcmlw dF9tZXNzYWdlICh4dywgc25hbWUpOw0KKyAgeGZyZWUgKHNuYW1lKTsNCisjZW5kaWYNCisgIHJl dHVybiBRbmlsOw0KK30NCisNCitERUZVTiAoInh3aWRnZXQtd2Via2l0LXVucmVnaXN0ZXItc2Ny aXB0LW1lc3NhZ2UiLA0KKyAgICAgICBGeHdpZGdldF93ZWJraXRfdW5yZWdpc3Rlcl9zY3JpcHRf bWVzc2FnZSwgU3h3aWRnZXRfd2Via2l0X3VucmVnaXN0ZXJfc2NyaXB0X21lc3NhZ2UsDQorICAg ICAgIDIsIDIsIDAsDQorICAgICAgIGRvYzogLyogVW5yZWdpc3RlciBzY3JpcHQgbWVzc2FnZSB3 aXRoIE5BTUUgaW4gV2Via2l0IFhXSURHRVQuICAqLykNCisgIChMaXNwX09iamVjdCB4d2lkZ2V0 LCBMaXNwX09iamVjdCBuYW1lKQ0KK3sNCisgIFdFQktJVF9GTl9JTklUICgpOw0KKyAgQ0hFQ0tf U1RSSU5HIChuYW1lKTsNCisNCisgIFVTRV9TQUZFX0FMTE9DQTsNCisgIGNoYXIgKnNuYW1lOw0K KyAgU0FGRV9BTExPQ0FfU1RSSU5HIChzbmFtZSwgbmFtZSk7DQorDQorI2lmZGVmIFVTRV9HVEsN CisgIFdlYktpdFdlYlZpZXcgKnZpZXcgPSBXRUJLSVRfV0VCX1ZJRVcgKHh3LT53aWRnZXRfb3Ny KTsNCisgIFdlYktpdFVzZXJDb250ZW50TWFuYWdlciAqbWFuYWdlcg0KKyAgICA9IHdlYmtpdF93 ZWJfdmlld19nZXRfdXNlcl9jb250ZW50X21hbmFnZXIgKHZpZXcpOw0KKw0KKyAgd2Via2l0X3Vz ZXJfY29udGVudF9tYW5hZ2VyX3VucmVnaXN0ZXJfc2NyaXB0X21lc3NhZ2VfaGFuZGxlciAobWFu YWdlciwgc25hbWUpOw0KKyAgZ19zaWduYWxfaGFuZGxlcnNfZGlzY29ubmVjdF9tYXRjaGVkICht YW5hZ2VyLA0KKwkJCQkJR19TSUdOQUxfTUFUQ0hfRlVOQyB8IEdfU0lHTkFMX01BVENIX0RFVEFJ TCwNCisJCQkJCTAsIGdfcXVhcmtfZnJvbV9zdHJpbmcgKHNuYW1lKSwgMCwNCisJCQkJCUdfQ0FM TEJBQ0sgKHdlYmtpdF9zY3JpcHRfbWVzc2FnZV9jYiksIDApOw0KKyNlbGlmIGRlZmluZWQgTlNf SU1QTF9DT0NPQQ0KKyAgbnN4d2lkZ2V0X3dlYmtpdF91bnJlZ2lzdGVyX3NjcmlwdF9tZXNzYWdl KHh3LCBzbmFtZSk7DQorI2VuZGlmDQorDQorICBTQUZFX0ZSRUUoKTsNCisgIHJldHVybiBRbmls Ow0KK30NCisNCiBERUZVTiAoInh3aWRnZXQtcmVzaXplIiwgRnh3aWRnZXRfcmVzaXplLCBTeHdp ZGdldF9yZXNpemUsIDMsIDMsIDAsDQogICAgICAgIGRvYzogLyogUmVzaXplIFhXSURHRVQgdG8g TkVXX1dJRFRILCBORVdfSEVJR0hULiAgKi8gKQ0KICAgKExpc3BfT2JqZWN0IHh3aWRnZXQsIExp c3BfT2JqZWN0IG5ld193aWR0aCwgTGlzcF9PYmplY3QgbmV3X2hlaWdodCkNCkBAIC0zOTE5LDYg KzQxMDIsMTUgQEAgc3ltc19vZl94d2lkZ2V0ICh2b2lkKQ0KICAgZGVmc3ViciAoJlN4d2lkZ2V0 X3dlYmtpdF9leGVjdXRlX3NjcmlwdCk7DQogICBERUZTWU0gKFF3ZWJraXQsICJ3ZWJraXQiKTsN CiANCisgIGRlZnN1YnIgKCZTeHdpZGdldF93ZWJraXRfYWRkX3VzZXJfc2NyaXB0KTsNCisgIERF RlNZTSAoUXN0YXJ0LCAic3RhcnQiKTsNCisgIERFRlNZTSAoUWVuZCwgImVuZCIpOw0KKyAgZGVm c3ViciAoJlN4d2lkZ2V0X3dlYmtpdF9yZW1vdmVfYWxsX3VzZXJfc2NyaXB0cyk7DQorDQorICBE RUZTWU0gKFFzY3JpcHRfbWVzc2FnZSwgInNjcmlwdC1tZXNzYWdlIik7DQorICBkZWZzdWJyICgm U3h3aWRnZXRfd2Via2l0X3JlZ2lzdGVyX3NjcmlwdF9tZXNzYWdlKTsNCisgIGRlZnN1YnIgKCZT eHdpZGdldF93ZWJraXRfdW5yZWdpc3Rlcl9zY3JpcHRfbWVzc2FnZSk7DQorDQogICBkZWZzdWJy ICgmU3h3aWRnZXRfc2l6ZV9yZXF1ZXN0KTsNCiAgIGRlZnN1YnIgKCZTZGVsZXRlX3h3aWRnZXRf dmlldyk7DQogDQpkaWZmIC0tZ2l0IGEvc3JjL3h3aWRnZXQuaCBiL3NyYy94d2lkZ2V0LmgNCmlu ZGV4IDUwMmJlYjY3NjUuLmU4MzVmNzAwYmMgMTAwNjQ0DQotLS0gYS9zcmMveHdpZGdldC5oDQor KysgYi9zcmMveHdpZGdldC5oDQpAQCAtMjAzLDYgKzIwMywxMCBAQCAjZGVmaW5lIFhHX1hXSURH RVRfVklFVyAiZW1hY3NfeHdpZGdldF92aWV3Ig0KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgTGlzcF9PYmplY3QgcHJvYywNCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIExpc3BfT2JqZWN0IGFyZ3VtZW50KTsNCiANCit2b2lkIHN0b3JlX3h3aWRn ZXRfc2NyaXB0X21lc3NhZ2VfZXZlbnQgKHN0cnVjdCB4d2lkZ2V0ICp4dywNCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKm5hbWUsDQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXNwX09iamVjdCB2YWx1ZSk7DQor DQogZXh0ZXJuIHN0cnVjdCB4d2lkZ2V0ICp4d2lkZ2V0X2Zyb21faWQgKHVpbnQzMl90IGlkKTsN CiANCiAjaWZkZWYgSEFWRV9YX1dJTkRPV1MNCi0tIA0KMi4zMi4xIChBcHBsZSBHaXQtMTMzKQ0K DQo= --_004_B9632193A02B41C99443C6B390A025AAstanfordedu_--