From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 608 invoked by alias); 10 Jul 2010 07:34:06 -0000 Received: (qmail 590 invoked by uid 22791); 10 Jul 2010 07:34:01 -0000 X-SWARE-Spam-Status: No, hits=1.0 required=5.0 tests=AWL,BAYES_50,RDNS_DYNAMIC,TW_BT,TW_DB,TW_XT X-Spam-Check-By: sourceware.org Received: from wsip-98-189-223-147.oc.oc.cox.net (HELO mail.najay.com) (98.189.223.147) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sat, 10 Jul 2010 07:33:46 +0000 Received: by mail.najay.com (Postfix, from userid 5001) id B24F98C80E4; Sat, 10 Jul 2010 00:33:44 -0700 (PDT) Received: from [127.0.0.1] (ip68-5-229-101.oc.oc.cox.net [68.5.229.101]) (Authenticated sender: najay) by mail.najay.com (Postfix) with ESMTPSA id 8131E8C8058; Sat, 10 Jul 2010 00:33:41 -0700 (PDT) Message-ID: <4C382241.30101@najay.com> Date: Sat, 10 Jul 2010 07:34:00 -0000 From: George Najarian User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.4) Gecko/20100608 Thunderbird/3.1 MIME-Version: 1.0 To: Keith Seitz CC: insight@sourceware.org Subject: Re: CVS Insight running on Windows 7 x64 using ActiveTCL, mingw/msys, built for arm-none-eabi References: <4C376D11.9080604@najay.com> <4C37701B.2020907@redhat.com> <4C378B19.2030904@najay.com> <4C37903A.9020703@redhat.com> In-Reply-To: <4C37903A.9020703@redhat.com> Content-Type: multipart/mixed; boundary="------------070806070001090907050908" Mailing-List: contact insight-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: insight-owner@sourceware.org X-SW-Source: 2010-q3/txt/msg00015.txt.bz2 This is a multi-part message in MIME format. --------------070806070001090907050908 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-length: 1150 This is what I needed to do to compile insight for mingw on win7. Download: MSYS and MINGW - I used the trolltech mingw and msys from sourceforge ftp://ftp.trolltech.com/misc/MinGW-gcc440_1.zip http://cdnetworks-us-1.dl.sourceforge.net/project/mingw-w64/External%20binary%20packages%20%28Win64%20hosted%29/MSYS%20%2832-bit%29/MSYS-20100707.zip ActiveTCL 8.5.8 TCL and TK 8.5.8 sources install the activetcl files and unzip the tcl and tk sources into a build directory create build directories for tcl and tk and configure/make all them from the win directory. Do not make install. Grab insight cvs source tree. Apply patch. create a build directory and configure/make all install. No warranty is expressed or implied. YMMV. everything should work. george On 7/9/2010 2:10 PM, Keith Seitz wrote: > On 07/09/2010 01:48 PM, George Najarian wrote: >> Would it make any sense to put together a patch file and short writeup >> on how I got all this to work? > > It couldn't hurt! Heaven knows, I've never tried mingw at all... [But then, my windows box > is about fifteen years old.] > > Perhaps I can add your information to the FAQ. > > Keith > --------------070806070001090907050908 Content-Type: text/plain; name="insight_tcl85_mingw.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="insight_tcl85_mingw.patch" Content-length: 32416 SW5kZXg6IHNyYy9jb25maWcvdGNsLm00Cj09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KUkNTIGZpbGU6IC9jdnMvc3JjL3NyYy9jb25maWcvdGNsLm00LHYKcmV0 cmlldmluZyByZXZpc2lvbiAxLjMKZGlmZiAtdSAtcjEuMyB0Y2wubTQKLS0t IHNyYy9jb25maWcvdGNsLm00CTIgRmViIDIwMDkgMjM6MTg6MDUgLTAwMDAJ MS4zCisrKyBzcmMvY29uZmlnL3RjbC5tNAkxMCBKdWwgMjAxMCAwNzoxNjoy NiAtMDAwMApAQCAtMzMsNyArMzMsNyBAQAogCiAJICAgICMgRmlyc3QgY2hl Y2sgdG8gc2VlIGlmIC0td2l0aC10Y2wgd2FzIHNwZWNpZmllZC4KIAkgICAg Y2FzZSAiJHtob3N0fSIgaW4KLQkJKi0qLWN5Z3dpbiopIHBsYXREaXI9Indp biIgOzsKKwkJKi0qLWN5Z3dpbiogfCAqLSotbWluZ3cqKSBwbGF0RGlyPSJ3 aW4iIDs7CiAJCSopIHBsYXREaXI9InVuaXgiIDs7CiAJICAgIGVzYWMKIAkg ICAgaWYgdGVzdCB4IiR7d2l0aF90Y2xjb25maWd9IiAhPSB4IDsgdGhlbgpA QCAtMTY1LDcgKzE2NSw3IEBACiAKIAkgICAgIyB0aGVuIGNoZWNrIGZvciBh IHByaXZhdGUgVGsgbGlicmFyeQogCSAgICBjYXNlICIke2hvc3R9IiBpbgot CQkqLSotY3lnd2luKikgcGxhdERpcj0id2luIiA7OworCQkqLSotY3lnd2lu KiB8ICotKi1taW5ndyopIHBsYXREaXI9IndpbiIgOzsKIAkJKikgcGxhdERp cj0idW5peCIgOzsKIAkgICAgZXNhYwogCSAgICBpZiB0ZXN0IHgiJHthY19j dl9jX3RrY29uZmlnfSIgPSB4IDsgdGhlbgpJbmRleDogc3JjL2dkYi9hY2lu Y2x1ZGUubTQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2 cy9zcmMvc3JjL2dkYi9hY2luY2x1ZGUubTQsdgpyZXRyaWV2aW5nIHJldmlz aW9uIDEuMzYKZGlmZiAtdSAtcjEuMzYgYWNpbmNsdWRlLm00Ci0tLSBzcmMv Z2RiL2FjaW5jbHVkZS5tNAkyNyBNYXkgMjAxMCAwMzo0MDo0NSAtMDAwMAkx LjM2CisrKyBzcmMvZ2RiL2FjaW5jbHVkZS5tNAkxMCBKdWwgMjAxMCAwNzox NjozMCAtMDAwMApAQCAtMzYyLDE0ICszNjIsMTQgQEAKIF0pCiAKIGRubCBG aW5kIHRoZSBsb2NhdGlvbiBvZiB0aGUgcHJpdmF0ZSBUY2wgaGVhZGVycwot ZG5sIFdoZW4gVGNsIGlzIGluc3RhbGxlZCwgdGhpcyBpcyBUQ0xfSU5DTFVE RV9TUEVDL3RjbC1wcml2YXRlL2dlbmVyaWMKK2RubCBXaGVuIFRjbCBpcyBp bnN0YWxsZWQsIHRoaXMgaXMgVENMX0lOQ0xVREVfU1BFQy9nZW5lcmljCiBk bmwgV2hlbiBUY2wgaXMgaW4gdGhlIGJ1aWxkIHRyZWUsIHRoaXMgaXMgbm90 IG5lZWRlZC4KIGRubAogZG5sIE5vdGU6IHlvdSBtdXN0IHVzZSBmaXJzdCB1 c2UgU0NfTE9BRF9UQ0xDT05GSUchCiBBQ19ERUZVTihbQ1lfQUNfVENMX1BS SVZBVEVfSEVBREVSU10sIFsKICAgQUNfTVNHX0NIRUNLSU5HKFtmb3IgVGNs IHByaXZhdGUgaGVhZGVyc10pCiAgIHByaXZhdGVfZGlyPSIiCi0gIGRpcj1g ZWNobyAke1RDTF9JTkNMVURFX1NQRUN9L3RjbC1wcml2YXRlL2dlbmVyaWMg fCBzZWQgLWUgcy8tSS8vYAorICBkaXI9YGVjaG8gJHtUQ0xfU1JDX0RJUn0v Z2VuZXJpYyB8IHNlZCAtZSBzLy1JLy9gCiAgIGlmIHRlc3QgLWYgJHtkaXJ9 L3RjbEludC5oIDsgdGhlbgogICAgIHByaXZhdGVfZGlyPSR7ZGlyfQogICBm aQpAQCAtMzgzLDIwICszODMsMjAgQEAKIF0pCiAKIGRubCBGaW5kIHRoZSBs b2NhdGlvbiBvZiB0aGUgcHJpdmF0ZSBUayBoZWFkZXJzCi1kbmwgV2hlbiBU ayBpcyBpbnN0YWxsZWQsIHRoaXMgaXMgVEtfSU5DTFVERV9TUEVDL3RrLXBy aXZhdGUvZ2VuZXJpYworZG5sIFdoZW4gVGsgaXMgaW5zdGFsbGVkLCB0aGlz IGlzIFRLX0lOQ0xVREVfU1BFQy9nZW5lcmljCiBkbmwgV2hlbiBUayBpcyBp biB0aGUgYnVpbGQgdHJlZSwgdGhpcyBub3QgbmVlZGVkLgogZG5sCiBkbmwg Tm90ZTogeW91IG11c3QgZmlyc3QgdXNlIFNDX0xPQURfVEtDT05GSUcKIEFD X0RFRlVOKFtDWV9BQ19US19QUklWQVRFX0hFQURFUlNdLCBbCi0gIEFDX01T R19DSEVDS0lORyhbZm9yIFRrIHByaXZhdGUgaGVhZGVyc10pCisgIEFDX01T R19DSEVDS0lORyhbZm9yIFRrIGhlYWRlcnNdKQogICBwcml2YXRlX2Rpcj0i IgotICBkaXI9YGVjaG8gJHtUS19JTkNMVURFX1NQRUN9L3RrLXByaXZhdGUv Z2VuZXJpYyB8IHNlZCAtZSBzLy1JLy9gCisgIGRpcj1gZWNobyAke1RLX1NS Q19ESVJ9L2dlbmVyaWMgfCBzZWQgLWUgcy8tSS8vYAogICBpZiB0ZXN0IC1m ICR7ZGlyfS90a0ludC5oOyB0aGVuCiAgICAgcHJpdmF0ZV9kaXI9JHtkaXJ9 CiAgIGZpCiAKICAgaWYgdGVzdCB4IiR7cHJpdmF0ZV9kaXJ9IiA9IHg7IHRo ZW4KLSAgICBBQ19FUlJPUihjb3VsZCBub3QgZmluZCBUayBwcml2YXRlIGhl YWRlcnMpCisgICAgQUNfRVJST1IoY291bGQgbm90IGZpbmQgVGsgaGVhZGVy cykKICAgZWxzZQogICAgIFRLX1BSSVZBVEVfSU5DTFVERT0iLUkke3ByaXZh dGVfZGlyfSIKICAgICBBQ19NU0dfUkVTVUxUKCR7cHJpdmF0ZV9kaXJ9KQpJ bmRleDogc3JjL2dkYi9jb25maWd1cmUKPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQpSQ1MgZmlsZTogL2N2cy9zcmMvc3JjL2dkYi9jb25maWd1cmUsdgpyZXRy aWV2aW5nIHJldmlzaW9uIDEuMzEwCmRpZmYgLXUgLXIxLjMxMCBjb25maWd1 cmUKLS0tIHNyYy9nZGIvY29uZmlndXJlCTIzIEp1biAyMDEwIDEwOjEyOjE0 IC0wMDAwCTEuMzEwCisrKyBzcmMvZ2RiL2NvbmZpZ3VyZQkxMCBKdWwgMjAx MCAwNzoxNjozMiAtMDAwMApAQCAtMTQ5ODgsNyArMTQ5ODgsNyBAQAogCiAJ ICAgICMgRmlyc3QgY2hlY2sgdG8gc2VlIGlmIC0td2l0aC10Y2wgd2FzIHNw ZWNpZmllZC4KIAkgICAgY2FzZSAiJHtob3N0fSIgaW4KLQkJKi0qLWN5Z3dp biopIHBsYXREaXI9IndpbiIgOzsKKwkJKi0qLWN5Z3dpbiogfCAqLSotbWlu Z3cqKSBwbGF0RGlyPSJ3aW4iIDs7CiAJCSopIHBsYXREaXI9InVuaXgiIDs7 CiAJICAgIGVzYWMKIAkgICAgaWYgdGVzdCB4IiR7d2l0aF90Y2xjb25maWd9 IiAhPSB4IDsgdGhlbgpAQCAtMTUxMTcsNyArMTUxMTcsNyBAQAogCiAJICAg ICMgdGhlbiBjaGVjayBmb3IgYSBwcml2YXRlIFRrIGxpYnJhcnkKIAkgICAg Y2FzZSAiJHtob3N0fSIgaW4KLQkJKi0qLWN5Z3dpbiopIHBsYXREaXI9Indp biIgOzsKKwkJKi0qLWN5Z3dpbiogfCAqLSotbWluZ3cqKSBwbGF0RGlyPSJ3 aW4iIDs7CiAJCSopIHBsYXREaXI9InVuaXgiIDs7CiAJICAgIGVzYWMKIAkg ICAgaWYgdGVzdCB4IiR7YWNfY3ZfY190a2NvbmZpZ30iID0geCA7IHRoZW4K QEAgLTE1Mjg1LDE2ICsxNTI4NSwxNiBAQAogICAgICAgICAjIEZpbmQgVGNs IHByaXZhdGUgaGVhZGVycwogICAgICAgICBpZiB0ZXN0IHgiJHtpbnRyZWV9 IiA9IHhubzsgdGhlbgogCi0gIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xp bmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIFRjbCBwcml2YXRlIGhlYWRl cnMiID4mNQorICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJ TkVOT306IGNoZWNraW5nIGZvciBUY2wgaGVhZGVycyIgPiY1CiAkYXNfZWNo b19uICJjaGVja2luZyBmb3IgVGNsIHByaXZhdGUgaGVhZGVycy4uLiAiID4m NjsgfQogICBwcml2YXRlX2Rpcj0iIgotICBkaXI9YGVjaG8gJHtUQ0xfSU5D TFVERV9TUEVDfS90Y2wtcHJpdmF0ZS9nZW5lcmljIHwgc2VkIC1lIHMvLUkv L2AKKyAgZGlyPWBlY2hvICR7VENMX1NSQ19ESVJ9L2dlbmVyaWMgfCBzZWQg LWUgcy8tSS8vYAogICBpZiB0ZXN0IC1mICR7ZGlyfS90Y2xJbnQuaCA7IHRo ZW4KICAgICBwcml2YXRlX2Rpcj0ke2Rpcn0KICAgZmkKIAogICBpZiB0ZXN0 IHgiJHtwcml2YXRlX2Rpcn0iID0geDsgdGhlbgotICAgIGFzX2ZuX2Vycm9y ICJjb3VsZCBub3QgZmluZCBwcml2YXRlIFRjbCBoZWFkZXJzIiAiJExJTkVO TyIgNQorICAgIGFzX2ZuX2Vycm9yICJjb3VsZCBub3QgZmluZFRjbCBoZWFk ZXJzIiAiJExJTkVOTyIgNQogICBlbHNlCiAgICAgVENMX1BSSVZBVEVfSU5D TFVERT0iLUkke3ByaXZhdGVfZGlyfSIKICAgICB7ICRhc19lY2hvICIkYXNf bWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJHtwcml2YXRlX2Rp cn0iID4mNQpAQCAtMTUzOTQsMTYgKzE1Mzk0LDE2IEBACiAgICAgICAgICMg RmluZCBUayBwcml2YXRlIGhlYWRlcnMKICAgICAgICAgaWYgdGVzdCB4IiR7 aW50cmVlfSIgPSB4bm87IHRoZW4KIAotICB7ICRhc19lY2hvICIkYXNfbWU6 JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBUayBwcml2YXRl IGhlYWRlcnMiID4mNQotJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIFRrIHBy aXZhdGUgaGVhZGVycy4uLiAiID4mNjsgfQorICB7ICRhc19lY2hvICIkYXNf bWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBUa2hlYWRl cnMiID4mNQorJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIFRraGVhZGVycy4u LiAiID4mNjsgfQogICBwcml2YXRlX2Rpcj0iIgotICBkaXI9YGVjaG8gJHtU S19JTkNMVURFX1NQRUN9L3RrLXByaXZhdGUvZ2VuZXJpYyB8IHNlZCAtZSBz Ly1JLy9gCisgIGRpcj1gZWNobyAke1RLX1NSQ19ESVJ9L2dlbmVyaWMgfCBz ZWQgLWUgcy8tSS8vYAogICBpZiB0ZXN0IC1mICR7ZGlyfS90a0ludC5oOyB0 aGVuCiAgICAgcHJpdmF0ZV9kaXI9JHtkaXJ9CiAgIGZpCiAKICAgaWYgdGVz dCB4IiR7cHJpdmF0ZV9kaXJ9IiA9IHg7IHRoZW4KLSAgICBhc19mbl9lcnJv ciAiY291bGQgbm90IGZpbmQgVGsgcHJpdmF0ZSBoZWFkZXJzIiAiJExJTkVO TyIgNQorICAgIGFzX2ZuX2Vycm9yICJjb3VsZCBub3QgZmluZCBUa2hlYWRl cnMiICIkTElORU5PIiA1CiAgIGVsc2UKICAgICBUS19QUklWQVRFX0lOQ0xV REU9Ii1JJHtwcml2YXRlX2Rpcn0iCiAgICAgeyAkYXNfZWNobyAiJGFzX21l OiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICR7cHJpdmF0ZV9kaXJ9 IiA+JjUKSW5kZXg6IHNyYy9nZGIvY29uZmlndXJlLmFjCj09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvc3JjL3NyYy9nZGIvY29uZmln dXJlLmFjLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjEyNApkaWZmIC11IC1y MS4xMjQgY29uZmlndXJlLmFjCi0tLSBzcmMvZ2RiL2NvbmZpZ3VyZS5hYwky MyBKdW4gMjAxMCAxMDoxMjoxNCAtMDAwMAkxLjEyNAorKysgc3JjL2dkYi9j b25maWd1cmUuYWMJMTAgSnVsIDIwMTAgMDc6MTY6MzIgLTAwMDAKQEAgLTE5 MTAsNyArMTkxMCw3IEBACiAgICAgICAgICAgIyBJZiBidWlsZGluZyB0Y2wg aW4gdGhlIHNhbWUgc3JjIHRyZWUsIHByaXZhdGUgaGVhZGVycwogICAgICAg ICAgICMgYXJlIG5vdCBuZWVkZWQsIGJ1dCB3ZSBuZWVkIHRvIGJlIHN1cmUg dG8gdXNlIHRoZSByaWdodAogICAgICAgICAgICMgaGVhZGVycyBsaWJyYXJ5 Ci0JICBUQ0xfSU5DTFVERT0iLUkke1RDTF9TUkNfRElSfS9nZW5lcmljIiAg ICAgICAgICAKKwkgIFRDTF9JTkNMVURFPSItSSR7VENMX1NSQ19ESVJ9L2dl bmVyaWMgLUkke1RDTF9TUkNfRElSfS8ke3BsYXREaXJ9IiAgICAgICAgICAK ICAgICAgICAgICBUQ0xfTElCUkFSWT0iJHtUQ0xfQlVJTERfTElCX1NQRUN9 IgogICAgICAgICAgIFRDTF9ERVBTPSIuLi90Y2wvJHtjb25maWdkaXJ9JHtU Q0xfTElCX0ZJTEV9IgogICAgICAgICBmaQpAQCAtMTkzMyw3ICsxOTMzLDcg QEAKIAkgIFRLX0xJQlJBUlk9JHtUS19MSUJfU1BFQ30KICAgICAgICAgICBU S19ERVBTPSIiCiAgICAgICAgIGVsc2UKLSAgICAgICAgICBUS19JTkNMVURF PSItSSR7VEtfU1JDX0RJUn0vZ2VuZXJpYyIKKyAgICAgICAgICBUS19JTkNM VURFPSItSSR7VEtfU1JDX0RJUn0vZ2VuZXJpYyAtSSR7VEtfU1JDX0RJUn0v JHtwbGF0RGlyfSIKICAgICAgICAgICBUS19MSUJSQVJZPSIke1RLX0JVSUxE X0xJQl9TUEVDfSIKICAgICAgICAgICBUS19ERVBTPSIuLi90ay8ke2NvbmZp Z2Rpcn0vJHtUS19MSUJfRklMRX0iCiAgICAgICAgIGZpCkluZGV4OiBzcmMv Z2RiL2dkYnRrL2dlbmVyaWMvZ2RidGstYnAuYwo9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09ClJDUyBmaWxlOiAvY3ZzL3NyYy9zcmMvZ2RiL2dkYnRrL2dlbmVy aWMvZ2RidGstYnAuYyx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4zNgpkaWZm IC11IC1yMS4zNiBnZGJ0ay1icC5jCi0tLSBzcmMvZ2RiL2dkYnRrL2dlbmVy aWMvZ2RidGstYnAuYwkyIEFwciAyMDEwIDIzOjM5OjU1IC0wMDAwCTEuMzYK KysrIHNyYy9nZGIvZ2RidGsvZ2VuZXJpYy9nZGJ0ay1icC5jCTEwIEp1bCAy MDEwIDA3OjE2OjUyIC0wMDAwCkBAIC0xNzksMTEgKzE3OSwxMSBAQAogCiAv KiBzZXQgYSBicmVha3BvaW50IGJ5IHNvdXJjZSBmaWxlIGFuZCBsaW5lIG51 bWJlcgogICAgZmxhZ3MgYXJlIGFzIGZvbGxvd3M6Ci0gICBsZWFzdCBzaWdu aWZpY2FudCAyIGJpdHMgYXJlIGRpc3Bvc2l0aW9uLCByZXN0IGlzIAorICAg bGVhc3Qgc2lnbmlmaWNhbnQgMiBiaXRzIGFyZSBkaXNwb3NpdGlvbiwgcmVz dCBpcwogICAgdHlwZSAobm9ybWFsbHkgMCkuCiAKICAgIGVudW0gYnB0eXBl IHsKLSAgIGJwX2JyZWFrcG9pbnQsICAgICAgICAgICAgICAgIE5vcm1hbCBi cmVha3BvaW50IAorICAgYnBfYnJlYWtwb2ludCwgICAgICAgICAgICAgICAg Tm9ybWFsIGJyZWFrcG9pbnQKICAgIGJwX2hhcmR3YXJlX2JyZWFrcG9pbnQs ICAgICAgSGFyZHdhcmUgYXNzaXN0ZWQgYnJlYWtwb2ludAogICAgfQogCkBA IC0xOTEsOCArMTkxLDggQEAKICAgIGVudW0gYnBkaXNwIHsKICAgIGRlbCwg ICAgICAgICAgICAgICAgICAgICAgICAgRGVsZXRlIGl0CiAgICBkZWxfYXRf bmV4dF9zdG9wLCAgICAgICAgICAgIERlbGV0ZSBhdCBuZXh0IHN0b3AsIHdo ZXRoZXIgaGl0IG9yIG5vdAotICAgZGlzYWJsZSwgICAgICAgICAgICAgICAg ICAgICBEaXNhYmxlIGl0IAotICAgZG9udHRvdWNoICAgICAgICAgICAgICAg ICAgICBMZWF2ZSBpdCBhbG9uZSAKKyAgIGRpc2FibGUsICAgICAgICAgICAg ICAgICAgICAgRGlzYWJsZSBpdAorICAgZG9udHRvdWNoICAgICAgICAgICAg ICAgICAgICBMZWF2ZSBpdCBhbG9uZQogICAgfTsKICovCiAKQEAgLTIxNyw3 ICsyMTcsNyBAQAogICAgICAgVGNsX1dyb25nTnVtQXJncyAoaW50ZXJwLCAx LCBvYmp2LCAiYWRkcmVzcyIpOwogICAgICAgcmV0dXJuIFRDTF9FUlJPUjsK ICAgICB9Ci0gIAorCiAgIGlmIChUY2xfR2V0V2lkZUludEZyb21PYmogKGlu dGVycCwgb2JqdlsxXSwgJndhZGRyKSAhPSBUQ0xfT0spCiAgICAgcmV0dXJu IFRDTF9FUlJPUjsKICAgYWRkciA9IHdhZGRyOwpAQCAtMzE5LDcgKzMxOSw3 IEBACiAKICAgaXNQZW5kaW5nID0gKGItPmxvYyA9PSBOVUxMKTsKICAgVGNs X1NldExpc3RPYmogKHJlc3VsdF9wdHItPm9ial9wdHIsIDAsIE5VTEwpOwot ICAvKiBQZW5kaW5nIGJyZWFrcG9pbnRzIHdpbGwgZGlzcGxheSAiPFBFTkRJ Tkc+IiBhcyB0aGUgZmlsZSBuYW1lIGFuZCB0aGUgCisgIC8qIFBlbmRpbmcg YnJlYWtwb2ludHMgd2lsbCBkaXNwbGF5ICI8UEVORElORz4iIGFzIHRoZSBm aWxlIG5hbWUgYW5kIHRoZQogICAgICB1c2VyIGV4cHJlc3Npb24gaW50byB0 aGUgRnVuY3Rpb24gZmllbGQgb2YgdGhlIGJyZWFrcG9pbnQgdmlldy4KICAg ICAiMCIgYW5kICIwIiBpbiB0aGUgbGluZSBudW1iZXIgYW5kIGFkZHJlc3Mg ZmllbGQuICAqLwogICBpZiAoaXNQZW5kaW5nKQpAQCAtNTQ2LDExICs1NDYs MTEgQEAKIAogICBUUllfQ0FUQ0ggKGUsIFJFVFVSTl9NQVNLX0FMTCkKICAg ICB7Ci0gICAgICBjcmVhdGVfYnJlYWtwb2ludCAoZ2V0X2N1cnJlbnRfYXJj aCAoKSwgYWRkcmVzcywgY29uZGl0aW9uLCB0aHJlYWQsCi0JCQkgMAkvKiBj b25kaXRpb24gYW5kIHRocmVhZCBhcmUgdmFsaWQgKi8sCi0JCQkgdGVtcCwK LQkJCSAwCS8qIGhhcmR3YXJlIGZsYWcgKi8sCi0JCQkgMAkvKiB0cmFjZSBm bGFnICovLAorICAgICAgY3JlYXRlX2JyZWFrcG9pbnQgKGdldF9jdXJyZW50 X2FyY2ggKCksIGFkZHJlc3MsCisgICAgICAgICAgICAgY29uZGl0aW9uLCB0 aHJlYWQsCisJCQkgMCwKKwkJCSB0ZW1wLA0KKwkJCSBicF9icmVha3BvaW50 IC8qIHR5cGUgd2FudGVkICovLAogCQkJIGlnbm9yZV9jb3VudCwKIAkJCSAo cGVuZGluZyA/IEFVVE9fQk9PTEVBTl9UUlVFIDogQVVUT19CT09MRUFOX0ZB TFNFKSwKIAkJCSBOVUxMCS8qIGJyZWFrcG9pbnQgb3BzICovLApAQCAtNTY5 LDcgKzU2OSw3IEBACiAgKiBldmVudHMgZnJvbSBnZGIuCiAgKi8KIAotLyog VGhlIG5leHQgdGhyZWUgZnVuY3Rpb25zIHVzZSBicmVha3BvaW50X25vdGlm eSB0byBhbGxvdyB0aGUgR1VJIAorLyogVGhlIG5leHQgdGhyZWUgZnVuY3Rp b25zIHVzZSBicmVha3BvaW50X25vdGlmeSB0byBhbGxvdyB0aGUgR1VJCiAg KiB0byBoYW5kbGUgY3JlYXRpbmcsIGRlbGV0aW5nIGFuZCBtb2RpZnlpbmcg YnJlYWtwb2ludHMuICBUaGVzZSB0aHJlZQogICogZnVuY3Rpb25zIGFyZSBw dXQgaW50byB0aGUgYXBwcm9wcmlhdGUgZ2RiIGhvb2tzIGluIGdkYnRrX2lu aXQuCiAgKi8KQEAgLTY0NCw3ICs2NDQsNyBAQAogCiAgIGlmIChUY2xfRXZh bCAoZ2RidGtfaW50ZXJwLCBidWYpICE9IFRDTF9PSykKICAgICByZXBvcnRf ZXJyb3IgKCk7Ci0gIGZyZWUoYnVmKTsgCisgIGZyZWUoYnVmKTsKIH0KIAwK IC8qCkBAIC02ODksNyArNjg5LDcgQEAKIAkJCSAgJmdkYnRrX29ial9hcnJh eSk7CiAgIGdkYnRrX29ial9hcnJheV9wdHIgPSAxOwogICBjb21tYW5kcyA9 IHJlYWRfY29tbWFuZF9saW5lc18xIChnZGJ0a19yZWFkX25leHRfbGluZSwg MSwKLQkJCQkgICBjaGVja190cmFjZXBvaW50X2NvbW1hbmQsIHRwKTsgIAor CQkJCSAgIGNoZWNrX3RyYWNlcG9pbnRfY29tbWFuZCwgdHApOwogCiAgIGJy ZWFrcG9pbnRfc2V0X2NvbW1hbmRzICh0cCwgY29tbWFuZHMpOwogICByZXR1 cm4gVENMX09LOwpAQCAtOTE5LDUgKzkxOSw1IEBACiAKICAgaWYgKFRjbF9F dmFsIChnZGJ0a19pbnRlcnAsIGJ1ZikgIT0gVENMX09LKQogICAgIHJlcG9y dF9lcnJvciAoKTsKLSAgZnJlZShidWYpOyAKKyAgZnJlZShidWYpOwogfQpJ bmRleDogc3JjL2dkYi9nZGJ0ay9saWJyYXJ5L21haW4udGNsCj09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvc3JjL3NyYy9nZGIvZ2Ri dGsvbGlicmFyeS9tYWluLnRjbCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4x OQpkaWZmIC11IC1yMS4xOSBtYWluLnRjbAotLS0gc3JjL2dkYi9nZGJ0ay9s aWJyYXJ5L21haW4udGNsCTIgQXVnIDIwMDggMjI6MDg6MzIgLTAwMDAJMS4x OQorKysgc3JjL2dkYi9nZGJ0ay9saWJyYXJ5L21haW4udGNsCTEwIEp1bCAy MDEwIDA3OjE2OjUyIC0wMDAwCkBAIC01Niw3ICs1Niw3IEBACiAjIFJlcXVp cmUgdGhlIHBhY2thZ2VzIHdlIG5lZWQuICBNb3N0IGFyZSBsb2FkZWQgYWxy ZWFkeSwgYnV0IHRoaXMgd2lsbCBjYXRjaCAKICMgYW55IG9kZCBlcnJvcnMu Li4gOgogCi1mb3JlYWNoIHAge3tUY2wgOC40fSB7VGsgOC40fSB7SXRjbCAz LjN9IHtJdGsgMy4zfSB7SXdpZGdldHMgNC4wfSB7R2RidGsgMS4wfSB7Y29t Ym9ib3ggMi4yfSB7ZGVidWcgMS4wfX0geworZm9yZWFjaCBwIHt7VGNsIDgu NX0ge1RrIDguNX0ge0l0Y2wgMy40fSB7SXRrIDMuNH0ge0l3aWRnZXRzIDQu MH0ge0dkYnRrIDEuMH0ge2NvbWJvYm94IDIuMn0ge2RlYnVnIDEuMH19IHsK ICAgaWYge1tjYXRjaCB7cGFja2FnZSByZXF1aXJlIFtsaW5kZXggJHAgMF0g W2xpbmRleCAkcCAxXX0gbXNnXX0gewogICAgIGlmIHshW2luZm8gZXhpc3Rz IDo6ZW52KEdEQlRLX1RFU1RfUlVOTklORyldIHx8ICQ6OmVudihHREJUS19U RVNUX1JVTk5JTkcpID09IDB9IHsKICAgICAgIGlmIHskOjp0Y2xfcGxhdGZv cm0ocGxhdGZvcm0pICE9ICJ3aW5kb3dzIn0gewpJbmRleDogc3JjL2dkYi9n ZGJ0ay9saWJyYXJ5L3RhcmdldHNlbGVjdGlvbi5pdGIKPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9zcmMvc3JjL2dkYi9nZGJ0ay9s aWJyYXJ5L3RhcmdldHNlbGVjdGlvbi5pdGIsdgpyZXRyaWV2aW5nIHJldmlz aW9uIDEuMjQKZGlmZiAtdSAtcjEuMjQgdGFyZ2V0c2VsZWN0aW9uLml0Ygot LS0gc3JjL2dkYi9nZGJ0ay9saWJyYXJ5L3RhcmdldHNlbGVjdGlvbi5pdGIJ MjQgQXByIDIwMDkgMDM6MDQ6NTYgLTAwMDAJMS4yNAorKysgc3JjL2dkYi9n ZGJ0ay9saWJyYXJ5L3RhcmdldHNlbGVjdGlvbi5pdGIJMTAgSnVsIDIwMTAg MDc6MTY6NTMgLTAwMDAKQEAgLTM5LDggKzM5LDggQEAKIAogaXRjbDo6Ym9k eSBUYXJnZXRTZWxlY3Rpb246OmluaXRfdGFyZ2V0X2RiIHt9IHsKICAgIyBj aGVjayB0byBzZWUgaWYgd2UgYWxyZWFkeSBpbml0aWFsaXplZCB0aGlzIGRh dGFiYXNlCi0gIGlmIHskZGJfaW5pdGVkfSB7IAotICAgIHJldHVybiAKKyAg aWYgeyRkYl9pbml0ZWR9IHsKKyAgICByZXR1cm4KICAgfQogICBzZXQgZGJf aW5pdGVkIDEKIApAQCAtMjk2LDcgKzI5Niw3IEBACiAgICAgSVJJWCAgICB7 IHNldCBwb3J0IC9kZXYvZm9vMSB9CiAgICAgT1NGMSAgICB7IHNldCBwb3J0 IC9kZXYvZm9vMSB9CiAgICAgTmV0QlNEICB7IHNldCBwb3J0IC9kZXYvZm9v MSB9Ci0gICAgSFAtVVggICB7IAorICAgIEhQLVVYICAgewogICAgICAgIyBT cGVjaWFsIGNhc2UuLi4KICAgICAgIHN3aXRjaCAtcmVnZXhwICRnZGJ0a19w bGF0Zm9ybShvc1ZlcnNpb24pIHsKIAlBLjA5IHsgc2V0IHBvcnQgL2Rldi90 dHkwMCB9CkBAIC0zMDYsNyArMzA2LDcgQEAKICAgICB9CiAgICAgZGVmYXVs dCB7IHNldCBwb3J0IC9kZXYvdHR5YSB9CiAgIH0KLSAgCisKICAgcmV0dXJu ICRwb3J0CiB9CiAKQEAgLTM0NSwxNCArMzQ1LDE0IEBACiAgIGlmIHskdGFy Z2V0ID09ICIiIHx8IFtzdHJpbmcgY29tcGFyZSAkdGFyZ2V0IENBTkNFTF0g PT0gMH0gewogICAgIHNldCB0YXJnZXQgZGVmYXVsdAogICB9Ci0gICAgCisK ICAgc2V0IGRlZmJhdWQgJGdkYl90YXJnZXQoJHRhcmdldCxkZWZiYXVkKQog ICBwcmVmIGRlZmluZSBnZGIvbG9hZC8kdGFyZ2V0LWJhdWQgJGRlZmJhdWQK ICAgcHJlZiBkZWZpbmUgZ2RiL2xvYWQvJHRhcmdldC1wb3J0IFtwcmVmIGdl dCBnZGIvbG9hZC9kZWZhdWx0LXBvcnRdCiAgIHByZWYgZGVmaW5lIGdkYi9s b2FkLyR0YXJnZXQtdmVyYm9zZSBbcHJlZiBnZXQgZ2RiL2xvYWQvZGVmYXVs dC12ZXJib3NlXQogICBwcmVmIGRlZmluZSBnZGIvbG9hZC8kdGFyZ2V0LXBv cnRuYW1lIDEwMDAKICAgcHJlZiBkZWZpbmUgZ2RiL2xvYWQvJHRhcmdldC1o b3N0bmFtZSBbcHJlZiBnZXQgZ2RiL2xvYWQvZGVmYXVsdC1ob3N0bmFtZV0K LSAgCisKICAgc2V0IGVyciBbY2F0Y2gge3ByZWYgZ2V0IGdkYi9sb2FkLyR0 YXJnZXQtcnVubGlzdH0gcnVuX2xpc3RdCiAgIGlmIHskZXJyfSB7CiAgICAg c2V0IHJ1bl9saXN0ICRnZGJfdGFyZ2V0KCR0YXJnZXQscnVubGlzdCkKQEAg LTM2Miw3ICszNjIsNyBAQAogICBwcmVmIHNldCBnZGIvc3JjL3J1bl9sb2Fk ICAgW2xpbmRleCAkcnVuX2xpc3QgMV0KICAgcHJlZiBzZXQgZ2RiL3NyYy9y dW5fcnVuICAgIFtsaW5kZXggJHJ1bl9saXN0IDJdCiAgIHByZWYgc2V0IGdk Yi9zcmMvcnVuX2NvbnQgICBbbGluZGV4ICRydW5fbGlzdCAzXQotICAKKwog ICBzZXQgZXJyIFtjYXRjaCB7cHJlZiBnZXQgZ2RiL2xvYWQvJHRhcmdldC1h ZnRlcl9hdHRhY2hpbmd9IGFhXQogICBpZiB7JGVycn0gewogICAgIHNldCBh YSAkZ2RiX3RhcmdldCgkdGFyZ2V0LGFmdGVyX2F0dGFjaGluZykKQEAgLTQ2 Myw3ICs0NjMsNyBAQAogICAgICAgSVJJWCAgIHsgc2V0IHBvcnRzIFtsaXN0 IC9kZXYvZm9vMSAvZGV2L2ZvbzJdIH0KICAgICAgIE9TRjEgICB7IHNldCBw b3J0cyBbbGlzdCAvZGV2L2ZvbzEgL2Rldi9mb28yXSB9CiAgICAgICBOZXRC U0QgeyBzZXQgcG9ydHMgW2xpc3QgL2Rldi9mb28xIC9kZXYvZm9vMl0gfQot ICAgICAgSFAtVVggIHsgCisgICAgICBIUC1VWCAgewogCSMgU3BlY2lhbCBj YXNlLi4uCiAJc3dpdGNoIC1yZWdleHAgJGdkYnRrX3BsYXRmb3JtKG9zVmVy c2lvbikgewogCSAgQS4wOSB7IHNldCBwb3J0cyBbbGlzdCAvZGV2L3R0eTAw IC9kZXYvdHR5MDFdIH0KQEAgLTU2Miw3ICs1NjIsNyBAQAogICBzZXQgdmFy IFtwcmVmIHZhcm5hbWUgZ2RiL3NyYy9ydW5fY29udF0KICAgcmFkaW9idXR0 b24gJFJ1bk1ldGhvZC5jb250IC10ZXh0IHtDb250aW51ZSBmcm9tIExhc3Qg U3RvcH0gLXZhbHVlIDEgLXZhcmlhYmxlICR2YXIgXAogICAgIC1jb21tYW5k IFtjb2RlICR0aGlzIHNldF9ydW4gcnVuXQotICAKKwogICBzZXQgdmFyIFtw cmVmIHZhcm5hbWUgZ2RiL3NyYy9ydW5fcnVuXQogICByYWRpb2J1dHRvbiAk UnVuTWV0aG9kLnJ1biAtdGV4dCB7UnVuIFByb2dyYW19IC12YWx1ZSAxIC12 YXJpYWJsZSAkdmFyIFwKICAgICAtY29tbWFuZCBbY29kZSAkdGhpcyBzZXRf cnVuIGNvbnRdCkBAIC01NzYsNyArNTc2LDcgQEAKIAogICBncmlkICRSdW5N ZXRob2QucnVuIC1jb2x1bW4gMCAtcm93IDEgLXN0aWNreSB3IC1pcGFkeSAy CiAgIGdyaWQgJFJ1bk1ldGhvZC5jb250IC1jb2x1bW4gMCAtcm93IDIgLXN0 aWNreSB3IC1pcGFkeSAyCi0gIAorCiAgIGdyaWQgJHJtX2ZyYW1lIC1jb2x1 bW4gMSAtcm93IDEgLXJvd3NwYW4gMiAtc3RpY2t5IG5zZXcgLWlwYWR5IDIK IAogICBncmlkICRmcmFtZS5hZnRlcmwgLXJvdyA0IC1zdGlja3kgd2UgLWNv bHVtbnNwYW4gMiAtaXBhZHkgMgpAQCAtNjEyLDcgKzYxMiw3IEBACiAKICAg cGFjayAkYnRucyAtc2lkZSBib3R0b20gLWFuY2hvciBlCiAgIGZvY3VzICRi dG5zLm9rCi0gIAorCiAgICMgc2V0IHVwIGJhbGxvb24gaGVscAogICBiYWxs b29uIHJlZ2lzdGVyICRmLmZyLmJwLmF0X2Z1bmMgIlNldCBVc2VyLVNwZWZp Y2llZCBCcmVha3BvaW50cyBhdCBSdW4gVGltZSIKICAgYmFsbG9vbiByZWdp c3RlciAkZi5mci5icC5mdW5jICJFbnRlciBhIExpc3Qgb2YgRnVuY3Rpb25z IGZvciBCcmVha3BvaW50cyIKQEAgLTc2NSw3ICs3NjUsNyBAQAogICAgIH0K ICAgICAkZnIuY2JsIGNvbmZpZ3VyZSAtdGV4dCAiQmF1ZCBSYXRlOiIKICAg ICAkZnIuY2IgY29uZmlndXJlIC10ZXh0dmFyaWFibGUgW3ByZWYgdmFybmFt ZSBnZGIvbG9hZC8kdC1iYXVkXQotICAgIAorCiAgICAgaWYgeyRtYXBwZWQy ICE9ICIkZnIucG9ydCJ9IHsKICAgICAgIGdyaWQgZm9yZ2V0ICRtYXBwZWQy CiAgICAgICBzZXQgbWFwcGVkMiAkZnIucG9ydApAQCAtODkzLDEwICs4OTMs MTAgQEAKICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBpdGNsOjpib2R5IFRh cmdldFNlbGVjdGlvbjo6cG9ydF9saXN0IHt9IHsKICAgZ2xvYmFsIGdkYnRr X3BsYXRmb3JtCi0gIGlmIHtbc3RyaW5nIGNvbXBhcmUgJGdkYnRrX3BsYXRm b3JtKG9zKSAiY3lnd2luIl0gPT0gMH0gewotICAgIHNldCBkZXZpY2UgIi9k ZXYvY29tIgorICBpZiB7W3N0cmluZyBjb21wYXJlICRnZGJ0a19wbGF0Zm9y bShwbGF0Zm9ybSkgIndpbmRvd3MiXSA9PSAwfSB7CisgICAgc2V0IGRldmlj ZSAiL2Rldi90dHlTIgogICB9IGVsc2UgewotICAgIHNldCBkZXZpY2UgIkNP TSIKKyAgICBzZXQgZGV2aWNlICJcXFxcLlxcY29tIgogICB9CiAgIHNldCBw bGlzdCAiIgogICAjIFNjYW4gY29tMSAtIGNvbTggdHJ5aW5nIHRvIG9wZW4g ZWFjaCBvbmUuCkBAIC05MDYsMTkgKzkwNiwyMSBAQAogICAjIGEgdGVybWlu YWwgcHJvZ3JhbS4KICAgc2V0IHF1aXQgMAogICBmb3Ige3NldCBpIDF9IHsh JHF1aXR9IHtpbmNyIGl9IHsKLSAgICBpZiB7W2NhdGNoIHsgc2V0IGZkIFs6 Om9wZW4gQ09NJGk6IFJEV1JdIH0gbXNnXX0geworICAgIGlmIHtbY2F0Y2gg eyBzZXQgZmQgWzo6b3BlbiAkZGV2aWNlJGkgcncrXSB9IG1zZ119IHsKICAg ICAgICMgRmFpbGVkLiAgRmluZCBvdXQgd2h5LgogICAgICAgaWYge1tzdHJp bmcgZmlyc3QgInBlcm1pc3Npb24gZGVuaWVkIiAkbXNnXSAhPSAtMX0gewog CSMgUG9ydCBpcyB0aGVyZSwgYnV0IGJ1c3kgcmlnaHQgbm93LiBUaGF0J3Mg T0suCiAJbGFwcGVuZCBwbGlzdCAkZGV2aWNlJGkKICAgICAgIH0gZWxzZWlm IHskaSA+IDR9IHsKLQkjIGlmIHdlJ3ZlIHNjYW5uZWQgdGhlIGZpcnN0IDQg cG9ydHMsIHRoZW4gcXVpdCB3aGVuIHdlIGZpbmQgbm8gbW9yZSAKKwkjIGlm IHdlJ3ZlIHNjYW5uZWQgdGhlIGZpcnN0IDQgcG9ydHMsIHRoZW4gcXVpdCB3 aGVuIHdlIGZpbmQgbm8gbW9yZQogCXNldCBxdWl0IDEKICAgICAgIH0KICAg ICB9IGVsc2UgewogICAgICAgIyBXZSBnb3QgaXQuICBOb3cgY2xvc2UgaXQg YW5kIGFkZCB0byBsaXN0LgotICAgICAgY2xvc2UgJGZkCisgICAgICBpZiB7 W2NhdGNoIHsgY2xvc2UgJGZkIH0gbXNnXX0gew0KKyAgICAgIH0gZWxzZSB7 CiAgICAgICBsYXBwZW5kIHBsaXN0ICRkZXZpY2UkaQorICAgICAgfQ0KICAg ICB9CiAgIH0KICAgcmV0dXJuICRwbGlzdApAQCAtOTY3LDcgKzk2OSw3IEBA CiAgIH0gZWxzZSB7CiAgICAgdGtfbWVzc2FnZUJveCAtbWVzc2FnZSAiVGhl IGN1cnJlbnQgdGFyZ2V0IGlzIG5vdCB2YWxpZC4iCiAgIH0KLSAgCisKIH0K IAogCkBAIC05ODksNyArOTkxLDcgQEAKIH0KIAogIyAtLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KLSMgIE1FVEhPRDogc2V0X2NoZWNrX2J1dHRvbiAtIGVuYWJs ZS9kaXNhYmxlIGNvbXBhcmUtc2VjdGlvbiBjb21tYW5kIAorIyAgTUVUSE9E OiBzZXRfY2hlY2tfYnV0dG9uIC0gZW5hYmxlL2Rpc2FibGUgY29tcGFyZS1z ZWN0aW9uIGNvbW1hbmQKICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBpdGNs Ojpib2R5IFRhcmdldFNlbGVjdGlvbjo6c2V0X2NoZWNrX2J1dHRvbiB7bmFt ZX0gewogICBpZiB7W3dpbmZvIGV4aXN0cyAgJGl0a19pbnRlcmlvci5mLmZy LmNoZWNrXX0gewpJbmRleDogc3JjL2dkYi9nZGJ0ay9wbHVnaW5zL2NvbmZp Z3VyZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Ny Yy9zcmMvZ2RiL2dkYnRrL3BsdWdpbnMvY29uZmlndXJlLHYKcmV0cmlldmlu ZyByZXZpc2lvbiAxLjYKZGlmZiAtdSAtcjEuNiBjb25maWd1cmUKLS0tIHNy Yy9nZGIvZ2RidGsvcGx1Z2lucy9jb25maWd1cmUJOSBOb3YgMjAwOSAxOToy NzoyOSAtMDAwMAkxLjYKKysrIHNyYy9nZGIvZ2RidGsvcGx1Z2lucy9jb25m aWd1cmUJMTAgSnVsIDIwMTAgMDc6MTY6NTMgLTAwMDAKQEAgLTM4MjYsNiAr MzgyNiw3IEBACiBzdXBwb3J0ZWQ9eWVzCiBjYXNlICIke2hvc3R9IiBpbgog ICAqY3lnd2luKikgOzsKKyAgKm1pbmd3KikgOzsKICAgKnNvbGFyaXMqKSA7 OwogICAqbGludXgqKSA7OwogICAqKSBzdXBwb3J0ZWQ9bm8gOzsKSW5kZXg6 IHNyYy9saWJndWkvYWNpbmNsdWRlLm00Cj09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KUkNTIGZpbGU6IC9jdnMvc3JjL3NyYy9saWJndWkvYWNpbmNsdWRlLm00 LHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjQKZGlmZiAtdSAtcjEuNCBhY2lu Y2x1ZGUubTQKLS0tIHNyYy9saWJndWkvYWNpbmNsdWRlLm00CTIgQXVnIDIw MDggMjM6MzM6MzYgLTAwMDAJMS40CisrKyBzcmMvbGliZ3VpL2FjaW5jbHVk ZS5tNAkxMCBKdWwgMjAxMCAwNzoxNzoxMyAtMDAwMApAQCAtMSwyMCArMSwy MCBAQAogc2luY2x1ZGUoLi4vY29uZmlnL3RjbC5tNCkKIAogZG5sIEZpbmQg dGhlIGxvY2F0aW9uIG9mIHRoZSBwcml2YXRlIFRjbCBoZWFkZXJzCi1kbmwg V2hlbiBUY2wgaXMgaW5zdGFsbGVkLCB0aGlzIGlzIFRDTF9JTkNMVURFX1NQ RUMvdGNsLXByaXZhdGUvZ2VuZXJpYworZG5sIFdoZW4gVGNsIGlzIGluc3Rh bGxlZCwgdGhpcyBpcyBUQ0xfSU5DTFVERV9TUEVDL2dlbmVyaWMKIGRubCBX aGVuIFRjbCBpcyBpbiB0aGUgYnVpbGQgdHJlZSwgdGhpcyBpcyBub3QgbmVl ZGVkLgogZG5sCiBkbmwgTm90ZTogeW91IG11c3QgdXNlIGZpcnN0IHVzZSBT Q19MT0FEX1RDTENPTkZJRyEKIEFDX0RFRlVOKFtDWV9BQ19UQ0xfUFJJVkFU RV9IRUFERVJTXSwgWwotICBBQ19NU0dfQ0hFQ0tJTkcoW2ZvciBUY2wgcHJp dmF0ZSBoZWFkZXJzXSkKKyAgQUNfTVNHX0NIRUNLSU5HKFtmb3IgVGNsIGhl YWRlcnNdKQogICBwcml2YXRlX2Rpcj0iIgotICBkaXI9YGVjaG8gJHtUQ0xf SU5DTFVERV9TUEVDfS90Y2wtcHJpdmF0ZS9nZW5lcmljIHwgc2VkIC1lIHMv LUkvL2AKKyAgZGlyPWBlY2hvICR7VENMX1NSQ19ESVJ9L2dlbmVyaWMgfCBz ZWQgLWUgcy8tSS8vYAogICBpZiB0ZXN0IC1mICR7ZGlyfS90Y2xJbnQuaCA7 IHRoZW4KICAgICBwcml2YXRlX2Rpcj0ke2Rpcn0KICAgZmkKIAogICBpZiB0 ZXN0IHgiJHtwcml2YXRlX2Rpcn0iID0geDsgdGhlbgotICAgIEFDX0VSUk9S KGNvdWxkIG5vdCBmaW5kIHByaXZhdGUgVGNsIGhlYWRlcnMpCisgICAgQUNf RVJST1IoY291bGQgbm90IGZpbmQgVGNsIGhlYWRlcnMpCiAgIGVsc2UKICAg ICBUQ0xfUFJJVkFURV9JTkNMVURFPSItSSR7cHJpdmF0ZV9kaXJ9IgogICAg IEFDX01TR19SRVNVTFQoJHtwcml2YXRlX2Rpcn0pCkBAIC0yNywxNSArMjcs MTUgQEAKIGRubAogZG5sIE5vdGU6IHlvdSBtdXN0IGZpcnN0IHVzZSBTQ19M T0FEX1RLQ09ORklHCiBBQ19ERUZVTihbQ1lfQUNfVEtfUFJJVkFURV9IRUFE RVJTXSwgWwotICBBQ19NU0dfQ0hFQ0tJTkcoW2ZvciBUayBwcml2YXRlIGhl YWRlcnNdKQorICBBQ19NU0dfQ0hFQ0tJTkcoW2ZvciBUa2hlYWRlcnNdKQog ICBwcml2YXRlX2Rpcj0iIgotICBkaXI9YGVjaG8gJHtUS19JTkNMVURFX1NQ RUN9L3RrLXByaXZhdGUvZ2VuZXJpYyB8IHNlZCAtZSBzLy1JLy9gCisgIGRp cj1gZWNobyAke1RLX1NSQ19ESVJ9L2dlbmVyaWMgfCBzZWQgLWUgcy8tSS8v YAogICBpZiB0ZXN0IC1mICR7ZGlyfS90a0ludC5oOyB0aGVuCiAgICAgcHJp dmF0ZV9kaXI9JHtkaXJ9CiAgIGZpCiAKICAgaWYgdGVzdCB4IiR7cHJpdmF0 ZV9kaXJ9IiA9IHg7IHRoZW4KLSAgICBBQ19FUlJPUihjb3VsZCBub3QgZmlu ZCBUayBwcml2YXRlIGhlYWRlcnMpCisgICAgQUNfRVJST1IoY291bGQgbm90 IGZpbmQgVGtoZWFkZXJzKQogICBlbHNlCiAgICAgVEtfUFJJVkFURV9JTkNM VURFPSItSSR7cHJpdmF0ZV9kaXJ9IgogICAgIEFDX01TR19SRVNVTFQoJHtw cml2YXRlX2Rpcn0pCkluZGV4OiBzcmMvbGliZ3VpL2NvbmZpZ3VyZQo9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3NyYy9zcmMvbGli Z3VpL2NvbmZpZ3VyZSx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4yMApkaWZm IC11IC1yMS4yMCBjb25maWd1cmUKLS0tIHNyYy9saWJndWkvY29uZmlndXJl CTkgTm92IDIwMDkgMTk6MjM6MTIgLTAwMDAJMS4yMAorKysgc3JjL2xpYmd1 aS9jb25maWd1cmUJMTAgSnVsIDIwMTAgMDc6MTc6MTMgLTAwMDAKQEAgLTQ2 NzMsNyArNDY3Myw3IEBACiAKIAkgICAgIyBGaXJzdCBjaGVjayB0byBzZWUg aWYgLS13aXRoLXRjbCB3YXMgc3BlY2lmaWVkLgogCSAgICBjYXNlICIke2hv c3R9IiBpbgotCQkqLSotY3lnd2luKikgcGxhdERpcj0id2luIiA7OworCQkq LSotY3lnd2luKiB8ICotKi1taW5ndyopIHBsYXREaXI9IndpbiIgOzsKIAkJ KikgcGxhdERpcj0idW5peCIgOzsKIAkgICAgZXNhYwogCSAgICBpZiB0ZXN0 IHgiJHt3aXRoX3RjbGNvbmZpZ30iICE9IHggOyB0aGVuCkBAIC00ODY4LDcg KzQ4NjgsNyBAQAogCiAJICAgICMgdGhlbiBjaGVjayBmb3IgYSBwcml2YXRl IFRrIGxpYnJhcnkKIAkgICAgY2FzZSAiJHtob3N0fSIgaW4KLQkJKi0qLWN5 Z3dpbiopIHBsYXREaXI9IndpbiIgOzsKKwkJKi0qLWN5Z3dpbiogfCAqLSot bWluZ3cqKSBwbGF0RGlyPSJ3aW4iIDs7CiAJCSopIHBsYXREaXI9InVuaXgi IDs7CiAJICAgIGVzYWMKIAkgICAgaWYgdGVzdCB4IiR7YWNfY3ZfY190a2Nv bmZpZ30iID0geCA7IHRoZW4KQEAgLTUwMjcsNyArNTAyNyw3IEBACiBpZiB0 ZXN0ICIke1RDTF9TUkNfRElSfSIgPSAiJHt0b3BkaXJ9L3RjbCI7IHRoZW4K ICAgIyBVc2luZyBpbi10cmVlIFRjbC9UawogICBjYXNlICIke2hvc3R9IiBp bgotICAgICotKi1jeWd3aW4qKSBwbGF0RGlyPSJ3aW4iIDs7CisgICAgKi0q LWN5Z3dpbiogfCAqLSotbWluZ3cqKSBwbGF0RGlyPSJ3aW4iIDs7CiAgICAg KikgcGxhdERpcj0idW5peCIgOzsKICAgZXNhYwogCkBAIC01MDM4LDE2ICs1 MDM4LDE3IEBACiBlbHNlCiAgICMgVXNpbmcgaW5zdGFsbGVkIFRjbC9Uawog Ci0gIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTog Y2hlY2tpbmcgZm9yIFRjbCBwcml2YXRlIGhlYWRlcnMiID4mNQotJGFzX2Vj aG9fbiAiY2hlY2tpbmcgZm9yIFRjbCBwcml2YXRlIGhlYWRlcnMuLi4gIiA+ JjY7IH0KKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5F Tk99OiBjaGVja2luZyBmb3IgVGNsIGhlYWRlcnMiID4mNQorJGFzX2VjaG9f biAiY2hlY2tpbmcgZm9yIFRjbCBoZWFkZXJzLi4uICIgPiY2OyB9CiAgIHBy aXZhdGVfZGlyPSIiCi0gIGRpcj1gZWNobyAke1RDTF9JTkNMVURFX1NQRUN9 L3RjbC1wcml2YXRlL2dlbmVyaWMgfCBzZWQgLWUgcy8tSS8vYAorICBkaXI9 YGVjaG8gJHtUQ0xfU1JDX0RJUn0vZ2VuZXJpYyB8IHNlZCAtZSBzLy1JLy9g CiskYXNfZWNobyAke1RDTF9JTkNMVURFX1NQRUN9ICRkaXIgPiY1CiAgIGlm IHRlc3QgLWYgJHtkaXJ9L3RjbEludC5oIDsgdGhlbgogICAgIHByaXZhdGVf ZGlyPSR7ZGlyfQogICBmaQogCiAgIGlmIHRlc3QgeCIke3ByaXZhdGVfZGly fSIgPSB4OyB0aGVuCi0gICAgYXNfZm5fZXJyb3IgImNvdWxkIG5vdCBmaW5k IHByaXZhdGUgVGNsIGhlYWRlcnMiICIkTElORU5PIiA1CisgICAgYXNfZm5f ZXJyb3IgImNvdWxkIG5vdCBmaW5kIFRjbCBoZWFkZXJzIiAiJExJTkVOTyIg NQogICBlbHNlCiAgICAgVENMX1BSSVZBVEVfSU5DTFVERT0iLUkke3ByaXZh dGVfZGlyfSIKICAgICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8t JExJTkVOT306IHJlc3VsdDogJHtwcml2YXRlX2Rpcn0iID4mNQpAQCAtNTA1 NSwyNSArNTA1NiwyNSBAQAogICBmaQogCiAKLSAgeyAkYXNfZWNobyAiJGFz X21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgVGsgcHJp dmF0ZSBoZWFkZXJzIiA+JjUKLSRhc19lY2hvX24gImNoZWNraW5nIGZvciBU ayBwcml2YXRlIGhlYWRlcnMuLi4gIiA+JjY7IH0KKyAgeyAkYXNfZWNobyAi JGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgVGto ZWFkZXJzIiA+JjUKKyRhc19lY2hvX24gImNoZWNraW5nIGZvciBUa2hlYWRl cnMuLi4gIiA+JjY7IH0KICAgcHJpdmF0ZV9kaXI9IiIKLSAgZGlyPWBlY2hv ICR7VEtfSU5DTFVERV9TUEVDfS90ay1wcml2YXRlL2dlbmVyaWMgfCBzZWQg LWUgcy8tSS8vYAorICBkaXI9YGVjaG8gJHtUS19TUkNfRElSfS9nZW5lcmlj IHwgc2VkIC1lIHMvLUkvL2AKICAgaWYgdGVzdCAtZiAke2Rpcn0vdGtJbnQu aDsgdGhlbgogICAgIHByaXZhdGVfZGlyPSR7ZGlyfQogICBmaQogCiAgIGlm IHRlc3QgeCIke3ByaXZhdGVfZGlyfSIgPSB4OyB0aGVuCi0gICAgYXNfZm5f ZXJyb3IgImNvdWxkIG5vdCBmaW5kIFRrIHByaXZhdGUgaGVhZGVycyIgIiRM SU5FTk8iIDUKKyAgICBhc19mbl9lcnJvciAiY291bGQgbm90IGZpbmQgVGsg aGVhZGVycyIgIiRMSU5FTk8iIDUKICAgZWxzZQogICAgIFRLX1BSSVZBVEVf SU5DTFVERT0iLUkke3ByaXZhdGVfZGlyfSIKICAgICB7ICRhc19lY2hvICIk YXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJHtwcml2YXRl X2Rpcn0iID4mNQogJGFzX2VjaG8gIiR7cHJpdmF0ZV9kaXJ9IiA+JjY7IH0K ICAgZmkKIAotICBUQ0xfSU5DTFVERVM9IiR7VENMX0lOQ0xVREVfU1BFQ30g JHtUQ0xfUFJJVkFURV9JTkNMVURFfSIKKyAgVENMX0lOQ0xVREVTPSIke1RD TF9JTkNMVURFX1NQRUN9ICR7VENMX1BSSVZBVEVfSU5DTFVERX0gLUkke1RD TF9TUkNfRElSfS8ke3BsYXREaXJ9IgogICBUQ0xfTElCUkFSWT0ke1RDTF9M SUJfU1BFQ30KLSAgVEtfSU5DTFVERVM9IiR7VEtfSU5DTFVERV9TUEVDfSAk e1RLX1BSSVZBVEVfSU5DTFVERX0iCisgIFRLX0lOQ0xVREVTPSIke1RLX0lO Q0xVREVfU1BFQ30gJHtUS19QUklWQVRFX0lOQ0xVREV9IC1JJHtUS19TUkNf RElSfS8ke3BsYXREaXJ9IgogICBUS19MSUJSQVJZPSR7VEtfTElCX1NQRUN9 CiBmaQogCkluZGV4OiBzcmMvbGliZ3VpL2NvbmZpZ3VyZS5hYwo9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3NyYy9zcmMvbGliZ3Vp L2NvbmZpZ3VyZS5hYyx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS40CmRpZmYg LXUgLXIxLjQgY29uZmlndXJlLmFjCi0tLSBzcmMvbGliZ3VpL2NvbmZpZ3Vy ZS5hYwkyIEF1ZyAyMDA4IDIzOjMzOjM2IC0wMDAwCTEuNAorKysgc3JjL2xp Ymd1aS9jb25maWd1cmUuYWMJMTAgSnVsIDIwMTAgMDc6MTc6MTQgLTAwMDAK QEAgLTkzLDcgKzkzLDcgQEAKIGlmIHRlc3QgIiR7VENMX1NSQ19ESVJ9IiA9 ICIke3RvcGRpcn0vdGNsIjsgdGhlbgogICAjIFVzaW5nIGluLXRyZWUgVGNs L1RrCiAgIGNhc2UgIiR7aG9zdH0iIGluCi0gICAgKi0qLWN5Z3dpbiopIHBs YXREaXI9IndpbiIgOzsKKyAgICAqLSotY3lnd2luKiB8ICotKi1taW5ndyop IHBsYXREaXI9IndpbiIgOzsKICAgICAqKSBwbGF0RGlyPSJ1bml4IiA7Owog ICBlc2FjCiAKQEAgLTEwNSw5ICsxMDUsOSBAQAogICAjIFVzaW5nIGluc3Rh bGxlZCBUY2wvVGsKICAgQ1lfQUNfVENMX1BSSVZBVEVfSEVBREVSUwogICBD WV9BQ19US19QUklWQVRFX0hFQURFUlMKLSAgVENMX0lOQ0xVREVTPSIke1RD TF9JTkNMVURFX1NQRUN9ICR7VENMX1BSSVZBVEVfSU5DTFVERX0iCisgIFRD TF9JTkNMVURFUz0iJHtUQ0xfSU5DTFVERV9TUEVDfSAke1RDTF9QUklWQVRF X0lOQ0xVREV9IC1JJHtUQ0xfU1JDX0RJUn0vJHtwbGF0RGlyfSIKICAgVENM X0xJQlJBUlk9JHtUQ0xfTElCX1NQRUN9Ci0gIFRLX0lOQ0xVREVTPSIke1RL X0lOQ0xVREVfU1BFQ30gJHtUS19QUklWQVRFX0lOQ0xVREV9IgorICBUS19J TkNMVURFUz0iJHtUS19JTkNMVURFX1NQRUN9ICR7VEtfUFJJVkFURV9JTkNM VURFfSAtSSR7VEtfU1JDX0RJUn0vJHtwbGF0RGlyfSIKICAgVEtfTElCUkFS WT0ke1RLX0xJQl9TUEVDfQogZmkKIApJbmRleDogc3JjL2xpYmd1aS9zcmMv dGtXaW5QcmludFRleHQuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBm aWxlOiAvY3ZzL3NyYy9zcmMvbGliZ3VpL3NyYy90a1dpblByaW50VGV4dC5j LHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjUKZGlmZiAtdSAtcjEuNSB0a1dp blByaW50VGV4dC5jCi0tLSBzcmMvbGliZ3VpL3NyYy90a1dpblByaW50VGV4 dC5jCTggU2VwIDIwMDEgMjI6MzQ6NDggLTAwMDAJMS41CisrKyBzcmMvbGli Z3VpL3NyYy90a1dpblByaW50VGV4dC5jCTEwIEp1bCAyMDEwIDA3OjE3OjE1 IC0wMDAwCkBAIC0zNTgsMTUgKzM1OCwxNSBAQAogICAgIC8qIE1ha2UgdGhl IHRleHQgd2lkZ2V0IGJpZyBlbm91Z2ggZm9yIGFsbCB0aGUKICAgICB0ZXh0 IHRvIGJlIHNlZW4uICovCiAKLSAgICBudW1MaW5lcyA9IFRrQlRyZWVOdW1M aW5lcyh0ZXh0UHRyLT50cmVlKTsKKyAgICBudW1MaW5lcyA9IFRrQlRyZWVO dW1MaW5lcyh0ZXh0UHRyLT5zaGFyZWRUZXh0UHRyLT50cmVlLCB0ZXh0UHRy KTsKICNpZiAoVENMX01BSk9SX1ZFUlNJT04gPj0gOCkgJiYgKFRDTF9NSU5P Ul9WRVJTSU9OID49IDEpCi0gICAgVGtUZXh0TWFrZUJ5dGVJbmRleCh0ZXh0 UHRyLT50cmVlLCAwLCAwLCAmZmlyc3QpOwotICAgIFRrVGV4dE1ha2VCeXRl SW5kZXgodGV4dFB0ci0+dHJlZSwgbnVtTGluZXMsIDEwMCwgJmxhc3QpOwor ICAgIFRrVGV4dE1ha2VCeXRlSW5kZXgodGV4dFB0ci0+c2hhcmVkVGV4dFB0 ci0+dHJlZSwgdGV4dFB0ciwgMCwgMCwgJmZpcnN0KTsKKyAgICBUa1RleHRN YWtlQnl0ZUluZGV4KHRleHRQdHItPnNoYXJlZFRleHRQdHItPnRyZWUsIHRl eHRQdHIsIG51bUxpbmVzLCAxMDAsICZsYXN0KTsKICNlbHNlCiAgICAgVGtU ZXh0TWFrZUluZGV4KHRleHRQdHItPnRyZWUsIDAsIDAsICZmaXJzdCk7CiAg ICAgVGtUZXh0TWFrZUluZGV4KHRleHRQdHItPnRyZWUsIG51bUxpbmVzLCAx MDAsICZsYXN0KTsKICNlbmRpZgotICAgIFRrVGV4dENoYW5nZWQodGV4dFB0 ciwgJmZpcnN0LCAmbGFzdCk7CisgICAgVGtUZXh0Q2hhbmdlZCh0ZXh0UHRy LT5zaGFyZWRUZXh0UHRyLCB0ZXh0UHRyLCAmZmlyc3QsICZsYXN0KTsKIAog ICAgIC8qCiAgICAgICogU2V0IHRoZSBkaXNwbGF5IGluZm8gZmxhZyB0byBv dXQtb2YtZGF0ZS4KQEAgLTQzNyw3ICs0MzcsNyBAQAogICAgIC8qCiAgICAg ICogUGl0Y2ggdGhlIGluZm8gYWdhaW4uCiAgICAgICovCi0gICAgVGtUZXh0 Q2hhbmdlZCh0ZXh0UHRyLCAmZmlyc3QsICZsYXN0KTsKKyAgICBUa1RleHRD aGFuZ2VkKHRleHRQdHItPnNoYXJlZFRleHRQdHIsIHRleHRQdHIsICZmaXJz dCwgJmxhc3QpOwogCiAgICAgLyoKICAgICAgKiBEaXNwbGF5IGluZm8gbm90 IHZhbGlkIGFueW1vcmUuCkBAIC01MTksMTMgKzUxOSwxMyBAQAogCX0gZWxz ZSB7CiAJICAgIHggPSBjaHVua1B0ci0+eCArIGRJbmZvUHRyLT54IC0gZElu Zm9QdHItPmN1clBpeGVsT2Zmc2V0OwogCSAgICBpZiAoKHggKyBjaHVua1B0 ci0+d2lkdGggPD0gMCkgfHwgKHggPj0gZEluZm9QdHItPm1heFgpKSB7Ci0J ICAgICAgICAoKmNodW5rUHRyLT5kaXNwbGF5UHJvYykoY2h1bmtQdHIsIC1j aHVua1B0ci0+d2lkdGgsCisJICAgICAgICAoKmNodW5rUHRyLT5kaXNwbGF5 UHJvYykodGV4dFB0ciwgY2h1bmtQdHIsIC1jaHVua1B0ci0+d2lkdGgsCiAJ CSAgICBkbFB0ci0+eSwKIAkJICAgIGRsUHRyLT5oZWlnaHQgLSBkbFB0ci0+ c3BhY2VBYm92ZSAtIGRsUHRyLT5zcGFjZUJlbG93LAogCQkgICAgZGxQdHIt PmJhc2VsaW5lIC0gZGxQdHItPnNwYWNlQWJvdmUsIGRpc3BsYXksICh1bnNp Z25lZCBsb25nKWRyYXdhYmxlLAogCQkgICAgZGxQdHItPnkgKyBkbFB0ci0+ c3BhY2VBYm92ZSk7CiAJICAgIH0gZWxzZSB7Ci0JICAgICAgICAoKmNodW5r UHRyLT5kaXNwbGF5UHJvYykoY2h1bmtQdHIsIHgsIGRsUHRyLT55LAorCSAg ICAgICAgKCpjaHVua1B0ci0+ZGlzcGxheVByb2MpKHRleHRQdHIsIGNodW5r UHRyLCB4LCBkbFB0ci0+eSwKIAkJICAgIGRsUHRyLT5oZWlnaHQgLSBkbFB0 ci0+c3BhY2VBYm92ZSAtIGRsUHRyLT5zcGFjZUJlbG93LAogCQkgICAgZGxQ dHItPmJhc2VsaW5lIC0gZGxQdHItPnNwYWNlQWJvdmUsIGRpc3BsYXksICh1 bnNpZ25lZCBsb25nKWRyYXdhYmxlLAogCQkgICAgZGxQdHItPnkgKyBkbFB0 ci0+c3BhY2VBYm92ZSk7Cg== --------------070806070001090907050908--