<?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>167104</bug_id>
          
          <creation_ts>2017-01-16 18:36:52 -0800</creation_ts>
          <short_desc>[QuickLook] QLPreviewConverter should be owned by its delegate</short_desc>
          <delta_ts>2017-01-16 19:55:11 -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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andy Estes">aestes</reporter>
          <assigned_to name="Andy Estes">aestes</assigned_to>
          <cc>achristensen</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dbates</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>japhet</cc>
    
    <cc>kling</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1267261</commentid>
    <comment_count>0</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2017-01-16 18:36:52 -0800</bug_when>
    <thetext>[QuickLook] QLPreviewConverter should be owned by its delegate</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1267264</commentid>
    <comment_count>1</comment_count>
      <attachid>299007</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2017-01-16 18:46:23 -0800</bug_when>
    <thetext>Created attachment 299007
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1267265</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-01-16 18:48:18 -0800</bug_when>
    <thetext>Attachment 299007 did not pass style-queue:


ERROR: Source/WebCore/loader/ios/QuickLook.mm:331:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
ERROR: Source/WebCore/loader/ios/QuickLook.mm:356:  Extra space in capture list.  [whitespace/brackets] [4]
Total errors found: 2 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1267275</commentid>
    <comment_count>3</comment_count>
      <attachid>299007</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2017-01-16 18:59:25 -0800</bug_when>
    <thetext>Comment on attachment 299007
Patch

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

&gt; Source/WebCore/loader/ios/QuickLook.mm:183
&gt; +    static auto&amp; emptyClient = adoptRef(*new QuickLookHandleClient()).leakRef();

It would be nice to use NeverDestroyed here to avoid the permanent heap allocation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1267279</commentid>
    <comment_count>4</comment_count>
      <attachid>299012</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2017-01-16 19:17:13 -0800</bug_when>
    <thetext>Created attachment 299012
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1267288</commentid>
    <comment_count>5</comment_count>
      <attachid>299012</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-01-16 19:55:06 -0800</bug_when>
    <thetext>Comment on attachment 299012
Patch

Clearing flags on attachment: 299012

Committed r210796: &lt;http://trac.webkit.org/changeset/210796&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1267289</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-01-16 19:55:11 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>299007</attachid>
            <date>2017-01-16 18:46:23 -0800</date>
            <delta_ts>2017-01-16 19:17:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-167104-20170116184436.patch</filename>
            <type>text/plain</type>
            <size>12377</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEwNzkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjlhZDg4NGE0ZDEzMzQx
MGVjZDA0ZmJhYzZkNGI5MjhlM2NlMWU0Yi4uMjE5YmY1MmYwNGM1ZTAyNWQ5Y2YxODM1MTdjNmU4
OGZkOTJiMGEyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQzIEBACiAyMDE3LTAxLTE2ICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KIAorICAgICAgICBbUXVpY2tMb29rXSBRTFByZXZp
ZXdDb252ZXJ0ZXIgc2hvdWxkIGJlIG93bmVkIGJ5IGl0cyBkZWxlZ2F0ZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY3MTA0CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAgICAgICBJbnN0ZWFkIG9mIGhh
dmluZyBRdWlja0xvb2tIYW5kbGUgb3duIGJvdGggdGhlIFFMUHJldmlld0NvbnZlcnRlciBhbmQg
aXRzIGRlbGVnYXRlLCBoYXZlIGl0CisgICAgICAgIGp1c3Qgb3duIHRoZSBkZWxlZ2F0ZSBhbmQg
aGF2ZSB0aGUgZGVsZWdhdGUgb3duIHRoZSBRTFByZXZpZXdDb252ZXJ0ZXIuCisKKyAgICAgICAg
Tm8gY2hhbmdlIGluIGJlaGF2aW9yLiBDb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgorCisgICAg
ICAgICogbG9hZGVyL2lvcy9RdWlja0xvb2suaDoKKyAgICAgICAgKFdlYkNvcmU6OlF1aWNrTG9v
a0hhbmRsZTo6Y29udmVydGVyKTogTW92ZWQgb3V0LW9mLWxpbmUuCisgICAgICAgICogbG9hZGVy
L2lvcy9RdWlja0xvb2subW06IFJlbmFtZWQgV2ViUHJldmlld0NvbnZlcnRlckRlbGVnYXRlIHRv
IFdlYlByZXZpZXdDb252ZXJ0ZXIsIGFuZAorICAgICAgICBnYXZlIGl0IG93bmVyc2hpcCBvZiB0
aGUgUUxQcmV2aWV3Q29udmVydGVyLCBRdWlja0xvb2tIYW5kbGVDbGllbnQsIGFuZCBwcmV2aWV3
IHJlc3BvbnNlLgorICAgICAgICAoLVtXZWJQcmV2aWV3Q29udmVydGVyIGluaXRXaXRoUmVzb3Vy
Y2VMb2FkZXI6cmVzb3VyY2VSZXNwb25zZTpxdWlja0xvb2tIYW5kbGU6XSk6CisgICAgICAgIEFk
ZGVkIGEgUmVzb3VyY2VSZXNwb25zZSBwYXJhbWV0ZXIuCisgICAgICAgICgtW1dlYlByZXZpZXdD
b252ZXJ0ZXIgc2V0Q2xpZW50Ol0pOiBNb3ZlZCBmcm9tIFF1aWNrTG9va0hhbmRsZTo6c2V0Q2xp
ZW50KCkuCisgICAgICAgICgtW1dlYlByZXZpZXdDb252ZXJ0ZXIgYXBwZW5kRGF0YUFycmF5Ol0p
OiBNb3ZlZCBmcm9tIFF1aWNrTG9va0hhbmRsZTo6ZGlkUmVjZWl2ZURhdGFBcnJheSgpLgorICAg
ICAgICAoLVtXZWJQcmV2aWV3Q29udmVydGVyIGZpbmlzaGVkQXBwZW5kaW5nXSk6IE1vdmVkIGZy
b20gUXVpY2tMb29rSGFuZGxlOjpkaWRGaW5pc2hMb2FkaW5nKCkuCisgICAgICAgICgtW1dlYlBy
ZXZpZXdDb252ZXJ0ZXIgZmFpbGVkXSk6IE1vdmVkIGZyb20gUXVpY2tMb29rSGFuZGxlOjpkaWRG
YWlsKCkuCisgICAgICAgICgtW1dlYlByZXZpZXdDb252ZXJ0ZXIgcGxhdGZvcm1Db252ZXJ0ZXJd
KTogQWRkZWQgdG8gcmV0dXJuIHRoZSBRTFByZXZpZXdDb252ZXJ0ZXIuCisgICAgICAgICgtW1dl
YlByZXZpZXdDb252ZXJ0ZXIgX3NlbmREaWRSZWNlaXZlUmVzcG9uc2VJZk5lY2Vzc2FyeV0pOiBV
c2VkIF9wcmV2aWV3UmVzcG9uc2UgZGlyZWN0bHkuCisgICAgICAgIChXZWJDb3JlOjpRdWlja0xv
b2tIYW5kbGU6On5RdWlja0xvb2tIYW5kbGUpOiBSZW1vdmVkIHVubmVlZGVkIGxvZ2dpbmcuCisg
ICAgICAgIChXZWJDb3JlOjpRdWlja0xvb2tIYW5kbGU6OmRpZFJlY2VpdmVEYXRhKTogQ2FsbGVk
IC1bV2ViUHJldmlld0NvbnZlcnRlciBhcHBlbmREYXRhQXJyYXk6XS4KKyAgICAgICAgKFdlYkNv
cmU6OlF1aWNrTG9va0hhbmRsZTo6ZGlkUmVjZWl2ZUJ1ZmZlcik6IERpdHRvLgorICAgICAgICAo
V2ViQ29yZTo6UXVpY2tMb29rSGFuZGxlOjpkaWRGaW5pc2hMb2FkaW5nKTogQ2FsbGVkIC1bV2Vi
UHJldmlld0NvbnZlcnRlciBmaW5pc2hlZEFwcGVuZGluZ10uCisgICAgICAgIChXZWJDb3JlOjpR
dWlja0xvb2tIYW5kbGU6OmRpZEZhaWwpOiBDYWxsZWQgLVtXZWJQcmV2aWV3Q29udmVydGVyIGZh
aWxlZF0uCisgICAgICAgIChXZWJDb3JlOjpRdWlja0xvb2tIYW5kbGU6OnNldENsaWVudCk6IENh
bGxlZCAtW1dlYlByZXZpZXdDb252ZXJ0ZXIgc2V0Q2xpZW50Ol0uCisgICAgICAgIChXZWJDb3Jl
OjpRdWlja0xvb2tIYW5kbGU6OnByZXZpZXdGaWxlTmFtZSk6IFJldHJpZXZlZCB0aGUgUUxQcmV2
aWV3Q29udmVydGVyIHZpYQorICAgICAgICAtW1dlYlByZXZpZXdDb252ZXJ0ZXIgcGxhdGZvcm1D
b252ZXJ0ZXJdLgorICAgICAgICAoV2ViQ29yZTo6UXVpY2tMb29rSGFuZGxlOjpwcmV2aWV3VVRJ
KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpRdWlja0xvb2tIYW5kbGU6OnByZXZpZXdSZXF1
ZXN0VVJMKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpRdWlja0xvb2tIYW5kbGU6OmNvbnZl
cnRlcik6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6UXVpY2tMb29rSGFuZGxlOjpkaWRSZWNl
aXZlRGF0YUFycmF5KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlF1aWNrTG9va0hhbmRs
ZTo6cHJldmlld1Jlc3BvbnNlKTogRGVsZXRlZC4KKworMjAxNy0wMS0xNiAgQW5keSBFc3RlcyAg
PGFlc3Rlc0BhcHBsZS5jb20+CisKICAgICAgICAgW1F1aWNrTG9va10gRG8gc29tZSBjbGVhbnVw
IGluIFF1aWNrTG9va0hhbmRsZQogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTY2ODY0CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9p
b3MvUXVpY2tMb29rLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaW9zL1F1aWNrTG9vay5oCmlu
ZGV4IDY0ZDU0MThmMzBlNWI2YjUwYTJmNGFiNWJlNTFkYzk0YmZkYTI4N2EuLjVlNTRmMmNlNWE3
OTY3YjMzNjZhZjJlNjY3NmRhZTUwOGI2MjBkZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9pb3MvUXVpY2tMb29rLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2lvcy9R
dWlja0xvb2suaApAQCAtMjksNyArMjksNiBAQAogCiAjaW5jbHVkZSA8b2JqYy9vYmpjLmg+CiAj
aW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvUmVmLmg+CiAjaW5jbHVkZSA8
d3RmL1JldGFpblB0ci5oPgogCiBPQkpDX0NMQVNTIE5TQXJyYXk7CkBAIC00MSw3ICs0MCw3IEBA
IE9CSkNfQ0xBU1MgTlNVUkw7CiBPQkpDX0NMQVNTIE5TVVJMUmVxdWVzdDsKIE9CSkNfQ0xBU1Mg
TlNVUkxSZXNwb25zZTsKIE9CSkNfQ0xBU1MgUUxQcmV2aWV3Q29udmVydGVyOwotT0JKQ19DTEFT
UyBXZWJQcmV2aWV3Q29udmVydGVyRGVsZWdhdGU7CitPQkpDX0NMQVNTIFdlYlByZXZpZXdDb252
ZXJ0ZXI7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtODcsMjEgKzg2LDE1IEBAIHB1Ymxp
YzoKICAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgcHJldmlld0ZpbGVOYW1lKCkgY29uc3Q7CiAg
ICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIHByZXZpZXdVVEkoKSBjb25zdDsKICAgICBXRUJDT1JF
X0VYUE9SVCBOU1VSTCAqcHJldmlld1JlcXVlc3RVUkwoKSBjb25zdDsKLSAgICBOU1VSTFJlc3Bv
bnNlICpwcmV2aWV3UmVzcG9uc2UoKSBjb25zdDsKKyAgICBXRUJDT1JFX0VYUE9SVCBRTFByZXZp
ZXdDb252ZXJ0ZXIgKmNvbnZlcnRlcigpIGNvbnN0OwogICAgIE5TVVJMICpmaXJzdFJlcXVlc3RV
UkwoKSBjb25zdCB7IHJldHVybiBtX2ZpcnN0UmVxdWVzdFVSTC5nZXQoKTsgfQotICAgIFFMUHJl
dmlld0NvbnZlcnRlciAqY29udmVydGVyKCkgY29uc3QgeyByZXR1cm4gbV9jb252ZXJ0ZXIuZ2V0
KCk7IH0KIAogcHJpdmF0ZToKICAgICBmcmllbmQgc3RkOjp1bmlxdWVfcHRyPFF1aWNrTG9va0hh
bmRsZT4gc3RkOjptYWtlX3VuaXF1ZTxRdWlja0xvb2tIYW5kbGU+KFJlc291cmNlTG9hZGVyJiwg
Y29uc3QgUmVzb3VyY2VSZXNwb25zZSYpOwogICAgIFF1aWNrTG9va0hhbmRsZShSZXNvdXJjZUxv
YWRlciYsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKTsKIAotICAgIHZvaWQgZGlkUmVjZWl2ZURh
dGFBcnJheShOU0FycmF5ICopOwotCiAgICAgUmV0YWluUHRyPE5TVVJMPiBtX2ZpcnN0UmVxdWVz
dFVSTDsKLSAgICBSZXRhaW5QdHI8V2ViUHJldmlld0NvbnZlcnRlckRlbGVnYXRlPiBtX2RlbGVn
YXRlOwotICAgIFJldGFpblB0cjxRTFByZXZpZXdDb252ZXJ0ZXI+IG1fY29udmVydGVyOwotICAg
IFJldGFpblB0cjxOU1VSTFJlc3BvbnNlPiBtX3ByZXZpZXdSZXNwb25zZTsKLSAgICBSZWY8UXVp
Y2tMb29rSGFuZGxlQ2xpZW50PiBtX2NsaWVudDsKKyAgICBSZXRhaW5QdHI8V2ViUHJldmlld0Nv
bnZlcnRlcj4gbV9jb252ZXJ0ZXI7CiAgICAgYm9vbCBtX2ZpbmlzaGVkTG9hZGluZ0RhdGFJbnRv
Q29udmVydGVyIHsgZmFsc2UgfTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9pb3MvUXVpY2tMb29rLm1tIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2lvcy9RdWlja0xv
b2subW0KaW5kZXggNjY3ZDg2NDY3ZmJiNTdhODE3MGEyMWRhYjFhMzM0ZTk5ZWNmOTIxMC4uODQw
MjUzMWVhZmQ4YTJmYjFlMzFmMGEzOTE5ZTcwZGFkMDgyY2ZiOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL2lvcy9RdWlja0xvb2subW0KKysrIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL2lvcy9RdWlja0xvb2subW0KQEAgLTE3OCwyNyArMTc4LDgxIEBAIGNvbnN0IGNoYXIqIFdl
YkNvcmU6OlFMUHJldmlld1Byb3RvY29sKCkKICAgICByZXR1cm4gcHJldmlld1Byb3RvY29sLmdl
dCgpLmRhdGEoKTsKIH0KIAotQGludGVyZmFjZSBXZWJQcmV2aWV3Q29udmVydGVyRGVsZWdhdGUg
OiBOU09iamVjdCB7CitzdGF0aWMgUXVpY2tMb29rSGFuZGxlQ2xpZW50JiBlbXB0eUNsaWVudCgp
Cit7CisgICAgc3RhdGljIGF1dG8mIGVtcHR5Q2xpZW50ID0gYWRvcHRSZWYoKm5ldyBRdWlja0xv
b2tIYW5kbGVDbGllbnQoKSkubGVha1JlZigpOworICAgIHJldHVybiBlbXB0eUNsaWVudDsKK30K
KworQGludGVyZmFjZSBXZWJQcmV2aWV3Q29udmVydGVyIDogTlNPYmplY3QgewogICAgIFJlZlB0
cjxSZXNvdXJjZUxvYWRlcj4gX3Jlc291cmNlTG9hZGVyOwotICAgIFF1aWNrTG9va0hhbmRsZSog
X3F1aWNrTG9va0hhbmRsZTsKKyAgICBRdWlja0xvb2tIYW5kbGUqIF9oYW5kbGU7CisgICAgUmVm
UHRyPFF1aWNrTG9va0hhbmRsZUNsaWVudD4gX2NsaWVudDsKKyAgICBSZXRhaW5QdHI8UUxQcmV2
aWV3Q29udmVydGVyPiBfcGxhdGZvcm1Db252ZXJ0ZXI7CisgICAgUmV0YWluUHRyPE5TVVJMUmVz
cG9uc2U+IF9wcmV2aWV3UmVzcG9uc2U7CiAgICAgQk9PTCBfaGFzU2VudERpZFJlY2VpdmVSZXNw
b25zZTsKICAgICBCT09MIF9oYXNGYWlsZWQ7CiB9CisKKy0gKGluc3RhbmNldHlwZSlpbml0V2l0
aFJlc291cmNlTG9hZGVyOihSZXNvdXJjZUxvYWRlciYpcmVzb3VyY2VMb2FkZXIgcmVzb3VyY2VS
ZXNwb25zZTooY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpcmVzb3VyY2VSZXNwb25zZSBxdWlja0xv
b2tIYW5kbGU6KFF1aWNrTG9va0hhbmRsZSYpcXVpY2tMb29rSGFuZGxlOworLSAodm9pZClzZXRD
bGllbnQ6KFJlZjxRdWlja0xvb2tIYW5kbGVDbGllbnQ+JiYpY2xpZW50OworLSAodm9pZClhcHBl
bmREYXRhQXJyYXk6KE5TQXJyYXk8TlNEYXRhICo+ICopZGF0YUFycmF5OworLSAodm9pZClmaW5p
c2hlZEFwcGVuZGluZzsKKy0gKHZvaWQpZmFpbGVkOworCitAcHJvcGVydHkgKG5vbmF0b21pYywg
cmVhZG9ubHkpIFFMUHJldmlld0NvbnZlcnRlciAqcGxhdGZvcm1Db252ZXJ0ZXI7CisKIEBlbmQK
IAotQGltcGxlbWVudGF0aW9uIFdlYlByZXZpZXdDb252ZXJ0ZXJEZWxlZ2F0ZQorQGltcGxlbWVu
dGF0aW9uIFdlYlByZXZpZXdDb252ZXJ0ZXIKIAotLSAoaWQpaW5pdFdpdGhSZXNvdXJjZUxvYWRl
cjooUmVzb3VyY2VMb2FkZXImKXJlc291cmNlTG9hZGVyIHF1aWNrTG9va0hhbmRsZTooUXVpY2tM
b29rSGFuZGxlJilxdWlja0xvb2tIYW5kbGUKKy0gKGluc3RhbmNldHlwZSlpbml0V2l0aFJlc291
cmNlTG9hZGVyOihSZXNvdXJjZUxvYWRlciYpcmVzb3VyY2VMb2FkZXIgcmVzb3VyY2VSZXNwb25z
ZTooY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpcmVzb3VyY2VSZXNwb25zZSBxdWlja0xvb2tIYW5k
bGU6KFF1aWNrTG9va0hhbmRsZSYpcXVpY2tMb29rSGFuZGxlCiB7CiAgICAgc2VsZiA9IFtzdXBl
ciBpbml0XTsKICAgICBpZiAoIXNlbGYpCiAgICAgICAgIHJldHVybiBuaWw7CiAKICAgICBfcmVz
b3VyY2VMb2FkZXIgPSAmcmVzb3VyY2VMb2FkZXI7Ci0gICAgX3F1aWNrTG9va0hhbmRsZSA9ICZx
dWlja0xvb2tIYW5kbGU7CisgICAgX2hhbmRsZSA9ICZxdWlja0xvb2tIYW5kbGU7CisgICAgX2Ns
aWVudCA9ICZlbXB0eUNsaWVudCgpOworICAgIF9wbGF0Zm9ybUNvbnZlcnRlciA9IGFkb3B0TlMo
W2FsbG9jUUxQcmV2aWV3Q29udmVydGVySW5zdGFuY2UoKSBpbml0V2l0aENvbm5lY3Rpb246bmls
IGRlbGVnYXRlOnNlbGYgcmVzcG9uc2U6cmVzb3VyY2VSZXNwb25zZS5uc1VSTFJlc3BvbnNlKCkg
b3B0aW9uczpuaWxdKTsKKyAgICBfcHJldmlld1Jlc3BvbnNlID0gW19wbGF0Zm9ybUNvbnZlcnRl
ciBwcmV2aWV3UmVzcG9uc2VdOworCisgICAgTE9HKE5ldHdvcmssICJXZWJQcmV2aWV3Q29udmVy
dGVyIGNyZWF0ZWQgd2l0aCBwcmV2aWV3IGZpbGUgbmFtZSBcIiVzXCIuIiwgW19wbGF0Zm9ybUNv
bnZlcnRlciBwcmV2aWV3RmlsZU5hbWVdKTsKICAgICByZXR1cm4gc2VsZjsKIH0KIAorLSAodm9p
ZClzZXRDbGllbnQ6KFJlZjxRdWlja0xvb2tIYW5kbGVDbGllbnQ+JiYpY2xpZW50Cit7CisgICAg
X2NsaWVudCA9IFdURk1vdmUoY2xpZW50KTsKK30KKworLSAodm9pZClhcHBlbmREYXRhQXJyYXk6
KE5TQXJyYXk8TlNEYXRhICo+ICopZGF0YUFycmF5Cit7CisgICAgTE9HKE5ldHdvcmssICJXZWJQ
cmV2aWV3Q29udmVydGVyIGFwcGVuZGluZyBkYXRhIGFycmF5IHdpdGggY291bnQgJWxkLiIsIGRh
dGFBcnJheS5jb3VudCk7CisgICAgW19wbGF0Zm9ybUNvbnZlcnRlciBhcHBlbmREYXRhQXJyYXk6
ZGF0YUFycmF5XTsKKyAgICBfY2xpZW50LT5kaWRSZWNlaXZlRGF0YUFycmF5KChDRkFycmF5UmVm
KWRhdGFBcnJheSk7Cit9CisKKy0gKHZvaWQpZmluaXNoZWRBcHBlbmRpbmcKK3sKKyAgICBMT0co
TmV0d29yaywgIldlYlByZXZpZXdDb252ZXJ0ZXIgZmluaXNoZWQgYXBwZW5kaW5nIGRhdGEuIik7
CisgICAgW19wbGF0Zm9ybUNvbnZlcnRlciBmaW5pc2hlZEFwcGVuZGluZ0RhdGFdOworICAgIF9j
bGllbnQtPmRpZEZpbmlzaExvYWRpbmcoKTsKK30KKworLSAodm9pZClmYWlsZWQKK3sKKyAgICBM
T0coTmV0d29yaywgIldlYlByZXZpZXdDb252ZXJ0ZXIgZmFpbGVkLiIpOworICAgIFtfcGxhdGZv
cm1Db252ZXJ0ZXIgZmluaXNoQ29udmVydGluZ107CisgICAgX2NsaWVudC0+ZGlkRmFpbCgpOwor
fQorCistIChRTFByZXZpZXdDb252ZXJ0ZXIgKilwbGF0Zm9ybUNvbnZlcnRlcgoreworICAgIHJl
dHVybiBfcGxhdGZvcm1Db252ZXJ0ZXIuZ2V0KCk7Cit9CisKIC0gKHZvaWQpX3NlbmREaWRSZWNl
aXZlUmVzcG9uc2VJZk5lY2Vzc2FyeQogewogICAgIGlmIChfaGFzU2VudERpZFJlY2VpdmVSZXNw
b25zZSB8fCBfaGFzRmFpbGVkKQpAQCAtMjA2LDE0ICsyNjAsMTMgQEAgLSAodm9pZClfc2VuZERp
ZFJlY2VpdmVSZXNwb25zZUlmTmVjZXNzYXJ5CiAKICAgICAvLyBRdWlja0xvb2sgbWlnaHQgZmFp
bCB0byBjb252ZXJ0IGEgZG9jdW1lbnQgd2l0aG91dCBjYWxsaW5nIGNvbm5lY3Rpb246ZGlkRmFp
bFdpdGhFcnJvcjogKHNlZSA8cmRhcjovL3Byb2JsZW0vMTc5Mjc5NzI+KS4KICAgICAvLyBBIG5p
bCBNSU1FIHR5cGUgaXMgYW4gaW5kaWNhdGlvbiBvZiBzdWNoIGEgZmFpbHVyZSwgc28gc3RvcCBs
b2FkaW5nIHRoZSByZXNvdXJjZSBhbmQgaWdub3JlIHN1YnNlcXVlbnQgZGVsZWdhdGUgbWVzc2Fn
ZXMuCi0gICAgTlNVUkxSZXNwb25zZSAqcHJldmlld1Jlc3BvbnNlID0gX3F1aWNrTG9va0hhbmRs
ZS0+cHJldmlld1Jlc3BvbnNlKCk7Ci0gICAgaWYgKCFwcmV2aWV3UmVzcG9uc2UuTUlNRVR5cGUp
IHsKKyAgICBpZiAoIVtfcHJldmlld1Jlc3BvbnNlIE1JTUVUeXBlXSkgewogICAgICAgICBfaGFz
RmFpbGVkID0gWUVTOwogICAgICAgICBfcmVzb3VyY2VMb2FkZXItPmRpZEZhaWwoX3Jlc291cmNl
TG9hZGVyLT5jYW5ub3RTaG93VVJMRXJyb3IoKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAK
LSAgICBSZXNvdXJjZVJlc3BvbnNlIHJlc3BvbnNlIHsgcHJldmlld1Jlc3BvbnNlIH07CisgICAg
UmVzb3VyY2VSZXNwb25zZSByZXNwb25zZSB7IF9wcmV2aWV3UmVzcG9uc2UuZ2V0KCkgfTsKICAg
ICByZXNwb25zZS5zZXRJc1F1aWNrTG9vayh0cnVlKTsKIAogICAgIF9oYXNTZW50RGlkUmVjZWl2
ZVJlc3BvbnNlID0gWUVTOwpAQCAtMjczLDIzICszMjYsMTcgQEAgTlNTdHJpbmcgKmNyZWF0ZVRl
bXBvcmFyeUZpbGVGb3JRdWlja0xvb2soTlNTdHJpbmcgKmZpbGVOYW1lKQogICAgIHJldHVybiBz
dWNjZXNzID8gdW5pcXVlQ29udGVudFBhdGggOiBuaWw7CiB9CiAKLXN0YXRpYyBpbmxpbmUgUXVp
Y2tMb29rSGFuZGxlQ2xpZW50JiBlbXB0eUNsaWVudCgpCi17Ci0gICAgc3RhdGljIGF1dG8mIGVt
cHR5Q2xpZW50ID0gYWRvcHRSZWYoKm5ldyBRdWlja0xvb2tIYW5kbGVDbGllbnQoKSkubGVha1Jl
ZigpOwotICAgIHJldHVybiBlbXB0eUNsaWVudDsKLX0KLQogUXVpY2tMb29rSGFuZGxlOjpRdWlj
a0xvb2tIYW5kbGUoUmVzb3VyY2VMb2FkZXImIGxvYWRlciwgY29uc3QgUmVzb3VyY2VSZXNwb25z
ZSYgcmVzcG9uc2UpCiAgICAgOiBtX2ZpcnN0UmVxdWVzdFVSTCB7IGxvYWRlci5vcmlnaW5hbFJl
cXVlc3QoKS5uc1VSTFJlcXVlc3QoRG9Ob3RVcGRhdGVIVFRQQm9keSkuVVJMIH0KLSAgICAsIG1f
ZGVsZWdhdGUgeyBhZG9wdE5TKFtbV2ViUHJldmlld0NvbnZlcnRlckRlbGVnYXRlIGFsbG9jXSBp
bml0V2l0aFJlc291cmNlTG9hZGVyOmxvYWRlciBxdWlja0xvb2tIYW5kbGU6KnRoaXNdKSB9Ci0g
ICAgLCBtX2NvbnZlcnRlciB7IGFkb3B0TlMoW2FsbG9jUUxQcmV2aWV3Q29udmVydGVySW5zdGFu
Y2UoKSBpbml0V2l0aENvbm5lY3Rpb246bmlsIGRlbGVnYXRlOm1fZGVsZWdhdGUuZ2V0KCkgcmVz
cG9uc2U6cmVzcG9uc2UubnNVUkxSZXNwb25zZSgpIG9wdGlvbnM6bmlsXSkgfQotICAgICwgbV9w
cmV2aWV3UmVzcG9uc2UgeyBbbV9jb252ZXJ0ZXIgcHJldmlld1Jlc3BvbnNlXSB9Ci0gICAgLCBt
X2NsaWVudCB7IGVtcHR5Q2xpZW50KCkgfQorICAgICwgbV9jb252ZXJ0ZXIgeyBhZG9wdE5TKFtb
V2ViUHJldmlld0NvbnZlcnRlciBhbGxvY10gaW5pdFdpdGhSZXNvdXJjZUxvYWRlcjpsb2FkZXIg
cmVzb3VyY2VSZXNwb25zZTpyZXNwb25zZSBxdWlja0xvb2tIYW5kbGU6KnRoaXNdKSB9CiB7Ci0g
ICAgTE9HKE5ldHdvcmssICJRdWlja0xvb2tIYW5kbGU6OlF1aWNrTG9va0hhbmRsZSgpIC0gcHJl
dmlld0ZpbGVOYW1lOiAlcyIsIFttX2NvbnZlcnRlciBwcmV2aWV3RmlsZU5hbWVdKTsKICAgICBs
b2FkZXIuZGlkQ3JlYXRlUXVpY2tMb29rSGFuZGxlKCp0aGlzKTsKIH0KIAorUXVpY2tMb29rSGFu
ZGxlOjp+UXVpY2tMb29rSGFuZGxlKCkKK3sKK30KKwogYm9vbCBRdWlja0xvb2tIYW5kbGU6OnNo
b3VsZENyZWF0ZUZvck1JTUVUeXBlKGNvbnN0IFN0cmluZyYgbWltZVR5cGUpCiB7CiAgICAgcmV0
dXJuIFtRTFByZXZpZXdHZXRTdXBwb3J0ZWRNSU1FVHlwZXNTZXQoKSBjb250YWluc09iamVjdDpt
aW1lVHlwZV07CkBAIC0zMDYsNyArMzUzLDcgQEAgYm9vbCBRdWlja0xvb2tIYW5kbGU6OmRpZFJl
Y2VpdmVEYXRhKGNvbnN0IGNoYXIqIGRhdGEsIHVuc2lnbmVkIGxlbmd0aCkKICAgICBpZiAobV9m
aW5pc2hlZExvYWRpbmdEYXRhSW50b0NvbnZlcnRlcikKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
Ci0gICAgZGlkUmVjZWl2ZURhdGFBcnJheShAWyBbTlNEYXRhIGRhdGFXaXRoQnl0ZXM6ZGF0YSBs
ZW5ndGg6bGVuZ3RoXSBdKTsKKyAgICBbbV9jb252ZXJ0ZXIgYXBwZW5kRGF0YUFycmF5OkBbIFtO
U0RhdGEgZGF0YVdpdGhCeXRlczpkYXRhIGxlbmd0aDpsZW5ndGhdIF1dOwogICAgIHJldHVybiB0
cnVlOwogfQogCkBAIC0zMTUsNjYgKzM2Miw0OSBAQCBib29sIFF1aWNrTG9va0hhbmRsZTo6ZGlk
UmVjZWl2ZUJ1ZmZlcihjb25zdCBTaGFyZWRCdWZmZXImIGJ1ZmZlcikKICAgICBpZiAobV9maW5p
c2hlZExvYWRpbmdEYXRhSW50b0NvbnZlcnRlcikKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0g
ICAgZGlkUmVjZWl2ZURhdGFBcnJheShidWZmZXIuY3JlYXRlTlNEYXRhQXJyYXkoKS5nZXQoKSk7
CisgICAgW21fY29udmVydGVyIGFwcGVuZERhdGFBcnJheTpidWZmZXIuY3JlYXRlTlNEYXRhQXJy
YXkoKS5nZXQoKV07CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLXZvaWQgUXVpY2tMb29rSGFuZGxl
OjpkaWRSZWNlaXZlRGF0YUFycmF5KE5TQXJyYXkgKmRhdGFBcnJheSkKLXsKLSAgICBBU1NFUlQo
IW1fZmluaXNoZWRMb2FkaW5nRGF0YUludG9Db252ZXJ0ZXIpOwotICAgIExPRyhOZXR3b3JrLCAi
UXVpY2tMb29rSGFuZGxlOjpkaWRSZWNlaXZlRGF0YUFycmF5KCkiKTsKLSAgICBbbV9jb252ZXJ0
ZXIgYXBwZW5kRGF0YUFycmF5OmRhdGFBcnJheV07Ci0gICAgbV9jbGllbnQtPmRpZFJlY2VpdmVE
YXRhQXJyYXkoKENGQXJyYXlSZWYpZGF0YUFycmF5KTsKLX0KLQogYm9vbCBRdWlja0xvb2tIYW5k
bGU6OmRpZEZpbmlzaExvYWRpbmcoKQogewogICAgIGlmIChtX2ZpbmlzaGVkTG9hZGluZ0RhdGFJ
bnRvQ29udmVydGVyKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBMT0coTmV0d29yaywg
IlF1aWNrTG9va0hhbmRsZTo6ZGlkRmluaXNoTG9hZGluZygpIik7CiAgICAgbV9maW5pc2hlZExv
YWRpbmdEYXRhSW50b0NvbnZlcnRlciA9IHRydWU7Ci0gICAgW21fY29udmVydGVyIGZpbmlzaGVk
QXBwZW5kaW5nRGF0YV07Ci0gICAgbV9jbGllbnQtPmRpZEZpbmlzaExvYWRpbmcoKTsKKyAgICBb
bV9jb252ZXJ0ZXIgZmluaXNoZWRBcHBlbmRpbmddOwogICAgIHJldHVybiB0cnVlOwogfQogCiB2
b2lkIFF1aWNrTG9va0hhbmRsZTo6ZGlkRmFpbCgpCiB7Ci0gICAgTE9HKE5ldHdvcmssICJRdWlj
a0xvb2tIYW5kbGU6OmRpZEZhaWwoKSIpOwotICAgIG1fY2xpZW50LT5kaWRGYWlsKCk7Ci0gICAg
W21fY29udmVydGVyIGZpbmlzaENvbnZlcnRpbmddOworICAgIFttX2NvbnZlcnRlciBmYWlsZWRd
OwogICAgIG1fY29udmVydGVyID0gbnVsbHB0cjsKIH0KIAogdm9pZCBRdWlja0xvb2tIYW5kbGU6
OnNldENsaWVudChSZWY8UXVpY2tMb29rSGFuZGxlQ2xpZW50PiYmIGNsaWVudCkKIHsKLSAgICBt
X2NsaWVudCA9IFdURk1vdmUoY2xpZW50KTsKLX0KLQotUXVpY2tMb29rSGFuZGxlOjp+UXVpY2tM
b29rSGFuZGxlKCkKLXsKLSAgICBMT0coTmV0d29yaywgIlF1aWNrTG9va0hhbmRsZTo6flF1aWNr
TG9va0hhbmRsZSgpIik7CisgICAgW21fY29udmVydGVyIHNldENsaWVudDpXVEZNb3ZlKGNsaWVu
dCldOwogfQogCiBTdHJpbmcgUXVpY2tMb29rSGFuZGxlOjpwcmV2aWV3RmlsZU5hbWUoKSBjb25z
dAogewotICAgIHJldHVybiBbbV9jb252ZXJ0ZXIgcHJldmlld0ZpbGVOYW1lXTsKKyAgICByZXR1
cm4gW21fY29udmVydGVyIHBsYXRmb3JtQ29udmVydGVyXS5wcmV2aWV3RmlsZU5hbWU7CiB9CiAK
IFN0cmluZyBRdWlja0xvb2tIYW5kbGU6OnByZXZpZXdVVEkoKSBjb25zdAogewotICAgIHJldHVy
biBbbV9jb252ZXJ0ZXIgcHJldmlld1VUSV07CisgICAgcmV0dXJuIFttX2NvbnZlcnRlciBwbGF0
Zm9ybUNvbnZlcnRlcl0ucHJldmlld1VUSTsKIH0KIAogTlNVUkwgKlF1aWNrTG9va0hhbmRsZTo6
cHJldmlld1JlcXVlc3RVUkwoKSBjb25zdAogewotICAgIHJldHVybiBbbV9jb252ZXJ0ZXIgcHJl
dmlld1JlcXVlc3RdLlVSTDsKKyAgICByZXR1cm4gW21fY29udmVydGVyIHBsYXRmb3JtQ29udmVy
dGVyXS5wcmV2aWV3UmVxdWVzdC5VUkw7CiB9CiAKLU5TVVJMUmVzcG9uc2UgKlF1aWNrTG9va0hh
bmRsZTo6cHJldmlld1Jlc3BvbnNlKCkgY29uc3QKK1FMUHJldmlld0NvbnZlcnRlciAqUXVpY2tM
b29rSGFuZGxlOjpjb252ZXJ0ZXIoKSBjb25zdAogewotICAgIHJldHVybiBtX3ByZXZpZXdSZXNw
b25zZS5nZXQoKTsKKyAgICByZXR1cm4gW21fY29udmVydGVyIHBsYXRmb3JtQ29udmVydGVyXTsK
IH0KIAogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>299012</attachid>
            <date>2017-01-16 19:17:13 -0800</date>
            <delta_ts>2017-01-16 19:55:06 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-167104-20170116191526.patch</filename>
            <type>text/plain</type>
            <size>12363</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEwNzkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjlhZDg4NGE0ZDEzMzQx
MGVjZDA0ZmJhYzZkNGI5MjhlM2NlMWU0Yi4uM2EzNWQ4MDA3YjI5MDg2NjhmMmQ0MmJjZDljYWM1
OGVmY2ZlMjIzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQzIEBACiAyMDE3LTAxLTE2ICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KIAorICAgICAgICBbUXVpY2tMb29rXSBRTFByZXZp
ZXdDb252ZXJ0ZXIgc2hvdWxkIGJlIG93bmVkIGJ5IGl0cyBkZWxlZ2F0ZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY3MTA0CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgQW5kcmVhcyBLbGluZy4KKyAgICAgICAgCisgICAgICAgIEluc3RlYWQgb2YgaGF2
aW5nIFF1aWNrTG9va0hhbmRsZSBvd24gYm90aCB0aGUgUUxQcmV2aWV3Q29udmVydGVyIGFuZCBp
dHMgZGVsZWdhdGUsIGhhdmUgaXQKKyAgICAgICAganVzdCBvd24gdGhlIGRlbGVnYXRlIGFuZCBo
YXZlIHRoZSBkZWxlZ2F0ZSBvd24gdGhlIFFMUHJldmlld0NvbnZlcnRlci4KKworICAgICAgICBO
byBjaGFuZ2UgaW4gYmVoYXZpb3IuIENvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMuCisKKyAgICAg
ICAgKiBsb2FkZXIvaW9zL1F1aWNrTG9vay5oOgorICAgICAgICAoV2ViQ29yZTo6UXVpY2tMb29r
SGFuZGxlOjpjb252ZXJ0ZXIpOiBNb3ZlZCBvdXQtb2YtbGluZS4KKyAgICAgICAgKiBsb2FkZXIv
aW9zL1F1aWNrTG9vay5tbTogUmVuYW1lZCBXZWJQcmV2aWV3Q29udmVydGVyRGVsZWdhdGUgdG8g
V2ViUHJldmlld0NvbnZlcnRlciwgYW5kCisgICAgICAgIGdhdmUgaXQgb3duZXJzaGlwIG9mIHRo
ZSBRTFByZXZpZXdDb252ZXJ0ZXIsIFF1aWNrTG9va0hhbmRsZUNsaWVudCwgYW5kIHByZXZpZXcg
cmVzcG9uc2UuCisgICAgICAgICgtW1dlYlByZXZpZXdDb252ZXJ0ZXIgaW5pdFdpdGhSZXNvdXJj
ZUxvYWRlcjpyZXNvdXJjZVJlc3BvbnNlOnF1aWNrTG9va0hhbmRsZTpdKToKKyAgICAgICAgQWRk
ZWQgYSBSZXNvdXJjZVJlc3BvbnNlIHBhcmFtZXRlci4KKyAgICAgICAgKC1bV2ViUHJldmlld0Nv
bnZlcnRlciBzZXRDbGllbnQ6XSk6IE1vdmVkIGZyb20gUXVpY2tMb29rSGFuZGxlOjpzZXRDbGll
bnQoKS4KKyAgICAgICAgKC1bV2ViUHJldmlld0NvbnZlcnRlciBhcHBlbmREYXRhQXJyYXk6XSk6
IE1vdmVkIGZyb20gUXVpY2tMb29rSGFuZGxlOjpkaWRSZWNlaXZlRGF0YUFycmF5KCkuCisgICAg
ICAgICgtW1dlYlByZXZpZXdDb252ZXJ0ZXIgZmluaXNoZWRBcHBlbmRpbmddKTogTW92ZWQgZnJv
bSBRdWlja0xvb2tIYW5kbGU6OmRpZEZpbmlzaExvYWRpbmcoKS4KKyAgICAgICAgKC1bV2ViUHJl
dmlld0NvbnZlcnRlciBmYWlsZWRdKTogTW92ZWQgZnJvbSBRdWlja0xvb2tIYW5kbGU6OmRpZEZh
aWwoKS4KKyAgICAgICAgKC1bV2ViUHJldmlld0NvbnZlcnRlciBwbGF0Zm9ybUNvbnZlcnRlcl0p
OiBBZGRlZCB0byByZXR1cm4gdGhlIFFMUHJldmlld0NvbnZlcnRlci4KKyAgICAgICAgKC1bV2Vi
UHJldmlld0NvbnZlcnRlciBfc2VuZERpZFJlY2VpdmVSZXNwb25zZUlmTmVjZXNzYXJ5XSk6IFVz
ZWQgX3ByZXZpZXdSZXNwb25zZSBkaXJlY3RseS4KKyAgICAgICAgKFdlYkNvcmU6OlF1aWNrTG9v
a0hhbmRsZTo6flF1aWNrTG9va0hhbmRsZSk6IFJlbW92ZWQgdW5uZWVkZWQgbG9nZ2luZy4KKyAg
ICAgICAgKFdlYkNvcmU6OlF1aWNrTG9va0hhbmRsZTo6ZGlkUmVjZWl2ZURhdGEpOiBDYWxsZWQg
LVtXZWJQcmV2aWV3Q29udmVydGVyIGFwcGVuZERhdGFBcnJheTpdLgorICAgICAgICAoV2ViQ29y
ZTo6UXVpY2tMb29rSGFuZGxlOjpkaWRSZWNlaXZlQnVmZmVyKTogRGl0dG8uCisgICAgICAgIChX
ZWJDb3JlOjpRdWlja0xvb2tIYW5kbGU6OmRpZEZpbmlzaExvYWRpbmcpOiBDYWxsZWQgLVtXZWJQ
cmV2aWV3Q29udmVydGVyIGZpbmlzaGVkQXBwZW5kaW5nXS4KKyAgICAgICAgKFdlYkNvcmU6OlF1
aWNrTG9va0hhbmRsZTo6ZGlkRmFpbCk6IENhbGxlZCAtW1dlYlByZXZpZXdDb252ZXJ0ZXIgZmFp
bGVkXS4KKyAgICAgICAgKFdlYkNvcmU6OlF1aWNrTG9va0hhbmRsZTo6c2V0Q2xpZW50KTogQ2Fs
bGVkIC1bV2ViUHJldmlld0NvbnZlcnRlciBzZXRDbGllbnQ6XS4KKyAgICAgICAgKFdlYkNvcmU6
OlF1aWNrTG9va0hhbmRsZTo6cHJldmlld0ZpbGVOYW1lKTogUmV0cmlldmVkIHRoZSBRTFByZXZp
ZXdDb252ZXJ0ZXIgdmlhCisgICAgICAgIC1bV2ViUHJldmlld0NvbnZlcnRlciBwbGF0Zm9ybUNv
bnZlcnRlcl0uCisgICAgICAgIChXZWJDb3JlOjpRdWlja0xvb2tIYW5kbGU6OnByZXZpZXdVVEkp
OiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlF1aWNrTG9va0hhbmRsZTo6cHJldmlld1JlcXVl
c3RVUkwpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlF1aWNrTG9va0hhbmRsZTo6Y29udmVy
dGVyKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpRdWlja0xvb2tIYW5kbGU6OmRpZFJlY2Vp
dmVEYXRhQXJyYXkpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UXVpY2tMb29rSGFuZGxl
OjpwcmV2aWV3UmVzcG9uc2UpOiBEZWxldGVkLgorCisyMDE3LTAxLTE2ICBBbmR5IEVzdGVzICA8
YWVzdGVzQGFwcGxlLmNvbT4KKwogICAgICAgICBbUXVpY2tMb29rXSBEbyBzb21lIGNsZWFudXAg
aW4gUXVpY2tMb29rSGFuZGxlCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNjY4NjQKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2lv
cy9RdWlja0xvb2suaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pb3MvUXVpY2tMb29rLmgKaW5k
ZXggNjRkNTQxOGYzMGU1YjZiNTBhMmY0YWI1YmU1MWRjOTRiZmRhMjg3YS4uNWU1NGYyY2U1YTc5
NjdiMzM2NmFmMmU2Njc2ZGFlNTA4YjYyMGRlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2lvcy9RdWlja0xvb2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaW9zL1F1
aWNrTG9vay5oCkBAIC0yOSw3ICsyOSw2IEBACiAKICNpbmNsdWRlIDxvYmpjL29iamMuaD4KICNp
bmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9SZWYuaD4KICNpbmNsdWRlIDx3
dGYvUmV0YWluUHRyLmg+CiAKIE9CSkNfQ0xBU1MgTlNBcnJheTsKQEAgLTQxLDcgKzQwLDcgQEAg
T0JKQ19DTEFTUyBOU1VSTDsKIE9CSkNfQ0xBU1MgTlNVUkxSZXF1ZXN0OwogT0JKQ19DTEFTUyBO
U1VSTFJlc3BvbnNlOwogT0JKQ19DTEFTUyBRTFByZXZpZXdDb252ZXJ0ZXI7Ci1PQkpDX0NMQVNT
IFdlYlByZXZpZXdDb252ZXJ0ZXJEZWxlZ2F0ZTsKK09CSkNfQ0xBU1MgV2ViUHJldmlld0NvbnZl
cnRlcjsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC04NywyMSArODYsMTUgQEAgcHVibGlj
OgogICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBwcmV2aWV3RmlsZU5hbWUoKSBjb25zdDsKICAg
ICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgcHJldmlld1VUSSgpIGNvbnN0OwogICAgIFdFQkNPUkVf
RVhQT1JUIE5TVVJMICpwcmV2aWV3UmVxdWVzdFVSTCgpIGNvbnN0OwotICAgIE5TVVJMUmVzcG9u
c2UgKnByZXZpZXdSZXNwb25zZSgpIGNvbnN0OworICAgIFdFQkNPUkVfRVhQT1JUIFFMUHJldmll
d0NvbnZlcnRlciAqY29udmVydGVyKCkgY29uc3Q7CiAgICAgTlNVUkwgKmZpcnN0UmVxdWVzdFVS
TCgpIGNvbnN0IHsgcmV0dXJuIG1fZmlyc3RSZXF1ZXN0VVJMLmdldCgpOyB9Ci0gICAgUUxQcmV2
aWV3Q29udmVydGVyICpjb252ZXJ0ZXIoKSBjb25zdCB7IHJldHVybiBtX2NvbnZlcnRlci5nZXQo
KTsgfQogCiBwcml2YXRlOgogICAgIGZyaWVuZCBzdGQ6OnVuaXF1ZV9wdHI8UXVpY2tMb29rSGFu
ZGxlPiBzdGQ6Om1ha2VfdW5pcXVlPFF1aWNrTG9va0hhbmRsZT4oUmVzb3VyY2VMb2FkZXImLCBj
b25zdCBSZXNvdXJjZVJlc3BvbnNlJik7CiAgICAgUXVpY2tMb29rSGFuZGxlKFJlc291cmNlTG9h
ZGVyJiwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpOwogCi0gICAgdm9pZCBkaWRSZWNlaXZlRGF0
YUFycmF5KE5TQXJyYXkgKik7Ci0KICAgICBSZXRhaW5QdHI8TlNVUkw+IG1fZmlyc3RSZXF1ZXN0
VVJMOwotICAgIFJldGFpblB0cjxXZWJQcmV2aWV3Q29udmVydGVyRGVsZWdhdGU+IG1fZGVsZWdh
dGU7Ci0gICAgUmV0YWluUHRyPFFMUHJldmlld0NvbnZlcnRlcj4gbV9jb252ZXJ0ZXI7Ci0gICAg
UmV0YWluUHRyPE5TVVJMUmVzcG9uc2U+IG1fcHJldmlld1Jlc3BvbnNlOwotICAgIFJlZjxRdWlj
a0xvb2tIYW5kbGVDbGllbnQ+IG1fY2xpZW50OworICAgIFJldGFpblB0cjxXZWJQcmV2aWV3Q29u
dmVydGVyPiBtX2NvbnZlcnRlcjsKICAgICBib29sIG1fZmluaXNoZWRMb2FkaW5nRGF0YUludG9D
b252ZXJ0ZXIgeyBmYWxzZSB9OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL2lvcy9RdWlja0xvb2subW0gYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaW9zL1F1aWNrTG9v
ay5tbQppbmRleCA2NjdkODY0NjdmYmI1N2E4MTcwYTIxZGFiMWEzMzRlOTllY2Y5MjEwLi5jMWU1
N2FhODA3MTI3ODMyMTEwODRkMjZhMDFkOGM3OTc0ZWQ4OGNjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvaW9zL1F1aWNrTG9vay5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvaW9zL1F1aWNrTG9vay5tbQpAQCAtMTc4LDI3ICsxNzgsODEgQEAgY29uc3QgY2hhciogV2Vi
Q29yZTo6UUxQcmV2aWV3UHJvdG9jb2woKQogICAgIHJldHVybiBwcmV2aWV3UHJvdG9jb2wuZ2V0
KCkuZGF0YSgpOwogfQogCi1AaW50ZXJmYWNlIFdlYlByZXZpZXdDb252ZXJ0ZXJEZWxlZ2F0ZSA6
IE5TT2JqZWN0IHsKK3N0YXRpYyBRdWlja0xvb2tIYW5kbGVDbGllbnQmIGVtcHR5Q2xpZW50KCkK
K3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8UXVpY2tMb29rSGFuZGxlQ2xpZW50PiBlbXB0
eUNsaWVudDsKKyAgICByZXR1cm4gZW1wdHlDbGllbnQuZ2V0KCk7Cit9CisKK0BpbnRlcmZhY2Ug
V2ViUHJldmlld0NvbnZlcnRlciA6IE5TT2JqZWN0IHsKICAgICBSZWZQdHI8UmVzb3VyY2VMb2Fk
ZXI+IF9yZXNvdXJjZUxvYWRlcjsKLSAgICBRdWlja0xvb2tIYW5kbGUqIF9xdWlja0xvb2tIYW5k
bGU7CisgICAgUXVpY2tMb29rSGFuZGxlKiBfaGFuZGxlOworICAgIFJlZlB0cjxRdWlja0xvb2tI
YW5kbGVDbGllbnQ+IF9jbGllbnQ7CisgICAgUmV0YWluUHRyPFFMUHJldmlld0NvbnZlcnRlcj4g
X3BsYXRmb3JtQ29udmVydGVyOworICAgIFJldGFpblB0cjxOU1VSTFJlc3BvbnNlPiBfcHJldmll
d1Jlc3BvbnNlOwogICAgIEJPT0wgX2hhc1NlbnREaWRSZWNlaXZlUmVzcG9uc2U7CiAgICAgQk9P
TCBfaGFzRmFpbGVkOwogfQorCistIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhSZXNvdXJjZUxvYWRl
cjooUmVzb3VyY2VMb2FkZXImKXJlc291cmNlTG9hZGVyIHJlc291cmNlUmVzcG9uc2U6KGNvbnN0
IFJlc291cmNlUmVzcG9uc2UmKXJlc291cmNlUmVzcG9uc2UgcXVpY2tMb29rSGFuZGxlOihRdWlj
a0xvb2tIYW5kbGUmKXF1aWNrTG9va0hhbmRsZTsKKy0gKHZvaWQpc2V0Q2xpZW50OihSZWY8UXVp
Y2tMb29rSGFuZGxlQ2xpZW50PiYmKWNsaWVudDsKKy0gKHZvaWQpYXBwZW5kRGF0YUFycmF5OihO
U0FycmF5PE5TRGF0YSAqPiAqKWRhdGFBcnJheTsKKy0gKHZvaWQpZmluaXNoZWRBcHBlbmRpbmc7
CistICh2b2lkKWZhaWxlZDsKKworQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBRTFBy
ZXZpZXdDb252ZXJ0ZXIgKnBsYXRmb3JtQ29udmVydGVyOworCiBAZW5kCiAKLUBpbXBsZW1lbnRh
dGlvbiBXZWJQcmV2aWV3Q29udmVydGVyRGVsZWdhdGUKK0BpbXBsZW1lbnRhdGlvbiBXZWJQcmV2
aWV3Q29udmVydGVyCiAKLS0gKGlkKWluaXRXaXRoUmVzb3VyY2VMb2FkZXI6KFJlc291cmNlTG9h
ZGVyJilyZXNvdXJjZUxvYWRlciBxdWlja0xvb2tIYW5kbGU6KFF1aWNrTG9va0hhbmRsZSYpcXVp
Y2tMb29rSGFuZGxlCistIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhSZXNvdXJjZUxvYWRlcjooUmVz
b3VyY2VMb2FkZXImKXJlc291cmNlTG9hZGVyIHJlc291cmNlUmVzcG9uc2U6KGNvbnN0IFJlc291
cmNlUmVzcG9uc2UmKXJlc291cmNlUmVzcG9uc2UgcXVpY2tMb29rSGFuZGxlOihRdWlja0xvb2tI
YW5kbGUmKXF1aWNrTG9va0hhbmRsZQogewogICAgIHNlbGYgPSBbc3VwZXIgaW5pdF07CiAgICAg
aWYgKCFzZWxmKQogICAgICAgICByZXR1cm4gbmlsOwogCiAgICAgX3Jlc291cmNlTG9hZGVyID0g
JnJlc291cmNlTG9hZGVyOwotICAgIF9xdWlja0xvb2tIYW5kbGUgPSAmcXVpY2tMb29rSGFuZGxl
OworICAgIF9oYW5kbGUgPSAmcXVpY2tMb29rSGFuZGxlOworICAgIF9jbGllbnQgPSAmZW1wdHlD
bGllbnQoKTsKKyAgICBfcGxhdGZvcm1Db252ZXJ0ZXIgPSBhZG9wdE5TKFthbGxvY1FMUHJldmll
d0NvbnZlcnRlckluc3RhbmNlKCkgaW5pdFdpdGhDb25uZWN0aW9uOm5pbCBkZWxlZ2F0ZTpzZWxm
IHJlc3BvbnNlOnJlc291cmNlUmVzcG9uc2UubnNVUkxSZXNwb25zZSgpIG9wdGlvbnM6bmlsXSk7
CisgICAgX3ByZXZpZXdSZXNwb25zZSA9IFtfcGxhdGZvcm1Db252ZXJ0ZXIgcHJldmlld1Jlc3Bv
bnNlXTsKKworICAgIExPRyhOZXR3b3JrLCAiV2ViUHJldmlld0NvbnZlcnRlciBjcmVhdGVkIHdp
dGggcHJldmlldyBmaWxlIG5hbWUgXCIlc1wiLiIsIFtfcGxhdGZvcm1Db252ZXJ0ZXIgcHJldmll
d0ZpbGVOYW1lXSk7CiAgICAgcmV0dXJuIHNlbGY7CiB9CiAKKy0gKHZvaWQpc2V0Q2xpZW50OihS
ZWY8UXVpY2tMb29rSGFuZGxlQ2xpZW50PiYmKWNsaWVudAoreworICAgIF9jbGllbnQgPSBXVEZN
b3ZlKGNsaWVudCk7Cit9CisKKy0gKHZvaWQpYXBwZW5kRGF0YUFycmF5OihOU0FycmF5PE5TRGF0
YSAqPiAqKWRhdGFBcnJheQoreworICAgIExPRyhOZXR3b3JrLCAiV2ViUHJldmlld0NvbnZlcnRl
ciBhcHBlbmRpbmcgZGF0YSBhcnJheSB3aXRoIGNvdW50ICVsZC4iLCBkYXRhQXJyYXkuY291bnQp
OworICAgIFtfcGxhdGZvcm1Db252ZXJ0ZXIgYXBwZW5kRGF0YUFycmF5OmRhdGFBcnJheV07Cisg
ICAgX2NsaWVudC0+ZGlkUmVjZWl2ZURhdGFBcnJheSgoQ0ZBcnJheVJlZilkYXRhQXJyYXkpOwor
fQorCistICh2b2lkKWZpbmlzaGVkQXBwZW5kaW5nCit7CisgICAgTE9HKE5ldHdvcmssICJXZWJQ
cmV2aWV3Q29udmVydGVyIGZpbmlzaGVkIGFwcGVuZGluZyBkYXRhLiIpOworICAgIFtfcGxhdGZv
cm1Db252ZXJ0ZXIgZmluaXNoZWRBcHBlbmRpbmdEYXRhXTsKKyAgICBfY2xpZW50LT5kaWRGaW5p
c2hMb2FkaW5nKCk7Cit9CisKKy0gKHZvaWQpZmFpbGVkCit7CisgICAgTE9HKE5ldHdvcmssICJX
ZWJQcmV2aWV3Q29udmVydGVyIGZhaWxlZC4iKTsKKyAgICBbX3BsYXRmb3JtQ29udmVydGVyIGZp
bmlzaENvbnZlcnRpbmddOworICAgIF9jbGllbnQtPmRpZEZhaWwoKTsKK30KKworLSAoUUxQcmV2
aWV3Q29udmVydGVyICopcGxhdGZvcm1Db252ZXJ0ZXIKK3sKKyAgICByZXR1cm4gX3BsYXRmb3Jt
Q29udmVydGVyLmdldCgpOworfQorCiAtICh2b2lkKV9zZW5kRGlkUmVjZWl2ZVJlc3BvbnNlSWZO
ZWNlc3NhcnkKIHsKICAgICBpZiAoX2hhc1NlbnREaWRSZWNlaXZlUmVzcG9uc2UgfHwgX2hhc0Zh
aWxlZCkKQEAgLTIwNiwxNCArMjYwLDEzIEBAIC0gKHZvaWQpX3NlbmREaWRSZWNlaXZlUmVzcG9u
c2VJZk5lY2Vzc2FyeQogCiAgICAgLy8gUXVpY2tMb29rIG1pZ2h0IGZhaWwgdG8gY29udmVydCBh
IGRvY3VtZW50IHdpdGhvdXQgY2FsbGluZyBjb25uZWN0aW9uOmRpZEZhaWxXaXRoRXJyb3I6IChz
ZWUgPHJkYXI6Ly9wcm9ibGVtLzE3OTI3OTcyPikuCiAgICAgLy8gQSBuaWwgTUlNRSB0eXBlIGlz
IGFuIGluZGljYXRpb24gb2Ygc3VjaCBhIGZhaWx1cmUsIHNvIHN0b3AgbG9hZGluZyB0aGUgcmVz
b3VyY2UgYW5kIGlnbm9yZSBzdWJzZXF1ZW50IGRlbGVnYXRlIG1lc3NhZ2VzLgotICAgIE5TVVJM
UmVzcG9uc2UgKnByZXZpZXdSZXNwb25zZSA9IF9xdWlja0xvb2tIYW5kbGUtPnByZXZpZXdSZXNw
b25zZSgpOwotICAgIGlmICghcHJldmlld1Jlc3BvbnNlLk1JTUVUeXBlKSB7CisgICAgaWYgKCFb
X3ByZXZpZXdSZXNwb25zZSBNSU1FVHlwZV0pIHsKICAgICAgICAgX2hhc0ZhaWxlZCA9IFlFUzsK
ICAgICAgICAgX3Jlc291cmNlTG9hZGVyLT5kaWRGYWlsKF9yZXNvdXJjZUxvYWRlci0+Y2Fubm90
U2hvd1VSTEVycm9yKCkpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgUmVzb3VyY2VS
ZXNwb25zZSByZXNwb25zZSB7IHByZXZpZXdSZXNwb25zZSB9OworICAgIFJlc291cmNlUmVzcG9u
c2UgcmVzcG9uc2UgeyBfcHJldmlld1Jlc3BvbnNlLmdldCgpIH07CiAgICAgcmVzcG9uc2Uuc2V0
SXNRdWlja0xvb2sodHJ1ZSk7CiAKICAgICBfaGFzU2VudERpZFJlY2VpdmVSZXNwb25zZSA9IFlF
UzsKQEAgLTI3MywyMyArMzI2LDE3IEBAIE5TU3RyaW5nICpjcmVhdGVUZW1wb3JhcnlGaWxlRm9y
UXVpY2tMb29rKE5TU3RyaW5nICpmaWxlTmFtZSkKICAgICByZXR1cm4gc3VjY2VzcyA/IHVuaXF1
ZUNvbnRlbnRQYXRoIDogbmlsOwogfQogCi1zdGF0aWMgaW5saW5lIFF1aWNrTG9va0hhbmRsZUNs
aWVudCYgZW1wdHlDbGllbnQoKQotewotICAgIHN0YXRpYyBhdXRvJiBlbXB0eUNsaWVudCA9IGFk
b3B0UmVmKCpuZXcgUXVpY2tMb29rSGFuZGxlQ2xpZW50KCkpLmxlYWtSZWYoKTsKLSAgICByZXR1
cm4gZW1wdHlDbGllbnQ7Ci19Ci0KIFF1aWNrTG9va0hhbmRsZTo6UXVpY2tMb29rSGFuZGxlKFJl
c291cmNlTG9hZGVyJiBsb2FkZXIsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQog
ICAgIDogbV9maXJzdFJlcXVlc3RVUkwgeyBsb2FkZXIub3JpZ2luYWxSZXF1ZXN0KCkubnNVUkxS
ZXF1ZXN0KERvTm90VXBkYXRlSFRUUEJvZHkpLlVSTCB9Ci0gICAgLCBtX2RlbGVnYXRlIHsgYWRv
cHROUyhbW1dlYlByZXZpZXdDb252ZXJ0ZXJEZWxlZ2F0ZSBhbGxvY10gaW5pdFdpdGhSZXNvdXJj
ZUxvYWRlcjpsb2FkZXIgcXVpY2tMb29rSGFuZGxlOip0aGlzXSkgfQotICAgICwgbV9jb252ZXJ0
ZXIgeyBhZG9wdE5TKFthbGxvY1FMUHJldmlld0NvbnZlcnRlckluc3RhbmNlKCkgaW5pdFdpdGhD
b25uZWN0aW9uOm5pbCBkZWxlZ2F0ZTptX2RlbGVnYXRlLmdldCgpIHJlc3BvbnNlOnJlc3BvbnNl
Lm5zVVJMUmVzcG9uc2UoKSBvcHRpb25zOm5pbF0pIH0KLSAgICAsIG1fcHJldmlld1Jlc3BvbnNl
IHsgW21fY29udmVydGVyIHByZXZpZXdSZXNwb25zZV0gfQotICAgICwgbV9jbGllbnQgeyBlbXB0
eUNsaWVudCgpIH0KKyAgICAsIG1fY29udmVydGVyIHsgYWRvcHROUyhbW1dlYlByZXZpZXdDb252
ZXJ0ZXIgYWxsb2NdIGluaXRXaXRoUmVzb3VyY2VMb2FkZXI6bG9hZGVyIHJlc291cmNlUmVzcG9u
c2U6cmVzcG9uc2UgcXVpY2tMb29rSGFuZGxlOip0aGlzXSkgfQogewotICAgIExPRyhOZXR3b3Jr
LCAiUXVpY2tMb29rSGFuZGxlOjpRdWlja0xvb2tIYW5kbGUoKSAtIHByZXZpZXdGaWxlTmFtZTog
JXMiLCBbbV9jb252ZXJ0ZXIgcHJldmlld0ZpbGVOYW1lXSk7CiAgICAgbG9hZGVyLmRpZENyZWF0
ZVF1aWNrTG9va0hhbmRsZSgqdGhpcyk7CiB9CiAKK1F1aWNrTG9va0hhbmRsZTo6flF1aWNrTG9v
a0hhbmRsZSgpCit7Cit9CisKIGJvb2wgUXVpY2tMb29rSGFuZGxlOjpzaG91bGRDcmVhdGVGb3JN
SU1FVHlwZShjb25zdCBTdHJpbmcmIG1pbWVUeXBlKQogewogICAgIHJldHVybiBbUUxQcmV2aWV3
R2V0U3VwcG9ydGVkTUlNRVR5cGVzU2V0KCkgY29udGFpbnNPYmplY3Q6bWltZVR5cGVdOwpAQCAt
MzA2LDcgKzM1Myw3IEBAIGJvb2wgUXVpY2tMb29rSGFuZGxlOjpkaWRSZWNlaXZlRGF0YShjb25z
dCBjaGFyKiBkYXRhLCB1bnNpZ25lZCBsZW5ndGgpCiAgICAgaWYgKG1fZmluaXNoZWRMb2FkaW5n
RGF0YUludG9Db252ZXJ0ZXIpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGRpZFJlY2Vp
dmVEYXRhQXJyYXkoQFsgW05TRGF0YSBkYXRhV2l0aEJ5dGVzOmRhdGEgbGVuZ3RoOmxlbmd0aF0g
XSk7CisgICAgW21fY29udmVydGVyIGFwcGVuZERhdGFBcnJheTpAWyBbTlNEYXRhIGRhdGFXaXRo
Qnl0ZXM6ZGF0YSBsZW5ndGg6bGVuZ3RoXSBdXTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApAQCAt
MzE1LDY2ICszNjIsNDkgQEAgYm9vbCBRdWlja0xvb2tIYW5kbGU6OmRpZFJlY2VpdmVCdWZmZXIo
Y29uc3QgU2hhcmVkQnVmZmVyJiBidWZmZXIpCiAgICAgaWYgKG1fZmluaXNoZWRMb2FkaW5nRGF0
YUludG9Db252ZXJ0ZXIpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGRpZFJlY2VpdmVE
YXRhQXJyYXkoYnVmZmVyLmNyZWF0ZU5TRGF0YUFycmF5KCkuZ2V0KCkpOworICAgIFttX2NvbnZl
cnRlciBhcHBlbmREYXRhQXJyYXk6YnVmZmVyLmNyZWF0ZU5TRGF0YUFycmF5KCkuZ2V0KCldOwog
ICAgIHJldHVybiB0cnVlOwogfQogCi12b2lkIFF1aWNrTG9va0hhbmRsZTo6ZGlkUmVjZWl2ZURh
dGFBcnJheShOU0FycmF5ICpkYXRhQXJyYXkpCi17Ci0gICAgQVNTRVJUKCFtX2ZpbmlzaGVkTG9h
ZGluZ0RhdGFJbnRvQ29udmVydGVyKTsKLSAgICBMT0coTmV0d29yaywgIlF1aWNrTG9va0hhbmRs
ZTo6ZGlkUmVjZWl2ZURhdGFBcnJheSgpIik7Ci0gICAgW21fY29udmVydGVyIGFwcGVuZERhdGFB
cnJheTpkYXRhQXJyYXldOwotICAgIG1fY2xpZW50LT5kaWRSZWNlaXZlRGF0YUFycmF5KChDRkFy
cmF5UmVmKWRhdGFBcnJheSk7Ci19Ci0KIGJvb2wgUXVpY2tMb29rSGFuZGxlOjpkaWRGaW5pc2hM
b2FkaW5nKCkKIHsKICAgICBpZiAobV9maW5pc2hlZExvYWRpbmdEYXRhSW50b0NvbnZlcnRlcikK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgTE9HKE5ldHdvcmssICJRdWlja0xvb2tIYW5k
bGU6OmRpZEZpbmlzaExvYWRpbmcoKSIpOwogICAgIG1fZmluaXNoZWRMb2FkaW5nRGF0YUludG9D
b252ZXJ0ZXIgPSB0cnVlOwotICAgIFttX2NvbnZlcnRlciBmaW5pc2hlZEFwcGVuZGluZ0RhdGFd
OwotICAgIG1fY2xpZW50LT5kaWRGaW5pc2hMb2FkaW5nKCk7CisgICAgW21fY29udmVydGVyIGZp
bmlzaGVkQXBwZW5kaW5nXTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAogdm9pZCBRdWlja0xvb2tI
YW5kbGU6OmRpZEZhaWwoKQogewotICAgIExPRyhOZXR3b3JrLCAiUXVpY2tMb29rSGFuZGxlOjpk
aWRGYWlsKCkiKTsKLSAgICBtX2NsaWVudC0+ZGlkRmFpbCgpOwotICAgIFttX2NvbnZlcnRlciBm
aW5pc2hDb252ZXJ0aW5nXTsKKyAgICBbbV9jb252ZXJ0ZXIgZmFpbGVkXTsKICAgICBtX2NvbnZl
cnRlciA9IG51bGxwdHI7CiB9CiAKIHZvaWQgUXVpY2tMb29rSGFuZGxlOjpzZXRDbGllbnQoUmVm
PFF1aWNrTG9va0hhbmRsZUNsaWVudD4mJiBjbGllbnQpCiB7Ci0gICAgbV9jbGllbnQgPSBXVEZN
b3ZlKGNsaWVudCk7Ci19Ci0KLVF1aWNrTG9va0hhbmRsZTo6flF1aWNrTG9va0hhbmRsZSgpCi17
Ci0gICAgTE9HKE5ldHdvcmssICJRdWlja0xvb2tIYW5kbGU6On5RdWlja0xvb2tIYW5kbGUoKSIp
OworICAgIFttX2NvbnZlcnRlciBzZXRDbGllbnQ6V1RGTW92ZShjbGllbnQpXTsKIH0KIAogU3Ry
aW5nIFF1aWNrTG9va0hhbmRsZTo6cHJldmlld0ZpbGVOYW1lKCkgY29uc3QKIHsKLSAgICByZXR1
cm4gW21fY29udmVydGVyIHByZXZpZXdGaWxlTmFtZV07CisgICAgcmV0dXJuIFttX2NvbnZlcnRl
ciBwbGF0Zm9ybUNvbnZlcnRlcl0ucHJldmlld0ZpbGVOYW1lOwogfQogCiBTdHJpbmcgUXVpY2tM
b29rSGFuZGxlOjpwcmV2aWV3VVRJKCkgY29uc3QKIHsKLSAgICByZXR1cm4gW21fY29udmVydGVy
IHByZXZpZXdVVEldOworICAgIHJldHVybiBbbV9jb252ZXJ0ZXIgcGxhdGZvcm1Db252ZXJ0ZXJd
LnByZXZpZXdVVEk7CiB9CiAKIE5TVVJMICpRdWlja0xvb2tIYW5kbGU6OnByZXZpZXdSZXF1ZXN0
VVJMKCkgY29uc3QKIHsKLSAgICByZXR1cm4gW21fY29udmVydGVyIHByZXZpZXdSZXF1ZXN0XS5V
Ukw7CisgICAgcmV0dXJuIFttX2NvbnZlcnRlciBwbGF0Zm9ybUNvbnZlcnRlcl0ucHJldmlld1Jl
cXVlc3QuVVJMOwogfQogCi1OU1VSTFJlc3BvbnNlICpRdWlja0xvb2tIYW5kbGU6OnByZXZpZXdS
ZXNwb25zZSgpIGNvbnN0CitRTFByZXZpZXdDb252ZXJ0ZXIgKlF1aWNrTG9va0hhbmRsZTo6Y29u
dmVydGVyKCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9wcmV2aWV3UmVzcG9uc2UuZ2V0KCk7Cisg
ICAgcmV0dXJuIFttX2NvbnZlcnRlciBwbGF0Zm9ybUNvbnZlcnRlcl07CiB9CiAKIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>