<?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>55772</bug_id>
          
          <creation_ts>2011-03-04 06:36:35 -0800</creation_ts>
          <short_desc>JavaParameter should be removed</short_desc>
          <delta_ts>2011-03-07 07:18:13 -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>55383</blocked>
    
    <blocked>55774</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Steve Block">steveblock</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>andreip</cc>
    
    <cc>commit-queue</cc>
    
    <cc>jorlow</cc>
    
    <cc>steveblock</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>362460</commentid>
    <comment_count>0</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2011-03-04 06:36:35 -0800</bug_when>
    <thetext>JavaParameter is used by the Java bridge to represent the parameter of a Java method. However, there are several problems with the class ...
- The getJNIType() method is simply the cached result of the trivial JNITypeFromClassName() utility method acting on m_type. It seems odd to cache the result of a utility method.
- The class is really just a wrapper around the m_type string, so isn&apos;t worth the code complexity overhead.
- It exposes details of JNI in its API. This prevents us from providing a clean interface for JavaInstance/JavaClass etc which does not depend on a JNI/jobject implementation. See Bug 55383.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362465</commentid>
    <comment_count>1</comment_count>
      <attachid>84740</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2011-03-04 06:41:17 -0800</bug_when>
    <thetext>Created attachment 84740
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362486</commentid>
    <comment_count>2</comment_count>
    <who name="Andrei Popescu">andreip</who>
    <bug_when>2011-03-04 07:38:23 -0800</bug_when>
    <thetext>LGTM with a minor nit

&gt; 64: for (int i = 0; i &lt; numParameters; i++)

Here &apos;i&apos; is an int.

&gt; 123: for (unsigned int i = 0; i &lt; m_parameters.size(); i++)

Here &apos;i&apos; is an unsigned.

Maybe make this consistent?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362492</commentid>
    <comment_count>3</comment_count>
      <attachid>84750</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2011-03-04 07:54:54 -0800</bug_when>
    <thetext>Created attachment 84750
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362512</commentid>
    <comment_count>4</comment_count>
    <who name="Andrei Popescu">andreip</who>
    <bug_when>2011-03-04 08:24:13 -0800</bug_when>
    <thetext>Thanks, LGTM</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362591</commentid>
    <comment_count>5</comment_count>
      <attachid>84750</attachid>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2011-03-04 10:03:52 -0800</bug_when>
    <thetext>Comment on attachment 84750
Patch

I don&apos;t really understand this stuff, but I trust Andrei&apos;s LGTM...r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362862</commentid>
    <comment_count>6</comment_count>
      <attachid>84750</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-03-04 21:10:52 -0800</bug_when>
    <thetext>Comment on attachment 84750
Patch

Rejecting attachment 84750 from commit-queue.

Failed to run &quot;[&apos;./Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=cr-jail-8&apos;, &apos;build-...&quot; exit_code: 2

Last 500 characters of output:
....
inspector/audits .
inspector/console ......................
inspector/debugger ....................
inspector/editor ...
inspector/elements ................
inspector/extensions .......
inspector/protocol .
inspector/styles .............
inspector/timeline ...........
java .
java/argument-to-object-type.html -&gt; crashed

Exiting early after 1 failures. 12852 tests run.
435.17s total testing time

12851 test cases (99%) succeeded
1 test case (&lt;1%) crashed
8 test cases (&lt;1%) had stderr output

Full output: http://queues.webkit.org/results/8086895</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>363311</commentid>
    <comment_count>7</comment_count>
      <attachid>84936</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2011-03-07 05:33:18 -0800</bug_when>
    <thetext>Created attachment 84936
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>363312</commentid>
    <comment_count>8</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2011-03-07 05:33:57 -0800</bug_when>
    <thetext>Fixed potential crash due to CString local going out of scope when using String::utf8()::data()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>363334</commentid>
    <comment_count>9</comment_count>
      <attachid>84936</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2011-03-07 06:53:10 -0800</bug_when>
    <thetext>Comment on attachment 84936
Patch

Retaining jorlow&apos;s r+</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>363337</commentid>
    <comment_count>10</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2011-03-07 07:16:41 -0800</bug_when>
    <thetext>Committed r80467: &lt;http://trac.webkit.org/changeset/80467&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>84740</attachid>
            <date>2011-03-04 06:41:17 -0800</date>
            <delta_ts>2011-03-04 07:54:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-55772-20110304144115.patch</filename>
            <type>text/plain</type>
            <size>10355</size>
            <attacher name="Steve Block">steveblock</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODAzNDAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA3OWU4MjA4MGRlNGZhYmZk
ZjViYWQwMDllMjRkMWRhMzFjYTFiYjIwLi4yNzcyODMyNTNlN2ZjYzMzODkxNzIyZDM5NTI2ZTky
OGJkOGFkMTU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMzAgQEAKIDIwMTEtMDMtMDQgIFN0ZXZl
IEJsb2NrICA8c3RldmVibG9ja0Bnb29nbGUuY29tPgogCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEphdmFQYXJhbWV0ZXIgc2hvdWxkIGJlIHJlbW92ZWQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU1NzcyCisK
KyAgICAgICAgTm8gbmV3IHRlc3RzLCByZWZhY3RvcmluZyBvbmx5LgorCisgICAgICAgICogYnJp
ZGdlL2puaS9KTklCcmlkZ2UuY3BwOgorICAgICAgICAoSmF2YU1ldGhvZDo6SmF2YU1ldGhvZCk6
CisgICAgICAgIChKYXZhTWV0aG9kOjp+SmF2YU1ldGhvZCk6CisgICAgICAgIChKYXZhTWV0aG9k
OjpzaWduYXR1cmUpOgorICAgICAgICAqIGJyaWRnZS9qbmkvSk5JQnJpZGdlLmg6CisgICAgICAg
IChKU0M6OkJpbmRpbmdzOjpKYXZhTWV0aG9kOjpwYXJhbWV0ZXJBdCk6CisgICAgICAgIChKU0M6
OkJpbmRpbmdzOjpKYXZhTWV0aG9kOjpudW1QYXJhbWV0ZXJzKToKKyAgICAgICAgKiBicmlkZ2Uv
am5pL0pOSVV0aWxpdHkuaDoKKyAgICAgICAgKiBicmlkZ2Uvam5pL2pzYy9KYXZhSW5zdGFuY2VK
U0MuY3BwOgorICAgICAgICAoSmF2YUluc3RhbmNlOjppbnZva2VNZXRob2QpOgorICAgICAgICAq
IGJyaWRnZS9qbmkvdjgvSk5JVXRpbGl0eVByaXZhdGUuY3BwOgorICAgICAgICAoSlNDOjpCaW5k
aW5nczo6Y29udmVydE5QVmFyaWFudFRvSlZhbHVlKToKKyAgICAgICAgKiBicmlkZ2Uvam5pL3Y4
L0pOSVV0aWxpdHlQcml2YXRlLmg6CisgICAgICAgICogYnJpZGdlL2puaS92OC9KYXZhSW5zdGFu
Y2VWOC5jcHA6CisgICAgICAgIChKYXZhSW5zdGFuY2U6Omludm9rZU1ldGhvZCk6CisKKzIwMTEt
MDMtMDQgIFN0ZXZlIEJsb2NrICA8c3RldmVibG9ja0Bnb29nbGUuY29tPgorCiAgICAgICAgIFJl
dmlld2VkIGJ5IEplcmVteSBPcmxvdy4KIAogICAgICAgICBWOCB2ZXJzaW9uIG9mIEphdmFTdHJp
bmcgc2hvdWxkIG9idGFpbiBzdHJpbmcgZnJvbSBKTkkgaW4gVVRGLTE2IGVuY29kaW5nCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL0pOSUJyaWRnZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9icmlkZ2Uvam5pL0pOSUJyaWRnZS5jcHAKaW5kZXggMTNjY2M3MTIxZjI4MDgyNzYx
MmMzZWVhOGY3MTJmZmJjYWMxM2UyNS4uZGM4ZDM4MGI1MzAwZjNjYmNiNTc4MTIxNDAzMGUwMmZi
ODVjZDc5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS9KTklCcmlkZ2Uu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvSk5JQnJpZGdlLmNwcApAQCAtMzYs
MTIgKzM2LDYgQEAKIHVzaW5nIG5hbWVzcGFjZSBKU0M7CiB1c2luZyBuYW1lc3BhY2UgSlNDOjpC
aW5kaW5nczsKIAotSmF2YVBhcmFtZXRlcjo6SmF2YVBhcmFtZXRlcihKTklFbnYqIGVudiwganN0
cmluZyB0eXBlKQotewotICAgIG1fdHlwZSA9IEphdmFTdHJpbmcoZW52LCB0eXBlKTsKLSAgICBt
X0pOSVR5cGUgPSBKTklUeXBlRnJvbUNsYXNzTmFtZShtX3R5cGUudXRmOCgpKTsKLX0KLQogSmF2
YU1ldGhvZDo6SmF2YU1ldGhvZChKTklFbnYqIGVudiwgam9iamVjdCBhTWV0aG9kKQogewogICAg
IC8vIEdldCByZXR1cm4gdHlwZSBuYW1lCkBAIC02NSwyMiArNTksMTggQEAgSmF2YU1ldGhvZDo6
SmF2YU1ldGhvZChKTklFbnYqIGVudiwgam9iamVjdCBhTWV0aG9kKQogCiAgICAgLy8gR2V0IHBh
cmFtZXRlcnMKICAgICBpZiAoamFycmF5IGpwYXJhbWV0ZXJzID0gc3RhdGljX2Nhc3Q8amFycmF5
PihjYWxsSk5JTWV0aG9kPGpvYmplY3Q+KGFNZXRob2QsICJnZXRQYXJhbWV0ZXJUeXBlcyIsICIo
KVtMamF2YS9sYW5nL0NsYXNzOyIpKSkgewotICAgICAgICBtX251bVBhcmFtZXRlcnMgPSBlbnYt
PkdldEFycmF5TGVuZ3RoKGpwYXJhbWV0ZXJzKTsKLSAgICAgICAgbV9wYXJhbWV0ZXJzID0gbmV3
IEphdmFQYXJhbWV0ZXJbbV9udW1QYXJhbWV0ZXJzXTsKKyAgICAgICAgaW50IG51bVBhcmFtZXRl
cnMgPSBlbnYtPkdldEFycmF5TGVuZ3RoKGpwYXJhbWV0ZXJzKTsKIAotICAgICAgICBmb3IgKGlu
dCBpID0gMDsgaSA8IG1fbnVtUGFyYW1ldGVyczsgaSsrKSB7CisgICAgICAgIGZvciAoaW50IGkg
PSAwOyBpIDwgbnVtUGFyYW1ldGVyczsgaSsrKSB7CiAgICAgICAgICAgICBqb2JqZWN0IGFQYXJh
bWV0ZXIgPSBlbnYtPkdldE9iamVjdEFycmF5RWxlbWVudChzdGF0aWNfY2FzdDxqb2JqZWN0QXJy
YXk+KGpwYXJhbWV0ZXJzKSwgaSk7CiAgICAgICAgICAgICBqc3RyaW5nIHBhcmFtZXRlck5hbWUg
PSBzdGF0aWNfY2FzdDxqc3RyaW5nPihjYWxsSk5JTWV0aG9kPGpvYmplY3Q+KGFQYXJhbWV0ZXIs
ICJnZXROYW1lIiwgIigpTGphdmEvbGFuZy9TdHJpbmc7IikpOwogICAgICAgICAgICAgaWYgKCFw
YXJhbWV0ZXJOYW1lKQogICAgICAgICAgICAgICAgIHBhcmFtZXRlck5hbWUgPSBlbnYtPk5ld1N0
cmluZ1VURigiPFVua25vd24+Iik7Ci0gICAgICAgICAgICBtX3BhcmFtZXRlcnNbaV0gPSBKYXZh
UGFyYW1ldGVyKGVudiwgcGFyYW1ldGVyTmFtZSk7CisgICAgICAgICAgICBtX3BhcmFtZXRlcnMu
YXBwZW5kKEphdmFTdHJpbmcoZW52LCBwYXJhbWV0ZXJOYW1lKS5pbXBsKCkpOwogICAgICAgICAg
ICAgZW52LT5EZWxldGVMb2NhbFJlZihhUGFyYW1ldGVyKTsKICAgICAgICAgICAgIGVudi0+RGVs
ZXRlTG9jYWxSZWYocGFyYW1ldGVyTmFtZSk7CiAgICAgICAgIH0KICAgICAgICAgZW52LT5EZWxl
dGVMb2NhbFJlZihqcGFyYW1ldGVycyk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgbV9udW1QYXJh
bWV0ZXJzID0gMDsKLSAgICAgICAgbV9wYXJhbWV0ZXJzID0gMDsKICAgICB9CiAKICAgICAvLyBD
cmVhdGVkIGxhemlseS4KQEAgLTk3LDcgKzg3LDYgQEAgSmF2YU1ldGhvZDo6fkphdmFNZXRob2Qo
KQogewogICAgIGlmIChtX3NpZ25hdHVyZSkKICAgICAgICAgZmFzdEZyZWUobV9zaWduYXR1cmUp
OwotICAgIGRlbGV0ZVtdIG1fcGFyYW1ldGVyczsKIH07CiAKIC8vIEpOSSBtZXRob2Qgc2lnbmF0
dXJlcyB1c2UgJy8nIGJldHdlZW4gY29tcG9uZW50cyBvZiBhIGNsYXNzIG5hbWUsIGJ1dApAQCAt
MTMxLDE1ICsxMjAsMTUgQEAgY29uc3QgY2hhciogSmF2YU1ldGhvZDo6c2lnbmF0dXJlKCkgY29u
c3QKIAogICAgICAgICBTdHJpbmdCdWlsZGVyIHNpZ25hdHVyZUJ1aWxkZXI7CiAgICAgICAgIHNp
Z25hdHVyZUJ1aWxkZXIuYXBwZW5kKCcoJyk7Ci0gICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwg
bV9udW1QYXJhbWV0ZXJzOyBpKyspIHsKLSAgICAgICAgICAgIEphdmFQYXJhbWV0ZXIqIGFQYXJh
bWV0ZXIgPSBwYXJhbWV0ZXJBdChpKTsKLSAgICAgICAgICAgIEpOSVR5cGUgdHlwZSA9IGFQYXJh
bWV0ZXItPmdldEpOSVR5cGUoKTsKKyAgICAgICAgZm9yICh1bnNpZ25lZCBpbnQgaSA9IDA7IGkg
PCBtX3BhcmFtZXRlcnMuc2l6ZSgpOyBpKyspIHsKKyAgICAgICAgICAgIFJ1bnRpbWVUeXBlIGph
dmFDbGFzc05hbWUgPSBwYXJhbWV0ZXJBdChpKS51dGY4KCkuZGF0YSgpOworICAgICAgICAgICAg
Sk5JVHlwZSB0eXBlID0gSk5JVHlwZUZyb21DbGFzc05hbWUoamF2YUNsYXNzTmFtZSk7CiAgICAg
ICAgICAgICBpZiAodHlwZSA9PSBhcnJheV90eXBlKQotICAgICAgICAgICAgICAgIGFwcGVuZENs
YXNzTmFtZShzaWduYXR1cmVCdWlsZGVyLCBhUGFyYW1ldGVyLT50eXBlKCkpOworICAgICAgICAg
ICAgICAgIGFwcGVuZENsYXNzTmFtZShzaWduYXR1cmVCdWlsZGVyLCBqYXZhQ2xhc3NOYW1lKTsK
ICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgIHNpZ25hdHVyZUJ1aWxkZXIuYXBw
ZW5kKHNpZ25hdHVyZUZyb21QcmltaXRpdmVUeXBlKHR5cGUpKTsKICAgICAgICAgICAgICAgICBp
ZiAodHlwZSA9PSBvYmplY3RfdHlwZSkgewotICAgICAgICAgICAgICAgICAgICBhcHBlbmRDbGFz
c05hbWUoc2lnbmF0dXJlQnVpbGRlciwgYVBhcmFtZXRlci0+dHlwZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgYXBwZW5kQ2xhc3NOYW1lKHNpZ25hdHVyZUJ1aWxkZXIsIGphdmFDbGFzc05hbWUp
OwogICAgICAgICAgICAgICAgICAgICBzaWduYXR1cmVCdWlsZGVyLmFwcGVuZCgnOycpOwogICAg
ICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JyaWRnZS9qbmkvSk5JQnJpZGdlLmggYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL0pOSUJy
aWRnZS5oCmluZGV4IDcyMmU2ZTliODY1ZTJiYWJhOTgyMzEwM2Q2MGFiMmQxMGZmYTdmOGQuLmFh
Mzg4NzFhNDYxZDJlZmZlYzRlYTgwNGY2YzQwNDg2NWNmMmQ0YWQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JyaWRnZS9qbmkvSk5JQnJpZGdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYnJp
ZGdlL2puaS9KTklCcmlkZ2UuaApAQCAtNjksMjAgKzY5LDYgQEAgcHJpdmF0ZToKICAgICBKYXZh
U3RyaW5nSW1wbCBtX2ltcGw7CiB9OwogCi1jbGFzcyBKYXZhUGFyYW1ldGVyIHsKLXB1YmxpYzoK
LSAgICBKYXZhUGFyYW1ldGVyKCkgOiBtX0pOSVR5cGUoaW52YWxpZF90eXBlKSB7IH0KLSAgICBK
YXZhUGFyYW1ldGVyKEpOSUVudiosIGpzdHJpbmcgdHlwZSk7Ci0gICAgdmlydHVhbCB+SmF2YVBh
cmFtZXRlcigpIHsgfQotCi0gICAgUnVudGltZVR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1f
dHlwZS51dGY4KCk7IH0KLSAgICBKTklUeXBlIGdldEpOSVR5cGUoKSBjb25zdCB7IHJldHVybiBt
X0pOSVR5cGU7IH0KLQotcHJpdmF0ZToKLSAgICBKYXZhU3RyaW5nIG1fdHlwZTsKLSAgICBKTklU
eXBlIG1fSk5JVHlwZTsKLX07Ci0KIGNsYXNzIEphdmFNZXRob2QgOiBwdWJsaWMgTWV0aG9kIHsK
IHB1YmxpYzoKICAgICBKYXZhTWV0aG9kKEpOSUVudiosIGpvYmplY3QgYU1ldGhvZCk7CkBAIC05
MCw4ICs3Niw4IEBAIHB1YmxpYzoKIAogICAgIGNvbnN0IEphdmFTdHJpbmcmIG5hbWUoKSBjb25z
dCB7IHJldHVybiBtX25hbWU7IH0KICAgICBSdW50aW1lVHlwZSByZXR1cm5UeXBlKCkgY29uc3Qg
eyByZXR1cm4gbV9yZXR1cm5UeXBlLnV0ZjgoKTsgfQotICAgIEphdmFQYXJhbWV0ZXIqIHBhcmFt
ZXRlckF0KGludCBpKSBjb25zdCB7IHJldHVybiAmbV9wYXJhbWV0ZXJzW2ldOyB9Ci0gICAgaW50
IG51bVBhcmFtZXRlcnMoKSBjb25zdCB7IHJldHVybiBtX251bVBhcmFtZXRlcnM7IH0KKyAgICBj
b25zdCBXVEY6OlN0cmluZyYgcGFyYW1ldGVyQXQoaW50IGkpIGNvbnN0IHsgcmV0dXJuIG1fcGFy
YW1ldGVyc1tpXTsgfQorICAgIGludCBudW1QYXJhbWV0ZXJzKCkgY29uc3QgeyByZXR1cm4gbV9w
YXJhbWV0ZXJzLnNpemUoKTsgfQogCiAgICAgY29uc3QgY2hhciogc2lnbmF0dXJlKCkgY29uc3Q7
CiAgICAgSk5JVHlwZSBKTklSZXR1cm5UeXBlKCkgY29uc3Q7CkBAIC0xMDEsOCArODcsNyBAQCBw
dWJsaWM6CiAgICAgYm9vbCBpc1N0YXRpYygpIGNvbnN0IHsgcmV0dXJuIG1faXNTdGF0aWM7IH0K
IAogcHJpdmF0ZToKLSAgICBKYXZhUGFyYW1ldGVyKiBtX3BhcmFtZXRlcnM7Ci0gICAgaW50IG1f
bnVtUGFyYW1ldGVyczsKKyAgICBWZWN0b3I8V1RGOjpTdHJpbmc+IG1fcGFyYW1ldGVyczsKICAg
ICBKYXZhU3RyaW5nIG1fbmFtZTsKICAgICBtdXRhYmxlIGNoYXIqIG1fc2lnbmF0dXJlOwogICAg
IEphdmFTdHJpbmcgbV9yZXR1cm5UeXBlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJp
ZGdlL2puaS9KTklVdGlsaXR5LmggYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL0pOSVV0aWxp
dHkuaAppbmRleCAwMjA4M2RlZGQzOWM0YzAzZmNkMjVkYzhkMDc1OGM3OTdjMWFhYmMxLi43YjVk
MzdjNDI2ODcyMzI5MjlhMWVmNjg0NTI2YzRiNmJjMjdkY2E4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9icmlkZ2Uvam5pL0pOSVV0aWxpdHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlk
Z2Uvam5pL0pOSVV0aWxpdHkuaApAQCAtMzksNiArMzksMTAgQEAKIC8vIHNob3VsZCBiZSBhZGRl
ZCB0byB0aGUgZW5kLiBJdCBpcyB1c2VkIGluIGpuaV9vYmMubW0gd2hlbiBjYWxsaW5nCiAvLyB0
aHJvdWdoIHRvIHRoZSBKVk0uIE5ld2x5IGFkZGVkIGl0ZW1zIG5lZWQgdG8gYmUgbWFkZSBjb21w
YXRpYmxlCiAvLyBpbiB0aGF0IGZpbGUuCisvLworLy8gVE9ETzogU3RyaWN0bHksIHRoZXNlIGFy
ZSBub3QgSk5JIHR5cGVzIGJ1dCBzaW1wbHkgSmF2YSB0eXBlcy4gVGhlIHR5cGUKKy8vIGNvbnZl
cnNpb24gbG9naWMgdXNlZCBoZXJlIG5lZWRzIGltcHJvdmluZyBhbmQgdGhpcyBlbnVtIHdpbGwg
bGlrZWx5IGJlCisvLyBjaGFuZ2VkIGF0IHRoYXQgdGltZS4gU2VlIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zODc0NQogdHlwZWRlZiBlbnVtIHsKICAgICBpbnZhbGlk
X3R5cGUgPSAwLAogICAgIHZvaWRfdHlwZSwKQEAgLTU4LDggKzYyLDYgQEAgbmFtZXNwYWNlIEpT
QyB7CiAKIG5hbWVzcGFjZSBCaW5kaW5ncyB7CiAKLWNsYXNzIEphdmFQYXJhbWV0ZXI7Ci0KIGNv
bnN0IGNoYXIqIGdldENoYXJhY3RlcnNGcm9tSlN0cmluZyhqc3RyaW5nKTsKIHZvaWQgcmVsZWFz
ZUNoYXJhY3RlcnNGb3JKU3RyaW5nKGpzdHJpbmcsIGNvbnN0IGNoYXIqKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS9qc2MvSmF2YUluc3RhbmNlSlNDLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvanNjL0phdmFJbnN0YW5jZUpTQy5jcHAKaW5kZXggMGI4
OWM0ODVlMTYyYWFkZDZkMTJmOTE4MmIzYWE2MDNkMTIyZjBkOC4uMDM1NmUxZGVhZWM5MGEwMGY2
MzUwNDA4ZjkyOTI0MWM3OTc5ZTlmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdl
L2puaS9qc2MvSmF2YUluc3RhbmNlSlNDLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uv
am5pL2pzYy9KYXZhSW5zdGFuY2VKU0MuY3BwCkBAIC0xNzUsOCArMTc1LDggQEAgSlNWYWx1ZSBK
YXZhSW5zdGFuY2U6Omludm9rZU1ldGhvZChFeGVjU3RhdGUqIGV4ZWMsIFJ1bnRpbWVNZXRob2Qq
IHJ1bnRpbWVNZXRob2QKICAgICBWZWN0b3I8anZhbHVlPiBqQXJncyhjb3VudCk7CiAKICAgICBm
b3IgKGkgPSAwOyBpIDwgY291bnQ7IGkrKykgewotICAgICAgICBKYXZhUGFyYW1ldGVyKiBhUGFy
YW1ldGVyID0gak1ldGhvZC0+cGFyYW1ldGVyQXQoaSk7Ci0gICAgICAgIGpBcmdzW2ldID0gY29u
dmVydFZhbHVlVG9KVmFsdWUoZXhlYywgbV9yb290T2JqZWN0LmdldCgpLCBleGVjLT5hcmd1bWVu
dChpKSwgYVBhcmFtZXRlci0+Z2V0Sk5JVHlwZSgpLCBhUGFyYW1ldGVyLT50eXBlKCkpOworICAg
ICAgICBSdW50aW1lVHlwZSBqYXZhQ2xhc3NOYW1lID0gak1ldGhvZC0+cGFyYW1ldGVyQXQoaSku
dXRmOCgpLmRhdGEoKTsKKyAgICAgICAgakFyZ3NbaV0gPSBjb252ZXJ0VmFsdWVUb0pWYWx1ZShl
eGVjLCBtX3Jvb3RPYmplY3QuZ2V0KCksIGV4ZWMtPmFyZ3VtZW50KGkpLCBKTklUeXBlRnJvbUNs
YXNzTmFtZShqYXZhQ2xhc3NOYW1lKSwgamF2YUNsYXNzTmFtZSk7CiAgICAgICAgIExPRyhMaXZl
Q29ubmVjdCwgIkphdmFJbnN0YW5jZTo6aW52b2tlTWV0aG9kIGFyZ1slZF0gPSAlcyIsIGksIGV4
ZWMtPmFyZ3VtZW50KGkpLnRvU3RyaW5nKGV4ZWMpLmFzY2lpKCkuZGF0YSgpKTsKICAgICB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvdjgvSk5JVXRpbGl0eVByaXZh
dGUuY3BwIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS92OC9KTklVdGlsaXR5UHJpdmF0ZS5j
cHAKaW5kZXggY2I4YWI5MTUwY2ExZjIxY2E2MDEzNWY1N2VkOGIyMTI3YjljMzBkNS4uYTcyNzZi
OTE0ZDU5YWFiZGViNTYzNTMwMTIxZTRkMzQyMWQ1NWVlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYnJpZGdlL2puaS92OC9KTklVdGlsaXR5UHJpdmF0ZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYnJpZGdlL2puaS92OC9KTklVdGlsaXR5UHJpdmF0ZS5jcHAKQEAgLTMwLDEzICszMCwx
NiBAQAogCiAjaW5jbHVkZSAiSmF2YUluc3RhbmNlVjguaCIKICNpbmNsdWRlICJKYXZhTlBPYmpl
Y3RWOC5oIgorI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KIAogbmFtZXNwYWNlIEpTQyB7
CiAKIG5hbWVzcGFjZSBCaW5kaW5ncyB7CiAKLWp2YWx1ZSBjb252ZXJ0TlBWYXJpYW50VG9KVmFs
dWUoTlBWYXJpYW50IHZhbHVlLCBKTklUeXBlIGpuaVR5cGUsIGNvbnN0IGNoYXIqIGphdmFDbGFz
c05hbWUpCitqdmFsdWUgY29udmVydE5QVmFyaWFudFRvSlZhbHVlKE5QVmFyaWFudCB2YWx1ZSwg
Y29uc3QgV1RGOjpTdHJpbmcmIGphdmFUeXBlKQogeworICAgIGNvbnN0IGNoYXIqIGphdmFDbGFz
c05hbWUgPSBqYXZhVHlwZS51dGY4KCkuZGF0YSgpOworICAgIEpOSVR5cGUgam5pVHlwZSA9IEpO
SVR5cGVGcm9tQ2xhc3NOYW1lKGphdmFDbGFzc05hbWUpOwogICAgIGp2YWx1ZSByZXN1bHQ7CiAg
ICAgTlBWYXJpYW50VHlwZSB0eXBlID0gdmFsdWUudHlwZTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYnJpZGdlL2puaS92OC9KTklVdGlsaXR5UHJpdmF0ZS5oIGIvU291cmNlL1dlYkNv
cmUvYnJpZGdlL2puaS92OC9KTklVdGlsaXR5UHJpdmF0ZS5oCmluZGV4IGRhNDNjYTFhMTgyODg2
ZDY0MWMwZTNjZGVhOTE1NTcyZmM5ODgyOGMuLmRmNzNhOWU0NmM3MGVmNGViNGMzYWUxZTQ4YzY0
ZWEyMjI4MWUwODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvdjgvSk5J
VXRpbGl0eVByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL3Y4L0pOSVV0
aWxpdHlQcml2YXRlLmgKQEAgLTMwLDEyICszMCwxMyBAQAogCiAjaW5jbHVkZSAiSk5JVXRpbGl0
eS5oIgogI2luY2x1ZGUgIm5wcnVudGltZS5oIgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmlu
Zy5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIAogbmFtZXNwYWNlIEJpbmRpbmdzIHsKIAotanZhbHVl
IGNvbnZlcnROUFZhcmlhbnRUb0pWYWx1ZShOUFZhcmlhbnQsIEpOSVR5cGUsIGNvbnN0IGNoYXIq
IGphdmFDbGFzc05hbWUpOworanZhbHVlIGNvbnZlcnROUFZhcmlhbnRUb0pWYWx1ZShOUFZhcmlh
bnQsIGNvbnN0IFdURjo6U3RyaW5nJiBqYXZhVHlwZSk7CiB2b2lkIGNvbnZlcnRKVmFsdWVUb05Q
VmFyaWFudChqdmFsdWUsIEpOSVR5cGUsIGNvbnN0IGNoYXIqIGphdmFDbGFzc05hbWUsIE5QVmFy
aWFudCopOwogCiB9IC8vIG5hbWVzcGFjZSBCaW5kaW5ncwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYnJpZGdlL2puaS92OC9KYXZhSW5zdGFuY2VWOC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9i
cmlkZ2Uvam5pL3Y4L0phdmFJbnN0YW5jZVY4LmNwcAppbmRleCAwODRiNDJlZTBjZjIwYmNlMGUw
NDk5NWI2OTZjOTZmOGM5NmZhMmE1Li5kMDMzODY1MzFlNmNmZmNiMzRmMWMwZDI1NTdlNTQ1ZDlh
MDUwMTkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL3Y4L0phdmFJbnN0
YW5jZVY4LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL3Y4L0phdmFJbnN0YW5j
ZVY4LmNwcApAQCAtOTcsMTAgKzk3LDggQEAgYm9vbCBKYXZhSW5zdGFuY2U6Omludm9rZU1ldGhv
ZChjb25zdCBjaGFyKiBtZXRob2ROYW1lLCBjb25zdCBOUFZhcmlhbnQqIGFyZ3MsIGkKICAgICBp
ZiAoY291bnQgPiAwKQogICAgICAgICBqQXJncyA9IHN0YXRpY19jYXN0PGp2YWx1ZSo+KG1hbGxv
Yyhjb3VudCAqIHNpemVvZihqdmFsdWUpKSk7CiAKLSAgICBmb3IgKGludCBpID0gMDsgaSA8IGNv
dW50OyBpKyspIHsKLSAgICAgICAgSmF2YVBhcmFtZXRlciogYVBhcmFtZXRlciA9IGpNZXRob2Qt
PnBhcmFtZXRlckF0KGkpOwotICAgICAgICBqQXJnc1tpXSA9IGNvbnZlcnROUFZhcmlhbnRUb0pW
YWx1ZShhcmdzW2ldLCBhUGFyYW1ldGVyLT5nZXRKTklUeXBlKCksIGFQYXJhbWV0ZXItPnR5cGUo
KSk7Ci0gICAgfQorICAgIGZvciAoaW50IGkgPSAwOyBpIDwgY291bnQ7IGkrKykKKyAgICAgICAg
akFyZ3NbaV0gPSBjb252ZXJ0TlBWYXJpYW50VG9KVmFsdWUoYXJnc1tpXSwgak1ldGhvZC0+cGFy
YW1ldGVyQXQoaSkpOwogCiAgICAganZhbHVlIHJlc3VsdDsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>84750</attachid>
            <date>2011-03-04 07:54:54 -0800</date>
            <delta_ts>2011-03-07 05:33:13 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-55772-20110304155452.patch</filename>
            <type>text/plain</type>
            <size>10373</size>
            <attacher name="Steve Block">steveblock</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODAzNDAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA3OWU4MjA4MGRlNGZhYmZk
ZjViYWQwMDllMjRkMWRhMzFjYTFiYjIwLi4yNzcyODMyNTNlN2ZjYzMzODkxNzIyZDM5NTI2ZTky
OGJkOGFkMTU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMzAgQEAKIDIwMTEtMDMtMDQgIFN0ZXZl
IEJsb2NrICA8c3RldmVibG9ja0Bnb29nbGUuY29tPgogCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEphdmFQYXJhbWV0ZXIgc2hvdWxkIGJlIHJlbW92ZWQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU1NzcyCisK
KyAgICAgICAgTm8gbmV3IHRlc3RzLCByZWZhY3RvcmluZyBvbmx5LgorCisgICAgICAgICogYnJp
ZGdlL2puaS9KTklCcmlkZ2UuY3BwOgorICAgICAgICAoSmF2YU1ldGhvZDo6SmF2YU1ldGhvZCk6
CisgICAgICAgIChKYXZhTWV0aG9kOjp+SmF2YU1ldGhvZCk6CisgICAgICAgIChKYXZhTWV0aG9k
OjpzaWduYXR1cmUpOgorICAgICAgICAqIGJyaWRnZS9qbmkvSk5JQnJpZGdlLmg6CisgICAgICAg
IChKU0M6OkJpbmRpbmdzOjpKYXZhTWV0aG9kOjpwYXJhbWV0ZXJBdCk6CisgICAgICAgIChKU0M6
OkJpbmRpbmdzOjpKYXZhTWV0aG9kOjpudW1QYXJhbWV0ZXJzKToKKyAgICAgICAgKiBicmlkZ2Uv
am5pL0pOSVV0aWxpdHkuaDoKKyAgICAgICAgKiBicmlkZ2Uvam5pL2pzYy9KYXZhSW5zdGFuY2VK
U0MuY3BwOgorICAgICAgICAoSmF2YUluc3RhbmNlOjppbnZva2VNZXRob2QpOgorICAgICAgICAq
IGJyaWRnZS9qbmkvdjgvSk5JVXRpbGl0eVByaXZhdGUuY3BwOgorICAgICAgICAoSlNDOjpCaW5k
aW5nczo6Y29udmVydE5QVmFyaWFudFRvSlZhbHVlKToKKyAgICAgICAgKiBicmlkZ2Uvam5pL3Y4
L0pOSVV0aWxpdHlQcml2YXRlLmg6CisgICAgICAgICogYnJpZGdlL2puaS92OC9KYXZhSW5zdGFu
Y2VWOC5jcHA6CisgICAgICAgIChKYXZhSW5zdGFuY2U6Omludm9rZU1ldGhvZCk6CisKKzIwMTEt
MDMtMDQgIFN0ZXZlIEJsb2NrICA8c3RldmVibG9ja0Bnb29nbGUuY29tPgorCiAgICAgICAgIFJl
dmlld2VkIGJ5IEplcmVteSBPcmxvdy4KIAogICAgICAgICBWOCB2ZXJzaW9uIG9mIEphdmFTdHJp
bmcgc2hvdWxkIG9idGFpbiBzdHJpbmcgZnJvbSBKTkkgaW4gVVRGLTE2IGVuY29kaW5nCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL0pOSUJyaWRnZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9icmlkZ2Uvam5pL0pOSUJyaWRnZS5jcHAKaW5kZXggMTNjY2M3MTIxZjI4MDgyNzYx
MmMzZWVhOGY3MTJmZmJjYWMxM2UyNS4uODI3YmVhOThkNWRkMTM2MjNmNGVlYTgwNDg5Mzg2NDJl
Y2FjN2U4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS9KTklCcmlkZ2Uu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvSk5JQnJpZGdlLmNwcApAQCAtMzYs
MTIgKzM2LDYgQEAKIHVzaW5nIG5hbWVzcGFjZSBKU0M7CiB1c2luZyBuYW1lc3BhY2UgSlNDOjpC
aW5kaW5nczsKIAotSmF2YVBhcmFtZXRlcjo6SmF2YVBhcmFtZXRlcihKTklFbnYqIGVudiwganN0
cmluZyB0eXBlKQotewotICAgIG1fdHlwZSA9IEphdmFTdHJpbmcoZW52LCB0eXBlKTsKLSAgICBt
X0pOSVR5cGUgPSBKTklUeXBlRnJvbUNsYXNzTmFtZShtX3R5cGUudXRmOCgpKTsKLX0KLQogSmF2
YU1ldGhvZDo6SmF2YU1ldGhvZChKTklFbnYqIGVudiwgam9iamVjdCBhTWV0aG9kKQogewogICAg
IC8vIEdldCByZXR1cm4gdHlwZSBuYW1lCkBAIC02NSwyMiArNTksMTggQEAgSmF2YU1ldGhvZDo6
SmF2YU1ldGhvZChKTklFbnYqIGVudiwgam9iamVjdCBhTWV0aG9kKQogCiAgICAgLy8gR2V0IHBh
cmFtZXRlcnMKICAgICBpZiAoamFycmF5IGpwYXJhbWV0ZXJzID0gc3RhdGljX2Nhc3Q8amFycmF5
PihjYWxsSk5JTWV0aG9kPGpvYmplY3Q+KGFNZXRob2QsICJnZXRQYXJhbWV0ZXJUeXBlcyIsICIo
KVtMamF2YS9sYW5nL0NsYXNzOyIpKSkgewotICAgICAgICBtX251bVBhcmFtZXRlcnMgPSBlbnYt
PkdldEFycmF5TGVuZ3RoKGpwYXJhbWV0ZXJzKTsKLSAgICAgICAgbV9wYXJhbWV0ZXJzID0gbmV3
IEphdmFQYXJhbWV0ZXJbbV9udW1QYXJhbWV0ZXJzXTsKKyAgICAgICAgdW5zaWduZWQgaW50IG51
bVBhcmFtZXRlcnMgPSBlbnYtPkdldEFycmF5TGVuZ3RoKGpwYXJhbWV0ZXJzKTsKIAotICAgICAg
ICBmb3IgKGludCBpID0gMDsgaSA8IG1fbnVtUGFyYW1ldGVyczsgaSsrKSB7CisgICAgICAgIGZv
ciAodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgbnVtUGFyYW1ldGVyczsgaSsrKSB7CiAgICAgICAg
ICAgICBqb2JqZWN0IGFQYXJhbWV0ZXIgPSBlbnYtPkdldE9iamVjdEFycmF5RWxlbWVudChzdGF0
aWNfY2FzdDxqb2JqZWN0QXJyYXk+KGpwYXJhbWV0ZXJzKSwgaSk7CiAgICAgICAgICAgICBqc3Ry
aW5nIHBhcmFtZXRlck5hbWUgPSBzdGF0aWNfY2FzdDxqc3RyaW5nPihjYWxsSk5JTWV0aG9kPGpv
YmplY3Q+KGFQYXJhbWV0ZXIsICJnZXROYW1lIiwgIigpTGphdmEvbGFuZy9TdHJpbmc7IikpOwog
ICAgICAgICAgICAgaWYgKCFwYXJhbWV0ZXJOYW1lKQogICAgICAgICAgICAgICAgIHBhcmFtZXRl
ck5hbWUgPSBlbnYtPk5ld1N0cmluZ1VURigiPFVua25vd24+Iik7Ci0gICAgICAgICAgICBtX3Bh
cmFtZXRlcnNbaV0gPSBKYXZhUGFyYW1ldGVyKGVudiwgcGFyYW1ldGVyTmFtZSk7CisgICAgICAg
ICAgICBtX3BhcmFtZXRlcnMuYXBwZW5kKEphdmFTdHJpbmcoZW52LCBwYXJhbWV0ZXJOYW1lKS5p
bXBsKCkpOwogICAgICAgICAgICAgZW52LT5EZWxldGVMb2NhbFJlZihhUGFyYW1ldGVyKTsKICAg
ICAgICAgICAgIGVudi0+RGVsZXRlTG9jYWxSZWYocGFyYW1ldGVyTmFtZSk7CiAgICAgICAgIH0K
ICAgICAgICAgZW52LT5EZWxldGVMb2NhbFJlZihqcGFyYW1ldGVycyk7Ci0gICAgfSBlbHNlIHsK
LSAgICAgICAgbV9udW1QYXJhbWV0ZXJzID0gMDsKLSAgICAgICAgbV9wYXJhbWV0ZXJzID0gMDsK
ICAgICB9CiAKICAgICAvLyBDcmVhdGVkIGxhemlseS4KQEAgLTk3LDcgKzg3LDYgQEAgSmF2YU1l
dGhvZDo6fkphdmFNZXRob2QoKQogewogICAgIGlmIChtX3NpZ25hdHVyZSkKICAgICAgICAgZmFz
dEZyZWUobV9zaWduYXR1cmUpOwotICAgIGRlbGV0ZVtdIG1fcGFyYW1ldGVyczsKIH07CiAKIC8v
IEpOSSBtZXRob2Qgc2lnbmF0dXJlcyB1c2UgJy8nIGJldHdlZW4gY29tcG9uZW50cyBvZiBhIGNs
YXNzIG5hbWUsIGJ1dApAQCAtMTMxLDE1ICsxMjAsMTUgQEAgY29uc3QgY2hhciogSmF2YU1ldGhv
ZDo6c2lnbmF0dXJlKCkgY29uc3QKIAogICAgICAgICBTdHJpbmdCdWlsZGVyIHNpZ25hdHVyZUJ1
aWxkZXI7CiAgICAgICAgIHNpZ25hdHVyZUJ1aWxkZXIuYXBwZW5kKCcoJyk7Ci0gICAgICAgIGZv
ciAoaW50IGkgPSAwOyBpIDwgbV9udW1QYXJhbWV0ZXJzOyBpKyspIHsKLSAgICAgICAgICAgIEph
dmFQYXJhbWV0ZXIqIGFQYXJhbWV0ZXIgPSBwYXJhbWV0ZXJBdChpKTsKLSAgICAgICAgICAgIEpO
SVR5cGUgdHlwZSA9IGFQYXJhbWV0ZXItPmdldEpOSVR5cGUoKTsKKyAgICAgICAgZm9yICh1bnNp
Z25lZCBpbnQgaSA9IDA7IGkgPCBtX3BhcmFtZXRlcnMuc2l6ZSgpOyBpKyspIHsKKyAgICAgICAg
ICAgIFJ1bnRpbWVUeXBlIGphdmFDbGFzc05hbWUgPSBwYXJhbWV0ZXJBdChpKS51dGY4KCkuZGF0
YSgpOworICAgICAgICAgICAgSk5JVHlwZSB0eXBlID0gSk5JVHlwZUZyb21DbGFzc05hbWUoamF2
YUNsYXNzTmFtZSk7CiAgICAgICAgICAgICBpZiAodHlwZSA9PSBhcnJheV90eXBlKQotICAgICAg
ICAgICAgICAgIGFwcGVuZENsYXNzTmFtZShzaWduYXR1cmVCdWlsZGVyLCBhUGFyYW1ldGVyLT50
eXBlKCkpOworICAgICAgICAgICAgICAgIGFwcGVuZENsYXNzTmFtZShzaWduYXR1cmVCdWlsZGVy
LCBqYXZhQ2xhc3NOYW1lKTsKICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgIHNp
Z25hdHVyZUJ1aWxkZXIuYXBwZW5kKHNpZ25hdHVyZUZyb21QcmltaXRpdmVUeXBlKHR5cGUpKTsK
ICAgICAgICAgICAgICAgICBpZiAodHlwZSA9PSBvYmplY3RfdHlwZSkgewotICAgICAgICAgICAg
ICAgICAgICBhcHBlbmRDbGFzc05hbWUoc2lnbmF0dXJlQnVpbGRlciwgYVBhcmFtZXRlci0+dHlw
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgYXBwZW5kQ2xhc3NOYW1lKHNpZ25hdHVyZUJ1aWxk
ZXIsIGphdmFDbGFzc05hbWUpOwogICAgICAgICAgICAgICAgICAgICBzaWduYXR1cmVCdWlsZGVy
LmFwcGVuZCgnOycpOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvSk5JQnJpZGdlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9icmlkZ2Uvam5pL0pOSUJyaWRnZS5oCmluZGV4IDcyMmU2ZTliODY1ZTJiYWJhOTgyMzEwM2Q2
MGFiMmQxMGZmYTdmOGQuLmFhMzg4NzFhNDYxZDJlZmZlYzRlYTgwNGY2YzQwNDg2NWNmMmQ0YWQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvSk5JQnJpZGdlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS9KTklCcmlkZ2UuaApAQCAtNjksMjAgKzY5LDYgQEAg
cHJpdmF0ZToKICAgICBKYXZhU3RyaW5nSW1wbCBtX2ltcGw7CiB9OwogCi1jbGFzcyBKYXZhUGFy
YW1ldGVyIHsKLXB1YmxpYzoKLSAgICBKYXZhUGFyYW1ldGVyKCkgOiBtX0pOSVR5cGUoaW52YWxp
ZF90eXBlKSB7IH0KLSAgICBKYXZhUGFyYW1ldGVyKEpOSUVudiosIGpzdHJpbmcgdHlwZSk7Ci0g
ICAgdmlydHVhbCB+SmF2YVBhcmFtZXRlcigpIHsgfQotCi0gICAgUnVudGltZVR5cGUgdHlwZSgp
IGNvbnN0IHsgcmV0dXJuIG1fdHlwZS51dGY4KCk7IH0KLSAgICBKTklUeXBlIGdldEpOSVR5cGUo
KSBjb25zdCB7IHJldHVybiBtX0pOSVR5cGU7IH0KLQotcHJpdmF0ZToKLSAgICBKYXZhU3RyaW5n
IG1fdHlwZTsKLSAgICBKTklUeXBlIG1fSk5JVHlwZTsKLX07Ci0KIGNsYXNzIEphdmFNZXRob2Qg
OiBwdWJsaWMgTWV0aG9kIHsKIHB1YmxpYzoKICAgICBKYXZhTWV0aG9kKEpOSUVudiosIGpvYmpl
Y3QgYU1ldGhvZCk7CkBAIC05MCw4ICs3Niw4IEBAIHB1YmxpYzoKIAogICAgIGNvbnN0IEphdmFT
dHJpbmcmIG5hbWUoKSBjb25zdCB7IHJldHVybiBtX25hbWU7IH0KICAgICBSdW50aW1lVHlwZSBy
ZXR1cm5UeXBlKCkgY29uc3QgeyByZXR1cm4gbV9yZXR1cm5UeXBlLnV0ZjgoKTsgfQotICAgIEph
dmFQYXJhbWV0ZXIqIHBhcmFtZXRlckF0KGludCBpKSBjb25zdCB7IHJldHVybiAmbV9wYXJhbWV0
ZXJzW2ldOyB9Ci0gICAgaW50IG51bVBhcmFtZXRlcnMoKSBjb25zdCB7IHJldHVybiBtX251bVBh
cmFtZXRlcnM7IH0KKyAgICBjb25zdCBXVEY6OlN0cmluZyYgcGFyYW1ldGVyQXQoaW50IGkpIGNv
bnN0IHsgcmV0dXJuIG1fcGFyYW1ldGVyc1tpXTsgfQorICAgIGludCBudW1QYXJhbWV0ZXJzKCkg
Y29uc3QgeyByZXR1cm4gbV9wYXJhbWV0ZXJzLnNpemUoKTsgfQogCiAgICAgY29uc3QgY2hhciog
c2lnbmF0dXJlKCkgY29uc3Q7CiAgICAgSk5JVHlwZSBKTklSZXR1cm5UeXBlKCkgY29uc3Q7CkBA
IC0xMDEsOCArODcsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1N0YXRpYygpIGNvbnN0IHsgcmV0
dXJuIG1faXNTdGF0aWM7IH0KIAogcHJpdmF0ZToKLSAgICBKYXZhUGFyYW1ldGVyKiBtX3BhcmFt
ZXRlcnM7Ci0gICAgaW50IG1fbnVtUGFyYW1ldGVyczsKKyAgICBWZWN0b3I8V1RGOjpTdHJpbmc+
IG1fcGFyYW1ldGVyczsKICAgICBKYXZhU3RyaW5nIG1fbmFtZTsKICAgICBtdXRhYmxlIGNoYXIq
IG1fc2lnbmF0dXJlOwogICAgIEphdmFTdHJpbmcgbV9yZXR1cm5UeXBlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS9KTklVdGlsaXR5LmggYi9Tb3VyY2UvV2ViQ29yZS9i
cmlkZ2Uvam5pL0pOSVV0aWxpdHkuaAppbmRleCAwMjA4M2RlZGQzOWM0YzAzZmNkMjVkYzhkMDc1
OGM3OTdjMWFhYmMxLi43YjVkMzdjNDI2ODcyMzI5MjlhMWVmNjg0NTI2YzRiNmJjMjdkY2E4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL0pOSVV0aWxpdHkuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL0pOSVV0aWxpdHkuaApAQCAtMzksNiArMzksMTAgQEAK
IC8vIHNob3VsZCBiZSBhZGRlZCB0byB0aGUgZW5kLiBJdCBpcyB1c2VkIGluIGpuaV9vYmMubW0g
d2hlbiBjYWxsaW5nCiAvLyB0aHJvdWdoIHRvIHRoZSBKVk0uIE5ld2x5IGFkZGVkIGl0ZW1zIG5l
ZWQgdG8gYmUgbWFkZSBjb21wYXRpYmxlCiAvLyBpbiB0aGF0IGZpbGUuCisvLworLy8gVE9ETzog
U3RyaWN0bHksIHRoZXNlIGFyZSBub3QgSk5JIHR5cGVzIGJ1dCBzaW1wbHkgSmF2YSB0eXBlcy4g
VGhlIHR5cGUKKy8vIGNvbnZlcnNpb24gbG9naWMgdXNlZCBoZXJlIG5lZWRzIGltcHJvdmluZyBh
bmQgdGhpcyBlbnVtIHdpbGwgbGlrZWx5IGJlCisvLyBjaGFuZ2VkIGF0IHRoYXQgdGltZS4gU2Vl
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zODc0NQogdHlwZWRlZiBl
bnVtIHsKICAgICBpbnZhbGlkX3R5cGUgPSAwLAogICAgIHZvaWRfdHlwZSwKQEAgLTU4LDggKzYy
LDYgQEAgbmFtZXNwYWNlIEpTQyB7CiAKIG5hbWVzcGFjZSBCaW5kaW5ncyB7CiAKLWNsYXNzIEph
dmFQYXJhbWV0ZXI7Ci0KIGNvbnN0IGNoYXIqIGdldENoYXJhY3RlcnNGcm9tSlN0cmluZyhqc3Ry
aW5nKTsKIHZvaWQgcmVsZWFzZUNoYXJhY3RlcnNGb3JKU3RyaW5nKGpzdHJpbmcsIGNvbnN0IGNo
YXIqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS9qc2MvSmF2YUlu
c3RhbmNlSlNDLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvanNjL0phdmFJbnN0YW5j
ZUpTQy5jcHAKaW5kZXggMGI4OWM0ODVlMTYyYWFkZDZkMTJmOTE4MmIzYWE2MDNkMTIyZjBkOC4u
MDM1NmUxZGVhZWM5MGEwMGY2MzUwNDA4ZjkyOTI0MWM3OTc5ZTlmYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYnJpZGdlL2puaS9qc2MvSmF2YUluc3RhbmNlSlNDLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9icmlkZ2Uvam5pL2pzYy9KYXZhSW5zdGFuY2VKU0MuY3BwCkBAIC0xNzUsOCAr
MTc1LDggQEAgSlNWYWx1ZSBKYXZhSW5zdGFuY2U6Omludm9rZU1ldGhvZChFeGVjU3RhdGUqIGV4
ZWMsIFJ1bnRpbWVNZXRob2QqIHJ1bnRpbWVNZXRob2QKICAgICBWZWN0b3I8anZhbHVlPiBqQXJn
cyhjb3VudCk7CiAKICAgICBmb3IgKGkgPSAwOyBpIDwgY291bnQ7IGkrKykgewotICAgICAgICBK
YXZhUGFyYW1ldGVyKiBhUGFyYW1ldGVyID0gak1ldGhvZC0+cGFyYW1ldGVyQXQoaSk7Ci0gICAg
ICAgIGpBcmdzW2ldID0gY29udmVydFZhbHVlVG9KVmFsdWUoZXhlYywgbV9yb290T2JqZWN0Lmdl
dCgpLCBleGVjLT5hcmd1bWVudChpKSwgYVBhcmFtZXRlci0+Z2V0Sk5JVHlwZSgpLCBhUGFyYW1l
dGVyLT50eXBlKCkpOworICAgICAgICBSdW50aW1lVHlwZSBqYXZhQ2xhc3NOYW1lID0gak1ldGhv
ZC0+cGFyYW1ldGVyQXQoaSkudXRmOCgpLmRhdGEoKTsKKyAgICAgICAgakFyZ3NbaV0gPSBjb252
ZXJ0VmFsdWVUb0pWYWx1ZShleGVjLCBtX3Jvb3RPYmplY3QuZ2V0KCksIGV4ZWMtPmFyZ3VtZW50
KGkpLCBKTklUeXBlRnJvbUNsYXNzTmFtZShqYXZhQ2xhc3NOYW1lKSwgamF2YUNsYXNzTmFtZSk7
CiAgICAgICAgIExPRyhMaXZlQ29ubmVjdCwgIkphdmFJbnN0YW5jZTo6aW52b2tlTWV0aG9kIGFy
Z1slZF0gPSAlcyIsIGksIGV4ZWMtPmFyZ3VtZW50KGkpLnRvU3RyaW5nKGV4ZWMpLmFzY2lpKCku
ZGF0YSgpKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkv
djgvSk5JVXRpbGl0eVByaXZhdGUuY3BwIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS92OC9K
TklVdGlsaXR5UHJpdmF0ZS5jcHAKaW5kZXggY2I4YWI5MTUwY2ExZjIxY2E2MDEzNWY1N2VkOGIy
MTI3YjljMzBkNS4uYTcyNzZiOTE0ZDU5YWFiZGViNTYzNTMwMTIxZTRkMzQyMWQ1NWVlYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS92OC9KTklVdGlsaXR5UHJpdmF0ZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS92OC9KTklVdGlsaXR5UHJpdmF0ZS5j
cHAKQEAgLTMwLDEzICszMCwxNiBAQAogCiAjaW5jbHVkZSAiSmF2YUluc3RhbmNlVjguaCIKICNp
bmNsdWRlICJKYXZhTlBPYmplY3RWOC5oIgorI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4K
IAogbmFtZXNwYWNlIEpTQyB7CiAKIG5hbWVzcGFjZSBCaW5kaW5ncyB7CiAKLWp2YWx1ZSBjb252
ZXJ0TlBWYXJpYW50VG9KVmFsdWUoTlBWYXJpYW50IHZhbHVlLCBKTklUeXBlIGpuaVR5cGUsIGNv
bnN0IGNoYXIqIGphdmFDbGFzc05hbWUpCitqdmFsdWUgY29udmVydE5QVmFyaWFudFRvSlZhbHVl
KE5QVmFyaWFudCB2YWx1ZSwgY29uc3QgV1RGOjpTdHJpbmcmIGphdmFUeXBlKQogeworICAgIGNv
bnN0IGNoYXIqIGphdmFDbGFzc05hbWUgPSBqYXZhVHlwZS51dGY4KCkuZGF0YSgpOworICAgIEpO
SVR5cGUgam5pVHlwZSA9IEpOSVR5cGVGcm9tQ2xhc3NOYW1lKGphdmFDbGFzc05hbWUpOwogICAg
IGp2YWx1ZSByZXN1bHQ7CiAgICAgTlBWYXJpYW50VHlwZSB0eXBlID0gdmFsdWUudHlwZTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS92OC9KTklVdGlsaXR5UHJpdmF0
ZS5oIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS92OC9KTklVdGlsaXR5UHJpdmF0ZS5oCmlu
ZGV4IGRhNDNjYTFhMTgyODg2ZDY0MWMwZTNjZGVhOTE1NTcyZmM5ODgyOGMuLmRmNzNhOWU0NmM3
MGVmNGViNGMzYWUxZTQ4YzY0ZWEyMjI4MWUwODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JyaWRnZS9qbmkvdjgvSk5JVXRpbGl0eVByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
cmlkZ2Uvam5pL3Y4L0pOSVV0aWxpdHlQcml2YXRlLmgKQEAgLTMwLDEyICszMCwxMyBAQAogCiAj
aW5jbHVkZSAiSk5JVXRpbGl0eS5oIgogI2luY2x1ZGUgIm5wcnVudGltZS5oIgorI2luY2x1ZGUg
PHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIAogbmFtZXNwYWNlIEJp
bmRpbmdzIHsKIAotanZhbHVlIGNvbnZlcnROUFZhcmlhbnRUb0pWYWx1ZShOUFZhcmlhbnQsIEpO
SVR5cGUsIGNvbnN0IGNoYXIqIGphdmFDbGFzc05hbWUpOworanZhbHVlIGNvbnZlcnROUFZhcmlh
bnRUb0pWYWx1ZShOUFZhcmlhbnQsIGNvbnN0IFdURjo6U3RyaW5nJiBqYXZhVHlwZSk7CiB2b2lk
IGNvbnZlcnRKVmFsdWVUb05QVmFyaWFudChqdmFsdWUsIEpOSVR5cGUsIGNvbnN0IGNoYXIqIGph
dmFDbGFzc05hbWUsIE5QVmFyaWFudCopOwogCiB9IC8vIG5hbWVzcGFjZSBCaW5kaW5ncwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS92OC9KYXZhSW5zdGFuY2VWOC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL3Y4L0phdmFJbnN0YW5jZVY4LmNwcAppbmRleCAw
ODRiNDJlZTBjZjIwYmNlMGUwNDk5NWI2OTZjOTZmOGM5NmZhMmE1Li5kMDMzODY1MzFlNmNmZmNi
MzRmMWMwZDI1NTdlNTQ1ZDlhMDUwMTkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlk
Z2Uvam5pL3Y4L0phdmFJbnN0YW5jZVY4LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uv
am5pL3Y4L0phdmFJbnN0YW5jZVY4LmNwcApAQCAtOTcsMTAgKzk3LDggQEAgYm9vbCBKYXZhSW5z
dGFuY2U6Omludm9rZU1ldGhvZChjb25zdCBjaGFyKiBtZXRob2ROYW1lLCBjb25zdCBOUFZhcmlh
bnQqIGFyZ3MsIGkKICAgICBpZiAoY291bnQgPiAwKQogICAgICAgICBqQXJncyA9IHN0YXRpY19j
YXN0PGp2YWx1ZSo+KG1hbGxvYyhjb3VudCAqIHNpemVvZihqdmFsdWUpKSk7CiAKLSAgICBmb3Ig
KGludCBpID0gMDsgaSA8IGNvdW50OyBpKyspIHsKLSAgICAgICAgSmF2YVBhcmFtZXRlciogYVBh
cmFtZXRlciA9IGpNZXRob2QtPnBhcmFtZXRlckF0KGkpOwotICAgICAgICBqQXJnc1tpXSA9IGNv
bnZlcnROUFZhcmlhbnRUb0pWYWx1ZShhcmdzW2ldLCBhUGFyYW1ldGVyLT5nZXRKTklUeXBlKCks
IGFQYXJhbWV0ZXItPnR5cGUoKSk7Ci0gICAgfQorICAgIGZvciAoaW50IGkgPSAwOyBpIDwgY291
bnQ7IGkrKykKKyAgICAgICAgakFyZ3NbaV0gPSBjb252ZXJ0TlBWYXJpYW50VG9KVmFsdWUoYXJn
c1tpXSwgak1ldGhvZC0+cGFyYW1ldGVyQXQoaSkpOwogCiAgICAganZhbHVlIHJlc3VsdDsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>84936</attachid>
            <date>2011-03-07 05:33:18 -0800</date>
            <delta_ts>2011-03-07 07:18:13 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-55772-20110307133316.patch</filename>
            <type>text/plain</type>
            <size>10883</size>
            <attacher name="Steve Block">steveblock</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODA0NjQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA3NWJkYjU5ZWI2M2IzNDQz
MDVmNjUyOGUyZTI0MDY1Y2VkMzk3OTJkLi4wYzdjYzQxZTk0NmNhYzAwM2JmYjQxY2NlMjI1YTVj
NWJkYmRiMmZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMTEtMDMtMDQgIFN0ZXZl
IEJsb2NrICA8c3RldmVibG9ja0Bnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IEpl
cmVteSBPcmxvdy4KKworICAgICAgICBKYXZhUGFyYW1ldGVyIHNob3VsZCBiZSByZW1vdmVkCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NTc3MgorCisg
ICAgICAgIE5vIG5ldyB0ZXN0cywgcmVmYWN0b3Jpbmcgb25seS4KKworICAgICAgICAqIGJyaWRn
ZS9qbmkvSk5JQnJpZGdlLmNwcDoKKyAgICAgICAgKEphdmFNZXRob2Q6OkphdmFNZXRob2QpOgor
ICAgICAgICAoSmF2YU1ldGhvZDo6fkphdmFNZXRob2QpOgorICAgICAgICAoSmF2YU1ldGhvZDo6
c2lnbmF0dXJlKToKKyAgICAgICAgKiBicmlkZ2Uvam5pL0pOSUJyaWRnZS5oOgorICAgICAgICAo
SlNDOjpCaW5kaW5nczo6SmF2YU1ldGhvZDo6cGFyYW1ldGVyQXQpOgorICAgICAgICAoSlNDOjpC
aW5kaW5nczo6SmF2YU1ldGhvZDo6bnVtUGFyYW1ldGVycyk6CisgICAgICAgICogYnJpZGdlL2pu
aS9KTklVdGlsaXR5Lmg6CisgICAgICAgICogYnJpZGdlL2puaS9qc2MvSmF2YUluc3RhbmNlSlND
LmNwcDoKKyAgICAgICAgKEphdmFJbnN0YW5jZTo6aW52b2tlTWV0aG9kKToKKyAgICAgICAgKiBi
cmlkZ2Uvam5pL3Y4L0pOSVV0aWxpdHlQcml2YXRlLmNwcDoKKyAgICAgICAgKEpTQzo6QmluZGlu
Z3M6OmNvbnZlcnROUFZhcmlhbnRUb0pWYWx1ZSk6CisgICAgICAgICogYnJpZGdlL2puaS92OC9K
TklVdGlsaXR5UHJpdmF0ZS5oOgorICAgICAgICAqIGJyaWRnZS9qbmkvdjgvSmF2YUluc3RhbmNl
VjguY3BwOgorICAgICAgICAoSmF2YUluc3RhbmNlOjppbnZva2VNZXRob2QpOgorCiAyMDExLTAz
LTA3ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBPbGl2ZXIgSHVudC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkv
Sk5JQnJpZGdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvSk5JQnJpZGdlLmNwcApp
bmRleCAxM2NjYzcxMjFmMjgwODI3NjEyYzNlZWE4ZjcxMmZmYmNhYzEzZTI1Li5jOTE4YzQ5MzZl
MGViNGNhZmUxZTg1OGI1YjdiNzU2MjU3MWUwMWY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9icmlkZ2Uvam5pL0pOSUJyaWRnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL2pu
aS9KTklCcmlkZ2UuY3BwCkBAIC0zNiwxMiArMzYsNiBAQAogdXNpbmcgbmFtZXNwYWNlIEpTQzsK
IHVzaW5nIG5hbWVzcGFjZSBKU0M6OkJpbmRpbmdzOwogCi1KYXZhUGFyYW1ldGVyOjpKYXZhUGFy
YW1ldGVyKEpOSUVudiogZW52LCBqc3RyaW5nIHR5cGUpCi17Ci0gICAgbV90eXBlID0gSmF2YVN0
cmluZyhlbnYsIHR5cGUpOwotICAgIG1fSk5JVHlwZSA9IEpOSVR5cGVGcm9tQ2xhc3NOYW1lKG1f
dHlwZS51dGY4KCkpOwotfQotCiBKYXZhTWV0aG9kOjpKYXZhTWV0aG9kKEpOSUVudiogZW52LCBq
b2JqZWN0IGFNZXRob2QpCiB7CiAgICAgLy8gR2V0IHJldHVybiB0eXBlIG5hbWUKQEAgLTY1LDIy
ICs1OSwxOCBAQCBKYXZhTWV0aG9kOjpKYXZhTWV0aG9kKEpOSUVudiogZW52LCBqb2JqZWN0IGFN
ZXRob2QpCiAKICAgICAvLyBHZXQgcGFyYW1ldGVycwogICAgIGlmIChqYXJyYXkganBhcmFtZXRl
cnMgPSBzdGF0aWNfY2FzdDxqYXJyYXk+KGNhbGxKTklNZXRob2Q8am9iamVjdD4oYU1ldGhvZCwg
ImdldFBhcmFtZXRlclR5cGVzIiwgIigpW0xqYXZhL2xhbmcvQ2xhc3M7IikpKSB7Ci0gICAgICAg
IG1fbnVtUGFyYW1ldGVycyA9IGVudi0+R2V0QXJyYXlMZW5ndGgoanBhcmFtZXRlcnMpOwotICAg
ICAgICBtX3BhcmFtZXRlcnMgPSBuZXcgSmF2YVBhcmFtZXRlclttX251bVBhcmFtZXRlcnNdOwor
ICAgICAgICB1bnNpZ25lZCBpbnQgbnVtUGFyYW1zID0gZW52LT5HZXRBcnJheUxlbmd0aChqcGFy
YW1ldGVycyk7CiAKLSAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBtX251bVBhcmFtZXRlcnM7
IGkrKykgeworICAgICAgICBmb3IgKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IG51bVBhcmFtczsg
aSsrKSB7CiAgICAgICAgICAgICBqb2JqZWN0IGFQYXJhbWV0ZXIgPSBlbnYtPkdldE9iamVjdEFy
cmF5RWxlbWVudChzdGF0aWNfY2FzdDxqb2JqZWN0QXJyYXk+KGpwYXJhbWV0ZXJzKSwgaSk7CiAg
ICAgICAgICAgICBqc3RyaW5nIHBhcmFtZXRlck5hbWUgPSBzdGF0aWNfY2FzdDxqc3RyaW5nPihj
YWxsSk5JTWV0aG9kPGpvYmplY3Q+KGFQYXJhbWV0ZXIsICJnZXROYW1lIiwgIigpTGphdmEvbGFu
Zy9TdHJpbmc7IikpOwogICAgICAgICAgICAgaWYgKCFwYXJhbWV0ZXJOYW1lKQogICAgICAgICAg
ICAgICAgIHBhcmFtZXRlck5hbWUgPSBlbnYtPk5ld1N0cmluZ1VURigiPFVua25vd24+Iik7Ci0g
ICAgICAgICAgICBtX3BhcmFtZXRlcnNbaV0gPSBKYXZhUGFyYW1ldGVyKGVudiwgcGFyYW1ldGVy
TmFtZSk7CisgICAgICAgICAgICBtX3BhcmFtZXRlcnMuYXBwZW5kKEphdmFTdHJpbmcoZW52LCBw
YXJhbWV0ZXJOYW1lKS5pbXBsKCkpOwogICAgICAgICAgICAgZW52LT5EZWxldGVMb2NhbFJlZihh
UGFyYW1ldGVyKTsKICAgICAgICAgICAgIGVudi0+RGVsZXRlTG9jYWxSZWYocGFyYW1ldGVyTmFt
ZSk7CiAgICAgICAgIH0KICAgICAgICAgZW52LT5EZWxldGVMb2NhbFJlZihqcGFyYW1ldGVycyk7
Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgbV9udW1QYXJhbWV0ZXJzID0gMDsKLSAgICAgICAgbV9w
YXJhbWV0ZXJzID0gMDsKICAgICB9CiAKICAgICAvLyBDcmVhdGVkIGxhemlseS4KQEAgLTk3LDgg
Kzg3LDcgQEAgSmF2YU1ldGhvZDo6fkphdmFNZXRob2QoKQogewogICAgIGlmIChtX3NpZ25hdHVy
ZSkKICAgICAgICAgZmFzdEZyZWUobV9zaWduYXR1cmUpOwotICAgIGRlbGV0ZVtdIG1fcGFyYW1l
dGVyczsKLX07Cit9CiAKIC8vIEpOSSBtZXRob2Qgc2lnbmF0dXJlcyB1c2UgJy8nIGJldHdlZW4g
Y29tcG9uZW50cyBvZiBhIGNsYXNzIG5hbWUsIGJ1dAogLy8gd2UgZ2V0ICcuJyBiZXR3ZWVuIGNv
bXBvbmVudHMgZnJvbSB0aGUgcmVmbGVjdGlvbiBBUEkuCkBAIC0xMzEsMTUgKzEyMCwxNSBAQCBj
b25zdCBjaGFyKiBKYXZhTWV0aG9kOjpzaWduYXR1cmUoKSBjb25zdAogCiAgICAgICAgIFN0cmlu
Z0J1aWxkZXIgc2lnbmF0dXJlQnVpbGRlcjsKICAgICAgICAgc2lnbmF0dXJlQnVpbGRlci5hcHBl
bmQoJygnKTsKLSAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBtX251bVBhcmFtZXRlcnM7IGkr
KykgewotICAgICAgICAgICAgSmF2YVBhcmFtZXRlciogYVBhcmFtZXRlciA9IHBhcmFtZXRlckF0
KGkpOwotICAgICAgICAgICAgSk5JVHlwZSB0eXBlID0gYVBhcmFtZXRlci0+Z2V0Sk5JVHlwZSgp
OworICAgICAgICBmb3IgKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IG1fcGFyYW1ldGVycy5zaXpl
KCk7IGkrKykgeworICAgICAgICAgICAgQ1N0cmluZyBqYXZhQ2xhc3NOYW1lID0gcGFyYW1ldGVy
QXQoaSkudXRmOCgpOworICAgICAgICAgICAgSk5JVHlwZSB0eXBlID0gSk5JVHlwZUZyb21DbGFz
c05hbWUoamF2YUNsYXNzTmFtZS5kYXRhKCkpOwogICAgICAgICAgICAgaWYgKHR5cGUgPT0gYXJy
YXlfdHlwZSkKLSAgICAgICAgICAgICAgICBhcHBlbmRDbGFzc05hbWUoc2lnbmF0dXJlQnVpbGRl
ciwgYVBhcmFtZXRlci0+dHlwZSgpKTsKKyAgICAgICAgICAgICAgICBhcHBlbmRDbGFzc05hbWUo
c2lnbmF0dXJlQnVpbGRlciwgamF2YUNsYXNzTmFtZS5kYXRhKCkpOwogICAgICAgICAgICAgZWxz
ZSB7CiAgICAgICAgICAgICAgICAgc2lnbmF0dXJlQnVpbGRlci5hcHBlbmQoc2lnbmF0dXJlRnJv
bVByaW1pdGl2ZVR5cGUodHlwZSkpOwogICAgICAgICAgICAgICAgIGlmICh0eXBlID09IG9iamVj
dF90eXBlKSB7Ci0gICAgICAgICAgICAgICAgICAgIGFwcGVuZENsYXNzTmFtZShzaWduYXR1cmVC
dWlsZGVyLCBhUGFyYW1ldGVyLT50eXBlKCkpOworICAgICAgICAgICAgICAgICAgICBhcHBlbmRD
bGFzc05hbWUoc2lnbmF0dXJlQnVpbGRlciwgamF2YUNsYXNzTmFtZS5kYXRhKCkpOwogICAgICAg
ICAgICAgICAgICAgICBzaWduYXR1cmVCdWlsZGVyLmFwcGVuZCgnOycpOwogICAgICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9q
bmkvSk5JQnJpZGdlLmggYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL0pOSUJyaWRnZS5oCmlu
ZGV4IDcyMmU2ZTliODY1ZTJiYWJhOTgyMzEwM2Q2MGFiMmQxMGZmYTdmOGQuLmFhMzg4NzFhNDYx
ZDJlZmZlYzRlYTgwNGY2YzQwNDg2NWNmMmQ0YWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JyaWRnZS9qbmkvSk5JQnJpZGdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS9K
TklCcmlkZ2UuaApAQCAtNjksMjAgKzY5LDYgQEAgcHJpdmF0ZToKICAgICBKYXZhU3RyaW5nSW1w
bCBtX2ltcGw7CiB9OwogCi1jbGFzcyBKYXZhUGFyYW1ldGVyIHsKLXB1YmxpYzoKLSAgICBKYXZh
UGFyYW1ldGVyKCkgOiBtX0pOSVR5cGUoaW52YWxpZF90eXBlKSB7IH0KLSAgICBKYXZhUGFyYW1l
dGVyKEpOSUVudiosIGpzdHJpbmcgdHlwZSk7Ci0gICAgdmlydHVhbCB+SmF2YVBhcmFtZXRlcigp
IHsgfQotCi0gICAgUnVudGltZVR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZS51dGY4
KCk7IH0KLSAgICBKTklUeXBlIGdldEpOSVR5cGUoKSBjb25zdCB7IHJldHVybiBtX0pOSVR5cGU7
IH0KLQotcHJpdmF0ZToKLSAgICBKYXZhU3RyaW5nIG1fdHlwZTsKLSAgICBKTklUeXBlIG1fSk5J
VHlwZTsKLX07Ci0KIGNsYXNzIEphdmFNZXRob2QgOiBwdWJsaWMgTWV0aG9kIHsKIHB1YmxpYzoK
ICAgICBKYXZhTWV0aG9kKEpOSUVudiosIGpvYmplY3QgYU1ldGhvZCk7CkBAIC05MCw4ICs3Niw4
IEBAIHB1YmxpYzoKIAogICAgIGNvbnN0IEphdmFTdHJpbmcmIG5hbWUoKSBjb25zdCB7IHJldHVy
biBtX25hbWU7IH0KICAgICBSdW50aW1lVHlwZSByZXR1cm5UeXBlKCkgY29uc3QgeyByZXR1cm4g
bV9yZXR1cm5UeXBlLnV0ZjgoKTsgfQotICAgIEphdmFQYXJhbWV0ZXIqIHBhcmFtZXRlckF0KGlu
dCBpKSBjb25zdCB7IHJldHVybiAmbV9wYXJhbWV0ZXJzW2ldOyB9Ci0gICAgaW50IG51bVBhcmFt
ZXRlcnMoKSBjb25zdCB7IHJldHVybiBtX251bVBhcmFtZXRlcnM7IH0KKyAgICBjb25zdCBXVEY6
OlN0cmluZyYgcGFyYW1ldGVyQXQoaW50IGkpIGNvbnN0IHsgcmV0dXJuIG1fcGFyYW1ldGVyc1tp
XTsgfQorICAgIGludCBudW1QYXJhbWV0ZXJzKCkgY29uc3QgeyByZXR1cm4gbV9wYXJhbWV0ZXJz
LnNpemUoKTsgfQogCiAgICAgY29uc3QgY2hhciogc2lnbmF0dXJlKCkgY29uc3Q7CiAgICAgSk5J
VHlwZSBKTklSZXR1cm5UeXBlKCkgY29uc3Q7CkBAIC0xMDEsOCArODcsNyBAQCBwdWJsaWM6CiAg
ICAgYm9vbCBpc1N0YXRpYygpIGNvbnN0IHsgcmV0dXJuIG1faXNTdGF0aWM7IH0KIAogcHJpdmF0
ZToKLSAgICBKYXZhUGFyYW1ldGVyKiBtX3BhcmFtZXRlcnM7Ci0gICAgaW50IG1fbnVtUGFyYW1l
dGVyczsKKyAgICBWZWN0b3I8V1RGOjpTdHJpbmc+IG1fcGFyYW1ldGVyczsKICAgICBKYXZhU3Ry
aW5nIG1fbmFtZTsKICAgICBtdXRhYmxlIGNoYXIqIG1fc2lnbmF0dXJlOwogICAgIEphdmFTdHJp
bmcgbV9yZXR1cm5UeXBlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS9K
TklVdGlsaXR5LmggYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL0pOSVV0aWxpdHkuaAppbmRl
eCAwMjA4M2RlZGQzOWM0YzAzZmNkMjVkYzhkMDc1OGM3OTdjMWFhYmMxLi43YjVkMzdjNDI2ODcy
MzI5MjlhMWVmNjg0NTI2YzRiNmJjMjdkY2E4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
cmlkZ2Uvam5pL0pOSVV0aWxpdHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL0pO
SVV0aWxpdHkuaApAQCAtMzksNiArMzksMTAgQEAKIC8vIHNob3VsZCBiZSBhZGRlZCB0byB0aGUg
ZW5kLiBJdCBpcyB1c2VkIGluIGpuaV9vYmMubW0gd2hlbiBjYWxsaW5nCiAvLyB0aHJvdWdoIHRv
IHRoZSBKVk0uIE5ld2x5IGFkZGVkIGl0ZW1zIG5lZWQgdG8gYmUgbWFkZSBjb21wYXRpYmxlCiAv
LyBpbiB0aGF0IGZpbGUuCisvLworLy8gVE9ETzogU3RyaWN0bHksIHRoZXNlIGFyZSBub3QgSk5J
IHR5cGVzIGJ1dCBzaW1wbHkgSmF2YSB0eXBlcy4gVGhlIHR5cGUKKy8vIGNvbnZlcnNpb24gbG9n
aWMgdXNlZCBoZXJlIG5lZWRzIGltcHJvdmluZyBhbmQgdGhpcyBlbnVtIHdpbGwgbGlrZWx5IGJl
CisvLyBjaGFuZ2VkIGF0IHRoYXQgdGltZS4gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0zODc0NQogdHlwZWRlZiBlbnVtIHsKICAgICBpbnZhbGlkX3R5cGUgPSAw
LAogICAgIHZvaWRfdHlwZSwKQEAgLTU4LDggKzYyLDYgQEAgbmFtZXNwYWNlIEpTQyB7CiAKIG5h
bWVzcGFjZSBCaW5kaW5ncyB7CiAKLWNsYXNzIEphdmFQYXJhbWV0ZXI7Ci0KIGNvbnN0IGNoYXIq
IGdldENoYXJhY3RlcnNGcm9tSlN0cmluZyhqc3RyaW5nKTsKIHZvaWQgcmVsZWFzZUNoYXJhY3Rl
cnNGb3JKU3RyaW5nKGpzdHJpbmcsIGNvbnN0IGNoYXIqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYnJpZGdlL2puaS9qc2MvSmF2YUluc3RhbmNlSlNDLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JyaWRnZS9qbmkvanNjL0phdmFJbnN0YW5jZUpTQy5jcHAKaW5kZXggNjI0ZGE3ZDA4M2Q1
OTVhODEyZGI4NmU1ZTJjM2E5M2NiZjA2NTQxMC4uZGY3MjBhZDBhN2Q4MDRiMDUxYjJjNzE3MDBl
YTVlY2I0MzYyYmI2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS9qc2Mv
SmF2YUluc3RhbmNlSlNDLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL2pzYy9K
YXZhSW5zdGFuY2VKU0MuY3BwCkBAIC0xNzUsOCArMTc1LDggQEAgSlNWYWx1ZSBKYXZhSW5zdGFu
Y2U6Omludm9rZU1ldGhvZChFeGVjU3RhdGUqIGV4ZWMsIFJ1bnRpbWVNZXRob2QqIHJ1bnRpbWVN
ZXRob2QKICAgICBWZWN0b3I8anZhbHVlPiBqQXJncyhjb3VudCk7CiAKICAgICBmb3IgKGkgPSAw
OyBpIDwgY291bnQ7IGkrKykgewotICAgICAgICBKYXZhUGFyYW1ldGVyKiBhUGFyYW1ldGVyID0g
ak1ldGhvZC0+cGFyYW1ldGVyQXQoaSk7Ci0gICAgICAgIGpBcmdzW2ldID0gY29udmVydFZhbHVl
VG9KVmFsdWUoZXhlYywgbV9yb290T2JqZWN0LmdldCgpLCBleGVjLT5hcmd1bWVudChpKSwgYVBh
cmFtZXRlci0+Z2V0Sk5JVHlwZSgpLCBhUGFyYW1ldGVyLT50eXBlKCkpOworICAgICAgICBDU3Ry
aW5nIGphdmFDbGFzc05hbWUgPSBqTWV0aG9kLT5wYXJhbWV0ZXJBdChpKS51dGY4KCk7CisgICAg
ICAgIGpBcmdzW2ldID0gY29udmVydFZhbHVlVG9KVmFsdWUoZXhlYywgbV9yb290T2JqZWN0Lmdl
dCgpLCBleGVjLT5hcmd1bWVudChpKSwgSk5JVHlwZUZyb21DbGFzc05hbWUoamF2YUNsYXNzTmFt
ZS5kYXRhKCkpLCBqYXZhQ2xhc3NOYW1lLmRhdGEoKSk7CiAgICAgICAgIExPRyhMaXZlQ29ubmVj
dCwgIkphdmFJbnN0YW5jZTo6aW52b2tlTWV0aG9kIGFyZ1slZF0gPSAlcyIsIGksIGV4ZWMtPmFy
Z3VtZW50KGkpLnRvU3RyaW5nKGV4ZWMpLmFzY2lpKCkuZGF0YSgpKTsKICAgICB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvdjgvSk5JVXRpbGl0eVByaXZhdGUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS92OC9KTklVdGlsaXR5UHJpdmF0ZS5jcHAKaW5k
ZXggY2I4YWI5MTUwY2ExZjIxY2E2MDEzNWY1N2VkOGIyMTI3YjljMzBkNS4uYWJiZGZiZGI5ZTRm
MjMwZDRkNjI1MGUxMDJjNjZkZjQzMDhlYjA2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YnJpZGdlL2puaS92OC9KTklVdGlsaXR5UHJpdmF0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YnJpZGdlL2puaS92OC9KTklVdGlsaXR5UHJpdmF0ZS5jcHAKQEAgLTMwLDEzICszMCwxNiBAQAog
CiAjaW5jbHVkZSAiSmF2YUluc3RhbmNlVjguaCIKICNpbmNsdWRlICJKYXZhTlBPYmplY3RWOC5o
IgorI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKIG5h
bWVzcGFjZSBCaW5kaW5ncyB7CiAKLWp2YWx1ZSBjb252ZXJ0TlBWYXJpYW50VG9KVmFsdWUoTlBW
YXJpYW50IHZhbHVlLCBKTklUeXBlIGpuaVR5cGUsIGNvbnN0IGNoYXIqIGphdmFDbGFzc05hbWUp
CitqdmFsdWUgY29udmVydE5QVmFyaWFudFRvSlZhbHVlKE5QVmFyaWFudCB2YWx1ZSwgY29uc3Qg
V1RGOjpTdHJpbmcmIGphdmFUeXBlKQogeworICAgIENTdHJpbmcgamF2YUNsYXNzTmFtZSA9IGph
dmFUeXBlLnV0ZjgoKTsKKyAgICBKTklUeXBlIGpuaVR5cGUgPSBKTklUeXBlRnJvbUNsYXNzTmFt
ZShqYXZhQ2xhc3NOYW1lLmRhdGEoKSk7CiAgICAganZhbHVlIHJlc3VsdDsKICAgICBOUFZhcmlh
bnRUeXBlIHR5cGUgPSB2YWx1ZS50eXBlOwogCkBAIC01NSw3ICs1OCw3IEBAIGp2YWx1ZSBjb252
ZXJ0TlBWYXJpYW50VG9KVmFsdWUoTlBWYXJpYW50IHZhbHVlLCBKTklUeXBlIGpuaVR5cGUsIGNv
bnN0IGNoYXIqIGphCiAKICAgICAgICAgICAgIC8vIE5vdyBjb252ZXJ0IHZhbHVlIHRvIGEgc3Ry
aW5nIGlmIHRoZSB0YXJnZXQgdHlwZSBpcyBhIGphdmEubGFuZy5zdHJpbmcsIGFuZCB3ZSdyZSBu
b3QKICAgICAgICAgICAgIC8vIGNvbnZlcnRpbmcgZnJvbSBhIE51bGwuCi0gICAgICAgICAgICBp
ZiAoIXJlc3VsdC5sICYmICFzdHJjbXAoamF2YUNsYXNzTmFtZSwgImphdmEubGFuZy5TdHJpbmci
KSkgeworICAgICAgICAgICAgaWYgKCFyZXN1bHQubCAmJiAhc3RyY21wKGphdmFDbGFzc05hbWUu
ZGF0YSgpLCAiamF2YS5sYW5nLlN0cmluZyIpKSB7CiAjaWZkZWYgQ09OVkVSVF9OVUxMX1RPX0VN
UFRZX1NUUklORwogICAgICAgICAgICAgICAgIGlmICh0eXBlID09IE5QVmFyaWFudFR5cGVfTnVs
bCkgewogICAgICAgICAgICAgICAgICAgICBKTklFbnYqIGVudiA9IGdldEpOSUVudigpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS92OC9KTklVdGlsaXR5UHJpdmF0ZS5o
IGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS92OC9KTklVdGlsaXR5UHJpdmF0ZS5oCmluZGV4
IGRhNDNjYTFhMTgyODg2ZDY0MWMwZTNjZGVhOTE1NTcyZmM5ODgyOGMuLmRmNzNhOWU0NmM3MGVm
NGViNGMzYWUxZTQ4YzY0ZWEyMjI4MWUwODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jy
aWRnZS9qbmkvdjgvSk5JVXRpbGl0eVByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlk
Z2Uvam5pL3Y4L0pOSVV0aWxpdHlQcml2YXRlLmgKQEAgLTMwLDEyICszMCwxMyBAQAogCiAjaW5j
bHVkZSAiSk5JVXRpbGl0eS5oIgogI2luY2x1ZGUgIm5wcnVudGltZS5oIgorI2luY2x1ZGUgPHd0
Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIAogbmFtZXNwYWNlIEJpbmRp
bmdzIHsKIAotanZhbHVlIGNvbnZlcnROUFZhcmlhbnRUb0pWYWx1ZShOUFZhcmlhbnQsIEpOSVR5
cGUsIGNvbnN0IGNoYXIqIGphdmFDbGFzc05hbWUpOworanZhbHVlIGNvbnZlcnROUFZhcmlhbnRU
b0pWYWx1ZShOUFZhcmlhbnQsIGNvbnN0IFdURjo6U3RyaW5nJiBqYXZhVHlwZSk7CiB2b2lkIGNv
bnZlcnRKVmFsdWVUb05QVmFyaWFudChqdmFsdWUsIEpOSVR5cGUsIGNvbnN0IGNoYXIqIGphdmFD
bGFzc05hbWUsIE5QVmFyaWFudCopOwogCiB9IC8vIG5hbWVzcGFjZSBCaW5kaW5ncwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS92OC9KYXZhSW5zdGFuY2VWOC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL3Y4L0phdmFJbnN0YW5jZVY4LmNwcAppbmRleCAwODRi
NDJlZTBjZjIwYmNlMGUwNDk5NWI2OTZjOTZmOGM5NmZhMmE1Li5kMDMzODY1MzFlNmNmZmNiMzRm
MWMwZDI1NTdlNTQ1ZDlhMDUwMTkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uv
am5pL3Y4L0phdmFJbnN0YW5jZVY4LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5p
L3Y4L0phdmFJbnN0YW5jZVY4LmNwcApAQCAtOTcsMTAgKzk3LDggQEAgYm9vbCBKYXZhSW5zdGFu
Y2U6Omludm9rZU1ldGhvZChjb25zdCBjaGFyKiBtZXRob2ROYW1lLCBjb25zdCBOUFZhcmlhbnQq
IGFyZ3MsIGkKICAgICBpZiAoY291bnQgPiAwKQogICAgICAgICBqQXJncyA9IHN0YXRpY19jYXN0
PGp2YWx1ZSo+KG1hbGxvYyhjb3VudCAqIHNpemVvZihqdmFsdWUpKSk7CiAKLSAgICBmb3IgKGlu
dCBpID0gMDsgaSA8IGNvdW50OyBpKyspIHsKLSAgICAgICAgSmF2YVBhcmFtZXRlciogYVBhcmFt
ZXRlciA9IGpNZXRob2QtPnBhcmFtZXRlckF0KGkpOwotICAgICAgICBqQXJnc1tpXSA9IGNvbnZl
cnROUFZhcmlhbnRUb0pWYWx1ZShhcmdzW2ldLCBhUGFyYW1ldGVyLT5nZXRKTklUeXBlKCksIGFQ
YXJhbWV0ZXItPnR5cGUoKSk7Ci0gICAgfQorICAgIGZvciAoaW50IGkgPSAwOyBpIDwgY291bnQ7
IGkrKykKKyAgICAgICAgakFyZ3NbaV0gPSBjb252ZXJ0TlBWYXJpYW50VG9KVmFsdWUoYXJnc1tp
XSwgak1ldGhvZC0+cGFyYW1ldGVyQXQoaSkpOwogCiAgICAganZhbHVlIHJlc3VsdDsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>