<?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>229016</bug_id>
          
          <creation_ts>2021-08-11 16:40:59 -0700</creation_ts>
          <short_desc>Allow testing of the final UIView tree on iOS platforms</short_desc>
          <delta_ts>2021-08-12 13:17:23 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1783684</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-08-11 16:40:59 -0700</bug_when>
    <thetext>Allow testing of the final UIView tree on iOS platforms</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1783695</commentid>
    <comment_count>1</comment_count>
      <attachid>435386</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-08-11 17:04:56 -0700</bug_when>
    <thetext>Created attachment 435386
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1783697</commentid>
    <comment_count>2</comment_count>
      <attachid>435386</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-08-11 17:09:58 -0700</bug_when>
    <thetext>Comment on attachment 435386
Patch

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

&gt; Source/WebKit/ChangeLog:15
&gt; +        Add partner SPI called _uiViewTreeAsText that dumps the WKWebView&apos;s

&quot;partner&quot;?

&gt; Source/WebKit/ChangeLog:17
&gt; +        dumps so basic properties of each view and uses an allow list of

&quot;so&quot;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1783873</commentid>
    <comment_count>3</comment_count>
      <attachid>435433</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-08-12 10:21:41 -0700</bug_when>
    <thetext>Created attachment 435433
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1783930</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-08-12 13:17:00 -0700</bug_when>
    <thetext>Committed r280980 (240481@main): &lt;https://commits.webkit.org/240481@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 435433.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1783931</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-08-12 13:17:23 -0700</bug_when>
    <thetext>&lt;rdar://problem/81864595&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>435386</attachid>
            <date>2021-08-11 17:04:56 -0700</date>
            <delta_ts>2021-08-12 10:21:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229016-20210811170456.patch</filename>
            <type>text/plain</type>
            <size>15714</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyODA5MzYpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBACisyMDIxLTA4LTExICBTYW0gV2Vpbmln
ICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAgICAgICBBbGxvdyB0ZXN0aW5nIG9mIHRoZSBmaW5h
bCBVSVZpZXcgdHJlZSBvbiBpT1MgcGxhdGZvcm1zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjkwMTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiByZW1vdGUtbGF5ZXItdHJlZS9pb3MvdWl2aWV3
LXRyZWUtYmFzaWMuaHRtbAorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9pb3MvV0tXZWJWaWV3
UHJpdmF0ZUZvclRlc3RpbmdJT1MuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2lvcy9XS1dl
YlZpZXdUZXN0aW5nSU9TLm1tOgorICAgICAgICAoYWxsb3dMaXN0ZWRDbGFzc1RvU3RyaW5nKToK
KyAgICAgICAgKGR1bXBVSVZpZXcpOgorICAgICAgICAoLVtXS1dlYlZpZXcgX3VpVmlld1RyZWVB
c1RleHRdKToKKyAgICAgICAgQWRkIHBhcnRuZXIgU1BJIGNhbGxlZCBfdWlWaWV3VHJlZUFzVGV4
dCB0aGF0IGR1bXBzIHRoZSBXS1dlYlZpZXcncworICAgICAgICBVSVZpZXcgdHJlZSBhcyBjb25z
dHJ1Y3RlZCB2aWEgcmVtb3RlIGxheWVyIGNyZWF0aW9uLiBJdCBjdXJyZW50bHkKKyAgICAgICAg
ZHVtcHMgc28gYmFzaWMgcHJvcGVydGllcyBvZiBlYWNoIHZpZXcgYW5kIHVzZXMgYW4gYWxsb3cg
bGlzdCBvZgorICAgICAgICBjbGFzcyBuYW1lcyBzbyBjaGFuZ2VzIHRvIGltcGxlbWVudGF0aW9u
IGRldGFpbHMgaW4gZnJhbWV3b3JrcyBiZWxvdworICAgICAgICB1cywgbGlrZSBVSUtpdCwgZG9u
J3QgY2F1c2UgdGVzdHMgdG8gZmFpbC4KKwogMjAyMS0wOC0xMSAgUGVuZyBMaXUgIDxwZW5nLmxp
dTZAYXBwbGUuY29tPgogCiAgICAgICAgIFtCaWdTdXJdIFRlc3RXZWJLaXRBUEkuQXVkaW9Sb3V0
aW5nQXJiaXRyYXRpb24uVXBkYXRpbmcgZmFpbHMgYWZ0ZXIgcjI4MDcyNgpJbmRleDogU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL2lvcy9XS1dlYlZpZXdQcml2YXRlRm9yVGVzdGluZ0lPUy5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9pb3MvV0tXZWJWaWV3
UHJpdmF0ZUZvclRlc3RpbmdJT1MuaAkocmV2aXNpb24gMjgwNzU3KQorKysgU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL2lvcy9XS1dlYlZpZXdQcml2YXRlRm9yVGVzdGluZ0lPUy5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC00Myw2ICs0Myw3IEBACiBAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9u
bHkpIE5TQXJyYXk8TlNWYWx1ZSAqPiAqX3VpVGV4dFNlbGVjdGlvblJlY3RzOwogQHByb3BlcnR5
IChub25hdG9taWMsIHJlYWRvbmx5KSBDR1JlY3QgX2lucHV0Vmlld0JvdW5kc0luV2luZG93Owog
QHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBOU1N0cmluZyAqX3Njcm9sbGluZ1RyZWVB
c1RleHQ7CitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIE5TU3RyaW5nICpfdWlWaWV3
VHJlZUFzVGV4dDsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgTlNOdW1iZXIgKl9z
dGFibGVTdGF0ZU92ZXJyaWRlOwogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBDR1Jl
Y3QgX2RyYWdDYXJldFJlY3Q7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHksIGdldHRl
cj1faXNBbmltYXRpbmdEcmFnQ2FuY2VsKSBCT09MIF9hbmltYXRpbmdEcmFnQ2FuY2VsOwpJbmRl
eDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2lvcy9XS1dlYlZpZXdUZXN0aW5nSU9TLm1t
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9pb3MvV0tXZWJWaWV3
VGVzdGluZ0lPUy5tbQkocmV2aXNpb24gMjgwNzU3KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL2lvcy9XS1dlYlZpZXdUZXN0aW5nSU9TLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zOSw2
ICszOSw4IEBACiAjaW1wb3J0ICJfV0tBY3RpdmF0ZWRFbGVtZW50SW5mb0ludGVybmFsLmgiCiAj
aW1wb3J0ICJfV0tUZXh0SW5wdXRDb250ZXh0SW50ZXJuYWwuaCIKICNpbXBvcnQgPFdlYkNvcmUv
RWxlbWVudENvbnRleHQuaD4KKyNpbXBvcnQgPHd0Zi9Tb3J0ZWRBcnJheU1hcC5oPgorI2ltcG9y
dCA8d3RmL3RleHQvVGV4dFN0cmVhbS5oPgogCiBAaW1wbGVtZW50YXRpb24gV0tXZWJWaWV3IChX
S1Rlc3RpbmdJT1MpCiAKQEAgLTIyNSw2ICsyMjcsODQgQEAgLSAoTlNTdHJpbmcgKilfc2Nyb2xs
aW5nVHJlZUFzVGV4dAogICAgIHJldHVybiBjb29yZGluYXRvci0+c2Nyb2xsaW5nVHJlZUFzVGV4
dCgpOwogfQogCitzdGF0aWMgU3RyaW5nIGFsbG93TGlzdGVkQ2xhc3NUb1N0cmluZyhVSVZpZXcg
KnZpZXcpCit7CisgICAgc3RhdGljIGNvbnN0ZXhwciBDb21wYXJhYmxlQVNDSUlMaXRlcmFsIGFs
bG93ZWRDbGFzc2VzQXJyYXlbXSA9IHsKKyAgICAgICAgIlVJVmlldyIsCisgICAgICAgICJXS0Jh
Y2tkcm9wVmlldyIsCisgICAgICAgICJXS0NvbXBvc2l0aW5nVmlldyIsCisgICAgICAgICJXS0Nv
bnRlbnRWaWV3IiwKKyAgICAgICAgIldLTW9kZWxWaWV3IiwKKyAgICAgICAgIldLUmVtb3RlVmll
dyIsCisgICAgICAgICJXS1Njcm9sbFZpZXciLAorICAgICAgICAiV0tTZXBhcmF0ZWRNb2RlbFZp
ZXciCisgICAgICAgICJXS1NoYXBlVmlldyIsCisgICAgICAgICJXS1NpbXBsZUJhY2tkcm9wVmll
dyIsCisgICAgICAgICJXS1RyYW5zZm9ybVZpZXciLAorICAgICAgICAiV0tVSVJlbW90ZVZpZXci
LAorICAgICAgICAiV0tXZWJWaWV3IiwKKyAgICAgICAgIl9VSUxheWVySG9zdFZpZXciLAorICAg
IH07CisgICAgc3RhdGljIGNvbnN0ZXhwciBTb3J0ZWRBcnJheVNldCBhbGxvd2VkQ2xhc3NlcyB7
IGFsbG93ZWRDbGFzc2VzQXJyYXkgfTsKKworICAgIFN0cmluZyBjbGFzc1N0cmluZyB7IE5TU3Ry
aW5nRnJvbUNsYXNzKHZpZXcuY2xhc3MpIH07CisgICAgaWYgKGFsbG93ZWRDbGFzc2VzLmNvbnRh
aW5zKGNsYXNzU3RyaW5nKSkKKyAgICAgICAgcmV0dXJuIGNsYXNzU3RyaW5nOworICAgIAorICAg
IEFTU0VSVChjbGFzc1N0cmluZyAhPSAiV0tDb21wb3NpdGluZ1ZpZXciKTsKKyAgICByZXR1cm4g
bWFrZVN0cmluZygiPGNsYXNzIG5vdCBpbiBhbGxvd2VkIGxpc3Qgb2YgY2xhc3Nlcz4iKTsKK30K
Kworc3RhdGljIHZvaWQgZHVtcFVJVmlldyhUZXh0U3RyZWFtJiB0cywgVUlWaWV3ICp2aWV3KQor
eworICAgIGF1dG8gcmVjdFRvU3RyaW5nID0gW10gKGF1dG8gcmVjdCkgeworICAgICAgICByZXR1
cm4gbWFrZVN0cmluZygiW3g6ICIsIHJlY3Qub3JpZ2luLngsICIgeTogIiwgcmVjdC5vcmlnaW4u
eCwgIiB3aWR0aDogIiwgcmVjdC5zaXplLndpZHRoLCAiIGhlaWdodDogIiwgcmVjdC5zaXplLmhl
aWdodCwgIl0iKTsKKyAgICB9OworCisgICAgYXV0byBwb2ludFRvU3RyaW5nID0gW10gKGF1dG8g
cG9pbnQpIHsKKyAgICAgICAgcmV0dXJuIG1ha2VTdHJpbmcoIlt4OiAiLCBwb2ludC54LCAiIHk6
ICIsIHBvaW50LngsICJdIik7CisgICAgfTsKKworCisgICAgdHMgPDwgInZpZXcgW2NsYXNzOiAi
IDw8IGFsbG93TGlzdGVkQ2xhc3NUb1N0cmluZyh2aWV3KSA8PCAiXSI7CisKKyAgICB0cy5kdW1w
UHJvcGVydHkoImxheWVyIGJvdW5kcyIsIHJlY3RUb1N0cmluZyh2aWV3LmxheWVyLmJvdW5kcykp
OworICAgIAorICAgIGlmICh2aWV3LmxheWVyLnBvc2l0aW9uLnggIT0gMCB8fCB2aWV3LmxheWVy
LnBvc2l0aW9uLnkgIT0gMCkKKyAgICAgICAgdHMuZHVtcFByb3BlcnR5KCJsYXllciBwb3NpdGlv
biIsIHBvaW50VG9TdHJpbmcodmlldy5sYXllci5wb3NpdGlvbikpOworICAgIAorICAgIGlmICh2
aWV3LmxheWVyLnpQb3NpdGlvbiAhPSAwKQorICAgICAgICB0cy5kdW1wUHJvcGVydHkoImxheWVy
IHpQb3NpdGlvbiIsIG1ha2VTdHJpbmcodmlldy5sYXllci56UG9zaXRpb24pKTsKKyAgICAKKyAg
ICBpZiAodmlldy5sYXllci5hbmNob3JQb2ludC54ICE9IDAuNSB8fCB2aWV3LmxheWVyLmFuY2hv
clBvaW50LnkgIT0gMC41KQorICAgICAgICB0cy5kdW1wUHJvcGVydHkoImxheWVyIGFuY2hvclBv
aW50IiwgcG9pbnRUb1N0cmluZyh2aWV3LmxheWVyLmFuY2hvclBvaW50KSk7CisgICAgCisgICAg
aWYgKHZpZXcubGF5ZXIuYW5jaG9yUG9pbnRaICE9IDApCisgICAgICAgIHRzLmR1bXBQcm9wZXJ0
eSgibGF5ZXIgYW5jaG9yUG9pbnRaIiwgbWFrZVN0cmluZyh2aWV3LmxheWVyLmFuY2hvclBvaW50
WikpOworCisgICAgaWYgKHZpZXcuc3Vidmlld3MuY291bnQgPiAwKSB7CisgICAgICAgIFRleHRT
dHJlYW06Okdyb3VwU2NvcGUgc2NvcGUodHMpOworICAgICAgICB0cyA8PCAic3Vidmlld3MiOwor
ICAgICAgICBmb3IgKFVJVmlldyAqc3VidmlldyBpbiB2aWV3LnN1YnZpZXdzKSB7CisgICAgICAg
ICAgICBUZXh0U3RyZWFtOjpHcm91cFNjb3BlIHNjb3BlKHRzKTsKKyAgICAgICAgICAgIGR1bXBV
SVZpZXcodHMsIHN1YnZpZXcpOworICAgICAgICB9CisgICAgfQorfQorCistIChOU1N0cmluZyAq
KV91aVZpZXdUcmVlQXNUZXh0Cit7CisgICAgVGV4dFN0cmVhbSB0cyhUZXh0U3RyZWFtOjpMaW5l
TW9kZTo6TXVsdGlwbGVMaW5lKTsKKworICAgIHsKKyAgICAgICAgVGV4dFN0cmVhbTo6R3JvdXBT
Y29wZSBzY29wZSh0cyk7CisgICAgICAgIHRzIDw8ICJVSVZpZXcgdHJlZSByb290ICI7CisgICAg
ICAgIGR1bXBVSVZpZXcodHMsIHNlbGYpOworICAgIH0KKworICAgIHJldHVybiB0cy5yZWxlYXNl
KCk7Cit9CisKIC0gKE5TTnVtYmVyICopX3N0YWJsZVN0YXRlT3ZlcnJpZGUKIHsKICAgICAvLyBG
b3Igc3ViY2xhc3NlcyB0byBvdmVycmlkZS4KSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI4MDkzNikKKysrIFRvb2xzL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDIxLTA4LTExICBTYW0gV2Vp
bmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAgICAgICBBbGxvdyB0ZXN0aW5nIG9mIHRoZSBm
aW5hbCBVSVZpZXcgdHJlZSBvbiBpT1MgcGxhdGZvcm1zCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjkwMTYKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RSdW5uZXJTaGFyZWQvVUlTY3JpcHRDb250
ZXh0L0JpbmRpbmdzL1VJU2NyaXB0Q29udHJvbGxlci5pZGw6CisgICAgICAgICogVGVzdFJ1bm5l
clNoYXJlZC9VSVNjcmlwdENvbnRleHQvVUlTY3JpcHRDb250cm9sbGVyLmg6CisgICAgICAgIChX
VFI6OlVJU2NyaXB0Q29udHJvbGxlcjo6dWlWaWV3VHJlZUFzVGV4dCBjb25zdCk6CisgICAgICAg
ICogV2ViS2l0VGVzdFJ1bm5lci9pb3MvVUlTY3JpcHRDb250cm9sbGVySU9TLmg6CisgICAgICAg
ICogV2ViS2l0VGVzdFJ1bm5lci9pb3MvVUlTY3JpcHRDb250cm9sbGVySU9TLm1tOgorICAgICAg
ICAoV1RSOjpVSVNjcmlwdENvbnRyb2xsZXJJT1M6OnVpVmlld1RyZWVBc1RleHQgY29uc3QpOgor
ICAgICAgICBQaXBlIG5ldyBfdWlWaWV3VHJlZUFzVGV4dCBTUEkgdGhyb3VnaCB0byBVSVNjcmlw
dENvbnRyb2xsZXIsIG1hdGNoaW5nIHRoZSBwYXR0ZXJuCisgICAgICAgIGVzdGFibGlzaGVkIGJ5
IHNjcm9sbGluZ1RyZWVBc1RleHQuCisKIDIwMjEtMDgtMTEgIFlvdWVubiBGYWJsZXQgIDx5b3Vl
bm5AYXBwbGUuY29tPgogCiAgICAgICAgIE1lZGlhIGVsZW1lbnQgaXMgbm90IGFsd2F5cyBhdXRv
cGxheWluZyB3aGVuIGdvaW5nIGZyb20gYmFja2dyb3VuZCB0byBmb3JlZ3JvdW5kIGlmIGl0IGlz
IGluaXRpYWxseSBub3QgaW4gdmlld3BvcnQKSW5kZXg6IFRvb2xzL1Rlc3RSdW5uZXJTaGFyZWQv
VUlTY3JpcHRDb250ZXh0L1VJU2NyaXB0Q29udHJvbGxlci5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xz
L1Rlc3RSdW5uZXJTaGFyZWQvVUlTY3JpcHRDb250ZXh0L1VJU2NyaXB0Q29udHJvbGxlci5oCShy
ZXZpc2lvbiAyODA3NTcpCisrKyBUb29scy9UZXN0UnVubmVyU2hhcmVkL1VJU2NyaXB0Q29udGV4
dC9VSVNjcmlwdENvbnRyb2xsZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMTQ2LDYgKzE0Niw3IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIGRvdWJsZSBjb250ZW50T2Zmc2V0WSgpIGNvbnN0IHsgbm90
SW1wbGVtZW50ZWQoKTsgcmV0dXJuIDA7IH0KIAogICAgIHZpcnR1YWwgSlNSZXRhaW5QdHI8SlNT
dHJpbmdSZWY+IHNjcm9sbGluZ1RyZWVBc1RleHQoKSBjb25zdCB7IG5vdEltcGxlbWVudGVkKCk7
IHJldHVybiBudWxscHRyOyB9CisgICAgdmlydHVhbCBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4g
dWlWaWV3VHJlZUFzVGV4dCgpIGNvbnN0IHsgbm90SW1wbGVtZW50ZWQoKTsgcmV0dXJuIG51bGxw
dHI7IH0KIAogICAgIC8vIFRvdWNoZXMKIApJbmRleDogVG9vbHMvVGVzdFJ1bm5lclNoYXJlZC9V
SVNjcmlwdENvbnRleHQvQmluZGluZ3MvVUlTY3JpcHRDb250cm9sbGVyLmlkbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBUb29scy9UZXN0UnVubmVyU2hhcmVkL1VJU2NyaXB0Q29udGV4dC9CaW5kaW5ncy9VSVNj
cmlwdENvbnRyb2xsZXIuaWRsCShyZXZpc2lvbiAyODA3NTcpCisrKyBUb29scy9UZXN0UnVubmVy
U2hhcmVkL1VJU2NyaXB0Q29udGV4dC9CaW5kaW5ncy9VSVNjcmlwdENvbnRyb2xsZXIuaWRsCSh3
b3JraW5nIGNvcHkpCkBAIC0zMzEsNiArMzMxLDcgQEAgaW50ZXJmYWNlIFVJU2NyaXB0Q29udHJv
bGxlciB7CiAgICAgdW5kZWZpbmVkIHJlcGxhY2VUZXh0QXRSYW5nZShET01TdHJpbmcgdGV4dCwg
bG9uZyBsb2NhdGlvbiwgbG9uZyBsZW5ndGgpOwogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERP
TVN0cmluZyBzY3JvbGxpbmdUcmVlQXNUZXh0OworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01T
dHJpbmcgdWlWaWV3VHJlZUFzVGV4dDsKIAogICAgIGJvb2xlYW4gbWF5Q29udGFpbkVkaXRhYmxl
RWxlbWVudHNJblJlY3QodW5zaWduZWQgbG9uZyB4LCB1bnNpZ25lZCBsb25nIHksIHVuc2lnbmVk
IGxvbmcgd2lkdGgsIHVuc2lnbmVkIGxvbmcgaGVpZ2h0KTsKIApJbmRleDogVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9pb3MvVUlTY3JpcHRDb250cm9sbGVySU9TLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvVUlTY3JpcHRDb250cm9sbGVySU9TLmgJKHJldmlzaW9u
IDI4MDc1NykKKysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL1VJU2NyaXB0Q29udHJvbGxl
cklPUy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMTcsNiArMTE3LDcgQEAgcHJpdmF0ZToKICAgICBK
U09iamVjdFJlZiBzZWxlY3Rpb25SYW5nZVZpZXdSZWN0cygpIGNvbnN0IG92ZXJyaWRlOwogICAg
IEpTT2JqZWN0UmVmIGlucHV0Vmlld0JvdW5kcygpIGNvbnN0IG92ZXJyaWRlOwogICAgIEpTUmV0
YWluUHRyPEpTU3RyaW5nUmVmPiBzY3JvbGxpbmdUcmVlQXNUZXh0KCkgY29uc3Qgb3ZlcnJpZGU7
CisgICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IHVpVmlld1RyZWVBc1RleHQoKSBjb25zdCBv
dmVycmlkZTsKICAgICBKU09iamVjdFJlZiBwcm9wZXJ0aWVzT2ZMYXllcldpdGhJRCh1aW50NjRf
dCBsYXllcklEKSBjb25zdCBvdmVycmlkZTsKICAgICB2b2lkIHNpbXVsYXRlUm90YXRpb24oRGV2
aWNlT3JpZW50YXRpb24qLCBKU1ZhbHVlUmVmKSBvdmVycmlkZTsKICAgICB2b2lkIHNpbXVsYXRl
Um90YXRpb25MaWtlU2FmYXJpKERldmljZU9yaWVudGF0aW9uKiwgSlNWYWx1ZVJlZikgb3ZlcnJp
ZGU7CkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9VSVNjcmlwdENvbnRyb2xsZXJJ
T1MubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvVUlTY3JpcHRD
b250cm9sbGVySU9TLm1tCShyZXZpc2lvbiAyODA3NTcpCisrKyBUb29scy9XZWJLaXRUZXN0UnVu
bmVyL2lvcy9VSVNjcmlwdENvbnRyb2xsZXJJT1MubW0JKHdvcmtpbmcgY29weSkKQEAgLTg1Nyw2
ICs4NTcsMTEgQEAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IFVJU2NyaXB0Q29udHJvbAogICAg
IHJldHVybiBhZG9wdChKU1N0cmluZ0NyZWF0ZVdpdGhDRlN0cmluZygoQ0ZTdHJpbmdSZWYpW3dl
YlZpZXcoKSBfc2Nyb2xsaW5nVHJlZUFzVGV4dF0pKTsKIH0KIAorSlNSZXRhaW5QdHI8SlNTdHJp
bmdSZWY+IFVJU2NyaXB0Q29udHJvbGxlcklPUzo6dWlWaWV3VHJlZUFzVGV4dCgpIGNvbnN0Cit7
CisgICAgcmV0dXJuIGFkb3B0KEpTU3RyaW5nQ3JlYXRlV2l0aENGU3RyaW5nKChDRlN0cmluZ1Jl
Zilbd2ViVmlldygpIF91aVZpZXdUcmVlQXNUZXh0XSkpOworfQorCiBKU09iamVjdFJlZiBVSVNj
cmlwdENvbnRyb2xsZXJJT1M6OnByb3BlcnRpZXNPZkxheWVyV2l0aElEKHVpbnQ2NF90IGxheWVy
SUQpIGNvbnN0CiB7CiAgICAgcmV0dXJuIEpTVmFsdWVUb09iamVjdChtX2NvbnRleHQtPmpzQ29u
dGV4dCgpLCBbSlNWYWx1ZSB2YWx1ZVdpdGhPYmplY3Q6W3dlYlZpZXcoKSBfcHJvcGVydGllc09m
TGF5ZXJXaXRoSUQ6bGF5ZXJJRF0gaW5Db250ZXh0OltKU0NvbnRleHQgY29udGV4dFdpdGhKU0ds
b2JhbENvbnRleHRSZWY6bV9jb250ZXh0LT5qc0NvbnRleHQoKV1dLkpTVmFsdWVSZWYsIG51bGxw
dHIpOwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMjgwOTM4KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjEgQEAKKzIwMjEtMDgtMTEgIFNhbSBXZWluaWcg
IDx3ZWluaWdAYXBwbGUuY29tPgorCisgICAgICAgIEFsbG93IHRlc3Rpbmcgb2YgdGhlIGZpbmFs
IFVJVmlldyB0cmVlIG9uIGlPUyBwbGF0Zm9ybXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTAxNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogcmVtb3RlLWxheWVyLXRyZWU6IEFkZGVkLgorICAgICAg
ICAqIHJlbW90ZS1sYXllci10cmVlL2lvczogQWRkZWQuCisgICAgICAgICogcmVtb3RlLWxheWVy
LXRyZWUvaW9zL3Vpdmlldy10cmVlLWJhc2ljLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogcmVtb3RlLWxheWVyLXRyZWUvaW9zL3Vpdmlldy10cmVlLWJhc2ljLmh0bWw6IEFkZGVkLgor
ICAgICAgICBBZGQgYmFzaWMgdGVzdCBjYXNlIGV4Y2VyY2lzaW5nIFVJVmlldyB0cmVlIGR1bXBp
bmcgdG8gZW5zdXJlCisgICAgICAgIGl0IGlzIHdvcmtpbmcgcHJvcGVybHkuCisKKyAgICAgICAg
KiByZXNvdXJjZXMvdWktaGVscGVyLmpzOgorICAgICAgICAod2luZG93LlVJSGVscGVyLmdldFVJ
Vmlld1RyZWUpOgorICAgICAgICBBZGQgaGVscGVyIHRvIHVzZSBnZXQgdGhlIFVJVmlldyB0cmVl
IGFzIHRleHQuCisKIDIwMjEtMDgtMTEgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBs
ZS5jb20+CiAKICAgICAgICAgWyBpT1MgXSBmYXN0L3Njcm9sbGluZy9pb3MvY2xpY2stZXZlbnRz
LWR1cmluZy1tb21lbnR1bS1zY3JvbGwtaW4tb3ZlcmZsb3ctYWZ0ZXItdGFwLW9uLWJvZHkuaHRt
bCBpcyBhIGZsYWt5IHRpbWVvdXQKSW5kZXg6IExheW91dFRlc3RzL3JlbW90ZS1sYXllci10cmVl
L2lvcy91aXZpZXctdHJlZS1iYXNpYy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvcmVtb3RlLWxheWVyLXRyZWUvaW9zL3Vpdmlldy10cmVlLWJhc2ljLWV4cGVjdGVkLnR4
dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9yZW1vdGUtbGF5ZXItdHJlZS9pb3MvdWl2
aWV3LXRyZWUtYmFzaWMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNjQg
QEAKKworKFVJVmlldyB0cmVlIHJvb3QgdmlldyBbY2xhc3M6IDxjbGFzcyBub3QgaW4gYWxsb3dl
ZCBsaXN0IG9mIGNsYXNzZXM+XQorICAobGF5ZXIgYm91bmRzIFt4OiAwIHk6IDAgd2lkdGg6IDgw
MCBoZWlnaHQ6IDYwMF0pCisgIChsYXllciBwb3NpdGlvbiBbeDogNDAwIHk6IDQwMF0pCisgIChz
dWJ2aWV3cworICAgICh2aWV3IFtjbGFzczogV0tTY3JvbGxWaWV3XQorICAgICAgKGxheWVyIGJv
dW5kcyBbeDogMCB5OiAwIHdpZHRoOiA4MDAgaGVpZ2h0OiA2MDBdKQorICAgICAgKGxheWVyIHBv
c2l0aW9uIFt4OiA0MDAgeTogNDAwXSkKKyAgICAgIChzdWJ2aWV3cworICAgICAgICAodmlldyBb
Y2xhc3M6IFdLQ29udGVudFZpZXddCisgICAgICAgICAgKGxheWVyIGJvdW5kcyBbeDogMCB5OiAw
IHdpZHRoOiA4MDAgaGVpZ2h0OiA2MDBdKQorICAgICAgICAgIChsYXllciBhbmNob3JQb2ludCBb
eDogMCB5OiAwXSkKKyAgICAgICAgICAoc3Vidmlld3MKKyAgICAgICAgICAgICh2aWV3IFtjbGFz
czogVUlWaWV3XQorICAgICAgICAgICAgICAobGF5ZXIgYm91bmRzIFt4OiAwIHk6IDAgd2lkdGg6
IDgwMCBoZWlnaHQ6IDYwMF0pCisgICAgICAgICAgICAgIChsYXllciBhbmNob3JQb2ludCBbeDog
MCB5OiAwXSkKKyAgICAgICAgICAgICAgKHN1YnZpZXdzCisgICAgICAgICAgICAgICAgKHZpZXcg
W2NsYXNzOiBVSVZpZXddCisgICAgICAgICAgICAgICAgICAobGF5ZXIgYm91bmRzIFt4OiAwIHk6
IDAgd2lkdGg6IDgwMCBoZWlnaHQ6IDYwMF0pCisgICAgICAgICAgICAgICAgICAobGF5ZXIgcG9z
aXRpb24gW3g6IDQwMCB5OiA0MDBdKQorICAgICAgICAgICAgICAgICAgKHN1YnZpZXdzCisgICAg
ICAgICAgICAgICAgICAgICh2aWV3IFtjbGFzczogV0tDb21wb3NpdGluZ1ZpZXddCisgICAgICAg
ICAgICAgICAgICAgICAgKGxheWVyIGJvdW5kcyBbeDogMCB5OiAwIHdpZHRoOiA4MDAgaGVpZ2h0
OiA2MDBdKQorICAgICAgICAgICAgICAgICAgICAgIChsYXllciBwb3NpdGlvbiBbeDogNDAwIHk6
IDQwMF0pCisgICAgICAgICAgICAgICAgICAgICAgKHN1YnZpZXdzCisgICAgICAgICAgICAgICAg
ICAgICAgICAodmlldyBbY2xhc3M6IFdLQ29tcG9zaXRpbmdWaWV3XQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAobGF5ZXIgYm91bmRzIFt4OiAwIHk6IDAgd2lkdGg6IDgwMCBoZWlnaHQ6IDYw
MF0pCisgICAgICAgICAgICAgICAgICAgICAgICAgIChsYXllciBhbmNob3JQb2ludCBbeDogMCB5
OiAwXSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKHN1YnZpZXdzCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgKHZpZXcgW2NsYXNzOiBXS0NvbXBvc2l0aW5nVmlld10KKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIChsYXllciBib3VuZHMgW3g6IDAgeTogMCB3aWR0aDogODAw
IGhlaWdodDogNjAwXSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChsYXllciBwb3Np
dGlvbiBbeDogNDAwIHk6IDQwMF0pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3Vi
dmlld3MKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHZpZXcgW2NsYXNzOiBXS0Nv
bXBvc2l0aW5nVmlld10KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobGF5ZXIg
Ym91bmRzIFt4OiAwIHk6IDAgd2lkdGg6IDAgaGVpZ2h0OiAwXSkpCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICh2aWV3IFtjbGFzczogV0tDb21wb3NpdGluZ1ZpZXddCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxheWVyIGJvdW5kcyBbeDogMCB5OiAwIHdpZHRo
OiAwIGhlaWdodDogMF0pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN1YnZp
ZXdzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodmlldyBbY2xhc3M6IFdL
Q29tcG9zaXRpbmdWaWV3XQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo
bGF5ZXIgYm91bmRzIFt4OiAwIHk6IDAgd2lkdGg6IDc4NCBoZWlnaHQ6IDIwXSkKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxheWVyIHBvc2l0aW9uIFt4OiA0MDAgeTog
NDAwXSkpKSkpKSkpKSkpKSkpCisgICAgICAgICAgICAodmlldyBbY2xhc3M6IF9VSUxheWVySG9z
dFZpZXddCisgICAgICAgICAgICAgIChsYXllciBib3VuZHMgW3g6IDAgeTogMCB3aWR0aDogMCBo
ZWlnaHQ6IDBdKSkKKyAgICAgICAgICAgICh2aWV3IFtjbGFzczogX1VJTGF5ZXJIb3N0Vmlld10K
KyAgICAgICAgICAgICAgKGxheWVyIGJvdW5kcyBbeDogMCB5OiAwIHdpZHRoOiAwIGhlaWdodDog
MF0pKSkpCisgICAgICAgICh2aWV3IFtjbGFzczogVUlWaWV3XQorICAgICAgICAgIChsYXllciBi
b3VuZHMgW3g6IDAgeTogMCB3aWR0aDogMCBoZWlnaHQ6IDBdKQorICAgICAgICAgIChsYXllciBh
bmNob3JQb2ludCBbeDogMCB5OiAwXSkpCisgICAgICAgICh2aWV3IFtjbGFzczogPGNsYXNzIG5v
dCBpbiBhbGxvd2VkIGxpc3Qgb2YgY2xhc3Nlcz5dCisgICAgICAgICAgKGxheWVyIGJvdW5kcyBb
eDogMCB5OiAwIHdpZHRoOiAzIGhlaWdodDogNTk0XSkKKyAgICAgICAgICAobGF5ZXIgcG9zaXRp
b24gW3g6IDc5NS41IHk6IDc5NS41XSkKKyAgICAgICAgICAobGF5ZXIgelBvc2l0aW9uIDEwMDAp
CisgICAgICAgICAgKHN1YnZpZXdzCisgICAgICAgICAgICAodmlldyBbY2xhc3M6IFVJVmlld10K
KyAgICAgICAgICAgICAgKGxheWVyIGJvdW5kcyBbeDogMCB5OiAwIHdpZHRoOiAzIGhlaWdodDog
NTk0XSkKKyAgICAgICAgICAgICAgKGxheWVyIHBvc2l0aW9uIFt4OiAxLjUgeTogMS41XSkpKSkK
KyAgICAgICAgKHZpZXcgW2NsYXNzOiA8Y2xhc3Mgbm90IGluIGFsbG93ZWQgbGlzdCBvZiBjbGFz
c2VzPl0KKyAgICAgICAgICAobGF5ZXIgYm91bmRzIFt4OiAwIHk6IDAgd2lkdGg6IDc5NCBoZWln
aHQ6IDNdKQorICAgICAgICAgIChsYXllciBwb3NpdGlvbiBbeDogNDAwIHk6IDQwMF0pCisgICAg
ICAgICAgKGxheWVyIHpQb3NpdGlvbiAxMDAwKQorICAgICAgICAgIChzdWJ2aWV3cworICAgICAg
ICAgICAgKHZpZXcgW2NsYXNzOiBVSVZpZXddCisgICAgICAgICAgICAgIChsYXllciBib3VuZHMg
W3g6IDAgeTogMCB3aWR0aDogNzk0IGhlaWdodDogM10pCisgICAgICAgICAgICAgIChsYXllciBw
b3NpdGlvbiBbeDogMzk3IHk6IDM5N10pKSkpKSkpKQpJbmRleDogTGF5b3V0VGVzdHMvcmVtb3Rl
LWxheWVyLXRyZWUvaW9zL3Vpdmlldy10cmVlLWJhc2ljLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvcmVtb3RlLWxheWVyLXRyZWUvaW9zL3Vpdmlldy10cmVlLWJhc2ljLmh0bWwJKG5v
bmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcmVtb3RlLWxheWVyLXRyZWUvaW9zL3Vpdmlldy10
cmVlLWJhc2ljLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMyBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0PgorICAgICAgICBpZiAod2luZG93
LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwor
ICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgICAgIH0KKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBkb1Rlc3QoKQorICAgICAgICB7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5lbnN1cmVTdGFibGVQcmVzZW50YXRpb25VcGRhdGUoKTsKKyAgICAgICAgICAgIGxl
dCB0cmVlID0gYXdhaXQgVUlIZWxwZXIuZ2V0VUlWaWV3VHJlZSgpOworCisgICAgICAgICAgICBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdCcpLnJlbW92ZSgpOworCisgICAgICAgICAgICBs
ZXQgb3V0cHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgncHJlJyk7CisgICAgICAgICAgICBk
b2N1bWVudC5ib2R5LmFwcGVuZChvdXRwdXQpOworICAgICAgICAgICAgb3V0cHV0LnRleHRDb250
ZW50ID0gdHJlZTsKKworICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAg
ICAgIH0KKworICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGRvVGVzdCwg
ZmFsc2UpOworICAgIDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJ0ZXN0Ij4K
KyAgICA8ZGl2IHN0eWxlPSJ3aWxsLWNoYW5nZTogdHJhbnNmb3JtOyI+SGVsbG88L2Rpdj4KKzwv
ZGl2PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcmVzb3VyY2VzL3VpLWhl
bHBlci5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9yZXNvdXJjZXMvdWktaGVscGVyLmpz
CShyZXZpc2lvbiAyODA3NTcpCisrKyBMYXlvdXRUZXN0cy9yZXNvdXJjZXMvdWktaGVscGVyLmpz
CSh3b3JraW5nIGNvcHkpCkBAIC0xNDAyLDYgKzE0MDIsMTggQEAgd2luZG93LlVJSGVscGVyID0g
Y2xhc3MgVUlIZWxwZXIgewogICAgICAgICB9KTsKICAgICB9CiAKKyAgICBzdGF0aWMgZ2V0VUlW
aWV3VHJlZSgpCisgICAgeworICAgICAgICBpZiAoIXRoaXMuaXNXZWJLaXQyKCkgfHwgIXRoaXMu
aXNJT1NGYW1pbHkoKSkKKyAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTsKKwor
ICAgICAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgICAgICAgICB0ZXN0
UnVubmVyLnJ1blVJU2NyaXB0KGAoKCkgPT4geworICAgICAgICAgICAgICAgIHJldHVybiB1aUNv
bnRyb2xsZXIudWlWaWV3VHJlZUFzVGV4dDsKKyAgICAgICAgICAgIH0pKClgLCByZXNvbHZlKTsK
KyAgICAgICAgfSk7CisgICAgfQorCiAgICAgc3RhdGljIGRyYWdGcm9tUG9pbnRUb1BvaW50KGZy
b21YLCBmcm9tWSwgdG9YLCB0b1ksIGR1cmF0aW9uKQogICAgIHsKICAgICAgICAgaWYgKCF0aGlz
LmlzV2ViS2l0MigpIHx8ICF0aGlzLmlzSU9TRmFtaWx5KCkpIHsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>435433</attachid>
            <date>2021-08-12 10:21:41 -0700</date>
            <delta_ts>2021-08-12 13:17:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229016-20210812102141.patch</filename>
            <type>text/plain</type>
            <size>16647</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyODA5MzYpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBACisyMDIxLTA4LTExICBTYW0gV2Vpbmln
ICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAgICAgICBBbGxvdyB0ZXN0aW5nIG9mIHRoZSBmaW5h
bCBVSVZpZXcgdHJlZSBvbiBpT1MgcGxhdGZvcm1zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjkwMTYKKworICAgICAgICBSZXZpZXdlZCBieSBUaW0g
SG9ydG9uLgorCisgICAgICAgIFRlc3Q6IHJlbW90ZS1sYXllci10cmVlL2lvcy91aXZpZXctdHJl
ZS1iYXNpYy5odG1sCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2lvcy9XS1dlYlZpZXdQcml2
YXRlRm9yVGVzdGluZ0lPUy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvaW9zL1dLV2ViVmll
d1Rlc3RpbmdJT1MubW06CisgICAgICAgIChhbGxvd0xpc3RlZENsYXNzVG9TdHJpbmcpOgorICAg
ICAgICAoZHVtcFVJVmlldyk6CisgICAgICAgICgtW1dLV2ViVmlldyBfdWlWaWV3VHJlZUFzVGV4
dF0pOgorICAgICAgICBBZGQgcGFydG5lciBTUEkgY2FsbGVkIF91aVZpZXdUcmVlQXNUZXh0IHRo
YXQgZHVtcHMgdGhlIFdLV2ViVmlldydzCisgICAgICAgIFVJVmlldyB0cmVlIGFzIGNvbnN0cnVj
dGVkIHZpYSByZW1vdGUgbGF5ZXIgY3JlYXRpb24uIEl0IGN1cnJlbnRseQorICAgICAgICBkdW1w
cyBzb21lIGJhc2ljIHByb3BlcnRpZXMgb2YgZWFjaCB2aWV3IGFuZCB1c2VzIGFuIGFsbG93IGxp
c3Qgb2YKKyAgICAgICAgY2xhc3MgbmFtZXMgc28gY2hhbmdlcyB0byBpbXBsZW1lbnRhdGlvbiBk
ZXRhaWxzIGluIGZyYW1ld29ya3MgYmVsb3cKKyAgICAgICAgdXMsIGxpa2UgVUlLaXQsIGRvbid0
IGNhdXNlIHRlc3RzIHRvIGZhaWwuCisKIDIwMjEtMDgtMTEgIFBlbmcgTGl1ICA8cGVuZy5saXU2
QGFwcGxlLmNvbT4KIAogICAgICAgICBbQmlnU3VyXSBUZXN0V2ViS2l0QVBJLkF1ZGlvUm91dGlu
Z0FyYml0cmF0aW9uLlVwZGF0aW5nIGZhaWxzIGFmdGVyIHIyODA3MjYKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9pb3MvV0tXZWJWaWV3UHJpdmF0ZUZvclRlc3RpbmdJT1MuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvaW9zL1dLV2ViVmlld1By
aXZhdGVGb3JUZXN0aW5nSU9TLmgJKHJldmlzaW9uIDI4MDc1NykKKysrIFNvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9pb3MvV0tXZWJWaWV3UHJpdmF0ZUZvclRlc3RpbmdJT1MuaAkod29ya2lu
ZyBjb3B5KQpAQCAtNDMsNiArNDMsNyBAQAogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5
KSBOU0FycmF5PE5TVmFsdWUgKj4gKl91aVRleHRTZWxlY3Rpb25SZWN0czsKIEBwcm9wZXJ0eSAo
bm9uYXRvbWljLCByZWFkb25seSkgQ0dSZWN0IF9pbnB1dFZpZXdCb3VuZHNJbldpbmRvdzsKIEBw
cm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgTlNTdHJpbmcgKl9zY3JvbGxpbmdUcmVlQXNU
ZXh0OworQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBOU1N0cmluZyAqX3VpVmlld1Ry
ZWVBc1RleHQ7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIE5TTnVtYmVyICpfc3Rh
YmxlU3RhdGVPdmVycmlkZTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgQ0dSZWN0
IF9kcmFnQ2FyZXRSZWN0OwogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5LCBnZXR0ZXI9
X2lzQW5pbWF0aW5nRHJhZ0NhbmNlbCkgQk9PTCBfYW5pbWF0aW5nRHJhZ0NhbmNlbDsKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9pb3MvV0tXZWJWaWV3VGVzdGluZ0lPUy5tbQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvaW9zL1dLV2ViVmlld1Rl
c3RpbmdJT1MubW0JKHJldmlzaW9uIDI4MDc1NykKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9pb3MvV0tXZWJWaWV3VGVzdGluZ0lPUy5tbQkod29ya2luZyBjb3B5KQpAQCAtMzksNiAr
MzksOCBAQAogI2ltcG9ydCAiX1dLQWN0aXZhdGVkRWxlbWVudEluZm9JbnRlcm5hbC5oIgogI2lt
cG9ydCAiX1dLVGV4dElucHV0Q29udGV4dEludGVybmFsLmgiCiAjaW1wb3J0IDxXZWJDb3JlL0Vs
ZW1lbnRDb250ZXh0Lmg+CisjaW1wb3J0IDx3dGYvU29ydGVkQXJyYXlNYXAuaD4KKyNpbXBvcnQg
PHd0Zi90ZXh0L1RleHRTdHJlYW0uaD4KIAogQGltcGxlbWVudGF0aW9uIFdLV2ViVmlldyAoV0tU
ZXN0aW5nSU9TKQogCkBAIC0yMjUsNiArMjI3LDg0IEBAIC0gKE5TU3RyaW5nICopX3Njcm9sbGlu
Z1RyZWVBc1RleHQKICAgICByZXR1cm4gY29vcmRpbmF0b3ItPnNjcm9sbGluZ1RyZWVBc1RleHQo
KTsKIH0KIAorc3RhdGljIFN0cmluZyBhbGxvd0xpc3RlZENsYXNzVG9TdHJpbmcoVUlWaWV3ICp2
aWV3KQoreworICAgIHN0YXRpYyBjb25zdGV4cHIgQ29tcGFyYWJsZUFTQ0lJTGl0ZXJhbCBhbGxv
d2VkQ2xhc3Nlc0FycmF5W10gPSB7CisgICAgICAgICJVSVZpZXciLAorICAgICAgICAiV0tCYWNr
ZHJvcFZpZXciLAorICAgICAgICAiV0tDb21wb3NpdGluZ1ZpZXciLAorICAgICAgICAiV0tDb250
ZW50VmlldyIsCisgICAgICAgICJXS01vZGVsVmlldyIsCisgICAgICAgICJXS1JlbW90ZVZpZXci
LAorICAgICAgICAiV0tTY3JvbGxWaWV3IiwKKyAgICAgICAgIldLU2VwYXJhdGVkTW9kZWxWaWV3
IgorICAgICAgICAiV0tTaGFwZVZpZXciLAorICAgICAgICAiV0tTaW1wbGVCYWNrZHJvcFZpZXci
LAorICAgICAgICAiV0tUcmFuc2Zvcm1WaWV3IiwKKyAgICAgICAgIldLVUlSZW1vdGVWaWV3IiwK
KyAgICAgICAgIldLV2ViVmlldyIsCisgICAgICAgICJfVUlMYXllckhvc3RWaWV3IiwKKyAgICB9
OworICAgIHN0YXRpYyBjb25zdGV4cHIgU29ydGVkQXJyYXlTZXQgYWxsb3dlZENsYXNzZXMgeyBh
bGxvd2VkQ2xhc3Nlc0FycmF5IH07CisKKyAgICBTdHJpbmcgY2xhc3NTdHJpbmcgeyBOU1N0cmlu
Z0Zyb21DbGFzcyh2aWV3LmNsYXNzKSB9OworICAgIGlmIChhbGxvd2VkQ2xhc3Nlcy5jb250YWlu
cyhjbGFzc1N0cmluZykpCisgICAgICAgIHJldHVybiBjbGFzc1N0cmluZzsKKyAgICAKKyAgICBB
U1NFUlQoY2xhc3NTdHJpbmcgIT0gIldLQ29tcG9zaXRpbmdWaWV3Iik7CisgICAgcmV0dXJuIG1h
a2VTdHJpbmcoIjxjbGFzcyBub3QgaW4gYWxsb3dlZCBsaXN0IG9mIGNsYXNzZXM+Iik7Cit9CisK
K3N0YXRpYyB2b2lkIGR1bXBVSVZpZXcoVGV4dFN0cmVhbSYgdHMsIFVJVmlldyAqdmlldykKK3sK
KyAgICBhdXRvIHJlY3RUb1N0cmluZyA9IFtdIChhdXRvIHJlY3QpIHsKKyAgICAgICAgcmV0dXJu
IG1ha2VTdHJpbmcoIlt4OiAiLCByZWN0Lm9yaWdpbi54LCAiIHk6ICIsIHJlY3Qub3JpZ2luLngs
ICIgd2lkdGg6ICIsIHJlY3Quc2l6ZS53aWR0aCwgIiBoZWlnaHQ6ICIsIHJlY3Quc2l6ZS5oZWln
aHQsICJdIik7CisgICAgfTsKKworICAgIGF1dG8gcG9pbnRUb1N0cmluZyA9IFtdIChhdXRvIHBv
aW50KSB7CisgICAgICAgIHJldHVybiBtYWtlU3RyaW5nKCJbeDogIiwgcG9pbnQueCwgIiB5OiAi
LCBwb2ludC54LCAiXSIpOworICAgIH07CisKKworICAgIHRzIDw8ICJ2aWV3IFtjbGFzczogIiA8
PCBhbGxvd0xpc3RlZENsYXNzVG9TdHJpbmcodmlldykgPDwgIl0iOworCisgICAgdHMuZHVtcFBy
b3BlcnR5KCJsYXllciBib3VuZHMiLCByZWN0VG9TdHJpbmcodmlldy5sYXllci5ib3VuZHMpKTsK
KyAgICAKKyAgICBpZiAodmlldy5sYXllci5wb3NpdGlvbi54ICE9IDAgfHwgdmlldy5sYXllci5w
b3NpdGlvbi55ICE9IDApCisgICAgICAgIHRzLmR1bXBQcm9wZXJ0eSgibGF5ZXIgcG9zaXRpb24i
LCBwb2ludFRvU3RyaW5nKHZpZXcubGF5ZXIucG9zaXRpb24pKTsKKyAgICAKKyAgICBpZiAodmll
dy5sYXllci56UG9zaXRpb24gIT0gMCkKKyAgICAgICAgdHMuZHVtcFByb3BlcnR5KCJsYXllciB6
UG9zaXRpb24iLCBtYWtlU3RyaW5nKHZpZXcubGF5ZXIuelBvc2l0aW9uKSk7CisgICAgCisgICAg
aWYgKHZpZXcubGF5ZXIuYW5jaG9yUG9pbnQueCAhPSAwLjUgfHwgdmlldy5sYXllci5hbmNob3JQ
b2ludC55ICE9IDAuNSkKKyAgICAgICAgdHMuZHVtcFByb3BlcnR5KCJsYXllciBhbmNob3JQb2lu
dCIsIHBvaW50VG9TdHJpbmcodmlldy5sYXllci5hbmNob3JQb2ludCkpOworICAgIAorICAgIGlm
ICh2aWV3LmxheWVyLmFuY2hvclBvaW50WiAhPSAwKQorICAgICAgICB0cy5kdW1wUHJvcGVydHko
ImxheWVyIGFuY2hvclBvaW50WiIsIG1ha2VTdHJpbmcodmlldy5sYXllci5hbmNob3JQb2ludFop
KTsKKworICAgIGlmICh2aWV3LnN1YnZpZXdzLmNvdW50ID4gMCkgeworICAgICAgICBUZXh0U3Ry
ZWFtOjpHcm91cFNjb3BlIHNjb3BlKHRzKTsKKyAgICAgICAgdHMgPDwgInN1YnZpZXdzIjsKKyAg
ICAgICAgZm9yIChVSVZpZXcgKnN1YnZpZXcgaW4gdmlldy5zdWJ2aWV3cykgeworICAgICAgICAg
ICAgVGV4dFN0cmVhbTo6R3JvdXBTY29wZSBzY29wZSh0cyk7CisgICAgICAgICAgICBkdW1wVUlW
aWV3KHRzLCBzdWJ2aWV3KTsKKyAgICAgICAgfQorICAgIH0KK30KKworLSAoTlNTdHJpbmcgKilf
dWlWaWV3VHJlZUFzVGV4dAoreworICAgIFRleHRTdHJlYW0gdHMoVGV4dFN0cmVhbTo6TGluZU1v
ZGU6Ok11bHRpcGxlTGluZSk7CisKKyAgICB7CisgICAgICAgIFRleHRTdHJlYW06Okdyb3VwU2Nv
cGUgc2NvcGUodHMpOworICAgICAgICB0cyA8PCAiVUlWaWV3IHRyZWUgcm9vdCAiOworICAgICAg
ICBkdW1wVUlWaWV3KHRzLCBzZWxmKTsKKyAgICB9CisKKyAgICByZXR1cm4gdHMucmVsZWFzZSgp
OworfQorCiAtIChOU051bWJlciAqKV9zdGFibGVTdGF0ZU92ZXJyaWRlCiB7CiAgICAgLy8gRm9y
IHN1YmNsYXNzZXMgdG8gb3ZlcnJpZGUuCkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyODA5MzYpCisrKyBUb29scy9DaGFuZ2VM
b2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxOSBAQAorMjAyMS0wOC0xMSAgU2FtIFdlaW5p
ZyAgPHdlaW5pZ0BhcHBsZS5jb20+CisKKyAgICAgICAgQWxsb3cgdGVzdGluZyBvZiB0aGUgZmlu
YWwgVUlWaWV3IHRyZWUgb24gaU9TIHBsYXRmb3JtcworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5MDE2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVGlt
IEhvcnRvbi4KKworICAgICAgICAqIFRlc3RSdW5uZXJTaGFyZWQvVUlTY3JpcHRDb250ZXh0L0Jp
bmRpbmdzL1VJU2NyaXB0Q29udHJvbGxlci5pZGw6CisgICAgICAgICogVGVzdFJ1bm5lclNoYXJl
ZC9VSVNjcmlwdENvbnRleHQvVUlTY3JpcHRDb250cm9sbGVyLmg6CisgICAgICAgIChXVFI6OlVJ
U2NyaXB0Q29udHJvbGxlcjo6dWlWaWV3VHJlZUFzVGV4dCBjb25zdCk6CisgICAgICAgICogV2Vi
S2l0VGVzdFJ1bm5lci9pb3MvVUlTY3JpcHRDb250cm9sbGVySU9TLmg6CisgICAgICAgICogV2Vi
S2l0VGVzdFJ1bm5lci9pb3MvVUlTY3JpcHRDb250cm9sbGVySU9TLm1tOgorICAgICAgICAoV1RS
OjpVSVNjcmlwdENvbnRyb2xsZXJJT1M6OnVpVmlld1RyZWVBc1RleHQgY29uc3QpOgorICAgICAg
ICBQaXBlIG5ldyBfdWlWaWV3VHJlZUFzVGV4dCBTUEkgdGhyb3VnaCB0byBVSVNjcmlwdENvbnRy
b2xsZXIsIG1hdGNoaW5nIHRoZSBwYXR0ZXJuCisgICAgICAgIGVzdGFibGlzaGVkIGJ5IHNjcm9s
bGluZ1RyZWVBc1RleHQuCisKIDIwMjEtMDgtMTEgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBw
bGUuY29tPgogCiAgICAgICAgIE1lZGlhIGVsZW1lbnQgaXMgbm90IGFsd2F5cyBhdXRvcGxheWlu
ZyB3aGVuIGdvaW5nIGZyb20gYmFja2dyb3VuZCB0byBmb3JlZ3JvdW5kIGlmIGl0IGlzIGluaXRp
YWxseSBub3QgaW4gdmlld3BvcnQKSW5kZXg6IFRvb2xzL1Rlc3RSdW5uZXJTaGFyZWQvVUlTY3Jp
cHRDb250ZXh0L1VJU2NyaXB0Q29udHJvbGxlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RS
dW5uZXJTaGFyZWQvVUlTY3JpcHRDb250ZXh0L1VJU2NyaXB0Q29udHJvbGxlci5oCShyZXZpc2lv
biAyODA3NTcpCisrKyBUb29scy9UZXN0UnVubmVyU2hhcmVkL1VJU2NyaXB0Q29udGV4dC9VSVNj
cmlwdENvbnRyb2xsZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMTQ2LDYgKzE0Niw3IEBAIHB1Ymxp
YzoKICAgICB2aXJ0dWFsIGRvdWJsZSBjb250ZW50T2Zmc2V0WSgpIGNvbnN0IHsgbm90SW1wbGVt
ZW50ZWQoKTsgcmV0dXJuIDA7IH0KIAogICAgIHZpcnR1YWwgSlNSZXRhaW5QdHI8SlNTdHJpbmdS
ZWY+IHNjcm9sbGluZ1RyZWVBc1RleHQoKSBjb25zdCB7IG5vdEltcGxlbWVudGVkKCk7IHJldHVy
biBudWxscHRyOyB9CisgICAgdmlydHVhbCBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gdWlWaWV3
VHJlZUFzVGV4dCgpIGNvbnN0IHsgbm90SW1wbGVtZW50ZWQoKTsgcmV0dXJuIG51bGxwdHI7IH0K
IAogICAgIC8vIFRvdWNoZXMKIApJbmRleDogVG9vbHMvVGVzdFJ1bm5lclNoYXJlZC9VSVNjcmlw
dENvbnRleHQvQmluZGluZ3MvVUlTY3JpcHRDb250cm9sbGVyLmlkbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBU
b29scy9UZXN0UnVubmVyU2hhcmVkL1VJU2NyaXB0Q29udGV4dC9CaW5kaW5ncy9VSVNjcmlwdENv
bnRyb2xsZXIuaWRsCShyZXZpc2lvbiAyODA3NTcpCisrKyBUb29scy9UZXN0UnVubmVyU2hhcmVk
L1VJU2NyaXB0Q29udGV4dC9CaW5kaW5ncy9VSVNjcmlwdENvbnRyb2xsZXIuaWRsCSh3b3JraW5n
IGNvcHkpCkBAIC0zMzEsNiArMzMxLDcgQEAgaW50ZXJmYWNlIFVJU2NyaXB0Q29udHJvbGxlciB7
CiAgICAgdW5kZWZpbmVkIHJlcGxhY2VUZXh0QXRSYW5nZShET01TdHJpbmcgdGV4dCwgbG9uZyBs
b2NhdGlvbiwgbG9uZyBsZW5ndGgpOwogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmlu
ZyBzY3JvbGxpbmdUcmVlQXNUZXh0OworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcg
dWlWaWV3VHJlZUFzVGV4dDsKIAogICAgIGJvb2xlYW4gbWF5Q29udGFpbkVkaXRhYmxlRWxlbWVu
dHNJblJlY3QodW5zaWduZWQgbG9uZyB4LCB1bnNpZ25lZCBsb25nIHksIHVuc2lnbmVkIGxvbmcg
d2lkdGgsIHVuc2lnbmVkIGxvbmcgaGVpZ2h0KTsKIApJbmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9pb3MvVUlTY3JpcHRDb250cm9sbGVySU9TLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9pb3MvVUlTY3JpcHRDb250cm9sbGVySU9TLmgJKHJldmlzaW9uIDI4MDc1
NykKKysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL1VJU2NyaXB0Q29udHJvbGxlcklPUy5o
CSh3b3JraW5nIGNvcHkpCkBAIC0xMTcsNiArMTE3LDcgQEAgcHJpdmF0ZToKICAgICBKU09iamVj
dFJlZiBzZWxlY3Rpb25SYW5nZVZpZXdSZWN0cygpIGNvbnN0IG92ZXJyaWRlOwogICAgIEpTT2Jq
ZWN0UmVmIGlucHV0Vmlld0JvdW5kcygpIGNvbnN0IG92ZXJyaWRlOwogICAgIEpTUmV0YWluUHRy
PEpTU3RyaW5nUmVmPiBzY3JvbGxpbmdUcmVlQXNUZXh0KCkgY29uc3Qgb3ZlcnJpZGU7CisgICAg
SlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IHVpVmlld1RyZWVBc1RleHQoKSBjb25zdCBvdmVycmlk
ZTsKICAgICBKU09iamVjdFJlZiBwcm9wZXJ0aWVzT2ZMYXllcldpdGhJRCh1aW50NjRfdCBsYXll
cklEKSBjb25zdCBvdmVycmlkZTsKICAgICB2b2lkIHNpbXVsYXRlUm90YXRpb24oRGV2aWNlT3Jp
ZW50YXRpb24qLCBKU1ZhbHVlUmVmKSBvdmVycmlkZTsKICAgICB2b2lkIHNpbXVsYXRlUm90YXRp
b25MaWtlU2FmYXJpKERldmljZU9yaWVudGF0aW9uKiwgSlNWYWx1ZVJlZikgb3ZlcnJpZGU7Cklu
ZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9VSVNjcmlwdENvbnRyb2xsZXJJT1MubW0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvVUlTY3JpcHRDb250cm9s
bGVySU9TLm1tCShyZXZpc2lvbiAyODA3NTcpCisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVyL2lv
cy9VSVNjcmlwdENvbnRyb2xsZXJJT1MubW0JKHdvcmtpbmcgY29weSkKQEAgLTg1Nyw2ICs4NTcs
MTEgQEAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IFVJU2NyaXB0Q29udHJvbAogICAgIHJldHVy
biBhZG9wdChKU1N0cmluZ0NyZWF0ZVdpdGhDRlN0cmluZygoQ0ZTdHJpbmdSZWYpW3dlYlZpZXco
KSBfc2Nyb2xsaW5nVHJlZUFzVGV4dF0pKTsKIH0KIAorSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+
IFVJU2NyaXB0Q29udHJvbGxlcklPUzo6dWlWaWV3VHJlZUFzVGV4dCgpIGNvbnN0Cit7CisgICAg
cmV0dXJuIGFkb3B0KEpTU3RyaW5nQ3JlYXRlV2l0aENGU3RyaW5nKChDRlN0cmluZ1JlZilbd2Vi
VmlldygpIF91aVZpZXdUcmVlQXNUZXh0XSkpOworfQorCiBKU09iamVjdFJlZiBVSVNjcmlwdENv
bnRyb2xsZXJJT1M6OnByb3BlcnRpZXNPZkxheWVyV2l0aElEKHVpbnQ2NF90IGxheWVySUQpIGNv
bnN0CiB7CiAgICAgcmV0dXJuIEpTVmFsdWVUb09iamVjdChtX2NvbnRleHQtPmpzQ29udGV4dCgp
LCBbSlNWYWx1ZSB2YWx1ZVdpdGhPYmplY3Q6W3dlYlZpZXcoKSBfcHJvcGVydGllc09mTGF5ZXJX
aXRoSUQ6bGF5ZXJJRF0gaW5Db250ZXh0OltKU0NvbnRleHQgY29udGV4dFdpdGhKU0dsb2JhbENv
bnRleHRSZWY6bV9jb250ZXh0LT5qc0NvbnRleHQoKV1dLkpTVmFsdWVSZWYsIG51bGxwdHIpOwpJ
bmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0No
YW5nZUxvZwkocmV2aXNpb24gMjgwOTcxKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMjUgQEAKKzIwMjEtMDgtMTEgIFNhbSBXZWluaWcgIDx3ZWlu
aWdAYXBwbGUuY29tPgorCisgICAgICAgIEFsbG93IHRlc3Rpbmcgb2YgdGhlIGZpbmFsIFVJVmll
dyB0cmVlIG9uIGlPUyBwbGF0Zm9ybXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIyOTAxNgorCisgICAgICAgIFJldmlld2VkIGJ5IFRpbSBIb3J0b24u
CisKKyAgICAgICAgKiByZW1vdGUtbGF5ZXItdHJlZTogQWRkZWQuCisgICAgICAgICogcmVtb3Rl
LWxheWVyLXRyZWUvaW9zOiBBZGRlZC4KKyAgICAgICAgKiByZW1vdGUtbGF5ZXItdHJlZS9pb3Mv
dWl2aWV3LXRyZWUtYmFzaWMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiByZW1vdGUt
bGF5ZXItdHJlZS9pb3MvdWl2aWV3LXRyZWUtYmFzaWMuaHRtbDogQWRkZWQuCisgICAgICAgIEFk
ZCBiYXNpYyB0ZXN0IGNhc2UgZXhjZXJjaXNpbmcgVUlWaWV3IHRyZWUgZHVtcGluZyB0byBlbnN1
cmUKKyAgICAgICAgaXQgaXMgd29ya2luZyBwcm9wZXJseS4KKworICAgICAgICAqIHJlc291cmNl
cy91aS1oZWxwZXIuanM6CisgICAgICAgICh3aW5kb3cuVUlIZWxwZXIuZ2V0VUlWaWV3VHJlZSk6
CisgICAgICAgIEFkZCBoZWxwZXIgdG8gdXNlIGdldCB0aGUgVUlWaWV3IHRyZWUgYXMgdGV4dC4K
KworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vaW9zL1Rl
c3RFeHBlY3RhdGlvbnM6CisgICAgICAgIEVuc3VyZSB0aGVzZSB0ZXN0cyBhcmUgb25seSBydW4g
b24gaU9TLgorCiAyMDIxLTA4LTEyICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25Ad2Via2l0
Lm9yZz4KIAogICAgICAgICBVcGRhdGUgaW1wb3J0IG9mIGNzcy9jc3MtcG9zaXRpb24gZnJvbSBX
UFQKSW5kZXg6IExheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwkocmV2aXNpb24gMjgwNzU3KQorKysgTGF5b3V0VGVz
dHMvVGVzdEV4cGVjdGF0aW9ucwkod29ya2luZyBjb3B5KQpAQCAtODIsNiArODIsNyBAQCBlZGl0
aW5nL3Bhc3RlYm9hcmQvZG9tLXBhc3RlIFsgU2tpcCBdCiBlZGl0aW5nL3Bhc3RlYm9hcmQvbWFj
IFsgU2tpcCBdCiBmYXN0L21lZGlhL2lvcyBbIFNraXAgXQogZmFzdC9kb20vUmFuZ2UvbWFjIFsg
U2tpcCBdCityZW1vdGUtbGF5ZXItdHJlZS9pb3MgWyBTa2lwIF0KIGluc3BlY3Rvci9wYWdlL3Nl
dFNjcmVlblNpemVPdmVycmlkZS5odG1sIFsgU2tpcCBdCiAKICMgUmVxdWlyZXMgYXN5bmMgb3Zl
cmZsb3cgc2Nyb2xsaW5nCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvVGVzdEV4cGVj
dGF0aW9ucwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvVGVzdEV4cGVj
dGF0aW9ucwkocmV2aXNpb24gMjgwNzU3KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL1Rl
c3RFeHBlY3RhdGlvbnMJKHdvcmtpbmcgY29weSkKQEAgLTE3LDYgKzE3LDcgQEAgbWVkaWEvaW9z
IFsgUGFzcyBdCiBtb2RlbC1lbGVtZW50IFsgUGFzcyBdCiBxdWlja2xvb2sgWyBQYXNzIF0KIHN5
c3RlbS1wcmV2aWV3IFsgUGFzcyBdCityZW1vdGUtbGF5ZXItdHJlZS9pb3MgWyBQYXNzIF0KIHN3
aXBlIFsgUGFzcyBdCiBodHRwL3Rlc3RzL3N3aXBlIFsgUGFzcyBdCiAKSW5kZXg6IExheW91dFRl
c3RzL3JlbW90ZS1sYXllci10cmVlL2lvcy91aXZpZXctdHJlZS1iYXNpYy1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcmVtb3RlLWxheWVyLXRyZWUvaW9zL3Vpdmlldy10
cmVlLWJhc2ljLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9yZW1v
dGUtbGF5ZXItdHJlZS9pb3MvdWl2aWV3LXRyZWUtYmFzaWMtZXhwZWN0ZWQudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsNjQgQEAKKworKFVJVmlldyB0cmVlIHJvb3QgdmlldyBbY2xhc3M6
IDxjbGFzcyBub3QgaW4gYWxsb3dlZCBsaXN0IG9mIGNsYXNzZXM+XQorICAobGF5ZXIgYm91bmRz
IFt4OiAwIHk6IDAgd2lkdGg6IDgwMCBoZWlnaHQ6IDYwMF0pCisgIChsYXllciBwb3NpdGlvbiBb
eDogNDAwIHk6IDQwMF0pCisgIChzdWJ2aWV3cworICAgICh2aWV3IFtjbGFzczogV0tTY3JvbGxW
aWV3XQorICAgICAgKGxheWVyIGJvdW5kcyBbeDogMCB5OiAwIHdpZHRoOiA4MDAgaGVpZ2h0OiA2
MDBdKQorICAgICAgKGxheWVyIHBvc2l0aW9uIFt4OiA0MDAgeTogNDAwXSkKKyAgICAgIChzdWJ2
aWV3cworICAgICAgICAodmlldyBbY2xhc3M6IFdLQ29udGVudFZpZXddCisgICAgICAgICAgKGxh
eWVyIGJvdW5kcyBbeDogMCB5OiAwIHdpZHRoOiA4MDAgaGVpZ2h0OiA2MDBdKQorICAgICAgICAg
IChsYXllciBhbmNob3JQb2ludCBbeDogMCB5OiAwXSkKKyAgICAgICAgICAoc3Vidmlld3MKKyAg
ICAgICAgICAgICh2aWV3IFtjbGFzczogVUlWaWV3XQorICAgICAgICAgICAgICAobGF5ZXIgYm91
bmRzIFt4OiAwIHk6IDAgd2lkdGg6IDgwMCBoZWlnaHQ6IDYwMF0pCisgICAgICAgICAgICAgIChs
YXllciBhbmNob3JQb2ludCBbeDogMCB5OiAwXSkKKyAgICAgICAgICAgICAgKHN1YnZpZXdzCisg
ICAgICAgICAgICAgICAgKHZpZXcgW2NsYXNzOiBVSVZpZXddCisgICAgICAgICAgICAgICAgICAo
bGF5ZXIgYm91bmRzIFt4OiAwIHk6IDAgd2lkdGg6IDgwMCBoZWlnaHQ6IDYwMF0pCisgICAgICAg
ICAgICAgICAgICAobGF5ZXIgcG9zaXRpb24gW3g6IDQwMCB5OiA0MDBdKQorICAgICAgICAgICAg
ICAgICAgKHN1YnZpZXdzCisgICAgICAgICAgICAgICAgICAgICh2aWV3IFtjbGFzczogV0tDb21w
b3NpdGluZ1ZpZXddCisgICAgICAgICAgICAgICAgICAgICAgKGxheWVyIGJvdW5kcyBbeDogMCB5
OiAwIHdpZHRoOiA4MDAgaGVpZ2h0OiA2MDBdKQorICAgICAgICAgICAgICAgICAgICAgIChsYXll
ciBwb3NpdGlvbiBbeDogNDAwIHk6IDQwMF0pCisgICAgICAgICAgICAgICAgICAgICAgKHN1YnZp
ZXdzCisgICAgICAgICAgICAgICAgICAgICAgICAodmlldyBbY2xhc3M6IFdLQ29tcG9zaXRpbmdW
aWV3XQorICAgICAgICAgICAgICAgICAgICAgICAgICAobGF5ZXIgYm91bmRzIFt4OiAwIHk6IDAg
d2lkdGg6IDgwMCBoZWlnaHQ6IDYwMF0pCisgICAgICAgICAgICAgICAgICAgICAgICAgIChsYXll
ciBhbmNob3JQb2ludCBbeDogMCB5OiAwXSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKHN1
YnZpZXdzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHZpZXcgW2NsYXNzOiBXS0NvbXBv
c2l0aW5nVmlld10KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChsYXllciBib3VuZHMg
W3g6IDAgeTogMCB3aWR0aDogODAwIGhlaWdodDogNjAwXSkKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIChsYXllciBwb3NpdGlvbiBbeDogNDAwIHk6IDQwMF0pCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAoc3Vidmlld3MKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgKHZpZXcgW2NsYXNzOiBXS0NvbXBvc2l0aW5nVmlld10KKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAobGF5ZXIgYm91bmRzIFt4OiAwIHk6IDAgd2lkdGg6IDAgaGVpZ2h0OiAw
XSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2aWV3IFtjbGFzczogV0tDb21w
b3NpdGluZ1ZpZXddCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxheWVyIGJv
dW5kcyBbeDogMCB5OiAwIHdpZHRoOiAwIGhlaWdodDogMF0pCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgKHN1YnZpZXdzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAodmlldyBbY2xhc3M6IFdLQ29tcG9zaXRpbmdWaWV3XQorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAobGF5ZXIgYm91bmRzIFt4OiAwIHk6IDAgd2lkdGg6IDc4NCBo
ZWlnaHQ6IDIwXSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxheWVy
IHBvc2l0aW9uIFt4OiA0MDAgeTogNDAwXSkpKSkpKSkpKSkpKSkpCisgICAgICAgICAgICAodmll
dyBbY2xhc3M6IF9VSUxheWVySG9zdFZpZXddCisgICAgICAgICAgICAgIChsYXllciBib3VuZHMg
W3g6IDAgeTogMCB3aWR0aDogMCBoZWlnaHQ6IDBdKSkKKyAgICAgICAgICAgICh2aWV3IFtjbGFz
czogX1VJTGF5ZXJIb3N0Vmlld10KKyAgICAgICAgICAgICAgKGxheWVyIGJvdW5kcyBbeDogMCB5
OiAwIHdpZHRoOiAwIGhlaWdodDogMF0pKSkpCisgICAgICAgICh2aWV3IFtjbGFzczogVUlWaWV3
XQorICAgICAgICAgIChsYXllciBib3VuZHMgW3g6IDAgeTogMCB3aWR0aDogMCBoZWlnaHQ6IDBd
KQorICAgICAgICAgIChsYXllciBhbmNob3JQb2ludCBbeDogMCB5OiAwXSkpCisgICAgICAgICh2
aWV3IFtjbGFzczogPGNsYXNzIG5vdCBpbiBhbGxvd2VkIGxpc3Qgb2YgY2xhc3Nlcz5dCisgICAg
ICAgICAgKGxheWVyIGJvdW5kcyBbeDogMCB5OiAwIHdpZHRoOiAzIGhlaWdodDogNTk0XSkKKyAg
ICAgICAgICAobGF5ZXIgcG9zaXRpb24gW3g6IDc5NS41IHk6IDc5NS41XSkKKyAgICAgICAgICAo
bGF5ZXIgelBvc2l0aW9uIDEwMDApCisgICAgICAgICAgKHN1YnZpZXdzCisgICAgICAgICAgICAo
dmlldyBbY2xhc3M6IFVJVmlld10KKyAgICAgICAgICAgICAgKGxheWVyIGJvdW5kcyBbeDogMCB5
OiAwIHdpZHRoOiAzIGhlaWdodDogNTk0XSkKKyAgICAgICAgICAgICAgKGxheWVyIHBvc2l0aW9u
IFt4OiAxLjUgeTogMS41XSkpKSkKKyAgICAgICAgKHZpZXcgW2NsYXNzOiA8Y2xhc3Mgbm90IGlu
IGFsbG93ZWQgbGlzdCBvZiBjbGFzc2VzPl0KKyAgICAgICAgICAobGF5ZXIgYm91bmRzIFt4OiAw
IHk6IDAgd2lkdGg6IDc5NCBoZWlnaHQ6IDNdKQorICAgICAgICAgIChsYXllciBwb3NpdGlvbiBb
eDogNDAwIHk6IDQwMF0pCisgICAgICAgICAgKGxheWVyIHpQb3NpdGlvbiAxMDAwKQorICAgICAg
ICAgIChzdWJ2aWV3cworICAgICAgICAgICAgKHZpZXcgW2NsYXNzOiBVSVZpZXddCisgICAgICAg
ICAgICAgIChsYXllciBib3VuZHMgW3g6IDAgeTogMCB3aWR0aDogNzk0IGhlaWdodDogM10pCisg
ICAgICAgICAgICAgIChsYXllciBwb3NpdGlvbiBbeDogMzk3IHk6IDM5N10pKSkpKSkpKQpJbmRl
eDogTGF5b3V0VGVzdHMvcmVtb3RlLWxheWVyLXRyZWUvaW9zL3Vpdmlldy10cmVlLWJhc2ljLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcmVtb3RlLWxheWVyLXRyZWUvaW9zL3Vpdmll
dy10cmVlLWJhc2ljLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcmVtb3RlLWxh
eWVyLXRyZWUvaW9zL3Vpdmlldy10cmVlLWJhc2ljLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSwzMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgICAgIHRlc3RSdW5u
ZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7
CisgICAgICAgIH0KKworICAgICAgICBhc3luYyBmdW5jdGlvbiBkb1Rlc3QoKQorICAgICAgICB7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5lbnN1cmVTdGFibGVQcmVzZW50YXRpb25VcGRh
dGUoKTsKKyAgICAgICAgICAgIGxldCB0cmVlID0gYXdhaXQgVUlIZWxwZXIuZ2V0VUlWaWV3VHJl
ZSgpOworCisgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdCcpLnJlbW92
ZSgpOworCisgICAgICAgICAgICBsZXQgb3V0cHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgn
cHJlJyk7CisgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZChvdXRwdXQpOworICAgICAg
ICAgICAgb3V0cHV0LnRleHRDb250ZW50ID0gdHJlZTsKKworICAgICAgICAgICAgdGVzdFJ1bm5l
ci5ub3RpZnlEb25lKCk7CisgICAgICAgIH0KKworICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0
ZW5lcignbG9hZCcsIGRvVGVzdCwgZmFsc2UpOworICAgIDwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2IGlkPSJ0ZXN0Ij4KKyAgICA8ZGl2IHN0eWxlPSJ3aWxsLWNoYW5nZTogdHJhbnNm
b3JtOyI+SGVsbG88L2Rpdj4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0
VGVzdHMvcmVzb3VyY2VzL3VpLWhlbHBlci5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzCShyZXZpc2lvbiAyODA3NTcpCisrKyBMYXlvdXRUZXN0cy9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xNDAyLDYgKzE0MDIsMTgg
QEAgd2luZG93LlVJSGVscGVyID0gY2xhc3MgVUlIZWxwZXIgewogICAgICAgICB9KTsKICAgICB9
CiAKKyAgICBzdGF0aWMgZ2V0VUlWaWV3VHJlZSgpCisgICAgeworICAgICAgICBpZiAoIXRoaXMu
aXNXZWJLaXQyKCkgfHwgIXRoaXMuaXNJT1NGYW1pbHkoKSkKKyAgICAgICAgICAgIHJldHVybiBQ
cm9taXNlLnJlc29sdmUoKTsKKworICAgICAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9
PiB7CisgICAgICAgICAgICB0ZXN0UnVubmVyLnJ1blVJU2NyaXB0KGAoKCkgPT4geworICAgICAg
ICAgICAgICAgIHJldHVybiB1aUNvbnRyb2xsZXIudWlWaWV3VHJlZUFzVGV4dDsKKyAgICAgICAg
ICAgIH0pKClgLCByZXNvbHZlKTsKKyAgICAgICAgfSk7CisgICAgfQorCiAgICAgc3RhdGljIGRy
YWdGcm9tUG9pbnRUb1BvaW50KGZyb21YLCBmcm9tWSwgdG9YLCB0b1ksIGR1cmF0aW9uKQogICAg
IHsKICAgICAgICAgaWYgKCF0aGlzLmlzV2ViS2l0MigpIHx8ICF0aGlzLmlzSU9TRmFtaWx5KCkp
IHsK
</data>

          </attachment>
      

    </bug>

</bugzilla>