<?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>33792</bug_id>
          
          <creation_ts>2010-01-18 03:52:32 -0800</creation_ts>
          <short_desc>Style in WebCore/bridge/jni/jsc/JavaInstanceJSC needs fixing</short_desc>
          <delta_ts>2010-01-18 17:33:47 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          
          <blocked>33672</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Steve Block">steveblock</reporter>
          <assigned_to name="Steve Block">steveblock</assigned_to>
          <cc>abarth</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dimich</cc>
    
    <cc>eric</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>181810</commentid>
    <comment_count>0</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-01-18 03:52:32 -0800</bug_when>
    <thetext>Style in WebCore/bridge/jni/jsc/JavaInstanceJSC needs fixing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181931</commentid>
    <comment_count>1</comment_count>
      <attachid>46834</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-01-18 11:02:37 -0800</bug_when>
    <thetext>Created attachment 46834
Patch 1 for Bug 33792</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181933</commentid>
    <comment_count>2</comment_count>
      <attachid>46834</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-01-18 11:05:56 -0800</bug_when>
    <thetext>Comment on attachment 46834
Patch 1 for Bug 33792

Looks great.  Thanks for doing this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182021</commentid>
    <comment_count>3</comment_count>
      <attachid>46834</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-01-18 15:41:05 -0800</bug_when>
    <thetext>Comment on attachment 46834
Patch 1 for Bug 33792

Commit queue seems not to like this patch, so will land manually</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182023</commentid>
    <comment_count>4</comment_count>
      <attachid>46834</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-01-18 15:49:41 -0800</bug_when>
    <thetext>Comment on attachment 46834
Patch 1 for Bug 33792

Clearing flags on attachment: 46834

Committed r53436: &lt;http://trac.webkit.org/changeset/53436&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182024</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-01-18 15:49:48 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182059</commentid>
    <comment_count>6</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-01-18 17:33:47 -0800</bug_when>
    <thetext>I&apos;m not sure what you mean by &quot;does not like&quot;?  Did it take a while to land?  Likely because the tree has been red off an on this weekend. :(
http://webkit-commit-queue.appspot.com/</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46834</attachid>
            <date>2010-01-18 11:02:37 -0800</date>
            <delta_ts>2010-01-18 15:49:41 -0800</delta_ts>
            <desc>Patch 1 for Bug 33792</desc>
            <filename>javaInstanceStyle.txt</filename>
            <type>text/plain</type>
            <size>20763</size>
            <attacher name="Steve Block">steveblock</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MzQxMykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjEgQEAKKzIwMTAtMDEtMTggIFN0ZXZlIEJsb2NrICA8c3RldmVibG9ja0Bnb29n
bGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEZpeCBzdHlsZSBpbiBXZWJDb3JlL2JyaWRnZS9qbmkvanNjL0phdmFJbnN0YW5jZUpTQy5bY3Bw
fGhdCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMzc5
MgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgc3R5bGUgZml4ZXMgb25seS4KKworICAgICAgICAq
IGJyaWRnZS9qbmkvam5pX3J1bnRpbWUuY3BwOiBNb2RpZmllZC4KKyAgICAgICAgKEphdmFGaWVs
ZDo6ZGlzcGF0Y2hWYWx1ZUZyb21JbnN0YW5jZSk6IE1vZGlmaWVkLiBVcGRhdGVkIHRvIHVzZSBy
ZW5hbWVkIEphdmFJbnN0YW5jZTo6bV9pbnN0YW5jZQorICAgICAgICAoSmF2YUZpZWxkOjpkaXNw
YXRjaFNldFZhbHVlVG9JbnN0YW5jZSk6IE1vZGlmaWVkLiBVcGRhdGVkIHRvIHVzZSByZW5hbWVk
IEphdmFJbnN0YW5jZTo6bV9pbnN0YW5jZQorICAgICAgICAoSmF2YUFycmF5OjpKYXZhQXJyYXkp
OiBNb2RpZmllZC4gVXBkYXRlZCB0byB1c2UgcmVuYW1lZCBKYXZhSW5zdGFuY2U6Om1faW5zdGFu
Y2UKKyAgICAgICAgKiBicmlkZ2Uvam5pL2puaV9ydW50aW1lLmg6IE1vZGlmaWVkLgorICAgICAg
ICAoSlNDOjpCaW5kaW5nczo6SmF2YUFycmF5OjpqYXZhQXJyYXkpOiBNb2RpZmllZC4gVXBkYXRl
ZCB0byB1c2UgcmVuYW1lZCBKYXZhSW5zdGFuY2U6Om1faW5zdGFuY2UKKyAgICAgICAgKiBicmlk
Z2Uvam5pL2pzYy9KYXZhSW5zdGFuY2VKU0MuY3BwOiBNb2RpZmllZC4gRml4ZWQgc3R5bGUKKyAg
ICAgICAgKiBicmlkZ2Uvam5pL2pzYy9KYXZhSW5zdGFuY2VKU0MuaDogTW9kaWZpZWQuIEZpeGVk
IHN0eWxlCisKIDIwMTAtMDEtMTggIElseWEgVGlraG9ub3Zza3kgIDxsb2lzbG9AY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFBhdmVsIEZlbGRtYW4uCkluZGV4OiBXZWJDb3Jl
L2JyaWRnZS9qbmkvam5pX3J1bnRpbWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYnJpZGdl
L2puaS9qbmlfcnVudGltZS5jcHAJKHJldmlzaW9uIDUzNDEyKQorKysgV2ViQ29yZS9icmlkZ2Uv
am5pL2puaV9ydW50aW1lLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODQsNyArODQsNyBAQCBKU1Zh
bHVlIEphdmFBcnJheTo6Y29udmVydEpPYmplY3RUb0FycmF5CiBqdmFsdWUgSmF2YUZpZWxkOjpk
aXNwYXRjaFZhbHVlRnJvbUluc3RhbmNlKEV4ZWNTdGF0ZSAqZXhlYywgY29uc3QgSmF2YUluc3Rh
bmNlICppbnN0YW5jZSwgY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqc2lnLCBKTklUeXBl
IHJldHVyblR5cGUpIGNvbnN0CiB7CiAgICAgam9iamVjdCBqaW5zdGFuY2UgPSBpbnN0YW5jZS0+
amF2YUluc3RhbmNlKCk7Ci0gICAgam9iamVjdCBmaWVsZEpJbnN0YW5jZSA9IF9maWVsZC0+X2lu
c3RhbmNlOworICAgIGpvYmplY3QgZmllbGRKSW5zdGFuY2UgPSBfZmllbGQtPm1faW5zdGFuY2U7
CiAgICAgSk5JRW52ICplbnYgPSBnZXRKTklFbnYoKTsKICAgICBqdmFsdWUgcmVzdWx0OwogCkBA
IC0xNjgsNyArMTY4LDcgQEAgSlNWYWx1ZSBKYXZhRmllbGQ6OnZhbHVlRnJvbUluc3RhbmNlKEV4
ZQogdm9pZCBKYXZhRmllbGQ6OmRpc3BhdGNoU2V0VmFsdWVUb0luc3RhbmNlKEV4ZWNTdGF0ZSAq
ZXhlYywgY29uc3QgSmF2YUluc3RhbmNlICppbnN0YW5jZSwganZhbHVlIGphdmFWYWx1ZSwgY29u
c3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqc2lnKSBjb25zdAogewogICAgIGpvYmplY3Qgamlu
c3RhbmNlID0gaW5zdGFuY2UtPmphdmFJbnN0YW5jZSgpOwotICAgIGpvYmplY3QgZmllbGRKSW5z
dGFuY2UgPSBfZmllbGQtPl9pbnN0YW5jZTsKKyAgICBqb2JqZWN0IGZpZWxkSkluc3RhbmNlID0g
X2ZpZWxkLT5tX2luc3RhbmNlOwogICAgIEpOSUVudiAqZW52ID0gZ2V0Sk5JRW52KCk7CiAKICAg
ICBqY2xhc3MgY2xzID0gZW52LT5HZXRPYmplY3RDbGFzcyhmaWVsZEpJbnN0YW5jZSk7CkBAIC0z
NzcsNyArMzc3LDcgQEAgSmF2YUFycmF5OjpKYXZhQXJyYXkoam9iamVjdCBhcnJheSwgY29ucwog
ICAgIF9hcnJheSA9IG5ldyBKT2JqZWN0V3JhcHBlcihhcnJheSk7CiAgICAgLy8gSmF2YSBhcnJh
eSBhcmUgZml4ZWQgbGVuZ3RoLCBzbyB3ZSBjYW4gY2FjaGUgbGVuZ3RoLgogICAgIEpOSUVudiAq
ZW52ID0gZ2V0Sk5JRW52KCk7Ci0gICAgX2xlbmd0aCA9IGVudi0+R2V0QXJyYXlMZW5ndGgoKGph
cnJheSlfYXJyYXktPl9pbnN0YW5jZSk7CisgICAgX2xlbmd0aCA9IGVudi0+R2V0QXJyYXlMZW5n
dGgoKGphcnJheSlfYXJyYXktPm1faW5zdGFuY2UpOwogICAgIF90eXBlID0gc3RyZHVwKHR5cGUp
OwogICAgIF9yb290T2JqZWN0ID0gcm9vdE9iamVjdDsKIH0KSW5kZXg6IFdlYkNvcmUvYnJpZGdl
L2puaS9qbmlfcnVudGltZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYnJpZGdlL2puaS9qbmlf
cnVudGltZS5oCShyZXZpc2lvbiA1MzQxMikKKysrIFdlYkNvcmUvYnJpZGdlL2puaS9qbmlfcnVu
dGltZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNzIsNyArMTcyLDcgQEAgcHVibGljOgogICAgIHZp
cnR1YWwgSlNWYWx1ZSB2YWx1ZUF0KEV4ZWNTdGF0ZSAqZXhlYywgdW5zaWduZWQgaW50IGluZGV4
KSBjb25zdDsKICAgICB2aXJ0dWFsIHVuc2lnbmVkIGludCBnZXRMZW5ndGgoKSBjb25zdDsKICAg
ICAKLSAgICBqb2JqZWN0IGphdmFBcnJheSgpIGNvbnN0IHsgcmV0dXJuIF9hcnJheS0+X2luc3Rh
bmNlOyB9CisgICAgam9iamVjdCBqYXZhQXJyYXkoKSBjb25zdCB7IHJldHVybiBfYXJyYXktPm1f
aW5zdGFuY2U7IH0KIAogICAgIHN0YXRpYyBKU1ZhbHVlIGNvbnZlcnRKT2JqZWN0VG9BcnJheSAo
RXhlY1N0YXRlKiBleGVjLCBqb2JqZWN0IGFuT2JqZWN0LCBjb25zdCBjaGFyKiB0eXBlLCBQYXNz
UmVmUHRyPFJvb3RPYmplY3Q+KTsKIApJbmRleDogV2ViQ29yZS9icmlkZ2Uvam5pL2pzYy9KYXZh
SW5zdGFuY2VKU0MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYnJpZGdlL2puaS9qc2MvSmF2
YUluc3RhbmNlSlNDLmNwcAkocmV2aXNpb24gNTM0MTIpCisrKyBXZWJDb3JlL2JyaWRnZS9qbmkv
anNjL0phdmFJbnN0YW5jZUpTQy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAv
KgotICogQ29weXJpZ2h0IChDKSAyMDAzLCAyMDA4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwMywgMjAwOCwgMjAxMCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTIwLDcg
KzIwLDcgQEAKICAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKICAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAogICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiAKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgpAQCAt
NDYsODMgKzQ2LDgzIEBACiAjZGVmaW5lIEpTX0xPRyhmb3JtYXRBbmRBcmdzLi4uKSAoKHZvaWQp
MCkKICNlbHNlCiAjZGVmaW5lIEpTX0xPRyhmb3JtYXRBbmRBcmdzLi4uKSB7IFwKLSAgICBmcHJp
bnRmIChzdGRlcnIsICIlczolZCAtLSAlczogICIsIF9fRklMRV9fLCBfX0xJTkVfXywgX19GVU5D
VElPTl9fKTsgXAorICAgIGZwcmludGYoc3RkZXJyLCAiJXM6JWQgLS0gJXM6ICAiLCBfX0ZJTEVf
XywgX19MSU5FX18sIF9fRlVOQ1RJT05fXyk7IFwKICAgICBmcHJpbnRmKHN0ZGVyciwgZm9ybWF0
QW5kQXJncyk7IFwKIH0KICNlbmRpZgotIAorCiB1c2luZyBuYW1lc3BhY2UgSlNDOjpCaW5kaW5n
czsKIHVzaW5nIG5hbWVzcGFjZSBKU0M7CiAKLUphdmFJbnN0YW5jZTo6SmF2YUluc3RhbmNlIChq
b2JqZWN0IGluc3RhbmNlLCBQYXNzUmVmUHRyPFJvb3RPYmplY3Q+IHJvb3RPYmplY3QpCitKYXZh
SW5zdGFuY2U6OkphdmFJbnN0YW5jZShqb2JqZWN0IGluc3RhbmNlLCBQYXNzUmVmUHRyPFJvb3RP
YmplY3Q+IHJvb3RPYmplY3QpCiAgICAgOiBJbnN0YW5jZShyb290T2JqZWN0KQogewotICAgIF9p
bnN0YW5jZSA9IG5ldyBKT2JqZWN0V3JhcHBlciAoaW5zdGFuY2UpOwotICAgIF9jbGFzcyA9IDA7
CisgICAgbV9pbnN0YW5jZSA9IG5ldyBKT2JqZWN0V3JhcHBlcihpbnN0YW5jZSk7CisgICAgbV9j
bGFzcyA9IDA7CiB9CiAKLUphdmFJbnN0YW5jZTo6fkphdmFJbnN0YW5jZSAoKSAKK0phdmFJbnN0
YW5jZTo6fkphdmFJbnN0YW5jZSgpCiB7Ci0gICAgZGVsZXRlIF9jbGFzczsgCisgICAgZGVsZXRl
IG1fY2xhc3M7CiB9CiAKICNkZWZpbmUgTlVNX0xPQ0FMX1JFRlMgNjQKIAogdm9pZCBKYXZhSW5z
dGFuY2U6OnZpcnR1YWxCZWdpbigpCiB7Ci0gICAgZ2V0Sk5JRW52KCktPlB1c2hMb2NhbEZyYW1l
IChOVU1fTE9DQUxfUkVGUyk7CisgICAgZ2V0Sk5JRW52KCktPlB1c2hMb2NhbEZyYW1lKE5VTV9M
T0NBTF9SRUZTKTsKIH0KIAogdm9pZCBKYXZhSW5zdGFuY2U6OnZpcnR1YWxFbmQoKQogewotICAg
IGdldEpOSUVudigpLT5Qb3BMb2NhbEZyYW1lIChOVUxMKTsKKyAgICBnZXRKTklFbnYoKS0+UG9w
TG9jYWxGcmFtZSgwKTsKIH0KIAotQ2xhc3MgKkphdmFJbnN0YW5jZTo6Z2V0Q2xhc3MoKSBjb25z
dCAKK0NsYXNzKiBKYXZhSW5zdGFuY2U6OmdldENsYXNzKCkgY29uc3QKIHsKLSAgICBpZiAoX2Ns
YXNzID09IDApCi0gICAgICAgIF9jbGFzcyA9IG5ldyBKYXZhQ2xhc3MgKF9pbnN0YW5jZS0+X2lu
c3RhbmNlKTsKLSAgICByZXR1cm4gX2NsYXNzOworICAgIGlmICghbV9jbGFzcykKKyAgICAgICAg
bV9jbGFzcyA9IG5ldyBKYXZhQ2xhc3MgKG1faW5zdGFuY2UtPm1faW5zdGFuY2UpOworICAgIHJl
dHVybiBtX2NsYXNzOwogfQogCiBKU1ZhbHVlIEphdmFJbnN0YW5jZTo6c3RyaW5nVmFsdWUoRXhl
Y1N0YXRlKiBleGVjKSBjb25zdAogewogICAgIEpTTG9jayBsb2NrKFNpbGVuY2VBc3NlcnRpb25z
T25seSk7Ci0gICAgCi0gICAganN0cmluZyBzdHJpbmdWYWx1ZSA9IChqc3RyaW5nKWNhbGxKTklN
ZXRob2Q8am9iamVjdD4oX2luc3RhbmNlLT5faW5zdGFuY2UsICJ0b1N0cmluZyIsICIoKUxqYXZh
L2xhbmcvU3RyaW5nOyIpOwotICAgIEpOSUVudiAqZW52ID0gZ2V0Sk5JRW52KCk7Ci0gICAgY29u
c3QgamNoYXIgKmMgPSBnZXRVQ2hhcmFjdGVyc0Zyb21KU3RyaW5nSW5FbnYoZW52LCBzdHJpbmdW
YWx1ZSk7Ci0gICAgVVN0cmluZyB1KChjb25zdCBVQ2hhciAqKWMsIChpbnQpZW52LT5HZXRTdHJp
bmdMZW5ndGgoc3RyaW5nVmFsdWUpKTsKKworICAgIGpzdHJpbmcgc3RyaW5nVmFsdWUgPSAoanN0
cmluZyljYWxsSk5JTWV0aG9kPGpvYmplY3Q+KG1faW5zdGFuY2UtPm1faW5zdGFuY2UsICJ0b1N0
cmluZyIsICIoKUxqYXZhL2xhbmcvU3RyaW5nOyIpOworICAgIEpOSUVudiogZW52ID0gZ2V0Sk5J
RW52KCk7CisgICAgY29uc3QgamNoYXIqIGMgPSBnZXRVQ2hhcmFjdGVyc0Zyb21KU3RyaW5nSW5F
bnYoZW52LCBzdHJpbmdWYWx1ZSk7CisgICAgVVN0cmluZyB1KChjb25zdCBVQ2hhciopYywgKGlu
dCllbnYtPkdldFN0cmluZ0xlbmd0aChzdHJpbmdWYWx1ZSkpOwogICAgIHJlbGVhc2VVQ2hhcmFj
dGVyc0ZvckpTdHJpbmdJbkVudihlbnYsIHN0cmluZ1ZhbHVlLCBjKTsKICAgICByZXR1cm4ganNT
dHJpbmcoZXhlYywgdSk7CiB9CiAKIEpTVmFsdWUgSmF2YUluc3RhbmNlOjpudW1iZXJWYWx1ZShF
eGVjU3RhdGUqIGV4ZWMpIGNvbnN0CiB7Ci0gICAgamRvdWJsZSBkb3VibGVWYWx1ZSA9IGNhbGxK
TklNZXRob2Q8amRvdWJsZT4oX2luc3RhbmNlLT5faW5zdGFuY2UsICJkb3VibGVWYWx1ZSIsICIo
KUQiKTsKKyAgICBqZG91YmxlIGRvdWJsZVZhbHVlID0gY2FsbEpOSU1ldGhvZDxqZG91YmxlPiht
X2luc3RhbmNlLT5tX2luc3RhbmNlLCAiZG91YmxlVmFsdWUiLCAiKClEIik7CiAgICAgcmV0dXJu
IGpzTnVtYmVyKGV4ZWMsIGRvdWJsZVZhbHVlKTsKIH0KIAogSlNWYWx1ZSBKYXZhSW5zdGFuY2U6
OmJvb2xlYW5WYWx1ZSgpIGNvbnN0CiB7Ci0gICAgamJvb2xlYW4gYm9vbGVhblZhbHVlID0gY2Fs
bEpOSU1ldGhvZDxqYm9vbGVhbj4oX2luc3RhbmNlLT5faW5zdGFuY2UsICJib29sZWFuVmFsdWUi
LCAiKClaIik7CisgICAgamJvb2xlYW4gYm9vbGVhblZhbHVlID0gY2FsbEpOSU1ldGhvZDxqYm9v
bGVhbj4obV9pbnN0YW5jZS0+bV9pbnN0YW5jZSwgImJvb2xlYW5WYWx1ZSIsICIoKVoiKTsKICAg
ICByZXR1cm4ganNCb29sZWFuKGJvb2xlYW5WYWx1ZSk7CiB9CiAKLUpTVmFsdWUgSmF2YUluc3Rh
bmNlOjppbnZva2VNZXRob2QgKEV4ZWNTdGF0ZSAqZXhlYywgY29uc3QgTWV0aG9kTGlzdCAmbWV0
aG9kTGlzdCwgY29uc3QgQXJnTGlzdCAmYXJncykKK0pTVmFsdWUgSmF2YUluc3RhbmNlOjppbnZv
a2VNZXRob2QoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBNZXRob2RMaXN0JiBtZXRob2RMaXN0LCBj
b25zdCBBcmdMaXN0ICZhcmdzKQogewogICAgIGludCBpLCBjb3VudCA9IGFyZ3Muc2l6ZSgpOwot
ICAgIGp2YWx1ZSAqakFyZ3M7CisgICAganZhbHVlKiBqQXJnczsKICAgICBKU1ZhbHVlIHJlc3Vs
dFZhbHVlOwotICAgIE1ldGhvZCAqbWV0aG9kID0gMDsKKyAgICBNZXRob2QqIG1ldGhvZCA9IDA7
CiAgICAgc2l6ZV90IG51bU1ldGhvZHMgPSBtZXRob2RMaXN0LnNpemUoKTsKLSAgICAKLSAgICAv
LyBUcnkgdG8gZmluZCBhIGdvb2QgbWF0Y2ggZm9yIHRoZSBvdmVybG9hZGVkIG1ldGhvZC4gIFRo
ZSAKKworICAgIC8vIFRyeSB0byBmaW5kIGEgZ29vZCBtYXRjaCBmb3IgdGhlIG92ZXJsb2FkZWQg
bWV0aG9kLiAgVGhlCiAgICAgLy8gZnVuZGFtZW50YWwgcHJvYmxlbSBpcyB0aGF0IEphdmFTY3Jp
cHQgZG9lc24gaGF2ZSB0aGUKLSAgICAvLyBub3Rpb24gb2YgbWV0aG9kIG92ZXJsb2FkaW5nIGFu
ZCBKYXZhIGRvZXMuICBXZSBjb3VsZCAKKyAgICAvLyBub3Rpb24gb2YgbWV0aG9kIG92ZXJsb2Fk
aW5nIGFuZCBKYXZhIGRvZXMuICBXZSBjb3VsZAogICAgIC8vIGdldCBhIGJpdCBtb3JlIHNvcGhp
c3RpY2F0ZWQgYW5kIGF0dGVtcHQgdG8gZG9lcyBzb21lCiAgICAgLy8gdHlwZSBjaGVja2luZyBh
cyB3ZSBhcyBjaGVja2luZyB0aGUgbnVtYmVyIG9mIHBhcmFtZXRlcnMuCi0gICAgTWV0aG9kICph
TWV0aG9kOworICAgIE1ldGhvZCogYU1ldGhvZDsKICAgICBmb3IgKHNpemVfdCBtZXRob2RJbmRl
eCA9IDA7IG1ldGhvZEluZGV4IDwgbnVtTWV0aG9kczsgbWV0aG9kSW5kZXgrKykgewogICAgICAg
ICBhTWV0aG9kID0gbWV0aG9kTGlzdFttZXRob2RJbmRleF07CiAgICAgICAgIGlmIChhTWV0aG9k
LT5udW1QYXJhbWV0ZXJzKCkgPT0gY291bnQpIHsKQEAgLTEzMCwyNiArMTMwLDI1IEBAIEpTVmFs
dWUgSmF2YUluc3RhbmNlOjppbnZva2VNZXRob2QgKEV4ZWMKICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICB9CiAgICAgfQotICAgIGlmIChtZXRob2QgPT0gMCkgewotICAgICAgICBKU19MT0cg
KCJ1bmFibGUgdG8gZmluZCBhbiBhcHByb3BpYXRlIG1ldGhvZFxuIik7CisgICAgaWYgKCFtZXRo
b2QpIHsKKyAgICAgICAgSlNfTE9HKCJ1bmFibGUgdG8gZmluZCBhbiBhcHByb3BpYXRlIG1ldGhv
ZFxuIik7CiAgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwogICAgIH0KLSAgICAKLSAgICBj
b25zdCBKYXZhTWV0aG9kICpqTWV0aG9kID0gc3RhdGljX2Nhc3Q8Y29uc3QgSmF2YU1ldGhvZCo+
KG1ldGhvZCk7Ci0gICAgSlNfTE9HICgiY2FsbCAlcyAlcyBvbiAlcFxuIiwgVVN0cmluZyhqTWV0
aG9kLT5uYW1lKCkpLlVURjhTdHJpbmcoKS5jX3N0cigpLCBqTWV0aG9kLT5zaWduYXR1cmUoKSwg
X2luc3RhbmNlLT5faW5zdGFuY2UpOwotICAgIAotICAgIGlmIChjb3VudCA+IDApIHsKLSAgICAg
ICAgakFyZ3MgPSAoanZhbHVlICopbWFsbG9jIChjb3VudCAqIHNpemVvZihqdmFsdWUpKTsKLSAg
ICB9CisKKyAgICBjb25zdCBKYXZhTWV0aG9kKiBqTWV0aG9kID0gc3RhdGljX2Nhc3Q8Y29uc3Qg
SmF2YU1ldGhvZCo+KG1ldGhvZCk7CisgICAgSlNfTE9HKCJjYWxsICVzICVzIG9uICVwXG4iLCBV
U3RyaW5nKGpNZXRob2QtPm5hbWUoKSkuVVRGOFN0cmluZygpLmNfc3RyKCksIGpNZXRob2QtPnNp
Z25hdHVyZSgpLCBtX2luc3RhbmNlLT5tX2luc3RhbmNlKTsKKworICAgIGlmIChjb3VudCA+IDAp
CisgICAgICAgIGpBcmdzID0gKGp2YWx1ZSopbWFsbG9jKGNvdW50ICogc2l6ZW9mKGp2YWx1ZSkp
OwogICAgIGVsc2UKICAgICAgICAgakFyZ3MgPSAwOwotICAgICAgICAKKwogICAgIGZvciAoaSA9
IDA7IGkgPCBjb3VudDsgaSsrKSB7CiAgICAgICAgIEphdmFQYXJhbWV0ZXIqIGFQYXJhbWV0ZXIg
PSBqTWV0aG9kLT5wYXJhbWV0ZXJBdChpKTsKICAgICAgICAgakFyZ3NbaV0gPSBjb252ZXJ0VmFs
dWVUb0pWYWx1ZShleGVjLCBhcmdzLmF0KGkpLCBhUGFyYW1ldGVyLT5nZXRKTklUeXBlKCksIGFQ
YXJhbWV0ZXItPnR5cGUoKSk7CiAgICAgICAgIEpTX0xPRygiYXJnWyVkXSA9ICVzXG4iLCBpLCBh
cmdzLmF0KGkpLnRvU3RyaW5nKGV4ZWMpLmFzY2lpKCkpOwogICAgIH0KLSAgICAgICAgCisKICAg
ICBqdmFsdWUgcmVzdWx0OwogCiAgICAgLy8gVHJ5IHRvIHVzZSB0aGUgSk5JIGFic3RyYWN0aW9u
IGZpcnN0LCBvdGhlcndpc2UgZmFsbCBiYWNrIHRvCkBAIC0xNjEsMTI5ICsxNjAsMTM2IEBAIEpT
VmFsdWUgSmF2YUluc3RhbmNlOjppbnZva2VNZXRob2QgKEV4ZWMKIAogICAgIGJvb2wgaGFuZGxl
ZCA9IGZhbHNlOwogICAgIGlmIChyb290T2JqZWN0LT5uYXRpdmVIYW5kbGUoKSkgewotICAgICAg
ICBqb2JqZWN0IG9iaiA9IF9pbnN0YW5jZS0+X2luc3RhbmNlOworICAgICAgICBqb2JqZWN0IG9i
aiA9IG1faW5zdGFuY2UtPm1faW5zdGFuY2U7CiAgICAgICAgIEpTVmFsdWUgZXhjZXB0aW9uRGVz
Y3JpcHRpb247Ci0gICAgICAgIGNvbnN0IGNoYXIgKmNhbGxpbmdVUkwgPSAwOyAgLy8gRklYTUUs
IG5lZWQgdG8gcHJvcGFnYXRlIGNhbGxpbmcgVVJMIHRvIEphdmEKKyAgICAgICAgY29uc3QgY2hh
ciAqY2FsbGluZ1VSTCA9IDA7IC8vIEZJWE1FLCBuZWVkIHRvIHByb3BhZ2F0ZSBjYWxsaW5nIFVS
TCB0byBKYXZhCiAgICAgICAgIGhhbmRsZWQgPSBkaXNwYXRjaEpOSUNhbGwoZXhlYywgcm9vdE9i
amVjdC0+bmF0aXZlSGFuZGxlKCksIG9iaiwgak1ldGhvZC0+aXNTdGF0aWMoKSwgak1ldGhvZC0+
Sk5JUmV0dXJuVHlwZSgpLCBqTWV0aG9kLT5tZXRob2RJRChvYmopLCBqQXJncywgcmVzdWx0LCBj
YWxsaW5nVVJMLCBleGNlcHRpb25EZXNjcmlwdGlvbik7CiAgICAgICAgIGlmIChleGNlcHRpb25E
ZXNjcmlwdGlvbikgewogICAgICAgICAgICAgdGhyb3dFcnJvcihleGVjLCBHZW5lcmFsRXJyb3Is
IGV4Y2VwdGlvbkRlc2NyaXB0aW9uLnRvU3RyaW5nKGV4ZWMpKTsKLSAgICAgICAgICAgIGZyZWUg
KGpBcmdzKTsKKyAgICAgICAgICAgIGZyZWUoakFyZ3MpOwogICAgICAgICAgICAgcmV0dXJuIGpz
VW5kZWZpbmVkKCk7CiAgICAgICAgIH0KICAgICB9Ci0gICAgCisKICAgICAvLyBUaGUgZm9sbG93
aW5nIGNvZGUgY2FuIGJlIGNvbmRpdGlvbmFsbHkgcmVtb3ZlZCBvbmNlIHdlIGhhdmUgYSBUaWdl
ciB1cGRhdGUgdGhhdAogICAgIC8vIGNvbnRhaW5zIHRoZSBuZXcgSmF2YSBwbHVnaW4uICBJdCBp
cyBuZWVkZWQgZm9yIGJ1aWxkcyBwcmlvciB0byBUaWdlci4KLSAgICBpZiAoIWhhbmRsZWQpIHsg
ICAgCi0gICAgICAgIGpvYmplY3Qgb2JqID0gX2luc3RhbmNlLT5faW5zdGFuY2U7Ci0gICAgICAg
IHN3aXRjaCAoak1ldGhvZC0+Sk5JUmV0dXJuVHlwZSgpKXsKLSAgICAgICAgICAgIGNhc2Ugdm9p
ZF90eXBlOgotICAgICAgICAgICAgICAgIGNhbGxKTklNZXRob2RJREE8dm9pZD4ob2JqLCBqTWV0
aG9kLT5tZXRob2RJRChvYmopLCBqQXJncyk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7ICAgICAg
ICAgICAgCi0gICAgICAgICAgICBjYXNlIG9iamVjdF90eXBlOgotICAgICAgICAgICAgICAgIHJl
c3VsdC5sID0gY2FsbEpOSU1ldGhvZElEQTxqb2JqZWN0PihvYmosIGpNZXRob2QtPm1ldGhvZElE
KG9iaiksIGpBcmdzKTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2Ug
Ym9vbGVhbl90eXBlOgotICAgICAgICAgICAgICAgIHJlc3VsdC56ID0gY2FsbEpOSU1ldGhvZElE
QTxqYm9vbGVhbj4ob2JqLCBqTWV0aG9kLT5tZXRob2RJRChvYmopLCBqQXJncyk7Ci0gICAgICAg
ICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlIGJ5dGVfdHlwZToKLSAgICAgICAgICAg
ICAgICByZXN1bHQuYiA9IGNhbGxKTklNZXRob2RJREE8amJ5dGU+KG9iaiwgak1ldGhvZC0+bWV0
aG9kSUQob2JqKSwgakFyZ3MpOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAg
Y2FzZSBjaGFyX3R5cGU6Ci0gICAgICAgICAgICAgICAgcmVzdWx0LmMgPSBjYWxsSk5JTWV0aG9k
SURBPGpjaGFyPihvYmosIGpNZXRob2QtPm1ldGhvZElEKG9iaiksIGpBcmdzKTsKLSAgICAgICAg
ICAgICAgICBicmVhazsgICAgICAgICAgICAKLSAgICAgICAgICAgIGNhc2Ugc2hvcnRfdHlwZToK
LSAgICAgICAgICAgICAgICByZXN1bHQucyA9IGNhbGxKTklNZXRob2RJREE8anNob3J0PihvYmos
IGpNZXRob2QtPm1ldGhvZElEKG9iaiksIGpBcmdzKTsKLSAgICAgICAgICAgICAgICBicmVhazsK
LSAgICAgICAgICAgIGNhc2UgaW50X3R5cGU6Ci0gICAgICAgICAgICAgICAgcmVzdWx0LmkgPSBj
YWxsSk5JTWV0aG9kSURBPGppbnQ+KG9iaiwgak1ldGhvZC0+bWV0aG9kSUQob2JqKSwgakFyZ3Mp
OwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgCi0gICAgICAgICAgICBjYXNl
IGxvbmdfdHlwZToKLSAgICAgICAgICAgICAgICByZXN1bHQuaiA9IGNhbGxKTklNZXRob2RJREE8
amxvbmc+KG9iaiwgak1ldGhvZC0+bWV0aG9kSUQob2JqKSwgakFyZ3MpOwotICAgICAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSBmbG9hdF90eXBlOgotICAgICAgICAgICAgICAg
IHJlc3VsdC5mID0gY2FsbEpOSU1ldGhvZElEQTxqZmxvYXQ+KG9iaiwgak1ldGhvZC0+bWV0aG9k
SUQob2JqKSwgakFyZ3MpOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2Fz
ZSBkb3VibGVfdHlwZToKLSAgICAgICAgICAgICAgICByZXN1bHQuZCA9IGNhbGxKTklNZXRob2RJ
REE8amRvdWJsZT4ob2JqLCBqTWV0aG9kLT5tZXRob2RJRChvYmopLCBqQXJncyk7Ci0gICAgICAg
ICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlIGludmFsaWRfdHlwZToKLSAgICAgICAg
ICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICAgICAgYnJlYWs7CisgICAgaWYgKCFoYW5kbGVkKSB7
CisgICAgICAgIGpvYmplY3Qgb2JqID0gbV9pbnN0YW5jZS0+bV9pbnN0YW5jZTsKKyAgICAgICAg
c3dpdGNoIChqTWV0aG9kLT5KTklSZXR1cm5UeXBlKCkpIHsKKyAgICAgICAgY2FzZSB2b2lkX3R5
cGU6CisgICAgICAgICAgICBjYWxsSk5JTWV0aG9kSURBPHZvaWQ+KG9iaiwgak1ldGhvZC0+bWV0
aG9kSUQob2JqKSwgakFyZ3MpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2Ugb2Jq
ZWN0X3R5cGU6CisgICAgICAgICAgICByZXN1bHQubCA9IGNhbGxKTklNZXRob2RJREE8am9iamVj
dD4ob2JqLCBqTWV0aG9kLT5tZXRob2RJRChvYmopLCBqQXJncyk7CisgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgY2FzZSBib29sZWFuX3R5cGU6CisgICAgICAgICAgICByZXN1bHQueiA9IGNh
bGxKTklNZXRob2RJREE8amJvb2xlYW4+KG9iaiwgak1ldGhvZC0+bWV0aG9kSUQob2JqKSwgakFy
Z3MpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgYnl0ZV90eXBlOgorICAgICAg
ICAgICAgcmVzdWx0LmIgPSBjYWxsSk5JTWV0aG9kSURBPGpieXRlPihvYmosIGpNZXRob2QtPm1l
dGhvZElEKG9iaiksIGpBcmdzKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIGNo
YXJfdHlwZToKKyAgICAgICAgICAgIHJlc3VsdC5jID0gY2FsbEpOSU1ldGhvZElEQTxqY2hhcj4o
b2JqLCBqTWV0aG9kLT5tZXRob2RJRChvYmopLCBqQXJncyk7CisgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgY2FzZSBzaG9ydF90eXBlOgorICAgICAgICAgICAgcmVzdWx0LnMgPSBjYWxsSk5J
TWV0aG9kSURBPGpzaG9ydD4ob2JqLCBqTWV0aG9kLT5tZXRob2RJRChvYmopLCBqQXJncyk7Cisg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBpbnRfdHlwZToKKyAgICAgICAgICAgIHJl
c3VsdC5pID0gY2FsbEpOSU1ldGhvZElEQTxqaW50PihvYmosIGpNZXRob2QtPm1ldGhvZElEKG9i
aiksIGpBcmdzKTsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgbG9uZ190eXBl
OgorICAgICAgICAgICAgcmVzdWx0LmogPSBjYWxsSk5JTWV0aG9kSURBPGpsb25nPihvYmosIGpN
ZXRob2QtPm1ldGhvZElEKG9iaiksIGpBcmdzKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICBjYXNlIGZsb2F0X3R5cGU6CisgICAgICAgICAgICByZXN1bHQuZiA9IGNhbGxKTklNZXRob2RJ
REE8amZsb2F0PihvYmosIGpNZXRob2QtPm1ldGhvZElEKG9iaiksIGpBcmdzKTsKKyAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICBjYXNlIGRvdWJsZV90eXBlOgorICAgICAgICAgICAgcmVzdWx0
LmQgPSBjYWxsSk5JTWV0aG9kSURBPGpkb3VibGU+KG9iaiwgak1ldGhvZC0+bWV0aG9kSUQob2Jq
KSwgakFyZ3MpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgaW52YWxpZF90eXBl
OgorICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICB9
Ci0gICAgICAgIAotICAgIHN3aXRjaCAoak1ldGhvZC0+Sk5JUmV0dXJuVHlwZSgpKXsKLSAgICAg
ICAgY2FzZSB2b2lkX3R5cGU6IHsKKworICAgIHN3aXRjaCAoak1ldGhvZC0+Sk5JUmV0dXJuVHlw
ZSgpKSB7CisgICAgY2FzZSB2b2lkX3R5cGU6CisgICAgICAgIHsKICAgICAgICAgICAgIHJlc3Vs
dFZhbHVlID0ganNVbmRlZmluZWQoKTsKICAgICAgICAgfQogICAgICAgICBicmVhazsKLSAgICAg
ICAgCi0gICAgICAgIGNhc2Ugb2JqZWN0X3R5cGU6IHsKLSAgICAgICAgICAgIGlmIChyZXN1bHQu
bCAhPSAwKSB7Ci0gICAgICAgICAgICAgICAgY29uc3QgY2hhciAqYXJyYXlUeXBlID0gak1ldGhv
ZC0+cmV0dXJuVHlwZSgpOwotICAgICAgICAgICAgICAgIGlmIChhcnJheVR5cGVbMF0gPT0gJ1sn
KSB7CisKKyAgICBjYXNlIG9iamVjdF90eXBlOgorICAgICAgICB7CisgICAgICAgICAgICBpZiAo
cmVzdWx0LmwpIHsKKyAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiBhcnJheVR5cGUgPSBqTWV0
aG9kLT5yZXR1cm5UeXBlKCk7CisgICAgICAgICAgICAgICAgaWYgKGFycmF5VHlwZVswXSA9PSAn
WycpCiAgICAgICAgICAgICAgICAgICAgIHJlc3VsdFZhbHVlID0gSmF2YUFycmF5Ojpjb252ZXJ0
Sk9iamVjdFRvQXJyYXkoZXhlYywgcmVzdWx0LmwsIGFycmF5VHlwZSwgcm9vdE9iamVjdCk7Ci0g
ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAg
IGVsc2UKICAgICAgICAgICAgICAgICAgICAgcmVzdWx0VmFsdWUgPSBKYXZhSW5zdGFuY2U6OmNy
ZWF0ZShyZXN1bHQubCwgcm9vdE9iamVjdCktPmNyZWF0ZVJ1bnRpbWVPYmplY3QoZXhlYyk7Ci0g
ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQotICAgICAgICAgICAgZWxzZSB7CisgICAg
ICAgICAgICB9IGVsc2UKICAgICAgICAgICAgICAgICByZXN1bHRWYWx1ZSA9IGpzVW5kZWZpbmVk
KCk7Ci0gICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAgICAgYnJlYWs7Ci0gICAgICAgIAot
ICAgICAgICBjYXNlIGJvb2xlYW5fdHlwZTogeworCisgICAgY2FzZSBib29sZWFuX3R5cGU6Cisg
ICAgICAgIHsKICAgICAgICAgICAgIHJlc3VsdFZhbHVlID0ganNCb29sZWFuKHJlc3VsdC56KTsK
ICAgICAgICAgfQogICAgICAgICBicmVhazsKLSAgICAgICAgCi0gICAgICAgIGNhc2UgYnl0ZV90
eXBlOiB7CisKKyAgICBjYXNlIGJ5dGVfdHlwZToKKyAgICAgICAgewogICAgICAgICAgICAgcmVz
dWx0VmFsdWUgPSBqc051bWJlcihleGVjLCByZXN1bHQuYik7CiAgICAgICAgIH0KICAgICAgICAg
YnJlYWs7Ci0gICAgICAgIAotICAgICAgICBjYXNlIGNoYXJfdHlwZTogeworCisgICAgY2FzZSBj
aGFyX3R5cGU6CisgICAgICAgIHsKICAgICAgICAgICAgIHJlc3VsdFZhbHVlID0ganNOdW1iZXIo
ZXhlYywgcmVzdWx0LmMpOwogICAgICAgICB9CiAgICAgICAgIGJyZWFrOwotICAgICAgICAKLSAg
ICAgICAgY2FzZSBzaG9ydF90eXBlOiB7CisKKyAgICBjYXNlIHNob3J0X3R5cGU6CisgICAgICAg
IHsKICAgICAgICAgICAgIHJlc3VsdFZhbHVlID0ganNOdW1iZXIoZXhlYywgcmVzdWx0LnMpOwog
ICAgICAgICB9CiAgICAgICAgIGJyZWFrOwotICAgICAgICAKLSAgICAgICAgY2FzZSBpbnRfdHlw
ZTogeworCisgICAgY2FzZSBpbnRfdHlwZToKKyAgICAgICAgewogICAgICAgICAgICAgcmVzdWx0
VmFsdWUgPSBqc051bWJlcihleGVjLCByZXN1bHQuaSk7CiAgICAgICAgIH0KICAgICAgICAgYnJl
YWs7Ci0gICAgICAgIAotICAgICAgICBjYXNlIGxvbmdfdHlwZTogeworCisgICAgY2FzZSBsb25n
X3R5cGU6CisgICAgICAgIHsKICAgICAgICAgICAgIHJlc3VsdFZhbHVlID0ganNOdW1iZXIoZXhl
YywgcmVzdWx0LmopOwogICAgICAgICB9CiAgICAgICAgIGJyZWFrOwotICAgICAgICAKLSAgICAg
ICAgY2FzZSBmbG9hdF90eXBlOiB7CisKKyAgICBjYXNlIGZsb2F0X3R5cGU6CisgICAgICAgIHsK
ICAgICAgICAgICAgIHJlc3VsdFZhbHVlID0ganNOdW1iZXIoZXhlYywgcmVzdWx0LmYpOwogICAg
ICAgICB9CiAgICAgICAgIGJyZWFrOwotICAgICAgICAKLSAgICAgICAgY2FzZSBkb3VibGVfdHlw
ZTogeworCisgICAgY2FzZSBkb3VibGVfdHlwZToKKyAgICAgICAgewogICAgICAgICAgICAgcmVz
dWx0VmFsdWUgPSBqc051bWJlcihleGVjLCByZXN1bHQuZCk7CiAgICAgICAgIH0KICAgICAgICAg
YnJlYWs7CiAKLSAgICAgICAgY2FzZSBpbnZhbGlkX3R5cGU6Ci0gICAgICAgIGRlZmF1bHQ6IHsK
KyAgICBjYXNlIGludmFsaWRfdHlwZToKKyAgICBkZWZhdWx0OgorICAgICAgICB7CiAgICAgICAg
ICAgICByZXN1bHRWYWx1ZSA9IGpzVW5kZWZpbmVkKCk7CiAgICAgICAgIH0KICAgICAgICAgYnJl
YWs7CiAgICAgfQogCi0gICAgZnJlZSAoakFyZ3MpOworICAgIGZyZWUoakFyZ3MpOwogCiAgICAg
cmV0dXJuIHJlc3VsdFZhbHVlOwogfQpAQCAtMjk0LDcgKzMwMCw3IEBAIEpTVmFsdWUgSmF2YUlu
c3RhbmNlOjpkZWZhdWx0VmFsdWUoRXhlY1MKICAgICAgICAgcmV0dXJuIHN0cmluZ1ZhbHVlKGV4
ZWMpOwogICAgIGlmIChoaW50ID09IFByZWZlck51bWJlcikKICAgICAgICAgcmV0dXJuIG51bWJl
clZhbHVlKGV4ZWMpOwotICAgIEphdmFDbGFzcyAqYUNsYXNzID0gc3RhdGljX2Nhc3Q8SmF2YUNs
YXNzKj4oZ2V0Q2xhc3MoKSk7CisgICAgSmF2YUNsYXNzKiBhQ2xhc3MgPSBzdGF0aWNfY2FzdDxK
YXZhQ2xhc3MqPihnZXRDbGFzcygpKTsKICAgICBpZiAoYUNsYXNzLT5pc1N0cmluZ0NsYXNzKCkp
CiAgICAgICAgIHJldHVybiBzdHJpbmdWYWx1ZShleGVjKTsKICAgICBpZiAoYUNsYXNzLT5pc051
bWJlckNsYXNzKCkpCkBAIC0zMDQsMzIgKzMxMCwzMiBAQCBKU1ZhbHVlIEphdmFJbnN0YW5jZTo6
ZGVmYXVsdFZhbHVlKEV4ZWNTCiAgICAgcmV0dXJuIHZhbHVlT2YoZXhlYyk7CiB9CiAKLUpTVmFs
dWUgSmF2YUluc3RhbmNlOjp2YWx1ZU9mKEV4ZWNTdGF0ZSogZXhlYykgY29uc3QgCitKU1ZhbHVl
IEphdmFJbnN0YW5jZTo6dmFsdWVPZihFeGVjU3RhdGUqIGV4ZWMpIGNvbnN0CiB7CiAgICAgcmV0
dXJuIHN0cmluZ1ZhbHVlKGV4ZWMpOwogfQogCiBKT2JqZWN0V3JhcHBlcjo6Sk9iamVjdFdyYXBw
ZXIoam9iamVjdCBpbnN0YW5jZSkKLTogX3JlZkNvdW50KDApCisgICAgOiBtX3JlZkNvdW50KDAp
CiB7Ci0gICAgYXNzZXJ0IChpbnN0YW5jZSAhPSAwKTsKKyAgICBhc3NlcnQoaW5zdGFuY2UpOwog
CiAgICAgLy8gQ2FjaGUgdGhlIEpOSUVudiB1c2VkIHRvIGdldCB0aGUgZ2xvYmFsIHJlZiBmb3Ig
dGhpcyBqYXZhIGluc3RhbmFjZS4KICAgICAvLyBJdCdsbCBiZSB1c2VkIHRvIGRlbGV0ZSB0aGUg
cmVmZXJlbmNlLgotICAgIF9lbnYgPSBnZXRKTklFbnYoKTsKLSAgICAgICAgCi0gICAgX2luc3Rh
bmNlID0gX2Vudi0+TmV3R2xvYmFsUmVmIChpbnN0YW5jZSk7Ci0gICAgCi0gICAgSlNfTE9HICgi
bmV3IGdsb2JhbCByZWYgJXAgZm9yICVwXG4iLCBfaW5zdGFuY2UsIGluc3RhbmNlKTsKKyAgICBt
X2VudiA9IGdldEpOSUVudigpOwogCi0gICAgaWYgIChfaW5zdGFuY2UgPT0gTlVMTCkgewotICAg
ICAgICBmcHJpbnRmIChzdGRlcnIsICIlczogIGNvdWxkIG5vdCBnZXQgR2xvYmFsUmVmIGZvciAl
cFxuIiwgX19QUkVUVFlfRlVOQ1RJT05fXywgaW5zdGFuY2UpOwotICAgIH0KKyAgICBtX2luc3Rh
bmNlID0gbV9lbnYtPk5ld0dsb2JhbFJlZihpbnN0YW5jZSk7CisKKyAgICBKU19MT0coIm5ldyBn
bG9iYWwgcmVmICVwIGZvciAlcFxuIiwgbV9pbnN0YW5jZSwgaW5zdGFuY2UpOworCisgICAgaWYg
ICghbV9pbnN0YW5jZSkKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICIlczogIGNvdWxkIG5vdCBn
ZXQgR2xvYmFsUmVmIGZvciAlcFxuIiwgX19QUkVUVFlfRlVOQ1RJT05fXywgaW5zdGFuY2UpOwog
fQogCi1KT2JqZWN0V3JhcHBlcjo6fkpPYmplY3RXcmFwcGVyKCkgewotICAgIEpTX0xPRyAoImRl
bGV0aW5nIGdsb2JhbCByZWYgJXBcbiIsIF9pbnN0YW5jZSk7Ci0gICAgX2Vudi0+RGVsZXRlR2xv
YmFsUmVmIChfaW5zdGFuY2UpOworSk9iamVjdFdyYXBwZXI6On5KT2JqZWN0V3JhcHBlcigpCit7
CisgICAgSlNfTE9HKCJkZWxldGluZyBnbG9iYWwgcmVmICVwXG4iLCBtX2luc3RhbmNlKTsKKyAg
ICBtX2Vudi0+RGVsZXRlR2xvYmFsUmVmKG1faW5zdGFuY2UpOwogfQogCiAjZW5kaWYgLy8gRU5B
QkxFKE1BQ19KQVZBX0JSSURHRSkKSW5kZXg6IFdlYkNvcmUvYnJpZGdlL2puaS9qc2MvSmF2YUlu
c3RhbmNlSlNDLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9icmlkZ2Uvam5pL2pzYy9KYXZhSW5z
dGFuY2VKU0MuaAkocmV2aXNpb24gNTM0MTIpCisrKyBXZWJDb3JlL2JyaWRnZS9qbmkvanNjL0ph
dmFJbnN0YW5jZUpTQy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMCw3ICsyMCw3IEBACiAgKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCiAgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKICAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgogICovCiAKICNpZm5kZWYgSmF2YUluc3RhbmNlSlNDX2gKQEAgLTM5LDggKzM5LDcg
QEAgbmFtZXNwYWNlIEJpbmRpbmdzIHsKIAogY2xhc3MgSmF2YUNsYXNzOwogCi1jbGFzcyBKT2Jq
ZWN0V3JhcHBlcgoteworY2xhc3MgSk9iamVjdFdyYXBwZXIgewogZnJpZW5kIGNsYXNzIFJlZlB0
cjxKT2JqZWN0V3JhcHBlcj47CiBmcmllbmQgY2xhc3MgSmF2YUFycmF5OwogZnJpZW5kIGNsYXNz
IEphdmFGaWVsZDsKQEAgLTQ4LDQ2ICs0Nyw0NSBAQCBmcmllbmQgY2xhc3MgSmF2YUluc3RhbmNl
OwogZnJpZW5kIGNsYXNzIEphdmFNZXRob2Q7CiAKIHB1YmxpYzoKLSAgICBqb2JqZWN0IGluc3Rh
bmNlKCkgY29uc3QgeyByZXR1cm4gX2luc3RhbmNlOyB9Ci0gICAgdm9pZCBzZXRJbnN0YW5jZShq
b2JqZWN0IGluc3RhbmNlKSB7IF9pbnN0YW5jZSA9IGluc3RhbmNlOyB9CisgICAgam9iamVjdCBp
bnN0YW5jZSgpIGNvbnN0IHsgcmV0dXJuIG1faW5zdGFuY2U7IH0KKyAgICB2b2lkIHNldEluc3Rh
bmNlKGpvYmplY3QgaW5zdGFuY2UpIHsgbV9pbnN0YW5jZSA9IGluc3RhbmNlOyB9CiAKIHByb3Rl
Y3RlZDoKLSAgICBKT2JqZWN0V3JhcHBlcihqb2JqZWN0IGluc3RhbmNlKTsgICAgCisgICAgSk9i
amVjdFdyYXBwZXIoam9iamVjdCBpbnN0YW5jZSk7CiAgICAgfkpPYmplY3RXcmFwcGVyKCk7Ci0g
ICAgCi0gICAgdm9pZCByZWYoKSB7IF9yZWZDb3VudCsrOyB9Ci0gICAgdm9pZCBkZXJlZigpIAot
ICAgIHsgCi0gICAgICAgIGlmICgtLV9yZWZDb3VudCA9PSAwKSAKLSAgICAgICAgICAgIGRlbGV0
ZSB0aGlzOyAKKworICAgIHZvaWQgcmVmKCkgeyBtX3JlZkNvdW50Kys7IH0KKyAgICB2b2lkIGRl
cmVmKCkKKyAgICB7CisgICAgICAgIGlmICghKC0tbV9yZWZDb3VudCkpCisgICAgICAgICAgICBk
ZWxldGUgdGhpczsKICAgICB9CiAKLSAgICBqb2JqZWN0IF9pbnN0YW5jZTsKKyAgICBqb2JqZWN0
IG1faW5zdGFuY2U7CiAKIHByaXZhdGU6Ci0gICAgSk5JRW52ICpfZW52OwotICAgIHVuc2lnbmVk
IGludCBfcmVmQ291bnQ7CisgICAgSk5JRW52KiBtX2VudjsKKyAgICB1bnNpZ25lZCBpbnQgbV9y
ZWZDb3VudDsKIH07CiAKLWNsYXNzIEphdmFJbnN0YW5jZSA6IHB1YmxpYyBJbnN0YW5jZQotewor
Y2xhc3MgSmF2YUluc3RhbmNlIDogcHVibGljIEluc3RhbmNlIHsKIHB1YmxpYzoKLSAgICBzdGF0
aWMgUGFzc1JlZlB0cjxKYXZhSW5zdGFuY2U+IGNyZWF0ZShqb2JqZWN0IGluc3RhbmNlLCBQYXNz
UmVmUHRyPFJvb3RPYmplY3Q+IHJvb3RPYmplY3QpIAorICAgIHN0YXRpYyBQYXNzUmVmUHRyPEph
dmFJbnN0YW5jZT4gY3JlYXRlKGpvYmplY3QgaW5zdGFuY2UsIFBhc3NSZWZQdHI8Um9vdE9iamVj
dD4gcm9vdE9iamVjdCkKICAgICB7CiAgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgSmF2YUlu
c3RhbmNlKGluc3RhbmNlLCByb290T2JqZWN0KSk7CiAgICAgfQotICAgIAorCiAgICAgfkphdmFJ
bnN0YW5jZSgpOwotICAgIAotICAgIHZpcnR1YWwgQ2xhc3MgKmdldENsYXNzKCkgY29uc3Q7Ci0g
ICAgCisKKyAgICB2aXJ0dWFsIENsYXNzKiBnZXRDbGFzcygpIGNvbnN0OworCiAgICAgdmlydHVh
bCBKU1ZhbHVlIHZhbHVlT2YoRXhlY1N0YXRlKikgY29uc3Q7CiAgICAgdmlydHVhbCBKU1ZhbHVl
IGRlZmF1bHRWYWx1ZShFeGVjU3RhdGUqLCBQcmVmZXJyZWRQcmltaXRpdmVUeXBlKSBjb25zdDsK
IAogICAgIHZpcnR1YWwgSlNWYWx1ZSBpbnZva2VNZXRob2QoRXhlY1N0YXRlKiBleGVjLCBjb25z
dCBNZXRob2RMaXN0JiBtZXRob2QsIGNvbnN0IEFyZ0xpc3QmIGFyZ3MpOwogCi0gICAgam9iamVj
dCBqYXZhSW5zdGFuY2UoKSBjb25zdCB7IHJldHVybiBfaW5zdGFuY2UtPl9pbnN0YW5jZTsgfQot
ICAgIAorICAgIGpvYmplY3QgamF2YUluc3RhbmNlKCkgY29uc3QgeyByZXR1cm4gbV9pbnN0YW5j
ZS0+bV9pbnN0YW5jZTsgfQorCiAgICAgSlNWYWx1ZSBzdHJpbmdWYWx1ZShFeGVjU3RhdGUqKSBj
b25zdDsKICAgICBKU1ZhbHVlIG51bWJlclZhbHVlKEV4ZWNTdGF0ZSopIGNvbnN0OwogICAgIEpT
VmFsdWUgYm9vbGVhblZhbHVlKCkgY29uc3Q7CkBAIC05Nyw4ICs5NSw4IEBAIHByb3RlY3RlZDoK
ICAgICB2aXJ0dWFsIHZvaWQgdmlydHVhbEJlZ2luKCk7CiAgICAgdmlydHVhbCB2b2lkIHZpcnR1
YWxFbmQoKTsKIAotICAgIFJlZlB0cjxKT2JqZWN0V3JhcHBlcj4gX2luc3RhbmNlOwotICAgIG11
dGFibGUgSmF2YUNsYXNzICpfY2xhc3M7CisgICAgUmVmUHRyPEpPYmplY3RXcmFwcGVyPiBtX2lu
c3RhbmNlOworICAgIG11dGFibGUgSmF2YUNsYXNzKiBtX2NsYXNzOwogfTsKIAogfSAvLyBuYW1l
c3BhY2UgQmluZGluZ3MK
</data>

          </attachment>
      

    </bug>

</bugzilla>