<?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>74549</bug_id>
          
          <creation_ts>2011-12-14 15:41:56 -0800</creation_ts>
          <short_desc>Web Inspector: Switch to type-safe JSON ConsoleMessage.cpp, InspectorDOMAgent.cpp, InspectorDebuggerAgent.cpp, ScriptCallFrame.cpp</short_desc>
          <delta_ts>2011-12-18 07:06:38 -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>
          <dependson>72861</dependson>
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Peter Rybin">peter.rybin</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>dglazkov</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>peter.rybin</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>521374</commentid>
    <comment_count>0</comment_count>
    <who name="Peter Rybin">peter.rybin</who>
    <bug_when>2011-12-14 15:41:56 -0800</bug_when>
    <thetext>Switch some core agents to newly created type-safe JSON TypeBuilder API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>521383</commentid>
    <comment_count>1</comment_count>
      <attachid>119311</attachid>
    <who name="Peter Rybin">peter.rybin</who>
    <bug_when>2011-12-14 15:50:17 -0800</bug_when>
    <thetext>Created attachment 119311
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>521467</commentid>
    <comment_count>2</comment_count>
      <attachid>119311</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-14 16:50:12 -0800</bug_when>
    <thetext>Comment on attachment 119311
Patch

Attachment 119311 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/10910015

New failing tests:
inspector/protocol/console-agent.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>521713</commentid>
    <comment_count>3</comment_count>
      <attachid>119311</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-12-15 00:18:06 -0800</bug_when>
    <thetext>Comment on attachment 119311
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=119311&amp;action=review

Great job!

&gt; Source/WebCore/inspector/ScriptCallFrame.cpp:67
&gt; +            String::number(m_lineNumber))

Please do a drive-by fix to the protocol itself instead of this workaround. You can also fix the Inspector-0.1.json in this case - it is clearly a typo.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>522105</commentid>
    <comment_count>4</comment_count>
      <attachid>119473</attachid>
    <who name="Peter Rybin">peter.rybin</who>
    <bug_when>2011-12-15 11:42:12 -0800</bug_when>
    <thetext>Created attachment 119473
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>522153</commentid>
    <comment_count>5</comment_count>
      <attachid>119473</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-15 12:43:27 -0800</bug_when>
    <thetext>Comment on attachment 119473
Patch

Attachment 119473 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/10915004

New failing tests:
inspector/protocol/console-agent.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>522231</commentid>
    <comment_count>6</comment_count>
      <attachid>119501</attachid>
    <who name="Peter Rybin">peter.rybin</who>
    <bug_when>2011-12-15 14:11:28 -0800</bug_when>
    <thetext>Created attachment 119501
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>523448</commentid>
    <comment_count>7</comment_count>
      <attachid>119501</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2011-12-18 07:06:30 -0800</bug_when>
    <thetext>Comment on attachment 119501
Patch

Clearing flags on attachment: 119501

Committed r103174: &lt;http://trac.webkit.org/changeset/103174&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>523449</commentid>
    <comment_count>8</comment_count>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2011-12-18 07:06:38 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>119311</attachid>
            <date>2011-12-14 15:50:17 -0800</date>
            <delta_ts>2011-12-15 11:42:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-74549-20111215035015.patch</filename>
            <type>text/plain</type>
            <size>11420</size>
            <attacher name="Peter Rybin">peter.rybin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyODE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjBjMmMxM2Q1MTQ2ZTBk
NTY3NGEwZmRkM2QxMzcxOTNlYTM4MDE0Yy4uZGY0NThlOTlkODY3ODEyYWFlNWI5Y2QyMjkzMGM0
MjUxNzc5ZTlhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDExLTEyLTE0ICBQZXRl
ciBSeWJpbiAgPHBldGVyLnJ5YmluQGdtYWlsLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9y
OiBTd2l0Y2ggdG8gdHlwZS1zYWZlIEpTT04gQ29uc29sZU1lc3NhZ2UuY3BwLCBJbnNwZWN0b3JE
T01BZ2VudC5jcHAsIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQuY3BwLCBTY3JpcHRDYWxsRnJhbWUu
Y3BwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU0
OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdvcmsg
d2l0aCBJbnNwZWN0b3JPYmplY3QgaXMgcmVwbGFjZWQgd2l0aCB0eXBlLXNhZmUgZ2VuZXJhdGVk
IEFQSQorICAgICAgICB1c2FnZS4KKworICAgICAgICAqIGluc3BlY3Rvci9Db25zb2xlTWVzc2Fn
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb25zb2xlTWVzc2FnZTo6YWRkVG9Gcm9udGVuZCk6
CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3RvckRPTUFnZW50OjpidWlsZE9iamVjdEZvck5vZGUpOgorICAgICAgICAo
V2ViQ29yZTo6SW5zcGVjdG9yRE9NQWdlbnQ6OmJ1aWxkT2JqZWN0Rm9yRXZlbnRMaXN0ZW5lcik6
CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SW5zcGVjdG9yRGVidWdnZXJBZ2VudDo6cmVzb2x2ZUJyZWFrcG9pbnQpOgor
ICAgICAgICAqIGluc3BlY3Rvci9TY3JpcHRDYWxsRnJhbWUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U2NyaXB0Q2FsbEZyYW1lOjpidWlsZEluc3BlY3Rvck9iamVjdCk6CisKIDIwMTEtMTItMTQg
IEpvbmF0aGFuIEJhY2tlciAgPGJhY2tlckBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9t
aXVtXSBQbHVtYiB0aHJvdWdoIGZsYWcgZm9yIGVuYWJsaW5nIHBhcnRpYWwgc3dhcApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5jcHAKaW5kZXggZTE2YTcyZWE2NjY1
MDVjNzczYzRlMThiZTI1ZmNlNGJlNDBjZGZhNC4uOGQzNTNmNmYwNjY1Yjk1YTczM2IwMzNlNjFl
MWMwZmYzZjg2ZjlkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNv
bGVNZXNzYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3Nh
Z2UuY3BwCkBAIC0xMzQsMTcgKzEzNCwxNyBAQCBzdGF0aWMgU3RyaW5nIG1lc3NhZ2VMZXZlbFZh
bHVlKE1lc3NhZ2VMZXZlbCBsZXZlbCkKIAogdm9pZCBDb25zb2xlTWVzc2FnZTo6YWRkVG9Gcm9u
dGVuZChJbnNwZWN0b3JGcm9udGVuZDo6Q29uc29sZSogZnJvbnRlbmQsIEluamVjdGVkU2NyaXB0
TWFuYWdlciogaW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKQogewotICAgIFJlZlB0cjxJbnNwZWN0b3JP
YmplY3Q+IGpzb25PYmogPSBJbnNwZWN0b3JPYmplY3Q6OmNyZWF0ZSgpOwotICAgIGpzb25PYmot
PnNldFN0cmluZygic291cmNlIiwgbWVzc2FnZVNvdXJjZVZhbHVlKG1fc291cmNlKSk7CisgICAg
UmVmUHRyPFR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZT4ganNvbk9iaiA9IFR5
cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6Y3JlYXRlKCkKKyAgICAgICAgLnNl
dFNvdXJjZShtZXNzYWdlU291cmNlVmFsdWUobV9zb3VyY2UpKQorICAgICAgICAuc2V0TGV2ZWwo
bWVzc2FnZUxldmVsVmFsdWUobV9sZXZlbCkpCisgICAgICAgIC5zZXRUZXh0KG1fbWVzc2FnZSk7
CiAgICAgLy8gRklYTUU6IG9ubHkgc2VuZCBvdXQgdHlwZSBmb3IgQ29uc29sZUFQSSBzb3VyY2Ug
bWVzc2FnZXMuCi0gICAganNvbk9iai0+c2V0U3RyaW5nKCJ0eXBlIiwgbWVzc2FnZVR5cGVWYWx1
ZShtX3R5cGUpKTsKLSAgICBqc29uT2JqLT5zZXRTdHJpbmcoImxldmVsIiwgbWVzc2FnZUxldmVs
VmFsdWUobV9sZXZlbCkpOwotICAgIGpzb25PYmotPnNldE51bWJlcigibGluZSIsIHN0YXRpY19j
YXN0PGludD4obV9saW5lKSk7Ci0gICAganNvbk9iai0+c2V0U3RyaW5nKCJ1cmwiLCBtX3VybCk7
Ci0gICAganNvbk9iai0+c2V0TnVtYmVyKCJyZXBlYXRDb3VudCIsIHN0YXRpY19jYXN0PGludD4o
bV9yZXBlYXRDb3VudCkpOwotICAgIGpzb25PYmotPnNldFN0cmluZygidGV4dCIsIG1fbWVzc2Fn
ZSk7CisgICAganNvbk9iai0+c2V0VHlwZShtZXNzYWdlVHlwZVZhbHVlKG1fdHlwZSkpOworICAg
IGpzb25PYmotPnNldExpbmUoc3RhdGljX2Nhc3Q8aW50PihtX2xpbmUpKTsKKyAgICBqc29uT2Jq
LT5zZXRVcmwobV91cmwpOworICAgIGpzb25PYmotPnNldFJlcGVhdENvdW50KHN0YXRpY19jYXN0
PGludD4obV9yZXBlYXRDb3VudCkpOwogICAgIGlmIChtX3NvdXJjZSA9PSBOZXR3b3JrTWVzc2Fn
ZVNvdXJjZSAmJiAhbV9yZXF1ZXN0SWQuaXNFbXB0eSgpKQotICAgICAgICBqc29uT2JqLT5zZXRT
dHJpbmcoIm5ldHdvcmtSZXF1ZXN0SWQiLCBtX3JlcXVlc3RJZCk7CisgICAgICAgIGpzb25PYmot
PnNldE5ldHdvcmtSZXF1ZXN0SWQobV9yZXF1ZXN0SWQpOwogICAgIGlmIChtX2FyZ3VtZW50cyAm
JiBtX2FyZ3VtZW50cy0+YXJndW1lbnRDb3VudCgpKSB7CiAgICAgICAgIEluamVjdGVkU2NyaXB0
IGluamVjdGVkU2NyaXB0ID0gaW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLT5pbmplY3RlZFNjcmlwdEZv
cihtX2FyZ3VtZW50cy0+Z2xvYmFsU3RhdGUoKSk7CiAgICAgICAgIGlmICghaW5qZWN0ZWRTY3Jp
cHQuaGFzTm9WYWx1ZSgpKSB7CkBAIC0xNTcsMTEgKzE1NywxMSBAQCB2b2lkIENvbnNvbGVNZXNz
YWdlOjphZGRUb0Zyb250ZW5kKEluc3BlY3RvckZyb250ZW5kOjpDb25zb2xlKiBmcm9udGVuZCwg
SW5qZWN0ZQogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBqc29uQXJncy0+cHVz
aFZhbHVlKGluc3BlY3RvclZhbHVlKTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGpzb25P
YmotPnNldEFycmF5KCJwYXJhbWV0ZXJzIiwganNvbkFyZ3MpOworICAgICAgICAgICAganNvbk9i
ai0+c2V0UGFyYW1ldGVycyhqc29uQXJncyk7CiAgICAgICAgIH0KICAgICB9CiAgICAgaWYgKG1f
Y2FsbFN0YWNrKQotICAgICAgICBqc29uT2JqLT5zZXRBcnJheSgic3RhY2tUcmFjZSIsIG1fY2Fs
bFN0YWNrLT5idWlsZEluc3BlY3RvckFycmF5KCkpOworICAgICAgICBqc29uT2JqLT5zZXRTdGFj
a1RyYWNlKG1fY2FsbFN0YWNrLT5idWlsZEluc3BlY3RvckFycmF5KCkpOwogICAgIGZyb250ZW5k
LT5tZXNzYWdlQWRkZWQoanNvbk9iaik7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCmluZGV4IGNmNDIzMTQ4MDJjYWNhYWI2YzQ4ZjhmNDE0
NDdkNTdmZWI4OGVkMjYuLmJmMDhmM2M0ZjFjYjViYWU3MjcwNmZjZjNhZWQwYjI1MDU3OTEyZTkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcApA
QCAtMTEyNSw4ICsxMTI1LDYgQEAgU3RyaW5nIEluc3BlY3RvckRPTUFnZW50Ojpkb2N1bWVudFVS
TFN0cmluZyhEb2N1bWVudCogZG9jdW1lbnQpCiAKIFBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0
PiBJbnNwZWN0b3JET01BZ2VudDo6YnVpbGRPYmplY3RGb3JOb2RlKE5vZGUqIG5vZGUsIGludCBk
ZXB0aCwgTm9kZVRvSWRNYXAqIG5vZGVzTWFwKQogewotICAgIFJlZlB0cjxJbnNwZWN0b3JPYmpl
Y3Q+IHZhbHVlID0gSW5zcGVjdG9yT2JqZWN0OjpjcmVhdGUoKTsKLQogICAgIGludCBpZCA9IGJp
bmQobm9kZSwgbm9kZXNNYXApOwogICAgIFN0cmluZyBub2RlTmFtZTsKICAgICBTdHJpbmcgbG9j
YWxOYW1lOwpAQCAtMTE1NSwxNSArMTE1MywxNiBAQCBQYXNzUmVmUHRyPEluc3BlY3Rvck9iamVj
dD4gSW5zcGVjdG9yRE9NQWdlbnQ6OmJ1aWxkT2JqZWN0Rm9yTm9kZShOb2RlKiBub2RlLCBpbgog
ICAgICAgICBicmVhazsKICAgICB9CiAKLSAgICB2YWx1ZS0+c2V0TnVtYmVyKCJub2RlSWQiLCBp
ZCk7Ci0gICAgdmFsdWUtPnNldE51bWJlcigibm9kZVR5cGUiLCBub2RlLT5ub2RlVHlwZSgpKTsK
LSAgICB2YWx1ZS0+c2V0U3RyaW5nKCJub2RlTmFtZSIsIG5vZGVOYW1lKTsKLSAgICB2YWx1ZS0+
c2V0U3RyaW5nKCJsb2NhbE5hbWUiLCBsb2NhbE5hbWUpOwotICAgIHZhbHVlLT5zZXRTdHJpbmco
Im5vZGVWYWx1ZSIsIG5vZGVWYWx1ZSk7CisgICAgUmVmUHRyPFR5cGVCdWlsZGVyOjpET006Ok5v
ZGU+IHZhbHVlID0gVHlwZUJ1aWxkZXI6OkRPTTo6Tm9kZTo6Y3JlYXRlKCkKKyAgICAgICAgLnNl
dE5vZGVJZChpZCkKKyAgICAgICAgLnNldE5vZGVUeXBlKG5vZGUtPm5vZGVUeXBlKCkpCisgICAg
ICAgIC5zZXROb2RlTmFtZShub2RlTmFtZSkKKyAgICAgICAgLnNldExvY2FsTmFtZShsb2NhbE5h
bWUpCisgICAgICAgIC5zZXROb2RlVmFsdWUobm9kZVZhbHVlKTsKIAogICAgIGlmIChub2RlLT5u
b2RlVHlwZSgpID09IE5vZGU6OkVMRU1FTlRfTk9ERSB8fCBub2RlLT5ub2RlVHlwZSgpID09IE5v
ZGU6OkRPQ1VNRU5UX05PREUgfHwgbm9kZS0+bm9kZVR5cGUoKSA9PSBOb2RlOjpET0NVTUVOVF9G
UkFHTUVOVF9OT0RFKSB7CiAgICAgICAgIGludCBub2RlQ291bnQgPSBpbm5lckNoaWxkTm9kZUNv
dW50KG5vZGUpOwotICAgICAgICB2YWx1ZS0+c2V0TnVtYmVyKCJjaGlsZE5vZGVDb3VudCIsIG5v
ZGVDb3VudCk7CisgICAgICAgIHZhbHVlLT5zZXRDaGlsZE5vZGVDb3VudChub2RlQ291bnQpOwog
ICAgICAgICBSZWZQdHI8SW5zcGVjdG9yQXJyYXk+IGNoaWxkcmVuID0gYnVpbGRBcnJheUZvckNv
bnRhaW5lckNoaWxkcmVuKG5vZGUsIGRlcHRoLCBub2Rlc01hcCk7CiAgICAgICAgIGlmIChjaGls
ZHJlbi0+bGVuZ3RoKCkgPiAwKQogICAgICAgICAgICAgdmFsdWUtPnNldEFycmF5KCJjaGlsZHJl
biIsIGNoaWxkcmVuLnJlbGVhc2UoKSk7CkBAIC0xMTczLDIyICsxMTcyLDIyIEBAIFBhc3NSZWZQ
dHI8SW5zcGVjdG9yT2JqZWN0PiBJbnNwZWN0b3JET01BZ2VudDo6YnVpbGRPYmplY3RGb3JOb2Rl
KE5vZGUqIG5vZGUsIGluCiAgICAgICAgICAgICB2YWx1ZS0+c2V0QXJyYXkoImF0dHJpYnV0ZXMi
LCBidWlsZEFycmF5Rm9yRWxlbWVudEF0dHJpYnV0ZXMoZWxlbWVudCkpOwogICAgICAgICAgICAg
aWYgKG5vZGUtPmlzRnJhbWVPd25lckVsZW1lbnQoKSkgewogICAgICAgICAgICAgICAgIEhUTUxG
cmFtZU93bmVyRWxlbWVudCogZnJhbWVPd25lciA9IHN0YXRpY19jYXN0PEhUTUxGcmFtZU93bmVy
RWxlbWVudCo+KG5vZGUpOwotICAgICAgICAgICAgICAgIHZhbHVlLT5zZXRTdHJpbmcoImRvY3Vt
ZW50VVJMIiwgZG9jdW1lbnRVUkxTdHJpbmcoZnJhbWVPd25lci0+Y29udGVudERvY3VtZW50KCkp
KTsKKyAgICAgICAgICAgICAgICB2YWx1ZS0+c2V0RG9jdW1lbnRVUkwoZG9jdW1lbnRVUkxTdHJp
bmcoZnJhbWVPd25lci0+Y29udGVudERvY3VtZW50KCkpKTsKICAgICAgICAgICAgIH0KICAgICAg
ICAgfSBlbHNlIGlmIChub2RlLT5ub2RlVHlwZSgpID09IE5vZGU6OkRPQ1VNRU5UX05PREUpIHsK
ICAgICAgICAgICAgIERvY3VtZW50KiBkb2N1bWVudCA9IHN0YXRpY19jYXN0PERvY3VtZW50Kj4o
bm9kZSk7Ci0gICAgICAgICAgICB2YWx1ZS0+c2V0U3RyaW5nKCJkb2N1bWVudFVSTCIsIGRvY3Vt
ZW50VVJMU3RyaW5nKGRvY3VtZW50KSk7Ci0gICAgICAgICAgICB2YWx1ZS0+c2V0U3RyaW5nKCJ4
bWxWZXJzaW9uIiwgZG9jdW1lbnQtPnhtbFZlcnNpb24oKSk7CisgICAgICAgICAgICB2YWx1ZS0+
c2V0RG9jdW1lbnRVUkwoZG9jdW1lbnRVUkxTdHJpbmcoZG9jdW1lbnQpKTsKKyAgICAgICAgICAg
IHZhbHVlLT5zZXRYbWxWZXJzaW9uKGRvY3VtZW50LT54bWxWZXJzaW9uKCkpOwogICAgICAgICB9
CiAgICAgfSBlbHNlIGlmIChub2RlLT5ub2RlVHlwZSgpID09IE5vZGU6OkRPQ1VNRU5UX1RZUEVf
Tk9ERSkgewogICAgICAgICBEb2N1bWVudFR5cGUqIGRvY1R5cGUgPSBzdGF0aWNfY2FzdDxEb2N1
bWVudFR5cGUqPihub2RlKTsKLSAgICAgICAgdmFsdWUtPnNldFN0cmluZygicHVibGljSWQiLCBk
b2NUeXBlLT5wdWJsaWNJZCgpKTsKLSAgICAgICAgdmFsdWUtPnNldFN0cmluZygic3lzdGVtSWQi
LCBkb2NUeXBlLT5zeXN0ZW1JZCgpKTsKLSAgICAgICAgdmFsdWUtPnNldFN0cmluZygiaW50ZXJu
YWxTdWJzZXQiLCBkb2NUeXBlLT5pbnRlcm5hbFN1YnNldCgpKTsKKyAgICAgICAgdmFsdWUtPnNl
dFB1YmxpY0lkKGRvY1R5cGUtPnB1YmxpY0lkKCkpOworICAgICAgICB2YWx1ZS0+c2V0U3lzdGVt
SWQoZG9jVHlwZS0+c3lzdGVtSWQoKSk7CisgICAgICAgIHZhbHVlLT5zZXRJbnRlcm5hbFN1YnNl
dChkb2NUeXBlLT5pbnRlcm5hbFN1YnNldCgpKTsKICAgICB9IGVsc2UgaWYgKG5vZGUtPm5vZGVU
eXBlKCkgPT0gTm9kZTo6QVRUUklCVVRFX05PREUpIHsKICAgICAgICAgQXR0ciogYXR0cmlidXRl
ID0gc3RhdGljX2Nhc3Q8QXR0cio+KG5vZGUpOwotICAgICAgICB2YWx1ZS0+c2V0U3RyaW5nKCJu
YW1lIiwgYXR0cmlidXRlLT5uYW1lKCkpOwotICAgICAgICB2YWx1ZS0+c2V0U3RyaW5nKCJ2YWx1
ZSIsIGF0dHJpYnV0ZS0+dmFsdWUoKSk7CisgICAgICAgIHZhbHVlLT5zZXROYW1lKGF0dHJpYnV0
ZS0+bmFtZSgpKTsKKyAgICAgICAgdmFsdWUtPnNldFZhbHVlKGF0dHJpYnV0ZS0+dmFsdWUoKSk7
CiAgICAgfQogICAgIHJldHVybiB2YWx1ZS5yZWxlYXNlKCk7CiB9CkBAIC0xMjM1LDE5ICsxMjM0
LDE5IEBAIFBhc3NSZWZQdHI8SW5zcGVjdG9yQXJyYXk+IEluc3BlY3RvckRPTUFnZW50OjpidWls
ZEFycmF5Rm9yQ29udGFpbmVyQ2hpbGRyZW4oTm9kCiBQYXNzUmVmUHRyPEluc3BlY3Rvck9iamVj
dD4gSW5zcGVjdG9yRE9NQWdlbnQ6OmJ1aWxkT2JqZWN0Rm9yRXZlbnRMaXN0ZW5lcihjb25zdCBS
ZWdpc3RlcmVkRXZlbnRMaXN0ZW5lciYgcmVnaXN0ZXJlZEV2ZW50TGlzdGVuZXIsIGNvbnN0IEF0
b21pY1N0cmluZyYgZXZlbnRUeXBlLCBOb2RlKiBub2RlKQogewogICAgIFJlZlB0cjxFdmVudExp
c3RlbmVyPiBldmVudExpc3RlbmVyID0gcmVnaXN0ZXJlZEV2ZW50TGlzdGVuZXIubGlzdGVuZXI7
Ci0gICAgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gdmFsdWUgPSBJbnNwZWN0b3JPYmplY3Q6OmNy
ZWF0ZSgpOwotICAgIHZhbHVlLT5zZXRTdHJpbmcoInR5cGUiLCBldmVudFR5cGUpOwotICAgIHZh
bHVlLT5zZXRCb29sZWFuKCJ1c2VDYXB0dXJlIiwgcmVnaXN0ZXJlZEV2ZW50TGlzdGVuZXIudXNl
Q2FwdHVyZSk7Ci0gICAgdmFsdWUtPnNldEJvb2xlYW4oImlzQXR0cmlidXRlIiwgZXZlbnRMaXN0
ZW5lci0+aXNBdHRyaWJ1dGUoKSk7Ci0gICAgdmFsdWUtPnNldE51bWJlcigibm9kZUlkIiwgcHVz
aE5vZGVQYXRoVG9Gcm9udGVuZChub2RlKSk7Ci0gICAgdmFsdWUtPnNldFN0cmluZygiaGFuZGxl
ckJvZHkiLCBldmVudExpc3RlbmVySGFuZGxlckJvZHkobm9kZS0+ZG9jdW1lbnQoKSwgZXZlbnRM
aXN0ZW5lci5nZXQoKSkpOworICAgIFJlZlB0cjxUeXBlQnVpbGRlcjo6RE9NOjpFdmVudExpc3Rl
bmVyPiB2YWx1ZSA9IFR5cGVCdWlsZGVyOjpET006OkV2ZW50TGlzdGVuZXI6OmNyZWF0ZSgpCisg
ICAgICAgIC5zZXRUeXBlKGV2ZW50VHlwZSkKKyAgICAgICAgLnNldFVzZUNhcHR1cmUocmVnaXN0
ZXJlZEV2ZW50TGlzdGVuZXIudXNlQ2FwdHVyZSkKKyAgICAgICAgLnNldElzQXR0cmlidXRlKGV2
ZW50TGlzdGVuZXItPmlzQXR0cmlidXRlKCkpCisgICAgICAgIC5zZXROb2RlSWQocHVzaE5vZGVQ
YXRoVG9Gcm9udGVuZChub2RlKSkKKyAgICAgICAgLnNldEhhbmRsZXJCb2R5KGV2ZW50TGlzdGVu
ZXJIYW5kbGVyQm9keShub2RlLT5kb2N1bWVudCgpLCBldmVudExpc3RlbmVyLmdldCgpKSk7CiAg
ICAgU3RyaW5nIHNvdXJjZU5hbWU7CiAgICAgaW50IGxpbmVOdW1iZXI7CiAgICAgaWYgKGV2ZW50
TGlzdGVuZXJIYW5kbGVyTG9jYXRpb24obm9kZS0+ZG9jdW1lbnQoKSwgZXZlbnRMaXN0ZW5lci5n
ZXQoKSwgc291cmNlTmFtZSwgbGluZU51bWJlcikpIHsKLSAgICAgICAgUmVmUHRyPEluc3BlY3Rv
ck9iamVjdD4gbG9jYXRpb24gPSBJbnNwZWN0b3JPYmplY3Q6OmNyZWF0ZSgpOwotICAgICAgICBs
b2NhdGlvbi0+c2V0U3RyaW5nKCJzY3JpcHRJZCIsIHNvdXJjZU5hbWUpOwotICAgICAgICBsb2Nh
dGlvbi0+c2V0TnVtYmVyKCJsaW5lTnVtYmVyIiwgbGluZU51bWJlcik7Ci0gICAgICAgIHZhbHVl
LT5zZXRPYmplY3QoImxvY2F0aW9uIiwgbG9jYXRpb24pOworICAgICAgICBSZWZQdHI8VHlwZUJ1
aWxkZXI6OkRlYnVnZ2VyOjpMb2NhdGlvbj4gbG9jYXRpb24gPSBUeXBlQnVpbGRlcjo6RGVidWdn
ZXI6OkxvY2F0aW9uOjpjcmVhdGUoKQorICAgICAgICAgICAgLnNldFNjcmlwdElkKHNvdXJjZU5h
bWUpCisgICAgICAgICAgICAuc2V0TGluZU51bWJlcihsaW5lTnVtYmVyKTsKKyAgICAgICAgdmFs
dWUtPnNldExvY2F0aW9uKGxvY2F0aW9uKTsKICAgICB9CiAgICAgcmV0dXJuIHZhbHVlLnJlbGVh
c2UoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JE
ZWJ1Z2dlckFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1
Z2dlckFnZW50LmNwcAppbmRleCAyMjIxZWMyNTI5ZDEwNjQ5ZGNiZDAyMmU1NzU1Y2Y5NTJmYjFh
MDQxLi5lOTA0OWNhYTg4MjcwNThkYjg0N2ZkZDIwOGRhOTNkMGFmMGUwOTg2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuY3BwCkBA
IC0zMTgsMTAgKzMxOCwxMCBAQCBQYXNzUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gSW5zcGVjdG9y
RGVidWdnZXJBZ2VudDo6cmVzb2x2ZUJyZWFrcG9pbnQoY29uc3QgU3RyaQogICAgICAgICBkZWJ1
Z1NlcnZlckJyZWFrcG9pbnRJZHNJdGVyYXRvciA9IG1fYnJlYWtwb2ludElkVG9EZWJ1Z1NlcnZl
ckJyZWFrcG9pbnRJZHMuc2V0KGJyZWFrcG9pbnRJZCwgVmVjdG9yPFN0cmluZz4oKSkuZmlyc3Q7
CiAgICAgZGVidWdTZXJ2ZXJCcmVha3BvaW50SWRzSXRlcmF0b3ItPnNlY29uZC5hcHBlbmQoZGVi
dWdTZXJ2ZXJCcmVha3BvaW50SWQpOwogCi0gICAgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gbG9j
YXRpb24gPSBJbnNwZWN0b3JPYmplY3Q6OmNyZWF0ZSgpOwotICAgIGxvY2F0aW9uLT5zZXRTdHJp
bmcoInNjcmlwdElkIiwgc2NyaXB0SWQpOwotICAgIGxvY2F0aW9uLT5zZXROdW1iZXIoImxpbmVO
dW1iZXIiLCBhY3R1YWxMaW5lTnVtYmVyKTsKLSAgICBsb2NhdGlvbi0+c2V0TnVtYmVyKCJjb2x1
bW5OdW1iZXIiLCBhY3R1YWxDb2x1bW5OdW1iZXIpOworICAgIFJlZlB0cjxUeXBlQnVpbGRlcjo6
RGVidWdnZXI6OkxvY2F0aW9uPiBsb2NhdGlvbiA9IFR5cGVCdWlsZGVyOjpEZWJ1Z2dlcjo6TG9j
YXRpb246OmNyZWF0ZSgpCisgICAgICAgIC5zZXRTY3JpcHRJZChzY3JpcHRJZCkKKyAgICAgICAg
LnNldExpbmVOdW1iZXIoYWN0dWFsTGluZU51bWJlcik7CisgICAgbG9jYXRpb24tPnNldENvbHVt
bk51bWJlcihhY3R1YWxDb2x1bW5OdW1iZXIpOwogICAgIHJldHVybiBsb2NhdGlvbjsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxGcmFtZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbEZyYW1lLmNwcAppbmRleCA2NDFk
MTkyM2UyMjdkYzkwODdhMzk3NzQ3MzViMjIzOTg5ZDI0MjJjLi4wMDIxYzdiMGI3NTVkM2Q3YjNj
NjhiNTQ5ZWRiODFiYzk5ODRlNDFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvU2NyaXB0Q2FsbEZyYW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvU2Ny
aXB0Q2FsbEZyYW1lLmNwcApAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgog
I2luY2x1ZGUgIlNjcmlwdENhbGxGcmFtZS5oIgogCisjaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRl
bmQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JWYWx1ZXMuaCIKICNpbmNsdWRlIDx3dGYvUmVmUHRy
Lmg+CiAKQEAgLTU4LDExICs1OSwxNSBAQCBib29sIFNjcmlwdENhbGxGcmFtZTo6aXNFcXVhbChj
b25zdCBTY3JpcHRDYWxsRnJhbWUmIG8pIGNvbnN0CiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKIFBh
c3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBTY3JpcHRDYWxsRnJhbWU6OmJ1aWxkSW5zcGVjdG9y
T2JqZWN0KCkgY29uc3QKIHsKLSAgICBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBmcmFtZSA9IElu
c3BlY3Rvck9iamVjdDo6Y3JlYXRlKCk7Ci0gICAgZnJhbWUtPnNldFN0cmluZygiZnVuY3Rpb25O
YW1lIiwgbV9mdW5jdGlvbk5hbWUpOwotICAgIGZyYW1lLT5zZXRTdHJpbmcoInVybCIsIG1fc2Ny
aXB0TmFtZSk7Ci0gICAgZnJhbWUtPnNldE51bWJlcigibGluZU51bWJlciIsIG1fbGluZU51bWJl
cik7Ci0gICAgZnJhbWUtPnNldE51bWJlcigiY29sdW1uTnVtYmVyIiwgbV9jb2x1bW4pOworICAg
IFJlZlB0cjxUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q2FsbEZyYW1lPiBmcmFtZSA9IFR5cGVCdWls
ZGVyOjpDb25zb2xlOjpDYWxsRnJhbWU6OmNyZWF0ZSgpCisgICAgICAgIC5zZXRGdW5jdGlvbk5h
bWUobV9mdW5jdGlvbk5hbWUpCisgICAgICAgIC5zZXRVcmwobV9zY3JpcHROYW1lKQorICAgICAg
ICAuc2V0TGluZU51bWJlcigKKyAgICAgICAgICAgIC8vIEZJWE1FOiB3aHkgbnVtYmVyIGlzIHN0
cmluZz8KKyAgICAgICAgICAgIFN0cmluZzo6bnVtYmVyKG1fbGluZU51bWJlcikpCisgICAgICAg
IC5zZXRDb2x1bW5OdW1iZXIoCisgICAgICAgICAgICAvLyBGSVhNRTogd2h5IG51bWJlciBpcyBz
dHJpbmc/CisgICAgICAgICAgICBTdHJpbmc6Om51bWJlcihtX2NvbHVtbikpOwogICAgIHJldHVy
biBmcmFtZTsKIH0KICNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>119473</attachid>
            <date>2011-12-15 11:42:12 -0800</date>
            <delta_ts>2011-12-15 14:11:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-74549-20111215234210.patch</filename>
            <type>text/plain</type>
            <size>13597</size>
            <attacher name="Peter Rybin">peter.rybin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyOTU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTY2MWFiOTlmNjE1YmZk
ZGFjNWVhOGQ1YmY3OWM2ZmFlOWVlZTA3YS4uYjJlNDEyOTNhMzY5MTNlOTg2MjNkOGNjOTg2ZjQ3
Y2NiMjkzNjEzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDExLTEyLTE1ICBQZXRl
ciBSeWJpbiAgPHBldGVyLnJ5YmluQGdtYWlsLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9y
OiBTd2l0Y2ggdG8gdHlwZS1zYWZlIEpTT04gQ29uc29sZU1lc3NhZ2UuY3BwLCBJbnNwZWN0b3JE
T01BZ2VudC5jcHAsIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQuY3BwLCBTY3JpcHRDYWxsRnJhbWUu
Y3BwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU0
OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdvcmsg
d2l0aCBJbnNwZWN0b3JPYmplY3QgaXMgcmVwbGFjZWQgd2l0aCB0eXBlLXNhZmUgZ2VuZXJhdGVk
IEFQSQorICAgICAgICB1c2FnZS4KKyAgICAgICAgSW5zcGVjdG9yLmpzb24gYW5kIEluc3BlY3Rv
ci0wLjEuanNvbiBhcmUgYWxzbyBjaGFuZ2VkIHRvIGJldHRlcgorICAgICAgICByZWZsZWN0IGRh
dGEgdHlwZXMgdGhhdCBhcmUgYWN0dWFsbHkgYmVpbmcgdHJhbnNtaXR0ZWQuCisKKyAgICAgICAg
KiBpbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29uc29s
ZU1lc3NhZ2U6OmFkZFRvRnJvbnRlbmQpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3It
MC4xLmpzb246CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uOgorICAgICAgICAq
IGluc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JET01BZ2VudDo6YnVpbGRPYmplY3RGb3JOb2RlKToKKyAgICAgICAgKFdlYkNvcmU6Oklu
c3BlY3RvckRPTUFnZW50OjpidWlsZE9iamVjdEZvckV2ZW50TGlzdGVuZXIpOgorICAgICAgICAq
IGluc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Okluc3BlY3RvckRlYnVnZ2VyQWdlbnQ6OnJlc29sdmVCcmVha3BvaW50KToKKyAgICAgICAgKiBp
bnNwZWN0b3IvU2NyaXB0Q2FsbEZyYW1lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdENh
bGxGcmFtZTo6YnVpbGRJbnNwZWN0b3JPYmplY3QpOgorCiAyMDExLTEyLTE1ICBNYXJ0aW4gUm9i
aW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KIAogICAgICAgICBwbHVnaW4gY3Jhc2gKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuY3BwCmluZGV4IGUxNmE3MmVh
NjY2NTA1Yzc3M2M0ZTE4YmUyNWZjZTRiZTQwY2RmYTQuLjhkMzUzZjZmMDY2NWI5NWE3MzNiMDMz
ZTYxZTFjMGZmM2Y4NmY5ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9D
b25zb2xlTWVzc2FnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVN
ZXNzYWdlLmNwcApAQCAtMTM0LDE3ICsxMzQsMTcgQEAgc3RhdGljIFN0cmluZyBtZXNzYWdlTGV2
ZWxWYWx1ZShNZXNzYWdlTGV2ZWwgbGV2ZWwpCiAKIHZvaWQgQ29uc29sZU1lc3NhZ2U6OmFkZFRv
RnJvbnRlbmQoSW5zcGVjdG9yRnJvbnRlbmQ6OkNvbnNvbGUqIGZyb250ZW5kLCBJbmplY3RlZFNj
cmlwdE1hbmFnZXIqIGluamVjdGVkU2NyaXB0TWFuYWdlcikKIHsKLSAgICBSZWZQdHI8SW5zcGVj
dG9yT2JqZWN0PiBqc29uT2JqID0gSW5zcGVjdG9yT2JqZWN0OjpjcmVhdGUoKTsKLSAgICBqc29u
T2JqLT5zZXRTdHJpbmcoInNvdXJjZSIsIG1lc3NhZ2VTb3VyY2VWYWx1ZShtX3NvdXJjZSkpOwor
ICAgIFJlZlB0cjxUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U+IGpzb25PYmog
PSBUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OmNyZWF0ZSgpCisgICAgICAg
IC5zZXRTb3VyY2UobWVzc2FnZVNvdXJjZVZhbHVlKG1fc291cmNlKSkKKyAgICAgICAgLnNldExl
dmVsKG1lc3NhZ2VMZXZlbFZhbHVlKG1fbGV2ZWwpKQorICAgICAgICAuc2V0VGV4dChtX21lc3Nh
Z2UpOwogICAgIC8vIEZJWE1FOiBvbmx5IHNlbmQgb3V0IHR5cGUgZm9yIENvbnNvbGVBUEkgc291
cmNlIG1lc3NhZ2VzLgotICAgIGpzb25PYmotPnNldFN0cmluZygidHlwZSIsIG1lc3NhZ2VUeXBl
VmFsdWUobV90eXBlKSk7Ci0gICAganNvbk9iai0+c2V0U3RyaW5nKCJsZXZlbCIsIG1lc3NhZ2VM
ZXZlbFZhbHVlKG1fbGV2ZWwpKTsKLSAgICBqc29uT2JqLT5zZXROdW1iZXIoImxpbmUiLCBzdGF0
aWNfY2FzdDxpbnQ+KG1fbGluZSkpOwotICAgIGpzb25PYmotPnNldFN0cmluZygidXJsIiwgbV91
cmwpOwotICAgIGpzb25PYmotPnNldE51bWJlcigicmVwZWF0Q291bnQiLCBzdGF0aWNfY2FzdDxp
bnQ+KG1fcmVwZWF0Q291bnQpKTsKLSAgICBqc29uT2JqLT5zZXRTdHJpbmcoInRleHQiLCBtX21l
c3NhZ2UpOworICAgIGpzb25PYmotPnNldFR5cGUobWVzc2FnZVR5cGVWYWx1ZShtX3R5cGUpKTsK
KyAgICBqc29uT2JqLT5zZXRMaW5lKHN0YXRpY19jYXN0PGludD4obV9saW5lKSk7CisgICAganNv
bk9iai0+c2V0VXJsKG1fdXJsKTsKKyAgICBqc29uT2JqLT5zZXRSZXBlYXRDb3VudChzdGF0aWNf
Y2FzdDxpbnQ+KG1fcmVwZWF0Q291bnQpKTsKICAgICBpZiAobV9zb3VyY2UgPT0gTmV0d29ya01l
c3NhZ2VTb3VyY2UgJiYgIW1fcmVxdWVzdElkLmlzRW1wdHkoKSkKLSAgICAgICAganNvbk9iai0+
c2V0U3RyaW5nKCJuZXR3b3JrUmVxdWVzdElkIiwgbV9yZXF1ZXN0SWQpOworICAgICAgICBqc29u
T2JqLT5zZXROZXR3b3JrUmVxdWVzdElkKG1fcmVxdWVzdElkKTsKICAgICBpZiAobV9hcmd1bWVu
dHMgJiYgbV9hcmd1bWVudHMtPmFyZ3VtZW50Q291bnQoKSkgewogICAgICAgICBJbmplY3RlZFNj
cmlwdCBpbmplY3RlZFNjcmlwdCA9IGluamVjdGVkU2NyaXB0TWFuYWdlci0+aW5qZWN0ZWRTY3Jp
cHRGb3IobV9hcmd1bWVudHMtPmdsb2JhbFN0YXRlKCkpOwogICAgICAgICBpZiAoIWluamVjdGVk
U2NyaXB0Lmhhc05vVmFsdWUoKSkgewpAQCAtMTU3LDExICsxNTcsMTEgQEAgdm9pZCBDb25zb2xl
TWVzc2FnZTo6YWRkVG9Gcm9udGVuZChJbnNwZWN0b3JGcm9udGVuZDo6Q29uc29sZSogZnJvbnRl
bmQsIEluamVjdGUKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAganNvbkFyZ3Mt
PnB1c2hWYWx1ZShpbnNwZWN0b3JWYWx1ZSk7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBq
c29uT2JqLT5zZXRBcnJheSgicGFyYW1ldGVycyIsIGpzb25BcmdzKTsKKyAgICAgICAgICAgIGpz
b25PYmotPnNldFBhcmFtZXRlcnMoanNvbkFyZ3MpOwogICAgICAgICB9CiAgICAgfQogICAgIGlm
IChtX2NhbGxTdGFjaykKLSAgICAgICAganNvbk9iai0+c2V0QXJyYXkoInN0YWNrVHJhY2UiLCBt
X2NhbGxTdGFjay0+YnVpbGRJbnNwZWN0b3JBcnJheSgpKTsKKyAgICAgICAganNvbk9iai0+c2V0
U3RhY2tUcmFjZShtX2NhbGxTdGFjay0+YnVpbGRJbnNwZWN0b3JBcnJheSgpKTsKICAgICBmcm9u
dGVuZC0+bWVzc2FnZUFkZGVkKGpzb25PYmopOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLTAuMS5qc29uIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3Rvci0wLjEuanNvbgppbmRleCAzYTFlYjdhMmViNWNmYmY1YjM5OTVjOTg5MjJi
YzFhYWVkYjcwOTZjLi5iNTc4OWFlNWZhNDRmYWFmZWQ1OWZkMzk0YjNiZWQ3ODg1Y2YzMTE3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLTAuMS5qc29uCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3ItMC4xLmpzb24KQEAgLTM2OSw4
ICszNjksOCBAQAogICAgICAgICAgICAgICAgICJwcm9wZXJ0aWVzIjogWwogICAgICAgICAgICAg
ICAgICAgICB7ICJuYW1lIjogImZ1bmN0aW9uTmFtZSIsICJ0eXBlIjogInN0cmluZyIsICJkZXNj
cmlwdGlvbiI6ICJKYXZhU2NyaXB0IGZ1bmN0aW9uIG5hbWUuIiB9LAogICAgICAgICAgICAgICAg
ICAgICB7ICJuYW1lIjogInVybCIsICJ0eXBlIjogInN0cmluZyIsICJkZXNjcmlwdGlvbiI6ICJK
YXZhU2NyaXB0IHNjcmlwdCBuYW1lIG9yIHVybC4iIH0sCi0gICAgICAgICAgICAgICAgICAgIHsg
Im5hbWUiOiAibGluZU51bWJlciIsICJ0eXBlIjogInN0cmluZyIsICJkZXNjcmlwdGlvbiI6ICJK
YXZhU2NyaXB0IHNjcmlwdCBsaW5lIG51bWJlci4iIH0sCi0gICAgICAgICAgICAgICAgICAgIHsg
Im5hbWUiOiAiY29sdW1uTnVtYmVyIiwgInR5cGUiOiAic3RyaW5nIiwgImRlc2NyaXB0aW9uIjog
IkphdmFTY3JpcHQgc2NyaXB0IGNvbHVtbiBudW1iZXIuIiB9CisgICAgICAgICAgICAgICAgICAg
IHsgIm5hbWUiOiAibGluZU51bWJlciIsICJ0eXBlIjogImludGVnZXIiLCAiZGVzY3JpcHRpb24i
OiAiSmF2YVNjcmlwdCBzY3JpcHQgbGluZSBudW1iZXIuIiB9LAorICAgICAgICAgICAgICAgICAg
ICB7ICJuYW1lIjogImNvbHVtbk51bWJlciIsICJ0eXBlIjogImludGVnZXIiLCAiZGVzY3JpcHRp
b24iOiAiSmF2YVNjcmlwdCBzY3JpcHQgY29sdW1uIG51bWJlci4iIH0KICAgICAgICAgICAgICAg
ICBdCiAgICAgICAgICAgICB9LAogICAgICAgICAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3Rvci5qc29uCmluZGV4IGY5ZmY3NjA2ZTRiNmQ3NTUxOTMwNmYyMGU3Y2QwMjI2MDM2
OWNiY2EuLjdmMGJmMjlhNTczMzk1YTA2MDY0NzgzOWFkNmU5NzhlOTY0MDk5ZWIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KQEAgLTQ0OCw4ICs0NDgsOCBAQAogICAg
ICAgICAgICAgICAgICJwcm9wZXJ0aWVzIjogWwogICAgICAgICAgICAgICAgICAgICB7ICJuYW1l
IjogImZ1bmN0aW9uTmFtZSIsICJ0eXBlIjogInN0cmluZyIsICJkZXNjcmlwdGlvbiI6ICJKYXZh
U2NyaXB0IGZ1bmN0aW9uIG5hbWUuIiB9LAogICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjog
InVybCIsICJ0eXBlIjogInN0cmluZyIsICJkZXNjcmlwdGlvbiI6ICJKYXZhU2NyaXB0IHNjcmlw
dCBuYW1lIG9yIHVybC4iIH0sCi0gICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAibGluZU51
bWJlciIsICJ0eXBlIjogInN0cmluZyIsICJkZXNjcmlwdGlvbiI6ICJKYXZhU2NyaXB0IHNjcmlw
dCBsaW5lIG51bWJlci4iIH0sCi0gICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiY29sdW1u
TnVtYmVyIiwgInR5cGUiOiAic3RyaW5nIiwgImRlc2NyaXB0aW9uIjogIkphdmFTY3JpcHQgc2Ny
aXB0IGNvbHVtbiBudW1iZXIuIiB9CisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAibGlu
ZU51bWJlciIsICJ0eXBlIjogImludGVnZXIiLCAiZGVzY3JpcHRpb24iOiAiSmF2YVNjcmlwdCBz
Y3JpcHQgbGluZSBudW1iZXIuIiB9LAorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImNv
bHVtbk51bWJlciIsICJ0eXBlIjogImludGVnZXIiLCAiZGVzY3JpcHRpb24iOiAiSmF2YVNjcmlw
dCBzY3JpcHQgY29sdW1uIG51bWJlci4iIH0KICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAg
ICB9LAogICAgICAgICAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckRPTUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JET01BZ2VudC5jcHAKaW5kZXggY2Y0MjMxNDgwMmNhY2FhYjZjNDhmOGY0MTQ0N2Q1N2ZlYjg4
ZWQyNi4uYmYwOGYzYzRmMWNiNWJhZTcyNzA2ZmNmM2FlZDBiMjUwNTc5MTJlOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCkBAIC0xMTI1LDgg
KzExMjUsNiBAQCBTdHJpbmcgSW5zcGVjdG9yRE9NQWdlbnQ6OmRvY3VtZW50VVJMU3RyaW5nKERv
Y3VtZW50KiBkb2N1bWVudCkKIAogUGFzc1JlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IEluc3BlY3Rv
ckRPTUFnZW50OjpidWlsZE9iamVjdEZvck5vZGUoTm9kZSogbm9kZSwgaW50IGRlcHRoLCBOb2Rl
VG9JZE1hcCogbm9kZXNNYXApCiB7Ci0gICAgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gdmFsdWUg
PSBJbnNwZWN0b3JPYmplY3Q6OmNyZWF0ZSgpOwotCiAgICAgaW50IGlkID0gYmluZChub2RlLCBu
b2Rlc01hcCk7CiAgICAgU3RyaW5nIG5vZGVOYW1lOwogICAgIFN0cmluZyBsb2NhbE5hbWU7CkBA
IC0xMTU1LDE1ICsxMTUzLDE2IEBAIFBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBJbnNwZWN0
b3JET01BZ2VudDo6YnVpbGRPYmplY3RGb3JOb2RlKE5vZGUqIG5vZGUsIGluCiAgICAgICAgIGJy
ZWFrOwogICAgIH0KIAotICAgIHZhbHVlLT5zZXROdW1iZXIoIm5vZGVJZCIsIGlkKTsKLSAgICB2
YWx1ZS0+c2V0TnVtYmVyKCJub2RlVHlwZSIsIG5vZGUtPm5vZGVUeXBlKCkpOwotICAgIHZhbHVl
LT5zZXRTdHJpbmcoIm5vZGVOYW1lIiwgbm9kZU5hbWUpOwotICAgIHZhbHVlLT5zZXRTdHJpbmco
ImxvY2FsTmFtZSIsIGxvY2FsTmFtZSk7Ci0gICAgdmFsdWUtPnNldFN0cmluZygibm9kZVZhbHVl
Iiwgbm9kZVZhbHVlKTsKKyAgICBSZWZQdHI8VHlwZUJ1aWxkZXI6OkRPTTo6Tm9kZT4gdmFsdWUg
PSBUeXBlQnVpbGRlcjo6RE9NOjpOb2RlOjpjcmVhdGUoKQorICAgICAgICAuc2V0Tm9kZUlkKGlk
KQorICAgICAgICAuc2V0Tm9kZVR5cGUobm9kZS0+bm9kZVR5cGUoKSkKKyAgICAgICAgLnNldE5v
ZGVOYW1lKG5vZGVOYW1lKQorICAgICAgICAuc2V0TG9jYWxOYW1lKGxvY2FsTmFtZSkKKyAgICAg
ICAgLnNldE5vZGVWYWx1ZShub2RlVmFsdWUpOwogCiAgICAgaWYgKG5vZGUtPm5vZGVUeXBlKCkg
PT0gTm9kZTo6RUxFTUVOVF9OT0RFIHx8IG5vZGUtPm5vZGVUeXBlKCkgPT0gTm9kZTo6RE9DVU1F
TlRfTk9ERSB8fCBub2RlLT5ub2RlVHlwZSgpID09IE5vZGU6OkRPQ1VNRU5UX0ZSQUdNRU5UX05P
REUpIHsKICAgICAgICAgaW50IG5vZGVDb3VudCA9IGlubmVyQ2hpbGROb2RlQ291bnQobm9kZSk7
Ci0gICAgICAgIHZhbHVlLT5zZXROdW1iZXIoImNoaWxkTm9kZUNvdW50Iiwgbm9kZUNvdW50KTsK
KyAgICAgICAgdmFsdWUtPnNldENoaWxkTm9kZUNvdW50KG5vZGVDb3VudCk7CiAgICAgICAgIFJl
ZlB0cjxJbnNwZWN0b3JBcnJheT4gY2hpbGRyZW4gPSBidWlsZEFycmF5Rm9yQ29udGFpbmVyQ2hp
bGRyZW4obm9kZSwgZGVwdGgsIG5vZGVzTWFwKTsKICAgICAgICAgaWYgKGNoaWxkcmVuLT5sZW5n
dGgoKSA+IDApCiAgICAgICAgICAgICB2YWx1ZS0+c2V0QXJyYXkoImNoaWxkcmVuIiwgY2hpbGRy
ZW4ucmVsZWFzZSgpKTsKQEAgLTExNzMsMjIgKzExNzIsMjIgQEAgUGFzc1JlZlB0cjxJbnNwZWN0
b3JPYmplY3Q+IEluc3BlY3RvckRPTUFnZW50OjpidWlsZE9iamVjdEZvck5vZGUoTm9kZSogbm9k
ZSwgaW4KICAgICAgICAgICAgIHZhbHVlLT5zZXRBcnJheSgiYXR0cmlidXRlcyIsIGJ1aWxkQXJy
YXlGb3JFbGVtZW50QXR0cmlidXRlcyhlbGVtZW50KSk7CiAgICAgICAgICAgICBpZiAobm9kZS0+
aXNGcmFtZU93bmVyRWxlbWVudCgpKSB7CiAgICAgICAgICAgICAgICAgSFRNTEZyYW1lT3duZXJF
bGVtZW50KiBmcmFtZU93bmVyID0gc3RhdGljX2Nhc3Q8SFRNTEZyYW1lT3duZXJFbGVtZW50Kj4o
bm9kZSk7Ci0gICAgICAgICAgICAgICAgdmFsdWUtPnNldFN0cmluZygiZG9jdW1lbnRVUkwiLCBk
b2N1bWVudFVSTFN0cmluZyhmcmFtZU93bmVyLT5jb250ZW50RG9jdW1lbnQoKSkpOworICAgICAg
ICAgICAgICAgIHZhbHVlLT5zZXREb2N1bWVudFVSTChkb2N1bWVudFVSTFN0cmluZyhmcmFtZU93
bmVyLT5jb250ZW50RG9jdW1lbnQoKSkpOwogICAgICAgICAgICAgfQogICAgICAgICB9IGVsc2Ug
aWYgKG5vZGUtPm5vZGVUeXBlKCkgPT0gTm9kZTo6RE9DVU1FTlRfTk9ERSkgewogICAgICAgICAg
ICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gc3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihub2RlKTsKLSAg
ICAgICAgICAgIHZhbHVlLT5zZXRTdHJpbmcoImRvY3VtZW50VVJMIiwgZG9jdW1lbnRVUkxTdHJp
bmcoZG9jdW1lbnQpKTsKLSAgICAgICAgICAgIHZhbHVlLT5zZXRTdHJpbmcoInhtbFZlcnNpb24i
LCBkb2N1bWVudC0+eG1sVmVyc2lvbigpKTsKKyAgICAgICAgICAgIHZhbHVlLT5zZXREb2N1bWVu
dFVSTChkb2N1bWVudFVSTFN0cmluZyhkb2N1bWVudCkpOworICAgICAgICAgICAgdmFsdWUtPnNl
dFhtbFZlcnNpb24oZG9jdW1lbnQtPnhtbFZlcnNpb24oKSk7CiAgICAgICAgIH0KICAgICB9IGVs
c2UgaWYgKG5vZGUtPm5vZGVUeXBlKCkgPT0gTm9kZTo6RE9DVU1FTlRfVFlQRV9OT0RFKSB7CiAg
ICAgICAgIERvY3VtZW50VHlwZSogZG9jVHlwZSA9IHN0YXRpY19jYXN0PERvY3VtZW50VHlwZSo+
KG5vZGUpOwotICAgICAgICB2YWx1ZS0+c2V0U3RyaW5nKCJwdWJsaWNJZCIsIGRvY1R5cGUtPnB1
YmxpY0lkKCkpOwotICAgICAgICB2YWx1ZS0+c2V0U3RyaW5nKCJzeXN0ZW1JZCIsIGRvY1R5cGUt
PnN5c3RlbUlkKCkpOwotICAgICAgICB2YWx1ZS0+c2V0U3RyaW5nKCJpbnRlcm5hbFN1YnNldCIs
IGRvY1R5cGUtPmludGVybmFsU3Vic2V0KCkpOworICAgICAgICB2YWx1ZS0+c2V0UHVibGljSWQo
ZG9jVHlwZS0+cHVibGljSWQoKSk7CisgICAgICAgIHZhbHVlLT5zZXRTeXN0ZW1JZChkb2NUeXBl
LT5zeXN0ZW1JZCgpKTsKKyAgICAgICAgdmFsdWUtPnNldEludGVybmFsU3Vic2V0KGRvY1R5cGUt
PmludGVybmFsU3Vic2V0KCkpOwogICAgIH0gZWxzZSBpZiAobm9kZS0+bm9kZVR5cGUoKSA9PSBO
b2RlOjpBVFRSSUJVVEVfTk9ERSkgewogICAgICAgICBBdHRyKiBhdHRyaWJ1dGUgPSBzdGF0aWNf
Y2FzdDxBdHRyKj4obm9kZSk7Ci0gICAgICAgIHZhbHVlLT5zZXRTdHJpbmcoIm5hbWUiLCBhdHRy
aWJ1dGUtPm5hbWUoKSk7Ci0gICAgICAgIHZhbHVlLT5zZXRTdHJpbmcoInZhbHVlIiwgYXR0cmli
dXRlLT52YWx1ZSgpKTsKKyAgICAgICAgdmFsdWUtPnNldE5hbWUoYXR0cmlidXRlLT5uYW1lKCkp
OworICAgICAgICB2YWx1ZS0+c2V0VmFsdWUoYXR0cmlidXRlLT52YWx1ZSgpKTsKICAgICB9CiAg
ICAgcmV0dXJuIHZhbHVlLnJlbGVhc2UoKTsKIH0KQEAgLTEyMzUsMTkgKzEyMzQsMTkgQEAgUGFz
c1JlZlB0cjxJbnNwZWN0b3JBcnJheT4gSW5zcGVjdG9yRE9NQWdlbnQ6OmJ1aWxkQXJyYXlGb3JD
b250YWluZXJDaGlsZHJlbihOb2QKIFBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBJbnNwZWN0
b3JET01BZ2VudDo6YnVpbGRPYmplY3RGb3JFdmVudExpc3RlbmVyKGNvbnN0IFJlZ2lzdGVyZWRF
dmVudExpc3RlbmVyJiByZWdpc3RlcmVkRXZlbnRMaXN0ZW5lciwgY29uc3QgQXRvbWljU3RyaW5n
JiBldmVudFR5cGUsIE5vZGUqIG5vZGUpCiB7CiAgICAgUmVmUHRyPEV2ZW50TGlzdGVuZXI+IGV2
ZW50TGlzdGVuZXIgPSByZWdpc3RlcmVkRXZlbnRMaXN0ZW5lci5saXN0ZW5lcjsKLSAgICBSZWZQ
dHI8SW5zcGVjdG9yT2JqZWN0PiB2YWx1ZSA9IEluc3BlY3Rvck9iamVjdDo6Y3JlYXRlKCk7Ci0g
ICAgdmFsdWUtPnNldFN0cmluZygidHlwZSIsIGV2ZW50VHlwZSk7Ci0gICAgdmFsdWUtPnNldEJv
b2xlYW4oInVzZUNhcHR1cmUiLCByZWdpc3RlcmVkRXZlbnRMaXN0ZW5lci51c2VDYXB0dXJlKTsK
LSAgICB2YWx1ZS0+c2V0Qm9vbGVhbigiaXNBdHRyaWJ1dGUiLCBldmVudExpc3RlbmVyLT5pc0F0
dHJpYnV0ZSgpKTsKLSAgICB2YWx1ZS0+c2V0TnVtYmVyKCJub2RlSWQiLCBwdXNoTm9kZVBhdGhU
b0Zyb250ZW5kKG5vZGUpKTsKLSAgICB2YWx1ZS0+c2V0U3RyaW5nKCJoYW5kbGVyQm9keSIsIGV2
ZW50TGlzdGVuZXJIYW5kbGVyQm9keShub2RlLT5kb2N1bWVudCgpLCBldmVudExpc3RlbmVyLmdl
dCgpKSk7CisgICAgUmVmUHRyPFR5cGVCdWlsZGVyOjpET006OkV2ZW50TGlzdGVuZXI+IHZhbHVl
ID0gVHlwZUJ1aWxkZXI6OkRPTTo6RXZlbnRMaXN0ZW5lcjo6Y3JlYXRlKCkKKyAgICAgICAgLnNl
dFR5cGUoZXZlbnRUeXBlKQorICAgICAgICAuc2V0VXNlQ2FwdHVyZShyZWdpc3RlcmVkRXZlbnRM
aXN0ZW5lci51c2VDYXB0dXJlKQorICAgICAgICAuc2V0SXNBdHRyaWJ1dGUoZXZlbnRMaXN0ZW5l
ci0+aXNBdHRyaWJ1dGUoKSkKKyAgICAgICAgLnNldE5vZGVJZChwdXNoTm9kZVBhdGhUb0Zyb250
ZW5kKG5vZGUpKQorICAgICAgICAuc2V0SGFuZGxlckJvZHkoZXZlbnRMaXN0ZW5lckhhbmRsZXJC
b2R5KG5vZGUtPmRvY3VtZW50KCksIGV2ZW50TGlzdGVuZXIuZ2V0KCkpKTsKICAgICBTdHJpbmcg
c291cmNlTmFtZTsKICAgICBpbnQgbGluZU51bWJlcjsKICAgICBpZiAoZXZlbnRMaXN0ZW5lckhh
bmRsZXJMb2NhdGlvbihub2RlLT5kb2N1bWVudCgpLCBldmVudExpc3RlbmVyLmdldCgpLCBzb3Vy
Y2VOYW1lLCBsaW5lTnVtYmVyKSkgewotICAgICAgICBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBs
b2NhdGlvbiA9IEluc3BlY3Rvck9iamVjdDo6Y3JlYXRlKCk7Ci0gICAgICAgIGxvY2F0aW9uLT5z
ZXRTdHJpbmcoInNjcmlwdElkIiwgc291cmNlTmFtZSk7Ci0gICAgICAgIGxvY2F0aW9uLT5zZXRO
dW1iZXIoImxpbmVOdW1iZXIiLCBsaW5lTnVtYmVyKTsKLSAgICAgICAgdmFsdWUtPnNldE9iamVj
dCgibG9jYXRpb24iLCBsb2NhdGlvbik7CisgICAgICAgIFJlZlB0cjxUeXBlQnVpbGRlcjo6RGVi
dWdnZXI6OkxvY2F0aW9uPiBsb2NhdGlvbiA9IFR5cGVCdWlsZGVyOjpEZWJ1Z2dlcjo6TG9jYXRp
b246OmNyZWF0ZSgpCisgICAgICAgICAgICAuc2V0U2NyaXB0SWQoc291cmNlTmFtZSkKKyAgICAg
ICAgICAgIC5zZXRMaW5lTnVtYmVyKGxpbmVOdW1iZXIpOworICAgICAgICB2YWx1ZS0+c2V0TG9j
YXRpb24obG9jYXRpb24pOwogICAgIH0KICAgICByZXR1cm4gdmFsdWUucmVsZWFzZSgpOwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdl
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQu
Y3BwCmluZGV4IDIyMjFlYzI1MjlkMTA2NDlkY2JkMDIyZTU3NTVjZjk1MmZiMWEwNDEuLmU5MDQ5
Y2FhODgyNzA1OGRiODQ3ZmRkMjA4ZGE5M2QwYWYwZTA5ODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHAKQEAgLTMxOCwxMCAr
MzE4LDEwIEBAIFBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBJbnNwZWN0b3JEZWJ1Z2dlckFn
ZW50OjpyZXNvbHZlQnJlYWtwb2ludChjb25zdCBTdHJpCiAgICAgICAgIGRlYnVnU2VydmVyQnJl
YWtwb2ludElkc0l0ZXJhdG9yID0gbV9icmVha3BvaW50SWRUb0RlYnVnU2VydmVyQnJlYWtwb2lu
dElkcy5zZXQoYnJlYWtwb2ludElkLCBWZWN0b3I8U3RyaW5nPigpKS5maXJzdDsKICAgICBkZWJ1
Z1NlcnZlckJyZWFrcG9pbnRJZHNJdGVyYXRvci0+c2Vjb25kLmFwcGVuZChkZWJ1Z1NlcnZlckJy
ZWFrcG9pbnRJZCk7CiAKLSAgICBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBsb2NhdGlvbiA9IElu
c3BlY3Rvck9iamVjdDo6Y3JlYXRlKCk7Ci0gICAgbG9jYXRpb24tPnNldFN0cmluZygic2NyaXB0
SWQiLCBzY3JpcHRJZCk7Ci0gICAgbG9jYXRpb24tPnNldE51bWJlcigibGluZU51bWJlciIsIGFj
dHVhbExpbmVOdW1iZXIpOwotICAgIGxvY2F0aW9uLT5zZXROdW1iZXIoImNvbHVtbk51bWJlciIs
IGFjdHVhbENvbHVtbk51bWJlcik7CisgICAgUmVmUHRyPFR5cGVCdWlsZGVyOjpEZWJ1Z2dlcjo6
TG9jYXRpb24+IGxvY2F0aW9uID0gVHlwZUJ1aWxkZXI6OkRlYnVnZ2VyOjpMb2NhdGlvbjo6Y3Jl
YXRlKCkKKyAgICAgICAgLnNldFNjcmlwdElkKHNjcmlwdElkKQorICAgICAgICAuc2V0TGluZU51
bWJlcihhY3R1YWxMaW5lTnVtYmVyKTsKKyAgICBsb2NhdGlvbi0+c2V0Q29sdW1uTnVtYmVyKGFj
dHVhbENvbHVtbk51bWJlcik7CiAgICAgcmV0dXJuIGxvY2F0aW9uOwogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbEZyYW1lLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsRnJhbWUuY3BwCmluZGV4IDY0MWQxOTIzZTIyN2Rj
OTA4N2EzOTc3NDczNWIyMjM5ODlkMjQyMmMuLmZkOGZjZWZkYjNkM2I5MGU1Y2YzZDRmNWEzY2Nh
N2Q3MzgwMWJhMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9TY3JpcHRD
YWxsRnJhbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsRnJh
bWUuY3BwCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAi
U2NyaXB0Q2FsbEZyYW1lLmgiCiAKKyNpbmNsdWRlICJJbnNwZWN0b3JGcm9udGVuZC5oIgogI2lu
Y2x1ZGUgIkluc3BlY3RvclZhbHVlcy5oIgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIApAQCAt
NTgsMTEgKzU5LDExIEBAIGJvb2wgU2NyaXB0Q2FsbEZyYW1lOjppc0VxdWFsKGNvbnN0IFNjcmlw
dENhbGxGcmFtZSYgbykgY29uc3QKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogUGFzc1JlZlB0cjxJ
bnNwZWN0b3JPYmplY3Q+IFNjcmlwdENhbGxGcmFtZTo6YnVpbGRJbnNwZWN0b3JPYmplY3QoKSBj
b25zdAogewotICAgIFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGZyYW1lID0gSW5zcGVjdG9yT2Jq
ZWN0OjpjcmVhdGUoKTsKLSAgICBmcmFtZS0+c2V0U3RyaW5nKCJmdW5jdGlvbk5hbWUiLCBtX2Z1
bmN0aW9uTmFtZSk7Ci0gICAgZnJhbWUtPnNldFN0cmluZygidXJsIiwgbV9zY3JpcHROYW1lKTsK
LSAgICBmcmFtZS0+c2V0TnVtYmVyKCJsaW5lTnVtYmVyIiwgbV9saW5lTnVtYmVyKTsKLSAgICBm
cmFtZS0+c2V0TnVtYmVyKCJjb2x1bW5OdW1iZXIiLCBtX2NvbHVtbik7CisgICAgUmVmUHRyPFR5
cGVCdWlsZGVyOjpDb25zb2xlOjpDYWxsRnJhbWU+IGZyYW1lID0gVHlwZUJ1aWxkZXI6OkNvbnNv
bGU6OkNhbGxGcmFtZTo6Y3JlYXRlKCkKKyAgICAgICAgLnNldEZ1bmN0aW9uTmFtZShtX2Z1bmN0
aW9uTmFtZSkKKyAgICAgICAgLnNldFVybChtX3NjcmlwdE5hbWUpCisgICAgICAgIC5zZXRMaW5l
TnVtYmVyKG1fbGluZU51bWJlcikKKyAgICAgICAgLnNldENvbHVtbk51bWJlcihtX2NvbHVtbik7
CiAgICAgcmV0dXJuIGZyYW1lOwogfQogI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>119501</attachid>
            <date>2011-12-15 14:11:28 -0800</date>
            <delta_ts>2011-12-18 07:06:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-74549-20111216021126.patch</filename>
            <type>text/plain</type>
            <size>15169</size>
            <attacher name="Peter Rybin">peter.rybin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyOTU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTY2MWFiOTlmNjE1YmZk
ZGFjNWVhOGQ1YmY3OWM2ZmFlOWVlZTA3YS4uYjJlNDEyOTNhMzY5MTNlOTg2MjNkOGNjOTg2ZjQ3
Y2NiMjkzNjEzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDExLTEyLTE1ICBQZXRl
ciBSeWJpbiAgPHBldGVyLnJ5YmluQGdtYWlsLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9y
OiBTd2l0Y2ggdG8gdHlwZS1zYWZlIEpTT04gQ29uc29sZU1lc3NhZ2UuY3BwLCBJbnNwZWN0b3JE
T01BZ2VudC5jcHAsIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQuY3BwLCBTY3JpcHRDYWxsRnJhbWUu
Y3BwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU0
OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdvcmsg
d2l0aCBJbnNwZWN0b3JPYmplY3QgaXMgcmVwbGFjZWQgd2l0aCB0eXBlLXNhZmUgZ2VuZXJhdGVk
IEFQSQorICAgICAgICB1c2FnZS4KKyAgICAgICAgSW5zcGVjdG9yLmpzb24gYW5kIEluc3BlY3Rv
ci0wLjEuanNvbiBhcmUgYWxzbyBjaGFuZ2VkIHRvIGJldHRlcgorICAgICAgICByZWZsZWN0IGRh
dGEgdHlwZXMgdGhhdCBhcmUgYWN0dWFsbHkgYmVpbmcgdHJhbnNtaXR0ZWQuCisKKyAgICAgICAg
KiBpbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29uc29s
ZU1lc3NhZ2U6OmFkZFRvRnJvbnRlbmQpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3It
MC4xLmpzb246CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uOgorICAgICAgICAq
IGluc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JET01BZ2VudDo6YnVpbGRPYmplY3RGb3JOb2RlKToKKyAgICAgICAgKFdlYkNvcmU6Oklu
c3BlY3RvckRPTUFnZW50OjpidWlsZE9iamVjdEZvckV2ZW50TGlzdGVuZXIpOgorICAgICAgICAq
IGluc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Okluc3BlY3RvckRlYnVnZ2VyQWdlbnQ6OnJlc29sdmVCcmVha3BvaW50KToKKyAgICAgICAgKiBp
bnNwZWN0b3IvU2NyaXB0Q2FsbEZyYW1lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdENh
bGxGcmFtZTo6YnVpbGRJbnNwZWN0b3JPYmplY3QpOgorCiAyMDExLTEyLTE1ICBNYXJ0aW4gUm9i
aW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KIAogICAgICAgICBwbHVnaW4gY3Jhc2gKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuY3BwCmluZGV4IGUxNmE3MmVh
NjY2NTA1Yzc3M2M0ZTE4YmUyNWZjZTRiZTQwY2RmYTQuLjhkMzUzZjZmMDY2NWI5NWE3MzNiMDMz
ZTYxZTFjMGZmM2Y4NmY5ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9D
b25zb2xlTWVzc2FnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVN
ZXNzYWdlLmNwcApAQCAtMTM0LDE3ICsxMzQsMTcgQEAgc3RhdGljIFN0cmluZyBtZXNzYWdlTGV2
ZWxWYWx1ZShNZXNzYWdlTGV2ZWwgbGV2ZWwpCiAKIHZvaWQgQ29uc29sZU1lc3NhZ2U6OmFkZFRv
RnJvbnRlbmQoSW5zcGVjdG9yRnJvbnRlbmQ6OkNvbnNvbGUqIGZyb250ZW5kLCBJbmplY3RlZFNj
cmlwdE1hbmFnZXIqIGluamVjdGVkU2NyaXB0TWFuYWdlcikKIHsKLSAgICBSZWZQdHI8SW5zcGVj
dG9yT2JqZWN0PiBqc29uT2JqID0gSW5zcGVjdG9yT2JqZWN0OjpjcmVhdGUoKTsKLSAgICBqc29u
T2JqLT5zZXRTdHJpbmcoInNvdXJjZSIsIG1lc3NhZ2VTb3VyY2VWYWx1ZShtX3NvdXJjZSkpOwor
ICAgIFJlZlB0cjxUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U+IGpzb25PYmog
PSBUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OmNyZWF0ZSgpCisgICAgICAg
IC5zZXRTb3VyY2UobWVzc2FnZVNvdXJjZVZhbHVlKG1fc291cmNlKSkKKyAgICAgICAgLnNldExl
dmVsKG1lc3NhZ2VMZXZlbFZhbHVlKG1fbGV2ZWwpKQorICAgICAgICAuc2V0VGV4dChtX21lc3Nh
Z2UpOwogICAgIC8vIEZJWE1FOiBvbmx5IHNlbmQgb3V0IHR5cGUgZm9yIENvbnNvbGVBUEkgc291
cmNlIG1lc3NhZ2VzLgotICAgIGpzb25PYmotPnNldFN0cmluZygidHlwZSIsIG1lc3NhZ2VUeXBl
VmFsdWUobV90eXBlKSk7Ci0gICAganNvbk9iai0+c2V0U3RyaW5nKCJsZXZlbCIsIG1lc3NhZ2VM
ZXZlbFZhbHVlKG1fbGV2ZWwpKTsKLSAgICBqc29uT2JqLT5zZXROdW1iZXIoImxpbmUiLCBzdGF0
aWNfY2FzdDxpbnQ+KG1fbGluZSkpOwotICAgIGpzb25PYmotPnNldFN0cmluZygidXJsIiwgbV91
cmwpOwotICAgIGpzb25PYmotPnNldE51bWJlcigicmVwZWF0Q291bnQiLCBzdGF0aWNfY2FzdDxp
bnQ+KG1fcmVwZWF0Q291bnQpKTsKLSAgICBqc29uT2JqLT5zZXRTdHJpbmcoInRleHQiLCBtX21l
c3NhZ2UpOworICAgIGpzb25PYmotPnNldFR5cGUobWVzc2FnZVR5cGVWYWx1ZShtX3R5cGUpKTsK
KyAgICBqc29uT2JqLT5zZXRMaW5lKHN0YXRpY19jYXN0PGludD4obV9saW5lKSk7CisgICAganNv
bk9iai0+c2V0VXJsKG1fdXJsKTsKKyAgICBqc29uT2JqLT5zZXRSZXBlYXRDb3VudChzdGF0aWNf
Y2FzdDxpbnQ+KG1fcmVwZWF0Q291bnQpKTsKICAgICBpZiAobV9zb3VyY2UgPT0gTmV0d29ya01l
c3NhZ2VTb3VyY2UgJiYgIW1fcmVxdWVzdElkLmlzRW1wdHkoKSkKLSAgICAgICAganNvbk9iai0+
c2V0U3RyaW5nKCJuZXR3b3JrUmVxdWVzdElkIiwgbV9yZXF1ZXN0SWQpOworICAgICAgICBqc29u
T2JqLT5zZXROZXR3b3JrUmVxdWVzdElkKG1fcmVxdWVzdElkKTsKICAgICBpZiAobV9hcmd1bWVu
dHMgJiYgbV9hcmd1bWVudHMtPmFyZ3VtZW50Q291bnQoKSkgewogICAgICAgICBJbmplY3RlZFNj
cmlwdCBpbmplY3RlZFNjcmlwdCA9IGluamVjdGVkU2NyaXB0TWFuYWdlci0+aW5qZWN0ZWRTY3Jp
cHRGb3IobV9hcmd1bWVudHMtPmdsb2JhbFN0YXRlKCkpOwogICAgICAgICBpZiAoIWluamVjdGVk
U2NyaXB0Lmhhc05vVmFsdWUoKSkgewpAQCAtMTU3LDExICsxNTcsMTEgQEAgdm9pZCBDb25zb2xl
TWVzc2FnZTo6YWRkVG9Gcm9udGVuZChJbnNwZWN0b3JGcm9udGVuZDo6Q29uc29sZSogZnJvbnRl
bmQsIEluamVjdGUKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAganNvbkFyZ3Mt
PnB1c2hWYWx1ZShpbnNwZWN0b3JWYWx1ZSk7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBq
c29uT2JqLT5zZXRBcnJheSgicGFyYW1ldGVycyIsIGpzb25BcmdzKTsKKyAgICAgICAgICAgIGpz
b25PYmotPnNldFBhcmFtZXRlcnMoanNvbkFyZ3MpOwogICAgICAgICB9CiAgICAgfQogICAgIGlm
IChtX2NhbGxTdGFjaykKLSAgICAgICAganNvbk9iai0+c2V0QXJyYXkoInN0YWNrVHJhY2UiLCBt
X2NhbGxTdGFjay0+YnVpbGRJbnNwZWN0b3JBcnJheSgpKTsKKyAgICAgICAganNvbk9iai0+c2V0
U3RhY2tUcmFjZShtX2NhbGxTdGFjay0+YnVpbGRJbnNwZWN0b3JBcnJheSgpKTsKICAgICBmcm9u
dGVuZC0+bWVzc2FnZUFkZGVkKGpzb25PYmopOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLTAuMS5qc29uIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3Rvci0wLjEuanNvbgppbmRleCAzYTFlYjdhMmViNWNmYmY1YjM5OTVjOTg5MjJi
YzFhYWVkYjcwOTZjLi5iNTc4OWFlNWZhNDRmYWFmZWQ1OWZkMzk0YjNiZWQ3ODg1Y2YzMTE3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLTAuMS5qc29uCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3ItMC4xLmpzb24KQEAgLTM2OSw4
ICszNjksOCBAQAogICAgICAgICAgICAgICAgICJwcm9wZXJ0aWVzIjogWwogICAgICAgICAgICAg
ICAgICAgICB7ICJuYW1lIjogImZ1bmN0aW9uTmFtZSIsICJ0eXBlIjogInN0cmluZyIsICJkZXNj
cmlwdGlvbiI6ICJKYXZhU2NyaXB0IGZ1bmN0aW9uIG5hbWUuIiB9LAogICAgICAgICAgICAgICAg
ICAgICB7ICJuYW1lIjogInVybCIsICJ0eXBlIjogInN0cmluZyIsICJkZXNjcmlwdGlvbiI6ICJK
YXZhU2NyaXB0IHNjcmlwdCBuYW1lIG9yIHVybC4iIH0sCi0gICAgICAgICAgICAgICAgICAgIHsg
Im5hbWUiOiAibGluZU51bWJlciIsICJ0eXBlIjogInN0cmluZyIsICJkZXNjcmlwdGlvbiI6ICJK
YXZhU2NyaXB0IHNjcmlwdCBsaW5lIG51bWJlci4iIH0sCi0gICAgICAgICAgICAgICAgICAgIHsg
Im5hbWUiOiAiY29sdW1uTnVtYmVyIiwgInR5cGUiOiAic3RyaW5nIiwgImRlc2NyaXB0aW9uIjog
IkphdmFTY3JpcHQgc2NyaXB0IGNvbHVtbiBudW1iZXIuIiB9CisgICAgICAgICAgICAgICAgICAg
IHsgIm5hbWUiOiAibGluZU51bWJlciIsICJ0eXBlIjogImludGVnZXIiLCAiZGVzY3JpcHRpb24i
OiAiSmF2YVNjcmlwdCBzY3JpcHQgbGluZSBudW1iZXIuIiB9LAorICAgICAgICAgICAgICAgICAg
ICB7ICJuYW1lIjogImNvbHVtbk51bWJlciIsICJ0eXBlIjogImludGVnZXIiLCAiZGVzY3JpcHRp
b24iOiAiSmF2YVNjcmlwdCBzY3JpcHQgY29sdW1uIG51bWJlci4iIH0KICAgICAgICAgICAgICAg
ICBdCiAgICAgICAgICAgICB9LAogICAgICAgICAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3Rvci5qc29uCmluZGV4IGY5ZmY3NjA2ZTRiNmQ3NTUxOTMwNmYyMGU3Y2QwMjI2MDM2
OWNiY2EuLjdmMGJmMjlhNTczMzk1YTA2MDY0NzgzOWFkNmU5NzhlOTY0MDk5ZWIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KQEAgLTQ0OCw4ICs0NDgsOCBAQAogICAg
ICAgICAgICAgICAgICJwcm9wZXJ0aWVzIjogWwogICAgICAgICAgICAgICAgICAgICB7ICJuYW1l
IjogImZ1bmN0aW9uTmFtZSIsICJ0eXBlIjogInN0cmluZyIsICJkZXNjcmlwdGlvbiI6ICJKYXZh
U2NyaXB0IGZ1bmN0aW9uIG5hbWUuIiB9LAogICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjog
InVybCIsICJ0eXBlIjogInN0cmluZyIsICJkZXNjcmlwdGlvbiI6ICJKYXZhU2NyaXB0IHNjcmlw
dCBuYW1lIG9yIHVybC4iIH0sCi0gICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAibGluZU51
bWJlciIsICJ0eXBlIjogInN0cmluZyIsICJkZXNjcmlwdGlvbiI6ICJKYXZhU2NyaXB0IHNjcmlw
dCBsaW5lIG51bWJlci4iIH0sCi0gICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiY29sdW1u
TnVtYmVyIiwgInR5cGUiOiAic3RyaW5nIiwgImRlc2NyaXB0aW9uIjogIkphdmFTY3JpcHQgc2Ny
aXB0IGNvbHVtbiBudW1iZXIuIiB9CisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAibGlu
ZU51bWJlciIsICJ0eXBlIjogImludGVnZXIiLCAiZGVzY3JpcHRpb24iOiAiSmF2YVNjcmlwdCBz
Y3JpcHQgbGluZSBudW1iZXIuIiB9LAorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImNv
bHVtbk51bWJlciIsICJ0eXBlIjogImludGVnZXIiLCAiZGVzY3JpcHRpb24iOiAiSmF2YVNjcmlw
dCBzY3JpcHQgY29sdW1uIG51bWJlci4iIH0KICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAg
ICB9LAogICAgICAgICAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckRPTUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JET01BZ2VudC5jcHAKaW5kZXggY2Y0MjMxNDgwMmNhY2FhYjZjNDhmOGY0MTQ0N2Q1N2ZlYjg4
ZWQyNi4uYmYwOGYzYzRmMWNiNWJhZTcyNzA2ZmNmM2FlZDBiMjUwNTc5MTJlOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCkBAIC0xMTI1LDgg
KzExMjUsNiBAQCBTdHJpbmcgSW5zcGVjdG9yRE9NQWdlbnQ6OmRvY3VtZW50VVJMU3RyaW5nKERv
Y3VtZW50KiBkb2N1bWVudCkKIAogUGFzc1JlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IEluc3BlY3Rv
ckRPTUFnZW50OjpidWlsZE9iamVjdEZvck5vZGUoTm9kZSogbm9kZSwgaW50IGRlcHRoLCBOb2Rl
VG9JZE1hcCogbm9kZXNNYXApCiB7Ci0gICAgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gdmFsdWUg
PSBJbnNwZWN0b3JPYmplY3Q6OmNyZWF0ZSgpOwotCiAgICAgaW50IGlkID0gYmluZChub2RlLCBu
b2Rlc01hcCk7CiAgICAgU3RyaW5nIG5vZGVOYW1lOwogICAgIFN0cmluZyBsb2NhbE5hbWU7CkBA
IC0xMTU1LDE1ICsxMTUzLDE2IEBAIFBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBJbnNwZWN0
b3JET01BZ2VudDo6YnVpbGRPYmplY3RGb3JOb2RlKE5vZGUqIG5vZGUsIGluCiAgICAgICAgIGJy
ZWFrOwogICAgIH0KIAotICAgIHZhbHVlLT5zZXROdW1iZXIoIm5vZGVJZCIsIGlkKTsKLSAgICB2
YWx1ZS0+c2V0TnVtYmVyKCJub2RlVHlwZSIsIG5vZGUtPm5vZGVUeXBlKCkpOwotICAgIHZhbHVl
LT5zZXRTdHJpbmcoIm5vZGVOYW1lIiwgbm9kZU5hbWUpOwotICAgIHZhbHVlLT5zZXRTdHJpbmco
ImxvY2FsTmFtZSIsIGxvY2FsTmFtZSk7Ci0gICAgdmFsdWUtPnNldFN0cmluZygibm9kZVZhbHVl
Iiwgbm9kZVZhbHVlKTsKKyAgICBSZWZQdHI8VHlwZUJ1aWxkZXI6OkRPTTo6Tm9kZT4gdmFsdWUg
PSBUeXBlQnVpbGRlcjo6RE9NOjpOb2RlOjpjcmVhdGUoKQorICAgICAgICAuc2V0Tm9kZUlkKGlk
KQorICAgICAgICAuc2V0Tm9kZVR5cGUobm9kZS0+bm9kZVR5cGUoKSkKKyAgICAgICAgLnNldE5v
ZGVOYW1lKG5vZGVOYW1lKQorICAgICAgICAuc2V0TG9jYWxOYW1lKGxvY2FsTmFtZSkKKyAgICAg
ICAgLnNldE5vZGVWYWx1ZShub2RlVmFsdWUpOwogCiAgICAgaWYgKG5vZGUtPm5vZGVUeXBlKCkg
PT0gTm9kZTo6RUxFTUVOVF9OT0RFIHx8IG5vZGUtPm5vZGVUeXBlKCkgPT0gTm9kZTo6RE9DVU1F
TlRfTk9ERSB8fCBub2RlLT5ub2RlVHlwZSgpID09IE5vZGU6OkRPQ1VNRU5UX0ZSQUdNRU5UX05P
REUpIHsKICAgICAgICAgaW50IG5vZGVDb3VudCA9IGlubmVyQ2hpbGROb2RlQ291bnQobm9kZSk7
Ci0gICAgICAgIHZhbHVlLT5zZXROdW1iZXIoImNoaWxkTm9kZUNvdW50Iiwgbm9kZUNvdW50KTsK
KyAgICAgICAgdmFsdWUtPnNldENoaWxkTm9kZUNvdW50KG5vZGVDb3VudCk7CiAgICAgICAgIFJl
ZlB0cjxJbnNwZWN0b3JBcnJheT4gY2hpbGRyZW4gPSBidWlsZEFycmF5Rm9yQ29udGFpbmVyQ2hp
bGRyZW4obm9kZSwgZGVwdGgsIG5vZGVzTWFwKTsKICAgICAgICAgaWYgKGNoaWxkcmVuLT5sZW5n
dGgoKSA+IDApCiAgICAgICAgICAgICB2YWx1ZS0+c2V0QXJyYXkoImNoaWxkcmVuIiwgY2hpbGRy
ZW4ucmVsZWFzZSgpKTsKQEAgLTExNzMsMjIgKzExNzIsMjIgQEAgUGFzc1JlZlB0cjxJbnNwZWN0
b3JPYmplY3Q+IEluc3BlY3RvckRPTUFnZW50OjpidWlsZE9iamVjdEZvck5vZGUoTm9kZSogbm9k
ZSwgaW4KICAgICAgICAgICAgIHZhbHVlLT5zZXRBcnJheSgiYXR0cmlidXRlcyIsIGJ1aWxkQXJy
YXlGb3JFbGVtZW50QXR0cmlidXRlcyhlbGVtZW50KSk7CiAgICAgICAgICAgICBpZiAobm9kZS0+
aXNGcmFtZU93bmVyRWxlbWVudCgpKSB7CiAgICAgICAgICAgICAgICAgSFRNTEZyYW1lT3duZXJF
bGVtZW50KiBmcmFtZU93bmVyID0gc3RhdGljX2Nhc3Q8SFRNTEZyYW1lT3duZXJFbGVtZW50Kj4o
bm9kZSk7Ci0gICAgICAgICAgICAgICAgdmFsdWUtPnNldFN0cmluZygiZG9jdW1lbnRVUkwiLCBk
b2N1bWVudFVSTFN0cmluZyhmcmFtZU93bmVyLT5jb250ZW50RG9jdW1lbnQoKSkpOworICAgICAg
ICAgICAgICAgIHZhbHVlLT5zZXREb2N1bWVudFVSTChkb2N1bWVudFVSTFN0cmluZyhmcmFtZU93
bmVyLT5jb250ZW50RG9jdW1lbnQoKSkpOwogICAgICAgICAgICAgfQogICAgICAgICB9IGVsc2Ug
aWYgKG5vZGUtPm5vZGVUeXBlKCkgPT0gTm9kZTo6RE9DVU1FTlRfTk9ERSkgewogICAgICAgICAg
ICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gc3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihub2RlKTsKLSAg
ICAgICAgICAgIHZhbHVlLT5zZXRTdHJpbmcoImRvY3VtZW50VVJMIiwgZG9jdW1lbnRVUkxTdHJp
bmcoZG9jdW1lbnQpKTsKLSAgICAgICAgICAgIHZhbHVlLT5zZXRTdHJpbmcoInhtbFZlcnNpb24i
LCBkb2N1bWVudC0+eG1sVmVyc2lvbigpKTsKKyAgICAgICAgICAgIHZhbHVlLT5zZXREb2N1bWVu
dFVSTChkb2N1bWVudFVSTFN0cmluZyhkb2N1bWVudCkpOworICAgICAgICAgICAgdmFsdWUtPnNl
dFhtbFZlcnNpb24oZG9jdW1lbnQtPnhtbFZlcnNpb24oKSk7CiAgICAgICAgIH0KICAgICB9IGVs
c2UgaWYgKG5vZGUtPm5vZGVUeXBlKCkgPT0gTm9kZTo6RE9DVU1FTlRfVFlQRV9OT0RFKSB7CiAg
ICAgICAgIERvY3VtZW50VHlwZSogZG9jVHlwZSA9IHN0YXRpY19jYXN0PERvY3VtZW50VHlwZSo+
KG5vZGUpOwotICAgICAgICB2YWx1ZS0+c2V0U3RyaW5nKCJwdWJsaWNJZCIsIGRvY1R5cGUtPnB1
YmxpY0lkKCkpOwotICAgICAgICB2YWx1ZS0+c2V0U3RyaW5nKCJzeXN0ZW1JZCIsIGRvY1R5cGUt
PnN5c3RlbUlkKCkpOwotICAgICAgICB2YWx1ZS0+c2V0U3RyaW5nKCJpbnRlcm5hbFN1YnNldCIs
IGRvY1R5cGUtPmludGVybmFsU3Vic2V0KCkpOworICAgICAgICB2YWx1ZS0+c2V0UHVibGljSWQo
ZG9jVHlwZS0+cHVibGljSWQoKSk7CisgICAgICAgIHZhbHVlLT5zZXRTeXN0ZW1JZChkb2NUeXBl
LT5zeXN0ZW1JZCgpKTsKKyAgICAgICAgdmFsdWUtPnNldEludGVybmFsU3Vic2V0KGRvY1R5cGUt
PmludGVybmFsU3Vic2V0KCkpOwogICAgIH0gZWxzZSBpZiAobm9kZS0+bm9kZVR5cGUoKSA9PSBO
b2RlOjpBVFRSSUJVVEVfTk9ERSkgewogICAgICAgICBBdHRyKiBhdHRyaWJ1dGUgPSBzdGF0aWNf
Y2FzdDxBdHRyKj4obm9kZSk7Ci0gICAgICAgIHZhbHVlLT5zZXRTdHJpbmcoIm5hbWUiLCBhdHRy
aWJ1dGUtPm5hbWUoKSk7Ci0gICAgICAgIHZhbHVlLT5zZXRTdHJpbmcoInZhbHVlIiwgYXR0cmli
dXRlLT52YWx1ZSgpKTsKKyAgICAgICAgdmFsdWUtPnNldE5hbWUoYXR0cmlidXRlLT5uYW1lKCkp
OworICAgICAgICB2YWx1ZS0+c2V0VmFsdWUoYXR0cmlidXRlLT52YWx1ZSgpKTsKICAgICB9CiAg
ICAgcmV0dXJuIHZhbHVlLnJlbGVhc2UoKTsKIH0KQEAgLTEyMzUsMTkgKzEyMzQsMTkgQEAgUGFz
c1JlZlB0cjxJbnNwZWN0b3JBcnJheT4gSW5zcGVjdG9yRE9NQWdlbnQ6OmJ1aWxkQXJyYXlGb3JD
b250YWluZXJDaGlsZHJlbihOb2QKIFBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBJbnNwZWN0
b3JET01BZ2VudDo6YnVpbGRPYmplY3RGb3JFdmVudExpc3RlbmVyKGNvbnN0IFJlZ2lzdGVyZWRF
dmVudExpc3RlbmVyJiByZWdpc3RlcmVkRXZlbnRMaXN0ZW5lciwgY29uc3QgQXRvbWljU3RyaW5n
JiBldmVudFR5cGUsIE5vZGUqIG5vZGUpCiB7CiAgICAgUmVmUHRyPEV2ZW50TGlzdGVuZXI+IGV2
ZW50TGlzdGVuZXIgPSByZWdpc3RlcmVkRXZlbnRMaXN0ZW5lci5saXN0ZW5lcjsKLSAgICBSZWZQ
dHI8SW5zcGVjdG9yT2JqZWN0PiB2YWx1ZSA9IEluc3BlY3Rvck9iamVjdDo6Y3JlYXRlKCk7Ci0g
ICAgdmFsdWUtPnNldFN0cmluZygidHlwZSIsIGV2ZW50VHlwZSk7Ci0gICAgdmFsdWUtPnNldEJv
b2xlYW4oInVzZUNhcHR1cmUiLCByZWdpc3RlcmVkRXZlbnRMaXN0ZW5lci51c2VDYXB0dXJlKTsK
LSAgICB2YWx1ZS0+c2V0Qm9vbGVhbigiaXNBdHRyaWJ1dGUiLCBldmVudExpc3RlbmVyLT5pc0F0
dHJpYnV0ZSgpKTsKLSAgICB2YWx1ZS0+c2V0TnVtYmVyKCJub2RlSWQiLCBwdXNoTm9kZVBhdGhU
b0Zyb250ZW5kKG5vZGUpKTsKLSAgICB2YWx1ZS0+c2V0U3RyaW5nKCJoYW5kbGVyQm9keSIsIGV2
ZW50TGlzdGVuZXJIYW5kbGVyQm9keShub2RlLT5kb2N1bWVudCgpLCBldmVudExpc3RlbmVyLmdl
dCgpKSk7CisgICAgUmVmUHRyPFR5cGVCdWlsZGVyOjpET006OkV2ZW50TGlzdGVuZXI+IHZhbHVl
ID0gVHlwZUJ1aWxkZXI6OkRPTTo6RXZlbnRMaXN0ZW5lcjo6Y3JlYXRlKCkKKyAgICAgICAgLnNl
dFR5cGUoZXZlbnRUeXBlKQorICAgICAgICAuc2V0VXNlQ2FwdHVyZShyZWdpc3RlcmVkRXZlbnRM
aXN0ZW5lci51c2VDYXB0dXJlKQorICAgICAgICAuc2V0SXNBdHRyaWJ1dGUoZXZlbnRMaXN0ZW5l
ci0+aXNBdHRyaWJ1dGUoKSkKKyAgICAgICAgLnNldE5vZGVJZChwdXNoTm9kZVBhdGhUb0Zyb250
ZW5kKG5vZGUpKQorICAgICAgICAuc2V0SGFuZGxlckJvZHkoZXZlbnRMaXN0ZW5lckhhbmRsZXJC
b2R5KG5vZGUtPmRvY3VtZW50KCksIGV2ZW50TGlzdGVuZXIuZ2V0KCkpKTsKICAgICBTdHJpbmcg
c291cmNlTmFtZTsKICAgICBpbnQgbGluZU51bWJlcjsKICAgICBpZiAoZXZlbnRMaXN0ZW5lckhh
bmRsZXJMb2NhdGlvbihub2RlLT5kb2N1bWVudCgpLCBldmVudExpc3RlbmVyLmdldCgpLCBzb3Vy
Y2VOYW1lLCBsaW5lTnVtYmVyKSkgewotICAgICAgICBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBs
b2NhdGlvbiA9IEluc3BlY3Rvck9iamVjdDo6Y3JlYXRlKCk7Ci0gICAgICAgIGxvY2F0aW9uLT5z
ZXRTdHJpbmcoInNjcmlwdElkIiwgc291cmNlTmFtZSk7Ci0gICAgICAgIGxvY2F0aW9uLT5zZXRO
dW1iZXIoImxpbmVOdW1iZXIiLCBsaW5lTnVtYmVyKTsKLSAgICAgICAgdmFsdWUtPnNldE9iamVj
dCgibG9jYXRpb24iLCBsb2NhdGlvbik7CisgICAgICAgIFJlZlB0cjxUeXBlQnVpbGRlcjo6RGVi
dWdnZXI6OkxvY2F0aW9uPiBsb2NhdGlvbiA9IFR5cGVCdWlsZGVyOjpEZWJ1Z2dlcjo6TG9jYXRp
b246OmNyZWF0ZSgpCisgICAgICAgICAgICAuc2V0U2NyaXB0SWQoc291cmNlTmFtZSkKKyAgICAg
ICAgICAgIC5zZXRMaW5lTnVtYmVyKGxpbmVOdW1iZXIpOworICAgICAgICB2YWx1ZS0+c2V0TG9j
YXRpb24obG9jYXRpb24pOwogICAgIH0KICAgICByZXR1cm4gdmFsdWUucmVsZWFzZSgpOwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdl
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQu
Y3BwCmluZGV4IDIyMjFlYzI1MjlkMTA2NDlkY2JkMDIyZTU3NTVjZjk1MmZiMWEwNDEuLmU5MDQ5
Y2FhODgyNzA1OGRiODQ3ZmRkMjA4ZGE5M2QwYWYwZTA5ODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHAKQEAgLTMxOCwxMCAr
MzE4LDEwIEBAIFBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBJbnNwZWN0b3JEZWJ1Z2dlckFn
ZW50OjpyZXNvbHZlQnJlYWtwb2ludChjb25zdCBTdHJpCiAgICAgICAgIGRlYnVnU2VydmVyQnJl
YWtwb2ludElkc0l0ZXJhdG9yID0gbV9icmVha3BvaW50SWRUb0RlYnVnU2VydmVyQnJlYWtwb2lu
dElkcy5zZXQoYnJlYWtwb2ludElkLCBWZWN0b3I8U3RyaW5nPigpKS5maXJzdDsKICAgICBkZWJ1
Z1NlcnZlckJyZWFrcG9pbnRJZHNJdGVyYXRvci0+c2Vjb25kLmFwcGVuZChkZWJ1Z1NlcnZlckJy
ZWFrcG9pbnRJZCk7CiAKLSAgICBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBsb2NhdGlvbiA9IElu
c3BlY3Rvck9iamVjdDo6Y3JlYXRlKCk7Ci0gICAgbG9jYXRpb24tPnNldFN0cmluZygic2NyaXB0
SWQiLCBzY3JpcHRJZCk7Ci0gICAgbG9jYXRpb24tPnNldE51bWJlcigibGluZU51bWJlciIsIGFj
dHVhbExpbmVOdW1iZXIpOwotICAgIGxvY2F0aW9uLT5zZXROdW1iZXIoImNvbHVtbk51bWJlciIs
IGFjdHVhbENvbHVtbk51bWJlcik7CisgICAgUmVmUHRyPFR5cGVCdWlsZGVyOjpEZWJ1Z2dlcjo6
TG9jYXRpb24+IGxvY2F0aW9uID0gVHlwZUJ1aWxkZXI6OkRlYnVnZ2VyOjpMb2NhdGlvbjo6Y3Jl
YXRlKCkKKyAgICAgICAgLnNldFNjcmlwdElkKHNjcmlwdElkKQorICAgICAgICAuc2V0TGluZU51
bWJlcihhY3R1YWxMaW5lTnVtYmVyKTsKKyAgICBsb2NhdGlvbi0+c2V0Q29sdW1uTnVtYmVyKGFj
dHVhbENvbHVtbk51bWJlcik7CiAgICAgcmV0dXJuIGxvY2F0aW9uOwogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbEZyYW1lLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsRnJhbWUuY3BwCmluZGV4IDY0MWQxOTIzZTIyN2Rj
OTA4N2EzOTc3NDczNWIyMjM5ODlkMjQyMmMuLmZkOGZjZWZkYjNkM2I5MGU1Y2YzZDRmNWEzY2Nh
N2Q3MzgwMWJhMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9TY3JpcHRD
YWxsRnJhbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsRnJh
bWUuY3BwCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAi
U2NyaXB0Q2FsbEZyYW1lLmgiCiAKKyNpbmNsdWRlICJJbnNwZWN0b3JGcm9udGVuZC5oIgogI2lu
Y2x1ZGUgIkluc3BlY3RvclZhbHVlcy5oIgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIApAQCAt
NTgsMTEgKzU5LDExIEBAIGJvb2wgU2NyaXB0Q2FsbEZyYW1lOjppc0VxdWFsKGNvbnN0IFNjcmlw
dENhbGxGcmFtZSYgbykgY29uc3QKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogUGFzc1JlZlB0cjxJ
bnNwZWN0b3JPYmplY3Q+IFNjcmlwdENhbGxGcmFtZTo6YnVpbGRJbnNwZWN0b3JPYmplY3QoKSBj
b25zdAogewotICAgIFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGZyYW1lID0gSW5zcGVjdG9yT2Jq
ZWN0OjpjcmVhdGUoKTsKLSAgICBmcmFtZS0+c2V0U3RyaW5nKCJmdW5jdGlvbk5hbWUiLCBtX2Z1
bmN0aW9uTmFtZSk7Ci0gICAgZnJhbWUtPnNldFN0cmluZygidXJsIiwgbV9zY3JpcHROYW1lKTsK
LSAgICBmcmFtZS0+c2V0TnVtYmVyKCJsaW5lTnVtYmVyIiwgbV9saW5lTnVtYmVyKTsKLSAgICBm
cmFtZS0+c2V0TnVtYmVyKCJjb2x1bW5OdW1iZXIiLCBtX2NvbHVtbik7CisgICAgUmVmUHRyPFR5
cGVCdWlsZGVyOjpDb25zb2xlOjpDYWxsRnJhbWU+IGZyYW1lID0gVHlwZUJ1aWxkZXI6OkNvbnNv
bGU6OkNhbGxGcmFtZTo6Y3JlYXRlKCkKKyAgICAgICAgLnNldEZ1bmN0aW9uTmFtZShtX2Z1bmN0
aW9uTmFtZSkKKyAgICAgICAgLnNldFVybChtX3NjcmlwdE5hbWUpCisgICAgICAgIC5zZXRMaW5l
TnVtYmVyKG1fbGluZU51bWJlcikKKyAgICAgICAgLnNldENvbHVtbk51bWJlcihtX2NvbHVtbik7
CiAgICAgcmV0dXJuIGZyYW1lOwogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYzUwNTU2OWJmMTQxNDFjMWNm
OGIwMTc4ODA3MzczOGM0NDFmZDFhNC4uZDE0ZTBhODE5YWM5YzAxOTFjODc3ZTFmMjBiOTYxMzEz
YTAzYmY1ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDExLTEyLTE1ICBQZXRlciBSeWJpbiAg
PHBldGVyLnJ5YmluQGdtYWlsLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBTd2l0Y2gg
dG8gdHlwZS1zYWZlIEpTT04gQ29uc29sZU1lc3NhZ2UuY3BwLCBJbnNwZWN0b3JET01BZ2VudC5j
cHAsIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQuY3BwLCBTY3JpcHRDYWxsRnJhbWUuY3BwCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU0OQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEV4cGVjdGVkIGZpbGUg
bW9kaWZpZWQgYXMgSlNPTiBwcm9wZXJ0aWVzIGFyZSBub3cgaW4gZGlmZmVyZW50CisgICAgICAg
IG9yZGVyLgorCisgICAgICAgICogaW5zcGVjdG9yL3Byb3RvY29sL2NvbnNvbGUtYWdlbnQtZXhw
ZWN0ZWQudHh0OgorCiAyMDExLTEyLTE1ICBLZW5uZXRoIFJ1c3NlbGwgIDxrYnJAZ29vZ2xlLmNv
bT4KIAogICAgICAgICBVbnJldmlld2VkIENocm9taXVtIGV4cGVjdGF0aW9ucyB1cGRhdGUuIE1h
cmsgYW5vdGhlciBmbGFreSBjb21wb3NpdGluZyB0ZXN0LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL3Byb3RvY29sL2NvbnNvbGUtYWdlbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL3Byb3RvY29sL2NvbnNvbGUtYWdlbnQtZXhwZWN0ZWQudHh0CmluZGV4
IDI3ZmE1ZGNjYzI3NjU1NzMzNzMwMTc0NjRjOWQ0NzBjNzhjY2VjMGYuLmYwZjU2NzZkMDE0MDQ2
OGEyY2NmNmY0NDdhNTI3NjEwMDA4MzJhODAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9wcm90b2NvbC9jb25zb2xlLWFnZW50LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvcHJvdG9jb2wvY29uc29sZS1hZ2VudC1leHBlY3RlZC50eHQKQEAgLTU0LDEy
ICs1NCwxMiBAQCBldmVudCBDb25zb2xlQWdlbnQubWVzc2FnZUFkZGVkCiAgICAgcGFyYW1zIDog
ewogICAgICAgICBtZXNzYWdlIDogewogICAgICAgICAgICAgc291cmNlIDogImNvbnNvbGUtYXBp
IgotICAgICAgICAgICAgdHlwZSA6ICJsb2ciCiAgICAgICAgICAgICBsZXZlbCA6ICJsb2ciCisg
ICAgICAgICAgICB0ZXh0IDogInRlc3QiCisgICAgICAgICAgICB0eXBlIDogImxvZyIKICAgICAg
ICAgICAgIGxpbmUgOiAxCiAgICAgICAgICAgICB1cmwgOiAiIgogICAgICAgICAgICAgcmVwZWF0
Q291bnQgOiAxCi0gICAgICAgICAgICB0ZXh0IDogInRlc3QiCiAgICAgICAgICAgICBwYXJhbWV0
ZXJzIDogWwogICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgdHlwZSA6ICJz
dHJpbmciCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>