<?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>165983</bug_id>
          
          <creation_ts>2016-12-16 18:54:50 -0800</creation_ts>
          <short_desc>Visual viewports: bottom fixed elements disappear behind the keyboard</short_desc>
          <delta_ts>2016-12-18 00:12:53 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</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="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>enrica</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1260850</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2016-12-16 18:54:50 -0800</bug_when>
    <thetext>0. Enable visual viewports when focusing assisted nodes
1. Go to whsieh.github.io/examples/fixed-inputs
2. Focus the bottom &lt;input&gt;

Observed: bottom &lt;input&gt; is obscured behind the keyboard.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1260880</commentid>
    <comment_count>1</comment_count>
      <attachid>297390</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2016-12-16 20:35:16 -0800</bug_when>
    <thetext>Created attachment 297390
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1260881</commentid>
    <comment_count>2</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2016-12-16 20:36:19 -0800</bug_when>
    <thetext>&lt;rdar://problem/29409852&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1260882</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-12-16 20:37:01 -0800</bug_when>
    <thetext>Attachment 297390 did not pass style-queue:


ERROR: Source/WebKit2/Shared/VisibleContentRectUpdateInfo.h:54:  Wrong number of spaces before statement. (expected: 12)  [whitespace/indent] [4]
Total errors found: 1 in 47 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1260943</commentid>
    <comment_count>4</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2016-12-17 10:41:20 -0800</bug_when>
    <thetext>Thanks Simon! Looks like there&apos;s one more test I need to rebaseline (fast/viewport/ios/width-is-device-width-expected.txt). I&apos;ll do that before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1260944</commentid>
    <comment_count>5</comment_count>
      <attachid>297410</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2016-12-17 10:41:55 -0800</bug_when>
    <thetext>Created attachment 297410
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1260952</commentid>
    <comment_count>6</comment_count>
      <attachid>297410</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-12-17 11:18:51 -0800</bug_when>
    <thetext>Comment on attachment 297410
Patch for landing

Clearing flags on attachment: 297410

Committed r209967: &lt;http://trac.webkit.org/changeset/209967&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1260996</commentid>
    <comment_count>7</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-12-17 23:20:30 -0800</bug_when>
    <thetext>This caused hundreds of compositing failures for iso-simulator:
https://build.webkit.org/results/Apple%20iOS%2010%20Simulator%20Debug%20WK2%20(Tests)/r209967%20(2310)/results.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1260997</commentid>
    <comment_count>8</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-12-17 23:45:44 -0800</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1260998</commentid>
    <comment_count>9</comment_count>
      <attachid>297426</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-12-17 23:45:46 -0800</bug_when>
    <thetext>Created attachment 297426
Fix iOS testing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1260999</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-12-17 23:48:04 -0800</bug_when>
    <thetext>Attachment 297426 did not pass style-queue:


ERROR: Tools/ChangeLog:1:  ChangeLog entry has no bug number  [changelog/bugnumber] [5]
Total errors found: 1 in 8 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1261000</commentid>
    <comment_count>11</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-12-18 00:12:53 -0800</bug_when>
    <thetext>WTR fix landed in https://trac.webkit.org/r209972</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>297390</attachid>
            <date>2016-12-16 20:35:16 -0800</date>
            <delta_ts>2016-12-16 20:47:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-165983-20161216203421.patch</filename>
            <type>text/plain</type>
            <size>65454</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA5OTMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNDU0OTFjM2Y1MGZkZWNl
YWE1YmJiZGQ2N2E1ZTkyNDliZTA4OTlmZC4uYTc3YzM2ZTVjOTU0OTU3ZGQxZjViNjRmNWI5MTg4
NzY3NWRjMTcwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDYwIEBACiAyMDE2LTEyLTE2ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCisgICAgICAgIFZpc3VhbCB2aWV3
cG9ydHM6IGJvdHRvbSBmaXhlZCBlbGVtZW50cyBkaXNhcHBlYXIgYmVoaW5kIHRoZSBrZXlib2Fy
ZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY1OTgz
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yOTQwOTg1Mj4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBY2NvdW50cyBmb3IgaW5wdXQgdmlldyBib3Vu
ZHMgaW4gV2ViUGFnZVByb3h5Ojpjb21wdXRlQ3VzdG9tRml4ZWRQb3NpdGlvblJlY3QuIFRvIGRv
IHRoaXMsIHdlIGludHJvZHVjZSBhbmQKKyAgICAgICAgcGFzcyB1bm9ic2N1cmVkQ29udGVudFJl
Y3RSZXNwZWN0aW5nSW5wdXRWaWV3Qm91bmRzIGFsb25nIHdpdGggdGhlIHJlZ3VsYXIgdW5vYnNj
dXJlZENvbnRlbnRSZWN0ICh3aGljaCBkb2VzIG5vdAorICAgICAgICByZXNwZWN0IHRoZSBvYnNj
dXJpbmcga2V5Ym9hcmQgcmVjdCkuIFRoaXMgdW5vYnNjdXJlZENvbnRlbnRSZWN0UmVzcGVjdGlu
Z0lucHV0Vmlld0JvdW5kcyBpcyB0aGVuIHVzZWQgd2hlbgorICAgICAgICBjb21wdXRpbmcgdGhl
IG9yaWdpbiBvZiB0aGUgdXBkYXRlZCBsYXlvdXQgdmlld3BvcnQgcmVjdCAoYW5kIGFsc28sIHdo
ZW4gd2UgYXJlIF9ub3RfIGJlbG93IG1pbmltdW0gc2NhbGUpLAorICAgICAgICAKKyAgICAgICAg
QWRkaXRpb25hbGx5LCB0aGUgc2l6ZSBpcyBjb21wdXRlZCB1c2luZyB0aGUgKHVuY29uc3RyYWlu
ZWQpIHVub2JzY3VyZWQgcmVjdC4gVGhpcyBpcyBiZWNhdXNlIHdlIHByZXZpb3VzbHkKKyAgICAg
ICAgd291bGQgdXNlIHRoZSBkb2N1bWVudC1jb25zdHJhaW5lZCB2ZXJzaW9uIG9mIHRoZSB1bm9i
c2N1cmVkIHJlY3QsIHdoaWNoIGNhdXNlZCB0aGUgbGF5b3V0IHZpZXdwb3J0IHRvIHNocmluawor
ICAgICAgICB3aGVuIGFwcHJvYWNoaW5nIHRoZSBtYXggc2Nyb2xsIGV4dGVudHMgb2YgdGhlIGRv
Y3VtZW50IHdoaWxlIHRoZSBrZXlib2FyZCBpcyB1cCwgc2luY2UgdGhlIHVub2JzY3VyZWQgcmVj
dAorICAgICAgICB3b3VsZCBzcGlsbCBvdXQgb2YgdGhlIGRvY3VtZW50IHJlY3QuIEhvd2V2ZXIs
IHVzaW5nIHRoaXMgdW5jb25zdHJhaW5lZCByZWN0J3Mgc2l6ZSBhbHNvIG1lYW5zIHRoYXQgaWYg
dGhlIHVzZXIKKyAgICAgICAgcnViYmVyLWJhbmRzIG91dCBvZiB0aGUgZG9jdW1lbnQgcmVjdCwg
d2Ugd291bGQgZW5kIHVwIHB1c2hpbmcgdGhlIGxheW91dCB2aWV3cG9ydCByZWN0IG91dCBvZiB0
aGUgZG9jdW1lbnQsCisgICAgICAgIHdpdGggbm8gd2F5IG9mIGFkanVzdGluZyBpdCBiYWNrIGlu
IHdpdGhvdXQgdGhlIHVzZXIgc2Nyb2xsaW5nIHRvIHB1c2ggdGhlIGxheW91dCB2aWV3cG9ydCBp
bnRvIGJhY2sgZG9jdW1lbnQKKyAgICAgICAgYm91bmRzLiBUbyBhZGRyZXNzIHRoaXMsIHdlIG1v
dmUgdGhlIGxheW91dCByZWN0IHRvIGJlIHdpdGhpbiBkb2N1bWVudCBib3VuZHMgYWZ0ZXIgY29t
cHV0aW5nIGl0cyBzaXplIGFuZAorICAgICAgICBsb2NhdGlvbi4KKworICAgICAgICBBZGRlZCBh
IG5ldyBsYXlvdXQgdGVzdDogZmFzdC92aXN1YWwtdmlld3BvcnQvaW9zL2ZpeGVkLWVsZW1lbnQt
b24tYm90dG9tLXdpdGgta2V5Ym9hcmQuaHRtbCwgYW5kIGFsc28gdHdlYWtlZAorICAgICAgICBm
aXhlZC1jYXJldC1wb3NpdGlvbi1hZnRlci1zY3JvbGwuaHRtbCB0byBjb3ZlciB0aGVzZSBjaGFu
Z2VzLgorCisgICAgICAgICogU2hhcmVkL1Zpc2libGVDb250ZW50UmVjdFVwZGF0ZUluZm8uY3Bw
OgorICAgICAgICAoV2ViS2l0OjpvcGVyYXRvcjw8KToKKyAgICAgICAgKiBTaGFyZWQvVmlzaWJs
ZUNvbnRlbnRSZWN0VXBkYXRlSW5mby5oOgorICAgICAgICAoV2ViS2l0OjpWaXNpYmxlQ29udGVu
dFJlY3RVcGRhdGVJbmZvOjpWaXNpYmxlQ29udGVudFJlY3RVcGRhdGVJbmZvKToKKyAgICAgICAg
KFdlYktpdDo6VmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlSW5mbzo6dW5vYnNjdXJlZENvbnRlbnRS
ZWN0UmVzcGVjdGluZ0lucHV0Vmlld0JvdW5kcyk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1dlYlZpZXcubW06CisgICAgICAgICgtW1dLV2ViVmlldyBfdXBkYXRlQ29udGVudFJl
Y3RzV2l0aFN0YXRlOl0pOgorICAgICAgICAoLVtXS1dlYlZpZXcgX2lucHV0Vmlld0JvdW5kc10p
OgorCisgICAgICAgIFJldHVybnMgdGhlIGN1cnJlbnQgYm91bmRzIG9mIHRoZSBpbnB1dCB2aWV3
LiBGb3IgdGVzdGluZyBwdXJwb3Nlcy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3UHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoK
KyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojp1bm9ic2N1cmVkQ29udGVudFJlY3RSZXNw
ZWN0aW5nSW5wdXRWaWV3Qm91bmRzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1JlbW90ZVNj
cm9sbGluZ0Nvb3JkaW5hdG9yUHJveHlJT1MubW06CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVNj
cm9sbGluZ0Nvb3JkaW5hdG9yUHJveHk6OmN1c3RvbUZpeGVkUG9zaXRpb25SZWN0KToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXcuaDoKKyAgICAgICAgKiBVSVByb2Nlc3Mv
aW9zL1dLQ29udGVudFZpZXcubW06CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX2NvbXB1dGVV
bm9ic2N1cmVkQ29udGVudFJlY3RSZXNwZWN0aW5nSW5wdXRWaWV3Qm91bmRzOnVub2JzY3VyZWRD
b250ZW50UmVjdDppbnB1dFZpZXdCb3VuZHM6c2NhbGU6XSk6CisKKyAgICAgICAgSGVscGVyIHRv
IGNvbXB1dGUgdGhlIHVub2JzY3VyZWQgcmVjdCwgYWNjb3VudGluZyBmb3IgdGhlIGJvdW5kcyBv
ZiB0aGUgY3VycmVudCBpbnB1dCB2aWV3LgorCisgICAgICAgICgtW1dLQ29udGVudFZpZXcgZGlk
VXBkYXRlVmlzaWJsZVJlY3Q6dW5vYnNjdXJlZFJlY3Q6dW5vYnNjdXJlZFJlY3RJblNjcm9sbFZp
ZXdDb29yZGluYXRlczpvYnNjdXJlZEluc2V0OmlucHV0Vmlld0JvdW5kczpzY2FsZTptaW5pbXVt
U2NhbGU6aW5TdGFibGVTdGF0ZTppc0NoYW5naW5nT2JzY3VyZWRJbnNldHNJbnRlcmFjdGl2ZWx5
OmVuY2xvc2VkSW5TY3JvbGxhYmxlQW5jZXN0b3JWaWV3Ol0pOgorICAgICAgICAoLVtXS0NvbnRl
bnRWaWV3IF9kaWRDb21taXRMYXllclRyZWU6XSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcg
ZGlkVXBkYXRlVmlzaWJsZVJlY3Q6dW5vYnNjdXJlZFJlY3Q6dW5vYnNjdXJlZFJlY3RJblNjcm9s
bFZpZXdDb29yZGluYXRlczpvYnNjdXJlZEluc2V0OnNjYWxlOm1pbmltdW1TY2FsZTppblN0YWJs
ZVN0YXRlOmlzQ2hhbmdpbmdPYnNjdXJlZEluc2V0c0ludGVyYWN0aXZlbHk6ZW5jbG9zZWRJblNj
cm9sbGFibGVBbmNlc3RvclZpZXc6XSk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNzL2lv
cy9XZWJQYWdlUHJveHlJT1MubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6Y29t
cHV0ZUN1c3RvbUZpeGVkUG9zaXRpb25SZWN0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1Jl
bW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHkubW06CisgICAgICAgIChXZWJLaXQ6OlJlbW90
ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk6OmNvbW1pdExheWVyVHJlZSk6CisKKzIwMTYtMTIt
MTYgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKICAgICAgICAgVmlz
dWFsIHZpZXdwb3J0czogY2FyZXRzIGFuZCBzZWxlY3Rpb24gVUkgYXJlIGluY29ycmVjdGx5IHBv
c2l0aW9uZWQgd2hlbiBlZGl0aW5nIGZpeGVkIGVsZW1lbnRzCiAgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjU3NjcKICAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzI5NjAyMzgyPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1Zpc2libGVD
b250ZW50UmVjdFVwZGF0ZUluZm8uY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1Zpc2libGVD
b250ZW50UmVjdFVwZGF0ZUluZm8uY3BwCmluZGV4IDNjNTcxMDU5N2Q5YWU5MjI3OGMyZDQ4MTRk
YmI2YmQxNGNkODQyZTguLjI3N2FlYWQ3NzczZmM5YjAwY2ZjZWI3Mzg4OTQ0NTQyM2VjZWRkMDYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9WaXNpYmxlQ29udGVudFJlY3RVcGRh
dGVJbmZvLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvVmlzaWJsZUNvbnRlbnRSZWN0
VXBkYXRlSW5mby5jcHAKQEAgLTEwOSw2ICsxMDksNyBAQCBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8
KFRleHRTdHJlYW0mIHRzLCBjb25zdCBWaXNpYmxlQ29udGVudFJlY3RVcGRhdGVJbmZvJiBpbmZv
KQogICAgIHRzLmR1bXBQcm9wZXJ0eSgiZXhwb3NlZENvbnRlbnRSZWN0IiwgaW5mby5leHBvc2Vk
Q29udGVudFJlY3QoKSk7CiAgICAgdHMuZHVtcFByb3BlcnR5KCJ1bm9ic2N1cmVkQ29udGVudFJl
Y3QiLCBpbmZvLnVub2JzY3VyZWRDb250ZW50UmVjdCgpKTsKICAgICB0cy5kdW1wUHJvcGVydHko
InVub2JzY3VyZWRSZWN0SW5TY3JvbGxWaWV3Q29vcmRpbmF0ZXMiLCBpbmZvLnVub2JzY3VyZWRS
ZWN0SW5TY3JvbGxWaWV3Q29vcmRpbmF0ZXMoKSk7CisgICAgdHMuZHVtcFByb3BlcnR5KCJ1bm9i
c2N1cmVkQ29udGVudFJlY3RSZXNwZWN0aW5nSW5wdXRWaWV3Qm91bmRzIiwgaW5mby51bm9ic2N1
cmVkQ29udGVudFJlY3RSZXNwZWN0aW5nSW5wdXRWaWV3Qm91bmRzKCkpOwogICAgIHRzLmR1bXBQ
cm9wZXJ0eSgiY3VzdG9tRml4ZWRQb3NpdGlvblJlY3QiLCBpbmZvLmN1c3RvbUZpeGVkUG9zaXRp
b25SZWN0KCkpOwogICAgIHRzLmR1bXBQcm9wZXJ0eSgib2JzY3VyZWRJbnNldCIsIGluZm8ub2Jz
Y3VyZWRJbnNldCgpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1Zpc2li
bGVDb250ZW50UmVjdFVwZGF0ZUluZm8uaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9WaXNpYmxl
Q29udGVudFJlY3RVcGRhdGVJbmZvLmgKaW5kZXggMDVkM2VhZDNmNTE4MjQxNDY5ZTliYTFlZDk3
YmNmYTI5NGIwNzRlZC4uOGVhMTUzNThkOTIzMTc2ZWMwMGIwZjhjNzRkYWZkYmZlNGNiYmFmMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1Zpc2libGVDb250ZW50UmVjdFVwZGF0
ZUluZm8uaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvVmlzaWJsZUNvbnRlbnRSZWN0VXBk
YXRlSW5mby5oCkBAIC00NSwxMiArNDUsMTMgQEAgcHVibGljOgogICAgIFZpc2libGVDb250ZW50
UmVjdFVwZGF0ZUluZm8oKSA9IGRlZmF1bHQ7CiAKICAgICBWaXNpYmxlQ29udGVudFJlY3RVcGRh
dGVJbmZvKGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgZXhwb3NlZENvbnRlbnRSZWN0LCBjb25z
dCBXZWJDb3JlOjpGbG9hdFJlY3QmIHVub2JzY3VyZWRDb250ZW50UmVjdCwKLSAgICAgICAgY29u
c3QgV2ViQ29yZTo6RmxvYXRSZWN0JiB1bm9ic2N1cmVkUmVjdEluU2Nyb2xsVmlld0Nvb3JkaW5h
dGVzLCBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIGN1c3RvbUZpeGVkUG9zaXRpb25SZWN0LAor
ICAgICAgICBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIHVub2JzY3VyZWRSZWN0SW5TY3JvbGxW
aWV3Q29vcmRpbmF0ZXMsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgdW5vYnNjdXJlZENvbnRl
bnRSZWN0UmVzcGVjdGluZ0lucHV0Vmlld0JvdW5kcywgY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0
JiBjdXN0b21GaXhlZFBvc2l0aW9uUmVjdCwKICAgICAgICAgY29uc3QgV2ViQ29yZTo6RmxvYXRT
aXplJiBvYnNjdXJlZEluc2V0LCBkb3VibGUgc2NhbGUsIGJvb2wgaW5TdGFibGVTdGF0ZSwgYm9v
bCBpc0ZpcnN0VXBkYXRlRm9yTmV3Vmlld1NpemUsIGJvb2wgaXNDaGFuZ2luZ09ic2N1cmVkSW5z
ZXRzSW50ZXJhY3RpdmVseSwgYm9vbCBhbGxvd1Nocmlua1RvRml0LCBib29sIGVuY2xvc2VkSW5T
Y3JvbGxhYmxlQW5jZXN0b3JWaWV3LAogICAgICAgICBNb25vdG9uaWNUaW1lIHRpbWVzdGFtcCwg
ZG91YmxlIGhvcml6b250YWxWZWxvY2l0eSwgZG91YmxlIHZlcnRpY2FsVmVsb2NpdHksIGRvdWJs
ZSBzY2FsZUNoYW5nZVJhdGUsIHVpbnQ2NF90IGxhc3RMYXllclRyZWVUcmFuc2FjdGlvbklkKQog
ICAgICAgICA6IG1fZXhwb3NlZENvbnRlbnRSZWN0KGV4cG9zZWRDb250ZW50UmVjdCkKICAgICAg
ICAgLCBtX3Vub2JzY3VyZWRDb250ZW50UmVjdCh1bm9ic2N1cmVkQ29udGVudFJlY3QpCiAgICAg
ICAgICwgbV91bm9ic2N1cmVkUmVjdEluU2Nyb2xsVmlld0Nvb3JkaW5hdGVzKHVub2JzY3VyZWRS
ZWN0SW5TY3JvbGxWaWV3Q29vcmRpbmF0ZXMpCisgICAgICAgICwgbV91bm9ic2N1cmVkQ29udGVu
dFJlY3RSZXNwZWN0aW5nSW5wdXRWaWV3Qm91bmRzKHVub2JzY3VyZWRDb250ZW50UmVjdFJlc3Bl
Y3RpbmdJbnB1dFZpZXdCb3VuZHMpCiAgICAgICAgICwgbV9jdXN0b21GaXhlZFBvc2l0aW9uUmVj
dChjdXN0b21GaXhlZFBvc2l0aW9uUmVjdCkKICAgICAgICAgLCBtX29ic2N1cmVkSW5zZXQob2Jz
Y3VyZWRJbnNldCkKICAgICAgICAgLCBtX2xhc3RMYXllclRyZWVUcmFuc2FjdGlvbklEKGxhc3RM
YXllclRyZWVUcmFuc2FjdGlvbklkKQpAQCAtNzAsNiArNzEsNyBAQCBwdWJsaWM6CiAgICAgY29u
c3QgV2ViQ29yZTo6RmxvYXRSZWN0JiBleHBvc2VkQ29udGVudFJlY3QoKSBjb25zdCB7IHJldHVy
biBtX2V4cG9zZWRDb250ZW50UmVjdDsgfQogICAgIGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYg
dW5vYnNjdXJlZENvbnRlbnRSZWN0KCkgY29uc3QgeyByZXR1cm4gbV91bm9ic2N1cmVkQ29udGVu
dFJlY3Q7IH0KICAgICBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIHVub2JzY3VyZWRSZWN0SW5T
Y3JvbGxWaWV3Q29vcmRpbmF0ZXMoKSBjb25zdCB7IHJldHVybiBtX3Vub2JzY3VyZWRSZWN0SW5T
Y3JvbGxWaWV3Q29vcmRpbmF0ZXM7IH0KKyAgICBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIHVu
b2JzY3VyZWRDb250ZW50UmVjdFJlc3BlY3RpbmdJbnB1dFZpZXdCb3VuZHMoKSBjb25zdCB7IHJl
dHVybiBtX3Vub2JzY3VyZWRDb250ZW50UmVjdFJlc3BlY3RpbmdJbnB1dFZpZXdCb3VuZHM7IH0K
ICAgICBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIGN1c3RvbUZpeGVkUG9zaXRpb25SZWN0KCkg
Y29uc3QgeyByZXR1cm4gbV9jdXN0b21GaXhlZFBvc2l0aW9uUmVjdDsgfQogICAgIGNvbnN0IFdl
YkNvcmU6OkZsb2F0U2l6ZSBvYnNjdXJlZEluc2V0KCkgY29uc3QgeyByZXR1cm4gbV9vYnNjdXJl
ZEluc2V0OyB9CiAKQEAgLTk2LDYgKzk4LDcgQEAgcHJpdmF0ZToKICAgICBXZWJDb3JlOjpGbG9h
dFJlY3QgbV9leHBvc2VkQ29udGVudFJlY3Q7CiAgICAgV2ViQ29yZTo6RmxvYXRSZWN0IG1fdW5v
YnNjdXJlZENvbnRlbnRSZWN0OwogICAgIFdlYkNvcmU6OkZsb2F0UmVjdCBtX3Vub2JzY3VyZWRS
ZWN0SW5TY3JvbGxWaWV3Q29vcmRpbmF0ZXM7CisgICAgV2ViQ29yZTo6RmxvYXRSZWN0IG1fdW5v
YnNjdXJlZENvbnRlbnRSZWN0UmVzcGVjdGluZ0lucHV0Vmlld0JvdW5kczsKICAgICBXZWJDb3Jl
OjpGbG9hdFJlY3QgbV9jdXN0b21GaXhlZFBvc2l0aW9uUmVjdDsgLy8gV2hlbiB2aXN1YWwgdmll
d3BvcnRzIGFyZSBlbmFibGVkLCB0aGlzIGlzIHRoZSBsYXlvdXQgdmlld3BvcnQuCiAgICAgV2Vi
Q29yZTo6RmxvYXRTaXplIG1fb2JzY3VyZWRJbnNldDsKICAgICB1aW50NjRfdCBtX2xhc3RMYXll
clRyZWVUcmFuc2FjdGlvbklEIHsgMCB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLV2ViVmlldy5tbQppbmRleCBjMTFhYmIzOTZhMTVmYjIyMWM0MGJlMWVkYzRm
ZmE0YjFlZDk2YzAzLi5mNTc0MWNmMTQ2NzFmYjI0NmZlYWJlNWY0M2VkZmU2Yjc4NDUwYTlmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQpA
QCAtMjE2Miw2ICsyMTYyLDcgQEAgLSAodm9pZClfdXBkYXRlQ29udGVudFJlY3RzV2l0aFN0YXRl
OihCT09MKWluU3RhYmxlU3RhdGUKICAgICAgICAgdW5vYnNjdXJlZFJlY3Q6dW5vYnNjdXJlZFJl
Y3RJbkNvbnRlbnRDb29yZGluYXRlcwogICAgICAgICB1bm9ic2N1cmVkUmVjdEluU2Nyb2xsVmll
d0Nvb3JkaW5hdGVzOnVub2JzY3VyZWRSZWN0CiAgICAgICAgIG9ic2N1cmVkSW5zZXQ6Q0dTaXpl
TWFrZShfb2JzY3VyZWRJbnNldHMubGVmdCwgX29ic2N1cmVkSW5zZXRzLnRvcCkKKyAgICAgICAg
aW5wdXRWaWV3Qm91bmRzOl9pbnB1dFZpZXdCb3VuZHMKICAgICAgICAgc2NhbGU6c2NhbGVGYWN0
b3IgbWluaW11bVNjYWxlOltfc2Nyb2xsVmlldyBtaW5pbXVtWm9vbVNjYWxlXQogICAgICAgICBp
blN0YWJsZVN0YXRlOmluU3RhYmxlU3RhdGUKICAgICAgICAgaXNDaGFuZ2luZ09ic2N1cmVkSW5z
ZXRzSW50ZXJhY3RpdmVseTpfaXNDaGFuZ2luZ09ic2N1cmVkSW5zZXRzSW50ZXJhY3RpdmVseQpA
QCAtNDc1Miw2ICs0NzUzLDExIEBAIC0gKENHUmVjdClfdWlUZXh0Q2FyZXRSZWN0CiAgICAgcmV0
dXJuIFtbX2NvbnRlbnRWaWV3IHZhbHVlRm9yS2V5UGF0aDpAImludGVyYWN0aW9uQXNzaXN0YW50
LnNlbGVjdGlvblZpZXcuc2VsZWN0aW9uLmNhcmV0UmVjdCJdIENHUmVjdFZhbHVlXTsKIH0KIAor
LSAoQ0dSZWN0KV9pbnB1dFZpZXdCb3VuZHMKK3sKKyAgICByZXR1cm4gX2lucHV0Vmlld0JvdW5k
czsKK30KKwogLSAoTlNBcnJheTxOU1ZhbHVlICo+ICopX3VpVGV4dFNlbGVjdGlvblJlY3RzCiB7
CiAgICAgLy8gRm9yY2UgdGhlIHNlbGVjdGlvbiB2aWV3IHRvIHVwZGF0ZSBpZiBuZWVkZWQuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1By
aXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJp
dmF0ZS5oCmluZGV4IDlmNjFiMDNiODRhMDg5Zjk1ZjljZjE1MWNhODY1OTZlMDA5M2Q3NDAuLjA3
MWY2YmNkOGQyMjRmNzcxOTU1MDRhZmU1NjRiODk5Mjg2NTQ4ZTkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oCkBAIC0y
OTEsNiArMjkxLDcgQEAgdHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgX1dLSW1tZWRpYXRlQWN0
aW9uVHlwZSkgewogCiBAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIE5TQXJyYXk8TlNW
YWx1ZSAqPiAqX3VpVGV4dFNlbGVjdGlvblJlY3RzIFdLX0FQSV9BVkFJTEFCTEUoaW9zKFdLX0lP
U19UQkEpKTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgQ0dSZWN0IF91aVRleHRD
YXJldFJlY3QgV0tfQVBJX0FWQUlMQUJMRShpb3MoV0tfSU9TX1RCQSkpOworQHByb3BlcnR5IChu
b25hdG9taWMsIHJlYWRvbmx5KSBDR1JlY3QgX2lucHV0Vmlld0JvdW5kcyBXS19BUElfQVZBSUxB
QkxFKGlvcyhXS19JT1NfVEJBKSk7CiAKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkg
TlNTdHJpbmcgKl9zY3JvbGxpbmdUcmVlQXNUZXh0IFdLX0FQSV9BVkFJTEFCTEUoaW9zKFdLX0lP
U19UQkEpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IDUy
NzM3OTBjYzE1ODI4MjQ1ZTg5NjJkY2ZhMDFiMTExYjcxNDE0OGMuLjNhNDcyMzA4NzE4NGZkY2Rh
YWNjZTFmMjkyOGM3OTE1ODgyZDM2ZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmgKQEAgLTQ2OCw2ICs0NjgsNyBAQCBwdWJsaWM6CiAgICAgY29uc3QgV2ViQ29yZTo6
RmxvYXRSZWN0JiBleHBvc2VkQ29udGVudFJlY3QoKSBjb25zdCB7IHJldHVybiBtX2xhc3RWaXNp
YmxlQ29udGVudFJlY3RVcGRhdGUuZXhwb3NlZENvbnRlbnRSZWN0KCk7IH0KICAgICBjb25zdCBX
ZWJDb3JlOjpGbG9hdFJlY3QmIHVub2JzY3VyZWRDb250ZW50UmVjdCgpIGNvbnN0IHsgcmV0dXJu
IG1fbGFzdFZpc2libGVDb250ZW50UmVjdFVwZGF0ZS51bm9ic2N1cmVkQ29udGVudFJlY3QoKTsg
fQogICAgIGJvb2wgaW5TdGFibGVTdGF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fbGFzdFZpc2libGVD
b250ZW50UmVjdFVwZGF0ZS5pblN0YWJsZVN0YXRlKCk7IH0KKyAgICBjb25zdCBXZWJDb3JlOjpG
bG9hdFJlY3QmIHVub2JzY3VyZWRDb250ZW50UmVjdFJlc3BlY3RpbmdJbnB1dFZpZXdCb3VuZHMo
KSBjb25zdCB7IHJldHVybiBtX2xhc3RWaXNpYmxlQ29udGVudFJlY3RVcGRhdGUudW5vYnNjdXJl
ZENvbnRlbnRSZWN0UmVzcGVjdGluZ0lucHV0Vmlld0JvdW5kcygpOyB9CiAgICAgLy8gV2hlbiB2
aXN1YWwgdmlld3BvcnRzIGFyZSBlbmFibGVkLCB0aGlzIGlzIHRoZSBsYXlvdXQgdmlld3BvcnQg
cmVjdC4KICAgICBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIGN1c3RvbUZpeGVkUG9zaXRpb25S
ZWN0KCkgY29uc3QgeyByZXR1cm4gbV9sYXN0VmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlLmN1c3Rv
bUZpeGVkUG9zaXRpb25SZWN0KCk7IH0KIApAQCAtNDc1LDcgKzQ3Niw3IEBAIHB1YmxpYzoKICAg
ICB2b2lkIHJlc2VuZExhc3RWaXNpYmxlQ29udGVudFJlY3RzKCk7CiAKICAgICBlbnVtIGNsYXNz
IFVub2JzY3VyZWRSZWN0Q29uc3RyYWludCB7IENvbnN0cmFpbmVkVG9Eb2N1bWVudFJlY3QsIFVu
Y29uc3RyYWluZWQgfTsKLSAgICBXZWJDb3JlOjpGbG9hdFJlY3QgY29tcHV0ZUN1c3RvbUZpeGVk
UG9zaXRpb25SZWN0KGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgdW5vYnNjdXJlZENvbnRlbnRS
ZWN0LCBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIGN1cnJlbnRDdXN0b21GaXhlZFBvc2l0aW9u
UmVjdCwgZG91YmxlIGRpc3BsYXllZENvbnRlbnRTY2FsZSwgVW5vYnNjdXJlZFJlY3RDb25zdHJh
aW50ID0gVW5vYnNjdXJlZFJlY3RDb25zdHJhaW50OjpVbmNvbnN0cmFpbmVkLCBib29sIHZpc3Vh
bFZpZXdwb3J0RW5hYmxlZCA9IGZhbHNlKSBjb25zdDsKKyAgICBXZWJDb3JlOjpGbG9hdFJlY3Qg
Y29tcHV0ZUN1c3RvbUZpeGVkUG9zaXRpb25SZWN0KGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYg
dW5vYnNjdXJlZENvbnRlbnRSZWN0LCBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIHVub2JzY3Vy
ZWRDb250ZW50UmVjdFJlc3BlY3RpbmdJbnB1dFZpZXdCb3VuZHMsIGNvbnN0IFdlYkNvcmU6OkZs
b2F0UmVjdCYgY3VycmVudEN1c3RvbUZpeGVkUG9zaXRpb25SZWN0LCBkb3VibGUgZGlzcGxheWVk
Q29udGVudFNjYWxlLCBVbm9ic2N1cmVkUmVjdENvbnN0cmFpbnQgPSBVbm9ic2N1cmVkUmVjdENv
bnN0cmFpbnQ6OlVuY29uc3RyYWluZWQsIGJvb2wgdmlzdWFsVmlld3BvcnRFbmFibGVkID0gZmFs
c2UpIGNvbnN0OwogCiAgICAgdm9pZCBvdmVyZmxvd1Njcm9sbFZpZXdXaWxsU3RhcnRQYW5HZXN0
dXJlKCk7CiAgICAgdm9pZCBvdmVyZmxvd1Njcm9sbFZpZXdEaWRTY3JvbGwoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0
b3JQcm94eUlPUy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUmVtb3RlU2Nyb2xs
aW5nQ29vcmRpbmF0b3JQcm94eUlPUy5tbQppbmRleCAxMGM4ZGY3NzJlMmQ1Y2MwOWRhYjUyMzg1
MjI5MmIyMjM1MzNmOTk3Li42YzlhMWMwMzllMDQyNGY5OTc1YjVhZmM1NTljMDY5ZDBiYzU4MmRm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1JlbW90ZVNjcm9sbGlu
Z0Nvb3JkaW5hdG9yUHJveHlJT1MubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lv
cy9SZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclByb3h5SU9TLm1tCkBAIC05NCw3ICs5NCw3IEBA
IHZvaWQgUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eTo6Y29ubmVjdFN0YXRlTm9kZUxh
eWVycyhTY3JvbGxpbmdTdGF0ZVRyZWUmCiAKIEZsb2F0UmVjdCBSZW1vdGVTY3JvbGxpbmdDb29y
ZGluYXRvclByb3h5OjpjdXN0b21GaXhlZFBvc2l0aW9uUmVjdCgpIGNvbnN0CiB7Ci0gICAgcmV0
dXJuIG1fd2ViUGFnZVByb3h5LmNvbXB1dGVDdXN0b21GaXhlZFBvc2l0aW9uUmVjdChtX3dlYlBh
Z2VQcm94eS51bm9ic2N1cmVkQ29udGVudFJlY3QoKSwgbV93ZWJQYWdlUHJveHkuY3VzdG9tRml4
ZWRQb3NpdGlvblJlY3QoKSwgbV93ZWJQYWdlUHJveHkuZGlzcGxheWVkQ29udGVudFNjYWxlKCkp
OworICAgIHJldHVybiBtX3dlYlBhZ2VQcm94eS5jb21wdXRlQ3VzdG9tRml4ZWRQb3NpdGlvblJl
Y3QobV93ZWJQYWdlUHJveHkudW5vYnNjdXJlZENvbnRlbnRSZWN0KCksIG1fd2ViUGFnZVByb3h5
LnVub2JzY3VyZWRDb250ZW50UmVjdFJlc3BlY3RpbmdJbnB1dFZpZXdCb3VuZHMoKSwgbV93ZWJQ
YWdlUHJveHkuY3VzdG9tRml4ZWRQb3NpdGlvblJlY3QoKSwgbV93ZWJQYWdlUHJveHkuZGlzcGxh
eWVkQ29udGVudFNjYWxlKCkpOwogfQogCiB2b2lkIFJlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9y
UHJveHk6OnNjcm9sbGluZ1RyZWVOb2RlV2lsbFN0YXJ0UGFuR2VzdHVyZSgpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXcuaCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlldy5oCmluZGV4IGY3YThhZjNkNTU3Y2M1
OGM5NTBjZTJiM2E4MTAxYmJhZjFjMTdmNmUuLmVjODJmN2IxOTM2NGZjZGE4YTkxNDRhNjFhMmNj
YmU5MjhlMTAyODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tD
b250ZW50Vmlldy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50
Vmlldy5oCkBAIC03MSw2ICs3MSw3IEBAIGNsYXNzIFdlYlByb2Nlc3NQb29sOwogICAgIHVub2Jz
Y3VyZWRSZWN0OihDR1JlY3QpdW5vYnNjdXJlZFJlY3QKICAgICB1bm9ic2N1cmVkUmVjdEluU2Ny
b2xsVmlld0Nvb3JkaW5hdGVzOihDR1JlY3QpdW5vYnNjdXJlZFJlY3RJblNjcm9sbFZpZXdDb29y
ZGluYXRlcwogICAgIG9ic2N1cmVkSW5zZXQ6KENHU2l6ZSl0b3BJbnNldAorICAgIGlucHV0Vmll
d0JvdW5kczooQ0dSZWN0KWlucHV0Vmlld0JvdW5kcwogICAgIHNjYWxlOihDR0Zsb2F0KXNjYWxl
IG1pbmltdW1TY2FsZTooQ0dGbG9hdCltaW5pbXVtU2NhbGUKICAgICBpblN0YWJsZVN0YXRlOihC
T09MKWlzU3RhYmxlU3RhdGUKICAgICBpc0NoYW5naW5nT2JzY3VyZWRJbnNldHNJbnRlcmFjdGl2
ZWx5OihCT09MKWlzQ2hhbmdpbmdPYnNjdXJlZEluc2V0c0ludGVyYWN0aXZlbHkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlldy5tbSBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlldy5tbQppbmRleCA0YmZiZDRjNDQy
Zjk3YzUzZjc2ZTNiMmJjZDgxOTQ3NTZkNzRiOThmLi42NmFkNThiZDY0NTI4NzlkOWFkNzYxZTIz
ZDc1YTdiZTE4N2FlMzhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9z
L1dLQ29udGVudFZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0Nv
bnRlbnRWaWV3Lm1tCkBAIC0zNzIsMTAgKzM3MiwxOCBAQCAtICh2b2lkKV9kaWRFeGl0U3RhYmxl
U3RhdGUKICAgICBbW193ZWJTZWxlY3Rpb25Bc3Npc3RhbnQgc2VsZWN0aW9uVmlld10gc2V0SGlk
ZGVuOllFU107CiB9CiAKKy0gKENHUmVjdClfY29tcHV0ZVVub2JzY3VyZWRDb250ZW50UmVjdFJl
c3BlY3RpbmdJbnB1dFZpZXdCb3VuZHM6KENHUmVjdCl2aXNpYmxlQ29udGVudFJlY3QgdW5vYnNj
dXJlZENvbnRlbnRSZWN0OihDR1JlY3QpdW5vYnNjdXJlZENvbnRlbnRSZWN0IGlucHV0Vmlld0Jv
dW5kczooQ0dSZWN0KWlucHV0Vmlld0JvdW5kcyBzY2FsZTooQ0dGbG9hdClzY2FsZQoreworICAg
IGlmIChpbnB1dFZpZXdCb3VuZHMuc2l6ZS5oZWlnaHQpCisgICAgICAgIHVub2JzY3VyZWRDb250
ZW50UmVjdC5zaXplLmhlaWdodCA9IHN0ZDo6bWluPGZsb2F0Pih1bm9ic2N1cmVkQ29udGVudFJl
Y3Quc2l6ZS5oZWlnaHQsIHZpc2libGVDb250ZW50UmVjdC5vcmlnaW4ueSArIChpbnB1dFZpZXdC
b3VuZHMub3JpZ2luLnkgLyBzY2FsZSkgLSB1bm9ic2N1cmVkQ29udGVudFJlY3Qub3JpZ2luLnkp
OworICAgIHJldHVybiB1bm9ic2N1cmVkQ29udGVudFJlY3Q7Cit9CisKIC0gKHZvaWQpZGlkVXBk
YXRlVmlzaWJsZVJlY3Q6KENHUmVjdCl2aXNpYmxlQ29udGVudFJlY3QKICAgICB1bm9ic2N1cmVk
UmVjdDooQ0dSZWN0KXVub2JzY3VyZWRDb250ZW50UmVjdAogICAgIHVub2JzY3VyZWRSZWN0SW5T
Y3JvbGxWaWV3Q29vcmRpbmF0ZXM6KENHUmVjdCl1bm9ic2N1cmVkUmVjdEluU2Nyb2xsVmlld0Nv
b3JkaW5hdGVzCiAgICAgb2JzY3VyZWRJbnNldDooQ0dTaXplKW9ic2N1cmVkSW5zZXQKKyAgICBp
bnB1dFZpZXdCb3VuZHM6KENHUmVjdClpbnB1dFZpZXdCb3VuZHMKICAgICBzY2FsZTooQ0dGbG9h
dCl6b29tU2NhbGUgbWluaW11bVNjYWxlOihDR0Zsb2F0KW1pbmltdW1TY2FsZQogICAgIGluU3Rh
YmxlU3RhdGU6KEJPT0wpaXNTdGFibGVTdGF0ZQogICAgIGlzQ2hhbmdpbmdPYnNjdXJlZEluc2V0
c0ludGVyYWN0aXZlbHk6KEJPT0wpaXNDaGFuZ2luZ09ic2N1cmVkSW5zZXRzSW50ZXJhY3RpdmVs
eQpAQCAtMzkzLDEyICs0MDEsMTUgQEAgLSAodm9pZClkaWRVcGRhdGVWaXNpYmxlUmVjdDooQ0dS
ZWN0KXZpc2libGVDb250ZW50UmVjdAogICAgICAgICBfaGlzdG9yaWNhbEtpbmVtYXRpY0RhdGEu
Y2xlYXIoKTsKIAogICAgIFJlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJveHkqIHNjcm9sbGlu
Z0Nvb3JkaW5hdG9yID0gX3BhZ2UtPnNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJveHkoKTsKLSAgICBG
bG9hdFJlY3QgZml4ZWRQb3NpdGlvblJlY3RGb3JMYXlvdXQgPSBfcGFnZS0+Y29tcHV0ZUN1c3Rv
bUZpeGVkUG9zaXRpb25SZWN0KHVub2JzY3VyZWRDb250ZW50UmVjdCwgX3BhZ2UtPmN1c3RvbUZp
eGVkUG9zaXRpb25SZWN0KCksIHpvb21TY2FsZSwgV2ViUGFnZVByb3h5OjpVbm9ic2N1cmVkUmVj
dENvbnN0cmFpbnQ6OkNvbnN0cmFpbmVkVG9Eb2N1bWVudFJlY3QsIHNjcm9sbGluZ0Nvb3JkaW5h
dG9yLT52aXN1YWxWaWV3cG9ydEVuYWJsZWQoKSk7CisKKyAgICBDR1JlY3QgdW5vYnNjdXJlZENv
bnRlbnRSZWN0UmVzcGVjdGluZ0lucHV0Vmlld0JvdW5kcyA9IFtzZWxmIF9jb21wdXRlVW5vYnNj
dXJlZENvbnRlbnRSZWN0UmVzcGVjdGluZ0lucHV0Vmlld0JvdW5kczp2aXNpYmxlQ29udGVudFJl
Y3QgdW5vYnNjdXJlZENvbnRlbnRSZWN0OnVub2JzY3VyZWRDb250ZW50UmVjdCBpbnB1dFZpZXdC
b3VuZHM6aW5wdXRWaWV3Qm91bmRzIHNjYWxlOnpvb21TY2FsZV07CisgICAgRmxvYXRSZWN0IGZp
eGVkUG9zaXRpb25SZWN0Rm9yTGF5b3V0ID0gX3BhZ2UtPmNvbXB1dGVDdXN0b21GaXhlZFBvc2l0
aW9uUmVjdCh1bm9ic2N1cmVkQ29udGVudFJlY3QsIHVub2JzY3VyZWRDb250ZW50UmVjdFJlc3Bl
Y3RpbmdJbnB1dFZpZXdCb3VuZHMsIF9wYWdlLT5jdXN0b21GaXhlZFBvc2l0aW9uUmVjdCgpLCB6
b29tU2NhbGUsIFdlYlBhZ2VQcm94eTo6VW5vYnNjdXJlZFJlY3RDb25zdHJhaW50OjpDb25zdHJh
aW5lZFRvRG9jdW1lbnRSZWN0LCBzY3JvbGxpbmdDb29yZGluYXRvci0+dmlzdWFsVmlld3BvcnRF
bmFibGVkKCkpOwogCiAgICAgVmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlSW5mbyB2aXNpYmxlQ29u
dGVudFJlY3RVcGRhdGVJbmZvKAogICAgICAgICB2aXNpYmxlQ29udGVudFJlY3QsCiAgICAgICAg
IHVub2JzY3VyZWRDb250ZW50UmVjdCwKICAgICAgICAgdW5vYnNjdXJlZFJlY3RJblNjcm9sbFZp
ZXdDb29yZGluYXRlcywKKyAgICAgICAgdW5vYnNjdXJlZENvbnRlbnRSZWN0UmVzcGVjdGluZ0lu
cHV0Vmlld0JvdW5kcywKICAgICAgICAgZml4ZWRQb3NpdGlvblJlY3RGb3JMYXlvdXQsCiAgICAg
ICAgIFdlYkNvcmU6OkZsb2F0U2l6ZShvYnNjdXJlZEluc2V0KSwKICAgICAgICAgem9vbVNjYWxl
LApAQCAtNDIwLDcgKzQzMSw3IEBAIC0gKHZvaWQpZGlkVXBkYXRlVmlzaWJsZVJlY3Q6KENHUmVj
dCl2aXNpYmxlQ29udGVudFJlY3QKIAogICAgIF9zaXplQ2hhbmdlZFNpbmNlTGFzdFZpc2libGVD
b250ZW50UmVjdFVwZGF0ZSA9IE5POwogCi0gICAgRmxvYXRSZWN0IGZpeGVkUG9zaXRpb25SZWN0
ID0gX3BhZ2UtPmNvbXB1dGVDdXN0b21GaXhlZFBvc2l0aW9uUmVjdChfcGFnZS0+dW5vYnNjdXJl
ZENvbnRlbnRSZWN0KCksIF9wYWdlLT5jdXN0b21GaXhlZFBvc2l0aW9uUmVjdCgpLCB6b29tU2Nh
bGUsIFdlYlBhZ2VQcm94eTo6VW5vYnNjdXJlZFJlY3RDb25zdHJhaW50OjpVbmNvbnN0cmFpbmVk
LCBzY3JvbGxpbmdDb29yZGluYXRvci0+dmlzdWFsVmlld3BvcnRFbmFibGVkKCkpOworICAgIEZs
b2F0UmVjdCBmaXhlZFBvc2l0aW9uUmVjdCA9IF9wYWdlLT5jb21wdXRlQ3VzdG9tRml4ZWRQb3Np
dGlvblJlY3QoX3BhZ2UtPnVub2JzY3VyZWRDb250ZW50UmVjdCgpLCBfcGFnZS0+dW5vYnNjdXJl
ZENvbnRlbnRSZWN0UmVzcGVjdGluZ0lucHV0Vmlld0JvdW5kcygpLCBfcGFnZS0+Y3VzdG9tRml4
ZWRQb3NpdGlvblJlY3QoKSwgem9vbVNjYWxlLCBXZWJQYWdlUHJveHk6OlVub2JzY3VyZWRSZWN0
Q29uc3RyYWludDo6VW5jb25zdHJhaW5lZCwgc2Nyb2xsaW5nQ29vcmRpbmF0b3ItPnZpc3VhbFZp
ZXdwb3J0RW5hYmxlZCgpKTsKICAgICBzY3JvbGxpbmdDb29yZGluYXRvci0+dmlld3BvcnRDaGFu
Z2VkVmlhRGVsZWdhdGVkU2Nyb2xsaW5nKHNjcm9sbGluZ0Nvb3JkaW5hdG9yLT5yb290U2Nyb2xs
aW5nTm9kZUlEKCksIGZpeGVkUG9zaXRpb25SZWN0LCB6b29tU2NhbGUpOwogCiAgICAgZHJhd2lu
Z0FyZWEtPnVwZGF0ZURlYnVnSW5kaWNhdG9yKCk7CkBAIC01NTksNyArNTcwLDcgQEAgLSAodm9p
ZClfZGlkQ29tbWl0TGF5ZXJUcmVlOihjb25zdCBXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZVRyYW5z
YWN0aW9uJilsYXllclRyZWUKICAgICAKICAgICBpZiAoYm91bmRzQ2hhbmdlZCkgewogICAgICAg
ICAvLyBGSVhNRTogZmFjdG9yIGNvbXB1dGVDdXN0b21GaXhlZFBvc2l0aW9uUmVjdCgpIGludG8g
c29tZXRoaW5nIHRoYXQgZ2l2ZXMgdXMgdGhpcyByZWN0LgotICAgICAgICBGbG9hdFJlY3QgZml4
ZWRQb3NpdGlvblJlY3QgPSBfcGFnZS0+Y29tcHV0ZUN1c3RvbUZpeGVkUG9zaXRpb25SZWN0KF9w
YWdlLT51bm9ic2N1cmVkQ29udGVudFJlY3QoKSwgX3BhZ2UtPmN1c3RvbUZpeGVkUG9zaXRpb25S
ZWN0KCksIFtbX3dlYlZpZXcgc2Nyb2xsVmlld10gem9vbVNjYWxlXSk7CisgICAgICAgIEZsb2F0
UmVjdCBmaXhlZFBvc2l0aW9uUmVjdCA9IF9wYWdlLT5jb21wdXRlQ3VzdG9tRml4ZWRQb3NpdGlv
blJlY3QoX3BhZ2UtPnVub2JzY3VyZWRDb250ZW50UmVjdCgpLCBfcGFnZS0+dW5vYnNjdXJlZENv
bnRlbnRSZWN0UmVzcGVjdGluZ0lucHV0Vmlld0JvdW5kcygpLCBfcGFnZS0+Y3VzdG9tRml4ZWRQ
b3NpdGlvblJlY3QoKSwgW1tfd2ViVmlldyBzY3JvbGxWaWV3XSB6b29tU2NhbGVdKTsKICAgICAg
ICAgW3NlbGYgdXBkYXRlRml4ZWRDbGlwcGluZ1ZpZXc6Zml4ZWRQb3NpdGlvblJlY3RdOwogCiAg
ICAgICAgIC8vIFdlIG5lZWQgdG8gcHVzaCB0aGUgbmV3IGNvbnRlbnQgYm91bmRzIHRvIHRoZSB3
ZWJ2aWV3IHRvIHVwZGF0ZSBmaXhlZCBwb3NpdGlvbiByZWN0cy4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0KaW5kZXggMmU5YzZjNzg5ZDRjYjFl
ZTNlZDIxODE3NjNiYjZjYWRlZDg0ZmY0ZS4uYTE5ZTk5YzFhMGE2OWEyMGI5ZDRkZWUxZjQ5ZjJm
ZWNkYjVlY2VmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XZWJQ
YWdlUHJveHlJT1MubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XZWJQYWdl
UHJveHlJT1MubW0KQEAgLTIyMCw3ICsyMjAsNyBAQCBzdGF0aWMgaW5saW5lIGZsb2F0IGFkanVz
dGVkVW5leHBvc2VkTWF4RWRnZShmbG9hdCBkb2N1bWVudEVkZ2UsIGZsb2F0IGV4cG9zZWRSZQog
fQogCiAvLyBGSVhNRTogcmVuYW1lIHRoaXMgd2hlbiB2aXN1YWwgdmlld3BvcnRzIGFyZSB0aGUg
ZGVmYXVsdC4KLVdlYkNvcmU6OkZsb2F0UmVjdCBXZWJQYWdlUHJveHk6OmNvbXB1dGVDdXN0b21G
aXhlZFBvc2l0aW9uUmVjdChjb25zdCBGbG9hdFJlY3QmIHVub2JzY3VyZWRDb250ZW50UmVjdCwg
Y29uc3QgRmxvYXRSZWN0JiBjdXJyZW50Q3VzdG9tRml4ZWRQb3NpdGlvblJlY3QsIGRvdWJsZSBk
aXNwbGF5ZWRDb250ZW50U2NhbGUsIFVub2JzY3VyZWRSZWN0Q29uc3RyYWludCBjb25zdHJhaW50
LCBib29sIHZpc3VhbFZpZXdwb3J0RW5hYmxlZCkgY29uc3QKK1dlYkNvcmU6OkZsb2F0UmVjdCBX
ZWJQYWdlUHJveHk6OmNvbXB1dGVDdXN0b21GaXhlZFBvc2l0aW9uUmVjdChjb25zdCBGbG9hdFJl
Y3QmIHVub2JzY3VyZWRDb250ZW50UmVjdCwgY29uc3QgRmxvYXRSZWN0JiB1bm9ic2N1cmVkQ29u
dGVudFJlY3RSZXNwZWN0aW5nSW5wdXRWaWV3Qm91bmRzLCBjb25zdCBGbG9hdFJlY3QmIGN1cnJl
bnRDdXN0b21GaXhlZFBvc2l0aW9uUmVjdCwgZG91YmxlIGRpc3BsYXllZENvbnRlbnRTY2FsZSwg
VW5vYnNjdXJlZFJlY3RDb25zdHJhaW50IGNvbnN0cmFpbnQsIGJvb2wgdmlzdWFsVmlld3BvcnRF
bmFibGVkKSBjb25zdAogewogICAgIEZsb2F0UmVjdCBjb25zdHJhaW5lZFVub2JzY3VyZWRSZWN0
ID0gdW5vYnNjdXJlZENvbnRlbnRSZWN0OwogICAgIEZsb2F0UmVjdCBkb2N1bWVudFJlY3QgPSBt
X3BhZ2VDbGllbnQuZG9jdW1lbnRSZWN0KCk7CkBAIC0yMzIsOCArMjMyLDggQEAgV2ViQ29yZTo6
RmxvYXRSZWN0IFdlYlBhZ2VQcm94eTo6Y29tcHV0ZUN1c3RvbUZpeGVkUG9zaXRpb25SZWN0KGNv
bnN0IEZsb2F0UmVjdCYKICAgICAgICAgY29uc3RyYWluZWRVbm9ic2N1cmVkUmVjdC5pbnRlcnNl
Y3QoZG9jdW1lbnRSZWN0KTsKIAogICAgIGRvdWJsZSBtaW5pbXVtU2NhbGUgPSBtX3BhZ2VDbGll
bnQubWluaW11bVpvb21TY2FsZSgpOwotICAgIAotICAgIGlmIChkaXNwbGF5ZWRDb250ZW50U2Nh
bGUgPCBtaW5pbXVtU2NhbGUpIHsKKyAgICBib29sIGlzQmVsb3dNaW5pbXVtU2NhbGUgPSBkaXNw
bGF5ZWRDb250ZW50U2NhbGUgPCBtaW5pbXVtU2NhbGU7CisgICAgaWYgKGlzQmVsb3dNaW5pbXVt
U2NhbGUpIHsKICAgICAgICAgY29uc3QgQ0dGbG9hdCBzbG9wZSA9IDEyOwogICAgICAgICBDR0Zs
b2F0IGZhY3RvciA9IHN0ZDo6bWF4PENHRmxvYXQ+KDEgLSBzbG9wZSAqIChtaW5pbXVtU2NhbGUg
LSBkaXNwbGF5ZWRDb250ZW50U2NhbGUpLCAwKTsKICAgICAgICAgICAgIApAQCAtMjQzLDIyICsy
NDMsMzYgQEAgV2ViQ29yZTo6RmxvYXRSZWN0IFdlYlBhZ2VQcm94eTo6Y29tcHV0ZUN1c3RvbUZp
eGVkUG9zaXRpb25SZWN0KGNvbnN0IEZsb2F0UmVjdCYKICAgICAgICAgY29uc3RyYWluZWRVbm9i
c2N1cmVkUmVjdC5zZXRIZWlnaHQoYWRqdXN0ZWRVbmV4cG9zZWRNYXhFZGdlKGRvY3VtZW50UmVj
dC5tYXhZKCksIGNvbnN0cmFpbmVkVW5vYnNjdXJlZFJlY3QubWF4WSgpLCBmYWN0b3IpIC0gY29u
c3RyYWluZWRVbm9ic2N1cmVkUmVjdC55KCkpOwogICAgIH0KICAgICAKLSAgICBpZiAodmlzdWFs
Vmlld3BvcnRFbmFibGVkKSB7Ci0gICAgICAgIEZsb2F0UmVjdCBsYXlvdXRWaWV3cG9ydFJlY3Qg
PSBjdXJyZW50Q3VzdG9tRml4ZWRQb3NpdGlvblJlY3Q7Ci0gICAgICAgIAotICAgICAgICAvLyBU
aGUgbGF5b3V0IHZpZXdwb3J0IGlzIG5ldmVyIHNtYWxsZXIgdGhhbiBtX2Jhc2VMYXlvdXRWaWV3
cG9ydFNpemUsIGFuZCBuZXZlciBiZSBzbWFsbGVyIHRoYW4gdGhlIGNvbnN0cmFpbmVkVW5vYnNj
dXJlZFJlY3QuCi0gICAgICAgIEZsb2F0U2l6ZSBjb25zdHJhaW5lZFNpemUgPSBtX2Jhc2VMYXlv
dXRWaWV3cG9ydFNpemU7Ci0gICAgICAgIGxheW91dFZpZXdwb3J0UmVjdC5zZXRTaXplKGNvbnN0
cmFpbmVkU2l6ZS5leHBhbmRlZFRvKGNvbnN0cmFpbmVkVW5vYnNjdXJlZFJlY3Quc2l6ZSgpKSk7
CisgICAgaWYgKCF2aXN1YWxWaWV3cG9ydEVuYWJsZWQpCisgICAgICAgIHJldHVybiBGcmFtZVZp
ZXc6OnJlY3RGb3JWaWV3cG9ydENvbnN0cmFpbmVkT2JqZWN0cyhlbmNsb3NpbmdMYXlvdXRSZWN0
KGNvbnN0cmFpbmVkVW5vYnNjdXJlZFJlY3QpLCBMYXlvdXRTaXplKGRvY3VtZW50UmVjdC5zaXpl
KCkpLCBkaXNwbGF5ZWRDb250ZW50U2NhbGUsIGZhbHNlLCBTdGlja1RvVmlld3BvcnRCb3VuZHMp
OworCisgICAgRmxvYXRSZWN0IGxheW91dFZpZXdwb3J0UmVjdCA9IGN1cnJlbnRDdXN0b21GaXhl
ZFBvc2l0aW9uUmVjdDsKIAotICAgICAgICBMYXlvdXRQb2ludCBsYXlvdXRWaWV3cG9ydE9yaWdp
biA9IEZyYW1lVmlldzo6Y29tcHV0ZUxheW91dFZpZXdwb3J0T3JpZ2luKGVuY2xvc2luZ0xheW91
dFJlY3QoY29uc3RyYWluZWRVbm9ic2N1cmVkUmVjdCksIG1fbWluU3RhYmxlTGF5b3V0Vmlld3Bv
cnRPcmlnaW4sIG1fbWF4U3RhYmxlTGF5b3V0Vmlld3BvcnRPcmlnaW4sIGVuY2xvc2luZ0xheW91
dFJlY3QobGF5b3V0Vmlld3BvcnRSZWN0KSk7Ci0gICAgICAgIGxheW91dFZpZXdwb3J0UmVjdC5z
ZXRMb2NhdGlvbihsYXlvdXRWaWV3cG9ydE9yaWdpbik7CisgICAgLy8gVGhlIGxheW91dCB2aWV3
cG9ydCBpcyBuZXZlciBzbWFsbGVyIHRoYW4gbV9iYXNlTGF5b3V0Vmlld3BvcnRTaXplLCBhbmQg
bmV2ZXIgYmUgc21hbGxlciB0aGFuIHRoZSBjb25zdHJhaW5lZFVub2JzY3VyZWRSZWN0LgorICAg
IEZsb2F0U2l6ZSBjb25zdHJhaW5lZFNpemUgPSBtX2Jhc2VMYXlvdXRWaWV3cG9ydFNpemU7Cisg
ICAgaWYgKGlzQmVsb3dNaW5pbXVtU2NhbGUpCisgICAgICAgIGxheW91dFZpZXdwb3J0UmVjdC5z
ZXRTaXplKGNvbnN0cmFpbmVkU2l6ZS5leHBhbmRlZFRvKGNvbnN0cmFpbmVkVW5vYnNjdXJlZFJl
Y3Quc2l6ZSgpKSk7CisgICAgZWxzZQorICAgICAgICBsYXlvdXRWaWV3cG9ydFJlY3Quc2V0U2l6
ZShjb25zdHJhaW5lZFNpemUuZXhwYW5kZWRUbyh1bm9ic2N1cmVkQ29udGVudFJlY3Quc2l6ZSgp
KSk7CiAKLSAgICAgICAgaWYgKGxheW91dFZpZXdwb3J0UmVjdCAhPSBjdXJyZW50Q3VzdG9tRml4
ZWRQb3NpdGlvblJlY3QpCi0gICAgICAgICAgICBMT0dfV0lUSF9TVFJFQU0oVmlzaWJsZVJlY3Rz
LCBzdHJlYW0gPDwgIldlYlBhZ2VQcm94eTo6Y29tcHV0ZUN1c3RvbUZpeGVkUG9zaXRpb25SZWN0
OiBuZXcgbGF5b3V0IHZpZXdwb3J0ICAiIDw8IGxheW91dFZpZXdwb3J0UmVjdCk7Ci0gICAgICAg
IHJldHVybiBsYXlvdXRWaWV3cG9ydFJlY3Q7CisgICAgTGF5b3V0UG9pbnQgbGF5b3V0Vmlld3Bv
cnRPcmlnaW47CisgICAgaWYgKGlzQmVsb3dNaW5pbXVtU2NhbGUpCisgICAgICAgIGxheW91dFZp
ZXdwb3J0T3JpZ2luID0gRnJhbWVWaWV3Ojpjb21wdXRlTGF5b3V0Vmlld3BvcnRPcmlnaW4oZW5j
bG9zaW5nTGF5b3V0UmVjdChjb25zdHJhaW5lZFVub2JzY3VyZWRSZWN0KSwgbV9taW5TdGFibGVM
YXlvdXRWaWV3cG9ydE9yaWdpbiwgbV9tYXhTdGFibGVMYXlvdXRWaWV3cG9ydE9yaWdpbiwgZW5j
bG9zaW5nTGF5b3V0UmVjdChsYXlvdXRWaWV3cG9ydFJlY3QpKTsKKyAgICBlbHNlCisgICAgICAg
IGxheW91dFZpZXdwb3J0T3JpZ2luID0gRnJhbWVWaWV3Ojpjb21wdXRlTGF5b3V0Vmlld3BvcnRP
cmlnaW4oZW5jbG9zaW5nTGF5b3V0UmVjdCh1bm9ic2N1cmVkQ29udGVudFJlY3RSZXNwZWN0aW5n
SW5wdXRWaWV3Qm91bmRzKSwgbV9taW5TdGFibGVMYXlvdXRWaWV3cG9ydE9yaWdpbiwgbV9tYXhT
dGFibGVMYXlvdXRWaWV3cG9ydE9yaWdpbiwgZW5jbG9zaW5nTGF5b3V0UmVjdChsYXlvdXRWaWV3
cG9ydFJlY3QpKTsKKworICAgIGlmIChjb25zdHJhaW50ID09IFVub2JzY3VyZWRSZWN0Q29uc3Ry
YWludDo6Q29uc3RyYWluZWRUb0RvY3VtZW50UmVjdCkgeworICAgICAgICAvLyBUaGUgbWF4IHN0
YWJsZSBsYXlvdXQgdmlld3BvcnQgb3JpZ2luIHJlYWxseSBkZXBlbmRzIG9uIHRoZSBzaXplIG9m
IHRoZSBsYXlvdXQgdmlld3BvcnQgaXRzZWxmLCBzbyB3ZSBuZWVkIHRvIGFkanVzdCB0aGUgbG9j
YXRpb24gb2YgdGhlIGxheW91dCB2aWV3cG9ydCBvbmUgZmluYWwgdGltZSB0byBtYWtlIHN1cmUg
aXQgZG9lcyBub3QgZW5kIHVwIG91dCBvZiBib3VuZHMgb2YgdGhlIGRvY3VtZW50LgorICAgICAg
ICAvLyBXaXRob3V0IHRoaXMgYWRqdXN0bWVudCAoYW5kIHdpdGggdXNpbmcgdGhlIG5vbi1jb25z
dHJhaW5lZCB1bm9ic2N1cmVkQ29udGVudFJlY3QncyBzaXplIGFzIHRoZSBzaXplIG9mIHRoZSBs
YXlvdXQgdmlld3BvcnQpIHRoZSBsYXlvdXQgdmlld3BvcnQgY2FuIGJlIHB1c2hlZCBwYXN0IHRo
ZSBib3VuZHMgb2YgdGhlIGRvY3VtZW50IGR1cmluZyBydWJiZXItYmFuZGluZywgYW5kIGNhbm5v
dCBiZSBwdXNoZWQKKyAgICAgICAgLy8gYmFjayBpbiB1bnRpbCB0aGUgdXNlciBzY3JvbGxzIGJh
Y2sgaW4gdGhlIG90aGVyIGRpcmVjdGlvbi4KKyAgICAgICAgbGF5b3V0Vmlld3BvcnRPcmlnaW4u
c2V0WChjbGFtcFRvPGZsb2F0PihsYXlvdXRWaWV3cG9ydE9yaWdpbi54KCksIDAsIGRvY3VtZW50
UmVjdC53aWR0aCgpIC0gbGF5b3V0Vmlld3BvcnRSZWN0LndpZHRoKCkpKTsKKyAgICAgICAgbGF5
b3V0Vmlld3BvcnRPcmlnaW4uc2V0WShjbGFtcFRvPGZsb2F0PihsYXlvdXRWaWV3cG9ydE9yaWdp
bi55KCksIDAsIGRvY3VtZW50UmVjdC5oZWlnaHQoKSAtIGxheW91dFZpZXdwb3J0UmVjdC5oZWln
aHQoKSkpOwogICAgIH0KKyAgICBsYXlvdXRWaWV3cG9ydFJlY3Quc2V0TG9jYXRpb24obGF5b3V0
Vmlld3BvcnRPcmlnaW4pOwogICAgIAotICAgIHJldHVybiBGcmFtZVZpZXc6OnJlY3RGb3JWaWV3
cG9ydENvbnN0cmFpbmVkT2JqZWN0cyhlbmNsb3NpbmdMYXlvdXRSZWN0KGNvbnN0cmFpbmVkVW5v
YnNjdXJlZFJlY3QpLCBMYXlvdXRTaXplKGRvY3VtZW50UmVjdC5zaXplKCkpLCBkaXNwbGF5ZWRD
b250ZW50U2NhbGUsIGZhbHNlLCBTdGlja1RvVmlld3BvcnRCb3VuZHMpOworICAgIGlmIChsYXlv
dXRWaWV3cG9ydFJlY3QgIT0gY3VycmVudEN1c3RvbUZpeGVkUG9zaXRpb25SZWN0KQorICAgICAg
ICBMT0dfV0lUSF9TVFJFQU0oVmlzaWJsZVJlY3RzLCBzdHJlYW0gPDwgIldlYlBhZ2VQcm94eTo6
Y29tcHV0ZUN1c3RvbUZpeGVkUG9zaXRpb25SZWN0OiBuZXcgbGF5b3V0IHZpZXdwb3J0ICAiIDw8
IGxheW91dFZpZXdwb3J0UmVjdCk7CisgICAgcmV0dXJuIGxheW91dFZpZXdwb3J0UmVjdDsKIH0K
IAogdm9pZCBXZWJQYWdlUHJveHk6Om92ZXJmbG93U2Nyb2xsVmlld1dpbGxTdGFydFBhbkdlc3R1
cmUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9SZW1vdGVMYXll
clRyZWVEcmF3aW5nQXJlYVByb3h5Lm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9S
ZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5Lm1tCmluZGV4IDM5NGFkMDg1ZmQ0ODI1ZTUy
Mjg2NTFmZDExNDdlNzBlZWRkOWM0OGEuLjIzNDBkNWJiOTIwM2EwMTRhNWRhOWEwOWRkZGU0ZDMw
Yjg1ZjQxNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUmVtb3Rl
TGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHkubW0KQEAgLTIxNCw3ICsyMTQs
NyBAQCB2b2lkIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk6OmNvbW1pdExheWVyVHJl
ZShjb25zdCBSZW1vdGVMYXllclRyZWVUcmFucwogI2lmIFBMQVRGT1JNKElPUykKICAgICBpZiAo
bV93ZWJQYWdlUHJveHkuc2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eSgpLT5oYXNGaXhlZE9yU3Rp
Y2t5KCkpIHsKICAgICAgICAgLy8gSWYgd2UgZ290IGEgbmV3IGxheWVyIGZvciBhIGZpeGVkIG9y
IHN0aWNreSBub2RlLCBpdHMgcG9zaXRpb24gZnJvbSB0aGUgV2ViUHJvY2VzcyBpcyBwcm9iYWJs
eSBzdGFsZS4gV2UgbmVlZCB0byByZS1ydW4gdGhlICJ2aWV3cG9ydCIgY2hhbmdlZCBsb2dpYyB0
byB1ZHBhdGUgaXQgd2l0aCBvdXIgVUktc2lkZSBzdGF0ZS4KLSAgICAgICAgRmxvYXRSZWN0IGN1
c3RvbUZpeGVkUG9zaXRpb25SZWN0ID0gbV93ZWJQYWdlUHJveHkuY29tcHV0ZUN1c3RvbUZpeGVk
UG9zaXRpb25SZWN0KG1fd2ViUGFnZVByb3h5LnVub2JzY3VyZWRDb250ZW50UmVjdCgpLCBtX3dl
YlBhZ2VQcm94eS5jdXN0b21GaXhlZFBvc2l0aW9uUmVjdCgpLCBtX3dlYlBhZ2VQcm94eS5kaXNw
bGF5ZWRDb250ZW50U2NhbGUoKSwgV2ViUGFnZVByb3h5OjpVbm9ic2N1cmVkUmVjdENvbnN0cmFp
bnQ6OlVuY29uc3RyYWluZWQsIG1fd2ViUGFnZVByb3h5LnNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJv
eHkoKS0+dmlzdWFsVmlld3BvcnRFbmFibGVkKCkpOworICAgICAgICBGbG9hdFJlY3QgY3VzdG9t
Rml4ZWRQb3NpdGlvblJlY3QgPSBtX3dlYlBhZ2VQcm94eS5jb21wdXRlQ3VzdG9tRml4ZWRQb3Np
dGlvblJlY3QobV93ZWJQYWdlUHJveHkudW5vYnNjdXJlZENvbnRlbnRSZWN0KCksIG1fd2ViUGFn
ZVByb3h5LnVub2JzY3VyZWRDb250ZW50UmVjdFJlc3BlY3RpbmdJbnB1dFZpZXdCb3VuZHMoKSwg
bV93ZWJQYWdlUHJveHkuY3VzdG9tRml4ZWRQb3NpdGlvblJlY3QoKSwgbV93ZWJQYWdlUHJveHku
ZGlzcGxheWVkQ29udGVudFNjYWxlKCksIFdlYlBhZ2VQcm94eTo6VW5vYnNjdXJlZFJlY3RDb25z
dHJhaW50OjpVbmNvbnN0cmFpbmVkLCBtX3dlYlBhZ2VQcm94eS5zY3JvbGxpbmdDb29yZGluYXRv
clByb3h5KCktPnZpc3VhbFZpZXdwb3J0RW5hYmxlZCgpKTsKICAgICAgICAgbV93ZWJQYWdlUHJv
eHkuc2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eSgpLT52aWV3cG9ydENoYW5nZWRWaWFEZWxlZ2F0
ZWRTY3JvbGxpbmcobV93ZWJQYWdlUHJveHkuc2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eSgpLT5y
b290U2Nyb2xsaW5nTm9kZUlEKCksIGN1c3RvbUZpeGVkUG9zaXRpb25SZWN0LCBtX3dlYlBhZ2VQ
cm94eS5kaXNwbGF5ZWRDb250ZW50U2NhbGUoKSk7CiAgICAgfQogI2VuZGlmCmRpZmYgLS1naXQg
YS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggOTBhMzRhZWUyNjJhZmRj
ZjIzOWU3YjAyZWIyNjY5ZTAzYmZiZTg0Yy4uM2M0MjJlZGY5NzRkYWNmNjJhMTI3NDNmMTNlMzVl
OWM4ODE4YWE2MiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5n
ZUxvZwpAQCAtMSw1ICsxLDM0IEBACiAyMDE2LTEyLTE2ICBXZW5zb24gSHNpZWggIDx3ZW5zb25f
aHNpZWhAYXBwbGUuY29tPgogCisgICAgICAgIFZpc3VhbCB2aWV3cG9ydHM6IGJvdHRvbSBmaXhl
ZCBlbGVtZW50cyBkaXNhcHBlYXIgYmVoaW5kIHRoZSBrZXlib2FyZAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY1OTgzCisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS8yOTQwOTg1Mj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBBZGQgc3VwcG9ydCBmb3IgVUlTY3JpcHRDb250cm9sbGVyLmlucHV0Vmlld0Jv
dW5kcywgd2hpY2ggVUktc2lkZSBzY3JpcHRzIG1heSB1c2UgdG8gZmV0Y2ggdGhlIGJvdW5kaW5n
IHJlY3Qgb2YKKyAgICAgICAgdGhlIGtleWJvYXJkIHdoZW4gaXQgaXMgdXAuCisKKyAgICAgICAg
KiBEdW1wUmVuZGVyVHJlZS9pb3MvVUlTY3JpcHRDb250cm9sbGVySU9TLm1tOgorICAgICAgICAo
V1RSOjpVSVNjcmlwdENvbnRyb2xsZXI6OmlucHV0Vmlld0JvdW5kcyk6CisgICAgICAgICogVGVz
dFJ1bm5lclNoYXJlZC9VSVNjcmlwdENvbnRleHQvQmluZGluZ3MvVUlTY3JpcHRDb250cm9sbGVy
LmlkbDoKKyAgICAgICAgKiBUZXN0UnVubmVyU2hhcmVkL1VJU2NyaXB0Q29udGV4dC9VSVNjcmlw
dENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV1RSOjpVSVNjcmlwdENvbnRyb2xsZXI6OmlucHV0
Vmlld0JvdW5kcyk6CisgICAgICAgICogVGVzdFJ1bm5lclNoYXJlZC9VSVNjcmlwdENvbnRleHQv
VUlTY3JpcHRDb250cm9sbGVyLmg6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9pb3MvUGxh
dGZvcm1XZWJWaWV3SU9TLm1tOgorICAgICAgICAoV1RSOjp2aWV3UmVjdEZvcldpbmRvd1JlY3Qp
OgorCisgICAgICAgIFByZXZpb3VzbHksIHdlIGFjY291bnRlZCBmb3IgdGhlIHN0YXR1cyBiYXIg
aGVpZ2h0IGJ5IHRyYW5zbGF0aW5nIHRoZSBlbnRpcmUgd2ViIHZpZXcgZG93biBieSB0aGUgaGVp
Z2h0IG9mIHRoZQorICAgICAgICBzdGF0dXMgYmFyLiBIb3dldmVyLCB3ZSBkaWQgbm90IHNocmlu
ayB0aGUgaGVpZ2h0IG9mIHRoZSB3ZWIgdmlldyBpdHNlbGYsIHdoaWNoIG1lYW5zIHRoYXQgZm9y
IHRlc3RzIHdoaWNoCisgICAgICAgIGludm9sdmUgc2Nyb2xsaW5nIHBhc3QgdGhlIGVuZCBvZiB0
aGUgZG9jdW1lbnQsIHRoZSBib3R0b20gc3RyaXAgb2YgdGhlIHdlYiB2aWV3IGlzIG91dCBvZiBi
b3VuZHMgb2YgdGhlIHdpbmRvdy4KKworICAgICAgICAoV1RSOjpQbGF0Zm9ybVdlYlZpZXc6OlBs
YXRmb3JtV2ViVmlldyk6CisgICAgICAgIChXVFI6OlBsYXRmb3JtV2ViVmlldzo6c2V0V2luZG93
RnJhbWUpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvaW9zL1VJU2NyaXB0Q29udHJvbGxl
cklPUy5tbToKKyAgICAgICAgKFdUUjo6VUlTY3JpcHRDb250cm9sbGVyOjppbnB1dFZpZXdCb3Vu
ZHMpOgorCisyMDE2LTEyLTE2ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29t
PgorCiAgICAgICAgIFZpc3VhbCB2aWV3cG9ydHM6IGNhcmV0cyBhbmQgc2VsZWN0aW9uIFVJIGFy
ZSBpbmNvcnJlY3RseSBwb3NpdGlvbmVkIHdoZW4gZWRpdGluZyBmaXhlZCBlbGVtZW50cwogICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY1NzY3CiAgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS8yOTYwMjM4Mj4KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL2lvcy9VSVNjcmlwdENvbnRyb2xsZXJJT1MubW0gYi9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9pb3MvVUlTY3JpcHRDb250cm9sbGVySU9TLm1tCmluZGV4IDJmMjUwNmI0MDdmNGZkYWNmYjk2
YjgyY2ZjNWEwMWZkMGM4MWQ2ZGYuLjVkZjI2Y2YwODk5YmFhNDUzOGEzOTI0ZGI5MjkzZjVlNTRi
OTJmODQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2lvcy9VSVNjcmlwdENvbnRy
b2xsZXJJT1MubW0KKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvaW9zL1VJU2NyaXB0Q29udHJv
bGxlcklPUy5tbQpAQCAtMjcxLDYgKzI3MSwxMSBAQCBKU09iamVjdFJlZiBVSVNjcmlwdENvbnRy
b2xsZXI6OnRleHRTZWxlY3Rpb25DYXJldFJlY3QoKSBjb25zdAogICAgIHJldHVybiBudWxscHRy
OwogfQogCitKU09iamVjdFJlZiBVSVNjcmlwdENvbnRyb2xsZXI6OmlucHV0Vmlld0JvdW5kcygp
IGNvbnN0Cit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKIHZvaWQgVUlTY3JpcHRDb250cm9s
bGVyOjpyZW1vdmVBbGxEeW5hbWljRGljdGlvbmFyaWVzKCkKIHsKIH0KZGlmZiAtLWdpdCBhL1Rv
b2xzL1Rlc3RSdW5uZXJTaGFyZWQvVUlTY3JpcHRDb250ZXh0L0JpbmRpbmdzL1VJU2NyaXB0Q29u
dHJvbGxlci5pZGwgYi9Ub29scy9UZXN0UnVubmVyU2hhcmVkL1VJU2NyaXB0Q29udGV4dC9CaW5k
aW5ncy9VSVNjcmlwdENvbnRyb2xsZXIuaWRsCmluZGV4IDhhZDNiOWExMWUxMGY3MzQyMzg2NDc4
OGE5M2JjYzVkNGNlODFmODYuLjM3MmM0NzVjZWVkMDEwOTc4MjhjMjhiYjhhYmU3ZjMzOTdkMDlm
MzQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RSdW5uZXJTaGFyZWQvVUlTY3JpcHRDb250ZXh0L0Jp
bmRpbmdzL1VJU2NyaXB0Q29udHJvbGxlci5pZGwKKysrIGIvVG9vbHMvVGVzdFJ1bm5lclNoYXJl
ZC9VSVNjcmlwdENvbnRleHQvQmluZGluZ3MvVUlTY3JpcHRDb250cm9sbGVyLmlkbApAQCAtMjA2
LDYgKzIwNiw3IEBAIGludGVyZmFjZSBVSVNjcmlwdENvbnRyb2xsZXIgewogCiAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIG9iamVjdCBzZWxlY3Rpb25SYW5nZVZpZXdSZWN0czsgLy8gQW4gYXJyYXkg
b2Ygb2JqZWN0cyB3aXRoICdsZWZ0JywgJ3RvcCcsICd3aWR0aCcsIGFuZCAnaGVpZ2h0JyBwcm9w
ZXJ0aWVzLgogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBvYmplY3QgdGV4dFNlbGVjdGlvbkNhcmV0
UmVjdDsgLy8gQW4gb2JqZWN0IHdpdGggJ2xlZnQnLCAndG9wJywgJ3dpZHRoJywgJ2hlaWdodCcg
cHJvcGVydGllcy4KKyAgICByZWFkb25seSBhdHRyaWJ1dGUgb2JqZWN0IGlucHV0Vmlld0JvdW5k
czsKIAogICAgIHZvaWQgaW5zZXJ0VGV4dChET01TdHJpbmcgdGV4dCwgbG9uZyBsb2NhdGlvbiwg
bG9uZyBsZW5ndGgpOwogICAgIHZvaWQgcmVtb3ZlQWxsRHluYW1pY0RpY3Rpb25hcmllcygpOwpk
aWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFJ1bm5lclNoYXJlZC9VSVNjcmlwdENvbnRleHQvVUlTY3Jp
cHRDb250cm9sbGVyLmNwcCBiL1Rvb2xzL1Rlc3RSdW5uZXJTaGFyZWQvVUlTY3JpcHRDb250ZXh0
L1VJU2NyaXB0Q29udHJvbGxlci5jcHAKaW5kZXggNDY2MDNjYmJhMzI0NWVjYWUzMGViNTUxNmM4
MmEzN2Y1ZGIwZWUxNC4uMmI4Y2JkYjk5NDA5NzMwNDBkZjhiMTg5MjFjYTcxNTEyMTYxZGM0NCAx
MDA2NDQKLS0tIGEvVG9vbHMvVGVzdFJ1bm5lclNoYXJlZC9VSVNjcmlwdENvbnRleHQvVUlTY3Jp
cHRDb250cm9sbGVyLmNwcAorKysgYi9Ub29scy9UZXN0UnVubmVyU2hhcmVkL1VJU2NyaXB0Q29u
dGV4dC9VSVNjcmlwdENvbnRyb2xsZXIuY3BwCkBAIC0zMTYsNiArMzE2LDExIEBAIEpTT2JqZWN0
UmVmIFVJU2NyaXB0Q29udHJvbGxlcjo6dGV4dFNlbGVjdGlvbkNhcmV0UmVjdCgpIGNvbnN0CiAg
ICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKK0pTT2JqZWN0UmVmIFVJU2NyaXB0Q29udHJvbGxlcjo6
aW5wdXRWaWV3Qm91bmRzKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKwogdm9p
ZCBVSVNjcmlwdENvbnRyb2xsZXI6OnJlbW92ZUFsbER5bmFtaWNEaWN0aW9uYXJpZXMoKQogewog
fQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFJ1bm5lclNoYXJlZC9VSVNjcmlwdENvbnRleHQvVUlT
Y3JpcHRDb250cm9sbGVyLmggYi9Ub29scy9UZXN0UnVubmVyU2hhcmVkL1VJU2NyaXB0Q29udGV4
dC9VSVNjcmlwdENvbnRyb2xsZXIuaAppbmRleCAyOTkzZDE2MGU4ZmMwNzg1YTJmY2VlZDliYzMw
YzUxZTljM2Y4YTlkLi5kMWQ1NGJlMWQ4OGM2MjVhYTkzMjcwMTJjMWI1ZDljY2IxNjkxMjYwIDEw
MDY0NAotLS0gYS9Ub29scy9UZXN0UnVubmVyU2hhcmVkL1VJU2NyaXB0Q29udGV4dC9VSVNjcmlw
dENvbnRyb2xsZXIuaAorKysgYi9Ub29scy9UZXN0UnVubmVyU2hhcmVkL1VJU2NyaXB0Q29udGV4
dC9VSVNjcmlwdENvbnRyb2xsZXIuaApAQCAtMTMwLDYgKzEzMCw3IEBAIHB1YmxpYzoKICAgICAK
ICAgICBKU09iamVjdFJlZiBzZWxlY3Rpb25SYW5nZVZpZXdSZWN0cygpIGNvbnN0OwogICAgIEpT
T2JqZWN0UmVmIHRleHRTZWxlY3Rpb25DYXJldFJlY3QoKSBjb25zdDsKKyAgICBKU09iamVjdFJl
ZiBpbnB1dFZpZXdCb3VuZHMoKSBjb25zdDsKIAogICAgIHZvaWQgaW5zZXJ0VGV4dChKU1N0cmlu
Z1JlZiwgaW50IGxvY2F0aW9uLCBpbnQgbGVuZ3RoKTsKICAgICB2b2lkIHJlbW92ZUFsbER5bmFt
aWNEaWN0aW9uYXJpZXMoKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9z
L1BsYXRmb3JtV2ViVmlld0lPUy5tbSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL1BsYXRm
b3JtV2ViVmlld0lPUy5tbQppbmRleCA3MmM0ZjNkZWJiY2ZhMTVhYWE2YmJiYmRkOWNjYmY3YzE3
NzFjMTg4Li45YWQ3ZjUzYWEyZTAxZTk2MDc4ZThlZGRhMjFiZDIyNmY4ZTVhZmQyIDEwMDY0NAot
LS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9QbGF0Zm9ybVdlYlZpZXdJT1MubW0KKysr
IGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvUGxhdGZvcm1XZWJWaWV3SU9TLm1tCkBAIC0x
MDksMTAgKzEwOSwxNSBAQCBAZW5kCiAKIG5hbWVzcGFjZSBXVFIgewogCi1zdGF0aWMgQ0dSZWN0
IHZpZXdSZWN0Rm9yV2luZG93UmVjdChDR1JlY3Qgd2luZG93UmVjdCkKK2VudW0gY2xhc3MgV2Vi
Vmlld1NpemluZ01vZGUgeworICAgIERlZmF1bHQsCisgICAgSGVpZ2h0UmVzcGVjdHNTdGF0dXNC
YXIKK307CisKK3N0YXRpYyBDR1JlY3Qgdmlld1JlY3RGb3JXaW5kb3dSZWN0KENHUmVjdCB3aW5k
b3dSZWN0LCBXZWJWaWV3U2l6aW5nTW9kZSBtb2RlKQogewogICAgIENHRmxvYXQgc3RhdHVzQmFy
Qm90dG9tID0gQ0dSZWN0R2V0TWF4WShbW1VJQXBwbGljYXRpb24gc2hhcmVkQXBwbGljYXRpb25d
IHN0YXR1c0JhckZyYW1lXSk7Ci0gICAgcmV0dXJuIENHUmVjdE1ha2Uod2luZG93UmVjdC5vcmln
aW4ueCwgd2luZG93UmVjdC5vcmlnaW4ueSArIHN0YXR1c0JhckJvdHRvbSwgd2luZG93UmVjdC5z
aXplLndpZHRoLCB3aW5kb3dSZWN0LnNpemUuaGVpZ2h0KTsKKyAgICByZXR1cm4gQ0dSZWN0TWFr
ZSh3aW5kb3dSZWN0Lm9yaWdpbi54LCB3aW5kb3dSZWN0Lm9yaWdpbi55ICsgc3RhdHVzQmFyQm90
dG9tLCB3aW5kb3dSZWN0LnNpemUud2lkdGgsIHdpbmRvd1JlY3Quc2l6ZS5oZWlnaHQgLSAobW9k
ZSA9PSBXZWJWaWV3U2l6aW5nTW9kZTo6SGVpZ2h0UmVzcGVjdHNTdGF0dXNCYXIgPyBzdGF0dXNC
YXJCb3R0b20gOiAwKSk7CiB9CiAKIFBsYXRmb3JtV2ViVmlldzo6UGxhdGZvcm1XZWJWaWV3KFdL
V2ViVmlld0NvbmZpZ3VyYXRpb24qIGNvbmZpZ3VyYXRpb24sIGNvbnN0IFRlc3RPcHRpb25zJiBv
cHRpb25zKQpAQCAtMTI5LDcgKzEzNCw3IEBAIFBsYXRmb3JtV2ViVmlldzo6UGxhdGZvcm1XZWJW
aWV3KFdLV2ViVmlld0NvbmZpZ3VyYXRpb24qIGNvbmZpZ3VyYXRpb24sIGNvbnN0IFRlCiAgICAg
W21fd2luZG93IHNldFJvb3RWaWV3Q29udHJvbGxlcjp2aWV3Q29udHJvbGxlcl07CiAgICAgW3Zp
ZXdDb250cm9sbGVyIHJlbGVhc2VdOwogCi0gICAgbV92aWV3ID0gW1tUZXN0UnVubmVyV0tXZWJW
aWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOnZpZXdSZWN0Rm9yV2luZG93UmVjdChyZWN0KSBjb25m
aWd1cmF0aW9uOmNvbmZpZ3VyYXRpb25dOworICAgIG1fdmlldyA9IFtbVGVzdFJ1bm5lcldLV2Vi
VmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTp2aWV3UmVjdEZvcldpbmRvd1JlY3QocmVjdCwgV2Vi
Vmlld1NpemluZ01vZGU6OkRlZmF1bHQpIGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbl07CiAK
ICAgICBbbV93aW5kb3cucm9vdFZpZXdDb250cm9sbGVyLnZpZXcgYWRkU3VidmlldzptX3ZpZXdd
OwogICAgIFttX3dpbmRvdyBtYWtlS2V5QW5kVmlzaWJsZV07CkBAIC0xOTUsNyArMjAwLDcgQEAg
V0tSZWN0IFBsYXRmb3JtV2ViVmlldzo6d2luZG93RnJhbWUoKQogdm9pZCBQbGF0Zm9ybVdlYlZp
ZXc6OnNldFdpbmRvd0ZyYW1lKFdLUmVjdCBmcmFtZSkKIHsKICAgICBbbV93aW5kb3cgc2V0RnJh
bWU6Q0dSZWN0TWFrZShmcmFtZS5vcmlnaW4ueCwgZnJhbWUub3JpZ2luLnksIGZyYW1lLnNpemUu
d2lkdGgsIGZyYW1lLnNpemUuaGVpZ2h0KV07Ci0gICAgW3BsYXRmb3JtVmlldygpIHNldEZyYW1l
OnZpZXdSZWN0Rm9yV2luZG93UmVjdChDR1JlY3RNYWtlKDAsIDAsIGZyYW1lLnNpemUud2lkdGgs
IGZyYW1lLnNpemUuaGVpZ2h0KSldOworICAgIFtwbGF0Zm9ybVZpZXcoKSBzZXRGcmFtZTp2aWV3
UmVjdEZvcldpbmRvd1JlY3QoQ0dSZWN0TWFrZSgwLCAwLCBmcmFtZS5zaXplLndpZHRoLCBmcmFt
ZS5zaXplLmhlaWdodCksIFdlYlZpZXdTaXppbmdNb2RlOjpIZWlnaHRSZXNwZWN0c1N0YXR1c0Jh
cildOwogfQogCiB2b2lkIFBsYXRmb3JtV2ViVmlldzo6ZGlkSW5pdGlhbGl6ZUNsaWVudHMoKQpk
aWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvVUlTY3JpcHRDb250cm9sbGVy
SU9TLm1tIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvVUlTY3JpcHRDb250cm9sbGVySU9T
Lm1tCmluZGV4IGJmMDc3ZTg1N2M1YTViZGZkYWRmNmZhYjYxYWNhNWU5ZmQxYTgzYmQuLjNjMzk2
MWMwMzBhY2M1NzdhNzlmMTI5MzAzNDNlNmM0MWJlNTI2YjcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvaW9zL1VJU2NyaXB0Q29udHJvbGxlcklPUy5tbQorKysgYi9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL2lvcy9VSVNjcmlwdENvbnRyb2xsZXJJT1MubW0KQEAgLTQ5NSw2ICs0
OTUsMTEgQEAgSlNPYmplY3RSZWYgVUlTY3JpcHRDb250cm9sbGVyOjp0ZXh0U2VsZWN0aW9uQ2Fy
ZXRSZWN0KCkgY29uc3QKICAgICByZXR1cm4gSlNWYWx1ZVRvT2JqZWN0KG1fY29udGV4dC0+anND
b250ZXh0KCksIFtKU1ZhbHVlIHZhbHVlV2l0aE9iamVjdDp0b05TRGljdGlvbmFyeShUZXN0Q29u
dHJvbGxlcjo6c2luZ2xldG9uKCkubWFpbldlYlZpZXcoKS0+cGxhdGZvcm1WaWV3KCkuX3VpVGV4
dENhcmV0UmVjdCkgaW5Db250ZXh0OltKU0NvbnRleHQgY29udGV4dFdpdGhKU0dsb2JhbENvbnRl
eHRSZWY6bV9jb250ZXh0LT5qc0NvbnRleHQoKV1dLkpTVmFsdWVSZWYsIG51bGxwdHIpOwogfQog
CitKU09iamVjdFJlZiBVSVNjcmlwdENvbnRyb2xsZXI6OmlucHV0Vmlld0JvdW5kcygpIGNvbnN0
Cit7CisgICAgcmV0dXJuIEpTVmFsdWVUb09iamVjdChtX2NvbnRleHQtPmpzQ29udGV4dCgpLCBb
SlNWYWx1ZSB2YWx1ZVdpdGhPYmplY3Q6dG9OU0RpY3Rpb25hcnkoVGVzdENvbnRyb2xsZXI6OnNp
bmdsZXRvbigpLm1haW5XZWJWaWV3KCktPnBsYXRmb3JtVmlldygpLl9pbnB1dFZpZXdCb3VuZHMp
IGluQ29udGV4dDpbSlNDb250ZXh0IGNvbnRleHRXaXRoSlNHbG9iYWxDb250ZXh0UmVmOm1fY29u
dGV4dC0+anNDb250ZXh0KCldXS5KU1ZhbHVlUmVmLCBudWxscHRyKTsKK30KKwogdm9pZCBVSVNj
cmlwdENvbnRyb2xsZXI6OnJlbW92ZUFsbER5bmFtaWNEaWN0aW9uYXJpZXMoKQogewogICAgIFtV
SUtleWJvYXJkIHJlbW92ZUFsbER5bmFtaWNEaWN0aW9uYXJpZXNdOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGY0ZjUzMjZj
NGJhMzk0MTY1ZmEzMTczOTY3NTFiNDhkOGIyNGQ3ODcuLjRkMDhmOThiYjYwMDM2ZTFjZGEwNTJm
YWU4ZGQxM2UyYTcxODRmMGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsNSArMSw1MCBAQAogMjAxNi0xMi0xNiAgV2Vu
c29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAorICAgICAgICBWaXN1YWwgdmll
d3BvcnRzOiBib3R0b20gZml4ZWQgZWxlbWVudHMgZGlzYXBwZWFyIGJlaGluZCB0aGUga2V5Ym9h
cmQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NTk4
MworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjk0MDk4NTI+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVHdlYWtlZCBmaXhlZC1jYXJldC1wb3NpdGlv
bi1hZnRlci1zY3JvbGwuaHRtbCB0byBhY2NvdW50IGZvciB0aGUga2V5Ym9hcmQgaGVpZ2h0LCBh
bmQgYWxzbyBhZGRlZCBhIG5ldyBsYXlvdXQKKyAgICAgICAgdGVzdCwgZml4ZWQtZWxlbWVudC1v
bi1ib3R0b20td2l0aC1rZXlib2FyZC5odG1sLCB3aGljaCBjaGVja3MgdGhhdCB0aGUgbGF5b3V0
IHZpZXdwb3J0IGRvZXMgbm90IGNoYW5nZSBiZWZvcmUKKyAgICAgICAgYW5kIGFmdGVyIHNob3dp
bmcgdGhlIGtleWJvYXJkLCBhbmQgdGhhdCBzY3JvbGxpbmcgcGFzdCB0aGUgZW5kIG9mIHRoZSBk
b2N1bWVudCBkb2VzIG5vdCBidW1wIHRoZSBsYXlvdXQKKyAgICAgICAgdmlld3BvcnQgcGFzdCBk
b2N1bWVudCBib3VuZHMuCisKKyAgICAgICAgVGhlIHJlc3Qgb2YgdGhlIGNoYW5nZXMgaGVyZSBp
bnZvbHZlIHJlYmFzZWxpbmluZyBleGlzdGluZyB0ZXN0cyB0byBhY2NvdW50IGZvciB0aGUgaGVp
Z2h0IG9mIHRoZSB3ZWIgdmlldyBubworICAgICAgICBsb25nZXIgYmVpbmcgZXF1YWwgdG8gdGhl
IGhlaWdodCBvZiB0aGUgd2luZG93LgorCisgICAgICAgICogZWRpdGluZy9jYXJldC9pb3MvYWJz
b2x1dGUtY2FyZXQtcG9zaXRpb24tYWZ0ZXItc2Nyb2xsLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBlZGl0aW5nL2NhcmV0L2lvcy9hYnNvbHV0ZS1jYXJldC1wb3NpdGlvbi1hZnRlci1zY3JvbGwu
aHRtbDoKKyAgICAgICAgKiBlZGl0aW5nL2NhcmV0L2lvcy9maXhlZC1jYXJldC1wb3NpdGlvbi1h
ZnRlci1zY3JvbGwtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGVkaXRpbmcvY2FyZXQvaW9zL2Zp
eGVkLWNhcmV0LXBvc2l0aW9uLWFmdGVyLXNjcm9sbC5odG1sOgorICAgICAgICAqIGVkaXRpbmcv
c2VsZWN0aW9uL2lvcy9hYnNvbHV0ZS1zZWxlY3Rpb24tYWZ0ZXItc2Nyb2xsLmh0bWw6CisgICAg
ICAgICogZWRpdGluZy9zZWxlY3Rpb24vaW9zL2ZpeGVkLXNlbGVjdGlvbi1hZnRlci1zY3JvbGwu
aHRtbDoKKyAgICAgICAgKiBmYXN0L2V2ZW50cy9pb3Mva2V5Ym9hcmQtc2Nyb2xsaW5nLWRpc3Rh
bmNlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2V2ZW50cy9pb3Mva2V5Ym9hcmQtc2hv
dWxkLW5vdC10cmlnZ2VyLXJlc2l6ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9ldmVu
dHMvaW9zL3ZpZXdwb3J0LXpvb21zLWZyb20tZWxlbWVudC10by1pbml0aWFsLXNjYWxlLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2lvcy9hY2Nlc3NvcnktYmFyLW5hdmlnYXRp
b24tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZm9ybXMvaW9zL2ZvY3VzLWlucHV0LWlu
LWZpeGVkLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2lvcy9mb2N1cy1pbnB1
dC1pbi1pZnJhbWUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZm9ybXMvaW9zL2ZvY3Vz
LWlucHV0LXZpYS1idXR0b24tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZm9ybXMvaW9z
L2ZvY3VzLWlucHV0LXZpYS1idXR0b24tbm8tc2NhbGluZy1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogZmFzdC9mb3Jtcy9pb3MvZm9jdXMtbG9uZy10ZXh0YXJlYS1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogZmFzdC9mb3Jtcy9pb3Mvem9vbS1hZnRlci1pbnB1dC10YXAtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIGZhc3QvZm9ybXMvaW9zL3pvb20tYWZ0ZXItaW5wdXQtdGFwLXdpZGUtaW5wdXQt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL2lvcy9zdWJwaXhlbC1vdmVy
Zmxvdy1zY3JvbGxpbmctd2l0aC1hbmNlc3Rvci1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFz
dC92aXN1YWwtdmlld3BvcnQvaW9zL2ZpeGVkLWVsZW1lbnQtb24tYm90dG9tLXdpdGgta2V5Ym9h
cmQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3Zpc3VhbC12aWV3cG9ydC9p
b3MvZml4ZWQtZWxlbWVudC1vbi1ib3R0b20td2l0aC1rZXlib2FyZC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L3Zpc3VhbC12aWV3cG9ydC9pb3Mvem9vbWVkLWZvY3VzLWluLWZpeGVkLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtc2ltdWxhdG9yL2Zhc3Qvc2Nyb2xs
aW5nL2lvcy9jbGlwcGluZy1hbmNlc3Rvci13aXRoLWFjY2VsZXJhdGVkLXNjcm9sbGluZy1hbmNl
c3Rvci1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vaW9zLXNpbXVsYXRvci9mYXN0
L3Njcm9sbGluZy9pb3Mvb3ZlcmZsb3ctc2Nyb2xsaW5nLWFuY2VzdG9yLWNsaXAtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHBsYXRmb3JtL2lvcy1zaW11bGF0b3IvZmFzdC9zY3JvbGxpbmcvaW9z
L292ZXJmbG93LXNjcm9sbGluZy1hbmNlc3Rvci1jbGlwLXNpemUtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHBsYXRmb3JtL2lvcy1zaW11bGF0b3IvZmFzdC9zY3JvbGxpbmcvaW9zL3Njcm9sbGlu
Zy1jb250ZW50LWNsaXAtdG8tdmlld3BvcnQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRm
b3JtL2lvcy1zaW11bGF0b3IvZmFzdC9zY3JvbGxpbmcvaW9zL3RvdWNoLXN0YWNraW5nLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBzY3JvbGxpbmdjb29yZGluYXRvci9pb3Mvbm9uLXN0YWJsZS12
aWV3cG9ydC1zY3JvbGwtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHNjcm9sbGluZ2Nvb3JkaW5h
dG9yL2lvcy91aS1zY3JvbGxpbmctdHJlZS1leHBlY3RlZC50eHQ6CisKKzIwMTYtMTItMTYgIFdl
bnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKICAgICAgICAgVmlzdWFsIHZp
ZXdwb3J0czogY2FyZXRzIGFuZCBzZWxlY3Rpb24gVUkgYXJlIGluY29ycmVjdGx5IHBvc2l0aW9u
ZWQgd2hlbiBlZGl0aW5nIGZpeGVkIGVsZW1lbnRzCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjU3NjcKICAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI5
NjAyMzgyPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9jYXJldC9pb3MvYWJzb2x1
dGUtY2FyZXQtcG9zaXRpb24tYWZ0ZXItc2Nyb2xsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvY2FyZXQvaW9zL2Fic29sdXRlLWNhcmV0LXBvc2l0aW9uLWFmdGVyLXNjcm9sbC1l
eHBlY3RlZC50eHQKaW5kZXggMzM5OTlmODJiNzAyNDc5NGQzZTk4NDQ0MjYyMTdlZmEwYzY3YWRi
YS4uY2JmZTFhYjMwMTViYTViOTkwNWQ4NzQ4MTlmNzM2OTU0MTg5M2Y2ZiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9jYXJldC9pb3MvYWJzb2x1dGUtY2FyZXQtcG9zaXRpb24tYWZ0
ZXItc2Nyb2xsLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2NhcmV0L2lv
cy9hYnNvbHV0ZS1jYXJldC1wb3NpdGlvbi1hZnRlci1zY3JvbGwtZXhwZWN0ZWQudHh0CkBAIC0x
LDggKzEsOCBAQAogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBM
RVRFCi1UaGUgaW5pdGlhbCBjYXJldCByZWN0IGlzOiBbNiAxNyA7IDMgMTVdCi1UaGUgY2FyZXQg
cmVjdCBhZnRlciBzY3JvbGxpbmcgMTAwMHB4IGRvd24gaXM6IFs2IDE3IDsgMyAxNV0KK1RoZSBp
bml0aWFsIGNhcmV0IHJlY3QgaXM6IFs2IDIxIDsgMyAxNV0KK1RoZSBjYXJldCByZWN0IGFmdGVy
IHNjcm9sbGluZyAxMDAwcHggZG93biBpczogWzYgMjEgOyAzIDE1XQogUEFTUyBmaW5hbENhcmV0
UmVjdC50b3AgaXMgaW5pdGlhbENhcmV0UmVjdC50b3AKIFBBU1MgZmluYWxDYXJldFJlY3QubGVm
dCBpcyBpbml0aWFsQ2FyZXRSZWN0LmxlZnQKIFBBU1MgZmluYWxDYXJldFJlY3Qud2lkdGggaXMg
aW5pdGlhbENhcmV0UmVjdC53aWR0aApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9j
YXJldC9pb3MvYWJzb2x1dGUtY2FyZXQtcG9zaXRpb24tYWZ0ZXItc2Nyb2xsLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2NhcmV0L2lvcy9hYnNvbHV0ZS1jYXJldC1wb3NpdGlvbi1hZnRlci1z
Y3JvbGwuaHRtbAppbmRleCBmYjk3NTIxNWRjNWIzNTc0ZWYwMGU2MTliN2NlMzQ4NzNiMjYwNDgx
Li5lMDZhZTcxMzRlZDM2NzMwMGU1NjlkODc1OGY3MTQ2YzY0MmIyNDM2IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2NhcmV0L2lvcy9hYnNvbHV0ZS1jYXJldC1wb3NpdGlvbi1hZnRl
ci1zY3JvbGwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2NhcmV0L2lvcy9hYnNvbHV0
ZS1jYXJldC1wb3NpdGlvbi1hZnRlci1zY3JvbGwuaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgogPGh0bWw+CiA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgogPGhlYWQ+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2NhcmV0L2lvcy9maXhlZC1jYXJldC1w
b3NpdGlvbi1hZnRlci1zY3JvbGwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9j
YXJldC9pb3MvZml4ZWQtY2FyZXQtcG9zaXRpb24tYWZ0ZXItc2Nyb2xsLWV4cGVjdGVkLnR4dApp
bmRleCA1OGY1NjU0M2M5MzExMjc5YmVlNjJhMjMxZmU5NDRiZTM5MTNhYTc4Li5mNzg5ODI1NGEy
ZDhkZTk1NjQ3N2E0OWI3MjMxZGRhNDU1NjVkMmJiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2NhcmV0L2lvcy9maXhlZC1jYXJldC1wb3NpdGlvbi1hZnRlci1zY3JvbGwtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvY2FyZXQvaW9zL2ZpeGVkLWNhcmV0LXBv
c2l0aW9uLWFmdGVyLXNjcm9sbC1leHBlY3RlZC50eHQKQEAgLTEsNyArMSw1IEBACiBQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKLVRoZSBpbml0aWFsIGNh
cmV0IHJlY3QgaXM6IFs2IDE3IDsgMyAxNV0KLVRoZSBjYXJldCByZWN0IGFmdGVyIHNjcm9sbGlu
ZyAxMDAwcHggZG93biBpczogWzYgMTAxNyA7IDMgMTVdCi1QQVNTIGZpbmFsQ2FyZXRSZWN0LnRv
cCAtIGluaXRpYWxDYXJldFJlY3QudG9wIGlzIDEwMDAKK1BBU1MgZmluYWxDYXJldFJlY3QudG9w
IC0gaW5pdGlhbENhcmV0UmVjdC50b3AgaXMgNTAwCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvY2FyZXQvaW9zL2ZpeGVkLWNhcmV0LXBvc2l0aW9uLWFmdGVyLXNjcm9sbC5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9jYXJldC9pb3MvZml4ZWQtY2FyZXQtcG9zaXRpb24tYWZ0
ZXItc2Nyb2xsLmh0bWwKaW5kZXggZTdmMzdkNmVjYjYyNDg0NDk2ZmQ4MmIwYTc1YjkxYjI4YTQ4
ZWI5ZC4uZmM1NDlkMTY1YzE1NDMxYjgyNmJiZTBhYjhmYWFlYjMxN2QxNWQwZSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9jYXJldC9pb3MvZml4ZWQtY2FyZXQtcG9zaXRpb24tYWZ0
ZXItc2Nyb2xsLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9jYXJldC9pb3MvZml4ZWQt
Y2FyZXQtcG9zaXRpb24tYWZ0ZXItc2Nyb2xsLmh0bWwKQEAgLTEsMyArMSw0IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KIDxodG1sPgogPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KIDxoZWFkPgpA
QCAtNyw3ICs4LDcgQEAKICAgICAgICAgICAgIG1hcmdpbjogMDsKICAgICAgICAgfQogCi0gICAg
ICAgIGlucHV0IHsKKyAgICAgICAgI2lucHV0IHsKICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwog
ICAgICAgICAgICAgaGVpZ2h0OiA1MHB4OwogICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkOwpA
QCAtMjYsMTkgKzI3LDE5IEBACiAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwog
ICAgIH0KIAotICAgIGZ1bmN0aW9uIHRhcEluSW5wdXRTY3JpcHQodGFwWCwgdGFwWSkKKyAgICBm
dW5jdGlvbiBnZXRJbnB1dFZpZXdCb3VuZHNBZnRlclRhcHBpbmdJbklucHV0U2NyaXB0KHRhcFgs
IHRhcFkpCiAgICAgewogICAgICAgICByZXR1cm4gYChmdW5jdGlvbigpIHsKICAgICAgICAgICAg
IHVpQ29udHJvbGxlci5kaWRTaG93S2V5Ym9hcmRDYWxsYmFjayA9IGZ1bmN0aW9uKCkgewogICAg
ICAgICAgICAgICAgIHVpQ29udHJvbGxlci5kb0FmdGVyTmV4dFN0YWJsZVByZXNlbnRhdGlvblVw
ZGF0ZShmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgdWlDb250cm9sbGVyLnVpU2Ny
aXB0Q29tcGxldGUoSlNPTi5zdHJpbmdpZnkodWlDb250cm9sbGVyLnRleHRTZWxlY3Rpb25DYXJl
dFJlY3QpKTsKKyAgICAgICAgICAgICAgICAgICAgdWlDb250cm9sbGVyLnVpU2NyaXB0Q29tcGxl
dGUoSlNPTi5zdHJpbmdpZnkodWlDb250cm9sbGVyLmlucHV0Vmlld0JvdW5kcykpOwogICAgICAg
ICAgICAgICAgIH0pOwogICAgICAgICAgICAgfTsKICAgICAgICAgICAgIHVpQ29udHJvbGxlci5z
aW5nbGVUYXBBdFBvaW50KCR7dGFwWH0sICR7dGFwWX0sIGZ1bmN0aW9uKCkgeyB9KTsKICAgICAg
ICAgfSkoKWA7CiAgICAgfQogCi0gICAgZnVuY3Rpb24gc2ltdWxhdGVTY3JvbGxpbmdTY3JpcHQo
ZGlzdGFuY2UpCisgICAgZnVuY3Rpb24gZ2V0Q2FyZXRSZWN0QWZ0ZXJTY3JvbGxUb09mZnNldFNj
cmlwdChkaXN0YW5jZSkKICAgICB7CiAgICAgICAgIHJldHVybiBgKGZ1bmN0aW9uKCkgewogICAg
ICAgICAgICAgdWlDb250cm9sbGVyLnN0YWJsZVN0YXRlT3ZlcnJpZGUgPSBmYWxzZTsKQEAgLTYy
LDIzICs2MywyMiBAQAogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKLSAgICAgICAg
dGVzdFJ1bm5lci5ydW5VSVNjcmlwdCh0YXBJbklucHV0U2NyaXB0KHdpbmRvdy5pbm5lcldpZHRo
IC8gMiwgMzApLCBpbml0aWFsQ2FyZXRSZWN0ID0+IHsKLSAgICAgICAgICAgIGluaXRpYWxDYXJl
dFJlY3QgPSBKU09OLnBhcnNlKGluaXRpYWxDYXJldFJlY3QpOwotICAgICAgICAgICAgd2luZG93
LmluaXRpYWxDYXJldFJlY3QgPSBpbml0aWFsQ2FyZXRSZWN0OwotICAgICAgICAgICAgZGVidWco
YFRoZSBpbml0aWFsIGNhcmV0IHJlY3QgaXM6ICR7dG9TdHJpbmcoaW5pdGlhbENhcmV0UmVjdCl9
YCk7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnJ1blVJU2NyaXB0KHNpbXVsYXRlU2Nyb2xsaW5n
U2NyaXB0KDEwMDApLCBmaW5hbENhcmV0UmVjdCA9PiB7Ci0gICAgICAgICAgICAgICAgZmluYWxD
YXJldFJlY3QgPSBKU09OLnBhcnNlKGZpbmFsQ2FyZXRSZWN0KTsKLSAgICAgICAgICAgICAgICB3
aW5kb3cuZmluYWxDYXJldFJlY3QgPSBmaW5hbENhcmV0UmVjdDsKLSAgICAgICAgICAgICAgICBk
ZWJ1ZyhgVGhlIGNhcmV0IHJlY3QgYWZ0ZXIgc2Nyb2xsaW5nIDEwMDBweCBkb3duIGlzOiAke3Rv
U3RyaW5nKGZpbmFsQ2FyZXRSZWN0KX1gKTsKLSAgICAgICAgICAgICAgICBzaG91bGRCZSgiZmlu
YWxDYXJldFJlY3QudG9wIC0gaW5pdGlhbENhcmV0UmVjdC50b3AiLCAiMTAwMCIpOwotICAgICAg
ICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgICAgICB0ZXN0UnVubmVyLnJ1
blVJU2NyaXB0KGdldElucHV0Vmlld0JvdW5kc0FmdGVyVGFwcGluZ0luSW5wdXRTY3JpcHQod2lu
ZG93LmlubmVyV2lkdGggLyAyLCAzMCksIChpbnB1dFZpZXdCb3VuZHMpID0+IHsKKyAgICAgICAg
ICAgIHdpbmRvdy5pbnB1dFZpZXdCb3VuZHMgPSBpbnB1dFZpZXdCb3VuZHMgPSBKU09OLnBhcnNl
KGlucHV0Vmlld0JvdW5kcyk7CisgICAgICAgICAgICB0ZXN0UnVubmVyLnJ1blVJU2NyaXB0KGdl
dENhcmV0UmVjdEFmdGVyU2Nyb2xsVG9PZmZzZXRTY3JpcHQoaW5wdXRWaWV3Qm91bmRzLmhlaWdo
dCksIGluaXRpYWxDYXJldFJlY3QgPT4geworICAgICAgICAgICAgICAgIHdpbmRvdy5pbml0aWFs
Q2FyZXRSZWN0ID0gaW5pdGlhbENhcmV0UmVjdCA9IEpTT04ucGFyc2UoaW5pdGlhbENhcmV0UmVj
dCk7CisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ydW5VSVNjcmlwdChnZXRDYXJldFJlY3RB
ZnRlclNjcm9sbFRvT2Zmc2V0U2NyaXB0KGlucHV0Vmlld0JvdW5kcy5oZWlnaHQgKyA1MDApLCBm
aW5hbENhcmV0UmVjdCA9PiB7CisgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5maW5hbENhcmV0
UmVjdCA9IGZpbmFsQ2FyZXRSZWN0ID0gSlNPTi5wYXJzZShmaW5hbENhcmV0UmVjdCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJmaW5hbENhcmV0UmVjdC50b3AgLSBpbml0aWFsQ2Fy
ZXRSZWN0LnRvcCIsICI1MDAiKTsKKyAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3Rp
ZnlEb25lKCk7CisgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICB9KTsKICAgICAgICAg
fSk7CiAgICAgfQogICAgIDwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHkgb25sb2FkPXJ1bigpPgot
ICAgIDxpbnB1dD48L2lucHV0PgorICAgIDxpbnB1dCBpZD0iaW5wdXQiPjwvaW5wdXQ+CiAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgogPC9ib2R5PgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9p
b3MvYWJzb2x1dGUtc2VsZWN0aW9uLWFmdGVyLXNjcm9sbC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vaW9zL2Fic29sdXRlLXNlbGVjdGlvbi1hZnRlci1zY3JvbGwuaHRtbApp
bmRleCA0NzNhYjFlODMxMTczNDFhZjkyMDRjMDdiZWVkMDYwYjYzZDMwYjUxLi5kOTRjNjhjMDA4
ZDAwM2QzYWI0YTJiMDI0NzAzMzI2ZmY0NzMxMjU2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9pb3MvYWJzb2x1dGUtc2VsZWN0aW9uLWFmdGVyLXNjcm9sbC5odG1s
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2lvcy9hYnNvbHV0ZS1zZWxlY3Rp
b24tYWZ0ZXItc2Nyb2xsLmh0bWwKQEAgLTEsMyArMSw0IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KIDxo
dG1sPgogPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KIDxoZWFkPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaW9zL2ZpeGVkLXNlbGVjdGlvbi1hZnRlci1z
Y3JvbGwuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2lvcy9maXhlZC1zZWxl
Y3Rpb24tYWZ0ZXItc2Nyb2xsLmh0bWwKaW5kZXggMjJmNzIxYmJjNDQ5YjNlZWQ3ZTM5OWE1Yzk2
N2Y4YzM2MmViYmUzNC4uMWMyOTBjNGQyODk0YzJlYzdjOGZiNjJlMjJiYzZhMjdkMzM3ODdiOCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaW9zL2ZpeGVkLXNlbGVj
dGlvbi1hZnRlci1zY3JvbGwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9pb3MvZml4ZWQtc2VsZWN0aW9uLWFmdGVyLXNjcm9sbC5odG1sCkBAIC0xLDMgKzEsNCBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+CiA8aHRtbD4KIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CiA8
aGVhZD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2lvcy9rZXlib2FyZC1z
Y3JvbGxpbmctZGlzdGFuY2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMv
aW9zL2tleWJvYXJkLXNjcm9sbGluZy1kaXN0YW5jZS1leHBlY3RlZC50eHQKaW5kZXggMmUzYmFi
M2U0NWM3Y2UxOGUwOWFlODYzYTY5N2NiNGNjYzVmMTJkZC4uZjY3YmFlNWVmNmNjYmUyNzBjNDMw
ZGY4NmJhZDY0OTg4ODFhZjViMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMv
aW9zL2tleWJvYXJkLXNjcm9sbGluZy1kaXN0YW5jZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9ldmVudHMvaW9zL2tleWJvYXJkLXNjcm9sbGluZy1kaXN0YW5jZS1leHBlY3Rl
ZC50eHQKQEAgLTIsNSArMiw1IEBAIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAog
VEVTVCBDT01QTEVURQogQmVmb3JlIHByZXNzaW5nIHRoZSBzcGFjZWJhciwgd2luZG93LnNjcm9s
bFkgPSAwCi1BZnRlciBwcmVzc2luZyB0aGUgc3BhY2ViYXIsIHdpbmRvdy5zY3JvbGxZID0gMzAy
CitBZnRlciBwcmVzc2luZyB0aGUgc3BhY2ViYXIsIHdpbmRvdy5zY3JvbGxZID0gMjkxCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2lvcy9rZXlib2FyZC1zaG91bGQtbm90
LXRyaWdnZXItcmVzaXplLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2lv
cy9rZXlib2FyZC1zaG91bGQtbm90LXRyaWdnZXItcmVzaXplLWV4cGVjdGVkLnR4dAppbmRleCA5
MDczZmZjODFhNGU4NmM2ZDIyMTdiZjUwNDRkZmEwYTAwMGFmZmI5Li4zYzlmODc5ZjVjMzYxNGM5
ZjY4ZWRiYWI3YzRmNmY4MjZmOGU3M2IwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2V2
ZW50cy9pb3Mva2V5Ym9hcmQtc2hvdWxkLW5vdC10cmlnZ2VyLXJlc2l6ZS1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvaW9zL2tleWJvYXJkLXNob3VsZC1ub3QtdHJp
Z2dlci1yZXNpemUtZXhwZWN0ZWQudHh0CkBAIC0yLDYgKzIsNiBAQAogUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCi1BZnRlciBzaG93aW5nIHRoZSBrZXli
b2FyZCwgd2luZG93LmlubmVySGVpZ2h0ID0gNTY4Ci1BZnRlciBoaWRpbmcgdGhlIGtleWJvYXJk
LCB3aW5kb3cuaW5uZXJIZWlnaHQgPSA1NjgKK0FmdGVyIHNob3dpbmcgdGhlIGtleWJvYXJkLCB3
aW5kb3cuaW5uZXJIZWlnaHQgPSA1NDgKK0FmdGVyIGhpZGluZyB0aGUga2V5Ym9hcmQsIHdpbmRv
dy5pbm5lckhlaWdodCA9IDU0OAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50
cy9pb3Mvdmlld3BvcnQtem9vbXMtZnJvbS1lbGVtZW50LXRvLWluaXRpYWwtc2NhbGUtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvaW9zL3ZpZXdwb3J0LXpvb21zLWZyb20t
ZWxlbWVudC10by1pbml0aWFsLXNjYWxlLWV4cGVjdGVkLnR4dAppbmRleCBjOTc5NDY0OTJiZjE4
NDVkZDU4NWE0Yjg0MmM5NzJhMDhmOTUwOThiLi4xMmYxZTkwOTlmYjYyMzBhOTE1NzU4NmQyNTI2
NjBiYTM3NzJhNmVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9pb3Mvdmll
d3BvcnQtem9vbXMtZnJvbS1lbGVtZW50LXRvLWluaXRpYWwtc2NhbGUtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2lvcy92aWV3cG9ydC16b29tcy1mcm9tLWVsZW1l
bnQtdG8taW5pdGlhbC1zY2FsZS1leHBlY3RlZC50eHQKQEAgLTEgKzEgQEAKLVRoZSB2aWV3cG9y
dCB6b29tZWQgdG8gc2NhbGU6IDUKK1RoZSB2aWV3cG9ydCB6b29tZWQgdG8gc2NhbGU6IDEuNgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pb3MvYWNjZXNzb3J5LWJhci1uYXZp
Z2F0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW9zL2FjY2Vzc29y
eS1iYXItbmF2aWdhdGlvbi1leHBlY3RlZC50eHQKaW5kZXggZDhiYTY5MWZjYTRkN2M1NjE4NTYy
MGExNWQwMzgyMmUyNzIyYzNiNS4uMGM1NmQ2YTBkMDFiYTEzYTJlMjk4NjAxZjg3OWYzNzBhZjQ4
OTU4NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pb3MvYWNjZXNzb3J5LWJh
ci1uYXZpZ2F0aW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lv
cy9hY2Nlc3NvcnktYmFyLW5hdmlnYXRpb24tZXhwZWN0ZWQudHh0CkBAIC01LDEyICs1LDEyIEBA
IEFmdGVyIGZvY3VzIGZpcnN0IGZpZWxkCiAKIHRhcCBsb2NhdGlvbgl7IHg6IDM4LjAwMCwgeTog
NDQ2LjAwMCB9CiBzY2FsZQkwLjc0OQotdmlzaWJsZVJlY3QJeyBsZWZ0OiAwLjAwMCwgdG9wOiAy
NzkuNTUyLCB3aWR0aDogNDI3LjAwMCwgaGVpZ2h0OiA3NTcuOTI1IH0KK3Zpc2libGVSZWN0CXsg
bGVmdDogMC4wMDAsIHRvcDogMjc5LjU1Miwgd2lkdGg6IDQyNy4wMDAsIGhlaWdodDogNzMxLjIz
NyB9CiBBZnRlciBtb3ZlIHRvIHNlY29uZCBmaWVsZAogCiBzY2FsZQkwLjc0OQotdmlzaWJsZVJl
Y3QJeyBsZWZ0OiAwLjAwMCwgdG9wOiA3MDAuNTQ3LCB3aWR0aDogNDI3LjAwMCwgaGVpZ2h0OiA3
NTcuOTI1IH0KK3Zpc2libGVSZWN0CXsgbGVmdDogMC4wMDAsIHRvcDogNzAwLjU0Nywgd2lkdGg6
IDQyNy4wMDAsIGhlaWdodDogNzMxLjIzNyB9CiBBZnRlciBtb3ZlIHRvIGZpcnN0IGZpZWxkCiAK
IHNjYWxlCTAuNzQ5Ci12aXNpYmxlUmVjdAl7IGxlZnQ6IDAuMDAwLCB0b3A6IDI3OS41NTIsIHdp
ZHRoOiA0MjcuMDAwLCBoZWlnaHQ6IDc1Ny45MjUgfQordmlzaWJsZVJlY3QJeyBsZWZ0OiAwLjAw
MCwgdG9wOiAyNzkuNTUyLCB3aWR0aDogNDI3LjAwMCwgaGVpZ2h0OiA3MzEuMjM3IH0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW9zL2ZvY3VzLWlucHV0LWluLWZpeGVkLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW9zL2ZvY3VzLWlucHV0LWluLWZp
eGVkLWV4cGVjdGVkLnR4dAppbmRleCA2YmJiM2VhM2MwOGE1N2QzMTAxM2E5NjZkZTljOGU0NmIx
OWViOTlmLi5mOTVlODUwMTJmYTFhNThlZWMwNjkwYmQ1YWUzZDZjY2U4YzQ5YmRkIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lvcy9mb2N1cy1pbnB1dC1pbi1maXhlZC1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pb3MvZm9jdXMtaW5wdXQtaW4t
Zml4ZWQtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAogCiB0YXAgbG9jYXRpb24JeyB4OiA0
MC4wMDAsIHk6IDEzMC4wMDAgfQogc2NhbGUJMS40NTUKLXZpc2libGVSZWN0CXsgbGVmdDogMC4w
MDAsIHRvcDogNDQuNjgzLCB3aWR0aDogMjE5Ljk3OSwgaGVpZ2h0OiAzOTAuNDYyIH0KK3Zpc2li
bGVSZWN0CXsgbGVmdDogMC4wMDAsIHRvcDogNDQuNjgzLCB3aWR0aDogMjE5Ljk3OSwgaGVpZ2h0
OiAzNzYuNzEzIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW9zL2ZvY3Vz
LWlucHV0LWluLWlmcmFtZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lv
cy9mb2N1cy1pbnB1dC1pbi1pZnJhbWUtZXhwZWN0ZWQudHh0CmluZGV4IDNiYjc0NzlkZjM1NDQx
MWQ0YmU4MGI5NmQyNDgxZDk3M2FjMDc2N2UuLmY2Yjg4NTIzMjkwY2M3NjUwNjhjN2RiNjgwYmVh
ZTViODc1NDI4MzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW9zL2ZvY3Vz
LWlucHV0LWluLWlmcmFtZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9pb3MvZm9jdXMtaW5wdXQtaW4taWZyYW1lLWV4cGVjdGVkLnR4dApAQCAtNCw0ICs0LDQgQEAg
Q2xpY2sgdG8gZm9jdXMgaW5wdXQKIAogdGFwIGxvY2F0aW9uCXsgeDogMjAuMDAwLCB5OiA2Mi4w
MDAgfQogc2NhbGUJMS40NTUKLXZpc2libGVSZWN0CXsgbGVmdDogMC4wMDAsIHRvcDogMTIwOC44
NTEsIHdpZHRoOiAyMTkuOTc5LCBoZWlnaHQ6IDM5MC40NjIgfQordmlzaWJsZVJlY3QJeyBsZWZ0
OiAwLjAwMCwgdG9wOiAxMjA4Ljg1MSwgd2lkdGg6IDIxOS45NzksIGhlaWdodDogMzc2LjcxMyB9
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lvcy9mb2N1cy1pbnB1dC12aWEt
YnV0dG9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW9zL2ZvY3VzLWlu
cHV0LXZpYS1idXR0b24tZXhwZWN0ZWQudHh0CmluZGV4IDA5ZDRhMTIzNmI1ZWQ4MzM0N2EzMWY2
MmRjZWJmZjM5ZTVkOWE3YjEuLjk3YWI3ZmQ5ZDI5NjViY2ViZWRkYmZkNWJiOWFlMzY5MWI5NjE0
NjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW9zL2ZvY3VzLWlucHV0LXZp
YS1idXR0b24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW9zL2Zv
Y3VzLWlucHV0LXZpYS1idXR0b24tZXhwZWN0ZWQudHh0CkBAIC00LDQgKzQsNCBAQCBDbGljayB0
byBmb2N1cyBpbnB1dAogCiB0YXAgbG9jYXRpb24JeyB4OiAyMC4wMDAsIHk6IDYyLjAwMCB9CiBz
Y2FsZQkxLjQ1NQotdmlzaWJsZVJlY3QJeyBsZWZ0OiAwLjAwMCwgdG9wOiA3OTguNzk3LCB3aWR0
aDogMjE5Ljk3OSwgaGVpZ2h0OiAzOTAuNDYyIH0KK3Zpc2libGVSZWN0CXsgbGVmdDogMC4wMDAs
IHRvcDogNzk4Ljc5Nywgd2lkdGg6IDIxOS45NzksIGhlaWdodDogMzc2LjcxMyB9CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lvcy9mb2N1cy1pbnB1dC12aWEtYnV0dG9uLW5v
LXNjYWxpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pb3MvZm9jdXMt
aW5wdXQtdmlhLWJ1dHRvbi1uby1zY2FsaW5nLWV4cGVjdGVkLnR4dAppbmRleCBiNWU3NDA1Nzli
OWNlNGQ2Y2VlODA5NWZkNmMxODg3ZWZlOTFlOGE0Li4wMzgxZTRhNjAyOGZhN2U0NzQzN2RjNTM3
YzgwOGJhMTM3YmZkMjhlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lvcy9m
b2N1cy1pbnB1dC12aWEtYnV0dG9uLW5vLXNjYWxpbmctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvaW9zL2ZvY3VzLWlucHV0LXZpYS1idXR0b24tbm8tc2NhbGluZy1l
eHBlY3RlZC50eHQKQEAgLTQsNCArNCw0IEBAIENsaWNrIHRvIGZvY3VzIGlucHV0CiAKIHRhcCBs
b2NhdGlvbgl7IHg6IDIwLjAwMCwgeTogNjIuMDAwIH0KIHNjYWxlCTAuNzQ5Ci12aXNpYmxlUmVj
dAl7IGxlZnQ6IDAuMDAwLCB0b3A6IDcxNy4yMjcsIHdpZHRoOiA0MjcuMDAwLCBoZWlnaHQ6IDc1
Ny45MjUgfQordmlzaWJsZVJlY3QJeyBsZWZ0OiAwLjAwMCwgdG9wOiA3MTcuMjI3LCB3aWR0aDog
NDI3LjAwMCwgaGVpZ2h0OiA3MzEuMjM3IH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvaW9zL2ZvY3VzLWxvbmctdGV4dGFyZWEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9pb3MvZm9jdXMtbG9uZy10ZXh0YXJlYS1leHBlY3RlZC50eHQKaW5kZXggMjVm
NzUxNzgyYTZlODdmYzI2ZjVlYWQxZWRkNWJmYzAwMmFmM2ZkNi4uYzI2ZThlMGU5MmQwZWY1YjQ5
ZTEzOWM1MmQwZjVhYWVlYzgxNDhhYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9pb3MvZm9jdXMtbG9uZy10ZXh0YXJlYS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9pb3MvZm9jdXMtbG9uZy10ZXh0YXJlYS1leHBlY3RlZC50eHQKQEAgLTMsNCAr
Myw0IEBAIFRlc3RzIHpvb21pbmcgaW50byBhIHRhbGwgdGV4dGFyZWEgb24gdGFwLgogCiB0YXAg
bG9jYXRpb24JeyB4OiAzOC4wMDAsIHk6IDY2NC4wMDAgfQogc2NhbGUJMS40NTUKLXZpc2libGVS
ZWN0CXsgbGVmdDogMC4wMDAsIHRvcDogNTA2LjI5NCwgd2lkdGg6IDIxOS45NzksIGhlaWdodDog
MzkwLjQ2MiB9Cit2aXNpYmxlUmVjdAl7IGxlZnQ6IDAuMDAwLCB0b3A6IDUwNi4yOTQsIHdpZHRo
OiAyMTkuOTc5LCBoZWlnaHQ6IDM3Ni43MTMgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9pb3Mvem9vbS1hZnRlci1pbnB1dC10YXAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9pb3Mvem9vbS1hZnRlci1pbnB1dC10YXAtZXhwZWN0ZWQudHh0CmluZGV4
IGQyNjJiN2FhZDk2Njc5YWI0ODBhMWEyNjJhNGRjODU0ZDJmYzJjMTEuLmQ4MDhiYTljYTMyZTYz
NzhkOTVlZGQxNzBhOWRmMmViZjY2ZmQwODAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvaW9zL3pvb20tYWZ0ZXItaW5wdXQtdGFwLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL2lvcy96b29tLWFmdGVyLWlucHV0LXRhcC1leHBlY3RlZC50eHQKQEAg
LTMsNCArMyw0IEBAIFRlc3RzIHpvb21pbmcgaW50byBhIHRleHQgaW5wdXQgb24gdGFwLgogCiB0
YXAgbG9jYXRpb24JeyB4OiAzOC4wMDAsIHk6IDg2Mi4wMDAgfQogc2NhbGUJMS40NTUKLXZpc2li
bGVSZWN0CXsgbGVmdDogMC4wMDAsIHRvcDogNzc2Ljc5OSwgd2lkdGg6IDIxOS45NzksIGhlaWdo
dDogMzkwLjQ2MiB9Cit2aXNpYmxlUmVjdAl7IGxlZnQ6IDAuMDAwLCB0b3A6IDc3Ni43OTksIHdp
ZHRoOiAyMTkuOTc5LCBoZWlnaHQ6IDM3Ni43MTMgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9pb3Mvem9vbS1hZnRlci1pbnB1dC10YXAtd2lkZS1pbnB1dC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lvcy96b29tLWFmdGVyLWlucHV0LXRhcC13aWRl
LWlucHV0LWV4cGVjdGVkLnR4dAppbmRleCBiMDU2N2RmMDNlNzVlNjQ5N2Y1Mzg3YmZhNjhlNjk2
N2I0N2JjZmEzLi43ZTY5MzEwMGRiYjFjOGUwZWEwNjA2YTFlYmJlM2VjMTA2ODUwZWYwIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lvcy96b29tLWFmdGVyLWlucHV0LXRhcC13
aWRlLWlucHV0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lvcy96
b29tLWFmdGVyLWlucHV0LXRhcC13aWRlLWlucHV0LWV4cGVjdGVkLnR4dApAQCAtMyw0ICszLDQg
QEAgVGVzdHMgem9vbWluZyB0byBhbiBvZmZzZXQgaW4gYSB3aWRlIHRleHQgaW5wdXQgb24gdGFw
LgogCiB0YXAgbG9jYXRpb24JeyB4OiAzMjguMDAwLCB5OiA4NjIuMDAwIH0KIHNjYWxlCTEuNDU1
Ci12aXNpYmxlUmVjdAl7IGxlZnQ6IDEyMi43MDcsIHRvcDogNzc2LjgwMywgd2lkdGg6IDIxOS45
ODAsIGhlaWdodDogMzkwLjQ2NCB9Cit2aXNpYmxlUmVjdAl7IGxlZnQ6IDEyMi43MDcsIHRvcDog
Nzc2LjgwMywgd2lkdGg6IDIxOS45ODAsIGhlaWdodDogMzc2LjcxNSB9CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9pb3Mvc3VicGl4ZWwtb3ZlcmZsb3ctc2Nyb2xsaW5n
LXdpdGgtYW5jZXN0b3ItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcv
aW9zL3N1YnBpeGVsLW92ZXJmbG93LXNjcm9sbGluZy13aXRoLWFuY2VzdG9yLWV4cGVjdGVkLnR4
dAppbmRleCBkODE1ZTRhMzlhMTU4MzY0N2M4OTE4NGJiYWE2N2VjNjRiNDNjMDgwLi4zOTA5Zjk4
MmNmZGQyZTAxYWVkZDZmMDliYzcwYTU4Njg4NDRlYjgxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L3Njcm9sbGluZy9pb3Mvc3VicGl4ZWwtb3ZlcmZsb3ctc2Nyb2xsaW5nLXdpdGgtYW5j
ZXN0b3ItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL2lvcy9z
dWJwaXhlbC1vdmVyZmxvdy1zY3JvbGxpbmctd2l0aC1hbmNlc3Rvci1leHBlY3RlZC50eHQKQEAg
LTEsOSArMSw5IEBACiAoR3JhcGhpY3NMYXllcgogICAoYW5jaG9yIDAuMDAgMC4wMCkKLSAgKGJv
dW5kcyAzMjAuMDAgNTY4LjAwKQorICAoYm91bmRzIDMyMC4wMCA1NDguMDApCiAgIChjaGlsZHJl
biAxCiAgICAgKEdyYXBoaWNzTGF5ZXIKLSAgICAgIChib3VuZHMgMzIwLjAwIDU2OC4wMCkKKyAg
ICAgIChib3VuZHMgMzIwLjAwIDU0OC4wMCkKICAgICAgIChjb250ZW50c09wYXF1ZSAxKQogICAg
ICAgKGNoaWxkcmVuIDEKICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvdmlzdWFsLXZpZXdwb3J0L2lvcy9maXhlZC1lbGVtZW50LW9uLWJvdHRvbS13
aXRoLWtleWJvYXJkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvdmlzdWFsLXZpZXdw
b3J0L2lvcy9maXhlZC1lbGVtZW50LW9uLWJvdHRvbS13aXRoLWtleWJvYXJkLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi45ZjEwODNjY2U0N2I4ODI1ZWIzNGZjMDQ5MDI2OTE1YzkyNWI0Zjk0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC92aXN1YWwtdmlld3BvcnQvaW9zL2Zp
eGVkLWVsZW1lbnQtb24tYm90dG9tLXdpdGgta2V5Ym9hcmQtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTAgQEAKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorVGhlIGluaXRpYWwgbGF5b3V0IHZpZXdwb3J0IGlzOiBbMCAwIDsgMzIwIDU0OF0KK1RoZSBs
YXlvdXQgdmlld3BvcnQgYWZ0ZXIgc2hvd2luZyB0aGUga2V5Ym9hcmQgaXM6IFswIDAgOyAzMjAg
NTQ4XQorVGhlIGxheW91dCB2aWV3cG9ydCBhZnRlciBzY3JvbGxpbmcgdG8gdGhlIGVuZCBpczog
WzAgMzQ1MiA7IDMyMCA1NDhdCitUaGUgbGF5b3V0IHZpZXdwb3J0IGFmdGVyIHNjcm9sbGluZyBw
YXN0IHRoZSBlbmQgaXM6IFswIDM0NTIgOyAzMjAgNTQ4XQorUEFTUyBpbml0aWFsTGF5b3V0Vmll
d3BvcnQuaGVpZ2h0IGlzIGxheW91dFZpZXdwb3J0QWZ0ZXJTaG93aW5nS2V5Ym9hcmQuaGVpZ2h0
CitQQVNTIGxheW91dFZpZXdwb3J0QWZ0ZXJTY3JvbGxpbmdQYXN0RW5kLnRvcCBpcyBsYXlvdXRW
aWV3cG9ydEFmdGVyU2Nyb2xsaW5nVG9FbmQudG9wCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvdmlzdWFsLXZpZXdwb3J0L2lvcy9maXhlZC1lbGVtZW50LW9uLWJvdHRvbS13aXRoLWtl
eWJvYXJkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Zpc3VhbC12aWV3cG9ydC9pb3MvZml4ZWQt
ZWxlbWVudC1vbi1ib3R0b20td2l0aC1rZXlib2FyZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUzNjY1Mzgy
MWVkZTNmNmRiZjRiMGNmMTBmMzgyODVlNzhkZGVmNTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L3Zpc3VhbC12aWV3cG9ydC9pb3MvZml4ZWQtZWxlbWVudC1vbi1ib3R0b20t
d2l0aC1rZXlib2FyZC5odG1sCkBAIC0wLDAgKzEsMTE3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxo
dG1sPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKzxoZWFkPgorICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAgIDxz
dHlsZT4KKyAgICAgICAgYm9keSB7CisgICAgICAgICAgICBtYXJnaW46IDA7CisgICAgICAgIH0K
KworICAgICAgICBpbnB1dCB7CisgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAg
IGhlaWdodDogNTBweDsKKyAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDsKKyAgICAgICAgICAg
IGxlZnQ6IDA7CisgICAgICAgICAgICB0b3A6IDA7CisgICAgICAgICAgICB6LWluZGV4OiAxOwor
ICAgICAgICB9CisKKyAgICAgICAgI2NvbnRlbnQgeworICAgICAgICAgICAgYmFja2dyb3VuZC1p
bWFnZTogbGluZWFyLWdyYWRpZW50KGJsdWUsIHJlZCk7CisgICAgICAgICAgICB3aWR0aDogMTAw
dnc7CisgICAgICAgICAgICBoZWlnaHQ6IDQwMDBweDsKKyAgICAgICAgICAgIHBvc2l0aW9uOiBh
YnNvbHV0ZTsKKyAgICAgICAgICAgIHRvcDogMDsKKyAgICAgICAgICAgIGxlZnQ6IDA7CisgICAg
ICAgIH0KKworICAgICAgICAjYm90dG9tIHsKKyAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgaGVpZ2h0OiA1MHB4OworICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkOworICAg
ICAgICAgICAgbGVmdDogMDsKKyAgICAgICAgICAgIGJvdHRvbTogMDsKKyAgICAgICAgICAgIHot
aW5kZXg6IDE7CisgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlOworICAgICAgICB9
CisgICAgPC9zdHlsZT4KKyAgICA8c2NyaXB0PgorICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikg
eworICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgdGVzdFJ1bm5lci53
YWl0VW50aWxEb25lKCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gdGFwSW5JbnB1dFNjcmlwdCh0
YXBYLCB0YXBZKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGAoZnVuY3Rpb24oKSB7CisgICAgICAg
ICAgICB1aUNvbnRyb2xsZXIuZGlkU2hvd0tleWJvYXJkQ2FsbGJhY2sgPSBmdW5jdGlvbigpIHsK
KyAgICAgICAgICAgICAgICB1aUNvbnRyb2xsZXIuZG9BZnRlck5leHRTdGFibGVQcmVzZW50YXRp
b25VcGRhdGUoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgICAgIHVpQ29udHJvbGxlci51
aVNjcmlwdENvbXBsZXRlKEpTT04uc3RyaW5naWZ5KHVpQ29udHJvbGxlci5pbnB1dFZpZXdCb3Vu
ZHMpKTsKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH07CisgICAgICAgICAgICB1
aUNvbnRyb2xsZXIuc2luZ2xlVGFwQXRQb2ludCgke3RhcFh9LCAke3RhcFl9LCBmdW5jdGlvbigp
IHsgfSk7CisgICAgICAgIH0pKClgOworICAgIH0KKworICAgIGZ1bmN0aW9uIHNpbXVsYXRlU2Ny
b2xsaW5nU2NyaXB0KG9mZnNldFRvcCkKKyAgICB7CisgICAgICAgIHJldHVybiBgKGZ1bmN0aW9u
KCkgeworICAgICAgICAgICAgdWlDb250cm9sbGVyLnN0YWJsZVN0YXRlT3ZlcnJpZGUgPSBmYWxz
ZTsKKyAgICAgICAgICAgIHVpQ29udHJvbGxlci5pbW1lZGlhdGVTY3JvbGxUb09mZnNldCgwLCAk
e29mZnNldFRvcH0pOworICAgICAgICAgICAgdWlDb250cm9sbGVyLnN0YWJsZVN0YXRlT3ZlcnJp
ZGUgPSB0cnVlOworICAgICAgICAgICAgdWlDb250cm9sbGVyLmRvQWZ0ZXJOZXh0U3RhYmxlUHJl
c2VudGF0aW9uVXBkYXRlKGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgIHVpQ29udHJvbGxl
ci51aVNjcmlwdENvbXBsZXRlKCk7CisgICAgICAgICAgICB9KTsKKyAgICAgICAgfSkoKWA7Cisg
ICAgfQorCisgICAgZnVuY3Rpb24gZ2V0SW5wdXRWaWV3Qm91bmRTY3JpcHQoKQorICAgIHsKKyAg
ICAgICAgcmV0dXJuIGAoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICB1aUNvbnRyb2xsZXIudWlT
Y3JpcHRDb21wbGV0ZShKU09OLnN0cmluZ2lmeSh1aUNvbnRyb2xsZXIuaW5wdXRWaWV3Qm91bmRz
KSk7CisgICAgICAgIH0pKCk7YDsKKyAgICB9CisKKyAgICBmdW5jdGlvbiB0b1N0cmluZyhyZWN0
KQorICAgIHsKKyAgICAgICAgcmV0dXJuIGBbJHtyZWN0LmxlZnR9ICR7cmVjdC50b3B9IDsgJHty
ZWN0LndpZHRofSAke3JlY3QuaGVpZ2h0fV1gOworICAgIH0KKworICAgIGZ1bmN0aW9uIHJ1bigp
CisgICAgeworICAgICAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyIHx8ICF0ZXN0UnVubmVyLnJ1
blVJU2NyaXB0KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVG8gbWFudWFsbHkgdGVzdCwg
dGFwIHRoaXMgaW5wdXQgZmllbGQgYW5kIHNjcm9sbCB1cC4gVGhlIHRleHQgY2FyZXQgc2hvdWxk
IG5vdCBlbmQgdXAgb3V0c2lkZSBvZiB0aGUgaW5wdXQuIik7CisgICAgICAgICAgICByZXR1cm47
CisgICAgICAgIH0KKworICAgICAgICB3aW5kb3cuaW5pdGlhbExheW91dFZpZXdwb3J0ID0gaW50
ZXJuYWxzLmxheW91dFZpZXdwb3J0UmVjdCgpOworICAgICAgICB0ZXN0UnVubmVyLnJ1blVJU2Ny
aXB0KHRhcEluSW5wdXRTY3JpcHQod2luZG93LmlubmVyV2lkdGggLyAyLCAzMCksIGlucHV0Vmll
d0JvdW5kcyA9PiB7CisgICAgICAgICAgICBpbnB1dFZpZXdCb3VuZHMgPSBKU09OLnBhcnNlKGlu
cHV0Vmlld0JvdW5kcyk7CisgICAgICAgICAgICBjb25zdCBtYXhTY3JvbGxUb3BXaXRoS2V5Ym9h
cmQgPSBkb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50LnNjcm9sbEhlaWdodCAtIHdpbmRvdy5pbm5l
ckhlaWdodCArIGlucHV0Vmlld0JvdW5kcy5oZWlnaHQ7CisgICAgICAgICAgICB3aW5kb3cubGF5
b3V0Vmlld3BvcnRBZnRlclNob3dpbmdLZXlib2FyZCA9IGludGVybmFscy5sYXlvdXRWaWV3cG9y
dFJlY3QoKTsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIucnVuVUlTY3JpcHQoc2ltdWxhdGVTY3Jv
bGxpbmdTY3JpcHQobWF4U2Nyb2xsVG9wV2l0aEtleWJvYXJkKSwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdpbmRvdy5sYXlvdXRWaWV3cG9ydEFmdGVyU2Nyb2xsaW5nUGFzdEVuZCA9IGludGVy
bmFscy5sYXlvdXRWaWV3cG9ydFJlY3QoKTsKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnJ1
blVJU2NyaXB0KHNpbXVsYXRlU2Nyb2xsaW5nU2NyaXB0KG1heFNjcm9sbFRvcFdpdGhLZXlib2Fy
ZCArIDI1KSwgKCkgPT4geworICAgICAgICAgICAgICAgICAgICB3aW5kb3cubGF5b3V0Vmlld3Bv
cnRBZnRlclNjcm9sbGluZ1RvRW5kID0gaW50ZXJuYWxzLmxheW91dFZpZXdwb3J0UmVjdCgpOwor
ICAgICAgICAgICAgICAgICAgICBkZWJ1ZyhgVGhlIGluaXRpYWwgbGF5b3V0IHZpZXdwb3J0IGlz
OiAke3RvU3RyaW5nKGluaXRpYWxMYXlvdXRWaWV3cG9ydCl9YCk7CisgICAgICAgICAgICAgICAg
ICAgIGRlYnVnKGBUaGUgbGF5b3V0IHZpZXdwb3J0IGFmdGVyIHNob3dpbmcgdGhlIGtleWJvYXJk
IGlzOiAke3RvU3RyaW5nKGxheW91dFZpZXdwb3J0QWZ0ZXJTaG93aW5nS2V5Ym9hcmQpfWApOwor
ICAgICAgICAgICAgICAgICAgICBkZWJ1ZyhgVGhlIGxheW91dCB2aWV3cG9ydCBhZnRlciBzY3Jv
bGxpbmcgdG8gdGhlIGVuZCBpczogJHt0b1N0cmluZyhsYXlvdXRWaWV3cG9ydEFmdGVyU2Nyb2xs
aW5nUGFzdEVuZCl9YCk7CisgICAgICAgICAgICAgICAgICAgIGRlYnVnKGBUaGUgbGF5b3V0IHZp
ZXdwb3J0IGFmdGVyIHNjcm9sbGluZyBwYXN0IHRoZSBlbmQgaXM6ICR7dG9TdHJpbmcobGF5b3V0
Vmlld3BvcnRBZnRlclNjcm9sbGluZ1RvRW5kKX1gKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoImluaXRpYWxMYXlvdXRWaWV3cG9ydC5oZWlnaHQiLCAibGF5b3V0Vmlld3BvcnRBZnRl
clNob3dpbmdLZXlib2FyZC5oZWlnaHQiKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
ImxheW91dFZpZXdwb3J0QWZ0ZXJTY3JvbGxpbmdQYXN0RW5kLnRvcCIsICJsYXlvdXRWaWV3cG9y
dEFmdGVyU2Nyb2xsaW5nVG9FbmQudG9wIik7CisgICAgICAgICAgICAgICAgICAgIHRlc3RSdW5u
ZXIubm90aWZ5RG9uZSgpOworICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSk7Cisg
ICAgICAgIH0pOworICAgIH0KKyAgICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD1y
dW4oKT4KKyAgICA8aW5wdXQ+PC9pbnB1dD4KKyAgICA8ZGl2IGlkPSJjb250ZW50Ij48L2Rpdj4K
KyAgICA8ZGl2IGlkPSJib3R0b20iPjwvZGl2PgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKworPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC92aXN1YWwtdmlld3BvcnQvaW9zL3pvb21lZC1m
b2N1cy1pbi1maXhlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3Zpc3VhbC12aWV3
cG9ydC9pb3Mvem9vbWVkLWZvY3VzLWluLWZpeGVkLWV4cGVjdGVkLnR4dAppbmRleCA2MjFiZTJl
YjExN2UyY2VmYzA0Y2JiZTVmNWI1N2EyNjRhMTc0NDRiLi45MjM1ZWRlOWNhMGIzMzA3NDRmZDhk
M2ViNWU3N2MwMTYyYmE3MGZmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Zpc3VhbC12
aWV3cG9ydC9pb3Mvem9vbWVkLWZvY3VzLWluLWZpeGVkLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L3Zpc3VhbC12aWV3cG9ydC9pb3Mvem9vbWVkLWZvY3VzLWluLWZpeGVkLWV4
cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKLUxheW91dCB2aWV3cG9ydDogeyJ0b3AiOjY1OS43
MzQzNzUsInJpZ2h0IjozMjAsImJvdHRvbSI6MTIyNy43MzQzNzUsImxlZnQiOjAsIndpZHRoIjoz
MjAsImhlaWdodCI6NTY4fQotVmlzdWFsIHZpZXdwb3J0OiB7InRvcCI6NjYwLCJyaWdodCI6MjIw
LCJib3R0b20iOjEwNTEsImxlZnQiOjAsIndpZHRoIjoyMjAsImhlaWdodCI6MzkxfQorTGF5b3V0
IHZpZXdwb3J0OiB7InRvcCI6NzQ2LjcwMzEyNSwicmlnaHQiOjMyMCwiYm90dG9tIjoxMjk0Ljcw
MzEyNSwibGVmdCI6MCwid2lkdGgiOjMyMCwiaGVpZ2h0Ijo1NDh9CitWaXN1YWwgdmlld3BvcnQ6
IHsidG9wIjo3NDcsInJpZ2h0IjoyMjAsImJvdHRvbSI6MTEyNCwibGVmdCI6MCwid2lkdGgiOjIy
MCwiaGVpZ2h0IjozNzd9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1z
aW11bGF0b3IvZmFzdC9zY3JvbGxpbmcvaW9zL2NsaXBwaW5nLWFuY2VzdG9yLXdpdGgtYWNjZWxl
cmF0ZWQtc2Nyb2xsaW5nLWFuY2VzdG9yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL2lvcy1zaW11bGF0b3IvZmFzdC9zY3JvbGxpbmcvaW9zL2NsaXBwaW5nLWFuY2VzdG9yLXdp
dGgtYWNjZWxlcmF0ZWQtc2Nyb2xsaW5nLWFuY2VzdG9yLWV4cGVjdGVkLnR4dAppbmRleCA0YzVm
M2ViODE5ODc0ZjE1Y2RjNjZiYWZjMGExNDJjYjhjNTBjNGJhLi4zZTRmOTEzODJkMzE4MGUwZWU1
NGVkZDcyYmJiMzMzNmI2MjVhY2JhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9p
b3Mtc2ltdWxhdG9yL2Zhc3Qvc2Nyb2xsaW5nL2lvcy9jbGlwcGluZy1hbmNlc3Rvci13aXRoLWFj
Y2VsZXJhdGVkLXNjcm9sbGluZy1hbmNlc3Rvci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vaW9zLXNpbXVsYXRvci9mYXN0L3Njcm9sbGluZy9pb3MvY2xpcHBpbmctYW5j
ZXN0b3Itd2l0aC1hY2NlbGVyYXRlZC1zY3JvbGxpbmctYW5jZXN0b3ItZXhwZWN0ZWQudHh0CkBA
IC0xLDUgKzEsNSBAQAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSAzMjB4NTY4Ci0gIFJlbmRlclZpZXcg
YXQgKDAsMCkgc2l6ZSAzMjB4NTY4CitsYXllciBhdCAoMCwwKSBzaXplIDMyMHg1NDgKKyAgUmVu
ZGVyVmlldyBhdCAoMCwwKSBzaXplIDMyMHg1NDgKIGxheWVyIGF0ICgwLDApIHNpemUgMzIweDMx
NgogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSAzMjB4MzE2CiAgICAgUmVuZGVy
Qm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSAzMDR4MzAwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9pb3Mtc2ltdWxhdG9yL2Zhc3Qvc2Nyb2xsaW5nL2lvcy9vdmVyZmxvdy1zY3Jv
bGxpbmctYW5jZXN0b3ItY2xpcC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9p
b3Mtc2ltdWxhdG9yL2Zhc3Qvc2Nyb2xsaW5nL2lvcy9vdmVyZmxvdy1zY3JvbGxpbmctYW5jZXN0
b3ItY2xpcC1leHBlY3RlZC50eHQKaW5kZXggNGJlZmJhMzNjYTcxMWViNGRhZmIzMjJlNmNmNWQy
MDlhMzA1ZWY1Yy4uMjVkZjY2OGMxZmY3YzM5YmY4YjM0NDcwMDViM2Q1OTNhMzI4OTc3YSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbXVsYXRvci9mYXN0L3Njcm9sbGlu
Zy9pb3Mvb3ZlcmZsb3ctc2Nyb2xsaW5nLWFuY2VzdG9yLWNsaXAtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW11bGF0b3IvZmFzdC9zY3JvbGxpbmcvaW9zL292
ZXJmbG93LXNjcm9sbGluZy1hbmNlc3Rvci1jbGlwLWV4cGVjdGVkLnR4dApAQCAtMSw5ICsxLDkg
QEAKIChHcmFwaGljc0xheWVyCiAgIChhbmNob3IgMC4wMCAwLjAwKQotICAoYm91bmRzIDMyMC4w
MCA1NjguMDApCisgIChib3VuZHMgMzIwLjAwIDU0OC4wMCkKICAgKGNoaWxkcmVuIDEKICAgICAo
R3JhcGhpY3NMYXllcgotICAgICAgKGJvdW5kcyAzMjAuMDAgNTY4LjAwKQorICAgICAgKGJvdW5k
cyAzMjAuMDAgNTQ4LjAwKQogICAgICAgKGNvbnRlbnRzT3BhcXVlIDEpCiAgICAgICAoY2hpbGRy
ZW4gMQogICAgICAgICAoR3JhcGhpY3NMYXllcgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vaW9zLXNpbXVsYXRvci9mYXN0L3Njcm9sbGluZy9pb3Mvb3ZlcmZsb3ctc2Nyb2xsaW5n
LWFuY2VzdG9yLWNsaXAtc2l6ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9p
b3Mtc2ltdWxhdG9yL2Zhc3Qvc2Nyb2xsaW5nL2lvcy9vdmVyZmxvdy1zY3JvbGxpbmctYW5jZXN0
b3ItY2xpcC1zaXplLWV4cGVjdGVkLnR4dAppbmRleCBiNDUzN2Y5NmE0ODcyMGQyMDM1ODU5MjVl
YjZkZGIzZDUyNzIyOTRkLi5hNTUyZGQzNGI0MzJkOTQwZTRmZjc2NGVkZDQyZTQwYzQ2NTk4NTgx
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltdWxhdG9yL2Zhc3Qvc2Ny
b2xsaW5nL2lvcy9vdmVyZmxvdy1zY3JvbGxpbmctYW5jZXN0b3ItY2xpcC1zaXplLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltdWxhdG9yL2Zhc3Qvc2Nyb2xs
aW5nL2lvcy9vdmVyZmxvdy1zY3JvbGxpbmctYW5jZXN0b3ItY2xpcC1zaXplLWV4cGVjdGVkLnR4
dApAQCAtMSw5ICsxLDkgQEAKIChHcmFwaGljc0xheWVyCiAgIChhbmNob3IgMC4wMCAwLjAwKQot
ICAoYm91bmRzIDMzMC4wMCA1NjguMDApCisgIChib3VuZHMgMzMwLjAwIDU0OC4wMCkKICAgKGNo
aWxkcmVuIDEKICAgICAoR3JhcGhpY3NMYXllcgotICAgICAgKGJvdW5kcyAzMzAuMDAgNTY4LjAw
KQorICAgICAgKGJvdW5kcyAzMzAuMDAgNTQ4LjAwKQogICAgICAgKGNvbnRlbnRzT3BhcXVlIDEp
CiAgICAgICAoY2hpbGRyZW4gMQogICAgICAgICAoR3JhcGhpY3NMYXllcgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbXVsYXRvci9mYXN0L3Njcm9sbGluZy9pb3Mvc2Ny
b2xsaW5nLWNvbnRlbnQtY2xpcC10by12aWV3cG9ydC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9pb3Mtc2ltdWxhdG9yL2Zhc3Qvc2Nyb2xsaW5nL2lvcy9zY3JvbGxpbmctY29u
dGVudC1jbGlwLXRvLXZpZXdwb3J0LWV4cGVjdGVkLnR4dAppbmRleCAyOTNiOTdlYmU4YjQ2NjJm
MzAzZWI2ZDg4OGNjYzdhNWZjYjkwOWJmLi5iMGM3YWU3NDQxNDY3MDFhMWVlYTI1MmZlZDk4ZDI3
M2E0YzNiNGJlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltdWxhdG9y
L2Zhc3Qvc2Nyb2xsaW5nL2lvcy9zY3JvbGxpbmctY29udGVudC1jbGlwLXRvLXZpZXdwb3J0LWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltdWxhdG9yL2Zhc3Qv
c2Nyb2xsaW5nL2lvcy9zY3JvbGxpbmctY29udGVudC1jbGlwLXRvLXZpZXdwb3J0LWV4cGVjdGVk
LnR4dApAQCAtMSw5ICsxLDkgQEAKIChHcmFwaGljc0xheWVyCiAgIChhbmNob3IgMC4wMCAwLjAw
KQotICAoYm91bmRzIDMyMC4wMCA1NjguMDApCisgIChib3VuZHMgMzIwLjAwIDU0OC4wMCkKICAg
KGNoaWxkcmVuIDEKICAgICAoR3JhcGhpY3NMYXllcgotICAgICAgKGJvdW5kcyAzMjAuMDAgNTY4
LjAwKQorICAgICAgKGJvdW5kcyAzMjAuMDAgNTQ4LjAwKQogICAgICAgKGNvbnRlbnRzT3BhcXVl
IDEpCiAgICAgICAoY2hpbGRyZW4gMQogICAgICAgICAoR3JhcGhpY3NMYXllcgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbXVsYXRvci9mYXN0L3Njcm9sbGluZy9pb3Mv
dG91Y2gtc3RhY2tpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNp
bXVsYXRvci9mYXN0L3Njcm9sbGluZy9pb3MvdG91Y2gtc3RhY2tpbmctZXhwZWN0ZWQudHh0Cmlu
ZGV4IGNjNmNmYjNkNTczZTViYjdiOTg1M2RkNWJjMmRmNjUyYzEwYTY4YjMuLjE0NDk2OTZkNmE4
OWM5MWZhYjgwMzIxOTNhNzllZmQxZDVlZTFlYTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2lvcy1zaW11bGF0b3IvZmFzdC9zY3JvbGxpbmcvaW9zL3RvdWNoLXN0YWNraW5nLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltdWxhdG9yL2Zhc3Qv
c2Nyb2xsaW5nL2lvcy90b3VjaC1zdGFja2luZy1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw1IEBA
Ci1sYXllciBhdCAoMCwwKSBzaXplIDMyMHg1NjgKLSAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXpl
IDMyMHg1NjgKK2xheWVyIGF0ICgwLDApIHNpemUgMzIweDU0OAorICBSZW5kZXJWaWV3IGF0ICgw
LDApIHNpemUgMzIweDU0OAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSAzMjB4MTQ4IGxheWVyVHlwZTog
YmFja2dyb3VuZCBvbmx5CiBsYXllciBhdCAoMCwwKSBzaXplIDEwMHgxMDAKICAgUmVuZGVyQmxv
Y2sgKHBvc2l0aW9uZWQpIHpJOiAtMSB7RElWfSBhdCAoMCwwKSBzaXplIDEwMHgxMDAgW2JnY29s
b3I9I0ZGMDAwMF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Njcm9sbGluZ2Nvb3JkaW5hdG9y
L2lvcy9ub24tc3RhYmxlLXZpZXdwb3J0LXNjcm9sbC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9zY3JvbGxpbmdjb29yZGluYXRvci9pb3Mvbm9uLXN0YWJsZS12aWV3cG9ydC1zY3JvbGwtZXhw
ZWN0ZWQudHh0CmluZGV4IDVlMmE5ODJmZjEzYzlkMzk0ZTBiODEwY2YzZmExYjQ3MzQ1NTY2ZjQu
LmVkNzU3Yzc3ZjQyNjFhNzRkZGIzMTUxNTZhMDYzODUzOTI1OWM2OWIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3Njcm9sbGluZ2Nvb3JkaW5hdG9yL2lvcy9ub24tc3RhYmxlLXZpZXdwb3J0LXNj
cm9sbC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc2Nyb2xsaW5nY29vcmRpbmF0b3Iv
aW9zL25vbi1zdGFibGUtdmlld3BvcnQtc2Nyb2xsLWV4cGVjdGVkLnR4dApAQCAtMiwyOCArMiwy
OCBAQCBmaXhlZAogKEdyYXBoaWNzTGF5ZXIKICAgKGFuY2hvciAwLjAwIDAuMDApCiAgIChib3Vu
ZHMgMzIwLjAwIDUwMTMuMDApCi0gICh2aXNpYmxlIHJlY3QgMC4wMCwgMTAwMC4wMCAxMDYuNjcg
eCAxODkuMzMpCi0gIChjb3ZlcmFnZSByZWN0IDAuMDAsIDEwMDAuMDAgMTA2LjY3IHggMTg5LjMz
KQorICAodmlzaWJsZSByZWN0IDAuMDAsIDEwMDAuMDAgMTA2LjY3IHggMTgyLjY3KQorICAoY292
ZXJhZ2UgcmVjdCAwLjAwLCAxMDAwLjAwIDEwNi42NyB4IDE4Mi42NykKICAgKGludGVyc2VjdHMg
Y292ZXJhZ2UgcmVjdCAxKQogICAoY29udGVudHNTY2FsZSA2LjAwKQogICAoY2hpbGRyZW4gMQog
ICAgIChHcmFwaGljc0xheWVyCiAgICAgICAoYm91bmRzIDMyMC4wMCA1MDEzLjAwKQogICAgICAg
KGNvbnRlbnRzT3BhcXVlIDEpCi0gICAgICAodmlzaWJsZSByZWN0IDAuMDAsIDEwMDAuMDAgMTA2
LjY3IHggMTg5LjMzKQotICAgICAgKGNvdmVyYWdlIHJlY3QgMC4wMCwgOTU3LjMzIDE5Mi4wMCB4
IDI3NC42NykKKyAgICAgICh2aXNpYmxlIHJlY3QgMC4wMCwgMTAwMC4wMCAxMDYuNjcgeCAxODIu
NjcpCisgICAgICAoY292ZXJhZ2UgcmVjdCAwLjAwLCA5NTcuMzMgMTkyLjAwIHggMjY4LjAwKQog
ICAgICAgKGludGVyc2VjdHMgY292ZXJhZ2UgcmVjdCAxKQogICAgICAgKGNvbnRlbnRzU2NhbGUg
Ni4wMCkKICAgICAgIChjaGlsZHJlbiAxCiAgICAgICAgIChHcmFwaGljc0xheWVyCiAgICAgICAg
ICAgKHBvc2l0aW9uIDEwLjAwIDAuMDApCi0gICAgICAgICAgKGFwcHJveGltYXRlIHBvc2l0aW9u
IDEwLjAwIDYyMS4zNCkKLSAgICAgICAgICAoYm91bmRzIDEwMC4wMCA1NjguMDApCisgICAgICAg
ICAgKGFwcHJveGltYXRlIHBvc2l0aW9uIDEwLjAwIDYzNC42NykKKyAgICAgICAgICAoYm91bmRz
IDEwMC4wMCA1NDguMDApCiAgICAgICAgICAgKHVzaW5nVGlsZWRMYXllciAxKQogICAgICAgICAg
IChjb250ZW50c09wYXF1ZSAxKQogICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKLSAgICAgICAg
ICAodmlzaWJsZSByZWN0IDAuMDAsIDM3OC42NiA5Ni42NyB4IDE4OS4zMykKLSAgICAgICAgICAo
Y292ZXJhZ2UgcmVjdCAtMTAuMDAsIDMzNS45OSAxOTIuMDAgeCAyNzQuNjcpCisgICAgICAgICAg
KHZpc2libGUgcmVjdCAwLjAwLCAzNjUuMzMgOTYuNjcgeCAxODIuNjcpCisgICAgICAgICAgKGNv
dmVyYWdlIHJlY3QgLTEwLjAwLCAzMjIuNjYgMTkyLjAwIHggMjY4LjAwKQogICAgICAgICAgIChp
bnRlcnNlY3RzIGNvdmVyYWdlIHJlY3QgMSkKICAgICAgICAgICAoY29udGVudHNTY2FsZSA2LjAw
KQogICAgICAgICApCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zY3JvbGxpbmdjb29yZGluYXRv
ci9pb3MvdWktc2Nyb2xsaW5nLXRyZWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc2Nyb2xs
aW5nY29vcmRpbmF0b3IvaW9zL3VpLXNjcm9sbGluZy10cmVlLWV4cGVjdGVkLnR4dAppbmRleCAz
MmQ3ZTFlOWUzYzAyNTZiZGY4ZDNmY2E1ZDdhNjM0MGEzZWZmNTgxLi5mMDZmOTQ2ZTg0MmQyYzM1
YmZjMjQ2MTMxZWI3ZTlhZTJiMjAwNGQzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zY3JvbGxp
bmdjb29yZGluYXRvci9pb3MvdWktc2Nyb2xsaW5nLXRyZWUtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL3Njcm9sbGluZ2Nvb3JkaW5hdG9yL2lvcy91aS1zY3JvbGxpbmctdHJlZS1leHBl
Y3RlZC50eHQKQEAgLTEsMTIgKzEsMTIgQEAKIAogKHNjcm9sbGluZyB0cmVlCiAgIChmcmFtZSBz
Y3JvbGxpbmcgbm9kZQotICAgIChsYXlvdXQgdmlld3BvcnQgKDAsMCkgd2lkdGg9MzIwIGhlaWdo
dD01NjgpCisgICAgKGxheW91dCB2aWV3cG9ydCAoMCwwKSB3aWR0aD0zMjAgaGVpZ2h0PTU0OCkK
ICAgICAobWluIGxheW91dFZpZXdwb3J0IG9yaWdpbiAoMCwwKSkKLSAgICAobWF4IGxheW91dFZp
ZXdwb3J0IG9yaWdpbiAoOTg4LDE0NTMpKQorICAgIChtYXggbGF5b3V0Vmlld3BvcnQgb3JpZ2lu
ICg5ODgsMTQ3MykpCiAgICAgKGJlaGF2aW9yIGZvciBmaXhlZCAwKQogICAgIChmaXhlZCBub2Rl
CiAgICAgICAoZml4ZWQgY29uc3RyYWludHMgCi0gICAgICAgICh2aWV3cG9ydC1yZWN0LWF0LWxh
c3QtbGF5b3V0ICgwLDApIHdpZHRoPTMyMCBoZWlnaHQ9NTY4KQorICAgICAgICAodmlld3BvcnQt
cmVjdC1hdC1sYXN0LWxheW91dCAoMCwwKSB3aWR0aD0zMjAgaGVpZ2h0PTU0OCkKICAgICAgICAg
KGxheWVyLXBvc2l0aW9uLWF0LWxhc3QtbGF5b3V0ICgxMiwxMCkpKQogICAgICAgKGxheWVyIHRv
cCBsZWZ0ICgxMiwxMCkpKSkK
</data>
<flag name="review"
          id="319708"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>297410</attachid>
            <date>2016-12-17 10:41:55 -0800</date>
            <delta_ts>2016-12-17 11:18:51 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-165983-20161217104102.patch</filename>
            <type>text/plain</type>
            <size>65897</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA5OTMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNDU0OTFjM2Y1MGZkZWNl
YWE1YmJiZGQ2N2E1ZTkyNDliZTA4OTlmZC4uZjE2NGJiNDkxMDQwYWYzZGNjNmU1YTUxOTJkNTMx
MjJhZDAzMWFhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU4IEBACisyMDE2LTEyLTE3ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFZpc3VhbCB2aWV3
cG9ydHM6IGJvdHRvbSBmaXhlZCBlbGVtZW50cyBkaXNhcHBlYXIgYmVoaW5kIHRoZSBrZXlib2Fy
ZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY1OTgz
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yOTQwOTg1Mj4KKworICAgICAgICBSZXZpZXdlZCBi
eSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgQWNjb3VudHMgZm9yIGlucHV0IHZpZXcgYm91bmRz
IGluIFdlYlBhZ2VQcm94eTo6Y29tcHV0ZUN1c3RvbUZpeGVkUG9zaXRpb25SZWN0LiBUbyBkbyB0
aGlzLCB3ZSBpbnRyb2R1Y2UgYW5kCisgICAgICAgIHBhc3MgdW5vYnNjdXJlZENvbnRlbnRSZWN0
UmVzcGVjdGluZ0lucHV0Vmlld0JvdW5kcyBhbG9uZyB3aXRoIHRoZSByZWd1bGFyIHVub2JzY3Vy
ZWRDb250ZW50UmVjdCAod2hpY2ggZG9lcyBub3QKKyAgICAgICAgcmVzcGVjdCB0aGUgb2JzY3Vy
aW5nIGtleWJvYXJkIHJlY3QpLiBUaGlzIHVub2JzY3VyZWRDb250ZW50UmVjdFJlc3BlY3RpbmdJ
bnB1dFZpZXdCb3VuZHMgaXMgdGhlbiB1c2VkIHdoZW4KKyAgICAgICAgY29tcHV0aW5nIHRoZSBv
cmlnaW4gb2YgdGhlIHVwZGF0ZWQgbGF5b3V0IHZpZXdwb3J0IHJlY3QgKGFuZCBhbHNvLCB3aGVu
IHdlIGFyZSBfbm90XyBiZWxvdyBtaW5pbXVtIHNjYWxlKSwKKyAgICAgICAgCisgICAgICAgIEFk
ZGl0aW9uYWxseSwgdGhlIHNpemUgaXMgY29tcHV0ZWQgdXNpbmcgdGhlICh1bmNvbnN0cmFpbmVk
KSB1bm9ic2N1cmVkIHJlY3QuIFRoaXMgaXMgYmVjYXVzZSB3ZSBwcmV2aW91c2x5CisgICAgICAg
IHdvdWxkIHVzZSB0aGUgZG9jdW1lbnQtY29uc3RyYWluZWQgdmVyc2lvbiBvZiB0aGUgdW5vYnNj
dXJlZCByZWN0LCB3aGljaCBjYXVzZWQgdGhlIGxheW91dCB2aWV3cG9ydCB0byBzaHJpbmsKKyAg
ICAgICAgd2hlbiBhcHByb2FjaGluZyB0aGUgbWF4IHNjcm9sbCBleHRlbnRzIG9mIHRoZSBkb2N1
bWVudCB3aGlsZSB0aGUga2V5Ym9hcmQgaXMgdXAsIHNpbmNlIHRoZSB1bm9ic2N1cmVkIHJlY3QK
KyAgICAgICAgd291bGQgc3BpbGwgb3V0IG9mIHRoZSBkb2N1bWVudCByZWN0LiBIb3dldmVyLCB1
c2luZyB0aGlzIHVuY29uc3RyYWluZWQgcmVjdCdzIHNpemUgYWxzbyBtZWFucyB0aGF0IGlmIHRo
ZSB1c2VyCisgICAgICAgIHJ1YmJlci1iYW5kcyBvdXQgb2YgdGhlIGRvY3VtZW50IHJlY3QsIHdl
IHdvdWxkIGVuZCB1cCBwdXNoaW5nIHRoZSBsYXlvdXQgdmlld3BvcnQgcmVjdCBvdXQgb2YgdGhl
IGRvY3VtZW50LAorICAgICAgICB3aXRoIG5vIHdheSBvZiBhZGp1c3RpbmcgaXQgYmFjayBpbiB3
aXRob3V0IHRoZSB1c2VyIHNjcm9sbGluZyB0byBwdXNoIHRoZSBsYXlvdXQgdmlld3BvcnQgaW50
byBiYWNrIGRvY3VtZW50CisgICAgICAgIGJvdW5kcy4gVG8gYWRkcmVzcyB0aGlzLCB3ZSBtb3Zl
IHRoZSBsYXlvdXQgcmVjdCB0byBiZSB3aXRoaW4gZG9jdW1lbnQgYm91bmRzIGFmdGVyIGNvbXB1
dGluZyBpdHMgc2l6ZSBhbmQKKyAgICAgICAgbG9jYXRpb24uCisKKyAgICAgICAgQWRkZWQgYSBu
ZXcgbGF5b3V0IHRlc3Q6IGZhc3QvdmlzdWFsLXZpZXdwb3J0L2lvcy9maXhlZC1lbGVtZW50LW9u
LWJvdHRvbS13aXRoLWtleWJvYXJkLmh0bWwsIGFuZCBhbHNvIHR3ZWFrZWQKKyAgICAgICAgZml4
ZWQtY2FyZXQtcG9zaXRpb24tYWZ0ZXItc2Nyb2xsLmh0bWwgdG8gY292ZXIgdGhlc2UgY2hhbmdl
cy4KKworICAgICAgICAqIFNoYXJlZC9WaXNpYmxlQ29udGVudFJlY3RVcGRhdGVJbmZvLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6b3BlcmF0b3I8PCk6CisgICAgICAgICogU2hhcmVkL1Zpc2libGVD
b250ZW50UmVjdFVwZGF0ZUluZm8uaDoKKyAgICAgICAgKFdlYktpdDo6VmlzaWJsZUNvbnRlbnRS
ZWN0VXBkYXRlSW5mbzo6VmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlSW5mbyk6CisgICAgICAgIChX
ZWJLaXQ6OlZpc2libGVDb250ZW50UmVjdFVwZGF0ZUluZm86OnVub2JzY3VyZWRDb250ZW50UmVj
dFJlc3BlY3RpbmdJbnB1dFZpZXdCb3VuZHMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tXZWJWaWV3Lm1tOgorICAgICAgICAoLVtXS1dlYlZpZXcgX3VwZGF0ZUNvbnRlbnRSZWN0
c1dpdGhTdGF0ZTpdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9pbnB1dFZpZXdCb3VuZHNdKToK
KworICAgICAgICBSZXR1cm5zIHRoZSBjdXJyZW50IGJvdW5kcyBvZiB0aGUgaW5wdXQgdmlldy4g
Rm9yIHRlc3RpbmcgcHVycG9zZXMuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlld1ByaXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6dW5vYnNjdXJlZENvbnRlbnRSZWN0UmVzcGVj
dGluZ0lucHV0Vmlld0JvdW5kcyk6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9SZW1vdGVTY3Jv
bGxpbmdDb29yZGluYXRvclByb3h5SU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVTY3Jv
bGxpbmdDb29yZGluYXRvclByb3h5OjpjdXN0b21GaXhlZFBvc2l0aW9uUmVjdCk6CisgICAgICAg
ICogVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lmg6CisgICAgICAgICogVUlQcm9jZXNzL2lv
cy9XS0NvbnRlbnRWaWV3Lm1tOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9jb21wdXRlVW5v
YnNjdXJlZENvbnRlbnRSZWN0UmVzcGVjdGluZ0lucHV0Vmlld0JvdW5kczp1bm9ic2N1cmVkQ29u
dGVudFJlY3Q6aW5wdXRWaWV3Qm91bmRzOnNjYWxlOl0pOgorCisgICAgICAgIEhlbHBlciB0byBj
b21wdXRlIHRoZSB1bm9ic2N1cmVkIHJlY3QsIGFjY291bnRpbmcgZm9yIHRoZSBib3VuZHMgb2Yg
dGhlIGN1cnJlbnQgaW5wdXQgdmlldy4KKworICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IGRpZFVw
ZGF0ZVZpc2libGVSZWN0OnVub2JzY3VyZWRSZWN0OnVub2JzY3VyZWRSZWN0SW5TY3JvbGxWaWV3
Q29vcmRpbmF0ZXM6b2JzY3VyZWRJbnNldDppbnB1dFZpZXdCb3VuZHM6c2NhbGU6bWluaW11bVNj
YWxlOmluU3RhYmxlU3RhdGU6aXNDaGFuZ2luZ09ic2N1cmVkSW5zZXRzSW50ZXJhY3RpdmVseTpl
bmNsb3NlZEluU2Nyb2xsYWJsZUFuY2VzdG9yVmlldzpdKToKKyAgICAgICAgKC1bV0tDb250ZW50
VmlldyBfZGlkQ29tbWl0TGF5ZXJUcmVlOl0pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IGRp
ZFVwZGF0ZVZpc2libGVSZWN0OnVub2JzY3VyZWRSZWN0OnVub2JzY3VyZWRSZWN0SW5TY3JvbGxW
aWV3Q29vcmRpbmF0ZXM6b2JzY3VyZWRJbnNldDpzY2FsZTptaW5pbXVtU2NhbGU6aW5TdGFibGVT
dGF0ZTppc0NoYW5naW5nT2JzY3VyZWRJbnNldHNJbnRlcmFjdGl2ZWx5OmVuY2xvc2VkSW5TY3Jv
bGxhYmxlQW5jZXN0b3JWaWV3Ol0pOiBEZWxldGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3Mv
V2ViUGFnZVByb3h5SU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmNvbXB1
dGVDdXN0b21GaXhlZFBvc2l0aW9uUmVjdCk6CisgICAgICAgICogVUlQcm9jZXNzL21hYy9SZW1v
dGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5Lm1tOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVM
YXllclRyZWVEcmF3aW5nQXJlYVByb3h5Ojpjb21taXRMYXllclRyZWUpOgorCiAyMDE2LTEyLTE2
ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFZpc3Vh
bCB2aWV3cG9ydHM6IGNhcmV0cyBhbmQgc2VsZWN0aW9uIFVJIGFyZSBpbmNvcnJlY3RseSBwb3Np
dGlvbmVkIHdoZW4gZWRpdGluZyBmaXhlZCBlbGVtZW50cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvU2hhcmVkL1Zpc2libGVDb250ZW50UmVjdFVwZGF0ZUluZm8uY3BwIGIvU291cmNlL1dl
YktpdDIvU2hhcmVkL1Zpc2libGVDb250ZW50UmVjdFVwZGF0ZUluZm8uY3BwCmluZGV4IDNjNTcx
MDU5N2Q5YWU5MjI3OGMyZDQ4MTRkYmI2YmQxNGNkODQyZTguLjI3N2FlYWQ3NzczZmM5YjAwY2Zj
ZWI3Mzg4OTQ0NTQyM2VjZWRkMDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9W
aXNpYmxlQ29udGVudFJlY3RVcGRhdGVJbmZvLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvVmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlSW5mby5jcHAKQEAgLTEwOSw2ICsxMDksNyBAQCBU
ZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0mIHRzLCBjb25zdCBWaXNpYmxlQ29udGVu
dFJlY3RVcGRhdGVJbmZvJiBpbmZvKQogICAgIHRzLmR1bXBQcm9wZXJ0eSgiZXhwb3NlZENvbnRl
bnRSZWN0IiwgaW5mby5leHBvc2VkQ29udGVudFJlY3QoKSk7CiAgICAgdHMuZHVtcFByb3BlcnR5
KCJ1bm9ic2N1cmVkQ29udGVudFJlY3QiLCBpbmZvLnVub2JzY3VyZWRDb250ZW50UmVjdCgpKTsK
ICAgICB0cy5kdW1wUHJvcGVydHkoInVub2JzY3VyZWRSZWN0SW5TY3JvbGxWaWV3Q29vcmRpbmF0
ZXMiLCBpbmZvLnVub2JzY3VyZWRSZWN0SW5TY3JvbGxWaWV3Q29vcmRpbmF0ZXMoKSk7CisgICAg
dHMuZHVtcFByb3BlcnR5KCJ1bm9ic2N1cmVkQ29udGVudFJlY3RSZXNwZWN0aW5nSW5wdXRWaWV3
Qm91bmRzIiwgaW5mby51bm9ic2N1cmVkQ29udGVudFJlY3RSZXNwZWN0aW5nSW5wdXRWaWV3Qm91
bmRzKCkpOwogICAgIHRzLmR1bXBQcm9wZXJ0eSgiY3VzdG9tRml4ZWRQb3NpdGlvblJlY3QiLCBp
bmZvLmN1c3RvbUZpeGVkUG9zaXRpb25SZWN0KCkpOwogICAgIHRzLmR1bXBQcm9wZXJ0eSgib2Jz
Y3VyZWRJbnNldCIsIGluZm8ub2JzY3VyZWRJbnNldCgpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvU2hhcmVkL1Zpc2libGVDb250ZW50UmVjdFVwZGF0ZUluZm8uaCBiL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9WaXNpYmxlQ29udGVudFJlY3RVcGRhdGVJbmZvLmgKaW5kZXggMDVkM2Vh
ZDNmNTE4MjQxNDY5ZTliYTFlZDk3YmNmYTI5NGIwNzRlZC4uOGVhMTUzNThkOTIzMTc2ZWMwMGIw
ZjhjNzRkYWZkYmZlNGNiYmFmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1Zp
c2libGVDb250ZW50UmVjdFVwZGF0ZUluZm8uaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
VmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlSW5mby5oCkBAIC00NSwxMiArNDUsMTMgQEAgcHVibGlj
OgogICAgIFZpc2libGVDb250ZW50UmVjdFVwZGF0ZUluZm8oKSA9IGRlZmF1bHQ7CiAKICAgICBW
aXNpYmxlQ29udGVudFJlY3RVcGRhdGVJbmZvKGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgZXhw
b3NlZENvbnRlbnRSZWN0LCBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIHVub2JzY3VyZWRDb250
ZW50UmVjdCwKLSAgICAgICAgY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiB1bm9ic2N1cmVkUmVj
dEluU2Nyb2xsVmlld0Nvb3JkaW5hdGVzLCBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIGN1c3Rv
bUZpeGVkUG9zaXRpb25SZWN0LAorICAgICAgICBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIHVu
b2JzY3VyZWRSZWN0SW5TY3JvbGxWaWV3Q29vcmRpbmF0ZXMsIGNvbnN0IFdlYkNvcmU6OkZsb2F0
UmVjdCYgdW5vYnNjdXJlZENvbnRlbnRSZWN0UmVzcGVjdGluZ0lucHV0Vmlld0JvdW5kcywgY29u
c3QgV2ViQ29yZTo6RmxvYXRSZWN0JiBjdXN0b21GaXhlZFBvc2l0aW9uUmVjdCwKICAgICAgICAg
Y29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJiBvYnNjdXJlZEluc2V0LCBkb3VibGUgc2NhbGUsIGJv
b2wgaW5TdGFibGVTdGF0ZSwgYm9vbCBpc0ZpcnN0VXBkYXRlRm9yTmV3Vmlld1NpemUsIGJvb2wg
aXNDaGFuZ2luZ09ic2N1cmVkSW5zZXRzSW50ZXJhY3RpdmVseSwgYm9vbCBhbGxvd1Nocmlua1Rv
Rml0LCBib29sIGVuY2xvc2VkSW5TY3JvbGxhYmxlQW5jZXN0b3JWaWV3LAogICAgICAgICBNb25v
dG9uaWNUaW1lIHRpbWVzdGFtcCwgZG91YmxlIGhvcml6b250YWxWZWxvY2l0eSwgZG91YmxlIHZl
cnRpY2FsVmVsb2NpdHksIGRvdWJsZSBzY2FsZUNoYW5nZVJhdGUsIHVpbnQ2NF90IGxhc3RMYXll
clRyZWVUcmFuc2FjdGlvbklkKQogICAgICAgICA6IG1fZXhwb3NlZENvbnRlbnRSZWN0KGV4cG9z
ZWRDb250ZW50UmVjdCkKICAgICAgICAgLCBtX3Vub2JzY3VyZWRDb250ZW50UmVjdCh1bm9ic2N1
cmVkQ29udGVudFJlY3QpCiAgICAgICAgICwgbV91bm9ic2N1cmVkUmVjdEluU2Nyb2xsVmlld0Nv
b3JkaW5hdGVzKHVub2JzY3VyZWRSZWN0SW5TY3JvbGxWaWV3Q29vcmRpbmF0ZXMpCisgICAgICAg
ICwgbV91bm9ic2N1cmVkQ29udGVudFJlY3RSZXNwZWN0aW5nSW5wdXRWaWV3Qm91bmRzKHVub2Jz
Y3VyZWRDb250ZW50UmVjdFJlc3BlY3RpbmdJbnB1dFZpZXdCb3VuZHMpCiAgICAgICAgICwgbV9j
dXN0b21GaXhlZFBvc2l0aW9uUmVjdChjdXN0b21GaXhlZFBvc2l0aW9uUmVjdCkKICAgICAgICAg
LCBtX29ic2N1cmVkSW5zZXQob2JzY3VyZWRJbnNldCkKICAgICAgICAgLCBtX2xhc3RMYXllclRy
ZWVUcmFuc2FjdGlvbklEKGxhc3RMYXllclRyZWVUcmFuc2FjdGlvbklkKQpAQCAtNzAsNiArNzEs
NyBAQCBwdWJsaWM6CiAgICAgY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiBleHBvc2VkQ29udGVu
dFJlY3QoKSBjb25zdCB7IHJldHVybiBtX2V4cG9zZWRDb250ZW50UmVjdDsgfQogICAgIGNvbnN0
IFdlYkNvcmU6OkZsb2F0UmVjdCYgdW5vYnNjdXJlZENvbnRlbnRSZWN0KCkgY29uc3QgeyByZXR1
cm4gbV91bm9ic2N1cmVkQ29udGVudFJlY3Q7IH0KICAgICBjb25zdCBXZWJDb3JlOjpGbG9hdFJl
Y3QmIHVub2JzY3VyZWRSZWN0SW5TY3JvbGxWaWV3Q29vcmRpbmF0ZXMoKSBjb25zdCB7IHJldHVy
biBtX3Vub2JzY3VyZWRSZWN0SW5TY3JvbGxWaWV3Q29vcmRpbmF0ZXM7IH0KKyAgICBjb25zdCBX
ZWJDb3JlOjpGbG9hdFJlY3QmIHVub2JzY3VyZWRDb250ZW50UmVjdFJlc3BlY3RpbmdJbnB1dFZp
ZXdCb3VuZHMoKSBjb25zdCB7IHJldHVybiBtX3Vub2JzY3VyZWRDb250ZW50UmVjdFJlc3BlY3Rp
bmdJbnB1dFZpZXdCb3VuZHM7IH0KICAgICBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIGN1c3Rv
bUZpeGVkUG9zaXRpb25SZWN0KCkgY29uc3QgeyByZXR1cm4gbV9jdXN0b21GaXhlZFBvc2l0aW9u
UmVjdDsgfQogICAgIGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSBvYnNjdXJlZEluc2V0KCkgY29u
c3QgeyByZXR1cm4gbV9vYnNjdXJlZEluc2V0OyB9CiAKQEAgLTk2LDYgKzk4LDcgQEAgcHJpdmF0
ZToKICAgICBXZWJDb3JlOjpGbG9hdFJlY3QgbV9leHBvc2VkQ29udGVudFJlY3Q7CiAgICAgV2Vi
Q29yZTo6RmxvYXRSZWN0IG1fdW5vYnNjdXJlZENvbnRlbnRSZWN0OwogICAgIFdlYkNvcmU6OkZs
b2F0UmVjdCBtX3Vub2JzY3VyZWRSZWN0SW5TY3JvbGxWaWV3Q29vcmRpbmF0ZXM7CisgICAgV2Vi
Q29yZTo6RmxvYXRSZWN0IG1fdW5vYnNjdXJlZENvbnRlbnRSZWN0UmVzcGVjdGluZ0lucHV0Vmll
d0JvdW5kczsKICAgICBXZWJDb3JlOjpGbG9hdFJlY3QgbV9jdXN0b21GaXhlZFBvc2l0aW9uUmVj
dDsgLy8gV2hlbiB2aXN1YWwgdmlld3BvcnRzIGFyZSBlbmFibGVkLCB0aGlzIGlzIHRoZSBsYXlv
dXQgdmlld3BvcnQuCiAgICAgV2ViQ29yZTo6RmxvYXRTaXplIG1fb2JzY3VyZWRJbnNldDsKICAg
ICB1aW50NjRfdCBtX2xhc3RMYXllclRyZWVUcmFuc2FjdGlvbklEIHsgMCB9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0gYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQppbmRleCBjMTFhYmIz
OTZhMTVmYjIyMWM0MGJlMWVkYzRmZmE0YjFlZDk2YzAzLi5mNTc0MWNmMTQ2NzFmYjI0NmZlYWJl
NWY0M2VkZmU2Yjc4NDUwYTlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlldy5tbQpAQCAtMjE2Miw2ICsyMTYyLDcgQEAgLSAodm9pZClfdXBkYXRl
Q29udGVudFJlY3RzV2l0aFN0YXRlOihCT09MKWluU3RhYmxlU3RhdGUKICAgICAgICAgdW5vYnNj
dXJlZFJlY3Q6dW5vYnNjdXJlZFJlY3RJbkNvbnRlbnRDb29yZGluYXRlcwogICAgICAgICB1bm9i
c2N1cmVkUmVjdEluU2Nyb2xsVmlld0Nvb3JkaW5hdGVzOnVub2JzY3VyZWRSZWN0CiAgICAgICAg
IG9ic2N1cmVkSW5zZXQ6Q0dTaXplTWFrZShfb2JzY3VyZWRJbnNldHMubGVmdCwgX29ic2N1cmVk
SW5zZXRzLnRvcCkKKyAgICAgICAgaW5wdXRWaWV3Qm91bmRzOl9pbnB1dFZpZXdCb3VuZHMKICAg
ICAgICAgc2NhbGU6c2NhbGVGYWN0b3IgbWluaW11bVNjYWxlOltfc2Nyb2xsVmlldyBtaW5pbXVt
Wm9vbVNjYWxlXQogICAgICAgICBpblN0YWJsZVN0YXRlOmluU3RhYmxlU3RhdGUKICAgICAgICAg
aXNDaGFuZ2luZ09ic2N1cmVkSW5zZXRzSW50ZXJhY3RpdmVseTpfaXNDaGFuZ2luZ09ic2N1cmVk
SW5zZXRzSW50ZXJhY3RpdmVseQpAQCAtNDc1Miw2ICs0NzUzLDExIEBAIC0gKENHUmVjdClfdWlU
ZXh0Q2FyZXRSZWN0CiAgICAgcmV0dXJuIFtbX2NvbnRlbnRWaWV3IHZhbHVlRm9yS2V5UGF0aDpA
ImludGVyYWN0aW9uQXNzaXN0YW50LnNlbGVjdGlvblZpZXcuc2VsZWN0aW9uLmNhcmV0UmVjdCJd
IENHUmVjdFZhbHVlXTsKIH0KIAorLSAoQ0dSZWN0KV9pbnB1dFZpZXdCb3VuZHMKK3sKKyAgICBy
ZXR1cm4gX2lucHV0Vmlld0JvdW5kczsKK30KKwogLSAoTlNBcnJheTxOU1ZhbHVlICo+ICopX3Vp
VGV4dFNlbGVjdGlvblJlY3RzCiB7CiAgICAgLy8gRm9yY2UgdGhlIHNlbGVjdGlvbiB2aWV3IHRv
IHVwZGF0ZSBpZiBuZWVkZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oCmluZGV4IDlmNjFiMDNiODRhMDg5Zjk1ZjljZjE1
MWNhODY1OTZlMDA5M2Q3NDAuLjA3MWY2YmNkOGQyMjRmNzcxOTU1MDRhZmU1NjRiODk5Mjg2NTQ4
ZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJW
aWV3UHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tX
ZWJWaWV3UHJpdmF0ZS5oCkBAIC0yOTEsNiArMjkxLDcgQEAgdHlwZWRlZiBOU19FTlVNKE5TSW50
ZWdlciwgX1dLSW1tZWRpYXRlQWN0aW9uVHlwZSkgewogCiBAcHJvcGVydHkgKG5vbmF0b21pYywg
cmVhZG9ubHkpIE5TQXJyYXk8TlNWYWx1ZSAqPiAqX3VpVGV4dFNlbGVjdGlvblJlY3RzIFdLX0FQ
SV9BVkFJTEFCTEUoaW9zKFdLX0lPU19UQkEpKTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFk
b25seSkgQ0dSZWN0IF91aVRleHRDYXJldFJlY3QgV0tfQVBJX0FWQUlMQUJMRShpb3MoV0tfSU9T
X1RCQSkpOworQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBDR1JlY3QgX2lucHV0Vmll
d0JvdW5kcyBXS19BUElfQVZBSUxBQkxFKGlvcyhXS19JT1NfVEJBKSk7CiAKIEBwcm9wZXJ0eSAo
bm9uYXRvbWljLCByZWFkb25seSkgTlNTdHJpbmcgKl9zY3JvbGxpbmdUcmVlQXNUZXh0IFdLX0FQ
SV9BVkFJTEFCTEUoaW9zKFdLX0lPU19UQkEpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5oCmluZGV4IDUyNzM3OTBjYzE1ODI4MjQ1ZTg5NjJkY2ZhMDFiMTExYjcxNDE0
OGMuLjNhNDcyMzA4NzE4NGZkY2RhYWNjZTFmMjkyOGM3OTE1ODgyZDM2ZWYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTQ2OCw2ICs0NjgsNyBAQCBwdWJsaWM6
CiAgICAgY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiBleHBvc2VkQ29udGVudFJlY3QoKSBjb25z
dCB7IHJldHVybiBtX2xhc3RWaXNpYmxlQ29udGVudFJlY3RVcGRhdGUuZXhwb3NlZENvbnRlbnRS
ZWN0KCk7IH0KICAgICBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIHVub2JzY3VyZWRDb250ZW50
UmVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fbGFzdFZpc2libGVDb250ZW50UmVjdFVwZGF0ZS51bm9i
c2N1cmVkQ29udGVudFJlY3QoKTsgfQogICAgIGJvb2wgaW5TdGFibGVTdGF0ZSgpIGNvbnN0IHsg
cmV0dXJuIG1fbGFzdFZpc2libGVDb250ZW50UmVjdFVwZGF0ZS5pblN0YWJsZVN0YXRlKCk7IH0K
KyAgICBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIHVub2JzY3VyZWRDb250ZW50UmVjdFJlc3Bl
Y3RpbmdJbnB1dFZpZXdCb3VuZHMoKSBjb25zdCB7IHJldHVybiBtX2xhc3RWaXNpYmxlQ29udGVu
dFJlY3RVcGRhdGUudW5vYnNjdXJlZENvbnRlbnRSZWN0UmVzcGVjdGluZ0lucHV0Vmlld0JvdW5k
cygpOyB9CiAgICAgLy8gV2hlbiB2aXN1YWwgdmlld3BvcnRzIGFyZSBlbmFibGVkLCB0aGlzIGlz
IHRoZSBsYXlvdXQgdmlld3BvcnQgcmVjdC4KICAgICBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3Qm
IGN1c3RvbUZpeGVkUG9zaXRpb25SZWN0KCkgY29uc3QgeyByZXR1cm4gbV9sYXN0VmlzaWJsZUNv
bnRlbnRSZWN0VXBkYXRlLmN1c3RvbUZpeGVkUG9zaXRpb25SZWN0KCk7IH0KIApAQCAtNDc1LDcg
KzQ3Niw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlc2VuZExhc3RWaXNpYmxlQ29udGVudFJlY3Rz
KCk7CiAKICAgICBlbnVtIGNsYXNzIFVub2JzY3VyZWRSZWN0Q29uc3RyYWludCB7IENvbnN0cmFp
bmVkVG9Eb2N1bWVudFJlY3QsIFVuY29uc3RyYWluZWQgfTsKLSAgICBXZWJDb3JlOjpGbG9hdFJl
Y3QgY29tcHV0ZUN1c3RvbUZpeGVkUG9zaXRpb25SZWN0KGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVj
dCYgdW5vYnNjdXJlZENvbnRlbnRSZWN0LCBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIGN1cnJl
bnRDdXN0b21GaXhlZFBvc2l0aW9uUmVjdCwgZG91YmxlIGRpc3BsYXllZENvbnRlbnRTY2FsZSwg
VW5vYnNjdXJlZFJlY3RDb25zdHJhaW50ID0gVW5vYnNjdXJlZFJlY3RDb25zdHJhaW50OjpVbmNv
bnN0cmFpbmVkLCBib29sIHZpc3VhbFZpZXdwb3J0RW5hYmxlZCA9IGZhbHNlKSBjb25zdDsKKyAg
ICBXZWJDb3JlOjpGbG9hdFJlY3QgY29tcHV0ZUN1c3RvbUZpeGVkUG9zaXRpb25SZWN0KGNvbnN0
IFdlYkNvcmU6OkZsb2F0UmVjdCYgdW5vYnNjdXJlZENvbnRlbnRSZWN0LCBjb25zdCBXZWJDb3Jl
OjpGbG9hdFJlY3QmIHVub2JzY3VyZWRDb250ZW50UmVjdFJlc3BlY3RpbmdJbnB1dFZpZXdCb3Vu
ZHMsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgY3VycmVudEN1c3RvbUZpeGVkUG9zaXRpb25S
ZWN0LCBkb3VibGUgZGlzcGxheWVkQ29udGVudFNjYWxlLCBVbm9ic2N1cmVkUmVjdENvbnN0cmFp
bnQgPSBVbm9ic2N1cmVkUmVjdENvbnN0cmFpbnQ6OlVuY29uc3RyYWluZWQsIGJvb2wgdmlzdWFs
Vmlld3BvcnRFbmFibGVkID0gZmFsc2UpIGNvbnN0OwogCiAgICAgdm9pZCBvdmVyZmxvd1Njcm9s
bFZpZXdXaWxsU3RhcnRQYW5HZXN0dXJlKCk7CiAgICAgdm9pZCBvdmVyZmxvd1Njcm9sbFZpZXdE
aWRTY3JvbGwoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUmVt
b3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eUlPUy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9pb3MvUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eUlPUy5tbQppbmRleCAxMGM4
ZGY3NzJlMmQ1Y2MwOWRhYjUyMzg1MjI5MmIyMjM1MzNmOTk3Li42YzlhMWMwMzllMDQyNGY5OTc1
YjVhZmM1NTljMDY5ZDBiYzU4MmRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvaW9zL1JlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJveHlJT1MubW0KKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL2lvcy9SZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclByb3h5SU9T
Lm1tCkBAIC05NCw3ICs5NCw3IEBAIHZvaWQgUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94
eTo6Y29ubmVjdFN0YXRlTm9kZUxheWVycyhTY3JvbGxpbmdTdGF0ZVRyZWUmCiAKIEZsb2F0UmVj
dCBSZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclByb3h5OjpjdXN0b21GaXhlZFBvc2l0aW9uUmVj
dCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fd2ViUGFnZVByb3h5LmNvbXB1dGVDdXN0b21GaXhl
ZFBvc2l0aW9uUmVjdChtX3dlYlBhZ2VQcm94eS51bm9ic2N1cmVkQ29udGVudFJlY3QoKSwgbV93
ZWJQYWdlUHJveHkuY3VzdG9tRml4ZWRQb3NpdGlvblJlY3QoKSwgbV93ZWJQYWdlUHJveHkuZGlz
cGxheWVkQ29udGVudFNjYWxlKCkpOworICAgIHJldHVybiBtX3dlYlBhZ2VQcm94eS5jb21wdXRl
Q3VzdG9tRml4ZWRQb3NpdGlvblJlY3QobV93ZWJQYWdlUHJveHkudW5vYnNjdXJlZENvbnRlbnRS
ZWN0KCksIG1fd2ViUGFnZVByb3h5LnVub2JzY3VyZWRDb250ZW50UmVjdFJlc3BlY3RpbmdJbnB1
dFZpZXdCb3VuZHMoKSwgbV93ZWJQYWdlUHJveHkuY3VzdG9tRml4ZWRQb3NpdGlvblJlY3QoKSwg
bV93ZWJQYWdlUHJveHkuZGlzcGxheWVkQ29udGVudFNjYWxlKCkpOwogfQogCiB2b2lkIFJlbW90
ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJveHk6OnNjcm9sbGluZ1RyZWVOb2RlV2lsbFN0YXJ0UGFu
R2VzdHVyZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29u
dGVudFZpZXcuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlldy5o
CmluZGV4IGY3YThhZjNkNTU3Y2M1OGM5NTBjZTJiM2E4MTAxYmJhZjFjMTdmNmUuLmVjODJmN2Ix
OTM2NGZjZGE4YTkxNDRhNjFhMmNjYmU5MjhlMTAyODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlldy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlldy5oCkBAIC03MSw2ICs3MSw3IEBAIGNsYXNzIFdlYlBy
b2Nlc3NQb29sOwogICAgIHVub2JzY3VyZWRSZWN0OihDR1JlY3QpdW5vYnNjdXJlZFJlY3QKICAg
ICB1bm9ic2N1cmVkUmVjdEluU2Nyb2xsVmlld0Nvb3JkaW5hdGVzOihDR1JlY3QpdW5vYnNjdXJl
ZFJlY3RJblNjcm9sbFZpZXdDb29yZGluYXRlcwogICAgIG9ic2N1cmVkSW5zZXQ6KENHU2l6ZSl0
b3BJbnNldAorICAgIGlucHV0Vmlld0JvdW5kczooQ0dSZWN0KWlucHV0Vmlld0JvdW5kcwogICAg
IHNjYWxlOihDR0Zsb2F0KXNjYWxlIG1pbmltdW1TY2FsZTooQ0dGbG9hdCltaW5pbXVtU2NhbGUK
ICAgICBpblN0YWJsZVN0YXRlOihCT09MKWlzU3RhYmxlU3RhdGUKICAgICBpc0NoYW5naW5nT2Jz
Y3VyZWRJbnNldHNJbnRlcmFjdGl2ZWx5OihCT09MKWlzQ2hhbmdpbmdPYnNjdXJlZEluc2V0c0lu
dGVyYWN0aXZlbHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tD
b250ZW50Vmlldy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmll
dy5tbQppbmRleCA0YmZiZDRjNDQyZjk3YzUzZjc2ZTNiMmJjZDgxOTQ3NTZkNzRiOThmLi42NmFk
NThiZDY0NTI4NzlkOWFkNzYxZTIzZDc1YTdiZTE4N2FlMzhmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXcubW0KKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1tCkBAIC0zNzIsMTAgKzM3MiwxOCBAQCAt
ICh2b2lkKV9kaWRFeGl0U3RhYmxlU3RhdGUKICAgICBbW193ZWJTZWxlY3Rpb25Bc3Npc3RhbnQg
c2VsZWN0aW9uVmlld10gc2V0SGlkZGVuOllFU107CiB9CiAKKy0gKENHUmVjdClfY29tcHV0ZVVu
b2JzY3VyZWRDb250ZW50UmVjdFJlc3BlY3RpbmdJbnB1dFZpZXdCb3VuZHM6KENHUmVjdCl2aXNp
YmxlQ29udGVudFJlY3QgdW5vYnNjdXJlZENvbnRlbnRSZWN0OihDR1JlY3QpdW5vYnNjdXJlZENv
bnRlbnRSZWN0IGlucHV0Vmlld0JvdW5kczooQ0dSZWN0KWlucHV0Vmlld0JvdW5kcyBzY2FsZToo
Q0dGbG9hdClzY2FsZQoreworICAgIGlmIChpbnB1dFZpZXdCb3VuZHMuc2l6ZS5oZWlnaHQpCisg
ICAgICAgIHVub2JzY3VyZWRDb250ZW50UmVjdC5zaXplLmhlaWdodCA9IHN0ZDo6bWluPGZsb2F0
Pih1bm9ic2N1cmVkQ29udGVudFJlY3Quc2l6ZS5oZWlnaHQsIHZpc2libGVDb250ZW50UmVjdC5v
cmlnaW4ueSArIChpbnB1dFZpZXdCb3VuZHMub3JpZ2luLnkgLyBzY2FsZSkgLSB1bm9ic2N1cmVk
Q29udGVudFJlY3Qub3JpZ2luLnkpOworICAgIHJldHVybiB1bm9ic2N1cmVkQ29udGVudFJlY3Q7
Cit9CisKIC0gKHZvaWQpZGlkVXBkYXRlVmlzaWJsZVJlY3Q6KENHUmVjdCl2aXNpYmxlQ29udGVu
dFJlY3QKICAgICB1bm9ic2N1cmVkUmVjdDooQ0dSZWN0KXVub2JzY3VyZWRDb250ZW50UmVjdAog
ICAgIHVub2JzY3VyZWRSZWN0SW5TY3JvbGxWaWV3Q29vcmRpbmF0ZXM6KENHUmVjdCl1bm9ic2N1
cmVkUmVjdEluU2Nyb2xsVmlld0Nvb3JkaW5hdGVzCiAgICAgb2JzY3VyZWRJbnNldDooQ0dTaXpl
KW9ic2N1cmVkSW5zZXQKKyAgICBpbnB1dFZpZXdCb3VuZHM6KENHUmVjdClpbnB1dFZpZXdCb3Vu
ZHMKICAgICBzY2FsZTooQ0dGbG9hdCl6b29tU2NhbGUgbWluaW11bVNjYWxlOihDR0Zsb2F0KW1p
bmltdW1TY2FsZQogICAgIGluU3RhYmxlU3RhdGU6KEJPT0wpaXNTdGFibGVTdGF0ZQogICAgIGlz
Q2hhbmdpbmdPYnNjdXJlZEluc2V0c0ludGVyYWN0aXZlbHk6KEJPT0wpaXNDaGFuZ2luZ09ic2N1
cmVkSW5zZXRzSW50ZXJhY3RpdmVseQpAQCAtMzkzLDEyICs0MDEsMTUgQEAgLSAodm9pZClkaWRV
cGRhdGVWaXNpYmxlUmVjdDooQ0dSZWN0KXZpc2libGVDb250ZW50UmVjdAogICAgICAgICBfaGlz
dG9yaWNhbEtpbmVtYXRpY0RhdGEuY2xlYXIoKTsKIAogICAgIFJlbW90ZVNjcm9sbGluZ0Nvb3Jk
aW5hdG9yUHJveHkqIHNjcm9sbGluZ0Nvb3JkaW5hdG9yID0gX3BhZ2UtPnNjcm9sbGluZ0Nvb3Jk
aW5hdG9yUHJveHkoKTsKLSAgICBGbG9hdFJlY3QgZml4ZWRQb3NpdGlvblJlY3RGb3JMYXlvdXQg
PSBfcGFnZS0+Y29tcHV0ZUN1c3RvbUZpeGVkUG9zaXRpb25SZWN0KHVub2JzY3VyZWRDb250ZW50
UmVjdCwgX3BhZ2UtPmN1c3RvbUZpeGVkUG9zaXRpb25SZWN0KCksIHpvb21TY2FsZSwgV2ViUGFn
ZVByb3h5OjpVbm9ic2N1cmVkUmVjdENvbnN0cmFpbnQ6OkNvbnN0cmFpbmVkVG9Eb2N1bWVudFJl
Y3QsIHNjcm9sbGluZ0Nvb3JkaW5hdG9yLT52aXN1YWxWaWV3cG9ydEVuYWJsZWQoKSk7CisKKyAg
ICBDR1JlY3QgdW5vYnNjdXJlZENvbnRlbnRSZWN0UmVzcGVjdGluZ0lucHV0Vmlld0JvdW5kcyA9
IFtzZWxmIF9jb21wdXRlVW5vYnNjdXJlZENvbnRlbnRSZWN0UmVzcGVjdGluZ0lucHV0Vmlld0Jv
dW5kczp2aXNpYmxlQ29udGVudFJlY3QgdW5vYnNjdXJlZENvbnRlbnRSZWN0OnVub2JzY3VyZWRD
b250ZW50UmVjdCBpbnB1dFZpZXdCb3VuZHM6aW5wdXRWaWV3Qm91bmRzIHNjYWxlOnpvb21TY2Fs
ZV07CisgICAgRmxvYXRSZWN0IGZpeGVkUG9zaXRpb25SZWN0Rm9yTGF5b3V0ID0gX3BhZ2UtPmNv
bXB1dGVDdXN0b21GaXhlZFBvc2l0aW9uUmVjdCh1bm9ic2N1cmVkQ29udGVudFJlY3QsIHVub2Jz
Y3VyZWRDb250ZW50UmVjdFJlc3BlY3RpbmdJbnB1dFZpZXdCb3VuZHMsIF9wYWdlLT5jdXN0b21G
aXhlZFBvc2l0aW9uUmVjdCgpLCB6b29tU2NhbGUsIFdlYlBhZ2VQcm94eTo6VW5vYnNjdXJlZFJl
Y3RDb25zdHJhaW50OjpDb25zdHJhaW5lZFRvRG9jdW1lbnRSZWN0LCBzY3JvbGxpbmdDb29yZGlu
YXRvci0+dmlzdWFsVmlld3BvcnRFbmFibGVkKCkpOwogCiAgICAgVmlzaWJsZUNvbnRlbnRSZWN0
VXBkYXRlSW5mbyB2aXNpYmxlQ29udGVudFJlY3RVcGRhdGVJbmZvKAogICAgICAgICB2aXNpYmxl
Q29udGVudFJlY3QsCiAgICAgICAgIHVub2JzY3VyZWRDb250ZW50UmVjdCwKICAgICAgICAgdW5v
YnNjdXJlZFJlY3RJblNjcm9sbFZpZXdDb29yZGluYXRlcywKKyAgICAgICAgdW5vYnNjdXJlZENv
bnRlbnRSZWN0UmVzcGVjdGluZ0lucHV0Vmlld0JvdW5kcywKICAgICAgICAgZml4ZWRQb3NpdGlv
blJlY3RGb3JMYXlvdXQsCiAgICAgICAgIFdlYkNvcmU6OkZsb2F0U2l6ZShvYnNjdXJlZEluc2V0
KSwKICAgICAgICAgem9vbVNjYWxlLApAQCAtNDIwLDcgKzQzMSw3IEBAIC0gKHZvaWQpZGlkVXBk
YXRlVmlzaWJsZVJlY3Q6KENHUmVjdCl2aXNpYmxlQ29udGVudFJlY3QKIAogICAgIF9zaXplQ2hh
bmdlZFNpbmNlTGFzdFZpc2libGVDb250ZW50UmVjdFVwZGF0ZSA9IE5POwogCi0gICAgRmxvYXRS
ZWN0IGZpeGVkUG9zaXRpb25SZWN0ID0gX3BhZ2UtPmNvbXB1dGVDdXN0b21GaXhlZFBvc2l0aW9u
UmVjdChfcGFnZS0+dW5vYnNjdXJlZENvbnRlbnRSZWN0KCksIF9wYWdlLT5jdXN0b21GaXhlZFBv
c2l0aW9uUmVjdCgpLCB6b29tU2NhbGUsIFdlYlBhZ2VQcm94eTo6VW5vYnNjdXJlZFJlY3RDb25z
dHJhaW50OjpVbmNvbnN0cmFpbmVkLCBzY3JvbGxpbmdDb29yZGluYXRvci0+dmlzdWFsVmlld3Bv
cnRFbmFibGVkKCkpOworICAgIEZsb2F0UmVjdCBmaXhlZFBvc2l0aW9uUmVjdCA9IF9wYWdlLT5j
b21wdXRlQ3VzdG9tRml4ZWRQb3NpdGlvblJlY3QoX3BhZ2UtPnVub2JzY3VyZWRDb250ZW50UmVj
dCgpLCBfcGFnZS0+dW5vYnNjdXJlZENvbnRlbnRSZWN0UmVzcGVjdGluZ0lucHV0Vmlld0JvdW5k
cygpLCBfcGFnZS0+Y3VzdG9tRml4ZWRQb3NpdGlvblJlY3QoKSwgem9vbVNjYWxlLCBXZWJQYWdl
UHJveHk6OlVub2JzY3VyZWRSZWN0Q29uc3RyYWludDo6VW5jb25zdHJhaW5lZCwgc2Nyb2xsaW5n
Q29vcmRpbmF0b3ItPnZpc3VhbFZpZXdwb3J0RW5hYmxlZCgpKTsKICAgICBzY3JvbGxpbmdDb29y
ZGluYXRvci0+dmlld3BvcnRDaGFuZ2VkVmlhRGVsZWdhdGVkU2Nyb2xsaW5nKHNjcm9sbGluZ0Nv
b3JkaW5hdG9yLT5yb290U2Nyb2xsaW5nTm9kZUlEKCksIGZpeGVkUG9zaXRpb25SZWN0LCB6b29t
U2NhbGUpOwogCiAgICAgZHJhd2luZ0FyZWEtPnVwZGF0ZURlYnVnSW5kaWNhdG9yKCk7CkBAIC01
NTksNyArNTcwLDcgQEAgLSAodm9pZClfZGlkQ29tbWl0TGF5ZXJUcmVlOihjb25zdCBXZWJLaXQ6
OlJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uJilsYXllclRyZWUKICAgICAKICAgICBpZiAoYm91
bmRzQ2hhbmdlZCkgewogICAgICAgICAvLyBGSVhNRTogZmFjdG9yIGNvbXB1dGVDdXN0b21GaXhl
ZFBvc2l0aW9uUmVjdCgpIGludG8gc29tZXRoaW5nIHRoYXQgZ2l2ZXMgdXMgdGhpcyByZWN0Lgot
ICAgICAgICBGbG9hdFJlY3QgZml4ZWRQb3NpdGlvblJlY3QgPSBfcGFnZS0+Y29tcHV0ZUN1c3Rv
bUZpeGVkUG9zaXRpb25SZWN0KF9wYWdlLT51bm9ic2N1cmVkQ29udGVudFJlY3QoKSwgX3BhZ2Ut
PmN1c3RvbUZpeGVkUG9zaXRpb25SZWN0KCksIFtbX3dlYlZpZXcgc2Nyb2xsVmlld10gem9vbVNj
YWxlXSk7CisgICAgICAgIEZsb2F0UmVjdCBmaXhlZFBvc2l0aW9uUmVjdCA9IF9wYWdlLT5jb21w
dXRlQ3VzdG9tRml4ZWRQb3NpdGlvblJlY3QoX3BhZ2UtPnVub2JzY3VyZWRDb250ZW50UmVjdCgp
LCBfcGFnZS0+dW5vYnNjdXJlZENvbnRlbnRSZWN0UmVzcGVjdGluZ0lucHV0Vmlld0JvdW5kcygp
LCBfcGFnZS0+Y3VzdG9tRml4ZWRQb3NpdGlvblJlY3QoKSwgW1tfd2ViVmlldyBzY3JvbGxWaWV3
XSB6b29tU2NhbGVdKTsKICAgICAgICAgW3NlbGYgdXBkYXRlRml4ZWRDbGlwcGluZ1ZpZXc6Zml4
ZWRQb3NpdGlvblJlY3RdOwogCiAgICAgICAgIC8vIFdlIG5lZWQgdG8gcHVzaCB0aGUgbmV3IGNv
bnRlbnQgYm91bmRzIHRvIHRoZSB3ZWJ2aWV3IHRvIHVwZGF0ZSBmaXhlZCBwb3NpdGlvbiByZWN0
cy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5
SU9TLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0K
aW5kZXggMmU5YzZjNzg5ZDRjYjFlZTNlZDIxODE3NjNiYjZjYWRlZDg0ZmY0ZS4uYTE5ZTk5YzFh
MGE2OWEyMGI5ZDRkZWUxZjQ5ZjJmZWNkYjVlY2VmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0KKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0KQEAgLTIyMCw3ICsyMjAsNyBAQCBzdGF0
aWMgaW5saW5lIGZsb2F0IGFkanVzdGVkVW5leHBvc2VkTWF4RWRnZShmbG9hdCBkb2N1bWVudEVk
Z2UsIGZsb2F0IGV4cG9zZWRSZQogfQogCiAvLyBGSVhNRTogcmVuYW1lIHRoaXMgd2hlbiB2aXN1
YWwgdmlld3BvcnRzIGFyZSB0aGUgZGVmYXVsdC4KLVdlYkNvcmU6OkZsb2F0UmVjdCBXZWJQYWdl
UHJveHk6OmNvbXB1dGVDdXN0b21GaXhlZFBvc2l0aW9uUmVjdChjb25zdCBGbG9hdFJlY3QmIHVu
b2JzY3VyZWRDb250ZW50UmVjdCwgY29uc3QgRmxvYXRSZWN0JiBjdXJyZW50Q3VzdG9tRml4ZWRQ
b3NpdGlvblJlY3QsIGRvdWJsZSBkaXNwbGF5ZWRDb250ZW50U2NhbGUsIFVub2JzY3VyZWRSZWN0
Q29uc3RyYWludCBjb25zdHJhaW50LCBib29sIHZpc3VhbFZpZXdwb3J0RW5hYmxlZCkgY29uc3QK
K1dlYkNvcmU6OkZsb2F0UmVjdCBXZWJQYWdlUHJveHk6OmNvbXB1dGVDdXN0b21GaXhlZFBvc2l0
aW9uUmVjdChjb25zdCBGbG9hdFJlY3QmIHVub2JzY3VyZWRDb250ZW50UmVjdCwgY29uc3QgRmxv
YXRSZWN0JiB1bm9ic2N1cmVkQ29udGVudFJlY3RSZXNwZWN0aW5nSW5wdXRWaWV3Qm91bmRzLCBj
b25zdCBGbG9hdFJlY3QmIGN1cnJlbnRDdXN0b21GaXhlZFBvc2l0aW9uUmVjdCwgZG91YmxlIGRp
c3BsYXllZENvbnRlbnRTY2FsZSwgVW5vYnNjdXJlZFJlY3RDb25zdHJhaW50IGNvbnN0cmFpbnQs
IGJvb2wgdmlzdWFsVmlld3BvcnRFbmFibGVkKSBjb25zdAogewogICAgIEZsb2F0UmVjdCBjb25z
dHJhaW5lZFVub2JzY3VyZWRSZWN0ID0gdW5vYnNjdXJlZENvbnRlbnRSZWN0OwogICAgIEZsb2F0
UmVjdCBkb2N1bWVudFJlY3QgPSBtX3BhZ2VDbGllbnQuZG9jdW1lbnRSZWN0KCk7CkBAIC0yMzIs
OCArMjMyLDggQEAgV2ViQ29yZTo6RmxvYXRSZWN0IFdlYlBhZ2VQcm94eTo6Y29tcHV0ZUN1c3Rv
bUZpeGVkUG9zaXRpb25SZWN0KGNvbnN0IEZsb2F0UmVjdCYKICAgICAgICAgY29uc3RyYWluZWRV
bm9ic2N1cmVkUmVjdC5pbnRlcnNlY3QoZG9jdW1lbnRSZWN0KTsKIAogICAgIGRvdWJsZSBtaW5p
bXVtU2NhbGUgPSBtX3BhZ2VDbGllbnQubWluaW11bVpvb21TY2FsZSgpOwotICAgIAotICAgIGlm
IChkaXNwbGF5ZWRDb250ZW50U2NhbGUgPCBtaW5pbXVtU2NhbGUpIHsKKyAgICBib29sIGlzQmVs
b3dNaW5pbXVtU2NhbGUgPSBkaXNwbGF5ZWRDb250ZW50U2NhbGUgPCBtaW5pbXVtU2NhbGU7Cisg
ICAgaWYgKGlzQmVsb3dNaW5pbXVtU2NhbGUpIHsKICAgICAgICAgY29uc3QgQ0dGbG9hdCBzbG9w
ZSA9IDEyOwogICAgICAgICBDR0Zsb2F0IGZhY3RvciA9IHN0ZDo6bWF4PENHRmxvYXQ+KDEgLSBz
bG9wZSAqIChtaW5pbXVtU2NhbGUgLSBkaXNwbGF5ZWRDb250ZW50U2NhbGUpLCAwKTsKICAgICAg
ICAgICAgIApAQCAtMjQzLDIyICsyNDMsMzYgQEAgV2ViQ29yZTo6RmxvYXRSZWN0IFdlYlBhZ2VQ
cm94eTo6Y29tcHV0ZUN1c3RvbUZpeGVkUG9zaXRpb25SZWN0KGNvbnN0IEZsb2F0UmVjdCYKICAg
ICAgICAgY29uc3RyYWluZWRVbm9ic2N1cmVkUmVjdC5zZXRIZWlnaHQoYWRqdXN0ZWRVbmV4cG9z
ZWRNYXhFZGdlKGRvY3VtZW50UmVjdC5tYXhZKCksIGNvbnN0cmFpbmVkVW5vYnNjdXJlZFJlY3Qu
bWF4WSgpLCBmYWN0b3IpIC0gY29uc3RyYWluZWRVbm9ic2N1cmVkUmVjdC55KCkpOwogICAgIH0K
ICAgICAKLSAgICBpZiAodmlzdWFsVmlld3BvcnRFbmFibGVkKSB7Ci0gICAgICAgIEZsb2F0UmVj
dCBsYXlvdXRWaWV3cG9ydFJlY3QgPSBjdXJyZW50Q3VzdG9tRml4ZWRQb3NpdGlvblJlY3Q7Ci0g
ICAgICAgIAotICAgICAgICAvLyBUaGUgbGF5b3V0IHZpZXdwb3J0IGlzIG5ldmVyIHNtYWxsZXIg
dGhhbiBtX2Jhc2VMYXlvdXRWaWV3cG9ydFNpemUsIGFuZCBuZXZlciBiZSBzbWFsbGVyIHRoYW4g
dGhlIGNvbnN0cmFpbmVkVW5vYnNjdXJlZFJlY3QuCi0gICAgICAgIEZsb2F0U2l6ZSBjb25zdHJh
aW5lZFNpemUgPSBtX2Jhc2VMYXlvdXRWaWV3cG9ydFNpemU7Ci0gICAgICAgIGxheW91dFZpZXdw
b3J0UmVjdC5zZXRTaXplKGNvbnN0cmFpbmVkU2l6ZS5leHBhbmRlZFRvKGNvbnN0cmFpbmVkVW5v
YnNjdXJlZFJlY3Quc2l6ZSgpKSk7CisgICAgaWYgKCF2aXN1YWxWaWV3cG9ydEVuYWJsZWQpCisg
ICAgICAgIHJldHVybiBGcmFtZVZpZXc6OnJlY3RGb3JWaWV3cG9ydENvbnN0cmFpbmVkT2JqZWN0
cyhlbmNsb3NpbmdMYXlvdXRSZWN0KGNvbnN0cmFpbmVkVW5vYnNjdXJlZFJlY3QpLCBMYXlvdXRT
aXplKGRvY3VtZW50UmVjdC5zaXplKCkpLCBkaXNwbGF5ZWRDb250ZW50U2NhbGUsIGZhbHNlLCBT
dGlja1RvVmlld3BvcnRCb3VuZHMpOworCisgICAgRmxvYXRSZWN0IGxheW91dFZpZXdwb3J0UmVj
dCA9IGN1cnJlbnRDdXN0b21GaXhlZFBvc2l0aW9uUmVjdDsKIAotICAgICAgICBMYXlvdXRQb2lu
dCBsYXlvdXRWaWV3cG9ydE9yaWdpbiA9IEZyYW1lVmlldzo6Y29tcHV0ZUxheW91dFZpZXdwb3J0
T3JpZ2luKGVuY2xvc2luZ0xheW91dFJlY3QoY29uc3RyYWluZWRVbm9ic2N1cmVkUmVjdCksIG1f
bWluU3RhYmxlTGF5b3V0Vmlld3BvcnRPcmlnaW4sIG1fbWF4U3RhYmxlTGF5b3V0Vmlld3BvcnRP
cmlnaW4sIGVuY2xvc2luZ0xheW91dFJlY3QobGF5b3V0Vmlld3BvcnRSZWN0KSk7Ci0gICAgICAg
IGxheW91dFZpZXdwb3J0UmVjdC5zZXRMb2NhdGlvbihsYXlvdXRWaWV3cG9ydE9yaWdpbik7Cisg
ICAgLy8gVGhlIGxheW91dCB2aWV3cG9ydCBpcyBuZXZlciBzbWFsbGVyIHRoYW4gbV9iYXNlTGF5
b3V0Vmlld3BvcnRTaXplLCBhbmQgbmV2ZXIgYmUgc21hbGxlciB0aGFuIHRoZSBjb25zdHJhaW5l
ZFVub2JzY3VyZWRSZWN0LgorICAgIEZsb2F0U2l6ZSBjb25zdHJhaW5lZFNpemUgPSBtX2Jhc2VM
YXlvdXRWaWV3cG9ydFNpemU7CisgICAgaWYgKGlzQmVsb3dNaW5pbXVtU2NhbGUpCisgICAgICAg
IGxheW91dFZpZXdwb3J0UmVjdC5zZXRTaXplKGNvbnN0cmFpbmVkU2l6ZS5leHBhbmRlZFRvKGNv
bnN0cmFpbmVkVW5vYnNjdXJlZFJlY3Quc2l6ZSgpKSk7CisgICAgZWxzZQorICAgICAgICBsYXlv
dXRWaWV3cG9ydFJlY3Quc2V0U2l6ZShjb25zdHJhaW5lZFNpemUuZXhwYW5kZWRUbyh1bm9ic2N1
cmVkQ29udGVudFJlY3Quc2l6ZSgpKSk7CiAKLSAgICAgICAgaWYgKGxheW91dFZpZXdwb3J0UmVj
dCAhPSBjdXJyZW50Q3VzdG9tRml4ZWRQb3NpdGlvblJlY3QpCi0gICAgICAgICAgICBMT0dfV0lU
SF9TVFJFQU0oVmlzaWJsZVJlY3RzLCBzdHJlYW0gPDwgIldlYlBhZ2VQcm94eTo6Y29tcHV0ZUN1
c3RvbUZpeGVkUG9zaXRpb25SZWN0OiBuZXcgbGF5b3V0IHZpZXdwb3J0ICAiIDw8IGxheW91dFZp
ZXdwb3J0UmVjdCk7Ci0gICAgICAgIHJldHVybiBsYXlvdXRWaWV3cG9ydFJlY3Q7CisgICAgTGF5
b3V0UG9pbnQgbGF5b3V0Vmlld3BvcnRPcmlnaW47CisgICAgaWYgKGlzQmVsb3dNaW5pbXVtU2Nh
bGUpCisgICAgICAgIGxheW91dFZpZXdwb3J0T3JpZ2luID0gRnJhbWVWaWV3Ojpjb21wdXRlTGF5
b3V0Vmlld3BvcnRPcmlnaW4oZW5jbG9zaW5nTGF5b3V0UmVjdChjb25zdHJhaW5lZFVub2JzY3Vy
ZWRSZWN0KSwgbV9taW5TdGFibGVMYXlvdXRWaWV3cG9ydE9yaWdpbiwgbV9tYXhTdGFibGVMYXlv
dXRWaWV3cG9ydE9yaWdpbiwgZW5jbG9zaW5nTGF5b3V0UmVjdChsYXlvdXRWaWV3cG9ydFJlY3Qp
KTsKKyAgICBlbHNlCisgICAgICAgIGxheW91dFZpZXdwb3J0T3JpZ2luID0gRnJhbWVWaWV3Ojpj
b21wdXRlTGF5b3V0Vmlld3BvcnRPcmlnaW4oZW5jbG9zaW5nTGF5b3V0UmVjdCh1bm9ic2N1cmVk
Q29udGVudFJlY3RSZXNwZWN0aW5nSW5wdXRWaWV3Qm91bmRzKSwgbV9taW5TdGFibGVMYXlvdXRW
aWV3cG9ydE9yaWdpbiwgbV9tYXhTdGFibGVMYXlvdXRWaWV3cG9ydE9yaWdpbiwgZW5jbG9zaW5n
TGF5b3V0UmVjdChsYXlvdXRWaWV3cG9ydFJlY3QpKTsKKworICAgIGlmIChjb25zdHJhaW50ID09
IFVub2JzY3VyZWRSZWN0Q29uc3RyYWludDo6Q29uc3RyYWluZWRUb0RvY3VtZW50UmVjdCkgewor
ICAgICAgICAvLyBUaGUgbWF4IHN0YWJsZSBsYXlvdXQgdmlld3BvcnQgb3JpZ2luIHJlYWxseSBk
ZXBlbmRzIG9uIHRoZSBzaXplIG9mIHRoZSBsYXlvdXQgdmlld3BvcnQgaXRzZWxmLCBzbyB3ZSBu
ZWVkIHRvIGFkanVzdCB0aGUgbG9jYXRpb24gb2YgdGhlIGxheW91dCB2aWV3cG9ydCBvbmUgZmlu
YWwgdGltZSB0byBtYWtlIHN1cmUgaXQgZG9lcyBub3QgZW5kIHVwIG91dCBvZiBib3VuZHMgb2Yg
dGhlIGRvY3VtZW50LgorICAgICAgICAvLyBXaXRob3V0IHRoaXMgYWRqdXN0bWVudCAoYW5kIHdp
dGggdXNpbmcgdGhlIG5vbi1jb25zdHJhaW5lZCB1bm9ic2N1cmVkQ29udGVudFJlY3QncyBzaXpl
IGFzIHRoZSBzaXplIG9mIHRoZSBsYXlvdXQgdmlld3BvcnQpIHRoZSBsYXlvdXQgdmlld3BvcnQg
Y2FuIGJlIHB1c2hlZCBwYXN0IHRoZSBib3VuZHMgb2YgdGhlIGRvY3VtZW50IGR1cmluZyBydWJi
ZXItYmFuZGluZywgYW5kIGNhbm5vdCBiZSBwdXNoZWQKKyAgICAgICAgLy8gYmFjayBpbiB1bnRp
bCB0aGUgdXNlciBzY3JvbGxzIGJhY2sgaW4gdGhlIG90aGVyIGRpcmVjdGlvbi4KKyAgICAgICAg
bGF5b3V0Vmlld3BvcnRPcmlnaW4uc2V0WChjbGFtcFRvPGZsb2F0PihsYXlvdXRWaWV3cG9ydE9y
aWdpbi54KCksIDAsIGRvY3VtZW50UmVjdC53aWR0aCgpIC0gbGF5b3V0Vmlld3BvcnRSZWN0Lndp
ZHRoKCkpKTsKKyAgICAgICAgbGF5b3V0Vmlld3BvcnRPcmlnaW4uc2V0WShjbGFtcFRvPGZsb2F0
PihsYXlvdXRWaWV3cG9ydE9yaWdpbi55KCksIDAsIGRvY3VtZW50UmVjdC5oZWlnaHQoKSAtIGxh
eW91dFZpZXdwb3J0UmVjdC5oZWlnaHQoKSkpOwogICAgIH0KKyAgICBsYXlvdXRWaWV3cG9ydFJl
Y3Quc2V0TG9jYXRpb24obGF5b3V0Vmlld3BvcnRPcmlnaW4pOwogICAgIAotICAgIHJldHVybiBG
cmFtZVZpZXc6OnJlY3RGb3JWaWV3cG9ydENvbnN0cmFpbmVkT2JqZWN0cyhlbmNsb3NpbmdMYXlv
dXRSZWN0KGNvbnN0cmFpbmVkVW5vYnNjdXJlZFJlY3QpLCBMYXlvdXRTaXplKGRvY3VtZW50UmVj
dC5zaXplKCkpLCBkaXNwbGF5ZWRDb250ZW50U2NhbGUsIGZhbHNlLCBTdGlja1RvVmlld3BvcnRC
b3VuZHMpOworICAgIGlmIChsYXlvdXRWaWV3cG9ydFJlY3QgIT0gY3VycmVudEN1c3RvbUZpeGVk
UG9zaXRpb25SZWN0KQorICAgICAgICBMT0dfV0lUSF9TVFJFQU0oVmlzaWJsZVJlY3RzLCBzdHJl
YW0gPDwgIldlYlBhZ2VQcm94eTo6Y29tcHV0ZUN1c3RvbUZpeGVkUG9zaXRpb25SZWN0OiBuZXcg
bGF5b3V0IHZpZXdwb3J0ICAiIDw8IGxheW91dFZpZXdwb3J0UmVjdCk7CisgICAgcmV0dXJuIGxh
eW91dFZpZXdwb3J0UmVjdDsKIH0KIAogdm9pZCBXZWJQYWdlUHJveHk6Om92ZXJmbG93U2Nyb2xs
Vmlld1dpbGxTdGFydFBhbkdlc3R1cmUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5Lm1tIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5Lm1tCmlu
ZGV4IDM5NGFkMDg1ZmQ0ODI1ZTUyMjg2NTFmZDExNDdlNzBlZWRkOWM0OGEuLjIzNDBkNWJiOTIw
M2EwMTRhNWRhOWEwOWRkZGU0ZDMwYjg1ZjQxNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eS5tbQorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJv
eHkubW0KQEAgLTIxNCw3ICsyMTQsNyBAQCB2b2lkIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVh
UHJveHk6OmNvbW1pdExheWVyVHJlZShjb25zdCBSZW1vdGVMYXllclRyZWVUcmFucwogI2lmIFBM
QVRGT1JNKElPUykKICAgICBpZiAobV93ZWJQYWdlUHJveHkuc2Nyb2xsaW5nQ29vcmRpbmF0b3JQ
cm94eSgpLT5oYXNGaXhlZE9yU3RpY2t5KCkpIHsKICAgICAgICAgLy8gSWYgd2UgZ290IGEgbmV3
IGxheWVyIGZvciBhIGZpeGVkIG9yIHN0aWNreSBub2RlLCBpdHMgcG9zaXRpb24gZnJvbSB0aGUg
V2ViUHJvY2VzcyBpcyBwcm9iYWJseSBzdGFsZS4gV2UgbmVlZCB0byByZS1ydW4gdGhlICJ2aWV3
cG9ydCIgY2hhbmdlZCBsb2dpYyB0byB1ZHBhdGUgaXQgd2l0aCBvdXIgVUktc2lkZSBzdGF0ZS4K
LSAgICAgICAgRmxvYXRSZWN0IGN1c3RvbUZpeGVkUG9zaXRpb25SZWN0ID0gbV93ZWJQYWdlUHJv
eHkuY29tcHV0ZUN1c3RvbUZpeGVkUG9zaXRpb25SZWN0KG1fd2ViUGFnZVByb3h5LnVub2JzY3Vy
ZWRDb250ZW50UmVjdCgpLCBtX3dlYlBhZ2VQcm94eS5jdXN0b21GaXhlZFBvc2l0aW9uUmVjdCgp
LCBtX3dlYlBhZ2VQcm94eS5kaXNwbGF5ZWRDb250ZW50U2NhbGUoKSwgV2ViUGFnZVByb3h5OjpV
bm9ic2N1cmVkUmVjdENvbnN0cmFpbnQ6OlVuY29uc3RyYWluZWQsIG1fd2ViUGFnZVByb3h5LnNj
cm9sbGluZ0Nvb3JkaW5hdG9yUHJveHkoKS0+dmlzdWFsVmlld3BvcnRFbmFibGVkKCkpOworICAg
ICAgICBGbG9hdFJlY3QgY3VzdG9tRml4ZWRQb3NpdGlvblJlY3QgPSBtX3dlYlBhZ2VQcm94eS5j
b21wdXRlQ3VzdG9tRml4ZWRQb3NpdGlvblJlY3QobV93ZWJQYWdlUHJveHkudW5vYnNjdXJlZENv
bnRlbnRSZWN0KCksIG1fd2ViUGFnZVByb3h5LnVub2JzY3VyZWRDb250ZW50UmVjdFJlc3BlY3Rp
bmdJbnB1dFZpZXdCb3VuZHMoKSwgbV93ZWJQYWdlUHJveHkuY3VzdG9tRml4ZWRQb3NpdGlvblJl
Y3QoKSwgbV93ZWJQYWdlUHJveHkuZGlzcGxheWVkQ29udGVudFNjYWxlKCksIFdlYlBhZ2VQcm94
eTo6VW5vYnNjdXJlZFJlY3RDb25zdHJhaW50OjpVbmNvbnN0cmFpbmVkLCBtX3dlYlBhZ2VQcm94
eS5zY3JvbGxpbmdDb29yZGluYXRvclByb3h5KCktPnZpc3VhbFZpZXdwb3J0RW5hYmxlZCgpKTsK
ICAgICAgICAgbV93ZWJQYWdlUHJveHkuc2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eSgpLT52aWV3
cG9ydENoYW5nZWRWaWFEZWxlZ2F0ZWRTY3JvbGxpbmcobV93ZWJQYWdlUHJveHkuc2Nyb2xsaW5n
Q29vcmRpbmF0b3JQcm94eSgpLT5yb290U2Nyb2xsaW5nTm9kZUlEKCksIGN1c3RvbUZpeGVkUG9z
aXRpb25SZWN0LCBtX3dlYlBhZ2VQcm94eS5kaXNwbGF5ZWRDb250ZW50U2NhbGUoKSk7CiAgICAg
fQogI2VuZGlmCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cK
aW5kZXggOTBhMzRhZWUyNjJhZmRjZjIzOWU3YjAyZWIyNjY5ZTAzYmZiZTg0Yy4uYWI1ZDVlNzc1
M2JkZjYzYjEwNWE4MGQ0NWI1NTllNWM4MjQ5ZGI5ZiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdl
TG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDE2LTEyLTE3ICBX
ZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFZpc3VhbCB2
aWV3cG9ydHM6IGJvdHRvbSBmaXhlZCBlbGVtZW50cyBkaXNhcHBlYXIgYmVoaW5kIHRoZSBrZXli
b2FyZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY1
OTgzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yOTQwOTg1Mj4KKworICAgICAgICBSZXZpZXdl
ZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIFVJU2NyaXB0Q29u
dHJvbGxlci5pbnB1dFZpZXdCb3VuZHMsIHdoaWNoIFVJLXNpZGUgc2NyaXB0cyBtYXkgdXNlIHRv
IGZldGNoIHRoZSBib3VuZGluZyByZWN0IG9mCisgICAgICAgIHRoZSBrZXlib2FyZCB3aGVuIGl0
IGlzIHVwLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvaW9zL1VJU2NyaXB0Q29udHJvbGxl
cklPUy5tbToKKyAgICAgICAgKFdUUjo6VUlTY3JpcHRDb250cm9sbGVyOjppbnB1dFZpZXdCb3Vu
ZHMpOgorICAgICAgICAqIFRlc3RSdW5uZXJTaGFyZWQvVUlTY3JpcHRDb250ZXh0L0JpbmRpbmdz
L1VJU2NyaXB0Q29udHJvbGxlci5pZGw6CisgICAgICAgICogVGVzdFJ1bm5lclNoYXJlZC9VSVNj
cmlwdENvbnRleHQvVUlTY3JpcHRDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdUUjo6VUlTY3Jp
cHRDb250cm9sbGVyOjppbnB1dFZpZXdCb3VuZHMpOgorICAgICAgICAqIFRlc3RSdW5uZXJTaGFy
ZWQvVUlTY3JpcHRDb250ZXh0L1VJU2NyaXB0Q29udHJvbGxlci5oOgorICAgICAgICAqIFdlYktp
dFRlc3RSdW5uZXIvaW9zL1BsYXRmb3JtV2ViVmlld0lPUy5tbToKKyAgICAgICAgKFdUUjo6dmll
d1JlY3RGb3JXaW5kb3dSZWN0KToKKworICAgICAgICBQcmV2aW91c2x5LCB3ZSBhY2NvdW50ZWQg
Zm9yIHRoZSBzdGF0dXMgYmFyIGhlaWdodCBieSB0cmFuc2xhdGluZyB0aGUgZW50aXJlIHdlYiB2
aWV3IGRvd24gYnkgdGhlIGhlaWdodCBvZiB0aGUKKyAgICAgICAgc3RhdHVzIGJhci4gSG93ZXZl
ciwgd2UgZGlkIG5vdCBzaHJpbmsgdGhlIGhlaWdodCBvZiB0aGUgd2ViIHZpZXcgaXRzZWxmLCB3
aGljaCBtZWFucyB0aGF0IGZvciB0ZXN0cyB3aGljaAorICAgICAgICBpbnZvbHZlIHNjcm9sbGlu
ZyBwYXN0IHRoZSBlbmQgb2YgdGhlIGRvY3VtZW50LCB0aGUgYm90dG9tIHN0cmlwIG9mIHRoZSB3
ZWIgdmlldyBpcyBvdXQgb2YgYm91bmRzIG9mIHRoZSB3aW5kb3cuCisKKyAgICAgICAgKFdUUjo6
UGxhdGZvcm1XZWJWaWV3OjpQbGF0Zm9ybVdlYlZpZXcpOgorICAgICAgICAoV1RSOjpQbGF0Zm9y
bVdlYlZpZXc6OnNldFdpbmRvd0ZyYW1lKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL2lv
cy9VSVNjcmlwdENvbnRyb2xsZXJJT1MubW06CisgICAgICAgIChXVFI6OlVJU2NyaXB0Q29udHJv
bGxlcjo6aW5wdXRWaWV3Qm91bmRzKToKKwogMjAxNi0xMi0xNiAgV2Vuc29uIEhzaWVoICA8d2Vu
c29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBWaXN1YWwgdmlld3BvcnRzOiBjYXJldHMg
YW5kIHNlbGVjdGlvbiBVSSBhcmUgaW5jb3JyZWN0bHkgcG9zaXRpb25lZCB3aGVuIGVkaXRpbmcg
Zml4ZWQgZWxlbWVudHMKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2lvcy9VSVNj
cmlwdENvbnRyb2xsZXJJT1MubW0gYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9pb3MvVUlTY3JpcHRD
b250cm9sbGVySU9TLm1tCmluZGV4IDJmMjUwNmI0MDdmNGZkYWNmYjk2YjgyY2ZjNWEwMWZkMGM4
MWQ2ZGYuLjVkZjI2Y2YwODk5YmFhNDUzOGEzOTI0ZGI5MjkzZjVlNTRiOTJmODQgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2lvcy9VSVNjcmlwdENvbnRyb2xsZXJJT1MubW0KKysr
IGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvaW9zL1VJU2NyaXB0Q29udHJvbGxlcklPUy5tbQpAQCAt
MjcxLDYgKzI3MSwxMSBAQCBKU09iamVjdFJlZiBVSVNjcmlwdENvbnRyb2xsZXI6OnRleHRTZWxl
Y3Rpb25DYXJldFJlY3QoKSBjb25zdAogICAgIHJldHVybiBudWxscHRyOwogfQogCitKU09iamVj
dFJlZiBVSVNjcmlwdENvbnRyb2xsZXI6OmlucHV0Vmlld0JvdW5kcygpIGNvbnN0Cit7CisgICAg
cmV0dXJuIG51bGxwdHI7Cit9CisKIHZvaWQgVUlTY3JpcHRDb250cm9sbGVyOjpyZW1vdmVBbGxE
eW5hbWljRGljdGlvbmFyaWVzKCkKIHsKIH0KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RSdW5uZXJT
aGFyZWQvVUlTY3JpcHRDb250ZXh0L0JpbmRpbmdzL1VJU2NyaXB0Q29udHJvbGxlci5pZGwgYi9U
b29scy9UZXN0UnVubmVyU2hhcmVkL1VJU2NyaXB0Q29udGV4dC9CaW5kaW5ncy9VSVNjcmlwdENv
bnRyb2xsZXIuaWRsCmluZGV4IDhhZDNiOWExMWUxMGY3MzQyMzg2NDc4OGE5M2JjYzVkNGNlODFm
ODYuLjM3MmM0NzVjZWVkMDEwOTc4MjhjMjhiYjhhYmU3ZjMzOTdkMDlmMzQgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1Rlc3RSdW5uZXJTaGFyZWQvVUlTY3JpcHRDb250ZXh0L0JpbmRpbmdzL1VJU2NyaXB0
Q29udHJvbGxlci5pZGwKKysrIGIvVG9vbHMvVGVzdFJ1bm5lclNoYXJlZC9VSVNjcmlwdENvbnRl
eHQvQmluZGluZ3MvVUlTY3JpcHRDb250cm9sbGVyLmlkbApAQCAtMjA2LDYgKzIwNiw3IEBAIGlu
dGVyZmFjZSBVSVNjcmlwdENvbnRyb2xsZXIgewogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIG9i
amVjdCBzZWxlY3Rpb25SYW5nZVZpZXdSZWN0czsgLy8gQW4gYXJyYXkgb2Ygb2JqZWN0cyB3aXRo
ICdsZWZ0JywgJ3RvcCcsICd3aWR0aCcsIGFuZCAnaGVpZ2h0JyBwcm9wZXJ0aWVzLgogICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBvYmplY3QgdGV4dFNlbGVjdGlvbkNhcmV0UmVjdDsgLy8gQW4gb2Jq
ZWN0IHdpdGggJ2xlZnQnLCAndG9wJywgJ3dpZHRoJywgJ2hlaWdodCcgcHJvcGVydGllcy4KKyAg
ICByZWFkb25seSBhdHRyaWJ1dGUgb2JqZWN0IGlucHV0Vmlld0JvdW5kczsKIAogICAgIHZvaWQg
aW5zZXJ0VGV4dChET01TdHJpbmcgdGV4dCwgbG9uZyBsb2NhdGlvbiwgbG9uZyBsZW5ndGgpOwog
ICAgIHZvaWQgcmVtb3ZlQWxsRHluYW1pY0RpY3Rpb25hcmllcygpOwpkaWZmIC0tZ2l0IGEvVG9v
bHMvVGVzdFJ1bm5lclNoYXJlZC9VSVNjcmlwdENvbnRleHQvVUlTY3JpcHRDb250cm9sbGVyLmNw
cCBiL1Rvb2xzL1Rlc3RSdW5uZXJTaGFyZWQvVUlTY3JpcHRDb250ZXh0L1VJU2NyaXB0Q29udHJv
bGxlci5jcHAKaW5kZXggNDY2MDNjYmJhMzI0NWVjYWUzMGViNTUxNmM4MmEzN2Y1ZGIwZWUxNC4u
MmI4Y2JkYjk5NDA5NzMwNDBkZjhiMTg5MjFjYTcxNTEyMTYxZGM0NCAxMDA2NDQKLS0tIGEvVG9v
bHMvVGVzdFJ1bm5lclNoYXJlZC9VSVNjcmlwdENvbnRleHQvVUlTY3JpcHRDb250cm9sbGVyLmNw
cAorKysgYi9Ub29scy9UZXN0UnVubmVyU2hhcmVkL1VJU2NyaXB0Q29udGV4dC9VSVNjcmlwdENv
bnRyb2xsZXIuY3BwCkBAIC0zMTYsNiArMzE2LDExIEBAIEpTT2JqZWN0UmVmIFVJU2NyaXB0Q29u
dHJvbGxlcjo6dGV4dFNlbGVjdGlvbkNhcmV0UmVjdCgpIGNvbnN0CiAgICAgcmV0dXJuIG51bGxw
dHI7CiB9CiAKK0pTT2JqZWN0UmVmIFVJU2NyaXB0Q29udHJvbGxlcjo6aW5wdXRWaWV3Qm91bmRz
KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKwogdm9pZCBVSVNjcmlwdENvbnRy
b2xsZXI6OnJlbW92ZUFsbER5bmFtaWNEaWN0aW9uYXJpZXMoKQogewogfQpkaWZmIC0tZ2l0IGEv
VG9vbHMvVGVzdFJ1bm5lclNoYXJlZC9VSVNjcmlwdENvbnRleHQvVUlTY3JpcHRDb250cm9sbGVy
LmggYi9Ub29scy9UZXN0UnVubmVyU2hhcmVkL1VJU2NyaXB0Q29udGV4dC9VSVNjcmlwdENvbnRy
b2xsZXIuaAppbmRleCAyOTkzZDE2MGU4ZmMwNzg1YTJmY2VlZDliYzMwYzUxZTljM2Y4YTlkLi5k
MWQ1NGJlMWQ4OGM2MjVhYTkzMjcwMTJjMWI1ZDljY2IxNjkxMjYwIDEwMDY0NAotLS0gYS9Ub29s
cy9UZXN0UnVubmVyU2hhcmVkL1VJU2NyaXB0Q29udGV4dC9VSVNjcmlwdENvbnRyb2xsZXIuaAor
KysgYi9Ub29scy9UZXN0UnVubmVyU2hhcmVkL1VJU2NyaXB0Q29udGV4dC9VSVNjcmlwdENvbnRy
b2xsZXIuaApAQCAtMTMwLDYgKzEzMCw3IEBAIHB1YmxpYzoKICAgICAKICAgICBKU09iamVjdFJl
ZiBzZWxlY3Rpb25SYW5nZVZpZXdSZWN0cygpIGNvbnN0OwogICAgIEpTT2JqZWN0UmVmIHRleHRT
ZWxlY3Rpb25DYXJldFJlY3QoKSBjb25zdDsKKyAgICBKU09iamVjdFJlZiBpbnB1dFZpZXdCb3Vu
ZHMoKSBjb25zdDsKIAogICAgIHZvaWQgaW5zZXJ0VGV4dChKU1N0cmluZ1JlZiwgaW50IGxvY2F0
aW9uLCBpbnQgbGVuZ3RoKTsKICAgICB2b2lkIHJlbW92ZUFsbER5bmFtaWNEaWN0aW9uYXJpZXMo
KTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL1BsYXRmb3JtV2ViVmll
d0lPUy5tbSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL1BsYXRmb3JtV2ViVmlld0lPUy5t
bQppbmRleCA3MmM0ZjNkZWJiY2ZhMTVhYWE2YmJiYmRkOWNjYmY3YzE3NzFjMTg4Li45YWQ3ZjUz
YWEyZTAxZTk2MDc4ZThlZGRhMjFiZDIyNmY4ZTVhZmQyIDEwMDY0NAotLS0gYS9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL2lvcy9QbGF0Zm9ybVdlYlZpZXdJT1MubW0KKysrIGIvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9pb3MvUGxhdGZvcm1XZWJWaWV3SU9TLm1tCkBAIC0xMDksMTAgKzEwOSwxNSBA
QCBAZW5kCiAKIG5hbWVzcGFjZSBXVFIgewogCi1zdGF0aWMgQ0dSZWN0IHZpZXdSZWN0Rm9yV2lu
ZG93UmVjdChDR1JlY3Qgd2luZG93UmVjdCkKK2VudW0gY2xhc3MgV2ViVmlld1NpemluZ01vZGUg
eworICAgIERlZmF1bHQsCisgICAgSGVpZ2h0UmVzcGVjdHNTdGF0dXNCYXIKK307CisKK3N0YXRp
YyBDR1JlY3Qgdmlld1JlY3RGb3JXaW5kb3dSZWN0KENHUmVjdCB3aW5kb3dSZWN0LCBXZWJWaWV3
U2l6aW5nTW9kZSBtb2RlKQogewogICAgIENHRmxvYXQgc3RhdHVzQmFyQm90dG9tID0gQ0dSZWN0
R2V0TWF4WShbW1VJQXBwbGljYXRpb24gc2hhcmVkQXBwbGljYXRpb25dIHN0YXR1c0JhckZyYW1l
XSk7Ci0gICAgcmV0dXJuIENHUmVjdE1ha2Uod2luZG93UmVjdC5vcmlnaW4ueCwgd2luZG93UmVj
dC5vcmlnaW4ueSArIHN0YXR1c0JhckJvdHRvbSwgd2luZG93UmVjdC5zaXplLndpZHRoLCB3aW5k
b3dSZWN0LnNpemUuaGVpZ2h0KTsKKyAgICByZXR1cm4gQ0dSZWN0TWFrZSh3aW5kb3dSZWN0Lm9y
aWdpbi54LCB3aW5kb3dSZWN0Lm9yaWdpbi55ICsgc3RhdHVzQmFyQm90dG9tLCB3aW5kb3dSZWN0
LnNpemUud2lkdGgsIHdpbmRvd1JlY3Quc2l6ZS5oZWlnaHQgLSAobW9kZSA9PSBXZWJWaWV3U2l6
aW5nTW9kZTo6SGVpZ2h0UmVzcGVjdHNTdGF0dXNCYXIgPyBzdGF0dXNCYXJCb3R0b20gOiAwKSk7
CiB9CiAKIFBsYXRmb3JtV2ViVmlldzo6UGxhdGZvcm1XZWJWaWV3KFdLV2ViVmlld0NvbmZpZ3Vy
YXRpb24qIGNvbmZpZ3VyYXRpb24sIGNvbnN0IFRlc3RPcHRpb25zJiBvcHRpb25zKQpAQCAtMTI5
LDcgKzEzNCw3IEBAIFBsYXRmb3JtV2ViVmlldzo6UGxhdGZvcm1XZWJWaWV3KFdLV2ViVmlld0Nv
bmZpZ3VyYXRpb24qIGNvbmZpZ3VyYXRpb24sIGNvbnN0IFRlCiAgICAgW21fd2luZG93IHNldFJv
b3RWaWV3Q29udHJvbGxlcjp2aWV3Q29udHJvbGxlcl07CiAgICAgW3ZpZXdDb250cm9sbGVyIHJl
bGVhc2VdOwogCi0gICAgbV92aWV3ID0gW1tUZXN0UnVubmVyV0tXZWJWaWV3IGFsbG9jXSBpbml0
V2l0aEZyYW1lOnZpZXdSZWN0Rm9yV2luZG93UmVjdChyZWN0KSBjb25maWd1cmF0aW9uOmNvbmZp
Z3VyYXRpb25dOworICAgIG1fdmlldyA9IFtbVGVzdFJ1bm5lcldLV2ViVmlldyBhbGxvY10gaW5p
dFdpdGhGcmFtZTp2aWV3UmVjdEZvcldpbmRvd1JlY3QocmVjdCwgV2ViVmlld1NpemluZ01vZGU6
OkRlZmF1bHQpIGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbl07CiAKICAgICBbbV93aW5kb3cu
cm9vdFZpZXdDb250cm9sbGVyLnZpZXcgYWRkU3VidmlldzptX3ZpZXddOwogICAgIFttX3dpbmRv
dyBtYWtlS2V5QW5kVmlzaWJsZV07CkBAIC0xOTUsNyArMjAwLDcgQEAgV0tSZWN0IFBsYXRmb3Jt
V2ViVmlldzo6d2luZG93RnJhbWUoKQogdm9pZCBQbGF0Zm9ybVdlYlZpZXc6OnNldFdpbmRvd0Zy
YW1lKFdLUmVjdCBmcmFtZSkKIHsKICAgICBbbV93aW5kb3cgc2V0RnJhbWU6Q0dSZWN0TWFrZShm
cmFtZS5vcmlnaW4ueCwgZnJhbWUub3JpZ2luLnksIGZyYW1lLnNpemUud2lkdGgsIGZyYW1lLnNp
emUuaGVpZ2h0KV07Ci0gICAgW3BsYXRmb3JtVmlldygpIHNldEZyYW1lOnZpZXdSZWN0Rm9yV2lu
ZG93UmVjdChDR1JlY3RNYWtlKDAsIDAsIGZyYW1lLnNpemUud2lkdGgsIGZyYW1lLnNpemUuaGVp
Z2h0KSldOworICAgIFtwbGF0Zm9ybVZpZXcoKSBzZXRGcmFtZTp2aWV3UmVjdEZvcldpbmRvd1Jl
Y3QoQ0dSZWN0TWFrZSgwLCAwLCBmcmFtZS5zaXplLndpZHRoLCBmcmFtZS5zaXplLmhlaWdodCks
IFdlYlZpZXdTaXppbmdNb2RlOjpIZWlnaHRSZXNwZWN0c1N0YXR1c0JhcildOwogfQogCiB2b2lk
IFBsYXRmb3JtV2ViVmlldzo6ZGlkSW5pdGlhbGl6ZUNsaWVudHMoKQpkaWZmIC0tZ2l0IGEvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvVUlTY3JpcHRDb250cm9sbGVySU9TLm1tIGIvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9pb3MvVUlTY3JpcHRDb250cm9sbGVySU9TLm1tCmluZGV4IGJmMDc3
ZTg1N2M1YTViZGZkYWRmNmZhYjYxYWNhNWU5ZmQxYTgzYmQuLjNjMzk2MWMwMzBhY2M1NzdhNzlm
MTI5MzAzNDNlNmM0MWJlNTI2YjcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
aW9zL1VJU2NyaXB0Q29udHJvbGxlcklPUy5tbQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L2lvcy9VSVNjcmlwdENvbnRyb2xsZXJJT1MubW0KQEAgLTQ5NSw2ICs0OTUsMTEgQEAgSlNPYmpl
Y3RSZWYgVUlTY3JpcHRDb250cm9sbGVyOjp0ZXh0U2VsZWN0aW9uQ2FyZXRSZWN0KCkgY29uc3QK
ICAgICByZXR1cm4gSlNWYWx1ZVRvT2JqZWN0KG1fY29udGV4dC0+anNDb250ZXh0KCksIFtKU1Zh
bHVlIHZhbHVlV2l0aE9iamVjdDp0b05TRGljdGlvbmFyeShUZXN0Q29udHJvbGxlcjo6c2luZ2xl
dG9uKCkubWFpbldlYlZpZXcoKS0+cGxhdGZvcm1WaWV3KCkuX3VpVGV4dENhcmV0UmVjdCkgaW5D
b250ZXh0OltKU0NvbnRleHQgY29udGV4dFdpdGhKU0dsb2JhbENvbnRleHRSZWY6bV9jb250ZXh0
LT5qc0NvbnRleHQoKV1dLkpTVmFsdWVSZWYsIG51bGxwdHIpOwogfQogCitKU09iamVjdFJlZiBV
SVNjcmlwdENvbnRyb2xsZXI6OmlucHV0Vmlld0JvdW5kcygpIGNvbnN0Cit7CisgICAgcmV0dXJu
IEpTVmFsdWVUb09iamVjdChtX2NvbnRleHQtPmpzQ29udGV4dCgpLCBbSlNWYWx1ZSB2YWx1ZVdp
dGhPYmplY3Q6dG9OU0RpY3Rpb25hcnkoVGVzdENvbnRyb2xsZXI6OnNpbmdsZXRvbigpLm1haW5X
ZWJWaWV3KCktPnBsYXRmb3JtVmlldygpLl9pbnB1dFZpZXdCb3VuZHMpIGluQ29udGV4dDpbSlND
b250ZXh0IGNvbnRleHRXaXRoSlNHbG9iYWxDb250ZXh0UmVmOm1fY29udGV4dC0+anNDb250ZXh0
KCldXS5KU1ZhbHVlUmVmLCBudWxscHRyKTsKK30KKwogdm9pZCBVSVNjcmlwdENvbnRyb2xsZXI6
OnJlbW92ZUFsbER5bmFtaWNEaWN0aW9uYXJpZXMoKQogewogICAgIFtVSUtleWJvYXJkIHJlbW92
ZUFsbER5bmFtaWNEaWN0aW9uYXJpZXNdOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGY0ZjUzMjZjNGJhMzk0MTY1ZmEzMTcz
OTY3NTFiNDhkOGIyNGQ3ODcuLmYwYTc3ZWU4MTQ0NGFmODQ2NjFiNTg4NzYxNmIzNjVmNjA3MTJj
NWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSw0OSBAQAorMjAxNi0xMi0xNyAgV2Vuc29uIEhzaWVoICA8d2Vu
c29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBWaXN1YWwgdmlld3BvcnRzOiBib3R0b20g
Zml4ZWQgZWxlbWVudHMgZGlzYXBwZWFyIGJlaGluZCB0aGUga2V5Ym9hcmQKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NTk4MworICAgICAgICA8cmRh
cjovL3Byb2JsZW0vMjk0MDk4NTI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2Vy
LgorCisgICAgICAgIFR3ZWFrZWQgZml4ZWQtY2FyZXQtcG9zaXRpb24tYWZ0ZXItc2Nyb2xsLmh0
bWwgdG8gYWNjb3VudCBmb3IgdGhlIGtleWJvYXJkIGhlaWdodCwgYW5kIGFsc28gYWRkZWQgYSBu
ZXcgbGF5b3V0CisgICAgICAgIHRlc3QsIGZpeGVkLWVsZW1lbnQtb24tYm90dG9tLXdpdGgta2V5
Ym9hcmQuaHRtbCwgd2hpY2ggY2hlY2tzIHRoYXQgdGhlIGxheW91dCB2aWV3cG9ydCBkb2VzIG5v
dCBjaGFuZ2UgYmVmb3JlCisgICAgICAgIGFuZCBhZnRlciBzaG93aW5nIHRoZSBrZXlib2FyZCwg
YW5kIHRoYXQgc2Nyb2xsaW5nIHBhc3QgdGhlIGVuZCBvZiB0aGUgZG9jdW1lbnQgZG9lcyBub3Qg
YnVtcCB0aGUgbGF5b3V0CisgICAgICAgIHZpZXdwb3J0IHBhc3QgZG9jdW1lbnQgYm91bmRzLgor
CisgICAgICAgIFRoZSByZXN0IG9mIHRoZSBjaGFuZ2VzIGhlcmUgaW52b2x2ZSByZWJhc2VsaW5p
bmcgZXhpc3RpbmcgdGVzdHMgdG8gYWNjb3VudCBmb3IgdGhlIGhlaWdodCBvZiB0aGUgd2ViIHZp
ZXcgbm8KKyAgICAgICAgbG9uZ2VyIGJlaW5nIGVxdWFsIHRvIHRoZSBoZWlnaHQgb2YgdGhlIHdp
bmRvdy4KKworICAgICAgICAqIGVkaXRpbmcvY2FyZXQvaW9zL2Fic29sdXRlLWNhcmV0LXBvc2l0
aW9uLWFmdGVyLXNjcm9sbC1leHBlY3RlZC50eHQ6CisgICAgICAgICogZWRpdGluZy9jYXJldC9p
b3MvYWJzb2x1dGUtY2FyZXQtcG9zaXRpb24tYWZ0ZXItc2Nyb2xsLmh0bWw6CisgICAgICAgICog
ZWRpdGluZy9jYXJldC9pb3MvZml4ZWQtY2FyZXQtcG9zaXRpb24tYWZ0ZXItc2Nyb2xsLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBlZGl0aW5nL2NhcmV0L2lvcy9maXhlZC1jYXJldC1wb3NpdGlv
bi1hZnRlci1zY3JvbGwuaHRtbDoKKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9pb3MvYWJz
b2x1dGUtc2VsZWN0aW9uLWFmdGVyLXNjcm9sbC5odG1sOgorICAgICAgICAqIGVkaXRpbmcvc2Vs
ZWN0aW9uL2lvcy9maXhlZC1zZWxlY3Rpb24tYWZ0ZXItc2Nyb2xsLmh0bWw6CisgICAgICAgICog
ZmFzdC9ldmVudHMvaW9zL2tleWJvYXJkLXNjcm9sbGluZy1kaXN0YW5jZS1leHBlY3RlZC50eHQ6
CisgICAgICAgICogZmFzdC9ldmVudHMvaW9zL2tleWJvYXJkLXNob3VsZC1ub3QtdHJpZ2dlci1y
ZXNpemUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZXZlbnRzL2lvcy92aWV3cG9ydC16
b29tcy1mcm9tLWVsZW1lbnQtdG8taW5pdGlhbC1zY2FsZS1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogZmFzdC9mb3Jtcy9pb3MvYWNjZXNzb3J5LWJhci1uYXZpZ2F0aW9uLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiBmYXN0L2Zvcm1zL2lvcy9mb2N1cy1pbnB1dC1pbi1maXhlZC1leHBlY3RlZC50
eHQ6CisgICAgICAgICogZmFzdC9mb3Jtcy9pb3MvZm9jdXMtaW5wdXQtaW4taWZyYW1lLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2lvcy9mb2N1cy1pbnB1dC12aWEtYnV0dG9u
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2lvcy9mb2N1cy1pbnB1dC12aWEt
YnV0dG9uLW5vLXNjYWxpbmctZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZm9ybXMvaW9z
L2ZvY3VzLWxvbmctdGV4dGFyZWEtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZm9ybXMv
aW9zL3pvb20tYWZ0ZXItaW5wdXQtdGFwLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2Zv
cm1zL2lvcy96b29tLWFmdGVyLWlucHV0LXRhcC13aWRlLWlucHV0LWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBmYXN0L3Njcm9sbGluZy9pb3Mvc3VicGl4ZWwtb3ZlcmZsb3ctc2Nyb2xsaW5nLXdp
dGgtYW5jZXN0b3ItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3Qvdmlld3BvcnQvaW9zL3dp
ZHRoLWlzLWRldmljZS13aWR0aC1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC92aXN1YWwt
dmlld3BvcnQvaW9zL2ZpeGVkLWVsZW1lbnQtb24tYm90dG9tLXdpdGgta2V5Ym9hcmQtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3Zpc3VhbC12aWV3cG9ydC9pb3MvZml4ZWQt
ZWxlbWVudC1vbi1ib3R0b20td2l0aC1rZXlib2FyZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L3Zpc3VhbC12aWV3cG9ydC9pb3Mvem9vbWVkLWZvY3VzLWluLWZpeGVkLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtc2ltdWxhdG9yL2Zhc3Qvc2Nyb2xsaW5nL2lvcy9j
bGlwcGluZy1hbmNlc3Rvci13aXRoLWFjY2VsZXJhdGVkLXNjcm9sbGluZy1hbmNlc3Rvci1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vaW9zLXNpbXVsYXRvci9mYXN0L3Njcm9sbGlu
Zy9pb3Mvb3ZlcmZsb3ctc2Nyb2xsaW5nLWFuY2VzdG9yLWNsaXAtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHBsYXRmb3JtL2lvcy1zaW11bGF0b3IvZmFzdC9zY3JvbGxpbmcvaW9zL292ZXJmbG93
LXNjcm9sbGluZy1hbmNlc3Rvci1jbGlwLXNpemUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBs
YXRmb3JtL2lvcy1zaW11bGF0b3IvZmFzdC9zY3JvbGxpbmcvaW9zL3Njcm9sbGluZy1jb250ZW50
LWNsaXAtdG8tdmlld3BvcnQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL2lvcy1z
aW11bGF0b3IvZmFzdC9zY3JvbGxpbmcvaW9zL3RvdWNoLXN0YWNraW5nLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiBzY3JvbGxpbmdjb29yZGluYXRvci9pb3Mvbm9uLXN0YWJsZS12aWV3cG9ydC1z
Y3JvbGwtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHNjcm9sbGluZ2Nvb3JkaW5hdG9yL2lvcy91
aS1zY3JvbGxpbmctdHJlZS1leHBlY3RlZC50eHQ6CisKIDIwMTYtMTItMTYgIFdlbnNvbiBIc2ll
aCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgVmlzdWFsIHZpZXdwb3J0czog
Y2FyZXRzIGFuZCBzZWxlY3Rpb24gVUkgYXJlIGluY29ycmVjdGx5IHBvc2l0aW9uZWQgd2hlbiBl
ZGl0aW5nIGZpeGVkIGVsZW1lbnRzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Nh
cmV0L2lvcy9hYnNvbHV0ZS1jYXJldC1wb3NpdGlvbi1hZnRlci1zY3JvbGwtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9jYXJldC9pb3MvYWJzb2x1dGUtY2FyZXQtcG9zaXRpb24t
YWZ0ZXItc2Nyb2xsLWV4cGVjdGVkLnR4dAppbmRleCAzMzk5OWY4MmI3MDI0Nzk0ZDNlOTg0NDQy
NjIxN2VmYTBjNjdhZGJhLi5jYmZlMWFiMzAxNWJhNWI5OTA1ZDg3NDgxOWY3MzY5NTQxODkzZjZm
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2NhcmV0L2lvcy9hYnNvbHV0ZS1jYXJl
dC1wb3NpdGlvbi1hZnRlci1zY3JvbGwtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvY2FyZXQvaW9zL2Fic29sdXRlLWNhcmV0LXBvc2l0aW9uLWFmdGVyLXNjcm9sbC1leHBl
Y3RlZC50eHQKQEAgLTEsOCArMSw4IEBACiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CiAKIFRFU1QgQ09NUExFVEUKLVRoZSBpbml0aWFsIGNhcmV0IHJlY3QgaXM6IFs2IDE3IDsgMyAx
NV0KLVRoZSBjYXJldCByZWN0IGFmdGVyIHNjcm9sbGluZyAxMDAwcHggZG93biBpczogWzYgMTcg
OyAzIDE1XQorVGhlIGluaXRpYWwgY2FyZXQgcmVjdCBpczogWzYgMjEgOyAzIDE1XQorVGhlIGNh
cmV0IHJlY3QgYWZ0ZXIgc2Nyb2xsaW5nIDEwMDBweCBkb3duIGlzOiBbNiAyMSA7IDMgMTVdCiBQ
QVNTIGZpbmFsQ2FyZXRSZWN0LnRvcCBpcyBpbml0aWFsQ2FyZXRSZWN0LnRvcAogUEFTUyBmaW5h
bENhcmV0UmVjdC5sZWZ0IGlzIGluaXRpYWxDYXJldFJlY3QubGVmdAogUEFTUyBmaW5hbENhcmV0
UmVjdC53aWR0aCBpcyBpbml0aWFsQ2FyZXRSZWN0LndpZHRoCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2NhcmV0L2lvcy9hYnNvbHV0ZS1jYXJldC1wb3NpdGlvbi1hZnRlci1zY3Jv
bGwuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvY2FyZXQvaW9zL2Fic29sdXRlLWNhcmV0LXBv
c2l0aW9uLWFmdGVyLXNjcm9sbC5odG1sCmluZGV4IGZiOTc1MjE1ZGM1YjM1NzRlZjAwZTYxOWI3
Y2UzNDg3M2IyNjA0ODEuLmUwNmFlNzEzNGVkMzY3MzAwZTU2OWQ4NzU4ZjcxNDZjNjQyYjI0MzYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2VkaXRpbmcvY2FyZXQvaW9zL2Fic29sdXRlLWNhcmV0
LXBvc2l0aW9uLWFmdGVyLXNjcm9sbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvY2Fy
ZXQvaW9zL2Fic29sdXRlLWNhcmV0LXBvc2l0aW9uLWFmdGVyLXNjcm9sbC5odG1sCkBAIC0xLDMg
KzEsNCBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIF0gLS0+CiA8aHRtbD4KIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CiA8aGVhZD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvY2FyZXQvaW9z
L2ZpeGVkLWNhcmV0LXBvc2l0aW9uLWFmdGVyLXNjcm9sbC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2NhcmV0L2lvcy9maXhlZC1jYXJldC1wb3NpdGlvbi1hZnRlci1zY3JvbGwt
ZXhwZWN0ZWQudHh0CmluZGV4IDU4ZjU2NTQzYzkzMTEyNzliZWU2MmEyMzFmZTk0NGJlMzkxM2Fh
NzguLmY3ODk4MjU0YTJkOGRlOTU2NDc3YTQ5YjcyMzFkZGE0NTU2NWQyYmIgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2VkaXRpbmcvY2FyZXQvaW9zL2ZpeGVkLWNhcmV0LXBvc2l0aW9uLWFmdGVy
LXNjcm9sbC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9jYXJldC9pb3Mv
Zml4ZWQtY2FyZXQtcG9zaXRpb24tYWZ0ZXItc2Nyb2xsLWV4cGVjdGVkLnR4dApAQCAtMSw3ICsx
LDUgQEAKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQot
VGhlIGluaXRpYWwgY2FyZXQgcmVjdCBpczogWzYgMTcgOyAzIDE1XQotVGhlIGNhcmV0IHJlY3Qg
YWZ0ZXIgc2Nyb2xsaW5nIDEwMDBweCBkb3duIGlzOiBbNiAxMDE3IDsgMyAxNV0KLVBBU1MgZmlu
YWxDYXJldFJlY3QudG9wIC0gaW5pdGlhbENhcmV0UmVjdC50b3AgaXMgMTAwMAorUEFTUyBmaW5h
bENhcmV0UmVjdC50b3AgLSBpbml0aWFsQ2FyZXRSZWN0LnRvcCBpcyA1MDAKIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9jYXJldC9pb3MvZml4ZWQtY2FyZXQtcG9zaXRpb24tYWZ0
ZXItc2Nyb2xsLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2NhcmV0L2lvcy9maXhlZC1jYXJl
dC1wb3NpdGlvbi1hZnRlci1zY3JvbGwuaHRtbAppbmRleCBlN2YzN2Q2ZWNiNjI0ODQ0OTZmZDgy
YjBhNzViOTFiMjhhNDhlYjlkLi5mYzU0OWQxNjVjMTU0MzFiODI2YmJlMGFiOGZhYWViMzE3ZDE1
ZDBlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2NhcmV0L2lvcy9maXhlZC1jYXJl
dC1wb3NpdGlvbi1hZnRlci1zY3JvbGwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Nh
cmV0L2lvcy9maXhlZC1jYXJldC1wb3NpdGlvbi1hZnRlci1zY3JvbGwuaHRtbApAQCAtMSwzICsx
LDQgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgogPGh0bWw+CiA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgogPGhlYWQ+CkBAIC03LDcgKzgsNyBAQAogICAgICAgICAgICAgbWFyZ2luOiAwOwogICAg
ICAgICB9CiAKLSAgICAgICAgaW5wdXQgeworICAgICAgICAjaW5wdXQgewogICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CiAgICAgICAgICAgICBoZWlnaHQ6IDUwcHg7CiAgICAgICAgICAgICBwb3Np
dGlvbjogZml4ZWQ7CkBAIC0yNiwxOSArMjcsMTkgQEAKICAgICAgICAgdGVzdFJ1bm5lci53YWl0
VW50aWxEb25lKCk7CiAgICAgfQogCi0gICAgZnVuY3Rpb24gdGFwSW5JbnB1dFNjcmlwdCh0YXBY
LCB0YXBZKQorICAgIGZ1bmN0aW9uIGdldElucHV0Vmlld0JvdW5kc0FmdGVyVGFwcGluZ0luSW5w
dXRTY3JpcHQodGFwWCwgdGFwWSkKICAgICB7CiAgICAgICAgIHJldHVybiBgKGZ1bmN0aW9uKCkg
ewogICAgICAgICAgICAgdWlDb250cm9sbGVyLmRpZFNob3dLZXlib2FyZENhbGxiYWNrID0gZnVu
Y3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgdWlDb250cm9sbGVyLmRvQWZ0ZXJOZXh0U3RhYmxl
UHJlc2VudGF0aW9uVXBkYXRlKGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICB1aUNv
bnRyb2xsZXIudWlTY3JpcHRDb21wbGV0ZShKU09OLnN0cmluZ2lmeSh1aUNvbnRyb2xsZXIudGV4
dFNlbGVjdGlvbkNhcmV0UmVjdCkpOworICAgICAgICAgICAgICAgICAgICB1aUNvbnRyb2xsZXIu
dWlTY3JpcHRDb21wbGV0ZShKU09OLnN0cmluZ2lmeSh1aUNvbnRyb2xsZXIuaW5wdXRWaWV3Qm91
bmRzKSk7CiAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICB9OwogICAgICAgICAgICAg
dWlDb250cm9sbGVyLnNpbmdsZVRhcEF0UG9pbnQoJHt0YXBYfSwgJHt0YXBZfSwgZnVuY3Rpb24o
KSB7IH0pOwogICAgICAgICB9KSgpYDsKICAgICB9CiAKLSAgICBmdW5jdGlvbiBzaW11bGF0ZVNj
cm9sbGluZ1NjcmlwdChkaXN0YW5jZSkKKyAgICBmdW5jdGlvbiBnZXRDYXJldFJlY3RBZnRlclNj
cm9sbFRvT2Zmc2V0U2NyaXB0KGRpc3RhbmNlKQogICAgIHsKICAgICAgICAgcmV0dXJuIGAoZnVu
Y3Rpb24oKSB7CiAgICAgICAgICAgICB1aUNvbnRyb2xsZXIuc3RhYmxlU3RhdGVPdmVycmlkZSA9
IGZhbHNlOwpAQCAtNjIsMjMgKzYzLDIyIEBACiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAg
IH0KIAotICAgICAgICB0ZXN0UnVubmVyLnJ1blVJU2NyaXB0KHRhcEluSW5wdXRTY3JpcHQod2lu
ZG93LmlubmVyV2lkdGggLyAyLCAzMCksIGluaXRpYWxDYXJldFJlY3QgPT4gewotICAgICAgICAg
ICAgaW5pdGlhbENhcmV0UmVjdCA9IEpTT04ucGFyc2UoaW5pdGlhbENhcmV0UmVjdCk7Ci0gICAg
ICAgICAgICB3aW5kb3cuaW5pdGlhbENhcmV0UmVjdCA9IGluaXRpYWxDYXJldFJlY3Q7Ci0gICAg
ICAgICAgICBkZWJ1ZyhgVGhlIGluaXRpYWwgY2FyZXQgcmVjdCBpczogJHt0b1N0cmluZyhpbml0
aWFsQ2FyZXRSZWN0KX1gKTsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIucnVuVUlTY3JpcHQoc2lt
dWxhdGVTY3JvbGxpbmdTY3JpcHQoMTAwMCksIGZpbmFsQ2FyZXRSZWN0ID0+IHsKLSAgICAgICAg
ICAgICAgICBmaW5hbENhcmV0UmVjdCA9IEpTT04ucGFyc2UoZmluYWxDYXJldFJlY3QpOwotICAg
ICAgICAgICAgICAgIHdpbmRvdy5maW5hbENhcmV0UmVjdCA9IGZpbmFsQ2FyZXRSZWN0OwotICAg
ICAgICAgICAgICAgIGRlYnVnKGBUaGUgY2FyZXQgcmVjdCBhZnRlciBzY3JvbGxpbmcgMTAwMHB4
IGRvd24gaXM6ICR7dG9TdHJpbmcoZmluYWxDYXJldFJlY3QpfWApOwotICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJmaW5hbENhcmV0UmVjdC50b3AgLSBpbml0aWFsQ2FyZXRSZWN0LnRvcCIsICIx
MDAwIik7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgICAg
IHRlc3RSdW5uZXIucnVuVUlTY3JpcHQoZ2V0SW5wdXRWaWV3Qm91bmRzQWZ0ZXJUYXBwaW5nSW5J
bnB1dFNjcmlwdCh3aW5kb3cuaW5uZXJXaWR0aCAvIDIsIDMwKSwgKGlucHV0Vmlld0JvdW5kcykg
PT4geworICAgICAgICAgICAgd2luZG93LmlucHV0Vmlld0JvdW5kcyA9IGlucHV0Vmlld0JvdW5k
cyA9IEpTT04ucGFyc2UoaW5wdXRWaWV3Qm91bmRzKTsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIu
cnVuVUlTY3JpcHQoZ2V0Q2FyZXRSZWN0QWZ0ZXJTY3JvbGxUb09mZnNldFNjcmlwdChpbnB1dFZp
ZXdCb3VuZHMuaGVpZ2h0KSwgaW5pdGlhbENhcmV0UmVjdCA9PiB7CisgICAgICAgICAgICAgICAg
d2luZG93LmluaXRpYWxDYXJldFJlY3QgPSBpbml0aWFsQ2FyZXRSZWN0ID0gSlNPTi5wYXJzZShp
bml0aWFsQ2FyZXRSZWN0KTsKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnJ1blVJU2NyaXB0
KGdldENhcmV0UmVjdEFmdGVyU2Nyb2xsVG9PZmZzZXRTY3JpcHQoaW5wdXRWaWV3Qm91bmRzLmhl
aWdodCArIDUwMCksIGZpbmFsQ2FyZXRSZWN0ID0+IHsKKyAgICAgICAgICAgICAgICAgICAgd2lu
ZG93LmZpbmFsQ2FyZXRSZWN0ID0gZmluYWxDYXJldFJlY3QgPSBKU09OLnBhcnNlKGZpbmFsQ2Fy
ZXRSZWN0KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoImZpbmFsQ2FyZXRSZWN0LnRv
cCAtIGluaXRpYWxDYXJldFJlY3QudG9wIiwgIjUwMCIpOworICAgICAgICAgICAgICAgICAgICB0
ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAg
IH0pOwogICAgICAgICB9KTsKICAgICB9CiAgICAgPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keSBv
bmxvYWQ9cnVuKCk+Ci0gICAgPGlucHV0PjwvaW5wdXQ+CisgICAgPGlucHV0IGlkPSJpbnB1dCI+
PC9pbnB1dD4KICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+CiA8L2JvZHk+CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL2lvcy9hYnNvbHV0ZS1zZWxlY3Rpb24tYWZ0ZXItc2Nyb2xsLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9pb3MvYWJzb2x1dGUtc2VsZWN0aW9uLWFmdGVy
LXNjcm9sbC5odG1sCmluZGV4IDQ3M2FiMWU4MzExNzM0MWFmOTIwNGMwN2JlZWQwNjBiNjNkMzBi
NTEuLmQ5NGM2OGMwMDhkMDAzZDNhYjRhMmIwMjQ3MDMzMjZmZjQ3MzEyNTYgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2lvcy9hYnNvbHV0ZS1zZWxlY3Rpb24tYWZ0
ZXItc2Nyb2xsLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaW9zL2Fi
c29sdXRlLXNlbGVjdGlvbi1hZnRlci1zY3JvbGwuaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgogPGh0bWw+CiA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgogPGhlYWQ+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9pb3MvZml4ZWQtc2Vs
ZWN0aW9uLWFmdGVyLXNjcm9sbC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
aW9zL2ZpeGVkLXNlbGVjdGlvbi1hZnRlci1zY3JvbGwuaHRtbAppbmRleCAyMmY3MjFiYmM0NDli
M2VlZDdlMzk5YTVjOTY3ZjhjMzYyZWJiZTM0Li4xYzI5MGM0ZDI4OTRjMmVjN2M4ZmI2MmUyMmJj
NmEyN2QzMzc4N2I4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9p
b3MvZml4ZWQtc2VsZWN0aW9uLWFmdGVyLXNjcm9sbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL2lvcy9maXhlZC1zZWxlY3Rpb24tYWZ0ZXItc2Nyb2xsLmh0bWwKQEAg
LTEsMyArMSw0IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KIDxodG1sPgogPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KIDxoZWFkPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMv
aW9zL2tleWJvYXJkLXNjcm9sbGluZy1kaXN0YW5jZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9mYXN0L2V2ZW50cy9pb3Mva2V5Ym9hcmQtc2Nyb2xsaW5nLWRpc3RhbmNlLWV4cGVjdGVkLnR4
dAppbmRleCAyZTNiYWIzZTQ1YzdjZTE4ZTA5YWU4NjNhNjk3Y2I0Y2NjNWYxMmRkLi5mNjdiYWU1
ZWY2Y2NiZTI3MGM0MzBkZjg2YmFkNjQ5ODg4MWFmNWIzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2V2ZW50cy9pb3Mva2V5Ym9hcmQtc2Nyb2xsaW5nLWRpc3RhbmNlLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9pb3Mva2V5Ym9hcmQtc2Nyb2xsaW5nLWRp
c3RhbmNlLWV4cGVjdGVkLnR4dApAQCAtMiw1ICsyLDUgQEAgUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCiBCZWZvcmUgcHJlc3NpbmcgdGhlIHNwYWNlYmFy
LCB3aW5kb3cuc2Nyb2xsWSA9IDAKLUFmdGVyIHByZXNzaW5nIHRoZSBzcGFjZWJhciwgd2luZG93
LnNjcm9sbFkgPSAzMDIKK0FmdGVyIHByZXNzaW5nIHRoZSBzcGFjZWJhciwgd2luZG93LnNjcm9s
bFkgPSAyOTEKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvaW9zL2tleWJv
YXJkLXNob3VsZC1ub3QtdHJpZ2dlci1yZXNpemUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZmFzdC9ldmVudHMvaW9zL2tleWJvYXJkLXNob3VsZC1ub3QtdHJpZ2dlci1yZXNpemUtZXhwZWN0
ZWQudHh0CmluZGV4IDkwNzNmZmM4MWE0ZTg2YzZkMjIxN2JmNTA0NGRmYTBhMDAwYWZmYjkuLjNj
OWY4NzlmNWMzNjE0YzlmNjhlZGJhYjdjNGY2ZjgyNmY4ZTczYjAgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvZXZlbnRzL2lvcy9rZXlib2FyZC1zaG91bGQtbm90LXRyaWdnZXItcmVzaXpl
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9pb3Mva2V5Ym9hcmQt
c2hvdWxkLW5vdC10cmlnZ2VyLXJlc2l6ZS1leHBlY3RlZC50eHQKQEAgLTIsNiArMiw2IEBACiBQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKLUFmdGVyIHNo
b3dpbmcgdGhlIGtleWJvYXJkLCB3aW5kb3cuaW5uZXJIZWlnaHQgPSA1NjgKLUFmdGVyIGhpZGlu
ZyB0aGUga2V5Ym9hcmQsIHdpbmRvdy5pbm5lckhlaWdodCA9IDU2OAorQWZ0ZXIgc2hvd2luZyB0
aGUga2V5Ym9hcmQsIHdpbmRvdy5pbm5lckhlaWdodCA9IDU0OAorQWZ0ZXIgaGlkaW5nIHRoZSBr
ZXlib2FyZCwgd2luZG93LmlubmVySGVpZ2h0ID0gNTQ4CiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL2lvcy92aWV3cG9ydC16b29tcy1mcm9tLWVsZW1lbnQtdG8taW5pdGlh
bC1zY2FsZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9pb3Mvdmlld3Bv
cnQtem9vbXMtZnJvbS1lbGVtZW50LXRvLWluaXRpYWwtc2NhbGUtZXhwZWN0ZWQudHh0CmluZGV4
IGM5Nzk0NjQ5MmJmMTg0NWRkNTg1YTRiODQyYzk3MmEwOGY5NTA5OGIuLjEyZjFlOTA5OWZiNjIz
MGE5MTU3NTg2ZDI1MjY2MGJhMzc3MmE2ZWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
ZXZlbnRzL2lvcy92aWV3cG9ydC16b29tcy1mcm9tLWVsZW1lbnQtdG8taW5pdGlhbC1zY2FsZS1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvaW9zL3ZpZXdwb3J0LXpv
b21zLWZyb20tZWxlbWVudC10by1pbml0aWFsLXNjYWxlLWV4cGVjdGVkLnR4dApAQCAtMSArMSBA
QAotVGhlIHZpZXdwb3J0IHpvb21lZCB0byBzY2FsZTogNQorVGhlIHZpZXdwb3J0IHpvb21lZCB0
byBzY2FsZTogMS42CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lvcy9hY2Nl
c3NvcnktYmFyLW5hdmlnYXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9pb3MvYWNjZXNzb3J5LWJhci1uYXZpZ2F0aW9uLWV4cGVjdGVkLnR4dAppbmRleCBkOGJhNjkx
ZmNhNGQ3YzU2MTg1NjIwYTE1ZDAzODIyZTI3MjJjM2I1Li4wYzU2ZDZhMGQwMWJhMTNhMmUyOTg2
MDFmODc5ZjM3MGFmNDg5NTg2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lv
cy9hY2Nlc3NvcnktYmFyLW5hdmlnYXRpb24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvaW9zL2FjY2Vzc29yeS1iYXItbmF2aWdhdGlvbi1leHBlY3RlZC50eHQKQEAg
LTUsMTIgKzUsMTIgQEAgQWZ0ZXIgZm9jdXMgZmlyc3QgZmllbGQKIAogdGFwIGxvY2F0aW9uCXsg
eDogMzguMDAwLCB5OiA0NDYuMDAwIH0KIHNjYWxlCTAuNzQ5Ci12aXNpYmxlUmVjdAl7IGxlZnQ6
IDAuMDAwLCB0b3A6IDI3OS41NTIsIHdpZHRoOiA0MjcuMDAwLCBoZWlnaHQ6IDc1Ny45MjUgfQor
dmlzaWJsZVJlY3QJeyBsZWZ0OiAwLjAwMCwgdG9wOiAyNzkuNTUyLCB3aWR0aDogNDI3LjAwMCwg
aGVpZ2h0OiA3MzEuMjM3IH0KIEFmdGVyIG1vdmUgdG8gc2Vjb25kIGZpZWxkCiAKIHNjYWxlCTAu
NzQ5Ci12aXNpYmxlUmVjdAl7IGxlZnQ6IDAuMDAwLCB0b3A6IDcwMC41NDcsIHdpZHRoOiA0Mjcu
MDAwLCBoZWlnaHQ6IDc1Ny45MjUgfQordmlzaWJsZVJlY3QJeyBsZWZ0OiAwLjAwMCwgdG9wOiA3
MDAuNTQ3LCB3aWR0aDogNDI3LjAwMCwgaGVpZ2h0OiA3MzEuMjM3IH0KIEFmdGVyIG1vdmUgdG8g
Zmlyc3QgZmllbGQKIAogc2NhbGUJMC43NDkKLXZpc2libGVSZWN0CXsgbGVmdDogMC4wMDAsIHRv
cDogMjc5LjU1Miwgd2lkdGg6IDQyNy4wMDAsIGhlaWdodDogNzU3LjkyNSB9Cit2aXNpYmxlUmVj
dAl7IGxlZnQ6IDAuMDAwLCB0b3A6IDI3OS41NTIsIHdpZHRoOiA0MjcuMDAwLCBoZWlnaHQ6IDcz
MS4yMzcgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pb3MvZm9jdXMtaW5w
dXQtaW4tZml4ZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pb3MvZm9j
dXMtaW5wdXQtaW4tZml4ZWQtZXhwZWN0ZWQudHh0CmluZGV4IDZiYmIzZWEzYzA4YTU3ZDMxMDEz
YTk2NmRlOWM4ZTQ2YjE5ZWI5OWYuLmY5NWU4NTAxMmZhMWE1OGVlYzA2OTBiZDVhZTNkNmNjZThj
NDliZGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW9zL2ZvY3VzLWlucHV0
LWluLWZpeGVkLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lvcy9m
b2N1cy1pbnB1dC1pbi1maXhlZC1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACiAKIHRhcCBs
b2NhdGlvbgl7IHg6IDQwLjAwMCwgeTogMTMwLjAwMCB9CiBzY2FsZQkxLjQ1NQotdmlzaWJsZVJl
Y3QJeyBsZWZ0OiAwLjAwMCwgdG9wOiA0NC42ODMsIHdpZHRoOiAyMTkuOTc5LCBoZWlnaHQ6IDM5
MC40NjIgfQordmlzaWJsZVJlY3QJeyBsZWZ0OiAwLjAwMCwgdG9wOiA0NC42ODMsIHdpZHRoOiAy
MTkuOTc5LCBoZWlnaHQ6IDM3Ni43MTMgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9pb3MvZm9jdXMtaW5wdXQtaW4taWZyYW1lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvaW9zL2ZvY3VzLWlucHV0LWluLWlmcmFtZS1leHBlY3RlZC50eHQKaW5kZXgg
M2JiNzQ3OWRmMzU0NDExZDRiZTgwYjk2ZDI0ODFkOTczYWMwNzY3ZS4uZjZiODg1MjMyOTBjYzc2
NTA2OGM3ZGI2ODBiZWFlNWI4NzU0MjgzMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9pb3MvZm9jdXMtaW5wdXQtaW4taWZyYW1lLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL2lvcy9mb2N1cy1pbnB1dC1pbi1pZnJhbWUtZXhwZWN0ZWQudHh0CkBA
IC00LDQgKzQsNCBAQCBDbGljayB0byBmb2N1cyBpbnB1dAogCiB0YXAgbG9jYXRpb24JeyB4OiAy
MC4wMDAsIHk6IDYyLjAwMCB9CiBzY2FsZQkxLjQ1NQotdmlzaWJsZVJlY3QJeyBsZWZ0OiAwLjAw
MCwgdG9wOiAxMjA4Ljg1MSwgd2lkdGg6IDIxOS45NzksIGhlaWdodDogMzkwLjQ2MiB9Cit2aXNp
YmxlUmVjdAl7IGxlZnQ6IDAuMDAwLCB0b3A6IDEyMDguODUxLCB3aWR0aDogMjE5Ljk3OSwgaGVp
Z2h0OiAzNzYuNzEzIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW9zL2Zv
Y3VzLWlucHV0LXZpYS1idXR0b24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9pb3MvZm9jdXMtaW5wdXQtdmlhLWJ1dHRvbi1leHBlY3RlZC50eHQKaW5kZXggMDlkNGExMjM2
YjVlZDgzMzQ3YTMxZjYyZGNlYmZmMzllNWQ5YTdiMS4uOTdhYjdmZDlkMjk2NWJjZWJlZGRiZmQ1
YmI5YWUzNjkxYjk2MTQ2NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pb3Mv
Zm9jdXMtaW5wdXQtdmlhLWJ1dHRvbi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9pb3MvZm9jdXMtaW5wdXQtdmlhLWJ1dHRvbi1leHBlY3RlZC50eHQKQEAgLTQsNCAr
NCw0IEBAIENsaWNrIHRvIGZvY3VzIGlucHV0CiAKIHRhcCBsb2NhdGlvbgl7IHg6IDIwLjAwMCwg
eTogNjIuMDAwIH0KIHNjYWxlCTEuNDU1Ci12aXNpYmxlUmVjdAl7IGxlZnQ6IDAuMDAwLCB0b3A6
IDc5OC43OTcsIHdpZHRoOiAyMTkuOTc5LCBoZWlnaHQ6IDM5MC40NjIgfQordmlzaWJsZVJlY3QJ
eyBsZWZ0OiAwLjAwMCwgdG9wOiA3OTguNzk3LCB3aWR0aDogMjE5Ljk3OSwgaGVpZ2h0OiAzNzYu
NzEzIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW9zL2ZvY3VzLWlucHV0
LXZpYS1idXR0b24tbm8tc2NhbGluZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL2lvcy9mb2N1cy1pbnB1dC12aWEtYnV0dG9uLW5vLXNjYWxpbmctZXhwZWN0ZWQudHh0Cmlu
ZGV4IGI1ZTc0MDU3OWI5Y2U0ZDZjZWU4MDk1ZmQ2YzE4ODdlZmU5MWU4YTQuLjAzODFlNGE2MDI4
ZmE3ZTQ3NDM3ZGM1MzdjODA4YmExMzdiZmQyOGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvaW9zL2ZvY3VzLWlucHV0LXZpYS1idXR0b24tbm8tc2NhbGluZy1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pb3MvZm9jdXMtaW5wdXQtdmlhLWJ1dHRv
bi1uby1zY2FsaW5nLWV4cGVjdGVkLnR4dApAQCAtNCw0ICs0LDQgQEAgQ2xpY2sgdG8gZm9jdXMg
aW5wdXQKIAogdGFwIGxvY2F0aW9uCXsgeDogMjAuMDAwLCB5OiA2Mi4wMDAgfQogc2NhbGUJMC43
NDkKLXZpc2libGVSZWN0CXsgbGVmdDogMC4wMDAsIHRvcDogNzE3LjIyNywgd2lkdGg6IDQyNy4w
MDAsIGhlaWdodDogNzU3LjkyNSB9Cit2aXNpYmxlUmVjdAl7IGxlZnQ6IDAuMDAwLCB0b3A6IDcx
Ny4yMjcsIHdpZHRoOiA0MjcuMDAwLCBoZWlnaHQ6IDczMS4yMzcgfQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9pb3MvZm9jdXMtbG9uZy10ZXh0YXJlYS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lvcy9mb2N1cy1sb25nLXRleHRhcmVhLWV4cGVjdGVk
LnR4dAppbmRleCAyNWY3NTE3ODJhNmU4N2ZjMjZmNWVhZDFlZGQ1YmZjMDAyYWYzZmQ2Li5jMjZl
OGUwZTkyZDBlZjViNDllMTM5YzUyZDBmNWFhZWVjODE0OGFhIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL2lvcy9mb2N1cy1sb25nLXRleHRhcmVhLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lvcy9mb2N1cy1sb25nLXRleHRhcmVhLWV4cGVjdGVk
LnR4dApAQCAtMyw0ICszLDQgQEAgVGVzdHMgem9vbWluZyBpbnRvIGEgdGFsbCB0ZXh0YXJlYSBv
biB0YXAuCiAKIHRhcCBsb2NhdGlvbgl7IHg6IDM4LjAwMCwgeTogNjY0LjAwMCB9CiBzY2FsZQkx
LjQ1NQotdmlzaWJsZVJlY3QJeyBsZWZ0OiAwLjAwMCwgdG9wOiA1MDYuMjk0LCB3aWR0aDogMjE5
Ljk3OSwgaGVpZ2h0OiAzOTAuNDYyIH0KK3Zpc2libGVSZWN0CXsgbGVmdDogMC4wMDAsIHRvcDog
NTA2LjI5NCwgd2lkdGg6IDIxOS45NzksIGhlaWdodDogMzc2LjcxMyB9CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lvcy96b29tLWFmdGVyLWlucHV0LXRhcC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lvcy96b29tLWFmdGVyLWlucHV0LXRhcC1leHBl
Y3RlZC50eHQKaW5kZXggZDI2MmI3YWFkOTY2NzlhYjQ4MGExYTI2MmE0ZGM4NTRkMmZjMmMxMS4u
ZDgwOGJhOWNhMzJlNjM3OGQ5NWVkZDE3MGE5ZGYyZWJmNjZmZDA4MCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9pb3Mvem9vbS1hZnRlci1pbnB1dC10YXAtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW9zL3pvb20tYWZ0ZXItaW5wdXQtdGFwLWV4
cGVjdGVkLnR4dApAQCAtMyw0ICszLDQgQEAgVGVzdHMgem9vbWluZyBpbnRvIGEgdGV4dCBpbnB1
dCBvbiB0YXAuCiAKIHRhcCBsb2NhdGlvbgl7IHg6IDM4LjAwMCwgeTogODYyLjAwMCB9CiBzY2Fs
ZQkxLjQ1NQotdmlzaWJsZVJlY3QJeyBsZWZ0OiAwLjAwMCwgdG9wOiA3NzYuNzk5LCB3aWR0aDog
MjE5Ljk3OSwgaGVpZ2h0OiAzOTAuNDYyIH0KK3Zpc2libGVSZWN0CXsgbGVmdDogMC4wMDAsIHRv
cDogNzc2Ljc5OSwgd2lkdGg6IDIxOS45NzksIGhlaWdodDogMzc2LjcxMyB9CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lvcy96b29tLWFmdGVyLWlucHV0LXRhcC13aWRlLWlu
cHV0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW9zL3pvb20tYWZ0ZXIt
aW5wdXQtdGFwLXdpZGUtaW5wdXQtZXhwZWN0ZWQudHh0CmluZGV4IGIwNTY3ZGYwM2U3NWU2NDk3
ZjUzODdiZmE2OGU2OTY3YjQ3YmNmYTMuLjdlNjkzMTAwZGJiMWM4ZTBlYTA2MDZhMWViYmUzZWMx
MDY4NTBlZjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW9zL3pvb20tYWZ0
ZXItaW5wdXQtdGFwLXdpZGUtaW5wdXQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvaW9zL3pvb20tYWZ0ZXItaW5wdXQtdGFwLXdpZGUtaW5wdXQtZXhwZWN0ZWQudHh0
CkBAIC0zLDQgKzMsNCBAQCBUZXN0cyB6b29taW5nIHRvIGFuIG9mZnNldCBpbiBhIHdpZGUgdGV4
dCBpbnB1dCBvbiB0YXAuCiAKIHRhcCBsb2NhdGlvbgl7IHg6IDMyOC4wMDAsIHk6IDg2Mi4wMDAg
fQogc2NhbGUJMS40NTUKLXZpc2libGVSZWN0CXsgbGVmdDogMTIyLjcwNywgdG9wOiA3NzYuODAz
LCB3aWR0aDogMjE5Ljk4MCwgaGVpZ2h0OiAzOTAuNDY0IH0KK3Zpc2libGVSZWN0CXsgbGVmdDog
MTIyLjcwNywgdG9wOiA3NzYuODAzLCB3aWR0aDogMjE5Ljk4MCwgaGVpZ2h0OiAzNzYuNzE1IH0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL2lvcy9zdWJwaXhlbC1vdmVy
Zmxvdy1zY3JvbGxpbmctd2l0aC1hbmNlc3Rvci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9m
YXN0L3Njcm9sbGluZy9pb3Mvc3VicGl4ZWwtb3ZlcmZsb3ctc2Nyb2xsaW5nLXdpdGgtYW5jZXN0
b3ItZXhwZWN0ZWQudHh0CmluZGV4IGQ4MTVlNGEzOWExNTgzNjQ3Yzg5MTg0YmJhYTY3ZWM2NGI0
M2MwODAuLjM5MDlmOTgyY2ZkZDJlMDFhZWRkNmYwOWJjNzBhNTg2ODg0NGViODEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL2lvcy9zdWJwaXhlbC1vdmVyZmxvdy1zY3Jv
bGxpbmctd2l0aC1hbmNlc3Rvci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9z
Y3JvbGxpbmcvaW9zL3N1YnBpeGVsLW92ZXJmbG93LXNjcm9sbGluZy13aXRoLWFuY2VzdG9yLWV4
cGVjdGVkLnR4dApAQCAtMSw5ICsxLDkgQEAKIChHcmFwaGljc0xheWVyCiAgIChhbmNob3IgMC4w
MCAwLjAwKQotICAoYm91bmRzIDMyMC4wMCA1NjguMDApCisgIChib3VuZHMgMzIwLjAwIDU0OC4w
MCkKICAgKGNoaWxkcmVuIDEKICAgICAoR3JhcGhpY3NMYXllcgotICAgICAgKGJvdW5kcyAzMjAu
MDAgNTY4LjAwKQorICAgICAgKGJvdW5kcyAzMjAuMDAgNTQ4LjAwKQogICAgICAgKGNvbnRlbnRz
T3BhcXVlIDEpCiAgICAgICAoY2hpbGRyZW4gMQogICAgICAgICAoR3JhcGhpY3NMYXllcgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC9pb3Mvd2lkdGgtaXMtZGV2aWNlLXdp
ZHRoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qvdmlld3BvcnQvaW9zL3dpZHRoLWlz
LWRldmljZS13aWR0aC1leHBlY3RlZC50eHQKaW5kZXggMGE1MDdlZWY2YmQyNjUwNDhjMzdiOTBi
ZmQ5YWQ0ZGJiYzI2MzI0Mi4uNmQ5ZDJiYjhiM2ZmZWU5NDE4MjZmNDUzZGNjMTkyOTM4YjFhYTg5
YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC9pb3Mvd2lkdGgtaXMtZGV2
aWNlLXdpZHRoLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L2lv
cy93aWR0aC1pcy1kZXZpY2Utd2lkdGgtZXhwZWN0ZWQudHh0CkBAIC0zLDQgKzMsNCBAQCBWaWV3
cG9ydDogd2lkdGg9ZGV2aWNlLXdpZHRoCiBzY2FsZQkxLjAwMDAwCiBtYXhTY2FsZQk1LjAwMDAw
CiBtaW5TY2FsZQkxLjAwMDAwCi12aXNpYmxlUmVjdAl7ImxlZnQiOiIwLjAwMDAwIiwidG9wIjoi
MC4wMDAwMCIsIndpZHRoIjoiMzIwLjAwMDAwIiwiaGVpZ2h0IjoiNTY4LjAwMDAwIn0KK3Zpc2li
bGVSZWN0CXsibGVmdCI6IjAuMDAwMDAiLCJ0b3AiOiIwLjAwMDAwIiwid2lkdGgiOiIzMjAuMDAw
MDAiLCJoZWlnaHQiOiI1NDguMDAwMDAifQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC92
aXN1YWwtdmlld3BvcnQvaW9zL2ZpeGVkLWVsZW1lbnQtb24tYm90dG9tLXdpdGgta2V5Ym9hcmQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC92aXN1YWwtdmlld3BvcnQvaW9zL2ZpeGVk
LWVsZW1lbnQtb24tYm90dG9tLXdpdGgta2V5Ym9hcmQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjlmMTA4M2NjZTQ3Yjg4MjVlYjM0ZmMwNDkwMjY5MTVjOTI1YjRmOTQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L3Zpc3VhbC12aWV3cG9ydC9pb3MvZml4ZWQtZWxlbWVudC1v
bi1ib3R0b20td2l0aC1rZXlib2FyZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCitUaGUgaW5pdGlh
bCBsYXlvdXQgdmlld3BvcnQgaXM6IFswIDAgOyAzMjAgNTQ4XQorVGhlIGxheW91dCB2aWV3cG9y
dCBhZnRlciBzaG93aW5nIHRoZSBrZXlib2FyZCBpczogWzAgMCA7IDMyMCA1NDhdCitUaGUgbGF5
b3V0IHZpZXdwb3J0IGFmdGVyIHNjcm9sbGluZyB0byB0aGUgZW5kIGlzOiBbMCAzNDUyIDsgMzIw
IDU0OF0KK1RoZSBsYXlvdXQgdmlld3BvcnQgYWZ0ZXIgc2Nyb2xsaW5nIHBhc3QgdGhlIGVuZCBp
czogWzAgMzQ1MiA7IDMyMCA1NDhdCitQQVNTIGluaXRpYWxMYXlvdXRWaWV3cG9ydC5oZWlnaHQg
aXMgbGF5b3V0Vmlld3BvcnRBZnRlclNob3dpbmdLZXlib2FyZC5oZWlnaHQKK1BBU1MgbGF5b3V0
Vmlld3BvcnRBZnRlclNjcm9sbGluZ1Bhc3RFbmQudG9wIGlzIGxheW91dFZpZXdwb3J0QWZ0ZXJT
Y3JvbGxpbmdUb0VuZC50b3AKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC92aXN1YWwt
dmlld3BvcnQvaW9zL2ZpeGVkLWVsZW1lbnQtb24tYm90dG9tLXdpdGgta2V5Ym9hcmQuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvdmlzdWFsLXZpZXdwb3J0L2lvcy9maXhlZC1lbGVtZW50LW9uLWJv
dHRvbS13aXRoLWtleWJvYXJkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTM2NjUzODIxZWRlM2Y2ZGJmNGIw
Y2YxMGYzODI4NWU3OGRkZWY1NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
dmlzdWFsLXZpZXdwb3J0L2lvcy9maXhlZC1lbGVtZW50LW9uLWJvdHRvbS13aXRoLWtleWJvYXJk
Lmh0bWwKQEAgLTAsMCArMSwxMTcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorPGhlYWQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CisgICAgPHN0eWxlPgorICAgICAg
ICBib2R5IHsKKyAgICAgICAgICAgIG1hcmdpbjogMDsKKyAgICAgICAgfQorCisgICAgICAgIGlu
cHV0IHsKKyAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgaGVpZ2h0OiA1MHB4
OworICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkOworICAgICAgICAgICAgbGVmdDogMDsKKyAg
ICAgICAgICAgIHRvcDogMDsKKyAgICAgICAgICAgIHotaW5kZXg6IDE7CisgICAgICAgIH0KKwor
ICAgICAgICAjY29udGVudCB7CisgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXIt
Z3JhZGllbnQoYmx1ZSwgcmVkKTsKKyAgICAgICAgICAgIHdpZHRoOiAxMDB2dzsKKyAgICAgICAg
ICAgIGhlaWdodDogNDAwMHB4OworICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOworICAg
ICAgICAgICAgdG9wOiAwOworICAgICAgICAgICAgbGVmdDogMDsKKyAgICAgICAgfQorCisgICAg
ICAgICNib3R0b20geworICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICBoZWln
aHQ6IDUwcHg7CisgICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7CisgICAgICAgICAgICBsZWZ0
OiAwOworICAgICAgICAgICAgYm90dG9tOiAwOworICAgICAgICAgICAgei1pbmRleDogMTsKKyAg
ICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsdWU7CisgICAgICAgIH0KKyAgICA8L3N0eWxl
PgorICAgIDxzY3JpcHQ+CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgIHRl
c3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUo
KTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiB0YXBJbklucHV0U2NyaXB0KHRhcFgsIHRhcFkpCisg
ICAgeworICAgICAgICByZXR1cm4gYChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIHVpQ29udHJv
bGxlci5kaWRTaG93S2V5Ym9hcmRDYWxsYmFjayA9IGZ1bmN0aW9uKCkgeworICAgICAgICAgICAg
ICAgIHVpQ29udHJvbGxlci5kb0FmdGVyTmV4dFN0YWJsZVByZXNlbnRhdGlvblVwZGF0ZShmdW5j
dGlvbigpIHsKKyAgICAgICAgICAgICAgICAgICAgdWlDb250cm9sbGVyLnVpU2NyaXB0Q29tcGxl
dGUoSlNPTi5zdHJpbmdpZnkodWlDb250cm9sbGVyLmlucHV0Vmlld0JvdW5kcykpOworICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfTsKKyAgICAgICAgICAgIHVpQ29udHJvbGxlci5z
aW5nbGVUYXBBdFBvaW50KCR7dGFwWH0sICR7dGFwWX0sIGZ1bmN0aW9uKCkgeyB9KTsKKyAgICAg
ICAgfSkoKWA7CisgICAgfQorCisgICAgZnVuY3Rpb24gc2ltdWxhdGVTY3JvbGxpbmdTY3JpcHQo
b2Zmc2V0VG9wKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGAoZnVuY3Rpb24oKSB7CisgICAgICAg
ICAgICB1aUNvbnRyb2xsZXIuc3RhYmxlU3RhdGVPdmVycmlkZSA9IGZhbHNlOworICAgICAgICAg
ICAgdWlDb250cm9sbGVyLmltbWVkaWF0ZVNjcm9sbFRvT2Zmc2V0KDAsICR7b2Zmc2V0VG9wfSk7
CisgICAgICAgICAgICB1aUNvbnRyb2xsZXIuc3RhYmxlU3RhdGVPdmVycmlkZSA9IHRydWU7Cisg
ICAgICAgICAgICB1aUNvbnRyb2xsZXIuZG9BZnRlck5leHRTdGFibGVQcmVzZW50YXRpb25VcGRh
dGUoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgdWlDb250cm9sbGVyLnVpU2NyaXB0Q29t
cGxldGUoKTsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9KSgpYDsKKyAgICB9CisKKyAgICBm
dW5jdGlvbiBnZXRJbnB1dFZpZXdCb3VuZFNjcmlwdCgpCisgICAgeworICAgICAgICByZXR1cm4g
YChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIHVpQ29udHJvbGxlci51aVNjcmlwdENvbXBsZXRl
KEpTT04uc3RyaW5naWZ5KHVpQ29udHJvbGxlci5pbnB1dFZpZXdCb3VuZHMpKTsKKyAgICAgICAg
fSkoKTtgOworICAgIH0KKworICAgIGZ1bmN0aW9uIHRvU3RyaW5nKHJlY3QpCisgICAgeworICAg
ICAgICByZXR1cm4gYFske3JlY3QubGVmdH0gJHtyZWN0LnRvcH0gOyAke3JlY3Qud2lkdGh9ICR7
cmVjdC5oZWlnaHR9XWA7CisgICAgfQorCisgICAgZnVuY3Rpb24gcnVuKCkKKyAgICB7CisgICAg
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIgfHwgIXRlc3RSdW5uZXIucnVuVUlTY3JpcHQpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUbyBtYW51YWxseSB0ZXN0LCB0YXAgdGhpcyBpbnB1
dCBmaWVsZCBhbmQgc2Nyb2xsIHVwLiBUaGUgdGV4dCBjYXJldCBzaG91bGQgbm90IGVuZCB1cCBv
dXRzaWRlIG9mIHRoZSBpbnB1dC4iKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQor
CisgICAgICAgIHdpbmRvdy5pbml0aWFsTGF5b3V0Vmlld3BvcnQgPSBpbnRlcm5hbHMubGF5b3V0
Vmlld3BvcnRSZWN0KCk7CisgICAgICAgIHRlc3RSdW5uZXIucnVuVUlTY3JpcHQodGFwSW5JbnB1
dFNjcmlwdCh3aW5kb3cuaW5uZXJXaWR0aCAvIDIsIDMwKSwgaW5wdXRWaWV3Qm91bmRzID0+IHsK
KyAgICAgICAgICAgIGlucHV0Vmlld0JvdW5kcyA9IEpTT04ucGFyc2UoaW5wdXRWaWV3Qm91bmRz
KTsKKyAgICAgICAgICAgIGNvbnN0IG1heFNjcm9sbFRvcFdpdGhLZXlib2FyZCA9IGRvY3VtZW50
LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsSGVpZ2h0IC0gd2luZG93LmlubmVySGVpZ2h0ICsgaW5w
dXRWaWV3Qm91bmRzLmhlaWdodDsKKyAgICAgICAgICAgIHdpbmRvdy5sYXlvdXRWaWV3cG9ydEFm
dGVyU2hvd2luZ0tleWJvYXJkID0gaW50ZXJuYWxzLmxheW91dFZpZXdwb3J0UmVjdCgpOworICAg
ICAgICAgICAgdGVzdFJ1bm5lci5ydW5VSVNjcmlwdChzaW11bGF0ZVNjcm9sbGluZ1NjcmlwdCht
YXhTY3JvbGxUb3BXaXRoS2V5Ym9hcmQpLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd2luZG93
LmxheW91dFZpZXdwb3J0QWZ0ZXJTY3JvbGxpbmdQYXN0RW5kID0gaW50ZXJuYWxzLmxheW91dFZp
ZXdwb3J0UmVjdCgpOworICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIucnVuVUlTY3JpcHQoc2lt
dWxhdGVTY3JvbGxpbmdTY3JpcHQobWF4U2Nyb2xsVG9wV2l0aEtleWJvYXJkICsgMjUpLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5sYXlvdXRWaWV3cG9ydEFmdGVyU2Nyb2xs
aW5nVG9FbmQgPSBpbnRlcm5hbHMubGF5b3V0Vmlld3BvcnRSZWN0KCk7CisgICAgICAgICAgICAg
ICAgICAgIGRlYnVnKGBUaGUgaW5pdGlhbCBsYXlvdXQgdmlld3BvcnQgaXM6ICR7dG9TdHJpbmco
aW5pdGlhbExheW91dFZpZXdwb3J0KX1gKTsKKyAgICAgICAgICAgICAgICAgICAgZGVidWcoYFRo
ZSBsYXlvdXQgdmlld3BvcnQgYWZ0ZXIgc2hvd2luZyB0aGUga2V5Ym9hcmQgaXM6ICR7dG9TdHJp
bmcobGF5b3V0Vmlld3BvcnRBZnRlclNob3dpbmdLZXlib2FyZCl9YCk7CisgICAgICAgICAgICAg
ICAgICAgIGRlYnVnKGBUaGUgbGF5b3V0IHZpZXdwb3J0IGFmdGVyIHNjcm9sbGluZyB0byB0aGUg
ZW5kIGlzOiAke3RvU3RyaW5nKGxheW91dFZpZXdwb3J0QWZ0ZXJTY3JvbGxpbmdQYXN0RW5kKX1g
KTsKKyAgICAgICAgICAgICAgICAgICAgZGVidWcoYFRoZSBsYXlvdXQgdmlld3BvcnQgYWZ0ZXIg
c2Nyb2xsaW5nIHBhc3QgdGhlIGVuZCBpczogJHt0b1N0cmluZyhsYXlvdXRWaWV3cG9ydEFmdGVy
U2Nyb2xsaW5nVG9FbmQpfWApOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaW5pdGlh
bExheW91dFZpZXdwb3J0LmhlaWdodCIsICJsYXlvdXRWaWV3cG9ydEFmdGVyU2hvd2luZ0tleWJv
YXJkLmhlaWdodCIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgibGF5b3V0Vmlld3Bv
cnRBZnRlclNjcm9sbGluZ1Bhc3RFbmQudG9wIiwgImxheW91dFZpZXdwb3J0QWZ0ZXJTY3JvbGxp
bmdUb0VuZC50b3AiKTsKKyAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25l
KCk7CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9KTsKKyAgICAgICAgfSk7Cisg
ICAgfQorICAgIDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPXJ1bigpPgorICAgIDxp
bnB1dD48L2lucHV0PgorICAgIDxkaXYgaWQ9ImNvbnRlbnQiPjwvZGl2PgorICAgIDxkaXYgaWQ9
ImJvdHRvbSI+PC9kaXY+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorCis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L3Zpc3VhbC12aWV3cG9ydC9pb3Mvem9vbWVkLWZvY3VzLWluLWZpeGVk
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvdmlzdWFsLXZpZXdwb3J0L2lvcy96b29t
ZWQtZm9jdXMtaW4tZml4ZWQtZXhwZWN0ZWQudHh0CmluZGV4IDYyMWJlMmViMTE3ZTJjZWZjMDRj
YmJlNWY1YjU3YTI2NGExNzQ0NGIuLjkyMzVlZGU5Y2EwYjMzMDc0NGZkOGQzZWI1ZTc3YzAxNjJi
YTcwZmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvdmlzdWFsLXZpZXdwb3J0L2lvcy96
b29tZWQtZm9jdXMtaW4tZml4ZWQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
dmlzdWFsLXZpZXdwb3J0L2lvcy96b29tZWQtZm9jdXMtaW4tZml4ZWQtZXhwZWN0ZWQudHh0CkBA
IC0xLDMgKzEsMyBAQAotTGF5b3V0IHZpZXdwb3J0OiB7InRvcCI6NjU5LjczNDM3NSwicmlnaHQi
OjMyMCwiYm90dG9tIjoxMjI3LjczNDM3NSwibGVmdCI6MCwid2lkdGgiOjMyMCwiaGVpZ2h0Ijo1
Njh9Ci1WaXN1YWwgdmlld3BvcnQ6IHsidG9wIjo2NjAsInJpZ2h0IjoyMjAsImJvdHRvbSI6MTA1
MSwibGVmdCI6MCwid2lkdGgiOjIyMCwiaGVpZ2h0IjozOTF9CitMYXlvdXQgdmlld3BvcnQ6IHsi
dG9wIjo3NDYuNzAzMTI1LCJyaWdodCI6MzIwLCJib3R0b20iOjEyOTQuNzAzMTI1LCJsZWZ0Ijow
LCJ3aWR0aCI6MzIwLCJoZWlnaHQiOjU0OH0KK1Zpc3VhbCB2aWV3cG9ydDogeyJ0b3AiOjc0Nywi
cmlnaHQiOjIyMCwiYm90dG9tIjoxMTI0LCJsZWZ0IjowLCJ3aWR0aCI6MjIwLCJoZWlnaHQiOjM3
N30KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbXVsYXRvci9mYXN0
L3Njcm9sbGluZy9pb3MvY2xpcHBpbmctYW5jZXN0b3Itd2l0aC1hY2NlbGVyYXRlZC1zY3JvbGxp
bmctYW5jZXN0b3ItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbXVs
YXRvci9mYXN0L3Njcm9sbGluZy9pb3MvY2xpcHBpbmctYW5jZXN0b3Itd2l0aC1hY2NlbGVyYXRl
ZC1zY3JvbGxpbmctYW5jZXN0b3ItZXhwZWN0ZWQudHh0CmluZGV4IDRjNWYzZWI4MTk4NzRmMTVj
ZGM2NmJhZmMwYTE0MmNiOGM1MGM0YmEuLjNlNGY5MTM4MmQzMTgwZTBlZTU0ZWRkNzJiYmIzMzM2
YjYyNWFjYmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW11bGF0b3Iv
ZmFzdC9zY3JvbGxpbmcvaW9zL2NsaXBwaW5nLWFuY2VzdG9yLXdpdGgtYWNjZWxlcmF0ZWQtc2Ny
b2xsaW5nLWFuY2VzdG9yLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9p
b3Mtc2ltdWxhdG9yL2Zhc3Qvc2Nyb2xsaW5nL2lvcy9jbGlwcGluZy1hbmNlc3Rvci13aXRoLWFj
Y2VsZXJhdGVkLXNjcm9sbGluZy1hbmNlc3Rvci1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw1IEBA
Ci1sYXllciBhdCAoMCwwKSBzaXplIDMyMHg1NjgKLSAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXpl
IDMyMHg1NjgKK2xheWVyIGF0ICgwLDApIHNpemUgMzIweDU0OAorICBSZW5kZXJWaWV3IGF0ICgw
LDApIHNpemUgMzIweDU0OAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSAzMjB4MzE2CiAgIFJlbmRlckJs
b2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDMyMHgzMTYKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBh
dCAoOCw4KSBzaXplIDMwNHgzMDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lv
cy1zaW11bGF0b3IvZmFzdC9zY3JvbGxpbmcvaW9zL292ZXJmbG93LXNjcm9sbGluZy1hbmNlc3Rv
ci1jbGlwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW11bGF0b3Iv
ZmFzdC9zY3JvbGxpbmcvaW9zL292ZXJmbG93LXNjcm9sbGluZy1hbmNlc3Rvci1jbGlwLWV4cGVj
dGVkLnR4dAppbmRleCA0YmVmYmEzM2NhNzExZWI0ZGFmYjMyMmU2Y2Y1ZDIwOWEzMDVlZjVjLi4y
NWRmNjY4YzFmZjdjMzliZjhiMzQ0NzAwNWIzZDU5M2EzMjg5NzdhIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltdWxhdG9yL2Zhc3Qvc2Nyb2xsaW5nL2lvcy9vdmVyZmxv
dy1zY3JvbGxpbmctYW5jZXN0b3ItY2xpcC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vaW9zLXNpbXVsYXRvci9mYXN0L3Njcm9sbGluZy9pb3Mvb3ZlcmZsb3ctc2Nyb2xs
aW5nLWFuY2VzdG9yLWNsaXAtZXhwZWN0ZWQudHh0CkBAIC0xLDkgKzEsOSBAQAogKEdyYXBoaWNz
TGF5ZXIKICAgKGFuY2hvciAwLjAwIDAuMDApCi0gIChib3VuZHMgMzIwLjAwIDU2OC4wMCkKKyAg
KGJvdW5kcyAzMjAuMDAgNTQ4LjAwKQogICAoY2hpbGRyZW4gMQogICAgIChHcmFwaGljc0xheWVy
Ci0gICAgICAoYm91bmRzIDMyMC4wMCA1NjguMDApCisgICAgICAoYm91bmRzIDMyMC4wMCA1NDgu
MDApCiAgICAgICAoY29udGVudHNPcGFxdWUgMSkKICAgICAgIChjaGlsZHJlbiAxCiAgICAgICAg
IChHcmFwaGljc0xheWVyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2lt
dWxhdG9yL2Zhc3Qvc2Nyb2xsaW5nL2lvcy9vdmVyZmxvdy1zY3JvbGxpbmctYW5jZXN0b3ItY2xp
cC1zaXplLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW11bGF0b3Iv
ZmFzdC9zY3JvbGxpbmcvaW9zL292ZXJmbG93LXNjcm9sbGluZy1hbmNlc3Rvci1jbGlwLXNpemUt
ZXhwZWN0ZWQudHh0CmluZGV4IGI0NTM3Zjk2YTQ4NzIwZDIwMzU4NTkyNWViNmRkYjNkNTI3MjI5
NGQuLmE1NTJkZDM0YjQzMmQ5NDBlNGZmNzY0ZWRkNDJlNDBjNDY1OTg1ODEgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW11bGF0b3IvZmFzdC9zY3JvbGxpbmcvaW9zL292
ZXJmbG93LXNjcm9sbGluZy1hbmNlc3Rvci1jbGlwLXNpemUtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW11bGF0b3IvZmFzdC9zY3JvbGxpbmcvaW9zL292ZXJm
bG93LXNjcm9sbGluZy1hbmNlc3Rvci1jbGlwLXNpemUtZXhwZWN0ZWQudHh0CkBAIC0xLDkgKzEs
OSBAQAogKEdyYXBoaWNzTGF5ZXIKICAgKGFuY2hvciAwLjAwIDAuMDApCi0gIChib3VuZHMgMzMw
LjAwIDU2OC4wMCkKKyAgKGJvdW5kcyAzMzAuMDAgNTQ4LjAwKQogICAoY2hpbGRyZW4gMQogICAg
IChHcmFwaGljc0xheWVyCi0gICAgICAoYm91bmRzIDMzMC4wMCA1NjguMDApCisgICAgICAoYm91
bmRzIDMzMC4wMCA1NDguMDApCiAgICAgICAoY29udGVudHNPcGFxdWUgMSkKICAgICAgIChjaGls
ZHJlbiAxCiAgICAgICAgIChHcmFwaGljc0xheWVyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9pb3Mtc2ltdWxhdG9yL2Zhc3Qvc2Nyb2xsaW5nL2lvcy9zY3JvbGxpbmctY29udGVu
dC1jbGlwLXRvLXZpZXdwb3J0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lv
cy1zaW11bGF0b3IvZmFzdC9zY3JvbGxpbmcvaW9zL3Njcm9sbGluZy1jb250ZW50LWNsaXAtdG8t
dmlld3BvcnQtZXhwZWN0ZWQudHh0CmluZGV4IDI5M2I5N2ViZThiNDY2MmYzMDNlYjZkODg4Y2Nj
N2E1ZmNiOTA5YmYuLmIwYzdhZTc0NDE0NjcwMWExZWVhMjUyZmVkOThkMjczYTRjM2I0YmUgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW11bGF0b3IvZmFzdC9zY3JvbGxp
bmcvaW9zL3Njcm9sbGluZy1jb250ZW50LWNsaXAtdG8tdmlld3BvcnQtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW11bGF0b3IvZmFzdC9zY3JvbGxpbmcvaW9z
L3Njcm9sbGluZy1jb250ZW50LWNsaXAtdG8tdmlld3BvcnQtZXhwZWN0ZWQudHh0CkBAIC0xLDkg
KzEsOSBAQAogKEdyYXBoaWNzTGF5ZXIKICAgKGFuY2hvciAwLjAwIDAuMDApCi0gIChib3VuZHMg
MzIwLjAwIDU2OC4wMCkKKyAgKGJvdW5kcyAzMjAuMDAgNTQ4LjAwKQogICAoY2hpbGRyZW4gMQog
ICAgIChHcmFwaGljc0xheWVyCi0gICAgICAoYm91bmRzIDMyMC4wMCA1NjguMDApCisgICAgICAo
Ym91bmRzIDMyMC4wMCA1NDguMDApCiAgICAgICAoY29udGVudHNPcGFxdWUgMSkKICAgICAgIChj
aGlsZHJlbiAxCiAgICAgICAgIChHcmFwaGljc0xheWVyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9pb3Mtc2ltdWxhdG9yL2Zhc3Qvc2Nyb2xsaW5nL2lvcy90b3VjaC1zdGFja2lu
Zy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltdWxhdG9yL2Zhc3Qv
c2Nyb2xsaW5nL2lvcy90b3VjaC1zdGFja2luZy1leHBlY3RlZC50eHQKaW5kZXggY2M2Y2ZiM2Q1
NzNlNWJiN2I5ODUzZGQ1YmMyZGY2NTJjMTBhNjhiMy4uMTQ0OTY5NmQ2YTg5YzkxZmFiODAzMjE5
M2E3OWVmZDFkNWVlMWVhNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNp
bXVsYXRvci9mYXN0L3Njcm9sbGluZy9pb3MvdG91Y2gtc3RhY2tpbmctZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW11bGF0b3IvZmFzdC9zY3JvbGxpbmcvaW9z
L3RvdWNoLXN0YWNraW5nLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDUgQEAKLWxheWVyIGF0ICgw
LDApIHNpemUgMzIweDU2OAotICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgMzIweDU2OAorbGF5
ZXIgYXQgKDAsMCkgc2l6ZSAzMjB4NTQ4CisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSAzMjB4
NTQ4CiBsYXllciBhdCAoMCwwKSBzaXplIDMyMHgxNDggbGF5ZXJUeXBlOiBiYWNrZ3JvdW5kIG9u
bHkKIGxheWVyIGF0ICgwLDApIHNpemUgMTAweDEwMAogICBSZW5kZXJCbG9jayAocG9zaXRpb25l
ZCkgekk6IC0xIHtESVZ9IGF0ICgwLDApIHNpemUgMTAweDEwMCBbYmdjb2xvcj0jRkYwMDAwXQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc2Nyb2xsaW5nY29vcmRpbmF0b3IvaW9zL25vbi1zdGFi
bGUtdmlld3BvcnQtc2Nyb2xsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3Njcm9sbGluZ2Nv
b3JkaW5hdG9yL2lvcy9ub24tc3RhYmxlLXZpZXdwb3J0LXNjcm9sbC1leHBlY3RlZC50eHQKaW5k
ZXggNWUyYTk4MmZmMTNjOWQzOTRlMGI4MTBjZjNmYTFiNDczNDU1NjZmNC4uZWQ3NTdjNzdmNDI2
MWE3NGRkYjMxNTE1NmEwNjM4NTM5MjU5YzY5YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc2Ny
b2xsaW5nY29vcmRpbmF0b3IvaW9zL25vbi1zdGFibGUtdmlld3BvcnQtc2Nyb2xsLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9zY3JvbGxpbmdjb29yZGluYXRvci9pb3Mvbm9uLXN0YWJs
ZS12aWV3cG9ydC1zY3JvbGwtZXhwZWN0ZWQudHh0CkBAIC0yLDI4ICsyLDI4IEBAIGZpeGVkCiAo
R3JhcGhpY3NMYXllcgogICAoYW5jaG9yIDAuMDAgMC4wMCkKICAgKGJvdW5kcyAzMjAuMDAgNTAx
My4wMCkKLSAgKHZpc2libGUgcmVjdCAwLjAwLCAxMDAwLjAwIDEwNi42NyB4IDE4OS4zMykKLSAg
KGNvdmVyYWdlIHJlY3QgMC4wMCwgMTAwMC4wMCAxMDYuNjcgeCAxODkuMzMpCisgICh2aXNpYmxl
IHJlY3QgMC4wMCwgMTAwMC4wMCAxMDYuNjcgeCAxODIuNjcpCisgIChjb3ZlcmFnZSByZWN0IDAu
MDAsIDEwMDAuMDAgMTA2LjY3IHggMTgyLjY3KQogICAoaW50ZXJzZWN0cyBjb3ZlcmFnZSByZWN0
IDEpCiAgIChjb250ZW50c1NjYWxlIDYuMDApCiAgIChjaGlsZHJlbiAxCiAgICAgKEdyYXBoaWNz
TGF5ZXIKICAgICAgIChib3VuZHMgMzIwLjAwIDUwMTMuMDApCiAgICAgICAoY29udGVudHNPcGFx
dWUgMSkKLSAgICAgICh2aXNpYmxlIHJlY3QgMC4wMCwgMTAwMC4wMCAxMDYuNjcgeCAxODkuMzMp
Ci0gICAgICAoY292ZXJhZ2UgcmVjdCAwLjAwLCA5NTcuMzMgMTkyLjAwIHggMjc0LjY3KQorICAg
ICAgKHZpc2libGUgcmVjdCAwLjAwLCAxMDAwLjAwIDEwNi42NyB4IDE4Mi42NykKKyAgICAgIChj
b3ZlcmFnZSByZWN0IDAuMDAsIDk1Ny4zMyAxOTIuMDAgeCAyNjguMDApCiAgICAgICAoaW50ZXJz
ZWN0cyBjb3ZlcmFnZSByZWN0IDEpCiAgICAgICAoY29udGVudHNTY2FsZSA2LjAwKQogICAgICAg
KGNoaWxkcmVuIDEKICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKICAgICAgICAgICAocG9zaXRpb24g
MTAuMDAgMC4wMCkKLSAgICAgICAgICAoYXBwcm94aW1hdGUgcG9zaXRpb24gMTAuMDAgNjIxLjM0
KQotICAgICAgICAgIChib3VuZHMgMTAwLjAwIDU2OC4wMCkKKyAgICAgICAgICAoYXBwcm94aW1h
dGUgcG9zaXRpb24gMTAuMDAgNjM0LjY3KQorICAgICAgICAgIChib3VuZHMgMTAwLjAwIDU0OC4w
MCkKICAgICAgICAgICAodXNpbmdUaWxlZExheWVyIDEpCiAgICAgICAgICAgKGNvbnRlbnRzT3Bh
cXVlIDEpCiAgICAgICAgICAgKGRyYXdzQ29udGVudCAxKQotICAgICAgICAgICh2aXNpYmxlIHJl
Y3QgMC4wMCwgMzc4LjY2IDk2LjY3IHggMTg5LjMzKQotICAgICAgICAgIChjb3ZlcmFnZSByZWN0
IC0xMC4wMCwgMzM1Ljk5IDE5Mi4wMCB4IDI3NC42NykKKyAgICAgICAgICAodmlzaWJsZSByZWN0
IDAuMDAsIDM2NS4zMyA5Ni42NyB4IDE4Mi42NykKKyAgICAgICAgICAoY292ZXJhZ2UgcmVjdCAt
MTAuMDAsIDMyMi42NiAxOTIuMDAgeCAyNjguMDApCiAgICAgICAgICAgKGludGVyc2VjdHMgY292
ZXJhZ2UgcmVjdCAxKQogICAgICAgICAgIChjb250ZW50c1NjYWxlIDYuMDApCiAgICAgICAgICkK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Njcm9sbGluZ2Nvb3JkaW5hdG9yL2lvcy91aS1zY3Jv
bGxpbmctdHJlZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zY3JvbGxpbmdjb29yZGluYXRv
ci9pb3MvdWktc2Nyb2xsaW5nLXRyZWUtZXhwZWN0ZWQudHh0CmluZGV4IDMyZDdlMWU5ZTNjMDI1
NmJkZjhkM2ZjYTVkN2E2MzQwYTNlZmY1ODEuLmYwNmY5NDZlODQyZDJjMzViZmMyNDYxMzFlYjdl
OWFlMmIyMDA0ZDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3Njcm9sbGluZ2Nvb3JkaW5hdG9y
L2lvcy91aS1zY3JvbGxpbmctdHJlZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc2Ny
b2xsaW5nY29vcmRpbmF0b3IvaW9zL3VpLXNjcm9sbGluZy10cmVlLWV4cGVjdGVkLnR4dApAQCAt
MSwxMiArMSwxMiBAQAogCiAoc2Nyb2xsaW5nIHRyZWUKICAgKGZyYW1lIHNjcm9sbGluZyBub2Rl
Ci0gICAgKGxheW91dCB2aWV3cG9ydCAoMCwwKSB3aWR0aD0zMjAgaGVpZ2h0PTU2OCkKKyAgICAo
bGF5b3V0IHZpZXdwb3J0ICgwLDApIHdpZHRoPTMyMCBoZWlnaHQ9NTQ4KQogICAgIChtaW4gbGF5
b3V0Vmlld3BvcnQgb3JpZ2luICgwLDApKQotICAgIChtYXggbGF5b3V0Vmlld3BvcnQgb3JpZ2lu
ICg5ODgsMTQ1MykpCisgICAgKG1heCBsYXlvdXRWaWV3cG9ydCBvcmlnaW4gKDk4OCwxNDczKSkK
ICAgICAoYmVoYXZpb3IgZm9yIGZpeGVkIDApCiAgICAgKGZpeGVkIG5vZGUKICAgICAgIChmaXhl
ZCBjb25zdHJhaW50cyAKLSAgICAgICAgKHZpZXdwb3J0LXJlY3QtYXQtbGFzdC1sYXlvdXQgKDAs
MCkgd2lkdGg9MzIwIGhlaWdodD01NjgpCisgICAgICAgICh2aWV3cG9ydC1yZWN0LWF0LWxhc3Qt
bGF5b3V0ICgwLDApIHdpZHRoPTMyMCBoZWlnaHQ9NTQ4KQogICAgICAgICAobGF5ZXItcG9zaXRp
b24tYXQtbGFzdC1sYXlvdXQgKDEyLDEwKSkpCiAgICAgICAobGF5ZXIgdG9wIGxlZnQgKDEyLDEw
KSkpKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>297426</attachid>
            <date>2016-12-17 23:45:46 -0800</date>
            <delta_ts>2016-12-17 23:46:04 -0800</delta_ts>
            <desc>Fix iOS testing.</desc>
            <filename>bug-165983-20161217234449.patch</filename>
            <type>text/plain</type>
            <size>9119</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA5OTcwCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggY2Q0ZTE4NjJlMDA1ZGVjNDk2NDE4OGJmZmM5ZjIzZDk2
OGM2OWY4OC4uZjQ1MTBmNDYyYjBjOTlkZmI5NDI2N2FiMTdlZmVlOTRhNGExZDE1OSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMw
IEBACisyMDE2LTEyLTE3ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgor
CisgICAgICAgIEZpeCBpT1MgdGVzdCByZXN1bHRzIGFmdGVyIHIyMDk5NjcuCisgICAgICAgIAor
ICAgICAgICBTdWJ0cmFjdGluZyBvdXQgdGhlIHN0YXR1cyBiYXIgaGVpZ2h0IHdhcyBlcnJvbmVv
dXNseSBoYXBwZW5pbmcgZm9yIGFsbCB0ZXN0cywKKyAgICAgICAgbm90IGp1c3QgZm9yIGZsZXhp
YmxlIHZpZXdwb3J0IHRlc3RzLgorICAgICAgICAKKyAgICAgICAgRml4IGJ5IHBsdW1iaW5nIFdl
YlZpZXdTaXppbmdNb2RlIHRocm91Z2ggcmVzaXplVG8oKSBhbmQgc2V0V2luZG93RnJhbWUoKS4K
KworICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvUGxhdGZvcm1XZWJWaWV3Lmg6CisgICAgICAg
ICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXVFI6OlRl
c3RDb250cm9sbGVyOjpyZXNldFN0YXRlVG9Db25zaXN0ZW50VmFsdWVzKToKKyAgICAgICAgKiBX
ZWJLaXRUZXN0UnVubmVyL2VmbC9QbGF0Zm9ybVdlYlZpZXdFZmwuY3BwOgorICAgICAgICAoV1RS
OjpQbGF0Zm9ybVdlYlZpZXc6OnJlc2l6ZVRvKToKKyAgICAgICAgKFdUUjo6UGxhdGZvcm1XZWJW
aWV3OjpzZXRXaW5kb3dGcmFtZSk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9ndGsvUGxh
dGZvcm1XZWJWaWV3R3RrLmNwcDoKKyAgICAgICAgKFdUUjo6UGxhdGZvcm1XZWJWaWV3OjpyZXNp
emVUbyk6CisgICAgICAgIChXVFI6OlBsYXRmb3JtV2ViVmlldzo6c2V0V2luZG93RnJhbWUpOgor
ICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvaW9zL1BsYXRmb3JtV2ViVmlld0lPUy5tbToKKyAg
ICAgICAgKFdUUjo6UGxhdGZvcm1XZWJWaWV3OjpyZXNpemVUbyk6CisgICAgICAgIChXVFI6OlBs
YXRmb3JtV2ViVmlldzo6c2V0V2luZG93RnJhbWUpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5u
ZXIvaW9zL1Rlc3RDb250cm9sbGVySU9TLm1tOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxl
cjo6cGxhdGZvcm1Db25maWd1cmVWaWV3Rm9yVGVzdCk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1
bm5lci9tYWMvUGxhdGZvcm1XZWJWaWV3TWFjLm1tOgorICAgICAgICAoV1RSOjpQbGF0Zm9ybVdl
YlZpZXc6OnJlc2l6ZVRvKToKKyAgICAgICAgKFdUUjo6UGxhdGZvcm1XZWJWaWV3OjpzZXRXaW5k
b3dGcmFtZSk6CisKIDIwMTYtMTItMTcgIEpvb25naHVuIFBhcmsgIDxqaDcxOC5wYXJrQHNhbXN1
bmcuY29tPgogCiAgICAgICAgIFtFRkxdIGJ1bXAgRUZMIHZlcnNpb24gdG8gMS4xOC40CmRpZmYg
LS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1BsYXRmb3JtV2ViVmlldy5oIGIvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9QbGF0Zm9ybVdlYlZpZXcuaAppbmRleCA4YjM2MGE5ZTM0YWQ4NzY5
Y2VjYjUzNmIxOGIyZDg3NTI3YTVjMWM0Li4yYWViMTIzNzYyMmRiMmI3MjYxOGVlNjY0ODQ0NzIw
MzA2NTE0NzUyIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1BsYXRmb3JtV2Vi
Vmlldy5oCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvUGxhdGZvcm1XZWJWaWV3LmgKQEAg
LTY3LDExICs2NywxNyBAQCBwdWJsaWM6CiAgICAgUGxhdGZvcm1XS1ZpZXcgcGxhdGZvcm1WaWV3
KCkgeyByZXR1cm4gbV92aWV3OyB9CiAgICAgUGxhdGZvcm1XaW5kb3cgcGxhdGZvcm1XaW5kb3co
KSB7IHJldHVybiBtX3dpbmRvdzsgfQogICAgIHN0YXRpYyBQbGF0Zm9ybVdpbmRvdyBrZXlXaW5k
b3coKTsKLSAgICB2b2lkIHJlc2l6ZVRvKHVuc2lnbmVkIHdpZHRoLCB1bnNpZ25lZCBoZWlnaHQp
OworCisgICAgZW51bSBjbGFzcyBXZWJWaWV3U2l6aW5nTW9kZSB7CisgICAgICAgIERlZmF1bHQs
CisgICAgICAgIEhlaWdodFJlc3BlY3RzU3RhdHVzQmFyCisgICAgfTsKKworICAgIHZvaWQgcmVz
aXplVG8odW5zaWduZWQgd2lkdGgsIHVuc2lnbmVkIGhlaWdodCwgV2ViVmlld1NpemluZ01vZGUg
PSBXZWJWaWV3U2l6aW5nTW9kZTo6RGVmYXVsdCk7CiAgICAgdm9pZCBmb2N1cygpOwogCiAgICAg
V0tSZWN0IHdpbmRvd0ZyYW1lKCk7Ci0gICAgdm9pZCBzZXRXaW5kb3dGcmFtZShXS1JlY3QpOwor
ICAgIHZvaWQgc2V0V2luZG93RnJhbWUoV0tSZWN0LCBXZWJWaWV3U2l6aW5nTW9kZSA9IFdlYlZp
ZXdTaXppbmdNb2RlOjpEZWZhdWx0KTsKIAogICAgIHZvaWQgZGlkSW5pdGlhbGl6ZUNsaWVudHMo
KTsKICAgICAKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xs
ZXIuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKaW5kZXgg
ZmI1OGI1N2ZjM2U5OGExMDFhYTBjMjVlZGZkMzMwMDk5ZmVjNTZhMi4uYTlhYTUyNjE3NWQ5ZjRj
YWEwOTc0ODRiMTRlNjc0Mjg0Y2JhYWZlZCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9UZXN0Q29udHJvbGxlci5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0
Q29udHJvbGxlci5jcHAKQEAgLTc2Miw3ICs3NjIsNyBAQCBib29sIFRlc3RDb250cm9sbGVyOjpy
ZXNldFN0YXRlVG9Db25zaXN0ZW50VmFsdWVzKGNvbnN0IFRlc3RPcHRpb25zJiBvcHRpb25zKQog
ICAgIFdLUGFnZUNsZWFyV2hlZWxFdmVudFRlc3RUcmlnZ2VyKG1fbWFpbldlYlZpZXctPnBhZ2Uo
KSk7CiAKICNpZiBQTEFURk9STShFRkwpCi0gICAgLy8gRUZMIHVzZSBhIHJlYWwgd2luZG93IHdo
aWxlIG90aGVyIHBvcnRzIHN1Y2ggYXMgUXQgZG9uJ3QuCisgICAgLy8gRUZMIHVzZXMgYSByZWFs
IHdpbmRvdyB3aGlsZSBvdGhlciBwb3J0cyBzdWNoIGFzIFF0IGRvbid0LgogICAgIC8vIEluIEVG
TCwgd2UgbmVlZCB0byByZXNpemUgdGhlIHdpbmRvdyB0byB0aGUgb3JpZ2luYWwgc2l6ZSBhZnRl
ciBjYWxscyB0byB3aW5kb3cucmVzaXplVG8uCiAgICAgV0tSZWN0IHJlY3QgPSBtX21haW5XZWJW
aWV3LT53aW5kb3dGcmFtZSgpOwogICAgIG1fbWFpbldlYlZpZXctPnNldFdpbmRvd0ZyYW1lKFdL
UmVjdE1ha2UocmVjdC5vcmlnaW4ueCwgcmVjdC5vcmlnaW4ueSwgVGVzdENvbnRyb2xsZXI6OnZp
ZXdXaWR0aCwgVGVzdENvbnRyb2xsZXI6OnZpZXdIZWlnaHQpKTsKZGlmZiAtLWdpdCBhL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvZWZsL1BsYXRmb3JtV2ViVmlld0VmbC5jcHAgYi9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL2VmbC9QbGF0Zm9ybVdlYlZpZXdFZmwuY3BwCmluZGV4IDAyNzUxMTg3MzE0
OGMxMzg1ZDlkYjgxMDUyYWRkYzViYTc4ZWU2YzAuLjdmZDRhMmI3YWNjZjUyOWQ1ZTQ1YjMyZjdj
YTE5MmFiNTAzZjQ5MzEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvZWZsL1Bs
YXRmb3JtV2ViVmlld0VmbC5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9lZmwvUGxh
dGZvcm1XZWJWaWV3RWZsLmNwcApAQCAtODUsNyArODUsNyBAQCB2b2lkIFBsYXRmb3JtV2ViVmll
dzo6c2V0V2luZG93SXNLZXkoYm9vbCBpc0tleSkKICAgICBtX3dpbmRvd0lzS2V5ID0gaXNLZXk7
CiB9CiAKLXZvaWQgUGxhdGZvcm1XZWJWaWV3OjpyZXNpemVUbyh1bnNpZ25lZCB3aWR0aCwgdW5z
aWduZWQgaGVpZ2h0KQordm9pZCBQbGF0Zm9ybVdlYlZpZXc6OnJlc2l6ZVRvKHVuc2lnbmVkIHdp
ZHRoLCB1bnNpZ25lZCBoZWlnaHQsIFdlYlZpZXdTaXppbmdNb2RlKQogewogICAgIC8vIEZJWE1F
OiBEb24ndCB3ZSBuZWVkIHRvIHJlc2l6ZSB0aGUgd2luZG93IHRvbz8KICAgICBldmFzX29iamVj
dF9yZXNpemUobV92aWV3LCB3aWR0aCwgaGVpZ2h0KTsKQEAgLTExNSw3ICsxMTUsNyBAQCBXS1Jl
Y3QgUGxhdGZvcm1XZWJWaWV3Ojp3aW5kb3dGcmFtZSgpCiAgICAgcmV0dXJuIFdLUmVjdE1ha2Uo
eCwgeSwgd2lkdGgsIGhlaWdodCk7CiB9CiAKLXZvaWQgUGxhdGZvcm1XZWJWaWV3OjpzZXRXaW5k
b3dGcmFtZShXS1JlY3QgZnJhbWUpCit2b2lkIFBsYXRmb3JtV2ViVmlldzo6c2V0V2luZG93RnJh
bWUoV0tSZWN0IGZyYW1lLCBXZWJWaWV3U2l6aW5nTW9kZSkKIHsKICAgICBlY29yZV9ldmFzX21v
dmVfcmVzaXplKG1fd2luZG93LCBmcmFtZS5vcmlnaW4ueCwgZnJhbWUub3JpZ2luLnksIGZyYW1l
LnNpemUud2lkdGgsIGZyYW1lLnNpemUuaGVpZ2h0KTsKICAgICBldmFzX29iamVjdF9yZXNpemUo
bV92aWV3LCBmcmFtZS5zaXplLndpZHRoLCBmcmFtZS5zaXplLmhlaWdodCk7CmRpZmYgLS1naXQg
YS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2d0ay9QbGF0Zm9ybVdlYlZpZXdHdGsuY3BwIGIvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9ndGsvUGxhdGZvcm1XZWJWaWV3R3RrLmNwcAppbmRleCBiZWNi
MTcwNWQzNzRhY2RjZGU3ZWRiYmFhYjhlZmQyZDI0Mzc5NWRlLi5lOTBhM2RkNDU1YWY5ZjdkZDYw
YzUzZTFjOTQwMTZhZDQ1ZTdjY2UwIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L2d0ay9QbGF0Zm9ybVdlYlZpZXdHdGsuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
Z3RrL1BsYXRmb3JtV2ViVmlld0d0ay5jcHAKQEAgLTY0LDEyICs2NCwxMiBAQCB2b2lkIFBsYXRm
b3JtV2ViVmlldzo6c2V0V2luZG93SXNLZXkoYm9vbCBpc0tleSkKICAgICBtX3dpbmRvd0lzS2V5
ID0gaXNLZXk7CiB9CiAKLXZvaWQgUGxhdGZvcm1XZWJWaWV3OjpyZXNpemVUbyh1bnNpZ25lZCB3
aWR0aCwgdW5zaWduZWQgaGVpZ2h0KQordm9pZCBQbGF0Zm9ybVdlYlZpZXc6OnJlc2l6ZVRvKHVu
c2lnbmVkIHdpZHRoLCB1bnNpZ25lZCBoZWlnaHQsIFdlYlZpZXdTaXppbmdNb2RlIHNpemluZ01v
ZGUpCiB7CiAgICAgV0tSZWN0IGZyYW1lID0gd2luZG93RnJhbWUoKTsKICAgICBmcmFtZS5zaXpl
LndpZHRoID0gd2lkdGg7CiAgICAgZnJhbWUuc2l6ZS5oZWlnaHQgPSBoZWlnaHQ7Ci0gICAgc2V0
V2luZG93RnJhbWUoZnJhbWUpOworICAgIHNldFdpbmRvd0ZyYW1lKGZyYW1lLCBzaXppbmdNb2Rl
KTsKIH0KIAogV0tQYWdlUmVmIFBsYXRmb3JtV2ViVmlldzo6cGFnZSgpCkBAIC05Nyw3ICs5Nyw3
IEBAIFdLUmVjdCBQbGF0Zm9ybVdlYlZpZXc6OndpbmRvd0ZyYW1lKCkKICAgICByZXR1cm4gZnJh
bWU7CiB9CiAKLXZvaWQgUGxhdGZvcm1XZWJWaWV3OjpzZXRXaW5kb3dGcmFtZShXS1JlY3QgZnJh
bWUpCit2b2lkIFBsYXRmb3JtV2ViVmlldzo6c2V0V2luZG93RnJhbWUoV0tSZWN0IGZyYW1lLCBX
ZWJWaWV3U2l6aW5nTW9kZSkKIHsKICAgICBnZGtfd2luZG93X21vdmVfcmVzaXplKGd0a193aWRn
ZXRfZ2V0X3dpbmRvdyhHVEtfV0lER0VUKG1fd2luZG93KSksCiAgICAgICAgIGZyYW1lLm9yaWdp
bi54LCBmcmFtZS5vcmlnaW4ueSwgZnJhbWUuc2l6ZS53aWR0aCwgZnJhbWUuc2l6ZS5oZWlnaHQp
OwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvUGxhdGZvcm1XZWJWaWV3
SU9TLm1tIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvUGxhdGZvcm1XZWJWaWV3SU9TLm1t
CmluZGV4IDlhZDdmNTNhYTJlMDFlOTYwNzhlOGVkZGEyMWJkMjI2ZjhlNWFmZDIuLmYwOTBmNjcz
MmIyNjI4MDE4NTk5YzMzYTU3NGQ5MGZhZjQ4MDkwYTEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvaW9zL1BsYXRmb3JtV2ViVmlld0lPUy5tbQorKysgYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL2lvcy9QbGF0Zm9ybVdlYlZpZXdJT1MubW0KQEAgLTE2NiwxMiArMTY2LDEyIEBA
IHZvaWQgUGxhdGZvcm1XZWJWaWV3OjpzZXRXaW5kb3dJc0tleShib29sIGlzS2V5KQogICAgICAg
ICBbbV93aW5kb3cgbWFrZUtleVdpbmRvd107CiB9CiAKLXZvaWQgUGxhdGZvcm1XZWJWaWV3Ojpy
ZXNpemVUbyh1bnNpZ25lZCB3aWR0aCwgdW5zaWduZWQgaGVpZ2h0KQordm9pZCBQbGF0Zm9ybVdl
YlZpZXc6OnJlc2l6ZVRvKHVuc2lnbmVkIHdpZHRoLCB1bnNpZ25lZCBoZWlnaHQsIFdlYlZpZXdT
aXppbmdNb2RlIHZpZXdTaXppbmdNb2RlKQogewogICAgIFdLUmVjdCBmcmFtZSA9IHdpbmRvd0Zy
YW1lKCk7CiAgICAgZnJhbWUuc2l6ZS53aWR0aCA9IHdpZHRoOwogICAgIGZyYW1lLnNpemUuaGVp
Z2h0ID0gaGVpZ2h0OwotICAgIHNldFdpbmRvd0ZyYW1lKGZyYW1lKTsKKyAgICBzZXRXaW5kb3dG
cmFtZShmcmFtZSwgdmlld1NpemluZ01vZGUpOwogfQogCiBXS1BhZ2VSZWYgUGxhdGZvcm1XZWJW
aWV3OjpwYWdlKCkKQEAgLTE5NywxMCArMTk3LDEwIEBAIFdLUmVjdCBQbGF0Zm9ybVdlYlZpZXc6
OndpbmRvd0ZyYW1lKCkKICAgICByZXR1cm4gd2tGcmFtZTsKIH0KIAotdm9pZCBQbGF0Zm9ybVdl
YlZpZXc6OnNldFdpbmRvd0ZyYW1lKFdLUmVjdCBmcmFtZSkKK3ZvaWQgUGxhdGZvcm1XZWJWaWV3
OjpzZXRXaW5kb3dGcmFtZShXS1JlY3QgZnJhbWUsIFdlYlZpZXdTaXppbmdNb2RlIHZpZXdTaXpp
bmdNb2RlKQogewogICAgIFttX3dpbmRvdyBzZXRGcmFtZTpDR1JlY3RNYWtlKGZyYW1lLm9yaWdp
bi54LCBmcmFtZS5vcmlnaW4ueSwgZnJhbWUuc2l6ZS53aWR0aCwgZnJhbWUuc2l6ZS5oZWlnaHQp
XTsKLSAgICBbcGxhdGZvcm1WaWV3KCkgc2V0RnJhbWU6dmlld1JlY3RGb3JXaW5kb3dSZWN0KENH
UmVjdE1ha2UoMCwgMCwgZnJhbWUuc2l6ZS53aWR0aCwgZnJhbWUuc2l6ZS5oZWlnaHQpLCBXZWJW
aWV3U2l6aW5nTW9kZTo6SGVpZ2h0UmVzcGVjdHNTdGF0dXNCYXIpXTsKKyAgICBbcGxhdGZvcm1W
aWV3KCkgc2V0RnJhbWU6dmlld1JlY3RGb3JXaW5kb3dSZWN0KENHUmVjdE1ha2UoMCwgMCwgZnJh
bWUuc2l6ZS53aWR0aCwgZnJhbWUuc2l6ZS5oZWlnaHQpLCB2aWV3U2l6aW5nTW9kZSldOwogfQog
CiB2b2lkIFBsYXRmb3JtV2ViVmlldzo6ZGlkSW5pdGlhbGl6ZUNsaWVudHMoKQpkaWZmIC0tZ2l0
IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvVGVzdENvbnRyb2xsZXJJT1MubW0gYi9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL2lvcy9UZXN0Q29udHJvbGxlcklPUy5tbQppbmRleCBkODVhNmQ3
N2E0MTk5MzFkYmRjZWMyYTBmYTg5MmE2NDc1ZGEwYTI0Li5iNzQxNDM2OTIzMmQ5YWQwZGJhMDVh
MDhjNjBiNGQzZDFiMzc4NmM2IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lv
cy9UZXN0Q29udHJvbGxlcklPUy5tbQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9U
ZXN0Q29udHJvbGxlcklPUy5tbQpAQCAtOTcsNyArOTcsNyBAQCB2b2lkIFRlc3RDb250cm9sbGVy
OjpwbGF0Zm9ybUNvbmZpZ3VyZVZpZXdGb3JUZXN0KGNvbnN0IFRlc3RJbnZvY2F0aW9uJiB0ZXN0
KQogewogICAgIGlmICh0ZXN0Lm9wdGlvbnMoKS51c2VGbGV4aWJsZVZpZXdwb3J0KSB7CiAgICAg
ICAgIENHUmVjdCBzY3JlZW5Cb3VuZHMgPSBbVUlTY3JlZW4gbWFpblNjcmVlbl0uYm91bmRzOwot
ICAgICAgICBtYWluV2ViVmlldygpLT5yZXNpemVUbyhzY3JlZW5Cb3VuZHMuc2l6ZS53aWR0aCwg
c2NyZWVuQm91bmRzLnNpemUuaGVpZ2h0KTsKKyAgICAgICAgbWFpbldlYlZpZXcoKS0+cmVzaXpl
VG8oc2NyZWVuQm91bmRzLnNpemUud2lkdGgsIHNjcmVlbkJvdW5kcy5zaXplLmhlaWdodCwgdHJ1
ZSk7CiAgICAgICAgIC8vIFdlIGFsc28gcGFzcyBkYXRhIHRvIEluamVjdGVkQnVuZGxlOjpiZWdp
blRlc3RpbmcoKSB0byBoYXZlIGl0IGNhbGwKICAgICAgICAgLy8gV0tCdW5kbGVQYWdlU2V0VXNl
VGVzdGluZ1ZpZXdwb3J0Q29uZmlndXJhdGlvbihmYWxzZSkuCiAgICAgfQpkaWZmIC0tZ2l0IGEv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9tYWMvUGxhdGZvcm1XZWJWaWV3TWFjLm1tIGIvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9tYWMvUGxhdGZvcm1XZWJWaWV3TWFjLm1tCmluZGV4IGY5OGQzMTZl
Mjc0OGU2MWM3NmIyM2E1OTQyMTU1MzI1MGY1MThhODQuLmMyYjI3OGNjNGZkNWQ0MTcyNGZjNWQw
OGRhODgxODAzNTc2NTZhODAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvbWFj
L1BsYXRmb3JtV2ViVmlld01hYy5tbQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL21hYy9Q
bGF0Zm9ybVdlYlZpZXdNYWMubW0KQEAgLTE2NCwxMiArMTY0LDEyIEBAIHZvaWQgUGxhdGZvcm1X
ZWJWaWV3OjpzZXRXaW5kb3dJc0tleShib29sIGlzS2V5KQogICAgIG1fd2luZG93SXNLZXkgPSBp
c0tleTsKIH0KIAotdm9pZCBQbGF0Zm9ybVdlYlZpZXc6OnJlc2l6ZVRvKHVuc2lnbmVkIHdpZHRo
LCB1bnNpZ25lZCBoZWlnaHQpCit2b2lkIFBsYXRmb3JtV2ViVmlldzo6cmVzaXplVG8odW5zaWdu
ZWQgd2lkdGgsIHVuc2lnbmVkIGhlaWdodCwgV2ViVmlld1NpemluZ01vZGUgc2l6aW5nTW9kZSkK
IHsKICAgICBXS1JlY3QgZnJhbWUgPSB3aW5kb3dGcmFtZSgpOwogICAgIGZyYW1lLnNpemUud2lk
dGggPSB3aWR0aDsKICAgICBmcmFtZS5zaXplLmhlaWdodCA9IGhlaWdodDsKLSAgICBzZXRXaW5k
b3dGcmFtZShmcmFtZSk7CisgICAgc2V0V2luZG93RnJhbWUoZnJhbWUsIHNpemluZ01vZGUpOwog
fQogCiBQbGF0Zm9ybVdlYlZpZXc6On5QbGF0Zm9ybVdlYlZpZXcoKQpAQCAtMjE5LDcgKzIxOSw3
IEBAIFdLUmVjdCBQbGF0Zm9ybVdlYlZpZXc6OndpbmRvd0ZyYW1lKCkKICAgICByZXR1cm4gd2tG
cmFtZTsKIH0KIAotdm9pZCBQbGF0Zm9ybVdlYlZpZXc6OnNldFdpbmRvd0ZyYW1lKFdLUmVjdCBm
cmFtZSkKK3ZvaWQgUGxhdGZvcm1XZWJWaWV3OjpzZXRXaW5kb3dGcmFtZShXS1JlY3QgZnJhbWUs
IFdlYlZpZXdTaXppbmdNb2RlKQogewogICAgIFttX3dpbmRvdyBzZXRGcmFtZTpOU01ha2VSZWN0
KGZyYW1lLm9yaWdpbi54LCBmcmFtZS5vcmlnaW4ueSwgZnJhbWUuc2l6ZS53aWR0aCwgZnJhbWUu
c2l6ZS5oZWlnaHQpIGRpc3BsYXk6WUVTXTsKICAgICBbcGxhdGZvcm1WaWV3KCkgc2V0RnJhbWU6
TlNNYWtlUmVjdCgwLCAwLCBmcmFtZS5zaXplLndpZHRoLCBmcmFtZS5zaXplLmhlaWdodCldOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>