<?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>46523</bug_id>
          
          <creation_ts>2010-09-24 14:58:44 -0700</creation_ts>
          <short_desc>Use WTF::StringHasher in WTF::CaseFoldingHash</short_desc>
          <delta_ts>2010-10-11 16:31:31 -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>Web Template Framework</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Patrick R. Gansterer">paroga</reporter>
          <assigned_to name="Patrick R. Gansterer">paroga</assigned_to>
          <cc>abarth</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>evan</cc>
    
    <cc>thakis</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>284736</commentid>
    <comment_count>0</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2010-09-24 14:58:44 -0700</bug_when>
    <thetext>see patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284742</commentid>
    <comment_count>1</comment_count>
      <attachid>68762</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2010-09-24 15:01:29 -0700</bug_when>
    <thetext>Created attachment 68762
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284819</commentid>
    <comment_count>2</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2010-09-24 16:15:03 -0700</bug_when>
    <thetext>Attachment 68762 did not build on qt:
Build output: http://queues.webkit.org/results/4038129</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290512</commentid>
    <comment_count>3</comment_count>
      <attachid>69977</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2010-10-06 12:16:04 -0700</bug_when>
    <thetext>Created attachment 69977
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>292371</commentid>
    <comment_count>4</comment_count>
      <attachid>69977</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-10-10 13:19:57 -0700</bug_when>
    <thetext>Comment on attachment 69977
Patch

Clearing flags on attachment: 69977

Committed r69472: &lt;http://trac.webkit.org/changeset/69472&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>292372</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-10-10 13:20:02 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>292382</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-10-10 14:35:34 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/69472 might have broken Chromium Win Release</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>292695</commentid>
    <comment_count>7</comment_count>
    <who name="Evan Martin">evan</who>
    <bug_when>2010-10-11 15:15:08 -0700</bug_when>
    <thetext>This fails on our Clang buildbots.

 CXX(target) out/Debug/obj.target/wtf/third_party/WebKit/JavaScriptCore/wtf/WTFThreadData.o
In file included from
third_party/WebKit/JavaScriptCore/wtf/text/AtomicString.cpp:25:
third_party/WebKit/JavaScriptCore/wtf/text/StringHash.h:107:52:error:
&apos;foldCase&apos; is a private member of &apos;WTF::CaseFoldingHash&apos;
           return StringHasher::createHash&lt;UChar, foldCase&lt;UChar&gt;
&gt;(data, length);
                                                  ^~~~~~~~~~~~~~~
In file included from
third_party/WebKit/JavaScriptCore/wtf/text/AtomicString.cpp:23:
In file included from
third_party/WebKit/JavaScriptCore/wtf/text/AtomicString.h:24:
In file included from
third_party/WebKit/JavaScriptCore/wtf/text/AtomicStringImpl.h:24:
In file included from
third_party/WebKit/JavaScriptCore/wtf/text/StringImpl.h:32:
third_party/WebKit/JavaScriptCore/wtf/StringHashFunctions.h:91:69:
note: while substituting explicitly-specified template arguments into
function template &apos;createHash&apos;
   template&lt;typename T, UChar Converter(T)&gt; static inline unsigned
createHash(const T* data, unsigned length)
                                                                   ^

Clang is much more picky about C++ language laws.  I think since you really are using this function from outside of the class, the function should maybe be public.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>292699</commentid>
    <comment_count>8</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-10-11 15:19:32 -0700</bug_when>
    <thetext>&gt; This fails on our Clang buildbots.

How hard is it to set up a clank build of WebKit?  We could either set up a buildbot or an EWS bot to catch these things automatically.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>292702</commentid>
    <comment_count>9</comment_count>
    <who name="Nico Weber">thakis</who>
    <bug_when>2010-10-11 15:21:40 -0700</bug_when>
    <thetext>abarth: It&apos;s pretty easy, see http://code.google.com/p/chromium/wiki/Clang</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>292705</commentid>
    <comment_count>10</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2010-10-11 15:24:30 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; Clang is much more picky about C++ language laws.  I think since you really are using this function from outside of the class, the function should maybe be public.

Does changing foldCase to public fix the problem?

(In reply to comment #8)
&gt; How hard is it to set up a clank build of WebKit?  We could either set up a buildbot or an EWS bot to catch these things automatically.
+1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>292746</commentid>
    <comment_count>11</comment_count>
    <who name="Nico Weber">thakis</who>
    <bug_when>2010-10-11 16:17:44 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (In reply to comment #7)
&gt; &gt; Clang is much more picky about C++ language laws.  I think since you really are using this function from outside of the class, the function should maybe be public.
&gt; 
&gt; Does changing foldCase to public fix the problem?

Yes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>292756</commentid>
    <comment_count>12</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2010-10-11 16:31:31 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (In reply to comment #10)
&gt; &gt; (In reply to comment #7)
&gt; &gt; &gt; Clang is much more picky about C++ language laws.  I think since you really are using this function from outside of the class, the function should maybe be public.
&gt; &gt; 
&gt; &gt; Does changing foldCase to public fix the problem?
&gt; 
&gt; Yes.

Committed r69535: &lt;http://trac.webkit.org/changeset/69535&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>68762</attachid>
            <date>2010-09-24 15:01:29 -0700</date>
            <delta_ts>2010-10-06 12:16:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-46523.patch</filename>
            <type>text/plain</type>
            <size>4662</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwppbmRleCBkYzM4OWQzLi5hZjVlNDNiIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQg
QEAKKzIwMTAtMDktMjUgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXNlIFdURjo6
U3RyaW5nSGFzaGVyIGluIFdURjo6Q2FzZUZvbGRpbmdIYXNoCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NjUyMworCisgICAgICAgICogd3RmL3RleHQv
U3RyaW5nSGFzaC5oOgorICAgICAgICAoV1RGOjpDYXNlRm9sZGluZ0hhc2g6OmZvbGRDYXNlKToK
KyAgICAgICAgKFdURjo6Q2FzZUZvbGRpbmdIYXNoOjpoYXNoKToKKwogMjAxMC0wOS0yNCAgUGF0
cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAcGFyb2dhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBHYXZpbiBCYXJyYWNsb3VnaC4KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0
L1N0cmluZ0hhc2guaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0L1N0cmluZ0hhc2guaAppbmRl
eCBiZmQwNWViLi45YTU3MDcxIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9T
dHJpbmdIYXNoLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5nSGFzaC5oCkBA
IC05NiwxMDAgKzk2LDI3IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIH07CiAKICAgICBjbGFzcyBD
YXNlRm9sZGluZ0hhc2ggeworICAgICAgICBzdGF0aWMgaW5saW5lIFVDaGFyIGZvbGRDYXNlKGNo
YXIgY2gpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBXVEY6OlVuaWNvZGU6OmZvbGRD
YXNlKGNoKTsKKyAgICAgICAgfQorCiAgICAgcHVibGljOgotICAgICAgICAvLyBQYXVsIEhzaWVo
J3MgU3VwZXJGYXN0SGFzaAotICAgICAgICAvLyBodHRwOi8vd3d3LmF6aWxsaW9ubW9ua2V5cy5j
b20vcWVkL2hhc2guaHRtbAogICAgICAgICBzdGF0aWMgdW5zaWduZWQgaGFzaChjb25zdCBVQ2hh
ciogZGF0YSwgdW5zaWduZWQgbGVuZ3RoKQogICAgICAgICB7Ci0gICAgICAgICAgICB1bnNpZ25l
ZCBsID0gbGVuZ3RoOwotICAgICAgICAgICAgY29uc3QgVUNoYXIqIHMgPSBkYXRhOwotICAgICAg
ICAgICAgdWludDMyX3QgaGFzaCA9IFdURjo6c3RyaW5nSGFzaGluZ1N0YXJ0VmFsdWU7Ci0gICAg
ICAgICAgICB1aW50MzJfdCB0bXA7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIGludCByZW0g
PSBsICYgMTsKLSAgICAgICAgICAgIGwgPj49IDE7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAg
IC8vIE1haW4gbG9vcC4KLSAgICAgICAgICAgIGZvciAoOyBsID4gMDsgbC0tKSB7Ci0gICAgICAg
ICAgICAgICAgaGFzaCArPSBXVEY6OlVuaWNvZGU6OmZvbGRDYXNlKHNbMF0pOwotICAgICAgICAg
ICAgICAgIHRtcCA9IChXVEY6OlVuaWNvZGU6OmZvbGRDYXNlKHNbMV0pIDw8IDExKSBeIGhhc2g7
Ci0gICAgICAgICAgICAgICAgaGFzaCA9IChoYXNoIDw8IDE2KSBeIHRtcDsKLSAgICAgICAgICAg
ICAgICBzICs9IDI7Ci0gICAgICAgICAgICAgICAgaGFzaCArPSBoYXNoID4+IDExOwotICAgICAg
ICAgICAgfQotICAgICAgICAgICAgCi0gICAgICAgICAgICAvLyBIYW5kbGUgZW5kIGNhc2UuCi0g
ICAgICAgICAgICBpZiAocmVtKSB7Ci0gICAgICAgICAgICAgICAgaGFzaCArPSBXVEY6OlVuaWNv
ZGU6OmZvbGRDYXNlKHNbMF0pOwotICAgICAgICAgICAgICAgIGhhc2ggXj0gaGFzaCA8PCAxMTsK
LSAgICAgICAgICAgICAgICBoYXNoICs9IGhhc2ggPj4gMTc7Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgICAgICAKLSAgICAgICAgICAgIC8vIEZvcmNlICJhdmFsYW5jaGluZyIgb2YgZmluYWwgMTI3
IGJpdHMuCi0gICAgICAgICAgICBoYXNoIF49IGhhc2ggPDwgMzsKLSAgICAgICAgICAgIGhhc2gg
Kz0gaGFzaCA+PiA1OwotICAgICAgICAgICAgaGFzaCBePSBoYXNoIDw8IDI7Ci0gICAgICAgICAg
ICBoYXNoICs9IGhhc2ggPj4gMTU7Ci0gICAgICAgICAgICBoYXNoIF49IGhhc2ggPDwgMTA7Ci0g
ICAgICAgICAgICAKLSAgICAgICAgICAgIC8vIFRoaXMgYXZvaWRzIGV2ZXIgcmV0dXJuaW5nIGEg
aGFzaCBjb2RlIG9mIDAsIHNpbmNlIHRoYXQgaXMgdXNlZCB0bwotICAgICAgICAgICAgLy8gc2ln
bmFsICJoYXNoIG5vdCBjb21wdXRlZCB5ZXQiLCB1c2luZyBhIHZhbHVlIHRoYXQgaXMgbGlrZWx5
IHRvIGJlCi0gICAgICAgICAgICAvLyBlZmZlY3RpdmVseSB0aGUgc2FtZSBhcyAwIHdoZW4gdGhl
IGxvdyBiaXRzIGFyZSBtYXNrZWQuCi0gICAgICAgICAgICBoYXNoIHw9ICFoYXNoIDw8IDMxOwot
ICAgICAgICAgICAgCi0gICAgICAgICAgICByZXR1cm4gaGFzaDsKKyAgICAgICAgICAgIHJldHVy
biBTdHJpbmdIYXNoZXI6OmNyZWF0ZUhhc2g8VUNoYXIsIFdURjo6VW5pY29kZTo6Zm9sZENhc2U+
KGRhdGEsIGxlbmd0aCk7CiAgICAgICAgIH0KIAogICAgICAgICBzdGF0aWMgdW5zaWduZWQgaGFz
aChTdHJpbmdJbXBsKiBzdHIpCiAgICAgICAgIHsKICAgICAgICAgICAgIHJldHVybiBoYXNoKHN0
ci0+Y2hhcmFjdGVycygpLCBzdHItPmxlbmd0aCgpKTsKICAgICAgICAgfQotICAgICAgICAKLSAg
ICAgICAgc3RhdGljIHVuc2lnbmVkIGhhc2goY29uc3QgY2hhciogc3RyLCB1bnNpZ25lZCBsZW5n
dGgpCi0gICAgICAgIHsKLSAgICAgICAgICAgIC8vIFRoaXMgaGFzaCBpcyBkZXNpZ25lZCB0byB3
b3JrIG9uIDE2LWJpdCBjaHVua3MgYXQgYSB0aW1lLiBCdXQgc2luY2UgdGhlIG5vcm1hbCBjYXNl
Ci0gICAgICAgICAgICAvLyAoYWJvdmUpIGlzIHRvIGhhc2ggVVRGLTE2IGNoYXJhY3RlcnMsIHdl
IGp1c3QgdHJlYXQgdGhlIDgtYml0IGNoYXJzIGFzIGlmIHRoZXkKLSAgICAgICAgICAgIC8vIHdl
cmUgMTYtYml0IGNodW5rcywgd2hpY2ggd2lsbCBnaXZlIG1hdGNoaW5nIHJlc3VsdHMuCiAKLSAg
ICAgICAgICAgIHVuc2lnbmVkIGwgPSBsZW5ndGg7Ci0gICAgICAgICAgICBjb25zdCBjaGFyKiBz
ID0gc3RyOwotICAgICAgICAgICAgdWludDMyX3QgaGFzaCA9IFdURjo6c3RyaW5nSGFzaGluZ1N0
YXJ0VmFsdWU7Ci0gICAgICAgICAgICB1aW50MzJfdCB0bXA7Ci0gICAgICAgICAgICAKLSAgICAg
ICAgICAgIGludCByZW0gPSBsICYgMTsKLSAgICAgICAgICAgIGwgPj49IDE7Ci0gICAgICAgICAg
ICAKLSAgICAgICAgICAgIC8vIE1haW4gbG9vcAotICAgICAgICAgICAgZm9yICg7IGwgPiAwOyBs
LS0pIHsKLSAgICAgICAgICAgICAgICBoYXNoICs9IFdURjo6VW5pY29kZTo6Zm9sZENhc2Uoc1sw
XSk7Ci0gICAgICAgICAgICAgICAgdG1wID0gKFdURjo6VW5pY29kZTo6Zm9sZENhc2Uoc1sxXSkg
PDwgMTEpIF4gaGFzaDsKLSAgICAgICAgICAgICAgICBoYXNoID0gKGhhc2ggPDwgMTYpIF4gdG1w
OwotICAgICAgICAgICAgICAgIHMgKz0gMjsKLSAgICAgICAgICAgICAgICBoYXNoICs9IGhhc2gg
Pj4gMTE7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIC8vIEhhbmRs
ZSBlbmQgY2FzZQotICAgICAgICAgICAgaWYgKHJlbSkgewotICAgICAgICAgICAgICAgIGhhc2gg
Kz0gV1RGOjpVbmljb2RlOjpmb2xkQ2FzZShzWzBdKTsKLSAgICAgICAgICAgICAgICBoYXNoIF49
IGhhc2ggPDwgMTE7Ci0gICAgICAgICAgICAgICAgaGFzaCArPSBoYXNoID4+IDE3OwotICAgICAg
ICAgICAgfQotICAgICAgICAgICAgCi0gICAgICAgICAgICAvLyBGb3JjZSAiYXZhbGFuY2hpbmci
IG9mIGZpbmFsIDEyNyBiaXRzCi0gICAgICAgICAgICBoYXNoIF49IGhhc2ggPDwgMzsKLSAgICAg
ICAgICAgIGhhc2ggKz0gaGFzaCA+PiA1OwotICAgICAgICAgICAgaGFzaCBePSBoYXNoIDw8IDI7
Ci0gICAgICAgICAgICBoYXNoICs9IGhhc2ggPj4gMTU7Ci0gICAgICAgICAgICBoYXNoIF49IGhh
c2ggPDwgMTA7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIC8vIHRoaXMgYXZvaWRzIGV2ZXIg
cmV0dXJuaW5nIGEgaGFzaCBjb2RlIG9mIDAsIHNpbmNlIHRoYXQgaXMgdXNlZCB0bwotICAgICAg
ICAgICAgLy8gc2lnbmFsICJoYXNoIG5vdCBjb21wdXRlZCB5ZXQiLCB1c2luZyBhIHZhbHVlIHRo
YXQgaXMgbGlrZWx5IHRvIGJlCi0gICAgICAgICAgICAvLyBlZmZlY3RpdmVseSB0aGUgc2FtZSBh
cyAwIHdoZW4gdGhlIGxvdyBiaXRzIGFyZSBtYXNrZWQKLSAgICAgICAgICAgIGhhc2ggfD0gIWhh
c2ggPDwgMzE7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIHJldHVybiBoYXNoOworICAgICAg
ICBzdGF0aWMgdW5zaWduZWQgaGFzaChjb25zdCBjaGFyKiBkYXRhLCB1bnNpZ25lZCBsZW5ndGgp
CisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBTdHJpbmdIYXNoZXI6OmNyZWF0ZUhhc2g8
Y2hhciwgZm9sZENhc2U+KGRhdGEsIGxlbmd0aCk7CiAgICAgICAgIH0KLSAgICAgICAgCisKICAg
ICAgICAgc3RhdGljIGJvb2wgZXF1YWwoY29uc3QgU3RyaW5nSW1wbCogYSwgY29uc3QgU3RyaW5n
SW1wbCogYikKICAgICAgICAgewogICAgICAgICAgICAgaWYgKGEgPT0gYikK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69977</attachid>
            <date>2010-10-06 12:16:04 -0700</date>
            <delta_ts>2010-10-10 13:19:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-46523b.patch</filename>
            <type>text/plain</type>
            <size>4668</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwppbmRleCBkYzM4OWQzLi5hZjVlNDNiIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQg
QEAKKzIwMTAtMDktMjUgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXNlIFdURjo6
U3RyaW5nSGFzaGVyIGluIFdURjo6Q2FzZUZvbGRpbmdIYXNoCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NjUyMworCisgICAgICAgICogd3RmL3RleHQv
U3RyaW5nSGFzaC5oOgorICAgICAgICAoV1RGOjpDYXNlRm9sZGluZ0hhc2g6OmZvbGRDYXNlKToK
KyAgICAgICAgKFdURjo6Q2FzZUZvbGRpbmdIYXNoOjpoYXNoKToKKwogMjAxMC0wOS0yNCAgUGF0
cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAcGFyb2dhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBHYXZpbiBCYXJyYWNsb3VnaC4KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0
L1N0cmluZ0hhc2guaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0L1N0cmluZ0hhc2guaAppbmRl
eCBiZmQwNWViLi45YTU3MDcxIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9T
dHJpbmdIYXNoLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5nSGFzaC5oCkBA
IC05NiwxMDAgKzk2LDI3IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIH07CiAKICAgICBjbGFzcyBD
YXNlRm9sZGluZ0hhc2ggeworICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdGF0aWMgaW5s
aW5lIFVDaGFyIGZvbGRDYXNlKFQgY2gpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBX
VEY6OlVuaWNvZGU6OmZvbGRDYXNlKGNoKTsKKyAgICAgICAgfQorCiAgICAgcHVibGljOgotICAg
ICAgICAvLyBQYXVsIEhzaWVoJ3MgU3VwZXJGYXN0SGFzaAotICAgICAgICAvLyBodHRwOi8vd3d3
LmF6aWxsaW9ubW9ua2V5cy5jb20vcWVkL2hhc2guaHRtbAogICAgICAgICBzdGF0aWMgdW5zaWdu
ZWQgaGFzaChjb25zdCBVQ2hhciogZGF0YSwgdW5zaWduZWQgbGVuZ3RoKQogICAgICAgICB7Ci0g
ICAgICAgICAgICB1bnNpZ25lZCBsID0gbGVuZ3RoOwotICAgICAgICAgICAgY29uc3QgVUNoYXIq
IHMgPSBkYXRhOwotICAgICAgICAgICAgdWludDMyX3QgaGFzaCA9IFdURjo6c3RyaW5nSGFzaGlu
Z1N0YXJ0VmFsdWU7Ci0gICAgICAgICAgICB1aW50MzJfdCB0bXA7Ci0gICAgICAgICAgICAKLSAg
ICAgICAgICAgIGludCByZW0gPSBsICYgMTsKLSAgICAgICAgICAgIGwgPj49IDE7Ci0gICAgICAg
ICAgICAKLSAgICAgICAgICAgIC8vIE1haW4gbG9vcC4KLSAgICAgICAgICAgIGZvciAoOyBsID4g
MDsgbC0tKSB7Ci0gICAgICAgICAgICAgICAgaGFzaCArPSBXVEY6OlVuaWNvZGU6OmZvbGRDYXNl
KHNbMF0pOwotICAgICAgICAgICAgICAgIHRtcCA9IChXVEY6OlVuaWNvZGU6OmZvbGRDYXNlKHNb
MV0pIDw8IDExKSBeIGhhc2g7Ci0gICAgICAgICAgICAgICAgaGFzaCA9IChoYXNoIDw8IDE2KSBe
IHRtcDsKLSAgICAgICAgICAgICAgICBzICs9IDI7Ci0gICAgICAgICAgICAgICAgaGFzaCArPSBo
YXNoID4+IDExOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgCi0gICAgICAgICAgICAvLyBI
YW5kbGUgZW5kIGNhc2UuCi0gICAgICAgICAgICBpZiAocmVtKSB7Ci0gICAgICAgICAgICAgICAg
aGFzaCArPSBXVEY6OlVuaWNvZGU6OmZvbGRDYXNlKHNbMF0pOwotICAgICAgICAgICAgICAgIGhh
c2ggXj0gaGFzaCA8PCAxMTsKLSAgICAgICAgICAgICAgICBoYXNoICs9IGhhc2ggPj4gMTc7Ci0g
ICAgICAgICAgICB9Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIC8vIEZvcmNlICJhdmFsYW5j
aGluZyIgb2YgZmluYWwgMTI3IGJpdHMuCi0gICAgICAgICAgICBoYXNoIF49IGhhc2ggPDwgMzsK
LSAgICAgICAgICAgIGhhc2ggKz0gaGFzaCA+PiA1OwotICAgICAgICAgICAgaGFzaCBePSBoYXNo
IDw8IDI7Ci0gICAgICAgICAgICBoYXNoICs9IGhhc2ggPj4gMTU7Ci0gICAgICAgICAgICBoYXNo
IF49IGhhc2ggPDwgMTA7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIC8vIFRoaXMgYXZvaWRz
IGV2ZXIgcmV0dXJuaW5nIGEgaGFzaCBjb2RlIG9mIDAsIHNpbmNlIHRoYXQgaXMgdXNlZCB0bwot
ICAgICAgICAgICAgLy8gc2lnbmFsICJoYXNoIG5vdCBjb21wdXRlZCB5ZXQiLCB1c2luZyBhIHZh
bHVlIHRoYXQgaXMgbGlrZWx5IHRvIGJlCi0gICAgICAgICAgICAvLyBlZmZlY3RpdmVseSB0aGUg
c2FtZSBhcyAwIHdoZW4gdGhlIGxvdyBiaXRzIGFyZSBtYXNrZWQuCi0gICAgICAgICAgICBoYXNo
IHw9ICFoYXNoIDw8IDMxOwotICAgICAgICAgICAgCi0gICAgICAgICAgICByZXR1cm4gaGFzaDsK
KyAgICAgICAgICAgIHJldHVybiBTdHJpbmdIYXNoZXI6OmNyZWF0ZUhhc2g8VUNoYXIsIGZvbGRD
YXNlPihkYXRhLCBsZW5ndGgpOwogICAgICAgICB9CiAKICAgICAgICAgc3RhdGljIHVuc2lnbmVk
IGhhc2goU3RyaW5nSW1wbCogc3RyKQogICAgICAgICB7CiAgICAgICAgICAgICByZXR1cm4gaGFz
aChzdHItPmNoYXJhY3RlcnMoKSwgc3RyLT5sZW5ndGgoKSk7CiAgICAgICAgIH0KLSAgICAgICAg
Ci0gICAgICAgIHN0YXRpYyB1bnNpZ25lZCBoYXNoKGNvbnN0IGNoYXIqIHN0ciwgdW5zaWduZWQg
bGVuZ3RoKQotICAgICAgICB7Ci0gICAgICAgICAgICAvLyBUaGlzIGhhc2ggaXMgZGVzaWduZWQg
dG8gd29yayBvbiAxNi1iaXQgY2h1bmtzIGF0IGEgdGltZS4gQnV0IHNpbmNlIHRoZSBub3JtYWwg
Y2FzZQotICAgICAgICAgICAgLy8gKGFib3ZlKSBpcyB0byBoYXNoIFVURi0xNiBjaGFyYWN0ZXJz
LCB3ZSBqdXN0IHRyZWF0IHRoZSA4LWJpdCBjaGFycyBhcyBpZiB0aGV5Ci0gICAgICAgICAgICAv
LyB3ZXJlIDE2LWJpdCBjaHVua3MsIHdoaWNoIHdpbGwgZ2l2ZSBtYXRjaGluZyByZXN1bHRzLgog
Ci0gICAgICAgICAgICB1bnNpZ25lZCBsID0gbGVuZ3RoOwotICAgICAgICAgICAgY29uc3QgY2hh
ciogcyA9IHN0cjsKLSAgICAgICAgICAgIHVpbnQzMl90IGhhc2ggPSBXVEY6OnN0cmluZ0hhc2hp
bmdTdGFydFZhbHVlOwotICAgICAgICAgICAgdWludDMyX3QgdG1wOwotICAgICAgICAgICAgCi0g
ICAgICAgICAgICBpbnQgcmVtID0gbCAmIDE7Ci0gICAgICAgICAgICBsID4+PSAxOwotICAgICAg
ICAgICAgCi0gICAgICAgICAgICAvLyBNYWluIGxvb3AKLSAgICAgICAgICAgIGZvciAoOyBsID4g
MDsgbC0tKSB7Ci0gICAgICAgICAgICAgICAgaGFzaCArPSBXVEY6OlVuaWNvZGU6OmZvbGRDYXNl
KHNbMF0pOwotICAgICAgICAgICAgICAgIHRtcCA9IChXVEY6OlVuaWNvZGU6OmZvbGRDYXNlKHNb
MV0pIDw8IDExKSBeIGhhc2g7Ci0gICAgICAgICAgICAgICAgaGFzaCA9IChoYXNoIDw8IDE2KSBe
IHRtcDsKLSAgICAgICAgICAgICAgICBzICs9IDI7Ci0gICAgICAgICAgICAgICAgaGFzaCArPSBo
YXNoID4+IDExOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgCi0gICAgICAgICAgICAvLyBI
YW5kbGUgZW5kIGNhc2UKLSAgICAgICAgICAgIGlmIChyZW0pIHsKLSAgICAgICAgICAgICAgICBo
YXNoICs9IFdURjo6VW5pY29kZTo6Zm9sZENhc2Uoc1swXSk7Ci0gICAgICAgICAgICAgICAgaGFz
aCBePSBoYXNoIDw8IDExOwotICAgICAgICAgICAgICAgIGhhc2ggKz0gaGFzaCA+PiAxNzsKLSAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAgLy8gRm9yY2UgImF2YWxhbmNo
aW5nIiBvZiBmaW5hbCAxMjcgYml0cwotICAgICAgICAgICAgaGFzaCBePSBoYXNoIDw8IDM7Ci0g
ICAgICAgICAgICBoYXNoICs9IGhhc2ggPj4gNTsKLSAgICAgICAgICAgIGhhc2ggXj0gaGFzaCA8
PCAyOwotICAgICAgICAgICAgaGFzaCArPSBoYXNoID4+IDE1OwotICAgICAgICAgICAgaGFzaCBe
PSBoYXNoIDw8IDEwOwotICAgICAgICAgICAgCi0gICAgICAgICAgICAvLyB0aGlzIGF2b2lkcyBl
dmVyIHJldHVybmluZyBhIGhhc2ggY29kZSBvZiAwLCBzaW5jZSB0aGF0IGlzIHVzZWQgdG8KLSAg
ICAgICAgICAgIC8vIHNpZ25hbCAiaGFzaCBub3QgY29tcHV0ZWQgeWV0IiwgdXNpbmcgYSB2YWx1
ZSB0aGF0IGlzIGxpa2VseSB0byBiZQotICAgICAgICAgICAgLy8gZWZmZWN0aXZlbHkgdGhlIHNh
bWUgYXMgMCB3aGVuIHRoZSBsb3cgYml0cyBhcmUgbWFza2VkCi0gICAgICAgICAgICBoYXNoIHw9
ICFoYXNoIDw8IDMxOwotICAgICAgICAgICAgCi0gICAgICAgICAgICByZXR1cm4gaGFzaDsKKyAg
ICAgICAgc3RhdGljIHVuc2lnbmVkIGhhc2goY29uc3QgY2hhciogZGF0YSwgdW5zaWduZWQgbGVu
Z3RoKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gU3RyaW5nSGFzaGVyOjpjcmVhdGVI
YXNoPGNoYXIsIGZvbGRDYXNlPihkYXRhLCBsZW5ndGgpOwogICAgICAgICB9Ci0gICAgICAgIAor
CiAgICAgICAgIHN0YXRpYyBib29sIGVxdWFsKGNvbnN0IFN0cmluZ0ltcGwqIGEsIGNvbnN0IFN0
cmluZ0ltcGwqIGIpCiAgICAgICAgIHsKICAgICAgICAgICAgIGlmIChhID09IGIpCiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>