<?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>194984</bug_id>
          
          <creation_ts>2019-02-23 18:30:14 -0800</creation_ts>
          <short_desc>Migrate from &quot;fixedPositionRect&quot; to &quot;layoutViewport&quot; in the scrolling tree</short_desc>
          <delta_ts>2019-02-24 22:09:37 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>194973</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fred.wang</cc>
    
    <cc>jamesr</cc>
    
    <cc>koivisto</cc>
    
    <cc>luiz</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1509418</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-02-23 18:30:14 -0800</bug_when>
    <thetext>Migrate from &quot;fixedPositionRect&quot; to &quot;layoutViewport&quot; in the scrolling tree</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1509419</commentid>
    <comment_count>1</comment_count>
      <attachid>362843</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-02-23 18:33:26 -0800</bug_when>
    <thetext>Created attachment 362843
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1509420</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-02-23 18:35:49 -0800</bug_when>
    <thetext>Attachment 362843 did not pass style-queue:


ERROR: Source/WebCore/page/scrolling/ScrollingTreeFrameScrollingNode.h:45:  Inline functions should not be in classes annotated with WEBCORE_EXPORT. Remove the macro from the class and apply it to each appropriate method, or move the inline function definition out-of-line.  [build/webcore_export] [4]
ERROR: Source/WebCore/page/scrolling/ScrollingTreeFrameScrollingNode.h:57:  Inline functions should not be in classes annotated with WEBCORE_EXPORT. Remove the macro from the class and apply it to each appropriate method, or move the inline function definition out-of-line.  [build/webcore_export] [4]
ERROR: Source/WebCore/page/scrolling/ScrollingTreeFrameScrollingNode.h:58:  Inline functions should not be in classes annotated with WEBCORE_EXPORT. Remove the macro from the class and apply it to each appropriate method, or move the inline function definition out-of-line.  [build/webcore_export] [4]
Total errors found: 3 in 29 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1509423</commentid>
    <comment_count>3</comment_count>
      <attachid>362843</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2019-02-23 18:52:22 -0800</bug_when>
    <thetext>Comment on attachment 362843
Patch

rs=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1509547</commentid>
    <comment_count>4</comment_count>
      <attachid>362843</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-02-24 22:03:28 -0800</bug_when>
    <thetext>Comment on attachment 362843
Patch

Clearing flags on attachment: 362843

Committed r242031: &lt;https://trac.webkit.org/changeset/242031&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1509548</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-02-24 22:03:30 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1509552</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-02-24 22:09:37 -0800</bug_when>
    <thetext>&lt;rdar://problem/48353325&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>362843</attachid>
            <date>2019-02-23 18:33:26 -0800</date>
            <delta_ts>2019-02-24 22:03:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-194984-20190223183325.patch</filename>
            <type>text/plain</type>
            <size>47841</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQxOTk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2I0M2Y4ZTI1ZTBhNTZl
ODYyMWExZTlmODdmNzcxOGFhY2JkODdkOC4uYjllMjNhY2JhMTViYjNlNWMzZDZjY2E1ZGVjMzU2
NGYxYWI4YTUyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDE5LTAyLTIzICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIE1pZ3JhdGUgZnJv
bSAiZml4ZWRQb3NpdGlvblJlY3QiIHRvICJsYXlvdXRWaWV3cG9ydCIgaW4gdGhlIHNjcm9sbGlu
ZyB0cmVlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
OTQ5ODQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBS
ZW5hbWUgImZpeGVkUG9zaXRpb25SZWN0IiB0byAibGF5b3V0Vmlld3BvcnQiIGluIHNjcm9sbGlu
ZyB0cmVlIGNvZGUuCisKKyAgICAgICAgUmVtb3ZlIFNjcm9sbGluZ1RyZWU6OmZpeGVkUG9zaXRp
b25SZWN0KCkgd2hpY2ggd2FzIG9ubHkgdXNlZCBvbiBpT1MsIHRvIGZldGNoIHRoZQorICAgICAg
ICBjdXJyZW50IGxheW91dCB2aWV3cG9ydCByZWN0LiBJbnN0ZWFkLCBzZXQgdGhlIGxheW91dCB2
aWV3cG9ydCBvbiB0aGUgcm9vdAorICAgICAgICBub2RlIGluIFNjcm9sbGluZ1RyZWU6Om1haW5G
cmFtZVZpZXdwb3J0Q2hhbmdlZFZpYURlbGVnYXRlZFNjcm9sbGluZygpLgorCisgICAgICAgICog
cGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3Jv
bGxpbmdUcmVlOjptYWluRnJhbWVWaWV3cG9ydENoYW5nZWRWaWFEZWxlZ2F0ZWRTY3JvbGxpbmcp
OgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZTo6dmlld3BvcnRDaGFuZ2VkVmlhRGVs
ZWdhdGVkU2Nyb2xsaW5nKTogRGVsZXRlZC4KKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3Jv
bGxpbmdUcmVlLmg6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZUZyYW1l
SG9zdGluZ05vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZUZyYW1lSG9z
dGluZ05vZGU6OnVwZGF0ZUxheWVyc0FmdGVyQW5jZXN0b3JDaGFuZ2UpOgorICAgICAgICAqIHBh
Z2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVGcmFtZUhvc3RpbmdOb2RlLmg6CisgICAgICAgICog
cGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZS5oOgorICAgICAg
ICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVOb2RlLmg6CisgICAgICAgICogcGFnZS9z
Y3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGU6OnVwZGF0ZUxheWVyc0FmdGVyQW5jZXN0b3JD
aGFuZ2UpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdO
b2RlLmg6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvY29jb2EvU2Nyb2xsaW5nVHJlZUZpeGVk
Tm9kZS5oOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL2NvY29hL1Njcm9sbGluZ1RyZWVGaXhl
ZE5vZGUubW06CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlRml4ZWROb2RlOjp1cGRh
dGVMYXllcnNBZnRlckFuY2VzdG9yQ2hhbmdlKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9j
b2NvYS9TY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZS5oOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5n
L2NvY29hL1Njcm9sbGluZ1RyZWVTdGlja3lOb2RlLm1tOgorICAgICAgICAoV2ViQ29yZTo6U2Ny
b2xsaW5nVHJlZVN0aWNreU5vZGU6OnVwZGF0ZUxheWVyc0FmdGVyQW5jZXN0b3JDaGFuZ2UpOgor
ICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdO
b2RlTWFjLmg6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVPdmVy
Zmxvd1Njcm9sbGluZ05vZGVNYWMuaDoKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9tYWMvU2Ny
b2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6
OlNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVNYWM6OnVwZGF0ZUxheWVyc0FmdGVy
QW5jZXN0b3JDaGFuZ2UpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZU92ZXJmbG93
U2Nyb2xsaW5nTm9kZU1hYzo6c2V0U2Nyb2xsTGF5ZXJQb3NpdGlvbik6CisKIDIwMTktMDItMjMg
IFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3Zl
IHJlbW5hbnRzIG9mIGlPUyBXSzEgc2Nyb2xsaW5nIHRyZWUgY29kZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA3ZThl
ZmYzMjRiOWQ0NDdlZGY2OWQ0YmMzZTQyNzRjNGI1ZjJlZmQ2Li40MWQwZGM1YjllZmVlOTk4ODQ1
NTg3ZjFkNzM3YmVhNzQxNTY5YzMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDE5LTAy
LTIzICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIE1p
Z3JhdGUgZnJvbSAiZml4ZWRQb3NpdGlvblJlY3QiIHRvICJsYXlvdXRWaWV3cG9ydCIgaW4gdGhl
IHNjcm9sbGluZyB0cmVlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xOTQ5ODQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBSZW5hbWUgImZpeGVkUG9zaXRpb25SZWN0IiB0byAibGF5b3V0Vmlld3BvcnQiIGlu
IHNjcm9sbGluZyB0cmVlIGNvZGUuCisKKyAgICAgICAgUmVtb3ZlIFNjcm9sbGluZ1RyZWU6OmZp
eGVkUG9zaXRpb25SZWN0KCkgd2hpY2ggd2FzIG9ubHkgdXNlZCBvbiBpT1MsIHRvIGZldGNoIHRo
ZQorICAgICAgICBjdXJyZW50IGxheW91dCB2aWV3cG9ydCByZWN0LiBJbnN0ZWFkLCBzZXQgdGhl
IGxheW91dCB2aWV3cG9ydCBvbiB0aGUgcm9vdAorICAgICAgICBub2RlIGluIFNjcm9sbGluZ1Ry
ZWU6Om1haW5GcmFtZVZpZXdwb3J0Q2hhbmdlZFZpYURlbGVnYXRlZFNjcm9sbGluZygpLgorICAg
ICAgICAKKyAgICAgICAgQWRkIGEgV0syIFNjcm9sbGluZyBsb2cgY2hhbm5lbC4KKworICAgICAg
ICAqIFBsYXRmb3JtL0xvZ2dpbmcuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvUmVtb3RlTGF5ZXJU
cmVlL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHkubW06CisgICAgICAgIChXZWJLaXQ6
OlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk6OmNvbW1pdExheWVyVHJlZSk6CisgICAg
ICAgICogVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVTY3JvbGxpbmdDb29yZGluYXRv
clByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQ
cm94eTo6dmlld3BvcnRDaGFuZ2VkVmlhRGVsZWdhdGVkU2Nyb2xsaW5nKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJveHku
aDoKKyAgICAgICAgKiBVSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZVNjcm9sbGluZ1Ry
ZWUuY3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVTY3JvbGxpbmdUcmVlOjpmaXhlZFBvc2l0
aW9uUmVjdCk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9S
ZW1vdGVTY3JvbGxpbmdUcmVlLmg6CisgICAgICAgICogVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJl
ZS9pb3MvUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eUlPUy5tbToKKyAgICAgICAgKFdl
YktpdDo6UmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eTo6Y3VycmVudExheW91dFZpZXdw
b3J0IGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQ
cm94eTo6Y3VzdG9tRml4ZWRQb3NpdGlvblJlY3QgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAq
IFVJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGlu
Z05vZGVSZW1vdGVJT1MuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lv
cy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlUmVtb3RlSU9TLm1tOgorICAgICAgICAo
V2ViS2l0OjpTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlUmVtb3RlSU9TOjp1cGRhdGVD
aGlsZE5vZGVzQWZ0ZXJTY3JvbGwpOgorICAgICAgICAoV2ViS2l0OjpTY3JvbGxpbmdUcmVlRnJh
bWVTY3JvbGxpbmdOb2RlUmVtb3RlSU9TOjp1cGRhdGVMYXllcnNBZnRlclZpZXdwb3J0Q2hhbmdl
KToKKyAgICAgICAgKFdlYktpdDo6U2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZVJlbW90
ZUlPUzo6dXBkYXRlTGF5ZXJzQWZ0ZXJBbmNlc3RvckNoYW5nZSk6CisgICAgICAgICogVUlQcm9j
ZXNzL1JlbW90ZUxheWVyVHJlZS9pb3MvU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9k
ZUlPUy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1Njcm9sbGlu
Z1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVJT1MubW06CisgICAgICAgIChXZWJLaXQ6OlNjcm9s
bGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVJT1M6OnVwZGF0ZUxheWVyc0FmdGVyQW5jZXN0
b3JDaGFuZ2UpOgorICAgICAgICAqIFVJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1Njcm9s
bGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJT1MuaDoKKyAgICAgICAgKiBVSVByb2Nlc3Mv
UmVtb3RlTGF5ZXJUcmVlL2lvcy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlSU9T
Lm1tOgorICAgICAgICAoV2ViS2l0OjpTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRl
SU9TOjp1cGRhdGVMYXllcnNBZnRlckFuY2VzdG9yQ2hhbmdlKToKKyAgICAgICAgKFdlYktpdDo6
U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZUlPUzo6dXBkYXRlQ2hpbGROb2Rlc0Fm
dGVyU2Nyb2xsKToKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXcubW06Cisg
ICAgICAgICgtW1dLQ29udGVudFZpZXcgZGlkVXBkYXRlVmlzaWJsZVJlY3Q6dW5vYnNjdXJlZFJl
Y3Q6Y29udGVudEluc2V0czp1bm9ic2N1cmVkUmVjdEluU2Nyb2xsVmlld0Nvb3JkaW5hdGVzOm9i
c2N1cmVkSW5zZXRzOnVub2JzY3VyZWRTYWZlQXJlYUluc2V0czppbnB1dFZpZXdCb3VuZHM6c2Nh
bGU6bWluaW11bVNjYWxlOmluU3RhYmxlU3RhdGU6aXNDaGFuZ2luZ09ic2N1cmVkSW5zZXRzSW50
ZXJhY3RpdmVseTplbmNsb3NlZEluU2Nyb2xsYWJsZUFuY2VzdG9yVmlldzpdKToKKwogMjAxOS0w
Mi0yMyAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBS
ZW1vdmUgcmVtbmFudHMgb2YgaU9TIFdLMSBzY3JvbGxpbmcgdHJlZSBjb2RlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuY3BwCmluZGV4IDE5ZDRhOThl
NDk3N2QwNDRhNWYyMjk4ZjZhMDg5NjViNjk5YzZiOTkuLjcwNTc3YWFlYzZjNmQwYjFhYjA2ZWM1
YTQ4ZjZhMzQ3YjEwMWJkMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL1Njcm9sbGluZ1RyZWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5n
L1Njcm9sbGluZ1RyZWUuY3BwCkBAIC0xMjIsMTMgKzEyMiwxNSBAQCBTY3JvbGxpbmdFdmVudFJl
c3VsdCBTY3JvbGxpbmdUcmVlOjpoYW5kbGVXaGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxF
dmVudCYgdwogICAgIHJldHVybiBTY3JvbGxpbmdFdmVudFJlc3VsdDo6RGlkTm90SGFuZGxlRXZl
bnQ7CiB9CiAKLXZvaWQgU2Nyb2xsaW5nVHJlZTo6dmlld3BvcnRDaGFuZ2VkVmlhRGVsZWdhdGVk
U2Nyb2xsaW5nKFNjcm9sbGluZ05vZGVJRCBub2RlSUQsIGNvbnN0IEZsb2F0UmVjdCYgZml4ZWRQ
b3NpdGlvblJlY3QsIGRvdWJsZSBzY2FsZSkKK3ZvaWQgU2Nyb2xsaW5nVHJlZTo6bWFpbkZyYW1l
Vmlld3BvcnRDaGFuZ2VkVmlhRGVsZWdhdGVkU2Nyb2xsaW5nKGNvbnN0IEZsb2F0UmVjdCYgbGF5
b3V0Vmlld3BvcnQsIGRvdWJsZSBzY2FsZSkKIHsKLSAgICBhdXRvKiBub2RlID0gbm9kZUZvcklE
KG5vZGVJRCk7Ci0gICAgaWYgKCFpczxTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZT4obm9kZSkp
Ci0gICAgICAgIHJldHVybjsKLQotICAgIGRvd25jYXN0PFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdO
b2RlPigqbm9kZSkudXBkYXRlTGF5ZXJzQWZ0ZXJWaWV3cG9ydENoYW5nZShmaXhlZFBvc2l0aW9u
UmVjdCwgc2NhbGUpOworICAgIExPR19XSVRIX1NUUkVBTShTY3JvbGxpbmcsIHN0cmVhbSA8PCAi
U2Nyb2xsaW5nVHJlZTo6dmlld3BvcnRDaGFuZ2VkVmlhRGVsZWdhdGVkU2Nyb2xsaW5nIC0gbGF5
b3V0Vmlld3BvcnQgIiA8PCBsYXlvdXRWaWV3cG9ydCk7CisgICAgCisgICAgaWYgKG1fcm9vdE5v
ZGUpIHsKKyAgICAgICAgYXV0byYgZnJhbWVTY3JvbGxpbmdOb2RlID0gZG93bmNhc3Q8U2Nyb2xs
aW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZT4oKm1fcm9vdE5vZGUpOworICAgICAgICBmcmFtZVNj
cm9sbGluZ05vZGUuc2V0TGF5b3V0Vmlld3BvcnQobGF5b3V0Vmlld3BvcnQpOworICAgICAgICBm
cmFtZVNjcm9sbGluZ05vZGUudXBkYXRlTGF5ZXJzQWZ0ZXJWaWV3cG9ydENoYW5nZShsYXlvdXRW
aWV3cG9ydCwgc2NhbGUpOworICAgIH0KIH0KIAogdm9pZCBTY3JvbGxpbmdUcmVlOjpzY3JvbGxQ
b3NpdGlvbkNoYW5nZWRWaWFEZWxlZ2F0ZWRTY3JvbGxpbmcoU2Nyb2xsaW5nTm9kZUlEIG5vZGVJ
RCwgY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYgc2Nyb2xsUG9zaXRpb24sIGJvb2wgaW5Vc2Vy
SW50ZXJhY3Rpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9T
Y3JvbGxpbmdUcmVlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdU
cmVlLmgKaW5kZXggMDAzNDVjMGMyZTUyMjczNzcyODYwNzNhOTFjNWYyNmJjN2EwNzAwOS4uZWQx
NGE4ZmEyZWRmYWJkODUxZTMwODU0MGMzNTIxMmM4OTM3ZDQ5NSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuaApAQCAtODIsNyArODIsNyBAQCBwdWJs
aWM6CiAKICAgICAvLyBEZWxlZ2F0ZWQgc2Nyb2xsaW5nL3pvb21pbmcgaGFzIGNhdXNlZCB0aGUg
dmlld3BvcnQgdG8gY2hhbmdlLCBzbyB1cGRhdGUgdmlld3BvcnQtY29uc3RyYWluZWQgbGF5ZXJz
CiAgICAgLy8gKGJ1dCBkb24ndCBjYXVzZSBzY3JvbGwgZXZlbnRzIHRvIGJlIGZpcmVkKS4KLSAg
ICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFsIHZvaWQgdmlld3BvcnRDaGFuZ2VkVmlhRGVsZWdhdGVk
U2Nyb2xsaW5nKFNjcm9sbGluZ05vZGVJRCwgY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiBmaXhl
ZFBvc2l0aW9uUmVjdCwgZG91YmxlIHNjYWxlKTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFs
IHZvaWQgbWFpbkZyYW1lVmlld3BvcnRDaGFuZ2VkVmlhRGVsZWdhdGVkU2Nyb2xsaW5nKGNvbnN0
IFdlYkNvcmU6OkZsb2F0UmVjdCYgbGF5b3V0Vmlld3BvcnQsIGRvdWJsZSBzY2FsZSk7CiAKICAg
ICAvLyBEZWxlZ2F0ZWQgc2Nyb2xsaW5nIGhhcyBzY3JvbGxlZCBhIG5vZGUuIFVwZGF0ZSBsYXll
ciBwb3NpdGlvbnMgb24gZGVzY2VuZGFudCB0cmVlIG5vZGVzLAogICAgIC8vIGFuZCBjYWxsIHNj
cm9sbGluZ1RyZWVOb2RlRGlkU2Nyb2xsKCkuCkBAIC05NCw3ICs5NCw2IEBAIHB1YmxpYzoKICAg
ICBGbG9hdFBvaW50IG1haW5GcmFtZVNjcm9sbFBvc2l0aW9uKCk7CiAgICAgCiAjaWYgUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKLSAgICB2aXJ0dWFsIEZsb2F0UmVjdCBmaXhlZFBvc2l0aW9uUmVjdCgp
ID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsaW5nVHJlZU5vZGVXaWxsU3RhcnRQYW5HZXN0
dXJlKCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIHNjcm9sbGluZ1RyZWVOb2RlV2lsbFN0YXJ0U2Ny
b2xsKCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIHNjcm9sbGluZ1RyZWVOb2RlRGlkRW5kU2Nyb2xs
KCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxp
bmdUcmVlRnJhbWVIb3N0aW5nTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9TY3JvbGxpbmdUcmVlRnJhbWVIb3N0aW5nTm9kZS5jcHAKaW5kZXggZTE2MDdlNzcwMGI3NTcx
MjQ1MjY1MzFkZDE5MGNmNDRiZmJhY2Y1ZS4uNjkxYmU2Y2VjMjEyZGMxOWMwNmQ3Njg5ZDUxNDYx
MzA3N2RiNzg1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Ny
b2xsaW5nVHJlZUZyYW1lSG9zdGluZ05vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
c2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVGcmFtZUhvc3RpbmdOb2RlLmNwcApAQCAtNTcsMTMgKzU3
LDEzIEBAIHZvaWQgU2Nyb2xsaW5nVHJlZUZyYW1lSG9zdGluZ05vZGU6OmNvbW1pdFN0YXRlQmVm
b3JlQ2hpbGRyZW4oY29uc3QgU2Nyb2xsaW5nU3RhCiAgICAgICAgIG1fcGFyZW50UmVsYXRpdmVT
Y3JvbGxhYmxlUmVjdCA9IGZyYW1lSG9zdGluZ1N0YXRlTm9kZS5wYXJlbnRSZWxhdGl2ZVNjcm9s
bGFibGVSZWN0KCk7CiB9CiAKLXZvaWQgU2Nyb2xsaW5nVHJlZUZyYW1lSG9zdGluZ05vZGU6OnVw
ZGF0ZUxheWVyc0FmdGVyQW5jZXN0b3JDaGFuZ2UoY29uc3QgU2Nyb2xsaW5nVHJlZU5vZGUmIGNo
YW5nZWROb2RlLCBjb25zdCBGbG9hdFJlY3QmIGZpeGVkUG9zaXRpb25SZWN0LCBjb25zdCBGbG9h
dFNpemUmIGN1bXVsYXRpdmVEZWx0YSkKK3ZvaWQgU2Nyb2xsaW5nVHJlZUZyYW1lSG9zdGluZ05v
ZGU6OnVwZGF0ZUxheWVyc0FmdGVyQW5jZXN0b3JDaGFuZ2UoY29uc3QgU2Nyb2xsaW5nVHJlZU5v
ZGUmIGNoYW5nZWROb2RlLCBjb25zdCBGbG9hdFJlY3QmIGxheW91dFZpZXdwb3J0LCBjb25zdCBG
bG9hdFNpemUmIGN1bXVsYXRpdmVEZWx0YSkKIHsKICAgICBpZiAoIW1fY2hpbGRyZW4pCiAgICAg
ICAgIHJldHVybjsKIAogICAgIGZvciAoYXV0byYgY2hpbGQgOiAqbV9jaGlsZHJlbikKLSAgICAg
ICAgY2hpbGQtPnVwZGF0ZUxheWVyc0FmdGVyQW5jZXN0b3JDaGFuZ2UoY2hhbmdlZE5vZGUsIGZp
eGVkUG9zaXRpb25SZWN0LCBjdW11bGF0aXZlRGVsdGEpOworICAgICAgICBjaGlsZC0+dXBkYXRl
TGF5ZXJzQWZ0ZXJBbmNlc3RvckNoYW5nZShjaGFuZ2VkTm9kZSwgbGF5b3V0Vmlld3BvcnQsIGN1
bXVsYXRpdmVEZWx0YSk7CiB9CiAKIExheW91dFBvaW50IFNjcm9sbGluZ1RyZWVGcmFtZUhvc3Rp
bmdOb2RlOjpwYXJlbnRUb0xvY2FsUG9pbnQoTGF5b3V0UG9pbnQgcG9pbnQpIGNvbnN0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlRnJhbWVI
b3N0aW5nTm9kZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJl
ZUZyYW1lSG9zdGluZ05vZGUuaAppbmRleCBkZGY3YWRjNjFjNDA1ZTczOTg2MzVkNDNlNjUwNWQw
OTk0Y2ViN2M1Li5jYmY1OGM1N2RjYjAzNzgwMDY4NGVmYTJkNmI1NWQ2NjMxNzRkOTU1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlRnJhbWVI
b3N0aW5nTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGlu
Z1RyZWVGcmFtZUhvc3RpbmdOb2RlLmgKQEAgLTQyLDcgKzQyLDcgQEAgcHJpdmF0ZToKICAgICBT
Y3JvbGxpbmdUcmVlRnJhbWVIb3N0aW5nTm9kZShTY3JvbGxpbmdUcmVlJiwgU2Nyb2xsaW5nTm9k
ZUlEKTsKIAogICAgIHZvaWQgY29tbWl0U3RhdGVCZWZvcmVDaGlsZHJlbihjb25zdCBTY3JvbGxp
bmdTdGF0ZU5vZGUmKSBmaW5hbDsKLSAgICB2b2lkIHVwZGF0ZUxheWVyc0FmdGVyQW5jZXN0b3JD
aGFuZ2UoY29uc3QgU2Nyb2xsaW5nVHJlZU5vZGUmIGNoYW5nZWROb2RlLCBjb25zdCBGbG9hdFJl
Y3QmIGZpeGVkUG9zaXRpb25SZWN0LCBjb25zdCBGbG9hdFNpemUmIGN1bXVsYXRpdmVEZWx0YSkg
ZmluYWw7CisgICAgdm9pZCB1cGRhdGVMYXllcnNBZnRlckFuY2VzdG9yQ2hhbmdlKGNvbnN0IFNj
cm9sbGluZ1RyZWVOb2RlJiBjaGFuZ2VkTm9kZSwgY29uc3QgRmxvYXRSZWN0JiBsYXlvdXRWaWV3
cG9ydCwgY29uc3QgRmxvYXRTaXplJiBjdW11bGF0aXZlRGVsdGEpIGZpbmFsOwogCiAgICAgY29u
c3QgTGF5b3V0UmVjdCYgcGFyZW50UmVsYXRpdmVTY3JvbGxhYmxlUmVjdCgpIGNvbnN0IHsgcmV0
dXJuIG1fcGFyZW50UmVsYXRpdmVTY3JvbGxhYmxlUmVjdDsgfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2Rl
LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlRnJhbWVTY3Jv
bGxpbmdOb2RlLmgKaW5kZXggOGY1YTQ2NGFmZGU4YjYwYzRkNjI5YzRmYjE0NTUzYWVkMmU3ZDYz
ZS4uMGEwNzk5NWE1NzUxMjI4YmJmNTE0YTUxMTQ1NWQyYmRjZjhhYjM3MiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5n
Tm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVG
cmFtZVNjcm9sbGluZ05vZGUuaApAQCAtNDIsOSArNDIsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBj
b21taXRTdGF0ZUJlZm9yZUNoaWxkcmVuKGNvbnN0IFNjcm9sbGluZ1N0YXRlTm9kZSYpIG92ZXJy
aWRlOwogICAgIAogICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgaW1wbGVtZW50IHRoaXMgd2hlbiB3
ZSBzdXBwb3J0IFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlcyBhcyBjaGlsZHJlbi4KLSAgICB2
b2lkIHVwZGF0ZUxheWVyc0FmdGVyQW5jZXN0b3JDaGFuZ2UoY29uc3QgU2Nyb2xsaW5nVHJlZU5v
ZGUmIC8qY2hhbmdlZE5vZGUqLywgY29uc3QgRmxvYXRSZWN0JiAvKmZpeGVkUG9zaXRpb25SZWN0
Ki8sIGNvbnN0IEZsb2F0U2l6ZSYgLypjdW11bGF0aXZlRGVsdGEqLykgb3ZlcnJpZGUgeyB9Cisg
ICAgdm9pZCB1cGRhdGVMYXllcnNBZnRlckFuY2VzdG9yQ2hhbmdlKGNvbnN0IFNjcm9sbGluZ1Ry
ZWVOb2RlJiAvKmNoYW5nZWROb2RlKi8sIGNvbnN0IEZsb2F0UmVjdCYgLypsYXlvdXRWaWV3cG9y
dCovLCBjb25zdCBGbG9hdFNpemUmIC8qY3VtdWxhdGl2ZURlbHRhKi8pIG92ZXJyaWRlIHsgfQog
Ci0gICAgdm9pZCB1cGRhdGVMYXllcnNBZnRlclZpZXdwb3J0Q2hhbmdlKGNvbnN0IEZsb2F0UmVj
dCYgZml4ZWRQb3NpdGlvblJlY3QsIGRvdWJsZSBzY2FsZSkgb3ZlcnJpZGUgPSAwOworICAgIHZv
aWQgdXBkYXRlTGF5ZXJzQWZ0ZXJWaWV3cG9ydENoYW5nZShjb25zdCBGbG9hdFJlY3QmIGxheW91
dFZpZXdwb3J0LCBkb3VibGUgc2NhbGUpIG92ZXJyaWRlID0gMDsKICAgICB2b2lkIHVwZGF0ZUxh
eWVyc0FmdGVyRGVsZWdhdGVkU2Nyb2xsKGNvbnN0IEZsb2F0UG9pbnQmKSBvdmVycmlkZSB7IH0K
IAogICAgIFN5bmNocm9ub3VzU2Nyb2xsaW5nUmVhc29ucyBzeW5jaHJvbm91c1Njcm9sbGluZ1Jl
YXNvbnMoKSBjb25zdCB7IHJldHVybiBtX3N5bmNocm9ub3VzU2Nyb2xsaW5nUmVhc29uczsgfQpA
QCAtNTQsNyArNTQsOCBAQCBwdWJsaWM6CiAgICAgRmxvYXRTaXplIHZpZXdUb0NvbnRlbnRzT2Zm
c2V0KGNvbnN0IEZsb2F0UG9pbnQmIHNjcm9sbFBvc2l0aW9uKSBjb25zdDsKICAgICBGbG9hdFJl
Y3QgbGF5b3V0Vmlld3BvcnRGb3JTY3JvbGxQb3NpdGlvbihjb25zdCBGbG9hdFBvaW50JiB2aXNp
YmxlQ29udGVudE9yaWdpbiwgZmxvYXQgc2NhbGUpIGNvbnN0OwogCi0gICAgRmxvYXRSZWN0IGZp
eGVkUG9zaXRpb25SZWN0KCkgeyByZXR1cm4gRmxvYXRSZWN0KGxhc3RDb21taXR0ZWRTY3JvbGxQ
b3NpdGlvbigpLCBzY3JvbGxhYmxlQXJlYVNpemUoKSk7IH07CisgICAgRmxvYXRSZWN0IGxheW91
dFZpZXdwb3J0KCkgY29uc3QgeyByZXR1cm4gbV9sYXlvdXRWaWV3cG9ydDsgfTsKKyAgICB2b2lk
IHNldExheW91dFZpZXdwb3J0KGNvbnN0IEZsb2F0UmVjdCYgcikgeyBtX2xheW91dFZpZXdwb3J0
ID0gcjsgfTsKIAogICAgIGZsb2F0IGZyYW1lU2NhbGVGYWN0b3IoKSBjb25zdCB7IHJldHVybiBt
X2ZyYW1lU2NhbGVGYWN0b3I7IH0KIApAQCAtNjUsOSArNjYsNiBAQCBwcm90ZWN0ZWQ6CiAgICAg
aW50IGZvb3RlckhlaWdodCgpIGNvbnN0IHsgcmV0dXJuIG1fZm9vdGVySGVpZ2h0OyB9CiAgICAg
ZmxvYXQgdG9wQ29udGVudEluc2V0KCkgY29uc3QgeyByZXR1cm4gbV90b3BDb250ZW50SW5zZXQ7
IH0KIAotICAgIEZsb2F0UmVjdCBsYXlvdXRWaWV3cG9ydCgpIGNvbnN0IHsgcmV0dXJuIG1fbGF5
b3V0Vmlld3BvcnQ7IH07Ci0gICAgdm9pZCBzZXRMYXlvdXRWaWV3cG9ydChjb25zdCBGbG9hdFJl
Y3QmIHIpIHsgbV9sYXlvdXRWaWV3cG9ydCA9IHI7IH07Ci0KICAgICBGbG9hdFBvaW50IG1pbkxh
eW91dFZpZXdwb3J0T3JpZ2luKCkgY29uc3QgeyByZXR1cm4gbV9taW5MYXlvdXRWaWV3cG9ydE9y
aWdpbjsgfQogICAgIEZsb2F0UG9pbnQgbWF4TGF5b3V0Vmlld3BvcnRPcmlnaW4oKSBjb25zdCB7
IHJldHVybiBtX21heExheW91dFZpZXdwb3J0T3JpZ2luOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVOb2RlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlTm9kZS5oCmluZGV4IGU5ZjU4YWFkMDcy
MDM4YzEyYTljNjU0OWY2MWM3MWFkMDlhNWY1ODcuLjc3ZjNjNTM3OGE2ZDQ4OTM3ZmYzZWYzMGM0
YTQzY2IxMzc1NWU1ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5n
L1Njcm9sbGluZ1RyZWVOb2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcv
U2Nyb2xsaW5nVHJlZU5vZGUuaApAQCAtNTgsNyArNTgsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCB2b2lkIGNvbW1pdFN0YXRlQmVmb3JlQ2hpbGRyZW4oY29uc3QgU2Nyb2xsaW5nU3RhdGVOb2Rl
JikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBjb21taXRTdGF0ZUFmdGVyQ2hpbGRyZW4oY29uc3Qg
U2Nyb2xsaW5nU3RhdGVOb2RlJikgeyB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlTGF5ZXJz
QWZ0ZXJBbmNlc3RvckNoYW5nZShjb25zdCBTY3JvbGxpbmdUcmVlTm9kZSYgY2hhbmdlZE5vZGUs
IGNvbnN0IEZsb2F0UmVjdCYgZml4ZWRQb3NpdGlvblJlY3QsIGNvbnN0IEZsb2F0U2l6ZSYgY3Vt
dWxhdGl2ZURlbHRhKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHVwZGF0ZUxheWVyc0FmdGVyQW5j
ZXN0b3JDaGFuZ2UoY29uc3QgU2Nyb2xsaW5nVHJlZU5vZGUmIGNoYW5nZWROb2RlLCBjb25zdCBG
bG9hdFJlY3QmIGxheW91dFZpZXdwb3J0LCBjb25zdCBGbG9hdFNpemUmIGN1bXVsYXRpdmVEZWx0
YSkgPSAwOwogCiAgICAgU2Nyb2xsaW5nVHJlZU5vZGUqIHBhcmVudCgpIGNvbnN0IHsgcmV0dXJu
IG1fcGFyZW50OyB9CiAgICAgdm9pZCBzZXRQYXJlbnQoU2Nyb2xsaW5nVHJlZU5vZGUqIHBhcmVu
dCkgeyBtX3BhcmVudCA9IHBhcmVudDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUuY3BwCmluZGV4IDQ1
ZGFmY2NhOWY5YmI4MzVhZGE5NGFmYjM2NDE2NTFiNDI3NDkzNzkuLjU4MzQ4NTQwNDA2ZTA2YjQw
N2RmZTkzNGFlNzcyNTNjYTUyNDQ0NzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
c2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5jcHAKQEAgLTEx
MywxMyArMTEzLDEzIEBAIHZvaWQgU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGU6OmNvbW1pdFN0
YXRlQWZ0ZXJDaGlsZHJlbihjb25zdCBTY3JvbGxpbmdTdGF0ZU5vCiAgICAgICAgIHNjcm9sbGlu
Z1RyZWUoKS5zY3JvbGxpbmdUcmVlTm9kZVJlcXVlc3RzU2Nyb2xsKHNjcm9sbGluZ05vZGVJRCgp
LCBzY3JvbGxpbmdTdGF0ZU5vZGUucmVxdWVzdGVkU2Nyb2xsUG9zaXRpb24oKSwgc2Nyb2xsaW5n
U3RhdGVOb2RlLnJlcXVlc3RlZFNjcm9sbFBvc2l0aW9uUmVwcmVzZW50c1Byb2dyYW1tYXRpY1Nj
cm9sbCgpKTsKIH0KIAotdm9pZCBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZTo6dXBkYXRlTGF5
ZXJzQWZ0ZXJBbmNlc3RvckNoYW5nZShjb25zdCBTY3JvbGxpbmdUcmVlTm9kZSYgY2hhbmdlZE5v
ZGUsIGNvbnN0IEZsb2F0UmVjdCYgZml4ZWRQb3NpdGlvblJlY3QsIGNvbnN0IEZsb2F0U2l6ZSYg
Y3VtdWxhdGl2ZURlbHRhKQordm9pZCBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZTo6dXBkYXRl
TGF5ZXJzQWZ0ZXJBbmNlc3RvckNoYW5nZShjb25zdCBTY3JvbGxpbmdUcmVlTm9kZSYgY2hhbmdl
ZE5vZGUsIGNvbnN0IEZsb2F0UmVjdCYgbGF5b3V0Vmlld3BvcnQsIGNvbnN0IEZsb2F0U2l6ZSYg
Y3VtdWxhdGl2ZURlbHRhKQogewogICAgIGlmICghbV9jaGlsZHJlbikKICAgICAgICAgcmV0dXJu
OwogCiAgICAgZm9yIChhdXRvJiBjaGlsZCA6ICptX2NoaWxkcmVuKQotICAgICAgICBjaGlsZC0+
dXBkYXRlTGF5ZXJzQWZ0ZXJBbmNlc3RvckNoYW5nZShjaGFuZ2VkTm9kZSwgZml4ZWRQb3NpdGlv
blJlY3QsIGN1bXVsYXRpdmVEZWx0YSk7CisgICAgICAgIGNoaWxkLT51cGRhdGVMYXllcnNBZnRl
ckFuY2VzdG9yQ2hhbmdlKGNoYW5nZWROb2RlLCBsYXlvdXRWaWV3cG9ydCwgY3VtdWxhdGl2ZURl
bHRhKTsKIH0KIAogU2Nyb2xsaW5nRXZlbnRSZXN1bHQgU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05v
ZGU6OmhhbmRsZVdoZWVsRXZlbnQoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JikKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdO
b2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xs
aW5nTm9kZS5oCmluZGV4IGI3ODQ4M2M5ZWEyMTFmNzJiNGYwZmMxMDM0NDJjZGU4OWVmYzE4YjMu
Ljg2Nzk0Nzk0NTM3Y2UwZTc3ODI1MzEzNzRmNzlmYTQwNTRiMjhiYzIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGlu
Z05vZGUuaApAQCAtNTAsMTQgKzUwLDE0IEBAIHB1YmxpYzoKICAgICB2b2lkIGNvbW1pdFN0YXRl
QmVmb3JlQ2hpbGRyZW4oY29uc3QgU2Nyb2xsaW5nU3RhdGVOb2RlJikgb3ZlcnJpZGU7CiAgICAg
dm9pZCBjb21taXRTdGF0ZUFmdGVyQ2hpbGRyZW4oY29uc3QgU2Nyb2xsaW5nU3RhdGVOb2RlJikg
b3ZlcnJpZGU7CiAKLSAgICB2b2lkIHVwZGF0ZUxheWVyc0FmdGVyQW5jZXN0b3JDaGFuZ2UoY29u
c3QgU2Nyb2xsaW5nVHJlZU5vZGUmIGNoYW5nZWROb2RlLCBjb25zdCBGbG9hdFJlY3QmIGZpeGVk
UG9zaXRpb25SZWN0LCBjb25zdCBGbG9hdFNpemUmIGN1bXVsYXRpdmVEZWx0YSkgb3ZlcnJpZGU7
CisgICAgdm9pZCB1cGRhdGVMYXllcnNBZnRlckFuY2VzdG9yQ2hhbmdlKGNvbnN0IFNjcm9sbGlu
Z1RyZWVOb2RlJiBjaGFuZ2VkTm9kZSwgY29uc3QgRmxvYXRSZWN0JiBsYXlvdXRWaWV3cG9ydCwg
Y29uc3QgRmxvYXRTaXplJiBjdW11bGF0aXZlRGVsdGEpIG92ZXJyaWRlOwogCiAgICAgdmlydHVh
bCBTY3JvbGxpbmdFdmVudFJlc3VsdCBoYW5kbGVXaGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hl
ZWxFdmVudCYpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBGbG9h
dFBvaW50JiwgU2Nyb2xsUG9zaXRpb25DbGFtcCA9IFNjcm9sbFBvc2l0aW9uQ2xhbXA6OlRvQ29u
dGVudEVkZ2VzKTsKIAogICAgIHZvaWQgc2Nyb2xsQnkoY29uc3QgRmxvYXRTaXplJiwgU2Nyb2xs
UG9zaXRpb25DbGFtcCA9IFNjcm9sbFBvc2l0aW9uQ2xhbXA6OlRvQ29udGVudEVkZ2VzKTsKIAot
ICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVMYXllcnNBZnRlclZpZXdwb3J0Q2hhbmdlKGNvbnN0IEZs
b2F0UmVjdCYgZml4ZWRQb3NpdGlvblJlY3QsIGRvdWJsZSBzY2FsZSkgPSAwOworICAgIHZpcnR1
YWwgdm9pZCB1cGRhdGVMYXllcnNBZnRlclZpZXdwb3J0Q2hhbmdlKGNvbnN0IEZsb2F0UmVjdCYg
bGF5b3V0Vmlld3BvcnQsIGRvdWJsZSBzY2FsZSkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCB1cGRh
dGVMYXllcnNBZnRlckRlbGVnYXRlZFNjcm9sbChjb25zdCBGbG9hdFBvaW50JikgeyB9CiAKICAg
ICB2aXJ0dWFsIEZsb2F0UG9pbnQgc2Nyb2xsUG9zaXRpb24oKSBjb25zdCA9IDA7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9jb2NvYS9TY3JvbGxpbmdUcmVlRml4
ZWROb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9jb2NvYS9TY3JvbGxpbmdU
cmVlRml4ZWROb2RlLmgKaW5kZXggOTQwNzI5NjUxOTIyZjRiYTc2YmZhNDNmMDM1YmU0ODg3ZGQ1
M2E0MC4uNGE5MDUzMjYwMTczNTQxYzgzMDQ0YjRmODUwODFmYWUzODkzMjhiYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvY29jb2EvU2Nyb2xsaW5nVHJlZUZpeGVk
Tm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2NvY29hL1Njcm9sbGlu
Z1RyZWVGaXhlZE5vZGUuaApAQCAtNDcsNyArNDcsNyBAQCBwcml2YXRlOgogICAgIFNjcm9sbGlu
Z1RyZWVGaXhlZE5vZGUoU2Nyb2xsaW5nVHJlZSYsIFNjcm9sbGluZ05vZGVJRCk7CiAKICAgICB2
b2lkIGNvbW1pdFN0YXRlQmVmb3JlQ2hpbGRyZW4oY29uc3QgU2Nyb2xsaW5nU3RhdGVOb2RlJikg
b3ZlcnJpZGU7Ci0gICAgdm9pZCB1cGRhdGVMYXllcnNBZnRlckFuY2VzdG9yQ2hhbmdlKGNvbnN0
IFNjcm9sbGluZ1RyZWVOb2RlJiBjaGFuZ2VkTm9kZSwgY29uc3QgRmxvYXRSZWN0JiBmaXhlZFBv
c2l0aW9uUmVjdCwgY29uc3QgRmxvYXRTaXplJiBjdW11bGF0aXZlRGVsdGEpIG92ZXJyaWRlOwor
ICAgIHZvaWQgdXBkYXRlTGF5ZXJzQWZ0ZXJBbmNlc3RvckNoYW5nZShjb25zdCBTY3JvbGxpbmdU
cmVlTm9kZSYgY2hhbmdlZE5vZGUsIGNvbnN0IEZsb2F0UmVjdCYgbGF5b3V0Vmlld3BvcnQsIGNv
bnN0IEZsb2F0U2l6ZSYgY3VtdWxhdGl2ZURlbHRhKSBvdmVycmlkZTsKIAogICAgIHZvaWQgZHVt
cFByb3BlcnRpZXMoV1RGOjpUZXh0U3RyZWFtJiwgU2Nyb2xsaW5nU3RhdGVUcmVlQXNUZXh0QmVo
YXZpb3IpIGNvbnN0IG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9jb2NvYS9TY3JvbGxpbmdUcmVlRml4ZWROb2RlLm1tIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvY29jb2EvU2Nyb2xsaW5nVHJlZUZpeGVkTm9kZS5tbQppbmRleCBk
YzJjODkxNTY5NzY5ZDMxYmFiNDNiZjMwMjdlNmI4ZDJiNGUyYjQ4Li5jYTI2ZjdmOGQxZjAwYjFm
YWJmY2JjZDM2YTlhMWNkODg2Yjk3NjM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9jb2NvYS9TY3JvbGxpbmdUcmVlRml4ZWROb2RlLm1tCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2NvY29hL1Njcm9sbGluZ1RyZWVGaXhlZE5vZGUubW0KQEAg
LTcwLDEyICs3MCwxMiBAQCBzdGF0aWMgaW5saW5lIENHUG9pbnQgb3BlcmF0b3IqKENHUG9pbnQm
IGEsIGNvbnN0IENHU2l6ZSYgYikKIH0KIH0KIAotdm9pZCBTY3JvbGxpbmdUcmVlRml4ZWROb2Rl
Ojp1cGRhdGVMYXllcnNBZnRlckFuY2VzdG9yQ2hhbmdlKGNvbnN0IFNjcm9sbGluZ1RyZWVOb2Rl
JiBjaGFuZ2VkTm9kZSwgY29uc3QgRmxvYXRSZWN0JiBmaXhlZFBvc2l0aW9uUmVjdCwgY29uc3Qg
RmxvYXRTaXplJiBjdW11bGF0aXZlRGVsdGEpCit2b2lkIFNjcm9sbGluZ1RyZWVGaXhlZE5vZGU6
OnVwZGF0ZUxheWVyc0FmdGVyQW5jZXN0b3JDaGFuZ2UoY29uc3QgU2Nyb2xsaW5nVHJlZU5vZGUm
IGNoYW5nZWROb2RlLCBjb25zdCBGbG9hdFJlY3QmIGxheW91dFZpZXdwb3J0LCBjb25zdCBGbG9h
dFNpemUmIGN1bXVsYXRpdmVEZWx0YSkKIHsKICAgICB1c2luZyBuYW1lc3BhY2UgU2Nyb2xsaW5n
VHJlZUZpeGVkTm9kZUludGVybmFsOwotICAgIEZsb2F0UG9pbnQgbGF5ZXJQb3NpdGlvbiA9IG1f
Y29uc3RyYWludHMubGF5ZXJQb3NpdGlvbkZvclZpZXdwb3J0UmVjdChmaXhlZFBvc2l0aW9uUmVj
dCk7CisgICAgRmxvYXRQb2ludCBsYXllclBvc2l0aW9uID0gbV9jb25zdHJhaW50cy5sYXllclBv
c2l0aW9uRm9yVmlld3BvcnRSZWN0KGxheW91dFZpZXdwb3J0KTsKIAotICAgIExPR19XSVRIX1NU
UkVBTShTY3JvbGxpbmcsIHN0cmVhbSA8PCAiU2Nyb2xsaW5nVHJlZUZpeGVkTm9kZSAiIDw8IHNj
cm9sbGluZ05vZGVJRCgpIDw8ICIgdXBkYXRlTGF5ZXJzQWZ0ZXJBbmNlc3RvckNoYW5nZTogbmV3
IHZpZXdwb3J0ICIgPDwgZml4ZWRQb3NpdGlvblJlY3QgPDwgIiB2aWV3cG9ydFJlY3RBdExhc3RM
YXlvdXQgIiA8PCBtX2NvbnN0cmFpbnRzLnZpZXdwb3J0UmVjdEF0TGFzdExheW91dCgpIDw8ICIg
bGFzdCBsYXllciBwb3MgIiA8PCBtX2NvbnN0cmFpbnRzLmxheWVyUG9zaXRpb25BdExhc3RMYXlv
dXQoKSA8PCAiIG5ldyBvZmZzZXQgZnJvbSB0b3AgIiA8PCAoZml4ZWRQb3NpdGlvblJlY3QueSgp
IC0gbGF5ZXJQb3NpdGlvbi55KCkpKTsKKyAgICBMT0dfV0lUSF9TVFJFQU0oU2Nyb2xsaW5nLCBz
dHJlYW0gPDwgIlNjcm9sbGluZ1RyZWVGaXhlZE5vZGUgIiA8PCBzY3JvbGxpbmdOb2RlSUQoKSA8
PCAiIHVwZGF0ZUxheWVyc0FmdGVyQW5jZXN0b3JDaGFuZ2U6IG5ldyB2aWV3cG9ydCAiIDw8IGxh
eW91dFZpZXdwb3J0IDw8ICIgdmlld3BvcnRSZWN0QXRMYXN0TGF5b3V0ICIgPDwgbV9jb25zdHJh
aW50cy52aWV3cG9ydFJlY3RBdExhc3RMYXlvdXQoKSA8PCAiIGxhc3QgbGF5ZXIgcG9zICIgPDwg
bV9jb25zdHJhaW50cy5sYXllclBvc2l0aW9uQXRMYXN0TGF5b3V0KCkgPDwgIiBuZXcgb2Zmc2V0
IGZyb20gdG9wICIgPDwgKGxheW91dFZpZXdwb3J0LnkoKSAtIGxheWVyUG9zaXRpb24ueSgpKSk7
CiAKICAgICBsYXllclBvc2l0aW9uIC09IGN1bXVsYXRpdmVEZWx0YTsKIApAQCAtOTksNyArOTks
NyBAQCB2b2lkIFNjcm9sbGluZ1RyZWVGaXhlZE5vZGU6OnVwZGF0ZUxheWVyc0FmdGVyQW5jZXN0
b3JDaGFuZ2UoY29uc3QgU2Nyb2xsaW5nVHJlZQogICAgIEZsb2F0U2l6ZSBuZXdEZWx0YSA9IGxh
eWVyUG9zaXRpb24gLSBtX2NvbnN0cmFpbnRzLmxheWVyUG9zaXRpb25BdExhc3RMYXlvdXQoKSAr
IGN1bXVsYXRpdmVEZWx0YTsKIAogICAgIGZvciAoYXV0byYgY2hpbGQgOiAqbV9jaGlsZHJlbikK
LSAgICAgICAgY2hpbGQtPnVwZGF0ZUxheWVyc0FmdGVyQW5jZXN0b3JDaGFuZ2UoY2hhbmdlZE5v
ZGUsIGZpeGVkUG9zaXRpb25SZWN0LCBuZXdEZWx0YSk7CisgICAgICAgIGNoaWxkLT51cGRhdGVM
YXllcnNBZnRlckFuY2VzdG9yQ2hhbmdlKGNoYW5nZWROb2RlLCBsYXlvdXRWaWV3cG9ydCwgbmV3
RGVsdGEpOwogfQogCiB2b2lkIFNjcm9sbGluZ1RyZWVGaXhlZE5vZGU6OmR1bXBQcm9wZXJ0aWVz
KFRleHRTdHJlYW0mIHRzLCBTY3JvbGxpbmdTdGF0ZVRyZWVBc1RleHRCZWhhdmlvciBiZWhhdmlv
cikgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2NvY29h
L1Njcm9sbGluZ1RyZWVTdGlja3lOb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9jb2NvYS9TY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZS5oCmluZGV4IDJkZWY1ZDJlN2MyMDU3MDAz
MWUwMzgxNmRhOGE2MDBkNzgzZmE2ZTAuLjFhYjI5ZTNmNmYzZDE0YWRiNWI4OGMzZDA0YWIzYWIz
MGVkOWZiNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2NvY29h
L1Njcm9sbGluZ1RyZWVTdGlja3lOb2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvY29jb2EvU2Nyb2xsaW5nVHJlZVN0aWNreU5vZGUuaApAQCAtNDcsNyArNDcsNyBAQCBw
cml2YXRlOgogICAgIFNjcm9sbGluZ1RyZWVTdGlja3lOb2RlKFNjcm9sbGluZ1RyZWUmLCBTY3Jv
bGxpbmdOb2RlSUQpOwogCiAgICAgdm9pZCBjb21taXRTdGF0ZUJlZm9yZUNoaWxkcmVuKGNvbnN0
IFNjcm9sbGluZ1N0YXRlTm9kZSYpIG92ZXJyaWRlOwotICAgIHZvaWQgdXBkYXRlTGF5ZXJzQWZ0
ZXJBbmNlc3RvckNoYW5nZShjb25zdCBTY3JvbGxpbmdUcmVlTm9kZSYgY2hhbmdlZE5vZGUsIGNv
bnN0IEZsb2F0UmVjdCYgZml4ZWRQb3NpdGlvblJlY3QsIGNvbnN0IEZsb2F0U2l6ZSYgY3VtdWxh
dGl2ZURlbHRhKSBvdmVycmlkZTsKKyAgICB2b2lkIHVwZGF0ZUxheWVyc0FmdGVyQW5jZXN0b3JD
aGFuZ2UoY29uc3QgU2Nyb2xsaW5nVHJlZU5vZGUmIGNoYW5nZWROb2RlLCBjb25zdCBGbG9hdFJl
Y3QmIGxheW91dFZpZXdwb3J0LCBjb25zdCBGbG9hdFNpemUmIGN1bXVsYXRpdmVEZWx0YSkgb3Zl
cnJpZGU7CiAKICAgICB2b2lkIGR1bXBQcm9wZXJ0aWVzKFdURjo6VGV4dFN0cmVhbSYsIFNjcm9s
bGluZ1N0YXRlVHJlZUFzVGV4dEJlaGF2aW9yKSBjb25zdCBvdmVycmlkZTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvY29jb2EvU2Nyb2xsaW5nVHJlZVN0aWNr
eU5vZGUubW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9jb2NvYS9TY3JvbGxpbmdU
cmVlU3RpY2t5Tm9kZS5tbQppbmRleCA5Mzc0ODRhYzMwOGNkYmY2M2I0MmYxOWFkZDAyM2Q3M2I3
MjAxNWQ4Li5jODk4Y2FjMzJjNzBiODhiNmQxMGQzNjYwZTg2YjA4OGUxYmZiYThlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9jb2NvYS9TY3JvbGxpbmdUcmVlU3Rp
Y2t5Tm9kZS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9jb2NvYS9TY3Jv
bGxpbmdUcmVlU3RpY2t5Tm9kZS5tbQpAQCAtNzIsNyArNzIsNyBAQCBzdGF0aWMgaW5saW5lIENH
UG9pbnQgb3BlcmF0b3IqKENHUG9pbnQmIGEsIGNvbnN0IENHU2l6ZSYgYikKIH0KIH0KIAotdm9p
ZCBTY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZTo6dXBkYXRlTGF5ZXJzQWZ0ZXJBbmNlc3RvckNoYW5n
ZShjb25zdCBTY3JvbGxpbmdUcmVlTm9kZSYgY2hhbmdlZE5vZGUsIGNvbnN0IEZsb2F0UmVjdCYg
Zml4ZWRQb3NpdGlvblJlY3QsIGNvbnN0IEZsb2F0U2l6ZSYgY3VtdWxhdGl2ZURlbHRhKQordm9p
ZCBTY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZTo6dXBkYXRlTGF5ZXJzQWZ0ZXJBbmNlc3RvckNoYW5n
ZShjb25zdCBTY3JvbGxpbmdUcmVlTm9kZSYgY2hhbmdlZE5vZGUsIGNvbnN0IEZsb2F0UmVjdCYg
bGF5b3V0Vmlld3BvcnQsIGNvbnN0IEZsb2F0U2l6ZSYgY3VtdWxhdGl2ZURlbHRhKQogewogICAg
IHVzaW5nIG5hbWVzcGFjZSBTY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZUludGVybmFsOwogICAgIGJv
b2wgYWRqdXN0U3RpY2t5TGF5ZXIgPSBmYWxzZTsKQEAgLTgyLDExICs4MiwxMSBAQCB2b2lkIFNj
cm9sbGluZ1RyZWVTdGlja3lOb2RlOjp1cGRhdGVMYXllcnNBZnRlckFuY2VzdG9yQ2hhbmdlKGNv
bnN0IFNjcm9sbGluZ1RyZQogICAgICAgICBjb25zdHJhaW5pbmdSZWN0ID0gRmxvYXRSZWN0KGRv
d25jYXN0PFNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGU+KCpwYXJlbnQoKSkuc2Ny
b2xsUG9zaXRpb24oKSwgbV9jb25zdHJhaW50cy5jb25zdHJhaW5pbmdSZWN0QXRMYXN0TGF5b3V0
KCkuc2l6ZSgpKTsKICAgICAgICAgYWRqdXN0U3RpY2t5TGF5ZXIgPSB0cnVlOwogICAgIH0gZWxz
ZSBpZiAoaXM8U2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZT4oKnBhcmVudCgpKSkgewot
ICAgICAgICBjb25zdHJhaW5pbmdSZWN0ID0gZml4ZWRQb3NpdGlvblJlY3Q7CisgICAgICAgIGNv
bnN0cmFpbmluZ1JlY3QgPSBsYXlvdXRWaWV3cG9ydDsKICAgICAgICAgYWRqdXN0U3RpY2t5TGF5
ZXIgPSB0cnVlOwogICAgIH0KIAotICAgIExPR19XSVRIX1NUUkVBTShTY3JvbGxpbmcsIHN0cmVh
bSA8PCAiU2Nyb2xsaW5nVHJlZVN0aWNreU5vZGUgIiA8PCBzY3JvbGxpbmdOb2RlSUQoKSA8PCAi
IHVwZGF0ZUxheWVyc0FmdGVyQW5jZXN0b3JDaGFuZ2U6IG5ldyB2aWV3cG9ydCAiIDw8IGZpeGVk
UG9zaXRpb25SZWN0IDw8ICIgY29uc3RyYWluaW5nUmVjdEF0TGFzdExheW91dCAiIDw8IG1fY29u
c3RyYWludHMuY29uc3RyYWluaW5nUmVjdEF0TGFzdExheW91dCgpIDw8ICIgbGFzdCBsYXllciBw
b3MgIiA8PCBtX2NvbnN0cmFpbnRzLmxheWVyUG9zaXRpb25BdExhc3RMYXlvdXQoKSA8PCAiIGFk
anVzdFN0aWNreUxheWVyICIgPDwgYWRqdXN0U3RpY2t5TGF5ZXIpOworICAgIExPR19XSVRIX1NU
UkVBTShTY3JvbGxpbmcsIHN0cmVhbSA8PCAiU2Nyb2xsaW5nVHJlZVN0aWNreU5vZGUgIiA8PCBz
Y3JvbGxpbmdOb2RlSUQoKSA8PCAiIHVwZGF0ZUxheWVyc0FmdGVyQW5jZXN0b3JDaGFuZ2U6IG5l
dyB2aWV3cG9ydCAiIDw8IGxheW91dFZpZXdwb3J0IDw8ICIgY29uc3RyYWluaW5nUmVjdEF0TGFz
dExheW91dCAiIDw8IG1fY29uc3RyYWludHMuY29uc3RyYWluaW5nUmVjdEF0TGFzdExheW91dCgp
IDw8ICIgbGFzdCBsYXllciBwb3MgIiA8PCBtX2NvbnN0cmFpbnRzLmxheWVyUG9zaXRpb25BdExh
c3RMYXlvdXQoKSA8PCAiIGFkanVzdFN0aWNreUxheWVyICIgPDwgYWRqdXN0U3RpY2t5TGF5ZXIp
OwogCiAgICAgRmxvYXRTaXplIGRlbHRhRm9yRGVzY2VuZGFudHMgPSBjdW11bGF0aXZlRGVsdGE7
CiAKQEAgLTEwNSw3ICsxMDUsNyBAQCB2b2lkIFNjcm9sbGluZ1RyZWVTdGlja3lOb2RlOjp1cGRh
dGVMYXllcnNBZnRlckFuY2VzdG9yQ2hhbmdlKGNvbnN0IFNjcm9sbGluZ1RyZQogICAgICAgICBy
ZXR1cm47CiAKICAgICBmb3IgKGF1dG8mIGNoaWxkIDogKm1fY2hpbGRyZW4pCi0gICAgICAgIGNo
aWxkLT51cGRhdGVMYXllcnNBZnRlckFuY2VzdG9yQ2hhbmdlKGNoYW5nZWROb2RlLCBmaXhlZFBv
c2l0aW9uUmVjdCwgZGVsdGFGb3JEZXNjZW5kYW50cyk7CisgICAgICAgIGNoaWxkLT51cGRhdGVM
YXllcnNBZnRlckFuY2VzdG9yQ2hhbmdlKGNoYW5nZWROb2RlLCBsYXlvdXRWaWV3cG9ydCwgZGVs
dGFGb3JEZXNjZW5kYW50cyk7CiB9CiAKIHZvaWQgU2Nyb2xsaW5nVHJlZVN0aWNreU5vZGU6OmR1
bXBQcm9wZXJ0aWVzKFRleHRTdHJlYW0mIHRzLCBTY3JvbGxpbmdTdGF0ZVRyZWVBc1RleHRCZWhh
dmlvciBiZWhhdmlvcikgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9k
ZU1hYy5oCmluZGV4IDYxMGY2ZGIzODViY2ExOWUwNzg5OWI5NDQ0OGVhY2QzNzMzYWNlZTQuLjgw
NmZhMThiYzQ2ZGY3Y2FiZjA3MzYxZWQyZDVmMmJjYTg3MWQ4ZmUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdO
b2RlTWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGlu
Z1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWMuaApAQCAtNTYsNyArNTYsNyBAQCBwcm90ZWN0ZWQ6
CiAgICAgRmxvYXRQb2ludCBzY3JvbGxQb3NpdGlvbigpIGNvbnN0IG92ZXJyaWRlOwogICAgIHZv
aWQgc2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgRmxvYXRQb2ludCYsIFNjcm9sbFBvc2l0aW9uQ2xh
bXAgPSBTY3JvbGxQb3NpdGlvbkNsYW1wOjpUb0NvbnRlbnRFZGdlcykgb3ZlcnJpZGU7CiAKLSAg
ICB2b2lkIHVwZGF0ZUxheWVyc0FmdGVyVmlld3BvcnRDaGFuZ2UoY29uc3QgRmxvYXRSZWN0JiBm
aXhlZFBvc2l0aW9uUmVjdCwgZG91YmxlIHNjYWxlKSBvdmVycmlkZTsKKyAgICB2b2lkIHVwZGF0
ZUxheWVyc0FmdGVyVmlld3BvcnRDaGFuZ2UoY29uc3QgRmxvYXRSZWN0JiBsYXlvdXRWaWV3cG9y
dCwgZG91YmxlIHNjYWxlKSBvdmVycmlkZTsKIAogICAgIHZvaWQgc2V0U2Nyb2xsTGF5ZXJQb3Np
dGlvbihjb25zdCBGbG9hdFBvaW50JiwgY29uc3QgRmxvYXRSZWN0JiBsYXlvdXRWaWV3cG9ydCkg
b3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21h
Yy9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1h
Yy5oCmluZGV4IDgwZTk4NzcxNzdlYWE4ZGJkYzFlZGRkOTdjYThhM2VhNTNmMmZmNGEuLjJmZWY1
MzE5YzA1NzlhN2FiNTMxOTQwNzA2YjMyZjNkNjQ3OTIzYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdO
b2RlTWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGlu
Z1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVNYWMuaApAQCAtNTMsNyArNTMsNyBAQCBwcml2YXRl
OgogICAgIHZvaWQgdXBkYXRlTGF5ZXJzQWZ0ZXJWaWV3cG9ydENoYW5nZShjb25zdCBGbG9hdFJl
Y3QmLCBkb3VibGUpIG92ZXJyaWRlIHsgfQogICAgIHZvaWQgdXBkYXRlTGF5ZXJzQWZ0ZXJEZWxl
Z2F0ZWRTY3JvbGwoY29uc3QgRmxvYXRQb2ludCYgc2Nyb2xsUG9zaXRpb24pIG92ZXJyaWRlOwog
Ci0gICAgdm9pZCB1cGRhdGVMYXllcnNBZnRlckFuY2VzdG9yQ2hhbmdlKGNvbnN0IFNjcm9sbGlu
Z1RyZWVOb2RlJiBjaGFuZ2VkTm9kZSwgY29uc3QgRmxvYXRSZWN0JiBmaXhlZFBvc2l0aW9uUmVj
dCwgY29uc3QgRmxvYXRTaXplJiBjdW11bGF0aXZlRGVsdGEpIG92ZXJyaWRlOworICAgIHZvaWQg
dXBkYXRlTGF5ZXJzQWZ0ZXJBbmNlc3RvckNoYW5nZShjb25zdCBTY3JvbGxpbmdUcmVlTm9kZSYg
Y2hhbmdlZE5vZGUsIGNvbnN0IEZsb2F0UmVjdCYgbGF5b3V0Vmlld3BvcnQsIGNvbnN0IEZsb2F0
U2l6ZSYgY3VtdWxhdGl2ZURlbHRhKSBvdmVycmlkZTsKIAogICAgIFNjcm9sbGluZ0V2ZW50UmVz
dWx0IGhhbmRsZVdoZWVsRXZlbnQoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50Jikgb3ZlcnJpZGU7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxp
bmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGFnZS9z
Y3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVNYWMubW0KaW5k
ZXggYjQ5YTMyYTgyYzAzMjQ5NDQwYTRiN2Q3OTljY2JiYTQ3NTBkZWFkMy4uN2UyNmY2MGU0NGQx
NzM0ODczZDI5OWU1NzA2M2JhMDRkMGQ5NzRlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVNYWMu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVP
dmVyZmxvd1Njcm9sbGluZ05vZGVNYWMubW0KQEAgLTkzLDEwICs5MywxMCBAQCBTY3JvbGxpbmdF
dmVudFJlc3VsdCBTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjOjpoYW5kbGVX
aGVlbEV2ZW50KGNvbgogCiAKIAotdm9pZCBTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdO
b2RlTWFjOjp1cGRhdGVMYXllcnNBZnRlckFuY2VzdG9yQ2hhbmdlKGNvbnN0IFNjcm9sbGluZ1Ry
ZWVOb2RlJiBjaGFuZ2VkTm9kZSwgY29uc3QgRmxvYXRSZWN0JiBmaXhlZFBvc2l0aW9uUmVjdCwg
Y29uc3QgRmxvYXRTaXplJiBjdW11bGF0aXZlRGVsdGEpCit2b2lkIFNjcm9sbGluZ1RyZWVPdmVy
Zmxvd1Njcm9sbGluZ05vZGVNYWM6OnVwZGF0ZUxheWVyc0FmdGVyQW5jZXN0b3JDaGFuZ2UoY29u
c3QgU2Nyb2xsaW5nVHJlZU5vZGUmIGNoYW5nZWROb2RlLCBjb25zdCBGbG9hdFJlY3QmIGxheW91
dFZpZXdwb3J0LCBjb25zdCBGbG9hdFNpemUmIGN1bXVsYXRpdmVEZWx0YSkKIHsKICAgICBVTlVT
RURfUEFSQU0oY2hhbmdlZE5vZGUpOwotICAgIFVOVVNFRF9QQVJBTShmaXhlZFBvc2l0aW9uUmVj
dCk7CisgICAgVU5VU0VEX1BBUkFNKGxheW91dFZpZXdwb3J0KTsKICAgICBVTlVTRURfUEFSQU0o
Y3VtdWxhdGl2ZURlbHRhKTsKIH0KIApAQCAtMTE2LDcgKzExNiw3IEBAIHZvaWQgU2Nyb2xsaW5n
VHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1hYzo6c2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgRmxv
YXRQb2ludCYKICAgICBTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlOjpzZXRTY3Jv
bGxQb3NpdGlvbihyb3VuZGVkUG9zaXRpb24sIGNsYW1wKTsKIH0KIAotdm9pZCBTY3JvbGxpbmdU
cmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjOjpzZXRTY3JvbGxMYXllclBvc2l0aW9uKGNvbnN0
IEZsb2F0UG9pbnQmIHNjcm9sbFBvc2l0aW9uLCBjb25zdCBGbG9hdFJlY3QmIGZpeGVkUG9zaXRp
b25SZWN0KQordm9pZCBTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjOjpzZXRT
Y3JvbGxMYXllclBvc2l0aW9uKGNvbnN0IEZsb2F0UG9pbnQmIHNjcm9sbFBvc2l0aW9uLCBjb25z
dCBGbG9hdFJlY3QmIGxheW91dFZpZXdwb3J0KQogewogICAgIExPR19XSVRIX1NUUkVBTShTY3Jv
bGxpbmcsIHN0cmVhbSA8PCAiU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1hYzo6
c2V0U2Nyb2xsTGF5ZXJQb3NpdGlvbiAiIDw8IHNjcm9sbFBvc2l0aW9uKTsKIApAQCAtMTI1LDcg
KzEyNSw3IEBAIHZvaWQgU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1hYzo6c2V0
U2Nyb2xsTGF5ZXJQb3NpdGlvbihjb25zdCBGbG9hdFBvCiAgICAgICAgIHJldHVybjsKIAogICAg
IGZvciAoYXV0byYgY2hpbGQgOiAqbV9jaGlsZHJlbikKLSAgICAgICAgY2hpbGQtPnVwZGF0ZUxh
eWVyc0FmdGVyQW5jZXN0b3JDaGFuZ2UoKnRoaXMsIGZpeGVkUG9zaXRpb25SZWN0LCB7IH0pOwor
ICAgICAgICBjaGlsZC0+dXBkYXRlTGF5ZXJzQWZ0ZXJBbmNlc3RvckNoYW5nZSgqdGhpcywgbGF5
b3V0Vmlld3BvcnQsIHsgfSk7CiB9CiAKIHZvaWQgU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xs
aW5nTm9kZU1hYzo6dXBkYXRlTGF5ZXJzQWZ0ZXJEZWxlZ2F0ZWRTY3JvbGwoY29uc3QgRmxvYXRQ
b2ludCYgc2Nyb2xsUG9zaXRpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3Jt
L0xvZ2dpbmcuaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vTG9nZ2luZy5oCmluZGV4IDU5Y2Vl
ODUzMDc5MzAwYjhiMWViMjQyN2M2M2M2MTBlNmQ2MDUxMDkuLjk2ZTQzNjEwMTI0NDI2NGYwODY4
OTBmZWQ4ZTkzNGUzOGFhYjBmNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0v
TG9nZ2luZy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vTG9nZ2luZy5oCkBAIC03NSw2
ICs3NSw3IEBAIGV4dGVybiAiQyIgewogICAgIE0oUmVzaXplKSBcCiAgICAgTShSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzKSBcCiAgICAgTShSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGVidWcpIFwKKyAg
ICBNKFNjcm9sbGluZykgXAogICAgIE0oU2VsZWN0aW9uKSBcCiAgICAgTShTZXJ2aWNlV29ya2Vy
KSBcCiAgICAgTShTZXNzaW9uU3RhdGUpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5Lm1t
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJl
ZURyYXdpbmdBcmVhUHJveHkubW0KaW5kZXggODMwNTg0ZWU1MmNlZTFiNGM5MjJhYWZjNmM5ZDk5
NzdlNGE4YjY4OC4uYWY1NjI4OGMzZWZjNjJjNWQ2OTgzNGVjODQ0ZDYxYzZlYWUzNTNkZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxh
eWVyVHJlZURyYXdpbmdBcmVhUHJveHkubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
UmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHkubW0KQEAgLTIy
MCw4ICsyMjAsOCBAQCB2b2lkIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk6OmNvbW1p
dExheWVyVHJlZShjb25zdCBSZW1vdGVMYXllclRyZWVUcmFucwogI2lmIFBMQVRGT1JNKElPU19G
QU1JTFkpCiAgICAgaWYgKG1fd2ViUGFnZVByb3h5LnNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJveHko
KS0+aGFzRml4ZWRPclN0aWNreSgpKSB7CiAgICAgICAgIC8vIElmIHdlIGdvdCBhIG5ldyBsYXll
ciBmb3IgYSBmaXhlZCBvciBzdGlja3kgbm9kZSwgaXRzIHBvc2l0aW9uIGZyb20gdGhlIFdlYlBy
b2Nlc3MgaXMgcHJvYmFibHkgc3RhbGUuIFdlIG5lZWQgdG8gcmUtcnVuIHRoZSAidmlld3BvcnQi
IGNoYW5nZWQgbG9naWMgdG8gdWRwYXRlIGl0IHdpdGggb3VyIFVJLXNpZGUgc3RhdGUuCi0gICAg
ICAgIEZsb2F0UmVjdCBjdXN0b21GaXhlZFBvc2l0aW9uUmVjdCA9IG1fd2ViUGFnZVByb3h5LmNv
bXB1dGVDdXN0b21GaXhlZFBvc2l0aW9uUmVjdChtX3dlYlBhZ2VQcm94eS51bm9ic2N1cmVkQ29u
dGVudFJlY3QoKSwgbV93ZWJQYWdlUHJveHkudW5vYnNjdXJlZENvbnRlbnRSZWN0UmVzcGVjdGlu
Z0lucHV0Vmlld0JvdW5kcygpLCBtX3dlYlBhZ2VQcm94eS5jdXN0b21GaXhlZFBvc2l0aW9uUmVj
dCgpLCBtX3dlYlBhZ2VQcm94eS5kaXNwbGF5ZWRDb250ZW50U2NhbGUoKSwgRnJhbWVWaWV3OjpM
YXlvdXRWaWV3cG9ydENvbnN0cmFpbnQ6OlVuY29uc3RyYWluZWQpOwotICAgICAgICBtX3dlYlBh
Z2VQcm94eS5zY3JvbGxpbmdDb29yZGluYXRvclByb3h5KCktPnZpZXdwb3J0Q2hhbmdlZFZpYURl
bGVnYXRlZFNjcm9sbGluZyhtX3dlYlBhZ2VQcm94eS5zY3JvbGxpbmdDb29yZGluYXRvclByb3h5
KCktPnJvb3RTY3JvbGxpbmdOb2RlSUQoKSwgY3VzdG9tRml4ZWRQb3NpdGlvblJlY3QsIG1fd2Vi
UGFnZVByb3h5LmRpc3BsYXllZENvbnRlbnRTY2FsZSgpKTsKKyAgICAgICAgRmxvYXRSZWN0IGxh
eW91dFZpZXdwb3J0ID0gbV93ZWJQYWdlUHJveHkuY29tcHV0ZUN1c3RvbUZpeGVkUG9zaXRpb25S
ZWN0KG1fd2ViUGFnZVByb3h5LnVub2JzY3VyZWRDb250ZW50UmVjdCgpLCBtX3dlYlBhZ2VQcm94
eS51bm9ic2N1cmVkQ29udGVudFJlY3RSZXNwZWN0aW5nSW5wdXRWaWV3Qm91bmRzKCksIG1fd2Vi
UGFnZVByb3h5LmN1c3RvbUZpeGVkUG9zaXRpb25SZWN0KCksIG1fd2ViUGFnZVByb3h5LmRpc3Bs
YXllZENvbnRlbnRTY2FsZSgpLCBGcmFtZVZpZXc6OkxheW91dFZpZXdwb3J0Q29uc3RyYWludDo6
VW5jb25zdHJhaW5lZCk7CisgICAgICAgIG1fd2ViUGFnZVByb3h5LnNjcm9sbGluZ0Nvb3JkaW5h
dG9yUHJveHkoKS0+dmlld3BvcnRDaGFuZ2VkVmlhRGVsZWdhdGVkU2Nyb2xsaW5nKGxheW91dFZp
ZXdwb3J0LCBtX3dlYlBhZ2VQcm94eS5kaXNwbGF5ZWRDb250ZW50U2NhbGUoKSk7CiAgICAgfQog
I2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVy
VHJlZS9SZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclByb3h5
LmNwcAppbmRleCAxMGE2NzY1ZTA3MWQ2ZTFmMDk0ZjA0MzFhMDRkYzA2YmI1NWZlNGMzLi45MTNl
ZjBiYmQxOGRiYjczNDRkZDljM2U0ZGQ1YjU4ZTY2NmY2N2RjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0
b3JQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVl
L1JlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJveHkuY3BwCkBAIC0xNzMsOSArMTczLDkgQEAg
VHJhY2tpbmdUeXBlIFJlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJveHk6OmV2ZW50VHJhY2tp
bmdUeXBlRm9yUG9pbnQoY29uc3QgQXQKICAgICByZXR1cm4gbV9zY3JvbGxpbmdUcmVlLT5ldmVu
dFRyYWNraW5nVHlwZUZvclBvaW50KGV2ZW50TmFtZSwgcCk7CiB9CiAKLXZvaWQgUmVtb3RlU2Ny
b2xsaW5nQ29vcmRpbmF0b3JQcm94eTo6dmlld3BvcnRDaGFuZ2VkVmlhRGVsZWdhdGVkU2Nyb2xs
aW5nKFNjcm9sbGluZ05vZGVJRCBub2RlSUQsIGNvbnN0IEZsb2F0UmVjdCYgZml4ZWRQb3NpdGlv
blJlY3QsIGRvdWJsZSBzY2FsZSkKK3ZvaWQgUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94
eTo6dmlld3BvcnRDaGFuZ2VkVmlhRGVsZWdhdGVkU2Nyb2xsaW5nKGNvbnN0IEZsb2F0UmVjdCYg
bGF5b3V0Vmlld3BvcnQsIGRvdWJsZSBzY2FsZSkKIHsKLSAgICBtX3Njcm9sbGluZ1RyZWUtPnZp
ZXdwb3J0Q2hhbmdlZFZpYURlbGVnYXRlZFNjcm9sbGluZyhub2RlSUQsIGZpeGVkUG9zaXRpb25S
ZWN0LCBzY2FsZSk7CisgICAgbV9zY3JvbGxpbmdUcmVlLT5tYWluRnJhbWVWaWV3cG9ydENoYW5n
ZWRWaWFEZWxlZ2F0ZWRTY3JvbGxpbmcobGF5b3V0Vmlld3BvcnQsIHNjYWxlKTsKIH0KIAogdm9p
ZCBSZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclByb3h5OjpjdXJyZW50U25hcFBvaW50SW5kaWNl
c0RpZENoYW5nZShXZWJDb3JlOjpTY3JvbGxpbmdOb2RlSUQgbm9kZUlELCB1bnNpZ25lZCBob3Jp
em9udGFsLCB1bnNpZ25lZCB2ZXJ0aWNhbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclByb3h5Lmgg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvUmVtb3RlU2Nyb2xsaW5n
Q29vcmRpbmF0b3JQcm94eS5oCmluZGV4IGU1ZTQ2YWQ2Mzk5MmFhYWQyNDM2ZjAzODJlMmI3OWJk
MGUxMDVjZDguLjA1YWY4ZDU5ODgwMDg1ZTU0MTU3YTVjYmQ4OWQzNDU2MGM3ZDQ2ZTMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVTY3Jv
bGxpbmdDb29yZGluYXRvclByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVt
b3RlTGF5ZXJUcmVlL1JlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJveHkuaApAQCAtNTgsNyAr
NTgsNyBAQCBwdWJsaWM6CiAgICAgV2ViQ29yZTo6VHJhY2tpbmdUeXBlIGV2ZW50VHJhY2tpbmdU
eXBlRm9yUG9pbnQoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudE5hbWUsIFdlYkNvcmU6OkludFBv
aW50KSBjb25zdDsKIAogICAgIC8vIENhbGxlZCBleHRlcm5hbGx5IHdoZW4gbmF0aXZlIHZpZXdz
IG1vdmUgYXJvdW5kLgotICAgIHZvaWQgdmlld3BvcnRDaGFuZ2VkVmlhRGVsZWdhdGVkU2Nyb2xs
aW5nKFdlYkNvcmU6OlNjcm9sbGluZ05vZGVJRCwgY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiBm
aXhlZFBvc2l0aW9uUmVjdCwgZG91YmxlIHNjYWxlKTsKKyAgICB2b2lkIHZpZXdwb3J0Q2hhbmdl
ZFZpYURlbGVnYXRlZFNjcm9sbGluZyhjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIGxheW91dFZp
ZXdwb3J0LCBkb3VibGUgc2NhbGUpOwogCiAgICAgdm9pZCBjdXJyZW50U25hcFBvaW50SW5kaWNl
c0RpZENoYW5nZShXZWJDb3JlOjpTY3JvbGxpbmdOb2RlSUQsIHVuc2lnbmVkIGhvcml6b250YWws
IHVuc2lnbmVkIHZlcnRpY2FsKTsKIApAQCAtODMsNyArODMsNyBAQCBwdWJsaWM6CiAgICAgYm9v
bCBoYXNGaXhlZE9yU3RpY2t5KCkgY29uc3QgeyByZXR1cm4gbV9zY3JvbGxpbmdUcmVlLT5oYXNG
aXhlZE9yU3RpY2t5KCk7IH0KIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAgV2ViQ29y
ZTo6RmxvYXRSZWN0IGN1c3RvbUZpeGVkUG9zaXRpb25SZWN0KCkgY29uc3Q7CisgICAgV2ViQ29y
ZTo6RmxvYXRSZWN0IGN1cnJlbnRMYXlvdXRWaWV3cG9ydCgpIGNvbnN0OwogICAgIHZvaWQgc2Ny
b2xsaW5nVHJlZU5vZGVXaWxsU3RhcnRQYW5HZXN0dXJlKCk7CiAgICAgdm9pZCBzY3JvbGxpbmdU
cmVlTm9kZVdpbGxTdGFydFNjcm9sbCgpOwogICAgIHZvaWQgc2Nyb2xsaW5nVHJlZU5vZGVEaWRF
bmRTY3JvbGwoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxh
eWVyVHJlZS9SZW1vdGVTY3JvbGxpbmdUcmVlLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1JlbW90ZUxheWVyVHJlZS9SZW1vdGVTY3JvbGxpbmdUcmVlLmNwcAppbmRleCA4ZDUwZWM5YTcy
M2JhNTc0MjU2ZmU2M2VkNDE3MmEyZWIxYWNkOTlhLi5lZGIzZjE3OWNmMzg5ZDM4MDFkMjljNzc2
ZTNmZjYxOTFkMzU5NDFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1v
dGVMYXllclRyZWUvUmVtb3RlU2Nyb2xsaW5nVHJlZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZVNjcm9sbGluZ1RyZWUuY3BwCkBAIC03OCwx
MSArNzgsNiBAQCB2b2lkIFJlbW90ZVNjcm9sbGluZ1RyZWU6OmhhbmRsZVdoZWVsRXZlbnRQaGFz
ZShQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZSBwaGFzZSkKICNlbmRpZgogCiAjaWYgUExBVEZPUk0o
SU9TX0ZBTUlMWSkKLVdlYkNvcmU6OkZsb2F0UmVjdCBSZW1vdGVTY3JvbGxpbmdUcmVlOjpmaXhl
ZFBvc2l0aW9uUmVjdCgpCi17Ci0gICAgcmV0dXJuIG1fc2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94
eS5jdXN0b21GaXhlZFBvc2l0aW9uUmVjdCgpOwotfQotCiB2b2lkIFJlbW90ZVNjcm9sbGluZ1Ry
ZWU6OnNjcm9sbGluZ1RyZWVOb2RlV2lsbFN0YXJ0UGFuR2VzdHVyZSgpCiB7CiAgICAgbV9zY3Jv
bGxpbmdDb29yZGluYXRvclByb3h5LnNjcm9sbGluZ1RyZWVOb2RlV2lsbFN0YXJ0UGFuR2VzdHVy
ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVl
L1JlbW90ZVNjcm9sbGluZ1RyZWUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxh
eWVyVHJlZS9SZW1vdGVTY3JvbGxpbmdUcmVlLmgKaW5kZXggYTVmNDY1MjFmY2VjODRmMWIxMGEx
YzA0YjZlNDA4ZTAyZTUwOGJmNy4uM2NkYzNiYjNkOWZmODI5NDAyMWE3ODYzNjY4YmEyMzNjNTEw
OTFiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVl
L1JlbW90ZVNjcm9sbGluZ1RyZWUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1v
dGVMYXllclRyZWUvUmVtb3RlU2Nyb2xsaW5nVHJlZS5oCkBAIC02NCw3ICs2NCw2IEBAIHByaXZh
dGU6CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAgV2ViQ29yZTo6Rmxv
YXRSZWN0IGZpeGVkUG9zaXRpb25SZWN0KCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBzY3JvbGxpbmdU
cmVlTm9kZVdpbGxTdGFydFBhbkdlc3R1cmUoKSBvdmVycmlkZTsKICAgICB2b2lkIHNjcm9sbGlu
Z1RyZWVOb2RlV2lsbFN0YXJ0U2Nyb2xsKCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBzY3JvbGxpbmdU
cmVlTm9kZURpZEVuZFNjcm9sbCgpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9SZW1vdGVTY3JvbGxpbmdDb29yZGluYXRv
clByb3h5SU9TLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lv
cy9SZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclByb3h5SU9TLm1tCmluZGV4IDVkNGRhMDQ2NDJi
YzI0MGEzZGY5YmFjYmZlYmJmNjNhZTllMzU0Y2UuLjY5ZjZhYTNiZDJhZTM0MzMyMjhjM2ZjMzI5
NzA1OWNiZTkyYTg3ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90
ZUxheWVyVHJlZS9pb3MvUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eUlPUy5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1JlbW90ZVNjcm9s
bGluZ0Nvb3JkaW5hdG9yUHJveHlJT1MubW0KQEAgLTkzLDcgKzkzLDcgQEAgdm9pZCBSZW1vdGVT
Y3JvbGxpbmdDb29yZGluYXRvclByb3h5Ojpjb25uZWN0U3RhdGVOb2RlTGF5ZXJzKFNjcm9sbGlu
Z1N0YXRlVHJlZSYKICAgICB9CiB9CiAKLUZsb2F0UmVjdCBSZW1vdGVTY3JvbGxpbmdDb29yZGlu
YXRvclByb3h5OjpjdXN0b21GaXhlZFBvc2l0aW9uUmVjdCgpIGNvbnN0CitGbG9hdFJlY3QgUmVt
b3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eTo6Y3VycmVudExheW91dFZpZXdwb3J0KCkgY29u
c3QKIHsKICAgICByZXR1cm4gbV93ZWJQYWdlUHJveHkuY29tcHV0ZUN1c3RvbUZpeGVkUG9zaXRp
b25SZWN0KG1fd2ViUGFnZVByb3h5LnVub2JzY3VyZWRDb250ZW50UmVjdCgpLCBtX3dlYlBhZ2VQ
cm94eS51bm9ic2N1cmVkQ29udGVudFJlY3RSZXNwZWN0aW5nSW5wdXRWaWV3Qm91bmRzKCksIG1f
d2ViUGFnZVByb3h5LmN1c3RvbUZpeGVkUG9zaXRpb25SZWN0KCksCiAgICAgICAgIG1fd2ViUGFn
ZVByb3h5LmRpc3BsYXllZENvbnRlbnRTY2FsZSgpLCBGcmFtZVZpZXc6OkxheW91dFZpZXdwb3J0
Q29uc3RyYWludDo6VW5jb25zdHJhaW5lZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05v
ZGVSZW1vdGVJT1MuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9p
b3MvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZVJlbW90ZUlPUy5oCmluZGV4IGRkZDg2
YzQzOWJiYWE0NWU2OGYxZDkwYjdmYzI2NTZmZDY5NTkwNGYuLmY3YjkwODA0YTAxM2E3Mjk5MGM2
NDBkMTgwYWY1MjhmMzgyMDMzYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1JlbW90ZUxheWVyVHJlZS9pb3MvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZVJlbW90
ZUlPUy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9pb3Mv
U2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZVJlbW90ZUlPUy5oCkBAIC01NCw4ICs1NCw4
IEBAIHByaXZhdGU6CiAgICAgdm9pZCB1cGRhdGVDaGlsZE5vZGVzQWZ0ZXJTY3JvbGwoY29uc3Qg
RmxvYXRQb2ludCYpOwogCiAgICAgdm9pZCB1cGRhdGVMYXllcnNBZnRlckRlbGVnYXRlZFNjcm9s
bChjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiBzY3JvbGxQb3NpdGlvbikgb3ZlcnJpZGU7Ci0g
ICAgdm9pZCB1cGRhdGVMYXllcnNBZnRlclZpZXdwb3J0Q2hhbmdlKGNvbnN0IFdlYkNvcmU6OkZs
b2F0UmVjdCYgZml4ZWRQb3NpdGlvblJlY3QsIGRvdWJsZSBzY2FsZSkgb3ZlcnJpZGU7Ci0gICAg
dm9pZCB1cGRhdGVMYXllcnNBZnRlckFuY2VzdG9yQ2hhbmdlKGNvbnN0IFdlYkNvcmU6OlNjcm9s
bGluZ1RyZWVOb2RlJiBjaGFuZ2VkTm9kZSwgY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiBmaXhl
ZFBvc2l0aW9uUmVjdCwgY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJiBjdW11bGF0aXZlRGVsdGEp
IG92ZXJyaWRlOworICAgIHZvaWQgdXBkYXRlTGF5ZXJzQWZ0ZXJWaWV3cG9ydENoYW5nZShjb25z
dCBXZWJDb3JlOjpGbG9hdFJlY3QmIGxheW91dFZpZXdwb3J0LCBkb3VibGUgc2NhbGUpIG92ZXJy
aWRlOworICAgIHZvaWQgdXBkYXRlTGF5ZXJzQWZ0ZXJBbmNlc3RvckNoYW5nZShjb25zdCBXZWJD
b3JlOjpTY3JvbGxpbmdUcmVlTm9kZSYgY2hhbmdlZE5vZGUsIGNvbnN0IFdlYkNvcmU6OkZsb2F0
UmVjdCYgbGF5b3V0Vmlld3BvcnQsIGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYgY3VtdWxhdGl2
ZURlbHRhKSBvdmVycmlkZTsKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxTY3JvbGxpbmdUcmVlU2Ny
b2xsaW5nTm9kZURlbGVnYXRlSU9TPiBtX3Njcm9sbGluZ05vZGVEZWxlZ2F0ZTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9TY3JvbGxp
bmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlUmVtb3RlSU9TLm1tIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2Rl
UmVtb3RlSU9TLm1tCmluZGV4IDVmYjEwYTJiODhlOWQyNmZlNzExYjQ0ZWU0MDQ1MTE2OTU1Y2Fj
OGEuLjg5NmE1MDdkNWFlZTYyNDdjNzJmN2ZiMTRjNDcyN2M2MTE1MGVjOGEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9pb3MvU2Nyb2xsaW5nVHJl
ZUZyYW1lU2Nyb2xsaW5nTm9kZVJlbW90ZUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVS
ZW1vdGVJT1MubW0KQEAgLTE2OSwxNCArMTY5LDE0IEBAIHZvaWQgU2Nyb2xsaW5nVHJlZUZyYW1l
U2Nyb2xsaW5nTm9kZVJlbW90ZUlPUzo6dXBkYXRlQ2hpbGROb2Rlc0FmdGVyU2Nyb2xsKGNvbnN0
CiAgICAgICAgIHJldHVybjsKIAogCi0gICAgRmxvYXRSZWN0IGZpeGVkUG9zaXRpb25SZWN0Owot
ICAgIGlmICghcGFyZW50KCkpCi0gICAgICAgIGZpeGVkUG9zaXRpb25SZWN0ID0gc2Nyb2xsaW5n
VHJlZSgpLmZpeGVkUG9zaXRpb25SZWN0KCk7CisgICAgRmxvYXRSZWN0IGxheW91dFZpZXdwb3J0
OworICAgIGlmIChpc1Jvb3ROb2RlKCkpCisgICAgICAgIGxheW91dFZpZXdwb3J0ID0gdGhpcy0+
bGF5b3V0Vmlld3BvcnQoKTsKICAgICBlbHNlCi0gICAgICAgIGZpeGVkUG9zaXRpb25SZWN0ID0g
RmxvYXRSZWN0KHNjcm9sbFBvc2l0aW9uLCBzY3JvbGxhYmxlQXJlYVNpemUoKSk7CisgICAgICAg
IGxheW91dFZpZXdwb3J0ID0gRmxvYXRSZWN0KHNjcm9sbFBvc2l0aW9uLCBzY3JvbGxhYmxlQXJl
YVNpemUoKSk7IC8vIEZJWE1FOiBXZSdsbCBqdXN0IHVzZSBsYXlvdXRWaWV3cG9ydCgpIG9uY2Ug
d2UgY29ycmVjdGx5IHVwZGF0ZSBpdCBhZnRlciBhIHNjcm9sbC4KIAogICAgIGZvciAoYXV0byYg
Y2hpbGQgOiAqbV9jaGlsZHJlbikKLSAgICAgICAgY2hpbGQtPnVwZGF0ZUxheWVyc0FmdGVyQW5j
ZXN0b3JDaGFuZ2UoKnRoaXMsIGZpeGVkUG9zaXRpb25SZWN0LCBGbG9hdFNpemUoKSk7CisgICAg
ICAgIGNoaWxkLT51cGRhdGVMYXllcnNBZnRlckFuY2VzdG9yQ2hhbmdlKCp0aGlzLCBsYXlvdXRW
aWV3cG9ydCwgRmxvYXRTaXplKCkpOwogfQogCiB2b2lkIFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9s
bGluZ05vZGVSZW1vdGVJT1M6OnVwZGF0ZUxheWVyc0FmdGVyRGVsZWdhdGVkU2Nyb2xsKGNvbnN0
IEZsb2F0UG9pbnQmIHNjcm9sbFBvc2l0aW9uKQpAQCAtMTg5LDMxICsxODksMzEgQEAgdm9pZCBT
Y3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlUmVtb3RlSU9TOjp1cGRhdGVMYXllcnNBZnRl
ckRlbGVnYXRlZFNjcm9sbCgKICAgICB1cGRhdGVDaGlsZE5vZGVzQWZ0ZXJTY3JvbGwoc2Nyb2xs
UG9zaXRpb24pOwogfQogCi12b2lkIFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVSZW1v
dGVJT1M6OnVwZGF0ZUxheWVyc0FmdGVyVmlld3BvcnRDaGFuZ2UoY29uc3QgRmxvYXRSZWN0JiBm
aXhlZFBvc2l0aW9uUmVjdCwgZG91YmxlIC8qc2NhbGUqLykKK3ZvaWQgU2Nyb2xsaW5nVHJlZUZy
YW1lU2Nyb2xsaW5nTm9kZVJlbW90ZUlPUzo6dXBkYXRlTGF5ZXJzQWZ0ZXJWaWV3cG9ydENoYW5n
ZShjb25zdCBGbG9hdFJlY3QmIGxheW91dFZpZXdwb3J0LCBkb3VibGUgLypzY2FsZSovKQogewog
ICAgIC8vIE5vdGU6IHdlIG5ldmVyIGN1cnJlbnRseSBoYXZlIGEgbV9jb3VudGVyU2Nyb2xsaW5n
TGF5ZXIgKHdoaWNoIGlzIHVzZWQgZm9yIGJhY2tncm91bmQtYXR0YWNobWVudDpmaXhlZCkgb24g
aU9TLgotICAgIFttX2NvdW50ZXJTY3JvbGxpbmdMYXllciBzZXRQb3NpdGlvbjpmaXhlZFBvc2l0
aW9uUmVjdC5sb2NhdGlvbigpXTsKKyAgICBbbV9jb3VudGVyU2Nyb2xsaW5nTGF5ZXIgc2V0UG9z
aXRpb246bGF5b3V0Vmlld3BvcnQubG9jYXRpb24oKV07CiAKICAgICBpZiAoIW1fY2hpbGRyZW4p
CiAgICAgICAgIHJldHVybjsKIAogICAgIGZvciAoYXV0byYgY2hpbGQgOiAqbV9jaGlsZHJlbikK
LSAgICAgICAgY2hpbGQtPnVwZGF0ZUxheWVyc0FmdGVyQW5jZXN0b3JDaGFuZ2UoKnRoaXMsIGZp
eGVkUG9zaXRpb25SZWN0LCBGbG9hdFNpemUoKSk7CisgICAgICAgIGNoaWxkLT51cGRhdGVMYXll
cnNBZnRlckFuY2VzdG9yQ2hhbmdlKCp0aGlzLCBsYXlvdXRWaWV3cG9ydCwgRmxvYXRTaXplKCkp
OwogfQogCi12b2lkIFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVSZW1vdGVJT1M6OnVw
ZGF0ZUxheWVyc0FmdGVyQW5jZXN0b3JDaGFuZ2UoY29uc3QgU2Nyb2xsaW5nVHJlZU5vZGUmIGNo
YW5nZWROb2RlLCBjb25zdCBGbG9hdFJlY3QmIGZpeGVkUG9zaXRpb25SZWN0LCBjb25zdCBGbG9h
dFNpemUmIGN1bXVsYXRpdmVEZWx0YSkKK3ZvaWQgU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5n
Tm9kZVJlbW90ZUlPUzo6dXBkYXRlTGF5ZXJzQWZ0ZXJBbmNlc3RvckNoYW5nZShjb25zdCBTY3Jv
bGxpbmdUcmVlTm9kZSYgY2hhbmdlZE5vZGUsIGNvbnN0IEZsb2F0UmVjdCYgbGF5b3V0Vmlld3Bv
cnQsIGNvbnN0IEZsb2F0U2l6ZSYgY3VtdWxhdGl2ZURlbHRhKQogewogICAgIGlmIChtX3Njcm9s
bGluZ05vZGVEZWxlZ2F0ZSkgewotICAgICAgICBtX3Njcm9sbGluZ05vZGVEZWxlZ2F0ZS0+dXBk
YXRlTGF5ZXJzQWZ0ZXJBbmNlc3RvckNoYW5nZShjaGFuZ2VkTm9kZSwgZml4ZWRQb3NpdGlvblJl
Y3QsIGN1bXVsYXRpdmVEZWx0YSk7CisgICAgICAgIG1fc2Nyb2xsaW5nTm9kZURlbGVnYXRlLT51
cGRhdGVMYXllcnNBZnRlckFuY2VzdG9yQ2hhbmdlKGNoYW5nZWROb2RlLCBsYXlvdXRWaWV3cG9y
dCwgY3VtdWxhdGl2ZURlbHRhKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGlmICgh
bV9jaGlsZHJlbikKICAgICAgICAgcmV0dXJuOwogCi0gICAgRmxvYXRSZWN0IGN1cnJGcmFtZUZp
eGVkUG9zaXRpb25SZWN0KHNjcm9sbFBvc2l0aW9uKCksIHNjcm9sbGFibGVBcmVhU2l6ZSgpKTsg
Ly8gRklYTUU6IHVzZSB1cC10by1kYXRlIGxheW91dCB2aWV3cG9ydC4KKyAgICBGbG9hdFJlY3Qg
Y3VyckZyYW1lTGF5b3V0Vmlld3BvcnQoc2Nyb2xsUG9zaXRpb24oKSwgc2Nyb2xsYWJsZUFyZWFT
aXplKCkpOyAvLyBGSVhNRTogdXNlIGxheW91dFZpZXdwb3J0KCkgb25jZSBpdCdzIGNvcnJlY3Rs
eSB1cGRhdGVkLgogICAgIGZvciAoYXV0byYgY2hpbGQgOiAqbV9jaGlsZHJlbikKLSAgICAgICAg
Y2hpbGQtPnVwZGF0ZUxheWVyc0FmdGVyQW5jZXN0b3JDaGFuZ2UoY2hhbmdlZE5vZGUsIGN1cnJG
cmFtZUZpeGVkUG9zaXRpb25SZWN0LCB7IH0pOworICAgICAgICBjaGlsZC0+dXBkYXRlTGF5ZXJz
QWZ0ZXJBbmNlc3RvckNoYW5nZShjaGFuZ2VkTm9kZSwgY3VyckZyYW1lTGF5b3V0Vmlld3BvcnQs
IHsgfSk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90
ZUxheWVyVHJlZS9pb3MvU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZUlPUy5oIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9TY3JvbGxpbmdUcmVl
T3ZlcmZsb3dTY3JvbGxpbmdOb2RlSU9TLmgKaW5kZXggMDRkYWZhMzllNmRmMTYzNWZiNTJmOTM3
NmQ3ZTQ3OTc3Y2NlNWViZi4uNWMxNDMzNTc0YmY4Yzc0NmVkMzRmYTI0MTcwZDlkNzVlMDUyYzkx
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lv
cy9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlSU9TLmgKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dT
Y3JvbGxpbmdOb2RlSU9TLmgKQEAgLTUxLDcgKzUxLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHVw
ZGF0ZUxheWVyc0FmdGVyVmlld3BvcnRDaGFuZ2UoY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiBm
aXhlZFBvc2l0aW9uUmVjdCwgZG91YmxlIHNjYWxlKSBvdmVycmlkZSB7IH0KICAgICB2b2lkIHVw
ZGF0ZUxheWVyc0FmdGVyRGVsZWdhdGVkU2Nyb2xsKGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQm
IHNjcm9sbFBvc2l0aW9uKSBvdmVycmlkZTsKIAotICAgIHZvaWQgdXBkYXRlTGF5ZXJzQWZ0ZXJB
bmNlc3RvckNoYW5nZShjb25zdCBXZWJDb3JlOjpTY3JvbGxpbmdUcmVlTm9kZSYgY2hhbmdlZE5v
ZGUsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgZml4ZWRQb3NpdGlvblJlY3QsIGNvbnN0IFdl
YkNvcmU6OkZsb2F0U2l6ZSYgY3VtdWxhdGl2ZURlbHRhKSBvdmVycmlkZTsKKyAgICB2b2lkIHVw
ZGF0ZUxheWVyc0FmdGVyQW5jZXN0b3JDaGFuZ2UoY29uc3QgV2ViQ29yZTo6U2Nyb2xsaW5nVHJl
ZU5vZGUmIGNoYW5nZWROb2RlLCBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIGxheW91dFZpZXdw
b3J0LCBjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmIGN1bXVsYXRpdmVEZWx0YSkgb3ZlcnJpZGU7
CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0
ZUlPUz4gbV9zY3JvbGxpbmdOb2RlRGVsZWdhdGU7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dT
Y3JvbGxpbmdOb2RlSU9TLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJU
cmVlL2lvcy9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlSU9TLm1tCmluZGV4IGYw
MzFjZTUwZDdjNDgyNWE4MDFmNzc1OGQ2NTk0YjViM2I0ZTYzODUuLmM1MDc1ZWFkM2RlZjk4OTIz
ZTQ5Mzc3YmU3MjQwYWE1ZjQ1MWRjYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1JlbW90ZUxheWVyVHJlZS9pb3MvU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9k
ZUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9z
L1Njcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVJT1MubW0KQEAgLTY2LDkgKzY2LDkg
QEAgdm9pZCBTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlSU9TOjpjb21taXRTdGF0
ZUFmdGVyQ2hpbGRyZW4oY29uc3QgU2Nyb2wKICAgICBtX3Njcm9sbGluZ05vZGVEZWxlZ2F0ZS0+
Y29tbWl0U3RhdGVBZnRlckNoaWxkcmVuKGRvd25jYXN0PFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5n
Tm9kZT4oc3RhdGVOb2RlKSk7CiB9CiAKLXZvaWQgU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xs
aW5nTm9kZUlPUzo6dXBkYXRlTGF5ZXJzQWZ0ZXJBbmNlc3RvckNoYW5nZShjb25zdCBTY3JvbGxp
bmdUcmVlTm9kZSYgY2hhbmdlZE5vZGUsIGNvbnN0IEZsb2F0UmVjdCYgZml4ZWRQb3NpdGlvblJl
Y3QsIGNvbnN0IEZsb2F0U2l6ZSYgY3VtdWxhdGl2ZURlbHRhKQordm9pZCBTY3JvbGxpbmdUcmVl
T3ZlcmZsb3dTY3JvbGxpbmdOb2RlSU9TOjp1cGRhdGVMYXllcnNBZnRlckFuY2VzdG9yQ2hhbmdl
KGNvbnN0IFNjcm9sbGluZ1RyZWVOb2RlJiBjaGFuZ2VkTm9kZSwgY29uc3QgRmxvYXRSZWN0JiBs
YXlvdXRWaWV3cG9ydCwgY29uc3QgRmxvYXRTaXplJiBjdW11bGF0aXZlRGVsdGEpCiB7Ci0gICAg
bV9zY3JvbGxpbmdOb2RlRGVsZWdhdGUtPnVwZGF0ZUxheWVyc0FmdGVyQW5jZXN0b3JDaGFuZ2Uo
Y2hhbmdlZE5vZGUsIGZpeGVkUG9zaXRpb25SZWN0LCBjdW11bGF0aXZlRGVsdGEpOworICAgIG1f
c2Nyb2xsaW5nTm9kZURlbGVnYXRlLT51cGRhdGVMYXllcnNBZnRlckFuY2VzdG9yQ2hhbmdlKGNo
YW5nZWROb2RlLCBsYXlvdXRWaWV3cG9ydCwgY3VtdWxhdGl2ZURlbHRhKTsKIH0KIAogRmxvYXRQ
b2ludCBTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlSU9TOjpzY3JvbGxQb3NpdGlv
bigpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXll
clRyZWUvaW9zL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJT1MuaCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9pb3MvU2Nyb2xsaW5nVHJlZVNjcm9s
bGluZ05vZGVEZWxlZ2F0ZUlPUy5oCmluZGV4IDkyZGJlNzllZDZjMzIwMDI0NzM5ZjFlNmMwY2Yx
YjJhODM3YjRlZmQuLjdlNjRlMzc2ZWJjZDM3Yzk5NzFmMzQyNzZhOTgyMTI1ZGIwYTg3OGQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9pb3MvU2Ny
b2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZUlPUy5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9pb3MvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVE
ZWxlZ2F0ZUlPUy5oCkBAIC02MSw3ICs2MSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlc2V0U2Ny
b2xsVmlld0RlbGVnYXRlKCk7CiAgICAgdm9pZCBjb21taXRTdGF0ZUJlZm9yZUNoaWxkcmVuKGNv
bnN0IFdlYkNvcmU6OlNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZSYpOwogICAgIHZvaWQgY29t
bWl0U3RhdGVBZnRlckNoaWxkcmVuKGNvbnN0IFdlYkNvcmU6OlNjcm9sbGluZ1N0YXRlU2Nyb2xs
aW5nTm9kZSYpOwotICAgIHZvaWQgdXBkYXRlTGF5ZXJzQWZ0ZXJBbmNlc3RvckNoYW5nZShjb25z
dCBXZWJDb3JlOjpTY3JvbGxpbmdUcmVlTm9kZSYgY2hhbmdlZE5vZGUsIGNvbnN0IFdlYkNvcmU6
OkZsb2F0UmVjdCYgZml4ZWRQb3NpdGlvblJlY3QsIGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYg
Y3VtdWxhdGl2ZURlbHRhKTsKKyAgICB2b2lkIHVwZGF0ZUxheWVyc0FmdGVyQW5jZXN0b3JDaGFu
Z2UoY29uc3QgV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZU5vZGUmIGNoYW5nZWROb2RlLCBjb25zdCBX
ZWJDb3JlOjpGbG9hdFJlY3QmIGxheW91dFZpZXdwb3J0LCBjb25zdCBXZWJDb3JlOjpGbG9hdFNp
emUmIGN1bXVsYXRpdmVEZWx0YSk7CiAgICAgV2ViQ29yZTo6RmxvYXRQb2ludCBzY3JvbGxQb3Np
dGlvbigpIGNvbnN0OwogICAgIHZvaWQgc2V0U2Nyb2xsTGF5ZXJQb3NpdGlvbihjb25zdCBXZWJD
b3JlOjpGbG9hdFBvaW50Jik7CiAgICAgdm9pZCB1cGRhdGVDaGlsZE5vZGVzQWZ0ZXJTY3JvbGwo
Y29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYgc2Nyb2xsUG9zaXRpb24pOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9TY3JvbGxpbmdUcmVl
U2Nyb2xsaW5nTm9kZURlbGVnYXRlSU9TLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVt
b3RlTGF5ZXJUcmVlL2lvcy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlSU9TLm1t
CmluZGV4IDBiZDlmZjVjYjhjNjRlMWVhYjgxN2E4N2M0ZDA0ZmJkYzYzZmVmMzkuLmQ3YzU0YTVl
ZWI5NjAxZjM4NWMxMTY3YmQ4NmEwZWJmMDI0M2U1Y2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9pb3MvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05v
ZGVEZWxlZ2F0ZUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXll
clRyZWUvaW9zL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJT1MubW0KQEAgLTI2
OSw3ICsyNjksNyBAQCB2b2lkIFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJT1M6
OmNvbW1pdFN0YXRlQWZ0ZXJDaGlsZHJlbihjb25zdCBTY3JvbAogICAgIH0KIH0KIAotdm9pZCBT
Y3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlSU9TOjp1cGRhdGVMYXllcnNBZnRlckFu
Y2VzdG9yQ2hhbmdlKGNvbnN0IFNjcm9sbGluZ1RyZWVOb2RlJiBjaGFuZ2VkTm9kZSwgY29uc3Qg
RmxvYXRSZWN0JiBmaXhlZFBvc2l0aW9uUmVjdCwgY29uc3QgRmxvYXRTaXplJiBjdW11bGF0aXZl
RGVsdGEpCit2b2lkIFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJT1M6OnVwZGF0
ZUxheWVyc0FmdGVyQW5jZXN0b3JDaGFuZ2UoY29uc3QgU2Nyb2xsaW5nVHJlZU5vZGUmIGNoYW5n
ZWROb2RlLCBjb25zdCBGbG9hdFJlY3QmIGxheW91dFZpZXdwb3J0LCBjb25zdCBGbG9hdFNpemUm
IGN1bXVsYXRpdmVEZWx0YSkKIHsKICAgICBpZiAoIXNjcm9sbGluZ05vZGUoKS5jaGlsZHJlbigp
KQogICAgICAgICByZXR1cm47CkBAIC0yNzcsNyArMjc3LDcgQEAgdm9pZCBTY3JvbGxpbmdUcmVl
U2Nyb2xsaW5nTm9kZURlbGVnYXRlSU9TOjp1cGRhdGVMYXllcnNBZnRlckFuY2VzdG9yQ2hhbmdl
KGNvbnMKICAgICBGbG9hdFNpemUgc2Nyb2xsRGVsdGEgPSBsYXN0Q29tbWl0dGVkU2Nyb2xsUG9z
aXRpb24oKSAtIHNjcm9sbGluZ05vZGUoKS5zY3JvbGxQb3NpdGlvbigpOwogCiAgICAgZm9yIChh
dXRvJiBjaGlsZCA6ICpzY3JvbGxpbmdOb2RlKCkuY2hpbGRyZW4oKSkKLSAgICAgICAgY2hpbGQt
PnVwZGF0ZUxheWVyc0FmdGVyQW5jZXN0b3JDaGFuZ2UoY2hhbmdlZE5vZGUsIGZpeGVkUG9zaXRp
b25SZWN0LCBjdW11bGF0aXZlRGVsdGEgKyBzY3JvbGxEZWx0YSk7CisgICAgICAgIGNoaWxkLT51
cGRhdGVMYXllcnNBZnRlckFuY2VzdG9yQ2hhbmdlKGNoYW5nZWROb2RlLCBsYXlvdXRWaWV3cG9y
dCwgY3VtdWxhdGl2ZURlbHRhICsgc2Nyb2xsRGVsdGEpOwogfQogCiBGbG9hdFBvaW50IFNjcm9s
bGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJT1M6OnNjcm9sbFBvc2l0aW9uKCkgY29uc3QK
QEAgLTMwNSwxNiArMzA1LDE1IEBAIHZvaWQgU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxl
Z2F0ZUlPUzo6dXBkYXRlQ2hpbGROb2Rlc0FmdGVyU2Nyb2xsKGNvbnN0IEZsCiAgICAgaWYgKCFz
Y3JvbGxpbmdOb2RlKCkuY2hpbGRyZW4oKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgRmxvYXRS
ZWN0IGZpeGVkUG9zaXRpb25SZWN0OworICAgIEZsb2F0UmVjdCBsYXlvdXRWaWV3cG9ydDsKICAg
ICBhdXRvKiBmcmFtZU5vZGUgPSBzY3JvbGxpbmdOb2RlKCkuZW5jbG9zaW5nRnJhbWVOb2RlSW5j
bHVkaW5nU2VsZigpOwotICAgIGlmIChmcmFtZU5vZGUgJiYgZnJhbWVOb2RlLT5ub2RlVHlwZSgp
ID09IFNjcm9sbGluZ05vZGVUeXBlOjpTdWJmcmFtZSkKLSAgICAgICAgZml4ZWRQb3NpdGlvblJl
Y3QgPSBmcmFtZU5vZGUtPmZpeGVkUG9zaXRpb25SZWN0KCk7Ci0gICAgZWxzZQotICAgICAgICBm
aXhlZFBvc2l0aW9uUmVjdCA9IHNjcm9sbGluZ1RyZWUoKS5maXhlZFBvc2l0aW9uUmVjdCgpOwot
ICAgIEZsb2F0U2l6ZSBzY3JvbGxEZWx0YSA9IGxhc3RDb21taXR0ZWRTY3JvbGxQb3NpdGlvbigp
IC0gc2Nyb2xsUG9zaXRpb247CisgICAgaWYgKGZyYW1lTm9kZSkKKyAgICAgICAgbGF5b3V0Vmll
d3BvcnQgPSBmcmFtZU5vZGUtPmxheW91dFZpZXdwb3J0KCk7CisKKyAgICBhdXRvIHNjcm9sbERl
bHRhID0gbGFzdENvbW1pdHRlZFNjcm9sbFBvc2l0aW9uKCkgLSBzY3JvbGxQb3NpdGlvbjsKIAog
ICAgIGZvciAoYXV0byYgY2hpbGQgOiAqc2Nyb2xsaW5nTm9kZSgpLmNoaWxkcmVuKCkpCi0gICAg
ICAgIGNoaWxkLT51cGRhdGVMYXllcnNBZnRlckFuY2VzdG9yQ2hhbmdlKHNjcm9sbGluZ05vZGUo
KSwgZml4ZWRQb3NpdGlvblJlY3QsIHNjcm9sbERlbHRhKTsKKyAgICAgICAgY2hpbGQtPnVwZGF0
ZUxheWVyc0FmdGVyQW5jZXN0b3JDaGFuZ2Uoc2Nyb2xsaW5nTm9kZSgpLCBsYXlvdXRWaWV3cG9y
dCwgc2Nyb2xsRGVsdGEpOwogfQogCiB2b2lkIFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVs
ZWdhdGVJT1M6OnNjcm9sbFdpbGxTdGFydCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1tCmluZGV4IGNlMTIyMjFlNzE2MmJhYmU0ZjkxNTZhOTAy
MmRhNTBhNjg3MTI0YWIuLjNkMzc2NjAwOWJlZGMzNDI5YjYzNmNjNzI3MmVjNzA0NjFkZmIzNDAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1tCkBAIC00
MzUsMTIgKzQzNSwxMiBAQCAtICh2b2lkKWRpZFVwZGF0ZVZpc2libGVSZWN0OihDR1JlY3Qpdmlz
aWJsZUNvbnRlbnRSZWN0CiAKICAgICBfc2l6ZUNoYW5nZWRTaW5jZUxhc3RWaXNpYmxlQ29udGVu
dFJlY3RVcGRhdGUgPSBOTzsKIAotICAgIFdlYkNvcmU6OkZsb2F0UmVjdCBmaXhlZFBvc2l0aW9u
UmVjdCA9IF9wYWdlLT5jb21wdXRlQ3VzdG9tRml4ZWRQb3NpdGlvblJlY3QoX3BhZ2UtPnVub2Jz
Y3VyZWRDb250ZW50UmVjdCgpLCBfcGFnZS0+dW5vYnNjdXJlZENvbnRlbnRSZWN0UmVzcGVjdGlu
Z0lucHV0Vmlld0JvdW5kcygpLCBfcGFnZS0+Y3VzdG9tRml4ZWRQb3NpdGlvblJlY3QoKSwgem9v
bVNjYWxlLCBXZWJDb3JlOjpGcmFtZVZpZXc6OkxheW91dFZpZXdwb3J0Q29uc3RyYWludDo6VW5j
b25zdHJhaW5lZCk7Ci0gICAgc2Nyb2xsaW5nQ29vcmRpbmF0b3ItPnZpZXdwb3J0Q2hhbmdlZFZp
YURlbGVnYXRlZFNjcm9sbGluZyhzY3JvbGxpbmdDb29yZGluYXRvci0+cm9vdFNjcm9sbGluZ05v
ZGVJRCgpLCBmaXhlZFBvc2l0aW9uUmVjdCwgem9vbVNjYWxlKTsKKyAgICBXZWJDb3JlOjpGbG9h
dFJlY3QgbGF5b3V0Vmlld3BvcnQgPSBfcGFnZS0+Y29tcHV0ZUN1c3RvbUZpeGVkUG9zaXRpb25S
ZWN0KF9wYWdlLT51bm9ic2N1cmVkQ29udGVudFJlY3QoKSwgX3BhZ2UtPnVub2JzY3VyZWRDb250
ZW50UmVjdFJlc3BlY3RpbmdJbnB1dFZpZXdCb3VuZHMoKSwgX3BhZ2UtPmN1c3RvbUZpeGVkUG9z
aXRpb25SZWN0KCksIHpvb21TY2FsZSwgV2ViQ29yZTo6RnJhbWVWaWV3OjpMYXlvdXRWaWV3cG9y
dENvbnN0cmFpbnQ6OlVuY29uc3RyYWluZWQpOworICAgIHNjcm9sbGluZ0Nvb3JkaW5hdG9yLT52
aWV3cG9ydENoYW5nZWRWaWFEZWxlZ2F0ZWRTY3JvbGxpbmcobGF5b3V0Vmlld3BvcnQsIHpvb21T
Y2FsZSk7CiAKICAgICBkcmF3aW5nQXJlYS0+dXBkYXRlRGVidWdJbmRpY2F0b3IoKTsKICAgICAK
LSAgICBbc2VsZiB1cGRhdGVGaXhlZENsaXBwaW5nVmlldzpmaXhlZFBvc2l0aW9uUmVjdF07Cisg
ICAgW3NlbGYgdXBkYXRlRml4ZWRDbGlwcGluZ1ZpZXc6bGF5b3V0Vmlld3BvcnRdOwogCiAgICAg
aWYgKHdhc1N0YWJsZVN0YXRlICYmICFpc1N0YWJsZVN0YXRlKQogICAgICAgICBbc2VsZiBfZGlk
RXhpdFN0YWJsZVN0YXRlXTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>