<?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>142121</bug_id>
          
          <creation_ts>2015-02-27 18:14:45 -0800</creation_ts>
          <short_desc>[WK1][WK2][Mac] Fullscreen animation is incorrect when page is scaled.</short_desc>
          <delta_ts>2015-04-27 14:24:41 -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>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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>142132</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1072948</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2015-02-27 18:14:45 -0800</bug_when>
    <thetext>[WK1][WK2][Mac] Fullscreen animation is incorrect when page is scaled.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1073033</commentid>
    <comment_count>1</comment_count>
      <attachid>247602</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2015-02-28 09:55:18 -0800</bug_when>
    <thetext>Created attachment 247602
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1073053</commentid>
    <comment_count>2</comment_count>
      <attachid>247607</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2015-02-28 11:36:21 -0800</bug_when>
    <thetext>Created attachment 247607
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1073060</commentid>
    <comment_count>3</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2015-02-28 12:26:34 -0800</bug_when>
    <thetext>mac-wk2 EWS is showing a test failure: fast/css/object-fit/object-fit-canvas.html, but it&apos;s showing the same failure on all the EWS runs, so it&apos;s not added by this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1073349</commentid>
    <comment_count>4</comment_count>
      <attachid>247607</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-03-02 09:37:36 -0800</bug_when>
    <thetext>Comment on attachment 247607
Patch for landing

Clearing flags on attachment: 247607

Committed r180885: &lt;http://trac.webkit.org/changeset/180885&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>247602</attachid>
            <date>2015-02-28 09:55:18 -0800</date>
            <delta_ts>2015-02-28 10:46:13 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-142121-20150228095505.patch</filename>
            <type>text/plain</type>
            <size>23839</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgwNTI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggZjEzYTgzNDll
NTUwNDdiOWExM2JkNDhjNTFkYzgxM2U5MTVmZjQyMi4uMDRhMGIyNTIxOTU3ZTMyNTIzN2ZlMWFm
YTNhMjIxZGRhMGM5Y2Q2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE1
LTAyLTI3ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtXSzFd
W1dLMl1bTWFjXSBGdWxsc2NyZWVuIGFuaW1hdGlvbiBpcyBpbmNvcnJlY3Qgd2hlbiBwYWdlIGlz
IHNjYWxlZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE0MjEyMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEZ1bGxzY3JlZW5pbmcgYSBwYWdlIHdpdGggYSBub24tMSBzY2FsZSB3b3VsZCByZXN1bHQgaW4g
dGhhdCBzY2FsZSBiZWluZyBhcHBsaWVkIHRvIHRoZQorICAgICAgICBmdWxsc2NyZWVuIGNvbnRl
bnQsIGJyZWFraW5nIGZ1bGxzY3JlZW4gbW9kZS4gU2V0IHRoZSBwYWdlIHNjYWxlIHRvIDEgd2hl
biBlbnRlcmluZworICAgICAgICBmdWxsc2NyZWVuIGFuZCByZXNldCBpdCB0byB0aGUgb3JpZ2lu
YWwgdmFsdWUgd2hlbiBleGl0aW5nIGZ1bGxzY3JlZW4uCisKKyAgICAgICAgKiBXZWJWaWV3L1dl
YkZ1bGxTY3JlZW5Db250cm9sbGVyLmg6CisgICAgICAgICogV2ViVmlldy9XZWJGdWxsU2NyZWVu
Q29udHJvbGxlci5tbToKKyAgICAgICAgKC1bV2ViRnVsbFNjcmVlbkNvbnRyb2xsZXIgZW50ZXJG
dWxsU2NyZWVuOl0pOiBTZXQgdGhlIHBhZ2Ugc2NhbGUgdG8gMS4KKyAgICAgICAgKC1bV2ViRnVs
bFNjcmVlbkNvbnRyb2xsZXIgZmluaXNoZWRFeGl0RnVsbFNjcmVlbkFuaW1hdGlvbjpdKTogUmVz
ZXQgdGhlIHBhZ2UKKyAgICAgICAgICAgICAgICBzY2FsZSB0byB0aGUgb3JpZ2luYWwgdmFsdWUu
CisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorICAgICAgICAoLVtXZWJWaWV3IF9zdXBw
b3J0c0Z1bGxTY3JlZW5Gb3JFbGVtZW50OndpdGhLZXlib2FyZDpdKTogRHJpdmUtYnkgZml4LiBD
aGVjayB0aGUKKyAgICAgICAgICAgICAgICBXZWJWaWV3J3Mgb3duIHByZWZlcmVuY2VzIHRvIHNl
ZSBpZiBmdWxsc2NyZWVuIG1vZGUgaXMgZW5hYmxlZCwgcmF0aGVyIHRoYW4KKyAgICAgICAgICAg
ICAgICB0aGUgZ2xvYmFsIG9iamVjdCdzLgorCiAyMDE1LTAyLTIwICBFcmljIENhcmxzb24gIDxl
cmljLmNhcmxzb25AYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIGNsZWFudXAgQWlyUGxheSBj
b2RlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKaW5kZXggZjJlOWZmOWIzYWVjZjA5ZjAxZGM1NmNkN2NiZTczZjkyZGE1NThi
Zi4uMjZmNmY2NTY4YzRhYTE2YmU1ODM2MWQ5OTk2OTgxM2M1ZmQ0NWEzNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE4IEBACisyMDE1LTAyLTI3ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUu
Y29tPgorCisgICAgICAgIFtXSzFdW1dLMl1bTWFjXSBGdWxsc2NyZWVuIGFuaW1hdGlvbiBpcyBp
bmNvcnJlY3Qgd2hlbiBwYWdlIGlzIHNjYWxlZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MjEyMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIENoYW5nZSB0aGUgb3JkZXIgb2Ygb3BlcmF0aW9ucyB3aGVu
IGVudGVyaW5nIG9yIGV4aXRpbmcgZnVsbHNjcmVlbi4gQ2hhbmdlIHRoZSBwYWdlIHNjYWxlIHRv
CisgICAgICAgIDEgYmVmb3JlIGVudGVyaW5nLCBzbyB0aGUgZmluYWwgc2NyZWVuIHJlY3QgdGFr
ZXMgdGhhdCBzY2FsZSBpbnRvIGFjY291bnQsIGFuZCB2aWNlLXZlcnNhIG9uCisgICAgICAgIGV4
aXRpbmcuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1dLRnVsbFNjcmVlbldpbmRvd0NvbnRy
b2xsZXIubW06CisgICAgICAgICgtW1dLRnVsbFNjcmVlbldpbmRvd0NvbnRyb2xsZXIgZW50ZXJG
dWxsU2NyZWVuOl0pOgorICAgICAgICAoLVtXS0Z1bGxTY3JlZW5XaW5kb3dDb250cm9sbGVyIGV4
aXRGdWxsU2NyZWVuXSk6CisKIDIwMTUtMDItMjMgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBs
ZS5jb20+CiAKICAgICAgICAgW1dLMl1bTWFjXSBXZWJQYWdlUHJveHk6OnN1cHJlc3NWaXNpYmls
aXR5VXBkYXRlcygpIHNob3VsZCBzdXBwcmVzcyB2aXNpYmlsaXR5IHVwZGF0ZXMuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZ1bGxTY3JlZW5Db250cm9sbGVyLmgg
Yi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZ1bGxTY3JlZW5Db250cm9sbGVyLmgKaW5k
ZXggMmQ2Y2RjODVhZjQyYTY4ZDI5YWFjOThiMGRmYjViNDQ2NzE5NzQyNi4uMjViMGViNWI3ZTEw
MmYyZDkzNmI0YzY4YTYyY2QxN2NmNDhkZTE1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9t
YWMvV2ViVmlldy9XZWJGdWxsU2NyZWVuQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
bWFjL1dlYlZpZXcvV2ViRnVsbFNjcmVlbkNvbnRyb2xsZXIuaApAQCAtNTEsNiArNTEsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgTlNSZWN0IF9pbml0aWFsRnJhbWU7CiAgICAgTlNSZWN0
IF9maW5hbEZyYW1lOwogICAgIFdlYkNvcmU6OkludFBvaW50IF9zY3JvbGxQb3NpdGlvbjsKKyAg
ICBmbG9hdCBfc2F2ZWRTY2FsZTsKIAogICAgIEJPT0wgX2lzRW50ZXJpbmdGdWxsU2NyZWVuOwog
ICAgIEJPT0wgX2lzRXhpdGluZ0Z1bGxTY3JlZW47CkBAIC01OCw2ICs1OSw5IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICBCT09MIF9pc1BsYXlpbmc7CiB9CiAKK0Bwcm9wZXJ0eSAocmVhZG9u
bHkpIE5TUmVjdCBpbml0aWFsRnJhbWU7CitAcHJvcGVydHkgKHJlYWRvbmx5KSBOU1JlY3QgZmlu
YWxGcmFtZTsKKwogLSAoV2ViVmlldyopd2ViVmlldzsKIC0gKHZvaWQpc2V0V2ViVmlldzooV2Vi
Vmlldyopd2ViVmlldzsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9X
ZWJGdWxsU2NyZWVuQ29udHJvbGxlci5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2Vi
RnVsbFNjcmVlbkNvbnRyb2xsZXIubW0KaW5kZXggZmFmNjFjZDZkYTc4Mjc4MzJiODA2YzI5Nzdl
M2I1NmRmY2YxY2E0Mi4uNmQwYmU4ODM3ZTEwODc5YmY5YjNjMTcwMzNhNGFlMzUzYmE2Njc5OCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJGdWxsU2NyZWVuQ29udHJv
bGxlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZ1bGxTY3JlZW5Db250
cm9sbGVyLm1tCkBAIC0xMDcsNiArMTA3LDkgQEAgc3RhdGljIE5TUmVjdCBjb252ZXJ0UmVjdFRv
U2NyZWVuKE5TV2luZG93ICp3aW5kb3csIE5TUmVjdCByZWN0KQogICAgIFtzdXBlciBkZWFsbG9j
XTsKIH0KIAorQHN5bnRoZXNpemUgaW5pdGlhbEZyYW1lPV9pbml0aWFsRnJhbWU7CitAc3ludGhl
c2l6ZSBmaW5hbEZyYW1lPV9maW5hbEZyYW1lOworCiAtICh2b2lkKXdpbmRvd0RpZExvYWQKIHsK
ICAgICBbc3VwZXIgd2luZG93RGlkTG9hZF07CkBAIC0yMzgsNyArMjQxLDkgQEAgc3RhdGljIE5T
UmVjdCBjb252ZXJ0UmVjdFRvU2NyZWVuKE5TV2luZG93ICp3aW5kb3csIE5TUmVjdCByZWN0KQog
ICAgIFtbX3dlYlZpZXdQbGFjZWhvbGRlci5nZXQoKSB3aW5kb3ddIHJlY2FsY3VsYXRlS2V5Vmll
d0xvb3BdOwogICAgIAogICAgIFtbc2VsZiB3aW5kb3ddIG1ha2VSZXNwb25kZXI6d2ViV2luZG93
Rmlyc3RSZXNwb25kZXIgZmlyc3RSZXNwb25kZXJJZkRlc2NlbmRhbnRPZlZpZXc6X3dlYlZpZXdd
OwotICAgIAorCisgICAgX3NhdmVkU2NhbGUgPSBbX3dlYlZpZXcgX3ZpZXdTY2FsZUZhY3Rvcl07
CisgICAgW193ZWJWaWV3IF9zY2FsZVdlYlZpZXc6MSBhdE9yaWdpbjpOU01ha2VQb2ludCgwLCAw
KV07CiAgICAgW3NlbGYgX2RvY3VtZW50XS0+d2Via2l0V2lsbEVudGVyRnVsbFNjcmVlbkZvckVs
ZW1lbnQoX2VsZW1lbnQuZ2V0KCkpOwogICAgIFtzZWxmIF9kb2N1bWVudF0tPnNldEFuaW1hdGlu
Z0Z1bGxTY3JlZW4odHJ1ZSk7CiAgICAgW3NlbGYgX2RvY3VtZW50XS0+dXBkYXRlTGF5b3V0KCk7
CkBAIC0zNDQsMTAgKzM0OSwxMSBAQCBzdGF0aWMgTlNSZWN0IGNvbnZlcnRSZWN0VG9TY3JlZW4o
TlNXaW5kb3cgKndpbmRvdywgTlNSZWN0IHJlY3QpCiAgICAgCiAgICAgLy8gU2NyZWVuIHVwZGF0
ZXMgdG8gYmUgcmUtZW5hYmxlZCBhdCB0aGUgZW5kIG9mIHRoaXMgZnVuY3Rpb24KICAgICBOU0Rp
c2FibGVTY3JlZW5VcGRhdGVzKCk7Ci0gICAgCisKICAgICBbc2VsZiBfZG9jdW1lbnRdLT5zZXRB
bmltYXRpbmdGdWxsU2NyZWVuKGZhbHNlKTsKICAgICBbc2VsZiBfZG9jdW1lbnRdLT53ZWJraXRE
aWRFeGl0RnVsbFNjcmVlbkZvckVsZW1lbnQoX2VsZW1lbnQuZ2V0KCkpOwotICAgIAorICAgIFtf
d2ViVmlldyBfc2NhbGVXZWJWaWV3Ol9zYXZlZFNjYWxlIGF0T3JpZ2luOk5TTWFrZVBvaW50KDAs
IDApXTsKKwogICAgIE5TUmVzcG9uZGVyICpmaXJzdFJlc3BvbmRlciA9IFtbc2VsZiB3aW5kb3dd
IGZpcnN0UmVzcG9uZGVyXTsKICAgICBbc2VsZiBfc3dhcFZpZXc6X3dlYlZpZXdQbGFjZWhvbGRl
ci5nZXQoKSB3aXRoOl93ZWJWaWV3XTsKICAgICBbX3dlYlZpZXcgX21haW5Db3JlRnJhbWVdLT52
aWV3KCktPnNldFNjcm9sbFBvc2l0aW9uKF9zY3JvbGxQb3NpdGlvbik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9X
ZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggNjVlZTE0ODZjYmRmM2IzY2NmNjZiMDVlNTdmNjgwYWY5
MTE4YTViYy4uOTYyNDYzZTdhZDA5NmIzYThiMWQzYzIzYTYzZmY1MGZmZGFhMDI0MyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtODQzNCw3ICs4NDM0LDcgQEAgYm9vbCBM
YXllckZsdXNoQ29udHJvbGxlcjo6Zmx1c2hMYXllcnMoKQogI2lmIEVOQUJMRShGVUxMU0NSRUVO
X0FQSSkgJiYgIVBMQVRGT1JNKElPUykKIC0gKEJPT0wpX3N1cHBvcnRzRnVsbFNjcmVlbkZvckVs
ZW1lbnQ6KGNvbnN0IFdlYkNvcmU6OkVsZW1lbnQqKWVsZW1lbnQgd2l0aEtleWJvYXJkOihCT09M
KXdpdGhLZXlib2FyZAogewotICAgIGlmICghW1tXZWJQcmVmZXJlbmNlcyBzdGFuZGFyZFByZWZl
cmVuY2VzXSBmdWxsU2NyZWVuRW5hYmxlZF0pCisgICAgaWYgKCFbW3NlbGYgcHJlZmVyZW5jZXNd
IGZ1bGxTY3JlZW5FbmFibGVkXSkKICAgICAgICAgcmV0dXJuIE5POwogCiAgICAgcmV0dXJuICF3
aXRoS2V5Ym9hcmQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dL
RnVsbFNjcmVlbldpbmRvd0NvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9t
YWMvV0tGdWxsU2NyZWVuV2luZG93Q29udHJvbGxlci5oCmluZGV4IGQ1YjA2NDU5NDE0MWU2M2I3
ZTE2OGQzYjFhOTU2NzZjNGYwNGNlZjYuLjdkZTMxMjUzNzcwMzlkOGIxMTRkNzJlNTU0ODM1NzRk
ZjgxNjcxOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV0tGdWxs
U2NyZWVuV2luZG93Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9t
YWMvV0tGdWxsU2NyZWVuV2luZG93Q29udHJvbGxlci5oCkBAIC02MSw2ICs2MSw5IEBAIHR5cGVk
ZWYgZW51bSBGdWxsU2NyZWVuU3RhdGUgOiBOU0ludGVnZXIgRnVsbFNjcmVlblN0YXRlOwogICAg
IFJlZlB0cjxXZWJLaXQ6OlZvaWRDYWxsYmFjaz4gX3JlcGFpbnRDYWxsYmFjazsKIH0KIAorQHBy
b3BlcnR5IChyZWFkb25seSkgTlNSZWN0IGluaXRpYWxGcmFtZTsKK0Bwcm9wZXJ0eSAocmVhZG9u
bHkpIE5TUmVjdCBmaW5hbEZyYW1lOworCiAtIChpZClpbml0V2l0aFdpbmRvdzooTlNXaW5kb3cg
Kil3aW5kb3cgd2ViVmlldzooV0tWaWV3ICopd2ViVmlldzsKIAogLSAoV2ViQ29yZUZ1bGxTY3Jl
ZW5QbGFjZWhvbGRlclZpZXcqKXdlYlZpZXdQbGFjZWhvbGRlcjsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV0tGdWxsU2NyZWVuV2luZG93Q29udHJvbGxlci5tbSBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV0tGdWxsU2NyZWVuV2luZG93Q29udHJvbGxl
ci5tbQppbmRleCBhYTljMTkxZjg3ODhiYmI5NzM2ZTczZWYzMGU5YTZjNTUzZjM2ZjMyLi5jNTQy
ZTliYTNhNTdjMGU5ZTBjMTVlOGQzODUyYWU0NjcyYzYxYTgzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dLRnVsbFNjcmVlbldpbmRvd0NvbnRyb2xsZXIubW0KKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XS0Z1bGxTY3JlZW5XaW5kb3dDb250cm9s
bGVyLm1tCkBAIC0xMzAsNiArMTMwLDkgQEAgc3RhdGljIHZvaWQgbWFrZVJlc3BvbmRlckZpcnN0
UmVzcG9uZGVySWZEZXNjZW5kYW50T2ZWaWV3KE5TV2luZG93ICp3aW5kb3csIE5TUmUKICNwcmFn
bWEgbWFyayAtCiAjcHJhZ21hIG1hcmsgQWNjZXNzb3JzCiAKK0BzeW50aGVzaXplIGluaXRpYWxG
cmFtZT1faW5pdGlhbEZyYW1lOworQHN5bnRoZXNpemUgZmluYWxGcmFtZT1fZmluYWxGcmFtZTsK
KwogLSAoQk9PTClpc0Z1bGxTY3JlZW4KIHsKICAgICByZXR1cm4gX2Z1bGxTY3JlZW5TdGF0ZSA9
PSBXYWl0aW5nVG9FbnRlckZ1bGxTY3JlZW4KQEAgLTI0OSwxMCArMjUyLDEwIEBAIHN0YXRpYyBS
ZXRhaW5QdHI8Q0dJbWFnZVJlZj4gY3JlYXRlSW1hZ2VXaXRoQ29waWVkRGF0YShDR0ltYWdlUmVm
IHNvdXJjZUltYWdlKQogCiAgICAgbWFrZVJlc3BvbmRlckZpcnN0UmVzcG9uZGVySWZEZXNjZW5k
YW50T2ZWaWV3KHNlbGYud2luZG93LCB3ZWJXaW5kb3dGaXJzdFJlc3BvbmRlciwgX3dlYlZpZXcp
OwogCi0gICAgW3NlbGYgX21hbmFnZXJdLT5zZXRBbmltYXRpbmdGdWxsU2NyZWVuKHRydWUpOwot
ICAgIFtzZWxmIF9tYW5hZ2VyXS0+d2lsbEVudGVyRnVsbFNjcmVlbigpOwogICAgIF9zYXZlZFNj
YWxlID0gW3NlbGYgX3BhZ2VdLT5wYWdlU2NhbGVGYWN0b3IoKTsKICAgICBbc2VsZiBfcGFnZV0t
PnNjYWxlUGFnZSgxLCBJbnRQb2ludCgpKTsKKyAgICBbc2VsZiBfbWFuYWdlcl0tPnNldEFuaW1h
dGluZ0Z1bGxTY3JlZW4odHJ1ZSk7CisgICAgW3NlbGYgX21hbmFnZXJdLT53aWxsRW50ZXJGdWxs
U2NyZWVuKCk7CiB9CiAKIC0gKHZvaWQpYmVnYW5FbnRlckZ1bGxTY3JlZW5XaXRoSW5pdGlhbEZy
YW1lOihjb25zdCBXZWJDb3JlOjpJbnRSZWN0Jilpbml0aWFsRnJhbWUgZmluYWxGcmFtZTooY29u
c3QgV2ViQ29yZTo6SW50UmVjdCYpZmluYWxGcmFtZQpAQCAtMzIwLDEwICszMjMsMTAgQEAgc3Rh
dGljIFJldGFpblB0cjxDR0ltYWdlUmVmPiBjcmVhdGVJbWFnZVdpdGhDb3BpZWREYXRhKENHSW1h
Z2VSZWYgc291cmNlSW1hZ2UpCiAgICAgICAgIG1ha2VSZXNwb25kZXJGaXJzdFJlc3BvbmRlcklm
RGVzY2VuZGFudE9mVmlldyhfd2ViVmlldy53aW5kb3csIGZpcnN0UmVzcG9uZGVyLCBfd2ViVmll
dyk7CiAgICAgICAgIFtbX3dlYlZpZXcgd2luZG93XSBtYWtlS2V5QW5kT3JkZXJGcm9udDpzZWxm
XTsKIAotICAgICAgICBbc2VsZiBfbWFuYWdlcl0tPmRpZEV4aXRGdWxsU2NyZWVuKCk7Ci0gICAg
ICAgIFtzZWxmIF9tYW5hZ2VyXS0+c2V0QW5pbWF0aW5nRnVsbFNjcmVlbihmYWxzZSk7CiAgICAg
ICAgIFtzZWxmIF9wYWdlXS0+c2NhbGVQYWdlKF9zYXZlZFNjYWxlLCBJbnRQb2ludCgpKTsKICAg
ICAgICAgW3NlbGYgX21hbmFnZXJdLT5yZXN0b3JlU2Nyb2xsUG9zaXRpb24oKTsKKyAgICAgICAg
W3NlbGYgX21hbmFnZXJdLT5kaWRFeGl0RnVsbFNjcmVlbigpOworICAgICAgICBbc2VsZiBfbWFu
YWdlcl0tPnNldEFuaW1hdGluZ0Z1bGxTY3JlZW4oZmFsc2UpOwogICAgIH0KIAogICAgIE5TRW5h
YmxlU2NyZWVuVXBkYXRlcygpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMv
Q2hhbmdlTG9nCmluZGV4IDNlOGRlMTc1NjgxODc4YjJhOWE4NGQ4MTk4ZDdkOWNlOGJkODcxYjku
Ljg2MzI2OWZmZjZhODAwY2M3NzIzM2NmYzI5YzA5MTdlZDY5NTkzMWEgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAx
NS0wMi0yNyAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KKworICAgICAgICBbV0sx
XVtXSzJdW01hY10gRnVsbHNjcmVlbiBhbmltYXRpb24gaXMgaW5jb3JyZWN0IHdoZW4gcGFnZSBp
cyBzY2FsZWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNDIxMjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGQgYSB0ZXN0IHdoaWNoIGNoYW5nZXMgdGhlIFdlYlZpZXcncyBwYWdlIHNjYWxlLCB0aGVu
IGVudGVycyBmdWxsc2NyZWVuIG1vZGUsIGFuZCB2ZXJpZmllcworICAgICAgICB0aGF0IHRoZSBp
bml0aWFsIGFuZCBmaW5hbCBzY3JlZW4gcmVjdHMgZm9yIHRoZSB3ZWIgY29udGVudCBhcmUgYXMg
ZXhwZWN0ZWQuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL21hYy9G
dWxsc2NyZWVuWm9vbUluaXRpYWxGcmFtZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBUZXN0V2Vi
S2l0QVBJL1Rlc3RzL21hYy9GdWxsc2NyZWVuWm9vbUluaXRpYWxGcmFtZS5tbTogQWRkZWQuCisg
ICAgICAgICgtW0Z1bGxzY3JlZW5TdGF0ZURlbGVnYXRlIHdlYlZpZXc6cnVuSmF2YVNjcmlwdEFs
ZXJ0UGFuZWxXaXRoTWVzc2FnZTppbml0aWF0ZWRCeUZyYW1lOl0pOgorICAgICAgICAocnVuSmF2
YVNjcmlwdEFsZXJ0KToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OkZ1bGxzY3JlZW5ab29tSW5p
dGlhbEZyYW1lOjppbml0aWFsaXplVmlldyk6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpGdWxs
c2NyZWVuWm9vbUluaXRpYWxGcmFtZTo6dGVhcmRvd25WaWV3KToKKyAgICAgICAgKFRlc3RXZWJL
aXRBUEk6OkZ1bGxzY3JlZW5ab29tSW5pdGlhbEZyYW1lOjpzZXRQYWdlU2NhbGUpOgorICAgICAg
ICAoVGVzdFdlYktpdEFQSTo6RnVsbHNjcmVlblpvb21Jbml0aWFsRnJhbWU6OnNlbmRNb3VzZURv
d25FdmVudCk6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpGdWxsc2NyZWVuWm9vbUluaXRpYWxG
cmFtZTo6cnVuVGVzdCk6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUX0YpOgorCiAyMDE1
LTAyLTIzICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgogCiAgICAgICAgIGJ1
aWxkLndlYmtpdC5vcmcvZGFzaGJvYXJkIENyYXNoT25seSBxdWV1ZXMgc2hvdWxkIG5vdCBzaG93
IHR3byBncmVlbiBidWJibGVzCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RX
ZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGZiNTAzMzdiNzll
ZjJhY2YyMTMwZDJhOTRjZDZkMmExZDgwZTc5Y2UuLjAwMTY1NmFjMjk4NGI2NGI3YTEzYzcwNjll
MjNhN2U3NTVjNzdiOGUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktp
dEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yNjksNiArMjY5LDgg
QEAKIAkJQzVFMUFGRkUxNkIyMjFGMTAwNkNDMUYyIC8qIGV4ZWNDb3B5Lmh0bWwgaW4gQ29weSBS
ZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzVFMUFGRkQxNkIy
MjE3OTAwNkNDMUYyIC8qIGV4ZWNDb3B5Lmh0bWwgKi87IH07CiAJCUNENTlGNTM0MTlFOTExMEQw
MENGMTgzNSAvKiBmaWxlLXdpdGgtbXNlLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q1OUY1MzIxOUU5MTBBQTAwQ0YxODM1IC8qIGZp
bGUtd2l0aC1tc2UuaHRtbCAqLzsgfTsKIAkJQ0Q1OUY1MzUxOUU5MTEwRDAwQ0YxODM1IC8qIHRl
c3QtbXNlLm1wNCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBDRDU5RjUzMzE5RTkxMEJDMDBDRjE4MzUgLyogdGVzdC1tc2UubXA0ICovOyB9Owor
CQlDREJGQ0M0NTFBOUZGNDUzMDBBN0I2OTEgLyogRnVsbHNjcmVlblpvb21Jbml0aWFsRnJhbWUu
bW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREJGQ0M0
MzFBOUZGNDQ4MDBBN0I2OTEgLyogRnVsbHNjcmVlblpvb21Jbml0aWFsRnJhbWUubW0gKi87IH07
CisJCUNEQkZDQzQ2MUE5RkY0OUUwMEE3QjY5MSAvKiBGdWxsc2NyZWVuWm9vbUluaXRpYWxGcmFt
ZS5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IENEQkZDQzQyMUE5RkY0NDgwMEE3QjY5MSAvKiBGdWxsc2NyZWVuWm9vbUluaXRpYWxGcmFt
ZS5odG1sICovOyB9OwogCQlDRTE0RjFBNDE4MTg3M0IwMDAxQzI3MDUgLyogV2lsbFBlcmZvcm1D
bGllbnRSZWRpcmVjdFRvVVJMQ3Jhc2guaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTE0RjFBMjE4MTg3M0IwMDAxQzI3MDUgLyogV2ls
bFBlcmZvcm1DbGllbnRSZWRpcmVjdFRvVVJMQ3Jhc2guaHRtbCAqLzsgfTsKIAkJQ0VBNkNGMjgx
OUNDRjY5RDAwNjRGNUE3IC8qIG9wZW4tYW5kLWNsb3NlLXdpbmRvdy5odG1sIGluIENvcHkgUmVz
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFQTZDRjI3MTlDQ0Y2
OUQwMDY0RjVBNyAvKiBvcGVuLWFuZC1jbG9zZS13aW5kb3cuaHRtbCAqLzsgfTsKIAkJRTEyMjBE
Q0ExNTVCMjhBQTAwMTNFMkZDIC8qIE1lbW9yeUNhY2hlRGlzYWJsZVdpdGhpblJlc291cmNlTG9h
ZERlbGVnYXRlLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRTEyMjBEQzkxNTVCMjg3RDAwMTNFMkZDIC8qIE1lbW9yeUNhY2hlRGlzYWJs
ZVdpdGhpblJlc291cmNlTG9hZERlbGVnYXRlLmh0bWwgKi87IH07CkBAIC0zMTQsNiArMzE2LDcg
QEAKIAkJCWRzdFBhdGggPSBUZXN0V2ViS2l0QVBJLnJlc291cmNlczsKIAkJCWRzdFN1YmZvbGRl
clNwZWMgPSA3OwogCQkJZmlsZXMgPSAoCisJCQkJQ0RCRkNDNDYxQTlGRjQ5RTAwQTdCNjkxIC8q
IEZ1bGxzY3JlZW5ab29tSW5pdGlhbEZyYW1lLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJ
CQkJMUE5RTUyQzkxM0U2NUVGNDAwNjkxN0Y1IC8qIDE4LWNoYXJhY3RlcnMuaHRtbCBpbiBDb3B5
IFJlc291cmNlcyAqLywKIAkJCQkzNzkwMjhCOTE0RkFDMjRDMDA3RTZCNDMgLyogYWNjZXB0c0Zp
cnN0TW91c2UuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQkyRDk1MEZDMDFBMjMwQzNB
MDAwMTI0MzQgLyogYWN0aW9uLW1lbnUtdGFyZ2V0cy5odG1sIGluIENvcHkgUmVzb3VyY2VzICov
LApAQCAtNjU4LDYgKzY2MSw4IEBACiAJCUNENTQ5N0IzMTU4NTdGMEMwMEI1QkMzMCAvKiBNZWRp
YVRpbWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWVkaWFUaW1l
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0Q1OUY1MzIxOUU5MTBBQTAwQ0Yx
ODM1IC8qIGZpbGUtd2l0aC1tc2UuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJm
aWxlLXdpdGgtbXNlLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRDU5RjUz
MzE5RTkxMEJDMDBDRjE4MzUgLyogdGVzdC1tc2UubXA0ICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gZmlsZTsgcGF0aCA9ICJ0ZXN0LW1zZS5tcDQiOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDREJGQ0M0MjFBOUZGNDQ4MDBBN0I2OTEgLyog
RnVsbHNjcmVlblpvb21Jbml0aWFsRnJhbWUuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0
aCA9IEZ1bGxzY3JlZW5ab29tSW5pdGlhbEZyYW1lLmh0bWw7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUNEQkZDQzQzMUE5RkY0NDgwMEE3QjY5MSAvKiBGdWxsc2NyZWVuWm9vbUluaXRp
YWxGcmFtZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEZ1bGxz
Y3JlZW5ab29tSW5pdGlhbEZyYW1lLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlD
REMyQzcxNDE3OTcwODlEMDBFNjI3RkIgLyogVGltZVJhbmdlcy5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBUaW1lUmFuZ2VzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0UxNEYx
QTIxODE4NzNCMDAwMUMyNzA1IC8qIFdpbGxQZXJmb3JtQ2xpZW50UmVkaXJlY3RUb1VSTENyYXNo
Lmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0Lmh0bWw7IHBhdGggPSBXaWxsUGVyZm9ybUNsaWVudFJlZGlyZWN0VG9VUkxDcmFzaC5odG1s
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRTMyQzdDNzE4MTg0QzQ5MDBDRDhDMjgg
LyogV2lsbFBlcmZvcm1DbGllbnRSZWRpcmVjdFRvVVJMQ3Jhc2gubW0gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXaWxsUGVyZm9ybUNsaWVudFJlZGlyZWN0VG9VUkxD
cmFzaC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTExMzQsNiArMTEzOSw3IEBA
CiAJCQkJQzA3RTZDQUUxM0ZENjc2NTAwMzhCMjJCIC8qIER5bmFtaWNEZXZpY2VTY2FsZUZhY3Rv
ci5tbSAqLywKIAkJCQk0QkI0MTYwMzE2ODE1RjkxMDA4MjQyMzggLyogRWxlbWVudEF0UG9pbnRJ
bldlYkZyYW1lLm1tICovLAogCQkJCTFBN0U4QjMzMTgxMjA4REUwMEFFQjc0QSAvKiBGcmFnbWVu
dE5hdmlnYXRpb24ubW0gKi8sCisJCQkJQ0RCRkNDNDMxQTlGRjQ0ODAwQTdCNjkxIC8qIEZ1bGxz
Y3JlZW5ab29tSW5pdGlhbEZyYW1lLm1tICovLAogCQkJCTlCNEY4RkEzMTU5RDUyQjEwMDJEOUY5
NCAvKiBIVE1MQ29sbGVjdGlvbk5hbWVkSXRlbS5tbSAqLywKIAkJCQk5QjI2RkM2QjE1OUQwNjEw
MDBDQzM3NjUgLyogSFRNTEZvcm1Db2xsZWN0aW9uTmFtZWRJdGVtLm1tICovLAogCQkJCUM1MDdF
OEE2MTRDNjU0NUIwMDVENkIzQiAvKiBJbnNwZWN0b3JCYXIubW0gKi8sCkBAIC0xMTc2LDYgKzEx
ODIsNyBAQAogCQkJCTM3RTEwNjRCMTY5NzY3RjcwMEI3OEJEMCAvKiBET01IVE1MVGFibGVDZWxs
RWxlbWVudENlbGxBYm92ZS5odG1sICovLAogCQkJCTM3REM2NzhGMTQwRDdEM0EwMEFCQ0NEQiAv
KiBET01SYW5nZU9mU3RyaW5nLmh0bWwgKi8sCiAJCQkJMUE3RThCMzUxODEyMDkzNjAwQUVCNzRB
IC8qIEZyYWdtZW50TmF2aWdhdGlvbi5odG1sICovLAorCQkJCUNEQkZDQzQyMUE5RkY0NDgwMEE3
QjY5MSAvKiBGdWxsc2NyZWVuWm9vbUluaXRpYWxGcmFtZS5odG1sICovLAogCQkJCTlCNEY4RkE2
MTU5RDUyQ0EwMDJEOUY5NCAvKiBIVE1MQ29sbGVjdGlvbk5hbWVkSXRlbS5odG1sICovLAogCQkJ
CTlCMjZGQ0I0MTU5RDE1RTcwMENDMzc2NSAvKiBIVE1MRm9ybUNvbGxlY3Rpb25OYW1lZEl0ZW0u
aHRtbCAqLywKIAkJCQlDMkNGOTc1ODE2Q0VDNjlFMDA1NEU5OUQgLyogSlNDb250ZXh0QmFja0Zv
cndhcmRDYWNoZTEuaHRtbCAqLywKQEAgLTEzOTIsNiArMTM5OSw3IEBACiAJCQkJN0NDRTdGMzQx
QTQxMUI4RTAwNDQ3QzRDIC8qIEZ1bmN0aW9uYWwuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0ND
RTdFRjgxQTQxMUFFNjAwNDQ3QzRDIC8qIEdlb2xvY2F0aW9uLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTdDQ0U3RUUxMUE0MTFBOUEwMDQ0N0M0QyAvKiBHZXRCYWNraW5nU2NhbGVGYWN0b3IubW0g
aW4gU291cmNlcyAqLywKKwkJCQlDREJGQ0M0NTFBOUZGNDUzMDBBN0I2OTEgLyogRnVsbHNjcmVl
blpvb21Jbml0aWFsRnJhbWUubW0gaW4gU291cmNlcyAqLywKIAkJCQk3Q0NFN0VGOTFBNDExQUU2
MDA0NDdDNEMgLyogR2V0SW5qZWN0ZWRCdW5kbGVJbml0aWFsaXphdGlvblVzZXJEYXRhQ2FsbGJh
Y2suY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdFRTIxQTQxMUE5QTAwNDQ3QzRDIC8qIEdl
dFBJREFmdGVyQWJvcnRlZFByb2Nlc3NMYXVuY2guY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0ND
RTdGMzUxQTQxMUI4RTAwNDQ3QzRDIC8qIEhhc2hNYXAuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYg
LS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL21hYy9GdWxsc2NyZWVuWm9vbUluaXRp
YWxGcmFtZS5odG1sIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9tYWMvRnVsbHNjcmVlblpv
b21Jbml0aWFsRnJhbWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMzMwNTA3YWE2MDgzNTQ3NjA3Yzk1ZjFl
MTNmNTY2ZjEyNTFkM2I5Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9tYWMvRnVsbHNjcmVlblpvb21Jbml0aWFsRnJhbWUuaHRtbApAQCAtMCwwICsxLDMzIEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0ZnVsbHNjcmVlbmNoYW5nZScsIGZ1bmN0
aW9uKGV2ZW50KSB7CisgICAgICAgICAgICAvLyBTZW5kIGEgc2lnbmFsIHRvIHRoZSB0ZXN0IGNv
bnRyb2xsZXIgdmlhIGFsZXJ0LgorICAgICAgICAgICAgYWxlcnQoJ3Zpc2liaWxpdHljaGFuZ2Un
KTsKKyAgICAgICAgfSk7CisgICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNl
ZG93bicsIGZ1bmN0aW9uKGV2ZW50KSB7CisgICAgICAgICAgICAvLyBUb2dnbGUgZnVsbHNjcmVl
bgorICAgICAgICAgICAgdmFyIHRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0YXJn
ZXQnKTsKKyAgICAgICAgICAgIGlmIChkb2N1bWVudC53ZWJraXRGdWxsc2NyZWVuRWxlbWVudCA9
PSB0YXJnZXQpCisgICAgICAgICAgICAgICAgZG9jdW1lbnQud2Via2l0RXhpdEZ1bGxzY3JlZW4o
KTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICB0YXJnZXQud2Via2l0UmVxdWVz
dEZ1bGxTY3JlZW4oKTsKKyAgICAgICAgfSk7CisgICAgPC9zY3JpcHQ+CisgICAgPHN0eWxlPgor
ICAgICN0YXJnZXQgeworICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7CisgICAgICAgIHdp
ZHRoOiAxNTBweDsKKyAgICAgICAgaGVpZ2h0OiAxNTBweDsKKyAgICB9CisgICAgI3RhcmdldDot
d2Via2l0LWZ1bGwtc2NyZWVuIHsKKyAgICAgICAgd2lkdGg6IDQwMHB4OworICAgICAgICBoZWln
aHQ6IDQwMHB4OworICAgIH0KKyAgICA8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CisgICAgPGRp
diBpZD0idGFyZ2V0Ij48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL21hYy9GdWxs
c2NyZWVuWm9vbUluaXRpYWxGcmFtZS5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvbWFj
L0Z1bGxzY3JlZW5ab29tSW5pdGlhbEZyYW1lLm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZmN2FlZDA0ZDQxZTc2
MDNlOGE5OGI4YTZmMjE3YzU3ZTU1NzMyZGMKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL21hYy9GdWxsc2NyZWVuWm9vbUluaXRpYWxGcmFtZS5tbQpAQCAtMCww
ICsxLDE5MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgImNvbmZpZy5oIgorCisjaW1wb3J0ICJK
YXZhU2NyaXB0VGVzdC5oIgorI2ltcG9ydCAiVGVzdC5oIgorI2ltcG9ydCAiV2ViS2l0QWdub3N0
aWNUZXN0LmgiCisjaW1wb3J0IDxDYXJib24vQ2FyYm9uLmg+CisjaW1wb3J0IDxXZWJLaXQvV2Vi
Vmlld1ByaXZhdGUuaD4KKyNpbXBvcnQgPFdlYktpdC9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaD4K
KyNpbXBvcnQgPFdlYktpdC9XS1ZpZXdQcml2YXRlLmg+CisjaW1wb3J0IDxXZWJLaXQvV0tQcmVm
ZXJlbmNlc1ByaXZhdGUuaD4KKyNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KKworQGludGVyZmFj
ZSBOU1dpbmRvd0NvbnRyb2xsZXIgKFdlYktpdEZ1bGxTY3JlZW5BZGRpdGlvbnMpCistIChOU1Jl
Y3QpaW5pdGlhbEZyYW1lOworLSAoTlNSZWN0KWZpbmFsRnJhbWU7CitAZW5kCisKK3N0YXRpYyBi
b29sIGlzV2FpdGluZ0ZvclBhZ2VTaWduYWxUb0NvbnRpbnVlID0gZmFsc2U7CitzdGF0aWMgYm9v
bCBkaWRHZXRQYWdlU2lnbmFsVG9Db250aW51ZSA9IGZhbHNlOworCitAaW50ZXJmYWNlIEZ1bGxz
Y3JlZW5TdGF0ZURlbGVnYXRlIDogTlNPYmplY3QgPFdlYlVJRGVsZWdhdGU+CitAZW5kCisKK0Bp
bXBsZW1lbnRhdGlvbiBGdWxsc2NyZWVuU3RhdGVEZWxlZ2F0ZQorLSAodm9pZCl3ZWJWaWV3OihX
ZWJWaWV3ICopc2VuZGVyIHJ1bkphdmFTY3JpcHRBbGVydFBhbmVsV2l0aE1lc3NhZ2U6KE5TU3Ry
aW5nICopbWVzc2FnZSBpbml0aWF0ZWRCeUZyYW1lOihXZWJGcmFtZSAqKWZyYW1lCit7CisgICAg
RVhQRUNUX1RSVUUoaXNXYWl0aW5nRm9yUGFnZVNpZ25hbFRvQ29udGludWUpOworICAgIGlzV2Fp
dGluZ0ZvclBhZ2VTaWduYWxUb0NvbnRpbnVlID0gZmFsc2U7CisgICAgZGlkR2V0UGFnZVNpZ25h
bFRvQ29udGludWUgPSB0cnVlOworfQorQGVuZAorCisvLyBXZWJLaXQyIFdLUGFnZVVJQ2xpZW50
CisKK3N0YXRpYyB2b2lkIHJ1bkphdmFTY3JpcHRBbGVydChXS1BhZ2VSZWYgcGFnZSwgV0tTdHJp
bmdSZWYgYWxlcnRUZXh0LCBXS0ZyYW1lUmVmIGZyYW1lLCBjb25zdCB2b2lkKiBjbGllbnRJbmZv
KQoreworICAgIEVYUEVDVF9UUlVFKGlzV2FpdGluZ0ZvclBhZ2VTaWduYWxUb0NvbnRpbnVlKTsK
KyAgICBpc1dhaXRpbmdGb3JQYWdlU2lnbmFsVG9Db250aW51ZSA9IGZhbHNlOworICAgIGRpZEdl
dFBhZ2VTaWduYWxUb0NvbnRpbnVlID0gdHJ1ZTsKK30KKworLy8gV2ViS2l0QWdub3N0aWNUZXN0
CisKK25hbWVzcGFjZSBUZXN0V2ViS2l0QVBJIHsKKworY2xhc3MgRnVsbHNjcmVlblpvb21Jbml0
aWFsRnJhbWUgOiBwdWJsaWMgV2ViS2l0QWdub3N0aWNUZXN0IHsKK3B1YmxpYzoKKyAgICB0ZW1w
bGF0ZSA8dHlwZW5hbWUgVmlldz4gdm9pZCBydW5UZXN0KFZpZXcpOworCisgICAgLy8gV2ViS2l0
QWdub3N0aWNUZXN0CisgICAgdmlydHVhbCBOU1VSTCAqdXJsKCkgY29uc3Qgb3ZlcnJpZGUgeyBy
ZXR1cm4gW1tOU0J1bmRsZSBtYWluQnVuZGxlXSBVUkxGb3JSZXNvdXJjZTpAIkZ1bGxzY3JlZW5a
b29tSW5pdGlhbEZyYW1lIiB3aXRoRXh0ZW5zaW9uOkAiaHRtbCIgc3ViZGlyZWN0b3J5OkAiVGVz
dFdlYktpdEFQSS5yZXNvdXJjZXMiXTsgfQorICAgIHZpcnR1YWwgdm9pZCBkaWRMb2FkVVJMKFdl
YlZpZXcgKndlYlZpZXcpIG92ZXJyaWRlIHsgcnVuVGVzdCh3ZWJWaWV3KTsgfQorICAgIHZpcnR1
YWwgdm9pZCBkaWRMb2FkVVJMKFdLVmlldyAqd2tWaWV3KSBvdmVycmlkZSB7IHJ1blRlc3Qod2tW
aWV3KTsgfQorCisgICAgLy8gU2V0dXAgYW5kIHRlYXJkb3duIHRoZSBVSURlbGVnYXRlIHdoaWNo
IGdldHMgYWxlcnQoKSBzaWduYWxzIGZyb20gdGhlIHBhZ2UuCisgICAgdmlydHVhbCB2b2lkIGlu
aXRpYWxpemVWaWV3KFdlYlZpZXcgKikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGluaXRp
YWxpemVWaWV3KFdLVmlldyAqKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgdGVhcmRvd25W
aWV3KFdlYlZpZXcgKikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIHRlYXJkb3duVmlldyhX
S1ZpZXcgKikgb3ZlcnJpZGU7CisKKyAgICB2b2lkIHNldFBhZ2VTY2FsZShXZWJWaWV3ICosIGRv
dWJsZSk7CisgICAgdm9pZCBzZXRQYWdlU2NhbGUoV0tWaWV3ICosIGRvdWJsZSk7CisgICAgdm9p
ZCBzZW5kTW91c2VEb3duRXZlbnQoV2ViVmlldyAqLCBOU0V2ZW50ICopOworICAgIHZvaWQgc2Vu
ZE1vdXNlRG93bkV2ZW50KFdLVmlldyAqLCBOU0V2ZW50ICopOworfTsKKwordm9pZCBGdWxsc2Ny
ZWVuWm9vbUluaXRpYWxGcmFtZTo6aW5pdGlhbGl6ZVZpZXcoV2ViVmlldyAqd2ViVmlldykKK3sK
KyAgICAvLyBSZWxlYXNlZCBpbiB0ZWFyZG93blZpZXcuCisgICAgd2ViVmlldy5VSURlbGVnYXRl
ID0gW1tGdWxsc2NyZWVuU3RhdGVEZWxlZ2F0ZSBhbGxvY10gaW5pdF07CisKKyAgICBSZXRhaW5Q
dHI8V2ViUHJlZmVyZW5jZXM+IGN1c3RvbVByZWZlcmVuY2VzID0gYWRvcHROUyhbW1dlYlByZWZl
cmVuY2VzIGFsbG9jXSBpbml0V2l0aElkZW50aWZpZXI6QCJGdWxsc2NyZWVuWm9vbUluaXRpYWxG
cmFtZVByZWZlcmVuY2VzIl0pOworICAgIFtjdXN0b21QcmVmZXJlbmNlcyBzZXRGdWxsU2NyZWVu
RW5hYmxlZDpZRVNdOworICAgIHdlYlZpZXcucHJlZmVyZW5jZXMgPSBjdXN0b21QcmVmZXJlbmNl
cy5nZXQoKTsKK30KKwordm9pZCBGdWxsc2NyZWVuWm9vbUluaXRpYWxGcmFtZTo6dGVhcmRvd25W
aWV3KFdlYlZpZXcgKndlYlZpZXcpCit7CisgICAgaWQgdWlEZWxlZ2F0ZSA9IHdlYlZpZXcuVUlE
ZWxlZ2F0ZTsKKyAgICB3ZWJWaWV3LlVJRGVsZWdhdGUgPSBuaWw7CisgICAgW3VpRGVsZWdhdGUg
cmVsZWFzZV07Cit9CisKK3ZvaWQgRnVsbHNjcmVlblpvb21Jbml0aWFsRnJhbWU6OmluaXRpYWxp
emVWaWV3KFdLVmlldyAqd2tWaWV3KQoreworICAgIFdLUGFnZVVJQ2xpZW50VjAgdWlDbGllbnQ7
CisgICAgbWVtc2V0KCZ1aUNsaWVudCwgMCwgc2l6ZW9mKHVpQ2xpZW50KSk7CisKKyAgICB1aUNs
aWVudC5iYXNlLnZlcnNpb24gPSAwOworICAgIHVpQ2xpZW50LnJ1bkphdmFTY3JpcHRBbGVydCA9
IHJ1bkphdmFTY3JpcHRBbGVydDsKKworICAgIFdLUGFnZVNldFBhZ2VVSUNsaWVudCh3a1ZpZXcu
cGFnZVJlZiwgJnVpQ2xpZW50LmJhc2UpOworCisgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+
IGlkZW50aWZpZXIoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIkZ1bGxz
Y3JlZW5ab29tSW5pdGlhbEZyYW1lUHJlZmVyZW5jZXMiKSk7CisgICAgV0tSZXRhaW5QdHI8V0tQ
cmVmZXJlbmNlc1JlZj4gY3VzdG9tUHJlZmVyZW5jZXMoQWRvcHRXSywgV0tQcmVmZXJlbmNlc0Ny
ZWF0ZVdpdGhJZGVudGlmaWVyKGlkZW50aWZpZXIuZ2V0KCkpKTsKKyAgICBXS1ByZWZlcmVuY2Vz
U2V0RnVsbFNjcmVlbkVuYWJsZWQoY3VzdG9tUHJlZmVyZW5jZXMuZ2V0KCksIHRydWUpOworICAg
IFdLUGFnZUdyb3VwU2V0UHJlZmVyZW5jZXMoV0tQYWdlR2V0UGFnZUdyb3VwKHdrVmlldy5wYWdl
UmVmKSwgY3VzdG9tUHJlZmVyZW5jZXMuZ2V0KCkpOworfQorCit2b2lkIEZ1bGxzY3JlZW5ab29t
SW5pdGlhbEZyYW1lOjp0ZWFyZG93blZpZXcoV0tWaWV3ICp3a1ZpZXcpCit7CisgICAgLy8gV2Ug
ZG8gbm90IG5lZWQgdG8gdGVhcmRvd24gdGhlIFdLUGFnZVVJQ2xpZW50LgorfQorCit2b2lkIEZ1
bGxzY3JlZW5ab29tSW5pdGlhbEZyYW1lOjpzZXRQYWdlU2NhbGUoV2ViVmlldyAqd2ViVmlldywg
ZG91YmxlIHNjYWxlKQoreworICAgIFt3ZWJWaWV3IF9zY2FsZVdlYlZpZXc6c2NhbGUgYXRPcmln
aW46TlNNYWtlUG9pbnQoMCwgMCldOworfQorCit2b2lkIEZ1bGxzY3JlZW5ab29tSW5pdGlhbEZy
YW1lOjpzZXRQYWdlU2NhbGUoV0tWaWV3ICp3a1ZpZXcsIGRvdWJsZSBzY2FsZSkKK3sKKyAgICBX
S1BhZ2VTZXRTY2FsZUZhY3Rvcih3a1ZpZXcucGFnZVJlZiwgc2NhbGUsIFdLUG9pbnRNYWtlKDAs
IDApKTsKK30KKwordm9pZCBGdWxsc2NyZWVuWm9vbUluaXRpYWxGcmFtZTo6c2VuZE1vdXNlRG93
bkV2ZW50KFdlYlZpZXcgKndlYlZpZXcsIE5TRXZlbnQgKmV2ZW50KQoreworICAgIFt3ZWJWaWV3
Lm1haW5GcmFtZS5mcmFtZVZpZXcuZG9jdW1lbnRWaWV3IG1vdXNlRG93bjpldmVudF07Cit9CisK
K3ZvaWQgRnVsbHNjcmVlblpvb21Jbml0aWFsRnJhbWU6OnNlbmRNb3VzZURvd25FdmVudChXS1Zp
ZXcgKndrVmlldywgTlNFdmVudCAqZXZlbnQpCit7CisgICAgW3drVmlldyBtb3VzZURvd246ZXZl
bnRdOworfQorCit0ZW1wbGF0ZSA8dHlwZW5hbWUgVmlldz4KK3ZvaWQgRnVsbHNjcmVlblpvb21J
bml0aWFsRnJhbWU6OnJ1blRlc3QoVmlldyB2aWV3KQoreworICAgIFJldGFpblB0cjxOU1dpbmRv
dz4gd2luZG93ID0gYWRvcHROUyhbW05TV2luZG93IGFsbG9jXSBpbml0V2l0aENvbnRlbnRSZWN0
OnZpZXcuZnJhbWUgc3R5bGVNYXNrOk5TQm9yZGVybGVzc1dpbmRvd01hc2sgYmFja2luZzpOU0Jh
Y2tpbmdTdG9yZUJ1ZmZlcmVkIGRlZmVyOk5PXSk7CisgICAgW3dpbmRvdy5nZXQoKS5jb250ZW50
VmlldyBhZGRTdWJ2aWV3OnZpZXddOworCisgICAgc2V0UGFnZVNjYWxlKHZpZXcsIDIpOworCisg
ICAgTlNFdmVudCAqZXZlbnQgPSBbTlNFdmVudCBtb3VzZUV2ZW50V2l0aFR5cGU6TlNMZWZ0TW91
c2VEb3duIGxvY2F0aW9uOk5TTWFrZVBvaW50KDUsIDUpIG1vZGlmaWVyRmxhZ3M6MCB0aW1lc3Rh
bXA6MCB3aW5kb3dOdW1iZXI6d2luZG93LmdldCgpLndpbmRvd051bWJlciBjb250ZXh0OjAgZXZl
bnROdW1iZXI6MCBjbGlja0NvdW50OjAgcHJlc3N1cmU6MF07CisKKyAgICBpc1dhaXRpbmdGb3JQ
YWdlU2lnbmFsVG9Db250aW51ZSA9IHRydWU7CisgICAgZGlkR2V0UGFnZVNpZ25hbFRvQ29udGlu
dWUgPSBmYWxzZTsKKyAgICBzZW5kTW91c2VEb3duRXZlbnQodmlldywgZXZlbnQpOworICAgIFV0
aWw6OnJ1bigmZGlkR2V0UGFnZVNpZ25hbFRvQ29udGludWUpOworCisgICAgaWQgd2luZG93Q29u
dHJvbGxlciA9IFtbdmlldyB3aW5kb3ddIHdpbmRvd0NvbnRyb2xsZXJdOworICAgIEVYUEVDVF9U
UlVFKFt3aW5kb3dDb250cm9sbGVyIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoaW5pdGlh
bEZyYW1lKV0pOworICAgIEVYUEVDVF9UUlVFKFt3aW5kb3dDb250cm9sbGVyIHJlc3BvbmRzVG9T
ZWxlY3RvcjpAc2VsZWN0b3IoZmluYWxGcmFtZSldKTsKKworICAgIE5TUmVjdCBpbml0aWFsRnJh
bWUgPSBbd2luZG93Q29udHJvbGxlciBpbml0aWFsRnJhbWVdOworICAgIE5TUmVjdCBmaW5hbEZy
YW1lID0gW3dpbmRvd0NvbnRyb2xsZXIgZmluYWxGcmFtZV07CisKKyAgICBFWFBFQ1RfRVEoMzAw
LCBpbml0aWFsRnJhbWUuc2l6ZS53aWR0aCk7CisgICAgRVhQRUNUX0VRKDMwMCwgaW5pdGlhbEZy
YW1lLnNpemUuaGVpZ2h0KTsKKyAgICBFWFBFQ1RfRVEoNDAwLCBmaW5hbEZyYW1lLnNpemUud2lk
dGgpOworICAgIEVYUEVDVF9FUSg0MDAsIGZpbmFsRnJhbWUuc2l6ZS5oZWlnaHQpOworCisgICAg
aXNXYWl0aW5nRm9yUGFnZVNpZ25hbFRvQ29udGludWUgPSB0cnVlOworICAgIGRpZEdldFBhZ2VT
aWduYWxUb0NvbnRpbnVlID0gZmFsc2U7CisgICAgc2VuZE1vdXNlRG93bkV2ZW50KHZpZXcsIGV2
ZW50KTsKKyAgICBVdGlsOjpydW4oJmRpZEdldFBhZ2VTaWduYWxUb0NvbnRpbnVlKTsKK30KKyAg
ICAKK1RFU1RfRihGdWxsc2NyZWVuWm9vbUluaXRpYWxGcmFtZSwgV2ViS2l0KQoreworICAgIHJ1
bldlYktpdDFUZXN0KCk7Cit9CisKK1RFU1RfRihGdWxsc2NyZWVuWm9vbUluaXRpYWxGcmFtZSwg
V2ViS2l0MikKK3sKKyAgICBydW5XZWJLaXQyVGVzdCgpOworfQorCit9IC8vIG5hbWVzcGFjZSBU
ZXN0V2ViS2l0QVBJCg==
</data>
<flag name="review"
          id="272523"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>247607</attachid>
            <date>2015-02-28 11:36:21 -0800</date>
            <delta_ts>2015-03-02 09:37:36 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-142121-20150228113608.patch</filename>
            <type>text/plain</type>
            <size>24044</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgwODM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggMTc2ZDBmMzlk
ZmRjNmVjOTg3ZjM5ZTU1OGQ5ZDE0ZGMyN2I2NTk3Yi4uYWVkNDU5ZDFhNDhiZmI4YzljZjMyYzc5
YzlmODI0OTRiMmVlZGJjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE1
LTAyLTI3ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtXSzFd
W1dLMl1bTWFjXSBGdWxsc2NyZWVuIGFuaW1hdGlvbiBpcyBpbmNvcnJlY3Qgd2hlbiBwYWdlIGlz
IHNjYWxlZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE0MjEyMQorCisgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KKworICAgICAgICBG
dWxsc2NyZWVuaW5nIGEgcGFnZSB3aXRoIGEgbm9uLTEgc2NhbGUgd291bGQgcmVzdWx0IGluIHRo
YXQgc2NhbGUgYmVpbmcgYXBwbGllZCB0byB0aGUKKyAgICAgICAgZnVsbHNjcmVlbiBjb250ZW50
LCBicmVha2luZyBmdWxsc2NyZWVuIG1vZGUuIFNldCB0aGUgcGFnZSBzY2FsZSB0byAxIHdoZW4g
ZW50ZXJpbmcKKyAgICAgICAgZnVsbHNjcmVlbiBhbmQgcmVzZXQgaXQgdG8gdGhlIG9yaWdpbmFs
IHZhbHVlIHdoZW4gZXhpdGluZyBmdWxsc2NyZWVuLgorCisgICAgICAgICogV2ViVmlldy9XZWJG
dWxsU2NyZWVuQ29udHJvbGxlci5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViRnVsbFNjcmVlbkNv
bnRyb2xsZXIubW06CisgICAgICAgICgtW1dlYkZ1bGxTY3JlZW5Db250cm9sbGVyIGVudGVyRnVs
bFNjcmVlbjpdKTogU2V0IHRoZSBwYWdlIHNjYWxlIHRvIDEuCisgICAgICAgICgtW1dlYkZ1bGxT
Y3JlZW5Db250cm9sbGVyIGZpbmlzaGVkRXhpdEZ1bGxTY3JlZW5BbmltYXRpb246XSk6IFJlc2V0
IHRoZSBwYWdlCisgICAgICAgICAgICAgICAgc2NhbGUgdG8gdGhlIG9yaWdpbmFsIHZhbHVlLgor
ICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfc3VwcG9y
dHNGdWxsU2NyZWVuRm9yRWxlbWVudDp3aXRoS2V5Ym9hcmQ6XSk6IERyaXZlLWJ5IGZpeC4gQ2hl
Y2sgdGhlCisgICAgICAgICAgICAgICAgV2ViVmlldydzIG93biBwcmVmZXJlbmNlcyB0byBzZWUg
aWYgZnVsbHNjcmVlbiBtb2RlIGlzIGVuYWJsZWQsIHJhdGhlciB0aGFuCisgICAgICAgICAgICAg
ICAgdGhlIGdsb2JhbCBvYmplY3Qncy4KKwogMjAxNS0wMi0yNiAgQ2hyaXMgRHVtZXogIDxjZHVt
ZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbmFtZSBEYXRhYmFzZU1hbmFnZXI6Om1hbmFnZXIo
KSB0byBEYXRhYmFzZU1hbmFnZXI6OnNpbmdsZXRvbigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMzAwY2Q2NDE1
MDljYzdiZTdmNGM0ZTk0ODU0MGM2OGE1ZmFkNjljOC4uNDRhYzZiYWRjN2E0M2Q1YjRkYmQ2MGZl
ZTJhMTQ2MDg4MWMyMjMzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE1LTAyLTI3
ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtXSzFdW1dLMl1b
TWFjXSBGdWxsc2NyZWVuIGFuaW1hdGlvbiBpcyBpbmNvcnJlY3Qgd2hlbiBwYWdlIGlzIHNjYWxl
ZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MjEy
MQorCisgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KKworICAgICAgICBDaGFuZ2Ug
dGhlIG9yZGVyIG9mIG9wZXJhdGlvbnMgd2hlbiBlbnRlcmluZyBvciBleGl0aW5nIGZ1bGxzY3Jl
ZW4uIENoYW5nZSB0aGUgcGFnZSBzY2FsZSB0bworICAgICAgICAxIGJlZm9yZSBlbnRlcmluZywg
c28gdGhlIGZpbmFsIHNjcmVlbiByZWN0IHRha2VzIHRoYXQgc2NhbGUgaW50byBhY2NvdW50LCBh
bmQgdmljZS12ZXJzYSBvbgorICAgICAgICBleGl0aW5nLgorCisgICAgICAgICogVUlQcm9jZXNz
L21hYy9XS0Z1bGxTY3JlZW5XaW5kb3dDb250cm9sbGVyLm1tOgorICAgICAgICAoLVtXS0Z1bGxT
Y3JlZW5XaW5kb3dDb250cm9sbGVyIGVudGVyRnVsbFNjcmVlbjpdKToKKyAgICAgICAgKC1bV0tG
dWxsU2NyZWVuV2luZG93Q29udHJvbGxlciBleGl0RnVsbFNjcmVlbl0pOgorCiAyMDE1LTAyLTIz
ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIFtXSzJdW01hY10g
V2ViUGFnZVByb3h5OjpzdXByZXNzVmlzaWJpbGl0eVVwZGF0ZXMoKSBzaG91bGQgc3VwcHJlc3Mg
dmlzaWJpbGl0eSB1cGRhdGVzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJGdWxsU2NyZWVuQ29udHJvbGxlci5oIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9X
ZWJGdWxsU2NyZWVuQ29udHJvbGxlci5oCmluZGV4IDJkNmNkYzg1YWY0MmE2OGQyOWFhYzk4YjBk
ZmI1YjQ0NjcxOTc0MjYuLjI1YjBlYjViN2UxMDJmMmQ5MzZiNGM2OGE2MmNkMTdjZjQ4ZGUxNWUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnVsbFNjcmVlbkNvbnRy
b2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZ1bGxTY3JlZW5Db250
cm9sbGVyLmgKQEAgLTUxLDYgKzUxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIE5TUmVj
dCBfaW5pdGlhbEZyYW1lOwogICAgIE5TUmVjdCBfZmluYWxGcmFtZTsKICAgICBXZWJDb3JlOjpJ
bnRQb2ludCBfc2Nyb2xsUG9zaXRpb247CisgICAgZmxvYXQgX3NhdmVkU2NhbGU7CiAKICAgICBC
T09MIF9pc0VudGVyaW5nRnVsbFNjcmVlbjsKICAgICBCT09MIF9pc0V4aXRpbmdGdWxsU2NyZWVu
OwpAQCAtNTgsNiArNTksOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgQk9PTCBfaXNQbGF5
aW5nOwogfQogCitAcHJvcGVydHkgKHJlYWRvbmx5KSBOU1JlY3QgaW5pdGlhbEZyYW1lOworQHBy
b3BlcnR5IChyZWFkb25seSkgTlNSZWN0IGZpbmFsRnJhbWU7CisKIC0gKFdlYlZpZXcqKXdlYlZp
ZXc7CiAtICh2b2lkKXNldFdlYlZpZXc6KFdlYlZpZXcqKXdlYlZpZXc7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnVsbFNjcmVlbkNvbnRyb2xsZXIubW0gYi9T
b3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZ1bGxTY3JlZW5Db250cm9sbGVyLm1tCmluZGV4
IGZhZjYxY2Q2ZGE3ODI3ODMyYjgwNmMyOTc3ZTNiNTZkZmNmMWNhNDIuLjZkMGJlODgzN2UxMDg3
OWJmOWIzYzE3MDMzYTRhZTM1M2JhNjY3OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFj
L1dlYlZpZXcvV2ViRnVsbFNjcmVlbkNvbnRyb2xsZXIubW0KKysrIGIvU291cmNlL1dlYktpdC9t
YWMvV2ViVmlldy9XZWJGdWxsU2NyZWVuQ29udHJvbGxlci5tbQpAQCAtMTA3LDYgKzEwNyw5IEBA
IHN0YXRpYyBOU1JlY3QgY29udmVydFJlY3RUb1NjcmVlbihOU1dpbmRvdyAqd2luZG93LCBOU1Jl
Y3QgcmVjdCkKICAgICBbc3VwZXIgZGVhbGxvY107CiB9CiAKK0BzeW50aGVzaXplIGluaXRpYWxG
cmFtZT1faW5pdGlhbEZyYW1lOworQHN5bnRoZXNpemUgZmluYWxGcmFtZT1fZmluYWxGcmFtZTsK
KwogLSAodm9pZCl3aW5kb3dEaWRMb2FkCiB7CiAgICAgW3N1cGVyIHdpbmRvd0RpZExvYWRdOwpA
QCAtMjM4LDcgKzI0MSw5IEBAIHN0YXRpYyBOU1JlY3QgY29udmVydFJlY3RUb1NjcmVlbihOU1dp
bmRvdyAqd2luZG93LCBOU1JlY3QgcmVjdCkKICAgICBbW193ZWJWaWV3UGxhY2Vob2xkZXIuZ2V0
KCkgd2luZG93XSByZWNhbGN1bGF0ZUtleVZpZXdMb29wXTsKICAgICAKICAgICBbW3NlbGYgd2lu
ZG93XSBtYWtlUmVzcG9uZGVyOndlYldpbmRvd0ZpcnN0UmVzcG9uZGVyIGZpcnN0UmVzcG9uZGVy
SWZEZXNjZW5kYW50T2ZWaWV3Ol93ZWJWaWV3XTsKLSAgICAKKworICAgIF9zYXZlZFNjYWxlID0g
W193ZWJWaWV3IF92aWV3U2NhbGVGYWN0b3JdOworICAgIFtfd2ViVmlldyBfc2NhbGVXZWJWaWV3
OjEgYXRPcmlnaW46TlNNYWtlUG9pbnQoMCwgMCldOwogICAgIFtzZWxmIF9kb2N1bWVudF0tPndl
YmtpdFdpbGxFbnRlckZ1bGxTY3JlZW5Gb3JFbGVtZW50KF9lbGVtZW50LmdldCgpKTsKICAgICBb
c2VsZiBfZG9jdW1lbnRdLT5zZXRBbmltYXRpbmdGdWxsU2NyZWVuKHRydWUpOwogICAgIFtzZWxm
IF9kb2N1bWVudF0tPnVwZGF0ZUxheW91dCgpOwpAQCAtMzQ0LDEwICszNDksMTEgQEAgc3RhdGlj
IE5TUmVjdCBjb252ZXJ0UmVjdFRvU2NyZWVuKE5TV2luZG93ICp3aW5kb3csIE5TUmVjdCByZWN0
KQogICAgIAogICAgIC8vIFNjcmVlbiB1cGRhdGVzIHRvIGJlIHJlLWVuYWJsZWQgYXQgdGhlIGVu
ZCBvZiB0aGlzIGZ1bmN0aW9uCiAgICAgTlNEaXNhYmxlU2NyZWVuVXBkYXRlcygpOwotICAgIAor
CiAgICAgW3NlbGYgX2RvY3VtZW50XS0+c2V0QW5pbWF0aW5nRnVsbFNjcmVlbihmYWxzZSk7CiAg
ICAgW3NlbGYgX2RvY3VtZW50XS0+d2Via2l0RGlkRXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KF9l
bGVtZW50LmdldCgpKTsKLSAgICAKKyAgICBbX3dlYlZpZXcgX3NjYWxlV2ViVmlldzpfc2F2ZWRT
Y2FsZSBhdE9yaWdpbjpOU01ha2VQb2ludCgwLCAwKV07CisKICAgICBOU1Jlc3BvbmRlciAqZmly
c3RSZXNwb25kZXIgPSBbW3NlbGYgd2luZG93XSBmaXJzdFJlc3BvbmRlcl07CiAgICAgW3NlbGYg
X3N3YXBWaWV3Ol93ZWJWaWV3UGxhY2Vob2xkZXIuZ2V0KCkgd2l0aDpfd2ViVmlld107CiAgICAg
W193ZWJWaWV3IF9tYWluQ29yZUZyYW1lXS0+dmlldygpLT5zZXRTY3JvbGxQb3NpdGlvbihfc2Ny
b2xsUG9zaXRpb24pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJW
aWV3Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCmluZGV4IGYwMzZk
ZjQ3MmJiODIwMDM1MjYwNWFhZjcxNzk4NGIyZWY3ZmM0MDAuLjg2OGU2YTkyMGFhODRhYzE3MjIw
NGYwZmRjNTg2ZDdjODcxMTEwNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZp
ZXcvV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0K
QEAgLTg0MzQsNyArODQzNCw3IEBAIGJvb2wgTGF5ZXJGbHVzaENvbnRyb2xsZXI6OmZsdXNoTGF5
ZXJzKCkKICNpZiBFTkFCTEUoRlVMTFNDUkVFTl9BUEkpICYmICFQTEFURk9STShJT1MpCiAtIChC
T09MKV9zdXBwb3J0c0Z1bGxTY3JlZW5Gb3JFbGVtZW50Oihjb25zdCBXZWJDb3JlOjpFbGVtZW50
KillbGVtZW50IHdpdGhLZXlib2FyZDooQk9PTCl3aXRoS2V5Ym9hcmQKIHsKLSAgICBpZiAoIVtb
V2ViUHJlZmVyZW5jZXMgc3RhbmRhcmRQcmVmZXJlbmNlc10gZnVsbFNjcmVlbkVuYWJsZWRdKQor
ICAgIGlmICghW1tzZWxmIHByZWZlcmVuY2VzXSBmdWxsU2NyZWVuRW5hYmxlZF0pCiAgICAgICAg
IHJldHVybiBOTzsKIAogICAgIHJldHVybiAhd2l0aEtleWJvYXJkOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XS0Z1bGxTY3JlZW5XaW5kb3dDb250cm9sbGVyLmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dLRnVsbFNjcmVlbldpbmRvd0NvbnRyb2xs
ZXIuaAppbmRleCBkNWIwNjQ1OTQxNDFlNjNiN2UxNjhkM2IxYTk1Njc2YzRmMDRjZWY2Li43ZGUz
MTI1Mzc3MDM5ZDhiMTE0ZDcyZTU1NDgzNTc0ZGY4MTY3MTk1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dLRnVsbFNjcmVlbldpbmRvd0NvbnRyb2xsZXIuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dLRnVsbFNjcmVlbldpbmRvd0NvbnRyb2xs
ZXIuaApAQCAtNjEsNiArNjEsOSBAQCB0eXBlZGVmIGVudW0gRnVsbFNjcmVlblN0YXRlIDogTlNJ
bnRlZ2VyIEZ1bGxTY3JlZW5TdGF0ZTsKICAgICBSZWZQdHI8V2ViS2l0OjpWb2lkQ2FsbGJhY2s+
IF9yZXBhaW50Q2FsbGJhY2s7CiB9CiAKK0Bwcm9wZXJ0eSAocmVhZG9ubHkpIE5TUmVjdCBpbml0
aWFsRnJhbWU7CitAcHJvcGVydHkgKHJlYWRvbmx5KSBOU1JlY3QgZmluYWxGcmFtZTsKKwogLSAo
aWQpaW5pdFdpdGhXaW5kb3c6KE5TV2luZG93ICopd2luZG93IHdlYlZpZXc6KFdLVmlldyAqKXdl
YlZpZXc7CiAKIC0gKFdlYkNvcmVGdWxsU2NyZWVuUGxhY2Vob2xkZXJWaWV3Kil3ZWJWaWV3UGxh
Y2Vob2xkZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dLRnVs
bFNjcmVlbldpbmRvd0NvbnRyb2xsZXIubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFj
L1dLRnVsbFNjcmVlbldpbmRvd0NvbnRyb2xsZXIubW0KaW5kZXggYWE5YzE5MWY4Nzg4YmJiOTcz
NmU3M2VmMzBlOWE2YzU1M2YzNmYzMi4uYzU0MmU5YmEzYTU3YzBlOWUwYzE1ZThkMzg1MmFlNDY3
MmM2MWE4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XS0Z1bGxT
Y3JlZW5XaW5kb3dDb250cm9sbGVyLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9t
YWMvV0tGdWxsU2NyZWVuV2luZG93Q29udHJvbGxlci5tbQpAQCAtMTMwLDYgKzEzMCw5IEBAIHN0
YXRpYyB2b2lkIG1ha2VSZXNwb25kZXJGaXJzdFJlc3BvbmRlcklmRGVzY2VuZGFudE9mVmlldyhO
U1dpbmRvdyAqd2luZG93LCBOU1JlCiAjcHJhZ21hIG1hcmsgLQogI3ByYWdtYSBtYXJrIEFjY2Vz
c29ycwogCitAc3ludGhlc2l6ZSBpbml0aWFsRnJhbWU9X2luaXRpYWxGcmFtZTsKK0BzeW50aGVz
aXplIGZpbmFsRnJhbWU9X2ZpbmFsRnJhbWU7CisKIC0gKEJPT0wpaXNGdWxsU2NyZWVuCiB7CiAg
ICAgcmV0dXJuIF9mdWxsU2NyZWVuU3RhdGUgPT0gV2FpdGluZ1RvRW50ZXJGdWxsU2NyZWVuCkBA
IC0yNDksMTAgKzI1MiwxMCBAQCBzdGF0aWMgUmV0YWluUHRyPENHSW1hZ2VSZWY+IGNyZWF0ZUlt
YWdlV2l0aENvcGllZERhdGEoQ0dJbWFnZVJlZiBzb3VyY2VJbWFnZSkKIAogICAgIG1ha2VSZXNw
b25kZXJGaXJzdFJlc3BvbmRlcklmRGVzY2VuZGFudE9mVmlldyhzZWxmLndpbmRvdywgd2ViV2lu
ZG93Rmlyc3RSZXNwb25kZXIsIF93ZWJWaWV3KTsKIAotICAgIFtzZWxmIF9tYW5hZ2VyXS0+c2V0
QW5pbWF0aW5nRnVsbFNjcmVlbih0cnVlKTsKLSAgICBbc2VsZiBfbWFuYWdlcl0tPndpbGxFbnRl
ckZ1bGxTY3JlZW4oKTsKICAgICBfc2F2ZWRTY2FsZSA9IFtzZWxmIF9wYWdlXS0+cGFnZVNjYWxl
RmFjdG9yKCk7CiAgICAgW3NlbGYgX3BhZ2VdLT5zY2FsZVBhZ2UoMSwgSW50UG9pbnQoKSk7Cisg
ICAgW3NlbGYgX21hbmFnZXJdLT5zZXRBbmltYXRpbmdGdWxsU2NyZWVuKHRydWUpOworICAgIFtz
ZWxmIF9tYW5hZ2VyXS0+d2lsbEVudGVyRnVsbFNjcmVlbigpOwogfQogCiAtICh2b2lkKWJlZ2Fu
RW50ZXJGdWxsU2NyZWVuV2l0aEluaXRpYWxGcmFtZTooY29uc3QgV2ViQ29yZTo6SW50UmVjdCYp
aW5pdGlhbEZyYW1lIGZpbmFsRnJhbWU6KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKWZpbmFsRnJh
bWUKQEAgLTMyMCwxMCArMzIzLDEwIEBAIHN0YXRpYyBSZXRhaW5QdHI8Q0dJbWFnZVJlZj4gY3Jl
YXRlSW1hZ2VXaXRoQ29waWVkRGF0YShDR0ltYWdlUmVmIHNvdXJjZUltYWdlKQogICAgICAgICBt
YWtlUmVzcG9uZGVyRmlyc3RSZXNwb25kZXJJZkRlc2NlbmRhbnRPZlZpZXcoX3dlYlZpZXcud2lu
ZG93LCBmaXJzdFJlc3BvbmRlciwgX3dlYlZpZXcpOwogICAgICAgICBbW193ZWJWaWV3IHdpbmRv
d10gbWFrZUtleUFuZE9yZGVyRnJvbnQ6c2VsZl07CiAKLSAgICAgICAgW3NlbGYgX21hbmFnZXJd
LT5kaWRFeGl0RnVsbFNjcmVlbigpOwotICAgICAgICBbc2VsZiBfbWFuYWdlcl0tPnNldEFuaW1h
dGluZ0Z1bGxTY3JlZW4oZmFsc2UpOwogICAgICAgICBbc2VsZiBfcGFnZV0tPnNjYWxlUGFnZShf
c2F2ZWRTY2FsZSwgSW50UG9pbnQoKSk7CiAgICAgICAgIFtzZWxmIF9tYW5hZ2VyXS0+cmVzdG9y
ZVNjcm9sbFBvc2l0aW9uKCk7CisgICAgICAgIFtzZWxmIF9tYW5hZ2VyXS0+ZGlkRXhpdEZ1bGxT
Y3JlZW4oKTsKKyAgICAgICAgW3NlbGYgX21hbmFnZXJdLT5zZXRBbmltYXRpbmdGdWxsU2NyZWVu
KGZhbHNlKTsKICAgICB9CiAKICAgICBOU0VuYWJsZVNjcmVlblVwZGF0ZXMoKTsKZGlmZiAtLWdp
dCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA0Nzk5MmI5NWE5NjIz
NTFkNzlmMzJiZTU5OTllNjI5NDdjY2NlODFhLi40ODJjMTAwNGY1NzRlYTIwZDc4M2JjNGM2YjI5
N2NmZWNiZTc4Mjg3IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTUtMDItMjcgIEplciBOb2JsZSAgPGplci5ub2Js
ZUBhcHBsZS5jb20+CisKKyAgICAgICAgW1dLMV1bV0syXVtNYWNdIEZ1bGxzY3JlZW4gYW5pbWF0
aW9uIGlzIGluY29ycmVjdCB3aGVuIHBhZ2UgaXMgc2NhbGVkLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQyMTIxCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgU2ltb24gRnJhc2VyLgorCisgICAgICAgIEFkZCBhIHRlc3Qgd2hpY2ggY2hhbmdlcyB0aGUg
V2ViVmlldydzIHBhZ2Ugc2NhbGUsIHRoZW4gZW50ZXJzIGZ1bGxzY3JlZW4gbW9kZSwgYW5kIHZl
cmlmaWVzCisgICAgICAgIHRoYXQgdGhlIGluaXRpYWwgYW5kIGZpbmFsIHNjcmVlbiByZWN0cyBm
b3IgdGhlIHdlYiBjb250ZW50IGFyZSBhcyBleHBlY3RlZC4KKworICAgICAgICAqIFRlc3RXZWJL
aXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAq
IFRlc3RXZWJLaXRBUEkvVGVzdHMvbWFjL0Z1bGxzY3JlZW5ab29tSW5pdGlhbEZyYW1lLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvbWFjL0Z1bGxzY3JlZW5ab29t
SW5pdGlhbEZyYW1lLm1tOiBBZGRlZC4KKyAgICAgICAgKC1bRnVsbHNjcmVlblN0YXRlRGVsZWdh
dGUgd2ViVmlldzpydW5KYXZhU2NyaXB0QWxlcnRQYW5lbFdpdGhNZXNzYWdlOmluaXRpYXRlZEJ5
RnJhbWU6XSk6CisgICAgICAgIChydW5KYXZhU2NyaXB0QWxlcnQpOgorICAgICAgICAoVGVzdFdl
YktpdEFQSTo6RnVsbHNjcmVlblpvb21Jbml0aWFsRnJhbWU6OmluaXRpYWxpemVWaWV3KToKKyAg
ICAgICAgKFRlc3RXZWJLaXRBUEk6OkZ1bGxzY3JlZW5ab29tSW5pdGlhbEZyYW1lOjp0ZWFyZG93
blZpZXcpOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6RnVsbHNjcmVlblpvb21Jbml0aWFsRnJh
bWU6OnNldFBhZ2VTY2FsZSk6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpGdWxsc2NyZWVuWm9v
bUluaXRpYWxGcmFtZTo6c2VuZE1vdXNlRG93bkV2ZW50KToKKyAgICAgICAgKFRlc3RXZWJLaXRB
UEk6OkZ1bGxzY3JlZW5ab29tSW5pdGlhbEZyYW1lOjpydW5UZXN0KToKKyAgICAgICAgKFRlc3RX
ZWJLaXRBUEk6OlRFU1RfRik6CisKIDIwMTUtMDItMjggIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm4u
ZmFibGV0QGNyZi5jYW5vbi5mcj4KIAogICAgICAgICBXM0MgdGVzdCBpbXBvcnRlciBzaG91bGQg
dXNlIGZpbGVzeXN0ZW0gdG8gcmVhZCBhbmQgd3JpdGUgZmlsZXMKZGlmZiAtLWdpdCBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKaW5kZXggOTk1ODhhOGI2YWQ5MDIzZTM0YzY2ZDQ1MGJjNjAwY2JkMDc2NDI3OS4uN2FlOTc4
YjM4OWQ3OGY0ZjBmYzYwZDJhNDdkZDE5MTVlZGU0YTg1NiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKQEAgLTI3Miw2ICsyNzIsOCBAQAogCQlDNUUxQUZGRTE2QjIyMUYxMDA2Q0MxRjIgLyogZXhl
Y0NvcHkuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBDNUUxQUZGRDE2QjIyMTc5MDA2Q0MxRjIgLyogZXhlY0NvcHkuaHRtbCAqLzsgfTsK
IAkJQ0Q1OUY1MzQxOUU5MTEwRDAwQ0YxODM1IC8qIGZpbGUtd2l0aC1tc2UuaHRtbCBpbiBDb3B5
IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDU5RjUzMjE5
RTkxMEFBMDBDRjE4MzUgLyogZmlsZS13aXRoLW1zZS5odG1sICovOyB9OwogCQlDRDU5RjUzNTE5
RTkxMTBEMDBDRjE4MzUgLyogdGVzdC1tc2UubXA0IGluIENvcHkgUmVzb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENTlGNTMzMTlFOTEwQkMwMENGMTgzNSAvKiB0
ZXN0LW1zZS5tcDQgKi87IH07CisJCUNEQkZDQzQ1MUE5RkY0NTMwMEE3QjY5MSAvKiBGdWxsc2Ny
ZWVuWm9vbUluaXRpYWxGcmFtZS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IENEQkZDQzQzMUE5RkY0NDgwMEE3QjY5MSAvKiBGdWxsc2NyZWVuWm9vbUlu
aXRpYWxGcmFtZS5tbSAqLzsgfTsKKwkJQ0RCRkNDNDYxQTlGRjQ5RTAwQTdCNjkxIC8qIEZ1bGxz
Y3JlZW5ab29tSW5pdGlhbEZyYW1lLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RCRkNDNDIxQTlGRjQ0ODAwQTdCNjkxIC8qIEZ1bGxz
Y3JlZW5ab29tSW5pdGlhbEZyYW1lLmh0bWwgKi87IH07CiAJCUNFMTRGMUE0MTgxODczQjAwMDFD
MjcwNSAvKiBXaWxsUGVyZm9ybUNsaWVudFJlZGlyZWN0VG9VUkxDcmFzaC5odG1sIGluIENvcHkg
UmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFMTRGMUEyMTgx
ODczQjAwMDFDMjcwNSAvKiBXaWxsUGVyZm9ybUNsaWVudFJlZGlyZWN0VG9VUkxDcmFzaC5odG1s
ICovOyB9OwogCQlDRUE2Q0YyODE5Q0NGNjlEMDA2NEY1QTcgLyogb3Blbi1hbmQtY2xvc2Utd2lu
ZG93Lmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQ0VBNkNGMjcxOUNDRjY5RDAwNjRGNUE3IC8qIG9wZW4tYW5kLWNsb3NlLXdpbmRvdy5o
dG1sICovOyB9OwogCQlFMTIyMERDQTE1NUIyOEFBMDAxM0UyRkMgLyogTWVtb3J5Q2FjaGVEaXNh
YmxlV2l0aGluUmVzb3VyY2VMb2FkRGVsZWdhdGUuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMTIyMERDOTE1NUIyODdEMDAxM0UyRkMg
LyogTWVtb3J5Q2FjaGVEaXNhYmxlV2l0aGluUmVzb3VyY2VMb2FkRGVsZWdhdGUuaHRtbCAqLzsg
fTsKQEAgLTM0MSw2ICszNDMsNyBAQAogCQkJCTFBMDJDODcwMTI1RDRDRkQwMEUzRjRCRCAvKiBm
aW5kLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJQzUxMDFDNEYxNzZCOEQ5MjAwRUU5
QjE1IC8qIGZpbmRSYW5nZXMuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQkxQTdFOEIz
NjE4MTIwQjJGMDBBRUI3NEEgLyogRnJhZ21lbnROYXZpZ2F0aW9uLmh0bWwgaW4gQ29weSBSZXNv
dXJjZXMgKi8sCisJCQkJQ0RCRkNDNDYxQTlGRjQ5RTAwQTdCNjkxIC8qIEZ1bGxzY3JlZW5ab29t
SW5pdGlhbEZyYW1lLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJMjZGNTJFQUQxODI4
ODI3QjAwMjNENDEyIC8qIGdlb2xvY2F0aW9uR2V0Q3VycmVudFBvc2l0aW9uLmh0bWwgaW4gQ29w
eSBSZXNvdXJjZXMgKi8sCiAJCQkJMjZGNTJFQUYxODI4OEMyMzAwMjNENDEyIC8qIGdlb2xvY2F0
aW9uR2V0Q3VycmVudFBvc2l0aW9uV2l0aEhpZ2hBY2N1cmFjeS5odG1sIGluIENvcHkgUmVzb3Vy
Y2VzICovLAogCQkJCTI2RjUyRUIyMTgyODhGMjQwMDIzRDQxMiAvKiBnZW9sb2NhdGlvbldhdGNo
UG9zaXRpb24uaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKQEAgLTY2NSw2ICs2NjgsOCBAQAog
CQlDRDU0OTdCMzE1ODU3RjBDMDBCNUJDMzAgLyogTWVkaWFUaW1lLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1lZGlhVGltZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUNENTlGNTMyMTlFOTEwQUEwMENGMTgzNSAvKiBmaWxlLXdpdGgtbXNlLmh0
bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSAiZmlsZS13aXRoLW1zZS5odG1sIjsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0Q1OUY1MzMxOUU5MTBCQzAwQ0YxODM1IC8qIHRl
c3QtbXNlLm1wNCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IGZpbGU7IHBhdGggPSAidGVzdC1tc2UubXA0Ijsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQ0RCRkNDNDIxQTlGRjQ0ODAwQTdCNjkxIC8qIEZ1bGxzY3JlZW5ab29tSW5pdGlhbEZy
YW1lLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSBGdWxsc2NyZWVuWm9vbUluaXRp
YWxGcmFtZS5odG1sOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDREJGQ0M0MzFBOUZG
NDQ4MDBBN0I2OTEgLyogRnVsbHNjcmVlblpvb21Jbml0aWFsRnJhbWUubW0gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBGdWxsc2NyZWVuWm9vbUluaXRpYWxGcmFtZS5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0RDMkM3MTQxNzk3MDg5RDAwRTYyN0ZC
IC8qIFRpbWVSYW5nZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVGltZVJhbmdlcy5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNFMTRGMUEyMTgxODczQjAwMDFDMjcwNSAvKiBX
aWxsUGVyZm9ybUNsaWVudFJlZGlyZWN0VG9VUkxDcmFzaC5odG1sICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gV2lsbFBl
cmZvcm1DbGllbnRSZWRpcmVjdFRvVVJMQ3Jhc2guaHRtbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQ0UzMkM3QzcxODE4NEM0OTAwQ0Q4QzI4IC8qIFdpbGxQZXJmb3JtQ2xpZW50UmVk
aXJlY3RUb1VSTENyYXNoLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRo
ID0gV2lsbFBlcmZvcm1DbGllbnRSZWRpcmVjdFRvVVJMQ3Jhc2gubW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC0xMTQ0LDYgKzExNDksNyBAQAogCQkJCUMwN0U2Q0FFMTNGRDY3NjUw
MDM4QjIyQiAvKiBEeW5hbWljRGV2aWNlU2NhbGVGYWN0b3IubW0gKi8sCiAJCQkJNEJCNDE2MDMx
NjgxNUY5MTAwODI0MjM4IC8qIEVsZW1lbnRBdFBvaW50SW5XZWJGcmFtZS5tbSAqLywKIAkJCQkx
QTdFOEIzMzE4MTIwOERFMDBBRUI3NEEgLyogRnJhZ21lbnROYXZpZ2F0aW9uLm1tICovLAorCQkJ
CUNEQkZDQzQzMUE5RkY0NDgwMEE3QjY5MSAvKiBGdWxsc2NyZWVuWm9vbUluaXRpYWxGcmFtZS5t
bSAqLywKIAkJCQk5QjRGOEZBMzE1OUQ1MkIxMDAyRDlGOTQgLyogSFRNTENvbGxlY3Rpb25OYW1l
ZEl0ZW0ubW0gKi8sCiAJCQkJOUIyNkZDNkIxNTlEMDYxMDAwQ0MzNzY1IC8qIEhUTUxGb3JtQ29s
bGVjdGlvbk5hbWVkSXRlbS5tbSAqLywKIAkJCQlDNTA3RThBNjE0QzY1NDVCMDA1RDZCM0IgLyog
SW5zcGVjdG9yQmFyLm1tICovLApAQCAtMTE4Niw2ICsxMTkyLDcgQEAKIAkJCQkzN0UxMDY0QjE2
OTc2N0Y3MDBCNzhCRDAgLyogRE9NSFRNTFRhYmxlQ2VsbEVsZW1lbnRDZWxsQWJvdmUuaHRtbCAq
LywKIAkJCQkzN0RDNjc4RjE0MEQ3RDNBMDBBQkNDREIgLyogRE9NUmFuZ2VPZlN0cmluZy5odG1s
ICovLAogCQkJCTFBN0U4QjM1MTgxMjA5MzYwMEFFQjc0QSAvKiBGcmFnbWVudE5hdmlnYXRpb24u
aHRtbCAqLywKKwkJCQlDREJGQ0M0MjFBOUZGNDQ4MDBBN0I2OTEgLyogRnVsbHNjcmVlblpvb21J
bml0aWFsRnJhbWUuaHRtbCAqLywKIAkJCQk5QjRGOEZBNjE1OUQ1MkNBMDAyRDlGOTQgLyogSFRN
TENvbGxlY3Rpb25OYW1lZEl0ZW0uaHRtbCAqLywKIAkJCQk5QjI2RkNCNDE1OUQxNUU3MDBDQzM3
NjUgLyogSFRNTEZvcm1Db2xsZWN0aW9uTmFtZWRJdGVtLmh0bWwgKi8sCiAJCQkJQzJDRjk3NTgx
NkNFQzY5RTAwNTRFOTlEIC8qIEpTQ29udGV4dEJhY2tGb3J3YXJkQ2FjaGUxLmh0bWwgKi8sCkBA
IC0xNDAyLDYgKzE0MDksNyBAQAogCQkJCTdDQ0U3RjM0MUE0MTFCOEUwMDQ0N0M0QyAvKiBGdW5j
dGlvbmFsLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDQ0U3RUY4MUE0MTFBRTYwMDQ0N0M0QyAv
KiBHZW9sb2NhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3Q0NFN0VFMTFBNDExQTlBMDA0
NDdDNEMgLyogR2V0QmFja2luZ1NjYWxlRmFjdG9yLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJQ0RC
RkNDNDUxQTlGRjQ1MzAwQTdCNjkxIC8qIEZ1bGxzY3JlZW5ab29tSW5pdGlhbEZyYW1lLm1tIGlu
IFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdFRjkxQTQxMUFFNjAwNDQ3QzRDIC8qIEdldEluamVjdGVk
QnVuZGxlSW5pdGlhbGl6YXRpb25Vc2VyRGF0YUNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTdDQ0U3RUUyMUE0MTFBOUEwMDQ0N0M0QyAvKiBHZXRQSURBZnRlckFib3J0ZWRQcm9jZXNz
TGF1bmNoLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDQ0U3RjM1MUE0MTFCOEUwMDQ0N0M0QyAv
KiBIYXNoTWFwLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9tYWMvRnVsbHNjcmVlblpvb21Jbml0aWFsRnJhbWUuaHRtbCBiL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvbWFjL0Z1bGxzY3JlZW5ab29tSW5pdGlhbEZyYW1lLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZTMzMDUwN2FhNjA4MzU0NzYwN2M5NWYxZTEzZjU2NmYxMjUxZDNiOQotLS0gL2Rl
di9udWxsCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvbWFjL0Z1bGxzY3JlZW5ab29t
SW5pdGlhbEZyYW1lLmh0bWwKQEAgLTAsMCArMSwzMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVu
ZXIoJ3dlYmtpdGZ1bGxzY3JlZW5jaGFuZ2UnLCBmdW5jdGlvbihldmVudCkgeworICAgICAgICAg
ICAgLy8gU2VuZCBhIHNpZ25hbCB0byB0aGUgdGVzdCBjb250cm9sbGVyIHZpYSBhbGVydC4KKyAg
ICAgICAgICAgIGFsZXJ0KCd2aXNpYmlsaXR5Y2hhbmdlJyk7CisgICAgICAgIH0pOworICAgICAg
ICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBmdW5jdGlvbihldmVudCkg
eworICAgICAgICAgICAgLy8gVG9nZ2xlIGZ1bGxzY3JlZW4KKyAgICAgICAgICAgIHZhciB0YXJn
ZXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGFyZ2V0Jyk7CisgICAgICAgICAgICBpZiAo
ZG9jdW1lbnQud2Via2l0RnVsbHNjcmVlbkVsZW1lbnQgPT0gdGFyZ2V0KQorICAgICAgICAgICAg
ICAgIGRvY3VtZW50LndlYmtpdEV4aXRGdWxsc2NyZWVuKCk7CisgICAgICAgICAgICBlbHNlCisg
ICAgICAgICAgICAgICAgdGFyZ2V0LndlYmtpdFJlcXVlc3RGdWxsU2NyZWVuKCk7CisgICAgICAg
IH0pOworICAgIDwvc2NyaXB0PgorICAgIDxzdHlsZT4KKyAgICAjdGFyZ2V0IHsKKyAgICAgICAg
YmFja2dyb3VuZC1jb2xvcjogcmVkOworICAgICAgICB3aWR0aDogMTUwcHg7CisgICAgICAgIGhl
aWdodDogMTUwcHg7CisgICAgfQorICAgICN0YXJnZXQ6LXdlYmtpdC1mdWxsLXNjcmVlbiB7Cisg
ICAgICAgIHdpZHRoOiA0MDBweDsKKyAgICAgICAgaGVpZ2h0OiA0MDBweDsKKyAgICB9CisgICAg
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxkaXYgaWQ9InRhcmdldCI+PC9kaXY+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9tYWMvRnVsbHNjcmVlblpvb21Jbml0aWFsRnJhbWUu
bW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL21hYy9GdWxsc2NyZWVuWm9vbUluaXRpYWxG
cmFtZS5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mZjdhZWQwNGQ0MWU3NjAzZThhOThiOGE2ZjIxN2M1N2U1NTcz
MmRjCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9tYWMvRnVs
bHNjcmVlblpvb21Jbml0aWFsRnJhbWUubW0KQEAgLTAsMCArMSwxOTMgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaW1wb3J0ICJjb25maWcuaCIKKworI2ltcG9ydCAiSmF2YVNjcmlwdFRlc3QuaCIKKyNpbXBv
cnQgIlRlc3QuaCIKKyNpbXBvcnQgIldlYktpdEFnbm9zdGljVGVzdC5oIgorI2ltcG9ydCA8Q2Fy
Ym9uL0NhcmJvbi5oPgorI2ltcG9ydCA8V2ViS2l0L1dlYlZpZXdQcml2YXRlLmg+CisjaW1wb3J0
IDxXZWJLaXQvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmg+CisjaW1wb3J0IDxXZWJLaXQvV0tWaWV3
UHJpdmF0ZS5oPgorI2ltcG9ydCA8V2ViS2l0L1dLUHJlZmVyZW5jZXNQcml2YXRlLmg+CisjaW1w
b3J0IDx3dGYvUmV0YWluUHRyLmg+CisKK0BpbnRlcmZhY2UgTlNXaW5kb3dDb250cm9sbGVyIChX
ZWJLaXRGdWxsU2NyZWVuQWRkaXRpb25zKQorLSAoTlNSZWN0KWluaXRpYWxGcmFtZTsKKy0gKE5T
UmVjdClmaW5hbEZyYW1lOworQGVuZAorCitzdGF0aWMgYm9vbCBpc1dhaXRpbmdGb3JQYWdlU2ln
bmFsVG9Db250aW51ZSA9IGZhbHNlOworc3RhdGljIGJvb2wgZGlkR2V0UGFnZVNpZ25hbFRvQ29u
dGludWUgPSBmYWxzZTsKKworQGludGVyZmFjZSBGdWxsc2NyZWVuU3RhdGVEZWxlZ2F0ZSA6IE5T
T2JqZWN0IDxXZWJVSURlbGVnYXRlPgorQGVuZAorCitAaW1wbGVtZW50YXRpb24gRnVsbHNjcmVl
blN0YXRlRGVsZWdhdGUKKy0gKHZvaWQpd2ViVmlldzooV2ViVmlldyAqKXNlbmRlciBydW5KYXZh
U2NyaXB0QWxlcnRQYW5lbFdpdGhNZXNzYWdlOihOU1N0cmluZyAqKW1lc3NhZ2UgaW5pdGlhdGVk
QnlGcmFtZTooV2ViRnJhbWUgKilmcmFtZQoreworICAgIEVYUEVDVF9UUlVFKGlzV2FpdGluZ0Zv
clBhZ2VTaWduYWxUb0NvbnRpbnVlKTsKKyAgICBpc1dhaXRpbmdGb3JQYWdlU2lnbmFsVG9Db250
aW51ZSA9IGZhbHNlOworICAgIGRpZEdldFBhZ2VTaWduYWxUb0NvbnRpbnVlID0gdHJ1ZTsKK30K
K0BlbmQKKworLy8gV2ViS2l0MiBXS1BhZ2VVSUNsaWVudAorCitzdGF0aWMgdm9pZCBydW5KYXZh
U2NyaXB0QWxlcnQoV0tQYWdlUmVmIHBhZ2UsIFdLU3RyaW5nUmVmIGFsZXJ0VGV4dCwgV0tGcmFt
ZVJlZiBmcmFtZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKK3sKKyAgICBFWFBFQ1RfVFJVRShp
c1dhaXRpbmdGb3JQYWdlU2lnbmFsVG9Db250aW51ZSk7CisgICAgaXNXYWl0aW5nRm9yUGFnZVNp
Z25hbFRvQ29udGludWUgPSBmYWxzZTsKKyAgICBkaWRHZXRQYWdlU2lnbmFsVG9Db250aW51ZSA9
IHRydWU7Cit9CisKKy8vIFdlYktpdEFnbm9zdGljVGVzdAorCituYW1lc3BhY2UgVGVzdFdlYktp
dEFQSSB7CisKK2NsYXNzIEZ1bGxzY3JlZW5ab29tSW5pdGlhbEZyYW1lIDogcHVibGljIFdlYktp
dEFnbm9zdGljVGVzdCB7CitwdWJsaWM6CisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFZpZXc+IHZv
aWQgcnVuVGVzdChWaWV3KTsKKworICAgIC8vIFdlYktpdEFnbm9zdGljVGVzdAorICAgIHZpcnR1
YWwgTlNVUkwgKnVybCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIFtbTlNCdW5kbGUgbWFpbkJ1
bmRsZV0gVVJMRm9yUmVzb3VyY2U6QCJGdWxsc2NyZWVuWm9vbUluaXRpYWxGcmFtZSIgd2l0aEV4
dGVuc2lvbjpAImh0bWwiIHN1YmRpcmVjdG9yeTpAIlRlc3RXZWJLaXRBUEkucmVzb3VyY2VzIl07
IH0KKyAgICB2aXJ0dWFsIHZvaWQgZGlkTG9hZFVSTChXZWJWaWV3ICp3ZWJWaWV3KSBvdmVycmlk
ZSB7IHJ1blRlc3Qod2ViVmlldyk7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZGlkTG9hZFVSTChXS1Zp
ZXcgKndrVmlldykgb3ZlcnJpZGUgeyBydW5UZXN0KHdrVmlldyk7IH0KKworICAgIC8vIFNldHVw
IGFuZCB0ZWFyZG93biB0aGUgVUlEZWxlZ2F0ZSB3aGljaCBnZXRzIGFsZXJ0KCkgc2lnbmFscyBm
cm9tIHRoZSBwYWdlLgorICAgIHZpcnR1YWwgdm9pZCBpbml0aWFsaXplVmlldyhXZWJWaWV3ICop
IG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBpbml0aWFsaXplVmlldyhXS1ZpZXcgKikgb3Zl
cnJpZGU7CisgICAgdmlydHVhbCB2b2lkIHRlYXJkb3duVmlldyhXZWJWaWV3ICopIG92ZXJyaWRl
OworICAgIHZpcnR1YWwgdm9pZCB0ZWFyZG93blZpZXcoV0tWaWV3ICopIG92ZXJyaWRlOworCisg
ICAgdm9pZCBzZXRQYWdlU2NhbGUoV2ViVmlldyAqLCBkb3VibGUpOworICAgIHZvaWQgc2V0UGFn
ZVNjYWxlKFdLVmlldyAqLCBkb3VibGUpOworICAgIHZvaWQgc2VuZE1vdXNlRG93bkV2ZW50KFdl
YlZpZXcgKiwgTlNFdmVudCAqKTsKKyAgICB2b2lkIHNlbmRNb3VzZURvd25FdmVudChXS1ZpZXcg
KiwgTlNFdmVudCAqKTsKK307CisKK3ZvaWQgRnVsbHNjcmVlblpvb21Jbml0aWFsRnJhbWU6Omlu
aXRpYWxpemVWaWV3KFdlYlZpZXcgKndlYlZpZXcpCit7CisgICAgLy8gUmVsZWFzZWQgaW4gdGVh
cmRvd25WaWV3LgorICAgIHdlYlZpZXcuVUlEZWxlZ2F0ZSA9IFtbRnVsbHNjcmVlblN0YXRlRGVs
ZWdhdGUgYWxsb2NdIGluaXRdOworCisgICAgUmV0YWluUHRyPFdlYlByZWZlcmVuY2VzPiBjdXN0
b21QcmVmZXJlbmNlcyA9IGFkb3B0TlMoW1tXZWJQcmVmZXJlbmNlcyBhbGxvY10gaW5pdFdpdGhJ
ZGVudGlmaWVyOkAiRnVsbHNjcmVlblpvb21Jbml0aWFsRnJhbWVQcmVmZXJlbmNlcyJdKTsKKyAg
ICBbY3VzdG9tUHJlZmVyZW5jZXMgc2V0RnVsbFNjcmVlbkVuYWJsZWQ6WUVTXTsKKyAgICB3ZWJW
aWV3LnByZWZlcmVuY2VzID0gY3VzdG9tUHJlZmVyZW5jZXMuZ2V0KCk7Cit9CisKK3ZvaWQgRnVs
bHNjcmVlblpvb21Jbml0aWFsRnJhbWU6OnRlYXJkb3duVmlldyhXZWJWaWV3ICp3ZWJWaWV3KQor
eworICAgIGlkIHVpRGVsZWdhdGUgPSB3ZWJWaWV3LlVJRGVsZWdhdGU7CisgICAgd2ViVmlldy5V
SURlbGVnYXRlID0gbmlsOworICAgIFt1aURlbGVnYXRlIHJlbGVhc2VdOworfQorCit2b2lkIEZ1
bGxzY3JlZW5ab29tSW5pdGlhbEZyYW1lOjppbml0aWFsaXplVmlldyhXS1ZpZXcgKndrVmlldykK
K3sKKyAgICBXS1BhZ2VVSUNsaWVudFYwIHVpQ2xpZW50OworICAgIG1lbXNldCgmdWlDbGllbnQs
IDAsIHNpemVvZih1aUNsaWVudCkpOworCisgICAgdWlDbGllbnQuYmFzZS52ZXJzaW9uID0gMDsK
KyAgICB1aUNsaWVudC5ydW5KYXZhU2NyaXB0QWxlcnQgPSBydW5KYXZhU2NyaXB0QWxlcnQ7CisK
KyAgICBXS1BhZ2VTZXRQYWdlVUlDbGllbnQod2tWaWV3LnBhZ2VSZWYsICZ1aUNsaWVudC5iYXNl
KTsKKworICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBpZGVudGlmaWVyKEFkb3B0V0ssIFdL
U3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJGdWxsc2NyZWVuWm9vbUluaXRpYWxGcmFtZVBy
ZWZlcmVuY2VzIikpOworICAgIFdLUmV0YWluUHRyPFdLUHJlZmVyZW5jZXNSZWY+IGN1c3RvbVBy
ZWZlcmVuY2VzKEFkb3B0V0ssIFdLUHJlZmVyZW5jZXNDcmVhdGVXaXRoSWRlbnRpZmllcihpZGVu
dGlmaWVyLmdldCgpKSk7CisgICAgV0tQcmVmZXJlbmNlc1NldEZ1bGxTY3JlZW5FbmFibGVkKGN1
c3RvbVByZWZlcmVuY2VzLmdldCgpLCB0cnVlKTsKKyAgICBXS1BhZ2VHcm91cFNldFByZWZlcmVu
Y2VzKFdLUGFnZUdldFBhZ2VHcm91cCh3a1ZpZXcucGFnZVJlZiksIGN1c3RvbVByZWZlcmVuY2Vz
LmdldCgpKTsKK30KKwordm9pZCBGdWxsc2NyZWVuWm9vbUluaXRpYWxGcmFtZTo6dGVhcmRvd25W
aWV3KFdLVmlldyAqd2tWaWV3KQoreworICAgIC8vIFdlIGRvIG5vdCBuZWVkIHRvIHRlYXJkb3du
IHRoZSBXS1BhZ2VVSUNsaWVudC4KK30KKwordm9pZCBGdWxsc2NyZWVuWm9vbUluaXRpYWxGcmFt
ZTo6c2V0UGFnZVNjYWxlKFdlYlZpZXcgKndlYlZpZXcsIGRvdWJsZSBzY2FsZSkKK3sKKyAgICBb
d2ViVmlldyBfc2NhbGVXZWJWaWV3OnNjYWxlIGF0T3JpZ2luOk5TTWFrZVBvaW50KDAsIDApXTsK
K30KKwordm9pZCBGdWxsc2NyZWVuWm9vbUluaXRpYWxGcmFtZTo6c2V0UGFnZVNjYWxlKFdLVmll
dyAqd2tWaWV3LCBkb3VibGUgc2NhbGUpCit7CisgICAgV0tQYWdlU2V0U2NhbGVGYWN0b3Iod2tW
aWV3LnBhZ2VSZWYsIHNjYWxlLCBXS1BvaW50TWFrZSgwLCAwKSk7Cit9CisKK3ZvaWQgRnVsbHNj
cmVlblpvb21Jbml0aWFsRnJhbWU6OnNlbmRNb3VzZURvd25FdmVudChXZWJWaWV3ICp3ZWJWaWV3
LCBOU0V2ZW50ICpldmVudCkKK3sKKyAgICBbd2ViVmlldy5tYWluRnJhbWUuZnJhbWVWaWV3LmRv
Y3VtZW50VmlldyBtb3VzZURvd246ZXZlbnRdOworfQorCit2b2lkIEZ1bGxzY3JlZW5ab29tSW5p
dGlhbEZyYW1lOjpzZW5kTW91c2VEb3duRXZlbnQoV0tWaWV3ICp3a1ZpZXcsIE5TRXZlbnQgKmV2
ZW50KQoreworICAgIFt3a1ZpZXcgbW91c2VEb3duOmV2ZW50XTsKK30KKwordGVtcGxhdGUgPHR5
cGVuYW1lIFZpZXc+Cit2b2lkIEZ1bGxzY3JlZW5ab29tSW5pdGlhbEZyYW1lOjpydW5UZXN0KFZp
ZXcgdmlldykKK3sKKyAgICBSZXRhaW5QdHI8TlNXaW5kb3c+IHdpbmRvdyA9IGFkb3B0TlMoW1tO
U1dpbmRvdyBhbGxvY10gaW5pdFdpdGhDb250ZW50UmVjdDp2aWV3LmZyYW1lIHN0eWxlTWFzazpO
U0JvcmRlcmxlc3NXaW5kb3dNYXNrIGJhY2tpbmc6TlNCYWNraW5nU3RvcmVCdWZmZXJlZCBkZWZl
cjpOT10pOworICAgIFt3aW5kb3cuZ2V0KCkuY29udGVudFZpZXcgYWRkU3Vidmlldzp2aWV3XTsK
KworICAgIHNldFBhZ2VTY2FsZSh2aWV3LCAyKTsKKworICAgIE5TRXZlbnQgKmV2ZW50ID0gW05T
RXZlbnQgbW91c2VFdmVudFdpdGhUeXBlOk5TTGVmdE1vdXNlRG93biBsb2NhdGlvbjpOU01ha2VQ
b2ludCg1LCA1KSBtb2RpZmllckZsYWdzOjAgdGltZXN0YW1wOjAgd2luZG93TnVtYmVyOndpbmRv
dy5nZXQoKS53aW5kb3dOdW1iZXIgY29udGV4dDowIGV2ZW50TnVtYmVyOjAgY2xpY2tDb3VudDow
IHByZXNzdXJlOjBdOworCisgICAgaXNXYWl0aW5nRm9yUGFnZVNpZ25hbFRvQ29udGludWUgPSB0
cnVlOworICAgIGRpZEdldFBhZ2VTaWduYWxUb0NvbnRpbnVlID0gZmFsc2U7CisgICAgc2VuZE1v
dXNlRG93bkV2ZW50KHZpZXcsIGV2ZW50KTsKKyAgICBVdGlsOjpydW4oJmRpZEdldFBhZ2VTaWdu
YWxUb0NvbnRpbnVlKTsKKworICAgIGlkIHdpbmRvd0NvbnRyb2xsZXIgPSBbW3ZpZXcgd2luZG93
XSB3aW5kb3dDb250cm9sbGVyXTsKKyAgICBFWFBFQ1RfVFJVRShbd2luZG93Q29udHJvbGxlciBy
ZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKGluaXRpYWxGcmFtZSldKTsKKyAgICBFWFBFQ1Rf
VFJVRShbd2luZG93Q29udHJvbGxlciByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKGZpbmFs
RnJhbWUpXSk7CisKKyAgICBOU1JlY3QgaW5pdGlhbEZyYW1lID0gW3dpbmRvd0NvbnRyb2xsZXIg
aW5pdGlhbEZyYW1lXTsKKyAgICBOU1JlY3QgZmluYWxGcmFtZSA9IFt3aW5kb3dDb250cm9sbGVy
IGZpbmFsRnJhbWVdOworCisgICAgRVhQRUNUX0VRKDMwMCwgaW5pdGlhbEZyYW1lLnNpemUud2lk
dGgpOworICAgIEVYUEVDVF9FUSgzMDAsIGluaXRpYWxGcmFtZS5zaXplLmhlaWdodCk7CisgICAg
RVhQRUNUX0VRKDQwMCwgZmluYWxGcmFtZS5zaXplLndpZHRoKTsKKyAgICBFWFBFQ1RfRVEoNDAw
LCBmaW5hbEZyYW1lLnNpemUuaGVpZ2h0KTsKKworICAgIGlzV2FpdGluZ0ZvclBhZ2VTaWduYWxU
b0NvbnRpbnVlID0gdHJ1ZTsKKyAgICBkaWRHZXRQYWdlU2lnbmFsVG9Db250aW51ZSA9IGZhbHNl
OworICAgIHNlbmRNb3VzZURvd25FdmVudCh2aWV3LCBldmVudCk7CisgICAgVXRpbDo6cnVuKCZk
aWRHZXRQYWdlU2lnbmFsVG9Db250aW51ZSk7Cit9CisgICAgCitURVNUX0YoRnVsbHNjcmVlblpv
b21Jbml0aWFsRnJhbWUsIFdlYktpdCkKK3sKKyAgICBydW5XZWJLaXQxVGVzdCgpOworfQorCitU
RVNUX0YoRnVsbHNjcmVlblpvb21Jbml0aWFsRnJhbWUsIFdlYktpdDIpCit7CisgICAgcnVuV2Vi
S2l0MlRlc3QoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>