<?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>152765</bug_id>
          
          <creation_ts>2016-01-05 17:08:15 -0800</creation_ts>
          <short_desc>[ES6] Boolean, Number, Map, RegExp, and Set should be subclassable</short_desc>
          <delta_ts>2016-01-15 10:40:58 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>142591</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Keith Miller">keith_miller</reporter>
          <assigned_to name="Keith Miller">keith_miller</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1152940</commentid>
    <comment_count>0</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2016-01-05 17:08:15 -0800</bug_when>
    <thetext>[ES6] Boolean, Number, Map, RegExp, and Set should be subclassable</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1152979</commentid>
    <comment_count>1</comment_count>
      <attachid>268351</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2016-01-05 20:45:27 -0800</bug_when>
    <thetext>Created attachment 268351
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1153063</commentid>
    <comment_count>2</comment_count>
      <attachid>268351</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2016-01-06 10:00:16 -0800</bug_when>
    <thetext>Comment on attachment 268351
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=268351&amp;action=review

&gt; Source/JavaScriptCore/tests/es6.yaml:1090
&gt; +  cmd: runES6 :normal

For some reason the other subclassing tests were already marked as passing. I&apos;m not sure why.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1153067</commentid>
    <comment_count>3</comment_count>
      <attachid>268351</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2016-01-06 10:11:01 -0800</bug_when>
    <thetext>Comment on attachment 268351
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=268351&amp;action=review

r=me with suggested changes.

&gt; Source/JavaScriptCore/runtime/BooleanConstructor.cpp:3
&gt; - *  Copyright (C) 2003, 2008 Apple Inc. All rights reserved.
&gt; + *  Copyright (C) 2003-2016 Apple Inc. All rights reserved.

I think you just want to add &quot;, 2016&quot; and not change it to a year range.

&gt; Source/JavaScriptCore/runtime/BooleanConstructor.h:3
&gt; - *  Copyright (C) 2008 Apple Inc. All rights reserved.
&gt; + *  Copyright (C) 2008-2016 Apple Inc. All rights reserved.

ditto

&gt; Source/JavaScriptCore/runtime/MapConstructor.cpp:2
&gt; - * Copyright (C) 2013 Apple Inc. All rights reserved.
&gt; + * Copyright (C) 2013-2016 Apple Inc. All rights reserved.

ditto

&gt; Source/JavaScriptCore/runtime/NumberConstructor.cpp:3
&gt; - *  Copyright (C) 2007, 2008, 2011, 2015 Apple Inc. All rights reserved.
&gt; + *  Copyright (C) 2007-2016 Apple Inc. All rights reserved.

ditto

&gt; Source/JavaScriptCore/runtime/RegExpConstructor.cpp:3
&gt; - *  Copyright (C) 2003, 2007, 2008 Apple Inc. All Rights Reserved.
&gt; + *  Copyright (C) 2003-2016 Apple Inc. All Rights Reserved.

ditto

&gt; Source/JavaScriptCore/runtime/SetConstructor.cpp:2
&gt; - * Copyright (C) 2013 Apple Inc. All rights reserved.
&gt; + * Copyright (C) 2013-2016 Apple Inc. All rights reserved.

ditto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1153071</commentid>
    <comment_count>4</comment_count>
      <attachid>268351</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2016-01-06 10:20:04 -0800</bug_when>
    <thetext>Comment on attachment 268351
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=268351&amp;action=review

&gt;&gt; Source/JavaScriptCore/runtime/BooleanConstructor.cpp:3
&gt;&gt; + *  Copyright (C) 2003-2016 Apple Inc. All rights reserved.
&gt; 
&gt; I think you just want to add &quot;, 2016&quot; and not change it to a year range.

Fixed.

&gt;&gt; Source/JavaScriptCore/runtime/BooleanConstructor.h:3
&gt;&gt; + *  Copyright (C) 2008-2016 Apple Inc. All rights reserved.
&gt; 
&gt; ditto

Fixed.

&gt;&gt; Source/JavaScriptCore/runtime/MapConstructor.cpp:2
&gt;&gt; + * Copyright (C) 2013-2016 Apple Inc. All rights reserved.
&gt; 
&gt; ditto

Fixed.

&gt;&gt; Source/JavaScriptCore/runtime/NumberConstructor.cpp:3
&gt;&gt; + *  Copyright (C) 2007-2016 Apple Inc. All rights reserved.
&gt; 
&gt; ditto

Fixed.

&gt;&gt; Source/JavaScriptCore/runtime/RegExpConstructor.cpp:3
&gt;&gt; + *  Copyright (C) 2003-2016 Apple Inc. All Rights Reserved.
&gt; 
&gt; ditto

Fixed.

&gt;&gt; Source/JavaScriptCore/runtime/SetConstructor.cpp:2
&gt;&gt; + * Copyright (C) 2013-2016 Apple Inc. All rights reserved.
&gt; 
&gt; ditto

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1153075</commentid>
    <comment_count>5</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2016-01-06 10:25:29 -0800</bug_when>
    <thetext>Committed r194643: &lt;http://trac.webkit.org/changeset/194643&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1155822</commentid>
    <comment_count>6</comment_count>
      <attachid>268351</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-01-15 10:29:40 -0800</bug_when>
    <thetext>Comment on attachment 268351
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=268351&amp;action=review

&gt; Source/JavaScriptCore/runtime/BooleanConstructor.cpp:53
&gt; +    JSValue prototype = JSValue();

This is the same thing as:

    JSValue prototype;

Just more wordy. Would be nice to clean that up.

&gt; Source/JavaScriptCore/runtime/MapConstructor.cpp:56
&gt; +    JSValue prototype = JSValue();

Ditto.

&gt; Source/JavaScriptCore/runtime/NumberConstructor.cpp:85
&gt; +    JSValue prototype = JSValue();

Ditto.

&gt; Source/JavaScriptCore/runtime/SetConstructor.cpp:57
&gt; +    JSValue prototype = JSValue();

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1155826</commentid>
    <comment_count>7</comment_count>
      <attachid>268351</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2016-01-15 10:40:58 -0800</bug_when>
    <thetext>Comment on attachment 268351
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=268351&amp;action=review

&gt;&gt; Source/JavaScriptCore/runtime/BooleanConstructor.cpp:53
&gt;&gt; +    JSValue prototype = JSValue();
&gt; 
&gt; This is the same thing as:
&gt; 
&gt;     JSValue prototype;
&gt; 
&gt; Just more wordy. Would be nice to clean that up.

I actually moved all the new.target.prototype stuff into a helper function in &lt;http://trac.webkit.org/changeset/194863&gt;. So it&apos;s already gone but I will look through some of my other patches and see if I put &quot;JSValue prototype = JSValue();&quot; anywhere else.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>268351</attachid>
            <date>2016-01-05 20:45:27 -0800</date>
            <delta_ts>2016-01-06 10:11:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-152765-20160105204455.patch</filename>
            <type>text/plain</type>
            <size>13333</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk0NjE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
NmQyYTJmNjJjMjcxNGJiZWIzZjFmZThhZjAwY2JmM2Q3MTY4ZWUyLi43MDEwNTBjOTUzOGQ0ZjVi
OTc0MTFiNWU2ZDczNDIxZmI1MTdiMzRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwzNiBAQAogMjAxNi0wMS0wNSAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxl
LmNvbT4KIAorICAgICAgICBbRVM2XSBCb29sZWFuLCBOdW1iZXIsIE1hcCwgUmVnRXhwLCBhbmQg
U2V0IHNob3VsZCBiZSBzdWJjbGFzc2FibGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE1Mjc2NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggZW5hYmxlcyBzdWJjbGFzc2luZyBvZiBmaXZl
IG1vcmUgYnVpbHRpbnM6IEJvb2xlYW4sIE51bWJlciwgTWFwLCBSZWdFeHAsIGFuZCBTZXQuCisK
KyAgICAgICAgKiBydW50aW1lL0Jvb2xlYW5Db25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6
OmNvbnN0cnVjdFdpdGhCb29sZWFuQ29uc3RydWN0b3IpOgorICAgICAgICAoSlNDOjpjb25zdHJ1
Y3RCb29sZWFuKTogRGVsZXRlZC4KKyAgICAgICAgKiBydW50aW1lL0Jvb2xlYW5Db25zdHJ1Y3Rv
ci5oOgorICAgICAgICAqIHJ1bnRpbWUvTWFwQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlND
Ojpjb25zdHJ1Y3RNYXApOgorICAgICAgICAqIHJ1bnRpbWUvTnVtYmVyQ29uc3RydWN0b3IuY3Bw
OgorICAgICAgICAoSlNDOjpjb25zdHJ1Y3RXaXRoTnVtYmVyQ29uc3RydWN0b3IpOgorICAgICAg
ICAqIHJ1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpnZXRSZWdF
eHBTdHJ1Y3R1cmUpOgorICAgICAgICAoSlNDOjpjb25zdHJ1Y3RSZWdFeHApOgorICAgICAgICAq
IHJ1bnRpbWUvU2V0Q29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpjb25zdHJ1Y3RTZXQp
OgorICAgICAgICAqIHRlc3RzL2VzNi55YW1sOgorICAgICAgICAqIHRlc3RzL3N0cmVzcy9jbGFz
cy1zdWJjbGFzc2luZy1taXNjLmpzOiBBZGRlZC4KKyAgICAgICAgKEIpOgorICAgICAgICAoTik6
CisgICAgICAgIChNKToKKyAgICAgICAgKFIpOgorICAgICAgICAoUyk6CisgICAgICAgICh0ZXN0
KToKKworMjAxNi0wMS0wNSAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxlLmNvbT4K
KwogICAgICAgICBVbnJldmlld2VkIGJ1aWxkIGZpeC4gQSBzeW1ib2wgd2FzIGJlaW5nIGV4cG9y
dGVkIHRoYXQgc2hvdWxkIG5vdCBoYXZlIGJlZW4uCiAKICAgICAgICAgKiBydW50aW1lL1N0cnVj
dHVyZS5oOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVh
bkNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5D
b25zdHJ1Y3Rvci5jcHAKaW5kZXggMGEyNTA3NjBkMDZiNGJkNzc5MTEzM2RiMzkxYzFjZjg0NzAz
Y2ZlYi4uOTBjNDk2ODY2MmE1MGFlMzA5Mjc3OWJlYWNkYWE5NWE5ZGE0ZmQ5NyAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhbkNvbnN0cnVjdG9yLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFuQ29uc3RydWN0b3IuY3Bw
CkBAIC0xLDYgKzEsNiBAQAogLyoKICAqICBDb3B5cmlnaHQgKEMpIDE5OTktMjAwMCBIYXJyaSBQ
b3J0ZW4gKHBvcnRlbkBrZGUub3JnKQotICogIENvcHlyaWdodCAoQykgMjAwMywgMjAwOCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiAgQ29weXJpZ2h0IChDKSAyMDAzLTIwMTYg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqICBUaGlzIGxpYnJhcnkgaXMg
ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiAgbW9kaWZ5
IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwpAQCAt
NDYsMTcgKzQ2LDE4IEBAIHZvaWQgQm9vbGVhbkNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihW
TSYgdm0sIEJvb2xlYW5Qcm90b3R5cGUqIGJvb2xlYW5Qcm90b3R5CiB9CiAKIC8vIEVDTUEgMTUu
Ni4yCi1KU09iamVjdCogY29uc3RydWN0Qm9vbGVhbihFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IEFy
Z0xpc3QmIGFyZ3MpCi17Ci0gICAgQm9vbGVhbk9iamVjdCogb2JqID0gQm9vbGVhbk9iamVjdDo6
Y3JlYXRlKGV4ZWMtPnZtKCksIGFzSW50ZXJuYWxGdW5jdGlvbihleGVjLT5jYWxsZWUoKSktPmds
b2JhbE9iamVjdCgpLT5ib29sZWFuT2JqZWN0U3RydWN0dXJlKCkpOwotICAgIG9iai0+c2V0SW50
ZXJuYWxWYWx1ZShleGVjLT52bSgpLCBqc0Jvb2xlYW4oYXJncy5hdCgwKS50b0Jvb2xlYW4oZXhl
YykpKTsKLSAgICByZXR1cm4gb2JqOwotfQotCiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hP
U1RfQ0FMTCBjb25zdHJ1Y3RXaXRoQm9vbGVhbkNvbnN0cnVjdG9yKEV4ZWNTdGF0ZSogZXhlYykK
IHsKLSAgICBBcmdMaXN0IGFyZ3MoZXhlYyk7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShj
b25zdHJ1Y3RCb29sZWFuKGV4ZWMsIGFyZ3MpKTsKKyAgICBKU1ZhbHVlIGJvb2xlYW4gPSBqc0Jv
b2xlYW4oZXhlYy0+YXJndW1lbnQoMCkudG9Cb29sZWFuKGV4ZWMpKTsKKworICAgIEpTVmFsdWUg
cHJvdG90eXBlID0gSlNWYWx1ZSgpOworICAgIEpTVmFsdWUgbmV3VGFyZ2V0ID0gZXhlYy0+bmV3
VGFyZ2V0KCk7CisgICAgaWYgKG5ld1RhcmdldCAhPSBleGVjLT5jYWxsZWUoKSkKKyAgICAgICAg
cHJvdG90eXBlID0gbmV3VGFyZ2V0LmdldChleGVjLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkucHJv
dG90eXBlKTsKKworICAgIEJvb2xlYW5PYmplY3QqIG9iaiA9IEJvb2xlYW5PYmplY3Q6OmNyZWF0
ZShleGVjLT52bSgpLCBTdHJ1Y3R1cmU6OmNyZWF0ZVN1YmNsYXNzU3RydWN0dXJlKGV4ZWMtPnZt
KCksIGFzSW50ZXJuYWxGdW5jdGlvbihleGVjLT5jYWxsZWUoKSktPmdsb2JhbE9iamVjdCgpLT5i
b29sZWFuT2JqZWN0U3RydWN0dXJlKCksIHByb3RvdHlwZSkpOworICAgIG9iai0+c2V0SW50ZXJu
YWxWYWx1ZShleGVjLT52bSgpLCBib29sZWFuKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2Rl
KG9iaik7CiB9CiAKIENvbnN0cnVjdFR5cGUgQm9vbGVhbkNvbnN0cnVjdG9yOjpnZXRDb25zdHJ1
Y3REYXRhKEpTQ2VsbCosIENvbnN0cnVjdERhdGEmIGNvbnN0cnVjdERhdGEpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFuQ29uc3RydWN0b3IuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5Db25zdHJ1Y3Rvci5oCmluZGV4IDE3
N2Y2OWU1Y2I0ODJjYTVjZDNjZDUwNmFkMWE0MDMyNzAzODc3NzIuLjBjYjg5ZDEwOTRkMGQwZjZm
YTMyMDg0MzA0ZWU5Y2U2NDI5YTVmYjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0Jvb2xlYW5Db25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0Jvb2xlYW5Db25zdHJ1Y3Rvci5oCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqICBD
b3B5cmlnaHQgKEMpIDE5OTktMjAwMCBIYXJyaSBQb3J0ZW4gKHBvcnRlbkBrZGUub3JnKQotICog
IENvcHlyaWdodCAoQykgMjAwOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiAg
Q29weXJpZ2h0IChDKSAyMDA4LTIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
ICoKICAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1
dGUgaXQgYW5kL29yCiAgKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExl
c3NlciBHZW5lcmFsIFB1YmxpYwpAQCAtNTUsNyArNTUsNiBAQCBwcml2YXRlOgogfTsKIAogSlNP
YmplY3QqIGNvbnN0cnVjdEJvb2xlYW5Gcm9tSW1tZWRpYXRlQm9vbGVhbihFeGVjU3RhdGUqLCBK
U0dsb2JhbE9iamVjdCosIEpTVmFsdWUpOwotSlNPYmplY3QqIGNvbnN0cnVjdEJvb2xlYW4oRXhl
Y1N0YXRlKiwgY29uc3QgQXJnTGlzdCYpOwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKIApkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFwQ29uc3RydWN0b3IuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFwQ29uc3RydWN0b3IuY3BwCmluZGV4IGZh
ZDUyYzA1NjA0OGUxOGI3ZWVjNDk4ZmYxNDk1M2ZkOTBmY2ZlZGQuLjBlYzE4NmVkZmI1NDc4MmM1
NTExNGJmMTZlOTAzMzA4MzljYTBmMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL01hcENvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9NYXBDb25zdHJ1Y3Rvci5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJp
Z2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgMjAxMy0yMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNTMsOCArNTMsMTQgQEAgc3RhdGljIEVuY29kZWRK
U1ZhbHVlIEpTQ19IT1NUX0NBTEwgY2FsbE1hcChFeGVjU3RhdGUqIGV4ZWMpCiAKIHN0YXRpYyBF
bmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGNvbnN0cnVjdE1hcChFeGVjU3RhdGUqIGV4ZWMp
CiB7CisgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBKU1ZhbHVlKCk7CisgICAgSlNWYWx1ZSBuZXdU
YXJnZXQgPSBleGVjLT5uZXdUYXJnZXQoKTsKKworICAgIGlmIChuZXdUYXJnZXQgIT0gZXhlYy0+
Y2FsbGVlKCkpCisgICAgICAgIHByb3RvdHlwZSA9IG5ld1RhcmdldC5nZXQoZXhlYywgZXhlYy0+
cHJvcGVydHlOYW1lcygpLnByb3RvdHlwZSk7CisKICAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0ID0gYXNJbnRlcm5hbEZ1bmN0aW9uKGV4ZWMtPmNhbGxlZSgpKS0+Z2xvYmFsT2JqZWN0
KCk7Ci0gICAgU3RydWN0dXJlKiBtYXBTdHJ1Y3R1cmUgPSBnbG9iYWxPYmplY3QtPm1hcFN0cnVj
dHVyZSgpOworICAgIFN0cnVjdHVyZSogbWFwU3RydWN0dXJlID0gU3RydWN0dXJlOjpjcmVhdGVT
dWJjbGFzc1N0cnVjdHVyZShleGVjLT52bSgpLCBnbG9iYWxPYmplY3QtPm1hcFN0cnVjdHVyZSgp
LCBwcm90b3R5cGUpOwogICAgIEpTTWFwKiBtYXAgPSBKU01hcDo6Y3JlYXRlKGV4ZWMsIG1hcFN0
cnVjdHVyZSk7CiAgICAgSlNWYWx1ZSBpdGVyYWJsZSA9IGV4ZWMtPmFyZ3VtZW50KDApOwogICAg
IGlmIChpdGVyYWJsZS5pc1VuZGVmaW5lZE9yTnVsbCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyQ29uc3RydWN0b3IuY3BwCmluZGV4IDJiNmFjNGZjOWE4
MWI5ODFlMzk5ZDIxZTdlYmY2MTdhMmIzMjUxZTIuLjE1NGMwZDBmZDhhNjFlZTA0ODg1OWVmMGEz
YWUzNDAwMDA4ZTBjN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L051bWJlckNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9OdW1iZXJDb25zdHJ1Y3Rvci5jcHAKQEAgLTEsNiArMSw2IEBACiAvKgogICogIENvcHlyaWdo
dCAoQykgMTk5OS0yMDAwLDIwMDMgSGFycmkgUG9ydGVuIChwb3J0ZW5Aa2RlLm9yZykKLSAqICBD
b3B5cmlnaHQgKEMpIDIwMDcsIDIwMDgsIDIwMTEsIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogIENvcHlyaWdodCAoQykgMjAwNy0yMDE2IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KICAqCiAgKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlv
dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVy
bXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKQEAgLTI3LDYgKzI3LDcgQEAKICNp
bmNsdWRlICJOdW1iZXJQcm90b3R5cGUuaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCiAjaW5j
bHVkZSAiSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuaCIKKyNpbmNsdWRlICJTdHJ1Y3R1cmVJbmxp
bmVzLmgiCiAKIG5hbWVzcGFjZSBKU0MgewogCkBAIC03OSw4ICs4MCwxNSBAQCB2b2lkIE51bWJl
ckNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIE51bWJlclByb3RvdHlwZSogbnVt
YmVyUHJvdG90eXBlKQogLy8gRUNNQSAxNS43LjEKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0Nf
SE9TVF9DQUxMIGNvbnN0cnVjdFdpdGhOdW1iZXJDb25zdHJ1Y3RvcihFeGVjU3RhdGUqIGV4ZWMp
CiB7Ci0gICAgTnVtYmVyT2JqZWN0KiBvYmplY3QgPSBOdW1iZXJPYmplY3Q6OmNyZWF0ZShleGVj
LT52bSgpLCBhc0ludGVybmFsRnVuY3Rpb24oZXhlYy0+Y2FsbGVlKCkpLT5nbG9iYWxPYmplY3Qo
KS0+bnVtYmVyT2JqZWN0U3RydWN0dXJlKCkpOwogICAgIGRvdWJsZSBuID0gZXhlYy0+YXJndW1l
bnRDb3VudCgpID8gZXhlYy0+dW5jaGVja2VkQXJndW1lbnQoMCkudG9OdW1iZXIoZXhlYykgOiAw
OworCisgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBKU1ZhbHVlKCk7CisgICAgSlNWYWx1ZSBuZXdU
YXJnZXQgPSBleGVjLT5uZXdUYXJnZXQoKTsKKyAgICBpZiAobmV3VGFyZ2V0ICE9IGV4ZWMtPmNh
bGxlZSgpKQorICAgICAgICBwcm90b3R5cGUgPSBuZXdUYXJnZXQuZ2V0KGV4ZWMsIGV4ZWMtPnBy
b3BlcnR5TmFtZXMoKS5wcm90b3R5cGUpOworCisgICAgTnVtYmVyT2JqZWN0KiBvYmplY3QgPSBO
dW1iZXJPYmplY3Q6OmNyZWF0ZShleGVjLT52bSgpLCBTdHJ1Y3R1cmU6OmNyZWF0ZVN1YmNsYXNz
U3RydWN0dXJlKGV4ZWMtPnZtKCksIGFzSW50ZXJuYWxGdW5jdGlvbihleGVjLT5jYWxsZWUoKSkt
Pmdsb2JhbE9iamVjdCgpLT5udW1iZXJPYmplY3RTdHJ1Y3R1cmUoKSwgcHJvdG90eXBlKSk7CisK
ICAgICBvYmplY3QtPnNldEludGVybmFsVmFsdWUoZXhlYy0+dm0oKSwganNOdW1iZXIobikpOwog
ICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUob2JqZWN0KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmNwcAppbmRleCBlZTFkOGIz
ZmM2OWY5NDNiOTRhNTI1OWNmN2MxODZjYWM2MzczZjc0Li5jOGFiNGFlOTJmMGZmYWY1ZmViNzdl
NjM3YzdjNWNmNzQ3ZTE3NTg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuY3BwCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqICBDb3B5
cmlnaHQgKEMpIDE5OTktMjAwMCBIYXJyaSBQb3J0ZW4gKHBvcnRlbkBrZGUub3JnKQotICogIENv
cHlyaWdodCAoQykgMjAwMywgMjAwNywgMjAwOCBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2
ZWQuCisgKiAgQ29weXJpZ2h0IChDKSAyMDAzLTIwMTYgQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJl
c2VydmVkLgogICogIENvcHlyaWdodCAoQykgMjAwOSBUb3JjaCBNb2JpbGUsIEluYy4KICAqCiAg
KiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0
IGFuZC9vcgpAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNs
dWRlICJSZWdFeHBNYXRjaGVzQXJyYXkuaCIKICNpbmNsdWRlICJSZWdFeHBQcm90b3R5cGUuaCIK
KyNpbmNsdWRlICJTdHJ1Y3R1cmVJbmxpbmVzLmgiCiAKIG5hbWVzcGFjZSBKU0MgewogCkBAIC0y
NDIsNiArMjQzLDE2IEBAIHZvaWQgc2V0UmVnRXhwQ29uc3RydWN0b3JNdWx0aWxpbmUoRXhlY1N0
YXRlKiBleGVjLCBKU09iamVjdCogYmFzZU9iamVjdCwgRW5jb2RlCiAgICAgICAgIGNvbnN0cnVj
dG9yLT5zZXRNdWx0aWxpbmUoSlNWYWx1ZTo6ZGVjb2RlKHZhbHVlKS50b0Jvb2xlYW4oZXhlYykp
OwogfQogCitpbmxpbmUgU3RydWN0dXJlKiBnZXRSZWdFeHBTdHJ1Y3R1cmUoRXhlY1N0YXRlKiBl
eGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBib29sIGNhbGxBc0NvbnN0cnVjdG9y
KQoreworICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gZ2xvYmFsT2JqZWN0LT5yZWdFeHBTdHJ1
Y3R1cmUoKTsKKyAgICBpZiAoY2FsbEFzQ29uc3RydWN0b3IgJiYgZXhlYy0+bmV3VGFyZ2V0KCkg
IT0gZXhlYy0+Y2FsbGVlKCkpIHsKKyAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBleGVjLT5u
ZXdUYXJnZXQoKS5nZXQoZXhlYywgZXhlYy0+cHJvcGVydHlOYW1lcygpLnByb3RvdHlwZSk7Cisg
ICAgICAgIHN0cnVjdHVyZSA9IFN0cnVjdHVyZTo6Y3JlYXRlU3ViY2xhc3NTdHJ1Y3R1cmUoZXhl
Yy0+dm0oKSwgc3RydWN0dXJlLCBwcm90b3R5cGUpOworICAgIH0KKyAgICByZXR1cm4gc3RydWN0
dXJlOworfQorCiAvLyBFQ01BIDE1LjEwLjQKIEpTT2JqZWN0KiBjb25zdHJ1Y3RSZWdFeHAoRXhl
Y1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBjb25zdCBBcmdMaXN0
JiBhcmdzLCBib29sIGNhbGxBc0NvbnN0cnVjdG9yKQogewpAQCAtMjU0LDcgKzI2NSw4IEBAIEpT
T2JqZWN0KiBjb25zdHJ1Y3RSZWdFeHAoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBjb25zdCBBCiAgICAgICAgIC8vIElmIGNhbGxlZCBhcyBhIGZ1bmN0aW9u
LCB0aGlzIGp1c3QgcmV0dXJucyB0aGUgZmlyc3QgYXJndW1lbnQgKHNlZSAxNS4xMC4zLjEpLgog
ICAgICAgICBpZiAoY2FsbEFzQ29uc3RydWN0b3IpIHsKICAgICAgICAgICAgIFJlZ0V4cCogcmVn
RXhwID0gc3RhdGljX2Nhc3Q8UmVnRXhwT2JqZWN0Kj4oYXNPYmplY3QoYXJnMCkpLT5yZWdFeHAo
KTsKLSAgICAgICAgICAgIHJldHVybiBSZWdFeHBPYmplY3Q6OmNyZWF0ZShleGVjLT52bSgpLCBn
bG9iYWxPYmplY3QtPnJlZ0V4cFN0cnVjdHVyZSgpLCByZWdFeHApOworCisgICAgICAgICAgICBy
ZXR1cm4gUmVnRXhwT2JqZWN0OjpjcmVhdGUoZXhlYy0+dm0oKSwgZ2V0UmVnRXhwU3RydWN0dXJl
KGV4ZWMsIGdsb2JhbE9iamVjdCwgY2FsbEFzQ29uc3RydWN0b3IpLCByZWdFeHApOwogICAgICAg
ICB9CiAgICAgICAgIHJldHVybiBhc09iamVjdChhcmcwKTsKICAgICB9CkBAIC0yNzYsNyArMjg4
LDggQEAgSlNPYmplY3QqIGNvbnN0cnVjdFJlZ0V4cChFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IEEKICAgICBSZWdFeHAqIHJlZ0V4cCA9IFJlZ0V4
cDo6Y3JlYXRlKHZtLCBwYXR0ZXJuLCBmbGFncyk7CiAgICAgaWYgKCFyZWdFeHAtPmlzVmFsaWQo
KSkKICAgICAgICAgcmV0dXJuIHZtLnRocm93RXhjZXB0aW9uKGV4ZWMsIGNyZWF0ZVN5bnRheEVy
cm9yKGV4ZWMsIHJlZ0V4cC0+ZXJyb3JNZXNzYWdlKCkpKTsKLSAgICByZXR1cm4gUmVnRXhwT2Jq
ZWN0OjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdC0+cmVnRXhwU3RydWN0dXJlKCksIHJlZ0V4cCk7
CisKKyAgICByZXR1cm4gUmVnRXhwT2JqZWN0OjpjcmVhdGUodm0sIGdldFJlZ0V4cFN0cnVjdHVy
ZShleGVjLCBnbG9iYWxPYmplY3QsIGNhbGxBc0NvbnN0cnVjdG9yKSwgcmVnRXhwKTsKIH0KIAog
c3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgY29uc3RydWN0V2l0aFJlZ0V4cENv
bnN0cnVjdG9yKEV4ZWNTdGF0ZSogZXhlYykKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1NldENvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1NldENvbnN0cnVjdG9yLmNwcAppbmRleCBmYjk3YjZkOWZhMGQwZWU2M2ExZDUyYTk4
ODdlYzc3Njk4Zjc1M2RmLi41NmYxOWE3ODdhYWRhNTY3NzgxMTRhNTQyODA4MTg2ZTU3Yzc2M2Iz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TZXRDb25zdHJ1Y3Rv
ci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2V0Q29uc3RydWN0b3Iu
Y3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMtMjAxNiBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
QEAgLTU0LDggKzU0LDE0IEBAIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGNh
bGxTZXQoRXhlY1N0YXRlKiBleGVjKQogCiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1Rf
Q0FMTCBjb25zdHJ1Y3RTZXQoRXhlY1N0YXRlKiBleGVjKQogeworICAgIEpTVmFsdWUgcHJvdG90
eXBlID0gSlNWYWx1ZSgpOworICAgIEpTVmFsdWUgbmV3VGFyZ2V0ID0gZXhlYy0+bmV3VGFyZ2V0
KCk7CisKKyAgICBpZiAobmV3VGFyZ2V0ICE9IGV4ZWMtPmNhbGxlZSgpKQorICAgICAgICBwcm90
b3R5cGUgPSBuZXdUYXJnZXQuZ2V0KGV4ZWMsIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5wcm90b3R5
cGUpOworCiAgICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IGFzSW50ZXJuYWxGdW5j
dGlvbihleGVjLT5jYWxsZWUoKSktPmdsb2JhbE9iamVjdCgpOwotICAgIFN0cnVjdHVyZSogc2V0
U3RydWN0dXJlID0gZ2xvYmFsT2JqZWN0LT5zZXRTdHJ1Y3R1cmUoKTsKKyAgICBTdHJ1Y3R1cmUq
IHNldFN0cnVjdHVyZSA9IFN0cnVjdHVyZTo6Y3JlYXRlU3ViY2xhc3NTdHJ1Y3R1cmUoZXhlYy0+
dm0oKSwgZ2xvYmFsT2JqZWN0LT5zZXRTdHJ1Y3R1cmUoKSwgcHJvdG90eXBlKTsKICAgICBKU1Nl
dCogc2V0ID0gSlNTZXQ6OmNyZWF0ZShleGVjLCBzZXRTdHJ1Y3R1cmUpOwogICAgIEpTVmFsdWUg
aXRlcmFibGUgPSBleGVjLT5hcmd1bWVudCgwKTsKICAgICBpZiAoaXRlcmFibGUuaXNVbmRlZmlu
ZWRPck51bGwoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9lczYu
eWFtbCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9lczYueWFtbAppbmRleCA0NDNiZmE3
NmNhYTUxYWQxMzhlNjMyYjg4ZDZiZGFkMjM0YTJiN2U0Li40NGU5MGFmMTI2MDAwN2NjNTgzM2Jl
NWZmNDkzMzk1MzI0YzlhYjgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVz
dHMvZXM2LnlhbWwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL2VzNi55YW1sCkBA
IC0xMDg3LDcgKzEwODcsNyBAQAogLSBwYXRoOiBlczYvUmVnRXhwLnByb3RvdHlwZV9wcm9wZXJ0
aWVzX1JlZ0V4cFtTeW1ib2wuc3BlY2llc10uanMKICAgY21kOiBydW5FUzYgOmZhaWwKIC0gcGF0
aDogZXM2L1JlZ0V4cF9pc19zdWJjbGFzc2FibGVfY29ycmVjdF9wcm90b3R5cGVfY2hhaW4uanMK
LSAgY21kOiBydW5FUzYgOmZhaWwKKyAgY21kOiBydW5FUzYgOm5vcm1hbAogLSBwYXRoOiBlczYv
UmVnRXhwX3lfYW5kX3VfZmxhZ3NfdV9mbGFnLmpzCiAgIGNtZDogcnVuRVM2IDpmYWlsCiAtIHBh
dGg6IGVzNi9SZWdFeHBfeV9hbmRfdV9mbGFnc191X2ZsYWdfVW5pY29kZV9jb2RlX3BvaW50X2Vz
Y2FwZXMuanMKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mv
Y2xhc3Mtc3ViY2xhc3NpbmctbWlzYy5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9z
dHJlc3MvY2xhc3Mtc3ViY2xhc3NpbmctbWlzYy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NWYwNmUwYzVkZWE4
Y2ZkYTBkNmY2YWJmZjAyZDZiMWYzODE3YTY2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9jbGFzcy1zdWJjbGFzc2luZy1taXNjLmpzCkBAIC0w
LDAgKzEsMzQgQEAKKy8vIFRoaXMgZmlsZSB0ZXN0cyBzdWJjbGFzc2luZyB2YXJpb3VzIG1pc2Mg
Y29uc3RydWN0b3JzLgorCitjbGFzcyBCIGV4dGVuZHMgQm9vbGVhbiB7IH0KK2NsYXNzIE4gZXh0
ZW5kcyBOdW1iZXIgeyB9CitjbGFzcyBNIGV4dGVuZHMgTWFwIHsgfQorY2xhc3MgUiBleHRlbmRz
IFJlZ0V4cCB7IH0KK2NsYXNzIFMgZXh0ZW5kcyBTZXQgeyB9CisKK2Z1bmN0aW9uIHRlc3QoKSB7
CisKKyAgICBiID0gbmV3IEIodHJ1ZSk7CisgICAgaWYgKCEoYiBpbnN0YW5jZW9mIEJvb2xlYW4g
JiYgYiBpbnN0YW5jZW9mIEIpKQorICAgICAgICB0aHJvdyAiYiBoYXMgaW5jb3JyZWN0IHByb3Rv
dHlwZSBjaGFpbiI7CisgICAgCisgICAgbiA9IG5ldyBOKDEwKTsKKyAgICBpZiAoIShuIGluc3Rh
bmNlb2YgTnVtYmVyICYmIG4gaW5zdGFuY2VvZiBOKSkKKyAgICAgICAgdGhyb3cgIm4gaGFzIGlu
Y29ycmVjdCBwcm90b3R5cGUgY2hhaW4iOworCisgICAgbSA9IG5ldyBNKCk7CisgICAgaWYgKCEo
bSBpbnN0YW5jZW9mIE1hcCAmJiBtIGluc3RhbmNlb2YgTSkpCisgICAgICAgIHRocm93ICJtIGhh
cyBpbmNvcnJlY3QgcHJvdG90eXBlIGNoYWluIjsKKworICAgIHIgPSBuZXcgUigiZm9vIik7Cisg
ICAgaWYgKCEociBpbnN0YW5jZW9mIFJlZ0V4cCAmJiByIGluc3RhbmNlb2YgUikpCisgICAgICAg
IHRocm93ICJyIGhhcyBpbmNvcnJlY3QgcHJvdG90eXBlIGNoYWluIjsKKworICAgIHMgPSBuZXcg
UygpOworICAgIGlmICghKHMgaW5zdGFuY2VvZiBTZXQgJiYgcyBpbnN0YW5jZW9mIFMpKQorICAg
ICAgICB0aHJvdyAicyBoYXMgaW5jb3JyZWN0IHByb3RvdHlwZSBjaGFpbiI7Cit9Citub0lubGlu
ZSh0ZXN0KTsKKworZm9yKGkgPSAwOyBpIDwgMTAwMDA7IGkrKykKKyAgICB0ZXN0KCk7Cg==
</data>
<flag name="review"
          id="293288"
          type_id="1"
          status="+"
          setter="msaboff"
    />
          </attachment>
      

    </bug>

</bugzilla>