<?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>231644</bug_id>
          
          <creation_ts>2021-10-12 16:38:20 -0700</creation_ts>
          <short_desc>[css-values-4] viewport units should be floats</short_desc>
          <delta_ts>2021-11-05 10:43:43 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</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>
          <dependson>219287</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Devin Rousso">hi</reporter>
          <assigned_to name="Devin Rousso">hi</assigned_to>
          <cc>changseok</cc>
    
    <cc>emilio</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>hi</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>pdr</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1803545</commentid>
    <comment_count>0</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-10-12 16:38:20 -0700</bug_when>
    <thetext>views can be fractional pixels wide</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1803561</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-10-12 16:47:13 -0700</bug_when>
    <thetext>&lt;rdar://problem/84172685&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1807370</commentid>
    <comment_count>2</comment_count>
      <attachid>442065</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-10-21 14:48:14 -0700</bug_when>
    <thetext>Created attachment 442065
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1807373</commentid>
    <comment_count>3</comment_count>
      <attachid>442065</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-10-21 14:50:45 -0700</bug_when>
    <thetext>Comment on attachment 442065
Patch

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

&gt; Source/WebCore/page/FrameView.cpp:-5640
&gt; -    // Use the large size if no override is given since it&apos;s considered the default size.
&gt; -    // if (m_largeViewportSizeOverride) {

I accidentally left this in when I was working on fixing EWS test failures for &lt;https://webkit.org/b/219287&gt; 😅</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1811953</commentid>
    <comment_count>4</comment_count>
      <attachid>442065</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-11-04 13:55:09 -0700</bug_when>
    <thetext>Comment on attachment 442065
Patch

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

&gt; Source/WebCore/ChangeLog:9
&gt; +        Views can be fractional pixels wide. We should not round, especially since viewport units

&gt;Views can be fractional pixels wide.

Technically true but many other parts of WebKit do not correctly support even fractional *points* let alone fractional pixels. (Though I think you meant points anyway?).

Still, no harm in this change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1812057</commentid>
    <comment_count>5</comment_count>
      <attachid>443373</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-11-04 20:40:22 -0700</bug_when>
    <thetext>Created attachment 443373
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1812181</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-11-05 10:43:40 -0700</bug_when>
    <thetext>Committed r285345 (243906@main): &lt;https://commits.webkit.org/243906@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 443373.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442065</attachid>
            <date>2021-10-21 14:48:14 -0700</date>
            <delta_ts>2021-11-04 20:40:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231644-20211021144813.patch</filename>
            <type>text/plain</type>
            <size>33760</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAxMmUxMmU3YTY1YzI5NzBmMzBjOTM4ZmEwNTdlZDk5ZWU5M2FjYzg0Li4x
MDc3YzJkZjE0YzJhMjFmZWFhYmIxMmUyZjM5NjIyMTc5MmI1ODRkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMzcgQEAKKzIwMjEtMTAtMjEgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29t
PgorCisgICAgICAgIFtjc3MtdmFsdWVzLTRdIHZpZXdwb3J0IHVuaXRzIHNob3VsZCBiZSBmbG9h
dHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTY0
NAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODQxNzI2ODU+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVmlld3MgY2FuIGJlIGZyYWN0aW9uYWwgcGl4
ZWxzIHdpZGUuIFdlIHNob3VsZCBub3Qgcm91bmQsIGVzcGVjaWFsbHkgc2luY2Ugdmlld3BvcnQg
dW5pdHMKKyAgICAgICAgYXJlIHVzZWQgYXMgcGVyY2VudGFnZSB2YWx1ZXMgKGUuZy4gYDUwZHZo
YCBpcyAiNTAlIG9mIHRoZSBoZWlnaHQgb2YgdGhlIGN1cnJlbnQgdmlld3BvcnQiKS4KKworICAg
ICAgICBUZXN0czogQ1NTVmlld3BvcnRVbml0cy5FbXB0eVVub2JzY3VyZWRTaXplT3ZlcnJpZGVz
CisgICAgICAgICAgICAgICBDU1NWaWV3cG9ydFVuaXRzLlNhbWVVbm9ic2N1cmVkU2l6ZU92ZXJy
aWRlcworICAgICAgICAgICAgICAgQ1NTVmlld3BvcnRVbml0cy5EaWZmZXJlbnRVbm9ic2N1cmVk
U2l6ZU92ZXJyaWRlcworCisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuaDoKKyAgICAgICAgKiBw
YWdlL0ZyYW1lVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnNldFNpemVG
b3JDU1NTbWFsbFZpZXdwb3J0VW5pdHMpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3Ojpv
dmVycmlkZVdpZHRoRm9yQ1NTU21hbGxWaWV3cG9ydFVuaXRzKToKKyAgICAgICAgKFdlYkNvcmU6
OkZyYW1lVmlldzo6c2l6ZUZvckNTU1NtYWxsVmlld3BvcnRVbml0cyBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpGcmFtZVZpZXc6OnNldFNpemVGb3JDU1NMYXJnZVZpZXdwb3J0VW5pdHMpOgor
ICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpvdmVycmlkZVdpZHRoRm9yQ1NTTGFyZ2VWaWV3
cG9ydFVuaXRzKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6c2l6ZUZvckNTU0xhcmdl
Vmlld3BvcnRVbml0cyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmNhbGN1
bGF0ZVNpemVGb3JDU1NWaWV3cG9ydFVuaXRzT3ZlcnJpZGUgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6RnJhbWVWaWV3OjpzaXplRm9yQ1NTRHluYW1pY1ZpZXdwb3J0VW5pdHMgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpzaXplRm9yQ1NTRGVmYXVsdFZpZXdwb3J0VW5p
dHMgY29uc3QpOgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclZpZXcuaDoKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJWaWV3
OjpzaXplRm9yQ1NTU21hbGxWaWV3cG9ydFVuaXRzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclZpZXc6OnNpemVGb3JDU1NMYXJnZVZpZXdwb3J0VW5pdHMgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyVmlldzo6c2l6ZUZvckNTU0R5bmFtaWNWaWV3cG9ydFVuaXRzIGNv
bnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclZpZXc6OnNpemVGb3JDU1NEZWZhdWx0Vmll
d3BvcnRVbml0cyBjb25zdCk6CisKIDIwMjEtMTAtMTkgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBw
bGUuY29tPgogCiAgICAgICAgIFtDb2NvYV0gTWVyZ2UgYW5kIHNpbXBsaWZ5IHRoZSBuc0NvbG9y
IGZhbWlseSBvZiBmdW5jdGlvbnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZmI3OThhOTQ1OGFmMTMzZDU1YjU4MDdj
NGI0Yzc5MmFjZTg5ZTNlYy4uZWE0YmViNmU1OGZkY2FmZDMzZWM5ZGJhNDQ2MWQ1NDgxZGFhY2Q3
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMCBAQAorMjAyMS0xMC0yMSAgRGV2aW4gUm91c3NvICA8
ZHJvdXNzb0BhcHBsZS5jb20+CisKKyAgICAgICAgW2Nzcy12YWx1ZXMtNF0gdmlld3BvcnQgdW5p
dHMgc2hvdWxkIGJlIGZsb2F0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjMxNjQ0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84NDE3MjY4NT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBWaWV3cyBjYW4g
YmUgZnJhY3Rpb25hbCBwaXhlbHMgd2lkZS4gV2Ugc2hvdWxkIG5vdCByb3VuZCwgZXNwZWNpYWxs
eSBzaW5jZSB2aWV3cG9ydCB1bml0cworICAgICAgICBhcmUgdXNlZCBhcyBwZXJjZW50YWdlIHZh
bHVlcyAoZS5nLiBgNTBkdmhgIGlzICI1MCUgb2YgdGhlIGhlaWdodCBvZiB0aGUgY3VycmVudCB2
aWV3cG9ydCIpLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06
CisgICAgICAgICgtW1dLV2ViVmlldyBfc2V0Vmlld3BvcnRTaXplRm9yQ1NTVmlld3BvcnRVbml0
czpdKToKKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5
OjpzZXRWaWV3cG9ydFNpemVGb3JDU1NWaWV3cG9ydFVuaXRzKToKKworICAgICAgICAqIFNoYXJl
ZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2U6OnNldFZpZXdwb3J0U2l6ZUZvckNTU1ZpZXdwb3J0VW5pdHMp
OgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjp2aWV3cG9ydFNpemVGb3JDU1NWaWV3cG9ydFVu
aXRzIGNvbnN0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1Mu
bW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnVwZGF0ZVZpZXdwb3J0U2l6ZUZvckNTU1Zp
ZXdwb3J0VW5pdHMpOgorCiAyMDIxLTEwLTE5ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNv
bT4KIAogICAgICAgICBbQ29jb2FdIE1lcmdlIGFuZCBzaW1wbGlmeSB0aGUgbnNDb2xvciBmYW1p
bHkgb2YgZnVuY3Rpb25zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmll
dy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggMTQ0MTliOTVh
M2I2YWRkZDQxNzBhNzFkMmNmMGE3NDIwYzY4ZDg3Yy4uZTU5NTlkMmM4MWZhOGQ0YTAyNDU3ZGVj
Y2YwMzkzNDExZjE0NGU1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZp
ZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtNTU1Nywx
MiArNTU1NywxMiBAQCB2b2lkIEZyYW1lVmlldzo6Y2xlYXJTaXplT3ZlcnJpZGVGb3JDU1NTbWFs
bFZpZXdwb3J0VW5pdHMoKQogICAgICAgICBkb2N1bWVudC0+c3R5bGVTY29wZSgpLmRpZENoYW5n
ZVN0eWxlU2hlZXRFbnZpcm9ubWVudCgpOwogfQogCi12b2lkIEZyYW1lVmlldzo6c2V0U2l6ZUZv
ckNTU1NtYWxsVmlld3BvcnRVbml0cyhJbnRTaXplIHNpemUpCit2b2lkIEZyYW1lVmlldzo6c2V0
U2l6ZUZvckNTU1NtYWxsVmlld3BvcnRVbml0cyhGbG9hdFNpemUgc2l6ZSkKIHsKICAgICBvdmVy
cmlkZVNpemVGb3JDU1NTbWFsbFZpZXdwb3J0VW5pdHMoeyBzaXplLndpZHRoKCksIHNpemUuaGVp
Z2h0KCkgfSk7CiB9CiAKLXZvaWQgRnJhbWVWaWV3OjpvdmVycmlkZVdpZHRoRm9yQ1NTU21hbGxW
aWV3cG9ydFVuaXRzKGludCB3aWR0aCkKK3ZvaWQgRnJhbWVWaWV3OjpvdmVycmlkZVdpZHRoRm9y
Q1NTU21hbGxWaWV3cG9ydFVuaXRzKGZsb2F0IHdpZHRoKQogewogICAgIG92ZXJyaWRlU2l6ZUZv
ckNTU1NtYWxsVmlld3BvcnRVbml0cyh7IHdpZHRoLCBtX3NtYWxsVmlld3BvcnRTaXplT3ZlcnJp
ZGUgPyBtX3NtYWxsVmlld3BvcnRTaXplT3ZlcnJpZGUtPmhlaWdodCA6IHN0ZDo6bnVsbG9wdCB9
KTsKIH0KQEAgLTU1ODMsNyArNTU4Myw3IEBAIHZvaWQgRnJhbWVWaWV3OjpvdmVycmlkZVNpemVG
b3JDU1NTbWFsbFZpZXdwb3J0VW5pdHMoT3ZlcnJpZGVWaWV3cG9ydFNpemUgc2l6ZSkKICAgICAg
ICAgZG9jdW1lbnQtPnN0eWxlU2NvcGUoKS5kaWRDaGFuZ2VTdHlsZVNoZWV0RW52aXJvbm1lbnQo
KTsKIH0KIAotSW50U2l6ZSBGcmFtZVZpZXc6OnNpemVGb3JDU1NTbWFsbFZpZXdwb3J0VW5pdHMo
KSBjb25zdAorRmxvYXRTaXplIEZyYW1lVmlldzo6c2l6ZUZvckNTU1NtYWxsVmlld3BvcnRVbml0
cygpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGNhbGN1bGF0ZVNpemVGb3JDU1NWaWV3cG9ydFVuaXRz
T3ZlcnJpZGUobV9zbWFsbFZpZXdwb3J0U2l6ZU92ZXJyaWRlKTsKIH0KQEAgLTU1OTgsMTIgKzU1
OTgsMTIgQEAgdm9pZCBGcmFtZVZpZXc6OmNsZWFyU2l6ZU92ZXJyaWRlRm9yQ1NTTGFyZ2VWaWV3
cG9ydFVuaXRzKCkKICAgICAgICAgZG9jdW1lbnQtPnN0eWxlU2NvcGUoKS5kaWRDaGFuZ2VTdHls
ZVNoZWV0RW52aXJvbm1lbnQoKTsKIH0KIAotdm9pZCBGcmFtZVZpZXc6OnNldFNpemVGb3JDU1NM
YXJnZVZpZXdwb3J0VW5pdHMoSW50U2l6ZSBzaXplKQordm9pZCBGcmFtZVZpZXc6OnNldFNpemVG
b3JDU1NMYXJnZVZpZXdwb3J0VW5pdHMoRmxvYXRTaXplIHNpemUpCiB7CiAgICAgb3ZlcnJpZGVT
aXplRm9yQ1NTTGFyZ2VWaWV3cG9ydFVuaXRzKHsgc2l6ZS53aWR0aCgpLCBzaXplLmhlaWdodCgp
IH0pOwogfQogCi12b2lkIEZyYW1lVmlldzo6b3ZlcnJpZGVXaWR0aEZvckNTU0xhcmdlVmlld3Bv
cnRVbml0cyhpbnQgd2lkdGgpCit2b2lkIEZyYW1lVmlldzo6b3ZlcnJpZGVXaWR0aEZvckNTU0xh
cmdlVmlld3BvcnRVbml0cyhmbG9hdCB3aWR0aCkKIHsKICAgICBvdmVycmlkZVNpemVGb3JDU1NM
YXJnZVZpZXdwb3J0VW5pdHMoeyB3aWR0aCwgbV9sYXJnZVZpZXdwb3J0U2l6ZU92ZXJyaWRlID8g
bV9sYXJnZVZpZXdwb3J0U2l6ZU92ZXJyaWRlLT5oZWlnaHQgOiBzdGQ6Om51bGxvcHQgfSk7CiB9
CkBAIC01NjI0LDMwICs1NjI0LDIyIEBAIHZvaWQgRnJhbWVWaWV3OjpvdmVycmlkZVNpemVGb3JD
U1NMYXJnZVZpZXdwb3J0VW5pdHMoT3ZlcnJpZGVWaWV3cG9ydFNpemUgc2l6ZSkKICAgICAgICAg
ZG9jdW1lbnQtPnN0eWxlU2NvcGUoKS5kaWRDaGFuZ2VTdHlsZVNoZWV0RW52aXJvbm1lbnQoKTsK
IH0KIAotSW50U2l6ZSBGcmFtZVZpZXc6OnNpemVGb3JDU1NMYXJnZVZpZXdwb3J0VW5pdHMoKSBj
b25zdAorRmxvYXRTaXplIEZyYW1lVmlldzo6c2l6ZUZvckNTU0xhcmdlVmlld3BvcnRVbml0cygp
IGNvbnN0CiB7CiAgICAgcmV0dXJuIGNhbGN1bGF0ZVNpemVGb3JDU1NWaWV3cG9ydFVuaXRzT3Zl
cnJpZGUobV9sYXJnZVZpZXdwb3J0U2l6ZU92ZXJyaWRlKTsKIH0KIAotSW50U2l6ZSBGcmFtZVZp
ZXc6OmNhbGN1bGF0ZVNpemVGb3JDU1NWaWV3cG9ydFVuaXRzT3ZlcnJpZGUoc3RkOjpvcHRpb25h
bDxPdmVycmlkZVZpZXdwb3J0U2l6ZT4gb3ZlcnJpZGUpIGNvbnN0CitGbG9hdFNpemUgRnJhbWVW
aWV3OjpjYWxjdWxhdGVTaXplRm9yQ1NTVmlld3BvcnRVbml0c092ZXJyaWRlKHN0ZDo6b3B0aW9u
YWw8T3ZlcnJpZGVWaWV3cG9ydFNpemU+IG92ZXJyaWRlKSBjb25zdAogewogICAgIE92ZXJyaWRl
Vmlld3BvcnRTaXplIHZpZXdwb3J0U2l6ZTsKIAotICAgIGlmIChvdmVycmlkZSkKKyAgICBpZiAo
b3ZlcnJpZGUpIHsKICAgICAgICAgdmlld3BvcnRTaXplID0gKm92ZXJyaWRlOwogCi0gICAgLy8g
VXNlIHRoZSBsYXJnZSBzaXplIGlmIG5vIG92ZXJyaWRlIGlzIGdpdmVuIHNpbmNlIGl0J3MgY29u
c2lkZXJlZCB0aGUgZGVmYXVsdCBzaXplLgotICAgIC8vIGlmIChtX2xhcmdlVmlld3BvcnRTaXpl
T3ZlcnJpZGUpIHsKLSAgICAvLyAgICAgaWYgKCF2aWV3cG9ydFNpemUud2lkdGgpCi0gICAgLy8g
ICAgICAgICB2aWV3cG9ydFNpemUud2lkdGggPSBtX2xhcmdlVmlld3BvcnRTaXplT3ZlcnJpZGUt
PndpZHRoOwotCi0gICAgLy8gICAgIGlmICghdmlld3BvcnRTaXplLmhlaWdodCkKLSAgICAvLyAg
ICAgICAgIHZpZXdwb3J0U2l6ZS5oZWlnaHQgPSBtX2xhcmdlVmlld3BvcnRTaXplT3ZlcnJpZGUt
PmhlaWdodDsKLSAgICAvLyB9Ci0KLSAgICAvLyBhdXRvLXNpemUgb3ZlcnJpZGVzIHRoZSB3aWR0
aCBvbmx5LCBzbyB3ZSBjYW4ndCBhbHdheXMgYmFpbCBvdXQgZWFybHkgaGVyZS4KLSAgICBpZiAo
dmlld3BvcnRTaXplLndpZHRoICYmIHZpZXdwb3J0U2l6ZS5oZWlnaHQpCi0gICAgICAgIHJldHVy
biB7ICp2aWV3cG9ydFNpemUud2lkdGgsICp2aWV3cG9ydFNpemUuaGVpZ2h0IH07CisgICAgICAg
IC8vIGF1dG8tc2l6ZSBvdmVycmlkZXMgdGhlIHdpZHRoIG9ubHksIHNvIHdlIGNhbid0IGFsd2F5
cyBiYWlsIG91dCBlYXJseSBoZXJlLgorICAgICAgICBpZiAodmlld3BvcnRTaXplLndpZHRoICYm
IHZpZXdwb3J0U2l6ZS5oZWlnaHQpCisgICAgICAgICAgICByZXR1cm4geyAqdmlld3BvcnRTaXpl
LndpZHRoLCAqdmlld3BvcnRTaXplLmhlaWdodCB9OworICAgIH0KIAogICAgIGlmICh1c2VGaXhl
ZExheW91dCgpKSB7CiAgICAgICAgIGF1dG8gZml4ZWRMYXlvdXRTaXplID0gdGhpcy0+Zml4ZWRM
YXlvdXRTaXplKCk7CkBAIC01NjY0LDEyICs1NjU2LDEyIEBAIEludFNpemUgRnJhbWVWaWV3Ojpj
YWxjdWxhdGVTaXplRm9yQ1NTVmlld3BvcnRVbml0c092ZXJyaWRlKHN0ZDo6b3B0aW9uYWw8T3Zl
cnJpCiAgICAgcmV0dXJuIHsgKnZpZXdwb3J0U2l6ZS53aWR0aCwgKnZpZXdwb3J0U2l6ZS5oZWln
aHQgfTsKIH0KIAotSW50U2l6ZSBGcmFtZVZpZXc6OnNpemVGb3JDU1NEeW5hbWljVmlld3BvcnRV
bml0cygpIGNvbnN0CitGbG9hdFNpemUgRnJhbWVWaWV3OjpzaXplRm9yQ1NTRHluYW1pY1ZpZXdw
b3J0VW5pdHMoKSBjb25zdAogewogICAgIHJldHVybiB2aXNpYmxlQ29udGVudFJlY3RJbmNsdWRp
bmdTY3JvbGxiYXJzKCkuc2l6ZSgpOwogfQogCi1JbnRTaXplIEZyYW1lVmlldzo6c2l6ZUZvckNT
U0RlZmF1bHRWaWV3cG9ydFVuaXRzKCkgY29uc3QKK0Zsb2F0U2l6ZSBGcmFtZVZpZXc6OnNpemVG
b3JDU1NEZWZhdWx0Vmlld3BvcnRVbml0cygpIGNvbnN0CiB7CiAgICAgcmV0dXJuIHNpemVGb3JD
U1NMYXJnZVZpZXdwb3J0VW5pdHMoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRnJhbWVWaWV3LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCmluZGV4IGY0
Y2Y3ZDA4MTUyOGFhYWExMGM5MjZiZTlkOWYyNzVmZmU0OGY2MmYuLjRmYjdlMzk3NDFhOTgxYzc0
MTNiMzM0OTY2NDEyYjNlNGE5ODI0MGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RnJhbWVWaWV3LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaApAQCAtMjI4
LDE3ICsyMjgsMTcgQEAgcHVibGljOgogCiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBhZGp1c3RW
aWV3U2l6ZSgpOwogCi0gICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRTaXplRm9yQ1NTU21hbGxW
aWV3cG9ydFVuaXRzKEludFNpemUpOworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0U2l6ZUZv
ckNTU1NtYWxsVmlld3BvcnRVbml0cyhGbG9hdFNpemUpOwogICAgIHZvaWQgY2xlYXJTaXplT3Zl
cnJpZGVGb3JDU1NTbWFsbFZpZXdwb3J0VW5pdHMoKTsKLSAgICBJbnRTaXplIHNpemVGb3JDU1NT
bWFsbFZpZXdwb3J0VW5pdHMoKSBjb25zdDsKKyAgICBGbG9hdFNpemUgc2l6ZUZvckNTU1NtYWxs
Vmlld3BvcnRVbml0cygpIGNvbnN0OwogCi0gICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRTaXpl
Rm9yQ1NTTGFyZ2VWaWV3cG9ydFVuaXRzKEludFNpemUpOworICAgIFdFQkNPUkVfRVhQT1JUIHZv
aWQgc2V0U2l6ZUZvckNTU0xhcmdlVmlld3BvcnRVbml0cyhGbG9hdFNpemUpOwogICAgIHZvaWQg
Y2xlYXJTaXplT3ZlcnJpZGVGb3JDU1NMYXJnZVZpZXdwb3J0VW5pdHMoKTsKLSAgICBJbnRTaXpl
IHNpemVGb3JDU1NMYXJnZVZpZXdwb3J0VW5pdHMoKSBjb25zdDsKKyAgICBGbG9hdFNpemUgc2l6
ZUZvckNTU0xhcmdlVmlld3BvcnRVbml0cygpIGNvbnN0OwogCi0gICAgSW50U2l6ZSBzaXplRm9y
Q1NTRHluYW1pY1ZpZXdwb3J0VW5pdHMoKSBjb25zdDsKKyAgICBGbG9hdFNpemUgc2l6ZUZvckNT
U0R5bmFtaWNWaWV3cG9ydFVuaXRzKCkgY29uc3Q7CiAKLSAgICBJbnRTaXplIHNpemVGb3JDU1NE
ZWZhdWx0Vmlld3BvcnRVbml0cygpIGNvbnN0OworICAgIEZsb2F0U2l6ZSBzaXplRm9yQ1NTRGVm
YXVsdFZpZXdwb3J0VW5pdHMoKSBjb25zdDsKIAogICAgIEludFJlY3Qgd2luZG93Q2xpcFJlY3Qo
KSBjb25zdCBmaW5hbDsKICAgICBXRUJDT1JFX0VYUE9SVCBJbnRSZWN0IHdpbmRvd0NsaXBSZWN0
Rm9yRnJhbWVPd25lcihjb25zdCBIVE1MRnJhbWVPd25lckVsZW1lbnQqLCBib29sIGNsaXBUb0xh
eWVyQ29udGVudHMpIGNvbnN0OwpAQCAtODU3LDE5ICs4NTcsMTkgQEAgcHJpdmF0ZToKICAgICB2
b2lkIGRpZExheW91dChXZWFrUHRyPFJlbmRlckVsZW1lbnQ+IGxheW91dFJvb3QpOwogCiAgICAg
c3RydWN0IE92ZXJyaWRlVmlld3BvcnRTaXplIHsKLSAgICAgICAgc3RkOjpvcHRpb25hbDxpbnQ+
IHdpZHRoOwotICAgICAgICBzdGQ6Om9wdGlvbmFsPGludD4gaGVpZ2h0OworICAgICAgICBzdGQ6
Om9wdGlvbmFsPGZsb2F0PiB3aWR0aDsKKyAgICAgICAgc3RkOjpvcHRpb25hbDxmbG9hdD4gaGVp
Z2h0OwogCiAgICAgICAgIGJvb2wgb3BlcmF0b3I9PShjb25zdCBPdmVycmlkZVZpZXdwb3J0U2l6
ZSYgcmhzKSBjb25zdCB7IHJldHVybiByaHMud2lkdGggPT0gd2lkdGggJiYgcmhzLmhlaWdodCA9
PSBoZWlnaHQ7IH0KICAgICB9OwotICAgIEludFNpemUgY2FsY3VsYXRlU2l6ZUZvckNTU1ZpZXdw
b3J0VW5pdHNPdmVycmlkZShzdGQ6Om9wdGlvbmFsPE92ZXJyaWRlVmlld3BvcnRTaXplPikgY29u
c3Q7CisgICAgRmxvYXRTaXplIGNhbGN1bGF0ZVNpemVGb3JDU1NWaWV3cG9ydFVuaXRzT3ZlcnJp
ZGUoc3RkOjpvcHRpb25hbDxPdmVycmlkZVZpZXdwb3J0U2l6ZT4pIGNvbnN0OwogCiAgICAgdm9p
ZCBvdmVycmlkZVNpemVGb3JDU1NTbWFsbFZpZXdwb3J0VW5pdHMoT3ZlcnJpZGVWaWV3cG9ydFNp
emUpOwotICAgIHZvaWQgb3ZlcnJpZGVXaWR0aEZvckNTU1NtYWxsVmlld3BvcnRVbml0cyhpbnQp
OworICAgIHZvaWQgb3ZlcnJpZGVXaWR0aEZvckNTU1NtYWxsVmlld3BvcnRVbml0cyhmbG9hdCk7
CiAgICAgdm9pZCByZXNldE92ZXJyaWRkZW5XaWR0aEZvckNTU1NtYWxsVmlld3BvcnRVbml0cygp
OwogCiAgICAgdm9pZCBvdmVycmlkZVNpemVGb3JDU1NMYXJnZVZpZXdwb3J0VW5pdHMoT3ZlcnJp
ZGVWaWV3cG9ydFNpemUpOwotICAgIHZvaWQgb3ZlcnJpZGVXaWR0aEZvckNTU0xhcmdlVmlld3Bv
cnRVbml0cyhpbnQpOworICAgIHZvaWQgb3ZlcnJpZGVXaWR0aEZvckNTU0xhcmdlVmlld3BvcnRV
bml0cyhmbG9hdCk7CiAgICAgdm9pZCByZXNldE92ZXJyaWRkZW5XaWR0aEZvckNTU0xhcmdlVmll
d3BvcnRVbml0cygpOwogCiAgICAgdm9pZCBkaWRGaW5pc2hQcm9oaWJpdGluZ1Njcm9sbGluZ1do
ZW5DaGFuZ2luZ0NvbnRlbnRTaXplKCkgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVmlldy5jcHAKaW5kZXggMWQyM2I2ZTk0OTliMjJiMDM5OThhMjA4N2E1OTdmNWY2MDMyZmZh
Mi4uNjNlMWRjOWY4NTY0ZDk0YzRiOTQxNGU5YmY4NTdiMGE3ZDRkMDE4ZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcApAQCAtNjk3LDIyICs2OTcsMjIgQEAgZmxvYXQg
UmVuZGVyVmlldzo6em9vbUZhY3RvcigpIGNvbnN0CiAgICAgcmV0dXJuIGZyYW1lVmlldygpLmZy
YW1lKCkucGFnZVpvb21GYWN0b3IoKTsKIH0KIAotSW50U2l6ZSBSZW5kZXJWaWV3OjpzaXplRm9y
Q1NTU21hbGxWaWV3cG9ydFVuaXRzKCkgY29uc3QKK0Zsb2F0U2l6ZSBSZW5kZXJWaWV3OjpzaXpl
Rm9yQ1NTU21hbGxWaWV3cG9ydFVuaXRzKCkgY29uc3QKIHsKICAgICByZXR1cm4gZnJhbWVWaWV3
KCkuc2l6ZUZvckNTU1NtYWxsVmlld3BvcnRVbml0cygpOwogfQogCi1JbnRTaXplIFJlbmRlclZp
ZXc6OnNpemVGb3JDU1NMYXJnZVZpZXdwb3J0VW5pdHMoKSBjb25zdAorRmxvYXRTaXplIFJlbmRl
clZpZXc6OnNpemVGb3JDU1NMYXJnZVZpZXdwb3J0VW5pdHMoKSBjb25zdAogewogICAgIHJldHVy
biBmcmFtZVZpZXcoKS5zaXplRm9yQ1NTTGFyZ2VWaWV3cG9ydFVuaXRzKCk7CiB9CiAKLUludFNp
emUgUmVuZGVyVmlldzo6c2l6ZUZvckNTU0R5bmFtaWNWaWV3cG9ydFVuaXRzKCkgY29uc3QKK0Zs
b2F0U2l6ZSBSZW5kZXJWaWV3OjpzaXplRm9yQ1NTRHluYW1pY1ZpZXdwb3J0VW5pdHMoKSBjb25z
dAogewogICAgIHJldHVybiBmcmFtZVZpZXcoKS5zaXplRm9yQ1NTRHluYW1pY1ZpZXdwb3J0VW5p
dHMoKTsKIH0KIAotSW50U2l6ZSBSZW5kZXJWaWV3OjpzaXplRm9yQ1NTRGVmYXVsdFZpZXdwb3J0
VW5pdHMoKSBjb25zdAorRmxvYXRTaXplIFJlbmRlclZpZXc6OnNpemVGb3JDU1NEZWZhdWx0Vmll
d3BvcnRVbml0cygpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGZyYW1lVmlldygpLnNpemVGb3JDU1NE
ZWZhdWx0Vmlld3BvcnRVbml0cygpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclZpZXcuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3
LmgKaW5kZXggYTBiYjk0ZTE2NzEyYWY4OTY3YzhkZTZhZDc4MTViMGMwYTcxY2Q1Ni4uMWZkNTY4
MTVhYTc5YWJmOGViMGQyNjhkM2FkODQxZDAzMGZhZjk4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVmlldy5oCkBAIC0xNDMsMTAgKzE0MywxMCBAQCBwdWJsaWM6CiAKICAgICBib29s
IHNob3VsZFBhaW50QmFzZUJhY2tncm91bmQoKSBjb25zdDsKIAotICAgIEludFNpemUgc2l6ZUZv
ckNTU1NtYWxsVmlld3BvcnRVbml0cygpIGNvbnN0OwotICAgIEludFNpemUgc2l6ZUZvckNTU0xh
cmdlVmlld3BvcnRVbml0cygpIGNvbnN0OwotICAgIEludFNpemUgc2l6ZUZvckNTU0R5bmFtaWNW
aWV3cG9ydFVuaXRzKCkgY29uc3Q7Ci0gICAgSW50U2l6ZSBzaXplRm9yQ1NTRGVmYXVsdFZpZXdw
b3J0VW5pdHMoKSBjb25zdDsKKyAgICBGbG9hdFNpemUgc2l6ZUZvckNTU1NtYWxsVmlld3BvcnRV
bml0cygpIGNvbnN0OworICAgIEZsb2F0U2l6ZSBzaXplRm9yQ1NTTGFyZ2VWaWV3cG9ydFVuaXRz
KCkgY29uc3Q7CisgICAgRmxvYXRTaXplIHNpemVGb3JDU1NEeW5hbWljVmlld3BvcnRVbml0cygp
IGNvbnN0OworICAgIEZsb2F0U2l6ZSBzaXplRm9yQ1NTRGVmYXVsdFZpZXdwb3J0VW5pdHMoKSBj
b25zdDsKIAogICAgIGJvb2wgaGFzUXVvdGVzTmVlZGluZ1VwZGF0ZSgpIGNvbnN0IHsgcmV0dXJu
IG1faGFzUXVvdGVzTmVlZGluZ1VwZGF0ZTsgfQogICAgIHZvaWQgc2V0SGFzUXVvdGVzTmVlZGlu
Z1VwZGF0ZShib29sIGIpIHsgbV9oYXNRdW90ZXNOZWVkaW5nVXBkYXRlID0gYjsgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5oIGIv
U291cmNlL1dlYktpdC9TaGFyZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5oCmluZGV4IDI2
YWQzZTBiM2ZjYmM4MThmOTlmY2I3YWUwNmViNzVlOTVlMWEyZDEuLmViZDUxZjU0NjFmZDM1YWE0
MDhmY2RlNjkyN2ExNjE4NjM3NGY2YTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1dlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9X
ZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmgKQEAgLTEyNyw3ICsxMjcsNyBAQCBzdHJ1Y3QgV2Vi
UGFnZUNyZWF0aW9uUGFyYW1ldGVycyB7CiAgICAgV2ViQ29yZTo6SW50U2l6ZSBtaW5pbXVtU2l6
ZUZvckF1dG9MYXlvdXQ7CiAgICAgV2ViQ29yZTo6SW50U2l6ZSBzaXplVG9Db250ZW50QXV0b1Np
emVNYXhpbXVtU2l6ZTsKICAgICBib29sIGF1dG9TaXppbmdTaG91bGRFeHBhbmRUb1ZpZXdIZWln
aHQ7Ci0gICAgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpJbnRTaXplPiB2aWV3cG9ydFNpemVGb3JD
U1NWaWV3cG9ydFVuaXRzOworICAgIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6RmxvYXRTaXplPiB2
aWV3cG9ydFNpemVGb3JDU1NWaWV3cG9ydFVuaXRzOwogICAgIAogICAgIFdlYkNvcmU6OlNjcm9s
bFBpbm5pbmdCZWhhdmlvciBzY3JvbGxQaW5uaW5nQmVoYXZpb3I7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0gYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCmluZGV4IDI2ODBiNmM3NTRkZmZl
MTc0OWI2NzU1NDhlOGNjM2UyZDk0YzZmMGUuLmQ4NGZiNjY1MWIxZTJhZjkyYTdjMTU5ODk4ZjUw
M2QzMzEzMmM3ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlldy5tbQpAQCAtMTg4Niw3ICsxODg2LDcgQEAgLSAoQ0dTaXplKV92aWV3cG9ydFNpemVG
b3JDU1NWaWV3cG9ydFVuaXRzCiAtICh2b2lkKV9zZXRWaWV3cG9ydFNpemVGb3JDU1NWaWV3cG9y
dFVuaXRzOihDR1NpemUpdmlld3BvcnRTaXplCiB7CiAgICAgVEhST1dfSUZfU1VTUEVOREVEOwot
ICAgIGF1dG8gdmlld3BvcnRTaXplRm9yVmlld3BvcnRVbml0cyA9IFdlYkNvcmU6OkludFNpemUo
dmlld3BvcnRTaXplKTsKKyAgICBhdXRvIHZpZXdwb3J0U2l6ZUZvclZpZXdwb3J0VW5pdHMgPSBX
ZWJDb3JlOjpGbG9hdFNpemUodmlld3BvcnRTaXplKTsKICAgICBpZiAodmlld3BvcnRTaXplRm9y
Vmlld3BvcnRVbml0cy5pc0VtcHR5KCkpCiAgICAgICAgIFtOU0V4Y2VwdGlvbiByYWlzZTpOU0lu
dmFsaWRBcmd1bWVudEV4Y2VwdGlvbiBmb3JtYXQ6QCJWaWV3cG9ydCBzaXplIHNob3VsZCBub3Qg
YmUgZW1wdHkiXTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5k
ZXggODU0MjljYmU1YzMzOTEwN2ZkODI5NDRiNjY4MDllYzM3NjAxYTJhNS4uMTkzMzNlMTFjOWVk
ZGMzNzkwNzExZTU3NTA5ZTRmNWNlMDNlZGY3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuY3BwCkBAIC05MTA3LDcgKzkxMDcsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6
c2V0QXV0b1NpemluZ1Nob3VsZEV4cGFuZFRvVmlld0hlaWdodChib29sIHNob3VsZEV4cGFuZCkK
ICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpTZXRBdXRvU2l6aW5nU2hvdWxkRXhwYW5kVG9W
aWV3SGVpZ2h0KHNob3VsZEV4cGFuZCkpOwogfQogCi12b2lkIFdlYlBhZ2VQcm94eTo6c2V0Vmll
d3BvcnRTaXplRm9yQ1NTVmlld3BvcnRVbml0cyhjb25zdCBJbnRTaXplJiB2aWV3cG9ydFNpemUp
Cit2b2lkIFdlYlBhZ2VQcm94eTo6c2V0Vmlld3BvcnRTaXplRm9yQ1NTVmlld3BvcnRVbml0cyhj
b25zdCBGbG9hdFNpemUmIHZpZXdwb3J0U2l6ZSkKIHsKICAgICBpZiAobV92aWV3cG9ydFNpemVG
b3JDU1NWaWV3cG9ydFVuaXRzICYmICptX3ZpZXdwb3J0U2l6ZUZvckNTU1ZpZXdwb3J0VW5pdHMg
PT0gdmlld3BvcnRTaXplKQogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5oCmluZGV4IDk5MzM2Y2M3OWE1OWEwZjNkN2U0MDcxMDMwOTExNzFhYjg5MWM2
YmUuLjMxM2IzMjhhYTIzM2Q2YmRjYTY4YTRkZmY2MTJlOGNlMzM2NjIwNzggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC0xNDYxLDggKzE0NjEsOCBAQCBwdWJsaWM6
CiAgICAgYm9vbCBhdXRvU2l6aW5nU2hvdWxkRXhwYW5kVG9WaWV3SGVpZ2h0KCkgY29uc3QgeyBy
ZXR1cm4gbV9hdXRvU2l6aW5nU2hvdWxkRXhwYW5kVG9WaWV3SGVpZ2h0OyB9CiAgICAgdm9pZCBz
ZXRBdXRvU2l6aW5nU2hvdWxkRXhwYW5kVG9WaWV3SGVpZ2h0KGJvb2wpOwogCi0gICAgdm9pZCBz
ZXRWaWV3cG9ydFNpemVGb3JDU1NWaWV3cG9ydFVuaXRzKGNvbnN0IFdlYkNvcmU6OkludFNpemUm
KTsKLSAgICBXZWJDb3JlOjpJbnRTaXplIHZpZXdwb3J0U2l6ZUZvckNTU1ZpZXdwb3J0VW5pdHMo
KSBjb25zdCB7IHJldHVybiBtX3ZpZXdwb3J0U2l6ZUZvckNTU1ZpZXdwb3J0VW5pdHMudmFsdWVf
b3IoV2ViQ29yZTo6SW50U2l6ZSgpKTsgfQorICAgIHZvaWQgc2V0Vmlld3BvcnRTaXplRm9yQ1NT
Vmlld3BvcnRVbml0cyhjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmKTsKKyAgICBXZWJDb3JlOjpG
bG9hdFNpemUgdmlld3BvcnRTaXplRm9yQ1NTVmlld3BvcnRVbml0cygpIGNvbnN0IHsgcmV0dXJu
IG1fdmlld3BvcnRTaXplRm9yQ1NTVmlld3BvcnRVbml0cy52YWx1ZV9vcihXZWJDb3JlOjpGbG9h
dFNpemUoKSk7IH0KIAogICAgIHZvaWQgZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
UHJveHkoUmVmPEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHk+JiYsIE5lZ290aWF0ZWRMZWdh
Y3lUTFMpOwogICAgIHZvaWQgbmVnb3RpYXRlZExlZ2FjeVRMUygpOwpAQCAtMjkxNyw3ICsyOTE3
LDcgQEAgcHJpdmF0ZToKICAgICBXZWJDb3JlOjpJbnRTaXplIG1fbWluaW11bVNpemVGb3JBdXRv
TGF5b3V0OwogICAgIFdlYkNvcmU6OkludFNpemUgbV9zaXplVG9Db250ZW50QXV0b1NpemVNYXhp
bXVtU2l6ZTsKIAotICAgIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6SW50U2l6ZT4gbV92aWV3cG9y
dFNpemVGb3JDU1NWaWV3cG9ydFVuaXRzOworICAgIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6Rmxv
YXRTaXplPiBtX3ZpZXdwb3J0U2l6ZUZvckNTU1ZpZXdwb3J0VW5pdHM7CiAKICAgICAvLyBWaXN1
YWwgdmlld3BvcnRzCiAgICAgV2ViQ29yZTo6TGF5b3V0U2l6ZSBtX2Jhc2VMYXlvdXRWaWV3cG9y
dFNpemU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmlu
ZGV4IGYwNTYyYjQ1ZmZhMmYwOWNmMmIzY2RhOGI3NzUyNGFkMzNlNDJjYzUuLmQyNmM2MDUxNDFl
NmZlNTliYWNmZDdkMTgwNjFmMTgzZjBkMzA3YTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC02MjYwLDcgKzYyNjAsNyBAQCB2b2lkIFdlYlBh
Z2U6OnNldEF1dG9TaXppbmdTaG91bGRFeHBhbmRUb1ZpZXdIZWlnaHQoYm9vbCBzaG91bGRFeHBh
bmQpCiAgICAgY29yZVBhZ2UoKS0+bWFpbkZyYW1lKCkudmlldygpLT5zZXRBdXRvU2l6ZUZpeGVk
TWluaW11bUhlaWdodChzaG91bGRFeHBhbmQgPyBtX3ZpZXdTaXplLmhlaWdodCgpIDogMCk7CiB9
CiAKLXZvaWQgV2ViUGFnZTo6c2V0Vmlld3BvcnRTaXplRm9yQ1NTVmlld3BvcnRVbml0cyhzdGQ6
Om9wdGlvbmFsPFdlYkNvcmU6OkludFNpemU+IHZpZXdwb3J0U2l6ZSkKK3ZvaWQgV2ViUGFnZTo6
c2V0Vmlld3BvcnRTaXplRm9yQ1NTVmlld3BvcnRVbml0cyhzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6
OkZsb2F0U2l6ZT4gdmlld3BvcnRTaXplKQogewogICAgIGlmIChtX3ZpZXdwb3J0U2l6ZUZvckNT
U1ZpZXdwb3J0VW5pdHMgPT0gdmlld3BvcnRTaXplKQogICAgICAgICByZXR1cm47CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5kZXggY2I4ZmFhZjZlNTE3ODQ2
NTI2MjljMDBhMjE4N2NmZDJjMjdmNDRjYS4uZmI2Yjk5NWQ1ODlhY2Y5MTdhNDAwYjBkY2JiZmY1
N2NiZDEzY2U4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
aApAQCAtMTE2Nyw4ICsxMTY3LDggQEAgcHVibGljOgogICAgIHZvaWQgc2V0QXV0b1NpemluZ1No
b3VsZEV4cGFuZFRvVmlld0hlaWdodChib29sIHNob3VsZEV4cGFuZCk7CiAgICAgYm9vbCBhdXRv
U2l6aW5nU2hvdWxkRXhwYW5kVG9WaWV3SGVpZ2h0KCkgeyByZXR1cm4gbV9hdXRvU2l6aW5nU2hv
dWxkRXhwYW5kVG9WaWV3SGVpZ2h0OyB9CiAKLSAgICB2b2lkIHNldFZpZXdwb3J0U2l6ZUZvckNT
U1ZpZXdwb3J0VW5pdHMoc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpJbnRTaXplPik7Ci0gICAgc3Rk
OjpvcHRpb25hbDxXZWJDb3JlOjpJbnRTaXplPiB2aWV3cG9ydFNpemVGb3JDU1NWaWV3cG9ydFVu
aXRzKCkgY29uc3QgeyByZXR1cm4gbV92aWV3cG9ydFNpemVGb3JDU1NWaWV3cG9ydFVuaXRzOyB9
CisgICAgdm9pZCBzZXRWaWV3cG9ydFNpemVGb3JDU1NWaWV3cG9ydFVuaXRzKHN0ZDo6b3B0aW9u
YWw8V2ViQ29yZTo6RmxvYXRTaXplPik7CisgICAgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpGbG9h
dFNpemU+IHZpZXdwb3J0U2l6ZUZvckNTU1ZpZXdwb3J0VW5pdHMoKSBjb25zdCB7IHJldHVybiBt
X3ZpZXdwb3J0U2l6ZUZvckNTU1ZpZXdwb3J0VW5pdHM7IH0KIAogICAgIGJvb2wgY2FuU2hvd01J
TUVUeXBlKGNvbnN0IFN0cmluZyYgTUlNRVR5cGUpIGNvbnN0OwogICAgIGJvb2wgY2FuU2hvd1Jl
c3BvbnNlKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmKSBjb25zdDsKQEAgLTIxODgs
NyArMjE4OCw3IEBAIHByaXZhdGU6CiAgICAgV2ViQ29yZTo6SW50U2l6ZSBtX21pbmltdW1TaXpl
Rm9yQXV0b0xheW91dDsKICAgICBXZWJDb3JlOjpJbnRTaXplIG1fc2l6ZVRvQ29udGVudEF1dG9T
aXplTWF4aW11bVNpemU7CiAgICAgYm9vbCBtX2F1dG9TaXppbmdTaG91bGRFeHBhbmRUb1ZpZXdI
ZWlnaHQgeyBmYWxzZSB9OwotICAgIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6SW50U2l6ZT4gbV92
aWV3cG9ydFNpemVGb3JDU1NWaWV3cG9ydFVuaXRzOworICAgIHN0ZDo6b3B0aW9uYWw8V2ViQ29y
ZTo6RmxvYXRTaXplPiBtX3ZpZXdwb3J0U2l6ZUZvckNTU1ZpZXdwb3J0VW5pdHM7CiAKICAgICBi
b29sIG1fdXNlcklzSW50ZXJhY3RpbmcgeyBmYWxzZSB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgppbmRleCAzOGNlNDU3
MGM5OGE4YjdhOTJhMTAzOGEyMTU1YTFiMjdlYTQxODQ5Li45NmU1Yzc2N2YwYmNhMmU3OGZmNzE2
OTM1MzMxYTgwNDY0MjQ4ODAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KQEAgLTQ4MCw3ICs0ODAsNyBAQCBHZW5lcmF0
ZVN5bnRoZXRpY0VkaXRpbmdDb21tYW5kKGVudW06dWludDhfdCBXZWJLaXQ6OlN5bnRoZXRpY0Vk
aXRpbmdDb21tYW5kVHlwZQogICAgIFNldFNpemVUb0NvbnRlbnRBdXRvU2l6ZU1heGltdW1TaXpl
KFdlYkNvcmU6OkludFNpemUgc2l6ZSkKICAgICBTZXRBdXRvU2l6aW5nU2hvdWxkRXhwYW5kVG9W
aWV3SGVpZ2h0KGJvb2wgc2hvdWxkRXhwYW5kKQogCi0gICAgU2V0Vmlld3BvcnRTaXplRm9yQ1NT
Vmlld3BvcnRVbml0cyhzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkludFNpemU+IHZpZXdwb3J0U2l6
ZSkKKyAgICBTZXRWaWV3cG9ydFNpemVGb3JDU1NWaWV3cG9ydFVuaXRzKHN0ZDo6b3B0aW9uYWw8
V2ViQ29yZTo6RmxvYXRTaXplPiB2aWV3cG9ydFNpemUpCiAKICNpZiBQTEFURk9STShDT0NPQSkK
ICAgICBIYW5kbGVBbHRlcm5hdGl2ZVRleHRVSVJlc3VsdChTdHJpbmcgcmVzdWx0KQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0g
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQppbmRl
eCBlNzM2N2FhZGZiMTM4YWY5MjBhNzE3MDRmNjE0MGQ0ODdmMWJkYTdmLi5jZDJkOWVkYzQ0ODNh
ZGQ5ZmRmNzUzNDVjNTczMTI1ZTc3MmM3NGVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQpAQCAtMzg2NSw4ICszODY1LDggQEAg
dm9pZCBXZWJQYWdlOjp1cGRhdGVWaWV3cG9ydFNpemVGb3JDU1NWaWV3cG9ydFVuaXRzKCkKICAg
ICBGcmFtZVZpZXcmIGZyYW1lVmlldyA9ICptYWluRnJhbWVWaWV3KCk7CiAgICAgc21hbGxlc3RV
bm9ic2N1cmVkU2l6ZS5zY2FsZSgxIC8gbV92aWV3cG9ydENvbmZpZ3VyYXRpb24uaW5pdGlhbFNj
YWxlSWdub3JpbmdDb250ZW50U2l6ZSgpKTsKICAgICBsYXJnZXN0VW5vYnNjdXJlZFNpemUuc2Nh
bGUoMSAvIG1fdmlld3BvcnRDb25maWd1cmF0aW9uLmluaXRpYWxTY2FsZUlnbm9yaW5nQ29udGVu
dFNpemUoKSk7Ci0gICAgZnJhbWVWaWV3LnNldFNpemVGb3JDU1NTbWFsbFZpZXdwb3J0VW5pdHMo
cm91bmRlZEludFNpemUoc21hbGxlc3RVbm9ic2N1cmVkU2l6ZSkpOwotICAgIGZyYW1lVmlldy5z
ZXRTaXplRm9yQ1NTTGFyZ2VWaWV3cG9ydFVuaXRzKHJvdW5kZWRJbnRTaXplKGxhcmdlc3RVbm9i
c2N1cmVkU2l6ZSkpOworICAgIGZyYW1lVmlldy5zZXRTaXplRm9yQ1NTU21hbGxWaWV3cG9ydFVu
aXRzKHNtYWxsZXN0VW5vYnNjdXJlZFNpemUpOworICAgIGZyYW1lVmlldy5zZXRTaXplRm9yQ1NT
TGFyZ2VWaWV3cG9ydFVuaXRzKGxhcmdlc3RVbm9ic2N1cmVkU2l6ZSk7CiB9CiAKIHZvaWQgV2Vi
UGFnZTo6YXBwbGljYXRpb25XaWxsUmVzaWduQWN0aXZlKCkKZGlmZiAtLWdpdCBhL1Rvb2xzL0No
YW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBiZDY4ZTllNmJmNWNmYWZjNWJmYTc1YzMw
YzY2YTk1Yzg0ZWQyN2Y5Li5lMTFhOGYwZDMyYmQ0YWE0YzNiM2YwMjBmZTMzMDJjODEyYWU5ZjVl
IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTkgQEAKKzIwMjEtMTAtMjEgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29t
PgorCisgICAgICAgIFtjc3MtdmFsdWVzLTRdIHZpZXdwb3J0IHVuaXRzIHNob3VsZCBiZSBmbG9h
dHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTY0
NAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODQxNzI2ODU+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dENvY29hL0NTU1ZpZXdwb3J0VW5pdHMubW06CisgICAgICAgIChldmFsdWF0ZUZvck51bWJlcik6
CisgICAgICAgIChnZXRFbGVtZW50SGVpZ2h0KToKKyAgICAgICAgKFRFU1QuQ1NTVmlld3BvcnRV
bml0cy5BbGxTYW1lKToKKyAgICAgICAgKFRFU1QuQ1NTVmlld3BvcnRVbml0cy5FbXB0eVVub2Jz
Y3VyZWRTaXplT3ZlcnJpZGVzKToKKyAgICAgICAgKFRFU1QuQ1NTVmlld3BvcnRVbml0cy5TYW1l
VW5vYnNjdXJlZFNpemVPdmVycmlkZXMpOgorICAgICAgICAoVEVTVC5DU1NWaWV3cG9ydFVuaXRz
LkRpZmZlcmVudFVub2JzY3VyZWRTaXplT3ZlcnJpZGVzKToKKwogMjAyMS0xMC0yMSAgRGV2aW4g
Um91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAgICAgICAgW2Nzcy12YWx1ZXMtNF0gU3Vw
cG9ydCBzbWFsbCAoc3YqKSwgbGFyZ2UgKGx2KikgYW5kIGR5bmFtaWMgKGR2Kikgdmlld3BvcnQg
dW5pdHMKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2Ev
Q1NTVmlld3BvcnRVbml0cy5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29j
b2EvQ1NTVmlld3BvcnRVbml0cy5tbQppbmRleCBlNTdmYTg0MDgzZDkwOWUxNjYwYTVhMDJjYzcy
NjdjY2QyYWZkZWYyLi40YzVjZjZhNjI1MWM2OGY3YjVkMzM1NTRlNjQyMDE1OGI5OWFkZGNlIDEw
MDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0NTU1ZpZXdw
b3J0VW5pdHMubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9D
U1NWaWV3cG9ydFVuaXRzLm1tCkBAIC0zMCwxNCArMzAsMTQgQEAKICNpbXBvcnQgPFdlYktpdC9X
S1dlYlZpZXdQcml2YXRlLmg+CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CiAKLXN0YXRpYyBp
bnQgZXZhbHVhdGVGb3JJbnQoV0tXZWJWaWV3ICp3ZWJWaWV3LCBOU1N0cmluZyAqc2NyaXB0KQor
c3RhdGljIGRvdWJsZSBldmFsdWF0ZUZvck51bWJlcihXS1dlYlZpZXcgKndlYlZpZXcsIE5TU3Ry
aW5nICpzY3JpcHQpCiB7Ci0gICAgcmV0dXJuIFsoTlNOdW1iZXIgKilbd2ViVmlldyBvYmplY3RC
eUV2YWx1YXRpbmdKYXZhU2NyaXB0OnNjcmlwdF0gaW50VmFsdWVdOworICAgIHJldHVybiBbKE5T
TnVtYmVyICopW3dlYlZpZXcgb2JqZWN0QnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpzY3JpcHRdIGRv
dWJsZVZhbHVlXTsKIH0KIAotc3RhdGljIGludCBnZXRFbGVtZW50SGVpZ2h0KFdLV2ViVmlldyAq
d2ViVmlldywgTlNTdHJpbmcgKmVsZW1lbnRJRCkKK3N0YXRpYyBkb3VibGUgZ2V0RWxlbWVudEhl
aWdodChXS1dlYlZpZXcgKndlYlZpZXcsIE5TU3RyaW5nICplbGVtZW50SUQpCiB7Ci0gICAgcmV0
dXJuIGV2YWx1YXRlRm9ySW50KHdlYlZpZXcsIFtOU1N0cmluZyBzdHJpbmdXaXRoRm9ybWF0OkAi
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJyVAJykuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVp
Z2h0IiwgZWxlbWVudElEXSk7CisgICAgcmV0dXJuIGV2YWx1YXRlRm9yTnVtYmVyKHdlYlZpZXcs
IFtOU1N0cmluZyBzdHJpbmdXaXRoRm9ybWF0OkAiZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJyVA
JykuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0IiwgZWxlbWVudElEXSk7CiB9CiAKIFRF
U1QoQ1NTVmlld3BvcnRVbml0cywgQWxsU2FtZSkKQEAgLTQ1LDI3ICs0NSwyNyBAQCBURVNUKENT
U1ZpZXdwb3J0VW5pdHMsIEFsbFNhbWUpCiAgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rl
c3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6Q0dSZWN0TWFrZSgwLCAwLCAzMjAsIDUw
MCldKTsKICAgICBbd2ViVmlldyBzeW5jaHJvbm91c2x5TG9hZFRlc3RQYWdlTmFtZWQ6QCJDU1NW
aWV3cG9ydFVuaXRzIl07CiAKLSAgICBFWFBFQ1RfRVEoMzIwLCBnZXRFbGVtZW50SGVpZ2h0KHdl
YlZpZXcuZ2V0KCksIEAidnciKSk7Ci0gICAgRVhQRUNUX0VRKDUwMCwgZ2V0RWxlbWVudEhlaWdo
dCh3ZWJWaWV3LmdldCgpLCBAInZoIikpOwotICAgIEVYUEVDVF9FUSgzMjAsIGdldEVsZW1lbnRI
ZWlnaHQod2ViVmlldy5nZXQoKSwgQCJ2bWluIikpOwotICAgIEVYUEVDVF9FUSg1MDAsIGdldEVs
ZW1lbnRIZWlnaHQod2ViVmlldy5nZXQoKSwgQCJ2bWF4IikpOworICAgIEVYUEVDVF9GTE9BVF9F
USgzMjAsIGdldEVsZW1lbnRIZWlnaHQod2ViVmlldy5nZXQoKSwgQCJ2dyIpKTsKKyAgICBFWFBF
Q1RfRkxPQVRfRVEoNTAwLCBnZXRFbGVtZW50SGVpZ2h0KHdlYlZpZXcuZ2V0KCksIEAidmgiKSk7
CisgICAgRVhQRUNUX0ZMT0FUX0VRKDMyMCwgZ2V0RWxlbWVudEhlaWdodCh3ZWJWaWV3LmdldCgp
LCBAInZtaW4iKSk7CisgICAgRVhQRUNUX0ZMT0FUX0VRKDUwMCwgZ2V0RWxlbWVudEhlaWdodCh3
ZWJWaWV3LmdldCgpLCBAInZtYXgiKSk7CiAKLSAgICBFWFBFQ1RfRVEoMzIwLCBnZXRFbGVtZW50
SGVpZ2h0KHdlYlZpZXcuZ2V0KCksIEAic3Z3IikpOwotICAgIEVYUEVDVF9FUSg1MDAsIGdldEVs
ZW1lbnRIZWlnaHQod2ViVmlldy5nZXQoKSwgQCJzdmgiKSk7Ci0gICAgRVhQRUNUX0VRKDMyMCwg
Z2V0RWxlbWVudEhlaWdodCh3ZWJWaWV3LmdldCgpLCBAInN2bWluIikpOwotICAgIEVYUEVDVF9F
USg1MDAsIGdldEVsZW1lbnRIZWlnaHQod2ViVmlldy5nZXQoKSwgQCJzdm1heCIpKTsKKyAgICBF
WFBFQ1RfRkxPQVRfRVEoMzIwLCBnZXRFbGVtZW50SGVpZ2h0KHdlYlZpZXcuZ2V0KCksIEAic3Z3
IikpOworICAgIEVYUEVDVF9GTE9BVF9FUSg1MDAsIGdldEVsZW1lbnRIZWlnaHQod2ViVmlldy5n
ZXQoKSwgQCJzdmgiKSk7CisgICAgRVhQRUNUX0ZMT0FUX0VRKDMyMCwgZ2V0RWxlbWVudEhlaWdo
dCh3ZWJWaWV3LmdldCgpLCBAInN2bWluIikpOworICAgIEVYUEVDVF9GTE9BVF9FUSg1MDAsIGdl
dEVsZW1lbnRIZWlnaHQod2ViVmlldy5nZXQoKSwgQCJzdm1heCIpKTsKIAotICAgIEVYUEVDVF9F
USgzMjAsIGdldEVsZW1lbnRIZWlnaHQod2ViVmlldy5nZXQoKSwgQCJsdnciKSk7Ci0gICAgRVhQ
RUNUX0VRKDUwMCwgZ2V0RWxlbWVudEhlaWdodCh3ZWJWaWV3LmdldCgpLCBAImx2aCIpKTsKLSAg
ICBFWFBFQ1RfRVEoMzIwLCBnZXRFbGVtZW50SGVpZ2h0KHdlYlZpZXcuZ2V0KCksIEAibHZtaW4i
KSk7Ci0gICAgRVhQRUNUX0VRKDUwMCwgZ2V0RWxlbWVudEhlaWdodCh3ZWJWaWV3LmdldCgpLCBA
Imx2bWF4IikpOworICAgIEVYUEVDVF9GTE9BVF9FUSgzMjAsIGdldEVsZW1lbnRIZWlnaHQod2Vi
Vmlldy5nZXQoKSwgQCJsdnciKSk7CisgICAgRVhQRUNUX0ZMT0FUX0VRKDUwMCwgZ2V0RWxlbWVu
dEhlaWdodCh3ZWJWaWV3LmdldCgpLCBAImx2aCIpKTsKKyAgICBFWFBFQ1RfRkxPQVRfRVEoMzIw
LCBnZXRFbGVtZW50SGVpZ2h0KHdlYlZpZXcuZ2V0KCksIEAibHZtaW4iKSk7CisgICAgRVhQRUNU
X0ZMT0FUX0VRKDUwMCwgZ2V0RWxlbWVudEhlaWdodCh3ZWJWaWV3LmdldCgpLCBAImx2bWF4Iikp
OwogCi0gICAgaW50IGlubmVyV2lkdGggPSBldmFsdWF0ZUZvckludCh3ZWJWaWV3LmdldCgpLCBA
IndpbmRvdy5pbm5lcldpZHRoIik7Ci0gICAgaW50IGlubmVySGVpZ2h0ID0gZXZhbHVhdGVGb3JJ
bnQod2ViVmlldy5nZXQoKSwgQCJ3aW5kb3cuaW5uZXJIZWlnaHQiKTsKLSAgICBFWFBFQ1RfRVEo
aW5uZXJXaWR0aCwgZ2V0RWxlbWVudEhlaWdodCh3ZWJWaWV3LmdldCgpLCBAImR2dyIpKTsKLSAg
ICBFWFBFQ1RfRVEoaW5uZXJIZWlnaHQsIGdldEVsZW1lbnRIZWlnaHQod2ViVmlldy5nZXQoKSwg
QCJkdmgiKSk7Ci0gICAgRVhQRUNUX0VRKGlubmVyV2lkdGgsIGdldEVsZW1lbnRIZWlnaHQod2Vi
Vmlldy5nZXQoKSwgQCJkdm1pbiIpKTsKLSAgICBFWFBFQ1RfRVEoaW5uZXJIZWlnaHQsIGdldEVs
ZW1lbnRIZWlnaHQod2ViVmlldy5nZXQoKSwgQCJkdm1heCIpKTsKKyAgICBhdXRvIGlubmVyV2lk
dGggPSBldmFsdWF0ZUZvck51bWJlcih3ZWJWaWV3LmdldCgpLCBAIndpbmRvdy5pbm5lcldpZHRo
Iik7CisgICAgYXV0byBpbm5lckhlaWdodCA9IGV2YWx1YXRlRm9yTnVtYmVyKHdlYlZpZXcuZ2V0
KCksIEAid2luZG93LmlubmVySGVpZ2h0Iik7CisgICAgRVhQRUNUX0ZMT0FUX0VRKGlubmVyV2lk
dGgsIGdldEVsZW1lbnRIZWlnaHQod2ViVmlldy5nZXQoKSwgQCJkdnciKSk7CisgICAgRVhQRUNU
X0ZMT0FUX0VRKGlubmVySGVpZ2h0LCBnZXRFbGVtZW50SGVpZ2h0KHdlYlZpZXcuZ2V0KCksIEAi
ZHZoIikpOworICAgIEVYUEVDVF9GTE9BVF9FUShpbm5lcldpZHRoLCBnZXRFbGVtZW50SGVpZ2h0
KHdlYlZpZXcuZ2V0KCksIEAiZHZtaW4iKSk7CisgICAgRVhQRUNUX0ZMT0FUX0VRKGlubmVySGVp
Z2h0LCBnZXRFbGVtZW50SGVpZ2h0KHdlYlZpZXcuZ2V0KCksIEAiZHZtYXgiKSk7CiB9CiAKICNp
ZiBQTEFURk9STShJT1NfRkFNSUxZKQpAQCAtNzMsOTEgKzczLDkxIEBAIFRFU1QoQ1NTVmlld3Bv
cnRVbml0cywgQWxsU2FtZSkKIFRFU1QoQ1NTVmlld3BvcnRVbml0cywgRW1wdHlVbm9ic2N1cmVk
U2l6ZU92ZXJyaWRlcykKIHsKICAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2Vi
VmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpDR1JlY3RNYWtlKDAsIDAsIDMyMCwgNTAwKV0pOwot
ICAgIFt3ZWJWaWV3IF9vdmVycmlkZUxheW91dFBhcmFtZXRlcnNXaXRoTWluaW11bUxheW91dFNp
emU6Q0dTaXplTWFrZSgxMCwgMjApCisgICAgW3dlYlZpZXcgX292ZXJyaWRlTGF5b3V0UGFyYW1l
dGVyc1dpdGhNaW5pbXVtTGF5b3V0U2l6ZTpDR1NpemVNYWtlKDEwLjUsIDIwLjUpCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBtYXhpbXVtVW5vYnNjdXJlZFNpemVPdmVycmlkZTpDR1Np
emVaZXJvXTsKICAgICBbd2ViVmlldyBzeW5jaHJvbm91c2x5TG9hZFRlc3RQYWdlTmFtZWQ6QCJD
U1NWaWV3cG9ydFVuaXRzIl07CiAKLSAgICBFWFBFQ1RfRVEoMTAsIGdldEVsZW1lbnRIZWlnaHQo
d2ViVmlldy5nZXQoKSwgQCJ2dyIpKTsKLSAgICBFWFBFQ1RfRVEoMjAsIGdldEVsZW1lbnRIZWln
aHQod2ViVmlldy5nZXQoKSwgQCJ2aCIpKTsKLSAgICBFWFBFQ1RfRVEoMTAsIGdldEVsZW1lbnRI
ZWlnaHQod2ViVmlldy5nZXQoKSwgQCJ2bWluIikpOwotICAgIEVYUEVDVF9FUSgyMCwgZ2V0RWxl
bWVudEhlaWdodCh3ZWJWaWV3LmdldCgpLCBAInZtYXgiKSk7CisgICAgRVhQRUNUX0ZMT0FUX0VR
KDEwLjUsIGdldEVsZW1lbnRIZWlnaHQod2ViVmlldy5nZXQoKSwgQCJ2dyIpKTsKKyAgICBFWFBF
Q1RfRkxPQVRfRVEoMjAuNSwgZ2V0RWxlbWVudEhlaWdodCh3ZWJWaWV3LmdldCgpLCBAInZoIikp
OworICAgIEVYUEVDVF9GTE9BVF9FUSgxMC41LCBnZXRFbGVtZW50SGVpZ2h0KHdlYlZpZXcuZ2V0
KCksIEAidm1pbiIpKTsKKyAgICBFWFBFQ1RfRkxPQVRfRVEoMjAuNSwgZ2V0RWxlbWVudEhlaWdo
dCh3ZWJWaWV3LmdldCgpLCBAInZtYXgiKSk7CiAKLSAgICBFWFBFQ1RfRVEoMTAsIGdldEVsZW1l
bnRIZWlnaHQod2ViVmlldy5nZXQoKSwgQCJzdnciKSk7Ci0gICAgRVhQRUNUX0VRKDIwLCBnZXRF
bGVtZW50SGVpZ2h0KHdlYlZpZXcuZ2V0KCksIEAic3ZoIikpOwotICAgIEVYUEVDVF9FUSgxMCwg
Z2V0RWxlbWVudEhlaWdodCh3ZWJWaWV3LmdldCgpLCBAInN2bWluIikpOwotICAgIEVYUEVDVF9F
USgyMCwgZ2V0RWxlbWVudEhlaWdodCh3ZWJWaWV3LmdldCgpLCBAInN2bWF4IikpOworICAgIEVY
UEVDVF9GTE9BVF9FUSgxMC41LCBnZXRFbGVtZW50SGVpZ2h0KHdlYlZpZXcuZ2V0KCksIEAic3Z3
IikpOworICAgIEVYUEVDVF9GTE9BVF9FUSgyMC41LCBnZXRFbGVtZW50SGVpZ2h0KHdlYlZpZXcu
Z2V0KCksIEAic3ZoIikpOworICAgIEVYUEVDVF9GTE9BVF9FUSgxMC41LCBnZXRFbGVtZW50SGVp
Z2h0KHdlYlZpZXcuZ2V0KCksIEAic3ZtaW4iKSk7CisgICAgRVhQRUNUX0ZMT0FUX0VRKDIwLjUs
IGdldEVsZW1lbnRIZWlnaHQod2ViVmlldy5nZXQoKSwgQCJzdm1heCIpKTsKIAotICAgIEVYUEVD
VF9FUSgxMCwgZ2V0RWxlbWVudEhlaWdodCh3ZWJWaWV3LmdldCgpLCBAImx2dyIpKTsKLSAgICBF
WFBFQ1RfRVEoMjAsIGdldEVsZW1lbnRIZWlnaHQod2ViVmlldy5nZXQoKSwgQCJsdmgiKSk7Ci0g
ICAgRVhQRUNUX0VRKDEwLCBnZXRFbGVtZW50SGVpZ2h0KHdlYlZpZXcuZ2V0KCksIEAibHZtaW4i
KSk7Ci0gICAgRVhQRUNUX0VRKDIwLCBnZXRFbGVtZW50SGVpZ2h0KHdlYlZpZXcuZ2V0KCksIEAi
bHZtYXgiKSk7CisgICAgRVhQRUNUX0ZMT0FUX0VRKDEwLjUsIGdldEVsZW1lbnRIZWlnaHQod2Vi
Vmlldy5nZXQoKSwgQCJsdnciKSk7CisgICAgRVhQRUNUX0ZMT0FUX0VRKDIwLjUsIGdldEVsZW1l
bnRIZWlnaHQod2ViVmlldy5nZXQoKSwgQCJsdmgiKSk7CisgICAgRVhQRUNUX0ZMT0FUX0VRKDEw
LjUsIGdldEVsZW1lbnRIZWlnaHQod2ViVmlldy5nZXQoKSwgQCJsdm1pbiIpKTsKKyAgICBFWFBF
Q1RfRkxPQVRfRVEoMjAuNSwgZ2V0RWxlbWVudEhlaWdodCh3ZWJWaWV3LmdldCgpLCBAImx2bWF4
IikpOwogCi0gICAgaW50IGlubmVyV2lkdGggPSBldmFsdWF0ZUZvckludCh3ZWJWaWV3LmdldCgp
LCBAIndpbmRvdy5pbm5lcldpZHRoIik7Ci0gICAgaW50IGlubmVySGVpZ2h0ID0gZXZhbHVhdGVG
b3JJbnQod2ViVmlldy5nZXQoKSwgQCJ3aW5kb3cuaW5uZXJIZWlnaHQiKTsKLSAgICBFWFBFQ1Rf
RVEoaW5uZXJXaWR0aCwgZ2V0RWxlbWVudEhlaWdodCh3ZWJWaWV3LmdldCgpLCBAImR2dyIpKTsK
LSAgICBFWFBFQ1RfRVEoaW5uZXJIZWlnaHQsIGdldEVsZW1lbnRIZWlnaHQod2ViVmlldy5nZXQo
KSwgQCJkdmgiKSk7Ci0gICAgRVhQRUNUX0VRKGlubmVyV2lkdGgsIGdldEVsZW1lbnRIZWlnaHQo
d2ViVmlldy5nZXQoKSwgQCJkdm1pbiIpKTsKLSAgICBFWFBFQ1RfRVEoaW5uZXJIZWlnaHQsIGdl
dEVsZW1lbnRIZWlnaHQod2ViVmlldy5nZXQoKSwgQCJkdm1heCIpKTsKKyAgICBhdXRvIGlubmVy
V2lkdGggPSBldmFsdWF0ZUZvck51bWJlcih3ZWJWaWV3LmdldCgpLCBAIndpbmRvdy5pbm5lcldp
ZHRoIik7CisgICAgYXV0byBpbm5lckhlaWdodCA9IGV2YWx1YXRlRm9yTnVtYmVyKHdlYlZpZXcu
Z2V0KCksIEAid2luZG93LmlubmVySGVpZ2h0Iik7CisgICAgRVhQRUNUX0ZMT0FUX0VRKGlubmVy
V2lkdGgsIGdldEVsZW1lbnRIZWlnaHQod2ViVmlldy5nZXQoKSwgQCJkdnciKSk7CisgICAgRVhQ
RUNUX0ZMT0FUX0VRKGlubmVySGVpZ2h0LCBnZXRFbGVtZW50SGVpZ2h0KHdlYlZpZXcuZ2V0KCks
IEAiZHZoIikpOworICAgIEVYUEVDVF9GTE9BVF9FUShpbm5lcldpZHRoLCBnZXRFbGVtZW50SGVp
Z2h0KHdlYlZpZXcuZ2V0KCksIEAiZHZtaW4iKSk7CisgICAgRVhQRUNUX0ZMT0FUX0VRKGlubmVy
SGVpZ2h0LCBnZXRFbGVtZW50SGVpZ2h0KHdlYlZpZXcuZ2V0KCksIEAiZHZtYXgiKSk7CiB9CiAK
IFRFU1QoQ1NTVmlld3BvcnRVbml0cywgU2FtZVVub2JzY3VyZWRTaXplT3ZlcnJpZGVzKQogewog
ICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0
aEZyYW1lOkNHUmVjdE1ha2UoMCwgMCwgMzIwLCA1MDApXSk7Ci0gICAgW3dlYlZpZXcgX292ZXJy
aWRlTGF5b3V0UGFyYW1ldGVyc1dpdGhNaW5pbXVtTGF5b3V0U2l6ZTpDR1NpemVNYWtlKDEwLCAy
MCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heGltdW1Vbm9ic2N1cmVkU2l6ZU92
ZXJyaWRlOkNHU2l6ZU1ha2UoMTAsIDIwKV07CisgICAgW3dlYlZpZXcgX292ZXJyaWRlTGF5b3V0
UGFyYW1ldGVyc1dpdGhNaW5pbXVtTGF5b3V0U2l6ZTpDR1NpemVNYWtlKDEwLjUsIDIwLjUpCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhpbXVtVW5vYnNjdXJlZFNpemVPdmVycmlk
ZTpDR1NpemVNYWtlKDEwLjUsIDIwLjUpXTsKICAgICBbd2ViVmlldyBzeW5jaHJvbm91c2x5TG9h
ZFRlc3RQYWdlTmFtZWQ6QCJDU1NWaWV3cG9ydFVuaXRzIl07CiAKLSAgICBFWFBFQ1RfRVEoMTAs
IGdldEVsZW1lbnRIZWlnaHQod2ViVmlldy5nZXQoKSwgQCJ2dyIpKTsKLSAgICBFWFBFQ1RfRVEo
MjAsIGdldEVsZW1lbnRIZWlnaHQod2ViVmlldy5nZXQoKSwgQCJ2aCIpKTsKLSAgICBFWFBFQ1Rf
RVEoMTAsIGdldEVsZW1lbnRIZWlnaHQod2ViVmlldy5nZXQoKSwgQCJ2bWluIikpOwotICAgIEVY
UEVDVF9FUSgyMCwgZ2V0RWxlbWVudEhlaWdodCh3ZWJWaWV3LmdldCgpLCBAInZtYXgiKSk7Cisg
ICAgRVhQRUNUX0ZMT0FUX0VRKDEwLjUsIGdldEVsZW1lbnRIZWlnaHQod2ViVmlldy5nZXQoKSwg
QCJ2dyIpKTsKKyAgICBFWFBFQ1RfRkxPQVRfRVEoMjAuNSwgZ2V0RWxlbWVudEhlaWdodCh3ZWJW
aWV3LmdldCgpLCBAInZoIikpOworICAgIEVYUEVDVF9GTE9BVF9FUSgxMC41LCBnZXRFbGVtZW50
SGVpZ2h0KHdlYlZpZXcuZ2V0KCksIEAidm1pbiIpKTsKKyAgICBFWFBFQ1RfRkxPQVRfRVEoMjAu
NSwgZ2V0RWxlbWVudEhlaWdodCh3ZWJWaWV3LmdldCgpLCBAInZtYXgiKSk7CiAKLSAgICBFWFBF
Q1RfRVEoMTAsIGdldEVsZW1lbnRIZWlnaHQod2ViVmlldy5nZXQoKSwgQCJzdnciKSk7Ci0gICAg
RVhQRUNUX0VRKDIwLCBnZXRFbGVtZW50SGVpZ2h0KHdlYlZpZXcuZ2V0KCksIEAic3ZoIikpOwot
ICAgIEVYUEVDVF9FUSgxMCwgZ2V0RWxlbWVudEhlaWdodCh3ZWJWaWV3LmdldCgpLCBAInN2bWlu
IikpOwotICAgIEVYUEVDVF9FUSgyMCwgZ2V0RWxlbWVudEhlaWdodCh3ZWJWaWV3LmdldCgpLCBA
InN2bWF4IikpOworICAgIEVYUEVDVF9GTE9BVF9FUSgxMC41LCBnZXRFbGVtZW50SGVpZ2h0KHdl
YlZpZXcuZ2V0KCksIEAic3Z3IikpOworICAgIEVYUEVDVF9GTE9BVF9FUSgyMC41LCBnZXRFbGVt
ZW50SGVpZ2h0KHdlYlZpZXcuZ2V0KCksIEAic3ZoIikpOworICAgIEVYUEVDVF9GTE9BVF9FUSgx
MC41LCBnZXRFbGVtZW50SGVpZ2h0KHdlYlZpZXcuZ2V0KCksIEAic3ZtaW4iKSk7CisgICAgRVhQ
RUNUX0ZMT0FUX0VRKDIwLjUsIGdldEVsZW1lbnRIZWlnaHQod2ViVmlldy5nZXQoKSwgQCJzdm1h
eCIpKTsKIAotICAgIEVYUEVDVF9FUSgxMCwgZ2V0RWxlbWVudEhlaWdodCh3ZWJWaWV3LmdldCgp
LCBAImx2dyIpKTsKLSAgICBFWFBFQ1RfRVEoMjAsIGdldEVsZW1lbnRIZWlnaHQod2ViVmlldy5n
ZXQoKSwgQCJsdmgiKSk7Ci0gICAgRVhQRUNUX0VRKDEwLCBnZXRFbGVtZW50SGVpZ2h0KHdlYlZp
ZXcuZ2V0KCksIEAibHZtaW4iKSk7Ci0gICAgRVhQRUNUX0VRKDIwLCBnZXRFbGVtZW50SGVpZ2h0
KHdlYlZpZXcuZ2V0KCksIEAibHZtYXgiKSk7CisgICAgRVhQRUNUX0ZMT0FUX0VRKDEwLjUsIGdl
dEVsZW1lbnRIZWlnaHQod2ViVmlldy5nZXQoKSwgQCJsdnciKSk7CisgICAgRVhQRUNUX0ZMT0FU
X0VRKDIwLjUsIGdldEVsZW1lbnRIZWlnaHQod2ViVmlldy5nZXQoKSwgQCJsdmgiKSk7CisgICAg
RVhQRUNUX0ZMT0FUX0VRKDEwLjUsIGdldEVsZW1lbnRIZWlnaHQod2ViVmlldy5nZXQoKSwgQCJs
dm1pbiIpKTsKKyAgICBFWFBFQ1RfRkxPQVRfRVEoMjAuNSwgZ2V0RWxlbWVudEhlaWdodCh3ZWJW
aWV3LmdldCgpLCBAImx2bWF4IikpOwogCi0gICAgaW50IGlubmVyV2lkdGggPSBldmFsdWF0ZUZv
ckludCh3ZWJWaWV3LmdldCgpLCBAIndpbmRvdy5pbm5lcldpZHRoIik7Ci0gICAgaW50IGlubmVy
SGVpZ2h0ID0gZXZhbHVhdGVGb3JJbnQod2ViVmlldy5nZXQoKSwgQCJ3aW5kb3cuaW5uZXJIZWln
aHQiKTsKLSAgICBFWFBFQ1RfRVEoaW5uZXJXaWR0aCwgZ2V0RWxlbWVudEhlaWdodCh3ZWJWaWV3
LmdldCgpLCBAImR2dyIpKTsKLSAgICBFWFBFQ1RfRVEoaW5uZXJIZWlnaHQsIGdldEVsZW1lbnRI
ZWlnaHQod2ViVmlldy5nZXQoKSwgQCJkdmgiKSk7Ci0gICAgRVhQRUNUX0VRKGlubmVyV2lkdGgs
IGdldEVsZW1lbnRIZWlnaHQod2ViVmlldy5nZXQoKSwgQCJkdm1pbiIpKTsKLSAgICBFWFBFQ1Rf
RVEoaW5uZXJIZWlnaHQsIGdldEVsZW1lbnRIZWlnaHQod2ViVmlldy5nZXQoKSwgQCJkdm1heCIp
KTsKKyAgICBhdXRvIGlubmVyV2lkdGggPSBldmFsdWF0ZUZvck51bWJlcih3ZWJWaWV3LmdldCgp
LCBAIndpbmRvdy5pbm5lcldpZHRoIik7CisgICAgYXV0byBpbm5lckhlaWdodCA9IGV2YWx1YXRl
Rm9yTnVtYmVyKHdlYlZpZXcuZ2V0KCksIEAid2luZG93LmlubmVySGVpZ2h0Iik7CisgICAgRVhQ
RUNUX0ZMT0FUX0VRKGlubmVyV2lkdGgsIGdldEVsZW1lbnRIZWlnaHQod2ViVmlldy5nZXQoKSwg
QCJkdnciKSk7CisgICAgRVhQRUNUX0ZMT0FUX0VRKGlubmVySGVpZ2h0LCBnZXRFbGVtZW50SGVp
Z2h0KHdlYlZpZXcuZ2V0KCksIEAiZHZoIikpOworICAgIEVYUEVDVF9GTE9BVF9FUShpbm5lcldp
ZHRoLCBnZXRFbGVtZW50SGVpZ2h0KHdlYlZpZXcuZ2V0KCksIEAiZHZtaW4iKSk7CisgICAgRVhQ
RUNUX0ZMT0FUX0VRKGlubmVySGVpZ2h0LCBnZXRFbGVtZW50SGVpZ2h0KHdlYlZpZXcuZ2V0KCks
IEAiZHZtYXgiKSk7CiB9CiAKIFRFU1QoQ1NTVmlld3BvcnRVbml0cywgRGlmZmVyZW50VW5vYnNj
dXJlZFNpemVPdmVycmlkZXMpCiB7CiAgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RX
S1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6Q0dSZWN0TWFrZSgwLCAwLCAzMjAsIDUwMCld
KTsKLSAgICBbd2ViVmlldyBfb3ZlcnJpZGVMYXlvdXRQYXJhbWV0ZXJzV2l0aE1pbmltdW1MYXlv
dXRTaXplOkNHU2l6ZU1ha2UoMTAsIDIwKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
bWF4aW11bVVub2JzY3VyZWRTaXplT3ZlcnJpZGU6Q0dTaXplTWFrZSgzMCwgNDApXTsKKyAgICBb
d2ViVmlldyBfb3ZlcnJpZGVMYXlvdXRQYXJhbWV0ZXJzV2l0aE1pbmltdW1MYXlvdXRTaXplOkNH
U2l6ZU1ha2UoMTAuNSwgMjAuNSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heGlt
dW1Vbm9ic2N1cmVkU2l6ZU92ZXJyaWRlOkNHU2l6ZU1ha2UoMzAuNSwgNDAuNSldOwogICAgIFt3
ZWJWaWV3IHN5bmNocm9ub3VzbHlMb2FkVGVzdFBhZ2VOYW1lZDpAIkNTU1ZpZXdwb3J0VW5pdHMi
XTsKIAotICAgIEVYUEVDVF9FUSgzMCwgZ2V0RWxlbWVudEhlaWdodCh3ZWJWaWV3LmdldCgpLCBA
InZ3IikpOwotICAgIEVYUEVDVF9FUSg0MCwgZ2V0RWxlbWVudEhlaWdodCh3ZWJWaWV3LmdldCgp
LCBAInZoIikpOwotICAgIEVYUEVDVF9FUSgzMCwgZ2V0RWxlbWVudEhlaWdodCh3ZWJWaWV3Lmdl
dCgpLCBAInZtaW4iKSk7Ci0gICAgRVhQRUNUX0VRKDQwLCBnZXRFbGVtZW50SGVpZ2h0KHdlYlZp
ZXcuZ2V0KCksIEAidm1heCIpKTsKKyAgICBFWFBFQ1RfRkxPQVRfRVEoMzAuNSwgZ2V0RWxlbWVu
dEhlaWdodCh3ZWJWaWV3LmdldCgpLCBAInZ3IikpOworICAgIEVYUEVDVF9GTE9BVF9FUSg0MC41
LCBnZXRFbGVtZW50SGVpZ2h0KHdlYlZpZXcuZ2V0KCksIEAidmgiKSk7CisgICAgRVhQRUNUX0ZM
T0FUX0VRKDMwLjUsIGdldEVsZW1lbnRIZWlnaHQod2ViVmlldy5nZXQoKSwgQCJ2bWluIikpOwor
ICAgIEVYUEVDVF9GTE9BVF9FUSg0MC41LCBnZXRFbGVtZW50SGVpZ2h0KHdlYlZpZXcuZ2V0KCks
IEAidm1heCIpKTsKIAotICAgIEVYUEVDVF9FUSgxMCwgZ2V0RWxlbWVudEhlaWdodCh3ZWJWaWV3
LmdldCgpLCBAInN2dyIpKTsKLSAgICBFWFBFQ1RfRVEoMjAsIGdldEVsZW1lbnRIZWlnaHQod2Vi
Vmlldy5nZXQoKSwgQCJzdmgiKSk7Ci0gICAgRVhQRUNUX0VRKDEwLCBnZXRFbGVtZW50SGVpZ2h0
KHdlYlZpZXcuZ2V0KCksIEAic3ZtaW4iKSk7Ci0gICAgRVhQRUNUX0VRKDIwLCBnZXRFbGVtZW50
SGVpZ2h0KHdlYlZpZXcuZ2V0KCksIEAic3ZtYXgiKSk7CisgICAgRVhQRUNUX0ZMT0FUX0VRKDEw
LjUsIGdldEVsZW1lbnRIZWlnaHQod2ViVmlldy5nZXQoKSwgQCJzdnciKSk7CisgICAgRVhQRUNU
X0ZMT0FUX0VRKDIwLjUsIGdldEVsZW1lbnRIZWlnaHQod2ViVmlldy5nZXQoKSwgQCJzdmgiKSk7
CisgICAgRVhQRUNUX0ZMT0FUX0VRKDEwLjUsIGdldEVsZW1lbnRIZWlnaHQod2ViVmlldy5nZXQo
KSwgQCJzdm1pbiIpKTsKKyAgICBFWFBFQ1RfRkxPQVRfRVEoMjAuNSwgZ2V0RWxlbWVudEhlaWdo
dCh3ZWJWaWV3LmdldCgpLCBAInN2bWF4IikpOwogCi0gICAgRVhQRUNUX0VRKDMwLCBnZXRFbGVt
ZW50SGVpZ2h0KHdlYlZpZXcuZ2V0KCksIEAibHZ3IikpOwotICAgIEVYUEVDVF9FUSg0MCwgZ2V0
RWxlbWVudEhlaWdodCh3ZWJWaWV3LmdldCgpLCBAImx2aCIpKTsKLSAgICBFWFBFQ1RfRVEoMzAs
IGdldEVsZW1lbnRIZWlnaHQod2ViVmlldy5nZXQoKSwgQCJsdm1pbiIpKTsKLSAgICBFWFBFQ1Rf
RVEoNDAsIGdldEVsZW1lbnRIZWlnaHQod2ViVmlldy5nZXQoKSwgQCJsdm1heCIpKTsKKyAgICBF
WFBFQ1RfRkxPQVRfRVEoMzAuNSwgZ2V0RWxlbWVudEhlaWdodCh3ZWJWaWV3LmdldCgpLCBAImx2
dyIpKTsKKyAgICBFWFBFQ1RfRkxPQVRfRVEoNDAuNSwgZ2V0RWxlbWVudEhlaWdodCh3ZWJWaWV3
LmdldCgpLCBAImx2aCIpKTsKKyAgICBFWFBFQ1RfRkxPQVRfRVEoMzAuNSwgZ2V0RWxlbWVudEhl
aWdodCh3ZWJWaWV3LmdldCgpLCBAImx2bWluIikpOworICAgIEVYUEVDVF9GTE9BVF9FUSg0MC41
LCBnZXRFbGVtZW50SGVpZ2h0KHdlYlZpZXcuZ2V0KCksIEAibHZtYXgiKSk7CiAKLSAgICBpbnQg
aW5uZXJXaWR0aCA9IGV2YWx1YXRlRm9ySW50KHdlYlZpZXcuZ2V0KCksIEAid2luZG93LmlubmVy
V2lkdGgiKTsKLSAgICBpbnQgaW5uZXJIZWlnaHQgPSBldmFsdWF0ZUZvckludCh3ZWJWaWV3Lmdl
dCgpLCBAIndpbmRvdy5pbm5lckhlaWdodCIpOwotICAgIEVYUEVDVF9FUShpbm5lcldpZHRoLCBn
ZXRFbGVtZW50SGVpZ2h0KHdlYlZpZXcuZ2V0KCksIEAiZHZ3IikpOwotICAgIEVYUEVDVF9FUShp
bm5lckhlaWdodCwgZ2V0RWxlbWVudEhlaWdodCh3ZWJWaWV3LmdldCgpLCBAImR2aCIpKTsKLSAg
ICBFWFBFQ1RfRVEoaW5uZXJXaWR0aCwgZ2V0RWxlbWVudEhlaWdodCh3ZWJWaWV3LmdldCgpLCBA
ImR2bWluIikpOwotICAgIEVYUEVDVF9FUShpbm5lckhlaWdodCwgZ2V0RWxlbWVudEhlaWdodCh3
ZWJWaWV3LmdldCgpLCBAImR2bWF4IikpOworICAgIGF1dG8gaW5uZXJXaWR0aCA9IGV2YWx1YXRl
Rm9yTnVtYmVyKHdlYlZpZXcuZ2V0KCksIEAid2luZG93LmlubmVyV2lkdGgiKTsKKyAgICBhdXRv
IGlubmVySGVpZ2h0ID0gZXZhbHVhdGVGb3JOdW1iZXIod2ViVmlldy5nZXQoKSwgQCJ3aW5kb3cu
aW5uZXJIZWlnaHQiKTsKKyAgICBFWFBFQ1RfRkxPQVRfRVEoaW5uZXJXaWR0aCwgZ2V0RWxlbWVu
dEhlaWdodCh3ZWJWaWV3LmdldCgpLCBAImR2dyIpKTsKKyAgICBFWFBFQ1RfRkxPQVRfRVEoaW5u
ZXJIZWlnaHQsIGdldEVsZW1lbnRIZWlnaHQod2ViVmlldy5nZXQoKSwgQCJkdmgiKSk7CisgICAg
RVhQRUNUX0ZMT0FUX0VRKGlubmVyV2lkdGgsIGdldEVsZW1lbnRIZWlnaHQod2ViVmlldy5nZXQo
KSwgQCJkdm1pbiIpKTsKKyAgICBFWFBFQ1RfRkxPQVRfRVEoaW5uZXJIZWlnaHQsIGdldEVsZW1l
bnRIZWlnaHQod2ViVmlldy5nZXQoKSwgQCJkdm1heCIpKTsKIH0KIAogI2VuZGlmIC8vIFBMQVRG
T1JNKElPU19GQU1JTFkpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>443373</attachid>
            <date>2021-11-04 20:40:22 -0700</date>
            <delta_ts>2021-11-05 10:43:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231644-20211104204021.patch</filename>
            <type>text/plain</type>
            <size>34626</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA0YjYxNzM5YWQ3YjI2ZWY5YjdlYTVmNWE1MTUyZjdlNjFlM2ZmNTU5Li5m
ZmI1MzQ5ZDgwODgyZTIzZjY4YmRkMTQ0NDY1NDU4ZjE2MWEzZjc4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMzcgQEAKKzIwMjEtMTAtMjEgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29t
PgorCisgICAgICAgIFtjc3MtdmFsdWVzLTRdIHZpZXdwb3J0IHVuaXRzIHNob3VsZCBiZSBmbG9h
dHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTY0
NAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODQxNzI2ODU+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgVGltIEhvcnRvbi4KKworICAgICAgICBWaWV3cyBjYW4gYmUgZnJhY3Rpb25hbCBwaXhlbHMg
d2lkZS4gV2Ugc2hvdWxkIG5vdCByb3VuZCwgZXNwZWNpYWxseSBzaW5jZSB2aWV3cG9ydCB1bml0
cworICAgICAgICBhcmUgdXNlZCBhcyBwZXJjZW50YWdlIHZhbHVlcyAoZS5nLiBgNTBkdmhgIGlz
ICI1MCUgb2YgdGhlIGhlaWdodCBvZiB0aGUgY3VycmVudCB2aWV3cG9ydCIpLgorCisgICAgICAg
IFRlc3RzOiBDU1NWaWV3cG9ydFVuaXRzLkVtcHR5VW5vYnNjdXJlZFNpemVPdmVycmlkZXMKKyAg
ICAgICAgICAgICAgIENTU1ZpZXdwb3J0VW5pdHMuU2FtZVVub2JzY3VyZWRTaXplT3ZlcnJpZGVz
CisgICAgICAgICAgICAgICBDU1NWaWV3cG9ydFVuaXRzLkRpZmZlcmVudFVub2JzY3VyZWRTaXpl
T3ZlcnJpZGVzCisKKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5oOgorICAgICAgICAqIHBhZ2Uv
RnJhbWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6c2V0U2l6ZUZvckNT
U1NtYWxsVmlld3BvcnRVbml0cyk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6Om92ZXJy
aWRlV2lkdGhGb3JDU1NTbWFsbFZpZXdwb3J0VW5pdHMpOgorICAgICAgICAoV2ViQ29yZTo6RnJh
bWVWaWV3OjpzaXplRm9yQ1NTU21hbGxWaWV3cG9ydFVuaXRzIGNvbnN0KToKKyAgICAgICAgKFdl
YkNvcmU6OkZyYW1lVmlldzo6c2V0U2l6ZUZvckNTU0xhcmdlVmlld3BvcnRVbml0cyk6CisgICAg
ICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6Om92ZXJyaWRlV2lkdGhGb3JDU1NMYXJnZVZpZXdwb3J0
VW5pdHMpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpzaXplRm9yQ1NTTGFyZ2VWaWV3
cG9ydFVuaXRzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6Y2FsY3VsYXRl
U2l6ZUZvckNTU1ZpZXdwb3J0VW5pdHNPdmVycmlkZSBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpGcmFtZVZpZXc6OnNpemVGb3JDU1NEeW5hbWljVmlld3BvcnRVbml0cyBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnNpemVGb3JDU1NEZWZhdWx0Vmlld3BvcnRVbml0cyBj
b25zdCk6CisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVmlldy5oOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclZpZXc6OnNp
emVGb3JDU1NTbWFsbFZpZXdwb3J0VW5pdHMgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyVmlldzo6c2l6ZUZvckNTU0xhcmdlVmlld3BvcnRVbml0cyBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJWaWV3OjpzaXplRm9yQ1NTRHluYW1pY1ZpZXdwb3J0VW5pdHMgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVmlldzo6c2l6ZUZvckNTU0RlZmF1bHRWaWV3cG9y
dFVuaXRzIGNvbnN0KToKKwogMjAyMS0xMS0wNCAgS2F0ZSBDaGVuZXkgIDxrYXRoZXJpbmVfY2hl
bmV5QGFwcGxlLmNvbT4KIAogICAgICAgICBGb3JtIGFjdGlvbiB3aXRoIGEgcmVkaXJlY3Qgc2hv
dWxkIHJlcG9ydCBjb3JyZWN0IGJsb2NrZWQgVVJJCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDA5YmM3ZDNjYWEzODdj
M2VlMGRmMjc2MTk1ZTY0ZWFjNDkxMDAwNzIuLmIxYjBkYzM0Y2UyZTBkMTNmN2MxZTkwYzI5Yjgw
ODNjNDc0YTNiNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMjEtMTAtMjEgIERldmlu
IFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgorCisgICAgICAgIFtjc3MtdmFsdWVzLTRdIHZp
ZXdwb3J0IHVuaXRzIHNob3VsZCBiZSBmbG9hdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTY0NAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODQx
NzI2ODU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVGltIEhvcnRvbi4KKworICAgICAgICBWaWV3
cyBjYW4gYmUgZnJhY3Rpb25hbCBwaXhlbHMgd2lkZS4gV2Ugc2hvdWxkIG5vdCByb3VuZCwgZXNw
ZWNpYWxseSBzaW5jZSB2aWV3cG9ydCB1bml0cworICAgICAgICBhcmUgdXNlZCBhcyBwZXJjZW50
YWdlIHZhbHVlcyAoZS5nLiBgNTBkdmhgIGlzICI1MCUgb2YgdGhlIGhlaWdodCBvZiB0aGUgY3Vy
cmVudCB2aWV3cG9ydCIpLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZp
ZXcubW06CisgICAgICAgICgtW1dLV2ViVmlldyBfc2V0Vmlld3BvcnRTaXplRm9yQ1NTVmlld3Bv
cnRVbml0czpdKToKKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFn
ZVByb3h5OjpzZXRWaWV3cG9ydFNpemVGb3JDU1NWaWV3cG9ydFVuaXRzKToKKworICAgICAgICAq
IFNoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmg6CisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnNldFZpZXdwb3J0U2l6ZUZvckNTU1ZpZXdwb3J0
VW5pdHMpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjp2aWV3cG9ydFNpemVGb3JDU1NWaWV3
cG9ydFVuaXRzIGNvbnN0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBh
Z2VJT1MubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnVwZGF0ZVZpZXdwb3J0U2l6ZUZv
ckNTU1ZpZXdwb3J0VW5pdHMpOgorCiAyMDIxLTExLTA0ICBEZWFuIEphY2tzb24gIDxkaW5vQGFw
cGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OOiBBUiBRdWlja2xvb2sgYXNzZXQgaXMgc2hh
cmVkIGluc3RlYWQgb2YgcGFnZSBVUkwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RnJhbWVWaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAppbmRleCAx
Y2FjMWMzMGVjN2FmNDI3YzlkMTJiYzcwMjNjNzQ2ZGM0MGJkNzg2Li45Y2U1ZmMyMTU3YzVjM2Y5
YTg1ZjQ3YTVlZjU4YTIxM2E2OWU1ZTg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0ZyYW1lVmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCkBA
IC01NTU3LDEyICs1NTU3LDEyIEBAIHZvaWQgRnJhbWVWaWV3OjpjbGVhclNpemVPdmVycmlkZUZv
ckNTU1NtYWxsVmlld3BvcnRVbml0cygpCiAgICAgICAgIGRvY3VtZW50LT5zdHlsZVNjb3BlKCku
ZGlkQ2hhbmdlU3R5bGVTaGVldEVudmlyb25tZW50KCk7CiB9CiAKLXZvaWQgRnJhbWVWaWV3Ojpz
ZXRTaXplRm9yQ1NTU21hbGxWaWV3cG9ydFVuaXRzKEludFNpemUgc2l6ZSkKK3ZvaWQgRnJhbWVW
aWV3OjpzZXRTaXplRm9yQ1NTU21hbGxWaWV3cG9ydFVuaXRzKEZsb2F0U2l6ZSBzaXplKQogewog
ICAgIG92ZXJyaWRlU2l6ZUZvckNTU1NtYWxsVmlld3BvcnRVbml0cyh7IHNpemUud2lkdGgoKSwg
c2l6ZS5oZWlnaHQoKSB9KTsKIH0KIAotdm9pZCBGcmFtZVZpZXc6Om92ZXJyaWRlV2lkdGhGb3JD
U1NTbWFsbFZpZXdwb3J0VW5pdHMoaW50IHdpZHRoKQordm9pZCBGcmFtZVZpZXc6Om92ZXJyaWRl
V2lkdGhGb3JDU1NTbWFsbFZpZXdwb3J0VW5pdHMoZmxvYXQgd2lkdGgpCiB7CiAgICAgb3ZlcnJp
ZGVTaXplRm9yQ1NTU21hbGxWaWV3cG9ydFVuaXRzKHsgd2lkdGgsIG1fc21hbGxWaWV3cG9ydFNp
emVPdmVycmlkZSA/IG1fc21hbGxWaWV3cG9ydFNpemVPdmVycmlkZS0+aGVpZ2h0IDogc3RkOjpu
dWxsb3B0IH0pOwogfQpAQCAtNTU4Myw3ICs1NTgzLDcgQEAgdm9pZCBGcmFtZVZpZXc6Om92ZXJy
aWRlU2l6ZUZvckNTU1NtYWxsVmlld3BvcnRVbml0cyhPdmVycmlkZVZpZXdwb3J0U2l6ZSBzaXpl
KQogICAgICAgICBkb2N1bWVudC0+c3R5bGVTY29wZSgpLmRpZENoYW5nZVN0eWxlU2hlZXRFbnZp
cm9ubWVudCgpOwogfQogCi1JbnRTaXplIEZyYW1lVmlldzo6c2l6ZUZvckNTU1NtYWxsVmlld3Bv
cnRVbml0cygpIGNvbnN0CitGbG9hdFNpemUgRnJhbWVWaWV3OjpzaXplRm9yQ1NTU21hbGxWaWV3
cG9ydFVuaXRzKCkgY29uc3QKIHsKICAgICByZXR1cm4gY2FsY3VsYXRlU2l6ZUZvckNTU1ZpZXdw
b3J0VW5pdHNPdmVycmlkZShtX3NtYWxsVmlld3BvcnRTaXplT3ZlcnJpZGUpOwogfQpAQCAtNTU5
OCwxMiArNTU5OCwxMiBAQCB2b2lkIEZyYW1lVmlldzo6Y2xlYXJTaXplT3ZlcnJpZGVGb3JDU1NM
YXJnZVZpZXdwb3J0VW5pdHMoKQogICAgICAgICBkb2N1bWVudC0+c3R5bGVTY29wZSgpLmRpZENo
YW5nZVN0eWxlU2hlZXRFbnZpcm9ubWVudCgpOwogfQogCi12b2lkIEZyYW1lVmlldzo6c2V0U2l6
ZUZvckNTU0xhcmdlVmlld3BvcnRVbml0cyhJbnRTaXplIHNpemUpCit2b2lkIEZyYW1lVmlldzo6
c2V0U2l6ZUZvckNTU0xhcmdlVmlld3BvcnRVbml0cyhGbG9hdFNpemUgc2l6ZSkKIHsKICAgICBv
dmVycmlkZVNpemVGb3JDU1NMYXJnZVZpZXdwb3J0VW5pdHMoeyBzaXplLndpZHRoKCksIHNpemUu
aGVpZ2h0KCkgfSk7CiB9CiAKLXZvaWQgRnJhbWVWaWV3OjpvdmVycmlkZVdpZHRoRm9yQ1NTTGFy
Z2VWaWV3cG9ydFVuaXRzKGludCB3aWR0aCkKK3ZvaWQgRnJhbWVWaWV3OjpvdmVycmlkZVdpZHRo
Rm9yQ1NTTGFyZ2VWaWV3cG9ydFVuaXRzKGZsb2F0IHdpZHRoKQogewogICAgIG92ZXJyaWRlU2l6
ZUZvckNTU0xhcmdlVmlld3BvcnRVbml0cyh7IHdpZHRoLCBtX2xhcmdlVmlld3BvcnRTaXplT3Zl
cnJpZGUgPyBtX2xhcmdlVmlld3BvcnRTaXplT3ZlcnJpZGUtPmhlaWdodCA6IHN0ZDo6bnVsbG9w
dCB9KTsKIH0KQEAgLTU2MjQsMzAgKzU2MjQsMjIgQEAgdm9pZCBGcmFtZVZpZXc6Om92ZXJyaWRl
U2l6ZUZvckNTU0xhcmdlVmlld3BvcnRVbml0cyhPdmVycmlkZVZpZXdwb3J0U2l6ZSBzaXplKQog
ICAgICAgICBkb2N1bWVudC0+c3R5bGVTY29wZSgpLmRpZENoYW5nZVN0eWxlU2hlZXRFbnZpcm9u
bWVudCgpOwogfQogCi1JbnRTaXplIEZyYW1lVmlldzo6c2l6ZUZvckNTU0xhcmdlVmlld3BvcnRV
bml0cygpIGNvbnN0CitGbG9hdFNpemUgRnJhbWVWaWV3OjpzaXplRm9yQ1NTTGFyZ2VWaWV3cG9y
dFVuaXRzKCkgY29uc3QKIHsKICAgICByZXR1cm4gY2FsY3VsYXRlU2l6ZUZvckNTU1ZpZXdwb3J0
VW5pdHNPdmVycmlkZShtX2xhcmdlVmlld3BvcnRTaXplT3ZlcnJpZGUpOwogfQogCi1JbnRTaXpl
IEZyYW1lVmlldzo6Y2FsY3VsYXRlU2l6ZUZvckNTU1ZpZXdwb3J0VW5pdHNPdmVycmlkZShzdGQ6
Om9wdGlvbmFsPE92ZXJyaWRlVmlld3BvcnRTaXplPiBvdmVycmlkZSkgY29uc3QKK0Zsb2F0U2l6
ZSBGcmFtZVZpZXc6OmNhbGN1bGF0ZVNpemVGb3JDU1NWaWV3cG9ydFVuaXRzT3ZlcnJpZGUoc3Rk
OjpvcHRpb25hbDxPdmVycmlkZVZpZXdwb3J0U2l6ZT4gb3ZlcnJpZGUpIGNvbnN0CiB7CiAgICAg
T3ZlcnJpZGVWaWV3cG9ydFNpemUgdmlld3BvcnRTaXplOwogCi0gICAgaWYgKG92ZXJyaWRlKQor
ICAgIGlmIChvdmVycmlkZSkgewogICAgICAgICB2aWV3cG9ydFNpemUgPSAqb3ZlcnJpZGU7CiAK
LSAgICAvLyBVc2UgdGhlIGxhcmdlIHNpemUgaWYgbm8gb3ZlcnJpZGUgaXMgZ2l2ZW4gc2luY2Ug
aXQncyBjb25zaWRlcmVkIHRoZSBkZWZhdWx0IHNpemUuCi0gICAgLy8gaWYgKG1fbGFyZ2VWaWV3
cG9ydFNpemVPdmVycmlkZSkgewotICAgIC8vICAgICBpZiAoIXZpZXdwb3J0U2l6ZS53aWR0aCkK
LSAgICAvLyAgICAgICAgIHZpZXdwb3J0U2l6ZS53aWR0aCA9IG1fbGFyZ2VWaWV3cG9ydFNpemVP
dmVycmlkZS0+d2lkdGg7Ci0KLSAgICAvLyAgICAgaWYgKCF2aWV3cG9ydFNpemUuaGVpZ2h0KQot
ICAgIC8vICAgICAgICAgdmlld3BvcnRTaXplLmhlaWdodCA9IG1fbGFyZ2VWaWV3cG9ydFNpemVP
dmVycmlkZS0+aGVpZ2h0OwotICAgIC8vIH0KLQotICAgIC8vIGF1dG8tc2l6ZSBvdmVycmlkZXMg
dGhlIHdpZHRoIG9ubHksIHNvIHdlIGNhbid0IGFsd2F5cyBiYWlsIG91dCBlYXJseSBoZXJlLgot
ICAgIGlmICh2aWV3cG9ydFNpemUud2lkdGggJiYgdmlld3BvcnRTaXplLmhlaWdodCkKLSAgICAg
ICAgcmV0dXJuIHsgKnZpZXdwb3J0U2l6ZS53aWR0aCwgKnZpZXdwb3J0U2l6ZS5oZWlnaHQgfTsK
KyAgICAgICAgLy8gYXV0by1zaXplIG92ZXJyaWRlcyB0aGUgd2lkdGggb25seSwgc28gd2UgY2Fu
J3QgYWx3YXlzIGJhaWwgb3V0IGVhcmx5IGhlcmUuCisgICAgICAgIGlmICh2aWV3cG9ydFNpemUu
d2lkdGggJiYgdmlld3BvcnRTaXplLmhlaWdodCkKKyAgICAgICAgICAgIHJldHVybiB7ICp2aWV3
cG9ydFNpemUud2lkdGgsICp2aWV3cG9ydFNpemUuaGVpZ2h0IH07CisgICAgfQogCiAgICAgaWYg
KHVzZUZpeGVkTGF5b3V0KCkpIHsKICAgICAgICAgYXV0byBmaXhlZExheW91dFNpemUgPSB0aGlz
LT5maXhlZExheW91dFNpemUoKTsKQEAgLTU2NjQsMTIgKzU2NTYsMTIgQEAgSW50U2l6ZSBGcmFt
ZVZpZXc6OmNhbGN1bGF0ZVNpemVGb3JDU1NWaWV3cG9ydFVuaXRzT3ZlcnJpZGUoc3RkOjpvcHRp
b25hbDxPdmVycmkKICAgICByZXR1cm4geyAqdmlld3BvcnRTaXplLndpZHRoLCAqdmlld3BvcnRT
aXplLmhlaWdodCB9OwogfQogCi1JbnRTaXplIEZyYW1lVmlldzo6c2l6ZUZvckNTU0R5bmFtaWNW
aWV3cG9ydFVuaXRzKCkgY29uc3QKK0Zsb2F0U2l6ZSBGcmFtZVZpZXc6OnNpemVGb3JDU1NEeW5h
bWljVmlld3BvcnRVbml0cygpIGNvbnN0CiB7CiAgICAgcmV0dXJuIHVub2JzY3VyZWRDb250ZW50
UmVjdEluY2x1ZGluZ1Njcm9sbGJhcnMoKS5zaXplKCk7CiB9CiAKLUludFNpemUgRnJhbWVWaWV3
OjpzaXplRm9yQ1NTRGVmYXVsdFZpZXdwb3J0VW5pdHMoKSBjb25zdAorRmxvYXRTaXplIEZyYW1l
Vmlldzo6c2l6ZUZvckNTU0RlZmF1bHRWaWV3cG9ydFVuaXRzKCkgY29uc3QKIHsKICAgICByZXR1
cm4gc2l6ZUZvckNTU0xhcmdlVmlld3BvcnRVbml0cygpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3
LmgKaW5kZXggZTljMjUyMjM0ZjUwMmNkZGFmOWEzNDZmMWQ2YThlZWVlZTg3MjExYS4uNDEzMzFk
Y2UzYzJjOGY1ZGE4ZjViODZhN2Q4OTY1YTRlYjQwNTk2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9GcmFtZVZpZXcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmll
dy5oCkBAIC0yMjgsMTcgKzIyOCwxNyBAQCBwdWJsaWM6CiAKICAgICBXRUJDT1JFX0VYUE9SVCB2
b2lkIGFkanVzdFZpZXdTaXplKCk7CiAKLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFNpemVG
b3JDU1NTbWFsbFZpZXdwb3J0VW5pdHMoSW50U2l6ZSk7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9p
ZCBzZXRTaXplRm9yQ1NTU21hbGxWaWV3cG9ydFVuaXRzKEZsb2F0U2l6ZSk7CiAgICAgdm9pZCBj
bGVhclNpemVPdmVycmlkZUZvckNTU1NtYWxsVmlld3BvcnRVbml0cygpOwotICAgIEludFNpemUg
c2l6ZUZvckNTU1NtYWxsVmlld3BvcnRVbml0cygpIGNvbnN0OworICAgIEZsb2F0U2l6ZSBzaXpl
Rm9yQ1NTU21hbGxWaWV3cG9ydFVuaXRzKCkgY29uc3Q7CiAKLSAgICBXRUJDT1JFX0VYUE9SVCB2
b2lkIHNldFNpemVGb3JDU1NMYXJnZVZpZXdwb3J0VW5pdHMoSW50U2l6ZSk7CisgICAgV0VCQ09S
RV9FWFBPUlQgdm9pZCBzZXRTaXplRm9yQ1NTTGFyZ2VWaWV3cG9ydFVuaXRzKEZsb2F0U2l6ZSk7
CiAgICAgdm9pZCBjbGVhclNpemVPdmVycmlkZUZvckNTU0xhcmdlVmlld3BvcnRVbml0cygpOwot
ICAgIEludFNpemUgc2l6ZUZvckNTU0xhcmdlVmlld3BvcnRVbml0cygpIGNvbnN0OworICAgIEZs
b2F0U2l6ZSBzaXplRm9yQ1NTTGFyZ2VWaWV3cG9ydFVuaXRzKCkgY29uc3Q7CiAKLSAgICBJbnRT
aXplIHNpemVGb3JDU1NEeW5hbWljVmlld3BvcnRVbml0cygpIGNvbnN0OworICAgIEZsb2F0U2l6
ZSBzaXplRm9yQ1NTRHluYW1pY1ZpZXdwb3J0VW5pdHMoKSBjb25zdDsKIAotICAgIEludFNpemUg
c2l6ZUZvckNTU0RlZmF1bHRWaWV3cG9ydFVuaXRzKCkgY29uc3Q7CisgICAgRmxvYXRTaXplIHNp
emVGb3JDU1NEZWZhdWx0Vmlld3BvcnRVbml0cygpIGNvbnN0OwogCiAgICAgSW50UmVjdCB3aW5k
b3dDbGlwUmVjdCgpIGNvbnN0IGZpbmFsOwogICAgIFdFQkNPUkVfRVhQT1JUIEludFJlY3Qgd2lu
ZG93Q2xpcFJlY3RGb3JGcmFtZU93bmVyKGNvbnN0IEhUTUxGcmFtZU93bmVyRWxlbWVudCosIGJv
b2wgY2xpcFRvTGF5ZXJDb250ZW50cykgY29uc3Q7CkBAIC04NTcsMTkgKzg1NywxOSBAQCBwcml2
YXRlOgogICAgIHZvaWQgZGlkTGF5b3V0KFdlYWtQdHI8UmVuZGVyRWxlbWVudD4gbGF5b3V0Um9v
dCk7CiAKICAgICBzdHJ1Y3QgT3ZlcnJpZGVWaWV3cG9ydFNpemUgewotICAgICAgICBzdGQ6Om9w
dGlvbmFsPGludD4gd2lkdGg7Ci0gICAgICAgIHN0ZDo6b3B0aW9uYWw8aW50PiBoZWlnaHQ7Cisg
ICAgICAgIHN0ZDo6b3B0aW9uYWw8ZmxvYXQ+IHdpZHRoOworICAgICAgICBzdGQ6Om9wdGlvbmFs
PGZsb2F0PiBoZWlnaHQ7CiAKICAgICAgICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IE92ZXJyaWRl
Vmlld3BvcnRTaXplJiByaHMpIGNvbnN0IHsgcmV0dXJuIHJocy53aWR0aCA9PSB3aWR0aCAmJiBy
aHMuaGVpZ2h0ID09IGhlaWdodDsgfQogICAgIH07Ci0gICAgSW50U2l6ZSBjYWxjdWxhdGVTaXpl
Rm9yQ1NTVmlld3BvcnRVbml0c092ZXJyaWRlKHN0ZDo6b3B0aW9uYWw8T3ZlcnJpZGVWaWV3cG9y
dFNpemU+KSBjb25zdDsKKyAgICBGbG9hdFNpemUgY2FsY3VsYXRlU2l6ZUZvckNTU1ZpZXdwb3J0
VW5pdHNPdmVycmlkZShzdGQ6Om9wdGlvbmFsPE92ZXJyaWRlVmlld3BvcnRTaXplPikgY29uc3Q7
CiAKICAgICB2b2lkIG92ZXJyaWRlU2l6ZUZvckNTU1NtYWxsVmlld3BvcnRVbml0cyhPdmVycmlk
ZVZpZXdwb3J0U2l6ZSk7Ci0gICAgdm9pZCBvdmVycmlkZVdpZHRoRm9yQ1NTU21hbGxWaWV3cG9y
dFVuaXRzKGludCk7CisgICAgdm9pZCBvdmVycmlkZVdpZHRoRm9yQ1NTU21hbGxWaWV3cG9ydFVu
aXRzKGZsb2F0KTsKICAgICB2b2lkIHJlc2V0T3ZlcnJpZGRlbldpZHRoRm9yQ1NTU21hbGxWaWV3
cG9ydFVuaXRzKCk7CiAKICAgICB2b2lkIG92ZXJyaWRlU2l6ZUZvckNTU0xhcmdlVmlld3BvcnRV
bml0cyhPdmVycmlkZVZpZXdwb3J0U2l6ZSk7Ci0gICAgdm9pZCBvdmVycmlkZVdpZHRoRm9yQ1NT
TGFyZ2VWaWV3cG9ydFVuaXRzKGludCk7CisgICAgdm9pZCBvdmVycmlkZVdpZHRoRm9yQ1NTTGFy
Z2VWaWV3cG9ydFVuaXRzKGZsb2F0KTsKICAgICB2b2lkIHJlc2V0T3ZlcnJpZGRlbldpZHRoRm9y
Q1NTTGFyZ2VWaWV3cG9ydFVuaXRzKCk7CiAKICAgICB2b2lkIGRpZEZpbmlzaFByb2hpYml0aW5n
U2Nyb2xsaW5nV2hlbkNoYW5naW5nQ29udGVudFNpemUoKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJWaWV3LmNwcAppbmRleCAxZDIzYjZlOTQ5OWIyMmIwMzk5OGEyMDg3YTU5
N2Y1ZjYwMzJmZmEyLi42M2UxZGM5Zjg1NjRkOTRjNGI5NDE0ZTliZjg1N2IwYTdkNGQwMThlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCkBAIC02OTcsMjIgKzY5Nywy
MiBAQCBmbG9hdCBSZW5kZXJWaWV3Ojp6b29tRmFjdG9yKCkgY29uc3QKICAgICByZXR1cm4gZnJh
bWVWaWV3KCkuZnJhbWUoKS5wYWdlWm9vbUZhY3RvcigpOwogfQogCi1JbnRTaXplIFJlbmRlclZp
ZXc6OnNpemVGb3JDU1NTbWFsbFZpZXdwb3J0VW5pdHMoKSBjb25zdAorRmxvYXRTaXplIFJlbmRl
clZpZXc6OnNpemVGb3JDU1NTbWFsbFZpZXdwb3J0VW5pdHMoKSBjb25zdAogewogICAgIHJldHVy
biBmcmFtZVZpZXcoKS5zaXplRm9yQ1NTU21hbGxWaWV3cG9ydFVuaXRzKCk7CiB9CiAKLUludFNp
emUgUmVuZGVyVmlldzo6c2l6ZUZvckNTU0xhcmdlVmlld3BvcnRVbml0cygpIGNvbnN0CitGbG9h
dFNpemUgUmVuZGVyVmlldzo6c2l6ZUZvckNTU0xhcmdlVmlld3BvcnRVbml0cygpIGNvbnN0CiB7
CiAgICAgcmV0dXJuIGZyYW1lVmlldygpLnNpemVGb3JDU1NMYXJnZVZpZXdwb3J0VW5pdHMoKTsK
IH0KIAotSW50U2l6ZSBSZW5kZXJWaWV3OjpzaXplRm9yQ1NTRHluYW1pY1ZpZXdwb3J0VW5pdHMo
KSBjb25zdAorRmxvYXRTaXplIFJlbmRlclZpZXc6OnNpemVGb3JDU1NEeW5hbWljVmlld3BvcnRV
bml0cygpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGZyYW1lVmlldygpLnNpemVGb3JDU1NEeW5hbWlj
Vmlld3BvcnRVbml0cygpOwogfQogCi1JbnRTaXplIFJlbmRlclZpZXc6OnNpemVGb3JDU1NEZWZh
dWx0Vmlld3BvcnRVbml0cygpIGNvbnN0CitGbG9hdFNpemUgUmVuZGVyVmlldzo6c2l6ZUZvckNT
U0RlZmF1bHRWaWV3cG9ydFVuaXRzKCkgY29uc3QKIHsKICAgICByZXR1cm4gZnJhbWVWaWV3KCku
c2l6ZUZvckNTU0RlZmF1bHRWaWV3cG9ydFVuaXRzKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclZpZXcuaAppbmRleCBhMGJiOTRlMTY3MTJhZjg5NjdjOGRlNmFkNzgxNWIwYzBhNzFj
ZDU2Li4xZmQ1NjgxNWFhNzlhYmY4ZWIwZDI2OGQzYWQ4NDFkMDMwZmFmOTgxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmgKQEAgLTE0MywxMCArMTQzLDEwIEBAIHB1YmxpYzoK
IAogICAgIGJvb2wgc2hvdWxkUGFpbnRCYXNlQmFja2dyb3VuZCgpIGNvbnN0OwogCi0gICAgSW50
U2l6ZSBzaXplRm9yQ1NTU21hbGxWaWV3cG9ydFVuaXRzKCkgY29uc3Q7Ci0gICAgSW50U2l6ZSBz
aXplRm9yQ1NTTGFyZ2VWaWV3cG9ydFVuaXRzKCkgY29uc3Q7Ci0gICAgSW50U2l6ZSBzaXplRm9y
Q1NTRHluYW1pY1ZpZXdwb3J0VW5pdHMoKSBjb25zdDsKLSAgICBJbnRTaXplIHNpemVGb3JDU1NE
ZWZhdWx0Vmlld3BvcnRVbml0cygpIGNvbnN0OworICAgIEZsb2F0U2l6ZSBzaXplRm9yQ1NTU21h
bGxWaWV3cG9ydFVuaXRzKCkgY29uc3Q7CisgICAgRmxvYXRTaXplIHNpemVGb3JDU1NMYXJnZVZp
ZXdwb3J0VW5pdHMoKSBjb25zdDsKKyAgICBGbG9hdFNpemUgc2l6ZUZvckNTU0R5bmFtaWNWaWV3
cG9ydFVuaXRzKCkgY29uc3Q7CisgICAgRmxvYXRTaXplIHNpemVGb3JDU1NEZWZhdWx0Vmlld3Bv
cnRVbml0cygpIGNvbnN0OwogCiAgICAgYm9vbCBoYXNRdW90ZXNOZWVkaW5nVXBkYXRlKCkgY29u
c3QgeyByZXR1cm4gbV9oYXNRdW90ZXNOZWVkaW5nVXBkYXRlOyB9CiAgICAgdm9pZCBzZXRIYXNR
dW90ZXNOZWVkaW5nVXBkYXRlKGJvb2wgYikgeyBtX2hhc1F1b3Rlc05lZWRpbmdVcGRhdGUgPSBi
OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJh
bWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJz
LmgKaW5kZXggMjZhZDNlMGIzZmNiYzgxOGY5OWZjYjdhZTA2ZWI3NWU5NWUxYTJkMS4uZWJkNTFm
NTQ2MWZkMzVhYTQwOGZjZGU2OTI3YTE2MTg2Mzc0ZjZhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9TaGFyZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL1dlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMuaApAQCAtMTI3LDcgKzEyNyw3IEBA
IHN0cnVjdCBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzIHsKICAgICBXZWJDb3JlOjpJbnRTaXpl
IG1pbmltdW1TaXplRm9yQXV0b0xheW91dDsKICAgICBXZWJDb3JlOjpJbnRTaXplIHNpemVUb0Nv
bnRlbnRBdXRvU2l6ZU1heGltdW1TaXplOwogICAgIGJvb2wgYXV0b1NpemluZ1Nob3VsZEV4cGFu
ZFRvVmlld0hlaWdodDsKLSAgICBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkludFNpemU+IHZpZXdw
b3J0U2l6ZUZvckNTU1ZpZXdwb3J0VW5pdHM7CisgICAgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpG
bG9hdFNpemU+IHZpZXdwb3J0U2l6ZUZvckNTU1ZpZXdwb3J0VW5pdHM7CiAgICAgCiAgICAgV2Vi
Q29yZTo6U2Nyb2xsUGlubmluZ0JlaGF2aW9yIHNjcm9sbFBpbm5pbmdCZWhhdmlvcjsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXggN2Zl
NTQyYzQxY2Y4YmJhNGI5MTFkZDMxNzk3ZjY3Njk0YTJiMTI5MS4uYTI1NjRkZjJhNWFiMTcwMTA1
OTIzZTVlN2RlOWQ0YjgzNjM0MDg5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC0xODkxLDcgKzE4OTEsNyBAQCAtIChDR1NpemUpX3Zp
ZXdwb3J0U2l6ZUZvckNTU1ZpZXdwb3J0VW5pdHMKIC0gKHZvaWQpX3NldFZpZXdwb3J0U2l6ZUZv
ckNTU1ZpZXdwb3J0VW5pdHM6KENHU2l6ZSl2aWV3cG9ydFNpemUKIHsKICAgICBUSFJPV19JRl9T
VVNQRU5ERUQ7Ci0gICAgYXV0byB2aWV3cG9ydFNpemVGb3JWaWV3cG9ydFVuaXRzID0gV2ViQ29y
ZTo6SW50U2l6ZSh2aWV3cG9ydFNpemUpOworICAgIGF1dG8gdmlld3BvcnRTaXplRm9yVmlld3Bv
cnRVbml0cyA9IFdlYkNvcmU6OkZsb2F0U2l6ZSh2aWV3cG9ydFNpemUpOwogICAgIGlmICh2aWV3
cG9ydFNpemVGb3JWaWV3cG9ydFVuaXRzLmlzRW1wdHkoKSkKICAgICAgICAgW05TRXhjZXB0aW9u
IHJhaXNlOk5TSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uIGZvcm1hdDpAIlZpZXdwb3J0IHNpemUg
c2hvdWxkIG5vdCBiZSBlbXB0eSJdOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmNwcAppbmRleCBkOWE4Mjk4MjQyOWU0YWM2ZTNlNjcwNjdhNzcyNjJkOGVhZjNlNWZjLi43
ZjlhYjE0YTA3NGRkYzk0NTNhOTAyOTY3ZDBlMDM4YjdmMmE4MDRmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTg5ODEsNyArODk4MSw3IEBAIHZvaWQgV2Vi
UGFnZVByb3h5OjpzZXRBdXRvU2l6aW5nU2hvdWxkRXhwYW5kVG9WaWV3SGVpZ2h0KGJvb2wgc2hv
dWxkRXhwYW5kKQogICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OlNldEF1dG9TaXppbmdTaG91
bGRFeHBhbmRUb1ZpZXdIZWlnaHQoc2hvdWxkRXhwYW5kKSk7CiB9CiAKLXZvaWQgV2ViUGFnZVBy
b3h5OjpzZXRWaWV3cG9ydFNpemVGb3JDU1NWaWV3cG9ydFVuaXRzKGNvbnN0IEludFNpemUmIHZp
ZXdwb3J0U2l6ZSkKK3ZvaWQgV2ViUGFnZVByb3h5OjpzZXRWaWV3cG9ydFNpemVGb3JDU1NWaWV3
cG9ydFVuaXRzKGNvbnN0IEZsb2F0U2l6ZSYgdmlld3BvcnRTaXplKQogewogICAgIGlmIChtX3Zp
ZXdwb3J0U2l6ZUZvckNTU1ZpZXdwb3J0VW5pdHMgJiYgKm1fdmlld3BvcnRTaXplRm9yQ1NTVmll
d3BvcnRVbml0cyA9PSB2aWV3cG9ydFNpemUpCiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggNDhmMTliNmZkNTQ1NmZmMTU0ZTUwOWE3NmVk
NTRiNjIzNzJmYzliNC4uODM4YjdkMWZiOTk0ZDgwNjUwMzY0OWEzZTljNjlhMDNhOTIzYjkwNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTE0NjAsOCArMTQ2MCw4
IEBAIHB1YmxpYzoKICAgICBib29sIGF1dG9TaXppbmdTaG91bGRFeHBhbmRUb1ZpZXdIZWlnaHQo
KSBjb25zdCB7IHJldHVybiBtX2F1dG9TaXppbmdTaG91bGRFeHBhbmRUb1ZpZXdIZWlnaHQ7IH0K
ICAgICB2b2lkIHNldEF1dG9TaXppbmdTaG91bGRFeHBhbmRUb1ZpZXdIZWlnaHQoYm9vbCk7CiAK
LSAgICB2b2lkIHNldFZpZXdwb3J0U2l6ZUZvckNTU1ZpZXdwb3J0VW5pdHMoY29uc3QgV2ViQ29y
ZTo6SW50U2l6ZSYpOwotICAgIFdlYkNvcmU6OkludFNpemUgdmlld3BvcnRTaXplRm9yQ1NTVmll
d3BvcnRVbml0cygpIGNvbnN0IHsgcmV0dXJuIG1fdmlld3BvcnRTaXplRm9yQ1NTVmlld3BvcnRV
bml0cy52YWx1ZV9vcihXZWJDb3JlOjpJbnRTaXplKCkpOyB9CisgICAgdm9pZCBzZXRWaWV3cG9y
dFNpemVGb3JDU1NWaWV3cG9ydFVuaXRzKGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYpOworICAg
IFdlYkNvcmU6OkZsb2F0U2l6ZSB2aWV3cG9ydFNpemVGb3JDU1NWaWV3cG9ydFVuaXRzKCkgY29u
c3QgeyByZXR1cm4gbV92aWV3cG9ydFNpemVGb3JDU1NWaWV3cG9ydFVuaXRzLnZhbHVlX29yKFdl
YkNvcmU6OkZsb2F0U2l6ZSgpKTsgfQogCiAgICAgdm9pZCBkaWRSZWNlaXZlQXV0aGVudGljYXRp
b25DaGFsbGVuZ2VQcm94eShSZWY8QXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eT4mJiwgTmVn
b3RpYXRlZExlZ2FjeVRMUyk7CiAgICAgdm9pZCBuZWdvdGlhdGVkTGVnYWN5VExTKCk7CkBAIC0y
OTAzLDcgKzI5MDMsNyBAQCBwcml2YXRlOgogICAgIFdlYkNvcmU6OkludFNpemUgbV9taW5pbXVt
U2l6ZUZvckF1dG9MYXlvdXQ7CiAgICAgV2ViQ29yZTo6SW50U2l6ZSBtX3NpemVUb0NvbnRlbnRB
dXRvU2l6ZU1heGltdW1TaXplOwogCi0gICAgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpJbnRTaXpl
PiBtX3ZpZXdwb3J0U2l6ZUZvckNTU1ZpZXdwb3J0VW5pdHM7CisgICAgc3RkOjpvcHRpb25hbDxX
ZWJDb3JlOjpGbG9hdFNpemU+IG1fdmlld3BvcnRTaXplRm9yQ1NTVmlld3BvcnRVbml0czsKIAog
ICAgIC8vIFZpc3VhbCB2aWV3cG9ydHMKICAgICBXZWJDb3JlOjpMYXlvdXRTaXplIG1fYmFzZUxh
eW91dFZpZXdwb3J0U2l6ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5jcHAKaW5kZXggY2Q3MmM4ZTNmZTJhM2ZlMDdhMzEyODk3YjhiOWVhZjI5N2Q4ZDE4My4u
NWZlYmM2YmRlY2FmMGYwMjM3MDA5MDNhOGE3N2ZlYzhmYmQ3NjRlMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTYyMDcsNyArNjIwNyw3IEBA
IHZvaWQgV2ViUGFnZTo6c2V0QXV0b1NpemluZ1Nob3VsZEV4cGFuZFRvVmlld0hlaWdodChib29s
IHNob3VsZEV4cGFuZCkKICAgICBjb3JlUGFnZSgpLT5tYWluRnJhbWUoKS52aWV3KCktPnNldEF1
dG9TaXplRml4ZWRNaW5pbXVtSGVpZ2h0KHNob3VsZEV4cGFuZCA/IG1fdmlld1NpemUuaGVpZ2h0
KCkgOiAwKTsKIH0KIAotdm9pZCBXZWJQYWdlOjpzZXRWaWV3cG9ydFNpemVGb3JDU1NWaWV3cG9y
dFVuaXRzKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6SW50U2l6ZT4gdmlld3BvcnRTaXplKQordm9p
ZCBXZWJQYWdlOjpzZXRWaWV3cG9ydFNpemVGb3JDU1NWaWV3cG9ydFVuaXRzKHN0ZDo6b3B0aW9u
YWw8V2ViQ29yZTo6RmxvYXRTaXplPiB2aWV3cG9ydFNpemUpCiB7CiAgICAgaWYgKG1fdmlld3Bv
cnRTaXplRm9yQ1NTVmlld3BvcnRVbml0cyA9PSB2aWV3cG9ydFNpemUpCiAgICAgICAgIHJldHVy
bjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
aCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAppbmRleCBhM2Q3
MGY1NDEyNDcwMDVhOTI5MjEzYmVkNDA2MTk3MzY1ODMwMGQzLi44NmQ0YTEyZjcyNTRmMjY0Mjgx
NWE5ZDNlODk5YWU1YmEzNTIzNDk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5oCkBAIC0xMTY3LDggKzExNjcsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRB
dXRvU2l6aW5nU2hvdWxkRXhwYW5kVG9WaWV3SGVpZ2h0KGJvb2wgc2hvdWxkRXhwYW5kKTsKICAg
ICBib29sIGF1dG9TaXppbmdTaG91bGRFeHBhbmRUb1ZpZXdIZWlnaHQoKSB7IHJldHVybiBtX2F1
dG9TaXppbmdTaG91bGRFeHBhbmRUb1ZpZXdIZWlnaHQ7IH0KIAotICAgIHZvaWQgc2V0Vmlld3Bv
cnRTaXplRm9yQ1NTVmlld3BvcnRVbml0cyhzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkludFNpemU+
KTsKLSAgICBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkludFNpemU+IHZpZXdwb3J0U2l6ZUZvckNT
U1ZpZXdwb3J0VW5pdHMoKSBjb25zdCB7IHJldHVybiBtX3ZpZXdwb3J0U2l6ZUZvckNTU1ZpZXdw
b3J0VW5pdHM7IH0KKyAgICB2b2lkIHNldFZpZXdwb3J0U2l6ZUZvckNTU1ZpZXdwb3J0VW5pdHMo
c3RkOjpvcHRpb25hbDxXZWJDb3JlOjpGbG9hdFNpemU+KTsKKyAgICBzdGQ6Om9wdGlvbmFsPFdl
YkNvcmU6OkZsb2F0U2l6ZT4gdmlld3BvcnRTaXplRm9yQ1NTVmlld3BvcnRVbml0cygpIGNvbnN0
IHsgcmV0dXJuIG1fdmlld3BvcnRTaXplRm9yQ1NTVmlld3BvcnRVbml0czsgfQogCiAgICAgYm9v
bCBjYW5TaG93TUlNRVR5cGUoY29uc3QgU3RyaW5nJiBNSU1FVHlwZSkgY29uc3Q7CiAgICAgYm9v
bCBjYW5TaG93UmVzcG9uc2UoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYpIGNvbnN0
OwpAQCAtMjE4OCw3ICsyMTg4LDcgQEAgcHJpdmF0ZToKICAgICBXZWJDb3JlOjpJbnRTaXplIG1f
bWluaW11bVNpemVGb3JBdXRvTGF5b3V0OwogICAgIFdlYkNvcmU6OkludFNpemUgbV9zaXplVG9D
b250ZW50QXV0b1NpemVNYXhpbXVtU2l6ZTsKICAgICBib29sIG1fYXV0b1NpemluZ1Nob3VsZEV4
cGFuZFRvVmlld0hlaWdodCB7IGZhbHNlIH07Ci0gICAgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpJ
bnRTaXplPiBtX3ZpZXdwb3J0U2l6ZUZvckNTU1ZpZXdwb3J0VW5pdHM7CisgICAgc3RkOjpvcHRp
b25hbDxXZWJDb3JlOjpGbG9hdFNpemU+IG1fdmlld3BvcnRTaXplRm9yQ1NTVmlld3BvcnRVbml0
czsKIAogICAgIGJvb2wgbV91c2VySXNJbnRlcmFjdGluZyB7IGZhbHNlIH07CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4g
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCmlu
ZGV4IDM4Y2U0NTcwYzk4YThiN2E5MmExMDM4YTIxNTVhMWIyN2VhNDE4NDkuLjk2ZTVjNzY3ZjBi
Y2EyZTc4ZmY3MTY5MzUzMzFhODA0NjQyNDg4MDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgpAQCAtNDgwLDcgKzQ4MCw3
IEBAIEdlbmVyYXRlU3ludGhldGljRWRpdGluZ0NvbW1hbmQoZW51bTp1aW50OF90IFdlYktpdDo6
U3ludGhldGljRWRpdGluZ0NvbW1hbmRUeXBlCiAgICAgU2V0U2l6ZVRvQ29udGVudEF1dG9TaXpl
TWF4aW11bVNpemUoV2ViQ29yZTo6SW50U2l6ZSBzaXplKQogICAgIFNldEF1dG9TaXppbmdTaG91
bGRFeHBhbmRUb1ZpZXdIZWlnaHQoYm9vbCBzaG91bGRFeHBhbmQpCiAKLSAgICBTZXRWaWV3cG9y
dFNpemVGb3JDU1NWaWV3cG9ydFVuaXRzKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6SW50U2l6ZT4g
dmlld3BvcnRTaXplKQorICAgIFNldFZpZXdwb3J0U2l6ZUZvckNTU1ZpZXdwb3J0VW5pdHMoc3Rk
OjpvcHRpb25hbDxXZWJDb3JlOjpGbG9hdFNpemU+IHZpZXdwb3J0U2l6ZSkKIAogI2lmIFBMQVRG
T1JNKENPQ09BKQogICAgIEhhbmRsZUFsdGVybmF0aXZlVGV4dFVJUmVzdWx0KFN0cmluZyByZXN1
bHQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2Vi
UGFnZUlPUy5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdl
SU9TLm1tCmluZGV4IDdmZWYwNmQyODYxOTUzY2YwNWUwNTA3MGUxNzE3ZGJhYmIxOWNkODguLjAx
NmRkMzRjNzQzMTQyMzIyODllOWYzNjlhMzBlNjkzZjFhOGJkYzkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCkBAIC0zODgwLDgg
KzM4ODAsOCBAQCB2b2lkIFdlYlBhZ2U6OnVwZGF0ZVZpZXdwb3J0U2l6ZUZvckNTU1ZpZXdwb3J0
VW5pdHMoKQogICAgIEZyYW1lVmlldyYgZnJhbWVWaWV3ID0gKm1haW5GcmFtZVZpZXcoKTsKICAg
ICBzbWFsbGVzdFVub2JzY3VyZWRTaXplLnNjYWxlKDEgLyBtX3ZpZXdwb3J0Q29uZmlndXJhdGlv
bi5pbml0aWFsU2NhbGVJZ25vcmluZ0NvbnRlbnRTaXplKCkpOwogICAgIGxhcmdlc3RVbm9ic2N1
cmVkU2l6ZS5zY2FsZSgxIC8gbV92aWV3cG9ydENvbmZpZ3VyYXRpb24uaW5pdGlhbFNjYWxlSWdu
b3JpbmdDb250ZW50U2l6ZSgpKTsKLSAgICBmcmFtZVZpZXcuc2V0U2l6ZUZvckNTU1NtYWxsVmll
d3BvcnRVbml0cyhyb3VuZGVkSW50U2l6ZShzbWFsbGVzdFVub2JzY3VyZWRTaXplKSk7Ci0gICAg
ZnJhbWVWaWV3LnNldFNpemVGb3JDU1NMYXJnZVZpZXdwb3J0VW5pdHMocm91bmRlZEludFNpemUo
bGFyZ2VzdFVub2JzY3VyZWRTaXplKSk7CisgICAgZnJhbWVWaWV3LnNldFNpemVGb3JDU1NTbWFs
bFZpZXdwb3J0VW5pdHMoc21hbGxlc3RVbm9ic2N1cmVkU2l6ZSk7CisgICAgZnJhbWVWaWV3LnNl
dFNpemVGb3JDU1NMYXJnZVZpZXdwb3J0VW5pdHMobGFyZ2VzdFVub2JzY3VyZWRTaXplKTsKIH0K
IAogdm9pZCBXZWJQYWdlOjphcHBsaWNhdGlvbldpbGxSZXNpZ25BY3RpdmUoKQpkaWZmIC0tZ2l0
IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDUyZmU5ZDAzZDJhMjlk
YjUzYTcyZDI5YTBkZWUwMzdlMDIwNTI2YzkuLjY3ODgxZGU1NzkzZWM0OTc4Njg1NWE5NjIyOTg5
MzU5ODUyMjhlOTMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAyMS0xMC0yMSAgRGV2aW4gUm91c3NvICA8ZHJvdXNz
b0BhcHBsZS5jb20+CisKKyAgICAgICAgW2Nzcy12YWx1ZXMtNF0gdmlld3BvcnQgdW5pdHMgc2hv
dWxkIGJlIGZsb2F0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjMxNjQ0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84NDE3MjY4NT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBUaW0gSG9ydG9uLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXRDb2NvYS9DU1NWaWV3cG9ydFVuaXRzLm1tOgorICAgICAgICAoZXZhbHVhdGVGb3JO
dW1iZXIpOgorICAgICAgICAoZ2V0RWxlbWVudEhlaWdodCk6CisgICAgICAgIChURVNULkNTU1Zp
ZXdwb3J0VW5pdHMuQWxsU2FtZSk6CisgICAgICAgIChURVNULkNTU1ZpZXdwb3J0VW5pdHMuRW1w
dHlVbm9ic2N1cmVkU2l6ZU92ZXJyaWRlcyk6CisgICAgICAgIChURVNULkNTU1ZpZXdwb3J0VW5p
dHMuU2FtZVVub2JzY3VyZWRTaXplT3ZlcnJpZGVzKToKKyAgICAgICAgKFRFU1QuQ1NTVmlld3Bv
cnRVbml0cy5EaWZmZXJlbnRVbm9ic2N1cmVkU2l6ZU92ZXJyaWRlcyk6CisKKyAgICAgICAgKiBU
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9WaWV3cG9ydFNpemVGb3JWaWV3cG9ydFVuaXRzLm1t
OgorICAgICAgICAoVEVTVC5XZWJLaXQuVmlld3BvcnRTaXplRm9yVmlld3BvcnRVbml0cyk6CisK
IDIwMjEtMTEtMDMgIEpvbmF0aGFuIEJlZGFyZCAgPGpiZWRhcmRAYXBwbGUuY29tPgogCiAgICAg
ICAgIFtnaXQtd2Via2l0XSBBZGQgbGFuZCBjb21tYW5kCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9WaWV3cG9ydFNpemVGb3JWaWV3cG9ydFVuaXRzLm1tIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvVmlld3BvcnRTaXplRm9yVmlld3BvcnRV
bml0cy5tbQppbmRleCA4ZjIxYzZmY2ZlM2EwZWY2MzNjZjkyNTQ0OTIwZTAxMjRkNDJlMjIzLi5i
NWZmMTViNDNjMDdiOGEwZTIwMjk5NTc2ZjQ3ODQxOTcwZWY3ZjE4IDEwMDY0NAotLS0gYS9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9WaWV3cG9ydFNpemVGb3JWaWV3cG9ydFVuaXRz
Lm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1ZpZXdwb3J0U2l6ZUZv
clZpZXdwb3J0VW5pdHMubW0KQEAgLTk4LDcgKzk4LDcgQEAgVEVTVChXZWJLaXQsIFZpZXdwb3J0
U2l6ZUZvclZpZXdwb3J0VW5pdHMpCiAgICAgICAgIEVYUEVDVF9XS19TVFJFUShOU0ludmFsaWRB
cmd1bWVudEV4Y2VwdGlvbiwgZXhjZXB0aW9uLm5hbWUpOwogICAgICAgICBleGNlcHRpb25SYWlz
ZWQgPSB0cnVlOwogICAgIH0KLSAgICBFWFBFQ1RfVFJVRShleGNlcHRpb25SYWlzZWQpOworICAg
IEVYUEVDVF9GQUxTRShleGNlcHRpb25SYWlzZWQpOwogCiAgICAgZXhjZXB0aW9uUmFpc2VkID0g
ZmFsc2U7CiAgICAgQHRyeSB7CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdENvY29hL0NTU1ZpZXdwb3J0VW5pdHMubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdENvY29hL0NTU1ZpZXdwb3J0VW5pdHMubW0KaW5kZXggNTUxYjI1ZjEzMzViN2My
MmI5YTkzMjY1NDNkMjYyNGFiMjQzMzkxYi4uZTBhZDA1OGJmYmY1MzM4NWIwODczYWUxODU4M2Iy
YTUxZTNlZjgxMCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRD
b2NvYS9DU1NWaWV3cG9ydFVuaXRzLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0Q29jb2EvQ1NTVmlld3BvcnRVbml0cy5tbQpAQCAtMzAsMTQgKzMwLDE0IEBACiAjaW1w
b3J0IDxXZWJLaXQvV0tXZWJWaWV3UHJpdmF0ZS5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5o
PgogCi1zdGF0aWMgaW50IGV2YWx1YXRlRm9ySW50KFdLV2ViVmlldyAqd2ViVmlldywgTlNTdHJp
bmcgKnNjcmlwdCkKK3N0YXRpYyBkb3VibGUgZXZhbHVhdGVGb3JOdW1iZXIoV0tXZWJWaWV3ICp3
ZWJWaWV3LCBOU1N0cmluZyAqc2NyaXB0KQogewotICAgIHJldHVybiBbKE5TTnVtYmVyICopW3dl
YlZpZXcgb2JqZWN0QnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpzY3JpcHRdIGludFZhbHVlXTsKKyAg
ICByZXR1cm4gWyhOU051bWJlciAqKVt3ZWJWaWV3IG9iamVjdEJ5RXZhbHVhdGluZ0phdmFTY3Jp
cHQ6c2NyaXB0XSBkb3VibGVWYWx1ZV07CiB9CiAKLXN0YXRpYyBpbnQgZ2V0RWxlbWVudEhlaWdo
dChXS1dlYlZpZXcgKndlYlZpZXcsIE5TU3RyaW5nICplbGVtZW50SUQpCitzdGF0aWMgZG91Ymxl
IGdldEVsZW1lbnRIZWlnaHQoV0tXZWJWaWV3ICp3ZWJWaWV3LCBOU1N0cmluZyAqZWxlbWVudElE
KQogewotICAgIHJldHVybiBldmFsdWF0ZUZvckludCh3ZWJWaWV3LCBbTlNTdHJpbmcgc3RyaW5n
V2l0aEZvcm1hdDpAImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCclQCcpLmdldEJvdW5kaW5nQ2xp
ZW50UmVjdCgpLmhlaWdodCIsIGVsZW1lbnRJRF0pOworICAgIHJldHVybiBldmFsdWF0ZUZvck51
bWJlcih3ZWJWaWV3LCBbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpAImRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCclQCcpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodCIsIGVsZW1lbnRJ
RF0pOwogfQogCiBURVNUKENTU1ZpZXdwb3J0VW5pdHMsIEFsbFNhbWUpCkBAIC00NSwyNSArNDUs
MjUgQEAgVEVTVChDU1NWaWV3cG9ydFVuaXRzLCBBbGxTYW1lKQogICAgIGF1dG8gd2ViVmlldyA9
IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOkNHUmVjdE1ha2Uo
MCwgMCwgMzIwLCA1MDApXSk7CiAgICAgW3dlYlZpZXcgc3luY2hyb25vdXNseUxvYWRUZXN0UGFn
ZU5hbWVkOkAiQ1NTVmlld3BvcnRVbml0cyJdOwogCi0gICAgRVhQRUNUX0VRKDMyMCwgZ2V0RWxl
bWVudEhlaWdodCh3ZWJWaWV3LmdldCgpLCBAInZ3IikpOwotICAgIEVYUEVDVF9FUSg1MDAsIGdl
dEVsZW1lbnRIZWlnaHQod2ViVmlldy5nZXQoKSwgQCJ2aCIpKTsKLSAgICBFWFBFQ1RfRVEoMzIw
LCBnZXRFbGVtZW50SGVpZ2h0KHdlYlZpZXcuZ2V0KCksIEAidm1pbiIpKTsKLSAgICBFWFBFQ1Rf
RVEoNTAwLCBnZXRFbGVtZW50SGVpZ2h0KHdlYlZpZXcuZ2V0KCksIEAidm1heCIpKTsKKyAgICBF
WFBFQ1RfRkxPQVRfRVEoMzIwLCBnZXRFbGVtZW50SGVpZ2h0KHdlYlZpZXcuZ2V0KCksIEAidnci
KSk7CisgICAgRVhQRUNUX0ZMT0FUX0VRKDUwMCwgZ2V0RWxlbWVudEhlaWdodCh3ZWJWaWV3Lmdl
dCgpLCBAInZoIikpOworICAgIEVYUEVDVF9GTE9BVF9FUSgzMjAsIGdldEVsZW1lbnRIZWlnaHQo
d2ViVmlldy5nZXQoKSwgQCJ2bWluIikpOworICAgIEVYUEVDVF9GTE9BVF9FUSg1MDAsIGdldEVs
ZW1lbnRIZWlnaHQod2ViVmlldy5nZXQoKSwgQCJ2bWF4IikpOwogCi0gICAgRVhQRUNUX0VRKDMy
MCwgZ2V0RWxlbWVudEhlaWdodCh3ZWJWaWV3LmdldCgpLCBAInN2dyIpKTsKLSAgICBFWFBFQ1Rf
RVEoNTAwLCBnZXRFbGVtZW50SGVpZ2h0KHdlYlZpZXcuZ2V0KCksIEAic3ZoIikpOwotICAgIEVY
UEVDVF9FUSgzMjAsIGdldEVsZW1lbnRIZWlnaHQod2ViVmlldy5nZXQoKSwgQCJzdm1pbiIpKTsK
LSAgICBFWFBFQ1RfRVEoNTAwLCBnZXRFbGVtZW50SGVpZ2h0KHdlYlZpZXcuZ2V0KCksIEAic3Zt
YXgiKSk7CisgICAgRVhQRUNUX0ZMT0FUX0VRKDMyMCwgZ2V0RWxlbWVudEhlaWdodCh3ZWJWaWV3
LmdldCgpLCBAInN2dyIpKTsKKyAgICBFWFBFQ1RfRkxPQVRfRVEoNTAwLCBnZXRFbGVtZW50SGVp
Z2h0KHdlYlZpZXcuZ2V0KCksIEAic3ZoIikpOworICAgIEVYUEVDVF9GTE9BVF9FUSgzMjAsIGdl
dEVsZW1lbnRIZWlnaHQod2ViVmlldy5nZXQoKSwgQCJzdm1pbiIpKTsKKyAgICBFWFBFQ1RfRkxP
QVRfRVEoNTAwLCBnZXRFbGVtZW50SGVpZ2h0KHdlYlZpZXcuZ2V0KCksIEAic3ZtYXgiKSk7CiAK
LSAgICBFWFBFQ1RfRVEoMzIwLCBnZXRFbGVtZW50SGVpZ2h0KHdlYlZpZXcuZ2V0KCksIEAibHZ3
IikpOwotICAgIEVYUEVDVF9FUSg1MDAsIGdldEVsZW1lbnRIZWlnaHQod2ViVmlldy5nZXQoKSwg
QCJsdmgiKSk7Ci0gICAgRVhQRUNUX0VRKDMyMCwgZ2V0RWxlbWVudEhlaWdodCh3ZWJWaWV3Lmdl
dCgpLCBAImx2bWluIikpOwotICAgIEVYUEVDVF9FUSg1MDAsIGdldEVsZW1lbnRIZWlnaHQod2Vi
Vmlldy5nZXQoKSwgQCJsdm1heCIpKTsKKyAgICBFWFBFQ1RfRkxPQVRfRVEoMzIwLCBnZXRFbGVt
ZW50SGVpZ2h0KHdlYlZpZXcuZ2V0KCksIEAibHZ3IikpOworICAgIEVYUEVDVF9GTE9BVF9FUSg1
MDAsIGdldEVsZW1lbnRIZWlnaHQod2ViVmlldy5nZXQoKSwgQCJsdmgiKSk7CisgICAgRVhQRUNU
X0ZMT0FUX0VRKDMyMCwgZ2V0RWxlbWVudEhlaWdodCh3ZWJWaWV3LmdldCgpLCBAImx2bWluIikp
OworICAgIEVYUEVDVF9GTE9BVF9FUSg1MDAsIGdldEVsZW1lbnRIZWlnaHQod2ViVmlldy5nZXQo
KSwgQCJsdm1heCIpKTsKIAotICAgIEVYUEVDVF9FUShldmFsdWF0ZUZvckludCh3ZWJWaWV3Lmdl
dCgpLCBAIndpbmRvdy5pbm5lcldpZHRoIiksIGdldEVsZW1lbnRIZWlnaHQod2ViVmlldy5nZXQo
KSwgQCJkdnciKSk7Ci0gICAgRVhQRUNUX0VRKGV2YWx1YXRlRm9ySW50KHdlYlZpZXcuZ2V0KCks
IEAid2luZG93LmlubmVySGVpZ2h0IiksIGdldEVsZW1lbnRIZWlnaHQod2ViVmlldy5nZXQoKSwg
QCJkdmgiKSk7Ci0gICAgRVhQRUNUX0VRKGV2YWx1YXRlRm9ySW50KHdlYlZpZXcuZ2V0KCksIEAi
d2luZG93LmlubmVyV2lkdGgiKSwgZ2V0RWxlbWVudEhlaWdodCh3ZWJWaWV3LmdldCgpLCBAImR2
bWluIikpOwotICAgIEVYUEVDVF9FUShldmFsdWF0ZUZvckludCh3ZWJWaWV3LmdldCgpLCBAIndp
bmRvdy5pbm5lckhlaWdodCIpLCBnZXRFbGVtZW50SGVpZ2h0KHdlYlZpZXcuZ2V0KCksIEAiZHZt
YXgiKSk7CisgICAgRVhQRUNUX0ZMT0FUX0VRKGV2YWx1YXRlRm9yTnVtYmVyKHdlYlZpZXcuZ2V0
KCksIEAid2luZG93LmlubmVyV2lkdGgiKSwgZ2V0RWxlbWVudEhlaWdodCh3ZWJWaWV3LmdldCgp
LCBAImR2dyIpKTsKKyAgICBFWFBFQ1RfRkxPQVRfRVEoZXZhbHVhdGVGb3JOdW1iZXIod2ViVmll
dy5nZXQoKSwgQCJ3aW5kb3cuaW5uZXJIZWlnaHQiKSwgZ2V0RWxlbWVudEhlaWdodCh3ZWJWaWV3
LmdldCgpLCBAImR2aCIpKTsKKyAgICBFWFBFQ1RfRkxPQVRfRVEoZXZhbHVhdGVGb3JOdW1iZXIo
d2ViVmlldy5nZXQoKSwgQCJ3aW5kb3cuaW5uZXJXaWR0aCIpLCBnZXRFbGVtZW50SGVpZ2h0KHdl
YlZpZXcuZ2V0KCksIEAiZHZtaW4iKSk7CisgICAgRVhQRUNUX0ZMT0FUX0VRKGV2YWx1YXRlRm9y
TnVtYmVyKHdlYlZpZXcuZ2V0KCksIEAid2luZG93LmlubmVySGVpZ2h0IiksIGdldEVsZW1lbnRI
ZWlnaHQod2ViVmlldy5nZXQoKSwgQCJkdm1heCIpKTsKIH0KIAogI2lmIFBMQVRGT1JNKElPU19G
QU1JTFkpCkBAIC03MSw4NSArNzEsODUgQEAgVEVTVChDU1NWaWV3cG9ydFVuaXRzLCBBbGxTYW1l
KQogVEVTVChDU1NWaWV3cG9ydFVuaXRzLCBFbXB0eVVub2JzY3VyZWRTaXplT3ZlcnJpZGVzKQog
ewogICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0
V2l0aEZyYW1lOkNHUmVjdE1ha2UoMCwgMCwgMzIwLCA1MDApXSk7Ci0gICAgW3dlYlZpZXcgX292
ZXJyaWRlTGF5b3V0UGFyYW1ldGVyc1dpdGhNaW5pbXVtTGF5b3V0U2l6ZTpDR1NpemVNYWtlKDEw
LCAyMCkKKyAgICBbd2ViVmlldyBfb3ZlcnJpZGVMYXlvdXRQYXJhbWV0ZXJzV2l0aE1pbmltdW1M
YXlvdXRTaXplOkNHU2l6ZU1ha2UoMTAuNSwgMjAuNSkKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIG1heGltdW1Vbm9ic2N1cmVkU2l6ZU92ZXJyaWRlOkNHU2l6ZVplcm9dOwogICAgIFt3
ZWJWaWV3IHN5bmNocm9ub3VzbHlMb2FkVGVzdFBhZ2VOYW1lZDpAIkNTU1ZpZXdwb3J0VW5pdHMi
XTsKIAotICAgIEVYUEVDVF9FUSgxMCwgZ2V0RWxlbWVudEhlaWdodCh3ZWJWaWV3LmdldCgpLCBA
InZ3IikpOwotICAgIEVYUEVDVF9FUSgyMCwgZ2V0RWxlbWVudEhlaWdodCh3ZWJWaWV3LmdldCgp
LCBAInZoIikpOwotICAgIEVYUEVDVF9FUSgxMCwgZ2V0RWxlbWVudEhlaWdodCh3ZWJWaWV3Lmdl
dCgpLCBAInZtaW4iKSk7Ci0gICAgRVhQRUNUX0VRKDIwLCBnZXRFbGVtZW50SGVpZ2h0KHdlYlZp
ZXcuZ2V0KCksIEAidm1heCIpKTsKKyAgICBFWFBFQ1RfRkxPQVRfRVEoMTAuNSwgZ2V0RWxlbWVu
dEhlaWdodCh3ZWJWaWV3LmdldCgpLCBAInZ3IikpOworICAgIEVYUEVDVF9GTE9BVF9FUSgyMC41
LCBnZXRFbGVtZW50SGVpZ2h0KHdlYlZpZXcuZ2V0KCksIEAidmgiKSk7CisgICAgRVhQRUNUX0ZM
T0FUX0VRKDEwLjUsIGdldEVsZW1lbnRIZWlnaHQod2ViVmlldy5nZXQoKSwgQCJ2bWluIikpOwor
ICAgIEVYUEVDVF9GTE9BVF9FUSgyMC41LCBnZXRFbGVtZW50SGVpZ2h0KHdlYlZpZXcuZ2V0KCks
IEAidm1heCIpKTsKIAotICAgIEVYUEVDVF9FUSgxMCwgZ2V0RWxlbWVudEhlaWdodCh3ZWJWaWV3
LmdldCgpLCBAInN2dyIpKTsKLSAgICBFWFBFQ1RfRVEoMjAsIGdldEVsZW1lbnRIZWlnaHQod2Vi
Vmlldy5nZXQoKSwgQCJzdmgiKSk7Ci0gICAgRVhQRUNUX0VRKDEwLCBnZXRFbGVtZW50SGVpZ2h0
KHdlYlZpZXcuZ2V0KCksIEAic3ZtaW4iKSk7Ci0gICAgRVhQRUNUX0VRKDIwLCBnZXRFbGVtZW50
SGVpZ2h0KHdlYlZpZXcuZ2V0KCksIEAic3ZtYXgiKSk7CisgICAgRVhQRUNUX0ZMT0FUX0VRKDEw
LjUsIGdldEVsZW1lbnRIZWlnaHQod2ViVmlldy5nZXQoKSwgQCJzdnciKSk7CisgICAgRVhQRUNU
X0ZMT0FUX0VRKDIwLjUsIGdldEVsZW1lbnRIZWlnaHQod2ViVmlldy5nZXQoKSwgQCJzdmgiKSk7
CisgICAgRVhQRUNUX0ZMT0FUX0VRKDEwLjUsIGdldEVsZW1lbnRIZWlnaHQod2ViVmlldy5nZXQo
KSwgQCJzdm1pbiIpKTsKKyAgICBFWFBFQ1RfRkxPQVRfRVEoMjAuNSwgZ2V0RWxlbWVudEhlaWdo
dCh3ZWJWaWV3LmdldCgpLCBAInN2bWF4IikpOwogCi0gICAgRVhQRUNUX0VRKDEwLCBnZXRFbGVt
ZW50SGVpZ2h0KHdlYlZpZXcuZ2V0KCksIEAibHZ3IikpOwotICAgIEVYUEVDVF9FUSgyMCwgZ2V0
RWxlbWVudEhlaWdodCh3ZWJWaWV3LmdldCgpLCBAImx2aCIpKTsKLSAgICBFWFBFQ1RfRVEoMTAs
IGdldEVsZW1lbnRIZWlnaHQod2ViVmlldy5nZXQoKSwgQCJsdm1pbiIpKTsKLSAgICBFWFBFQ1Rf
RVEoMjAsIGdldEVsZW1lbnRIZWlnaHQod2ViVmlldy5nZXQoKSwgQCJsdm1heCIpKTsKKyAgICBF
WFBFQ1RfRkxPQVRfRVEoMTAuNSwgZ2V0RWxlbWVudEhlaWdodCh3ZWJWaWV3LmdldCgpLCBAImx2
dyIpKTsKKyAgICBFWFBFQ1RfRkxPQVRfRVEoMjAuNSwgZ2V0RWxlbWVudEhlaWdodCh3ZWJWaWV3
LmdldCgpLCBAImx2aCIpKTsKKyAgICBFWFBFQ1RfRkxPQVRfRVEoMTAuNSwgZ2V0RWxlbWVudEhl
aWdodCh3ZWJWaWV3LmdldCgpLCBAImx2bWluIikpOworICAgIEVYUEVDVF9GTE9BVF9FUSgyMC41
LCBnZXRFbGVtZW50SGVpZ2h0KHdlYlZpZXcuZ2V0KCksIEAibHZtYXgiKSk7CiAKLSAgICBFWFBF
Q1RfRVEoZXZhbHVhdGVGb3JJbnQod2ViVmlldy5nZXQoKSwgQCJ3aW5kb3cuaW5uZXJXaWR0aCIp
LCBnZXRFbGVtZW50SGVpZ2h0KHdlYlZpZXcuZ2V0KCksIEAiZHZ3IikpOwotICAgIEVYUEVDVF9F
UShldmFsdWF0ZUZvckludCh3ZWJWaWV3LmdldCgpLCBAIndpbmRvdy5pbm5lckhlaWdodCIpLCBn
ZXRFbGVtZW50SGVpZ2h0KHdlYlZpZXcuZ2V0KCksIEAiZHZoIikpOwotICAgIEVYUEVDVF9FUShl
dmFsdWF0ZUZvckludCh3ZWJWaWV3LmdldCgpLCBAIndpbmRvdy5pbm5lcldpZHRoIiksIGdldEVs
ZW1lbnRIZWlnaHQod2ViVmlldy5nZXQoKSwgQCJkdm1pbiIpKTsKLSAgICBFWFBFQ1RfRVEoZXZh
bHVhdGVGb3JJbnQod2ViVmlldy5nZXQoKSwgQCJ3aW5kb3cuaW5uZXJIZWlnaHQiKSwgZ2V0RWxl
bWVudEhlaWdodCh3ZWJWaWV3LmdldCgpLCBAImR2bWF4IikpOworICAgIEVYUEVDVF9GTE9BVF9F
UShldmFsdWF0ZUZvck51bWJlcih3ZWJWaWV3LmdldCgpLCBAIndpbmRvdy5pbm5lcldpZHRoIiks
IGdldEVsZW1lbnRIZWlnaHQod2ViVmlldy5nZXQoKSwgQCJkdnciKSk7CisgICAgRVhQRUNUX0ZM
T0FUX0VRKGV2YWx1YXRlRm9yTnVtYmVyKHdlYlZpZXcuZ2V0KCksIEAid2luZG93LmlubmVySGVp
Z2h0IiksIGdldEVsZW1lbnRIZWlnaHQod2ViVmlldy5nZXQoKSwgQCJkdmgiKSk7CisgICAgRVhQ
RUNUX0ZMT0FUX0VRKGV2YWx1YXRlRm9yTnVtYmVyKHdlYlZpZXcuZ2V0KCksIEAid2luZG93Lmlu
bmVyV2lkdGgiKSwgZ2V0RWxlbWVudEhlaWdodCh3ZWJWaWV3LmdldCgpLCBAImR2bWluIikpOwor
ICAgIEVYUEVDVF9GTE9BVF9FUShldmFsdWF0ZUZvck51bWJlcih3ZWJWaWV3LmdldCgpLCBAIndp
bmRvdy5pbm5lckhlaWdodCIpLCBnZXRFbGVtZW50SGVpZ2h0KHdlYlZpZXcuZ2V0KCksIEAiZHZt
YXgiKSk7CiB9CiAKIFRFU1QoQ1NTVmlld3BvcnRVbml0cywgU2FtZVVub2JzY3VyZWRTaXplT3Zl
cnJpZGVzKQogewogICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFs
bG9jXSBpbml0V2l0aEZyYW1lOkNHUmVjdE1ha2UoMCwgMCwgMzIwLCA1MDApXSk7Ci0gICAgW3dl
YlZpZXcgX292ZXJyaWRlTGF5b3V0UGFyYW1ldGVyc1dpdGhNaW5pbXVtTGF5b3V0U2l6ZTpDR1Np
emVNYWtlKDEwLCAyMCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heGltdW1Vbm9i
c2N1cmVkU2l6ZU92ZXJyaWRlOkNHU2l6ZU1ha2UoMTAsIDIwKV07CisgICAgW3dlYlZpZXcgX292
ZXJyaWRlTGF5b3V0UGFyYW1ldGVyc1dpdGhNaW5pbXVtTGF5b3V0U2l6ZTpDR1NpemVNYWtlKDEw
LjUsIDIwLjUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhpbXVtVW5vYnNjdXJl
ZFNpemVPdmVycmlkZTpDR1NpemVNYWtlKDEwLjUsIDIwLjUpXTsKICAgICBbd2ViVmlldyBzeW5j
aHJvbm91c2x5TG9hZFRlc3RQYWdlTmFtZWQ6QCJDU1NWaWV3cG9ydFVuaXRzIl07CiAKLSAgICBF
WFBFQ1RfRVEoMTAsIGdldEVsZW1lbnRIZWlnaHQod2ViVmlldy5nZXQoKSwgQCJ2dyIpKTsKLSAg
ICBFWFBFQ1RfRVEoMjAsIGdldEVsZW1lbnRIZWlnaHQod2ViVmlldy5nZXQoKSwgQCJ2aCIpKTsK
LSAgICBFWFBFQ1RfRVEoMTAsIGdldEVsZW1lbnRIZWlnaHQod2ViVmlldy5nZXQoKSwgQCJ2bWlu
IikpOwotICAgIEVYUEVDVF9FUSgyMCwgZ2V0RWxlbWVudEhlaWdodCh3ZWJWaWV3LmdldCgpLCBA
InZtYXgiKSk7CisgICAgRVhQRUNUX0ZMT0FUX0VRKDEwLjUsIGdldEVsZW1lbnRIZWlnaHQod2Vi
Vmlldy5nZXQoKSwgQCJ2dyIpKTsKKyAgICBFWFBFQ1RfRkxPQVRfRVEoMjAuNSwgZ2V0RWxlbWVu
dEhlaWdodCh3ZWJWaWV3LmdldCgpLCBAInZoIikpOworICAgIEVYUEVDVF9GTE9BVF9FUSgxMC41
LCBnZXRFbGVtZW50SGVpZ2h0KHdlYlZpZXcuZ2V0KCksIEAidm1pbiIpKTsKKyAgICBFWFBFQ1Rf
RkxPQVRfRVEoMjAuNSwgZ2V0RWxlbWVudEhlaWdodCh3ZWJWaWV3LmdldCgpLCBAInZtYXgiKSk7
CiAKLSAgICBFWFBFQ1RfRVEoMTAsIGdldEVsZW1lbnRIZWlnaHQod2ViVmlldy5nZXQoKSwgQCJz
dnciKSk7Ci0gICAgRVhQRUNUX0VRKDIwLCBnZXRFbGVtZW50SGVpZ2h0KHdlYlZpZXcuZ2V0KCks
IEAic3ZoIikpOwotICAgIEVYUEVDVF9FUSgxMCwgZ2V0RWxlbWVudEhlaWdodCh3ZWJWaWV3Lmdl
dCgpLCBAInN2bWluIikpOwotICAgIEVYUEVDVF9FUSgyMCwgZ2V0RWxlbWVudEhlaWdodCh3ZWJW
aWV3LmdldCgpLCBAInN2bWF4IikpOworICAgIEVYUEVDVF9GTE9BVF9FUSgxMC41LCBnZXRFbGVt
ZW50SGVpZ2h0KHdlYlZpZXcuZ2V0KCksIEAic3Z3IikpOworICAgIEVYUEVDVF9GTE9BVF9FUSgy
MC41LCBnZXRFbGVtZW50SGVpZ2h0KHdlYlZpZXcuZ2V0KCksIEAic3ZoIikpOworICAgIEVYUEVD
VF9GTE9BVF9FUSgxMC41LCBnZXRFbGVtZW50SGVpZ2h0KHdlYlZpZXcuZ2V0KCksIEAic3ZtaW4i
KSk7CisgICAgRVhQRUNUX0ZMT0FUX0VRKDIwLjUsIGdldEVsZW1lbnRIZWlnaHQod2ViVmlldy5n
ZXQoKSwgQCJzdm1heCIpKTsKIAotICAgIEVYUEVDVF9FUSgxMCwgZ2V0RWxlbWVudEhlaWdodCh3
ZWJWaWV3LmdldCgpLCBAImx2dyIpKTsKLSAgICBFWFBFQ1RfRVEoMjAsIGdldEVsZW1lbnRIZWln
aHQod2ViVmlldy5nZXQoKSwgQCJsdmgiKSk7Ci0gICAgRVhQRUNUX0VRKDEwLCBnZXRFbGVtZW50
SGVpZ2h0KHdlYlZpZXcuZ2V0KCksIEAibHZtaW4iKSk7Ci0gICAgRVhQRUNUX0VRKDIwLCBnZXRF
bGVtZW50SGVpZ2h0KHdlYlZpZXcuZ2V0KCksIEAibHZtYXgiKSk7CisgICAgRVhQRUNUX0ZMT0FU
X0VRKDEwLjUsIGdldEVsZW1lbnRIZWlnaHQod2ViVmlldy5nZXQoKSwgQCJsdnciKSk7CisgICAg
RVhQRUNUX0ZMT0FUX0VRKDIwLjUsIGdldEVsZW1lbnRIZWlnaHQod2ViVmlldy5nZXQoKSwgQCJs
dmgiKSk7CisgICAgRVhQRUNUX0ZMT0FUX0VRKDEwLjUsIGdldEVsZW1lbnRIZWlnaHQod2ViVmll
dy5nZXQoKSwgQCJsdm1pbiIpKTsKKyAgICBFWFBFQ1RfRkxPQVRfRVEoMjAuNSwgZ2V0RWxlbWVu
dEhlaWdodCh3ZWJWaWV3LmdldCgpLCBAImx2bWF4IikpOwogCi0gICAgRVhQRUNUX0VRKGV2YWx1
YXRlRm9ySW50KHdlYlZpZXcuZ2V0KCksIEAid2luZG93LmlubmVyV2lkdGgiKSwgZ2V0RWxlbWVu
dEhlaWdodCh3ZWJWaWV3LmdldCgpLCBAImR2dyIpKTsKLSAgICBFWFBFQ1RfRVEoZXZhbHVhdGVG
b3JJbnQod2ViVmlldy5nZXQoKSwgQCJ3aW5kb3cuaW5uZXJIZWlnaHQiKSwgZ2V0RWxlbWVudEhl
aWdodCh3ZWJWaWV3LmdldCgpLCBAImR2aCIpKTsKLSAgICBFWFBFQ1RfRVEoZXZhbHVhdGVGb3JJ
bnQod2ViVmlldy5nZXQoKSwgQCJ3aW5kb3cuaW5uZXJXaWR0aCIpLCBnZXRFbGVtZW50SGVpZ2h0
KHdlYlZpZXcuZ2V0KCksIEAiZHZtaW4iKSk7Ci0gICAgRVhQRUNUX0VRKGV2YWx1YXRlRm9ySW50
KHdlYlZpZXcuZ2V0KCksIEAid2luZG93LmlubmVySGVpZ2h0IiksIGdldEVsZW1lbnRIZWlnaHQo
d2ViVmlldy5nZXQoKSwgQCJkdm1heCIpKTsKKyAgICBFWFBFQ1RfRkxPQVRfRVEoZXZhbHVhdGVG
b3JOdW1iZXIod2ViVmlldy5nZXQoKSwgQCJ3aW5kb3cuaW5uZXJXaWR0aCIpLCBnZXRFbGVtZW50
SGVpZ2h0KHdlYlZpZXcuZ2V0KCksIEAiZHZ3IikpOworICAgIEVYUEVDVF9GTE9BVF9FUShldmFs
dWF0ZUZvck51bWJlcih3ZWJWaWV3LmdldCgpLCBAIndpbmRvdy5pbm5lckhlaWdodCIpLCBnZXRF
bGVtZW50SGVpZ2h0KHdlYlZpZXcuZ2V0KCksIEAiZHZoIikpOworICAgIEVYUEVDVF9GTE9BVF9F
UShldmFsdWF0ZUZvck51bWJlcih3ZWJWaWV3LmdldCgpLCBAIndpbmRvdy5pbm5lcldpZHRoIiks
IGdldEVsZW1lbnRIZWlnaHQod2ViVmlldy5nZXQoKSwgQCJkdm1pbiIpKTsKKyAgICBFWFBFQ1Rf
RkxPQVRfRVEoZXZhbHVhdGVGb3JOdW1iZXIod2ViVmlldy5nZXQoKSwgQCJ3aW5kb3cuaW5uZXJI
ZWlnaHQiKSwgZ2V0RWxlbWVudEhlaWdodCh3ZWJWaWV3LmdldCgpLCBAImR2bWF4IikpOwogfQog
CiBURVNUKENTU1ZpZXdwb3J0VW5pdHMsIERpZmZlcmVudFVub2JzY3VyZWRTaXplT3ZlcnJpZGVz
KQogewogICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBp
bml0V2l0aEZyYW1lOkNHUmVjdE1ha2UoMCwgMCwgMzIwLCA1MDApXSk7Ci0gICAgW3dlYlZpZXcg
X292ZXJyaWRlTGF5b3V0UGFyYW1ldGVyc1dpdGhNaW5pbXVtTGF5b3V0U2l6ZTpDR1NpemVNYWtl
KDEwLCAyMCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heGltdW1Vbm9ic2N1cmVk
U2l6ZU92ZXJyaWRlOkNHU2l6ZU1ha2UoMzAsIDQwKV07CisgICAgW3dlYlZpZXcgX292ZXJyaWRl
TGF5b3V0UGFyYW1ldGVyc1dpdGhNaW5pbXVtTGF5b3V0U2l6ZTpDR1NpemVNYWtlKDEwLjUsIDIw
LjUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhpbXVtVW5vYnNjdXJlZFNpemVP
dmVycmlkZTpDR1NpemVNYWtlKDMwLjUsIDQwLjUpXTsKICAgICBbd2ViVmlldyBzeW5jaHJvbm91
c2x5TG9hZFRlc3RQYWdlTmFtZWQ6QCJDU1NWaWV3cG9ydFVuaXRzIl07CiAKLSAgICBFWFBFQ1Rf
RVEoMzAsIGdldEVsZW1lbnRIZWlnaHQod2ViVmlldy5nZXQoKSwgQCJ2dyIpKTsKLSAgICBFWFBF
Q1RfRVEoNDAsIGdldEVsZW1lbnRIZWlnaHQod2ViVmlldy5nZXQoKSwgQCJ2aCIpKTsKLSAgICBF
WFBFQ1RfRVEoMzAsIGdldEVsZW1lbnRIZWlnaHQod2ViVmlldy5nZXQoKSwgQCJ2bWluIikpOwot
ICAgIEVYUEVDVF9FUSg0MCwgZ2V0RWxlbWVudEhlaWdodCh3ZWJWaWV3LmdldCgpLCBAInZtYXgi
KSk7CisgICAgRVhQRUNUX0ZMT0FUX0VRKDMwLjUsIGdldEVsZW1lbnRIZWlnaHQod2ViVmlldy5n
ZXQoKSwgQCJ2dyIpKTsKKyAgICBFWFBFQ1RfRkxPQVRfRVEoNDAuNSwgZ2V0RWxlbWVudEhlaWdo
dCh3ZWJWaWV3LmdldCgpLCBAInZoIikpOworICAgIEVYUEVDVF9GTE9BVF9FUSgzMC41LCBnZXRF
bGVtZW50SGVpZ2h0KHdlYlZpZXcuZ2V0KCksIEAidm1pbiIpKTsKKyAgICBFWFBFQ1RfRkxPQVRf
RVEoNDAuNSwgZ2V0RWxlbWVudEhlaWdodCh3ZWJWaWV3LmdldCgpLCBAInZtYXgiKSk7CiAKLSAg
ICBFWFBFQ1RfRVEoMTAsIGdldEVsZW1lbnRIZWlnaHQod2ViVmlldy5nZXQoKSwgQCJzdnciKSk7
Ci0gICAgRVhQRUNUX0VRKDIwLCBnZXRFbGVtZW50SGVpZ2h0KHdlYlZpZXcuZ2V0KCksIEAic3Zo
IikpOwotICAgIEVYUEVDVF9FUSgxMCwgZ2V0RWxlbWVudEhlaWdodCh3ZWJWaWV3LmdldCgpLCBA
InN2bWluIikpOwotICAgIEVYUEVDVF9FUSgyMCwgZ2V0RWxlbWVudEhlaWdodCh3ZWJWaWV3Lmdl
dCgpLCBAInN2bWF4IikpOworICAgIEVYUEVDVF9GTE9BVF9FUSgxMC41LCBnZXRFbGVtZW50SGVp
Z2h0KHdlYlZpZXcuZ2V0KCksIEAic3Z3IikpOworICAgIEVYUEVDVF9GTE9BVF9FUSgyMC41LCBn
ZXRFbGVtZW50SGVpZ2h0KHdlYlZpZXcuZ2V0KCksIEAic3ZoIikpOworICAgIEVYUEVDVF9GTE9B
VF9FUSgxMC41LCBnZXRFbGVtZW50SGVpZ2h0KHdlYlZpZXcuZ2V0KCksIEAic3ZtaW4iKSk7Cisg
ICAgRVhQRUNUX0ZMT0FUX0VRKDIwLjUsIGdldEVsZW1lbnRIZWlnaHQod2ViVmlldy5nZXQoKSwg
QCJzdm1heCIpKTsKIAotICAgIEVYUEVDVF9FUSgzMCwgZ2V0RWxlbWVudEhlaWdodCh3ZWJWaWV3
LmdldCgpLCBAImx2dyIpKTsKLSAgICBFWFBFQ1RfRVEoNDAsIGdldEVsZW1lbnRIZWlnaHQod2Vi
Vmlldy5nZXQoKSwgQCJsdmgiKSk7Ci0gICAgRVhQRUNUX0VRKDMwLCBnZXRFbGVtZW50SGVpZ2h0
KHdlYlZpZXcuZ2V0KCksIEAibHZtaW4iKSk7Ci0gICAgRVhQRUNUX0VRKDQwLCBnZXRFbGVtZW50
SGVpZ2h0KHdlYlZpZXcuZ2V0KCksIEAibHZtYXgiKSk7CisgICAgRVhQRUNUX0ZMT0FUX0VRKDMw
LjUsIGdldEVsZW1lbnRIZWlnaHQod2ViVmlldy5nZXQoKSwgQCJsdnciKSk7CisgICAgRVhQRUNU
X0ZMT0FUX0VRKDQwLjUsIGdldEVsZW1lbnRIZWlnaHQod2ViVmlldy5nZXQoKSwgQCJsdmgiKSk7
CisgICAgRVhQRUNUX0ZMT0FUX0VRKDMwLjUsIGdldEVsZW1lbnRIZWlnaHQod2ViVmlldy5nZXQo
KSwgQCJsdm1pbiIpKTsKKyAgICBFWFBFQ1RfRkxPQVRfRVEoNDAuNSwgZ2V0RWxlbWVudEhlaWdo
dCh3ZWJWaWV3LmdldCgpLCBAImx2bWF4IikpOwogCi0gICAgRVhQRUNUX0VRKGV2YWx1YXRlRm9y
SW50KHdlYlZpZXcuZ2V0KCksIEAid2luZG93LmlubmVyV2lkdGgiKSwgZ2V0RWxlbWVudEhlaWdo
dCh3ZWJWaWV3LmdldCgpLCBAImR2dyIpKTsKLSAgICBFWFBFQ1RfRVEoZXZhbHVhdGVGb3JJbnQo
d2ViVmlldy5nZXQoKSwgQCJ3aW5kb3cuaW5uZXJIZWlnaHQiKSwgZ2V0RWxlbWVudEhlaWdodCh3
ZWJWaWV3LmdldCgpLCBAImR2aCIpKTsKLSAgICBFWFBFQ1RfRVEoZXZhbHVhdGVGb3JJbnQod2Vi
Vmlldy5nZXQoKSwgQCJ3aW5kb3cuaW5uZXJXaWR0aCIpLCBnZXRFbGVtZW50SGVpZ2h0KHdlYlZp
ZXcuZ2V0KCksIEAiZHZtaW4iKSk7Ci0gICAgRVhQRUNUX0VRKGV2YWx1YXRlRm9ySW50KHdlYlZp
ZXcuZ2V0KCksIEAid2luZG93LmlubmVySGVpZ2h0IiksIGdldEVsZW1lbnRIZWlnaHQod2ViVmll
dy5nZXQoKSwgQCJkdm1heCIpKTsKKyAgICBFWFBFQ1RfRkxPQVRfRVEoZXZhbHVhdGVGb3JOdW1i
ZXIod2ViVmlldy5nZXQoKSwgQCJ3aW5kb3cuaW5uZXJXaWR0aCIpLCBnZXRFbGVtZW50SGVpZ2h0
KHdlYlZpZXcuZ2V0KCksIEAiZHZ3IikpOworICAgIEVYUEVDVF9GTE9BVF9FUShldmFsdWF0ZUZv
ck51bWJlcih3ZWJWaWV3LmdldCgpLCBAIndpbmRvdy5pbm5lckhlaWdodCIpLCBnZXRFbGVtZW50
SGVpZ2h0KHdlYlZpZXcuZ2V0KCksIEAiZHZoIikpOworICAgIEVYUEVDVF9GTE9BVF9FUShldmFs
dWF0ZUZvck51bWJlcih3ZWJWaWV3LmdldCgpLCBAIndpbmRvdy5pbm5lcldpZHRoIiksIGdldEVs
ZW1lbnRIZWlnaHQod2ViVmlldy5nZXQoKSwgQCJkdm1pbiIpKTsKKyAgICBFWFBFQ1RfRkxPQVRf
RVEoZXZhbHVhdGVGb3JOdW1iZXIod2ViVmlldy5nZXQoKSwgQCJ3aW5kb3cuaW5uZXJIZWlnaHQi
KSwgZ2V0RWxlbWVudEhlaWdodCh3ZWJWaWV3LmdldCgpLCBAImR2bWF4IikpOwogfQogCiAjZW5k
aWYgLy8gUExBVEZPUk0oSU9TX0ZBTUlMWSkK
</data>

          </attachment>
      

    </bug>

</bugzilla>