<?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>70858</bug_id>
          
          <creation_ts>2011-10-25 15:53:25 -0700</creation_ts>
          <short_desc>Separate out function linking &amp; exception check data structures.</short_desc>
          <delta_ts>2011-10-25 16:05:25 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Gavin Barraclough">barraclough</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>490430</commentid>
    <comment_count>0</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-10-25 15:53:25 -0700</bug_when>
    <thetext>This will make it easier to refactor the callOperation methods to spilt the value representation specific handling from the cpu/calling-convention implementation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>490431</commentid>
    <comment_count>1</comment_count>
      <attachid>112417</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-10-25 15:54:37 -0700</bug_when>
    <thetext>Created attachment 112417
Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>490438</commentid>
    <comment_count>2</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-10-25 16:05:25 -0700</bug_when>
    <thetext>Fixed in r98405</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>112417</attachid>
            <date>2011-10-25 15:54:37 -0700</date>
            <delta_ts>2011-10-25 15:56:37 -0700</delta_ts>
            <desc>Fix</desc>
            <filename>70858.patch</filename>
            <type>text/plain</type>
            <size>17251</size>
            <attacher name="Gavin Barraclough">barraclough</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gOTg0MDEpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzQgQEAK
KzIwMTEtMTAtMjUgIEdhdmluIEJhcnJhY2xvdWdoICA8YmFycmFjbG91Z2hAYXBwbGUuY29tPgor
CisgICAgICAgIFNlcGFyYXRlIG91dCBmdW5jdGlvbiBsaW5raW5nICYgZXhjZXB0aW9uIGNoZWNr
IGRhdGEgc3RydWN0dXJlcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTcwODU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgVGhpcyB3aWxsIG1ha2UgaXQgZWFzaWVyIHRvIHJlZmFjdG9yIHRoZSBjYWxsT3Bl
cmF0aW9uIG1ldGhvZHMgdG8gc3BpbHQgdGhlIHZhbHVlCisgICAgICAgIHJlcHJlc2VudGF0aW9u
IHNwZWNpZmljIGhhbmRsaW5nIGZyb20gdGhlIGNwdS9jYWxsaW5nLWNvbnZlbnRpb24gaW1wbGVt
ZW50YXRpb24uCisKKyAgICAgICAgKiBkZmcvREZHSklUQ29kZUdlbmVyYXRvci5oOgorICAgICAg
ICAoSlNDOjpERkc6OmFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2spOgorICAgICAgICAqIGRm
Zy9ERkdKSVRDb2RlR2VuZXJhdG9yMzJfNjQuY3BwOgorICAgICAgICAoSlNDOjpERkc6OkpJVENv
ZGVHZW5lcmF0b3I6OmVtaXRDYWxsKToKKyAgICAgICAgKiBkZmcvREZHSklUQ29kZUdlbmVyYXRv
cjY0LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpKSVRDb2RlR2VuZXJhdG9yOjplbWl0Q2FsbCk6
CisgICAgICAgICogZGZnL0RGR0pJVENvbXBpbGVyLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpK
SVRDb21waWxlcjo6Y29tcGlsZUJvZHkpOgorICAgICAgICAoSlNDOjpERkc6OkpJVENvbXBpbGVy
OjpsaW5rKToKKyAgICAgICAgKiBkZmcvREZHSklUQ29tcGlsZXIuaDoKKyAgICAgICAgKEpTQzo6
REZHOjpDYWxsTGlua1JlY29yZDo6Q2FsbExpbmtSZWNvcmQpOgorICAgICAgICAoSlNDOjpERkc6
OkNhbGxFeGNlcHRpb25SZWNvcmQ6OkNhbGxFeGNlcHRpb25SZWNvcmQpOgorICAgICAgICAoSlND
OjpERkc6OkpJVENvbXBpbGVyOjpKSVRDb21waWxlcik6CisgICAgICAgIChKU0M6OkRGRzo6SklU
Q29tcGlsZXI6Om5vdGlmeUNhbGwpOgorICAgICAgICAoSlNDOjpERkc6OkpJVENvbXBpbGVyOjph
cHBlbmRDYWxsKToKKyAgICAgICAgKEpTQzo6REZHOjpKSVRDb21waWxlcjo6YWRkRXhjZXB0aW9u
Q2hlY2spOgorICAgICAgICAoSlNDOjpERkc6OkpJVENvbXBpbGVyOjphZGRGYXN0RXhjZXB0aW9u
Q2hlY2spOgorICAgICAgICAqIGRmZy9ERkdKSVRDb21waWxlcjMyXzY0LmNwcDoKKyAgICAgICAg
KEpTQzo6REZHOjpKSVRDb21waWxlcjo6Y29tcGlsZUJvZHkpOgorICAgICAgICAoSlNDOjpERkc6
OkpJVENvbXBpbGVyOjpsaW5rKToKKwogMjAxMS0xMC0yNSAgRmlsaXAgUGl6bG8gIDxmcGl6bG9A
YXBwbGUuY29tPgogCiAgICAgICAgIFRpZXJlZCBjb21waWxhdGlvbiBtYXkgaW50cm9kdWNlIGRh
bmdsaW5nIHBvaW50ZXJzIGluIGNvbnN0YW50IGJ1ZmZlcnMKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHSklUQ29kZUdlbmVyYXRvcjMyXzY0LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJVENvZGVHZW5lcmF0b3IzMl82NC5jcHAJKHJl
dmlzaW9uIDk4Mzk4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdKSVRDb2RlR2Vu
ZXJhdG9yMzJfNjQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzY1LDcgKzEzNjUsNyBAQCB2b2lk
IEpJVENvZGVHZW5lcmF0b3I6OmVtaXRDYWxsKE5vZGUmIG5vCiAKICAgICBtX2ppdC5hZGRQdHIo
SW1tMzIobV9qaXQuY29kZUJsb2NrKCktPm1fbnVtQ2FsbGVlUmVnaXN0ZXJzICogc2l6ZW9mKFJl
Z2lzdGVyKSksIEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyLCBHUFJJbmZvOjphcmd1bWVudEdQ
UjApOwogICAgIG1faml0LnBva2UoR1BSSW5mbzo6YXJndW1lbnRHUFIwKTsKLSAgICBKSVRDb21w
aWxlcjo6Q2FsbCBzbG93Q2FsbCA9IG1faml0LmFwcGVuZENhbGxXaXRoRmFzdEV4Y2VwdGlvbkNo
ZWNrKHNsb3dDYWxsRnVuY3Rpb24sIGF0KG1fY29tcGlsZUluZGV4KS5jb2RlT3JpZ2luKTsKKyAg
ICBKSVRDb21waWxlcjo6Q2FsbCBzbG93Q2FsbCA9IG1faml0LmFkZEZhc3RFeGNlcHRpb25DaGVj
ayhtX2ppdC5hcHBlbmRDYWxsKHNsb3dDYWxsRnVuY3Rpb24pLCBhdChtX2NvbXBpbGVJbmRleCku
Y29kZU9yaWdpbik7CiAgICAgbV9qaXQubW92ZShJbW0zMihudW1QYXNzZWRBcmdzKSwgR1BSSW5m
bzo6cmVnVDEpOwogICAgIG1faml0LmFkZFB0cihJbW0zMihtX2ppdC5jb2RlQmxvY2soKS0+bV9u
dW1DYWxsZWVSZWdpc3RlcnMgKiBzaXplb2YoUmVnaXN0ZXIpKSwgR1BSSW5mbzo6Y2FsbEZyYW1l
UmVnaXN0ZXIpOwogICAgIG1faml0Lm5vdGlmeUNhbGwobV9qaXQuY2FsbChHUFJJbmZvOjpyZXR1
cm5WYWx1ZUdQUiksIGF0KG1fY29tcGlsZUluZGV4KS5jb2RlT3JpZ2luKTsKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSklUQ29kZUdlbmVyYXRvcjY0LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJVENvZGVHZW5lcmF0b3I2NC5jcHAJ
KHJldmlzaW9uIDk4Mzk4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdKSVRDb2Rl
R2VuZXJhdG9yNjQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzExLDcgKzEzMTEsNyBAQCB2b2lk
IEpJVENvZGVHZW5lcmF0b3I6OmVtaXRDYWxsKE5vZGUmIG5vCiAgICAgc2xvd1BhdGgubGluaygm
bV9qaXQpOwogICAgIAogICAgIG1faml0LmFkZFB0cihJbW0zMihtX2ppdC5jb2RlQmxvY2soKS0+
bV9udW1DYWxsZWVSZWdpc3RlcnMgKiBzaXplb2YoUmVnaXN0ZXIpKSwgR1BSSW5mbzo6Y2FsbEZy
YW1lUmVnaXN0ZXIsIEdQUkluZm86OmFyZ3VtZW50R1BSMCk7Ci0gICAgSklUQ29tcGlsZXI6OkNh
bGwgc2xvd0NhbGwgPSBtX2ppdC5hcHBlbmRDYWxsV2l0aEZhc3RFeGNlcHRpb25DaGVjayhzbG93
Q2FsbEZ1bmN0aW9uLCBhdChtX2NvbXBpbGVJbmRleCkuY29kZU9yaWdpbik7CisgICAgSklUQ29t
cGlsZXI6OkNhbGwgc2xvd0NhbGwgPSBtX2ppdC5hZGRGYXN0RXhjZXB0aW9uQ2hlY2sobV9qaXQu
YXBwZW5kQ2FsbChzbG93Q2FsbEZ1bmN0aW9uKSwgYXQobV9jb21waWxlSW5kZXgpLmNvZGVPcmln
aW4pOwogICAgIG1faml0Lm1vdmUoSW1tMzIobnVtUGFzc2VkQXJncyksIEdQUkluZm86OnJlZ1Qx
KTsKICAgICBtX2ppdC5hZGRQdHIoSW1tMzIobV9qaXQuY29kZUJsb2NrKCktPm1fbnVtQ2FsbGVl
UmVnaXN0ZXJzICogc2l6ZW9mKFJlZ2lzdGVyKSksIEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVy
KTsKICAgICBtX2ppdC5ub3RpZnlDYWxsKG1faml0LmNhbGwoR1BSSW5mbzo6cmV0dXJuVmFsdWVH
UFIpLCBhdChtX2NvbXBpbGVJbmRleCkuY29kZU9yaWdpbik7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0pJVENvZGVHZW5lcmF0b3IuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJVENvZGVHZW5lcmF0b3IuaAkocmV2aXNpb24gOTgzOTgp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJVENvZGVHZW5lcmF0b3IuaAkod29y
a2luZyBjb3B5KQpAQCAtMTU1MCw3ICsxNTUwLDcgQEAgcHJvdGVjdGVkOgogCiAgICAgSklUQ29t
cGlsZXI6OkNhbGwgYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVjayhjb25zdCBGdW5jdGlvblB0
ciYgZnVuY3Rpb24pCiAgICAgewotICAgICAgICByZXR1cm4gbV9qaXQuYXBwZW5kQ2FsbFdpdGhF
eGNlcHRpb25DaGVjayhmdW5jdGlvbiwgYXQobV9jb21waWxlSW5kZXgpLmNvZGVPcmlnaW4pOwor
ICAgICAgICByZXR1cm4gbV9qaXQuYWRkRXhjZXB0aW9uQ2hlY2sobV9qaXQuYXBwZW5kQ2FsbChm
dW5jdGlvbiksIGF0KG1fY29tcGlsZUluZGV4KS5jb2RlT3JpZ2luKTsKICAgICB9CiAgICAgSklU
Q29tcGlsZXI6OkNhbGwgYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldFJlc3VsdChjb25z
dCBGdW5jdGlvblB0ciYgZnVuY3Rpb24sIEdQUlJlZyByZXN1bHQpCiAgICAgewpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdKSVRDb21waWxlcjMyXzY0LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJVENvbXBpbGVyMzJfNjQuY3BwCShy
ZXZpc2lvbiA5ODM5OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSklUQ29tcGls
ZXIzMl82NC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU2OCwyNiArNTY4LDI2IEBAIHZvaWQgSklU
Q29tcGlsZXI6OmNvbXBpbGVCb2R5KCkKIAogICAgIGxpbmtPU1JFeGl0cyhzcGVjdWxhdGl2ZSk7
CiAKLSAgICAvLyBJdGVyYXRlIG92ZXIgdGhlIG1fY2FsbHMgdmVjdG9yLCBjaGVja2luZyBmb3Ig
ZXhjZXB0aW9uIGNoZWNrcywKLSAgICAvLyBhbmQgbGlua2luZyB0aGVtIHRvIGhlcmUuCi0gICAg
Zm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1fY2FsbHMuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAg
SnVtcCYgZXhjZXB0aW9uQ2hlY2sgPSBtX2NhbGxzW2ldLm1fZXhjZXB0aW9uQ2hlY2s7CisgICAg
Ly8gSXRlcmF0ZSBvdmVyIHRoZSBtX2NhbGxzIHZlY3RvciwgY2hlY2tpbmcgZm9yIGp1bXBzIHRv
IGxpbmsuCisgICAgYm9vbCBkaWRMaW5rRXhjZXB0aW9uQ2hlY2sgPSBmYWxzZTsKKyAgICBmb3Ig
KHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9leGNlcHRpb25DaGVja3Muc2l6ZSgpOyArK2kpIHsKKyAg
ICAgICAgSnVtcCYgZXhjZXB0aW9uQ2hlY2sgPSBtX2V4Y2VwdGlvbkNoZWNrc1tpXS5tX2V4Y2Vw
dGlvbkNoZWNrOwogICAgICAgICBpZiAoZXhjZXB0aW9uQ2hlY2suaXNTZXQoKSkgewogICAgICAg
ICAgICAgZXhjZXB0aW9uQ2hlY2subGluayh0aGlzKTsKLSAgICAgICAgICAgICsrbV9leGNlcHRp
b25DaGVja0NvdW50OworICAgICAgICAgICAgZGlkTGlua0V4Y2VwdGlvbkNoZWNrID0gdHJ1ZTsK
ICAgICAgICAgfQogICAgIH0KKwogICAgIC8vIElmIGFueSBleGNlcHRpb24gY2hlY2tzIHdlcmUg
bGlua2VkLCBnZW5lcmF0ZSBjb2RlIHRvIGxvb2t1cCBhIGhhbmRsZXIuCi0gICAgaWYgKG1fZXhj
ZXB0aW9uQ2hlY2tDb3VudCkgeworICAgIGlmIChkaWRMaW5rRXhjZXB0aW9uQ2hlY2spIHsKICAg
ICAgICAgLy8gbG9va3VwRXhjZXB0aW9uSGFuZGxlciBpcyBwYXNzZWQgdHdvIGFyZ3VtZW50cywg
ZXhlYyAodGhlIENhbGxGcmFtZSopLCBhbmQKICAgICAgICAgLy8gYW4gaWRlbnRpZmllciBmb3Ig
dGhlIG9wZXJhdGlvbiB0aGF0IHRocmV3IHRoZSBleGNlcHRpb24sIHdoaWNoIHdlIGNhbiB1c2UK
ICAgICAgICAgLy8gdG8gbG9vayB1cCBoYW5kbGVyIGluZm9ybWF0aW9uLiBUaGUgaWRlbnRpZmll
ciB3ZSB1c2UgaXMgdGhlIHJldHVybiBhZGRyZXNzCiAgICAgICAgIC8vIG9mIHRoZSBjYWxsIG91
dCBmcm9tIEpJVCBjb2RlIHRoYXQgdGhyZXcgdGhlIGV4Y2VwdGlvbjsgdGhpcyBpcyBzdGlsbAog
ICAgICAgICAvLyBhdmFpbGFibGUgb24gdGhlIHN0YWNrLCBqdXN0IGJlbG93IHRoZSBzdGFjayBw
b2ludGVyIQorICAgICAgICBtb3ZlKEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyLCBHUFJJbmZv
Ojphcmd1bWVudEdQUjApOwogICAgICAgICBwZWVrKEdQUkluZm86OmFyZ3VtZW50R1BSMSwgLTEp
OwotICAgICAgICBwb2tlKEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyKTsKLSAgICAgICAgcG9r
ZShHUFJJbmZvOjphcmd1bWVudEdQUjEsIDEpOwotICAgICAgICBtX2NhbGxzLmFwcGVuZChDYWxs
UmVjb3JkKGNhbGwoKSwgbG9va3VwRXhjZXB0aW9uSGFuZGxlcikpOworICAgICAgICBtX2NhbGxz
LmFwcGVuZChDYWxsTGlua1JlY29yZChjYWxsKCksIGxvb2t1cEV4Y2VwdGlvbkhhbmRsZXIpKTsK
ICAgICAgICAgLy8gbG9va3VwRXhjZXB0aW9uSGFuZGxlciBsZWF2ZXMgdGhlIGhhbmRsZXIgQ2Fs
bEZyYW1lKiBpbiB0aGUgcmV0dXJuVmFsdWVHUFIsCiAgICAgICAgIC8vIGFuZCB0aGUgYWRkcmVz
cyBvZiB0aGUgaGFuZGxlciBpbiByZXR1cm5WYWx1ZUdQUjIuCiAgICAgICAgIGp1bXAoR1BSSW5m
bzo6cmV0dXJuVmFsdWVHUFIyKTsKQEAgLTYwMiwxOSArNjAyLDE1IEBAIHZvaWQgSklUQ29tcGls
ZXI6OmxpbmsoTGlua0J1ZmZlciYgbGlua0IKICNlbmRpZgogCiAgICAgLy8gTGluayBhbGwgY2Fs
bHMgb3V0IGZyb20gdGhlIEpJVCBjb2RlIHRvIHRoZWlyIHJlc3BlY3RpdmUgZnVuY3Rpb25zLgot
ICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX2NhbGxzLnNpemUoKTsgKytpKSB7Ci0gICAg
ICAgIGlmIChtX2NhbGxzW2ldLm1fZnVuY3Rpb24udmFsdWUoKSkKLSAgICAgICAgICAgIGxpbmtC
dWZmZXIubGluayhtX2NhbGxzW2ldLm1fY2FsbCwgbV9jYWxsc1tpXS5tX2Z1bmN0aW9uKTsKLSAg
ICB9CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1fY2FsbHMuc2l6ZSgpOyArK2kpCisg
ICAgICAgIGxpbmtCdWZmZXIubGluayhtX2NhbGxzW2ldLm1fY2FsbCwgbV9jYWxsc1tpXS5tX2Z1
bmN0aW9uKTsKIAogICAgIGlmIChtX2NvZGVCbG9jay0+bmVlZHNDYWxsUmV0dXJuSW5kaWNlcygp
KSB7Ci0gICAgICAgIG1fY29kZUJsb2NrLT5jYWxsUmV0dXJuSW5kZXhWZWN0b3IoKS5yZXNlcnZl
Q2FwYWNpdHkobV9leGNlcHRpb25DaGVja0NvdW50KTsKLSAgICAgICAgZm9yICh1bnNpZ25lZCBp
ID0gMDsgaSA8IG1fY2FsbHMuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgICAgIGlmIChtX2NhbGxz
W2ldLm1faGFuZGxlc0V4Y2VwdGlvbnMpIHsKLSAgICAgICAgICAgICAgICB1bnNpZ25lZCByZXR1
cm5BZGRyZXNzT2Zmc2V0ID0gbGlua0J1ZmZlci5yZXR1cm5BZGRyZXNzT2Zmc2V0KG1fY2FsbHNb
aV0ubV9jYWxsKTsKLSAgICAgICAgICAgICAgICB1bnNpZ25lZCBleGNlcHRpb25JbmZvID0gbV9j
YWxsc1tpXS5tX2NvZGVPcmlnaW4uYnl0ZWNvZGVJbmRleDsKLSAgICAgICAgICAgICAgICBtX2Nv
ZGVCbG9jay0+Y2FsbFJldHVybkluZGV4VmVjdG9yKCkuYXBwZW5kKENhbGxSZXR1cm5PZmZzZXRU
b0J5dGVjb2RlT2Zmc2V0KHJldHVybkFkZHJlc3NPZmZzZXQsIGV4Y2VwdGlvbkluZm8pKTsKLSAg
ICAgICAgICAgIH0KKyAgICAgICAgbV9jb2RlQmxvY2stPmNhbGxSZXR1cm5JbmRleFZlY3Rvcigp
LnJlc2VydmVDYXBhY2l0eShtX2V4Y2VwdGlvbkNoZWNrcy5zaXplKCkpOworICAgICAgICBmb3Ig
KHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9leGNlcHRpb25DaGVja3Muc2l6ZSgpOyArK2kpIHsKKyAg
ICAgICAgICAgIHVuc2lnbmVkIHJldHVybkFkZHJlc3NPZmZzZXQgPSBsaW5rQnVmZmVyLnJldHVy
bkFkZHJlc3NPZmZzZXQobV9leGNlcHRpb25DaGVja3NbaV0ubV9jYWxsKTsKKyAgICAgICAgICAg
IHVuc2lnbmVkIGV4Y2VwdGlvbkluZm8gPSBtX2V4Y2VwdGlvbkNoZWNrc1tpXS5tX2NvZGVPcmln
aW4uYnl0ZWNvZGVJbmRleDsKKyAgICAgICAgICAgIG1fY29kZUJsb2NrLT5jYWxsUmV0dXJuSW5k
ZXhWZWN0b3IoKS5hcHBlbmQoQ2FsbFJldHVybk9mZnNldFRvQnl0ZWNvZGVPZmZzZXQocmV0dXJu
QWRkcmVzc09mZnNldCwgZXhjZXB0aW9uSW5mbykpOwogICAgICAgICB9CiAgICAgfQogCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJVENvbXBpbGVyLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJVENvbXBpbGVyLmNwcAkocmV2aXNp
b24gOTgzOTgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJVENvbXBpbGVyLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNjEwLDE3ICs2MTAsMTggQEAgdm9pZCBKSVRDb21waWxlcjo6
Y29tcGlsZUJvZHkoKQogCiAgICAgbGlua09TUkV4aXRzKHNwZWN1bGF0aXZlKTsKIAotICAgIC8v
IEl0ZXJhdGUgb3ZlciB0aGUgbV9jYWxscyB2ZWN0b3IsIGNoZWNraW5nIGZvciBleGNlcHRpb24g
Y2hlY2tzLAotICAgIC8vIGFuZCBsaW5raW5nIHRoZW0gdG8gaGVyZS4KLSAgICBmb3IgKHVuc2ln
bmVkIGkgPSAwOyBpIDwgbV9jYWxscy5zaXplKCk7ICsraSkgewotICAgICAgICBKdW1wJiBleGNl
cHRpb25DaGVjayA9IG1fY2FsbHNbaV0ubV9leGNlcHRpb25DaGVjazsKKyAgICAvLyBJdGVyYXRl
IG92ZXIgdGhlIG1fY2FsbHMgdmVjdG9yLCBjaGVja2luZyBmb3IganVtcHMgdG8gbGluay4KKyAg
ICBib29sIGRpZExpbmtFeGNlcHRpb25DaGVjayA9IGZhbHNlOworICAgIGZvciAodW5zaWduZWQg
aSA9IDA7IGkgPCBtX2V4Y2VwdGlvbkNoZWNrcy5zaXplKCk7ICsraSkgeworICAgICAgICBKdW1w
JiBleGNlcHRpb25DaGVjayA9IG1fZXhjZXB0aW9uQ2hlY2tzW2ldLm1fZXhjZXB0aW9uQ2hlY2s7
CiAgICAgICAgIGlmIChleGNlcHRpb25DaGVjay5pc1NldCgpKSB7CiAgICAgICAgICAgICBleGNl
cHRpb25DaGVjay5saW5rKHRoaXMpOwotICAgICAgICAgICAgKyttX2V4Y2VwdGlvbkNoZWNrQ291
bnQ7CisgICAgICAgICAgICBkaWRMaW5rRXhjZXB0aW9uQ2hlY2sgPSB0cnVlOwogICAgICAgICB9
CiAgICAgfQorCiAgICAgLy8gSWYgYW55IGV4Y2VwdGlvbiBjaGVja3Mgd2VyZSBsaW5rZWQsIGdl
bmVyYXRlIGNvZGUgdG8gbG9va3VwIGEgaGFuZGxlci4KLSAgICBpZiAobV9leGNlcHRpb25DaGVj
a0NvdW50KSB7CisgICAgaWYgKGRpZExpbmtFeGNlcHRpb25DaGVjaykgewogICAgICAgICAvLyBs
b29rdXBFeGNlcHRpb25IYW5kbGVyIGlzIHBhc3NlZCB0d28gYXJndW1lbnRzLCBleGVjICh0aGUg
Q2FsbEZyYW1lKiksIGFuZAogICAgICAgICAvLyBhbiBpZGVudGlmaWVyIGZvciB0aGUgb3BlcmF0
aW9uIHRoYXQgdGhyZXcgdGhlIGV4Y2VwdGlvbiwgd2hpY2ggd2UgY2FuIHVzZQogICAgICAgICAv
LyB0byBsb29rIHVwIGhhbmRsZXIgaW5mb3JtYXRpb24uIFRoZSBpZGVudGlmaWVyIHdlIHVzZSBp
cyB0aGUgcmV0dXJuIGFkZHJlc3MKQEAgLTYyOCw3ICs2MjksNyBAQCB2b2lkIEpJVENvbXBpbGVy
Ojpjb21waWxlQm9keSgpCiAgICAgICAgIC8vIGF2YWlsYWJsZSBvbiB0aGUgc3RhY2ssIGp1c3Qg
YmVsb3cgdGhlIHN0YWNrIHBvaW50ZXIhCiAgICAgICAgIG1vdmUoR1BSSW5mbzo6Y2FsbEZyYW1l
UmVnaXN0ZXIsIEdQUkluZm86OmFyZ3VtZW50R1BSMCk7CiAgICAgICAgIHBlZWsoR1BSSW5mbzo6
YXJndW1lbnRHUFIxLCAtMSk7Ci0gICAgICAgIG1fY2FsbHMuYXBwZW5kKENhbGxSZWNvcmQoY2Fs
bCgpLCBsb29rdXBFeGNlcHRpb25IYW5kbGVyKSk7CisgICAgICAgIG1fY2FsbHMuYXBwZW5kKENh
bGxMaW5rUmVjb3JkKGNhbGwoKSwgbG9va3VwRXhjZXB0aW9uSGFuZGxlcikpOwogICAgICAgICAv
LyBsb29rdXBFeGNlcHRpb25IYW5kbGVyIGxlYXZlcyB0aGUgaGFuZGxlciBDYWxsRnJhbWUqIGlu
IHRoZSByZXR1cm5WYWx1ZUdQUiwKICAgICAgICAgLy8gYW5kIHRoZSBhZGRyZXNzIG9mIHRoZSBo
YW5kbGVyIGluIHJldHVyblZhbHVlR1BSMi4KICAgICAgICAganVtcChHUFJJbmZvOjpyZXR1cm5W
YWx1ZUdQUjIpOwpAQCAtNjQzLDE5ICs2NDQsMTUgQEAgdm9pZCBKSVRDb21waWxlcjo6bGluayhM
aW5rQnVmZmVyJiBsaW5rQgogI2VuZGlmCiAKICAgICAvLyBMaW5rIGFsbCBjYWxscyBvdXQgZnJv
bSB0aGUgSklUIGNvZGUgdG8gdGhlaXIgcmVzcGVjdGl2ZSBmdW5jdGlvbnMuCi0gICAgZm9yICh1
bnNpZ25lZCBpID0gMDsgaSA8IG1fY2FsbHMuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgaWYgKG1f
Y2FsbHNbaV0ubV9mdW5jdGlvbi52YWx1ZSgpKQotICAgICAgICAgICAgbGlua0J1ZmZlci5saW5r
KG1fY2FsbHNbaV0ubV9jYWxsLCBtX2NhbGxzW2ldLm1fZnVuY3Rpb24pOwotICAgIH0KKyAgICBm
b3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9jYWxscy5zaXplKCk7ICsraSkKKyAgICAgICAgbGlu
a0J1ZmZlci5saW5rKG1fY2FsbHNbaV0ubV9jYWxsLCBtX2NhbGxzW2ldLm1fZnVuY3Rpb24pOwog
CiAgICAgaWYgKG1fY29kZUJsb2NrLT5uZWVkc0NhbGxSZXR1cm5JbmRpY2VzKCkpIHsKLSAgICAg
ICAgbV9jb2RlQmxvY2stPmNhbGxSZXR1cm5JbmRleFZlY3RvcigpLnJlc2VydmVDYXBhY2l0eSht
X2V4Y2VwdGlvbkNoZWNrQ291bnQpOwotICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwg
bV9jYWxscy5zaXplKCk7ICsraSkgewotICAgICAgICAgICAgaWYgKG1fY2FsbHNbaV0ubV9oYW5k
bGVzRXhjZXB0aW9ucykgewotICAgICAgICAgICAgICAgIHVuc2lnbmVkIHJldHVybkFkZHJlc3NP
ZmZzZXQgPSBsaW5rQnVmZmVyLnJldHVybkFkZHJlc3NPZmZzZXQobV9jYWxsc1tpXS5tX2NhbGwp
OwotICAgICAgICAgICAgICAgIHVuc2lnbmVkIGV4Y2VwdGlvbkluZm8gPSBtX2NhbGxzW2ldLm1f
Y29kZU9yaWdpbi5ieXRlY29kZUluZGV4OwotICAgICAgICAgICAgICAgIG1fY29kZUJsb2NrLT5j
YWxsUmV0dXJuSW5kZXhWZWN0b3IoKS5hcHBlbmQoQ2FsbFJldHVybk9mZnNldFRvQnl0ZWNvZGVP
ZmZzZXQocmV0dXJuQWRkcmVzc09mZnNldCwgZXhjZXB0aW9uSW5mbykpOwotICAgICAgICAgICAg
fQorICAgICAgICBtX2NvZGVCbG9jay0+Y2FsbFJldHVybkluZGV4VmVjdG9yKCkucmVzZXJ2ZUNh
cGFjaXR5KG1fZXhjZXB0aW9uQ2hlY2tzLnNpemUoKSk7CisgICAgICAgIGZvciAodW5zaWduZWQg
aSA9IDA7IGkgPCBtX2V4Y2VwdGlvbkNoZWNrcy5zaXplKCk7ICsraSkgeworICAgICAgICAgICAg
dW5zaWduZWQgcmV0dXJuQWRkcmVzc09mZnNldCA9IGxpbmtCdWZmZXIucmV0dXJuQWRkcmVzc09m
ZnNldChtX2V4Y2VwdGlvbkNoZWNrc1tpXS5tX2NhbGwpOworICAgICAgICAgICAgdW5zaWduZWQg
ZXhjZXB0aW9uSW5mbyA9IG1fZXhjZXB0aW9uQ2hlY2tzW2ldLm1fY29kZU9yaWdpbi5ieXRlY29k
ZUluZGV4OworICAgICAgICAgICAgbV9jb2RlQmxvY2stPmNhbGxSZXR1cm5JbmRleFZlY3Rvcigp
LmFwcGVuZChDYWxsUmV0dXJuT2Zmc2V0VG9CeXRlY29kZU9mZnNldChyZXR1cm5BZGRyZXNzT2Zm
c2V0LCBleGNlcHRpb25JbmZvKSk7CiAgICAgICAgIH0KICAgICB9CiAKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHSklUQ29tcGlsZXIuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJVENvbXBpbGVyLmgJKHJldmlzaW9uIDk4Mzk4KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdKSVRDb21waWxlci5oCSh3b3JraW5nIGNvcHkp
CkBAIC02Myw0NyArNjMsNDQgQEAgc3RydWN0IFNwZWN1bGF0aW9uRmFpbHVyZURlYnVnSW5mbyB7
CiB9OwogI2VuZGlmCiAKLS8vID09PSBDYWxsUmVjb3JkID09PQorLy8gPT09IENhbGxMaW5rUmVj
b3JkID09PQogLy8KLS8vIEEgcmVjb3JkIG9mIGEgY2FsbCBvdXQgZnJvbSBKSVQgY29kZSB0byBh
IGhlbHBlciBmdW5jdGlvbi4KLS8vIEV2ZXJ5IENhbGxSZWNvcmQgY29udGFpbnMgYSByZWZlcmVu
Y2UgdG8gdGhlIGNhbGwgaW5zdHJ1Y3Rpb24gJiB0aGUgZnVuY3Rpb24KLS8vIHRoYXQgaXQgbmVl
ZHMgdG8gYmUgbGlua2VkIHRvLiBDYWxscyB0aGF0IG1pZ2h0IHRocm93IGFuIGV4Y2VwdGlvbiBh
bHNvIHJlY29yZAotLy8gdGhlIEp1bXAgdGFrZW4gb24gZXhjZXB0aW9uICh1bnNldCBpZiBub3Qg
cHJlc2VudCksIGFuZCBFeGNlcHRpb25JbmZvIChwcmVzZW50bHkKLS8vIGFuIHVuc2lnbmVkLCBi
eXRlY29kZSBpbmRleCkgdXNlZCB0byByZWNvdmVyIGhhbmRsZXIvc291cmNlIGluZm8uCi1zdHJ1
Y3QgQ2FsbFJlY29yZCB7Ci0gICAgLy8gQ29uc3RydWN0b3IgZm9yIGEgY2FsbCB3aXRoIG5vIGV4
Y2VwdGlvbiBoYW5kbGVyLgotICAgIENhbGxSZWNvcmQoTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2Fs
bCwgRnVuY3Rpb25QdHIgZnVuY3Rpb24pCisvLyBBIHJlY29yZCBvZiBhIGNhbGwgb3V0IGZyb20g
SklUIGNvZGUgdGhhdCBuZWVkcyBsaW5raW5nIHRvIGEgaGVscGVyIGZ1bmN0aW9uLgorLy8gRXZl
cnkgQ2FsbExpbmtSZWNvcmQgY29udGFpbnMgYSByZWZlcmVuY2UgdG8gdGhlIGNhbGwgaW5zdHJ1
Y3Rpb24gJiB0aGUgZnVuY3Rpb24KKy8vIHRoYXQgaXQgbmVlZHMgdG8gYmUgbGlua2VkIHRvLgor
c3RydWN0IENhbGxMaW5rUmVjb3JkIHsKKyAgICBDYWxsTGlua1JlY29yZChNYWNyb0Fzc2VtYmxl
cjo6Q2FsbCBjYWxsLCBGdW5jdGlvblB0ciBmdW5jdGlvbikKICAgICAgICAgOiBtX2NhbGwoY2Fs
bCkKICAgICAgICAgLCBtX2Z1bmN0aW9uKGZ1bmN0aW9uKQotICAgICAgICAsIG1faGFuZGxlc0V4
Y2VwdGlvbnMoZmFsc2UpCiAgICAgewogICAgIH0KIAotICAgIC8vIENvbnN0cnVjdG9yIGZvciBh
IGNhbGwgd2l0aCBhbiBleGNlcHRpb24gaGFuZGxlci4KLSAgICBDYWxsUmVjb3JkKE1hY3JvQXNz
ZW1ibGVyOjpDYWxsIGNhbGwsIEZ1bmN0aW9uUHRyIGZ1bmN0aW9uLCBNYWNyb0Fzc2VtYmxlcjo6
SnVtcCBleGNlcHRpb25DaGVjaywgQ29kZU9yaWdpbiBjb2RlT3JpZ2luKQorICAgIE1hY3JvQXNz
ZW1ibGVyOjpDYWxsIG1fY2FsbDsKKyAgICBGdW5jdGlvblB0ciBtX2Z1bmN0aW9uOworfTsKKwor
Ly8gPT09IENhbGxFeGNlcHRpb25SZWNvcmQgPT09CisvLworLy8gQSByZWNvcmQgb2YgYSBjYWxs
IG91dCBmcm9tIEpJVCBjb2RlIHRoYXQgbWlnaHQgdGhyb3cgYW4gZXhjZXB0aW9uLgorLy8gQ2Fs
bHMgdGhhdCBtaWdodCB0aHJvdyBhbiBleGNlcHRpb24gYWxzbyByZWNvcmQgdGhlIEp1bXAgdGFr
ZW4gb24gZXhjZXB0aW9uCisvLyAodW5zZXQgaWYgbm90IHByZXNlbnQpIGFuZCBjb2RlIG9yaWdp
biB1c2VkIHRvIHJlY292ZXIgaGFuZGxlci9zb3VyY2UgaW5mby4KK3N0cnVjdCBDYWxsRXhjZXB0
aW9uUmVjb3JkIHsKKyAgICBDYWxsRXhjZXB0aW9uUmVjb3JkKE1hY3JvQXNzZW1ibGVyOjpDYWxs
IGNhbGwsIENvZGVPcmlnaW4gY29kZU9yaWdpbikKICAgICAgICAgOiBtX2NhbGwoY2FsbCkKLSAg
ICAgICAgLCBtX2Z1bmN0aW9uKGZ1bmN0aW9uKQotICAgICAgICAsIG1fZXhjZXB0aW9uQ2hlY2so
ZXhjZXB0aW9uQ2hlY2spCiAgICAgICAgICwgbV9jb2RlT3JpZ2luKGNvZGVPcmlnaW4pCi0gICAg
ICAgICwgbV9oYW5kbGVzRXhjZXB0aW9ucyh0cnVlKQogICAgIHsKICAgICB9CiAKLSAgICAvLyBD
b25zdHJ1Y3RvciBmb3IgYSBjYWxsIHRoYXQgbWF5IGNhdXNlIGV4Y2VwdGlvbnMsIGJ1dCB3aGlj
aCBhcmUgaGFuZGxlZAotICAgIC8vIHRocm91Z2ggc29tZSBtZWNoYW5pc20gb3RoZXIgdGhhbiB0
aGUgaW4tbGluZSBleGNlcHRpb24gaGFuZGxlci4KLSAgICBDYWxsUmVjb3JkKE1hY3JvQXNzZW1i
bGVyOjpDYWxsIGNhbGwsIEZ1bmN0aW9uUHRyIGZ1bmN0aW9uLCBDb2RlT3JpZ2luIGNvZGVPcmln
aW4pCisgICAgQ2FsbEV4Y2VwdGlvblJlY29yZChNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsLCBN
YWNyb0Fzc2VtYmxlcjo6SnVtcCBleGNlcHRpb25DaGVjaywgQ29kZU9yaWdpbiBjb2RlT3JpZ2lu
KQogICAgICAgICA6IG1fY2FsbChjYWxsKQotICAgICAgICAsIG1fZnVuY3Rpb24oZnVuY3Rpb24p
CisgICAgICAgICwgbV9leGNlcHRpb25DaGVjayhleGNlcHRpb25DaGVjaykKICAgICAgICAgLCBt
X2NvZGVPcmlnaW4oY29kZU9yaWdpbikKLSAgICAgICAgLCBtX2hhbmRsZXNFeGNlcHRpb25zKHRy
dWUpCiAgICAgewogICAgIH0KIAogICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIG1fY2FsbDsKLSAg
ICBGdW5jdGlvblB0ciBtX2Z1bmN0aW9uOwogICAgIE1hY3JvQXNzZW1ibGVyOjpKdW1wIG1fZXhj
ZXB0aW9uQ2hlY2s7CiAgICAgQ29kZU9yaWdpbiBtX2NvZGVPcmlnaW47Ci0gICAgYm9vbCBtX2hh
bmRsZXNFeGNlcHRpb25zOwogfTsKIAogLy8gPT09IEpJVENvbXBpbGVyID09PQpAQCAtMTIwLDcg
KzExNyw2IEBAIHB1YmxpYzoKICAgICAgICAgOiBtX2dsb2JhbERhdGEoZ2xvYmFsRGF0YSkKICAg
ICAgICAgLCBtX2dyYXBoKGRmZykKICAgICAgICAgLCBtX2NvZGVCbG9jayhjb2RlQmxvY2spCi0g
ICAgICAgICwgbV9leGNlcHRpb25DaGVja0NvdW50KDApCiAgICAgewogICAgIH0KIApAQCAtMjA5
LDM5ICsyMDUsMzYgQEAgcHVibGljOgogICAgIH0KIAogICAgIC8vIE5vdGlmeSB0aGUgSklUIG9m
IGEgY2FsbCB0aGF0IGRvZXMgbm90IHJlcXVpcmUgbGlua2luZy4KLSAgICB2b2lkIG5vdGlmeUNh
bGwoQ2FsbCBjYWxsLCBDb2RlT3JpZ2luIGNvZGVPcmlnaW4pCisgICAgdm9pZCBub3RpZnlDYWxs
KENhbGwgZnVuY3Rpb25DYWxsLCBDb2RlT3JpZ2luIGNvZGVPcmlnaW4pCiAgICAgewotICAgICAg
ICBtX2NhbGxzLmFwcGVuZChDYWxsUmVjb3JkKGNhbGwsIEZ1bmN0aW9uUHRyKCksIGNvZGVPcmln
aW4pKTsKKyAgICAgICAgbV9leGNlcHRpb25DaGVja3MuYXBwZW5kKENhbGxFeGNlcHRpb25SZWNv
cmQoZnVuY3Rpb25DYWxsLCBjb2RlT3JpZ2luKSk7CiAgICAgfQogCiAgICAgLy8gQWRkIGEgY2Fs
bCBvdXQgZnJvbSBKSVQgY29kZSwgd2l0aG91dCBhbiBleGNlcHRpb24gY2hlY2suCiAgICAgQ2Fs
bCBhcHBlbmRDYWxsKGNvbnN0IEZ1bmN0aW9uUHRyJiBmdW5jdGlvbikKICAgICB7CiAgICAgICAg
IENhbGwgZnVuY3Rpb25DYWxsID0gY2FsbCgpOwotICAgICAgICBtX2NhbGxzLmFwcGVuZChDYWxs
UmVjb3JkKGZ1bmN0aW9uQ2FsbCwgZnVuY3Rpb24pKTsKLSAgICAgICAgLy8gRklYTUU6IHNob3Vs
ZCBiZSBhYmxlIHRvIEpJVF9BU1NFUlQgaGVyZSB0aGF0IGdsb2JhbERhdGEtPmV4Y2VwdGlvbiBp
cyBudWxsIG9uIHJldHVybiBiYWNrIHRvIEpJVCBjb2RlLgorICAgICAgICBtX2NhbGxzLmFwcGVu
ZChDYWxsTGlua1JlY29yZChmdW5jdGlvbkNhbGwsIGZ1bmN0aW9uKSk7CiAgICAgICAgIHJldHVy
biBmdW5jdGlvbkNhbGw7CiAgICAgfQogCiAgICAgLy8gQWRkIGEgY2FsbCBvdXQgZnJvbSBKSVQg
Y29kZSwgd2l0aCBhbiBleGNlcHRpb24gY2hlY2suCi0gICAgQ2FsbCBhcHBlbmRDYWxsV2l0aEV4
Y2VwdGlvbkNoZWNrKGNvbnN0IEZ1bmN0aW9uUHRyJiBmdW5jdGlvbiwgQ29kZU9yaWdpbiBjb2Rl
T3JpZ2luKQorICAgIENhbGwgYWRkRXhjZXB0aW9uQ2hlY2soQ2FsbCBmdW5jdGlvbkNhbGwsIENv
ZGVPcmlnaW4gY29kZU9yaWdpbikKICAgICB7Ci0gICAgICAgIENhbGwgZnVuY3Rpb25DYWxsID0g
Y2FsbCgpOwogI2lmIFVTRShKU1ZBTFVFNjQpCiAgICAgICAgIEp1bXAgZXhjZXB0aW9uQ2hlY2sg
PSBicmFuY2hUZXN0UHRyKE5vblplcm8sIEFic29sdXRlQWRkcmVzcygmZ2xvYmFsRGF0YSgpLT5l
eGNlcHRpb24pKTsKICNlbGlmIFVTRShKU1ZBTFVFMzJfNjQpCiAgICAgICAgIEp1bXAgZXhjZXB0
aW9uQ2hlY2sgPSBicmFuY2gzMihOb3RFcXVhbCwgQWJzb2x1dGVBZGRyZXNzKHJlaW50ZXJwcmV0
X2Nhc3Q8Y2hhcio+KCZnbG9iYWxEYXRhKCktPmV4Y2VwdGlvbikgKyBPQkpFQ1RfT0ZGU0VUT0Yo
SlNWYWx1ZSwgdS5hc0JpdHMudGFnKSksIFRydXN0ZWRJbW0zMihKU1ZhbHVlOjpFbXB0eVZhbHVl
VGFnKSk7CiAjZW5kaWYKLSAgICAgICAgbV9jYWxscy5hcHBlbmQoQ2FsbFJlY29yZChmdW5jdGlv
bkNhbGwsIGZ1bmN0aW9uLCBleGNlcHRpb25DaGVjaywgY29kZU9yaWdpbikpOworICAgICAgICBt
X2V4Y2VwdGlvbkNoZWNrcy5hcHBlbmQoQ2FsbEV4Y2VwdGlvblJlY29yZChmdW5jdGlvbkNhbGws
IGV4Y2VwdGlvbkNoZWNrLCBjb2RlT3JpZ2luKSk7CiAgICAgICAgIHJldHVybiBmdW5jdGlvbkNh
bGw7CiAgICAgfQogICAgIAogICAgIC8vIEFkZCBhIGNhbGwgb3V0IGZyb20gSklUIGNvZGUsIHdp
dGggYSBmYXN0IGV4Y2VwdGlvbiBjaGVjayB0aGF0IHRlc3RzIGlmIHRoZSByZXR1cm4gdmFsdWUg
aXMgemVyby4KLSAgICBDYWxsIGFwcGVuZENhbGxXaXRoRmFzdEV4Y2VwdGlvbkNoZWNrKGNvbnN0
IEZ1bmN0aW9uUHRyJiBmdW5jdGlvbiwgQ29kZU9yaWdpbiBjb2RlT3JpZ2luKQorICAgIENhbGwg
YWRkRmFzdEV4Y2VwdGlvbkNoZWNrKENhbGwgZnVuY3Rpb25DYWxsLCBDb2RlT3JpZ2luIGNvZGVP
cmlnaW4pCiAgICAgewotICAgICAgICBDYWxsIGZ1bmN0aW9uQ2FsbCA9IGNhbGwoKTsKICAgICAg
ICAgSnVtcCBleGNlcHRpb25DaGVjayA9IGJyYW5jaFRlc3RQdHIoWmVybywgR1BSSW5mbzo6cmV0
dXJuVmFsdWVHUFIpOwotICAgICAgICBtX2NhbGxzLmFwcGVuZChDYWxsUmVjb3JkKGZ1bmN0aW9u
Q2FsbCwgZnVuY3Rpb24sIGV4Y2VwdGlvbkNoZWNrLCBjb2RlT3JpZ2luKSk7CisgICAgICAgIG1f
ZXhjZXB0aW9uQ2hlY2tzLmFwcGVuZChDYWxsRXhjZXB0aW9uUmVjb3JkKGZ1bmN0aW9uQ2FsbCwg
ZXhjZXB0aW9uQ2hlY2ssIGNvZGVPcmlnaW4pKTsKICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uQ2Fs
bDsKICAgICB9CiAgICAgCkBAIC00NjYsOCArNDU5LDggQEAgcHJpdmF0ZToKICAgICAKICAgICAv
LyBWZWN0b3Igb2YgY2FsbHMgb3V0IGZyb20gSklUIGNvZGUsIGluY2x1ZGluZyBleGNlcHRpb24g
aGFuZGxlciBpbmZvcm1hdGlvbi4KICAgICAvLyBDb3VudCBvZiB0aGUgbnVtYmVyIG9mIENhbGxS
ZWNvcmRzIHdpdGggZXhjZXB0aW9uIGhhbmRsZXJzLgotICAgIFZlY3RvcjxDYWxsUmVjb3JkPiBt
X2NhbGxzOwotICAgIHVuc2lnbmVkIG1fZXhjZXB0aW9uQ2hlY2tDb3VudDsKKyAgICBWZWN0b3I8
Q2FsbExpbmtSZWNvcmQ+IG1fY2FsbHM7CisgICAgVmVjdG9yPENhbGxFeGNlcHRpb25SZWNvcmQ+
IG1fZXhjZXB0aW9uQ2hlY2tzOwogICAgIAogICAgIC8vIEpJVCBjb2RlIG1hcCBmb3IgT1NSIGVu
dHJ5cG9pbnRzLgogICAgIExhYmVsIG1fc3RhcnRPZkNvZGU7Cg==
</data>
<flag name="review"
          id="110496"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>