<?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>77962</bug_id>
          
          <creation_ts>2012-02-07 04:09:47 -0800</creation_ts>
          <short_desc>Web Inspector: Update protocol and UI to follow bug 77204 (Kill per-Attribute style declarations)</short_desc>
          <delta_ts>2012-02-09 04:41:57 -0800</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="Alexander Pavlov (apavlov)">apavlov</reporter>
          <assigned_to name="Alexander Pavlov (apavlov)">apavlov</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>550820</commentid>
    <comment_count>0</comment_count>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-02-07 04:09:47 -0800</bug_when>
    <thetext>Patch to follow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>552190</commentid>
    <comment_count>1</comment_count>
      <attachid>126099</attachid>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-02-08 09:11:44 -0800</bug_when>
    <thetext>Created attachment 126099
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>552961</commentid>
    <comment_count>2</comment_count>
      <attachid>126259</attachid>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-02-09 01:40:51 -0800</bug_when>
    <thetext>Created attachment 126259
[PATCH] localizedString.js message added</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>553063</commentid>
    <comment_count>3</comment_count>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-02-09 04:41:57 -0800</bug_when>
    <thetext>Committed r107220: &lt;http://trac.webkit.org/changeset/107220&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>126099</attachid>
            <date>2012-02-08 09:11:44 -0800</date>
            <delta_ts>2012-02-09 01:40:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-77962-20120208211141.patch</filename>
            <type>text/plain</type>
            <size>18411</size>
            <attacher name="Alexander Pavlov (apavlov)">apavlov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA3MDkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDViOGQ0YTkxMjNhYTY5
MWU5NWUzMmYxNzc0YzlhMzNlNTg2YTYxYy4uY2RkMmJkNDIyNzJmZTM5MmU2ZmU5YjQ1YjliNTM2
ZjY0NjBhMDFhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEyLTAyLTA4ICBBbGV4
YW5kZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3Bl
Y3RvcjogVXBkYXRlIHByb3RvY29sIGFuZCBVSSB0byBmb2xsb3cgYnVnIDc3MjA0IChLaWxsIHBl
ci1BdHRyaWJ1dGUgc3R5bGUgZGVjbGFyYXRpb25zKQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc5NjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3IuanNvbjoKKyAgICAg
ICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SW5zcGVjdG9yQ1NTQWdlbnQ6OmdldElubGluZVN0eWxlc0Zvck5vZGUpOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9yQ1NTQWdlbnQ6OmJ1aWxkT2JqZWN0Rm9yQXR0cmlidXRlc1N0eWxlKToK
KyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuaDoKKyAgICAgICAgKEluc3Bl
Y3RvckNTU0FnZW50KToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0F1ZGl0UnVsZXMu
anM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQXVkaXRSdWxlcy5JbWFnZURpbWVuc2lvbnNSdWxl
LnByb3RvdHlwZS5kb1J1bik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQXVkaXRSdWxlcy5JbWFn
ZURpbWVuc2lvbnNSdWxlLnByb3RvdHlwZS5kb1J1bi5nZXRTdHlsZXMpOgorICAgICAgICAqIGlu
c3BlY3Rvci9mcm9udC1lbmQvQ1NTU3R5bGVNb2RlbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5DU1NTdHlsZU1vZGVsLnByb3RvdHlwZS5nZXRJbmxpbmVTdHlsZXNBc3luYyk6CisgICAgICAg
ICogaW5zcGVjdG9yL2Zyb250LWVuZC9TdHlsZXNTaWRlYmFyUGFuZS5qczoKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5TdHlsZXNTaWRlYmFyUGFuZS5wcm90b3R5cGUuX2V4ZWN1dGVSZWJ1aWxkVXBk
YXRlLmlubGluZUNhbGxiYWNrKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TdHlsZXNTaWRlYmFy
UGFuZS5wcm90b3R5cGUuX3JlYnVpbGRTdHlsZVJ1bGVzKToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5TdHlsZXNTaWRlYmFyUGFuZS5wcm90b3R5cGUuX3JlYnVpbGRTdHlsZVJ1bGVzLmdldCBjb250
aW51ZSk6CisKIDIwMTItMDItMDggIFBldGVyIFJ5YmluICA8cGV0ZXIucnliaW5AZ21haWwuY29t
PgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IE9wdGlvbmFsIG91dCBhcmd1bWVudHMgYXJlIG5v
dCBzdXBwb3J0ZWQgaW4gdGhlIFdlYiBJbnNwZWN0b3IgcHJvdG9jb2wsIHdoaWNoIGJyZWFrcyB0
aGUgaW1wbGVtZW50YXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3IuanNvbiBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgpp
bmRleCA5MjYzOWQ1N2VhYjI3ZjUzN2RhZDA2YjEzMzg1MzgxYmMzOWEzNjI4Li5mZmQyMmRlMjFk
YjY4ZDhiMjU3MWUxMzMzY2EzZDljZGZiNDY5OTJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3Rvci5qc29uCkBAIC0xODAyLDcgKzE4MDIsNyBAQAogICAgICAgICAgICAgICAgIF0s
CiAgICAgICAgICAgICAgICAgInJldHVybnMiOiBbCiAgICAgICAgICAgICAgICAgICAgIHsgIm5h
bWUiOiAiaW5saW5lU3R5bGUiLCAiJHJlZiI6ICJDU1NTdHlsZSIsICJvcHRpb25hbCI6IHRydWUs
ICJkZXNjcmlwdGlvbiI6ICJJbmxpbmUgc3R5bGUgZm9yIHRoZSBzcGVjaWZpZWQgRE9NIG5vZGUu
IiB9LAotICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInN0eWxlQXR0cmlidXRlcyIsICJ0
eXBlIjogImFycmF5IiwgIml0ZW1zIjogeyAiJHJlZiI6ICJDU1NTdHlsZUF0dHJpYnV0ZSIgfSwg
Im9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIkVudHJpZXMgZm9yIHN0eWxlLXJlbGF0
ZWQgZWxlbWVudCBhdHRyaWJ1dGVzIChlLmcuIHdpZHRoPTIwKS4ifQorICAgICAgICAgICAgICAg
ICAgICB7ICJuYW1lIjogImF0dHJpYnV0ZXNTdHlsZSIsICIkcmVmIjogIkNTU1N0eWxlIiwgIm9w
dGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIkF0dHJpYnV0ZS1kZWZpbmVkIGVsZW1lbnQg
c3R5bGUgKGUuZy4gcmVzdWx0aW5nIGZyb20gXCJ3aWR0aD0yMCBoZWlnaHQ9MTAwJVwiKS4ifQog
ICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlJldHVy
bnMgdGhlIHN0eWxlcyBkZWZpbmVkIGlubGluZSAoZXhwbGljaXRseSBpbiB0aGUgXCJzdHlsZVwi
IGF0dHJpYnV0ZSBhbmQgaW1wbGljaXRseSwgdXNpbmcgRE9NIGF0dHJpYnV0ZXMpIGZvciBhIERP
TSBub2RlIGlkZW50aWZpZWQgYnkgPGNvZGU+bm9kZUlkPC9jb2RlPi4iCiAgICAgICAgICAgICB9
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5jcHAKaW5k
ZXggNGU0MmFjNDQwMWY0MmNjOGU0N2ZhOTI1NmM3ZWNiYzY0NzJkMmYxMy4uMDVkMjJiZDA2YzU1
MDg4NDI3ZGMyNDI4MDczNmFhYzk4Y2IxYTg4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuY3BwCkBAIC01MzYsNyArNTM2LDcgQEAgdm9pZCBJbnNw
ZWN0b3JDU1NBZ2VudDo6Z2V0TWF0Y2hlZFN0eWxlc0Zvck5vZGUoRXJyb3JTdHJpbmcqIGVycm9y
U3RyaW5nLCBpbnQgbm8KICAgICB9CiB9CiAKLXZvaWQgSW5zcGVjdG9yQ1NTQWdlbnQ6OmdldElu
bGluZVN0eWxlc0Zvck5vZGUoRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBpbnQgbm9kZUlkLCBS
ZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiYgaW5saW5lU3R5bGUsIFJlZlB0cjxJbnNwZWN0b3JBcnJh
eT4mIGF0dHJpYnV0ZXMpCit2b2lkIEluc3BlY3RvckNTU0FnZW50OjpnZXRJbmxpbmVTdHlsZXNG
b3JOb2RlKEVycm9yU3RyaW5nKiBlcnJvclN0cmluZywgaW50IG5vZGVJZCwgUmVmUHRyPEluc3Bl
Y3Rvck9iamVjdD4mIGlubGluZVN0eWxlLCBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiYgYXR0cmli
dXRlc1N0eWxlKQogewogICAgIEVsZW1lbnQqIGVsZW1lbnQgPSBlbGVtZW50Rm9ySWQoZXJyb3JT
dHJpbmcsIG5vZGVJZCk7CiAgICAgaWYgKCFlbGVtZW50KQpAQCAtNTQ3LDcgKzU0Nyw4IEBAIHZv
aWQgSW5zcGVjdG9yQ1NTQWdlbnQ6OmdldElubGluZVN0eWxlc0Zvck5vZGUoRXJyb3JTdHJpbmcq
IGVycm9yU3RyaW5nLCBpbnQgbm9kCiAgICAgICAgIHJldHVybjsKIAogICAgIGlubGluZVN0eWxl
ID0gc3R5bGVTaGVldC0+YnVpbGRPYmplY3RGb3JTdHlsZShlbGVtZW50LT5zdHlsZSgpKTsKLSAg
ICBhdHRyaWJ1dGVzID0gYnVpbGRBcnJheUZvckF0dHJpYnV0ZVN0eWxlcyhlbGVtZW50KTsKKyAg
ICBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBhdHRyaWJ1dGVzID0gYnVpbGRPYmplY3RGb3JBdHRy
aWJ1dGVzU3R5bGUoZWxlbWVudCk7CisgICAgYXR0cmlidXRlc1N0eWxlID0gYXR0cmlidXRlcyA/
IGF0dHJpYnV0ZXMucmVsZWFzZSgpIDogMDsKIH0KIAogdm9pZCBJbnNwZWN0b3JDU1NBZ2VudDo6
Z2V0Q29tcHV0ZWRTdHlsZUZvck5vZGUoRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBpbnQgbm9k
ZUlkLCBjb25zdCBSZWZQdHI8SW5zcGVjdG9yQXJyYXk+KiBmb3JjZWRQc2V1ZG9DbGFzc2VzLCBS
ZWZQdHI8SW5zcGVjdG9yQXJyYXk+JiBzdHlsZSkKQEAgLTg2MiwyNiArODYzLDE3IEBAIFBhc3NS
ZWZQdHI8SW5zcGVjdG9yQXJyYXk+IEluc3BlY3RvckNTU0FnZW50OjpidWlsZEFycmF5Rm9yUnVs
ZUxpc3QoQ1NTUnVsZUxpc3QqCiAgICAgcmV0dXJuIHJlc3VsdC5yZWxlYXNlKCk7CiB9CiAKLVBh
c3NSZWZQdHI8SW5zcGVjdG9yQXJyYXk+IEluc3BlY3RvckNTU0FnZW50OjpidWlsZEFycmF5Rm9y
QXR0cmlidXRlU3R5bGVzKEVsZW1lbnQqIGVsZW1lbnQpCitQYXNzUmVmUHRyPEluc3BlY3Rvck9i
amVjdD4gSW5zcGVjdG9yQ1NTQWdlbnQ6OmJ1aWxkT2JqZWN0Rm9yQXR0cmlidXRlc1N0eWxlKEVs
ZW1lbnQqIGVsZW1lbnQpCiB7Ci0gICAgLy8gRklYTUU6IFNpbmNlIHdlIG5vIGxvbmdlciBoYXZl
IHBlci1hdHRyaWJ1dGUgc3R5bGUgZGVjbGFyYXRpb25zLCB3ZSBzaG91bGQgY29tZSB1cAotICAg
IC8vICAgICAgICB3aXRoIGEgbmljZXIgd2F5IHRvIHByZXNlbnQgd2hhdCB3ZSBkbyBoYXZlLgot
CiAgICAgaWYgKCFlbGVtZW50LT5pc1N0eWxlZEVsZW1lbnQoKSkKLSAgICAgICAgcmV0dXJuIElu
c3BlY3RvckFycmF5OjpjcmVhdGUoKTsKKyAgICAgICAgcmV0dXJuIDA7CiAKICAgICBTdHlsZVBy
b3BlcnR5U2V0KiBhdHRyaWJ1dGVTdHlsZSA9IHN0YXRpY19jYXN0PFN0eWxlZEVsZW1lbnQqPihl
bGVtZW50KS0+YXR0cmlidXRlU3R5bGUoKTsKICAgICBpZiAoIWF0dHJpYnV0ZVN0eWxlKQotICAg
ICAgICByZXR1cm4gSW5zcGVjdG9yQXJyYXk6OmNyZWF0ZSgpOworICAgICAgICByZXR1cm4gMDsK
IAotICAgIFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGF0dHJTdHlsZU9iamVjdCA9IEluc3BlY3Rv
ck9iamVjdDo6Y3JlYXRlKCk7CiAgICAgUmVmUHRyPEluc3BlY3RvclN0eWxlPiBpbnNwZWN0b3JT
dHlsZSA9IEluc3BlY3RvclN0eWxlOjpjcmVhdGUoSW5zcGVjdG9yQ1NTSWQoKSwgYXR0cmlidXRl
U3R5bGUtPmVuc3VyZUNTU1N0eWxlRGVjbGFyYXRpb24oKSwgMCk7Ci0gICAgYXR0clN0eWxlT2Jq
ZWN0LT5zZXRTdHJpbmcoIm5hbWUiLCAiIik7Ci0gICAgYXR0clN0eWxlT2JqZWN0LT5zZXRPYmpl
Y3QoInN0eWxlIiwgaW5zcGVjdG9yU3R5bGUtPmJ1aWxkT2JqZWN0Rm9yU3R5bGUoKSk7Ci0KLSAg
ICBSZWZQdHI8SW5zcGVjdG9yQXJyYXk+IGF0dHJTdHlsZXMgPSBJbnNwZWN0b3JBcnJheTo6Y3Jl
YXRlKCk7Ci0gICAgYXR0clN0eWxlcy0+cHVzaE9iamVjdChhdHRyU3R5bGVPYmplY3QucmVsZWFz
ZSgpKTsKLSAgICByZXR1cm4gYXR0clN0eWxlcy5yZWxlYXNlKCk7CisgICAgcmV0dXJuIGluc3Bl
Y3RvclN0eWxlLT5idWlsZE9iamVjdEZvclN0eWxlKCk7CiB9CiAKIHZvaWQgSW5zcGVjdG9yQ1NT
QWdlbnQ6OmRpZFJlbW92ZURvY3VtZW50KERvY3VtZW50KiBkb2N1bWVudCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5oIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmgKaW5kZXggZWJiMzEzNmJhMDM3ODY4
OTI5YjY4MzA1YjI2NWRjZDUxM2Y0OTMyMS4uNGFmZDlmYjFjMzVkN2QyMWRlYmQ2ZDU3OWNmOWFj
Y2Q5YmQyOTExYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckNTU0FnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0Fn
ZW50LmgKQEAgLTc2LDcgKzc2LDcgQEAgcHVibGljOgogICAgIHZvaWQgbWVkaWFRdWVyeVJlc3Vs
dENoYW5nZWQoKTsKIAogICAgIHZpcnR1YWwgdm9pZCBnZXRDb21wdXRlZFN0eWxlRm9yTm9kZShF
cnJvclN0cmluZyosIGludCBub2RlSWQsIGNvbnN0IFJlZlB0cjxJbnNwZWN0b3JBcnJheT4qIGZv
cmNlZFBzZXVkb0NsYXNzZXMsIFJlZlB0cjxJbnNwZWN0b3JBcnJheT4mIHN0eWxlKTsKLSAgICB2
aXJ0dWFsIHZvaWQgZ2V0SW5saW5lU3R5bGVzRm9yTm9kZShFcnJvclN0cmluZyosIGludCBub2Rl
SWQsIFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+JiBpbmxpbmVTdHlsZSwgUmVmUHRyPEluc3BlY3Rv
ckFycmF5PiYgYXR0cmlidXRlcyk7CisgICAgdmlydHVhbCB2b2lkIGdldElubGluZVN0eWxlc0Zv
ck5vZGUoRXJyb3JTdHJpbmcqLCBpbnQgbm9kZUlkLCBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiYg
aW5saW5lU3R5bGUsIFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+JiBhdHRyaWJ1dGVzKTsKICAgICB2
aXJ0dWFsIHZvaWQgZ2V0TWF0Y2hlZFN0eWxlc0Zvck5vZGUoRXJyb3JTdHJpbmcqLCBpbnQgbm9k
ZUlkLCBjb25zdCBSZWZQdHI8SW5zcGVjdG9yQXJyYXk+KiBmb3JjZWRQc2V1ZG9DbGFzc2VzLCBj
b25zdCBib29sKiBpbmNsdWRlUHNldWRvLCBjb25zdCBib29sKiBpbmNsdWRlSW5oZXJpdGVkLCBS
ZWZQdHI8SW5zcGVjdG9yQXJyYXk+JiBtYXRjaGVkQ1NTUnVsZXMsIFJlZlB0cjxJbnNwZWN0b3JB
cnJheT4mIHBzZXVkb0lkUnVsZXMsIFJlZlB0cjxJbnNwZWN0b3JBcnJheT4mIGluaGVyaXRlZEVu
dHJpZXMpOwogICAgIHZpcnR1YWwgdm9pZCBnZXRBbGxTdHlsZVNoZWV0cyhFcnJvclN0cmluZyos
IFJlZlB0cjxJbnNwZWN0b3JBcnJheT4mIHN0eWxlU2hlZXRJbmZvcyk7CiAgICAgdmlydHVhbCB2
b2lkIGdldFN0eWxlU2hlZXQoRXJyb3JTdHJpbmcqLCBjb25zdCBTdHJpbmcmIHN0eWxlU2hlZXRJ
ZCwgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4mIHJlc3VsdCk7CkBAIC0xMjEsNyArMTIxLDcgQEAg
cHJpdmF0ZToKICAgICBTdHJpbmcgZGV0ZWN0T3JpZ2luKENTU1N0eWxlU2hlZXQqIHBhZ2VTdHls
ZVNoZWV0LCBEb2N1bWVudCogb3duZXJEb2N1bWVudCk7CiAKICAgICBQYXNzUmVmUHRyPEluc3Bl
Y3RvckFycmF5PiBidWlsZEFycmF5Rm9yUnVsZUxpc3QoQ1NTUnVsZUxpc3QqIHJ1bGVMaXN0KTsK
LSAgICBQYXNzUmVmUHRyPEluc3BlY3RvckFycmF5PiBidWlsZEFycmF5Rm9yQXR0cmlidXRlU3R5
bGVzKEVsZW1lbnQqKTsKKyAgICBQYXNzUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gYnVpbGRPYmpl
Y3RGb3JBdHRyaWJ1dGVzU3R5bGUoRWxlbWVudCopOwogCiAgICAgLy8gSW5zcGVjdG9yRE9NQWdl
bnQ6OkRPTUxpc3RlbmVyIGludGVyZmFjZQogICAgIHZpcnR1YWwgdm9pZCBkaWRSZW1vdmVEb2N1
bWVudChEb2N1bWVudCopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9BdWRpdFJ1bGVzLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9BdWRpdFJ1bGVzLmpzCmluZGV4IDkzN2E4NzI0M2E1NWRlZWUwMDgwNDAxNjA4NmU1ZWMwNjVl
NGRmZGQuLjg0MzBmZmExZTBhZmVhNGQ1NTUwMzZmNjBmMWYwMzY4MzliMDkyMGQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQXVkaXRSdWxlcy5qcworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0F1ZGl0UnVsZXMuanMKQEAgLTcy
OSw4ICs3MjksMTAgQEAgV2ViSW5zcGVjdG9yLkF1ZGl0UnVsZXMuSW1hZ2VEaW1lbnNpb25zUnVs
ZS5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgfQog
Ci0gICAgICAgICAgICB2YXIgd2lkdGhGb3VuZCA9ICJ3aWR0aCIgaW4gc3R5bGVzLnN0eWxlQXR0
cmlidXRlczsKLSAgICAgICAgICAgIHZhciBoZWlnaHRGb3VuZCA9ICJoZWlnaHQiIGluIHN0eWxl
cy5zdHlsZUF0dHJpYnV0ZXM7CisgICAgICAgICAgICBpZiAoc3R5bGVzLmF0dHJpYnV0ZXNTdHls
ZSkgeworICAgICAgICAgICAgICAgIHZhciB3aWR0aEZvdW5kID0gISFzdHlsZXMuYXR0cmlidXRl
c1N0eWxlLmdldExpdmVQcm9wZXJ0eSgid2lkdGgiKTsKKyAgICAgICAgICAgICAgICB2YXIgaGVp
Z2h0Rm91bmQgPSAhIXN0eWxlcy5hdHRyaWJ1dGVzU3R5bGUuZ2V0TGl2ZVByb3BlcnR5KCJoZWln
aHQiKTsKKyAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgdmFyIGlubGluZVN0eWxlID0gc3R5
bGVzLmlubGluZVN0eWxlOwogICAgICAgICAgICAgaWYgKGlubGluZVN0eWxlKSB7CkBAIC03NjUs
MTAgKzc2NywxMCBAQCBXZWJJbnNwZWN0b3IuQXVkaXRSdWxlcy5JbWFnZURpbWVuc2lvbnNSdWxl
LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICB2YXIg
dGFyZ2V0UmVzdWx0ID0ge307CiAKLSAgICAgICAgICAgIGZ1bmN0aW9uIGlubGluZUNhbGxiYWNr
KGlubGluZVN0eWxlLCBzdHlsZUF0dHJpYnV0ZXMpCisgICAgICAgICAgICBmdW5jdGlvbiBpbmxp
bmVDYWxsYmFjayhpbmxpbmVTdHlsZSwgYXR0cmlidXRlc1N0eWxlKQogICAgICAgICAgICAgewog
ICAgICAgICAgICAgICAgIHRhcmdldFJlc3VsdC5pbmxpbmVTdHlsZSA9IGlubGluZVN0eWxlOwot
ICAgICAgICAgICAgICAgIHRhcmdldFJlc3VsdC5zdHlsZUF0dHJpYnV0ZXMgPSBzdHlsZUF0dHJp
YnV0ZXM7CisgICAgICAgICAgICAgICAgdGFyZ2V0UmVzdWx0LmF0dHJpYnV0ZXNTdHlsZSA9IGF0
dHJpYnV0ZXNTdHlsZTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgZnVuY3Rpb24gbWF0
Y2hlZENhbGxiYWNrKHJlc3VsdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvQ1NTU3R5bGVNb2RlbC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvQ1NTU3R5bGVNb2RlbC5qcwppbmRleCA3YjQ4NzJlNzRhMWYyNGVmNjcwNTc5MGIx
YmJkOTkyNjNjZWNhNjdhLi41MDY4NmJhYzRmMjdhNDdlYTRlZGMwMGViY2Q1NGE1MDhjYWU3ZTI0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NTU1N0eWxl
TW9kZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9DU1NTdHls
ZU1vZGVsLmpzCkBAIC0xMzIsMjggKzEzMiwxOSBAQCBXZWJJbnNwZWN0b3IuQ1NTU3R5bGVNb2Rl
bC5wcm90b3R5cGUgPSB7CiAKICAgICAvKioKICAgICAgKiBAcGFyYW0ge0RPTUFnZW50Lk5vZGVJ
ZH0gbm9kZUlkCi0gICAgICogQHBhcmFtIHtmdW5jdGlvbig/V2ViSW5zcGVjdG9yLkNTU1N0eWxl
RGVjbGFyYXRpb24sID9PYmplY3QuPHN0cmluZywgc3RyaW5nPil9IHVzZXJDYWxsYmFjaworICAg
ICAqIEBwYXJhbSB7ZnVuY3Rpb24oP1dlYkluc3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0aW9uLCA/
V2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb24pfSB1c2VyQ2FsbGJhY2sKICAgICAgKi8K
ICAgICBnZXRJbmxpbmVTdHlsZXNBc3luYzogZnVuY3Rpb24obm9kZUlkLCB1c2VyQ2FsbGJhY2sp
CiAgICAgewogICAgICAgICAvKioKLSAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbig/V2ViSW5z
cGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb24sID9PYmplY3QuPHN0cmluZywgc3RyaW5nPil9IHVz
ZXJDYWxsYmFjaworICAgICAgICAgKiBAcGFyYW0ge2Z1bmN0aW9uKD9XZWJJbnNwZWN0b3IuQ1NT
U3R5bGVEZWNsYXJhdGlvbiwgP1dlYkluc3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0aW9uKX0gdXNl
ckNhbGxiYWNrCiAgICAgICAgICAqLwotICAgICAgICBmdW5jdGlvbiBjYWxsYmFjayh1c2VyQ2Fs
bGJhY2ssIGVycm9yLCBpbmxpbmVQYXlsb2FkLCBhdHRyaWJ1dGVzUGF5bG9hZCkKKyAgICAgICAg
ZnVuY3Rpb24gY2FsbGJhY2sodXNlckNhbGxiYWNrLCBlcnJvciwgaW5saW5lUGF5bG9hZCwgYXR0
cmlidXRlc1N0eWxlUGF5bG9hZCkKICAgICAgICAgewogICAgICAgICAgICAgaWYgKGVycm9yIHx8
ICFpbmxpbmVQYXlsb2FkKQogICAgICAgICAgICAgICAgIHVzZXJDYWxsYmFjayhudWxsLCBudWxs
KTsKLSAgICAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgICAgIHZhciBzdHlsZUF0dHJpYnV0
ZXM7Ci0gICAgICAgICAgICAgICAgaWYgKGF0dHJpYnV0ZXNQYXlsb2FkKSB7Ci0gICAgICAgICAg
ICAgICAgICAgIHN0eWxlQXR0cmlidXRlcyA9IHt9OwotICAgICAgICAgICAgICAgICAgICBmb3Ig
KHZhciBpID0gMDsgaSA8IGF0dHJpYnV0ZXNQYXlsb2FkLmxlbmd0aDsgKytpKSB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICB2YXIgbmFtZSA9IGF0dHJpYnV0ZXNQYXlsb2FkW2ldLm5hbWU7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICBzdHlsZUF0dHJpYnV0ZXNbbmFtZV0gPSBXZWJJbnNwZWN0
b3IuQ1NTU3R5bGVEZWNsYXJhdGlvbi5wYXJzZVBheWxvYWQoYXR0cmlidXRlc1BheWxvYWRbaV0u
c3R5bGUpOwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgICAgIHVzZXJDYWxsYmFjayhXZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvbi5w
YXJzZVBheWxvYWQoaW5saW5lUGF5bG9hZCksIHN0eWxlQXR0cmlidXRlcyB8fCBudWxsKTsKLSAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICB1c2VyQ2FsbGJh
Y2soV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb24ucGFyc2VQYXlsb2FkKGlubGluZVBh
eWxvYWQpLCBhdHRyaWJ1dGVzU3R5bGVQYXlsb2FkID8gV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVj
bGFyYXRpb24ucGFyc2VQYXlsb2FkKGF0dHJpYnV0ZXNTdHlsZVBheWxvYWQpIDogbnVsbCk7CiAg
ICAgICAgIH0KIAogICAgICAgICBDU1NBZ2VudC5nZXRJbmxpbmVTdHlsZXNGb3JOb2RlKG5vZGVJ
ZCwgY2FsbGJhY2suYmluZChudWxsLCB1c2VyQ2FsbGJhY2spKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU3R5bGVzU2lkZWJhclBhbmUuanMgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1N0eWxlc1NpZGViYXJQYW5lLmpzCmluZGV4
IGQ3ZTBhMzg3ZDIzODliNzlmMmZlNTNlMWNiOTkwMGZhNWMxNTgzYmYuLjcxMWQyNmJmZTJjYzVi
ZWZhNWY5ZjZjNmE3MDE2Yzg4N2YwMTYwOWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvU3R5bGVzU2lkZWJhclBhbmUuanMKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TdHlsZXNTaWRlYmFyUGFuZS5qcwpAQCAtMjQyLDEwICsy
NDIsMTAgQEAgV2ViSW5zcGVjdG9yLlN0eWxlc1NpZGViYXJQYW5lLnByb3RvdHlwZSA9IHsKICAg
ICAgICAgICAgICAgICBjYWxsYmFjaygpOwogICAgICAgICB9CiAKLSAgICAgICAgZnVuY3Rpb24g
aW5saW5lQ2FsbGJhY2soaW5saW5lU3R5bGUsIHN0eWxlQXR0cmlidXRlcykKKyAgICAgICAgZnVu
Y3Rpb24gaW5saW5lQ2FsbGJhY2soaW5saW5lU3R5bGUsIGF0dHJpYnV0ZXNTdHlsZSkKICAgICAg
ICAgewogICAgICAgICAgICAgcmVzdWx0U3R5bGVzLmlubGluZVN0eWxlID0gaW5saW5lU3R5bGU7
Ci0gICAgICAgICAgICByZXN1bHRTdHlsZXMuc3R5bGVBdHRyaWJ1dGVzID0gc3R5bGVBdHRyaWJ1
dGVzOworICAgICAgICAgICAgcmVzdWx0U3R5bGVzLmF0dHJpYnV0ZXNTdHlsZSA9IGF0dHJpYnV0
ZXNTdHlsZTsKICAgICAgICAgfQogCiAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVkQ2FsbGJhY2so
Y29tcHV0ZWRTdHlsZSkKQEAgLTQxMiwxNiArNDEyLDEzIEBAIFdlYkluc3BlY3Rvci5TdHlsZXNT
aWRlYmFyUGFuZS5wcm90b3R5cGUgPSB7CiAKICAgICAgICAgdmFyIHN0eWxlUnVsZXMgPSBbXTsK
IAotICAgICAgICBmdW5jdGlvbiBhZGRTdHlsZUF0dHJpYnV0ZXMoKQorICAgICAgICBmdW5jdGlv
biBhZGRBdHRyaWJ1dGVzU3R5bGUoKQogICAgICAgICB7Ci0gICAgICAgICAgICBmb3IgKHZhciBu
YW1lIGluIHN0eWxlcy5zdHlsZUF0dHJpYnV0ZXMpIHsKLSAgICAgICAgICAgICAgICB2YXIgYXR0
clN0eWxlID0geyBzdHlsZTogc3R5bGVzLnN0eWxlQXR0cmlidXRlc1tuYW1lXSwgZWRpdGFibGU6
IGZhbHNlIH07Ci0gICAgICAgICAgICAgICAgYXR0clN0eWxlLnNlbGVjdG9yVGV4dCA9IG5vZGUu
bm9kZU5hbWVJbkNvcnJlY3RDYXNlKCkgKyAiWyIgKyBuYW1lOwotICAgICAgICAgICAgICAgIGlm
IChub2RlLmdldEF0dHJpYnV0ZShuYW1lKSkKLSAgICAgICAgICAgICAgICAgICAgYXR0clN0eWxl
LnNlbGVjdG9yVGV4dCArPSAiPSIgKyBub2RlLmdldEF0dHJpYnV0ZShuYW1lKTsKLSAgICAgICAg
ICAgICAgICBhdHRyU3R5bGUuc2VsZWN0b3JUZXh0ICs9ICJdIjsKLSAgICAgICAgICAgICAgICBz
dHlsZVJ1bGVzLnB1c2goYXR0clN0eWxlKTsKLSAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlm
ICghc3R5bGVzLmF0dHJpYnV0ZXNTdHlsZSkKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAg
ICAgICAgICB2YXIgYXR0clN0eWxlID0geyBzdHlsZTogc3R5bGVzLmF0dHJpYnV0ZXNTdHlsZSwg
ZWRpdGFibGU6IGZhbHNlIH07CisgICAgICAgICAgICBhdHRyU3R5bGUuc2VsZWN0b3JUZXh0ID0g
bm9kZS5ub2RlTmFtZUluQ29ycmVjdENhc2UoKSArICJbIiArIFdlYkluc3BlY3Rvci5VSVN0cmlu
ZygiQXR0cmlidXRlcyBTdHlsZSIpICsgIl0iOworICAgICAgICAgICAgc3R5bGVSdWxlcy5wdXNo
KGF0dHJTdHlsZSk7CiAgICAgICAgIH0KIAogICAgICAgICBzdHlsZVJ1bGVzLnB1c2goeyBjb21w
dXRlZFN0eWxlOiB0cnVlLCBzZWxlY3RvclRleHQ6ICIiLCBzdHlsZTogbm9kZUNvbXB1dGVkU3R5
bGUsIGVkaXRhYmxlOiBmYWxzZSB9KTsKQEAgLTQzNSwyMSArNDMyLDIxIEBAIFdlYkluc3BlY3Rv
ci5TdHlsZXNTaWRlYmFyUGFuZS5wcm90b3R5cGUgPSB7CiAgICAgICAgIC8vIEFkZCBydWxlcyBp
biByZXZlcnNlIG9yZGVyIHRvIG1hdGNoIHRoZSBjYXNjYWRlIG9yZGVyLgogICAgICAgICBpZiAo
c3R5bGVzLm1hdGNoZWRDU1NSdWxlcy5sZW5ndGgpCiAgICAgICAgICAgICBzdHlsZVJ1bGVzLnB1
c2goeyBpc1N0eWxlU2VwYXJhdG9yOiB0cnVlLCB0ZXh0OiBXZWJJbnNwZWN0b3IuVUlTdHJpbmco
Ik1hdGNoZWQgQ1NTIFJ1bGVzIikgfSk7Ci0gICAgICAgIHZhciBhZGRlZFN0eWxlQXR0cmlidXRl
czsKKyAgICAgICAgdmFyIGFkZGVkQXR0cmlidXRlc1N0eWxlOwogICAgICAgICBmb3IgKHZhciBp
ID0gc3R5bGVzLm1hdGNoZWRDU1NSdWxlcy5sZW5ndGggLSAxOyBpID49IDA7IC0taSkgewogICAg
ICAgICAgICAgdmFyIHJ1bGUgPSBzdHlsZXMubWF0Y2hlZENTU1J1bGVzW2ldOwogICAgICAgICAg
ICAgaWYgKCFXZWJJbnNwZWN0b3Iuc2V0dGluZ3Muc2hvd1VzZXJBZ2VudFN0eWxlcy5nZXQoKSAm
JiAocnVsZS5pc1VzZXIgfHwgcnVsZS5pc1VzZXJBZ2VudCkpCiAgICAgICAgICAgICAgICAgY29u
dGludWU7Ci0gICAgICAgICAgICBpZiAoKHJ1bGUuaXNVc2VyIHx8IHJ1bGUuaXNVc2VyQWdlbnQp
ICYmICFhZGRlZFN0eWxlQXR0cmlidXRlcykgeworICAgICAgICAgICAgaWYgKChydWxlLmlzVXNl
ciB8fCBydWxlLmlzVXNlckFnZW50KSAmJiAhYWRkZWRBdHRyaWJ1dGVzU3R5bGUpIHsKICAgICAg
ICAgICAgICAgICAvLyBTaG93IGVsZW1lbnQncyBTdHlsZSBBdHRyaWJ1dGVzIGFmdGVyIGFsbCBh
dXRob3IgcnVsZXMuCi0gICAgICAgICAgICAgICAgYWRkZWRTdHlsZUF0dHJpYnV0ZXMgPSB0cnVl
OwotICAgICAgICAgICAgICAgIGFkZFN0eWxlQXR0cmlidXRlcygpOworICAgICAgICAgICAgICAg
IGFkZGVkQXR0cmlidXRlc1N0eWxlID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICBhZGRBdHRyaWJ1
dGVzU3R5bGUoKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIHN0eWxlUnVsZXMucHVzaCh7
IHN0eWxlOiBydWxlLnN0eWxlLCBzZWxlY3RvclRleHQ6IHJ1bGUuc2VsZWN0b3JUZXh0LCBtZWRp
YTogcnVsZS5tZWRpYSwgc291cmNlVVJMOiBydWxlLnNvdXJjZVVSTCwgcnVsZTogcnVsZSwgZWRp
dGFibGU6ICEhKHJ1bGUuc3R5bGUgJiYgcnVsZS5zdHlsZS5pZCkgfSk7CiAgICAgICAgIH0KIAot
ICAgICAgICBpZiAoIWFkZGVkU3R5bGVBdHRyaWJ1dGVzKQotICAgICAgICAgICAgYWRkU3R5bGVB
dHRyaWJ1dGVzKCk7CisgICAgICAgIGlmICghYWRkZWRBdHRyaWJ1dGVzU3R5bGUpCisgICAgICAg
ICAgICBhZGRBdHRyaWJ1dGVzU3R5bGUoKTsKIAogICAgICAgICAvLyBXYWxrIHRoZSBub2RlIHN0
cnVjdHVyZSBhbmQgaWRlbnRpZnkgc3R5bGVzIHdpdGggaW5oZXJpdGVkIHByb3BlcnRpZXMuCiAg
ICAgICAgIHZhciBwYXJlbnROb2RlID0gbm9kZS5wYXJlbnROb2RlOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDc3MTQxNjc0
MTRiODZjMGRkN2M5Y2ZjNGQyYjRhYzhiYTliNmQxOTQuLjMwNjNmY2E0MDc1N2YyNDdhYTMxM2Rl
NWY2Y2EzMzg1MjAzY2U0OTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMi0wMi0wOCAgQWxl
eGFuZGVyIFBhdmxvdiAgPGFwYXZsb3ZAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IFVwZGF0ZSBwcm90b2NvbCBhbmQgVUkgdG8gZm9sbG93IGJ1ZyA3NzIwNCAoS2lsbCBw
ZXItQXR0cmlidXRlIHN0eWxlIGRlY2xhcmF0aW9ucykKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3OTYyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvZWxlbWVudHMvZWxlbWVudHMtcGFu
ZWwtc3R5bGVzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBpbnNwZWN0b3Ivc3R5bGVzL3N0eWxl
cy1jb21wdXRlZC10cmFjZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogaW5zcGVjdG9yL3N0eWxl
cy9zdHlsZXMtbmV3LUFQSS1leHBlY3RlZC50eHQ6CisgICAgICAgICogaW5zcGVjdG9yL3N0eWxl
cy9zdHlsZXMtbmV3LUFQSS5odG1sOgorCiAyMDEyLTAyLTA4ICBNaWNoYWVsIEJyw7xuaW5nICA8
bWljaGFlbC5icnVuaW5nQG5va2lhLmNvbT4KIAogICAgICAgICBbUXRdW1dLMl0gQ29tcHV0ZSBh
bmQgc2V0IGNhY2hlIGNhcGFjaXRpZXMgdXNpbmcgdGhlIGN1cnJlbnQgQ2FjaGVNb2RlbApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2VsZW1lbnRzLXBhbmVsLXN0
eWxlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvZWxlbWVu
dHMtcGFuZWwtc3R5bGVzLWV4cGVjdGVkLnR4dAppbmRleCA0NDMyZjU4MTdmODA0NTBkYmIwMWJh
N2VhMjNjOGFiOWVhOWRhNjJhLi4zZGU3YjZlZjIwNzUwNmNhYzkwNzA1MDY4ODRiMjRkNTA4MDNj
Nzg4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvZWxlbWVudHMt
cGFuZWwtc3R5bGVzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxl
bWVudHMvZWxlbWVudHMtcGFuZWwtc3R5bGVzLWV4cGVjdGVkLnR4dApAQCAtMzIsNyArMzIsNyBA
QCBtYXJnaW4tcmlnaHQ6IDBweDsKIG1hcmdpbi10b3A6IDEwcHg7CiAgICAgLmZvbyAtIDEwcHgg
ZWxlbWVudHMtcGFuZWwtc3R5bGVzLmNzczoxNAogdGV4dC1hbGlnbjogLXdlYmtpdC1sZWZ0Owot
ICAgIGRpdltdIC0gLXdlYmtpdC1sZWZ0IAorICAgIGRpdltBdHRyaWJ1dGVzIFN0eWxlXSAtIC13
ZWJraXQtbGVmdCAKIAogW2V4cGFuZGVkXSAKIGVsZW1lbnQuc3R5bGUgIHsgKCkKQEAgLTY3LDcg
KzY3LDcgQEAgYm9yZGVyLXJhZGl1czogNXB4OwogLy0tIG92ZXJsb2FkZWQgLS0vIGZvbnQtc3R5
bGU6IG5vcm1hbCAhaW1wb3J0YW50OwogCiBbZXhwYW5kZWRdIAotZGl2W10gIHsgKCkKK2RpdltB
dHRyaWJ1dGVzIFN0eWxlXSAgeyAoKQogdGV4dC1hbGlnbjogLXdlYmtpdC1sZWZ0OwogCiBbZXhw
YW5kZWRdIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9zdHlsZXMt
Y29tcHV0ZWQtdHJhY2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxl
cy9zdHlsZXMtY29tcHV0ZWQtdHJhY2UtZXhwZWN0ZWQudHh0CmluZGV4IGU0OWUyZjczMzVlYjUz
YzQ1MTg4ZDU2NTFmNTQ0YTRkNWVjNmRjMWQuLmJjYTRkMDYyY2Y5YzBjOGZhMTE3M2VhMDE3NWQ2
MTVmZjQ2NGMxN2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvc3R5
bGVzLWNvbXB1dGVkLXRyYWNlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Ivc3R5bGVzL3N0eWxlcy1jb21wdXRlZC10cmFjZS1leHBlY3RlZC50eHQKQEAgLTUyLDcgKzUy
LDcgQEAgZWxlbWVudC5zdHlsZSAgeyAoKQogCiA9PT09PT09PSBNYXRjaGVkIENTUyBSdWxlcyA9
PT09PT09PQogW2V4cGFuZGVkXSAKLWJ1dHRvbltdICB7ICgpCitidXR0b25bQXR0cmlidXRlcyBT
dHlsZV0gIHsgKCkKIGRpc3BsYXk6IG5vbmU7CiAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL3N0eWxlcy9zdHlsZXMtbmV3LUFQSS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Ivc3R5bGVzL3N0eWxlcy1uZXctQVBJLWV4cGVjdGVkLnR4dAppbmRleCAzMWZm
NGQwZDMwNDgzZTgyZDlmZDJiMWM4M2JmMjNhMGI4YzZmYzQ5Li5jNzNlYTZmZTU5OWZjZGExMzMz
NjY5NTA3NjljOGE5YmUwMWRiMGEyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
c3R5bGVzL3N0eWxlcy1uZXctQVBJLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Ivc3R5bGVzL3N0eWxlcy1uZXctQVBJLWV4cGVjdGVkLnR4dApAQCAtOTAsOCArOTAsNyBA
QCByYXcgc3R5bGUKIFsnd2lkdGgnOic4NSUnXSBAWzIxLTMyXSBhY3RpdmUKIFsnYmFja2dyb3Vu
ZC1pbWFnZSc6J3VybChiYXIucG5nKSddIEBbMzMtNjNdIGFjdGl2ZQogCi09PT0gQXR0cmlidXRl
IHN0eWxlcyBmb3IgdGFibGUgPT09Ci1BdHRyaWJ1dGU6IAorPT09IEF0dHJpYnV0ZXMgc3R5bGUg
Zm9yIHRhYmxlID09PQogCiBzdHlsZQogcmF3IHN0eWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Ivc3R5bGVzL3N0eWxlcy1uZXctQVBJLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Ivc3R5bGVzL3N0eWxlcy1uZXctQVBJLmh0bWwKaW5kZXggODg1MmNhY2NlYmQwYmE3OWIz
YjExOGExNWNkYzEzZjRhYmFkMjQ2Zi4uYzBmNTc5ZDljYzQzOTg4MTUyMzU3ZGM2OWY5NjRiNTUy
MjhhNTNhMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9zdHlsZXMt
bmV3LUFQSS5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvc3R5bGVzLW5l
dy1BUEkuaHRtbApAQCAtOTYsMTggKzk2LDE1IEBAIGZ1bmN0aW9uIHRlc3QoKQogCiAgICAgZnVu
Y3Rpb24gdGVzdF90YWJsZVN0eWxlcygpCiAgICAgewotICAgICAgICBmdW5jdGlvbiBjYWxsYmFj
ayhlcnJvciwgaW5saW5lU3R5bGUsIHN0eWxlQXR0cmlidXRlcykKKyAgICAgICAgZnVuY3Rpb24g
Y2FsbGJhY2soZXJyb3IsIGlubGluZVN0eWxlLCBhdHRyaWJ1dGVzU3R5bGUpCiAgICAgICAgIHsK
ICAgICAgICAgICAgIGlmIChlcnJvcikgewogICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
YWRkUmVzdWx0KCJlcnJvcjogIiArIGVycm9yKTsKICAgICAgICAgICAgICAgICByZXR1cm47CiAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiIik7Ci0g
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiPT09IEF0dHJpYnV0ZSBzdHlsZXMg
Zm9yIHRhYmxlID09PSIpOwotICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzdHlsZUF0
dHJpYnV0ZXMubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFk
ZFJlc3VsdCgiQXR0cmlidXRlOiAiICsgc3R5bGVBdHRyaWJ1dGVzW2ldLm5hbWUpOwotICAgICAg
ICAgICAgICAgIGR1bXBSdWxlT3JTdHlsZShzdHlsZUF0dHJpYnV0ZXNbaV0uc3R5bGUpOwotICAg
ICAgICAgICAgfQorICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIj09PSBBdHRy
aWJ1dGVzIHN0eWxlIGZvciB0YWJsZSA9PT0iKTsKKyAgICAgICAgICAgIGR1bXBSdWxlT3JTdHls
ZShhdHRyaWJ1dGVzU3R5bGUpOwogICAgICAgICAgICAgdGVzdF9zdHlsZVNoZWV0cygpOwogICAg
ICAgICB9CiAKQEAgLTM4Niw3ICszODMsNyBAQCBib2R5Lm1haW5wYWdlIHsKIDxwPgogVGVzdHMg
dGhhdCBJbnNwZWN0b3JDU1NBZ2VudCBBUEkgbWV0aG9kcyB3b3JrIGFzIGV4cGVjdGVkLgogPC9w
PgotPHRhYmxlIHdpZHRoPTUwJSBpZD0idGhldGFibGUiPgorPHRhYmxlIHdpZHRoPSI1MCUiIGlk
PSJ0aGV0YWJsZSI+CiA8L3RhYmxlPgogPGgxIGlkPSJ0b2dnbGUiPkgxPC9oMT4KIDwvYm9keT4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>126259</attachid>
            <date>2012-02-09 01:40:51 -0800</date>
            <delta_ts>2012-02-09 03:56:22 -0800</delta_ts>
            <desc>[PATCH] localizedString.js message added</desc>
            <filename>bug-77962-20120209134049.patch</filename>
            <type>text/plain</type>
            <size>18760</size>
            <attacher name="Alexander Pavlov (apavlov)">apavlov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA3MTk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTRmMjI4NzIyZDEzMjk2
YzM3ODliNzQ3M2RiZmMxYjUwMjE0MjU1NS4uNTlmZDU4Yjk0ZTdkZjU5MDEyZTRlZmI3OWMyMGEx
Yjk5NjczNTBkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEyLTAyLTA5ICBBbGV4
YW5kZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3Bl
Y3RvcjogVXBkYXRlIHByb3RvY29sIGFuZCBVSSB0byBmb2xsb3cgYnVnIDc3MjA0IChLaWxsIHBl
ci1BdHRyaWJ1dGUgc3R5bGUgZGVjbGFyYXRpb25zKQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc5NjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIEVuZ2xpc2gubHByb2ovbG9jYWxpemVkU3RyaW5ncy5q
czoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yLmpzb246CisgICAgICAgICogaW5zcGVj
dG9yL0luc3BlY3RvckNTU0FnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNT
U0FnZW50OjpnZXRJbmxpbmVTdHlsZXNGb3JOb2RlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3Bl
Y3RvckNTU0FnZW50OjpidWlsZE9iamVjdEZvckF0dHJpYnV0ZXNTdHlsZSk6CisgICAgICAgICog
aW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50Lmg6CisgICAgICAgIChJbnNwZWN0b3JDU1NBZ2Vu
dCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9BdWRpdFJ1bGVzLmpzOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLkF1ZGl0UnVsZXMuSW1hZ2VEaW1lbnNpb25zUnVsZS5wcm90b3R5cGUu
ZG9SdW4pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkF1ZGl0UnVsZXMuSW1hZ2VEaW1lbnNpb25z
UnVsZS5wcm90b3R5cGUuZG9SdW4uZ2V0U3R5bGVzKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJv
bnQtZW5kL0NTU1N0eWxlTW9kZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ1NTU3R5bGVN
b2RlbC5wcm90b3R5cGUuZ2V0SW5saW5lU3R5bGVzQXN5bmMpOgorICAgICAgICAqIGluc3BlY3Rv
ci9mcm9udC1lbmQvU3R5bGVzU2lkZWJhclBhbmUuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
U3R5bGVzU2lkZWJhclBhbmUucHJvdG90eXBlLl9leGVjdXRlUmVidWlsZFVwZGF0ZS5pbmxpbmVD
YWxsYmFjayk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU3R5bGVzU2lkZWJhclBhbmUucHJvdG90
eXBlLl9yZWJ1aWxkU3R5bGVSdWxlcyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU3R5bGVzU2lk
ZWJhclBhbmUucHJvdG90eXBlLl9yZWJ1aWxkU3R5bGVSdWxlcy5nZXQgY29udGludWUpOgorCiAy
MDEyLTAyLTA5ICBMZW8gWWFuZyAgPGxlby55YW5nQHRvcmNobW9iaWxlLmNvbS5jbj4KIAogICAg
ICAgICBFbnRyeUJhc2UuY3BwIGlzIG1pc3NpbmcgaW4gQ01ha2UgYnVpbGQgc3lzdGVtIHdoZW4g
dHVybmluZyBvbiBFTkFCTEVfRklMRV9TWVNURU0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0VuZ2xpc2gubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcyBiL1NvdXJjZS9XZWJDb3JlL0VuZ2xp
c2gubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcwppbmRleCA0ZDBlZDQ5MjdhZmFjNzExNGM3ZDdj
YzgyZTEzYmQ3M2JjNWMzNzJjLi4zOTRiZmFjNGQ1MzcwYTkxODg1MzZjN2Q2YTMxNTI2NzMxMjc1
YjU1IDEwMDY0NApHSVQgYmluYXJ5IHBhdGNoCmRlbHRhIDU4CnpjbVYtQTBMQjA4KEZFZXMxaDR9
cGxaN1BeMGR0ZHBIeU0rSUJAemo5MDNaTlUwQ1dJKGxRMSRibFFTa0xtQT9UQgpRbGJhP0FnRlBt
PEp0aElLMCEjRH5NKnNpLQoKZGVsdGEgMTgKYWNtYUVLaVJIfmptSlE1bSY2UjR+RTdjZlpHNjRX
bntzKkBKCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5q
c29uIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCmluZGV4IDkyNjM5
ZDU3ZWFiMjdmNTM3ZGFkMDZiMTMzODUzODFiYzM5YTM2MjguLmZmZDIyZGUyMWRiNjhkOGIyNTcx
ZTEzMzNjYTNkOWNkZmI0Njk5MmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3IuanNvbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
Lmpzb24KQEAgLTE4MDIsNyArMTgwMiw3IEBACiAgICAgICAgICAgICAgICAgXSwKICAgICAgICAg
ICAgICAgICAicmV0dXJucyI6IFsKICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJpbmxp
bmVTdHlsZSIsICIkcmVmIjogIkNTU1N0eWxlIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0
aW9uIjogIklubGluZSBzdHlsZSBmb3IgdGhlIHNwZWNpZmllZCBET00gbm9kZS4iIH0sCi0gICAg
ICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAic3R5bGVBdHRyaWJ1dGVzIiwgInR5cGUiOiAiYXJy
YXkiLCAiaXRlbXMiOiB7ICIkcmVmIjogIkNTU1N0eWxlQXR0cmlidXRlIiB9LCAib3B0aW9uYWwi
OiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiRW50cmllcyBmb3Igc3R5bGUtcmVsYXRlZCBlbGVtZW50
IGF0dHJpYnV0ZXMgKGUuZy4gd2lkdGg9MjApLiJ9CisgICAgICAgICAgICAgICAgICAgIHsgIm5h
bWUiOiAiYXR0cmlidXRlc1N0eWxlIiwgIiRyZWYiOiAiQ1NTU3R5bGUiLCAib3B0aW9uYWwiOiB0
cnVlLCAiZGVzY3JpcHRpb24iOiAiQXR0cmlidXRlLWRlZmluZWQgZWxlbWVudCBzdHlsZSAoZS5n
LiByZXN1bHRpbmcgZnJvbSBcIndpZHRoPTIwIGhlaWdodD0xMDAlXCIpLiJ9CiAgICAgICAgICAg
ICAgICAgXSwKICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiUmV0dXJucyB0aGUgc3R5
bGVzIGRlZmluZWQgaW5saW5lIChleHBsaWNpdGx5IGluIHRoZSBcInN0eWxlXCIgYXR0cmlidXRl
IGFuZCBpbXBsaWNpdGx5LCB1c2luZyBET00gYXR0cmlidXRlcykgZm9yIGEgRE9NIG5vZGUgaWRl
bnRpZmllZCBieSA8Y29kZT5ub2RlSWQ8L2NvZGU+LiIKICAgICAgICAgICAgIH0sCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNwcAppbmRleCA0ZTQyYWM0
NDAxZjQyY2M4ZTQ3ZmE5MjU2YzdlY2JjNjQ3MmQyZjEzLi4wNWQyMmJkMDZjNTUwODg0MjdkYzI0
MjgwNzM2YWFjOThjYjFhODg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yQ1NTQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JDU1NBZ2VudC5jcHAKQEAgLTUzNiw3ICs1MzYsNyBAQCB2b2lkIEluc3BlY3RvckNTU0Fn
ZW50OjpnZXRNYXRjaGVkU3R5bGVzRm9yTm9kZShFcnJvclN0cmluZyogZXJyb3JTdHJpbmcsIGlu
dCBubwogICAgIH0KIH0KIAotdm9pZCBJbnNwZWN0b3JDU1NBZ2VudDo6Z2V0SW5saW5lU3R5bGVz
Rm9yTm9kZShFcnJvclN0cmluZyogZXJyb3JTdHJpbmcsIGludCBub2RlSWQsIFJlZlB0cjxJbnNw
ZWN0b3JPYmplY3Q+JiBpbmxpbmVTdHlsZSwgUmVmUHRyPEluc3BlY3RvckFycmF5PiYgYXR0cmli
dXRlcykKK3ZvaWQgSW5zcGVjdG9yQ1NTQWdlbnQ6OmdldElubGluZVN0eWxlc0Zvck5vZGUoRXJy
b3JTdHJpbmcqIGVycm9yU3RyaW5nLCBpbnQgbm9kZUlkLCBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0
PiYgaW5saW5lU3R5bGUsIFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+JiBhdHRyaWJ1dGVzU3R5bGUp
CiB7CiAgICAgRWxlbWVudCogZWxlbWVudCA9IGVsZW1lbnRGb3JJZChlcnJvclN0cmluZywgbm9k
ZUlkKTsKICAgICBpZiAoIWVsZW1lbnQpCkBAIC01NDcsNyArNTQ3LDggQEAgdm9pZCBJbnNwZWN0
b3JDU1NBZ2VudDo6Z2V0SW5saW5lU3R5bGVzRm9yTm9kZShFcnJvclN0cmluZyogZXJyb3JTdHJp
bmcsIGludCBub2QKICAgICAgICAgcmV0dXJuOwogCiAgICAgaW5saW5lU3R5bGUgPSBzdHlsZVNo
ZWV0LT5idWlsZE9iamVjdEZvclN0eWxlKGVsZW1lbnQtPnN0eWxlKCkpOwotICAgIGF0dHJpYnV0
ZXMgPSBidWlsZEFycmF5Rm9yQXR0cmlidXRlU3R5bGVzKGVsZW1lbnQpOworICAgIFJlZlB0cjxJ
bnNwZWN0b3JPYmplY3Q+IGF0dHJpYnV0ZXMgPSBidWlsZE9iamVjdEZvckF0dHJpYnV0ZXNTdHls
ZShlbGVtZW50KTsKKyAgICBhdHRyaWJ1dGVzU3R5bGUgPSBhdHRyaWJ1dGVzID8gYXR0cmlidXRl
cy5yZWxlYXNlKCkgOiAwOwogfQogCiB2b2lkIEluc3BlY3RvckNTU0FnZW50OjpnZXRDb21wdXRl
ZFN0eWxlRm9yTm9kZShFcnJvclN0cmluZyogZXJyb3JTdHJpbmcsIGludCBub2RlSWQsIGNvbnN0
IFJlZlB0cjxJbnNwZWN0b3JBcnJheT4qIGZvcmNlZFBzZXVkb0NsYXNzZXMsIFJlZlB0cjxJbnNw
ZWN0b3JBcnJheT4mIHN0eWxlKQpAQCAtODYyLDI2ICs4NjMsMTcgQEAgUGFzc1JlZlB0cjxJbnNw
ZWN0b3JBcnJheT4gSW5zcGVjdG9yQ1NTQWdlbnQ6OmJ1aWxkQXJyYXlGb3JSdWxlTGlzdChDU1NS
dWxlTGlzdCoKICAgICByZXR1cm4gcmVzdWx0LnJlbGVhc2UoKTsKIH0KIAotUGFzc1JlZlB0cjxJ
bnNwZWN0b3JBcnJheT4gSW5zcGVjdG9yQ1NTQWdlbnQ6OmJ1aWxkQXJyYXlGb3JBdHRyaWJ1dGVT
dHlsZXMoRWxlbWVudCogZWxlbWVudCkKK1Bhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBJbnNw
ZWN0b3JDU1NBZ2VudDo6YnVpbGRPYmplY3RGb3JBdHRyaWJ1dGVzU3R5bGUoRWxlbWVudCogZWxl
bWVudCkKIHsKLSAgICAvLyBGSVhNRTogU2luY2Ugd2Ugbm8gbG9uZ2VyIGhhdmUgcGVyLWF0dHJp
YnV0ZSBzdHlsZSBkZWNsYXJhdGlvbnMsIHdlIHNob3VsZCBjb21lIHVwCi0gICAgLy8gICAgICAg
IHdpdGggYSBuaWNlciB3YXkgdG8gcHJlc2VudCB3aGF0IHdlIGRvIGhhdmUuCi0KICAgICBpZiAo
IWVsZW1lbnQtPmlzU3R5bGVkRWxlbWVudCgpKQotICAgICAgICByZXR1cm4gSW5zcGVjdG9yQXJy
YXk6OmNyZWF0ZSgpOworICAgICAgICByZXR1cm4gMDsKIAogICAgIFN0eWxlUHJvcGVydHlTZXQq
IGF0dHJpYnV0ZVN0eWxlID0gc3RhdGljX2Nhc3Q8U3R5bGVkRWxlbWVudCo+KGVsZW1lbnQpLT5h
dHRyaWJ1dGVTdHlsZSgpOwogICAgIGlmICghYXR0cmlidXRlU3R5bGUpCi0gICAgICAgIHJldHVy
biBJbnNwZWN0b3JBcnJheTo6Y3JlYXRlKCk7CisgICAgICAgIHJldHVybiAwOwogCi0gICAgUmVm
UHRyPEluc3BlY3Rvck9iamVjdD4gYXR0clN0eWxlT2JqZWN0ID0gSW5zcGVjdG9yT2JqZWN0Ojpj
cmVhdGUoKTsKICAgICBSZWZQdHI8SW5zcGVjdG9yU3R5bGU+IGluc3BlY3RvclN0eWxlID0gSW5z
cGVjdG9yU3R5bGU6OmNyZWF0ZShJbnNwZWN0b3JDU1NJZCgpLCBhdHRyaWJ1dGVTdHlsZS0+ZW5z
dXJlQ1NTU3R5bGVEZWNsYXJhdGlvbigpLCAwKTsKLSAgICBhdHRyU3R5bGVPYmplY3QtPnNldFN0
cmluZygibmFtZSIsICIiKTsKLSAgICBhdHRyU3R5bGVPYmplY3QtPnNldE9iamVjdCgic3R5bGUi
LCBpbnNwZWN0b3JTdHlsZS0+YnVpbGRPYmplY3RGb3JTdHlsZSgpKTsKLQotICAgIFJlZlB0cjxJ
bnNwZWN0b3JBcnJheT4gYXR0clN0eWxlcyA9IEluc3BlY3RvckFycmF5OjpjcmVhdGUoKTsKLSAg
ICBhdHRyU3R5bGVzLT5wdXNoT2JqZWN0KGF0dHJTdHlsZU9iamVjdC5yZWxlYXNlKCkpOwotICAg
IHJldHVybiBhdHRyU3R5bGVzLnJlbGVhc2UoKTsKKyAgICByZXR1cm4gaW5zcGVjdG9yU3R5bGUt
PmJ1aWxkT2JqZWN0Rm9yU3R5bGUoKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JDU1NBZ2VudDo6ZGlk
UmVtb3ZlRG9jdW1lbnQoRG9jdW1lbnQqIGRvY3VtZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuaAppbmRleCBlYmIzMTM2YmEwMzc4Njg5MjliNjgzMDVi
MjY1ZGNkNTEzZjQ5MzIxLi40YWZkOWZiMWMzNWQ3ZDIxZGViZDZkNTc5Y2Y5YWNjZDliZDI5MTFj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuaApAQCAt
NzYsNyArNzYsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBtZWRpYVF1ZXJ5UmVzdWx0Q2hhbmdlZCgp
OwogCiAgICAgdmlydHVhbCB2b2lkIGdldENvbXB1dGVkU3R5bGVGb3JOb2RlKEVycm9yU3RyaW5n
KiwgaW50IG5vZGVJZCwgY29uc3QgUmVmUHRyPEluc3BlY3RvckFycmF5PiogZm9yY2VkUHNldWRv
Q2xhc3NlcywgUmVmUHRyPEluc3BlY3RvckFycmF5PiYgc3R5bGUpOwotICAgIHZpcnR1YWwgdm9p
ZCBnZXRJbmxpbmVTdHlsZXNGb3JOb2RlKEVycm9yU3RyaW5nKiwgaW50IG5vZGVJZCwgUmVmUHRy
PEluc3BlY3Rvck9iamVjdD4mIGlubGluZVN0eWxlLCBSZWZQdHI8SW5zcGVjdG9yQXJyYXk+JiBh
dHRyaWJ1dGVzKTsKKyAgICB2aXJ0dWFsIHZvaWQgZ2V0SW5saW5lU3R5bGVzRm9yTm9kZShFcnJv
clN0cmluZyosIGludCBub2RlSWQsIFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+JiBpbmxpbmVTdHls
ZSwgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4mIGF0dHJpYnV0ZXMpOwogICAgIHZpcnR1YWwgdm9p
ZCBnZXRNYXRjaGVkU3R5bGVzRm9yTm9kZShFcnJvclN0cmluZyosIGludCBub2RlSWQsIGNvbnN0
IFJlZlB0cjxJbnNwZWN0b3JBcnJheT4qIGZvcmNlZFBzZXVkb0NsYXNzZXMsIGNvbnN0IGJvb2wq
IGluY2x1ZGVQc2V1ZG8sIGNvbnN0IGJvb2wqIGluY2x1ZGVJbmhlcml0ZWQsIFJlZlB0cjxJbnNw
ZWN0b3JBcnJheT4mIG1hdGNoZWRDU1NSdWxlcywgUmVmUHRyPEluc3BlY3RvckFycmF5PiYgcHNl
dWRvSWRSdWxlcywgUmVmUHRyPEluc3BlY3RvckFycmF5PiYgaW5oZXJpdGVkRW50cmllcyk7CiAg
ICAgdmlydHVhbCB2b2lkIGdldEFsbFN0eWxlU2hlZXRzKEVycm9yU3RyaW5nKiwgUmVmUHRyPElu
c3BlY3RvckFycmF5PiYgc3R5bGVTaGVldEluZm9zKTsKICAgICB2aXJ0dWFsIHZvaWQgZ2V0U3R5
bGVTaGVldChFcnJvclN0cmluZyosIGNvbnN0IFN0cmluZyYgc3R5bGVTaGVldElkLCBSZWZQdHI8
SW5zcGVjdG9yT2JqZWN0PiYgcmVzdWx0KTsKQEAgLTEyMSw3ICsxMjEsNyBAQCBwcml2YXRlOgog
ICAgIFN0cmluZyBkZXRlY3RPcmlnaW4oQ1NTU3R5bGVTaGVldCogcGFnZVN0eWxlU2hlZXQsIERv
Y3VtZW50KiBvd25lckRvY3VtZW50KTsKIAogICAgIFBhc3NSZWZQdHI8SW5zcGVjdG9yQXJyYXk+
IGJ1aWxkQXJyYXlGb3JSdWxlTGlzdChDU1NSdWxlTGlzdCogcnVsZUxpc3QpOwotICAgIFBhc3NS
ZWZQdHI8SW5zcGVjdG9yQXJyYXk+IGJ1aWxkQXJyYXlGb3JBdHRyaWJ1dGVTdHlsZXMoRWxlbWVu
dCopOworICAgIFBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBidWlsZE9iamVjdEZvckF0dHJp
YnV0ZXNTdHlsZShFbGVtZW50Kik7CiAKICAgICAvLyBJbnNwZWN0b3JET01BZ2VudDo6RE9NTGlz
dGVuZXIgaW50ZXJmYWNlCiAgICAgdmlydHVhbCB2b2lkIGRpZFJlbW92ZURvY3VtZW50KERvY3Vt
ZW50Kik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0F1
ZGl0UnVsZXMuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0F1ZGl0UnVs
ZXMuanMKaW5kZXggOTM3YTg3MjQzYTU1ZGVlZTAwODA0MDE2MDg2ZTVlYzA2NWU0ZGZkZC4uODQz
MGZmYTFlMGFmZWE0ZDU1NTAzNmY2MGYxZjAzNjgzOWIwOTIwZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9BdWRpdFJ1bGVzLmpzCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQXVkaXRSdWxlcy5qcwpAQCAtNzI5LDggKzcyOSwx
MCBAQCBXZWJJbnNwZWN0b3IuQXVkaXRSdWxlcy5JbWFnZURpbWVuc2lvbnNSdWxlLnByb3RvdHlw
ZSA9IHsKICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICB9CiAKLSAgICAgICAg
ICAgIHZhciB3aWR0aEZvdW5kID0gIndpZHRoIiBpbiBzdHlsZXMuc3R5bGVBdHRyaWJ1dGVzOwot
ICAgICAgICAgICAgdmFyIGhlaWdodEZvdW5kID0gImhlaWdodCIgaW4gc3R5bGVzLnN0eWxlQXR0
cmlidXRlczsKKyAgICAgICAgICAgIGlmIChzdHlsZXMuYXR0cmlidXRlc1N0eWxlKSB7CisgICAg
ICAgICAgICAgICAgdmFyIHdpZHRoRm91bmQgPSAhIXN0eWxlcy5hdHRyaWJ1dGVzU3R5bGUuZ2V0
TGl2ZVByb3BlcnR5KCJ3aWR0aCIpOworICAgICAgICAgICAgICAgIHZhciBoZWlnaHRGb3VuZCA9
ICEhc3R5bGVzLmF0dHJpYnV0ZXNTdHlsZS5nZXRMaXZlUHJvcGVydHkoImhlaWdodCIpOworICAg
ICAgICAgICAgfQogCiAgICAgICAgICAgICB2YXIgaW5saW5lU3R5bGUgPSBzdHlsZXMuaW5saW5l
U3R5bGU7CiAgICAgICAgICAgICBpZiAoaW5saW5lU3R5bGUpIHsKQEAgLTc2NSwxMCArNzY3LDEw
IEBAIFdlYkluc3BlY3Rvci5BdWRpdFJ1bGVzLkltYWdlRGltZW5zaW9uc1J1bGUucHJvdG90eXBl
ID0gewogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIHZhciB0YXJnZXRSZXN1
bHQgPSB7fTsKIAotICAgICAgICAgICAgZnVuY3Rpb24gaW5saW5lQ2FsbGJhY2soaW5saW5lU3R5
bGUsIHN0eWxlQXR0cmlidXRlcykKKyAgICAgICAgICAgIGZ1bmN0aW9uIGlubGluZUNhbGxiYWNr
KGlubGluZVN0eWxlLCBhdHRyaWJ1dGVzU3R5bGUpCiAgICAgICAgICAgICB7CiAgICAgICAgICAg
ICAgICAgdGFyZ2V0UmVzdWx0LmlubGluZVN0eWxlID0gaW5saW5lU3R5bGU7Ci0gICAgICAgICAg
ICAgICAgdGFyZ2V0UmVzdWx0LnN0eWxlQXR0cmlidXRlcyA9IHN0eWxlQXR0cmlidXRlczsKKyAg
ICAgICAgICAgICAgICB0YXJnZXRSZXN1bHQuYXR0cmlidXRlc1N0eWxlID0gYXR0cmlidXRlc1N0
eWxlOwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBmdW5jdGlvbiBtYXRjaGVkQ2FsbGJh
Y2socmVzdWx0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9DU1NTdHlsZU1vZGVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9D
U1NTdHlsZU1vZGVsLmpzCmluZGV4IDdiNDg3MmU3NGExZjI0ZWY2NzA1NzkwYjFiYmQ5OTI2M2Nl
Y2E2N2EuLjUwNjg2YmFjNGYyN2E0N2VhNGVkYzAwZWJjZDU0YTUwOGNhZTdlMjQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ1NTU3R5bGVNb2RlbC5qcwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NTU1N0eWxlTW9kZWwuanMK
QEAgLTEzMiwyOCArMTMyLDE5IEBAIFdlYkluc3BlY3Rvci5DU1NTdHlsZU1vZGVsLnByb3RvdHlw
ZSA9IHsKIAogICAgIC8qKgogICAgICAqIEBwYXJhbSB7RE9NQWdlbnQuTm9kZUlkfSBub2RlSWQK
LSAgICAgKiBAcGFyYW0ge2Z1bmN0aW9uKD9XZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlv
biwgP09iamVjdC48c3RyaW5nLCBzdHJpbmc+KX0gdXNlckNhbGxiYWNrCisgICAgICogQHBhcmFt
IHtmdW5jdGlvbig/V2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb24sID9XZWJJbnNwZWN0
b3IuQ1NTU3R5bGVEZWNsYXJhdGlvbil9IHVzZXJDYWxsYmFjawogICAgICAqLwogICAgIGdldElu
bGluZVN0eWxlc0FzeW5jOiBmdW5jdGlvbihub2RlSWQsIHVzZXJDYWxsYmFjaykKICAgICB7CiAg
ICAgICAgIC8qKgotICAgICAgICAgKiBAcGFyYW0ge2Z1bmN0aW9uKD9XZWJJbnNwZWN0b3IuQ1NT
U3R5bGVEZWNsYXJhdGlvbiwgP09iamVjdC48c3RyaW5nLCBzdHJpbmc+KX0gdXNlckNhbGxiYWNr
CisgICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb24oP1dlYkluc3BlY3Rvci5DU1NTdHlsZURlY2xh
cmF0aW9uLCA/V2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb24pfSB1c2VyQ2FsbGJhY2sK
ICAgICAgICAgICovCi0gICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrKHVzZXJDYWxsYmFjaywgZXJy
b3IsIGlubGluZVBheWxvYWQsIGF0dHJpYnV0ZXNQYXlsb2FkKQorICAgICAgICBmdW5jdGlvbiBj
YWxsYmFjayh1c2VyQ2FsbGJhY2ssIGVycm9yLCBpbmxpbmVQYXlsb2FkLCBhdHRyaWJ1dGVzU3R5
bGVQYXlsb2FkKQogICAgICAgICB7CiAgICAgICAgICAgICBpZiAoZXJyb3IgfHwgIWlubGluZVBh
eWxvYWQpCiAgICAgICAgICAgICAgICAgdXNlckNhbGxiYWNrKG51bGwsIG51bGwpOwotICAgICAg
ICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgdmFyIHN0eWxlQXR0cmlidXRlczsKLSAgICAg
ICAgICAgICAgICBpZiAoYXR0cmlidXRlc1BheWxvYWQpIHsKLSAgICAgICAgICAgICAgICAgICAg
c3R5bGVBdHRyaWJ1dGVzID0ge307Ci0gICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAw
OyBpIDwgYXR0cmlidXRlc1BheWxvYWQubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIHZhciBuYW1lID0gYXR0cmlidXRlc1BheWxvYWRbaV0ubmFtZTsKLSAgICAgICAgICAg
ICAgICAgICAgICAgIHN0eWxlQXR0cmlidXRlc1tuYW1lXSA9IFdlYkluc3BlY3Rvci5DU1NTdHls
ZURlY2xhcmF0aW9uLnBhcnNlUGF5bG9hZChhdHRyaWJ1dGVzUGF5bG9hZFtpXS5zdHlsZSk7Ci0g
ICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAg
dXNlckNhbGxiYWNrKFdlYkluc3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0aW9uLnBhcnNlUGF5bG9h
ZChpbmxpbmVQYXlsb2FkKSwgc3R5bGVBdHRyaWJ1dGVzIHx8IG51bGwpOwotICAgICAgICAgICAg
fQorICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHVzZXJDYWxsYmFjayhXZWJJbnNw
ZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvbi5wYXJzZVBheWxvYWQoaW5saW5lUGF5bG9hZCksIGF0
dHJpYnV0ZXNTdHlsZVBheWxvYWQgPyBXZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvbi5w
YXJzZVBheWxvYWQoYXR0cmlidXRlc1N0eWxlUGF5bG9hZCkgOiBudWxsKTsKICAgICAgICAgfQog
CiAgICAgICAgIENTU0FnZW50LmdldElubGluZVN0eWxlc0Zvck5vZGUobm9kZUlkLCBjYWxsYmFj
ay5iaW5kKG51bGwsIHVzZXJDYWxsYmFjaykpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9TdHlsZXNTaWRlYmFyUGFuZS5qcyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvU3R5bGVzU2lkZWJhclBhbmUuanMKaW5kZXggZDdlMGEzODdk
MjM4OWI3OWYyZmU1M2UxY2I5OTAwZmE1YzE1ODNiZi4uNzExZDI2YmZlMmNjNWJlZmE1ZjlmNmM2
YTcwMTZjODg3ZjAxNjA5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9TdHlsZXNTaWRlYmFyUGFuZS5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL1N0eWxlc1NpZGViYXJQYW5lLmpzCkBAIC0yNDIsMTAgKzI0MiwxMCBAQCBX
ZWJJbnNwZWN0b3IuU3R5bGVzU2lkZWJhclBhbmUucHJvdG90eXBlID0gewogICAgICAgICAgICAg
ICAgIGNhbGxiYWNrKCk7CiAgICAgICAgIH0KIAotICAgICAgICBmdW5jdGlvbiBpbmxpbmVDYWxs
YmFjayhpbmxpbmVTdHlsZSwgc3R5bGVBdHRyaWJ1dGVzKQorICAgICAgICBmdW5jdGlvbiBpbmxp
bmVDYWxsYmFjayhpbmxpbmVTdHlsZSwgYXR0cmlidXRlc1N0eWxlKQogICAgICAgICB7CiAgICAg
ICAgICAgICByZXN1bHRTdHlsZXMuaW5saW5lU3R5bGUgPSBpbmxpbmVTdHlsZTsKLSAgICAgICAg
ICAgIHJlc3VsdFN0eWxlcy5zdHlsZUF0dHJpYnV0ZXMgPSBzdHlsZUF0dHJpYnV0ZXM7CisgICAg
ICAgICAgICByZXN1bHRTdHlsZXMuYXR0cmlidXRlc1N0eWxlID0gYXR0cmlidXRlc1N0eWxlOwog
ICAgICAgICB9CiAKICAgICAgICAgZnVuY3Rpb24gY29tcHV0ZWRDYWxsYmFjayhjb21wdXRlZFN0
eWxlKQpAQCAtNDEyLDE2ICs0MTIsMTMgQEAgV2ViSW5zcGVjdG9yLlN0eWxlc1NpZGViYXJQYW5l
LnByb3RvdHlwZSA9IHsKIAogICAgICAgICB2YXIgc3R5bGVSdWxlcyA9IFtdOwogCi0gICAgICAg
IGZ1bmN0aW9uIGFkZFN0eWxlQXR0cmlidXRlcygpCisgICAgICAgIGZ1bmN0aW9uIGFkZEF0dHJp
YnV0ZXNTdHlsZSgpCiAgICAgICAgIHsKLSAgICAgICAgICAgIGZvciAodmFyIG5hbWUgaW4gc3R5
bGVzLnN0eWxlQXR0cmlidXRlcykgewotICAgICAgICAgICAgICAgIHZhciBhdHRyU3R5bGUgPSB7
IHN0eWxlOiBzdHlsZXMuc3R5bGVBdHRyaWJ1dGVzW25hbWVdLCBlZGl0YWJsZTogZmFsc2UgfTsK
LSAgICAgICAgICAgICAgICBhdHRyU3R5bGUuc2VsZWN0b3JUZXh0ID0gbm9kZS5ub2RlTmFtZUlu
Q29ycmVjdENhc2UoKSArICJbIiArIG5hbWU7Ci0gICAgICAgICAgICAgICAgaWYgKG5vZGUuZ2V0
QXR0cmlidXRlKG5hbWUpKQotICAgICAgICAgICAgICAgICAgICBhdHRyU3R5bGUuc2VsZWN0b3JU
ZXh0ICs9ICI9IiArIG5vZGUuZ2V0QXR0cmlidXRlKG5hbWUpOwotICAgICAgICAgICAgICAgIGF0
dHJTdHlsZS5zZWxlY3RvclRleHQgKz0gIl0iOwotICAgICAgICAgICAgICAgIHN0eWxlUnVsZXMu
cHVzaChhdHRyU3R5bGUpOwotICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKCFzdHlsZXMu
YXR0cmlidXRlc1N0eWxlKQorICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIHZh
ciBhdHRyU3R5bGUgPSB7IHN0eWxlOiBzdHlsZXMuYXR0cmlidXRlc1N0eWxlLCBlZGl0YWJsZTog
ZmFsc2UgfTsKKyAgICAgICAgICAgIGF0dHJTdHlsZS5zZWxlY3RvclRleHQgPSBub2RlLm5vZGVO
YW1lSW5Db3JyZWN0Q2FzZSgpICsgIlsiICsgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJBdHRyaWJ1
dGVzIFN0eWxlIikgKyAiXSI7CisgICAgICAgICAgICBzdHlsZVJ1bGVzLnB1c2goYXR0clN0eWxl
KTsKICAgICAgICAgfQogCiAgICAgICAgIHN0eWxlUnVsZXMucHVzaCh7IGNvbXB1dGVkU3R5bGU6
IHRydWUsIHNlbGVjdG9yVGV4dDogIiIsIHN0eWxlOiBub2RlQ29tcHV0ZWRTdHlsZSwgZWRpdGFi
bGU6IGZhbHNlIH0pOwpAQCAtNDM1LDIxICs0MzIsMjEgQEAgV2ViSW5zcGVjdG9yLlN0eWxlc1Np
ZGViYXJQYW5lLnByb3RvdHlwZSA9IHsKICAgICAgICAgLy8gQWRkIHJ1bGVzIGluIHJldmVyc2Ug
b3JkZXIgdG8gbWF0Y2ggdGhlIGNhc2NhZGUgb3JkZXIuCiAgICAgICAgIGlmIChzdHlsZXMubWF0
Y2hlZENTU1J1bGVzLmxlbmd0aCkKICAgICAgICAgICAgIHN0eWxlUnVsZXMucHVzaCh7IGlzU3R5
bGVTZXBhcmF0b3I6IHRydWUsIHRleHQ6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiTWF0Y2hlZCBD
U1MgUnVsZXMiKSB9KTsKLSAgICAgICAgdmFyIGFkZGVkU3R5bGVBdHRyaWJ1dGVzOworICAgICAg
ICB2YXIgYWRkZWRBdHRyaWJ1dGVzU3R5bGU7CiAgICAgICAgIGZvciAodmFyIGkgPSBzdHlsZXMu
bWF0Y2hlZENTU1J1bGVzLmxlbmd0aCAtIDE7IGkgPj0gMDsgLS1pKSB7CiAgICAgICAgICAgICB2
YXIgcnVsZSA9IHN0eWxlcy5tYXRjaGVkQ1NTUnVsZXNbaV07CiAgICAgICAgICAgICBpZiAoIVdl
Ykluc3BlY3Rvci5zZXR0aW5ncy5zaG93VXNlckFnZW50U3R5bGVzLmdldCgpICYmIChydWxlLmlz
VXNlciB8fCBydWxlLmlzVXNlckFnZW50KSkKICAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAg
ICAgICAgICAgIGlmICgocnVsZS5pc1VzZXIgfHwgcnVsZS5pc1VzZXJBZ2VudCkgJiYgIWFkZGVk
U3R5bGVBdHRyaWJ1dGVzKSB7CisgICAgICAgICAgICBpZiAoKHJ1bGUuaXNVc2VyIHx8IHJ1bGUu
aXNVc2VyQWdlbnQpICYmICFhZGRlZEF0dHJpYnV0ZXNTdHlsZSkgewogICAgICAgICAgICAgICAg
IC8vIFNob3cgZWxlbWVudCdzIFN0eWxlIEF0dHJpYnV0ZXMgYWZ0ZXIgYWxsIGF1dGhvciBydWxl
cy4KLSAgICAgICAgICAgICAgICBhZGRlZFN0eWxlQXR0cmlidXRlcyA9IHRydWU7Ci0gICAgICAg
ICAgICAgICAgYWRkU3R5bGVBdHRyaWJ1dGVzKCk7CisgICAgICAgICAgICAgICAgYWRkZWRBdHRy
aWJ1dGVzU3R5bGUgPSB0cnVlOworICAgICAgICAgICAgICAgIGFkZEF0dHJpYnV0ZXNTdHlsZSgp
OwogICAgICAgICAgICAgfQogICAgICAgICAgICAgc3R5bGVSdWxlcy5wdXNoKHsgc3R5bGU6IHJ1
bGUuc3R5bGUsIHNlbGVjdG9yVGV4dDogcnVsZS5zZWxlY3RvclRleHQsIG1lZGlhOiBydWxlLm1l
ZGlhLCBzb3VyY2VVUkw6IHJ1bGUuc291cmNlVVJMLCBydWxlOiBydWxlLCBlZGl0YWJsZTogISEo
cnVsZS5zdHlsZSAmJiBydWxlLnN0eWxlLmlkKSB9KTsKICAgICAgICAgfQogCi0gICAgICAgIGlm
ICghYWRkZWRTdHlsZUF0dHJpYnV0ZXMpCi0gICAgICAgICAgICBhZGRTdHlsZUF0dHJpYnV0ZXMo
KTsKKyAgICAgICAgaWYgKCFhZGRlZEF0dHJpYnV0ZXNTdHlsZSkKKyAgICAgICAgICAgIGFkZEF0
dHJpYnV0ZXNTdHlsZSgpOwogCiAgICAgICAgIC8vIFdhbGsgdGhlIG5vZGUgc3RydWN0dXJlIGFu
ZCBpZGVudGlmeSBzdHlsZXMgd2l0aCBpbmhlcml0ZWQgcHJvcGVydGllcy4KICAgICAgICAgdmFy
IHBhcmVudE5vZGUgPSBub2RlLnBhcmVudE5vZGU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYjRkYjFiZGE0NDQyMmQ0ZWEx
NGIxMzY4NzhkM2E1ZTVkNzU5OGM0ZS4uYzQ5ZDZiNGIwOWUzMGI3OWU1MmY5Y2RiMDQ2NWFiOTZk
ZGVlOGUwNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTAyLTA5ICBBbGV4YW5kZXIgUGF2
bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogVXBk
YXRlIHByb3RvY29sIGFuZCBVSSB0byBmb2xsb3cgYnVnIDc3MjA0IChLaWxsIHBlci1BdHRyaWJ1
dGUgc3R5bGUgZGVjbGFyYXRpb25zKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9Nzc5NjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIGluc3BlY3Rvci9lbGVtZW50cy9lbGVtZW50cy1wYW5lbC1zdHlsZXMt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGluc3BlY3Rvci9zdHlsZXMvc3R5bGVzLWNvbXB1dGVk
LXRyYWNlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBpbnNwZWN0b3Ivc3R5bGVzL3N0eWxlcy1u
ZXctQVBJLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBpbnNwZWN0b3Ivc3R5bGVzL3N0eWxlcy1u
ZXctQVBJLmh0bWw6CisKIDIwMTItMDItMDkgIE1pa2UgTGF3dGhlciAgPG1pa2VsYXd0aGVyQGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkIHRlc3RfZXhwZWN0YXRpb25zIGNoYW5n
ZS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9lbGVtZW50cy1w
YW5lbC1zdHlsZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRz
L2VsZW1lbnRzLXBhbmVsLXN0eWxlcy1leHBlY3RlZC50eHQKaW5kZXggNDQzMmY1ODE3ZjgwNDUw
ZGJiMDFiYTdlYTIzYzhhYjllYTlkYTYyYS4uM2RlN2I2ZWYyMDc1MDZjYWM5MDcwNTA2ODg0YjI0
ZDUwODAzYzc4OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2Vs
ZW1lbnRzLXBhbmVsLXN0eWxlcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL2VsZW1lbnRzL2VsZW1lbnRzLXBhbmVsLXN0eWxlcy1leHBlY3RlZC50eHQKQEAgLTMyLDcg
KzMyLDcgQEAgbWFyZ2luLXJpZ2h0OiAwcHg7CiBtYXJnaW4tdG9wOiAxMHB4OwogICAgIC5mb28g
LSAxMHB4IGVsZW1lbnRzLXBhbmVsLXN0eWxlcy5jc3M6MTQKIHRleHQtYWxpZ246IC13ZWJraXQt
bGVmdDsKLSAgICBkaXZbXSAtIC13ZWJraXQtbGVmdCAKKyAgICBkaXZbQXR0cmlidXRlcyBTdHls
ZV0gLSAtd2Via2l0LWxlZnQgCiAKIFtleHBhbmRlZF0gCiBlbGVtZW50LnN0eWxlICB7ICgpCkBA
IC02Nyw3ICs2Nyw3IEBAIGJvcmRlci1yYWRpdXM6IDVweDsKIC8tLSBvdmVybG9hZGVkIC0tLyBm
b250LXN0eWxlOiBub3JtYWwgIWltcG9ydGFudDsKIAogW2V4cGFuZGVkXSAKLWRpdltdICB7ICgp
CitkaXZbQXR0cmlidXRlcyBTdHlsZV0gIHsgKCkKIHRleHQtYWxpZ246IC13ZWJraXQtbGVmdDsK
IAogW2V4cGFuZGVkXSAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMv
c3R5bGVzLWNvbXB1dGVkLXRyYWNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9zdHlsZXMvc3R5bGVzLWNvbXB1dGVkLXRyYWNlLWV4cGVjdGVkLnR4dAppbmRleCBlNDllMmY3
MzM1ZWI1M2M0NTE4OGQ1NjUxZjU0NGE0ZDVlYzZkYzFkLi5iY2E0ZDA2MmNmOWMwYzhmYTExNzNl
YTAxNzVkNjE1ZmY0NjRjMTdjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5
bGVzL3N0eWxlcy1jb21wdXRlZC10cmFjZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL3N0eWxlcy9zdHlsZXMtY29tcHV0ZWQtdHJhY2UtZXhwZWN0ZWQudHh0CkBAIC01
Miw3ICs1Miw3IEBAIGVsZW1lbnQuc3R5bGUgIHsgKCkKIAogPT09PT09PT0gTWF0Y2hlZCBDU1Mg
UnVsZXMgPT09PT09PT0KIFtleHBhbmRlZF0gCi1idXR0b25bXSAgeyAoKQorYnV0dG9uW0F0dHJp
YnV0ZXMgU3R5bGVdICB7ICgpCiBkaXNwbGF5OiBub25lOwogCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvc3R5bGVzLW5ldy1BUEktZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9zdHlsZXMtbmV3LUFQSS1leHBlY3RlZC50eHQKaW5k
ZXggMzFmZjRkMGQzMDQ4M2U4MmQ5ZmQyYjFjODNiZjIzYTBiOGM2ZmM0OS4uYzczZWE2ZmU1OTlm
Y2RhMTMzMzY2OTUwNzY5YzhhOWJlMDFkYjBhMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL3N0eWxlcy9zdHlsZXMtbmV3LUFQSS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL3N0eWxlcy9zdHlsZXMtbmV3LUFQSS1leHBlY3RlZC50eHQKQEAgLTkwLDgg
KzkwLDcgQEAgcmF3IHN0eWxlCiBbJ3dpZHRoJzonODUlJ10gQFsyMS0zMl0gYWN0aXZlCiBbJ2Jh
Y2tncm91bmQtaW1hZ2UnOid1cmwoYmFyLnBuZyknXSBAWzMzLTYzXSBhY3RpdmUKIAotPT09IEF0
dHJpYnV0ZSBzdHlsZXMgZm9yIHRhYmxlID09PQotQXR0cmlidXRlOiAKKz09PSBBdHRyaWJ1dGVz
IHN0eWxlIGZvciB0YWJsZSA9PT0KIAogc3R5bGUKIHJhdyBzdHlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9zdHlsZXMtbmV3LUFQSS5odG1sIGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL3N0eWxlcy9zdHlsZXMtbmV3LUFQSS5odG1sCmluZGV4IDg4NTJjYWNjZWJk
MGJhNzliM2IxMThhMTVjZGMxM2Y0YWJhZDI0NmYuLmMwZjU3OWQ5Y2M0Mzk4ODE1MjM1N2RjNjlm
OTY0YjU1MjI4YTUzYTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMv
c3R5bGVzLW5ldy1BUEkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3N0
eWxlcy1uZXctQVBJLmh0bWwKQEAgLTk2LDE4ICs5NiwxNSBAQCBmdW5jdGlvbiB0ZXN0KCkKIAog
ICAgIGZ1bmN0aW9uIHRlc3RfdGFibGVTdHlsZXMoKQogICAgIHsKLSAgICAgICAgZnVuY3Rpb24g
Y2FsbGJhY2soZXJyb3IsIGlubGluZVN0eWxlLCBzdHlsZUF0dHJpYnV0ZXMpCisgICAgICAgIGZ1
bmN0aW9uIGNhbGxiYWNrKGVycm9yLCBpbmxpbmVTdHlsZSwgYXR0cmlidXRlc1N0eWxlKQogICAg
ICAgICB7CiAgICAgICAgICAgICBpZiAoZXJyb3IpIHsKICAgICAgICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmFkZFJlc3VsdCgiZXJyb3I6ICIgKyBlcnJvcik7CiAgICAgICAgICAgICAgICAgcmV0
dXJuOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQo
IiIpOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIj09PSBBdHRyaWJ1dGUg
c3R5bGVzIGZvciB0YWJsZSA9PT0iKTsKLSAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwg
c3R5bGVBdHRyaWJ1dGVzLmxlbmd0aDsgKytpKSB7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5hZGRSZXN1bHQoIkF0dHJpYnV0ZTogIiArIHN0eWxlQXR0cmlidXRlc1tpXS5uYW1lKTsK
LSAgICAgICAgICAgICAgICBkdW1wUnVsZU9yU3R5bGUoc3R5bGVBdHRyaWJ1dGVzW2ldLnN0eWxl
KTsKLSAgICAgICAgICAgIH0KKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCI9
PT0gQXR0cmlidXRlcyBzdHlsZSBmb3IgdGFibGUgPT09Iik7CisgICAgICAgICAgICBkdW1wUnVs
ZU9yU3R5bGUoYXR0cmlidXRlc1N0eWxlKTsKICAgICAgICAgICAgIHRlc3Rfc3R5bGVTaGVldHMo
KTsKICAgICAgICAgfQogCkBAIC0zODYsNyArMzgzLDcgQEAgYm9keS5tYWlucGFnZSB7CiA8cD4K
IFRlc3RzIHRoYXQgSW5zcGVjdG9yQ1NTQWdlbnQgQVBJIG1ldGhvZHMgd29yayBhcyBleHBlY3Rl
ZC4KIDwvcD4KLTx0YWJsZSB3aWR0aD01MCUgaWQ9InRoZXRhYmxlIj4KKzx0YWJsZSB3aWR0aD0i
NTAlIiBpZD0idGhldGFibGUiPgogPC90YWJsZT4KIDxoMSBpZD0idG9nZ2xlIj5IMTwvaDE+CiA8
L2JvZHk+Cg==
</data>
<flag name="review"
          id="128028"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>