<?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>180775</bug_id>
          
          <creation_ts>2017-12-13 15:29:14 -0800</creation_ts>
          <short_desc>Web Inspector: Cmd-Option-R in docked inspector causes the inspector to reload instead of the inspected page</short_desc>
          <delta_ts>2017-12-14 09:08:57 -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>Web Inspector</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Joseph Pecoraro">joepeck</reporter>
          <assigned_to name="Joseph Pecoraro">joepeck</assigned_to>
          <cc>bburg</cc>
    
    <cc>commit-queue</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>joepeck</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1381322</commentid>
    <comment_count>0</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-12-13 15:29:14 -0800</bug_when>
    <thetext>Cmd-Option-R in docked inspector causes the inspector to reload instead of the inspected page

Steps to Reproduce:
1. Inspect this page
2. Dock inspector to bottom
3. Click in inspector
4. Cmd-Option-R
  =&gt; Expected page to reload, instead the inspector page reloaded</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1381323</commentid>
    <comment_count>1</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-12-13 15:29:21 -0800</bug_when>
    <thetext>&lt;rdar://problem/35964592&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1381327</commentid>
    <comment_count>2</comment_count>
      <attachid>329271</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-12-13 15:33:14 -0800</bug_when>
    <thetext>Created attachment 329271
[PATCH] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1381490</commentid>
    <comment_count>3</comment_count>
      <attachid>329271</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2017-12-13 20:40:28 -0800</bug_when>
    <thetext>Comment on attachment 329271
[PATCH] Proposed Fix

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

Looks good but please fix build issues then I&apos;ll mark r+

&gt; Source/WebKit/UIProcess/mac/WKInspectorViewController.mm:237
&gt; +    if (linkedOnOrAfter(WebKit::SDKVersion::FirstWithExpiredOnlyReloadBehavior))

Didn&apos;t know we had this now, cool.

&gt; Source/WebKit/UIProcess/mac/WKInspectorWKWebView.h:38
&gt; +@protocol WKInspectorWKWebViewIBDelegate

This protocol name bothers me. It shouldn&apos;t mention IB since there are no IB types/macros in the signature.

How about just @protocol WKInspectorWKWebViewDelegate?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1381492</commentid>
    <comment_count>4</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-12-13 20:46:33 -0800</bug_when>
    <thetext>&gt; How about just @protocol WKInspectorWKWebViewDelegate?

Yeah, sounds good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1381493</commentid>
    <comment_count>5</comment_count>
      <attachid>329321</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-12-13 20:46:59 -0800</bug_when>
    <thetext>Created attachment 329321
[PATCH] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1381496</commentid>
    <comment_count>6</comment_count>
      <attachid>329322</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-12-13 20:50:13 -0800</bug_when>
    <thetext>Created attachment 329322
[PATCH] Proposed Fix

Better patch with -M100% so git doesn&apos;t think new files are from old files...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1381626</commentid>
    <comment_count>7</comment_count>
      <attachid>329322</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2017-12-14 08:47:55 -0800</bug_when>
    <thetext>Comment on attachment 329322
[PATCH] Proposed Fix

r=e</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1381635</commentid>
    <comment_count>8</comment_count>
      <attachid>329322</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-12-14 09:08:55 -0800</bug_when>
    <thetext>Comment on attachment 329322
[PATCH] Proposed Fix

Clearing flags on attachment: 329322

Committed r225907: &lt;https://trac.webkit.org/changeset/225907&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1381637</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-12-14 09:08:57 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>329271</attachid>
            <date>2017-12-13 15:33:14 -0800</date>
            <delta_ts>2017-12-13 20:46:59 -0800</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>reload-issue-1.patch</filename>
            <type>text/plain</type>
            <size>28943</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggYmJiM2VkNzQwYTkuLjE3ZjkwODQ2YWZiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDM3IEBACisyMDE3LTEyLTEzICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+
CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQ21kLU9wdGlvbi1SIGluIGRvY2tlZCBpbnNwZWN0
b3IgY2F1c2VzIHRoZSBpbnNwZWN0b3IgdG8gcmVsb2FkIGluc3RlYWQgb2YgdGhlIGluc3BlY3Rl
ZCBwYWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
ODA3NzUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM1OTY0NTkyPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2o6CisgICAgICAgIFJlbW92ZSBvbGQgZmlsZXMgYWRkIG5ldyBmaWxlcy4KKwor
ICAgICAgICAqIFBsYXRmb3JtTWFjLmNtYWtlOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvV0tX
ZWJJbnNwZWN0b3JXS1dlYlZpZXcuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvbWFj
L1dLV2ViSW5zcGVjdG9yV0tXZWJWaWV3Lm1tOiBSZW1vdmVkLgorICAgICAgICBSZW1vdmUgdW51
c2VkIFdLV2ViSW5zcGVjdG9yV0tXZWJWaWV3LgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9D
b2NvYS9fV0tSZW1vdGVXZWJJbnNwZWN0b3JWaWV3Q29udHJvbGxlci5tbToKKyAgICAgICAgKiBV
SVByb2Nlc3MvbWFjL1dLSW5zcGVjdG9yVmlld0NvbnRyb2xsZXIubW06CisgICAgICAgICgtW1dL
SW5zcGVjdG9yVmlld0NvbnRyb2xsZXIgZGVhbGxvY10pOgorICAgICAgICAoLVtXS0luc3BlY3Rv
clZpZXdDb250cm9sbGVyIHdlYlZpZXddKToKKyAgICAgICAgKC1bV0tJbnNwZWN0b3JWaWV3Q29u
dHJvbGxlciBpbnNwZWN0b3JXS1dlYlZpZXdSZWxvYWQ6XSk6CisgICAgICAgICgtW1dLSW5zcGVj
dG9yVmlld0NvbnRyb2xsZXIgaW5zcGVjdG9yV0tXZWJWaWV3UmVsb2FkRnJvbU9yaWdpbjpdKToK
KyAgICAgICAgSGFuZGxlIFdLV2ViVmlldyBJQkFjdGlvbnMgc2VudCB0byB0aGUgaW5zcGVjdG9y
IGZyb250ZW5kIFdLV2ViVmlldy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvV0tJbnNwZWN0
b3JXS1dlYlZpZXcuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1dLSW5zcGVjdG9yV0tXZWJW
aWV3Lm1tOgorICAgICAgICAoLVtXS0luc3BlY3RvcldLV2ViVmlldyB0YWddKToKKyAgICAgICAg
KC1bV0tJbnNwZWN0b3JXS1dlYlZpZXcgaW5zcGVjdG9ySUJEZWxlZ2F0ZV0pOgorICAgICAgICAo
LVtXS0luc3BlY3RvcldLV2ViVmlldyBzZXRJbnNwZWN0b3JJQkRlbGVnYXRlOl0pOgorICAgICAg
ICAoLVtXS0luc3BlY3RvcldLV2ViVmlldyByZWxvYWQ6XSk6CisgICAgICAgICgtW1dLSW5zcGVj
dG9yV0tXZWJWaWV3IHJlbG9hZEZyb21PcmlnaW46XSk6CisgICAgICAgIE1vdmUgV0tJbnNwZWN0
b3JXS1dlYlZpZXcgaW50byBpdHMgb3duIGZpbGUuIEluY2x1ZGUgYSBkZWxlZ2F0ZQorICAgICAg
ICB0byBoYW5kbGUgcmVsb2FkIElCQWN0aW9ucyB0aGF0IHdpbGwgd2FudCB0byBvdmVycmlkZS4K
KwogMjAxNy0xMi0xMSAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4KIAog
ICAgICAgICBbV1RGXSBBZGQgQ29udmVydGVyIHRyYWl0cyB0byBTdHJpbmdIYXNoZXIgaW5zdGVh
ZCBvZiBmdW5jdGlvbiBwb2ludGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3Jt
TWFjLmNtYWtlIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybU1hYy5jbWFrZQppbmRleCBlZDJhY2Iy
MThiMy4uY2ZiZTdmMmU5YzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm1NYWMu
Y21ha2UKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybU1hYy5jbWFrZQpAQCAtMzEzLDcgKzMx
Myw2IEBAIGxpc3QoQVBQRU5EIFdlYktpdF9TT1VSQ0VTCiAgICAgVUlQcm9jZXNzL21hYy9XS1Rl
eHRGaW5kZXJDbGllbnQubW0KICAgICBVSVByb2Nlc3MvbWFjL1dLVGV4dElucHV0V2luZG93Q29u
dHJvbGxlci5tbQogICAgIFVJUHJvY2Vzcy9tYWMvV0tWaWV3TGF5b3V0U3RyYXRlZ3kubW0KLSAg
ICBVSVByb2Nlc3MvbWFjL1dLV2ViSW5zcGVjdG9yV0tXZWJWaWV3Lm1tCiAgICAgVUlQcm9jZXNz
L21hYy9XZWJDb2xvclBpY2tlck1hYy5tbQogICAgIFVJUHJvY2Vzcy9tYWMvV2ViQ29udGV4dE1l
bnVQcm94eU1hYy5tbQogICAgIFVJUHJvY2Vzcy9tYWMvV2ViQ29va2llTWFuYWdlclByb3h5TWFj
Lm1tCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLUmVt
b3RlV2ViSW5zcGVjdG9yVmlld0NvbnRyb2xsZXIubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQ29jb2EvX1dLUmVtb3RlV2ViSW5zcGVjdG9yVmlld0NvbnRyb2xsZXIubW0KaW5kZXgg
ODkzNzIyNDlmZTEuLmJjOWNlNzg1MGRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvX1dLUmVtb3RlV2ViSW5zcGVjdG9yVmlld0NvbnRyb2xsZXIubW0KKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1JlbW90ZVdlYkluc3BlY3Rv
clZpZXdDb250cm9sbGVyLm1tCkBAIC0yOSw3ICsyOSw2IEBACiAjaWYgUExBVEZPUk0oTUFDKSAm
JiBXS19BUElfRU5BQkxFRAogCiAjaW1wb3J0ICJSZW1vdGVXZWJJbnNwZWN0b3JQcm94eS5oIgot
I2ltcG9ydCAiV0tXZWJJbnNwZWN0b3JXS1dlYlZpZXcuaCIKIAogdXNpbmcgbmFtZXNwYWNlIFdl
YktpdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dLSW5zcGVj
dG9yVmlld0NvbnRyb2xsZXIubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV0tJbnNw
ZWN0b3JWaWV3Q29udHJvbGxlci5tbQppbmRleCBhYTZiMGM2YTY0ZS4uMzJiY2Y1MGZlZmYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XS0luc3BlY3RvclZpZXdDb250
cm9sbGVyLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XS0luc3BlY3RvclZp
ZXdDb250cm9sbGVyLm1tCkBAIC0yOCw3ICsyOCw5IEBACiAKICNpZiBQTEFURk9STShNQUMpICYm
IFdLX0FQSV9FTkFCTEVECiAKKyNpbXBvcnQgIlZlcnNpb25DaGVja3MuaCIKICNpbXBvcnQgIldL
RnJhbWVJbmZvLmgiCisjaW1wb3J0ICJXS0luc3BlY3RvcldLV2ViVmlldy5oIgogI2ltcG9ydCAi
V0tOYXZpZ2F0aW9uQWN0aW9uLmgiCiAjaW1wb3J0ICJXS05hdmlnYXRpb25EZWxlZ2F0ZS5oIgog
I2ltcG9ydCAiV0tPcGVuUGFuZWxQYXJhbWV0ZXJzLmgiCkBAIC00MiwyMyArNDQsOSBAQAogI2lt
cG9ydCAiV2ViSW5zcGVjdG9yVXRpbGl0aWVzLmgiCiAjaW1wb3J0ICJXZWJQYWdlUHJveHkuaCIK
IAotLy8gRklYTUU6IHRoaXMgc2hvdWxkIGJlIGRlY2xhcmVkIGluIHRoZSBPYmpDIEFQSTsgY3Vy
cmVudGx5IGl0J3MgaW4gdGhlIEMgU1BJLgotY29uc3QgTlNJbnRlZ2VyIFdLSW5zcGVjdG9yVmll
d1RhZyA9IDEwMDA7Ci0KIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKLS8vIENsaWVudHMgbmVl
ZCB0byBiZSBhYmxlIHRvIHRlbGwgd2hldGhlciBhIHN1YnZpZXcgaXMgYSBkb2NrZWQgaW5zcGVj
dG9yIHZpZXcsIHNvIG92ZXJyaWRlIHRoZSB0YWcuCi1AaW50ZXJmYWNlIFdLSW5zcGVjdG9yV0tX
ZWJWaWV3IDogV0tXZWJWaWV3Ci1AZW5kCi0KLUBpbXBsZW1lbnRhdGlvbiBXS0luc3BlY3RvcldL
V2ViVmlldwotLSAoTlNJbnRlZ2VyKXRhZwotewotICAgIHJldHVybiBXS0luc3BlY3RvclZpZXdU
YWc7Ci19Ci1AZW5kCi0KLUBpbnRlcmZhY2UgV0tJbnNwZWN0b3JWaWV3Q29udHJvbGxlciAoKSA8
V0tVSURlbGVnYXRlLCBXS05hdmlnYXRpb25EZWxlZ2F0ZT4KK0BpbnRlcmZhY2UgV0tJbnNwZWN0
b3JWaWV3Q29udHJvbGxlciAoKSA8V0tVSURlbGVnYXRlLCBXS05hdmlnYXRpb25EZWxlZ2F0ZSwg
V0tJbnNwZWN0b3JXS1dlYlZpZXdJQkRlbGVnYXRlPgogQGVuZAogCiBAaW1wbGVtZW50YXRpb24g
V0tJbnNwZWN0b3JWaWV3Q29udHJvbGxlciB7CkBAIC04Myw2ICs3MSw3IEBAIC0gKHZvaWQpZGVh
bGxvYwogICAgIGlmIChfd2ViVmlldykgewogICAgICAgICBbX3dlYlZpZXcgc2V0VUlEZWxlZ2F0
ZTpuaWxdOwogICAgICAgICBbX3dlYlZpZXcgc2V0TmF2aWdhdGlvbkRlbGVnYXRlOm5pbF07Cisg
ICAgICAgIFtfd2ViVmlldyBzZXRJbnNwZWN0b3JJQkRlbGVnYXRlOm5pbF07CiAgICAgICAgIF93
ZWJWaWV3ID0gbmlsOwogICAgIH0KIApAQCAtMTAyLDYgKzkxLDcgQEAgLSAoV0tXZWJWaWV3ICop
d2ViVmlldwogICAgICAgICBfd2ViVmlldyA9IGFkb3B0TlMoW1tXS0luc3BlY3RvcldLV2ViVmll
dyBhbGxvY10gaW5pdFdpdGhGcmFtZTppbml0aWFsRnJhbWUgY29uZmlndXJhdGlvbjpbc2VsZiBj
b25maWd1cmF0aW9uXV0pOwogICAgICAgICBbX3dlYlZpZXcgc2V0VUlEZWxlZ2F0ZTpzZWxmXTsK
ICAgICAgICAgW193ZWJWaWV3IHNldE5hdmlnYXRpb25EZWxlZ2F0ZTpzZWxmXTsKKyAgICAgICAg
W193ZWJWaWV3IHNldEluc3BlY3RvcklCRGVsZWdhdGU6c2VsZl07CiAgICAgICAgIFtfd2ViVmll
dyBfc2V0QXV0b21hdGljYWxseUFkanVzdHNDb250ZW50SW5zZXRzOk5PXTsKICAgICAgICAgW193
ZWJWaWV3IHNldEF1dG9yZXNpemluZ01hc2s6TlNWaWV3V2lkdGhTaXphYmxlIHwgTlNWaWV3SGVp
Z2h0U2l6YWJsZV07CiAgICAgfQpAQCAtMjM2LDYgKzIyNiwyOCBAQCAtICh2b2lkKXdlYlZpZXc6
KFdLV2ViVmlldyAqKXdlYlZpZXcgZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbjooV0tO
YXZpZ2F0aQogICAgIGRlY2lzaW9uSGFuZGxlcihXS05hdmlnYXRpb25BY3Rpb25Qb2xpY3lDYW5j
ZWwpOwogfQogCisvLyBNQVJLOiBXS0luc3BlY3RvcldLV2ViVmlld0lCRGVsZWdhdGUgbWV0aG9k
cworCistICh2b2lkKWluc3BlY3RvcldLV2ViVmlld1JlbG9hZDooV0tJbnNwZWN0b3JXS1dlYlZp
ZXcgKil3ZWJWaWV3Cit7CisgICAgaWYgKCFfaW5zcGVjdGVkUGFnZSkKKyAgICAgICAgcmV0dXJu
OworCisgICAgT3B0aW9uU2V0PFdlYkNvcmU6OlJlbG9hZE9wdGlvbj4gcmVsb2FkT3B0aW9uczsK
KyAgICBpZiAobGlua2VkT25PckFmdGVyKFdlYktpdDo6U0RLVmVyc2lvbjo6Rmlyc3RXaXRoRXhw
aXJlZE9ubHlSZWxvYWRCZWhhdmlvcikpCisgICAgICAgIHJlbG9hZE9wdGlvbnMgfD0gV2ViQ29y
ZTo6UmVsb2FkT3B0aW9uOjpFeHBpcmVkT25seTsKKworICAgIF9pbnNwZWN0ZWRQYWdlLT5yZWxv
YWQocmVsb2FkT3B0aW9ucyk7Cit9CisKKy0gKHZvaWQpaW5zcGVjdG9yV0tXZWJWaWV3UmVsb2Fk
RnJvbU9yaWdpbjooV0tJbnNwZWN0b3JXS1dlYlZpZXcgKil3ZWJWaWV3Cit7CisgICAgaWYgKCFf
aW5zcGVjdGVkUGFnZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgX2luc3BlY3RlZFBhZ2UtPnJl
bG9hZChXZWJDb3JlOjpSZWxvYWRPcHRpb246OkZyb21PcmlnaW4pOworfQorCiBAZW5kCiAKICNl
bmRpZiAvLyBQTEFURk9STShNQUMpICYmIFdLX0FQSV9FTkFCTEVECmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV0tJbnNwZWN0b3JXS1dlYlZpZXcuaCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL21hYy9XS0luc3BlY3RvcldLV2ViVmlldy5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5iODlhYWQxOGFhOQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XS0luc3BlY3RvcldLV2ViVmlldy5oCkBAIC0w
LDAgKzEsNDQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2ltcG9ydCA8V2ViS2l0
L1dLV2ViVmlldy5oPgorCisjaWYgUExBVEZPUk0oTUFDKSAmJiBXS19BUElfRU5BQkxFRAorCitA
cHJvdG9jb2wgV0tJbnNwZWN0b3JXS1dlYlZpZXdJQkRlbGVnYXRlOworCitAaW50ZXJmYWNlIFdL
SW5zcGVjdG9yV0tXZWJWaWV3IDogV0tXZWJWaWV3CitAcHJvcGVydHkgKG5vbmF0b21pYywgd2Vh
aykgaWQgPFdLSW5zcGVjdG9yV0tXZWJWaWV3SUJEZWxlZ2F0ZT4gaW5zcGVjdG9ySUJEZWxlZ2F0
ZTsKK0BlbmQKKworQHByb3RvY29sIFdLSW5zcGVjdG9yV0tXZWJWaWV3SUJEZWxlZ2F0ZQorQHJl
cXVpcmVkCistICh2b2lkKWluc3BlY3RvcldLV2ViVmlld1JlbG9hZDooV0tJbnNwZWN0b3JXS1dl
YlZpZXcgKil3ZWJWaWV3OworLSAodm9pZClpbnNwZWN0b3JXS1dlYlZpZXdSZWxvYWRGcm9tT3Jp
Z2luOihXS0luc3BlY3RvcldLV2ViVmlldyAqKXdlYlZpZXc7CitAZW5kCisKKyNlbmRpZiAvLyBQ
TEFURk9STShNQUMpICYmIFdLX0FQSV9FTkFCTEVECmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9tYWMvV0tJbnNwZWN0b3JXS1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9tYWMvV0tJbnNwZWN0b3JXS1dlYlZpZXcubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAuLjc4MmVlMDQ2YTllCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvbWFjL1dLSW5zcGVjdG9yV0tXZWJWaWV3Lm1tCkBAIC0wLDAgKzEs
NjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKyNpbXBvcnQgIldLSW5zcGVj
dG9yV0tXZWJWaWV3LmgiCisKKyNpbXBvcnQgIldLSW5zcGVjdG9yUHJpdmF0ZU1hYy5oIgorI2lt
cG9ydCAiV2Vha09iakNQdHIuaCIKKworQGltcGxlbWVudGF0aW9uIFdLSW5zcGVjdG9yV0tXZWJW
aWV3IHsKKyAgICBXZWJLaXQ6OldlYWtPYmpDUHRyPGlkIDxXS0luc3BlY3RvcldLV2ViVmlld0lC
RGVsZWdhdGU+PiBfaW5zcGVjdG9ySUJEZWxlZ2F0ZTsKK30KKworLSAoTlNJbnRlZ2VyKXRhZwor
eworICAgIHJldHVybiBXS0luc3BlY3RvclZpZXdUYWc7Cit9CisKKy0gKGlkIDxXS0luc3BlY3Rv
cldLV2ViVmlld0lCRGVsZWdhdGU+KWluc3BlY3RvcklCRGVsZWdhdGUKK3sKKyAgICByZXR1cm4g
X2luc3BlY3RvcklCRGVsZWdhdGUuZ2V0QXV0b3JlbGVhc2VkKCk7Cit9CisKKy0gKHZvaWQpc2V0
SW5zcGVjdG9ySUJEZWxlZ2F0ZTooaWQgPFdLSW5zcGVjdG9yV0tXZWJWaWV3SUJEZWxlZ2F0ZT4p
ZGVsZWdhdGUKK3sKKyAgICBfaW5zcGVjdG9ySUJEZWxlZ2F0ZSA9IGRlbGVnYXRlOworfQorCist
IChJQkFjdGlvbilyZWxvYWQ6KGlkKXNlbmRlcgoreworICAgIFtzZWxmLmluc3BlY3RvcklCRGVs
ZWdhdGUgaW5zcGVjdG9yV0tXZWJWaWV3UmVsb2FkOnNlbGZdOworfQorCistIChJQkFjdGlvbily
ZWxvYWRGcm9tT3JpZ2luOihpZClzZW5kZXIKK3sKKyAgICBbc2VsZi5pbnNwZWN0b3JJQkRlbGVn
YXRlIGluc3BlY3RvcldLV2ViVmlld1JlbG9hZEZyb21PcmlnaW46c2VsZl07Cit9CisKK0BlbmQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XS1dlYkluc3BlY3RvcldL
V2ViVmlldy5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dLV2ViSW5zcGVjdG9yV0tX
ZWJWaWV3LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRjYzc1ODljNzZlLi4wMDAw
MDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV0tXZWJJbnNwZWN0b3JX
S1dlYlZpZXcuaAorKysgL2Rldi9udWxsCkBAIC0xLDM4ICswLDAgQEAKLS8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMTAsIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgot
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
LSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAq
LwotCi0jcHJhZ21hIG9uY2UKLQotI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmlldy5oPgotCi0jaWYg
UExBVEZPUk0oTUFDKSAmJiBXS19BUElfRU5BQkxFRAotCi1AaW50ZXJmYWNlIFdLV2ViSW5zcGVj
dG9yV0tXZWJWaWV3IDogV0tXZWJWaWV3Ci0KLS0gKGluc3RhbmNldHlwZSlpbml0V2l0aEZyYW1l
OihDR1JlY3QpZnJhbWUgY29uZmlndXJhdGlvbjooV0tXZWJWaWV3Q29uZmlndXJhdGlvbiAqKWNv
bmZpZ3VyYXRpb247Ci0KLUBlbmQKLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9tYWMvV0tXZWJJbnNwZWN0b3JXS1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9tYWMvV0tXZWJJbnNwZWN0b3JXS1dlYlZpZXcubW0KZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDEzNWFiYmExNTRiLi4wMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9tYWMvV0tXZWJJbnNwZWN0b3JXS1dlYlZpZXcubW0KKysrIC9kZXYvbnVs
bApAQCAtMSwxNzkgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCwgMjAxNCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
LSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbXBvcnQgImNvbmZpZy5o
IgotI2ltcG9ydCAiV0tXZWJJbnNwZWN0b3JXS1dlYlZpZXcuaCIKLQotI2lmIFBMQVRGT1JNKE1B
QykgJiYgV0tfQVBJX0VOQUJMRUQKLQotI2ltcG9ydCAiV0tBUElDYXN0LmgiCi0jaW1wb3J0ICJX
S0luc3BlY3RvclByaXZhdGVNYWMuaCIKLSNpbXBvcnQgIldLTXV0YWJsZUFycmF5LmgiCi0jaW1w
b3J0ICJXS09wZW5QYW5lbFBhcmFtZXRlcnNSZWYuaCIKLSNpbXBvcnQgIldLT3BlblBhbmVsUmVz
dWx0TGlzdGVuZXIuaCIKLSNpbXBvcnQgIldLUmV0YWluUHRyLmgiCi0jaW1wb3J0ICJXS1VSTENG
LmgiCi0jaW1wb3J0ICJXS1dlYlZpZXdJbnRlcm5hbC5oIgotI2ltcG9ydCAiV2ViUGFnZVByb3h5
LmgiCi0KLXVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi1z
dGF0aWMgV0tSZWN0IGdldFdpbmRvd0ZyYW1lKFdLUGFnZVJlZiwgY29uc3Qgdm9pZCogY2xpZW50
SW5mbykKLXsKLSAgICBXS1dlYkluc3BlY3RvcldLV2ViVmlldyAqaW5zcGVjdG9yV0tXZWJWaWV3
ID0gc3RhdGljX2Nhc3Q8V0tXZWJJbnNwZWN0b3JXS1dlYlZpZXcgKj4oY29uc3RfY2FzdDx2b2lk
Kj4oY2xpZW50SW5mbykpOwotICAgIEFTU0VSVChpbnNwZWN0b3JXS1dlYlZpZXcpOwotCi0gICAg
aWYgKCFpbnNwZWN0b3JXS1dlYlZpZXcud2luZG93KQotICAgICAgICByZXR1cm4gV0tSZWN0TWFr
ZSgwLCAwLCAwLCAwKTsKLQotICAgIE5TUmVjdCBmcmFtZSA9IGluc3BlY3RvcldLV2ViVmlldy5m
cmFtZTsKLSAgICByZXR1cm4gV0tSZWN0TWFrZShmcmFtZS5vcmlnaW4ueCwgZnJhbWUub3JpZ2lu
LnksIGZyYW1lLnNpemUud2lkdGgsIGZyYW1lLnNpemUuaGVpZ2h0KTsKLX0KLQotc3RhdGljIHZv
aWQgc2V0V2luZG93RnJhbWUoV0tQYWdlUmVmLCBXS1JlY3QgZnJhbWUsIGNvbnN0IHZvaWQqIGNs
aWVudEluZm8pCi17Ci0gICAgV0tXZWJJbnNwZWN0b3JXS1dlYlZpZXcgKmluc3BlY3RvcldLV2Vi
VmlldyA9IHN0YXRpY19jYXN0PFdLV2ViSW5zcGVjdG9yV0tXZWJWaWV3ICo+KGNvbnN0X2Nhc3Q8
dm9pZCo+KGNsaWVudEluZm8pKTsKLSAgICBBU1NFUlQoaW5zcGVjdG9yV0tXZWJWaWV3KTsKLQot
ICAgIGlmICghaW5zcGVjdG9yV0tXZWJWaWV3LndpbmRvdykKLSAgICAgICAgcmV0dXJuOwotCi0g
ICAgW2luc3BlY3RvcldLV2ViVmlldy53aW5kb3cgc2V0RnJhbWU6TlNNYWtlUmVjdChmcmFtZS5v
cmlnaW4ueCwgZnJhbWUub3JpZ2luLnksIGZyYW1lLnNpemUud2lkdGgsIGZyYW1lLnNpemUuaGVp
Z2h0KSBkaXNwbGF5OllFU107Ci19Ci0KLXN0YXRpYyB1bnNpZ25lZCBsb25nIGxvbmcgZXhjZWVk
ZWREYXRhYmFzZVF1b3RhKFdLUGFnZVJlZiwgV0tGcmFtZVJlZiwgV0tTZWN1cml0eU9yaWdpblJl
ZiwgV0tTdHJpbmdSZWYsIFdLU3RyaW5nUmVmLCB1bnNpZ25lZCBsb25nIGxvbmcsIHVuc2lnbmVk
IGxvbmcgbG9uZywgdW5zaWduZWQgbG9uZyBsb25nIGN1cnJlbnREYXRhYmFzZVVzYWdlLCB1bnNp
Z25lZCBsb25nIGxvbmcgZXhwZWN0ZWRVc2FnZSwgY29uc3Qgdm9pZCopCi17Ci0gICAgcmV0dXJu
IHN0ZDo6bWF4PHVuc2lnbmVkIGxvbmcgbG9uZz4oZXhwZWN0ZWRVc2FnZSwgY3VycmVudERhdGFi
YXNlVXNhZ2UgKiAxLjI1KTsKLX0KLQotc3RhdGljIHZvaWQgcnVuT3BlblBhbmVsKFdLUGFnZVJl
ZiBwYWdlLCBXS0ZyYW1lUmVmIGZyYW1lLCBXS09wZW5QYW5lbFBhcmFtZXRlcnNSZWYgcGFyYW1l
dGVycywgV0tPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lclJlZiBsaXN0ZW5lciwgY29uc3Qgdm9pZCog
Y2xpZW50SW5mbykKLXsKLSAgICBXS1dlYkluc3BlY3RvcldLV2ViVmlldyAqaW5zcGVjdG9yV0tX
ZWJWaWV3ID0gc3RhdGljX2Nhc3Q8V0tXZWJJbnNwZWN0b3JXS1dlYlZpZXcgKj4oY29uc3RfY2Fz
dDx2b2lkKj4oY2xpZW50SW5mbykpOwotICAgIEFTU0VSVChpbnNwZWN0b3JXS1dlYlZpZXcpOwot
Ci0gICAgTlNPcGVuUGFuZWwgKm9wZW5QYW5lbCA9IFtOU09wZW5QYW5lbCBvcGVuUGFuZWxdOwot
ICAgIFtvcGVuUGFuZWwgc2V0QWxsb3dzTXVsdGlwbGVTZWxlY3Rpb246V0tPcGVuUGFuZWxQYXJh
bWV0ZXJzR2V0QWxsb3dzTXVsdGlwbGVGaWxlcyhwYXJhbWV0ZXJzKV07Ci0KLSAgICBXS1JldGFp
bihsaXN0ZW5lcik7Ci0KLSAgICBhdXRvIGNvbXBsZXRpb25IYW5kbGVyID0gXihOU0ludGVnZXIg
cmVzdWx0KSB7Ci0gICAgICAgIGlmIChyZXN1bHQgPT0gTlNNb2RhbFJlc3BvbnNlT0spIHsKLSAg
ICAgICAgICAgIFdLUmV0YWluUHRyPFdLTXV0YWJsZUFycmF5UmVmPiBmaWxlVVJMcyA9IGFkb3B0
V0soV0tNdXRhYmxlQXJyYXlDcmVhdGUoKSk7Ci0KLSAgICAgICAgICAgIGZvciAoTlNVUkwqIG5z
VVJMIGluIFtvcGVuUGFuZWwgVVJMc10pIHsKLSAgICAgICAgICAgICAgICBXS1JldGFpblB0cjxX
S1VSTFJlZj4gd2tVUkwgPSBhZG9wdFdLKFdLVVJMQ3JlYXRlV2l0aENGVVJMKHJlaW50ZXJwcmV0
X2Nhc3Q8Q0ZVUkxSZWY+KG5zVVJMKSkpOwotICAgICAgICAgICAgICAgIFdLQXJyYXlBcHBlbmRJ
dGVtKGZpbGVVUkxzLmdldCgpLCB3a1VSTC5nZXQoKSk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAg
ICAgICAgIFdLT3BlblBhbmVsUmVzdWx0TGlzdGVuZXJDaG9vc2VGaWxlcyhsaXN0ZW5lciwgZmls
ZVVSTHMuZ2V0KCkpOwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIFdLT3BlblBhbmVsUmVz
dWx0TGlzdGVuZXJDYW5jZWwobGlzdGVuZXIpOwotCi0gICAgICAgIFdLUmVsZWFzZShsaXN0ZW5l
cik7Ci0gICAgfTsKLQotICAgIGlmIChpbnNwZWN0b3JXS1dlYlZpZXcud2luZG93KQotICAgICAg
ICBbb3BlblBhbmVsIGJlZ2luU2hlZXRNb2RhbEZvcldpbmRvdzppbnNwZWN0b3JXS1dlYlZpZXcu
d2luZG93IGNvbXBsZXRpb25IYW5kbGVyOmNvbXBsZXRpb25IYW5kbGVyXTsKLSAgICBlbHNlCi0g
ICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKFtvcGVuUGFuZWwgcnVuTW9kYWxdKTsKLX0KLQotfSAv
LyBuYW1lc3BhY2UgV2ViS2l0Ci0KLUBpbXBsZW1lbnRhdGlvbiBXS1dlYkluc3BlY3RvcldLV2Vi
VmlldwotCi0tIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhGcmFtZTooQ0dSZWN0KWZyYW1lIGNvbmZp
Z3VyYXRpb246KFdLV2ViVmlld0NvbmZpZ3VyYXRpb24gKiljb25maWd1cmF0aW9uCi17Ci0gICAg
aWYgKCEoc2VsZiA9IFtzdXBlciBpbml0V2l0aEZyYW1lOmZyYW1lIGNvbmZpZ3VyYXRpb246Y29u
ZmlndXJhdGlvbl0pKQotICAgICAgICByZXR1cm4gbmlsOwotCi0gICAgW3NlbGYgX3NldEF1dG9t
YXRpY2FsbHlBZGp1c3RzQ29udGVudEluc2V0czpOT107Ci0KLSAgICBXS1BhZ2VVSUNsaWVudFYy
IHVpQ2xpZW50ID0gewotICAgICAgICB7IDIsIHNlbGYgfSwKLSAgICAgICAgbnVsbHB0ciwgLy8g
Y3JlYXRlTmV3UGFnZV9kZXByZWNhdGVkRm9yVXNlV2l0aFYwCi0gICAgICAgIG51bGxwdHIsIC8v
IHNob3dQYWdlCi0gICAgICAgIG51bGxwdHIsIC8vIGNsb3NlUGFnZQotICAgICAgICBudWxscHRy
LCAvLyB0YWtlRm9jdXMKLSAgICAgICAgbnVsbHB0ciwgLy8gZm9jdXMKLSAgICAgICAgbnVsbHB0
ciwgLy8gdW5mb2N1cwotICAgICAgICBudWxscHRyLCAvLyBydW5KYXZhU2NyaXB0QWxlcnQKLSAg
ICAgICAgbnVsbHB0ciwgLy8gcnVuSmF2YVNjcmlwdENvbmZpcm0KLSAgICAgICAgbnVsbHB0ciwg
Ly8gcnVuSmF2YVNjcmlwdFByb21wdAotICAgICAgICBudWxscHRyLCAvLyBzZXRTdGF0dXNUZXh0
Ci0gICAgICAgIG51bGxwdHIsIC8vIG1vdXNlRGlkTW92ZU92ZXJFbGVtZW50X2RlcHJlY2F0ZWRG
b3JVc2VXaXRoVjAKLSAgICAgICAgbnVsbHB0ciwgLy8gbWlzc2luZ1BsdWdpbkJ1dHRvbkNsaWNr
ZWRfZGVwcmVjYXRlZEZvclVzZVdpdGhWMAotICAgICAgICBudWxscHRyLCAvLyBkaWROb3RIYW5k
bGVLZXlFdmVudAotICAgICAgICBudWxscHRyLCAvLyBkaWROb3RIYW5kbGVXaGVlbEV2ZW50Ci0g
ICAgICAgIG51bGxwdHIsIC8vIGFyZVRvb2xiYXJzVmlzaWJsZQotICAgICAgICBudWxscHRyLCAv
LyBzZXRUb29sYmFyc1Zpc2libGUKLSAgICAgICAgbnVsbHB0ciwgLy8gaXNNZW51QmFyVmlzaWJs
ZQotICAgICAgICBudWxscHRyLCAvLyBzZXRNZW51QmFyVmlzaWJsZQotICAgICAgICBudWxscHRy
LCAvLyBpc1N0YXR1c0JhclZpc2libGUKLSAgICAgICAgbnVsbHB0ciwgLy8gc2V0U3RhdHVzQmFy
VmlzaWJsZQotICAgICAgICBudWxscHRyLCAvLyBpc1Jlc2l6YWJsZQotICAgICAgICBudWxscHRy
LCAvLyBzZXRSZXNpemFibGUKLSAgICAgICAgZ2V0V2luZG93RnJhbWUsCi0gICAgICAgIHNldFdp
bmRvd0ZyYW1lLAotICAgICAgICBudWxscHRyLCAvLyBydW5CZWZvcmVVbmxvYWRDb25maXJtUGFu
ZWwKLSAgICAgICAgbnVsbHB0ciwgLy8gZGlkRHJhdwotICAgICAgICBudWxscHRyLCAvLyBwYWdl
RGlkU2Nyb2xsCi0gICAgICAgIGV4Y2VlZGVkRGF0YWJhc2VRdW90YSwKLSAgICAgICAgcnVuT3Bl
blBhbmVsLAotICAgICAgICBudWxscHRyLCAvLyBkZWNpZGVQb2xpY3lGb3JHZW9sb2NhdGlvblBl
cm1pc3Npb25SZXF1ZXN0Ci0gICAgICAgIG51bGxwdHIsIC8vIGhlYWRlckhlaWdodAotICAgICAg
ICBudWxscHRyLCAvLyBmb290ZXJIZWlnaHQKLSAgICAgICAgbnVsbHB0ciwgLy8gZHJhd0hlYWRl
cgotICAgICAgICBudWxscHRyLCAvLyBkcmF3Rm9vdGVyCi0gICAgICAgIG51bGxwdHIsIC8vIHBy
aW50RnJhbWUKLSAgICAgICAgbnVsbHB0ciwgLy8gcnVuTW9kYWwKLSAgICAgICAgbnVsbHB0ciwg
Ly8gdW51c2VkCi0gICAgICAgIG51bGxwdHIsIC8vIHNhdmVEYXRhVG9GaWxlSW5Eb3dubG9hZHNG
b2xkZXIKLSAgICAgICAgbnVsbHB0ciwgLy8gc2hvdWxkSW50ZXJydXB0SmF2YVNjcmlwdAotICAg
ICAgICBudWxscHRyLCAvLyBjcmVhdGVQYWdlCi0gICAgICAgIG51bGxwdHIsIC8vIG1vdXNlRGlk
TW92ZU92ZXJFbGVtZW50Ci0gICAgICAgIG51bGxwdHIsIC8vIGRlY2lkZVBvbGljeUZvck5vdGlm
aWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0Ci0gICAgICAgIG51bGxwdHIsIC8vIHVuYXZhaWxhYmxl
UGx1Z2luQnV0dG9uQ2xpY2tlZF9kZXByZWNhdGVkRm9yVXNlV2l0aFYxCi0gICAgICAgIG51bGxw
dHIsIC8vIHNob3dDb2xvclBpY2tlcgotICAgICAgICBudWxscHRyLCAvLyBoaWRlQ29sb3JQaWNr
ZXIKLSAgICAgICAgbnVsbHB0ciwgLy8gdW5hdmFpbGFibGVQbHVnaW5CdXR0b25DbGlja2VkCi0g
ICAgfTsKLQotICAgIFdlYlBhZ2VQcm94eSogaW5zcGVjdG9yUGFnZSA9IHNlbGYtPl9wYWdlLmdl
dCgpOwotICAgIFdLUGFnZVNldFBhZ2VVSUNsaWVudCh0b0FQSShpbnNwZWN0b3JQYWdlKSwgJnVp
Q2xpZW50LmJhc2UpOwotCi0gICAgcmV0dXJuIHNlbGY7Ci19Ci0KLS0gKE5TSW50ZWdlcil0YWcK
LXsKLSAgICByZXR1cm4gV0tJbnNwZWN0b3JWaWV3VGFnOwotfQotCi1AZW5kCi0KLSNlbmRpZiAv
LyBQTEFURk9STShNQUMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagppbmRleCBkNzMwOWY2MDFjMy4uMDQ3YWMyNmU5NjEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNl
L1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTU0Miw2ICsxNTQy
LDggQEAKIAkJQTFGQjY4MjQxRjZFNTE4MjAwQzQzRjlGIC8qIFdLQ3Jhc2hSZXBvcnRlci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTFGQjY4MjIxRjZF
NTE4MjAwQzQzRjlGIC8qIFdLQ3Jhc2hSZXBvcnRlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUExRkI2ODI1MUY2RTUxODIwMEM0M0Y5RiAvKiBX
S0NyYXNoUmVwb3J0ZXIubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBMUZCNjgyMzFGNkU1MTgyMDBDNDNGOUYgLyogV0tDcmFzaFJlcG9ydGVyLm1tICov
OyB9OwogCQlBMUZCNjgyNzFGNkU1MUMxMDBDNDNGOUYgLyogQ3Jhc2hSZXBvcnRlckNsaWVudFNQ
SS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTFGQjY4
MjYxRjZFNTFDMTAwQzQzRjlGIC8qIENyYXNoUmVwb3J0ZXJDbGllbnRTUEkuaCAqLzsgfTsKKwkJ
QTUxOEI1RDIxRkUxRDU1QjAwRjlGQTI4IC8qIFdLSW5zcGVjdG9yV0tXZWJWaWV3LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTE4QjVEMDFGRTFENTVC
MDBGOUZBMjggLyogV0tJbnNwZWN0b3JXS1dlYlZpZXcuaCAqLzsgfTsKKwkJQTUxOEI1RDMxRkUx
RDU1QjAwRjlGQTI4IC8qIFdLSW5zcGVjdG9yV0tXZWJWaWV3Lm1tIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTUxOEI1RDExRkUxRDU1QjAwRjlGQTI4IC8q
IFdLSW5zcGVjdG9yV0tXZWJWaWV3Lm1tICovOyB9OwogCQlBNTQyOTNBNDE5NUE0M0RBMDAyNzgy
QzcgLyogV0tJbnNwZWN0b3JOb2RlU2VhcmNoR2VzdHVyZVJlY29nbml6ZXIuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1NDI5M0EyMTk1QTQzQzYwMDI3
ODJDNyAvKiBXS0luc3BlY3Rvck5vZGVTZWFyY2hHZXN0dXJlUmVjb2duaXplci5oICovOyB9Owog
CQlBNTQyOTNBNTE5NUE0M0REMDAyNzgyQzcgLyogV0tJbnNwZWN0b3JOb2RlU2VhcmNoR2VzdHVy
ZVJlY29nbml6ZXIubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBBNTQyOTNBMzE5NUE0M0M2MDAyNzgyQzcgLyogV0tJbnNwZWN0b3JOb2RlU2VhcmNoR2Vz
dHVyZVJlY29nbml6ZXIubW0gKi87IH07CiAJCUE1NUJBODEwMUJBMTMxN0UwMDdDRDMzRCAvKiBf
V0tSZW1vdGVXZWJJbnNwZWN0b3JWaWV3Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTU1QkE4MEMxQkExMkJFMTAwN0NEMzNEIC8qIF9X
S1JlbW90ZVdlYkluc3BlY3RvclZpZXdDb250cm9sbGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTE1NTgsOCArMTU2MCw2IEBACiAJCUE1NUJB
ODM2MUJBM0U3MEQwMDdDRDMzRCAvKiBXZWJJbnNwZWN0b3JGcm9udGVuZEFQSURpc3BhdGNoZXIu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTU1QkE4
MzIxQkEzRTZGQTAwN0NEMzNEIC8qIFdlYkluc3BlY3RvckZyb250ZW5kQVBJRGlzcGF0Y2hlci5j
cHAgKi87IH07CiAJCUE1OEI2RjA4MThGQ0E3MzMwMDhDQkE1MyAvKiBXS0ZpbGVVcGxvYWRQYW5l
bC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTU4QjZG
MDYxOEZDQTczMzAwOENCQTUzIC8qIFdLRmlsZVVwbG9hZFBhbmVsLmggKi87IH07CiAJCUE1OEI2
RjA5MThGQ0E3MzMwMDhDQkE1MyAvKiBXS0ZpbGVVcGxvYWRQYW5lbC5tbSBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1OEI2RjA3MThGQ0E3MzMwMDhDQkE1
MyAvKiBXS0ZpbGVVcGxvYWRQYW5lbC5tbSAqLzsgfTsKLQkJQTVEMzUwNEIxRDc1MjExNjAwNTEy
NEE5IC8qIFdLV2ViSW5zcGVjdG9yV0tXZWJWaWV3LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUQzNTA0OTFENzUyMTE2MDA1MTI0QTkgLyogV0tXZWJJ
bnNwZWN0b3JXS1dlYlZpZXcuaCAqLzsgfTsKLQkJQTVEMzUwNEMxRDc1MjExNjAwNTEyNEE5IC8q
IFdLV2ViSW5zcGVjdG9yV0tXZWJWaWV3Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQTVEMzUwNEExRDc1MjExNjAwNTEyNEE5IC8qIFdLV2ViSW5zcGVj
dG9yV0tXZWJWaWV3Lm1tICovOyB9OwogCQlBNUQzNTA0RTFENzhGNUIzMDA1MTI0QTkgLyogUmVt
b3RlV2ViSW5zcGVjdG9yUHJveHlNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBNUQzNTA0RDFENzhGMEQyMDA1MTI0QTkgLyogUmVtb3RlV2ViSW5z
cGVjdG9yUHJveHlNYWMubW0gKi87IH07CiAJCUE1RUZEMzhDMTZCMEU4OEMwMEIyRjBFOCAvKiBX
S1BhZ2VWaXNpYmlsaXR5VHlwZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEE1RUZEMzhCMTZCMEU4OEMwMEIyRjBFOCAvKiBXS1BhZ2VWaXNpYmlsaXR5
VHlwZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQlBNzhDQ0REQTE5M0FDOUY0MDA1RUNDMjUgLyogY29tLmFwcGxlLldlYktpdC5EYXRhYmFzZXMu
c2IgaW4gQ29weUZpbGVzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3OEND
REQ3MTkzQUM5RTMwMDVFQ0MyNSAvKiBjb20uYXBwbGUuV2ViS2l0LkRhdGFiYXNlcy5zYiAqLzsg
fTsKQEAgLTM5NjIsNiArMzk2Miw4IEBACiAJCUExRkI2ODIyMUY2RTUxODIwMEM0M0Y5RiAvKiBX
S0NyYXNoUmVwb3J0ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tDcmFzaFJlcG9ydGVyLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExRkI2ODIzMUY2RTUxODIwMEM0M0Y5RiAvKiBXS0Ny
YXNoUmVwb3J0ZXIubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXS0NyYXNoUmVwb3J0ZXIubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExRkI2ODI2MUY2RTUxQzEwMEM0M0Y5RiAv
KiBDcmFzaFJlcG9ydGVyQ2xpZW50U1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENyYXNoUmVwb3J0ZXJD
bGllbnRTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTUxOEI1RDAxRkUxRDU1
QjAwRjlGQTI4IC8qIFdLSW5zcGVjdG9yV0tXZWJWaWV3LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLSW5z
cGVjdG9yV0tXZWJWaWV3Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1MThCNUQx
MUZFMUQ1NUIwMEY5RkEyOCAvKiBXS0luc3BlY3RvcldLV2ViVmlldy5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgcGF0aCA9IFdLSW5zcGVjdG9yV0tXZWJWaWV3Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlBNTQyOTNBMjE5NUE0M0M2MDAyNzgyQzcgLyogV0tJbnNwZWN0b3JOb2RlU2VhcmNo
R2VzdHVyZVJlY29nbml6ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gV0tJbnNwZWN0b3JOb2RlU2VhcmNo
R2VzdHVyZVJlY29nbml6ZXIuaDsgcGF0aCA9IGlvcy9XS0luc3BlY3Rvck5vZGVTZWFyY2hHZXN0
dXJlUmVjb2duaXplci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNTQyOTNBMzE5
NUE0M0M2MDAyNzgyQzcgLyogV0tJbnNwZWN0b3JOb2RlU2VhcmNoR2VzdHVyZVJlY29nbml6ZXIu
bW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBXS0luc3BlY3Rvck5vZGVTZWFyY2hHZXN0dXJlUmVj
b2duaXplci5tbTsgcGF0aCA9IGlvcy9XS0luc3BlY3Rvck5vZGVTZWFyY2hHZXN0dXJlUmVjb2du
aXplci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTU1QkE4MEMxQkExMkJFMTAw
N0NEMzNEIC8qIF9XS1JlbW90ZVdlYkluc3BlY3RvclZpZXdDb250cm9sbGVyLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IF9XS1JlbW90ZVdlYkluc3BlY3RvclZpZXdDb250cm9s
bGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0zOTgwLDggKzM5ODIsNiBAQAog
CQlBNTVCQTgzMzFCQTNFNkZBMDA3Q0QzM0QgLyogV2ViSW5zcGVjdG9yRnJvbnRlbmRBUElEaXNw
YXRjaGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkluc3BlY3RvckZy
b250ZW5kQVBJRGlzcGF0Y2hlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNThC
NkYwNjE4RkNBNzMzMDA4Q0JBNTMgLyogV0tGaWxlVXBsb2FkUGFuZWwuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gV0tGaWxlVXBsb2FkUGFuZWwuaDsgcGF0aCA9IGlvcy9mb3Jt
cy9XS0ZpbGVVcGxvYWRQYW5lbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNThC
NkYwNzE4RkNBNzMzMDA4Q0JBNTMgLyogV0tGaWxlVXBsb2FkUGFuZWwubW0gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBXS0ZpbGVVcGxvYWRQYW5lbC5tbTsgcGF0aCA9
IGlvcy9mb3Jtcy9XS0ZpbGVVcGxvYWRQYW5lbC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKLQkJQTVEMzUwNDkxRDc1MjExNjAwNTEyNEE5IC8qIFdLV2ViSW5zcGVjdG9yV0tXZWJWaWV3
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLV2ViSW5zcGVjdG9yV0tXZWJW
aWV3Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUE1RDM1MDRBMUQ3NTIxMTYwMDUx
MjRBOSAvKiBXS1dlYkluc3BlY3RvcldLV2ViVmlldy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLm9iamNwcDsgcGF0aCA9IFdLV2ViSW5zcGVjdG9yV0tXZWJWaWV3Lm1tOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlBNUQzNTA0RDFENzhGMEQyMDA1MTI0QTkgLyogUmVtb3RlV2Vi
SW5zcGVjdG9yUHJveHlNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBh
dGggPSBSZW1vdGVXZWJJbnNwZWN0b3JQcm94eU1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQTVFRkQzOEIxNkIwRTg4QzAwQjJGMEU4IC8qIFdLUGFnZVZpc2liaWxpdHlUeXBl
cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS1BhZ2VWaXNpYmlsaXR5VHlw
ZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTcyRDVEN0YxMjM2Q0JBODAwQTg4
QjE1IC8qIEFQSVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBBUElTZXJpYWxpemVkU2NyaXB0VmFsdWUuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKQEAgLTc5MTgsNiArNzkxOCw4IEBACiAJCQkJOTMyMUQ1ODcxQTM4RUU3NDAwODA1
MkJFIC8qIFdLSW1tZWRpYXRlQWN0aW9uQ29udHJvbGxlci5tbSAqLywKIAkJCQk5OTRCQURGMTFG
N0Q3N0VBMDBCNTcxRTcgLyogV0tJbnNwZWN0b3JWaWV3Q29udHJvbGxlci5oICovLAogCQkJCTk5
NEJBREYyMUY3RDc3RUIwMEI1NzFFNyAvKiBXS0luc3BlY3RvclZpZXdDb250cm9sbGVyLm1tICov
LAorCQkJCUE1MThCNUQwMUZFMUQ1NUIwMEY5RkEyOCAvKiBXS0luc3BlY3RvcldLV2ViVmlldy5o
ICovLAorCQkJCUE1MThCNUQxMUZFMUQ1NUIwMEY5RkEyOCAvKiBXS0luc3BlY3RvcldLV2ViVmll
dy5tbSAqLywKIAkJCQkwRkNCNEU1QzE4QkJFM0Q5MDAwRkNGQzkgLyogV0tQcmludGluZ1ZpZXcu
aCAqLywKIAkJCQkwRkNCNEU1RDE4QkJFM0Q5MDAwRkNGQzkgLyogV0tQcmludGluZ1ZpZXcubW0g
Ki8sCiAJCQkJNTEzRTQ2MkIxQUQ4Mzc1NjAwMTYyMzRBIC8qIFdLU2hhcmluZ1NlcnZpY2VQaWNr
ZXJEZWxlZ2F0ZS5oICovLApAQCAtNzkyOCw4ICs3OTMwLDYgQEAKIAkJCQkwRkNCNEU1RjE4QkJF
M0Q5MDAwRkNGQzkgLyogV0tUZXh0SW5wdXRXaW5kb3dDb250cm9sbGVyLm1tICovLAogCQkJCTJE
MjhBNDk1MUFGOTY1QTEwMEYxOTBDOSAvKiBXS1ZpZXdMYXlvdXRTdHJhdGVneS5oICovLAogCQkJ
CTJEMjhBNDk2MUFGOTY1QTEwMEYxOTBDOSAvKiBXS1ZpZXdMYXlvdXRTdHJhdGVneS5tbSAqLywK
LQkJCQlBNUQzNTA0OTFENzUyMTE2MDA1MTI0QTkgLyogV0tXZWJJbnNwZWN0b3JXS1dlYlZpZXcu
aCAqLywKLQkJCQlBNUQzNTA0QTFENzUyMTE2MDA1MTI0QTkgLyogV0tXZWJJbnNwZWN0b3JXS1dl
YlZpZXcubW0gKi8sCiAJCQkpOwogCQkJcGF0aCA9IG1hYzsKIAkJCXNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7CkBAIC05MzQwLDYgKzkzNDAsNyBAQAogCQkJCUE1NDI5M0E0MTk1QTQzREEwMDI3ODJD
NyAvKiBXS0luc3BlY3Rvck5vZGVTZWFyY2hHZXN0dXJlUmVjb2duaXplci5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNkVFODQ5QzgxMzY4RDkzOTAwMzhENDgxIC8qIFdLSW5zcGVjdG9yUHJpdmF0ZU1h
Yy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTk0QkFERjQxRjdENzgxNDAwQjU3MUU3IC8qIFdLSW5z
cGVjdG9yVmlld0NvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCUE1MThCNUQyMUZFMUQ1
NUIwMEY5RkEyOCAvKiBXS0luc3BlY3RvcldLV2ViVmlldy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NTFBOUUxMEIxMzE1Q0QxODAwOUU3MDMxIC8qIFdLS2V5VmFsdWVTdG9yYWdlTWFuYWdlci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMkQ3OTBBOUYxQUQ3MTY0OTAwQUI5MEIzIC8qIFdLTGF5b3V0TW9k
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzk4QzQ4QUExQjZGRDVCNTAwMTQ1MTAzIC8qIFdLTWVk
aWFTZXNzaW9uRm9jdXNNYW5hZ2VyLmggaW4gSGVhZGVycyAqLywKQEAgLTk0OTIsNyArOTQ5Myw2
IEBACiAJCQkJQkZBNjE3OUYxMkYwQjk5RDAwMzNFMENBIC8qIFdLVmlld1ByaXZhdGUuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUM1RTFBRkU5MTZCMjBCNzUwMDZDQzFGMiAvKiBXS1dlYkFyY2hpdmUu
aCBpbiBIZWFkZXJzICovLAogCQkJCUM1RTFBRkVCMTZCMjBCN0UwMDZDQzFGMiAvKiBXS1dlYkFy
Y2hpdmVSZXNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQTVEMzUwNEIxRDc1MjExNjAwNTEy
NEE5IC8qIFdLV2ViSW5zcGVjdG9yV0tXZWJWaWV3LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUEy
RTU2NzE4RDc3NTA4MDAzODE0QkQgLyogV0tXZWJQcm9jZXNzQnVuZGxlUGFyYW1ldGVycy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQkM5ODlEODIxNjFBN0U1RDAwMEQ0NkQzIC8qIFdLV2ViUHJvY2Vz
c1BsdWdJbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM4RjJGMkIxNjI3M0EyQzAwNUZBQ0I1IC8q
IFdLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlci5oIGluIEhlYWRlcnMg
Ki8sCkBAIC0xMDk2MCw2ICsxMDk2MCw3IEBACiAJCQkJMEYzQzcyNUMxOTZGNjA1MjAwQUVERDBD
IC8qIFdLSW5zcGVjdG9ySGlnaGxpZ2h0Vmlldy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUE1NDI5
M0E1MTk1QTQzREQwMDI3ODJDNyAvKiBXS0luc3BlY3Rvck5vZGVTZWFyY2hHZXN0dXJlUmVjb2du
aXplci5tbSBpbiBTb3VyY2VzICovLAogCQkJCTk5NEJBREYzMUY3RDc4MTEwMEI1NzFFNyAvKiBX
S0luc3BlY3RvclZpZXdDb250cm9sbGVyLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJQTUxOEI1RDMx
RkUxRDU1QjAwRjlGQTI4IC8qIFdLSW5zcGVjdG9yV0tXZWJWaWV3Lm1tIGluIFNvdXJjZXMgKi8s
CiAJCQkJNTFBOUUxMEExMzE1Q0QxODAwOUU3MDMxIC8qIFdLS2V5VmFsdWVTdG9yYWdlTWFuYWdl
ci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDOThDNDhBOTFCNkZENUI1MDAxNDUxMDMgLyogV0tN
ZWRpYVNlc3Npb25Gb2N1c01hbmFnZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQzlDRDQzOUUx
QjRCMDI1MzAwMjM5RTMzIC8qIFdLTWVkaWFTZXNzaW9uTWV0YWRhdGEuY3BwIGluIFNvdXJjZXMg
Ki8sCkBAIC0xMTA1Myw3ICsxMTA1NCw2IEBACiAJCQkJMkQyOEE0OTgxQUY5NjVBMjAwRjE5MEM5
IC8qIFdLVmlld0xheW91dFN0cmF0ZWd5Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQzVFMUFGRTgx
NkIyMEI2NzAwNkNDMUYyIC8qIFdLV2ViQXJjaGl2ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlD
NUUxQUZFQTE2QjIwQjdCMDA2Q0MxRjIgLyogV0tXZWJBcmNoaXZlUmVzb3VyY2UuY3BwIGluIFNv
dXJjZXMgKi8sCi0JCQkJQTVEMzUwNEMxRDc1MjExNjAwNTEyNEE5IC8qIFdLV2ViSW5zcGVjdG9y
V0tXZWJWaWV3Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMUFBMkU1NjYxOEQ3NzUwODAwMzgxNEJE
IC8qIFdLV2ViUHJvY2Vzc0J1bmRsZVBhcmFtZXRlcnMubW0gaW4gU291cmNlcyAqLywKIAkJCQlC
Qzk4OUQ4MTE2MUE3RTVEMDAwRDQ2RDMgLyogV0tXZWJQcm9jZXNzUGx1Z0luLm1tIGluIFNvdXJj
ZXMgKi8sCiAJCQkJQkM4RjJGMkExNjI3M0EyQzAwNUZBQ0I1IC8qIFdLV2ViUHJvY2Vzc1BsdWdJ
bkJyb3dzZXJDb250ZXh0Q29udHJvbGxlci5tbSBpbiBTb3VyY2VzICovLAo=
</data>
<flag name="review"
          id="348373"
          type_id="1"
          status="-"
          setter="bburg"
    />
    <flag name="commit-queue"
          id="348374"
          type_id="3"
          status="-"
          setter="bburg"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>329321</attachid>
            <date>2017-12-13 20:46:59 -0800</date>
            <delta_ts>2017-12-13 20:50:13 -0800</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>reload-2.patch</filename>
            <type>text/plain</type>
            <size>23647</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggYmJiM2VkNzQwYTkuLmQ1YWJhOGNkZDUyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDM3IEBACisyMDE3LTEyLTEzICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+
CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQ21kLU9wdGlvbi1SIGluIGRvY2tlZCBpbnNwZWN0
b3IgY2F1c2VzIHRoZSBpbnNwZWN0b3IgdG8gcmVsb2FkIGluc3RlYWQgb2YgdGhlIGluc3BlY3Rl
ZCBwYWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
ODA3NzUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM1OTY0NTkyPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2o6CisgICAgICAgIFJlbW92ZSBvbGQgZmlsZXMgYWRkIG5ldyBmaWxlcy4KKwor
ICAgICAgICAqIFBsYXRmb3JtTWFjLmNtYWtlOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvV0tX
ZWJJbnNwZWN0b3JXS1dlYlZpZXcuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvbWFj
L1dLV2ViSW5zcGVjdG9yV0tXZWJWaWV3Lm1tOiBSZW1vdmVkLgorICAgICAgICBSZW1vdmUgdW51
c2VkIFdLV2ViSW5zcGVjdG9yV0tXZWJWaWV3LgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9D
b2NvYS9fV0tSZW1vdGVXZWJJbnNwZWN0b3JWaWV3Q29udHJvbGxlci5tbToKKyAgICAgICAgKiBV
SVByb2Nlc3MvbWFjL1dLSW5zcGVjdG9yVmlld0NvbnRyb2xsZXIubW06CisgICAgICAgICgtW1dL
SW5zcGVjdG9yVmlld0NvbnRyb2xsZXIgZGVhbGxvY10pOgorICAgICAgICAoLVtXS0luc3BlY3Rv
clZpZXdDb250cm9sbGVyIHdlYlZpZXddKToKKyAgICAgICAgKC1bV0tJbnNwZWN0b3JWaWV3Q29u
dHJvbGxlciBpbnNwZWN0b3JXS1dlYlZpZXdSZWxvYWQ6XSk6CisgICAgICAgICgtW1dLSW5zcGVj
dG9yVmlld0NvbnRyb2xsZXIgaW5zcGVjdG9yV0tXZWJWaWV3UmVsb2FkRnJvbU9yaWdpbjpdKToK
KyAgICAgICAgSGFuZGxlIFdLV2ViVmlldyBJQkFjdGlvbnMgc2VudCB0byB0aGUgaW5zcGVjdG9y
IGZyb250ZW5kIFdLV2ViVmlldy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvV0tJbnNwZWN0
b3JXS1dlYlZpZXcuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1dLSW5zcGVjdG9yV0tXZWJW
aWV3Lm1tOgorICAgICAgICAoLVtXS0luc3BlY3RvcldLV2ViVmlldyB0YWddKToKKyAgICAgICAg
KC1bV0tJbnNwZWN0b3JXS1dlYlZpZXcgaW5zcGVjdG9yV0tXZWJWaWV3RGVsZWdhdGVdKToKKyAg
ICAgICAgKC1bV0tJbnNwZWN0b3JXS1dlYlZpZXcgc2V0SW5zcGVjdG9yV0tXZWJWaWV3RGVsZWdh
dGU6XSk6CisgICAgICAgICgtW1dLSW5zcGVjdG9yV0tXZWJWaWV3IHJlbG9hZDpdKToKKyAgICAg
ICAgKC1bV0tJbnNwZWN0b3JXS1dlYlZpZXcgcmVsb2FkRnJvbU9yaWdpbjpdKToKKyAgICAgICAg
TW92ZSBXS0luc3BlY3RvcldLV2ViVmlldyBpbnRvIGl0cyBvd24gZmlsZS4gSW5jbHVkZSBhIGRl
bGVnYXRlCisgICAgICAgIHRvIGhhbmRsZSByZWxvYWQgSUJBY3Rpb25zIHRoYXQgd2lsbCB3YW50
IHRvIG92ZXJyaWRlLgorCiAyMDE3LTEyLTExICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFA
Z21haWwuY29tPgogCiAgICAgICAgIFtXVEZdIEFkZCBDb252ZXJ0ZXIgdHJhaXRzIHRvIFN0cmlu
Z0hhc2hlciBpbnN0ZWFkIG9mIGZ1bmN0aW9uIHBvaW50ZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvUGxhdGZvcm1NYWMuY21ha2UgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtTWFjLmNtYWtl
CmluZGV4IGVkMmFjYjIxOGIzLi5jZmJlN2YyZTljMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9QbGF0Zm9ybU1hYy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtTWFjLmNtYWtl
CkBAIC0zMTMsNyArMzEzLDYgQEAgbGlzdChBUFBFTkQgV2ViS2l0X1NPVVJDRVMKICAgICBVSVBy
b2Nlc3MvbWFjL1dLVGV4dEZpbmRlckNsaWVudC5tbQogICAgIFVJUHJvY2Vzcy9tYWMvV0tUZXh0
SW5wdXRXaW5kb3dDb250cm9sbGVyLm1tCiAgICAgVUlQcm9jZXNzL21hYy9XS1ZpZXdMYXlvdXRT
dHJhdGVneS5tbQotICAgIFVJUHJvY2Vzcy9tYWMvV0tXZWJJbnNwZWN0b3JXS1dlYlZpZXcubW0K
ICAgICBVSVByb2Nlc3MvbWFjL1dlYkNvbG9yUGlja2VyTWFjLm1tCiAgICAgVUlQcm9jZXNzL21h
Yy9XZWJDb250ZXh0TWVudVByb3h5TWFjLm1tCiAgICAgVUlQcm9jZXNzL21hYy9XZWJDb29raWVN
YW5hZ2VyUHJveHlNYWMubW0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9fV0tSZW1vdGVXZWJJbnNwZWN0b3JWaWV3Q29udHJvbGxlci5tbSBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tSZW1vdGVXZWJJbnNwZWN0b3JWaWV3Q29udHJv
bGxlci5tbQppbmRleCA4OTM3MjI0OWZlMS4uYmM5Y2U3ODUwZGIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tSZW1vdGVXZWJJbnNwZWN0b3JWaWV3Q29u
dHJvbGxlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLUmVt
b3RlV2ViSW5zcGVjdG9yVmlld0NvbnRyb2xsZXIubW0KQEAgLTI5LDcgKzI5LDYgQEAKICNpZiBQ
TEFURk9STShNQUMpICYmIFdLX0FQSV9FTkFCTEVECiAKICNpbXBvcnQgIlJlbW90ZVdlYkluc3Bl
Y3RvclByb3h5LmgiCi0jaW1wb3J0ICJXS1dlYkluc3BlY3RvcldLV2ViVmlldy5oIgogCiB1c2lu
ZyBuYW1lc3BhY2UgV2ViS2l0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9tYWMvV0tJbnNwZWN0b3JWaWV3Q29udHJvbGxlci5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL21hYy9XS0luc3BlY3RvclZpZXdDb250cm9sbGVyLm1tCmluZGV4IGFhNmIwYzZhNjRlLi40
MmViYjAzNzlkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dLSW5z
cGVjdG9yVmlld0NvbnRyb2xsZXIubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFj
L1dLSW5zcGVjdG9yVmlld0NvbnRyb2xsZXIubW0KQEAgLTI4LDcgKzI4LDkgQEAKIAogI2lmIFBM
QVRGT1JNKE1BQykgJiYgV0tfQVBJX0VOQUJMRUQKIAorI2ltcG9ydCAiVmVyc2lvbkNoZWNrcy5o
IgogI2ltcG9ydCAiV0tGcmFtZUluZm8uaCIKKyNpbXBvcnQgIldLSW5zcGVjdG9yV0tXZWJWaWV3
LmgiCiAjaW1wb3J0ICJXS05hdmlnYXRpb25BY3Rpb24uaCIKICNpbXBvcnQgIldLTmF2aWdhdGlv
bkRlbGVnYXRlLmgiCiAjaW1wb3J0ICJXS09wZW5QYW5lbFBhcmFtZXRlcnMuaCIKQEAgLTQyLDIz
ICs0NCw5IEBACiAjaW1wb3J0ICJXZWJJbnNwZWN0b3JVdGlsaXRpZXMuaCIKICNpbXBvcnQgIldl
YlBhZ2VQcm94eS5oIgogCi0vLyBGSVhNRTogdGhpcyBzaG91bGQgYmUgZGVjbGFyZWQgaW4gdGhl
IE9iakMgQVBJOyBjdXJyZW50bHkgaXQncyBpbiB0aGUgQyBTUEkuCi1jb25zdCBOU0ludGVnZXIg
V0tJbnNwZWN0b3JWaWV3VGFnID0gMTAwMDsKLQogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIAot
Ly8gQ2xpZW50cyBuZWVkIHRvIGJlIGFibGUgdG8gdGVsbCB3aGV0aGVyIGEgc3VidmlldyBpcyBh
IGRvY2tlZCBpbnNwZWN0b3Igdmlldywgc28gb3ZlcnJpZGUgdGhlIHRhZy4KLUBpbnRlcmZhY2Ug
V0tJbnNwZWN0b3JXS1dlYlZpZXcgOiBXS1dlYlZpZXcKLUBlbmQKLQotQGltcGxlbWVudGF0aW9u
IFdLSW5zcGVjdG9yV0tXZWJWaWV3Ci0tIChOU0ludGVnZXIpdGFnCi17Ci0gICAgcmV0dXJuIFdL
SW5zcGVjdG9yVmlld1RhZzsKLX0KLUBlbmQKLQotQGludGVyZmFjZSBXS0luc3BlY3RvclZpZXdD
b250cm9sbGVyICgpIDxXS1VJRGVsZWdhdGUsIFdLTmF2aWdhdGlvbkRlbGVnYXRlPgorQGludGVy
ZmFjZSBXS0luc3BlY3RvclZpZXdDb250cm9sbGVyICgpIDxXS1VJRGVsZWdhdGUsIFdLTmF2aWdh
dGlvbkRlbGVnYXRlLCBXS0luc3BlY3RvcldLV2ViVmlld0RlbGVnYXRlPgogQGVuZAogCiBAaW1w
bGVtZW50YXRpb24gV0tJbnNwZWN0b3JWaWV3Q29udHJvbGxlciB7CkBAIC04Myw2ICs3MSw3IEBA
IC0gKHZvaWQpZGVhbGxvYwogICAgIGlmIChfd2ViVmlldykgewogICAgICAgICBbX3dlYlZpZXcg
c2V0VUlEZWxlZ2F0ZTpuaWxdOwogICAgICAgICBbX3dlYlZpZXcgc2V0TmF2aWdhdGlvbkRlbGVn
YXRlOm5pbF07CisgICAgICAgIFtfd2ViVmlldyBzZXRJbnNwZWN0b3JXS1dlYlZpZXdEZWxlZ2F0
ZTpuaWxdOwogICAgICAgICBfd2ViVmlldyA9IG5pbDsKICAgICB9CiAKQEAgLTEwMiw2ICs5MSw3
IEBAIC0gKFdLV2ViVmlldyAqKXdlYlZpZXcKICAgICAgICAgX3dlYlZpZXcgPSBhZG9wdE5TKFtb
V0tJbnNwZWN0b3JXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6aW5pdGlhbEZyYW1lIGNv
bmZpZ3VyYXRpb246W3NlbGYgY29uZmlndXJhdGlvbl1dKTsKICAgICAgICAgW193ZWJWaWV3IHNl
dFVJRGVsZWdhdGU6c2VsZl07CiAgICAgICAgIFtfd2ViVmlldyBzZXROYXZpZ2F0aW9uRGVsZWdh
dGU6c2VsZl07CisgICAgICAgIFtfd2ViVmlldyBzZXRJbnNwZWN0b3JXS1dlYlZpZXdEZWxlZ2F0
ZTpzZWxmXTsKICAgICAgICAgW193ZWJWaWV3IF9zZXRBdXRvbWF0aWNhbGx5QWRqdXN0c0NvbnRl
bnRJbnNldHM6Tk9dOwogICAgICAgICBbX3dlYlZpZXcgc2V0QXV0b3Jlc2l6aW5nTWFzazpOU1Zp
ZXdXaWR0aFNpemFibGUgfCBOU1ZpZXdIZWlnaHRTaXphYmxlXTsKICAgICB9CkBAIC0yMzYsNiAr
MjI2LDI4IEBAIC0gKHZvaWQpd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBkZWNpZGVQb2xp
Y3lGb3JOYXZpZ2F0aW9uQWN0aW9uOihXS05hdmlnYXRpCiAgICAgZGVjaXNpb25IYW5kbGVyKFdL
TmF2aWdhdGlvbkFjdGlvblBvbGljeUNhbmNlbCk7CiB9CiAKKy8vIE1BUks6IFdLSW5zcGVjdG9y
V0tXZWJWaWV3RGVsZWdhdGUgbWV0aG9kcworCistICh2b2lkKWluc3BlY3RvcldLV2ViVmlld1Jl
bG9hZDooV0tJbnNwZWN0b3JXS1dlYlZpZXcgKil3ZWJWaWV3Cit7CisgICAgaWYgKCFfaW5zcGVj
dGVkUGFnZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgT3B0aW9uU2V0PFdlYkNvcmU6OlJlbG9h
ZE9wdGlvbj4gcmVsb2FkT3B0aW9uczsKKyAgICBpZiAobGlua2VkT25PckFmdGVyKFdlYktpdDo6
U0RLVmVyc2lvbjo6Rmlyc3RXaXRoRXhwaXJlZE9ubHlSZWxvYWRCZWhhdmlvcikpCisgICAgICAg
IHJlbG9hZE9wdGlvbnMgfD0gV2ViQ29yZTo6UmVsb2FkT3B0aW9uOjpFeHBpcmVkT25seTsKKwor
ICAgIF9pbnNwZWN0ZWRQYWdlLT5yZWxvYWQocmVsb2FkT3B0aW9ucyk7Cit9CisKKy0gKHZvaWQp
aW5zcGVjdG9yV0tXZWJWaWV3UmVsb2FkRnJvbU9yaWdpbjooV0tJbnNwZWN0b3JXS1dlYlZpZXcg
Kil3ZWJWaWV3Cit7CisgICAgaWYgKCFfaW5zcGVjdGVkUGFnZSkKKyAgICAgICAgcmV0dXJuOwor
CisgICAgX2luc3BlY3RlZFBhZ2UtPnJlbG9hZChXZWJDb3JlOjpSZWxvYWRPcHRpb246OkZyb21P
cmlnaW4pOworfQorCiBAZW5kCiAKICNlbmRpZiAvLyBQTEFURk9STShNQUMpICYmIFdLX0FQSV9F
TkFCTEVECmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV0tXZWJJbnNw
ZWN0b3JXS1dlYlZpZXcuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XS0luc3BlY3Rv
cldLV2ViVmlldy5oCnNpbWlsYXJpdHkgaW5kZXggNzQlCnJlbmFtZSBmcm9tIFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL21hYy9XS1dlYkluc3BlY3RvcldLV2ViVmlldy5oCnJlbmFtZSB0byBTb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV0tJbnNwZWN0b3JXS1dlYlZpZXcuaAppbmRleCBkY2M3
NTg5Yzc2ZS4uMGU3NWI5YWE3NTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L21hYy9XS1dlYkluc3BlY3RvcldLV2ViVmlldy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL21hYy9XS0luc3BlY3RvcldLV2ViVmlldy5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENv
cHlyaWdodCAoQykgMjAxMCwgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoK
ICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yOSwxMCArMjksMTYgQEAKIAogI2lmIFBM
QVRGT1JNKE1BQykgJiYgV0tfQVBJX0VOQUJMRUQKIAotQGludGVyZmFjZSBXS1dlYkluc3BlY3Rv
cldLV2ViVmlldyA6IFdLV2ViVmlldworQHByb3RvY29sIFdLSW5zcGVjdG9yV0tXZWJWaWV3RGVs
ZWdhdGU7CiAKLS0gKGluc3RhbmNldHlwZSlpbml0V2l0aEZyYW1lOihDR1JlY3QpZnJhbWUgY29u
ZmlndXJhdGlvbjooV0tXZWJWaWV3Q29uZmlndXJhdGlvbiAqKWNvbmZpZ3VyYXRpb247CitAaW50
ZXJmYWNlIFdLSW5zcGVjdG9yV0tXZWJWaWV3IDogV0tXZWJWaWV3CitAcHJvcGVydHkgKG5vbmF0
b21pYywgd2VhaykgaWQgPFdLSW5zcGVjdG9yV0tXZWJWaWV3RGVsZWdhdGU+IGluc3BlY3RvcldL
V2ViVmlld0RlbGVnYXRlOworQGVuZAogCitAcHJvdG9jb2wgV0tJbnNwZWN0b3JXS1dlYlZpZXdE
ZWxlZ2F0ZQorQHJlcXVpcmVkCistICh2b2lkKWluc3BlY3RvcldLV2ViVmlld1JlbG9hZDooV0tJ
bnNwZWN0b3JXS1dlYlZpZXcgKil3ZWJWaWV3OworLSAodm9pZClpbnNwZWN0b3JXS1dlYlZpZXdS
ZWxvYWRGcm9tT3JpZ2luOihXS0luc3BlY3RvcldLV2ViVmlldyAqKXdlYlZpZXc7CiBAZW5kCiAK
LSNlbmRpZgorI2VuZGlmIC8vIFBMQVRGT1JNKE1BQykgJiYgV0tfQVBJX0VOQUJMRUQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XS1dlYkluc3BlY3RvcldLV2ViVmll
dy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XS0luc3BlY3RvcldLV2ViVmlldy5t
bQpzaW1pbGFyaXR5IGluZGV4IDIyJQpyZW5hbWUgZnJvbSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9tYWMvV0tXZWJJbnNwZWN0b3JXS1dlYlZpZXcubW0KcmVuYW1lIHRvIFNvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL21hYy9XS0luc3BlY3RvcldLV2ViVmlldy5tbQppbmRleCAxMzVhYmJhMTU0Yi4u
M2NlZTJjMGM0ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XS1dl
Ykluc3BlY3RvcldLV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMv
V0tJbnNwZWN0b3JXS1dlYlZpZXcubW0KQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0
IChDKSAyMDEwLCAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHly
aWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI0LDE0OSArMjQsMTUgQEAKICAqLwogCiAjaW1wb3J0
ICJjb25maWcuaCIKLSNpbXBvcnQgIldLV2ViSW5zcGVjdG9yV0tXZWJWaWV3LmgiCisjaW1wb3J0
ICJXS0luc3BlY3RvcldLV2ViVmlldy5oIgogCiAjaWYgUExBVEZPUk0oTUFDKSAmJiBXS19BUElf
RU5BQkxFRAogCi0jaW1wb3J0ICJXS0FQSUNhc3QuaCIKICNpbXBvcnQgIldLSW5zcGVjdG9yUHJp
dmF0ZU1hYy5oIgotI2ltcG9ydCAiV0tNdXRhYmxlQXJyYXkuaCIKLSNpbXBvcnQgIldLT3BlblBh
bmVsUGFyYW1ldGVyc1JlZi5oIgotI2ltcG9ydCAiV0tPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lci5o
IgotI2ltcG9ydCAiV0tSZXRhaW5QdHIuaCIKLSNpbXBvcnQgIldLVVJMQ0YuaCIKLSNpbXBvcnQg
IldLV2ViVmlld0ludGVybmFsLmgiCi0jaW1wb3J0ICJXZWJQYWdlUHJveHkuaCIKKyNpbXBvcnQg
IldlYWtPYmpDUHRyLmgiCiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7Ci0KLW5hbWVzcGFjZSBX
ZWJLaXQgewotCi1zdGF0aWMgV0tSZWN0IGdldFdpbmRvd0ZyYW1lKFdLUGFnZVJlZiwgY29uc3Qg
dm9pZCogY2xpZW50SW5mbykKLXsKLSAgICBXS1dlYkluc3BlY3RvcldLV2ViVmlldyAqaW5zcGVj
dG9yV0tXZWJWaWV3ID0gc3RhdGljX2Nhc3Q8V0tXZWJJbnNwZWN0b3JXS1dlYlZpZXcgKj4oY29u
c3RfY2FzdDx2b2lkKj4oY2xpZW50SW5mbykpOwotICAgIEFTU0VSVChpbnNwZWN0b3JXS1dlYlZp
ZXcpOwotCi0gICAgaWYgKCFpbnNwZWN0b3JXS1dlYlZpZXcud2luZG93KQotICAgICAgICByZXR1
cm4gV0tSZWN0TWFrZSgwLCAwLCAwLCAwKTsKLQotICAgIE5TUmVjdCBmcmFtZSA9IGluc3BlY3Rv
cldLV2ViVmlldy5mcmFtZTsKLSAgICByZXR1cm4gV0tSZWN0TWFrZShmcmFtZS5vcmlnaW4ueCwg
ZnJhbWUub3JpZ2luLnksIGZyYW1lLnNpemUud2lkdGgsIGZyYW1lLnNpemUuaGVpZ2h0KTsKLX0K
LQotc3RhdGljIHZvaWQgc2V0V2luZG93RnJhbWUoV0tQYWdlUmVmLCBXS1JlY3QgZnJhbWUsIGNv
bnN0IHZvaWQqIGNsaWVudEluZm8pCi17Ci0gICAgV0tXZWJJbnNwZWN0b3JXS1dlYlZpZXcgKmlu
c3BlY3RvcldLV2ViVmlldyA9IHN0YXRpY19jYXN0PFdLV2ViSW5zcGVjdG9yV0tXZWJWaWV3ICo+
KGNvbnN0X2Nhc3Q8dm9pZCo+KGNsaWVudEluZm8pKTsKLSAgICBBU1NFUlQoaW5zcGVjdG9yV0tX
ZWJWaWV3KTsKLQotICAgIGlmICghaW5zcGVjdG9yV0tXZWJWaWV3LndpbmRvdykKLSAgICAgICAg
cmV0dXJuOwotCi0gICAgW2luc3BlY3RvcldLV2ViVmlldy53aW5kb3cgc2V0RnJhbWU6TlNNYWtl
UmVjdChmcmFtZS5vcmlnaW4ueCwgZnJhbWUub3JpZ2luLnksIGZyYW1lLnNpemUud2lkdGgsIGZy
YW1lLnNpemUuaGVpZ2h0KSBkaXNwbGF5OllFU107Ci19Ci0KLXN0YXRpYyB1bnNpZ25lZCBsb25n
IGxvbmcgZXhjZWVkZWREYXRhYmFzZVF1b3RhKFdLUGFnZVJlZiwgV0tGcmFtZVJlZiwgV0tTZWN1
cml0eU9yaWdpblJlZiwgV0tTdHJpbmdSZWYsIFdLU3RyaW5nUmVmLCB1bnNpZ25lZCBsb25nIGxv
bmcsIHVuc2lnbmVkIGxvbmcgbG9uZywgdW5zaWduZWQgbG9uZyBsb25nIGN1cnJlbnREYXRhYmFz
ZVVzYWdlLCB1bnNpZ25lZCBsb25nIGxvbmcgZXhwZWN0ZWRVc2FnZSwgY29uc3Qgdm9pZCopCi17
Ci0gICAgcmV0dXJuIHN0ZDo6bWF4PHVuc2lnbmVkIGxvbmcgbG9uZz4oZXhwZWN0ZWRVc2FnZSwg
Y3VycmVudERhdGFiYXNlVXNhZ2UgKiAxLjI1KTsKLX0KLQotc3RhdGljIHZvaWQgcnVuT3BlblBh
bmVsKFdLUGFnZVJlZiBwYWdlLCBXS0ZyYW1lUmVmIGZyYW1lLCBXS09wZW5QYW5lbFBhcmFtZXRl
cnNSZWYgcGFyYW1ldGVycywgV0tPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lclJlZiBsaXN0ZW5lciwg
Y29uc3Qgdm9pZCogY2xpZW50SW5mbykKLXsKLSAgICBXS1dlYkluc3BlY3RvcldLV2ViVmlldyAq
aW5zcGVjdG9yV0tXZWJWaWV3ID0gc3RhdGljX2Nhc3Q8V0tXZWJJbnNwZWN0b3JXS1dlYlZpZXcg
Kj4oY29uc3RfY2FzdDx2b2lkKj4oY2xpZW50SW5mbykpOwotICAgIEFTU0VSVChpbnNwZWN0b3JX
S1dlYlZpZXcpOwotCi0gICAgTlNPcGVuUGFuZWwgKm9wZW5QYW5lbCA9IFtOU09wZW5QYW5lbCBv
cGVuUGFuZWxdOwotICAgIFtvcGVuUGFuZWwgc2V0QWxsb3dzTXVsdGlwbGVTZWxlY3Rpb246V0tP
cGVuUGFuZWxQYXJhbWV0ZXJzR2V0QWxsb3dzTXVsdGlwbGVGaWxlcyhwYXJhbWV0ZXJzKV07Ci0K
LSAgICBXS1JldGFpbihsaXN0ZW5lcik7Ci0KLSAgICBhdXRvIGNvbXBsZXRpb25IYW5kbGVyID0g
XihOU0ludGVnZXIgcmVzdWx0KSB7Ci0gICAgICAgIGlmIChyZXN1bHQgPT0gTlNNb2RhbFJlc3Bv
bnNlT0spIHsKLSAgICAgICAgICAgIFdLUmV0YWluUHRyPFdLTXV0YWJsZUFycmF5UmVmPiBmaWxl
VVJMcyA9IGFkb3B0V0soV0tNdXRhYmxlQXJyYXlDcmVhdGUoKSk7Ci0KLSAgICAgICAgICAgIGZv
ciAoTlNVUkwqIG5zVVJMIGluIFtvcGVuUGFuZWwgVVJMc10pIHsKLSAgICAgICAgICAgICAgICBX
S1JldGFpblB0cjxXS1VSTFJlZj4gd2tVUkwgPSBhZG9wdFdLKFdLVVJMQ3JlYXRlV2l0aENGVVJM
KHJlaW50ZXJwcmV0X2Nhc3Q8Q0ZVUkxSZWY+KG5zVVJMKSkpOwotICAgICAgICAgICAgICAgIFdL
QXJyYXlBcHBlbmRJdGVtKGZpbGVVUkxzLmdldCgpLCB3a1VSTC5nZXQoKSk7Ci0gICAgICAgICAg
ICB9Ci0KLSAgICAgICAgICAgIFdLT3BlblBhbmVsUmVzdWx0TGlzdGVuZXJDaG9vc2VGaWxlcyhs
aXN0ZW5lciwgZmlsZVVSTHMuZ2V0KCkpOwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIFdL
T3BlblBhbmVsUmVzdWx0TGlzdGVuZXJDYW5jZWwobGlzdGVuZXIpOwotCi0gICAgICAgIFdLUmVs
ZWFzZShsaXN0ZW5lcik7Ci0gICAgfTsKLQotICAgIGlmIChpbnNwZWN0b3JXS1dlYlZpZXcud2lu
ZG93KQotICAgICAgICBbb3BlblBhbmVsIGJlZ2luU2hlZXRNb2RhbEZvcldpbmRvdzppbnNwZWN0
b3JXS1dlYlZpZXcud2luZG93IGNvbXBsZXRpb25IYW5kbGVyOmNvbXBsZXRpb25IYW5kbGVyXTsK
LSAgICBlbHNlCi0gICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKFtvcGVuUGFuZWwgcnVuTW9kYWxd
KTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViS2l0Ci0KLUBpbXBsZW1lbnRhdGlvbiBXS1dlYklu
c3BlY3RvcldLV2ViVmlldwotCi0tIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhGcmFtZTooQ0dSZWN0
KWZyYW1lIGNvbmZpZ3VyYXRpb246KFdLV2ViVmlld0NvbmZpZ3VyYXRpb24gKiljb25maWd1cmF0
aW9uCi17Ci0gICAgaWYgKCEoc2VsZiA9IFtzdXBlciBpbml0V2l0aEZyYW1lOmZyYW1lIGNvbmZp
Z3VyYXRpb246Y29uZmlndXJhdGlvbl0pKQotICAgICAgICByZXR1cm4gbmlsOwotCi0gICAgW3Nl
bGYgX3NldEF1dG9tYXRpY2FsbHlBZGp1c3RzQ29udGVudEluc2V0czpOT107Ci0KLSAgICBXS1Bh
Z2VVSUNsaWVudFYyIHVpQ2xpZW50ID0gewotICAgICAgICB7IDIsIHNlbGYgfSwKLSAgICAgICAg
bnVsbHB0ciwgLy8gY3JlYXRlTmV3UGFnZV9kZXByZWNhdGVkRm9yVXNlV2l0aFYwCi0gICAgICAg
IG51bGxwdHIsIC8vIHNob3dQYWdlCi0gICAgICAgIG51bGxwdHIsIC8vIGNsb3NlUGFnZQotICAg
ICAgICBudWxscHRyLCAvLyB0YWtlRm9jdXMKLSAgICAgICAgbnVsbHB0ciwgLy8gZm9jdXMKLSAg
ICAgICAgbnVsbHB0ciwgLy8gdW5mb2N1cwotICAgICAgICBudWxscHRyLCAvLyBydW5KYXZhU2Ny
aXB0QWxlcnQKLSAgICAgICAgbnVsbHB0ciwgLy8gcnVuSmF2YVNjcmlwdENvbmZpcm0KLSAgICAg
ICAgbnVsbHB0ciwgLy8gcnVuSmF2YVNjcmlwdFByb21wdAotICAgICAgICBudWxscHRyLCAvLyBz
ZXRTdGF0dXNUZXh0Ci0gICAgICAgIG51bGxwdHIsIC8vIG1vdXNlRGlkTW92ZU92ZXJFbGVtZW50
X2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjAKLSAgICAgICAgbnVsbHB0ciwgLy8gbWlzc2luZ1BsdWdp
bkJ1dHRvbkNsaWNrZWRfZGVwcmVjYXRlZEZvclVzZVdpdGhWMAotICAgICAgICBudWxscHRyLCAv
LyBkaWROb3RIYW5kbGVLZXlFdmVudAotICAgICAgICBudWxscHRyLCAvLyBkaWROb3RIYW5kbGVX
aGVlbEV2ZW50Ci0gICAgICAgIG51bGxwdHIsIC8vIGFyZVRvb2xiYXJzVmlzaWJsZQotICAgICAg
ICBudWxscHRyLCAvLyBzZXRUb29sYmFyc1Zpc2libGUKLSAgICAgICAgbnVsbHB0ciwgLy8gaXNN
ZW51QmFyVmlzaWJsZQotICAgICAgICBudWxscHRyLCAvLyBzZXRNZW51QmFyVmlzaWJsZQotICAg
ICAgICBudWxscHRyLCAvLyBpc1N0YXR1c0JhclZpc2libGUKLSAgICAgICAgbnVsbHB0ciwgLy8g
c2V0U3RhdHVzQmFyVmlzaWJsZQotICAgICAgICBudWxscHRyLCAvLyBpc1Jlc2l6YWJsZQotICAg
ICAgICBudWxscHRyLCAvLyBzZXRSZXNpemFibGUKLSAgICAgICAgZ2V0V2luZG93RnJhbWUsCi0g
ICAgICAgIHNldFdpbmRvd0ZyYW1lLAotICAgICAgICBudWxscHRyLCAvLyBydW5CZWZvcmVVbmxv
YWRDb25maXJtUGFuZWwKLSAgICAgICAgbnVsbHB0ciwgLy8gZGlkRHJhdwotICAgICAgICBudWxs
cHRyLCAvLyBwYWdlRGlkU2Nyb2xsCi0gICAgICAgIGV4Y2VlZGVkRGF0YWJhc2VRdW90YSwKLSAg
ICAgICAgcnVuT3BlblBhbmVsLAotICAgICAgICBudWxscHRyLCAvLyBkZWNpZGVQb2xpY3lGb3JH
ZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0Ci0gICAgICAgIG51bGxwdHIsIC8vIGhlYWRlckhl
aWdodAotICAgICAgICBudWxscHRyLCAvLyBmb290ZXJIZWlnaHQKLSAgICAgICAgbnVsbHB0ciwg
Ly8gZHJhd0hlYWRlcgotICAgICAgICBudWxscHRyLCAvLyBkcmF3Rm9vdGVyCi0gICAgICAgIG51
bGxwdHIsIC8vIHByaW50RnJhbWUKLSAgICAgICAgbnVsbHB0ciwgLy8gcnVuTW9kYWwKLSAgICAg
ICAgbnVsbHB0ciwgLy8gdW51c2VkCi0gICAgICAgIG51bGxwdHIsIC8vIHNhdmVEYXRhVG9GaWxl
SW5Eb3dubG9hZHNGb2xkZXIKLSAgICAgICAgbnVsbHB0ciwgLy8gc2hvdWxkSW50ZXJydXB0SmF2
YVNjcmlwdAotICAgICAgICBudWxscHRyLCAvLyBjcmVhdGVQYWdlCi0gICAgICAgIG51bGxwdHIs
IC8vIG1vdXNlRGlkTW92ZU92ZXJFbGVtZW50Ci0gICAgICAgIG51bGxwdHIsIC8vIGRlY2lkZVBv
bGljeUZvck5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0Ci0gICAgICAgIG51bGxwdHIsIC8v
IHVuYXZhaWxhYmxlUGx1Z2luQnV0dG9uQ2xpY2tlZF9kZXByZWNhdGVkRm9yVXNlV2l0aFYxCi0g
ICAgICAgIG51bGxwdHIsIC8vIHNob3dDb2xvclBpY2tlcgotICAgICAgICBudWxscHRyLCAvLyBo
aWRlQ29sb3JQaWNrZXIKLSAgICAgICAgbnVsbHB0ciwgLy8gdW5hdmFpbGFibGVQbHVnaW5CdXR0
b25DbGlja2VkCi0gICAgfTsKLQotICAgIFdlYlBhZ2VQcm94eSogaW5zcGVjdG9yUGFnZSA9IHNl
bGYtPl9wYWdlLmdldCgpOwotICAgIFdLUGFnZVNldFBhZ2VVSUNsaWVudCh0b0FQSShpbnNwZWN0
b3JQYWdlKSwgJnVpQ2xpZW50LmJhc2UpOwotCi0gICAgcmV0dXJuIHNlbGY7CitAaW1wbGVtZW50
YXRpb24gV0tJbnNwZWN0b3JXS1dlYlZpZXcgeworICAgIFdlYktpdDo6V2Vha09iakNQdHI8aWQg
PFdLSW5zcGVjdG9yV0tXZWJWaWV3RGVsZWdhdGU+PiBfaW5zcGVjdG9yV0tXZWJWaWV3RGVsZWdh
dGU7CiB9CiAKIC0gKE5TSW50ZWdlcil0YWcKQEAgLTE3NCw2ICs0MCwyNiBAQCAtIChOU0ludGVn
ZXIpdGFnCiAgICAgcmV0dXJuIFdLSW5zcGVjdG9yVmlld1RhZzsKIH0KIAorLSAoaWQgPFdLSW5z
cGVjdG9yV0tXZWJWaWV3RGVsZWdhdGU+KWluc3BlY3RvcldLV2ViVmlld0RlbGVnYXRlCit7Cisg
ICAgcmV0dXJuIF9pbnNwZWN0b3JXS1dlYlZpZXdEZWxlZ2F0ZS5nZXRBdXRvcmVsZWFzZWQoKTsK
K30KKworLSAodm9pZClzZXRJbnNwZWN0b3JXS1dlYlZpZXdEZWxlZ2F0ZTooaWQgPFdLSW5zcGVj
dG9yV0tXZWJWaWV3RGVsZWdhdGU+KWRlbGVnYXRlCit7CisgICAgX2luc3BlY3RvcldLV2ViVmll
d0RlbGVnYXRlID0gZGVsZWdhdGU7Cit9CisKKy0gKElCQWN0aW9uKXJlbG9hZDooaWQpc2VuZGVy
Cit7CisgICAgW3NlbGYuaW5zcGVjdG9yV0tXZWJWaWV3RGVsZWdhdGUgaW5zcGVjdG9yV0tXZWJW
aWV3UmVsb2FkOnNlbGZdOworfQorCistIChJQkFjdGlvbilyZWxvYWRGcm9tT3JpZ2luOihpZClz
ZW5kZXIKK3sKKyAgICBbc2VsZi5pbnNwZWN0b3JXS1dlYlZpZXdEZWxlZ2F0ZSBpbnNwZWN0b3JX
S1dlYlZpZXdSZWxvYWRGcm9tT3JpZ2luOnNlbGZdOworfQorCiBAZW5kCiAKLSNlbmRpZiAvLyBQ
TEFURk9STShNQUMpCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCmluZGV4IGQ3MzA5ZjYwMWMzLi4wNDdhYzI2ZTk2MSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xNTQyLDYg
KzE1NDIsOCBAQAogCQlBMUZCNjgyNDFGNkU1MTgyMDBDNDNGOUYgLyogV0tDcmFzaFJlcG9ydGVy
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMUZCNjgy
MjFGNkU1MTgyMDBDNDNGOUYgLyogV0tDcmFzaFJlcG9ydGVyLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQTFGQjY4MjUxRjZFNTE4MjAwQzQzRjlG
IC8qIFdLQ3Jhc2hSZXBvcnRlci5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEExRkI2ODIzMUY2RTUxODIwMEM0M0Y5RiAvKiBXS0NyYXNoUmVwb3J0ZXIu
bW0gKi87IH07CiAJCUExRkI2ODI3MUY2RTUxQzEwMEM0M0Y5RiAvKiBDcmFzaFJlcG9ydGVyQ2xp
ZW50U1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBB
MUZCNjgyNjFGNkU1MUMxMDBDNDNGOUYgLyogQ3Jhc2hSZXBvcnRlckNsaWVudFNQSS5oICovOyB9
OworCQlBNTE4QjVEMjFGRTFENTVCMDBGOUZBMjggLyogV0tJbnNwZWN0b3JXS1dlYlZpZXcuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1MThCNUQwMUZF
MUQ1NUIwMEY5RkEyOCAvKiBXS0luc3BlY3RvcldLV2ViVmlldy5oICovOyB9OworCQlBNTE4QjVE
MzFGRTFENTVCMDBGOUZBMjggLyogV0tJbnNwZWN0b3JXS1dlYlZpZXcubW0gaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTE4QjVEMTFGRTFENTVCMDBGOUZB
MjggLyogV0tJbnNwZWN0b3JXS1dlYlZpZXcubW0gKi87IH07CiAJCUE1NDI5M0E0MTk1QTQzREEw
MDI3ODJDNyAvKiBXS0luc3BlY3Rvck5vZGVTZWFyY2hHZXN0dXJlUmVjb2duaXplci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTU0MjkzQTIxOTVBNDND
NjAwMjc4MkM3IC8qIFdLSW5zcGVjdG9yTm9kZVNlYXJjaEdlc3R1cmVSZWNvZ25pemVyLmggKi87
IH07CiAJCUE1NDI5M0E1MTk1QTQzREQwMDI3ODJDNyAvKiBXS0luc3BlY3Rvck5vZGVTZWFyY2hH
ZXN0dXJlUmVjb2duaXplci5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEE1NDI5M0EzMTk1QTQzQzYwMDI3ODJDNyAvKiBXS0luc3BlY3Rvck5vZGVTZWFy
Y2hHZXN0dXJlUmVjb2duaXplci5tbSAqLzsgfTsKIAkJQTU1QkE4MTAxQkExMzE3RTAwN0NEMzNE
IC8qIF9XS1JlbW90ZVdlYkluc3BlY3RvclZpZXdDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTVCQTgwQzFCQTEyQkUxMDA3Q0QzM0Qg
LyogX1dLUmVtb3RlV2ViSW5zcGVjdG9yVmlld0NvbnRyb2xsZXIuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMTU1OCw4ICsxNTYwLDYgQEAKIAkJ
QTU1QkE4MzYxQkEzRTcwRDAwN0NEMzNEIC8qIFdlYkluc3BlY3RvckZyb250ZW5kQVBJRGlzcGF0
Y2hlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBB
NTVCQTgzMjFCQTNFNkZBMDA3Q0QzM0QgLyogV2ViSW5zcGVjdG9yRnJvbnRlbmRBUElEaXNwYXRj
aGVyLmNwcCAqLzsgfTsKIAkJQTU4QjZGMDgxOEZDQTczMzAwOENCQTUzIC8qIFdLRmlsZVVwbG9h
ZFBhbmVsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBB
NThCNkYwNjE4RkNBNzMzMDA4Q0JBNTMgLyogV0tGaWxlVXBsb2FkUGFuZWwuaCAqLzsgfTsKIAkJ
QTU4QjZGMDkxOEZDQTczMzAwOENCQTUzIC8qIFdLRmlsZVVwbG9hZFBhbmVsLm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTU4QjZGMDcxOEZDQTczMzAw
OENCQTUzIC8qIFdLRmlsZVVwbG9hZFBhbmVsLm1tICovOyB9OwotCQlBNUQzNTA0QjFENzUyMTE2
MDA1MTI0QTkgLyogV0tXZWJJbnNwZWN0b3JXS1dlYlZpZXcuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1RDM1MDQ5MUQ3NTIxMTYwMDUxMjRBOSAvKiBX
S1dlYkluc3BlY3RvcldLV2ViVmlldy5oICovOyB9OwotCQlBNUQzNTA0QzFENzUyMTE2MDA1MTI0
QTkgLyogV0tXZWJJbnNwZWN0b3JXS1dlYlZpZXcubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUQzNTA0QTFENzUyMTE2MDA1MTI0QTkgLyogV0tXZWJJ
bnNwZWN0b3JXS1dlYlZpZXcubW0gKi87IH07CiAJCUE1RDM1MDRFMUQ3OEY1QjMwMDUxMjRBOSAv
KiBSZW1vdGVXZWJJbnNwZWN0b3JQcm94eU1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1RDM1MDREMUQ3OEYwRDIwMDUxMjRBOSAvKiBSZW1vdGVX
ZWJJbnNwZWN0b3JQcm94eU1hYy5tbSAqLzsgfTsKIAkJQTVFRkQzOEMxNkIwRTg4QzAwQjJGMEU4
IC8qIFdLUGFnZVZpc2liaWxpdHlUeXBlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQTVFRkQzOEIxNkIwRTg4QzAwQjJGMEU4IC8qIFdLUGFnZVZpc2li
aWxpdHlUeXBlcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCUE3OENDRERBMTkzQUM5RjQwMDVFQ0MyNSAvKiBjb20uYXBwbGUuV2ViS2l0LkRhdGFi
YXNlcy5zYiBpbiBDb3B5RmlsZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QTc4Q0NERDcxOTNBQzlFMzAwNUVDQzI1IC8qIGNvbS5hcHBsZS5XZWJLaXQuRGF0YWJhc2VzLnNi
ICovOyB9OwpAQCAtMzk2Miw2ICszOTYyLDggQEAKIAkJQTFGQjY4MjIxRjZFNTE4MjAwQzQzRjlG
IC8qIFdLQ3Jhc2hSZXBvcnRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS0NyYXNoUmVwb3J0ZXIuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTFGQjY4MjMxRjZFNTE4MjAwQzQzRjlGIC8q
IFdLQ3Jhc2hSZXBvcnRlci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdLQ3Jhc2hSZXBvcnRl
ci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTFGQjY4MjYxRjZFNTFDMTAwQzQz
RjlGIC8qIENyYXNoUmVwb3J0ZXJDbGllbnRTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ3Jhc2hSZXBv
cnRlckNsaWVudFNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNTE4QjVEMDFG
RTFENTVCMDBGOUZBMjggLyogV0tJbnNwZWN0b3JXS1dlYlZpZXcuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
V0tJbnNwZWN0b3JXS1dlYlZpZXcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTUx
OEI1RDExRkUxRDU1QjAwRjlGQTI4IC8qIFdLSW5zcGVjdG9yV0tXZWJWaWV3Lm1tICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
b2JqY3BwOyBwYXRoID0gV0tJbnNwZWN0b3JXS1dlYlZpZXcubW07IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUE1NDI5M0EyMTk1QTQzQzYwMDI3ODJDNyAvKiBXS0luc3BlY3Rvck5vZGVT
ZWFyY2hHZXN0dXJlUmVjb2duaXplci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBXS0luc3BlY3Rvck5vZGVT
ZWFyY2hHZXN0dXJlUmVjb2duaXplci5oOyBwYXRoID0gaW9zL1dLSW5zcGVjdG9yTm9kZVNlYXJj
aEdlc3R1cmVSZWNvZ25pemVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE1NDI5
M0EzMTk1QTQzQzYwMDI3ODJDNyAvKiBXS0luc3BlY3Rvck5vZGVTZWFyY2hHZXN0dXJlUmVjb2du
aXplci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IFdLSW5zcGVjdG9yTm9kZVNlYXJjaEdlc3R1
cmVSZWNvZ25pemVyLm1tOyBwYXRoID0gaW9zL1dLSW5zcGVjdG9yTm9kZVNlYXJjaEdlc3R1cmVS
ZWNvZ25pemVyLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNTVCQTgwQzFCQTEy
QkUxMDA3Q0QzM0QgLyogX1dLUmVtb3RlV2ViSW5zcGVjdG9yVmlld0NvbnRyb2xsZXIuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gX1dLUmVtb3RlV2ViSW5zcGVjdG9yVmlld0Nv
bnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTM5ODAsOCArMzk4Miw2
IEBACiAJCUE1NUJBODMzMUJBM0U2RkEwMDdDRDMzRCAvKiBXZWJJbnNwZWN0b3JGcm9udGVuZEFQ
SURpc3BhdGNoZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViSW5zcGVj
dG9yRnJvbnRlbmRBUElEaXNwYXRjaGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUE1OEI2RjA2MThGQ0E3MzMwMDhDQkE1MyAvKiBXS0ZpbGVVcGxvYWRQYW5lbC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBXS0ZpbGVVcGxvYWRQYW5lbC5oOyBwYXRoID0gaW9z
L2Zvcm1zL1dLRmlsZVVwbG9hZFBhbmVsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUE1OEI2RjA3MThGQ0E3MzMwMDhDQkE1MyAvKiBXS0ZpbGVVcGxvYWRQYW5lbC5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IFdLRmlsZVVwbG9hZFBhbmVsLm1tOyBw
YXRoID0gaW9zL2Zvcm1zL1dLRmlsZVVwbG9hZFBhbmVsLm1tOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwotCQlBNUQzNTA0OTFENzUyMTE2MDA1MTI0QTkgLyogV0tXZWJJbnNwZWN0b3JXS1dl
YlZpZXcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tXZWJJbnNwZWN0b3JX
S1dlYlZpZXcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQTVEMzUwNEExRDc1MjEx
NjAwNTEyNEE5IC8qIFdLV2ViSW5zcGVjdG9yV0tXZWJWaWV3Lm1tICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAub2JqY3BwOyBwYXRoID0gV0tXZWJJbnNwZWN0b3JXS1dlYlZpZXcubW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE1RDM1MDREMUQ3OEYwRDIwMDUxMjRBOSAvKiBSZW1v
dGVXZWJJbnNwZWN0b3JQcm94eU1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgcGF0aCA9IFJlbW90ZVdlYkluc3BlY3RvclByb3h5TWFjLm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlBNUVGRDM4QjE2QjBFODhDMDBCMkYwRTggLyogV0tQYWdlVmlzaWJpbGl0
eVR5cGVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLUGFnZVZpc2liaWxp
dHlUeXBlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNzJENUQ3RjEyMzZDQkE4
MDBBODhCMTUgLyogQVBJU2VyaWFsaXplZFNjcmlwdFZhbHVlLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEFQSVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtNzkxOCw2ICs3OTE4LDggQEAKIAkJCQk5MzIxRDU4NzFBMzhFRTc0
MDA4MDUyQkUgLyogV0tJbW1lZGlhdGVBY3Rpb25Db250cm9sbGVyLm1tICovLAogCQkJCTk5NEJB
REYxMUY3RDc3RUEwMEI1NzFFNyAvKiBXS0luc3BlY3RvclZpZXdDb250cm9sbGVyLmggKi8sCiAJ
CQkJOTk0QkFERjIxRjdENzdFQjAwQjU3MUU3IC8qIFdLSW5zcGVjdG9yVmlld0NvbnRyb2xsZXIu
bW0gKi8sCisJCQkJQTUxOEI1RDAxRkUxRDU1QjAwRjlGQTI4IC8qIFdLSW5zcGVjdG9yV0tXZWJW
aWV3LmggKi8sCisJCQkJQTUxOEI1RDExRkUxRDU1QjAwRjlGQTI4IC8qIFdLSW5zcGVjdG9yV0tX
ZWJWaWV3Lm1tICovLAogCQkJCTBGQ0I0RTVDMThCQkUzRDkwMDBGQ0ZDOSAvKiBXS1ByaW50aW5n
Vmlldy5oICovLAogCQkJCTBGQ0I0RTVEMThCQkUzRDkwMDBGQ0ZDOSAvKiBXS1ByaW50aW5nVmll
dy5tbSAqLywKIAkJCQk1MTNFNDYyQjFBRDgzNzU2MDAxNjIzNEEgLyogV0tTaGFyaW5nU2Vydmlj
ZVBpY2tlckRlbGVnYXRlLmggKi8sCkBAIC03OTI4LDggKzc5MzAsNiBAQAogCQkJCTBGQ0I0RTVG
MThCQkUzRDkwMDBGQ0ZDOSAvKiBXS1RleHRJbnB1dFdpbmRvd0NvbnRyb2xsZXIubW0gKi8sCiAJ
CQkJMkQyOEE0OTUxQUY5NjVBMTAwRjE5MEM5IC8qIFdLVmlld0xheW91dFN0cmF0ZWd5LmggKi8s
CiAJCQkJMkQyOEE0OTYxQUY5NjVBMTAwRjE5MEM5IC8qIFdLVmlld0xheW91dFN0cmF0ZWd5Lm1t
ICovLAotCQkJCUE1RDM1MDQ5MUQ3NTIxMTYwMDUxMjRBOSAvKiBXS1dlYkluc3BlY3RvcldLV2Vi
Vmlldy5oICovLAotCQkJCUE1RDM1MDRBMUQ3NTIxMTYwMDUxMjRBOSAvKiBXS1dlYkluc3BlY3Rv
cldLV2ViVmlldy5tbSAqLywKIAkJCSk7CiAJCQlwYXRoID0gbWFjOwogCQkJc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsKQEAgLTkzNDAsNiArOTM0MCw3IEBACiAJCQkJQTU0MjkzQTQxOTVBNDNEQTAw
Mjc4MkM3IC8qIFdLSW5zcGVjdG9yTm9kZVNlYXJjaEdlc3R1cmVSZWNvZ25pemVyLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk2RUU4NDlDODEzNjhEOTM5MDAzOEQ0ODEgLyogV0tJbnNwZWN0b3JQcml2
YXRlTWFjLmggaW4gSGVhZGVycyAqLywKIAkJCQk5OTRCQURGNDFGN0Q3ODE0MDBCNTcxRTcgLyog
V0tJbnNwZWN0b3JWaWV3Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTUxOEI1RDIx
RkUxRDU1QjAwRjlGQTI4IC8qIFdLSW5zcGVjdG9yV0tXZWJWaWV3LmggaW4gSGVhZGVycyAqLywK
IAkJCQk1MUE5RTEwQjEzMTVDRDE4MDA5RTcwMzEgLyogV0tLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2Vy
LmggaW4gSGVhZGVycyAqLywKIAkJCQkyRDc5MEE5RjFBRDcxNjQ5MDBBQjkwQjMgLyogV0tMYXlv
dXRNb2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQlDOThDNDhBQTFCNkZENUI1MDAxNDUxMDMgLyog
V0tNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXIuaCBpbiBIZWFkZXJzICovLApAQCAtOTQ5Miw3ICs5
NDkzLDYgQEAKIAkJCQlCRkE2MTc5RjEyRjBCOTlEMDAzM0UwQ0EgLyogV0tWaWV3UHJpdmF0ZS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQzVFMUFGRTkxNkIyMEI3NTAwNkNDMUYyIC8qIFdLV2ViQXJj
aGl2ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzVFMUFGRUIxNkIyMEI3RTAwNkNDMUYyIC8qIFdL
V2ViQXJjaGl2ZVJlc291cmNlLmggaW4gSGVhZGVycyAqLywKLQkJCQlBNUQzNTA0QjFENzUyMTE2
MDA1MTI0QTkgLyogV0tXZWJJbnNwZWN0b3JXS1dlYlZpZXcuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTFBQTJFNTY3MThENzc1MDgwMDM4MTRCRCAvKiBXS1dlYlByb2Nlc3NCdW5kbGVQYXJhbWV0ZXJz
LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzk4OUQ4MjE2MUE3RTVEMDAwRDQ2RDMgLyogV0tXZWJQ
cm9jZXNzUGx1Z0luLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzhGMkYyQjE2MjczQTJDMDA1RkFD
QjUgLyogV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyLmggaW4gSGVh
ZGVycyAqLywKQEAgLTEwOTYwLDYgKzEwOTYwLDcgQEAKIAkJCQkwRjNDNzI1QzE5NkY2MDUyMDBB
RUREMEMgLyogV0tJbnNwZWN0b3JIaWdobGlnaHRWaWV3Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QTU0MjkzQTUxOTVBNDNERDAwMjc4MkM3IC8qIFdLSW5zcGVjdG9yTm9kZVNlYXJjaEdlc3R1cmVS
ZWNvZ25pemVyLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJOTk0QkFERjMxRjdENzgxMTAwQjU3MUU3
IC8qIFdLSW5zcGVjdG9yVmlld0NvbnRyb2xsZXIubW0gaW4gU291cmNlcyAqLywKKwkJCQlBNTE4
QjVEMzFGRTFENTVCMDBGOUZBMjggLyogV0tJbnNwZWN0b3JXS1dlYlZpZXcubW0gaW4gU291cmNl
cyAqLywKIAkJCQk1MUE5RTEwQTEzMTVDRDE4MDA5RTcwMzEgLyogV0tLZXlWYWx1ZVN0b3JhZ2VN
YW5hZ2VyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUM5OEM0OEE5MUI2RkQ1QjUwMDE0NTEwMyAv
KiBXS01lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDOUNE
NDM5RTFCNEIwMjUzMDAyMzlFMzMgLyogV0tNZWRpYVNlc3Npb25NZXRhZGF0YS5jcHAgaW4gU291
cmNlcyAqLywKQEAgLTExMDUzLDcgKzExMDU0LDYgQEAKIAkJCQkyRDI4QTQ5ODFBRjk2NUEyMDBG
MTkwQzkgLyogV0tWaWV3TGF5b3V0U3RyYXRlZ3kubW0gaW4gU291cmNlcyAqLywKIAkJCQlDNUUx
QUZFODE2QjIwQjY3MDA2Q0MxRjIgLyogV0tXZWJBcmNoaXZlLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUM1RTFBRkVBMTZCMjBCN0IwMDZDQzFGMiAvKiBXS1dlYkFyY2hpdmVSZXNvdXJjZS5jcHAg
aW4gU291cmNlcyAqLywKLQkJCQlBNUQzNTA0QzFENzUyMTE2MDA1MTI0QTkgLyogV0tXZWJJbnNw
ZWN0b3JXS1dlYlZpZXcubW0gaW4gU291cmNlcyAqLywKIAkJCQkxQUEyRTU2NjE4RDc3NTA4MDAz
ODE0QkQgLyogV0tXZWJQcm9jZXNzQnVuZGxlUGFyYW1ldGVycy5tbSBpbiBTb3VyY2VzICovLAog
CQkJCUJDOTg5RDgxMTYxQTdFNUQwMDBENDZEMyAvKiBXS1dlYlByb2Nlc3NQbHVnSW4ubW0gaW4g
U291cmNlcyAqLywKIAkJCQlCQzhGMkYyQTE2MjczQTJDMDA1RkFDQjUgLyogV0tXZWJQcm9jZXNz
UGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyLm1tIGluIFNvdXJjZXMgKi8sCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>329322</attachid>
            <date>2017-12-13 20:50:13 -0800</date>
            <delta_ts>2017-12-14 09:08:55 -0800</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>reload-3.patch</filename>
            <type>text/plain</type>
            <size>29221</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">Y29tbWl0IGUyNGIzNDVjMTI0MGY0YTI5ODQxOWQ2ZTRkZTNiY2M0ZGVmZTQyZmEKQXV0aG9yOiBK
b3NlcGggUGVjb3Jhcm8gPHBlY29yYXJvQGFwcGxlLmNvbT4KRGF0ZTogICBXZWQgRGVjIDEzIDIw
OjQ3OjUxIDIwMTcgLTA4MDAKCiAgICBMT0NBTDogUmVsb2FkIElCQWN0aW9uCgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRl
eCBiYmIzZWQ3NDBhOS4uZDVhYmE4Y2RkNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIw
MTctMTItMTMgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKworICAgICAg
ICBXZWIgSW5zcGVjdG9yOiBDbWQtT3B0aW9uLVIgaW4gZG9ja2VkIGluc3BlY3RvciBjYXVzZXMg
dGhlIGluc3BlY3RvciB0byByZWxvYWQgaW5zdGVhZCBvZiB0aGUgaW5zcGVjdGVkIHBhZ2UKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MDc3NQorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vMzU5NjQ1OTI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgUmVtb3ZlIG9sZCBmaWxlcyBhZGQgbmV3IGZpbGVzLgorCisgICAgICAgICog
UGxhdGZvcm1NYWMuY21ha2U6CisgICAgICAgICogVUlQcm9jZXNzL21hYy9XS1dlYkluc3BlY3Rv
cldLV2ViVmlldy5oOiBSZW1vdmVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvV0tXZWJJbnNw
ZWN0b3JXS1dlYlZpZXcubW06IFJlbW92ZWQuCisgICAgICAgIFJlbW92ZSB1bnVzZWQgV0tXZWJJ
bnNwZWN0b3JXS1dlYlZpZXcuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS1Jl
bW90ZVdlYkluc3BlY3RvclZpZXdDb250cm9sbGVyLm1tOgorICAgICAgICAqIFVJUHJvY2Vzcy9t
YWMvV0tJbnNwZWN0b3JWaWV3Q29udHJvbGxlci5tbToKKyAgICAgICAgKC1bV0tJbnNwZWN0b3JW
aWV3Q29udHJvbGxlciBkZWFsbG9jXSk6CisgICAgICAgICgtW1dLSW5zcGVjdG9yVmlld0NvbnRy
b2xsZXIgd2ViVmlld10pOgorICAgICAgICAoLVtXS0luc3BlY3RvclZpZXdDb250cm9sbGVyIGlu
c3BlY3RvcldLV2ViVmlld1JlbG9hZDpdKToKKyAgICAgICAgKC1bV0tJbnNwZWN0b3JWaWV3Q29u
dHJvbGxlciBpbnNwZWN0b3JXS1dlYlZpZXdSZWxvYWRGcm9tT3JpZ2luOl0pOgorICAgICAgICBI
YW5kbGUgV0tXZWJWaWV3IElCQWN0aW9ucyBzZW50IHRvIHRoZSBpbnNwZWN0b3IgZnJvbnRlbmQg
V0tXZWJWaWV3LgorCisgICAgICAgICogVUlQcm9jZXNzL21hYy9XS0luc3BlY3RvcldLV2ViVmll
dy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvV0tJbnNwZWN0b3JXS1dlYlZpZXcubW06Cisg
ICAgICAgICgtW1dLSW5zcGVjdG9yV0tXZWJWaWV3IHRhZ10pOgorICAgICAgICAoLVtXS0luc3Bl
Y3RvcldLV2ViVmlldyBpbnNwZWN0b3JXS1dlYlZpZXdEZWxlZ2F0ZV0pOgorICAgICAgICAoLVtX
S0luc3BlY3RvcldLV2ViVmlldyBzZXRJbnNwZWN0b3JXS1dlYlZpZXdEZWxlZ2F0ZTpdKToKKyAg
ICAgICAgKC1bV0tJbnNwZWN0b3JXS1dlYlZpZXcgcmVsb2FkOl0pOgorICAgICAgICAoLVtXS0lu
c3BlY3RvcldLV2ViVmlldyByZWxvYWRGcm9tT3JpZ2luOl0pOgorICAgICAgICBNb3ZlIFdLSW5z
cGVjdG9yV0tXZWJWaWV3IGludG8gaXRzIG93biBmaWxlLiBJbmNsdWRlIGEgZGVsZWdhdGUKKyAg
ICAgICAgdG8gaGFuZGxlIHJlbG9hZCBJQkFjdGlvbnMgdGhhdCB3aWxsIHdhbnQgdG8gb3ZlcnJp
ZGUuCisKIDIwMTctMTItMTEgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+
CiAKICAgICAgICAgW1dURl0gQWRkIENvbnZlcnRlciB0cmFpdHMgdG8gU3RyaW5nSGFzaGVyIGlu
c3RlYWQgb2YgZnVuY3Rpb24gcG9pbnRlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0
Zm9ybU1hYy5jbWFrZSBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm1NYWMuY21ha2UKaW5kZXggZWQy
YWNiMjE4YjMuLmNmYmU3ZjJlOWMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3Jt
TWFjLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm1NYWMuY21ha2UKQEAgLTMxMyw3
ICszMTMsNiBAQCBsaXN0KEFQUEVORCBXZWJLaXRfU09VUkNFUwogICAgIFVJUHJvY2Vzcy9tYWMv
V0tUZXh0RmluZGVyQ2xpZW50Lm1tCiAgICAgVUlQcm9jZXNzL21hYy9XS1RleHRJbnB1dFdpbmRv
d0NvbnRyb2xsZXIubW0KICAgICBVSVByb2Nlc3MvbWFjL1dLVmlld0xheW91dFN0cmF0ZWd5Lm1t
Ci0gICAgVUlQcm9jZXNzL21hYy9XS1dlYkluc3BlY3RvcldLV2ViVmlldy5tbQogICAgIFVJUHJv
Y2Vzcy9tYWMvV2ViQ29sb3JQaWNrZXJNYWMubW0KICAgICBVSVByb2Nlc3MvbWFjL1dlYkNvbnRl
eHRNZW51UHJveHlNYWMubW0KICAgICBVSVByb2Nlc3MvbWFjL1dlYkNvb2tpZU1hbmFnZXJQcm94
eU1hYy5tbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19X
S1JlbW90ZVdlYkluc3BlY3RvclZpZXdDb250cm9sbGVyLm1tIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL19XS1JlbW90ZVdlYkluc3BlY3RvclZpZXdDb250cm9sbGVyLm1tCmlu
ZGV4IDg5MzcyMjQ5ZmUxLi5iYzljZTc4NTBkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL19XS1JlbW90ZVdlYkluc3BlY3RvclZpZXdDb250cm9sbGVyLm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tSZW1vdGVXZWJJbnNw
ZWN0b3JWaWV3Q29udHJvbGxlci5tbQpAQCAtMjksNyArMjksNiBAQAogI2lmIFBMQVRGT1JNKE1B
QykgJiYgV0tfQVBJX0VOQUJMRUQKIAogI2ltcG9ydCAiUmVtb3RlV2ViSW5zcGVjdG9yUHJveHku
aCIKLSNpbXBvcnQgIldLV2ViSW5zcGVjdG9yV0tXZWJWaWV3LmgiCiAKIHVzaW5nIG5hbWVzcGFj
ZSBXZWJLaXQ7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XS0lu
c3BlY3RvclZpZXdDb250cm9sbGVyLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dL
SW5zcGVjdG9yVmlld0NvbnRyb2xsZXIubW0KaW5kZXggYWE2YjBjNmE2NGUuLjQyZWJiMDM3OWQ3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV0tJbnNwZWN0b3JWaWV3
Q29udHJvbGxlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV0tJbnNwZWN0
b3JWaWV3Q29udHJvbGxlci5tbQpAQCAtMjgsNyArMjgsOSBAQAogCiAjaWYgUExBVEZPUk0oTUFD
KSAmJiBXS19BUElfRU5BQkxFRAogCisjaW1wb3J0ICJWZXJzaW9uQ2hlY2tzLmgiCiAjaW1wb3J0
ICJXS0ZyYW1lSW5mby5oIgorI2ltcG9ydCAiV0tJbnNwZWN0b3JXS1dlYlZpZXcuaCIKICNpbXBv
cnQgIldLTmF2aWdhdGlvbkFjdGlvbi5oIgogI2ltcG9ydCAiV0tOYXZpZ2F0aW9uRGVsZWdhdGUu
aCIKICNpbXBvcnQgIldLT3BlblBhbmVsUGFyYW1ldGVycy5oIgpAQCAtNDIsMjMgKzQ0LDkgQEAK
ICNpbXBvcnQgIldlYkluc3BlY3RvclV0aWxpdGllcy5oIgogI2ltcG9ydCAiV2ViUGFnZVByb3h5
LmgiCiAKLS8vIEZJWE1FOiB0aGlzIHNob3VsZCBiZSBkZWNsYXJlZCBpbiB0aGUgT2JqQyBBUEk7
IGN1cnJlbnRseSBpdCdzIGluIHRoZSBDIFNQSS4KLWNvbnN0IE5TSW50ZWdlciBXS0luc3BlY3Rv
clZpZXdUYWcgPSAxMDAwOwotCiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogCi0vLyBDbGllbnRz
IG5lZWQgdG8gYmUgYWJsZSB0byB0ZWxsIHdoZXRoZXIgYSBzdWJ2aWV3IGlzIGEgZG9ja2VkIGlu
c3BlY3RvciB2aWV3LCBzbyBvdmVycmlkZSB0aGUgdGFnLgotQGludGVyZmFjZSBXS0luc3BlY3Rv
cldLV2ViVmlldyA6IFdLV2ViVmlldwotQGVuZAotCi1AaW1wbGVtZW50YXRpb24gV0tJbnNwZWN0
b3JXS1dlYlZpZXcKLS0gKE5TSW50ZWdlcil0YWcKLXsKLSAgICByZXR1cm4gV0tJbnNwZWN0b3JW
aWV3VGFnOwotfQotQGVuZAotCi1AaW50ZXJmYWNlIFdLSW5zcGVjdG9yVmlld0NvbnRyb2xsZXIg
KCkgPFdLVUlEZWxlZ2F0ZSwgV0tOYXZpZ2F0aW9uRGVsZWdhdGU+CitAaW50ZXJmYWNlIFdLSW5z
cGVjdG9yVmlld0NvbnRyb2xsZXIgKCkgPFdLVUlEZWxlZ2F0ZSwgV0tOYXZpZ2F0aW9uRGVsZWdh
dGUsIFdLSW5zcGVjdG9yV0tXZWJWaWV3RGVsZWdhdGU+CiBAZW5kCiAKIEBpbXBsZW1lbnRhdGlv
biBXS0luc3BlY3RvclZpZXdDb250cm9sbGVyIHsKQEAgLTgzLDYgKzcxLDcgQEAgLSAodm9pZClk
ZWFsbG9jCiAgICAgaWYgKF93ZWJWaWV3KSB7CiAgICAgICAgIFtfd2ViVmlldyBzZXRVSURlbGVn
YXRlOm5pbF07CiAgICAgICAgIFtfd2ViVmlldyBzZXROYXZpZ2F0aW9uRGVsZWdhdGU6bmlsXTsK
KyAgICAgICAgW193ZWJWaWV3IHNldEluc3BlY3RvcldLV2ViVmlld0RlbGVnYXRlOm5pbF07CiAg
ICAgICAgIF93ZWJWaWV3ID0gbmlsOwogICAgIH0KIApAQCAtMTAyLDYgKzkxLDcgQEAgLSAoV0tX
ZWJWaWV3ICopd2ViVmlldwogICAgICAgICBfd2ViVmlldyA9IGFkb3B0TlMoW1tXS0luc3BlY3Rv
cldLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTppbml0aWFsRnJhbWUgY29uZmlndXJhdGlv
bjpbc2VsZiBjb25maWd1cmF0aW9uXV0pOwogICAgICAgICBbX3dlYlZpZXcgc2V0VUlEZWxlZ2F0
ZTpzZWxmXTsKICAgICAgICAgW193ZWJWaWV3IHNldE5hdmlnYXRpb25EZWxlZ2F0ZTpzZWxmXTsK
KyAgICAgICAgW193ZWJWaWV3IHNldEluc3BlY3RvcldLV2ViVmlld0RlbGVnYXRlOnNlbGZdOwog
ICAgICAgICBbX3dlYlZpZXcgX3NldEF1dG9tYXRpY2FsbHlBZGp1c3RzQ29udGVudEluc2V0czpO
T107CiAgICAgICAgIFtfd2ViVmlldyBzZXRBdXRvcmVzaXppbmdNYXNrOk5TVmlld1dpZHRoU2l6
YWJsZSB8IE5TVmlld0hlaWdodFNpemFibGVdOwogICAgIH0KQEAgLTIzNiw2ICsyMjYsMjggQEAg
LSAodm9pZCl3ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGRlY2lkZVBvbGljeUZvck5hdmln
YXRpb25BY3Rpb246KFdLTmF2aWdhdGkKICAgICBkZWNpc2lvbkhhbmRsZXIoV0tOYXZpZ2F0aW9u
QWN0aW9uUG9saWN5Q2FuY2VsKTsKIH0KIAorLy8gTUFSSzogV0tJbnNwZWN0b3JXS1dlYlZpZXdE
ZWxlZ2F0ZSBtZXRob2RzCisKKy0gKHZvaWQpaW5zcGVjdG9yV0tXZWJWaWV3UmVsb2FkOihXS0lu
c3BlY3RvcldLV2ViVmlldyAqKXdlYlZpZXcKK3sKKyAgICBpZiAoIV9pbnNwZWN0ZWRQYWdlKQor
ICAgICAgICByZXR1cm47CisKKyAgICBPcHRpb25TZXQ8V2ViQ29yZTo6UmVsb2FkT3B0aW9uPiBy
ZWxvYWRPcHRpb25zOworICAgIGlmIChsaW5rZWRPbk9yQWZ0ZXIoV2ViS2l0OjpTREtWZXJzaW9u
OjpGaXJzdFdpdGhFeHBpcmVkT25seVJlbG9hZEJlaGF2aW9yKSkKKyAgICAgICAgcmVsb2FkT3B0
aW9ucyB8PSBXZWJDb3JlOjpSZWxvYWRPcHRpb246OkV4cGlyZWRPbmx5OworCisgICAgX2luc3Bl
Y3RlZFBhZ2UtPnJlbG9hZChyZWxvYWRPcHRpb25zKTsKK30KKworLSAodm9pZClpbnNwZWN0b3JX
S1dlYlZpZXdSZWxvYWRGcm9tT3JpZ2luOihXS0luc3BlY3RvcldLV2ViVmlldyAqKXdlYlZpZXcK
K3sKKyAgICBpZiAoIV9pbnNwZWN0ZWRQYWdlKQorICAgICAgICByZXR1cm47CisKKyAgICBfaW5z
cGVjdGVkUGFnZS0+cmVsb2FkKFdlYkNvcmU6OlJlbG9hZE9wdGlvbjo6RnJvbU9yaWdpbik7Cit9
CisKIEBlbmQKIAogI2VuZGlmIC8vIFBMQVRGT1JNKE1BQykgJiYgV0tfQVBJX0VOQUJMRUQKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XS0luc3BlY3RvcldLV2ViVmll
dy5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dLSW5zcGVjdG9yV0tXZWJWaWV3LmgK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjBlNzViOWFhNzU4Ci0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dLSW5zcGVjdG9yV0tX
ZWJWaWV3LmgKQEAgLTAsMCArMSw0NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisj
aW1wb3J0IDxXZWJLaXQvV0tXZWJWaWV3Lmg+CisKKyNpZiBQTEFURk9STShNQUMpICYmIFdLX0FQ
SV9FTkFCTEVECisKK0Bwcm90b2NvbCBXS0luc3BlY3RvcldLV2ViVmlld0RlbGVnYXRlOworCitA
aW50ZXJmYWNlIFdLSW5zcGVjdG9yV0tXZWJWaWV3IDogV0tXZWJWaWV3CitAcHJvcGVydHkgKG5v
bmF0b21pYywgd2VhaykgaWQgPFdLSW5zcGVjdG9yV0tXZWJWaWV3RGVsZWdhdGU+IGluc3BlY3Rv
cldLV2ViVmlld0RlbGVnYXRlOworQGVuZAorCitAcHJvdG9jb2wgV0tJbnNwZWN0b3JXS1dlYlZp
ZXdEZWxlZ2F0ZQorQHJlcXVpcmVkCistICh2b2lkKWluc3BlY3RvcldLV2ViVmlld1JlbG9hZDoo
V0tJbnNwZWN0b3JXS1dlYlZpZXcgKil3ZWJWaWV3OworLSAodm9pZClpbnNwZWN0b3JXS1dlYlZp
ZXdSZWxvYWRGcm9tT3JpZ2luOihXS0luc3BlY3RvcldLV2ViVmlldyAqKXdlYlZpZXc7CitAZW5k
CisKKyNlbmRpZiAvLyBQTEFURk9STShNQUMpICYmIFdLX0FQSV9FTkFCTEVECmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV0tJbnNwZWN0b3JXS1dlYlZpZXcubW0gYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV0tJbnNwZWN0b3JXS1dlYlZpZXcubW0KbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjNjZWUyYzBjNGQwCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dLSW5zcGVjdG9yV0tXZWJWaWV3
Lm1tCkBAIC0wLDAgKzEsNjUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKyNp
bXBvcnQgIldLSW5zcGVjdG9yV0tXZWJWaWV3LmgiCisKKyNpZiBQTEFURk9STShNQUMpICYmIFdL
X0FQSV9FTkFCTEVECisKKyNpbXBvcnQgIldLSW5zcGVjdG9yUHJpdmF0ZU1hYy5oIgorI2ltcG9y
dCAiV2Vha09iakNQdHIuaCIKKworQGltcGxlbWVudGF0aW9uIFdLSW5zcGVjdG9yV0tXZWJWaWV3
IHsKKyAgICBXZWJLaXQ6OldlYWtPYmpDUHRyPGlkIDxXS0luc3BlY3RvcldLV2ViVmlld0RlbGVn
YXRlPj4gX2luc3BlY3RvcldLV2ViVmlld0RlbGVnYXRlOworfQorCistIChOU0ludGVnZXIpdGFn
Cit7CisgICAgcmV0dXJuIFdLSW5zcGVjdG9yVmlld1RhZzsKK30KKworLSAoaWQgPFdLSW5zcGVj
dG9yV0tXZWJWaWV3RGVsZWdhdGU+KWluc3BlY3RvcldLV2ViVmlld0RlbGVnYXRlCit7CisgICAg
cmV0dXJuIF9pbnNwZWN0b3JXS1dlYlZpZXdEZWxlZ2F0ZS5nZXRBdXRvcmVsZWFzZWQoKTsKK30K
KworLSAodm9pZClzZXRJbnNwZWN0b3JXS1dlYlZpZXdEZWxlZ2F0ZTooaWQgPFdLSW5zcGVjdG9y
V0tXZWJWaWV3RGVsZWdhdGU+KWRlbGVnYXRlCit7CisgICAgX2luc3BlY3RvcldLV2ViVmlld0Rl
bGVnYXRlID0gZGVsZWdhdGU7Cit9CisKKy0gKElCQWN0aW9uKXJlbG9hZDooaWQpc2VuZGVyCit7
CisgICAgW3NlbGYuaW5zcGVjdG9yV0tXZWJWaWV3RGVsZWdhdGUgaW5zcGVjdG9yV0tXZWJWaWV3
UmVsb2FkOnNlbGZdOworfQorCistIChJQkFjdGlvbilyZWxvYWRGcm9tT3JpZ2luOihpZClzZW5k
ZXIKK3sKKyAgICBbc2VsZi5pbnNwZWN0b3JXS1dlYlZpZXdEZWxlZ2F0ZSBpbnNwZWN0b3JXS1dl
YlZpZXdSZWxvYWRGcm9tT3JpZ2luOnNlbGZdOworfQorCitAZW5kCisKKyNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dLV2ViSW5zcGVjdG9yV0tXZWJWaWV3
LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV0tXZWJJbnNwZWN0b3JXS1dlYlZpZXcu
aApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGNjNzU4OWM3NmUuLjAwMDAwMDAwMDAw
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XS1dlYkluc3BlY3RvcldLV2ViVmll
dy5oCisrKyAvZGV2L251bGwKQEAgLTEsMzggKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykg
MjAxMCwgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgot
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgot
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNw
cmFnbWEgb25jZQotCi0jaW1wb3J0IDxXZWJLaXQvV0tXZWJWaWV3Lmg+Ci0KLSNpZiBQTEFURk9S
TShNQUMpICYmIFdLX0FQSV9FTkFCTEVECi0KLUBpbnRlcmZhY2UgV0tXZWJJbnNwZWN0b3JXS1dl
YlZpZXcgOiBXS1dlYlZpZXcKLQotLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoRnJhbWU6KENHUmVj
dClmcmFtZSBjb25maWd1cmF0aW9uOihXS1dlYlZpZXdDb25maWd1cmF0aW9uICopY29uZmlndXJh
dGlvbjsKLQotQGVuZAotCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL21hYy9XS1dlYkluc3BlY3RvcldLV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL21hYy9XS1dlYkluc3BlY3RvcldLV2ViVmlldy5tbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMTM1YWJiYTE1NGIuLjAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL21hYy9XS1dlYkluc3BlY3RvcldLV2ViVmlldy5tbQorKysgL2Rldi9udWxsCkBAIC0x
LDE3OSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDE0IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICog
YXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2ltcG9ydCAiY29uZmlnLmgiCi0jaW1w
b3J0ICJXS1dlYkluc3BlY3RvcldLV2ViVmlldy5oIgotCi0jaWYgUExBVEZPUk0oTUFDKSAmJiBX
S19BUElfRU5BQkxFRAotCi0jaW1wb3J0ICJXS0FQSUNhc3QuaCIKLSNpbXBvcnQgIldLSW5zcGVj
dG9yUHJpdmF0ZU1hYy5oIgotI2ltcG9ydCAiV0tNdXRhYmxlQXJyYXkuaCIKLSNpbXBvcnQgIldL
T3BlblBhbmVsUGFyYW1ldGVyc1JlZi5oIgotI2ltcG9ydCAiV0tPcGVuUGFuZWxSZXN1bHRMaXN0
ZW5lci5oIgotI2ltcG9ydCAiV0tSZXRhaW5QdHIuaCIKLSNpbXBvcnQgIldLVVJMQ0YuaCIKLSNp
bXBvcnQgIldLV2ViVmlld0ludGVybmFsLmgiCi0jaW1wb3J0ICJXZWJQYWdlUHJveHkuaCIKLQot
dXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLXN0YXRpYyBX
S1JlY3QgZ2V0V2luZG93RnJhbWUoV0tQYWdlUmVmLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQot
ewotICAgIFdLV2ViSW5zcGVjdG9yV0tXZWJWaWV3ICppbnNwZWN0b3JXS1dlYlZpZXcgPSBzdGF0
aWNfY2FzdDxXS1dlYkluc3BlY3RvcldLV2ViVmlldyAqPihjb25zdF9jYXN0PHZvaWQqPihjbGll
bnRJbmZvKSk7Ci0gICAgQVNTRVJUKGluc3BlY3RvcldLV2ViVmlldyk7Ci0KLSAgICBpZiAoIWlu
c3BlY3RvcldLV2ViVmlldy53aW5kb3cpCi0gICAgICAgIHJldHVybiBXS1JlY3RNYWtlKDAsIDAs
IDAsIDApOwotCi0gICAgTlNSZWN0IGZyYW1lID0gaW5zcGVjdG9yV0tXZWJWaWV3LmZyYW1lOwot
ICAgIHJldHVybiBXS1JlY3RNYWtlKGZyYW1lLm9yaWdpbi54LCBmcmFtZS5vcmlnaW4ueSwgZnJh
bWUuc2l6ZS53aWR0aCwgZnJhbWUuc2l6ZS5oZWlnaHQpOwotfQotCi1zdGF0aWMgdm9pZCBzZXRX
aW5kb3dGcmFtZShXS1BhZ2VSZWYsIFdLUmVjdCBmcmFtZSwgY29uc3Qgdm9pZCogY2xpZW50SW5m
bykKLXsKLSAgICBXS1dlYkluc3BlY3RvcldLV2ViVmlldyAqaW5zcGVjdG9yV0tXZWJWaWV3ID0g
c3RhdGljX2Nhc3Q8V0tXZWJJbnNwZWN0b3JXS1dlYlZpZXcgKj4oY29uc3RfY2FzdDx2b2lkKj4o
Y2xpZW50SW5mbykpOwotICAgIEFTU0VSVChpbnNwZWN0b3JXS1dlYlZpZXcpOwotCi0gICAgaWYg
KCFpbnNwZWN0b3JXS1dlYlZpZXcud2luZG93KQotICAgICAgICByZXR1cm47Ci0KLSAgICBbaW5z
cGVjdG9yV0tXZWJWaWV3LndpbmRvdyBzZXRGcmFtZTpOU01ha2VSZWN0KGZyYW1lLm9yaWdpbi54
LCBmcmFtZS5vcmlnaW4ueSwgZnJhbWUuc2l6ZS53aWR0aCwgZnJhbWUuc2l6ZS5oZWlnaHQpIGRp
c3BsYXk6WUVTXTsKLX0KLQotc3RhdGljIHVuc2lnbmVkIGxvbmcgbG9uZyBleGNlZWRlZERhdGFi
YXNlUXVvdGEoV0tQYWdlUmVmLCBXS0ZyYW1lUmVmLCBXS1NlY3VyaXR5T3JpZ2luUmVmLCBXS1N0
cmluZ1JlZiwgV0tTdHJpbmdSZWYsIHVuc2lnbmVkIGxvbmcgbG9uZywgdW5zaWduZWQgbG9uZyBs
b25nLCB1bnNpZ25lZCBsb25nIGxvbmcgY3VycmVudERhdGFiYXNlVXNhZ2UsIHVuc2lnbmVkIGxv
bmcgbG9uZyBleHBlY3RlZFVzYWdlLCBjb25zdCB2b2lkKikKLXsKLSAgICByZXR1cm4gc3RkOjpt
YXg8dW5zaWduZWQgbG9uZyBsb25nPihleHBlY3RlZFVzYWdlLCBjdXJyZW50RGF0YWJhc2VVc2Fn
ZSAqIDEuMjUpOwotfQotCi1zdGF0aWMgdm9pZCBydW5PcGVuUGFuZWwoV0tQYWdlUmVmIHBhZ2Us
IFdLRnJhbWVSZWYgZnJhbWUsIFdLT3BlblBhbmVsUGFyYW1ldGVyc1JlZiBwYXJhbWV0ZXJzLCBX
S09wZW5QYW5lbFJlc3VsdExpc3RlbmVyUmVmIGxpc3RlbmVyLCBjb25zdCB2b2lkKiBjbGllbnRJ
bmZvKQotewotICAgIFdLV2ViSW5zcGVjdG9yV0tXZWJWaWV3ICppbnNwZWN0b3JXS1dlYlZpZXcg
PSBzdGF0aWNfY2FzdDxXS1dlYkluc3BlY3RvcldLV2ViVmlldyAqPihjb25zdF9jYXN0PHZvaWQq
PihjbGllbnRJbmZvKSk7Ci0gICAgQVNTRVJUKGluc3BlY3RvcldLV2ViVmlldyk7Ci0KLSAgICBO
U09wZW5QYW5lbCAqb3BlblBhbmVsID0gW05TT3BlblBhbmVsIG9wZW5QYW5lbF07Ci0gICAgW29w
ZW5QYW5lbCBzZXRBbGxvd3NNdWx0aXBsZVNlbGVjdGlvbjpXS09wZW5QYW5lbFBhcmFtZXRlcnNH
ZXRBbGxvd3NNdWx0aXBsZUZpbGVzKHBhcmFtZXRlcnMpXTsKLQotICAgIFdLUmV0YWluKGxpc3Rl
bmVyKTsKLQotICAgIGF1dG8gY29tcGxldGlvbkhhbmRsZXIgPSBeKE5TSW50ZWdlciByZXN1bHQp
IHsKLSAgICAgICAgaWYgKHJlc3VsdCA9PSBOU01vZGFsUmVzcG9uc2VPSykgewotICAgICAgICAg
ICAgV0tSZXRhaW5QdHI8V0tNdXRhYmxlQXJyYXlSZWY+IGZpbGVVUkxzID0gYWRvcHRXSyhXS011
dGFibGVBcnJheUNyZWF0ZSgpKTsKLQotICAgICAgICAgICAgZm9yIChOU1VSTCogbnNVUkwgaW4g
W29wZW5QYW5lbCBVUkxzXSkgewotICAgICAgICAgICAgICAgIFdLUmV0YWluUHRyPFdLVVJMUmVm
PiB3a1VSTCA9IGFkb3B0V0soV0tVUkxDcmVhdGVXaXRoQ0ZVUkwocmVpbnRlcnByZXRfY2FzdDxD
RlVSTFJlZj4obnNVUkwpKSk7Ci0gICAgICAgICAgICAgICAgV0tBcnJheUFwcGVuZEl0ZW0oZmls
ZVVSTHMuZ2V0KCksIHdrVVJMLmdldCgpKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAg
V0tPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lckNob29zZUZpbGVzKGxpc3RlbmVyLCBmaWxlVVJMcy5n
ZXQoKSk7Ci0gICAgICAgIH0gZWxzZQotICAgICAgICAgICAgV0tPcGVuUGFuZWxSZXN1bHRMaXN0
ZW5lckNhbmNlbChsaXN0ZW5lcik7Ci0KLSAgICAgICAgV0tSZWxlYXNlKGxpc3RlbmVyKTsKLSAg
ICB9OwotCi0gICAgaWYgKGluc3BlY3RvcldLV2ViVmlldy53aW5kb3cpCi0gICAgICAgIFtvcGVu
UGFuZWwgYmVnaW5TaGVldE1vZGFsRm9yV2luZG93Omluc3BlY3RvcldLV2ViVmlldy53aW5kb3cg
Y29tcGxldGlvbkhhbmRsZXI6Y29tcGxldGlvbkhhbmRsZXJdOwotICAgIGVsc2UKLSAgICAgICAg
Y29tcGxldGlvbkhhbmRsZXIoW29wZW5QYW5lbCBydW5Nb2RhbF0pOwotfQotCi19IC8vIG5hbWVz
cGFjZSBXZWJLaXQKLQotQGltcGxlbWVudGF0aW9uIFdLV2ViSW5zcGVjdG9yV0tXZWJWaWV3Ci0K
LS0gKGluc3RhbmNldHlwZSlpbml0V2l0aEZyYW1lOihDR1JlY3QpZnJhbWUgY29uZmlndXJhdGlv
bjooV0tXZWJWaWV3Q29uZmlndXJhdGlvbiAqKWNvbmZpZ3VyYXRpb24KLXsKLSAgICBpZiAoIShz
ZWxmID0gW3N1cGVyIGluaXRXaXRoRnJhbWU6ZnJhbWUgY29uZmlndXJhdGlvbjpjb25maWd1cmF0
aW9uXSkpCi0gICAgICAgIHJldHVybiBuaWw7Ci0KLSAgICBbc2VsZiBfc2V0QXV0b21hdGljYWxs
eUFkanVzdHNDb250ZW50SW5zZXRzOk5PXTsKLQotICAgIFdLUGFnZVVJQ2xpZW50VjIgdWlDbGll
bnQgPSB7Ci0gICAgICAgIHsgMiwgc2VsZiB9LAotICAgICAgICBudWxscHRyLCAvLyBjcmVhdGVO
ZXdQYWdlX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjAKLSAgICAgICAgbnVsbHB0ciwgLy8gc2hvd1Bh
Z2UKLSAgICAgICAgbnVsbHB0ciwgLy8gY2xvc2VQYWdlCi0gICAgICAgIG51bGxwdHIsIC8vIHRh
a2VGb2N1cwotICAgICAgICBudWxscHRyLCAvLyBmb2N1cwotICAgICAgICBudWxscHRyLCAvLyB1
bmZvY3VzCi0gICAgICAgIG51bGxwdHIsIC8vIHJ1bkphdmFTY3JpcHRBbGVydAotICAgICAgICBu
dWxscHRyLCAvLyBydW5KYXZhU2NyaXB0Q29uZmlybQotICAgICAgICBudWxscHRyLCAvLyBydW5K
YXZhU2NyaXB0UHJvbXB0Ci0gICAgICAgIG51bGxwdHIsIC8vIHNldFN0YXR1c1RleHQKLSAgICAg
ICAgbnVsbHB0ciwgLy8gbW91c2VEaWRNb3ZlT3ZlckVsZW1lbnRfZGVwcmVjYXRlZEZvclVzZVdp
dGhWMAotICAgICAgICBudWxscHRyLCAvLyBtaXNzaW5nUGx1Z2luQnV0dG9uQ2xpY2tlZF9kZXBy
ZWNhdGVkRm9yVXNlV2l0aFYwCi0gICAgICAgIG51bGxwdHIsIC8vIGRpZE5vdEhhbmRsZUtleUV2
ZW50Ci0gICAgICAgIG51bGxwdHIsIC8vIGRpZE5vdEhhbmRsZVdoZWVsRXZlbnQKLSAgICAgICAg
bnVsbHB0ciwgLy8gYXJlVG9vbGJhcnNWaXNpYmxlCi0gICAgICAgIG51bGxwdHIsIC8vIHNldFRv
b2xiYXJzVmlzaWJsZQotICAgICAgICBudWxscHRyLCAvLyBpc01lbnVCYXJWaXNpYmxlCi0gICAg
ICAgIG51bGxwdHIsIC8vIHNldE1lbnVCYXJWaXNpYmxlCi0gICAgICAgIG51bGxwdHIsIC8vIGlz
U3RhdHVzQmFyVmlzaWJsZQotICAgICAgICBudWxscHRyLCAvLyBzZXRTdGF0dXNCYXJWaXNpYmxl
Ci0gICAgICAgIG51bGxwdHIsIC8vIGlzUmVzaXphYmxlCi0gICAgICAgIG51bGxwdHIsIC8vIHNl
dFJlc2l6YWJsZQotICAgICAgICBnZXRXaW5kb3dGcmFtZSwKLSAgICAgICAgc2V0V2luZG93RnJh
bWUsCi0gICAgICAgIG51bGxwdHIsIC8vIHJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbAotICAg
ICAgICBudWxscHRyLCAvLyBkaWREcmF3Ci0gICAgICAgIG51bGxwdHIsIC8vIHBhZ2VEaWRTY3Jv
bGwKLSAgICAgICAgZXhjZWVkZWREYXRhYmFzZVF1b3RhLAotICAgICAgICBydW5PcGVuUGFuZWws
Ci0gICAgICAgIG51bGxwdHIsIC8vIGRlY2lkZVBvbGljeUZvckdlb2xvY2F0aW9uUGVybWlzc2lv
blJlcXVlc3QKLSAgICAgICAgbnVsbHB0ciwgLy8gaGVhZGVySGVpZ2h0Ci0gICAgICAgIG51bGxw
dHIsIC8vIGZvb3RlckhlaWdodAotICAgICAgICBudWxscHRyLCAvLyBkcmF3SGVhZGVyCi0gICAg
ICAgIG51bGxwdHIsIC8vIGRyYXdGb290ZXIKLSAgICAgICAgbnVsbHB0ciwgLy8gcHJpbnRGcmFt
ZQotICAgICAgICBudWxscHRyLCAvLyBydW5Nb2RhbAotICAgICAgICBudWxscHRyLCAvLyB1bnVz
ZWQKLSAgICAgICAgbnVsbHB0ciwgLy8gc2F2ZURhdGFUb0ZpbGVJbkRvd25sb2Fkc0ZvbGRlcgot
ICAgICAgICBudWxscHRyLCAvLyBzaG91bGRJbnRlcnJ1cHRKYXZhU2NyaXB0Ci0gICAgICAgIG51
bGxwdHIsIC8vIGNyZWF0ZVBhZ2UKLSAgICAgICAgbnVsbHB0ciwgLy8gbW91c2VEaWRNb3ZlT3Zl
ckVsZW1lbnQKLSAgICAgICAgbnVsbHB0ciwgLy8gZGVjaWRlUG9saWN5Rm9yTm90aWZpY2F0aW9u
UGVybWlzc2lvblJlcXVlc3QKLSAgICAgICAgbnVsbHB0ciwgLy8gdW5hdmFpbGFibGVQbHVnaW5C
dXR0b25DbGlja2VkX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjEKLSAgICAgICAgbnVsbHB0ciwgLy8g
c2hvd0NvbG9yUGlja2VyCi0gICAgICAgIG51bGxwdHIsIC8vIGhpZGVDb2xvclBpY2tlcgotICAg
ICAgICBudWxscHRyLCAvLyB1bmF2YWlsYWJsZVBsdWdpbkJ1dHRvbkNsaWNrZWQKLSAgICB9Owot
Ci0gICAgV2ViUGFnZVByb3h5KiBpbnNwZWN0b3JQYWdlID0gc2VsZi0+X3BhZ2UuZ2V0KCk7Ci0g
ICAgV0tQYWdlU2V0UGFnZVVJQ2xpZW50KHRvQVBJKGluc3BlY3RvclBhZ2UpLCAmdWlDbGllbnQu
YmFzZSk7Ci0KLSAgICByZXR1cm4gc2VsZjsKLX0KLQotLSAoTlNJbnRlZ2VyKXRhZwotewotICAg
IHJldHVybiBXS0luc3BlY3RvclZpZXdUYWc7Ci19Ci0KLUBlbmQKLQotI2VuZGlmIC8vIFBMQVRG
T1JNKE1BQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCmluZGV4IGQ3MzA5ZjYwMWMzLi4wNDdhYzI2ZTk2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xNTQyLDYgKzE1NDIsOCBAQAog
CQlBMUZCNjgyNDFGNkU1MTgyMDBDNDNGOUYgLyogV0tDcmFzaFJlcG9ydGVyLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMUZCNjgyMjFGNkU1MTgyMDBD
NDNGOUYgLyogV0tDcmFzaFJlcG9ydGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJQTFGQjY4MjUxRjZFNTE4MjAwQzQzRjlGIC8qIFdLQ3Jhc2hS
ZXBvcnRlci5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEExRkI2ODIzMUY2RTUxODIwMEM0M0Y5RiAvKiBXS0NyYXNoUmVwb3J0ZXIubW0gKi87IH07CiAJ
CUExRkI2ODI3MUY2RTUxQzEwMEM0M0Y5RiAvKiBDcmFzaFJlcG9ydGVyQ2xpZW50U1BJLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMUZCNjgyNjFGNkU1
MUMxMDBDNDNGOUYgLyogQ3Jhc2hSZXBvcnRlckNsaWVudFNQSS5oICovOyB9OworCQlBNTE4QjVE
MjFGRTFENTVCMDBGOUZBMjggLyogV0tJbnNwZWN0b3JXS1dlYlZpZXcuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1MThCNUQwMUZFMUQ1NUIwMEY5RkEy
OCAvKiBXS0luc3BlY3RvcldLV2ViVmlldy5oICovOyB9OworCQlBNTE4QjVEMzFGRTFENTVCMDBG
OUZBMjggLyogV0tJbnNwZWN0b3JXS1dlYlZpZXcubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTE4QjVEMTFGRTFENTVCMDBGOUZBMjggLyogV0tJbnNw
ZWN0b3JXS1dlYlZpZXcubW0gKi87IH07CiAJCUE1NDI5M0E0MTk1QTQzREEwMDI3ODJDNyAvKiBX
S0luc3BlY3Rvck5vZGVTZWFyY2hHZXN0dXJlUmVjb2duaXplci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTU0MjkzQTIxOTVBNDNDNjAwMjc4MkM3IC8q
IFdLSW5zcGVjdG9yTm9kZVNlYXJjaEdlc3R1cmVSZWNvZ25pemVyLmggKi87IH07CiAJCUE1NDI5
M0E1MTk1QTQzREQwMDI3ODJDNyAvKiBXS0luc3BlY3Rvck5vZGVTZWFyY2hHZXN0dXJlUmVjb2du
aXplci5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1
NDI5M0EzMTk1QTQzQzYwMDI3ODJDNyAvKiBXS0luc3BlY3Rvck5vZGVTZWFyY2hHZXN0dXJlUmVj
b2duaXplci5tbSAqLzsgfTsKIAkJQTU1QkE4MTAxQkExMzE3RTAwN0NEMzNEIC8qIF9XS1JlbW90
ZVdlYkluc3BlY3RvclZpZXdDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBBNTVCQTgwQzFCQTEyQkUxMDA3Q0QzM0QgLyogX1dLUmVtb3Rl
V2ViSW5zcGVjdG9yVmlld0NvbnRyb2xsZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMTU1OCw4ICsxNTYwLDYgQEAKIAkJQTU1QkE4MzYxQkEz
RTcwRDAwN0NEMzNEIC8qIFdlYkluc3BlY3RvckZyb250ZW5kQVBJRGlzcGF0Y2hlci5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTVCQTgzMjFCQTNF
NkZBMDA3Q0QzM0QgLyogV2ViSW5zcGVjdG9yRnJvbnRlbmRBUElEaXNwYXRjaGVyLmNwcCAqLzsg
fTsKIAkJQTU4QjZGMDgxOEZDQTczMzAwOENCQTUzIC8qIFdLRmlsZVVwbG9hZFBhbmVsLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNThCNkYwNjE4RkNB
NzMzMDA4Q0JBNTMgLyogV0tGaWxlVXBsb2FkUGFuZWwuaCAqLzsgfTsKIAkJQTU4QjZGMDkxOEZD
QTczMzAwOENCQTUzIC8qIFdLRmlsZVVwbG9hZFBhbmVsLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTU4QjZGMDcxOEZDQTczMzAwOENCQTUzIC8qIFdL
RmlsZVVwbG9hZFBhbmVsLm1tICovOyB9OwotCQlBNUQzNTA0QjFENzUyMTE2MDA1MTI0QTkgLyog
V0tXZWJJbnNwZWN0b3JXS1dlYlZpZXcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEE1RDM1MDQ5MUQ3NTIxMTYwMDUxMjRBOSAvKiBXS1dlYkluc3BlY3Rv
cldLV2ViVmlldy5oICovOyB9OwotCQlBNUQzNTA0QzFENzUyMTE2MDA1MTI0QTkgLyogV0tXZWJJ
bnNwZWN0b3JXS1dlYlZpZXcubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBBNUQzNTA0QTFENzUyMTE2MDA1MTI0QTkgLyogV0tXZWJJbnNwZWN0b3JXS1dl
YlZpZXcubW0gKi87IH07CiAJCUE1RDM1MDRFMUQ3OEY1QjMwMDUxMjRBOSAvKiBSZW1vdGVXZWJJ
bnNwZWN0b3JQcm94eU1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEE1RDM1MDREMUQ3OEYwRDIwMDUxMjRBOSAvKiBSZW1vdGVXZWJJbnNwZWN0b3JQ
cm94eU1hYy5tbSAqLzsgfTsKIAkJQTVFRkQzOEMxNkIwRTg4QzAwQjJGMEU4IC8qIFdLUGFnZVZp
c2liaWxpdHlUeXBlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQTVFRkQzOEIxNkIwRTg4QzAwQjJGMEU4IC8qIFdLUGFnZVZpc2liaWxpdHlUeXBlcy5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUE3OEND
RERBMTkzQUM5RjQwMDVFQ0MyNSAvKiBjb20uYXBwbGUuV2ViS2l0LkRhdGFiYXNlcy5zYiBpbiBD
b3B5RmlsZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc4Q0NERDcxOTNB
QzlFMzAwNUVDQzI1IC8qIGNvbS5hcHBsZS5XZWJLaXQuRGF0YWJhc2VzLnNiICovOyB9OwpAQCAt
Mzk2Miw2ICszOTYyLDggQEAKIAkJQTFGQjY4MjIxRjZFNTE4MjAwQzQzRjlGIC8qIFdLQ3Jhc2hS
ZXBvcnRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS0NyYXNoUmVwb3J0ZXIuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQTFGQjY4MjMxRjZFNTE4MjAwQzQzRjlGIC8qIFdLQ3Jhc2hSZXBv
cnRlci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdLQ3Jhc2hSZXBvcnRlci5tbTsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTFGQjY4MjYxRjZFNTFDMTAwQzQzRjlGIC8qIENyYXNo
UmVwb3J0ZXJDbGllbnRTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ3Jhc2hSZXBvcnRlckNsaWVudFNQ
SS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNTE4QjVEMDFGRTFENTVCMDBGOUZB
MjggLyogV0tJbnNwZWN0b3JXS1dlYlZpZXcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tJbnNwZWN0b3JX
S1dlYlZpZXcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTUxOEI1RDExRkUxRDU1
QjAwRjlGQTI4IC8qIFdLSW5zcGVjdG9yV0tXZWJWaWV3Lm1tICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRo
ID0gV0tJbnNwZWN0b3JXS1dlYlZpZXcubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUE1NDI5M0EyMTk1QTQzQzYwMDI3ODJDNyAvKiBXS0luc3BlY3Rvck5vZGVTZWFyY2hHZXN0dXJl
UmVjb2duaXplci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBXS0luc3BlY3Rvck5vZGVTZWFyY2hHZXN0dXJl
UmVjb2duaXplci5oOyBwYXRoID0gaW9zL1dLSW5zcGVjdG9yTm9kZVNlYXJjaEdlc3R1cmVSZWNv
Z25pemVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE1NDI5M0EzMTk1QTQzQzYw
MDI3ODJDNyAvKiBXS0luc3BlY3Rvck5vZGVTZWFyY2hHZXN0dXJlUmVjb2duaXplci5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLm9iamNwcDsgbmFtZSA9IFdLSW5zcGVjdG9yTm9kZVNlYXJjaEdlc3R1cmVSZWNvZ25pemVy
Lm1tOyBwYXRoID0gaW9zL1dLSW5zcGVjdG9yTm9kZVNlYXJjaEdlc3R1cmVSZWNvZ25pemVyLm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNTVCQTgwQzFCQTEyQkUxMDA3Q0QzM0Qg
LyogX1dLUmVtb3RlV2ViSW5zcGVjdG9yVmlld0NvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gX1dLUmVtb3RlV2ViSW5zcGVjdG9yVmlld0NvbnRyb2xsZXIuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTM5ODAsOCArMzk4Miw2IEBACiAJCUE1NUJB
ODMzMUJBM0U2RkEwMDdDRDMzRCAvKiBXZWJJbnNwZWN0b3JGcm9udGVuZEFQSURpc3BhdGNoZXIu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViSW5zcGVjdG9yRnJvbnRlbmRB
UElEaXNwYXRjaGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE1OEI2RjA2MThG
Q0E3MzMwMDhDQkE1MyAvKiBXS0ZpbGVVcGxvYWRQYW5lbC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IG5hbWUgPSBXS0ZpbGVVcGxvYWRQYW5lbC5oOyBwYXRoID0gaW9zL2Zvcm1zL1dLRmls
ZVVwbG9hZFBhbmVsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE1OEI2RjA3MThG
Q0E3MzMwMDhDQkE1MyAvKiBXS0ZpbGVVcGxvYWRQYW5lbC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLm9iamNwcDsgbmFtZSA9IFdLRmlsZVVwbG9hZFBhbmVsLm1tOyBwYXRoID0gaW9zL2Zv
cm1zL1dLRmlsZVVwbG9hZFBhbmVsLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlB
NUQzNTA0OTFENzUyMTE2MDA1MTI0QTkgLyogV0tXZWJJbnNwZWN0b3JXS1dlYlZpZXcuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tXZWJJbnNwZWN0b3JXS1dlYlZpZXcuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQTVEMzUwNEExRDc1MjExNjAwNTEyNEE5IC8q
IFdLV2ViSW5zcGVjdG9yV0tXZWJWaWV3Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gV0tXZWJJbnNwZWN0b3JXS1dlYlZpZXcubW07IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUE1RDM1MDREMUQ3OEYwRDIwMDUxMjRBOSAvKiBSZW1vdGVXZWJJbnNwZWN0
b3JQcm94eU1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFJl
bW90ZVdlYkluc3BlY3RvclByb3h5TWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlBNUVGRDM4QjE2QjBFODhDMDBCMkYwRTggLyogV0tQYWdlVmlzaWJpbGl0eVR5cGVzLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLUGFnZVZpc2liaWxpdHlUeXBlcy5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNzJENUQ3RjEyMzZDQkE4MDBBODhCMTUgLyog
QVBJU2VyaWFsaXplZFNjcmlwdFZhbHVlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEFQSVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtNzkxOCw2ICs3OTE4LDggQEAKIAkJCQk5MzIxRDU4NzFBMzhFRTc0MDA4MDUyQkUgLyog
V0tJbW1lZGlhdGVBY3Rpb25Db250cm9sbGVyLm1tICovLAogCQkJCTk5NEJBREYxMUY3RDc3RUEw
MEI1NzFFNyAvKiBXS0luc3BlY3RvclZpZXdDb250cm9sbGVyLmggKi8sCiAJCQkJOTk0QkFERjIx
RjdENzdFQjAwQjU3MUU3IC8qIFdLSW5zcGVjdG9yVmlld0NvbnRyb2xsZXIubW0gKi8sCisJCQkJ
QTUxOEI1RDAxRkUxRDU1QjAwRjlGQTI4IC8qIFdLSW5zcGVjdG9yV0tXZWJWaWV3LmggKi8sCisJ
CQkJQTUxOEI1RDExRkUxRDU1QjAwRjlGQTI4IC8qIFdLSW5zcGVjdG9yV0tXZWJWaWV3Lm1tICov
LAogCQkJCTBGQ0I0RTVDMThCQkUzRDkwMDBGQ0ZDOSAvKiBXS1ByaW50aW5nVmlldy5oICovLAog
CQkJCTBGQ0I0RTVEMThCQkUzRDkwMDBGQ0ZDOSAvKiBXS1ByaW50aW5nVmlldy5tbSAqLywKIAkJ
CQk1MTNFNDYyQjFBRDgzNzU2MDAxNjIzNEEgLyogV0tTaGFyaW5nU2VydmljZVBpY2tlckRlbGVn
YXRlLmggKi8sCkBAIC03OTI4LDggKzc5MzAsNiBAQAogCQkJCTBGQ0I0RTVGMThCQkUzRDkwMDBG
Q0ZDOSAvKiBXS1RleHRJbnB1dFdpbmRvd0NvbnRyb2xsZXIubW0gKi8sCiAJCQkJMkQyOEE0OTUx
QUY5NjVBMTAwRjE5MEM5IC8qIFdLVmlld0xheW91dFN0cmF0ZWd5LmggKi8sCiAJCQkJMkQyOEE0
OTYxQUY5NjVBMTAwRjE5MEM5IC8qIFdLVmlld0xheW91dFN0cmF0ZWd5Lm1tICovLAotCQkJCUE1
RDM1MDQ5MUQ3NTIxMTYwMDUxMjRBOSAvKiBXS1dlYkluc3BlY3RvcldLV2ViVmlldy5oICovLAot
CQkJCUE1RDM1MDRBMUQ3NTIxMTYwMDUxMjRBOSAvKiBXS1dlYkluc3BlY3RvcldLV2ViVmlldy5t
bSAqLywKIAkJCSk7CiAJCQlwYXRoID0gbWFjOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsK
QEAgLTkzNDAsNiArOTM0MCw3IEBACiAJCQkJQTU0MjkzQTQxOTVBNDNEQTAwMjc4MkM3IC8qIFdL
SW5zcGVjdG9yTm9kZVNlYXJjaEdlc3R1cmVSZWNvZ25pemVyLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk2RUU4NDlDODEzNjhEOTM5MDAzOEQ0ODEgLyogV0tJbnNwZWN0b3JQcml2YXRlTWFjLmggaW4g
SGVhZGVycyAqLywKIAkJCQk5OTRCQURGNDFGN0Q3ODE0MDBCNTcxRTcgLyogV0tJbnNwZWN0b3JW
aWV3Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTUxOEI1RDIxRkUxRDU1QjAwRjlG
QTI4IC8qIFdLSW5zcGVjdG9yV0tXZWJWaWV3LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MUE5RTEw
QjEzMTVDRDE4MDA5RTcwMzEgLyogV0tLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkyRDc5MEE5RjFBRDcxNjQ5MDBBQjkwQjMgLyogV0tMYXlvdXRNb2RlLmggaW4g
SGVhZGVycyAqLywKIAkJCQlDOThDNDhBQTFCNkZENUI1MDAxNDUxMDMgLyogV0tNZWRpYVNlc3Np
b25Gb2N1c01hbmFnZXIuaCBpbiBIZWFkZXJzICovLApAQCAtOTQ5Miw3ICs5NDkzLDYgQEAKIAkJ
CQlCRkE2MTc5RjEyRjBCOTlEMDAzM0UwQ0EgLyogV0tWaWV3UHJpdmF0ZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQzVFMUFGRTkxNkIyMEI3NTAwNkNDMUYyIC8qIFdLV2ViQXJjaGl2ZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQzVFMUFGRUIxNkIyMEI3RTAwNkNDMUYyIC8qIFdLV2ViQXJjaGl2ZVJl
c291cmNlLmggaW4gSGVhZGVycyAqLywKLQkJCQlBNUQzNTA0QjFENzUyMTE2MDA1MTI0QTkgLyog
V0tXZWJJbnNwZWN0b3JXS1dlYlZpZXcuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBQTJFNTY3MThE
Nzc1MDgwMDM4MTRCRCAvKiBXS1dlYlByb2Nlc3NCdW5kbGVQYXJhbWV0ZXJzLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlCQzk4OUQ4MjE2MUE3RTVEMDAwRDQ2RDMgLyogV0tXZWJQcm9jZXNzUGx1Z0lu
LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzhGMkYyQjE2MjczQTJDMDA1RkFDQjUgLyogV0tXZWJQ
cm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLywKQEAg
LTEwOTYwLDYgKzEwOTYwLDcgQEAKIAkJCQkwRjNDNzI1QzE5NkY2MDUyMDBBRUREMEMgLyogV0tJ
bnNwZWN0b3JIaWdobGlnaHRWaWV3Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQTU0MjkzQTUxOTVB
NDNERDAwMjc4MkM3IC8qIFdLSW5zcGVjdG9yTm9kZVNlYXJjaEdlc3R1cmVSZWNvZ25pemVyLm1t
IGluIFNvdXJjZXMgKi8sCiAJCQkJOTk0QkFERjMxRjdENzgxMTAwQjU3MUU3IC8qIFdLSW5zcGVj
dG9yVmlld0NvbnRyb2xsZXIubW0gaW4gU291cmNlcyAqLywKKwkJCQlBNTE4QjVEMzFGRTFENTVC
MDBGOUZBMjggLyogV0tJbnNwZWN0b3JXS1dlYlZpZXcubW0gaW4gU291cmNlcyAqLywKIAkJCQk1
MUE5RTEwQTEzMTVDRDE4MDA5RTcwMzEgLyogV0tLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUM5OEM0OEE5MUI2RkQ1QjUwMDE0NTEwMyAvKiBXS01lZGlhU2Vz
c2lvbkZvY3VzTWFuYWdlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDOUNENDM5RTFCNEIwMjUz
MDAyMzlFMzMgLyogV0tNZWRpYVNlc3Npb25NZXRhZGF0YS5jcHAgaW4gU291cmNlcyAqLywKQEAg
LTExMDUzLDcgKzExMDU0LDYgQEAKIAkJCQkyRDI4QTQ5ODFBRjk2NUEyMDBGMTkwQzkgLyogV0tW
aWV3TGF5b3V0U3RyYXRlZ3kubW0gaW4gU291cmNlcyAqLywKIAkJCQlDNUUxQUZFODE2QjIwQjY3
MDA2Q0MxRjIgLyogV0tXZWJBcmNoaXZlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUM1RTFBRkVB
MTZCMjBCN0IwMDZDQzFGMiAvKiBXS1dlYkFyY2hpdmVSZXNvdXJjZS5jcHAgaW4gU291cmNlcyAq
LywKLQkJCQlBNUQzNTA0QzFENzUyMTE2MDA1MTI0QTkgLyogV0tXZWJJbnNwZWN0b3JXS1dlYlZp
ZXcubW0gaW4gU291cmNlcyAqLywKIAkJCQkxQUEyRTU2NjE4RDc3NTA4MDAzODE0QkQgLyogV0tX
ZWJQcm9jZXNzQnVuZGxlUGFyYW1ldGVycy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUJDOTg5RDgx
MTYxQTdFNUQwMDBENDZEMyAvKiBXS1dlYlByb2Nlc3NQbHVnSW4ubW0gaW4gU291cmNlcyAqLywK
IAkJCQlCQzhGMkYyQTE2MjczQTJDMDA1RkFDQjUgLyogV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3Nl
ckNvbnRleHRDb250cm9sbGVyLm1tIGluIFNvdXJjZXMgKi8sCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>