<?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>157185</bug_id>
          
          <creation_ts>2016-04-29 09:36:35 -0700</creation_ts>
          <short_desc>Add a default &quot;.isolatedCopy()&quot; specialization to CrossThreadCopier, and other small cleanup</short_desc>
          <delta_ts>2016-04-29 10:05:28 -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>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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brady Eidson">beidson</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1188649</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-04-29 09:36:35 -0700</bug_when>
    <thetext>Add a default &quot;.isolatedCopy()&quot; specialization to CrossThreadCopier

This greatly simplifies the CrossThreadCopier code with what has become a de-facto best practice, and removes lots of code in the process</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1188653</commentid>
    <comment_count>1</comment_count>
      <attachid>277708</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-04-29 09:39:36 -0700</bug_when>
    <thetext>Created attachment 277708
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1188665</commentid>
    <comment_count>2</comment_count>
      <attachid>277708</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2016-04-29 09:57:40 -0700</bug_when>
    <thetext>Comment on attachment 277708
Patch v1

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

&gt; Source/WebCore/platform/CrossThreadCopier.cpp:139
&gt; +COMPILE_ASSERT((std::is_same&lt;int, CrossThreadCopier&lt;PassRefPtr&lt;CopierRefCountedTest&gt;&gt;::Type&gt;::value), PassRefPtrRefCountedTest);
&gt; +COMPILE_ASSERT((std::is_same&lt;int, CrossThreadCopier&lt;RefPtr&lt;CopierRefCountedTest&gt;&gt;::Type&gt;::value), RefPtrRefCountedTest);
&gt; +COMPILE_ASSERT((std::is_same&lt;int, CrossThreadCopier&lt;CopierRefCountedTest*&gt;::Type&gt;::value), RawPointerRefCountedTest);

Please change these to static_asserts while you&apos;re at it.

&gt; Source/WebCore/platform/CrossThreadCopier.h:105
&gt; +    WEBCORE_EXPORT static T copy(const T&amp; value)

Does this really need to be WEBCORE_EXPORT?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1188667</commentid>
    <comment_count>3</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-04-29 09:58:56 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Comment on attachment 277708 [details]
&gt; Patch v1
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=277708&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/CrossThreadCopier.h:105
&gt; &gt; +    WEBCORE_EXPORT static T copy(const T&amp; value)
&gt; 
&gt; Does this really need to be WEBCORE_EXPORT?

I&apos;ll double check.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1188668</commentid>
    <comment_count>4</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-04-29 09:59:28 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (In reply to comment #2)
&gt; &gt; Comment on attachment 277708 [details]
&gt; &gt; Patch v1
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=277708&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/platform/CrossThreadCopier.h:105
&gt; &gt; &gt; +    WEBCORE_EXPORT static T copy(const T&amp; value)
&gt; &gt; 
&gt; &gt; Does this really need to be WEBCORE_EXPORT?
&gt; 
&gt; I&apos;ll double check.

(Since it&apos;s templates in a header, probably not)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1188673</commentid>
    <comment_count>5</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-04-29 10:05:28 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/200249</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>277708</attachid>
            <date>2016-04-29 09:39:36 -0700</date>
            <delta_ts>2016-04-29 09:57:40 -0700</delta_ts>
            <desc>Patch v1</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>16994</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBiZjZjNGZkLi4zMmYyYWI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcg
QEAKKzIwMTYtMDQtMjkgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAg
ICAgIEFkZCBhIGRlZmF1bHQgIi5pc29sYXRlZENvcHkoKSIgc3BlY2lhbGl6YXRpb24gdG8gQ3Jv
c3NUaHJlYWRDb3BpZXIsIGFuZCBvdGhlciBzbWFsbCBjbGVhbnVwLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU3MTg1CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChDb2RlIGNsZWFu
dXAsIG5vIGNoYW5nZSBpbiBiZWhhdmlvcikuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9Dcm9zc1Ro
cmVhZENvcGllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbmRleGVkREI6OlRyYW5zYWN0aW9u
TW9kZT46OmNvcHkpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6SW5kZXhlZERCOjpDdXJz
b3JEaXJlY3Rpb24+Ojpjb3B5KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkluZGV4ZWRE
Qjo6Q3Vyc29yVHlwZT46OmNvcHkpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6SURCR2V0
UmVzdWx0Pjo6Y29weSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpJREJLZXlEYXRhPjo6
Y29weSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpJREJLZXlSYW5nZURhdGE+Ojpjb3B5
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OklEQkRhdGFiYXNlSW5mbz46OmNvcHkpOiBE
ZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6SURCRGF0YWJhc2VJZGVudGlmaWVyPjo6Y29weSk6
IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpJREJUcmFuc2FjdGlvbkluZm8+Ojpjb3B5KTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmllcj46OmNvcHkp
OiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6SURCRXJyb3I+Ojpjb3B5KTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OklEQk9iamVjdFN0b3JlSW5mbz46OmNvcHkpOiBEZWxldGVkLgor
ICAgICAgICAoV2ViQ29yZTo6SURCSW5kZXhJbmZvPjo6Y29weSk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjpJREJDdXJzb3JJbmZvPjo6Y29weSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJD
b3JlOjpJREJWYWx1ZT46OmNvcHkpOiBEZWxldGVkLgorCisgICAgICAgICogcGxhdGZvcm0vQ3Jv
c3NUaHJlYWRDb3BpZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkFsbG93Q3Jvc3NUaHJlYWRBY2Nl
c3NXcmFwcGVyOjpBbGxvd0Nyb3NzVGhyZWFkQWNjZXNzV3JhcHBlcik6IERlbGV0ZWQgZGVhZCBj
b2RlLgorICAgICAgICAoV2ViQ29yZTo6QWxsb3dDcm9zc1RocmVhZEFjY2Vzc1dyYXBwZXI6OnZh
bHVlKTogRGVsZXRlZCBkZWFkIGNvZGUuCisgICAgICAgIChXZWJDb3JlOjpBbGxvd0Nyb3NzVGhy
ZWFkQWNjZXNzKTogRGVsZXRlZCBkZWFkIGNvZGUuCisgICAgICAgIChXZWJDb3JlOjpBbGxvd0Fj
Y2Vzc0xhdGVyV3JhcHBlcjo6QWxsb3dBY2Nlc3NMYXRlcldyYXBwZXIpOiBEZWxldGVkIGRlYWQg
Y29kZS4KKyAgICAgICAgKFdlYkNvcmU6OkFsbG93QWNjZXNzTGF0ZXJXcmFwcGVyOjp2YWx1ZSk6
IERlbGV0ZWQgZGVhZCBjb2RlLgorICAgICAgICAoV2ViQ29yZTo6QWxsb3dBY2Nlc3NMYXRlcik6
IERlbGV0ZWQgZGVhZCBjb2RlLgorCiAyMDE2LTA0LTI4ICBCcmFkeSBFaWRzb24gIDxiZWlkc29u
QGFwcGxlLmNvbT4KIAogICAgICAgICBpbnNwZWN0b3IvaW5kZXhlZGRiL3JlcXVlc3REYXRhYmFz
ZU5hbWVzLmh0bWwgaXMgZmxha3kgb24gTWFjLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vQ3Jvc3NUaHJlYWRDb3BpZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Q3Jvc3NUaHJlYWRDb3BpZXIuY3BwCmluZGV4IDUwNzRjODEuLjIwNjIxYmMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0Nyb3NzVGhyZWFkQ29waWVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9Dcm9zc1RocmVhZENvcGllci5jcHAKQEAgLTQzLDIxICs0Myw2
IEBACiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZT
dHJpbmcuaD4KIAotI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQotI2luY2x1ZGUgIklEQkN1
cnNvckluZm8uaCIKLSNpbmNsdWRlICJJREJEYXRhYmFzZUlkZW50aWZpZXIuaCIKLSNpbmNsdWRl
ICJJREJEYXRhYmFzZUluZm8uaCIKLSNpbmNsdWRlICJJREJFcnJvci5oIgotI2luY2x1ZGUgIklE
QkdldFJlc3VsdC5oIgotI2luY2x1ZGUgIklEQkluZGV4SW5mby5oIgotI2luY2x1ZGUgIklEQktl
eURhdGEuaCIKLSNpbmNsdWRlICJJREJLZXlSYW5nZURhdGEuaCIKLSNpbmNsdWRlICJJREJPYmpl
Y3RTdG9yZUluZm8uaCIKLSNpbmNsdWRlICJJREJSZXNvdXJjZUlkZW50aWZpZXIuaCIKLSNpbmNs
dWRlICJJREJUcmFuc2FjdGlvbkluZm8uaCIKLSNpbmNsdWRlICJJREJWYWx1ZS5oIgotI2VuZGlm
Ci0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogQ3Jvc3NUaHJlYWRDb3BpZXJCYXNlPGZhbHNlLCBm
YWxzZSwgVVJMPjo6VHlwZSBDcm9zc1RocmVhZENvcGllckJhc2U8ZmFsc2UsIGZhbHNlLCBVUkw+
Ojpjb3B5KGNvbnN0IFVSTCYgdXJsKQpAQCAtMTEwLDg1ICs5NSw2IEBAIENyb3NzVGhyZWFkQ29w
aWVyQmFzZTxmYWxzZSwgZmFsc2UsIFZlY3RvcjxTdHJpbmc+Pjo6VHlwZSBDcm9zc1RocmVhZENv
cGllckJhc2U8CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotI2lmIEVOQUJMRShJTkRFWEVEX0RB
VEFCQVNFKQotCi1JbmRleGVkREI6OlRyYW5zYWN0aW9uTW9kZSBDcm9zc1RocmVhZENvcGllckJh
c2U8ZmFsc2UsIGZhbHNlLCBJbmRleGVkREI6OlRyYW5zYWN0aW9uTW9kZT46OmNvcHkoY29uc3Qg
SW5kZXhlZERCOjpUcmFuc2FjdGlvbk1vZGUmIG1vZGUpCi17Ci0gICAgcmV0dXJuIG1vZGU7Ci19
Ci0KLUluZGV4ZWREQjo6Q3Vyc29yRGlyZWN0aW9uIENyb3NzVGhyZWFkQ29waWVyQmFzZTxmYWxz
ZSwgZmFsc2UsIEluZGV4ZWREQjo6Q3Vyc29yRGlyZWN0aW9uPjo6Y29weShjb25zdCBJbmRleGVk
REI6OkN1cnNvckRpcmVjdGlvbiYgZGlyZWN0aW9uKQotewotICAgIHJldHVybiBkaXJlY3Rpb247
Ci19Ci0KLUluZGV4ZWREQjo6Q3Vyc29yVHlwZSBDcm9zc1RocmVhZENvcGllckJhc2U8ZmFsc2Us
IGZhbHNlLCBJbmRleGVkREI6OkN1cnNvclR5cGU+Ojpjb3B5KGNvbnN0IEluZGV4ZWREQjo6Q3Vy
c29yVHlwZSYgdHlwZSkKLXsKLSAgICByZXR1cm4gdHlwZTsKLX0KLQotQ3Jvc3NUaHJlYWRDb3Bp
ZXJCYXNlPGZhbHNlLCBmYWxzZSwgSURCR2V0UmVzdWx0Pjo6VHlwZSBDcm9zc1RocmVhZENvcGll
ckJhc2U8ZmFsc2UsIGZhbHNlLCBJREJHZXRSZXN1bHQ+Ojpjb3B5KGNvbnN0IElEQkdldFJlc3Vs
dCYgcmVzdWx0KQotewotICAgIHJldHVybiByZXN1bHQuaXNvbGF0ZWRDb3B5KCk7Ci19Ci0KLUNy
b3NzVGhyZWFkQ29waWVyQmFzZTxmYWxzZSwgZmFsc2UsIElEQktleURhdGE+OjpUeXBlIENyb3Nz
VGhyZWFkQ29waWVyQmFzZTxmYWxzZSwgZmFsc2UsIElEQktleURhdGE+Ojpjb3B5KGNvbnN0IElE
QktleURhdGEmIGtleURhdGEpCi17Ci0gICAgcmV0dXJuIGtleURhdGEuaXNvbGF0ZWRDb3B5KCk7
Ci19Ci0KLUNyb3NzVGhyZWFkQ29waWVyQmFzZTxmYWxzZSwgZmFsc2UsIElEQktleVJhbmdlRGF0
YT46OlR5cGUgQ3Jvc3NUaHJlYWRDb3BpZXJCYXNlPGZhbHNlLCBmYWxzZSwgSURCS2V5UmFuZ2VE
YXRhPjo6Y29weShjb25zdCBJREJLZXlSYW5nZURhdGEmIGtleVJhbmdlRGF0YSkKLXsKLSAgICBy
ZXR1cm4ga2V5UmFuZ2VEYXRhLmlzb2xhdGVkQ29weSgpOwotfQotCi1Dcm9zc1RocmVhZENvcGll
ckJhc2U8ZmFsc2UsIGZhbHNlLCBJREJEYXRhYmFzZUluZm8+OjpUeXBlIENyb3NzVGhyZWFkQ29w
aWVyQmFzZTxmYWxzZSwgZmFsc2UsIElEQkRhdGFiYXNlSW5mbz46OmNvcHkoY29uc3QgSURCRGF0
YWJhc2VJbmZvJiBpbmZvKQotewotICAgIHJldHVybiBpbmZvLmlzb2xhdGVkQ29weSgpOwotfQot
Ci1Dcm9zc1RocmVhZENvcGllckJhc2U8ZmFsc2UsIGZhbHNlLCBJREJEYXRhYmFzZUlkZW50aWZp
ZXI+OjpUeXBlIENyb3NzVGhyZWFkQ29waWVyQmFzZTxmYWxzZSwgZmFsc2UsIElEQkRhdGFiYXNl
SWRlbnRpZmllcj46OmNvcHkoY29uc3QgSURCRGF0YWJhc2VJZGVudGlmaWVyJiBpZGVudGlmaWVy
KQotewotICAgIHJldHVybiBpZGVudGlmaWVyLmlzb2xhdGVkQ29weSgpOwotfQotCi1Dcm9zc1Ro
cmVhZENvcGllckJhc2U8ZmFsc2UsIGZhbHNlLCBJREJUcmFuc2FjdGlvbkluZm8+OjpUeXBlIENy
b3NzVGhyZWFkQ29waWVyQmFzZTxmYWxzZSwgZmFsc2UsIElEQlRyYW5zYWN0aW9uSW5mbz46OmNv
cHkoY29uc3QgSURCVHJhbnNhY3Rpb25JbmZvJiBpbmZvKQotewotICAgIHJldHVybiBpbmZvLmlz
b2xhdGVkQ29weSgpOwotfQotCi1Dcm9zc1RocmVhZENvcGllckJhc2U8ZmFsc2UsIGZhbHNlLCBJ
REJSZXNvdXJjZUlkZW50aWZpZXI+OjpUeXBlIENyb3NzVGhyZWFkQ29waWVyQmFzZTxmYWxzZSwg
ZmFsc2UsIElEQlJlc291cmNlSWRlbnRpZmllcj46OmNvcHkoY29uc3QgSURCUmVzb3VyY2VJZGVu
dGlmaWVyJiBpZGVudGlmaWVyKQotewotICAgIHJldHVybiBpZGVudGlmaWVyLmlzb2xhdGVkQ29w
eSgpOwotfQotCi1Dcm9zc1RocmVhZENvcGllckJhc2U8ZmFsc2UsIGZhbHNlLCBJREJFcnJvcj46
OlR5cGUgQ3Jvc3NUaHJlYWRDb3BpZXJCYXNlPGZhbHNlLCBmYWxzZSwgSURCRXJyb3I+Ojpjb3B5
KGNvbnN0IElEQkVycm9yJiBlcnJvcikKLXsKLSAgICByZXR1cm4gZXJyb3IuaXNvbGF0ZWRDb3B5
KCk7Ci19Ci0KLUNyb3NzVGhyZWFkQ29waWVyQmFzZTxmYWxzZSwgZmFsc2UsIElEQk9iamVjdFN0
b3JlSW5mbz46OlR5cGUgQ3Jvc3NUaHJlYWRDb3BpZXJCYXNlPGZhbHNlLCBmYWxzZSwgSURCT2Jq
ZWN0U3RvcmVJbmZvPjo6Y29weShjb25zdCBJREJPYmplY3RTdG9yZUluZm8mIGluZm8pCi17Ci0g
ICAgcmV0dXJuIGluZm8uaXNvbGF0ZWRDb3B5KCk7Ci19Ci0KLUNyb3NzVGhyZWFkQ29waWVyQmFz
ZTxmYWxzZSwgZmFsc2UsIElEQkluZGV4SW5mbz46OlR5cGUgQ3Jvc3NUaHJlYWRDb3BpZXJCYXNl
PGZhbHNlLCBmYWxzZSwgSURCSW5kZXhJbmZvPjo6Y29weShjb25zdCBJREJJbmRleEluZm8mIGlu
Zm8pCi17Ci0gICAgcmV0dXJuIGluZm8uaXNvbGF0ZWRDb3B5KCk7Ci19Ci0KLUNyb3NzVGhyZWFk
Q29waWVyQmFzZTxmYWxzZSwgZmFsc2UsIElEQkN1cnNvckluZm8+OjpUeXBlIENyb3NzVGhyZWFk
Q29waWVyQmFzZTxmYWxzZSwgZmFsc2UsIElEQkN1cnNvckluZm8+Ojpjb3B5KGNvbnN0IElEQkN1
cnNvckluZm8mIGluZm8pCi17Ci0gICAgcmV0dXJuIGluZm8uaXNvbGF0ZWRDb3B5KCk7Ci19Ci0K
LUNyb3NzVGhyZWFkQ29waWVyQmFzZTxmYWxzZSwgZmFsc2UsIElEQlZhbHVlPjo6VHlwZSBDcm9z
c1RocmVhZENvcGllckJhc2U8ZmFsc2UsIGZhbHNlLCBJREJWYWx1ZT46OmNvcHkoY29uc3QgSURC
VmFsdWUmIHZhbHVlKQotewotICAgIHJldHVybiB2YWx1ZS5pc29sYXRlZENvcHkoKTsKLX0KLQot
I2VuZGlmIC8vIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQotCiAvLyBUZXN0IENyb3NzVGhyZWFk
Q29waWVyIHVzaW5nIENPTVBJTEVfQVNTRVJULgogCiAvLyBWZXJpZnkgdGhhdCBUaHJlYWRTYWZl
UmVmQ291bnRlZCBvYmplY3RzIGdldCBoYW5kbGVkIGNvcnJlY3RseS4KQEAgLTIxMSwzMiArMTE3
LDI1IEBAIENPTVBJTEVfQVNTRVJUKChzdGQ6OmlzX3NhbWU8CiAgICAgICAgICAgICAgICAgICA+
Ojp2YWx1ZSksCiAgICAgICAgICAgICAgICBSYXdQb2ludGVyVGVzdCk7CiAKLQotLy8gQWRkIGEg
Z2VuZXJpYyBzcGVjaWFsaXphdGlvbiB3aGljaCB3aWxsIGxldCdzIHVzIHZlcmlmeSB0aGF0IG5v
IG90aGVyIHRlbXBsYXRlIG1hdGNoZXMuCi10ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgQ3Jv
c3NUaHJlYWRDb3BpZXJCYXNlPGZhbHNlLCBmYWxzZSwgVD4geworLy8gQWRkIGEgc3BlY2lhbGl6
YXRpb25zIGZvciBSZWZDb3VudGVkIHR5cGVzIHdoaWNoIHdpbGwgbGV0IHVzIHZlcmlmeSB0aGF0
IG5vIG90aGVyIHRlbXBsYXRlIG1hdGNoZXMuCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3Qg
Q3Jvc3NUaHJlYWRDb3BpZXJCYXNlPGZhbHNlLCBmYWxzZSwgUmVmUHRyPFQ+PiB7CiAgICAgdHlw
ZWRlZiBpbnQgVHlwZTsKIH07CiAKLS8vIFZlcmlmeSB0aGF0IFJlZkNvdW50ZWQgb2JqZWN0cyBv
bmx5IG1hdGNoIG91ciBnZW5lcmljIHRlbXBsYXRlIHdoaWNoIGV4cG9zZXMgVHlwZSBhcyBpbnQu
Ci1jbGFzcyBDb3BpZXJSZWZDb3VudGVkVGVzdCA6IHB1YmxpYyBSZWZDb3VudGVkPENvcGllclJl
ZkNvdW50ZWRUZXN0PiB7Cit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgQ3Jvc3NUaHJlYWRD
b3BpZXJCYXNlPGZhbHNlLCBmYWxzZSwgUGFzc1JlZlB0cjxUPj4geworICAgIHR5cGVkZWYgaW50
IFR5cGU7CiB9OwogCi1DT01QSUxFX0FTU0VSVCgoc3RkOjppc19zYW1lPAotICAgICAgICAgICAg
ICAgICAgaW50LAotICAgICAgICAgICAgICAgICAgQ3Jvc3NUaHJlYWRDb3BpZXI8UGFzc1JlZlB0
cjxDb3BpZXJSZWZDb3VudGVkVGVzdD4+OjpUeXBlCi0gICAgICAgICAgICAgICAgICA+Ojp2YWx1
ZSksCi0gICAgICAgICAgICAgICBQYXNzUmVmUHRyUmVmQ291bnRlZFRlc3QpOwordGVtcGxhdGU8
dHlwZW5hbWUgVD4gc3RydWN0IENyb3NzVGhyZWFkQ29waWVyQmFzZTxmYWxzZSwgZmFsc2UsIFQq
PiB7CisgICAgdHlwZWRlZiBpbnQgVHlwZTsKK307CiAKLUNPTVBJTEVfQVNTRVJUKChzdGQ6Omlz
X3NhbWU8Ci0gICAgICAgICAgICAgICAgICBpbnQsCi0gICAgICAgICAgICAgICAgICBDcm9zc1Ro
cmVhZENvcGllcjxSZWZQdHI8Q29waWVyUmVmQ291bnRlZFRlc3Q+Pjo6VHlwZQotICAgICAgICAg
ICAgICAgICAgPjo6dmFsdWUpLAotICAgICAgICAgICAgICAgUmVmUHRyUmVmQ291bnRlZFRlc3Qp
OworLy8gVmVyaWZ5IHRoYXQgUmVmQ291bnRlZCBvYmplY3RzIG9ubHkgbWF0Y2ggdGhlIGFib3Zl
IHRlbXBsYXRlcyB3aGljaCBleHBvc2UgVHlwZSBhcyBpbnQuCitjbGFzcyBDb3BpZXJSZWZDb3Vu
dGVkVGVzdCA6IHB1YmxpYyBSZWZDb3VudGVkPENvcGllclJlZkNvdW50ZWRUZXN0PiB7Cit9Owog
Ci1DT01QSUxFX0FTU0VSVCgoc3RkOjppc19zYW1lPAotICAgICAgICAgICAgICAgICAgaW50LAot
ICAgICAgICAgICAgICAgICAgQ3Jvc3NUaHJlYWRDb3BpZXI8Q29waWVyUmVmQ291bnRlZFRlc3Qq
Pjo6VHlwZQotICAgICAgICAgICAgICAgICAgPjo6dmFsdWUpLAotICAgICAgICAgICAgICAgUmF3
UG9pbnRlclJlZkNvdW50ZWRUZXN0KTsKK0NPTVBJTEVfQVNTRVJUKChzdGQ6OmlzX3NhbWU8aW50
LCBDcm9zc1RocmVhZENvcGllcjxQYXNzUmVmUHRyPENvcGllclJlZkNvdW50ZWRUZXN0Pj46OlR5
cGU+Ojp2YWx1ZSksIFBhc3NSZWZQdHJSZWZDb3VudGVkVGVzdCk7CitDT01QSUxFX0FTU0VSVCgo
c3RkOjppc19zYW1lPGludCwgQ3Jvc3NUaHJlYWRDb3BpZXI8UmVmUHRyPENvcGllclJlZkNvdW50
ZWRUZXN0Pj46OlR5cGU+Ojp2YWx1ZSksIFJlZlB0clJlZkNvdW50ZWRUZXN0KTsKK0NPTVBJTEVf
QVNTRVJUKChzdGQ6OmlzX3NhbWU8aW50LCBDcm9zc1RocmVhZENvcGllcjxDb3BpZXJSZWZDb3Vu
dGVkVGVzdCo+OjpUeXBlPjo6dmFsdWUpLCBSYXdQb2ludGVyUmVmQ291bnRlZFRlc3QpOwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9Dcm9zc1RocmVhZENvcGllci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ3Jvc3NUaHJl
YWRDb3BpZXIuaAppbmRleCA0ZDIwYjg5Li45NDRjNTAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9Dcm9zc1RocmVhZENvcGllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL0Nyb3NzVGhyZWFkQ29waWVyLmgKQEAgLTEwMCw2ICsxMDAsMTQgQEAgdGVtcGxhdGU8
PiBzdHJ1Y3QgQ3Jvc3NUaHJlYWRDb3BpZXJCYXNlPGZhbHNlLCBmYWxzZSwgSW50UmVjdD4gOiBw
dWJsaWMgQ3Jvc3NUaHIKIHRlbXBsYXRlPD4gc3RydWN0IENyb3NzVGhyZWFkQ29waWVyQmFzZTxm
YWxzZSwgZmFsc2UsIEludFNpemU+IDogcHVibGljIENyb3NzVGhyZWFkQ29waWVyUGFzc1Rocm91
Z2g8SW50U2l6ZT4gewogfTsKIAorLy8gQ2xhc3NlcyB0aGF0IGhhdmUgYW4gaXNvbGF0ZWRDb3B5
KCkgbWV0aG9kIGdldCBhIGRlZmF1bHQgc3BlY2lhbGl6YXRpb24uCit0ZW1wbGF0ZTxjbGFzcyBU
PiBzdHJ1Y3QgQ3Jvc3NUaHJlYWRDb3BpZXJCYXNlPGZhbHNlLCBmYWxzZSwgVD4geworICAgIFdF
QkNPUkVfRVhQT1JUIHN0YXRpYyBUIGNvcHkoY29uc3QgVCYgdmFsdWUpCisgICAgeworICAgICAg
ICByZXR1cm4gdmFsdWUuaXNvbGF0ZWRDb3B5KCk7CisgICAgfQorfTsKKwogLy8gQ3VzdG9tIGNv
cHkgbWV0aG9kcy4KIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBDcm9zc1RocmVhZENvcGll
ckJhc2U8ZmFsc2UsIHRydWUsIFQ+IHsKICAgICB0eXBlZGVmIHR5cGVuYW1lIENyb3NzVGhyZWFk
Q29waWVyQmFzZUhlbHBlcjo6UmVtb3ZlUG9pbnRlcjxUPjo6VHlwZSBSZWZDb3VudGVkVHlwZTsK
QEAgLTE1NywxMzkgKzE2NSw4IEBAIHRlbXBsYXRlPD4gc3RydWN0IENyb3NzVGhyZWFkQ29waWVy
QmFzZTxmYWxzZSwgZmFsc2UsIFZlY3RvcjxTdHJpbmc+PiB7CiAgICAgc3RhdGljIFR5cGUgY29w
eShjb25zdCBWZWN0b3I8U3RyaW5nPiYpOwogfTsKIAotI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFC
QVNFKQotbmFtZXNwYWNlIEluZGV4ZWREQiB7Ci1lbnVtIGNsYXNzIFRyYW5zYWN0aW9uTW9kZTsK
LWVudW0gY2xhc3MgQ3Vyc29yRGlyZWN0aW9uOwotZW51bSBjbGFzcyBDdXJzb3JUeXBlOwotfQot
dGVtcGxhdGU8PiBzdHJ1Y3QgQ3Jvc3NUaHJlYWRDb3BpZXJCYXNlPGZhbHNlLCBmYWxzZSwgSW5k
ZXhlZERCOjpUcmFuc2FjdGlvbk1vZGU+IHsKLSAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgSW5k
ZXhlZERCOjpUcmFuc2FjdGlvbk1vZGUgY29weShjb25zdCBJbmRleGVkREI6OlRyYW5zYWN0aW9u
TW9kZSYpOwotfTsKLXRlbXBsYXRlPD4gc3RydWN0IENyb3NzVGhyZWFkQ29waWVyQmFzZTxmYWxz
ZSwgZmFsc2UsIEluZGV4ZWREQjo6Q3Vyc29yRGlyZWN0aW9uPiB7Ci0gICAgV0VCQ09SRV9FWFBP
UlQgc3RhdGljIEluZGV4ZWREQjo6Q3Vyc29yRGlyZWN0aW9uIGNvcHkoY29uc3QgSW5kZXhlZERC
OjpDdXJzb3JEaXJlY3Rpb24mKTsKLX07Ci10ZW1wbGF0ZTw+IHN0cnVjdCBDcm9zc1RocmVhZENv
cGllckJhc2U8ZmFsc2UsIGZhbHNlLCBJbmRleGVkREI6OkN1cnNvclR5cGU+IHsKLSAgICBXRUJD
T1JFX0VYUE9SVCBzdGF0aWMgSW5kZXhlZERCOjpDdXJzb3JUeXBlIGNvcHkoY29uc3QgSW5kZXhl
ZERCOjpDdXJzb3JUeXBlJik7Ci19OwotCi1jbGFzcyBJREJHZXRSZXN1bHQ7Ci10ZW1wbGF0ZTw+
IHN0cnVjdCBXRUJDT1JFX0VYUE9SVCBDcm9zc1RocmVhZENvcGllckJhc2U8ZmFsc2UsIGZhbHNl
LCBJREJHZXRSZXN1bHQ+IHsKLSAgICB0eXBlZGVmIElEQkdldFJlc3VsdCBUeXBlOwotICAgIHN0
YXRpYyBUeXBlIGNvcHkoY29uc3QgSURCR2V0UmVzdWx0Jik7Ci19OwotCi1jbGFzcyBJREJLZXlE
YXRhOwotdGVtcGxhdGU8PiBzdHJ1Y3QgV0VCQ09SRV9FWFBPUlQgQ3Jvc3NUaHJlYWRDb3BpZXJC
YXNlPGZhbHNlLCBmYWxzZSwgSURCS2V5RGF0YT4gewotICAgIHR5cGVkZWYgSURCS2V5RGF0YSBU
eXBlOwotICAgIHN0YXRpYyBUeXBlIGNvcHkoY29uc3QgSURCS2V5RGF0YSYpOwotfTsKLQotc3Ry
dWN0IElEQktleVJhbmdlRGF0YTsKLXRlbXBsYXRlPD4gc3RydWN0IFdFQkNPUkVfRVhQT1JUIENy
b3NzVGhyZWFkQ29waWVyQmFzZTxmYWxzZSwgZmFsc2UsIElEQktleVJhbmdlRGF0YT4gewotICAg
IHR5cGVkZWYgSURCS2V5UmFuZ2VEYXRhIFR5cGU7Ci0gICAgc3RhdGljIFR5cGUgY29weShjb25z
dCBJREJLZXlSYW5nZURhdGEmKTsKLX07Ci0KLWNsYXNzIElEQkRhdGFiYXNlSW5mbzsKLXRlbXBs
YXRlPD4gc3RydWN0IFdFQkNPUkVfRVhQT1JUIENyb3NzVGhyZWFkQ29waWVyQmFzZTxmYWxzZSwg
ZmFsc2UsIElEQkRhdGFiYXNlSW5mbz4gewotICAgIHR5cGVkZWYgSURCRGF0YWJhc2VJbmZvIFR5
cGU7Ci0gICAgc3RhdGljIFR5cGUgY29weShjb25zdCBJREJEYXRhYmFzZUluZm8mKTsKLX07Ci0K
LWNsYXNzIElEQkRhdGFiYXNlSWRlbnRpZmllcjsKLXRlbXBsYXRlPD4gc3RydWN0IFdFQkNPUkVf
RVhQT1JUIENyb3NzVGhyZWFkQ29waWVyQmFzZTxmYWxzZSwgZmFsc2UsIElEQkRhdGFiYXNlSWRl
bnRpZmllcj4gewotICAgIHR5cGVkZWYgSURCRGF0YWJhc2VJZGVudGlmaWVyIFR5cGU7Ci0gICAg
c3RhdGljIFR5cGUgY29weShjb25zdCBJREJEYXRhYmFzZUlkZW50aWZpZXImKTsKLX07Ci0KLWNs
YXNzIElEQkVycm9yOwotdGVtcGxhdGU8PiBzdHJ1Y3QgV0VCQ09SRV9FWFBPUlQgQ3Jvc3NUaHJl
YWRDb3BpZXJCYXNlPGZhbHNlLCBmYWxzZSwgSURCRXJyb3I+IHsKLSAgICB0eXBlZGVmIElEQkVy
cm9yIFR5cGU7Ci0gICAgc3RhdGljIFR5cGUgY29weShjb25zdCBJREJFcnJvciYpOwotfTsKLQot
Y2xhc3MgSURCUmVzb3VyY2VJZGVudGlmaWVyOwotdGVtcGxhdGU8PiBzdHJ1Y3QgV0VCQ09SRV9F
WFBPUlQgQ3Jvc3NUaHJlYWRDb3BpZXJCYXNlPGZhbHNlLCBmYWxzZSwgSURCUmVzb3VyY2VJZGVu
dGlmaWVyPiB7Ci0gICAgdHlwZWRlZiBJREJSZXNvdXJjZUlkZW50aWZpZXIgVHlwZTsKLSAgICBz
dGF0aWMgVHlwZSBjb3B5KGNvbnN0IElEQlJlc291cmNlSWRlbnRpZmllciYpOwotfTsKLQotY2xh
c3MgSURCVHJhbnNhY3Rpb25JbmZvOwotdGVtcGxhdGU8PiBzdHJ1Y3QgV0VCQ09SRV9FWFBPUlQg
Q3Jvc3NUaHJlYWRDb3BpZXJCYXNlPGZhbHNlLCBmYWxzZSwgSURCVHJhbnNhY3Rpb25JbmZvPiB7
Ci0gICAgdHlwZWRlZiBJREJUcmFuc2FjdGlvbkluZm8gVHlwZTsKLSAgICBzdGF0aWMgVHlwZSBj
b3B5KGNvbnN0IElEQlRyYW5zYWN0aW9uSW5mbyYpOwotfTsKLQotY2xhc3MgSURCT2JqZWN0U3Rv
cmVJbmZvOwotdGVtcGxhdGU8PiBzdHJ1Y3QgV0VCQ09SRV9FWFBPUlQgQ3Jvc3NUaHJlYWRDb3Bp
ZXJCYXNlPGZhbHNlLCBmYWxzZSwgSURCT2JqZWN0U3RvcmVJbmZvPiB7Ci0gICAgdHlwZWRlZiBJ
REJPYmplY3RTdG9yZUluZm8gVHlwZTsKLSAgICBzdGF0aWMgVHlwZSBjb3B5KGNvbnN0IElEQk9i
amVjdFN0b3JlSW5mbyYpOwotfTsKLQotY2xhc3MgSURCSW5kZXhJbmZvOwotdGVtcGxhdGU8PiBz
dHJ1Y3QgV0VCQ09SRV9FWFBPUlQgQ3Jvc3NUaHJlYWRDb3BpZXJCYXNlPGZhbHNlLCBmYWxzZSwg
SURCSW5kZXhJbmZvPiB7Ci0gICAgdHlwZWRlZiBJREJJbmRleEluZm8gVHlwZTsKLSAgICBzdGF0
aWMgVHlwZSBjb3B5KGNvbnN0IElEQkluZGV4SW5mbyYpOwotfTsKLQotY2xhc3MgSURCQ3Vyc29y
SW5mbzsKLXRlbXBsYXRlPD4gc3RydWN0IFdFQkNPUkVfRVhQT1JUIENyb3NzVGhyZWFkQ29waWVy
QmFzZTxmYWxzZSwgZmFsc2UsIElEQkN1cnNvckluZm8+IHsKLSAgICB0eXBlZGVmIElEQkN1cnNv
ckluZm8gVHlwZTsKLSAgICBzdGF0aWMgVHlwZSBjb3B5KGNvbnN0IElEQkN1cnNvckluZm8mKTsK
LX07Ci0KLWNsYXNzIElEQlZhbHVlOwotdGVtcGxhdGU8PiBzdHJ1Y3QgV0VCQ09SRV9FWFBPUlQg
Q3Jvc3NUaHJlYWRDb3BpZXJCYXNlPGZhbHNlLCBmYWxzZSwgSURCVmFsdWU+IHsKLSAgICB0eXBl
ZGVmIElEQlZhbHVlIFR5cGU7Ci0gICAgc3RhdGljIFR5cGUgY29weShjb25zdCBJREJWYWx1ZSYp
OwotfTsKLQotI2VuZGlmCi0KIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CiBzdHJ1Y3QgQ3Jvc3NUaHJl
YWRDb3BpZXIgOiBwdWJsaWMgQ3Jvc3NUaHJlYWRDb3BpZXJCYXNlPENyb3NzVGhyZWFkQ29waWVy
QmFzZUhlbHBlcjo6SXNFbnVtT3JDb252ZXJ0aWJsZVRvSW50ZWdlcjxUPjo6dmFsdWUsIENyb3Nz
VGhyZWFkQ29waWVyQmFzZUhlbHBlcjo6SXNUaHJlYWRTYWZlUmVmQ291bnRlZFBvaW50ZXI8VD46
OnZhbHVlLCBUPiB7CiB9OwogCi10ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgQWxsb3dDcm9z
c1RocmVhZEFjY2Vzc1dyYXBwZXIgewotcHVibGljOgotICAgIGV4cGxpY2l0IEFsbG93Q3Jvc3NU
aHJlYWRBY2Nlc3NXcmFwcGVyKFQqIHZhbHVlKQotICAgICAgICA6IG1fdmFsdWUodmFsdWUpIHsg
fQotICAgIFQqIHZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV92YWx1ZTsgfQotcHJpdmF0ZToKLSAg
ICBUKiBtX3ZhbHVlOwotfTsKLQotdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IENyb3NzVGhy
ZWFkQ29waWVyQmFzZTxmYWxzZSwgZmFsc2UsIEFsbG93Q3Jvc3NUaHJlYWRBY2Nlc3NXcmFwcGVy
PFQ+PiB7Ci0gICAgdHlwZWRlZiBUKiBUeXBlOwotICAgIHN0YXRpYyBUeXBlIGNvcHkoY29uc3Qg
QWxsb3dDcm9zc1RocmVhZEFjY2Vzc1dyYXBwZXI8VD4mIHdyYXBwZXIpIHsgcmV0dXJuIHdyYXBw
ZXIudmFsdWUoKTsgfQotfTsKLQotdGVtcGxhdGU8dHlwZW5hbWUgVD4gQWxsb3dDcm9zc1RocmVh
ZEFjY2Vzc1dyYXBwZXI8VD4gQWxsb3dDcm9zc1RocmVhZEFjY2VzcyhUKiB2YWx1ZSkgCi17Ci0g
ICAgcmV0dXJuIEFsbG93Q3Jvc3NUaHJlYWRBY2Nlc3NXcmFwcGVyPFQ+KHZhbHVlKTsKLX0KLQot
Ly8gRklYTUU6IE1vdmUgdG8gYSBkaWZmZXJlbnQgaGVhZGVyIGZpbGUuIEFsbG93QWNjZXNzTGF0
ZXIgaXMgZm9yIGNyb3NzLXRocmVhZCBhY2Nlc3MKLS8vIHRoYXQgaXMgbm90IGNyb3NzLXRocmVh
ZCAodGFza3MgcG9zdGVkIHRvIGEgcXVldWUgZ3VhcmFudGVlZCB0byBydW4gb24gdGhlIHNhbWUg
dGhyZWFkKS4KLXRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBBbGxvd0FjY2Vzc0xhdGVyV3Jh
cHBlciB7Ci1wdWJsaWM6Ci0gICAgZXhwbGljaXQgQWxsb3dBY2Nlc3NMYXRlcldyYXBwZXIoVCog
dmFsdWUpCi0gICAgICAgIDogbV92YWx1ZSh2YWx1ZSkgeyB9Ci0gICAgVCogdmFsdWUoKSBjb25z
dCB7IHJldHVybiBtX3ZhbHVlOyB9Ci1wcml2YXRlOgotICAgIFQqIG1fdmFsdWU7Ci19OwotCi10
ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgQ3Jvc3NUaHJlYWRDb3BpZXJCYXNlPGZhbHNlLCBm
YWxzZSwgQWxsb3dBY2Nlc3NMYXRlcldyYXBwZXI8VD4+IHsKLSAgICB0eXBlZGVmIFQqIFR5cGU7
Ci0gICAgc3RhdGljIFR5cGUgY29weShjb25zdCBBbGxvd0FjY2Vzc0xhdGVyV3JhcHBlcjxUPiYg
d3JhcHBlcikgeyByZXR1cm4gd3JhcHBlci52YWx1ZSgpOyB9Ci19OwotCi10ZW1wbGF0ZTx0eXBl
bmFtZSBUPiBBbGxvd0FjY2Vzc0xhdGVyV3JhcHBlcjxUPiBBbGxvd0FjY2Vzc0xhdGVyKFQqIHZh
bHVlKQotewotICAgIHJldHVybiBBbGxvd0FjY2Vzc0xhdGVyV3JhcHBlcjxUPih2YWx1ZSk7Ci19
Ci0KLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDA1OWUyMDkuLmM2NTY4
MjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxNi0wNC0yOSAgQnJhZHkgRWlkc29u
ICA8YmVpZHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGEgZGVmYXVsdCAiLmlzb2xhdGVk
Q29weSgpIiBzcGVjaWFsaXphdGlvbiB0byBDcm9zc1RocmVhZENvcGllciwgYW5kIG90aGVyIHNt
YWxsIGNsZWFudXAuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNTcxODUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIFNoYXJlZC9XZWJDcm9zc1RocmVhZENvcGllci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpWZWN0b3I8Y2hhcj4+Ojpjb3B5KTogcmVzZXJ2ZUluaXRpYWxDYXBhY2l0eSgpIGJlZm9yZSBj
cmVhdGluZyB0aGUgY29weS4KKyAgICAgICAgKFdlYkNvcmU6OlZlY3RvcjxpbnQ2NF90Pj46OmNv
cHkpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlZlY3Rvcjx1aW50OF90Pj46OmNvcHkpOiBE
aXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlZlY3RvcjxWZWN0b3I8SURCS2V5RGF0YT4+Pjo6Y29w
eSk6IERlbGV0ZWQgZGVhZCBjb2RlLgorICAgICAgICAqIFNoYXJlZC9XZWJDcm9zc1RocmVhZENv
cGllci5oOgorCiAyMDE2LTA0LTI4ICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4K
IAogICAgICAgICBGaXggdGhlIEFwcGxlIEludGVybmFsIE9TIFggYnVpbGQKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDcm9zc1RocmVhZENvcGllci5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvV2ViQ3Jvc3NUaHJlYWRDb3BpZXIuY3BwCmluZGV4IDdlZGRiZTEuLjAw
MTc4ZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDcm9zc1RocmVhZENv
cGllci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNyb3NzVGhyZWFkQ29waWVy
LmNwcApAQCAtMzYsNiArMzYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBWZWN0b3I8Y2hhcj4g
Q3Jvc3NUaHJlYWRDb3BpZXJCYXNlPGZhbHNlLCBmYWxzZSwgVmVjdG9yPGNoYXI+Pjo6Y29weShj
b25zdCBWZWN0b3I8Y2hhcj4mIHZlY3RvcikKIHsKICAgICBWZWN0b3I8Y2hhcj4gcmVzdWx0Owor
ICAgIHJlc3VsdC5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KHZlY3Rvci5zaXplKCkpOwogICAgIHJl
c3VsdC5hcHBlbmRWZWN0b3IodmVjdG9yKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtNDMs
NiArNDQsNyBAQCBWZWN0b3I8Y2hhcj4gQ3Jvc3NUaHJlYWRDb3BpZXJCYXNlPGZhbHNlLCBmYWxz
ZSwgVmVjdG9yPGNoYXI+Pjo6Y29weShjb25zdCBWZWN0bwogVmVjdG9yPGludDY0X3Q+IENyb3Nz
VGhyZWFkQ29waWVyQmFzZTxmYWxzZSwgZmFsc2UsIFZlY3RvcjxpbnQ2NF90Pj46OmNvcHkoY29u
c3QgVmVjdG9yPGludDY0X3Q+JiB2ZWN0b3IpCiB7CiAgICAgVmVjdG9yPGludDY0X3Q+IHJlc3Vs
dDsKKyAgICByZXN1bHQucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eSh2ZWN0b3Iuc2l6ZSgpKTsKICAg
ICByZXN1bHQuYXBwZW5kVmVjdG9yKHZlY3Rvcik7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAg
LTUwLDIzICs1MiwxMSBAQCBWZWN0b3I8aW50NjRfdD4gQ3Jvc3NUaHJlYWRDb3BpZXJCYXNlPGZh
bHNlLCBmYWxzZSwgVmVjdG9yPGludDY0X3Q+Pjo6Y29weShjb25zdAogVmVjdG9yPHVpbnQ4X3Q+
IENyb3NzVGhyZWFkQ29waWVyQmFzZTxmYWxzZSwgZmFsc2UsIFZlY3Rvcjx1aW50OF90Pj46OmNv
cHkoY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiB2ZWN0b3IpCiB7CiAgICAgVmVjdG9yPHVpbnQ4X3Q+
IHJlc3VsdDsKKyAgICByZXN1bHQucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eSh2ZWN0b3Iuc2l6ZSgp
KTsKICAgICByZXN1bHQuYXBwZW5kVmVjdG9yKHZlY3Rvcik7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KIAotVmVjdG9yPFZlY3RvcjxJREJLZXlEYXRhPj4gQ3Jvc3NUaHJlYWRDb3BpZXJCYXNlPGZh
bHNlLCBmYWxzZSwgVmVjdG9yPFZlY3RvcjxJREJLZXlEYXRhPj4+Ojpjb3B5KGNvbnN0IFZlY3Rv
cjxWZWN0b3I8SURCS2V5RGF0YT4+JiB2ZWN0b3IpCi17Ci0gICAgVmVjdG9yPFZlY3RvcjxJREJL
ZXlEYXRhPj4gcmVzdWx0OwotCi0gICAgZm9yIChjb25zdCBhdXRvJiBrZXlzIDogdmVjdG9yKSB7
Ci0gICAgICAgIHJlc3VsdC5hcHBlbmQoVmVjdG9yPElEQktleURhdGE+KCkpOwotICAgICAgICBm
b3IgKGNvbnN0IGF1dG8mIGtleSA6IGtleXMpCi0gICAgICAgICAgICByZXN1bHQubGFzdCgpLmFw
cGVuZChXZWJDb3JlOjpDcm9zc1RocmVhZENvcGllcjxJREJLZXlEYXRhPjo6Y29weShrZXkpKTsK
LSAgICB9Ci0KLSAgICByZXR1cm4gcmVzdWx0OwotfQotCiBBU0NJSUxpdGVyYWwgQ3Jvc3NUaHJl
YWRDb3BpZXJCYXNlPGZhbHNlLCBmYWxzZSwgQVNDSUlMaXRlcmFsPjo6Y29weShjb25zdCBBU0NJ
SUxpdGVyYWwmIGxpdGVyYWwpCiB7CiAgICAgcmV0dXJuIGxpdGVyYWw7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ3Jvc3NUaHJlYWRDb3BpZXIuaCBiL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9XZWJDcm9zc1RocmVhZENvcGllci5oCmluZGV4IDMxMGQ1ZjguLjQ3ZmIxNDQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDcm9zc1RocmVhZENvcGllci5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDcm9zc1RocmVhZENvcGllci5oCkBAIC02
NCwxMCArNjQsNiBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBDcm9zc1RocmVhZENvcGllckJhc2U8ZmFs
c2UsIGZhbHNlLCBWZWN0b3I8dWludDhfdD4+IHsKICAgICBzdGF0aWMgVmVjdG9yPHVpbnQ4X3Q+
IGNvcHkoY29uc3QgVmVjdG9yPHVpbnQ4X3Q+Jik7CiB9OwogCi10ZW1wbGF0ZTw+IHN0cnVjdCBD
cm9zc1RocmVhZENvcGllckJhc2U8ZmFsc2UsIGZhbHNlLCBWZWN0b3I8VmVjdG9yPElEQktleURh
dGE+Pj4gewotICAgIHN0YXRpYyBWZWN0b3I8VmVjdG9yPElEQktleURhdGE+PiBjb3B5KGNvbnN0
IFZlY3RvcjxWZWN0b3I8SURCS2V5RGF0YT4+Jik7Ci19OwotCiB0ZW1wbGF0ZTw+IHN0cnVjdCBD
cm9zc1RocmVhZENvcGllckJhc2U8ZmFsc2UsIGZhbHNlLCBXVEY6OkFTQ0lJTGl0ZXJhbD4gewog
ICAgIHN0YXRpYyBXVEY6OkFTQ0lJTGl0ZXJhbCBjb3B5KGNvbnN0IFdURjo6QVNDSUlMaXRlcmFs
Jik7CiB9Owo=
</data>
<flag name="review"
          id="301856"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>