<?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>114058</bug_id>
          
          <creation_ts>2013-04-05 13:14:41 -0700</creation_ts>
          <short_desc>Made USE(JSC) unconditional</short_desc>
          <delta_ts>2013-04-05 13:42:39 -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>New Bugs</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="Geoffrey Garen">ggaren</reporter>
          <assigned_to name="Geoffrey Garen">ggaren</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jer.noble</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>870028</commentid>
    <comment_count>0</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-04-05 13:14:41 -0700</bug_when>
    <thetext>Made USE(JSC) unconditional</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>870045</commentid>
    <comment_count>1</comment_count>
      <attachid>196673</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-04-05 13:18:05 -0700</bug_when>
    <thetext>Created attachment 196673
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>870051</commentid>
    <comment_count>2</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-04-05 13:42:39 -0700</bug_when>
    <thetext>Committed r147795: &lt;http://trac.webkit.org/changeset/147795&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>196673</attachid>
            <date>2013-04-05 13:18:05 -0700</date>
            <delta_ts>2013-04-05 13:33:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-114058-20130405131752.patch</filename>
            <type>text/plain</type>
            <size>42141</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTQ3NzkxKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEyIEBA
CisyMDEzLTA0LTA1ICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CisKKyAgICAg
ICAgTWFkZSBVU0UoSlNDKSB1bmNvbmRpdGlvbmFsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTQwNTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIGNvbmZpZy5oOgorCiAyMDEzLTA0LTA1ICBBbGxhbiBT
YW5kZmVsZCBKZW5zZW4gIDxhbGxhbi5qZW5zZW5AZGlnaWEuY29tPgogCiAgICAgICAgIExMaW50
IHNob3VsZCBiZSBhYmxlIHRvIHVzZSB4ODcgaW5zdGVhZCBvZiBTU0UgZm9yIGZsb2F0aW5nIHBv
aW50ZXIKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9jb25maWcuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvY29uZmlnLmgJKHJldmlzaW9uIDE0Nzc4OSkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9jb25maWcuaAkod29ya2luZyBjb3B5KQpAQCAtMjksMTIgKzI5
LDggQEAKIAogI2luY2x1ZGUgPHd0Zi9QbGF0Zm9ybS5oPgogI2luY2x1ZGUgPHd0Zi9FeHBvcnRN
YWNyb3MuaD4KLS8vIFdURiBjYW5ub3QgZGVwZW5kIG9uIEpTQyBldmVuIGlmIFVTRShKU0MpLgot
I2lmIFVTRShKU0MpICYmICFkZWZpbmVkKEJVSUxESU5HX1dURikKKyNpZiAhZGVmaW5lZChCVUlM
RElOR19XVEYpCiAjaW5jbHVkZSAiSlNFeHBvcnRNYWNyb3MuaCIKLSNlbGlmIFBMQVRGT1JNKENI
Uk9NSVVNKQotLy8gQ2hyb21pdW0gZG9lc24ndCBoYXZlIHJ1bnRpbWUvIGluIGl0cyBpbmNsdWRl
IHBhdGhzLgotI2luY2x1ZGUgInJ1bnRpbWUvSlNFeHBvcnRNYWNyb3MuaCIKICNlbmRpZgogCiAj
aWYgT1MoV0lORE9XUykKSW5kZXg6IFNvdXJjZS9UaGlyZFBhcnR5L0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvVGhpcmRQYXJ0eS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0Nzc5MSkKKysr
IFNvdXJjZS9UaGlyZFBhcnR5L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEy
IEBACisyMDEzLTA0LTA1ICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CisKKyAg
ICAgICAgTWFkZSBVU0UoSlNDKSB1bmNvbmRpdGlvbmFsCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTQwNTgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGd0ZXN0L2luY2x1ZGUvZ3Rlc3QvaW50ZXJuYWwv
Z3Rlc3QtcG9ydC5oOgorCiAyMDEzLTAzLTI5ICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25A
aWdhbGlhLmNvbT4KIAogICAgICAgICBVcGRhdGUgdGhlIHZlcnNpb24gb2YgZ3lwIGluIHRoZSBy
ZXBvc2l0b3J5CkluZGV4OiBTb3VyY2UvVGhpcmRQYXJ0eS9ndGVzdC9pbmNsdWRlL2d0ZXN0L2lu
dGVybmFsL2d0ZXN0LXBvcnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvVGhpcmRQYXJ0eS9ndGVz
dC9pbmNsdWRlL2d0ZXN0L2ludGVybmFsL2d0ZXN0LXBvcnQuaAkocmV2aXNpb24gMTQ3Nzg5KQor
KysgU291cmNlL1RoaXJkUGFydHkvZ3Rlc3QvaW5jbHVkZS9ndGVzdC9pbnRlcm5hbC9ndGVzdC1w
b3J0LmgJKHdvcmtpbmcgY29weSkKQEAgLTE3OSw5ICsxNzksNyBAQAogCiAjaW5jbHVkZSA8d3Rm
L1BsYXRmb3JtLmg+CiAjaW5jbHVkZSA8d3RmL0V4cG9ydE1hY3Jvcy5oPgotI2lmIFVTRShKU0Mp
CiAjaW5jbHVkZSA8cnVudGltZS9KU0V4cG9ydE1hY3Jvcy5oPgotI2VuZGlmCiAjaW5jbHVkZSA8
d3RmL0Fzc2VydGlvbnMuaD4KICNpbmNsdWRlIDx3dGYvRmFzdE1hbGxvYy5oPgogCkluZGV4OiBT
b3VyY2UvV1RGL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL0NoYW5nZUxvZwko
cmV2aXNpb24gMTQ3NzkxKQorKysgU291cmNlL1dURi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwyMCBAQAorMjAxMy0wNC0wNSAgR2VvZmZyZXkgR2FyZW4gIDxnZ2FyZW5AYXBw
bGUuY29tPgorCisgICAgICAgIE1hZGUgVVNFKEpTQykgdW5jb25kaXRpb25hbAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE0MDU4CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3dGYvVGhyZWFkUmVzdHJp
Y3Rpb25WZXJpZmllci5oOgorICAgICAgICAoV1RGKToKKyAgICAgICAgKiB3dGYvV1RGVGhyZWFk
RGF0YS5jcHA6CisgICAgICAgIChXVEY6OldURlRocmVhZERhdGE6OldURlRocmVhZERhdGEpOgor
ICAgICAgICAoV1RGOjpXVEZUaHJlYWREYXRhOjp+V1RGVGhyZWFkRGF0YSk6CisgICAgICAgICog
d3RmL1dURlRocmVhZERhdGEuaDoKKyAgICAgICAgKFdURlRocmVhZERhdGEpOgorICAgICAgICAq
IHd0Zi90ZXh0L1N0cmluZ0ltcGwuY3BwOgorICAgICAgICAoV1RGOjpTdHJpbmdJbXBsOjp+U3Ry
aW5nSW1wbCk6CisKIDIwMTMtMDQtMDUgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxl
LmNvbT4KIAogICAgICAgICBSZW1vdmUgbW9yZSBkZWFkIENocm9taXVtIGNvZGUgZnJvbSBXVEYK
SW5kZXg6IFNvdXJjZS9XVEYvd3RmL1RocmVhZFJlc3RyaWN0aW9uVmVyaWZpZXIuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9UaHJlYWRSZXN0cmljdGlvblZlcmlmaWVyLmgJKHJldmlz
aW9uIDE0Nzc4OSkKKysrIFNvdXJjZS9XVEYvd3RmL1RocmVhZFJlc3RyaWN0aW9uVmVyaWZpZXIu
aAkod29ya2luZyBjb3B5KQpAQCAtNDcsNyArNDcsMTIgQEAgbmFtZXNwYWNlIFdURiB7CiAvLyBU
aGUgZGVmYXVsdCBtb2RlIGlzIHRvIHZlcmlmeSB0aGF0IHRoZSBvYmplY3Qgd2lsbCBvbmx5IGJl
IHVzZWQgb24gYSBzaW5nbGUgdGhyZWFkLiBUaGUKIC8vIHRocmVhZCBnZXRzIGNhcHR1cmVkIHdo
ZW4gc2V0U2hhcmVkKHRydWUpIGlzIGNhbGxlZC4KIC8vIFRoZSBtb2RlIG1heSBiZSBjaGFuZ2Vk
IGJ5IGNhbGxpbmcgdXNlTXV0ZXhNb2RlIChvciB0dXJuT2ZmVmVyaWZpY2F0aW9uKS4KLSNpZiAh
VVNFKEpTQykgLy8gVGhpcyB2ZXJpZmllciBpcyBjb21wbGV0ZWx5IHdyb25nIGZvciBKYXZhU2Ny
aXB0IGltcGxlbWVudGF0aW9ucyB0aGF0IHVzZSB0aHJlYWRzCisKKy8vIEZJWE1FOiBUaGlzIHZl
cmlmaWVyIGlzIHN3aXRjaGVkIG9mZiBiZWNhdXNlIGl0IGZpcmVzIGZhbHNlIHBvc2l0aXZlcyBm
b3IKKy8vIG9iamVjdHMgdGhhdCBhcmUgdXNlZCBvbiBtdWx0aXBsZSB0aHJlYWRzLiBJbnN0ZWFk
IG9mIGFuIG9wdC1vdXQgdmVyaWZpZXIsCisvLyB3ZSBwcm9iYWJseSBuZWVkIGFuIG9wdC1pbiB2
ZXJpZmllciB0aGF0IG1hcmtzIHNlbGVjdCBvYmplY3RzIGFzIGJlaW5nCisvLyB0aWVkIHRvIHNl
bGVjdCB0aHJlYWRzLgorI2lmIDAKIGNsYXNzIFRocmVhZFJlc3RyaWN0aW9uVmVyaWZpZXIgewog
cHVibGljOgogICAgIFRocmVhZFJlc3RyaWN0aW9uVmVyaWZpZXIoKQpAQCAtMTY5LDcgKzE3NCw3
IEBAIHByaXZhdGU6CiAgICAgZGlzcGF0Y2hfcXVldWVfdCBtX293bmluZ1F1ZXVlOwogI2VuZGlm
CiB9OwotI2Vsc2UgLy8gIVVTRShKU0MpID0+IHNvIHRoZSBKU0MgY2FzZQorI2Vsc2UKIGNsYXNz
IFRocmVhZFJlc3RyaWN0aW9uVmVyaWZpZXIgewogcHVibGljOgogICAgIFRocmVhZFJlc3RyaWN0
aW9uVmVyaWZpZXIoKQpJbmRleDogU291cmNlL1dURi93dGYvV1RGVGhyZWFkRGF0YS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dURi93dGYvV1RGVGhyZWFkRGF0YS5jcHAJKHJldmlzaW9uIDE0
Nzc4OSkKKysrIFNvdXJjZS9XVEYvd3RmL1dURlRocmVhZERhdGEuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0zNSwxNCArMzUsMTIgQEAgV1RGVGhyZWFkRGF0YTo6V1RGVGhyZWFkRGF0YSgpCiAgICAg
OiBtX2FwaURhdGEoMCkKICAgICAsIG1fYXRvbWljU3RyaW5nVGFibGUoMCkKICAgICAsIG1fYXRv
bWljU3RyaW5nVGFibGVEZXN0cnVjdG9yKDApCi0jaWYgVVNFKEpTQykKICAgICAsIG1fZGVmYXVs
dElkZW50aWZpZXJUYWJsZShuZXcgSlNDOjpJZGVudGlmaWVyVGFibGUoKSkKICAgICAsIG1fY3Vy
cmVudElkZW50aWZpZXJUYWJsZShtX2RlZmF1bHRJZGVudGlmaWVyVGFibGUpCiAgICAgLCBtX3N0
YWNrQm91bmRzKFN0YWNrQm91bmRzOjpjdXJyZW50VGhyZWFkU3RhY2tCb3VuZHMoKSkKICNpZiBF
TkFCTEUoU1RBQ0tfU1RBVFMpCiAgICAgLCBtX3N0YWNrU3RhdHMoKQogI2VuZGlmCi0jZW5kaWYg
Ly8gVVNFKEpTQykKIHsKIH0KIApAQCAtNTAsMTQgKzQ4LDExIEBAIFdURlRocmVhZERhdGE6On5X
VEZUaHJlYWREYXRhKCkKIHsKICAgICBpZiAobV9hdG9taWNTdHJpbmdUYWJsZURlc3RydWN0b3Ip
CiAgICAgICAgIG1fYXRvbWljU3RyaW5nVGFibGVEZXN0cnVjdG9yKG1fYXRvbWljU3RyaW5nVGFi
bGUpOwotI2lmIFVTRShKU0MpCiAgICAgZGVsZXRlIG1fZGVmYXVsdElkZW50aWZpZXJUYWJsZTsK
LSNlbmRpZgogfQogCiB9IC8vIG5hbWVzcGFjZSBXVEYKIAotI2lmIFVTRShKU0MpCiBuYW1lc3Bh
Y2UgSlNDIHsKIAogSWRlbnRpZmllclRhYmxlOjp+SWRlbnRpZmllclRhYmxlKCkKQEAgLTc1LDUg
KzcwLDMgQEAgSGFzaFNldDxTdHJpbmdJbXBsKj46OkFkZFJlc3VsdCBJZGVudGlmaQogfQogCiB9
IC8vIG5hbWVzcGFjZSBKU0MKLSNlbmRpZgotCkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9XVEZUaHJl
YWREYXRhLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYvV1RGVGhyZWFkRGF0YS5oCShy
ZXZpc2lvbiAxNDc3ODkpCisrKyBTb3VyY2UvV1RGL3d0Zi9XVEZUaHJlYWREYXRhLmgJKHdvcmtp
bmcgY29weSkKQEAgLTM2LDcgKzM2LDYgQEAKICNpbmNsdWRlIDx3dGYvVGhyZWFkU3BlY2lmaWMu
aD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAKLSNpZiBVU0UoSlNDKQogLy8gRklYTUU6
IFRoaXMgaXMgYSB0ZW1wb3JhcnkgbGF5ZXJpbmcgdmlvbGF0aW9uIHdoaWxlIHdlIG1vdmUgbW9y
ZSBzdHJpbmcgY29kZSB0byBXVEYuCiBuYW1lc3BhY2UgSlNDIHsKIApAQCAtNjgsNyArNjcsNiBA
QCBwcml2YXRlOgogfTsKIAogfQotI2VuZGlmCiAKIG5hbWVzcGFjZSBXVEYgewogCkBAIC04Nyw3
ICs4NSw2IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIG1fYXRvbWljU3RyaW5nVGFibGU7CiAg
ICAgfQogCi0jaWYgVVNFKEpTQykKICAgICBKU0M6OklkZW50aWZpZXJUYWJsZSogY3VycmVudElk
ZW50aWZpZXJUYWJsZSgpCiAgICAgewogICAgICAgICByZXR1cm4gbV9jdXJyZW50SWRlbnRpZmll
clRhYmxlOwpAQCAtMTIxLDcgKzExOCw2IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIG1fc3Rh
Y2tTdGF0czsKICAgICB9CiAjZW5kaWYKLSNlbmRpZiAvLyBVU0UoSlNDKQogCiAgICAgdm9pZCog
bV9hcGlEYXRhOwogCkBAIC0xMjksMTQgKzEyNSwxMiBAQCBwcml2YXRlOgogICAgIEF0b21pY1N0
cmluZ1RhYmxlKiBtX2F0b21pY1N0cmluZ1RhYmxlOwogICAgIEF0b21pY1N0cmluZ1RhYmxlRGVz
dHJ1Y3RvciBtX2F0b21pY1N0cmluZ1RhYmxlRGVzdHJ1Y3RvcjsKIAotI2lmIFVTRShKU0MpCiAg
ICAgSlNDOjpJZGVudGlmaWVyVGFibGUqIG1fZGVmYXVsdElkZW50aWZpZXJUYWJsZTsKICAgICBK
U0M6OklkZW50aWZpZXJUYWJsZSogbV9jdXJyZW50SWRlbnRpZmllclRhYmxlOwogICAgIFN0YWNr
Qm91bmRzIG1fc3RhY2tCb3VuZHM7CiAjaWYgRU5BQkxFKFNUQUNLX1NUQVRTKQogICAgIFN0YWNr
U3RhdHM6OlBlclRocmVhZFN0YXRzIG1fc3RhY2tTdGF0czsKICNlbmRpZgotI2VuZGlmIC8vIFVT
RShKU0MpCiAKICAgICBzdGF0aWMgV1RGX0VYUE9SVERBVEEgVGhyZWFkU3BlY2lmaWM8V1RGVGhy
ZWFkRGF0YT4qIHN0YXRpY0RhdGE7CiAgICAgZnJpZW5kIFdURlRocmVhZERhdGEmIHd0ZlRocmVh
ZERhdGEoKTsKSW5kZXg6IFNvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nSW1wbC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdJbXBsLmNwcAkocmV2aXNpb24gMTQ3
Nzg5KQorKysgU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdJbXBsLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMTE1LDEyICsxMTUsMTAgQEAgU3RyaW5nSW1wbDo6flN0cmluZ0ltcGwoKQogCiAgICAg
aWYgKGlzQXRvbWljKCkpCiAgICAgICAgIEF0b21pY1N0cmluZzo6cmVtb3ZlKHRoaXMpOwotI2lm
IFVTRShKU0MpCiAgICAgaWYgKGlzSWRlbnRpZmllcigpKSB7CiAgICAgICAgIGlmICghd3RmVGhy
ZWFkRGF0YSgpLmN1cnJlbnRJZGVudGlmaWVyVGFibGUoKS0+cmVtb3ZlKHRoaXMpKQogICAgICAg
ICAgICAgQ1JBU0goKTsKICAgICB9Ci0jZW5kaWYKIAogICAgIEJ1ZmZlck93bmVyc2hpcCBvd25l
cnNoaXAgPSBidWZmZXJPd25lcnNoaXAoKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTQ3
NzkxKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsNzUgQEAKKzIwMTMtMDQtMDUgIEdlb2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4K
KworICAgICAgICBNYWRlIFVTRShKU0MpIHVuY29uZGl0aW9uYWwKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNDA1OAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyAoT09QUyEpLgorCisg
ICAgICAgICogTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZS5jcHA6CisgICAgICAgICogYmlu
ZGluZ3MvU2NyaXB0Q29udHJvbGxlckJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0
Q29udHJvbGxlcjo6ZXhlY3V0ZUlmSmF2YVNjcmlwdFVSTCk6CisgICAgICAgICogYmluZGluZ3Mv
anMvSmF2YVNjcmlwdENhbGxGcmFtZS5jcHA6CisgICAgICAgICogYmluZGluZ3MvanMvSmF2YVNj
cmlwdENhbGxGcmFtZS5oOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvSW5GaWxlc0NvbXBp
bGVyLnBtOgorICAgICAgICAoZ2VuZXJhdGVIZWFkZXJzSGVhZGVyKToKKyAgICAgICAgKiBjc3Mv
TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVF1ZXJ5
TGlzdExpc3RlbmVyOjpxdWVyeUNoYW5nZWQpOgorICAgICAgICAqIGRvbS9Db250YWluZXJOb2Rl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmRpc3BhdGNoQ2hpbGRSZW1vdmFsRXZlbnRzKToKKyAg
ICAgICAgKiBkb20vRXZlbnRMaXN0ZW5lci5oOgorICAgICAgICAoRXZlbnRMaXN0ZW5lcik6Cisg
ICAgICAgIChXZWJDb3JlOjpFdmVudExpc3RlbmVyOjp2aXNpdEpTRnVuY3Rpb24pOgorICAgICAg
ICAqIGRvbS9FdmVudFRhcmdldC5oOgorICAgICAgICAoRXZlbnRUYXJnZXQpOgorICAgICAgICAo
V2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFRhcmdldDo6dmlzaXRKU0V2ZW50TGlz
dGVuZXJzKToKKyAgICAgICAgKiBkb20vTm9kZS5jcHA6CisgICAgICAgICogZG9tL05vZGUuaDoK
KyAgICAgICAgKiBkb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJD
b3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6Omdsb2JhbERh
dGEpOgorICAgICAgICAqIGRvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0Lmg6CisgICAgICAgIChT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KToKKyAgICAgICAgKiBodG1sL0hUTUxDYW52YXNFbGVtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxDYW52YXNFbGVtZW50OjpjcmVhdGVJbWFnZUJ1
ZmZlcik6CisgICAgICAgICogaHRtbC9IVE1MSW1hZ2VMb2FkZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTEltYWdlTG9hZGVyOjpub3RpZnlGaW5pc2hlZCk6CisgICAgICAgICogaW5zcGVj
dG9yL0luamVjdGVkU2NyaXB0SG9zdC5oOgorICAgICAgICAoSW5qZWN0ZWRTY3JpcHRIb3N0KToK
KyAgICAgICAgKFdlYkNvcmU6OkluamVjdGVkU2NyaXB0SG9zdDo6ZXZhbHVhdGVSZXR1cm5zRXZh
bEZ1bmN0aW9uKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
LmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjpkaWRDb21taXRMb2FkSW1wbCk6CisgICAgICAgICogcGFnZS9GcmFtZS5j
cHA6CisgICAgICAgICogcGFnZS9TZXR0aW5ncy5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzaG91bGRSZXNwZWN0UHJpb3JpdHlJbkNTU0F0dHJp
YnV0ZVNldHRlcnMpOgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuaDoKKyAgICAgICAgKFNldHRp
bmdzKToKKyAgICAgICAgKiBwbHVnaW5zL1BsdWdpblZpZXcuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UGx1Z2luVmlldzo6c3RhcnQpOgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2luVmlldzo6c3Rv
cCk6CisgICAgICAgIChXZWJDb3JlOjpQbHVnaW5WaWV3OjpwZXJmb3JtUmVxdWVzdCk6CisgICAg
ICAgIChXZWJDb3JlOjpQbHVnaW5WaWV3OjpucE9iamVjdCk6CisgICAgICAgIChXZWJDb3JlKToK
KyAgICAgICAgKFdlYkNvcmU6OlBsdWdpblZpZXc6OmJpbmRpbmdJbnN0YW5jZSk6CisgICAgICAg
IChXZWJDb3JlOjpQbHVnaW5WaWV3Ojpwcml2YXRlQnJvd3NpbmdTdGF0ZUNoYW5nZWQpOgorICAg
ICAgICAqIHBsdWdpbnMvUGx1Z2luVmlldy5oOgorICAgICAgICAoUGx1Z2luVmlldyk6CisgICAg
ICAgICogcGx1Z2lucy9QbHVnaW5WaWV3QmFzZS5oOgorICAgICAgICAoUGx1Z2luVmlld0Jhc2Up
OgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2luVmlld0Jhc2U6OnNjcmlwdE9iamVjdCk6CisgICAg
ICAgICogcGx1Z2lucy9QbHVnaW5WaWV3Tm9uZS5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKFdlYkNvcmU6OlBsdWdpblZpZXc6OmJpbmRpbmdJbnN0YW5jZSk6CisgICAgICAgICog
cGx1Z2lucy9xdC9QbHVnaW5WaWV3UXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2luVmll
dzo6ZGlzcGF0Y2hOUEV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlBsdWdpblZpZXc6OnNldE5Q
V2luZG93SWZOZWVkZWQpOgorICAgICAgICAqIHhtbC9YTUxIdHRwUmVxdWVzdC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdDo6ZHJvcFByb3RlY3Rpb24pOgorCiAyMDEzLTA0
LTA1ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJlbW92ZSB0
aGUgcmVtYWluaW5nIENocm9taXVtIGZpbGVzIGZyb20gV2ViQ29yZQpJbmRleDogU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZS5jcHAJKHJldmlzaW9uIDE0
Nzc4OSkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2UuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC00MSw2ICs0MSw3IEBACiAjaW5jbHVkZSAiRGF0YWJhc2VUaHJl
YWQuaCIKICNpbmNsdWRlICJEYXRhYmFzZVRyYWNrZXIuaCIKICNpbmNsdWRlICJEb2N1bWVudC5o
IgorI2luY2x1ZGUgIkpTRE9NV2luZG93LmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1
ZGUgIk5vdEltcGxlbWVudGVkLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgpAQCAtNTksMTAgKzYwLDYg
QEAKICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0
cmluZy5oPgogCi0jaWYgVVNFKEpTQykKLSNpbmNsdWRlICJKU0RPTVdpbmRvdy5oIgotI2VuZGlm
Ci0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogUGFzc1JlZlB0cjxEYXRhYmFzZT4gRGF0YWJhc2U6
OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxEYXRhYmFzZUJhY2tl
bmRCYXNlPiBiYWNrZW5kKQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvU2NyaXB0Q29u
dHJvbGxlckJhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL1Nj
cmlwdENvbnRyb2xsZXJCYXNlLmNwcAkocmV2aXNpb24gMTQ3Nzg5KQorKysgU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvU2NyaXB0Q29udHJvbGxlckJhc2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05
OSwxNSArOTksMTAgQEAgYm9vbCBTY3JpcHRDb250cm9sbGVyOjpleGVjdXRlSWZKYXZhU2NyaQog
ICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAgIFN0cmluZyBzY3JpcHRSZXN1bHQ7Ci0jaWYgVVNF
KEpTQykKICAgICBKU0RPTVdpbmRvd1NoZWxsKiBzaGVsbCA9IHdpbmRvd1NoZWxsKG1haW5UaHJl
YWROb3JtYWxXb3JsZCgpKTsKICAgICBKU0M6OkV4ZWNTdGF0ZSogZXhlYyA9IHNoZWxsLT53aW5k
b3coKS0+Z2xvYmFsRXhlYygpOwogICAgIGlmICghcmVzdWx0LmdldFN0cmluZyhleGVjLCBzY3Jp
cHRSZXN1bHQpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKLSNlbHNlCi0gICAgaWYgKCFyZXN1bHQu
Z2V0U3RyaW5nKHNjcmlwdFJlc3VsdCkpCi0gICAgICAgIHJldHVybiB0cnVlOwotI2VuZGlmCiAK
ICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIGFsd2F5cyByZXBsYWNlIHRoZSBkb2N1bWVudCwgYnV0
IGRvaW5nIHNvCiAgICAgLy8gICAgICAgIHN5bmNocm9ub3VzbHkgY2FuIGNhdXNlIGNyYXNoZXM6
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KYXZhU2NyaXB0Q2FsbEZyYW1lLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KYXZhU2NyaXB0Q2Fs
bEZyYW1lLmNwcAkocmV2aXNpb24gMTQ3Nzg5KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSmF2YVNjcmlwdENhbGxGcmFtZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI1LDcgKzI1LDcg
QEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogCi0jaWYgRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdH
RVIpICYmIFVTRShKU0MpCisjaWYgRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIpCiAKICNpbmNs
dWRlICJKYXZhU2NyaXB0Q2FsbEZyYW1lLmgiCiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0phdmFTY3JpcHRDYWxsRnJhbWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KYXZhU2NyaXB0Q2FsbEZyYW1lLmgJKHJldmlzaW9uIDE0Nzc4OSkKKysr
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0phdmFTY3JpcHRDYWxsRnJhbWUuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMjYsNyArMjYsNyBAQAogI2lmbmRlZiBKYXZhU2NyaXB0Q2FsbEZyYW1lX2gK
ICNkZWZpbmUgSmF2YVNjcmlwdENhbGxGcmFtZV9oCiAKLSNpZiBFTkFCTEUoSkFWQVNDUklQVF9E
RUJVR0dFUikgJiYgVVNFKEpTQykKKyNpZiBFTkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikKIAog
I2luY2x1ZGUgPGRlYnVnZ2VyL0RlYnVnZ2VyQ2FsbEZyYW1lLmg+CiAjaW5jbHVkZSA8aW50ZXJw
cmV0ZXIvQ2FsbEZyYW1lLmg+CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L0luRmlsZXNDb21waWxlci5wbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL0luRmlsZXNDb21waWxlci5wbQkocmV2aXNpb24gMTQ3Nzg5KQorKysgU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JbkZpbGVzQ29tcGlsZXIucG0JKHdvcmtpbmcgY29w
eSkKQEAgLTI3OSwxMSArMjc5LDcgQEAgc3ViIGdlbmVyYXRlSGVhZGVyc0hlYWRlcigpCiAKICAg
ICAgICAgcHJpbnQgRiAiI2lmICIgLiAkb2JqZWN0LT5jb25kaXRpb25hbFN0cmluZ0Zyb21BdHRy
aWJ1dGVWYWx1ZSgkY29uZGl0aW9uYWwpIC4gIlxuIiBpZiAkY29uZGl0aW9uYWw7CiAgICAgICAg
IHByaW50IEYgIiNpbmNsdWRlIFwiJGludGVyZmFjZU5hbWUuaFwiXG4iOwotICAgICAgICBwcmlu
dCBGICIjaWYgVVNFKEpTQylcbiI7CiAgICAgICAgIHByaW50IEYgIiNpbmNsdWRlIFwiSlMkaW50
ZXJmYWNlTmFtZS5oXCJcbiI7Ci0gICAgICAgIHByaW50IEYgIiNlbGlmIFVTRShWOClcbiI7Ci0g
ICAgICAgIHByaW50IEYgIiNpbmNsdWRlIFwiVjgkaW50ZXJmYWNlTmFtZS5oXCJcbiI7Ci0gICAg
ICAgIHByaW50IEYgIiNlbmRpZlxuIjsKICAgICAgICAgcHJpbnQgRiAiI2VuZGlmXG4iIGlmICRj
b25kaXRpb25hbDsKICAgICB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5
TGlzdExpc3RlbmVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFR
dWVyeUxpc3RMaXN0ZW5lci5jcHAJKHJldmlzaW9uIDE0Nzc4OSkKKysrIFNvdXJjZS9XZWJDb3Jl
L2Nzcy9NZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjMsMjcg
KzIzLDE0IEBACiAjaW5jbHVkZSAiTWVkaWFRdWVyeUxpc3QuaCIKICNpbmNsdWRlICJTY3JpcHRG
dW5jdGlvbkNhbGwuaCIKIAotI2lmIFVTRShKU0MpCiAjaW5jbHVkZSAiSlNNZWRpYVF1ZXJ5TGlz
dC5oIgotI2Vsc2UKLSNpbmNsdWRlICJWOE1lZGlhUXVlcnlMaXN0LmgiCi0jZW5kaWYKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiB2b2lkIE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI6OnF1ZXJ5Q2hh
bmdlZChTY3JpcHRTdGF0ZSogc3RhdGUsIE1lZGlhUXVlcnlMaXN0KiBxdWVyeSkKIHsKICAgICBT
Y3JpcHRDYWxsYmFjayBjYWxsYmFjayhzdGF0ZSwgbV92YWx1ZSk7Ci0jaWYgVVNFKEpTQykKICAg
ICBjYWxsYmFjay5hcHBlbmRBcmd1bWVudCh0b0pTKHN0YXRlLCBkZXByZWNhdGVkR2xvYmFsT2Jq
ZWN0Rm9yUHJvdG90eXBlKHN0YXRlKSwgcXVlcnkpKTsKLSNlbHNlCi0gICAgdjg6OkhhbmRsZVNj
b3BlIGhhbmRsZVNjb3BlOwotICAgIHY4OjpIYW5kbGU8djg6OkNvbnRleHQ+IGNvbnRleHQgPSBz
dGF0ZS0+Y29udGV4dCgpOwotICAgIGlmIChjb250ZXh0LklzRW1wdHkoKSkKLSAgICAgICByZXR1
cm47IC8vIEpTIG1heSBub3QgYmUgZW5hYmxlZC4KLSAgICB2ODo6Q29udGV4dDo6U2NvcGUgc2Nv
cGUoY29udGV4dCk7Ci0gICAgY2FsbGJhY2suYXBwZW5kQXJndW1lbnQodG9WOChxdWVyeSwgdjg6
OkhhbmRsZTx2ODo6T2JqZWN0PigpLCBjb250ZXh0LT5HZXRJc29sYXRlKCkpKTsKLSNlbmRpZgog
ICAgIGNhbGxiYWNrLmNhbGwoKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0NvbnRh
aW5lck5vZGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Db250YWluZXJO
b2RlLmNwcAkocmV2aXNpb24gMTQ3Nzg5KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5l
ck5vZGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Niw5ICs1Niw3IEBACiAjaW5jbHVkZSA8d3Rm
L0N1cnJlbnRUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCi0jaWYgVVNFKEpTQykK
ICNpbmNsdWRlICJKU05vZGUuaCIKLSNlbmRpZgogCiB1c2luZyBuYW1lc3BhY2Ugc3RkOwogCkBA
IC0xMTI0LDkgKzExMjIsNyBAQCBzdGF0aWMgdm9pZCBkaXNwYXRjaENoaWxkUmVtb3ZhbEV2ZW50
cyhOCiAKICAgICBBU1NFUlQoIU5vRXZlbnREaXNwYXRjaEFzc2VydGlvbjo6aXNFdmVudERpc3Bh
dGNoRm9yYmlkZGVuKCkpOwogCi0jaWYgVVNFKEpTQykKICAgICB3aWxsQ3JlYXRlUG9zc2libHlP
cnBoYW5lZFRyZWVCeVJlbW92YWwoY2hpbGQpOwotI2VuZGlmCiAgICAgSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjp3aWxsUmVtb3ZlRE9NTm9kZShjaGlsZC0+ZG9jdW1lbnQoKSwgY2hpbGQpOwog
CiAgICAgUmVmUHRyPE5vZGU+IGMgPSBjaGlsZDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9F
dmVudExpc3RlbmVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TGlz
dGVuZXIuaAkocmV2aXNpb24gMTQ3Nzg5KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TGlz
dGVuZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNTEsOSArNTEsNyBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVFdmVudChTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiwgRXZlbnQqKSA9IDA7CiAgICAgICAgIHZpcnR1YWwgYm9vbCB3YXNDcmVhdGVkRnJvbU1h
cmt1cCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAKLSNpZiBVU0UoSlNDKQogICAgICAgICB2
aXJ0dWFsIHZvaWQgdmlzaXRKU0Z1bmN0aW9uKEpTQzo6U2xvdFZpc2l0b3ImKSB7IH0KLSNlbmRp
ZgogCiAgICAgICAgIGJvb2wgaXNBdHRyaWJ1dGUoKSBjb25zdCB7IHJldHVybiB2aXJ0dWFsaXNB
dHRyaWJ1dGUoKTsgfQogICAgICAgICBUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBtX3R5cGU7
IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oCShyZXZpc2lvbiAxNDc3ODkpCisrKyBT
b3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaAkod29ya2luZyBjb3B5KQpAQCAtMTI5LDEw
ICsxMjksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIGJvb2wgZmlyZUV2ZW50TGlz
dGVuZXJzKEV2ZW50Kik7CiAgICAgICAgIGJvb2wgaXNGaXJpbmdFdmVudExpc3RlbmVycygpOwog
Ci0jaWYgVVNFKEpTQykKICAgICAgICAgdm9pZCB2aXNpdEpTRXZlbnRMaXN0ZW5lcnMoSlNDOjpT
bG90VmlzaXRvciYpOwogICAgICAgICB2b2lkIGludmFsaWRhdGVKU0V2ZW50TGlzdGVuZXJzKEpT
Qzo6SlNPYmplY3QqKTsKLSNlbmRpZgogCiAgICAgcHJvdGVjdGVkOgogICAgICAgICB2aXJ0dWFs
IH5FdmVudFRhcmdldCgpOwpAQCAtMTc1LDE0ICsxNzMsMTIgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgICAgICBFdmVudExpc3RlbmVyKiBvbiMjYXR0cmlidXRlKCkgeyByZXR1cm4gcmVjaXBp
ZW50ID8gcmVjaXBpZW50LT5nZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS5h
dHRyaWJ1dGUjI0V2ZW50KSA6IDA7IH0gXAogICAgICAgICB2b2lkIHNldE9uIyNhdHRyaWJ1dGUo
UGFzc1JlZlB0cjxFdmVudExpc3RlbmVyPiBsaXN0ZW5lcikgeyBpZiAocmVjaXBpZW50KSByZWNp
cGllbnQtPnNldEF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLmF0dHJpYnV0ZSMj
RXZlbnQsIGxpc3RlbmVyKTsgfSBcCiAKLSNpZiBVU0UoSlNDKQogICAgIGlubGluZSB2b2lkIEV2
ZW50VGFyZ2V0Ojp2aXNpdEpTRXZlbnRMaXN0ZW5lcnMoSlNDOjpTbG90VmlzaXRvciYgdmlzaXRv
cikKICAgICB7CiAgICAgICAgIEV2ZW50TGlzdGVuZXJJdGVyYXRvciBpdGVyYXRvcih0aGlzKTsK
ICAgICAgICAgd2hpbGUgKEV2ZW50TGlzdGVuZXIqIGxpc3RlbmVyID0gaXRlcmF0b3IubmV4dExp
c3RlbmVyKCkpCiAgICAgICAgICAgICBsaXN0ZW5lci0+dmlzaXRKU0Z1bmN0aW9uKHZpc2l0b3Ip
OwogICAgIH0KLSNlbmRpZgogCiAgICAgaW5saW5lIGJvb2wgRXZlbnRUYXJnZXQ6OmlzRmlyaW5n
RXZlbnRMaXN0ZW5lcnMoKQogICAgIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAJKHJldmlzaW9uIDE0
Nzc4OSkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MTMyLDEwICsxMzIsOCBAQAogI2luY2x1ZGUgIkluc3BlY3RvckNvbnRyb2xsZXIuaCIKICNlbmRp
ZgogCi0jaWYgVVNFKEpTQykKICNpbmNsdWRlIDxydW50aW1lL0pTR2xvYmFsRGF0YS5oPgogI2lu
Y2x1ZGUgPHJ1bnRpbWUvT3BlcmF0aW9ucy5oPgotI2VuZGlmCiAKICNpZiBFTkFCTEUoTUlDUk9E
QVRBKQogI2luY2x1ZGUgIkhUTUxQcm9wZXJ0aWVzQ29sbGVjdGlvbi5oIgpJbmRleDogU291cmNl
L1dlYkNvcmUvZG9tL05vZGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vTm9k
ZS5oCShyZXZpc2lvbiAxNDc3ODkpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC00MCwxMiArNDAsMTAgQEAKICNpbmNsdWRlIDx3dGYvTGlzdEhhc2hTZXQu
aD4KICNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmcuaD4KIAotI2lmIFVTRShKU0MpCiBu
YW1lc3BhY2UgSlNDIHsKICAgICBjbGFzcyBKU0dsb2JhbERhdGE7CiAgICAgY2xhc3MgU2xvdFZp
c2l0b3I7CiB9Ci0jZW5kaWYKIAogLy8gVGhpcyBuZWVkcyB0byBiZSBoZXJlIGJlY2F1c2UgRG9j
dW1lbnQuaCBhbHNvIGRlcGVuZHMgb24gaXQuCiAjZGVmaW5lIERVTVBfTk9ERV9TVEFUSVNUSUNT
IDAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5j
cHAJKHJldmlzaW9uIDE0Nzc4OSkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRp
b25Db250ZXh0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDcsMTAgKzQ3LDggQEAKICNpbmNsdWRl
IDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAotI2lmIFVTRShK
U0MpCiAvLyBGSVhNRTogVGhpcyBpcyBhIGxheWVyaW5nIHZpb2xhdGlvbi4KICNpbmNsdWRlICJK
U0RPTVdpbmRvdy5oIgotI2VuZGlmCiAKICNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogI2luY2x1
ZGUgIkRhdGFiYXNlQ29udGV4dC5oIgpAQCAtNDExLDcgKzQwOSw2IEBAIFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQ6OlRhc2s6On5UYXNrKCkKIHsKIH0KIAotI2lmIFVTRShKU0MpCiBKU0M6OkpTR2xv
YmFsRGF0YSogU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6Z2xvYmFsRGF0YSgpCiB7CiAgICAgIGlm
IChpc0RvY3VtZW50KCkpCkBAIC00MjUsNyArNDIyLDYgQEAgSlNDOjpKU0dsb2JhbERhdGEqIFNj
cmlwdEV4ZWN1dGlvbkNvbnRleAogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIHJldHVy
biAwOwogfQotI2VuZGlmCiAKICNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogdm9pZCBTY3JpcHRF
eGVjdXRpb25Db250ZXh0OjpzZXREYXRhYmFzZUNvbnRleHQoRGF0YWJhc2VDb250ZXh0KiBkYXRh
YmFzZUNvbnRleHQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25D
b250ZXh0LmgJKHJldmlzaW9uIDE0Nzc4OSkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRF
eGVjdXRpb25Db250ZXh0LmgJKHdvcmtpbmcgY29weSkKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNs
dWRlICJTY3JpcHRTdGF0ZS5oIgogI2luY2x1ZGUgIlNlY3VyaXR5Q29udGV4dC5oIgogI2luY2x1
ZGUgIlN1cHBsZW1lbnRhYmxlLmgiCisjaW5jbHVkZSA8cnVudGltZS9KU0dsb2JhbERhdGEuaD4K
ICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CkBAIC00MywxMCArNDQsNiBAQAogI2luY2x1ZGUgPHd0
Zi9UaHJlYWRpbmcuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKLSNpZiBV
U0UoSlNDKQotI2luY2x1ZGUgPHJ1bnRpbWUvSlNHbG9iYWxEYXRhLmg+Ci0jZW5kaWYKLQogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBDYWNoZWRTY3JpcHQ7CkBAIC0xNDcsOSArMTQ0LDcg
QEAgcHVibGljOgogICAgIHZvaWQgcmVtb3ZlVGltZW91dChpbnQgdGltZW91dElkKSB7IG1fdGlt
ZW91dHMucmVtb3ZlKHRpbWVvdXRJZCk7IH0KICAgICBET01UaW1lciogZmluZFRpbWVvdXQoaW50
IHRpbWVvdXRJZCkgeyByZXR1cm4gbV90aW1lb3V0cy5nZXQodGltZW91dElkKTsgfQogCi0jaWYg
VVNFKEpTQykKICAgICBKU0M6OkpTR2xvYmFsRGF0YSogZ2xvYmFsRGF0YSgpOwotI2VuZGlmCiAK
ICAgICAvLyBJbnRlcnZhbCBpcyBpbiBzZWNvbmRzLgogICAgIHZvaWQgYWRqdXN0TWluaW11bVRp
bWVySW50ZXJ2YWwoZG91YmxlIG9sZE1pbmltdW1UaW1lckludGVydmFsKTsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDc3ODkpCisr
KyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNTAsMTAgKzUwLDggQEAKICNpbmNsdWRlIDxtYXRoLmg+CiAjaW5jbHVkZSA8c3RkaW8u
aD4KIAotI2lmIFVTRShKU0MpCiAjaW5jbHVkZSA8cnVudGltZS9KU0xvY2suaD4KICNpbmNsdWRl
IDxydW50aW1lL09wZXJhdGlvbnMuaD4KLSNlbmRpZgogCiAjaWYgRU5BQkxFKFdFQkdMKSAgICAK
ICNpbmNsdWRlICJXZWJHTENvbnRleHRBdHRyaWJ1dGVzLmgiCkBAIC01NjUsMTEgKzU2Myw5IEBA
IHZvaWQgSFRNTENhbnZhc0VsZW1lbnQ6OmNyZWF0ZUltYWdlQnVmZmUKICAgICBtX2ltYWdlQnVm
ZmVyLT5jb250ZXh0KCktPnNldFN0cm9rZVRoaWNrbmVzcygxKTsKICAgICBtX2NvbnRleHRTdGF0
ZVNhdmVyID0gYWRvcHRQdHIobmV3IEdyYXBoaWNzQ29udGV4dFN0YXRlU2F2ZXIoKm1faW1hZ2VC
dWZmZXItPmNvbnRleHQoKSkpOwogCi0jaWYgVVNFKEpTQykKICAgICBKU0M6OkpTTG9ja0hvbGRl
ciBsb2NrKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+Z2xvYmFsRGF0YSgpKTsKICAgICBzaXpl
X3QgbnVtQnl0ZXMgPSA0ICogbV9pbWFnZUJ1ZmZlci0+aW50ZXJuYWxTaXplKCkud2lkdGgoKSAq
IG1faW1hZ2VCdWZmZXItPmludGVybmFsU2l6ZSgpLmhlaWdodCgpOwogICAgIHNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoKS0+Z2xvYmFsRGF0YSgpLT5oZWFwLnJlcG9ydEV4dHJhTWVtb3J5Q29zdChu
dW1CeXRlcyk7Ci0jZW5kaWYKIAogI2lmIFVTRShJT1NVUkZBQ0VfQ0FOVkFTX0JBQ0tJTkdfU1RP
UkUpIHx8IChFTkFCTEUoQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAmJiBVU0UoQUNDRUxFUkFURURf
Q09NUE9TSVRJTkcpKQogICAgIGlmIChtX2NvbnRleHQgJiYgbV9jb250ZXh0LT5pczJkKCkpCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUxvYWRlci5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VMb2FkZXIuY3BwCShyZXZpc2lvbiAxNDc3
ODkpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUxvYWRlci5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTMxLDExICszMSw5IEBACiAjaW5jbHVkZSAiSFRNTFBhcnNlcklkaW9tcy5oIgog
I2luY2x1ZGUgIlNldHRpbmdzLmgiCiAKLSNpZiBVU0UoSlNDKQogI2luY2x1ZGUgIkpTRE9NV2lu
ZG93QmFzZS5oIgogI2luY2x1ZGUgPHJ1bnRpbWUvSlNMb2NrLmg+CiAjaW5jbHVkZSA8cnVudGlt
ZS9PcGVyYXRpb25zLmg+Ci0jZW5kaWYKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC03OSw3
ICs3Nyw2IEBAIHZvaWQgSFRNTEltYWdlTG9hZGVyOjpub3RpZnlGaW5pc2hlZChDYWMKICAgICBJ
bWFnZUxvYWRlcjo6bm90aWZ5RmluaXNoZWQoY2FjaGVkSW1hZ2UpOwogCiAgICAgYm9vbCBsb2Fk
RXJyb3IgPSBjYWNoZWRJbWFnZS0+ZXJyb3JPY2N1cnJlZCgpIHx8IGNhY2hlZEltYWdlLT5yZXNw
b25zZSgpLmh0dHBTdGF0dXNDb2RlKCkgPj0gNDAwOwotI2lmIFVTRShKU0MpCiAgICAgaWYgKCFs
b2FkRXJyb3IpIHsKICAgICAgICAgaWYgKCFlbGVtZW50LT5pbkRvY3VtZW50KCkpIHsKICAgICAg
ICAgICAgIEpTQzo6SlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRhID0gSlNET01XaW5kb3dCYXNlOjpj
b21tb25KU0dsb2JhbERhdGEoKTsKQEAgLTg3LDcgKzg0LDYgQEAgdm9pZCBIVE1MSW1hZ2VMb2Fk
ZXI6Om5vdGlmeUZpbmlzaGVkKENhYwogICAgICAgICAgICAgZ2xvYmFsRGF0YS0+aGVhcC5yZXBv
cnRFeHRyYU1lbW9yeUNvc3QoY2FjaGVkSW1hZ2UtPmVuY29kZWRTaXplKCkpOwogICAgICAgICB9
CiAgICAgfQotI2VuZGlmCiAKICAgICBpZiAobG9hZEVycm9yICYmIGVsZW1lbnQtPmhhc1RhZ05h
bWUoSFRNTE5hbWVzOjpvYmplY3RUYWcpKQogICAgICAgICBzdGF0aWNfY2FzdDxIVE1MT2JqZWN0
RWxlbWVudCo+KGVsZW1lbnQuZ2V0KCkpLT5yZW5kZXJGYWxsYmFja0NvbnRlbnQoKTsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdEhvc3QuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRIb3N0LmgJKHJldmlz
aW9uIDE0Nzc4OSkKKysrIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdEhv
c3QuaAkod29ya2luZyBjb3B5KQpAQCAtMTA1LDExICsxMDUsNyBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBnZXRFdmVudExpc3RlbmVyc0ltcGwoTm9kZSosIFZlY3RvcjxFdmVudExpc3RlbmVySW5mbz4m
IGxpc3RlbmVyc0FycmF5KTsKIAogICAgIC8vIEZJWE1FOiBSZW1vdmUgZXZhbHVhdGVSZXR1cm5z
RXZhbEZ1bmN0aW9uIG9uY2UgSW5qZWN0ZWRTY3JpcHRIb3N0IHJldHVybnMgZXZhbCBpbiBldmFs
dWF0ZSBvbiBWOC4gaHR0cHM6Ly93ZWJraXQub3JnL2IvMTEzMTM0Ci0jaWYgVVNFKEpTQykKICAg
ICBib29sIGV2YWx1YXRlUmV0dXJuc0V2YWxGdW5jdGlvbigpIHsgcmV0dXJuIHRydWU7IH0KLSNl
bHNlCi0gICAgYm9vbCBldmFsdWF0ZVJldHVybnNFdmFsRnVuY3Rpb24oKSB7IHJldHVybiBmYWxz
ZTsgfQotI2VuZGlmCiAKICAgICB2b2lkIGNsZWFyQ29uc29sZU1lc3NhZ2VzKCk7CiAgICAgdm9p
ZCBjb3B5VGV4dChjb25zdCBTdHJpbmcmIHRleHQpOwpJbmRleDogU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAJKHJldmlzaW9u
IDE0Nzc4OSkKKysrIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50
YXRpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05MDgsNyArOTA4LDcgQEAgdm9pZCBJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb246OmRpZENvbW1pdAogCiAgICAgICAgIGlmIChJbnNwZWN0b3JSZXNv
dXJjZUFnZW50KiByZXNvdXJjZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9y
UmVzb3VyY2VBZ2VudCgpKQogICAgICAgICAgICAgcmVzb3VyY2VBZ2VudC0+bWFpbkZyYW1lTmF2
aWdhdGVkKGxvYWRlcik7Ci0jaWYgRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIpICYmIFVTRShK
U0MpCisjaWYgRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIpCiAgICAgICAgIGlmIChJbnNwZWN0
b3JQcm9maWxlckFnZW50KiBwcm9maWxlckFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5z
cGVjdG9yUHJvZmlsZXJBZ2VudCgpKQogICAgICAgICAgICAgcHJvZmlsZXJBZ2VudC0+cmVzZXRT
dGF0ZSgpOwogICAgICAgICBpZiAoSW5zcGVjdG9ySGVhcFByb2ZpbGVyQWdlbnQqIGhlYXBQcm9m
aWxlckFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9ySGVhcFByb2ZpbGVyQWdl
bnQoKSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCShyZXZpc2lvbiAxNDc3ODkpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzUsMTAgKzM1LDEw
IEBACiAjaW5jbHVkZSAiQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmgiCiAjaW5jbHVkZSAi
Q1NTUHJvcGVydHlOYW1lcy5oIgogI2luY2x1ZGUgIkNhY2hlZENTU1N0eWxlU2hlZXQuaCIKKyNp
bmNsdWRlICJDYWNoZWRSZXNvdXJjZUxvYWRlci5oIgogI2luY2x1ZGUgIkNocm9tZS5oIgogI2lu
Y2x1ZGUgIkNocm9tZUNsaWVudC5oIgogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgotI2luY2x1ZGUg
IkNhY2hlZFJlc291cmNlTG9hZGVyLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRUeXBlLmgiCiAjaW5j
bHVkZSAiRWRpdG9yQ2xpZW50LmgiCiAjaW5jbHVkZSAiRXZlbnQuaCIKQEAgLTYwLDcgKzYwLDkg
QEAKICNpbmNsdWRlICJIaXRUZXN0UmVzdWx0LmgiCiAjaW5jbHVkZSAiSW1hZ2VCdWZmZXIuaCIK
ICNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKKyNpbmNsdWRlICJKU0RPTVdp
bmRvd1NoZWxsLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgorI2luY2x1ZGUgIk1hdGhNTE5hbWVz
LmgiCiAjaW5jbHVkZSAiTWVkaWFGZWF0dXJlTmFtZXMuaCIKICNpbmNsdWRlICJOYXZpZ2F0b3Iu
aCIKICNpbmNsdWRlICJOb2RlTGlzdC5oIgpAQCAtNzUsNiArNzcsNyBAQAogI2luY2x1ZGUgIlJl
bmRlclRoZW1lLmgiCiAjaW5jbHVkZSAiUmVuZGVyVmlldy5oIgogI2luY2x1ZGUgIlJ1bnRpbWVF
bmFibGVkRmVhdHVyZXMuaCIKKyNpbmNsdWRlICJTVkdOYW1lcy5oIgogI2luY2x1ZGUgIlNjcmlw
dENvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJTY3JpcHRTb3VyY2VDb2RlLmgiCiAjaW5jbHVkZSAi
U2NyaXB0VmFsdWUuaCIKQEAgLTg3LDExICs5MCwxMyBAQAogI2luY2x1ZGUgIlVzZXJUeXBpbmdH
ZXN0dXJlSW5kaWNhdG9yLmgiCiAjaW5jbHVkZSAiVmlzaWJsZVVuaXRzLmgiCiAjaW5jbHVkZSAi
V2ViS2l0Rm9udEZhbWlseU5hbWVzLmgiCisjaW5jbHVkZSAiWExpbmtOYW1lcy5oIgogI2luY2x1
ZGUgIlhNTE5TTmFtZXMuaCIKICNpbmNsdWRlICJYTUxOYW1lcy5oIgogI2luY2x1ZGUgImh0bWxl
ZGl0aW5nLmgiCiAjaW5jbHVkZSAibWFya3VwLmgiCiAjaW5jbHVkZSAibnBydW50aW1lX2ltcGwu
aCIKKyNpbmNsdWRlICJydW50aW1lX3Jvb3QuaCIKICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5o
PgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkTGVha0NvdW50ZXIuaD4KICNpbmNsdWRlIDx3dGYv
U3RkTGliRXh0cmFzLmg+CkBAIC0xMDAsMTUgKzEwNSw2IEBACiAjaW5jbHVkZSAiUmVuZGVyTGF5
ZXJDb21wb3NpdG9yLmgiCiAjZW5kaWYKIAotI2lmIFVTRShKU0MpCi0jaW5jbHVkZSAiSlNET01X
aW5kb3dTaGVsbC5oIgotI2luY2x1ZGUgInJ1bnRpbWVfcm9vdC5oIgotI2VuZGlmCi0KLSNpbmNs
dWRlICJNYXRoTUxOYW1lcy5oIgotI2luY2x1ZGUgIlNWR05hbWVzLmgiCi0jaW5jbHVkZSAiWExp
bmtOYW1lcy5oIgotCiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRlICJTVkdEb2N1bWVudC5oIgog
I2luY2x1ZGUgIlNWR0RvY3VtZW50RXh0ZW5zaW9ucy5oIgpJbmRleDogU291cmNlL1dlYkNvcmUv
cGFnZS9TZXR0aW5ncy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0
aW5ncy5jcHAJKHJldmlzaW9uIDE0Nzc4OSkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGlu
Z3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDcsOSArMTA3LDcgQEAgYm9vbCBTZXR0aW5nczo6
Z1VzZXNPdmVybGF5U2Nyb2xsYmFycyA9IAogYm9vbCBTZXR0aW5nczo6Z1Nob3VsZFVzZUhpZ2hS
ZXNvbHV0aW9uVGltZXJzID0gdHJ1ZTsKICNlbmRpZgogICAgIAotI2lmIFVTRShKU0MpCiBib29s
IFNldHRpbmdzOjpnU2hvdWxkUmVzcGVjdFByaW9yaXR5SW5DU1NBdHRyaWJ1dGVTZXR0ZXJzID0g
ZmFsc2U7Ci0jZW5kaWYKIAogLy8gTk9URXMKIC8vICAxKSBFZGl0aW5nTWFjQmVoYXZpb3IgY29t
cHJpc2VzIFRpZ2VyLCBMZW9wYXJkLCBTbm93TGVvcGFyZCBhbmQgaU9TIGJ1aWxkcywgYXMgd2Vs
bCBhcyBRdFdlYktpdCB3aGVuIGJ1aWx0IG9uIE1hYzsKQEAgLTU5NSw3ICs1OTMsNiBAQCBib29s
IFNldHRpbmdzOjp1c2VzT3ZlcmxheVNjcm9sbGJhcnMoKQogICAgIHJldHVybiBnVXNlc092ZXJs
YXlTY3JvbGxiYXJzOwogfQogCi0jaWYgVVNFKEpTQykKIHZvaWQgU2V0dGluZ3M6OnNldFNob3Vs
ZFJlc3BlY3RQcmlvcml0eUluQ1NTQXR0cmlidXRlU2V0dGVycyhib29sIGZsYWcpCiB7CiAgICAg
Z1Nob3VsZFJlc3BlY3RQcmlvcml0eUluQ1NTQXR0cmlidXRlU2V0dGVycyA9IGZsYWc7CkBAIC02
MDUsNyArNjAyLDYgQEAgYm9vbCBTZXR0aW5nczo6c2hvdWxkUmVzcGVjdFByaW9yaXR5SW5DUwog
ewogICAgIHJldHVybiBnU2hvdWxkUmVzcGVjdFByaW9yaXR5SW5DU1NBdHRyaWJ1dGVTZXR0ZXJz
OwogfQotI2VuZGlmCiAKICNpZiBFTkFCTEUoSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJ
TkcpCiB2b2lkIFNldHRpbmdzOjpzZXRIaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5hYmxl
ZChib29sIGZsYWcpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCShyZXZpc2lvbiAxNDc3ODkp
CisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgJKHdvcmtpbmcgY29weSkKQEAgLTI1
OSwxMCArMjU5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2b2lkIHNldEFnZ3Jl
c3NpdmVUaWxlUmV0ZW50aW9uRW5hYmxlZChib29sKTsKICAgICAgICAgYm9vbCBhZ2dyZXNzaXZl
VGlsZVJldGVudGlvbkVuYWJsZWQoKSB7IHJldHVybiBtX2FnZ3Jlc3NpdmVUaWxlUmV0ZW50aW9u
RW5hYmxlZDsgfQogCi0jaWYgVVNFKEpTQykKICAgICAgICAgc3RhdGljIHZvaWQgc2V0U2hvdWxk
UmVzcGVjdFByaW9yaXR5SW5DU1NBdHRyaWJ1dGVTZXR0ZXJzKGJvb2wpOwogICAgICAgICBzdGF0
aWMgYm9vbCBzaG91bGRSZXNwZWN0UHJpb3JpdHlJbkNTU0F0dHJpYnV0ZVNldHRlcnMoKTsKLSNl
bmRpZgogCiAgICAgICAgIHZvaWQgc2V0VGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlk
aW5nQ29udHJvbHMoZG91YmxlIHRpbWUpIHsgbV90aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZv
cmVIaWRpbmdDb250cm9scyA9IHRpbWU7IH0KICAgICAgICAgZG91YmxlIHRpbWVXaXRob3V0TW91
c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKCkgY29uc3QgeyByZXR1cm4gbV90aW1lV2l0
aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9sczsgfQpAQCAtMzU3LDkgKzM1NSw3
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICNpZiBQTEFURk9STShXSU4pIHx8IChPUyhXSU5ET1dT
KSAmJiBQTEFURk9STShXWCkpCiAgICAgICAgIHN0YXRpYyBib29sIGdTaG91bGRVc2VIaWdoUmVz
b2x1dGlvblRpbWVyczsKICNlbmRpZgotI2lmIFVTRShKU0MpCiAgICAgICAgIHN0YXRpYyBib29s
IGdTaG91bGRSZXNwZWN0UHJpb3JpdHlJbkNTU0F0dHJpYnV0ZVNldHRlcnM7Ci0jZW5kaWYKIAog
ICAgICAgICBzdGF0aWMgZG91YmxlIGdIaWRkZW5QYWdlRE9NVGltZXJBbGlnbm1lbnRJbnRlcnZh
bDsKICAgICB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblZpZXcuY3BwCShyZXZp
c2lvbiAxNDc3ODkpCisrKyBTb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblZpZXcuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0yOCw5ICsyOCw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5j
bHVkZSAiUGx1Z2luVmlldy5oIgogCi0jaWYgVVNFKEpTQykKICNpbmNsdWRlICJCcmlkZ2VKU0Mu
aCIKLSNlbmRpZgogI2luY2x1ZGUgIkNocm9tZS5oIgogI2luY2x1ZGUgIkNvb2tpZUphci5oIgog
I2luY2x1ZGUgIkRvY3VtZW50LmgiCkBAIC00Nyw2ICs0NSw4IEBACiAjaW5jbHVkZSAiSFRNTE5h
bWVzLmgiCiAjaW5jbHVkZSAiSFRNTFBsdWdJbkVsZW1lbnQuaCIKICNpbmNsdWRlICJJbWFnZS5o
IgorI2luY2x1ZGUgIkpTRE9NQmluZGluZy5oIgorI2luY2x1ZGUgIkpTRE9NV2luZG93LmgiCiAj
aW5jbHVkZSAiS2V5Ym9hcmRFdmVudC5oIgogI2luY2x1ZGUgIk1JTUVUeXBlUmVnaXN0cnkuaCIK
ICNpbmNsdWRlICJNb3VzZUV2ZW50LmgiCkBAIC02NCw3ICs2NCwxMSBAQAogI2luY2x1ZGUgIlNl
Y3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlICJXaGVlbEV2
ZW50LmgiCisjaW5jbHVkZSAiY19pbnN0YW5jZS5oIgogI2luY2x1ZGUgIm5wcnVudGltZV9pbXBs
LmgiCisjaW5jbHVkZSAicnVudGltZV9yb290LmgiCisjaW5jbHVkZSA8cnVudGltZS9KU0NKU1Zh
bHVlLmg+CisjaW5jbHVkZSA8cnVudGltZS9KU0xvY2suaD4KICNpbmNsdWRlIDx3dGYvQVNDSUlD
VHlwZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCkBAIC03MiwxOSArNzYs
MTAgQEAKICNpbmNsdWRlICJQbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2luLmgiCiAjZW5kaWYKIAot
I2lmIFVTRShKU0MpCi0jaW5jbHVkZSAiSlNET01CaW5kaW5nLmgiCi0jaW5jbHVkZSAiSlNET01X
aW5kb3cuaCIKLSNpbmNsdWRlICJjX2luc3RhbmNlLmgiCi0jaW5jbHVkZSAicnVudGltZV9yb290
LmgiCi0jaW5jbHVkZSA8cnVudGltZS9KU0NKU1ZhbHVlLmg+Ci0jaW5jbHVkZSA8cnVudGltZS9K
U0xvY2suaD4KLQogdXNpbmcgSlNDOjpFeGVjU3RhdGU7CiB1c2luZyBKU0M6OkpTTG9jazsKIHVz
aW5nIEpTQzo6SlNPYmplY3Q7CiB1c2luZyBKU0M6OkpTVmFsdWU7Ci0jZW5kaWYKIAogI2lmIEVO
QUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQogCkBAIC0yNTAsOSArMjQ1LDcgQEAgYm9vbCBQbHVn
aW5WaWV3OjpzdGFydCgpCiAgICAgTlBFcnJvciBucEVycjsKICAgICB7CiAgICAgICAgIFBsdWdp
blZpZXc6OnNldEN1cnJlbnRQbHVnaW5WaWV3KHRoaXMpOwotI2lmIFVTRShKU0MpCiAgICAgICAg
IEpTQzo6SlNMb2NrOjpEcm9wQWxsTG9ja3MgZHJvcEFsbExvY2tzKEpTRE9NV2luZG93QmFzZTo6
Y29tbW9uSlNHbG9iYWxEYXRhKCkpOwotI2VuZGlmCiAgICAgICAgIHNldENhbGxpbmdQbHVnaW4o
dHJ1ZSk7CiAgICAgICAgIG5wRXJyID0gbV9wbHVnaW4tPnBsdWdpbkZ1bmNzKCktPm5ld3AoKE5Q
TUlNRVR5cGUpbV9taW1lVHlwZS51dGY4KCkuZGF0YSgpLCBtX2luc3RhbmNlLCBtX21vZGUsIG1f
cGFyYW1Db3VudCwgbV9wYXJhbU5hbWVzLCBtX3BhcmFtVmFsdWVzLCBOVUxMKTsKICAgICAgICAg
c2V0Q2FsbGluZ1BsdWdpbihmYWxzZSk7CkBAIC0zNDAsOSArMzMzLDcgQEAgdm9pZCBQbHVnaW5W
aWV3OjpzdG9wKCkKIAogICAgIG1faXNTdGFydGVkID0gZmFsc2U7CiAKLSNpZiBVU0UoSlNDKQog
ICAgIEpTQzo6SlNMb2NrOjpEcm9wQWxsTG9ja3MgZHJvcEFsbExvY2tzKEpTRE9NV2luZG93QmFz
ZTo6Y29tbW9uSlNHbG9iYWxEYXRhKCkpOwotI2VuZGlmCiAKICNpZiBFTkFCTEUoTkVUU0NBUEVf
UExVR0lOX0FQSSkKICNpZiBkZWZpbmVkKFhQX1dJTikgJiYgIVBMQVRGT1JNKEdUSykKQEAgLTQ1
OSw5ICs0NTAsNyBAQCB2b2lkIFBsdWdpblZpZXc6OnBlcmZvcm1SZXF1ZXN0KFBsdWdpblJlCiAg
ICAgICAgICAgICAvLyBGSVhNRTogPHJkYXI6Ly9wcm9ibGVtLzQ4MDc0Njk+IFRoaXMgc2hvdWxk
IGJlIHNlbnQgd2hlbiB0aGUgZG9jdW1lbnQgaGFzIGZpbmlzaGVkIGxvYWRpbmcKICAgICAgICAg
ICAgIGlmIChyZXF1ZXN0LT5zZW5kTm90aWZpY2F0aW9uKCkpIHsKICAgICAgICAgICAgICAgICBQ
bHVnaW5WaWV3OjpzZXRDdXJyZW50UGx1Z2luVmlldyh0aGlzKTsKLSNpZiBVU0UoSlNDKQogICAg
ICAgICAgICAgICAgIEpTQzo6SlNMb2NrOjpEcm9wQWxsTG9ja3MgZHJvcEFsbExvY2tzKEpTRE9N
V2luZG93QmFzZTo6Y29tbW9uSlNHbG9iYWxEYXRhKCkpOwotI2VuZGlmCiAgICAgICAgICAgICAg
ICAgc2V0Q2FsbGluZ1BsdWdpbih0cnVlKTsKICAgICAgICAgICAgICAgICBtX3BsdWdpbi0+cGx1
Z2luRnVuY3MoKS0+dXJsbm90aWZ5KG1faW5zdGFuY2UsIHJlcXVlc3RVUkwuc3RyaW5nKCkudXRm
OCgpLmRhdGEoKSwgTlBSRVNfRE9ORSwgcmVxdWVzdC0+bm90aWZ5RGF0YSgpKTsKICAgICAgICAg
ICAgICAgICBzZXRDYWxsaW5nUGx1Z2luKGZhbHNlKTsKQEAgLTQ4MiwxMSArNDcxLDcgQEAgdm9p
ZCBQbHVnaW5WaWV3OjpwZXJmb3JtUmVxdWVzdChQbHVnaW5SZQogICAgIGlmICh0YXJnZXRGcmFt
ZU5hbWUuaXNOdWxsKCkpIHsKICAgICAgICAgU3RyaW5nIHJlc3VsdFN0cmluZzsKIAotI2lmIFVT
RShKU0MpCiAgICAgICAgIFNjcmlwdFN0YXRlKiBzY3JpcHRTdGF0ZSA9IG1fcGFyZW50RnJhbWUt
PnNjcmlwdCgpLT5nbG9iYWxPYmplY3QocGx1Z2luV29ybGQoKSktPmdsb2JhbEV4ZWMoKTsKLSNl
bGlmIFVTRShWOCkKLSAgICAgICAgU2NyaXB0U3RhdGUqIHNjcmlwdFN0YXRlID0gMDsgLy8gTm90
IHVzZWQgd2l0aCBWOAotI2VuZGlmCiAgICAgICAgIENTdHJpbmcgY3N0cjsKICAgICAgICAgaWYg
KHJlc3VsdC5nZXRTdHJpbmcoc2NyaXB0U3RhdGUsIHJlc3VsdFN0cmluZykpCiAgICAgICAgICAg
ICBjc3RyID0gcmVzdWx0U3RyaW5nLnV0ZjgoKTsKQEAgLTc0OSw5ICs3MzQsNyBAQCBOUE9iamVj
dCogUGx1Z2luVmlldzo6bnBPYmplY3QoKQogICAgIE5QRXJyb3IgbnBFcnI7CiAgICAgewogICAg
ICAgICBQbHVnaW5WaWV3OjpzZXRDdXJyZW50UGx1Z2luVmlldyh0aGlzKTsKLSNpZiBVU0UoSlND
KQogICAgICAgICBKU0M6OkpTTG9jazo6RHJvcEFsbExvY2tzIGRyb3BBbGxMb2NrcyhKU0RPTVdp
bmRvd0Jhc2U6OmNvbW1vbkpTR2xvYmFsRGF0YSgpKTsKLSNlbmRpZgogICAgICAgICBzZXRDYWxs
aW5nUGx1Z2luKHRydWUpOwogICAgICAgICBucEVyciA9IG1fcGx1Z2luLT5wbHVnaW5GdW5jcygp
LT5nZXR2YWx1ZShtX2luc3RhbmNlLCBOUFBWcGx1Z2luU2NyaXB0YWJsZU5QT2JqZWN0LCAmb2Jq
ZWN0KTsKICAgICAgICAgc2V0Q2FsbGluZ1BsdWdpbihmYWxzZSk7CkBAIC03NjUsNyArNzQ4LDYg
QEAgTlBPYmplY3QqIFBsdWdpblZpZXc6Om5wT2JqZWN0KCkKIH0KICNlbmRpZgogCi0jaWYgVVNF
KEpTQykKIFBhc3NSZWZQdHI8SlNDOjpCaW5kaW5nczo6SW5zdGFuY2U+IFBsdWdpblZpZXc6OmJp
bmRpbmdJbnN0YW5jZSgpCiB7CiAjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCkBAIC03
OTAsNyArNzcyLDYgQEAgUGFzc1JlZlB0cjxKU0M6OkJpbmRpbmdzOjpJbnN0YW5jZT4gUGx1Zwog
ICAgIHJldHVybiAwOwogI2VuZGlmCiB9Ci0jZW5kaWYKIAogdm9pZCBQbHVnaW5WaWV3OjpkaXNj
b25uZWN0U3RyZWFtKFBsdWdpblN0cmVhbSogc3RyZWFtKQogewpAQCAtMTUyNSw5ICsxNTA2LDcg
QEAgdm9pZCBQbHVnaW5WaWV3Ojpwcml2YXRlQnJvd3NpbmdTdGF0ZUNoYQogICAgICAgICByZXR1
cm47CiAKICAgICBQbHVnaW5WaWV3OjpzZXRDdXJyZW50UGx1Z2luVmlldyh0aGlzKTsKLSNpZiBV
U0UoSlNDKQogICAgIEpTQzo6SlNMb2NrOjpEcm9wQWxsTG9ja3MgZHJvcEFsbExvY2tzKEpTRE9N
V2luZG93QmFzZTo6Y29tbW9uSlNHbG9iYWxEYXRhKCkpOwotI2VuZGlmCiAgICAgc2V0Q2FsbGlu
Z1BsdWdpbih0cnVlKTsKICAgICBOUEJvb2wgdmFsdWUgPSBwcml2YXRlQnJvd3NpbmdFbmFibGVk
OwogICAgIHNldFZhbHVlKG1faW5zdGFuY2UsIE5QTlZwcml2YXRlTW9kZUJvb2wsICZ2YWx1ZSk7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblZpZXcuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblZpZXcuaAkocmV2aXNpb24gMTQ3Nzg5KQor
KysgU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3LmgJKHdvcmtpbmcgY29weSkKQEAg
LTc1LDEzICs3NSwxMSBAQCBRVF9FTkRfTkFNRVNQQUNFCiB0eXBlZGVmIHN0cnVjdCBfR3RrU29j
a2V0IEd0a1NvY2tldDsKICNlbmRpZgogCi0jaWYgVVNFKEpTQykKIG5hbWVzcGFjZSBKU0Mgewog
ICAgIG5hbWVzcGFjZSBCaW5kaW5ncyB7CiAgICAgICAgIGNsYXNzIEluc3RhbmNlOwogICAgIH0K
IH0KLSNlbmRpZgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgRnJhbWU7CkBAIC0x
NTYsOSArMTU0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogI2lmIEVOQUJMRShORVRTQ0FQRV9Q
TFVHSU5fQVBJKQogICAgICAgICBOUE9iamVjdCogbnBPYmplY3QoKTsKICNlbmRpZgotI2lmIFVT
RShKU0MpCiAgICAgICAgIFBhc3NSZWZQdHI8SlNDOjpCaW5kaW5nczo6SW5zdGFuY2U+IGJpbmRp
bmdJbnN0YW5jZSgpOwotI2VuZGlmCiAKICAgICAgICAgUGx1Z2luU3RhdHVzIHN0YXR1cygpIGNv
bnN0IHsgcmV0dXJuIG1fc3RhdHVzOyB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsdWdpbnMv
UGx1Z2luVmlld0Jhc2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1Bs
dWdpblZpZXdCYXNlLmgJKHJldmlzaW9uIDE0Nzc4OSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsdWdp
bnMvUGx1Z2luVmlld0Jhc2UuaAkod29ya2luZyBjb3B5KQpAQCAtMzAsMTYgKzMwLDExIEBACiAj
aW5jbHVkZSAiV2lkZ2V0LmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKLSNp
ZiBVU0UoVjgpCi1zdHJ1Y3QgTlBPYmplY3Q7Ci0jZW5kaWYKLSNpZiBVU0UoSlNDKQogbmFtZXNw
YWNlIEpTQyB7CiAgICAgY2xhc3MgRXhlY1N0YXRlOwogICAgIGNsYXNzIEpTR2xvYmFsT2JqZWN0
OwogICAgIGNsYXNzIEpTT2JqZWN0OwogfQotI2VuZGlmCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IApAQCAtNTMsMTIgKzQ4LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgUGxhdGZvcm1MYXllciog
cGxhdGZvcm1MYXllcigpIGNvbnN0IHsgcmV0dXJuIDA7IH0KICNlbmRpZgogCi0jaWYgVVNFKFY4
KQotICAgIHZpcnR1YWwgTlBPYmplY3QqIHNjcmlwdGFibGVPYmplY3QoKSB7IHJldHVybiAwOyB9
Ci0jZW5kaWYKLSNpZiBVU0UoSlNDKQogICAgIHZpcnR1YWwgSlNDOjpKU09iamVjdCogc2NyaXB0
T2JqZWN0KEpTQzo6SlNHbG9iYWxPYmplY3QqKSB7IHJldHVybiAwOyB9Ci0jZW5kaWYKICAgICB2
aXJ0dWFsIHZvaWQgc3RvcmFnZUJsb2NraW5nU3RhdGVDaGFuZ2VkKCkgeyB9CiAgICAgdmlydHVh
bCB2b2lkIHByaXZhdGVCcm93c2luZ1N0YXRlQ2hhbmdlZChib29sKSB7IH0KICAgICB2aXJ0dWFs
IGJvb2wgZ2V0Rm9ybVZhbHVlKFN0cmluZyYpIHsgcmV0dXJuIGZhbHNlOyB9CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblZpZXdOb25lLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblZpZXdOb25lLmNwcAkocmV2aXNpb24gMTQ3Nzg5KQor
KysgU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3Tm9uZS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTI2LDEwICsyNiw4IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiUGx1
Z2luVmlldy5oIgogCi0jaWYgVVNFKEpTQykKICNpbmNsdWRlICJCcmlkZ2VKU0MuaCIKICNpbmNs
dWRlIDxydW50aW1lL0pTT2JqZWN0Lmg+Ci0jZW5kaWYKIAogdXNpbmcgbmFtZXNwYWNlIFdURjsK
IApAQCAtMTQxLDEyICsxMzksMTAgQEAgdm9pZCBQbHVnaW5WaWV3OjprZWVwQWxpdmUoTlBQKQog
fQogI2VuZGlmCiAKLSNpZiBVU0UoSlNDKQogUGFzc1JlZlB0cjxKU0M6OkJpbmRpbmdzOjpJbnN0
YW5jZT4gUGx1Z2luVmlldzo6YmluZGluZ0luc3RhbmNlKCkKIHsKICAgICByZXR1cm4gMDsKIH0K
LSNlbmRpZgogCiB2b2lkIFBsdWdpblZpZXc6OnByaXZhdGVCcm93c2luZ1N0YXRlQ2hhbmdlZChi
b29sKQogewpJbmRleDogU291cmNlL1dlYkNvcmUvcGx1Z2lucy9xdC9QbHVnaW5WaWV3UXQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsdWdpbnMvcXQvUGx1Z2luVmlld1F0LmNw
cAkocmV2aXNpb24gMTQ3Nzg5KQorKysgU291cmNlL1dlYkNvcmUvcGx1Z2lucy9xdC9QbHVnaW5W
aWV3UXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw5ICsyOCw3IEBACiAjaW5jbHVkZSAiY29u
ZmlnLmgiCiAjaW5jbHVkZSAiUGx1Z2luVmlldy5oIgogCi0jaWYgVVNFKEpTQykKICNpbmNsdWRl
ICJCcmlkZ2VKU0MuaCIKLSNlbmRpZgogI2luY2x1ZGUgIkNocm9tZS5oIgogI2luY2x1ZGUgIkNo
cm9tZUNsaWVudC5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCkBAIC00OSw5ICs0Nyw3IEBACiAj
aW5jbHVkZSAiSG9zdFdpbmRvdy5oIgogI2luY2x1ZGUgIklGcmFtZVNoaW1TdXBwb3J0LmgiCiAj
aW5jbHVkZSAiSW1hZ2UuaCIKLSNpZiBVU0UoSlNDKQogI2luY2x1ZGUgIkpTRE9NQmluZGluZy5o
IgotI2VuZGlmCiAjaW5jbHVkZSAiS2V5Ym9hcmRFdmVudC5oIgogI2luY2x1ZGUgIk1vdXNlRXZl
bnQuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgpAQCAtNjUsOSArNjEsNyBAQAogI2lu
Y2x1ZGUgIlJlbmRlck9iamVjdC5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAi
bnBydW50aW1lX2ltcGwuaCIKLSNpZiBVU0UoSlNDKQogI2luY2x1ZGUgInJ1bnRpbWVfcm9vdC5o
IgotI2VuZGlmCiAjaW5jbHVkZSA8UUtleUV2ZW50PgogI2luY2x1ZGUgPFFQYWludGVyPgogI2lu
Y2x1ZGUgPFgxMS9YLmg+CkBAIC04NSw5ICs3OSw3IEBACiAjaW5jbHVkZSA8cXBhL3FwbGF0Zm9y
bW5hdGl2ZWludGVyZmFjZS5oPgogCiB1c2luZyBKU0M6OkV4ZWNTdGF0ZTsKLSNpZiBVU0UoSlND
KQogdXNpbmcgSlNDOjpJbnRlcnByZXRlcjsKLSNlbmRpZgogdXNpbmcgSlNDOjpKU0xvY2s7CiB1
c2luZyBKU0M6OkpTT2JqZWN0OwogCkBAIC0yODEsOSArMjczLDcgQEAgYm9vbCBQbHVnaW5WaWV3
OjpkaXNwYXRjaE5QRXZlbnQoTlBFdmVudAogICAgIH0KIAogICAgIFBsdWdpblZpZXc6OnNldEN1
cnJlbnRQbHVnaW5WaWV3KHRoaXMpOwotI2lmIFVTRShKU0MpCiAgICAgSlNDOjpKU0xvY2s6OkRy
b3BBbGxMb2NrcyBkcm9wQWxsTG9ja3MoSlNET01XaW5kb3dCYXNlOjpjb21tb25KU0dsb2JhbERh
dGEoKSk7Ci0jZW5kaWYKICAgICBzZXRDYWxsaW5nUGx1Z2luKHRydWUpOwogICAgIGJvb2wgYWNj
ZXB0ZWQgPSAhbV9wbHVnaW4tPnBsdWdpbkZ1bmNzKCktPmV2ZW50KG1faW5zdGFuY2UsICZldmVu
dCk7CiAgICAgc2V0Q2FsbGluZ1BsdWdpbihmYWxzZSk7CkBAIC01NjYsOSArNTU2LDcgQEAgdm9p
ZCBQbHVnaW5WaWV3OjpzZXROUFdpbmRvd0lmTmVlZGVkKCkKICAgICB9CiAKICAgICBQbHVnaW5W
aWV3OjpzZXRDdXJyZW50UGx1Z2luVmlldyh0aGlzKTsKLSNpZiBVU0UoSlNDKQogICAgIEpTQzo6
SlNMb2NrOjpEcm9wQWxsTG9ja3MgZHJvcEFsbExvY2tzKEpTRE9NV2luZG93QmFzZTo6Y29tbW9u
SlNHbG9iYWxEYXRhKCkpOwotI2VuZGlmCiAgICAgc2V0Q2FsbGluZ1BsdWdpbih0cnVlKTsKICAg
ICBtX3BsdWdpbi0+cGx1Z2luRnVuY3MoKS0+c2V0d2luZG93KG1faW5zdGFuY2UsICZtX25wV2lu
ZG93KTsKICAgICBzZXRDYWxsaW5nUGx1Z2luKGZhbHNlKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3htbC9YTUxIdHRwUmVxdWVzdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUveG1s
L1hNTEh0dHBSZXF1ZXN0LmNwcAkocmV2aXNpb24gMTQ3Nzg5KQorKysgU291cmNlL1dlYkNvcmUv
eG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDAsNiArNDAsOCBAQAog
I2luY2x1ZGUgIkhUVFBQYXJzZXJzLmgiCiAjaW5jbHVkZSAiSGlzdG9ncmFtU3VwcG9ydC5oIgog
I2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgorI2luY2x1ZGUgIkpTRE9NQmlu
ZGluZy5oIgorI2luY2x1ZGUgIkpTRE9NV2luZG93LmgiCiAjaW5jbHVkZSAiTWVtb3J5Q2FjaGUu
aCIKICNpbmNsdWRlICJQYXJzZWRDb250ZW50VHlwZS5oIgogI2luY2x1ZGUgIlJlc291cmNlRXJy
b3IuaCIKQEAgLTU2LDYgKzU4LDkgQEAKICNpbmNsdWRlICJYTUxIdHRwUmVxdWVzdFByb2dyZXNz
RXZlbnQuaCIKICNpbmNsdWRlICJYTUxIdHRwUmVxdWVzdFVwbG9hZC5oIgogI2luY2x1ZGUgIm1h
cmt1cC5oIgorI2luY2x1ZGUgPGhlYXAvU3Ryb25nLmg+CisjaW5jbHVkZSA8cnVudGltZS9KU0xv
Y2suaD4KKyNpbmNsdWRlIDxydW50aW1lL09wZXJhdGlvbnMuaD4KICNpbmNsdWRlIDx3dGYvQXJy
YXlCdWZmZXIuaD4KICNpbmNsdWRlIDx3dGYvQXJyYXlCdWZmZXJWaWV3Lmg+CiAjaW5jbHVkZSA8
d3RmL1JlZkNvdW50ZWRMZWFrQ291bnRlci5oPgpAQCAtNjcsMTQgKzcyLDYgQEAKICNpbmNsdWRl
ICJDYWNoZWRSZXNvdXJjZVJlcXVlc3RJbml0aWF0b3JzLmgiCiAjZW5kaWYKIAotI2lmIFVTRShK
U0MpCi0jaW5jbHVkZSAiSlNET01CaW5kaW5nLmgiCi0jaW5jbHVkZSAiSlNET01XaW5kb3cuaCIK
LSNpbmNsdWRlIDxoZWFwL1N0cm9uZy5oPgotI2luY2x1ZGUgPHJ1bnRpbWUvSlNMb2NrLmg+Ci0j
aW5jbHVkZSA8cnVudGltZS9PcGVyYXRpb25zLmg+Ci0jZW5kaWYKLQogbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBERUZJTkVfREVCVUdfT05MWV9HTE9CQUwoV1RGOjpSZWZDb3VudGVkTGVha0NvdW50
ZXIsIHhtbEh0dHBSZXF1ZXN0Q291bnRlciwgKCJYTUxIdHRwUmVxdWVzdCIpKTsKQEAgLTkzNiw3
ICs5MzMsNiBAQCB2b2lkIFhNTEh0dHBSZXF1ZXN0OjphYm9ydEVycm9yKCkKIAogdm9pZCBYTUxI
dHRwUmVxdWVzdDo6ZHJvcFByb3RlY3Rpb24oKQogewotI2lmIFVTRShKU0MpCiAgICAgLy8gVGhl
IFhIUiBvYmplY3QgaXRzZWxmIGhvbGRzIG9uIHRvIHRoZSByZXNwb25zZVRleHQsIGFuZAogICAg
IC8vIHRodXMgaGFzIGV4dHJhIGNvc3QgZXZlbiBpbmRlcGVuZGVudCBvZiBhbnkKICAgICAvLyBy
ZXNwb25zZVRleHQgb3IgcmVzcG9uc2VYTUwgb2JqZWN0cyBpdCBoYXMgaGFuZGVkCkBAIC05NDYs
NyArOTQyLDYgQEAgdm9pZCBYTUxIdHRwUmVxdWVzdDo6ZHJvcFByb3RlY3Rpb24oKQogICAgIEpT
Qzo6SlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRhID0gc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5n
bG9iYWxEYXRhKCk7CiAgICAgSlNDOjpKU0xvY2tIb2xkZXIgbG9jayhnbG9iYWxEYXRhKTsKICAg
ICBnbG9iYWxEYXRhLT5oZWFwLnJlcG9ydEV4dHJhTWVtb3J5Q29zdChtX3Jlc3BvbnNlQnVpbGRl
ci5sZW5ndGgoKSAqIDIpOwotI2VuZGlmCiAKICAgICB1bnNldFBlbmRpbmdBY3Rpdml0eSh0aGlz
KTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0Nzc5MSkKKysrIFNvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDEzLTA0LTA1ICBH
ZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CisKKyAgICAgICAgTWFkZSBVU0UoSlND
KSB1bmNvbmRpdGlvbmFsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMTQwNTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIFNoYXJlZC9saW51eC9XZWJNZW1vcnlTYW1wbGVyTGludXguY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJNZW1vcnlTYW1wbGVyOjpzYW1wbGVXZWJLaXQpOgorICAgICAgICAqIGNv
bmZpZy5oOgorCiAyMDEzLTA0LTA1ICBFZCBCYXJ0b3NoICA8YmFydG9zaEBnbWFpbC5jb20+CiAK
ICAgICAgICAgW0VGTF1bV0syXSAtLW5vLXRpbGVkLWJhY2tpbmctc3RvcmUgYnVpbGQgZmFpbHMg
YmVjYXVzZSBvZiBub3QgdXNlZCAjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQpJbmRleDog
U291cmNlL1dlYktpdDIvY29uZmlnLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvY29u
ZmlnLmgJKHJldmlzaW9uIDE0Nzc4OSkKKysrIFNvdXJjZS9XZWJLaXQyL2NvbmZpZy5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMiwxMiArMzIsMTAgQEAKICNpbmNsdWRlICJjbWFrZWNvbmZpZy5oIgog
I2VuZGlmCiAKKyNpbmNsdWRlIDxydW50aW1lL0pTRXhwb3J0TWFjcm9zLmg+CiAjaW5jbHVkZSA8
d3RmL0Rpc2FsbG93Q1R5cGUuaD4KICNpbmNsdWRlIDx3dGYvUGxhdGZvcm0uaD4KICNpbmNsdWRl
IDx3dGYvRXhwb3J0TWFjcm9zLmg+Ci0jaWYgVVNFKEpTQykKLSNpbmNsdWRlIDxydW50aW1lL0pT
RXhwb3J0TWFjcm9zLmg+Ci0jZW5kaWYKIAogI2lmZGVmIF9fY3BsdXNwbHVzCiAjaWZuZGVmIEVY
VEVSTl9DX0JFR0lOCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbGludXgvV2ViTWVtb3J5
U2FtcGxlckxpbnV4LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbGlu
dXgvV2ViTWVtb3J5U2FtcGxlckxpbnV4LmNwcAkocmV2aXNpb24gMTQ3Nzg5KQorKysgU291cmNl
L1dlYktpdDIvU2hhcmVkL2xpbnV4L1dlYk1lbW9yeVNhbXBsZXJMaW51eC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTE1NCw3ICsxNTQsNiBAQCBXZWJNZW1vcnlTdGF0aXN0aWNzIFdlYk1lbW9yeVNh
bXBsZXI6OnNhCiAgICAgYXBwZW5kS2V5VmFsdWVQYWlyKHdlYktpdE1lbW9yeVN0YXRzLCBBU0NJ
SUxpdGVyYWwoIkZhc3QgTWFsbG9jIENvbW1pdHRlZCBNZW1vcnkiKSwgZmFzdE1hbGxvY0J5dGVz
Q29tbWl0dGVkKTsKICNlbmRpZgogCi0jaWYgVVNFKEpTQykKICAgICBzaXplX3QganNjSGVhcEJ5
dGVzSW5Vc2UgPSBKU0RPTVdpbmRvdzo6Y29tbW9uSlNHbG9iYWxEYXRhKCktPmhlYXAuc2l6ZSgp
OwogICAgIHNpemVfdCBqc2NIZWFwQnl0ZXNDb21taXR0ZWQgPSBKU0RPTVdpbmRvdzo6Y29tbW9u
SlNHbG9iYWxEYXRhKCktPmhlYXAuY2FwYWNpdHkoKTsKICAgICB0b3RhbEJ5dGVzSW5Vc2UgKz0g
anNjSGVhcEJ5dGVzSW5Vc2U7CkBAIC0xNjksNyArMTY4LDYgQEAgV2ViTWVtb3J5U3RhdGlzdGlj
cyBXZWJNZW1vcnlTYW1wbGVyOjpzYQogICAgIAogICAgIGFwcGVuZEtleVZhbHVlUGFpcih3ZWJL
aXRNZW1vcnlTdGF0cywgQVNDSUlMaXRlcmFsKCJKYXZhU2NyaXB0IFN0YWNrIEJ5dGVzIiksIGds
b2JhbE1lbW9yeVN0YXRzLnN0YWNrQnl0ZXMpOwogICAgIGFwcGVuZEtleVZhbHVlUGFpcih3ZWJL
aXRNZW1vcnlTdGF0cywgQVNDSUlMaXRlcmFsKCJKYXZhU2NyaXB0IEpJVCBCeXRlcyIpLCBnbG9i
YWxNZW1vcnlTdGF0cy5KSVRCeXRlcyk7Ci0jZW5kaWYKIAogICAgIGFwcGVuZEtleVZhbHVlUGFp
cih3ZWJLaXRNZW1vcnlTdGF0cywgQVNDSUlMaXRlcmFsKCJUb3RhbCBNZW1vcnkgSW4gVXNlIiks
IHRvdGFsQnl0ZXNJblVzZSk7CiAgICAgYXBwZW5kS2V5VmFsdWVQYWlyKHdlYktpdE1lbW9yeVN0
YXRzLCBBU0NJSUxpdGVyYWwoIlRvdGFsIENvbW1pdHRlZCBNZW1vcnkiKSwgdG90YWxCeXRlc0Nv
bW1pdHRlZCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNDc3OTEpCisrKyBTb3Vy
Y2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAor
MjAxMy0wNC0wNSAgR2VvZmZyZXkgR2FyZW4gIDxnZ2FyZW5AYXBwbGUuY29tPgorCisgICAgICAg
IE1hZGUgVVNFKEpTQykgdW5jb25kaXRpb25hbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE0MDU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBld2svZXdrX2ZyYW1lLmNwcDoKKyAgICAgICAgKGV3a19m
cmFtZV9zY3JpcHRfZXhlY3V0ZSk6CisKIDIwMTMtMDQtMDQgIENocmlzdG9waGUgRHVtZXogIDxj
aC5kdW1lekBzaXNhLnNhbXN1bmcuY29tPgogCiAgICAgICAgIFtDYWlyb10gRml4IGNhbnZhcyBk
cmF3aW5nIG9mIFNWRy1iYXNlZCBwYXR0ZXJucyBhbmQgcmVtb3ZlIE5hdGl2ZUltYWdlQ2Fpcm8K
SW5kZXg6IFNvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfZnJhbWUuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfZnJhbWUuY3BwCShyZXZpc2lvbiAxNDc3ODkpCisr
KyBTb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NDQ2LDcgKzQ0Niw2IEBAIGNvbnN0IGNoYXIqIGV3a19mcmFtZV9zY3JpcHRfZXhlY3V0ZShFdmEK
ICAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwoc21hcnREYXRhLT5mcmFtZSwgMCk7
CiAgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk5fVkFMKHNjcmlwdCwgMCk7CiAKLSNpZiBV
U0UoSlNDKQogICAgIFdURjo6U3RyaW5nIHJlc3VsdFN0cmluZzsKICAgICBKU0M6OkpTVmFsdWUg
cmVzdWx0ID0gc21hcnREYXRhLT5mcmFtZS0+c2NyaXB0KCktPmV4ZWN1dGVTY3JpcHQoV1RGOjpT
dHJpbmc6OmZyb21VVEY4KHNjcmlwdCksIHRydWUpLmpzVmFsdWUoKTsKIApAQCAtNDYwLDEwICs0
NTksNiBAQCBjb25zdCBjaGFyKiBld2tfZnJhbWVfc2NyaXB0X2V4ZWN1dGUoRXZhCiAgICAgSlND
OjpKU0xvY2tIb2xkZXIgbG9jayhleGVjKTsKICAgICByZXN1bHRTdHJpbmcgPSByZXN1bHQudG9T
dHJpbmcoZXhlYyktPnZhbHVlKGV4ZWMpOwogICAgIHJldHVybiBlaW5hX3N0cmluZ3NoYXJlX2Fk
ZChyZXN1bHRTdHJpbmcudXRmOCgpLmRhdGEoKSk7Ci0jZWxzZQotICAgIG5vdEltcGxlbWVudGVk
KCk7Ci0gICAgcmV0dXJuIDA7Ci0jZW5kaWYKIH0KIAogRWluYV9Cb29sIGV3a19mcmFtZV9lZGl0
YWJsZV9nZXQoY29uc3QgRXZhc19PYmplY3QqIGV3a0ZyYW1lKQpJbmRleDogU291cmNlL1dlYktp
dC9xdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cJ
KHJldmlzaW9uIDE0Nzc5MSkKKysrIFNvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTMtMDQtMDUgIEdlb2ZmcmV5IEdhcmVuICA8Z2dh
cmVuQGFwcGxlLmNvbT4KKworICAgICAgICBNYWRlIFVTRShKU0MpIHVuY29uZGl0aW9uYWwKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNDA1OAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQXBpL3F3ZWJz
Y3JpcHR3b3JsZC5jcHA6CisgICAgICAgIChRV2ViU2NyaXB0V29ybGQ6OlFXZWJTY3JpcHRXb3Js
ZCk6CisKIDIwMTMtMDQtMDQgIFN6ZSBIb3dlIEtvaCAgPHN6ZWhvd2Uua29oQGdtYWlsLmNvbT4K
IAogICAgICAgICBbUXRdIGRvY3M6IEZpeCBtb2R1bGUgbmFtZSBmb3JtYXQKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQvcXQvQXBpL3F3ZWJzY3JpcHR3b3JsZC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdC9xdC9BcGkvcXdlYnNjcmlwdHdvcmxkLmNwcAkocmV2aXNpb24gMTQ3Nzg5KQorKysg
U291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnNjcmlwdHdvcmxkLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMzIsOSArMzIsNyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKICovCiBRV2ViU2NyaXB0
V29ybGQ6OlFXZWJTY3JpcHRXb3JsZCgpCiB7Ci0jaWYgVVNFKEpTQykKICAgICBkID0gbmV3IFFX
ZWJTY3JpcHRXb3JsZFByaXZhdGUoU2NyaXB0Q29udHJvbGxlcjo6Y3JlYXRlV29ybGQoKSk7Ci0j
ZW5kaWYKIH0KIAogUVdlYlNjcmlwdFdvcmxkOjpRV2ViU2NyaXB0V29ybGQoY29uc3QgUVdlYlNj
cmlwdFdvcmxkJiBvdGhlcikK
</data>
<flag name="review"
          id="218795"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>