<?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>30010</bug_id>
          
          <creation_ts>2009-10-02 02:50:45 -0700</creation_ts>
          <short_desc>Web Inspector: add testing harness for Web Inspector.</short_desc>
          <delta_ts>2009-10-05 07:03:24 -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>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>26549</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Pavel Feldman">pfeldman</reporter>
          <assigned_to name="Pavel Feldman">pfeldman</assigned_to>
          <cc>timothy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>151806</commentid>
    <comment_count>0</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2009-10-02 02:50:45 -0700</bug_when>
    <thetext>Add showWebInspector, closeWebInspector and evaluateInWebInspector into LayoutTestController.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>151827</commentid>
    <comment_count>1</comment_count>
      <attachid>40509</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2009-10-02 04:33:10 -0700</bug_when>
    <thetext>Created attachment 40509
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>152284</commentid>
    <comment_count>2</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2009-10-05 07:03:24 -0700</bug_when>
    <thetext>Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	WebKit/ChangeLog
	M	WebKit/WebKit.xcodeproj/project.pbxproj
	M	WebKit/mac/ChangeLog
	M	WebKit/mac/WebInspector/WebInspector.mm
	A	WebKit/mac/WebInspector/WebInspectorPrivate.h
	M	WebKit/win/ChangeLog
	A	WebKit/win/Interfaces/IWebInspectorPrivate.idl
	M	WebKit/win/Interfaces/IWebViewPrivate.idl
	M	WebKit/win/Interfaces/WebKit.idl
	M	WebKit/win/WebInspector.cpp
	M	WebKit/win/WebInspector.h
	M	WebKit/win/WebKit.vcproj/Interfaces.vcproj
	M	WebKit/win/WebView.cpp
	M	WebKit/win/WebView.h
	M	WebKitTools/ChangeLog
	M	WebKitTools/DumpRenderTree/LayoutTestController.cpp
	M	WebKitTools/DumpRenderTree/LayoutTestController.h
	M	WebKitTools/DumpRenderTree/gtk/LayoutTestControllerGtk.cpp
	M	WebKitTools/DumpRenderTree/mac/LayoutTestControllerMac.mm
	M	WebKitTools/DumpRenderTree/win/LayoutTestControllerWin.cpp
	M	WebKitTools/DumpRenderTree/wx/LayoutTestControllerWx.cpp
Committed r49091</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>40509</attachid>
            <date>2009-10-02 04:33:10 -0700</date>
            <delta_ts>2009-10-02 11:10:51 -0700</delta_ts>
            <desc>patch</desc>
            <filename>harness</filename>
            <type>text/plain</type>
            <size>25100</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9DaGFuZ2VMb2cgYi9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDFj
OTkxYjIuLmIwMDE3ZmYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDA5LTEwLTAyICBQYXZlbCBGZWxkbWFuICA8
cGZlbGRtYW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IFRpbW90aHkgSGF0
Y2hlci4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBhZGQgdGVzdGluZyBoYXJuZXNzIGZvciBX
ZWIgSW5zcGVjdG9yLgorCisgICAgICAgIEFkZCBzaG93V2ViSW5zcGVjdG9yLCBjbG9zZVdlYklu
c3BlY3RvciBhbmQgZXZhbHVhdGVJbldlYkluc3BlY3RvcgorICAgICAgICBpbnRvIExheW91dFRl
c3RDb250cm9sbGVyLgorIAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MzAwMTAKKworICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qOgorCiAyMDA5LTEwLTAxICBZYWFyIFNjaG5pdG1hbiAgPHlhYXJAY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IERpbWl0cmkgR2xhemtvdi4KZGlmZiAtLWdpdCBhL1dlYktp
dC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1dlYktpdC9XZWJLaXQueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBiNzYyZmM5Li40ZDdhNzIwIDEwMDY0NAotLS0gYS9X
ZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvV2ViS2l0L1dlYktp
dC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMjEsNiArMTIxLDcgQEAKIAkJNjVFRURF
NTgwODRGRkM5RTAwMDJEQjI1IC8qIFdlYk5TRmlsZU1hbmFnZXJFeHRyYXMubSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1RUVERTU2MDg0RkZDOUUwMDAy
REIyNSAvKiBXZWJOU0ZpbGVNYW5hZ2VyRXh0cmFzLm0gKi87IH07CiAJCTY1RkZCN0ZDMEFEMEI3
RDMwMDQ4Q0QwNSAvKiBXZWJEb2N1bWVudExvYWRlck1hYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjVGRkI3RkEwQUQwQjdEMzAwNDhDRDA1IC8qIFdl
YkRvY3VtZW50TG9hZGVyTWFjLmggKi87IH07CiAJCTY1RkZCN0ZEMEFEMEI3RDMwMDQ4Q0QwNSAv
KiBXZWJEb2N1bWVudExvYWRlck1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDY1RkZCN0ZCMEFEMEI3RDMwMDQ4Q0QwNSAvKiBXZWJEb2N1bWVudExv
YWRlck1hYy5tbSAqLzsgfTsKKwkJN0E4RkYwRDExMDc1MDI0QTAwQTgwQTA4IC8qIFdlYkluc3Bl
Y3RvclByaXZhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDdBOEZGMEQwMTA3NTAyNEEwMEE4MEEwOCAvKiBXZWJJbnNwZWN0b3JQcml2YXRlLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0U2RkVGMDgw
ODk4NUE3MjAwQzQ0QzNGIC8qIFdlYlNjcmlwdERlYnVnRGVsZWdhdGUuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdFNkZFRjA1MDg5ODVBNzIwMEM0NEMz
RiAvKiBXZWJTY3JpcHREZWJ1Z0RlbGVnYXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0U2RkVGMDkwODk4NUE3MjAwQzQ0QzNGIC8qIFdlYlNj
cmlwdERlYnVnRGVsZWdhdGUubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA3RTZGRUYwNjA4OTg1QTcyMDBDNDRDM0YgLyogV2ViU2NyaXB0RGVidWdEZWxl
Z2F0ZS5tbSAqLzsgfTsKIAkJOTMwNEIzMDAwQjAyMzQxNTAwRjc4NTBEIC8qIFdlYkljb25EYXRh
YmFzZUludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA5MzA0QjJGRjBCMDIzNDE1MDBGNzg1MEQgLyogV2ViSWNvbkRhdGFiYXNlSW50ZXJuYWwu
aCAqLzsgfTsKQEAgLTUxMCw2ICs1MTEsNyBAQAogCQk2NUZGQjdGQjBBRDBCN0QzMDA0OENEMDUg
LyogV2ViRG9jdW1lbnRMb2FkZXJNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gV2ViRG9jdW1lbnRMb2FkZXJNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTcwODJGNTZGMDM4RUFEQUEwMEE4MDE4MCAvKiBXZWJLaXROU1N0cmluZ0V4dHJh
cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRl
bnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBX
ZWJLaXROU1N0cmluZ0V4dHJhcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9
IDg7IHVzZXNUYWJzID0gMDsgfTsKIAkJNzA4MkY1NzAwMzhFQURBQTAwQTgwMTgwIC8qIFdlYktp
dE5TU3RyaW5nRXh0cmFzLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGV4cGxpY2l0
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRl
bnRXaWR0aCA9IDQ7IHBhdGggPSBXZWJLaXROU1N0cmluZ0V4dHJhcy5tbTsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB1c2VzVGFicyA9IDA7IH07CisJCTdBOEZGMEQwMTA3
NTAyNEEwMEE4MEEwOCAvKiBXZWJJbnNwZWN0b3JQcml2YXRlLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFdlYkluc3BlY3RvclByaXZhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJN0U2RkVGMDUwODk4NUE3MjAwQzQ0QzNGIC8qIFdlYlNjcmlwdERlYnVnRGVs
ZWdhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBp
bmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBXZWJTY3JpcHREZWJ1Z0RlbGVnYXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldp
ZHRoID0gODsgdXNlc1RhYnMgPSAwOyB9OwogCQk3RTZGRUYwNjA4OTg1QTcyMDBDNDRDM0YgLyog
V2ViU2NyaXB0RGVidWdEZWxlZ2F0ZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViU2NyaXB0RGVidWdEZWxlZ2F0ZS5tbTsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB1c2VzVGFicyA9IDA7IH07CiAJCTgz
MEU4MUUwMDU4NTNBQzAwMEFEMDg5MSAvKiBTZWN1cml0eS5mcmFtZXdvcmsgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3cmFwcGVyLmZyYW1ld29yazsg
bmFtZSA9IFNlY3VyaXR5LmZyYW1ld29yazsgcGF0aCA9IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdv
cmtzL1NlY3VyaXR5LmZyYW1ld29yazsgc291cmNlVHJlZSA9ICI8YWJzb2x1dGU+IjsgfTsKQEAg
LTgxMSw2ICs4MTMsNyBAQAogCQkJY2hpbGRyZW4gPSAoCiAJCQkJNUQ3QkY4MTIwQzJBMUQ5MDAw
OENFMDZEIC8qIFdlYkluc3BlY3Rvci5oICovLAogCQkJCTVEN0JGODEzMEMyQTFEOTAwMDhDRTA2
RCAvKiBXZWJJbnNwZWN0b3IubW0gKi8sCisJCQkJN0E4RkYwRDAxMDc1MDI0QTAwQTgwQTA4IC8q
IFdlYkluc3BlY3RvclByaXZhdGUuaCAqLywKIAkJCQkxQzY4RjY2MzA5NUI1RkMxMDBDMjk4NEUg
LyogV2ViTm9kZUhpZ2hsaWdodC5oICovLAogCQkJCTFDNjhGNjY0MDk1QjVGQzEwMEMyOTg0RSAv
KiBXZWJOb2RlSGlnaGxpZ2h0Lm1tICovLAogCQkJCTFDNjhGNjY1MDk1QjVGQzEwMEMyOTg0RSAv
KiBXZWJOb2RlSGlnaGxpZ2h0Vmlldy5oICovLApAQCAtMTM3OCw2ICsxMzgxLDcgQEAKIAkJCQkx
QTJENzU1MDBERTQ4MTBFMDBGMEE2NDggLyogV2ViSWNvbkZldGNoZXJJbnRlcm5hbC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNUQ3QkY4MTQwQzJBMUQ5MDAwOENFMDZEIC8qIFdlYkluc3BlY3Rvci5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMDY2OTNEREMwQkZCQTg1MjAwMjE2MDcyIC8qIFdlYkluc3Bl
Y3RvckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJN0E4RkYwRDExMDc1MDI0QTAwQTgwQTA4
IC8qIFdlYkluc3BlY3RvclByaXZhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzOTgxMEEwMDgy
NEJGMDEwMDhERjAzOCAvKiBXZWJKYXZhUGx1Z0luLmggaW4gSGVhZGVycyAqLywKIAkJCQk5Mzk4
MTA0MjA4MjRCRjAxMDA4REYwMzggLyogV2ViSmF2YVNjcmlwdFRleHRJbnB1dFBhbmVsLmggaW4g
SGVhZGVycyAqLywKIAkJCQk5Mzk4MTA4NTA4MjRCRjAxMDA4REYwMzggLyogV2ViS2V5R2VuZXJh
dG9yLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIv
V2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggNjFkNmYzNy4uNGRmOGQ2ZiAxMDA2NDQKLS0tIGEv
V2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTIsNiAr
MiwyMSBAQAogCiAgICAgICAgIFJldmlld2VkIGJ5IFRpbW90aHkgSGF0Y2hlci4KIAorICAgICAg
ICBXZWIgSW5zcGVjdG9yOiBhZGQgdGVzdGluZyBoYXJuZXNzIGZvciBXZWIgSW5zcGVjdG9yLgor
CisgICAgICAgIEFkZCBzaG93V2ViSW5zcGVjdG9yLCBjbG9zZVdlYkluc3BlY3RvciBhbmQgZXZh
bHVhdGVJbldlYkluc3BlY3RvcgorICAgICAgICBpbnRvIExheW91dFRlc3RDb250cm9sbGVyLgor
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMDAxMAor
CisgICAgICAgICogV2ViSW5zcGVjdG9yL1dlYkluc3BlY3Rvci5tbToKKyAgICAgICAgKC1bV2Vi
SW5zcGVjdG9yIGV2YWx1YXRlSW5Gcm9udGVuZDpjYWxsSWQ6c2NyaXB0Ol0pOgorICAgICAgICAq
IFdlYkluc3BlY3Rvci9XZWJJbnNwZWN0b3JQcml2YXRlLmg6IEFkZGVkLgorCisyMDA5LTEwLTAy
ICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmll
d2VkIGJ5IFRpbW90aHkgSGF0Y2hlci4KKwogICAgICAgICBXZWIgSW5zcGVjdG9yOiBjbG9zZSBp
bnNwZWN0b3IgY2xpZW50IHZpZXcgb24KICAgICAgICAgSW5zcGVjdG9yQ29udHJvbGxlcjo6Y2xv
c2UgQVBJIGNhbGwuCiAKZGlmZiAtLWdpdCBhL1dlYktpdC9tYWMvV2ViSW5zcGVjdG9yL1dlYklu
c3BlY3Rvci5tbSBiL1dlYktpdC9tYWMvV2ViSW5zcGVjdG9yL1dlYkluc3BlY3Rvci5tbQppbmRl
eCBjMDRhNTZjLi5jY2IwOWM1IDEwMDY0NAotLS0gYS9XZWJLaXQvbWFjL1dlYkluc3BlY3Rvci9X
ZWJJbnNwZWN0b3IubW0KKysrIGIvV2ViS2l0L21hYy9XZWJJbnNwZWN0b3IvV2ViSW5zcGVjdG9y
Lm1tCkBAIC0yNyw3ICsyNyw5IEBACiAgKi8KIAogI2ltcG9ydCAiV2ViSW5zcGVjdG9yLmgiCisK
ICNpbXBvcnQgIldlYkZyYW1lSW50ZXJuYWwuaCIKKyNpbXBvcnQgIldlYkluc3BlY3RvclByaXZh
dGUuaCIKIAogI2luY2x1ZGUgPFdlYkNvcmUvRG9jdW1lbnQuaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L0ZyYW1lLmg+CkBAIC0xNjMsNiArMTY1LDEyIEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwog
ICAgIGlmIChQYWdlKiBwYWdlID0gY29yZShfd2ViVmlldykpCiAgICAgICAgIHBhZ2UtPmluc3Bl
Y3RvckNvbnRyb2xsZXIoKS0+ZGV0YWNoV2luZG93KCk7CiB9CisKKy0gKHZvaWQpZXZhbHVhdGVJ
bkZyb250ZW5kOihpZClzZW5kZXIgY2FsbElkOihsb25nKWNhbGxJZCBzY3JpcHQ6KE5TU3RyaW5n
ICopc2NyaXB0Cit7CisgICAgaWYgKFBhZ2UqIHBhZ2UgPSBjb3JlKF93ZWJWaWV3KSkKKyAgICAg
ICAgcGFnZS0+aW5zcGVjdG9yQ29udHJvbGxlcigpLT5ldmFsdWF0ZUZvclRlc3RJbkZyb250ZW5k
KGNhbGxJZCwgc2NyaXB0KTsKK30KIEBlbmQKIAogQGltcGxlbWVudGF0aW9uIFdlYkluc3BlY3Rv
ciAoT2Jzb2xldGUpCmRpZmYgLS1naXQgYS9XZWJLaXQvbWFjL1dlYkluc3BlY3Rvci9XZWJJbnNw
ZWN0b3JQcml2YXRlLmggYi9XZWJLaXQvbWFjL1dlYkluc3BlY3Rvci9XZWJJbnNwZWN0b3JQcml2
YXRlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzgyYmI5MgotLS0gL2Rl
di9udWxsCisrKyBiL1dlYktpdC9tYWMvV2ViSW5zcGVjdG9yL1dlYkluc3BlY3RvclByaXZhdGUu
aApAQCAtMCwwICsxLDM1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA1IEFwcGxlIENvbXB1
dGVyLCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisgKiAy
LiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gCisgKiAz
LiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRlciwgSW5jLiAoIkFwcGxlIikgbm9y
IHRoZSBuYW1lcyBvZgorICogICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKKyAqICAgICBmcm9tIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uIAorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFT
IElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIFRoaXMgaGVhZGVyIGNvbnRhaW5z
IHRoZSBXZWJJbnNwZWN0b3IgU1BJLgorCisjaW1wb3J0ICJXZWJJbnNwZWN0b3IuaCIKKworQGlu
dGVyZmFjZSBXZWJJbnNwZWN0b3IgKFdlYlByaXZhdGUpCistICh2b2lkKWV2YWx1YXRlSW5Gcm9u
dGVuZDooaWQpc2VuZGVyIGNhbGxJZDoobG9uZyljYWxsSWQgc2NyaXB0OihOU1N0cmluZyAqKXNj
cmlwdDsKK0BlbmQKZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vQ2hhbmdlTG9nIGIvV2ViS2l0L3dp
bi9DaGFuZ2VMb2cKaW5kZXggNjkzZDM2MC4uZmM4Yzc0MyAxMDA2NDQKLS0tIGEvV2ViS2l0L3dp
bi9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKQEAgLTIsNiArMiwyMyBAQAog
CiAgICAgICAgIFJldmlld2VkIGJ5IFRpbW90aHkgSGF0Y2hlci4KIAorICAgICAgICBXZWIgSW5z
cGVjdG9yOiBhZGQgdGVzdGluZyBoYXJuZXNzIGZvciBXZWIgSW5zcGVjdG9yLgorCisgICAgICAg
IEFkZCBzaG93V2ViSW5zcGVjdG9yLCBjbG9zZVdlYkluc3BlY3RvciBhbmQgZXZhbHVhdGVJbldl
Ykluc3BlY3RvcgorICAgICAgICBpbnRvIExheW91dFRlc3RDb250cm9sbGVyLgorCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMDAxMAorCisgICAgICAg
ICogSW50ZXJmYWNlcy9JV2ViSW5zcGVjdG9yUHJpdmF0ZS5pZGw6IEFkZGVkLgorICAgICAgICAq
IFdlYkluc3BlY3Rvci5jcHA6CisgICAgICAgIChXZWJJbnNwZWN0b3I6OmV2YWx1YXRlSW5Gcm9u
dGVuZCk6CisgICAgICAgICogV2ViSW5zcGVjdG9yLmg6CisgICAgICAgICogV2ViS2l0LnZjcHJv
ai9JbnRlcmZhY2VzLnZjcHJvajoKKworMjAwOS0xMC0wMiAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxk
bWFuQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBUaW1vdGh5IEhhdGNoZXIu
CisKICAgICAgICAgV2ViIEluc3BlY3RvcjogY2xvc2UgaW5zcGVjdG9yIGNsaWVudCB2aWV3IG9u
CiAgICAgICAgIEluc3BlY3RvckNvbnRyb2xsZXI6OmNsb3NlIEFQSSBjYWxsLgogCmRpZmYgLS1n
aXQgYS9XZWJLaXQvd2luL0ludGVyZmFjZXMvSVdlYkluc3BlY3RvclByaXZhdGUuaWRsIGIvV2Vi
S2l0L3dpbi9JbnRlcmZhY2VzL0lXZWJJbnNwZWN0b3JQcml2YXRlLmlkbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwLi43NDQyMWJkCi0tLSAvZGV2L251bGwKKysrIGIvV2ViS2l0
L3dpbi9JbnRlcmZhY2VzL0lXZWJJbnNwZWN0b3JQcml2YXRlLmlkbApAQCAtMCwwICsxLDQzIEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDA3LCAyMDA4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFw
cGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCisgKiAgICAgaXRz
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZAorICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaWZuZGVmIERPX05PX0lNUE9SVFMKK2ltcG9ydCAib2FpZGwuaWRsIjsKK2ltcG9y
dCAib2NpZGwuaWRsIjsKKyNlbmRpZgorCitbCisgICAgb2JqZWN0LAorICAgIG9sZWF1dG9tYXRp
b24sCisgICAgdXVpZChBNUEzMUNEMC1BRUE5LTExZGUtOEEzOS0wODAwMjAwQzlBNjYpLAorICAg
IHBvaW50ZXJfZGVmYXVsdCh1bmlxdWUpCitdCitpbnRlcmZhY2UgSVdlYkluc3BlY3RvclByaXZh
dGUgOiBJVW5rbm93bgoreworICAgIEhSRVNVTFQgZXZhbHVhdGVJbkZyb250ZW5kKFtpbl0gVUxP
TkcgY2FsbElkLCBbaW5dIEJTVFIgc2NyaXB0KTsKK30KZGlmZiAtLWdpdCBhL1dlYktpdC93aW4v
V2ViSW5zcGVjdG9yLmNwcCBiL1dlYktpdC93aW4vV2ViSW5zcGVjdG9yLmNwcAppbmRleCAxZGRi
ZGQ4Li5mZGNlNWVhIDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL1dlYkluc3BlY3Rvci5jcHAKKysr
IGIvV2ViS2l0L3dpbi9XZWJJbnNwZWN0b3IuY3BwCkBAIC0yNTYsMyArMjU2LDE2IEBAIEhSRVNV
TFQgU1RETUVUSE9EQ0FMTFRZUEUgV2ViSW5zcGVjdG9yOjpzZXRKYXZhU2NyaXB0UHJvZmlsaW5n
RW5hYmxlZChCT09MIGVuYWJsCiAKICAgICByZXR1cm4gU19PSzsKIH0KKworSFJFU1VMVCBTVERN
RVRIT0RDQUxMVFlQRSAgV2ViSW5zcGVjdG9yOjpldmFsdWF0ZUluRnJvbnRlbmQoVUxPTkcgY2Fs
bElkLCBCU1RSIGJTY3JpcHQpCit7CisgICAgaWYgKCFtX3dlYlZpZXcpCisgICAgICAgIHJldHVy
biBTX09LOworCisgICAgUGFnZSogcGFnZSA9IG1fd2ViVmlldy0+cGFnZSgpOworICAgIGlmICgh
cGFnZSkKKyAgICAgICAgcmV0dXJuIFNfT0s7CisKKyAgICBTdHJpbmcgc2NyaXB0KGJTY3JpcHQs
IFN5c1N0cmluZ0xlbihiU2NyaXB0KSk7CisgICAgcGFnZS0+aW5zcGVjdG9yQ29udHJvbGxlcigp
LT5ldmFsdWF0ZUluRnJvbnRlbmQoY2FsbElkLCBzY3JpcHQpOworfQpkaWZmIC0tZ2l0IGEvV2Vi
S2l0L3dpbi9XZWJJbnNwZWN0b3IuaCBiL1dlYktpdC93aW4vV2ViSW5zcGVjdG9yLmgKaW5kZXgg
NTMwM2E2MS4uMzczN2JmOCAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9XZWJJbnNwZWN0b3IuaAor
KysgYi9XZWJLaXQvd2luL1dlYkluc3BlY3Rvci5oCkBAIC0zNCw3ICszNCw3IEBACiAKIGNsYXNz
IFdlYlZpZXc7CiAKLWNsYXNzIFdlYkluc3BlY3RvciA6IHB1YmxpYyBJV2ViSW5zcGVjdG9yLCBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgV2ViSW5zcGVjdG9yIDogcHVibGljIElXZWJJbnNw
ZWN0b3IsIHB1YmxpYyBJV2ViSW5zcGVjdG9yUHJpdmF0ZSBwdWJsaWMgTm9uY29weWFibGUgewog
cHVibGljOgogICAgIHN0YXRpYyBXZWJJbnNwZWN0b3IqIGNyZWF0ZUluc3RhbmNlKFdlYlZpZXcq
KTsKIApAQCAtNTksNiArNTksOCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RE
TUVUSE9EQ0FMTFRZUEUgaXNKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZChCT09MKiBpc1Byb2Zp
bGluZ0VuYWJsZWQpOwogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzZXRK
YXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZChCT09MKTsKKyAgICAKKyAgICB2aXJ0dWFsIEhSRVNV
TFQgU1RETUVUSE9EQ0FMTFRZUEUgZXZhbHVhdGVJbkZyb250ZW5kKFVMT05HIGNhbGxJZCwgQlNU
UiBzY3JpcHQpOwogCiBwcml2YXRlOgogICAgIFdlYkluc3BlY3RvcihXZWJWaWV3Kik7CmRpZmYg
LS1naXQgYS9XZWJLaXQvd2luL1dlYktpdC52Y3Byb2ovSW50ZXJmYWNlcy52Y3Byb2ogYi9XZWJL
aXQvd2luL1dlYktpdC52Y3Byb2ovSW50ZXJmYWNlcy52Y3Byb2oKaW5kZXggNjFmNTMwMy4uY2Jj
ODIzMSAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9XZWJLaXQudmNwcm9qL0ludGVyZmFjZXMudmNw
cm9qCisrKyBiL1dlYktpdC93aW4vV2ViS2l0LnZjcHJvai9JbnRlcmZhY2VzLnZjcHJvagpAQCAt
OTQ0LDYgKzk0NCwyNiBAQAogCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCiAJCTwvRmlsZT4NCiAJ
CTxGaWxlDQorCQkJUmVsYXRpdmVQYXRoPSIuLlxJbnRlcmZhY2VzXElXZWJJbnNwZWN0b3JQcml2
YXRlLmlkbCINCisJCQk+DQorCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCU5hbWU9IkRlYnVn
fFdpbjMyIg0KKwkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJPg0KKwkJCQk8VG9v
bA0KKwkJCQkJTmFtZT0iVkNNSURMVG9vbCINCisJCQkJLz4NCisJCQk8L0ZpbGVDb25maWd1cmF0
aW9uPg0KKwkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0K
KwkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJPg0KKwkJCQk8VG9vbA0KKwkJCQkJ
TmFtZT0iVkNNSURMVG9vbCINCisJCQkJLz4NCisJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJ
PC9GaWxlPg0KKwkJPEZpbGUNCiAJCQlSZWxhdGl2ZVBhdGg9Ii4uXEludGVyZmFjZXNcSVdlYkph
dmFTY3JpcHRDb2xsZWN0b3IuaWRsIg0KIAkJCT4NCiAJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCmRp
ZmYgLS1naXQgYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cgYi9XZWJLaXRUb29scy9DaGFuZ2VMb2cK
aW5kZXggODM2ODk4Ny4uMzE1OTU3OCAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9n
CisrKyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDA5LTEwLTAy
ICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmll
d2VkIGJ5IFRpbW90aHkgSGF0Y2hlci4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBhZGQgdGVz
dGluZyBoYXJuZXNzIGZvciBXZWIgSW5zcGVjdG9yLgorCisgICAgICAgIE5lZWQgYSBzaG9ydCBk
ZXNjcmlwdGlvbiBhbmQgYnVnIFVSTCAoT09QUyEpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMDAxMAorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUv
TGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoc2hvd1dlYkluc3BlY3RvckNhbGxi
YWNrKToKKyAgICAgICAgKGNsb3NlV2ViSW5zcGVjdG9yQ2FsbGJhY2spOgorICAgICAgICAoZXZh
bHVhdGVJbldlYkluc3BlY3RvckNhbGxiYWNrKToKKyAgICAgICAgKExheW91dFRlc3RDb250cm9s
bGVyOjpzdGF0aWNGdW5jdGlvbnMpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL0xheW91dFRl
c3RDb250cm9sbGVyLmg6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvZ3RrL0xheW91dFRlc3RD
b250cm9sbGVyR3RrLmNwcDoKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjpzaG93V2Vi
SW5zcGVjdG9yKToKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjpjbG9zZVdlYkluc3Bl
Y3Rvcik6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6ZXZhbHVhdGVJbldlYkluc3Bl
Y3Rvcik6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFjL0xheW91dFRlc3RDb250cm9sbGVy
TWFjLm1tOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNob3dXZWJJbnNwZWN0b3Ip
OgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OmNsb3NlV2ViSW5zcGVjdG9yKToKKyAg
ICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjpldmFsdWF0ZUluV2ViSW5zcGVjdG9yKToKKyAg
ICAgICAgKiBEdW1wUmVuZGVyVHJlZS93aW4vTGF5b3V0VGVzdENvbnRyb2xsZXJXaW4uY3BwOgor
ICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNob3dXZWJJbnNwZWN0b3IpOgorICAgICAg
ICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OmNsb3NlV2ViSW5zcGVjdG9yKToKKyAgICAgICAgKExh
eW91dFRlc3RDb250cm9sbGVyOjpldmFsdWF0ZUluV2ViSW5zcGVjdG9yKToKKyAgICAgICAgKiBE
dW1wUmVuZGVyVHJlZS93eC9MYXlvdXRUZXN0Q29udHJvbGxlcld4LmNwcDoKKyAgICAgICAgKExh
eW91dFRlc3RDb250cm9sbGVyOjpzaG93V2ViSW5zcGVjdG9yKToKKyAgICAgICAgKExheW91dFRl
c3RDb250cm9sbGVyOjpjbG9zZVdlYkluc3BlY3Rvcik6CisgICAgICAgIChMYXlvdXRUZXN0Q29u
dHJvbGxlcjo6ZXZhbHVhdGVJbldlYkluc3BlY3Rvcik6CisKIDIwMDktMTAtMDEgIENocmlzIE1h
cnJpbiAgPGNtYXJyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE9saXZlciBI
dW50LgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENv
bnRyb2xsZXIuY3BwIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRy
b2xsZXIuY3BwCmluZGV4IGM3OWExZGMuLjUxMjUzZjMgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmNwcAorKysgYi9XZWJLaXRUb29s
cy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAKQEAgLTkyOSw2ICs5Mjks
MzIgQEAgc3RhdGljIEpTVmFsdWVSZWYgc2V0U3RvcFByb3Zpc2lvbmFsRnJhbWVMb2Fkc0NhbGxi
YWNrKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU08KICAgICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRl
ZmluZWQoY29udGV4dCk7CiB9CiAKK3N0YXRpYyBKU1ZhbHVlUmVmIHNob3dXZWJJbnNwZWN0b3JD
YWxsYmFjayhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYgZnVuY3Rpb24sIEpTT2Jq
ZWN0UmVmIHRoaXNPYmplY3QsIHNpemVfdCBhcmd1bWVudENvdW50LCBjb25zdCBKU1ZhbHVlUmVm
IGFyZ3VtZW50c1tdLCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pCit7CisgICAgTGF5b3V0VGVzdENv
bnRyb2xsZXIqIGNvbnRyb2xsZXIgPSBzdGF0aWNfY2FzdDxMYXlvdXRUZXN0Q29udHJvbGxlcio+
KEpTT2JqZWN0R2V0UHJpdmF0ZSh0aGlzT2JqZWN0KSk7CisgICAgY29udHJvbGxlci0+c2hvd1dl
Ykluc3BlY3RvcigpOworICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjb250ZXh0KTsK
K30KKworc3RhdGljIEpTVmFsdWVSZWYgY2xvc2VXZWJJbnNwZWN0b3JDYWxsYmFjayhKU0NvbnRl
eHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYgZnVuY3Rpb24sIEpTT2JqZWN0UmVmIHRoaXNPYmpl
Y3QsIHNpemVfdCBhcmd1bWVudENvdW50LCBjb25zdCBKU1ZhbHVlUmVmIGFyZ3VtZW50c1tdLCBK
U1ZhbHVlUmVmKiBleGNlcHRpb24pCit7CisgICAgTGF5b3V0VGVzdENvbnRyb2xsZXIqIGNvbnRy
b2xsZXIgPSBzdGF0aWNfY2FzdDxMYXlvdXRUZXN0Q29udHJvbGxlcio+KEpTT2JqZWN0R2V0UHJp
dmF0ZSh0aGlzT2JqZWN0KSk7CisgICAgY29udHJvbGxlci0+Y2xvc2VXZWJJbnNwZWN0b3IoKTsK
KyAgICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7Cit9CisKK3N0YXRpYyBK
U1ZhbHVlUmVmIGV2YWx1YXRlSW5XZWJJbnNwZWN0b3JDYWxsYmFjayhKU0NvbnRleHRSZWYgY29u
dGV4dCwgSlNPYmplY3RSZWYgZnVuY3Rpb24sIEpTT2JqZWN0UmVmIHRoaXNPYmplY3QsIHNpemVf
dCBhcmd1bWVudENvdW50LCBjb25zdCBKU1ZhbHVlUmVmIGFyZ3VtZW50c1tdLCBKU1ZhbHVlUmVm
KiBleGNlcHRpb24pCit7CisgICAgTGF5b3V0VGVzdENvbnRyb2xsZXIqIGNvbnRyb2xsZXIgPSBz
dGF0aWNfY2FzdDxMYXlvdXRUZXN0Q29udHJvbGxlcio+KEpTT2JqZWN0R2V0UHJpdmF0ZSh0aGlz
T2JqZWN0KSk7CisgICAgZG91YmxlIGNhbGxJZCA9IEpTVmFsdWVUb051bWJlcihjb250ZXh0LCBh
cmd1bWVudHNbMF0sIGV4Y2VwdGlvbik7CisgICAgQVNTRVJUKCEqZXhjZXB0aW9uKTsKKyAgICBK
U1JldGFpblB0cjxKU1N0cmluZ1JlZj4gc2NyaXB0KEFkb3B0LCBKU1ZhbHVlVG9TdHJpbmdDb3B5
KGNvbnRleHQsIGFyZ3VtZW50c1sxXSwgZXhjZXB0aW9uKSk7CisgICAgQVNTRVJUKCEqZXhjZXB0
aW9uKTsKKworICAgIGNvbnRyb2xsZXItPmV2YWx1YXRlSW5XZWJJbnNwZWN0b3Ioc3RhdGljX2Nh
c3Q8bG9uZz4oY2FsbElkKSwgc2NyaXB0LmdldCgpKTsKKyAgICByZXR1cm4gSlNWYWx1ZU1ha2VV
bmRlZmluZWQoY29udGV4dCk7Cit9CisKIHN0YXRpYyBKU1ZhbHVlUmVmIGVsZW1lbnREb2VzQXV0
b0NvbXBsZXRlRm9yRWxlbWVudFdpdGhJZENhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZXh0LCBK
U09iamVjdFJlZiBmdW5jdGlvbiwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwgc2l6ZV90IGFyZ3Vt
ZW50Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10sIEpTVmFsdWVSZWYqIGV4Y2Vw
dGlvbikKIHsKICAgICBMYXlvdXRUZXN0Q29udHJvbGxlciogY29udHJvbGxlciA9IHN0YXRpY19j
YXN0PExheW91dFRlc3RDb250cm9sbGVyKj4oSlNPYmplY3RHZXRQcml2YXRlKHRoaXNPYmplY3Qp
KTsKQEAgLTExMTQsNiArMTE0MCw3IEBAIEpTU3RhdGljRnVuY3Rpb24qIExheW91dFRlc3RDb250
cm9sbGVyOjpzdGF0aWNGdW5jdGlvbnMoKQogICAgICAgICB7ICJjbGVhckFsbERhdGFiYXNlcyIs
IGNsZWFyQWxsRGF0YWJhc2VzQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkg
fCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAiY2xlYXJCYWNr
Rm9yd2FyZExpc3QiLCBjbGVhckJhY2tGb3J3YXJkTGlzdENhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0
dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAg
ICAgIHsgImNsZWFyUGVyc2lzdGVudFVzZXJTdHlsZVNoZWV0IiwgY2xlYXJQZXJzaXN0ZW50VXNl
clN0eWxlU2hlZXRDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1By
b3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAorICAgICAgICB7ICJjbG9zZVdlYkluc3BlY3Rv
ciIsIGNsb3NlV2ViSW5zcGVjdG9yQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9u
bHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAiZGVjb2Rl
SG9zdE5hbWUiLCBkZWNvZGVIb3N0TmFtZUNhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJl
YWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsgImRp
c2FibGVJbWFnZUxvYWRpbmciLCBkaXNhYmxlSW1hZ2VMb2FkaW5nQ2FsbGJhY2ssIGtKU1Byb3Bl
cnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwK
ICAgICAgICAgeyAiZGlzcGF0Y2hQZW5kaW5nTG9hZFJlcXVlc3RzIiwgZGlzcGF0Y2hQZW5kaW5n
TG9hZFJlcXVlc3RzQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQ
cm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKQEAgLTExMzUsNiArMTE2Miw3IEBAIEpTU3Rh
dGljRnVuY3Rpb24qIExheW91dFRlc3RDb250cm9sbGVyOjpzdGF0aWNGdW5jdGlvbnMoKQogICAg
ICAgICB7ICJkdW1wV2lsbENhY2hlUmVzcG9uc2UiLCBkdW1wV2lsbENhY2hlUmVzcG9uc2VDYWxs
YmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRl
RG9udERlbGV0ZSB9LAogICAgICAgICB7ICJlbGVtZW50RG9lc0F1dG9Db21wbGV0ZUZvckVsZW1l
bnRXaXRoSWQiLCBlbGVtZW50RG9lc0F1dG9Db21wbGV0ZUZvckVsZW1lbnRXaXRoSWRDYWxsYmFj
aywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9u
dERlbGV0ZSB9LAogICAgICAgICB7ICJlbmNvZGVIb3N0TmFtZSIsIGVuY29kZUhvc3ROYW1lQ2Fs
bGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0
ZURvbnREZWxldGUgfSwKKyAgICAgICAgeyAiZXZhbHVhdGVJbldlYkluc3BlY3RvciIsIGV2YWx1
YXRlSW5XZWJJbnNwZWN0b3JDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8
IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7ICJleGVjQ29tbWFu
ZCIsIGV4ZWNDb21tYW5kQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBr
SlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAiZ3JhbnREZXNrdG9w
Tm90aWZpY2F0aW9uUGVybWlzc2lvbiIsIGdyYW50RGVza3RvcE5vdGlmaWNhdGlvblBlcm1pc3Np
b25DYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0
cmlidXRlRG9udERlbGV0ZSB9LCAKICAgICAgICAgeyAiaXNDb21tYW5kRW5hYmxlZCIsIGlzQ29t
bWFuZEVuYWJsZWRDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1By
b3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LApAQCAtMTE4NSw2ICsxMjEzLDcgQEAgSlNTdGF0
aWNGdW5jdGlvbiogTGF5b3V0VGVzdENvbnRyb2xsZXI6OnN0YXRpY0Z1bmN0aW9ucygpCiAgICAg
ICAgIHsgInNldFVzZXJTdHlsZVNoZWV0TG9jYXRpb24iLCBzZXRVc2VyU3R5bGVTaGVldExvY2F0
aW9uQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0
dHJpYnV0ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAic2V0V2lsbFNlbmRSZXF1ZXN0UmV0dXJu
c051bGxPblJlZGlyZWN0Iiwgc2V0V2lsbFNlbmRSZXF1ZXN0UmV0dXJuc051bGxPblJlZGlyZWN0
Q2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJp
YnV0ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAic2V0V2luZG93SXNLZXkiLCBzZXRXaW5kb3dJ
c0tleUNhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlB
dHRyaWJ1dGVEb250RGVsZXRlIH0sCisgICAgICAgIHsgInNob3dXZWJJbnNwZWN0b3IiLCBzaG93
V2ViSW5zcGVjdG9yQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQ
cm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAidGVzdE9uc2NyZWVuIiwg
dGVzdE9uc2NyZWVuQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQ
cm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAidGVzdFJlcGFpbnQiLCB0
ZXN0UmVwYWludENhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJv
cGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsgIndhaXRGb3JQb2xpY3lEZWxl
Z2F0ZSIsIHdhaXRGb3JQb2xpY3lEZWxlZ2F0ZUNhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0
ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCmRpZmYgLS1naXQg
YS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5oIGIvV2Vi
S2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuaAppbmRleCA4NWY1
YjgzLi4wMmY1ZGRiIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9MYXlv
dXRUZXN0Q29udHJvbGxlci5oCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91
dFRlc3RDb250cm9sbGVyLmgKQEAgLTIwMyw2ICsyMDMsMTAgQEAgcHVibGljOgogICAgIGJvb2wg
aXNHZW9sb2NhdGlvblBlcm1pc3Npb25TZXQoKSBjb25zdCB7IHJldHVybiBtX2lzR2VvbG9jYXRp
b25QZXJtaXNzaW9uU2V0OyB9CiAgICAgYm9vbCBnZW9sb2NhdGlvblBlcm1pc3Npb24oKSBjb25z
dCB7IHJldHVybiBtX2dlb2xvY2F0aW9uUGVybWlzc2lvbjsgfQogCisgICAgdm9pZCBzaG93V2Vi
SW5zcGVjdG9yKCk7CisgICAgdm9pZCBjbG9zZVdlYkluc3BlY3RvcigpOworICAgIHZvaWQgZXZh
bHVhdGVJbldlYkluc3BlY3Rvcihsb25nIGNhbGxJZCwgSlNTdHJpbmdSZWYgc2NyaXB0KTsKKwog
cHJpdmF0ZToKICAgICBib29sIG1fZHVtcEFzUERGOwogICAgIGJvb2wgbV9kdW1wQXNUZXh0Owpk
aWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0xheW91dFRlc3RDb250
cm9sbGVyR3RrLmNwcCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9MYXlvdXRUZXN0
Q29udHJvbGxlckd0ay5jcHAKaW5kZXggZTE0MmY3Yy4uMGI0YTM4ZiAxMDA2NDQKLS0tIGEvV2Vi
S2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0xheW91dFRlc3RDb250cm9sbGVyR3RrLmNwcAor
KysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9ndGsvTGF5b3V0VGVzdENvbnRyb2xsZXJH
dGsuY3BwCkBAIC00NzEsMyArNDcxLDE4IEBAIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmFk
ZFVzZXJTdHlsZVNoZWV0KEpTU3RyaW5nUmVmIHNvdXJjZSkKIHsKICAgICBwcmludGYoIkxheW91
dFRlc3RDb250cm9sbGVyOjphZGRVc2VyU3R5bGVTaGVldCBub3QgaW1wbGVtZW50ZWQuXG4iKTsK
IH0KKwordm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2hvd1dlYkluc3BlY3RvcigpCit7Cisg
ICAgLy8gRklYTUU6IEltcGxlbWVudCB0aGlzLgorfQorCit2b2lkIExheW91dFRlc3RDb250cm9s
bGVyOjpjbG9zZVdlYkluc3BlY3RvcigpCit7CisgICAgLy8gRklYTUU6IEltcGxlbWVudCB0aGlz
LgorfQorCit2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpldmFsdWF0ZUluV2ViSW5zcGVjdG9y
KGxvbmcgY2FsbElkLCBKU1N0cmluZ1JlZiBzY3JpcHQpCit7CisgICAgLy8gRklYTUU6IEltcGxl
bWVudCB0aGlzLgorfQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFj
L0xheW91dFRlc3RDb250cm9sbGVyTWFjLm1tIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUv
bWFjL0xheW91dFRlc3RDb250cm9sbGVyTWFjLm1tCmluZGV4IDYzYjczYjUuLjYyM2E3NzAgMTAw
NjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9MYXlvdXRUZXN0Q29udHJv
bGxlck1hYy5tbQorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvTGF5b3V0VGVz
dENvbnRyb2xsZXJNYWMubW0KQEAgLTUxLDcgKzUxLDcgQEAKICNpbXBvcnQgPFdlYktpdC9XZWJI
VE1MVmlld1ByaXZhdGUuaD4KICNpbXBvcnQgPFdlYktpdC9XZWJIaXN0b3J5Lmg+CiAjaW1wb3J0
IDxXZWJLaXQvV2ViSGlzdG9yeVByaXZhdGUuaD4KLSNpbXBvcnQgPFdlYktpdC9XZWJJbnNwZWN0
b3IuaD4KKyNpbXBvcnQgPFdlYktpdC9XZWJJbnNwZWN0b3JQcml2YXRlLmg+CiAjaW1wb3J0IDxX
ZWJLaXQvV2ViR2VvbG9jYXRpb25Nb2NrUHJpdmF0ZS5oPgogI2ltcG9ydCA8V2ViS2l0L1dlYk5T
VVJMRXh0cmFzLmg+CiAjaW1wb3J0IDxXZWJLaXQvV2ViUHJlZmVyZW5jZXMuaD4KQEAgLTQ5Miwz
ICs0OTIsMTkgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6YWRkVXNlclN0eWxlU2hlZXQo
SlNTdHJpbmdSZWYgc291cmNlKQogICAgIFtXZWJWaWV3IF9hZGRVc2VyU3R5bGVTaGVldFRvR3Jv
dXA6QCJvcmcud2Via2l0LkR1bXBSZW5kZXJUcmVlIiBzb3VyY2U6c291cmNlTlMgdXJsOm5pbCB3
b3JsZElEOjEgcGF0dGVybnM6bmlsXTsKIH0KIAordm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6
c2hvd1dlYkluc3BlY3RvcigpCit7CisgICAgW1tbbWFpbkZyYW1lIHdlYlZpZXddIGluc3BlY3Rv
cl0gc2hvdzpuaWxdOworfQorCit2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpjbG9zZVdlYklu
c3BlY3RvcigpCit7CisgICAgW1tbbWFpbkZyYW1lIHdlYlZpZXddIGluc3BlY3Rvcl0gY2xvc2U6
bmlsXTsKK30KKwordm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6ZXZhbHVhdGVJbldlYkluc3Bl
Y3Rvcihsb25nIGNhbGxJZCwgSlNTdHJpbmdSZWYgc2NyaXB0KQoreworICAgIFJldGFpblB0cjxD
RlN0cmluZ1JlZj4gc2NyaXB0Q0YoQWRvcHRDRiwgSlNTdHJpbmdDb3B5Q0ZTdHJpbmcoa0NGQWxs
b2NhdG9yRGVmYXVsdCwgc2NyaXB0KSk7CisgICAgTlNTdHJpbmcgKnNjcmlwdE5TID0gKE5TU3Ry
aW5nICopc2NyaXB0Q0YuZ2V0KCk7CisgICAgW1tbbWFpbkZyYW1lIHdlYlZpZXddIGluc3BlY3Rv
cl0gZXZhbHVhdGVJbkZyb250ZW5kOm5pbCBjYWxsSWQ6Y2FsbElkIHNjcmlwdDpzY3JpcHROU107
Cit9CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vTGF5b3V0VGVz
dENvbnRyb2xsZXJXaW4uY3BwIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0xheW91
dFRlc3RDb250cm9sbGVyV2luLmNwcAppbmRleCA0NThkN2MyLi5mMjkzOGQ2IDEwMDY0NAotLS0g
YS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vTGF5b3V0VGVzdENvbnRyb2xsZXJXaW4u
Y3BwCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9MYXlvdXRUZXN0Q29udHJv
bGxlcldpbi5jcHAKQEAgLTg2OSwzICs4NjksMzAgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxl
cjo6YWRkVXNlclN0eWxlU2hlZXQoSlNTdHJpbmdSZWYgc291cmNlKQogCiAgICAgd2ViVmlldy0+
YWRkVXNlclN0eWxlU2hlZXRUb0dyb3VwKF9ic3RyX3QoTCJvcmcud2Via2l0LkR1bXBSZW5kZXJU
cmVlIikuR2V0QlNUUigpLCAxLCBic3RyVChzb3VyY2UpLkdldEJTVFIoKSwgMCwgMCwgMCk7CiB9
CisKK3ZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNob3dXZWJJbnNwZWN0b3IoKQoreworICAg
IENPTVB0cjxJV2ViVmlld1ByaXZhdGU+IHdlYlZpZXc7CisgICAgaWYgKEZBSUxFRChXZWJLaXRD
cmVhdGVJbnN0YW5jZShfX3V1aWRvZihXZWJWaWV3KSwgMCwgX191dWlkb2Yod2ViVmlldyksIHJl
aW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPigmd2ViVmlldykpKSkKKyAgICAgICAgcmV0dXJuOworCisg
ICAgd2ViVmlldy0+aW5zcGVjdG9yLT5zaG93KCk7Cit9CisKK3ZvaWQgTGF5b3V0VGVzdENvbnRy
b2xsZXI6OmNsb3NlV2ViSW5zcGVjdG9yKCkKK3sKKyAgICBDT01QdHI8SVdlYlZpZXdQcml2YXRl
PiB3ZWJWaWV3OworICAgIGlmIChGQUlMRUQoV2ViS2l0Q3JlYXRlSW5zdGFuY2UoX191dWlkb2Yo
V2ViVmlldyksIDAsIF9fdXVpZG9mKHdlYlZpZXcpLCByZWludGVycHJldF9jYXN0PHZvaWQqKj4o
JndlYlZpZXcpKSkpCisgICAgICAgIHJldHVybjsKKworICAgIHdlYlZpZXctPmluc3BlY3Rvci0+
Y2xvc2UoKTsKK30KKwordm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6ZXZhbHVhdGVJbldlYklu
c3BlY3Rvcihsb25nIGNhbGxJZCwgSlNTdHJpbmdSZWYgc2NyaXB0KQoreworICAgIENPTVB0cjxJ
V2ViVmlld1ByaXZhdGU+IHdlYlZpZXc7CisgICAgaWYgKEZBSUxFRChXZWJLaXRDcmVhdGVJbnN0
YW5jZShfX3V1aWRvZihXZWJWaWV3KSwgMCwgX191dWlkb2Yod2ViVmlldyksIHJlaW50ZXJwcmV0
X2Nhc3Q8dm9pZCoqPigmd2ViVmlldykpKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgd2ViVmll
dy0+aW5zcGVjdG9yLT5ldmFsdWF0ZUluRnJvbnRlbmQoY2FsbElkLCBic3RyVChzY3JpcHQpLkdl
dEJTVFIoKSk7Cit9CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS93eC9M
YXlvdXRUZXN0Q29udHJvbGxlcld4LmNwcCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3d4
L0xheW91dFRlc3RDb250cm9sbGVyV3guY3BwCmluZGV4IGQwZjYyYjAuLmJmZTFkOTkgMTAwNjQ0
Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3d4L0xheW91dFRlc3RDb250cm9sbGVy
V3guY3BwCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3d4L0xheW91dFRlc3RDb250
cm9sbGVyV3guY3BwCkBAIC0yOTgsMyArMjk4LDE4IEBAIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xs
ZXI6OmFkZFVzZXJTdHlsZVNoZWV0KEpTU3RyaW5nUmVmIHNvdXJjZSkKIHsKICAgICBwcmludGYo
IkxheW91dFRlc3RDb250cm9sbGVyOjphZGRVc2VyU3R5bGVTaGVldCBub3QgaW1wbGVtZW50ZWQu
XG4iKTsKIH0KKwordm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2hvd1dlYkluc3BlY3Rvcigp
Cit7CisgICAgLy8gRklYTUU6IEltcGxlbWVudCB0aGlzLgorfQorCit2b2lkIExheW91dFRlc3RD
b250cm9sbGVyOjpjbG9zZVdlYkluc3BlY3RvcigpCit7CisgICAgLy8gRklYTUU6IEltcGxlbWVu
dCB0aGlzLgorfQorCit2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpldmFsdWF0ZUluV2ViSW5z
cGVjdG9yKGxvbmcgY2FsbElkLCBKU1N0cmluZ1JlZiBzY3JpcHQpCit7CisgICAgLy8gRklYTUU6
IEltcGxlbWVudCB0aGlzLgorfQo=
</data>
<flag name="review"
          id="21745"
          type_id="1"
          status="+"
          setter="timothy"
    />
          </attachment>
      

    </bug>

</bugzilla>