<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>239821</bug_id>
          
          <creation_ts>2022-04-27 13:23:55 -0700</creation_ts>
          <short_desc>[JSC][32bit] Enable concurrency</short_desc>
          <delta_ts>2024-01-31 10:50:03 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mikhail R. Gadelha">mikhail</reporter>
          <assigned_to name="Mikhail R. Gadelha">mikhail</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1864902</commentid>
    <comment_count>0</comment_count>
    <who name="Mikhail R. Gadelha">mikhail</who>
    <bug_when>2022-04-27 13:23:55 -0700</bug_when>
    <thetext>[JSC][32bit] Enable concurrency</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1864907</commentid>
    <comment_count>1</comment_count>
      <attachid>458462</attachid>
    <who name="Mikhail R. Gadelha">mikhail</who>
    <bug_when>2022-04-27 13:30:31 -0700</bug_when>
    <thetext>Created attachment 458462
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1864912</commentid>
    <comment_count>2</comment_count>
    <who name="Mikhail R. Gadelha">mikhail</who>
    <bug_when>2022-04-27 13:36:19 -0700</bug_when>
    <thetext>Work-in-progress patch as there are still some data races happening in regressions, but I think I know where they are coming from (lock mutex to check tag and unlocking before getting the payload).

Once ARM is stable, I&apos;ll update the MIPS backend (maybe intel x86 as well).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1866571</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-05-04 13:24:34 -0700</bug_when>
    <thetext>&lt;rdar://problem/92750919&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1903513</commentid>
    <comment_count>4</comment_count>
    <who name="Mikhail R. Gadelha">mikhail</who>
    <bug_when>2022-10-05 13:15:00 -0700</bug_when>
    <thetext>Pull request: https://github.com/WebKit/WebKit/pull/5046</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1968283</commentid>
    <comment_count>5</comment_count>
    <who name="Joseph Griego">joseph.j.griego</who>
    <bug_when>2023-07-26 12:19:26 -0700</bug_when>
    <thetext>Pull request: https://github.com/WebKit/WebKit/pull/16108</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1995052</commentid>
    <comment_count>6</comment_count>
    <who name="Joseph Griego">joseph.j.griego</who>
    <bug_when>2023-11-27 12:58:04 -0800</bug_when>
    <thetext>Pull request: https://github.com/WebKit/WebKit/pull/20950</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2009407</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2024-01-31 10:49:42 -0800</bug_when>
    <thetext>Committed 273841@main (55815dc77e79): &lt;https://commits.webkit.org/273841@main&gt;

Reviewed commits have been landed. Closing PR #20950 and removing active labels.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>458462</attachid>
            <date>2022-04-27 13:30:31 -0700</date>
            <delta_ts>2022-04-27 13:30:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-239821-20220427203029.patch</filename>
            <type>text/plain</type>
            <size>48688</size>
            <attacher name="Mikhail R. Gadelha">mikhail</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkzMTA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
NTExMmNmZmU0NzM3N2FjNzZjMjJkOTBkYTVmMzQwZDNhOTIxMjU3Li5lZjE5ZmZjYWFhOWRjZjVl
Mzg4Y2Y4MGYzYjFiZTA3YzhhZmQyMzBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzOCBAQAorMjAyMi0wNC0yNyAgTWlraGFpbCBSLiBHYWRlbGhhICA8bWlraGFpbEBpZ2Fs
aWEuY29tPgorCisgICAgICAgIFtKU0NdWzMyYml0XSBFbmFibGUgY29uY3VycmVuY3kKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzOTgyMQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogYXNzZW1ibGVyL0FS
TXY3QXNzZW1ibGVyLmg6CisgICAgICAgIChKU0M6OkFSTXY3QXNzZW1ibGVyOjpsZHJleCk6Cisg
ICAgICAgIChKU0M6OkFSTXY3QXNzZW1ibGVyOjpzdHJleCk6CisgICAgICAgIChKU0M6OkFSTXY3
QXNzZW1ibGVyOjpkbWJJU0gpOgorICAgICAgICAqIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFS
TXY3Lmg6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyQVJNdjc6OmV4ZWNDb25jdXJyZW50
bHkpOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlckFSTXY3Ojpsb2FkMzJDb25jdXJyZW50
bHkpOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlckFSTXY3OjpzdG9yZTMyQ29uY3VycmVu
dGx5KToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJBUk12Nzo6c3RvcmVUd28zMkNvbmN1
cnJlbnRseSk6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyQVJNdjc6OmNvbXBhcmUzMik6
CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyQVJNdjc6OmJyYW5jaDMyQ29uY3VycmVudGx5
KToKKyAgICAgICAgKiBieXRlY29kZS9BY2Nlc3NDYXNlLmNwcDoKKyAgICAgICAgKEpTQzo6QWNj
ZXNzQ2FzZTo6Z2VuZXJhdGVJbXBsKToKKyAgICAgICAgKiBqaXQvQXNzZW1ibHlIZWxwZXJzLmg6
CisgICAgICAgIChKU0M6OkFzc2VtYmx5SGVscGVyczo6c3RvcmVDZWxsKToKKyAgICAgICAgKEpT
Qzo6QXNzZW1ibHlIZWxwZXJzOjpsb2FkQ2VsbCk6CisgICAgICAgIChKU0M6OkFzc2VtYmx5SGVs
cGVyczo6YnJhbmNoSWZOb3RDZWxsKToKKyAgICAgICAgKEpTQzo6QXNzZW1ibHlIZWxwZXJzOjpi
cmFuY2hJZkNlbGwpOgorICAgICAgICAqIGxsaW50L0xMSW50T2ZmbGluZUFzbUNvbmZpZy5oOgor
ICAgICAgICAqIGxsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOgorICAgICAgICAqIGxsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIzMl82NC5hc206CisgICAgICAgICogbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToKKyAgICAgICAgKiBvZmZsaW5lYXNtL2FybS5yYjoKKyAgICAgICAg
KiBvZmZsaW5lYXNtL2luc3RydWN0aW9ucy5yYjoKKyAgICAgICAgKiBvZmZsaW5lYXNtL3Jpc2Mu
cmI6CisgICAgICAgICogcnVudGltZS9KU0NKU1ZhbHVlLmNwcDoKKyAgICAgICAgKiBydW50aW1l
L0pTQ0pTVmFsdWUuaDoKKwogMjAyMi0wNC0yMCAgWmFuIERvYmVyc2VrICA8emRvYmVyc2VrQGln
YWxpYS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgUklTQy1WIGJ1aWxkIGZpeC4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKaW5kZXgg
OTZjNTI2MTNhODhiYWQ1YzM3ZWY1NWJjYzI4MGRiNjM1OGMwYzAwNy4uYTA4MDVhMDM3ZjQxM2I3
NDQ3ODI4MzVmYjRmMTU4ZmI2MWZjY2RmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAyMi0wNC0y
NyAgTWlraGFpbCBSLiBHYWRlbGhhICA8bWlraGFpbEBpZ2FsaWEuY29tPgorCisgICAgICAgIFtK
U0NdWzMyYml0XSBFbmFibGUgY29uY3VycmVuY3kKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIzOTgyMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogd3RmL1BsYXRmb3JtRW5hYmxlLmg6CisKIDIwMjItMDQt
MjAgIENhdGhpZSBDaGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgogCiAgICAgICAgIFBhcnNp
bmcgb2YgY29udGFpbi1pbnRyaW5zaWMtc2l6ZSBhbmQgYWRkaW5nIGEgcnVudGltZSBmbGFnIGZv
ciBpdApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BUk12N0Fz
c2VtYmxlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BUk12N0Fzc2VtYmxl
ci5oCmluZGV4IDljYTZhNGE2Yzg0MWM2NzY1OWZjYjU0NmM3ZjQ0MmJkN2QyODk4NjEuLmM4MWE4
ZWEyOTMyN2VjNmNlZTMyMWY2NzJlYjBmYzVlNThmYWFjZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQVJNdjdBc3NlbWJsZXIuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYXNzZW1ibGVyL0FSTXY3QXNzZW1ibGVyLmgKQEAgLTU3Myw3ICs1NzMsOSBA
QCBwcml2YXRlOgogICAgICAgICBPUF9CX1QxICAgICAgICAgPSAweEQwMDAsCiAgICAgICAgIE9Q
X0JfVDIgICAgICAgICA9IDB4RTAwMCwKICAgICAgICAgT1BfU1RSRF9pbW1fVDEgID0gMHhFODQw
LAorICAgICAgICBPUF9TVFJFWF9pbW1fVDEgPSAweEU4NDAsCiAgICAgICAgIE9QX0xEUkRfaW1t
X1QxICA9IDB4RTg1MCwKKyAgICAgICAgT1BfTERSRVhfaW1tX1QxID0gMHhFODUwLAogICAgICAg
ICBPUF9QT1BfVDIgICAgICAgPSAweEU4QkQsCiAgICAgICAgIE9QX1BVU0hfVDIgICAgICA9IDB4
RTkyRCwKICAgICAgICAgT1BfQU5EX3JlZ19UMiAgID0gMHhFQTAwLApAQCAtNzA2LDYgKzcwOCw3
IEBAIHByaXZhdGU6CiAgICAgICAgIE9QX05PUF9UMmIgICAgICAgPSAweDgwMDAsCiAgICAgICAg
IE9QX0RNQl9TWV9UMWIgICAgPSAweDhGNUYsCiAgICAgICAgIE9QX0RNQl9JU0hTVF9UMWIgPSAw
eDhGNUEsCisgICAgICAgIE9QX0RNQl9JU0hfVDFiICAgPSAweDhGNUIsCiAgICAgICAgIE9QX0Jf
VDNiICAgICAgICAgPSAweDgwMDAsCiAgICAgICAgIE9QX0JfVDRiICAgICAgICAgPSAweDkwMDAs
CiAgICAgICAgIE9QX0JMX1Q0YiAgICAgICAgPSAweEQwMDAsCkBAIC0xMzIwLDYgKzEzMjMsMTQg
QEAgcHVibGljOgogICAgICAgICBtX2Zvcm1hdHRlci50d29Xb3JkT3AxMlJlZzRSZWc0UmVnNElt
bTgoc3RhdGljX2Nhc3Q8T3Bjb2RlSUQxPihvcGNvZGUpLCBybiwgcnQsIHJ0Miwgb2Zmc2V0KTsK
ICAgICB9CiAKKyAgICBBTFdBWVNfSU5MSU5FIHZvaWQgbGRyZXgoUmVnaXN0ZXJJRCBydCwgUmVn
aXN0ZXJJRCBybiwgaW50MzJfdCBvZmZzZXQpCisgICAgeworICAgICAgICBBU1NFUlQoIUJhZFJl
ZyhydCkpOworICAgICAgICBBU1NFUlQocm4gIT0gQVJNUmVnaXN0ZXJzOjpwYyk7CisgICAgICAg
IEFTU0VSVCghKG9mZnNldCAmIH4weDNmYykpOworICAgICAgICBtX2Zvcm1hdHRlci50d29Xb3Jk
T3AxMlJlZzRSZWc0SW1tMTIoT1BfTERSRVhfaW1tX1QxLCBybiwgcnQsICgweGYgPDwgOCB8IG9m
ZnNldCkpOworICAgIH0KKwogICAgIHZvaWQgbHNsKFJlZ2lzdGVySUQgcmQsIFJlZ2lzdGVySUQg
cm0sIGludDMyX3Qgc2hpZnRBbW91bnQpCiAgICAgewogICAgICAgICBBU1NFUlQoIUJhZFJlZyhy
ZCkpOwpAQCAtMTc5Nyw2ICsxODA4LDE3IEBAIHB1YmxpYzoKICAgICAgICAgbV9mb3JtYXR0ZXIu
dHdvV29yZE9wMTJSZWc0UmVnNFJlZzRJbW04KHN0YXRpY19jYXN0PE9wY29kZUlEMT4ob3Bjb2Rl
KSwgcm4sIHJ0LCBydDIsIG9mZnNldCk7CiAgICAgfQogCisgICAgQUxXQVlTX0lOTElORSB2b2lk
IHN0cmV4KFJlZ2lzdGVySUQgcmQsIFJlZ2lzdGVySUQgcnQsIFJlZ2lzdGVySUQgcm4sIGludDMy
X3Qgb2Zmc2V0KQorICAgIHsKKyAgICAgICAgQVNTRVJUKCFCYWRSZWcocmQpKTsKKyAgICAgICAg
QVNTRVJUKCFCYWRSZWcocnQpKTsKKyAgICAgICAgQVNTRVJUKHJuICE9IEFSTVJlZ2lzdGVyczo6
cGMpOworICAgICAgICBBU1NFUlQocmQgIT0gcm4pOworICAgICAgICBBU1NFUlQocmQgIT0gcnQp
OworICAgICAgICBBU1NFUlQoIShvZmZzZXQgJiB+MHgzZmMpKTsKKyAgICAgICAgbV9mb3JtYXR0
ZXIudHdvV29yZE9wMTJSZWc0UmVnNFJlZzRJbW04KE9QX1NUUkVYX2ltbV9UMSwgcm4sIHJ0LCBy
ZCwgb2Zmc2V0KTsKKyAgICB9CisKICAgICBBTFdBWVNfSU5MSU5FIHZvaWQgc3ViKFJlZ2lzdGVy
SUQgcmQsIFJlZ2lzdGVySUQgcm4sIEFSTVRodW1iSW1tZWRpYXRlIGltbSkKICAgICB7CiAgICAg
ICAgIC8vIFJkIGNhbiBvbmx5IGJlIFNQIGlmIFJuIGlzIGFsc28gU1AuCkBAIC0yMTYwLDYgKzIx
ODIsMTEgQEAgcHVibGljOgogICAgICAgICBtX2Zvcm1hdHRlci50d29Xb3JkT3AxNk9wMTYoT1Bf
RE1CX1QxYSwgT1BfRE1CX0lTSFNUX1QxYik7CiAgICAgfQogCisgICAgdm9pZCBkbWJJU0goKQor
ICAgIHsKKyAgICAgICAgbV9mb3JtYXR0ZXIudHdvV29yZE9wMTZPcDE2KE9QX0RNQl9UMWEsIE9Q
X0RNQl9JU0hfVDFiKTsKKyAgICB9CisKICAgICBBc3NlbWJsZXJMYWJlbCBsYWJlbElnbm9yaW5n
V2F0Y2hwb2ludHMoKQogICAgIHsKICAgICAgICAgcmV0dXJuIG1fZm9ybWF0dGVyLmxhYmVsKCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1i
bGVyQVJNdjcuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJs
ZXJBUk12Ny5oCmluZGV4IDY1MDJmMGM1M2MzZjZkNjIwODk3YzliMzQ2ZTcyOTEzMmIwYjI2MWIu
LjdkOTlkZmJkY2JlZDE0M2RjODQ0NmRiZTY1NWYyNDJjYzAzZjMxNzkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk12Ny5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk12Ny5oCkBA
IC0xOTEsNiArMTkxLDUxIEBAIHB1YmxpYzoKICAgICBzdGF0aWMgY29uc3RleHByIFJlZ2lzdGVy
SUQgZnJhbWVQb2ludGVyUmVnaXN0ZXIgPSBBUk1SZWdpc3RlcnM6OmZwOwogICAgIHN0YXRpYyBj
b25zdGV4cHIgUmVnaXN0ZXJJRCBsaW5rUmVnaXN0ZXIgPSBBUk1SZWdpc3RlcnM6OmxyOwogCitw
cml2YXRlOgorICAgIHRlbXBsYXRlPHR5cGVuYW1lIGluc3RydWN0aW9uPgorICAgIHZvaWQgZXhl
Y0NvbmN1cnJlbnRseShpbnN0cnVjdGlvbiBpbnNuKQorICAgIHsKKyAgICAgICAgLy8gV2UgbmVl
ZCAyIHRlbXAgcmVnaXN0ZXJzIHRvIG1ha2UgdGhlIGxvY2svdW5sb2NrIHdvcmsKKyAgICAgICAg
Ly8gV2UgZG9uJ3QgY2FsbCBnZXRBbmRJbnZhbGlkYXRlIGhlcmUgYmVjYXVzZSBhZnRlciB0aGUg
bG9jay91bmxvY2sgd2UgY2FuIHJldXNlCisgICAgICAgIC8vIHRoZW0gaW4gb3RoZXIgY2FsbHMs
IGUuZy4sIHN0b3JlUGFpcjMyLCBicmFuY2gzMiwgc2V0dXBBcm1BZGRyZXNzLCBldGMuCisgICAg
ICAgIGNvbnN0ZXhwciBSZWdpc3RlcklEIHNjcmF0Y2ggPSBkYXRhVGVtcFJlZ2lzdGVyOworICAg
ICAgICBjb25zdGV4cHIgUmVnaXN0ZXJJRCBzY3JhdGNoMiA9IGFkZHJlc3NUZW1wUmVnaXN0ZXI7
CisKKyAgICAgICAgQXJtQWRkcmVzcyBsb2NrQWRkcmVzcyA9IHNldHVwQXJtQWRkcmVzcyhBYnNv
bHV0ZUFkZHJlc3MoJmdfZ2xvYmFsTG9jayksIHNjcmF0Y2gyKTsKKworICAgICAgICBMYWJlbCB0
cnlMb2NrID0gbGFiZWwoKTsKKyAgICAgICAgbV9hc3NlbWJsZXIubGRyZXgoc2NyYXRjaCwgbG9j
a0FkZHJlc3MuYmFzZSwgbG9ja0FkZHJlc3MudS5vZmZzZXQpOworICAgICAgICAvLyBUT0RPOiBp
cyBpdCBiZXR0ZXIgdG8gdXNlIHRzdCBoZXJlIGluc3RlYWQgb2YgY21wPyBTaW5jZSB3ZSBhcmUg
Y2hlY2tpbmcgaWYgc2NyYXRjaCA9PSAwPworICAgICAgICBKdW1wIGxvY2tBY3F1aXJlZCA9IGJy
YW5jaDMyKE5vdEVxdWFsLCBzY3JhdGNoLCBUcnVzdGVkSW1tMzIoMCkpOworCisgICAgICAgIC8v
IEhlcmUgd2UgYXJlIGFjdHVhbGx5IHdyaXR0aW5nIHRoZSBhZGRyZXNzIG9mIHRoZSBsb2NrIGF0
IHRoZSBhZGRyZXNzIG9mIHRoZSBsb2NrCisgICAgICAgIC8vIFdoaWxlIGdjYy9jbGFuZyB3cml0
ZSAjMSB0byBpbmRpY2F0ZSB0aGF0IHdlIGhhdmUgdGhlIGxvY2ssIHdlIGRvbid0IHJlYWxseSBj
YXJlIGFib3V0IHRoZSB2YWx1ZQorICAgICAgICAvLyB3cml0dGVuLCBzaW5jZSB3ZSBvbmx5IG5l
ZWQgaXQgdG8gYmUgbm90ICMwIGZvciB0aGUgbGRyZXggdG8gd29yaworICAgICAgICBtX2Fzc2Vt
Ymxlci5zdHJleChzY3JhdGNoLCBzY3JhdGNoMiwgbG9ja0FkZHJlc3MuYmFzZSwgbG9ja0FkZHJl
c3MudS5vZmZzZXQpOworICAgICAgICAvLyBUT0RPOiBpcyBpdCBiZXR0ZXIgdG8gdXNlIHRzdCBo
ZXJlIGluc3RlYWQgb2YgY21wPyBTaW5jZSB3ZSBhcmUgY2hlY2tpbmcgaWYgc2NyYXRjaCA9PSAw
PworICAgICAgICBicmFuY2gzMihOb3RFcXVhbCwgc2NyYXRjaCwgVHJ1c3RlZEltbTMyKDApKS5s
aW5rVG8odHJ5TG9jaywgdGhpcyk7CisKKyAgICAgICAgLy8gQXQgdGhpcyBwb2ludCB3ZSBob2xk
IHRoZSBsb2NrCisgICAgICAgIExhYmVsIHNhZmVJbnN0cnVjdGlvbiA9IGxhYmVsKCk7CisgICAg
ICAgIGxvY2tBY3F1aXJlZC5saW5rVG8oc2FmZUluc3RydWN0aW9uLCB0aGlzKTsKKworICAgICAg
ICAvLyBGb3JjZSBzZXF1ZW50aWFsIGV4ZWN1dGlvbgorICAgICAgICBtX2Fzc2VtYmxlci5kbWJJ
U0goKTsKKworICAgICAgICAvLyBUaGUgYWN0dWFsIG9wCisgICAgICAgIGluc24oKTsKKworICAg
ICAgICBtb3ZlKFRydXN0ZWRJbW0zMigwKSwgc2NyYXRjaCk7CisKKyAgICAgICAgLy8gVGhlIHBy
ZXZpb3VzIGluc24gbWF5IGhhdmUgb3ZlcnJpZGVuIHNjcmF0Y2gyLCBzbyB3ZSBtaWdodCBuZWVk
IHRvIHNldHVwIGl0IGFnYWluCisgICAgICAgIGludHB0cl90IGN1cnJlbnRSZWdpc3RlckNvbnRl
bnRzOworICAgICAgICBpZiAoY2FjaGVkQWRkcmVzc1RlbXBSZWdpc3RlcigpLnZhbHVlKGN1cnJl
bnRSZWdpc3RlckNvbnRlbnRzKSkKKyAgICAgICAgICAgIGxvY2tBZGRyZXNzID0gc2V0dXBBcm1B
ZGRyZXNzKEFic29sdXRlQWRkcmVzcygmZ19nbG9iYWxMb2NrKSwgc2NyYXRjaDIpOworICAgICAg
ICBzdG9yZTMyKHNjcmF0Y2gsIGxvY2tBZGRyZXNzKTsKKyAgICAgICAgbV9hc3NlbWJsZXIuZG1i
SVNIKCk7CisgICAgfQorCitwdWJsaWM6CiAgICAgLy8gSW50ZWdlciBhcml0aG1ldGljIG9wZXJh
dGlvbnM6CiAgICAgLy8KICAgICAvLyBPcGVyYXRpb25zIGFyZSB0eXBpY2FsbHkgdHdvIG9wZXJh
bmQgLSBvcGVyYXRpb24oc291cmNlLCBzcmNEc3QpCkBAIC04MTQsNiArODU5LDE1IEBAIHB1Ymxp
YzoKICAgICAgICAgbG9hZDMyKHNldHVwQXJtQWRkcmVzcyhhZGRyZXNzKSwgZGVzdCk7CiAgICAg
fQogCisgICAgdm9pZCBsb2FkMzJDb25jdXJyZW50bHkoQWRkcmVzcyBhZGRyZXNzLCBSZWdpc3Rl
cklEIGRlc3QpCisgICAgeworICAgICAgICAvLyBUT0RPOiBjYW4gd2UgZG8gdGhpcyBiZXR0ZXIg
d2l0aCB2YXJpYWRpYyBsYW1iZGFzPworICAgICAgICBhdXRvIGxvYWQgPSBbJl0oKSB7CisgICAg
ICAgICAgICBsb2FkMzIoc2V0dXBBcm1BZGRyZXNzKGFkZHJlc3MpLCBkZXN0KTsKKyAgICAgICAg
fTsKKyAgICAgICAgZXhlY0NvbmN1cnJlbnRseShsb2FkKTsKKyAgICB9CisKICAgICB2b2lkIGxv
YWQzMihCYXNlSW5kZXggYWRkcmVzcywgUmVnaXN0ZXJJRCBkZXN0KQogICAgIHsKICAgICAgICAg
bG9hZDMyKHNldHVwQXJtQWRkcmVzcyhhZGRyZXNzKSwgZGVzdCk7CkBAIC0xMDQ4LDYgKzExMDIs
MTYgQEAgcHVibGljOgogICAgICAgICBzdG9yZTMyKGRhdGFUZW1wUmVnaXN0ZXIsIGFkZHJlc3Mp
OwogICAgIH0KIAorICAgIHZvaWQgc3RvcmUzMkNvbmN1cnJlbnRseShUcnVzdGVkSW1tMzIgaW1t
LCBjb25zdCB2b2lkKiBhZGRyZXNzKQorICAgIHsKKyAgICAgICAgLy8gVE9ETzogY2FuIHdlIGRv
IHRoaXMgYmV0dGVyIHdpdGggdmFyaWFkaWMgbGFtYmRhcz8KKyAgICAgICAgYXV0byBzdG9yZSA9
IFsmXSgpIHsKKyAgICAgICAgICAgIG1vdmUoaW1tLCBkYXRhVGVtcFJlZ2lzdGVyKTsKKyAgICAg
ICAgICAgIHN0b3JlMzIoZGF0YVRlbXBSZWdpc3RlciwgYWRkcmVzcyk7CisgICAgICAgIH07Cisg
ICAgICAgIGV4ZWNDb25jdXJyZW50bHkoc3RvcmUpOworICAgIH0KKwogICAgIHZvaWQgc3RvcmU4
KFJlZ2lzdGVySUQgc3JjLCBBZGRyZXNzIGFkZHJlc3MpCiAgICAgewogICAgICAgICBzdG9yZTgo
c3JjLCBzZXR1cEFybUFkZHJlc3MoYWRkcmVzcykpOwpAQCAtMTE5MSw2ICsxMjU1LDE2IEBAIHB1
YmxpYzoKICAgICAgICAgc3RvcmVQYWlyMzIoc3JjMSwgc3JjMiwgQWRkcmVzcyhhcm1BZGRyZXNz
LmJhc2UsIGFybUFkZHJlc3MudS5vZmZzZXQpKTsKICAgICB9CiAKKyAgICB0ZW1wbGF0ZTx0eXBl
bmFtZSBULCB0eXBlbmFtZSBVLCB0eXBlbmFtZSBWPgorICAgIHZvaWQgc3RvcmVUd28zMkNvbmN1
cnJlbnRseShUIHNyYzEsIFUgc3JjMiwgViBhZGRyZXNzKQorICAgIHsKKyAgICAgICAgLy8gVE9E
TzogY2FuIHdlIGRvIHRoaXMgYmV0dGVyIHdpdGggdmFyaWFkaWMgbGFtYmRhcz8KKyAgICAgICAg
YXV0byBzdG9yZSA9IFsmXSgpIHsKKyAgICAgICAgICAgIHN0b3JlUGFpcjMyKHNyYzEsIHNyYzIs
IGFkZHJlc3MpOworICAgICAgICB9OworICAgICAgICBleGVjQ29uY3VycmVudGx5KHN0b3JlKTsK
KyAgICB9CisKICAgICAvLyBQb3NzaWJseSBjbG9iYmVycyBzcmMsIGJ1dCBub3Qgb24gdGhpcyBh
cmNoaXRlY3R1cmUuCiAgICAgdm9pZCBtb3ZlRG91YmxlVG9JbnRzKEZQUmVnaXN0ZXJJRCBzcmMs
IFJlZ2lzdGVySUQgZGVzdDEsIFJlZ2lzdGVySUQgZGVzdDIpCiAgICAgewpAQCAtMTkxMSw2ICsx
OTg1LDU0IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIEp1bXAobWFrZUJyYW5jaChjb25kKSk7
CiAgICAgfQogCisgICAgdm9pZCBjb21wYXJlMzIoUmVnaXN0ZXJJRCBsZWZ0LCBUcnVzdGVkSW1t
MzIgcmlnaHQpCisgICAgeworICAgICAgICBSZWdpc3RlcklEIHNjcmF0Y2ggPSBiZXN0VGVtcFJl
Z2lzdGVyKGxlZnQpOworICAgICAgICBtb3ZlKFRydXN0ZWRJbW0zMihyaWdodC5tX3ZhbHVlKSwg
c2NyYXRjaCk7CisgICAgICAgIG1fYXNzZW1ibGVyLmNtcChsZWZ0LCBzY3JhdGNoKTsKKyAgICB9
CisKKyAgICAvLyBEbyB3ZSBuZWVkIHRoaXMgdG8gYmUgdGhyZWFkIHNhZmU/IFdlIGFyZSBjb21w
YXJpbmcgdGhlIHZhbHVlIGluIGEgcmVnaXN0ZXIsIG5vdCBmcm9tIG1lbW9yeQorICAgIEp1bXAg
YnJhbmNoMzJDb25jdXJyZW50bHkoUmVsYXRpb25hbENvbmRpdGlvbiBjb25kLCBSZWdpc3RlcklE
IGxlZnQsIFRydXN0ZWRJbW0zMiByaWdodCkKKyAgICB7CisgICAgICAgIC8vIFRPRE86IGNhbiB3
ZSBkbyB0aGlzIGJldHRlciB3aXRoIHZhcmlhZGljIGxhbWJkYXM/CisgICAgICAgIGF1dG8gYnJh
bmNoID0gWyZdKCkgeworICAgICAgICAgICAgLy8gV2UgdXNlIGRhdGFUZW1wUmVnaXN0ZXIgaGVy
ZSBiZWNhdXNlIGV4ZWNDb25jdXJyZW50bHkgdXNlcyBhZGRyZXNzVGVtcFJlZ2lzdGVyCisgICAg
ICAgICAgICAvLyB0byBzdG9yZSB0aGUgYWRkcmVzcyBvZiB0aGUgZ2xvYmFsIGxvY2ssIHNvIGJ5
IHVzaW5nIGRhdGFUZW1wUmVnaXN0ZXIgd2Ugc2F2ZQorICAgICAgICAgICAgLy8gYSBjb3VwbGUg
b2YgaW5zdHJ1Y3Rpb24gcmVzdG9yaW5nIHRoZSBhZGRyZXNzIG9mIGdsb2JhbCBsb2NrIHRvIGFk
ZHJlc3NUZW1wUmVnaXN0ZXIKKyAgICAgICAgICAgIG1vdmUocmlnaHQsIGRhdGFUZW1wUmVnaXN0
ZXIpOworICAgICAgICAgICAgbV9hc3NlbWJsZXIuY21wKGxlZnQsIGRhdGFUZW1wUmVnaXN0ZXIp
OworICAgICAgICB9OworICAgICAgICBleGVjQ29uY3VycmVudGx5KGJyYW5jaCk7CisgICAgICAg
IHJldHVybiBKdW1wKG1ha2VCcmFuY2goY29uZCkpOworICAgIH0KKworICAgIEp1bXAgYnJhbmNo
MzJDb25jdXJyZW50bHkoUmVsYXRpb25hbENvbmRpdGlvbiBjb25kLCBBZGRyZXNzIGxlZnQsIFRy
dXN0ZWRJbW0zMiByaWdodCkKKyAgICB7CisgICAgICAgIC8vIFRPRE86IGNhbiB3ZSBkbyB0aGlz
IGJldHRlciB3aXRoIHZhcmlhZGljIGxhbWJkYXM/CisgICAgICAgIGF1dG8gYnJhbmNoID0gWyZd
KCkgeworICAgICAgICAgICAgLy8gV2UgYWxzbyBmYXZvciBkYXRhVGVtcFJlZ2lzdGVyIGhlcmUg
YnV0IGNvbXBhcmUzMiB3aWxsIHVzZSBhZGRyZXNzVGVtcFJlZ2lzdGVyCisgICAgICAgICAgICAv
LyB0byBidWlsZCB0aGUgYWRkcmVzcyBhbnl3YXkKKyAgICAgICAgICAgIGxvYWQzMihsZWZ0LCBk
YXRhVGVtcFJlZ2lzdGVyKTsKKyAgICAgICAgICAgIGNvbXBhcmUzMihkYXRhVGVtcFJlZ2lzdGVy
LCByaWdodCk7CisgICAgICAgIH07CisgICAgICAgIGV4ZWNDb25jdXJyZW50bHkoYnJhbmNoKTsK
KyAgICAgICAgcmV0dXJuIEp1bXAobWFrZUJyYW5jaChjb25kKSk7CisgICAgfQorCisgICAgSnVt
cCBicmFuY2gzMkNvbmN1cnJlbnRseShSZWxhdGlvbmFsQ29uZGl0aW9uIGNvbmQsIEJhc2VJbmRl
eCBsZWZ0LCBUcnVzdGVkSW1tMzIgcmlnaHQpCisgICAgeworICAgICAgICAvLyBUT0RPOiBjYW4g
d2UgZG8gdGhpcyBiZXR0ZXIgd2l0aCB2YXJpYWRpYyBsYW1iZGFzPworICAgICAgICBhdXRvIGJy
YW5jaCA9IFsmXSgpIHsKKyAgICAgICAgICAgIC8vIFdlIGFsc28gZmF2b3IgZGF0YVRlbXBSZWdp
c3RlciBoZXJlIGJ1dCBjb21wYXJlMzIgd2lsbCB1c2UgYWRkcmVzc1RlbXBSZWdpc3RlcgorICAg
ICAgICAgICAgLy8gdG8gYnVpbGQgdGhlIGFkZHJlc3MgYW55d2F5CisgICAgICAgICAgICBsb2Fk
MzIobGVmdCwgZGF0YVRlbXBSZWdpc3Rlcik7CisgICAgICAgICAgICBjb21wYXJlMzIoZGF0YVRl
bXBSZWdpc3RlciwgcmlnaHQpOworICAgICAgICB9OworICAgICAgICBleGVjQ29uY3VycmVudGx5
KGJyYW5jaCk7CisgICAgICAgIHJldHVybiBKdW1wKG1ha2VCcmFuY2goY29uZCkpOworICAgIH0K
KwogICAgIEp1bXAgYnJhbmNoMzIoUmVsYXRpb25hbENvbmRpdGlvbiBjb25kLCBSZWdpc3RlcklE
IGxlZnQsIFJlZ2lzdGVySUQgcmlnaHQpCiAgICAgewogICAgICAgICBpZiAobGVmdCA9PSBBUk1S
ZWdpc3RlcnM6OnNwKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvQWNjZXNzQ2FzZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNz
Q2FzZS5jcHAKaW5kZXggMzIwZWE0N2Y5YmU5Mzg3Y2Q4YTJiZWJhODkzOGU5MWZhYjFhM2UzZS4u
ZDg2MjA4YmM5YzkwM2JjMmZjMjdkYTNlOTEzMDFjNzQzNjViOWEzMSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmNwcApAQCAtMjA2MCw2ICsyMDYwLDcg
QEAgdm9pZCBBY2Nlc3NDYXNlOjpnZW5lcmF0ZUltcGwoQWNjZXNzR2VuZXJhdGlvblN0YXRlJiBz
dGF0ZSkKICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0zMihudW1iZXJP
ZlBhcmFtZXRlcnMpLAogICAgICAgICAgICAgICAgIGNhbGxlZUZyYW1lLndpdGhPZmZzZXQoQ2Fs
bEZyYW1lU2xvdDo6YXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXMgKiBzaXplb2YoUmVnaXN0ZXIp
ICsgUGF5bG9hZE9mZnNldCkpOwogCisgICAgICAgICAgICAvLyBUT0RPOiBvbiAzMmJpdCBwbGF0
Zm9ybSB3ZSBzcGVuZCBhbiBleHRyYSBvcHRpb24gdG8gbW92ZSB0aGUgQ2VsbFRhZyBvbiB0aGUg
c2Vjb25kIHN0b3JlQ2VsbCB1bm5lY2Vzc2FyaWx5LgogICAgICAgICAgICAgaml0LnN0b3JlQ2Vs
bCgKICAgICAgICAgICAgICAgICBsb2FkZWRWYWx1ZUdQUiwgY2FsbGVlRnJhbWUud2l0aE9mZnNl
dChDYWxsRnJhbWVTbG90OjpjYWxsZWUgKiBzaXplb2YoUmVnaXN0ZXIpKSk7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQXNzZW1ibHlIZWxwZXJzLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0Fzc2VtYmx5SGVscGVycy5oCmluZGV4IGY0NTFhNzVjNTFlZmIw
OGIyMWJhYmJkNThmODEwMjJlMjc3NDJkZjIuLjI4MWRjMjdkMWMyNGE0M2IxNjI1NjQzMWQ0Njhj
MTM2MzM1YjMzODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQXNzZW1i
bHlIZWxwZXJzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9Bc3NlbWJseUhlbHBl
cnMuaApAQCAtMTQ2LDYgKzE0NiwxMiBAQCBwdWJsaWM6CiAgICAgICAgIHN0b3JlNjQoY2VsbCwg
YWRkcmVzcyk7CiAjZWxzZQogICAgICAgICBzdGF0aWNfYXNzZXJ0KCFQYXlsb2FkT2Zmc2V0ICYm
IFRhZ09mZnNldCA9PSA0LCAiQXNzdW1lcyBsaXR0bGUtZW5kaWFuIHN5c3RlbSIpOworI2lmIEVO
QUJMRShDT05DVVJSRU5UX0pTKQorICAgICAgICBpZiAoT3B0aW9uczo6dXNlQ29uY3VycmVudEpJ
VCgpKSB7CisgICAgICAgICAgICBzdG9yZVR3bzMyQ29uY3VycmVudGx5KGNlbGwsIFRydXN0ZWRJ
bW0zMihKU1ZhbHVlOjpDZWxsVGFnKSwgYWRkcmVzcyk7CisgICAgICAgICAgICByZXR1cm47Cisg
ICAgICAgIH0KKyNlbmRpZgogICAgICAgICBzdG9yZVBhaXIzMihjZWxsLCBUcnVzdGVkSW1tMzIo
SlNWYWx1ZTo6Q2VsbFRhZyksIGFkZHJlc3MpOwogI2VuZGlmCiAgICAgfQpAQCAtMTU4LDYgKzE2
NCwxMiBAQCBwdWJsaWM6CiAjZWxzZQogICAgICAgICBzdGF0aWNfYXNzZXJ0KCFQYXlsb2FkT2Zm
c2V0ICYmIFRhZ09mZnNldCA9PSA0LCAiQXNzdW1lcyBsaXR0bGUtZW5kaWFuIHN5c3RlbSIpOwog
ICAgICAgICBtb3ZlKEFzc2VtYmx5SGVscGVyczo6VHJ1c3RlZEltbTMyKEpTVmFsdWU6OkNlbGxU
YWcpLCByZWdzLnRhZ0dQUigpKTsKKyNpZiBFTkFCTEUoQ09OQ1VSUkVOVF9KUykKKyAgICAgICAg
aWYgKE9wdGlvbnM6OnVzZUNvbmN1cnJlbnRKSVQoKSkgeworICAgICAgICAgICAgc3RvcmVUd28z
MkNvbmN1cnJlbnRseShyZWdzLnBheWxvYWRHUFIoKSwgcmVncy50YWdHUFIoKSwgYWRkcmVzcyk7
CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyNlbmRpZgogICAgICAgICBzdG9yZVBh
aXIzMihyZWdzLnBheWxvYWRHUFIoKSwgcmVncy50YWdHUFIoKSwgYWRkcmVzcyk7CiAjZW5kaWYK
ICAgICB9CkBAIC0xODAsNiArMTkyLDEyIEBAIHB1YmxpYzoKICNpZiBVU0UoSlNWQUxVRTY0KQog
ICAgICAgICBsb2FkNjQoYWRkcmVzcywgZ3ByKTsKICNlbHNlCisjaWYgRU5BQkxFKENPTkNVUlJF
TlRfSlMpCisgICAgICAgIGlmIChPcHRpb25zOjp1c2VDb25jdXJyZW50SklUKCkpIHsKKyAgICAg
ICAgICAgIGxvYWQzMkNvbmN1cnJlbnRseShhZGRyZXNzLndpdGhPZmZzZXQoUGF5bG9hZE9mZnNl
dCksIGdwcik7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyNlbmRpZgogICAgICAg
ICBsb2FkMzIoYWRkcmVzcy53aXRoT2Zmc2V0KFBheWxvYWRPZmZzZXQpLCBncHIpOwogI2VuZGlm
CiAgICAgfQpAQCAtNjY5LDYgKzY4NywxMCBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBicmFu
Y2hUZXN0NjQoTm9uWmVybywgbWF5YmVDZWxsLCBUcnVzdGVkSW1tNjQoSlNWYWx1ZTo6Tm90Q2Vs
bE1hc2spKTsKICNlbHNlCiAgICAgICAgIFVOVVNFRF9QQVJBTShtb2RlKTsKKyNpZiBFTkFCTEUo
Q09OQ1VSUkVOVF9KUykKKyAgICAgICAgaWYgKE9wdGlvbnM6OnVzZUNvbmN1cnJlbnRKSVQoKSkK
KyAgICAgICAgICAgIHJldHVybiBicmFuY2gzMkNvbmN1cnJlbnRseShNYWNyb0Fzc2VtYmxlcjo6
Tm90RXF1YWwsIG1heWJlQ2VsbCwgVHJ1c3RlZEltbTMyKEpTVmFsdWU6OkNlbGxUYWcpKTsKKyNl
bmRpZgogICAgICAgICByZXR1cm4gYnJhbmNoMzIoTWFjcm9Bc3NlbWJsZXI6Ok5vdEVxdWFsLCBt
YXliZUNlbGwsIFRydXN0ZWRJbW0zMihKU1ZhbHVlOjpDZWxsVGFnKSk7CiAjZW5kaWYKICAgICB9
CkBAIC02OTEsNiArNzEzLDEwIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGJyYW5jaFRlc3Q2
NChaZXJvLCBtYXliZUNlbGwsIFRydXN0ZWRJbW02NChKU1ZhbHVlOjpOb3RDZWxsTWFzaykpOwog
I2Vsc2UKICAgICAgICAgVU5VU0VEX1BBUkFNKG1vZGUpOworI2lmIEVOQUJMRShDT05DVVJSRU5U
X0pTKQorICAgICAgICBpZiAoT3B0aW9uczo6dXNlQ29uY3VycmVudEpJVCgpKQorICAgICAgICAg
ICAgcmV0dXJuIGJyYW5jaDMyQ29uY3VycmVudGx5KE1hY3JvQXNzZW1ibGVyOjpFcXVhbCwgbWF5
YmVDZWxsLCBUcnVzdGVkSW1tMzIoSlNWYWx1ZTo6Q2VsbFRhZykpOworI2VuZGlmCiAgICAgICAg
IHJldHVybiBicmFuY2gzMihNYWNyb0Fzc2VtYmxlcjo6RXF1YWwsIG1heWJlQ2VsbCwgVHJ1c3Rl
ZEltbTMyKEpTVmFsdWU6OkNlbGxUYWcpKTsKICNlbmRpZgogICAgIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludE9mZmxpbmVBc21Db25maWcuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludE9mZmxpbmVBc21Db25maWcuaAppbmRleCBlNzZk
YWRhMGQzMzI5YzBkMjViZmM5M2MxNWU4ODdiMzM4ZTk3ZTM1Li4xYTdmMmQwODY2MGYwYmM0NjFh
MDc3MDJjZTk0NjkwY2Q5MzFjMDZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTExJbnRPZmZsaW5lQXNtQ29uZmlnLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xMSW50T2ZmbGluZUFzbUNvbmZpZy5oCkBAIC0xOTgsMyArMTk4LDkgQEAKICNlbHNl
CiAjZGVmaW5lIE9GRkxJTkVfQVNNX0hBVkVfRkFTVF9UTFMgMAogI2VuZGlmCisKKyNpZiBFTkFC
TEUoQ09OQ1VSUkVOVF9KUykKKyNkZWZpbmUgT0ZGTElORV9BU01fQ09OQ1VSUkVOVF9KUyAxCisj
ZWxzZQorI2RlZmluZSBPRkZMSU5FX0FTTV9DT05DVVJSRU5UX0pTIDAKKyNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtCmlu
ZGV4IGYxMzZiZDQ1M2RjNTc3ZjU4ZGFiMzc4OTM0NWU1YTc3ODQ3NWI5ZTMuLjg2MzJjODU4Yzg2
ZTI5N2I2YjVhZTUwZDIyZTViZDFhOTVjZDQ0MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbQorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20KQEAgLTI0OTcsMzcgKzI0OTcs
NiBAQCBtYWNybyBsaW5rU2xvd1BhdGhGb3IoZnVuY3Rpb24pCiAgICAgam1wIHQwLCBKU0VudHJ5
UHRyVGFnCiBlbmQKIAotIyA2NGJpdDp0MCAzMmJpdCh0MCx0MSkgaXMgY2FsbGVlCi0jIHQyIGlz
IENhbGxMaW5rSW5mbyoKLSMgdDMgaXMgY2FsbGVyJ3MgSlNHbG9iYWxPYmplY3QKLW1hY3JvIHZp
cnR1YWxUaHVua0ZvcihvZmZzZXRPZkpJVENvZGVXaXRoQXJpdHlDaGVjaywgb2Zmc2V0T2ZDb2Rl
QmxvY2ssIGludGVybmFsRnVuY3Rpb25UcmFtcG9saW5lLCBwcmVwYXJlQ2FsbCwgc2xvd0Nhc2Up
Ci0gICAgYWRkaSAxLCBDYWxsTGlua0luZm86Om1fc2xvd1BhdGhDb3VudFt0Ml0KLSAgICBpZiBK
U1ZBTFVFNjQKLSAgICAgICAgYnRxbnogdDAsIE5vdENlbGxNYXNrLCBzbG93Q2FzZQotICAgIGVs
c2UKLSAgICAgICAgYmluZXEgdDEsIENlbGxUYWcsIHNsb3dDYXNlCi0gICAgZW5kCi0gICAgYmJu
ZXEgSlNDZWxsOjptX3R5cGVbdDBdLCBKU0Z1bmN0aW9uVHlwZSwgLm5vdEpTRnVuY3Rpb24KLSAg
ICBsb2FkcCBKU0Z1bmN0aW9uOjptX2V4ZWN1dGFibGVPclJhcmVEYXRhW3QwXSwgdDUKLSAgICBi
dHB6IHQ1LCAoY29uc3RleHByIEpTRnVuY3Rpb246OnJhcmVEYXRhVGFnKSwgLmlzRXhlY3V0YWJs
ZQotICAgIGxvYWRwIChGdW5jdGlvblJhcmVEYXRhOjptX2V4ZWN1dGFibGUgLSAoY29uc3RleHBy
IEpTRnVuY3Rpb246OnJhcmVEYXRhVGFnKSlbdDVdLCB0NQotLmlzRXhlY3V0YWJsZToKLSAgICBs
b2FkcCBvZmZzZXRPZkpJVENvZGVXaXRoQXJpdHlDaGVja1t0NV0sIHQ0Ci0gICAgYnRweiB0NCwg
c2xvd0Nhc2UgIyBXaGVuIGp1bXBpbmcgdG8gc2xvd0Nhc2UsIHQwLCB0MSwgdDIsIHQzIG5lZWRz
IHRvIGJlIHVubW9kaWZpZWQuCi0gICAgbW92ZSB0NCwgdDEKLSAgICBtb3ZlIDAsIHQwCi0gICAg
YmJuZXEgSlNDZWxsOjptX3R5cGVbdDVdLCBGdW5jdGlvbkV4ZWN1dGFibGVUeXBlLCAuY2FsbENv
ZGUKLSAgICBsb2FkcCBvZmZzZXRPZkNvZGVCbG9ja1t0NV0sIHQwCi0uY2FsbENvZGU6Ci0gICAg
cHJlcGFyZUNhbGwodDUsIHQyLCB0MywgdDQpCi0gICAgc3RvcmVwIHQwLCBDb2RlQmxvY2sgLSBQ
cm9sb2d1ZVN0YWNrUG9pbnRlckRlbHRhW3NwXQotICAgIGptcCB0MSwgSlNFbnRyeVB0clRhZwot
Lm5vdEpTRnVuY3Rpb246Ci0gICAgYmJuZXEgSlNDZWxsOjptX3R5cGVbdDBdLCBJbnRlcm5hbEZ1
bmN0aW9uVHlwZSwgc2xvd0Nhc2UKLSAgICBwcmVwYXJlQ2FsbCh0NSwgdDIsIHQzLCB0NCkKLSAg
ICBqbXAgaW50ZXJuYWxGdW5jdGlvblRyYW1wb2xpbmUKLWVuZAotCiAjIDY0Yml0OnQwIDMyYml0
KHQwLHQxKSBpcyBjYWxsZWUKICMgdDIgaXMgQ2FsbExpbmtJbmZvKgogIyB0MyBpcyBjYWxsZXIn
cyBKU0dsb2JhbE9iamVjdApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIzMl82NC5hc20gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjMyXzY0LmFzbQppbmRleCBhZDI1MDE3ZWYwYjQ3ZmMwYjA1
MDQ3NDdkYjU3NWI5MTUwMThhZmVhLi4wMzEwMTUzN2E3NGVkYmIwYjBkZTkxOTJlYjMwZWVjMDAx
Zjk5NTc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjMyXzY0LmFzbQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjMyXzY0LmFzbQpAQCAtNTMwLDYgKzUzMCw1OSBAQCBtYWNybyBjaGVj
a1N3aXRjaFRvSklURm9yTG9vcCgpCiAgICAgICAgIGVuZCkKIGVuZAogCisjIGV4ZWNDb25jdXJy
ZW50bHkgZXhlY3V0ZXMgY29uY3VycmVudCBjb2RlIGluIGEgdGhyZWFkIHNhZmUgd2F5CittYWNy
byBleGVjQ29uY3VycmVudGx5KHRlbXAxLCB0ZW1wMiwgY29kZSkKKyAgICBsZWFwIF9nX2dsb2Jh
bExvY2ssIHRlbXAyCisKKy50cnlMb2NrOgorICAgIGxvYWRsIFt0ZW1wMl0sIHRlbXAxCisgICAg
YmluZXEgdGVtcDEsIDAsIC5leGVjU2FmZQorICAgIHN0b3JlYyB0ZW1wMSwgdGVtcDIsIFt0ZW1w
Ml0KKyAgICBiaW5lcSB0ZW1wMSwgMCwgLnRyeUxvY2sKKworLmV4ZWNTYWZlOgorICAgIG1lbWJh
cnJpZXIKKyAgICBjb2RlKCkKKworICAgIG1vdmUgMCwgdGVtcDEKKyAgICBzdG9yZWkgdGVtcDEs
IFt0ZW1wMl0KKyAgICBtZW1iYXJyaWVyCitlbmQKKworbWFjcm8gYnJhbmNoSWZOb3RDZWxsKG1h
eWJlQ2VsbCwgbGFiZWwsIHRlbXAxLCB0ZW1wMikKKyAgICAvLyBUT0RPOiB0aGlzIHNob3VsZCBi
ZSBhIHJ1bnRpbWUgY2hlY2sKKyAgICBpZiBDT05DVVJSRU5UX0pTCisgICAgICAgIGV4ZWNDb25j
dXJyZW50bHkodGVtcDEsIHRlbXAyLCBtYWNybygpIGNtcCBtYXliZUNlbGwsIENlbGxUYWcgZW5k
KQorICAgICAgICBibnogbGFiZWwKKyAgICBlbHNlCisgICAgICAgIGJpbmVxIG1heWJlQ2VsbCwg
Q2VsbFRhZywgbGFiZWwKKyAgICBlbmQKK2VuZAorCittYWNybyBicmFuY2hJZkNlbGwobWF5YmVD
ZWxsLCBsYWJlbCwgdGVtcDEsIHRlbXAyKQorICAgIC8vIFRPRE86IHRoaXMgc2hvdWxkIGJlIGEg
cnVudGltZSBjaGVjaworICAgIGlmIENPTkNVUlJFTlRfSlMKKyAgICAgICAgZXhlY0NvbmN1cnJl
bnRseSh0ZW1wMSwgdGVtcDIsIG1hY3JvKCkgY21wIG1heWJlQ2VsbCwgQ2VsbFRhZyBlbmQpCisg
ICAgICAgIGJ6IGxhYmVsCisgICAgZWxzZQorICAgICAgICBiaWVxIG1heWJlQ2VsbCwgQ2VsbFRh
ZywgbGFiZWwKKyAgICBlbmQKK2VuZAorCittYWNybyBzdG9yZUNlbGwoY2VsbCwgaW5kZXhSZWcs
IHRlbXAxLCB0ZW1wMikKKyAgICBtYWNybyBzdG9yZVRhZ0FuZ1BheWxvYWQoKQorICAgICAgICBz
dG9yZWkgY2VsbCwgUGF5bG9hZE9mZnNldFtjZnIsIGluZGV4UmVnLCA4XQorICAgICAgICBzdG9y
ZWkgQ2VsbFRhZywgVGFnT2Zmc2V0W2NmciwgaW5kZXhSZWcsIDhdCisgICAgZW5kCisKKyAgICAv
LyBUT0RPOiB0aGlzIHNob3VsZCBiZSBhIHJ1bnRpbWUgY2hlY2sKKyAgICBpZiBDT05DVVJSRU5U
X0pTCisgICAgICAgIGV4ZWNDb25jdXJyZW50bHkodGVtcDEsIHRlbXAyLCBzdG9yZVRhZ0FuZ1Bh
eWxvYWQpCisgICAgZWxzZQorICAgICAgICBzdG9yZVRhZ0FuZ1BheWxvYWQoKQorICAgIGVuZAor
ZW5kCisKICMgbG9hZFZhcmlhYmxlIGxvYWRzIHRoZSB2YWx1ZSBvZiBmaWVsZCBmaWVsZE5hbWUg
dXNpbmcgbWFjcm8gZ2V0CiAjIGludG8gcmVnaXN0ZXIgdGFnUmVnIGFuZCBwYXlsb2FkUmVnCiAj
IENsb2JiZXJzOiBpbmRleFJlZwpAQCAtNjUxLDE2ICs3MDQsMzQgQEAgbWFjcm8gd3JpdGVCYXJy
aWVyT25DZWxsV2l0aFJlbG9hZChjZWxsLCByZWxvYWRBZnRlclNsb3dQYXRoKQogICAgICAgICBl
bmQpCiBlbmQKIAorbWFjcm8gbG9hZENvbnN0YW50T3JWYXJpYWJsZVBheWxvYWRDZWxsKHNpemUs
IGluZGV4LCBwYXlsb2FkLCB0ZW1wMSwgdGVtcDIsIHNsb3cpCisgICAgc2l6ZShGaXJzdENvbnN0
YW50UmVnaXN0ZXJJbmRleE5hcnJvdywgRmlyc3RDb25zdGFudFJlZ2lzdGVySW5kZXhXaWRlMTYs
IEZpcnN0Q29uc3RhbnRSZWdpc3RlckluZGV4V2lkZTMyLCBtYWNybyAoRmlyc3RDb25zdGFudFJl
Z2lzdGVySW5kZXgpCisgICAgICAgIGJpZ3RlcSBpbmRleCwgRmlyc3RDb25zdGFudFJlZ2lzdGVy
SW5kZXgsIC5jb25zdGFudAorICAgICAgICAjIFRPRE86IHNob3VsZCB3ZSBibG9jayBib3RoIGJy
YW5jaCBhbmQgbG9hZD8KKyAgICAgICAgYnJhbmNoSWZOb3RDZWxsKFRhZ09mZnNldFtjZnIsIGlu
ZGV4LCA4XSwgc2xvdywgdGVtcDEsIHRlbXAyKQorICAgICAgICBsb2FkaSBQYXlsb2FkT2Zmc2V0
W2NmciwgaW5kZXgsIDhdLCBwYXlsb2FkCisgICAgICAgIGptcCAuZG9uZQorICAgIC5jb25zdGFu
dDoKKyAgICAgICAgbG9hZHAgQ29kZUJsb2NrW2Nmcl0sIHBheWxvYWQKKyAgICAgICAgbG9hZHAg
Q29kZUJsb2NrOjptX2NvbnN0YW50UmVnaXN0ZXJzICsgVmVjdG9yQnVmZmVyT2Zmc2V0W3BheWxv
YWRdLCBwYXlsb2FkCisgICAgICAgIHN1YnAgRmlyc3RDb25zdGFudFJlZ2lzdGVySW5kZXgsIGlu
ZGV4CisgICAgICAgICMgVE9ETzogc2hvdWxkIHdlIGJsb2NrIGJvdGggYnJhbmNoIGFuZCBsb2Fk
PworICAgICAgICBicmFuY2hJZk5vdENlbGwoVGFnT2Zmc2V0W3BheWxvYWQsIGluZGV4LCA4XSwg
c2xvdywgdGVtcDEsIHRlbXAyKQorICAgICAgICBsb2FkcCBQYXlsb2FkT2Zmc2V0W3BheWxvYWQs
IGluZGV4LCA4XSwgcGF5bG9hZAorICAgIC5kb25lOgorICAgIGVuZCkKK2VuZAorCiBtYWNybyB3
cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkKHNpemUsIGdldCwgY2VsbEZpZWxkTmFtZSwg
cmVsb2FkQWZ0ZXJTbG93UGF0aCkKICAgICBnZXQoY2VsbEZpZWxkTmFtZSwgdDEpCi0gICAgbG9h
ZENvbnN0YW50T3JWYXJpYWJsZVBheWxvYWQoc2l6ZSwgdDEsIENlbGxUYWcsIHQyLCAud3JpdGVC
YXJyaWVyRG9uZSkKKyAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlUGF5bG9hZENlbGwoc2l6ZSwg
dDEsIHQyLCB0MywgdDYsIC53cml0ZUJhcnJpZXJEb25lKQogICAgIHdyaXRlQmFycmllck9uQ2Vs
bFdpdGhSZWxvYWQodDIsIHJlbG9hZEFmdGVyU2xvd1BhdGgpCiAud3JpdGVCYXJyaWVyRG9uZToK
IGVuZAogCiBtYWNybyB3cml0ZUJhcnJpZXJPbk9wZXJhbmQoc2l6ZSwgZ2V0LCBjZWxsRmllbGRO
YW1lKQogICAgIGdldChjZWxsRmllbGROYW1lLCB0MSkKLSAgICBsb2FkQ29uc3RhbnRPclZhcmlh
YmxlUGF5bG9hZChzaXplLCB0MSwgQ2VsbFRhZywgdDIsIC53cml0ZUJhcnJpZXJEb25lKQorICAg
IGxvYWRDb25zdGFudE9yVmFyaWFibGVQYXlsb2FkQ2VsbChzaXplLCB0MSwgdDIsIHQzLCB0Niwg
LndyaXRlQmFycmllckRvbmUpCiAgICAgd3JpdGVCYXJyaWVyT25DZWxsV2l0aFJlbG9hZCh0Miwg
bWFjcm8oKSBlbmQpCiAud3JpdGVCYXJyaWVyRG9uZToKIGVuZApAQCAtNjY4LDcgKzczOSw3IEBA
IGVuZAogbWFjcm8gd3JpdGVCYXJyaWVyT25PcGVyYW5kcyhzaXplLCBnZXQsIGNlbGxGaWVsZE5h
bWUsIHZhbHVlRmllbGROYW1lKQogICAgIGdldCh2YWx1ZUZpZWxkTmFtZSwgdDEpCiAgICAgbG9h
ZENvbnN0YW50T3JWYXJpYWJsZVRhZyhzaXplLCB0MSwgdDApCi0gICAgYmluZXEgdDAsIENlbGxU
YWcsIC53cml0ZUJhcnJpZXJEb25lCisgICAgYnJhbmNoSWZOb3RDZWxsKHQwLCAud3JpdGVCYXJy
aWVyRG9uZSwgdDIsIHQzKQogCiAgICAgd3JpdGVCYXJyaWVyT25PcGVyYW5kKHNpemUsIGdldCwg
Y2VsbEZpZWxkTmFtZSkKIC53cml0ZUJhcnJpZXJEb25lOgpAQCAtNjc3LDcgKzc0OCw3IEBAIGVu
ZAogbWFjcm8gd3JpdGVCYXJyaWVyT25HbG9iYWwoc2l6ZSwgZ2V0LCB2YWx1ZUZpZWxkTmFtZSwg
bG9hZE1hY3JvKQogICAgIGdldCh2YWx1ZUZpZWxkTmFtZSwgdDEpCiAgICAgbG9hZENvbnN0YW50
T3JWYXJpYWJsZVRhZyhzaXplLCB0MSwgdDApCi0gICAgYmluZXEgdDAsIENlbGxUYWcsIC53cml0
ZUJhcnJpZXJEb25lCisgICAgYnJhbmNoSWZOb3RDZWxsKHQwLCAud3JpdGVCYXJyaWVyRG9uZSwg
dDIsIHQzKQogCiAgICAgbG9hZE1hY3JvKHQzKQogCkBAIC04NDUsNyArOTE2LDcgQEAgZW5kKQog
CiBsbGludE9wV2l0aE1ldGFkYXRhKG9wX3RvX3RoaXMsIE9wVG9UaGlzLCBtYWNybyAoc2l6ZSwg
Z2V0LCBkaXNwYXRjaCwgbWV0YWRhdGEsIHJldHVybikKICAgICBnZXQobV9zcmNEc3QsIHQwKQot
ICAgIGJpbmVxIFRhZ09mZnNldFtjZnIsIHQwLCA4XSwgQ2VsbFRhZywgLm9wVG9UaGlzU2xvdwor
ICAgIGJyYW5jaElmTm90Q2VsbChUYWdPZmZzZXRbY2ZyLCB0MCwgOF0sIC5vcFRvVGhpc1Nsb3cs
IHQyLCB0MykKICAgICBsb2FkaSBQYXlsb2FkT2Zmc2V0W2NmciwgdDAsIDhdLCB0MAogICAgIGJi
bmVxIEpTQ2VsbDo6bV90eXBlW3QwXSwgRmluYWxPYmplY3RUeXBlLCAub3BUb1RoaXNTbG93CiAg
ICAgbWV0YWRhdGEodDIsIHQzKQpAQCAtODk3LDcgKzk2OCw3IEBAIG1hY3JvIGVxdWFsaXR5Q29t
cGFyaXNvbk9wKG9wY29kZU5hbWUsIG9wY29kZVN0cnVjdCwgaW50ZWdlckNvbXBhcmlzb24pCiAg
ICAgICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGUoc2l6ZSwgdDIsIHQzLCB0MSkKICAgICAgICAg
bG9hZENvbnN0YW50T3JWYXJpYWJsZTJSZWcoc2l6ZSwgdDAsIHQyLCB0MCkKICAgICAgICAgYmlu
ZXEgdDIsIHQzLCAub3BFcVNsb3cKLSAgICAgICAgYmllcSB0MiwgQ2VsbFRhZywgLm9wRXFTbG93
CisgICAgICAgIGJyYW5jaElmQ2VsbCh0MiwgLm9wRXFTbG93LCB0MywgdDUpCiAgICAgICAgIGJp
YiB0MiwgTG93ZXN0VGFnLCAub3BFcVNsb3cKICAgICAgICAgaW50ZWdlckNvbXBhcmlzb24odDAs
IHQxLCB0MCkKICAgICAgICAgcmV0dXJuKEJvb2xlYW5UYWcsIHQwKQpAQCAtOTE2LDcgKzk4Nyw3
IEBAIG1hY3JvIGVxdWFsaXR5SnVtcE9wKG9wY29kZU5hbWUsIG9wY29kZVN0cnVjdCwgaW50ZWdl
ckNvbXBhcmlzb24pCiAgICAgICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGUoc2l6ZSwgdDIsIHQz
LCB0MSkKICAgICAgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZTJSZWcoc2l6ZSwgdDAsIHQyLCB0
MCkKICAgICAgICAgYmluZXEgdDIsIHQzLCAuc2xvdwotICAgICAgICBiaWVxIHQyLCBDZWxsVGFn
LCAuc2xvdworICAgICAgICBicmFuY2hJZkNlbGwodDIsIC5zbG93LCB0MywgdDUpCiAgICAgICAg
IGJpYiB0MiwgTG93ZXN0VGFnLCAuc2xvdwogICAgICAgICBpbnRlZ2VyQ29tcGFyaXNvbih0MCwg
dDEsIC5qdW1wVGFyZ2V0KQogICAgICAgICBkaXNwYXRjaCgpCkBAIC05MzcsNyArMTAwOCw3IEBA
IG1hY3JvIGVxdWFsTnVsbENvbXBhcmlzb25PcChvcGNvZGVOYW1lLCBvcGNvZGVTdHJ1Y3QsIGZu
KQogICAgICAgICBhc3NlcnROb3RDb25zdGFudChzaXplLCB0MCkKICAgICAgICAgbG9hZGkgVGFn
T2Zmc2V0W2NmciwgdDAsIDhdLCB0MQogICAgICAgICBsb2FkaSBQYXlsb2FkT2Zmc2V0W2Nmciwg
dDAsIDhdLCB0MAotICAgICAgICBiaW5lcSB0MSwgQ2VsbFRhZywgLm9wRXFOdWxsSW1tZWRpYXRl
CisgICAgICAgIGJyYW5jaElmTm90Q2VsbCh0MSwgLm9wRXFOdWxsSW1tZWRpYXRlLCB0MiwgdDMp
CiAgICAgICAgIGJ0Ym56IEpTQ2VsbDo6bV9mbGFnc1t0MF0sIE1hc3F1ZXJhZGVzQXNVbmRlZmlu
ZWQsIC5vcEVxTnVsbE1hc3F1ZXJhZGVzQXNVbmRlZmluZWQKICAgICAgICAgbW92ZSAwLCB0MQog
ICAgICAgICBqbXAgLm9wRXFOdWxsTm90SW1tZWRpYXRlCkBAIC05ODAsNyArMTA1MSw3IEBAIG1h
Y3JvIHN0cmljdEVxT3Aob3Bjb2RlTmFtZSwgb3Bjb2RlU3RydWN0LCBlcXVhbGl0eU9wZXJhdGlv
bikKICAgICAgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZTJSZWcoc2l6ZSwgdDAsIHQyLCB0MCkK
ICAgICAgICAgYmluZXEgdDIsIHQzLCAuc2xvdwogICAgICAgICBiaWIgdDIsIExvd2VzdFRhZywg
LnNsb3cKLSAgICAgICAgYmluZXEgdDIsIENlbGxUYWcsIC5ub3RTdHJpbmdPclN5bWJvbAorICAg
ICAgICBicmFuY2hJZk5vdENlbGwodDIsIC5ub3RTdHJpbmdPclN5bWJvbCwgdDMsIHQ1KQogICAg
ICAgICBiYmFlcSBKU0NlbGw6Om1fdHlwZVt0MF0sIE9iamVjdFR5cGUsIC5ub3RTdHJpbmdPclN5
bWJvbAogICAgICAgICBiYmIgSlNDZWxsOjptX3R5cGVbdDFdLCBPYmplY3RUeXBlLCAuc2xvdwog
ICAgIC5ub3RTdHJpbmdPclN5bWJvbDoKQEAgLTEwMDIsNyArMTA3Myw3IEBAIG1hY3JvIHN0cmlj
dEVxdWFsaXR5SnVtcE9wKG9wY29kZU5hbWUsIG9wY29kZVN0cnVjdCwgZXF1YWxpdHlPcGVyYXRp
b24pCiAgICAgICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGUyUmVnKHNpemUsIHQwLCB0MiwgdDAp
CiAgICAgICAgIGJpbmVxIHQyLCB0MywgLnNsb3cKICAgICAgICAgYmliIHQyLCBMb3dlc3RUYWcs
IC5zbG93Ci0gICAgICAgIGJpbmVxIHQyLCBDZWxsVGFnLCAubm90U3RyaW5nT3JTeW1ib2wKKyAg
ICAgICAgYnJhbmNoSWZOb3RDZWxsKHQyLCAubm90U3RyaW5nT3JTeW1ib2wsIHQzLCB0NSkKICAg
ICAgICAgYmJhZXEgSlNDZWxsOjptX3R5cGVbdDBdLCBPYmplY3RUeXBlLCAubm90U3RyaW5nT3JT
eW1ib2wKICAgICAgICAgYmJiIEpTQ2VsbDo6bV90eXBlW3QxXSwgT2JqZWN0VHlwZSwgLnNsb3cK
ICAgICAubm90U3RyaW5nT3JTeW1ib2w6CkBAIC0xMDgzLDcgKzExNTQsNyBAQCBlbmQpCiBsbGlu
dE9wV2l0aFJldHVybihvcF90b19zdHJpbmcsIE9wVG9TdHJpbmcsIG1hY3JvIChzaXplLCBnZXQs
IGRpc3BhdGNoLCByZXR1cm4pCiAgICAgZ2V0KG1fb3BlcmFuZCwgdDApCiAgICAgbG9hZENvbnN0
YW50T3JWYXJpYWJsZShzaXplLCB0MCwgdDIsIHQzKQotICAgIGJpbmVxIHQyLCBDZWxsVGFnLCAu
b3BUb1N0cmluZ1Nsb3cKKyAgICBicmFuY2hJZk5vdENlbGwodDIsIC5vcFRvU3RyaW5nU2xvdywg
dDEsIHQ1KQogICAgIGJibmVxIEpTQ2VsbDo6bV90eXBlW3QzXSwgU3RyaW5nVHlwZSwgLm9wVG9T
dHJpbmdTbG93CiAub3BUb1N0cmluZ0lzU3RyaW5nOgogICAgIHJldHVybih0MiwgdDMpCkBAIC0x
MDk3LDcgKzExNjgsNyBAQCBlbmQpCiBsbGludE9wV2l0aFByb2ZpbGUob3BfdG9fb2JqZWN0LCBP
cFRvT2JqZWN0LCBtYWNybyAoc2l6ZSwgZ2V0LCBkaXNwYXRjaCwgcmV0dXJuKQogICAgIGdldCht
X29wZXJhbmQsIHQwKQogICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGUoc2l6ZSwgdDAsIHQyLCB0
MykKLSAgICBiaW5lcSB0MiwgQ2VsbFRhZywgLm9wVG9PYmplY3RTbG93CisgICAgYnJhbmNoSWZO
b3RDZWxsKHQyLCAub3BUb09iamVjdFNsb3csIHQxLCB0NSkKICAgICBiYmIgSlNDZWxsOjptX3R5
cGVbdDNdLCBPYmplY3RUeXBlLCAub3BUb09iamVjdFNsb3cKICAgICByZXR1cm4odDIsIHQzKQog
CkBAIC0xMzM3LDkgKzE0MDgsOSBAQCBsbGludE9wKG9wX292ZXJyaWRlc19oYXNfaW5zdGFuY2Us
IE9wT3ZlcnJpZGVzSGFzSW5zdGFuY2UsIG1hY3JvIChzaXplLCBnZXQsIGRpcwogCiAgICAgIyBG
aXJzdCBjaGVjayBpZiBoYXNJbnN0YW5jZVZhbHVlIGlzIHRoZSBvbmUgb24gRnVuY3Rpb24ucHJv
dG90eXBlW1N5bWJvbC5oYXNJbnN0YW5jZV0KICAgICBnZXQobV9oYXNJbnN0YW5jZVZhbHVlLCB0
MCkKLSAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlUGF5bG9hZChzaXplLCB0MCwgQ2VsbFRhZywg
dDIsIC5vcE92ZXJyaWRlc2hhc0luc3RhbmNlVmFsdWVOb3RDZWxsKQorICAgIGxvYWRDb25zdGFu
dE9yVmFyaWFibGVQYXlsb2FkQ2VsbChzaXplLCB0MCwgdDIsIHQ1LCB0NiwgLm9wT3ZlcnJpZGVz
aGFzSW5zdGFuY2VWYWx1ZU5vdENlbGwpCiAgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZShzaXpl
LCB0MCwgdDEsIHQyKQotICAgIGJpbmVxIHQxLCBDZWxsVGFnLCAub3BPdmVycmlkZXNoYXNJbnN0
YW5jZVZhbHVlTm90Q2VsbAorICAgIGJyYW5jaElmTm90Q2VsbCh0MSwgLm9wT3ZlcnJpZGVzaGFz
SW5zdGFuY2VWYWx1ZU5vdENlbGwsIHQ1LCB0NikKIAogICAgICMgV2UgZG9uJ3QgbmVlZCBoYXNJ
bnN0YW5jZVZhbHVlJ3MgdGFnIHJlZ2lzdGVyIGFueW1vcmUuCiAgICAgbG9hZHAgQ29kZUJsb2Nr
W2Nmcl0sIHQxCkBAIC0xMzcyLDcgKzE0NDMsNyBAQCBlbmQpCiBsbGludE9wV2l0aFJldHVybihv
cF90eXBlb2ZfaXNfdW5kZWZpbmVkLCBPcFR5cGVvZklzVW5kZWZpbmVkLCBtYWNybyAoc2l6ZSwg
Z2V0LCBkaXNwYXRjaCwgcmV0dXJuKQogICAgIGdldChtX29wZXJhbmQsIHQxKQogICAgIGxvYWRD
b25zdGFudE9yVmFyaWFibGUoc2l6ZSwgdDEsIHQyLCB0MykKLSAgICBiaWVxIHQyLCBDZWxsVGFn
LCAub3BJc1VuZGVmaW5lZENlbGwKKyAgICBicmFuY2hJZkNlbGwodDIsIC5vcElzVW5kZWZpbmVk
Q2VsbCwgdDUsIHQ2KQogICAgIGNpZXEgdDIsIFVuZGVmaW5lZFRhZywgdDMKICAgICByZXR1cm4o
Qm9vbGVhblRhZywgdDMpCiAub3BJc1VuZGVmaW5lZENlbGw6CkBAIC0xNDEzLDcgKzE0ODQsNyBA
QCBlbmQpCiBsbGludE9wV2l0aFJldHVybihvcF9pc19jZWxsX3dpdGhfdHlwZSwgT3BJc0NlbGxX
aXRoVHlwZSwgbWFjcm8gKHNpemUsIGdldCwgZGlzcGF0Y2gsIHJldHVybikKICAgICBnZXQobV9v
cGVyYW5kLCB0MSkKICAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlKHNpemUsIHQxLCB0MCwgdDMp
Ci0gICAgYmluZXEgdDAsIENlbGxUYWcsIC5ub3RDZWxsQ2FzZQorICAgIGJyYW5jaElmTm90Q2Vs
bCh0MCwgLm5vdENlbGxDYXNlLCB0MiwgdDUpCiAgICAgZ2V0dShzaXplLCBPcElzQ2VsbFdpdGhU
eXBlLCBtX3R5cGUsIHQwKQogICAgIGNiZXEgSlNDZWxsOjptX3R5cGVbdDNdLCB0MCwgdDEKICAg
ICByZXR1cm4oQm9vbGVhblRhZywgdDEpCkBAIC0xNDI1LDcgKzE0OTYsNyBAQCBlbmQpCiBsbGlu
dE9wV2l0aFJldHVybihvcF9pc19vYmplY3QsIE9wSXNPYmplY3QsIG1hY3JvIChzaXplLCBnZXQs
IGRpc3BhdGNoLCByZXR1cm4pCiAgICAgZ2V0KG1fb3BlcmFuZCwgdDEpCiAgICAgbG9hZENvbnN0
YW50T3JWYXJpYWJsZShzaXplLCB0MSwgdDAsIHQzKQotICAgIGJpbmVxIHQwLCBDZWxsVGFnLCAu
b3BJc09iamVjdE5vdENlbGwKKyAgICBicmFuY2hJZk5vdENlbGwodDAsIC5vcElzT2JqZWN0Tm90
Q2VsbCwgdDIsIHQ1KQogICAgIGNiYWVxIEpTQ2VsbDo6bV90eXBlW3QzXSwgT2JqZWN0VHlwZSwg
dDEKICAgICByZXR1cm4oQm9vbGVhblRhZywgdDEpCiAub3BJc09iamVjdE5vdENlbGw6CkBAIC0x
NDc4LDcgKzE1NDksNyBAQCBsbGludE9wV2l0aE1ldGFkYXRhKG9wX3RyeV9nZXRfYnlfaWQsIE9w
VHJ5R2V0QnlJZCwgbWFjcm8gKHNpemUsIGdldCwgZGlzcGF0Y2gsCiAgICAgbWV0YWRhdGEodDUs
IHQwKQogICAgIGdldChtX2Jhc2UsIHQwKQogICAgIGxvYWRpIE9wVHJ5R2V0QnlJZDo6TWV0YWRh
dGE6Om1fc3RydWN0dXJlSURbdDVdLCB0MQotICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGVQYXls
b2FkKHNpemUsIHQwLCBDZWxsVGFnLCB0MywgLm9wVHJ5R2V0QnlJZFNsb3cpCisgICAgbG9hZENv
bnN0YW50T3JWYXJpYWJsZVBheWxvYWRDZWxsKHNpemUsIHQwLCB0MywgdDIsIHQ2LCAub3BUcnlH
ZXRCeUlkU2xvdykKICAgICBsb2FkaSBPcFRyeUdldEJ5SWQ6Ok1ldGFkYXRhOjptX29mZnNldFt0
NV0sIHQyCiAgICAgYmluZXEgSlNDZWxsOjptX3N0cnVjdHVyZUlEW3QzXSwgdDEsIC5vcFRyeUdl
dEJ5SWRTbG93CiAgICAgbG9hZFByb3BlcnR5QXRWYXJpYWJsZU9mZnNldCh0MiwgdDMsIHQwLCB0
MSkKQEAgLTE0OTQsNyArMTU2NSw3IEBAIGxsaW50T3BXaXRoTWV0YWRhdGEob3BfZ2V0X2J5X2lk
X2RpcmVjdCwgT3BHZXRCeUlkRGlyZWN0LCBtYWNybyAoc2l6ZSwgZ2V0LCBkaXNwCiAgICAgbWV0
YWRhdGEodDUsIHQwKQogICAgIGdldChtX2Jhc2UsIHQwKQogICAgIGxvYWRpIE9wR2V0QnlJZERp
cmVjdDo6TWV0YWRhdGE6Om1fc3RydWN0dXJlSURbdDVdLCB0MQotICAgIGxvYWRDb25zdGFudE9y
VmFyaWFibGVQYXlsb2FkKHNpemUsIHQwLCBDZWxsVGFnLCB0MywgLm9wR2V0QnlJZERpcmVjdFNs
b3cpCisgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZVBheWxvYWRDZWxsKHNpemUsIHQwLCB0Mywg
dDIsIHQ2LCAub3BHZXRCeUlkRGlyZWN0U2xvdykKICAgICBsb2FkaSBPcEdldEJ5SWREaXJlY3Q6
Ok1ldGFkYXRhOjptX29mZnNldFt0NV0sIHQyCiAgICAgYmluZXEgSlNDZWxsOjptX3N0cnVjdHVy
ZUlEW3QzXSwgdDEsIC5vcEdldEJ5SWREaXJlY3RTbG93CiAgICAgbG9hZFByb3BlcnR5QXRWYXJp
YWJsZU9mZnNldCh0MiwgdDMsIHQwLCB0MSkKQEAgLTE1NjIsNyArMTYzMyw3IEBAIGxsaW50T3BX
aXRoTWV0YWRhdGEob3BfZ2V0X2J5X2lkLCBPcEdldEJ5SWQsIG1hY3JvIChzaXplLCBnZXQsIGRp
c3BhdGNoLCBtZXRhZGF0CiAub3BHZXRCeUlkUHJvdG9Mb2FkOgogICAgIGJibmVxIHQxLCBjb25z
dGV4cHIgR2V0QnlJZE1vZGU6OlByb3RvTG9hZCwgLm9wR2V0QnlJZEFycmF5TGVuZ3RoCiAgICAg
bG9hZGkgT3BHZXRCeUlkOjpNZXRhZGF0YTo6bV9tb2RlTWV0YWRhdGEucHJvdG9Mb2FkTW9kZS5z
dHJ1Y3R1cmVJRFt0NV0sIHQxCi0gICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZVBheWxvYWQoc2l6
ZSwgdDAsIENlbGxUYWcsIHQzLCAub3BHZXRCeUlkU2xvdykKKyAgICBsb2FkQ29uc3RhbnRPclZh
cmlhYmxlUGF5bG9hZENlbGwoc2l6ZSwgdDAsIHQzLCB0MiwgdDYsIC5vcEdldEJ5SWRTbG93KQog
ICAgIGxvYWRpcyBPcEdldEJ5SWQ6Ok1ldGFkYXRhOjptX21vZGVNZXRhZGF0YS5wcm90b0xvYWRN
b2RlLmNhY2hlZE9mZnNldFt0NV0sIHQyCiAgICAgYmluZXEgSlNDZWxsOjptX3N0cnVjdHVyZUlE
W3QzXSwgdDEsIC5vcEdldEJ5SWRTbG93CiAgICAgbG9hZHAgT3BHZXRCeUlkOjpNZXRhZGF0YTo6
bV9tb2RlTWV0YWRhdGEucHJvdG9Mb2FkTW9kZS5jYWNoZWRTbG90W3Q1XSwgdDMKQEAgLTE1NzIs
NyArMTY0Myw3IEBAIGxsaW50T3BXaXRoTWV0YWRhdGEob3BfZ2V0X2J5X2lkLCBPcEdldEJ5SWQs
IG1hY3JvIChzaXplLCBnZXQsIGRpc3BhdGNoLCBtZXRhZGF0CiAKIC5vcEdldEJ5SWRBcnJheUxl
bmd0aDoKICAgICBiYm5lcSB0MSwgY29uc3RleHByIEdldEJ5SWRNb2RlOjpBcnJheUxlbmd0aCwg
Lm9wR2V0QnlJZFVuc2V0Ci0gICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZVBheWxvYWQoc2l6ZSwg
dDAsIENlbGxUYWcsIHQzLCAub3BHZXRCeUlkU2xvdykKKyAgICBsb2FkQ29uc3RhbnRPclZhcmlh
YmxlUGF5bG9hZENlbGwoc2l6ZSwgdDAsIHQzLCB0MiwgdDYsIC5vcEdldEJ5SWRTbG93KQogICAg
IG1vdmUgdDMsIHQyCiAgICAgYXJyYXlQcm9maWxlKE9wR2V0QnlJZDo6TWV0YWRhdGE6Om1fbW9k
ZU1ldGFkYXRhLmFycmF5TGVuZ3RoTW9kZS5hcnJheVByb2ZpbGUsIHQyLCB0NSwgdDApCiAgICAg
YnRpeiB0MiwgSXNBcnJheSwgLm9wR2V0QnlJZFNsb3cKQEAgLTE1ODYsMTQgKzE2NTcsMTQgQEAg
bGxpbnRPcFdpdGhNZXRhZGF0YShvcF9nZXRfYnlfaWQsIE9wR2V0QnlJZCwgbWFjcm8gKHNpemUs
IGdldCwgZGlzcGF0Y2gsIG1ldGFkYXQKIC5vcEdldEJ5SWRVbnNldDoKICAgICBiYm5lcSB0MSwg
Y29uc3RleHByIEdldEJ5SWRNb2RlOjpVbnNldCwgLm9wR2V0QnlJZERlZmF1bHQKICAgICBsb2Fk
aSBPcEdldEJ5SWQ6Ok1ldGFkYXRhOjptX21vZGVNZXRhZGF0YS51bnNldE1vZGUuc3RydWN0dXJl
SURbdDVdLCB0MQotICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGVQYXlsb2FkKHNpemUsIHQwLCBD
ZWxsVGFnLCB0MywgLm9wR2V0QnlJZFNsb3cpCisgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZVBh
eWxvYWRDZWxsKHNpemUsIHQwLCB0MywgdDIsIHQ2LCAub3BHZXRCeUlkU2xvdykKICAgICBiaW5l
cSBKU0NlbGw6Om1fc3RydWN0dXJlSURbdDNdLCB0MSwgLm9wR2V0QnlJZFNsb3cKICAgICB2YWx1
ZVByb2ZpbGUoT3BHZXRCeUlkLCBtX3Byb2ZpbGUsIHQ1LCBVbmRlZmluZWRUYWcsIDApCiAgICAg
cmV0dXJuKFVuZGVmaW5lZFRhZywgMCkKIAogLm9wR2V0QnlJZERlZmF1bHQ6CiAgICAgbG9hZGkg
T3BHZXRCeUlkOjpNZXRhZGF0YTo6bV9tb2RlTWV0YWRhdGEuZGVmYXVsdE1vZGUuc3RydWN0dXJl
SURbdDVdLCB0MQotICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGVQYXlsb2FkKHNpemUsIHQwLCBD
ZWxsVGFnLCB0MywgLm9wR2V0QnlJZFNsb3cpCisgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZVBh
eWxvYWRDZWxsKHNpemUsIHQwLCB0MywgdDIsIHQ2LCAub3BHZXRCeUlkU2xvdykKICAgICBsb2Fk
aXMgT3BHZXRCeUlkOjpNZXRhZGF0YTo6bV9tb2RlTWV0YWRhdGEuZGVmYXVsdE1vZGUuY2FjaGVk
T2Zmc2V0W3Q1XSwgdDIKICAgICBiaW5lcSBKU0NlbGw6Om1fc3RydWN0dXJlSURbdDNdLCB0MSwg
Lm9wR2V0QnlJZFNsb3cKICAgICBsb2FkUHJvcGVydHlBdFZhcmlhYmxlT2Zmc2V0KHQyLCB0Mywg
dDAsIHQxKQpAQCAtMTYxNyw3ICsxNjg4LDcgQEAgbGxpbnRPcFdpdGhNZXRhZGF0YShvcF9wdXRf
YnlfaWQsIE9wUHV0QnlJZCwgbWFjcm8gKHNpemUsIGdldCwgZGlzcGF0Y2gsIG1ldGFkYXQKICAg
ICB3cml0ZUJhcnJpZXJPbk9wZXJhbmRzKHNpemUsIGdldCwgbV9iYXNlLCBtX3ZhbHVlKQogICAg
IG1ldGFkYXRhKHQ1LCB0MykKICAgICBnZXQobV9iYXNlLCB0MykKLSAgICBsb2FkQ29uc3RhbnRP
clZhcmlhYmxlUGF5bG9hZChzaXplLCB0MywgQ2VsbFRhZywgdDAsIC5vcFB1dEJ5SWRTbG93KQor
ICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGVQYXlsb2FkQ2VsbChzaXplLCB0MywgdDAsIHQxLCB0
MiwgLm9wUHV0QnlJZFNsb3cpCiAgICAgbG9hZGkgSlNDZWxsOjptX3N0cnVjdHVyZUlEW3QwXSwg
dDIKICAgICBiaW5lcSB0MiwgT3BQdXRCeUlkOjpNZXRhZGF0YTo6bV9vbGRTdHJ1Y3R1cmVJRFt0
NV0sIC5vcFB1dEJ5SWRTbG93CiAKQEAgLTE3MDQsNyArMTc3NSw3IEBAIGxsaW50T3BXaXRoTWV0
YWRhdGEob3BfZ2V0X2J5X3ZhbCwgT3BHZXRCeVZhbCwgbWFjcm8gKHNpemUsIGdldCwgZGlzcGF0
Y2gsIG1ldGFkCiAKICAgICBtZXRhZGF0YSh0NSwgdDIpCiAgICAgZ2V0KG1fYmFzZSwgdDIpCi0g
ICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZVBheWxvYWQoc2l6ZSwgdDIsIENlbGxUYWcsIHQwLCAu
b3BHZXRCeVZhbFNsb3cpCisgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZVBheWxvYWRDZWxsKHNp
emUsIHQyLCB0MCwgdDEsIHQ2LCAub3BHZXRCeVZhbFNsb3cpCiAgICAgbW92ZSB0MCwgdDIKICAg
ICBhcnJheVByb2ZpbGUoT3BHZXRCeVZhbDo6TWV0YWRhdGE6Om1fYXJyYXlQcm9maWxlLCB0Miwg
dDUsIHQxKQogICAgIGdldChtX3Byb3BlcnR5LCB0MykKQEAgLTE3NzIsNyArMTg0Myw3IEBAIGxs
aW50T3BXaXRoTWV0YWRhdGEob3BfZ2V0X3ByaXZhdGVfbmFtZSwgT3BHZXRQcml2YXRlTmFtZSwg
bWFjcm8gKHNpemUsIGdldCwgZGlzCiAKICAgICBnZXQobV9iYXNlLCB0MCkKICAgICBsb2FkaSBP
cEdldFByaXZhdGVOYW1lOjpNZXRhZGF0YTo6bV9zdHJ1Y3R1cmVJRFt0NV0sIHQxCi0gICAgbG9h
ZENvbnN0YW50T3JWYXJpYWJsZVBheWxvYWQoc2l6ZSwgdDAsIENlbGxUYWcsIHQzLCAub3BHZXRQ
cml2YXRlTmFtZVNsb3cpCisgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZVBheWxvYWRDZWxsKHNp
emUsIHQwLCB0MywgdDIsIHQ2LCAub3BHZXRQcml2YXRlTmFtZVNsb3cpCiAgICAgbG9hZGkgT3BH
ZXRQcml2YXRlTmFtZTo6TWV0YWRhdGE6Om1fb2Zmc2V0W3Q1XSwgdDIKICAgICBiaW5lcSBKU0Nl
bGw6Om1fc3RydWN0dXJlSURbdDNdLCB0MSwgLm9wR2V0UHJpdmF0ZU5hbWVTbG93CiAKQEAgLTE3
ODgsOSArMTg1OSw5IEBAIGVuZCkKIGxsaW50T3BXaXRoTWV0YWRhdGEob3BfcHV0X3ByaXZhdGVf
bmFtZSwgT3BQdXRQcml2YXRlTmFtZSwgbWFjcm8gKHNpemUsIGdldCwgZGlzcGF0Y2gsIG1ldGFk
YXRhLCByZXR1cm4pCiAgICAgd3JpdGVCYXJyaWVyT25PcGVyYW5kcyhzaXplLCBnZXQsIG1fYmFz
ZSwgbV92YWx1ZSkKICAgICBnZXQobV9iYXNlLCB0MykKLSAgICBsb2FkQ29uc3RhbnRPclZhcmlh
YmxlUGF5bG9hZChzaXplLCB0MywgQ2VsbFRhZywgdDAsIC5vcFB1dFByaXZhdGVOYW1lU2xvdykK
KyAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlUGF5bG9hZENlbGwoc2l6ZSwgdDMsIHQwLCB0Miwg
dDYsIC5vcFB1dFByaXZhdGVOYW1lU2xvdykKICAgICBnZXQobV9wcm9wZXJ0eSwgdDMpCi0gICAg
bG9hZENvbnN0YW50T3JWYXJpYWJsZVBheWxvYWQoc2l6ZSwgdDMsIENlbGxUYWcsIHQxLCAub3BQ
dXRQcml2YXRlTmFtZVNsb3cpCisgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZVBheWxvYWRDZWxs
KHNpemUsIHQzLCB0MSwgdDIsIHQ2LCAub3BQdXRQcml2YXRlTmFtZVNsb3cpCiAgICAgbWV0YWRh
dGEodDUsIHQyKQogICAgIGxvYWRpIE9wUHV0UHJpdmF0ZU5hbWU6Ok1ldGFkYXRhOjptX29sZFN0
cnVjdHVyZUlEW3Q1XSwgdDIKICAgICBiaW5lcSB0MiwgSlNDZWxsOjptX3N0cnVjdHVyZUlEW3Qw
XSwgLm9wUHV0UHJpdmF0ZU5hbWVTbG93CkBAIC0xODEyLDcgKzE4ODMsNyBAQCBsbGludE9wV2l0
aE1ldGFkYXRhKG9wX3B1dF9wcml2YXRlX25hbWUsIE9wUHV0UHJpdmF0ZU5hbWUsIG1hY3JvIChz
aXplLCBnZXQsIGRpcwogICAgICAgICBtZXRhZGF0YSh0NSwgdDEpCiAgICAgICAgICMgUmVsb2Fk
IGJhc2UgaW50byB0MAogICAgICAgICBnZXQobV9iYXNlLCB0MSkKLSAgICAgICAgbG9hZENvbnN0
YW50T3JWYXJpYWJsZVBheWxvYWQoc2l6ZSwgdDEsIENlbGxUYWcsIHQwLCAub3BQdXRQcml2YXRl
TmFtZVNsb3cpCisgICAgICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGVQYXlsb2FkQ2VsbChzaXpl
LCB0MSwgdDAsIHQyLCB0MywgLm9wUHV0UHJpdmF0ZU5hbWVTbG93KQogICAgIGVuZCkKIAogLm9w
UHV0Tm90VHJhbnNpdGlvbjoKQEAgLTE4NDgsNyArMTkxOSw3IEBAIG1hY3JvIHB1dEJ5VmFsT3Ao
b3Bjb2RlTmFtZSwgb3Bjb2RlU3RydWN0LCBvc3JFeGl0UG9pbnQpCiAgICAgICAgIHdyaXRlQmFy
cmllck9uT3BlcmFuZHMoc2l6ZSwgZ2V0LCBtX2Jhc2UsIG1fdmFsdWUpCiAgICAgICAgIG1ldGFk
YXRhKHQ1LCB0MCkKICAgICAgICAgZ2V0KG1fYmFzZSwgdDApCi0gICAgICAgIGxvYWRDb25zdGFu
dE9yVmFyaWFibGVQYXlsb2FkKHNpemUsIHQwLCBDZWxsVGFnLCB0MSwgLm9wUHV0QnlWYWxTbG93
KQorICAgICAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlUGF5bG9hZENlbGwoc2l6ZSwgdDAsIHQx
LCB0MiwgdDUsIC5vcFB1dEJ5VmFsU2xvdykKICAgICAgICAgbW92ZSB0MSwgdDIKICAgICAgICAg
YXJyYXlQcm9maWxlKCVvcGNvZGVTdHJ1Y3QlOjpNZXRhZGF0YTo6bV9hcnJheVByb2ZpbGUsIHQy
LCB0NSwgdDApCiAgICAgICAgIGdldChtX3Byb3BlcnR5LCB0MCkKQEAgLTE5NTUsNyArMjAyNiw3
IEBAIG1hY3JvIGVxdWFsTnVsbEp1bXBPcChvcGNvZGVOYW1lLCBvcGNvZGVTdHJ1Y3QsIGNlbGxI
YW5kbGVyLCBpbW1lZGlhdGVIYW5kbGVyKQogICAgICAgICBhc3NlcnROb3RDb25zdGFudChzaXpl
LCB0MCkKICAgICAgICAgbG9hZGkgVGFnT2Zmc2V0W2NmciwgdDAsIDhdLCB0MQogICAgICAgICBs
b2FkaSBQYXlsb2FkT2Zmc2V0W2NmciwgdDAsIDhdLCB0MAotICAgICAgICBiaW5lcSB0MSwgQ2Vs
bFRhZywgLmltbWVkaWF0ZQorICAgICAgICBicmFuY2hJZk5vdENlbGwodDEsIC5pbW1lZGlhdGUs
IHQyLCB0MykKICAgICAgICAgbG9hZGkgSlNDZWxsOjptX3N0cnVjdHVyZUlEW3QwXSwgdDIKICAg
ICAgICAgY2VsbEhhbmRsZXIodDIsIEpTQ2VsbDo6bV9mbGFnc1t0MF0sIC50YXJnZXQpCiAgICAg
ICAgIGRpc3BhdGNoKCkKQEAgLTIwMTMsNyArMjA4NCw3IEBAIGxsaW50T3BXaXRoUmV0dXJuKG9w
X2plcV9wdHIsIE9wSmVxUHRyLCBtYWNybyAoc2l6ZSwgZ2V0LCBkaXNwYXRjaCwgcmV0dXJuKQog
ICAgIGdldChtX3ZhbHVlLCB0MCkKICAgICBnZXQobV9zcGVjaWFsUG9pbnRlciwgdDEpCiAgICAg
bG9hZENvbnN0YW50KHNpemUsIHQxLCB0MywgdDIpCi0gICAgYmluZXEgVGFnT2Zmc2V0W2Nmciwg
dDAsIDhdLCBDZWxsVGFnLCAub3BKZXFQdHJGYWxsVGhyb3VnaAorICAgIGJyYW5jaElmTm90Q2Vs
bChUYWdPZmZzZXRbY2ZyLCB0MCwgOF0sIC5vcEplcVB0ckZhbGxUaHJvdWdoLCB0NSwgdDYpCiAg
ICAgYnBuZXEgUGF5bG9hZE9mZnNldFtjZnIsIHQwLCA4XSwgdDIsIC5vcEplcVB0ckZhbGxUaHJv
dWdoCiAub3BKZXFQdHJCcmFuY2g6CiAgICAgZ2V0KG1fdGFyZ2V0TGFiZWwsIHQwKQpAQCAtMjAy
Nyw3ICsyMDk4LDcgQEAgbGxpbnRPcFdpdGhNZXRhZGF0YShvcF9qbmVxX3B0ciwgT3BKbmVxUHRy
LCBtYWNybyAoc2l6ZSwgZ2V0LCBkaXNwYXRjaCwgbWV0YWRhdGEKICAgICBnZXQobV92YWx1ZSwg
dDApCiAgICAgZ2V0KG1fc3BlY2lhbFBvaW50ZXIsIHQxKQogICAgIGxvYWRDb25zdGFudChzaXpl
LCB0MSwgdDMsIHQyKQotICAgIGJpbmVxIFRhZ09mZnNldFtjZnIsIHQwLCA4XSwgQ2VsbFRhZywg
Lm9wSm5lcVB0ckJyYW5jaAorICAgIGJyYW5jaElmTm90Q2VsbChUYWdPZmZzZXRbY2ZyLCB0MCwg
OF0sIC5vcEpuZXFQdHJCcmFuY2gsIHQ1LCB0NikKICAgICBicGVxIFBheWxvYWRPZmZzZXRbY2Zy
LCB0MCwgOF0sIHQyLCAub3BKbmVxUHRyRmFsbFRocm91Z2gKIC5vcEpuZXFQdHJCcmFuY2g6CiAg
ICAgbWV0YWRhdGEodDUsIHQyKQpAQCAtMjE4Niw3ICsyMjU3LDcgQEAgbGxpbnRPcFdpdGhKdW1w
KG9wX3N3aXRjaF9jaGFyLCBPcFN3aXRjaENoYXIsIG1hY3JvIChzaXplLCBnZXQsIGp1bXAsIGRp
c3BhdGNoKQogICAgIGxvYWRwIFVubGlua2VkQ29kZUJsb2NrOjpSYXJlRGF0YTo6bV91bmxpbmtl
ZFN3aXRjaEp1bXBUYWJsZXMgKyBVbmxpbmtlZFNpbXBsZUp1bXBUYWJsZUZpeGVkVmVjdG9yOjpt
X3N0b3JhZ2VbdDJdLCB0MgogICAgIGFkZHAgKGNvbnN0ZXhwciAoVW5saW5rZWRTaW1wbGVKdW1w
VGFibGVGaXhlZFZlY3Rvcjo6U3RvcmFnZTo6b2Zmc2V0T2ZEYXRhKCkpKSwgdDIKICAgICBhZGRw
IHQzLCB0MgotICAgIGJpbmVxIHQxLCBDZWxsVGFnLCAub3BTd2l0Y2hDaGFyRmFsbFRocm91Z2gK
KyAgICBicmFuY2hJZk5vdENlbGwodDEsIC5vcFN3aXRjaENoYXJGYWxsVGhyb3VnaCwgdDMsIHQ1
KQogICAgIGJibmVxIEpTQ2VsbDo6bV90eXBlW3QwXSwgU3RyaW5nVHlwZSwgLm9wU3dpdGNoQ2hh
ckZhbGxUaHJvdWdoCiAgICAgbG9hZHAgSlNTdHJpbmc6Om1fZmliZXJbdDBdLCB0MQogICAgIGJ0
cG56IHQxLCBpc1JvcGVJblBvaW50ZXIsIC5vcFN3aXRjaE9uUm9wZQpAQCAtMjIyMSw3ICsyMjky
LDcgQEAgZW5kKQogbWFjcm8gYXJyYXlQcm9maWxlRm9yQ2FsbChvcGNvZGVTdHJ1Y3QsIGdldHUp
CiAgICAgZ2V0dShtX2FyZ3YsIHQzKQogICAgIG5lZ2kgdDMKLSAgICBiaW5lcSBUaGlzQXJndW1l
bnRPZmZzZXQgKyBUYWdPZmZzZXRbY2ZyLCB0MywgOF0sIENlbGxUYWcsIC5kb25lCisgICAgYnJh
bmNoSWZOb3RDZWxsKFRoaXNBcmd1bWVudE9mZnNldCArIFRhZ09mZnNldFtjZnIsIHQzLCA4XSwg
LmRvbmUsIHQwLCB0NikKICAgICBsb2FkaSBUaGlzQXJndW1lbnRPZmZzZXQgKyBQYXlsb2FkT2Zm
c2V0W2NmciwgdDMsIDhdLCB0MAogICAgIGxvYWRpIEpTQ2VsbDo6bV9zdHJ1Y3R1cmVJRFt0MF0s
IHQwCiAgICAgc3RvcmVpIHQwLCAlb3Bjb2RlU3RydWN0JTo6TWV0YWRhdGE6Om1fYXJyYXlQcm9m
aWxlLm1fbGFzdFNlZW5TdHJ1Y3R1cmVJRFt0NV0KQEAgLTIyNDksNyArMjMyMCw3IEBAIG1hY3Jv
IGNhbGxIZWxwZXIob3Bjb2RlTmFtZSwgc2xvd1BhdGgsIG9wY29kZVN0cnVjdCwgdmFsdWVQcm9m
aWxlTmFtZSwgZHN0VmlydHVhCiAgICAgbW92ZSB0Mywgc3AKICAgICBhZGRwIENhbGxlckZyYW1l
QW5kUENTaXplLCBzcAogCi0gICAgYmluZXEgdDEsIENlbGxUYWcsIC5vcENhbGxTbG93CisgICAg
YnJhbmNoSWZOb3RDZWxsKHQxLCAub3BDYWxsU2xvdywgdDIsIHQzKQogICAgIGxvYWRwICVvcGNv
ZGVTdHJ1Y3QlOjpNZXRhZGF0YTo6bV9jYWxsTGlua0luZm8ubV9jYWxsZWVPckNvZGVCbG9ja1t0
NV0sIHQzCiAgICAgYnRweiB0MywgKGNvbnN0ZXhwciBDYWxsTGlua0luZm86OnBvbHltb3JwaGlj
Q2FsbGVlTWFzayksIC5ub3RQb2x5bW9ycGhpYwogICAgICMgcHJlcGFyZUNhbGwgaW4gTExJbnQg
ZG9lcyBub3QgdW50YWcgcmV0dXJuIGFkZHJlc3MuIFNvIHdlIG5lZWQgdG8gdW50YWcgdGhhdCBp
biB0aGUgdHJhbXBvbGluZSBzZXBhcmF0ZWx5LgpAQCAtMjMzMSw3ICsyNDAyLDcgQEAgbWFjcm8g
ZG9DYWxsVmFyYXJncyhvcGNvZGVOYW1lLCBzaXplLCBnZXQsIG9wY29kZVN0cnVjdCwgdmFsdWVQ
cm9maWxlTmFtZSwgZHN0VmkKICAgICAgICAgICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGUoc2l6
ZSwgdDIsIHQxLCB0MCkKICAgICAgICAgICAgIG1ldGFkYXRhKHQ1LCB0MikKIAotICAgICAgICAg
ICAgYmluZXEgdDEsIENlbGxUYWcsIC5vcENhbGxTbG93CisgICAgICAgICAgICBicmFuY2hJZk5v
dENlbGwodDEsIC5vcENhbGxTbG93LCB0MywgdDYpCiAgICAgICAgICAgICBsb2FkcCAlb3Bjb2Rl
U3RydWN0JTo6TWV0YWRhdGE6Om1fY2FsbExpbmtJbmZvLm1fY2FsbGVlT3JDb2RlQmxvY2tbdDVd
LCB0MwogICAgICAgICAgICAgYnRweiB0MywgKGNvbnN0ZXhwciBDYWxsTGlua0luZm86OnBvbHlt
b3JwaGljQ2FsbGVlTWFzayksIC5ub3RQb2x5bW9ycGhpYwogICAgICAgICAgICAgIyBwcmVwYXJl
Q2FsbCBpbiBMTEludCBkb2VzIG5vdCB1bnRhZyByZXR1cm4gYWRkcmVzcy4gU28gd2UgbmVlZCB0
byB1bnRhZyB0aGF0IGluIHRoZSB0cmFtcG9saW5lIHNlcGFyYXRlbHkuCkBAIC0yMzc2LDcgKzI0
NDcsNyBAQCBlbmQpCiBsbGludE9wV2l0aFJldHVybihvcF90b19wcmltaXRpdmUsIE9wVG9Qcmlt
aXRpdmUsIG1hY3JvIChzaXplLCBnZXQsIGRpc3BhdGNoLCByZXR1cm4pCiAgICAgZ2V0KG1fc3Jj
LCB0MikKICAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlKHNpemUsIHQyLCB0MSwgdDApCi0gICAg
YmluZXEgdDEsIENlbGxUYWcsIC5vcFRvUHJpbWl0aXZlSXNJbW0KKyAgICBicmFuY2hJZk5vdENl
bGwodDEsIC5vcFRvUHJpbWl0aXZlSXNJbW0sIHQyLCB0MykKICAgICBiYmFlcSBKU0NlbGw6Om1f
dHlwZVt0MF0sIE9iamVjdFR5cGUsIC5vcFRvUHJpbWl0aXZlU2xvd0Nhc2UKIC5vcFRvUHJpbWl0
aXZlSXNJbW06CiAgICAgcmV0dXJuKHQxLCB0MCkKQEAgLTIzOTAsNyArMjQ2MSw3IEBAIGVuZCkK
IGxsaW50T3BXaXRoUmV0dXJuKG9wX3RvX3Byb3BlcnR5X2tleSwgT3BUb1Byb3BlcnR5S2V5LCBt
YWNybyAoc2l6ZSwgZ2V0LCBkaXNwYXRjaCwgcmV0dXJuKQogICAgIGdldChtX3NyYywgdDIpCiAg
ICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZShzaXplLCB0MiwgdDEsIHQwKQotICAgIGJpbmVxIHQx
LCBDZWxsVGFnLCAub3BUb1Byb3BlcnR5S2V5U2xvdworICAgIGJyYW5jaElmTm90Q2VsbCh0MSwg
Lm9wVG9Qcm9wZXJ0eUtleVNsb3csIHQyLCB0MykKICAgICBiYmVxIEpTQ2VsbDo6bV90eXBlW3Qw
XSwgU3ltYm9sVHlwZSwgLmRvbmUKICAgICBiYm5lcSBKU0NlbGw6Om1fdHlwZVt0MF0sIFN0cmlu
Z1R5cGUsIC5vcFRvUHJvcGVydHlLZXlTbG93CiAKQEAgLTI0MzEsOCArMjUwMiw3IEBAIGNvbW1v
bk9wKGxsaW50X29wX2NhdGNoLCBtYWNybygpIGVuZCwgbWFjcm8gKHNpemUpCiAuaXNDYXRjaGFi
bGVFeGNlcHRpb246CiAgICAgbW92ZSByMSwgdDAKICAgICBnZXQoc2l6ZSwgT3BDYXRjaCwgbV9l
eGNlcHRpb24sIHQyKQotICAgIHN0b3JlaSB0MCwgUGF5bG9hZE9mZnNldFtjZnIsIHQyLCA4XQot
ICAgIHN0b3JlaSBDZWxsVGFnLCBUYWdPZmZzZXRbY2ZyLCB0MiwgOF0KKyAgICBzdG9yZUNlbGwo
dDAsIHQyLCB0NSwgdDYpCiAKICAgICBsb2FkaSBFeGNlcHRpb246Om1fdmFsdWUgKyBUYWdPZmZz
ZXRbdDBdLCB0MQogICAgIGxvYWRpIEV4Y2VwdGlvbjo6bV92YWx1ZSArIFBheWxvYWRPZmZzZXRb
dDBdLCB0MApAQCAtMjk1MCw3ICszMDIwLDcgQEAgbGxpbnRPcFdpdGhNZXRhZGF0YShvcF9wcm9m
aWxlX3R5cGUsIE9wUHJvZmlsZVR5cGUsIG1hY3JvIChzaXplLCBnZXQsIGRpc3BhdGNoLAogICAg
IGxvYWRwIE9wUHJvZmlsZVR5cGU6Ok1ldGFkYXRhOjptX3R5cGVMb2NhdGlvblt0M10sIHQzCiAg
ICAgc3RvcmVwIHQzLCBUeXBlUHJvZmlsZXJMb2c6OkxvZ0VudHJ5Ojpsb2NhdGlvblt0Ml0KIAot
ICAgIGJpZXEgdDUsIENlbGxUYWcsIC5vcFByb2ZpbGVUeXBlSXNDZWxsCisgICAgYnJhbmNoSWZD
ZWxsKHQ1LCAub3BQcm9maWxlVHlwZUlzQ2VsbCwgdDMsIHQ2KQogICAgIHN0b3JlaSAwLCBUeXBl
UHJvZmlsZXJMb2c6OkxvZ0VudHJ5OjpzdHJ1Y3R1cmVJRFt0Ml0KICAgICBqbXAgLm9wUHJvZmls
ZVR5cGVTa2lwSXNDZWxsCiAub3BQcm9maWxlVHlwZUlzQ2VsbDoKQEAgLTMwNDQsNyArMzExNCw3
IEBAIGxsaW50T3BXaXRoTWV0YWRhdGEob3BfaXRlcmF0b3Jfb3BlbiwgT3BJdGVyYXRvck9wZW4s
IG1hY3JvIChzaXplLCBnZXQsIGRpc3BhdGNoCiAgICAgIyBXZSBuZWVkIHRvIGxvYWQgbV9pdGVy
YXRvciBpbnRvIHQzIGJlY2F1c2UgdGhhdCdzIHdoZXJlCiAgICAgIyBwZXJmb3JtR2V0QnlJREhl
bHBlciBleHBlY3RzIHRoZSBiYXNlIG9iamVjdCAgICAKICAgICBsb2FkVmFyaWFibGUoZ2V0LCBt
X2l0ZXJhdG9yLCB0MywgdDAsIHQzKQotICAgIGJpbmVxIHQwLCBDZWxsVGFnLCAuaXRlcmF0b3JP
cGVuR2VuZXJpY0dldE5leHRTbG93CisgICAgYnJhbmNoSWZOb3RDZWxsKHQwLCAuaXRlcmF0b3JP
cGVuR2VuZXJpY0dldE5leHRTbG93LCB0NSwgdDYpCiAgICAgcGVyZm9ybUdldEJ5SURIZWxwZXIo
T3BJdGVyYXRvck9wZW4sIG1fbW9kZU1ldGFkYXRhLCBtX25leHRQcm9maWxlLCAuaXRlcmF0b3JP
cGVuR2VuZXJpY0dldE5leHRTbG93LCBzaXplLCBtZXRhZGF0YSwgc3RvcmVOZXh0QW5kRGlzcGF0
Y2gpCiAKIC5pdGVyYXRvck9wZW5HZW5lcmljR2V0TmV4dFNsb3c6CkBAIC0zMTA0LDcgKzMxNzQs
NyBAQCBsbGludE9wV2l0aE1ldGFkYXRhKG9wX2l0ZXJhdG9yX25leHQsIE9wSXRlcmF0b3JOZXh0
LCBtYWNybyAoc2l6ZSwgZ2V0LCBkaXNwYXRjaAogICAgIGVuZAogCiAgICAgbG9hZFZhcmlhYmxl
KGdldCwgbV92YWx1ZSwgdDMsIHQwLCB0MykKLSAgICBiaW5lcSB0MCwgQ2VsbFRhZywgLmdldERv
bmVTbG93CisgICAgYnJhbmNoSWZOb3RDZWxsKHQwLCAuZ2V0RG9uZVNsb3csIHQ1LCB0NikKICAg
ICBwZXJmb3JtR2V0QnlJREhlbHBlcihPcEl0ZXJhdG9yTmV4dCwgbV9kb25lTW9kZU1ldGFkYXRh
LCBtX2RvbmVQcm9maWxlLCAuZ2V0RG9uZVNsb3csIHNpemUsIG1ldGFkYXRhLCBzdG9yZURvbmVB
bmRKbXBUb0dldFZhbHVlKQogCiAuZ2V0RG9uZVNsb3c6CkBAIC0zMjExLDkgKzMyODEsOSBAQCBl
bmQpCiBsbGludE9wV2l0aE1ldGFkYXRhKG9wX2NoZWNrX3ByaXZhdGVfYnJhbmQsIE9wQ2hlY2tQ
cml2YXRlQnJhbmQsIG1hY3JvIChzaXplLCBnZXQsIGRpc3BhdGNoLCBtZXRhZGF0YSwgcmV0dXJu
KQogICAgIG1ldGFkYXRhKHQ1LCB0MikKICAgICBnZXQobV9iYXNlLCB0MykKLSAgICBsb2FkQ29u
c3RhbnRPclZhcmlhYmxlUGF5bG9hZChzaXplLCB0MywgQ2VsbFRhZywgdDAsIC5vcENoZWNrUHJp
dmF0ZUJyYW5kU2xvdykKKyAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlUGF5bG9hZENlbGwoc2l6
ZSwgdDMsIHQwLCB0MiwgdDYsIC5vcENoZWNrUHJpdmF0ZUJyYW5kU2xvdykKICAgICBnZXQobV9i
cmFuZCwgdDMpCi0gICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZVBheWxvYWQoc2l6ZSwgdDMsIENl
bGxUYWcsIHQxLCAub3BDaGVja1ByaXZhdGVCcmFuZFNsb3cpCisgICAgbG9hZENvbnN0YW50T3JW
YXJpYWJsZVBheWxvYWRDZWxsKHNpemUsIHQzLCB0MSwgdDIsIHQ2LCAub3BDaGVja1ByaXZhdGVC
cmFuZFNsb3cpCiAKICAgICBsb2FkaSBPcENoZWNrUHJpdmF0ZUJyYW5kOjpNZXRhZGF0YTo6bV9z
dHJ1Y3R1cmVJRFt0NV0sIHQzCiAgICAgYmluZXEgSlNDZWxsOjptX3N0cnVjdHVyZUlEW3QwXSwg
dDMsIC5vcENoZWNrUHJpdmF0ZUJyYW5kU2xvdwpAQCAtMzIzMSw5ICszMzAxLDkgQEAgZW5kKQog
bGxpbnRPcFdpdGhNZXRhZGF0YShvcF9zZXRfcHJpdmF0ZV9icmFuZCwgT3BTZXRQcml2YXRlQnJh
bmQsIG1hY3JvIChzaXplLCBnZXQsIGRpc3BhdGNoLCBtZXRhZGF0YSwgcmV0dXJuKQogICAgIG1l
dGFkYXRhKHQ1LCB0MikKICAgICBnZXQobV9iYXNlLCB0MykKLSAgICBsb2FkQ29uc3RhbnRPclZh
cmlhYmxlUGF5bG9hZChzaXplLCB0MywgQ2VsbFRhZywgdDAsIC5vcFNldFByaXZhdGVCcmFuZFNs
b3cpCisgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZVBheWxvYWRDZWxsKHNpemUsIHQzLCB0MCwg
dDIsIHQ2LCAub3BTZXRQcml2YXRlQnJhbmRTbG93KQogICAgIGdldChtX2JyYW5kLCB0MykKLSAg
ICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlUGF5bG9hZChzaXplLCB0MywgQ2VsbFRhZywgdDEsIC5v
cFNldFByaXZhdGVCcmFuZFNsb3cpCisgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZVBheWxvYWRD
ZWxsKHNpemUsIHQzLCB0MSwgdDIsIHQ2LCAub3BTZXRQcml2YXRlQnJhbmRTbG93KQogCiAgICAg
bG9hZGkgT3BTZXRQcml2YXRlQnJhbmQ6Ok1ldGFkYXRhOjptX29sZFN0cnVjdHVyZUlEW3Q1XSwg
dDIKICAgICBiaW5lcSB0MiwgSlNDZWxsOjptX3N0cnVjdHVyZUlEW3QwXSwgLm9wU2V0UHJpdmF0
ZUJyYW5kU2xvdwpAQCAtMzI1NywzICszMzI3LDMwIEBAIHNsb3dQYXRoT3AoZW51bWVyYXRvcl9n
ZXRfYnlfdmFsKQogc2xvd1BhdGhPcChlbnVtZXJhdG9yX2luX2J5X3ZhbCkKIHNsb3dQYXRoT3Ao
ZW51bWVyYXRvcl9oYXNfb3duX3Byb3BlcnR5KQogc2xvd1BhdGhPcChtb2QpCisKKyMgNjRiaXQ6
dDAgMzJiaXQodDAsdDEpIGlzIGNhbGxlZQorIyB0MiBpcyBDYWxsTGlua0luZm8qCisjIHQzIGlz
IGNhbGxlcidzIEpTR2xvYmFsT2JqZWN0CittYWNybyB2aXJ0dWFsVGh1bmtGb3Iob2Zmc2V0T2ZK
SVRDb2RlV2l0aEFyaXR5Q2hlY2ssIG9mZnNldE9mQ29kZUJsb2NrLCBpbnRlcm5hbEZ1bmN0aW9u
VHJhbXBvbGluZSwgcHJlcGFyZUNhbGwsIHNsb3dDYXNlKQorICAgIGFkZGkgMSwgQ2FsbExpbmtJ
bmZvOjptX3Nsb3dQYXRoQ291bnRbdDJdCisgICAgYnJhbmNoSWZOb3RDZWxsKHQxLCBzbG93Q2Fz
ZSwgdDYsIHQ3KQorICAgIGJibmVxIEpTQ2VsbDo6bV90eXBlW3QwXSwgSlNGdW5jdGlvblR5cGUs
IC5ub3RKU0Z1bmN0aW9uCisgICAgbG9hZHAgSlNGdW5jdGlvbjo6bV9leGVjdXRhYmxlT3JSYXJl
RGF0YVt0MF0sIHQ1CisgICAgYnRweiB0NSwgKGNvbnN0ZXhwciBKU0Z1bmN0aW9uOjpyYXJlRGF0
YVRhZyksIC5pc0V4ZWN1dGFibGUKKyAgICBsb2FkcCAoRnVuY3Rpb25SYXJlRGF0YTo6bV9leGVj
dXRhYmxlIC0gKGNvbnN0ZXhwciBKU0Z1bmN0aW9uOjpyYXJlRGF0YVRhZykpW3Q1XSwgdDUKKy5p
c0V4ZWN1dGFibGU6CisgICAgbG9hZHAgb2Zmc2V0T2ZKSVRDb2RlV2l0aEFyaXR5Q2hlY2tbdDVd
LCB0NAorICAgIGJ0cHogdDQsIHNsb3dDYXNlICMgV2hlbiBqdW1waW5nIHRvIHNsb3dDYXNlLCB0
MCwgdDEsIHQyLCB0MyBuZWVkcyB0byBiZSB1bm1vZGlmaWVkLgorICAgIG1vdmUgdDQsIHQxCisg
ICAgbW92ZSAwLCB0MAorICAgIGJibmVxIEpTQ2VsbDo6bV90eXBlW3Q1XSwgRnVuY3Rpb25FeGVj
dXRhYmxlVHlwZSwgLmNhbGxDb2RlCisgICAgbG9hZHAgb2Zmc2V0T2ZDb2RlQmxvY2tbdDVdLCB0
MAorLmNhbGxDb2RlOgorICAgIHByZXBhcmVDYWxsKHQ1LCB0MiwgdDMsIHQ0KQorICAgIHN0b3Jl
cCB0MCwgQ29kZUJsb2NrIC0gUHJvbG9ndWVTdGFja1BvaW50ZXJEZWx0YVtzcF0KKyAgICBqbXAg
dDEsIEpTRW50cnlQdHJUYWcKKy5ub3RKU0Z1bmN0aW9uOgorICAgIGJibmVxIEpTQ2VsbDo6bV90
eXBlW3QwXSwgSW50ZXJuYWxGdW5jdGlvblR5cGUsIHNsb3dDYXNlCisgICAgcHJlcGFyZUNhbGwo
dDUsIHQyLCB0MywgdDQpCisgICAgam1wIGludGVybmFsRnVuY3Rpb25UcmFtcG9saW5lCitlbmQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc20KaW5kZXggOGNkN2RiZTJhNGEyNTkwNjQzNjFkMzZmNTZmOGNiM2U0OTUwOWRiOC4u
NDgxNzBlNjYyYjhjNzk2OGFjZTI3M2NlNDY2ZDMyNjUwOTBmZWYyNyAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc20KKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc20KQEAg
LTM1MDksMyArMzUwOSwzMCBAQCBvcChmdXp6ZXJfcmV0dXJuX2Vhcmx5X2Zyb21fbG9vcF9oaW50
LCBtYWNybyAoKQogICAgIGxvYWRwIENvZGVCbG9jazo6bV9nbG9iYWxPYmplY3RbdDBdLCB0MAog
ICAgIGRvUmV0dXJuKCkKIGVuZCkKKworIyA2NGJpdDp0MCAzMmJpdCh0MCx0MSkgaXMgY2FsbGVl
CisjIHQyIGlzIENhbGxMaW5rSW5mbyoKKyMgdDMgaXMgY2FsbGVyJ3MgSlNHbG9iYWxPYmplY3QK
K21hY3JvIHZpcnR1YWxUaHVua0ZvcihvZmZzZXRPZkpJVENvZGVXaXRoQXJpdHlDaGVjaywgb2Zm
c2V0T2ZDb2RlQmxvY2ssIGludGVybmFsRnVuY3Rpb25UcmFtcG9saW5lLCBwcmVwYXJlQ2FsbCwg
c2xvd0Nhc2UpCisgICAgYWRkaSAxLCBDYWxsTGlua0luZm86Om1fc2xvd1BhdGhDb3VudFt0Ml0K
KyAgICBidHFueiB0MCwgTm90Q2VsbE1hc2ssIHNsb3dDYXNlCisgICAgYmJuZXEgSlNDZWxsOjpt
X3R5cGVbdDBdLCBKU0Z1bmN0aW9uVHlwZSwgLm5vdEpTRnVuY3Rpb24KKyAgICBsb2FkcCBKU0Z1
bmN0aW9uOjptX2V4ZWN1dGFibGVPclJhcmVEYXRhW3QwXSwgdDUKKyAgICBidHB6IHQ1LCAoY29u
c3RleHByIEpTRnVuY3Rpb246OnJhcmVEYXRhVGFnKSwgLmlzRXhlY3V0YWJsZQorICAgIGxvYWRw
IChGdW5jdGlvblJhcmVEYXRhOjptX2V4ZWN1dGFibGUgLSAoY29uc3RleHByIEpTRnVuY3Rpb246
OnJhcmVEYXRhVGFnKSlbdDVdLCB0NQorLmlzRXhlY3V0YWJsZToKKyAgICBsb2FkcCBvZmZzZXRP
ZkpJVENvZGVXaXRoQXJpdHlDaGVja1t0NV0sIHQ0CisgICAgYnRweiB0NCwgc2xvd0Nhc2UgIyBX
aGVuIGp1bXBpbmcgdG8gc2xvd0Nhc2UsIHQwLCB0MSwgdDIsIHQzIG5lZWRzIHRvIGJlIHVubW9k
aWZpZWQuCisgICAgbW92ZSB0NCwgdDEKKyAgICBtb3ZlIDAsIHQwCisgICAgYmJuZXEgSlNDZWxs
OjptX3R5cGVbdDVdLCBGdW5jdGlvbkV4ZWN1dGFibGVUeXBlLCAuY2FsbENvZGUKKyAgICBsb2Fk
cCBvZmZzZXRPZkNvZGVCbG9ja1t0NV0sIHQwCisuY2FsbENvZGU6CisgICAgcHJlcGFyZUNhbGwo
dDUsIHQyLCB0MywgdDQpCisgICAgc3RvcmVwIHQwLCBDb2RlQmxvY2sgLSBQcm9sb2d1ZVN0YWNr
UG9pbnRlckRlbHRhW3NwXQorICAgIGptcCB0MSwgSlNFbnRyeVB0clRhZworLm5vdEpTRnVuY3Rp
b246CisgICAgYmJuZXEgSlNDZWxsOjptX3R5cGVbdDBdLCBJbnRlcm5hbEZ1bmN0aW9uVHlwZSwg
c2xvd0Nhc2UKKyAgICBwcmVwYXJlQ2FsbCh0NSwgdDIsIHQzLCB0NCkKKyAgICBqbXAgaW50ZXJu
YWxGdW5jdGlvblRyYW1wb2xpbmUKK2VuZApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL29mZmxpbmVhc20vYXJtLnJiIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20v
YXJtLnJiCmluZGV4IDk1Yzg1YzExMzQxYmU5NDk1ZjExZTc3ODhhNGIzNzBhNmQ5MWJiYTkuLmNk
ZTIzNWQ5MDdiNDg0Y2Y4ZmNiMzkwYjgzYTYwN2M4OGVkNTc2ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL2FybS5yYgorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvb2ZmbGluZWFzbS9hcm0ucmIKQEAgLTQ4Miw2ICs0ODIsMTAgQEAgY2xhc3MgSW5zdHJ1
Y3Rpb24KICAgICAgICAgICAgICRhc20ucHV0cyAidmxkci42NCAje2FybUZsaXBwZWRPcGVyYW5k
cyhvcGVyYW5kcyl9IgogICAgICAgICB3aGVuICJzdG9yZWQiCiAgICAgICAgICAgICAkYXNtLnB1
dHMgInZzdHIuNjQgI3thcm1PcGVyYW5kcyhvcGVyYW5kcyl9IgorICAgICAgICB3aGVuICJsb2Fk
bCIKKyAgICAgICAgICAgICRhc20ucHV0cyAibGRyZXggI3thcm1GbGlwcGVkT3BlcmFuZHMob3Bl
cmFuZHMpfSIKKyAgICAgICAgd2hlbiAic3RvcmVjIgorICAgICAgICAgICAgJGFzbS5wdXRzICJz
dHJleCAje2FybU9wZXJhbmRzKG9wZXJhbmRzKX0iCiAgICAgICAgIHdoZW4gImFkZGQiCiAgICAg
ICAgICAgICBlbWl0QXJtKCJ2YWRkLmY2NCIsIG9wZXJhbmRzKQogICAgICAgICB3aGVuICJkaXZk
IgpAQCAtNTY1LDYgKzU2OSw4IEBAIGNsYXNzIEluc3RydWN0aW9uCiAgICAgICAgICAgICAgICAg
JGFzbS5wdXRzICJtb3Z0ICN7b3BlcmFuZHNbMV0uYXJtT3BlcmFuZH0sIFwjOnVwcGVyMTY6I3tv
cGVyYW5kc1swXS52YWx1ZX0iCiAgICAgICAgIHdoZW4gIm5vcCIKICAgICAgICAgICAgICRhc20u
cHV0cyAibm9wIgorICAgICAgICB3aGVuICJjbXAiCisgICAgICAgICAgICAkYXNtLnB1dHMgImNt
cCAje2FybU9wZXJhbmRzKG9wZXJhbmRzWzAuLjFdKX0iCiAgICAgICAgIHdoZW4gImJpZXEiLCAi
YnBlcSIsICJiYmVxIgogICAgICAgICAgICAgaWYgSW1tZWRpYXRlLm5ldyhuaWwsIDApID09IG9w
ZXJhbmRzWzBdCiAgICAgICAgICAgICAgICAgJGFzbS5wdXRzICJ0c3QgI3tvcGVyYW5kc1sxXS5h
cm1PcGVyYW5kfSwgI3tvcGVyYW5kc1sxXS5hcm1PcGVyYW5kfSIKQEAgLTY5Myw2ICs2OTksOCBA
QCBjbGFzcyBJbnN0cnVjdGlvbgogICAgICAgICAgICAgJGFzbS5wdXRzICJzbXVsbCAje29wZXJh
bmRzWzJdLmFybU9wZXJhbmR9LCAje29wZXJhbmRzWzNdLmFybU9wZXJhbmR9LCAje29wZXJhbmRz
WzBdLmFybU9wZXJhbmR9LCAje29wZXJhbmRzWzFdLmFybU9wZXJhbmR9IgogICAgICAgICB3aGVu
ICJtZW1mZW5jZSIKICAgICAgICAgICAgICRhc20ucHV0cyAiZG1iIHN5IgorICAgICAgICB3aGVu
ICJtZW1iYXJyaWVyIgorICAgICAgICAgICAgJGFzbS5wdXRzICJkbWIgaXNoIgogICAgICAgICB3
aGVuICJjbHJicCIKICAgICAgICAgICAgICRhc20ucHV0cyAiYmljICN7b3BlcmFuZHNbMl0uYXJt
T3BlcmFuZH0sICN7b3BlcmFuZHNbMF0uYXJtT3BlcmFuZH0sICN7b3BlcmFuZHNbMV0uYXJtT3Bl
cmFuZH0iCiAgICAgICAgIHdoZW4gImdsb2JhbGFkZHIiCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9pbnN0cnVjdGlvbnMucmIgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvb2ZmbGluZWFzbS9pbnN0cnVjdGlvbnMucmIKaW5kZXggNTRiMDI3ZjNkYTAxNzczODM0
NWU5ZDJiNjE4Zjc0ODBmMDg0ZWQ0NC4uODBjZTFmOWQ4NWZhMzcxNDI4NjA2MDI5MWQ5ZWM2ODUx
NWNkZWJiMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vaW5z
dHJ1Y3Rpb25zLnJiCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL2luc3Ry
dWN0aW9ucy5yYgpAQCAtNzUsNiArNzUsOCBAQCBNQUNST19JTlNUUlVDVElPTlMgPQogICAgICAi
bW92ZWQiLAogICAgICAic3RvcmVmIiwKICAgICAgInN0b3JlZCIsCisgICAgICJsb2FkbCIsCisg
ICAgICJzdG9yZWMiLAogICAgICAiYWRkZiIsCiAgICAgICJhZGRkIiwKICAgICAgImRpdmYiLApA
QCAtMTQ2LDYgKzE0OCw3IEBAIE1BQ1JPX0lOU1RSVUNUSU9OUyA9CiAgICAgICJzeGIycSIsCiAg
ICAgICJzeGgycSIsCiAgICAgICJub3AiLAorICAgICAiY21wIiwKICAgICAgImJpZXEiLAogICAg
ICAiYmluZXEiLAogICAgICAiYmlhIiwKQEAgLTMwMyw2ICszMDYsNyBAQCBNQUNST19JTlNUUlVD
VElPTlMgPQogICAgICAibGVhaSIsCiAgICAgICJsZWFwIiwKICAgICAgIm1lbWZlbmNlIiwKKyAg
ICAgIm1lbWJhcnJpZXIiLAogICAgICAidGFnQ29kZVB0ciIsCiAgICAgICJ0YWdSZXR1cm5BZGRy
ZXNzIiwKICAgICAgInVudGFnUmV0dXJuQWRkcmVzcyIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9yaXNjLnJiIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL29m
ZmxpbmVhc20vcmlzYy5yYgppbmRleCAwZjA3MmU5ZmQxMWUxNTg1YWFmM2RkOGViMDUwZmZkOTQ2
MjM5ZGYyLi43NGU1ZjNmYTc3ZWUxMmU0OTM4N2JjZmIwOGI1NjA3YTdlMzUzYTJkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9yaXNjLnJiCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL3Jpc2MucmIKQEAgLTQ3NSw3ICs0NzUsNyBAQCBk
ZWYgcmlzY0xvd2VyTWlzcGxhY2VkQWRkcmVzc2VzKGxpc3QpCiAgICAgICAgICAgICBhbm5vdGF0
aW9uID0gbm9kZS5hbm5vdGF0aW9uCiAgICAgICAgICAgICBjYXNlIG5vZGUub3Bjb2RlCiAgICAg
ICAgICAgICB3aGVuICJhZGRpIiwgImFkZGlzIiwgImFuZGkiLCAibHNoaWZ0aSIsICJtdWxpIiwg
Im5lZ2kiLCAibm90aSIsICJvcmkiLCAib3JpcyIsCi0gICAgICAgICAgICAgICAgInJzaGlmdGki
LCAidXJzaGlmdGkiLCAic3ViaSIsICJzdWJpcyIsICJ4b3JpIiwgL15iaS8sIC9eYnRpLywgL15j
aS8sIC9edGkvCisgICAgICAgICAgICAgICAgInJzaGlmdGkiLCAidXJzaGlmdGkiLCAic3ViaSIs
ICJzdWJpcyIsICJ4b3JpIiwgL15iaS8sIC9eYnRpLywgL15jaS8sIC9edGkvLCAiY21wIgogICAg
ICAgICAgICAgICAgIG5ld0xpc3QgPDwgbm9kZS5yaXNjQ2xvbmVXaXRoT3BlcmFuZHNMb3dlcmVk
KG5ld0xpc3QsIHBvc3RJbnN0cnVjdGlvbnMsICJpIikKICAgICAgICAgICAgIHdoZW4gIm9yaCIK
ICAgICAgICAgICAgICAgICBuZXdMaXN0IDw8IG5vZGUucmlzY0Nsb25lV2l0aE9wZXJhbmRzTG93
ZXJlZChuZXdMaXN0LCBwb3N0SW5zdHJ1Y3Rpb25zLCAiaCIpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NKU1ZhbHVlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTQ0pTVmFsdWUuY3BwCmluZGV4IGUxNGU4NTk0Y2E5ZmU5OGYwZjEzNmFj
ZWU4MGM5NTJiZjVmZjc3ZmIuLmZjNTJiYzk1ZmRhNTExNjgwN2ZjYTkyMjk5ZDhlZTdkM2ViMzhh
MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ0pTVmFsdWUu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ0pTVmFsdWUuY3BwCkBA
IC0zNyw2ICszNywxMCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogY29uc3QgQVNDSUlMaXRlcmFsIFN5
bWJvbENvZXJjaW9uRXJyb3IgeyAiQ2Fubm90IGNvbnZlcnQgYSBzeW1ib2wgdG8gYSBzdHJpbmci
X3MgfTsKIAorI2lmIFVTRShKU1ZBTFVFMzJfNjQpICYmIEVOQUJMRShDT05DVVJSRU5UX0pTKQor
aW50IGdfZ2xvYmFsTG9jayB7IDAgfTsKKyNlbmRpZgorCiBkb3VibGUgSlNWYWx1ZTo6dG9JbnRl
Z2VyUHJlc2VydmVOYU4oSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkgY29uc3QKIHsKICAg
ICBpZiAoaXNJbnQzMigpKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNDSlNWYWx1ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDSlNWYWx1
ZS5oCmluZGV4IDIzMTI4OTRkYTQ3ZmFkOWMyM2E4NmMyMzFmNjBiY2JhMzc3NWEzMTEuLjVlOThh
ZGRlNjFiNDRiN2YwMmM0MGVmMTI4NTY2NTkyYzNkZTBiMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ0pTVmFsdWUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0NKU1ZhbHVlLmgKQEAgLTEzNSw2ICsxMzUsMTAgQEAgZW51bSBjbGFz
cyBTb3VyY2VDb2RlUmVwcmVzZW50YXRpb24gOiB1aW50OF90IHsKIAogZXh0ZXJuIEpTX0VYUE9S
VF9QUklWQVRFIGNvbnN0IEFTQ0lJTGl0ZXJhbCBTeW1ib2xDb2VyY2lvbkVycm9yOwogCisjaWYg
VVNFKEpTVkFMVUUzMl82NCkgJiYgRU5BQkxFKENPTkNVUlJFTlRfSlMpCitleHRlcm4gIkMiIEpT
X0VYUE9SVF9QUklWQVRFIGludCBnX2dsb2JhbExvY2s7CisjZW5kaWYKKwogY2xhc3MgSlNWYWx1
ZSB7CiAgICAgZnJpZW5kIHN0cnVjdCBFbmNvZGVkSlNWYWx1ZUhhc2hUcmFpdHM7CiAgICAgZnJp
ZW5kIHN0cnVjdCBFbmNvZGVkSlNWYWx1ZVdpdGhSZXByZXNlbnRhdGlvbkhhc2hUcmFpdHM7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZS5oIGIvU291cmNlL1dURi93
dGYvUGxhdGZvcm1FbmFibGUuaAppbmRleCBhMmUwM2Y4MTMzNjlkYThkMDFkYjJiZjExNzZkM2Zh
ZDgyN2E1MWE3Li4xOTMwZDZhNTNjNzcxMGEzNzZmNDUyMjc3OWE1ZTMyY2U0MzExNTBmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZS5oCisrKyBiL1NvdXJjZS9XVEYv
d3RmL1BsYXRmb3JtRW5hYmxlLmgKQEAgLTY3MCw3ICs2NzAsNyBAQAogICAgdmFsdWVzIGdldCBz
dG9yZWQgdG8gYXRvbWljYWxseS4gVGhpcyBpcyB0cml2aWFsbHkgdHJ1ZSBvbiA2NC1iaXQgcGxh
dGZvcm1zLAogICAgYnV0IG5vdCB0cnVlIGF0IGFsbCBvbiAzMi1iaXQgcGxhdGZvcm1zIHdoZXJl
IHZhbHVlcyBhcmUgY29tcG9zZWQgb2YgdHdvCiAgICBzZXBhcmF0ZSBzdWItdmFsdWVzLiAqLwot
I2lmIEVOQUJMRShKSVQpICYmIFVTRShKU1ZBTFVFNjQpCisjaWYgRU5BQkxFKEpJVCkgJiYgKFVT
RShKU1ZBTFVFNjQpIHx8IChVU0UoSlNWQUxVRTMyXzY0KSAmJiBDUFUoQVJNX1RIVU1CMikpKQog
I2RlZmluZSBFTkFCTEVfQ09OQ1VSUkVOVF9KUyAxCiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy9DaGFuZ2VMb2cgYi9KU1Rlc3RzL0NoYW5nZUxvZwppbmRleCBiNWMzOTdiMjg0OWQ1ZTNj
ZmYxMzRjYzk3Y2MyZTNjZDY5NzMxYmY5Li5iNzJiMjFiNzE1ZjJlZDJhNzJhNGEyZWM0MmQxYTVh
N2ZmMWQzMTI0IDEwMDY0NAotLS0gYS9KU1Rlc3RzL0NoYW5nZUxvZworKysgYi9KU1Rlc3RzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIyLTA0LTI3ICBNaWtoYWlsIFIuIEdhZGVsaGEg
IDxtaWtoYWlsQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0pTQ11bMzJiaXRdIEVuYWJsZSBjb25j
dXJyZW5jeQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjM5ODIxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBzdHJlc3MvcmVncmVzcy0xNjk0NDUuanM6CisKIDIwMjItMDQtMTQgIENhaXRsaW4gUG90dGVy
ICA8Y2FpdHBAaWdhbGlhLmNvbT4KIAogICAgICAgICBbSlNDXSBTaGFkb3dSZWFsbSBnbG9iYWwg
b2JqZWN0IGhhcyBhIG11dGFibGUgcHJvdG90eXBlCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3N0cmVz
cy9yZWdyZXNzLTE2OTQ0NS5qcyBiL0pTVGVzdHMvc3RyZXNzL3JlZ3Jlc3MtMTY5NDQ1LmpzCmlu
ZGV4IDM1ZTQ1NTY5M2EyZDRmMDU5YzFlMjgyYzdiNWM0MjMxOWVmMDQ3MmUuLjI4ODY3OGU1MTFh
OTAxZjQwZjhmNjc3MzYxNGUzZGU1MTgwMjkzMWUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvc3RyZXNz
L3JlZ3Jlc3MtMTY5NDQ1LmpzCisrKyBiL0pTVGVzdHMvc3RyZXNzL3JlZ3Jlc3MtMTY5NDQ1Lmpz
CkBAIC0xLDMgKzEsNCBAQAorLy9AIHJ1bk5vTExJbnQoIi0tdXNlQ29uY3VycmVudEpJVD1mYWxz
ZSIpIGlmICRhcmNoaXRlY3R1cmUgPT0gImFybSIKIGxldCBhcmdzID0gbmV3IEFycmF5KDB4MTAw
MDApOwogYXJncy5maWxsKCk7CiBhcmdzID0gYXJncy5tYXAoKF8sIGkpID0+ICdhJyArIGkpLmpv
aW4oJywgJyk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>