From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29]) by sourceware.org (Postfix) with ESMTPS id 5234E3858404 for ; Tue, 19 Oct 2021 06:49:14 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 5234E3858404 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=suse.cz Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=suse.cz Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id 175951FD8E; Tue, 19 Oct 2021 06:49:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1634626153; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=NXt+n6pMa3lDwV9ZfwcHvhj4rakPD/5tTAWEBv03pSw=; b=W29bH20cc7FQX8Gcgc2bIy3UFDYVAo9V3CyzVRZni1fiTdZarqoRZbVK9GWuXf3rTt+heO SC+desFKTU5iqWHWWZiysD2m8Nroj2toC73d7HqPlZsL3n3tu6DtykSc7ivwn5bRj7x3B1 DeJCdhXwCM6tgEBUVwu/E2YHlM2LoNo= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1634626153; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=NXt+n6pMa3lDwV9ZfwcHvhj4rakPD/5tTAWEBv03pSw=; b=3BEWL/o6g5ulOnyrgOf3zEwspF9WKW/R1/CovjYPdGEXMtyF7bYuaSobXRRsnK3XGyMCrp Nf1ucOtZBSyz7DAQ== Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id E5A0713F09; Tue, 19 Oct 2021 06:49:12 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id zwCnNWhqbmF5XgAAMHmgww (envelope-from ); Tue, 19 Oct 2021 06:49:12 +0000 Content-Type: multipart/mixed; boundary="------------V3V3xDtFw0ba94c7NqyxOlxM" Message-ID: <5aa2424b-d1a7-36ee-4a3a-3beebaf2bef4@suse.cz> Date: Tue, 19 Oct 2021 08:49:12 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.2.0 Subject: Re: [PATCH] Add TSVC tests. Content-Language: en-US To: Richard Biener Cc: GCC Patches , Jan Hubicka References: <13efb730-e52a-158e-7a60-54c204434b77@suse.cz> From: =?UTF-8?Q?Martin_Li=c5=a1ka?= In-Reply-To: X-Spam-Status: No, score=-12.5 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, NICE_REPLY_A, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Oct 2021 06:49:20 -0000 This is a multi-part message in MIME format. --------------V3V3xDtFw0ba94c7NqyxOlxM Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 10/18/21 12:08, Richard Biener wrote: > Can you please use a subdirectory for the sources, a "toplevel" > license.txt doesn't make much sense. You can simply amend > vect.exp to process tsvc/*.c as well as sources so no need for an > extra .exp file. Sure, it's a good idea and I've done that. > > Is the license recognized as > compatible to the GPL as far as source distribution is concerned? Yes: https://www.gnu.org/licenses/license-list.html#NCSA > > Did you test the testcases on any non-x86 target? (power/aarch64/arm) Yes, I run the tests also on ppc64le-linux-gnu and aarch64-linux-gnu. Thoughts? Thanks, Martin > > Richard. --------------V3V3xDtFw0ba94c7NqyxOlxM Content-Type: text/x-patch; charset=UTF-8; name="0001-Add-TSVC-tests.patch" Content-Disposition: attachment; filename="0001-Add-TSVC-tests.patch" Content-Transfer-Encoding: base64 RnJvbSA5ODhmOTdhNTZlN2EyZWY0ZGNhMzE0MTI0ZGNlNjEwMDQyNTgxYjEzIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJ0aW4gTGlza2EgPG1saXNrYUBzdXNlLmN6PgpE YXRlOiBGcmksIDE1IE9jdCAyMDIxIDE4OjMxOjQ4ICswMjAwClN1YmplY3Q6IFtQQVRDSF0g QWRkIFRTVkMgdGVzdHMuCgpnY2MvdGVzdHN1aXRlL0NoYW5nZUxvZzoKCgkqIGdjYy5kZy92 ZWN0L3ZlY3QuZXhwOiBJbmNsdWRlIGFsc28gdHN2YyBzdWItZGlyZWN0b3J5LgoJKiBnY2Mu ZGcvdmVjdC90c3ZjL2xpY2Vuc2UudHh0OiBOZXcgdGVzdC4KCSogZ2NjLmRnL3ZlY3QvdHN2 Yy90c3ZjLmg6IE5ldyB0ZXN0LgoJKiBnY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMDAw LmM6IE5ldyB0ZXN0LgoJKiBnY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMTExLmM6IE5l dyB0ZXN0LgoJKiBnY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMTExMS5jOiBOZXcgdGVz dC4KCSogZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczExMTIuYzogTmV3IHRlc3QuCgkq IGdjYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMxMTEzLmM6IE5ldyB0ZXN0LgoJKiBnY2Mu ZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMTExNS5jOiBOZXcgdGVzdC4KCSogZ2NjLmRnL3Zl Y3QvdHN2Yy92ZWN0LXRzdmMtczExMTkuYzogTmV3IHRlc3QuCgkqIGdjYy5kZy92ZWN0L3Rz dmMvdmVjdC10c3ZjLXMxMTIuYzogTmV3IHRlc3QuCgkqIGdjYy5kZy92ZWN0L3RzdmMvdmVj dC10c3ZjLXMxMTMuYzogTmV3IHRlc3QuCgkqIGdjYy5kZy92ZWN0L3RzdmMvdmVjdC10c3Zj LXMxMTQuYzogTmV3IHRlc3QuCgkqIGdjYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMxMTUu YzogTmV3IHRlc3QuCgkqIGdjYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMxMTYuYzogTmV3 IHRlc3QuCgkqIGdjYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMxMTYxLmM6IE5ldyB0ZXN0 LgoJKiBnY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMTE4LmM6IE5ldyB0ZXN0LgoJKiBn Y2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMTE5LmM6IE5ldyB0ZXN0LgoJKiBnY2MuZGcv dmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMTIxLmM6IE5ldyB0ZXN0LgoJKiBnY2MuZGcvdmVjdC90 c3ZjL3ZlY3QtdHN2Yy1zMTIxMy5jOiBOZXcgdGVzdC4KCSogZ2NjLmRnL3ZlY3QvdHN2Yy92 ZWN0LXRzdmMtczEyMi5jOiBOZXcgdGVzdC4KCSogZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRz dmMtczEyMjEuYzogTmV3IHRlc3QuCgkqIGdjYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMx MjMuYzogTmV3IHRlc3QuCgkqIGdjYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMxMjMyLmM6 IE5ldyB0ZXN0LgoJKiBnY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMTI0LmM6IE5ldyB0 ZXN0LgoJKiBnY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMTI0NC5jOiBOZXcgdGVzdC4K CSogZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczEyNS5jOiBOZXcgdGVzdC4KCSogZ2Nj LmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczEyNTEuYzogTmV3IHRlc3QuCgkqIGdjYy5kZy92 ZWN0L3RzdmMvdmVjdC10c3ZjLXMxMjYuYzogTmV3IHRlc3QuCgkqIGdjYy5kZy92ZWN0L3Rz dmMvdmVjdC10c3ZjLXMxMjcuYzogTmV3IHRlc3QuCgkqIGdjYy5kZy92ZWN0L3RzdmMvdmVj dC10c3ZjLXMxMjc5LmM6IE5ldyB0ZXN0LgoJKiBnY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2 Yy1zMTI4LmM6IE5ldyB0ZXN0LgoJKiBnY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMTI4 MS5jOiBOZXcgdGVzdC4KCSogZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczEzMS5jOiBO ZXcgdGVzdC4KCSogZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczEzMTEwLmM6IE5ldyB0 ZXN0LgoJKiBnY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMTMyLmM6IE5ldyB0ZXN0LgoJ KiBnY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMTM1MS5jOiBOZXcgdGVzdC4KCSogZ2Nj LmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczE0MS5jOiBOZXcgdGVzdC4KCSogZ2NjLmRnL3Zl Y3QvdHN2Yy92ZWN0LXRzdmMtczE0MjEuYzogTmV3IHRlc3QuCgkqIGdjYy5kZy92ZWN0L3Rz dmMvdmVjdC10c3ZjLXMxNTEuYzogTmV3IHRlc3QuCgkqIGdjYy5kZy92ZWN0L3RzdmMvdmVj dC10c3ZjLXMxNTIuYzogTmV3IHRlc3QuCgkqIGdjYy5kZy92ZWN0L3RzdmMvdmVjdC10c3Zj LXMxNjEuYzogTmV3IHRlc3QuCgkqIGdjYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMxNjIu YzogTmV3IHRlc3QuCgkqIGdjYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMxNzEuYzogTmV3 IHRlc3QuCgkqIGdjYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMxNzIuYzogTmV3IHRlc3Qu CgkqIGdjYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMxNzMuYzogTmV3IHRlc3QuCgkqIGdj Yy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMxNzQuYzogTmV3IHRlc3QuCgkqIGdjYy5kZy92 ZWN0L3RzdmMvdmVjdC10c3ZjLXMxNzUuYzogTmV3IHRlc3QuCgkqIGdjYy5kZy92ZWN0L3Rz dmMvdmVjdC10c3ZjLXMxNzYuYzogTmV3IHRlc3QuCgkqIGdjYy5kZy92ZWN0L3RzdmMvdmVj dC10c3ZjLXMyMTAxLmM6IE5ldyB0ZXN0LgoJKiBnY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2 Yy1zMjEwMi5jOiBOZXcgdGVzdC4KCSogZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczIx MS5jOiBOZXcgdGVzdC4KCSogZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczIxMTEuYzog TmV3IHRlc3QuCgkqIGdjYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMyMTIuYzogTmV3IHRl c3QuCgkqIGdjYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMyMjEuYzogTmV3IHRlc3QuCgkq IGdjYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMyMjIuYzogTmV3IHRlc3QuCgkqIGdjYy5k Zy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMyMjMzLmM6IE5ldyB0ZXN0LgoJKiBnY2MuZGcvdmVj dC90c3ZjL3ZlY3QtdHN2Yy1zMjI0NC5jOiBOZXcgdGVzdC4KCSogZ2NjLmRnL3ZlY3QvdHN2 Yy92ZWN0LXRzdmMtczIyNTEuYzogTmV3IHRlc3QuCgkqIGdjYy5kZy92ZWN0L3RzdmMvdmVj dC10c3ZjLXMyMjc1LmM6IE5ldyB0ZXN0LgoJKiBnY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2 Yy1zMjMxLmM6IE5ldyB0ZXN0LgoJKiBnY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMjMy LmM6IE5ldyB0ZXN0LgoJKiBnY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMjMzLmM6IE5l dyB0ZXN0LgoJKiBnY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMjM1LmM6IE5ldyB0ZXN0 LgoJKiBnY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMjQxLmM6IE5ldyB0ZXN0LgoJKiBn Y2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMjQyLmM6IE5ldyB0ZXN0LgoJKiBnY2MuZGcv dmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMjQzLmM6IE5ldyB0ZXN0LgoJKiBnY2MuZGcvdmVjdC90 c3ZjL3ZlY3QtdHN2Yy1zMjQ0LmM6IE5ldyB0ZXN0LgoJKiBnY2MuZGcvdmVjdC90c3ZjL3Zl Y3QtdHN2Yy1zMjUxLmM6IE5ldyB0ZXN0LgoJKiBnY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2 Yy1zMjUyLmM6IE5ldyB0ZXN0LgoJKiBnY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMjUz LmM6IE5ldyB0ZXN0LgoJKiBnY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMjU0LmM6IE5l dyB0ZXN0LgoJKiBnY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMjU1LmM6IE5ldyB0ZXN0 LgoJKiBnY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMjU2LmM6IE5ldyB0ZXN0LgoJKiBn Y2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMjU3LmM6IE5ldyB0ZXN0LgoJKiBnY2MuZGcv dmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMjU4LmM6IE5ldyB0ZXN0LgoJKiBnY2MuZGcvdmVjdC90 c3ZjL3ZlY3QtdHN2Yy1zMjYxLmM6IE5ldyB0ZXN0LgoJKiBnY2MuZGcvdmVjdC90c3ZjL3Zl Y3QtdHN2Yy1zMjcxLmM6IE5ldyB0ZXN0LgoJKiBnY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2 Yy1zMjcxMC5jOiBOZXcgdGVzdC4KCSogZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczI3 MTEuYzogTmV3IHRlc3QuCgkqIGdjYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMyNzEyLmM6 IE5ldyB0ZXN0LgoJKiBnY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMjcyLmM6IE5ldyB0 ZXN0LgoJKiBnY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMjczLmM6IE5ldyB0ZXN0LgoJ KiBnY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMjc0LmM6IE5ldyB0ZXN0LgoJKiBnY2Mu ZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMjc1LmM6IE5ldyB0ZXN0LgoJKiBnY2MuZGcvdmVj dC90c3ZjL3ZlY3QtdHN2Yy1zMjc2LmM6IE5ldyB0ZXN0LgoJKiBnY2MuZGcvdmVjdC90c3Zj L3ZlY3QtdHN2Yy1zMjc3LmM6IE5ldyB0ZXN0LgoJKiBnY2MuZGcvdmVjdC90c3ZjL3ZlY3Qt dHN2Yy1zMjc4LmM6IE5ldyB0ZXN0LgoJKiBnY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1z Mjc5LmM6IE5ldyB0ZXN0LgoJKiBnY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMjgxLmM6 IE5ldyB0ZXN0LgoJKiBnY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMjkxLmM6IE5ldyB0 ZXN0LgoJKiBnY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMjkyLmM6IE5ldyB0ZXN0LgoJ KiBnY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMjkzLmM6IE5ldyB0ZXN0LgoJKiBnY2Mu ZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMzExLmM6IE5ldyB0ZXN0LgoJKiBnY2MuZGcvdmVj dC90c3ZjL3ZlY3QtdHN2Yy1zMzExMC5jOiBOZXcgdGVzdC4KCSogZ2NjLmRnL3ZlY3QvdHN2 Yy92ZWN0LXRzdmMtczMxMTEuYzogTmV3IHRlc3QuCgkqIGdjYy5kZy92ZWN0L3RzdmMvdmVj dC10c3ZjLXMzMTExMS5jOiBOZXcgdGVzdC4KCSogZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRz dmMtczMxMTIuYzogTmV3IHRlc3QuCgkqIGdjYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMz MTEzLmM6IE5ldyB0ZXN0LgoJKiBnY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMzEyLmM6 IE5ldyB0ZXN0LgoJKiBnY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMzEzLmM6IE5ldyB0 ZXN0LgoJKiBnY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMzE0LmM6IE5ldyB0ZXN0LgoJ KiBnY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMzE1LmM6IE5ldyB0ZXN0LgoJKiBnY2Mu ZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMzE2LmM6IE5ldyB0ZXN0LgoJKiBnY2MuZGcvdmVj dC90c3ZjL3ZlY3QtdHN2Yy1zMzE3LmM6IE5ldyB0ZXN0LgoJKiBnY2MuZGcvdmVjdC90c3Zj L3ZlY3QtdHN2Yy1zMzE4LmM6IE5ldyB0ZXN0LgoJKiBnY2MuZGcvdmVjdC90c3ZjL3ZlY3Qt dHN2Yy1zMzE5LmM6IE5ldyB0ZXN0LgoJKiBnY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1z MzIxLmM6IE5ldyB0ZXN0LgoJKiBnY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMzIyLmM6 IE5ldyB0ZXN0LgoJKiBnY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMzIzLmM6IE5ldyB0 ZXN0LgoJKiBnY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMzI1MS5jOiBOZXcgdGVzdC4K CSogZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczMzMS5jOiBOZXcgdGVzdC4KCSogZ2Nj LmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczMzMi5jOiBOZXcgdGVzdC4KCSogZ2NjLmRnL3Zl Y3QvdHN2Yy92ZWN0LXRzdmMtczM0MS5jOiBOZXcgdGVzdC4KCSogZ2NjLmRnL3ZlY3QvdHN2 Yy92ZWN0LXRzdmMtczM0Mi5jOiBOZXcgdGVzdC4KCSogZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0 LXRzdmMtczM0My5jOiBOZXcgdGVzdC4KCSogZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMt czM1MS5jOiBOZXcgdGVzdC4KCSogZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczM1Mi5j OiBOZXcgdGVzdC4KCSogZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczM1My5jOiBOZXcg dGVzdC4KCSogZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczQxMTIuYzogTmV3IHRlc3Qu CgkqIGdjYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXM0MTEzLmM6IE5ldyB0ZXN0LgoJKiBn Y2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zNDExNC5jOiBOZXcgdGVzdC4KCSogZ2NjLmRn L3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczQxMTUuYzogTmV3IHRlc3QuCgkqIGdjYy5kZy92ZWN0 L3RzdmMvdmVjdC10c3ZjLXM0MTE2LmM6IE5ldyB0ZXN0LgoJKiBnY2MuZGcvdmVjdC90c3Zj L3ZlY3QtdHN2Yy1zNDExNy5jOiBOZXcgdGVzdC4KCSogZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0 LXRzdmMtczQxMjEuYzogTmV3IHRlc3QuCgkqIGdjYy5kZy92ZWN0L3RzdmMvdmVjdC10c3Zj LXM0MjEuYzogTmV3IHRlc3QuCgkqIGdjYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXM0MjIu YzogTmV3IHRlc3QuCgkqIGdjYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXM0MjMuYzogTmV3 IHRlc3QuCgkqIGdjYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXM0MjQuYzogTmV3IHRlc3Qu CgkqIGdjYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXM0MzEuYzogTmV3IHRlc3QuCgkqIGdj Yy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXM0NDEuYzogTmV3IHRlc3QuCgkqIGdjYy5kZy92 ZWN0L3RzdmMvdmVjdC10c3ZjLXM0NDIuYzogTmV3IHRlc3QuCgkqIGdjYy5kZy92ZWN0L3Rz dmMvdmVjdC10c3ZjLXM0NDMuYzogTmV3IHRlc3QuCgkqIGdjYy5kZy92ZWN0L3RzdmMvdmVj dC10c3ZjLXM0NTEuYzogTmV3IHRlc3QuCgkqIGdjYy5kZy92ZWN0L3RzdmMvdmVjdC10c3Zj LXM0NTIuYzogTmV3IHRlc3QuCgkqIGdjYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXM0NTMu YzogTmV3IHRlc3QuCgkqIGdjYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXM0NzEuYzogTmV3 IHRlc3QuCgkqIGdjYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXM0ODEuYzogTmV3IHRlc3Qu CgkqIGdjYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXM0ODIuYzogTmV3IHRlc3QuCgkqIGdj Yy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXM0OTEuYzogTmV3IHRlc3QuCgkqIGdjYy5kZy92 ZWN0L3RzdmMvdmVjdC10c3ZjLXZhLmM6IE5ldyB0ZXN0LgoJKiBnY2MuZGcvdmVjdC90c3Zj L3ZlY3QtdHN2Yy12YWcuYzogTmV3IHRlc3QuCgkqIGdjYy5kZy92ZWN0L3RzdmMvdmVjdC10 c3ZjLXZhcy5jOiBOZXcgdGVzdC4KCSogZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtdmJv ci5jOiBOZXcgdGVzdC4KCSogZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtdmRvdHIuYzog TmV3IHRlc3QuCgkqIGdjYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXZpZi5jOiBOZXcgdGVz dC4KCSogZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtdnB2LmM6IE5ldyB0ZXN0LgoJKiBn Y2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy12cHZwdi5jOiBOZXcgdGVzdC4KCSogZ2NjLmRn L3ZlY3QvdHN2Yy92ZWN0LXRzdmMtdnB2dHMuYzogTmV3IHRlc3QuCgkqIGdjYy5kZy92ZWN0 L3RzdmMvdmVjdC10c3ZjLXZwdnR2LmM6IE5ldyB0ZXN0LgoJKiBnY2MuZGcvdmVjdC90c3Zj L3ZlY3QtdHN2Yy12c3Vtci5jOiBOZXcgdGVzdC4KCSogZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0 LXRzdmMtdnR2LmM6IE5ldyB0ZXN0LgoJKiBnY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy12 dHZ0di5jOiBOZXcgdGVzdC4KLS0tCiBnY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMv bGljZW5zZS50eHQgICAgfCAyOSArKysrKysrKysrKysrKwogZ2NjL3Rlc3RzdWl0ZS9nY2Mu ZGcvdmVjdC90c3ZjL3RzdmMuaCAgICAgICAgIHwgMjUgKysrKysrKysrKysrCiAuLi4vZ2Nj LmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczAwMC5jICAgICAgICAgfCAyMyArKysrKysrKysr KwogLi4uL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMxMTEuYyAgICAgICAgIHwgMjMg KysrKysrKysrKysKIC4uLi9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMTExMS5jICAg ICAgICB8IDIzICsrKysrKysrKysrCiAuLi4vZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMt czExMTIuYyAgICAgICAgfCAyMyArKysrKysrKysrKwogLi4uL2djYy5kZy92ZWN0L3RzdmMv dmVjdC10c3ZjLXMxMTEzLmMgICAgICAgIHwgMjIgKysrKysrKysrKwogLi4uL2djYy5kZy92 ZWN0L3RzdmMvdmVjdC10c3ZjLXMxMTE1LmMgICAgICAgIHwgMjQgKysrKysrKysrKysKIC4u Li9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMTExOS5jICAgICAgICB8IDI1ICsrKysr KysrKysrKwogLi4uL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMxMTIuYyAgICAgICAg IHwgMjMgKysrKysrKysrKysKIC4uLi9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMTEz LmMgICAgICAgICB8IDIzICsrKysrKysrKysrCiAuLi4vZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0 LXRzdmMtczExNC5jICAgICAgICAgfCAyNSArKysrKysrKysrKysKIC4uLi9nY2MuZGcvdmVj dC90c3ZjL3ZlY3QtdHN2Yy1zMTE1LmMgICAgICAgICB8IDI1ICsrKysrKysrKysrKwogLi4u L2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMxMTYuYyAgICAgICAgIHwgMjUgKysrKysr KysrKysrCiAuLi4vZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczExNjEuYyAgICAgICAg fCAzMSArKysrKysrKysrKysrKwogLi4uL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMx MTguYyAgICAgICAgIHwgMjQgKysrKysrKysrKysKIC4uLi9nY2MuZGcvdmVjdC90c3ZjL3Zl Y3QtdHN2Yy1zMTE5LmMgICAgICAgICB8IDI1ICsrKysrKysrKysrKwogLi4uL2djYy5kZy92 ZWN0L3RzdmMvdmVjdC10c3ZjLXMxMjEuYyAgICAgICAgIHwgMjUgKysrKysrKysrKysrCiAu Li4vZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczEyMTMuYyAgICAgICAgfCAyMyArKysr KysrKysrKwogLi4uL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMxMjIuYyAgICAgICAg IHwgMzIgKysrKysrKysrKysrKysrCiAuLi4vZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMt czEyMjEuYyAgICAgICAgfCAyMiArKysrKysrKysrCiAuLi4vZ2NjLmRnL3ZlY3QvdHN2Yy92 ZWN0LXRzdmMtczEyMy5jICAgICAgICAgfCAzMCArKysrKysrKysrKysrKwogLi4uL2djYy5k Zy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMxMjMyLmMgICAgICAgIHwgMjQgKysrKysrKysrKysK IC4uLi9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMTI0LmMgICAgICAgICB8IDMwICsr KysrKysrKysrKysrCiAuLi4vZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczEyNDQuYyAg ICAgICAgfCAyMyArKysrKysrKysrKwogLi4uL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3Zj LXMxMjUuYyAgICAgICAgIHwgMjggKysrKysrKysrKysrKwogLi4uL2djYy5kZy92ZWN0L3Rz dmMvdmVjdC10c3ZjLXMxMjUxLmMgICAgICAgIHwgMjYgKysrKysrKysrKysrCiAuLi4vZ2Nj LmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczEyNi5jICAgICAgICAgfCAyOCArKysrKysrKysr KysrCiAuLi4vZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczEyNy5jICAgICAgICAgfCAy OCArKysrKysrKysrKysrCiAuLi4vZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczEyNzku YyAgICAgICAgfCAyNiArKysrKysrKysrKysKIC4uLi9nY2MuZGcvdmVjdC90c3ZjL3ZlY3Qt dHN2Yy1zMTI4LmMgICAgICAgICB8IDI5ICsrKysrKysrKysrKysrCiAuLi4vZ2NjLmRnL3Zl Y3QvdHN2Yy92ZWN0LXRzdmMtczEyODEuYyAgICAgICAgfCAyNyArKysrKysrKysrKysrCiAu Li4vZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczEzMS5jICAgICAgICAgfCAyNCArKysr KysrKysrKwogLi4uL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMxMzExMC5jICAgICAg IHwgMzQgKysrKysrKysrKysrKysrKwogLi4uL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3Zj LXMxMzIuYyAgICAgICAgIHwgMjYgKysrKysrKysrKysrCiAuLi4vZ2NjLmRnL3ZlY3QvdHN2 Yy92ZWN0LXRzdmMtczEzNTEuYyAgICAgICAgfCAyOCArKysrKysrKysrKysrCiAuLi4vZ2Nj LmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczE0MS5jICAgICAgICAgfCAyOCArKysrKysrKysr KysrCiAuLi4vZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczE0MjEuYyAgICAgICAgfCAy NSArKysrKysrKysrKysKIC4uLi9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMTUxLmMg ICAgICAgICB8IDI5ICsrKysrKysrKysrKysrCiAuLi4vZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0 LXRzdmMtczE1Mi5jICAgICAgICAgfCAzMCArKysrKysrKysrKysrKwogLi4uL2djYy5kZy92 ZWN0L3RzdmMvdmVjdC10c3ZjLXMxNjEuYyAgICAgICAgIHwgMzEgKysrKysrKysrKysrKysK IC4uLi9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMTYyLmMgICAgICAgICB8IDI1ICsr KysrKysrKysrKwogLi4uL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMxNzEuYyAgICAg ICAgIHwgMjUgKysrKysrKysrKysrCiAuLi4vZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMt czE3Mi5jICAgICAgICAgfCAyNyArKysrKysrKysrKysrCiAuLi4vZ2NjLmRnL3ZlY3QvdHN2 Yy92ZWN0LXRzdmMtczE3My5jICAgICAgICAgfCAyNCArKysrKysrKysrKwogLi4uL2djYy5k Zy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMxNzQuYyAgICAgICAgIHwgMjMgKysrKysrKysrKysK IC4uLi9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMTc1LmMgICAgICAgICB8IDIxICsr KysrKysrKysKIC4uLi9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMTc2LmMgICAgICAg ICB8IDI2ICsrKysrKysrKysrKwogLi4uL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMy MTAxLmMgICAgICAgIHwgMjQgKysrKysrKysrKysKIC4uLi9nY2MuZGcvdmVjdC90c3ZjL3Zl Y3QtdHN2Yy1zMjEwMi5jICAgICAgICB8IDI1ICsrKysrKysrKysrKwogLi4uL2djYy5kZy92 ZWN0L3RzdmMvdmVjdC10c3ZjLXMyMTEuYyAgICAgICAgIHwgMjMgKysrKysrKysrKysKIC4u Li9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMjExMS5jICAgICAgICB8IDIzICsrKysr KysrKysrCiAuLi4vZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczIxMi5jICAgICAgICAg fCAyMyArKysrKysrKysrKwogLi4uL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMyMjEu YyAgICAgICAgIHwgMjMgKysrKysrKysrKysKIC4uLi9nY2MuZGcvdmVjdC90c3ZjL3ZlY3Qt dHN2Yy1zMjIyLmMgICAgICAgICB8IDI0ICsrKysrKysrKysrCiAuLi4vZ2NjLmRnL3ZlY3Qv dHN2Yy92ZWN0LXRzdmMtczIyMzMuYyAgICAgICAgfCAyOCArKysrKysrKysrKysrCiAuLi4v Z2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczIyNDQuYyAgICAgICAgfCAyNCArKysrKysr KysrKwogLi4uL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMyMjUxLmMgICAgICAgIHwg MjUgKysrKysrKysrKysrCiAuLi4vZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczIyNzUu YyAgICAgICAgfCAyNSArKysrKysrKysrKysKIC4uLi9nY2MuZGcvdmVjdC90c3ZjL3ZlY3Qt dHN2Yy1zMjMxLmMgICAgICAgICB8IDI1ICsrKysrKysrKysrKwogLi4uL2djYy5kZy92ZWN0 L3RzdmMvdmVjdC10c3ZjLXMyMzIuYyAgICAgICAgIHwgMjQgKysrKysrKysrKysKIC4uLi9n Y2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMjMzLmMgICAgICAgICB8IDI3ICsrKysrKysr KysrKysKIC4uLi9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMjM1LmMgICAgICAgICB8 IDI2ICsrKysrKysrKysrKwogLi4uL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMyNDEu YyAgICAgICAgIHwgMjMgKysrKysrKysrKysKIC4uLi9nY2MuZGcvdmVjdC90c3ZjL3ZlY3Qt dHN2Yy1zMjQyLmMgICAgICAgICB8IDI2ICsrKysrKysrKysrKwogLi4uL2djYy5kZy92ZWN0 L3RzdmMvdmVjdC10c3ZjLXMyNDMuYyAgICAgICAgIHwgMjQgKysrKysrKysrKysKIC4uLi9n Y2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMjQ0LmMgICAgICAgICB8IDI0ICsrKysrKysr KysrCiAuLi4vZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczI1MS5jICAgICAgICAgfCAy NSArKysrKysrKysrKysKIC4uLi9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMjUyLmMg ICAgICAgICB8IDI2ICsrKysrKysrKysrKwogLi4uL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10 c3ZjLXMyNTMuYyAgICAgICAgIHwgMjcgKysrKysrKysrKysrKwogLi4uL2djYy5kZy92ZWN0 L3RzdmMvdmVjdC10c3ZjLXMyNTQuYyAgICAgICAgIHwgMjUgKysrKysrKysrKysrCiAuLi4v Z2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczI1NS5jICAgICAgICAgfCAyNyArKysrKysr KysrKysrCiAuLi4vZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczI1Ni5jICAgICAgICAg fCAyNSArKysrKysrKysrKysKIC4uLi9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMjU3 LmMgICAgICAgICB8IDI1ICsrKysrKysrKysrKwogLi4uL2djYy5kZy92ZWN0L3RzdmMvdmVj dC10c3ZjLXMyNTguYyAgICAgICAgIHwgMjggKysrKysrKysrKysrKwogLi4uL2djYy5kZy92 ZWN0L3RzdmMvdmVjdC10c3ZjLXMyNjEuYyAgICAgICAgIHwgMjYgKysrKysrKysrKysrCiAu Li4vZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczI3MS5jICAgICAgICAgfCAyNCArKysr KysrKysrKwogLi4uL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMyNzEwLmMgICAgICAg IHwgMzUgKysrKysrKysrKysrKysrKwogLi4uL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3Zj LXMyNzExLmMgICAgICAgIHwgMjQgKysrKysrKysrKysKIC4uLi9nY2MuZGcvdmVjdC90c3Zj L3ZlY3QtdHN2Yy1zMjcxMi5jICAgICAgICB8IDI0ICsrKysrKysrKysrCiAuLi4vZ2NjLmRn L3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczI3Mi5jICAgICAgICAgfCAyNCArKysrKysrKysrKwog Li4uL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMyNzMuYyAgICAgICAgIHwgMjUgKysr KysrKysrKysrCiAuLi4vZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczI3NC5jICAgICAg ICAgfCAyNyArKysrKysrKysrKysrCiAuLi4vZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMt czI3NS5jICAgICAgICAgfCAyNiArKysrKysrKysrKysKIC4uLi9nY2MuZGcvdmVjdC90c3Zj L3ZlY3QtdHN2Yy1zMjc2LmMgICAgICAgICB8IDI3ICsrKysrKysrKysrKysKIC4uLi9nY2Mu ZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMjc3LmMgICAgICAgICB8IDMyICsrKysrKysrKysr KysrKwogLi4uL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMyNzguYyAgICAgICAgIHwg MzAgKysrKysrKysrKysrKysKIC4uLi9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMjc5 LmMgICAgICAgICB8IDM0ICsrKysrKysrKysrKysrKysKIC4uLi9nY2MuZGcvdmVjdC90c3Zj L3ZlY3QtdHN2Yy1zMjgxLmMgICAgICAgICB8IDI2ICsrKysrKysrKysrKwogLi4uL2djYy5k Zy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMyOTEuYyAgICAgICAgIHwgMjUgKysrKysrKysrKysr CiAuLi4vZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczI5Mi5jICAgICAgICAgfCAyOCAr KysrKysrKysrKysrCiAuLi4vZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczI5My5jICAg ICAgICAgfCAyMiArKysrKysrKysrCiAuLi4vZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMt czMxMS5jICAgICAgICAgfCAyNSArKysrKysrKysrKysKIC4uLi9nY2MuZGcvdmVjdC90c3Zj L3ZlY3QtdHN2Yy1zMzExMC5jICAgICAgICB8IDM1ICsrKysrKysrKysrKysrKysKIC4uLi9n Y2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMzExMS5jICAgICAgICB8IDI2ICsrKysrKysr KysrKwogLi4uL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMzMTExMS5jICAgICAgIHwg MzggKysrKysrKysrKysrKysrKysrCiAuLi4vZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMt czMxMTIuYyAgICAgICAgfCAyNSArKysrKysrKysrKysKIC4uLi9nY2MuZGcvdmVjdC90c3Zj L3ZlY3QtdHN2Yy1zMzExMy5jICAgICAgICB8IDI2ICsrKysrKysrKysrKwogLi4uL2djYy5k Zy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMzMTIuYyAgICAgICAgIHwgMjQgKysrKysrKysrKysK IC4uLi9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMzEzLmMgICAgICAgICB8IDI1ICsr KysrKysrKysrKwogLi4uL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMzMTQuYyAgICAg ICAgIHwgMjYgKysrKysrKysrKysrCiAuLi4vZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMt czMxNS5jICAgICAgICAgfCAzNCArKysrKysrKysrKysrKysrCiAuLi4vZ2NjLmRnL3ZlY3Qv dHN2Yy92ZWN0LXRzdmMtczMxNi5jICAgICAgICAgfCAyNiArKysrKysrKysrKysKIC4uLi9n Y2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMzE3LmMgICAgICAgICB8IDI2ICsrKysrKysr KysrKwogLi4uL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMzMTguYyAgICAgICAgIHwg MzQgKysrKysrKysrKysrKysrKwogLi4uL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMz MTkuYyAgICAgICAgIHwgMjcgKysrKysrKysrKysrKwogLi4uL2djYy5kZy92ZWN0L3RzdmMv dmVjdC10c3ZjLXMzMjEuYyAgICAgICAgIHwgMjIgKysrKysrKysrKwogLi4uL2djYy5kZy92 ZWN0L3RzdmMvdmVjdC10c3ZjLXMzMjIuYyAgICAgICAgIHwgMjIgKysrKysrKysrKwogLi4u L2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMzMjMuYyAgICAgICAgIHwgMjMgKysrKysr KysrKysKIC4uLi9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMzI1MS5jICAgICAgICB8 IDI1ICsrKysrKysrKysrKwogLi4uL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMzMzEu YyAgICAgICAgIHwgMjkgKysrKysrKysrKysrKysKIC4uLi9nY2MuZGcvdmVjdC90c3ZjL3Zl Y3QtdHN2Yy1zMzMyLmMgICAgICAgICB8IDMyICsrKysrKysrKysrKysrKwogLi4uL2djYy5k Zy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMzNDEuYyAgICAgICAgIHwgMjggKysrKysrKysrKysr KwogLi4uL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMzNDIuYyAgICAgICAgIHwgMjgg KysrKysrKysrKysrKwogLi4uL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMzNDMuYyAg ICAgICAgIHwgMzAgKysrKysrKysrKysrKysKIC4uLi9nY2MuZGcvdmVjdC90c3ZjL3ZlY3Qt dHN2Yy1zMzUxLmMgICAgICAgICB8IDI4ICsrKysrKysrKysrKysKIC4uLi9nY2MuZGcvdmVj dC90c3ZjL3ZlY3QtdHN2Yy1zMzUyLmMgICAgICAgICB8IDI2ICsrKysrKysrKysrKwogLi4u L2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMzNTMuYyAgICAgICAgIHwgMjcgKysrKysr KysrKysrKwogLi4uL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXM0MTEyLmMgICAgICAg IHwgMzAgKysrKysrKysrKysrKysKIC4uLi9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1z NDExMy5jICAgICAgICB8IDIyICsrKysrKysrKysKIC4uLi9nY2MuZGcvdmVjdC90c3ZjL3Zl Y3QtdHN2Yy1zNDExNC5jICAgICAgICB8IDMzICsrKysrKysrKysrKysrKwogLi4uL2djYy5k Zy92ZWN0L3RzdmMvdmVjdC10c3ZjLXM0MTE1LmMgICAgICAgIHwgMjQgKysrKysrKysrKysK IC4uLi9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zNDExNi5jICAgICAgICB8IDMzICsr KysrKysrKysrKysrKwogLi4uL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXM0MTE3LmMg ICAgICAgIHwgMjMgKysrKysrKysrKysKIC4uLi9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2 Yy1zNDEyMS5jICAgICAgICB8IDI4ICsrKysrKysrKysrKysKIC4uLi9nY2MuZGcvdmVjdC90 c3ZjL3ZlY3QtdHN2Yy1zNDIxLmMgICAgICAgICB8IDI2ICsrKysrKysrKysrKwogLi4uL2dj Yy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXM0MjIuYyAgICAgICAgIHwgMjYgKysrKysrKysr KysrCiAuLi4vZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczQyMy5jICAgICAgICAgfCAy NyArKysrKysrKysrKysrCiAuLi4vZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczQyNC5j ICAgICAgICAgfCAyOCArKysrKysrKysrKysrCiAuLi4vZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0 LXRzdmMtczQzMS5jICAgICAgICAgfCAyNyArKysrKysrKysrKysrCiAuLi4vZ2NjLmRnL3Zl Y3QvdHN2Yy92ZWN0LXRzdmMtczQ0MS5jICAgICAgICAgfCAyOCArKysrKysrKysrKysrCiAu Li4vZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczQ0Mi5jICAgICAgICAgfCA0MCArKysr KysrKysrKysrKysrKysrCiAuLi4vZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczQ0My5j ICAgICAgICAgfCAzMyArKysrKysrKysrKysrKysKIC4uLi9nY2MuZGcvdmVjdC90c3ZjL3Zl Y3QtdHN2Yy1zNDUxLmMgICAgICAgICB8IDIyICsrKysrKysrKysKIC4uLi9nY2MuZGcvdmVj dC90c3ZjL3ZlY3QtdHN2Yy1zNDUyLmMgICAgICAgICB8IDIzICsrKysrKysrKysrCiAuLi4v Z2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczQ1My5jICAgICAgICAgfCAyNSArKysrKysr KysrKysKIC4uLi9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zNDcxLmMgICAgICAgICB8 IDMzICsrKysrKysrKysrKysrKwogLi4uL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXM0 ODEuYyAgICAgICAgIHwgMjUgKysrKysrKysrKysrCiAuLi4vZ2NjLmRnL3ZlY3QvdHN2Yy92 ZWN0LXRzdmMtczQ4Mi5jICAgICAgICAgfCAyMyArKysrKysrKysrKwogLi4uL2djYy5kZy92 ZWN0L3RzdmMvdmVjdC10c3ZjLXM0OTEuYyAgICAgICAgIHwgMjIgKysrKysrKysrKwogZ2Nj L3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy12YS5jIHwgMjMgKysrKysr KysrKysKIC4uLi9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy12YWcuYyAgICAgICAgICB8 IDI0ICsrKysrKysrKysrCiAuLi4vZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtdmFzLmMg ICAgICAgICAgfCAyMiArKysrKysrKysrCiAuLi4vZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRz dmMtdmJvci5jICAgICAgICAgfCAzOCArKysrKysrKysrKysrKysrKysKIC4uLi9nY2MuZGcv dmVjdC90c3ZjL3ZlY3QtdHN2Yy12ZG90ci5jICAgICAgICB8IDI1ICsrKysrKysrKysrKwog Li4uL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXZpZi5jICAgICAgICAgIHwgMjQgKysr KysrKysrKysKIC4uLi9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy12cHYuYyAgICAgICAg ICB8IDIzICsrKysrKysrKysrCiAuLi4vZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtdnB2 cHYuYyAgICAgICAgfCAyMyArKysrKysrKysrKwogLi4uL2djYy5kZy92ZWN0L3RzdmMvdmVj dC10c3ZjLXZwdnRzLmMgICAgICAgIHwgMjMgKysrKysrKysrKysKIC4uLi9nY2MuZGcvdmVj dC90c3ZjL3ZlY3QtdHN2Yy12cHZ0di5jICAgICAgICB8IDIzICsrKysrKysrKysrCiAuLi4v Z2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtdnN1bXIuYyAgICAgICAgfCAyNSArKysrKysr KysrKysKIC4uLi9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy12dHYuYyAgICAgICAgICB8 IDIzICsrKysrKysrKysrCiAuLi4vZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtdnR2dHYu YyAgICAgICAgfCAyMyArKysrKysrKysrKwogZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC92 ZWN0LmV4cCAgICAgICAgICAgIHwgIDMgKysKIDE1NCBmaWxlcyBjaGFuZ2VkLCA0MDE4IGlu c2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy5kZy92 ZWN0L3RzdmMvbGljZW5zZS50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRl L2djYy5kZy92ZWN0L3RzdmMvdHN2Yy5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3Rz dWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMDAwLmMKIGNyZWF0ZSBtb2RlIDEw MDY0NCBnY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMxMTEuYwog Y3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0 LXRzdmMtczExMTEuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLmRn L3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczExMTIuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90 ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczExMTMuYwogY3JlYXRlIG1v ZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczEx MTUuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2 Yy92ZWN0LXRzdmMtczExMTkuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUv Z2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczExMi5jCiBjcmVhdGUgbW9kZSAxMDA2NDQg Z2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMTEzLmMKIGNyZWF0 ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3Zj LXMxMTQuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3Qv dHN2Yy92ZWN0LXRzdmMtczExNS5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0 ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMTE2LmMKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBnY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMxMTYxLmMKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10 c3ZjLXMxMTguYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLmRnL3Zl Y3QvdHN2Yy92ZWN0LXRzdmMtczExOS5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3Rz dWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMTIxLmMKIGNyZWF0ZSBtb2RlIDEw MDY0NCBnY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMxMjEzLmMK IGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVj dC10c3ZjLXMxMjIuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLmRn L3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczEyMjEuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90 ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczEyMy5jCiBjcmVhdGUgbW9k ZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMTIz Mi5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3Zj L3ZlY3QtdHN2Yy1zMTI0LmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dj Yy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMxMjQ0LmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBn Y2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMxMjUuYwogY3JlYXRl IG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMt czEyNTEuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3Qv dHN2Yy92ZWN0LXRzdmMtczEyNi5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0 ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMTI3LmMKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBnY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMxMjc5LmMKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10 c3ZjLXMxMjguYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLmRnL3Zl Y3QvdHN2Yy92ZWN0LXRzdmMtczEyODEuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0 c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczEzMS5jCiBjcmVhdGUgbW9kZSAx MDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMTMxMTAu YwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92 ZWN0LXRzdmMtczEzMi5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2Mu ZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMTM1MS5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2Nj L3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMTQxLmMKIGNyZWF0ZSBt b2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMx NDIxLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3Rz dmMvdmVjdC10c3ZjLXMxNTEuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUv Z2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczE1Mi5jCiBjcmVhdGUgbW9kZSAxMDA2NDQg Z2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMTYxLmMKIGNyZWF0 ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3Zj LXMxNjIuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3Qv dHN2Yy92ZWN0LXRzdmMtczE3MS5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0 ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMTcyLmMKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBnY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMxNzMuYwogY3Jl YXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRz dmMtczE3NC5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVj dC90c3ZjL3ZlY3QtdHN2Yy1zMTc1LmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1 aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMxNzYuYwogY3JlYXRlIG1vZGUgMTAw NjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczIxMDEuYwog Y3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0 LXRzdmMtczIxMDIuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLmRn L3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczIxMS5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rl c3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMjExMS5jCiBjcmVhdGUgbW9k ZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMjEy LmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMv dmVjdC10c3ZjLXMyMjEuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2Nj LmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczIyMi5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2Nj L3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMjIzMy5jCiBjcmVhdGUg bW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1z MjI0NC5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90 c3ZjL3ZlY3QtdHN2Yy1zMjI1MS5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0 ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMjI3NS5jCiBjcmVhdGUgbW9kZSAxMDA2 NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMjMxLmMKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10 c3ZjLXMyMzIuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLmRnL3Zl Y3QvdHN2Yy92ZWN0LXRzdmMtczIzMy5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3Rz dWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMjM1LmMKIGNyZWF0ZSBtb2RlIDEw MDY0NCBnY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMyNDEuYwog Y3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0 LXRzdmMtczI0Mi5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcv dmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMjQzLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVz dHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMyNDQuYwogY3JlYXRlIG1vZGUg MTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczI1MS5j CiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3Zl Y3QtdHN2Yy1zMjUyLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy5k Zy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMyNTMuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90 ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczI1NC5jCiBjcmVhdGUgbW9k ZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMjU1 LmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMv dmVjdC10c3ZjLXMyNTYuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2Nj LmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczI1Ny5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2Nj L3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMjU4LmMKIGNyZWF0ZSBt b2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMy NjEuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2 Yy92ZWN0LXRzdmMtczI3MS5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9n Y2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMjcxMC5jCiBjcmVhdGUgbW9kZSAxMDA2NDQg Z2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMjcxMS5jCiBjcmVh dGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2 Yy1zMjcxMi5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVj dC90c3ZjL3ZlY3QtdHN2Yy1zMjcyLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1 aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMyNzMuYwogY3JlYXRlIG1vZGUgMTAw NjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczI3NC5jCiBj cmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3Qt dHN2Yy1zMjc1LmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy5kZy92 ZWN0L3RzdmMvdmVjdC10c3ZjLXMyNzYuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0 c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczI3Ny5jCiBjcmVhdGUgbW9kZSAx MDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMjc4LmMK IGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVj dC10c3ZjLXMyNzkuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLmRn L3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczI4MS5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rl c3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMjkxLmMKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMyOTIu YwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92 ZWN0LXRzdmMtczI5My5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2Mu ZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMzExLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2Mv dGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMzMTEwLmMKIGNyZWF0ZSBt b2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMz MTExLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3Rz dmMvdmVjdC10c3ZjLXMzMTExMS5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0 ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMzExMi5jCiBjcmVhdGUgbW9kZSAxMDA2 NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMzExMy5jCiBj cmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3Qt dHN2Yy1zMzEyLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy5kZy92 ZWN0L3RzdmMvdmVjdC10c3ZjLXMzMTMuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0 c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczMxNC5jCiBjcmVhdGUgbW9kZSAx MDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMzE1LmMK IGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVj dC10c3ZjLXMzMTYuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLmRn L3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczMxNy5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rl c3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMzE4LmMKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMzMTku YwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92 ZWN0LXRzdmMtczMyMS5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2Mu ZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMzIyLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2Mv dGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMzMjMuYwogY3JlYXRlIG1v ZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczMy NTEuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2 Yy92ZWN0LXRzdmMtczMzMS5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9n Y2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMzMyLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBn Y2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMzNDEuYwogY3JlYXRl IG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMt czM0Mi5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90 c3ZjL3ZlY3QtdHN2Yy1zMzQzLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRl L2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMzNTEuYwogY3JlYXRlIG1vZGUgMTAwNjQ0 IGdjYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczM1Mi5jCiBjcmVh dGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2 Yy1zMzUzLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0 L3RzdmMvdmVjdC10c3ZjLXM0MTEyLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1 aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXM0MTEzLmMKIGNyZWF0ZSBtb2RlIDEw MDY0NCBnY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXM0MTE0LmMK IGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVj dC10c3ZjLXM0MTE1LmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy5k Zy92ZWN0L3RzdmMvdmVjdC10c3ZjLXM0MTE2LmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2Mv dGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXM0MTE3LmMKIGNyZWF0ZSBt b2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXM0 MTIxLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3Rz dmMvdmVjdC10c3ZjLXM0MjEuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUv Z2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczQyMi5jCiBjcmVhdGUgbW9kZSAxMDA2NDQg Z2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zNDIzLmMKIGNyZWF0 ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3Zj LXM0MjQuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3Qv dHN2Yy92ZWN0LXRzdmMtczQzMS5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0 ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zNDQxLmMKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBnY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXM0NDIuYwogY3Jl YXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRz dmMtczQ0My5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVj dC90c3ZjL3ZlY3QtdHN2Yy1zNDUxLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1 aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXM0NTIuYwogY3JlYXRlIG1vZGUgMTAw NjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczQ1My5jCiBj cmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3Qt dHN2Yy1zNDcxLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy5kZy92 ZWN0L3RzdmMvdmVjdC10c3ZjLXM0ODEuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0 c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczQ4Mi5jCiBjcmVhdGUgbW9kZSAx MDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zNDkxLmMK IGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVj dC10c3ZjLXZhLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy5kZy92 ZWN0L3RzdmMvdmVjdC10c3ZjLXZhZy5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3Rz dWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy12YXMuYwogY3JlYXRlIG1vZGUgMTAw NjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtdmJvci5jCiBj cmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3Qt dHN2Yy12ZG90ci5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcv dmVjdC90c3ZjL3ZlY3QtdHN2Yy12aWYuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0 c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtdnB2LmMKIGNyZWF0ZSBtb2RlIDEw MDY0NCBnY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXZwdnB2LmMK IGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVj dC10c3ZjLXZwdnRzLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy5k Zy92ZWN0L3RzdmMvdmVjdC10c3ZjLXZwdnR2LmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2Mv dGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXZzdW1yLmMKIGNyZWF0ZSBt b2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXZ0 di5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3Zj L3ZlY3QtdHN2Yy12dHZ0di5jCgpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcv dmVjdC90c3ZjL2xpY2Vuc2UudHh0IGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3Zj L2xpY2Vuc2UudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5l MTZiMzZjYjE1YwotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3Zl Y3QvdHN2Yy9saWNlbnNlLnR4dApAQCAtMCwwICsxLDI5IEBACitDb3B5cmlnaHQgKGMpIDIw MTEgVW5pdmVyc2l0eSBvZiBJbGxpbm9pcyBhdCBVcmJhbmEtQ2hhbXBhaWduLiAgQWxsIHJp Z2h0cyByZXNlcnZlZC4KKworRGV2ZWxvcGVkIGJ5OiBQb2xhcmlzIFJlc2VhcmNoIEdyb3Vw CisgICAgICAgICAgICAgIFVuaXZlcnNpdHkgb2YgSWxsaW5vaXMgYXQgVXJiYW5hLUNoYW1w YWlnbgorICAgICAgICAgICAgICBodHRwOi8vcG9sYXJpcy5jcy51aXVjLmVkdQorCitQZXJt aXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNv biBvYnRhaW5pbmcgYSBjb3B5CitvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRv Y3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8KK2RlYWwgd2l0aCB0aGUg U29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRh dGlvbiB0aGUKK3JpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gs IGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vcgorc2VsbCBjb3BpZXMgb2YgdGhlIFNv ZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMK K2Z1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlv bnM6CisgIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0 aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwKKyAgICAgdGhpcyBsaXN0IG9mIGNvbmRpdGlv bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcnMuCisgIDIuIFJlZGlzdHJpYnV0aW9u cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg ZGlzY2xhaW1lcnMgaW4gdGhlCisgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgIDMuIE5laXRoZXIg dGhlIG5hbWVzIG9mIFBvbGFyaXMgUmVzZWFyY2ggR3JvdXAsIFVuaXZlcnNpdHkgb2YgSWxs aW5vaXMgYXQKKyAgICAgVXJiYW5hLUNoYW1wYWlnbiwgbm9yIHRoZSBuYW1lcyBvZiBpdHMg Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2UKKyAgICAgb3IgcHJvbW90ZSBw cm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBTb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy aW9yCisgICAgIHdyaXR0ZW4gcGVybWlzc2lvbi4KKworVEhFIFNPRlRXQVJFIElTIFBST1ZJ REVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IK K0lNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMg T0YgTUVSQ0hBTlRBQklMSVRZLAorRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug QU5EIE5PTklORlJJTkdFTUVOVC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRQorQ09OVFJJQlVU T1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1B R0VTIE9SIE9USEVSCitMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRS QUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORworRlJPTSwgT1VUIE9GIE9SIElOIENP Tk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5H UworV0lUSCBUSEUgU09GVFdBUkUuCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5k Zy92ZWN0L3RzdmMvdHN2Yy5oIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3Rz dmMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uY2ZjMDBjYmEw YzUKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMv dHN2Yy5oCkBAIC0wLDAgKzEsMjUgQEAKKyNkZWZpbmUgaXRlcmF0aW9ucyAxMDAwMDAKKyNk ZWZpbmUgTEVOXzFEIDMyMDAwCisjZGVmaW5lIExFTl8yRCAyNTYKKyNkZWZpbmUgQVJSQVlf QUxJR05NRU5UIDY0CisKKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxtYXRoLmg+ CisKK3R5cGVkZWYgZmxvYXQgcmVhbF90OworI2RlZmluZSBBQlMgZmFic2YKKworaW50IGR1 bW15KHJlYWxfdFtMRU5fMURdLCByZWFsX3RbTEVOXzFEXSwgcmVhbF90W0xFTl8xRF0sIHJl YWxfdFtMRU5fMURdLAorICAgICAgICAgIHJlYWxfdFtMRU5fMURdLCByZWFsX3RbTEVOXzJE XVtMRU5fMkRdLCByZWFsX3RbTEVOXzJEXVtMRU5fMkRdLAorICAgICAgICAgIHJlYWxfdFtM RU5fMkRdW0xFTl8yRF0sIHJlYWxfdCk7CisKK2V4dGVybiBfX2F0dHJpYnV0ZV9fKChhbGln bmVkKEFSUkFZX0FMSUdOTUVOVCkpKQorcmVhbF90IGZsYXRfMmRfYXJyYXlbTEVOXzJEICog TEVOXzJEXTsKK2V4dGVybiBfX2F0dHJpYnV0ZV9fKChhbGlnbmVkKEFSUkFZX0FMSUdOTUVO VCkpKSByZWFsX3QgeFtMRU5fMURdOworZXh0ZXJuIF9fYXR0cmlidXRlX18oKGFsaWduZWQo QVJSQVlfQUxJR05NRU5UKSkpIHJlYWxfdCBhW0xFTl8xRF0sIGJbTEVOXzFEXSwKKyAgICBj W0xFTl8xRF0sIGRbTEVOXzFEXSwgZVtMRU5fMURdLCBhYVtMRU5fMkRdW0xFTl8yRF0sIGJi W0xFTl8yRF1bTEVOXzJEXSwKKyAgICBjY1tMRU5fMkRdW0xFTl8yRF0sIHR0W0xFTl8yRF1b TEVOXzJEXTsKK2V4dGVybiBfX2F0dHJpYnV0ZV9fKChhbGlnbmVkKEFSUkFZX0FMSUdOTUVO VCkpKSBpbnQgaW5keFtMRU5fMURdOworCitleHRlcm4gcmVhbF90KiBfX3Jlc3RyaWN0X18g eHg7CitleHRlcm4gcmVhbF90KiB5eTsKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2Nj LmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczAwMC5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcv dmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMDAwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAwMDAuLmM2YzU3NDA0NzU3Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3Rz dWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMDAwLmMKQEAgLTAsMCArMSwyMyBA QAorLyogIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgVW5pdmVyc2l0eSBv ZiBJbGxpbm9pcyBPcGVuIFNvdXJjZQorICAgIExpY2Vuc2UuIFNlZSBsaWNlbnNlLnR4dCBm b3IgZGV0YWlscy4gICovCisKKy8qIHsgZGctZG8gY29tcGlsZSB9ICovCisvKiB7IGRnLWFk ZGl0aW9uYWwtb3B0aW9ucyAiLS1wYXJhbSB2ZWN0LWVwaWxvZ3Vlcy1ub21hc2s9MCIgfSAq LworLyogeyBkZy1yZXF1aXJlLWVmZmVjdGl2ZS10YXJnZXQgdmVjdF9mbG9hdCB9ICovCisK KyNpbmNsdWRlICJ0c3ZjLmgiCisKK3ZvaWQgczAwMCAodm9pZCkKK3sKKy8vICAgIGxpbmVh ciBkZXBlbmRlbmNlIHRlc3RpbmcKKy8vICAgIG5vIGRlcGVuZGVuY2UgLSB2ZWN0b3JpemFi bGUKKworCisgICAgZm9yIChpbnQgbmwgPSAwOyBubCA8IDIqaXRlcmF0aW9uczsgbmwrKykg eworICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IExFTl8xRDsgaSsrKSB7CisgICAgICAg ICAgICBhW2ldID0gYltpXSArIDE7CisgICAgICAgIH0KKyAgICAgICAgZHVtbXkoKHJlYWxf dCopYSwgKHJlYWxfdCopYiwgKHJlYWxfdCopYywgKHJlYWxfdCopZCwgKHJlYWxfdCopZSwg YWEsIGJiLCBjYywgMC4pOworICAgIH0KK30KKy8qIHsgZGctZmluYWwgeyBzY2FuLXRyZWUt ZHVtcC10aW1lcyAidmVjdG9yaXplZCAxIGxvb3BzIiAxICJ2ZWN0IiB9IH0gKi8KXCBObyBu ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5k Zy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMxMTEuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3Zl Y3QvdHN2Yy92ZWN0LXRzdmMtczExMS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAwMDAwLi5iNjNmYjZkZGFmNwotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3Vp dGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczExMS5jCkBAIC0wLDAgKzEsMjMgQEAK Ky8qICBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIFVuaXZlcnNpdHkgb2Yg SWxsaW5vaXMgT3BlbiBTb3VyY2UKKyAgICBMaWNlbnNlLiBTZWUgbGljZW5zZS50eHQgZm9y IGRldGFpbHMuICAqLworCisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1hZGRp dGlvbmFsLW9wdGlvbnMgIi0tcGFyYW0gdmVjdC1lcGlsb2d1ZXMtbm9tYXNrPTAiIH0gKi8K Ky8qIHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IHZlY3RfZmxvYXQgfSAqLworCisj aW5jbHVkZSAidHN2Yy5oIgorCit2b2lkIHMxMTEgKHZvaWQpCit7CisvLyAgICBsaW5lYXIg ZGVwZW5kZW5jZSB0ZXN0aW5nCisvLyAgICBubyBkZXBlbmRlbmNlIC0gdmVjdG9yaXphYmxl CisKKworICAgIGZvciAoaW50IG5sID0gMDsgbmwgPCAyKml0ZXJhdGlvbnM7IG5sKyspIHsK KyAgICAgICAgZm9yIChpbnQgaSA9IDE7IGkgPCBMRU5fMUQ7IGkgKz0gMikgeworICAgICAg ICAgICAgYVtpXSA9IGFbaSAtIDFdICsgYltpXTsKKyAgICAgICAgfQorICAgICAgICBkdW1t eShhLCBiLCBjLCBkLCBlLCBhYSwgYmIsIGNjLCAwLik7CisgICAgfQorfQorLyogeyBkZy1m aW5hbCB7IHNjYW4tdHJlZS1kdW1wLXRpbWVzICJ2ZWN0b3JpemVkIDEgbG9vcHMiIDEgInZl Y3QiIH0gfSAqLwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2dj Yy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczExMTEuYyBiL2djYy90 ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczExMTEuYwpuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uZTdjNWE3NTQyNGIKLS0tIC9kZXYvbnVs bAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMxMTEx LmMKQEAgLTAsMCArMSwyMyBAQAorLyogIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRl ciB0aGUgVW5pdmVyc2l0eSBvZiBJbGxpbm9pcyBPcGVuIFNvdXJjZQorICAgIExpY2Vuc2Uu IFNlZSBsaWNlbnNlLnR4dCBmb3IgZGV0YWlscy4gICovCisKKy8qIHsgZGctZG8gY29tcGls ZSB9ICovCisvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLS1wYXJhbSB2ZWN0LWVwaWxv Z3Vlcy1ub21hc2s9MCIgfSAqLworLyogeyBkZy1yZXF1aXJlLWVmZmVjdGl2ZS10YXJnZXQg dmVjdF9mbG9hdCB9ICovCisKKyNpbmNsdWRlICJ0c3ZjLmgiCisKK3ZvaWQgczExMTEgKHZv aWQpCit7CisvLyAgICBubyBkZXBlbmRlbmNlIC0gdmVjdG9yaXphYmxlCisvLyAgICBqdW1w IGluIGRhdGEgYWNjZXNzCisKKworICAgIGZvciAoaW50IG5sID0gMDsgbmwgPCAyKml0ZXJh dGlvbnM7IG5sKyspIHsKKyAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBMRU5fMUQvMjsg aSsrKSB7CisgICAgICAgICAgICBhWzIqaV0gPSBjW2ldICogYltpXSArIGRbaV0gKiBiW2ld ICsgY1tpXSAqIGNbaV0gKyBkW2ldICogYltpXSArIGRbaV0gKiBjW2ldOworICAgICAgICB9 CisgICAgICAgIGR1bW15KGEsIGIsIGMsIGQsIGUsIGFhLCBiYiwgY2MsIDAuKTsKKyAgICB9 Cit9CisvKiB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtdGltZXMgInZlY3Rvcml6ZWQg MSBsb29wcyIgMSAidmVjdCIgfSB9ICovClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk aWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1z MTExMi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMTEx Mi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi44MGU4YTcxYjU0 MwotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92 ZWN0LXRzdmMtczExMTIuYwpAQCAtMCwwICsxLDIzIEBACisvKiAgVGhpcyBmaWxlIGlzIGRp c3RyaWJ1dGVkIHVuZGVyIHRoZSBVbml2ZXJzaXR5IG9mIElsbGlub2lzIE9wZW4gU291cmNl CisgICAgTGljZW5zZS4gU2VlIGxpY2Vuc2UudHh0IGZvciBkZXRhaWxzLiAgKi8KKworLyog eyBkZy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItLXBh cmFtIHZlY3QtZXBpbG9ndWVzLW5vbWFzaz0wIiB9ICovCisvKiB7IGRnLXJlcXVpcmUtZWZm ZWN0aXZlLXRhcmdldCB2ZWN0X2Zsb2F0IH0gKi8KKworI2luY2x1ZGUgInRzdmMuaCIKKwor dm9pZCBzMTExMiAodm9pZCkKK3sKKy8vICAgIGxpbmVhciBkZXBlbmRlbmNlIHRlc3RpbmcK Ky8vICAgIGxvb3AgcmV2ZXJzYWwKKworCisgICAgZm9yIChpbnQgbmwgPSAwOyBubCA8IGl0 ZXJhdGlvbnMqMzsgbmwrKykgeworICAgICAgICBmb3IgKGludCBpID0gTEVOXzFEIC0gMTsg aSA+PSAwOyBpLS0pIHsKKyAgICAgICAgICAgIGFbaV0gPSBiW2ldICsgKHJlYWxfdCkgMS47 CisgICAgICAgIH0KKyAgICAgICAgZHVtbXkoYSwgYiwgYywgZCwgZSwgYWEsIGJiLCBjYywg MC4pOworICAgIH0KK30KKy8qIHsgZGctZmluYWwgeyBzY2FuLXRyZWUtZHVtcC10aW1lcyAi dmVjdG9yaXplZCAxIGxvb3BzIiAxICJ2ZWN0IiB9IH0gKi8KXCBObyBuZXdsaW5lIGF0IGVu ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMv dmVjdC10c3ZjLXMxMTEzLmMgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVj dC10c3ZjLXMxMTEzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAu LmMyNmFjNzUyMjMwCi0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcv dmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMTExMy5jCkBAIC0wLDAgKzEsMjIgQEAKKy8qICBUaGlz IGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIFVuaXZlcnNpdHkgb2YgSWxsaW5vaXMg T3BlbiBTb3VyY2UKKyAgICBMaWNlbnNlLiBTZWUgbGljZW5zZS50eHQgZm9yIGRldGFpbHMu ICAqLworCisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1hZGRpdGlvbmFsLW9w dGlvbnMgIi0tcGFyYW0gdmVjdC1lcGlsb2d1ZXMtbm9tYXNrPTAiIH0gKi8KKy8qIHsgZGct cmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IHZlY3RfZmxvYXQgfSAqLworCisjaW5jbHVkZSAi dHN2Yy5oIgorCit2b2lkIHMxMTEzICh2b2lkKQoreworLy8gICAgbGluZWFyIGRlcGVuZGVu Y2UgdGVzdGluZworLy8gICAgb25lIGl0ZXJhdGlvbiBkZXBlbmRlbmN5IG9uIGEoTEVOXzFE LzIpIGJ1dCBzdGlsbCB2ZWN0b3JpemFibGUKKworCisgICAgZm9yIChpbnQgbmwgPSAwOyBu bCA8IDIqaXRlcmF0aW9uczsgbmwrKykgeworICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8 IExFTl8xRDsgaSsrKSB7CisgICAgICAgICAgICBhW2ldID0gYVtMRU5fMUQvMl0gKyBiW2ld OworICAgICAgICB9CisgICAgICAgIGR1bW15KGEsIGIsIGMsIGQsIGUsIGFhLCBiYiwgY2Ms IDAuKTsKKyAgICB9Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0 IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMTExNS5jIGIv Z2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMTExNS5jCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5jZjFhY2U0YjRkYQotLS0gL2Rl di9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMt czExMTUuYwpAQCAtMCwwICsxLDI0IEBACisvKiAgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVk IHVuZGVyIHRoZSBVbml2ZXJzaXR5IG9mIElsbGlub2lzIE9wZW4gU291cmNlCisgICAgTGlj ZW5zZS4gU2VlIGxpY2Vuc2UudHh0IGZvciBkZXRhaWxzLiAgKi8KKworLyogeyBkZy1kbyBj b21waWxlIH0gKi8KKy8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItLXBhcmFtIHZlY3Qt ZXBpbG9ndWVzLW5vbWFzaz0wIiB9ICovCisvKiB7IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRh cmdldCB2ZWN0X2Zsb2F0IH0gKi8KKworI2luY2x1ZGUgInRzdmMuaCIKKwordm9pZCBzMTEx NSAodm9pZCkKK3sKKy8vICAgIGxpbmVhciBkZXBlbmRlbmNlIHRlc3RpbmcKKy8vICAgIHRy aWFuZ3VsYXIgc2F4cHkgbG9vcAorCisKKyAgICBmb3IgKGludCBubCA9IDA7IG5sIDwgMTAw KihpdGVyYXRpb25zL0xFTl8yRCk7IG5sKyspIHsKKyAgICAgICAgZm9yIChpbnQgaSA9IDA7 IGkgPCBMRU5fMkQ7IGkrKykgeworICAgICAgICAgICAgZm9yIChpbnQgaiA9IDA7IGogPCBM RU5fMkQ7IGorKykgeworICAgICAgICAgICAgICAgIGFhW2ldW2pdID0gYWFbaV1bal0qY2Nb al1baV0gKyBiYltpXVtqXTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBk dW1teShhLCBiLCBjLCBkLCBlLCBhYSwgYmIsIGNjLCAwLik7CisgICAgfQorfQpcIE5vIG5l d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRn L3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczExMTkuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3Zl Y3QvdHN2Yy92ZWN0LXRzdmMtczExMTkuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAwMC4uNjFhNTMxOTA3YjkKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1 aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMxMTE5LmMKQEAgLTAsMCArMSwyNSBA QAorLyogIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgVW5pdmVyc2l0eSBv ZiBJbGxpbm9pcyBPcGVuIFNvdXJjZQorICAgIExpY2Vuc2UuIFNlZSBsaWNlbnNlLnR4dCBm b3IgZGV0YWlscy4gICovCisKKy8qIHsgZGctZG8gY29tcGlsZSB9ICovCisvKiB7IGRnLWFk ZGl0aW9uYWwtb3B0aW9ucyAiLS1wYXJhbSB2ZWN0LWVwaWxvZ3Vlcy1ub21hc2s9MCIgfSAq LworLyogeyBkZy1yZXF1aXJlLWVmZmVjdGl2ZS10YXJnZXQgdmVjdF9mbG9hdCB9ICovCisK KyNpbmNsdWRlICJ0c3ZjLmgiCisKK3ZvaWQgczExMTkgKHZvaWQpCit7CisvLyAgICBsaW5l YXIgZGVwZW5kZW5jZSB0ZXN0aW5nCisvLyAgICBubyBkZXBlbmRlbmNlIC0gdmVjdG9yaXph YmxlCisKKworICAgIGZvciAoaW50IG5sID0gMDsgbmwgPCAyMDAqKGl0ZXJhdGlvbnMvKExF Tl8yRCkpOyBubCsrKSB7CisgICAgICAgIGZvciAoaW50IGkgPSAxOyBpIDwgTEVOXzJEOyBp KyspIHsKKyAgICAgICAgICAgIGZvciAoaW50IGogPSAwOyBqIDwgTEVOXzJEOyBqKyspIHsK KyAgICAgICAgICAgICAgICBhYVtpXVtqXSA9IGFhW2ktMV1bal0gKyBiYltpXVtqXTsKKyAg ICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBkdW1teShhLCBiLCBjLCBkLCBlLCBh YSwgYmIsIGNjLCAwLik7CisgICAgfQorfQorLyogeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1k dW1wLXRpbWVzICJ2ZWN0b3JpemVkIDEgbG9vcHMiIDEgInZlY3QiIH0gfSAqLwpcIE5vIG5l d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRn L3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczExMi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVj dC90c3ZjL3ZlY3QtdHN2Yy1zMTEyLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMDAwMDAuLjkwMjU4MjVlZjk0Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0 ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMTEyLmMKQEAgLTAsMCArMSwyMyBAQAor LyogIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgVW5pdmVyc2l0eSBvZiBJ bGxpbm9pcyBPcGVuIFNvdXJjZQorICAgIExpY2Vuc2UuIFNlZSBsaWNlbnNlLnR4dCBmb3Ig ZGV0YWlscy4gICovCisKKy8qIHsgZGctZG8gY29tcGlsZSB9ICovCisvKiB7IGRnLWFkZGl0 aW9uYWwtb3B0aW9ucyAiLS1wYXJhbSB2ZWN0LWVwaWxvZ3Vlcy1ub21hc2s9MCIgfSAqLwor LyogeyBkZy1yZXF1aXJlLWVmZmVjdGl2ZS10YXJnZXQgdmVjdF9mbG9hdCB9ICovCisKKyNp bmNsdWRlICJ0c3ZjLmgiCisKK3ZvaWQgczExMiAodm9pZCkKK3sKKy8vICAgIGxpbmVhciBk ZXBlbmRlbmNlIHRlc3RpbmcKKy8vICAgIGxvb3AgcmV2ZXJzYWwKKworCisgICAgZm9yIChp bnQgbmwgPSAwOyBubCA8IDMqaXRlcmF0aW9uczsgbmwrKykgeworICAgICAgICBmb3IgKGlu dCBpID0gTEVOXzFEIC0gMjsgaSA+PSAwOyBpLS0pIHsKKyAgICAgICAgICAgIGFbaSsxXSA9 IGFbaV0gKyBiW2ldOworICAgICAgICB9CisgICAgICAgIGR1bW15KGEsIGIsIGMsIGQsIGUs IGFhLCBiYiwgY2MsIDAuKTsKKyAgICB9Cit9CisvKiB7IGRnLWZpbmFsIHsgc2Nhbi10cmVl LWR1bXAtdGltZXMgInZlY3Rvcml6ZWQgMSBsb29wcyIgMSAidmVjdCIgfSB9ICovClwgTm8g bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2Mu ZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMTEzLmMgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92 ZWN0L3RzdmMvdmVjdC10c3ZjLXMxMTMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAwMC4uNGNkYjhjMGVkZWIKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1 aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMxMTMuYwpAQCAtMCwwICsxLDIzIEBA CisvKiAgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBVbml2ZXJzaXR5IG9m IElsbGlub2lzIE9wZW4gU291cmNlCisgICAgTGljZW5zZS4gU2VlIGxpY2Vuc2UudHh0IGZv ciBkZXRhaWxzLiAgKi8KKworLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGctYWRk aXRpb25hbC1vcHRpb25zICItLXBhcmFtIHZlY3QtZXBpbG9ndWVzLW5vbWFzaz0wIiB9ICov CisvKiB7IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdldCB2ZWN0X2Zsb2F0IH0gKi8KKwor I2luY2x1ZGUgInRzdmMuaCIKKwordm9pZCBzMTEzICh2b2lkKQoreworLy8gICAgbGluZWFy IGRlcGVuZGVuY2UgdGVzdGluZworLy8gICAgYShpKT1hKDEpIGJ1dCBubyBhY3R1YWwgZGVw ZW5kZW5jZSBjeWNsZQorCisKKyAgICBmb3IgKGludCBubCA9IDA7IG5sIDwgNCppdGVyYXRp b25zOyBubCsrKSB7CisgICAgICAgIGZvciAoaW50IGkgPSAxOyBpIDwgTEVOXzFEOyBpKysp IHsKKyAgICAgICAgICAgIGFbaV0gPSBhWzBdICsgYltpXTsKKyAgICAgICAgfQorICAgICAg ICBkdW1teShhLCBiLCBjLCBkLCBlLCBhYSwgYmIsIGNjLCAwLik7CisgICAgfQorfQorLyog eyBkZy1maW5hbCB7IHNjYW4tdHJlZS1kdW1wLXRpbWVzICJ2ZWN0b3JpemVkIDEgbG9vcHMi IDEgInZlY3QiIH0gfSAqLwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp dCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczExNC5jIGIv Z2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMTE0LmMKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmY1MzJjOTU0MjFlCi0tLSAvZGV2 L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1z MTE0LmMKQEAgLTAsMCArMSwyNSBAQAorLyogIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1 bmRlciB0aGUgVW5pdmVyc2l0eSBvZiBJbGxpbm9pcyBPcGVuIFNvdXJjZQorICAgIExpY2Vu c2UuIFNlZSBsaWNlbnNlLnR4dCBmb3IgZGV0YWlscy4gICovCisKKy8qIHsgZGctZG8gY29t cGlsZSB9ICovCisvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLS1wYXJhbSB2ZWN0LWVw aWxvZ3Vlcy1ub21hc2s9MCIgfSAqLworLyogeyBkZy1yZXF1aXJlLWVmZmVjdGl2ZS10YXJn ZXQgdmVjdF9mbG9hdCB9ICovCisKKyNpbmNsdWRlICJ0c3ZjLmgiCisKK3ZvaWQgczExNCAo dm9pZCkKK3sKKy8vICAgIGxpbmVhciBkZXBlbmRlbmNlIHRlc3RpbmcKKy8vICAgIHRyYW5z cG9zZSB2ZWN0b3JpemF0aW9uCisvLyAgICBKdW1wIGluIGRhdGEgYWNjZXNzIC0gbm90IHZl Y3Rvcml6YWJsZQorCisKKyAgICBmb3IgKGludCBubCA9IDA7IG5sIDwgMjAwKihpdGVyYXRp b25zLyhMRU5fMkQpKTsgbmwrKykgeworICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IExF Tl8yRDsgaSsrKSB7CisgICAgICAgICAgICBmb3IgKGludCBqID0gMDsgaiA8IGk7IGorKykg eworICAgICAgICAgICAgICAgIGFhW2ldW2pdID0gYWFbal1baV0gKyBiYltpXVtqXTsKKyAg ICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBkdW1teShhLCBiLCBjLCBkLCBlLCBh YSwgYmIsIGNjLCAwLik7CisgICAgfQorfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK ZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMt czExNS5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMTE1 LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjc1ZjFjNGU3MmRk Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3Zl Y3QtdHN2Yy1zMTE1LmMKQEAgLTAsMCArMSwyNSBAQAorLyogIFRoaXMgZmlsZSBpcyBkaXN0 cmlidXRlZCB1bmRlciB0aGUgVW5pdmVyc2l0eSBvZiBJbGxpbm9pcyBPcGVuIFNvdXJjZQor ICAgIExpY2Vuc2UuIFNlZSBsaWNlbnNlLnR4dCBmb3IgZGV0YWlscy4gICovCisKKy8qIHsg ZGctZG8gY29tcGlsZSB9ICovCisvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLS1wYXJh bSB2ZWN0LWVwaWxvZ3Vlcy1ub21hc2s9MCIgfSAqLworLyogeyBkZy1yZXF1aXJlLWVmZmVj dGl2ZS10YXJnZXQgdmVjdF9mbG9hdCB9ICovCisKKyNpbmNsdWRlICJ0c3ZjLmgiCisKK3Zv aWQgczExNSAodm9pZCkKK3sKKy8vICAgIGxpbmVhciBkZXBlbmRlbmNlIHRlc3RpbmcKKy8v ICAgIHRyaWFuZ3VsYXIgc2F4cHkgbG9vcAorCisKKyAgICBmb3IgKGludCBubCA9IDA7IG5s IDwgMTAwMCooaXRlcmF0aW9ucy9MRU5fMkQpOyBubCsrKSB7CisgICAgICAgIGZvciAoaW50 IGogPSAwOyBqIDwgTEVOXzJEOyBqKyspIHsKKyAgICAgICAgICAgIGZvciAoaW50IGkgPSBq KzE7IGkgPCBMRU5fMkQ7IGkrKykgeworICAgICAgICAgICAgICAgIGFbaV0gLT0gYWFbal1b aV0gKiBhW2pdOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIGR1bW15KGEs IGIsIGMsIGQsIGUsIGFhLCBiYiwgY2MsIDAuKTsKKyAgICB9Cit9CisvKiB7IGRnLWZpbmFs IHsgc2Nhbi10cmVlLWR1bXAtdGltZXMgInZlY3Rvcml6ZWQgMSBsb29wcyIgMSAidmVjdCIg fSB9ICovClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvZ2NjL3Rl c3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMTE2LmMgYi9nY2MvdGVzdHN1 aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMxMTYuYwpuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMzgwNmU4N2UxNmIKLS0tIC9kZXYvbnVsbAorKysg Yi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMxMTYuYwpAQCAt MCwwICsxLDI1IEBACisvKiAgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBV bml2ZXJzaXR5IG9mIElsbGlub2lzIE9wZW4gU291cmNlCisgICAgTGljZW5zZS4gU2VlIGxp Y2Vuc2UudHh0IGZvciBkZXRhaWxzLiAgKi8KKworLyogeyBkZy1kbyBjb21waWxlIH0gKi8K Ky8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItLXBhcmFtIHZlY3QtZXBpbG9ndWVzLW5v bWFzaz0wIiB9ICovCisvKiB7IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdldCB2ZWN0X2Zs b2F0IH0gKi8KKworI2luY2x1ZGUgInRzdmMuaCIKKwordm9pZCBzMTE2ICh2b2lkKQorewor Ly8gICAgbGluZWFyIGRlcGVuZGVuY2UgdGVzdGluZworCisKKyAgICBmb3IgKGludCBubCA9 IDA7IG5sIDwgaXRlcmF0aW9ucyoxMDsgbmwrKykgeworICAgICAgICBmb3IgKGludCBpID0g MDsgaSA8IExFTl8xRCAtIDU7IGkgKz0gNSkgeworICAgICAgICAgICAgYVtpXSA9IGFbaSAr IDFdICogYVtpXTsKKyAgICAgICAgICAgIGFbaSArIDFdID0gYVtpICsgMl0gKiBhW2kgKyAx XTsKKyAgICAgICAgICAgIGFbaSArIDJdID0gYVtpICsgM10gKiBhW2kgKyAyXTsKKyAgICAg ICAgICAgIGFbaSArIDNdID0gYVtpICsgNF0gKiBhW2kgKyAzXTsKKyAgICAgICAgICAgIGFb aSArIDRdID0gYVtpICsgNV0gKiBhW2kgKyA0XTsKKyAgICAgICAgfQorICAgICAgICBkdW1t eShhLCBiLCBjLCBkLCBlLCBhYSwgYmIsIGNjLCAwLik7CisgICAgfQorfQpcIE5vIG5ld2xp bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3Zl Y3QvdHN2Yy92ZWN0LXRzdmMtczExNjEuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3Qv dHN2Yy92ZWN0LXRzdmMtczExNjEuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwMDAwMC4uN2EzMzAzZjg3ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRl L2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMxMTYxLmMKQEAgLTAsMCArMSwzMSBAQAor LyogIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgVW5pdmVyc2l0eSBvZiBJ bGxpbm9pcyBPcGVuIFNvdXJjZQorICAgIExpY2Vuc2UuIFNlZSBsaWNlbnNlLnR4dCBmb3Ig ZGV0YWlscy4gICovCisKKy8qIHsgZGctZG8gY29tcGlsZSB9ICovCisvKiB7IGRnLWFkZGl0 aW9uYWwtb3B0aW9ucyAiLS1wYXJhbSB2ZWN0LWVwaWxvZ3Vlcy1ub21hc2s9MCIgfSAqLwor LyogeyBkZy1yZXF1aXJlLWVmZmVjdGl2ZS10YXJnZXQgdmVjdF9mbG9hdCB9ICovCisKKyNp bmNsdWRlICJ0c3ZjLmgiCisKK3ZvaWQgczExNjEgKHZvaWQpCit7CisvLyAgICBjb250cm9s IGZsb3cKKy8vICAgIHRlc3RzIGZvciByZWNvZ25pdGlvbiBvZiBsb29wIGluZGVwZW5kZW50 IGRlcGVuZGVuY2VzCisvLyAgICBiZXR3ZWVuIHN0YXRlbWVudHMgaW4gbXV0dWFsbHkgZXhj bHVzaXZlIHJlZ2lvbnMuCisKKworICAgIGZvciAoaW50IG5sID0gMDsgbmwgPCBpdGVyYXRp b25zOyBubCsrKSB7CisgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTEVOXzFELTE7ICsr aSkgeworICAgICAgICAgICAgaWYgKGNbaV0gPCAocmVhbF90KTAuKSB7CisgICAgICAgICAg ICAgICAgZ290byBMMjA7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBhW2ldID0gY1tp XSArIGRbaV0gKiBlW2ldOworICAgICAgICAgICAgZ290byBMMTA7CitMMjA6CisgICAgICAg ICAgICBiW2ldID0gYVtpXSArIGRbaV0gKiBkW2ldOworTDEwOgorICAgICAgICAgICAgOwor ICAgICAgICB9CisgICAgICAgIGR1bW15KGEsIGIsIGMsIGQsIGUsIGFhLCBiYiwgY2MsIDAu KTsKKyAgICB9Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv Z2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMTE4LmMgYi9nY2Mv dGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMxMTguYwpuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMjkwODM5OTE5ZGEKLS0tIC9kZXYvbnVs bAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMxMTgu YwpAQCAtMCwwICsxLDI0IEBACisvKiAgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVy IHRoZSBVbml2ZXJzaXR5IG9mIElsbGlub2lzIE9wZW4gU291cmNlCisgICAgTGljZW5zZS4g U2VlIGxpY2Vuc2UudHh0IGZvciBkZXRhaWxzLiAgKi8KKworLyogeyBkZy1kbyBjb21waWxl IH0gKi8KKy8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItLXBhcmFtIHZlY3QtZXBpbG9n dWVzLW5vbWFzaz0wIiB9ICovCisvKiB7IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdldCB2 ZWN0X2Zsb2F0IH0gKi8KKworI2luY2x1ZGUgInRzdmMuaCIKKwordm9pZCBzMTE4ICh2b2lk KQoreworLy8gICAgbGluZWFyIGRlcGVuZGVuY2UgdGVzdGluZworLy8gICAgcG90ZW50aWFs IGRvdCBwcm9kdWN0IHJlY3Vyc2lvbgorCisKKyAgICBmb3IgKGludCBubCA9IDA7IG5sIDwg MjAwKihpdGVyYXRpb25zL0xFTl8yRCk7IG5sKyspIHsKKyAgICAgICAgZm9yIChpbnQgaSA9 IDE7IGkgPCBMRU5fMkQ7IGkrKykgeworICAgICAgICAgICAgZm9yIChpbnQgaiA9IDA7IGog PD0gaSAtIDE7IGorKykgeworICAgICAgICAgICAgICAgIGFbaV0gKz0gYmJbal1baV0gKiBh W2ktai0xXTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBkdW1teShhLCBi LCBjLCBkLCBlLCBhYSwgYmIsIGNjLCAwLik7CisgICAgfQorfQpcIE5vIG5ld2xpbmUgYXQg ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2 Yy92ZWN0LXRzdmMtczExOS5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3Zl Y3QtdHN2Yy1zMTE5LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAu LjJiOThmYTU0NjdmCi0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcv dmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMTE5LmMKQEAgLTAsMCArMSwyNSBAQAorLyogIFRoaXMg ZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgVW5pdmVyc2l0eSBvZiBJbGxpbm9pcyBP cGVuIFNvdXJjZQorICAgIExpY2Vuc2UuIFNlZSBsaWNlbnNlLnR4dCBmb3IgZGV0YWlscy4g ICovCisKKy8qIHsgZGctZG8gY29tcGlsZSB9ICovCisvKiB7IGRnLWFkZGl0aW9uYWwtb3B0 aW9ucyAiLS1wYXJhbSB2ZWN0LWVwaWxvZ3Vlcy1ub21hc2s9MCIgfSAqLworLyogeyBkZy1y ZXF1aXJlLWVmZmVjdGl2ZS10YXJnZXQgdmVjdF9mbG9hdCB9ICovCisKKyNpbmNsdWRlICJ0 c3ZjLmgiCisKK3ZvaWQgczExOSAodm9pZCkKK3sKKy8vICAgIGxpbmVhciBkZXBlbmRlbmNl IHRlc3RpbmcKKy8vICAgIG5vIGRlcGVuZGVuY2UgLSB2ZWN0b3JpemFibGUKKworCisgICAg Zm9yIChpbnQgbmwgPSAwOyBubCA8IDIwMCooaXRlcmF0aW9ucy8oTEVOXzJEKSk7IG5sKysp IHsKKyAgICAgICAgZm9yIChpbnQgaSA9IDE7IGkgPCBMRU5fMkQ7IGkrKykgeworICAgICAg ICAgICAgZm9yIChpbnQgaiA9IDE7IGogPCBMRU5fMkQ7IGorKykgeworICAgICAgICAgICAg ICAgIGFhW2ldW2pdID0gYWFbaS0xXVtqLTFdICsgYmJbaV1bal07CisgICAgICAgICAgICB9 CisgICAgICAgIH0KKyAgICAgICAgZHVtbXkoYSwgYiwgYywgZCwgZSwgYWEsIGJiLCBjYywg MC4pOworICAgIH0KK30KKy8qIHsgZGctZmluYWwgeyBzY2FuLXRyZWUtZHVtcC10aW1lcyAi dmVjdG9yaXplZCAxIGxvb3BzIiAxICJ2ZWN0IiB9IH0gKi8KXCBObyBuZXdsaW5lIGF0IGVu ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMv dmVjdC10c3ZjLXMxMjEuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0 LXRzdmMtczEyMS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5m OGQxY2MwNTVjZAotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3Zl Y3QvdHN2Yy92ZWN0LXRzdmMtczEyMS5jCkBAIC0wLDAgKzEsMjUgQEAKKy8qICBUaGlzIGZp bGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIFVuaXZlcnNpdHkgb2YgSWxsaW5vaXMgT3Bl biBTb3VyY2UKKyAgICBMaWNlbnNlLiBTZWUgbGljZW5zZS50eHQgZm9yIGRldGFpbHMuICAq LworCisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlv bnMgIi0tcGFyYW0gdmVjdC1lcGlsb2d1ZXMtbm9tYXNrPTAiIH0gKi8KKy8qIHsgZGctcmVx dWlyZS1lZmZlY3RpdmUtdGFyZ2V0IHZlY3RfZmxvYXQgfSAqLworCisjaW5jbHVkZSAidHN2 Yy5oIgorCit2b2lkIHMxMjEgKHZvaWQpCit7CisvLyAgICBpbmR1Y3Rpb24gdmFyaWFibGUg cmVjb2duaXRpb24KKy8vICAgIGxvb3Agd2l0aCBwb3NzaWJsZSBhbWJpZ3VpdHkgYmVjYXVz ZSBvZiBzY2FsYXIgc3RvcmUKKworCisgICAgaW50IGo7CisgICAgZm9yIChpbnQgbmwgPSAw OyBubCA8IDMqaXRlcmF0aW9uczsgbmwrKykgeworICAgICAgICBmb3IgKGludCBpID0gMDsg aSA8IExFTl8xRC0xOyBpKyspIHsKKyAgICAgICAgICAgIGogPSBpICsgMTsKKyAgICAgICAg ICAgIGFbaV0gPSBhW2pdICsgYltpXTsKKyAgICAgICAgfQorICAgICAgICBkdW1teShhLCBi LCBjLCBkLCBlLCBhYSwgYmIsIGNjLCAwLik7CisgICAgfQorfQorLyogeyBkZy1maW5hbCB7 IHNjYW4tdHJlZS1kdW1wLXRpbWVzICJ2ZWN0b3JpemVkIDEgbG9vcHMiIDEgInZlY3QiIH0g fSAqLwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2djYy90ZXN0 c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczEyMTMuYyBiL2djYy90ZXN0c3Vp dGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczEyMTMuYwpuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwMDAwMC4uYWQxMDNkMGZlNTkKLS0tIC9kZXYvbnVsbAorKysg Yi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMxMjEzLmMKQEAg LTAsMCArMSwyMyBAQAorLyogIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUg VW5pdmVyc2l0eSBvZiBJbGxpbm9pcyBPcGVuIFNvdXJjZQorICAgIExpY2Vuc2UuIFNlZSBs aWNlbnNlLnR4dCBmb3IgZGV0YWlscy4gICovCisKKy8qIHsgZGctZG8gY29tcGlsZSB9ICov CisvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLS1wYXJhbSB2ZWN0LWVwaWxvZ3Vlcy1u b21hc2s9MCIgfSAqLworLyogeyBkZy1yZXF1aXJlLWVmZmVjdGl2ZS10YXJnZXQgdmVjdF9m bG9hdCB9ICovCisKKyNpbmNsdWRlICJ0c3ZjLmgiCisKK3ZvaWQgczEyMTMgKHZvaWQpCit7 CisvLyAgICBzdGF0ZW1lbnQgcmVvcmRlcmluZworLy8gICAgZGVwZW5kZW5jeSBuZWVkaW5n IHRlbXBvcmFyeQorCisKKyAgICBmb3IgKGludCBubCA9IDA7IG5sIDwgaXRlcmF0aW9uczsg bmwrKykgeworICAgICAgICBmb3IgKGludCBpID0gMTsgaSA8IExFTl8xRC0xOyBpKyspIHsK KyAgICAgICAgICAgIGFbaV0gPSBiW2ktMV0rY1tpXTsKKyAgICAgICAgICAgIGJbaV0gPSBh W2krMV0qZFtpXTsKKyAgICAgICAgfQorICAgICAgICBkdW1teShhLCBiLCBjLCBkLCBlLCBh YSwgYmIsIGNjLCAwLik7CisgICAgfQorfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK ZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMt czEyMi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMTIy LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmU4ZDI5NGI5Zjky Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3Zl Y3QtdHN2Yy1zMTIyLmMKQEAgLTAsMCArMSwzMiBAQAorLyogIFRoaXMgZmlsZSBpcyBkaXN0 cmlidXRlZCB1bmRlciB0aGUgVW5pdmVyc2l0eSBvZiBJbGxpbm9pcyBPcGVuIFNvdXJjZQor ICAgIExpY2Vuc2UuIFNlZSBsaWNlbnNlLnR4dCBmb3IgZGV0YWlscy4gICovCisKKy8qIHsg ZGctZG8gY29tcGlsZSB9ICovCisvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLS1wYXJh bSB2ZWN0LWVwaWxvZ3Vlcy1ub21hc2s9MCIgfSAqLworLyogeyBkZy1yZXF1aXJlLWVmZmVj dGl2ZS10YXJnZXQgdmVjdF9mbG9hdCB9ICovCisKKyNpbmNsdWRlICJ0c3ZjLmgiCisKK3N0 cnVjdCBhcmd7aW50IGE7aW50IGI7fTsKKwordm9pZCBzMTIyIChzdHJ1Y3QgYXJnICp4KQor eworLy8gICAgaW5kdWN0aW9uIHZhcmlhYmxlIHJlY29nbml0aW9uCisvLyAgICB2YXJpYWJs ZSBsb3dlciBhbmQgdXBwZXIgYm91bmQsIGFuZCBzdHJpZGUKKy8vICAgIHJldmVyc2UgZGF0 YSBhY2Nlc3MgYW5kIGp1bXAgaW4gZGF0YSBhY2Nlc3MKKworICAgIGludCBuMSA9IHgtPmE7 CisgICAgaW50IG4zID0geC0+YjsKKworCisgICAgaW50IGosIGs7CisgICAgZm9yIChpbnQg bmwgPSAwOyBubCA8IGl0ZXJhdGlvbnM7IG5sKyspIHsKKyAgICAgICAgaiA9IDE7CisgICAg ICAgIGsgPSAwOworICAgICAgICBmb3IgKGludCBpID0gbjEtMTsgaSA8IExFTl8xRDsgaSAr PSBuMykgeworICAgICAgICAgICAgayArPSBqOworICAgICAgICAgICAgYVtpXSArPSBiW0xF Tl8xRCAtIGtdOworICAgICAgICB9CisgICAgICAgIGR1bW15KGEsIGIsIGMsIGQsIGUsIGFh LCBiYiwgY2MsIDAuKTsKKyAgICB9Cit9CmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2dj Yy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMxMjIxLmMgYi9nY2MvdGVzdHN1aXRlL2djYy5k Zy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMxMjIxLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMDAwMDAuLjc5OTJhNjVhYWU1Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rl c3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMTIyMS5jCkBAIC0wLDAgKzEs MjIgQEAKKy8qICBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIFVuaXZlcnNp dHkgb2YgSWxsaW5vaXMgT3BlbiBTb3VyY2UKKyAgICBMaWNlbnNlLiBTZWUgbGljZW5zZS50 eHQgZm9yIGRldGFpbHMuICAqLworCisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBk Zy1hZGRpdGlvbmFsLW9wdGlvbnMgIi0tcGFyYW0gdmVjdC1lcGlsb2d1ZXMtbm9tYXNrPTAi IH0gKi8KKy8qIHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IHZlY3RfZmxvYXQgfSAq LworCisjaW5jbHVkZSAidHN2Yy5oIgorCit2b2lkIHMxMjIxICh2b2lkKQoreworLy8gICAg cnVuLXRpbWUgc3ltYm9saWMgcmVzb2x1dGlvbgorCisKKyAgICBmb3IgKGludCBubCA9IDA7 IG5sIDwgaXRlcmF0aW9uczsgbmwrKykgeworICAgICAgICBmb3IgKGludCBpID0gNDsgaSA8 IExFTl8xRDsgaSsrKSB7CisgICAgICAgICAgICBiW2ldID0gYltpIC0gNF0gKyBhW2ldOwor ICAgICAgICB9CisgICAgICAgIGR1bW15KGEsIGIsIGMsIGQsIGUsIGFhLCBiYiwgY2MsIDAu KTsKKyAgICB9Cit9CisvKiB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtdGltZXMgInZl Y3Rvcml6ZWQgMSBsb29wcyIgMSAidmVjdCIgfSB9ICovClwgTm8gbmV3bGluZSBhdCBlbmQg b2YgZmlsZQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3Zl Y3QtdHN2Yy1zMTIzLmMgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10 c3ZjLXMxMjMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uZjE3 ZDU5MTNhNTQKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0 L3RzdmMvdmVjdC10c3ZjLXMxMjMuYwpAQCAtMCwwICsxLDMwIEBACisvKiAgVGhpcyBmaWxl IGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBVbml2ZXJzaXR5IG9mIElsbGlub2lzIE9wZW4g U291cmNlCisgICAgTGljZW5zZS4gU2VlIGxpY2Vuc2UudHh0IGZvciBkZXRhaWxzLiAgKi8K KworLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25z ICItLXBhcmFtIHZlY3QtZXBpbG9ndWVzLW5vbWFzaz0wIiB9ICovCisvKiB7IGRnLXJlcXVp cmUtZWZmZWN0aXZlLXRhcmdldCB2ZWN0X2Zsb2F0IH0gKi8KKworI2luY2x1ZGUgInRzdmMu aCIKKwordm9pZCBzMTIzICh2b2lkKQoreworLy8gICAgaW5kdWN0aW9uIHZhcmlhYmxlIHJl Y29nbml0aW9uCisvLyAgICBpbmR1Y3Rpb24gdmFyaWFibGUgdW5kZXIgYW4gaWYKKy8vICAg IG5vdCB2ZWN0b3JpemFibGUsIHRoZSBjb25kaXRpb24gY2Fubm90IGJlIHNwZWN1bGF0ZWQK KworCisgICAgaW50IGo7CisgICAgZm9yIChpbnQgbmwgPSAwOyBubCA8IGl0ZXJhdGlvbnM7 IG5sKyspIHsKKyAgICAgICAgaiA9IC0xOworICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8 IChMRU5fMUQvMik7IGkrKykgeworICAgICAgICAgICAgaisrOworICAgICAgICAgICAgYVtq XSA9IGJbaV0gKyBkW2ldICogZVtpXTsKKyAgICAgICAgICAgIGlmIChjW2ldID4gKHJlYWxf dCkwLikgeworICAgICAgICAgICAgICAgIGorKzsKKyAgICAgICAgICAgICAgICBhW2pdID0g Y1tpXSArIGRbaV0gKiBlW2ldOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAg IGR1bW15KGEsIGIsIGMsIGQsIGUsIGFhLCBiYiwgY2MsIDAuKTsKKyAgICB9Cit9ClwgTm8g bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2Mu ZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMTIzMi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcv dmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMTIzMi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAwMDAwLi4xMjg4MDRhZWQ3NQotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0 c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczEyMzIuYwpAQCAtMCwwICsxLDI0 IEBACisvKiAgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBVbml2ZXJzaXR5 IG9mIElsbGlub2lzIE9wZW4gU291cmNlCisgICAgTGljZW5zZS4gU2VlIGxpY2Vuc2UudHh0 IGZvciBkZXRhaWxzLiAgKi8KKworLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGct YWRkaXRpb25hbC1vcHRpb25zICItLXBhcmFtIHZlY3QtZXBpbG9ndWVzLW5vbWFzaz0wIiB9 ICovCisvKiB7IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdldCB2ZWN0X2Zsb2F0IH0gKi8K KworI2luY2x1ZGUgInRzdmMuaCIKKwordm9pZCBzMTIzMiAodm9pZCkKK3sKKy8vICAgIGxv b3AgaW50ZXJjaGFuZ2UKKy8vICAgIGludGVyY2hhbmdpbmcgb2YgdHJpYW5ndWxhciBsb29w cworCisKKyAgICBmb3IgKGludCBubCA9IDA7IG5sIDwgMTAwKihpdGVyYXRpb25zL0xFTl8y RCk7IG5sKyspIHsKKyAgICAgICAgZm9yIChpbnQgaiA9IDA7IGogPCBMRU5fMkQ7IGorKykg eworICAgICAgICAgICAgZm9yIChpbnQgaSA9IGo7IGkgPCBMRU5fMkQ7IGkrKykgeworICAg ICAgICAgICAgICAgIGFhW2ldW2pdID0gYmJbaV1bal0gKyBjY1tpXVtqXTsKKyAgICAgICAg ICAgIH0KKyAgICAgICAgfQorICAgICAgICBkdW1teShhLCBiLCBjLCBkLCBlLCBhYSwgYmIs IGNjLCAxLik7CisgICAgfQorfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt LWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczEyNC5j IGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMTI0LmMKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjRhMjNlZWFkYmNmCi0tLSAv ZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2 Yy1zMTI0LmMKQEAgLTAsMCArMSwzMCBAQAorLyogIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRl ZCB1bmRlciB0aGUgVW5pdmVyc2l0eSBvZiBJbGxpbm9pcyBPcGVuIFNvdXJjZQorICAgIExp Y2Vuc2UuIFNlZSBsaWNlbnNlLnR4dCBmb3IgZGV0YWlscy4gICovCisKKy8qIHsgZGctZG8g Y29tcGlsZSB9ICovCisvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLS1wYXJhbSB2ZWN0 LWVwaWxvZ3Vlcy1ub21hc2s9MCIgfSAqLworLyogeyBkZy1yZXF1aXJlLWVmZmVjdGl2ZS10 YXJnZXQgdmVjdF9mbG9hdCB9ICovCisKKyNpbmNsdWRlICJ0c3ZjLmgiCisKK3ZvaWQgczEy NCAodm9pZCkKK3sKKy8vICAgIGluZHVjdGlvbiB2YXJpYWJsZSByZWNvZ25pdGlvbgorLy8g ICAgaW5kdWN0aW9uIHZhcmlhYmxlIHVuZGVyIGJvdGggc2lkZXMgb2YgaWYgKHNhbWUgdmFs dWUpCisKKworICAgIGludCBqOworICAgIGZvciAoaW50IG5sID0gMDsgbmwgPCBpdGVyYXRp b25zOyBubCsrKSB7CisgICAgICAgIGogPSAtMTsKKyAgICAgICAgZm9yIChpbnQgaSA9IDA7 IGkgPCBMRU5fMUQ7IGkrKykgeworICAgICAgICAgICAgaWYgKGJbaV0gPiAocmVhbF90KTAu KSB7CisgICAgICAgICAgICAgICAgaisrOworICAgICAgICAgICAgICAgIGFbal0gPSBiW2ld ICsgZFtpXSAqIGVbaV07CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAg IGorKzsKKyAgICAgICAgICAgICAgICBhW2pdID0gY1tpXSArIGRbaV0gKiBlW2ldOworICAg ICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIGR1bW15KGEsIGIsIGMsIGQsIGUsIGFh LCBiYiwgY2MsIDAuKTsKKyAgICB9Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk aWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1z MTI0NC5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMTI0 NC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5hZGQyNWEzMjhl YgotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92 ZWN0LXRzdmMtczEyNDQuYwpAQCAtMCwwICsxLDIzIEBACisvKiAgVGhpcyBmaWxlIGlzIGRp c3RyaWJ1dGVkIHVuZGVyIHRoZSBVbml2ZXJzaXR5IG9mIElsbGlub2lzIE9wZW4gU291cmNl CisgICAgTGljZW5zZS4gU2VlIGxpY2Vuc2UudHh0IGZvciBkZXRhaWxzLiAgKi8KKworLyog eyBkZy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItLXBh cmFtIHZlY3QtZXBpbG9ndWVzLW5vbWFzaz0wIiB9ICovCisvKiB7IGRnLXJlcXVpcmUtZWZm ZWN0aXZlLXRhcmdldCB2ZWN0X2Zsb2F0IH0gKi8KKworI2luY2x1ZGUgInRzdmMuaCIKKwor dm9pZCBzMTI0NCAodm9pZCkKK3sKKy8vICAgIG5vZGUgc3BsaXR0aW5nCisvLyAgICBjeWNs ZSB3aXRoIHR1cmUgYW5kIGFudGkgZGVwZW5kZW5jeQorCisKKyAgICBmb3IgKGludCBubCA9 IDA7IG5sIDwgaXRlcmF0aW9uczsgbmwrKykgeworICAgICAgICBmb3IgKGludCBpID0gMDsg aSA8IExFTl8xRC0xOyBpKyspIHsKKyAgICAgICAgICAgIGFbaV0gPSBiW2ldICsgY1tpXSAq IGNbaV0gKyBiW2ldKmJbaV0gKyBjW2ldOworICAgICAgICAgICAgZFtpXSA9IGFbaV0gKyBh W2krMV07CisgICAgICAgIH0KKyAgICAgICAgZHVtbXkoYSwgYiwgYywgZCwgZSwgYWEsIGJi LCBjYywgMC4pOworICAgIH0KK30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg LS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMxMjUu YyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczEyNS5jCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi44NzExNTRjMzc4NgotLS0g L2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRz dmMtczEyNS5jCkBAIC0wLDAgKzEsMjggQEAKKy8qICBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0 ZWQgdW5kZXIgdGhlIFVuaXZlcnNpdHkgb2YgSWxsaW5vaXMgT3BlbiBTb3VyY2UKKyAgICBM aWNlbnNlLiBTZWUgbGljZW5zZS50eHQgZm9yIGRldGFpbHMuICAqLworCisvKiB7IGRnLWRv IGNvbXBpbGUgfSAqLworLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi0tcGFyYW0gdmVj dC1lcGlsb2d1ZXMtbm9tYXNrPTAiIH0gKi8KKy8qIHsgZGctcmVxdWlyZS1lZmZlY3RpdmUt dGFyZ2V0IHZlY3RfZmxvYXQgfSAqLworCisjaW5jbHVkZSAidHN2Yy5oIgorCit2b2lkIHMx MjUgKHZvaWQpCit7CisvLyAgICBpbmR1Y3Rpb24gdmFyaWFibGUgcmVjb2duaXRpb24KKy8v ICAgIGluZHVjdGlvbiB2YXJpYWJsZSBpbiB0d28gbG9vcHM7IGNvbGxhcHNpbmcgcG9zc2li bGUKKworCisgICAgaW50IGs7CisgICAgZm9yIChpbnQgbmwgPSAwOyBubCA8IDEwMCooaXRl cmF0aW9ucy8oTEVOXzJEKSk7IG5sKyspIHsKKyAgICAgICAgayA9IC0xOworICAgICAgICBm b3IgKGludCBpID0gMDsgaSA8IExFTl8yRDsgaSsrKSB7CisgICAgICAgICAgICBmb3IgKGlu dCBqID0gMDsgaiA8IExFTl8yRDsgaisrKSB7CisgICAgICAgICAgICAgICAgaysrOworICAg ICAgICAgICAgICAgIGZsYXRfMmRfYXJyYXlba10gPSBhYVtpXVtqXSArIGJiW2ldW2pdICog Y2NbaV1bal07CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgZHVtbXkoYSwg YiwgYywgZCwgZSwgYWEsIGJiLCBjYywgMC4pOworICAgIH0KK30KKy8qIHsgZGctZmluYWwg eyBzY2FuLXRyZWUtZHVtcC10aW1lcyAidmVjdG9yaXplZCAxIGxvb3BzIiAxICJ2ZWN0IiB9 IH0gKi8KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9nY2MvdGVz dHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMxMjUxLmMgYi9nY2MvdGVzdHN1 aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMxMjUxLmMKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmE2Y2MzYTQyZTFkCi0tLSAvZGV2L251bGwKKysr IGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMTI1MS5jCkBA IC0wLDAgKzEsMjYgQEAKKy8qICBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhl IFVuaXZlcnNpdHkgb2YgSWxsaW5vaXMgT3BlbiBTb3VyY2UKKyAgICBMaWNlbnNlLiBTZWUg bGljZW5zZS50eHQgZm9yIGRldGFpbHMuICAqLworCisvKiB7IGRnLWRvIGNvbXBpbGUgfSAq LworLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi0tcGFyYW0gdmVjdC1lcGlsb2d1ZXMt bm9tYXNrPTAiIH0gKi8KKy8qIHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IHZlY3Rf ZmxvYXQgfSAqLworCisjaW5jbHVkZSAidHN2Yy5oIgorCit2b2lkIHMxMjUxICh2b2lkKQor eworLy8gICAgc2NhbGFyIGFuZCBhcnJheSBleHBhbnNpb24KKy8vICAgIHNjYWxhciBleHBh bnNpb24KKworCisgICAgcmVhbF90IHM7CisgICAgZm9yIChpbnQgbmwgPSAwOyBubCA8IDQq aXRlcmF0aW9uczsgbmwrKykgeworICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IExFTl8x RDsgaSsrKSB7CisgICAgICAgICAgICBzID0gYltpXStjW2ldOworICAgICAgICAgICAgYltp XSA9IGFbaV0rZFtpXTsKKyAgICAgICAgICAgIGFbaV0gPSBzKmVbaV07CisgICAgICAgIH0K KyAgICAgICAgZHVtbXkoYSwgYiwgYywgZCwgZSwgYWEsIGJiLCBjYywgMC4pOworICAgIH0K K30KKy8qIHsgZGctZmluYWwgeyBzY2FuLXRyZWUtZHVtcC10aW1lcyAidmVjdG9yaXplZCAx IGxvb3BzIiAxICJ2ZWN0IiB9IH0gKi8KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp ZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMx MjYuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczEyNi5j Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4wMTFlNWNlMDhlNQot LS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0 LXRzdmMtczEyNi5jCkBAIC0wLDAgKzEsMjggQEAKKy8qICBUaGlzIGZpbGUgaXMgZGlzdHJp YnV0ZWQgdW5kZXIgdGhlIFVuaXZlcnNpdHkgb2YgSWxsaW5vaXMgT3BlbiBTb3VyY2UKKyAg ICBMaWNlbnNlLiBTZWUgbGljZW5zZS50eHQgZm9yIGRldGFpbHMuICAqLworCisvKiB7IGRn LWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi0tcGFyYW0g dmVjdC1lcGlsb2d1ZXMtbm9tYXNrPTAiIH0gKi8KKy8qIHsgZGctcmVxdWlyZS1lZmZlY3Rp dmUtdGFyZ2V0IHZlY3RfZmxvYXQgfSAqLworCisjaW5jbHVkZSAidHN2Yy5oIgorCit2b2lk IHMxMjYgKHZvaWQpCit7CisvLyAgICBpbmR1Y3Rpb24gdmFyaWFibGUgcmVjb2duaXRpb24K Ky8vICAgIGluZHVjdGlvbiB2YXJpYWJsZSBpbiB0d28gbG9vcHM7IHJlY3VycmVuY2UgaW4g aW5uZXIgbG9vcAorCisKKyAgICBpbnQgazsKKyAgICBmb3IgKGludCBubCA9IDA7IG5sIDwg MTAqKGl0ZXJhdGlvbnMvTEVOXzJEKTsgbmwrKykgeworICAgICAgICBrID0gMTsKKyAgICAg ICAgZm9yIChpbnQgaSA9IDA7IGkgPCBMRU5fMkQ7IGkrKykgeworICAgICAgICAgICAgZm9y IChpbnQgaiA9IDE7IGogPCBMRU5fMkQ7IGorKykgeworICAgICAgICAgICAgICAgIGJiW2pd W2ldID0gYmJbai0xXVtpXSArIGZsYXRfMmRfYXJyYXlbay0xXSAqIGNjW2pdW2ldOworICAg ICAgICAgICAgICAgICsrazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgICsrazsKKyAg ICAgICAgfQorICAgICAgICBkdW1teShhLCBiLCBjLCBkLCBlLCBhYSwgYmIsIGNjLCAwLik7 CisgICAgfQorfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2dj Yy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczEyNy5jIGIvZ2NjL3Rl c3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMTI3LmMKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmIxY2Q0Zjk5ZWZmCi0tLSAvZGV2L251bGwK KysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMTI3LmMK QEAgLTAsMCArMSwyOCBAQAorLyogIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0 aGUgVW5pdmVyc2l0eSBvZiBJbGxpbm9pcyBPcGVuIFNvdXJjZQorICAgIExpY2Vuc2UuIFNl ZSBsaWNlbnNlLnR4dCBmb3IgZGV0YWlscy4gICovCisKKy8qIHsgZGctZG8gY29tcGlsZSB9 ICovCisvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLS1wYXJhbSB2ZWN0LWVwaWxvZ3Vl cy1ub21hc2s9MCIgfSAqLworLyogeyBkZy1yZXF1aXJlLWVmZmVjdGl2ZS10YXJnZXQgdmVj dF9mbG9hdCB9ICovCisKKyNpbmNsdWRlICJ0c3ZjLmgiCisKK3ZvaWQgczEyNyAodm9pZCkK K3sKKy8vICAgIGluZHVjdGlvbiB2YXJpYWJsZSByZWNvZ25pdGlvbgorLy8gICAgaW5kdWN0 aW9uIHZhcmlhYmxlIHdpdGggbXVsdGlwbGUgaW5jcmVtZW50cworCisKKyAgICBpbnQgajsK KyAgICBmb3IgKGludCBubCA9IDA7IG5sIDwgMippdGVyYXRpb25zOyBubCsrKSB7CisgICAg ICAgIGogPSAtMTsKKyAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBMRU5fMUQvMjsgaSsr KSB7CisgICAgICAgICAgICBqKys7CisgICAgICAgICAgICBhW2pdID0gYltpXSArIGNbaV0g KiBkW2ldOworICAgICAgICAgICAgaisrOworICAgICAgICAgICAgYVtqXSA9IGJbaV0gKyBk W2ldICogZVtpXTsKKyAgICAgICAgfQorICAgICAgICBkdW1teShhLCBiLCBjLCBkLCBlLCBh YSwgYmIsIGNjLCAwLik7CisgICAgfQorfQorLyogeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1k dW1wLXRpbWVzICJ2ZWN0b3JpemVkIDEgbG9vcHMiIDEgInZlY3QiIH0gfSAqLwpcIE5vIG5l d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRn L3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczEyNzkuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3Zl Y3QvdHN2Yy92ZWN0LXRzdmMtczEyNzkuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAwMC4uOTBjZDJjZWM0N2IKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1 aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMxMjc5LmMKQEAgLTAsMCArMSwyNiBA QAorLyogIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgVW5pdmVyc2l0eSBv ZiBJbGxpbm9pcyBPcGVuIFNvdXJjZQorICAgIExpY2Vuc2UuIFNlZSBsaWNlbnNlLnR4dCBm b3IgZGV0YWlscy4gICovCisKKy8qIHsgZGctZG8gY29tcGlsZSB9ICovCisvKiB7IGRnLWFk ZGl0aW9uYWwtb3B0aW9ucyAiLS1wYXJhbSB2ZWN0LWVwaWxvZ3Vlcy1ub21hc2s9MCIgfSAq LworLyogeyBkZy1yZXF1aXJlLWVmZmVjdGl2ZS10YXJnZXQgdmVjdF9mbG9hdCB9ICovCisK KyNpbmNsdWRlICJ0c3ZjLmgiCisKK3ZvaWQgczEyNzkgKHZvaWQpCit7CisvLyAgICBjb250 cm9sIGZsb3cKKy8vICAgIHZlY3RvciBpZi9nb3RvcworCisKKyAgICBmb3IgKGludCBubCA9 IDA7IG5sIDwgaXRlcmF0aW9uczsgbmwrKykgeworICAgICAgICBmb3IgKGludCBpID0gMDsg aSA8IExFTl8xRDsgaSsrKSB7CisgICAgICAgICAgICBpZiAoYVtpXSA8IChyZWFsX3QpMC4p IHsKKyAgICAgICAgICAgICAgICBpZiAoYltpXSA+IGFbaV0pIHsKKyAgICAgICAgICAgICAg ICAgICAgY1tpXSArPSBkW2ldICogZVtpXTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg ICAgICB9CisgICAgICAgIH0KKyAgICAgICAgZHVtbXkoYSwgYiwgYywgZCwgZSwgYWEsIGJi LCBjYywgMC4pOworICAgIH0KK30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg LS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMxMjgu YyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczEyOC5jCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4zMzU2YjE2ZmUxZQotLS0g L2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRz dmMtczEyOC5jCkBAIC0wLDAgKzEsMjkgQEAKKy8qICBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0 ZWQgdW5kZXIgdGhlIFVuaXZlcnNpdHkgb2YgSWxsaW5vaXMgT3BlbiBTb3VyY2UKKyAgICBM aWNlbnNlLiBTZWUgbGljZW5zZS50eHQgZm9yIGRldGFpbHMuICAqLworCisvKiB7IGRnLWRv IGNvbXBpbGUgfSAqLworLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi0tcGFyYW0gdmVj dC1lcGlsb2d1ZXMtbm9tYXNrPTAiIH0gKi8KKy8qIHsgZGctcmVxdWlyZS1lZmZlY3RpdmUt dGFyZ2V0IHZlY3RfZmxvYXQgfSAqLworCisjaW5jbHVkZSAidHN2Yy5oIgorCit2b2lkIHMx MjggKHZvaWQpCit7CisvLyAgICBpbmR1Y3Rpb24gdmFyaWFibGVzCisvLyAgICBjb3VwbGVk IGluZHVjdGlvbiB2YXJpYWJsZXMKKy8vICAgIGp1bXAgaW4gZGF0YSBhY2Nlc3MKKworCisg ICAgaW50IGosIGs7CisgICAgZm9yIChpbnQgbmwgPSAwOyBubCA8IDIqaXRlcmF0aW9uczsg bmwrKykgeworICAgICAgICBqID0gLTE7CisgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwg TEVOXzFELzI7IGkrKykgeworICAgICAgICAgICAgayA9IGogKyAxOworICAgICAgICAgICAg YVtpXSA9IGJba10gLSBkW2ldOworICAgICAgICAgICAgaiA9IGsgKyAxOworICAgICAgICAg ICAgYltrXSA9IGFbaV0gKyBjW2tdOworICAgICAgICB9CisgICAgICAgIGR1bW15KGEsIGIs IGMsIGQsIGUsIGFhLCBiYiwgY2MsIDEuKTsKKyAgICB9Cit9CisvKiB7IGRnLWZpbmFsIHsg c2Nhbi10cmVlLWR1bXAtdGltZXMgInZlY3Rvcml6ZWQgMSBsb29wcyIgMSAidmVjdCIgfSB9 ICovClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3Rz dWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMTI4MS5jIGIvZ2NjL3Rlc3RzdWl0 ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMTI4MS5jCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMDAwLi44NTM0YjcxYTFhNAotLS0gL2Rldi9udWxsCisrKyBi L2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczEyODEuYwpAQCAt MCwwICsxLDI3IEBACisvKiAgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBV bml2ZXJzaXR5IG9mIElsbGlub2lzIE9wZW4gU291cmNlCisgICAgTGljZW5zZS4gU2VlIGxp Y2Vuc2UudHh0IGZvciBkZXRhaWxzLiAgKi8KKworLyogeyBkZy1kbyBjb21waWxlIH0gKi8K Ky8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItLXBhcmFtIHZlY3QtZXBpbG9ndWVzLW5v bWFzaz0wIiB9ICovCisvKiB7IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdldCB2ZWN0X2Zs b2F0IH0gKi8KKworI2luY2x1ZGUgInRzdmMuaCIKKwordm9pZCBzMTI4MSAodm9pZCkKK3sK Ky8vICAgIGNyb3NzaW5nIHRocmVzaG9sZHMKKy8vICAgIGluZGV4IHNldCBzcGxpdHRpbmcK Ky8vICAgIHJldmVyc2UgZGF0YSBhY2Nlc3MKKworCisgICAgcmVhbF90IHg7CisgICAgZm9y IChpbnQgbmwgPSAwOyBubCA8IDQqaXRlcmF0aW9uczsgbmwrKykgeworICAgICAgICBmb3Ig KGludCBpID0gMDsgaSA8IExFTl8xRDsgaSsrKSB7CisgICAgICAgICAgICB4ID0gYltpXSpj W2ldICsgYVtpXSpkW2ldICsgZVtpXTsKKyAgICAgICAgICAgIGFbaV0gPSB4LShyZWFsX3Qp MS4wOworICAgICAgICAgICAgYltpXSA9IHg7CisgICAgICAgIH0KKyAgICAgICAgZHVtbXko YSwgYiwgYywgZCwgZSwgYWEsIGJiLCBjYywgMC4pOworICAgIH0KK30KKy8qIHsgZGctZmlu YWwgeyBzY2FuLXRyZWUtZHVtcC10aW1lcyAidmVjdG9yaXplZCAxIGxvb3BzIiAxICJ2ZWN0 IiB9IH0gKi8KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9nY2Mv dGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMxMzEuYyBiL2djYy90ZXN0 c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczEzMS5jCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4zNzdiODQxZDI5OAotLS0gL2Rldi9udWxsCisr KyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczEzMS5jCkBA IC0wLDAgKzEsMjQgQEAKKy8qICBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhl IFVuaXZlcnNpdHkgb2YgSWxsaW5vaXMgT3BlbiBTb3VyY2UKKyAgICBMaWNlbnNlLiBTZWUg bGljZW5zZS50eHQgZm9yIGRldGFpbHMuICAqLworCisvKiB7IGRnLWRvIGNvbXBpbGUgfSAq LworLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi0tcGFyYW0gdmVjdC1lcGlsb2d1ZXMt bm9tYXNrPTAiIH0gKi8KKy8qIHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IHZlY3Rf ZmxvYXQgfSAqLworCisjaW5jbHVkZSAidHN2Yy5oIgorCit2b2lkIHMxMzEgKHZvaWQpCit7 CisvLyAgICBnbG9iYWwgZGF0YSBmbG93IGFuYWx5c2lzCisvLyAgICBmb3J3YXJkIHN1YnN0 aXR1dGlvbgorCisKKyAgICBpbnQgbSAgPSAxOworICAgIGZvciAoaW50IG5sID0gMDsgbmwg PCA1Kml0ZXJhdGlvbnM7IG5sKyspIHsKKyAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBM RU5fMUQgLSAxOyBpKyspIHsKKyAgICAgICAgICAgIGFbaV0gPSBhW2kgKyBtXSArIGJbaV07 CisgICAgICAgIH0KKyAgICAgICAgZHVtbXkoYSwgYiwgYywgZCwgZSwgYWEsIGJiLCBjYywg MC4pOworICAgIH0KK30KKy8qIHsgZGctZmluYWwgeyBzY2FuLXRyZWUtZHVtcC10aW1lcyAi dmVjdG9yaXplZCAxIGxvb3BzIiAxICJ2ZWN0IiB9IH0gKi8KXCBObyBuZXdsaW5lIGF0IGVu ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMv dmVjdC10c3ZjLXMxMzExMC5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3Zl Y3QtdHN2Yy1zMTMxMTAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw MC4uZWZjM2I2MWQ3ZTEKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy5k Zy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMxMzExMC5jCkBAIC0wLDAgKzEsMzQgQEAKKy8qICBU aGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIFVuaXZlcnNpdHkgb2YgSWxsaW5v aXMgT3BlbiBTb3VyY2UKKyAgICBMaWNlbnNlLiBTZWUgbGljZW5zZS50eHQgZm9yIGRldGFp bHMuICAqLworCisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1hZGRpdGlvbmFs LW9wdGlvbnMgIi0tcGFyYW0gdmVjdC1lcGlsb2d1ZXMtbm9tYXNrPTAiIH0gKi8KKy8qIHsg ZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IHZlY3RfZmxvYXQgfSAqLworCisjaW5jbHVk ZSAidHN2Yy5oIgorCit2b2lkIHMxMzExMCAodm9pZCkKK3sKKy8vICAgIHJlZHVjdGlvbnMK Ky8vICAgIGlmIHRvIG1heCB3aXRoIGluZGV4IHJlZHVjdGlvIDIgZGltZW5zaW9ucworCisK KyAgICBpbnQgeGluZGV4LCB5aW5kZXg7CisgICAgcmVhbF90IG1heCwgY2hrc3VtOworICAg IGZvciAoaW50IG5sID0gMDsgbmwgPCAxMDAqKGl0ZXJhdGlvbnMvKExFTl8yRCkpOyBubCsr KSB7CisgICAgICAgIG1heCA9IGFhWygwKV1bMF07CisgICAgICAgIHhpbmRleCA9IDA7Cisg ICAgICAgIHlpbmRleCA9IDA7CisgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTEVOXzJE OyBpKyspIHsKKyAgICAgICAgICAgIGZvciAoaW50IGogPSAwOyBqIDwgTEVOXzJEOyBqKysp IHsKKyAgICAgICAgICAgICAgICBpZiAoYWFbaV1bal0gPiBtYXgpIHsKKyAgICAgICAgICAg ICAgICAgICAgbWF4ID0gYWFbaV1bal07CisgICAgICAgICAgICAgICAgICAgIHhpbmRleCA9 IGk7CisgICAgICAgICAgICAgICAgICAgIHlpbmRleCA9IGo7CisgICAgICAgICAgICAgICAg fQorICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIGNoa3N1bSA9IG1heCArIChy ZWFsX3QpIHhpbmRleCArIChyZWFsX3QpIHlpbmRleDsKKyAgICAgICAgZHVtbXkoYSwgYiwg YywgZCwgZSwgYWEsIGJiLCBjYywgY2hrc3VtKTsKKyAgICB9Cit9ClwgTm8gbmV3bGluZSBh dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90 c3ZjL3ZlY3QtdHN2Yy1zMTMyLmMgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMv dmVjdC10c3ZjLXMxMzIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw MC4uMTgzN2UxMWFhMmMKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy5k Zy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMxMzIuYwpAQCAtMCwwICsxLDI2IEBACisvKiAgVGhp cyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBVbml2ZXJzaXR5IG9mIElsbGlub2lz IE9wZW4gU291cmNlCisgICAgTGljZW5zZS4gU2VlIGxpY2Vuc2UudHh0IGZvciBkZXRhaWxz LiAgKi8KKworLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGctYWRkaXRpb25hbC1v cHRpb25zICItLXBhcmFtIHZlY3QtZXBpbG9ndWVzLW5vbWFzaz0wIiB9ICovCisvKiB7IGRn LXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdldCB2ZWN0X2Zsb2F0IH0gKi8KKworI2luY2x1ZGUg InRzdmMuaCIKKwordm9pZCBzMTMyICh2b2lkKQoreworLy8gICAgZ2xvYmFsIGRhdGEgZmxv dyBhbmFseXNpcworLy8gICAgbG9vcCB3aXRoIG11bHRpcGxlIGRpbWVuc2lvbiBhbWJpZ3Vv dXMgc3Vic2NyaXB0cworCisKKyAgICBpbnQgbSA9IDA7CisgICAgaW50IGogPSBtOworICAg IGludCBrID0gbSsxOworICAgIGZvciAoaW50IG5sID0gMDsgbmwgPCA0MDAqaXRlcmF0aW9u czsgbmwrKykgeworICAgICAgICBmb3IgKGludCBpPSAxOyBpIDwgTEVOXzJEOyBpKyspIHsK KyAgICAgICAgICAgIGFhW2pdW2ldID0gYWFba11baS0xXSArIGJbaV0gKiBjWzFdOworICAg ICAgICB9CisgICAgICAgIGR1bW15KGEsIGIsIGMsIGQsIGUsIGFhLCBiYiwgY2MsIDAuKTsK KyAgICB9Cit9CisvKiB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtdGltZXMgInZlY3Rv cml6ZWQgMSBsb29wcyIgMSAidmVjdCIgfSB9ICovClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg ZmlsZQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3Qt dHN2Yy1zMTM1MS5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2 Yy1zMTM1MS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5mZGRh ZWZiOGU2NgotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3Qv dHN2Yy92ZWN0LXRzdmMtczEzNTEuYwpAQCAtMCwwICsxLDI4IEBACisvKiAgVGhpcyBmaWxl IGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBVbml2ZXJzaXR5IG9mIElsbGlub2lzIE9wZW4g U291cmNlCisgICAgTGljZW5zZS4gU2VlIGxpY2Vuc2UudHh0IGZvciBkZXRhaWxzLiAgKi8K KworLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25z ICItLXBhcmFtIHZlY3QtZXBpbG9ndWVzLW5vbWFzaz0wIiB9ICovCisvKiB7IGRnLXJlcXVp cmUtZWZmZWN0aXZlLXRhcmdldCB2ZWN0X2Zsb2F0IH0gKi8KKworI2luY2x1ZGUgInRzdmMu aCIKKwordm9pZCBzMTM1MSAodm9pZCkKK3sKKy8vICAgIGluZHVjdGlvbiBwb2ludGVyIHJl Y29nbml0aW9uCisKKworICAgIGZvciAoaW50IG5sID0gMDsgbmwgPCA4Kml0ZXJhdGlvbnM7 IG5sKyspIHsKKyAgICAgICAgcmVhbF90KiBfX3Jlc3RyaWN0X18gQSA9IGE7CisgICAgICAg IHJlYWxfdCogX19yZXN0cmljdF9fIEIgPSBiOworICAgICAgICByZWFsX3QqIF9fcmVzdHJp Y3RfXyBDID0gYzsKKyAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBMRU5fMUQ7IGkrKykg eworICAgICAgICAgICAgKkEgPSAqQisqQzsKKyAgICAgICAgICAgIEErKzsKKyAgICAgICAg ICAgIEIrKzsKKyAgICAgICAgICAgIEMrKzsKKyAgICAgICAgfQorICAgICAgICBkdW1teShh LCBiLCBjLCBkLCBlLCBhYSwgYmIsIGNjLCAwLik7CisgICAgfQorfQorLyogeyBkZy1maW5h bCB7IHNjYW4tdHJlZS1kdW1wLXRpbWVzICJ2ZWN0b3JpemVkIDEgbG9vcHMiIDEgInZlY3Qi IH0gfSAqLwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2djYy90 ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczE0MS5jIGIvZ2NjL3Rlc3Rz dWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMTQxLmMKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjllYTFkZjQ4MzMxCi0tLSAvZGV2L251bGwKKysr IGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMTQxLmMKQEAg LTAsMCArMSwyOCBAQAorLyogIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUg VW5pdmVyc2l0eSBvZiBJbGxpbm9pcyBPcGVuIFNvdXJjZQorICAgIExpY2Vuc2UuIFNlZSBs aWNlbnNlLnR4dCBmb3IgZGV0YWlscy4gICovCisKKy8qIHsgZGctZG8gY29tcGlsZSB9ICov CisvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLS1wYXJhbSB2ZWN0LWVwaWxvZ3Vlcy1u b21hc2s9MCIgfSAqLworLyogeyBkZy1yZXF1aXJlLWVmZmVjdGl2ZS10YXJnZXQgdmVjdF9m bG9hdCB9ICovCisKKyNpbmNsdWRlICJ0c3ZjLmgiCisKK3ZvaWQgczE0MSAodm9pZCkKK3sK Ky8vICAgIG5vbmxpbmVhciBkZXBlbmRlbmNlIHRlc3RpbmcKKy8vICAgIHdhbGsgYSByb3cg aW4gYSBzeW1tZXRyaWMgcGFja2VkIGFycmF5CisvLyAgICBlbGVtZW50IGEoaSxqKSBmb3Ig KGludCBqPmkpIHN0b3JlZCBpbiBsb2NhdGlvbiBqKihqLTEpLzIraQorCisKKyAgICBpbnQg azsKKyAgICBmb3IgKGludCBubCA9IDA7IG5sIDwgMjAwKihpdGVyYXRpb25zL0xFTl8yRCk7 IG5sKyspIHsKKyAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBMRU5fMkQ7IGkrKykgewor ICAgICAgICAgICAgayA9IChpKzEpICogKChpKzEpIC0gMSkgLyAyICsgKGkrMSktMTsKKyAg ICAgICAgICAgIGZvciAoaW50IGogPSBpOyBqIDwgTEVOXzJEOyBqKyspIHsKKyAgICAgICAg ICAgICAgICBmbGF0XzJkX2FycmF5W2tdICs9IGJiW2pdW2ldOworICAgICAgICAgICAgICAg IGsgKz0gaisxOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIGR1bW15KGEs IGIsIGMsIGQsIGUsIGFhLCBiYiwgY2MsIDAuKTsKKyAgICB9Cit9ClwgTm8gbmV3bGluZSBh dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90 c3ZjL3ZlY3QtdHN2Yy1zMTQyMS5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3Zj L3ZlY3QtdHN2Yy1zMTQyMS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MDAwLi45NDdlNzYxZjg2OQotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2Nj LmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczE0MjEuYwpAQCAtMCwwICsxLDI1IEBACisvKiAg VGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBVbml2ZXJzaXR5IG9mIElsbGlu b2lzIE9wZW4gU291cmNlCisgICAgTGljZW5zZS4gU2VlIGxpY2Vuc2UudHh0IGZvciBkZXRh aWxzLiAgKi8KKworLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGctYWRkaXRpb25h bC1vcHRpb25zICItLXBhcmFtIHZlY3QtZXBpbG9ndWVzLW5vbWFzaz0wIiB9ICovCisvKiB7 IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdldCB2ZWN0X2Zsb2F0IH0gKi8KKworI2luY2x1 ZGUgInRzdmMuaCIKKwordm9pZCBzMTQyMSAodm9pZCkKK3sKKy8vICAgIHN0b3JhZ2UgY2xh c3NlcyBhbmQgZXF1aXZhbGVuY2luZworLy8gICAgZXF1aXZhbGVuY2UtIG5vIG92ZXJsYXAK KworCisgICAgeHggPSAmYltMRU5fMUQvMl07CisKKyAgICBmb3IgKGludCBubCA9IDA7IG5s IDwgOCppdGVyYXRpb25zOyBubCsrKSB7CisgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwg TEVOXzFELzI7IGkrKykgeworICAgICAgICAgICAgYltpXSA9IHh4W2ldICsgYVtpXTsKKyAg ICAgICAgfQorICAgICAgICBkdW1teShhLCBiLCBjLCBkLCBlLCBhYSwgYmIsIGNjLCAxLik7 CisgICAgfQorfQorLyogeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1kdW1wLXRpbWVzICJ2ZWN0 b3JpemVkIDEgbG9vcHMiIDEgInZlY3QiIH0gfSAqLwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m IGZpbGUKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0 LXRzdmMtczE1MS5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2 Yy1zMTUxLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmYwNGJk ZmE2YzhjCi0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90 c3ZjL3ZlY3QtdHN2Yy1zMTUxLmMKQEAgLTAsMCArMSwyOSBAQAorLyogIFRoaXMgZmlsZSBp cyBkaXN0cmlidXRlZCB1bmRlciB0aGUgVW5pdmVyc2l0eSBvZiBJbGxpbm9pcyBPcGVuIFNv dXJjZQorICAgIExpY2Vuc2UuIFNlZSBsaWNlbnNlLnR4dCBmb3IgZGV0YWlscy4gICovCisK Ky8qIHsgZGctZG8gY29tcGlsZSB9ICovCisvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAi LS1wYXJhbSB2ZWN0LWVwaWxvZ3Vlcy1ub21hc2s9MCIgfSAqLworLyogeyBkZy1yZXF1aXJl LWVmZmVjdGl2ZS10YXJnZXQgdmVjdF9mbG9hdCB9ICovCisKKyNpbmNsdWRlICJ0c3ZjLmgi CisKK3ZvaWQgczE1MXMocmVhbF90IGFbTEVOXzFEXSwgcmVhbF90IGJbTEVOXzFEXSwgIGlu dCBtKQoreworICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTEVOXzFELTE7IGkrKykgeworICAg ICAgICBhW2ldID0gYVtpICsgbV0gKyBiW2ldOworICAgIH0KK30KKwordm9pZCBzMTUxICh2 b2lkKQoreworLy8gICAgaW50ZXJwcm9jZWR1cmFsIGRhdGEgZmxvdyBhbmFseXNpcworLy8g ICAgcGFzc2luZyBwYXJhbWV0ZXIgaW5mb3JtYXRpb24gaW50byBhIHN1YnJvdXRpbmUKKwor CisgICAgZm9yIChpbnQgbmwgPSAwOyBubCA8IDUqaXRlcmF0aW9uczsgbmwrKykgeworICAg ICAgICBzMTUxcyhhLCBiLCAgMSk7CisgICAgICAgIGR1bW15KGEsIGIsIGMsIGQsIGUsIGFh LCBiYiwgY2MsIDAuKTsKKyAgICB9Cit9CisKKy8qIHsgZGctZmluYWwgeyBzY2FuLXRyZWUt ZHVtcC10aW1lcyAidmVjdG9yaXplZCAxIGxvb3BzIiAyICJ2ZWN0IiB9IH0gKi8KZGlmZiAt LWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczE1Mi5j IGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMTUyLmMKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjZhZDFlYjNhNjMyCi0tLSAv ZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2 Yy1zMTUyLmMKQEAgLTAsMCArMSwzMCBAQAorLyogIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRl ZCB1bmRlciB0aGUgVW5pdmVyc2l0eSBvZiBJbGxpbm9pcyBPcGVuIFNvdXJjZQorICAgIExp Y2Vuc2UuIFNlZSBsaWNlbnNlLnR4dCBmb3IgZGV0YWlscy4gICovCisKKy8qIHsgZGctZG8g Y29tcGlsZSB9ICovCisvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLS1wYXJhbSB2ZWN0 LWVwaWxvZ3Vlcy1ub21hc2s9MCIgfSAqLworLyogeyBkZy1yZXF1aXJlLWVmZmVjdGl2ZS10 YXJnZXQgdmVjdF9mbG9hdCB9ICovCisKKyNpbmNsdWRlICJ0c3ZjLmgiCisKK3ZvaWQgczE1 MnMocmVhbF90IGFbTEVOXzFEXSwgcmVhbF90IGJbTEVOXzFEXSwgcmVhbF90IGNbTEVOXzFE XSwgaW50IGkpCit7CisgICAgYVtpXSArPSBiW2ldICogY1tpXTsKK30KKwordm9pZCBzMTUy ICh2b2lkKQoreworLy8gICAgaW50ZXJwcm9jZWR1cmFsIGRhdGEgZmxvdyBhbmFseXNpcwor Ly8gICAgY29sbGVjdGluZyBpbmZvcm1hdGlvbiBmcm9tIGEgc3Vicm91dGluZQorCisKKyAg ICBmb3IgKGludCBubCA9IDA7IG5sIDwgaXRlcmF0aW9uczsgbmwrKykgeworICAgICAgICBm b3IgKGludCBpID0gMDsgaSA8IExFTl8xRDsgaSsrKSB7CisgICAgICAgICAgICBiW2ldID0g ZFtpXSAqIGVbaV07CisgICAgICAgICAgICBzMTUycyhhLCBiLCBjLCBpKTsKKyAgICAgICAg fQorICAgICAgICBkdW1teShhLCBiLCBjLCBkLCBlLCBhYSwgYmIsIGNjLCAwLik7CisgICAg fQorfQorCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtdGltZXMgInZlY3Rvcml6 ZWQgMSBsb29wcyIgMSAidmVjdCIgfSB9ICovClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls ZQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2 Yy1zMTYxLmMgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMx NjEuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNGJmYTlhNDkw ZWYKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMv dmVjdC10c3ZjLXMxNjEuYwpAQCAtMCwwICsxLDMxIEBACisvKiAgVGhpcyBmaWxlIGlzIGRp c3RyaWJ1dGVkIHVuZGVyIHRoZSBVbml2ZXJzaXR5IG9mIElsbGlub2lzIE9wZW4gU291cmNl CisgICAgTGljZW5zZS4gU2VlIGxpY2Vuc2UudHh0IGZvciBkZXRhaWxzLiAgKi8KKworLyog eyBkZy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItLXBh cmFtIHZlY3QtZXBpbG9ndWVzLW5vbWFzaz0wIiB9ICovCisvKiB7IGRnLXJlcXVpcmUtZWZm ZWN0aXZlLXRhcmdldCB2ZWN0X2Zsb2F0IH0gKi8KKworI2luY2x1ZGUgInRzdmMuaCIKKwor dm9pZCBzMTYxICh2b2lkKQoreworLy8gICAgY29udHJvbCBmbG93CisvLyAgICB0ZXN0cyBm b3IgcmVjb2duaXRpb24gb2YgbG9vcCBpbmRlcGVuZGVudCBkZXBlbmRlbmNlcworLy8gICAg YmV0d2VlbiBzdGF0ZW1lbnRzIGluIG11dHVhbGx5IGV4Y2x1c2l2ZSByZWdpb25zLgorCisK KyAgICBmb3IgKGludCBubCA9IDA7IG5sIDwgaXRlcmF0aW9ucy8yOyBubCsrKSB7CisgICAg ICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTEVOXzFELTE7ICsraSkgeworICAgICAgICAgICAg aWYgKGJbaV0gPCAocmVhbF90KTAuKSB7CisgICAgICAgICAgICAgICAgZ290byBMMjA7Cisg ICAgICAgICAgICB9CisgICAgICAgICAgICBhW2ldID0gY1tpXSArIGRbaV0gKiBlW2ldOwor ICAgICAgICAgICAgZ290byBMMTA7CitMMjA6CisgICAgICAgICAgICBjW2krMV0gPSBhW2ld ICsgZFtpXSAqIGRbaV07CitMMTA6CisgICAgICAgICAgICA7CisgICAgICAgIH0KKyAgICAg ICAgZHVtbXkoYSwgYiwgYywgZCwgZSwgYWEsIGJiLCBjYywgMC4pOworICAgIH0KK30KXCBO byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2dj Yy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMxNjIuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRn L3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczE2Mi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAwMDAwLi42MGY4NmZjNjFkOQotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0 c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczE2Mi5jCkBAIC0wLDAgKzEsMjUg QEAKKy8qICBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIFVuaXZlcnNpdHkg b2YgSWxsaW5vaXMgT3BlbiBTb3VyY2UKKyAgICBMaWNlbnNlLiBTZWUgbGljZW5zZS50eHQg Zm9yIGRldGFpbHMuICAqLworCisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1h ZGRpdGlvbmFsLW9wdGlvbnMgIi0tcGFyYW0gdmVjdC1lcGlsb2d1ZXMtbm9tYXNrPTAiIH0g Ki8KKy8qIHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IHZlY3RfZmxvYXQgfSAqLwor CisjaW5jbHVkZSAidHN2Yy5oIgorCit2b2lkIHMxNjIgKGludCBrKQoreworLy8gICAgY29u dHJvbCBmbG93CisvLyAgICBkZXJpdmluZyBhc3NlcnRpb25zCisKKyAgICBmb3IgKGludCBu bCA9IDA7IG5sIDwgaXRlcmF0aW9uczsgbmwrKykgeworICAgICAgICBpZiAoayA+IDApIHsK KyAgICAgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTEVOXzFELTE7IGkrKykgeworICAg ICAgICAgICAgICAgIGFbaV0gPSBhW2kgKyBrXSArIGJbaV0gKiBjW2ldOworICAgICAgICAg ICAgfQorICAgICAgICB9CisgICAgICAgIGR1bW15KGEsIGIsIGMsIGQsIGUsIGFhLCBiYiwg Y2MsIDAuKTsKKyAgICB9Cit9CisKKy8qIHsgZGctZmluYWwgeyBzY2FuLXRyZWUtZHVtcC10 aW1lcyAidmVjdG9yaXplZCAxIGxvb3BzIiAxICJ2ZWN0IiB9IH0gKi8KXCBObyBuZXdsaW5l IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0 L3RzdmMvdmVjdC10c3ZjLXMxNzEuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2 Yy92ZWN0LXRzdmMtczE3MS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MDAwLi5kZDJlNDI1ZWUyMAotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2Nj LmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczE3MS5jCkBAIC0wLDAgKzEsMjUgQEAKKy8qICBU aGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIFVuaXZlcnNpdHkgb2YgSWxsaW5v aXMgT3BlbiBTb3VyY2UKKyAgICBMaWNlbnNlLiBTZWUgbGljZW5zZS50eHQgZm9yIGRldGFp bHMuICAqLworCisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1hZGRpdGlvbmFs LW9wdGlvbnMgIi0tcGFyYW0gdmVjdC1lcGlsb2d1ZXMtbm9tYXNrPTAiIH0gKi8KKy8qIHsg ZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IHZlY3RfZmxvYXQgfSAqLworCisjaW5jbHVk ZSAidHN2Yy5oIgorCit2b2lkIHMxNzEgKGludCBpbmMpCit7CisvLyAgICBzeW1ib2xpY3MK Ky8vICAgIHN5bWJvbGljIGRlcGVuZGVuY2UgdGVzdHMKKworCisKKyAgICBmb3IgKGludCBu bCA9IDA7IG5sIDwgaXRlcmF0aW9uczsgbmwrKykgeworICAgICAgICBmb3IgKGludCBpID0g MDsgaSA8IExFTl8xRDsgaSsrKSB7CisgICAgICAgICAgICBhW2kgKiBpbmNdICs9IGJbaV07 CisgICAgICAgIH0KKyAgICAgICAgZHVtbXkoYSwgYiwgYywgZCwgZSwgYWEsIGJiLCBjYywg MC4pOworICAgIH0KK30KKworLyogeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1kdW1wLXRpbWVz ICJ2ZWN0b3JpemVkIDEgbG9vcHMiIDEgInZlY3QiIH0gfSAqLwpcIE5vIG5ld2xpbmUgYXQg ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2 Yy92ZWN0LXRzdmMtczE3Mi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3Zl Y3QtdHN2Yy1zMTcyLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAu LmExNTM1NWZjYjY0Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcv dmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMTcyLmMKQEAgLTAsMCArMSwyNyBAQAorLyogIFRoaXMg ZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgVW5pdmVyc2l0eSBvZiBJbGxpbm9pcyBP cGVuIFNvdXJjZQorICAgIExpY2Vuc2UuIFNlZSBsaWNlbnNlLnR4dCBmb3IgZGV0YWlscy4g ICovCisKKy8qIHsgZGctZG8gY29tcGlsZSB9ICovCisvKiB7IGRnLWFkZGl0aW9uYWwtb3B0 aW9ucyAiLS1wYXJhbSB2ZWN0LWVwaWxvZ3Vlcy1ub21hc2s9MCIgfSAqLworLyogeyBkZy1y ZXF1aXJlLWVmZmVjdGl2ZS10YXJnZXQgdmVjdF9mbG9hdCB9ICovCisKKyNpbmNsdWRlICJ0 c3ZjLmgiCisKK3N0cnVjdCBhcmd7aW50IGE7aW50IGI7fTsKKwordm9pZCBzMTcyIChzdHJ1 Y3QgYXJnICp4KQoreworLy8gICAgc3ltYm9saWNzCisvLyAgICB2ZWN0b3JpemFibGUgaWYg bjMgLm5lLiAwCisKKyAgICBpbnQgbjEgPSB4LT5hOworICAgIGludCBuMyA9IHgtPmI7CisK KworICAgIGZvciAoaW50IG5sID0gMDsgbmwgPCBpdGVyYXRpb25zOyBubCsrKSB7CisgICAg ICAgIGZvciAoaW50IGkgPSBuMS0xOyBpIDwgTEVOXzFEOyBpICs9IG4zKSB7CisgICAgICAg ICAgICBhW2ldICs9IGJbaV07CisgICAgICAgIH0KKyAgICAgICAgZHVtbXkoYSwgYiwgYywg ZCwgZSwgYWEsIGJiLCBjYywgMC4pOworICAgIH0KK30KZGlmZiAtLWdpdCBhL2djYy90ZXN0 c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczE3My5jIGIvZ2NjL3Rlc3RzdWl0 ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMTczLmMKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMDAwMDAuLmRlZjFjNGViMjJkCi0tLSAvZGV2L251bGwKKysrIGIv Z2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMTczLmMKQEAgLTAs MCArMSwyNCBAQAorLyogIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgVW5p dmVyc2l0eSBvZiBJbGxpbm9pcyBPcGVuIFNvdXJjZQorICAgIExpY2Vuc2UuIFNlZSBsaWNl bnNlLnR4dCBmb3IgZGV0YWlscy4gICovCisKKy8qIHsgZGctZG8gY29tcGlsZSB9ICovCisv KiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLS1wYXJhbSB2ZWN0LWVwaWxvZ3Vlcy1ub21h c2s9MCIgfSAqLworLyogeyBkZy1yZXF1aXJlLWVmZmVjdGl2ZS10YXJnZXQgdmVjdF9mbG9h dCB9ICovCisKKyNpbmNsdWRlICJ0c3ZjLmgiCisKK3ZvaWQgczE3MyAodm9pZCkKK3sKKy8v ICAgIHN5bWJvbGljcworLy8gICAgZXhwcmVzc2lvbiBpbiBsb29wIGJvdW5kcyBhbmQgc3Vi c2NyaXB0cworCisKKyAgICBpbnQgayA9IExFTl8xRC8yOworICAgIGZvciAoaW50IG5sID0g MDsgbmwgPCAxMCppdGVyYXRpb25zOyBubCsrKSB7CisgICAgICAgIGZvciAoaW50IGkgPSAw OyBpIDwgTEVOXzFELzI7IGkrKykgeworICAgICAgICAgICAgYVtpK2tdID0gYVtpXSArIGJb aV07CisgICAgICAgIH0KKyAgICAgICAgZHVtbXkoYSwgYiwgYywgZCwgZSwgYWEsIGJiLCBj YywgMC4pOworICAgIH0KK30KKy8qIHsgZGctZmluYWwgeyBzY2FuLXRyZWUtZHVtcC10aW1l cyAidmVjdG9yaXplZCAxIGxvb3BzIiAxICJ2ZWN0IiB9IH0gKi8KXCBObyBuZXdsaW5lIGF0 IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3Rz dmMvdmVjdC10c3ZjLXMxNzQuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92 ZWN0LXRzdmMtczE3NC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw Li5mMDQ4OGZkZWQzOAotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRn L3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczE3NC5jCkBAIC0wLDAgKzEsMjMgQEAKKy8qICBUaGlz IGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIFVuaXZlcnNpdHkgb2YgSWxsaW5vaXMg T3BlbiBTb3VyY2UKKyAgICBMaWNlbnNlLiBTZWUgbGljZW5zZS50eHQgZm9yIGRldGFpbHMu ICAqLworCisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1hZGRpdGlvbmFsLW9w dGlvbnMgIi0tcGFyYW0gdmVjdC1lcGlsb2d1ZXMtbm9tYXNrPTAiIH0gKi8KKy8qIHsgZGct cmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IHZlY3RfZmxvYXQgfSAqLworCisjaW5jbHVkZSAi dHN2Yy5oIgorCit2b2lkIHMxNzQgKGludCBNKQoreworLy8gICAgc3ltYm9saWNzCisvLyAg ICBsb29wIHdpdGggc3Vic2NyaXB0IHRoYXQgbWF5IHNlZW0gYW1iaWd1b3VzCisKKyAgICBm b3IgKGludCBubCA9IDA7IG5sIDwgMTAqaXRlcmF0aW9uczsgbmwrKykgeworICAgICAgICBm b3IgKGludCBpID0gMDsgaSA8IE07IGkrKykgeworICAgICAgICAgICAgYVtpK01dID0gYVtp XSArIGJbaV07CisgICAgICAgIH0KKyAgICAgICAgZHVtbXkoYSwgYiwgYywgZCwgZSwgYWEs IGJiLCBjYywgMC4pOworICAgIH0KK30KKworLyogeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1k dW1wLXRpbWVzICJ2ZWN0b3JpemVkIDEgbG9vcHMiIDEgInZlY3QiIH0gfSAqLwpcIE5vIG5l d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRn L3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczE3NS5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVj dC90c3ZjL3ZlY3QtdHN2Yy1zMTc1LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMDAwMDAuLjgyODI1ZDBhMjdhCi0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0 ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMTc1LmMKQEAgLTAsMCArMSwyMSBAQAor LyogIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgVW5pdmVyc2l0eSBvZiBJ bGxpbm9pcyBPcGVuIFNvdXJjZQorICAgIExpY2Vuc2UuIFNlZSBsaWNlbnNlLnR4dCBmb3Ig ZGV0YWlscy4gICovCisKKy8qIHsgZGctZG8gY29tcGlsZSB9ICovCisvKiB7IGRnLWFkZGl0 aW9uYWwtb3B0aW9ucyAiLS1wYXJhbSB2ZWN0LWVwaWxvZ3Vlcy1ub21hc2s9MCIgfSAqLwor LyogeyBkZy1yZXF1aXJlLWVmZmVjdGl2ZS10YXJnZXQgdmVjdF9mbG9hdCB9ICovCisKKyNp bmNsdWRlICJ0c3ZjLmgiCisKK3ZvaWQgczE3NSAoaW50IGluYykKK3sKKy8vICAgIHN5bWJv bGljcworLy8gICAgc3ltYm9saWMgZGVwZW5kZW5jZSB0ZXN0cworCisgICAgZm9yIChpbnQg bmwgPSAwOyBubCA8IGl0ZXJhdGlvbnM7IG5sKyspIHsKKyAgICAgICAgZm9yIChpbnQgaSA9 IDA7IGkgPCBMRU5fMUQtMTsgaSArPSBpbmMpIHsKKyAgICAgICAgICAgIGFbaV0gPSBhW2kg KyBpbmNdICsgYltpXTsKKyAgICAgICAgfQorICAgICAgICBkdW1teShhLCBiLCBjLCBkLCBl LCBhYSwgYmIsIGNjLCAwLik7CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0 ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMTc2LmMgYi9nY2MvdGVzdHN1aXRlL2dj Yy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMxNzYuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwMDAwMC4uZjdiNzliNWVlNDMKLS0tIC9kZXYvbnVsbAorKysgYi9nY2Mv dGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMxNzYuYwpAQCAtMCwwICsx LDI2IEBACisvKiAgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBVbml2ZXJz aXR5IG9mIElsbGlub2lzIE9wZW4gU291cmNlCisgICAgTGljZW5zZS4gU2VlIGxpY2Vuc2Uu dHh0IGZvciBkZXRhaWxzLiAgKi8KKworLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy8qIHsg ZGctYWRkaXRpb25hbC1vcHRpb25zICItLXBhcmFtIHZlY3QtZXBpbG9ndWVzLW5vbWFzaz0w IiB9ICovCisvKiB7IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdldCB2ZWN0X2Zsb2F0IH0g Ki8KKworI2luY2x1ZGUgInRzdmMuaCIKKwordm9pZCBzMTc2ICh2b2lkKQoreworLy8gICAg c3ltYm9saWNzCisvLyAgICBjb252b2x1dGlvbgorCisKKyAgICBpbnQgbSA9IExFTl8xRC8y OworICAgIGZvciAoaW50IG5sID0gMDsgbmwgPCA0KihpdGVyYXRpb25zL0xFTl8xRCk7IG5s KyspIHsKKyAgICAgICAgZm9yIChpbnQgaiA9IDA7IGogPCAoTEVOXzFELzIpOyBqKyspIHsK KyAgICAgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbTsgaSsrKSB7CisgICAgICAgICAg ICAgICAgYVtpXSArPSBiW2krbS1qLTFdICogY1tqXTsKKyAgICAgICAgICAgIH0KKyAgICAg ICAgfQorICAgICAgICBkdW1teShhLCBiLCBjLCBkLCBlLCBhYSwgYmIsIGNjLCAwLik7Cisg ICAgfQorfQorLyogeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1kdW1wLXRpbWVzICJ2ZWN0b3Jp emVkIDEgbG9vcHMiIDEgInZlY3QiIH0gfSAqLwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp bGUKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRz dmMtczIxMDEuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMt czIxMDEuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMjJkMjk4 OTI1YWYKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3Rz dmMvdmVjdC10c3ZjLXMyMTAxLmMKQEAgLTAsMCArMSwyNCBAQAorLyogIFRoaXMgZmlsZSBp cyBkaXN0cmlidXRlZCB1bmRlciB0aGUgVW5pdmVyc2l0eSBvZiBJbGxpbm9pcyBPcGVuIFNv dXJjZQorICAgIExpY2Vuc2UuIFNlZSBsaWNlbnNlLnR4dCBmb3IgZGV0YWlscy4gICovCisK Ky8qIHsgZGctZG8gY29tcGlsZSB9ICovCisvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAi LS1wYXJhbSB2ZWN0LWVwaWxvZ3Vlcy1ub21hc2s9MCIgfSAqLworLyogeyBkZy1yZXF1aXJl LWVmZmVjdGl2ZS10YXJnZXQgdmVjdF9mbG9hdCB9ICovCisKKyNpbmNsdWRlICJ0c3ZjLmgi CisKK3ZvaWQgczIxMDEgKHZvaWQpCit7CisvLyAgICBkaWFnb25hbHMKKy8vICAgIG1haW4g ZGlhZ29uYWwgY2FsY3VsYXRpb24KKy8vICAgIGp1bXAgaW4gZGF0YSBhY2Nlc3MKKworCisg ICAgZm9yIChpbnQgbmwgPSAwOyBubCA8IDEwKml0ZXJhdGlvbnM7IG5sKyspIHsKKyAgICAg ICAgZm9yIChpbnQgaSA9IDA7IGkgPCBMRU5fMkQ7IGkrKykgeworICAgICAgICAgICAgYWFb aV1baV0gKz0gYmJbaV1baV0gKiBjY1tpXVtpXTsKKyAgICAgICAgfQorICAgICAgICBkdW1t eShhLCBiLCBjLCBkLCBlLCBhYSwgYmIsIGNjLCAwLik7CisgICAgfQorfQorLyogeyBkZy1m aW5hbCB7IHNjYW4tdHJlZS1kdW1wLXRpbWVzICJ2ZWN0b3JpemVkIDEgbG9vcHMiIDEgInZl Y3QiIH0gfSAqLwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2dj Yy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczIxMDIuYyBiL2djYy90 ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczIxMDIuYwpuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNmQyNDNiM2IzODkKLS0tIC9kZXYvbnVs bAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMyMTAy LmMKQEAgLTAsMCArMSwyNSBAQAorLyogIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRl ciB0aGUgVW5pdmVyc2l0eSBvZiBJbGxpbm9pcyBPcGVuIFNvdXJjZQorICAgIExpY2Vuc2Uu IFNlZSBsaWNlbnNlLnR4dCBmb3IgZGV0YWlscy4gICovCisKKy8qIHsgZGctZG8gY29tcGls ZSB9ICovCisvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLS1wYXJhbSB2ZWN0LWVwaWxv Z3Vlcy1ub21hc2s9MCIgfSAqLworLyogeyBkZy1yZXF1aXJlLWVmZmVjdGl2ZS10YXJnZXQg dmVjdF9mbG9hdCB9ICovCisKKyNpbmNsdWRlICJ0c3ZjLmgiCisKK3ZvaWQgczIxMDIgKHZv aWQpCit7CisvLyAgICBkaWFnb25hbHMKKy8vICAgIGlkZW50aXR5IG1hdHJpeCwgYmVzdCBy ZXN1bHRzIHZlY3Rvcml6ZSBib3RoIGlubmVyIGFuZCBvdXRlciBsb29wcworCisKKyAgICBm b3IgKGludCBubCA9IDA7IG5sIDwgMTAwKihpdGVyYXRpb25zL0xFTl8yRCk7IG5sKyspIHsK KyAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBMRU5fMkQ7IGkrKykgeworICAgICAgICAg ICAgZm9yIChpbnQgaiA9IDA7IGogPCBMRU5fMkQ7IGorKykgeworICAgICAgICAgICAgICAg IGFhW2pdW2ldID0gKHJlYWxfdCkwLjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGFh W2ldW2ldID0gKHJlYWxfdCkxLjsKKyAgICAgICAgfQorICAgICAgICBkdW1teShhLCBiLCBj LCBkLCBlLCBhYSwgYmIsIGNjLCAwLik7CisgICAgfQorfQpcIE5vIG5ld2xpbmUgYXQgZW5k IG9mIGZpbGUKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92 ZWN0LXRzdmMtczIxMS5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3Qt dHN2Yy1zMjExLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjUx NzI0Yzc1Njg4Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVj dC90c3ZjL3ZlY3QtdHN2Yy1zMjExLmMKQEAgLTAsMCArMSwyMyBAQAorLyogIFRoaXMgZmls ZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgVW5pdmVyc2l0eSBvZiBJbGxpbm9pcyBPcGVu IFNvdXJjZQorICAgIExpY2Vuc2UuIFNlZSBsaWNlbnNlLnR4dCBmb3IgZGV0YWlscy4gICov CisKKy8qIHsgZGctZG8gY29tcGlsZSB9ICovCisvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9u cyAiLS1wYXJhbSB2ZWN0LWVwaWxvZ3Vlcy1ub21hc2s9MCIgfSAqLworLyogeyBkZy1yZXF1 aXJlLWVmZmVjdGl2ZS10YXJnZXQgdmVjdF9mbG9hdCB9ICovCisKKyNpbmNsdWRlICJ0c3Zj LmgiCisKK3ZvaWQgczIxMSAodm9pZCkKK3sKKy8vICAgIHN0YXRlbWVudCByZW9yZGVyaW5n CisvLyAgICBzdGF0ZW1lbnQgcmVvcmRlcmluZyBhbGxvd3MgdmVjdG9yaXphdGlvbgorCisK KyAgICBmb3IgKGludCBubCA9IDA7IG5sIDwgaXRlcmF0aW9uczsgbmwrKykgeworICAgICAg ICBmb3IgKGludCBpID0gMTsgaSA8IExFTl8xRC0xOyBpKyspIHsKKyAgICAgICAgICAgIGFb aV0gPSBiW2kgLSAxXSArIGNbaV0gKiBkW2ldOworICAgICAgICAgICAgYltpXSA9IGJbaSAr IDFdIC0gZVtpXSAqIGRbaV07CisgICAgICAgIH0KKyAgICAgICAgZHVtbXkoYSwgYiwgYywg ZCwgZSwgYWEsIGJiLCBjYywgMC4pOworICAgIH0KK30KXCBObyBuZXdsaW5lIGF0IGVuZCBv ZiBmaWxlCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVj dC10c3ZjLXMyMTExLmMgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10 c3ZjLXMyMTExLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjI5 NjA4N2M4NGY5Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVj dC90c3ZjL3ZlY3QtdHN2Yy1zMjExMS5jCkBAIC0wLDAgKzEsMjMgQEAKKy8qICBUaGlzIGZp bGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIFVuaXZlcnNpdHkgb2YgSWxsaW5vaXMgT3Bl biBTb3VyY2UKKyAgICBMaWNlbnNlLiBTZWUgbGljZW5zZS50eHQgZm9yIGRldGFpbHMuICAq LworCisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlv bnMgIi0tcGFyYW0gdmVjdC1lcGlsb2d1ZXMtbm9tYXNrPTAiIH0gKi8KKy8qIHsgZGctcmVx dWlyZS1lZmZlY3RpdmUtdGFyZ2V0IHZlY3RfZmxvYXQgfSAqLworCisjaW5jbHVkZSAidHN2 Yy5oIgorCit2b2lkIHMyMTExICh2b2lkKQoreworLy8gICAgd2F2ZWZyb250cywgaXQgd2ls bCBtYWtlIGp1bXAgaW4gZGF0YSBhY2Nlc3MKKworCisgICAgZm9yIChpbnQgbmwgPSAwOyBu bCA8IDEwMCooaXRlcmF0aW9ucy8oTEVOXzJEKSk7IG5sKyspIHsKKyAgICAgICAgZm9yIChp bnQgaiA9IDE7IGogPCBMRU5fMkQ7IGorKykgeworICAgICAgICAgICAgZm9yIChpbnQgaSA9 IDE7IGkgPCBMRU5fMkQ7IGkrKykgeworICAgICAgICAgICAgICAgIGFhW2pdW2ldID0gKGFh W2pdW2ktMV0gKyBhYVtqLTFdW2ldKS8xLjk7CisgICAgICAgICAgICB9CisgICAgICAgIH0K KyAgICAgICAgZHVtbXkoYSwgYiwgYywgZCwgZSwgYWEsIGJiLCBjYywgMC4pOworICAgIH0K K30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1 aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMyMTIuYyBiL2djYy90ZXN0c3VpdGUv Z2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczIxMi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAwMDAwLi41NGY1NDg2MDUyNwotLS0gL2Rldi9udWxsCisrKyBiL2dj Yy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczIxMi5jCkBAIC0wLDAg KzEsMjMgQEAKKy8qICBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIFVuaXZl cnNpdHkgb2YgSWxsaW5vaXMgT3BlbiBTb3VyY2UKKyAgICBMaWNlbnNlLiBTZWUgbGljZW5z ZS50eHQgZm9yIGRldGFpbHMuICAqLworCisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyog eyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi0tcGFyYW0gdmVjdC1lcGlsb2d1ZXMtbm9tYXNr PTAiIH0gKi8KKy8qIHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IHZlY3RfZmxvYXQg fSAqLworCisjaW5jbHVkZSAidHN2Yy5oIgorCit2b2lkIHMyMTIgKHZvaWQpCit7CisvLyAg ICBzdGF0ZW1lbnQgcmVvcmRlcmluZworLy8gICAgZGVwZW5kZW5jeSBuZWVkaW5nIHRlbXBv cmFyeQorCisKKyAgICBmb3IgKGludCBubCA9IDA7IG5sIDwgaXRlcmF0aW9uczsgbmwrKykg eworICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IExFTl8xRC0xOyBpKyspIHsKKyAgICAg ICAgICAgIGFbaV0gKj0gY1tpXTsKKyAgICAgICAgICAgIGJbaV0gKz0gYVtpICsgMV0gKiBk W2ldOworICAgICAgICB9CisgICAgICAgIGR1bW15KGEsIGIsIGMsIGQsIGUsIGFhLCBiYiwg Y2MsIDAuKTsKKyAgICB9Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t Z2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMjIxLmMg Yi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMyMjEuYwpuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMDRjYzJjYzNlMTgKLS0tIC9k ZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3Zj LXMyMjEuYwpAQCAtMCwwICsxLDIzIEBACisvKiAgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVk IHVuZGVyIHRoZSBVbml2ZXJzaXR5IG9mIElsbGlub2lzIE9wZW4gU291cmNlCisgICAgTGlj ZW5zZS4gU2VlIGxpY2Vuc2UudHh0IGZvciBkZXRhaWxzLiAgKi8KKworLyogeyBkZy1kbyBj b21waWxlIH0gKi8KKy8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItLXBhcmFtIHZlY3Qt ZXBpbG9ndWVzLW5vbWFzaz0wIiB9ICovCisvKiB7IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRh cmdldCB2ZWN0X2Zsb2F0IH0gKi8KKworI2luY2x1ZGUgInRzdmMuaCIKKwordm9pZCBzMjIx ICh2b2lkKQoreworLy8gICAgbG9vcCBkaXN0cmlidXRpb24KKy8vICAgIGxvb3AgdGhhdCBp cyBwYXJ0aWFsbHkgcmVjdXJzaXZlCisKKworICAgIGZvciAoaW50IG5sID0gMDsgbmwgPCBp dGVyYXRpb25zLzI7IG5sKyspIHsKKyAgICAgICAgZm9yIChpbnQgaSA9IDE7IGkgPCBMRU5f MUQ7IGkrKykgeworICAgICAgICAgICAgYVtpXSArPSBjW2ldICogZFtpXTsKKyAgICAgICAg ICAgIGJbaV0gPSBiW2kgLSAxXSArIGFbaV0gKyBkW2ldOworICAgICAgICB9CisgICAgICAg IGR1bW15KGEsIGIsIGMsIGQsIGUsIGFhLCBiYiwgY2MsIDAuKTsKKyAgICB9Cit9ClwgTm8g bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2Mu ZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMjIyLmMgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92 ZWN0L3RzdmMvdmVjdC10c3ZjLXMyMjIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAwMC4uOWM5ZTc4ZWExNTQKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1 aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMyMjIuYwpAQCAtMCwwICsxLDI0IEBA CisvKiAgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBVbml2ZXJzaXR5IG9m IElsbGlub2lzIE9wZW4gU291cmNlCisgICAgTGljZW5zZS4gU2VlIGxpY2Vuc2UudHh0IGZv ciBkZXRhaWxzLiAgKi8KKworLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGctYWRk aXRpb25hbC1vcHRpb25zICItLXBhcmFtIHZlY3QtZXBpbG9ndWVzLW5vbWFzaz0wIiB9ICov CisvKiB7IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdldCB2ZWN0X2Zsb2F0IH0gKi8KKwor I2luY2x1ZGUgInRzdmMuaCIKKwordm9pZCBzMjIyICh2b2lkKQoreworLy8gICAgbG9vcCBk aXN0cmlidXRpb24KKy8vICAgIHBhcnRpYWwgbG9vcCB2ZWN0b3JpemF0aW8gcmVjdXJyZW5j ZSBpbiBtaWRkbGUKKworCisgICAgZm9yIChpbnQgbmwgPSAwOyBubCA8IGl0ZXJhdGlvbnMv MjsgbmwrKykgeworICAgICAgICBmb3IgKGludCBpID0gMTsgaSA8IExFTl8xRDsgaSsrKSB7 CisgICAgICAgICAgICBhW2ldICs9IGJbaV0gKiBjW2ldOworICAgICAgICAgICAgZVtpXSA9 IGVbaSAtIDFdICogZVtpIC0gMV07CisgICAgICAgICAgICBhW2ldIC09IGJbaV0gKiBjW2ld OworICAgICAgICB9CisgICAgICAgIGR1bW15KGEsIGIsIGMsIGQsIGUsIGFhLCBiYiwgY2Ms IDAuKTsKKyAgICB9Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0 IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMjIzMy5jIGIv Z2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMjIzMy5jCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi44NGFlODQ4MDQ3NgotLS0gL2Rl di9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMt czIyMzMuYwpAQCAtMCwwICsxLDI4IEBACisvKiAgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVk IHVuZGVyIHRoZSBVbml2ZXJzaXR5IG9mIElsbGlub2lzIE9wZW4gU291cmNlCisgICAgTGlj ZW5zZS4gU2VlIGxpY2Vuc2UudHh0IGZvciBkZXRhaWxzLiAgKi8KKworLyogeyBkZy1kbyBj b21waWxlIH0gKi8KKy8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItLXBhcmFtIHZlY3Qt ZXBpbG9ndWVzLW5vbWFzaz0wIiB9ICovCisvKiB7IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRh cmdldCB2ZWN0X2Zsb2F0IH0gKi8KKworI2luY2x1ZGUgInRzdmMuaCIKKwordm9pZCBzMjIz MyAodm9pZCkKK3sKKy8vICAgIGxvb3AgaW50ZXJjaGFuZ2UKKy8vICAgIGludGVyY2hhbmdp bmcgd2l0aCBvbmUgb2YgdHdvIGlubmVyIGxvb3BzCisKKworICAgIGZvciAoaW50IG5sID0g MDsgbmwgPCAxMDAqKGl0ZXJhdGlvbnMvTEVOXzJEKTsgbmwrKykgeworICAgICAgICBmb3Ig KGludCBpID0gMTsgaSA8IExFTl8yRDsgaSsrKSB7CisgICAgICAgICAgICBmb3IgKGludCBq ID0gMTsgaiA8IExFTl8yRDsgaisrKSB7CisgICAgICAgICAgICAgICAgYWFbal1baV0gPSBh YVtqLTFdW2ldICsgY2Nbal1baV07CisgICAgICAgICAgICB9CisgICAgICAgICAgICBmb3Ig KGludCBqID0gMTsgaiA8IExFTl8yRDsgaisrKSB7CisgICAgICAgICAgICAgICAgYmJbaV1b al0gPSBiYltpLTFdW2pdICsgY2NbaV1bal07CisgICAgICAgICAgICB9CisgICAgICAgIH0K KyAgICAgICAgZHVtbXkoYSwgYiwgYywgZCwgZSwgYWEsIGJiLCBjYywgMC4pOworICAgIH0K K30KKy8qIHsgZGctZmluYWwgeyBzY2FuLXRyZWUtZHVtcC10aW1lcyAidmVjdG9yaXplZCAx IGxvb3BzIiAxICJ2ZWN0IiB9IH0gKi8KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp ZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMy MjQ0LmMgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMyMjQ0 LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjRjM2FkZTM3YTFk Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3Zl Y3QtdHN2Yy1zMjI0NC5jCkBAIC0wLDAgKzEsMjQgQEAKKy8qICBUaGlzIGZpbGUgaXMgZGlz dHJpYnV0ZWQgdW5kZXIgdGhlIFVuaXZlcnNpdHkgb2YgSWxsaW5vaXMgT3BlbiBTb3VyY2UK KyAgICBMaWNlbnNlLiBTZWUgbGljZW5zZS50eHQgZm9yIGRldGFpbHMuICAqLworCisvKiB7 IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi0tcGFy YW0gdmVjdC1lcGlsb2d1ZXMtbm9tYXNrPTAiIH0gKi8KKy8qIHsgZGctcmVxdWlyZS1lZmZl Y3RpdmUtdGFyZ2V0IHZlY3RfZmxvYXQgfSAqLworCisjaW5jbHVkZSAidHN2Yy5oIgorCit2 b2lkIHMyMjQ0ICh2b2lkKQoreworLy8gICAgbm9kZSBzcGxpdHRpbmcKKy8vICAgIGN5Y2xl IHdpdGggdHVyZSBhbmQgYW50aSBkZXBlbmRlbmN5CisKKworICAgIGZvciAoaW50IG5sID0g MDsgbmwgPCBpdGVyYXRpb25zOyBubCsrKSB7CisgICAgICAgIGZvciAoaW50IGkgPSAwOyBp IDwgTEVOXzFELTE7IGkrKykgeworICAgICAgICAgICAgYVtpKzFdID0gYltpXSArIGVbaV07 CisgICAgICAgICAgICBhW2ldID0gYltpXSArIGNbaV07CisgICAgICAgIH0KKyAgICAgICAg ZHVtbXkoYSwgYiwgYywgZCwgZSwgYWEsIGJiLCBjYywgMC4pOworICAgIH0KK30KKy8qIHsg ZGctZmluYWwgeyBzY2FuLXRyZWUtZHVtcC10aW1lcyAidmVjdG9yaXplZCAxIGxvb3BzIiAx ICJ2ZWN0IiB9IH0gKi8KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg YS9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMyMjUxLmMgYi9n Y2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMyMjUxLmMKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjkwZGU3Njc4MWE0Ci0tLSAvZGV2 L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1z MjI1MS5jCkBAIC0wLDAgKzEsMjUgQEAKKy8qICBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQg dW5kZXIgdGhlIFVuaXZlcnNpdHkgb2YgSWxsaW5vaXMgT3BlbiBTb3VyY2UKKyAgICBMaWNl bnNlLiBTZWUgbGljZW5zZS50eHQgZm9yIGRldGFpbHMuICAqLworCisvKiB7IGRnLWRvIGNv bXBpbGUgfSAqLworLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi0tcGFyYW0gdmVjdC1l cGlsb2d1ZXMtbm9tYXNrPTAiIH0gKi8KKy8qIHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFy Z2V0IHZlY3RfZmxvYXQgfSAqLworCisjaW5jbHVkZSAidHN2Yy5oIgorCit2b2lkIHMyMjUx ICh2b2lkKQoreworLy8gICAgc2NhbGFyIGFuZCBhcnJheSBleHBhbnNpb24KKy8vICAgIHNj YWxhciBleHBhbnNpb24KKworCisgICAgZm9yIChpbnQgbmwgPSAwOyBubCA8IGl0ZXJhdGlv bnM7IG5sKyspIHsKKyAgICAgICAgcmVhbF90IHMgPSAocmVhbF90KTAuMDsKKyAgICAgICAg Zm9yIChpbnQgaSA9IDA7IGkgPCBMRU5fMUQ7IGkrKykgeworICAgICAgICAgICAgYVtpXSA9 IHMqZVtpXTsKKyAgICAgICAgICAgIHMgPSBiW2ldK2NbaV07CisgICAgICAgICAgICBiW2ld ID0gYVtpXStkW2ldOworICAgICAgICB9CisgICAgICAgIGR1bW15KGEsIGIsIGMsIGQsIGUs IGFhLCBiYiwgY2MsIDAuKTsKKyAgICB9Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls ZQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2 Yy1zMjI3NS5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1z MjI3NS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4zMWFlNmE5 NmQxNAotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2 Yy92ZWN0LXRzdmMtczIyNzUuYwpAQCAtMCwwICsxLDI1IEBACisvKiAgVGhpcyBmaWxlIGlz IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBVbml2ZXJzaXR5IG9mIElsbGlub2lzIE9wZW4gU291 cmNlCisgICAgTGljZW5zZS4gU2VlIGxpY2Vuc2UudHh0IGZvciBkZXRhaWxzLiAgKi8KKwor LyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICIt LXBhcmFtIHZlY3QtZXBpbG9ndWVzLW5vbWFzaz0wIiB9ICovCisvKiB7IGRnLXJlcXVpcmUt ZWZmZWN0aXZlLXRhcmdldCB2ZWN0X2Zsb2F0IH0gKi8KKworI2luY2x1ZGUgInRzdmMuaCIK Kwordm9pZCBzMjI3NSAodm9pZCkKK3sKKy8vICAgIGxvb3AgZGlzdHJpYnV0aW9uIGlzIG5l ZWRlZCB0byBiZSBhYmxlIHRvIGludGVyY2hhbmdlCisKKworICAgIGZvciAoaW50IG5sID0g MDsgbmwgPCAxMDAqKGl0ZXJhdGlvbnMvTEVOXzJEKTsgbmwrKykgeworICAgICAgICBmb3Ig KGludCBpID0gMDsgaSA8IExFTl8yRDsgaSsrKSB7CisgICAgICAgICAgICBmb3IgKGludCBq ID0gMDsgaiA8IExFTl8yRDsgaisrKSB7CisgICAgICAgICAgICAgICAgYWFbal1baV0gPSBh YVtqXVtpXSArIGJiW2pdW2ldICogY2Nbal1baV07CisgICAgICAgICAgICB9CisgICAgICAg ICAgICBhW2ldID0gYltpXSArIGNbaV0gKiBkW2ldOworICAgICAgICB9CisgICAgICAgIGR1 bW15KGEsIGIsIGMsIGQsIGUsIGFhLCBiYiwgY2MsIDAuKTsKKyAgICB9Cit9CisvKiB7IGRn LWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtdGltZXMgInZlY3Rvcml6ZWQgMSBsb29wcyIgMSAi dmVjdCIgfSB9ICovClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv Z2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMjMxLmMgYi9nY2Mv dGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMyMzEuYwpuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uOWU4YWFmNTQwZmYKLS0tIC9kZXYvbnVs bAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMyMzEu YwpAQCAtMCwwICsxLDI1IEBACisvKiAgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVy IHRoZSBVbml2ZXJzaXR5IG9mIElsbGlub2lzIE9wZW4gU291cmNlCisgICAgTGljZW5zZS4g U2VlIGxpY2Vuc2UudHh0IGZvciBkZXRhaWxzLiAgKi8KKworLyogeyBkZy1kbyBjb21waWxl IH0gKi8KKy8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItLXBhcmFtIHZlY3QtZXBpbG9n dWVzLW5vbWFzaz0wIiB9ICovCisvKiB7IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdldCB2 ZWN0X2Zsb2F0IH0gKi8KKworI2luY2x1ZGUgInRzdmMuaCIKKwordm9pZCBzMjMxICh2b2lk KQoreworLy8gICAgbG9vcCBpbnRlcmNoYW5nZQorLy8gICAgbG9vcCB3aXRoIGRhdGEgZGVw ZW5kZW5jeQorCisKKyAgICBmb3IgKGludCBubCA9IDA7IG5sIDwgMTAwKihpdGVyYXRpb25z L0xFTl8yRCk7IG5sKyspIHsKKyAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBMRU5fMkQ7 ICsraSkgeworICAgICAgICAgICAgZm9yIChpbnQgaiA9IDE7IGogPCBMRU5fMkQ7IGorKykg eworICAgICAgICAgICAgICAgIGFhW2pdW2ldID0gYWFbaiAtIDFdW2ldICsgYmJbal1baV07 CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgZHVtbXkoYSwgYiwgYywgZCwg ZSwgYWEsIGJiLCBjYywgMC4pOworICAgIH0KK30KKy8qIHsgZGctZmluYWwgeyBzY2FuLXRy ZWUtZHVtcC10aW1lcyAidmVjdG9yaXplZCAxIGxvb3BzIiAxICJ2ZWN0IiB9IH0gKi8KXCBO byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2dj Yy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMyMzIuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRn L3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczIzMi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAwMDAwLi44YWZiODMzZWI4MQotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0 c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczIzMi5jCkBAIC0wLDAgKzEsMjQg QEAKKy8qICBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIFVuaXZlcnNpdHkg b2YgSWxsaW5vaXMgT3BlbiBTb3VyY2UKKyAgICBMaWNlbnNlLiBTZWUgbGljZW5zZS50eHQg Zm9yIGRldGFpbHMuICAqLworCisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1h ZGRpdGlvbmFsLW9wdGlvbnMgIi0tcGFyYW0gdmVjdC1lcGlsb2d1ZXMtbm9tYXNrPTAiIH0g Ki8KKy8qIHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IHZlY3RfZmxvYXQgfSAqLwor CisjaW5jbHVkZSAidHN2Yy5oIgorCit2b2lkIHMyMzIgKHZvaWQpCit7CisvLyAgICBsb29w IGludGVyY2hhbmdlCisvLyAgICBpbnRlcmNoYW5naW5nIG9mIHRyaWFuZ3VsYXIgbG9vcHMK KworCisgICAgZm9yIChpbnQgbmwgPSAwOyBubCA8IDEwMCooaXRlcmF0aW9ucy8oTEVOXzJE KSk7IG5sKyspIHsKKyAgICAgICAgZm9yIChpbnQgaiA9IDE7IGogPCBMRU5fMkQ7IGorKykg eworICAgICAgICAgICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gajsgaSsrKSB7CisgICAgICAg ICAgICAgICAgYWFbal1baV0gPSBhYVtqXVtpLTFdKmFhW2pdW2ktMV0rYmJbal1baV07Cisg ICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgZHVtbXkoYSwgYiwgYywgZCwgZSwg YWEsIGJiLCBjYywgMS4pOworICAgIH0KK30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl CmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3Zj LXMyMzMuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczIz My5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5jZTRmM2FmMTRm YgotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92 ZWN0LXRzdmMtczIzMy5jCkBAIC0wLDAgKzEsMjcgQEAKKy8qICBUaGlzIGZpbGUgaXMgZGlz dHJpYnV0ZWQgdW5kZXIgdGhlIFVuaXZlcnNpdHkgb2YgSWxsaW5vaXMgT3BlbiBTb3VyY2UK KyAgICBMaWNlbnNlLiBTZWUgbGljZW5zZS50eHQgZm9yIGRldGFpbHMuICAqLworCisvKiB7 IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi0tcGFy YW0gdmVjdC1lcGlsb2d1ZXMtbm9tYXNrPTAiIH0gKi8KKy8qIHsgZGctcmVxdWlyZS1lZmZl Y3RpdmUtdGFyZ2V0IHZlY3RfZmxvYXQgfSAqLworCisjaW5jbHVkZSAidHN2Yy5oIgorCit2 b2lkIHMyMzMgKHZvaWQpCit7CisvLyAgICBsb29wIGludGVyY2hhbmdlCisvLyAgICBpbnRl cmNoYW5naW5nIHdpdGggb25lIG9mIHR3byBpbm5lciBsb29wcworCisKKyAgICBmb3IgKGlu dCBubCA9IDA7IG5sIDwgMTAwKihpdGVyYXRpb25zL0xFTl8yRCk7IG5sKyspIHsKKyAgICAg ICAgZm9yIChpbnQgaSA9IDE7IGkgPCBMRU5fMkQ7IGkrKykgeworICAgICAgICAgICAgZm9y IChpbnQgaiA9IDE7IGogPCBMRU5fMkQ7IGorKykgeworICAgICAgICAgICAgICAgIGFhW2pd W2ldID0gYWFbai0xXVtpXSArIGNjW2pdW2ldOworICAgICAgICAgICAgfQorICAgICAgICAg ICAgZm9yIChpbnQgaiA9IDE7IGogPCBMRU5fMkQ7IGorKykgeworICAgICAgICAgICAgICAg IGJiW2pdW2ldID0gYmJbal1baS0xXSArIGNjW2pdW2ldOworICAgICAgICAgICAgfQorICAg ICAgICB9CisgICAgICAgIGR1bW15KGEsIGIsIGMsIGQsIGUsIGFhLCBiYiwgY2MsIDAuKTsK KyAgICB9Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvZ2Nj L3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMjM1LmMgYi9nY2MvdGVz dHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMyMzUuYwpuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMzIxNjczNzA0NjIKLS0tIC9kZXYvbnVsbAor KysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMyMzUuYwpA QCAtMCwwICsxLDI2IEBACisvKiAgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRo ZSBVbml2ZXJzaXR5IG9mIElsbGlub2lzIE9wZW4gU291cmNlCisgICAgTGljZW5zZS4gU2Vl IGxpY2Vuc2UudHh0IGZvciBkZXRhaWxzLiAgKi8KKworLyogeyBkZy1kbyBjb21waWxlIH0g Ki8KKy8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItLXBhcmFtIHZlY3QtZXBpbG9ndWVz LW5vbWFzaz0wIiB9ICovCisvKiB7IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdldCB2ZWN0 X2Zsb2F0IH0gKi8KKworI2luY2x1ZGUgInRzdmMuaCIKKwordm9pZCBzMjM1ICh2b2lkKQor eworLy8gICAgbG9vcCBpbnRlcmNoYW5naW5nCisvLyAgICBpbXBlcmZlY3RseSBuZXN0ZWQg bG9vcHMKKworCisgICAgZm9yIChpbnQgbmwgPSAwOyBubCA8IDIwMCooaXRlcmF0aW9ucy9M RU5fMkQpOyBubCsrKSB7CisgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTEVOXzJEOyBp KyspIHsKKyAgICAgICAgICAgIGFbaV0gKz0gYltpXSAqIGNbaV07CisgICAgICAgICAgICBm b3IgKGludCBqID0gMTsgaiA8IExFTl8yRDsgaisrKSB7CisgICAgICAgICAgICAgICAgYWFb al1baV0gPSBhYVtqLTFdW2ldICsgYmJbal1baV0gKiBhW2ldOworICAgICAgICAgICAgfQor ICAgICAgICB9CisgICAgICAgIGR1bW15KGEsIGIsIGMsIGQsIGUsIGFhLCBiYiwgY2MsIDAu KTsKKyAgICB9Cit9CisvKiB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtdGltZXMgInZl Y3Rvcml6ZWQgMSBsb29wcyIgMSAidmVjdCIgfSB9ICovClwgTm8gbmV3bGluZSBhdCBlbmQg b2YgZmlsZQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3Zl Y3QtdHN2Yy1zMjQxLmMgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10 c3ZjLXMyNDEuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNzZi OTkyNjdjNWQKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0 L3RzdmMvdmVjdC10c3ZjLXMyNDEuYwpAQCAtMCwwICsxLDIzIEBACisvKiAgVGhpcyBmaWxl IGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBVbml2ZXJzaXR5IG9mIElsbGlub2lzIE9wZW4g U291cmNlCisgICAgTGljZW5zZS4gU2VlIGxpY2Vuc2UudHh0IGZvciBkZXRhaWxzLiAgKi8K KworLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25z ICItLXBhcmFtIHZlY3QtZXBpbG9ndWVzLW5vbWFzaz0wIiB9ICovCisvKiB7IGRnLXJlcXVp cmUtZWZmZWN0aXZlLXRhcmdldCB2ZWN0X2Zsb2F0IH0gKi8KKworI2luY2x1ZGUgInRzdmMu aCIKKwordm9pZCBzMjQxICh2b2lkKQoreworLy8gICAgbm9kZSBzcGxpdHRpbmcKKy8vICAg IHByZWxvYWRpbmcgbmVjZXNzYXJ5IHRvIGFsbG93IHZlY3Rvcml6YXRpb24KKworCisgICAg Zm9yIChpbnQgbmwgPSAwOyBubCA8IDIqaXRlcmF0aW9uczsgbmwrKykgeworICAgICAgICBm b3IgKGludCBpID0gMDsgaSA8IExFTl8xRC0xOyBpKyspIHsKKyAgICAgICAgICAgIGFbaV0g PSBiW2ldICogY1tpICBdICogZFtpXTsKKyAgICAgICAgICAgIGJbaV0gPSBhW2ldICogYVtp KzFdICogZFtpXTsKKyAgICAgICAgfQorICAgICAgICBkdW1teShhLCBiLCBjLCBkLCBlLCBh YSwgYmIsIGNjLCAwLik7CisgICAgfQorfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK ZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMt czI0Mi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMjQy LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjM2NTNhYzFlZDIx Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3Zl Y3QtdHN2Yy1zMjQyLmMKQEAgLTAsMCArMSwyNiBAQAorLyogIFRoaXMgZmlsZSBpcyBkaXN0 cmlidXRlZCB1bmRlciB0aGUgVW5pdmVyc2l0eSBvZiBJbGxpbm9pcyBPcGVuIFNvdXJjZQor ICAgIExpY2Vuc2UuIFNlZSBsaWNlbnNlLnR4dCBmb3IgZGV0YWlscy4gICovCisKKy8qIHsg ZGctZG8gY29tcGlsZSB9ICovCisvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLS1wYXJh bSB2ZWN0LWVwaWxvZ3Vlcy1ub21hc2s9MCIgfSAqLworLyogeyBkZy1yZXF1aXJlLWVmZmVj dGl2ZS10YXJnZXQgdmVjdF9mbG9hdCB9ICovCisKKyNpbmNsdWRlICJ0c3ZjLmgiCisKK3N0 cnVjdCBhcmd7cmVhbF90IGE7cmVhbF90IGI7fTsKKwordm9pZCBzMjQyIChzdHJ1Y3QgYXJn ICp4KQoreworLy8gICAgbm9kZSBzcGxpdHRpbmcKKworICAgIHJlYWxfdCBzMSA9IHgtPmE7 CisgICAgcmVhbF90IHMyID0geC0+YjsKKworCisgICAgZm9yIChpbnQgbmwgPSAwOyBubCA8 IGl0ZXJhdGlvbnMvNTsgbmwrKykgeworICAgICAgICBmb3IgKGludCBpID0gMTsgaSA8IExF Tl8xRDsgKytpKSB7CisgICAgICAgICAgICBhW2ldID0gYVtpIC0gMV0gKyBzMSArIHMyICsg YltpXSArIGNbaV0gKyBkW2ldOworICAgICAgICB9CisgICAgICAgIGR1bW15KGEsIGIsIGMs IGQsIGUsIGFhLCBiYiwgY2MsIDAuKTsKKyAgICB9Cit9CmRpZmYgLS1naXQgYS9nY2MvdGVz dHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMyNDMuYyBiL2djYy90ZXN0c3Vp dGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczI0My5jCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5hNGFmZWZjNWZmZQotLS0gL2Rldi9udWxsCisrKyBi L2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczI0My5jCkBAIC0w LDAgKzEsMjQgQEAKKy8qICBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIFVu aXZlcnNpdHkgb2YgSWxsaW5vaXMgT3BlbiBTb3VyY2UKKyAgICBMaWNlbnNlLiBTZWUgbGlj ZW5zZS50eHQgZm9yIGRldGFpbHMuICAqLworCisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLwor LyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi0tcGFyYW0gdmVjdC1lcGlsb2d1ZXMtbm9t YXNrPTAiIH0gKi8KKy8qIHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IHZlY3RfZmxv YXQgfSAqLworCisjaW5jbHVkZSAidHN2Yy5oIgorCit2b2lkIHMyNDMgKHZvaWQpCit7Cisv LyAgICBub2RlIHNwbGl0dGluZworLy8gICAgZmFsc2UgZGVwZW5kZW5jZSBjeWNsZSBicmVh a2luZworCisKKyAgICBmb3IgKGludCBubCA9IDA7IG5sIDwgaXRlcmF0aW9uczsgbmwrKykg eworICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IExFTl8xRC0xOyBpKyspIHsKKyAgICAg ICAgICAgIGFbaV0gPSBiW2ldICsgY1tpICBdICogZFtpXTsKKyAgICAgICAgICAgIGJbaV0g PSBhW2ldICsgZFtpICBdICogZVtpXTsKKyAgICAgICAgICAgIGFbaV0gPSBiW2ldICsgYVtp KzFdICogZFtpXTsKKyAgICAgICAgfQorICAgICAgICBkdW1teShhLCBiLCBjLCBkLCBlLCBh YSwgYmIsIGNjLCAwLik7CisgICAgfQorfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK ZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMt czI0NC5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMjQ0 LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmI0YTU5MDAxYzlk Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3Zl Y3QtdHN2Yy1zMjQ0LmMKQEAgLTAsMCArMSwyNCBAQAorLyogIFRoaXMgZmlsZSBpcyBkaXN0 cmlidXRlZCB1bmRlciB0aGUgVW5pdmVyc2l0eSBvZiBJbGxpbm9pcyBPcGVuIFNvdXJjZQor ICAgIExpY2Vuc2UuIFNlZSBsaWNlbnNlLnR4dCBmb3IgZGV0YWlscy4gICovCisKKy8qIHsg ZGctZG8gY29tcGlsZSB9ICovCisvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLS1wYXJh bSB2ZWN0LWVwaWxvZ3Vlcy1ub21hc2s9MCIgfSAqLworLyogeyBkZy1yZXF1aXJlLWVmZmVj dGl2ZS10YXJnZXQgdmVjdF9mbG9hdCB9ICovCisKKyNpbmNsdWRlICJ0c3ZjLmgiCisKK3Zv aWQgczI0NCAodm9pZCkKK3sKKy8vICAgIG5vZGUgc3BsaXR0aW5nCisvLyAgICBmYWxzZSBk ZXBlbmRlbmNlIGN5Y2xlIGJyZWFraW5nCisKKworICAgIGZvciAoaW50IG5sID0gMDsgbmwg PCBpdGVyYXRpb25zOyBubCsrKSB7CisgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTEVO XzFELTE7ICsraSkgeworICAgICAgICAgICAgYVtpXSA9IGJbaV0gKyBjW2ldICogZFtpXTsK KyAgICAgICAgICAgIGJbaV0gPSBjW2ldICsgYltpXTsKKyAgICAgICAgICAgIGFbaSsxXSA9 IGJbaV0gKyBhW2krMV0gKiBkW2ldOworICAgICAgICB9CisgICAgICAgIGR1bW15KGEsIGIs IGMsIGQsIGUsIGFhLCBiYiwgY2MsIDAuKTsKKyAgICB9Cit9ClwgTm8gbmV3bGluZSBhdCBl bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3Zj L3ZlY3QtdHN2Yy1zMjUxLmMgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVj dC10c3ZjLXMyNTEuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4u ZWQ4ZGI5MTdlMDAKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92 ZWN0L3RzdmMvdmVjdC10c3ZjLXMyNTEuYwpAQCAtMCwwICsxLDI1IEBACisvKiAgVGhpcyBm aWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBVbml2ZXJzaXR5IG9mIElsbGlub2lzIE9w ZW4gU291cmNlCisgICAgTGljZW5zZS4gU2VlIGxpY2Vuc2UudHh0IGZvciBkZXRhaWxzLiAg Ki8KKworLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGctYWRkaXRpb25hbC1vcHRp b25zICItLXBhcmFtIHZlY3QtZXBpbG9ndWVzLW5vbWFzaz0wIiB9ICovCisvKiB7IGRnLXJl cXVpcmUtZWZmZWN0aXZlLXRhcmdldCB2ZWN0X2Zsb2F0IH0gKi8KKworI2luY2x1ZGUgInRz dmMuaCIKKwordm9pZCBzMjUxICh2b2lkKQoreworLy8gICAgc2NhbGFyIGFuZCBhcnJheSBl eHBhbnNpb24KKy8vICAgIHNjYWxhciBleHBhbnNpb24KKworCisgICAgcmVhbF90IHM7Cisg ICAgZm9yIChpbnQgbmwgPSAwOyBubCA8IDQqaXRlcmF0aW9uczsgbmwrKykgeworICAgICAg ICBmb3IgKGludCBpID0gMDsgaSA8IExFTl8xRDsgaSsrKSB7CisgICAgICAgICAgICBzID0g YltpXSArIGNbaV0gKiBkW2ldOworICAgICAgICAgICAgYVtpXSA9IHMgKiBzOworICAgICAg ICB9CisgICAgICAgIGR1bW15KGEsIGIsIGMsIGQsIGUsIGFhLCBiYiwgY2MsIDAuKTsKKyAg ICB9Cit9CisvKiB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtdGltZXMgInZlY3Rvcml6 ZWQgMSBsb29wcyIgMSAidmVjdCIgfSB9ICovClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls ZQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2 Yy1zMjUyLmMgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMy NTIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uOWYwZGY5OTk3 MDEKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMv dmVjdC10c3ZjLXMyNTIuYwpAQCAtMCwwICsxLDI2IEBACisvKiAgVGhpcyBmaWxlIGlzIGRp c3RyaWJ1dGVkIHVuZGVyIHRoZSBVbml2ZXJzaXR5IG9mIElsbGlub2lzIE9wZW4gU291cmNl CisgICAgTGljZW5zZS4gU2VlIGxpY2Vuc2UudHh0IGZvciBkZXRhaWxzLiAgKi8KKworLyog eyBkZy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItLXBh cmFtIHZlY3QtZXBpbG9ndWVzLW5vbWFzaz0wIiB9ICovCisvKiB7IGRnLXJlcXVpcmUtZWZm ZWN0aXZlLXRhcmdldCB2ZWN0X2Zsb2F0IH0gKi8KKworI2luY2x1ZGUgInRzdmMuaCIKKwor dm9pZCBzMjUyICh2b2lkKQoreworLy8gICAgc2NhbGFyIGFuZCBhcnJheSBleHBhbnNpb24K Ky8vICAgIGxvb3Agd2l0aCBhbWJpZ3VvdXMgc2NhbGFyIHRlbXBvcmFyeQorCisKKyAgICBy ZWFsX3QgdCwgczsKKyAgICBmb3IgKGludCBubCA9IDA7IG5sIDwgaXRlcmF0aW9uczsgbmwr KykgeworICAgICAgICB0ID0gKHJlYWxfdCkgMC47CisgICAgICAgIGZvciAoaW50IGkgPSAw OyBpIDwgTEVOXzFEOyBpKyspIHsKKyAgICAgICAgICAgIHMgPSBiW2ldICogY1tpXTsKKyAg ICAgICAgICAgIGFbaV0gPSBzICsgdDsKKyAgICAgICAgICAgIHQgPSBzOworICAgICAgICB9 CisgICAgICAgIGR1bW15KGEsIGIsIGMsIGQsIGUsIGFhLCBiYiwgY2MsIDAuKTsKKyAgICB9 Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3Rz dWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMjUzLmMgYi9nY2MvdGVzdHN1aXRl L2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMyNTMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwMDAwMC4uMzE0MTZmMDU1NzEKLS0tIC9kZXYvbnVsbAorKysgYi9n Y2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMyNTMuYwpAQCAtMCww ICsxLDI3IEBACisvKiAgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBVbml2 ZXJzaXR5IG9mIElsbGlub2lzIE9wZW4gU291cmNlCisgICAgTGljZW5zZS4gU2VlIGxpY2Vu c2UudHh0IGZvciBkZXRhaWxzLiAgKi8KKworLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy8q IHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItLXBhcmFtIHZlY3QtZXBpbG9ndWVzLW5vbWFz az0wIiB9ICovCisvKiB7IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdldCB2ZWN0X2Zsb2F0 IH0gKi8KKworI2luY2x1ZGUgInRzdmMuaCIKKwordm9pZCBzMjUzICh2b2lkKQoreworLy8g ICAgc2NhbGFyIGFuZCBhcnJheSBleHBhbnNpb24KKy8vICAgIHNjYWxhciBleHBhbnNpbyBh c3NpZ25lZCB1bmRlciBpZgorCisKKyAgICByZWFsX3QgczsKKyAgICBmb3IgKGludCBubCA9 IDA7IG5sIDwgaXRlcmF0aW9uczsgbmwrKykgeworICAgICAgICBmb3IgKGludCBpID0gMDsg aSA8IExFTl8xRDsgaSsrKSB7CisgICAgICAgICAgICBpZiAoYVtpXSA+IGJbaV0pIHsKKyAg ICAgICAgICAgICAgICBzID0gYVtpXSAtIGJbaV0gKiBkW2ldOworICAgICAgICAgICAgICAg IGNbaV0gKz0gczsKKyAgICAgICAgICAgICAgICBhW2ldID0gczsKKyAgICAgICAgICAgIH0K KyAgICAgICAgfQorICAgICAgICBkdW1teShhLCBiLCBjLCBkLCBlLCBhYSwgYmIsIGNjLCAw Lik7CisgICAgfQorfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh L2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczI1NC5jIGIvZ2Nj L3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMjU0LmMKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmQzODA2M2U3ZjEyCi0tLSAvZGV2L251 bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMjU0 LmMKQEAgLTAsMCArMSwyNSBAQAorLyogIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRl ciB0aGUgVW5pdmVyc2l0eSBvZiBJbGxpbm9pcyBPcGVuIFNvdXJjZQorICAgIExpY2Vuc2Uu IFNlZSBsaWNlbnNlLnR4dCBmb3IgZGV0YWlscy4gICovCisKKy8qIHsgZGctZG8gY29tcGls ZSB9ICovCisvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLS1wYXJhbSB2ZWN0LWVwaWxv Z3Vlcy1ub21hc2s9MCIgfSAqLworLyogeyBkZy1yZXF1aXJlLWVmZmVjdGl2ZS10YXJnZXQg dmVjdF9mbG9hdCB9ICovCisKKyNpbmNsdWRlICJ0c3ZjLmgiCisKK3ZvaWQgczI1NCAodm9p ZCkKK3sKKy8vICAgIHNjYWxhciBhbmQgYXJyYXkgZXhwYW5zaW9uCisvLyAgICBjYXJyeSBh cm91bmQgdmFyaWFibGUKKworCisgICAgcmVhbF90IHg7CisgICAgZm9yIChpbnQgbmwgPSAw OyBubCA8IDQqaXRlcmF0aW9uczsgbmwrKykgeworICAgICAgICB4ID0gYltMRU5fMUQtMV07 CisgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTEVOXzFEOyBpKyspIHsKKyAgICAgICAg ICAgIGFbaV0gPSAoYltpXSArIHgpICogKHJlYWxfdCkuNTsKKyAgICAgICAgICAgIHggPSBi W2ldOworICAgICAgICB9CisgICAgICAgIGR1bW15KGEsIGIsIGMsIGQsIGUsIGFhLCBiYiwg Y2MsIDAuKTsKKyAgICB9Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t Z2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMjU1LmMg Yi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMyNTUuYwpuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMDc2MmViMjAyYTIKLS0tIC9k ZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3Zj LXMyNTUuYwpAQCAtMCwwICsxLDI3IEBACisvKiAgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVk IHVuZGVyIHRoZSBVbml2ZXJzaXR5IG9mIElsbGlub2lzIE9wZW4gU291cmNlCisgICAgTGlj ZW5zZS4gU2VlIGxpY2Vuc2UudHh0IGZvciBkZXRhaWxzLiAgKi8KKworLyogeyBkZy1kbyBj b21waWxlIH0gKi8KKy8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItLXBhcmFtIHZlY3Qt ZXBpbG9ndWVzLW5vbWFzaz0wIiB9ICovCisvKiB7IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRh cmdldCB2ZWN0X2Zsb2F0IH0gKi8KKworI2luY2x1ZGUgInRzdmMuaCIKKwordm9pZCBzMjU1 ICh2b2lkKQoreworLy8gICAgc2NhbGFyIGFuZCBhcnJheSBleHBhbnNpb24KKy8vICAgIGNh cnJ5IGFyb3VuZCB2YXJpYWJsZXMsIDIgbGV2ZWxzCisKKworICAgIHJlYWxfdCB4LCB5Owor ICAgIGZvciAoaW50IG5sID0gMDsgbmwgPCBpdGVyYXRpb25zOyBubCsrKSB7CisgICAgICAg IHggPSBiW0xFTl8xRC0xXTsKKyAgICAgICAgeSA9IGJbTEVOXzFELTJdOworICAgICAgICBm b3IgKGludCBpID0gMDsgaSA8IExFTl8xRDsgaSsrKSB7CisgICAgICAgICAgICBhW2ldID0g KGJbaV0gKyB4ICsgeSkgKiAocmVhbF90KS4zMzM7CisgICAgICAgICAgICB5ID0geDsKKyAg ICAgICAgICAgIHggPSBiW2ldOworICAgICAgICB9CisgICAgICAgIGR1bW15KGEsIGIsIGMs IGQsIGUsIGFhLCBiYiwgY2MsIDAuKTsKKyAgICB9Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQg b2YgZmlsZQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3Zl Y3QtdHN2Yy1zMjU2LmMgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10 c3ZjLXMyNTYuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uOTU0 MzZlNzliZDQKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0 L3RzdmMvdmVjdC10c3ZjLXMyNTYuYwpAQCAtMCwwICsxLDI1IEBACisvKiAgVGhpcyBmaWxl IGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBVbml2ZXJzaXR5IG9mIElsbGlub2lzIE9wZW4g U291cmNlCisgICAgTGljZW5zZS4gU2VlIGxpY2Vuc2UudHh0IGZvciBkZXRhaWxzLiAgKi8K KworLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25z ICItLXBhcmFtIHZlY3QtZXBpbG9ndWVzLW5vbWFzaz0wIiB9ICovCisvKiB7IGRnLXJlcXVp cmUtZWZmZWN0aXZlLXRhcmdldCB2ZWN0X2Zsb2F0IH0gKi8KKworI2luY2x1ZGUgInRzdmMu aCIKKwordm9pZCBzMjU2ICh2b2lkKQoreworLy8gICAgc2NhbGFyIGFuZCBhcnJheSBleHBh bnNpb24KKy8vICAgIGFycmF5IGV4cGFuc2lvbgorCisKKyAgICBmb3IgKGludCBubCA9IDA7 IG5sIDwgMTAqKGl0ZXJhdGlvbnMvTEVOXzJEKTsgbmwrKykgeworICAgICAgICBmb3IgKGlu dCBpID0gMDsgaSA8IExFTl8yRDsgaSsrKSB7CisgICAgICAgICAgICBmb3IgKGludCBqID0g MTsgaiA8IExFTl8yRDsgaisrKSB7CisgICAgICAgICAgICAgICAgYVtqXSA9IChyZWFsX3Qp MS4wIC0gYVtqIC0gMV07CisgICAgICAgICAgICAgICAgYWFbal1baV0gPSBhW2pdICsgYmJb al1baV0qZFtqXTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBkdW1teShh LCBiLCBjLCBkLCBlLCBhYSwgYmIsIGNjLCAwLik7CisgICAgfQorfQpcIE5vIG5ld2xpbmUg YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3Qv dHN2Yy92ZWN0LXRzdmMtczI1Ny5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3Zj L3ZlY3QtdHN2Yy1zMjU3LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw MDAuLmM3OTRiNzY4MWU3Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2Mu ZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMjU3LmMKQEAgLTAsMCArMSwyNSBAQAorLyogIFRo aXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgVW5pdmVyc2l0eSBvZiBJbGxpbm9p cyBPcGVuIFNvdXJjZQorICAgIExpY2Vuc2UuIFNlZSBsaWNlbnNlLnR4dCBmb3IgZGV0YWls cy4gICovCisKKy8qIHsgZGctZG8gY29tcGlsZSB9ICovCisvKiB7IGRnLWFkZGl0aW9uYWwt b3B0aW9ucyAiLS1wYXJhbSB2ZWN0LWVwaWxvZ3Vlcy1ub21hc2s9MCIgfSAqLworLyogeyBk Zy1yZXF1aXJlLWVmZmVjdGl2ZS10YXJnZXQgdmVjdF9mbG9hdCB9ICovCisKKyNpbmNsdWRl ICJ0c3ZjLmgiCisKK3ZvaWQgczI1NyAodm9pZCkKK3sKKy8vICAgIHNjYWxhciBhbmQgYXJy YXkgZXhwYW5zaW9uCisvLyAgICBhcnJheSBleHBhbnNpb24KKworCisgICAgZm9yIChpbnQg bmwgPSAwOyBubCA8IDEwKihpdGVyYXRpb25zL0xFTl8yRCk7IG5sKyspIHsKKyAgICAgICAg Zm9yIChpbnQgaSA9IDE7IGkgPCBMRU5fMkQ7IGkrKykgeworICAgICAgICAgICAgZm9yIChp bnQgaiA9IDA7IGogPCBMRU5fMkQ7IGorKykgeworICAgICAgICAgICAgICAgIGFbaV0gPSBh YVtqXVtpXSAtIGFbaS0xXTsKKyAgICAgICAgICAgICAgICBhYVtqXVtpXSA9IGFbaV0gKyBi YltqXVtpXTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBkdW1teShhLCBi LCBjLCBkLCBlLCBhYSwgYmIsIGNjLCAwLik7CisgICAgfQorfQpcIE5vIG5ld2xpbmUgYXQg ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2 Yy92ZWN0LXRzdmMtczI1OC5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3Zl Y3QtdHN2Yy1zMjU4LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAu LjVkNjk4M2IzODExCi0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcv dmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMjU4LmMKQEAgLTAsMCArMSwyOCBAQAorLyogIFRoaXMg ZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgVW5pdmVyc2l0eSBvZiBJbGxpbm9pcyBP cGVuIFNvdXJjZQorICAgIExpY2Vuc2UuIFNlZSBsaWNlbnNlLnR4dCBmb3IgZGV0YWlscy4g ICovCisKKy8qIHsgZGctZG8gY29tcGlsZSB9ICovCisvKiB7IGRnLWFkZGl0aW9uYWwtb3B0 aW9ucyAiLS1wYXJhbSB2ZWN0LWVwaWxvZ3Vlcy1ub21hc2s9MCIgfSAqLworLyogeyBkZy1y ZXF1aXJlLWVmZmVjdGl2ZS10YXJnZXQgdmVjdF9mbG9hdCB9ICovCisKKyNpbmNsdWRlICJ0 c3ZjLmgiCisKK3ZvaWQgczI1OCAodm9pZCkKK3sKKy8vICAgIHNjYWxhciBhbmQgYXJyYXkg ZXhwYW5zaW9uCisvLyAgICB3cmFwLWFyb3VuZCBzY2FsYXIgdW5kZXIgYW4gaWYKKworCisg ICAgcmVhbF90IHM7CisgICAgZm9yIChpbnQgbmwgPSAwOyBubCA8IGl0ZXJhdGlvbnM7IG5s KyspIHsKKyAgICAgICAgcyA9IDAuOworICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IExF Tl8yRDsgKytpKSB7CisgICAgICAgICAgICBpZiAoYVtpXSA+IDAuKSB7CisgICAgICAgICAg ICAgICAgcyA9IGRbaV0gKiBkW2ldOworICAgICAgICAgICAgfQorICAgICAgICAgICAgYltp XSA9IHMgKiBjW2ldICsgZFtpXTsKKyAgICAgICAgICAgIGVbaV0gPSAocyArIChyZWFsX3Qp MS4pICogYWFbMF1baV07CisgICAgICAgIH0KKyAgICAgICAgZHVtbXkoYSwgYiwgYywgZCwg ZSwgYWEsIGJiLCBjYywgMC4pOworICAgIH0KK30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm aWxlCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10 c3ZjLXMyNjEuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMt czI2MS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4wYWQ2MzI4 YzcwYQotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2 Yy92ZWN0LXRzdmMtczI2MS5jCkBAIC0wLDAgKzEsMjYgQEAKKy8qICBUaGlzIGZpbGUgaXMg ZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIFVuaXZlcnNpdHkgb2YgSWxsaW5vaXMgT3BlbiBTb3Vy Y2UKKyAgICBMaWNlbnNlLiBTZWUgbGljZW5zZS50eHQgZm9yIGRldGFpbHMuICAqLworCisv KiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi0t cGFyYW0gdmVjdC1lcGlsb2d1ZXMtbm9tYXNrPTAiIH0gKi8KKy8qIHsgZGctcmVxdWlyZS1l ZmZlY3RpdmUtdGFyZ2V0IHZlY3RfZmxvYXQgfSAqLworCisjaW5jbHVkZSAidHN2Yy5oIgor Cit2b2lkIHMyNjEgKHZvaWQpCit7CisvLyAgICBzY2FsYXIgYW5kIGFycmF5IGV4cGFuc2lv bgorLy8gICAgd3JhcC1hcm91bmQgc2NhbGFyIHVuZGVyIGFuIGlmCisKKworICAgIHJlYWxf dCB0OworICAgIGZvciAoaW50IG5sID0gMDsgbmwgPCBpdGVyYXRpb25zOyBubCsrKSB7Cisg ICAgICAgIGZvciAoaW50IGkgPSAxOyBpIDwgTEVOXzFEOyArK2kpIHsKKyAgICAgICAgICAg IHQgPSBhW2ldICsgYltpXTsKKyAgICAgICAgICAgIGFbaV0gPSB0ICsgY1tpLTFdOworICAg ICAgICAgICAgdCA9IGNbaV0gKiBkW2ldOworICAgICAgICAgICAgY1tpXSA9IHQ7CisgICAg ICAgIH0KKyAgICAgICAgZHVtbXkoYSwgYiwgYywgZCwgZSwgYWEsIGJiLCBjYywgMC4pOwor ICAgIH0KK30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9nY2Mv dGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMyNzEuYyBiL2djYy90ZXN0 c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczI3MS5jCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5mYzY4NWNjNzliMQotLS0gL2Rldi9udWxsCisr KyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczI3MS5jCkBA IC0wLDAgKzEsMjQgQEAKKy8qICBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhl IFVuaXZlcnNpdHkgb2YgSWxsaW5vaXMgT3BlbiBTb3VyY2UKKyAgICBMaWNlbnNlLiBTZWUg bGljZW5zZS50eHQgZm9yIGRldGFpbHMuICAqLworCisvKiB7IGRnLWRvIGNvbXBpbGUgfSAq LworLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi0tcGFyYW0gdmVjdC1lcGlsb2d1ZXMt bm9tYXNrPTAiIH0gKi8KKy8qIHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IHZlY3Rf ZmxvYXQgfSAqLworCisjaW5jbHVkZSAidHN2Yy5oIgorCit2b2lkIHMyNzEgKHZvaWQpCit7 CisvLyAgICBjb250cm9sIGZsb3cKKy8vICAgIGxvb3Agd2l0aCBzaW5ndWxhcml0eSBoYW5k bGluZworCisKKyAgICBmb3IgKGludCBubCA9IDA7IG5sIDwgNCppdGVyYXRpb25zOyBubCsr KSB7CisgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTEVOXzFEOyBpKyspIHsKKyAgICAg ICAgICAgIGlmIChiW2ldID4gKHJlYWxfdCkwLikgeworICAgICAgICAgICAgICAgIGFbaV0g Kz0gYltpXSAqIGNbaV07CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgZHVt bXkoYSwgYiwgYywgZCwgZSwgYWEsIGJiLCBjYywgMC4pOworICAgIH0KK30KXCBObyBuZXds aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5kZy92 ZWN0L3RzdmMvdmVjdC10c3ZjLXMyNzEwLmMgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0 L3RzdmMvdmVjdC10c3ZjLXMyNzEwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMDAwMDAuLjY2NDQyN2NjY2Q5Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0 ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMjcxMC5jCkBAIC0wLDAgKzEsMzUgQEAK Ky8qICBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIFVuaXZlcnNpdHkgb2Yg SWxsaW5vaXMgT3BlbiBTb3VyY2UKKyAgICBMaWNlbnNlLiBTZWUgbGljZW5zZS50eHQgZm9y IGRldGFpbHMuICAqLworCisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1hZGRp dGlvbmFsLW9wdGlvbnMgIi0tcGFyYW0gdmVjdC1lcGlsb2d1ZXMtbm9tYXNrPTAiIH0gKi8K Ky8qIHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IHZlY3RfZmxvYXQgfSAqLworCisj aW5jbHVkZSAidHN2Yy5oIgorCit2b2lkIHMyNzEwIChpbnQgeCkKK3sKKy8vICAgIGNvbnRy b2wgZmxvdworLy8gICAgc2NhbGFyIGFuZCB2ZWN0b3IgaWZzCisKKyAgICBmb3IgKGludCBu bCA9IDA7IG5sIDwgaXRlcmF0aW9ucy8yOyBubCsrKSB7CisgICAgICAgIGZvciAoaW50IGkg PSAwOyBpIDwgTEVOXzFEOyBpKyspIHsKKyAgICAgICAgICAgIGlmIChhW2ldID4gYltpXSkg eworICAgICAgICAgICAgICAgIGFbaV0gKz0gYltpXSAqIGRbaV07CisgICAgICAgICAgICAg ICAgaWYgKExFTl8xRCA+IDEwKSB7CisgICAgICAgICAgICAgICAgICAgIGNbaV0gKz0gZFtp XSAqIGRbaV07CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAg ICAgY1tpXSA9IGRbaV0gKiBlW2ldICsgKHJlYWxfdCkxLjsKKyAgICAgICAgICAgICAgICB9 CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIGJbaV0gPSBhW2ldICsg ZVtpXSAqIGVbaV07CisgICAgICAgICAgICAgICAgaWYgKHggPiAocmVhbF90KTAuKSB7Cisg ICAgICAgICAgICAgICAgICAgIGNbaV0gPSBhW2ldICsgZFtpXSAqIGRbaV07CisgICAgICAg ICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgY1tpXSArPSBlW2ldICog ZVtpXTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAg ICAgICAgZHVtbXkoYSwgYiwgYywgZCwgZSwgYWEsIGJiLCBjYywgMC4pOworICAgIH0KK30K ZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMt czI3MTEuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczI3 MTEuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uYTE2YTZlNGRh ZTkKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMv dmVjdC10c3ZjLXMyNzExLmMKQEAgLTAsMCArMSwyNCBAQAorLyogIFRoaXMgZmlsZSBpcyBk aXN0cmlidXRlZCB1bmRlciB0aGUgVW5pdmVyc2l0eSBvZiBJbGxpbm9pcyBPcGVuIFNvdXJj ZQorICAgIExpY2Vuc2UuIFNlZSBsaWNlbnNlLnR4dCBmb3IgZGV0YWlscy4gICovCisKKy8q IHsgZGctZG8gY29tcGlsZSB9ICovCisvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLS1w YXJhbSB2ZWN0LWVwaWxvZ3Vlcy1ub21hc2s9MCIgfSAqLworLyogeyBkZy1yZXF1aXJlLWVm ZmVjdGl2ZS10YXJnZXQgdmVjdF9mbG9hdCB9ICovCisKKyNpbmNsdWRlICJ0c3ZjLmgiCisK K3ZvaWQgczI3MTEgKHZvaWQpCit7CisvLyAgICBjb250cm9sIGZsb3cKKy8vICAgIHNlbWFu dGljIGlmIHJlbW92YWwKKworCisgICAgZm9yIChpbnQgbmwgPSAwOyBubCA8IDQqaXRlcmF0 aW9uczsgbmwrKykgeworICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IExFTl8xRDsgaSsr KSB7CisgICAgICAgICAgICBpZiAoYltpXSAhPSAocmVhbF90KTAuMCkgeworICAgICAgICAg ICAgICAgIGFbaV0gKz0gYltpXSAqIGNbaV07CisgICAgICAgICAgICB9CisgICAgICAgIH0K KyAgICAgICAgZHVtbXkoYSwgYiwgYywgZCwgZSwgYWEsIGJiLCBjYywgMC4pOworICAgIH0K K30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1 aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMyNzEyLmMgYi9nY2MvdGVzdHN1aXRl L2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMyNzEyLmMKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMDAwMDAuLjEzOGIxZTljYTViCi0tLSAvZGV2L251bGwKKysrIGIv Z2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMjcxMi5jCkBAIC0w LDAgKzEsMjQgQEAKKy8qICBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIFVu aXZlcnNpdHkgb2YgSWxsaW5vaXMgT3BlbiBTb3VyY2UKKyAgICBMaWNlbnNlLiBTZWUgbGlj ZW5zZS50eHQgZm9yIGRldGFpbHMuICAqLworCisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLwor LyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi0tcGFyYW0gdmVjdC1lcGlsb2d1ZXMtbm9t YXNrPTAiIH0gKi8KKy8qIHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IHZlY3RfZmxv YXQgfSAqLworCisjaW5jbHVkZSAidHN2Yy5oIgorCit2b2lkIHMyNzEyICh2b2lkKQorewor Ly8gICAgY29udHJvbCBmbG93CisvLyAgICBpZiB0byBlbGVtZW50YWwgbWluCisKKworICAg IGZvciAoaW50IG5sID0gMDsgbmwgPCA0Kml0ZXJhdGlvbnM7IG5sKyspIHsKKyAgICAgICAg Zm9yIChpbnQgaSA9IDA7IGkgPCBMRU5fMUQ7IGkrKykgeworICAgICAgICAgICAgaWYgKGFb aV0gPiBiW2ldKSB7CisgICAgICAgICAgICAgICAgYVtpXSArPSBiW2ldICogY1tpXTsKKyAg ICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBkdW1teShhLCBiLCBjLCBkLCBlLCBh YSwgYmIsIGNjLCAwLik7CisgICAgfQorfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK ZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMt czI3Mi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMjcy LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjE5ZDNlODA2NmRh Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3Zl Y3QtdHN2Yy1zMjcyLmMKQEAgLTAsMCArMSwyNCBAQAorLyogIFRoaXMgZmlsZSBpcyBkaXN0 cmlidXRlZCB1bmRlciB0aGUgVW5pdmVyc2l0eSBvZiBJbGxpbm9pcyBPcGVuIFNvdXJjZQor ICAgIExpY2Vuc2UuIFNlZSBsaWNlbnNlLnR4dCBmb3IgZGV0YWlscy4gICovCisKKy8qIHsg ZGctZG8gY29tcGlsZSB9ICovCisvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLS1wYXJh bSB2ZWN0LWVwaWxvZ3Vlcy1ub21hc2s9MCIgfSAqLworLyogeyBkZy1yZXF1aXJlLWVmZmVj dGl2ZS10YXJnZXQgdmVjdF9mbG9hdCB9ICovCisKKyNpbmNsdWRlICJ0c3ZjLmgiCisKK3Zv aWQgczI3MiAoaW50IHQpCit7CisvLyAgICBjb250cm9sIGZsb3cKKy8vICAgIGxvb3Agd2l0 aCBpbmRlcGVuZGVudCBjb25kaXRpb25hbAorCisgICAgZm9yIChpbnQgbmwgPSAwOyBubCA8 IGl0ZXJhdGlvbnM7IG5sKyspIHsKKyAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBMRU5f MUQ7IGkrKykgeworICAgICAgICAgICAgaWYgKGVbaV0gPj0gdCkgeworICAgICAgICAgICAg ICAgIGFbaV0gKz0gY1tpXSAqIGRbaV07CisgICAgICAgICAgICAgICAgYltpXSArPSBjW2ld ICogY1tpXTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBkdW1teShhLCBi LCBjLCBkLCBlLCBhYSwgYmIsIGNjLCAwLik7CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvZ2Nj L3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMjczLmMgYi9nY2MvdGVz dHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMyNzMuYwpuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNzc1NzYyMDgxMGYKLS0tIC9kZXYvbnVsbAor KysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMyNzMuYwpA QCAtMCwwICsxLDI1IEBACisvKiAgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRo ZSBVbml2ZXJzaXR5IG9mIElsbGlub2lzIE9wZW4gU291cmNlCisgICAgTGljZW5zZS4gU2Vl IGxpY2Vuc2UudHh0IGZvciBkZXRhaWxzLiAgKi8KKworLyogeyBkZy1kbyBjb21waWxlIH0g Ki8KKy8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItLXBhcmFtIHZlY3QtZXBpbG9ndWVz LW5vbWFzaz0wIiB9ICovCisvKiB7IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdldCB2ZWN0 X2Zsb2F0IH0gKi8KKworI2luY2x1ZGUgInRzdmMuaCIKKwordm9pZCBzMjczICh2b2lkKQor eworLy8gICAgY29udHJvbCBmbG93CisvLyAgICBzaW1wbGUgbG9vcCB3aXRoIGRlcGVuZGVu dCBjb25kaXRpb25hbAorCisKKyAgICBmb3IgKGludCBubCA9IDA7IG5sIDwgaXRlcmF0aW9u czsgbmwrKykgeworICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IExFTl8xRDsgaSsrKSB7 CisgICAgICAgICAgICBhW2ldICs9IGRbaV0gKiBlW2ldOworICAgICAgICAgICAgaWYgKGFb aV0gPCAocmVhbF90KTAuKQorICAgICAgICAgICAgICAgIGJbaV0gKz0gZFtpXSAqIGVbaV07 CisgICAgICAgICAgICBjW2ldICs9IGFbaV0gKiBkW2ldOworICAgICAgICB9CisgICAgICAg IGR1bW15KGEsIGIsIGMsIGQsIGUsIGFhLCBiYiwgY2MsIDAuKTsKKyAgICB9Cit9ClwgTm8g bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2Mu ZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMjc0LmMgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92 ZWN0L3RzdmMvdmVjdC10c3ZjLXMyNzQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAwMC4uOTg5MzQ5YjkxNmIKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1 aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMyNzQuYwpAQCAtMCwwICsxLDI3IEBA CisvKiAgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBVbml2ZXJzaXR5IG9m IElsbGlub2lzIE9wZW4gU291cmNlCisgICAgTGljZW5zZS4gU2VlIGxpY2Vuc2UudHh0IGZv ciBkZXRhaWxzLiAgKi8KKworLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGctYWRk aXRpb25hbC1vcHRpb25zICItLXBhcmFtIHZlY3QtZXBpbG9ndWVzLW5vbWFzaz0wIiB9ICov CisvKiB7IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdldCB2ZWN0X2Zsb2F0IH0gKi8KKwor I2luY2x1ZGUgInRzdmMuaCIKKwordm9pZCBzMjc0ICh2b2lkKQoreworLy8gICAgY29udHJv bCBmbG93CisvLyAgICBjb21wbGV4IGxvb3Agd2l0aCBkZXBlbmRlbnQgY29uZGl0aW9uYWwK KworCisgICAgZm9yIChpbnQgbmwgPSAwOyBubCA8IGl0ZXJhdGlvbnM7IG5sKyspIHsKKyAg ICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBMRU5fMUQ7IGkrKykgeworICAgICAgICAgICAg YVtpXSA9IGNbaV0gKyBlW2ldICogZFtpXTsKKyAgICAgICAgICAgIGlmIChhW2ldID4gKHJl YWxfdCkwLikgeworICAgICAgICAgICAgICAgIGJbaV0gPSBhW2ldICsgYltpXTsKKyAgICAg ICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgYVtpXSA9IGRbaV0gKiBlW2ldOwor ICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIGR1bW15KGEsIGIsIGMsIGQsIGUs IGFhLCBiYiwgY2MsIDAuKTsKKyAgICB9Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls ZQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2 Yy1zMjc1LmMgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMy NzUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uOGMyNDdmZTRl MzQKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMv dmVjdC10c3ZjLXMyNzUuYwpAQCAtMCwwICsxLDI2IEBACisvKiAgVGhpcyBmaWxlIGlzIGRp c3RyaWJ1dGVkIHVuZGVyIHRoZSBVbml2ZXJzaXR5IG9mIElsbGlub2lzIE9wZW4gU291cmNl CisgICAgTGljZW5zZS4gU2VlIGxpY2Vuc2UudHh0IGZvciBkZXRhaWxzLiAgKi8KKworLyog eyBkZy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItLXBh cmFtIHZlY3QtZXBpbG9ndWVzLW5vbWFzaz0wIiB9ICovCisvKiB7IGRnLXJlcXVpcmUtZWZm ZWN0aXZlLXRhcmdldCB2ZWN0X2Zsb2F0IH0gKi8KKworI2luY2x1ZGUgInRzdmMuaCIKKwor dm9pZCBzMjc1ICh2b2lkKQoreworLy8gICAgY29udHJvbCBmbG93CisvLyAgICBpZiBhcm91 bmQgaW5uZXIgbG9vcCwgaW50ZXJjaGFuZ2luZyBuZWVkZWQKKworCisgICAgZm9yIChpbnQg bmwgPSAwOyBubCA8IDEwKihpdGVyYXRpb25zL0xFTl8yRCk7IG5sKyspIHsKKyAgICAgICAg Zm9yIChpbnQgaSA9IDA7IGkgPCBMRU5fMkQ7IGkrKykgeworICAgICAgICAgICAgaWYgKGFh WzBdW2ldID4gKHJlYWxfdCkwLikgeworICAgICAgICAgICAgICAgIGZvciAoaW50IGogPSAx OyBqIDwgTEVOXzJEOyBqKyspIHsKKyAgICAgICAgICAgICAgICAgICAgYWFbal1baV0gPSBh YVtqLTFdW2ldICsgYmJbal1baV0gKiBjY1tqXVtpXTsKKyAgICAgICAgICAgICAgICB9Cisg ICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgZHVtbXkoYSwgYiwgYywgZCwgZSwg YWEsIGJiLCBjYywgMC4pOworICAgIH0KK30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl CmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3Zj LXMyNzYuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczI3 Ni5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5mZmE5ZDM1NjEx NQotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92 ZWN0LXRzdmMtczI3Ni5jCkBAIC0wLDAgKzEsMjcgQEAKKy8qICBUaGlzIGZpbGUgaXMgZGlz dHJpYnV0ZWQgdW5kZXIgdGhlIFVuaXZlcnNpdHkgb2YgSWxsaW5vaXMgT3BlbiBTb3VyY2UK KyAgICBMaWNlbnNlLiBTZWUgbGljZW5zZS50eHQgZm9yIGRldGFpbHMuICAqLworCisvKiB7 IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi0tcGFy YW0gdmVjdC1lcGlsb2d1ZXMtbm9tYXNrPTAiIH0gKi8KKy8qIHsgZGctcmVxdWlyZS1lZmZl Y3RpdmUtdGFyZ2V0IHZlY3RfZmxvYXQgfSAqLworCisjaW5jbHVkZSAidHN2Yy5oIgorCit2 b2lkIHMyNzYgKHZvaWQpCit7CisvLyAgICBjb250cm9sIGZsb3cKKy8vICAgIGlmIHRlc3Qg dXNpbmcgbG9vcCBpbmRleAorCisKKyAgICBpbnQgbWlkID0gKExFTl8xRC8yKTsKKyAgICBm b3IgKGludCBubCA9IDA7IG5sIDwgNCppdGVyYXRpb25zOyBubCsrKSB7CisgICAgICAgIGZv ciAoaW50IGkgPSAwOyBpIDwgTEVOXzFEOyBpKyspIHsKKyAgICAgICAgICAgIGlmIChpKzEg PCBtaWQpIHsKKyAgICAgICAgICAgICAgICBhW2ldICs9IGJbaV0gKiBjW2ldOworICAgICAg ICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBhW2ldICs9IGJbaV0gKiBkW2ldOwor ICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIGR1bW15KGEsIGIsIGMsIGQsIGUs IGFhLCBiYiwgY2MsIDAuKTsKKyAgICB9Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls ZQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2 Yy1zMjc3LmMgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMy NzcuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMDI3NTZjOWY5 N2MKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMv dmVjdC10c3ZjLXMyNzcuYwpAQCAtMCwwICsxLDMyIEBACisvKiAgVGhpcyBmaWxlIGlzIGRp c3RyaWJ1dGVkIHVuZGVyIHRoZSBVbml2ZXJzaXR5IG9mIElsbGlub2lzIE9wZW4gU291cmNl CisgICAgTGljZW5zZS4gU2VlIGxpY2Vuc2UudHh0IGZvciBkZXRhaWxzLiAgKi8KKworLyog eyBkZy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItLXBh cmFtIHZlY3QtZXBpbG9ndWVzLW5vbWFzaz0wIiB9ICovCisvKiB7IGRnLXJlcXVpcmUtZWZm ZWN0aXZlLXRhcmdldCB2ZWN0X2Zsb2F0IH0gKi8KKworI2luY2x1ZGUgInRzdmMuaCIKKwor dm9pZCBzMjc3ICh2b2lkKQoreworLy8gICAgY29udHJvbCBmbG93CisvLyAgICB0ZXN0IGZv ciBkZXBlbmRlbmNlcyBhcmlzaW5nIGZyb20gZ3VhcmQgdmFyaWFibGUgY29tcHV0YXRpb24u CisKKworICAgIGZvciAoaW50IG5sID0gMDsgbmwgPCBpdGVyYXRpb25zOyBubCsrKSB7Cisg ICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTEVOXzFELTE7IGkrKykgeworICAgICAgICAg ICAgICAgIGlmIChhW2ldID49IChyZWFsX3QpMC4pIHsKKyAgICAgICAgICAgICAgICAgICAg Z290byBMMjA7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGlmIChiW2ld ID49IChyZWFsX3QpMC4pIHsKKyAgICAgICAgICAgICAgICAgICAgZ290byBMMzA7CisgICAg ICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGFbaV0gKz0gY1tpXSAqIGRbaV07CitM MzA6CisgICAgICAgICAgICAgICAgYltpKzFdID0gY1tpXSArIGRbaV0gKiBlW2ldOworTDIw OgorOworICAgICAgICB9CisgICAgICAgIGR1bW15KGEsIGIsIGMsIGQsIGUsIGFhLCBiYiwg Y2MsIDAuKTsKKyAgICB9Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t Z2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMjc4LmMg Yi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMyNzguYwpuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uOTUyN2UzYThjYmMKLS0tIC9k ZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3Zj LXMyNzguYwpAQCAtMCwwICsxLDMwIEBACisvKiAgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVk IHVuZGVyIHRoZSBVbml2ZXJzaXR5IG9mIElsbGlub2lzIE9wZW4gU291cmNlCisgICAgTGlj ZW5zZS4gU2VlIGxpY2Vuc2UudHh0IGZvciBkZXRhaWxzLiAgKi8KKworLyogeyBkZy1kbyBj b21waWxlIH0gKi8KKy8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItLXBhcmFtIHZlY3Qt ZXBpbG9ndWVzLW5vbWFzaz0wIiB9ICovCisvKiB7IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRh cmdldCB2ZWN0X2Zsb2F0IH0gKi8KKworI2luY2x1ZGUgInRzdmMuaCIKKwordm9pZCBzMjc4 ICh2b2lkKQoreworLy8gICAgY29udHJvbCBmbG93CisvLyAgICBpZi9nb3RvIHRvIGJsb2Nr IGlmLXRoZW4tZWxzZQorCisKKyAgICBmb3IgKGludCBubCA9IDA7IG5sIDwgaXRlcmF0aW9u czsgbmwrKykgeworICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IExFTl8xRDsgaSsrKSB7 CisgICAgICAgICAgICBpZiAoYVtpXSA+IChyZWFsX3QpMC4pIHsKKyAgICAgICAgICAgICAg ICBnb3RvIEwyMDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJbaV0gPSAtYltpXSAr IGRbaV0gKiBlW2ldOworICAgICAgICAgICAgZ290byBMMzA7CitMMjA6CisgICAgICAgICAg ICBjW2ldID0gLWNbaV0gKyBkW2ldICogZVtpXTsKK0wzMDoKKyAgICAgICAgICAgIGFbaV0g PSBiW2ldICsgY1tpXSAqIGRbaV07CisgICAgICAgIH0KKyAgICAgICAgZHVtbXkoYSwgYiwg YywgZCwgZSwgYWEsIGJiLCBjYywgMC4pOworICAgIH0KK30KXCBObyBuZXdsaW5lIGF0IGVu ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMv dmVjdC10c3ZjLXMyNzkuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0 LXRzdmMtczI3OS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5m YjI1MjUyZTUxZgotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3Zl Y3QvdHN2Yy92ZWN0LXRzdmMtczI3OS5jCkBAIC0wLDAgKzEsMzQgQEAKKy8qICBUaGlzIGZp bGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIFVuaXZlcnNpdHkgb2YgSWxsaW5vaXMgT3Bl biBTb3VyY2UKKyAgICBMaWNlbnNlLiBTZWUgbGljZW5zZS50eHQgZm9yIGRldGFpbHMuICAq LworCisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlv bnMgIi0tcGFyYW0gdmVjdC1lcGlsb2d1ZXMtbm9tYXNrPTAiIH0gKi8KKy8qIHsgZGctcmVx dWlyZS1lZmZlY3RpdmUtdGFyZ2V0IHZlY3RfZmxvYXQgfSAqLworCisjaW5jbHVkZSAidHN2 Yy5oIgorCit2b2lkIHMyNzkgKHZvaWQpCit7CisvLyAgICBjb250cm9sIGZsb3cKKy8vICAg IHZlY3RvciBpZi9nb3RvcworCisKKyAgICBmb3IgKGludCBubCA9IDA7IG5sIDwgaXRlcmF0 aW9ucy8yOyBubCsrKSB7CisgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTEVOXzFEOyBp KyspIHsKKyAgICAgICAgICAgIGlmIChhW2ldID4gKHJlYWxfdCkwLikgeworICAgICAgICAg ICAgICAgIGdvdG8gTDIwOworICAgICAgICAgICAgfQorICAgICAgICAgICAgYltpXSA9IC1i W2ldICsgZFtpXSAqIGRbaV07CisgICAgICAgICAgICBpZiAoYltpXSA8PSBhW2ldKSB7Cisg ICAgICAgICAgICAgICAgZ290byBMMzA7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBj W2ldICs9IGRbaV0gKiBlW2ldOworICAgICAgICAgICAgZ290byBMMzA7CitMMjA6CisgICAg ICAgICAgICBjW2ldID0gLWNbaV0gKyBlW2ldICogZVtpXTsKK0wzMDoKKyAgICAgICAgICAg IGFbaV0gPSBiW2ldICsgY1tpXSAqIGRbaV07CisgICAgICAgIH0KKyAgICAgICAgZHVtbXko YSwgYiwgYywgZCwgZSwgYWEsIGJiLCBjYywgMC4pOworICAgIH0KK30KXCBObyBuZXdsaW5l IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0 L3RzdmMvdmVjdC10c3ZjLXMyODEuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2 Yy92ZWN0LXRzdmMtczI4MS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MDAwLi43MmY3YjUzOTUxMgotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2Nj LmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczI4MS5jCkBAIC0wLDAgKzEsMjYgQEAKKy8qICBU aGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIFVuaXZlcnNpdHkgb2YgSWxsaW5v aXMgT3BlbiBTb3VyY2UKKyAgICBMaWNlbnNlLiBTZWUgbGljZW5zZS50eHQgZm9yIGRldGFp bHMuICAqLworCisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1hZGRpdGlvbmFs LW9wdGlvbnMgIi0tcGFyYW0gdmVjdC1lcGlsb2d1ZXMtbm9tYXNrPTAiIH0gKi8KKy8qIHsg ZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IHZlY3RfZmxvYXQgfSAqLworCisjaW5jbHVk ZSAidHN2Yy5oIgorCit2b2lkIHMyODEgKHZvaWQpCit7CisvLyAgICBjcm9zc2luZyB0aHJl c2hvbGRzCisvLyAgICBpbmRleCBzZXQgc3BsaXR0aW5nCisvLyAgICByZXZlcnNlIGRhdGEg YWNjZXNzCisKKworICAgIHJlYWxfdCB4OworICAgIGZvciAoaW50IG5sID0gMDsgbmwgPCBp dGVyYXRpb25zOyBubCsrKSB7CisgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTEVOXzFE OyBpKyspIHsKKyAgICAgICAgICAgIHggPSBhW0xFTl8xRC1pLTFdICsgYltpXSAqIGNbaV07 CisgICAgICAgICAgICBhW2ldID0geC0ocmVhbF90KTEuMDsKKyAgICAgICAgICAgIGJbaV0g PSB4OworICAgICAgICB9CisgICAgICAgIGR1bW15KGEsIGIsIGMsIGQsIGUsIGFhLCBiYiwg Y2MsIDAuKTsKKyAgICB9Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t Z2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMjkxLmMg Yi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMyOTEuYwpuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNzQyOWNhNmMwZWQKLS0tIC9k ZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3Zj LXMyOTEuYwpAQCAtMCwwICsxLDI1IEBACisvKiAgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVk IHVuZGVyIHRoZSBVbml2ZXJzaXR5IG9mIElsbGlub2lzIE9wZW4gU291cmNlCisgICAgTGlj ZW5zZS4gU2VlIGxpY2Vuc2UudHh0IGZvciBkZXRhaWxzLiAgKi8KKworLyogeyBkZy1kbyBj b21waWxlIH0gKi8KKy8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItLXBhcmFtIHZlY3Qt ZXBpbG9ndWVzLW5vbWFzaz0wIiB9ICovCisvKiB7IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRh cmdldCB2ZWN0X2Zsb2F0IH0gKi8KKworI2luY2x1ZGUgInRzdmMuaCIKKwordm9pZCBzMjkx ICh2b2lkKQoreworLy8gICAgbG9vcCBwZWVsaW5nCisvLyAgICB3cmFwIGFyb3VuZCB2YXJp YWJsZSwgMSBsZXZlbAorCisKKyAgICBpbnQgaW0xOworICAgIGZvciAoaW50IG5sID0gMDsg bmwgPCAyKml0ZXJhdGlvbnM7IG5sKyspIHsKKyAgICAgICAgaW0xID0gTEVOXzFELTE7Cisg ICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTEVOXzFEOyBpKyspIHsKKyAgICAgICAgICAg IGFbaV0gPSAoYltpXSArIGJbaW0xXSkgKiAocmVhbF90KS41OworICAgICAgICAgICAgaW0x ID0gaTsKKyAgICAgICAgfQorICAgICAgICBkdW1teShhLCBiLCBjLCBkLCBlLCBhYSwgYmIs IGNjLCAwLik7CisgICAgfQorfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt LWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczI5Mi5j IGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMjkyLmMKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjhmODU0NzQ3N2Y3Ci0tLSAv ZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2 Yy1zMjkyLmMKQEAgLTAsMCArMSwyOCBAQAorLyogIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRl ZCB1bmRlciB0aGUgVW5pdmVyc2l0eSBvZiBJbGxpbm9pcyBPcGVuIFNvdXJjZQorICAgIExp Y2Vuc2UuIFNlZSBsaWNlbnNlLnR4dCBmb3IgZGV0YWlscy4gICovCisKKy8qIHsgZGctZG8g Y29tcGlsZSB9ICovCisvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLS1wYXJhbSB2ZWN0 LWVwaWxvZ3Vlcy1ub21hc2s9MCIgfSAqLworLyogeyBkZy1yZXF1aXJlLWVmZmVjdGl2ZS10 YXJnZXQgdmVjdF9mbG9hdCB9ICovCisKKyNpbmNsdWRlICJ0c3ZjLmgiCisKK3ZvaWQgczI5 MiAodm9pZCkKK3sKKy8vICAgIGxvb3AgcGVlbGluZworLy8gICAgd3JhcCBhcm91bmQgdmFy aWFibGUsIDIgbGV2ZWxzCisvLyAgICBzaW1pbGFyIHRvIFMyOTEKKworCisgICAgaW50IGlt MSwgaW0yOworICAgIGZvciAoaW50IG5sID0gMDsgbmwgPCBpdGVyYXRpb25zOyBubCsrKSB7 CisgICAgICAgIGltMSA9IExFTl8xRC0xOworICAgICAgICBpbTIgPSBMRU5fMUQtMjsKKyAg ICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBMRU5fMUQ7IGkrKykgeworICAgICAgICAgICAg YVtpXSA9IChiW2ldICsgYltpbTFdICsgYltpbTJdKSAqIChyZWFsX3QpLjMzMzsKKyAgICAg ICAgICAgIGltMiA9IGltMTsKKyAgICAgICAgICAgIGltMSA9IGk7CisgICAgICAgIH0KKyAg ICAgICAgZHVtbXkoYSwgYiwgYywgZCwgZSwgYWEsIGJiLCBjYywgMC4pOworICAgIH0KK30K XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRl L2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMyOTMuYyBiL2djYy90ZXN0c3VpdGUvZ2Nj LmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczI5My5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMDAwLi4wZjczNWRkYjMzMQotLS0gL2Rldi9udWxsCisrKyBiL2djYy90 ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczI5My5jCkBAIC0wLDAgKzEs MjIgQEAKKy8qICBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIFVuaXZlcnNp dHkgb2YgSWxsaW5vaXMgT3BlbiBTb3VyY2UKKyAgICBMaWNlbnNlLiBTZWUgbGljZW5zZS50 eHQgZm9yIGRldGFpbHMuICAqLworCisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBk Zy1hZGRpdGlvbmFsLW9wdGlvbnMgIi0tcGFyYW0gdmVjdC1lcGlsb2d1ZXMtbm9tYXNrPTAi IH0gKi8KKy8qIHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IHZlY3RfZmxvYXQgfSAq LworCisjaW5jbHVkZSAidHN2Yy5oIgorCit2b2lkIHMyOTMgKHZvaWQpCit7CisvLyAgICBs b29wIHBlZWxpbmcKKy8vICAgIGEoaSk9YSgwKSB3aXRoIGFjdHVhbCBkZXBlbmRlbmNlIGN5 Y2xlLCBsb29wIGlzIHZlY3Rvcml6YWJsZQorCisKKyAgICBmb3IgKGludCBubCA9IDA7IG5s IDwgNCppdGVyYXRpb25zOyBubCsrKSB7CisgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwg TEVOXzFEOyBpKyspIHsKKyAgICAgICAgICAgIGFbaV0gPSBhWzBdOworICAgICAgICB9Cisg ICAgICAgIGR1bW15KGEsIGIsIGMsIGQsIGUsIGFhLCBiYiwgY2MsIDAuKTsKKyAgICB9Cit9 ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0 ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMzExLmMgYi9nY2MvdGVzdHN1aXRlL2dj Yy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMzMTEuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwMDAwMC4uZGVlYmI3OWE1MTEKLS0tIC9kZXYvbnVsbAorKysgYi9nY2Mv dGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMzMTEuYwpAQCAtMCwwICsx LDI1IEBACisvKiAgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBVbml2ZXJz aXR5IG9mIElsbGlub2lzIE9wZW4gU291cmNlCisgICAgTGljZW5zZS4gU2VlIGxpY2Vuc2Uu dHh0IGZvciBkZXRhaWxzLiAgKi8KKworLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy8qIHsg ZGctYWRkaXRpb25hbC1vcHRpb25zICItLXBhcmFtIHZlY3QtZXBpbG9ndWVzLW5vbWFzaz0w IiB9ICovCisvKiB7IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdldCB2ZWN0X2Zsb2F0IH0g Ki8KKworI2luY2x1ZGUgInRzdmMuaCIKKwordm9pZCBzMzExICh2b2lkKQoreworLy8gICAg cmVkdWN0aW9ucworLy8gICAgc3VtIHJlZHVjdGlvbgorCisKKyAgICByZWFsX3Qgc3VtOwor ICAgIGZvciAoaW50IG5sID0gMDsgbmwgPCBpdGVyYXRpb25zKjEwOyBubCsrKSB7CisgICAg ICAgIHN1bSA9IChyZWFsX3QpMC47CisgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTEVO XzFEOyBpKyspIHsKKyAgICAgICAgICAgIHN1bSArPSBhW2ldOworICAgICAgICB9CisgICAg ICAgIGR1bW15KGEsIGIsIGMsIGQsIGUsIGFhLCBiYiwgY2MsIHN1bSk7CisgICAgfQorfQor LyogeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1kdW1wLXRpbWVzICJ2ZWN0b3JpemVkIDEgbG9v cHMiIDEgInZlY3QiIH0gfSAqLwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt LWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczMxMTAu YyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczMxMTAuYwpu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uZjQ3OTI5ODNhMDEKLS0t IC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10 c3ZjLXMzMTEwLmMKQEAgLTAsMCArMSwzNSBAQAorLyogIFRoaXMgZmlsZSBpcyBkaXN0cmli dXRlZCB1bmRlciB0aGUgVW5pdmVyc2l0eSBvZiBJbGxpbm9pcyBPcGVuIFNvdXJjZQorICAg IExpY2Vuc2UuIFNlZSBsaWNlbnNlLnR4dCBmb3IgZGV0YWlscy4gICovCisKKy8qIHsgZGct ZG8gY29tcGlsZSB9ICovCisvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLS1wYXJhbSB2 ZWN0LWVwaWxvZ3Vlcy1ub21hc2s9MCIgfSAqLworLyogeyBkZy1yZXF1aXJlLWVmZmVjdGl2 ZS10YXJnZXQgdmVjdF9mbG9hdCB9ICovCisKKyNpbmNsdWRlICJ0c3ZjLmgiCisKK3ZvaWQg czMxMTAgKHZvaWQpCit7CisvLyAgICByZWR1Y3Rpb25zCisvLyAgICBpZiB0byBtYXggd2l0 aCBpbmRleCByZWR1Y3RpbyAyIGRpbWVuc2lvbnMKKy8vICAgIHNpbWlsYXIgdG8gUzMxNQor CisKKyAgICBpbnQgeGluZGV4LCB5aW5kZXg7CisgICAgcmVhbF90IG1heCwgY2hrc3VtOwor ICAgIGZvciAoaW50IG5sID0gMDsgbmwgPCAxMDAqKGl0ZXJhdGlvbnMvKExFTl8yRCkpOyBu bCsrKSB7CisgICAgICAgIG1heCA9IGFhWygwKV1bMF07CisgICAgICAgIHhpbmRleCA9IDA7 CisgICAgICAgIHlpbmRleCA9IDA7CisgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTEVO XzJEOyBpKyspIHsKKyAgICAgICAgICAgIGZvciAoaW50IGogPSAwOyBqIDwgTEVOXzJEOyBq KyspIHsKKyAgICAgICAgICAgICAgICBpZiAoYWFbaV1bal0gPiBtYXgpIHsKKyAgICAgICAg ICAgICAgICAgICAgbWF4ID0gYWFbaV1bal07CisgICAgICAgICAgICAgICAgICAgIHhpbmRl eCA9IGk7CisgICAgICAgICAgICAgICAgICAgIHlpbmRleCA9IGo7CisgICAgICAgICAgICAg ICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIGNoa3N1bSA9IG1heCAr IChyZWFsX3QpIHhpbmRleCArIChyZWFsX3QpIHlpbmRleDsKKyAgICAgICAgZHVtbXkoYSwg YiwgYywgZCwgZSwgYWEsIGJiLCBjYywgY2hrc3VtKTsKKyAgICB9Cit9ClwgTm8gbmV3bGlu ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVj dC90c3ZjL3ZlY3QtdHN2Yy1zMzExMS5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90 c3ZjL3ZlY3QtdHN2Yy1zMzExMS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMDAwLi42YmI2ODE4NjVjMgotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUv Z2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczMxMTEuYwpAQCAtMCwwICsxLDI2IEBACisv KiAgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBVbml2ZXJzaXR5IG9mIEls bGlub2lzIE9wZW4gU291cmNlCisgICAgTGljZW5zZS4gU2VlIGxpY2Vuc2UudHh0IGZvciBk ZXRhaWxzLiAgKi8KKworLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGctYWRkaXRp b25hbC1vcHRpb25zICItLXBhcmFtIHZlY3QtZXBpbG9ndWVzLW5vbWFzaz0wIiB9ICovCisv KiB7IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdldCB2ZWN0X2Zsb2F0IH0gKi8KKworI2lu Y2x1ZGUgInRzdmMuaCIKKwordm9pZCBzMzExMSAodm9pZCkKK3sKKy8vICAgIHJlZHVjdGlv bnMKKy8vICAgIGNvbmRpdGlvbmFsIHN1bSByZWR1Y3Rpb24KKworCisgICAgcmVhbF90IHN1 bTsKKyAgICBmb3IgKGludCBubCA9IDA7IG5sIDwgaXRlcmF0aW9ucy8yOyBubCsrKSB7Cisg ICAgICAgIHN1bSA9IDAuOworICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IExFTl8xRDsg aSsrKSB7CisgICAgICAgICAgICBpZiAoYVtpXSA+IChyZWFsX3QpMC4pIHsKKyAgICAgICAg ICAgICAgICBzdW0gKz0gYVtpXTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAg ICBkdW1teShhLCBiLCBjLCBkLCBlLCBhYSwgYmIsIGNjLCBzdW0pOworICAgIH0KK30KXCBO byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2dj Yy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMzMTExMS5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2Mu ZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMzExMTEuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwMDAwMC4uYTRiMzk3NzJiNjAKLS0tIC9kZXYvbnVsbAorKysgYi9nY2Mv dGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMzMTExMS5jCkBAIC0wLDAg KzEsMzggQEAKKy8qICBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIFVuaXZl cnNpdHkgb2YgSWxsaW5vaXMgT3BlbiBTb3VyY2UKKyAgICBMaWNlbnNlLiBTZWUgbGljZW5z ZS50eHQgZm9yIGRldGFpbHMuICAqLworCisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyog eyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi0tcGFyYW0gdmVjdC1lcGlsb2d1ZXMtbm9tYXNr PTAiIH0gKi8KKy8qIHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IHZlY3RfZmxvYXQg fSAqLworCisjaW5jbHVkZSAidHN2Yy5oIgorCityZWFsX3QgdGVzdChyZWFsX3QqIEEpewor ICByZWFsX3QgcyA9IChyZWFsX3QpMC4wOworICBmb3IgKGludCBpID0gMDsgaSA8IDQ7IGkr KykKKyAgICBzICs9IEFbaV07CisgIHJldHVybiBzOworfQorCit2b2lkIHMzMTExMSAodm9p ZCkKK3sKKy8vICAgIHJlZHVjdGlvbnMKKy8vICAgIHN1bSByZWR1Y3Rpb24KKworCisgICAg cmVhbF90IHN1bTsKKyAgICBmb3IgKGludCBubCA9IDA7IG5sIDwgMjAwMCppdGVyYXRpb25z OyBubCsrKSB7CisgICAgICAgIHN1bSA9IChyZWFsX3QpMC47CisgICAgICAgIHN1bSArPSB0 ZXN0KGEpOworICAgICAgICBzdW0gKz0gdGVzdCgmYVs0XSk7CisgICAgICAgIHN1bSArPSB0 ZXN0KCZhWzhdKTsKKyAgICAgICAgc3VtICs9IHRlc3QoJmFbMTJdKTsKKyAgICAgICAgc3Vt ICs9IHRlc3QoJmFbMTZdKTsKKyAgICAgICAgc3VtICs9IHRlc3QoJmFbMjBdKTsKKyAgICAg ICAgc3VtICs9IHRlc3QoJmFbMjRdKTsKKyAgICAgICAgc3VtICs9IHRlc3QoJmFbMjhdKTsK KyAgICAgICAgZHVtbXkoYSwgYiwgYywgZCwgZSwgYWEsIGJiLCBjYywgc3VtKTsKKyAgICB9 Cit9CisKKy8qIHsgZGctZmluYWwgeyBzY2FuLXRyZWUtZHVtcC10aW1lcyAidmVjdG9yaXpl ZCAxIGxvb3BzIiAxICJ2ZWN0IiB9IH0gKi8KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl CmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3Zj LXMzMTEyLmMgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMz MTEyLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjA2ZGQxODk3 ODFkCi0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3Zj L3ZlY3QtdHN2Yy1zMzExMi5jCkBAIC0wLDAgKzEsMjUgQEAKKy8qICBUaGlzIGZpbGUgaXMg ZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIFVuaXZlcnNpdHkgb2YgSWxsaW5vaXMgT3BlbiBTb3Vy Y2UKKyAgICBMaWNlbnNlLiBTZWUgbGljZW5zZS50eHQgZm9yIGRldGFpbHMuICAqLworCisv KiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi0t cGFyYW0gdmVjdC1lcGlsb2d1ZXMtbm9tYXNrPTAiIH0gKi8KKy8qIHsgZGctcmVxdWlyZS1l ZmZlY3RpdmUtdGFyZ2V0IHZlY3RfZmxvYXQgfSAqLworCisjaW5jbHVkZSAidHN2Yy5oIgor Cit2b2lkIHMzMTEyICh2b2lkKQoreworLy8gICAgcmVkdWN0aW9ucworLy8gICAgc3VtIHJl ZHVjdGlvbiBzYXZpbmcgcnVubmluZyBzdW1zCisKKworICAgIHJlYWxfdCBzdW07CisgICAg Zm9yIChpbnQgbmwgPSAwOyBubCA8IGl0ZXJhdGlvbnM7IG5sKyspIHsKKyAgICAgICAgc3Vt ID0gKHJlYWxfdCkwLjA7CisgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTEVOXzFEOyBp KyspIHsKKyAgICAgICAgICAgIHN1bSArPSBhW2ldOworICAgICAgICAgICAgYltpXSA9IHN1 bTsKKyAgICAgICAgfQorICAgICAgICBkdW1teShhLCBiLCBjLCBkLCBlLCBhYSwgYmIsIGNj LCBzdW0pOworICAgIH0KK30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n aXQgYS9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMzMTEzLmMg Yi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMzMTEzLmMKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjdjN2JhMTI5ZDY0Ci0tLSAv ZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2 Yy1zMzExMy5jCkBAIC0wLDAgKzEsMjYgQEAKKy8qICBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0 ZWQgdW5kZXIgdGhlIFVuaXZlcnNpdHkgb2YgSWxsaW5vaXMgT3BlbiBTb3VyY2UKKyAgICBM aWNlbnNlLiBTZWUgbGljZW5zZS50eHQgZm9yIGRldGFpbHMuICAqLworCisvKiB7IGRnLWRv IGNvbXBpbGUgfSAqLworLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi0tcGFyYW0gdmVj dC1lcGlsb2d1ZXMtbm9tYXNrPTAiIH0gKi8KKy8qIHsgZGctcmVxdWlyZS1lZmZlY3RpdmUt dGFyZ2V0IHZlY3RfZmxvYXQgfSAqLworCisjaW5jbHVkZSAidHN2Yy5oIgorCit2b2lkIHMz MTEzICh2b2lkKQoreworLy8gICAgcmVkdWN0aW9ucworLy8gICAgbWF4aW11bSBvZiBhYnNv bHV0ZSB2YWx1ZQorCisKKyAgICByZWFsX3QgbWF4OworICAgIGZvciAoaW50IG5sID0gMDsg bmwgPCBpdGVyYXRpb25zKjQ7IG5sKyspIHsKKyAgICAgICAgbWF4ID0gQUJTKGFbMF0pOwor ICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IExFTl8xRDsgaSsrKSB7CisgICAgICAgICAg ICBpZiAoKEFCUyhhW2ldKSkgPiBtYXgpIHsKKyAgICAgICAgICAgICAgICBtYXggPSBBQlMo YVtpXSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgZHVtbXkoYSwgYiwg YywgZCwgZSwgYWEsIGJiLCBjYywgbWF4KTsKKyAgICB9Cit9ClwgTm8gbmV3bGluZSBhdCBl bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3Zj L3ZlY3QtdHN2Yy1zMzEyLmMgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVj dC10c3ZjLXMzMTIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4u YTAzMWQyODVhODUKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92 ZWN0L3RzdmMvdmVjdC10c3ZjLXMzMTIuYwpAQCAtMCwwICsxLDI0IEBACisvKiAgVGhpcyBm aWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBVbml2ZXJzaXR5IG9mIElsbGlub2lzIE9w ZW4gU291cmNlCisgICAgTGljZW5zZS4gU2VlIGxpY2Vuc2UudHh0IGZvciBkZXRhaWxzLiAg Ki8KKworLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGctYWRkaXRpb25hbC1vcHRp b25zICItLXBhcmFtIHZlY3QtZXBpbG9ndWVzLW5vbWFzaz0wIiB9ICovCisvKiB7IGRnLXJl cXVpcmUtZWZmZWN0aXZlLXRhcmdldCB2ZWN0X2Zsb2F0IH0gKi8KKworI2luY2x1ZGUgInRz dmMuaCIKKwordm9pZCBzMzEyICh2b2lkKQoreworLy8gICAgcmVkdWN0aW9ucworLy8gICAg cHJvZHVjdCByZWR1Y3Rpb24KKworCisgICAgcmVhbF90IHByb2Q7CisgICAgZm9yIChpbnQg bmwgPSAwOyBubCA8IDEwKml0ZXJhdGlvbnM7IG5sKyspIHsKKyAgICAgICAgcHJvZCA9IChy ZWFsX3QpMS47CisgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTEVOXzFEOyBpKyspIHsK KyAgICAgICAgICAgIHByb2QgKj0gYVtpXTsKKyAgICAgICAgfQorICAgICAgICBkdW1teShh LCBiLCBjLCBkLCBlLCBhYSwgYmIsIGNjLCBwcm9kKTsKKyAgICB9Cit9ClwgTm8gbmV3bGlu ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVj dC90c3ZjL3ZlY3QtdHN2Yy1zMzEzLmMgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3Rz dmMvdmVjdC10c3ZjLXMzMTMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwMC4uNzJjMmJiZmQxOGYKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2dj Yy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMzMTMuYwpAQCAtMCwwICsxLDI1IEBACisvKiAg VGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBVbml2ZXJzaXR5IG9mIElsbGlu b2lzIE9wZW4gU291cmNlCisgICAgTGljZW5zZS4gU2VlIGxpY2Vuc2UudHh0IGZvciBkZXRh aWxzLiAgKi8KKworLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGctYWRkaXRpb25h bC1vcHRpb25zICItLXBhcmFtIHZlY3QtZXBpbG9ndWVzLW5vbWFzaz0wIiB9ICovCisvKiB7 IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdldCB2ZWN0X2Zsb2F0IH0gKi8KKworI2luY2x1 ZGUgInRzdmMuaCIKKwordm9pZCBzMzEzICh2b2lkKQoreworLy8gICAgcmVkdWN0aW9ucwor Ly8gICAgZG90IHByb2R1Y3QKKworCisgICAgcmVhbF90IGRvdDsKKyAgICBmb3IgKGludCBu bCA9IDA7IG5sIDwgaXRlcmF0aW9ucyo1OyBubCsrKSB7CisgICAgICAgIGRvdCA9IChyZWFs X3QpMC47CisgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTEVOXzFEOyBpKyspIHsKKyAg ICAgICAgICAgIGRvdCArPSBhW2ldICogYltpXTsKKyAgICAgICAgfQorICAgICAgICBkdW1t eShhLCBiLCBjLCBkLCBlLCBhYSwgYmIsIGNjLCBkb3QpOworICAgIH0KK30KKy8qIHsgZGct ZmluYWwgeyBzY2FuLXRyZWUtZHVtcC10aW1lcyAidmVjdG9yaXplZCAxIGxvb3BzIiAxICJ2 ZWN0IiB9IH0gKi8KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9n Y2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMzMTQuYyBiL2djYy90 ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczMxNC5jCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi41OTFjYzMxMjU2NQotLS0gL2Rldi9udWxs CisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczMxNC5j CkBAIC0wLDAgKzEsMjYgQEAKKy8qICBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIg dGhlIFVuaXZlcnNpdHkgb2YgSWxsaW5vaXMgT3BlbiBTb3VyY2UKKyAgICBMaWNlbnNlLiBT ZWUgbGljZW5zZS50eHQgZm9yIGRldGFpbHMuICAqLworCisvKiB7IGRnLWRvIGNvbXBpbGUg fSAqLworLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi0tcGFyYW0gdmVjdC1lcGlsb2d1 ZXMtbm9tYXNrPTAiIH0gKi8KKy8qIHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IHZl Y3RfZmxvYXQgfSAqLworCisjaW5jbHVkZSAidHN2Yy5oIgorCit2b2lkIHMzMTQgKHZvaWQp Cit7CisvLyAgICByZWR1Y3Rpb25zCisvLyAgICBpZiB0byBtYXggcmVkdWN0aW9uCisKKwor ICAgIHJlYWxfdCB4OworICAgIGZvciAoaW50IG5sID0gMDsgbmwgPCBpdGVyYXRpb25zKjU7 IG5sKyspIHsKKyAgICAgICAgeCA9IGFbMF07CisgICAgICAgIGZvciAoaW50IGkgPSAwOyBp IDwgTEVOXzFEOyBpKyspIHsKKyAgICAgICAgICAgIGlmIChhW2ldID4geCkgeworICAgICAg ICAgICAgICAgIHggPSBhW2ldOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAg IGR1bW15KGEsIGIsIGMsIGQsIGUsIGFhLCBiYiwgY2MsIHgpOworICAgIH0KK30KXCBObyBu ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5k Zy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMzMTUuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3Zl Y3QvdHN2Yy92ZWN0LXRzdmMtczMxNS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAwMDAwLi5lMjNjZWYwOGJlMwotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3Vp dGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczMxNS5jCkBAIC0wLDAgKzEsMzQgQEAK Ky8qICBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIFVuaXZlcnNpdHkgb2Yg SWxsaW5vaXMgT3BlbiBTb3VyY2UKKyAgICBMaWNlbnNlLiBTZWUgbGljZW5zZS50eHQgZm9y IGRldGFpbHMuICAqLworCisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1hZGRp dGlvbmFsLW9wdGlvbnMgIi0tcGFyYW0gdmVjdC1lcGlsb2d1ZXMtbm9tYXNrPTAiIH0gKi8K Ky8qIHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IHZlY3RfZmxvYXQgfSAqLworCisj aW5jbHVkZSAidHN2Yy5oIgorCit2b2lkIHMzMTUgKHZvaWQpCit7CisvLyAgICByZWR1Y3Rp b25zCisvLyAgICBpZiB0byBtYXggd2l0aCBpbmRleCByZWR1Y3RpbyAxIGRpbWVuc2lvbgor CisKKyAgICBmb3IgKGludCBpID0gMDsgaSA8IExFTl8xRDsgaSsrKQorICAgICAgICBhW2ld ID0gKGkgKiA3KSAlIExFTl8xRDsKKworICAgIHJlYWxfdCB4LCBjaGtzdW07CisgICAgaW50 IGluZGV4OworICAgIGZvciAoaW50IG5sID0gMDsgbmwgPCBpdGVyYXRpb25zOyBubCsrKSB7 CisgICAgICAgIHggPSBhWzBdOworICAgICAgICBpbmRleCA9IDA7CisgICAgICAgIGZvciAo aW50IGkgPSAwOyBpIDwgTEVOXzFEOyArK2kpIHsKKyAgICAgICAgICAgIGlmIChhW2ldID4g eCkgeworICAgICAgICAgICAgICAgIHggPSBhW2ldOworICAgICAgICAgICAgICAgIGluZGV4 ID0gaTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBjaGtzdW0gPSB4ICsg KHJlYWxfdCkgaW5kZXg7CisgICAgICAgIGR1bW15KGEsIGIsIGMsIGQsIGUsIGFhLCBiYiwg Y2MsIGNoa3N1bSk7CisgICAgfQorfQorLyogeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1kdW1w LXRpbWVzICJ2ZWN0b3JpemVkIDEgbG9vcHMiIDEgInZlY3QiIH0gfSAqLwpcIE5vIG5ld2xp bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3Zl Y3QvdHN2Yy92ZWN0LXRzdmMtczMxNi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90 c3ZjL3ZlY3QtdHN2Yy1zMzE2LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MDAwMDAuLjcyYTMwN2E3MTliCi0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9n Y2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMzE2LmMKQEAgLTAsMCArMSwyNiBAQAorLyog IFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgVW5pdmVyc2l0eSBvZiBJbGxp bm9pcyBPcGVuIFNvdXJjZQorICAgIExpY2Vuc2UuIFNlZSBsaWNlbnNlLnR4dCBmb3IgZGV0 YWlscy4gICovCisKKy8qIHsgZGctZG8gY29tcGlsZSB9ICovCisvKiB7IGRnLWFkZGl0aW9u YWwtb3B0aW9ucyAiLS1wYXJhbSB2ZWN0LWVwaWxvZ3Vlcy1ub21hc2s9MCIgfSAqLworLyog eyBkZy1yZXF1aXJlLWVmZmVjdGl2ZS10YXJnZXQgdmVjdF9mbG9hdCB9ICovCisKKyNpbmNs dWRlICJ0c3ZjLmgiCisKK3ZvaWQgczMxNiAodm9pZCkKK3sKKy8vICAgIHJlZHVjdGlvbnMK Ky8vICAgIGlmIHRvIG1pbiByZWR1Y3Rpb24KKworCisgICAgcmVhbF90IHg7CisgICAgZm9y IChpbnQgbmwgPSAwOyBubCA8IGl0ZXJhdGlvbnMqNTsgbmwrKykgeworICAgICAgICB4ID0g YVswXTsKKyAgICAgICAgZm9yIChpbnQgaSA9IDE7IGkgPCBMRU5fMUQ7ICsraSkgeworICAg ICAgICAgICAgaWYgKGFbaV0gPCB4KSB7CisgICAgICAgICAgICAgICAgeCA9IGFbaV07Cisg ICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgZHVtbXkoYSwgYiwgYywgZCwgZSwg YWEsIGJiLCBjYywgeCk7CisgICAgfQorfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK ZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMt czMxNy5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMzE3 LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjYxYjU3NWFmZjI2 Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3Zl Y3QtdHN2Yy1zMzE3LmMKQEAgLTAsMCArMSwyNiBAQAorLyogIFRoaXMgZmlsZSBpcyBkaXN0 cmlidXRlZCB1bmRlciB0aGUgVW5pdmVyc2l0eSBvZiBJbGxpbm9pcyBPcGVuIFNvdXJjZQor ICAgIExpY2Vuc2UuIFNlZSBsaWNlbnNlLnR4dCBmb3IgZGV0YWlscy4gICovCisKKy8qIHsg ZGctZG8gY29tcGlsZSB9ICovCisvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLS1wYXJh bSB2ZWN0LWVwaWxvZ3Vlcy1ub21hc2s9MCIgfSAqLworLyogeyBkZy1yZXF1aXJlLWVmZmVj dGl2ZS10YXJnZXQgdmVjdF9mbG9hdCB9ICovCisKKyNpbmNsdWRlICJ0c3ZjLmgiCisKK3Zv aWQgczMxNyAodm9pZCkKK3sKKy8vICAgIHJlZHVjdGlvbnMKKy8vICAgIHByb2R1Y3QgcmVk dWN0aW8gdmVjdG9yaXplIHdpdGgKKy8vICAgIDEuIHNjYWxhciBleHBhbnNpb24gb2YgZmFj dG9yLCBhbmQgcHJvZHVjdCByZWR1Y3Rpb24KKy8vICAgIDIuIGNsb3NlZCBmb3JtIHNvbHV0 aW9uOiBxID0gZmFjdG9yKipuCisKKworICAgIHJlYWxfdCBxOworICAgIGZvciAoaW50IG5s ID0gMDsgbmwgPCA1Kml0ZXJhdGlvbnM7IG5sKyspIHsKKyAgICAgICAgcSA9IChyZWFsX3Qp MS47CisgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTEVOXzFELzI7IGkrKykgeworICAg ICAgICAgICAgcSAqPSAocmVhbF90KS45OTsKKyAgICAgICAgfQorICAgICAgICBkdW1teShh LCBiLCBjLCBkLCBlLCBhYSwgYmIsIGNjLCBxKTsKKyAgICB9Cit9ClwgTm8gbmV3bGluZSBh dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90 c3ZjL3ZlY3QtdHN2Yy1zMzE4LmMgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMv dmVjdC10c3ZjLXMzMTguYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw MC4uNTczMjc5NzBhMjQKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy5k Zy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMzMTguYwpAQCAtMCwwICsxLDM0IEBACisvKiAgVGhp cyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBVbml2ZXJzaXR5IG9mIElsbGlub2lz IE9wZW4gU291cmNlCisgICAgTGljZW5zZS4gU2VlIGxpY2Vuc2UudHh0IGZvciBkZXRhaWxz LiAgKi8KKworLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGctYWRkaXRpb25hbC1v cHRpb25zICItLXBhcmFtIHZlY3QtZXBpbG9ndWVzLW5vbWFzaz0wIiB9ICovCisvKiB7IGRn LXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdldCB2ZWN0X2Zsb2F0IH0gKi8KKworI2luY2x1ZGUg InRzdmMuaCIKKwordm9pZCBzMzE4IChpbnQgaW5jKQoreworLy8gICAgcmVkdWN0aW9ucwor Ly8gICAgaXNhbWF4LCBtYXggYWJzb2x1dGUgdmFsdWUsIGluY3JlbWVudHMgbm90IGVxdWFs IHRvIDEKKworICAgIGludCBrLCBpbmRleDsKKyAgICByZWFsX3QgbWF4LCBjaGtzdW07Cisg ICAgZm9yIChpbnQgbmwgPSAwOyBubCA8IGl0ZXJhdGlvbnMvMjsgbmwrKykgeworICAgICAg ICBrID0gMDsKKyAgICAgICAgaW5kZXggPSAwOworICAgICAgICBtYXggPSBBQlMoYVswXSk7 CisgICAgICAgIGsgKz0gaW5jOworICAgICAgICBmb3IgKGludCBpID0gMTsgaSA8IExFTl8x RDsgaSsrKSB7CisgICAgICAgICAgICBpZiAoQUJTKGFba10pIDw9IG1heCkgeworICAgICAg ICAgICAgICAgIGdvdG8gTDU7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpbmRleCA9 IGk7CisgICAgICAgICAgICBtYXggPSBBQlMoYVtrXSk7CitMNToKKyAgICAgICAgICAgIGsg Kz0gaW5jOworICAgICAgICB9CisgICAgICAgIGNoa3N1bSA9IG1heCArIChyZWFsX3QpIGlu ZGV4OworICAgICAgICBkdW1teShhLCBiLCBjLCBkLCBlLCBhYSwgYmIsIGNjLCBjaGtzdW0p OworICAgIH0KK30KZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2 Yy92ZWN0LXRzdmMtczMxOS5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3Zl Y3QtdHN2Yy1zMzE5LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAu LjRkYmQ1YTg4ZjE1Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcv dmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMzE5LmMKQEAgLTAsMCArMSwyNyBAQAorLyogIFRoaXMg ZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgVW5pdmVyc2l0eSBvZiBJbGxpbm9pcyBP cGVuIFNvdXJjZQorICAgIExpY2Vuc2UuIFNlZSBsaWNlbnNlLnR4dCBmb3IgZGV0YWlscy4g ICovCisKKy8qIHsgZGctZG8gY29tcGlsZSB9ICovCisvKiB7IGRnLWFkZGl0aW9uYWwtb3B0 aW9ucyAiLS1wYXJhbSB2ZWN0LWVwaWxvZ3Vlcy1ub21hc2s9MCIgfSAqLworLyogeyBkZy1y ZXF1aXJlLWVmZmVjdGl2ZS10YXJnZXQgdmVjdF9mbG9hdCB9ICovCisKKyNpbmNsdWRlICJ0 c3ZjLmgiCisKK3ZvaWQgczMxOSAodm9pZCkKK3sKKy8vICAgIHJlZHVjdGlvbnMKKy8vICAg IGNvdXBsZWQgcmVkdWN0aW9ucworCisKKyAgICByZWFsX3Qgc3VtOworICAgIGZvciAoaW50 IG5sID0gMDsgbmwgPCAyKml0ZXJhdGlvbnM7IG5sKyspIHsKKyAgICAgICAgc3VtID0gMC47 CisgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTEVOXzFEOyBpKyspIHsKKyAgICAgICAg ICAgIGFbaV0gPSBjW2ldICsgZFtpXTsKKyAgICAgICAgICAgIHN1bSArPSBhW2ldOworICAg ICAgICAgICAgYltpXSA9IGNbaV0gKyBlW2ldOworICAgICAgICAgICAgc3VtICs9IGJbaV07 CisgICAgICAgIH0KKyAgICAgICAgZHVtbXkoYSwgYiwgYywgZCwgZSwgYWEsIGJiLCBjYywg c3VtKTsKKyAgICB9Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0 IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMzIxLmMgYi9n Y2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMzMjEuYwpuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uYTE3YWM5NmUzMzQKLS0tIC9kZXYv bnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMz MjEuYwpAQCAtMCwwICsxLDIyIEBACisvKiAgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVu ZGVyIHRoZSBVbml2ZXJzaXR5IG9mIElsbGlub2lzIE9wZW4gU291cmNlCisgICAgTGljZW5z ZS4gU2VlIGxpY2Vuc2UudHh0IGZvciBkZXRhaWxzLiAgKi8KKworLyogeyBkZy1kbyBjb21w aWxlIH0gKi8KKy8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItLXBhcmFtIHZlY3QtZXBp bG9ndWVzLW5vbWFzaz0wIiB9ICovCisvKiB7IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdl dCB2ZWN0X2Zsb2F0IH0gKi8KKworI2luY2x1ZGUgInRzdmMuaCIKKwordm9pZCBzMzIxICh2 b2lkKQoreworLy8gICAgcmVjdXJyZW5jZXMKKy8vICAgIGZpcnN0IG9yZGVyIGxpbmVhciBy ZWN1cnJlbmNlCisKKworICAgIGZvciAoaW50IG5sID0gMDsgbmwgPCBpdGVyYXRpb25zOyBu bCsrKSB7CisgICAgICAgIGZvciAoaW50IGkgPSAxOyBpIDwgTEVOXzFEOyBpKyspIHsKKyAg ICAgICAgICAgIGFbaV0gKz0gYVtpLTFdICogYltpXTsKKyAgICAgICAgfQorICAgICAgICBk dW1teShhLCBiLCBjLCBkLCBlLCBhYSwgYmIsIGNjLCAwLik7CisgICAgfQorfQpcIE5vIG5l d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRn L3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczMyMi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVj dC90c3ZjL3ZlY3QtdHN2Yy1zMzIyLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMDAwMDAuLmE4MmU2YjFhOWYwCi0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0 ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMzIyLmMKQEAgLTAsMCArMSwyMiBAQAor LyogIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgVW5pdmVyc2l0eSBvZiBJ bGxpbm9pcyBPcGVuIFNvdXJjZQorICAgIExpY2Vuc2UuIFNlZSBsaWNlbnNlLnR4dCBmb3Ig ZGV0YWlscy4gICovCisKKy8qIHsgZGctZG8gY29tcGlsZSB9ICovCisvKiB7IGRnLWFkZGl0 aW9uYWwtb3B0aW9ucyAiLS1wYXJhbSB2ZWN0LWVwaWxvZ3Vlcy1ub21hc2s9MCIgfSAqLwor LyogeyBkZy1yZXF1aXJlLWVmZmVjdGl2ZS10YXJnZXQgdmVjdF9mbG9hdCB9ICovCisKKyNp bmNsdWRlICJ0c3ZjLmgiCisKK3ZvaWQgczMyMiAodm9pZCkKK3sKKy8vICAgIHJlY3VycmVu Y2VzCisvLyAgICBzZWNvbmQgb3JkZXIgbGluZWFyIHJlY3VycmVuY2UKKworCisgICAgZm9y IChpbnQgbmwgPSAwOyBubCA8IGl0ZXJhdGlvbnMvMjsgbmwrKykgeworICAgICAgICBmb3Ig KGludCBpID0gMjsgaSA8IExFTl8xRDsgaSsrKSB7CisgICAgICAgICAgICBhW2ldID0gYVtp XSArIGFbaSAtIDFdICogYltpXSArIGFbaSAtIDJdICogY1tpXTsKKyAgICAgICAgfQorICAg ICAgICBkdW1teShhLCBiLCBjLCBkLCBlLCBhYSwgYmIsIGNjLCAwLik7CisgICAgfQorfQpc IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUv Z2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczMyMy5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2Mu ZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMzIzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMDAwMDAuLjg0ZWY4MmU4NzdlCi0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rl c3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMzIzLmMKQEAgLTAsMCArMSwy MyBAQAorLyogIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgVW5pdmVyc2l0 eSBvZiBJbGxpbm9pcyBPcGVuIFNvdXJjZQorICAgIExpY2Vuc2UuIFNlZSBsaWNlbnNlLnR4 dCBmb3IgZGV0YWlscy4gICovCisKKy8qIHsgZGctZG8gY29tcGlsZSB9ICovCisvKiB7IGRn LWFkZGl0aW9uYWwtb3B0aW9ucyAiLS1wYXJhbSB2ZWN0LWVwaWxvZ3Vlcy1ub21hc2s9MCIg fSAqLworLyogeyBkZy1yZXF1aXJlLWVmZmVjdGl2ZS10YXJnZXQgdmVjdF9mbG9hdCB9ICov CisKKyNpbmNsdWRlICJ0c3ZjLmgiCisKK3ZvaWQgczMyMyAodm9pZCkKK3sKKy8vICAgIHJl Y3VycmVuY2VzCisvLyAgICBjb3VwbGVkIHJlY3VycmVuY2UKKworCisgICAgZm9yIChpbnQg bmwgPSAwOyBubCA8IGl0ZXJhdGlvbnMvMjsgbmwrKykgeworICAgICAgICBmb3IgKGludCBp ID0gMTsgaSA8IExFTl8xRDsgaSsrKSB7CisgICAgICAgICAgICBhW2ldID0gYltpLTFdICsg Y1tpXSAqIGRbaV07CisgICAgICAgICAgICBiW2ldID0gYVtpXSArIGNbaV0gKiBlW2ldOwor ICAgICAgICB9CisgICAgICAgIGR1bW15KGEsIGIsIGMsIGQsIGUsIGFhLCBiYiwgY2MsIDAu KTsKKyAgICB9Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv Z2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMzI1MS5jIGIvZ2Nj L3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMzI1MS5jCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5iYTVkZTQyZDBkYQotLS0gL2Rldi9u dWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczMy NTEuYwpAQCAtMCwwICsxLDI1IEBACisvKiAgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVu ZGVyIHRoZSBVbml2ZXJzaXR5IG9mIElsbGlub2lzIE9wZW4gU291cmNlCisgICAgTGljZW5z ZS4gU2VlIGxpY2Vuc2UudHh0IGZvciBkZXRhaWxzLiAgKi8KKworLyogeyBkZy1kbyBjb21w aWxlIH0gKi8KKy8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItLXBhcmFtIHZlY3QtZXBp bG9ndWVzLW5vbWFzaz0wIiB9ICovCisvKiB7IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdl dCB2ZWN0X2Zsb2F0IH0gKi8KKworI2luY2x1ZGUgInRzdmMuaCIKKwordm9pZCBzMzI1MSAo dm9pZCkKK3sKKy8vICAgIHNjYWxhciBhbmQgYXJyYXkgZXhwYW5zaW9uCisvLyAgICBzY2Fs YXIgZXhwYW5zaW9uCisKKworICAgIGZvciAoaW50IG5sID0gMDsgbmwgPCBpdGVyYXRpb25z OyBubCsrKSB7CisgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTEVOXzFELTE7IGkrKyl7 CisgICAgICAgICAgICBhW2krMV0gPSBiW2ldK2NbaV07CisgICAgICAgICAgICBiW2ldICAg PSBjW2ldKmVbaV07CisgICAgICAgICAgICBkW2ldICAgPSBhW2ldKmVbaV07CisgICAgICAg IH0KKyAgICAgICAgZHVtbXkoYSwgYiwgYywgZCwgZSwgYWEsIGJiLCBjYywgMC4pOworICAg IH0KK30KKy8qIHsgZGctZmluYWwgeyBzY2FuLXRyZWUtZHVtcC10aW1lcyAidmVjdG9yaXpl ZCAxIGxvb3BzIiAxICJ2ZWN0IiB9IH0gKi8KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl CmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3Zj LXMzMzEuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczMz MS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5iZTA3NTc3MTNl MQotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92 ZWN0LXRzdmMtczMzMS5jCkBAIC0wLDAgKzEsMjkgQEAKKy8qICBUaGlzIGZpbGUgaXMgZGlz dHJpYnV0ZWQgdW5kZXIgdGhlIFVuaXZlcnNpdHkgb2YgSWxsaW5vaXMgT3BlbiBTb3VyY2UK KyAgICBMaWNlbnNlLiBTZWUgbGljZW5zZS50eHQgZm9yIGRldGFpbHMuICAqLworCisvKiB7 IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi0tcGFy YW0gdmVjdC1lcGlsb2d1ZXMtbm9tYXNrPTAiIH0gKi8KKy8qIHsgZGctcmVxdWlyZS1lZmZl Y3RpdmUtdGFyZ2V0IHZlY3RfZmxvYXQgfSAqLworCisjaW5jbHVkZSAidHN2Yy5oIgorCit2 b2lkIHMzMzEgKHZvaWQpCit7CisvLyAgICBzZWFyY2ggbG9vcHMKKy8vICAgIGlmIHRvIGxh c3QtMQorCisKKyAgICBpbnQgajsKKyAgICByZWFsX3QgY2hrc3VtOworICAgIGZvciAoaW50 IG5sID0gMDsgbmwgPCBpdGVyYXRpb25zOyBubCsrKSB7CisgICAgICAgIGogPSAtMTsKKyAg ICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBMRU5fMUQ7IGkrKykgeworICAgICAgICAgICAg aWYgKGFbaV0gPCAocmVhbF90KTAuKSB7CisgICAgICAgICAgICAgICAgaiA9IGk7CisgICAg ICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgY2hrc3VtID0gKHJlYWxfdCkgajsKKyAg ICAgICAgZHVtbXkoYSwgYiwgYywgZCwgZSwgYWEsIGJiLCBjYywgY2hrc3VtKTsKKyAgICB9 Cit9CisvKiB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtdGltZXMgInZlY3Rvcml6ZWQg MSBsb29wcyIgMSAidmVjdCIgfSB9ICovClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk aWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1z MzMyLmMgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMzMzIu YwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMWJmY2Q1ZmVkN2IK LS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVj dC10c3ZjLXMzMzIuYwpAQCAtMCwwICsxLDMyIEBACisvKiAgVGhpcyBmaWxlIGlzIGRpc3Ry aWJ1dGVkIHVuZGVyIHRoZSBVbml2ZXJzaXR5IG9mIElsbGlub2lzIE9wZW4gU291cmNlCisg ICAgTGljZW5zZS4gU2VlIGxpY2Vuc2UudHh0IGZvciBkZXRhaWxzLiAgKi8KKworLyogeyBk Zy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItLXBhcmFt IHZlY3QtZXBpbG9ndWVzLW5vbWFzaz0wIiB9ICovCisvKiB7IGRnLXJlcXVpcmUtZWZmZWN0 aXZlLXRhcmdldCB2ZWN0X2Zsb2F0IH0gKi8KKworI2luY2x1ZGUgInRzdmMuaCIKKwordm9p ZCBzMzMyIChpbnQgdCkKK3sKKy8vICAgIHNlYXJjaCBsb29wcworLy8gICAgZmlyc3QgdmFs dWUgZ3JlYXRlciB0aGFuIHRocmVzaG9sZAorCisgICAgaW50IGluZGV4OworICAgIHJlYWxf dCB2YWx1ZTsKKyAgICByZWFsX3QgY2hrc3VtOworICAgIGZvciAoaW50IG5sID0gMDsgbmwg PCBpdGVyYXRpb25zOyBubCsrKSB7CisgICAgICAgIGluZGV4ID0gLTI7CisgICAgICAgIHZh bHVlID0gLTEuOworICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IExFTl8xRDsgaSsrKSB7 CisgICAgICAgICAgICBpZiAoYVtpXSA+IHQpIHsKKyAgICAgICAgICAgICAgICBpbmRleCA9 IGk7CisgICAgICAgICAgICAgICAgdmFsdWUgPSBhW2ldOworICAgICAgICAgICAgICAgIGdv dG8gTDIwOworICAgICAgICAgICAgfQorICAgICAgICB9CitMMjA6CisgICAgICAgIGNoa3N1 bSA9IHZhbHVlICsgKHJlYWxfdCkgaW5kZXg7CisgICAgICAgIGR1bW15KGEsIGIsIGMsIGQs IGUsIGFhLCBiYiwgY2MsIGNoa3N1bSk7CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvZ2NjL3Rl c3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMzQxLmMgYi9nY2MvdGVzdHN1 aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMzNDEuYwpuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwMDAwMC4uZDY0YmZlYmY2YTEKLS0tIC9kZXYvbnVsbAorKysg Yi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMzNDEuYwpAQCAt MCwwICsxLDI4IEBACisvKiAgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBV bml2ZXJzaXR5IG9mIElsbGlub2lzIE9wZW4gU291cmNlCisgICAgTGljZW5zZS4gU2VlIGxp Y2Vuc2UudHh0IGZvciBkZXRhaWxzLiAgKi8KKworLyogeyBkZy1kbyBjb21waWxlIH0gKi8K Ky8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItLXBhcmFtIHZlY3QtZXBpbG9ndWVzLW5v bWFzaz0wIiB9ICovCisvKiB7IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdldCB2ZWN0X2Zs b2F0IH0gKi8KKworI2luY2x1ZGUgInRzdmMuaCIKKwordm9pZCBzMzQxICh2b2lkKQorewor Ly8gICAgcGFja2luZworLy8gICAgcGFjayBwb3NpdGl2ZSB2YWx1ZXMKKy8vICAgIG5vdCB2 ZWN0b3JpemFibGUsIHZhbHVlIG9mIGogaW4gdW5rbm93biBhdCBlYWNoIGl0ZXJhdGlvbgor CisKKyAgICBpbnQgajsKKyAgICBmb3IgKGludCBubCA9IDA7IG5sIDwgaXRlcmF0aW9uczsg bmwrKykgeworICAgICAgICBqID0gLTE7CisgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwg TEVOXzFEOyBpKyspIHsKKyAgICAgICAgICAgIGlmIChiW2ldID4gKHJlYWxfdCkwLikgewor ICAgICAgICAgICAgICAgIGorKzsKKyAgICAgICAgICAgICAgICBhW2pdID0gYltpXTsKKyAg ICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBkdW1teShhLCBiLCBjLCBkLCBlLCBh YSwgYmIsIGNjLCAwLik7CisgICAgfQorfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK ZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMt czM0Mi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMzQy LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjg4MzE3N2QzN2M2 Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3Zl Y3QtdHN2Yy1zMzQyLmMKQEAgLTAsMCArMSwyOCBAQAorLyogIFRoaXMgZmlsZSBpcyBkaXN0 cmlidXRlZCB1bmRlciB0aGUgVW5pdmVyc2l0eSBvZiBJbGxpbm9pcyBPcGVuIFNvdXJjZQor ICAgIExpY2Vuc2UuIFNlZSBsaWNlbnNlLnR4dCBmb3IgZGV0YWlscy4gICovCisKKy8qIHsg ZGctZG8gY29tcGlsZSB9ICovCisvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLS1wYXJh bSB2ZWN0LWVwaWxvZ3Vlcy1ub21hc2s9MCIgfSAqLworLyogeyBkZy1yZXF1aXJlLWVmZmVj dGl2ZS10YXJnZXQgdmVjdF9mbG9hdCB9ICovCisKKyNpbmNsdWRlICJ0c3ZjLmgiCisKK3Zv aWQgczM0MiAodm9pZCkKK3sKKy8vICAgIHBhY2tpbmcKKy8vICAgIHVucGFja2luZworLy8g ICAgbm90IHZlY3Rvcml6YWJsZSwgdmFsdWUgb2YgaiBpbiB1bmtub3duIGF0IGVhY2ggaXRl cmF0aW9uCisKKworICAgIGludCBqID0gMDsKKyAgICBmb3IgKGludCBubCA9IDA7IG5sIDwg aXRlcmF0aW9uczsgbmwrKykgeworICAgICAgICBqID0gLTE7CisgICAgICAgIGZvciAoaW50 IGkgPSAwOyBpIDwgTEVOXzFEOyBpKyspIHsKKyAgICAgICAgICAgIGlmIChhW2ldID4gKHJl YWxfdCkwLikgeworICAgICAgICAgICAgICAgIGorKzsKKyAgICAgICAgICAgICAgICBhW2ld ID0gYltqXTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBkdW1teShhLCBi LCBjLCBkLCBlLCBhYSwgYmIsIGNjLCAwLik7CisgICAgfQorfQpcIE5vIG5ld2xpbmUgYXQg ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2 Yy92ZWN0LXRzdmMtczM0My5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3Zl Y3QtdHN2Yy1zMzQzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAu LjYzMDA4NTZlYTNhCi0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcv dmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMzQzLmMKQEAgLTAsMCArMSwzMCBAQAorLyogIFRoaXMg ZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgVW5pdmVyc2l0eSBvZiBJbGxpbm9pcyBP cGVuIFNvdXJjZQorICAgIExpY2Vuc2UuIFNlZSBsaWNlbnNlLnR4dCBmb3IgZGV0YWlscy4g ICovCisKKy8qIHsgZGctZG8gY29tcGlsZSB9ICovCisvKiB7IGRnLWFkZGl0aW9uYWwtb3B0 aW9ucyAiLS1wYXJhbSB2ZWN0LWVwaWxvZ3Vlcy1ub21hc2s9MCIgfSAqLworLyogeyBkZy1y ZXF1aXJlLWVmZmVjdGl2ZS10YXJnZXQgdmVjdF9mbG9hdCB9ICovCisKKyNpbmNsdWRlICJ0 c3ZjLmgiCisKK3ZvaWQgczM0MyAodm9pZCkKK3sKKy8vICAgIHBhY2tpbmcKKy8vICAgIHBh Y2sgMi1kIGFycmF5IGludG8gb25lIGRpbWVuc2lvbgorLy8gICAgbm90IHZlY3Rvcml6YWJs ZSwgdmFsdWUgb2YgayBpbiB1bmtub3duIGF0IGVhY2ggaXRlcmF0aW9uCisKKworICAgIGlu dCBrOworICAgIGZvciAoaW50IG5sID0gMDsgbmwgPCAxMCooaXRlcmF0aW9ucy9MRU5fMkQp OyBubCsrKSB7CisgICAgICAgIGsgPSAtMTsKKyAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkg PCBMRU5fMkQ7IGkrKykgeworICAgICAgICAgICAgZm9yIChpbnQgaiA9IDA7IGogPCBMRU5f MkQ7IGorKykgeworICAgICAgICAgICAgICAgIGlmIChiYltqXVtpXSA+IChyZWFsX3QpMC4p IHsKKyAgICAgICAgICAgICAgICAgICAgaysrOworICAgICAgICAgICAgICAgICAgICBmbGF0 XzJkX2FycmF5W2tdID0gYWFbal1baV07CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg ICAgfQorICAgICAgICB9CisgICAgICAgIGR1bW15KGEsIGIsIGMsIGQsIGUsIGFhLCBiYiwg Y2MsIDAuKTsKKyAgICB9Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t Z2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zMzUxLmMg Yi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXMzNTEuYwpuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uYmZlN2NlZTk5ODkKLS0tIC9k ZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3Zj LXMzNTEuYwpAQCAtMCwwICsxLDI4IEBACisvKiAgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVk IHVuZGVyIHRoZSBVbml2ZXJzaXR5IG9mIElsbGlub2lzIE9wZW4gU291cmNlCisgICAgTGlj ZW5zZS4gU2VlIGxpY2Vuc2UudHh0IGZvciBkZXRhaWxzLiAgKi8KKworLyogeyBkZy1kbyBj b21waWxlIH0gKi8KKy8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItLXBhcmFtIHZlY3Qt ZXBpbG9ndWVzLW5vbWFzaz0wIiB9ICovCisvKiB7IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRh cmdldCB2ZWN0X2Zsb2F0IH0gKi8KKworI2luY2x1ZGUgInRzdmMuaCIKKwordm9pZCBzMzUx ICh2b2lkKQoreworLy8gICAgbG9vcCByZXJvbGxpbmcKKy8vICAgIHVucm9sbGVkIHNheHB5 CisKKworICAgIHJlYWxfdCBhbHBoYSA9IGNbMF07CisgICAgZm9yIChpbnQgbmwgPSAwOyBu bCA8IDgqaXRlcmF0aW9uczsgbmwrKykgeworICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8 IExFTl8xRDsgaSArPSA1KSB7CisgICAgICAgICAgICBhW2ldICs9IGFscGhhICogYltpXTsK KyAgICAgICAgICAgIGFbaSArIDFdICs9IGFscGhhICogYltpICsgMV07CisgICAgICAgICAg ICBhW2kgKyAyXSArPSBhbHBoYSAqIGJbaSArIDJdOworICAgICAgICAgICAgYVtpICsgM10g Kz0gYWxwaGEgKiBiW2kgKyAzXTsKKyAgICAgICAgICAgIGFbaSArIDRdICs9IGFscGhhICog YltpICsgNF07CisgICAgICAgIH0KKyAgICAgICAgZHVtbXkoYSwgYiwgYywgZCwgZSwgYWEs IGJiLCBjYywgMC4pOworICAgIH0KK30KKy8qIHsgZGctZmluYWwgeyBzY2FuLXRyZWUtZHVt cC10aW1lcyAidmVjdG9yaXplZCAxIGxvb3BzIiAxICJ2ZWN0IiB9IH0gKi8KXCBObyBuZXds aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5kZy92 ZWN0L3RzdmMvdmVjdC10c3ZjLXMzNTIuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3Qv dHN2Yy92ZWN0LXRzdmMtczM1Mi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMDAwLi4yOGU1ZDUwMDBjMwotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUv Z2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczM1Mi5jCkBAIC0wLDAgKzEsMjYgQEAKKy8q ICBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIFVuaXZlcnNpdHkgb2YgSWxs aW5vaXMgT3BlbiBTb3VyY2UKKyAgICBMaWNlbnNlLiBTZWUgbGljZW5zZS50eHQgZm9yIGRl dGFpbHMuICAqLworCisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1hZGRpdGlv bmFsLW9wdGlvbnMgIi0tcGFyYW0gdmVjdC1lcGlsb2d1ZXMtbm9tYXNrPTAiIH0gKi8KKy8q IHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IHZlY3RfZmxvYXQgfSAqLworCisjaW5j bHVkZSAidHN2Yy5oIgorCit2b2lkIHMzNTIgKHZvaWQpCit7CisvLyAgICBsb29wIHJlcm9s bGluZworLy8gICAgdW5yb2xsZWQgZG90IHByb2R1Y3QKKworCisgICAgcmVhbF90IGRvdDsK KyAgICBmb3IgKGludCBubCA9IDA7IG5sIDwgOCppdGVyYXRpb25zOyBubCsrKSB7CisgICAg ICAgIGRvdCA9IChyZWFsX3QpMC47CisgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTEVO XzFEOyBpICs9IDUpIHsKKyAgICAgICAgICAgIGRvdCA9IGRvdCArIGFbaV0gKiBiW2ldICsg YVtpICsgMV0gKiBiW2kgKyAxXSArIGFbaSArIDJdCisgICAgICAgICAgICAgICAgKiBiW2kg KyAyXSArIGFbaSArIDNdICogYltpICsgM10gKyBhW2kgKyA0XSAqIGJbaSArIDRdOworICAg ICAgICB9CisgICAgICAgIGR1bW15KGEsIGIsIGMsIGQsIGUsIGFhLCBiYiwgY2MsIGRvdCk7 CisgICAgfQorfQorLyogeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1kdW1wLXRpbWVzICJ2ZWN0 b3JpemVkIDEgbG9vcHMiIDEgInZlY3QiIH0gfSAqLwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m IGZpbGUKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0 LXRzdmMtczM1My5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2 Yy1zMzUzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjFhZGI5 YmY1YmFiCi0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90 c3ZjL3ZlY3QtdHN2Yy1zMzUzLmMKQEAgLTAsMCArMSwyNyBAQAorLyogIFRoaXMgZmlsZSBp cyBkaXN0cmlidXRlZCB1bmRlciB0aGUgVW5pdmVyc2l0eSBvZiBJbGxpbm9pcyBPcGVuIFNv dXJjZQorICAgIExpY2Vuc2UuIFNlZSBsaWNlbnNlLnR4dCBmb3IgZGV0YWlscy4gICovCisK Ky8qIHsgZGctZG8gY29tcGlsZSB9ICovCisvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAi LS1wYXJhbSB2ZWN0LWVwaWxvZ3Vlcy1ub21hc2s9MCIgfSAqLworLyogeyBkZy1yZXF1aXJl LWVmZmVjdGl2ZS10YXJnZXQgdmVjdF9mbG9hdCB9ICovCisKKyNpbmNsdWRlICJ0c3ZjLmgi CisKK3ZvaWQgczM1MyAoaW50ICogX19yZXN0cmljdF9fIGlwKQoreworLy8gICAgbG9vcCBy ZXJvbGxpbmcKKy8vICAgIHVucm9sbGVkIHNwYXJzZSBzYXhweQorLy8gICAgZ2F0aGVyIGlz IHJlcXVpcmVkCisKKyAgICByZWFsX3QgYWxwaGEgPSBjWzBdOworICAgIGZvciAoaW50IG5s ID0gMDsgbmwgPCBpdGVyYXRpb25zOyBubCsrKSB7CisgICAgICAgIGZvciAoaW50IGkgPSAw OyBpIDwgTEVOXzFEOyBpICs9IDUpIHsKKyAgICAgICAgICAgIGFbaV0gKz0gYWxwaGEgKiBi W2lwW2ldXTsKKyAgICAgICAgICAgIGFbaSArIDFdICs9IGFscGhhICogYltpcFtpICsgMV1d OworICAgICAgICAgICAgYVtpICsgMl0gKz0gYWxwaGEgKiBiW2lwW2kgKyAyXV07CisgICAg ICAgICAgICBhW2kgKyAzXSArPSBhbHBoYSAqIGJbaXBbaSArIDNdXTsKKyAgICAgICAgICAg IGFbaSArIDRdICs9IGFscGhhICogYltpcFtpICsgNF1dOworICAgICAgICB9CisgICAgICAg IGR1bW15KGEsIGIsIGMsIGQsIGUsIGFhLCBiYiwgY2MsIDAuKTsKKyAgICB9Cit9CmRpZmYg LS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXM0MTEy LmMgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXM0MTEyLmMK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjEwMTk3Zjc1MWQ3Ci0t LSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3Qt dHN2Yy1zNDExMi5jCkBAIC0wLDAgKzEsMzAgQEAKKy8qICBUaGlzIGZpbGUgaXMgZGlzdHJp YnV0ZWQgdW5kZXIgdGhlIFVuaXZlcnNpdHkgb2YgSWxsaW5vaXMgT3BlbiBTb3VyY2UKKyAg ICBMaWNlbnNlLiBTZWUgbGljZW5zZS50eHQgZm9yIGRldGFpbHMuICAqLworCisvKiB7IGRn LWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi0tcGFyYW0g dmVjdC1lcGlsb2d1ZXMtbm9tYXNrPTAiIH0gKi8KKy8qIHsgZGctcmVxdWlyZS1lZmZlY3Rp dmUtdGFyZ2V0IHZlY3RfZmxvYXQgfSAqLworCisjaW5jbHVkZSAidHN2Yy5oIgorCitzdHJ1 Y3QgYXJne2ludCAqIF9fcmVzdHJpY3RfXyBhO3JlYWxfdCBiO307CisKK3ZvaWQgczQxMTIg KHN0cnVjdCBhcmcgKngpCit7CisvLyAgICBpbmRpcmVjdCBhZGRyZXNzaW5nCisvLyAgICBz cGFyc2Ugc2F4cHkKKy8vICAgIGdhdGhlciBpcyByZXF1aXJlZAorCisgICAgaW50ICogX19y ZXN0cmljdF9fIGlwID0geC0+YTsKKyAgICByZWFsX3QgcyA9IHgtPmI7CisKKworICAgIGZv ciAoaW50IG5sID0gMDsgbmwgPCBpdGVyYXRpb25zOyBubCsrKSB7CisgICAgICAgIGZvciAo aW50IGkgPSAwOyBpIDwgTEVOXzFEOyBpKyspIHsKKyAgICAgICAgICAgIGFbaV0gKz0gYltp cFtpXV0gKiBzOworICAgICAgICB9CisgICAgICAgIGR1bW15KGEsIGIsIGMsIGQsIGUsIGFh LCBiYiwgY2MsIDAuKTsKKyAgICB9Cit9CisKKy8qIHsgZGctZmluYWwgeyBzY2FuLXRyZWUt ZHVtcC10aW1lcyAidmVjdG9yaXplZCAxIGxvb3BzIiAxICJ2ZWN0IiB9IH0gKi8KXCBObyBu ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5k Zy92ZWN0L3RzdmMvdmVjdC10c3ZjLXM0MTEzLmMgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92 ZWN0L3RzdmMvdmVjdC10c3ZjLXM0MTEzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAwMDAuLjQ5YmJlMjJiNDc0Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3Rz dWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zNDExMy5jCkBAIC0wLDAgKzEsMjIg QEAKKy8qICBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIFVuaXZlcnNpdHkg b2YgSWxsaW5vaXMgT3BlbiBTb3VyY2UKKyAgICBMaWNlbnNlLiBTZWUgbGljZW5zZS50eHQg Zm9yIGRldGFpbHMuICAqLworCisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1h ZGRpdGlvbmFsLW9wdGlvbnMgIi0tcGFyYW0gdmVjdC1lcGlsb2d1ZXMtbm9tYXNrPTAiIH0g Ki8KKy8qIHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IHZlY3RfZmxvYXQgfSAqLwor CisjaW5jbHVkZSAidHN2Yy5oIgorCit2b2lkIHM0MTEzIChpbnQgKiBfX3Jlc3RyaWN0X18g aXApCit7CisvLyAgICBpbmRpcmVjdCBhZGRyZXNzaW5nCisvLyAgICBpbmRpcmVjdCBhZGRy ZXNzaW5nIG9uIHJocyBhbmQgbGhzCisvLyAgICBnYXRoZXIgYW5kIHNjYXR0ZXIgaXMgcmVx dWlyZWQKKworICAgIGZvciAoaW50IG5sID0gMDsgbmwgPCBpdGVyYXRpb25zOyBubCsrKSB7 CisgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTEVOXzFEOyBpKyspIHsKKyAgICAgICAg ICAgIGFbaXBbaV1dID0gYltpcFtpXV0gKyBjW2ldOworICAgICAgICB9CisgICAgICAgIGR1 bW15KGEsIGIsIGMsIGQsIGUsIGFhLCBiYiwgY2MsIDAuKTsKKyAgICB9Cit9CmRpZmYgLS1n aXQgYS9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXM0MTE0LmMg Yi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXM0MTE0LmMKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmQwMzZmZmNkY2UzCi0tLSAv ZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2 Yy1zNDExNC5jCkBAIC0wLDAgKzEsMzMgQEAKKy8qICBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0 ZWQgdW5kZXIgdGhlIFVuaXZlcnNpdHkgb2YgSWxsaW5vaXMgT3BlbiBTb3VyY2UKKyAgICBM aWNlbnNlLiBTZWUgbGljZW5zZS50eHQgZm9yIGRldGFpbHMuICAqLworCisvKiB7IGRnLWRv IGNvbXBpbGUgfSAqLworLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi0tcGFyYW0gdmVj dC1lcGlsb2d1ZXMtbm9tYXNrPTAiIH0gKi8KKy8qIHsgZGctcmVxdWlyZS1lZmZlY3RpdmUt dGFyZ2V0IHZlY3RfZmxvYXQgfSAqLworCisjaW5jbHVkZSAidHN2Yy5oIgorCitzdHJ1Y3Qg YXJne2ludCAqIF9fcmVzdHJpY3RfXyBhO2ludCBiO307CisKK3ZvaWQgczQxMTQgKHN0cnVj dCBhcmcgKngpCit7CisvLyAgICBpbmRpcmVjdCBhZGRyZXNzaW5nCisvLyAgICBtaXggaW5k aXJlY3QgYWRkcmVzc2luZyB3aXRoIHZhcmlhYmxlIGxvd2VyIGFuZCB1cHBlciBib3VuZHMK Ky8vICAgIGdhdGhlciBpcyByZXF1aXJlZAorCisgICAgaW50ICogX19yZXN0cmljdF9fIGlw ID0geC0+YTsKKyAgICBpbnQgbjEgPSB4LT5iOworCisKKyAgICBpbnQgazsKKyAgICBmb3Ig KGludCBubCA9IDA7IG5sIDwgaXRlcmF0aW9uczsgbmwrKykgeworICAgICAgICBmb3IgKGlu dCBpID0gbjEtMTsgaSA8IExFTl8xRDsgaSsrKSB7CisgICAgICAgICAgICBrID0gaXBbaV07 CisgICAgICAgICAgICBhW2ldID0gYltpXSArIGNbTEVOXzFELWsrMS0yXSAqIGRbaV07Cisg ICAgICAgICAgICBrICs9IDU7CisgICAgICAgIH0KKyAgICAgICAgZHVtbXkoYSwgYiwgYywg ZCwgZSwgYWEsIGJiLCBjYywgMC4pOworICAgIH0KK30KKworLyogeyBkZy1maW5hbCB7IHNj YW4tdHJlZS1kdW1wLXRpbWVzICJ2ZWN0b3JpemVkIDEgbG9vcHMiIDEgInZlY3QiIH0gfSAq LwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3Vp dGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczQxMTUuYyBiL2djYy90ZXN0c3VpdGUv Z2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczQxMTUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwMDAwMC4uODcxZmQxYjhkZDMKLS0tIC9kZXYvbnVsbAorKysgYi9n Y2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXM0MTE1LmMKQEAgLTAs MCArMSwyNCBAQAorLyogIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgVW5p dmVyc2l0eSBvZiBJbGxpbm9pcyBPcGVuIFNvdXJjZQorICAgIExpY2Vuc2UuIFNlZSBsaWNl bnNlLnR4dCBmb3IgZGV0YWlscy4gICovCisKKy8qIHsgZGctZG8gY29tcGlsZSB9ICovCisv KiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLS1wYXJhbSB2ZWN0LWVwaWxvZ3Vlcy1ub21h c2s9MCIgfSAqLworLyogeyBkZy1yZXF1aXJlLWVmZmVjdGl2ZS10YXJnZXQgdmVjdF9mbG9h dCB9ICovCisKKyNpbmNsdWRlICJ0c3ZjLmgiCisKK3ZvaWQgczQxMTUgKGludCAqIF9fcmVz dHJpY3RfXyBpcCkKK3sKKy8vICAgIGluZGlyZWN0IGFkZHJlc3NpbmcKKy8vICAgIHNwYXJz ZSBkb3QgcHJvZHVjdAorLy8gICAgZ2F0aGVyIGlzIHJlcXVpcmVkCisKKyAgICByZWFsX3Qg c3VtOworICAgIGZvciAoaW50IG5sID0gMDsgbmwgPCBpdGVyYXRpb25zOyBubCsrKSB7Cisg ICAgICAgIHN1bSA9IDAuOworICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IExFTl8xRDsg aSsrKSB7CisgICAgICAgICAgICBzdW0gKz0gYVtpXSAqIGJbaXBbaV1dOworICAgICAgICB9 CisgICAgICAgIGR1bW15KGEsIGIsIGMsIGQsIGUsIGFhLCBiYiwgY2MsIDAuKTsKKyAgICB9 Cit9CmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10 c3ZjLXM0MTE2LmMgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3Zj LXM0MTE2LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjhjNmFj N2VkYzM1Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90 c3ZjL3ZlY3QtdHN2Yy1zNDExNi5jCkBAIC0wLDAgKzEsMzMgQEAKKy8qICBUaGlzIGZpbGUg aXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIFVuaXZlcnNpdHkgb2YgSWxsaW5vaXMgT3BlbiBT b3VyY2UKKyAgICBMaWNlbnNlLiBTZWUgbGljZW5zZS50eHQgZm9yIGRldGFpbHMuICAqLwor CisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMg Ii0tcGFyYW0gdmVjdC1lcGlsb2d1ZXMtbm9tYXNrPTAiIH0gKi8KKy8qIHsgZGctcmVxdWly ZS1lZmZlY3RpdmUtdGFyZ2V0IHZlY3RfZmxvYXQgfSAqLworCisjaW5jbHVkZSAidHN2Yy5o IgorCitzdHJ1Y3QgYXJne2ludCAqIF9fcmVzdHJpY3RfXyBhO2ludCBiO2ludCBjO307CisK K3ZvaWQgczQxMTYgKHN0cnVjdCBhcmcgKngpCit7CisvLyAgICBpbmRpcmVjdCBhZGRyZXNz aW5nCisvLyAgICBtb3JlIGNvbXBsaWNhdGVkIHNwYXJzZSBzZG90CisvLyAgICBnYXRoZXIg aXMgcmVxdWlyZWQKKworICAgIGludCAqIF9fcmVzdHJpY3RfXyBpcCA9IHgtPmE7CisgICAg aW50IGogPSB4LT5iOworICAgIGludCBpbmMgPSB4LT5jOworCisKKyAgICByZWFsX3Qgc3Vt OworICAgIGludCBvZmY7CisgICAgZm9yIChpbnQgbmwgPSAwOyBubCA8IDEwMCppdGVyYXRp b25zOyBubCsrKSB7CisgICAgICAgIHN1bSA9IDAuOworICAgICAgICBmb3IgKGludCBpID0g MDsgaSA8IExFTl8yRC0xOyBpKyspIHsKKyAgICAgICAgICAgIG9mZiA9IGluYyArIGk7Cisg ICAgICAgICAgICBzdW0gKz0gYVtvZmZdICogYWFbai0xXVtpcFtpXV07CisgICAgICAgIH0K KyAgICAgICAgZHVtbXkoYSwgYiwgYywgZCwgZSwgYWEsIGJiLCBjYywgMC4pOworICAgIH0K K30KZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRz dmMtczQxMTcuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMt czQxMTcuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNmIyMjBm MzFkNmMKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3Rz dmMvdmVjdC10c3ZjLXM0MTE3LmMKQEAgLTAsMCArMSwyMyBAQAorLyogIFRoaXMgZmlsZSBp cyBkaXN0cmlidXRlZCB1bmRlciB0aGUgVW5pdmVyc2l0eSBvZiBJbGxpbm9pcyBPcGVuIFNv dXJjZQorICAgIExpY2Vuc2UuIFNlZSBsaWNlbnNlLnR4dCBmb3IgZGV0YWlscy4gICovCisK Ky8qIHsgZGctZG8gY29tcGlsZSB9ICovCisvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAi LS1wYXJhbSB2ZWN0LWVwaWxvZ3Vlcy1ub21hc2s9MCIgfSAqLworLyogeyBkZy1yZXF1aXJl LWVmZmVjdGl2ZS10YXJnZXQgdmVjdF9mbG9hdCB9ICovCisKKyNpbmNsdWRlICJ0c3ZjLmgi CisKK3ZvaWQgczQxMTcgKHZvaWQpCit7CisvLyAgICBpbmRpcmVjdCBhZGRyZXNzaW5nCisv LyAgICBzZXEgZnVuY3Rpb24KKworCisgICAgZm9yIChpbnQgbmwgPSAwOyBubCA8IGl0ZXJh dGlvbnM7IG5sKyspIHsKKyAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBMRU5fMUQ7IGkr KykgeworICAgICAgICAgICAgYVtpXSA9IGJbaV0gKyBjW2kvMl0gKiBkW2ldOworICAgICAg ICB9CisgICAgICAgIGR1bW15KGEsIGIsIGMsIGQsIGUsIGFhLCBiYiwgY2MsIDAuKTsKKyAg ICB9Cit9CisvKiB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtdGltZXMgInZlY3Rvcml6 ZWQgMSBsb29wcyIgMSAidmVjdCIgfSB9ICovClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls ZQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2 Yy1zNDEyMS5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1z NDEyMS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi45OTlmNzhh ZGYyZgotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2 Yy92ZWN0LXRzdmMtczQxMjEuYwpAQCAtMCwwICsxLDI4IEBACisvKiAgVGhpcyBmaWxlIGlz IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBVbml2ZXJzaXR5IG9mIElsbGlub2lzIE9wZW4gU291 cmNlCisgICAgTGljZW5zZS4gU2VlIGxpY2Vuc2UudHh0IGZvciBkZXRhaWxzLiAgKi8KKwor LyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICIt LXBhcmFtIHZlY3QtZXBpbG9ndWVzLW5vbWFzaz0wIiB9ICovCisvKiB7IGRnLXJlcXVpcmUt ZWZmZWN0aXZlLXRhcmdldCB2ZWN0X2Zsb2F0IH0gKi8KKworI2luY2x1ZGUgInRzdmMuaCIK KworcmVhbF90IGYocmVhbF90IGEsIHJlYWxfdCBiKXsKKyAgICByZXR1cm4gYSpiOworfQor Cit2b2lkIHM0MTIxICh2b2lkKQoreworLy8gICAgc3RhdGVtZW50IGZ1bmN0aW9ucworLy8g ICAgZWxlbWVudHdpc2UgbXVsdGlwbGljYXRpb24KKworCisgICAgZm9yIChpbnQgbmwgPSAw OyBubCA8IGl0ZXJhdGlvbnM7IG5sKyspIHsKKyAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkg PCBMRU5fMUQ7IGkrKykgeworICAgICAgICAgICAgYVtpXSArPSBmKGJbaV0sY1tpXSk7Cisg ICAgICAgIH0KKyAgICAgICAgZHVtbXkoYSwgYiwgYywgZCwgZSwgYWEsIGJiLCBjYywgMC4p OworICAgIH0KK30KKworLyogeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1kdW1wLXRpbWVzICJ2 ZWN0b3JpemVkIDEgbG9vcHMiIDEgInZlY3QiIH0gfSAqLwpcIE5vIG5ld2xpbmUgYXQgZW5k IG9mIGZpbGUKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92 ZWN0LXRzdmMtczQyMS5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3Qt dHN2Yy1zNDIxLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmVh YTUwMjY5OWQ0Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVj dC90c3ZjL3ZlY3QtdHN2Yy1zNDIxLmMKQEAgLTAsMCArMSwyNiBAQAorLyogIFRoaXMgZmls ZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgVW5pdmVyc2l0eSBvZiBJbGxpbm9pcyBPcGVu IFNvdXJjZQorICAgIExpY2Vuc2UuIFNlZSBsaWNlbnNlLnR4dCBmb3IgZGV0YWlscy4gICov CisKKy8qIHsgZGctZG8gY29tcGlsZSB9ICovCisvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9u cyAiLS1wYXJhbSB2ZWN0LWVwaWxvZ3Vlcy1ub21hc2s9MCIgfSAqLworLyogeyBkZy1yZXF1 aXJlLWVmZmVjdGl2ZS10YXJnZXQgdmVjdF9mbG9hdCB9ICovCisKKyNpbmNsdWRlICJ0c3Zj LmgiCisKK3ZvaWQgczQyMSAodm9pZCkKK3sKKy8vICAgIHN0b3JhZ2UgY2xhc3NlcyBhbmQg ZXF1aXZhbGVuY2luZworLy8gICAgZXF1aXZhbGVuY2UtIG5vIG92ZXJsYXAKKworCisgICAg eHggPSBmbGF0XzJkX2FycmF5OworCisgICAgZm9yIChpbnQgbmwgPSAwOyBubCA8IDQqaXRl cmF0aW9uczsgbmwrKykgeworICAgICAgICB5eSA9IHh4OworICAgICAgICBmb3IgKGludCBp ID0gMDsgaSA8IExFTl8xRCAtIDE7IGkrKykgeworICAgICAgICAgICAgeHhbaV0gPSB5eVtp KzFdICsgYVtpXTsKKyAgICAgICAgfQorICAgICAgICBkdW1teShhLCBiLCBjLCBkLCBlLCBh YSwgYmIsIGNjLCAxLik7CisgICAgfQorfQorLyogeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1k dW1wLXRpbWVzICJ2ZWN0b3JpemVkIDEgbG9vcHMiIDEgInZlY3QiIH0gfSAqLwpcIE5vIG5l d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRn L3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczQyMi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVj dC90c3ZjL3ZlY3QtdHN2Yy1zNDIyLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMDAwMDAuLjYzYjkxMDRmZjhiCi0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0 ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zNDIyLmMKQEAgLTAsMCArMSwyNiBAQAor LyogIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgVW5pdmVyc2l0eSBvZiBJ bGxpbm9pcyBPcGVuIFNvdXJjZQorICAgIExpY2Vuc2UuIFNlZSBsaWNlbnNlLnR4dCBmb3Ig ZGV0YWlscy4gICovCisKKy8qIHsgZGctZG8gY29tcGlsZSB9ICovCisvKiB7IGRnLWFkZGl0 aW9uYWwtb3B0aW9ucyAiLS1wYXJhbSB2ZWN0LWVwaWxvZ3Vlcy1ub21hc2s9MCIgfSAqLwor LyogeyBkZy1yZXF1aXJlLWVmZmVjdGl2ZS10YXJnZXQgdmVjdF9mbG9hdCB9ICovCisKKyNp bmNsdWRlICJ0c3ZjLmgiCisKK3ZvaWQgczQyMiAodm9pZCkKK3sKKy8vICAgIHN0b3JhZ2Ug Y2xhc3NlcyBhbmQgZXF1aXZhbGVuY2luZworLy8gICAgY29tbW9uIGFuZCBlcXVpdmFsZW5j ZSBzdGF0ZW1lbnQKKy8vICAgIGFudGktZGVwZW5kZW5jZSwgdGhyZXNob2xkIG9mIDQKKwor CisgICAgeHggPSBmbGF0XzJkX2FycmF5ICsgNDsKKworICAgIGZvciAoaW50IG5sID0gMDsg bmwgPCA4Kml0ZXJhdGlvbnM7IG5sKyspIHsKKyAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkg PCBMRU5fMUQ7IGkrKykgeworICAgICAgICAgICAgeHhbaV0gPSBmbGF0XzJkX2FycmF5W2kg KyA4XSArIGFbaV07CisgICAgICAgIH0KKyAgICAgICAgZHVtbXkoYSwgYiwgYywgZCwgZSwg YWEsIGJiLCBjYywgMC4pOworICAgIH0KK30KKy8qIHsgZGctZmluYWwgeyBzY2FuLXRyZWUt ZHVtcC10aW1lcyAidmVjdG9yaXplZCAxIGxvb3BzIiAxICJ2ZWN0IiB9IH0gKi8KXCBObyBu ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5k Zy92ZWN0L3RzdmMvdmVjdC10c3ZjLXM0MjMuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3Zl Y3QvdHN2Yy92ZWN0LXRzdmMtczQyMy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAwMDAwLi43NWViNDM1OTM4MgotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3Vp dGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczQyMy5jCkBAIC0wLDAgKzEsMjcgQEAK Ky8qICBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIFVuaXZlcnNpdHkgb2Yg SWxsaW5vaXMgT3BlbiBTb3VyY2UKKyAgICBMaWNlbnNlLiBTZWUgbGljZW5zZS50eHQgZm9y IGRldGFpbHMuICAqLworCisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1hZGRp dGlvbmFsLW9wdGlvbnMgIi0tcGFyYW0gdmVjdC1lcGlsb2d1ZXMtbm9tYXNrPTAiIH0gKi8K Ky8qIHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IHZlY3RfZmxvYXQgfSAqLworCisj aW5jbHVkZSAidHN2Yy5oIgorCit2b2lkIHM0MjMgKHZvaWQpCit7CisvLyAgICBzdG9yYWdl IGNsYXNzZXMgYW5kIGVxdWl2YWxlbmNpbmcKKy8vICAgIGNvbW1vbiBhbmQgZXF1aXZhbGVu Y2VkIHZhcmlhYmxlcyAtIHdpdGggYW50aS1kZXBlbmRlbmNlCisKKyAgICAvLyBkbyB0aGlz IGFnYWluIGhlcmUKKyAgICBpbnQgdmwgPSA2NDsKKyAgICB4eCA9IGZsYXRfMmRfYXJyYXkg KyB2bDsKKworCisgICAgZm9yIChpbnQgbmwgPSAwOyBubCA8IDQqaXRlcmF0aW9uczsgbmwr KykgeworICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IExFTl8xRCAtIDE7IGkrKykgewor ICAgICAgICAgICAgZmxhdF8yZF9hcnJheVtpKzFdID0geHhbaV0gKyBhW2ldOworICAgICAg ICB9CisgICAgICAgIGR1bW15KGEsIGIsIGMsIGQsIGUsIGFhLCBiYiwgY2MsIDEuKTsKKyAg ICB9Cit9CisvKiB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtdGltZXMgInZlY3Rvcml6 ZWQgMSBsb29wcyIgMSAidmVjdCIgfSB9ICovClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls ZQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2 Yy1zNDI0LmMgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXM0 MjQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMTQ1YTJhZjll ZGUKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMv dmVjdC10c3ZjLXM0MjQuYwpAQCAtMCwwICsxLDI4IEBACisvKiAgVGhpcyBmaWxlIGlzIGRp c3RyaWJ1dGVkIHVuZGVyIHRoZSBVbml2ZXJzaXR5IG9mIElsbGlub2lzIE9wZW4gU291cmNl CisgICAgTGljZW5zZS4gU2VlIGxpY2Vuc2UudHh0IGZvciBkZXRhaWxzLiAgKi8KKworLyog eyBkZy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItLXBh cmFtIHZlY3QtZXBpbG9ndWVzLW5vbWFzaz0wIiB9ICovCisvKiB7IGRnLXJlcXVpcmUtZWZm ZWN0aXZlLXRhcmdldCB2ZWN0X2Zsb2F0IH0gKi8KKworI2luY2x1ZGUgInRzdmMuaCIKKwor dm9pZCBzNDI0ICh2b2lkKQoreworLy8gICAgc3RvcmFnZSBjbGFzc2VzIGFuZCBlcXVpdmFs ZW5jaW5nCisvLyAgICBjb21tb24gYW5kIGVxdWl2YWxlbmNlZCB2YXJpYWJsZXMgLSBvdmVy bGFwCisvLyAgICB2ZWN0b3JpemVhYmxlIGluIHN0cmlwcyBvZiA2NCBvciBsZXNzCisKKyAg ICAvLyBkbyB0aGlzIGFnYWluIGhlcmUKKyAgICBpbnQgdmwgPSA2MzsKKyAgICB4eCA9IGZs YXRfMmRfYXJyYXkgKyB2bDsKKworCisgICAgZm9yIChpbnQgbmwgPSAwOyBubCA8IDQqaXRl cmF0aW9uczsgbmwrKykgeworICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IExFTl8xRCAt IDE7IGkrKykgeworICAgICAgICAgICAgeHhbaSsxXSA9IGZsYXRfMmRfYXJyYXlbaV0gKyBh W2ldOworICAgICAgICB9CisgICAgICAgIGR1bW15KGEsIGIsIGMsIGQsIGUsIGFhLCBiYiwg Y2MsIDEuKTsKKyAgICB9Cit9CisvKiB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtdGlt ZXMgInZlY3Rvcml6ZWQgMSBsb29wcyIgMSAidmVjdCIgfSB9ICovClwgTm8gbmV3bGluZSBh dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90 c3ZjL3ZlY3QtdHN2Yy1zNDMxLmMgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMv dmVjdC10c3ZjLXM0MzEuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw MC4uNGYyNTk3YWZmOGYKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy5k Zy92ZWN0L3RzdmMvdmVjdC10c3ZjLXM0MzEuYwpAQCAtMCwwICsxLDI3IEBACisvKiAgVGhp cyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBVbml2ZXJzaXR5IG9mIElsbGlub2lz IE9wZW4gU291cmNlCisgICAgTGljZW5zZS4gU2VlIGxpY2Vuc2UudHh0IGZvciBkZXRhaWxz LiAgKi8KKworLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGctYWRkaXRpb25hbC1v cHRpb25zICItLXBhcmFtIHZlY3QtZXBpbG9ndWVzLW5vbWFzaz0wIiB9ICovCisvKiB7IGRn LXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdldCB2ZWN0X2Zsb2F0IH0gKi8KKworI2luY2x1ZGUg InRzdmMuaCIKKwordm9pZCBzNDMxICh2b2lkKQoreworLy8gICAgcGFyYW1ldGVycworLy8g ICAgcGFyYW1ldGVyIHN0YXRlbWVudAorCisgICAgaW50IGsxPTE7CisgICAgaW50IGsyPTI7 CisgICAgaW50IGs9MiprMS1rMjsKKworCisgICAgZm9yIChpbnQgbmwgPSAwOyBubCA8IGl0 ZXJhdGlvbnMqMTA7IG5sKyspIHsKKyAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBMRU5f MUQ7IGkrKykgeworICAgICAgICAgICAgYVtpXSA9IGFbaStrXSArIGJbaV07CisgICAgICAg IH0KKyAgICAgICAgZHVtbXkoYSwgYiwgYywgZCwgZSwgYWEsIGJiLCBjYywgMC4pOworICAg IH0KK30KKy8qIHsgZGctZmluYWwgeyBzY2FuLXRyZWUtZHVtcC10aW1lcyAidmVjdG9yaXpl ZCAxIGxvb3BzIiAxICJ2ZWN0IiB9IH0gKi8KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl CmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3Zj LXM0NDEuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczQ0 MS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi43ZjdhYjIyNmZj ZAotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92 ZWN0LXRzdmMtczQ0MS5jCkBAIC0wLDAgKzEsMjggQEAKKy8qICBUaGlzIGZpbGUgaXMgZGlz dHJpYnV0ZWQgdW5kZXIgdGhlIFVuaXZlcnNpdHkgb2YgSWxsaW5vaXMgT3BlbiBTb3VyY2UK KyAgICBMaWNlbnNlLiBTZWUgbGljZW5zZS50eHQgZm9yIGRldGFpbHMuICAqLworCisvKiB7 IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi0tcGFy YW0gdmVjdC1lcGlsb2d1ZXMtbm9tYXNrPTAiIH0gKi8KKy8qIHsgZGctcmVxdWlyZS1lZmZl Y3RpdmUtdGFyZ2V0IHZlY3RfZmxvYXQgfSAqLworCisjaW5jbHVkZSAidHN2Yy5oIgorCit2 b2lkIHM0NDEgKHZvaWQpCit7CisvLyAgICBub24tbG9naWNhbCBpZidzCisvLyAgICBhcml0 aG1ldGljIGlmCisKKworICAgIGZvciAoaW50IG5sID0gMDsgbmwgPCBpdGVyYXRpb25zOyBu bCsrKSB7CisgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTEVOXzFEOyBpKyspIHsKKyAg ICAgICAgICAgIGlmIChkW2ldIDwgKHJlYWxfdCkwLikgeworICAgICAgICAgICAgICAgIGFb aV0gKz0gYltpXSAqIGNbaV07CisgICAgICAgICAgICB9IGVsc2UgaWYgKGRbaV0gPT0gKHJl YWxfdCkwLikgeworICAgICAgICAgICAgICAgIGFbaV0gKz0gYltpXSAqIGJbaV07CisgICAg ICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIGFbaV0gKz0gY1tpXSAqIGNbaV07 CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgZHVtbXkoYSwgYiwgYywgZCwg ZSwgYWEsIGJiLCBjYywgMC4pOworICAgIH0KK30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm aWxlCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10 c3ZjLXM0NDIuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMt czQ0Mi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4xYzQ1OWUw NTE1MQotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2 Yy92ZWN0LXRzdmMtczQ0Mi5jCkBAIC0wLDAgKzEsNDAgQEAKKy8qICBUaGlzIGZpbGUgaXMg ZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIFVuaXZlcnNpdHkgb2YgSWxsaW5vaXMgT3BlbiBTb3Vy Y2UKKyAgICBMaWNlbnNlLiBTZWUgbGljZW5zZS50eHQgZm9yIGRldGFpbHMuICAqLworCisv KiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi0t cGFyYW0gdmVjdC1lcGlsb2d1ZXMtbm9tYXNrPTAiIH0gKi8KKy8qIHsgZGctcmVxdWlyZS1l ZmZlY3RpdmUtdGFyZ2V0IHZlY3RfZmxvYXQgfSAqLworCisjaW5jbHVkZSAidHN2Yy5oIgor Cit2b2lkIHM0NDIgKHZvaWQpCit7CisvLyAgICBub24tbG9naWNhbCBpZidzCisvLyAgICBj b21wdXRlZCBnb3RvCisKKworICAgIGZvciAoaW50IG5sID0gMDsgbmwgPCBpdGVyYXRpb25z LzI7IG5sKyspIHsKKyAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBMRU5fMUQ7IGkrKykg eworICAgICAgICAgICAgc3dpdGNoIChpbmR4W2ldKSB7CisgICAgICAgICAgICAgICAgY2Fz ZSAxOiAgZ290byBMMTU7CisgICAgICAgICAgICAgICAgY2FzZSAyOiAgZ290byBMMjA7Cisg ICAgICAgICAgICAgICAgY2FzZSAzOiAgZ290byBMMzA7CisgICAgICAgICAgICAgICAgY2Fz ZSA0OiAgZ290byBMNDA7CisgICAgICAgICAgICB9CitMMTU6CisgICAgICAgICAgICBhW2ld ICs9IGJbaV0gKiBiW2ldOworICAgICAgICAgICAgZ290byBMNTA7CitMMjA6CisgICAgICAg ICAgICBhW2ldICs9IGNbaV0gKiBjW2ldOworICAgICAgICAgICAgZ290byBMNTA7CitMMzA6 CisgICAgICAgICAgICBhW2ldICs9IGRbaV0gKiBkW2ldOworICAgICAgICAgICAgZ290byBM NTA7CitMNDA6CisgICAgICAgICAgICBhW2ldICs9IGVbaV0gKiBlW2ldOworTDUwOgorICAg ICAgICAgICAgOworICAgICAgICB9CisgICAgICAgIGR1bW15KGEsIGIsIGMsIGQsIGUsIGFh LCBiYiwgY2MsIDAuKTsKKyAgICB9Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk aWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1z NDQzLmMgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXM0NDMu YwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uYTg2MjNmOTExOWEK LS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVj dC10c3ZjLXM0NDMuYwpAQCAtMCwwICsxLDMzIEBACisvKiAgVGhpcyBmaWxlIGlzIGRpc3Ry aWJ1dGVkIHVuZGVyIHRoZSBVbml2ZXJzaXR5IG9mIElsbGlub2lzIE9wZW4gU291cmNlCisg ICAgTGljZW5zZS4gU2VlIGxpY2Vuc2UudHh0IGZvciBkZXRhaWxzLiAgKi8KKworLyogeyBk Zy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItLXBhcmFt IHZlY3QtZXBpbG9ndWVzLW5vbWFzaz0wIiB9ICovCisvKiB7IGRnLXJlcXVpcmUtZWZmZWN0 aXZlLXRhcmdldCB2ZWN0X2Zsb2F0IH0gKi8KKworI2luY2x1ZGUgInRzdmMuaCIKKwordm9p ZCBzNDQzICh2b2lkKQoreworLy8gICAgbm9uLWxvZ2ljYWwgaWYncworLy8gICAgYXJpdGht ZXRpYyBpZgorCisKKyAgICBmb3IgKGludCBubCA9IDA7IG5sIDwgMippdGVyYXRpb25zOyBu bCsrKSB7CisgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTEVOXzFEOyBpKyspIHsKKyAg ICAgICAgICAgIGlmIChkW2ldIDw9IChyZWFsX3QpMC4pIHsKKyAgICAgICAgICAgICAgICBn b3RvIEwyMDsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgZ290byBM MzA7CisgICAgICAgICAgICB9CitMMjA6CisgICAgICAgICAgICBhW2ldICs9IGJbaV0gKiBj W2ldOworICAgICAgICAgICAgZ290byBMNTA7CitMMzA6CisgICAgICAgICAgICBhW2ldICs9 IGJbaV0gKiBiW2ldOworTDUwOgorICAgICAgICAgICAgOworICAgICAgICB9CisgICAgICAg IGR1bW15KGEsIGIsIGMsIGQsIGUsIGFhLCBiYiwgY2MsIDAuKTsKKyAgICB9Cit9ClwgTm8g bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2Mu ZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zNDUxLmMgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92 ZWN0L3RzdmMvdmVjdC10c3ZjLXM0NTEuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAwMC4uM2IxM2IyYzdlMTMKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1 aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXM0NTEuYwpAQCAtMCwwICsxLDIyIEBA CisvKiAgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBVbml2ZXJzaXR5IG9m IElsbGlub2lzIE9wZW4gU291cmNlCisgICAgTGljZW5zZS4gU2VlIGxpY2Vuc2UudHh0IGZv ciBkZXRhaWxzLiAgKi8KKworLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGctYWRk aXRpb25hbC1vcHRpb25zICItLXBhcmFtIHZlY3QtZXBpbG9ndWVzLW5vbWFzaz0wIiB9ICov CisvKiB7IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdldCB2ZWN0X2Zsb2F0IH0gKi8KKwor I2luY2x1ZGUgInRzdmMuaCIKKwordm9pZCBzNDUxICh2b2lkKQoreworLy8gICAgaW50cmlu c2ljIGZ1bmN0aW9ucworLy8gICAgaW50cmluc2ljcworCisKKyAgICBmb3IgKGludCBubCA9 IDA7IG5sIDwgaXRlcmF0aW9ucy81OyBubCsrKSB7CisgICAgICAgIGZvciAoaW50IGkgPSAw OyBpIDwgTEVOXzFEOyBpKyspIHsKKyAgICAgICAgICAgIGFbaV0gPSBzaW5mKGJbaV0pICsg Y29zZihjW2ldKTsKKyAgICAgICAgfQorICAgICAgICBkdW1teShhLCBiLCBjLCBkLCBlLCBh YSwgYmIsIGNjLCAwLik7CisgICAgfQorfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK ZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMt czQ1Mi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zNDUy LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjdlMGRjMjE5MGQ2 Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3Zl Y3QtdHN2Yy1zNDUyLmMKQEAgLTAsMCArMSwyMyBAQAorLyogIFRoaXMgZmlsZSBpcyBkaXN0 cmlidXRlZCB1bmRlciB0aGUgVW5pdmVyc2l0eSBvZiBJbGxpbm9pcyBPcGVuIFNvdXJjZQor ICAgIExpY2Vuc2UuIFNlZSBsaWNlbnNlLnR4dCBmb3IgZGV0YWlscy4gICovCisKKy8qIHsg ZGctZG8gY29tcGlsZSB9ICovCisvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLS1wYXJh bSB2ZWN0LWVwaWxvZ3Vlcy1ub21hc2s9MCIgfSAqLworLyogeyBkZy1yZXF1aXJlLWVmZmVj dGl2ZS10YXJnZXQgdmVjdF9mbG9hdCB9ICovCisKKyNpbmNsdWRlICJ0c3ZjLmgiCisKK3Zv aWQgczQ1MiAodm9pZCkKK3sKKy8vICAgIGludHJpbnNpYyBmdW5jdGlvbnMKKy8vICAgIHNl cSBmdW5jdGlvbgorCisKKyAgICBmb3IgKGludCBubCA9IDA7IG5sIDwgNCppdGVyYXRpb25z OyBubCsrKSB7CisgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTEVOXzFEOyBpKyspIHsK KyAgICAgICAgICAgIGFbaV0gPSBiW2ldICsgY1tpXSAqIChyZWFsX3QpIChpKzEpOworICAg ICAgICB9CisgICAgICAgIGR1bW15KGEsIGIsIGMsIGQsIGUsIGFhLCBiYiwgY2MsIDAuKTsK KyAgICB9Cit9CisvKiB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtdGltZXMgInZlY3Rv cml6ZWQgMSBsb29wcyIgMSAidmVjdCIgfSB9ICovClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg ZmlsZQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3Qt dHN2Yy1zNDUzLmMgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3Zj LXM0NTMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uYzAxMTVj ZTM3NTMKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3Rz dmMvdmVjdC10c3ZjLXM0NTMuYwpAQCAtMCwwICsxLDI1IEBACisvKiAgVGhpcyBmaWxlIGlz IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBVbml2ZXJzaXR5IG9mIElsbGlub2lzIE9wZW4gU291 cmNlCisgICAgTGljZW5zZS4gU2VlIGxpY2Vuc2UudHh0IGZvciBkZXRhaWxzLiAgKi8KKwor LyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICIt LXBhcmFtIHZlY3QtZXBpbG9ndWVzLW5vbWFzaz0wIiB9ICovCisvKiB7IGRnLXJlcXVpcmUt ZWZmZWN0aXZlLXRhcmdldCB2ZWN0X2Zsb2F0IH0gKi8KKworI2luY2x1ZGUgInRzdmMuaCIK Kwordm9pZCBzNDUzICh2b2lkKQoreworLy8gICAgaW5kdWN0aW9uIHZhcmliYWxlIHJlY29n bml0aW9uCisKKyAgICByZWFsX3QgczsKKworCisgICAgZm9yIChpbnQgbmwgPSAwOyBubCA8 IGl0ZXJhdGlvbnMqMjsgbmwrKykgeworICAgICAgICBzID0gMC47CisgICAgICAgIGZvciAo aW50IGkgPSAwOyBpIDwgTEVOXzFEOyBpKyspIHsKKyAgICAgICAgICAgIHMgKz0gKHJlYWxf dCkyLjsKKyAgICAgICAgICAgIGFbaV0gPSBzICogYltpXTsKKyAgICAgICAgfQorICAgICAg ICBkdW1teShhLCBiLCBjLCBkLCBlLCBhYSwgYmIsIGNjLCAwLik7CisgICAgfQorfQpcIE5v IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2Nj LmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczQ3MS5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcv dmVjdC90c3ZjL3ZlY3QtdHN2Yy1zNDcxLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAwMDAuLjVkZTMxNjczOGY5Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3Rz dWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy1zNDcxLmMKQEAgLTAsMCArMSwzMyBA QAorLyogIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgVW5pdmVyc2l0eSBv ZiBJbGxpbm9pcyBPcGVuIFNvdXJjZQorICAgIExpY2Vuc2UuIFNlZSBsaWNlbnNlLnR4dCBm b3IgZGV0YWlscy4gICovCisKKy8qIHsgZGctZG8gY29tcGlsZSB9ICovCisvKiB7IGRnLWFk ZGl0aW9uYWwtb3B0aW9ucyAiLS1wYXJhbSB2ZWN0LWVwaWxvZ3Vlcy1ub21hc2s9MCIgfSAq LworLyogeyBkZy1yZXF1aXJlLWVmZmVjdGl2ZS10YXJnZXQgdmVjdF9mbG9hdCB9ICovCisK KyNpbmNsdWRlICJ0c3ZjLmgiCisKK2ludCBzNDcxcyh2b2lkKQoreworLy8gLS0gIGR1bW15 IHN1YnJvdXRpbmUgY2FsbCBtYWRlIGluIHM0NzEKKyAgICByZXR1cm4gMDsKK30KKwordm9p ZCBzNDcxICh2b2lkKQoreworLy8gICAgY2FsbCBzdGF0ZW1lbnRzCisKKyAgICBpbnQgbSA9 IExFTl8xRDsKKworCisgICAgZm9yIChpbnQgbmwgPSAwOyBubCA8IGl0ZXJhdGlvbnMvMjsg bmwrKykgeworICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IG07IGkrKykgeworICAgICAg ICAgICAgeFtpXSA9IGJbaV0gKyBkW2ldICogZFtpXTsKKyAgICAgICAgICAgIHM0NzFzKCk7 CisgICAgICAgICAgICBiW2ldID0gY1tpXSArIGRbaV0gKiBlW2ldOworICAgICAgICB9Cisg ICAgICAgIGR1bW15KGEsIGIsIGMsIGQsIGUsIGFhLCBiYiwgY2MsIDAuKTsKKyAgICB9Cit9 CisKKy8qIHsgZGctZmluYWwgeyBzY2FuLXRyZWUtZHVtcC10aW1lcyAidmVjdG9yaXplZCAx IGxvb3BzIiAxICJ2ZWN0IiB9IH0gKi8KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp ZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXM0 ODEuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczQ4MS5j Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi42YWQ4MjcyYWViMgot LS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0 LXRzdmMtczQ4MS5jCkBAIC0wLDAgKzEsMjUgQEAKKy8qICBUaGlzIGZpbGUgaXMgZGlzdHJp YnV0ZWQgdW5kZXIgdGhlIFVuaXZlcnNpdHkgb2YgSWxsaW5vaXMgT3BlbiBTb3VyY2UKKyAg ICBMaWNlbnNlLiBTZWUgbGljZW5zZS50eHQgZm9yIGRldGFpbHMuICAqLworCisvKiB7IGRn LWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi0tcGFyYW0g dmVjdC1lcGlsb2d1ZXMtbm9tYXNrPTAiIH0gKi8KKy8qIHsgZGctcmVxdWlyZS1lZmZlY3Rp dmUtdGFyZ2V0IHZlY3RfZmxvYXQgfSAqLworCisjaW5jbHVkZSAidHN2Yy5oIgorCit2b2lk IHM0ODEgKHZvaWQpCit7CisvLyAgICBub24tbG9jYWwgZ290bydzCisvLyAgICBzdG9wIHN0 YXRlbWVudAorCisKKyAgICBmb3IgKGludCBubCA9IDA7IG5sIDwgaXRlcmF0aW9uczsgbmwr KykgeworICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IExFTl8xRDsgaSsrKSB7CisgICAg ICAgICAgICBpZiAoZFtpXSA8IChyZWFsX3QpMC4pIHsKKyAgICAgICAgICAgICAgICBleGl0 ICgwKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGFbaV0gKz0gYltpXSAqIGNbaV07 CisgICAgICAgIH0KKyAgICAgICAgZHVtbXkoYSwgYiwgYywgZCwgZSwgYWEsIGJiLCBjYywg MC4pOworICAgIH0KK30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg YS9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXM0ODIuYyBiL2dj Yy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczQ4Mi5jCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5iYmE1Zjc0NDQ1MwotLS0gL2Rldi9u dWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtczQ4 Mi5jCkBAIC0wLDAgKzEsMjMgQEAKKy8qICBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5k ZXIgdGhlIFVuaXZlcnNpdHkgb2YgSWxsaW5vaXMgT3BlbiBTb3VyY2UKKyAgICBMaWNlbnNl LiBTZWUgbGljZW5zZS50eHQgZm9yIGRldGFpbHMuICAqLworCisvKiB7IGRnLWRvIGNvbXBp bGUgfSAqLworLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi0tcGFyYW0gdmVjdC1lcGls b2d1ZXMtbm9tYXNrPTAiIH0gKi8KKy8qIHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0 IHZlY3RfZmxvYXQgfSAqLworCisjaW5jbHVkZSAidHN2Yy5oIgorCit2b2lkIHM0ODIgKHZv aWQpCit7CisvLyAgICBub24tbG9jYWwgZ290bydzCisvLyAgICBvdGhlciBsb29wIGV4aXQg d2l0aCBjb2RlIGJlZm9yZSBleGl0CisKKworICAgIGZvciAoaW50IG5sID0gMDsgbmwgPCBp dGVyYXRpb25zOyBubCsrKSB7CisgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTEVOXzFE OyBpKyspIHsKKyAgICAgICAgICAgIGFbaV0gKz0gYltpXSAqIGNbaV07CisgICAgICAgICAg ICBpZiAoY1tpXSA+IGJbaV0pIGJyZWFrOworICAgICAgICB9CisgICAgICAgIGR1bW15KGEs IGIsIGMsIGQsIGUsIGFhLCBiYiwgY2MsIDAuKTsKKyAgICB9Cit9ClwgTm8gbmV3bGluZSBh dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90 c3ZjL3ZlY3QtdHN2Yy1zNDkxLmMgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMv dmVjdC10c3ZjLXM0OTEuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw MC4uNTQ2YmEwNTY5NTUKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy5k Zy92ZWN0L3RzdmMvdmVjdC10c3ZjLXM0OTEuYwpAQCAtMCwwICsxLDIyIEBACisvKiAgVGhp cyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBVbml2ZXJzaXR5IG9mIElsbGlub2lz IE9wZW4gU291cmNlCisgICAgTGljZW5zZS4gU2VlIGxpY2Vuc2UudHh0IGZvciBkZXRhaWxz LiAgKi8KKworLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGctYWRkaXRpb25hbC1v cHRpb25zICItLXBhcmFtIHZlY3QtZXBpbG9ndWVzLW5vbWFzaz0wIiB9ICovCisvKiB7IGRn LXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdldCB2ZWN0X2Zsb2F0IH0gKi8KKworI2luY2x1ZGUg InRzdmMuaCIKKwordm9pZCBzNDkxIChpbnQgKiBfX3Jlc3RyaWN0X18gaXApCit7CisvLyAg ICB2ZWN0b3Igc2VtYW50aWNzCisvLyAgICBpbmRpcmVjdCBhZGRyZXNzaW5nIG9uIGxocywg c3RvcmUgaW4gc2VxdWVuY2UKKy8vICAgIHNjYXR0ZXIgaXMgcmVxdWlyZWQKKworICAgIGZv ciAoaW50IG5sID0gMDsgbmwgPCBpdGVyYXRpb25zOyBubCsrKSB7CisgICAgICAgIGZvciAo aW50IGkgPSAwOyBpIDwgTEVOXzFEOyBpKyspIHsKKyAgICAgICAgICAgIGFbaXBbaV1dID0g YltpXSArIGNbaV0gKiBkW2ldOworICAgICAgICB9CisgICAgICAgIGR1bW15KGEsIGIsIGMs IGQsIGUsIGFhLCBiYiwgY2MsIDAuKTsKKyAgICB9Cit9CmRpZmYgLS1naXQgYS9nY2MvdGVz dHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXZhLmMgYi9nY2MvdGVzdHN1aXRl L2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXZhLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMDAwMDAuLjZjY2UxZDE3M2NmCi0tLSAvZGV2L251bGwKKysrIGIvZ2Nj L3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy12YS5jCkBAIC0wLDAgKzEs MjMgQEAKKy8qICBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIFVuaXZlcnNp dHkgb2YgSWxsaW5vaXMgT3BlbiBTb3VyY2UKKyAgICBMaWNlbnNlLiBTZWUgbGljZW5zZS50 eHQgZm9yIGRldGFpbHMuICAqLworCisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBk Zy1hZGRpdGlvbmFsLW9wdGlvbnMgIi0tcGFyYW0gdmVjdC1lcGlsb2d1ZXMtbm9tYXNrPTAi IH0gKi8KKy8qIHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IHZlY3RfZmxvYXQgfSAq LworCisjaW5jbHVkZSAidHN2Yy5oIgorCit2b2lkIHZhICh2b2lkKQoreworLy8gICAgY29u dHJvbCBsb29wcworLy8gICAgdmVjdG9yIGFzc2lnbm1lbnQKKworCisgICAgZm9yIChpbnQg bmwgPSAwOyBubCA8IGl0ZXJhdGlvbnMqMTA7IG5sKyspIHsKKyAgICAgICAgZm9yIChpbnQg aSA9IDA7IGkgPCBMRU5fMUQ7IGkrKykgeworICAgICAgICAgICAgYVtpXSA9IGJbaV07Cisg ICAgICAgIH0KKyAgICAgICAgZHVtbXkoYSwgYiwgYywgZCwgZSwgYWEsIGJiLCBjYywgMC4p OworICAgIH0KK30KKy8qIHsgZGctZmluYWwgeyBzY2FuLXRyZWUtZHVtcC10aW1lcyAidmVj dG9yaXplZCAxIGxvb3BzIiAxICJ2ZWN0IiB9IH0gKi8KXCBObyBuZXdsaW5lIGF0IGVuZCBv ZiBmaWxlCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVj dC10c3ZjLXZhZy5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2 Yy12YWcuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uOWQ5OTRj YWQ2MGEKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3Rz dmMvdmVjdC10c3ZjLXZhZy5jCkBAIC0wLDAgKzEsMjQgQEAKKy8qICBUaGlzIGZpbGUgaXMg ZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIFVuaXZlcnNpdHkgb2YgSWxsaW5vaXMgT3BlbiBTb3Vy Y2UKKyAgICBMaWNlbnNlLiBTZWUgbGljZW5zZS50eHQgZm9yIGRldGFpbHMuICAqLworCisv KiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi0t cGFyYW0gdmVjdC1lcGlsb2d1ZXMtbm9tYXNrPTAiIH0gKi8KKy8qIHsgZGctcmVxdWlyZS1l ZmZlY3RpdmUtdGFyZ2V0IHZlY3RfZmxvYXQgfSAqLworCisjaW5jbHVkZSAidHN2Yy5oIgor Cit2b2lkIHZhZyAoaW50ICogX19yZXN0cmljdF9fIGlwKQoreworLy8gICAgY29udHJvbCBs b29wcworLy8gICAgdmVjdG9yIGFzc2lnbm1lbnQsIGdhdGhlcgorLy8gICAgZ2F0aGVyIGlz IHJlcXVpcmVkCisKKyAgICBmb3IgKGludCBubCA9IDA7IG5sIDwgMippdGVyYXRpb25zOyBu bCsrKSB7CisgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTEVOXzFEOyBpKyspIHsKKyAg ICAgICAgICAgIGFbaV0gPSBiW2lwW2ldXTsKKyAgICAgICAgfQorICAgICAgICBkdW1teShh LCBiLCBjLCBkLCBlLCBhYSwgYmIsIGNjLCAwLik7CisgICAgfQorfQorCisvKiB7IGRnLWZp bmFsIHsgc2Nhbi10cmVlLWR1bXAtdGltZXMgInZlY3Rvcml6ZWQgMSBsb29wcyIgMSAidmVj dCIgfSB9ICovClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvZ2Nj L3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy12YXMuYyBiL2djYy90ZXN0 c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtdmFzLmMKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjEwNGU1ODdlYzE0Ci0tLSAvZGV2L251bGwKKysr IGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy12YXMuYwpAQCAt MCwwICsxLDIyIEBACisvKiAgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBV bml2ZXJzaXR5IG9mIElsbGlub2lzIE9wZW4gU291cmNlCisgICAgTGljZW5zZS4gU2VlIGxp Y2Vuc2UudHh0IGZvciBkZXRhaWxzLiAgKi8KKworLyogeyBkZy1kbyBjb21waWxlIH0gKi8K Ky8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItLXBhcmFtIHZlY3QtZXBpbG9ndWVzLW5v bWFzaz0wIiB9ICovCisvKiB7IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdldCB2ZWN0X2Zs b2F0IH0gKi8KKworI2luY2x1ZGUgInRzdmMuaCIKKwordm9pZCB2YXMgKGludCAqIF9fcmVz dHJpY3RfXyBpcCkKK3sKKy8vICAgIGNvbnRyb2wgbG9vcHMKKy8vICAgIHZlY3RvciBhc3Np Z25tZW50LCBzY2F0dGVyCisvLyAgICBzY2F0dGVyIGlzIHJlcXVpcmVkCisKKyAgICBmb3Ig KGludCBubCA9IDA7IG5sIDwgMippdGVyYXRpb25zOyBubCsrKSB7CisgICAgICAgIGZvciAo aW50IGkgPSAwOyBpIDwgTEVOXzFEOyBpKyspIHsKKyAgICAgICAgICAgIGFbaXBbaV1dID0g YltpXTsKKyAgICAgICAgfQorICAgICAgICBkdW1teShhLCBiLCBjLCBkLCBlLCBhYSwgYmIs IGNjLCAwLik7CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcv dmVjdC90c3ZjL3ZlY3QtdHN2Yy12Ym9yLmMgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0 L3RzdmMvdmVjdC10c3ZjLXZib3IuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwMDAwMC4uODQ1NWM5NGNlMzcKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRl L2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXZib3IuYwpAQCAtMCwwICsxLDM4IEBACisv KiAgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBVbml2ZXJzaXR5IG9mIEls bGlub2lzIE9wZW4gU291cmNlCisgICAgTGljZW5zZS4gU2VlIGxpY2Vuc2UudHh0IGZvciBk ZXRhaWxzLiAgKi8KKworLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGctYWRkaXRp b25hbC1vcHRpb25zICItLXBhcmFtIHZlY3QtZXBpbG9ndWVzLW5vbWFzaz0wIiB9ICovCisv KiB7IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdldCB2ZWN0X2Zsb2F0IH0gKi8KKworI2lu Y2x1ZGUgInRzdmMuaCIKKwordm9pZCB2Ym9yICh2b2lkKQoreworLy8gICAgY29udHJvbCBs b29wcworLy8gICAgYmFzaWMgb3BlcmF0aW9ucyByYXRlcywgaXNvbGF0ZSBhcml0aG1ldGlj IGZyb20gbWVtb3J5IHRyYWZmaWMKKy8vICAgIGFsbCBjb21iaW5hdGlvbnMgb2YgdGhyZWUs IDU5IGZsb3BzIGZvciA2IGxvYWRzIGFuZCAxIHN0b3JlLgorCisKKyAgICByZWFsX3QgYTEs IGIxLCBjMSwgZDEsIGUxLCBmMTsKKyAgICBmb3IgKGludCBubCA9IDA7IG5sIDwgaXRlcmF0 aW9ucyoxMDsgbmwrKykgeworICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IExFTl8yRDsg aSsrKSB7CisgICAgICAgICAgICBhMSA9IGFbaV07CisgICAgICAgICAgICBiMSA9IGJbaV07 CisgICAgICAgICAgICBjMSA9IGNbaV07CisgICAgICAgICAgICBkMSA9IGRbaV07CisgICAg ICAgICAgICBlMSA9IGVbaV07CisgICAgICAgICAgICBmMSA9IGFhWzBdW2ldOworICAgICAg ICAgICAgYTEgPSBhMSAqIGIxICogYzEgKyBhMSAqIGIxICogZDEgKyBhMSAqIGIxICogZTEg KyBhMSAqIGIxICogZjEgKworICAgICAgICAgICAgICAgIGExICogYzEgKiBkMSArIGExICog YzEgKiBlMSArIGExICogYzEgKiBmMSArIGExICogZDEgKiBlMQorICAgICAgICAgICAgICAg ICsgYTEgKiBkMSAqIGYxICsgYTEgKiBlMSAqIGYxOworICAgICAgICAgICAgYjEgPSBiMSAq IGMxICogZDEgKyBiMSAqIGMxICogZTEgKyBiMSAqIGMxICogZjEgKyBiMSAqIGQxICogZTEg KworICAgICAgICAgICAgICAgIGIxICogZDEgKiBmMSArIGIxICogZTEgKiBmMTsKKyAgICAg ICAgICAgIGMxID0gYzEgKiBkMSAqIGUxICsgYzEgKiBkMSAqIGYxICsgYzEgKiBlMSAqIGYx OworICAgICAgICAgICAgZDEgPSBkMSAqIGUxICogZjE7CisgICAgICAgICAgICB4W2ldID0g YTEgKiBiMSAqIGMxICogZDE7CisgICAgICAgIH0KKyAgICAgICAgZHVtbXkoYSwgYiwgYywg ZCwgZSwgYWEsIGJiLCBjYywgMC4pOworICAgIH0KK30KKy8qIHsgZGctZmluYWwgeyBzY2Fu LXRyZWUtZHVtcC10aW1lcyAidmVjdG9yaXplZCAxIGxvb3BzIiAxICJ2ZWN0IiB9IH0gKi8K XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRl L2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXZkb3RyLmMgYi9nY2MvdGVzdHN1aXRlL2dj Yy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXZkb3RyLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMDAwMDAuLjU2YWRjNTE4MGMyCi0tLSAvZGV2L251bGwKKysrIGIvZ2Nj L3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy12ZG90ci5jCkBAIC0wLDAg KzEsMjUgQEAKKy8qICBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIFVuaXZl cnNpdHkgb2YgSWxsaW5vaXMgT3BlbiBTb3VyY2UKKyAgICBMaWNlbnNlLiBTZWUgbGljZW5z ZS50eHQgZm9yIGRldGFpbHMuICAqLworCisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyog eyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi0tcGFyYW0gdmVjdC1lcGlsb2d1ZXMtbm9tYXNr PTAiIH0gKi8KKy8qIHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IHZlY3RfZmxvYXQg fSAqLworCisjaW5jbHVkZSAidHN2Yy5oIgorCit2b2lkIHZkb3RyICh2b2lkKQoreworLy8g ICAgY29udHJvbCBsb29wcworLy8gICAgdmVjdG9yIGRvdCBwcm9kdWN0IHJlZHVjdGlvbgor CisKKyAgICByZWFsX3QgZG90OworICAgIGZvciAoaW50IG5sID0gMDsgbmwgPCBpdGVyYXRp b25zKjEwOyBubCsrKSB7CisgICAgICAgIGRvdCA9IDAuOworICAgICAgICBmb3IgKGludCBp ID0gMDsgaSA8IExFTl8xRDsgaSsrKSB7CisgICAgICAgICAgICBkb3QgKz0gYVtpXSAqIGJb aV07CisgICAgICAgIH0KKyAgICAgICAgZHVtbXkoYSwgYiwgYywgZCwgZSwgYWEsIGJiLCBj YywgZG90KTsKKyAgICB9Cit9CisvKiB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtdGlt ZXMgInZlY3Rvcml6ZWQgMSBsb29wcyIgMSAidmVjdCIgfSB9ICovClwgTm8gbmV3bGluZSBh dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90 c3ZjL3ZlY3QtdHN2Yy12aWYuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92 ZWN0LXRzdmMtdmlmLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAu LmMzODMwODIyY2FlCi0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcv dmVjdC90c3ZjL3ZlY3QtdHN2Yy12aWYuYwpAQCAtMCwwICsxLDI0IEBACisvKiAgVGhpcyBm aWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBVbml2ZXJzaXR5IG9mIElsbGlub2lzIE9w ZW4gU291cmNlCisgICAgTGljZW5zZS4gU2VlIGxpY2Vuc2UudHh0IGZvciBkZXRhaWxzLiAg Ki8KKworLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGctYWRkaXRpb25hbC1vcHRp b25zICItLXBhcmFtIHZlY3QtZXBpbG9ndWVzLW5vbWFzaz0wIiB9ICovCisvKiB7IGRnLXJl cXVpcmUtZWZmZWN0aXZlLXRhcmdldCB2ZWN0X2Zsb2F0IH0gKi8KKworI2luY2x1ZGUgInRz dmMuaCIKKwordm9pZCB2aWYgKHZvaWQpCit7CisvLyAgICBjb250cm9sIGxvb3BzCisvLyAg ICB2ZWN0b3IgaWYKKworCisgICAgZm9yIChpbnQgbmwgPSAwOyBubCA8IGl0ZXJhdGlvbnM7 IG5sKyspIHsKKyAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBMRU5fMUQ7IGkrKykgewor ICAgICAgICAgICAgaWYgKGJbaV0gPiAocmVhbF90KTAuKSB7CisgICAgICAgICAgICAgICAg YVtpXSA9IGJbaV07CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgZHVtbXko YSwgYiwgYywgZCwgZSwgYWEsIGJiLCBjYywgMC4pOworICAgIH0KK30KXCBObyBuZXdsaW5l IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0 L3RzdmMvdmVjdC10c3ZjLXZwdi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3Zj L3ZlY3QtdHN2Yy12cHYuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw MC4uNjhkMzAyNWY1MzYKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy5k Zy92ZWN0L3RzdmMvdmVjdC10c3ZjLXZwdi5jCkBAIC0wLDAgKzEsMjMgQEAKKy8qICBUaGlz IGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIFVuaXZlcnNpdHkgb2YgSWxsaW5vaXMg T3BlbiBTb3VyY2UKKyAgICBMaWNlbnNlLiBTZWUgbGljZW5zZS50eHQgZm9yIGRldGFpbHMu ICAqLworCisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1hZGRpdGlvbmFsLW9w dGlvbnMgIi0tcGFyYW0gdmVjdC1lcGlsb2d1ZXMtbm9tYXNrPTAiIH0gKi8KKy8qIHsgZGct cmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IHZlY3RfZmxvYXQgfSAqLworCisjaW5jbHVkZSAi dHN2Yy5oIgorCit2b2lkIHZwdiAodm9pZCkKK3sKKy8vICAgIGNvbnRyb2wgbG9vcHMKKy8v ICAgIHZlY3RvciBwbHVzIHZlY3RvcgorCisKKyAgICBmb3IgKGludCBubCA9IDA7IG5sIDwg aXRlcmF0aW9ucyoxMDsgbmwrKykgeworICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IExF Tl8xRDsgaSsrKSB7CisgICAgICAgICAgICBhW2ldICs9IGJbaV07CisgICAgICAgIH0KKyAg ICAgICAgZHVtbXkoYSwgYiwgYywgZCwgZSwgYWEsIGJiLCBjYywgMC4pOworICAgIH0KK30K Ky8qIHsgZGctZmluYWwgeyBzY2FuLXRyZWUtZHVtcC10aW1lcyAidmVjdG9yaXplZCAxIGxv b3BzIiAxICJ2ZWN0IiB9IH0gKi8KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg LS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXZwdnB2 LmMgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXZwdnB2LmMK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjY1MmUwNDI0ZDAxCi0t LSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3Qt dHN2Yy12cHZwdi5jCkBAIC0wLDAgKzEsMjMgQEAKKy8qICBUaGlzIGZpbGUgaXMgZGlzdHJp YnV0ZWQgdW5kZXIgdGhlIFVuaXZlcnNpdHkgb2YgSWxsaW5vaXMgT3BlbiBTb3VyY2UKKyAg ICBMaWNlbnNlLiBTZWUgbGljZW5zZS50eHQgZm9yIGRldGFpbHMuICAqLworCisvKiB7IGRn LWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi0tcGFyYW0g dmVjdC1lcGlsb2d1ZXMtbm9tYXNrPTAiIH0gKi8KKy8qIHsgZGctcmVxdWlyZS1lZmZlY3Rp dmUtdGFyZ2V0IHZlY3RfZmxvYXQgfSAqLworCisjaW5jbHVkZSAidHN2Yy5oIgorCit2b2lk IHZwdnB2ICh2b2lkKQoreworLy8gICAgY29udHJvbCBsb29wcworLy8gICAgdmVjdG9yIHBs dXMgdmVjdG9yIHBsdXMgdmVjdG9yCisKKworICAgIGZvciAoaW50IG5sID0gMDsgbmwgPCA0 Kml0ZXJhdGlvbnM7IG5sKyspIHsKKyAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBMRU5f MUQ7IGkrKykgeworICAgICAgICAgICAgYVtpXSArPSBiW2ldICsgY1tpXTsKKyAgICAgICAg fQorICAgICAgICBkdW1teShhLCBiLCBjLCBkLCBlLCBhYSwgYmIsIGNjLCAwLik7CisgICAg fQorfQorLyogeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1kdW1wLXRpbWVzICJ2ZWN0b3JpemVk IDEgbG9vcHMiIDEgInZlY3QiIH0gfSAqLwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK ZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMt dnB2dHMuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtdnB2 dHMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uOTUzMWZkMWRm M2MKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3RzdmMv dmVjdC10c3ZjLXZwdnRzLmMKQEAgLTAsMCArMSwyMyBAQAorLyogIFRoaXMgZmlsZSBpcyBk aXN0cmlidXRlZCB1bmRlciB0aGUgVW5pdmVyc2l0eSBvZiBJbGxpbm9pcyBPcGVuIFNvdXJj ZQorICAgIExpY2Vuc2UuIFNlZSBsaWNlbnNlLnR4dCBmb3IgZGV0YWlscy4gICovCisKKy8q IHsgZGctZG8gY29tcGlsZSB9ICovCisvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLS1w YXJhbSB2ZWN0LWVwaWxvZ3Vlcy1ub21hc2s9MCIgfSAqLworLyogeyBkZy1yZXF1aXJlLWVm ZmVjdGl2ZS10YXJnZXQgdmVjdF9mbG9hdCB9ICovCisKKyNpbmNsdWRlICJ0c3ZjLmgiCisK K3ZvaWQgdnB2dHMgKHJlYWxfdCBzKQoreworLy8gICAgY29udHJvbCBsb29wcworLy8gICAg dmVjdG9yIHBsdXMgdmVjdG9yIHRpbWVzIHNjYWxhcgorCisgICAgZm9yIChpbnQgbmwgPSAw OyBubCA8IGl0ZXJhdGlvbnM7IG5sKyspIHsKKyAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkg PCBMRU5fMUQ7IGkrKykgeworICAgICAgICAgICAgYVtpXSArPSBiW2ldICogczsKKyAgICAg ICAgfQorICAgICAgICBkdW1teShhLCBiLCBjLCBkLCBlLCBhYSwgYmIsIGNjLCAwLik7Cisg ICAgfQorfQorCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtdGltZXMgInZlY3Rv cml6ZWQgMSBsb29wcyIgMSAidmVjdCIgfSB9ICovClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg ZmlsZQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3Qt dHN2Yy12cHZ0di5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2 Yy12cHZ0di5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4zYWI2 YjgzNmE4ZQotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3Qv dHN2Yy92ZWN0LXRzdmMtdnB2dHYuYwpAQCAtMCwwICsxLDIzIEBACisvKiAgVGhpcyBmaWxl IGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBVbml2ZXJzaXR5IG9mIElsbGlub2lzIE9wZW4g U291cmNlCisgICAgTGljZW5zZS4gU2VlIGxpY2Vuc2UudHh0IGZvciBkZXRhaWxzLiAgKi8K KworLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25z ICItLXBhcmFtIHZlY3QtZXBpbG9ndWVzLW5vbWFzaz0wIiB9ICovCisvKiB7IGRnLXJlcXVp cmUtZWZmZWN0aXZlLXRhcmdldCB2ZWN0X2Zsb2F0IH0gKi8KKworI2luY2x1ZGUgInRzdmMu aCIKKwordm9pZCB2cHZ0diAodm9pZCkKK3sKKy8vICAgIGNvbnRyb2wgbG9vcHMKKy8vICAg IHZlY3RvciBwbHVzIHZlY3RvciB0aW1lcyB2ZWN0b3IKKworCisgICAgZm9yIChpbnQgbmwg PSAwOyBubCA8IDQqaXRlcmF0aW9uczsgbmwrKykgeworICAgICAgICBmb3IgKGludCBpID0g MDsgaSA8IExFTl8xRDsgaSsrKSB7CisgICAgICAgICAgICBhW2ldICs9IGJbaV0gKiBjW2ld OworICAgICAgICB9CisgICAgICAgIGR1bW15KGEsIGIsIGMsIGQsIGUsIGFhLCBiYiwgY2Ms IDAuKTsKKyAgICB9Cit9CisvKiB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtdGltZXMg InZlY3Rvcml6ZWQgMSBsb29wcyIgMSAidmVjdCIgfSB9ICovClwgTm8gbmV3bGluZSBhdCBl bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3Zj L3ZlY3QtdHN2Yy12c3Vtci5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC90c3ZjL3Zl Y3QtdHN2Yy12c3Vtci5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw Li43M2M2NDRhYmNkNgotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRn L3ZlY3QvdHN2Yy92ZWN0LXRzdmMtdnN1bXIuYwpAQCAtMCwwICsxLDI1IEBACisvKiAgVGhp cyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBVbml2ZXJzaXR5IG9mIElsbGlub2lz IE9wZW4gU291cmNlCisgICAgTGljZW5zZS4gU2VlIGxpY2Vuc2UudHh0IGZvciBkZXRhaWxz LiAgKi8KKworLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGctYWRkaXRpb25hbC1v cHRpb25zICItLXBhcmFtIHZlY3QtZXBpbG9ndWVzLW5vbWFzaz0wIiB9ICovCisvKiB7IGRn LXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdldCB2ZWN0X2Zsb2F0IH0gKi8KKworI2luY2x1ZGUg InRzdmMuaCIKKwordm9pZCB2c3VtciAodm9pZCkKK3sKKy8vICAgIGNvbnRyb2wgbG9vcHMK Ky8vICAgIHZlY3RvciBzdW0gcmVkdWN0aW9uCisKKworICAgIHJlYWxfdCBzdW07CisgICAg Zm9yIChpbnQgbmwgPSAwOyBubCA8IGl0ZXJhdGlvbnMqMTA7IG5sKyspIHsKKyAgICAgICAg c3VtID0gMC47CisgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTEVOXzFEOyBpKyspIHsK KyAgICAgICAgICAgIHN1bSArPSBhW2ldOworICAgICAgICB9CisgICAgICAgIGR1bW15KGEs IGIsIGMsIGQsIGUsIGFhLCBiYiwgY2MsIHN1bSk7CisgICAgfQorfQorLyogeyBkZy1maW5h bCB7IHNjYW4tdHJlZS1kdW1wLXRpbWVzICJ2ZWN0b3JpemVkIDEgbG9vcHMiIDEgInZlY3Qi IH0gfSAqLwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2djYy90 ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtdnR2LmMgYi9nY2MvdGVzdHN1 aXRlL2djYy5kZy92ZWN0L3RzdmMvdmVjdC10c3ZjLXZ0di5jCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4yNGJkZmE1NTUyMgotLS0gL2Rldi9udWxsCisrKyBi L2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdHN2Yy92ZWN0LXRzdmMtdnR2LmMKQEAgLTAs MCArMSwyMyBAQAorLyogIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgVW5p dmVyc2l0eSBvZiBJbGxpbm9pcyBPcGVuIFNvdXJjZQorICAgIExpY2Vuc2UuIFNlZSBsaWNl bnNlLnR4dCBmb3IgZGV0YWlscy4gICovCisKKy8qIHsgZGctZG8gY29tcGlsZSB9ICovCisv KiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLS1wYXJhbSB2ZWN0LWVwaWxvZ3Vlcy1ub21h c2s9MCIgfSAqLworLyogeyBkZy1yZXF1aXJlLWVmZmVjdGl2ZS10YXJnZXQgdmVjdF9mbG9h dCB9ICovCisKKyNpbmNsdWRlICJ0c3ZjLmgiCisKK3ZvaWQgdnR2ICh2b2lkKQoreworLy8g ICAgY29udHJvbCBsb29wcworLy8gICAgdmVjdG9yIHRpbWVzIHZlY3RvcgorCisKKyAgICBm b3IgKGludCBubCA9IDA7IG5sIDwgaXRlcmF0aW9ucyoxMDsgbmwrKykgeworICAgICAgICBm b3IgKGludCBpID0gMDsgaSA8IExFTl8xRDsgaSsrKSB7CisgICAgICAgICAgICBhW2ldICo9 IGJbaV07CisgICAgICAgIH0KKyAgICAgICAgZHVtbXkoYSwgYiwgYywgZCwgZSwgYWEsIGJi LCBjYywgMC4pOworICAgIH0KK30KKy8qIHsgZGctZmluYWwgeyBzY2FuLXRyZWUtZHVtcC10 aW1lcyAidmVjdG9yaXplZCAxIGxvb3BzIiAxICJ2ZWN0IiB9IH0gKi8KXCBObyBuZXdsaW5l IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0 L3RzdmMvdmVjdC10c3ZjLXZ0dnR2LmMgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L3Rz dmMvdmVjdC10c3ZjLXZ0dnR2LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MDAwMDAuLjM5ZGZiYjk4ZDFhCi0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9n Y2MuZGcvdmVjdC90c3ZjL3ZlY3QtdHN2Yy12dHZ0di5jCkBAIC0wLDAgKzEsMjMgQEAKKy8q ICBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIFVuaXZlcnNpdHkgb2YgSWxs aW5vaXMgT3BlbiBTb3VyY2UKKyAgICBMaWNlbnNlLiBTZWUgbGljZW5zZS50eHQgZm9yIGRl dGFpbHMuICAqLworCisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1hZGRpdGlv bmFsLW9wdGlvbnMgIi0tcGFyYW0gdmVjdC1lcGlsb2d1ZXMtbm9tYXNrPTAiIH0gKi8KKy8q IHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IHZlY3RfZmxvYXQgfSAqLworCisjaW5j bHVkZSAidHN2Yy5oIgorCit2b2lkIHZ0dnR2ICh2b2lkKQoreworLy8gICAgY29udHJvbCBs b29wcworLy8gICAgdmVjdG9yIHRpbWVzIHZlY3RvciB0aW1lcyB2ZWN0b3IKKworCisgICAg Zm9yIChpbnQgbmwgPSAwOyBubCA8IDQqaXRlcmF0aW9uczsgbmwrKykgeworICAgICAgICBm b3IgKGludCBpID0gMDsgaSA8IExFTl8xRDsgaSsrKSB7CisgICAgICAgICAgICBhW2ldID0g YVtpXSAqIGJbaV0gKiBjW2ldOworICAgICAgICB9CisgICAgICAgIGR1bW15KGEsIGIsIGMs IGQsIGUsIGFhLCBiYiwgY2MsIDAuKTsKKyAgICB9Cit9CisvKiB7IGRnLWZpbmFsIHsgc2Nh bi10cmVlLWR1bXAtdGltZXMgInZlY3Rvcml6ZWQgMSBsb29wcyIgMSAidmVjdCIgfSB9ICov ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0 ZS9nY2MuZGcvdmVjdC92ZWN0LmV4cCBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdmVj dC5leHAKaW5kZXggZGNhOWE0ZGI2ZjYuLjdlMzMzOTgzZjBkIDEwMDY0NAotLS0gYS9nY2Mv dGVzdHN1aXRlL2djYy5kZy92ZWN0L3ZlY3QuZXhwCisrKyBiL2djYy90ZXN0c3VpdGUvZ2Nj LmRnL3ZlY3QvdmVjdC5leHAKQEAgLTk0LDYgKzk0LDkgQEAgZm9yZWFjaCBmbGFncyAkVkVD VF9BRERJVElPTkFMX0ZMQUdTIHsKICAgICBldC1kZy1ydW50ZXN0IGRnLXJ1bnRlc3QgW2xz b3J0IFwKIAlbZ2xvYiAtbm9jb21wbGFpbiAkc3JjZGlyLyRzdWJkaXIvdmVjdC0qLlxbY1Nc XV1dIFwKIAkkZmxhZ3MgJERFRkFVTFRfVkVDVENGTEFHUworICAgIGV0LWRnLXJ1bnRlc3Qg ZGctcnVudGVzdCBbbHNvcnQgXAorCVtnbG9iIC1ub2NvbXBsYWluICRzcmNkaXIvJHN1YmRp ci90c3ZjLyouXFtjU1xdXV0gXAorCSRmbGFncyAkREVGQVVMVF9WRUNUQ0ZMQUdTCiAgICAg ZXQtZGctcnVudGVzdCBkZy1ydW50ZXN0IFtsc29ydCBcCiAJW2dsb2IgLW5vY29tcGxhaW4g JHNyY2Rpci8kc3ViZGlyL3NscC0qLlxbY1NcXV1dIFwKIAkkZmxhZ3MgJERFRkFVTFRfVkVD VENGTEFHUwotLSAKMi4zMy4xCgo= --------------V3V3xDtFw0ba94c7NqyxOlxM--