<?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>181189</bug_id>
          
          <creation_ts>2017-12-29 15:02:23 -0800</creation_ts>
          <short_desc>[Attachment Support] Introduce data structures and IPC support for writing promised blobs</short_desc>
          <delta_ts>2018-01-02 19:44:06 -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>HTML Editing</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>181190</blocked>
    
    <blocked>181201</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>achristensen</cc>
    
    <cc>commit-queue</cc>
    
    <cc>mitz</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1384969</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2017-12-29 15:02:23 -0800</bug_when>
    <thetext>Work towards async drag and drop support for blobs on iOS/macOS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1384970</commentid>
    <comment_count>1</comment_count>
      <attachid>330260</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2017-12-29 15:15:06 -0800</bug_when>
    <thetext>Created attachment 330260
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1385320</commentid>
    <comment_count>2</comment_count>
      <attachid>330260</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-01-02 17:02:56 -0800</bug_when>
    <thetext>Comment on attachment 330260
Patch

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

&gt; Source/WebKit/Shared/WebCoreArgumentCoders.h:701
&gt; +template&lt;&gt; struct ArgumentCoder&lt;WebCore::PromisedBlobData&gt; {

I /think/ we&apos;re not supposed to add things to these files anymore, but stick them with the type instead? With the magical new WebCore coders? I&apos;m not sure. Alex would know.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1385327</commentid>
    <comment_count>3</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2018-01-02 17:10:59 -0800</bug_when>
    <thetext>(In reply to Tim Horton from comment #2)
&gt; Comment on attachment 330260 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=330260&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/Shared/WebCoreArgumentCoders.h:701
&gt; &gt; +template&lt;&gt; struct ArgumentCoder&lt;WebCore::PromisedBlobData&gt; {
&gt; 
&gt; I /think/ we&apos;re not supposed to add things to these files anymore, but stick
&gt; them with the type instead? With the magical new WebCore coders? I&apos;m not
&gt; sure. Alex would know.

I see. I put this here (instead of defining WebCore coder methods) because this needs to ship a SharedBuffer over to the UI process, which (AFAIK) uses some WebKit machinery, like SharedMemory. Should that be brought into in WebCore instead? Or would this have to call into the client to know how to encode a SharedBuffer?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1385334</commentid>
    <comment_count>4</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-01-02 17:16:39 -0800</bug_when>
    <thetext>Ah! You had a good reason, ignore me!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1385335</commentid>
    <comment_count>5</comment_count>
      <attachid>330260</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-01-02 17:20:53 -0800</bug_when>
    <thetext>Comment on attachment 330260
Patch

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

&gt; Source/WebCore/platform/PromisedBlobInfo.h:45
&gt; +    String filepath;

filepath seems weirdly capitalized? filePath? path?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1385337</commentid>
    <comment_count>6</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2018-01-02 17:22:20 -0800</bug_when>
    <thetext>(In reply to Tim Horton from comment #5)
&gt; Comment on attachment 330260 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=330260&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/PromisedBlobInfo.h:45
&gt; &gt; +    String filepath;
&gt; 
&gt; filepath seems weirdly capitalized? filePath? path?

Oh, right — this should be filePath. Fixed!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1385341</commentid>
    <comment_count>7</comment_count>
      <attachid>330359</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2018-01-02 17:33:32 -0800</bug_when>
    <thetext>Created attachment 330359
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1385364</commentid>
    <comment_count>8</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2018-01-02 18:55:30 -0800</bug_when>
    <thetext>(In reply to Wenson Hsieh from comment #7)
&gt; Created attachment 330359 [details]
&gt; Patch for landing

Looks like commit-queue is unresponsive…

Committed r226348: &lt;https://trac.webkit.org/changeset/226348&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1385366</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-01-02 19:07:42 -0800</bug_when>
    <thetext>&lt;rdar://problem/36268535&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1385370</commentid>
    <comment_count>10</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-01-02 19:44:06 -0800</bug_when>
    <thetext>Committed r226350: &lt;https://trac.webkit.org/changeset/226350&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>330260</attachid>
            <date>2017-12-29 15:15:06 -0800</date>
            <delta_ts>2018-01-02 17:20:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-181189-20171229151505.patch</filename>
            <type>text/plain</type>
            <size>12786</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI2Mjg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjM4NmEyODUyOTNjZDA3
MTNkNWJmZjBmZTM0ZjAyYTBlNzQzZGRhNi4uZDAzNWZlZmYzODdlN2FkYzMzYjNhN2M4MWY0YTQy
ZmY3MTUyYmJkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE3LTEyLTI5ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtBdHRhY2htZW50
IFN1cHBvcnRdIEludHJvZHVjZSBkYXRhIHN0cnVjdHVyZXMgYW5kIElQQyBzdXBwb3J0IGZvciB3
cml0aW5nIHByb21pc2VkIGJsb2JzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xODExODkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBJbnRyb2R1Y2VzIGEgbmV3IGhlYWRlciBjb250YWluaW5nIHN0cnVjdHMg
dG8gYmUgdXNlZCBmb3Igd3JpdGluZyBibG9iIGRhdGEgd2hlbiBkcmFnZ2luZy4gUHJvbWlzZWRC
bG9iSW5mbworICAgICAgICByZXByZXNlbnRzIGluZm9ybWF0aW9uIG5lZWRlZCB0byBkZWNsYXJl
IGRhdGEgb24gdGhlIHBhc3RlYm9hcmQgdGhhdCB3aWxsIGV2ZW50dWFsbHkgYmUgcHJvdmlkZWQg
dmlhIGEgQmxvYi4KKyAgICAgICAgVGhpcyBpbmNsdWRlcyB0aGUgdHlwZSBhbmQgZmlsZW5hbWUg
b2YgdGhlIEJsb2ItYmFja2VkIGNvbnRlbnQuIFByb21pc2VkQmxvYkRhdGEgcmVwcmVzZW50cyBp
bmZvcm1hdGlvbiBuZWVkZWQKKyAgICAgICAgdG8gYWN0dWFsbHkgZGVsaXZlciB0aGUgQmxvYidz
IGNvbnRlbnQgdG8gdGhlIHBsYXRmb3JtLCBhbmQgaXMgc2VudCBzb21lIHRpbWUgYWZ0ZXIgaXRz
IGNvcnJlc3BvbmRpbmcKKyAgICAgICAgUHJvbWlzZWRCbG9iSW5mby4gVGhlIGNvbnRlbnQgbWF5
IGVpdGhlciBiZSBpbiB0aGUgZm9ybSBvZiBhIGZpbGUgcGF0aCAoYXMgaXMgdGhlIGNhc2UgdXNp
bmcgdGhlIHByZXZpb3VzCisgICAgICAgIGRlY2xhcmVBbmRXcml0ZUF0dGFjaG1lbnQgY29kZXBh
dGgpIG9yIGEgZGF0YSBidWZmZXIgKHdoaWNoIHdlIHdvdWxkIHVzZSBpZiB0aGUgQmxvYiBpcyBu
b3QgYWxyZWFkeSBiYWNrZWQgYnkgYQorICAgICAgICBmaWxlIG9uIGRpc2spLgorCisgICAgICAg
IE5vIG5ldyB0ZXN0cywgc2luY2UgdGhlcmUgaXMgbm8gb2JzZXJ2YWJsZSBjaGFuZ2UgaW4gZnVu
Y3Rpb25hbGl0eSB5ZXQuCisKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2o6CisgICAgICAgICogcGxhdGZvcm0vUHJvbWlzZWRCbG9iSW5mby5oOiBBZGRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6OlByb21pc2VkQmxvYkluZm86Om9wZXJhdG9yIGJvb2wgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6UHJvbWlzZWRCbG9iRGF0YTo6aGFzRGF0YSBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpQcm9taXNlZEJsb2JEYXRhOjpoYXNGaWxlIGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OlByb21pc2VkQmxvYkRhdGE6Om9wZXJhdG9yIGJvb2wgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6UHJvbWlzZWRCbG9iRGF0YTo6ZnVsZmlsbHMgY29uc3QpOgorCiAyMDE3LTEy
LTI5ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFtB
dHRhY2htZW50IFN1cHBvcnRdIFJlbW92ZSBjdXJyZW50IG1hY09TIHN1cHBvcnQgZm9yIGRyYWdn
aW5nIGZpbGUtYmFja2VkIGF0dGFjaG1lbnRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDgyYmI3ZmZhMmZkNTE5YTdj
MTdkZDQ2NzM2MmU1NTNlYmRlZDNlMDEuLjA3YzU5NWIxZjA0NTFlYTAyNzQ4NjUwMDUwYmVlOTc0
ZjMwMmIxZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTctMTItMjkgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW0F0dGFjaG1lbnQgU3Vw
cG9ydF0gSW50cm9kdWNlIGRhdGEgc3RydWN0dXJlcyBhbmQgSVBDIHN1cHBvcnQgZm9yIHdyaXRp
bmcgcHJvbWlzZWQgYmxvYnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE4MTE4OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEFkZCBJUEMgc3VwcG9ydCBmb3IgUHJvbWlzZWRCbG9iSW5mbyBhbmQgUHJvbWlz
ZWRCbG9iRGF0YS4gU2VlIFdlYkNvcmUvQ2hhbmdlTG9nIGZvciBtb3JlIGRldGFpbC4KKworICAg
ICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwOgorICAgICAgICAoSVBDOjpB
cmd1bWVudENvZGVyPFByb21pc2VkQmxvYkRhdGE+OjplbmNvZGUpOgorICAgICAgICAoSVBDOjpB
cmd1bWVudENvZGVyPFByb21pc2VkQmxvYkRhdGE+OjpkZWNvZGUpOgorICAgICAgICAoSVBDOjpB
cmd1bWVudENvZGVyPFByb21pc2VkQmxvYkluZm8+OjplbmNvZGUpOgorICAgICAgICAoSVBDOjpB
cmd1bWVudENvZGVyPFByb21pc2VkQmxvYkluZm8+OjpkZWNvZGUpOgorICAgICAgICAqIFNoYXJl
ZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaDoKKwogMjAxNy0xMi0yOSAgV2Vuc29uIEhzaWVoICA8
d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBbQXR0YWNobWVudCBTdXBwb3J0XSBS
ZW1vdmUgY3VycmVudCBtYWNPUyBzdXBwb3J0IGZvciBkcmFnZ2luZyBmaWxlLWJhY2tlZCBhdHRh
Y2htZW50cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCmluZGV4IDhlYTBlZGExMzM2YjU1NDk4MWFhNjgwYjBlZGFhYWZhNDE4NWJiYmIuLjQ2
ZjU0ZTdiNDAzMTMzYjQwZGM4NWNjMmNkZjg5YWVkOWYzM2ZkMDggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTQ2MzIsNiArNDYz
Miw3IEBACiAJCUY0NjcyOTI4MUUwREU2ODUwMEFDQzNEOCAvKiBTY3JvbGxTbmFwT2Zmc2V0c0lu
Zm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0Njcy
OTI1MUUwREU1QUIwMEFDQzNEOCAvKiBTY3JvbGxTbmFwT2Zmc2V0c0luZm8uaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlGNDc4NzU1NDE5OTgzQUZG
MDAyNEEyODcgLyogU2Nyb2xsU25hcEFuaW1hdG9yU3RhdGUuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0Nzg3NTUyMTk5ODNBRkYwMDI0QTI4NyAvKiBT
Y3JvbGxTbmFwQW5pbWF0b3JTdGF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCUY0N0E1RTNFMTk1QjhDOEEwMDQ4MzEwMCAvKiBTdHlsZVNjcm9s
bFNuYXBQb2ludHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEY0N0E1RTNCMTk1QjhDOEEwMDQ4MzEwMCAvKiBTdHlsZVNjcm9sbFNuYXBQb2ludHMuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlGNDdBNjMz
RDFGRjZGRDUwMDA4MUIzQ0MgLyogUHJvbWlzZWRCbG9iSW5mby5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQ3QTYzM0MxRkY2RkQ1MDAwODFCM0NDIC8q
IFByb21pc2VkQmxvYkluZm8uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQlGNDgyMjMxMDFFMzg2OUI4MDA2NkZDNzkgLyogV2ViSXRlbVByb3ZpZGVy
UGFzdGVib2FyZC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEY0ODIyMzBFMUUzODY5QjgwMDY2RkM3OSAvKiBXZWJJdGVtUHJvdmlkZXJQYXN0ZWJvYXJk
Lm1tICovOyB9OwogCQlGNDgyMjMxMTFFMzg2OUI4MDA2NkZDNzkgLyogV2ViSXRlbVByb3ZpZGVy
UGFzdGVib2FyZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRjQ4MjIzMEYxRTM4NjlCODAwNjZGQzc5IC8qIFdlYkl0ZW1Qcm92aWRlclBhc3RlYm9hcmQu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlGNDgy
MjMxMzFFMzg2RTI0MDA2NkZDNzkgLyogQWJzdHJhY3RQYXN0ZWJvYXJkLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDgyMjMxMjFFMzg2RTI0MDA2NkZD
NzkgLyogQWJzdHJhY3RQYXN0ZWJvYXJkLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTE0MDI4LDYgKzE0MDI5LDcgQEAKIAkJRjQ3ODc1NTMxOTk4
M0FGRjAwMjRBMjg3IC8qIFNjcm9sbFNuYXBBbmltYXRvclN0YXRlLm1tICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gU2Nyb2xsU25hcEFuaW1hdG9yU3RhdGUubW07IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0N0E1RTNBMTk1QjhDOEEwMDQ4MzEwMCAvKiBT
dHlsZVNjcm9sbFNuYXBQb2ludHMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gU3R5bGVTY3JvbGxTbmFwUG9pbnRzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJRjQ3QTVFM0IxOTVCOEM4QTAwNDgzMTAwIC8qIFN0eWxlU2Nyb2xsU25hcFBvaW50cy5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdHlsZVNjcm9sbFNuYXBQb2ludHMu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjQ3QTYzM0MxRkY2RkQ1MDAwODFCM0ND
IC8qIFByb21pc2VkQmxvYkluZm8uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUHJvbWlzZWRCbG9iSW5mby5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNDgyMjMwRTFFMzg2OUI4MDA2NkZDNzkg
LyogV2ViSXRlbVByb3ZpZGVyUGFzdGVib2FyZC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9IFdlYkl0ZW1Qcm92aWRlclBhc3RlYm9hcmQubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUY0ODIyMzBGMUUzODY5QjgwMDY2RkM3OSAvKiBXZWJJdGVtUHJv
dmlkZXJQYXN0ZWJvYXJkLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkl0
ZW1Qcm92aWRlclBhc3RlYm9hcmQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjQ4
MjIzMTIxRTM4NkUyNDAwNjZGQzc5IC8qIEFic3RyYWN0UGFzdGVib2FyZC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBBYnN0cmFjdFBhc3RlYm9hcmQuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTIzNjEwLDYgKzIzNjEyLDcgQEAKIAkJCQkxQUQ4RjgxQTExQ0FC
OUU5MDBFOTNFNTQgLyogUGxhdGZvcm1TdHJhdGVnaWVzLmNwcCAqLywKIAkJCQkxQUQ4RjgxOTEx
Q0FCOUU5MDBFOTNFNTQgLyogUGxhdGZvcm1TdHJhdGVnaWVzLmggKi8sCiAJCQkJOTM1QzQ3NkEw
OUFDNEQ0RjAwQTZBQUI0IC8qIFBsYXRmb3JtV2hlZWxFdmVudC5oICovLAorCQkJCUY0N0E2MzND
MUZGNkZENTAwMDgxQjNDQyAvKiBQcm9taXNlZEJsb2JJbmZvLmggKi8sCiAJCQkJQkNCQjhBQjUx
M0YxQUZCMDAwNzM0REYwIC8qIFBPREludGVydmFsLmggKi8sCiAJCQkJQkNCQjhBQjYxM0YxQUZC
MDAwNzM0REYwIC8qIFBPREludGVydmFsVHJlZS5oICovLAogCQkJCUJDQkI4QUI3MTNGMUFGQjAw
MDczNERGMCAvKiBQT0RSZWRCbGFja1RyZWUuaCAqLywKQEAgLTI3NzMwLDYgKzI3NzMzLDcgQEAK
IAkJCQlBNDIyNkU1QzExNjNENjk1MDA4QjgzOTcgLyogSlNIVE1MUHJvZ3Jlc3NFbGVtZW50Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQkxQUUyQUVDODBBMUQyOTdCMDBCNDJCMjUgLyogSlNIVE1MUXVv
dGVFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUUyQUJBRDBBMUNFOTA1MDBCNDJCMjUg
LyogSlNIVE1MU2NyaXB0RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJRjQ3QTYzM0QxRkY2
RkQ1MDAwODFCM0NDIC8qIFByb21pc2VkQmxvYkluZm8uaCBpbiBIZWFkZXJzICovLAogCQkJCUUx
RTZFRUE4MEI2MjhEQjMwMDVGMkY3MCAvKiBKU0hUTUxTZWxlY3RFbGVtZW50LmggaW4gSGVhZGVy
cyAqLywKIAkJCQk5QjY5RDNCOTFCOTkxMDA3MDBFMzUxMkIgLyogSlNIVE1MU2xvdEVsZW1lbnQu
aCBpbiBIZWFkZXJzICovLAogCQkJCUU0NDYxNDNDMENENjg5Q0MwMEZBREE3NSAvKiBKU0hUTUxT
b3VyY2VFbGVtZW50LmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1Byb21pc2VkQmxvYkluZm8uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1By
b21pc2VkQmxvYkluZm8uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yOWNmNDI5NDQ3YmE2Mjk2NWZlNjk5NTEyMmZj
NTdhNmI3M2EzODc0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
UHJvbWlzZWRCbG9iSW5mby5oCkBAIC0wLDAgKzEsNjggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21h
IG9uY2UKKworI2ltcG9ydCA8V2ViQ29yZS9TaGFyZWRCdWZmZXIuaD4KKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitlbnVtIGNsYXNzIFByb21pc2VkQmxvYlR5cGUgeyBEYXRhQmFja2VkLCBGaWxl
QmFja2VkIH07CisKK3N0cnVjdCBQcm9taXNlZEJsb2JJbmZvIHsKKyAgICBTdHJpbmcgYmxvYlVS
TDsKKyAgICBTdHJpbmcgY29udGVudFR5cGU7CisgICAgU3RyaW5nIGZpbGVuYW1lOworICAgIFBy
b21pc2VkQmxvYlR5cGUgYmxvYlR5cGU7CisKKyAgICBvcGVyYXRvciBib29sKCkgY29uc3QgeyBy
ZXR1cm4gIWJsb2JVUkwuaXNFbXB0eSgpOyB9Cit9OworCitzdHJ1Y3QgUHJvbWlzZWRCbG9iRGF0
YSB7CisgICAgU3RyaW5nIGJsb2JVUkw7CisgICAgU3RyaW5nIGZpbGVwYXRoOworICAgIFJlZlB0
cjxTaGFyZWRCdWZmZXI+IGRhdGE7CisKKyAgICBib29sIGhhc0RhdGEoKSBjb25zdCB7IHJldHVy
biBkYXRhOyB9CisgICAgYm9vbCBoYXNGaWxlKCkgY29uc3QgeyByZXR1cm4gIWZpbGVwYXRoLmlz
RW1wdHkoKTsgfQorICAgIG9wZXJhdG9yIGJvb2woKSBjb25zdCB7IHJldHVybiAhYmxvYlVSTC5p
c0VtcHR5KCk7IH0KKyAgICBib29sIGZ1bGZpbGxzKGNvbnN0IFByb21pc2VkQmxvYkluZm8mIGlu
Zm8pIGNvbnN0IHsgcmV0dXJuICp0aGlzICYmIGJsb2JVUkwgPT0gaW5mby5ibG9iVVJMOyB9Cit9
OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKK25hbWVzcGFjZSBXVEYgeworCit0ZW1wbGF0
ZTx0eXBlbmFtZT4gc3RydWN0IEVudW1UcmFpdHM7Cit0ZW1wbGF0ZTx0eXBlbmFtZSBFLCBFLi4u
PiBzdHJ1Y3QgRW51bVZhbHVlczsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJD
b3JlOjpQcm9taXNlZEJsb2JUeXBlPiB7CisgICAgdXNpbmcgdmFsdWVzID0gRW51bVZhbHVlczxX
ZWJDb3JlOjpQcm9taXNlZEJsb2JUeXBlLAorICAgIFdlYkNvcmU6OlByb21pc2VkQmxvYlR5cGU6
OkRhdGFCYWNrZWQsCisgICAgV2ViQ29yZTo6UHJvbWlzZWRCbG9iVHlwZTo6RmlsZUJhY2tlZAor
ICAgID47Cit9OworCit9IC8vIG5hbWVzcGFjZSBXVEYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCmluZGV4IDhhN2Q1NjA2ODczYmMyNGYxMDBjOGMw
ZjNlNmRjNDhhYmU1NTNhZTguLmE4MDIyZGI0YzRlNDdiN2Q3MjY4OGZlNGQ5NWM4OGI4NzZjNzI5
MzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVy
cy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNw
cApAQCAtNTUsNiArNTUsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvUGFzdGVib2FyZC5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvUGF0aC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGx1Z2luRGF0YS5oPgor
I2luY2x1ZGUgPFdlYkNvcmUvUHJvbWlzZWRCbG9iSW5mby5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
UHJvdGVjdGlvblNwYWNlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZWN0RWRnZXMuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL1JlZ2lvbi5oPgpAQCAtMjgwMiw0ICsyODAzLDUwIEBAIHN0ZDo6b3B0aW9u
YWw8TWVkaWFTZWxlY3Rpb25PcHRpb24+IEFyZ3VtZW50Q29kZXI8TWVkaWFTZWxlY3Rpb25PcHRp
b24+OjpkZWNvZGUoCiAgICAgcmV0dXJuIHt7IFdURk1vdmUoKmRpc3BsYXlOYW1lKSwgV1RGTW92
ZSgqdHlwZSkgfX07CiB9CiAKK3ZvaWQgQXJndW1lbnRDb2RlcjxQcm9taXNlZEJsb2JEYXRhPjo6
ZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIGNvbnN0IFByb21pc2VkQmxvYkRhdGEmIGRhdGEpCit7
CisgICAgZW5jb2RlciA8PCBkYXRhLmJsb2JVUkw7CisgICAgZW5jb2RlciA8PCBkYXRhLmZpbGVw
YXRoOworICAgIGVuY29kZVNoYXJlZEJ1ZmZlcihlbmNvZGVyLCBkYXRhLmRhdGEuZ2V0KCkpOwor
fQorCitib29sIEFyZ3VtZW50Q29kZXI8UHJvbWlzZWRCbG9iRGF0YT46OmRlY29kZShEZWNvZGVy
JiBkZWNvZGVyLCBQcm9taXNlZEJsb2JEYXRhJiBkYXRhKQoreworICAgIGlmICghZGVjb2Rlci5k
ZWNvZGUoZGF0YS5ibG9iVVJMKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKCFk
ZWNvZGVyLmRlY29kZShkYXRhLmZpbGVwYXRoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisg
ICAgaWYgKCFkZWNvZGVTaGFyZWRCdWZmZXIoZGVjb2RlciwgZGF0YS5kYXRhKSkKKyAgICAgICAg
cmV0dXJuIGZhbHNlOworCisgICAgcmV0dXJuIHRydWU7Cit9CisKK3ZvaWQgQXJndW1lbnRDb2Rl
cjxQcm9taXNlZEJsb2JJbmZvPjo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIGNvbnN0IFByb21p
c2VkQmxvYkluZm8mIGluZm8pCit7CisgICAgZW5jb2RlciA8PCBpbmZvLmJsb2JVUkw7CisgICAg
ZW5jb2RlciA8PCBpbmZvLmNvbnRlbnRUeXBlOworICAgIGVuY29kZXIgPDwgaW5mby5maWxlbmFt
ZTsKKyAgICBlbmNvZGVyLmVuY29kZUVudW0oaW5mby5ibG9iVHlwZSk7Cit9CisKK2Jvb2wgQXJn
dW1lbnRDb2RlcjxQcm9taXNlZEJsb2JJbmZvPjo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIsIFBy
b21pc2VkQmxvYkluZm8mIGluZm8pCit7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShpbmZvLmJs
b2JVUkwpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoIWRlY29kZXIuZGVjb2Rl
KGluZm8uY29udGVudFR5cGUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoIWRl
Y29kZXIuZGVjb2RlKGluZm8uZmlsZW5hbWUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAg
ICBpZiAoIWRlY29kZXIuZGVjb2RlKGluZm8uYmxvYlR5cGUpKQorICAgICAgICByZXR1cm4gZmFs
c2U7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogfSAvLyBuYW1lc3BhY2UgSVBDCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaCBiL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCmluZGV4IDIyZjFmMjExZjdl
MjU5ZWU5NzE5MzhjNTdjMmU0MGRjMGRkNjE0OWQuLjVhMWZkYjU5NTcxZmY4YzgzMWUwOTZhOTlk
ZTQxMmNhNzY4NTJlMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVB
cmd1bWVudENvZGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVu
dENvZGVycy5oCkBAIC0xMDUsNiArMTA1LDggQEAgc3RydWN0IFBhc3RlYm9hcmRJbWFnZTsKIHN0
cnVjdCBQYXN0ZWJvYXJkQ3VzdG9tRGF0YTsKIHN0cnVjdCBQYXN0ZWJvYXJkVVJMOwogc3RydWN0
IFBsdWdpbkluZm87CitzdHJ1Y3QgUHJvbWlzZWRCbG9iRGF0YTsKK3N0cnVjdCBQcm9taXNlZEJs
b2JJbmZvOwogc3RydWN0IFJlY2VudFNlYXJjaDsKIHN0cnVjdCBSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzOwogc3RydWN0IFNjcm9sbGFibGVBcmVhUGFyYW1ldGVyczsKQEAgLTY5Niw2ICs2OTgsMTYg
QEAgdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpNZWRpYVNlbGVjdGlv
bk9wdGlvbj4gewogICAgIHN0YXRpYyBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6Ok1lZGlhU2VsZWN0
aW9uT3B0aW9uPiBkZWNvZGUoRGVjb2RlciYpOwogfTsKIAordGVtcGxhdGU8PiBzdHJ1Y3QgQXJn
dW1lbnRDb2RlcjxXZWJDb3JlOjpQcm9taXNlZEJsb2JEYXRhPiB7CisgICAgc3RhdGljIHZvaWQg
ZW5jb2RlKEVuY29kZXImLCBjb25zdCBXZWJDb3JlOjpQcm9taXNlZEJsb2JEYXRhJik7CisgICAg
c3RhdGljIGJvb2wgZGVjb2RlKERlY29kZXImLCBXZWJDb3JlOjpQcm9taXNlZEJsb2JEYXRhJik7
Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OlByb21pc2Vk
QmxvYkluZm8+IHsKKyAgICBzdGF0aWMgdm9pZCBlbmNvZGUoRW5jb2RlciYsIGNvbnN0IFdlYkNv
cmU6OlByb21pc2VkQmxvYkluZm8mKTsKKyAgICBzdGF0aWMgYm9vbCBkZWNvZGUoRGVjb2RlciYs
IFdlYkNvcmU6OlByb21pc2VkQmxvYkluZm8mKTsKK307CisKIH0gLy8gbmFtZXNwYWNlIElQQwog
CiBuYW1lc3BhY2UgV1RGIHsK
</data>
<flag name="review"
          id="349284"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>330359</attachid>
            <date>2018-01-02 17:33:32 -0800</date>
            <delta_ts>2018-01-02 18:53:12 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-181189-20180102173331.patch</filename>
            <type>text/plain</type>
            <size>12683</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI2MzQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDMxMzZlODA3YjY5NzNm
YWViYzQ3M2IwNjNiODU1NTRlMmFiZTk5Mi4uODUwNjMyNGI4MWM4ZjUyYmQ1YmQyMDM5OWNjMWMw
M2M2MzJmZWUzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE4LTAxLTAyICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtBdHRhY2htZW50
IFN1cHBvcnRdIEludHJvZHVjZSBkYXRhIHN0cnVjdHVyZXMgYW5kIElQQyBzdXBwb3J0IGZvciB3
cml0aW5nIHByb21pc2VkIGJsb2JzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xODExODkKKworICAgICAgICBSZXZpZXdlZCBieSBUaW0gSG9ydG9uLgor
CisgICAgICAgIEludHJvZHVjZXMgYSBuZXcgaGVhZGVyIGNvbnRhaW5pbmcgc3RydWN0cyB0byBi
ZSB1c2VkIGZvciB3cml0aW5nIGJsb2IgZGF0YSB3aGVuIGRyYWdnaW5nLiBQcm9taXNlZEJsb2JJ
bmZvCisgICAgICAgIHJlcHJlc2VudHMgaW5mb3JtYXRpb24gbmVlZGVkIHRvIGRlY2xhcmUgZGF0
YSBvbiB0aGUgcGFzdGVib2FyZCB0aGF0IHdpbGwgZXZlbnR1YWxseSBiZSBwcm92aWRlZCB2aWEg
YSBCbG9iLgorICAgICAgICBUaGlzIGluY2x1ZGVzIHRoZSB0eXBlIGFuZCBmaWxlbmFtZSBvZiB0
aGUgQmxvYi1iYWNrZWQgY29udGVudC4gUHJvbWlzZWRCbG9iRGF0YSByZXByZXNlbnRzIGluZm9y
bWF0aW9uIG5lZWRlZAorICAgICAgICB0byBhY3R1YWxseSBkZWxpdmVyIHRoZSBCbG9iJ3MgY29u
dGVudCB0byB0aGUgcGxhdGZvcm0sIGFuZCBpcyBzZW50IHNvbWUgdGltZSBhZnRlciBpdHMgY29y
cmVzcG9uZGluZworICAgICAgICBQcm9taXNlZEJsb2JJbmZvLiBUaGUgY29udGVudCBtYXkgZWl0
aGVyIGJlIGluIHRoZSBmb3JtIG9mIGEgZmlsZSBwYXRoIChhcyBpcyB0aGUgY2FzZSB1c2luZyB0
aGUgcHJldmlvdXMKKyAgICAgICAgZGVjbGFyZUFuZFdyaXRlQXR0YWNobWVudCBjb2RlcGF0aCkg
b3IgYSBkYXRhIGJ1ZmZlciAod2hpY2ggd2Ugd291bGQgdXNlIGlmIHRoZSBCbG9iIGlzIG5vdCBh
bHJlYWR5IGJhY2tlZCBieSBhCisgICAgICAgIGZpbGUgb24gZGlzaykuCisKKyAgICAgICAgTm8g
bmV3IHRlc3RzLCBzaW5jZSB0aGVyZSBpcyBubyBvYnNlcnZhYmxlIGNoYW5nZSBpbiBmdW5jdGlv
bmFsaXR5IHlldC4KKworICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiBwbGF0Zm9ybS9Qcm9taXNlZEJsb2JJbmZvLmg6IEFkZGVkLgorICAgICAg
ICAoV2ViQ29yZTo6UHJvbWlzZWRCbG9iSW5mbzo6b3BlcmF0b3IgYm9vbCBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpQcm9taXNlZEJsb2JEYXRhOjpoYXNEYXRhIGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OlByb21pc2VkQmxvYkRhdGE6Omhhc0ZpbGUgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6UHJvbWlzZWRCbG9iRGF0YTo6b3BlcmF0b3IgYm9vbCBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpQcm9taXNlZEJsb2JEYXRhOjpmdWxmaWxscyBjb25zdCk6CisKIDIwMTgtMDEtMDIg
IEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgogCiAgICAgICAgIE1ha2UgTWVzc2Fn
ZVBvcnRDaGFubmVsOjp0YWtlQWxsTWVzc2FnZXNGcm9tUmVtb3RlIGFzeW5jaHJvbm91cy4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKaW5kZXggM2EyNzMzMGZkMGYxZjdiYTQ2MGMxODVlNTJkZmQ4MzQ0YWMxYTljNS4uYjk5ZmZl
YWJhMDk5YzMyOWJkMmQ0Y2Q4Njg3MGM3YWRiOGQzNzI3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
OSBAQAorMjAxOC0wMS0wMiAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4K
KworICAgICAgICBbQXR0YWNobWVudCBTdXBwb3J0XSBJbnRyb2R1Y2UgZGF0YSBzdHJ1Y3R1cmVz
IGFuZCBJUEMgc3VwcG9ydCBmb3Igd3JpdGluZyBwcm9taXNlZCBibG9icworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgxMTg5CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgVGltIEhvcnRvbi4KKworICAgICAgICBBZGQgSVBDIHN1cHBvcnQgZm9yIFByb21p
c2VkQmxvYkluZm8gYW5kIFByb21pc2VkQmxvYkRhdGEuIFNlZSBXZWJDb3JlL0NoYW5nZUxvZyBm
b3IgbW9yZSBkZXRhaWwuCisKKyAgICAgICAgKiBTaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJz
LmNwcDoKKyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxQcm9taXNlZEJsb2JEYXRhPjo6ZW5j
b2RlKToKKyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxQcm9taXNlZEJsb2JEYXRhPjo6ZGVj
b2RlKToKKyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxQcm9taXNlZEJsb2JJbmZvPjo6ZW5j
b2RlKToKKyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxQcm9taXNlZEJsb2JJbmZvPjo6ZGVj
b2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmg6CisKIDIwMTgt
MDEtMDIgIEppZXdlbiBUYW4gIDxqaWV3ZW5fdGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQg
YSBXZWJBdXRoZW50aWNhdGlvbiBydW50aW1lIGZlYXR1cmUgZmxhZwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDY2YTQ2YzUzYmZj
ZGNjZGM3NDcwNTRjZDVhYzVlZDM3OTczNzIzZDQuLjQ1YmJiMGNhYjMzMDcxZjk2MDc2NDU5MmVm
ZDE1ZTEzZTJmODE0YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKQEAgLTQ2NDksNiArNDY0OSw3IEBACiAJCUY0NjcyOTI4MUUwREU2
ODUwMEFDQzNEOCAvKiBTY3JvbGxTbmFwT2Zmc2V0c0luZm8uaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0NjcyOTI1MUUwREU1QUIwMEFDQzNEOCAvKiBT
Y3JvbGxTbmFwT2Zmc2V0c0luZm8uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQlGNDc4NzU1NDE5OTgzQUZGMDAyNEEyODcgLyogU2Nyb2xsU25hcEFu
aW1hdG9yU3RhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEY0Nzg3NTUyMTk5ODNBRkYwMDI0QTI4NyAvKiBTY3JvbGxTbmFwQW5pbWF0b3JTdGF0ZS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUY0N0E1
RTNFMTk1QjhDOEEwMDQ4MzEwMCAvKiBTdHlsZVNjcm9sbFNuYXBQb2ludHMuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0N0E1RTNCMTk1QjhDOEEwMDQ4
MzEwMCAvKiBTdHlsZVNjcm9sbFNuYXBQb2ludHMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OworCQlGNDdBNjMzRDFGRjZGRDUwMDA4MUIzQ0MgLyogUHJv
bWlzZWRCbG9iSW5mby5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRjQ3QTYzM0MxRkY2RkQ1MDAwODFCM0NDIC8qIFByb21pc2VkQmxvYkluZm8uaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlGNDgyMjMxMDFF
Mzg2OUI4MDA2NkZDNzkgLyogV2ViSXRlbVByb3ZpZGVyUGFzdGVib2FyZC5tbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0ODIyMzBFMUUzODY5QjgwMDY2
RkM3OSAvKiBXZWJJdGVtUHJvdmlkZXJQYXN0ZWJvYXJkLm1tICovOyB9OwogCQlGNDgyMjMxMTFF
Mzg2OUI4MDA2NkZDNzkgLyogV2ViSXRlbVByb3ZpZGVyUGFzdGVib2FyZC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQ4MjIzMEYxRTM4NjlCODAwNjZG
Qzc5IC8qIFdlYkl0ZW1Qcm92aWRlclBhc3RlYm9hcmQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlGNDgyMjMxMzFFMzg2RTI0MDA2NkZDNzkgLyog
QWJzdHJhY3RQYXN0ZWJvYXJkLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBGNDgyMjMxMjFFMzg2RTI0MDA2NkZDNzkgLyogQWJzdHJhY3RQYXN0ZWJvYXJk
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTE0
MDc5LDYgKzE0MDgwLDcgQEAKIAkJRjQ3ODc1NTMxOTk4M0FGRjAwMjRBMjg3IC8qIFNjcm9sbFNu
YXBBbmltYXRvclN0YXRlLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRo
ID0gU2Nyb2xsU25hcEFuaW1hdG9yU3RhdGUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUY0N0E1RTNBMTk1QjhDOEEwMDQ4MzEwMCAvKiBTdHlsZVNjcm9sbFNuYXBQb2ludHMuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3R5bGVTY3JvbGxTbmFwUG9p
bnRzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjQ3QTVFM0IxOTVCOEM4QTAw
NDgzMTAwIC8qIFN0eWxlU2Nyb2xsU25hcFBvaW50cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBTdHlsZVNjcm9sbFNuYXBQb2ludHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJRjQ3QTYzM0MxRkY2RkQ1MDAwODFCM0NDIC8qIFByb21pc2VkQmxvYkluZm8uaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gUHJvbWlzZWRCbG9iSW5mby5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlGNDgyMjMwRTFFMzg2OUI4MDA2NkZDNzkgLyogV2ViSXRlbVByb3ZpZGVyUGFzdGVi
b2FyZC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYkl0ZW1Q
cm92aWRlclBhc3RlYm9hcmQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0ODIy
MzBGMUUzODY5QjgwMDY2RkM3OSAvKiBXZWJJdGVtUHJvdmlkZXJQYXN0ZWJvYXJkLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkl0ZW1Qcm92aWRlclBhc3RlYm9hcmQuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjQ4MjIzMTIxRTM4NkUyNDAwNjZGQzc5IC8q
IEFic3RyYWN0UGFzdGVib2FyZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBB
YnN0cmFjdFBhc3RlYm9hcmQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIzNzE2
LDYgKzIzNzE4LDcgQEAKIAkJCQlCQzNCRTEyQTBFOTgwOTJGMDA4MzU1ODggLyogUG9wdXBNZW51
U3R5bGUuaCAqLywKIAkJCQk1MUY2NDVEMjFGRUNEQkM4MDBCNTRERUQgLyogUHJvY2Vzcy5jcHAg
Ki8sCiAJCQkJNTFGNjQ1RDMxRkVDREJDODAwQjU0REVEIC8qIFByb2Nlc3MuaCAqLywKKwkJCQlG
NDdBNjMzQzFGRjZGRDUwMDA4MUIzQ0MgLyogUHJvbWlzZWRCbG9iSW5mby5oICovLAogCQkJCTAw
ODFGRUZEMTZCMEEyNDQwMDhBQUE3QSAvKiBQdWJsaWNTdWZmaXguaCAqLywKIAkJCQk1Qzk3QTMz
NjFGNUY3QTY1MDAxMDUyMDcgLyogUmVjdEVkZ2VzLmggKi8sCiAJCQkJOTgzMUFFNDkxNTQyMjVB
MjAwRkUyNjQ0IC8qIFJlZmVycmVyUG9saWN5LmggKi8sCkBAIC0yODgyNCw2ICsyODgyNyw3IEBA
CiAJCQkJQTcxNUU2NTMxMzRCQkJFQzAwRDhFNzEzIC8qIFByb2dyZXNzU2hhZG93RWxlbWVudC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMUEyQTY4MjQwQjVCRURFNzAwMDJBNDgwIC8qIFByb2dyZXNz
VHJhY2tlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFDQURENzkxODgwRDkxQzAwRDhCNzFEIC8q
IFByb2dyZXNzVHJhY2tlckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJRjQ3QTYzM0QxRkY2
RkQ1MDAwODFCM0NDIC8qIFByb21pc2VkQmxvYkluZm8uaCBpbiBIZWFkZXJzICovLAogCQkJCUE1
NzhGNDM1MURFMDBFRUIwMDNERkM2QSAvKiBQcm9taXNlUmVqZWN0aW9uRXZlbnQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUU0QkJFRDBGMTRGNDAyNUQwMDNGMEI5OCAvKiBQcm9wZXJ0eVNldENTU1N0
eWxlRGVjbGFyYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTM3QkFBRTU4MTk4MEQxREQwMDVE
RkU3MSAvKiBQcm90ZWN0aW9uU3BhY2UuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vUHJvbWlzZWRCbG9iSW5mby5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vUHJvbWlzZWRCbG9iSW5mby5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFhY2RmNjk5MTJiZWM1OGRh
NmU0MDVmYzhhNzg1MjU4Y2RmM2ViZDgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9Qcm9taXNlZEJsb2JJbmZvLmgKQEAgLTAsMCArMSw2OCBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNwcmFnbWEgb25jZQorCisjaW1wb3J0IDxXZWJDb3JlL1NoYXJlZEJ1ZmZlci5oPgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK2VudW0gY2xhc3MgUHJvbWlzZWRCbG9iVHlwZSB7IERhdGFC
YWNrZWQsIEZpbGVCYWNrZWQgfTsKKworc3RydWN0IFByb21pc2VkQmxvYkluZm8geworICAgIFN0
cmluZyBibG9iVVJMOworICAgIFN0cmluZyBjb250ZW50VHlwZTsKKyAgICBTdHJpbmcgZmlsZW5h
bWU7CisgICAgUHJvbWlzZWRCbG9iVHlwZSBibG9iVHlwZTsKKworICAgIG9wZXJhdG9yIGJvb2wo
KSBjb25zdCB7IHJldHVybiAhYmxvYlVSTC5pc0VtcHR5KCk7IH0KK307CisKK3N0cnVjdCBQcm9t
aXNlZEJsb2JEYXRhIHsKKyAgICBTdHJpbmcgYmxvYlVSTDsKKyAgICBTdHJpbmcgZmlsZVBhdGg7
CisgICAgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gZGF0YTsKKworICAgIGJvb2wgaGFzRGF0YSgpIGNv
bnN0IHsgcmV0dXJuIGRhdGE7IH0KKyAgICBib29sIGhhc0ZpbGUoKSBjb25zdCB7IHJldHVybiAh
ZmlsZVBhdGguaXNFbXB0eSgpOyB9CisgICAgb3BlcmF0b3IgYm9vbCgpIGNvbnN0IHsgcmV0dXJu
ICFibG9iVVJMLmlzRW1wdHkoKTsgfQorICAgIGJvb2wgZnVsZmlsbHMoY29uc3QgUHJvbWlzZWRC
bG9iSW5mbyYgaW5mbykgY29uc3QgeyByZXR1cm4gKnRoaXMgJiYgYmxvYlVSTCA9PSBpbmZvLmJs
b2JVUkw7IH0KK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworbmFtZXNwYWNlIFdURiB7
CisKK3RlbXBsYXRlPHR5cGVuYW1lPiBzdHJ1Y3QgRW51bVRyYWl0czsKK3RlbXBsYXRlPHR5cGVu
YW1lIEUsIEUuLi4+IHN0cnVjdCBFbnVtVmFsdWVzOworCit0ZW1wbGF0ZTw+IHN0cnVjdCBFbnVt
VHJhaXRzPFdlYkNvcmU6OlByb21pc2VkQmxvYlR5cGU+IHsKKyAgICB1c2luZyB2YWx1ZXMgPSBF
bnVtVmFsdWVzPFdlYkNvcmU6OlByb21pc2VkQmxvYlR5cGUsCisgICAgV2ViQ29yZTo6UHJvbWlz
ZWRCbG9iVHlwZTo6RGF0YUJhY2tlZCwKKyAgICBXZWJDb3JlOjpQcm9taXNlZEJsb2JUeXBlOjpG
aWxlQmFja2VkCisgICAgPjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdURgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAKaW5kZXggOGE3ZDU2MDY4NzNi
YzI0ZjEwMGM4YzBmM2U2ZGM0OGFiZTU1M2FlOC4uN2Y4MTVjZTQ2MzU0NGI3ZWYyYWE5ZGE2Zjk2
YzVjMzBlMGViNTJlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFy
Z3VtZW50Q29kZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1l
bnRDb2RlcnMuY3BwCkBAIC01NSw2ICs1NSw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9QYXN0ZWJv
YXJkLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QYXRoLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QbHVn
aW5EYXRhLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9Qcm9taXNlZEJsb2JJbmZvLmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9Qcm90ZWN0aW9uU3BhY2UuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1JlY3RFZGdl
cy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVnaW9uLmg+CkBAIC0yODAyLDQgKzI4MDMsNTAgQEAg
c3RkOjpvcHRpb25hbDxNZWRpYVNlbGVjdGlvbk9wdGlvbj4gQXJndW1lbnRDb2RlcjxNZWRpYVNl
bGVjdGlvbk9wdGlvbj46OmRlY29kZSgKICAgICByZXR1cm4ge3sgV1RGTW92ZSgqZGlzcGxheU5h
bWUpLCBXVEZNb3ZlKCp0eXBlKSB9fTsKIH0KIAordm9pZCBBcmd1bWVudENvZGVyPFByb21pc2Vk
QmxvYkRhdGE+OjplbmNvZGUoRW5jb2RlciYgZW5jb2RlciwgY29uc3QgUHJvbWlzZWRCbG9iRGF0
YSYgZGF0YSkKK3sKKyAgICBlbmNvZGVyIDw8IGRhdGEuYmxvYlVSTDsKKyAgICBlbmNvZGVyIDw8
IGRhdGEuZmlsZVBhdGg7CisgICAgZW5jb2RlU2hhcmVkQnVmZmVyKGVuY29kZXIsIGRhdGEuZGF0
YS5nZXQoKSk7Cit9CisKK2Jvb2wgQXJndW1lbnRDb2RlcjxQcm9taXNlZEJsb2JEYXRhPjo6ZGVj
b2RlKERlY29kZXImIGRlY29kZXIsIFByb21pc2VkQmxvYkRhdGEmIGRhdGEpCit7CisgICAgaWYg
KCFkZWNvZGVyLmRlY29kZShkYXRhLmJsb2JVUkwpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisK
KyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGRhdGEuZmlsZVBhdGgpKQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisKKyAgICBpZiAoIWRlY29kZVNoYXJlZEJ1ZmZlcihkZWNvZGVyLCBkYXRhLmRhdGEp
KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwordm9pZCBB
cmd1bWVudENvZGVyPFByb21pc2VkQmxvYkluZm8+OjplbmNvZGUoRW5jb2RlciYgZW5jb2Rlciwg
Y29uc3QgUHJvbWlzZWRCbG9iSW5mbyYgaW5mbykKK3sKKyAgICBlbmNvZGVyIDw8IGluZm8uYmxv
YlVSTDsKKyAgICBlbmNvZGVyIDw8IGluZm8uY29udGVudFR5cGU7CisgICAgZW5jb2RlciA8PCBp
bmZvLmZpbGVuYW1lOworICAgIGVuY29kZXIuZW5jb2RlRW51bShpbmZvLmJsb2JUeXBlKTsKK30K
KworYm9vbCBBcmd1bWVudENvZGVyPFByb21pc2VkQmxvYkluZm8+OjpkZWNvZGUoRGVjb2RlciYg
ZGVjb2RlciwgUHJvbWlzZWRCbG9iSW5mbyYgaW5mbykKK3sKKyAgICBpZiAoIWRlY29kZXIuZGVj
b2RlKGluZm8uYmxvYlVSTCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmICghZGVj
b2Rlci5kZWNvZGUoaW5mby5jb250ZW50VHlwZSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwor
ICAgIGlmICghZGVjb2Rlci5kZWNvZGUoaW5mby5maWxlbmFtZSkpCisgICAgICAgIHJldHVybiBm
YWxzZTsKKworICAgIGlmICghZGVjb2Rlci5kZWNvZGUoaW5mby5ibG9iVHlwZSkpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKworICAgIHJldHVybiB0cnVlOworfQorCiB9IC8vIG5hbWVzcGFjZSBJ
UEMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVy
cy5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKaW5kZXgg
MjJmMWYyMTFmN2UyNTllZTk3MTkzOGM1N2MyZTQwZGMwZGQ2MTQ5ZC4uNWExZmRiNTk1NzFmZjhj
ODMxZTA5NmE5OWRlNDEyY2E3Njg1MmUwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFy
ZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2Vi
Q29yZUFyZ3VtZW50Q29kZXJzLmgKQEAgLTEwNSw2ICsxMDUsOCBAQCBzdHJ1Y3QgUGFzdGVib2Fy
ZEltYWdlOwogc3RydWN0IFBhc3RlYm9hcmRDdXN0b21EYXRhOwogc3RydWN0IFBhc3RlYm9hcmRV
Ukw7CiBzdHJ1Y3QgUGx1Z2luSW5mbzsKK3N0cnVjdCBQcm9taXNlZEJsb2JEYXRhOworc3RydWN0
IFByb21pc2VkQmxvYkluZm87CiBzdHJ1Y3QgUmVjZW50U2VhcmNoOwogc3RydWN0IFJlc291cmNl
TG9hZFN0YXRpc3RpY3M7CiBzdHJ1Y3QgU2Nyb2xsYWJsZUFyZWFQYXJhbWV0ZXJzOwpAQCAtNjk2
LDYgKzY5OCwxNiBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6Ok1l
ZGlhU2VsZWN0aW9uT3B0aW9uPiB7CiAgICAgc3RhdGljIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6
TWVkaWFTZWxlY3Rpb25PcHRpb24+IGRlY29kZShEZWNvZGVyJik7CiB9OwogCit0ZW1wbGF0ZTw+
IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OlByb21pc2VkQmxvYkRhdGE+IHsKKyAgICBz
dGF0aWMgdm9pZCBlbmNvZGUoRW5jb2RlciYsIGNvbnN0IFdlYkNvcmU6OlByb21pc2VkQmxvYkRh
dGEmKTsKKyAgICBzdGF0aWMgYm9vbCBkZWNvZGUoRGVjb2RlciYsIFdlYkNvcmU6OlByb21pc2Vk
QmxvYkRhdGEmKTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29y
ZTo6UHJvbWlzZWRCbG9iSW5mbz4geworICAgIHN0YXRpYyB2b2lkIGVuY29kZShFbmNvZGVyJiwg
Y29uc3QgV2ViQ29yZTo6UHJvbWlzZWRCbG9iSW5mbyYpOworICAgIHN0YXRpYyBib29sIGRlY29k
ZShEZWNvZGVyJiwgV2ViQ29yZTo6UHJvbWlzZWRCbG9iSW5mbyYpOworfTsKKwogfSAvLyBuYW1l
c3BhY2UgSVBDCiAKIG5hbWVzcGFjZSBXVEYgewo=
</data>

          </attachment>
      

    </bug>

</bugzilla>