From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id F10C544D24 for ; Mon, 19 Dec 2022 07:04:19 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 81070680B98; Mon, 19 Dec 2022 09:04:16 +0200 (EET) Received: from APC01-PSA-obe.outbound.protection.outlook.com (mail-psaapc01on2108.outbound.protection.outlook.com [40.107.255.108]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 8999F680B98 for ; Mon, 19 Dec 2022 09:04:09 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MCM1AVCXTehlT/sRy2Dpv+B+5EBAbL+havui5Dgfrd+qFKp2QSW8FluUwHATMVyRDhj2ZkXuPx/EYnMFxsVY6Tvj2tZopJVLC/0vpBgbBCRYFQ8gzEiSydf9whsAMny2RFxxA+6TX042WeB6/XIffWmG7Cz3BLOAKJ9MakhTohjXydmoX8GpceWZrh74uJ4AMWS+AB8gpkBVSXuiUfcRPO4evJ6uyX4kMynqMI7ynNxm9CUGtZq+NffOcLY6r0+3Awgp+g+B6MVmN8CHFazL11HRmN5E7aJyFVUPtCc9NB481cDt7WbMg5mbyIEzemcQgiO6kV6bMCavnx6aV5AmWg== 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=wvFRdzzzAl4zIP83ok8rN2E+DrzRPrkU61yzc6vzCtE=; b=JqWDr2wCO6iEdlK3bvLDM0zxTnriT/dXnmGCHyxS/i3h0nJUdNfswv0YSDt0fIjkDzwaWVr2weZ3y3fE6dAIiOX5mkGXvwLTC1sgYbdeRPojlLw4vLSeiGoqr7kP5MBnEuwt1WGDDi/tOviXnsEJn74Ovu8Gt+qcscTWK/BUrt+SzzHoUJu45VLKahTvBEai9BHxKjLp60jd3HV+twVlmD4DZ/wzsSS26YsEmZ1e/4fsLJ35iYOKwHdhIFlz7m1bwKS9VOtMcOuFYj25anaBDJ7Ogxd3eMvluaNS/5Rj8j06hD71ZQPVaJUJ6m+wPJQ4NRL9DRm5FuItYuT0A5Qd9w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=agora.io; dmarc=pass action=none header.from=agora.io; dkim=pass header.d=agora.io; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=agora.io; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=wvFRdzzzAl4zIP83ok8rN2E+DrzRPrkU61yzc6vzCtE=; b=s67/d1KSc4CXLQncGEQ9UKKcB5eql9dh/j6G6K50z9i3O/T7wmg7OgxXFuayXxm9xmXE5qkimn0I9uuYLit3W+FD8IZcy87yeW9OAW9L3qfuyg0BCLch65HIYEldheBuZGjwLQFBLD25A0i0LlfGu3xZtZ+NGKv9mU0WdZqg8lgCdTpbDc6sXnvVaxcJUuUin9eIQ8JYMHHE60se27AZm0ZGKYtmDjdwcE/7ICu0W/PWgEbH6rQ6bm1KlAzOXc32ik3akrNTpIQnD5BGB2BOhSrBbgv1x3hD/WEtCIiK+eKChQ+pBpTkmVlIptkXhZhcdyGO2Oo5iswElLIf9V9Mjg== Received: from TY0PR02MB5328.apcprd02.prod.outlook.com (2603:1096:400:144::8) by TYZPR02MB5961.apcprd02.prod.outlook.com (2603:1096:400:1fe::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Mon, 19 Dec 2022 07:04:04 +0000 Received: from TY0PR02MB5328.apcprd02.prod.outlook.com ([fe80::e82:3e95:b5ef:329f]) by TY0PR02MB5328.apcprd02.prod.outlook.com ([fe80::e82:3e95:b5ef:329f%8]) with mapi id 15.20.5924.016; Mon, 19 Dec 2022 07:04:04 +0000 From: "Chen, Jinkai" To: FFmpeg development discussions and patches Thread-Topic: [FFmpeg-devel] [PATCH] avformat/mov: fix buffering issue on playing HTTP(s)/mp4. Thread-Index: AQHZE2HRow3fYPRyhkGopZX07HNkv650vL2AgAAMpoA= Date: Mon, 19 Dec 2022 07:04:04 +0000 Message-ID: References: In-Reply-To: Accept-Language: zh-CN, 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=agora.io; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: TY0PR02MB5328:EE_|TYZPR02MB5961:EE_ x-ms-office365-filtering-correlation-id: e7f78092-b72e-4ba9-e663-08dae18f36d7 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: eTX76cYZv24KAlyhOg37vZ6urC5KQ6LEEsdTT7vFoy/zNQxyLh2VegCzs8LkDJ9YR5pSVWWIFMf8+5manryjUZ2xjVNAF7vNk3YTjFNUyIosk/eQZXc4A1lyVFt60JMh/qiB4S3r4SWbZ/dHCUkEEyaAJwhSlKWuO8tt7MBIjSOlKUj6XPfdUa02tp5WrPgY24cofnCdbR4wgO9OM+RRiaWYAj6LfPGpugjZIHfHIq6ipT3KXIphYX7XEVWkEuCK2XZ4cI37fS4yNdhbzrwvLviXNBDUFiqLgiLBu4V6bRGGkYp9RfKQ73P0dDUGVUZ5W/HXwMkaVet5fEZflA8by+OJarmc1pgH2i+ZCAvLoEFyVz5Pxoz/xvhhuw9p1U9qeKwQp1ITUwk8Ns1tvw0znHLcUV4lldL2Avv3M9Fe51koxgGjaCuOj02XYeMJFnmBkNkVNzyOKRC3L1gORjREODMICUDdNMb/IgcwG1Y4pS51xDOO5vT/PGARnxXu/aQUZAz+kdn3wxNbEF6czeH77lU0kiBloD/oYGBQQErsrL9ibd0ay+r38eevSEXY5Mj+0qseqvVDqDBvCHMEPAlBAtHJ2g1lZK2lBLX8g6xlz0+v1hnsdu81iDBNRvOpX5Q23Z4/hCUxfLV/wi1VfdFLZhZUhMG4/7QPlrmxCO8AHaybOrJ9Ssnp+kHz8kPA21H+lv2264sYoZfFxPtwJBNUx1EtUFr/9I9HiyzpUhHzddd+kanZffJ4mHRB7uudfGYebdtrs0IkqPT8dz7e0b6fJQGgJ/4/RiYH/TGvtlw4CzE= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:TY0PR02MB5328.apcprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(4636009)(376002)(366004)(396003)(136003)(346002)(39840400004)(451199015)(8936002)(33656002)(5660300002)(66899015)(83380400001)(186003)(41300700001)(6512007)(26005)(2906002)(66476007)(316002)(966005)(478600001)(6486002)(38070700005)(6916009)(6506007)(53546011)(122000001)(86362001)(76116006)(36756003)(91956017)(66946007)(64756008)(2616005)(45080400002)(66446008)(66556008)(71200400001)(38100700002)(8676002)(48020200002)(45980500001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?VUJxQWx0QW45N0JIU0Y0MVlzT2FFRmRRYjBEcDE0MTFqbG1qMVV1Rllra282?= =?utf-8?B?OE8zTlVJS3pTTFZSUHFJcFdtUWQxcmxISGU3WVR6c3J3eFAwZmwxSU5oblZH?= =?utf-8?B?UzVlUk1jckRKWlhzUTY5UHNWaHdXbjM4SUVuVGhvVUZNS09EWDdTZXhWTE5M?= =?utf-8?B?SHBtYnRxalljK0xTR2lVSnhuODZiNzNLNTVac3ZnM1dnLzd2a0Z0Q2RnQmp5?= =?utf-8?B?ZEoxOEo4SDluaVEyZTFWUGQ0ekREenB5Y2hqLzBQd0dTNWFuT1RnbjdGWW9w?= =?utf-8?B?WWd0eEdKc1N4NUdXeGJDY1VZVzlsQTB1TmJ6NmxjNllRblA1dXNBZHZITGJu?= =?utf-8?B?dXJSRmZVMHc4TlRxaG5wLzJzY21nYWc0YlpWakk0ZGdtdFRKanZod2liZzVk?= =?utf-8?B?LzBOSVNJam9GdWhMOExmTys2TG8wL3d0c1kvSWVZUys2Qkc1elc3em5Eamp4?= =?utf-8?B?Uk03QitiTmRWMUVpa2JSZGh3TlBScjRReWxIVjRWdm85bTFFRFYwMGZDUTNm?= =?utf-8?B?eFNtNVQweXRFYWtNcmZjMVpRQXhVaCtzaUhaRHg1VW9MRU12Q0FPdWdJUU9L?= =?utf-8?B?bE1FZlpPTGFIaGdGb0RyUnNyYXRaNlhwQUw4M09jUTJqOWZucE1YN1BzMmRT?= =?utf-8?B?OGRHY1lwUm4waWgxaVd0dTJGMWsrN1FKZ0ZGcUFMRkZaQW92azhkQXFNU3JS?= =?utf-8?B?eHlvMGxXSy93OWJYUGM4c1c2ekZuOGZBWHlrVWp1aFMrZ2RBWUVLOWhBVHRE?= =?utf-8?B?enRqcW5RckFRVEM4cWRCVFo3eEJOM252MTZjSGlHeS9oVUozd0hHWUYyWWRn?= =?utf-8?B?NkZXRmRzYnpxVnZXaXNLVEVMRXgveXdMZkRDRmVXU29sMkluUzRaRlllUzVG?= =?utf-8?B?UEpqUStKRTlUdVpvckU5SmVBTThhZU5BVWo4cDFKU0dDeWZRWkRkUHJlQ1Z2?= =?utf-8?B?MG8zekNMaEZuVmRUcTFVSFlXbUxmSFNHL2FjTkU1RktQZVFiRjIwOUpwOGxw?= =?utf-8?B?dythN2pHclBzbUU4Zk9FZVpGWThBd0Zad2FGblRINDVWa3ZTMFk1WkFkSWth?= =?utf-8?B?RVlyRFFNKzV4aWJpOEloa3dmdkMwK3dHRjFaczdSR3BDU3V2blBKWUVLWXA2?= =?utf-8?B?cVlIQ0QxT3NaNTd5WXpyZzllaVI1Z3Rsdmt6akxhRWhvSTdrdHU0dFpoN3ZG?= =?utf-8?B?MDArTmgyR2liSGxZTU43WUJsSnFPYjIrMUdDY2VvNDlqMVFsdjJveENoOGhh?= =?utf-8?B?MFRPSzkrYkRhN2dLZlY5NDZ4eVU3NEtCZ3g4ZnI5UVdWSkFXTEpoQXVOYmZw?= =?utf-8?B?YUJTcjVhWHFka3ZHZlFZMEJhVlFSaUJvSVJ3NWh4eW1tMWJjYUhiUTNpekVL?= =?utf-8?B?OGRtdmNFQmZGYlcrY295NXBudWVhZ0NsaXhZdlhROHR2eDJFWnhkUUhWUWV3?= =?utf-8?B?N0VzUU84cGdrN2Z4QUgycnIzVHhvZS9HblVkMzBqNHZCRFFCZTVGUVBhVjF0?= =?utf-8?B?ZVBkVjZBbWlSK2tDZnNYUE9wM1BNWFFmVVNkUWd6MTZzeWlLWHQxOFdMcXg3?= =?utf-8?B?QklkTVZmZmpvL0VzSUc5VTVPZ2o3U3pBZFI1djRTOWZXZHhBNlBlVWFNNTZt?= =?utf-8?B?ZU44TldrZE5GR1dCcW5MNE5sakVaSm4ybEJiaklpQ1Z3OEZtdUFWVHFPeHpx?= =?utf-8?B?ZHcvOFJzQ3YyZU1OTGViK1dKdzNqOU9zcGJaai96M0ZLREdOZ05lY29iTXFU?= =?utf-8?B?YmMyd2Y4b0xhRnVNTFZqRmlOUUpqRWZmOENpanZaRnFmQkpDZURkVHhmWmN2?= =?utf-8?B?LzZEdVlJNGF2bFNkeHIvYmdwY3MvVGpPaVQvZzNjbms0RXpxRlU4MU1ISkVh?= =?utf-8?B?RURaczZOdmMxT09LbDF1ZkhvU080L01uSzdWL3FBd3dsUDR5VDRkaFJWNkhv?= =?utf-8?B?RmoxQkZZRkJIV2gwM1dSSDJYd1J2eS9sQkQ3U3hJVXlCeUZWRGZ1SUpwSUcw?= =?utf-8?B?SVQ1L3Q4RmRxNS93ZXJpRVdwcEJPMGkzNm42MnZ4dXFWdENYdVZpQTgybFN5?= =?utf-8?B?ZlU4aFpXNThmR2tTYmxlNVl3RklvNTM3cTJ0bjdGdXA1R2hsOWo2eDhFZlZ2?= =?utf-8?Q?evjHpyGTevhTjtcILK+Ga+OmV?= Content-ID: <720C5551C89C2245A9B9931667F721D6@apcprd02.prod.outlook.com> MIME-Version: 1.0 X-OriginatorOrg: agora.io X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TY0PR02MB5328.apcprd02.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: e7f78092-b72e-4ba9-e663-08dae18f36d7 X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Dec 2022 07:04:04.2725 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 60275374-3eaa-49c2-83c3-cc189d126981 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: ac+VX5g7icmpP9dLAkNGcpHCz3fiLlouAqCsu20rQVBOpHAJ4ygp1mgYuH7H1jYUfehQcGAOyN1cCiIw+icljw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYZPR02MB5961 Subject: Re: [FFmpeg-devel] [PATCH] avformat/mov: fix buffering issue on playing HTTP(s)/mp4. X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: U28uIEkgYXBwbHkgdGhpcyBzdHJhdGVneSB3aGVuIGl04oCZcyBvbiBIVFRQL0hUVFBzLCBhbmQg aXTigJlzIG5vdCBhZmZlY3QgbG9jYWwgbm9ybWFsIGZpbGVzLg0KDQpDb3VsZCB5b3UgcGxlYXNl IHNob3cgbWUgYSBiYWQgY2FzZSBvbiB0aGlzIHNvbHV0aW9uID8gSSBhcHByZWNpYXRlZCBhbmQg dHJ5IHRvIGZpeCBpdC4gVGhhbmtzLg0KDQo+IDIwMjLlubQxMuaciDE55pelIOS4i+WNiDI6MTjv vIx6aGlsaXpoYW8o6LW15b+X56uLKSA8cXVpbmtibGFja0Bmb3htYWlsLmNvbT4g5YaZ6YGT77ya DQo+IA0KPiBb5L2g6YCa5bi45LiN5Lya5pS25Yiw5p2l6IeqIHF1aW5rYmxhY2tAZm94bWFpbC5j b20g55qE55S15a2Q6YKu5Lu244CC6K+36K6/6ZeuIGh0dHBzOi8vYWthLm1zL0xlYXJuQWJvdXRT ZW5kZXJJZGVudGlmaWNhdGlvbu+8jOS7peS6huino+i/meS4gOeCueS4uuS7gOS5iOW+iOmHjeim gV0NCj4gDQo+PiBPbiBEZWMgMTksIDIwMjIsIGF0IDEyOjI0LCBDaGVuLCBKaW5rYWkgPGNoZW5q aW5rYWlAYWdvcmEuaW8+IHdyb3RlOg0KPj4gDQo+PiBVc2luZyBzZXBhcmF0ZWQgSFRUUCBjb25u ZWN0aW9uIGZvciBlYWNoIHN0cmVhbSwNCj4+IHByZXZlbnQgZnJvbSByZWFkaW5nIGF1ZGlvIGFu ZCB2aWRlbyBpbiBsb25nIGRpc3RhbmNlLA0KPj4gd2hpY2ggY2F1c2Ugc2Vla2luZyhodHRwIHJl cXVlc3QpIHJlcGVhdGVkbHkuDQo+PiBTdG9yaW5nIHRoZSB1c2VyIG9wdGlvbnMgd2hlbiBvcGVu IGlucHV0LA0KPj4gYW5kIG1ha2Ugc3VyZSB0aGF0IGNhbiBiZSBwYXNzZWQgdG8gZGVtdXhlciBj b250ZXh0Lg0KPiANCj4gVGhlIHBhdGNoIGlzIGhhcm1mdWwgZm9yIG5vcm1hbCBmaWxlcywgYW5k IHRoZSBpbXBsZW1lbnRhdGlvbiBpc27igJl0IGNsZWFuLCBzbyBOQUsuDQo+IA0KPj4gDQo+PiBT b21lIHNvdXJjZSBjYW4gcmVwcm9kdWNpbmcgdGhlIGlzc3VlOg0KPj4gaHR0cHM6Ly9hcGMwMS5z YWZlbGlua3MucHJvdGVjdGlvbi5vdXRsb29rLmNvbS8/dXJsPWh0dHBzJTNBJTJGJTJGYWxpLXNw cml0ZS12aWRlby55eW91d2FuZy5jb20lMkZ2aWRlbyUyRndvcmtzJTJGMjAyMjExJTJGMTY2Nzk5 NzA3MzYyNF83My5tcDQmZGF0YT0wNSU3QzAxJTdDY2hlbmppbmthaSU0MGFnb3JhLmlvJTdDYjll Njc0NDVkMDM1NDQ5ZjA4MTYwOGRhZTE4OGVmZDYlN0M2MDI3NTM3NDNlYWE0OWMyODNjM2NjMTg5 ZDEyNjk4MSU3QzAlN0MwJTdDNjM4MDcwMjc1NTE1Njc2MDA5JTdDVW5rbm93biU3Q1RXRnBiR1pz YjNkOGV5SldJam9pTUM0d0xqQXdNREFpTENKUUlqb2lWMmx1TXpJaUxDSkJUaUk2SWsxaGFXd2lM Q0pYVkNJNk1uMCUzRCU3QzMwMDAlN0MlN0MlN0Mmc2RhdGE9WmtyOXJIQ1FuY2FpVzlPbXpEenps V1hrVFpkbFVRU3olMkZuRFJzMm03ZnpnJTNEJnJlc2VydmVkPTANCj4+IGh0dHBzOi8vYXBjMDEu c2FmZWxpbmtzLnByb3RlY3Rpb24ub3V0bG9vay5jb20vP3VybD1odHRwcyUzQSUyRiUyRmltYWdl cy52b2doaW9uLmNvbSUyRnByb2R1Y3RJbWFnZXMlMkYwNF8wMV9DXzMwMDExXzIwMjAyMjAxMDZH aXVzZXBwZUZhbmFyYTAwMTIubXA0JmRhdGE9MDUlN0MwMSU3Q2NoZW5qaW5rYWklNDBhZ29yYS5p byU3Q2I5ZTY3NDQ1ZDAzNTQ0OWYwODE2MDhkYWUxODhlZmQ2JTdDNjAyNzUzNzQzZWFhNDljMjgz YzNjYzE4OWQxMjY5ODElN0MwJTdDMCU3QzYzODA3MDI3NTUxNTY3NjAwOSU3Q1Vua25vd24lN0NU V0ZwYkdac2IzZDhleUpXSWpvaU1DNHdMakF3TURBaUxDSlFJam9pVjJsdU16SWlMQ0pCVGlJNklr MWhhV3dpTENKWFZDSTZNbjAlM0QlN0MzMDAwJTdDJTdDJTdDJnNkYXRhPU41Zkd0bU1XWTV0MlNa M1FrTkNGQ1JBeHEyWFBDUEtpbW1uNVFTNWpaeVUlM0QmcmVzZXJ2ZWQ9MA0KPj4gDQo+PiBTaWdu ZWQtb2ZmLWJ5OiBDSksgPGNoZW5qaW5rYWlAYWdvcmEuaW88bWFpbHRvOmNoZW5qaW5rYWlAYWdv cmEuaW8+Pg0KPj4gLS0tDQo+PiBsaWJhdmZvcm1hdC9hdmZvcm1hdC5jIHwgIDEgKw0KPj4gbGli YXZmb3JtYXQvZGVtdXguYyAgICB8ICA1ICsrKystDQo+PiBsaWJhdmZvcm1hdC9pbnRlcm5hbC5o IHwgIDUgKysrKysNCj4+IGxpYmF2Zm9ybWF0L21vdi5jICAgICAgfCAxNiArKysrKysrKysrKysr KysrDQo+PiA0IGZpbGVzIGNoYW5nZWQsIDI2IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkN Cj4+IA0KPj4gZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L2F2Zm9ybWF0LmMgYi9saWJhdmZvcm1h dC9hdmZvcm1hdC5jDQo+PiBpbmRleCAxOWM3MjE5NDcxLi40NDUzNzI3ZjM0IDEwMDY0NA0KPj4g LS0tIGEvbGliYXZmb3JtYXQvYXZmb3JtYXQuYw0KPj4gKysrIGIvbGliYXZmb3JtYXQvYXZmb3Jt YXQuYw0KPj4gQEAgLTEyOSw2ICsxMjksNyBAQCB2b2lkIGF2Zm9ybWF0X2ZyZWVfY29udGV4dChB VkZvcm1hdENvbnRleHQgKnMpDQo+PiAgIGF2X2ZyZWVwKCZzLT5jaGFwdGVycyk7DQo+PiAgIGF2 X2RpY3RfZnJlZSgmcy0+bWV0YWRhdGEpOw0KPj4gICBhdl9kaWN0X2ZyZWUoJnNpLT5pZDN2Ml9t ZXRhKTsNCj4+ICsgICAgYXZfZGljdF9mcmVlKCZzaS0+b3B0aW9ucyk7DQo+PiAgIGF2X3BhY2tl dF9mcmVlKCZzaS0+cGt0KTsNCj4+ICAgYXZfcGFja2V0X2ZyZWUoJnNpLT5wYXJzZV9wa3QpOw0K Pj4gICBhdl9mcmVlcCgmcy0+c3RyZWFtcyk7DQo+PiBkaWZmIC0tZ2l0IGEvbGliYXZmb3JtYXQv ZGVtdXguYyBiL2xpYmF2Zm9ybWF0L2RlbXV4LmMNCj4+IGluZGV4IDJkZmQ4MmE2M2MuLjIzNzdi ZmRhYjAgMTAwNjQ0DQo+PiAtLS0gYS9saWJhdmZvcm1hdC9kZW11eC5jDQo+PiArKysgYi9saWJh dmZvcm1hdC9kZW11eC5jDQo+PiBAQCAtMjM3LDggKzIzNywxMSBAQCBpbnQgYXZmb3JtYXRfb3Bl bl9pbnB1dChBVkZvcm1hdENvbnRleHQgKipwcywgY29uc3QgY2hhciAqZmlsZW5hbWUsDQo+PiAg IGlmIChmbXQpDQo+PiAgICAgICBzLT5pZm9ybWF0ID0gZm10Ow0KPj4gDQo+PiAtICAgIGlmIChv cHRpb25zKQ0KPj4gKyAgICBpZiAob3B0aW9ucykgew0KPj4gICAgICAgYXZfZGljdF9jb3B5KCZ0 bXAsICpvcHRpb25zLCAwKTsNCj4+ICsgICAgICAgIHNpLT5vcHRpb25zID0gTlVMTDsNCj4+ICsg ICAgICAgIGF2X2RpY3RfY29weSgmc2ktPm9wdGlvbnMsICpvcHRpb25zLCAwKTsNCj4+ICsgICAg fQ0KPj4gDQo+PiAgIGlmIChzLT5wYikgLy8gbXVzdCBiZSBiZWZvcmUgYW55IGdvdG8gZmFpbA0K Pj4gICAgICAgcy0+ZmxhZ3MgfD0gQVZGTVRfRkxBR19DVVNUT01fSU87DQo+PiBkaWZmIC0tZ2l0 IGEvbGliYXZmb3JtYXQvaW50ZXJuYWwuaCBiL2xpYmF2Zm9ybWF0L2ludGVybmFsLmgNCj4+IGlu ZGV4IGNlODM3ZmVmYzcuLjdjYWFlOGI5M2UgMTAwNjQ0DQo+PiAtLS0gYS9saWJhdmZvcm1hdC9p bnRlcm5hbC5oDQo+PiArKysgYi9saWJhdmZvcm1hdC9pbnRlcm5hbC5oDQo+PiBAQCAtMTg2LDYg KzE4NiwxMSBAQCB0eXBlZGVmIHN0cnVjdCBGRkZvcm1hdENvbnRleHQgew0KPj4gICAgKiBDb250 ZXh0cyBhbmQgY2hpbGQgY29udGV4dHMgZG8gbm90IGNvbnRhaW4gYSBtZXRhZGF0YSBvcHRpb24N Cj4+ICAgICovDQo+PiAgIGludCBtZXRhZnJlZTsNCj4+ICsNCj4+ICsgICAgLyoqDQo+PiArICAg ICAqIG9wdGlvbnMgZnJvbSBhdmZvcm1hdF9vcGVuX2lucHV0DQo+PiArICAgICAqLw0KPj4gKyAg ICBBVkRpY3Rpb25hcnkgKm9wdGlvbnM7DQo+PiB9IEZGRm9ybWF0Q29udGV4dDsNCj4+IA0KPj4g c3RhdGljIGF2X2Fsd2F5c19pbmxpbmUgRkZGb3JtYXRDb250ZXh0ICpmZmZvcm1hdGNvbnRleHQo QVZGb3JtYXRDb250ZXh0ICpzKQ0KPj4gZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L21vdi5jIGIv bGliYXZmb3JtYXQvbW92LmMNCj4+IGluZGV4IDI5YmQzMTAzZTMuLjFlMWE3YzJmN2YgMTAwNjQ0 DQo+PiAtLS0gYS9saWJhdmZvcm1hdC9tb3YuYw0KPj4gKysrIGIvbGliYXZmb3JtYXQvbW92LmMN Cj4+IEBAIC00NDU2LDYgKzQ0NTYsNyBAQCBzdGF0aWMgaW50IG1vdl9yZWFkX3RyYWsoTU9WQ29u dGV4dCAqYywgQVZJT0NvbnRleHQgKnBiLCBNT1ZBdG9tIGF0b20pDQo+PiB7DQo+PiAgIEFWU3Ry ZWFtICpzdDsNCj4+ICAgTU9WU3RyZWFtQ29udGV4dCAqc2M7DQo+PiArICAgIFVSTENvbnRleHQg KnVybF9jb250ZXh0Ow0KPj4gICBpbnQgcmV0Ow0KPj4gDQo+PiAgIHN0ID0gYXZmb3JtYXRfbmV3 X3N0cmVhbShjLT5mYywgTlVMTCk7DQo+PiBAQCAtNDUwMSw2ICs0NTAyLDggQEAgc3RhdGljIGlu dCBtb3ZfcmVhZF90cmFrKE1PVkNvbnRleHQgKmMsIEFWSU9Db250ZXh0ICpwYiwgTU9WQXRvbSBh dG9tKQ0KPj4gDQo+PiAgIG1vdl9idWlsZF9pbmRleChjLCBzdCk7DQo+PiANCj4+ICsgICAgdXJs X2NvbnRleHQgPSBmZmlvX2dldHVybGNvbnRleHQoYy0+ZmMtPnBiKTsNCj4+ICsgICAgYXZfYXNz ZXJ0MCh1cmxfY29udGV4dCk7DQo+PiAgIGlmIChzYy0+ZHJlZl9pZC0xIDwgc2MtPmRyZWZzX2Nv dW50ICYmIHNjLT5kcmVmc1tzYy0+ZHJlZl9pZC0xXS5wYXRoKSB7DQo+PiAgICAgICBNT1ZEcmVm ICpkcmVmID0gJnNjLT5kcmVmc1tzYy0+ZHJlZl9pZCAtIDFdOw0KPj4gICAgICAgaWYgKGMtPmVu YWJsZV9kcmVmcykgew0KPj4gQEAgLTQ1MTAsNiArNDUxMywxOSBAQCBzdGF0aWMgaW50IG1vdl9y ZWFkX3RyYWsoTU9WQ29udGV4dCAqYywgQVZJT0NvbnRleHQgKnBiLCBNT1ZBdG9tIGF0b20pDQo+ PiAgICAgICAgICAgICAgICAgICAgICAiZmlsZW5hbWU9JyVzJywgdm9sdW1lPSclcycsIG5sdmxf ZnJvbT0lZCwgbmx2bF90bz0lZFxuIiwNCj4+ICAgICAgICAgICAgICAgICAgICAgIHN0LT5pbmRl eCwgZHJlZi0+cGF0aCwgZHJlZi0+ZGlyLCBkcmVmLT5maWxlbmFtZSwNCj4+ICAgICAgICAgICAg ICAgICAgICAgIGRyZWYtPnZvbHVtZSwgZHJlZi0+bmx2bF9mcm9tLCBkcmVmLT5ubHZsX3RvKTsN Cj4+ICsgICAgICAgIH0gZWxzZSBpZiAoc3RyY21wKHVybF9jb250ZXh0LT5wcm90LT5uYW1lLCAi aHR0cCIpID09IDAgfHwNCj4+ICsgICAgICAgICAgICAgICAgICAgc3RyY21wKHVybF9jb250ZXh0 LT5wcm90LT5uYW1lLCAiaHR0cHMiKSA9PSAwKSB7DQo+PiArICAgICAgICAgICAgRkZGb3JtYXRD b250ZXh0ICpjb25zdCBzaSA9IGZmZm9ybWF0Y29udGV4dChjLT5mYyk7DQo+PiArICAgICAgICAg ICAgQVZEaWN0aW9uYXJ5ICpvcHRzID0gTlVMTDsNCj4+ICsgICAgICAgICAgICBhdl9kaWN0X2Nv cHkoJm9wdHMsIHNpLT5vcHRpb25zLCAwKTsNCj4+ICsgICAgICAgICAgICByZXQgPSBjLT5mYy0+ aW9fb3BlbihjLT5mYywgJnNjLT5wYiwgYy0+ZmMtPnVybCwgQVZJT19GTEFHX1JFQUQsICZvcHRz KTsNCj4+ICsgICAgICAgICAgICBhdl9kaWN0X2ZyZWUoJm9wdHMpOw0KPj4gKyAgICAgICAgICAg IGlmIChyZXQgPCAwKSB7DQo+PiArICAgICAgICAgICAgICAgIGF2X2xvZyhjLT5mYywgQVZfTE9H X0VSUk9SLA0KPj4gKyAgICAgICAgICAgICAgICAgICAgIm1vdi9odHRwKHMpIHN0cmVhbSAlZCwg ZXJyb3Igb3BlbmluZyB1cmwgJXMuXG4iLA0KPj4gKyAgICAgICAgICAgICAgICAgICAgc3QtPmlu ZGV4LCBjLT5mYy0+dXJsKTsNCj4+ICsgICAgICAgICAgICAgICAgcmV0dXJuIHJldDsNCj4+ICsg ICAgICAgICAgICB9DQo+PiAgICAgICB9IGVsc2Ugew0KPj4gICAgICAgICAgIGF2X2xvZyhjLT5m YywgQVZfTE9HX1dBUk5JTkcsDQo+PiAgICAgICAgICAgICAgICAgICJTa2lwcGVkIG9wZW5pbmcg ZXh0ZXJuYWwgdHJhY2s6ICINCj4+IC0tDQo+PiAyLjI0LjMgKEFwcGxlIEdpdC0xMjgpDQo+PiBf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KPj4gZmZtcGVn LWRldmVsIG1haWxpbmcgbGlzdA0KPj4gZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcNCj4+IGh0dHBz Oi8vYXBjMDEuc2FmZWxpbmtzLnByb3RlY3Rpb24ub3V0bG9vay5jb20vP3VybD1odHRwcyUzQSUy RiUyRmZmbXBlZy5vcmclMkZtYWlsbWFuJTJGbGlzdGluZm8lMkZmZm1wZWctZGV2ZWwmZGF0YT0w NSU3QzAxJTdDY2hlbmppbmthaSU0MGFnb3JhLmlvJTdDYjllNjc0NDVkMDM1NDQ5ZjA4MTYwOGRh ZTE4OGVmZDYlN0M2MDI3NTM3NDNlYWE0OWMyODNjM2NjMTg5ZDEyNjk4MSU3QzAlN0MwJTdDNjM4 MDcwMjc1NTE1Njc2MDA5JTdDVW5rbm93biU3Q1RXRnBiR1pzYjNkOGV5SldJam9pTUM0d0xqQXdN REFpTENKUUlqb2lWMmx1TXpJaUxDSkJUaUk2SWsxaGFXd2lMQ0pYVkNJNk1uMCUzRCU3QzMwMDAl N0MlN0MlN0Mmc2RhdGE9SmJKYmlzcXlRUzZXTHI1RWp6d0RzeWl1dktHcnZxdlg1aGlZUTBTSGR2 YyUzRCZyZXNlcnZlZD0wDQo+PiANCj4+IFRvIHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFib3Zl LCBvciBlbWFpbA0KPj4gZmZtcGVnLWRldmVsLXJlcXVlc3RAZmZtcGVnLm9yZyB3aXRoIHN1Ympl Y3QgInVuc3Vic2NyaWJlIi4NCj4gDQo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fDQo+IGZmbXBlZy1kZXZlbCBtYWlsaW5nIGxpc3QNCj4gZmZtcGVnLWRl dmVsQGZmbXBlZy5vcmcNCj4gaHR0cHM6Ly9hcGMwMS5zYWZlbGlua3MucHJvdGVjdGlvbi5vdXRs b29rLmNvbS8/dXJsPWh0dHBzJTNBJTJGJTJGZmZtcGVnLm9yZyUyRm1haWxtYW4lMkZsaXN0aW5m byUyRmZmbXBlZy1kZXZlbCZkYXRhPTA1JTdDMDElN0NjaGVuamlua2FpJTQwYWdvcmEuaW8lN0Ni OWU2NzQ0NWQwMzU0NDlmMDgxNjA4ZGFlMTg4ZWZkNiU3QzYwMjc1Mzc0M2VhYTQ5YzI4M2MzY2Mx ODlkMTI2OTgxJTdDMCU3QzAlN0M2MzgwNzAyNzU1MTU2NzYwMDklN0NVbmtub3duJTdDVFdGcGJH WnNiM2Q4ZXlKV0lqb2lNQzR3TGpBd01EQWlMQ0pRSWpvaVYybHVNeklpTENKQlRpSTZJazFoYVd3 aUxDSlhWQ0k2TW4wJTNEJTdDMzAwMCU3QyU3QyU3QyZzZGF0YT1KYkpiaXNxeVFTNldMcjVFanp3 RHN5aXV2S0dydnF2WDVoaVlRMFNIZHZjJTNEJnJlc2VydmVkPTANCj4gDQo+IFRvIHVuc3Vic2Ny aWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbA0KPiBmZm1wZWctZGV2ZWwtcmVxdWVzdEBm Zm1wZWcub3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUiLg0KDQpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpmZm1wZWctZGV2ZWwgbWFpbGluZyBsaXN0 CmZmbXBlZy1kZXZlbEBmZm1wZWcub3JnCmh0dHBzOi8vZmZtcGVnLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2ZmbXBlZy1kZXZlbAoKVG8gdW5zdWJzY3JpYmUsIHZpc2l0IGxpbmsgYWJvdmUsIG9yIGVt YWlsCmZmbXBlZy1kZXZlbC1yZXF1ZXN0QGZmbXBlZy5vcmcgd2l0aCBzdWJqZWN0ICJ1bnN1YnNj cmliZSIuCg==