From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 30862 invoked by alias); 30 May 2012 18:27:31 -0000 Received: (qmail 30824 invoked by uid 22791); 30 May 2012 18:27:23 -0000 X-SWARE-Spam-Status: No, hits=-3.9 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,KHOP_RCVD_TRUST,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_YE,TW_AJ,TW_DD,TW_IV,TW_IX,TW_JF,TW_NV,TW_TG,TW_XR X-Spam-Check-By: sourceware.org Received: from mail-vb0-f41.google.com (HELO mail-vb0-f41.google.com) (209.85.212.41) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 30 May 2012 18:27:02 +0000 Received: by vbbey12 with SMTP id ey12so96320vbb.0 for ; Wed, 30 May 2012 11:27:01 -0700 (PDT) Received: by 10.52.25.43 with SMTP id z11mr13838649vdf.45.1338402421801; Wed, 30 May 2012 11:27:01 -0700 (PDT) Received: from pebble.twiddle.home ([173.160.232.49]) by mx.google.com with ESMTPS id by3sm675231vdc.17.2012.05.30.11.27.00 (version=TLSv1/SSLv3 cipher=OTHER); Wed, 30 May 2012 11:27:01 -0700 (PDT) Message-ID: <4FC66673.7000100@twiddle.net> Date: Wed, 30 May 2012 18:27:00 -0000 From: Richard Henderson User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:12.0) Gecko/20120430 Thunderbird/12.0.1 MIME-Version: 1.0 To: libc-ports@sourceware.org Subject: alpha: Purge __ASSUME_TIMEVAL64 Content-Type: multipart/mixed; boundary="------------010303030004000406000903" X-IsSubscribed: yes Mailing-List: contact libc-ports-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: libc-ports-owner@sourceware.org X-SW-Source: 2012-05/txt/msg00186.txt.bz2 This is a multi-part message in MIME format. --------------010303030004000406000903 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Content-length: 316 Since we now assume (must later than) linux 2.2. Since we no longer have to do anything tricky at all, with the exception of adjtime these files can be replaced by syscalls.list entries. For setitimer, given its use in ld.so, this depended on the change to make-syscalls.sh that Roland approved this morning. r~ --------------010303030004000406000903 Content-Type: text/plain; charset=UTF-8; name="z1" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="z1" Content-length: 54022 KwkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL2FkanRpbWUuYzog UmVtb3ZlIF9fQVNTVU1FX1RJTUVWQUw2NC4KKwkqIHN5c2RlcHMvdW5peC9z eXN2L2xpbnV4L2FscGhhL2dldGl0aW1lci5TOiBSZW1vdmUgZmlsZS4KKwkq IHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL2dldHJ1c2FnZS5TOiBS ZW1vdmUgZmlsZS4KKwkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhh L2dldHRpbWVvZmRheS5TOiBSZW1vdmUgZmlsZS4KKwkqIHN5c2RlcHMvdW5p eC9zeXN2L2xpbnV4L2FscGhhL3NlbGVjdC5TOiBSZW1vdmUgZmlsZS4KKwkq IHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL3NldGl0aW1lci5TOiBS ZW1vdmUgZmlsZS4KKwkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhh L3NldHRpbWVvZmRheS5TOiBSZW1vdmUgZmlsZS4KKwkqIHN5c2RlcHMvdW5p eC9zeXN2L2xpbnV4L2FscGhhL3V0aW1lcy5TOiBSZW1vdmUgZmlsZS4KKwkq IHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL3dhaXQ0LlM6IFJlbW92 ZSBmaWxlLgorCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvc3lz Y2FsbHMubGlzdCAoZ2V0aXRpbWVyKTogTmV3LgorCShnZXRydXNhZ2UsIGdl dHRpbWVvZmRheSwgc2VsZWN0LCBzZXRpdGltZXIpOiBOZXcuCisJKHNldHRp bWVvZmRheSwgdXRpbWVzLCB3YWl0NCk6IE5ldy4KKwkqIHN5c2RlcHMvdW5p eC9zeXN2L2xpbnV4L2FscGhhL2tlcm5lbC1mZWF0dXJlcy5oOiBSZW1vdmUK KwlfX0FTU1VNRV9USU1FVkFMNjQuCisJKiBzeXNkZXBzL3VuaXgvc3lzdi9s aW51eC9hbHBoYS9ucHRsL2xkLmFiaWxpc3Q6IFVwZGF0ZS4KKwkqIHN5c2Rl cHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL25wdGwvbGliYy5hYmlsaXN0OiBV cGRhdGUuCgoKCmRpZmYgLS1naXQgYS9zeXNkZXBzL3VuaXgvc3lzdi9saW51 eC9hbHBoYS9hZGp0aW1lLmMgYi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9h bHBoYS9hZGp0aW1lLmMKaW5kZXggY2UxZDIyMC4uYjhjOTgyMCAxMDA2NDQK LS0tIGEvc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvYWRqdGltZS5j CisrKyBiL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL2FkanRpbWUu YwpAQCAtMSw0ICsxLDQgQEAKLS8qIENvcHlyaWdodCAoQykgMTk5OCwyMDAw LDIwMDIsMjAwMywyMDA0LDIwMDYgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u LCBJbmMuCisvKiBDb3B5cmlnaHQgKEMpIDE5OTgtMjAxMiBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb24sIEluYy4KICAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9m IHRoZSBHTlUgQyBMaWJyYXJ5LgogCiAgICBUaGUgR05VIEMgTGlicmFyeSBp cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv b3IKQEAgLTE4LDkgKzE4LDkgQEAKICNpbmNsdWRlIDxzaGxpYi1jb21wYXQu aD4KICNpbmNsdWRlIDxzeXNkZXAuaD4KICNpbmNsdWRlIDxzeXMvdGltZS5o PgotI2luY2x1ZGUgPGtlcm5lbC1mZWF0dXJlcy5oPgogCi0jaWYgIWRlZmlu ZWQgX19BU1NVTUVfVElNRVZBTDY0IHx8IFNITElCX0NPTVBBVCAobGliYywg R0xJQkNfMl8wLCBHTElCQ18yXzEpCisKKyNpZiBTSExJQl9DT01QQVQgKGxp YmMsIEdMSUJDXzJfMCwgR0xJQkNfMl8xKQogc3RydWN0IHRpbWV2YWwzMgog ewogICAgIGludCB0dl9zZWMsIHR2X3VzZWM7CkBAIC02MCwxNjAgKzYwLDM1 IEBAIHN0cnVjdCB0aW1leDMyIHsKICNkZWZpbmUgQURKVElNRQkJYXR0cmli dXRlX2NvbXBhdF90ZXh0X3NlY3Rpb24gX19hZGp0aW1lX3R2MzIKICNkZWZp bmUgQURKVElNRVgoeCkJSU5MSU5FX1NZU0NBTEwgKG9sZF9hZGp0aW1leCwg MSwgeCkKICNkZWZpbmUgQURKVElNRVgzMih4KQlJTkxJTkVfU1lTQ0FMTCAo b2xkX2FkanRpbWV4LCAxLCB4KQotI2lmIFNITElCX0NPTVBBVCAobGliYywg R0xJQkNfMl8wLCBHTElCQ18yXzEpCi0jZGVmaW5lIExJTktBR0UKLSNlbHNl Ci0jZGVmaW5lIExJTktBR0UJCXN0YXRpYwotI2VuZGlmCi0KLUxJTktBR0Ug aW50IEFESlRJTUUgKGNvbnN0IHN0cnVjdCBUSU1FVkFMICppdHYsIHN0cnVj dCBUSU1FVkFMICpvdHYpOwogCiAjaW5jbHVkZSA8c3lzZGVwcy91bml4L3N5 c3YvbGludXgvYWRqdGltZS5jPgogCi0jaWYgU0hMSUJfQ09NUEFUIChsaWJj LCBHTElCQ18yXzAsIEdMSUJDXzJfMSkKLWludAotYXR0cmlidXRlX2NvbXBh dF90ZXh0X3NlY3Rpb24KK2ludCBhdHRyaWJ1dGVfY29tcGF0X3RleHRfc2Vj dGlvbgogX19hZGp0aW1leF90djMyIChzdHJ1Y3QgdGltZXgzMiAqdHgpIHsg cmV0dXJuIEFESlRJTUVYICh0eCk7IH0KKwogc3Ryb25nX2FsaWFzIChfX2Fk anRpbWV4X3R2MzIsIF9fYWRqdGltZXhfdHYzMl8xKTsKIHN0cm9uZ19hbGlh cyAoX19hZGp0aW1leF90djMyLCBfX2FkanRpbWV4X3R2MzJfMik7CiBjb21w YXRfc3ltYm9sIChsaWJjLCBfX2FkanRpbWV4X3R2MzJfMSwgX19hZGp0aW1l eCwgR0xJQkNfMl8wKTsKIGNvbXBhdF9zeW1ib2wgKGxpYmMsIF9fYWRqdGlt ZXhfdHYzMl8yLCBhZGp0aW1leCwgR0xJQkNfMl8wKTsKIGNvbXBhdF9zeW1i b2wgKGxpYmMsIF9fYWRqdGltZV90djMyLCBhZGp0aW1lLCBHTElCQ18yXzAp OwotI2VuZGlmCi0jZW5kaWYgLyogIV9fQVNTVU1FX1RJTUVWQUw2NCB8fCBT SExJQl9DT01QQVQgKi8KKyNlbmRpZiAvKiBTSExJQl9DT01QQVQgKi8KIAog I3VuZGVmIFRJTUVWQUwKLSNkZWZpbmUgVElNRVZBTAkJdGltZXZhbAogI3Vu ZGVmIFRJTUVYCi0jZGVmaW5lIFRJTUVYCQl0aW1leAorI3VuZGVmIEFESlRJ TUUKICN1bmRlZiBBREpUSU1FWAorI2RlZmluZSBUSU1FVkFMCQl0aW1ldmFs CisjZGVmaW5lIFRJTUVYCQl0aW1leAogI2RlZmluZSBBREpUSU1FWCh4KQlJ TkxJTkVfU1lTQ0FMTCAoYWRqdGltZXgsIDEsIHgpCiAKLSN1bmRlZiBMSU5L QUdFCi0jdW5kZWYgQURKVElNRQotI2lmICFkZWZpbmVkIF9fQVNTVU1FX1RJ TUVWQUw2NAotI2RlZmluZSBMSU5LQUdFCQlzdGF0aWMKLSNkZWZpbmUgQURK VElNRQkJX19hZGp0aW1lX3R2NjQKLSNlbmRpZgotCiAjaW5jbHVkZSA8c3lz ZGVwcy91bml4L3N5c3YvbGludXgvYWRqdGltZS5jPgotI2luY2x1ZGUgPHN0 ZGJvb2wuaD4KLQotI2lmICFkZWZpbmVkIF9fQVNTVU1FX1RJTUVWQUw2NAot c3RhdGljIGJvb2wgbWlzc2luZ19hZGp0aW1leDsKIAogaW50Ci1fX2FkanRp bWUgKGl0diwgb3R2KQotICAgICBjb25zdCBzdHJ1Y3QgdGltZXZhbCAqaXR2 OwotICAgICBzdHJ1Y3QgdGltZXZhbCAqb3R2OwotewotICBzdHJ1Y3QgdGlt ZXZhbDMyIGl0djMyLCBvdHYzMjsKLSAgaW50IHJldDsKLQotICBzd2l0Y2gg KG1pc3NpbmdfYWRqdGltZXgpCi0gICAgewotICAgIGNhc2UgZmFsc2U6Ci0g ICAgICByZXQgPSBfX2FkanRpbWVfdHY2NCAoaXR2LCBvdHYpOwotICAgICAg aWYgKHJldCAmJiBlcnJubyA9PSBFTk9TWVMpCi0JbWlzc2luZ19hZGp0aW1l eCA9IDE7Ci0gICAgICBlbHNlCi0JYnJlYWs7Ci0KLSAgICAgIC8qIEZBTExU SFJVICovCi0KLSAgICBkZWZhdWx0OgotICAgICAgaXR2MzIudHZfc2VjID0g aXR2LT50dl9zZWM7Ci0gICAgICBpdHYzMi50dl91c2VjID0gaXR2LT50dl91 c2VjOwotICAgICAgcmV0ID0gX19hZGp0aW1lX3R2MzIgKCZpdHYzMiwgJm90 djMyKTsKLSAgICAgIGlmIChyZXQgPT0gMCkKLQl7Ci0JICBvdHYtPnR2X3Nl YyA9IG90djMyLnR2X3NlYzsKLQkgIG90di0+dHZfdXNlYyA9IG90djMyLnR2 X3VzZWM7Ci0JfQotICAgICAgYnJlYWs7Ci0gICAgfQotCi0gIHJldHVybiBy ZXQ7Ci19Ci0jZW5kaWYKLQotdmVyc2lvbmVkX3N5bWJvbCAobGliYywgX19h ZGp0aW1lLCBhZGp0aW1lLCBHTElCQ18yXzEpOwotCi1pbnQKLV9fYWRqdGlt ZXhfdHY2NCAoc3RydWN0IHRpbWV4ICp0eCkKLXsKLSNpZiBkZWZpbmVkIF9f QVNTVU1FX1RJTUVWQUw2NAotICByZXR1cm4gQURKVElNRVggKHR4KTsKLSNl bHNlCi0gIHN0cnVjdCB0aW1leDMyIHR4MzI7Ci0gIGludCByZXQ7Ci0KLSAg c3dpdGNoIChtaXNzaW5nX2FkanRpbWV4KQotICAgIHsKLSAgICBjYXNlIGZh bHNlOgotICAgICAgcmV0ID0gQURKVElNRVggKHR4KTsKLSAgICAgIGlmIChy ZXQgJiYgZXJybm8gPT0gRU5PU1lTKQotCW1pc3NpbmdfYWRqdGltZXggPSAx OwotICAgICAgZWxzZQotCWJyZWFrOwotCi0gICAgICAvKiBGQUxMVEhSVSAq LwotCi0gICAgZGVmYXVsdDoKLSAgICAgIHR4MzIubW9kZXMgPSB0eC0+bW9k ZXM7Ci0gICAgICB0eDMyLm9mZnNldCA9IHR4LT5vZmZzZXQ7Ci0gICAgICB0 eDMyLmZyZXEgPSB0eC0+ZnJlcTsKLSAgICAgIHR4MzIubWF4ZXJyb3IgPSB0 eC0+bWF4ZXJyb3I7Ci0gICAgICB0eDMyLmVzdGVycm9yID0gdHgtPmVzdGVy cm9yOwotICAgICAgdHgzMi5zdGF0dXMgPSB0eC0+c3RhdHVzOwotICAgICAg dHgzMi5jb25zdGFudCA9IHR4LT5jb25zdGFudDsKLSAgICAgIHR4MzIucHJl Y2lzaW9uID0gdHgtPnByZWNpc2lvbjsKLSAgICAgIHR4MzIudG9sZXJhbmNl ID0gdHgtPnRvbGVyYW5jZTsKLSAgICAgIHR4MzIudGltZS50dl9zZWMgPSB0 eC0+dGltZS50dl9zZWM7Ci0gICAgICB0eDMyLnRpbWUudHZfc2VjID0gdHgt PnRpbWUudHZfdXNlYzsKLSAgICAgIHR4MzIudGljayA9IHR4LT50aWNrOwot ICAgICAgdHgzMi5wcHNmcmVxID0gdHgtPnBwc2ZyZXE7Ci0gICAgICB0eDMy LmppdHRlciA9IHR4LT5qaXR0ZXI7Ci0gICAgICB0eDMyLnNoaWZ0ID0gdHgt PnNoaWZ0OwotICAgICAgdHgzMi5zdGFiaWwgPSB0eC0+c3RhYmlsOwotICAg ICAgdHgzMi5qaXRjbnQgPSB0eC0+aml0Y250OwotICAgICAgdHgzMi5jYWxj bnQgPSB0eC0+Y2FsY250OwotICAgICAgdHgzMi5lcnJjbnQgPSB0eC0+ZXJy Y250OwotICAgICAgdHgzMi5zdGJjbnQgPSB0eC0+c3RiY250OwotCi0gICAg ICByZXQgPSBBREpUSU1FWDMyICgmdHgzMik7Ci0gICAgICBpZiAocmV0ID09 IDApCi0JewotCSAgdHgtPm1vZGVzID0gdHgzMi5tb2RlczsKLQkgIHR4LT5v ZmZzZXQgPSB0eDMyLm9mZnNldDsKLQkgIHR4LT5mcmVxID0gdHgzMi5mcmVx OwotCSAgdHgtPm1heGVycm9yID0gdHgzMi5tYXhlcnJvcjsKLQkgIHR4LT5l c3RlcnJvciA9IHR4MzIuZXN0ZXJyb3I7Ci0JICB0eC0+c3RhdHVzID0gdHgz Mi5zdGF0dXM7Ci0JICB0eC0+Y29uc3RhbnQgPSB0eDMyLmNvbnN0YW50Owot CSAgdHgtPnByZWNpc2lvbiA9IHR4MzIucHJlY2lzaW9uOwotCSAgdHgtPnRv bGVyYW5jZSA9IHR4MzIudG9sZXJhbmNlOwotCSAgdHgtPnRpbWUudHZfc2Vj ID0gdHgzMi50aW1lLnR2X3NlYzsKLQkgIHR4LT50aW1lLnR2X3VzZWMgPSB0 eDMyLnRpbWUudHZfc2VjOwotCSAgdHgtPnRpY2sgPSB0eDMyLnRpY2s7Ci0J ICB0eC0+cHBzZnJlcSA9IHR4MzIucHBzZnJlcTsKLQkgIHR4LT5qaXR0ZXIg PSB0eDMyLmppdHRlcjsKLQkgIHR4LT5zaGlmdCA9IHR4MzIuc2hpZnQ7Ci0J ICB0eC0+c3RhYmlsID0gdHgzMi5zdGFiaWw7Ci0JICB0eC0+aml0Y250ID0g dHgzMi5qaXRjbnQ7Ci0JICB0eC0+Y2FsY250ID0gdHgzMi5jYWxjbnQ7Ci0J ICB0eC0+ZXJyY250ID0gdHgzMi5lcnJjbnQ7Ci0JICB0eC0+c3RiY250ID0g dHgzMi5zdGJjbnQ7Ci0JfQotICAgICAgYnJlYWs7Ci0gICAgfQotCi0gIHJl dHVybiByZXQ7Ci0jZW5kaWYKLX0KK19fYWRqdGltZXhfdHY2NCAoc3RydWN0 IHRpbWV4ICp0eCkgeyByZXR1cm4gQURKVElNRVggKHR4KTsgfQogCiBzdHJv bmdfYWxpYXMgKF9fYWRqdGltZXhfdHY2NCwgX19hZGp0aW1leF9pbnRlcm5h bCk7CiBzdHJvbmdfYWxpYXMgKF9fYWRqdGltZXhfdHY2NCwgX19hZGp0aW1l eF90djY0cCk7CiB3ZWFrX2FsaWFzIChfX2FkanRpbWV4X3R2NjQsIG50cF9h ZGp0aW1lKTsKIHZlcnNpb25lZF9zeW1ib2wgKGxpYmMsIF9fYWRqdGltZXhf dHY2NCwgX19hZGp0aW1leCwgR0xJQkNfMl8xKTsKIHZlcnNpb25lZF9zeW1i b2wgKGxpYmMsIF9fYWRqdGltZXhfdHY2NHAsIGFkanRpbWV4LCBHTElCQ18y XzEpOwordmVyc2lvbmVkX3N5bWJvbCAobGliYywgX19hZGp0aW1lLCBhZGp0 aW1lLCBHTElCQ18yXzEpOwpkaWZmIC0tZ2l0IGEvc3lzZGVwcy91bml4L3N5 c3YvbGludXgvYWxwaGEvZ2V0aXRpbWVyLlMgYi9zeXNkZXBzL3VuaXgvc3lz di9saW51eC9hbHBoYS9nZXRpdGltZXIuUwpkZWxldGVkIGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggNmIxODkzNy4uMDAwMDAwMAotLS0gYS9zeXNkZXBzL3Vu aXgvc3lzdi9saW51eC9hbHBoYS9nZXRpdGltZXIuUworKysgL2Rldi9udWxs CkBAIC0xLDExMiArMCwwIEBACi0vKiBDb3B5cmlnaHQgKEMpIDE5OTgsIDIw MDMsIDIwMDYsIDIwMTIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu Ci0gICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgR05VIEMgTGlicmFyeS4K LQotICAgVGhlIEdOVSBDIExpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91 IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gICBtb2RpZnkgaXQgdW5k ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGlj Ci0gICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAgIHZlcnNpb24gMi4xIG9mIHRoZSBM aWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9u LgotCi0gICBUaGUgR05VIEMgTGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0 aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICAgYnV0IFdJVEhP VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy cmFudHkgb2YKLSAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBB IFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gICBMZXNzZXIg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotCi0g ICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg TGVzc2VyIEdlbmVyYWwgUHVibGljCi0gICBMaWNlbnNlIGFsb25nIHdpdGgg dGhlIEdOVSBDIExpYnJhcnkuICBJZiBub3QsIHNlZQotICAgPGh0dHA6Ly93 d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8KLQotI2luY2x1ZGUgPHN5c2Rl cC5oPgotI2RlZmluZSBfRVJSTk9fSCAgICAgICAgMQotI2luY2x1ZGUgPGJp dHMvZXJybm8uaD4KLSNpbmNsdWRlIDxrZXJuZWwtZmVhdHVyZXMuaD4KLQot LnRleHQKLQotI2lmIGRlZmluZWQgUElDICYmIGRlZmluZWQgRE9fVkVSU0lP TklORwotI2RlZmluZSBHRVRJVElNRVIJX19nZXRpdGltZXJfdHY2NAotI2Vs c2UKLSNkZWZpbmUgR0VUSVRJTUVSCWdldGl0aW1lcgotI2VuZGlmCi0KLSNp ZiBkZWZpbmVkIF9fQVNTVU1FX1RJTUVWQUw2NAotUFNFVURPKEdFVElUSU1F UiwgZ2V0aXRpbWVyLCAyKQotCXJldAotUFNFVURPX0VORChHRVRJVElNRVIp Ci0jZWxzZQotLyogVGhlIHByb2JsZW0gaGVyZSBpcyB0aGF0IGluaXRpYWxs eSB3ZSBtYWRlIHN0cnVjdCB0aW1ldmFsIGNvbXBhdGlibGUgd2l0aAotICAg T1NGLzEsIHVzaW5nIGludDMyLiAgQnV0IHdlIGRlZmluZWQgdGltZV90IHdp dGggdWludDY0LCBhbmQgbGF0ZXIgZm91bmQKLSAgIHRoYXQgUE9TSVggcmVx dWlyZXMgdHZfc2VjIHRvIGJlIHRpbWVfdC4KLQotICAgU28gbm93IHdlIGhh dmUgdG8gZG8gY29tcGF0aWJpbGl0eSBzdHVmZi4gICovCi0KLS8qIFRoZSB2 YXJpYWJsZSBpcyBzaGFyZWQgYmV0d2VlbiBhbGwgd3JhcHBlcnMgYXJvdW5k IHNpZ25hbCBoYW5kbGluZwotICAgZnVuY3Rpb25zIHdoaWNoIGhhdmUgUlQg ZXF1aXZhbGVudHMuICAqLwotLmNvbW0gX19saWJjX21pc3NpbmdfYXhwX3R2 NjQsIDQKLQotTEVBRihHRVRJVElNRVIsIDE2KQotCWxkZ3AJZ3AsIDAocHYp Ci0Jc3VicQlzcCwgMTYsIHNwCi0jaWZkZWYgUFJPRgotCS5zZXQgbm9hdAot CWxkYQlBVCwgX21jb3VudAotCWpzcglBVCwgKEFUKSwgX21jb3VudAotCS5z ZXQgYXQKLSNlbmRpZgotCS5wcm9sb2d1ZSAxCi0KLQlsZGwJdDAsIF9fbGli Y19taXNzaW5nX2F4cF90djY0Ci0KLQkvKiBTYXZlIGFyZ3VtZW50cyBpbiBj YXNlIHdlIGRvIG5lZWQgdG8gZmFsbCBiYWNrLiAgKi8KLQlzdHEJYTAsIDAo c3ApCi0Jc3RxCWExLCA4KHNwKQotCi0JYm5lCXQwLCAkZG8zMgotCi0JbGRp CXYwLCBTWVNfaWZ5KGdldGl0aW1lcikKLQljYWxsc3lzCi0JYm5lCWEzLCAk ZXJyNjQKLQotCS8qIEV2ZXJ5dGhpbmcgb2suICAqLwotCWFkZHEJc3AsIDE2 LCBzcAotCXJldAotCi0JLyogSWYgd2UgZGlkbid0IGdldCBFTk9TWVMsIGl0 IGlzIGEgcmVhbCBlcnJvci4gICovCi0JLmFsaWduIDMKLSRlcnI2NDoJY21w ZXEJdjAsIEVOT1NZUywgdDAKLQliZXEJdDAsICRlcnJvcgotCXN0bAl0MCwg X19saWJjX21pc3NpbmdfYXhwX3R2NjQKLQotCS8qIFJlY292ZXIgdGhlIHNh dmVkIGFyZ3VtZW50cy4gICovCi0JbGRxCWExLCA4KHNwKQotCWxkcQlhMCwg MChzcCkKLQotCS5hbGlnbiAzCi0kZG8zMjoJbGRpCXYwLCBTWVNfaWZ5KG9z Zl9nZXRpdGltZXIpCi0JY2FsbHN5cwotCWJuZQlhMywgJGVycm9yCi0KLQkv KiBDb3B5IGJhY2sgdG8gcHJvcGVyIGZvcm1hdC4gICovCi0JbGRxCWExLCA4 KHNwKQotCWxkbAl0MCwgMChhMSkKLQlsZGwJdDEsIDQoYTEpCi0JbGRsCXQy LCA4KGExKQotCWxkbAl0MywgMTIoYTEpCi0Jc3RxCXQwLCAwKGExKQotCXN0 cQl0MSwgOChhMSkKLQlzdHEJdDIsIDE2KGExKQotCXN0cQl0MywgMjQoYTEp Ci0KLQlhZGRxCXNwLCAxNiwgc3AKLQlyZXQKLQotCS5hbGlnbiAzCi0kZXJy b3I6Ci0JYWRkcQlzcCwgMTYsIHNwCi0JU1lTQ0FMTF9FUlJPUl9IQU5ETEVS Ci0KLUVORChHRVRJVElNRVIpCi0jZW5kaWYgLyogX19BU1NVTUVfVElNRVZB TDY0ICovCi0KLSNpZiBkZWZpbmVkIFBJQyAmJiBkZWZpbmVkIERPX1ZFUlNJ T05JTkcKLWRlZmF1bHRfc3ltYm9sX3ZlcnNpb24gKF9fZ2V0aXRpbWVyX3R2 NjQsIGdldGl0aW1lciwgR0xJQkNfMi4xKQotI2VuZGlmCmRpZmYgLS1naXQg YS9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9nZXRydXNhZ2UuUyBi L3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL2dldHJ1c2FnZS5TCmRl bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMTI5ZTMwLi4wMDAwMDAw Ci0tLSBhL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL2dldHJ1c2Fn ZS5TCisrKyAvZGV2L251bGwKQEAgLTEsMTQ4ICswLDAgQEAKLS8qIENvcHly aWdodCAoQykgMTk5OCwgMjAwMywgMjAwNiwgMjAxMiBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb24sIEluYy4KLSAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRo ZSBHTlUgQyBMaWJyYXJ5LgotCi0gICBUaGUgR05VIEMgTGlicmFyeSBpcyBm cmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IK LSAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNz ZXIgR2VuZXJhbCBQdWJsaWMKLSAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5 IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICAgdmVy c2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikg YW55IGxhdGVyIHZlcnNpb24uCi0KLSAgIFRoZSBHTlUgQyBMaWJyYXJ5IGlz IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm dWwsCi0gICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICAgTUVSQ0hBTlRBQklMSVRZ IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo ZSBHTlUKLSAgIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBt b3JlIGRldGFpbHMuCi0KLSAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBh IGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKLSAgIExp Y2Vuc2UgYWxvbmcgd2l0aCB0aGUgR05VIEMgTGlicmFyeS4gIElmIG5vdCwg c2VlCi0gICA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLwot Ci0jaW5jbHVkZSA8c3lzZGVwLmg+Ci0jZGVmaW5lIF9FUlJOT19IICAgICAg ICAxCi0jaW5jbHVkZSA8Yml0cy9lcnJuby5oPgotI2luY2x1ZGUgPGtlcm5l bC1mZWF0dXJlcy5oPgotCi0udGV4dAotCi0jaWYgZGVmaW5lZCBQSUMgJiYg ZGVmaW5lZCBET19WRVJTSU9OSU5HCi0jZGVmaW5lIEdFVFJVU0FHRQlfX2dl dHJ1c2FnZV90djY0Ci0jZWxzZQotI2RlZmluZSBHRVRSVVNBR0UJX19nZXRy dXNhZ2UKLSNlbmRpZgotCi0jaWYgZGVmaW5lZCBfX0FTU1VNRV9USU1FVkFM NjQKLVBTRVVETyhHRVRSVVNBR0UsIGdldHJ1c2FnZSwgMikKLQlyZXQKLVBT RVVET19FTkQoR0VUUlVTQUdFKQotI2Vsc2UKLS8qIFRoZSBwcm9ibGVtIGhl cmUgaXMgdGhhdCBpbml0aWFsbHkgd2UgbWFkZSBzdHJ1Y3QgdGltZXZhbCBj b21wYXRpYmxlIHdpdGgKLSAgIE9TRi8xLCB1c2luZyBpbnQzMi4gIEJ1dCB3 ZSBkZWZpbmVkIHRpbWVfdCB3aXRoIHVpbnQ2NCwgYW5kIGxhdGVyIGZvdW5k Ci0gICB0aGF0IFBPU0lYIHJlcXVpcmVzIHR2X3NlYyB0byBiZSB0aW1lX3Qu Ci0KLSAgIFNvIG5vdyB3ZSBoYXZlIHRvIGRvIGNvbXBhdGliaWxpdHkgc3R1 ZmYuICAqLwotCi0vKiBUaGUgdmFyaWFibGUgaXMgc2hhcmVkIGJldHdlZW4g YWxsIHdyYXBwZXJzIGFyb3VuZCBzaWduYWwgaGFuZGxpbmcKLSAgIGZ1bmN0 aW9ucyB3aGljaCBoYXZlIFJUIGVxdWl2YWxlbnRzLiAgKi8KLS5jb21tIF9f bGliY19taXNzaW5nX2F4cF90djY0LCA0Ci0KLUxFQUYoR0VUUlVTQUdFLCAx NikKLQlsZGdwCWdwLCAwKHB2KQotCXN1YnEJc3AsIDE2LCBzcAotI2lmZGVm IFBST0YKLQkuc2V0IG5vYXQKLQlsZGEJQVQsIF9tY291bnQKLQlqc3IJQVQs IChBVCksIF9tY291bnQKLQkuc2V0IGF0Ci0jZW5kaWYKLQkucHJvbG9ndWUg MQotCi0JbGRsCXQwLCBfX2xpYmNfbWlzc2luZ19heHBfdHY2NAotCi0JLyog U2F2ZSBhcmd1bWVudHMgaW4gY2FzZSB3ZSBkbyBuZWVkIHRvIGZhbGwgYmFj ay4gICovCi0Jc3RxCWEwLCAwKHNwKQotCXN0cQlhMSwgOChzcCkKLQotCWJu ZQl0MCwgJGRvMzIKLQotCWxkaQl2MCwgU1lTX2lmeShnZXRydXNhZ2UpCi0J Y2FsbHN5cwotCWJuZQlhMywgJGVycjY0Ci0KLQkvKiBFdmVyeXRoaW5nIG9r LiAgKi8KLQlhZGRxCXNwLCAxNiwgc3AKLQlyZXQKLQotCS8qIElmIHdlIGRp ZG4ndCBnZXQgRU5PU1lTLCBpdCBpcyBhIHJlYWwgZXJyb3IuICAqLwotCS5h bGlnbiAzCi0kZXJyNjQ6CWNtcGVxCXYwLCBFTk9TWVMsIHQwCi0JYmVxCXQw LCAkZXJyb3IKLQlzdGwJdDAsIF9fbGliY19taXNzaW5nX2F4cF90djY0Ci0K LQkvKiBSZWNvdmVyIHRoZSBzYXZlZCBhcmd1bWVudHMuICAqLwotCWxkcQlh MSwgOChzcCkKLQlsZHEJYTAsIDAoc3ApCi0KLQkuYWxpZ24gMwotJGRvMzI6 CWxkaQl2MCwgU1lTX2lmeShvc2ZfZ2V0cnVzYWdlKQotCWNhbGxzeXMKLQli bmUJYTMsICRlcnJvcgotCi0JLyogQ29weSBiYWNrIHRvIHByb3BlciBmb3Jt YXQuICAqLwotCWxkcQlhMSwgOChzcCkKLQlsZGwJdDAsIDAoYTEpCQkjIHJ1 X3V0aW1lLnR2X3NlYwotCWxkbAl0MSwgNChhMSkJCSMgcnVfdXRpbWUudHZf dXNlYwotCWxkbAl0MiwgOChhMSkJCSMgcnVfc3RpbWUudHZfc2VjCi0JbGRs CXQzLCAxMihhMSkJCSMgcnVfc3RpbWUudHZfdXNlYwotCWxkdAkkZjE1LCAx NihhMSkJCSMgcnVfbWF4cnNzCi0JbGR0CSRmMTYsIDI0KGExKQkJIyBydV9p eHJzcwotCWxkdAkkZjE3LCAzMihhMSkJCSMgcnVfaWRyc3MKLQlsZHQJJGYx OCwgNDAoYTEpCQkjIHJ1X2lzcnNzCi0JbGR0CSRmMTksIDQ4KGExKQkJIyBy dV9taW5mbHQKLQlsZHQJJGYyMCwgNTYoYTEpCQkjIHJ1X21hamZsdAotCWxk dAkkZjIxLCA2NChhMSkJCSMgcnVfbnN3YXAKLQlsZHQJJGYyMiwgNzIoYTEp CQkjIHJ1X2luYmxvY2sKLQlsZHQJJGYyMywgODAoYTEpCQkjIHJ1X291Ymxv Y2sKLQlsZHQJJGYyNCwgODgoYTEpCQkjIHJ1X21zZ3NlbmQKLQlsZHQJJGYy NSwgOTYoYTEpCQkjIHJ1X21zZ3JjdgotCWxkdAkkZjI2LCAxMDQoYTEpCQkj IHJ1X25zaWduYWxzCi0JbGR0CSRmMjcsIDExMihhMSkJCSMgcnVfbnZjc3cK LQkuc2V0IG5vYXQKLQlsZHQJJGYyOCwgMTIwKGExKQkJIyBydV9uaXZjc3cK LQkuc2V0IGF0Ci0Jc3RxCXQwLCAwKGExKQotCXN0cQl0MSwgOChhMSkKLQlz dHEJdDIsIDE2KGExKQotCXN0cQl0MywgMjQoYTEpCi0Jc3R0CSRmMTUsIDMy KGExKQotCXN0dAkkZjE2LCA0MChhMSkKLQlzdHQJJGYxNywgNDgoYTEpCi0J c3R0CSRmMTgsIDU2KGExKQotCXN0dAkkZjE5LCA2NChhMSkKLQlzdHQJJGYy MCwgNzIoYTEpCi0Jc3R0CSRmMjEsIDgwKGExKQotCXN0dAkkZjIyLCA4OChh MSkKLQlzdHQJJGYyMywgOTYoYTEpCi0Jc3R0CSRmMjQsIDEwNChhMSkKLQlz dHQJJGYyNSwgMTEyKGExKQotCXN0dAkkZjI2LCAxMjAoYTEpCi0Jc3R0CSRm MjcsIDEyOChhMSkKLQkuc2V0IG5vYXQKLQlzdHQJJGYyOCwgMTM2KGExKQot CS5zZXQgYXQKLQotCWFkZHEJc3AsIDE2LCBzcAotCXJldAotCi0JLmFsaWdu IDMKLSRlcnJvcjoKLQlhZGRxCXNwLCAxNiwgc3AKLQlTWVNDQUxMX0VSUk9S X0hBTkRMRVIKLQotRU5EKEdFVFJVU0FHRSkKLSNlbmRpZiAvKiBfX0FTU1VN RV9USU1FVkFMNjQgKi8KLQotI2lmIGRlZmluZWQgUElDICYmIGRlZmluZWQg RE9fVkVSU0lPTklORwotc3Ryb25nX2FsaWFzKF9fZ2V0cnVzYWdlX3R2NjQs IF9fX19nZXRydXNhZ2VfdHY2NCkKLWRlZmF1bHRfc3ltYm9sX3ZlcnNpb24g KF9fX19nZXRydXNhZ2VfdHY2NCwgX19nZXRydXNhZ2UsIEdMSUJDXzIuMSkK LWRlZmF1bHRfc3ltYm9sX3ZlcnNpb24gKF9fZ2V0cnVzYWdlX3R2NjQsIGdl dHJ1c2FnZSwgR0xJQkNfMi4xKQotI2Vsc2UKLXdlYWtfYWxpYXMgKF9fZ2V0 cnVzYWdlLCBnZXRydXNhZ2UpCi0jZW5kaWYKZGlmZiAtLWdpdCBhL3N5c2Rl cHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL2dldHRpbWVvZmRheS5TIGIvc3lz ZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvZ2V0dGltZW9mZGF5LlMKZGVs ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDUzYzQzYzUuLjAwMDAwMDAK LS0tIGEvc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvZ2V0dGltZW9m ZGF5LlMKKysrIC9kZXYvbnVsbApAQCAtMSwxMTkgKzAsMCBAQAotLyogQ29w eXJpZ2h0IChDKSAxOTk4LCAyMDAyLCAyMDAzLCAyMDA2LCAyMDEyIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgotICAgVGhpcyBmaWxlIGlzIHBh cnQgb2YgdGhlIEdOVSBDIExpYnJhcnkuCi0KLSAgIFRoZSBHTlUgQyBMaWJy YXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0 IGFuZC9vcgotICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg R05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotICAgTGljZW5zZSBhcyBwdWJs aXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy Ci0gICB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIg b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLQotICAgVGhlIEdOVSBDIExp YnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs IGJlIHVzZWZ1bCwKLSAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0 aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gICBNRVJDSEFO VEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu ICBTZWUgdGhlIEdOVQotICAgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgZm9yIG1vcmUgZGV0YWlscy4KLQotICAgWW91IHNob3VsZCBoYXZlIHJl Y2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1Ymxp YwotICAgTGljZW5zZSBhbG9uZyB3aXRoIHRoZSBHTlUgQyBMaWJyYXJ5LiAg SWYgbm90LCBzZWUKLSAgIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMv Pi4gICovCi0KLSNpbmNsdWRlIDxzeXNkZXAuaD4KLSNkZWZpbmUgX0VSUk5P X0ggICAgICAgIDEKLSNpbmNsdWRlIDxiaXRzL2Vycm5vLmg+Ci0jaW5jbHVk ZSA8a2VybmVsLWZlYXR1cmVzLmg+Ci0KLS50ZXh0Ci0KLSNpZiBkZWZpbmVk IFBJQyAmJiBkZWZpbmVkIERPX1ZFUlNJT05JTkcKLSNkZWZpbmUgR0VUVElN RU9GREFZCV9fZ2V0dGltZW9mZGF5X3R2NjQKLSNlbHNlCi0jZGVmaW5lIEdF VFRJTUVPRkRBWQlfX2dldHRpbWVvZmRheQotI2VuZGlmCi0KLSNpZiBkZWZp bmVkIF9fQVNTVU1FX1RJTUVWQUw2NAotUFNFVURPKEdFVFRJTUVPRkRBWSwg Z2V0dGltZW9mZGF5LCAyKQotCXJldAotUFNFVURPX0VORChHRVRUSU1FT0ZE QVkpCi0jZWxzZQotCi0vKiBUaGUgcHJvYmxlbSBoZXJlIGlzIHRoYXQgaW5p dGlhbGx5IHdlIG1hZGUgc3RydWN0IHRpbWV2YWwgY29tcGF0aWJsZSB3aXRo Ci0gICBPU0YvMSwgdXNpbmcgaW50MzIuICBCdXQgd2UgZGVmaW5lZCB0aW1l X3Qgd2l0aCB1aW50NjQsIGFuZCBsYXRlciBmb3VuZAotICAgdGhhdCBQT1NJ WCByZXF1aXJlcyB0dl9zZWMgdG8gYmUgdGltZV90LgotCi0gICBTbyBub3cg d2UgaGF2ZSB0byBkbyBjb21wYXRpYmlsaXR5IHN0dWZmLiAgKi8KLQotLyog VGhlIHZhcmlhYmxlIGlzIHNoYXJlZCBiZXR3ZWVuIGFsbCB3cmFwcGVycyBh cm91bmQgc2lnbmFsIGhhbmRsaW5nCi0gICBmdW5jdGlvbnMgd2hpY2ggaGF2 ZSBSVCBlcXVpdmFsZW50cy4gICovCi0uY29tbSBfX2xpYmNfbWlzc2luZ19h eHBfdHY2NCwgNAotCi1MRUFGKEdFVFRJTUVPRkRBWSwgMTYpCi0JbGRncAln cCwgMChwdikKLQlzdWJxCXNwLCAxNiwgc3AKLSNpZmRlZiBQUk9GCi0JLnNl dCBub2F0Ci0JbGRhCUFULCBfbWNvdW50Ci0JanNyCUFULCAoQVQpLCBfbWNv dW50Ci0JLnNldCBhdAotI2VuZGlmCi0JLnByb2xvZ3VlIDEKLQotCWxkbAl0 MCwgX19saWJjX21pc3NpbmdfYXhwX3R2NjQKLQotCS8qIFNhdmUgYXJndW1l bnRzIGluIGNhc2Ugd2UgZG8gbmVlZCB0byBmYWxsIGJhY2suICAqLwotCXN0 cQlhMCwgMChzcCkKLQlzdHEJYTEsIDgoc3ApCi0KLQlibmUJdDAsICRkbzMy Ci0KLQlsZGkJdjAsIFNZU19pZnkoZ2V0dGltZW9mZGF5KQotCWNhbGxzeXMK LQlibmUJYTMsICRlcnI2NAotCi0JLyogRXZlcnl0aGluZyBvay4gICovCi0J YWRkcQlzcCwgMTYsIHNwCi0JcmV0Ci0KLQkvKiBJZiB3ZSBkaWRuJ3QgZ2V0 IEVOT1NZUywgaXQgaXMgYSByZWFsIGVycm9yLiAgKi8KLQkuYWxpZ24gMwot JGVycjY0OgljbXBlcQl2MCwgRU5PU1lTLCB0MAotCWJlcQl0MCwgJGVycm9y Ci0Jc3RsCXQwLCBfX2xpYmNfbWlzc2luZ19heHBfdHY2NAotCi0JLyogUmVj b3ZlciB0aGUgc2F2ZWQgYXJndW1lbnRzLiAgKi8KLQlsZHEJYTEsIDgoc3Ap Ci0JbGRxCWEwLCAwKHNwKQotCi0JLmFsaWduIDMKLSRkbzMyOglsZGkJdjAs IFNZU19pZnkob3NmX2dldHRpbWVvZmRheSkKLQljYWxsc3lzCi0JYm5lCWEz LCAkZXJyb3IKLQotCS8qIENvcHkgYmFjayB0byBwcm9wZXIgZm9ybWF0LiAg Ki8KLQlsZHEJYTAsIDAoc3ApCi0JYmVxCWEwLCAyZgotCWxkbAl0MCwgMChh MCkKLQlsZGwJdDEsIDQoYTApCi0Jc3RxCXQwLCAwKGEwKQotCXN0cQl0MSwg OChhMCkKLQotMjoJYWRkcQlzcCwgMTYsIHNwCi0JcmV0Ci0KLQkuYWxpZ24g MwotJGVycm9yOgotCWFkZHEJc3AsIDE2LCBzcAotCVNZU0NBTExfRVJST1Jf SEFORExFUgotCi1FTkQoR0VUVElNRU9GREFZKQotI2VuZGlmIC8qIF9fQVNT VU1FX1RJTUVWQUw2NCAqLwotCi0jaWYgZGVmaW5lZCBQSUMgJiYgZGVmaW5l ZCBET19WRVJTSU9OSU5HCi1kZWZhdWx0X3N5bWJvbF92ZXJzaW9uIChfX2dl dHRpbWVvZmRheV90djY0LCBfX2dldHRpbWVvZmRheSwgR0xJQkNfMi4xKQot Ci0vKiBJdCBzZWVtcyB0byBtZSB0byBiZSBhIG1pc2ZlYXR1cmUgb2YgdGhl IGFzc2VtYmxlciB0aGF0IHdlIGNhbiBvbmx5Ci0gICBoYXZlIG9uZSB2ZXJz aW9uLWFsaWFzIHBlciBzeW1ib2wuICBTbyBjcmVhdGUgYW4gYWxpYXMgb3Vy c2VsdmVzLgotICAgVGhlICdwJyBpcyBmb3IgJ3B1YmxpYycuICAqU2hydWcq ICAqLwotc3Ryb25nX2FsaWFzIChfX2dldHRpbWVvZmRheV90djY0LCBfX2dl dHRpbWVvZmRheV90djY0cCkKLWRlZmF1bHRfc3ltYm9sX3ZlcnNpb24gKF9f Z2V0dGltZW9mZGF5X3R2NjRwLCBnZXR0aW1lb2ZkYXksIEdMSUJDXzIuMSkK LSNlbHNlCi13ZWFrX2FsaWFzIChfX2dldHRpbWVvZmRheSwgZ2V0dGltZW9m ZGF5KQotI2VuZGlmCi1zdHJvbmdfYWxpYXMoR0VUVElNRU9GREFZLCBfX2dl dHRpbWVvZmRheV9pbnRlcm5hbCkKZGlmZiAtLWdpdCBhL3N5c2RlcHMvdW5p eC9zeXN2L2xpbnV4L2FscGhhL2tlcm5lbC1mZWF0dXJlcy5oIGIvc3lzZGVw cy91bml4L3N5c3YvbGludXgvYWxwaGEva2VybmVsLWZlYXR1cmVzLmgKaW5k ZXggMWYzMGM2NS4uM2VhYTQyMiAxMDA2NDQKLS0tIGEvc3lzZGVwcy91bml4 L3N5c3YvbGludXgvYWxwaGEva2VybmVsLWZlYXR1cmVzLmgKKysrIGIvc3lz ZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEva2VybmVsLWZlYXR1cmVzLmgK QEAgLTEsNiArMSw2IEBACiAvKiBTZXQgZmxhZ3Mgc2lnbmFsbGluZyBhdmFp bGFiaWxpdHkgb2Yga2VybmVsIGZlYXR1cmVzIGJhc2VkIG9uIGdpdmVuCiAg ICBrZXJuZWwgdmVyc2lvbiBudW1iZXIuCi0gICBDb3B5cmlnaHQgKEMpIDIw MTAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisgICBDb3B5cmln aHQgKEMpIDIwMTAtMjAxMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu Yy4KICAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBHTlUgQyBMaWJyYXJ5 LgogCiAgICBUaGUgR05VIEMgTGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5 b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKQEAgLTIwLDExICsyMCw2 IEBACiAjaWZuZGVmIF9LRVJORUxfRkVBVFVSRVNfSAogI2RlZmluZSBfS0VS TkVMX0ZFQVRVUkVTX0ggMQogCi0vKiBhbHBoYSBzd2l0Y2hlZCB0byBhIDY0 LWJpdCB0aW1ldmFsIHNvbWV0aW1lIGJlZm9yZSAyLjIuMC4gICovCi0jaWYg X19MSU5VWF9LRVJORUxfVkVSU0lPTiA+PSAxMzE1ODQKLSMgZGVmaW5lIF9f QVNTVU1FX1RJTUVWQUw2NAkxCi0jZW5kaWYKLQogLyogVGhlIHRna2lsbCBz eXNjYWxsIHdhcyBpbnRyb2R1Y2VkIGZvciBhbHBoYSAyLjYuMC10ZXN0MSB3 aGljaCB1bmZvcnR1bmF0ZWx5CiAgICBjYW5ub3QgYmUgZGlzdGluZ3Vpc2hl ZCBmcm9tIDIuNi4wLiAgKi8KICNpZiBfX0xJTlVYX0tFUk5FTF9WRVJTSU9O ID49IDEzMjYwOQpkaWZmIC0tZ2l0IGEvc3lzZGVwcy91bml4L3N5c3YvbGlu dXgvYWxwaGEvbnB0bC9sZC5hYmlsaXN0IGIvc3lzZGVwcy91bml4L3N5c3Yv bGludXgvYWxwaGEvbnB0bC9sZC5hYmlsaXN0CmluZGV4IGQwZGJiOTguLjIz ZmY3ZmEgMTAwNjQ0Ci0tLSBhL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2Fs cGhhL25wdGwvbGQuYWJpbGlzdAorKysgYi9zeXNkZXBzL3VuaXgvc3lzdi9s aW51eC9hbHBoYS9ucHRsL2xkLmFiaWxpc3QKQEAgLTksOSArOSw3IEBAIEdM SUJDXzIuMAogR0xJQkNfMi4xCiAgR0xJQkNfMi4xIEEKICBfX2xpYmNfc3Rh Y2tfZW5kIEQgMHg4Ci0gX19zZXRpdGltZXIgRgogIF9kbF9tY291bnQgRgot IHNldGl0aW1lciBGCiBHTElCQ18yLjMKICBHTElCQ18yLjMgQQogIF9fdGxz X2dldF9hZGRyIEYKZGlmZiAtLWdpdCBhL3N5c2RlcHMvdW5peC9zeXN2L2xp bnV4L2FscGhhL25wdGwvbGliYy5hYmlsaXN0IGIvc3lzZGVwcy91bml4L3N5 c3YvbGludXgvYWxwaGEvbnB0bC9saWJjLmFiaWxpc3QKaW5kZXggNWVjZTI4 Zi4uNmQzMzNhYSAxMDA2NDQKLS0tIGEvc3lzZGVwcy91bml4L3N5c3YvbGlu dXgvYWxwaGEvbnB0bC9saWJjLmFiaWxpc3QKKysrIGIvc3lzZGVwcy91bml4 L3N5c3YvbGludXgvYWxwaGEvbnB0bC9saWJjLmFiaWxpc3QKQEAgLTEyNCw2 ICsxMjQsMTAgQEAgR0xJQkNfMi4wCiAgX19kZXJlZ2lzdGVyX2ZyYW1lIEYK ICBfX2RlcmVnaXN0ZXJfZnJhbWVfaW5mbyBGCiAgX19kZ2V0dGV4dCBGCisg X19kaXZsIEYKKyBfX2Rpdmx1IEYKKyBfX2RpdnEgRgorIF9fZGl2cXUgRgog IF9fZHVwMiBGCiAgX19lbnZpcm9uIEQgMHg4CiAgX19lcnJub19sb2NhdGlv biBGCkBAIC0xOTUsNiArMTk5LDEwIEBAIEdMSUJDXzIuMAogIF9fcmVnaXN0 ZXJfZnJhbWVfaW5mbyBGCiAgX19yZWdpc3Rlcl9mcmFtZV9pbmZvX3RhYmxl IEYKICBfX3JlZ2lzdGVyX2ZyYW1lX3RhYmxlIEYKKyBfX3JlbWwgRgorIF9f cmVtbHUgRgorIF9fcmVtcSBGCisgX19yZW1xdSBGCiAgX19yZXNfcmFuZG9t aWQgRgogIF9fc2JyayBGCiAgX19zY2hlZF9nZXRfcHJpb3JpdHlfbWF4IEYK QEAgLTEzMzMsMTQgKzEzNDEsNiBAQCBHTElCQ18yLjAKICB4ZW5jcnlwdCBG CiAgeHBydF9yZWdpc3RlciBGCiAgeHBydF91bnJlZ2lzdGVyIEYKLV9fZGl2 bCBHTElCQ18yLjAgZyA/IEQgLnRleHQgMDAwMDAwMDAwMDAwMDA2MAotX19k aXZsdSBHTElCQ18yLjAgZyA/IEQgLnRleHQgMDAwMDAwMDAwMDAwMDA2MAot X19kaXZxIEdMSUJDXzIuMCBnID8gRCAudGV4dCAwMDAwMDAwMDAwMDAwMWM0 Ci1fX2RpdnF1IEdMSUJDXzIuMCBnID8gRCAudGV4dCAwMDAwMDAwMDAwMDAw MThjCi1fX3JlbWwgR0xJQkNfMi4wIGcgPyBEIC50ZXh0IDAwMDAwMDAwMDAw MDAwNjQKLV9fcmVtbHUgR0xJQkNfMi4wIGcgPyBEIC50ZXh0IDAwMDAwMDAw MDAwMDAwNjQKLV9fcmVtcSBHTElCQ18yLjAgZyA/IEQgLnRleHQgMDAwMDAw MDAwMDAwMDFjMAotX19yZW1xdSBHTElCQ18yLjAgZyA/IEQgLnRleHQgMDAw MDAwMDAwMDAwMDFiNAogR0xJQkNfMi4xCiAgR0xJQkNfMi4xIEEKICBfSU9f Ml8xX3N0ZGVycl8gRCAweGUwCkBAIC0xNDQwLDggKzE0NDAsNiBAQCBHTElC Q18yLjEKICBfX3Rvd2N0cmFuc19sIEYKICBfX3Rvd2xvd2VyX2wgRgogIF9f dG93dXBwZXJfbCBGCi0gX191dGltZXMgRgotIF9fd2FpdDQgRgogIF9fd2Nz Y2FzZWNtcF9sIEYKICBfX3djc2NvbGxfbCBGCiAgX193Y3NuY2FzZWNtcF9s IEYKZGlmZiAtLWdpdCBhL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhh L3NlbGVjdC5TIGIvc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvc2Vs ZWN0LlMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDlhMTQxMzku LjAwMDAwMDAKLS0tIGEvc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEv c2VsZWN0LlMKKysrIC9kZXYvbnVsbApAQCAtMSwyNDAgKzAsMCBAQAotLyog Q29weXJpZ2h0IChDKSAxOTk4LDIwMDIsMjAwMywyMDA2LDIwMTIgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCi0gICBUaGlzIGZpbGUgaXMgcGFy dCBvZiB0aGUgR05VIEMgTGlicmFyeS4KLQotICAgVGhlIEdOVSBDIExpYnJh cnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg YW5kL29yCi0gICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH TlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCi0gICBMaWNlbnNlIGFzIHB1Ymxp c2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIK LSAgIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBv cHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotCi0gICBUaGUgR05VIEMgTGli cmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwg YmUgdXNlZnVsLAotICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAgIE1FUkNIQU5U QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g IFNlZSB0aGUgR05VCi0gICBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSBmb3IgbW9yZSBkZXRhaWxzLgotCi0gICBZb3Ugc2hvdWxkIGhhdmUgcmVj ZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGlj Ci0gICBMaWNlbnNlIGFsb25nIHdpdGggdGhlIEdOVSBDIExpYnJhcnkuICBJ ZiBub3QsIHNlZQotICAgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+ LiAgKi8KLQotI2luY2x1ZGUgPHN5c2RlcC1jYW5jZWwuaD4KLSNkZWZpbmUg X0VSUk5PX0ggICAgICAgIDEKLSNpbmNsdWRlIDxiaXRzL2Vycm5vLmg+Ci0j aW5jbHVkZSA8a2VybmVsLWZlYXR1cmVzLmg+Ci0KLS50ZXh0Ci0KLSNpZiBk ZWZpbmVkIFBJQyAmJiBkZWZpbmVkIERPX1ZFUlNJT05JTkcKLSNkZWZpbmUg U0VMRUNUCV9fc2VsZWN0X3R2NjQKLSNlbHNlCi0jZGVmaW5lIFNFTEVDVAlf X3NlbGVjdAotI2VuZGlmCi0KLSNpZiBkZWZpbmVkIF9fQVNTVU1FX1RJTUVW QUw2NAotUFNFVURPKFNFTEVDVCwgc2VsZWN0LCA1KQotCXJldAotUFNFVURP X0VORChTRUxFQ1QpCi0jZWxzZQotLyogVGhlIHByb2JsZW0gaGVyZSBpcyB0 aGF0IGluaXRpYWxseSB3ZSBtYWRlIHN0cnVjdCB0aW1ldmFsIGNvbXBhdGli bGUgd2l0aAotICAgT1NGLzEsIHVzaW5nIGludDMyLiAgQnV0IHdlIGRlZmlu ZWQgdGltZV90IHdpdGggdWludDY0LCBhbmQgbGF0ZXIgZm91bmQKLSAgIHRo YXQgUE9TSVggcmVxdWlyZXMgdHZfc2VjIHRvIGJlIHRpbWVfdC4KLQotICAg U28gbm93IHdlIGhhdmUgdG8gZG8gY29tcGF0aWJpbGl0eSBzdHVmZi4gICov Ci0KLS8qIFRoZSB2YXJpYWJsZSBpcyBzaGFyZWQgYmV0d2VlbiBhbGwgd3Jh cHBlcnMgYXJvdW5kIHNpZ25hbCBoYW5kbGluZwotICAgZnVuY3Rpb25zIHdo aWNoIGhhdmUgUlQgZXF1aXZhbGVudHMuICAqLwotLmNvbW0gX19saWJjX21p c3NpbmdfYXhwX3R2NjQsIDQKLQotTEVBRihTRUxFQ1QsIDY0KQotCWxkZ3AJ Z3AsIDAocHYpCi0Jc3VicQlzcCwgNjQsIHNwCi0jaWZkZWYgUFJPRgotCS5z ZXQgbm9hdAotCWxkYQlBVCwgX21jb3VudAotCWpzcglBVCwgKEFUKSwgX21j b3VudAotCS5zZXQgYXQKLSNlbmRpZgotCXN0cQlyYSwgNDAoc3ApCi0JLm1h c2sJMHg0MDAwMDAwLCA0MC02NAotCS5wcm9sb2d1ZSAxCi0KLSNpZmRlZiBD RU5BQkxFCi0JU0lOR0xFX1RIUkVBRF9QICh0MSkKLSNlbHNlCi0JbGRsCXQw LCBfX2xpYmNfbWlzc2luZ19heHBfdHY2NAotI2VuZGlmCi0KLQkvKiBTYXZl IHRpbWVvdXQgZWFybHksIHNpbmNlIHdlJ2xsIG5lZWQgdG8gcmVjb3ZlciB0 aGlzIGFmdGVyCi0JICAgdGhlIHN5c3RlbSBjYWxsLiAgKi8KLQlzdHEJYTQs IDQ4KHNwKQotCi0jaWZkZWYgQ0VOQUJMRQotCWJuZQl0MSwgJGRvX2NhbmNl bAotI2VuZGlmCi0KLQlibmUJdDAsICRkbzMyCi0KLQkvKiBTYXZlIGFyZ3Vt ZW50cyBpbiBjYXNlIHdlIGRvIG5lZWQgdG8gZmFsbCBiYWNrLiAgKi8KLQlz dHEJYTAsIDgoc3ApCi0Jc3RxCWExLCAxNihzcCkKLQlzdHEJYTIsIDI0KHNw KQotCXN0cQlhMywgMzIoc3ApCi0KLQlsZGkJdjAsIFNZU19pZnkoc2VsZWN0 KQotCWNhbGxzeXMKLQlibmUJYTMsICRlcnI2NAotCi0JLyogRXZlcnl0aGlu ZyBvay4gICovCi0JYWRkcQlzcCwgNjQsIHNwCi0JcmV0Ci0KLQkvKiBJZiB3 ZSBkaWRuJ3QgZ2V0IEVOT1NZUywgaXQgaXMgYSByZWFsIGVycm9yLiAgKi8K LQkuYWxpZ24gMwotJGVycjY0OgljbXBlcQl2MCwgRU5PU1lTLCB0MAotCWJl cQl0MCwgJGVycm9yCi0Jc3RsCXQwLCBfX2xpYmNfbWlzc2luZ19heHBfdHY2 NAotCi0JLyogUmVjb3ZlciB0aGUgc2F2ZWQgYXJndW1lbnRzLiAgKi8KLQls ZHEJYTQsIDQ4KHNwKQotCWxkcQlhMywgMzIoc3ApCi0JbGRxCWEyLCAyNChz cCkKLQlsZHEJYTEsIDE2KHNwKQotCWxkcQlhMCwgOChzcCkKLQotCS5hbGln biAzCi0kZG8zMjoKLQkvKiBJZiB0aGUgdGltZW91dCBhcmd1bWVudCBpcyBw cmVzZW50IGJvdW5jZSB0byB0aGUgc21hbGxlciBmbXQuICAqLwotCWJlcQlh NCwgMWYKLQlsZHEJdDAsIDAoYTQpCi0JbGRxCXQxLCA4KGE0KQotCXN0bAl0 MCwgMChzcCkKLQlzdGwJdDEsIDQoc3ApCi0JbW92CXNwLCBhNAotCi0xOgls ZGkJdjAsIFNZU19pZnkob3NmX3NlbGVjdCkKLQljYWxsc3lzCi0JYm5lCWEz LCAkZXJyb3IKLQotCS8qIC4uLiBhbmQgYm91bmNlIHRoZSByZW1haW5pbmcg dGltZW91dCBiYWNrLiAgKi8KLQlsZHEJYTQsIDQ4KHNwKQotCWJlcQlhNCwg MmYKLQlsZGwJdDAsIDAoc3ApCi0JbGRsCXQxLCA0KHNwKQotCXN0cQl0MCwg MChhNCkKLQlzdHEJdDEsIDgoYTQpCi0KLTI6CWFkZHEJc3AsIDY0LCBzcAot CXJldAotCi0jaWZkZWYgQ0VOQUJMRQotCS5hbGlnbgkzCi0kZG9fY2FuY2Vs OgotCS8qIFNhdmUgYXJndW1lbnRzLiAgKi8KLQlzdHEJYTAsIDgoc3ApCi0J c3RxCWExLCAxNihzcCkKLQlzdHEJYTIsIDI0KHNwKQotCXN0cQlhMywgMzIo c3ApCi0KLQlDRU5BQkxFCi0JbW92CXYwLCByYQotCi0JbGRsCXQwLCBfX2xp YmNfbWlzc2luZ19heHBfdHY2NAotCWJuZQl0MCwgJGRvX2NhbmNlbDMyCi0K LQkvKiBSZWNvdmVyIHRoZSBzYXZlZCBhcmd1bWVudHMuICAqLwotCWxkcQlh NCwgNDgoc3ApCi0JbGRxCWEzLCAzMihzcCkKLQlsZHEJYTIsIDI0KHNwKQot CWxkcQlhMSwgMTYoc3ApCi0JbGRxCWEwLCA4KHNwKQotCi0JbGRpCXYwLCBT WVNfaWZ5KHNlbGVjdCkKLQljYWxsc3lzCi0KLQltb3YJcmEsIGEwCi0JYm5l CWEzLCAkY2FuY2VsX2VycjY0Ci0KLQlzdHEJdjAsIDgoc3ApCi0JQ0RJU0FC TEUKLQlsZHEJdjAsIDgoc3ApCi0JbGRxCXJhLCA0MChzcCkKLQotCS8qIEV2 ZXJ5dGhpbmcgb2suICAqLwotCWFkZHEJc3AsIDY0LCBzcAotCXJldAotCi0J LyogSWYgd2UgZGlkbid0IGdldCBFTk9TWVMsIGl0IGlzIGEgcmVhbCBlcnJv ci4gICovCi0JLmFsaWduIDMKLSRjYW5jZWxfZXJyNjQ6Ci0JY21wZXEJdjAs IEVOT1NZUywgdDAKLQliZXEJdDAsICRjYW5jZWxfZXJyb3IKLQlzdGwJdDAs IF9fbGliY19taXNzaW5nX2F4cF90djY0Ci0KLQkvKiBSZWNvdmVyIHRoZSBz YXZlZCBhcmd1bWVudHMuICAqLwotCS5hbGlnbiAzCi0kZG9fY2FuY2VsMzI6 Ci0JbGRxCWE0LCA0OChzcCkKLQlsZHEJYTMsIDMyKHNwKQotCWxkcQlhMiwg MjQoc3ApCi0JbGRxCWExLCAxNihzcCkKLQlsZHEJYTAsIDgoc3ApCi0KLQkv KiBJZiB0aGUgdGltZW91dCBhcmd1bWVudCBpcyBwcmVzZW50IGJvdW5jZSB0 byB0aGUgc21hbGxlciBmbXQuICAqLwotCWJlcQlhNCwgMWYKLQlsZHEJdDAs IDAoYTQpCi0JbGRxCXQxLCA4KGE0KQotCXN0bAl0MCwgMChzcCkKLQlzdGwJ dDEsIDQoc3ApCi0JbW92CXNwLCBhNAotCi0xOglsZGkJdjAsIFNZU19pZnko b3NmX3NlbGVjdCkKLQljYWxsc3lzCi0KLQltb3YJcmEsIGEwCi0JYm5lCWEz LCAkY2FuY2VsX2Vycm9yCi0KLQkvKiAuLi4gYW5kIGJvdW5jZSB0aGUgcmVt YWluaW5nIHRpbWVvdXQgYmFjay4gICovCi0JbGRxCWE0LCA0OChzcCkKLQli ZXEJYTQsIDJmCi0JbGRsCXQwLCAwKHNwKQotCWxkbAl0MSwgNChzcCkKLQlz dHEJdDAsIDAoYTQpCi0Jc3RxCXQxLCA4KGE0KQotCi0yOglzdHEJdjAsIDgo c3ApCi0JQ0RJU0FCTEUKLQlsZHEJdjAsIDgoc3ApCi0JbGRxCXJhLCA0MChz cCkKLQotCWFkZHEJc3AsIDY0LCBzcAotCXJldAotCi0JLmFsaWduIDMKLSRj YW5jZWxfZXJyb3I6Ci0Jc3RxCXYwLCA4KHNwKQotCUNESVNBQkxFCi0JbGRx CXYwLCA4KHNwKQotCWxkcQlyYSwgNDAoc3ApCi0jZW5kaWYKLQotCS5hbGln biAzCi0kZXJyb3I6Ci0JYWRkcQlzcCwgNjQsIHNwCi0JU1lTQ0FMTF9FUlJP Ul9IQU5ETEVSCi0KLUVORChTRUxFQ1QpCi0jZW5kaWYgLyogX19BU1NVTUVf VElNRVZBTDY0ICovCi0KLSNpZiBkZWZpbmVkIFBJQyAmJiBkZWZpbmVkIERP X1ZFUlNJT05JTkcKLWRlZmF1bHRfc3ltYm9sX3ZlcnNpb24gKF9fc2VsZWN0 X3R2NjQsIF9fc2VsZWN0LCBHTElCQ18yLjEpCi0KLS8qIEl0IHNlZW1zIHRv IG1lIHRvIGJlIGEgbWlzZmVhdHVyZSBvZiB0aGUgYXNzZW1ibGVyIHRoYXQg d2UgY2FuIG9ubHkKLSAgIGhhdmUgb25lIHZlcnNpb24tYWxpYXMgcGVyIHN5 bWJvbC4gIFNvIGNyZWF0ZSBhbiBhbGlhcyBvdXJzZWx2ZXMuCi0gICBUaGUg J3AnIGlzIGZvciAncHVibGljJy4gICpTaHJ1ZyogICovCi1zdHJvbmdfYWxp YXMgKF9fc2VsZWN0X3R2NjQsIF9fc2VsZWN0X3R2NjRwKQotZGVmYXVsdF9z eW1ib2xfdmVyc2lvbiAoX19zZWxlY3RfdHY2NHAsIHNlbGVjdCwgR0xJQkNf Mi4xKQotbGliY19oaWRkZW5fdmVyIChfX3NlbGVjdF90djY0LCBfX3NlbGVj dCkKLXN0cm9uZ19hbGlhcyAoX19zZWxlY3RfdHY2NCwgX19saWJjX3NlbGVj dCkKLSNlbHNlCi1zdHJvbmdfYWxpYXMgKF9fc2VsZWN0LCBfX2xpYmNfc2Vs ZWN0KQotd2Vha19hbGlhcyAoX19zZWxlY3QsIHNlbGVjdCkKLWxpYmNfaGlk ZGVuX2RlZiAoX19zZWxlY3QpCi0jZW5kaWYKZGlmZiAtLWdpdCBhL3N5c2Rl cHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL3NldGl0aW1lci5TIGIvc3lzZGVw cy91bml4L3N5c3YvbGludXgvYWxwaGEvc2V0aXRpbWVyLlMKZGVsZXRlZCBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY4YjJmOTguLjAwMDAwMDAKLS0tIGEv c3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvc2V0aXRpbWVyLlMKKysr IC9kZXYvbnVsbApAQCAtMSwxMzYgKzAsMCBAQAotLyogQ29weXJpZ2h0IChD KSAxOTk4LCAyMDAzLCAyMDA2LCAyMDEyIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgSW5jLgotICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEdOVSBD IExpYnJhcnkuCi0KLSAgIFRoZSBHTlUgQyBMaWJyYXJ5IGlzIGZyZWUgc29m dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICAgbW9k aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5l cmFsIFB1YmxpYwotICAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gICB2ZXJzaW9uIDIu MSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0 ZXIgdmVyc2lvbi4KLQotICAgVGhlIEdOVSBDIExpYnJhcnkgaXMgZGlzdHJp YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAg IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp bXBsaWVkIHdhcnJhbnR5IG9mCi0gICBNRVJDSEFOVEFCSUxJVFkgb3IgRklU TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQot ICAgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0 YWlscy4KLQotICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv ZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotICAgTGljZW5zZSBh bG9uZyB3aXRoIHRoZSBHTlUgQyBMaWJyYXJ5LiAgSWYgbm90LCBzZWUKLSAg IDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovCi0KLSNpbmNs dWRlIDxzeXNkZXAuaD4KLSNkZWZpbmUgX0VSUk5PX0ggICAgICAgIDEKLSNp bmNsdWRlIDxiaXRzL2Vycm5vLmg+Ci0jaW5jbHVkZSA8a2VybmVsLWZlYXR1 cmVzLmg+Ci0KLS50ZXh0Ci0KLSNpZiBkZWZpbmVkIFBJQyAmJiBkZWZpbmVk IERPX1ZFUlNJT05JTkcKLSNkZWZpbmUgU0VUSVRJTUVSCV9fc2V0aXRpbWVy X3R2NjQKLSNlbHNlCi0jZGVmaW5lIFNFVElUSU1FUglfX3NldGl0aW1lcgot I2VuZGlmCi0KLSNpZiBkZWZpbmVkIF9fQVNTVU1FX1RJTUVWQUw2NAotUFNF VURPKFNFVElUSU1FUiwgc2V0aXRpbWVyLCAzKQotCXJldAotUFNFVURPX0VO RChTRVRJVElNRVIpCi0jZWxzZQotLyogVGhlIHByb2JsZW0gaGVyZSBpcyB0 aGF0IGluaXRpYWxseSB3ZSBtYWRlIHN0cnVjdCB0aW1ldmFsIGNvbXBhdGli bGUgd2l0aAotICAgT1NGLzEsIHVzaW5nIGludDMyLiAgQnV0IHdlIGRlZmlu ZWQgdGltZV90IHdpdGggdWludDY0LCBhbmQgbGF0ZXIgZm91bmQKLSAgIHRo YXQgUE9TSVggcmVxdWlyZXMgdHZfc2VjIHRvIGJlIHRpbWVfdC4KLQotICAg U28gbm93IHdlIGhhdmUgdG8gZG8gY29tcGF0aWJpbGl0eSBzdHVmZi4gICov Ci0KLS8qIFRoZSB2YXJpYWJsZSBpcyBzaGFyZWQgYmV0d2VlbiBhbGwgd3Jh cHBlcnMgYXJvdW5kIHNpZ25hbCBoYW5kbGluZwotICAgZnVuY3Rpb25zIHdo aWNoIGhhdmUgUlQgZXF1aXZhbGVudHMuICAqLwotLmNvbW0gX19saWJjX21p c3NpbmdfYXhwX3R2NjQsIDQKLQotTEVBRihTRVRJVElNRVIsIDQ4KQotCWxk Z3AJZ3AsIDAocHYpCi0Jc3VicQlzcCwgNDgsIHNwCi0jaWZkZWYgUFJPRgot CS5zZXQgbm9hdAotCWxkYQlBVCwgX21jb3VudAotCWpzcglBVCwgKEFUKSwg X21jb3VudAotCS5zZXQgYXQKLSNlbmRpZgotCS5wcm9sb2d1ZSAxCi0KLQls ZGwJdDAsIF9fbGliY19taXNzaW5nX2F4cF90djY0Ci0KLQkvKiBTYXZlIGFy Z3VtZW50cyBpbiBjYXNlIHdlIGRvIG5lZWQgdG8gZmFsbCBiYWNrLiAgKi8K LQlzdHEJYTAsIDAoc3ApCi0Jc3RxCWExLCA4KHNwKQotCXN0cQlhMiwgMTYo c3ApCi0KLQlibmUJdDAsICRkbzMyCi0KLQlsZGkJdjAsIFNZU19pZnkoc2V0 aXRpbWVyKQotCWNhbGxzeXMKLQlibmUJYTMsICRlcnI2NAotCi0JLyogRXZl cnl0aGluZyBvay4gICovCi0JYWRkcQlzcCwgNDgsIHNwCi0JcmV0Ci0KLQkv KiBJZiB3ZSBkaWRuJ3QgZ2V0IEVOT1NZUywgaXQgaXMgYSByZWFsIGVycm9y LiAgKi8KLQkuYWxpZ24gMwotJGVycjY0OgljbXBlcQl2MCwgRU5PU1lTLCB0 MAotCWJlcQl0MCwgJGVycm9yCi0Jc3RsCXQwLCBfX2xpYmNfbWlzc2luZ19h eHBfdHY2NAotCi0JLyogUmVjb3ZlciB0aGUgc2F2ZWQgYXJndW1lbnRzLiAg Ki8KLQlsZHEJYTIsIDE2KHNwKQotCWxkcQlhMSwgOChzcCkKLQlsZHEJYTAs IDAoc3ApCi0KLQkuYWxpZ24gMwotJGRvMzI6Ci0JLyogQ29uZGl0aW9uYWxs eSBib3VuY2UgbmV3IHZhbHVlIGRvd24uICAqLwotCWJlcQlhMSwgMWYKLQls ZHEJdDAsIDAoYTEpCi0JbGRxCXQxLCA4KGExKQotCWxkcQl0MiwgMTYoYTEp Ci0JbGRxCXQzLCAyNChhMSkKLQlzdGwJdDAsIDMyKHNwKQotCXN0bAl0MSwg MzYoc3ApCi0Jc3RsCXQyLCA0MChzcCkKLQlzdGwJdDMsIDQ0KHNwKQotCWFk ZHEJc3AsIDMyLCBhMQotCi0xOglsZGkJdjAsIFNZU19pZnkob3NmX3NldGl0 aW1lcikKLQljYWxsc3lzCi0JYm5lCWEzLCAkZXJyb3IKLQotCS8qIENvbmRp dGlvbmFseSBib3VuY2Ugb2xkIHZhbHVlIHVwLiAgKi8KLQlsZHEJYTIsIDE2 KHNwKQotCWJuZQlhMiwgMmYKLQlsZGwJdDAsIDAoYTIpCi0JbGRsCXQxLCA0 KGEyKQotCWxkbAl0MiwgOChhMikKLQlsZGwJdDMsIDEyKGEyKQotCXN0cQl0 MCwgMChhMikKLQlzdHEJdDEsIDgoYTIpCi0Jc3RxCXQyLCA0OChhMikKLQlz dHEJdDMsIDI0KGEyKQotCi0yOglhZGRxCXNwLCA0OCwgc3AKLQlyZXQKLQot CS5hbGlnbiAzCi0kZXJyb3I6Ci0JYWRkcQlzcCwgNDgsIHNwCi0JU1lTQ0FM TF9FUlJPUl9IQU5ETEVSCi0KLUVORChTRVRJVElNRVIpCi0jZW5kaWYgLyog X19BU1NVTUVfVElNRVZBTDY0ICovCi0KLSNpZiBkZWZpbmVkIFBJQyAmJiBk ZWZpbmVkIERPX1ZFUlNJT05JTkcKLWRlZmF1bHRfc3ltYm9sX3ZlcnNpb24g KF9fc2V0aXRpbWVyX3R2NjQsIF9fc2V0aXRpbWVyLCBHTElCQ18yLjEpCi0K LS8qIEl0IHNlZW1zIHRvIG1lIHRvIGJlIGEgbWlzZmVhdHVyZSBvZiB0aGUg YXNzZW1ibGVyIHRoYXQgd2UgY2FuIG9ubHkKLSAgIGhhdmUgb25lIHZlcnNp b24tYWxpYXMgcGVyIHN5bWJvbC4gIFNvIGNyZWF0ZSBhbiBhbGlhcyBvdXJz ZWx2ZXMuCi0gICBUaGUgJ3AnIGlzIGZvciAncHVibGljJy4gICpTaHJ1Zyog ICovCi1zdHJvbmdfYWxpYXMgKF9fc2V0aXRpbWVyX3R2NjQsIF9fc2V0aXRp bWVyX3R2NjRwKQotZGVmYXVsdF9zeW1ib2xfdmVyc2lvbiAoX19zZXRpdGlt ZXJfdHY2NHAsIHNldGl0aW1lciwgR0xJQkNfMi4xKQotI2Vsc2UKLXdlYWtf YWxpYXMgKF9fc2V0aXRpbWVyLCBzZXRpdGltZXIpCi0jZW5kaWYKZGlmZiAt LWdpdCBhL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL3NldHRpbWVv ZmRheS5TIGIvc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvc2V0dGlt ZW9mZGF5LlMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI1NmMy MTUuLjAwMDAwMDAKLS0tIGEvc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxw aGEvc2V0dGltZW9mZGF5LlMKKysrIC9kZXYvbnVsbApAQCAtMSwxMTcgKzAs MCBAQAotLyogQ29weXJpZ2h0IChDKSAxOTk4LCAyMDAzLCAyMDA2LCAyMDEy IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgotICAgVGhpcyBmaWxl IGlzIHBhcnQgb2YgdGhlIEdOVSBDIExpYnJhcnkuCi0KLSAgIFRoZSBHTlUg QyBMaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli dXRlIGl0IGFuZC9vcgotICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBv ZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotICAgTGljZW5zZSBh cyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsg ZWl0aGVyCi0gICB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0 IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLQotICAgVGhlIEdO VSBDIExpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp dCB3aWxsIGJlIHVzZWZ1bCwKLSAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5U WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gICBN RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV UlBPU0UuICBTZWUgdGhlIEdOVQotICAgTGVzc2VyIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLQotICAgWW91IHNob3VsZCBo YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFs IFB1YmxpYwotICAgTGljZW5zZSBhbG9uZyB3aXRoIHRoZSBHTlUgQyBMaWJy YXJ5LiAgSWYgbm90LCBzZWUKLSAgIDxodHRwOi8vd3d3LmdudS5vcmcvbGlj ZW5zZXMvPi4gICovCi0KLSNpbmNsdWRlIDxzeXNkZXAuaD4KLSNkZWZpbmUg X0VSUk5PX0ggICAgICAgIDEKLSNpbmNsdWRlIDxiaXRzL2Vycm5vLmg+Ci0j aW5jbHVkZSA8a2VybmVsLWZlYXR1cmVzLmg+Ci0KLS50ZXh0Ci0KLSNpZiBk ZWZpbmVkIFBJQyAmJiBkZWZpbmVkIERPX1ZFUlNJT05JTkcKLSNkZWZpbmUg U0VUVElNRU9GREFZCV9fc2V0dGltZW9mZGF5X3R2NjQKLSNlbHNlCi0jZGVm aW5lIFNFVFRJTUVPRkRBWQlfX3NldHRpbWVvZmRheQotI2VuZGlmCi0KLSNp ZiBkZWZpbmVkIF9fQVNTVU1FX1RJTUVWQUw2NAotUFNFVURPKFNFVFRJTUVP RkRBWSwgc2V0dGltZW9mZGF5LCAyKQotCXJldAotUFNFVURPX0VORChTRVRU SU1FT0ZEQVkpCi0jZWxzZQotLyogVGhlIHByb2JsZW0gaGVyZSBpcyB0aGF0 IGluaXRpYWxseSB3ZSBtYWRlIHN0cnVjdCB0aW1ldmFsIGNvbXBhdGlibGUg d2l0aAotICAgT1NGLzEsIHVzaW5nIGludDMyLiAgQnV0IHdlIGRlZmluZWQg dGltZV90IHdpdGggdWludDY0LCBhbmQgbGF0ZXIgZm91bmQKLSAgIHRoYXQg UE9TSVggcmVxdWlyZXMgdHZfc2VjIHRvIGJlIHRpbWVfdC4KLQotICAgU28g bm93IHdlIGhhdmUgdG8gZG8gY29tcGF0aWJpbGl0eSBzdHVmZi4gICovCi0K LS8qIFRoZSB2YXJpYWJsZSBpcyBzaGFyZWQgYmV0d2VlbiBhbGwgd3JhcHBl cnMgYXJvdW5kIHNpZ25hbCBoYW5kbGluZwotICAgZnVuY3Rpb25zIHdoaWNo IGhhdmUgUlQgZXF1aXZhbGVudHMuICAqLwotLmNvbW0gX19saWJjX21pc3Np bmdfYXhwX3R2NjQsIDQKLQotTEVBRihTRVRUSU1FT0ZEQVksIDE2KQotCWxk Z3AJZ3AsIDAocHYpCi0Jc3VicQlzcCwgMTYsIHNwCi0jaWZkZWYgUFJPRgot CS5zZXQgbm9hdAotCWxkYQlBVCwgX21jb3VudAotCWpzcglBVCwgKEFUKSwg X21jb3VudAotCS5zZXQgYXQKLSNlbmRpZgotCS5wcm9sb2d1ZSAxCi0KLQls ZGwJdDAsIF9fbGliY19taXNzaW5nX2F4cF90djY0Ci0JYm5lCXQwLCAkZG8z MgotCi0JLyogU2F2ZSBhcmd1bWVudHMgaW4gY2FzZSB3ZSBkbyBuZWVkIHRv IGZhbGwgYmFjay4gICovCi0Jc3RxCWEwLCAwKHNwKQotCXN0cQlhMSwgOChz cCkKLQotCWxkaQl2MCwgU1lTX2lmeShzZXR0aW1lb2ZkYXkpCi0JY2FsbHN5 cwotCWJuZQlhMywgJGVycjY0Ci0KLQkvKiBFdmVyeXRoaW5nIG9rLiAgKi8K LQlhZGRxCXNwLCAxNiwgc3AKLQlyZXQKLQotCS8qIElmIHdlIGRpZG4ndCBn ZXQgRU5PU1lTLCBpdCBpcyBhIHJlYWwgZXJyb3IuICAqLwotCS5hbGlnbiAz Ci0kZXJyNjQ6CWNtcGVxCXYwLCBFTk9TWVMsIHQwCi0JYmVxCXQwLCAkZXJy b3IKLQlzdGwJdDAsIF9fbGliY19taXNzaW5nX2F4cF90djY0Ci0KLQkvKiBS ZWNvdmVyIHRoZSBzYXZlZCBhcmd1bWVudHMuICAqLwotCWxkcQlhMSwgOChz cCkKLQlsZHEJYTAsIDAoc3ApCi0KLQkuYWxpZ24gMwotJGRvMzI6Ci0JLyog Q29uZGl0aW9uYWxseSBib3VuY2UgdGhlIHRpbWV2YWwgZG93bi4gICovCi0J YmVxCWEwLCAxZgotCWxkcQl0MCwgMChhMCkKLQlsZHEJdDEsIDgoYTApCi0J c3RsCXQwLCAwKHNwKQotCXN0bAl0MSwgNChzcCkKLQltb3YJc3AsIGEwCi0K LTE6CWxkaQl2MCwgU1lTX2lmeShvc2Zfc2V0dGltZW9mZGF5KQotCWNhbGxz eXMKLQlibmUJYTMsICRlcnJvcgotCi0JYWRkcQlzcCwgMTYsIHNwCi0JcmV0 Ci0KLQkuYWxpZ24gMwotJGVycm9yOgotCWFkZHEJc3AsIDE2LCBzcAotCVNZ U0NBTExfRVJST1JfSEFORExFUgotCi1FTkQoU0VUVElNRU9GREFZKQotI2Vu ZGlmIC8qIF9fQVNTVU1FX1RJTUVWQUw2NCAqLwotCi0jaWYgZGVmaW5lZCBQ SUMgJiYgZGVmaW5lZCBET19WRVJTSU9OSU5HCi1kZWZhdWx0X3N5bWJvbF92 ZXJzaW9uIChfX3NldHRpbWVvZmRheV90djY0LCBfX3NldHRpbWVvZmRheSwg R0xJQkNfMi4xKQotCi0vKiBJdCBzZWVtcyB0byBtZSB0byBiZSBhIG1pc2Zl YXR1cmUgb2YgdGhlIGFzc2VtYmxlciB0aGF0IHdlIGNhbiBvbmx5Ci0gICBo YXZlIG9uZSB2ZXJzaW9uLWFsaWFzIHBlciBzeW1ib2wuICBTbyBjcmVhdGUg YW4gYWxpYXMgb3Vyc2VsdmVzLgotICAgVGhlICdwJyBpcyBmb3IgJ3B1Ymxp YycuICAqU2hydWcqICAqLwotc3Ryb25nX2FsaWFzIChfX3NldHRpbWVvZmRh eV90djY0LCBfX3NldHRpbWVvZmRheV90djY0cCkKLWRlZmF1bHRfc3ltYm9s X3ZlcnNpb24gKF9fc2V0dGltZW9mZGF5X3R2NjRwLCBzZXR0aW1lb2ZkYXks IEdMSUJDXzIuMSkKLSNlbHNlCi13ZWFrX2FsaWFzIChfX3NldHRpbWVvZmRh eSwgc2V0dGltZW9mZGF5KQotI2VuZGlmCmRpZmYgLS1naXQgYS9zeXNkZXBz L3VuaXgvc3lzdi9saW51eC9hbHBoYS9zeXNjYWxscy5saXN0IGIvc3lzZGVw cy91bml4L3N5c3YvbGludXgvYWxwaGEvc3lzY2FsbHMubGlzdAppbmRleCA0 MTJiNjc1Li44MDlkODJiIDEwMDY0NAotLS0gYS9zeXNkZXBzL3VuaXgvc3lz di9saW51eC9hbHBoYS9zeXNjYWxscy5saXN0CisrKyBiL3N5c2RlcHMvdW5p eC9zeXN2L2xpbnV4L2FscGhhL3N5c2NhbGxzLmxpc3QKQEAgLTUyLDcgKzUy LDE3IEBAIG9zZl9nZXRpdGltZXIJLQlvc2ZfZ2V0aXRpbWVyCTIJX19nZXRp dGltZXJfdHYzMiAgZ2V0aXRpbWVyQEdMSUJDXzIuMAogb3NmX3NldGl0aW1l cgktCW9zZl9zZXRpdGltZXIJMwlfX3NldGl0aW1lcl90djMyICBzZXRpdGlt ZXJAR0xJQkNfMi4wCiBvc2ZfdXRpbWVzCS0Jb3NmX3V0aW1lcwkyCV9fdXRp bWVzX3R2MzIgIHV0aW1lc0BHTElCQ18yLjAKIG9zZl9nZXRydXNhZ2UJLQlv c2ZfZ2V0cnVzYWdlCTIJX19nZXRydXNhZ2VfdHYzMiAgZ2V0cnVzYWdlQEdM SUJDXzIuMAotb3NmX3dhaXQ0CS0Jb3NmX3dhaXQ0CTIJX193YWl0NF90djMy ICB3YWl0NEBHTElCQ18yLjAKK29zZl93YWl0NAktCW9zZl93YWl0NAk0CV9f d2FpdDRfdHYzMiAgd2FpdDRAR0xJQkNfMi4wCisKKyMgc3VwcG9ydCBuZXcg dGltZXZhbDY0IGVudHJ5IHBvaW50cworc2VsZWN0CQktCXNlbGVjdAkJQzo1 CV9fR0lfX19zZWxlY3Qgc2VsZWN0QEBHTElCQ18yLjEgX19zZWxlY3RAQEdM SUJDXzIuMQorZ2V0dGltZW9mZGF5CS0JZ2V0dGltZW9mZGF5CTIJX19HSV9f X2dldHRpbWVvZmRheSBnZXR0aW1lb2ZkYXlAQEdMSUJDXzIuMSBfX2dldHRp bWVvZmRheUBAR0xJQkNfMi4xCitzZXR0aW1lb2ZkYXkJLQlzZXR0aW1lb2Zk YXkJMglfX3NldHRpbWVvZmRheSBzZXR0aW1lb2ZkYXlAQEdMSUJDXzIuMQor Z2V0aXRpbWVyCS0JZ2V0aXRpbWVyCTIJX19nZXRpdGltZXIgZ2V0aXRpbWVy QEBHTElCQ18yLjEKK3NldGl0aW1lcgktCXNldGl0aW1lcgkzCV9fc2V0aXRp bWVyIHNldGl0aW1lckBAR0xJQkNfMi4xCit1dGltZXMJCS0JdXRpbWVzCQky CV9fdXRpbWVzIHV0aW1lc0BAR0xJQkNfMi4xCitnZXRydXNhZ2UJLQlnZXRy dXNhZ2UJMglfX2dldHJ1c2FnZSBnZXRydXNhZ2VAQEdMSUJDXzIuMQord2Fp dDQJCS0Jd2FpdDQJCTQJX193YWl0NCB3YWl0NEBAR0xJQkNfMi4xCiAKICMg YXZvaWQgNjQtYml0IGFsaWFzZXMgb24gMzItYml0IHN0YXRmcyBzeXNjYWxs cwogZnN0YXRmcwkJLQlmc3RhdGZzCQlpOmlwCV9fZnN0YXRmcwlmc3RhdGZz CmRpZmYgLS1naXQgYS9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS91 dGltZXMuUyBiL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL3V0aW1l cy5TCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxOGViMTM2Li4w MDAwMDAwCi0tLSBhL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL3V0 aW1lcy5TCisrKyAvZGV2L251bGwKQEAgLTEsMTIyICswLDAgQEAKLS8qIENv cHlyaWdodCAoQykgMTk5OCwgMjAwMywgMjAwNiwgMjAxMiBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb24sIEluYy4KLSAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9m IHRoZSBHTlUgQyBMaWJyYXJ5LgotCi0gICBUaGUgR05VIEMgTGlicmFyeSBp cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv b3IKLSAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBM ZXNzZXIgR2VuZXJhbCBQdWJsaWMKLSAgIExpY2Vuc2UgYXMgcHVibGlzaGVk IGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICAg dmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlv bikgYW55IGxhdGVyIHZlcnNpb24uCi0KLSAgIFRoZSBHTlUgQyBMaWJyYXJ5 IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1 c2VmdWwsCi0gICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICAgTUVSQ0hBTlRBQklM SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl IHRoZSBHTlUKLSAgIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv ciBtb3JlIGRldGFpbHMuCi0KLSAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZl ZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKLSAg IExpY2Vuc2UgYWxvbmcgd2l0aCB0aGUgR05VIEMgTGlicmFyeS4gIElmIG5v dCwgc2VlCi0gICA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAq LwotCi0jaW5jbHVkZSA8c3lzZGVwLmg+Ci0jZGVmaW5lIF9FUlJOT19IICAg ICAgICAxCi0jaW5jbHVkZSA8Yml0cy9lcnJuby5oPgotI2luY2x1ZGUgPGtl cm5lbC1mZWF0dXJlcy5oPgotCi0udGV4dAotCi0jaWYgZGVmaW5lZCBQSUMg JiYgZGVmaW5lZCBET19WRVJTSU9OSU5HCi0jZGVmaW5lIFVUSU1FUwlfX3V0 aW1lc190djY0Ci0jZWxzZQotI2RlZmluZSBVVElNRVMJX191dGltZXMKLSNl bmRpZgotCi0jaWYgZGVmaW5lZCBfX0FTU1VNRV9USU1FVkFMNjQKLVBTRVVE TyhVVElNRVMsIHV0aW1lcywgMikKLQlyZXQKLVBTRVVET19FTkQoVVRJTUVT KQotI2Vsc2UKLS8qIFRoZSBwcm9ibGVtIGhlcmUgaXMgdGhhdCBpbml0aWFs bHkgd2UgbWFkZSBzdHJ1Y3QgdGltZXZhbCBjb21wYXRpYmxlIHdpdGgKLSAg IE9TRi8xLCB1c2luZyBpbnQzMi4gIEJ1dCB3ZSBkZWZpbmVkIHRpbWVfdCB3 aXRoIHVpbnQ2NCwgYW5kIGxhdGVyIGZvdW5kCi0gICB0aGF0IFBPU0lYIHJl cXVpcmVzIHR2X3NlYyB0byBiZSB0aW1lX3QuCi0KLSAgIFNvIG5vdyB3ZSBo YXZlIHRvIGRvIGNvbXBhdGliaWxpdHkgc3R1ZmYuICAqLwotCi0vKiBUaGUg dmFyaWFibGUgaXMgc2hhcmVkIGJldHdlZW4gYWxsIHdyYXBwZXJzIGFyb3Vu ZCBzaWduYWwgaGFuZGxpbmcKLSAgIGZ1bmN0aW9ucyB3aGljaCBoYXZlIFJU IGVxdWl2YWxlbnRzLiAgKi8KLS5jb21tIF9fbGliY19taXNzaW5nX2F4cF90 djY0LCA0Ci0KLUxFQUYoVVRJTUVTLCAxNikKLQlsZGdwCWdwLCAwKHB2KQot CXN1YnEJc3AsIDE2LCBzcAotI2lmZGVmIFBST0YKLQkuc2V0IG5vYXQKLQls ZGEJQVQsIF9tY291bnQKLQlqc3IJQVQsIChBVCksIF9tY291bnQKLQkuc2V0 IGF0Ci0jZW5kaWYKLQkucHJvbG9ndWUgMQotCi0JbGRsCXQwLCBfX2xpYmNf bWlzc2luZ19heHBfdHY2NAotCi0JLyogU2F2ZSBhcmd1bWVudHMgaW4gY2Fz ZSB3ZSBkbyBuZWVkIHRvIGZhbGwgYmFjay4gICovCi0Jc3RxCWEwLCAwKHNw KQotCXN0cQlhMSwgOChzcCkKLQotCWJuZQl0MCwgJGRvMzIKLQotCWxkaQl2 MCwgU1lTX2lmeSh1dGltZXMpCi0JY2FsbHN5cwotCWJuZQlhMywgJGVycjY0 Ci0KLQkvKiBFdmVyeXRoaW5nIG9rLiAgKi8KLQlhZGRxCXNwLCAxNiwgc3AK LQlyZXQKLQotCS8qIElmIHdlIGRpZG4ndCBnZXQgRU5PU1lTLCBpdCBpcyBh IHJlYWwgZXJyb3IuICAqLwotCS5hbGlnbiAzCi0kZXJyNjQ6CWNtcGVxCXYw LCBFTk9TWVMsIHQwCi0JYmVxCXQwLCAkZXJyb3IKLQlzdGwJdDAsIF9fbGli Y19taXNzaW5nX2F4cF90djY0Ci0KLQkvKiBSZWNvdmVyIHRoZSBzYXZlZCBh cmd1bWVudHMuICAqLwotCWxkcQlhMSwgOChzcCkKLQlsZHEJYTAsIDAoc3Ap Ci0KLQkuYWxpZ24gMwotJGRvMzI6Ci0JLyogQ29uZGl0aW9uYWxseSBib3Vu Y2UgdmFsdWVzIGRvd24uICAqLwotCWJlcQlhMSwgMWYKLQlsZHEJdDAsIDAo YTEpCi0JbGRxCXQxLCA4KGExKQotCWxkcQl0MiwgMTYoYTEpCi0JbGRxCXQz LCAyNChhMSkKLQlzdGwJdDAsIDAoc3ApCi0Jc3RsCXQxLCA0KHNwKQotCXN0 bAl0MiwgOChzcCkKLQlzdGwJdDMsIDEyKHNwKQotCW1vdglzcCwgYTEKLQot MToJbGRpCXYwLCBTWVNfaWZ5KG9zZl91dGltZXMpCi0JY2FsbHN5cwotCWJu ZQlhMywgJGVycm9yCi0KLQlhZGRxCXNwLCAxNiwgc3AKLQlyZXQKLQotCS5h bGlnbiAzCi0kZXJyb3I6Ci0JYWRkcQlzcCwgMTYsIHNwCi0JU1lTQ0FMTF9F UlJPUl9IQU5ETEVSCi0KLUVORChVVElNRVMpCi0jZW5kaWYgLyogX19BU1NV TUVfVElNRVZBTDY0ICovCi0KLSNpZiBkZWZpbmVkIFBJQyAmJiBkZWZpbmVk IERPX1ZFUlNJT05JTkcKLWRlZmF1bHRfc3ltYm9sX3ZlcnNpb24gKF9fdXRp bWVzX3R2NjQsIF9fdXRpbWVzLCBHTElCQ18yLjEpCi0KLS8qIEl0IHNlZW1z IHRvIG1lIHRvIGJlIGEgbWlzZmVhdHVyZSBvZiB0aGUgYXNzZW1ibGVyIHRo YXQgd2UgY2FuIG9ubHkKLSAgIGhhdmUgb25lIHZlcnNpb24tYWxpYXMgcGVy IHN5bWJvbC4gIFNvIGNyZWF0ZSBhbiBhbGlhcyBvdXJzZWx2ZXMuCi0gICBU aGUgJ3AnIGlzIGZvciAncHVibGljJy4gICpTaHJ1ZyogICovCi1zdHJvbmdf YWxpYXMgKF9fdXRpbWVzX3R2NjQsIF9fdXRpbWVzX3R2NjRwKQotZGVmYXVs dF9zeW1ib2xfdmVyc2lvbiAoX191dGltZXNfdHY2NHAsIHV0aW1lcywgR0xJ QkNfMi4xKQotI2Vsc2UKLXdlYWtfYWxpYXMgKF9fdXRpbWVzLCB1dGltZXMp Ci0jZW5kaWYKZGlmZiAtLWdpdCBhL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4 L2FscGhhL3dhaXQ0LlMgYi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBo YS93YWl0NC5TCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3YTcx ZmQwLi4wMDAwMDAwCi0tLSBhL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2Fs cGhhL3dhaXQ0LlMKKysrIC9kZXYvbnVsbApAQCAtMSwxNTUgKzAsMCBAQAot LyogQ29weXJpZ2h0IChDKSAxOTk4LCAyMDAzLCAyMDA2LCAyMDEyIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgotICAgVGhpcyBmaWxlIGlzIHBh cnQgb2YgdGhlIEdOVSBDIExpYnJhcnkuCi0KLSAgIFRoZSBHTlUgQyBMaWJy YXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0 IGFuZC9vcgotICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg R05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotICAgTGljZW5zZSBhcyBwdWJs aXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy Ci0gICB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIg b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLQotICAgVGhlIEdOVSBDIExp YnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs IGJlIHVzZWZ1bCwKLSAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0 aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gICBNRVJDSEFO VEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu ICBTZWUgdGhlIEdOVQotICAgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgZm9yIG1vcmUgZGV0YWlscy4KLQotICAgWW91IHNob3VsZCBoYXZlIHJl Y2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1Ymxp YwotICAgTGljZW5zZSBhbG9uZyB3aXRoIHRoZSBHTlUgQyBMaWJyYXJ5LiAg SWYgbm90LCBzZWUKLSAgIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMv Pi4gICovCi0KLSNpbmNsdWRlIDxzeXNkZXAuaD4KLSNkZWZpbmUgX0VSUk5P X0ggICAgICAgIDEKLSNpbmNsdWRlIDxiaXRzL2Vycm5vLmg+Ci0jaW5jbHVk ZSA8a2VybmVsLWZlYXR1cmVzLmg+Ci0KLS50ZXh0Ci0KLSNpZiBkZWZpbmVk IFBJQyAmJiBkZWZpbmVkIERPX1ZFUlNJT05JTkcKLSNkZWZpbmUgV0FJVDQJ X193YWl0NF90djY0Ci0jZWxzZQotI2RlZmluZSBXQUlUNAlfX3dhaXQ0Ci0j ZW5kaWYKLQotI2lmIGRlZmluZWQgX19BU1NVTUVfVElNRVZBTDY0Ci1QU0VV RE8oV0FJVDQsIHdhaXQ0LCA0KQotCXJldAotUFNFVURPX0VORChXQUlUNCkK LSNlbHNlCi0vKiBUaGUgcHJvYmxlbSBoZXJlIGlzIHRoYXQgaW5pdGlhbGx5 IHdlIG1hZGUgc3RydWN0IHRpbWV2YWwgY29tcGF0aWJsZSB3aXRoCi0gICBP U0YvMSwgdXNpbmcgaW50MzIuICBCdXQgd2UgZGVmaW5lZCB0aW1lX3Qgd2l0 aCB1aW50NjQsIGFuZCBsYXRlciBmb3VuZAotICAgdGhhdCBQT1NJWCByZXF1 aXJlcyB0dl9zZWMgdG8gYmUgdGltZV90LgotCi0gICBTbyBub3cgd2UgaGF2 ZSB0byBkbyBjb21wYXRpYmlsaXR5IHN0dWZmLiAgKi8KLQotLyogVGhlIHZh cmlhYmxlIGlzIHNoYXJlZCBiZXR3ZWVuIGFsbCB3cmFwcGVycyBhcm91bmQg c2lnbmFsIGhhbmRsaW5nCi0gICBmdW5jdGlvbnMgd2hpY2ggaGF2ZSBSVCBl cXVpdmFsZW50cy4gICovCi0uY29tbSBfX2xpYmNfbWlzc2luZ19heHBfdHY2 NCwgNAotCi1MRUFGKFdBSVQ0LCAzMikKLQlsZGdwCWdwLCAwKHB2KQotCXN1 YnEJc3AsIDMyLCBzcAotI2lmZGVmIFBST0YKLQkuc2V0IG5vYXQKLQlsZGEJ QVQsIF9tY291bnQKLQlqc3IJQVQsIChBVCksIF9tY291bnQKLQkuc2V0IGF0 Ci0jZW5kaWYKLQkucHJvbG9ndWUgMQotCi0JbGRsCXQwLCBfX2xpYmNfbWlz c2luZ19heHBfdHY2NAotCi0JLyogU2F2ZSBhcmd1bWVudHMgaW4gY2FzZSB3 ZSBkbyBuZWVkIHRvIGZhbGwgYmFjay4gICovCi0Jc3RxCWEwLCAwKHNwKQot CXN0cQlhMSwgOChzcCkKLQlzdHEJYTIsIDE2KHNwKQotCXN0cQlhMywgMjQo c3ApCi0KLQlibmUJdDAsICRkbzMyCi0KLQlsZGkJdjAsIFNZU19pZnkod2Fp dDQpCi0JY2FsbHN5cwotCWJuZQlhMywgJGVycjY0Ci0KLQkvKiBFdmVyeXRo aW5nIG9rLiAgKi8KLQlhZGRxCXNwLCAzMiwgc3AKLQlyZXQKLQotCS8qIElm IHdlIGRpZG4ndCBnZXQgRU5PU1lTLCBpdCBpcyBhIHJlYWwgZXJyb3IuICAq LwotCS5hbGlnbiAzCi0kZXJyNjQ6CWNtcGVxCXYwLCBFTk9TWVMsIHQwCi0J YmVxCXQwLCAkZXJyb3IKLQlzdGwJdDAsIF9fbGliY19taXNzaW5nX2F4cF90 djY0Ci0KLQkvKiBSZWNvdmVyIHRoZSBzYXZlZCBhcmd1bWVudHMuICAqLwot CWxkcQlhMywgMjQoc3ApCi0JbGRxCWEyLCAxNihzcCkKLQlsZHEJYTEsIDgo c3ApCi0JbGRxCWEwLCAwKHNwKQotCi0JLmFsaWduIDMKLSRkbzMyOglsZGkJ djAsIFNZU19pZnkob3NmX3dhaXQ0KQotCWNhbGxzeXMKLQlibmUJYTMsICRl cnJvcgotCi0JLyogQ29weSBiYWNrIHRvIHByb3BlciBmb3JtYXQuICAqLwot CWxkcQlhMywgMjQoc3ApCi0JYmVxCWEzLCAyZgotCWxkbAl0MCwgMChhMykJ CSMgcnVfdXRpbWUudHZfc2VjCi0JbGRsCXQxLCA0KGEzKQkJIyBydV91dGlt ZS50dl91c2VjCi0JbGRsCXQyLCA4KGEzKQkJIyBydV9zdGltZS50dl9zZWMK LQlsZGwJdDMsIDEyKGEzKQkJIyBydV9zdGltZS50dl91c2VjCi0JbGR0CSRm MTUsIDE2KGEzKQkJIyBydV9tYXhyc3MKLQlsZHQJJGYxNiwgMjQoYTMpCQkj IHJ1X2l4cnNzCi0JbGR0CSRmMTcsIDMyKGEzKQkJIyBydV9pZHJzcwotCWxk dAkkZjE4LCA0MChhMykJCSMgcnVfaXNyc3MKLQlsZHQJJGYxOSwgNDgoYTMp CQkjIHJ1X21pbmZsdAotCWxkdAkkZjIwLCA1NihhMykJCSMgcnVfbWFqZmx0 Ci0JbGR0CSRmMjEsIDY0KGEzKQkJIyBydV9uc3dhcAotCWxkdAkkZjIyLCA3 MihhMykJCSMgcnVfaW5ibG9jawotCWxkdAkkZjIzLCA4MChhMykJCSMgcnVf b3VibG9jawotCWxkdAkkZjI0LCA4OChhMykJCSMgcnVfbXNnc2VuZAotCWxk dAkkZjI1LCA5NihhMykJCSMgcnVfbXNncmN2Ci0JbGR0CSRmMjYsIDEwNChh MykJCSMgcnVfbnNpZ25hbHMKLQlsZHQJJGYyNywgMTEyKGEzKQkJIyBydV9u dmNzdwotCS5zZXQgbm9hdAotCWxkdAkkZjI4LCAxMjAoYTMpCQkjIHJ1X25p dmNzdwotCXN0cQl0MCwgMChhMykKLQlzdHEJdDEsIDgoYTMpCi0Jc3RxCXQy LCAxNihhMykKLQlzdHEJdDMsIDI0KGEzKQotCXN0dAkkZjE1LCAzMihhMykK LQlzdHQJJGYxNiwgNDAoYTMpCi0Jc3R0CSRmMTcsIDQ4KGEzKQotCXN0dAkk ZjE4LCA1NihhMykKLQlzdHQJJGYxOSwgNjQoYTMpCi0Jc3R0CSRmMjAsIDcy KGEzKQotCXN0dAkkZjIxLCA4MChhMykKLQlzdHQJJGYyMiwgODgoYTMpCi0J c3R0CSRmMjMsIDk2KGEzKQotCXN0dAkkZjI0LCAxMDQoYTMpCi0Jc3R0CSRm MjUsIDExMihhMykKLQlzdHQJJGYyNiwgMTIwKGEzKQotCXN0dAkkZjI3LCAx MjgoYTMpCi0Jc3R0CSRmMjgsIDEzNihhMykKLQkuc2V0IGF0Ci0KLTI6CWFk ZHEJc3AsIDMyLCBzcAotCXJldAotCi0JLmFsaWduIDMKLSRlcnJvcjoKLQlh ZGRxCXNwLCAzMiwgc3AKLQlTWVNDQUxMX0VSUk9SX0hBTkRMRVIKLQotRU5E KFdBSVQ0KQotI2VuZGlmIC8qIF9fQVNTVU1FX1RJTUVWQUw2NCAqLwotCi0j aWYgZGVmaW5lZCBQSUMgJiYgZGVmaW5lZCBET19WRVJTSU9OSU5HCi1kZWZh dWx0X3N5bWJvbF92ZXJzaW9uIChfX3dhaXQ0X3R2NjQsIF9fd2FpdDQsIEdM SUJDXzIuMSkKLQotLyogSXQgc2VlbXMgdG8gbWUgdG8gYmUgYSBtaXNmZWF0 dXJlIG9mIHRoZSBhc3NlbWJsZXIgdGhhdCB3ZSBjYW4gb25seQotICAgaGF2 ZSBvbmUgdmVyc2lvbi1hbGlhcyBwZXIgc3ltYm9sLiAgU28gY3JlYXRlIGFu IGFsaWFzIG91cnNlbHZlcy4KLSAgIFRoZSAncCcgaXMgZm9yICdwdWJsaWMn LiAgKlNocnVnKiAgKi8KLXN0cm9uZ19hbGlhcyAoX193YWl0NF90djY0LCBf X3dhaXQ0X3R2NjRwKQotZGVmYXVsdF9zeW1ib2xfdmVyc2lvbiAoX193YWl0 NF90djY0cCwgd2FpdDQsIEdMSUJDXzIuMSkKLSNlbHNlCi13ZWFrX2FsaWFz IChfX3dhaXQ0LCB3YWl0NCkKLSNlbmRpZgo= --------------010303030004000406000903--