<?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>192283</bug_id>
          
          <creation_ts>2018-12-01 18:49:06 -0800</creation_ts>
          <short_desc>[iOSMac] Unable to upload non-image files using drag and drop in WKWebView</short_desc>
          <delta_ts>2018-12-03 07:57:14 -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>Other</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>bdakin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>rniwa</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1484174</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2018-12-01 18:49:06 -0800</bug_when>
    <thetext>SSIA</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1484175</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-12-01 18:49:35 -0800</bug_when>
    <thetext>&lt;rdar://problem/46399461&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1484228</commentid>
    <comment_count>2</comment_count>
      <attachid>356350</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2018-12-02 16:05:27 -0800</bug_when>
    <thetext>Created attachment 356350
First pass</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1484261</commentid>
    <comment_count>3</comment_count>
      <attachid>356350</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2018-12-02 22:25:37 -0800</bug_when>
    <thetext>Comment on attachment 356350
First pass

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

Thanks for the review!

&gt; Source/WebCore/ChangeLog:42
&gt; +        If the pasteboard contains &quot;public.file-url&quot;, don&apos;t consider &quot;text-uri-list&quot; to be one of the data types that&apos;s

Oops, I just noticed that I wrote &quot;text-uri-list&quot; here instead of &quot;text/uri-list&quot;. I&apos;ll fix this typo before landing.

&gt; Source/WebCore/ChangeLog:43
&gt; +        safe to expose to the page. Our currently behavior in this case is that we will advertise &quot;text-uri-list&quot; as a

(here too)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1484340</commentid>
    <comment_count>4</comment_count>
      <attachid>356378</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2018-12-03 07:04:46 -0800</bug_when>
    <thetext>Created attachment 356378
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1484344</commentid>
    <comment_count>5</comment_count>
      <attachid>356378</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-12-03 07:42:19 -0800</bug_when>
    <thetext>Comment on attachment 356378
Patch for landing

Clearing flags on attachment: 356378

Committed r238795: &lt;https://trac.webkit.org/changeset/238795&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>356350</attachid>
            <date>2018-12-02 16:05:27 -0800</date>
            <delta_ts>2018-12-02 21:49:39 -0800</delta_ts>
            <desc>First pass</desc>
            <filename>bug-192283-20181202160527.patch</filename>
            <type>text/plain</type>
            <size>21032</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM4Nzg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjcyYzE3YmVlZmQxMTgx
NWZkMTc5YmZkNzg0M2IzZDFhMzZhYzM0OS4uYjFlNjI5MTBiMzdiZWEzZDFiMjVkZmU1OTM4NmQ3
ODFiODMzNzhmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc3IEBACisyMDE4LTEyLTAyICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NNYWNdIFVu
YWJsZSB0byB1cGxvYWQgbm9uLWltYWdlIGZpbGVzIHVzaW5nIGRyYWcgYW5kIGRyb3AgaW4gV0tX
ZWJWaWV3CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
OTIyODMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ2Mzk5NDYxPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEN1cnJlbnRseSBvbiBpT1MsIGZpbGUg
VVJMcyBhcmVuJ3QgZ2VuZXJhbGx5IHdyaXR0ZW4gdG8gdGhlIHBhc3RlYm9hcmQgZHVyaW5nIGRy
YWcgYW5kIGRyb3AgdW5sZXNzIHRoZQorICAgICAgICBhcHBsaWNhdGlvbiBwcm92aWRpbmcgdGhl
IGRhdGEgZXhwbGljaXRseSByZWdpc3RlcnMgInB1YmxpYy5maWxlLXVybCIgdG8gaXRlbSBwcm92
aWRlcnMuIEFzIHN1Y2gsIG91ciBjdXJyZW50CisgICAgICAgIGxvZ2ljIG9uIGlPUyBmb3IgaGFu
ZGxpbmcgZHJvcHMgZG9lcyBub3QgYXR0ZW1wdCB0byBwcmV2ZW50ICJwdWJsaWMuZmlsZS11cmwi
IGZyb20gYmVpbmcgYWR2ZXJ0aXNlZCBhcyB0aGUKKyAgICAgICAgInRleHQvdXJpLWxpc3QiIE1J
TUUgdHlwZSBpbiBEYXRhVHJhbnNmZXIsIHRob3VnaCB3ZSBkbyBjdXJyZW50bHkgc3VjY2VlZCBp
biBzdXBwcmVzc2luZyBhY2Nlc3MgdG8gdGhlIGZpbGUgVVJMLgorCisgICAgICAgIEhvd2V2ZXIs
IG9uIGlPU01hYywgdGhlIHNjZW5hcmlvIGluIHdoaWNoIGZpbGUgVVJMcyBhcmUgcmVnaXN0ZXJl
ZCB0byBpdGVtIHByb3ZpZGVycyBiZWNvbWVzIHBlcnRpbmVudCB3aGVuCisgICAgICAgIHVwbG9h
ZGluZyBmaWxlcyBmcm9tIG90aGVyIG1hY09TIGFwcHMgKGUuZy4gRmluZGVyKSBpbnRvIGEgV0tX
ZWJWaWV3IHJ1bm5pbmcgaW4gaU9TTWFjLiBGdXJ0aGVybW9yZSwgdGhlCisgICAgICAgIGBwcmVm
ZXJyZWRQcmVzZW50YXRpb25TdHlsZWAgZmxhZyBvbiBgTlNJdGVtUHJvdmlkZXJgIGlzIHVuYXZh
aWxhYmxlIGluIGlPU01hYzsgY3VycmVudGx5LCB0aGlzIGZsYWcgaXMgb3VyCisgICAgICAgIHBy
aW1hcnkgY3VlIG9uIGlPUyB0aGF0IGFuIGl0ZW0gc2hvdWxkIGJlIHRyZWF0ZWQgYXMgYW4gYXR0
YWNobWVudCByYXRoZXIgdGhhbiBpbmxpbmUgZGF0YS4gSW4gb3JkZXIgdG8gc3VwcG9ydAorICAg
ICAgICBmaWxlIHVwbG9hZHMgaW4gaU9TTWFjLCB3ZSBtYWtlIHNldmVyYWwgYWRqdXN0bWVudHMg
dG8gZHJvcCBoYW5kbGluZyBsb2dpYyBpbiBpT1MgdG8gaGFuZGxlIHRoZSBjYXNlIHdoZXJlIHRo
ZQorICAgICAgICAicHVibGljLmZpbGUtdXJsIiB0eXBlIGlzIHJlZ2lzdGVyZWQuIFNlZSBiZWxv
dyBmb3IgbW9yZSBkZXRhaWxzLgorCisgICAgICAgIFRlc3RzOiAgRHJhZ0FuZERyb3BUZXN0cy5E
YXRhVHJhbnNmZXJFeHBvc2VQbGFpblRleHRXaXRoRmlsZVVSTEFzRmlsZQorICAgICAgICAgICAg
ICAgIERyYWdBbmREcm9wVGVzdHMuRGF0YVRyYW5zZmVyR2V0RGF0YVdoZW5Ecm9wcGluZ0ltYWdl
V2l0aEZpbGVVUkwKKworICAgICAgICAqIHBsYXRmb3JtL1Bhc3RlYm9hcmRJdGVtSW5mby5oOgor
ICAgICAgICAoV2ViQ29yZTo6UGFzdGVib2FyZEl0ZW1JbmZvOjplbmNvZGUgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6UGFzdGVib2FyZEl0ZW1JbmZvOjpkZWNvZGUpOgorCisgICAgICAgIEFk
ZCBhIG5ldyBmbGFnIHRoYXQgaXMgc2V0IGlmIGFuZCBvbmx5IGlmIHRoZSBpdGVtIHByb3ZpZGVy
IGNvbnRhaW5zIHRoZSAicHVibGljLmZpbGUtdXJsIiB0eXBlLCBhbmQgYWxzbworICAgICAgICBj
b250YWlucyBzb21lIG5vbi1VUkwgZGF0YSB0eXBlIHRoYXQgY29uZm9ybXMgdG8gb25lIG9mIHRo
ZSBmaWxlIHR5cGVzIHN1cHBvcnRlZCBmb3IgZmlsZSB1cGxvYWRzIChpLmUuCisgICAgICAgICJw
dWJsaWMuY29udGVudCIsIHppcCBhcmNoaXZlcywgYW5kIGZvbGRlcnMpLgorCisgICAgICAgICog
cGxhdGZvcm0vY29jb2EvUGFzdGVib2FyZENvY29hLm1tOgorICAgICAgICAoV2ViQ29yZTo6UGFz
dGVib2FyZDo6ZmlsZUNvbnRlbnRTdGF0ZSk6CisKKyAgICAgICAgQ29uc2lkZXIgdGhlIHBhc3Rl
Ym9hcmQgdG8gY29udGFpbiBmaWxlcyBpbiB0aGUgY2FzZSB3aGVyZSBvbmUgb3IgbW9yZSBvZiB0
aGUgaXRlbXMgY29udGFpbnMgYSBmaWxlIFVSTCwgYWxvbmcKKyAgICAgICAgd2l0aCBzb21lIG90
aGVyIHBhc3RlYm9hcmQgZGF0YSB0aGF0IGNhbiBiZSByZXByZXNlbnRlZCBhcyBhIGZpbGUgdXBs
b2FkLgorCisgICAgICAgICogcGxhdGZvcm0vaW9zL1BsYXRmb3JtUGFzdGVib2FyZElPUy5tbToK
KyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtUGFzdGVib2FyZDo6aW5mb3JtYXRpb25Gb3JJdGVt
QXRJbmRleCk6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybVBhc3RlYm9hcmQ6OnR5cGVzU2Fm
ZUZvckRPTVRvUmVhZEFuZFdyaXRlIGNvbnN0KToKKworICAgICAgICBJZiB0aGUgcGFzdGVib2Fy
ZCBjb250YWlucyAicHVibGljLmZpbGUtdXJsIiwgZG9uJ3QgY29uc2lkZXIgInRleHQtdXJpLWxp
c3QiIHRvIGJlIG9uZSBvZiB0aGUgZGF0YSB0eXBlcyB0aGF0J3MKKyAgICAgICAgc2FmZSB0byBl
eHBvc2UgdG8gdGhlIHBhZ2UuIE91ciBjdXJyZW50bHkgYmVoYXZpb3IgaW4gdGhpcyBjYXNlIGlz
IHRoYXQgd2Ugd2lsbCBhZHZlcnRpc2UgInRleHQtdXJpLWxpc3QiIGFzIGEKKyAgICAgICAgcGFz
dGVib2FyZCB0eXBlIGluIHRoZSBEYXRhVHJhbnNmZXIsIGJ1dCBpZiB0aGUgcGFnZSBhdHRlbXB0
cyB0byByZXF1ZXN0IHRoaXMgaW5mb3JtYXRpb24sIHdlIHNpbXBseSByZXR1cm4gdGhlCisgICAg
ICAgIGVtcHR5IHN0cmluZy4gSW5zdGVhZCwgd2Ugc2hvdWxkbid0IGV4cG9zZSAidGV4dC91cmkt
bGlzdCIgYXMgYSB0eXBlIGluIHRoZSBmaXJzdCBwbGFjZS4KKworICAgICAgICAqIHBsYXRmb3Jt
L2lvcy9XZWJJdGVtUHJvdmlkZXJQYXN0ZWJvYXJkLmg6CisgICAgICAgICogcGxhdGZvcm0vaW9z
L1dlYkl0ZW1Qcm92aWRlclBhc3RlYm9hcmQubW06CisKKyAgICAgICAgQWRkIGEgZmV3IG1vcmUg
YF9fYnJpZGdlYC1pbmcgY2FzdHMgd2hlcmUgYXBwcm9wcmlhdGUuCisKKyAgICAgICAgKHR5cGVD
b25mb3Jtc1RvVHlwZXMpOgorCisgICAgICAgIE1vdmUgdGhpcyBmdXJ0aGVyIHVwIHRoZSBmaWxl
IHNvIHRoYXQgaXQgY2FuIGJlIHVzZWQgaW4gYE5TSXRlbVByb3ZpZGVyIChXZWJDb3JlRXh0cmFz
KWAuCisKKyAgICAgICAgKC1bTlNJdGVtUHJvdmlkZXIgd2ViX2NvbnRhaW5zRmlsZVVSTEFuZEZp
bGVVcGxvYWRDb250ZW50XSk6CisKKyAgICAgICAgQWRkIGEgaGVscGVyIG1ldGhvZCBvbiBOU0l0
ZW1Qcm92aWRlciB0byBkZXRlcm1pbmUgd2hldGhlciBhbiBpdGVtIHByb3ZpZGVyIGhhcyBhIGZp
bGUgVVJMLCBhcyB3ZWxsIGFzIGEgY29udGVudAorICAgICAgICB0eXBlIHN1aXRhYmxlIGZvciBm
aWxlIHVwbG9hZHMuCisKKyAgICAgICAgKC1bV2ViSXRlbVByb3ZpZGVyTG9hZFJlc3VsdCBjYW5C
ZVJlcHJlc2VudGVkQXNGaWxlVXBsb2FkXSk6CisKKyAgICAgICAgVGhpcyBjdXJyZW50bHkgYWx3
YXlzIHJldHVybnMgYE5PYCBpbiBpT1NNYWM7IGluc3RlYWQsIHJldHVybiBgWUVTYCBvbiBib3Ro
IGlPUyBhbmQgaU9TTWFjIGluIHRoZSBjYXNlIHdoZXJlIHRoZQorICAgICAgICBpdGVtIHByb3Zp
ZGVyIGNvbnRhaW5zIGEgZmlsZSBVUkwgYW5kIGNvbnRlbnQgd2hpY2ggbWF5IGJlIHVwbG9hZGVk
LgorCisgICAgICAgICgtW1dlYkl0ZW1Qcm92aWRlclBhc3RlYm9hcmQgcHJlZmVycmVkRmlsZVVw
bG9hZFVSTEF0SW5kZXg6ZmlsZVR5cGU6XSk6CisgICAgICAgICgtW1dlYkl0ZW1Qcm92aWRlclBh
c3RlYm9hcmQgdHlwZUlkZW50aWZpZXJzVG9Mb2FkOl0pOgorCisgICAgICAgIFJlZmFjdG9yIHRo
aXMgdG8gdGFrZSBhbiBgTlNJdGVtUHJvdmlkZXJgIGluc3RlYWQgb2YgYSBsaXN0IG9mIHR5cGUg
aWRlbnRpZmllcnMsIGFuZCBiYWlsIG91dCBvZiBsb2FkaW5nIGRhdGEKKyAgICAgICAgZm9yICJw
dWJsaWMudXJsIiBpZiB0aGUgaXRlbSBwcm92aWRlciBjb250YWlucyBhIGZpbGUgVVJMLgorCisg
ICAgICAgICgtW1dlYkl0ZW1Qcm92aWRlclBhc3RlYm9hcmQgZG9BZnRlckxvYWRpbmdQcm92aWRl
ZENvbnRlbnRJbnRvRmlsZVVSTHM6c3luY2hyb25vdXNUaW1lb3V0Ol0pOgorICAgICAgICAoLVtX
ZWJJdGVtUHJvdmlkZXJQYXN0ZWJvYXJkIHR5cGVJZGVudGlmaWVyc1RvTG9hZEZvclJlZ2lzdGVy
ZWRUeXBlSWRlbnRpZmllcnM6XSk6IERlbGV0ZWQuCisKIDIwMTgtMTItMDEgIENocmlzdG9waGVy
IFJlaWQgIDxjaHJpcy5yZWlkQHNvbnkuY29tPgogCiAgICAgICAgIEFkZCBnZW5lcmljIGltcGxl
bWVudGF0aW9ucyB0byBGaWxlU3lzdGVtUE9TSVguY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkSXRlbUluZm8uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1Bhc3RlYm9hcmRJdGVtSW5mby5oCmluZGV4IGUxMTc0M2RkMjk3NjI4N2M1Y2JkZjRlYjdl
MTYxNGRjZWY2NDczYjUuLmJkNTk5NjI5NjU0MTA2MWJhNzY2Y2MxNDRhZTZjMjQ2ODc1ZDEwODcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmRJdGVtSW5mby5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmRJdGVtSW5mby5oCkBAIC00
MSw2ICs0MSw3IEBAIHN0cnVjdCBQYXN0ZWJvYXJkSXRlbUluZm8gewogICAgIFN0cmluZyBjb250
ZW50VHlwZUZvckZpbGVVcGxvYWQ7CiAgICAgU3RyaW5nIHN1Z2dlc3RlZEZpbGVOYW1lOwogICAg
IGJvb2wgaXNOb25UZXh0VHlwZSB7IGZhbHNlIH07CisgICAgYm9vbCBjb250YWluc0ZpbGVVUkxB
bmRGaWxlVXBsb2FkQ29udGVudCB7IGZhbHNlIH07CiAgICAgUGFzdGVib2FyZEl0ZW1QcmVzZW50
YXRpb25TdHlsZSBwcmVmZXJyZWRQcmVzZW50YXRpb25TdHlsZSB7IFBhc3RlYm9hcmRJdGVtUHJl
c2VudGF0aW9uU3R5bGU6OlVuc3BlY2lmaWVkIH07CiAKICAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNv
ZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CkBAIC01MCw3ICs1MSw3IEBAIHN0cnVj
dCBQYXN0ZWJvYXJkSXRlbUluZm8gewogdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4KIHZvaWQgUGFz
dGVib2FyZEl0ZW1JbmZvOjplbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKIHsKLSAgICBl
bmNvZGVyIDw8IHBhdGhGb3JGaWxlVXBsb2FkIDw8IGNvbnRlbnRUeXBlRm9yRmlsZVVwbG9hZCA8
PCBzdWdnZXN0ZWRGaWxlTmFtZSA8PCBpc05vblRleHRUeXBlOworICAgIGVuY29kZXIgPDwgcGF0
aEZvckZpbGVVcGxvYWQgPDwgY29udGVudFR5cGVGb3JGaWxlVXBsb2FkIDw8IHN1Z2dlc3RlZEZp
bGVOYW1lIDw8IGlzTm9uVGV4dFR5cGUgPDwgY29udGFpbnNGaWxlVVJMQW5kRmlsZVVwbG9hZENv
bnRlbnQ7CiAgICAgZW5jb2Rlci5lbmNvZGVFbnVtKHByZWZlcnJlZFByZXNlbnRhdGlvblN0eWxl
KTsKIH0KIApAQCAtNzAsNiArNzEsOSBAQCBzdGQ6Om9wdGlvbmFsPFBhc3RlYm9hcmRJdGVtSW5m
bz4gUGFzdGVib2FyZEl0ZW1JbmZvOjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKICAgICBpZiAo
IWRlY29kZXIuZGVjb2RlKHJlc3VsdC5pc05vblRleHRUeXBlKSkKICAgICAgICAgcmV0dXJuIHN0
ZDo6bnVsbG9wdDsKIAorICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LmNvbnRhaW5zRmls
ZVVSTEFuZEZpbGVVcGxvYWRDb250ZW50KSkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsK
KwogICAgIGlmICghZGVjb2Rlci5kZWNvZGVFbnVtKHJlc3VsdC5wcmVmZXJyZWRQcmVzZW50YXRp
b25TdHlsZSkpCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Bhc3RlYm9hcmRDb2NvYS5tbSBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Bhc3RlYm9hcmRDb2NvYS5tbQppbmRleCAzZTQ4N2JhMGZk
MTM1YWEyNjVmZGY1MjJiMGU1MTJjZWM5OTdjZWM1Li4yNTBhMmFmZWE1OGU1ZjE4ZjBlNmQyNWRk
MGI2MTgxYmQ0ZjZkNTI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2Nv
YS9QYXN0ZWJvYXJkQ29jb2EubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2Ev
UGFzdGVib2FyZENvY29hLm1tCkBAIC0xNjIsNyArMTYyLDcgQEAgUGFzdGVib2FyZDo6RmlsZUNv
bnRlbnRTdGF0ZSBQYXN0ZWJvYXJkOjpmaWxlQ29udGVudFN0YXRlKCkKICAgICAgICAgICAgIGlm
IChpdGVtLnByZWZlcnJlZFByZXNlbnRhdGlvblN0eWxlICE9IFBhc3RlYm9hcmRJdGVtUHJlc2Vu
dGF0aW9uU3R5bGU6OlVuc3BlY2lmaWVkKQogICAgICAgICAgICAgICAgIHJldHVybiBpdGVtLnBy
ZWZlcnJlZFByZXNlbnRhdGlvblN0eWxlID09IFBhc3RlYm9hcmRJdGVtUHJlc2VudGF0aW9uU3R5
bGU6OkF0dGFjaG1lbnQ7CiAKLSAgICAgICAgICAgIHJldHVybiAhaXRlbS5zdWdnZXN0ZWRGaWxl
TmFtZS5pc0VtcHR5KCkgfHwgaXRlbS5pc05vblRleHRUeXBlOworICAgICAgICAgICAgcmV0dXJu
ICFpdGVtLnN1Z2dlc3RlZEZpbGVOYW1lLmlzRW1wdHkoKSB8fCBpdGVtLmlzTm9uVGV4dFR5cGUg
fHwgaXRlbS5jb250YWluc0ZpbGVVUkxBbmRGaWxlVXBsb2FkQ29udGVudDsKICAgICAgICAgfSk7
CiAgICAgfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mv
UGxhdGZvcm1QYXN0ZWJvYXJkSU9TLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Bs
YXRmb3JtUGFzdGVib2FyZElPUy5tbQppbmRleCBiMDQ5MTQ3NjM5M2YwM2IwODAwZDQ3MDk5Y2Zm
YzM3MzFiM2RiY2Q0Li41OGYwNTM0YWJkNGNiZmFlMTE1ZWIxMjljNTNlZDgwZDdhZjNmMDMzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvUGxhdGZvcm1QYXN0ZWJvYXJk
SU9TLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QbGF0Zm9ybVBhc3RlYm9h
cmRJT1MubW0KQEAgLTE1NCw2ICsxNTQsNyBAQCBQYXN0ZWJvYXJkSXRlbUluZm8gUGxhdGZvcm1Q
YXN0ZWJvYXJkOjppbmZvcm1hdGlvbkZvckl0ZW1BdEluZGV4KGludCBpbmRleCkKICNpZiBQQVNU
RUJPQVJEX1NVUFBPUlRTX1BSRVNFTlRBVElPTl9TVFlMRV9BTkRfVEVBTV9EQVRBCiAgICAgaW5m
by5wcmVmZXJyZWRQcmVzZW50YXRpb25TdHlsZSA9IHBhc3RlYm9hcmRJdGVtUHJlc2VudGF0aW9u
U3R5bGUoaXRlbVByb3ZpZGVyLnByZWZlcnJlZFByZXNlbnRhdGlvblN0eWxlKTsKICNlbmRpZgor
ICAgIGluZm8uY29udGFpbnNGaWxlVVJMQW5kRmlsZVVwbG9hZENvbnRlbnQgPSBpdGVtUHJvdmlk
ZXIud2ViX2NvbnRhaW5zRmlsZVVSTEFuZEZpbGVVcGxvYWRDb250ZW50OwogICAgIGluZm8uc3Vn
Z2VzdGVkRmlsZU5hbWUgPSBpdGVtUHJvdmlkZXIuc3VnZ2VzdGVkTmFtZTsKICAgICBmb3IgKE5T
U3RyaW5nICp0eXBlSWRlbnRpZmllciBpbiBpdGVtUHJvdmlkZXIucmVnaXN0ZXJlZFR5cGVJZGVu
dGlmaWVycykgewogICAgICAgICBDRlN0cmluZ1JlZiBjZlR5cGVJZGVudGlmaWVyID0gKENGU3Ry
aW5nUmVmKXR5cGVJZGVudGlmaWVyOwpAQCAtNTMxLDYgKzUzMiw5IEBAIFZlY3RvcjxTdHJpbmc+
IFBsYXRmb3JtUGFzdGVib2FyZDo6dHlwZXNTYWZlRm9yRE9NVG9SZWFkQW5kV3JpdGUoY29uc3Qg
U3RyaW5nJiBvCiAgICAgICAgICAgICAgICAgQk9PTCBhYmxlVG9EZXRlcm1pbmVQcm90b2NvbE9m
UGFzdGVib2FyZFVSTCA9ICFbbV9wYXN0ZWJvYXJkIGlzS2luZE9mQ2xhc3M6W1dlYkl0ZW1Qcm92
aWRlclBhc3RlYm9hcmQgY2xhc3NdXTsKICAgICAgICAgICAgICAgICBpZiAoYWJsZVRvRGV0ZXJt
aW5lUHJvdG9jb2xPZlBhc3RlYm9hcmRVUkwgJiYgc3RyaW5nRm9yVHlwZShrVVRUeXBlVVJMKS5p
c0VtcHR5KCkpCiAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgICAgICAg
ICAgaWYgKFtbbV9wYXN0ZWJvYXJkIHBhc3RlYm9hcmRUeXBlc10gY29udGFpbnNPYmplY3Q6KF9f
YnJpZGdlIE5TU3RyaW5nICopa1VUVHlwZUZpbGVVUkxdKQorICAgICAgICAgICAgICAgICAgICBj
b250aW51ZTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGRvbVBhc3RlYm9hcmRUeXBlcy5h
ZGQoV1RGTW92ZShkb21UeXBlQXNTdHJpbmcpKTsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYkl0ZW1Qcm92aWRlclBhc3RlYm9hcmQuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJJdGVtUHJvdmlkZXJQYXN0ZWJvYXJkLmgKaW5k
ZXggMWYxYWY4NmZkOWIwYzg2ODkzZTljZWVmOGY2ZDc0ZjI3YjUxZGY5Zi4uZTJhNmM5YTQ5ZWJh
NjA2MGQ3NTM0MzBmZDc3YzlhYmViZjNlN2E4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vaW9zL1dlYkl0ZW1Qcm92aWRlclBhc3RlYm9hcmQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9pb3MvV2ViSXRlbVByb3ZpZGVyUGFzdGVib2FyZC5oCkBAIC0zNyw2ICsz
NywxMCBAQCB0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBXZWJQcmVmZXJyZWRQcmVzZW50YXRp
b25TdHlsZSkgewogCiBOU19BU1NVTUVfTk9OTlVMTF9CRUdJTgogCitAaW50ZXJmYWNlIE5TSXRl
bVByb3ZpZGVyIChXZWJDb3JlRXh0cmFzKQorQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5
KSBCT09MIHdlYl9jb250YWluc0ZpbGVVUkxBbmRGaWxlVXBsb2FkQ29udGVudDsKK0BlbmQKKwog
LyohIEEgV2ViSXRlbVByb3ZpZGVyUmVnaXN0cmFyIGVuY2Fwc3VsYXRlcyBhIHNpbmdsZSBjYWxs
IHRvIHJlZ2lzdGVyIHNvbWV0aGluZyB0byBhbiBpdGVtIHByb3ZpZGVyLgogIEBkaXNjdXNzaW9u
IENsYXNzZXMgdGhhdCBpbXBsZW1lbnQgdGhpcyBwcm90b2NvbCBlYWNoIHJlcHJlc2VudCBhIGRp
ZmZlcmVudCB3YXkgb2Ygd3JpdGluZyBkYXRhIHRvCiAgYW4gaXRlbSBwcm92aWRlci4gU29tZSBl
eGFtcGxlcyBpbmNsdWRlIHNldHRpbmcgYSBjaHVuayBvZiBkYXRhIGNvcnJlc3BvbmRpbmcgdG8g
YSB0eXBlIGlkZW50aWZpZXIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9p
b3MvV2ViSXRlbVByb3ZpZGVyUGFzdGVib2FyZC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2lvcy9XZWJJdGVtUHJvdmlkZXJQYXN0ZWJvYXJkLm1tCmluZGV4IDlmZGY2ZWI0NDM0YTNlMDE2
YjNlOWU4YTM5ODhkYzczZDNhODdlYTAuLmM3Yjc1YTUyZDE0MzhjODllNWMyZmY5MDA4OTNlMzU4
OGI2ZWI1NWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJJdGVt
UHJvdmlkZXJQYXN0ZWJvYXJkLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9X
ZWJJdGVtUHJvdmlkZXJQYXN0ZWJvYXJkLm1tCkBAIC01Myw2ICs1MywzOSBAQCB0eXBlZGVmIE5T
TXV0YWJsZURpY3Rpb25hcnk8TlNTdHJpbmcgKiwgTlNVUkwgKj4gVHlwZVRvRmlsZVVSTE1hcDsK
IHVzaW5nIFdlYkNvcmU6OlBhc3RlYm9hcmQ7CiB1c2luZyBXZWJDb3JlOjpQYXN0ZWJvYXJkQ3Vz
dG9tRGF0YTsKIAorc3RhdGljIEJPT0wgdHlwZUNvbmZvcm1zVG9UeXBlcyhOU1N0cmluZyAqdHlw
ZSwgTlNBcnJheSAqY29uZm9ybXNUb1R5cGVzKQoreworICAgIGZvciAoTlNTdHJpbmcgKmNvbmZv
cm1zVG9UeXBlIGluIGNvbmZvcm1zVG9UeXBlcykgeworICAgICAgICBpZiAoVVRUeXBlQ29uZm9y
bXNUbygoX19icmlkZ2UgQ0ZTdHJpbmdSZWYpdHlwZSwgKF9fYnJpZGdlIENGU3RyaW5nUmVmKWNv
bmZvcm1zVG9UeXBlKSkKKyAgICAgICAgICAgIHJldHVybiBZRVM7CisgICAgfQorICAgIHJldHVy
biBOTzsKK30KKworQGltcGxlbWVudGF0aW9uIE5TSXRlbVByb3ZpZGVyIChXZWJDb3JlRXh0cmFz
KQorCistIChCT09MKXdlYl9jb250YWluc0ZpbGVVUkxBbmRGaWxlVXBsb2FkQ29udGVudAorewor
ICAgIEJPT0wgY29udGFpbnNGaWxlVVJMID0gTk87CisgICAgQk9PTCBjb250YWluc0NvbnRlbnRG
b3JGaWxlVXBsb2FkID0gTk87CisgICAgZm9yIChOU1N0cmluZyAqaWRlbnRpZmllciBpbiBzZWxm
LnJlZ2lzdGVyZWRUeXBlSWRlbnRpZmllcnMpIHsKKyAgICAgICAgaWYgKFVUVHlwZUNvbmZvcm1z
VG8oKF9fYnJpZGdlIENGU3RyaW5nUmVmKWlkZW50aWZpZXIsIGtVVFR5cGVGaWxlVVJMKSkgewor
ICAgICAgICAgICAgY29udGFpbnNGaWxlVVJMID0gWUVTOworICAgICAgICAgICAgY29udGludWU7
CisgICAgICAgIH0KKworICAgICAgICBpZiAoVVRUeXBlQ29uZm9ybXNUbygoX19icmlkZ2UgQ0ZT
dHJpbmdSZWYpaWRlbnRpZmllciwga1VUVHlwZVVSTCkpCisgICAgICAgICAgICBjb250aW51ZTsK
KworICAgICAgICBjb250YWluc0NvbnRlbnRGb3JGaWxlVXBsb2FkIHw9IHR5cGVDb25mb3Jtc1Rv
VHlwZXMoaWRlbnRpZmllciwgUGFzdGVib2FyZDo6c3VwcG9ydGVkRmlsZVVwbG9hZFBhc3RlYm9h
cmRUeXBlcygpKTsKKyAgICAgICAgaWYgKGNvbnRhaW5zQ29udGVudEZvckZpbGVVcGxvYWQgJiYg
Y29udGFpbnNGaWxlVVJMKQorICAgICAgICAgICAgcmV0dXJuIFlFUzsKKyAgICB9CisgICAgcmV0
dXJuIE5POworfQorCitAZW5kCisKIEBpbnRlcmZhY2UgV2ViSXRlbVByb3ZpZGVyRGF0YVJlZ2lz
dHJhciA6IE5TT2JqZWN0IDxXZWJJdGVtUHJvdmlkZXJSZWdpc3RyYXI+CiAtIChpbnN0YW5jZXR5
cGUpaW5pdFdpdGhEYXRhOihOU0RhdGEgKilkYXRhIHR5cGU6KE5TU3RyaW5nICopdXRpVHlwZTsK
IEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgTlNTdHJpbmcgKnR5cGVJZGVudGlmaWVy
OwpAQCAtMzQyLDggKzM3NSwxMSBAQCAtIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhJdGVtUHJvdmlk
ZXI6KE5TSXRlbVByb3ZpZGVyICopaXRlbVByb3ZpZGVyIHR5cGVzVG9Mb2FkOgogCiAtIChCT09M
KWNhbkJlUmVwcmVzZW50ZWRBc0ZpbGVVcGxvYWQKIHsKKyAgICBpZiAoW19pdGVtUHJvdmlkZXIg
d2ViX2NvbnRhaW5zRmlsZVVSTEFuZEZpbGVVcGxvYWRDb250ZW50XSkKKyAgICAgICAgcmV0dXJu
IFlFUzsKKwogI2lmIFBMQVRGT1JNKElPU01BQykKLSAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0
dXJuIE5POwogI2Vsc2UKICAgICByZXR1cm4gW19pdGVtUHJvdmlkZXIgcHJlZmVycmVkUHJlc2Vu
dGF0aW9uU3R5bGVdICE9IFVJUHJlZmVycmVkUHJlc2VudGF0aW9uU3R5bGVJbmxpbmU7CiAjZW5k
aWYKQEAgLTYwNiwxMSArNjQyLDExIEBAIC0gKE5TVVJMICopcHJlZmVycmVkRmlsZVVwbG9hZFVS
TEF0SW5kZXg6KE5TVUludGVnZXIpaW5kZXggZmlsZVR5cGU6KE5TU3RyaW5nICoqCiAgICAgTlNJ
dGVtUHJvdmlkZXIgKml0ZW1Qcm92aWRlciA9IFtyZXN1bHQgaXRlbVByb3ZpZGVyXTsKICAgICBm
b3IgKE5TU3RyaW5nICpyZWdpc3RlcmVkVHlwZUlkZW50aWZpZXIgaW4gaXRlbVByb3ZpZGVyLnJl
Z2lzdGVyZWRUeXBlSWRlbnRpZmllcnMpIHsKICAgICAgICAgLy8gU2VhcmNoIGZvciB0aGUgaGln
aGVzdCBmaWRlbGl0eSBub24tcHJpdmF0ZSB0eXBlIGlkZW50aWZpZXIgd2UgbG9hZGVkIGZyb20g
dGhlIGl0ZW0gcHJvdmlkZXIuCi0gICAgICAgIGlmICghVVRUeXBlSXNEZWNsYXJlZCgoQ0ZTdHJp
bmdSZWYpcmVnaXN0ZXJlZFR5cGVJZGVudGlmaWVyKSAmJiAhVVRUeXBlSXNEeW5hbWljKChDRlN0
cmluZ1JlZilyZWdpc3RlcmVkVHlwZUlkZW50aWZpZXIpKQorICAgICAgICBpZiAoIVVUVHlwZUlz
RGVjbGFyZWQoKF9fYnJpZGdlIENGU3RyaW5nUmVmKXJlZ2lzdGVyZWRUeXBlSWRlbnRpZmllcikg
JiYgIVVUVHlwZUlzRHluYW1pYygoX19icmlkZ2UgQ0ZTdHJpbmdSZWYpcmVnaXN0ZXJlZFR5cGVJ
ZGVudGlmaWVyKSkKICAgICAgICAgICAgIGNvbnRpbnVlOwogCiAgICAgICAgIGZvciAoTlNTdHJp
bmcgKmxvYWRlZFR5cGVJZGVudGlmaWVyIGluIFtyZXN1bHQgbG9hZGVkVHlwZUlkZW50aWZpZXJz
XSkgewotICAgICAgICAgICAgaWYgKCFVVFR5cGVDb25mb3Jtc1RvKChDRlN0cmluZ1JlZilyZWdp
c3RlcmVkVHlwZUlkZW50aWZpZXIsIChDRlN0cmluZ1JlZilsb2FkZWRUeXBlSWRlbnRpZmllcikp
CisgICAgICAgICAgICBpZiAoIVVUVHlwZUNvbmZvcm1zVG8oKF9fYnJpZGdlIENGU3RyaW5nUmVm
KXJlZ2lzdGVyZWRUeXBlSWRlbnRpZmllciwgKF9fYnJpZGdlIENGU3RyaW5nUmVmKWxvYWRlZFR5
cGVJZGVudGlmaWVyKSkKICAgICAgICAgICAgICAgICBjb250aW51ZTsKIAogICAgICAgICAgICAg
aWYgKG91dEZpbGVUeXBlKQpAQCAtNjMyLDE2ICs2NjgsNiBAQCAtIChOU0FycmF5PE5TVVJMICo+
ICopYWxsRHJvcHBlZEZpbGVVUkxzCiAgICAgcmV0dXJuIGZpbGVVUkxzOwogfQogCi1zdGF0aWMg
Qk9PTCB0eXBlQ29uZm9ybXNUb1R5cGVzKE5TU3RyaW5nICp0eXBlLCBOU0FycmF5ICpjb25mb3Jt
c1RvVHlwZXMpCi17Ci0gICAgLy8gQSB0eXBlIGlzIGNvbnNpZGVyZWQgYXBwcm9wcmlhdGUgdG8g
bG9hZCBpZiBpdCBjb25mb3JtcyB0byBvbmUgb3IgbW9yZSBzdXBwb3J0ZWQgdHlwZXMuCi0gICAg
Zm9yIChOU1N0cmluZyAqY29uZm9ybXNUb1R5cGUgaW4gY29uZm9ybXNUb1R5cGVzKSB7Ci0gICAg
ICAgIGlmIChVVFR5cGVDb25mb3Jtc1RvKChDRlN0cmluZ1JlZil0eXBlLCAoQ0ZTdHJpbmdSZWYp
Y29uZm9ybXNUb1R5cGUpKQotICAgICAgICAgICAgcmV0dXJuIFlFUzsKLSAgICB9Ci0gICAgcmV0
dXJuIE5POwotfQotCiAtIChOU0ludGVnZXIpbnVtYmVyT2ZGaWxlcwogewogICAgIE5TQXJyYXkg
KnN1cHBvcnRlZEZpbGVUeXBlcyA9IFBhc3RlYm9hcmQ6OnN1cHBvcnRlZEZpbGVVcGxvYWRQYXN0
ZWJvYXJkVHlwZXMoKTsKQEAgLTY4OCwxNiArNzE0LDE4IEBAIHN0YXRpYyBOU1VSTCAqbGlua1Rl
bXBvcmFyeUl0ZW1Qcm92aWRlckZpbGVzVG9Ecm9wU3RhZ2luZ0RpcmVjdG9yeShOU1VSTCAqdXJs
LCBOCiAgICAgcmV0dXJuIFtmaWxlTWFuYWdlciBsaW5rSXRlbUF0VVJMOnVybCB0b1VSTDpkZXN0
aW5hdGlvbiBlcnJvcjpuaWxdID8gZGVzdGluYXRpb24gOiBuaWw7CiB9CiAKLS0gKE5TQXJyYXk8
TlNTdHJpbmcgKj4gKil0eXBlSWRlbnRpZmllcnNUb0xvYWRGb3JSZWdpc3RlcmVkVHlwZUlkZW50
aWZpZXJzOihOU0FycmF5PE5TU3RyaW5nICo+ICopcmVnaXN0ZXJlZFR5cGVJZGVudGlmaWVycwor
LSAoTlNBcnJheTxOU1N0cmluZyAqPiAqKXR5cGVJZGVudGlmaWVyc1RvTG9hZDooTlNJdGVtUHJv
dmlkZXIgKilpdGVtUHJvdmlkZXIKIHsKICAgICBhdXRvIHR5cGVzVG9Mb2FkID0gYWRvcHROUyhb
W05TTXV0YWJsZU9yZGVyZWRTZXQgYWxsb2NdIGluaXRdKTsKICAgICBOU1N0cmluZyAqaGlnaGVz
dEZpZGVsaXR5U3VwcG9ydGVkVHlwZSA9IG5pbDsKICAgICBOU1N0cmluZyAqaGlnaGVzdEZpZGVs
aXR5Q29udGVudFR5cGUgPSBuaWw7CiAKLSAgICBCT09MIGNvbnRhaW5zRmxhdFJURkQgPSBbcmVn
aXN0ZXJlZFR5cGVJZGVudGlmaWVycyBjb250YWluc09iamVjdDooTlNTdHJpbmcgKilrVVRUeXBl
RmxhdFJURkRdOworICAgIE5TQXJyYXk8TlNTdHJpbmcgKj4gKnJlZ2lzdGVyZWRUeXBlSWRlbnRp
ZmllcnMgPSBpdGVtUHJvdmlkZXIucmVnaXN0ZXJlZFR5cGVJZGVudGlmaWVyczsKKyAgICBCT09M
IGNvbnRhaW5zRmlsZSA9IGl0ZW1Qcm92aWRlci53ZWJfY29udGFpbnNGaWxlVVJMQW5kRmlsZVVw
bG9hZENvbnRlbnQ7CisgICAgQk9PTCBjb250YWluc0ZsYXRSVEZEID0gW3JlZ2lzdGVyZWRUeXBl
SWRlbnRpZmllcnMgY29udGFpbnNPYmplY3Q6KF9fYnJpZGdlIE5TU3RyaW5nICopa1VUVHlwZUZs
YXRSVEZEXTsKICAgICAvLyBGaXJzdCwgc2VhcmNoIGZvciB0aGUgaGlnaGVzdCBmaWRlbGl0eSBz
dXBwb3J0ZWQgdHlwZSBvciB0aGUgaGlnaGVzdCBmaWRlbGl0eSBnZW5lcmljIGNvbnRlbnQgdHlw
ZS4KICAgICBmb3IgKE5TU3RyaW5nICpyZWdpc3RlcmVkVHlwZUlkZW50aWZpZXIgaW4gcmVnaXN0
ZXJlZFR5cGVJZGVudGlmaWVycykgewotICAgICAgICBpZiAoY29udGFpbnNGbGF0UlRGRCAmJiBb
cmVnaXN0ZXJlZFR5cGVJZGVudGlmaWVyIGlzRXF1YWxUb1N0cmluZzooTlNTdHJpbmcgKilrVVRU
eXBlUlRGRF0pIHsKKyAgICAgICAgaWYgKGNvbnRhaW5zRmxhdFJURkQgJiYgW3JlZ2lzdGVyZWRU
eXBlSWRlbnRpZmllciBpc0VxdWFsVG9TdHJpbmc6KF9fYnJpZGdlIE5TU3RyaW5nICopa1VUVHlw
ZVJURkRdKSB7CiAgICAgICAgICAgICAvLyBJbiB0aGUgY2FzZSB3aGVyZSBhdHRhY2htZW50cyBh
cmUgZW5hYmxlZCBhbmQgd2UncmUgYWNjZXB0aW5nIGFsbCB0eXBlcyBvZiBjb250ZW50IHVzaW5n
IGF0dGFjaG1lbnQKICAgICAgICAgICAgIC8vIGVsZW1lbnRzIGFzIGEgZmFsbGJhY2sgcmVwcmVz
ZW50YXRpb24sIGlmIHRoZSBzb3VyY2Ugd3JpdGVzIGF0dHJpYnV0ZWQgc3RyaW5ncyB0byB0aGUg
cGFzdGVib2FyZCB3aXRoCiAgICAgICAgICAgICAvLyBjb20uYXBwbGUucnRmZCBhdCBhIGhpZ2hl
ciBmaWRlbGl0eSB0aGFuIGNvbS5hcHBsZS5mbGF0LXJ0ZmQsIHdlJ2xsIGVuZCB1cCBsb2FkaW5n
IG9ubHkgY29tLmFwcGxlLnJ0ZmQKQEAgLTcwNyw2ICs3MzUsOSBAQCAtIChOU0FycmF5PE5TU3Ry
aW5nICo+ICopdHlwZUlkZW50aWZpZXJzVG9Mb2FkRm9yUmVnaXN0ZXJlZFR5cGVJZGVudGlmaWVy
czooTlNBcgogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KIAorICAgICAgICBpZiAo
Y29udGFpbnNGaWxlICYmIFVUVHlwZUNvbmZvcm1zVG8oKF9fYnJpZGdlIENGU3RyaW5nUmVmKXJl
Z2lzdGVyZWRUeXBlSWRlbnRpZmllciwga1VUVHlwZVVSTCkpCisgICAgICAgICAgICBjb250aW51
ZTsKKwogICAgICAgICBpZiAoIWhpZ2hlc3RGaWRlbGl0eVN1cHBvcnRlZFR5cGUgJiYgdHlwZUNv
bmZvcm1zVG9UeXBlcyhyZWdpc3RlcmVkVHlwZUlkZW50aWZpZXIsIF9zdXBwb3J0ZWRUeXBlSWRl
bnRpZmllcnMuZ2V0KCkpKQogICAgICAgICAgICAgaGlnaGVzdEZpZGVsaXR5U3VwcG9ydGVkVHlw
ZSA9IHJlZ2lzdGVyZWRUeXBlSWRlbnRpZmllcjsKIApAQCAtNzIxLDkgKzc1Miw5IEBAIC0gKE5T
QXJyYXk8TlNTdHJpbmcgKj4gKil0eXBlSWRlbnRpZmllcnNUb0xvYWRGb3JSZWdpc3RlcmVkVHlw
ZUlkZW50aWZpZXJzOihOU0FyCiAgICAgICAgIGlmIChbcmVnaXN0ZXJlZFR5cGVJZGVudGlmaWVy
IGlzRXF1YWxUb1N0cmluZzpoaWdoZXN0RmlkZWxpdHlDb250ZW50VHlwZV0KICAgICAgICAgICAg
IHx8IFtyZWdpc3RlcmVkVHlwZUlkZW50aWZpZXIgaXNFcXVhbFRvU3RyaW5nOmhpZ2hlc3RGaWRl
bGl0eVN1cHBvcnRlZFR5cGVdCiAgICAgICAgICAgICB8fCBbcmVnaXN0ZXJlZFR5cGVJZGVudGlm
aWVyIGlzRXF1YWxUb1N0cmluZzpjdXN0b21QYXN0ZWJvYXJkRGF0YVVUSV0KLSAgICAgICAgICAg
IHx8IFVUVHlwZUNvbmZvcm1zVG8oKENGU3RyaW5nUmVmKXJlZ2lzdGVyZWRUeXBlSWRlbnRpZmll
ciwga1VUVHlwZVVSTCkKLSAgICAgICAgICAgIHx8IFVUVHlwZUNvbmZvcm1zVG8oKENGU3RyaW5n
UmVmKXJlZ2lzdGVyZWRUeXBlSWRlbnRpZmllciwga1VUVHlwZUhUTUwpCi0gICAgICAgICAgICB8
fCBVVFR5cGVDb25mb3Jtc1RvKChDRlN0cmluZ1JlZilyZWdpc3RlcmVkVHlwZUlkZW50aWZpZXIs
IGtVVFR5cGVQbGFpblRleHQpKQorICAgICAgICAgICAgfHwgKCFjb250YWluc0ZpbGUgJiYgVVRU
eXBlQ29uZm9ybXNUbygoX19icmlkZ2UgQ0ZTdHJpbmdSZWYpcmVnaXN0ZXJlZFR5cGVJZGVudGlm
aWVyLCBrVVRUeXBlVVJMKSkKKyAgICAgICAgICAgIHx8IFVUVHlwZUNvbmZvcm1zVG8oKF9fYnJp
ZGdlIENGU3RyaW5nUmVmKXJlZ2lzdGVyZWRUeXBlSWRlbnRpZmllciwga1VUVHlwZUhUTUwpCisg
ICAgICAgICAgICB8fCBVVFR5cGVDb25mb3Jtc1RvKChfX2JyaWRnZSBDRlN0cmluZ1JlZilyZWdp
c3RlcmVkVHlwZUlkZW50aWZpZXIsIGtVVFR5cGVQbGFpblRleHQpKQogICAgICAgICAgICAgW3R5
cGVzVG9Mb2FkIGFkZE9iamVjdDpyZWdpc3RlcmVkVHlwZUlkZW50aWZpZXJdOwogICAgIH0KIApA
QCAtNzQ2LDcgKzc3Nyw3IEBAIC0gKHZvaWQpZG9BZnRlckxvYWRpbmdQcm92aWRlZENvbnRlbnRJ
bnRvRmlsZVVSTHM6KFdlYkl0ZW1Qcm92aWRlckZpbGVMb2FkQmxvY2spCiAgICAgQk9PTCBmb3Vu
ZEFueURhdGFUb0xvYWQgPSBOTzsKICAgICBSZXRhaW5QdHI8V2ViSXRlbVByb3ZpZGVyUGFzdGVi
b2FyZD4gcHJvdGVjdGVkU2VsZiA9IHNlbGY7CiAgICAgZm9yIChOU0l0ZW1Qcm92aWRlciAqaXRl
bVByb3ZpZGVyIGluIF9pdGVtUHJvdmlkZXJzLmdldCgpKSB7Ci0gICAgICAgIE5TQXJyYXk8TlNT
dHJpbmcgKj4gKnR5cGVJZGVudGlmaWVyc1RvTG9hZCA9IFtwcm90ZWN0ZWRTZWxmIHR5cGVJZGVu
dGlmaWVyc1RvTG9hZEZvclJlZ2lzdGVyZWRUeXBlSWRlbnRpZmllcnM6aXRlbVByb3ZpZGVyLnJl
Z2lzdGVyZWRUeXBlSWRlbnRpZmllcnNdOworICAgICAgICBOU0FycmF5PE5TU3RyaW5nICo+ICp0
eXBlSWRlbnRpZmllcnNUb0xvYWQgPSBbcHJvdGVjdGVkU2VsZiB0eXBlSWRlbnRpZmllcnNUb0xv
YWQ6aXRlbVByb3ZpZGVyXTsKICAgICAgICAgZm91bmRBbnlEYXRhVG9Mb2FkIHw9IHR5cGVJZGVu
dGlmaWVyc1RvTG9hZC5jb3VudDsKICAgICAgICAgW2xvYWRSZXN1bHRzIGFkZE9iamVjdDpbV2Vi
SXRlbVByb3ZpZGVyTG9hZFJlc3VsdCBsb2FkUmVzdWx0V2l0aEl0ZW1Qcm92aWRlcjppdGVtUHJv
dmlkZXIgdHlwZXNUb0xvYWQ6dHlwZUlkZW50aWZpZXJzVG9Mb2FkXV07CiAgICAgfQpkaWZmIC0t
Z2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDFmNGFkNjc1Yjhm
NzMwZjgyOWIwYzZmZTdiYWZkODFlZDNmODlhNmMuLjcwNDgyYjI0ZTAyZjNjODg1YjdjODRjYzUz
ZWMxNjdkNTFmZWE3NDEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxOC0xMi0wMiAgV2Vuc29uIEhzaWVoICA8d2Vu
c29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TTWFjXSBVbmFibGUgdG8gdXBsb2Fk
IG5vbi1pbWFnZSBmaWxlcyB1c2luZyBkcmFnIGFuZCBkcm9wIGluIFdLV2ViVmlldworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkyMjgzCisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS80NjM5OTQ2MT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBZGQgYSBuZXcgQVBJIHRlc3QgdG8gY2hlY2sgdGhhdCBhbiBp
dGVtIHByb3ZpZGVyIHdoaWNoIGNvbnRhaW5zIHBsYWluIHRleHQgZGF0YSBhbmQgYSBmaWxlIFVS
TCAoYnV0IGlzIG5vdAorICAgICAgICBtYXJrZWQgYXMgYW4gYXR0YWNobWVudCkgaXMgc3RpbGwg
dHJlYXRlZCBhcyBhbiBhdHRhY2htZW50IHVwb24gZHJvcC4gRnVydGhlcm1vcmUsIHZlcmlmeSB0
aGF0ICJ0ZXh0L3VyaS1saXN0IgorICAgICAgICBkb2VzIG5vdCBleHBvc2UgdGhlIGFjdHVhbCBm
aWxlIFVSTCB3cml0dGVuIHRvIHRoZSBpdGVtIHByb3ZpZGVyLgorCisgICAgICAgIEFkZGl0aW9u
YWxseSwgcmViYXNlbGluZSBhbiBleGlzdGluZyBBUEkgdGVzdCB0byByZW1vdmUgYW4gZXh0cmFu
ZW91cyAidGV4dC91cmktbGlzdCIgdHlwZSB0aGF0IGFwcGVhcnMgaW4KKyAgICAgICAgYERhdGFU
cmFuc2Zlci50eXBlc2AsIGJ1dCB3aG9zZSBkYXRhIGlzIGluYWNjZXNzaWJsZSB2aWEgYGdldERh
dGFgIGFueXdheXMuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL2lvcy9EcmFnQW5k
RHJvcFRlc3RzSU9TLm1tOgorCiAyMDE4LTEyLTAxICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJk
QGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMjM4NzY0Lgpk
aWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9pb3MvRHJhZ0FuZERyb3BUZXN0
c0lPUy5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvaW9zL0RyYWdBbmREcm9wVGVzdHNJ
T1MubW0KaW5kZXggMjllZjY3NDdhM2NmYWYxMzFjMTkwNGE5NzM3MjRiYjc4YjExNjBjNS4uMmM4
MWU1N2I4Yjc5NGRkOTIwZmUxZTM3NTY0YWMzOWVjMDljMTUxNCAxMDA2NDQKLS0tIGEvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9pb3MvRHJhZ0FuZERyb3BUZXN0c0lPUy5tbQorKysgYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL2lvcy9EcmFnQW5kRHJvcFRlc3RzSU9TLm1tCkBAIC0xNjQ2
LDggKzE2NDYsOCBAQCBURVNUKERyYWdBbmREcm9wVGVzdHMsIERhdGFUcmFuc2ZlckdldERhdGFX
aGVuRHJvcHBpbmdJbWFnZVdpdGhGaWxlVVJMKQogCiAgICAgLy8gRmlsZSBVUkxzIHNob3VsZCBu
ZXZlciBiZSBleHBvc2VkIGRpcmVjdGx5IHRvIHdlYiBjb250ZW50LCBzbyBEYXRhVHJhbnNmZXIu
Z2V0RGF0YSBzaG91bGQgcmV0dXJuIGFuIGVtcHR5IHN0cmluZyBoZXJlLgogICAgIGNoZWNrSlNP
TldpdGhMb2dnaW5nKFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJvdXRw
dXQudmFsdWUiXSwgQHsKLSAgICAgICAgQCJkcmFnb3ZlciI6IEB7IEAiRmlsZXMiOiBAIiIsIEAi
dGV4dC91cmktbGlzdCI6IEAiIiB9LAotICAgICAgICBAImRyb3AiOiBAeyBAIkZpbGVzIjogQCIi
LCBAInRleHQvdXJpLWxpc3QiOiBAIiIgfQorICAgICAgICBAImRyYWdvdmVyIjogQHsgQCJGaWxl
cyI6IEAiIiB9LAorICAgICAgICBAImRyb3AiOiBAeyBAIkZpbGVzIjogQCIiIH0KICAgICB9KTsK
IH0KIApAQCAtMTc3Miw2ICsxNzcyLDI5IEBAIFRFU1QoRHJhZ0FuZERyb3BUZXN0cywgRGF0YVRy
YW5zZmVyU3VwcHJlc3NHZXREYXRhRHVlVG9QcmVzZW5jZU9mVGV4dEZpbGUpCiAgICAgRVhQRUNU
X1dLX1NUUkVRKCIoJ2hlbGxvLnR4dCcsIHRleHQvcGxhaW4pIiwgW3dlYlZpZXcgc3RyaW5nQnlF
dmFsdWF0aW5nSmF2YVNjcmlwdDpAImZpbGVzLnRleHRDb250ZW50Il0pOwogfQogCitURVNUKERy
YWdBbmREcm9wVGVzdHMsIERhdGFUcmFuc2ZlckV4cG9zZVBsYWluVGV4dFdpdGhGaWxlVVJMQXNG
aWxlKQoreworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9j
XSBpbml0V2l0aEZyYW1lOkNHUmVjdE1ha2UoMCwgMCwgMzIwLCA1MDApXSk7CisgICAgW3dlYlZp
ZXcgc3luY2hyb25vdXNseUxvYWRUZXN0UGFnZU5hbWVkOkAiRGF0YVRyYW5zZmVyIl07CisgICAg
YXV0byBzaW11bGF0b3IgPSBhZG9wdE5TKFtbRHJhZ0FuZERyb3BTaW11bGF0b3IgYWxsb2NdIGlu
aXRXaXRoV2ViVmlldzp3ZWJWaWV3LmdldCgpXSk7CisKKyAgICBhdXRvIGl0ZW1Qcm92aWRlciA9
IGFkb3B0TlMoW1tOU0l0ZW1Qcm92aWRlciBhbGxvY10gaW5pdF0pOworICAgIE5TRGF0YSAqdXJs
QXNEYXRhID0gW0AiZmlsZTovLy9zb21lL2ZpbGUvcGF0aC50eHQiIGRhdGFVc2luZ0VuY29kaW5n
Ok5TVVRGOFN0cmluZ0VuY29kaW5nXTsKKyAgICBbaXRlbVByb3ZpZGVyIHJlZ2lzdGVyRGF0YVJl
cHJlc2VudGF0aW9uRm9yVHlwZUlkZW50aWZpZXI6KF9fYnJpZGdlIE5TU3RyaW5nICopa1VUVHlw
ZUZpbGVVUkwgd2l0aERhdGE6dXJsQXNEYXRhXTsKKyAgICBbaXRlbVByb3ZpZGVyIHJlZ2lzdGVy
RGF0YVJlcHJlc2VudGF0aW9uRm9yVHlwZUlkZW50aWZpZXI6KF9fYnJpZGdlIE5TU3RyaW5nICop
a1VUVHlwZVVSTCB3aXRoRGF0YTp1cmxBc0RhdGFdOworICAgIFtpdGVtUHJvdmlkZXIgcmVnaXN0
ZXJPYmplY3Q6QCJIZWxsbyB3b3JsZCIgdmlzaWJpbGl0eTpOU0l0ZW1Qcm92aWRlclJlcHJlc2Vu
dGF0aW9uVmlzaWJpbGl0eUFsbF07CisKKyAgICBbc2ltdWxhdG9yIHNldEV4dGVybmFsSXRlbVBy
b3ZpZGVyczpAWyBpdGVtUHJvdmlkZXIuZ2V0KCkgXV07CisgICAgW3NpbXVsYXRvciBydW5Gcm9t
OkNHUG9pbnRaZXJvIHRvOkNHUG9pbnRNYWtlKDUwLCAxMDApXTsKKworICAgIEVYUEVDVF9XS19T
VFJFUSgiRmlsZXMiLCBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAidHlw
ZXMudGV4dENvbnRlbnQiXSk7CisgICAgRVhQRUNUX1dLX1NUUkVRKCIiLCBbd2ViVmlldyBzdHJp
bmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAidGV4dERhdGEudGV4dENvbnRlbnQiXSk7CisgICAg
RVhQRUNUX1dLX1NUUkVRKCIiLCBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0
OkAidXJsRGF0YS50ZXh0Q29udGVudCJdKTsKKyAgICBFWFBFQ1RfV0tfU1RSRVEoIiIsIFt3ZWJW
aWV3IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJodG1sRGF0YS50ZXh0Q29udGVudCJd
KTsKKyAgICBFWFBFQ1RfV0tfU1RSRVEoIihGSUxFLCB0ZXh0L3BsYWluKSIsIFt3ZWJWaWV3IHN0
cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJpdGVtcy50ZXh0Q29udGVudCJdKTsKKyAgICBF
WFBFQ1RfV0tfU1RSRVEoIigndGV4dC50eHQnLCB0ZXh0L3BsYWluKSIsIFt3ZWJWaWV3IHN0cmlu
Z0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJmaWxlcy50ZXh0Q29udGVudCJdKTsKK30KKwogVEVT
VChEcmFnQW5kRHJvcFRlc3RzLCBEYXRhVHJhbnNmZXJHZXREYXRhQ2Fubm90UmVhZFByaXZhdGVB
cmJpdHJhcnlUeXBlcykKIHsKICAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2Vi
VmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpDR1JlY3RNYWtlKDAsIDAsIDMyMCwgNTAwKV0pOwo=
</data>
<flag name="review"
          id="373339"
          type_id="1"
          status="+"
          setter="rniwa"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>356378</attachid>
            <date>2018-12-03 07:04:46 -0800</date>
            <delta_ts>2018-12-03 07:42:19 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-192283-20181203070445.patch</filename>
            <type>text/plain</type>
            <size>21026</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM4Nzg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjcyYzE3YmVlZmQxMTgx
NWZkMTc5YmZkNzg0M2IzZDFhMzZhYzM0OS4uZDRhYjY2NDQwYTVlN2RjMjVjODQxNWNlZjFmYzA5
M2U0MmQzNmUxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc3IEBACisyMDE4LTEyLTAyICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NNYWNdIFVu
YWJsZSB0byB1cGxvYWQgbm9uLWltYWdlIGZpbGVzIHVzaW5nIGRyYWcgYW5kIGRyb3AgaW4gV0tX
ZWJWaWV3CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
OTIyODMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ2Mzk5NDYxPgorCisgICAgICAgIFJldmll
d2VkIGJ5IFJ5b3N1a2UgTml3YS4KKworICAgICAgICBDdXJyZW50bHkgb24gaU9TLCBmaWxlIFVS
THMgYXJlbid0IGdlbmVyYWxseSB3cml0dGVuIHRvIHRoZSBwYXN0ZWJvYXJkIGR1cmluZyBkcmFn
IGFuZCBkcm9wIHVubGVzcyB0aGUKKyAgICAgICAgYXBwbGljYXRpb24gcHJvdmlkaW5nIHRoZSBk
YXRhIGV4cGxpY2l0bHkgcmVnaXN0ZXJzICJwdWJsaWMuZmlsZS11cmwiIHRvIGl0ZW0gcHJvdmlk
ZXJzLiBBcyBzdWNoLCBvdXIgY3VycmVudAorICAgICAgICBsb2dpYyBvbiBpT1MgZm9yIGhhbmRs
aW5nIGRyb3BzIGRvZXMgbm90IGF0dGVtcHQgdG8gcHJldmVudCAicHVibGljLmZpbGUtdXJsIiBm
cm9tIGJlaW5nIGFkdmVydGlzZWQgYXMgdGhlCisgICAgICAgICJ0ZXh0L3VyaS1saXN0IiBNSU1F
IHR5cGUgaW4gRGF0YVRyYW5zZmVyLCB0aG91Z2ggd2UgZG8gY3VycmVudGx5IHN1Y2NlZWQgaW4g
c3VwcHJlc3NpbmcgYWNjZXNzIHRvIHRoZSBmaWxlIFVSTC4KKworICAgICAgICBIb3dldmVyLCBv
biBpT1NNYWMsIHRoZSBzY2VuYXJpbyBpbiB3aGljaCBmaWxlIFVSTHMgYXJlIHJlZ2lzdGVyZWQg
dG8gaXRlbSBwcm92aWRlcnMgYmVjb21lcyBwZXJ0aW5lbnQgd2hlbgorICAgICAgICB1cGxvYWRp
bmcgZmlsZXMgZnJvbSBvdGhlciBtYWNPUyBhcHBzIChlLmcuIEZpbmRlcikgaW50byBhIFdLV2Vi
VmlldyBydW5uaW5nIGluIGlPU01hYy4gRnVydGhlcm1vcmUsIHRoZQorICAgICAgICBgcHJlZmVy
cmVkUHJlc2VudGF0aW9uU3R5bGVgIGZsYWcgb24gYE5TSXRlbVByb3ZpZGVyYCBpcyB1bmF2YWls
YWJsZSBpbiBpT1NNYWM7IGN1cnJlbnRseSwgdGhpcyBmbGFnIGlzIG91cgorICAgICAgICBwcmlt
YXJ5IGN1ZSBvbiBpT1MgdGhhdCBhbiBpdGVtIHNob3VsZCBiZSB0cmVhdGVkIGFzIGFuIGF0dGFj
aG1lbnQgcmF0aGVyIHRoYW4gaW5saW5lIGRhdGEuIEluIG9yZGVyIHRvIHN1cHBvcnQKKyAgICAg
ICAgZmlsZSB1cGxvYWRzIGluIGlPU01hYywgd2UgbWFrZSBzZXZlcmFsIGFkanVzdG1lbnRzIHRv
IGRyb3AgaGFuZGxpbmcgbG9naWMgaW4gaU9TIHRvIGhhbmRsZSB0aGUgY2FzZSB3aGVyZSB0aGUK
KyAgICAgICAgInB1YmxpYy5maWxlLXVybCIgdHlwZSBpcyByZWdpc3RlcmVkLiBTZWUgYmVsb3cg
Zm9yIG1vcmUgZGV0YWlscy4KKworICAgICAgICBUZXN0czogIERyYWdBbmREcm9wVGVzdHMuRGF0
YVRyYW5zZmVyRXhwb3NlUGxhaW5UZXh0V2l0aEZpbGVVUkxBc0ZpbGUKKyAgICAgICAgICAgICAg
ICBEcmFnQW5kRHJvcFRlc3RzLkRhdGFUcmFuc2ZlckdldERhdGFXaGVuRHJvcHBpbmdJbWFnZVdp
dGhGaWxlVVJMCisKKyAgICAgICAgKiBwbGF0Zm9ybS9QYXN0ZWJvYXJkSXRlbUluZm8uaDoKKyAg
ICAgICAgKFdlYkNvcmU6OlBhc3RlYm9hcmRJdGVtSW5mbzo6ZW5jb2RlIGNvbnN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OlBhc3RlYm9hcmRJdGVtSW5mbzo6ZGVjb2RlKToKKworICAgICAgICBBZGQg
YSBuZXcgZmxhZyB0aGF0IGlzIHNldCBpZiBhbmQgb25seSBpZiB0aGUgaXRlbSBwcm92aWRlciBj
b250YWlucyB0aGUgInB1YmxpYy5maWxlLXVybCIgdHlwZSwgYW5kIGFsc28KKyAgICAgICAgY29u
dGFpbnMgc29tZSBub24tVVJMIGRhdGEgdHlwZSB0aGF0IGNvbmZvcm1zIHRvIG9uZSBvZiB0aGUg
ZmlsZSB0eXBlcyBzdXBwb3J0ZWQgZm9yIGZpbGUgdXBsb2FkcyAoaS5lLgorICAgICAgICAicHVi
bGljLmNvbnRlbnQiLCB6aXAgYXJjaGl2ZXMsIGFuZCBmb2xkZXJzKS4KKworICAgICAgICAqIHBs
YXRmb3JtL2NvY29hL1Bhc3RlYm9hcmRDb2NvYS5tbToKKyAgICAgICAgKFdlYkNvcmU6OlBhc3Rl
Ym9hcmQ6OmZpbGVDb250ZW50U3RhdGUpOgorCisgICAgICAgIENvbnNpZGVyIHRoZSBwYXN0ZWJv
YXJkIHRvIGNvbnRhaW4gZmlsZXMgaW4gdGhlIGNhc2Ugd2hlcmUgb25lIG9yIG1vcmUgb2YgdGhl
IGl0ZW1zIGNvbnRhaW5zIGEgZmlsZSBVUkwsIGFsb25nCisgICAgICAgIHdpdGggc29tZSBvdGhl
ciBwYXN0ZWJvYXJkIGRhdGEgdGhhdCBjYW4gYmUgcmVwcmVzZW50ZWQgYXMgYSBmaWxlIHVwbG9h
ZC4KKworICAgICAgICAqIHBsYXRmb3JtL2lvcy9QbGF0Zm9ybVBhc3RlYm9hcmRJT1MubW06Cisg
ICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybVBhc3RlYm9hcmQ6OmluZm9ybWF0aW9uRm9ySXRlbUF0
SW5kZXgpOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1QYXN0ZWJvYXJkOjp0eXBlc1NhZmVG
b3JET01Ub1JlYWRBbmRXcml0ZSBjb25zdCk6CisKKyAgICAgICAgSWYgdGhlIHBhc3RlYm9hcmQg
Y29udGFpbnMgInB1YmxpYy5maWxlLXVybCIsIGRvbid0IGNvbnNpZGVyICJ0ZXh0L3VyaS1saXN0
IiB0byBiZSBvbmUgb2YgdGhlIGRhdGEgdHlwZXMgdGhhdCdzCisgICAgICAgIHNhZmUgdG8gZXhw
b3NlIHRvIHRoZSBwYWdlLiBPdXIgY3VycmVudCBiZWhhdmlvciBpbiB0aGlzIGNhc2UgaXMgdGhh
dCB3ZSB3aWxsIGFkdmVydGlzZSAidGV4dC91cmktbGlzdCIgYXMgYQorICAgICAgICBwYXN0ZWJv
YXJkIHR5cGUgaW4gdGhlIERhdGFUcmFuc2ZlciwgYnV0IGlmIHRoZSBwYWdlIGF0dGVtcHRzIHRv
IHJlcXVlc3QgdGhpcyBpbmZvcm1hdGlvbiwgd2Ugc2ltcGx5IHJldHVybiB0aGUKKyAgICAgICAg
ZW1wdHkgc3RyaW5nLiBJbnN0ZWFkLCB3ZSBzaG91bGRuJ3QgZXhwb3NlICJ0ZXh0L3VyaS1saXN0
IiBhcyBhIHR5cGUgaW4gdGhlIGZpcnN0IHBsYWNlLgorCisgICAgICAgICogcGxhdGZvcm0vaW9z
L1dlYkl0ZW1Qcm92aWRlclBhc3RlYm9hcmQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvV2Vi
SXRlbVByb3ZpZGVyUGFzdGVib2FyZC5tbToKKworICAgICAgICBBZGQgYSBmZXcgbW9yZSBgX19i
cmlkZ2VgLWluZyBjYXN0cyB3aGVyZSBhcHByb3ByaWF0ZS4KKworICAgICAgICAodHlwZUNvbmZv
cm1zVG9UeXBlcyk6CisKKyAgICAgICAgTW92ZSB0aGlzIGZ1cnRoZXIgdXAgdGhlIGZpbGUgc28g
dGhhdCBpdCBjYW4gYmUgdXNlZCBpbiBgTlNJdGVtUHJvdmlkZXIgKFdlYkNvcmVFeHRyYXMpYC4K
KworICAgICAgICAoLVtOU0l0ZW1Qcm92aWRlciB3ZWJfY29udGFpbnNGaWxlVVJMQW5kRmlsZVVw
bG9hZENvbnRlbnRdKToKKworICAgICAgICBBZGQgYSBoZWxwZXIgbWV0aG9kIG9uIE5TSXRlbVBy
b3ZpZGVyIHRvIGRldGVybWluZSB3aGV0aGVyIGFuIGl0ZW0gcHJvdmlkZXIgaGFzIGEgZmlsZSBV
UkwsIGFzIHdlbGwgYXMgYSBjb250ZW50CisgICAgICAgIHR5cGUgc3VpdGFibGUgZm9yIGZpbGUg
dXBsb2Fkcy4KKworICAgICAgICAoLVtXZWJJdGVtUHJvdmlkZXJMb2FkUmVzdWx0IGNhbkJlUmVw
cmVzZW50ZWRBc0ZpbGVVcGxvYWRdKToKKworICAgICAgICBUaGlzIGN1cnJlbnRseSBhbHdheXMg
cmV0dXJucyBgTk9gIGluIGlPU01hYzsgaW5zdGVhZCwgcmV0dXJuIGBZRVNgIG9uIGJvdGggaU9T
IGFuZCBpT1NNYWMgaW4gdGhlIGNhc2Ugd2hlcmUgdGhlCisgICAgICAgIGl0ZW0gcHJvdmlkZXIg
Y29udGFpbnMgYSBmaWxlIFVSTCBhbmQgY29udGVudCB3aGljaCBtYXkgYmUgdXBsb2FkZWQuCisK
KyAgICAgICAgKC1bV2ViSXRlbVByb3ZpZGVyUGFzdGVib2FyZCBwcmVmZXJyZWRGaWxlVXBsb2Fk
VVJMQXRJbmRleDpmaWxlVHlwZTpdKToKKyAgICAgICAgKC1bV2ViSXRlbVByb3ZpZGVyUGFzdGVi
b2FyZCB0eXBlSWRlbnRpZmllcnNUb0xvYWQ6XSk6CisKKyAgICAgICAgUmVmYWN0b3IgdGhpcyB0
byB0YWtlIGFuIGBOU0l0ZW1Qcm92aWRlcmAgaW5zdGVhZCBvZiBhIGxpc3Qgb2YgdHlwZSBpZGVu
dGlmaWVycywgYW5kIGJhaWwgb3V0IG9mIGxvYWRpbmcgZGF0YQorICAgICAgICBmb3IgInB1Ymxp
Yy51cmwiIGlmIHRoZSBpdGVtIHByb3ZpZGVyIGNvbnRhaW5zIGEgZmlsZSBVUkwuCisKKyAgICAg
ICAgKC1bV2ViSXRlbVByb3ZpZGVyUGFzdGVib2FyZCBkb0FmdGVyTG9hZGluZ1Byb3ZpZGVkQ29u
dGVudEludG9GaWxlVVJMczpzeW5jaHJvbm91c1RpbWVvdXQ6XSk6CisgICAgICAgICgtW1dlYkl0
ZW1Qcm92aWRlclBhc3RlYm9hcmQgdHlwZUlkZW50aWZpZXJzVG9Mb2FkRm9yUmVnaXN0ZXJlZFR5
cGVJZGVudGlmaWVyczpdKTogRGVsZXRlZC4KKwogMjAxOC0xMi0wMSAgQ2hyaXN0b3BoZXIgUmVp
ZCAgPGNocmlzLnJlaWRAc29ueS5jb20+CiAKICAgICAgICAgQWRkIGdlbmVyaWMgaW1wbGVtZW50
YXRpb25zIHRvIEZpbGVTeXN0ZW1QT1NJWC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1Bhc3RlYm9hcmRJdGVtSW5mby5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
UGFzdGVib2FyZEl0ZW1JbmZvLmgKaW5kZXggZTExNzQzZGQyOTc2Mjg3YzVjYmRmNGViN2UxNjE0
ZGNlZjY0NzNiNS4uYmQ1OTk2Mjk2NTQxMDYxYmE3NjZjYzE0NGFlNmMyNDY4NzVkMTA4NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZEl0ZW1JbmZvLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZEl0ZW1JbmZvLmgKQEAgLTQxLDYg
KzQxLDcgQEAgc3RydWN0IFBhc3RlYm9hcmRJdGVtSW5mbyB7CiAgICAgU3RyaW5nIGNvbnRlbnRU
eXBlRm9yRmlsZVVwbG9hZDsKICAgICBTdHJpbmcgc3VnZ2VzdGVkRmlsZU5hbWU7CiAgICAgYm9v
bCBpc05vblRleHRUeXBlIHsgZmFsc2UgfTsKKyAgICBib29sIGNvbnRhaW5zRmlsZVVSTEFuZEZp
bGVVcGxvYWRDb250ZW50IHsgZmFsc2UgfTsKICAgICBQYXN0ZWJvYXJkSXRlbVByZXNlbnRhdGlv
blN0eWxlIHByZWZlcnJlZFByZXNlbnRhdGlvblN0eWxlIHsgUGFzdGVib2FyZEl0ZW1QcmVzZW50
YXRpb25TdHlsZTo6VW5zcGVjaWZpZWQgfTsKIAogICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+
IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKQEAgLTUwLDcgKzUxLDcgQEAgc3RydWN0IFBh
c3RlYm9hcmRJdGVtSW5mbyB7CiB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPgogdm9pZCBQYXN0ZWJv
YXJkSXRlbUluZm86OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogewotICAgIGVuY29k
ZXIgPDwgcGF0aEZvckZpbGVVcGxvYWQgPDwgY29udGVudFR5cGVGb3JGaWxlVXBsb2FkIDw8IHN1
Z2dlc3RlZEZpbGVOYW1lIDw8IGlzTm9uVGV4dFR5cGU7CisgICAgZW5jb2RlciA8PCBwYXRoRm9y
RmlsZVVwbG9hZCA8PCBjb250ZW50VHlwZUZvckZpbGVVcGxvYWQgPDwgc3VnZ2VzdGVkRmlsZU5h
bWUgPDwgaXNOb25UZXh0VHlwZSA8PCBjb250YWluc0ZpbGVVUkxBbmRGaWxlVXBsb2FkQ29udGVu
dDsKICAgICBlbmNvZGVyLmVuY29kZUVudW0ocHJlZmVycmVkUHJlc2VudGF0aW9uU3R5bGUpOwog
fQogCkBAIC03MCw2ICs3MSw5IEBAIHN0ZDo6b3B0aW9uYWw8UGFzdGVib2FyZEl0ZW1JbmZvPiBQ
YXN0ZWJvYXJkSXRlbUluZm86OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyKQogICAgIGlmICghZGVj
b2Rlci5kZWNvZGUocmVzdWx0LmlzTm9uVGV4dFR5cGUpKQogICAgICAgICByZXR1cm4gc3RkOjpu
dWxsb3B0OwogCisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQuY29udGFpbnNGaWxlVVJM
QW5kRmlsZVVwbG9hZENvbnRlbnQpKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCiAg
ICAgaWYgKCFkZWNvZGVyLmRlY29kZUVudW0ocmVzdWx0LnByZWZlcnJlZFByZXNlbnRhdGlvblN0
eWxlKSkKICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUGFzdGVib2FyZENvY29hLm1tIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vY29jb2EvUGFzdGVib2FyZENvY29hLm1tCmluZGV4IDNlNDg3YmEwZmQxMzVh
YTI2NWZkZjUyMmIwZTUxMmNlYzk5N2NlYzUuLjI1MGEyYWZlYTU4ZTVmMThmMGU2ZDI1ZGQwYjYx
ODFiZDRmNmQ1MjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Bh
c3RlYm9hcmRDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9QYXN0
ZWJvYXJkQ29jb2EubW0KQEAgLTE2Miw3ICsxNjIsNyBAQCBQYXN0ZWJvYXJkOjpGaWxlQ29udGVu
dFN0YXRlIFBhc3RlYm9hcmQ6OmZpbGVDb250ZW50U3RhdGUoKQogICAgICAgICAgICAgaWYgKGl0
ZW0ucHJlZmVycmVkUHJlc2VudGF0aW9uU3R5bGUgIT0gUGFzdGVib2FyZEl0ZW1QcmVzZW50YXRp
b25TdHlsZTo6VW5zcGVjaWZpZWQpCiAgICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW0ucHJlZmVy
cmVkUHJlc2VudGF0aW9uU3R5bGUgPT0gUGFzdGVib2FyZEl0ZW1QcmVzZW50YXRpb25TdHlsZTo6
QXR0YWNobWVudDsKIAotICAgICAgICAgICAgcmV0dXJuICFpdGVtLnN1Z2dlc3RlZEZpbGVOYW1l
LmlzRW1wdHkoKSB8fCBpdGVtLmlzTm9uVGV4dFR5cGU7CisgICAgICAgICAgICByZXR1cm4gIWl0
ZW0uc3VnZ2VzdGVkRmlsZU5hbWUuaXNFbXB0eSgpIHx8IGl0ZW0uaXNOb25UZXh0VHlwZSB8fCBp
dGVtLmNvbnRhaW5zRmlsZVVSTEFuZEZpbGVVcGxvYWRDb250ZW50OwogICAgICAgICB9KTsKICAg
ICB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QbGF0
Zm9ybVBhc3RlYm9hcmRJT1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvUGxhdGZv
cm1QYXN0ZWJvYXJkSU9TLm1tCmluZGV4IGIwNDkxNDc2MzkzZjAzYjA4MDBkNDcwOTljZmZjMzcz
MWIzZGJjZDQuLjU4ZjA1MzRhYmQ0Y2JmYWUxMTVlYjEyOWM1M2VkODBkN2FmM2YwMzMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QbGF0Zm9ybVBhc3RlYm9hcmRJT1Mu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1BsYXRmb3JtUGFzdGVib2FyZElP
Uy5tbQpAQCAtMTU0LDYgKzE1NCw3IEBAIFBhc3RlYm9hcmRJdGVtSW5mbyBQbGF0Zm9ybVBhc3Rl
Ym9hcmQ6OmluZm9ybWF0aW9uRm9ySXRlbUF0SW5kZXgoaW50IGluZGV4KQogI2lmIFBBU1RFQk9B
UkRfU1VQUE9SVFNfUFJFU0VOVEFUSU9OX1NUWUxFX0FORF9URUFNX0RBVEEKICAgICBpbmZvLnBy
ZWZlcnJlZFByZXNlbnRhdGlvblN0eWxlID0gcGFzdGVib2FyZEl0ZW1QcmVzZW50YXRpb25TdHls
ZShpdGVtUHJvdmlkZXIucHJlZmVycmVkUHJlc2VudGF0aW9uU3R5bGUpOwogI2VuZGlmCisgICAg
aW5mby5jb250YWluc0ZpbGVVUkxBbmRGaWxlVXBsb2FkQ29udGVudCA9IGl0ZW1Qcm92aWRlci53
ZWJfY29udGFpbnNGaWxlVVJMQW5kRmlsZVVwbG9hZENvbnRlbnQ7CiAgICAgaW5mby5zdWdnZXN0
ZWRGaWxlTmFtZSA9IGl0ZW1Qcm92aWRlci5zdWdnZXN0ZWROYW1lOwogICAgIGZvciAoTlNTdHJp
bmcgKnR5cGVJZGVudGlmaWVyIGluIGl0ZW1Qcm92aWRlci5yZWdpc3RlcmVkVHlwZUlkZW50aWZp
ZXJzKSB7CiAgICAgICAgIENGU3RyaW5nUmVmIGNmVHlwZUlkZW50aWZpZXIgPSAoQ0ZTdHJpbmdS
ZWYpdHlwZUlkZW50aWZpZXI7CkBAIC01MzEsNiArNTMyLDkgQEAgVmVjdG9yPFN0cmluZz4gUGxh
dGZvcm1QYXN0ZWJvYXJkOjp0eXBlc1NhZmVGb3JET01Ub1JlYWRBbmRXcml0ZShjb25zdCBTdHJp
bmcmIG8KICAgICAgICAgICAgICAgICBCT09MIGFibGVUb0RldGVybWluZVByb3RvY29sT2ZQYXN0
ZWJvYXJkVVJMID0gIVttX3Bhc3RlYm9hcmQgaXNLaW5kT2ZDbGFzczpbV2ViSXRlbVByb3ZpZGVy
UGFzdGVib2FyZCBjbGFzc11dOwogICAgICAgICAgICAgICAgIGlmIChhYmxlVG9EZXRlcm1pbmVQ
cm90b2NvbE9mUGFzdGVib2FyZFVSTCAmJiBzdHJpbmdGb3JUeXBlKGtVVFR5cGVVUkwpLmlzRW1w
dHkoKSkKICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgICAgICAgICBp
ZiAoW1ttX3Bhc3RlYm9hcmQgcGFzdGVib2FyZFR5cGVzXSBjb250YWluc09iamVjdDooX19icmlk
Z2UgTlNTdHJpbmcgKilrVVRUeXBlRmlsZVVSTF0pCisgICAgICAgICAgICAgICAgICAgIGNvbnRp
bnVlOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgZG9tUGFzdGVib2FyZFR5cGVzLmFkZChX
VEZNb3ZlKGRvbVR5cGVBc1N0cmluZykpOwogICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViSXRlbVByb3ZpZGVyUGFzdGVib2FyZC5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYkl0ZW1Qcm92aWRlclBhc3RlYm9hcmQuaAppbmRleCAx
ZjFhZjg2ZmQ5YjBjODY4OTNlOWNlZWY4ZjZkNzRmMjdiNTFkZjlmLi5lMmE2YzlhNDllYmE2MDYw
ZDc1MzQzMGZkNzdjOWFiZWJmM2U3YTg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9pb3MvV2ViSXRlbVByb3ZpZGVyUGFzdGVib2FyZC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2lvcy9XZWJJdGVtUHJvdmlkZXJQYXN0ZWJvYXJkLmgKQEAgLTM3LDYgKzM3LDEw
IEBAIHR5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIFdlYlByZWZlcnJlZFByZXNlbnRhdGlvblN0
eWxlKSB7CiAKIE5TX0FTU1VNRV9OT05OVUxMX0JFR0lOCiAKK0BpbnRlcmZhY2UgTlNJdGVtUHJv
dmlkZXIgKFdlYkNvcmVFeHRyYXMpCitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIEJP
T0wgd2ViX2NvbnRhaW5zRmlsZVVSTEFuZEZpbGVVcGxvYWRDb250ZW50OworQGVuZAorCiAvKiEg
QSBXZWJJdGVtUHJvdmlkZXJSZWdpc3RyYXIgZW5jYXBzdWxhdGVzIGEgc2luZ2xlIGNhbGwgdG8g
cmVnaXN0ZXIgc29tZXRoaW5nIHRvIGFuIGl0ZW0gcHJvdmlkZXIuCiAgQGRpc2N1c3Npb24gQ2xh
c3NlcyB0aGF0IGltcGxlbWVudCB0aGlzIHByb3RvY29sIGVhY2ggcmVwcmVzZW50IGEgZGlmZmVy
ZW50IHdheSBvZiB3cml0aW5nIGRhdGEgdG8KICBhbiBpdGVtIHByb3ZpZGVyLiBTb21lIGV4YW1w
bGVzIGluY2x1ZGUgc2V0dGluZyBhIGNodW5rIG9mIGRhdGEgY29ycmVzcG9uZGluZyB0byBhIHR5
cGUgaWRlbnRpZmllciwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9X
ZWJJdGVtUHJvdmlkZXJQYXN0ZWJvYXJkLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9z
L1dlYkl0ZW1Qcm92aWRlclBhc3RlYm9hcmQubW0KaW5kZXggOWZkZjZlYjQ0MzRhM2UwMTZiM2U5
ZThhMzk4OGRjNzNkM2E4N2VhMC4uYzdiNzVhNTJkMTQzOGM4OWU1YzJmZjkwMDg5M2UzNTg4YjZl
YjU1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYkl0ZW1Qcm92
aWRlclBhc3RlYm9hcmQubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYkl0
ZW1Qcm92aWRlclBhc3RlYm9hcmQubW0KQEAgLTUzLDYgKzUzLDM5IEBAIHR5cGVkZWYgTlNNdXRh
YmxlRGljdGlvbmFyeTxOU1N0cmluZyAqLCBOU1VSTCAqPiBUeXBlVG9GaWxlVVJMTWFwOwogdXNp
bmcgV2ViQ29yZTo6UGFzdGVib2FyZDsKIHVzaW5nIFdlYkNvcmU6OlBhc3RlYm9hcmRDdXN0b21E
YXRhOwogCitzdGF0aWMgQk9PTCB0eXBlQ29uZm9ybXNUb1R5cGVzKE5TU3RyaW5nICp0eXBlLCBO
U0FycmF5ICpjb25mb3Jtc1RvVHlwZXMpCit7CisgICAgZm9yIChOU1N0cmluZyAqY29uZm9ybXNU
b1R5cGUgaW4gY29uZm9ybXNUb1R5cGVzKSB7CisgICAgICAgIGlmIChVVFR5cGVDb25mb3Jtc1Rv
KChfX2JyaWRnZSBDRlN0cmluZ1JlZil0eXBlLCAoX19icmlkZ2UgQ0ZTdHJpbmdSZWYpY29uZm9y
bXNUb1R5cGUpKQorICAgICAgICAgICAgcmV0dXJuIFlFUzsKKyAgICB9CisgICAgcmV0dXJuIE5P
OworfQorCitAaW1wbGVtZW50YXRpb24gTlNJdGVtUHJvdmlkZXIgKFdlYkNvcmVFeHRyYXMpCisK
Ky0gKEJPT0wpd2ViX2NvbnRhaW5zRmlsZVVSTEFuZEZpbGVVcGxvYWRDb250ZW50Cit7CisgICAg
Qk9PTCBjb250YWluc0ZpbGVVUkwgPSBOTzsKKyAgICBCT09MIGNvbnRhaW5zQ29udGVudEZvckZp
bGVVcGxvYWQgPSBOTzsKKyAgICBmb3IgKE5TU3RyaW5nICppZGVudGlmaWVyIGluIHNlbGYucmVn
aXN0ZXJlZFR5cGVJZGVudGlmaWVycykgeworICAgICAgICBpZiAoVVRUeXBlQ29uZm9ybXNUbygo
X19icmlkZ2UgQ0ZTdHJpbmdSZWYpaWRlbnRpZmllciwga1VUVHlwZUZpbGVVUkwpKSB7CisgICAg
ICAgICAgICBjb250YWluc0ZpbGVVUkwgPSBZRVM7CisgICAgICAgICAgICBjb250aW51ZTsKKyAg
ICAgICAgfQorCisgICAgICAgIGlmIChVVFR5cGVDb25mb3Jtc1RvKChfX2JyaWRnZSBDRlN0cmlu
Z1JlZilpZGVudGlmaWVyLCBrVVRUeXBlVVJMKSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworCisg
ICAgICAgIGNvbnRhaW5zQ29udGVudEZvckZpbGVVcGxvYWQgfD0gdHlwZUNvbmZvcm1zVG9UeXBl
cyhpZGVudGlmaWVyLCBQYXN0ZWJvYXJkOjpzdXBwb3J0ZWRGaWxlVXBsb2FkUGFzdGVib2FyZFR5
cGVzKCkpOworICAgICAgICBpZiAoY29udGFpbnNDb250ZW50Rm9yRmlsZVVwbG9hZCAmJiBjb250
YWluc0ZpbGVVUkwpCisgICAgICAgICAgICByZXR1cm4gWUVTOworICAgIH0KKyAgICByZXR1cm4g
Tk87Cit9CisKK0BlbmQKKwogQGludGVyZmFjZSBXZWJJdGVtUHJvdmlkZXJEYXRhUmVnaXN0cmFy
IDogTlNPYmplY3QgPFdlYkl0ZW1Qcm92aWRlclJlZ2lzdHJhcj4KIC0gKGluc3RhbmNldHlwZSlp
bml0V2l0aERhdGE6KE5TRGF0YSAqKWRhdGEgdHlwZTooTlNTdHJpbmcgKil1dGlUeXBlOwogQHBy
b3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBOU1N0cmluZyAqdHlwZUlkZW50aWZpZXI7CkBA
IC0zNDIsOCArMzc1LDExIEBAIC0gKGluc3RhbmNldHlwZSlpbml0V2l0aEl0ZW1Qcm92aWRlcjoo
TlNJdGVtUHJvdmlkZXIgKilpdGVtUHJvdmlkZXIgdHlwZXNUb0xvYWQ6CiAKIC0gKEJPT0wpY2Fu
QmVSZXByZXNlbnRlZEFzRmlsZVVwbG9hZAogeworICAgIGlmIChbX2l0ZW1Qcm92aWRlciB3ZWJf
Y29udGFpbnNGaWxlVVJMQW5kRmlsZVVwbG9hZENvbnRlbnRdKQorICAgICAgICByZXR1cm4gWUVT
OworCiAjaWYgUExBVEZPUk0oSU9TTUFDKQotICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4g
Tk87CiAjZWxzZQogICAgIHJldHVybiBbX2l0ZW1Qcm92aWRlciBwcmVmZXJyZWRQcmVzZW50YXRp
b25TdHlsZV0gIT0gVUlQcmVmZXJyZWRQcmVzZW50YXRpb25TdHlsZUlubGluZTsKICNlbmRpZgpA
QCAtNjA2LDExICs2NDIsMTEgQEAgLSAoTlNVUkwgKilwcmVmZXJyZWRGaWxlVXBsb2FkVVJMQXRJ
bmRleDooTlNVSW50ZWdlcilpbmRleCBmaWxlVHlwZTooTlNTdHJpbmcgKioKICAgICBOU0l0ZW1Q
cm92aWRlciAqaXRlbVByb3ZpZGVyID0gW3Jlc3VsdCBpdGVtUHJvdmlkZXJdOwogICAgIGZvciAo
TlNTdHJpbmcgKnJlZ2lzdGVyZWRUeXBlSWRlbnRpZmllciBpbiBpdGVtUHJvdmlkZXIucmVnaXN0
ZXJlZFR5cGVJZGVudGlmaWVycykgewogICAgICAgICAvLyBTZWFyY2ggZm9yIHRoZSBoaWdoZXN0
IGZpZGVsaXR5IG5vbi1wcml2YXRlIHR5cGUgaWRlbnRpZmllciB3ZSBsb2FkZWQgZnJvbSB0aGUg
aXRlbSBwcm92aWRlci4KLSAgICAgICAgaWYgKCFVVFR5cGVJc0RlY2xhcmVkKChDRlN0cmluZ1Jl
ZilyZWdpc3RlcmVkVHlwZUlkZW50aWZpZXIpICYmICFVVFR5cGVJc0R5bmFtaWMoKENGU3RyaW5n
UmVmKXJlZ2lzdGVyZWRUeXBlSWRlbnRpZmllcikpCisgICAgICAgIGlmICghVVRUeXBlSXNEZWNs
YXJlZCgoX19icmlkZ2UgQ0ZTdHJpbmdSZWYpcmVnaXN0ZXJlZFR5cGVJZGVudGlmaWVyKSAmJiAh
VVRUeXBlSXNEeW5hbWljKChfX2JyaWRnZSBDRlN0cmluZ1JlZilyZWdpc3RlcmVkVHlwZUlkZW50
aWZpZXIpKQogICAgICAgICAgICAgY29udGludWU7CiAKICAgICAgICAgZm9yIChOU1N0cmluZyAq
bG9hZGVkVHlwZUlkZW50aWZpZXIgaW4gW3Jlc3VsdCBsb2FkZWRUeXBlSWRlbnRpZmllcnNdKSB7
Ci0gICAgICAgICAgICBpZiAoIVVUVHlwZUNvbmZvcm1zVG8oKENGU3RyaW5nUmVmKXJlZ2lzdGVy
ZWRUeXBlSWRlbnRpZmllciwgKENGU3RyaW5nUmVmKWxvYWRlZFR5cGVJZGVudGlmaWVyKSkKKyAg
ICAgICAgICAgIGlmICghVVRUeXBlQ29uZm9ybXNUbygoX19icmlkZ2UgQ0ZTdHJpbmdSZWYpcmVn
aXN0ZXJlZFR5cGVJZGVudGlmaWVyLCAoX19icmlkZ2UgQ0ZTdHJpbmdSZWYpbG9hZGVkVHlwZUlk
ZW50aWZpZXIpKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogCiAgICAgICAgICAgICBpZiAo
b3V0RmlsZVR5cGUpCkBAIC02MzIsMTYgKzY2OCw2IEBAIC0gKE5TQXJyYXk8TlNVUkwgKj4gKilh
bGxEcm9wcGVkRmlsZVVSTHMKICAgICByZXR1cm4gZmlsZVVSTHM7CiB9CiAKLXN0YXRpYyBCT09M
IHR5cGVDb25mb3Jtc1RvVHlwZXMoTlNTdHJpbmcgKnR5cGUsIE5TQXJyYXkgKmNvbmZvcm1zVG9U
eXBlcykKLXsKLSAgICAvLyBBIHR5cGUgaXMgY29uc2lkZXJlZCBhcHByb3ByaWF0ZSB0byBsb2Fk
IGlmIGl0IGNvbmZvcm1zIHRvIG9uZSBvciBtb3JlIHN1cHBvcnRlZCB0eXBlcy4KLSAgICBmb3Ig
KE5TU3RyaW5nICpjb25mb3Jtc1RvVHlwZSBpbiBjb25mb3Jtc1RvVHlwZXMpIHsKLSAgICAgICAg
aWYgKFVUVHlwZUNvbmZvcm1zVG8oKENGU3RyaW5nUmVmKXR5cGUsIChDRlN0cmluZ1JlZiljb25m
b3Jtc1RvVHlwZSkpCi0gICAgICAgICAgICByZXR1cm4gWUVTOwotICAgIH0KLSAgICByZXR1cm4g
Tk87Ci19Ci0KIC0gKE5TSW50ZWdlciludW1iZXJPZkZpbGVzCiB7CiAgICAgTlNBcnJheSAqc3Vw
cG9ydGVkRmlsZVR5cGVzID0gUGFzdGVib2FyZDo6c3VwcG9ydGVkRmlsZVVwbG9hZFBhc3RlYm9h
cmRUeXBlcygpOwpAQCAtNjg4LDE2ICs3MTQsMTggQEAgc3RhdGljIE5TVVJMICpsaW5rVGVtcG9y
YXJ5SXRlbVByb3ZpZGVyRmlsZXNUb0Ryb3BTdGFnaW5nRGlyZWN0b3J5KE5TVVJMICp1cmwsIE4K
ICAgICByZXR1cm4gW2ZpbGVNYW5hZ2VyIGxpbmtJdGVtQXRVUkw6dXJsIHRvVVJMOmRlc3RpbmF0
aW9uIGVycm9yOm5pbF0gPyBkZXN0aW5hdGlvbiA6IG5pbDsKIH0KIAotLSAoTlNBcnJheTxOU1N0
cmluZyAqPiAqKXR5cGVJZGVudGlmaWVyc1RvTG9hZEZvclJlZ2lzdGVyZWRUeXBlSWRlbnRpZmll
cnM6KE5TQXJyYXk8TlNTdHJpbmcgKj4gKilyZWdpc3RlcmVkVHlwZUlkZW50aWZpZXJzCistIChO
U0FycmF5PE5TU3RyaW5nICo+ICopdHlwZUlkZW50aWZpZXJzVG9Mb2FkOihOU0l0ZW1Qcm92aWRl
ciAqKWl0ZW1Qcm92aWRlcgogewogICAgIGF1dG8gdHlwZXNUb0xvYWQgPSBhZG9wdE5TKFtbTlNN
dXRhYmxlT3JkZXJlZFNldCBhbGxvY10gaW5pdF0pOwogICAgIE5TU3RyaW5nICpoaWdoZXN0Rmlk
ZWxpdHlTdXBwb3J0ZWRUeXBlID0gbmlsOwogICAgIE5TU3RyaW5nICpoaWdoZXN0RmlkZWxpdHlD
b250ZW50VHlwZSA9IG5pbDsKIAotICAgIEJPT0wgY29udGFpbnNGbGF0UlRGRCA9IFtyZWdpc3Rl
cmVkVHlwZUlkZW50aWZpZXJzIGNvbnRhaW5zT2JqZWN0OihOU1N0cmluZyAqKWtVVFR5cGVGbGF0
UlRGRF07CisgICAgTlNBcnJheTxOU1N0cmluZyAqPiAqcmVnaXN0ZXJlZFR5cGVJZGVudGlmaWVy
cyA9IGl0ZW1Qcm92aWRlci5yZWdpc3RlcmVkVHlwZUlkZW50aWZpZXJzOworICAgIEJPT0wgY29u
dGFpbnNGaWxlID0gaXRlbVByb3ZpZGVyLndlYl9jb250YWluc0ZpbGVVUkxBbmRGaWxlVXBsb2Fk
Q29udGVudDsKKyAgICBCT09MIGNvbnRhaW5zRmxhdFJURkQgPSBbcmVnaXN0ZXJlZFR5cGVJZGVu
dGlmaWVycyBjb250YWluc09iamVjdDooX19icmlkZ2UgTlNTdHJpbmcgKilrVVRUeXBlRmxhdFJU
RkRdOwogICAgIC8vIEZpcnN0LCBzZWFyY2ggZm9yIHRoZSBoaWdoZXN0IGZpZGVsaXR5IHN1cHBv
cnRlZCB0eXBlIG9yIHRoZSBoaWdoZXN0IGZpZGVsaXR5IGdlbmVyaWMgY29udGVudCB0eXBlLgog
ICAgIGZvciAoTlNTdHJpbmcgKnJlZ2lzdGVyZWRUeXBlSWRlbnRpZmllciBpbiByZWdpc3RlcmVk
VHlwZUlkZW50aWZpZXJzKSB7Ci0gICAgICAgIGlmIChjb250YWluc0ZsYXRSVEZEICYmIFtyZWdp
c3RlcmVkVHlwZUlkZW50aWZpZXIgaXNFcXVhbFRvU3RyaW5nOihOU1N0cmluZyAqKWtVVFR5cGVS
VEZEXSkgeworICAgICAgICBpZiAoY29udGFpbnNGbGF0UlRGRCAmJiBbcmVnaXN0ZXJlZFR5cGVJ
ZGVudGlmaWVyIGlzRXF1YWxUb1N0cmluZzooX19icmlkZ2UgTlNTdHJpbmcgKilrVVRUeXBlUlRG
RF0pIHsKICAgICAgICAgICAgIC8vIEluIHRoZSBjYXNlIHdoZXJlIGF0dGFjaG1lbnRzIGFyZSBl
bmFibGVkIGFuZCB3ZSdyZSBhY2NlcHRpbmcgYWxsIHR5cGVzIG9mIGNvbnRlbnQgdXNpbmcgYXR0
YWNobWVudAogICAgICAgICAgICAgLy8gZWxlbWVudHMgYXMgYSBmYWxsYmFjayByZXByZXNlbnRh
dGlvbiwgaWYgdGhlIHNvdXJjZSB3cml0ZXMgYXR0cmlidXRlZCBzdHJpbmdzIHRvIHRoZSBwYXN0
ZWJvYXJkIHdpdGgKICAgICAgICAgICAgIC8vIGNvbS5hcHBsZS5ydGZkIGF0IGEgaGlnaGVyIGZp
ZGVsaXR5IHRoYW4gY29tLmFwcGxlLmZsYXQtcnRmZCwgd2UnbGwgZW5kIHVwIGxvYWRpbmcgb25s
eSBjb20uYXBwbGUucnRmZApAQCAtNzA3LDYgKzczNSw5IEBAIC0gKE5TQXJyYXk8TlNTdHJpbmcg
Kj4gKil0eXBlSWRlbnRpZmllcnNUb0xvYWRGb3JSZWdpc3RlcmVkVHlwZUlkZW50aWZpZXJzOihO
U0FyCiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQogCisgICAgICAgIGlmIChjb250
YWluc0ZpbGUgJiYgVVRUeXBlQ29uZm9ybXNUbygoX19icmlkZ2UgQ0ZTdHJpbmdSZWYpcmVnaXN0
ZXJlZFR5cGVJZGVudGlmaWVyLCBrVVRUeXBlVVJMKSkKKyAgICAgICAgICAgIGNvbnRpbnVlOwor
CiAgICAgICAgIGlmICghaGlnaGVzdEZpZGVsaXR5U3VwcG9ydGVkVHlwZSAmJiB0eXBlQ29uZm9y
bXNUb1R5cGVzKHJlZ2lzdGVyZWRUeXBlSWRlbnRpZmllciwgX3N1cHBvcnRlZFR5cGVJZGVudGlm
aWVycy5nZXQoKSkpCiAgICAgICAgICAgICBoaWdoZXN0RmlkZWxpdHlTdXBwb3J0ZWRUeXBlID0g
cmVnaXN0ZXJlZFR5cGVJZGVudGlmaWVyOwogCkBAIC03MjEsOSArNzUyLDkgQEAgLSAoTlNBcnJh
eTxOU1N0cmluZyAqPiAqKXR5cGVJZGVudGlmaWVyc1RvTG9hZEZvclJlZ2lzdGVyZWRUeXBlSWRl
bnRpZmllcnM6KE5TQXIKICAgICAgICAgaWYgKFtyZWdpc3RlcmVkVHlwZUlkZW50aWZpZXIgaXNF
cXVhbFRvU3RyaW5nOmhpZ2hlc3RGaWRlbGl0eUNvbnRlbnRUeXBlXQogICAgICAgICAgICAgfHwg
W3JlZ2lzdGVyZWRUeXBlSWRlbnRpZmllciBpc0VxdWFsVG9TdHJpbmc6aGlnaGVzdEZpZGVsaXR5
U3VwcG9ydGVkVHlwZV0KICAgICAgICAgICAgIHx8IFtyZWdpc3RlcmVkVHlwZUlkZW50aWZpZXIg
aXNFcXVhbFRvU3RyaW5nOmN1c3RvbVBhc3RlYm9hcmREYXRhVVRJXQotICAgICAgICAgICAgfHwg
VVRUeXBlQ29uZm9ybXNUbygoQ0ZTdHJpbmdSZWYpcmVnaXN0ZXJlZFR5cGVJZGVudGlmaWVyLCBr
VVRUeXBlVVJMKQotICAgICAgICAgICAgfHwgVVRUeXBlQ29uZm9ybXNUbygoQ0ZTdHJpbmdSZWYp
cmVnaXN0ZXJlZFR5cGVJZGVudGlmaWVyLCBrVVRUeXBlSFRNTCkKLSAgICAgICAgICAgIHx8IFVU
VHlwZUNvbmZvcm1zVG8oKENGU3RyaW5nUmVmKXJlZ2lzdGVyZWRUeXBlSWRlbnRpZmllciwga1VU
VHlwZVBsYWluVGV4dCkpCisgICAgICAgICAgICB8fCAoIWNvbnRhaW5zRmlsZSAmJiBVVFR5cGVD
b25mb3Jtc1RvKChfX2JyaWRnZSBDRlN0cmluZ1JlZilyZWdpc3RlcmVkVHlwZUlkZW50aWZpZXIs
IGtVVFR5cGVVUkwpKQorICAgICAgICAgICAgfHwgVVRUeXBlQ29uZm9ybXNUbygoX19icmlkZ2Ug
Q0ZTdHJpbmdSZWYpcmVnaXN0ZXJlZFR5cGVJZGVudGlmaWVyLCBrVVRUeXBlSFRNTCkKKyAgICAg
ICAgICAgIHx8IFVUVHlwZUNvbmZvcm1zVG8oKF9fYnJpZGdlIENGU3RyaW5nUmVmKXJlZ2lzdGVy
ZWRUeXBlSWRlbnRpZmllciwga1VUVHlwZVBsYWluVGV4dCkpCiAgICAgICAgICAgICBbdHlwZXNU
b0xvYWQgYWRkT2JqZWN0OnJlZ2lzdGVyZWRUeXBlSWRlbnRpZmllcl07CiAgICAgfQogCkBAIC03
NDYsNyArNzc3LDcgQEAgLSAodm9pZClkb0FmdGVyTG9hZGluZ1Byb3ZpZGVkQ29udGVudEludG9G
aWxlVVJMczooV2ViSXRlbVByb3ZpZGVyRmlsZUxvYWRCbG9jaykKICAgICBCT09MIGZvdW5kQW55
RGF0YVRvTG9hZCA9IE5POwogICAgIFJldGFpblB0cjxXZWJJdGVtUHJvdmlkZXJQYXN0ZWJvYXJk
PiBwcm90ZWN0ZWRTZWxmID0gc2VsZjsKICAgICBmb3IgKE5TSXRlbVByb3ZpZGVyICppdGVtUHJv
dmlkZXIgaW4gX2l0ZW1Qcm92aWRlcnMuZ2V0KCkpIHsKLSAgICAgICAgTlNBcnJheTxOU1N0cmlu
ZyAqPiAqdHlwZUlkZW50aWZpZXJzVG9Mb2FkID0gW3Byb3RlY3RlZFNlbGYgdHlwZUlkZW50aWZp
ZXJzVG9Mb2FkRm9yUmVnaXN0ZXJlZFR5cGVJZGVudGlmaWVyczppdGVtUHJvdmlkZXIucmVnaXN0
ZXJlZFR5cGVJZGVudGlmaWVyc107CisgICAgICAgIE5TQXJyYXk8TlNTdHJpbmcgKj4gKnR5cGVJ
ZGVudGlmaWVyc1RvTG9hZCA9IFtwcm90ZWN0ZWRTZWxmIHR5cGVJZGVudGlmaWVyc1RvTG9hZDpp
dGVtUHJvdmlkZXJdOwogICAgICAgICBmb3VuZEFueURhdGFUb0xvYWQgfD0gdHlwZUlkZW50aWZp
ZXJzVG9Mb2FkLmNvdW50OwogICAgICAgICBbbG9hZFJlc3VsdHMgYWRkT2JqZWN0OltXZWJJdGVt
UHJvdmlkZXJMb2FkUmVzdWx0IGxvYWRSZXN1bHRXaXRoSXRlbVByb3ZpZGVyOml0ZW1Qcm92aWRl
ciB0eXBlc1RvTG9hZDp0eXBlSWRlbnRpZmllcnNUb0xvYWRdXTsKICAgICB9CmRpZmYgLS1naXQg
YS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMWY0YWQ2NzViOGY3MzBm
ODI5YjBjNmZlN2JhZmQ4MWVkM2Y4OWE2Yy4uZDFmZWRmZjgwYmI1MTU1N2I0NmJhYjU3MWRjNThm
ZDFhYmEwOTkyNyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE4LTEyLTAyICBXZW5zb24gSHNpZWggIDx3ZW5zb25f
aHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NNYWNdIFVuYWJsZSB0byB1cGxvYWQgbm9u
LWltYWdlIGZpbGVzIHVzaW5nIGRyYWcgYW5kIGRyb3AgaW4gV0tXZWJWaWV3CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTIyODMKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzQ2Mzk5NDYxPgorCisgICAgICAgIFJldmlld2VkIGJ5IFJ5b3N1a2UgTml3
YS4KKworICAgICAgICBBZGQgYSBuZXcgQVBJIHRlc3QgdG8gY2hlY2sgdGhhdCBhbiBpdGVtIHBy
b3ZpZGVyIHdoaWNoIGNvbnRhaW5zIHBsYWluIHRleHQgZGF0YSBhbmQgYSBmaWxlIFVSTCAoYnV0
IGlzIG5vdAorICAgICAgICBtYXJrZWQgYXMgYW4gYXR0YWNobWVudCkgaXMgc3RpbGwgdHJlYXRl
ZCBhcyBhbiBhdHRhY2htZW50IHVwb24gZHJvcC4gRnVydGhlcm1vcmUsIHZlcmlmeSB0aGF0ICJ0
ZXh0L3VyaS1saXN0IgorICAgICAgICBkb2VzIG5vdCBleHBvc2UgdGhlIGFjdHVhbCBmaWxlIFVS
TCB3cml0dGVuIHRvIHRoZSBpdGVtIHByb3ZpZGVyLgorCisgICAgICAgIEFkZGl0aW9uYWxseSwg
cmViYXNlbGluZSBhbiBleGlzdGluZyBBUEkgdGVzdCB0byByZW1vdmUgYW4gZXh0cmFuZW91cyAi
dGV4dC91cmktbGlzdCIgdHlwZSB0aGF0IGFwcGVhcnMgaW4KKyAgICAgICAgYERhdGFUcmFuc2Zl
ci50eXBlc2AsIGJ1dCB3aG9zZSBkYXRhIGlzIGluYWNjZXNzaWJsZSB2aWEgYGdldERhdGFgIGFu
eXdheXMuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL2lvcy9EcmFnQW5kRHJvcFRl
c3RzSU9TLm1tOgorCiAyMDE4LTEyLTAxICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxl
LmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMjM4NzY0LgpkaWZmIC0t
Z2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9pb3MvRHJhZ0FuZERyb3BUZXN0c0lPUy5t
bSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvaW9zL0RyYWdBbmREcm9wVGVzdHNJT1MubW0K
aW5kZXggMjllZjY3NDdhM2NmYWYxMzFjMTkwNGE5NzM3MjRiYjc4YjExNjBjNS4uMmM4MWU1N2I4
Yjc5NGRkOTIwZmUxZTM3NTY0YWMzOWVjMDljMTUxNCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9pb3MvRHJhZ0FuZERyb3BUZXN0c0lPUy5tbQorKysgYi9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL2lvcy9EcmFnQW5kRHJvcFRlc3RzSU9TLm1tCkBAIC0xNjQ2LDggKzE2
NDYsOCBAQCBURVNUKERyYWdBbmREcm9wVGVzdHMsIERhdGFUcmFuc2ZlckdldERhdGFXaGVuRHJv
cHBpbmdJbWFnZVdpdGhGaWxlVVJMKQogCiAgICAgLy8gRmlsZSBVUkxzIHNob3VsZCBuZXZlciBi
ZSBleHBvc2VkIGRpcmVjdGx5IHRvIHdlYiBjb250ZW50LCBzbyBEYXRhVHJhbnNmZXIuZ2V0RGF0
YSBzaG91bGQgcmV0dXJuIGFuIGVtcHR5IHN0cmluZyBoZXJlLgogICAgIGNoZWNrSlNPTldpdGhM
b2dnaW5nKFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJvdXRwdXQudmFs
dWUiXSwgQHsKLSAgICAgICAgQCJkcmFnb3ZlciI6IEB7IEAiRmlsZXMiOiBAIiIsIEAidGV4dC91
cmktbGlzdCI6IEAiIiB9LAotICAgICAgICBAImRyb3AiOiBAeyBAIkZpbGVzIjogQCIiLCBAInRl
eHQvdXJpLWxpc3QiOiBAIiIgfQorICAgICAgICBAImRyYWdvdmVyIjogQHsgQCJGaWxlcyI6IEAi
IiB9LAorICAgICAgICBAImRyb3AiOiBAeyBAIkZpbGVzIjogQCIiIH0KICAgICB9KTsKIH0KIApA
QCAtMTc3Miw2ICsxNzcyLDI5IEBAIFRFU1QoRHJhZ0FuZERyb3BUZXN0cywgRGF0YVRyYW5zZmVy
U3VwcHJlc3NHZXREYXRhRHVlVG9QcmVzZW5jZU9mVGV4dEZpbGUpCiAgICAgRVhQRUNUX1dLX1NU
UkVRKCIoJ2hlbGxvLnR4dCcsIHRleHQvcGxhaW4pIiwgW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0
aW5nSmF2YVNjcmlwdDpAImZpbGVzLnRleHRDb250ZW50Il0pOwogfQogCitURVNUKERyYWdBbmRE
cm9wVGVzdHMsIERhdGFUcmFuc2ZlckV4cG9zZVBsYWluVGV4dFdpdGhGaWxlVVJMQXNGaWxlKQor
eworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0
V2l0aEZyYW1lOkNHUmVjdE1ha2UoMCwgMCwgMzIwLCA1MDApXSk7CisgICAgW3dlYlZpZXcgc3lu
Y2hyb25vdXNseUxvYWRUZXN0UGFnZU5hbWVkOkAiRGF0YVRyYW5zZmVyIl07CisgICAgYXV0byBz
aW11bGF0b3IgPSBhZG9wdE5TKFtbRHJhZ0FuZERyb3BTaW11bGF0b3IgYWxsb2NdIGluaXRXaXRo
V2ViVmlldzp3ZWJWaWV3LmdldCgpXSk7CisKKyAgICBhdXRvIGl0ZW1Qcm92aWRlciA9IGFkb3B0
TlMoW1tOU0l0ZW1Qcm92aWRlciBhbGxvY10gaW5pdF0pOworICAgIE5TRGF0YSAqdXJsQXNEYXRh
ID0gW0AiZmlsZTovLy9zb21lL2ZpbGUvcGF0aC50eHQiIGRhdGFVc2luZ0VuY29kaW5nOk5TVVRG
OFN0cmluZ0VuY29kaW5nXTsKKyAgICBbaXRlbVByb3ZpZGVyIHJlZ2lzdGVyRGF0YVJlcHJlc2Vu
dGF0aW9uRm9yVHlwZUlkZW50aWZpZXI6KF9fYnJpZGdlIE5TU3RyaW5nICopa1VUVHlwZUZpbGVV
Ukwgd2l0aERhdGE6dXJsQXNEYXRhXTsKKyAgICBbaXRlbVByb3ZpZGVyIHJlZ2lzdGVyRGF0YVJl
cHJlc2VudGF0aW9uRm9yVHlwZUlkZW50aWZpZXI6KF9fYnJpZGdlIE5TU3RyaW5nICopa1VUVHlw
ZVVSTCB3aXRoRGF0YTp1cmxBc0RhdGFdOworICAgIFtpdGVtUHJvdmlkZXIgcmVnaXN0ZXJPYmpl
Y3Q6QCJIZWxsbyB3b3JsZCIgdmlzaWJpbGl0eTpOU0l0ZW1Qcm92aWRlclJlcHJlc2VudGF0aW9u
VmlzaWJpbGl0eUFsbF07CisKKyAgICBbc2ltdWxhdG9yIHNldEV4dGVybmFsSXRlbVByb3ZpZGVy
czpAWyBpdGVtUHJvdmlkZXIuZ2V0KCkgXV07CisgICAgW3NpbXVsYXRvciBydW5Gcm9tOkNHUG9p
bnRaZXJvIHRvOkNHUG9pbnRNYWtlKDUwLCAxMDApXTsKKworICAgIEVYUEVDVF9XS19TVFJFUSgi
RmlsZXMiLCBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAidHlwZXMudGV4
dENvbnRlbnQiXSk7CisgICAgRVhQRUNUX1dLX1NUUkVRKCIiLCBbd2ViVmlldyBzdHJpbmdCeUV2
YWx1YXRpbmdKYXZhU2NyaXB0OkAidGV4dERhdGEudGV4dENvbnRlbnQiXSk7CisgICAgRVhQRUNU
X1dLX1NUUkVRKCIiLCBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAidXJs
RGF0YS50ZXh0Q29udGVudCJdKTsKKyAgICBFWFBFQ1RfV0tfU1RSRVEoIiIsIFt3ZWJWaWV3IHN0
cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJodG1sRGF0YS50ZXh0Q29udGVudCJdKTsKKyAg
ICBFWFBFQ1RfV0tfU1RSRVEoIihGSUxFLCB0ZXh0L3BsYWluKSIsIFt3ZWJWaWV3IHN0cmluZ0J5
RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJpdGVtcy50ZXh0Q29udGVudCJdKTsKKyAgICBFWFBFQ1Rf
V0tfU1RSRVEoIigndGV4dC50eHQnLCB0ZXh0L3BsYWluKSIsIFt3ZWJWaWV3IHN0cmluZ0J5RXZh
bHVhdGluZ0phdmFTY3JpcHQ6QCJmaWxlcy50ZXh0Q29udGVudCJdKTsKK30KKwogVEVTVChEcmFn
QW5kRHJvcFRlc3RzLCBEYXRhVHJhbnNmZXJHZXREYXRhQ2Fubm90UmVhZFByaXZhdGVBcmJpdHJh
cnlUeXBlcykKIHsKICAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBh
bGxvY10gaW5pdFdpdGhGcmFtZTpDR1JlY3RNYWtlKDAsIDAsIDMyMCwgNTAwKV0pOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>