<?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>64615</bug_id>
          
          <creation_ts>2011-07-15 12:12:20 -0700</creation_ts>
          <short_desc>REGRESSION: Mouse cursor doesn’t hide when full screen video HUD hides</short_desc>
          <delta_ts>2011-07-20 10:02:58 -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>Media</component>
          <version>528+ (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>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>mitz</reporter>
          <assigned_to>mitz</assigned_to>
          <cc>benjamin</cc>
    
    <cc>darin</cc>
    
    <cc>dbates</cc>
    
    <cc>jer.noble</cc>
    
    <cc>kenneth</cc>
    
    <cc>kling</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>437893</commentid>
    <comment_count>0</comment_count>
    <who name="">mitz</who>
    <bug_when>2011-07-15 12:12:20 -0700</bug_when>
    <thetext>REGRESSION: Mouse cursor doesn’t hide when full screen video HUD hides</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>437894</commentid>
    <comment_count>1</comment_count>
    <who name="">mitz</who>
    <bug_when>2011-07-15 12:12:50 -0700</bug_when>
    <thetext>&lt;rdar://problem/9525626&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>437898</commentid>
    <comment_count>2</comment_count>
      <attachid>101023</attachid>
    <who name="">mitz</who>
    <bug_when>2011-07-15 12:20:02 -0700</bug_when>
    <thetext>Created attachment 101023
Add Chrome::setCursorHiddenUntilMouseMoved() and call it from the media controls</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>437908</commentid>
    <comment_count>3</comment_count>
      <attachid>101023</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-07-15 12:31:55 -0700</bug_when>
    <thetext>Comment on attachment 101023
Add Chrome::setCursorHiddenUntilMouseMoved() and call it from the media controls

Looks good, but please fix the build failures before committing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>437931</commentid>
    <comment_count>4</comment_count>
    <who name="">mitz</who>
    <bug_when>2011-07-15 13:08:03 -0700</bug_when>
    <thetext>Fixed in r91097. &lt;http://trac.webkit.org/r91097&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>438063</commentid>
    <comment_count>5</comment_count>
      <attachid>101023</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-07-15 16:59:44 -0700</bug_when>
    <thetext>Comment on attachment 101023
Add Chrome::setCursorHiddenUntilMouseMoved() and call it from the media controls

Do we really need the boolean? Would we ever call this with false? What would it mean if we did?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>438064</commentid>
    <comment_count>6</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-07-15 17:00:08 -0700</bug_when>
    <thetext>8&gt;c:\cygwin\home\buildbot\webkit\source\webkit2\uiprocess\win\WebView.h(70) : error C2259: &apos;WebKit::WebView&apos; : cannot instantiate abstract class
8&gt;        due to following members:
8&gt;        &apos;void WebKit::PageClient::setCursorHiddenUntilMouseMoves(bool)&apos; : is abstract
8&gt;        c:\cygwin\home\buildbot\WebKit\Source\WebKit2\UIProcess\PageClient.h(113) : see declaration of &apos;WebKit::PageClient::setCursorHiddenUntilMouseMoves&apos;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>438082</commentid>
    <comment_count>7</comment_count>
    <who name="">mitz</who>
    <bug_when>2011-07-15 17:57:34 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 101023 [details])
&gt; Do we really need the boolean?

No.

&gt; Would we ever call this with false?

Maybe if we wanted to fix a hypothetical bug where when the page ends fullscreen video mode the mouse cursor doesn’t show up.

&gt; What would it mean if we did?

It would show the cursor if it were still hidden as a result of calling this with true.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>438217</commentid>
    <comment_count>8</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2011-07-16 17:52:20 -0700</bug_when>
    <thetext>This patch broke the Qt Linux Release build:

&lt;http://build.webkit.org/builders/Qt%20Linux%20Release/builds/35466/steps/compile-webkit/logs/stdio&gt;

It looks like an implementation of setCursorHiddenUntilMouseMoves() is needed for the Qt WebKit2 port from looking at the stdio bot output.

Committed build fix in changeset 91159 &lt;http://trac.webkit.org/changeset/91159&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>438219</commentid>
    <comment_count>9</comment_count>
    <who name="">mitz</who>
    <bug_when>2011-07-16 17:59:20 -0700</bug_when>
    <thetext>Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>438223</commentid>
    <comment_count>10</comment_count>
    <who name="">mitz</who>
    <bug_when>2011-07-16 18:02:29 -0700</bug_when>
    <thetext>Is there a reason why the Qt PageClient is called QtWebPageProxy? I think that’s why I didn’t notice that it needed this change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>438235</commentid>
    <comment_count>11</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2011-07-16 19:53:49 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; Is there a reason why the Qt PageClient is called QtWebPageProxy? I think that’s why I didn’t notice that it needed this change.

I don&apos;t know. CC&apos;ing Andreas Kling, Benjamin Poulain and Kenneth Rohde Christiansen who may have some insight about the name.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>438274</commentid>
    <comment_count>12</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2011-07-17 04:14:20 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; Is there a reason why the Qt PageClient is called QtWebPageProxy? I think that’s why I didn’t notice that it needed this change.

It is a work-in-progress class from the old design (where we had QWKPagePrivate being both a wrapper around WebPageProxy and an implementation of PageClient.

That should get cleaner as we are splitting the old classes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>438324</commentid>
    <comment_count>13</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-07-17 19:57:42 -0700</bug_when>
    <thetext>Could this have been fixed by adding a &quot;cursor:none&quot; CSS style to the full screen stylesheets?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>439860</commentid>
    <comment_count>14</comment_count>
    <who name="">mitz</who>
    <bug_when>2011-07-20 10:02:58 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; Could this have been fixed by adding a &quot;cursor:none&quot; CSS style to the full screen stylesheets?

It couldn’t have just been added to the style sheets, as the cursor needs to be hidden and shown dynamically, but you are right that it may have been possible to control this using a style declaration and the existing CSS cursor mechanism.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>101023</attachid>
            <date>2011-07-15 12:20:02 -0700</date>
            <delta_ts>2011-07-15 16:59:44 -0700</delta_ts>
            <desc>Add Chrome::setCursorHiddenUntilMouseMoved() and call it from the media controls</desc>
            <filename>bug-64615-20110715122001.patch</filename>
            <type>text/plain</type>
            <size>30619</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDkxMDg1KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTEtMDctMTUgIERhbiBCZXJu
c3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OOiBNb3VzZSBjdXJz
b3IgZG9lc27igJl0IGhpZGUgd2hlbiBmdWxsIHNjcmVlbiB2aWRlbyBIVUQgaGlkZXMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY0NjE1CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodG1sL3NoYWRvdy9N
ZWRpYUNvbnRyb2xSb290RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRy
b2xSb290RWxlbWVudDo6ZW50ZXJlZEZ1bGxzY3JlZW4pOiBIaWRlIHRoZSBtb3VzZSBjdXJzb3Ig
aW1tZWRpYXRlbHkgd2hlbgorICAgICAgICBlbnRlcmluZyBmdWxsIHNjcmVlbi4KKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhQ29udHJvbFJvb3RFbGVtZW50OjpoaWRlRnVsbHNjcmVlbkNvbnRyb2xz
VGltZXJGaXJlZCk6IEhpZGUgdGhlIG1vdXNlIGN1cnNvciB3aGVuCisgICAgICAgIGhpZGluZyB0
aGUgSFVELgorICAgICAgICAqIGxvYWRlci9FbXB0eUNsaWVudHMuaDoKKyAgICAgICAgKFdlYkNv
cmU6OkVtcHR5Q2hyb21lQ2xpZW50OjpzZXRDdXJzb3JIaWRkZW5VbnRpbE1vdXNlTW92ZXMpOiBB
ZGRlZCBlbXB0eSBpbXBsZW1lbnRhdGlvbi4KKyAgICAgICAgKiBwYWdlL0Nocm9tZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpDaHJvbWU6OnNldEN1cnNvckhpZGRlblVudGlsTW91c2VNb3Zlcyk6
IEFkZGVkLiBDYWxscyB0aHJvdWdoIHRvIHRoZSBjbGllbnQuCisgICAgICAgICogcGFnZS9DaHJv
bWUuaDoKKyAgICAgICAgKiBwYWdlL0Nocm9tZUNsaWVudC5oOgorICAgICAgICAqIHBsYXRmb3Jt
L0hvc3RXaW5kb3cuaDoKKwogMjAxMS0wNy0xNSAgUHJhdGlrIFNvbGFua2kgIDxwc29sYW5raUBh
cHBsZS5jb20+CiAKICAgICAgICAgUGFydCBvZiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NjM2NzQKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlh
Q29udHJvbFJvb3RFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9NZWRpYUNvbnRyb2xSb290RWxlbWVudC5jcHAJKHJldmlzaW9uIDkxMDcxKQorKysg
U291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sUm9vdEVsZW1lbnQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0yOSw2ICsyOSw3IEBACiAjaWYgRU5BQkxFKFZJREVPKQogI2luY2x1
ZGUgIk1lZGlhQ29udHJvbFJvb3RFbGVtZW50LmgiCiAKKyNpbmNsdWRlICJDaHJvbWUuaCIKICNp
bmNsdWRlICJNZWRpYUNvbnRyb2xFbGVtZW50cy5oIgogI2luY2x1ZGUgIk1vdXNlRXZlbnQuaCIK
ICNpbmNsdWRlICJQYWdlLmgiCkBAIC00NTMsNiArNDU0LDkgQEAgdm9pZCBNZWRpYUNvbnRyb2xS
b290RWxlbWVudDo6ZW50ZXJlZEZ1bAogCiAgICAgbV9wYW5lbC0+c2V0Q2FuQmVEcmFnZ2VkKHRy
dWUpOwogCisgICAgaWYgKFBhZ2UqIHBhZ2UgPSBtX21lZGlhRWxlbWVudC0+ZG9jdW1lbnQoKS0+
cGFnZSgpKQorICAgICAgICBwYWdlLT5jaHJvbWUoKS0+c2V0Q3Vyc29ySGlkZGVuVW50aWxNb3Vz
ZU1vdmVzKHRydWUpOworCiAgICAgc3RhcnRIaWRlRnVsbHNjcmVlbkNvbnRyb2xzVGltZXIoKTsK
IH0KIApAQCAtNTQ3LDcgKzU1MSwxMCBAQCB2b2lkIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Ojpo
aWRlRnVsbHNjCiAgICAgCiAgICAgaWYgKCFzaG91bGRIaWRlQ29udHJvbHMoKSkKICAgICAgICAg
cmV0dXJuOwotICAgIAorCisgICAgaWYgKFBhZ2UqIHBhZ2UgPSBtX21lZGlhRWxlbWVudC0+ZG9j
dW1lbnQoKS0+cGFnZSgpKQorICAgICAgICBwYWdlLT5jaHJvbWUoKS0+c2V0Q3Vyc29ySGlkZGVu
VW50aWxNb3VzZU1vdmVzKHRydWUpOworCiAgICAgbWFrZVRyYW5zcGFyZW50KCk7CiB9CiAKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgJKHJldmlzaW9uIDkxMDcxKQorKysg
U291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCSh3b3JraW5nIGNvcHkpCkBAIC0y
MDUsNiArMjA1LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBlbGVtZW50RGlkQmx1cihj
b25zdCBOb2RlKikgeyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgc2V0Q3Vyc29yKGNvbnN0IEN1cnNv
ciYpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBzZXRDdXJzb3JIaWRkZW5VbnRpbE1vdXNlTW92ZXMo
Ym9vbCkgeyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsUmVjdEludG9WaWV3KGNvbnN0IElu
dFJlY3QmLCBjb25zdCBTY3JvbGxWaWV3KikgY29uc3Qge30KIApJbmRleDogU291cmNlL1dlYkNv
cmUvcGFnZS9DaHJvbWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hy
b21lLmNwcAkocmV2aXNpb24gOTEwNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTQ4Nyw2ICs0ODcsMTEgQEAgdm9pZCBDaHJvbWU6OnNldEN1
cnNvcihjb25zdCBDdXJzb3ImIGN1cgogICAgIG1fY2xpZW50LT5zZXRDdXJzb3IoY3Vyc29yKTsK
IH0KIAordm9pZCBDaHJvbWU6OnNldEN1cnNvckhpZGRlblVudGlsTW91c2VNb3Zlcyhib29sIGhp
ZGRlblVudGlsTW91c2VNb3ZlcykKK3sKKyAgICBtX2NsaWVudC0+c2V0Q3Vyc29ySGlkZGVuVW50
aWxNb3VzZU1vdmVzKGhpZGRlblVudGlsTW91c2VNb3Zlcyk7Cit9CisKICNpZiBFTkFCTEUoUkVR
VUVTVF9BTklNQVRJT05fRlJBTUUpCiB2b2lkIENocm9tZTo6c2NoZWR1bGVBbmltYXRpb24oKQog
ewpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5oCShyZXZpc2lvbiA5MTA3MSkKKysrIFNvdXJjZS9XZWJD
b3JlL3BhZ2UvQ2hyb21lLmgJKHdvcmtpbmcgY29weSkKQEAgLTc4LDYgKzc4LDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIFBsYXRmb3JtUGFnZUNsaWVudCBwbGF0Zm9y
bVBhZ2VDbGllbnQoKSBjb25zdDsKICAgICAgICAgdmlydHVhbCB2b2lkIHNjcm9sbGJhcnNNb2Rl
RGlkQ2hhbmdlKCkgY29uc3Q7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBzZXRDdXJzb3IoY29uc3Qg
Q3Vyc29yJik7CisgICAgICAgIHZpcnR1YWwgdm9pZCBzZXRDdXJzb3JIaWRkZW5VbnRpbE1vdXNl
TW92ZXMoYm9vbCk7CisKICNpZiBFTkFCTEUoUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpCiAgICAg
ICAgIHZpcnR1YWwgdm9pZCBzY2hlZHVsZUFuaW1hdGlvbigpOwogI2VuZGlmCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgJKHJldmlzaW9uIDkxMDcxKQorKysgU291cmNlL1dlYkNv
cmUvcGFnZS9DaHJvbWVDbGllbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMTU2LDYgKzE1Niw3IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCBQbGF0Zm9ybVBhZ2VDbGllbnQg
cGxhdGZvcm1QYWdlQ2xpZW50KCkgY29uc3QgPSAwOwogICAgICAgICB2aXJ0dWFsIHZvaWQgc2Ny
b2xsYmFyc01vZGVEaWRDaGFuZ2UoKSBjb25zdCA9IDA7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBz
ZXRDdXJzb3IoY29uc3QgQ3Vyc29yJikgPSAwOworICAgICAgICB2aXJ0dWFsIHZvaWQgc2V0Q3Vy
c29ySGlkZGVuVW50aWxNb3VzZU1vdmVzKGJvb2wpID0gMDsKICNpZiBFTkFCTEUoUkVRVUVTVF9B
TklNQVRJT05fRlJBTUUpCiAgICAgICAgIHZpcnR1YWwgdm9pZCBzY2hlZHVsZUFuaW1hdGlvbigp
ID0gMDsKICNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vSG9zdFdpbmRvdy5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0hvc3RXaW5kb3cuaAkocmV2
aXNpb24gOTEwNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Ib3N0V2luZG93LmgJKHdv
cmtpbmcgY29weSkKQEAgLTY4LDYgKzY4LDggQEAgcHVibGljOgogICAgIC8vIFJlcXVlc3QgdGhh
dCB0aGUgY3Vyc29yIGNoYW5nZS4KICAgICB2aXJ0dWFsIHZvaWQgc2V0Q3Vyc29yKGNvbnN0IEN1
cnNvciYpID0gMDsKIAorICAgIHZpcnR1YWwgdm9pZCBzZXRDdXJzb3JIaWRkZW5VbnRpbE1vdXNl
TW92ZXMoYm9vbCkgPSAwOworCiAjaWYgRU5BQkxFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKQog
ICAgIHZpcnR1YWwgdm9pZCBzY2hlZHVsZUFuaW1hdGlvbigpID0gMDsKICNlbmRpZgpJbmRleDog
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwkocmV2aXNpb24gOTEwODUpCisrKyBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSwyOSBAQAorMjAxMS0wNy0xNSAgRGFuIEJlcm5zdGVpbiAg
PG1pdHpAYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT046IE1vdXNlIGN1cnNvciBkb2Vz
buKAmXQgaGlkZSB3aGVuIGZ1bGwgc2NyZWVuIHZpZGVvIEhVRCBoaWRlcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ2MTUKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL1Bh
Z2VDbGllbnRJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6OnNldEN1
cnNvckhpZGRlblVudGlsTW91c2VNb3Zlcyk6IEFkZGVkIHRoaXMgc3R1Yi4KKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL2VmbC9QYWdlQ2xpZW50SW1wbC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvZ3RrL1BhZ2VDbGllbnRJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudElt
cGw6OnNldEN1cnNvckhpZGRlblVudGlsTW91c2VNb3Zlcyk6IERpdHRvLgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJbXBsLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9tYWMvUGFnZUNsaWVudEltcGwuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL21hYy9QYWdl
Q2xpZW50SW1wbC5tbToKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6OnNldEN1cnNv
ckhpZGRlblVudGlsTW91c2VNb3Zlcyk6IEFkZGVkLiBDYWxscyArW05TQ3Vyc29yIHNldEhpZGRl
blVudGlsTW91c2VNb3ZlczpdLgorICAgICAgICAqIFVJUHJvY2Vzcy9QYWdlQ2xpZW50Lmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
YlBhZ2VQcm94eTo6c2V0Q3Vyc29ySGlkZGVuVW50aWxNb3VzZU1vdmVzKTogQWRkZWQuIENhbGxz
IHRocm91Z2ggdG8gdGhlIFBhZ2VDbGllbnQuCisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46IEFk
ZGVkIFNldEN1cnNvckhpZGRlblVudGlsTW91c2VNb3ZlcyBtZXNzYWdlLgorICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViQ2hyb21lQ2xpZW50OjpzZXRDdXJzb3JIaWRkZW5VbnRpbE1vdXNlTW92ZXMpOiBB
ZGRlZC4gU2VuZHMgU2V0Q3Vyc29ySGlkZGVuVW50aWxNb3VzZU1vdmVzIG1lc3NhZ2UKKyAgICAg
ICAgdG8gdGhlIHBhZ2UgcHJveHkuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQuaDoKKwogMjAxMS0wNy0xNSAgQW5kZXJzIENhcmxzc29uICA8YW5k
ZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAgIEZpbmQgaW5kaWNhdG9yIHNob3VsZCB0YWtlIHNj
YWxlIGZhY3RvciBpbnRvIGFjY291bnQKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Q
YWdlQ2xpZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VD
bGllbnQuaAkocmV2aXNpb24gOTEwNzEpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFn
ZUNsaWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMTAsNiArMTEwLDcgQEAgcHVibGljOgogI2Vu
ZGlmCiAKICAgICB2aXJ0dWFsIHZvaWQgc2V0Q3Vyc29yKGNvbnN0IFdlYkNvcmU6OkN1cnNvciYp
ID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0Q3Vyc29ySGlkZGVuVW50aWxNb3VzZU1vdmVzKGJv
b2wpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0Vmlld3BvcnRBcmd1bWVudHMoY29uc3QgV2Vi
Q29yZTo6Vmlld3BvcnRBcmd1bWVudHMmKSA9IDA7CiAKICAgICB2aXJ0dWFsIHZvaWQgcmVnaXN0
ZXJFZGl0Q29tbWFuZChQYXNzUmVmUHRyPFdlYkVkaXRDb21tYW5kUHJveHk+LCBXZWJQYWdlUHJv
eHk6OlVuZG9PclJlZG8pID0gMDsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuY3BwCShyZXZpc2lvbiA5MTA3MSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNjYzLDYgKzI2NjMsMTEgQEAg
dm9pZCBXZWJQYWdlUHJveHk6OnNldEN1cnNvcihjb25zdCBDdXJzbwogICAgIG1fcGFnZUNsaWVu
dC0+c2V0Q3Vyc29yKGN1cnNvcik7CiB9CiAKK3ZvaWQgV2ViUGFnZVByb3h5OjpzZXRDdXJzb3JI
aWRkZW5VbnRpbE1vdXNlTW92ZXMoYm9vbCBoaWRkZW5VbnRpbE1vdXNlTW92ZXMpCit7CisgICAg
bV9wYWdlQ2xpZW50LT5zZXRDdXJzb3JIaWRkZW5VbnRpbE1vdXNlTW92ZXMoaGlkZGVuVW50aWxN
b3VzZU1vdmVzKTsKK30KKwogI2lmIE1FUkdFX1dIRUVMX0VWRU5UUwogc3RhdGljIGJvb2wgY2Fu
Q29hbGVzY2UoY29uc3QgV2ViV2hlZWxFdmVudCYgYSwgY29uc3QgV2ViV2hlZWxFdmVudCYgYikK
IHsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgJKHJldmlzaW9u
IDkxMDcxKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC03MzksNiArNzM5LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHRha2VGb2N1
cyh1aW50MzJfdCBkaXJlY3Rpb24pOwogICAgIHZvaWQgc2V0VG9vbFRpcChjb25zdCBTdHJpbmcm
KTsKICAgICB2b2lkIHNldEN1cnNvcihjb25zdCBXZWJDb3JlOjpDdXJzb3ImKTsKKyAgICB2b2lk
IHNldEN1cnNvckhpZGRlblVudGlsTW91c2VNb3Zlcyhib29sKTsKIAogICAgIHZvaWQgZGlkUmVj
ZWl2ZUV2ZW50KHVpbnQzMl90IG9wYXF1ZVR5cGUsIGJvb2wgaGFuZGxlZCk7CiAgICAgdm9pZCBz
dG9wUmVzcG9uc2l2ZW5lc3NUaW1lcigpOwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCShyZXZpc2lvbiA5MTA3MSkKKysrIFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4JKHdvcmtpbmcg
Y29weSkKQEAgLTM1LDYgKzM1LDcgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICAgICBE
aWRSZWNlaXZlRXZlbnQodWludDMyX3QgdHlwZSwgYm9vbCBoYW5kbGVkKQogICAgIFN0b3BSZXNw
b25zaXZlbmVzc1RpbWVyKCkKICAgICBTZXRDdXJzb3IoV2ViQ29yZTo6Q3Vyc29yIGN1cnNvcikK
KyAgICBTZXRDdXJzb3JIaWRkZW5VbnRpbE1vdXNlTW92ZXMoYm9vbCBoaWRkZW5VbnRpbE1vdXNl
TW92ZXMpCiAgICAgU2V0U3RhdHVzVGV4dChXVEY6OlN0cmluZyBzdGF0dXNUZXh0KQogICAgIFNl
dFRvb2xUaXAoV1RGOjpTdHJpbmcgdG9vbFRpcCkKICAgICBTZXRGb2N1cyhib29sIGZvY3VzZWQp
CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9QYWdlQ2xpZW50SW1wbC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvUGFnZUNs
aWVudEltcGwuY3BwCShyZXZpc2lvbiA5MTA3MSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZWZsL1BhZ2VDbGllbnRJbXBsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTI1LDYgKzEy
NSwxMSBAQCB2b2lkIFBhZ2VDbGllbnRJbXBsOjpzZXRDdXJzb3IoY29uc3QgQ3VyCiAgICAgbm90
SW1wbGVtZW50ZWQoKTsKIH0KIAordm9pZCBQYWdlQ2xpZW50SW1wbDo6c2V0Q3Vyc29ySGlkZGVu
VW50aWxNb3VzZU1vdmVzKGJvb2wpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKwogdm9p
ZCBQYWdlQ2xpZW50SW1wbDo6c2V0Vmlld3BvcnRBcmd1bWVudHMoY29uc3QgV2ViQ29yZTo6Vmll
d3BvcnRBcmd1bWVudHMmKQogewogICAgIG5vdEltcGxlbWVudGVkKCk7CkluZGV4OiBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9QYWdlQ2xpZW50SW1wbC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL1BhZ2VDbGllbnRJbXBsLmgJKHJldmlz
aW9uIDkxMDcxKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvUGFnZUNsaWVu
dEltcGwuaAkod29ya2luZyBjb3B5KQpAQCAtNjQsNiArNjQsNyBAQCBwcml2YXRlOgogICAgIHZp
cnR1YWwgdm9pZCB0b29sVGlwQ2hhbmdlZChjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmKTsK
IAogICAgIHZpcnR1YWwgdm9pZCBzZXRDdXJzb3IoY29uc3QgV2ViQ29yZTo6Q3Vyc29yJik7Cisg
ICAgdmlydHVhbCB2b2lkIHNldEN1cnNvckhpZGRlblVudGlsTW91c2VNb3Zlcyhib29sKTsKICAg
ICB2aXJ0dWFsIHZvaWQgc2V0Vmlld3BvcnRBcmd1bWVudHMoY29uc3QgV2ViQ29yZTo6Vmlld3Bv
cnRBcmd1bWVudHMmKTsKIAogICAgIHZpcnR1YWwgdm9pZCByZWdpc3RlckVkaXRDb21tYW5kKFBh
c3NSZWZQdHI8V2ViRWRpdENvbW1hbmRQcm94eT4sIFdlYlBhZ2VQcm94eTo6VW5kb09yUmVkbyk7
CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50SW1wbC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNs
aWVudEltcGwuY3BwCShyZXZpc2lvbiA5MTA3MSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZ3RrL1BhZ2VDbGllbnRJbXBsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTQ4LDYgKzE0
OCwxMSBAQCB2b2lkIFBhZ2VDbGllbnRJbXBsOjpzZXRDdXJzb3IoY29uc3QgQ3VyCiAgICAgICAg
IGdka193aW5kb3dfc2V0X2N1cnNvcih3aW5kb3csIG5ld0N1cnNvcik7CiB9CiAKK3ZvaWQgUGFn
ZUNsaWVudEltcGw6OnNldEN1cnNvckhpZGRlblVudGlsTW91c2VNb3Zlcyhib29sIGhpZGRlblVu
dGlsTW91c2VNb3ZlcykKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCiB2b2lkIFBhZ2VD
bGllbnRJbXBsOjpzZXRWaWV3cG9ydEFyZ3VtZW50cyhjb25zdCBXZWJDb3JlOjpWaWV3cG9ydEFy
Z3VtZW50cyYpCiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJbXBsLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuaAkocmV2aXNpb24gOTEw
NzEpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50SW1wbC5o
CSh3b3JraW5nIGNvcHkpCkBAIC02OCw2ICs2OCw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2
b2lkIHRha2VGb2N1cyhib29sIGRpcmVjdGlvbik7CiAgICAgdmlydHVhbCB2b2lkIHRvb2xUaXBD
aGFuZ2VkKGNvbnN0IFdURjo6U3RyaW5nJiwgY29uc3QgV1RGOjpTdHJpbmcmKTsKICAgICB2aXJ0
dWFsIHZvaWQgc2V0Q3Vyc29yKGNvbnN0IFdlYkNvcmU6OkN1cnNvciYpOworICAgIHZpcnR1YWwg
dm9pZCBzZXRDdXJzb3JIaWRkZW5VbnRpbE1vdXNlTW92ZXMoYm9vbCk7CiAgICAgdmlydHVhbCB2
b2lkIHNldFZpZXdwb3J0QXJndW1lbnRzKGNvbnN0IFdlYkNvcmU6OlZpZXdwb3J0QXJndW1lbnRz
Jik7CiAgICAgdmlydHVhbCB2b2lkIHJlZ2lzdGVyRWRpdENvbW1hbmQoUGFzc1JlZlB0cjxXZWJF
ZGl0Q29tbWFuZFByb3h5PiwgV2ViUGFnZVByb3h5OjpVbmRvT3JSZWRvKTsKICAgICB2aXJ0dWFs
IHZvaWQgY2xlYXJBbGxFZGl0Q29tbWFuZHMoKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvbWFjL1BhZ2VDbGllbnRJbXBsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9tYWMvUGFnZUNsaWVudEltcGwuaAkocmV2aXNpb24gOTEwNzEpCisr
KyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9QYWdlQ2xpZW50SW1wbC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC02NSw2ICs2NSw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGRp
ZFJlbGF1bmNoUHJvY2VzcygpOwogICAgIHZpcnR1YWwgdm9pZCB0b29sVGlwQ2hhbmdlZChjb25z
dCBTdHJpbmcmIG9sZFRvb2xUaXAsIGNvbnN0IFN0cmluZyYgbmV3VG9vbFRpcCk7CiAgICAgdmly
dHVhbCB2b2lkIHNldEN1cnNvcihjb25zdCBXZWJDb3JlOjpDdXJzb3ImKTsKKyAgICB2aXJ0dWFs
IHZvaWQgc2V0Q3Vyc29ySGlkZGVuVW50aWxNb3VzZU1vdmVzKGJvb2wpOwogICAgIHZpcnR1YWwg
dm9pZCBzZXRWaWV3cG9ydEFyZ3VtZW50cyhjb25zdCBXZWJDb3JlOjpWaWV3cG9ydEFyZ3VtZW50
cyYpOwogCiAgICAgdmlydHVhbCB2b2lkIHJlZ2lzdGVyRWRpdENvbW1hbmQoUGFzc1JlZlB0cjxX
ZWJFZGl0Q29tbWFuZFByb3h5PiwgV2ViUGFnZVByb3h5OjpVbmRvT3JSZWRvKTsKSW5kZXg6IFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1BhZ2VDbGllbnRJbXBsLm1tCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1BhZ2VDbGllbnRJbXBsLm1t
CShyZXZpc2lvbiA5MTA3MSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1Bh
Z2VDbGllbnRJbXBsLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yMTQsNiArMjE0LDExIEBAIHZvaWQg
UGFnZUNsaWVudEltcGw6OnNldEN1cnNvcihjb25zdCBXZWIKICAgICAgICAgW21fd2tWaWV3IF9z
ZXRDdXJzb3I6Y3Vyc29yLnBsYXRmb3JtQ3Vyc29yKCldOwogfQogCit2b2lkIFBhZ2VDbGllbnRJ
bXBsOjpzZXRDdXJzb3JIaWRkZW5VbnRpbE1vdXNlTW92ZXMoYm9vbCBoaWRkZW5VbnRpbE1vdXNl
TW92ZXMpCit7CisgICAgW05TQ3Vyc29yIHNldEhpZGRlblVudGlsTW91c2VNb3ZlczpoaWRkZW5V
bnRpbE1vdXNlTW92ZXNdOworfQorCiB2b2lkIFBhZ2VDbGllbnRJbXBsOjpzZXRWaWV3cG9ydEFy
Z3VtZW50cyhjb25zdCBXZWJDb3JlOjpWaWV3cG9ydEFyZ3VtZW50cyYpCiB7CiB9CkluZGV4OiBT
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQuY3BwCShyZXZpc2lvbiA5MTA3MSkKKysrIFNvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNjQ5LDYgKzY0OSwxMSBAQCB2b2lkIFdlYkNocm9tZUNsaWVudDo6c2V0Q3Vyc29y
KGNvbnN0IFdlCiAjZW5kaWYKIH0KIAordm9pZCBXZWJDaHJvbWVDbGllbnQ6OnNldEN1cnNvckhp
ZGRlblVudGlsTW91c2VNb3Zlcyhib29sIGhpZGRlblVudGlsTW91c2VNb3ZlcykKK3sKKyAgICBt
X3BhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6U2V0Q3Vyc29ySGlkZGVuVW50aWxN
b3VzZU1vdmVzKGhpZGRlblVudGlsTW91c2VNb3ZlcykpOworfQorCiB2b2lkIFdlYkNocm9tZUNs
aWVudDo6Zm9ybVN0YXRlRGlkQ2hhbmdlKGNvbnN0IE5vZGUqKQogewogICAgIG5vdEltcGxlbWVu
dGVkKCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YkNocm9tZUNsaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgJKHJldmlzaW9uIDkxMDcxKQorKysgU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAko
d29ya2luZyBjb3B5KQpAQCAtMTcyLDYgKzE3Miw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2
b2lkIGxvYWRJY29uRm9yRmlsZXMoY29uc3QgVmVjdG9yPFN0cmluZz4mLCBXZWJDb3JlOjpGaWxl
SWNvbkxvYWRlciopOwogCiAgICAgdmlydHVhbCB2b2lkIHNldEN1cnNvcihjb25zdCBXZWJDb3Jl
OjpDdXJzb3ImKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0Q3Vyc29ySGlkZGVuVW50aWxNb3VzZU1v
dmVzKGJvb2wpOwogCiAgICAgLy8gTm90aWZpY2F0aW9uIHRoYXQgdGhlIGdpdmVuIGZvcm0gZWxl
bWVudCBoYXMgY2hhbmdlZC4gVGhpcyBmdW5jdGlvbgogICAgIC8vIHdpbGwgYmUgY2FsbGVkIGZy
ZXF1ZW50bHksIHNvIGhhbmRsaW5nIHNob3VsZCBiZSB2ZXJ5IGZhc3QuCkluZGV4OiBTb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZwkocmV2aXNpb24gOTEwODUpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDExLTA3LTE1
ICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTjog
TW91c2UgY3Vyc29yIGRvZXNu4oCZdCBoaWRlIHdoZW4gZnVsbCBzY3JlZW4gdmlkZW8gSFVEIGhp
ZGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NDYx
NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogc3Jj
L0Nocm9tZUNsaWVudEltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpDaHJvbWVDbGllbnRJbXBs
OjpzZXRDdXJzb3JIaWRkZW5VbnRpbE1vdXNlTW92ZXMpOiBBZGRlZCB0aGlzIHN0dWIuCisgICAg
ICAgICogc3JjL0Nocm9tZUNsaWVudEltcGwuaDoKKwogMjAxMS0wNy0xNCAgUnlvc3VrZSBOaXdh
ICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBSb2xsZWQgQ2hyb21pdW0gcmV2aXNpb24g
dG8gOTI2MDYuCkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJ
bXBsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVD
bGllbnRJbXBsLmNwcAkocmV2aXNpb24gOTEwNzEpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9DaHJvbWVDbGllbnRJbXBsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzU1LDYgKzc1NSwx
MSBAQCB2b2lkIENocm9tZUNsaWVudEltcGw6OnNldEN1cnNvcihjb25zdCBXCiAgICAgc2V0Q3Vy
c29yKFdlYkN1cnNvckluZm8oY3Vyc29yKSk7CiB9CiAKK3ZvaWQgQ2hyb21lQ2xpZW50SW1wbDo6
c2V0Q3Vyc29ySGlkZGVuVW50aWxNb3VzZU1vdmVzKGJvb2wpCit7CisgICAgbm90SW1wbGVtZW50
ZWQoKTsKK30KKwogdm9pZCBDaHJvbWVDbGllbnRJbXBsOjpzZXRDdXJzb3IoY29uc3QgV2ViQ3Vy
c29ySW5mbyYgY3Vyc29yKQogewogICAgIGlmIChtX3dlYlZpZXctPmNsaWVudCgpKQpJbmRleDog
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuaAkocmV2aXNp
b24gOTEwNzEpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBs
LmgJKHdvcmtpbmcgY29weSkKQEAgLTE0NCw2ICsxNDQsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCB2b2lkIGVudW1lcmF0ZUNob3NlbkRpcmVjdG9yeShXZWJDb3JlOjpGaWxlQ2hvb3NlciopOwog
I2VuZGlmCiAgICAgdmlydHVhbCB2b2lkIHNldEN1cnNvcihjb25zdCBXZWJDb3JlOjpDdXJzb3Im
KTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0Q3Vyc29ySGlkZGVuVW50aWxNb3VzZU1vdmVzKGJvb2wp
OwogICAgIHZpcnR1YWwgdm9pZCBmb3JtU3RhdGVEaWRDaGFuZ2UoY29uc3QgV2ViQ29yZTo6Tm9k
ZSopOwogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCiAgICAgLy8gRklYTUU6IEFsbCB0b3VjaCBl
dmVudHMgYXJlIGZvcndhcmRlZCByZWdhcmRsZXNzIG9mIHdoZXRoZXIgb3Igbm90IHRoZXkgYXJl
IG5lZWRlZC4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cJKHJldmlzaW9uIDkxMDg1KQorKysgU291cmNl
L1dlYktpdC9lZmwvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIw
MTEtMDctMTUgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KKworICAgICAgICBSRUdS
RVNTSU9OOiBNb3VzZSBjdXJzb3IgZG9lc27igJl0IGhpZGUgd2hlbiBmdWxsIHNjcmVlbiB2aWRl
byBIVUQgaGlkZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTY0NjE1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q2hyb21lQ2xpZW50RWZsOjpzZXRDdXJzb3JIaWRkZW5VbnRpbE1vdXNlTW92ZXMpOiBBZGRl
ZCB0aGlzIHN0dWIuCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmg6
CisKIDIwMTEtMDctMTQgIEphZWh1biBMaW0gIDxsamFlaHVuLmxpbUBzYW1zdW5nLmNvbT4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgpJbmRleDogU291cmNlL1dlYktpdC9lZmwv
V2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuY3BwCShyZXZpc2lvbiA5
MTA3MSkKKysrIFNvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVm
bC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ1Miw2ICs0NTIsMTEgQEAgdm9pZCBDaHJvbWVDbGll
bnRFZmw6OnNldEN1cnNvcihjb25zdCBDdQogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAKK3Zv
aWQgQ2hyb21lQ2xpZW50RWZsOjpzZXRDdXJzb3JIaWRkZW5VbnRpbE1vdXNlTW92ZXMoYm9vbCkK
K3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCiB2b2lkIENocm9tZUNsaWVudEVmbDo6cmVx
dWVzdEdlb2xvY2F0aW9uUGVybWlzc2lvbkZvckZyYW1lKEZyYW1lKiwgR2VvbG9jYXRpb24qKQog
ewogICAgIC8vIFNlZSB0aGUgY29tbWVudCBpbiBXZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNs
aWVudEVmbC5oCShyZXZpc2lvbiA5MTA3MSkKKysrIFNvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVT
dXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMzcsNiArMTM3LDcg
QEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBmb3JtU3RhdGVEaWRDaGFuZ2UoY29uc3QgTm9k
ZSopOwogCiAgICAgdmlydHVhbCB2b2lkIHNldEN1cnNvcihjb25zdCBDdXJzb3ImKTsKKyAgICB2
aXJ0dWFsIHZvaWQgc2V0Q3Vyc29ySGlkZGVuVW50aWxNb3VzZU1vdmVzKGJvb2wpOwogCiAgICAg
dmlydHVhbCB2b2lkIHNjcm9sbFJlY3RJbnRvVmlldyhjb25zdCBJbnRSZWN0JiwgY29uc3QgU2Ny
b2xsVmlldyopIGNvbnN0IHsgfQogCkluZGV4OiBTb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCShyZXZpc2lvbiA5MTA4
NSkKKysrIFNvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE0IEBACisyMDExLTA3LTE1ICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CisK
KyAgICAgICAgUkVHUkVTU0lPTjogTW91c2UgY3Vyc29yIGRvZXNu4oCZdCBoaWRlIHdoZW4gZnVs
bCBzY3JlZW4gdmlkZW8gSFVEIGhpZGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD02NDYxNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6Q2hyb21lQ2xpZW50OjpzZXRDdXJzb3JIaWRkZW5VbnRpbE1vdXNlTW92
ZXMpOiBBZGRlZCB0aGlzIHN0dWIuCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xp
ZW50R3RrLmg6CisKIDIwMTEtMDctMTUgIE1hcnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNvbkBpZ2Fs
aWEuY29tPgogCiAgICAgICAgIEJ1aWxkIGZpeGVzIGZvciBXZWJLaXQyLiBFbnN1cmUgdGhhdCBh
bGwgZ2VuZXJhdGVkIHNvdXJjZXMgYXJlCkluZGV4OiBTb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3Jl
U3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQv
Z3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5jcHAJKHJldmlzaW9uIDkxMDcxKQor
KysgU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNjY3LDYgKzY2NywxMSBAQCB2b2lkIENocm9tZUNsaWVudDo6c2V0
Q3Vyc29yKGNvbnN0IEN1cnNvCiAgICAgICAgIGdka193aW5kb3dfc2V0X2N1cnNvcih3aW5kb3cs
IG5ld0N1cnNvcik7CiB9CiAKK3ZvaWQgQ2hyb21lQ2xpZW50OjpzZXRDdXJzb3JIaWRkZW5VbnRp
bE1vdXNlTW92ZXMoYm9vbCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCiB2b2lkIENo
cm9tZUNsaWVudDo6cmVxdWVzdEdlb2xvY2F0aW9uUGVybWlzc2lvbkZvckZyYW1lKEZyYW1lKiBm
cmFtZSwgR2VvbG9jYXRpb24qIGdlb2xvY2F0aW9uKQogewogICAgIFdlYktpdFdlYkZyYW1lKiB3
ZWJGcmFtZSA9IGtpdChmcmFtZSk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3Vw
cG9ydC9DaHJvbWVDbGllbnRHdGsuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2d0ay9X
ZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaAkocmV2aXNpb24gOTEwNzEpCisrKyBTb3Vy
Y2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaAkod29ya2luZyBj
b3B5KQpAQCAtMTMzLDYgKzEzMyw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogICAgICAgICB2aXJ0
dWFsIHZvaWQgZm9ybVN0YXRlRGlkQ2hhbmdlKGNvbnN0IFdlYkNvcmU6Ok5vZGUqKSB7IH0KIAog
ICAgICAgICB2aXJ0dWFsIHZvaWQgc2V0Q3Vyc29yKGNvbnN0IFdlYkNvcmU6OkN1cnNvciYpOwor
ICAgICAgICB2aXJ0dWFsIHZvaWQgc2V0Q3Vyc29ySGlkZGVuVW50aWxNb3VzZU1vdmVzKGJvb2wp
OwogCiAgICAgICAgIHZpcnR1YWwgdm9pZCBzY3JvbGxSZWN0SW50b1ZpZXcoY29uc3QgV2ViQ29y
ZTo6SW50UmVjdCYsIGNvbnN0IFdlYkNvcmU6OlNjcm9sbFZpZXcqKSBjb25zdCB7fQogICAgICAg
ICB2aXJ0dWFsIHZvaWQgcmVxdWVzdEdlb2xvY2F0aW9uUGVybWlzc2lvbkZvckZyYW1lKFdlYkNv
cmU6OkZyYW1lKiwgV2ViQ29yZTo6R2VvbG9jYXRpb24qKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQv
aGFpa3UvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvaGFpa3UvQ2hhbmdl
TG9nCShyZXZpc2lvbiA5MTA4NSkKKysrIFNvdXJjZS9XZWJLaXQvaGFpa3UvQ2hhbmdlTG9nCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDctMTUgIERhbiBCZXJuc3RlaW4g
IDxtaXR6QGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OOiBNb3VzZSBjdXJzb3IgZG9l
c27igJl0IGhpZGUgd2hlbiBmdWxsIHNjcmVlbiB2aWRlbyBIVUQgaGlkZXMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY0NjE1CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJv
bWVDbGllbnRIYWlrdS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnRIYWlrdTo6
c2V0Q3Vyc29ySGlkZGVuVW50aWxNb3VzZU1vdmVzKTogQWRkZWQgdGhpcyBzdHViLgorICAgICAg
ICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEhhaWt1Lmg6CisKIDIwMTEtMDctMTIgIEpv
c2VwaCBQZWNvcmFybyAgPGpvZXBlY2tAd2Via2l0Lm9yZz4KIAogICAgICAgICBBcHBsaWNhdGlv
bkNhY2hlIHVwZGF0ZSBzaG91bGQgbm90IGltbWVkaWF0ZWx5IGZhaWwgd2hlbiByZWFjaGluZyBw
ZXItb3JpZ2luIHF1b3RhCkluZGV4OiBTb3VyY2UvV2ViS2l0L2hhaWt1L1dlYkNvcmVTdXBwb3J0
L0Nocm9tZUNsaWVudEhhaWt1LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2hhaWt1
L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEhhaWt1LmNwcAkocmV2aXNpb24gOTEwNzEpCisr
KyBTb3VyY2UvV2ViS2l0L2hhaWt1L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEhhaWt1LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMzgyLDcgKzM4MiwxMiBAQCB2b2lkIENocm9tZUNsaWVudEhh
aWt1OjpzZXRDdXJzb3IoY29uc3QgCiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAotLy8gTm90
aWZpY2F0aW9uIHRoYXQgdGhlIGdpdmVuIGZvcm0gZWxlbWVudCBoYXMgY2hhbmdlZC4gVGhpcyBm
dW5jdGlvbgorL3ZvaWQgQ2hyb21lQ2xpZW50SGFpa3U6OnNldEN1cnNvckhpZGRlblVudGlsTW91
c2VNb3Zlcyhib29sKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKKy8gTm90aWZpY2F0
aW9uIHRoYXQgdGhlIGdpdmVuIGZvcm0gZWxlbWVudCBoYXMgY2hhbmdlZC4gVGhpcyBmdW5jdGlv
bgogLy8gd2lsbCBiZSBjYWxsZWQgZnJlcXVlbnRseSwgc28gaGFuZGxpbmcgc2hvdWxkIGJlIHZl
cnkgZmFzdC4KIHZvaWQgQ2hyb21lQ2xpZW50SGFpa3U6OmZvcm1TdGF0ZURpZENoYW5nZShjb25z
dCBOb2RlKikKIHsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvaGFpa3UvV2ViQ29yZVN1cHBvcnQvQ2hy
b21lQ2xpZW50SGFpa3UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2hhaWt1L1dlYkNv
cmVTdXBwb3J0L0Nocm9tZUNsaWVudEhhaWt1LmgJKHJldmlzaW9uIDkxMDcxKQorKysgU291cmNl
L1dlYktpdC9oYWlrdS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRIYWlrdS5oCSh3b3JraW5n
IGNvcHkpCkBAIC0xNTUsNiArMTU1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2
aXJ0dWFsIHZvaWQgbG9hZEljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYsIEZpbGVJ
Y29uTG9hZGVyKik7CiAKICAgICAgICAgdmlydHVhbCB2b2lkIHNldEN1cnNvcihjb25zdCBDdXJz
b3ImKTsKKyAgICAgICAgdmlydHVhbCB2b2lkIHNldEN1cnNvckhpZGRlblVudGlsTW91c2VNb3Zl
cyhib29sKTsKIAogICAgICAgICAvLyBOb3RpZmljYXRpb24gdGhhdCB0aGUgZ2l2ZW4gZm9ybSBl
bGVtZW50IGhhcyBjaGFuZ2VkLiBUaGlzIGZ1bmN0aW9uCiAgICAgICAgIC8vIHdpbGwgYmUgY2Fs
bGVkIGZyZXF1ZW50bHksIHNvIGhhbmRsaW5nIHNob3VsZCBiZSB2ZXJ5IGZhc3QuCkluZGV4OiBT
b3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9t
YWMvQ2hhbmdlTG9nCShyZXZpc2lvbiA5MTA4NSkKKysrIFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDExLTA3LTE1ICBEYW4gQmVy
bnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTjogTW91c2UgY3Vy
c29yIGRvZXNu4oCZdCBoaWRlIHdoZW4gZnVsbCBzY3JlZW4gdmlkZW8gSFVEIGhpZGVzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NDYxNQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBv
cnQvV2ViQ2hyb21lQ2xpZW50Lmg6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21l
Q2xpZW50Lm1tOgorICAgICAgICAoV2ViQ2hyb21lQ2xpZW50OjpzZXRDdXJzb3JIaWRkZW5VbnRp
bE1vdXNlTW92ZXMpOiBBZGRlZC4gQ2FsbHMKKyAgICAgICAgK1tOU0N1cnNvciBzZXRIaWRkZW5V
bnRpbE1vdXNlTW92ZXM6XS4KKwogMjAxMS0wNy0xMyAgSm9zZXBoIFBlY29yYXJvICA8am9lcGVj
a0B3ZWJraXQub3JnPgogCiAgICAgICAgIEltcHJvdmUgbmFtZXMgb2Ygc29tZSBBcHBsaWNhdGlv
bkNhY2hlU3RvcmFnZSBhY2Nlc3NvciBtZXRob2RzCkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9X
ZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAkocmV2aXNpb24gOTEwNzEp
CisrKyBTb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAko
d29ya2luZyBjb3B5KQpAQCAtMTI4LDYgKzEyOCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZv
aWQgbG9hZEljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8V1RGOjpTdHJpbmc+JiwgV2ViQ29yZTo6
RmlsZUljb25Mb2FkZXIqKTsKIAogICAgIHZpcnR1YWwgdm9pZCBzZXRDdXJzb3IoY29uc3QgV2Vi
Q29yZTo6Q3Vyc29yJik7CisgICAgdmlydHVhbCB2b2lkIHNldEN1cnNvckhpZGRlblVudGlsTW91
c2VNb3Zlcyhib29sKTsKIAogICAgIHZpcnR1YWwgV2ViQ29yZTo6RmxvYXRSZWN0IGN1c3RvbUhp
Z2hsaWdodFJlY3QoV2ViQ29yZTo6Tm9kZSosIGNvbnN0IFdURjo6QXRvbWljU3RyaW5nJiB0eXBl
LAogICAgICAgICBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIGxpbmVSZWN0KTsKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQu
bW0JKHJldmlzaW9uIDkxMDcxKQorKysgU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC04MDEsNiArODAxLDExIEBAIHZv
aWQgV2ViQ2hyb21lQ2xpZW50OjpzZXRDdXJzb3IoY29uc3QgV2UKICAgICBbcGxhdGZvcm1DdXJz
b3Igc2V0XTsKIH0KIAordm9pZCBXZWJDaHJvbWVDbGllbnQ6OnNldEN1cnNvckhpZGRlblVudGls
TW91c2VNb3Zlcyhib29sIGhpZGRlblVudGlsTW91c2VNb3ZlcykKK3sKKyAgICBbTlNDdXJzb3Ig
c2V0SGlkZGVuVW50aWxNb3VzZU1vdmVzOmhpZGRlblVudGlsTW91c2VNb3Zlc107Cit9CisKIEtl
eWJvYXJkVUlNb2RlIFdlYkNocm9tZUNsaWVudDo6a2V5Ym9hcmRVSU1vZGUoKQogewogICAgIEJF
R0lOX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvcXQvQ2hhbmdl
TG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCShyZXZpc2lvbiA5
MTA4NSkKKysrIFNvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDMgKzEsMTMgQEAKKzIwMTEtMDctMTUgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4K
KworICAgICAgICBSRUdSRVNTSU9OOiBNb3VzZSBjdXJzb3IgZG9lc27igJl0IGhpZGUgd2hlbiBm
dWxsIHNjcmVlbiB2aWRlbyBIVUQgaGlkZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTY0NjE1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5oOgorICAg
ICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50UXQ6OnNldEN1cnNvckhpZGRlblVudGlsTW91c2VN
b3Zlcyk6IEFkZGVkIHRoaXMgc3R1Yi4KKwogMjAxMS0wNy0xNSAgS2VubmV0aCBSb2hkZSBDaHJp
c3RpYW5zZW4gIDxrZW5uZXRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUkVHUkVTU0lPTig5MTA2
NCk6IFVwc3RyZWFtIFF0V2ViS2l0L045IGNoYW5nZXMgcmVsYXRlZCB0b3Zpc2libGVDb250ZW50
UmVjdApJbmRleDogU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRR
dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21l
Q2xpZW50UXQuaAkocmV2aXNpb24gOTEwNzEpCisrKyBTb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVT
dXBwb3J0L0Nocm9tZUNsaWVudFF0LmgJKHdvcmtpbmcgY29weSkKQEAgLTE4MCw2ICsxODAsNyBA
QCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGZvcm1TdGF0ZURpZENoYW5nZShjb25zdCBOb2Rl
KikgeyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgc2V0Q3Vyc29yKGNvbnN0IEN1cnNvciYpOworICAg
IHZpcnR1YWwgdm9pZCBzZXRDdXJzb3JIaWRkZW5VbnRpbE1vdXNlTW92ZXMoYm9vbCkgeyB9CiAK
ICAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsUmVjdEludG9WaWV3KGNvbnN0IEludFJlY3QmLCBjb25z
dCBTY3JvbGxWaWV3KikgY29uc3QgeyB9CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luL0NoYW5n
ZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cJKHJldmlzaW9u
IDkxMDg1KQorKysgU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTQgQEAKKzIwMTEtMDctMTUgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNv
bT4KKworICAgICAgICBSRUdSRVNTSU9OOiBNb3VzZSBjdXJzb3IgZG9lc27igJl0IGhpZGUgd2hl
biBmdWxsIHNjcmVlbiB2aWRlbyBIVUQgaGlkZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTY0NjE1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3Bw
OgorICAgICAgICAoV2ViQ2hyb21lQ2xpZW50OjpzZXRDdXJzb3JIaWRkZW5VbnRpbE1vdXNlTW92
ZXMpOiBBZGRlZCB0aGlzIHN0dWIuCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21l
Q2xpZW50Lmg6CisKIDIwMTEtMDctMTIgIEpvc2VwaCBQZWNvcmFybyAgPGpvZXBlY2tAd2Via2l0
Lm9yZz4KIAogICAgICAgICBBcHBsaWNhdGlvbkNhY2hlIHVwZGF0ZSBzaG91bGQgbm90IGltbWVk
aWF0ZWx5IGZhaWwgd2hlbiByZWFjaGluZyBwZXItb3JpZ2luIHF1b3RhCkluZGV4OiBTb3VyY2Uv
V2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAJ
KHJldmlzaW9uIDkxMDcxKQorKysgU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2Vi
Q2hyb21lQ2xpZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtODE2LDYgKzgxNiwxMSBAQCB2b2lk
IFdlYkNocm9tZUNsaWVudDo6c2V0Q3Vyc29yKGNvbnN0IEN1CiAgICAgc2V0TGFzdFNldEN1cnNv
clRvQ3VycmVudEN1cnNvcigpOwogfQogCit2b2lkIFdlYkNocm9tZUNsaWVudDo6c2V0Q3Vyc29y
SGlkZGVuVW50aWxNb3VzZU1vdmVzKGJvb2wpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30K
Kwogdm9pZCBXZWJDaHJvbWVDbGllbnQ6OnNldExhc3RTZXRDdXJzb3JUb0N1cnJlbnRDdXJzb3Io
KQogewogICAgIG1fd2ViVmlldy0+c2V0TGFzdEN1cnNvcig6OkdldEN1cnNvcigpKTsKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVu
dC5oCShyZXZpc2lvbiA5MTA3MSkKKysrIFNvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0
L1dlYkNocm9tZUNsaWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMzksNiArMTM5LDcgQEAgcHVi
bGljOgogICAgIHZpcnR1YWwgdm9pZCBsb2FkSWNvbkZvckZpbGVzKGNvbnN0IFZlY3RvcjxXVEY6
OlN0cmluZz4mLCBXZWJDb3JlOjpGaWxlSWNvbkxvYWRlciopOwogCiAgICAgdmlydHVhbCB2b2lk
IHNldEN1cnNvcihjb25zdCBXZWJDb3JlOjpDdXJzb3ImKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0
Q3Vyc29ySGlkZGVuVW50aWxNb3VzZU1vdmVzKGJvb2wpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRM
YXN0U2V0Q3Vyc29yVG9DdXJyZW50Q3Vyc29yKCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgZm9ybVN0
YXRlRGlkQ2hhbmdlKGNvbnN0IFdlYkNvcmU6Ok5vZGUqKSB7IH0KSW5kZXg6IFNvdXJjZS9XZWJL
aXQvd2luY2UvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luY2UvQ2hh
bmdlTG9nCShyZXZpc2lvbiA5MTA4NSkKKysrIFNvdXJjZS9XZWJLaXQvd2luY2UvQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDctMTUgIERhbiBCZXJuc3Rl
aW4gIDxtaXR6QGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OOiBNb3VzZSBjdXJzb3Ig
ZG9lc27igJl0IGhpZGUgd2hlbiBmdWxsIHNjcmVlbiB2aWRlbyBIVUQgaGlkZXMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY0NjE1CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9D
aHJvbWVDbGllbnRXaW5DRS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNocm9tZUNsaWVudFdpbkNF
OjpzZXRDdXJzb3JIaWRkZW5VbnRpbE1vdXNlTW92ZXMpOiBBZGRlZCB0aGlzIHN0dWIuCisgICAg
ICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuaDoKKwogMjAxMS0wNy0xMiAg
Sm9zZXBoIFBlY29yYXJvICA8am9lcGVja0B3ZWJraXQub3JnPgogCiAgICAgICAgIEFwcGxpY2F0
aW9uQ2FjaGUgdXBkYXRlIHNob3VsZCBub3QgaW1tZWRpYXRlbHkgZmFpbCB3aGVuIHJlYWNoaW5n
IHBlci1vcmlnaW4gcXVvdGEKSW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBv
cnQvQ2hyb21lQ2xpZW50V2luQ0UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2lu
Y2UvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuY3BwCShyZXZpc2lvbiA5MTA3MSkK
KysrIFNvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0Uu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNjEsNiArMzYxLDExIEBAIHZvaWQgQ2hyb21lQ2xpZW50
V2luQ0U6OnNldEN1cnNvcihjb25zdCAKICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCit2b2lk
IENocm9tZUNsaWVudFdpbkNFOjpzZXRDdXJzb3JIaWRkZW5VbnRpbE1vdXNlTW92ZXMoYm9vbCkK
K3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCiB2b2lkIENocm9tZUNsaWVudFdpbkNFOjpz
ZXRMYXN0U2V0Q3Vyc29yVG9DdXJyZW50Q3Vyc29yKCkKIHsKICAgICBub3RJbXBsZW1lbnRlZCgp
OwpJbmRleDogU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRX
aW5DRS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQv
Q2hyb21lQ2xpZW50V2luQ0UuaAkocmV2aXNpb24gOTEwNzEpCisrKyBTb3VyY2UvV2ViS2l0L3dp
bmNlL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFdpbkNFLmgJKHdvcmtpbmcgY29weSkKQEAg
LTEwNiw2ICsxMDYsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNjcm9sbFJlY3RJbnRv
Vmlldyhjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiwgY29uc3QgV2ViQ29yZTo6U2Nyb2xsVmlldyop
IGNvbnN0OyAvLyBDdXJyZW50bHkgb25seSBNYWMgaGFzIGEgbm9uIGVtcHR5IGltcGxlbWVudGF0
aW9uLgogICAgIHZpcnR1YWwgdm9pZCBzY3JvbGxiYXJzTW9kZURpZENoYW5nZSgpIGNvbnN0Owog
ICAgIHZpcnR1YWwgdm9pZCBzZXRDdXJzb3IoY29uc3QgV2ViQ29yZTo6Q3Vyc29yJik7CisgICAg
dmlydHVhbCB2b2lkIHNldEN1cnNvckhpZGRlblVudGlsTW91c2VNb3Zlcyhib29sKTsKICAgICAv
LyBFbmQgbWV0aG9kcyB1c2VkIGJ5IEhvc3RXaW5kb3cuCiAKICAgICB2aXJ0dWFsIHZvaWQgbW91
c2VEaWRNb3ZlT3ZlckVsZW1lbnQoY29uc3QgV2ViQ29yZTo6SGl0VGVzdFJlc3VsdCYsIHVuc2ln
bmVkIG1vZGlmaWVyRmxhZ3MpOwpJbmRleDogU291cmNlL1dlYktpdC93eC9DaGFuZ2VMb2cKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdC93eC9DaGFuZ2VMb2cJKHJldmlzaW9uIDkxMDg1KQor
KysgU291cmNlL1dlYktpdC93eC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwx
MyBAQAorMjAxMS0wNy0xNSAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgorCisgICAg
ICAgIFJFR1JFU1NJT046IE1vdXNlIGN1cnNvciBkb2VzbuKAmXQgaGlkZSB3aGVuIGZ1bGwgc2Ny
ZWVuIHZpZGVvIEhVRCBoaWRlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NjQ2MTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIFdlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guaDoKKyAgICAgICAgKFdl
YkNvcmU6OkNocm9tZUNsaWVudFd4OjpzZXRDdXJzb3JIaWRkZW5VbnRpbE1vdXNlTW92ZXMpOiBB
ZGRlZCB0aGlzIHN0dWIuCisKIDIwMTEtMDctMTIgIEpvc2VwaCBQZWNvcmFybyAgPGpvZXBlY2tA
d2Via2l0Lm9yZz4KIAogICAgICAgICBBcHBsaWNhdGlvbkNhY2hlIHVwZGF0ZSBzaG91bGQgbm90
IGltbWVkaWF0ZWx5IGZhaWwgd2hlbiByZWFjaGluZyBwZXItb3JpZ2luIHF1b3RhCkluZGV4OiBT
b3VyY2UvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guaAkocmV2
aXNpb24gOTEwNzEpCisrKyBTb3VyY2UvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvQ2hyb21lQ2xp
ZW50V3guaAkod29ya2luZyBjb3B5KQpAQCAtMTQxLDYgKzE0MSw3IEBAIHB1YmxpYzoKICAgICB2
aXJ0dWFsIHZvaWQgZm9ybVN0YXRlRGlkQ2hhbmdlKGNvbnN0IE5vZGUqKSB7IH0KIAogICAgIHZp
cnR1YWwgdm9pZCBzZXRDdXJzb3IoY29uc3QgQ3Vyc29yJik7CisgICAgdmlydHVhbCB2b2lkIHNl
dEN1cnNvckhpZGRlblVudGlsTW91c2VNb3Zlcyhib29sKSB7IH0KIAogICAgIHZpcnR1YWwgdm9p
ZCBzY3JvbGxSZWN0SW50b1ZpZXcoY29uc3QgSW50UmVjdCYsIGNvbnN0IFNjcm9sbFZpZXcqKSBj
b25zdCB7fQogCg==
</data>
<flag name="review"
          id="95828"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>