<?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>100216</bug_id>
          
          <creation_ts>2012-10-24 02:10:52 -0700</creation_ts>
          <short_desc>Web Inspector: UiSourceCode should rely on the workspace as a content provider.</short_desc>
          <delta_ts>2012-10-24 06:45:11 -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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Vsevolod Vlasov">vsevik</reporter>
          <assigned_to name="Vsevolod Vlasov">vsevik</assigned_to>
          <cc>apavlov</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>vsevik</cc>
    
    <cc>web-inspector-bugs</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>749477</commentid>
    <comment_count>0</comment_count>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-10-24 02:10:52 -0700</bug_when>
    <thetext>Patch to follow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>749480</commentid>
    <comment_count>1</comment_count>
      <attachid>170346</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-10-24 02:16:04 -0700</bug_when>
    <thetext>Created attachment 170346
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>749614</commentid>
    <comment_count>2</comment_count>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-10-24 06:45:11 -0700</bug_when>
    <thetext>Committed r132346: &lt;http://trac.webkit.org/changeset/132346&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>170346</attachid>
            <date>2012-10-24 02:16:04 -0700</date>
            <delta_ts>2012-10-24 06:40:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100216-20121024131439.patch</filename>
            <type>text/plain</type>
            <size>27911</size>
            <attacher name="Vsevolod Vlasov">vsevik</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMyMzIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTUyN2EyMjNjMjUzNmIx
NjAxZGRkNjkyZDQ4ODk2MGQwYTMyN2JlNC4uN2M4MTZiODI2NGIxZjczZmI1Y2FiODc5Y2U5NDFm
M2I3MmExODhiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDEyLTEwLTI0ICBWc2V2
b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IFVpU291cmNlQ29kZSBzaG91bGQgcmVseSBvbiB0aGUgd29ya3NwYWNlIGFzIGEgY29udGVu
dCBwcm92aWRlci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEwMDIxNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFdvcmtzcGFjZSBpcyBub3cgcGFzc2VkIHRvIFVJU291cmNlQ29kZSB0byBiZSB1c2VkIGFz
IGEgY29udGVudCBwcm92aWRlci4KKyAgICAgICAgQ29udGVudCBwcm92aWRlcnMgYXJlIG5vdyBz
dG9yZWQgaW4gdGhlIHdvcmtzcGFjZS9wcm9qZWN0LgorICAgICAgICBOZXh0IHN0ZXAgd291bGQg
YmUgdG8gbW92ZSBjb250ZW50IHByb3ZpZGVycyB0byB3b3Jrc3BhY2UgcHJvdmlkZXJzLgorCisg
ICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9CcmVha3BvaW50TWFuYWdlci5qczoKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5CcmVha3BvaW50TWFuYWdlci5icmVha3BvaW50U3RvcmFnZUlkKToK
KyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1VJU291cmNlQ29kZS5qczoKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlVJU291
cmNlQ29kZS5wcm90b3R5cGUuY29udGVudFR5cGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlVJ
U291cmNlQ29kZS5wcm90b3R5cGUucmVxdWVzdENvbnRlbnQpOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLlVJU291cmNlQ29kZS5wcm90b3R5cGUucmVxdWVzdE9yaWdpbmFsQ29udGVudCk6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlLnByb3RvdHlwZS5fY29tbWl0Q29udGVudCk6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlLnByb3RvdHlwZS5zZWFyY2hJbkNv
bnRlbnQpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvV29ya3NwYWNlLmpzOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLldvcmtzcGFjZUNvbnRyb2xsZXIucHJvdG90eXBlLl9tYWluRnJh
bWVOYXZpZ2F0ZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlByb2plY3QpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLlByb2plY3QucHJvdG90eXBlLmFkZFVJU291cmNlQ29kZSk6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuUHJvamVjdC5wcm90b3R5cGUucmVtb3ZlVUlTb3VyY2VDb2RlKToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5Qcm9qZWN0LnByb3RvdHlwZS51aVNvdXJjZUNvZGVzKToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5Qcm9qZWN0LnByb3RvdHlwZS5yZXF1ZXN0RmlsZUNvbnRlbnQp
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLlByb2plY3QucHJvdG90eXBlLnNlYXJjaEluRmlsZUNv
bnRlbnQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLldvcmtzcGFjZSk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuV29ya3NwYWNlLnByb3RvdHlwZS5hZGRUZW1wb3JhcnlVSVNvdXJjZUNvZGUpOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLldvcmtzcGFjZS5wcm90b3R5cGUucmVtb3ZlVGVtcG9yYXJ5
VUlTb3VyY2VDb2RlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Xb3Jrc3BhY2UucHJvdG90eXBl
LnJlc2V0KToKKwogMjAxMi0xMC0yNCAgQ2hhcmxlcyBXZWkgIDxjaGFybGVzLndlaUB0b3JjaG1v
YmlsZS5jb20uY24+CiAKICAgICAgICAgW0JsYWNrQmVycnldIENyZWRlbnRpYWxzIG5vdCByZS11
c2VkIGZvciBhIHJlZGlyZWN0ZWQgcmVxdWVzdCB0byB0aGUgc2FtZSBkb21haW4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQnJlYWtwb2ludE1hbmFnZXIu
anMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0JyZWFrcG9pbnRNYW5hZ2Vy
LmpzCmluZGV4IDcwOWNmMTE5M2QzODljYTBlYjFkOWEzYzM3ZTliMTAxNzhlMDk5M2MuLmFlNTRi
Nzk1N2MwMTJlNzUyOGY5Nzk0YmYxMDBhZTcyMTJhNjczMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQnJlYWtwb2ludE1hbmFnZXIuanMKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9CcmVha3BvaW50TWFuYWdlci5qcwpAQCAt
NjAsOCArNjAsNiBAQCBXZWJJbnNwZWN0b3IuQnJlYWtwb2ludE1hbmFnZXIuRXZlbnRzID0gewog
CiBXZWJJbnNwZWN0b3IuQnJlYWtwb2ludE1hbmFnZXIuYnJlYWtwb2ludFN0b3JhZ2VJZCA9IGZ1
bmN0aW9uKHVpU291cmNlQ29kZSkKIHsKLSAgICBpZiAodWlTb3VyY2VDb2RlLmlzVGVtcG9yYXJ5
KQotICAgICAgICByZXR1cm4gIiI7CiAgICAgcmV0dXJuIHVpU291cmNlQ29kZS5mb3JtYXR0ZWQo
KSA/ICJkZW9iZnVzY2F0ZWQ6IiArIHVpU291cmNlQ29kZS51cmwgOiB1aVNvdXJjZUNvZGUudXJs
OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1VJ
U291cmNlQ29kZS5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVUlTb3Vy
Y2VDb2RlLmpzCmluZGV4IDMyMDEwYTQwYmIyNWIyN2M5NDFmZTBhNGEyNzYzYWM2M2Y1YmQ4N2Iu
LjAxOTQ1NmQ2ZTc1MTY3YTM4NWUyMmYxMTkzZDU0NjA2MTVlMzdhOGMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVUlTb3VyY2VDb2RlLmpzCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVUlTb3VyY2VDb2RlLmpzCkBAIC0zMywx
NyArMzMsMTggQEAKICAqIEBjb25zdHJ1Y3RvcgogICogQGV4dGVuZHMge1dlYkluc3BlY3Rvci5P
YmplY3R9CiAgKiBAaW1wbGVtZW50cyB7V2ViSW5zcGVjdG9yLkNvbnRlbnRQcm92aWRlcn0KKyAq
IEBwYXJhbSB7V2ViSW5zcGVjdG9yLldvcmtzcGFjZX0gd29ya3NwYWNlCiAgKiBAcGFyYW0ge3N0
cmluZ30gdXJsCi0gKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5Db250ZW50UHJvdmlkZXJ9IGNvbnRl
bnRQcm92aWRlcgorICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuUmVzb3VyY2VUeXBlfSBjb250ZW50
VHlwZQogICogQHBhcmFtIHtib29sZWFufSBpc0VkaXRhYmxlCiAgKi8KLVdlYkluc3BlY3Rvci5V
SVNvdXJjZUNvZGUgPSBmdW5jdGlvbih1cmwsIGNvbnRlbnRQcm92aWRlciwgaXNFZGl0YWJsZSkK
K1dlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGUgPSBmdW5jdGlvbih3b3Jrc3BhY2UsIHVybCwgY29u
dGVudFR5cGUsIGlzRWRpdGFibGUpCiB7CisgICAgdGhpcy5fd29ya3NwYWNlID0gd29ya3NwYWNl
OwogICAgIHRoaXMuX3VybCA9IHVybDsKICAgICB0aGlzLl9wYXJzZWRVUkwgPSBuZXcgV2ViSW5z
cGVjdG9yLlBhcnNlZFVSTCh1cmwpOwotICAgIHRoaXMuX2NvbnRlbnRQcm92aWRlciA9IGNvbnRl
bnRQcm92aWRlcjsKKyAgICB0aGlzLl9jb250ZW50VHlwZSA9IGNvbnRlbnRUeXBlOwogICAgIHRo
aXMuX2lzRWRpdGFibGUgPSBpc0VkaXRhYmxlOwotICAgIHRoaXMuaXNDb250ZW50U2NyaXB0ID0g
ZmFsc2U7CiAgICAgLyoqCiAgICAgICogQHR5cGUgQXJyYXkuPGZ1bmN0aW9uKD9zdHJpbmcsYm9v
bGVhbixzdHJpbmcpPgogICAgICAqLwpAQCAtMTE2LDcgKzExNyw3IEBAIFdlYkluc3BlY3Rvci5V
SVNvdXJjZUNvZGUucHJvdG90eXBlID0gewogICAgICAqLwogICAgIGNvbnRlbnRUeXBlOiBmdW5j
dGlvbigpCiAgICAgewotICAgICAgICByZXR1cm4gdGhpcy5fY29udGVudFByb3ZpZGVyLmNvbnRl
bnRUeXBlKCk7CisgICAgICAgIHJldHVybiB0aGlzLl9jb250ZW50VHlwZTsKICAgICB9LAogCiAg
ICAgLyoqCkBAIC0xNjIsNyArMTYzLDcgQEAgV2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZS5wcm90
b3R5cGUgPSB7CiAgICAgICAgIH0KICAgICAgICAgdGhpcy5fcmVxdWVzdENvbnRlbnRDYWxsYmFj
a3MucHVzaChjYWxsYmFjayk7CiAgICAgICAgIGlmICh0aGlzLl9yZXF1ZXN0Q29udGVudENhbGxi
YWNrcy5sZW5ndGggPT09IDEpCi0gICAgICAgICAgICB0aGlzLl9jb250ZW50UHJvdmlkZXIucmVx
dWVzdENvbnRlbnQodGhpcy5fZmlyZUNvbnRlbnRBdmFpbGFibGUuYmluZCh0aGlzKSk7CisgICAg
ICAgICAgICB0aGlzLl93b3Jrc3BhY2UucmVxdWVzdEZpbGVDb250ZW50KHRoaXMsIHRoaXMuX2Zp
cmVDb250ZW50QXZhaWxhYmxlLmJpbmQodGhpcykpOwogICAgIH0sCiAKICAgICAvKioKQEAgLTE3
MCw3ICsxNzEsNyBAQCBXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlLnByb3RvdHlwZSA9IHsKICAg
ICAgKi8KICAgICByZXF1ZXN0T3JpZ2luYWxDb250ZW50OiBmdW5jdGlvbihjYWxsYmFjaykKICAg
ICB7Ci0gICAgICAgIHRoaXMuX2NvbnRlbnRQcm92aWRlci5yZXF1ZXN0Q29udGVudChjYWxsYmFj
ayk7CisgICAgICAgIHRoaXMuX3dvcmtzcGFjZS5yZXF1ZXN0RmlsZUNvbnRlbnQodGhpcywgY2Fs
bGJhY2spOwogICAgIH0sCiAKICAgICAvKioKQEAgLTE5MSw3ICsxOTIsNyBAQCBXZWJJbnNwZWN0
b3IuVUlTb3VyY2VDb2RlLnByb3RvdHlwZSA9IHsKICAgICAgICAgdmFyIG9sZFdvcmtpbmdDb3B5
ID0gdGhpcy5fd29ya2luZ0NvcHk7CiAgICAgICAgIGRlbGV0ZSB0aGlzLl93b3JraW5nQ29weTsK
ICAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLlVJU291
cmNlQ29kZS5FdmVudHMuV29ya2luZ0NvcHlDb21taXR0ZWQsIHtvbGRXb3JraW5nQ29weTogb2xk
V29ya2luZ0NvcHksIHdvcmtpbmdDb3B5OiB0aGlzLndvcmtpbmdDb3B5KCl9KTsKLSAgICAgICAg
V2ViSW5zcGVjdG9yLndvcmtzcGFjZS5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVj
dG9yLldvcmtzcGFjZS5FdmVudHMuVUlTb3VyY2VDb2RlQ29udGVudENvbW1pdHRlZCwgeyB1aVNv
dXJjZUNvZGU6IHRoaXMsIGNvbnRlbnQ6IHRoaXMuX2NvbnRlbnQgfSk7CisgICAgICAgIHRoaXMu
X3dvcmtzcGFjZS5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLldvcmtzcGFj
ZS5FdmVudHMuVUlTb3VyY2VDb2RlQ29udGVudENvbW1pdHRlZCwgeyB1aVNvdXJjZUNvZGU6IHRo
aXMsIGNvbnRlbnQ6IHRoaXMuX2NvbnRlbnQgfSk7CiAgICAgICAgIGlmICh0aGlzLl91cmwgJiYg
V2ViSW5zcGVjdG9yLmZpbGVNYW5hZ2VyLmlzVVJMU2F2ZWQodGhpcy5fdXJsKSkgewogICAgICAg
ICAgICAgV2ViSW5zcGVjdG9yLmZpbGVNYW5hZ2VyLnNhdmUodGhpcy5fdXJsLCB0aGlzLl9jb250
ZW50LCBmYWxzZSk7CiAgICAgICAgICAgICBXZWJJbnNwZWN0b3IuZmlsZU1hbmFnZXIuY2xvc2Uo
dGhpcy5fdXJsKTsKQEAgLTM3MSw4ICszNzIsMTMgQEAgV2ViSW5zcGVjdG9yLlVJU291cmNlQ29k
ZS5wcm90b3R5cGUgPSB7CiAgICAgc2VhcmNoSW5Db250ZW50OiBmdW5jdGlvbihxdWVyeSwgY2Fz
ZVNlbnNpdGl2ZSwgaXNSZWdleCwgY2FsbGJhY2spCiAgICAgewogICAgICAgICB2YXIgY29udGVu
dCA9IHRoaXMuY29udGVudCgpOwotICAgICAgICB2YXIgcHJvdmlkZXIgPSBjb250ZW50ID8gbmV3
IFdlYkluc3BlY3Rvci5TdGF0aWNDb250ZW50UHJvdmlkZXIodGhpcy5fY29udGVudFByb3ZpZGVy
LmNvbnRlbnRUeXBlKCksIGNvbnRlbnQpIDogdGhpcy5fY29udGVudFByb3ZpZGVyOwotICAgICAg
ICBwcm92aWRlci5zZWFyY2hJbkNvbnRlbnQocXVlcnksIGNhc2VTZW5zaXRpdmUsIGlzUmVnZXgs
IGNhbGxiYWNrKTsKKyAgICAgICAgaWYgKGNvbnRlbnQpIHsKKyAgICAgICAgICAgIHZhciBwcm92
aWRlciA9IG5ldyBXZWJJbnNwZWN0b3IuU3RhdGljQ29udGVudFByb3ZpZGVyKHRoaXMuY29udGVu
dFR5cGUoKSwgY29udGVudCk7CisgICAgICAgICAgICBwcm92aWRlci5zZWFyY2hJbkNvbnRlbnQo
cXVlcnksIGNhc2VTZW5zaXRpdmUsIGlzUmVnZXgsIGNhbGxiYWNrKTsKKyAgICAgICAgICAgIHJl
dHVybjsKKyAgICAgICAgfQorCisgICAgICAgIHRoaXMuX3dvcmtzcGFjZS5zZWFyY2hJbkZpbGVD
b250ZW50KHRoaXMsIHF1ZXJ5LCBjYXNlU2Vuc2l0aXZlLCBpc1JlZ2V4LCBjYWxsYmFjayk7CiAg
ICAgfSwKIAogICAgIC8qKgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9Xb3Jrc3BhY2UuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L1dvcmtzcGFjZS5qcwppbmRleCA2NjY1Njg2YTkxMGNlOTQ0NzI3YzQwOGUyZDM4Y2I4NTk4OTAw
MTBiLi5iOGNmZDAyZjgxNWJiY2Q1OGVlZTczY2I0MGE3NjllZmFmYjQyZGMxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dvcmtzcGFjZS5qcworKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dvcmtzcGFjZS5qcwpAQCAtNDQsNiAr
NDQsNyBAQCBXZWJJbnNwZWN0b3IuV29ya3NwYWNlQ29udHJvbGxlci5wcm90b3R5cGUgPSB7CiAg
ICAgICAgIFdlYkluc3BlY3Rvci5SZXZpc2lvbi5maWx0ZXJPdXRTdGFsZVJldmlzaW9ucygpOwog
ICAgICAgICB0aGlzLl93b3Jrc3BhY2UuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3Bl
Y3Rvci5Xb3Jrc3BhY2UuRXZlbnRzLlByb2plY3RXaWxsUmVzZXQsIHRoaXMuX3dvcmtzcGFjZS5w
cm9qZWN0KCkpOwogICAgICAgICB0aGlzLl93b3Jrc3BhY2UucHJvamVjdCgpLnJlc2V0KCk7Cisg
ICAgICAgIHRoaXMuX3dvcmtzcGFjZS5yZXNldCgpOwogICAgICAgICB0aGlzLl93b3Jrc3BhY2Uu
ZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5Xb3Jrc3BhY2UuRXZlbnRzLlBy
b2plY3REaWRSZXNldCwgdGhpcy5fd29ya3NwYWNlLnByb2plY3QoKSk7CiAgICAgfSwKIApAQCAt
NjgsNiArNjksOCBAQCBXZWJJbnNwZWN0b3IuUHJvamVjdCA9IGZ1bmN0aW9uKHdvcmtzcGFjZSkK
IHsKICAgICB0aGlzLl91aVNvdXJjZUNvZGVzID0gW107CiAgICAgdGhpcy5fd29ya3NwYWNlID0g
d29ya3NwYWNlOworICAgIC8qKiBAdHlwZSB7T2JqZWN0LjxzdHJpbmcsIFdlYkluc3BlY3Rvci5D
b250ZW50UHJvdmlkZXI+fSAqLworICAgIHRoaXMuX2NvbnRlbnRQcm92aWRlcnMgPSB7fTsKIH0K
IAogV2ViSW5zcGVjdG9yLlByb2plY3QucHJvdG90eXBlID0gewpAQCAtOTAsMTAgKzkzLDExIEBA
IFdlYkluc3BlY3Rvci5Qcm9qZWN0LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIC8vIEZJWE1F
OiBJbXBsZW1lbnQKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQotICAgICAgICB1aVNv
dXJjZUNvZGUgPSBuZXcgV2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZSh1cmwsIGNvbnRlbnRQcm92
aWRlciwgaXNFZGl0YWJsZSk7CisgICAgICAgIHVpU291cmNlQ29kZSA9IG5ldyBXZWJJbnNwZWN0
b3IuVUlTb3VyY2VDb2RlKHRoaXMuX3dvcmtzcGFjZSwgdXJsLCBjb250ZW50UHJvdmlkZXIuY29u
dGVudFR5cGUoKSwgaXNFZGl0YWJsZSk7CiAgICAgICAgIHVpU291cmNlQ29kZS5pc0NvbnRlbnRT
Y3JpcHQgPSBpc0NvbnRlbnRTY3JpcHQ7CiAgICAgICAgIHVpU291cmNlQ29kZS5pc1NuaXBwZXQg
PSBpc1NuaXBwZXQ7CiAgICAgICAgIHRoaXMuX3VpU291cmNlQ29kZXMucHVzaCh1aVNvdXJjZUNv
ZGUpOworICAgICAgICB0aGlzLl9jb250ZW50UHJvdmlkZXJzW3VybF0gPSBjb250ZW50UHJvdmlk
ZXI7CiAgICAgICAgIHRoaXMuX3dvcmtzcGFjZS5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2Vi
SW5zcGVjdG9yLlVJU291cmNlQ29kZVByb3ZpZGVyLkV2ZW50cy5VSVNvdXJjZUNvZGVBZGRlZCwg
dWlTb3VyY2VDb2RlKTsKICAgICB9LAogCkBAIC0xMDUsNiArMTA5LDcgQEAgV2ViSW5zcGVjdG9y
LlByb2plY3QucHJvdG90eXBlID0gewogICAgICAgICB2YXIgdWlTb3VyY2VDb2RlID0gdGhpcy51
aVNvdXJjZUNvZGVGb3JVUkwodXJsKTsKICAgICAgICAgaWYgKCF1aVNvdXJjZUNvZGUpCiAgICAg
ICAgICAgICByZXR1cm47CisgICAgICAgIGRlbGV0ZSB0aGlzLl9jb250ZW50UHJvdmlkZXJzW3Vy
bF07CiAgICAgICAgIHRoaXMuX3VpU291cmNlQ29kZXMuc3BsaWNlKHRoaXMuX3VpU291cmNlQ29k
ZXMuaW5kZXhPZih1aVNvdXJjZUNvZGUpLCAxKTsKICAgICAgICAgdGhpcy5fd29ya3NwYWNlLmRp
c3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlUHJvdmlkZXIu
RXZlbnRzLlVJU291cmNlQ29kZVJlbW92ZWQsIHVpU291cmNlQ29kZSk7CiAgICAgfSwKQEAgLTEy
OCw2ICsxMzMsMjYgQEAgV2ViSW5zcGVjdG9yLlByb2plY3QucHJvdG90eXBlID0gewogICAgIHVp
U291cmNlQ29kZXM6IGZ1bmN0aW9uKCkKICAgICB7CiAgICAgICAgIHJldHVybiB0aGlzLl91aVNv
dXJjZUNvZGVzOworICAgIH0sCisKKyAgICAvKioKKyAgICAgKiBAcGFyYW0ge3N0cmluZ30gcGF0
aAorICAgICAqIEBwYXJhbSB7ZnVuY3Rpb24oP3N0cmluZyxib29sZWFuLHN0cmluZyl9IGNhbGxi
YWNrCisgICAgICovCisgICAgcmVxdWVzdEZpbGVDb250ZW50OiBmdW5jdGlvbihwYXRoLCBjYWxs
YmFjaykKKyAgICB7CisgICAgICAgIHRoaXMuX2NvbnRlbnRQcm92aWRlcnNbcGF0aF0ucmVxdWVz
dENvbnRlbnQoY2FsbGJhY2spOworICAgIH0sCisKKyAgICAvKioKKyAgICAgKiBAcGFyYW0ge3N0
cmluZ30gcXVlcnkKKyAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IGNhc2VTZW5zaXRpdmUKKyAgICAg
KiBAcGFyYW0ge2Jvb2xlYW59IGlzUmVnZXgKKyAgICAgKiBAcGFyYW0ge2Z1bmN0aW9uKEFycmF5
LjxXZWJJbnNwZWN0b3IuQ29udGVudFByb3ZpZGVyLlNlYXJjaE1hdGNoPil9IGNhbGxiYWNrCisg
ICAgICovCisgICAgc2VhcmNoSW5GaWxlQ29udGVudDogZnVuY3Rpb24ocGF0aCwgcXVlcnksIGNh
c2VTZW5zaXRpdmUsIGlzUmVnZXgsIGNhbGxiYWNrKQorICAgIHsKKyAgICAgICAgdGhpcy5fY29u
dGVudFByb3ZpZGVyc1twYXRoXS5zZWFyY2hJbkNvbnRlbnQocXVlcnksIGNhc2VTZW5zaXRpdmUs
IGlzUmVnZXgsIGNhbGxiYWNrKTsKICAgICB9CiB9CiAKQEAgLTEzOSw2ICsxNjQsOCBAQCBXZWJJ
bnNwZWN0b3IuUHJvamVjdC5wcm90b3R5cGUgPSB7CiBXZWJJbnNwZWN0b3IuV29ya3NwYWNlID0g
ZnVuY3Rpb24oKQogewogICAgIHRoaXMuX3Byb2plY3QgPSBuZXcgV2ViSW5zcGVjdG9yLlByb2pl
Y3QodGhpcyk7CisgICAgLyoqIEB0eXBlIHtPYmplY3QuPHN0cmluZywgV2ViSW5zcGVjdG9yLkNv
bnRlbnRQcm92aWRlcj59ICovCisgICAgdGhpcy5fdGVtcG9yYXJ5Q29udGVudFByb3ZpZGVycyA9
IG5ldyBNYXAoKTsKIH0KIAogV2ViSW5zcGVjdG9yLldvcmtzcGFjZS5FdmVudHMgPSB7CkBAIC0x
NzUsMjAgKzIwMiwyMSBAQCBXZWJJbnNwZWN0b3IuV29ya3NwYWNlLnByb3RvdHlwZSA9IHsKICAg
ICB9LAogCiAgICAgLyoqCi0gICAgICogQHBhcmFtIHtzdHJpbmd9IHVybAorICAgICAqIEBwYXJh
bSB7c3RyaW5nfSBwYXRoCiAgICAgICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuQ29udGVudFByb3Zp
ZGVyfSBjb250ZW50UHJvdmlkZXIKICAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IGlzRWRpdGFibGUK
ICAgICAgKiBAcGFyYW0ge2Jvb2xlYW49fSBpc0NvbnRlbnRTY3JpcHQKICAgICAgKiBAcGFyYW0g
e2Jvb2xlYW49fSBpc1NuaXBwZXQKICAgICAgKi8KLSAgICBhZGRUZW1wb3JhcnlVSVNvdXJjZUNv
ZGU6IGZ1bmN0aW9uKHVybCwgY29udGVudFByb3ZpZGVyLCBpc0VkaXRhYmxlLCBpc0NvbnRlbnRT
Y3JpcHQsIGlzU25pcHBldCkKKyAgICBhZGRUZW1wb3JhcnlVSVNvdXJjZUNvZGU6IGZ1bmN0aW9u
KHBhdGgsIGNvbnRlbnRQcm92aWRlciwgaXNFZGl0YWJsZSwgaXNDb250ZW50U2NyaXB0LCBpc1Nu
aXBwZXQpCiAgICAgewotICAgICAgICB2YXIgdWlTb3VyY2VDb2RlID0gbmV3IFdlYkluc3BlY3Rv
ci5VSVNvdXJjZUNvZGUodXJsLCBjb250ZW50UHJvdmlkZXIsIGlzRWRpdGFibGUpOworICAgICAg
ICB2YXIgdWlTb3VyY2VDb2RlID0gbmV3IFdlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGUodGhpcywg
cGF0aCwgY29udGVudFByb3ZpZGVyLmNvbnRlbnRUeXBlKCksIGlzRWRpdGFibGUpOworICAgICAg
ICB0aGlzLl90ZW1wb3JhcnlDb250ZW50UHJvdmlkZXJzLnB1dCh1aVNvdXJjZUNvZGUsIGNvbnRl
bnRQcm92aWRlcik7CiAgICAgICAgIHVpU291cmNlQ29kZS5pc0NvbnRlbnRTY3JpcHQgPSBpc0Nv
bnRlbnRTY3JpcHQ7CiAgICAgICAgIHVpU291cmNlQ29kZS5pc1NuaXBwZXQgPSBpc1NuaXBwZXQ7
CiAgICAgICAgIHVpU291cmNlQ29kZS5pc1RlbXBvcmFyeSA9IHRydWU7CiAgICAgICAgIHRoaXMu
ZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGVQcm92aWRl
ci5FdmVudHMuVGVtcG9yYXJ5VUlTb3VyY2VDb2RlQWRkZWQsIHVpU291cmNlQ29kZSk7Ci0gICAg
ICAgIHJldHVybiB1aVNvdXJjZUNvZGU7ICAgICAgICAKKyAgICAgICAgcmV0dXJuIHVpU291cmNl
Q29kZTsKICAgICB9LAogCiAgICAgLyoqCkBAIC0xOTYsOSArMjI0LDQ0IEBAIFdlYkluc3BlY3Rv
ci5Xb3Jrc3BhY2UucHJvdG90eXBlID0gewogICAgICAqLwogICAgIHJlbW92ZVRlbXBvcmFyeVVJ
U291cmNlQ29kZTogZnVuY3Rpb24odWlTb3VyY2VDb2RlKQogICAgIHsKKyAgICAgICAgdGhpcy5f
dGVtcG9yYXJ5Q29udGVudFByb3ZpZGVycy5yZW1vdmUodWlTb3VyY2VDb2RlLnVybCk7CiAgICAg
ICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5VSVNvdXJjZUNv
ZGVQcm92aWRlci5FdmVudHMuVGVtcG9yYXJ5VUlTb3VyY2VDb2RlUmVtb3ZlZCwgdWlTb3VyY2VD
b2RlKTsKICAgICB9LAogCisgICAgLyoqCisgICAgICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuVUlT
b3VyY2VDb2RlfSB1aVNvdXJjZUNvZGUKKyAgICAgKiBAcGFyYW0ge2Z1bmN0aW9uKD9zdHJpbmcs
Ym9vbGVhbixzdHJpbmcpfSBjYWxsYmFjaworICAgICAqLworICAgIHJlcXVlc3RGaWxlQ29udGVu
dDogZnVuY3Rpb24odWlTb3VyY2VDb2RlLCBjYWxsYmFjaykKKyAgICB7CisgICAgICAgIGlmICh0
aGlzLl90ZW1wb3JhcnlDb250ZW50UHJvdmlkZXJzLmdldCh1aVNvdXJjZUNvZGUpKSB7CisgICAg
ICAgICAgICB0aGlzLl90ZW1wb3JhcnlDb250ZW50UHJvdmlkZXJzLmdldCh1aVNvdXJjZUNvZGUp
LnJlcXVlc3RDb250ZW50KGNhbGxiYWNrKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg
fQorICAgICAgICB0aGlzLl9wcm9qZWN0LnJlcXVlc3RGaWxlQ29udGVudCh1aVNvdXJjZUNvZGUu
dXJsLCBjYWxsYmFjayk7CisgICAgfSwKKworICAgIC8qKgorICAgICAqIEBwYXJhbSB7V2ViSW5z
cGVjdG9yLlVJU291cmNlQ29kZX0gdWlTb3VyY2VDb2RlCisgICAgICogQHBhcmFtIHtzdHJpbmd9
IHF1ZXJ5CisgICAgICogQHBhcmFtIHtib29sZWFufSBjYXNlU2Vuc2l0aXZlCisgICAgICogQHBh
cmFtIHtib29sZWFufSBpc1JlZ2V4CisgICAgICogQHBhcmFtIHtmdW5jdGlvbihBcnJheS48V2Vi
SW5zcGVjdG9yLkNvbnRlbnRQcm92aWRlci5TZWFyY2hNYXRjaD4pfSBjYWxsYmFjaworICAgICAq
LworICAgIHNlYXJjaEluRmlsZUNvbnRlbnQ6IGZ1bmN0aW9uKHVpU291cmNlQ29kZSwgcXVlcnks
IGNhc2VTZW5zaXRpdmUsIGlzUmVnZXgsIGNhbGxiYWNrKQorICAgIHsKKyAgICAgICAgaWYgKHRo
aXMuX3RlbXBvcmFyeUNvbnRlbnRQcm92aWRlcnMuZ2V0KHVpU291cmNlQ29kZSkpIHsKKyAgICAg
ICAgICAgIHRoaXMuX3RlbXBvcmFyeUNvbnRlbnRQcm92aWRlcnMuZ2V0KHVpU291cmNlQ29kZSku
c2VhcmNoSW5Db250ZW50KHF1ZXJ5LCBjYXNlU2Vuc2l0aXZlLCBpc1JlZ2V4LCBjYWxsYmFjayk7
CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgdGhpcy5fcHJvamVjdC5z
ZWFyY2hJbkZpbGVDb250ZW50KHVpU291cmNlQ29kZS51cmwsIHF1ZXJ5LCBjYXNlU2Vuc2l0aXZl
LCBpc1JlZ2V4LCBjYWxsYmFjayk7CisgICAgfSwKKworICAgIHJlc2V0OiBmdW5jdGlvbigpCisg
ICAgeworICAgICAgICB0aGlzLl90ZW1wb3JhcnlDb250ZW50UHJvdmlkZXJzID0gbmV3IE1hcCgp
OworICAgIH0sCisKICAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5PYmplY3QucHJvdG90eXBl
CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwppbmRleCA2MGEzZTZlM2E3ZGRmMjg2ZGRmMTM2OTQzMzVkOGQ5YTdjMmVmNWZiLi40
YWQyMWJhY2MwMWViMjgxYTA4N2E3YmE3YmQxZGVkZDhiMWE3ZGU2IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MjAgQEAKKzIwMTItMTAtMjQgIFZzZXZvbG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJvbWl1bS5vcmc+
CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogVWlTb3VyY2VDb2RlIHNob3VsZCByZWx5IG9uIHRo
ZSB3b3Jrc3BhY2UgYXMgYSBjb250ZW50IHByb3ZpZGVyLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwMjE2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL2luc3BlY3Rvci9jb21waWxl
ci1zY3JpcHQtbWFwcGluZy5odG1sOgorICAgICAgICAqIGluc3BlY3Rvci9kZWJ1Z2dlci9icmVh
a3BvaW50LW1hbmFnZXIuaHRtbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvZGVidWdnZXIvc2NyaXB0
LWZvcm1hdHRlci1zZWFyY2guaHRtbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvZGVidWdnZXIvc2Ny
aXB0cy1maWxlLXNlbGVjdG9yLmh0bWw6CisgICAgICAgICogaW5zcGVjdG9yL2RlYnVnZ2VyL3Nj
cmlwdHMtcGFuZWwuaHRtbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvZGVidWdnZXIvc2NyaXB0cy1z
b3J0aW5nLmh0bWw6CisgICAgICAgICogaW5zcGVjdG9yL2RlYnVnZ2VyL3VpLXNvdXJjZS1jb2Rl
LWRpc3BsYXktbmFtZS5odG1sOgorICAgICAgICAqIGluc3BlY3Rvci9kZWJ1Z2dlci91aS1zb3Vy
Y2UtY29kZS5odG1sOgorICAgICAgICAqIGluc3BlY3Rvci91aXNvdXJjZWNvZGUtcmV2aXNpb25z
Lmh0bWw6CisKIDIwMTItMTAtMjQgIEJ5dW5nd29vIExlZSAgPGJ3ODAubGVlQHNhbXN1bmcuY29t
PgogCiAgICAgICAgIFtFRkxdIFVuc2tpcCBmYXN0L2V2ZW50cy90YWJpbmRleC1mb2N1cy1ibHVy
LWFsbC5odG1sLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
Y29tcGlsZXItc2NyaXB0LW1hcHBpbmcuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5z
cGVjdG9yL2NvbXBpbGVyLXNjcmlwdC1tYXBwaW5nLmh0bWwKaW5kZXggYThjMGIzMTA0YzkwNDc2
MTFjZTRhMDBhY2Y1MzNiZWY2ZTkxZmQ2Zi4uNTExMjZjYWJiMTk5ZDgzODdiMjJlZmQwMTQ3Yzk4
ZjI4NjRjY2Y2MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
Y29tcGlsZXItc2NyaXB0LW1hcHBpbmcuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9jb21waWxlci1zY3JpcHQtbWFwcGluZy5odG1sCkBAIC0yMDIsOCArMjAyLDcg
QEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgIGZ1bmN0aW9uIHRlc3RJbmxpbmVkU291cmNlTWFw
KG5leHQpCiAgICAgICAgIHsKICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1vZGVs
Ll9yZXNldCgpOwotICAgICAgICAgICAgdmFyIHdvcmtzcGFjZSA9IG5ldyBXZWJJbnNwZWN0b3Iu
V29ya3NwYWNlKCk7Ci0gICAgICAgICAgICB2YXIgbWFwcGluZyA9IG5ldyBXZWJJbnNwZWN0b3Iu
Q29tcGlsZXJTY3JpcHRNYXBwaW5nKHdvcmtzcGFjZSk7CisgICAgICAgICAgICB2YXIgbWFwcGlu
ZyA9IGNyZWF0ZUNvbXBpbGVyU2NyaXB0TWFwcGluZygpOwogICAgICAgICAgICAgdmFyIHNjcmlw
dCA9IEluc3BlY3RvclRlc3QuY3JlYXRlU2NyaXB0TW9jaygiaHR0cDovL2V4YW1wbGUuY29tL2Nv
bXBpbGVkLmpzIiwgMCwgMCwgdHJ1ZSwgIiIpOwogICAgICAgICAgICAgdmFyIHNvdXJjZU1hcCA9
IHsKICAgICAgICAgICAgICAgICAiZmlsZSI6ImNvbXBpbGVkLmpzIiwKQEAgLTIxMiw5ICsyMTEs
MTggQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgICAgICAgICAgInNvdXJjZXNDb250ZW50Ijpb
Ijxzb3VyY2UgY29udGVudD4iXQogICAgICAgICAgICAgfTsKICAgICAgICAgICAgIHNjcmlwdC5z
b3VyY2VNYXBVUkwgPSAiZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCwiICsgYnRvYShKU09O
LnN0cmluZ2lmeShzb3VyY2VNYXApKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3Qud2FpdEZv
cldvcmtzcGFjZVRlbXBvcmFyeVVJU291cmNlQ29kZUFkZGVkRXZlbnQob3JpZ2luYWxVSVNvdXJj
ZUNvZGVBZGRlZCk7CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIG9yaWdpbmFsVUlTb3VyY2VDb2Rl
QWRkZWQodWlTb3VyY2VDb2RlKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3Qud2FpdEZvcldvcmtzcGFjZVVJU291cmNlQ29kZUFkZGVkRXZlbnQoY29tcGlsZWRV
SVNvdXJjZUNvZGVBZGRlZCk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9u
IGNvbXBpbGVkVUlTb3VyY2VDb2RlQWRkZWQodWlTb3VyY2VDb2RlKSB7IH0KKyAgICAgICAgICAg
IAogICAgICAgICAgICAgbWFwcGluZy5hZGRTY3JpcHQoc2NyaXB0KTsKIAotICAgICAgICAgICAg
dmFyIHVpU291cmNlQ29kZSA9IHdvcmtzcGFjZS51aVNvdXJjZUNvZGVGb3JVUkwoInNvdXJjZS5q
cyIpOworICAgICAgICAgICAgdmFyIHVpU291cmNlQ29kZSA9IEluc3BlY3RvclRlc3QudGVzdFdv
cmtzcGFjZS51aVNvdXJjZUNvZGVGb3JVUkwoInNvdXJjZS5qcyIpOwogCiAgICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmNoZWNrVUlMb2NhdGlvbih1aVNvdXJjZUNvZGUsIDIsIDQsIG1hcHBpbmcu
cmF3TG9jYXRpb25Ub1VJTG9jYXRpb24oV2ViSW5zcGVjdG9yLmRlYnVnZ2VyTW9kZWwuY3JlYXRl
UmF3TG9jYXRpb24oc2NyaXB0LCAwLCAxOCkpKTsKICAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
Y2hlY2tSYXdMb2NhdGlvbihzY3JpcHQsIDAsIDE4LCBtYXBwaW5nLnVpTG9jYXRpb25Ub1Jhd0xv
Y2F0aW9uKHVpU291cmNlQ29kZSwgMiwgNCkpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL2RlYnVnZ2VyL2JyZWFrcG9pbnQtbWFuYWdlci5odG1sIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL2RlYnVnZ2VyL2JyZWFrcG9pbnQtbWFuYWdlci5odG1sCmluZGV4IDIwNzliZGQ0NDU5
MGQ0ZWZlNzZiMWE1NDVhNjI3NDg1MzhmYWUwOTQuLmQ0ZTUzYTRkZGQ2ODUyMDUzOGRhNTdlNjI0
MjNlNGI1M2QyNWE4ZjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dl
ci9icmVha3BvaW50LW1hbmFnZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVi
dWdnZXIvYnJlYWtwb2ludC1tYW5hZ2VyLmh0bWwKQEAgLTExMiw4ICsxMTIsNyBAQCBmdW5jdGlv
biB0ZXN0KCkKICAgICBXb3Jrc3BhY2VNb2NrLnByb3RvdHlwZSA9IHsKICAgICAgICAgX2FkZFVJ
U291cmNlQ29kZTogZnVuY3Rpb24odXJsKQogICAgICAgICB7Ci0gICAgICAgICAgICB2YXIgbW9j
a0NvbnRlbnRQcm92aWRlciA9IG5ldyBXZWJJbnNwZWN0b3IuU3RhdGljQ29udGVudFByb3ZpZGVy
KFdlYkluc3BlY3Rvci5yZXNvdXJjZVR5cGVzLlNjcmlwdCwgIiIpOwotICAgICAgICAgICAgdmFy
IHVpU291cmNlQ29kZSA9IG5ldyBXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlKHVybCwgbW9ja0Nv
bnRlbnRQcm92aWRlciwgZmFsc2UpOworICAgICAgICAgICAgdmFyIHVpU291cmNlQ29kZSA9IG5l
dyBXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlKHRoaXMsIHVybCwgV2ViSW5zcGVjdG9yLnJlc291
cmNlVHlwZXMuU2NyaXB0LCBmYWxzZSk7CiAgICAgICAgICAgICB1aVNvdXJjZUNvZGUuc2V0U291
cmNlTWFwcGluZyhkZWZhdWx0TWFwcGluZyk7CiAgICAgICAgICAgICB1aVNvdXJjZUNvZGVzW3Vy
bF0gPSB1aVNvdXJjZUNvZGU7CiAgICAgICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3Rl
bmVycyhXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlUHJvdmlkZXIuRXZlbnRzLlVJU291cmNlQ29k
ZUFkZGVkLCB1aVNvdXJjZUNvZGUpOwpAQCAtMTIyLDkgKzEyMSw4IEBAIGZ1bmN0aW9uIHRlc3Qo
KQogCiAgICAgICAgIF9hZGRUZW1wb3JhcnlVSVNvdXJjZUNvZGU6IGZ1bmN0aW9uKHVybCkKICAg
ICAgICAgewotICAgICAgICAgICAgdmFyIG1vY2tDb250ZW50UHJvdmlkZXIgPSBuZXcgV2ViSW5z
cGVjdG9yLlN0YXRpY0NvbnRlbnRQcm92aWRlcihXZWJJbnNwZWN0b3IucmVzb3VyY2VUeXBlcy5T
Y3JpcHQsICIiKTsKLSAgICAgICAgICAgIHZhciB1aVNvdXJjZUNvZGUgPSBuZXcgV2ViSW5zcGVj
dG9yLlVJU291cmNlQ29kZSh1cmwsIG1vY2tDb250ZW50UHJvdmlkZXIsIGZhbHNlKTsKLSAgICAg
ICAgICAgIHVpU291cmNlQ29kZS5xcSA9IDM0NTsKKyAgICAgICAgICAgIHZhciB1aVNvdXJjZUNv
ZGUgPSBuZXcgV2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZSh0aGlzLCB1cmwsIFdlYkluc3BlY3Rv
ci5yZXNvdXJjZVR5cGVzLlNjcmlwdCwgZmFsc2UpOworICAgICAgICAgICAgdWlTb3VyY2VDb2Rl
LmlzVGVtcG9yYXJ5ID0gdHJ1ZTsKICAgICAgICAgICAgIHVpU291cmNlQ29kZS5zZXRTb3VyY2VN
YXBwaW5nKGRlZmF1bHRNYXBwaW5nKTsKICAgICAgICAgICAgIHVpU291cmNlQ29kZXNbdXJsXSA9
IHVpU291cmNlQ29kZTsKICAgICAgICAgICAgIHRlbXBvcmFyeVVJU291cmNlQ29kZXNbdXJsXSA9
IHVpU291cmNlQ29kZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dl
ci9zY3JpcHQtZm9ybWF0dGVyLXNlYXJjaC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Rl
YnVnZ2VyL3NjcmlwdC1mb3JtYXR0ZXItc2VhcmNoLmh0bWwKaW5kZXggODllYWQ2OGRkOWY0YjY1
MWRiNmU0N2VjN2JhMjAwMjM0ZDQwMTVkYi4uNzY5ZGQ5MjIyY2MwOTE5NzI1ZDA3YjQxYjVhMjU5
NDNmZTY3Yzc2NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3Nj
cmlwdC1mb3JtYXR0ZXItc2VhcmNoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Rl
YnVnZ2VyL3NjcmlwdC1mb3JtYXR0ZXItc2VhcmNoLmh0bWwKQEAgLTIxLDcgKzIxLDcgQEAgdmFy
IHRlc3QgPSBmdW5jdGlvbigpCiAgICAgZnVuY3Rpb24gZGlkU2hvd1NjcmlwdFNvdXJjZShmcmFt
ZSkKICAgICB7CiAgICAgICAgIHNjcmlwdFNvdXJjZSA9IGZyYW1lLl91aVNvdXJjZUNvZGU7Ci0g
ICAgICAgIEluc3BlY3RvclRlc3QuYWRkU25pZmZlcihzY3JpcHRTb3VyY2UuX2NvbnRlbnRQcm92
aWRlciwgInJlcXVlc3RDb250ZW50IiwgcmVxdWVzdENvbnRlbnRTbmlmZmVyKTsKKyAgICAgICAg
SW5zcGVjdG9yVGVzdC5hZGRTbmlmZmVyKHNjcmlwdFNvdXJjZS5fd29ya3NwYWNlLCAicmVxdWVz
dEZpbGVDb250ZW50IiwgcmVxdWVzdENvbnRlbnRTbmlmZmVyKTsKICAgICAgICAgc2NyaXB0U291
cmNlLnNlYXJjaEluQ29udGVudCgibWFyZ2ljLXN0cmluZyIsIHRydWUsIGZhbHNlLCBkdW1wMSk7
CiAgICAgfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvc2Ny
aXB0cy1maWxlLXNlbGVjdG9yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIv
c2NyaXB0cy1maWxlLXNlbGVjdG9yLmh0bWwKaW5kZXggYzMwZjBmMGRlOTc4MzIwZmJhMWNjZWNk
NDlmM2ZiYzZjN2Q2MjQ1NC4uNmRjMjI4NGY4ZGNlZTgzZWRhNTFhN2E2MTA2NDllNDYzODZlYTBl
YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3NjcmlwdHMtZmls
ZS1zZWxlY3Rvci5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9zY3Jp
cHRzLWZpbGUtc2VsZWN0b3IuaHRtbApAQCAtMTIsMTYgKzEyLDkgQEAgZnVuY3Rpb24gdGVzdCgp
CiAgICAgV2ViSW5zcGVjdG9yLnNob3dQYW5lbCgic2NyaXB0cyIpOwogICAgIHZhciBuYXZpZ2F0
b3JGaWxlU2VsZWN0b3IgPSBuZXcgV2ViSW5zcGVjdG9yLlNjcmlwdHNOYXZpZ2F0b3IoKTsKIAot
ICAgIHZhciBjb250ZW50UHJvdmlkZXIgPSB7Ci0gICAgICAgIGNvbnRlbnRUeXBlOiBmdW5jdGlv
bigpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBXZWJJbnNwZWN0b3IucmVzb3VyY2VU
eXBlcy5TY3JpcHQ7Ci0gICAgICAgIH0KLSAgICB9Ci0KICAgICBmdW5jdGlvbiBhZGRVSVNvdXJj
ZUNvZGUodXJsLCBpc0NvbnRlbnRTY3JpcHQpCiAgICAgewotICAgICAgICB2YXIgdWlTb3VyY2VD
b2RlID0gbmV3IFdlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGUodXJsLCBjb250ZW50UHJvdmlkZXIs
IG51bGwpOworICAgICAgICB2YXIgdWlTb3VyY2VDb2RlID0gbmV3IFdlYkluc3BlY3Rvci5VSVNv
dXJjZUNvZGUoV2ViSW5zcGVjdG9yLndvcmtzcGFjZSwgdXJsLCBXZWJJbnNwZWN0b3IucmVzb3Vy
Y2VUeXBlcy5TY3JpcHQsIG51bGwpOwogICAgICAgICB1aVNvdXJjZUNvZGUuaXNDb250ZW50U2Ny
aXB0ID0gaXNDb250ZW50U2NyaXB0OwogICAgICAgICBuYXZpZ2F0b3JGaWxlU2VsZWN0b3IuYWRk
VUlTb3VyY2VDb2RlKHVpU291cmNlQ29kZSk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3NjcmlwdHMtcGFuZWwuaHRtbCBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9kZWJ1Z2dlci9zY3JpcHRzLXBhbmVsLmh0bWwKaW5kZXggMTRjYzBiNWMzZDg5NzQ3
N2NmMjM1Mzk0ZDI3N2M5YjM2YWIwODBmNi4uYWNmNzBjZDZiZTZhMDQ3YTY3OGU2NjUxNjYyOWQx
YzZkNjg5YzQ0MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3Nj
cmlwdHMtcGFuZWwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvc2Ny
aXB0cy1wYW5lbC5odG1sCkBAIC0xNiwxNyArMTYsMTUgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAg
fTsKIAogICAgIHZhciBjb250ZW50UHJvdmlkZXIgPSBuZXcgV2ViSW5zcGVjdG9yLlN0YXRpY0Nv
bnRlbnRQcm92aWRlcihXZWJJbnNwZWN0b3IucmVzb3VyY2VUeXBlcy5TY3JpcHQsICIiLCAidGV4
dC9qYXZhc2NyaXB0Iik7Ci0gICAgSW5zcGVjdG9yVGVzdC5hZGRTbmlmZmVyKFdlYkluc3BlY3Rv
ci5VSVNvdXJjZUNvZGUucHJvdG90eXBlLCAicmVxdWVzdENvbnRlbnQiLCByZXF1ZXN0Q29udGVu
dFNuaWZmZXIsIHRydWUpCi0gICAgCi0gICAgZnVuY3Rpb24gcmVxdWVzdENvbnRlbnRTbmlmZmVy
KGNhbGxiYWNrKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlNvdXJj
ZSByZXF1ZXN0ZWQgZm9yICIgKyB0aGlzLnVybCk7Ci0gICAgICAgIGNhbGxiYWNrKCIiKTsKLSAg
ICB9CiAKICAgICBmdW5jdGlvbiBjcmVhdGVNb2NrV29ya3NwYWNlKCkKICAgICB7CiAgICAgICAg
IHZhciB3b3Jrc3BhY2UgPSBuZXcgV2ViSW5zcGVjdG9yLldvcmtzcGFjZSgpOworICAgICAgICB3
b3Jrc3BhY2UucmVxdWVzdEZpbGVDb250ZW50ID0gZnVuY3Rpb24odWlTb3VyY2VDb2RlLCBjYWxs
YmFjaykKKyAgICAgICAgeworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlNv
dXJjZSByZXF1ZXN0ZWQgZm9yICIgKyB1aVNvdXJjZUNvZGUudXJsKTsKKyAgICAgICAgICAgIGNh
bGxiYWNrKCIiKTsKKyAgICAgICAgfTsKICAgICAgICAgcmV0dXJuIHdvcmtzcGFjZTsKICAgICB9
CiAKQEAgLTM0LDcgKzMyLDcgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgIGZ1bmN0aW9uIHRl
c3RJbml0aWFsTG9hZChuZXh0KQogICAgICAgICB7CiAgICAgICAgICAgICB2YXIgd29ya3NwYWNl
ID0gY3JlYXRlTW9ja1dvcmtzcGFjZSgpOwotICAgICAgICAgICAgCisKICAgICAgICAgICAgIHdv
cmtzcGFjZS5wcm9qZWN0KCkuYWRkVUlTb3VyY2VDb2RlKCJmb29iYXIuanMiLCBjb250ZW50UHJv
dmlkZXIsIGZhbHNlKTsKIAogICAgICAgICAgICAgdmFyIHBhbmVsID0gbmV3IFdlYkluc3BlY3Rv
ci5TY3JpcHRzUGFuZWwod29ya3NwYWNlKTsKQEAgLTQzLDcgKzQxLDYgQEAgZnVuY3Rpb24gdGVz
dCgpCiAgICAgICAgICAgICB3b3Jrc3BhY2UucHJvamVjdCgpLmFkZFVJU291cmNlQ29kZSgiZm9v
LmpzIiwgY29udGVudFByb3ZpZGVyLCBmYWxzZSk7CiAgICAgICAgICAgICB3b3Jrc3BhY2UucHJv
amVjdCgpLmFkZFVJU291cmNlQ29kZSgiYmFyLmpzIiwgY29udGVudFByb3ZpZGVyLCBmYWxzZSk7
CiAgICAgICAgICAgICB3b3Jrc3BhY2UucHJvamVjdCgpLmFkZFVJU291cmNlQ29kZSgiYmF6Lmpz
IiwgY29udGVudFByb3ZpZGVyLCBmYWxzZSk7Ci0gICAgICAgICAgICAKIAogICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5kdW1wU2NyaXB0c05hdmlnYXRvcihwYW5lbC5fbmF2aWdhdG9yKTsKIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3NjcmlwdHMtc29ydGlu
Zy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3NjcmlwdHMtc29ydGluZy5o
dG1sCmluZGV4IGUzZmY0MzcwNDZjZTBkOTIxZDE0Mjc5YzUzOGZkNTExMjE1OTE4M2UuLjJhMWM0
YzE1MTVhNWZjYmJlOGY1NzRlNmIzNTkxMmNhYWYyNjAzMjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9zY3JpcHRzLXNvcnRpbmcuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvc2NyaXB0cy1zb3J0aW5nLmh0bWwKQEAgLTEyLDE2ICsx
Miw5IEBAIGZ1bmN0aW9uIHRlc3QoKQogCiAgICAgdmFyIG5hdmlnYXRvckZpbGVTZWxlY3RvciA9
IG5ldyBXZWJJbnNwZWN0b3IuU2NyaXB0c05hdmlnYXRvcigpOwogCi0gICAgdmFyIGNvbnRlbnRQ
cm92aWRlciA9IHsKLSAgICAgICAgY29udGVudFR5cGU6IGZ1bmN0aW9uKCkKLSAgICAgICAgewot
ICAgICAgICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5yZXNvdXJjZVR5cGVzLlNjcmlwdDsKLSAg
ICAgICAgfQotICAgIH0KLQogICAgIGZ1bmN0aW9uIGFkZFVJU291cmNlQ29kZSh1cmwsIGlzQ29u
dGVudFNjcmlwdCkKICAgICB7Ci0gICAgICAgIHZhciB1aVNvdXJjZUNvZGUgPSBuZXcgV2ViSW5z
cGVjdG9yLlVJU291cmNlQ29kZSh1cmwsIGNvbnRlbnRQcm92aWRlciwgbnVsbCk7CisgICAgICAg
IHZhciB1aVNvdXJjZUNvZGUgPSBuZXcgV2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZShXZWJJbnNw
ZWN0b3Iud29ya3NwYWNlLCB1cmwsIFdlYkluc3BlY3Rvci5yZXNvdXJjZVR5cGVzLlNjcmlwdCwg
bnVsbCk7CiAgICAgICAgIHVpU291cmNlQ29kZS5pc0NvbnRlbnRTY3JpcHQgPSBpc0NvbnRlbnRT
Y3JpcHQ7CiAgICAgICAgIG5hdmlnYXRvckZpbGVTZWxlY3Rvci5hZGRVSVNvdXJjZUNvZGUodWlT
b3VyY2VDb2RlKTsKICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVi
dWdnZXIvdWktc291cmNlLWNvZGUtZGlzcGxheS1uYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvZGVidWdnZXIvdWktc291cmNlLWNvZGUtZGlzcGxheS1uYW1lLmh0bWwKaW5kZXggNTU0
ZmUzMDY2MTI1Nzg4YmVlNmI4ODk0ZmE2NzI1OGYxZGQ1OWE0Zi4uZjE2MjVkYWJlYzc4YzY5MDcw
N2NjM2JmZGVkZDY1Y2JkOWIzZjkxZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2RlYnVnZ2VyL3VpLXNvdXJjZS1jb2RlLWRpc3BsYXktbmFtZS5odG1sCisrKyBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci9kZWJ1Z2dlci91aS1zb3VyY2UtY29kZS1kaXNwbGF5LW5hbWUuaHRtbApA
QCAtNyw3ICs3LDcgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgV2ViSW5zcGVjdG9yLnNob3dQYW5l
bCgic2NyaXB0cyIpOwogICAgIGZ1bmN0aW9uIGR1bXBVSVNvdXJjZUNvZGVEaXNwbGF5TmFtZSh1
cmwpCiAgICAgewotICAgICAgICB2YXIgdWlTb3VyY2VDb2RlID0gbmV3IFdlYkluc3BlY3Rvci5V
SVNvdXJjZUNvZGUodXJsLCBudWxsKTsKKyAgICAgICAgdmFyIHVpU291cmNlQ29kZSA9IG5ldyBX
ZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlKFdlYkluc3BlY3Rvci53b3Jrc3BhY2UsIHVybCwgbnVs
bCk7CiAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJVSVNvdXJjZUNvZGUgZGlzcGxh
eSBuYW1lIGZvciB1cmwgXCIiICsgdXJsICsgIlwiIGlzIFwiIiArIFdlYkluc3BlY3Rvci5UYWJi
ZWRFZGl0b3JDb250YWluZXIucHJvdG90eXBlLl90aXRsZUZvckZpbGUodWlTb3VyY2VDb2RlKSAr
ICJcIi4iKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1
Z2dlci91aS1zb3VyY2UtY29kZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2Vy
L3VpLXNvdXJjZS1jb2RlLmh0bWwKaW5kZXggMGU5MjkzZDE4MDYyMjIyZjMwY2Y3ZjY2ZWU5OWMx
MTdiNWY4OGI4Ny4uMmE1NDViMzFkZDFhN2Y0ODRmOTgwZGNiZGU2MmQ2MTk5NGJhNWQxYiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3VpLXNvdXJjZS1jb2RlLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3VpLXNvdXJjZS1jb2RlLmh0
bWwKQEAgLTYsMTggKzYsMTUgQEAKIAogZnVuY3Rpb24gdGVzdCgpCiB7Ci0gICAgdmFyIGNvbnRl
bnRQcm92aWRlciA9IHsKLSAgICAgICAgcmVxdWVzdENvbnRlbnQ6IGZ1bmN0aW9uKGNhbGxiYWNr
KQotICAgICAgICB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiQ29udGVu
dCBpcyByZXF1ZXN0ZWQgZnJvbSBTb3VyY2VDb2RlUHJvdmlkZXIuIik7Ci0gICAgICAgICAgICBz
ZXRUaW1lb3V0KGNhbGxiYWNrLmJpbmQobnVsbCwgInZhciB4ID0gMDsiLCBmYWxzZSwgInRleHQv
amF2YXNjcmlwdCIpLCAwKTsKLSAgICAgICAgfQotICAgIH07Ci0KICAgICBJbnNwZWN0b3JUZXN0
LnJ1blRlc3RTdWl0ZShbCiAgICAgICAgIGZ1bmN0aW9uIHRlc3RVSVNvdXJjZUNvZGUobmV4dCkK
ICAgICAgICAgewotICAgICAgICAgICAgdmFyIHVpU291cmNlQ29kZSA9IG5ldyBXZWJJbnNwZWN0
b3IuVUlTb3VyY2VDb2RlKCJ1cmwiLCBjb250ZW50UHJvdmlkZXIpOworICAgICAgICAgICAgdmFy
IHVpU291cmNlQ29kZSA9IG5ldyBXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlKFdlYkluc3BlY3Rv
ci53b3Jrc3BhY2UsICJ1cmwiLCBXZWJJbnNwZWN0b3IucmVzb3VyY2VUeXBlcy5TY3JpcHQsIHRy
dWUpOworICAgICAgICAgICAgV2ViSW5zcGVjdG9yLndvcmtzcGFjZS5yZXF1ZXN0RmlsZUNvbnRl
bnQgPSBmdW5jdGlvbihwYXRoLCBjYWxsYmFjaykKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiQ29udGVudCBpcyByZXF1ZXN0ZWQgZnJvbSBT
b3VyY2VDb2RlUHJvdmlkZXIuIik7CisgICAgICAgICAgICAgICAgc2V0VGltZW91dChjYWxsYmFj
ay5iaW5kKG51bGwsICJ2YXIgeCA9IDA7IiwgZmFsc2UsICJ0ZXh0L2phdmFzY3JpcHQiKSwgMCk7
CisgICAgICAgICAgICB9CiAgICAgICAgICAgICBmdW5jdGlvbiBkaWRSZXF1ZXN0Q29udGVudChj
YWxsTnVtYmVyLCBjb250ZW50LCBjb250ZW50RW5jb2RlZCwgbWltZVR5cGUpCiAgICAgICAgICAg
ICB7CiAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkNhbGxiYWNrICIg
KyBjYWxsTnVtYmVyICsgIiBpcyBpbnZva2VkLiIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL3Vpc291cmNlY29kZS1yZXZpc2lvbnMuaHRtbCBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci91aXNvdXJjZWNvZGUtcmV2aXNpb25zLmh0bWwKaW5kZXggNGRjZTU1MzFjYjdhM2Q2YjYw
NGFmNmFlZGNiMzcyZjhjMDJhYjJlYS4uNzQ5MmRlNjgxMzNkOTNjYzZkYmY2ZDBkMjVmM2IwMTZh
MjA1YmIwMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Vpc291cmNlY29kZS1y
ZXZpc2lvbnMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdWlzb3VyY2Vjb2RlLXJl
dmlzaW9ucy5odG1sCkBAIC00LDE1ICs0LDE4IEBACiA8c2NyaXB0PgogZnVuY3Rpb24gdGVzdCgp
CiB7Ci0gc2V0VGltZW91dChJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdC5iaW5kKEluc3BlY3Rv
clRlc3QpLCAzMDAwKTsKICAgICBXZWJJbnNwZWN0b3Iuc2hvd1BhbmVsKCJzY3JpcHRzIik7CiAK
LSAgICBmdW5jdGlvbiBjcmVhdGVNb2NrQ29udGVudFByb3ZpZGVyKCkKKyAgICBmdW5jdGlvbiBj
cmVhdGVNb2NrV29ya3NwYWNlKCkKICAgICB7Ci0gICAgICAgIHZhciBjb250ZW50UHJvdmlkZXIg
PSBuZXcgV2ViSW5zcGVjdG9yLlN0YXRpY0NvbnRlbnRQcm92aWRlcihXZWJJbnNwZWN0b3IucmVz
b3VyY2VUeXBlcy5TY3JpcHQsICI8c2NyaXB0IGNvbnRlbnQ+IiwgInRleHQvamF2YXNjcmlwdCIp
OwotICAgICAgICByZXR1cm4gY29udGVudFByb3ZpZGVyOworICAgICAgICB2YXIgd29ya3NwYWNl
ID0gbmV3IFdlYkluc3BlY3Rvci5Xb3Jrc3BhY2UoKTsKKyAgICAgICAgd29ya3NwYWNlLnJlcXVl
c3RGaWxlQ29udGVudCA9IGZ1bmN0aW9uKHBhdGgsIGNhbGxiYWNrKQorICAgICAgICB7CisgICAg
ICAgICAgICBjYWxsYmFjaygiPHNjcmlwdCBjb250ZW50PiIsIGZhbHNlLCAidGV4dC9qYXZhc2Ny
aXB0Iik7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIHdvcmtzcGFjZTsKICAgICB9Ci0KKyAK
ICAgICBmdW5jdGlvbiBkdW1wVUlTb3VyY2VDb2RlV2l0aFJldmlzaW9ucyh1aVNvdXJjZUNvZGUp
CiAgICAgewogICAgICAgICB2YXIgY29udGVudCA9IHVpU291cmNlQ29kZS5fY29udGVudDsKQEAg
LTMwLDcgKzMzLDcgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgSW5zcGVjdG9yVGVzdC5ydW5UZXN0
U3VpdGUoWwogICAgICAgICBmdW5jdGlvbiB0ZXN0QWRkUmV2aXNpb25zUmV2ZXJ0VG9PcmlnaW5h
bChuZXh0KQogICAgICAgICB7Ci0gICAgICAgICAgICB2YXIgdWlTb3VyY2VDb2RlID0gbmV3IFdl
Ykluc3BlY3Rvci5VSVNvdXJjZUNvZGUoInVybCIsIGNyZWF0ZU1vY2tDb250ZW50UHJvdmlkZXIo
KSk7CisgICAgICAgICAgICB2YXIgdWlTb3VyY2VDb2RlID0gbmV3IFdlYkluc3BlY3Rvci5VSVNv
dXJjZUNvZGUoY3JlYXRlTW9ja1dvcmtzcGFjZSgpLCAidXJsIiwgV2ViSW5zcGVjdG9yLnJlc291
cmNlVHlwZXMuU2NyaXB0KTsKICAgICAgICAgICAgIHVpU291cmNlQ29kZS5zZXRXb3JraW5nQ29w
eSgiY29udGVudDEiKTsKICAgICAgICAgICAgIHVpU291cmNlQ29kZS5zZXRXb3JraW5nQ29weSgi
Y29udGVudDIiKTsKICAgICAgICAgICAgIHVpU291cmNlQ29kZS5jb21taXRXb3JraW5nQ29weShm
dW5jdGlvbigpIHsgfSk7CkBAIC01MSw3ICs1NCw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogCiAgICAg
ICAgIGZ1bmN0aW9uIHRlc3RBZGRSZXZpc2lvbnNSZXZlcnRBbmRDbGVhckhpc3RvcnkobmV4dCkK
ICAgICAgICAgewotICAgICAgICAgICAgdmFyIHVpU291cmNlQ29kZSA9IG5ldyBXZWJJbnNwZWN0
b3IuVUlTb3VyY2VDb2RlKCJ1cmwyIiwgY3JlYXRlTW9ja0NvbnRlbnRQcm92aWRlcigpKTsKKyAg
ICAgICAgICAgIHZhciB1aVNvdXJjZUNvZGUgPSBuZXcgV2ViSW5zcGVjdG9yLlVJU291cmNlQ29k
ZShjcmVhdGVNb2NrV29ya3NwYWNlKCksICJ1cmwyIiwgV2ViSW5zcGVjdG9yLnJlc291cmNlVHlw
ZXMuU2NyaXB0KTsKIAogICAgICAgICAgICAgdWlTb3VyY2VDb2RlLnNldFdvcmtpbmdDb3B5KCJj
b250ZW50MSIpOwogICAgICAgICAgICAgdWlTb3VyY2VDb2RlLnNldFdvcmtpbmdDb3B5KCJjb250
ZW50MiIpOwpAQCAtNzcsNyArODAsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIAogICAgICAgICBmdW5j
dGlvbiB0ZXN0QWRkUmV2aXNpb25zUmV2ZXJ0VG9QcmV2aW91cyhuZXh0KQogICAgICAgICB7Ci0g
ICAgICAgICAgICB2YXIgdWlTb3VyY2VDb2RlID0gbmV3IFdlYkluc3BlY3Rvci5VSVNvdXJjZUNv
ZGUoInVybDMiLCBjcmVhdGVNb2NrQ29udGVudFByb3ZpZGVyKCkpOworICAgICAgICAgICAgdmFy
IHVpU291cmNlQ29kZSA9IG5ldyBXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlKGNyZWF0ZU1vY2tX
b3Jrc3BhY2UoKSwgInVybDMiLCBXZWJJbnNwZWN0b3IucmVzb3VyY2VUeXBlcy5TY3JpcHQpOwog
CiAgICAgICAgICAgICB1aVNvdXJjZUNvZGUuc2V0V29ya2luZ0NvcHkoImNvbnRlbnQxIik7CiAg
ICAgICAgICAgICB1aVNvdXJjZUNvZGUuc2V0V29ya2luZ0NvcHkoImNvbnRlbnQyIik7CkBAIC05
OSw3ICsxMDIsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIAogICAgICAgICBmdW5jdGlvbiB0ZXN0UmVx
dWVzdENvbnRlbnRBZGRSZXZpc2lvbnNSZXZlcnRUb09yaWdpbmFsKG5leHQpCiAgICAgICAgIHsK
LSAgICAgICAgICAgIHZhciB1aVNvdXJjZUNvZGUgPSBuZXcgV2ViSW5zcGVjdG9yLlVJU291cmNl
Q29kZSgidXJsNCIsIGNyZWF0ZU1vY2tDb250ZW50UHJvdmlkZXIoKSk7CisgICAgICAgICAgICB2
YXIgdWlTb3VyY2VDb2RlID0gbmV3IFdlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGUoY3JlYXRlTW9j
a1dvcmtzcGFjZSgpLCAidXJsNCIsIFdlYkluc3BlY3Rvci5yZXNvdXJjZVR5cGVzLlNjcmlwdCk7
CiAgICAgICAgICAgICB1aVNvdXJjZUNvZGUucmVxdWVzdENvbnRlbnQoY29udGVudFJlY2VpdmVk
KTsKIAogICAgICAgICAgICAgZnVuY3Rpb24gY29udGVudFJlY2VpdmVkKCkKQEAgLTEyNyw3ICsx
MzAsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIAogICAgICAgICBmdW5jdGlvbiB0ZXN0UmVxdWVzdENv
bnRlbnRBZGRSZXZpc2lvbnNSZXZlcnRBbmRDbGVhckhpc3RvcnkobmV4dCkKICAgICAgICAgewot
ICAgICAgICAgICAgdmFyIHVpU291cmNlQ29kZSA9IG5ldyBXZWJJbnNwZWN0b3IuVUlTb3VyY2VD
b2RlKCJ1cmw1IiwgY3JlYXRlTW9ja0NvbnRlbnRQcm92aWRlcigpKTsKKyAgICAgICAgICAgIHZh
ciB1aVNvdXJjZUNvZGUgPSBuZXcgV2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZShjcmVhdGVNb2Nr
V29ya3NwYWNlKCksICJ1cmw1IiwgV2ViSW5zcGVjdG9yLnJlc291cmNlVHlwZXMuU2NyaXB0KTsK
ICAgICAgICAgICAgIHVpU291cmNlQ29kZS5yZXF1ZXN0Q29udGVudChjb250ZW50UmVjZWl2ZWQp
OwogCiAgICAgICAgICAgICBmdW5jdGlvbiBjb250ZW50UmVjZWl2ZWQoKQpAQCAtMTU5LDcgKzE2
Miw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogCiAgICAgICAgIGZ1bmN0aW9uIHRlc3RSZXF1ZXN0Q29u
dGVudEFkZFJldmlzaW9uc1JldmVydFRvUHJldmlvdXMobmV4dCkKICAgICAgICAgewotICAgICAg
ICAgICAgdmFyIHVpU291cmNlQ29kZSA9IG5ldyBXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlKCJ1
cmw2IiwgY3JlYXRlTW9ja0NvbnRlbnRQcm92aWRlcigpKTsKKyAgICAgICAgICAgIHZhciB1aVNv
dXJjZUNvZGUgPSBuZXcgV2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZShjcmVhdGVNb2NrV29ya3Nw
YWNlKCksICJ1cmw2IiwgV2ViSW5zcGVjdG9yLnJlc291cmNlVHlwZXMuU2NyaXB0KTsKICAgICAg
ICAgICAgIHVpU291cmNlQ29kZS5yZXF1ZXN0Q29udGVudChjb250ZW50UmVjZWl2ZWQpOwogCiAg
ICAgICAgICAgICBmdW5jdGlvbiBjb250ZW50UmVjZWl2ZWQoKQo=
</data>
<flag name="review"
          id="183924"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>