<?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>44947</bug_id>
          
          <creation_ts>2010-08-31 07:09:20 -0700</creation_ts>
          <short_desc>Web Inspector: The parser of Inspector protocol messages should be covered by a test.</short_desc>
          <delta_ts>2010-08-31 12:42:25 -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>
          <dependson>44875</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ilya Tikhonovsky">loislo</reporter>
          <assigned_to name="Ilya Tikhonovsky">loislo</assigned_to>
          <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>272075</commentid>
    <comment_count>0</comment_count>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2010-08-31 07:09:20 -0700</bug_when>
    <thetext>The inspector protocol is based on messages in JSON format.
Each message should be a JSON object with a number of properties.
InspectorBackendDispatcher is parsing these messages and should be able to detect wrong formatted messages.
It has these functionality but no tests for it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>272085</commentid>
    <comment_count>1</comment_count>
      <attachid>66049</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2010-08-31 07:33:55 -0700</bug_when>
    <thetext>Created attachment 66049
[patch] initial version.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>272086</commentid>
    <comment_count>2</comment_count>
      <attachid>66050</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2010-08-31 07:37:46 -0700</bug_when>
    <thetext>Created attachment 66050
[patch] initial version. Just missed the test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>272090</commentid>
    <comment_count>3</comment_count>
      <attachid>66050</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-08-31 07:47:33 -0700</bug_when>
    <thetext>Comment on attachment 66050
[patch] initial version. Just missed the test.

&gt; LayoutTests/inspector/report-protocol-errors.html:34
&gt; +    for (var message in messages)
Usually we don&apos;t use for/in for iterating over array elements.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>272281</commentid>
    <comment_count>4</comment_count>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2010-08-31 12:42:25 -0700</bug_when>
    <thetext>r66522 = 1547de1beffdb7e673e04ede99e9eaa579928901 (refs/remotes/trunk)
	M	WebCore/ChangeLog
	M	WebCore/inspector/CodeGeneratorInspector.pm
	M	LayoutTests/http/tests/inspector/inspector-test2.js
	A	LayoutTests/inspector/report-protocol-errors-expected.txt
	A	LayoutTests/inspector/report-protocol-errors.html
	M	LayoutTests/ChangeLog
r66523 = cb24aad112c9f399a4dbe5fd2f6857d0386723d6 (refs/remotes/trunk)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>66049</attachid>
            <date>2010-08-31 07:33:55 -0700</date>
            <delta_ts>2010-08-31 07:37:46 -0700</delta_ts>
            <desc>[patch] initial version.</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>9913</size>
            <attacher name="Ilya Tikhonovsky">loislo</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBmM2VlMmFkLi40ZjMxYjFmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDggKzEsMjYgQEAKKzIwMTAtMDgt
MzEgIElseWEgVGlraG9ub3Zza3kgIDxsb2lzbG9AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlYkluc3BlY3RvcjogVGhlIHBh
cnNlciBvZiBJbnNwZWN0b3IgcHJvdG9jb2wgbWVzc2FnZXMgc2hvdWxkIGJlIGNvdmVyZWQgYnkg
YSB0ZXN0LgorCisgICAgICAgIFRoZSBpbnNwZWN0b3IgcHJvdG9jb2wgaXMgYmFzZWQgb24gbWVz
c2FnZXMgaW4gSlNPTiBmb3JtYXQuCisgICAgICAgIEVhY2ggbWVzc2FnZSBzaG91bGQgYmUgYSBK
U09OIG9iamVjdCB3aXRoIGEgbnVtYmVyIG9mIHByb3BlcnRpZXMuCisgICAgICAgIEluc3BlY3Rv
ckJhY2tlbmREaXNwYXRjaGVyIGlzIHBhcnNpbmcgdGhlc2UgbWVzc2FnZXMgYW5kIHNob3VsZCBi
ZSAKKyAgICAgICAgYWJsZSB0byBkZXRlY3Qgd3JvbmcgZm9ybWF0dGVkIG1lc3NhZ2VzLgorICAg
ICAgICBJdCBoYXMgdGhlc2UgZnVuY3Rpb25hbGl0eSBidXQgbm8gdGVzdHMgZm9yIGl0LgorCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NDk0NworCisg
ICAgICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QyLmpzOgorICAgICAg
ICAoZHVtcCk6CisgICAgICAgIChkdW1wQXJyYXkpOgorCiAyMDEwLTA4LTMwICBJbHlhIFRpa2hv
bm92c2t5ICA8bG9pc2xvQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KIAotICAgICAgICBXZWJJbnNwZWN0b3I6IGl0J2QgYmUgYmV0dGVyIHRvIGlu
dHJvZHVjZSBpbnNwZWN0b3IgQVBJIHJlbGF0ZWQgdGVzdHMuIAorICAgICAgICBXZWJJbnNwZWN0
b3I6IGl0J2QgYmUgYmV0dGVyIHRvIGludHJvZHVjZSBpbnNwZWN0b3IgQVBJIHJlbGF0ZWQgdGVz
dHMuCiAgICAgICAgIEFzIGZhciBhcyB3ZSBoYXZlIHNvbWUga2luZCBvZiBBUEkgZm9yIEluc3Bl
Y3RvcgogICAgICAgICBpdCdkIGJlIGJldHRlciB0byBoYXZlIEFQSSByZWxhdGVkIHRlc3RzLiBU
aGlzIGlzIHRoZSB0ZXN0CiAgICAgICAgIGZvciBBUEkgd3JhcHBlcnMuIFRoZXNlIHdyYXBwZXJz
IGFyZSB0cmFja2luZyB0aGUgdHlwZXMgb2YgYXJndW1lbnRzCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdDIuanMgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdDIuanMKaW5kZXggNGQ4YmY3Yi4u
YWMxNmJmMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5z
cGVjdG9yLXRlc3QyLmpzCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2lu
c3BlY3Rvci10ZXN0Mi5qcwpAQCAtMTQ2LDExICsxNDYsMzAgQEAgZnVuY3Rpb24gZGlkRXZhbHVh
dGVGb3JUZXN0SW5Gcm9udGVuZChjYWxsSWQsIHJlc3VsdCkKICAgICB9LCAwKTsKIH0KIAorZnVu
Y3Rpb24gZHVtcChkYXRhKQoreworICAgIGlmICh0eXBlb2YgZGF0YSA9PT0gInN0cmluZyIpIHsK
KyAgICAgICAgb3V0cHV0KGRhdGEpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYg
KHR5cGVvZiBkYXRhID09PSAib2JqZWN0IikgeworICAgICAgICBkdW1wT2JqZWN0KGRhdGEpOwor
ICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKHR5cGVvZiBkYXRhID09PSAiYXJyYXki
KSB7CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmVzdWx0Lmxlbmd0aDsgKytpKQorICAg
ICAgICAgICAgZHVtcChyZXN1bHRbaV0pOworICAgICAgICByZXR1cm47CisgICAgfQorfQorCiBm
dW5jdGlvbiBkdW1wQXJyYXkocmVzdWx0KQogewogICAgIGlmIChyZXN1bHQgaW5zdGFuY2VvZiBB
cnJheSkgewogICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJlc3VsdC5sZW5ndGg7ICsraSkK
LSAgICAgICAgICAgIG91dHB1dChyZXN1bHRbaV0pOworICAgICAgICAgICAgZHVtcChyZXN1bHRb
aV0pOwogICAgIH0gZWxzZQogICAgICAgICBvdXRwdXQocmVzdWx0KTsKIH0KZGlmZiAtLWdpdCBh
L1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjE2ZDk1Yy4uYTYx
YWQwOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxOSBAQAorMjAxMC0wOC0zMSAgSWx5YSBUaWtob25vdnNreSAgPGxvaXNs
b0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgV2ViSW5zcGVjdG9yOiBUaGUgcGFyc2VyIG9mIEluc3BlY3RvciBwcm90b2NvbCBt
ZXNzYWdlcyBzaG91bGQgYmUgY292ZXJlZCBieSBhIHRlc3QuCisKKyAgICAgICAgVGhlIGluc3Bl
Y3RvciBwcm90b2NvbCBpcyBiYXNlZCBvbiBtZXNzYWdlcyBpbiBKU09OIGZvcm1hdC4KKyAgICAg
ICAgRWFjaCBtZXNzYWdlIHNob3VsZCBiZSBhIEpTT04gb2JqZWN0IHdpdGggYSBudW1iZXIgb2Yg
cHJvcGVydGllcy4KKyAgICAgICAgSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIgaXMgcGFyc2lu
ZyB0aGVzZSBtZXNzYWdlcyBhbmQgc2hvdWxkIGJlCisgICAgICAgIGFibGUgdG8gZGV0ZWN0IHdy
b25nIGZvcm1hdHRlZCBtZXNzYWdlcy4KKyAgICAgICAgSXQgaGFzIHRoZXNlIGZ1bmN0aW9uYWxp
dHkgYnV0IG5vIHRlc3RzIGZvciBpdC4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NDQ5NDcKKworICAgICAgICAqIGluc3BlY3Rvci9Db2RlR2VuZXJh
dG9ySW5zcGVjdG9yLnBtOgorCiAyMDEwLTA4LTMwICBJbHlhIFRpa2hvbm92c2t5ICA8bG9pc2xv
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0b3IucG0gYi9X
ZWJDb3JlL2luc3BlY3Rvci9Db2RlR2VuZXJhdG9ySW5zcGVjdG9yLnBtCmluZGV4IGY1OTI4YzYu
LjhmZTMwMGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNw
ZWN0b3IucG0KKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvQ29kZUdlbmVyYXRvckluc3BlY3Rvci5w
bQpAQCAtMjExLDcgKzIxMSw3IEBAIHN1YiBHZW5lcmF0ZUludGVyZmFjZQogICAgICRiYWNrZW5k
SlNTdHViTmFtZSA9ICRjbGFzc05hbWUgLiAiQmFja2VuZFN0dWIiOwogICAgIG15IEBiYWNrZW5k
SGVhZDsKICAgICBwdXNoKEBiYWNrZW5kSGVhZCwgIiAgICAke2JhY2tlbmRDbGFzc05hbWV9KElu
c3BlY3RvckNvbnRyb2xsZXIqIGluc3BlY3RvckNvbnRyb2xsZXIpIDogbV9pbnNwZWN0b3JDb250
cm9sbGVyKGluc3BlY3RvckNvbnRyb2xsZXIpIHsgfSIpOwotICAgIHB1c2goQGJhY2tlbmRIZWFk
LCAiICAgIHZvaWQgcmVwb3J0UHJvdG9jb2xFcnJvcihjb25zdCBsb25nIGNhbGxJZCwgY29uc3Qg
U3RyaW5nJiBtZXRob2QsIGNvbnN0IFN0cmluZyYgZXJyb3JUZXh0KSBjb25zdDsiKTsKKyAgICBw
dXNoKEBiYWNrZW5kSGVhZCwgIiAgICB2b2lkIHJlcG9ydFByb3RvY29sRXJyb3IoY29uc3QgbG9u
ZyBjYWxsSWQsIGNvbnN0IFN0cmluZyYgZXJyb3JUZXh0KSBjb25zdDsiKTsKICAgICBwdXNoKEBi
YWNrZW5kSGVhZCwgIiAgICB2b2lkIGRpc3BhdGNoKGNvbnN0IFN0cmluZyYgbWVzc2FnZSk7Iik7
CiAgICAgcHVzaChAYmFja2VuZEhlYWQsICIgICAgc3RhdGljIGJvb2wgZ2V0Q29tbWFuZE5hbWUo
Y29uc3QgU3RyaW5nJiBtZXNzYWdlLCBTdHJpbmcqIHJlc3VsdCk7Iik7CiAgICAgJGJhY2tlbmRD
b25zdHJ1Y3RvciA9IGpvaW4oIlxuIiwgQGJhY2tlbmRIZWFkKTsKQEAgLTMwNiw3ICszMDYsNyBA
QCBzdWIgZ2VuZXJhdGVCYWNrZW5kRnVuY3Rpb24KICAgICBteSAkZG9tYWluQWNjZXNzb3IgPSAk
dHlwZVRyYW5zZm9ybXskZG9tYWlufS0+eyJkb21haW5BY2Nlc3NvciJ9OwogICAgICRiYWNrZW5k
VHlwZXN7JGRvbWFpbn0gPSAxOwogICAgIHB1c2goQGZ1bmN0aW9uLCAiICAgIGlmICghJGRvbWFp
bkFjY2Vzc29yKSIpOwotICAgIHB1c2goQGZ1bmN0aW9uLCAiICAgICAgICBwcm90b2NvbEVycm9y
cy0+cHVzaFN0cmluZyhTdHJpbmc6OmZvcm1hdChcIkVycm9yOiAlcyBoYW5kbGVyIGlzIG5vdCBh
dmFpbGFibGUuXCIsIFwiJGRvbWFpblwiKSk7Iik7CisgICAgcHVzaChAZnVuY3Rpb24sICIgICAg
ICAgIHByb3RvY29sRXJyb3JzLT5wdXNoU3RyaW5nKFN0cmluZzo6Zm9ybWF0KFwiUHJvdG9jb2wg
RXJyb3I6ICVzIGhhbmRsZXIgaXMgbm90IGF2YWlsYWJsZS5cIiwgXCIkZG9tYWluXCIpKTsiKTsK
ICAgICBwdXNoKEBmdW5jdGlvbiwgIiIpOwogCiAgICAgaWYgKHNjYWxhcihAaW5BcmdzKSkgewpA
QCAtMzE2LDcgKzMxNiw3IEBAIHN1YiBnZW5lcmF0ZUJhY2tlbmRGdW5jdGlvbgogICAgICAgICBw
dXNoKEBmdW5jdGlvbiwgIiIpOwogICAgICAgICBwdXNoKEBmdW5jdGlvbiwgIiAgICBSZWZQdHI8
SW5zcGVjdG9yT2JqZWN0PiBhcmd1bWVudHNDb250YWluZXI7Iik7CiAgICAgICAgIHB1c2goQGZ1
bmN0aW9uLCAiICAgIGlmICghKGFyZ3VtZW50c0NvbnRhaW5lciA9IHJlcXVlc3RNZXNzYWdlT2Jq
ZWN0LT5nZXRPYmplY3QoXCJhcmd1bWVudHNcIikpKSB7Iik7Ci0gICAgICAgIHB1c2goQGZ1bmN0
aW9uLCAiICAgICAgICBwcm90b2NvbEVycm9ycy0+cHVzaFN0cmluZyhTdHJpbmc6OmZvcm1hdChc
IkVycm9yOiBhcmd1bWVudHMgb2JqZWN0IHdhcyBub3QgZm91bmQuXCIpKTsiKTsKKyAgICAgICAg
cHVzaChAZnVuY3Rpb24sICIgICAgICAgIHByb3RvY29sRXJyb3JzLT5wdXNoU3RyaW5nKFN0cmlu
Zzo6Zm9ybWF0KFwiUHJvdG9jb2wgRXJyb3I6ICdhcmd1bWVudHMnIHByb3BlcnR5IHdpdGggdHlw
ZSAnb2JqZWN0JyB3YXMgbm90IGZvdW5kLlwiKSk7Iik7CiAgICAgICAgIHB1c2goQGZ1bmN0aW9u
LCAiICAgIH0gZWxzZSB7Iik7CiAgICAgICAgIHB1c2goQGZ1bmN0aW9uLCAiICAgICAgICBJbnNw
ZWN0b3JPYmplY3Q6OmNvbnN0X2l0ZXJhdG9yIGFyZ3VtZW50c0VuZEl0ZXJhdG9yID0gYXJndW1l
bnRzQ29udGFpbmVyLT5lbmQoKTsiKTsKIApAQCAtMzI5LDEwICszMjksMTAgQEAgc3ViIGdlbmVy
YXRlQmFja2VuZEZ1bmN0aW9uCiAgICAgICAgICAgICBwdXNoKEBmdW5jdGlvbiwgIiIpOwogICAg
ICAgICAgICAgcHVzaChAZnVuY3Rpb24sICIgICAgICAgIEluc3BlY3Rvck9iamVjdDo6Y29uc3Rf
aXRlcmF0b3IgJHtuYW1lfVZhbHVlSXRlcmF0b3IgPSBhcmd1bWVudHNDb250YWluZXItPmZpbmQo
XCIkbmFtZVwiKTsiKTsKICAgICAgICAgICAgIHB1c2goQGZ1bmN0aW9uLCAiICAgICAgICBpZiAo
JHtuYW1lfVZhbHVlSXRlcmF0b3IgPT0gYXJndW1lbnRzRW5kSXRlcmF0b3IpIHsiKTsKLSAgICAg
ICAgICAgIHB1c2goQGZ1bmN0aW9uLCAiICAgICAgICAgICAgcHJvdG9jb2xFcnJvcnMtPnB1c2hT
dHJpbmcoU3RyaW5nOjpmb3JtYXQoXCJFcnJvcjogQXJndW1lbnQgJyVzJyB3aXRoIHR5cGUgJyVz
JyB3YXMgbm90IGZvdW5kLlwiLCBcIiRuYW1lXCIsIFwiJEpTT05UeXBlXCIpKTsiKTsKKyAgICAg
ICAgICAgIHB1c2goQGZ1bmN0aW9uLCAiICAgICAgICAgICAgcHJvdG9jb2xFcnJvcnMtPnB1c2hT
dHJpbmcoU3RyaW5nOjpmb3JtYXQoXCJQcm90b2NvbCBFcnJvcjogQXJndW1lbnQgJyVzJyB3aXRo
IHR5cGUgJyVzJyB3YXMgbm90IGZvdW5kLlwiLCBcIiRuYW1lXCIsIFwiJEpTT05UeXBlXCIpKTsi
KTsKICAgICAgICAgICAgIHB1c2goQGZ1bmN0aW9uLCAiICAgICAgICB9IGVsc2UgeyIpOwogICAg
ICAgICAgICAgcHVzaChAZnVuY3Rpb24sICIgICAgICAgICAgICBpZiAoISR7bmFtZX1WYWx1ZUl0
ZXJhdG9yLT5zZWNvbmQtPmFzJEpTT05UeXBlKCYkbmFtZSkpIHsiKTsKLSAgICAgICAgICAgIHB1
c2goQGZ1bmN0aW9uLCAiICAgICAgICAgICAgICAgIHByb3RvY29sRXJyb3JzLT5wdXNoU3RyaW5n
KFN0cmluZzo6Zm9ybWF0KFwiRXJyb3I6IEFyZ3VtZW50ICclcycgaGFzIHdyb25nIHR5cGUuIEl0
IHNob3VsZCBiZSAnJXMnLlwiLCBcIiRuYW1lXCIsIFwiJEpTT05UeXBlXCIpKTsiKTsKKyAgICAg
ICAgICAgIHB1c2goQGZ1bmN0aW9uLCAiICAgICAgICAgICAgICAgIHByb3RvY29sRXJyb3JzLT5w
dXNoU3RyaW5nKFN0cmluZzo6Zm9ybWF0KFwiUHJvdG9jb2wgRXJyb3I6IEFyZ3VtZW50ICclcycg
aGFzIHdyb25nIHR5cGUuIEl0IHNob3VsZCBiZSAnJXMnLlwiLCBcIiRuYW1lXCIsIFwiJEpTT05U
eXBlXCIpKTsiKTsKICAgICAgICAgICAgIHB1c2goQGZ1bmN0aW9uLCAiICAgICAgICAgICAgfSIp
OwogICAgICAgICAgICAgcHVzaChAZnVuY3Rpb24sICIgICAgICAgIH0iKTsKICAgICAgICAgfQpA
QCAtMzc1LDEzICszNzUsMTAgQEAgc3ViIGdlbmVyYXRlQmFja2VuZFJlcG9ydFByb3RvY29sRXJy
b3IKIHsKICAgICBteSAkcmVwb3J0UHJvdG9jb2xFcnJvciA9IDw8ICJFT0YiOwogCi12b2lkICR7
YmFja2VuZENsYXNzTmFtZX06OnJlcG9ydFByb3RvY29sRXJyb3IoY29uc3QgbG9uZyBjYWxsSWQs
IGNvbnN0IFN0cmluZyYgbWV0aG9kLCBjb25zdCBTdHJpbmcmIGVycm9yVGV4dCkgY29uc3QKK3Zv
aWQgJHtiYWNrZW5kQ2xhc3NOYW1lfTo6cmVwb3J0UHJvdG9jb2xFcnJvcihjb25zdCBsb25nIGNh
bGxJZCwgY29uc3QgU3RyaW5nJiBlcnJvclRleHQpIGNvbnN0CiB7CiAgICAgUmVmUHRyPEluc3Bl
Y3Rvck9iamVjdD4gbWVzc2FnZSA9IEluc3BlY3Rvck9iamVjdDo6Y3JlYXRlKCk7CiAgICAgbWVz
c2FnZS0+c2V0TnVtYmVyKCJzZXEiLCBjYWxsSWQpOwotICAgIG1lc3NhZ2UtPnNldFN0cmluZygi
dHlwZSIsICJlcnJvciIpOwotICAgIG1lc3NhZ2UtPnNldFN0cmluZygiZG9tYWluIiwgImluc3Bl
Y3RvclByb3RvY29sIik7Ci0gICAgbWVzc2FnZS0+c2V0U3RyaW5nKCJjb21tYW5kIiwgbWV0aG9k
KTsKICAgICBtZXNzYWdlLT5zZXRCb29sZWFuKCJzdWNjZXNzIiwgZmFsc2UpOwogICAgIFJlZlB0
cjxJbnNwZWN0b3JBcnJheT4gZXJyb3JzID0gSW5zcGVjdG9yQXJyYXk6OmNyZWF0ZSgpOwogICAg
IGVycm9ycy0+cHVzaFN0cmluZyhlcnJvclRleHQpOwpAQCAtNDE0LDQyICs0MTEsNDIgQEAgJG1h
cEVudHJpZXMKIAogICAgIFJlZlB0cjxJbnNwZWN0b3JWYWx1ZT4gcGFyc2VkTWVzc2FnZSA9IElu
c3BlY3RvclZhbHVlOjpwYXJzZUpTT04obWVzc2FnZSk7CiAgICAgaWYgKCFwYXJzZWRNZXNzYWdl
KSB7Ci0gICAgICAgIHJlcG9ydFByb3RvY29sRXJyb3IoY2FsbElkLCAiZGlzcGF0Y2giLCAiRXJy
b3I6IEludmFsaWQgbWVzc2FnZSBmb3JtYXQuIE1lc3NhZ2Ugc2hvdWxkIGJlIGluIEpTT04gZm9y
bWF0LiIpOworICAgICAgICByZXBvcnRQcm90b2NvbEVycm9yKGNhbGxJZCwgIlByb3RvY29sIEVy
cm9yOiBJbnZhbGlkIG1lc3NhZ2UgZm9ybWF0LiBNZXNzYWdlIHNob3VsZCBiZSBpbiBKU09OIGZv
cm1hdC4iKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIFJlZlB0cjxJbnNwZWN0b3JP
YmplY3Q+IG1lc3NhZ2VPYmplY3QgPSBwYXJzZWRNZXNzYWdlLT5hc09iamVjdCgpOwogICAgIGlm
ICghbWVzc2FnZU9iamVjdCkgewotICAgICAgICByZXBvcnRQcm90b2NvbEVycm9yKGNhbGxJZCwg
ImRpc3BhdGNoIiwgIkVycm9yOiBJbnZhbGlkIG1lc3NhZ2UgZm9ybWF0LiBUaGUgbWVzc2FnZSBz
aG91bGQgYmUgYSBKU09OaWZpZWQgb2JqZWN0LiIpOworICAgICAgICByZXBvcnRQcm90b2NvbEVy
cm9yKGNhbGxJZCwgIlByb3RvY29sIEVycm9yOiBJbnZhbGlkIG1lc3NhZ2UgZm9ybWF0LiBUaGUg
bWVzc2FnZSBzaG91bGQgYmUgYSBKU09OaWZpZWQgb2JqZWN0LiIpOwogICAgICAgICByZXR1cm47
CiAgICAgfQogCiAgICAgUmVmUHRyPEluc3BlY3RvclZhbHVlPiBjb21tYW5kVmFsdWUgPSBtZXNz
YWdlT2JqZWN0LT5nZXQoImNvbW1hbmQiKTsKICAgICBpZiAoIWNvbW1hbmRWYWx1ZSkgewotICAg
ICAgICByZXBvcnRQcm90b2NvbEVycm9yKGNhbGxJZCwgImRpc3BhdGNoIiwgIkVycm9yOiBJbnZh
bGlkIG1lc3NhZ2UgZm9ybWF0LiAnY29tbWFuZCcgcHJvcGVydHkgd2Fzbid0IGZvdW5kLiIpOwor
ICAgICAgICByZXBvcnRQcm90b2NvbEVycm9yKGNhbGxJZCwgIlByb3RvY29sIEVycm9yOiBJbnZh
bGlkIG1lc3NhZ2UgZm9ybWF0LiAnY29tbWFuZCcgcHJvcGVydHkgd2Fzbid0IGZvdW5kLiIpOwog
ICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgU3RyaW5nIGNvbW1hbmQ7CiAgICAgaWYgKCFj
b21tYW5kVmFsdWUtPmFzU3RyaW5nKCZjb21tYW5kKSkgewotICAgICAgICByZXBvcnRQcm90b2Nv
bEVycm9yKGNhbGxJZCwgImRpc3BhdGNoIiwgIkVycm9yOiBJbnZhbGlkIG1lc3NhZ2UgZm9ybWF0
LiBUaGUgdHlwZSBvZiAnY29tbWFuZCcgcHJvcGVydHkgc2hvdWxkIGJlIHN0cmluZy4iKTsKKyAg
ICAgICAgcmVwb3J0UHJvdG9jb2xFcnJvcihjYWxsSWQsICJQcm90b2NvbCBFcnJvcjogSW52YWxp
ZCBtZXNzYWdlIGZvcm1hdC4gVGhlIHR5cGUgb2YgJ2NvbW1hbmQnIHByb3BlcnR5IHNob3VsZCBi
ZSBzdHJpbmcuIik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBSZWZQdHI8SW5zcGVj
dG9yVmFsdWU+IGNhbGxJZFZhbHVlID0gbWVzc2FnZU9iamVjdC0+Z2V0KCJzZXEiKTsKICAgICBp
ZiAoIWNhbGxJZFZhbHVlKSB7Ci0gICAgICAgIHJlcG9ydFByb3RvY29sRXJyb3IoY2FsbElkLCBj
b21tYW5kLnV0ZjgoKS5kYXRhKCksICJFcnJvcjogSW52YWxpZCBtZXNzYWdlIGZvcm1hdC4gJ3Nl
cScgcHJvcGVydHkgd2FzIG5vdCBmb3VuZCBpbiB0aGUgcmVxdWVzdC4iKTsKKyAgICAgICAgcmVw
b3J0UHJvdG9jb2xFcnJvcihjYWxsSWQsICJQcm90b2NvbCBFcnJvcjogSW52YWxpZCBtZXNzYWdl
IGZvcm1hdC4gJ3NlcScgcHJvcGVydHkgd2FzIG5vdCBmb3VuZCBpbiB0aGUgcmVxdWVzdC4iKTsK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGlmICghY2FsbElkVmFsdWUtPmFzTnVtYmVy
KCZjYWxsSWQpKSB7Ci0gICAgICAgIHJlcG9ydFByb3RvY29sRXJyb3IoY2FsbElkLCBjb21tYW5k
LnV0ZjgoKS5kYXRhKCksICJFcnJvcjogSW52YWxpZCBtZXNzYWdlIGZvcm1hdC4gdGhlIHR5cGUg
b2YgJ3NlcScgcHJvcGVydHkgc2hvdWxkIGJlIG51bWJlci4iKTsKKyAgICAgICAgcmVwb3J0UHJv
dG9jb2xFcnJvcihjYWxsSWQsICJQcm90b2NvbCBFcnJvcjogSW52YWxpZCBtZXNzYWdlIGZvcm1h
dC4gVGhlIHR5cGUgb2YgJ3NlcScgcHJvcGVydHkgc2hvdWxkIGJlIG51bWJlci4iKTsKICAgICAg
ICAgcmV0dXJuOwogICAgIH0KIAogICAgIEhhc2hNYXA8U3RyaW5nLCBDYWxsSGFuZGxlcj46Oml0
ZXJhdG9yIGl0ID0gZGlzcGF0Y2hNYXAuZmluZChjb21tYW5kKTsKICAgICBpZiAoaXQgPT0gZGlz
cGF0Y2hNYXAuZW5kKCkpIHsKLSAgICAgICAgcmVwb3J0UHJvdG9jb2xFcnJvcihjYWxsSWQsICJk
aXNwYXRjaCIsIFN0cmluZzo6Zm9ybWF0KCJFcnJvcjogSW52YWxpZCBjb21tYW5kIHdhcyByZWNl
aXZlZC4gJyVzJyB3YXNuJ3QgZm91bmQuIiwgY29tbWFuZC51dGY4KCkuZGF0YSgpKSk7CisgICAg
ICAgIHJlcG9ydFByb3RvY29sRXJyb3IoY2FsbElkLCBTdHJpbmc6OmZvcm1hdCgiUHJvdG9jb2wg
RXJyb3I6IEludmFsaWQgY29tbWFuZCB3YXMgcmVjZWl2ZWQuICclcycgd2Fzbid0IGZvdW5kLiIs
IGNvbW1hbmQudXRmOCgpLmRhdGEoKSkpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>66050</attachid>
            <date>2010-08-31 07:37:46 -0700</date>
            <delta_ts>2010-08-31 07:47:33 -0700</delta_ts>
            <desc>[patch] initial version. Just missed the test.</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>13845</size>
            <attacher name="Ilya Tikhonovsky">loislo</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBmM2VlMmFkLi40ZjMxYjFmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDggKzEsMjYgQEAKKzIwMTAtMDgt
MzEgIElseWEgVGlraG9ub3Zza3kgIDxsb2lzbG9AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlYkluc3BlY3RvcjogVGhlIHBh
cnNlciBvZiBJbnNwZWN0b3IgcHJvdG9jb2wgbWVzc2FnZXMgc2hvdWxkIGJlIGNvdmVyZWQgYnkg
YSB0ZXN0LgorCisgICAgICAgIFRoZSBpbnNwZWN0b3IgcHJvdG9jb2wgaXMgYmFzZWQgb24gbWVz
c2FnZXMgaW4gSlNPTiBmb3JtYXQuCisgICAgICAgIEVhY2ggbWVzc2FnZSBzaG91bGQgYmUgYSBK
U09OIG9iamVjdCB3aXRoIGEgbnVtYmVyIG9mIHByb3BlcnRpZXMuCisgICAgICAgIEluc3BlY3Rv
ckJhY2tlbmREaXNwYXRjaGVyIGlzIHBhcnNpbmcgdGhlc2UgbWVzc2FnZXMgYW5kIHNob3VsZCBi
ZSAKKyAgICAgICAgYWJsZSB0byBkZXRlY3Qgd3JvbmcgZm9ybWF0dGVkIG1lc3NhZ2VzLgorICAg
ICAgICBJdCBoYXMgdGhlc2UgZnVuY3Rpb25hbGl0eSBidXQgbm8gdGVzdHMgZm9yIGl0LgorCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NDk0NworCisg
ICAgICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QyLmpzOgorICAgICAg
ICAoZHVtcCk6CisgICAgICAgIChkdW1wQXJyYXkpOgorCiAyMDEwLTA4LTMwICBJbHlhIFRpa2hv
bm92c2t5ICA8bG9pc2xvQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KIAotICAgICAgICBXZWJJbnNwZWN0b3I6IGl0J2QgYmUgYmV0dGVyIHRvIGlu
dHJvZHVjZSBpbnNwZWN0b3IgQVBJIHJlbGF0ZWQgdGVzdHMuIAorICAgICAgICBXZWJJbnNwZWN0
b3I6IGl0J2QgYmUgYmV0dGVyIHRvIGludHJvZHVjZSBpbnNwZWN0b3IgQVBJIHJlbGF0ZWQgdGVz
dHMuCiAgICAgICAgIEFzIGZhciBhcyB3ZSBoYXZlIHNvbWUga2luZCBvZiBBUEkgZm9yIEluc3Bl
Y3RvcgogICAgICAgICBpdCdkIGJlIGJldHRlciB0byBoYXZlIEFQSSByZWxhdGVkIHRlc3RzLiBU
aGlzIGlzIHRoZSB0ZXN0CiAgICAgICAgIGZvciBBUEkgd3JhcHBlcnMuIFRoZXNlIHdyYXBwZXJz
IGFyZSB0cmFja2luZyB0aGUgdHlwZXMgb2YgYXJndW1lbnRzCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdDIuanMgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdDIuanMKaW5kZXggNGQ4YmY3Yi4u
YWMxNmJmMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5z
cGVjdG9yLXRlc3QyLmpzCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2lu
c3BlY3Rvci10ZXN0Mi5qcwpAQCAtMTQ2LDExICsxNDYsMzAgQEAgZnVuY3Rpb24gZGlkRXZhbHVh
dGVGb3JUZXN0SW5Gcm9udGVuZChjYWxsSWQsIHJlc3VsdCkKICAgICB9LCAwKTsKIH0KIAorZnVu
Y3Rpb24gZHVtcChkYXRhKQoreworICAgIGlmICh0eXBlb2YgZGF0YSA9PT0gInN0cmluZyIpIHsK
KyAgICAgICAgb3V0cHV0KGRhdGEpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYg
KHR5cGVvZiBkYXRhID09PSAib2JqZWN0IikgeworICAgICAgICBkdW1wT2JqZWN0KGRhdGEpOwor
ICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKHR5cGVvZiBkYXRhID09PSAiYXJyYXki
KSB7CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmVzdWx0Lmxlbmd0aDsgKytpKQorICAg
ICAgICAgICAgZHVtcChyZXN1bHRbaV0pOworICAgICAgICByZXR1cm47CisgICAgfQorfQorCiBm
dW5jdGlvbiBkdW1wQXJyYXkocmVzdWx0KQogewogICAgIGlmIChyZXN1bHQgaW5zdGFuY2VvZiBB
cnJheSkgewogICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJlc3VsdC5sZW5ndGg7ICsraSkK
LSAgICAgICAgICAgIG91dHB1dChyZXN1bHRbaV0pOworICAgICAgICAgICAgZHVtcChyZXN1bHRb
aV0pOwogICAgIH0gZWxzZQogICAgICAgICBvdXRwdXQocmVzdWx0KTsKIH0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci9yZXBvcnQtcHJvdG9jb2wtZXJyb3JzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9yZXBvcnQtcHJvdG9jb2wtZXJyb3JzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMGRhMDMyCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3JlcG9ydC1wcm90b2NvbC1lcnJvcnMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsODkgQEAKK1Rlc3RzIHRoYXQgSW5zcGVjdG9yQmFja2Vu
ZERpc3BhdGNoZXIgaXMgY2F0Y2hpbmcgaW5jb3JyZWN0IG1lc3NhZ2VzLgorCit7CisgICAgc2Vx
IDogMAorICAgIHN1Y2Nlc3MgOiBmYWxzZQorICAgIGVycm9ycyA6IHsKKyAgICAgICAgMCA6ICJQ
cm90b2NvbCBFcnJvcjogSW52YWxpZCBtZXNzYWdlIGZvcm1hdC4gTWVzc2FnZSBzaG91bGQgYmUg
aW4gSlNPTiBmb3JtYXQuIgorICAgIH0KK30KK3sKKyAgICBzZXEgOiAwCisgICAgc3VjY2VzcyA6
IGZhbHNlCisgICAgZXJyb3JzIDogeworICAgICAgICAwIDogIlByb3RvY29sIEVycm9yOiBJbnZh
bGlkIG1lc3NhZ2UgZm9ybWF0LiAnY29tbWFuZCcgcHJvcGVydHkgd2Fzbid0IGZvdW5kLiIKKyAg
ICB9Cit9Cit7CisgICAgc2VxIDogMAorICAgIHN1Y2Nlc3MgOiBmYWxzZQorICAgIGVycm9ycyA6
IHsKKyAgICAgICAgMCA6ICJQcm90b2NvbCBFcnJvcjogSW52YWxpZCBtZXNzYWdlIGZvcm1hdC4g
VGhlIHR5cGUgb2YgJ2NvbW1hbmQnIHByb3BlcnR5IHNob3VsZCBiZSBzdHJpbmcuIgorICAgIH0K
K30KK3sKKyAgICBzZXEgOiAwCisgICAgc3VjY2VzcyA6IGZhbHNlCisgICAgZXJyb3JzIDogewor
ICAgICAgICAwIDogIlByb3RvY29sIEVycm9yOiBJbnZhbGlkIG1lc3NhZ2UgZm9ybWF0LiAnc2Vx
JyBwcm9wZXJ0eSB3YXMgbm90IGZvdW5kIGluIHRoZSByZXF1ZXN0LiIKKyAgICB9Cit9Cit7Cisg
ICAgc2VxIDogMAorICAgIHN1Y2Nlc3MgOiBmYWxzZQorICAgIGVycm9ycyA6IHsKKyAgICAgICAg
MCA6ICJQcm90b2NvbCBFcnJvcjogSW52YWxpZCBtZXNzYWdlIGZvcm1hdC4gVGhlIHR5cGUgb2Yg
J3NlcScgcHJvcGVydHkgc2hvdWxkIGJlIG51bWJlci4iCisgICAgfQorfQoreworICAgIHNlcSA6
IDEKKyAgICBzdWNjZXNzIDogZmFsc2UKKyAgICBlcnJvcnMgOiB7CisgICAgICAgIDAgOiAiUHJv
dG9jb2wgRXJyb3I6IEludmFsaWQgY29tbWFuZCB3YXMgcmVjZWl2ZWQuICd0ZXN0JyB3YXNuJ3Qg
Zm91bmQuIgorICAgIH0KK30KK3sKKyAgICBzZXEgOiAyCisgICAgc3VjY2VzcyA6IGZhbHNlCisg
ICAgZXJyb3JzIDogeworICAgICAgICAwIDogIlByb3RvY29sIEVycm9yOiAnYXJndW1lbnRzJyBw
cm9wZXJ0eSB3aXRoIHR5cGUgJ29iamVjdCcgd2FzIG5vdCBmb3VuZC4iCisgICAgfQorfQorewor
ICAgIHNlcSA6IDMKKyAgICBzdWNjZXNzIDogZmFsc2UKKyAgICBlcnJvcnMgOiB7CisgICAgICAg
IDAgOiAiUHJvdG9jb2wgRXJyb3I6ICdhcmd1bWVudHMnIHByb3BlcnR5IHdpdGggdHlwZSAnb2Jq
ZWN0JyB3YXMgbm90IGZvdW5kLiIKKyAgICB9Cit9Cit7CisgICAgc2VxIDogNAorICAgIHN1Y2Nl
c3MgOiBmYWxzZQorICAgIGVycm9ycyA6IHsKKyAgICAgICAgMCA6ICJQcm90b2NvbCBFcnJvcjog
QXJndW1lbnQgJ2lkZW50aWZpZXInIHdpdGggdHlwZSAnTnVtYmVyJyB3YXMgbm90IGZvdW5kLiIK
KyAgICB9Cit9Cit7CisgICAgc2VxIDogNQorICAgIHN1Y2Nlc3MgOiBmYWxzZQorICAgIGVycm9y
cyA6IHsKKyAgICAgICAgMCA6ICJQcm90b2NvbCBFcnJvcjogQXJndW1lbnQgJ2lkZW50aWZpZXIn
IGhhcyB3cm9uZyB0eXBlLiBJdCBzaG91bGQgYmUgJ051bWJlcicuIgorICAgIH0KK30KK3sKKyAg
ICBzZXEgOiA2CisgICAgc3VjY2VzcyA6IGZhbHNlCisgICAgZXJyb3JzIDogeworICAgICAgICAw
IDogIlByb3RvY29sIEVycm9yOiBEZWJ1ZyBoYW5kbGVyIGlzIG5vdCBhdmFpbGFibGUuIgorICAg
ICAgICAxIDogIlByb3RvY29sIEVycm9yOiBBcmd1bWVudCAnc291cmNlSUQnIHdpdGggdHlwZSAn
U3RyaW5nJyB3YXMgbm90IGZvdW5kLiIKKyAgICAgICAgMiA6ICJQcm90b2NvbCBFcnJvcjogQXJn
dW1lbnQgJ2xpbmVOdW1iZXInIHdpdGggdHlwZSAnTnVtYmVyJyB3YXMgbm90IGZvdW5kLiIKKyAg
ICB9Cit9Cit7CisgICAgc2VxIDogNworICAgIHN1Y2Nlc3MgOiBmYWxzZQorICAgIGVycm9ycyA6
IHsKKyAgICAgICAgMCA6ICJQcm90b2NvbCBFcnJvcjogRGVidWcgaGFuZGxlciBpcyBub3QgYXZh
aWxhYmxlLiIKKyAgICB9Cit9CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9y
ZXBvcnQtcHJvdG9jb2wtZXJyb3JzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcmVwb3J0
LXByb3RvY29sLWVycm9ycy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu
LjBmNzAxZjUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcmVwb3J0
LXByb3RvY29sLWVycm9ycy5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QyLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIHZhciBtZXNzYWdl
cyA9IFsKKyAgICAgICAgJ3NvbWUgd3Jvbmcgc3RyaW5nJywKKyAgICAgICAgJ3t9JywKKyAgICAg
ICAgJ3siY29tbWFuZCI6MX0nLAorICAgICAgICAneyJjb21tYW5kIjoidGVzdCJ9JywKKyAgICAg
ICAgJ3sic2VxIjoibm90IGEgbnVtYmVyIiwiY29tbWFuZCI6InRlc3QifScsCisgICAgICAgICd7
InNlcSI6MSwiY29tbWFuZCI6InRlc3QifScsCisgICAgICAgICd7InNlcSI6MiwiY29tbWFuZCI6
ImdldFJlc291cmNlQ29udGVudCJ9JywKKyAgICAgICAgJ3sic2VxIjozLCJjb21tYW5kIjoiZ2V0
UmVzb3VyY2VDb250ZW50IiwiYXJndW1lbnRzIjpbXX0nLAorICAgICAgICAneyJzZXEiOjQsImNv
bW1hbmQiOiJnZXRSZXNvdXJjZUNvbnRlbnQiLCJhcmd1bWVudHMiOnt9fScsCisgICAgICAgICd7
InNlcSI6NSwiY29tbWFuZCI6ImdldFJlc291cmNlQ29udGVudCIsImFyZ3VtZW50cyI6eyJpZGVu
dGlmaWVyIjoibm90IGEgbnVtYmVyIn19JywKKyAgICAgICAgJ3sic2VxIjo2LCJjb21tYW5kIjoi
cmVtb3ZlQnJlYWtwb2ludCIsImFyZ3VtZW50cyI6e319JywKKyAgICAgICAgJ3sic2VxIjo3LCJj
b21tYW5kIjoicmVtb3ZlQnJlYWtwb2ludCIsImFyZ3VtZW50cyI6eyJzb3VyY2VJRCI6InNvbWVT
b3VyY2VJZCIsImxpbmVOdW1iZXIiOjB9fScsCisgICAgICAgIAorICAgIF07CisgICAgdmFyIG51
bWJlck9mUmVwb3J0cyA9IDA7CisKKyAgICBmdW5jdGlvbiBjYWxsYmFjayhtZXNzYWdlKQorICAg
IHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQobWVzc2FnZSk7CisKKyAgICAgICAg
aWYgKCsrbnVtYmVyT2ZSZXBvcnRzID09PSBtZXNzYWdlcy5sZW5ndGgpCisgICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAgIH0KKworICAgIEluc3BlY3RvclRlc3Qu
X2FkZFNuaWZmZXIoV2ViSW5zcGVjdG9yLCAicmVwb3J0UHJvdG9jb2xFcnJvciIsIGNhbGxiYWNr
LCB0cnVlKTsKKyAgICBmb3IgKHZhciBtZXNzYWdlIGluIG1lc3NhZ2VzKQorICAgICAgICBJbnNw
ZWN0b3JGcm9udGVuZEhvc3Quc2VuZE1lc3NhZ2VUb0JhY2tlbmQobWVzc2FnZXNbbWVzc2FnZV0p
OworfQorCis8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgor
PHA+CitUZXN0cyB0aGF0IEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyIGlzIGNhdGNoaW5nIGlu
Y29ycmVjdCBtZXNzYWdlcy4KKzwvcD4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBmMTZkOTVjLi5hNjFh
ZDA5IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE5IEBACisyMDEwLTA4LTMxICBJbHlhIFRpa2hvbm92c2t5ICA8bG9pc2xv
QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBXZWJJbnNwZWN0b3I6IFRoZSBwYXJzZXIgb2YgSW5zcGVjdG9yIHByb3RvY29sIG1l
c3NhZ2VzIHNob3VsZCBiZSBjb3ZlcmVkIGJ5IGEgdGVzdC4KKworICAgICAgICBUaGUgaW5zcGVj
dG9yIHByb3RvY29sIGlzIGJhc2VkIG9uIG1lc3NhZ2VzIGluIEpTT04gZm9ybWF0LgorICAgICAg
ICBFYWNoIG1lc3NhZ2Ugc2hvdWxkIGJlIGEgSlNPTiBvYmplY3Qgd2l0aCBhIG51bWJlciBvZiBw
cm9wZXJ0aWVzLgorICAgICAgICBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlciBpcyBwYXJzaW5n
IHRoZXNlIG1lc3NhZ2VzIGFuZCBzaG91bGQgYmUKKyAgICAgICAgYWJsZSB0byBkZXRlY3Qgd3Jv
bmcgZm9ybWF0dGVkIG1lc3NhZ2VzLgorICAgICAgICBJdCBoYXMgdGhlc2UgZnVuY3Rpb25hbGl0
eSBidXQgbm8gdGVzdHMgZm9yIGl0LgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD00NDk0NworCisgICAgICAgICogaW5zcGVjdG9yL0NvZGVHZW5lcmF0
b3JJbnNwZWN0b3IucG06CisKIDIwMTAtMDgtMzAgIElseWEgVGlraG9ub3Zza3kgIDxsb2lzbG9A
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvQ29kZUdlbmVyYXRvckluc3BlY3Rvci5wbSBiL1dl
YkNvcmUvaW5zcGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0b3IucG0KaW5kZXggZjU5MjhjNi4u
OGZlMzAwYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvQ29kZUdlbmVyYXRvckluc3Bl
Y3Rvci5wbQorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9Db2RlR2VuZXJhdG9ySW5zcGVjdG9yLnBt
CkBAIC0yMTEsNyArMjExLDcgQEAgc3ViIEdlbmVyYXRlSW50ZXJmYWNlCiAgICAgJGJhY2tlbmRK
U1N0dWJOYW1lID0gJGNsYXNzTmFtZSAuICJCYWNrZW5kU3R1YiI7CiAgICAgbXkgQGJhY2tlbmRI
ZWFkOwogICAgIHB1c2goQGJhY2tlbmRIZWFkLCAiICAgICR7YmFja2VuZENsYXNzTmFtZX0oSW5z
cGVjdG9yQ29udHJvbGxlciogaW5zcGVjdG9yQ29udHJvbGxlcikgOiBtX2luc3BlY3RvckNvbnRy
b2xsZXIoaW5zcGVjdG9yQ29udHJvbGxlcikgeyB9Iik7Ci0gICAgcHVzaChAYmFja2VuZEhlYWQs
ICIgICAgdm9pZCByZXBvcnRQcm90b2NvbEVycm9yKGNvbnN0IGxvbmcgY2FsbElkLCBjb25zdCBT
dHJpbmcmIG1ldGhvZCwgY29uc3QgU3RyaW5nJiBlcnJvclRleHQpIGNvbnN0OyIpOworICAgIHB1
c2goQGJhY2tlbmRIZWFkLCAiICAgIHZvaWQgcmVwb3J0UHJvdG9jb2xFcnJvcihjb25zdCBsb25n
IGNhbGxJZCwgY29uc3QgU3RyaW5nJiBlcnJvclRleHQpIGNvbnN0OyIpOwogICAgIHB1c2goQGJh
Y2tlbmRIZWFkLCAiICAgIHZvaWQgZGlzcGF0Y2goY29uc3QgU3RyaW5nJiBtZXNzYWdlKTsiKTsK
ICAgICBwdXNoKEBiYWNrZW5kSGVhZCwgIiAgICBzdGF0aWMgYm9vbCBnZXRDb21tYW5kTmFtZShj
b25zdCBTdHJpbmcmIG1lc3NhZ2UsIFN0cmluZyogcmVzdWx0KTsiKTsKICAgICAkYmFja2VuZENv
bnN0cnVjdG9yID0gam9pbigiXG4iLCBAYmFja2VuZEhlYWQpOwpAQCAtMzA2LDcgKzMwNiw3IEBA
IHN1YiBnZW5lcmF0ZUJhY2tlbmRGdW5jdGlvbgogICAgIG15ICRkb21haW5BY2Nlc3NvciA9ICR0
eXBlVHJhbnNmb3JteyRkb21haW59LT57ImRvbWFpbkFjY2Vzc29yIn07CiAgICAgJGJhY2tlbmRU
eXBlc3skZG9tYWlufSA9IDE7CiAgICAgcHVzaChAZnVuY3Rpb24sICIgICAgaWYgKCEkZG9tYWlu
QWNjZXNzb3IpIik7Ci0gICAgcHVzaChAZnVuY3Rpb24sICIgICAgICAgIHByb3RvY29sRXJyb3Jz
LT5wdXNoU3RyaW5nKFN0cmluZzo6Zm9ybWF0KFwiRXJyb3I6ICVzIGhhbmRsZXIgaXMgbm90IGF2
YWlsYWJsZS5cIiwgXCIkZG9tYWluXCIpKTsiKTsKKyAgICBwdXNoKEBmdW5jdGlvbiwgIiAgICAg
ICAgcHJvdG9jb2xFcnJvcnMtPnB1c2hTdHJpbmcoU3RyaW5nOjpmb3JtYXQoXCJQcm90b2NvbCBF
cnJvcjogJXMgaGFuZGxlciBpcyBub3QgYXZhaWxhYmxlLlwiLCBcIiRkb21haW5cIikpOyIpOwog
ICAgIHB1c2goQGZ1bmN0aW9uLCAiIik7CiAKICAgICBpZiAoc2NhbGFyKEBpbkFyZ3MpKSB7CkBA
IC0zMTYsNyArMzE2LDcgQEAgc3ViIGdlbmVyYXRlQmFja2VuZEZ1bmN0aW9uCiAgICAgICAgIHB1
c2goQGZ1bmN0aW9uLCAiIik7CiAgICAgICAgIHB1c2goQGZ1bmN0aW9uLCAiICAgIFJlZlB0cjxJ
bnNwZWN0b3JPYmplY3Q+IGFyZ3VtZW50c0NvbnRhaW5lcjsiKTsKICAgICAgICAgcHVzaChAZnVu
Y3Rpb24sICIgICAgaWYgKCEoYXJndW1lbnRzQ29udGFpbmVyID0gcmVxdWVzdE1lc3NhZ2VPYmpl
Y3QtPmdldE9iamVjdChcImFyZ3VtZW50c1wiKSkpIHsiKTsKLSAgICAgICAgcHVzaChAZnVuY3Rp
b24sICIgICAgICAgIHByb3RvY29sRXJyb3JzLT5wdXNoU3RyaW5nKFN0cmluZzo6Zm9ybWF0KFwi
RXJyb3I6IGFyZ3VtZW50cyBvYmplY3Qgd2FzIG5vdCBmb3VuZC5cIikpOyIpOworICAgICAgICBw
dXNoKEBmdW5jdGlvbiwgIiAgICAgICAgcHJvdG9jb2xFcnJvcnMtPnB1c2hTdHJpbmcoU3RyaW5n
Ojpmb3JtYXQoXCJQcm90b2NvbCBFcnJvcjogJ2FyZ3VtZW50cycgcHJvcGVydHkgd2l0aCB0eXBl
ICdvYmplY3QnIHdhcyBub3QgZm91bmQuXCIpKTsiKTsKICAgICAgICAgcHVzaChAZnVuY3Rpb24s
ICIgICAgfSBlbHNlIHsiKTsKICAgICAgICAgcHVzaChAZnVuY3Rpb24sICIgICAgICAgIEluc3Bl
Y3Rvck9iamVjdDo6Y29uc3RfaXRlcmF0b3IgYXJndW1lbnRzRW5kSXRlcmF0b3IgPSBhcmd1bWVu
dHNDb250YWluZXItPmVuZCgpOyIpOwogCkBAIC0zMjksMTAgKzMyOSwxMCBAQCBzdWIgZ2VuZXJh
dGVCYWNrZW5kRnVuY3Rpb24KICAgICAgICAgICAgIHB1c2goQGZ1bmN0aW9uLCAiIik7CiAgICAg
ICAgICAgICBwdXNoKEBmdW5jdGlvbiwgIiAgICAgICAgSW5zcGVjdG9yT2JqZWN0Ojpjb25zdF9p
dGVyYXRvciAke25hbWV9VmFsdWVJdGVyYXRvciA9IGFyZ3VtZW50c0NvbnRhaW5lci0+ZmluZChc
IiRuYW1lXCIpOyIpOwogICAgICAgICAgICAgcHVzaChAZnVuY3Rpb24sICIgICAgICAgIGlmICgk
e25hbWV9VmFsdWVJdGVyYXRvciA9PSBhcmd1bWVudHNFbmRJdGVyYXRvcikgeyIpOwotICAgICAg
ICAgICAgcHVzaChAZnVuY3Rpb24sICIgICAgICAgICAgICBwcm90b2NvbEVycm9ycy0+cHVzaFN0
cmluZyhTdHJpbmc6OmZvcm1hdChcIkVycm9yOiBBcmd1bWVudCAnJXMnIHdpdGggdHlwZSAnJXMn
IHdhcyBub3QgZm91bmQuXCIsIFwiJG5hbWVcIiwgXCIkSlNPTlR5cGVcIikpOyIpOworICAgICAg
ICAgICAgcHVzaChAZnVuY3Rpb24sICIgICAgICAgICAgICBwcm90b2NvbEVycm9ycy0+cHVzaFN0
cmluZyhTdHJpbmc6OmZvcm1hdChcIlByb3RvY29sIEVycm9yOiBBcmd1bWVudCAnJXMnIHdpdGgg
dHlwZSAnJXMnIHdhcyBub3QgZm91bmQuXCIsIFwiJG5hbWVcIiwgXCIkSlNPTlR5cGVcIikpOyIp
OwogICAgICAgICAgICAgcHVzaChAZnVuY3Rpb24sICIgICAgICAgIH0gZWxzZSB7Iik7CiAgICAg
ICAgICAgICBwdXNoKEBmdW5jdGlvbiwgIiAgICAgICAgICAgIGlmICghJHtuYW1lfVZhbHVlSXRl
cmF0b3ItPnNlY29uZC0+YXMkSlNPTlR5cGUoJiRuYW1lKSkgeyIpOwotICAgICAgICAgICAgcHVz
aChAZnVuY3Rpb24sICIgICAgICAgICAgICAgICAgcHJvdG9jb2xFcnJvcnMtPnB1c2hTdHJpbmco
U3RyaW5nOjpmb3JtYXQoXCJFcnJvcjogQXJndW1lbnQgJyVzJyBoYXMgd3JvbmcgdHlwZS4gSXQg
c2hvdWxkIGJlICclcycuXCIsIFwiJG5hbWVcIiwgXCIkSlNPTlR5cGVcIikpOyIpOworICAgICAg
ICAgICAgcHVzaChAZnVuY3Rpb24sICIgICAgICAgICAgICAgICAgcHJvdG9jb2xFcnJvcnMtPnB1
c2hTdHJpbmcoU3RyaW5nOjpmb3JtYXQoXCJQcm90b2NvbCBFcnJvcjogQXJndW1lbnQgJyVzJyBo
YXMgd3JvbmcgdHlwZS4gSXQgc2hvdWxkIGJlICclcycuXCIsIFwiJG5hbWVcIiwgXCIkSlNPTlR5
cGVcIikpOyIpOwogICAgICAgICAgICAgcHVzaChAZnVuY3Rpb24sICIgICAgICAgICAgICB9Iik7
CiAgICAgICAgICAgICBwdXNoKEBmdW5jdGlvbiwgIiAgICAgICAgfSIpOwogICAgICAgICB9CkBA
IC0zNzUsMTMgKzM3NSwxMCBAQCBzdWIgZ2VuZXJhdGVCYWNrZW5kUmVwb3J0UHJvdG9jb2xFcnJv
cgogewogICAgIG15ICRyZXBvcnRQcm90b2NvbEVycm9yID0gPDwgIkVPRiI7CiAKLXZvaWQgJHti
YWNrZW5kQ2xhc3NOYW1lfTo6cmVwb3J0UHJvdG9jb2xFcnJvcihjb25zdCBsb25nIGNhbGxJZCwg
Y29uc3QgU3RyaW5nJiBtZXRob2QsIGNvbnN0IFN0cmluZyYgZXJyb3JUZXh0KSBjb25zdAordm9p
ZCAke2JhY2tlbmRDbGFzc05hbWV9OjpyZXBvcnRQcm90b2NvbEVycm9yKGNvbnN0IGxvbmcgY2Fs
bElkLCBjb25zdCBTdHJpbmcmIGVycm9yVGV4dCkgY29uc3QKIHsKICAgICBSZWZQdHI8SW5zcGVj
dG9yT2JqZWN0PiBtZXNzYWdlID0gSW5zcGVjdG9yT2JqZWN0OjpjcmVhdGUoKTsKICAgICBtZXNz
YWdlLT5zZXROdW1iZXIoInNlcSIsIGNhbGxJZCk7Ci0gICAgbWVzc2FnZS0+c2V0U3RyaW5nKCJ0
eXBlIiwgImVycm9yIik7Ci0gICAgbWVzc2FnZS0+c2V0U3RyaW5nKCJkb21haW4iLCAiaW5zcGVj
dG9yUHJvdG9jb2wiKTsKLSAgICBtZXNzYWdlLT5zZXRTdHJpbmcoImNvbW1hbmQiLCBtZXRob2Qp
OwogICAgIG1lc3NhZ2UtPnNldEJvb2xlYW4oInN1Y2Nlc3MiLCBmYWxzZSk7CiAgICAgUmVmUHRy
PEluc3BlY3RvckFycmF5PiBlcnJvcnMgPSBJbnNwZWN0b3JBcnJheTo6Y3JlYXRlKCk7CiAgICAg
ZXJyb3JzLT5wdXNoU3RyaW5nKGVycm9yVGV4dCk7CkBAIC00MTQsNDIgKzQxMSw0MiBAQCAkbWFw
RW50cmllcwogCiAgICAgUmVmUHRyPEluc3BlY3RvclZhbHVlPiBwYXJzZWRNZXNzYWdlID0gSW5z
cGVjdG9yVmFsdWU6OnBhcnNlSlNPTihtZXNzYWdlKTsKICAgICBpZiAoIXBhcnNlZE1lc3NhZ2Up
IHsKLSAgICAgICAgcmVwb3J0UHJvdG9jb2xFcnJvcihjYWxsSWQsICJkaXNwYXRjaCIsICJFcnJv
cjogSW52YWxpZCBtZXNzYWdlIGZvcm1hdC4gTWVzc2FnZSBzaG91bGQgYmUgaW4gSlNPTiBmb3Jt
YXQuIik7CisgICAgICAgIHJlcG9ydFByb3RvY29sRXJyb3IoY2FsbElkLCAiUHJvdG9jb2wgRXJy
b3I6IEludmFsaWQgbWVzc2FnZSBmb3JtYXQuIE1lc3NhZ2Ugc2hvdWxkIGJlIGluIEpTT04gZm9y
bWF0LiIpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgUmVmUHRyPEluc3BlY3Rvck9i
amVjdD4gbWVzc2FnZU9iamVjdCA9IHBhcnNlZE1lc3NhZ2UtPmFzT2JqZWN0KCk7CiAgICAgaWYg
KCFtZXNzYWdlT2JqZWN0KSB7Ci0gICAgICAgIHJlcG9ydFByb3RvY29sRXJyb3IoY2FsbElkLCAi
ZGlzcGF0Y2giLCAiRXJyb3I6IEludmFsaWQgbWVzc2FnZSBmb3JtYXQuIFRoZSBtZXNzYWdlIHNo
b3VsZCBiZSBhIEpTT05pZmllZCBvYmplY3QuIik7CisgICAgICAgIHJlcG9ydFByb3RvY29sRXJy
b3IoY2FsbElkLCAiUHJvdG9jb2wgRXJyb3I6IEludmFsaWQgbWVzc2FnZSBmb3JtYXQuIFRoZSBt
ZXNzYWdlIHNob3VsZCBiZSBhIEpTT05pZmllZCBvYmplY3QuIik7CiAgICAgICAgIHJldHVybjsK
ICAgICB9CiAKICAgICBSZWZQdHI8SW5zcGVjdG9yVmFsdWU+IGNvbW1hbmRWYWx1ZSA9IG1lc3Nh
Z2VPYmplY3QtPmdldCgiY29tbWFuZCIpOwogICAgIGlmICghY29tbWFuZFZhbHVlKSB7Ci0gICAg
ICAgIHJlcG9ydFByb3RvY29sRXJyb3IoY2FsbElkLCAiZGlzcGF0Y2giLCAiRXJyb3I6IEludmFs
aWQgbWVzc2FnZSBmb3JtYXQuICdjb21tYW5kJyBwcm9wZXJ0eSB3YXNuJ3QgZm91bmQuIik7Cisg
ICAgICAgIHJlcG9ydFByb3RvY29sRXJyb3IoY2FsbElkLCAiUHJvdG9jb2wgRXJyb3I6IEludmFs
aWQgbWVzc2FnZSBmb3JtYXQuICdjb21tYW5kJyBwcm9wZXJ0eSB3YXNuJ3QgZm91bmQuIik7CiAg
ICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBTdHJpbmcgY29tbWFuZDsKICAgICBpZiAoIWNv
bW1hbmRWYWx1ZS0+YXNTdHJpbmcoJmNvbW1hbmQpKSB7Ci0gICAgICAgIHJlcG9ydFByb3RvY29s
RXJyb3IoY2FsbElkLCAiZGlzcGF0Y2giLCAiRXJyb3I6IEludmFsaWQgbWVzc2FnZSBmb3JtYXQu
IFRoZSB0eXBlIG9mICdjb21tYW5kJyBwcm9wZXJ0eSBzaG91bGQgYmUgc3RyaW5nLiIpOworICAg
ICAgICByZXBvcnRQcm90b2NvbEVycm9yKGNhbGxJZCwgIlByb3RvY29sIEVycm9yOiBJbnZhbGlk
IG1lc3NhZ2UgZm9ybWF0LiBUaGUgdHlwZSBvZiAnY29tbWFuZCcgcHJvcGVydHkgc2hvdWxkIGJl
IHN0cmluZy4iKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIFJlZlB0cjxJbnNwZWN0
b3JWYWx1ZT4gY2FsbElkVmFsdWUgPSBtZXNzYWdlT2JqZWN0LT5nZXQoInNlcSIpOwogICAgIGlm
ICghY2FsbElkVmFsdWUpIHsKLSAgICAgICAgcmVwb3J0UHJvdG9jb2xFcnJvcihjYWxsSWQsIGNv
bW1hbmQudXRmOCgpLmRhdGEoKSwgIkVycm9yOiBJbnZhbGlkIG1lc3NhZ2UgZm9ybWF0LiAnc2Vx
JyBwcm9wZXJ0eSB3YXMgbm90IGZvdW5kIGluIHRoZSByZXF1ZXN0LiIpOworICAgICAgICByZXBv
cnRQcm90b2NvbEVycm9yKGNhbGxJZCwgIlByb3RvY29sIEVycm9yOiBJbnZhbGlkIG1lc3NhZ2Ug
Zm9ybWF0LiAnc2VxJyBwcm9wZXJ0eSB3YXMgbm90IGZvdW5kIGluIHRoZSByZXF1ZXN0LiIpOwog
ICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgaWYgKCFjYWxsSWRWYWx1ZS0+YXNOdW1iZXIo
JmNhbGxJZCkpIHsKLSAgICAgICAgcmVwb3J0UHJvdG9jb2xFcnJvcihjYWxsSWQsIGNvbW1hbmQu
dXRmOCgpLmRhdGEoKSwgIkVycm9yOiBJbnZhbGlkIG1lc3NhZ2UgZm9ybWF0LiB0aGUgdHlwZSBv
ZiAnc2VxJyBwcm9wZXJ0eSBzaG91bGQgYmUgbnVtYmVyLiIpOworICAgICAgICByZXBvcnRQcm90
b2NvbEVycm9yKGNhbGxJZCwgIlByb3RvY29sIEVycm9yOiBJbnZhbGlkIG1lc3NhZ2UgZm9ybWF0
LiBUaGUgdHlwZSBvZiAnc2VxJyBwcm9wZXJ0eSBzaG91bGQgYmUgbnVtYmVyLiIpOwogICAgICAg
ICByZXR1cm47CiAgICAgfQogCiAgICAgSGFzaE1hcDxTdHJpbmcsIENhbGxIYW5kbGVyPjo6aXRl
cmF0b3IgaXQgPSBkaXNwYXRjaE1hcC5maW5kKGNvbW1hbmQpOwogICAgIGlmIChpdCA9PSBkaXNw
YXRjaE1hcC5lbmQoKSkgewotICAgICAgICByZXBvcnRQcm90b2NvbEVycm9yKGNhbGxJZCwgImRp
c3BhdGNoIiwgU3RyaW5nOjpmb3JtYXQoIkVycm9yOiBJbnZhbGlkIGNvbW1hbmQgd2FzIHJlY2Vp
dmVkLiAnJXMnIHdhc24ndCBmb3VuZC4iLCBjb21tYW5kLnV0ZjgoKS5kYXRhKCkpKTsKKyAgICAg
ICAgcmVwb3J0UHJvdG9jb2xFcnJvcihjYWxsSWQsIFN0cmluZzo6Zm9ybWF0KCJQcm90b2NvbCBF
cnJvcjogSW52YWxpZCBjb21tYW5kIHdhcyByZWNlaXZlZC4gJyVzJyB3YXNuJ3QgZm91bmQuIiwg
Y29tbWFuZC51dGY4KCkuZGF0YSgpKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAK
</data>
<flag name="review"
          id="54959"
          type_id="1"
          status="+"
          setter="yurys"
    />
          </attachment>
      

    </bug>

</bugzilla>