<?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>176857</bug_id>
          
          <creation_ts>2017-09-13 10:41:55 -0700</creation_ts>
          <short_desc>Add WKUIDelegatePrivate equivalent of WKPageUIClient&apos;s setIsResizable, getWindowFrame, and setWindowFrame</short_desc>
          <delta_ts>2022-09-07 08:28:20 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>berto</cc>
    
    <cc>buildbot</cc>
    
    <cc>cgarcia</cc>
    
    <cc>gustavo</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>thisiskatewinslet</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1348349</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-09-13 10:41:55 -0700</bug_when>
    <thetext>Add WKUIDelegatePrivate equivalent of WKPageUIClient&apos;s setIsResizable, getWindowFrame, and setWindowFrame</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1348351</commentid>
    <comment_count>1</comment_count>
      <attachid>320657</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-09-13 10:43:45 -0700</bug_when>
    <thetext>Created attachment 320657
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1348352</commentid>
    <comment_count>2</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-09-13 10:45:36 -0700</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1348380</commentid>
    <comment_count>3</comment_count>
      <attachid>320657</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2017-09-13 11:13:46 -0700</bug_when>
    <thetext>Comment on attachment 320657
Patch

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

&gt; Source/WebKit/UIProcess/API/Cocoa/WKUIDelegatePrivate.h:167
&gt; +- (void)_webView:(WKWebView *)webView setIsResizable:(BOOL)isResizable WK_API_AVAILABLE(macosx(WK_MAC_TBA));

This should likely be setResizeable, or possibly a didChange?, or something that someone smarter might suggest. &quot;is&quot; is for getters in Cocoaland.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1348402</commentid>
    <comment_count>4</comment_count>
      <attachid>320665</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-09-13 11:36:31 -0700</bug_when>
    <thetext>Created attachment 320665
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1348405</commentid>
    <comment_count>5</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-09-13 11:38:25 -0700</bug_when>
    <thetext>http://trac.webkit.org/r221982</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1353440</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-09-27 12:30:58 -0700</bug_when>
    <thetext>&lt;rdar://problem/34693412&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>320657</attachid>
            <date>2017-09-13 10:43:45 -0700</date>
            <delta_ts>2017-09-13 11:36:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-176857-20170913104344.patch</filename>
            <type>text/plain</type>
            <size>18152</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMjE5MjIpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBACisyMDE3LTA5LTEzICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQWRkIFdLVUlEZWxl
Z2F0ZVByaXZhdGUgZXF1aXZhbGVudCBvZiBXS1BhZ2VVSUNsaWVudCdzIHNldElzUmVzaXphYmxl
LCBnZXRXaW5kb3dGcmFtZSwgYW5kIHNldFdpbmRvd0ZyYW1lCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzY4NTcKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBpc1Jlc2l6YWJsZSBpcyB1bnJlYWNoYWJsZSBj
b2RlIGJlY2F1c2Ugbm90aGluZyBzZW5kcyBNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpHZXRJc1Jl
c2l6YWJsZSwgc28gSSByZW1vdmVkIGl0LgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9BUElV
SUNsaWVudC5oOgorICAgICAgICAoQVBJOjpVSUNsaWVudDo6c2V0U3RhdHVzQmFySXNWaXNpYmxl
KToKKyAgICAgICAgKEFQSTo6VUlDbGllbnQ6OmlzUmVzaXphYmxlKTogRGVsZXRlZC4KKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcDoKKyAgICAgICAgKFdLUGFnZVNldFBhZ2VV
SUNsaWVudCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2
YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFVJQ2xpZW50LmNwcDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5oOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tOgorICAgICAgICAoV2ViS2l0OjpVSURlbGVnYXRlOjpz
ZXREZWxlZ2F0ZSk6CisgICAgICAgIChXZWJLaXQ6OlVJRGVsZWdhdGU6OlVJQ2xpZW50OjpzZXRJ
c1Jlc2l6YWJsZSk6CisgICAgICAgIChXZWJLaXQ6OlVJRGVsZWdhdGU6OlVJQ2xpZW50OjpzZXRX
aW5kb3dGcmFtZSk6CisgICAgICAgIChXZWJLaXQ6OlVJRGVsZWdhdGU6OlVJQ2xpZW50Ojp3aW5k
b3dGcmFtZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6Z2V0SXNSZXNpemFibGUpOiBEZWxldGVkLgorICAgICAg
ICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFn
ZVByb3h5Lm1lc3NhZ2VzLmluOgorCiAyMDE3LTA5LTEyICBBbGV4IENocmlzdGVuc2VuICA8YWNo
cmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQWRkIFdLVUlEZWxlZ2F0ZVByaXZhdGUg
ZXF1aXZhbGVudCBvZiBXS1BhZ2VVSUNsaWVudCdzIHJ1bk1vZGFsCkluZGV4OiBTb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAJKHJldmlzaW9uIDIyMTkyMikKKysrIFNvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQw
OTIsMTMgKzQwOTIsNiBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6c2V0SXNSZXNpemFibGUoYm9vbCBp
CiAgICAgbV91aUNsaWVudC0+c2V0SXNSZXNpemFibGUoKnRoaXMsIGlzUmVzaXphYmxlKTsKIH0K
IAotdm9pZCBXZWJQYWdlUHJveHk6OmdldElzUmVzaXphYmxlKFJlZjxNZXNzYWdlczo6V2ViUGFn
ZVByb3h5OjpHZXRJc1Jlc2l6YWJsZTo6RGVsYXllZFJlcGx5PiYmIHJlcGx5KQotewotICAgIG1f
dWlDbGllbnQtPmlzUmVzaXphYmxlKCp0aGlzLCBbcmVwbHkgPSBXVEZNb3ZlKHJlcGx5KV0gKGJv
b2wgcmVzaXphYmxlKSB7Ci0gICAgICAgIHJlcGx5LT5zZW5kKHJlc2l6YWJsZSk7Ci0gICAgfSk7
Ci19Ci0KIHZvaWQgV2ViUGFnZVByb3h5OjpzZXRXaW5kb3dGcmFtZShjb25zdCBGbG9hdFJlY3Qm
IG5ld1dpbmRvd0ZyYW1lKQogewogICAgIG1fdWlDbGllbnQtPnNldFdpbmRvd0ZyYW1lKCp0aGlz
LCBtX3BhZ2VDbGllbnQuY29udmVydFRvRGV2aWNlU3BhY2UobmV3V2luZG93RnJhbWUpKTsKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCShyZXZpc2lvbiAyMjE5MDcp
CisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAkod29ya2luZyBjb3B5
KQpAQCAtMTMxNSw3ICsxMzE1LDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIHNldFN0YXR1c0Jhcklz
VmlzaWJsZShib29sIHN0YXR1c0JhcklzVmlzaWJsZSk7CiAgICAgdm9pZCBnZXRTdGF0dXNCYXJJ
c1Zpc2libGUoUmVmPE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkdldFN0YXR1c0JhcklzVmlzaWJs
ZTo6RGVsYXllZFJlcGx5PiYmKTsKICAgICB2b2lkIHNldElzUmVzaXphYmxlKGJvb2wgaXNSZXNp
emFibGUpOwotICAgIHZvaWQgZ2V0SXNSZXNpemFibGUoUmVmPE1lc3NhZ2VzOjpXZWJQYWdlUHJv
eHk6OkdldElzUmVzaXphYmxlOjpEZWxheWVkUmVwbHk+JiYpOwogICAgIHZvaWQgc2NyZWVuVG9S
b290Vmlldyhjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgc2NyZWVuUG9pbnQsIFJlZjxNZXNzYWdl
czo6V2ViUGFnZVByb3h5OjpTY3JlZW5Ub1Jvb3RWaWV3OjpEZWxheWVkUmVwbHk+JiYpOwogICAg
IHZvaWQgcm9vdFZpZXdUb1NjcmVlbihjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiB2aWV3UmVjdCwg
UmVmPE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlJvb3RWaWV3VG9TY3JlZW46OkRlbGF5ZWRSZXBs
eT4mJik7CiAjaWYgUExBVEZPUk0oSU9TKQpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgkocmV2aXNpb24gMjIxOTA3KQorKysgU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCSh3b3JraW5nIGNv
cHkpCkBAIC01Nyw3ICs1Nyw2IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAgICAgU2V0
U3RhdHVzQmFySXNWaXNpYmxlKGJvb2wgc3RhdHVzQmFySXNWaXNpYmxlKQogICAgIEdldFN0YXR1
c0JhcklzVmlzaWJsZSgpIC0+IChib29sIHN0YXR1c0JhcklzVmlzaWJsZSkgRGVsYXllZAogICAg
IFNldElzUmVzaXphYmxlKGJvb2wgaXNSZXNpemFibGUpCi0gICAgR2V0SXNSZXNpemFibGUoKSAt
PiAoYm9vbCBpc1Jlc2l6YWJsZSkgRGVsYXllZAogICAgIFNldFdpbmRvd0ZyYW1lKFdlYkNvcmU6
OkZsb2F0UmVjdCB3aW5kb3dGcmFtZSkKICAgICBHZXRXaW5kb3dGcmFtZSgpIC0+IChXZWJDb3Jl
OjpGbG9hdFJlY3Qgd2luZG93RnJhbWUpIERlbGF5ZWQKICAgICBTY3JlZW5Ub1Jvb3RWaWV3KFdl
YkNvcmU6OkludFBvaW50IHNjcmVlblBvaW50KSAtPiAoV2ViQ29yZTo6SW50UG9pbnQgd2luZG93
UG9pbnQpIERlbGF5ZWQKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElVSUNs
aWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElVSUNs
aWVudC5oCShyZXZpc2lvbiAyMjE5MjIpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
QVBJVUlDbGllbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMTAyLDcgKzEwMiw2IEBAIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIHZvaWQgc2V0TWVudUJhcklzVmlzaWJsZShXZWJLaXQ6OldlYlBhZ2VQcm94
eSYsIGJvb2wpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBzdGF0dXNCYXJJc1Zpc2libGUoV2ViS2l0
OjpXZWJQYWdlUHJveHkmLCBGdW5jdGlvbjx2b2lkKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVy
KSB7IGNvbXBsZXRpb25IYW5kbGVyKHRydWUpOyB9CiAgICAgdmlydHVhbCB2b2lkIHNldFN0YXR1
c0JhcklzVmlzaWJsZShXZWJLaXQ6OldlYlBhZ2VQcm94eSYsIGJvb2wpIHsgfQotICAgIHZpcnR1
YWwgdm9pZCBpc1Jlc2l6YWJsZShXZWJLaXQ6OldlYlBhZ2VQcm94eSYsIEZ1bmN0aW9uPHZvaWQo
Ym9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIpIHsgY29tcGxldGlvbkhhbmRsZXIodHJ1ZSk7IH0K
ICAgICB2aXJ0dWFsIHZvaWQgc2V0SXNSZXNpemFibGUoV2ViS2l0OjpXZWJQYWdlUHJveHkmLCBi
b29sKSB7IH0KIAogICAgIHZpcnR1YWwgdm9pZCBzZXRXaW5kb3dGcmFtZShXZWJLaXQ6OldlYlBh
Z2VQcm94eSYsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYpIHsgfQpJbmRleDogU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwCShyZXZpc2lvbiAyMjE5MjIpCisrKyBTb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
ODc0LDEzICsxODc0LDYgQEAgdm9pZCBXS1BhZ2VTZXRQYWdlVUlDbGllbnQoV0tQYWdlUmVmIHBh
ZwogICAgICAgICAgICAgbV9jbGllbnQuc2V0U3RhdHVzQmFySXNWaXNpYmxlKHRvQVBJKCZwYWdl
KSwgdmlzaWJsZSwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKTsKICAgICAgICAgfQogCi0gICAg
ICAgIHZvaWQgaXNSZXNpemFibGUoV2ViUGFnZVByb3h5JiBwYWdlLCBGdW5jdGlvbjx2b2lkKGJv
b2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKSBmaW5hbAotICAgICAgICB7Ci0gICAgICAgICAgICBp
ZiAoIW1fY2xpZW50LmlzUmVzaXphYmxlKQotICAgICAgICAgICAgICAgIHJldHVybiBjb21wbGV0
aW9uSGFuZGxlcih0cnVlKTsKLSAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKG1fY2xpZW50
LmlzUmVzaXphYmxlKHRvQVBJKCZwYWdlKSwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKSk7Ci0g
ICAgICAgIH0KLQogICAgICAgICB2b2lkIHNldElzUmVzaXphYmxlKFdlYlBhZ2VQcm94eSYgcGFn
ZSwgYm9vbCByZXNpemFibGUpIGZpbmFsCiAgICAgICAgIHsKICAgICAgICAgICAgIGlmICghbV9j
bGllbnQuc2V0SXNSZXNpemFibGUpCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tVSURlbGVnYXRlUHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2YXRlLmgJKHJldmlzaW9uIDIyMTky
MikKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2
YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTE2NCw2ICsxNjQsOSBAQCBzdHJ1Y3QgVUlFZGdlSW5z
ZXRzOwogLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyByZXF1ZXN0Tm90aWZp
Y2F0aW9uUGVybWlzc2lvbkZvclNlY3VyaXR5T3JpZ2luOihXS1NlY3VyaXR5T3JpZ2luICopc2Vj
dXJpdHlPcmlnaW4gZGVjaXNpb25IYW5kbGVyOih2b2lkICheKShCT09MKSlkZWNpc2lvbkhhbmRs
ZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSkpOwogLSAodm9pZClfd2ViVmll
dzooV0tXZWJWaWV3ICopd2VidmlldyBtb3VzZURpZE1vdmVPdmVyRWxlbWVudDooX1dLSGl0VGVz
dFJlc3VsdCAqKWhpdFRlc3RSZXN1bHQgd2l0aEZsYWdzOihOU0V2ZW50TW9kaWZpZXJGbGFncylm
bGFncyB1c2VySW5mbzooaWQgPE5TU2VjdXJlQ29kaW5nPil1c2VySW5mbzsKIC0gKHZvaWQpX3dl
YlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgZGlkRXhjZWVkQmFja2dyb3VuZFJlc291cmNlTGlt
aXRXaGlsZUluRm9yZWdyb3VuZDooX1dLUmVzb3VyY2VMaW1pdClsaW1pdCBXS19BUElfQVZBSUxB
QkxFKG1hY29zeChXS19NQUNfVEJBKSk7CistICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3
ZWJWaWV3IHNldElzUmVzaXphYmxlOihCT09MKWlzUmVzaXphYmxlIFdLX0FQSV9BVkFJTEFCTEUo
bWFjb3N4KFdLX01BQ19UQkEpKTsKKy0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZp
ZXcgZ2V0V2luZG93RnJhbWVXaXRoQ29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKENHUmVjdCkp
Y29tcGxldGlvbkhhbmRsZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSkpOwor
LSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBzZXRXaW5kb3dGcmFtZTooQ0dS
ZWN0KWZyYW1lIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpKTsKIC0gKHZvaWQp
X3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgdW5hdmFpbGFibGVQbHVnSW5CdXR0b25DbGlj
a2VkV2l0aFJlYXNvbjooX1dLUGx1Z0luVW5hdmFpbGFiaWxpdHlSZWFzb24pcmVhc29uIHBsdWdJ
bkluZm86KE5TRGljdGlvbmFyeSAqKXBsdWdJbkluZm87CiAtIChOU01lbnUgKilfd2ViVmlldzoo
V0tXZWJWaWV3ICopd2ViVmlldyBjb250ZXh0TWVudTooTlNNZW51ICopbWVudSBmb3JFbGVtZW50
OihfV0tDb250ZXh0TWVudUVsZW1lbnRJbmZvICopZWxlbWVudCBXS19BUElfQVZBSUxBQkxFKG1h
Y29zeCgxMC4xMikpOwogLSAoTlNNZW51ICopX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcg
Y29udGV4dE1lbnU6KE5TTWVudSAqKW1lbnUgZm9yRWxlbWVudDooX1dLQ29udGV4dE1lbnVFbGVt
ZW50SW5mbyAqKWVsZW1lbnQgdXNlckluZm86KGlkIDxOU1NlY3VyZUNvZGluZz4pdXNlckluZm8g
V0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTIpKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9nbGliL1dlYktpdFVJQ2xpZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRVSUNsaWVudC5jcHAJKHJldmlzaW9uIDIy
MTkyMikKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFVJQ2xpZW50
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTI3LDExICsxMjcsNiBAQCBwcml2YXRlOgogICAgICAg
ICB3ZWJraXRXaW5kb3dQcm9wZXJ0aWVzU2V0U3RhdHVzYmFyVmlzaWJsZSh3ZWJraXRfd2ViX3Zp
ZXdfZ2V0X3dpbmRvd19wcm9wZXJ0aWVzKG1fd2ViVmlldyksIHZpc2libGUpOwogICAgIH0KIAot
ICAgIHZvaWQgaXNSZXNpemFibGUoV2ViUGFnZVByb3h5JiwgRnVuY3Rpb248dm9pZChib29sKT4m
JiBjb21wbGV0aW9uSGFuZGxlcikgZmluYWwKLSAgICB7Ci0gICAgICAgIGNvbXBsZXRpb25IYW5k
bGVyKHdlYmtpdF93aW5kb3dfcHJvcGVydGllc19nZXRfcmVzaXphYmxlKHdlYmtpdF93ZWJfdmll
d19nZXRfd2luZG93X3Byb3BlcnRpZXMobV93ZWJWaWV3KSkpOwotICAgIH0KLQogICAgIHZvaWQg
c2V0SXNSZXNpemFibGUoV2ViUGFnZVByb3h5JiwgYm9vbCByZXNpemFibGUpIGZpbmFsCiAgICAg
ewogICAgICAgICB3ZWJraXRXaW5kb3dQcm9wZXJ0aWVzU2V0UmVzaXphYmxlKHdlYmtpdF93ZWJf
dmlld19nZXRfd2luZG93X3Byb3BlcnRpZXMobV93ZWJWaWV3KSwgcmVzaXphYmxlKTsKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLmgJKHJldmlzaW9uIDIy
MTkyMikKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUuaAkod29y
a2luZyBjb3B5KQpAQCAtMTAxLDYgKzEwMSw5IEBAIHByaXZhdGU6CiAgICAgICAgIGJvb2wgY2Fu
UnVuTW9kYWwoKSBjb25zdCBmaW5hbDsKICAgICAgICAgdm9pZCBydW5Nb2RhbChXZWJQYWdlUHJv
eHkmKSBmaW5hbDsKICAgICAgICAgdm9pZCBwYWdlRGlkU2Nyb2xsKFdlYlBhZ2VQcm94eSopIGZp
bmFsOworICAgICAgICB2b2lkIHNldElzUmVzaXphYmxlKFdlYlBhZ2VQcm94eSYsIGJvb2wpIGZp
bmFsOworICAgICAgICB2b2lkIHNldFdpbmRvd0ZyYW1lKFdlYlBhZ2VQcm94eSYsIGNvbnN0IFdl
YkNvcmU6OkZsb2F0UmVjdCYpIGZpbmFsOworICAgICAgICB2b2lkIHdpbmRvd0ZyYW1lKFdlYlBh
Z2VQcm94eSYsIEZ1bmN0aW9uPHZvaWQoV2ViQ29yZTo6RmxvYXRSZWN0KT4mJikgZmluYWw7CiAg
ICAgICAgIHZvaWQgZGlkTm90SGFuZGxlV2hlZWxFdmVudChXZWJQYWdlUHJveHkqLCBjb25zdCBO
YXRpdmVXZWJXaGVlbEV2ZW50JikgZmluYWw7CiAgICAgICAgIHZvaWQgZGVjaWRlUG9saWN5Rm9y
Tm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3QoV2ViUGFnZVByb3h5JiwgQVBJOjpTZWN1cml0
eU9yaWdpbiYsIEZ1bmN0aW9uPHZvaWQoYm9vbCk+JiYpIGZpbmFsOwogICAgICAgICB2b2lkIGhh
bmRsZUF1dG9wbGF5RXZlbnQoV2ViUGFnZVByb3h5JiwgV2ViQ29yZTo6QXV0b3BsYXlFdmVudCwg
T3B0aW9uU2V0PFdlYkNvcmU6OkF1dG9wbGF5RXZlbnRGbGFncz4pIGZpbmFsOwpAQCAtMTU3LDEw
ICsxNjAsMTMgQEAgcHJpdmF0ZToKICAgICAgICAgYm9vbCB3ZWJWaWV3UnVuTW9kYWwgOiAxOwog
ICAgICAgICBib29sIHdlYlZpZXdUYWtlRm9jdXMgOiAxOwogICAgICAgICBib29sIHdlYlZpZXdE
aWRTY3JvbGwgOiAxOworICAgICAgICBib29sIHdlYlZpZXdTZXRJc1Jlc2l6YWJsZSA6IDE7Cisg
ICAgICAgIGJvb2wgd2ViVmlld1NldFdpbmRvd0ZyYW1lIDogMTsKICAgICAgICAgYm9vbCB3ZWJW
aWV3RGlkTm90SGFuZGxlV2hlZWxFdmVudCA6IDE7CiAgICAgICAgIGJvb2wgd2ViVmlld0hhbmRs
ZUF1dG9wbGF5RXZlbnRXaXRoRmxhZ3MgOiAxOwogICAgICAgICBib29sIHdlYlZpZXdVbmF2YWls
YWJsZVBsdWdJbkJ1dHRvbkNsaWNrZWQgOiAxOwogICAgICAgICBib29sIHdlYlZpZXdEaWRDbGlj
a0F1dG9GaWxsQnV0dG9uV2l0aFVzZXJJbmZvIDogMTsKKyAgICAgICAgYm9vbCB3ZWJWaWV3R2V0
V2luZG93RnJhbWVXaXRoQ29tcGxldGlvbkhhbmRsZXIgOiAxOwogICAgICAgICBib29sIHdlYlZp
ZXdNb3VzZURpZE1vdmVPdmVyRWxlbWVudFdpdGhGbGFnc1VzZXJJbmZvIDogMTsKICAgICAgICAg
Ym9vbCB3ZWJWaWV3R2V0VG9vbGJhcnNBcmVWaXNpYmxlV2l0aENvbXBsZXRpb25IYW5kbGVyIDog
MTsKICAgICAgICAgYm9vbCB3ZWJWaWV3RGlkRXhjZWVkQmFja2dyb3VuZFJlc291cmNlTGltaXRX
aGlsZUluRm9yZWdyb3VuZCA6IDE7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9VSURlbGVnYXRlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nv
Y29hL1VJRGVsZWdhdGUubW0JKHJldmlzaW9uIDIyMTkyMikKKysrIFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL1VJRGVsZWdhdGUubW0JKHdvcmtpbmcgY29weSkKQEAgLTExNCw2ICsxMTQs
OSBAQCB2b2lkIFVJRGVsZWdhdGU6OnNldERlbGVnYXRlKGlkIDxXS1VJRGVsCiAgICAgbV9kZWxl
Z2F0ZU1ldGhvZHMud2ViVmlld0RpZFNjcm9sbCA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0
b3I6QHNlbGVjdG9yKF93ZWJWaWV3RGlkU2Nyb2xsOildOwogICAgIG1fZGVsZWdhdGVNZXRob2Rz
LndlYlZpZXdHZXRUb29sYmFyc0FyZVZpc2libGVXaXRoQ29tcGxldGlvbkhhbmRsZXIgPSBbZGVs
ZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlldzpnZXRUb29sYmFyc0Fy
ZVZpc2libGVXaXRoQ29tcGxldGlvbkhhbmRsZXI6KV07CiAgICAgbV9kZWxlZ2F0ZU1ldGhvZHMu
d2ViVmlld0RpZE5vdEhhbmRsZVdoZWVsRXZlbnQgPSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVj
dG9yOkBzZWxlY3Rvcihfd2ViVmlldzpkaWROb3RIYW5kbGVXaGVlbEV2ZW50OildOworICAgIG1f
ZGVsZWdhdGVNZXRob2RzLndlYlZpZXdTZXRJc1Jlc2l6YWJsZSA9IFtkZWxlZ2F0ZSByZXNwb25k
c1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3OnNldElzUmVzaXphYmxlOildOworICAgIG1f
ZGVsZWdhdGVNZXRob2RzLndlYlZpZXdHZXRXaW5kb3dGcmFtZVdpdGhDb21wbGV0aW9uSGFuZGxl
ciA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3OmdldFdp
bmRvd0ZyYW1lV2l0aENvbXBsZXRpb25IYW5kbGVyOildOworICAgIG1fZGVsZWdhdGVNZXRob2Rz
LndlYlZpZXdTZXRXaW5kb3dGcmFtZSA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNl
bGVjdG9yKF93ZWJWaWV3OnNldFdpbmRvd0ZyYW1lOildOwogICAgIG1fZGVsZWdhdGVNZXRob2Rz
LndlYlZpZXdVbmF2YWlsYWJsZVBsdWdJbkJ1dHRvbkNsaWNrZWQgPSBbZGVsZWdhdGUgcmVzcG9u
ZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlldzp1bmF2YWlsYWJsZVBsdWdJbkJ1dHRvbkNs
aWNrZWRXaXRoUmVhc29uOnBsdWdJbkluZm86KV07CiAgICAgbV9kZWxlZ2F0ZU1ldGhvZHMud2Vi
Vmlld0hhbmRsZUF1dG9wbGF5RXZlbnRXaXRoRmxhZ3MgPSBbZGVsZWdhdGUgcmVzcG9uZHNUb1Nl
bGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlldzpoYW5kbGVBdXRvcGxheUV2ZW50OndpdGhGbGFnczop
XTsKICAgICBtX2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3RGlkQ2xpY2tBdXRvRmlsbEJ1dHRvbldp
dGhVc2VySW5mbyA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJW
aWV3OmRpZENsaWNrQXV0b0ZpbGxCdXR0b25XaXRoVXNlckluZm86KV07CkBAIC01MTgsNiArNTIx
LDQ3IEBAIHZvaWQgVUlEZWxlZ2F0ZTo6VUlDbGllbnQ6OmRpZE5vdEhhbmRsZVcKICAgICBbKGlk
IDxXS1VJRGVsZWdhdGVQcml2YXRlPilkZWxlZ2F0ZSBfd2ViVmlldzptX3VpRGVsZWdhdGUubV93
ZWJWaWV3IGRpZE5vdEhhbmRsZVdoZWVsRXZlbnQ6ZXZlbnQubmF0aXZlRXZlbnQoKV07CiB9CiAK
K3ZvaWQgVUlEZWxlZ2F0ZTo6VUlDbGllbnQ6OnNldElzUmVzaXphYmxlKFdlYktpdDo6V2ViUGFn
ZVByb3h5JiwgYm9vbCByZXNpemFibGUpCit7CisgICAgaWYgKCFtX3VpRGVsZWdhdGUubV9kZWxl
Z2F0ZU1ldGhvZHMud2ViVmlld1NldElzUmVzaXphYmxlKQorICAgICAgICByZXR1cm47CisgICAg
CisgICAgYXV0byBkZWxlZ2F0ZSA9IG1fdWlEZWxlZ2F0ZS5tX2RlbGVnYXRlLmdldCgpOworICAg
IGlmICghZGVsZWdhdGUpCisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBbKGlkIDxXS1VJRGVs
ZWdhdGVQcml2YXRlPilkZWxlZ2F0ZSBfd2ViVmlldzptX3VpRGVsZWdhdGUubV93ZWJWaWV3IHNl
dElzUmVzaXphYmxlOnJlc2l6YWJsZV07Cit9CisKK3ZvaWQgVUlEZWxlZ2F0ZTo6VUlDbGllbnQ6
OnNldFdpbmRvd0ZyYW1lKFdlYktpdDo6V2ViUGFnZVByb3h5JiwgY29uc3QgV2ViQ29yZTo6Rmxv
YXRSZWN0JiBmcmFtZSkKK3sKKyAgICBpZiAoIW1fdWlEZWxlZ2F0ZS5tX2RlbGVnYXRlTWV0aG9k
cy53ZWJWaWV3U2V0V2luZG93RnJhbWUpCisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBhdXRv
IGRlbGVnYXRlID0gbV91aURlbGVnYXRlLm1fZGVsZWdhdGUuZ2V0KCk7CisgICAgaWYgKCFkZWxl
Z2F0ZSkKKyAgICAgICAgcmV0dXJuOworICAgIAorICAgIFsoaWQgPFdLVUlEZWxlZ2F0ZVByaXZh
dGU+KWRlbGVnYXRlIF93ZWJWaWV3Om1fdWlEZWxlZ2F0ZS5tX3dlYlZpZXcgc2V0V2luZG93RnJh
bWU6ZnJhbWVdOworfQorCit2b2lkIFVJRGVsZWdhdGU6OlVJQ2xpZW50Ojp3aW5kb3dGcmFtZShX
ZWJLaXQ6OldlYlBhZ2VQcm94eSYsIEZ1bmN0aW9uPHZvaWQoV2ViQ29yZTo6RmxvYXRSZWN0KT4m
JiBjb21wbGV0aW9uSGFuZGxlcikKK3sKKyAgICBpZiAoIW1fdWlEZWxlZ2F0ZS5tX2RlbGVnYXRl
TWV0aG9kcy53ZWJWaWV3R2V0V2luZG93RnJhbWVXaXRoQ29tcGxldGlvbkhhbmRsZXIpCisgICAg
ICAgIHJldHVybiBjb21wbGV0aW9uSGFuZGxlcih7IH0pOworICAgIAorICAgIGF1dG8gZGVsZWdh
dGUgPSBtX3VpRGVsZWdhdGUubV9kZWxlZ2F0ZS5nZXQoKTsKKyAgICBpZiAoIWRlbGVnYXRlKQor
ICAgICAgICByZXR1cm4gY29tcGxldGlvbkhhbmRsZXIoeyB9KTsKKyAgICAKKyAgICBbKGlkIDxX
S1VJRGVsZWdhdGVQcml2YXRlPilkZWxlZ2F0ZSBfd2ViVmlldzptX3VpRGVsZWdhdGUubV93ZWJW
aWV3IGdldFdpbmRvd0ZyYW1lV2l0aENvbXBsZXRpb25IYW5kbGVyOkJsb2NrUHRyPHZvaWQoQ0dS
ZWN0KT46OmZyb21DYWxsYWJsZShbY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRp
b25IYW5kbGVyKSwgY2hlY2tlciA9IENvbXBsZXRpb25IYW5kbGVyQ2FsbENoZWNrZXI6OmNyZWF0
ZShkZWxlZ2F0ZS5nZXQoKSwgQHNlbGVjdG9yKF93ZWJWaWV3OmdldFdpbmRvd0ZyYW1lV2l0aENv
bXBsZXRpb25IYW5kbGVyOikpXShDR1JlY3QgZnJhbWUpIHsKKyAgICAgICAgaWYgKGNoZWNrZXIt
PmNvbXBsZXRpb25IYW5kbGVySGFzQmVlbkNhbGxlZCgpKQorICAgICAgICAgICAgcmV0dXJuOwor
ICAgICAgICBjaGVja2VyLT5kaWRDYWxsQ29tcGxldGlvbkhhbmRsZXIoKTsKKyAgICAgICAgY29t
cGxldGlvbkhhbmRsZXIoZnJhbWUpOworICAgIH0pLmdldCgpXTsKK30KKwogc3RhdGljIE5TRXZl
bnRNb2RpZmllckZsYWdzIHRvTlNFdmVudE1vZGlmaWVyRmxhZ3MoV2ViRXZlbnQ6Ok1vZGlmaWVy
cyBtb2RpZmllcnMpCiB7CiAgICAgTlNFdmVudE1vZGlmaWVyRmxhZ3MgZmxhZ3MgPSAwOwpJbmRl
eDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNp
b24gMjIxOTc0KQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEs
MjEgQEAKKzIwMTctMDktMTMgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0
Lm9yZz4KKworICAgICAgICBBZGQgV0tVSURlbGVnYXRlUHJpdmF0ZSBlcXVpdmFsZW50IG9mIFdL
UGFnZVVJQ2xpZW50J3Mgc2V0SXNSZXNpemFibGUsIGdldFdpbmRvd0ZyYW1lLCBhbmQgc2V0V2lu
ZG93RnJhbWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE3Njg1NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9VSURlbGVnYXRlLm1tOgorICAgICAg
ICAoLVtNb2RhbERlbGVnYXRlIF93ZWJWaWV3UnVuTW9kYWw6XSk6CisgICAgICAgICgtW01vZGFs
RGVsZWdhdGUgX3dlYlZpZXc6c2V0SXNSZXNpemFibGU6XSk6CisgICAgICAgICgtW1dpbmRvd0Zy
YW1lRGVsZWdhdGUgX3dlYlZpZXc6c2V0V2luZG93RnJhbWU6XSk6CisgICAgICAgICgtW1dpbmRv
d0ZyYW1lRGVsZWdhdGUgX3dlYlZpZXc6Z2V0V2luZG93RnJhbWVXaXRoQ29tcGxldGlvbkhhbmRs
ZXI6XSk6CisgICAgICAgICgtW1dpbmRvd0ZyYW1lRGVsZWdhdGUgd2ViVmlldzpydW5KYXZhU2Ny
aXB0QWxlcnRQYW5lbFdpdGhNZXNzYWdlOmluaXRpYXRlZEJ5RnJhbWU6Y29tcGxldGlvbkhhbmRs
ZXI6XSk6CisgICAgICAgIChURVNUKToKKyAgICAgICAgKC1bUmVzaXphYmxlRGVsZWdhdGUgX3dl
YlZpZXc6c2V0SXNSZXNpemFibGU6XSk6CisgICAgICAgICgtW1Jlc2l6YWJsZURlbGVnYXRlIF93
ZWJWaWV3OmdldElzUmVzaXphYmxlV2l0aENvbXBsZXRpb25IYW5kbGVyOl0pOgorICAgICAgICAo
LVtSZXNpemFibGVEZWxlZ2F0ZSB3ZWJWaWV3OnJ1bkphdmFTY3JpcHRBbGVydFBhbmVsV2l0aE1l
c3NhZ2U6aW5pdGlhdGVkQnlGcmFtZTpjb21wbGV0aW9uSGFuZGxlcjpdKToKKwogMjAxNy0wOS0x
MiAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9T
IERuRF0gU3VwcG9ydCBEYXRhVHJhbnNmZXIuZ2V0RGF0YSBhbmQgRGF0YVRyYW5zZmVyLnNldERh
dGEgd2hlbiBkcmFnZ2luZyBvciBkcm9wcGluZwpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXRDb2NvYS9VSURlbGVnYXRlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvVUlEZWxlZ2F0ZS5tbQkocmV2aXNpb24gMjIxOTIz
KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9VSURlbGVnYXRlLm1t
CSh3b3JraW5nIGNvcHkpCkBAIC0yMDEsNiArMjAxLDggQEAgVEVTVChXZWJLaXQsIFNob3dXZWJW
aWV3KQogICAgIEFTU0VSVF9FUSh3ZWJWaWV3RnJvbURlbGVnYXRlQ2FsbGJhY2ssIGNyZWF0ZWRX
ZWJWaWV3KTsKIH0KIAorc3RhdGljIGJvb2wgcmVzaXphYmxlU2V0OworCiBAaW50ZXJmYWNlIE1v
ZGFsRGVsZWdhdGUgOiBOU09iamVjdCA8V0tVSURlbGVnYXRlUHJpdmF0ZT4KIEBlbmQKIApAQCAt
MjA4LDEwICsyMTAsMTcgQEAgQGludGVyZmFjZSBNb2RhbERlbGVnYXRlIDogTlNPYmplY3QgPFdL
VQogCiAtICh2b2lkKV93ZWJWaWV3UnVuTW9kYWw6KFdLV2ViVmlldyAqKXdlYlZpZXcKIHsKKyAg
ICBFWFBFQ1RfVFJVRShyZXNpemFibGVTZXQpOwogICAgIEVYUEVDVF9FUSh3ZWJWaWV3LCBjcmVh
dGVkV2ViVmlldy5nZXQoKSk7CiAgICAgZG9uZSA9IHRydWU7CiB9CiAKKy0gKHZvaWQpX3dlYlZp
ZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgc2V0SXNSZXNpemFibGU6KEJPT0wpaXNSZXNpemFibGUK
K3sKKyAgICBFWFBFQ1RfRkFMU0UoaXNSZXNpemFibGUpOworICAgIHJlc2l6YWJsZVNldCA9IHRy
dWU7Cit9CisKIC0gKG51bGxhYmxlIFdLV2ViVmlldyAqKXdlYlZpZXc6KFdLV2ViVmlldyAqKXdl
YlZpZXcgY3JlYXRlV2ViVmlld1dpdGhDb25maWd1cmF0aW9uOihXS1dlYlZpZXdDb25maWd1cmF0
aW9uICopY29uZmlndXJhdGlvbiBmb3JOYXZpZ2F0aW9uQWN0aW9uOihXS05hdmlnYXRpb25BY3Rp
b24gKiluYXZpZ2F0aW9uQWN0aW9uIHdpbmRvd0ZlYXR1cmVzOihXS1dpbmRvd0ZlYXR1cmVzICop
d2luZG93RmVhdHVyZXMKIHsKICAgICBjcmVhdGVkV2ViVmlldyA9IFtbW1Rlc3RXS1dlYlZpZXcg
YWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCA4MDAsIDYwMCkgY29uZmlndXJh
dGlvbjpjb25maWd1cmF0aW9uXSBhdXRvcmVsZWFzZV07CkBAIC0yMzMsNiArMjQyLDgwIEBAIFRF
U1QoV2ViS2l0LCBSdW5Nb2RhbCkKICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUp
OwogfQogCitzdGF0aWMgYm9vbCByZWNlaXZlZFdpbmRvd0ZyYW1lOworCitAaW50ZXJmYWNlIFdp
bmRvd0ZyYW1lRGVsZWdhdGUgOiBOU09iamVjdCA8V0tVSURlbGVnYXRlUHJpdmF0ZT4KK0BlbmQK
KworQGltcGxlbWVudGF0aW9uIFdpbmRvd0ZyYW1lRGVsZWdhdGUKKworLSAodm9pZClfd2ViVmll
dzooV0tXZWJWaWV3ICopd2ViVmlldyBzZXRXaW5kb3dGcmFtZTooQ0dSZWN0KWZyYW1lCit7Cisg
ICAgRVhQRUNUX0VRKGZyYW1lLm9yaWdpbi54LCAxNjApOworICAgIEVYUEVDVF9FUShmcmFtZS5v
cmlnaW4ueSwgMjMwKTsKKyAgICBFWFBFQ1RfRVEoZnJhbWUuc2l6ZS53aWR0aCwgMzUwKTsKKyAg
ICBFWFBFQ1RfRVEoZnJhbWUuc2l6ZS5oZWlnaHQsIDQ1MCk7CisgICAgcmVjZWl2ZWRXaW5kb3dG
cmFtZSA9IHRydWU7Cit9CisKKy0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcg
Z2V0V2luZG93RnJhbWVXaXRoQ29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKENHUmVjdCkpY29t
cGxldGlvbkhhbmRsZXIKK3sKKyAgICBjb21wbGV0aW9uSGFuZGxlcihDR1JlY3RNYWtlKDE1MCwg
MjUwLCAzNTAsIDQ1MCkpOworfQorCistICh2b2lkKXdlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZp
ZXcgcnVuSmF2YVNjcmlwdEFsZXJ0UGFuZWxXaXRoTWVzc2FnZTooTlNTdHJpbmcgKiltZXNzYWdl
IGluaXRpYXRlZEJ5RnJhbWU6KFdLRnJhbWVJbmZvICopZnJhbWUgY29tcGxldGlvbkhhbmRsZXI6
KHZvaWQgKF4pKHZvaWQpKWNvbXBsZXRpb25IYW5kbGVyCit7CisgICAgRVhQRUNUX1NUUkVRKCIz
NTAiLCBtZXNzYWdlLlVURjhTdHJpbmcpOworICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CisgICAg
ZG9uZSA9IHRydWU7Cit9CisKK0BlbmQKKworVEVTVChXZWJLaXQsIFdpbmRvd0ZyYW1lKQorewor
ICAgIGF1dG8gZGVsZWdhdGUgPSBhZG9wdE5TKFtbV2luZG93RnJhbWVEZWxlZ2F0ZSBhbGxvY10g
aW5pdF0pOworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tXS1dlYlZpZXcgYWxsb2NdIGlu
aXRdKTsKKyAgICBbd2ViVmlldyBzZXRVSURlbGVnYXRlOmRlbGVnYXRlLmdldCgpXTsKKyAgICBb
d2ViVmlldyBsb2FkSFRNTFN0cmluZzpAIjxzY3JpcHQ+bW92ZUJ5KDEwLDIwKTthbGVydChvdXRl
cldpZHRoKTs8L3NjcmlwdD4iIGJhc2VVUkw6bmlsXTsKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGls
OjpydW4oJnJlY2VpdmVkV2luZG93RnJhbWUpOworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1
bigmZG9uZSk7Cit9CisKK0BpbnRlcmZhY2UgUmVzaXphYmxlRGVsZWdhdGUgOiBOU09iamVjdCA8
V0tVSURlbGVnYXRlUHJpdmF0ZT4KK0BlbmQKKworQGltcGxlbWVudGF0aW9uIFJlc2l6YWJsZURl
bGVnYXRlCisKKy0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgc2V0SXNSZXNp
emFibGU6KEJPT0wpaXNSZXNpemFibGUKK3sKKyAgICAKK30KKworLSAodm9pZClfd2ViVmlldzoo
V0tXZWJWaWV3ICopd2ViVmlldyBnZXRJc1Jlc2l6YWJsZVdpdGhDb21wbGV0aW9uSGFuZGxlcjoo
dm9pZCAoXikoQk9PTCkpY29tcGxldGlvbkhhbmRsZXIKK3sKKyAgICAKK30KKworLSAodm9pZCl3
ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IHJ1bkphdmFTY3JpcHRBbGVydFBhbmVsV2l0aE1l
c3NhZ2U6KE5TU3RyaW5nICopbWVzc2FnZSBpbml0aWF0ZWRCeUZyYW1lOihXS0ZyYW1lSW5mbyAq
KWZyYW1lIGNvbXBsZXRpb25IYW5kbGVyOih2b2lkICheKSh2b2lkKSljb21wbGV0aW9uSGFuZGxl
cgoreworICAgIEVYUEVDVF9TVFJFUSgiMzUwIiwgbWVzc2FnZS5VVEY4U3RyaW5nKTsKKyAgICBj
b21wbGV0aW9uSGFuZGxlcigpOworICAgIGRvbmUgPSB0cnVlOworfQorCitAZW5kCisKK1RFU1Qo
V2ViS2l0LCBSZXNpemFibGUpCit7CisgICAgYXV0byBkZWxlZ2F0ZSA9IGFkb3B0TlMoW1tXaW5k
b3dGcmFtZURlbGVnYXRlIGFsbG9jXSBpbml0XSk7CisgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHRO
UyhbW1dLV2ViVmlldyBhbGxvY10gaW5pdF0pOworICAgIFt3ZWJWaWV3IHNldFVJRGVsZWdhdGU6
ZGVsZWdhdGUuZ2V0KCldOworICAgIFt3ZWJWaWV3IGxvYWRIVE1MU3RyaW5nOkAiPHNjcmlwdD5t
b3ZlQnkoMTAsMjApO2FsZXJ0KG91dGVyV2lkdGgpOzwvc2NyaXB0PiIgYmFzZVVSTDpuaWxdOwor
ICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmcmVjZWl2ZWRXaW5kb3dGcmFtZSk7CisgICAg
VGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lKTsKK30KKwogQGludGVyZmFjZSBOb3RpZmlj
YXRpb25EZWxlZ2F0ZSA6IE5TT2JqZWN0IDxXS1VJRGVsZWdhdGVQcml2YXRlPiB7CiAgICAgYm9v
bCBfYWxsb3dOb3RpZmljYXRpb25zOwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>320665</attachid>
            <date>2017-09-13 11:36:31 -0700</date>
            <delta_ts>2017-09-13 11:38:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-176857-20170913113622.patch</filename>
            <type>text/plain</type>
            <size>17105</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMjE5ODEpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMxIEBACisyMDE3LTA5LTEzICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQWRkIFdLVUlEZWxl
Z2F0ZVByaXZhdGUgZXF1aXZhbGVudCBvZiBXS1BhZ2VVSUNsaWVudCdzIHNldElzUmVzaXphYmxl
LCBnZXRXaW5kb3dGcmFtZSwgYW5kIHNldFdpbmRvd0ZyYW1lCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzY4NTcKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzI5MjcwMDM1PgorCisgICAgICAgIFJldmlld2VkIGJ5IFRpbSBIb3J0b24uCisKKyAgICAg
ICAgaXNSZXNpemFibGUgaXMgdW5yZWFjaGFibGUgY29kZSBiZWNhdXNlIG5vdGhpbmcgc2VuZHMg
TWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6R2V0SXNSZXNpemFibGUsIHNvIEkgcmVtb3ZlZCBpdC4K
KworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJVUlDbGllbnQuaDoKKyAgICAgICAgKEFQSTo6
VUlDbGllbnQ6OnNldFN0YXR1c0JhcklzVmlzaWJsZSk6CisgICAgICAgIChBUEk6OlVJQ2xpZW50
Ojppc1Jlc2l6YWJsZSk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUGFn
ZS5jcHA6CisgICAgICAgIChXS1BhZ2VTZXRQYWdlVUlDbGllbnQpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tVSURlbGVnYXRlUHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvZ2xpYi9XZWJLaXRVSUNsaWVudC5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29h
L1VJRGVsZWdhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbToK
KyAgICAgICAgKFdlYktpdDo6VUlEZWxlZ2F0ZTo6c2V0RGVsZWdhdGUpOgorICAgICAgICAoV2Vi
S2l0OjpVSURlbGVnYXRlOjpVSUNsaWVudDo6c2V0SXNSZXNpemFibGUpOgorICAgICAgICAoV2Vi
S2l0OjpVSURlbGVnYXRlOjpVSUNsaWVudDo6c2V0V2luZG93RnJhbWUpOgorICAgICAgICAoV2Vi
S2l0OjpVSURlbGVnYXRlOjpVSUNsaWVudDo6d2luZG93RnJhbWUpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6Omdl
dElzUmVzaXphYmxlKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5
Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbjoKKwogMjAx
Ny0wOS0xMyAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgQWRk
IGEgbGFtYmRhLWJhc2VkIG1hcCBmb3IgVmVjdG9ycwpJbmRleDogU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwCShyZXZpc2lvbiAyMjE5MjIpCisrKyBTb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MDkyLDEzICs0
MDkyLDYgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnNldElzUmVzaXphYmxlKGJvb2wgaQogICAgIG1f
dWlDbGllbnQtPnNldElzUmVzaXphYmxlKCp0aGlzLCBpc1Jlc2l6YWJsZSk7CiB9CiAKLXZvaWQg
V2ViUGFnZVByb3h5OjpnZXRJc1Jlc2l6YWJsZShSZWY8TWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6
R2V0SXNSZXNpemFibGU6OkRlbGF5ZWRSZXBseT4mJiByZXBseSkKLXsKLSAgICBtX3VpQ2xpZW50
LT5pc1Jlc2l6YWJsZSgqdGhpcywgW3JlcGx5ID0gV1RGTW92ZShyZXBseSldIChib29sIHJlc2l6
YWJsZSkgewotICAgICAgICByZXBseS0+c2VuZChyZXNpemFibGUpOwotICAgIH0pOwotfQotCiB2
b2lkIFdlYlBhZ2VQcm94eTo6c2V0V2luZG93RnJhbWUoY29uc3QgRmxvYXRSZWN0JiBuZXdXaW5k
b3dGcmFtZSkKIHsKICAgICBtX3VpQ2xpZW50LT5zZXRXaW5kb3dGcmFtZSgqdGhpcywgbV9wYWdl
Q2xpZW50LmNvbnZlcnRUb0RldmljZVNwYWNlKG5ld1dpbmRvd0ZyYW1lKSk7CkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAkocmV2aXNpb24gMjIxOTA3KQorKysgU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgJKHdvcmtpbmcgY29weSkKQEAgLTEz
MTUsNyArMTMxNSw2IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzZXRTdGF0dXNCYXJJc1Zpc2libGUo
Ym9vbCBzdGF0dXNCYXJJc1Zpc2libGUpOwogICAgIHZvaWQgZ2V0U3RhdHVzQmFySXNWaXNpYmxl
KFJlZjxNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpHZXRTdGF0dXNCYXJJc1Zpc2libGU6OkRlbGF5
ZWRSZXBseT4mJik7CiAgICAgdm9pZCBzZXRJc1Jlc2l6YWJsZShib29sIGlzUmVzaXphYmxlKTsK
LSAgICB2b2lkIGdldElzUmVzaXphYmxlKFJlZjxNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpHZXRJ
c1Jlc2l6YWJsZTo6RGVsYXllZFJlcGx5PiYmKTsKICAgICB2b2lkIHNjcmVlblRvUm9vdFZpZXco
Y29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIHNjcmVlblBvaW50LCBSZWY8TWVzc2FnZXM6OldlYlBh
Z2VQcm94eTo6U2NyZWVuVG9Sb290Vmlldzo6RGVsYXllZFJlcGx5PiYmKTsKICAgICB2b2lkIHJv
b3RWaWV3VG9TY3JlZW4oY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgdmlld1JlY3QsIFJlZjxNZXNz
YWdlczo6V2ViUGFnZVByb3h5OjpSb290Vmlld1RvU2NyZWVuOjpEZWxheWVkUmVwbHk+JiYpOwog
I2lmIFBMQVRGT1JNKElPUykKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5tZXNzYWdlcy5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkubWVzc2FnZXMuaW4JKHJldmlzaW9uIDIyMTkwNykKKysrIFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgkod29ya2luZyBjb3B5KQpAQCAt
NTcsNyArNTcsNiBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkgewogICAgIFNldFN0YXR1c0Jh
cklzVmlzaWJsZShib29sIHN0YXR1c0JhcklzVmlzaWJsZSkKICAgICBHZXRTdGF0dXNCYXJJc1Zp
c2libGUoKSAtPiAoYm9vbCBzdGF0dXNCYXJJc1Zpc2libGUpIERlbGF5ZWQKICAgICBTZXRJc1Jl
c2l6YWJsZShib29sIGlzUmVzaXphYmxlKQotICAgIEdldElzUmVzaXphYmxlKCkgLT4gKGJvb2wg
aXNSZXNpemFibGUpIERlbGF5ZWQKICAgICBTZXRXaW5kb3dGcmFtZShXZWJDb3JlOjpGbG9hdFJl
Y3Qgd2luZG93RnJhbWUpCiAgICAgR2V0V2luZG93RnJhbWUoKSAtPiAoV2ViQ29yZTo6RmxvYXRS
ZWN0IHdpbmRvd0ZyYW1lKSBEZWxheWVkCiAgICAgU2NyZWVuVG9Sb290VmlldyhXZWJDb3JlOjpJ
bnRQb2ludCBzY3JlZW5Qb2ludCkgLT4gKFdlYkNvcmU6OkludFBvaW50IHdpbmRvd1BvaW50KSBE
ZWxheWVkCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJVUlDbGllbnQuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJVUlDbGllbnQuaAko
cmV2aXNpb24gMjIxOTIyKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVVJQ2xp
ZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTEwMiw3ICsxMDIsNiBAQCBwdWJsaWM6CiAgICAgdmly
dHVhbCB2b2lkIHNldE1lbnVCYXJJc1Zpc2libGUoV2ViS2l0OjpXZWJQYWdlUHJveHkmLCBib29s
KSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgc3RhdHVzQmFySXNWaXNpYmxlKFdlYktpdDo6V2ViUGFn
ZVByb3h5JiwgRnVuY3Rpb248dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikgeyBjb21w
bGV0aW9uSGFuZGxlcih0cnVlKTsgfQogICAgIHZpcnR1YWwgdm9pZCBzZXRTdGF0dXNCYXJJc1Zp
c2libGUoV2ViS2l0OjpXZWJQYWdlUHJveHkmLCBib29sKSB7IH0KLSAgICB2aXJ0dWFsIHZvaWQg
aXNSZXNpemFibGUoV2ViS2l0OjpXZWJQYWdlUHJveHkmLCBGdW5jdGlvbjx2b2lkKGJvb2wpPiYm
IGNvbXBsZXRpb25IYW5kbGVyKSB7IGNvbXBsZXRpb25IYW5kbGVyKHRydWUpOyB9CiAgICAgdmly
dHVhbCB2b2lkIHNldElzUmVzaXphYmxlKFdlYktpdDo6V2ViUGFnZVByb3h5JiwgYm9vbCkgeyB9
CiAKICAgICB2aXJ0dWFsIHZvaWQgc2V0V2luZG93RnJhbWUoV2ViS2l0OjpXZWJQYWdlUHJveHkm
LCBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmKSB7IH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0MvV0tQYWdlLmNwcAkocmV2aXNpb24gMjIxOTIyKQorKysgU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTg3NCwxMyAr
MTg3NCw2IEBAIHZvaWQgV0tQYWdlU2V0UGFnZVVJQ2xpZW50KFdLUGFnZVJlZiBwYWcKICAgICAg
ICAgICAgIG1fY2xpZW50LnNldFN0YXR1c0JhcklzVmlzaWJsZSh0b0FQSSgmcGFnZSksIHZpc2li
bGUsIG1fY2xpZW50LmJhc2UuY2xpZW50SW5mbyk7CiAgICAgICAgIH0KIAotICAgICAgICB2b2lk
IGlzUmVzaXphYmxlKFdlYlBhZ2VQcm94eSYgcGFnZSwgRnVuY3Rpb248dm9pZChib29sKT4mJiBj
b21wbGV0aW9uSGFuZGxlcikgZmluYWwKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKCFtX2Ns
aWVudC5pc1Jlc2l6YWJsZSkKLSAgICAgICAgICAgICAgICByZXR1cm4gY29tcGxldGlvbkhhbmRs
ZXIodHJ1ZSk7Ci0gICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihtX2NsaWVudC5pc1Jlc2l6
YWJsZSh0b0FQSSgmcGFnZSksIG1fY2xpZW50LmJhc2UuY2xpZW50SW5mbykpOwotICAgICAgICB9
Ci0KICAgICAgICAgdm9pZCBzZXRJc1Jlc2l6YWJsZShXZWJQYWdlUHJveHkmIHBhZ2UsIGJvb2wg
cmVzaXphYmxlKSBmaW5hbAogICAgICAgICB7CiAgICAgICAgICAgICBpZiAoIW1fY2xpZW50LnNl
dElzUmVzaXphYmxlKQpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
VUlEZWxlZ2F0ZVByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tVSURlbGVnYXRlUHJpdmF0ZS5oCShyZXZpc2lvbiAyMjE5MjIpCisrKyBT
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVSURlbGVnYXRlUHJpdmF0ZS5oCSh3
b3JraW5nIGNvcHkpCkBAIC0xNjQsNiArMTY0LDkgQEAgc3RydWN0IFVJRWRnZUluc2V0czsKIC0g
KHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgcmVxdWVzdE5vdGlmaWNhdGlvblBl
cm1pc3Npb25Gb3JTZWN1cml0eU9yaWdpbjooV0tTZWN1cml0eU9yaWdpbiAqKXNlY3VyaXR5T3Jp
Z2luIGRlY2lzaW9uSGFuZGxlcjoodm9pZCAoXikoQk9PTCkpZGVjaXNpb25IYW5kbGVyIFdLX0FQ
SV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpKTsKIC0gKHZvaWQpX3dlYlZpZXc6KFdLV2Vi
VmlldyAqKXdlYnZpZXcgbW91c2VEaWRNb3ZlT3ZlckVsZW1lbnQ6KF9XS0hpdFRlc3RSZXN1bHQg
KiloaXRUZXN0UmVzdWx0IHdpdGhGbGFnczooTlNFdmVudE1vZGlmaWVyRmxhZ3MpZmxhZ3MgdXNl
ckluZm86KGlkIDxOU1NlY3VyZUNvZGluZz4pdXNlckluZm87CiAtICh2b2lkKV93ZWJWaWV3OihX
S1dlYlZpZXcgKil3ZWJWaWV3IGRpZEV4Y2VlZEJhY2tncm91bmRSZXNvdXJjZUxpbWl0V2hpbGVJ
bkZvcmVncm91bmQ6KF9XS1Jlc291cmNlTGltaXQpbGltaXQgV0tfQVBJX0FWQUlMQUJMRShtYWNv
c3goV0tfTUFDX1RCQSkpOworLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBz
ZXRSZXNpemFibGU6KEJPT0wpaXNSZXNpemFibGUgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tf
TUFDX1RCQSkpOworLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBnZXRXaW5k
b3dGcmFtZVdpdGhDb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoQ0dSZWN0KSljb21wbGV0aW9u
SGFuZGxlciBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSk7CistICh2b2lkKV93
ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IHNldFdpbmRvd0ZyYW1lOihDR1JlY3QpZnJhbWUg
V0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSkpOwogLSAodm9pZClfd2ViVmlldzoo
V0tXZWJWaWV3ICopd2ViVmlldyB1bmF2YWlsYWJsZVBsdWdJbkJ1dHRvbkNsaWNrZWRXaXRoUmVh
c29uOihfV0tQbHVnSW5VbmF2YWlsYWJpbGl0eVJlYXNvbilyZWFzb24gcGx1Z0luSW5mbzooTlNE
aWN0aW9uYXJ5ICopcGx1Z0luSW5mbzsKIC0gKE5TTWVudSAqKV93ZWJWaWV3OihXS1dlYlZpZXcg
Kil3ZWJWaWV3IGNvbnRleHRNZW51OihOU01lbnUgKiltZW51IGZvckVsZW1lbnQ6KF9XS0NvbnRl
eHRNZW51RWxlbWVudEluZm8gKillbGVtZW50IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEy
KSk7CiAtIChOU01lbnUgKilfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBjb250ZXh0TWVu
dTooTlNNZW51ICopbWVudSBmb3JFbGVtZW50OihfV0tDb250ZXh0TWVudUVsZW1lbnRJbmZvICop
ZWxlbWVudCB1c2VySW5mbzooaWQgPE5TU2VjdXJlQ29kaW5nPil1c2VySW5mbyBXS19BUElfQVZB
SUxBQkxFKG1hY29zeCgxMC4xMikpOwpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L2dsaWIvV2ViS2l0VUlDbGllbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9nbGliL1dlYktpdFVJQ2xpZW50LmNwcAkocmV2aXNpb24gMjIxOTIyKQorKysg
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0VUlDbGllbnQuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMjcsMTEgKzEyNyw2IEBAIHByaXZhdGU6CiAgICAgICAgIHdlYmtpdFdp
bmRvd1Byb3BlcnRpZXNTZXRTdGF0dXNiYXJWaXNpYmxlKHdlYmtpdF93ZWJfdmlld19nZXRfd2lu
ZG93X3Byb3BlcnRpZXMobV93ZWJWaWV3KSwgdmlzaWJsZSk7CiAgICAgfQogCi0gICAgdm9pZCBp
c1Jlc2l6YWJsZShXZWJQYWdlUHJveHkmLCBGdW5jdGlvbjx2b2lkKGJvb2wpPiYmIGNvbXBsZXRp
b25IYW5kbGVyKSBmaW5hbAotICAgIHsKLSAgICAgICAgY29tcGxldGlvbkhhbmRsZXIod2Via2l0
X3dpbmRvd19wcm9wZXJ0aWVzX2dldF9yZXNpemFibGUod2Via2l0X3dlYl92aWV3X2dldF93aW5k
b3dfcHJvcGVydGllcyhtX3dlYlZpZXcpKSk7Ci0gICAgfQotCiAgICAgdm9pZCBzZXRJc1Jlc2l6
YWJsZShXZWJQYWdlUHJveHkmLCBib29sIHJlc2l6YWJsZSkgZmluYWwKICAgICB7CiAgICAgICAg
IHdlYmtpdFdpbmRvd1Byb3BlcnRpZXNTZXRSZXNpemFibGUod2Via2l0X3dlYl92aWV3X2dldF93
aW5kb3dfcHJvcGVydGllcyhtX3dlYlZpZXcpLCByZXNpemFibGUpOwpJbmRleDogU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUuaAkocmV2aXNpb24gMjIxOTIyKQorKysg
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xMDEsNiArMTAxLDkgQEAgcHJpdmF0ZToKICAgICAgICAgYm9vbCBjYW5SdW5Nb2RhbCgp
IGNvbnN0IGZpbmFsOwogICAgICAgICB2b2lkIHJ1bk1vZGFsKFdlYlBhZ2VQcm94eSYpIGZpbmFs
OwogICAgICAgICB2b2lkIHBhZ2VEaWRTY3JvbGwoV2ViUGFnZVByb3h5KikgZmluYWw7CisgICAg
ICAgIHZvaWQgc2V0SXNSZXNpemFibGUoV2ViUGFnZVByb3h5JiwgYm9vbCkgZmluYWw7CisgICAg
ICAgIHZvaWQgc2V0V2luZG93RnJhbWUoV2ViUGFnZVByb3h5JiwgY29uc3QgV2ViQ29yZTo6Rmxv
YXRSZWN0JikgZmluYWw7CisgICAgICAgIHZvaWQgd2luZG93RnJhbWUoV2ViUGFnZVByb3h5Jiwg
RnVuY3Rpb248dm9pZChXZWJDb3JlOjpGbG9hdFJlY3QpPiYmKSBmaW5hbDsKICAgICAgICAgdm9p
ZCBkaWROb3RIYW5kbGVXaGVlbEV2ZW50KFdlYlBhZ2VQcm94eSosIGNvbnN0IE5hdGl2ZVdlYldo
ZWVsRXZlbnQmKSBmaW5hbDsKICAgICAgICAgdm9pZCBkZWNpZGVQb2xpY3lGb3JOb3RpZmljYXRp
b25QZXJtaXNzaW9uUmVxdWVzdChXZWJQYWdlUHJveHkmLCBBUEk6OlNlY3VyaXR5T3JpZ2luJiwg
RnVuY3Rpb248dm9pZChib29sKT4mJikgZmluYWw7CiAgICAgICAgIHZvaWQgaGFuZGxlQXV0b3Bs
YXlFdmVudChXZWJQYWdlUHJveHkmLCBXZWJDb3JlOjpBdXRvcGxheUV2ZW50LCBPcHRpb25TZXQ8
V2ViQ29yZTo6QXV0b3BsYXlFdmVudEZsYWdzPikgZmluYWw7CkBAIC0xNTcsMTAgKzE2MCwxMyBA
QCBwcml2YXRlOgogICAgICAgICBib29sIHdlYlZpZXdSdW5Nb2RhbCA6IDE7CiAgICAgICAgIGJv
b2wgd2ViVmlld1Rha2VGb2N1cyA6IDE7CiAgICAgICAgIGJvb2wgd2ViVmlld0RpZFNjcm9sbCA6
IDE7CisgICAgICAgIGJvb2wgd2ViVmlld1NldFJlc2l6YWJsZSA6IDE7CisgICAgICAgIGJvb2wg
d2ViVmlld1NldFdpbmRvd0ZyYW1lIDogMTsKICAgICAgICAgYm9vbCB3ZWJWaWV3RGlkTm90SGFu
ZGxlV2hlZWxFdmVudCA6IDE7CiAgICAgICAgIGJvb2wgd2ViVmlld0hhbmRsZUF1dG9wbGF5RXZl
bnRXaXRoRmxhZ3MgOiAxOwogICAgICAgICBib29sIHdlYlZpZXdVbmF2YWlsYWJsZVBsdWdJbkJ1
dHRvbkNsaWNrZWQgOiAxOwogICAgICAgICBib29sIHdlYlZpZXdEaWRDbGlja0F1dG9GaWxsQnV0
dG9uV2l0aFVzZXJJbmZvIDogMTsKKyAgICAgICAgYm9vbCB3ZWJWaWV3R2V0V2luZG93RnJhbWVX
aXRoQ29tcGxldGlvbkhhbmRsZXIgOiAxOwogICAgICAgICBib29sIHdlYlZpZXdNb3VzZURpZE1v
dmVPdmVyRWxlbWVudFdpdGhGbGFnc1VzZXJJbmZvIDogMTsKICAgICAgICAgYm9vbCB3ZWJWaWV3
R2V0VG9vbGJhcnNBcmVWaXNpYmxlV2l0aENvbXBsZXRpb25IYW5kbGVyIDogMTsKICAgICAgICAg
Ym9vbCB3ZWJWaWV3RGlkRXhjZWVkQmFja2dyb3VuZFJlc291cmNlTGltaXRXaGlsZUluRm9yZWdy
b3VuZCA6IDE7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRl
Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdh
dGUubW0JKHJldmlzaW9uIDIyMTkyMikKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29h
L1VJRGVsZWdhdGUubW0JKHdvcmtpbmcgY29weSkKQEAgLTExNCw2ICsxMTQsOSBAQCB2b2lkIFVJ
RGVsZWdhdGU6OnNldERlbGVnYXRlKGlkIDxXS1VJRGVsCiAgICAgbV9kZWxlZ2F0ZU1ldGhvZHMu
d2ViVmlld0RpZFNjcm9sbCA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9y
KF93ZWJWaWV3RGlkU2Nyb2xsOildOwogICAgIG1fZGVsZWdhdGVNZXRob2RzLndlYlZpZXdHZXRU
b29sYmFyc0FyZVZpc2libGVXaXRoQ29tcGxldGlvbkhhbmRsZXIgPSBbZGVsZWdhdGUgcmVzcG9u
ZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlldzpnZXRUb29sYmFyc0FyZVZpc2libGVXaXRo
Q29tcGxldGlvbkhhbmRsZXI6KV07CiAgICAgbV9kZWxlZ2F0ZU1ldGhvZHMud2ViVmlld0RpZE5v
dEhhbmRsZVdoZWVsRXZlbnQgPSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rv
cihfd2ViVmlldzpkaWROb3RIYW5kbGVXaGVlbEV2ZW50OildOworICAgIG1fZGVsZWdhdGVNZXRo
b2RzLndlYlZpZXdTZXRSZXNpemFibGUgPSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBz
ZWxlY3Rvcihfd2ViVmlldzpzZXRSZXNpemFibGU6KV07CisgICAgbV9kZWxlZ2F0ZU1ldGhvZHMu
d2ViVmlld0dldFdpbmRvd0ZyYW1lV2l0aENvbXBsZXRpb25IYW5kbGVyID0gW2RlbGVnYXRlIHJl
c3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6Z2V0V2luZG93RnJhbWVXaXRoQ29t
cGxldGlvbkhhbmRsZXI6KV07CisgICAgbV9kZWxlZ2F0ZU1ldGhvZHMud2ViVmlld1NldFdpbmRv
d0ZyYW1lID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6
c2V0V2luZG93RnJhbWU6KV07CiAgICAgbV9kZWxlZ2F0ZU1ldGhvZHMud2ViVmlld1VuYXZhaWxh
YmxlUGx1Z0luQnV0dG9uQ2xpY2tlZCA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNl
bGVjdG9yKF93ZWJWaWV3OnVuYXZhaWxhYmxlUGx1Z0luQnV0dG9uQ2xpY2tlZFdpdGhSZWFzb246
cGx1Z0luSW5mbzopXTsKICAgICBtX2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3SGFuZGxlQXV0b3Bs
YXlFdmVudFdpdGhGbGFncyA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9y
KF93ZWJWaWV3OmhhbmRsZUF1dG9wbGF5RXZlbnQ6d2l0aEZsYWdzOildOwogICAgIG1fZGVsZWdh
dGVNZXRob2RzLndlYlZpZXdEaWRDbGlja0F1dG9GaWxsQnV0dG9uV2l0aFVzZXJJbmZvID0gW2Rl
bGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6ZGlkQ2xpY2tBdXRv
RmlsbEJ1dHRvbldpdGhVc2VySW5mbzopXTsKQEAgLTUxOCw2ICs1MjEsNDcgQEAgdm9pZCBVSURl
bGVnYXRlOjpVSUNsaWVudDo6ZGlkTm90SGFuZGxlVwogICAgIFsoaWQgPFdLVUlEZWxlZ2F0ZVBy
aXZhdGU+KWRlbGVnYXRlIF93ZWJWaWV3Om1fdWlEZWxlZ2F0ZS5tX3dlYlZpZXcgZGlkTm90SGFu
ZGxlV2hlZWxFdmVudDpldmVudC5uYXRpdmVFdmVudCgpXTsKIH0KIAordm9pZCBVSURlbGVnYXRl
OjpVSUNsaWVudDo6c2V0SXNSZXNpemFibGUoV2ViS2l0OjpXZWJQYWdlUHJveHkmLCBib29sIHJl
c2l6YWJsZSkKK3sKKyAgICBpZiAoIW1fdWlEZWxlZ2F0ZS5tX2RlbGVnYXRlTWV0aG9kcy53ZWJW
aWV3U2V0UmVzaXphYmxlKQorICAgICAgICByZXR1cm47CisgICAgCisgICAgYXV0byBkZWxlZ2F0
ZSA9IG1fdWlEZWxlZ2F0ZS5tX2RlbGVnYXRlLmdldCgpOworICAgIGlmICghZGVsZWdhdGUpCisg
ICAgICAgIHJldHVybjsKKyAgICAKKyAgICBbKGlkIDxXS1VJRGVsZWdhdGVQcml2YXRlPilkZWxl
Z2F0ZSBfd2ViVmlldzptX3VpRGVsZWdhdGUubV93ZWJWaWV3IHNldFJlc2l6YWJsZTpyZXNpemFi
bGVdOworfQorCit2b2lkIFVJRGVsZWdhdGU6OlVJQ2xpZW50OjpzZXRXaW5kb3dGcmFtZShXZWJL
aXQ6OldlYlBhZ2VQcm94eSYsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgZnJhbWUpCit7Cisg
ICAgaWYgKCFtX3VpRGVsZWdhdGUubV9kZWxlZ2F0ZU1ldGhvZHMud2ViVmlld1NldFdpbmRvd0Zy
YW1lKQorICAgICAgICByZXR1cm47CisgICAgCisgICAgYXV0byBkZWxlZ2F0ZSA9IG1fdWlEZWxl
Z2F0ZS5tX2RlbGVnYXRlLmdldCgpOworICAgIGlmICghZGVsZWdhdGUpCisgICAgICAgIHJldHVy
bjsKKyAgICAKKyAgICBbKGlkIDxXS1VJRGVsZWdhdGVQcml2YXRlPilkZWxlZ2F0ZSBfd2ViVmll
dzptX3VpRGVsZWdhdGUubV93ZWJWaWV3IHNldFdpbmRvd0ZyYW1lOmZyYW1lXTsKK30KKwordm9p
ZCBVSURlbGVnYXRlOjpVSUNsaWVudDo6d2luZG93RnJhbWUoV2ViS2l0OjpXZWJQYWdlUHJveHkm
LCBGdW5jdGlvbjx2b2lkKFdlYkNvcmU6OkZsb2F0UmVjdCk+JiYgY29tcGxldGlvbkhhbmRsZXIp
Cit7CisgICAgaWYgKCFtX3VpRGVsZWdhdGUubV9kZWxlZ2F0ZU1ldGhvZHMud2ViVmlld0dldFdp
bmRvd0ZyYW1lV2l0aENvbXBsZXRpb25IYW5kbGVyKQorICAgICAgICByZXR1cm4gY29tcGxldGlv
bkhhbmRsZXIoeyB9KTsKKyAgICAKKyAgICBhdXRvIGRlbGVnYXRlID0gbV91aURlbGVnYXRlLm1f
ZGVsZWdhdGUuZ2V0KCk7CisgICAgaWYgKCFkZWxlZ2F0ZSkKKyAgICAgICAgcmV0dXJuIGNvbXBs
ZXRpb25IYW5kbGVyKHsgfSk7CisgICAgCisgICAgWyhpZCA8V0tVSURlbGVnYXRlUHJpdmF0ZT4p
ZGVsZWdhdGUgX3dlYlZpZXc6bV91aURlbGVnYXRlLm1fd2ViVmlldyBnZXRXaW5kb3dGcmFtZVdp
dGhDb21wbGV0aW9uSGFuZGxlcjpCbG9ja1B0cjx2b2lkKENHUmVjdCk+Ojpmcm9tQ2FsbGFibGUo
W2NvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlciksIGNoZWNrZXIg
PSBDb21wbGV0aW9uSGFuZGxlckNhbGxDaGVja2VyOjpjcmVhdGUoZGVsZWdhdGUuZ2V0KCksIEBz
ZWxlY3Rvcihfd2ViVmlldzpnZXRXaW5kb3dGcmFtZVdpdGhDb21wbGV0aW9uSGFuZGxlcjopKV0o
Q0dSZWN0IGZyYW1lKSB7CisgICAgICAgIGlmIChjaGVja2VyLT5jb21wbGV0aW9uSGFuZGxlckhh
c0JlZW5DYWxsZWQoKSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgY2hlY2tlci0+ZGlk
Q2FsbENvbXBsZXRpb25IYW5kbGVyKCk7CisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKGZyYW1l
KTsKKyAgICB9KS5nZXQoKV07Cit9CisKIHN0YXRpYyBOU0V2ZW50TW9kaWZpZXJGbGFncyB0b05T
RXZlbnRNb2RpZmllckZsYWdzKFdlYkV2ZW50OjpNb2RpZmllcnMgbW9kaWZpZXJzKQogewogICAg
IE5TRXZlbnRNb2RpZmllckZsYWdzIGZsYWdzID0gMDsKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDIyMTk4MSkKKysrIFRvb2xz
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDE3LTA5LTEzICBB
bGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQWRk
IFdLVUlEZWxlZ2F0ZVByaXZhdGUgZXF1aXZhbGVudCBvZiBXS1BhZ2VVSUNsaWVudCdzIHNldElz
UmVzaXphYmxlLCBnZXRXaW5kb3dGcmFtZSwgYW5kIHNldFdpbmRvd0ZyYW1lCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzY4NTcKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzI5MjcwMDM1PgorCisgICAgICAgIFJldmlld2VkIGJ5IFRpbSBIb3J0b24u
CisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1VJRGVsZWdhdGUu
bW06CisgICAgICAgICgtW01vZGFsRGVsZWdhdGUgX3dlYlZpZXdSdW5Nb2RhbDpdKToKKyAgICAg
ICAgKC1bTW9kYWxEZWxlZ2F0ZSBfd2ViVmlldzpzZXRSZXNpemFibGU6XSk6CisgICAgICAgICgt
W1dpbmRvd0ZyYW1lRGVsZWdhdGUgX3dlYlZpZXc6c2V0V2luZG93RnJhbWU6XSk6CisgICAgICAg
ICgtW1dpbmRvd0ZyYW1lRGVsZWdhdGUgX3dlYlZpZXc6Z2V0V2luZG93RnJhbWVXaXRoQ29tcGxl
dGlvbkhhbmRsZXI6XSk6CisgICAgICAgICgtW1dpbmRvd0ZyYW1lRGVsZWdhdGUgd2ViVmlldzpy
dW5KYXZhU2NyaXB0QWxlcnRQYW5lbFdpdGhNZXNzYWdlOmluaXRpYXRlZEJ5RnJhbWU6Y29tcGxl
dGlvbkhhbmRsZXI6XSk6CisgICAgICAgIChURVNUKToKKyAgICAgICAgKC1bUmVzaXphYmxlRGVs
ZWdhdGUgX3dlYlZpZXc6c2V0UmVzaXphYmxlOl0pOgorICAgICAgICAoLVtSZXNpemFibGVEZWxl
Z2F0ZSBfd2ViVmlldzpnZXRJc1Jlc2l6YWJsZVdpdGhDb21wbGV0aW9uSGFuZGxlcjpdKToKKyAg
ICAgICAgKC1bUmVzaXphYmxlRGVsZWdhdGUgd2ViVmlldzpydW5KYXZhU2NyaXB0QWxlcnRQYW5l
bFdpdGhNZXNzYWdlOmluaXRpYXRlZEJ5RnJhbWU6Y29tcGxldGlvbkhhbmRsZXI6XSk6CisKIDIw
MTctMDktMTMgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIEFk
ZCBhIGxhbWJkYS1iYXNlZCBtYXAgZm9yIFZlY3RvcnMKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Q29jb2EvVUlEZWxlZ2F0ZS5tbQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1VJRGVsZWdhdGUubW0JKHJldmlzaW9uIDIy
MTkyMykKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvVUlEZWxlZ2F0
ZS5tbQkod29ya2luZyBjb3B5KQpAQCAtMjAxLDYgKzIwMSw4IEBAIFRFU1QoV2ViS2l0LCBTaG93
V2ViVmlldykKICAgICBBU1NFUlRfRVEod2ViVmlld0Zyb21EZWxlZ2F0ZUNhbGxiYWNrLCBjcmVh
dGVkV2ViVmlldyk7CiB9CiAKK3N0YXRpYyBib29sIHJlc2l6YWJsZVNldDsKKwogQGludGVyZmFj
ZSBNb2RhbERlbGVnYXRlIDogTlNPYmplY3QgPFdLVUlEZWxlZ2F0ZVByaXZhdGU+CiBAZW5kCiAK
QEAgLTIwOCwxMCArMjEwLDE3IEBAIEBpbnRlcmZhY2UgTW9kYWxEZWxlZ2F0ZSA6IE5TT2JqZWN0
IDxXS1UKIAogLSAodm9pZClfd2ViVmlld1J1bk1vZGFsOihXS1dlYlZpZXcgKil3ZWJWaWV3CiB7
CisgICAgRVhQRUNUX1RSVUUocmVzaXphYmxlU2V0KTsKICAgICBFWFBFQ1RfRVEod2ViVmlldywg
Y3JlYXRlZFdlYlZpZXcuZ2V0KCkpOwogICAgIGRvbmUgPSB0cnVlOwogfQogCistICh2b2lkKV93
ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IHNldFJlc2l6YWJsZTooQk9PTClpc1Jlc2l6YWJs
ZQoreworICAgIEVYUEVDVF9GQUxTRShpc1Jlc2l6YWJsZSk7CisgICAgcmVzaXphYmxlU2V0ID0g
dHJ1ZTsKK30KKwogLSAobnVsbGFibGUgV0tXZWJWaWV3ICopd2ViVmlldzooV0tXZWJWaWV3ICop
d2ViVmlldyBjcmVhdGVXZWJWaWV3V2l0aENvbmZpZ3VyYXRpb246KFdLV2ViVmlld0NvbmZpZ3Vy
YXRpb24gKiljb25maWd1cmF0aW9uIGZvck5hdmlnYXRpb25BY3Rpb246KFdLTmF2aWdhdGlvbkFj
dGlvbiAqKW5hdmlnYXRpb25BY3Rpb24gd2luZG93RmVhdHVyZXM6KFdLV2luZG93RmVhdHVyZXMg
Kil3aW5kb3dGZWF0dXJlcwogewogICAgIGNyZWF0ZWRXZWJWaWV3ID0gW1tbVGVzdFdLV2ViVmll
dyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDgwMCwgNjAwKSBjb25maWd1
cmF0aW9uOmNvbmZpZ3VyYXRpb25dIGF1dG9yZWxlYXNlXTsKQEAgLTIzMyw2ICsyNDIsNDYgQEAg
VEVTVChXZWJLaXQsIFJ1bk1vZGFsKQogICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9u
ZSk7CiB9CiAKK3N0YXRpYyBib29sIHJlY2VpdmVkV2luZG93RnJhbWU7CisKK0BpbnRlcmZhY2Ug
V2luZG93RnJhbWVEZWxlZ2F0ZSA6IE5TT2JqZWN0IDxXS1VJRGVsZWdhdGVQcml2YXRlPgorQGVu
ZAorCitAaW1wbGVtZW50YXRpb24gV2luZG93RnJhbWVEZWxlZ2F0ZQorCistICh2b2lkKV93ZWJW
aWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IHNldFdpbmRvd0ZyYW1lOihDR1JlY3QpZnJhbWUKK3sK
KyAgICBFWFBFQ1RfRVEoZnJhbWUub3JpZ2luLngsIDE2MCk7CisgICAgRVhQRUNUX0VRKGZyYW1l
Lm9yaWdpbi55LCAyMzApOworICAgIEVYUEVDVF9FUShmcmFtZS5zaXplLndpZHRoLCAzNTApOwor
ICAgIEVYUEVDVF9FUShmcmFtZS5zaXplLmhlaWdodCwgNDUwKTsKKyAgICByZWNlaXZlZFdpbmRv
d0ZyYW1lID0gdHJ1ZTsKK30KKworLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmll
dyBnZXRXaW5kb3dGcmFtZVdpdGhDb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoQ0dSZWN0KSlj
b21wbGV0aW9uSGFuZGxlcgoreworICAgIGNvbXBsZXRpb25IYW5kbGVyKENHUmVjdE1ha2UoMTUw
LCAyNTAsIDM1MCwgNDUwKSk7Cit9CisKKy0gKHZvaWQpd2ViVmlldzooV0tXZWJWaWV3ICopd2Vi
VmlldyBydW5KYXZhU2NyaXB0QWxlcnRQYW5lbFdpdGhNZXNzYWdlOihOU1N0cmluZyAqKW1lc3Nh
Z2UgaW5pdGlhdGVkQnlGcmFtZTooV0tGcmFtZUluZm8gKilmcmFtZSBjb21wbGV0aW9uSGFuZGxl
cjoodm9pZCAoXikodm9pZCkpY29tcGxldGlvbkhhbmRsZXIKK3sKKyAgICBFWFBFQ1RfU1RSRVEo
IjM1MCIsIG1lc3NhZ2UuVVRGOFN0cmluZyk7CisgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKKyAg
ICBkb25lID0gdHJ1ZTsKK30KKworQGVuZAorCitURVNUKFdlYktpdCwgV2luZG93RnJhbWUpCit7
CisgICAgYXV0byBkZWxlZ2F0ZSA9IGFkb3B0TlMoW1tXaW5kb3dGcmFtZURlbGVnYXRlIGFsbG9j
XSBpbml0XSk7CisgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1dLV2ViVmlldyBhbGxvY10g
aW5pdF0pOworICAgIFt3ZWJWaWV3IHNldFVJRGVsZWdhdGU6ZGVsZWdhdGUuZ2V0KCldOworICAg
IFt3ZWJWaWV3IGxvYWRIVE1MU3RyaW5nOkAiPHNjcmlwdD5tb3ZlQnkoMTAsMjApO2FsZXJ0KG91
dGVyV2lkdGgpOzwvc2NyaXB0PiIgYmFzZVVSTDpuaWxdOworICAgIFRlc3RXZWJLaXRBUEk6OlV0
aWw6OnJ1bigmcmVjZWl2ZWRXaW5kb3dGcmFtZSk7CisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6
cnVuKCZkb25lKTsKK30KKwogQGludGVyZmFjZSBOb3RpZmljYXRpb25EZWxlZ2F0ZSA6IE5TT2Jq
ZWN0IDxXS1VJRGVsZWdhdGVQcml2YXRlPiB7CiAgICAgYm9vbCBfYWxsb3dOb3RpZmljYXRpb25z
OwogfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>