<?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>142349</bug_id>
          
          <creation_ts>2015-03-05 09:51:44 -0800</creation_ts>
          <short_desc>Use std::unique_ptr instead of PassOwnPtr|OwnPtr for ResourceRequest</short_desc>
          <delta_ts>2015-03-06 03:15:52 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>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>128007</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Joonghun Park">jh718.park</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>achristensen</cc>
    
    <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>ossy</cc>
    
    <cc>peavo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1074550</commentid>
    <comment_count>0</comment_count>
    <who name="Joonghun Park">jh718.park</who>
    <bug_when>2015-03-05 09:51:44 -0800</bug_when>
    <thetext>Change from PassOwnPtr|OwnPtr to std::unique_ptr for ResourceRequest in All ports.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1074551</commentid>
    <comment_count>1</comment_count>
      <attachid>247959</attachid>
    <who name="Joonghun Park">jh718.park</who>
    <bug_when>2015-03-05 09:54:18 -0800</bug_when>
    <thetext>Created attachment 247959
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1074605</commentid>
    <comment_count>2</comment_count>
      <attachid>247959</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-03-05 11:42:00 -0800</bug_when>
    <thetext>Comment on attachment 247959
Patch

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

&gt; Source/WebCore/loader/WorkerThreadableLoader.cpp:100
&gt; -    CrossThreadResourceRequestData* requestData = request.copyData().leakPtr();
&gt; +    auto requestData = request.copyData().release();
&gt;      StringCapture capturedOutgoingReferrer(outgoingReferrer);
&gt;      m_loaderProxy.postTaskToLoader([this, requestData, options, capturedOutgoingReferrer](ScriptExecutionContext&amp; context) {
&gt;          ASSERT(isMainThread());
&gt;          Document&amp; document = downcast&lt;Document&gt;(context);
&gt;  
&gt; -        OwnPtr&lt;ResourceRequest&gt; request = ResourceRequest::adopt(adoptPtr(requestData));
&gt; +        std::unique_ptr&lt;ResourceRequest&gt; request = ResourceRequest::adopt(std::unique_ptr&lt;CrossThreadResourceRequestData&gt;(requestData));

Is there no way to pass the unique_ptr to the lambda? Here’s a thread about it: &lt;http://stackoverflow.com/questions/8640393/move-capture-in-lambda&gt; and &lt;http://stackoverflow.com/questions/8236521/how-to-capture-a-unique-ptr-into-a-lambda-expression&gt;

This is a case where clarity clearly suffers. It was easy to see how the leakPtr and adoptPtr matched up. It’s not nearly was easy to spot the explicit std::unique_ptr construction and see that it matches up with the release() call. Seems like we should make an adopt function for unique_ptr in WTF so this idiom is more readable. I think C++14 will let us handle this in a cleaner way passing the unique_ptr through the lambda.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1074622</commentid>
    <comment_count>3</comment_count>
      <attachid>247976</attachid>
    <who name="Joonghun Park">jh718.park</who>
    <bug_when>2015-03-05 12:10:04 -0800</bug_when>
    <thetext>Created attachment 247976
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1074629</commentid>
    <comment_count>4</comment_count>
    <who name="Joonghun Park">jh718.park</who>
    <bug_when>2015-03-05 12:20:12 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Comment on attachment 247959 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=247959&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/loader/WorkerThreadableLoader.cpp:100
&gt; &gt; -    CrossThreadResourceRequestData* requestData = request.copyData().leakPtr();
&gt; &gt; +    auto requestData = request.copyData().release();
&gt; &gt;      StringCapture capturedOutgoingReferrer(outgoingReferrer);
&gt; &gt;      m_loaderProxy.postTaskToLoader([this, requestData, options, capturedOutgoingReferrer](ScriptExecutionContext&amp; context) {
&gt; &gt;          ASSERT(isMainThread());
&gt; &gt;          Document&amp; document = downcast&lt;Document&gt;(context);
&gt; &gt;  
&gt; &gt; -        OwnPtr&lt;ResourceRequest&gt; request = ResourceRequest::adopt(adoptPtr(requestData));
&gt; &gt; +        std::unique_ptr&lt;ResourceRequest&gt; request = ResourceRequest::adopt(std::unique_ptr&lt;CrossThreadResourceRequestData&gt;(requestData));
&gt; 
&gt; Is there no way to pass the unique_ptr to the lambda? Here’s a thread about
&gt; it: &lt;http://stackoverflow.com/questions/8640393/move-capture-in-lambda&gt; and
&gt; &lt;http://stackoverflow.com/questions/8236521/how-to-capture-a-unique-ptr-into-
&gt; a-lambda-expression&gt;
&gt; 
&gt; This is a case where clarity clearly suffers. It was easy to see how the
&gt; leakPtr and adoptPtr matched up. It’s not nearly was easy to spot the
&gt; explicit std::unique_ptr construction and see that it matches up with the
&gt; release() call. Seems like we should make an adopt function for unique_ptr
&gt; in WTF so this idiom is more readable. I think C++14 will let us handle this
&gt; in a cleaner way passing the unique_ptr through the lambda.

Thank you for your kind comment! It seems that it is needed for me to see this subject more deeper. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1074785</commentid>
    <comment_count>5</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-03-05 18:20:11 -0800</bug_when>
    <thetext>(In reply to comment #2)

&gt; This is a case where clarity clearly suffers. It was easy to see how the
&gt; leakPtr and adoptPtr matched up. It’s not nearly was easy to spot the
&gt; explicit std::unique_ptr construction and see that it matches up with the
&gt; release() call. Seems like we should make an adopt function for unique_ptr
&gt; in WTF so this idiom is more readable. I think C++14 will let us handle this
&gt; in a cleaner way passing the unique_ptr through the lambda.

Joonghun, please file a new bug to support Darin&apos;s comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1074800</commentid>
    <comment_count>6</comment_count>
    <who name="Joonghun Park">jh718.park</who>
    <bug_when>2015-03-05 19:27:19 -0800</bug_when>
    <thetext>Ok, I will do it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1074826</commentid>
    <comment_count>7</comment_count>
      <attachid>247976</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-03-05 20:49:34 -0800</bug_when>
    <thetext>Comment on attachment 247976
Patch

Clearing flags on attachment: 247976

Committed r181136: &lt;http://trac.webkit.org/changeset/181136&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1074827</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-03-05 20:49:38 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1074891</commentid>
    <comment_count>9</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-03-06 02:26:42 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; Comment on attachment 247976 [details]
&gt; Patch
&gt; 
&gt; Clearing flags on attachment: 247976
&gt; 
&gt; Committed r181136: &lt;http://trac.webkit.org/changeset/181136&gt;

It broke the WinCairo build: 
https://build.webkit.org/builders/WinCairo%2064-Bit%20Release/builds/44505

cc-ing WinCairo maintainers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1074899</commentid>
    <comment_count>10</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-03-06 03:15:52 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; (In reply to comment #7)
&gt; &gt; Comment on attachment 247976 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; Clearing flags on attachment: 247976
&gt; &gt; 
&gt; &gt; Committed r181136: &lt;http://trac.webkit.org/changeset/181136&gt;
&gt; 
&gt; It broke the WinCairo build: 
&gt; https://build.webkit.org/builders/WinCairo%2064-Bit%20Release/builds/44505
&gt; 
&gt; cc-ing WinCairo maintainers.

Speculative build fix in http://trac.webkit.org/changeset/181151.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>247959</attachid>
            <date>2015-03-05 09:54:18 -0800</date>
            <delta_ts>2015-03-05 12:09:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-142349-20150306025358.patch</filename>
            <type>text/plain</type>
            <size>12751</size>
            <attacher name="Joonghun Park">jh718.park</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgxMDc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjQwY2NkNzNjMWJiM2Jm
MDdiMzZjMjExN2Q2YTJjNDIyMjVlNzc4NS4uY2VkM2ZhZGVjOTVmYmE1NThkNTAyNTVjNTlhM2M1
NDNmNDc4MzZkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDE1LTAzLTA1ICBKb29u
Z2h1biBQYXJrICA8amg3MTgucGFya0BzYW1zdW5nLmNvbT4KKworICAgICAgICBVc2Ugc3RkOjp1
bmlxdWVfcHRyIGluc3RlYWQgb2YgUGFzc093blB0cnxPd25QdHIgZm9yIFJlc291cmNlUmVxdWVz
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQyMzQ5
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3
IHRlc3RzLCBubyBiZWhhdmlvciBjaGFuZ2VzLgorCisgICAgICAgICogbG9hZGVyL1dvcmtlclRo
cmVhZGFibGVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyVGhyZWFkYWJsZUxv
YWRlcjo6TWFpblRocmVhZEJyaWRnZTo6TWFpblRocmVhZEJyaWRnZSk6CisgICAgICAgICogbG9h
ZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lbW9yeUNhY2hl
OjpyZW1vdmVSZXF1ZXN0RnJvbVNlc3Npb25DYWNoZXMpOgorICAgICAgICAqIHBsYXRmb3JtL0Ny
b3NzVGhyZWFkQ29waWVyLmg6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJl
cXVlc3RCYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdEJhc2U6OmFk
b3B0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdEJhc2U6OmNvcHlEYXRhKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlUmVxdWVzdC5oOgorICAgICAgICAqIHBs
YXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXF1ZXN0Q0ZOZXQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVzb3VyY2VSZXF1ZXN0Ojpkb1BsYXRmb3JtQ29weURhdGEpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVzb3VyY2VSZXF1ZXN0Ojpkb1BsYXRmb3JtQWRvcHQpOgorICAgICAgICAqIHBsYXRm
b3JtL25ldHdvcmsvY3VybC9SZXNvdXJjZVJlcXVlc3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
c291cmNlUmVxdWVzdDo6ZG9QbGF0Zm9ybUNvcHlEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OlJl
c291cmNlUmVxdWVzdDo6ZG9QbGF0Zm9ybUFkb3B0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3
b3JrL3NvdXAvUmVzb3VyY2VSZXF1ZXN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJl
cXVlc3Q6OmRvUGxhdGZvcm1Db3B5RGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJl
cXVlc3Q6OmRvUGxhdGZvcm1BZG9wdCk6CisKIDIwMTUtMDMtMDUgIENhcmxvcyBHYXJjaWEgQ2Ft
cG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtTT1VQXSBDaGVjayBUTFMgZXJy
b3JzIGFzIHNvb24gYXMgdGhleSBhcmUgc2V0IGluIHRoZSBTb3VwTWVzc2FnZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIuY3BwCmluZGV4IDEwZmE5
OWEyOWEyNmVmNGRkOWE3NTYzMmUzNmU5M2QwNTk1ZWYwOTguLmY5MTA1YjU1NTc4NjExYTVlM2Fk
YWUwZjk3ZGQxYWQxOTg0YjNhZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9X
b3JrZXJUaHJlYWRhYmxlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvV29y
a2VyVGhyZWFkYWJsZUxvYWRlci5jcHAKQEAgLTkxLDEzICs5MSwxMyBAQCBXb3JrZXJUaHJlYWRh
YmxlTG9hZGVyOjpNYWluVGhyZWFkQnJpZGdlOjpNYWluVGhyZWFkQnJpZGdlKFBhc3NSZWZQdHI8
VGhyZWFkYWJsZQogewogICAgIEFTU0VSVChtX3dvcmtlckNsaWVudFdyYXBwZXIuZ2V0KCkpOwog
Ci0gICAgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhKiByZXF1ZXN0RGF0YSA9IHJlcXVl
c3QuY29weURhdGEoKS5sZWFrUHRyKCk7CisgICAgYXV0byByZXF1ZXN0RGF0YSA9IHJlcXVlc3Qu
Y29weURhdGEoKS5yZWxlYXNlKCk7CiAgICAgU3RyaW5nQ2FwdHVyZSBjYXB0dXJlZE91dGdvaW5n
UmVmZXJyZXIob3V0Z29pbmdSZWZlcnJlcik7CiAgICAgbV9sb2FkZXJQcm94eS5wb3N0VGFza1Rv
TG9hZGVyKFt0aGlzLCByZXF1ZXN0RGF0YSwgb3B0aW9ucywgY2FwdHVyZWRPdXRnb2luZ1JlZmVy
cmVyXShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0KSB7CiAgICAgICAgIEFTU0VSVChp
c01haW5UaHJlYWQoKSk7CiAgICAgICAgIERvY3VtZW50JiBkb2N1bWVudCA9IGRvd25jYXN0PERv
Y3VtZW50Pihjb250ZXh0KTsKIAotICAgICAgICBPd25QdHI8UmVzb3VyY2VSZXF1ZXN0PiByZXF1
ZXN0ID0gUmVzb3VyY2VSZXF1ZXN0OjphZG9wdChhZG9wdFB0cihyZXF1ZXN0RGF0YSkpOworICAg
ICAgICBzdGQ6OnVuaXF1ZV9wdHI8UmVzb3VyY2VSZXF1ZXN0PiByZXF1ZXN0ID0gUmVzb3VyY2VS
ZXF1ZXN0OjphZG9wdChzdGQ6OnVuaXF1ZV9wdHI8Q3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3RE
YXRhPihyZXF1ZXN0RGF0YSkpOwogICAgICAgICByZXF1ZXN0LT5zZXRIVFRQUmVmZXJyZXIoY2Fw
dHVyZWRPdXRnb2luZ1JlZmVycmVyLnN0cmluZygpKTsKIAogICAgICAgICAvLyBGSVhNRTogSWYg
dGhlIGEgc2l0ZSByZXF1ZXN0cyBhIGxvY2FsIHJlc291cmNlLCB0aGVuIHRoaXMgd2lsbCByZXR1
cm4gYSBub24temVybyB2YWx1ZSBidXQgdGhlIHN5bmMgcGF0aApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHAKaW5kZXggNWYzNzZkNGM2M2M1NzlkMjAwZThjNDli
ZjM2OWJkM2M4YjA0MTAxOC4uODA0ODZkNDFkNWJkMzMzYjU2NDA2ODAwNjU1NGY2ZjlhZTg5NDVl
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwCkBAIC02
NTQsOSArNjU0LDkgQEAgdm9pZCBNZW1vcnlDYWNoZTo6YWRqdXN0U2l6ZShib29sIGxpdmUsIGlu
dCBkZWx0YSkKIHZvaWQgTWVtb3J5Q2FjaGU6OnJlbW92ZVJlcXVlc3RGcm9tU2Vzc2lvbkNhY2hl
cyhTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBjb25zdCBSZXNvdXJjZVJlcXVlc3Qm
IHJlcXVlc3QpCiB7CiAgICAgaWYgKGlzPFdvcmtlckdsb2JhbFNjb3BlPihjb250ZXh0KSkgewot
ICAgICAgICBDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGEqIHJlcXVlc3REYXRhID0gcmVx
dWVzdC5jb3B5RGF0YSgpLmxlYWtQdHIoKTsKKyAgICAgICAgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJl
cXVlc3REYXRhKiByZXF1ZXN0RGF0YSA9IHJlcXVlc3QuY29weURhdGEoKS5yZWxlYXNlKCk7CiAg
ICAgICAgIGRvd25jYXN0PFdvcmtlckdsb2JhbFNjb3BlPihjb250ZXh0KS50aHJlYWQoKS53b3Jr
ZXJMb2FkZXJQcm94eSgpLnBvc3RUYXNrVG9Mb2FkZXIoW3JlcXVlc3REYXRhXSAoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCYgY29udGV4dCkgewotICAgICAgICAgICAgT3duUHRyPFJlc291cmNlUmVx
dWVzdD4gcmVxdWVzdChSZXNvdXJjZVJlcXVlc3Q6OmFkb3B0KGFkb3B0UHRyKHJlcXVlc3REYXRh
KSkpOworICAgICAgICAgICAgYXV0byByZXF1ZXN0KFJlc291cmNlUmVxdWVzdDo6YWRvcHQoc3Rk
Ojp1bmlxdWVfcHRyPENyb3NzVGhyZWFkUmVzb3VyY2VSZXF1ZXN0RGF0YT4ocmVxdWVzdERhdGEp
KSk7CiAgICAgICAgICAgICBNZW1vcnlDYWNoZTo6cmVtb3ZlUmVxdWVzdEZyb21TZXNzaW9uQ2Fj
aGVzKGNvbnRleHQsICpyZXF1ZXN0KTsKICAgICAgICAgfSk7CiAgICAgICAgIHJldHVybjsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0Nyb3NzVGhyZWFkQ29waWVyLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Dcm9zc1RocmVhZENvcGllci5oCmluZGV4IGExY2JiN2Vi
ODRiNzhjNzlkNzE5ZTlhMmE3MTQwNTNjNDVmNDM2MGYuLmM5ODA5NzE4MzY4N2QxZDkwN2U0ZDNk
YWNkYjM4NTMyMmE3MzZiZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0Ny
b3NzVGhyZWFkQ29waWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ3Jvc3NUaHJl
YWRDb3BpZXIuaApAQCAtMTM3LDcgKzEzNyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICB9
OwogCiAgICAgdGVtcGxhdGU8PiBzdHJ1Y3QgQ3Jvc3NUaHJlYWRDb3BpZXJCYXNlPGZhbHNlLCBm
YWxzZSwgUmVzb3VyY2VSZXF1ZXN0PiB7Ci0gICAgICAgIHR5cGVkZWYgUGFzc093blB0cjxDcm9z
c1RocmVhZFJlc291cmNlUmVxdWVzdERhdGE+IFR5cGU7CisgICAgICAgIHR5cGVkZWYgc3RkOjp1
bmlxdWVfcHRyPENyb3NzVGhyZWFkUmVzb3VyY2VSZXF1ZXN0RGF0YT4gVHlwZTsKICAgICAgICAg
c3RhdGljIFR5cGUgY29weShjb25zdCBSZXNvdXJjZVJlcXVlc3QmKTsKICAgICB9OwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJh
c2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RC
YXNlLmNwcAppbmRleCA5NGRjY2I5YzZhNGYxYTNkODZjMzE0YzNkZjc4NDM5MjliYWI2MTBkLi45
NTA4ZmZkNWRhNzQyOGEzNTE2OWZmMGQ2ODM2NTZkMmRkYWIzZmMxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHAK
QEAgLTI4LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUgIkhUVFBIZWFkZXJOYW1lcy5oIgogI2luY2x1
ZGUgIlJlc291cmNlUmVxdWVzdC5oIgotI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDksOSArNDgsOSBAQCBpbmxpbmUgY29uc3QgUmVzb3Vy
Y2VSZXF1ZXN0JiBSZXNvdXJjZVJlcXVlc3RCYXNlOjphc1Jlc291cmNlUmVxdWVzdCgpIGNvbnN0
CiAgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxjb25zdCBSZXNvdXJjZVJlcXVlc3QqPih0aGlzKTsK
IH0KIAotUGFzc093blB0cjxSZXNvdXJjZVJlcXVlc3Q+IFJlc291cmNlUmVxdWVzdEJhc2U6OmFk
b3B0KFBhc3NPd25QdHI8Q3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhPiBkYXRhKQorc3Rk
Ojp1bmlxdWVfcHRyPFJlc291cmNlUmVxdWVzdD4gUmVzb3VyY2VSZXF1ZXN0QmFzZTo6YWRvcHQo
c3RkOjp1bmlxdWVfcHRyPENyb3NzVGhyZWFkUmVzb3VyY2VSZXF1ZXN0RGF0YT4gZGF0YSkKIHsK
LSAgICBPd25QdHI8UmVzb3VyY2VSZXF1ZXN0PiByZXF1ZXN0ID0gYWRvcHRQdHIobmV3IFJlc291
cmNlUmVxdWVzdCgpKTsKKyAgICBhdXRvIHJlcXVlc3QgPSBzdGQ6Om1ha2VfdW5pcXVlPFJlc291
cmNlUmVxdWVzdD4oKTsKICAgICByZXF1ZXN0LT5zZXRVUkwoZGF0YS0+bV91cmwpOwogICAgIHJl
cXVlc3QtPnNldENhY2hlUG9saWN5KGRhdGEtPm1fY2FjaGVQb2xpY3kpOwogICAgIHJlcXVlc3Qt
PnNldFRpbWVvdXRJbnRlcnZhbChkYXRhLT5tX3RpbWVvdXRJbnRlcnZhbCk7CkBAIC03NywxMyAr
NzYsMTMgQEAgUGFzc093blB0cjxSZXNvdXJjZVJlcXVlc3Q+IFJlc291cmNlUmVxdWVzdEJhc2U6
OmFkb3B0KFBhc3NPd25QdHI8Q3Jvc3NUaHJlYWRSZXMKICAgICB9CiAgICAgcmVxdWVzdC0+c2V0
SFRUUEJvZHkoZGF0YS0+bV9odHRwQm9keSk7CiAgICAgcmVxdWVzdC0+c2V0QWxsb3dDb29raWVz
KGRhdGEtPm1fYWxsb3dDb29raWVzKTsKLSAgICByZXF1ZXN0LT5kb1BsYXRmb3JtQWRvcHQoZGF0
YSk7Ci0gICAgcmV0dXJuIHJlcXVlc3QucmVsZWFzZSgpOworICAgIHJlcXVlc3QtPmRvUGxhdGZv
cm1BZG9wdChXVEY6Om1vdmUoZGF0YSkpOworICAgIHJldHVybiByZXF1ZXN0OwogfQogCi1QYXNz
T3duUHRyPENyb3NzVGhyZWFkUmVzb3VyY2VSZXF1ZXN0RGF0YT4gUmVzb3VyY2VSZXF1ZXN0QmFz
ZTo6Y29weURhdGEoKSBjb25zdAorc3RkOjp1bmlxdWVfcHRyPENyb3NzVGhyZWFkUmVzb3VyY2VS
ZXF1ZXN0RGF0YT4gUmVzb3VyY2VSZXF1ZXN0QmFzZTo6Y29weURhdGEoKSBjb25zdAogewotICAg
IE93blB0cjxDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGE+IGRhdGEgPSBhZG9wdFB0cihu
ZXcgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhKCkpOworICAgIGF1dG8gZGF0YSA9IHN0
ZDo6bWFrZV91bmlxdWU8Q3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhPigpOwogICAgIGRh
dGEtPm1fdXJsID0gdXJsKCkuY29weSgpOwogICAgIGRhdGEtPm1fY2FjaGVQb2xpY3kgPSBjYWNo
ZVBvbGljeSgpOwogICAgIGRhdGEtPm1fdGltZW91dEludGVydmFsID0gdGltZW91dEludGVydmFs
KCk7CkBAIC0xMDAsNyArOTksNyBAQCBQYXNzT3duUHRyPENyb3NzVGhyZWFkUmVzb3VyY2VSZXF1
ZXN0RGF0YT4gUmVzb3VyY2VSZXF1ZXN0QmFzZTo6Y29weURhdGEoKSBjb25zdAogICAgIGlmICht
X2h0dHBCb2R5KQogICAgICAgICBkYXRhLT5tX2h0dHBCb2R5ID0gbV9odHRwQm9keS0+ZGVlcENv
cHkoKTsKICAgICBkYXRhLT5tX2FsbG93Q29va2llcyA9IG1fYWxsb3dDb29raWVzOwotICAgIHJl
dHVybiBhc1Jlc291cmNlUmVxdWVzdCgpLmRvUGxhdGZvcm1Db3B5RGF0YShkYXRhLnJlbGVhc2Uo
KSk7CisgICAgcmV0dXJuIGFzUmVzb3VyY2VSZXF1ZXN0KCkuZG9QbGF0Zm9ybUNvcHlEYXRhKFdU
Rjo6bW92ZShkYXRhKSk7CiB9CiAKIGJvb2wgUmVzb3VyY2VSZXF1ZXN0QmFzZTo6aXNFbXB0eSgp
IGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291
cmNlUmVxdWVzdEJhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3Vy
Y2VSZXF1ZXN0QmFzZS5oCmluZGV4IGI2NDBlYjY1NDVlZTNlOTQ1YWZjNzg3MmMyMDk1MGUwNTA3
NDUyZWEuLmVjYWUyMjdhMWI5MTEzYmRjN2UxNDFjN2E3ZjUzYTQzMjc4NzQzMmQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFz
ZS5oCkBAIC01NCwxMCArNTQsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFJl
c291cmNlUmVxdWVzdEJhc2UgewogICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAg
ICBwdWJsaWM6Ci0gICAgICAgIHN0YXRpYyBQYXNzT3duUHRyPFJlc291cmNlUmVxdWVzdD4gYWRv
cHQoUGFzc093blB0cjxDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGE+KTsKKyAgICAgICAg
c3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxSZXNvdXJjZVJlcXVlc3Q+IGFkb3B0KHN0ZDo6dW5pcXVl
X3B0cjxDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGE+KTsKIAogICAgICAgICAvLyBHZXRz
IGEgY29weSBvZiB0aGUgZGF0YSBzdWl0YWJsZSBmb3IgcGFzc2luZyB0byBhbm90aGVyIHRocmVh
ZC4KLSAgICAgICAgUGFzc093blB0cjxDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGE+IGNv
cHlEYXRhKCkgY29uc3Q7CisgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxDcm9zc1RocmVhZFJlc291
cmNlUmVxdWVzdERhdGE+IGNvcHlEYXRhKCkgY29uc3Q7CiAKICAgICAgICAgV0VCQ09SRV9FWFBP
UlQgYm9vbCBpc051bGwoKSBjb25zdDsKICAgICAgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBpc0Vt
cHR5KCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L2NmL1Jlc291cmNlUmVxdWVzdC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9j
Zi9SZXNvdXJjZVJlcXVlc3QuaAppbmRleCBkZjVhY2QwZmU3N2I3ZTI4NzJjNzllYzE5ODljMzA2
NTExOGQxZDk5Li5iMTQwYTg3ZjA5MzQzMjczZmNkNDY2YThkMTE4NjFkOTU3M2U0YmNhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlUmVxdWVz
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXF1
ZXN0LmgKQEAgLTE0MSw4ICsxNDEsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIE5T
TXV0YWJsZVVSTFJlcXVlc3QgKmVuc3VyZU11dGFibGVOU1VSTFJlcXVlc3QoKTsKICNlbmRpZgog
Ci0gICAgICAgIFBhc3NPd25QdHI8Q3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhPiBkb1Bs
YXRmb3JtQ29weURhdGEoUGFzc093blB0cjxDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGE+
KSBjb25zdDsKLSAgICAgICAgdm9pZCBkb1BsYXRmb3JtQWRvcHQoUGFzc093blB0cjxDcm9zc1Ro
cmVhZFJlc291cmNlUmVxdWVzdERhdGE+KTsKKyAgICAgICAgc3RkOjp1bmlxdWVfcHRyPENyb3Nz
VGhyZWFkUmVzb3VyY2VSZXF1ZXN0RGF0YT4gZG9QbGF0Zm9ybUNvcHlEYXRhKHN0ZDo6dW5pcXVl
X3B0cjxDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGE+KSBjb25zdDsKKyAgICAgICAgdm9p
ZCBkb1BsYXRmb3JtQWRvcHQoc3RkOjp1bmlxdWVfcHRyPENyb3NzVGhyZWFkUmVzb3VyY2VSZXF1
ZXN0RGF0YT4pOwogCiAjaWYgVVNFKENGTkVUV09SSykKICAgICAgICAgUmV0YWluUHRyPENGVVJM
UmVxdWVzdFJlZj4gbV9jZlJlcXVlc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlUmVxdWVzdENGTmV0LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXF1ZXN0Q0ZOZXQuY3BwCmluZGV4IGY2ZjJi
YzBmMGNiYjMzNTFlYWUwNTY2YWVkZTJmNDcyYmY3YjIyM2YuLjI0NWE5ODQ4NjliYThmZmUyMDQ1
OTQyNDM3ZWIyNTA0YzYyMDQ3OTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvY2YvUmVzb3VyY2VSZXF1ZXN0Q0ZOZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXF1ZXN0Q0ZOZXQuY3BwCkBAIC0yOCw3ICsy
OCw2IEBACiAKICNpbmNsdWRlICJIVFRQSGVhZGVyTmFtZXMuaCIKICNpbmNsdWRlICJSZXNvdXJj
ZVJlcXVlc3QuaCIKLSNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCiAjaWYgRU5BQkxFKFBV
QkxJQ19TVUZGSVhfTElTVCkKICNpbmNsdWRlICJQdWJsaWNTdWZmaXguaCIKQEAgLTM2Niw3ICsz
NjUsNyBAQCBTdHJpbmcgUmVzb3VyY2VSZXF1ZXN0OjpwYXJ0aXRpb25OYW1lKGNvbnN0IFN0cmlu
ZyYgZG9tYWluKQogfQogI2VuZGlmCiAKLVBhc3NPd25QdHI8Q3Jvc3NUaHJlYWRSZXNvdXJjZVJl
cXVlc3REYXRhPiBSZXNvdXJjZVJlcXVlc3Q6OmRvUGxhdGZvcm1Db3B5RGF0YShQYXNzT3duUHRy
PENyb3NzVGhyZWFkUmVzb3VyY2VSZXF1ZXN0RGF0YT4gZGF0YSkgY29uc3QKK3N0ZDo6dW5pcXVl
X3B0cjxDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGE+IFJlc291cmNlUmVxdWVzdDo6ZG9Q
bGF0Zm9ybUNvcHlEYXRhKHN0ZDo6dW5pcXVlX3B0cjxDcm9zc1RocmVhZFJlc291cmNlUmVxdWVz
dERhdGE+IGRhdGEpIGNvbnN0CiB7CiAjaWYgRU5BQkxFKENBQ0hFX1BBUlRJVElPTklORykKICAg
ICBkYXRhLT5tX2NhY2hlUGFydGl0aW9uID0gbV9jYWNoZVBhcnRpdGlvbjsKQEAgLTM3NCw3ICsz
NzMsNyBAQCBQYXNzT3duUHRyPENyb3NzVGhyZWFkUmVzb3VyY2VSZXF1ZXN0RGF0YT4gUmVzb3Vy
Y2VSZXF1ZXN0Ojpkb1BsYXRmb3JtQ29weURhdGEoUAogICAgIHJldHVybiBkYXRhOwogfQogCi12
b2lkIFJlc291cmNlUmVxdWVzdDo6ZG9QbGF0Zm9ybUFkb3B0KFBhc3NPd25QdHI8Q3Jvc3NUaHJl
YWRSZXNvdXJjZVJlcXVlc3REYXRhPiBkYXRhKQordm9pZCBSZXNvdXJjZVJlcXVlc3Q6OmRvUGxh
dGZvcm1BZG9wdChzdGQ6OnVuaXF1ZV9wdHI8Q3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRh
PiBkYXRhKQogewogI2lmIEVOQUJMRShDQUNIRV9QQVJUSVRJT05JTkcpCiAgICAgbV9jYWNoZVBh
cnRpdGlvbiA9IGRhdGEtPm1fY2FjaGVQYXJ0aXRpb247CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvUmVzb3VyY2VSZXF1ZXN0LmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvUmVzb3VyY2VSZXF1ZXN0LmgKaW5kZXggZGIzNGZl
YWY0YjcyMmY4YTMyNDY1MWRkZDMzODQzYWUwZTMwODVkOC4uOTFkZTM2Yzg4NjIxNzc4NzdlZGQx
NWE1YmNmYjZlYjhhZDQ5ZjU4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9jdXJsL1Jlc291cmNlUmVxdWVzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvY3VybC9SZXNvdXJjZVJlcXVlc3QuaApAQCAtMjksOCArMjksNiBAQAogCiAj
aW5jbHVkZSAiUmVzb3VyY2VSZXF1ZXN0QmFzZS5oIgogCi0jaW5jbHVkZSA8d3RmL1Bhc3NPd25Q
dHIuaD4KLQogdHlwZWRlZiBjb25zdCBzdHJ1Y3QgX0NGVVJMUmVxdWVzdCogQ0ZVUkxSZXF1ZXN0
UmVmOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC04MCw4ICs3OCw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAgICAgdm9pZCBkb1VwZGF0ZVBsYXRmb3JtSFRUUEJvZHkoKSB7IH0KICAg
ICAgICAgdm9pZCBkb1VwZGF0ZVJlc291cmNlSFRUUEJvZHkoKSB7IH0KIAotICAgICAgICBQYXNz
T3duUHRyPENyb3NzVGhyZWFkUmVzb3VyY2VSZXF1ZXN0RGF0YT4gZG9QbGF0Zm9ybUNvcHlEYXRh
KFBhc3NPd25QdHI8Q3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhPiBkYXRhKSBjb25zdCB7
IHJldHVybiBkYXRhOyB9Ci0gICAgICAgIHZvaWQgZG9QbGF0Zm9ybUFkb3B0KFBhc3NPd25QdHI8
Q3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhPikgeyB9CisgICAgICAgIHN0ZDo6dW5pcXVl
X3B0cjxDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGE+IGRvUGxhdGZvcm1Db3B5RGF0YShz
dGQ6OnVuaXF1ZV9wdHI8Q3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhPiBkYXRhKSBjb25z
dCB7IHJldHVybiBkYXRhOyB9CisgICAgICAgIHZvaWQgZG9QbGF0Zm9ybUFkb3B0KHN0ZDp1bmlx
dWVfcHRyPENyb3NzVGhyZWFkUmVzb3VyY2VSZXF1ZXN0RGF0YT4pIHsgfQogIAogICAgICAgICBz
dGF0aWMgYm9vbCBzX2h0dHBQaXBlbGluaW5nRW5hYmxlZDsKICAgICB9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVxdWVzdC5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVxdWVzdC5oCmlu
ZGV4IDNmYTA5MzRlZmI0MWU5NWUyMGYxNDAxZGJiNTMwN2E1ZmRiYzY0YWMuLjhhNjQyMTJlYTZh
YjliNzE4NTk1ODhjZDlhMTVkNzU5ZDlkNzY0NmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZVJlcXVlc3QuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXF1ZXN0LmgKQEAgLTMwLDcgKzMw
LDYgQEAKICNpbmNsdWRlICJHVW5pcXVlUHRyU291cC5oIgogI2luY2x1ZGUgIlJlc291cmNlUmVx
dWVzdEJhc2UuaCIKICNpbmNsdWRlIDxsaWJzb3VwL3NvdXAuaD4KLSNpbmNsdWRlIDx3dGYvUGFz
c093blB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTEyMSw4ICsxMjAsOCBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZvaWQgZG9VcGRhdGVQbGF0Zm9ybUhUVFBCb2R5
KCkgeyB9CiAgICAgICAgIHZvaWQgZG9VcGRhdGVSZXNvdXJjZUhUVFBCb2R5KCkgeyB9CiAKLSAg
ICAgICAgUGFzc093blB0cjxDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGE+IGRvUGxhdGZv
cm1Db3B5RGF0YShQYXNzT3duUHRyPENyb3NzVGhyZWFkUmVzb3VyY2VSZXF1ZXN0RGF0YT4gZGF0
YSkgY29uc3QgeyByZXR1cm4gZGF0YTsgfQotICAgICAgICB2b2lkIGRvUGxhdGZvcm1BZG9wdChQ
YXNzT3duUHRyPENyb3NzVGhyZWFkUmVzb3VyY2VSZXF1ZXN0RGF0YT4pIHsgfQorICAgICAgICBz
dGQ6OnVuaXF1ZV9wdHI8Q3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhPiBkb1BsYXRmb3Jt
Q29weURhdGEoc3RkOjp1bmlxdWVfcHRyPENyb3NzVGhyZWFkUmVzb3VyY2VSZXF1ZXN0RGF0YT4g
ZGF0YSkgY29uc3QgeyByZXR1cm4gZGF0YTsgfQorICAgICAgICB2b2lkIGRvUGxhdGZvcm1BZG9w
dChzdGQ6OnVuaXF1ZV9wdHI8Q3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhPikgeyB9CiAg
ICAgfTsKIAogICAgIHN0cnVjdCBDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGEgOiBwdWJs
aWMgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhQmFzZSB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>247976</attachid>
            <date>2015-03-05 12:10:04 -0800</date>
            <delta_ts>2015-03-05 20:49:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-142349-20150306050943.patch</filename>
            <type>text/plain</type>
            <size>12696</size>
            <attacher name="Joonghun Park">jh718.park</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgxMDkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTdiMmU0Zjc3ZGZjMDQ4
NjQ5NTU5NDY1YTViMTNmOGE4M2VlY2FhMS4uNTQ5OThhYWYxMjAxMGU3MTc3Y2M3NzBjOGEyMTdj
ZDJkNWI4ZjE4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDE1LTAzLTA1ICBKb29u
Z2h1biBQYXJrICA8amg3MTgucGFya0BzYW1zdW5nLmNvbT4KKworICAgICAgICBVc2Ugc3RkOjp1
bmlxdWVfcHRyIGluc3RlYWQgb2YgUGFzc093blB0cnxPd25QdHIgZm9yIFJlc291cmNlUmVxdWVz
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQyMzQ5
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgTm8gbmV3IHRl
c3RzLCBubyBiZWhhdmlvciBjaGFuZ2VzLgorCisgICAgICAgICogbG9hZGVyL1dvcmtlclRocmVh
ZGFibGVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyVGhyZWFkYWJsZUxvYWRl
cjo6TWFpblRocmVhZEJyaWRnZTo6TWFpblRocmVhZEJyaWRnZSk6CisgICAgICAgICogbG9hZGVy
L2NhY2hlL01lbW9yeUNhY2hlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lbW9yeUNhY2hlOjpy
ZW1vdmVSZXF1ZXN0RnJvbVNlc3Npb25DYWNoZXMpOgorICAgICAgICAqIHBsYXRmb3JtL0Nyb3Nz
VGhyZWFkQ29waWVyLmg6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVl
c3RCYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdEJhc2U6OmFkb3B0
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdEJhc2U6OmNvcHlEYXRhKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlUmVxdWVzdC5oOgorICAgICAgICAqIHBsYXRm
b3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXF1ZXN0Q0ZOZXQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVzb3VyY2VSZXF1ZXN0Ojpkb1BsYXRmb3JtQ29weURhdGEpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVzb3VyY2VSZXF1ZXN0Ojpkb1BsYXRmb3JtQWRvcHQpOgorICAgICAgICAqIHBsYXRmb3Jt
L25ldHdvcmsvY3VybC9SZXNvdXJjZVJlcXVlc3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291
cmNlUmVxdWVzdDo6ZG9QbGF0Zm9ybUNvcHlEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291
cmNlUmVxdWVzdDo6ZG9QbGF0Zm9ybUFkb3B0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3Jr
L3NvdXAvUmVzb3VyY2VSZXF1ZXN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVl
c3Q6OmRvUGxhdGZvcm1Db3B5RGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVl
c3Q6OmRvUGxhdGZvcm1BZG9wdCk6CisKIDIwMTUtMDMtMDQgIERlYW4gSmFja3NvbiAgPGRpbm9A
YXBwbGUuY29tPgogCiAgICAgICAgIFtpT1MgTWVkaWFdIFVzZSBhIGJsdXJyeSBiYWNrZ3JvdW5k
IGZvciBtZWRpYSBjb250cm9scwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1dv
cmtlclRocmVhZGFibGVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1dvcmtlclRo
cmVhZGFibGVMb2FkZXIuY3BwCmluZGV4IDEwZmE5OWEyOWEyNmVmNGRkOWE3NTYzMmUzNmU5M2Qw
NTk1ZWYwOTguLmVhMmRlNjIzM2JmOTBkOGMxOTViZmM4NTQ1MWQyOWE1ZTNiOTg4ZjMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5jcHAKQEAg
LTkxLDEzICs5MSwxMyBAQCBXb3JrZXJUaHJlYWRhYmxlTG9hZGVyOjpNYWluVGhyZWFkQnJpZGdl
OjpNYWluVGhyZWFkQnJpZGdlKFBhc3NSZWZQdHI8VGhyZWFkYWJsZQogewogICAgIEFTU0VSVCht
X3dvcmtlckNsaWVudFdyYXBwZXIuZ2V0KCkpOwogCi0gICAgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJl
cXVlc3REYXRhKiByZXF1ZXN0RGF0YSA9IHJlcXVlc3QuY29weURhdGEoKS5sZWFrUHRyKCk7Cisg
ICAgYXV0byByZXF1ZXN0RGF0YSA9IHJlcXVlc3QuY29weURhdGEoKS5yZWxlYXNlKCk7CiAgICAg
U3RyaW5nQ2FwdHVyZSBjYXB0dXJlZE91dGdvaW5nUmVmZXJyZXIob3V0Z29pbmdSZWZlcnJlcik7
CiAgICAgbV9sb2FkZXJQcm94eS5wb3N0VGFza1RvTG9hZGVyKFt0aGlzLCByZXF1ZXN0RGF0YSwg
b3B0aW9ucywgY2FwdHVyZWRPdXRnb2luZ1JlZmVycmVyXShTY3JpcHRFeGVjdXRpb25Db250ZXh0
JiBjb250ZXh0KSB7CiAgICAgICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAgICAgICAgIERv
Y3VtZW50JiBkb2N1bWVudCA9IGRvd25jYXN0PERvY3VtZW50Pihjb250ZXh0KTsKIAotICAgICAg
ICBPd25QdHI8UmVzb3VyY2VSZXF1ZXN0PiByZXF1ZXN0ID0gUmVzb3VyY2VSZXF1ZXN0OjphZG9w
dChhZG9wdFB0cihyZXF1ZXN0RGF0YSkpOworICAgICAgICBhdXRvIHJlcXVlc3QgPSBSZXNvdXJj
ZVJlcXVlc3Q6OmFkb3B0KHN0ZDo6dW5pcXVlX3B0cjxDcm9zc1RocmVhZFJlc291cmNlUmVxdWVz
dERhdGE+KHJlcXVlc3REYXRhKSk7CiAgICAgICAgIHJlcXVlc3QtPnNldEhUVFBSZWZlcnJlcihj
YXB0dXJlZE91dGdvaW5nUmVmZXJyZXIuc3RyaW5nKCkpOwogCiAgICAgICAgIC8vIEZJWE1FOiBJ
ZiB0aGUgYSBzaXRlIHJlcXVlc3RzIGEgbG9jYWwgcmVzb3VyY2UsIHRoZW4gdGhpcyB3aWxsIHJl
dHVybiBhIG5vbi16ZXJvIHZhbHVlIGJ1dCB0aGUgc3luYyBwYXRoCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNwcAppbmRleCA1ZjM3NmQ0YzYzYzU3OWQyMDBlOGM0
OWJmMzY5YmQzYzhiMDQxMDE4Li44MDQ4NmQ0MWQ1YmQzMzNiNTY0MDY4MDA2NTU0ZjZmOWFlODk0
NWU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHAKQEAg
LTY1NCw5ICs2NTQsOSBAQCB2b2lkIE1lbW9yeUNhY2hlOjphZGp1c3RTaXplKGJvb2wgbGl2ZSwg
aW50IGRlbHRhKQogdm9pZCBNZW1vcnlDYWNoZTo6cmVtb3ZlUmVxdWVzdEZyb21TZXNzaW9uQ2Fj
aGVzKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIGNvbnN0IFJlc291cmNlUmVxdWVz
dCYgcmVxdWVzdCkKIHsKICAgICBpZiAoaXM8V29ya2VyR2xvYmFsU2NvcGU+KGNvbnRleHQpKSB7
Ci0gICAgICAgIENyb3NzVGhyZWFkUmVzb3VyY2VSZXF1ZXN0RGF0YSogcmVxdWVzdERhdGEgPSBy
ZXF1ZXN0LmNvcHlEYXRhKCkubGVha1B0cigpOworICAgICAgICBDcm9zc1RocmVhZFJlc291cmNl
UmVxdWVzdERhdGEqIHJlcXVlc3REYXRhID0gcmVxdWVzdC5jb3B5RGF0YSgpLnJlbGVhc2UoKTsK
ICAgICAgICAgZG93bmNhc3Q8V29ya2VyR2xvYmFsU2NvcGU+KGNvbnRleHQpLnRocmVhZCgpLndv
cmtlckxvYWRlclByb3h5KCkucG9zdFRhc2tUb0xvYWRlcihbcmVxdWVzdERhdGFdIChTY3JpcHRF
eGVjdXRpb25Db250ZXh0JiBjb250ZXh0KSB7Ci0gICAgICAgICAgICBPd25QdHI8UmVzb3VyY2VS
ZXF1ZXN0PiByZXF1ZXN0KFJlc291cmNlUmVxdWVzdDo6YWRvcHQoYWRvcHRQdHIocmVxdWVzdERh
dGEpKSk7CisgICAgICAgICAgICBhdXRvIHJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0OjphZG9wdChz
dGQ6OnVuaXF1ZV9wdHI8Q3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhPihyZXF1ZXN0RGF0
YSkpKTsKICAgICAgICAgICAgIE1lbW9yeUNhY2hlOjpyZW1vdmVSZXF1ZXN0RnJvbVNlc3Npb25D
YWNoZXMoY29udGV4dCwgKnJlcXVlc3QpOwogICAgICAgICB9KTsKICAgICAgICAgcmV0dXJuOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ3Jvc3NUaHJlYWRDb3BpZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0Nyb3NzVGhyZWFkQ29waWVyLmgKaW5kZXggYTFjYmI3
ZWI4NGI3OGM3OWQ3MTllOWEyYTcxNDA1M2M0NWY0MzYwZi4uYzk4MDk3MTgzNjg3ZDFkOTA3ZTRk
M2RhY2RiMzg1MzIyYTczNmJlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Q3Jvc3NUaHJlYWRDb3BpZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Dcm9zc1Ro
cmVhZENvcGllci5oCkBAIC0xMzcsNyArMTM3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
IH07CiAKICAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBDcm9zc1RocmVhZENvcGllckJhc2U8ZmFsc2Us
IGZhbHNlLCBSZXNvdXJjZVJlcXVlc3Q+IHsKLSAgICAgICAgdHlwZWRlZiBQYXNzT3duUHRyPENy
b3NzVGhyZWFkUmVzb3VyY2VSZXF1ZXN0RGF0YT4gVHlwZTsKKyAgICAgICAgdHlwZWRlZiBzdGQ6
OnVuaXF1ZV9wdHI8Q3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhPiBUeXBlOwogICAgICAg
ICBzdGF0aWMgVHlwZSBjb3B5KGNvbnN0IFJlc291cmNlUmVxdWVzdCYpOwogICAgIH07CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0
QmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVz
dEJhc2UuY3BwCmluZGV4IDk0ZGNjYjljNmE0ZjFhM2Q4NmMzMTRjM2RmNzg0MzkyOWJhYjYxMGQu
Ljk1MDhmZmQ1ZGE3NDI4YTM1MTY5ZmYwZDY4MzY1NmQyZGRhYjNmYzEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmNw
cApAQCAtMjgsNyArMjgsNiBAQAogCiAjaW5jbHVkZSAiSFRUUEhlYWRlck5hbWVzLmgiCiAjaW5j
bHVkZSAiUmVzb3VyY2VSZXF1ZXN0LmgiCi0jaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00OSw5ICs0OCw5IEBAIGlubGluZSBjb25zdCBSZXNv
dXJjZVJlcXVlc3QmIFJlc291cmNlUmVxdWVzdEJhc2U6OmFzUmVzb3VyY2VSZXF1ZXN0KCkgY29u
c3QKICAgICByZXR1cm4gKnN0YXRpY19jYXN0PGNvbnN0IFJlc291cmNlUmVxdWVzdCo+KHRoaXMp
OwogfQogCi1QYXNzT3duUHRyPFJlc291cmNlUmVxdWVzdD4gUmVzb3VyY2VSZXF1ZXN0QmFzZTo6
YWRvcHQoUGFzc093blB0cjxDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGE+IGRhdGEpCitz
dGQ6OnVuaXF1ZV9wdHI8UmVzb3VyY2VSZXF1ZXN0PiBSZXNvdXJjZVJlcXVlc3RCYXNlOjphZG9w
dChzdGQ6OnVuaXF1ZV9wdHI8Q3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhPiBkYXRhKQog
ewotICAgIE93blB0cjxSZXNvdXJjZVJlcXVlc3Q+IHJlcXVlc3QgPSBhZG9wdFB0cihuZXcgUmVz
b3VyY2VSZXF1ZXN0KCkpOworICAgIGF1dG8gcmVxdWVzdCA9IHN0ZDo6bWFrZV91bmlxdWU8UmVz
b3VyY2VSZXF1ZXN0PigpOwogICAgIHJlcXVlc3QtPnNldFVSTChkYXRhLT5tX3VybCk7CiAgICAg
cmVxdWVzdC0+c2V0Q2FjaGVQb2xpY3koZGF0YS0+bV9jYWNoZVBvbGljeSk7CiAgICAgcmVxdWVz
dC0+c2V0VGltZW91dEludGVydmFsKGRhdGEtPm1fdGltZW91dEludGVydmFsKTsKQEAgLTc3LDEz
ICs3NiwxMyBAQCBQYXNzT3duUHRyPFJlc291cmNlUmVxdWVzdD4gUmVzb3VyY2VSZXF1ZXN0QmFz
ZTo6YWRvcHQoUGFzc093blB0cjxDcm9zc1RocmVhZFJlcwogICAgIH0KICAgICByZXF1ZXN0LT5z
ZXRIVFRQQm9keShkYXRhLT5tX2h0dHBCb2R5KTsKICAgICByZXF1ZXN0LT5zZXRBbGxvd0Nvb2tp
ZXMoZGF0YS0+bV9hbGxvd0Nvb2tpZXMpOwotICAgIHJlcXVlc3QtPmRvUGxhdGZvcm1BZG9wdChk
YXRhKTsKLSAgICByZXR1cm4gcmVxdWVzdC5yZWxlYXNlKCk7CisgICAgcmVxdWVzdC0+ZG9QbGF0
Zm9ybUFkb3B0KFdURjo6bW92ZShkYXRhKSk7CisgICAgcmV0dXJuIHJlcXVlc3Q7CiB9CiAKLVBh
c3NPd25QdHI8Q3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhPiBSZXNvdXJjZVJlcXVlc3RC
YXNlOjpjb3B5RGF0YSgpIGNvbnN0CitzdGQ6OnVuaXF1ZV9wdHI8Q3Jvc3NUaHJlYWRSZXNvdXJj
ZVJlcXVlc3REYXRhPiBSZXNvdXJjZVJlcXVlc3RCYXNlOjpjb3B5RGF0YSgpIGNvbnN0CiB7Ci0g
ICAgT3duUHRyPENyb3NzVGhyZWFkUmVzb3VyY2VSZXF1ZXN0RGF0YT4gZGF0YSA9IGFkb3B0UHRy
KG5ldyBDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGEoKSk7CisgICAgYXV0byBkYXRhID0g
c3RkOjptYWtlX3VuaXF1ZTxDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGE+KCk7CiAgICAg
ZGF0YS0+bV91cmwgPSB1cmwoKS5jb3B5KCk7CiAgICAgZGF0YS0+bV9jYWNoZVBvbGljeSA9IGNh
Y2hlUG9saWN5KCk7CiAgICAgZGF0YS0+bV90aW1lb3V0SW50ZXJ2YWwgPSB0aW1lb3V0SW50ZXJ2
YWwoKTsKQEAgLTEwMCw3ICs5OSw3IEBAIFBhc3NPd25QdHI8Q3Jvc3NUaHJlYWRSZXNvdXJjZVJl
cXVlc3REYXRhPiBSZXNvdXJjZVJlcXVlc3RCYXNlOjpjb3B5RGF0YSgpIGNvbnN0CiAgICAgaWYg
KG1faHR0cEJvZHkpCiAgICAgICAgIGRhdGEtPm1faHR0cEJvZHkgPSBtX2h0dHBCb2R5LT5kZWVw
Q29weSgpOwogICAgIGRhdGEtPm1fYWxsb3dDb29raWVzID0gbV9hbGxvd0Nvb2tpZXM7Ci0gICAg
cmV0dXJuIGFzUmVzb3VyY2VSZXF1ZXN0KCkuZG9QbGF0Zm9ybUNvcHlEYXRhKGRhdGEucmVsZWFz
ZSgpKTsKKyAgICByZXR1cm4gYXNSZXNvdXJjZVJlcXVlc3QoKS5kb1BsYXRmb3JtQ29weURhdGEo
V1RGOjptb3ZlKGRhdGEpKTsKIH0KIAogYm9vbCBSZXNvdXJjZVJlcXVlc3RCYXNlOjppc0VtcHR5
KCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVz
b3VyY2VSZXF1ZXN0QmFzZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNv
dXJjZVJlcXVlc3RCYXNlLmgKaW5kZXggYjY0MGViNjU0NWVlM2U5NDVhZmM3ODcyYzIwOTUwZTA1
MDc0NTJlYS4uZWNhZTIyN2ExYjkxMTNiZGM3ZTE0MWM3YTdmNTNhNDMyNzg3NDMyZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RC
YXNlLmgKQEAgLTU0LDEwICs1NCwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3Mg
UmVzb3VyY2VSZXF1ZXN0QmFzZSB7CiAgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
ICAgIHB1YmxpYzoKLSAgICAgICAgc3RhdGljIFBhc3NPd25QdHI8UmVzb3VyY2VSZXF1ZXN0PiBh
ZG9wdChQYXNzT3duUHRyPENyb3NzVGhyZWFkUmVzb3VyY2VSZXF1ZXN0RGF0YT4pOworICAgICAg
ICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPFJlc291cmNlUmVxdWVzdD4gYWRvcHQoc3RkOjp1bmlx
dWVfcHRyPENyb3NzVGhyZWFkUmVzb3VyY2VSZXF1ZXN0RGF0YT4pOwogCiAgICAgICAgIC8vIEdl
dHMgYSBjb3B5IG9mIHRoZSBkYXRhIHN1aXRhYmxlIGZvciBwYXNzaW5nIHRvIGFub3RoZXIgdGhy
ZWFkLgotICAgICAgICBQYXNzT3duUHRyPENyb3NzVGhyZWFkUmVzb3VyY2VSZXF1ZXN0RGF0YT4g
Y29weURhdGEoKSBjb25zdDsKKyAgICAgICAgc3RkOjp1bmlxdWVfcHRyPENyb3NzVGhyZWFkUmVz
b3VyY2VSZXF1ZXN0RGF0YT4gY29weURhdGEoKSBjb25zdDsKIAogICAgICAgICBXRUJDT1JFX0VY
UE9SVCBib29sIGlzTnVsbCgpIGNvbnN0OwogICAgICAgICBXRUJDT1JFX0VYUE9SVCBib29sIGlz
RW1wdHkoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvY2YvUmVzb3VyY2VSZXF1ZXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L2NmL1Jlc291cmNlUmVxdWVzdC5oCmluZGV4IGRmNWFjZDBmZTc3YjdlMjg3MmM3OWVjMTk4OWMz
MDY1MTE4ZDFkOTkuLmIxNDBhODdmMDkzNDMyNzNmY2Q0NjZhOGQxMTg2MWQ5NTczZTRiY2EgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXF1
ZXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZVJl
cXVlc3QuaApAQCAtMTQxLDggKzE0MSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAg
TlNNdXRhYmxlVVJMUmVxdWVzdCAqZW5zdXJlTXV0YWJsZU5TVVJMUmVxdWVzdCgpOwogI2VuZGlm
CiAKLSAgICAgICAgUGFzc093blB0cjxDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGE+IGRv
UGxhdGZvcm1Db3B5RGF0YShQYXNzT3duUHRyPENyb3NzVGhyZWFkUmVzb3VyY2VSZXF1ZXN0RGF0
YT4pIGNvbnN0OwotICAgICAgICB2b2lkIGRvUGxhdGZvcm1BZG9wdChQYXNzT3duUHRyPENyb3Nz
VGhyZWFkUmVzb3VyY2VSZXF1ZXN0RGF0YT4pOworICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8Q3Jv
c3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhPiBkb1BsYXRmb3JtQ29weURhdGEoc3RkOjp1bmlx
dWVfcHRyPENyb3NzVGhyZWFkUmVzb3VyY2VSZXF1ZXN0RGF0YT4pIGNvbnN0OworICAgICAgICB2
b2lkIGRvUGxhdGZvcm1BZG9wdChzdGQ6OnVuaXF1ZV9wdHI8Q3Jvc3NUaHJlYWRSZXNvdXJjZVJl
cXVlc3REYXRhPik7CiAKICNpZiBVU0UoQ0ZORVRXT1JLKQogICAgICAgICBSZXRhaW5QdHI8Q0ZV
UkxSZXF1ZXN0UmVmPiBtX2NmUmVxdWVzdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXF1ZXN0Q0ZOZXQuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZVJlcXVlc3RDRk5ldC5jcHAKaW5kZXggZjZm
MmJjMGYwY2JiMzM1MWVhZTA1NjZhZWRlMmY0NzJiZjdiMjIzZi4uMjQ1YTk4NDg2OWJhOGZmZTIw
NDU5NDI0MzdlYjI1MDRjNjIwNDc5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9jZi9SZXNvdXJjZVJlcXVlc3RDRk5ldC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZVJlcXVlc3RDRk5ldC5jcHAKQEAgLTI4LDcg
KzI4LDYgQEAKIAogI2luY2x1ZGUgIkhUVFBIZWFkZXJOYW1lcy5oIgogI2luY2x1ZGUgIlJlc291
cmNlUmVxdWVzdC5oIgotI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKICNpZiBFTkFCTEUo
UFVCTElDX1NVRkZJWF9MSVNUKQogI2luY2x1ZGUgIlB1YmxpY1N1ZmZpeC5oIgpAQCAtMzY2LDcg
KzM2NSw3IEBAIFN0cmluZyBSZXNvdXJjZVJlcXVlc3Q6OnBhcnRpdGlvbk5hbWUoY29uc3QgU3Ry
aW5nJiBkb21haW4pCiB9CiAjZW5kaWYKIAotUGFzc093blB0cjxDcm9zc1RocmVhZFJlc291cmNl
UmVxdWVzdERhdGE+IFJlc291cmNlUmVxdWVzdDo6ZG9QbGF0Zm9ybUNvcHlEYXRhKFBhc3NPd25Q
dHI8Q3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhPiBkYXRhKSBjb25zdAorc3RkOjp1bmlx
dWVfcHRyPENyb3NzVGhyZWFkUmVzb3VyY2VSZXF1ZXN0RGF0YT4gUmVzb3VyY2VSZXF1ZXN0Ojpk
b1BsYXRmb3JtQ29weURhdGEoc3RkOjp1bmlxdWVfcHRyPENyb3NzVGhyZWFkUmVzb3VyY2VSZXF1
ZXN0RGF0YT4gZGF0YSkgY29uc3QKIHsKICNpZiBFTkFCTEUoQ0FDSEVfUEFSVElUSU9OSU5HKQog
ICAgIGRhdGEtPm1fY2FjaGVQYXJ0aXRpb24gPSBtX2NhY2hlUGFydGl0aW9uOwpAQCAtMzc0LDcg
KzM3Myw3IEBAIFBhc3NPd25QdHI8Q3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhPiBSZXNv
dXJjZVJlcXVlc3Q6OmRvUGxhdGZvcm1Db3B5RGF0YShQCiAgICAgcmV0dXJuIGRhdGE7CiB9CiAK
LXZvaWQgUmVzb3VyY2VSZXF1ZXN0Ojpkb1BsYXRmb3JtQWRvcHQoUGFzc093blB0cjxDcm9zc1Ro
cmVhZFJlc291cmNlUmVxdWVzdERhdGE+IGRhdGEpCit2b2lkIFJlc291cmNlUmVxdWVzdDo6ZG9Q
bGF0Zm9ybUFkb3B0KHN0ZDo6dW5pcXVlX3B0cjxDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERh
dGE+IGRhdGEpCiB7CiAjaWYgRU5BQkxFKENBQ0hFX1BBUlRJVElPTklORykKICAgICBtX2NhY2hl
UGFydGl0aW9uID0gZGF0YS0+bV9jYWNoZVBhcnRpdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9SZXNvdXJjZVJlcXVlc3QuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9SZXNvdXJjZVJlcXVlc3QuaAppbmRleCBkYjM0
ZmVhZjRiNzIyZjhhMzI0NjUxZGRkMzM4NDNhZTBlMzA4NWQ4Li45MWRlMzZjODg2MjE3Nzg3N2Vk
ZDE1YTViY2ZiNmViOGFkNDlmNTg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL2N1cmwvUmVzb3VyY2VSZXF1ZXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9jdXJsL1Jlc291cmNlUmVxdWVzdC5oCkBAIC0yOSw4ICsyOSw2IEBACiAK
ICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3RCYXNlLmgiCiAKLSNpbmNsdWRlIDx3dGYvUGFzc093
blB0ci5oPgotCiB0eXBlZGVmIGNvbnN0IHN0cnVjdCBfQ0ZVUkxSZXF1ZXN0KiBDRlVSTFJlcXVl
c3RSZWY7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTgwLDggKzc4LDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgICAgICB2b2lkIGRvVXBkYXRlUGxhdGZvcm1IVFRQQm9keSgpIHsgfQog
ICAgICAgICB2b2lkIGRvVXBkYXRlUmVzb3VyY2VIVFRQQm9keSgpIHsgfQogCi0gICAgICAgIFBh
c3NPd25QdHI8Q3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhPiBkb1BsYXRmb3JtQ29weURh
dGEoUGFzc093blB0cjxDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGE+IGRhdGEpIGNvbnN0
IHsgcmV0dXJuIGRhdGE7IH0KLSAgICAgICAgdm9pZCBkb1BsYXRmb3JtQWRvcHQoUGFzc093blB0
cjxDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGE+KSB7IH0KKyAgICAgICAgc3RkOjp1bmlx
dWVfcHRyPENyb3NzVGhyZWFkUmVzb3VyY2VSZXF1ZXN0RGF0YT4gZG9QbGF0Zm9ybUNvcHlEYXRh
KHN0ZDo6dW5pcXVlX3B0cjxDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGE+IGRhdGEpIGNv
bnN0IHsgcmV0dXJuIGRhdGE7IH0KKyAgICAgICAgdm9pZCBkb1BsYXRmb3JtQWRvcHQoc3RkOnVu
aXF1ZV9wdHI8Q3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhPikgeyB9CiAgCiAgICAgICAg
IHN0YXRpYyBib29sIHNfaHR0cFBpcGVsaW5pbmdFbmFibGVkOwogICAgIH07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXF1ZXN0Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXF1ZXN0LmgK
aW5kZXggM2ZhMDkzNGVmYjQxZTk1ZTIwZjE0MDFkYmI1MzA3YTVmZGJjNjRhYy4uOGE2NDIxMmVh
NmFiOWI3MTg1OTU4OGNkOWExNWQ3NTlkOWQ3NjQ2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVxdWVzdC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZVJlcXVlc3QuaApAQCAtMzAsNyAr
MzAsNiBAQAogI2luY2x1ZGUgIkdVbmlxdWVQdHJTb3VwLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VS
ZXF1ZXN0QmFzZS5oIgogI2luY2x1ZGUgPGxpYnNvdXAvc291cC5oPgotI2luY2x1ZGUgPHd0Zi9Q
YXNzT3duUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMTIxLDggKzEyMCw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCBkb1VwZGF0ZVBsYXRmb3JtSFRUUEJv
ZHkoKSB7IH0KICAgICAgICAgdm9pZCBkb1VwZGF0ZVJlc291cmNlSFRUUEJvZHkoKSB7IH0KIAot
ICAgICAgICBQYXNzT3duUHRyPENyb3NzVGhyZWFkUmVzb3VyY2VSZXF1ZXN0RGF0YT4gZG9QbGF0
Zm9ybUNvcHlEYXRhKFBhc3NPd25QdHI8Q3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhPiBk
YXRhKSBjb25zdCB7IHJldHVybiBkYXRhOyB9Ci0gICAgICAgIHZvaWQgZG9QbGF0Zm9ybUFkb3B0
KFBhc3NPd25QdHI8Q3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhPikgeyB9CisgICAgICAg
IHN0ZDo6dW5pcXVlX3B0cjxDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGE+IGRvUGxhdGZv
cm1Db3B5RGF0YShzdGQ6OnVuaXF1ZV9wdHI8Q3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRh
PiBkYXRhKSBjb25zdCB7IHJldHVybiBkYXRhOyB9CisgICAgICAgIHZvaWQgZG9QbGF0Zm9ybUFk
b3B0KHN0ZDo6dW5pcXVlX3B0cjxDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGE+KSB7IH0K
ICAgICB9OwogCiAgICAgc3RydWN0IENyb3NzVGhyZWFkUmVzb3VyY2VSZXF1ZXN0RGF0YSA6IHB1
YmxpYyBDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGFCYXNlIHsK
</data>

          </attachment>
      

    </bug>

</bugzilla>