Received: by 2002:a05:7412:5112:b0:fa:6e18:a558 with SMTP id fm18csp214625rdb; Mon, 22 Jan 2024 18:13:44 -0800 (PST) X-Google-Smtp-Source: AGHT+IF5PnbxClBFK/QmETdY9xtgFGhHQJRPuadJQbw+SQkZu48gEvkhWtlGvqCVlE3vOuxOg8gO X-Received: by 2002:a05:6808:15aa:b0:3bd:c5c7:f334 with SMTP id t42-20020a05680815aa00b003bdc5c7f334mr210972oiw.94.1705976024512; Mon, 22 Jan 2024 18:13:44 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1705976024; cv=pass; d=google.com; s=arc-20160816; b=ClyrPWrgzwoDjdfDNMvH2GqfpECsNYIEtPMXkUxrs1OnnCvELjjz2EXkg453Eiq1rw LBXmrOemPqJAkl+dvfyvW8upR3i0uh07/bKCRPnXmKAYC20EBPoWK5s3hs8obrwX0NY6 +/j0w5EonU+bIes9ZkF2XgF2xEJuN9ke9wY28fEhAElOAy3SH3lCXzoSg4tFIFX1nfoo rVYlozFXJDfQSkDnZfCAvIxdRMkS7G6ZL57+VCAcVI8GVXzSQTABQXZU1/d7eZOsVaV2 99ErxuQ+IUewKy2s4iH95ZSDugPFLtjsdHvQbCWVvakJJQJgyMe6oGg8j4w37PVELLL6 ejhg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:list-unsubscribe:list-subscribe:list-id:precedence :subject:message-id:reply-to:cc:to:from:date; bh=Z3Thhgm5VhmEscwg5BQ+Qn/RAvsAEkUwzSNIuzP/kQg=; fh=2UKTCTkZ73VztjS5d2UO1DdUZVo32V6qk52+9NaPDRs=; b=Gl0IV/Ilojh8ZzSWr4f7wcAYtTFywUp8rQ0vdb1yqVmgXBLe5/fOB0Wr0L2nACQnIQ Jrn3pxg1eTVpgKgf2VAzHd27Y2er2OFuRh7p7p29fp+WF7S6SCWLUiddSx1oIuVQPF8M PuDnceG9hXw2e/oqbOJiEoOTd8mFPgUTtgniJgstmKmfoG+eb8hFo83BoUPwr0/Y/ikM IPV5ib6nnnw1D/UOUGWZv3Ms376gCu220Px/F2+CXG8zz508I4tmhrneo7NoPdlT4CDI 0siMCDhYASByE9gR66pxRD7vPQ7bfsi7/ytCCg3MW6bvke3rqOR+wgF1oMwj3fVljGso MkPA== ARC-Authentication-Results: i=2; mx.google.com; arc=pass (i=1 spf=pass spfdomain=ubisectech.com); spf=pass (google.com: domain of linux-kernel+bounces-34588-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-34588-linux.lists.archive=gmail.com@vger.kernel.org" Return-Path: Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [2604:1380:45d1:ec00::1]) by mx.google.com with ESMTPS id n14-20020ac85a0e000000b0042a4f99bba9si283483qta.554.2024.01.22.18.13.44 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 Jan 2024 18:13:44 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-34588-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) client-ip=2604:1380:45d1:ec00::1; Authentication-Results: mx.google.com; arc=pass (i=1 spf=pass spfdomain=ubisectech.com); spf=pass (google.com: domain of linux-kernel+bounces-34588-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-34588-linux.lists.archive=gmail.com@vger.kernel.org" Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id 268531C253C3 for ; Tue, 23 Jan 2024 02:13:44 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id DF6AF4F8AA; Tue, 23 Jan 2024 01:30:48 +0000 (UTC) Received: from out28-218.mail.aliyun.com (out28-218.mail.aliyun.com [115.124.28.218]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 278204F5E6; Tue, 23 Jan 2024 01:30:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=115.124.28.218 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1705973444; cv=none; b=Ex+ciMJ8a0we1g48Q2tXNjpcKqNde3JQwTRwtbXqNMpe+77lNXZtHx5DQraPRrxXEJ4bU1avQfDYxjCzi+p/PwoLhXJBTjLwo+eGB/AWJkjl6YSZBWv7ZemJmINIHXJyp8/4tWYhDEyspT26VANwfY64V2sCmf1OYSk+v002n3k= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1705973444; c=relaxed/simple; bh=RHEnBJWWQe6h1xI11w4y1DMX6+N/iuUorPgETQEdIR4=; h=Date:From:To:Cc:Message-ID:Subject:MIME-Version:Content-Type; b=mLNVJD4Kl94EI6iV4fuhZxOfFBX3N/NPWjgMipZBA7fEkTC41NF/TTq9gmGGpQKejfwu7Who/WBdV/uWO3MZYENqTjvIIS2f4/7mdhj8jooHGe19Q4dzIPXIbRLsDCT3Afv55xJnuLwIuLxtDCTkfkWx1skVUiqz3zcQgPcsZGQ= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ubisectech.com; spf=pass smtp.mailfrom=ubisectech.com; arc=none smtp.client-ip=115.124.28.218 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ubisectech.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ubisectech.com X-Alimail-AntiSpam:AC=CONTINUE;BC=0.07782863|-1;CH=green;DM=|CONTINUE|false|;DS=CONTINUE|ham_system_inform|0.241443-0.0108249-0.747732;FP=0|0|0|0|0|0|0|0;HT=ay29a033018047208;MF=bugreport@ubisectech.com;NM=1;PH=DW;RN=5;RT=5;SR=0;TI=W4_0.2.3_v5_21251156_1705972808319_o7001c268; Received: from WS-web (bugreport@ubisectech.com[W4_0.2.3_v5_21251156_1705972808319_o7001c268]) at Tue, 23 Jan 2024 09:25:11 +0800 Date: Tue, 23 Jan 2024 09:25:11 +0800 From: "Ubisectech Sirius" To: "linux-trace-kernel" , "linux-kernel" Cc: "johannes" , "kvalo" , "toke" Reply-To: "Ubisectech Sirius" Message-ID: Subject: =?UTF-8?B?Z2VuZXJhbCBwcm90ZWN0aW9uIGZhdWx0IGluIGF0aDlrX3dtaV9ldmVudF90YXNrbGV0?= X-Mailer: [Alimail-Mailagent revision 79][W4_0.2.3][v5][Chrome] Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 x-aliyun-mail-creator: W4_0.2.3_v5_M3LTW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzEyMC4wLjAuMCBTYWZhcmkvNTM3LjM2vN Content-Type: multipart/mixed; boundary="----=ALIBOUNDARY_31952_7fe07c734700_65af1577_6ab598" This is a multi-part message in MIME format. ------=ALIBOUNDARY_31952_7fe07c734700_65af1577_6ab598 Content-Type: multipart/related; boundary="----=ALIBOUNDARY_31952_7fe07c734700_65af1577_6ab599" ------=ALIBOUNDARY_31952_7fe07c734700_65af1577_6ab599 Content-Type: multipart/alternative; boundary="----=ALIBOUNDARY_31952_7fe07c734700_65af1577_6ab59a" ------=ALIBOUNDARY_31952_7fe07c734700_65af1577_6ab59a Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 SGVsbG8uCldlIGFyZSBVYmlzZWN0ZWNoIFNpcml1cyBUZWFtLCB0aGUgdnVsbmVyYWJpbGl0eSBs YWIgb2YgQ2hpbmEgVmFsaWFudFNlYy4gUmVjZW50bHksIG91ciB0ZWFtIGhhcyBkaXNjb3ZlcmVk IGEgaXNzdWUgaW4gTGludXgga2VybmVsIDYuNy4wLWc5ZDE2OTRkYzkxY2UuIEF0dGFjaGVkIHRv IHRoZSBlbWFpbCB3ZXJlIGEgUE9DIGZpbGUgb2YgdGhlIGlzc3VlLgpTdGFjayBkdW1wOgpnZW5l cmFsIHByb3RlY3Rpb24gZmF1bHQsIHByb2JhYmx5IGZvciBub24tY2Fub25pY2FsIGFkZHJlc3Mg MHhkZmZmZmMwMDAwMDAwMDM4OiAwMDAwIFsjMV0gUFJFRU1QVCBTTVAgS0FTQU4KS0FTQU46IG51 bGwtcHRyLWRlcmVmIGluIHJhbmdlIFsweDAwMDAwMDAwMDAwMDAxYzAtMHgwMDAwMDAwMDAwMDAw MWM3XQpDUFU6IDAgUElEOiAxNiBDb21tOiBrc29mdGlycWQvMCBOb3QgdGFpbnRlZCA2LjcuMC1n OWQxNjk0ZGM5MWNlICMyMApIYXJkd2FyZSBuYW1lOiBRRU1VIFN0YW5kYXJkIFBDIChpNDQwRlgg KyBQSUlYLCAxOTk2KSwgQklPUyAxLjE1LjAtMSAwNC8wMS8yMDE0ClJJUDogMDAxMDpfX3F1ZXVl X3dvcmsrMHg5ZC8weDExNjAga2VybmVsL3dvcmtxdWV1ZS5jOjE3MjcKQ2FsbCBUcmFjZToKPFRB U0s+CnF1ZXVlX3dvcmtfb24rMHhmMi8weDExMCBrZXJuZWwvd29ya3F1ZXVlLmM6MTgzNwpxdWV1 ZV93b3JrIGluY2x1ZGUvbGludXgvd29ya3F1ZXVlLmg6NTQ4IFtpbmxpbmVdCmllZWU4MDIxMV9x dWV1ZV93b3JrIG5ldC9tYWM4MDIxMS91dGlsLmM6ODk4IFtpbmxpbmVdCmllZWU4MDIxMV9xdWV1 ZV93b3JrKzB4MTExLzB4MTgwIG5ldC9tYWM4MDIxMS91dGlsLmM6ODkxCmF0aDlrX3dtaV9ldmVu dF90YXNrbGV0KzB4MzI3LzB4NDUwIGRyaXZlcnMvbmV0L3dpcmVsZXNzL2F0aC9hdGg5ay93bWku YzoxNjgKdGFza2xldF9hY3Rpb25fY29tbW9uLmNvbnN0cHJvcC4wKzB4MjI5LzB4MzkwIGtlcm5l bC9zb2Z0aXJxLmM6NzgwCl9fZG9fc29mdGlycSsweDFkNC8weDg1ZSBrZXJuZWwvc29mdGlycS5j OjU1MwpydW5fa3NvZnRpcnFkIGtlcm5lbC9zb2Z0aXJxLmM6OTIxIFtpbmxpbmVdCnJ1bl9rc29m dGlycWQrMHgzMS8weDYwIGtlcm5lbC9zb2Z0aXJxLmM6OTEzCnNtcGJvb3RfdGhyZWFkX2ZuKzB4 NjNjLzB4OWYwIGtlcm5lbC9zbXBib290LmM6MTY0Cmt0aHJlYWQrMHgyY2MvMHgzYjAga2VybmVs L2t0aHJlYWQuYzozODgKcmV0X2Zyb21fZm9yaysweDQ1LzB4ODAgYXJjaC94ODYva2VybmVsL3By b2Nlc3MuYzoxNDcKcmV0X2Zyb21fZm9ya19hc20rMHgxMS8weDIwIGFyY2gveDg2L2VudHJ5L2Vu dHJ5XzY0LlM6MjQyCjwvVEFTSz4KTW9kdWxlcyBsaW5rZWQgaW46Ci0tLVsgZW5kIHRyYWNlIDAw MDAwMDAwMDAwMDAwMDAgXS0tLQpSSVA6IDAwMTA6X19xdWV1ZV93b3JrKzB4OWQvMHgxMTYwIGtl cm5lbC93b3JrcXVldWUuYzoxNzI3ClRoYW5rIHlvdSBmb3IgdGFraW5nIHRoZSB0aW1lIHRvIHJl YWQgdGhpcyBlbWFpbCBhbmQgd2UgbG9vayBmb3J3YXJkIHRvIHdvcmtpbmcgd2l0aCB5b3UgZnVy dGhlci4KIFViaXNlY3RlY2ggU2lyaXVzIFRlYW0KIFdlYjogd3d3LnViaXNlY3RlY2guY29tCiBF bWFpbDogYnVncmVwb3J0QHViaXNlY3RlY2guY29tCg== ------=ALIBOUNDARY_31952_7fe07c734700_65af1577_6ab59a Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: base64 PGRpdiBjbGFzcz0iX19hbGl5dW5fZW1haWxfYm9keV9ibG9jayI+PGRpdiAgc3R5bGU9ImxpbmUt aGVpZ2h0OjEuNztmb250LWZhbWlseTpUYWhvbWEsQXJpYWwsU1RIZWl0aSxTaW1TdW47Zm9udC1z aXplOjE0LjBweDtjb2xvcjojMDAwMDAwOyI+PGRpdiAgc3R5bGU9ImNsZWFyOmJvdGg7Ij48cCAg Y2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjouMHB4IC4wcHggLjBweDt0ZXh0LWFsaWdu Omp1c3RpZnk7Zm9udC1mYW1pbHk6Q2FsaWJyaTtmb250LXNpemU6MTQuMHB4OyI+PHNwYW4gIHN0 eWxlPSJmb250LWZhbWlseTpDYWxpYnJpO2ZvbnQtc2l6ZToxNC4wcHg7Ij5IZWxsby48L3NwYW4+ PC9wPjxwICBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOi4wcHggLjBweCAuMHB4O3Rl eHQtYWxpZ246anVzdGlmeTtmb250LXNpemU6MTQuMHB4O3RleHQtaW5kZW50OjI4LjBweDsiPjxz cGFuICBzdHlsZT0iZm9udC1mYW1pbHk6Q2FsaWJyaTtmb250LXNpemU6MTQuMHB4OyI+V2UgYXJl IFViaXNlY3RlY2ggU2lyaXVzIFRlYW0sIHRoZSB2dWxuZXJhYmlsaXR5IGxhYiBvZiBDaGluYSBW YWxpYW50U2VjLjwvc3Bhbj48c3BhbiAgc3R5bGU9ImZvbnQtc2l6ZToxNC4wcHg7Ij48Zm9udCAg ZmFjZT0i5a6L5L2TIj4mbmJzcDs8L2ZvbnQ+PC9zcGFuPjxzcGFuICBzdHlsZT0iZm9udC1mYW1p bHk6Q2FsaWJyaTtmb250LXNpemU6MTQuMHB4OyI+Ujwvc3Bhbj48c3BhbiAgc3R5bGU9ImZvbnQt ZmFtaWx5OkNhbGlicmk7Zm9udC1zaXplOjE0LjBweDsiPmVjZW50bHksIG91ciB0ZWFtIGhhcyBk aXNjb3ZlcmVkIGEgPC9zcGFuPjxzcGFuICBzdHlsZT0iZm9udC1mYW1pbHk6Q2FsaWJyaTtmb250 LXNpemU6MTQuMHB4OyI+aXNzdWU8L3NwYW4+PHNwYW4gIHN0eWxlPSJmb250LXNpemU6MTQuMHB4 OyI+PGZvbnQgIGZhY2U9IuWui+S9kyI+Jm5ic3A7PC9mb250Pjwvc3Bhbj48c3BhbiAgc3R5bGU9 ImZvbnQtZmFtaWx5OuWui+S9kztmb250LXNpemU6MTQuMHB4OyI+PHNwYW4gIHN0eWxlPSJmb250 LWZhbWlseTpDYWxpYnJpOyI+aW4gTGludXg8L3NwYW4+PC9zcGFuPjxzcGFuICBzdHlsZT0iZm9u dC1mYW1pbHk65a6L5L2TO2ZvbnQtc2l6ZToxNC4wcHg7Ij4mbmJzcDs8c3BhbiAgc3R5bGU9ImZv bnQtZmFtaWx5OkNhbGlicmk7Ij5rZXJuZWwgPC9zcGFuPjwvc3Bhbj48c3BhbiAgc3R5bGU9ImZv bnQtZmFtaWx5OkNhbGlicmk7Zm9udC1zaXplOjE0LjBweDsiPjYuNy4wLWc5ZDE2OTRkYzkxY2U8 L3NwYW4+PHNwYW4gIHN0eWxlPSJmb250LWZhbWlseTpDYWxpYnJpO2ZvbnQtc2l6ZToxNC4wcHg7 Ij4uJm5ic3A7IEF0dGFjaGVkIHRvIHRoZSBlbWFpbCB3ZXJlIGEgUE9DIGZpbGUgb2YgdGhlIGlz c3VlLjwvc3Bhbj48L3A+PHAgIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46LjBweCAu MHB4IC4wcHg7dGV4dC1hbGlnbjpqdXN0aWZ5O2ZvbnQtZmFtaWx5OkNhbGlicmk7Zm9udC1zaXpl OjE0LjBweDt0ZXh0LWluZGVudDoyOC4wcHg7Ij48c3BhbiAgc3R5bGU9ImZvbnQtZmFtaWx5OkNh bGlicmk7Zm9udC1zaXplOjE0LjBweDsiPiZuYnNwOzwvc3Bhbj48L3A+PHAgIGNsYXNzPSJNc29O b3JtYWwiIHN0eWxlPSJtYXJnaW46LjBweCAuMHB4IC4wcHg7dGV4dC1hbGlnbjpqdXN0aWZ5O2Zv bnQtZmFtaWx5OkNhbGlicmk7Zm9udC1zaXplOjE0LjBweDsiPjxzcGFuICBzdHlsZT0iZm9udC13 ZWlnaHQ6NzAwO2ZvbnQtZmFtaWx5OkNhbGlicmk7Zm9udC1zaXplOjE0LjBweDsiPlN0YWNrIGR1 bXA8L3NwYW4+PHNwYW4gIHN0eWxlPSJmb250LXdlaWdodDo3MDA7Zm9udC1mYW1pbHk6Q2FsaWJy aTtmb250LXNpemU6MTQuMHB4OyI+Ojwvc3Bhbj48L3A+PHAgIGNsYXNzPSJNc29Ob3JtYWwiIHN0 eWxlPSJtYXJnaW46LjBweCAuMHB4IC4wcHg7dGV4dC1hbGlnbjpqdXN0aWZ5O2ZvbnQtZmFtaWx5 OkNhbGlicmk7Zm9udC1zaXplOjE0LjBweDsiPjxzcGFuICBzdHlsZT0iZm9udC1mYW1pbHk6Q2Fs aWJyaTtmb250LXNpemU6MTQuMHB4OyI+Z2VuZXJhbCBwcm90ZWN0aW9uIGZhdWx0LCBwcm9iYWJs eSBmb3Igbm9uLWNhbm9uaWNhbCBhZGRyZXNzIDB4ZGZmZmZjMDAwMDAwMDAzODogMDAwMCBbIzFd IFBSRUVNUFQgU01QIEtBU0FOPC9zcGFuPjwvcD48cCAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9 Im1hcmdpbjouMHB4IC4wcHggLjBweDt0ZXh0LWFsaWduOmp1c3RpZnk7Zm9udC1mYW1pbHk6Q2Fs aWJyaTtmb250LXNpemU6MTQuMHB4OyI+PHNwYW4gIHN0eWxlPSJmb250LWZhbWlseTpDYWxpYnJp O2ZvbnQtc2l6ZToxNC4wcHg7Ij5LQVNBTjogbnVsbC1wdHItZGVyZWYgaW4gcmFuZ2UgWzB4MDAw MDAwMDAwMDAwMDFjMC0weDAwMDAwMDAwMDAwMDAxYzddPC9zcGFuPjwvcD48cCAgY2xhc3M9Ik1z b05vcm1hbCIgc3R5bGU9Im1hcmdpbjouMHB4IC4wcHggLjBweDt0ZXh0LWFsaWduOmp1c3RpZnk7 Zm9udC1mYW1pbHk6Q2FsaWJyaTtmb250LXNpemU6MTQuMHB4OyI+PHNwYW4gIHN0eWxlPSJmb250 LWZhbWlseTpDYWxpYnJpO2ZvbnQtc2l6ZToxNC4wcHg7Ij5DUFU6IDAgUElEOiAxNiBDb21tOiBr c29mdGlycWQvMCBOb3QgdGFpbnRlZCA2LjcuMC1nOWQxNjk0ZGM5MWNlICMyMDwvc3Bhbj48L3A+ PHAgIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46LjBweCAuMHB4IC4wcHg7dGV4dC1h bGlnbjpqdXN0aWZ5O2ZvbnQtZmFtaWx5OkNhbGlicmk7Zm9udC1zaXplOjE0LjBweDsiPjxzcGFu ICBzdHlsZT0iZm9udC1mYW1pbHk6Q2FsaWJyaTtmb250LXNpemU6MTQuMHB4OyI+SGFyZHdhcmUg bmFtZTogUUVNVSBTdGFuZGFyZCBQQyAoaTQ0MEZYICsgUElJWCwgMTk5NiksIEJJT1MgMS4xNS4w LTEgMDQvMDEvMjAxNDwvc3Bhbj48L3A+PHAgIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJn aW46LjBweCAuMHB4IC4wcHg7dGV4dC1hbGlnbjpqdXN0aWZ5O2ZvbnQtZmFtaWx5OkNhbGlicmk7 Zm9udC1zaXplOjE0LjBweDsiPjxzcGFuICBzdHlsZT0iZm9udC1mYW1pbHk6Q2FsaWJyaTtmb250 LXNpemU6MTQuMHB4OyI+UklQOiAwMDEwOl9fcXVldWVfd29yaysweDlkLzB4MTE2MCBrZXJuZWwv d29ya3F1ZXVlLmM6MTcyNzwvc3Bhbj48L3A+PHAgIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJt YXJnaW46LjBweCAuMHB4IC4wcHg7dGV4dC1hbGlnbjpqdXN0aWZ5O2ZvbnQtZmFtaWx5OkNhbGli cmk7Zm9udC1zaXplOjE0LjBweDsiPjxzcGFuICBzdHlsZT0iZm9udC1mYW1pbHk6Q2FsaWJyaTtm b250LXNpemU6MTQuMHB4OyI+Q2FsbCBUcmFjZTo8L3NwYW4+PC9wPjxwICBjbGFzcz0iTXNvTm9y bWFsIiBzdHlsZT0ibWFyZ2luOi4wcHggLjBweCAuMHB4O3RleHQtYWxpZ246anVzdGlmeTtmb250 LWZhbWlseTpDYWxpYnJpO2ZvbnQtc2l6ZToxNC4wcHg7Ij48c3BhbiAgc3R5bGU9ImZvbnQtZmFt aWx5OuWui+S9kztmb250LXNpemU6MTQuMHB4OyI+Jm5ic3A7PHNwYW4gIHN0eWxlPSJmb250LWZh bWlseTpDYWxpYnJpOyI+Jmx0O1RBU0smZ3Q7PC9zcGFuPjwvc3Bhbj48L3A+PHAgIGNsYXNzPSJN c29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46LjBweCAuMHB4IC4wcHg7dGV4dC1hbGlnbjpqdXN0aWZ5 O2ZvbnQtZmFtaWx5OkNhbGlicmk7Zm9udC1zaXplOjE0LjBweDsiPjxzcGFuICBzdHlsZT0iZm9u dC1mYW1pbHk65a6L5L2TO2ZvbnQtc2l6ZToxNC4wcHg7Ij4mbmJzcDs8c3BhbiAgc3R5bGU9ImZv bnQtZmFtaWx5OkNhbGlicmk7Ij5xdWV1ZV93b3JrX29uKzB4ZjIvMHgxMTAga2VybmVsL3dvcmtx dWV1ZS5jOjE4Mzc8L3NwYW4+PC9zcGFuPjwvcD48cCAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9 Im1hcmdpbjouMHB4IC4wcHggLjBweDt0ZXh0LWFsaWduOmp1c3RpZnk7Zm9udC1mYW1pbHk6Q2Fs aWJyaTtmb250LXNpemU6MTQuMHB4OyI+PHNwYW4gIHN0eWxlPSJmb250LWZhbWlseTrlrovkvZM7 Zm9udC1zaXplOjE0LjBweDsiPiZuYnNwOzxzcGFuICBzdHlsZT0iZm9udC1mYW1pbHk6Q2FsaWJy aTsiPnF1ZXVlX3dvcmsgaW5jbHVkZS9saW51eC93b3JrcXVldWUuaDo1NDggW2lubGluZV08L3Nw YW4+PC9zcGFuPjwvcD48cCAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjouMHB4IC4w cHggLjBweDt0ZXh0LWFsaWduOmp1c3RpZnk7Zm9udC1mYW1pbHk6Q2FsaWJyaTtmb250LXNpemU6 MTQuMHB4OyI+PHNwYW4gIHN0eWxlPSJmb250LWZhbWlseTrlrovkvZM7Zm9udC1zaXplOjE0LjBw eDsiPiZuYnNwOzxzcGFuICBzdHlsZT0iZm9udC1mYW1pbHk6Q2FsaWJyaTsiPmllZWU4MDIxMV9x dWV1ZV93b3JrIG5ldC9tYWM4MDIxMS91dGlsLmM6ODk4IFtpbmxpbmVdPC9zcGFuPjwvc3Bhbj48 L3A+PHAgIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46LjBweCAuMHB4IC4wcHg7dGV4 dC1hbGlnbjpqdXN0aWZ5O2ZvbnQtZmFtaWx5OkNhbGlicmk7Zm9udC1zaXplOjE0LjBweDsiPjxz cGFuICBzdHlsZT0iZm9udC1mYW1pbHk65a6L5L2TO2ZvbnQtc2l6ZToxNC4wcHg7Ij4mbmJzcDs8 c3BhbiAgc3R5bGU9ImZvbnQtZmFtaWx5OkNhbGlicmk7Ij5pZWVlODAyMTFfcXVldWVfd29yaysw eDExMS8weDE4MCBuZXQvbWFjODAyMTEvdXRpbC5jOjg5MTwvc3Bhbj48L3NwYW4+PC9wPjxwICBj bGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOi4wcHggLjBweCAuMHB4O3RleHQtYWxpZ246 anVzdGlmeTtmb250LWZhbWlseTpDYWxpYnJpO2ZvbnQtc2l6ZToxNC4wcHg7Ij48c3BhbiAgc3R5 bGU9ImZvbnQtZmFtaWx5OuWui+S9kztmb250LXNpemU6MTQuMHB4OyI+Jm5ic3A7PHNwYW4gIHN0 eWxlPSJmb250LWZhbWlseTpDYWxpYnJpOyI+YXRoOWtfd21pX2V2ZW50X3Rhc2tsZXQrMHgzMjcv MHg0NTAgZHJpdmVycy9uZXQvd2lyZWxlc3MvYXRoL2F0aDlrL3dtaS5jOjE2ODwvc3Bhbj48L3Nw YW4+PC9wPjxwICBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOi4wcHggLjBweCAuMHB4 O3RleHQtYWxpZ246anVzdGlmeTtmb250LWZhbWlseTpDYWxpYnJpO2ZvbnQtc2l6ZToxNC4wcHg7 Ij48c3BhbiAgc3R5bGU9ImZvbnQtZmFtaWx5OuWui+S9kztmb250LXNpemU6MTQuMHB4OyI+Jm5i c3A7PHNwYW4gIHN0eWxlPSJmb250LWZhbWlseTpDYWxpYnJpOyI+dGFza2xldF9hY3Rpb25fY29t bW9uLmNvbnN0cHJvcC4wKzB4MjI5LzB4MzkwIGtlcm5lbC9zb2Z0aXJxLmM6NzgwPC9zcGFuPjwv c3Bhbj48L3A+PHAgIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46LjBweCAuMHB4IC4w cHg7dGV4dC1hbGlnbjpqdXN0aWZ5O2ZvbnQtZmFtaWx5OkNhbGlicmk7Zm9udC1zaXplOjE0LjBw eDsiPjxzcGFuICBzdHlsZT0iZm9udC1mYW1pbHk65a6L5L2TO2ZvbnQtc2l6ZToxNC4wcHg7Ij4m bmJzcDs8c3BhbiAgc3R5bGU9ImZvbnQtZmFtaWx5OkNhbGlicmk7Ij5fX2RvX3NvZnRpcnErMHgx ZDQvMHg4NWUga2VybmVsL3NvZnRpcnEuYzo1NTM8L3NwYW4+PC9zcGFuPjwvcD48cCAgY2xhc3M9 Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjouMHB4IC4wcHggLjBweDt0ZXh0LWFsaWduOmp1c3Rp Znk7Zm9udC1mYW1pbHk6Q2FsaWJyaTtmb250LXNpemU6MTQuMHB4OyI+PHNwYW4gIHN0eWxlPSJm b250LWZhbWlseTrlrovkvZM7Zm9udC1zaXplOjE0LjBweDsiPiZuYnNwOzxzcGFuICBzdHlsZT0i Zm9udC1mYW1pbHk6Q2FsaWJyaTsiPnJ1bl9rc29mdGlycWQga2VybmVsL3NvZnRpcnEuYzo5MjEg W2lubGluZV08L3NwYW4+PC9zcGFuPjwvcD48cCAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1h cmdpbjouMHB4IC4wcHggLjBweDt0ZXh0LWFsaWduOmp1c3RpZnk7Zm9udC1mYW1pbHk6Q2FsaWJy aTtmb250LXNpemU6MTQuMHB4OyI+PHNwYW4gIHN0eWxlPSJmb250LWZhbWlseTrlrovkvZM7Zm9u dC1zaXplOjE0LjBweDsiPiZuYnNwOzxzcGFuICBzdHlsZT0iZm9udC1mYW1pbHk6Q2FsaWJyaTsi PnJ1bl9rc29mdGlycWQrMHgzMS8weDYwIGtlcm5lbC9zb2Z0aXJxLmM6OTEzPC9zcGFuPjwvc3Bh bj48L3A+PHAgIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46LjBweCAuMHB4IC4wcHg7 dGV4dC1hbGlnbjpqdXN0aWZ5O2ZvbnQtZmFtaWx5OkNhbGlicmk7Zm9udC1zaXplOjE0LjBweDsi PjxzcGFuICBzdHlsZT0iZm9udC1mYW1pbHk65a6L5L2TO2ZvbnQtc2l6ZToxNC4wcHg7Ij4mbmJz cDs8c3BhbiAgc3R5bGU9ImZvbnQtZmFtaWx5OkNhbGlicmk7Ij5zbXBib290X3RocmVhZF9mbisw eDYzYy8weDlmMCBrZXJuZWwvc21wYm9vdC5jOjE2NDwvc3Bhbj48L3NwYW4+PC9wPjxwICBjbGFz cz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOi4wcHggLjBweCAuMHB4O3RleHQtYWxpZ246anVz dGlmeTtmb250LWZhbWlseTpDYWxpYnJpO2ZvbnQtc2l6ZToxNC4wcHg7Ij48c3BhbiAgc3R5bGU9 ImZvbnQtZmFtaWx5OuWui+S9kztmb250LXNpemU6MTQuMHB4OyI+Jm5ic3A7PHNwYW4gIHN0eWxl PSJmb250LWZhbWlseTpDYWxpYnJpOyI+a3RocmVhZCsweDJjYy8weDNiMCBrZXJuZWwva3RocmVh ZC5jOjM4ODwvc3Bhbj48L3NwYW4+PC9wPjxwICBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFy Z2luOi4wcHggLjBweCAuMHB4O3RleHQtYWxpZ246anVzdGlmeTtmb250LWZhbWlseTpDYWxpYnJp O2ZvbnQtc2l6ZToxNC4wcHg7Ij48c3BhbiAgc3R5bGU9ImZvbnQtZmFtaWx5OuWui+S9kztmb250 LXNpemU6MTQuMHB4OyI+Jm5ic3A7PHNwYW4gIHN0eWxlPSJmb250LWZhbWlseTpDYWxpYnJpOyI+ cmV0X2Zyb21fZm9yaysweDQ1LzB4ODAgYXJjaC94ODYva2VybmVsL3Byb2Nlc3MuYzoxNDc8L3Nw YW4+PC9zcGFuPjwvcD48cCAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjouMHB4IC4w cHggLjBweDt0ZXh0LWFsaWduOmp1c3RpZnk7Zm9udC1mYW1pbHk6Q2FsaWJyaTtmb250LXNpemU6 MTQuMHB4OyI+PHNwYW4gIHN0eWxlPSJmb250LWZhbWlseTrlrovkvZM7Zm9udC1zaXplOjE0LjBw eDsiPiZuYnNwOzxzcGFuICBzdHlsZT0iZm9udC1mYW1pbHk6Q2FsaWJyaTsiPnJldF9mcm9tX2Zv cmtfYXNtKzB4MTEvMHgyMCBhcmNoL3g4Ni9lbnRyeS9lbnRyeV82NC5TOjI0Mjwvc3Bhbj48L3Nw YW4+PC9wPjxwICBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOi4wcHggLjBweCAuMHB4 O3RleHQtYWxpZ246anVzdGlmeTtmb250LWZhbWlseTpDYWxpYnJpO2ZvbnQtc2l6ZToxNC4wcHg7 Ij48c3BhbiAgc3R5bGU9ImZvbnQtZmFtaWx5OuWui+S9kztmb250LXNpemU6MTQuMHB4OyI+Jm5i c3A7PHNwYW4gIHN0eWxlPSJmb250LWZhbWlseTpDYWxpYnJpOyI+Jmx0Oy9UQVNLJmd0Ozwvc3Bh bj48L3NwYW4+PC9wPjxwICBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOi4wcHggLjBw eCAuMHB4O3RleHQtYWxpZ246anVzdGlmeTtmb250LWZhbWlseTpDYWxpYnJpO2ZvbnQtc2l6ZTox NC4wcHg7Ij48c3BhbiAgc3R5bGU9ImZvbnQtZmFtaWx5OkNhbGlicmk7Zm9udC1zaXplOjE0LjBw eDsiPk1vZHVsZXMgbGlua2VkIGluOjwvc3Bhbj48L3A+PHAgIGNsYXNzPSJNc29Ob3JtYWwiIHN0 eWxlPSJtYXJnaW46LjBweCAuMHB4IC4wcHg7dGV4dC1hbGlnbjpqdXN0aWZ5O2ZvbnQtZmFtaWx5 OkNhbGlicmk7Zm9udC1zaXplOjE0LjBweDsiPjxzcGFuICBzdHlsZT0iZm9udC1mYW1pbHk6Q2Fs aWJyaTtmb250LXNpemU6MTQuMHB4OyI+LS0tWyBlbmQgdHJhY2UgMDAwMDAwMDAwMDAwMDAwMCBd LS0tPC9zcGFuPjwvcD48cCAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjouMHB4IC4w cHggLjBweDt0ZXh0LWFsaWduOmp1c3RpZnk7Zm9udC1mYW1pbHk6Q2FsaWJyaTtmb250LXNpemU6 MTQuMHB4OyI+PHNwYW4gIHN0eWxlPSJmb250LWZhbWlseTpDYWxpYnJpO2ZvbnQtc2l6ZToxNC4w cHg7Ij5SSVA6IDAwMTA6X19xdWV1ZV93b3JrKzB4OWQvMHgxMTYwIGtlcm5lbC93b3JrcXVldWUu YzoxNzI3PC9zcGFuPjwvcD48cCAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjouMHB4 IC4wcHggLjBweDt0ZXh0LWFsaWduOmp1c3RpZnk7Zm9udC1mYW1pbHk6Q2FsaWJyaTtmb250LXNp emU6MTQuMHB4OyI+PHNwYW4gIHN0eWxlPSJmb250LWZhbWlseTrlrovkvZM7Zm9udC1zaXplOjE0 LjBweDsiPiZuYnNwOzwvc3Bhbj48L3A+PHAgIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJn aW46LjBweCAuMHB4IC4wcHg7dGV4dC1hbGlnbjpqdXN0aWZ5O2ZvbnQtZmFtaWx5OkNhbGlicmk7 Zm9udC1zaXplOjE0LjBweDsiPjxzcGFuICBzdHlsZT0iZm9udC1mYW1pbHk6Q2FsaWJyaTtmb250 LXNpemU6MTQuMHB4OyI+VGhhbmsgeW91IGZvciB0YWtpbmcgdGhlIHRpbWUgdG8gcmVhZCB0aGlz IGVtYWlsIGFuZCB3ZSBsb29rIGZvcndhcmQgdG8gd29ya2luZyB3aXRoIHlvdSBmdXJ0aGVyLjwv c3Bhbj48L3A+PC9kaXY+PGRpdiAgc3R5bGU9ImNsZWFyOmJvdGg7Ij48YnIgPjwvZGl2PjxkaXYg IHN0eWxlPSJjbGVhcjpib3RoOyI+PGJyID48L2Rpdj48ZGl2ICBzdHlsZT0iY2xlYXI6Ym90aDsi PjxkaXYgIGNsYXNzPSIgX19hbGl5dW5fbm9kZV9oYXNfY29sb3IiIHN0eWxlPSJtYXJnaW46LjBw eDtwYWRkaW5nOi4wcHg7Ym9yZGVyOi4wcHg7b3V0bGluZTouMHB4O2NvbG9yOiMwMDAwMDA7Zm9u dC1mYW1pbHk6SGVsdmV0aWNhLFRhaG9tYSxBcmlhbDtmb250LXNpemU6MTQuMHB4O2ZvbnQtc3R5 bGU6bm9ybWFsO2ZvbnQtdmFyaWFudC1saWdhdHVyZXM6bm9ybWFsO2ZvbnQtdmFyaWFudC1jYXBz Om5vcm1hbDtmb250LXdlaWdodDo0MDA7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO3RleHQtYWxpZ246 c3RhcnQ7dGV4dC1pbmRlbnQ6LjBweDt0ZXh0LXRyYW5zZm9ybTpub25lO3doaXRlLXNwYWNlOm5v cm1hbDt3b3JkLXNwYWNpbmc6LjBweDt0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOmluaXRpYWw7 dGV4dC1kZWNvcmF0aW9uLXN0eWxlOmluaXRpYWw7dGV4dC1kZWNvcmF0aW9uLWNvbG9yOmluaXRp YWw7Y2xlYXI6Ym90aDsiPjxzcGFuICBzdHlsZT0ibWFyZ2luOi4wcHg7cGFkZGluZzouMHB4O2Jv cmRlcjouMHB4O291dGxpbmU6LjBweDtmb250LXNpemU6MTguMHB4O2ZvbnQtZmFtaWx5OmFyaWFs OyI+PGJyID48L3NwYW4+PGRpdiAgc3R5bGU9Im1hcmdpbjouMHB4O3BhZGRpbmc6LjBweDtib3Jk ZXI6LjBweDtvdXRsaW5lOi4wcHg7Y2xlYXI6Ym90aDsiPjxociAgY2xhc3M9IiBfX2FsaXl1bl9u b2RlX2hhc19iZ2NvbG9yIiBzdHlsZT0iaGVpZ2h0OjIuMHB4O292ZXJmbG93OmhpZGRlbjtwYWRk aW5nOi4wcHg7YmFja2dyb3VuZC1jb2xvcjojZTdlN2U3O2JvcmRlcjpub25lO21hcmdpbjoxMi4w cHggLjBweDsiPjwvZGl2PjxkaXYgIHN0eWxlPSJtYXJnaW46LjBweDtwYWRkaW5nOi4wcHg7Ym9y ZGVyOi4wcHg7b3V0bGluZTouMHB4O2NsZWFyOmJvdGg7Ij48c3BhbiAgc3R5bGU9Im1hcmdpbjou MHB4O3BhZGRpbmc6LjBweDtib3JkZXI6LjBweDtvdXRsaW5lOi4wcHg7Zm9udC1zaXplOjE4LjBw eDtmb250LWZhbWlseTphcmlhbDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFViaXNlY3RlY2ggU2lyaXVz IFRlYW08L3NwYW4+PC9kaXY+PGRpdiAgc3R5bGU9Im1hcmdpbjouMHB4O3BhZGRpbmc6LjBweDti b3JkZXI6LjBweDtvdXRsaW5lOi4wcHg7Y2xlYXI6Ym90aDsiPjxzcGFuICBzdHlsZT0ibWFyZ2lu Oi4wcHg7cGFkZGluZzouMHB4O2JvcmRlcjouMHB4O291dGxpbmU6LjBweDtmb250LXNpemU6MTgu MHB4O2ZvbnQtZmFtaWx5OmFyaWFsOyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO1dlYjxzcGFuICBjbGFzcz0iIF9fYWxp eXVuX25vZGVfaGFzX2NvbG9yIF9fYWxpeXVuX25vZGVfaGFzX2JnY29sb3IiIHN0eWxlPSJtYXJn aW46LjBweDtwYWRkaW5nOi4wcHg7Ym9yZGVyOi4wcHg7b3V0bGluZTouMHB4O2ZvbnQtZmFtaWx5 OmFyaWFsO2NvbG9yOiMwMDAwMDA7Zm9udC1zaXplOjE4LjBweDtmb250LXN0eWxlOm5vcm1hbDtm b250LXZhcmlhbnQtbGlnYXR1cmVzOm5vcm1hbDtmb250LXZhcmlhbnQtY2Fwczpub3JtYWw7Zm9u dC13ZWlnaHQ6NDAwO2xldHRlci1zcGFjaW5nOm5vcm1hbDt0ZXh0LWFsaWduOnN0YXJ0O3RleHQt aW5kZW50Oi4wcHg7dGV4dC10cmFuc2Zvcm06bm9uZTt3b3JkLXNwYWNpbmc6LjBweDt3aGl0ZS1z cGFjZTpub3JtYWw7YmFja2dyb3VuZC1jb2xvcjojZmZmZmZmO3RleHQtZGVjb3JhdGlvbi10aGlj a25lc3M6aW5pdGlhbDt0ZXh0LWRlY29yYXRpb24tc3R5bGU6aW5pdGlhbDt0ZXh0LWRlY29yYXRp b24tY29sb3I6aW5pdGlhbDtkaXNwbGF5OmlubGluZTtmbG9hdDpub25lOyI+OiZuYnNwOzwvc3Bh bj53d3cudWJpc2VjdGVjaC5jb208L3NwYW4+PC9kaXY+PHNwYW4gIHN0eWxlPSJtYXJnaW46LjBw eDtwYWRkaW5nOi4wcHg7Ym9yZGVyOi4wcHg7b3V0bGluZTouMHB4O2ZvbnQtc2l6ZToxOC4wcHg7 Zm9udC1mYW1pbHk6YXJpYWw7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7IEVtYWlsOiZuYnNwO2J1Z3JlcG9ydEB1YmlzZWN0ZWNoLmNvbTwvc3Bhbj48L2Rp dj48ZGl2ICBjbGFzcz0iIF9fYWxpeXVuX25vZGVfaGFzX2NvbG9yIiBzdHlsZT0ibWFyZ2luOi4w cHg7cGFkZGluZzouMHB4O2JvcmRlcjouMHB4O291dGxpbmU6LjBweDtjb2xvcjojMDAwMDAwO2Zv bnQtZmFtaWx5OkhlbHZldGljYSxUYWhvbWEsQXJpYWw7Zm9udC1zaXplOjE0LjBweDtmb250LXN0 eWxlOm5vcm1hbDtmb250LXZhcmlhbnQtbGlnYXR1cmVzOm5vcm1hbDtmb250LXZhcmlhbnQtY2Fw czpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2xldHRlci1zcGFjaW5nOm5vcm1hbDt0ZXh0LWFsaWdu OnN0YXJ0O3RleHQtaW5kZW50Oi4wcHg7dGV4dC10cmFuc2Zvcm06bm9uZTt3aGl0ZS1zcGFjZTpu b3JtYWw7d29yZC1zcGFjaW5nOi4wcHg7dGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczppbml0aWFs O3RleHQtZGVjb3JhdGlvbi1zdHlsZTppbml0aWFsO3RleHQtZGVjb3JhdGlvbi1jb2xvcjppbml0 aWFsO2NsZWFyOmJvdGg7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7PGltZyAgaGVp Z2h0PSI5NyIgc3JjPSJjaWQ6X19hbGl5dW4xNzA1OTczMTExMDQ0ODU0ODEiIHdpZHRoPSIyODUi IHN0eWxlPSJ2ZXJ0aWNhbC1hbGlnbjpib3R0b207Ij48L2Rpdj48L2Rpdj48ZGl2ICBzdHlsZT0i Y2xlYXI6Ym90aDsiPjxiciA+PC9kaXY+PC9kaXY+PC9kaXY+ ------=ALIBOUNDARY_31952_7fe07c734700_65af1577_6ab59a-- ------=ALIBOUNDARY_31952_7fe07c734700_65af1577_6ab599 Content-Type: application/octet-stream Content-ID: <__aliyun170597311104485481> Content-Disposition: inline; filename="=?UTF-8?B?5qiq5p2/56uW54mI57uE5ZCITE9HT1/nlLvmnb8gMS5wbmc=?=" Content-Transfer-Encoding: base64 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 ------=ALIBOUNDARY_31952_7fe07c734700_65af1577_6ab599-- ------=ALIBOUNDARY_31952_7fe07c734700_65af1577_6ab598 Content-Type: application/octet-stream Content-Disposition: attachment; filename="=?UTF-8?B?cG9jLmM=?=" Content-Transfer-Encoding: base64 Ly8gYXV0b2dlbmVyYXRlZCBieSBzeXprYWxsZXIgKGh0dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUv c3l6a2FsbGVyKQoKI2RlZmluZSBfR05VX1NPVVJDRQoKI2luY2x1ZGUgPGRpcmVudC5oPgojaW5j bHVkZSA8ZW5kaWFuLmg+CiNpbmNsdWRlIDxlcnJuby5oPgojaW5jbHVkZSA8ZmNudGwuaD4KI2lu Y2x1ZGUgPHNpZ25hbC5oPgojaW5jbHVkZSA8c3RkYXJnLmg+CiNpbmNsdWRlIDxzdGRib29sLmg+ CiNpbmNsdWRlIDxzdGRkZWYuaD4KI2luY2x1ZGUgPHN0ZGludC5oPgojaW5jbHVkZSA8c3RkaW8u aD4KI2luY2x1ZGUgPHN0ZGxpYi5oPgojaW5jbHVkZSA8c3RyaW5nLmg+CiNpbmNsdWRlIDxzeXMv bW91bnQuaD4KI2luY2x1ZGUgPHN5cy9wcmN0bC5oPgojaW5jbHVkZSA8c3lzL3N0YXQuaD4KI2lu Y2x1ZGUgPHN5cy9zeXNjYWxsLmg+CiNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KI2luY2x1ZGUgPHN5 cy93YWl0Lmg+CiNpbmNsdWRlIDx0aW1lLmg+CiNpbmNsdWRlIDx1bmlzdGQuaD4KCiNpbmNsdWRl IDxsaW51eC91c2IvY2g5Lmg+CgpzdGF0aWMgdW5zaWduZWQgbG9uZyBsb25nIHByb2NpZDsKCnN0 YXRpYyB2b2lkIHNsZWVwX21zKHVpbnQ2NF90IG1zKQp7CiAgdXNsZWVwKG1zICogMTAwMCk7Cn0K CnN0YXRpYyB1aW50NjRfdCBjdXJyZW50X3RpbWVfbXModm9pZCkKewogIHN0cnVjdCB0aW1lc3Bl YyB0czsKICBpZiAoY2xvY2tfZ2V0dGltZShDTE9DS19NT05PVE9OSUMsICZ0cykpCiAgICBleGl0 KDEpOwogIHJldHVybiAodWludDY0X3QpdHMudHZfc2VjICogMTAwMCArICh1aW50NjRfdCl0cy50 dl9uc2VjIC8gMTAwMDAwMDsKfQoKc3RhdGljIGJvb2wgd3JpdGVfZmlsZShjb25zdCBjaGFyKiBm aWxlLCBjb25zdCBjaGFyKiB3aGF0LCAuLi4pCnsKICBjaGFyIGJ1ZlsxMDI0XTsKICB2YV9saXN0 IGFyZ3M7CiAgdmFfc3RhcnQoYXJncywgd2hhdCk7CiAgdnNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1 ZiksIHdoYXQsIGFyZ3MpOwogIHZhX2VuZChhcmdzKTsKICBidWZbc2l6ZW9mKGJ1ZikgLSAxXSA9 IDA7CiAgaW50IGxlbiA9IHN0cmxlbihidWYpOwogIGludCBmZCA9IG9wZW4oZmlsZSwgT19XUk9O TFkgfCBPX0NMT0VYRUMpOwogIGlmIChmZCA9PSAtMSkKICAgIHJldHVybiBmYWxzZTsKICBpZiAo d3JpdGUoZmQsIGJ1ZiwgbGVuKSAhPSBsZW4pIHsKICAgIGludCBlcnIgPSBlcnJubzsKICAgIGNs b3NlKGZkKTsKICAgIGVycm5vID0gZXJyOwogICAgcmV0dXJuIGZhbHNlOwogIH0KICBjbG9zZShm ZCk7CiAgcmV0dXJuIHRydWU7Cn0KCiNkZWZpbmUgTUFYX0ZEUyAzMAoKI2RlZmluZSBVU0JfTUFY X0lGQUNFX05VTSA0CiNkZWZpbmUgVVNCX01BWF9FUF9OVU0gMzIKI2RlZmluZSBVU0JfTUFYX0ZE UyA2CgpzdHJ1Y3QgdXNiX2VuZHBvaW50X2luZGV4IHsKICBzdHJ1Y3QgdXNiX2VuZHBvaW50X2Rl c2NyaXB0b3IgZGVzYzsKICBpbnQgaGFuZGxlOwp9OwoKc3RydWN0IHVzYl9pZmFjZV9pbmRleCB7 CiAgc3RydWN0IHVzYl9pbnRlcmZhY2VfZGVzY3JpcHRvciogaWZhY2U7CiAgdWludDhfdCBiSW50 ZXJmYWNlTnVtYmVyOwogIHVpbnQ4X3QgYkFsdGVybmF0ZVNldHRpbmc7CiAgdWludDhfdCBiSW50 ZXJmYWNlQ2xhc3M7CiAgc3RydWN0IHVzYl9lbmRwb2ludF9pbmRleCBlcHNbVVNCX01BWF9FUF9O VU1dOwogIGludCBlcHNfbnVtOwp9OwoKc3RydWN0IHVzYl9kZXZpY2VfaW5kZXggewogIHN0cnVj dCB1c2JfZGV2aWNlX2Rlc2NyaXB0b3IqIGRldjsKICBzdHJ1Y3QgdXNiX2NvbmZpZ19kZXNjcmlw dG9yKiBjb25maWc7CiAgdWludDhfdCBiRGV2aWNlQ2xhc3M7CiAgdWludDhfdCBiTWF4UG93ZXI7 CiAgaW50IGNvbmZpZ19sZW5ndGg7CiAgc3RydWN0IHVzYl9pZmFjZV9pbmRleCBpZmFjZXNbVVNC X01BWF9JRkFDRV9OVU1dOwogIGludCBpZmFjZXNfbnVtOwogIGludCBpZmFjZV9jdXI7Cn07Cgpz dHJ1Y3QgdXNiX2luZm8gewogIGludCBmZDsKICBzdHJ1Y3QgdXNiX2RldmljZV9pbmRleCBpbmRl eDsKfTsKCnN0YXRpYyBzdHJ1Y3QgdXNiX2luZm8gdXNiX2RldmljZXNbVVNCX01BWF9GRFNdOwoK c3RhdGljIHN0cnVjdCB1c2JfZGV2aWNlX2luZGV4KiBsb29rdXBfdXNiX2luZGV4KGludCBmZCkK ewogIGZvciAoaW50IGkgPSAwOyBpIDwgVVNCX01BWF9GRFM7IGkrKykgewogICAgaWYgKF9fYXRv bWljX2xvYWRfbigmdXNiX2RldmljZXNbaV0uZmQsIF9fQVRPTUlDX0FDUVVJUkUpID09IGZkKQog ICAgICByZXR1cm4gJnVzYl9kZXZpY2VzW2ldLmluZGV4OwogIH0KICByZXR1cm4gTlVMTDsKfQoK c3RhdGljIGludCB1c2JfZGV2aWNlc19udW07CgpzdGF0aWMgYm9vbCBwYXJzZV91c2JfZGVzY3Jp cHRvcihjb25zdCBjaGFyKiBidWZmZXIsIHNpemVfdCBsZW5ndGgsCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHN0cnVjdCB1c2JfZGV2aWNlX2luZGV4KiBpbmRleCkKewogIGlmIChs ZW5ndGggPCBzaXplb2YoKmluZGV4LT5kZXYpICsgc2l6ZW9mKCppbmRleC0+Y29uZmlnKSkKICAg IHJldHVybiBmYWxzZTsKICBtZW1zZXQoaW5kZXgsIDAsIHNpemVvZigqaW5kZXgpKTsKICBpbmRl eC0+ZGV2ID0gKHN0cnVjdCB1c2JfZGV2aWNlX2Rlc2NyaXB0b3IqKWJ1ZmZlcjsKICBpbmRleC0+ Y29uZmlnID0gKHN0cnVjdCB1c2JfY29uZmlnX2Rlc2NyaXB0b3IqKShidWZmZXIgKyBzaXplb2Yo KmluZGV4LT5kZXYpKTsKICBpbmRleC0+YkRldmljZUNsYXNzID0gaW5kZXgtPmRldi0+YkRldmlj ZUNsYXNzOwogIGluZGV4LT5iTWF4UG93ZXIgPSBpbmRleC0+Y29uZmlnLT5iTWF4UG93ZXI7CiAg aW5kZXgtPmNvbmZpZ19sZW5ndGggPSBsZW5ndGggLSBzaXplb2YoKmluZGV4LT5kZXYpOwogIGlu ZGV4LT5pZmFjZV9jdXIgPSAtMTsKICBzaXplX3Qgb2Zmc2V0ID0gMDsKICB3aGlsZSAodHJ1ZSkg ewogICAgaWYgKG9mZnNldCArIDEgPj0gbGVuZ3RoKQogICAgICBicmVhazsKICAgIHVpbnQ4X3Qg ZGVzY19sZW5ndGggPSBidWZmZXJbb2Zmc2V0XTsKICAgIHVpbnQ4X3QgZGVzY190eXBlID0gYnVm ZmVyW29mZnNldCArIDFdOwogICAgaWYgKGRlc2NfbGVuZ3RoIDw9IDIpCiAgICAgIGJyZWFrOwog ICAgaWYgKG9mZnNldCArIGRlc2NfbGVuZ3RoID4gbGVuZ3RoKQogICAgICBicmVhazsKICAgIGlm IChkZXNjX3R5cGUgPT0gVVNCX0RUX0lOVEVSRkFDRSAmJgogICAgICAgIGluZGV4LT5pZmFjZXNf bnVtIDwgVVNCX01BWF9JRkFDRV9OVU0pIHsKICAgICAgc3RydWN0IHVzYl9pbnRlcmZhY2VfZGVz Y3JpcHRvciogaWZhY2UgPQogICAgICAgICAgKHN0cnVjdCB1c2JfaW50ZXJmYWNlX2Rlc2NyaXB0 b3IqKShidWZmZXIgKyBvZmZzZXQpOwogICAgICBpbmRleC0+aWZhY2VzW2luZGV4LT5pZmFjZXNf bnVtXS5pZmFjZSA9IGlmYWNlOwogICAgICBpbmRleC0+aWZhY2VzW2luZGV4LT5pZmFjZXNfbnVt XS5iSW50ZXJmYWNlTnVtYmVyID0KICAgICAgICAgIGlmYWNlLT5iSW50ZXJmYWNlTnVtYmVyOwog ICAgICBpbmRleC0+aWZhY2VzW2luZGV4LT5pZmFjZXNfbnVtXS5iQWx0ZXJuYXRlU2V0dGluZyA9 CiAgICAgICAgICBpZmFjZS0+YkFsdGVybmF0ZVNldHRpbmc7CiAgICAgIGluZGV4LT5pZmFjZXNb aW5kZXgtPmlmYWNlc19udW1dLmJJbnRlcmZhY2VDbGFzcyA9IGlmYWNlLT5iSW50ZXJmYWNlQ2xh c3M7CiAgICAgIGluZGV4LT5pZmFjZXNfbnVtKys7CiAgICB9CiAgICBpZiAoZGVzY190eXBlID09 IFVTQl9EVF9FTkRQT0lOVCAmJiBpbmRleC0+aWZhY2VzX251bSA+IDApIHsKICAgICAgc3RydWN0 IHVzYl9pZmFjZV9pbmRleCogaWZhY2UgPSAmaW5kZXgtPmlmYWNlc1tpbmRleC0+aWZhY2VzX251 bSAtIDFdOwogICAgICBpZiAoaWZhY2UtPmVwc19udW0gPCBVU0JfTUFYX0VQX05VTSkgewogICAg ICAgIG1lbWNweSgmaWZhY2UtPmVwc1tpZmFjZS0+ZXBzX251bV0uZGVzYywgYnVmZmVyICsgb2Zm c2V0LAogICAgICAgICAgICAgICBzaXplb2YoaWZhY2UtPmVwc1tpZmFjZS0+ZXBzX251bV0uZGVz YykpOwogICAgICAgIGlmYWNlLT5lcHNfbnVtKys7CiAgICAgIH0KICAgIH0KICAgIG9mZnNldCAr PSBkZXNjX2xlbmd0aDsKICB9CiAgcmV0dXJuIHRydWU7Cn0KCnN0YXRpYyBzdHJ1Y3QgdXNiX2Rl dmljZV9pbmRleCogYWRkX3VzYl9pbmRleChpbnQgZmQsIGNvbnN0IGNoYXIqIGRldiwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBkZXZfbGVuKQp7 CiAgaW50IGkgPSBfX2F0b21pY19mZXRjaF9hZGQoJnVzYl9kZXZpY2VzX251bSwgMSwgX19BVE9N SUNfUkVMQVhFRCk7CiAgaWYgKGkgPj0gVVNCX01BWF9GRFMpCiAgICByZXR1cm4gTlVMTDsKICBp ZiAoIXBhcnNlX3VzYl9kZXNjcmlwdG9yKGRldiwgZGV2X2xlbiwgJnVzYl9kZXZpY2VzW2ldLmlu ZGV4KSkKICAgIHJldHVybiBOVUxMOwogIF9fYXRvbWljX3N0b3JlX24oJnVzYl9kZXZpY2VzW2ld LmZkLCBmZCwgX19BVE9NSUNfUkVMRUFTRSk7CiAgcmV0dXJuICZ1c2JfZGV2aWNlc1tpXS5pbmRl eDsKfQoKc3RydWN0IHZ1c2JfY29ubmVjdF9zdHJpbmdfZGVzY3JpcHRvciB7CiAgdWludDMyX3Qg bGVuOwogIGNoYXIqIHN0cjsKfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKCnN0cnVjdCB2dXNi X2Nvbm5lY3RfZGVzY3JpcHRvcnMgewogIHVpbnQzMl90IHF1YWxfbGVuOwogIGNoYXIqIHF1YWw7 CiAgdWludDMyX3QgYm9zX2xlbjsKICBjaGFyKiBib3M7CiAgdWludDMyX3Qgc3Ryc19sZW47CiAg c3RydWN0IHZ1c2JfY29ubmVjdF9zdHJpbmdfZGVzY3JpcHRvciBzdHJzWzBdOwp9IF9fYXR0cmli dXRlX18oKHBhY2tlZCkpOwoKc3RhdGljIGNvbnN0IGNoYXIgZGVmYXVsdF9zdHJpbmdbXSA9IHs4 LCBVU0JfRFRfU1RSSU5HLCAncycsIDAsICd5JywgMCwgJ3onLCAwfTsKCnN0YXRpYyBjb25zdCBj aGFyIGRlZmF1bHRfbGFuZ19pZFtdID0gezQsIFVTQl9EVF9TVFJJTkcsIDB4MDksIDB4MDR9OwoK c3RhdGljIGJvb2wKbG9va3VwX2Nvbm5lY3RfcmVzcG9uc2VfaW4oaW50IGZkLCBjb25zdCBzdHJ1 Y3QgdnVzYl9jb25uZWN0X2Rlc2NyaXB0b3JzKiBkZXNjcywKICAgICAgICAgICAgICAgICAgICAg ICAgICAgY29uc3Qgc3RydWN0IHVzYl9jdHJscmVxdWVzdCogY3RybCwKICAgICAgICAgICAgICAg ICAgICAgICAgICAgc3RydWN0IHVzYl9xdWFsaWZpZXJfZGVzY3JpcHRvciogcXVhbCwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgY2hhcioqIHJlc3BvbnNlX2RhdGEsIHVpbnQzMl90KiByZXNw b25zZV9sZW5ndGgpCnsKICBzdHJ1Y3QgdXNiX2RldmljZV9pbmRleCogaW5kZXggPSBsb29rdXBf dXNiX2luZGV4KGZkKTsKICB1aW50OF90IHN0cl9pZHg7CiAgaWYgKCFpbmRleCkKICAgIHJldHVy biBmYWxzZTsKICBzd2l0Y2ggKGN0cmwtPmJSZXF1ZXN0VHlwZSAmIFVTQl9UWVBFX01BU0spIHsK ICBjYXNlIFVTQl9UWVBFX1NUQU5EQVJEOgogICAgc3dpdGNoIChjdHJsLT5iUmVxdWVzdCkgewog ICAgY2FzZSBVU0JfUkVRX0dFVF9ERVNDUklQVE9SOgogICAgICBzd2l0Y2ggKGN0cmwtPndWYWx1 ZSA+PiA4KSB7CiAgICAgIGNhc2UgVVNCX0RUX0RFVklDRToKICAgICAgICAqcmVzcG9uc2VfZGF0 YSA9IChjaGFyKilpbmRleC0+ZGV2OwogICAgICAgICpyZXNwb25zZV9sZW5ndGggPSBzaXplb2Yo KmluZGV4LT5kZXYpOwogICAgICAgIHJldHVybiB0cnVlOwogICAgICBjYXNlIFVTQl9EVF9DT05G SUc6CiAgICAgICAgKnJlc3BvbnNlX2RhdGEgPSAoY2hhciopaW5kZXgtPmNvbmZpZzsKICAgICAg ICAqcmVzcG9uc2VfbGVuZ3RoID0gaW5kZXgtPmNvbmZpZ19sZW5ndGg7CiAgICAgICAgcmV0dXJu IHRydWU7CiAgICAgIGNhc2UgVVNCX0RUX1NUUklORzoKICAgICAgICBzdHJfaWR4ID0gKHVpbnQ4 X3QpY3RybC0+d1ZhbHVlOwogICAgICAgIGlmIChkZXNjcyAmJiBzdHJfaWR4IDwgZGVzY3MtPnN0 cnNfbGVuKSB7CiAgICAgICAgICAqcmVzcG9uc2VfZGF0YSA9IGRlc2NzLT5zdHJzW3N0cl9pZHhd LnN0cjsKICAgICAgICAgICpyZXNwb25zZV9sZW5ndGggPSBkZXNjcy0+c3Ryc1tzdHJfaWR4XS5s ZW47CiAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICB9CiAgICAgICAgaWYgKHN0cl9pZHgg PT0gMCkgewogICAgICAgICAgKnJlc3BvbnNlX2RhdGEgPSAoY2hhciopJmRlZmF1bHRfbGFuZ19p ZFswXTsKICAgICAgICAgICpyZXNwb25zZV9sZW5ndGggPSBkZWZhdWx0X2xhbmdfaWRbMF07CiAg ICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICB9CiAgICAgICAgKnJlc3BvbnNlX2RhdGEgPSAo Y2hhciopJmRlZmF1bHRfc3RyaW5nWzBdOwogICAgICAgICpyZXNwb25zZV9sZW5ndGggPSBkZWZh dWx0X3N0cmluZ1swXTsKICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgY2FzZSBVU0JfRFRfQk9T OgogICAgICAgICpyZXNwb25zZV9kYXRhID0gZGVzY3MtPmJvczsKICAgICAgICAqcmVzcG9uc2Vf bGVuZ3RoID0gZGVzY3MtPmJvc19sZW47CiAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgIGNhc2Ug VVNCX0RUX0RFVklDRV9RVUFMSUZJRVI6CiAgICAgICAgaWYgKCFkZXNjcy0+cXVhbCkgewogICAg ICAgICAgcXVhbC0+Ykxlbmd0aCA9IHNpemVvZigqcXVhbCk7CiAgICAgICAgICBxdWFsLT5iRGVz Y3JpcHRvclR5cGUgPSBVU0JfRFRfREVWSUNFX1FVQUxJRklFUjsKICAgICAgICAgIHF1YWwtPmJj ZFVTQiA9IGluZGV4LT5kZXYtPmJjZFVTQjsKICAgICAgICAgIHF1YWwtPmJEZXZpY2VDbGFzcyA9 IGluZGV4LT5kZXYtPmJEZXZpY2VDbGFzczsKICAgICAgICAgIHF1YWwtPmJEZXZpY2VTdWJDbGFz cyA9IGluZGV4LT5kZXYtPmJEZXZpY2VTdWJDbGFzczsKICAgICAgICAgIHF1YWwtPmJEZXZpY2VQ cm90b2NvbCA9IGluZGV4LT5kZXYtPmJEZXZpY2VQcm90b2NvbDsKICAgICAgICAgIHF1YWwtPmJN YXhQYWNrZXRTaXplMCA9IGluZGV4LT5kZXYtPmJNYXhQYWNrZXRTaXplMDsKICAgICAgICAgIHF1 YWwtPmJOdW1Db25maWd1cmF0aW9ucyA9IGluZGV4LT5kZXYtPmJOdW1Db25maWd1cmF0aW9uczsK ICAgICAgICAgIHF1YWwtPmJSRVNFUlZFRCA9IDA7CiAgICAgICAgICAqcmVzcG9uc2VfZGF0YSA9 IChjaGFyKilxdWFsOwogICAgICAgICAgKnJlc3BvbnNlX2xlbmd0aCA9IHNpemVvZigqcXVhbCk7 CiAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICB9CiAgICAgICAgKnJlc3BvbnNlX2RhdGEg PSBkZXNjcy0+cXVhbDsKICAgICAgICAqcmVzcG9uc2VfbGVuZ3RoID0gZGVzY3MtPnF1YWxfbGVu OwogICAgICAgIHJldHVybiB0cnVlOwogICAgICBkZWZhdWx0OgogICAgICAgIGJyZWFrOwogICAg ICB9CiAgICAgIGJyZWFrOwogICAgZGVmYXVsdDoKICAgICAgYnJlYWs7CiAgICB9CiAgICBicmVh azsKICBkZWZhdWx0OgogICAgYnJlYWs7CiAgfQogIHJldHVybiBmYWxzZTsKfQoKdHlwZWRlZiBi b29sICgqbG9va3VwX2Nvbm5lY3Rfb3V0X3Jlc3BvbnNlX3QpKAogICAgaW50IGZkLCBjb25zdCBz dHJ1Y3QgdnVzYl9jb25uZWN0X2Rlc2NyaXB0b3JzKiBkZXNjcywKICAgIGNvbnN0IHN0cnVjdCB1 c2JfY3RybHJlcXVlc3QqIGN0cmwsIGJvb2wqIGRvbmUpOwoKI2RlZmluZSBBVEg5S19GSVJNV0FS RV9ET1dOTE9BRCAweDMwCiNkZWZpbmUgQVRIOUtfRklSTVdBUkVfRE9XTkxPQURfQ09NUCAweDMx CgpzdGF0aWMgYm9vbCBsb29rdXBfY29ubmVjdF9yZXNwb25zZV9vdXRfYXRoOWsoCiAgICBpbnQg ZmQsIGNvbnN0IHN0cnVjdCB2dXNiX2Nvbm5lY3RfZGVzY3JpcHRvcnMqIGRlc2NzLAogICAgY29u c3Qgc3RydWN0IHVzYl9jdHJscmVxdWVzdCogY3RybCwgYm9vbCogZG9uZSkKewogIHN3aXRjaCAo Y3RybC0+YlJlcXVlc3RUeXBlICYgVVNCX1RZUEVfTUFTSykgewogIGNhc2UgVVNCX1RZUEVfU1RB TkRBUkQ6CiAgICBzd2l0Y2ggKGN0cmwtPmJSZXF1ZXN0KSB7CiAgICBjYXNlIFVTQl9SRVFfU0VU X0NPTkZJR1VSQVRJT046CiAgICAgIHJldHVybiB0cnVlOwogICAgZGVmYXVsdDoKICAgICAgYnJl YWs7CiAgICB9CiAgICBicmVhazsKICBjYXNlIFVTQl9UWVBFX1ZFTkRPUjoKICAgIHN3aXRjaCAo Y3RybC0+YlJlcXVlc3QpIHsKICAgIGNhc2UgQVRIOUtfRklSTVdBUkVfRE9XTkxPQUQ6CiAgICAg IHJldHVybiB0cnVlOwogICAgY2FzZSBBVEg5S19GSVJNV0FSRV9ET1dOTE9BRF9DT01QOgogICAg ICAqZG9uZSA9IHRydWU7CiAgICAgIHJldHVybiB0cnVlOwogICAgZGVmYXVsdDoKICAgICAgYnJl YWs7CiAgICB9CiAgICBicmVhazsKICB9CiAgcmV0dXJuIGZhbHNlOwp9CgojZGVmaW5lIFVEQ19O QU1FX0xFTkdUSF9NQVggMTI4CgpzdHJ1Y3QgdXNiX3Jhd19pbml0IHsKICBfX3U4IGRyaXZlcl9u YW1lW1VEQ19OQU1FX0xFTkdUSF9NQVhdOwogIF9fdTggZGV2aWNlX25hbWVbVURDX05BTUVfTEVO R1RIX01BWF07CiAgX191OCBzcGVlZDsKfTsKCmVudW0gdXNiX3Jhd19ldmVudF90eXBlIHsKICBV U0JfUkFXX0VWRU5UX0lOVkFMSUQgPSAwLAogIFVTQl9SQVdfRVZFTlRfQ09OTkVDVCA9IDEsCiAg VVNCX1JBV19FVkVOVF9DT05UUk9MID0gMiwKfTsKCnN0cnVjdCB1c2JfcmF3X2V2ZW50IHsKICBf X3UzMiB0eXBlOwogIF9fdTMyIGxlbmd0aDsKICBfX3U4IGRhdGFbMF07Cn07CgpzdHJ1Y3QgdXNi X3Jhd19lcF9pbyB7CiAgX191MTYgZXA7CiAgX191MTYgZmxhZ3M7CiAgX191MzIgbGVuZ3RoOwog IF9fdTggZGF0YVswXTsKfTsKCiNkZWZpbmUgVVNCX1JBV19FUFNfTlVNX01BWCAzMAojZGVmaW5l IFVTQl9SQVdfRVBfTkFNRV9NQVggMTYKI2RlZmluZSBVU0JfUkFXX0VQX0FERFJfQU5ZIDB4ZmYK CnN0cnVjdCB1c2JfcmF3X2VwX2NhcHMgewogIF9fdTMyIHR5cGVfY29udHJvbCA6IDE7CiAgX191 MzIgdHlwZV9pc28gOiAxOwogIF9fdTMyIHR5cGVfYnVsayA6IDE7CiAgX191MzIgdHlwZV9pbnQg OiAxOwogIF9fdTMyIGRpcl9pbiA6IDE7CiAgX191MzIgZGlyX291dCA6IDE7Cn07CgpzdHJ1Y3Qg dXNiX3Jhd19lcF9saW1pdHMgewogIF9fdTE2IG1heHBhY2tldF9saW1pdDsKICBfX3UxNiBtYXhf c3RyZWFtczsKICBfX3UzMiByZXNlcnZlZDsKfTsKCnN0cnVjdCB1c2JfcmF3X2VwX2luZm8gewog IF9fdTggbmFtZVtVU0JfUkFXX0VQX05BTUVfTUFYXTsKICBfX3UzMiBhZGRyOwogIHN0cnVjdCB1 c2JfcmF3X2VwX2NhcHMgY2FwczsKICBzdHJ1Y3QgdXNiX3Jhd19lcF9saW1pdHMgbGltaXRzOwp9 OwoKc3RydWN0IHVzYl9yYXdfZXBzX2luZm8gewogIHN0cnVjdCB1c2JfcmF3X2VwX2luZm8gZXBz W1VTQl9SQVdfRVBTX05VTV9NQVhdOwp9OwoKI2RlZmluZSBVU0JfUkFXX0lPQ1RMX0lOSVQgX0lP VygnVScsIDAsIHN0cnVjdCB1c2JfcmF3X2luaXQpCiNkZWZpbmUgVVNCX1JBV19JT0NUTF9SVU4g X0lPKCdVJywgMSkKI2RlZmluZSBVU0JfUkFXX0lPQ1RMX0VWRU5UX0ZFVENIIF9JT1IoJ1UnLCAy LCBzdHJ1Y3QgdXNiX3Jhd19ldmVudCkKI2RlZmluZSBVU0JfUkFXX0lPQ1RMX0VQMF9XUklURSBf SU9XKCdVJywgMywgc3RydWN0IHVzYl9yYXdfZXBfaW8pCiNkZWZpbmUgVVNCX1JBV19JT0NUTF9F UDBfUkVBRCBfSU9XUignVScsIDQsIHN0cnVjdCB1c2JfcmF3X2VwX2lvKQojZGVmaW5lIFVTQl9S QVdfSU9DVExfRVBfRU5BQkxFIF9JT1coJ1UnLCA1LCBzdHJ1Y3QgdXNiX2VuZHBvaW50X2Rlc2Ny aXB0b3IpCiNkZWZpbmUgVVNCX1JBV19JT0NUTF9FUF9ESVNBQkxFIF9JT1coJ1UnLCA2LCBfX3Uz MikKI2RlZmluZSBVU0JfUkFXX0lPQ1RMX0VQX1dSSVRFIF9JT1coJ1UnLCA3LCBzdHJ1Y3QgdXNi X3Jhd19lcF9pbykKI2RlZmluZSBVU0JfUkFXX0lPQ1RMX0VQX1JFQUQgX0lPV1IoJ1UnLCA4LCBz dHJ1Y3QgdXNiX3Jhd19lcF9pbykKI2RlZmluZSBVU0JfUkFXX0lPQ1RMX0NPTkZJR1VSRSBfSU8o J1UnLCA5KQojZGVmaW5lIFVTQl9SQVdfSU9DVExfVkJVU19EUkFXIF9JT1coJ1UnLCAxMCwgX191 MzIpCiNkZWZpbmUgVVNCX1JBV19JT0NUTF9FUFNfSU5GTyBfSU9SKCdVJywgMTEsIHN0cnVjdCB1 c2JfcmF3X2Vwc19pbmZvKQojZGVmaW5lIFVTQl9SQVdfSU9DVExfRVAwX1NUQUxMIF9JTygnVScs IDEyKQojZGVmaW5lIFVTQl9SQVdfSU9DVExfRVBfU0VUX0hBTFQgX0lPVygnVScsIDEzLCBfX3Uz MikKI2RlZmluZSBVU0JfUkFXX0lPQ1RMX0VQX0NMRUFSX0hBTFQgX0lPVygnVScsIDE0LCBfX3Uz MikKI2RlZmluZSBVU0JfUkFXX0lPQ1RMX0VQX1NFVF9XRURHRSBfSU9XKCdVJywgMTUsIF9fdTMy KQoKc3RhdGljIGludCB1c2JfcmF3X29wZW4oKQp7CiAgcmV0dXJuIG9wZW4oIi9kZXYvcmF3LWdh ZGdldCIsIE9fUkRXUik7Cn0KCnN0YXRpYyBpbnQgdXNiX3Jhd19pbml0KGludCBmZCwgdWludDMy X3Qgc3BlZWQsIGNvbnN0IGNoYXIqIGRyaXZlciwKICAgICAgICAgICAgICAgICAgICAgICAgY29u c3QgY2hhciogZGV2aWNlKQp7CiAgc3RydWN0IHVzYl9yYXdfaW5pdCBhcmc7CiAgc3RybmNweSgo Y2hhciopJmFyZy5kcml2ZXJfbmFtZVswXSwgZHJpdmVyLCBzaXplb2YoYXJnLmRyaXZlcl9uYW1l KSk7CiAgc3RybmNweSgoY2hhciopJmFyZy5kZXZpY2VfbmFtZVswXSwgZGV2aWNlLCBzaXplb2Yo YXJnLmRldmljZV9uYW1lKSk7CiAgYXJnLnNwZWVkID0gc3BlZWQ7CiAgcmV0dXJuIGlvY3RsKGZk LCBVU0JfUkFXX0lPQ1RMX0lOSVQsICZhcmcpOwp9CgpzdGF0aWMgaW50IHVzYl9yYXdfcnVuKGlu dCBmZCkKewogIHJldHVybiBpb2N0bChmZCwgVVNCX1JBV19JT0NUTF9SVU4sIDApOwp9CgpzdGF0 aWMgaW50IHVzYl9yYXdfZXBfd3JpdGUoaW50IGZkLCBzdHJ1Y3QgdXNiX3Jhd19lcF9pbyogaW8p CnsKICByZXR1cm4gaW9jdGwoZmQsIFVTQl9SQVdfSU9DVExfRVBfV1JJVEUsIGlvKTsKfQoKc3Rh dGljIGludCB1c2JfcmF3X2NvbmZpZ3VyZShpbnQgZmQpCnsKICByZXR1cm4gaW9jdGwoZmQsIFVT Ql9SQVdfSU9DVExfQ09ORklHVVJFLCAwKTsKfQoKc3RhdGljIGludCB1c2JfcmF3X3ZidXNfZHJh dyhpbnQgZmQsIHVpbnQzMl90IHBvd2VyKQp7CiAgcmV0dXJuIGlvY3RsKGZkLCBVU0JfUkFXX0lP Q1RMX1ZCVVNfRFJBVywgcG93ZXIpOwp9CgpzdGF0aWMgaW50IHVzYl9yYXdfZXAwX3dyaXRlKGlu dCBmZCwgc3RydWN0IHVzYl9yYXdfZXBfaW8qIGlvKQp7CiAgcmV0dXJuIGlvY3RsKGZkLCBVU0Jf UkFXX0lPQ1RMX0VQMF9XUklURSwgaW8pOwp9CgpzdGF0aWMgaW50IHVzYl9yYXdfZXAwX3JlYWQo aW50IGZkLCBzdHJ1Y3QgdXNiX3Jhd19lcF9pbyogaW8pCnsKICByZXR1cm4gaW9jdGwoZmQsIFVT Ql9SQVdfSU9DVExfRVAwX1JFQUQsIGlvKTsKfQoKc3RhdGljIGludCB1c2JfcmF3X2V2ZW50X2Zl dGNoKGludCBmZCwgc3RydWN0IHVzYl9yYXdfZXZlbnQqIGV2ZW50KQp7CiAgcmV0dXJuIGlvY3Rs KGZkLCBVU0JfUkFXX0lPQ1RMX0VWRU5UX0ZFVENILCBldmVudCk7Cn0KCnN0YXRpYyBpbnQgdXNi X3Jhd19lcF9lbmFibGUoaW50IGZkLCBzdHJ1Y3QgdXNiX2VuZHBvaW50X2Rlc2NyaXB0b3IqIGRl c2MpCnsKICByZXR1cm4gaW9jdGwoZmQsIFVTQl9SQVdfSU9DVExfRVBfRU5BQkxFLCBkZXNjKTsK fQoKc3RhdGljIGludCB1c2JfcmF3X2VwX2Rpc2FibGUoaW50IGZkLCBpbnQgZXApCnsKICByZXR1 cm4gaW9jdGwoZmQsIFVTQl9SQVdfSU9DVExfRVBfRElTQUJMRSwgZXApOwp9CgpzdGF0aWMgaW50 IHVzYl9yYXdfZXAwX3N0YWxsKGludCBmZCkKewogIHJldHVybiBpb2N0bChmZCwgVVNCX1JBV19J T0NUTF9FUDBfU1RBTEwsIDApOwp9CgpzdGF0aWMgaW50IGxvb2t1cF9lbmRwb2ludChpbnQgZmQs IHVpbnQ4X3QgYkVuZHBvaW50QWRkcmVzcykKewogIHN0cnVjdCB1c2JfZGV2aWNlX2luZGV4KiBp bmRleCA9IGxvb2t1cF91c2JfaW5kZXgoZmQpOwogIGlmICghaW5kZXgpCiAgICByZXR1cm4gLTE7 CiAgaWYgKGluZGV4LT5pZmFjZV9jdXIgPCAwKQogICAgcmV0dXJuIC0xOwogIGZvciAoaW50IGVw ID0gMDsgZXAgPCBpbmRleC0+aWZhY2VzW2luZGV4LT5pZmFjZV9jdXJdLmVwc19udW07IGVwKysp CiAgICBpZiAoaW5kZXgtPmlmYWNlc1tpbmRleC0+aWZhY2VfY3VyXS5lcHNbZXBdLmRlc2MuYkVu ZHBvaW50QWRkcmVzcyA9PQogICAgICAgIGJFbmRwb2ludEFkZHJlc3MpCiAgICAgIHJldHVybiBp bmRleC0+aWZhY2VzW2luZGV4LT5pZmFjZV9jdXJdLmVwc1tlcF0uaGFuZGxlOwogIHJldHVybiAt MTsKfQoKI2RlZmluZSBVU0JfTUFYX1BBQ0tFVF9TSVpFIDQwOTYKCnN0cnVjdCB1c2JfcmF3X2Nv bnRyb2xfZXZlbnQgewogIHN0cnVjdCB1c2JfcmF3X2V2ZW50IGlubmVyOwogIHN0cnVjdCB1c2Jf Y3RybHJlcXVlc3QgY3RybDsKICBjaGFyIGRhdGFbVVNCX01BWF9QQUNLRVRfU0laRV07Cn07Cgpz dHJ1Y3QgdXNiX3Jhd19lcF9pb19kYXRhIHsKICBzdHJ1Y3QgdXNiX3Jhd19lcF9pbyBpbm5lcjsK ICBjaGFyIGRhdGFbVVNCX01BWF9QQUNLRVRfU0laRV07Cn07CgpzdGF0aWMgdm9pZCBzZXRfaW50 ZXJmYWNlKGludCBmZCwgaW50IG4pCnsKICBzdHJ1Y3QgdXNiX2RldmljZV9pbmRleCogaW5kZXgg PSBsb29rdXBfdXNiX2luZGV4KGZkKTsKICBpZiAoIWluZGV4KQogICAgcmV0dXJuOwogIGlmIChp bmRleC0+aWZhY2VfY3VyID49IDAgJiYgaW5kZXgtPmlmYWNlX2N1ciA8IGluZGV4LT5pZmFjZXNf bnVtKSB7CiAgICBmb3IgKGludCBlcCA9IDA7IGVwIDwgaW5kZXgtPmlmYWNlc1tpbmRleC0+aWZh Y2VfY3VyXS5lcHNfbnVtOyBlcCsrKSB7CiAgICAgIGludCBydiA9IHVzYl9yYXdfZXBfZGlzYWJs ZSgKICAgICAgICAgIGZkLCBpbmRleC0+aWZhY2VzW2luZGV4LT5pZmFjZV9jdXJdLmVwc1tlcF0u aGFuZGxlKTsKICAgICAgaWYgKHJ2IDwgMCkgewogICAgICB9IGVsc2UgewogICAgICB9CiAgICB9 CiAgfQogIGlmIChuID49IDAgJiYgbiA8IGluZGV4LT5pZmFjZXNfbnVtKSB7CiAgICBmb3IgKGlu dCBlcCA9IDA7IGVwIDwgaW5kZXgtPmlmYWNlc1tuXS5lcHNfbnVtOyBlcCsrKSB7CiAgICAgIGlu dCBydiA9IHVzYl9yYXdfZXBfZW5hYmxlKGZkLCAmaW5kZXgtPmlmYWNlc1tuXS5lcHNbZXBdLmRl c2MpOwogICAgICBpZiAocnYgPCAwKSB7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaW5kZXgtPmlm YWNlc1tuXS5lcHNbZXBdLmhhbmRsZSA9IHJ2OwogICAgICB9CiAgICB9CiAgICBpbmRleC0+aWZh Y2VfY3VyID0gbjsKICB9Cn0KCnN0YXRpYyBpbnQgY29uZmlndXJlX2RldmljZShpbnQgZmQpCnsK ICBzdHJ1Y3QgdXNiX2RldmljZV9pbmRleCogaW5kZXggPSBsb29rdXBfdXNiX2luZGV4KGZkKTsK ICBpZiAoIWluZGV4KQogICAgcmV0dXJuIC0xOwogIGludCBydiA9IHVzYl9yYXdfdmJ1c19kcmF3 KGZkLCBpbmRleC0+Yk1heFBvd2VyKTsKICBpZiAocnYgPCAwKSB7CiAgICByZXR1cm4gcnY7CiAg fQogIHJ2ID0gdXNiX3Jhd19jb25maWd1cmUoZmQpOwogIGlmIChydiA8IDApIHsKICAgIHJldHVy biBydjsKICB9CiAgc2V0X2ludGVyZmFjZShmZCwgMCk7CiAgcmV0dXJuIDA7Cn0KCnN0YXRpYyB2 b2xhdGlsZSBsb25nCnN5el91c2JfY29ubmVjdF9pbXBsKHVpbnQ2NF90IHNwZWVkLCB1aW50NjRf dCBkZXZfbGVuLCBjb25zdCBjaGFyKiBkZXYsCiAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0 cnVjdCB2dXNiX2Nvbm5lY3RfZGVzY3JpcHRvcnMqIGRlc2NzLAogICAgICAgICAgICAgICAgICAg ICBsb29rdXBfY29ubmVjdF9vdXRfcmVzcG9uc2VfdCBsb29rdXBfY29ubmVjdF9yZXNwb25zZV9v dXQpCnsKICBpZiAoIWRldikgewogICAgcmV0dXJuIC0xOwogIH0KICBpbnQgZmQgPSB1c2JfcmF3 X29wZW4oKTsKICBpZiAoZmQgPCAwKSB7CiAgICByZXR1cm4gZmQ7CiAgfQogIGlmIChmZCA+PSBN QVhfRkRTKSB7CiAgICBjbG9zZShmZCk7CiAgICByZXR1cm4gLTE7CiAgfQogIHN0cnVjdCB1c2Jf ZGV2aWNlX2luZGV4KiBpbmRleCA9IGFkZF91c2JfaW5kZXgoZmQsIGRldiwgZGV2X2xlbik7CiAg aWYgKCFpbmRleCkgewogICAgcmV0dXJuIC0xOwogIH0KICBjaGFyIGRldmljZVszMl07CiAgc3By aW50ZigmZGV2aWNlWzBdLCAiZHVtbXlfdWRjLiVsbHUiLCBwcm9jaWQpOwogIGludCBydiA9IHVz Yl9yYXdfaW5pdChmZCwgc3BlZWQsICJkdW1teV91ZGMiLCAmZGV2aWNlWzBdKTsKICBpZiAocnYg PCAwKSB7CiAgICByZXR1cm4gcnY7CiAgfQogIHJ2ID0gdXNiX3Jhd19ydW4oZmQpOwogIGlmIChy diA8IDApIHsKICAgIHJldHVybiBydjsKICB9CiAgYm9vbCBkb25lID0gZmFsc2U7CiAgd2hpbGUg KCFkb25lKSB7CiAgICBzdHJ1Y3QgdXNiX3Jhd19jb250cm9sX2V2ZW50IGV2ZW50OwogICAgZXZl bnQuaW5uZXIudHlwZSA9IDA7CiAgICBldmVudC5pbm5lci5sZW5ndGggPSBzaXplb2YoZXZlbnQu Y3RybCk7CiAgICBydiA9IHVzYl9yYXdfZXZlbnRfZmV0Y2goZmQsIChzdHJ1Y3QgdXNiX3Jhd19l dmVudCopJmV2ZW50KTsKICAgIGlmIChydiA8IDApIHsKICAgICAgcmV0dXJuIHJ2OwogICAgfQog ICAgaWYgKGV2ZW50LmlubmVyLnR5cGUgIT0gVVNCX1JBV19FVkVOVF9DT05UUk9MKQogICAgICBj b250aW51ZTsKICAgIGNoYXIqIHJlc3BvbnNlX2RhdGEgPSBOVUxMOwogICAgdWludDMyX3QgcmVz cG9uc2VfbGVuZ3RoID0gMDsKICAgIHN0cnVjdCB1c2JfcXVhbGlmaWVyX2Rlc2NyaXB0b3IgcXVh bDsKICAgIGlmIChldmVudC5jdHJsLmJSZXF1ZXN0VHlwZSAmIFVTQl9ESVJfSU4pIHsKICAgICAg aWYgKCFsb29rdXBfY29ubmVjdF9yZXNwb25zZV9pbihmZCwgZGVzY3MsICZldmVudC5jdHJsLCAm cXVhbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcmVzcG9uc2VfZGF0 YSwgJnJlc3BvbnNlX2xlbmd0aCkpIHsKICAgICAgICB1c2JfcmF3X2VwMF9zdGFsbChmZCk7CiAg ICAgICAgY29udGludWU7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGlmICghbG9va3VwX2Nv bm5lY3RfcmVzcG9uc2Vfb3V0KGZkLCBkZXNjcywgJmV2ZW50LmN0cmwsICZkb25lKSkgewogICAg ICAgIHVzYl9yYXdfZXAwX3N0YWxsKGZkKTsKICAgICAgICBjb250aW51ZTsKICAgICAgfQogICAg ICByZXNwb25zZV9kYXRhID0gTlVMTDsKICAgICAgcmVzcG9uc2VfbGVuZ3RoID0gZXZlbnQuY3Ry bC53TGVuZ3RoOwogICAgfQogICAgaWYgKChldmVudC5jdHJsLmJSZXF1ZXN0VHlwZSAmIFVTQl9U WVBFX01BU0spID09IFVTQl9UWVBFX1NUQU5EQVJEICYmCiAgICAgICAgZXZlbnQuY3RybC5iUmVx dWVzdCA9PSBVU0JfUkVRX1NFVF9DT05GSUdVUkFUSU9OKSB7CiAgICAgIHJ2ID0gY29uZmlndXJl X2RldmljZShmZCk7CiAgICAgIGlmIChydiA8IDApIHsKICAgICAgICByZXR1cm4gcnY7CiAgICAg IH0KICAgIH0KICAgIHN0cnVjdCB1c2JfcmF3X2VwX2lvX2RhdGEgcmVzcG9uc2U7CiAgICByZXNw b25zZS5pbm5lci5lcCA9IDA7CiAgICByZXNwb25zZS5pbm5lci5mbGFncyA9IDA7CiAgICBpZiAo cmVzcG9uc2VfbGVuZ3RoID4gc2l6ZW9mKHJlc3BvbnNlLmRhdGEpKQogICAgICByZXNwb25zZV9s ZW5ndGggPSAwOwogICAgaWYgKGV2ZW50LmN0cmwud0xlbmd0aCA8IHJlc3BvbnNlX2xlbmd0aCkK ICAgICAgcmVzcG9uc2VfbGVuZ3RoID0gZXZlbnQuY3RybC53TGVuZ3RoOwogICAgcmVzcG9uc2Uu aW5uZXIubGVuZ3RoID0gcmVzcG9uc2VfbGVuZ3RoOwogICAgaWYgKHJlc3BvbnNlX2RhdGEpCiAg ICAgIG1lbWNweSgmcmVzcG9uc2UuZGF0YVswXSwgcmVzcG9uc2VfZGF0YSwgcmVzcG9uc2VfbGVu Z3RoKTsKICAgIGVsc2UKICAgICAgbWVtc2V0KCZyZXNwb25zZS5kYXRhWzBdLCAwLCByZXNwb25z ZV9sZW5ndGgpOwogICAgaWYgKGV2ZW50LmN0cmwuYlJlcXVlc3RUeXBlICYgVVNCX0RJUl9JTikg ewogICAgICBydiA9IHVzYl9yYXdfZXAwX3dyaXRlKGZkLCAoc3RydWN0IHVzYl9yYXdfZXBfaW8q KSZyZXNwb25zZSk7CiAgICB9IGVsc2UgewogICAgICBydiA9IHVzYl9yYXdfZXAwX3JlYWQoZmQs IChzdHJ1Y3QgdXNiX3Jhd19lcF9pbyopJnJlc3BvbnNlKTsKICAgIH0KICAgIGlmIChydiA8IDAp IHsKICAgICAgcmV0dXJuIHJ2OwogICAgfQogIH0KICBzbGVlcF9tcygyMDApOwogIHJldHVybiBm ZDsKfQoKc3RhdGljIHZvbGF0aWxlIGxvbmcgc3l6X3VzYl9jb25uZWN0X2F0aDlrKHZvbGF0aWxl IGxvbmcgYTAsIHZvbGF0aWxlIGxvbmcgYTEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB2b2xhdGlsZSBsb25nIGEyLCB2b2xhdGlsZSBsb25nIGEzKQp7CiAgdWlu dDY0X3Qgc3BlZWQgPSBhMDsKICB1aW50NjRfdCBkZXZfbGVuID0gYTE7CiAgY29uc3QgY2hhciog ZGV2ID0gKGNvbnN0IGNoYXIqKWEyOwogIGNvbnN0IHN0cnVjdCB2dXNiX2Nvbm5lY3RfZGVzY3Jp cHRvcnMqIGRlc2NzID0KICAgICAgKGNvbnN0IHN0cnVjdCB2dXNiX2Nvbm5lY3RfZGVzY3JpcHRv cnMqKWEzOwogIHJldHVybiBzeXpfdXNiX2Nvbm5lY3RfaW1wbChzcGVlZCwgZGV2X2xlbiwgZGV2 LCBkZXNjcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmxvb2t1cF9jb25uZWN0X3Jl c3BvbnNlX291dF9hdGg5ayk7Cn0KCnN0YXRpYyB2b2xhdGlsZSBsb25nIHN5el91c2JfZXBfd3Jp dGUodm9sYXRpbGUgbG9uZyBhMCwgdm9sYXRpbGUgbG9uZyBhMSwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB2b2xhdGlsZSBsb25nIGEyLCB2b2xhdGlsZSBsb25nIGEzKQp7 CiAgaW50IGZkID0gYTA7CiAgdWludDhfdCBlcCA9IGExOwogIHVpbnQzMl90IGxlbiA9IGEyOwog IGNoYXIqIGRhdGEgPSAoY2hhciopYTM7CiAgaW50IGVwX2hhbmRsZSA9IGxvb2t1cF9lbmRwb2lu dChmZCwgZXApOwogIGlmIChlcF9oYW5kbGUgPCAwKSB7CiAgICByZXR1cm4gLTE7CiAgfQogIHN0 cnVjdCB1c2JfcmF3X2VwX2lvX2RhdGEgaW9fZGF0YTsKICBpb19kYXRhLmlubmVyLmVwID0gZXBf aGFuZGxlOwogIGlvX2RhdGEuaW5uZXIuZmxhZ3MgPSAwOwogIGlmIChsZW4gPiBzaXplb2YoaW9f ZGF0YS5kYXRhKSkKICAgIGxlbiA9IHNpemVvZihpb19kYXRhLmRhdGEpOwogIGlvX2RhdGEuaW5u ZXIubGVuZ3RoID0gbGVuOwogIG1lbWNweSgmaW9fZGF0YS5kYXRhWzBdLCBkYXRhLCBsZW4pOwog IGludCBydiA9IHVzYl9yYXdfZXBfd3JpdGUoZmQsIChzdHJ1Y3QgdXNiX3Jhd19lcF9pbyopJmlv X2RhdGEpOwogIGlmIChydiA8IDApIHsKICAgIHJldHVybiBydjsKICB9CiAgc2xlZXBfbXMoMjAw KTsKICByZXR1cm4gMDsKfQoKc3RhdGljIHZvaWQga2lsbF9hbmRfd2FpdChpbnQgcGlkLCBpbnQq IHN0YXR1cykKewogIGtpbGwoLXBpZCwgU0lHS0lMTCk7CiAga2lsbChwaWQsIFNJR0tJTEwpOwog IGZvciAoaW50IGkgPSAwOyBpIDwgMTAwOyBpKyspIHsKICAgIGlmICh3YWl0cGlkKC0xLCBzdGF0 dXMsIFdOT0hBTkcgfCBfX1dBTEwpID09IHBpZCkKICAgICAgcmV0dXJuOwogICAgdXNsZWVwKDEw MDApOwogIH0KICBESVIqIGRpciA9IG9wZW5kaXIoIi9zeXMvZnMvZnVzZS9jb25uZWN0aW9ucyIp OwogIGlmIChkaXIpIHsKICAgIGZvciAoOzspIHsKICAgICAgc3RydWN0IGRpcmVudCogZW50ID0g cmVhZGRpcihkaXIpOwogICAgICBpZiAoIWVudCkKICAgICAgICBicmVhazsKICAgICAgaWYgKHN0 cmNtcChlbnQtPmRfbmFtZSwgIi4iKSA9PSAwIHx8IHN0cmNtcChlbnQtPmRfbmFtZSwgIi4uIikg PT0gMCkKICAgICAgICBjb250aW51ZTsKICAgICAgY2hhciBhYm9ydFszMDBdOwogICAgICBzbnBy aW50ZihhYm9ydCwgc2l6ZW9mKGFib3J0KSwgIi9zeXMvZnMvZnVzZS9jb25uZWN0aW9ucy8lcy9h Ym9ydCIsCiAgICAgICAgICAgICAgIGVudC0+ZF9uYW1lKTsKICAgICAgaW50IGZkID0gb3Blbihh Ym9ydCwgT19XUk9OTFkpOwogICAgICBpZiAoZmQgPT0gLTEpIHsKICAgICAgICBjb250aW51ZTsK ICAgICAgfQogICAgICBpZiAod3JpdGUoZmQsIGFib3J0LCAxKSA8IDApIHsKICAgICAgfQogICAg ICBjbG9zZShmZCk7CiAgICB9CiAgICBjbG9zZWRpcihkaXIpOwogIH0gZWxzZSB7CiAgfQogIHdo aWxlICh3YWl0cGlkKC0xLCBzdGF0dXMsIF9fV0FMTCkgIT0gcGlkKSB7CiAgfQp9CgpzdGF0aWMg dm9pZCBzZXR1cF90ZXN0KCkKewogIHByY3RsKFBSX1NFVF9QREVBVEhTSUcsIFNJR0tJTEwsIDAs IDAsIDApOwogIHNldHBncnAoKTsKICB3cml0ZV9maWxlKCIvcHJvYy9zZWxmL29vbV9zY29yZV9h ZGoiLCAiMTAwMCIpOwp9CgpzdGF0aWMgdm9pZCBleGVjdXRlX29uZSh2b2lkKTsKCiNkZWZpbmUg V0FJVF9GTEFHUyBfX1dBTEwKCnN0YXRpYyB2b2lkIGxvb3Aodm9pZCkKewogIGludCBpdGVyID0g MDsKICBmb3IgKDs7IGl0ZXIrKykgewogICAgaW50IHBpZCA9IGZvcmsoKTsKICAgIGlmIChwaWQg PCAwKQogICAgICBleGl0KDEpOwogICAgaWYgKHBpZCA9PSAwKSB7CiAgICAgIHNldHVwX3Rlc3Qo KTsKICAgICAgZXhlY3V0ZV9vbmUoKTsKICAgICAgZXhpdCgwKTsKICAgIH0KICAgIGludCBzdGF0 dXMgPSAwOwogICAgdWludDY0X3Qgc3RhcnQgPSBjdXJyZW50X3RpbWVfbXMoKTsKICAgIGZvciAo OzspIHsKICAgICAgaWYgKHdhaXRwaWQoLTEsICZzdGF0dXMsIFdOT0hBTkcgfCBXQUlUX0ZMQUdT KSA9PSBwaWQpCiAgICAgICAgYnJlYWs7CiAgICAgIHNsZWVwX21zKDEpOwogICAgICBpZiAoY3Vy cmVudF90aW1lX21zKCkgLSBzdGFydCA8IDUwMDApCiAgICAgICAgY29udGludWU7CiAgICAgIGtp bGxfYW5kX3dhaXQocGlkLCAmc3RhdHVzKTsKICAgICAgYnJlYWs7CiAgICB9CiAgfQp9Cgp1aW50 NjRfdCByWzFdID0gezB4ZmZmZmZmZmZmZmZmZmZmZn07Cgp2b2lkIGV4ZWN1dGVfb25lKHZvaWQp CnsKICBpbnRwdHJfdCByZXMgPSAwOwogICoodWludDhfdCopMHgyMDAwMDBjMCA9IDB4MTI7CiAg Kih1aW50OF90KikweDIwMDAwMGMxID0gMTsKICAqKHVpbnQxNl90KikweDIwMDAwMGMyID0gMHgy MDA7CiAgKih1aW50OF90KikweDIwMDAwMGM0ID0gLTE7CiAgKih1aW50OF90KikweDIwMDAwMGM1 ID0gLTE7CiAgKih1aW50OF90KikweDIwMDAwMGM2ID0gLTE7CiAgKih1aW50OF90KikweDIwMDAw MGM3ID0gMHg0MDsKICAqKHVpbnQxNl90KikweDIwMDAwMGM4ID0gMHhjZjM7CiAgKih1aW50MTZf dCopMHgyMDAwMDBjYSA9IDB4OTI3MTsKICAqKHVpbnQxNl90KikweDIwMDAwMGNjID0gMHgxMDg7 CiAgKih1aW50OF90KikweDIwMDAwMGNlID0gMTsKICAqKHVpbnQ4X3QqKTB4MjAwMDAwY2YgPSAy OwogICoodWludDhfdCopMHgyMDAwMDBkMCA9IDM7CiAgKih1aW50OF90KikweDIwMDAwMGQxID0g MTsKICAqKHVpbnQ4X3QqKTB4MjAwMDAwZDIgPSA5OwogICoodWludDhfdCopMHgyMDAwMDBkMyA9 IDI7CiAgKih1aW50MTZfdCopMHgyMDAwMDBkNCA9IDB4NDg7CiAgKih1aW50OF90KikweDIwMDAw MGQ2ID0gMTsKICAqKHVpbnQ4X3QqKTB4MjAwMDAwZDcgPSAxOwogICoodWludDhfdCopMHgyMDAw MDBkOCA9IDA7CiAgKih1aW50OF90KikweDIwMDAwMGQ5ID0gMHg4MDsKICAqKHVpbnQ4X3QqKTB4 MjAwMDAwZGEgPSAweGZhOwogICoodWludDhfdCopMHgyMDAwMDBkYiA9IDk7CiAgKih1aW50OF90 KikweDIwMDAwMGRjID0gNDsKICAqKHVpbnQ4X3QqKTB4MjAwMDAwZGQgPSAwOwogICoodWludDhf dCopMHgyMDAwMDBkZSA9IDA7CiAgKih1aW50OF90KikweDIwMDAwMGRmID0gNjsKICAqKHVpbnQ4 X3QqKTB4MjAwMDAwZTAgPSAtMTsKICAqKHVpbnQ4X3QqKTB4MjAwMDAwZTEgPSAwOwogICoodWlu dDhfdCopMHgyMDAwMDBlMiA9IDA7CiAgKih1aW50OF90KikweDIwMDAwMGUzID0gMDsKICAqKHVp bnQ4X3QqKTB4MjAwMDAwZTQgPSA5OwogICoodWludDhfdCopMHgyMDAwMDBlNSA9IDU7CiAgKih1 aW50OF90KikweDIwMDAwMGU2ID0gMTsKICAqKHVpbnQ4X3QqKTB4MjAwMDAwZTcgPSAyOwogICoo dWludDE2X3QqKTB4MjAwMDAwZTggPSAweDIwMDsKICAqKHVpbnQ4X3QqKTB4MjAwMDAwZWEgPSAw OwogICoodWludDhfdCopMHgyMDAwMDBlYiA9IDA7CiAgKih1aW50OF90KikweDIwMDAwMGVjID0g MDsKICAqKHVpbnQ4X3QqKTB4MjAwMDAwZWQgPSA5OwogICoodWludDhfdCopMHgyMDAwMDBlZSA9 IDU7CiAgKih1aW50OF90KikweDIwMDAwMGVmID0gMHg4MjsKICAqKHVpbnQ4X3QqKTB4MjAwMDAw ZjAgPSAyOwogICoodWludDE2X3QqKTB4MjAwMDAwZjEgPSAweDIwMDsKICAqKHVpbnQ4X3QqKTB4 MjAwMDAwZjMgPSAwOwogICoodWludDhfdCopMHgyMDAwMDBmNCA9IDA7CiAgKih1aW50OF90Kikw eDIwMDAwMGY1ID0gMDsKICAqKHVpbnQ4X3QqKTB4MjAwMDAwZjYgPSA5OwogICoodWludDhfdCop MHgyMDAwMDBmNyA9IDU7CiAgKih1aW50OF90KikweDIwMDAwMGY4ID0gMHg4MzsKICAqKHVpbnQ4 X3QqKTB4MjAwMDAwZjkgPSAzOwogICoodWludDE2X3QqKTB4MjAwMDAwZmEgPSAweDQwOwogICoo dWludDhfdCopMHgyMDAwMDBmYyA9IDE7CiAgKih1aW50OF90KikweDIwMDAwMGZkID0gMDsKICAq KHVpbnQ4X3QqKTB4MjAwMDAwZmUgPSAwOwogICoodWludDhfdCopMHgyMDAwMDBmZiA9IDk7CiAg Kih1aW50OF90KikweDIwMDAwMTAwID0gNTsKICAqKHVpbnQ4X3QqKTB4MjAwMDAxMDEgPSA0Owog ICoodWludDhfdCopMHgyMDAwMDEwMiA9IDM7CiAgKih1aW50MTZfdCopMHgyMDAwMDEwMyA9IDB4 NDA7CiAgKih1aW50OF90KikweDIwMDAwMTA1ID0gMTsKICAqKHVpbnQ4X3QqKTB4MjAwMDAxMDYg PSAwOwogICoodWludDhfdCopMHgyMDAwMDEwNyA9IDA7CiAgKih1aW50OF90KikweDIwMDAwMTA4 ID0gOTsKICAqKHVpbnQ4X3QqKTB4MjAwMDAxMDkgPSA1OwogICoodWludDhfdCopMHgyMDAwMDEw YSA9IDU7CiAgKih1aW50OF90KikweDIwMDAwMTBiID0gMjsKICAqKHVpbnQxNl90KikweDIwMDAw MTBjID0gMHgyMDA7CiAgKih1aW50OF90KikweDIwMDAwMTBlID0gMDsKICAqKHVpbnQ4X3QqKTB4 MjAwMDAxMGYgPSAwOwogICoodWludDhfdCopMHgyMDAwMDExMCA9IDA7CiAgKih1aW50OF90Kikw eDIwMDAwMTExID0gOTsKICAqKHVpbnQ4X3QqKTB4MjAwMDAxMTIgPSA1OwogICoodWludDhfdCop MHgyMDAwMDExMyA9IDY7CiAgKih1aW50OF90KikweDIwMDAwMTE0ID0gMjsKICAqKHVpbnQxNl90 KikweDIwMDAwMTE1ID0gMHgyMDA7CiAgKih1aW50OF90KikweDIwMDAwMTE3ID0gMDsKICAqKHVp bnQ4X3QqKTB4MjAwMDAxMTggPSAwOwogICoodWludDhfdCopMHgyMDAwMDExOSA9IDA7CiAgcmVz ID0gLTE7CiAgcmVzID0gc3l6X3VzYl9jb25uZWN0X2F0aDlrKC8qc3BlZWQ9Ki8zLCAvKmRldl9s ZW49Ki8weDVhLCAvKmRldj0qLzB4MjAwMDAwYzAsCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIC8qY29ubl9kZXNjcz0qLzApOwogIGlmIChyZXMgIT0gLTEpCiAgICByWzBdID0gcmVzOwog ICoodWludDhfdCopMHgyMDAwMDAwMCA9IDA7CiAgKih1aW50OF90KikweDIwMDAwMDAxID0gMDsK ICAqKHVpbnQxNl90KikweDIwMDAwMDAyID0gaHRvYmUxNig4KTsKICBtZW1jcHkoKHZvaWQqKTB4 MjAwMDAwMDQsICJceDZkXHg5MVx4MDlceDkxIiwgNCk7CiAgKih1aW50MTZfdCopMHgyMDAwMDAw OCA9IGh0b2JlMTYoMSk7CiAgKih1aW50MTZfdCopMHgyMDAwMDAwYSA9IGh0b2JlMTYoMCk7CiAg Kih1aW50MTZfdCopMHgyMDAwMDAwYyA9IGh0b2JlMTYoMCk7CiAgKih1aW50OF90KikweDIwMDAw MDBlID0gMDsKICAqKHVpbnQ4X3QqKTB4MjAwMDAwMGYgPSAwOwogIHN5el91c2JfZXBfd3JpdGUo LypmZD0qL3JbMF0sIC8qZXA9Ki8weDgzLCAvKmxlbj0qLzB4MTAsIC8qZGF0YT0qLzB4MjAwMDAw MDApOwogIG1lbWNweSgodm9pZCopMHgyMDAwMDE4MCwKICAgICAgICAgIlx4MDBceDAwXHgwMFx4 NDRceGY5XHg1ZVx4ZTdceDM5XHgxMVx4ZmFceGEwXHg2Ylx4MTJceDUzXHhjM1x4ZTNceGNjIgog ICAgICAgICAiXHg3MFx4NjVceDBjXHgyN1x4MWJceDBmXHgyM1x4MjRceGE0XHg2Mlx4ZGJceDEy XHgxMFx4ZjlceGJjXHhmY1x4ZTYiCiAgICAgICAgICJceGY2XHhhN1x4ODZceGMyXHhmYlx4NDZc eDRiXHgzNVx4YjRceGUxXHhlNVx4MThceGEzXHgwY1x4YTZceDU5XHg2MiIKICAgICAgICAgIlx4 ZjFceDAxXHgwMVx4YmJceDIzXHhkNVx4N2ZceGYwXHg4NVx4NjNceDczXHhjM1x4NThceDE1XHg2 N1x4ODFceDBlIgogICAgICAgICAiXHg4ZFx4MDVceDkxXHg3M1x4MTAiLAogICAgICAgICA3Myk7 CiAgKih1aW50MTZfdCopMHgyMDAwMDFjOSA9IHJbMF07CiAgKih1aW50MTZfdCopMHgyMDAwMDFj YiA9IHJbMF07CiAgc3ByaW50ZigoY2hhciopMHgyMDAwMDFjZCwgIjB4JTAxNmxseCIsIChsb25n IGxvbmcpclswXSk7CiAgc3ByaW50ZigoY2hhciopMHgyMDAwMDFkZiwgIiUwMjNsbG8iLCAobG9u ZyBsb25nKXJbMF0pOwogIHN5el91c2JfZXBfd3JpdGUoLypmZD0qL3JbMF0sIC8qZXA9Ki8weDgz LCAvKmxlbj0qLzB4NGMsIC8qZGF0YT0qLzB4MjAwMDAxODApOwp9CmludCBtYWluKHZvaWQpCnsK ICBzeXNjYWxsKF9fTlJfbW1hcCwgLyphZGRyPSovMHgxZmZmZjAwMHVsLCAvKmxlbj0qLzB4MTAw MHVsLCAvKnByb3Q9Ki8wdWwsCiAgICAgICAgICAvKmZsYWdzPSovMHgzMnVsLCAvKmZkPSovLTEs IC8qb2Zmc2V0PSovMHVsKTsKICBzeXNjYWxsKF9fTlJfbW1hcCwgLyphZGRyPSovMHgyMDAwMDAw MHVsLCAvKmxlbj0qLzB4MTAwMDAwMHVsLCAvKnByb3Q9Ki83dWwsCiAgICAgICAgICAvKmZsYWdz PSovMHgzMnVsLCAvKmZkPSovLTEsIC8qb2Zmc2V0PSovMHVsKTsKICBzeXNjYWxsKF9fTlJfbW1h cCwgLyphZGRyPSovMHgyMTAwMDAwMHVsLCAvKmxlbj0qLzB4MTAwMHVsLCAvKnByb3Q9Ki8wdWws CiAgICAgICAgICAvKmZsYWdzPSovMHgzMnVsLCAvKmZkPSovLTEsIC8qb2Zmc2V0PSovMHVsKTsK ICBsb29wKCk7CiAgcmV0dXJuIDA7Cn0K ------=ALIBOUNDARY_31952_7fe07c734700_65af1577_6ab598--