<?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>25004</bug_id>
          
          <creation_ts>2009-04-02 10:30:49 -0700</creation_ts>
          <short_desc>Upstream V8EventListenerList for V8 bindings.</short_desc>
          <delta_ts>2009-04-02 14:34:51 -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>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>25009</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Jian Li">jianli</reporter>
          <assigned_to name="Jian Li">jianli</assigned_to>
          <cc>dglazkov</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>116304</commentid>
    <comment_count>0</comment_count>
    <who name="Jian Li">jianli</who>
    <bug_when>2009-04-02 10:30:49 -0700</bug_when>
    <thetext>Upstream V8EventListenerList for V8 bindings.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>116307</commentid>
    <comment_count>1</comment_count>
      <attachid>29195</attachid>
    <who name="Jian Li">jianli</who>
    <bug_when>2009-04-02 10:34:30 -0700</bug_when>
    <thetext>Created attachment 29195
Proposed Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>116337</commentid>
    <comment_count>2</comment_count>
      <attachid>29195</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2009-04-02 13:08:04 -0700</bug_when>
    <thetext>Comment on attachment 29195
Proposed Patch

&gt; +++ b/WebCore/bindings/v8/V8EventListenerList.h
...
&gt; +    class V8EventListenerList {
&gt; +    public:
&gt; +        static const size_t kMaxKeyNameLength = 254;

nit: This should be renamed to maxKeyNameLength.  Const variables should
be named just like regular variables :)

Otherwise, R+</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>116341</commentid>
    <comment_count>3</comment_count>
      <attachid>29205</attachid>
    <who name="Jian Li">jianli</who>
    <bug_when>2009-04-02 13:23:33 -0700</bug_when>
    <thetext>Created attachment 29205
Proposed Patch

Fixed per darin&apos;s feedback. Please use this new patch to land.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>116351</commentid>
    <comment_count>4</comment_count>
    <who name="Dmitry Titov">dimich</who>
    <bug_when>2009-04-02 14:34:51 -0700</bug_when>
    <thetext>Landed: http://trac.webkit.org/changeset/42184</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>29195</attachid>
            <date>2009-04-02 10:34:30 -0700</date>
            <delta_ts>2009-04-02 13:23:33 -0700</delta_ts>
            <desc>Proposed Patch</desc>
            <filename>25004</filename>
            <type>text/plain</type>
            <size>8365</size>
            <attacher name="Jian Li">jianli</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NWE3YzBmOS4uMTI0MWZmOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAwOS0wNC0wMiAgSmlhbiBMaSAgPGpp
YW5saUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVXBzdHJlYW0gVjhFdmVudExpc3RlbmVyTGlzdCBmb3IgVjggYmluZGluZ3Mu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNTAwNAor
CisgICAgICAgICogYmluZGluZ3MvdjgvVjhFdmVudExpc3RlbmVyTGlzdC5jcHA6IEFkZGVkLgor
ICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4RXZlbnRMaXN0ZW5lckxpc3QuaDogQWRkZWQuCisKIDIw
MDktMDMtMzEgIENyYWlnIFNjaGxlbnRlciAgPGNyYWlnLnNjaGxlbnRlckBnbWFpbC5jb20+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgRGltaXRyaSBHbGF6a292LgpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9iaW5kaW5ncy92OC9WOEV2ZW50TGlzdGVuZXJMaXN0LmNwcCBiL1dlYkNvcmUvYmluZGluZ3Mv
djgvVjhFdmVudExpc3RlbmVyTGlzdC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uOTFmMzIwYwotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhF
dmVudExpc3RlbmVyTGlzdC5jcHAKQEAgLTAsMCArMSwxMTggQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMDkgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgor
ICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9m
IGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisjaW5jbHVkZSAiVjhFdmVudExpc3RlbmVyTGlzdC5oIgorCisjaW5jbHVkZSAiVjhDdXN0b21F
dmVudExpc3RlbmVyLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworVjhFdmVudExpc3RlbmVy
TGlzdDo6VjhFdmVudExpc3RlbmVyTGlzdChjb25zdCBjaGFyKiBuYW1lKQoreworICAgIEFTU0VS
VChzdHJsZW4obmFtZSkgPD0ga01heEtleU5hbWVMZW5ndGgpOworICAgIHY4OjpIYW5kbGVTY29w
ZSBoYW5kbGVTY29wZTsKKworICAgIC8vIFdyaXRlIHRoZSBuYW1lIGludG8gYSB0ZW1wb3Jhcnkg
YnVmZmVyLCBsZWF2aW5nIDEgc3BhY2UgYXQgdGhlIGJlZ2lubmluZworICAgIC8vIGZvciBhIHBy
ZWZpeCB3ZSdsbCB2YXJ5IGJldHdlZW4gdGhlIGlubGluZSBhbmQgbm9uLWlubGluZSBrZXlzLgor
ICAgIGNoYXIga2V5QnVmZmVyW2tNYXhLZXlOYW1lTGVuZ3RoICsgMl0gPSB7IDAgfTsKKyAgICBz
dHJuY3B5KGtleUJ1ZmZlciArIDEsIG5hbWUsIGtNYXhLZXlOYW1lTGVuZ3RoKTsKKyAgICBrZXlC
dWZmZXJbMF0gPSAnMSc7CisgICAgbV9pbmxpbmVLZXkgPSB2ODo6UGVyc2lzdGVudDx2ODo6U3Ry
aW5nPjo6TmV3KHY4OjpTdHJpbmc6Ok5ldyhrZXlCdWZmZXIpKTsKKyAgICBrZXlCdWZmZXJbMF0g
PSAnMic7CisgICAgbV9ub25JbmxpbmVLZXkgPSB2ODo6UGVyc2lzdGVudDx2ODo6U3RyaW5nPjo6
TmV3KHY4OjpTdHJpbmc6Ok5ldyhrZXlCdWZmZXIpKTsKK30KKworVjhFdmVudExpc3RlbmVyTGlz
dDo6flY4RXZlbnRMaXN0ZW5lckxpc3QoKQoreworICAgIG1faW5saW5lS2V5LkRpc3Bvc2UoKTsK
KyAgICBtX25vbklubGluZUtleS5EaXNwb3NlKCk7Cit9CisKK1Y4RXZlbnRMaXN0ZW5lckxpc3Q6
Oml0ZXJhdG9yIFY4RXZlbnRMaXN0ZW5lckxpc3Q6OmJlZ2luKCkKK3sKKyAgICByZXR1cm4gbV9s
aXN0LmJlZ2luKCk7Cit9CisKK1Y4RXZlbnRMaXN0ZW5lckxpc3Q6Oml0ZXJhdG9yIFY4RXZlbnRM
aXN0ZW5lckxpc3Q6OmVuZCgpCit7CisgICAgcmV0dXJuIG1fbGlzdC5lbmQoKTsKK30KKwordjg6
OkhhbmRsZTx2ODo6U3RyaW5nPiBWOEV2ZW50TGlzdGVuZXJMaXN0OjpnZXRLZXkoYm9vbCBpc0lu
bGluZSkKK3sKKyAgICByZXR1cm4gaXNJbmxpbmUgPyBtX2lubGluZUtleSA6IG1fbm9uSW5saW5l
S2V5OworfQorCisvLyBTZWUgY29tbWVudCBpbiAuaCBmaWxlIGZvciB0aGlzIGZ1bmN0aW9uLCBh
bmQgdXBkYXRlIGFjY29yZGluZ2x5IGlmIGltcGxlbWVudGF0aW9uIGRldGFpbHMgY2hhbmdlIGhl
cmUuCit2b2lkIFY4RXZlbnRMaXN0ZW5lckxpc3Q6OmFkZChWOEV2ZW50TGlzdGVuZXIqIGxpc3Rl
bmVyKQoreworICAgIG1fbGlzdC5hcHBlbmQobGlzdGVuZXIpOworCisgICAgdjg6OkhhbmRsZVNj
b3BlIGhhbmRsZVNjb3BlOworICAgIHY4OjpMb2NhbDx2ODo6T2JqZWN0PiBvYmplY3QgPSBsaXN0
ZW5lci0+Z2V0TGlzdGVuZXJPYmplY3QoKTsKKyAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1
ZSA9IHY4OjpFeHRlcm5hbDo6V3JhcChsaXN0ZW5lcik7CisgICAgb2JqZWN0LT5TZXRIaWRkZW5W
YWx1ZShnZXRLZXkobGlzdGVuZXItPmlzSW5saW5lKCkpLCB2YWx1ZSk7Cit9CisKK3ZvaWQgVjhF
dmVudExpc3RlbmVyTGlzdDo6cmVtb3ZlKFY4RXZlbnRMaXN0ZW5lciogbGlzdGVuZXIpCit7Cisg
ICAgdjg6OkhhbmRsZVNjb3BlIGhhbmRsZVNjb3BlOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBp
IDwgbV9saXN0LnNpemUoKTsgaSsrKSB7CisgICAgICAgIFY4RXZlbnRMaXN0ZW5lciogZWxlbWVu
dCA9IG1fbGlzdC5hdChpKTsKKyAgICAgICAgaWYgKGVsZW1lbnQtPmlzSW5saW5lKCkgPT0gbGlz
dGVuZXItPmlzSW5saW5lKCkgJiYgZWxlbWVudCA9PSBsaXN0ZW5lcikgeworICAgICAgICAgICAg
djg6OkxvY2FsPHY4OjpPYmplY3Q+IG9iamVjdCA9IGxpc3RlbmVyLT5nZXRMaXN0ZW5lck9iamVj
dCgpOworICAgICAgICAgICAgb2JqZWN0LT5EZWxldGVIaWRkZW5WYWx1ZShnZXRLZXkobGlzdGVu
ZXItPmlzSW5saW5lKCkpKTsKKyAgICAgICAgICAgIG1fbGlzdC5yZW1vdmUoaSk7CisgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgfQorICAgIH0KK30KKwordm9pZCBWOEV2ZW50TGlzdGVuZXJM
aXN0OjpjbGVhcigpCit7CisgICAgdjg6OkhhbmRsZVNjb3BlIGhhbmRsZVNjb3BlOworICAgIGZv
ciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9saXN0LnNpemUoKTsgaSsrKSB7CisgICAgICAgIFY4RXZl
bnRMaXN0ZW5lciogZWxlbWVudCA9IG1fbGlzdC5hdChpKTsKKyAgICAgICAgdjg6OkxvY2FsPHY4
OjpPYmplY3Q+IG9iamVjdCA9IGVsZW1lbnQtPmdldExpc3RlbmVyT2JqZWN0KCk7CisgICAgICAg
IG9iamVjdC0+RGVsZXRlSGlkZGVuVmFsdWUoZ2V0S2V5KGVsZW1lbnQtPmlzSW5saW5lKCkpKTsK
KyAgICB9CisgICAgbV9saXN0LmNsZWFyKCk7Cit9CisKK1Y4RXZlbnRMaXN0ZW5lciogVjhFdmVu
dExpc3RlbmVyTGlzdDo6ZmluZCh2ODo6TG9jYWw8djg6Ok9iamVjdD4gb2JqZWN0LCBib29sIGlz
SW5saW5lKQoreworICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlID0gb2JqZWN0LT5HZXRI
aWRkZW5WYWx1ZShnZXRLZXkoaXNJbmxpbmUpKTsKKyAgICBpZiAodmFsdWUuSXNFbXB0eSgpKQor
ICAgICAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxWOEV2ZW50TGlz
dGVuZXIqPih2ODo6RXh0ZXJuYWw6OlVud3JhcCh2YWx1ZSkpOworfQorCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RXZlbnRMaXN0ZW5l
ckxpc3QuaCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhFdmVudExpc3RlbmVyTGlzdC5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA5NWY4NTAKLS0tIC9kZXYvbnVsbAorKysg
Yi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RXZlbnRMaXN0ZW5lckxpc3QuaApAQCAtMCwwICsxLDY5
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgor
ICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xl
IEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisg
KiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2lmbmRlZiBWOEV2ZW50TGlzdGVuZXJMaXN0X2gKKyNkZWZpbmUgVjhFdmVudExpc3RlbmVy
TGlzdF9oCisKKyNpbmNsdWRlIDx2OC5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworICAgIGNsYXNzIFY4RXZlbnRMaXN0ZW5lcjsKKworICAgIC8vIFRo
aXMgaXMgYSBjb250YWluZXIgZm9yIFY4RXZlbnRMaXN0ZW5lciBvYmplY3RzIHRoYXQgYWxzbyBk
b2VzIHNvbWUgY2FjaGluZyB0byBzcGVlZCB1cCBmaW5kaW5nIGVudHJpZXMgYnkgdjg6Ok9iamVj
dC4KKyAgICBjbGFzcyBWOEV2ZW50TGlzdGVuZXJMaXN0IHsKKyAgICBwdWJsaWM6CisgICAgICAg
IHN0YXRpYyBjb25zdCBzaXplX3Qga01heEtleU5hbWVMZW5ndGggPSAyNTQ7CisKKyAgICAgICAg
Ly8gVGhlIG5hbWUgc2hvdWxkIGJlIGRpc3RpbmN0IGZyb20gYW55IG90aGVyIFY4RXZlbnRMaXN0
ZW5lckxpc3Qgd2l0aGluIHRoZSBzYW1lIHByb2Nlc3MsIGFuZCA8PSBrTWF4S2V5TmFtZUxlbmd0
aCBjaGFyYWN0ZXJzLgorICAgICAgICBleHBsaWNpdCBWOEV2ZW50TGlzdGVuZXJMaXN0KGNvbnN0
IGNoYXIqIG5hbWUpOworICAgICAgICB+VjhFdmVudExpc3RlbmVyTGlzdCgpOworCisgICAgICAg
IHR5cGVkZWYgVmVjdG9yPFY4RXZlbnRMaXN0ZW5lcio+OjppdGVyYXRvciBpdGVyYXRvcjsKKyAg
ICAgICAgVjhFdmVudExpc3RlbmVyTGlzdDo6aXRlcmF0b3IgYmVnaW4oKTsKKyAgICAgICAgaXRl
cmF0b3IgZW5kKCk7CisKKyAgICAgICAgLy8gSW4gYWRkaXRpb24gdG8gYWRkaW5nIHRoZSBsaXN0
ZW5lciB0byB0aGlzIGxpc3QsIHRoaXMgYWxzbyBjYWNoZXMgdGhlIFY4RXZlbnRMaXN0ZW5lciBh
cyBhIGhpZGRlbiBwcm9wZXJ0eSBvbiBpdHMgd3JhcHBlZAorICAgICAgICAvLyB2OCBsaXN0ZW5l
ciBvYmplY3QsIHNvIHdlIGNhbiBxdWlja2x5IGxvb2sgaXQgdXAgbGF0ZXIuCisgICAgICAgIHZv
aWQgYWRkKFY4RXZlbnRMaXN0ZW5lciopOworICAgICAgICB2b2lkIHJlbW92ZShWOEV2ZW50TGlz
dGVuZXIqKTsKKyAgICAgICAgVjhFdmVudExpc3RlbmVyKiBmaW5kKHY4OjpMb2NhbDx2ODo6T2Jq
ZWN0PiwgYm9vbCBpc0lubGluZSk7CisgICAgICAgIHZvaWQgY2xlYXIoKTsKKworICAgIHByaXZh
dGU6CisgICAgICAgIHY4OjpIYW5kbGU8djg6OlN0cmluZz4gZ2V0S2V5KGJvb2wgaXNJbmxpbmUp
OworICAgICAgICB2ODo6UGVyc2lzdGVudDx2ODo6U3RyaW5nPiBtX2lubGluZUtleTsKKyAgICAg
ICAgdjg6OlBlcnNpc3RlbnQ8djg6OlN0cmluZz4gbV9ub25JbmxpbmVLZXk7CisgICAgICAgIFZl
Y3RvcjxWOEV2ZW50TGlzdGVuZXIqPiBtX2xpc3Q7CisgICAgfTsKKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQorCisjZW5kaWYgLy8gVjhFdmVudExpc3RlbmVyTGlzdF9oCg==
</data>
<flag name="review"
          id="14477"
          type_id="1"
          status="+"
          setter="fishd"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>29205</attachid>
            <date>2009-04-02 13:23:33 -0700</date>
            <delta_ts>2009-04-02 13:23:33 -0700</delta_ts>
            <desc>Proposed Patch</desc>
            <filename>25004_2</filename>
            <type>text/plain</type>
            <size>8360</size>
            <attacher name="Jian Li">jianli</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NWE3YzBmOS4uMTI0MWZmOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAwOS0wNC0wMiAgSmlhbiBMaSAgPGpp
YW5saUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVXBzdHJlYW0gVjhFdmVudExpc3RlbmVyTGlzdCBmb3IgVjggYmluZGluZ3Mu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNTAwNAor
CisgICAgICAgICogYmluZGluZ3MvdjgvVjhFdmVudExpc3RlbmVyTGlzdC5jcHA6IEFkZGVkLgor
ICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4RXZlbnRMaXN0ZW5lckxpc3QuaDogQWRkZWQuCisKIDIw
MDktMDMtMzEgIENyYWlnIFNjaGxlbnRlciAgPGNyYWlnLnNjaGxlbnRlckBnbWFpbC5jb20+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgRGltaXRyaSBHbGF6a292LgpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9iaW5kaW5ncy92OC9WOEV2ZW50TGlzdGVuZXJMaXN0LmNwcCBiL1dlYkNvcmUvYmluZGluZ3Mv
djgvVjhFdmVudExpc3RlbmVyTGlzdC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uNGNmMWVlNAotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhF
dmVudExpc3RlbmVyTGlzdC5jcHAKQEAgLTAsMCArMSwxMTggQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMDkgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgor
ICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9m
IGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisjaW5jbHVkZSAiVjhFdmVudExpc3RlbmVyTGlzdC5oIgorCisjaW5jbHVkZSAiVjhDdXN0b21F
dmVudExpc3RlbmVyLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworVjhFdmVudExpc3RlbmVy
TGlzdDo6VjhFdmVudExpc3RlbmVyTGlzdChjb25zdCBjaGFyKiBuYW1lKQoreworICAgIEFTU0VS
VChzdHJsZW4obmFtZSkgPD0gbWF4S2V5TmFtZUxlbmd0aCk7CisgICAgdjg6OkhhbmRsZVNjb3Bl
IGhhbmRsZVNjb3BlOworCisgICAgLy8gV3JpdGUgdGhlIG5hbWUgaW50byBhIHRlbXBvcmFyeSBi
dWZmZXIsIGxlYXZpbmcgMSBzcGFjZSBhdCB0aGUgYmVnaW5uaW5nCisgICAgLy8gZm9yIGEgcHJl
Zml4IHdlJ2xsIHZhcnkgYmV0d2VlbiB0aGUgaW5saW5lIGFuZCBub24taW5saW5lIGtleXMuCisg
ICAgY2hhciBrZXlCdWZmZXJbbWF4S2V5TmFtZUxlbmd0aCArIDJdID0geyAwIH07CisgICAgc3Ry
bmNweShrZXlCdWZmZXIgKyAxLCBuYW1lLCBtYXhLZXlOYW1lTGVuZ3RoKTsKKyAgICBrZXlCdWZm
ZXJbMF0gPSAnMSc7CisgICAgbV9pbmxpbmVLZXkgPSB2ODo6UGVyc2lzdGVudDx2ODo6U3RyaW5n
Pjo6TmV3KHY4OjpTdHJpbmc6Ok5ldyhrZXlCdWZmZXIpKTsKKyAgICBrZXlCdWZmZXJbMF0gPSAn
Mic7CisgICAgbV9ub25JbmxpbmVLZXkgPSB2ODo6UGVyc2lzdGVudDx2ODo6U3RyaW5nPjo6TmV3
KHY4OjpTdHJpbmc6Ok5ldyhrZXlCdWZmZXIpKTsKK30KKworVjhFdmVudExpc3RlbmVyTGlzdDo6
flY4RXZlbnRMaXN0ZW5lckxpc3QoKQoreworICAgIG1faW5saW5lS2V5LkRpc3Bvc2UoKTsKKyAg
ICBtX25vbklubGluZUtleS5EaXNwb3NlKCk7Cit9CisKK1Y4RXZlbnRMaXN0ZW5lckxpc3Q6Oml0
ZXJhdG9yIFY4RXZlbnRMaXN0ZW5lckxpc3Q6OmJlZ2luKCkKK3sKKyAgICByZXR1cm4gbV9saXN0
LmJlZ2luKCk7Cit9CisKK1Y4RXZlbnRMaXN0ZW5lckxpc3Q6Oml0ZXJhdG9yIFY4RXZlbnRMaXN0
ZW5lckxpc3Q6OmVuZCgpCit7CisgICAgcmV0dXJuIG1fbGlzdC5lbmQoKTsKK30KKwordjg6Okhh
bmRsZTx2ODo6U3RyaW5nPiBWOEV2ZW50TGlzdGVuZXJMaXN0OjpnZXRLZXkoYm9vbCBpc0lubGlu
ZSkKK3sKKyAgICByZXR1cm4gaXNJbmxpbmUgPyBtX2lubGluZUtleSA6IG1fbm9uSW5saW5lS2V5
OworfQorCisvLyBTZWUgY29tbWVudCBpbiAuaCBmaWxlIGZvciB0aGlzIGZ1bmN0aW9uLCBhbmQg
dXBkYXRlIGFjY29yZGluZ2x5IGlmIGltcGxlbWVudGF0aW9uIGRldGFpbHMgY2hhbmdlIGhlcmUu
Cit2b2lkIFY4RXZlbnRMaXN0ZW5lckxpc3Q6OmFkZChWOEV2ZW50TGlzdGVuZXIqIGxpc3RlbmVy
KQoreworICAgIG1fbGlzdC5hcHBlbmQobGlzdGVuZXIpOworCisgICAgdjg6OkhhbmRsZVNjb3Bl
IGhhbmRsZVNjb3BlOworICAgIHY4OjpMb2NhbDx2ODo6T2JqZWN0PiBvYmplY3QgPSBsaXN0ZW5l
ci0+Z2V0TGlzdGVuZXJPYmplY3QoKTsKKyAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSA9
IHY4OjpFeHRlcm5hbDo6V3JhcChsaXN0ZW5lcik7CisgICAgb2JqZWN0LT5TZXRIaWRkZW5WYWx1
ZShnZXRLZXkobGlzdGVuZXItPmlzSW5saW5lKCkpLCB2YWx1ZSk7Cit9CisKK3ZvaWQgVjhFdmVu
dExpc3RlbmVyTGlzdDo6cmVtb3ZlKFY4RXZlbnRMaXN0ZW5lciogbGlzdGVuZXIpCit7CisgICAg
djg6OkhhbmRsZVNjb3BlIGhhbmRsZVNjb3BlOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwg
bV9saXN0LnNpemUoKTsgaSsrKSB7CisgICAgICAgIFY4RXZlbnRMaXN0ZW5lciogZWxlbWVudCA9
IG1fbGlzdC5hdChpKTsKKyAgICAgICAgaWYgKGVsZW1lbnQtPmlzSW5saW5lKCkgPT0gbGlzdGVu
ZXItPmlzSW5saW5lKCkgJiYgZWxlbWVudCA9PSBsaXN0ZW5lcikgeworICAgICAgICAgICAgdjg6
OkxvY2FsPHY4OjpPYmplY3Q+IG9iamVjdCA9IGxpc3RlbmVyLT5nZXRMaXN0ZW5lck9iamVjdCgp
OworICAgICAgICAgICAgb2JqZWN0LT5EZWxldGVIaWRkZW5WYWx1ZShnZXRLZXkobGlzdGVuZXIt
PmlzSW5saW5lKCkpKTsKKyAgICAgICAgICAgIG1fbGlzdC5yZW1vdmUoaSk7CisgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgfQorICAgIH0KK30KKwordm9pZCBWOEV2ZW50TGlzdGVuZXJMaXN0
OjpjbGVhcigpCit7CisgICAgdjg6OkhhbmRsZVNjb3BlIGhhbmRsZVNjb3BlOworICAgIGZvciAo
c2l6ZV90IGkgPSAwOyBpIDwgbV9saXN0LnNpemUoKTsgaSsrKSB7CisgICAgICAgIFY4RXZlbnRM
aXN0ZW5lciogZWxlbWVudCA9IG1fbGlzdC5hdChpKTsKKyAgICAgICAgdjg6OkxvY2FsPHY4OjpP
YmplY3Q+IG9iamVjdCA9IGVsZW1lbnQtPmdldExpc3RlbmVyT2JqZWN0KCk7CisgICAgICAgIG9i
amVjdC0+RGVsZXRlSGlkZGVuVmFsdWUoZ2V0S2V5KGVsZW1lbnQtPmlzSW5saW5lKCkpKTsKKyAg
ICB9CisgICAgbV9saXN0LmNsZWFyKCk7Cit9CisKK1Y4RXZlbnRMaXN0ZW5lciogVjhFdmVudExp
c3RlbmVyTGlzdDo6ZmluZCh2ODo6TG9jYWw8djg6Ok9iamVjdD4gb2JqZWN0LCBib29sIGlzSW5s
aW5lKQoreworICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlID0gb2JqZWN0LT5HZXRIaWRk
ZW5WYWx1ZShnZXRLZXkoaXNJbmxpbmUpKTsKKyAgICBpZiAodmFsdWUuSXNFbXB0eSgpKQorICAg
ICAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxWOEV2ZW50TGlzdGVu
ZXIqPih2ODo6RXh0ZXJuYWw6OlVud3JhcCh2YWx1ZSkpOworfQorCit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RXZlbnRMaXN0ZW5lckxp
c3QuaCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhFdmVudExpc3RlbmVyTGlzdC5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRlMjEyMmQKLS0tIC9kZXYvbnVsbAorKysgYi9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RXZlbnRMaXN0ZW5lckxpc3QuaApAQCAtMCwwICsxLDY5IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICog
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUK
KyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIElu
Yy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
CisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2lmbmRlZiBWOEV2ZW50TGlzdGVuZXJMaXN0X2gKKyNkZWZpbmUgVjhFdmVudExpc3RlbmVyTGlz
dF9oCisKKyNpbmNsdWRlIDx2OC5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKworbmFtZXNw
YWNlIFdlYkNvcmUgeworICAgIGNsYXNzIFY4RXZlbnRMaXN0ZW5lcjsKKworICAgIC8vIFRoaXMg
aXMgYSBjb250YWluZXIgZm9yIFY4RXZlbnRMaXN0ZW5lciBvYmplY3RzIHRoYXQgYWxzbyBkb2Vz
IHNvbWUgY2FjaGluZyB0byBzcGVlZCB1cCBmaW5kaW5nIGVudHJpZXMgYnkgdjg6Ok9iamVjdC4K
KyAgICBjbGFzcyBWOEV2ZW50TGlzdGVuZXJMaXN0IHsKKyAgICBwdWJsaWM6CisgICAgICAgIHN0
YXRpYyBjb25zdCBzaXplX3QgbWF4S2V5TmFtZUxlbmd0aCA9IDI1NDsKKworICAgICAgICAvLyBU
aGUgbmFtZSBzaG91bGQgYmUgZGlzdGluY3QgZnJvbSBhbnkgb3RoZXIgVjhFdmVudExpc3RlbmVy
TGlzdCB3aXRoaW4gdGhlIHNhbWUgcHJvY2VzcywgYW5kIDw9IG1heEtleU5hbWVMZW5ndGggY2hh
cmFjdGVycy4KKyAgICAgICAgZXhwbGljaXQgVjhFdmVudExpc3RlbmVyTGlzdChjb25zdCBjaGFy
KiBuYW1lKTsKKyAgICAgICAgflY4RXZlbnRMaXN0ZW5lckxpc3QoKTsKKworICAgICAgICB0eXBl
ZGVmIFZlY3RvcjxWOEV2ZW50TGlzdGVuZXIqPjo6aXRlcmF0b3IgaXRlcmF0b3I7CisgICAgICAg
IFY4RXZlbnRMaXN0ZW5lckxpc3Q6Oml0ZXJhdG9yIGJlZ2luKCk7CisgICAgICAgIGl0ZXJhdG9y
IGVuZCgpOworCisgICAgICAgIC8vIEluIGFkZGl0aW9uIHRvIGFkZGluZyB0aGUgbGlzdGVuZXIg
dG8gdGhpcyBsaXN0LCB0aGlzIGFsc28gY2FjaGVzIHRoZSBWOEV2ZW50TGlzdGVuZXIgYXMgYSBo
aWRkZW4gcHJvcGVydHkgb24gaXRzIHdyYXBwZWQKKyAgICAgICAgLy8gdjggbGlzdGVuZXIgb2Jq
ZWN0LCBzbyB3ZSBjYW4gcXVpY2tseSBsb29rIGl0IHVwIGxhdGVyLgorICAgICAgICB2b2lkIGFk
ZChWOEV2ZW50TGlzdGVuZXIqKTsKKyAgICAgICAgdm9pZCByZW1vdmUoVjhFdmVudExpc3RlbmVy
Kik7CisgICAgICAgIFY4RXZlbnRMaXN0ZW5lciogZmluZCh2ODo6TG9jYWw8djg6Ok9iamVjdD4s
IGJvb2wgaXNJbmxpbmUpOworICAgICAgICB2b2lkIGNsZWFyKCk7CisKKyAgICBwcml2YXRlOgor
ICAgICAgICB2ODo6SGFuZGxlPHY4OjpTdHJpbmc+IGdldEtleShib29sIGlzSW5saW5lKTsKKyAg
ICAgICAgdjg6OlBlcnNpc3RlbnQ8djg6OlN0cmluZz4gbV9pbmxpbmVLZXk7CisgICAgICAgIHY4
OjpQZXJzaXN0ZW50PHY4OjpTdHJpbmc+IG1fbm9uSW5saW5lS2V5OworICAgICAgICBWZWN0b3I8
VjhFdmVudExpc3RlbmVyKj4gbV9saXN0OworICAgIH07CisKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKKworI2VuZGlmIC8vIFY4RXZlbnRMaXN0ZW5lckxpc3RfaAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>