<?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>171251</bug_id>
          
          <creation_ts>2017-04-24 14:50:32 -0700</creation_ts>
          <short_desc>Web Inspector: ObjC RWIProtocol codegen should better handle optional members</short_desc>
          <delta_ts>2017-04-24 15:02:40 -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</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Joseph Pecoraro">joepeck</reporter>
          <assigned_to name="Joseph Pecoraro">joepeck</assigned_to>
          <cc>bburg</cc>
    
    <cc>buildbot</cc>
    
    <cc>commit-queue</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>joepeck</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1300675</commentid>
    <comment_count>0</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-04-24 14:50:32 -0700</bug_when>
    <thetext>ObjC RWIProtocol codegen should better handle optional members

For example, Highlight Config has optional color values:

    &quot;id&quot;: &quot;HighlightConfig&quot;,
    &quot;type&quot;: &quot;object&quot;,
    &quot;properties&quot;: [
        { &quot;name&quot;: &quot;showInfo&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;Whether the node info tooltip should be shown (default: false).&quot; },
        { &quot;name&quot;: &quot;contentColor&quot;, &quot;$ref&quot;: &quot;RGBAColor&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;The content box highlight fill color (default: transparent).&quot; },
        { &quot;name&quot;: &quot;paddingColor&quot;, &quot;$ref&quot;: &quot;RGBAColor&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;The padding highlight fill color (default: transparent).&quot; },
        { &quot;name&quot;: &quot;borderColor&quot;, &quot;$ref&quot;: &quot;RGBAColor&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;The border highlight fill color (default: transparent).&quot; },
        { &quot;name&quot;: &quot;marginColor&quot;, &quot;$ref&quot;: &quot;RGBAColor&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;The margin highlight fill color (default: transparent).&quot; }
    ],

However we return without checking if it was null or not:

    - (RWIProtocolDOMRGBAColor *)contentColor
    {
        return [[RWIProtocolDOMRGBAColor alloc] initWithInspectorObject:[[super objectForKey:@&quot;contentColor&quot;] toInspectorObject].get()];
    }

Should be something like:

    - (RWIProtocolDOMRGBAColor *)contentColor
    {
        RWIProtocolJSONObject *object = [[super objectForKey:@&quot;contentColor&quot;];
        if (!object)
            return nil;
        return [[RWIProtocolDOMRGBAColor alloc] initWithInspectorObject:[object toInspectorObject].get()];
    }</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1300676</commentid>
    <comment_count>1</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-04-24 14:51:40 -0700</bug_when>
    <thetext>&lt;rdar://problem/31697002&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1300677</commentid>
    <comment_count>2</comment_count>
      <attachid>308014</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-04-24 14:52:53 -0700</bug_when>
    <thetext>Created attachment 308014
[PATCH] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1300678</commentid>
    <comment_count>3</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-04-24 14:54:11 -0700</bug_when>
    <thetext>This patch modifies the inspector protocol generator. Please ensure that you have rebaselined any generator test results (i.e., by running `Tools/Scripts/run-inspector-generator-tests --reset-results`)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1300679</commentid>
    <comment_count>4</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-04-24 14:54:18 -0700</bug_when>
    <thetext>Attachment 308014 did not pass style-queue:


ERROR: Source/JavaScriptCore/inspector/scripts/codegen/objc_generator.py:449:  multiple statements on one line (semicolon)  [pep8/E702] [5]
ERROR: Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_protocol_types_implementation.py:215:  trailing whitespace  [pep8/W291] [5]
Total errors found: 2 in 5 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1300680</commentid>
    <comment_count>5</comment_count>
      <attachid>308014</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2017-04-24 14:56:10 -0700</bug_when>
    <thetext>Comment on attachment 308014
[PATCH] Proposed Fix

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

r=me

&gt; Source/JavaScriptCore/ChangeLog:18
&gt; +        Rebaselined inspector generator tests.

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1300682</commentid>
    <comment_count>6</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-04-24 15:02:40 -0700</bug_when>
    <thetext>&lt;https://trac.webkit.org/changeset/215698/webkit&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>308014</attachid>
            <date>2017-04-24 14:52:53 -0700</date>
            <delta_ts>2017-04-24 14:57:49 -0700</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>codegen-1.patch</filename>
            <type>text/plain</type>
            <size>10525</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDkyNDAxNDE4N2Y4Li4wYTUwYTM3MmY5YyAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTctMDQtMjQgIEpvc2Vw
aCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9y
OiBPYmpDIFJXSVByb3RvY29sIGNvZGVnZW4gc2hvdWxkIGJldHRlciBoYW5kbGUgb3B0aW9uYWwg
bWVtYmVycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTcxMjUxCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zMTY5NzAwMj4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL2Nv
ZGVnZW4vZ2VuZXJhdGVfb2JqY19wcm90b2NvbF90eXBlc19pbXBsZW1lbnRhdGlvbi5weToKKyAg
ICAgICAgKE9iakNQcm90b2NvbFR5cGVzSW1wbGVtZW50YXRpb25HZW5lcmF0b3IuX2dlbmVyYXRl
X2dldHRlcl9mb3JfbWVtYmVyKToKKyAgICAgICAgKiBpbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2Vu
L29iamNfZ2VuZXJhdG9yLnB5OgorICAgICAgICAoT2JqQ0dlbmVyYXRvci5wcm90b2NvbF90b19v
YmpjX2V4cHJlc3Npb25fZm9yX21lbWJlcik6CisgICAgICAgIChPYmpDR2VuZXJhdG9yLnByb3Rv
Y29sX3RvX29iamNfY29kZV9ibG9ja19mb3Jfb2JqZWN0X21lbWJlcik6CisgICAgICAgIEFsd2F5
cyBiZSBzYWZlIGFuZCBuaWwgY2hlY2sgb2JqZWN0IHByb3BlcnR5IGFjY2Vzc2VzLCBvcHRpb25h
bCBvciBub3QuCisKKyAgICAgICAgKiBpbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4
cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24tb2JqZWN0LXR5cGUuanNvbi1yZXN1bHQ6CisgICAgICAg
ICogaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC90eXBlLXJlcXVpcmlu
Zy1ydW50aW1lLWNhc3RzLmpzb24tcmVzdWx0OgorICAgICAgICBSZWJhc2VsaW5lZCBpbnNwZWN0
b3IgZ2VuZXJhdG9yIHRlc3RzLgorCiAyMDE3LTA0LTIwICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNv
cmFyb0BhcHBsZS5jb20+CiAKICAgICAgICAgU3VwcG9ydCBmb3IgcHJvbWlzZSByZWplY3Rpb24g
ZXZlbnRzICh1bmhhbmRsZWRyZWplY3Rpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9nZW5lcmF0ZV9vYmpjX3Byb3RvY29sX3R5
cGVzX2ltcGxlbWVudGF0aW9uLnB5IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9z
Y3JpcHRzL2NvZGVnZW4vZ2VuZXJhdGVfb2JqY19wcm90b2NvbF90eXBlc19pbXBsZW1lbnRhdGlv
bi5weQppbmRleCBhMzE5Yzk0ZDdjMy4uMjI1OTQwOTRlNTAgMTAwNzU1Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRlX29iamNfcHJv
dG9jb2xfdHlwZXNfaW1wbGVtZW50YXRpb24ucHkKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2VuZXJhdGVfb2JqY19wcm90b2NvbF90eXBlc19p
bXBsZW1lbnRhdGlvbi5weQpAQCAtMzEsNyArMzEsNyBAQCBmcm9tIHN0cmluZyBpbXBvcnQgVGVt
cGxhdGUKIAogZnJvbSBnZW5lcmF0b3IgaW1wb3J0IEdlbmVyYXRvciwgdWNmaXJzdAogZnJvbSBt
b2RlbHMgaW1wb3J0IE9iamVjdFR5cGUsIEVudW1UeXBlLCBGcmFtZXdvcmtzCi1mcm9tIG9iamNf
Z2VuZXJhdG9yIGltcG9ydCBPYmpDR2VuZXJhdG9yCitmcm9tIG9iamNfZ2VuZXJhdG9yIGltcG9y
dCBPYmpDVHlwZUNhdGVnb3J5LCBPYmpDR2VuZXJhdG9yCiBmcm9tIG9iamNfZ2VuZXJhdG9yX3Rl
bXBsYXRlcyBpbXBvcnQgT2JqQ0dlbmVyYXRvclRlbXBsYXRlcyBhcyBPYmpDVGVtcGxhdGVzCiAK
IGxvZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCdnbG9iYWwnKQpAQCAtMjA2LDEwICsyMDYsMTggQEAg
Y2xhc3MgT2JqQ1Byb3RvY29sVHlwZXNJbXBsZW1lbnRhdGlvbkdlbmVyYXRvcihPYmpDR2VuZXJh
dG9yKToKICAgICAgICAgdmFyX25hbWUgPSBPYmpDR2VuZXJhdG9yLmlkZW50aWZpZXJfdG9fb2Jq
Y19pZGVudGlmaWVyKG1lbWJlci5tZW1iZXJfbmFtZSkKICAgICAgICAgZ2V0dGVyX21ldGhvZCA9
IE9iakNHZW5lcmF0b3Iub2JqY19nZXR0ZXJfbWV0aG9kX2Zvcl9tZW1iZXIoZGVjbGFyYXRpb24s
IG1lbWJlcikKICAgICAgICAgYmFzaWNfZXhwcmVzc2lvbiA9ICdbc3VwZXIgJXM6QCIlcyJdJyAl
IChnZXR0ZXJfbWV0aG9kLCBtZW1iZXIubWVtYmVyX25hbWUpCi0gICAgICAgIGNvbnZlcnNpb25f
ZXhwcmVzc2lvbiA9IHNlbGYucHJvdG9jb2xfdG9fb2JqY19leHByZXNzaW9uX2Zvcl9tZW1iZXIo
ZGVjbGFyYXRpb24sIG1lbWJlciwgYmFzaWNfZXhwcmVzc2lvbikKLSAgICAgICAgbGluZXMgPSBb
XQotICAgICAgICBsaW5lcy5hcHBlbmQoJy0gKCVzKSVzJyAlIChvYmpjX3R5cGUsIHZhcl9uYW1l
KSkKLSAgICAgICAgbGluZXMuYXBwZW5kKCd7JykKLSAgICAgICAgbGluZXMuYXBwZW5kKCcgICAg
cmV0dXJuICVzOycgJSBjb252ZXJzaW9uX2V4cHJlc3Npb24pCi0gICAgICAgIGxpbmVzLmFwcGVu
ZCgnfScpCisgICAgICAgIGNhdGVnb3J5ID0gT2JqQ1R5cGVDYXRlZ29yeS5jYXRlZ29yeV9mb3Jf
dHlwZShtZW1iZXIudHlwZSkKKyAgICAgICAgaWYgY2F0ZWdvcnkgaXMgT2JqQ1R5cGVDYXRlZ29y
eS5PYmplY3Q6CisgICAgICAgICAgICBsaW5lcyA9IFtdCisgICAgICAgICAgICBsaW5lcy5hcHBl
bmQoJy0gKCVzKSVzJyAlIChvYmpjX3R5cGUsIHZhcl9uYW1lKSkKKyAgICAgICAgICAgIGxpbmVz
LmFwcGVuZCgneycpCisgICAgICAgICAgICBsaW5lcy5hcHBlbmQoc2VsZi5wcm90b2NvbF90b19v
YmpjX2NvZGVfYmxvY2tfZm9yX29iamVjdF9tZW1iZXIoZGVjbGFyYXRpb24sIG1lbWJlciwgYmFz
aWNfZXhwcmVzc2lvbikpCisgICAgICAgICAgICBsaW5lcy5hcHBlbmQoJ30nKSAgICAgICAgICAg
IAorICAgICAgICBlbHNlOgorICAgICAgICAgICAgY29udmVyc2lvbl9leHByZXNzaW9uID0gc2Vs
Zi5wcm90b2NvbF90b19vYmpjX2V4cHJlc3Npb25fZm9yX21lbWJlcihkZWNsYXJhdGlvbiwgbWVt
YmVyLCBiYXNpY19leHByZXNzaW9uKQorICAgICAgICAgICAgbGluZXMgPSBbXQorICAgICAgICAg
ICAgbGluZXMuYXBwZW5kKCctICglcyklcycgJSAob2JqY190eXBlLCB2YXJfbmFtZSkpCisgICAg
ICAgICAgICBsaW5lcy5hcHBlbmQoJ3snKQorICAgICAgICAgICAgbGluZXMuYXBwZW5kKCcgICAg
cmV0dXJuICVzOycgJSBjb252ZXJzaW9uX2V4cHJlc3Npb24pCisgICAgICAgICAgICBsaW5lcy5h
cHBlbmQoJ30nKQogICAgICAgICByZXR1cm4gJ1xuJy5qb2luKGxpbmVzKQpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vb2JqY19nZW5l
cmF0b3IucHkgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdl
bi9vYmpjX2dlbmVyYXRvci5weQppbmRleCAwMjJjOGU2NzRkNi4uMTIwYjQxZTNjM2QgMTAwNzU1
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL29i
amNfZ2VuZXJhdG9yLnB5CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2Ny
aXB0cy9jb2RlZ2VuL29iamNfZ2VuZXJhdG9yLnB5CkBAIC00NDYsOCArNDQ2LDcgQEAgY2xhc3Mg
T2JqQ0dlbmVyYXRvcihHZW5lcmF0b3IpOgogICAgICAgICAgICAgICAgIHJldHVybiAnZnJvbVBy
b3RvY29sU3RyaW5nPCVzPiglcykudmFsdWUoKScgJSAoc2VsZi5vYmpjX2VudW1fbmFtZV9mb3Jf
bm9uX2Fub255bW91c19lbnVtKG1lbWJlci50eXBlKSwgc3ViX2V4cHJlc3Npb24pCiAgICAgICAg
ICAgICByZXR1cm4gc3ViX2V4cHJlc3Npb24KICAgICAgICAgaWYgY2F0ZWdvcnkgaXMgT2JqQ1R5
cGVDYXRlZ29yeS5PYmplY3Q6Ci0gICAgICAgICAgICBvYmpjX2NsYXNzID0gc2VsZi5vYmpjX2Ns
YXNzX2Zvcl90eXBlKG1lbWJlci50eXBlKQotICAgICAgICAgICAgcmV0dXJuICdbWyVzIGFsbG9j
XSBpbml0V2l0aEluc3BlY3Rvck9iamVjdDpbJXMgdG9JbnNwZWN0b3JPYmplY3RdLmdldCgpXScg
JSAob2JqY19jbGFzcywgc3ViX2V4cHJlc3Npb24pCisgICAgICAgICAgICByYWlzZSBFeGNlcHRp
b24oInByb3RvY29sX3RvX29iamNfZXhwcmVzc2lvbl9mb3JfbWVtYmVyIGRvZXMgbm90IHN1cHBv
cnQgYW4gT2JqZWN0IHR5cGUuIFNlZTogcHJvdG9jb2xfdG9fb2JqY19jb2RlX2Jsb2NrX2Zvcl9v
YmplY3RfbWVtYmVyIik7CiAgICAgICAgIGlmIGNhdGVnb3J5IGlzIE9iakNUeXBlQ2F0ZWdvcnku
QXJyYXk6CiAgICAgICAgICAgICBwcm90b2NvbF90eXBlID0gT2JqQ0dlbmVyYXRvci5wcm90b2Nv
bF90eXBlX2Zvcl90eXBlKG1lbWJlci50eXBlLmVsZW1lbnRfdHlwZSkKICAgICAgICAgICAgIG9i
amNfY2xhc3MgPSBzZWxmLm9iamNfY2xhc3NfZm9yX3R5cGUobWVtYmVyLnR5cGUuZWxlbWVudF90
eXBlKQpAQCAtNDYwLDYgKzQ1OSwxNSBAQCBjbGFzcyBPYmpDR2VuZXJhdG9yKEdlbmVyYXRvcik6
CiAgICAgICAgICAgICAgICAgcmV0dXJuICdvYmpjSW50ZWdlckFycmF5KCVzKScgJSBzdWJfZXhw
cmVzc2lvbgogICAgICAgICAgICAgcmV0dXJuICdvYmpjQXJyYXk8JXM+KCVzKScgJSAob2JqY19j
bGFzcywgc3ViX2V4cHJlc3Npb24pCiAKKyAgICBkZWYgcHJvdG9jb2xfdG9fb2JqY19jb2RlX2Js
b2NrX2Zvcl9vYmplY3RfbWVtYmVyKHNlbGYsIGRlY2xhcmF0aW9uLCBtZW1iZXIsIHN1Yl9leHBy
ZXNzaW9uKToKKyAgICAgICAgb2JqY19jbGFzcyA9IHNlbGYub2JqY19jbGFzc19mb3JfdHlwZSht
ZW1iZXIudHlwZSkKKyAgICAgICAgbGluZXMgPSBbXQorICAgICAgICBsaW5lcy5hcHBlbmQoJyAg
ICAlc0pTT05PYmplY3QgKm9iamVjdCA9ICVzOycgJSAoT2JqQ0dlbmVyYXRvci5PQkpDX1NUQVRJ
Q19QUkVGSVgsIHN1Yl9leHByZXNzaW9uKSkKKyAgICAgICAgbGluZXMuYXBwZW5kKCcgICAgaWYg
KCFvYmplY3QpJykKKyAgICAgICAgbGluZXMuYXBwZW5kKCcgICAgICAgIHJldHVybiBuaWw7JykK
KyAgICAgICAgbGluZXMuYXBwZW5kKCcgICAgcmV0dXJuIFtbJXMgYWxsb2NdIGluaXRXaXRoSW5z
cGVjdG9yT2JqZWN0OlslcyB0b0luc3BlY3Rvck9iamVjdF0uZ2V0KCldOycgJSAob2JqY19jbGFz
cywgc3ViX2V4cHJlc3Npb24pKQorICAgICAgICByZXR1cm4gJ1xuJy5qb2luKGxpbmVzKQorCiAg
ICAgZGVmIHBheWxvYWRfdG9fb2JqY19leHByZXNzaW9uX2Zvcl9tZW1iZXIoc2VsZiwgZGVjbGFy
YXRpb24sIG1lbWJlcik6CiAgICAgICAgIF90eXBlID0gbWVtYmVyLnR5cGUKICAgICAgICAgaWYg
aXNpbnN0YW5jZShfdHlwZSwgQWxpYXNlZFR5cGUpOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQvdHlwZS1k
ZWNsYXJhdGlvbi1vYmplY3QtdHlwZS5qc29uLXJlc3VsdCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL3R5cGUtZGVjbGFyYXRp
b24tb2JqZWN0LXR5cGUuanNvbi1yZXN1bHQKaW5kZXggZmViNjM3MGE3NjYuLjcwY2IzNTU5ODY0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVz
dHMvZ2VuZXJpYy9leHBlY3RlZC90eXBlLWRlY2xhcmF0aW9uLW9iamVjdC10eXBlLmpzb24tcmVz
dWx0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9n
ZW5lcmljL2V4cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24tb2JqZWN0LXR5cGUuanNvbi1yZXN1bHQK
QEAgLTE5MjYsNiArMTkyNiw5IEBAIHVzaW5nIG5hbWVzcGFjZSBJbnNwZWN0b3I7CiAKIC0gKFJX
SVByb3RvY29sSlNPTk9iamVjdCAqKXZhbHVlcwogeworICAgIFJXSVByb3RvY29sSlNPTk9iamVj
dCAqb2JqZWN0ID0gW3N1cGVyIG9iamVjdEZvcktleTpAInZhbHVlcyJdOworICAgIGlmICghb2Jq
ZWN0KQorICAgICAgICByZXR1cm4gbmlsOwogICAgIHJldHVybiBbW1JXSVByb3RvY29sSlNPTk9i
amVjdCBhbGxvY10gaW5pdFdpdGhJbnNwZWN0b3JPYmplY3Q6W1tzdXBlciBvYmplY3RGb3JLZXk6
QCJ2YWx1ZXMiXSB0b0luc3BlY3Rvck9iamVjdF0uZ2V0KCldOwogfQogCkBAIC0xOTM2LDYgKzE5
MzksOSBAQCB1c2luZyBuYW1lc3BhY2UgSW5zcGVjdG9yOwogCiAtIChSV0lQcm90b2NvbEpTT05P
YmplY3QgKilwYXlsb2FkCiB7CisgICAgUldJUHJvdG9jb2xKU09OT2JqZWN0ICpvYmplY3QgPSBb
c3VwZXIgb2JqZWN0Rm9yS2V5OkAicGF5bG9hZCJdOworICAgIGlmICghb2JqZWN0KQorICAgICAg
ICByZXR1cm4gbmlsOwogICAgIHJldHVybiBbW1JXSVByb3RvY29sSlNPTk9iamVjdCBhbGxvY10g
aW5pdFdpdGhJbnNwZWN0b3JPYmplY3Q6W1tzdXBlciBvYmplY3RGb3JLZXk6QCJwYXlsb2FkIl0g
dG9JbnNwZWN0b3JPYmplY3RdLmdldCgpXTsKIH0KIApAQCAtMTk0Niw2ICsxOTUyLDkgQEAgdXNp
bmcgbmFtZXNwYWNlIEluc3BlY3RvcjsKIAogLSAoVGVzdFByb3RvY29sRGF0YWJhc2VFcnJvciAq
KWVycm9yCiB7CisgICAgUldJUHJvdG9jb2xKU09OT2JqZWN0ICpvYmplY3QgPSBbc3VwZXIgb2Jq
ZWN0Rm9yS2V5OkAiZXJyb3IiXTsKKyAgICBpZiAoIW9iamVjdCkKKyAgICAgICAgcmV0dXJuIG5p
bDsKICAgICByZXR1cm4gW1tUZXN0UHJvdG9jb2xEYXRhYmFzZUVycm9yIGFsbG9jXSBpbml0V2l0
aEluc3BlY3Rvck9iamVjdDpbW3N1cGVyIG9iamVjdEZvcktleTpAImVycm9yIl0gdG9JbnNwZWN0
b3JPYmplY3RdLmdldCgpXTsKIH0KIApAQCAtMjA5Miw2ICsyMTAxLDkgQEAgdXNpbmcgbmFtZXNw
YWNlIEluc3BlY3RvcjsKIAogLSAoUldJUHJvdG9jb2xKU09OT2JqZWN0ICopdmFsdWVzCiB7Cisg
ICAgUldJUHJvdG9jb2xKU09OT2JqZWN0ICpvYmplY3QgPSBbc3VwZXIgb2JqZWN0Rm9yS2V5OkAi
dmFsdWVzIl07CisgICAgaWYgKCFvYmplY3QpCisgICAgICAgIHJldHVybiBuaWw7CiAgICAgcmV0
dXJuIFtbUldJUHJvdG9jb2xKU09OT2JqZWN0IGFsbG9jXSBpbml0V2l0aEluc3BlY3Rvck9iamVj
dDpbW3N1cGVyIG9iamVjdEZvcktleTpAInZhbHVlcyJdIHRvSW5zcGVjdG9yT2JqZWN0XS5nZXQo
KV07CiB9CiAKQEAgLTIxMDIsNiArMjExNCw5IEBAIHVzaW5nIG5hbWVzcGFjZSBJbnNwZWN0b3I7
CiAKIC0gKFJXSVByb3RvY29sSlNPTk9iamVjdCAqKXBheWxvYWQKIHsKKyAgICBSV0lQcm90b2Nv
bEpTT05PYmplY3QgKm9iamVjdCA9IFtzdXBlciBvYmplY3RGb3JLZXk6QCJwYXlsb2FkIl07Cisg
ICAgaWYgKCFvYmplY3QpCisgICAgICAgIHJldHVybiBuaWw7CiAgICAgcmV0dXJuIFtbUldJUHJv
dG9jb2xKU09OT2JqZWN0IGFsbG9jXSBpbml0V2l0aEluc3BlY3Rvck9iamVjdDpbW3N1cGVyIG9i
amVjdEZvcktleTpAInBheWxvYWQiXSB0b0luc3BlY3Rvck9iamVjdF0uZ2V0KCldOwogfQogCkBA
IC0yMTEyLDYgKzIxMjcsOSBAQCB1c2luZyBuYW1lc3BhY2UgSW5zcGVjdG9yOwogCiAtIChUZXN0
UHJvdG9jb2xEYXRhYmFzZUVycm9yICopZXJyb3IKIHsKKyAgICBSV0lQcm90b2NvbEpTT05PYmpl
Y3QgKm9iamVjdCA9IFtzdXBlciBvYmplY3RGb3JLZXk6QCJlcnJvciJdOworICAgIGlmICghb2Jq
ZWN0KQorICAgICAgICByZXR1cm4gbmlsOwogICAgIHJldHVybiBbW1Rlc3RQcm90b2NvbERhdGFi
YXNlRXJyb3IgYWxsb2NdIGluaXRXaXRoSW5zcGVjdG9yT2JqZWN0Oltbc3VwZXIgb2JqZWN0Rm9y
S2V5OkAiZXJyb3IiXSB0b0luc3BlY3Rvck9iamVjdF0uZ2V0KCldOwogfQogCkBAIC0yMzc2LDYg
KzIzOTQsOSBAQCB1c2luZyBuYW1lc3BhY2UgSW5zcGVjdG9yOwogCiAtIChSV0lQcm90b2NvbEpT
T05PYmplY3QgKil2YWx1ZXMKIHsKKyAgICBSV0lQcm90b2NvbEpTT05PYmplY3QgKm9iamVjdCA9
IFtzdXBlciBvYmplY3RGb3JLZXk6QCJ2YWx1ZXMiXTsKKyAgICBpZiAoIW9iamVjdCkKKyAgICAg
ICAgcmV0dXJuIG5pbDsKICAgICByZXR1cm4gW1tSV0lQcm90b2NvbEpTT05PYmplY3QgYWxsb2Nd
IGluaXRXaXRoSW5zcGVjdG9yT2JqZWN0Oltbc3VwZXIgb2JqZWN0Rm9yS2V5OkAidmFsdWVzIl0g
dG9JbnNwZWN0b3JPYmplY3RdLmdldCgpXTsKIH0KIApAQCAtMjM4Niw2ICsyNDA3LDkgQEAgdXNp
bmcgbmFtZXNwYWNlIEluc3BlY3RvcjsKIAogLSAoUldJUHJvdG9jb2xKU09OT2JqZWN0ICopcGF5
bG9hZAogeworICAgIFJXSVByb3RvY29sSlNPTk9iamVjdCAqb2JqZWN0ID0gW3N1cGVyIG9iamVj
dEZvcktleTpAInBheWxvYWQiXTsKKyAgICBpZiAoIW9iamVjdCkKKyAgICAgICAgcmV0dXJuIG5p
bDsKICAgICByZXR1cm4gW1tSV0lQcm90b2NvbEpTT05PYmplY3QgYWxsb2NdIGluaXRXaXRoSW5z
cGVjdG9yT2JqZWN0Oltbc3VwZXIgb2JqZWN0Rm9yS2V5OkAicGF5bG9hZCJdIHRvSW5zcGVjdG9y
T2JqZWN0XS5nZXQoKV07CiB9CiAKQEAgLTIzOTYsNiArMjQyMCw5IEBAIHVzaW5nIG5hbWVzcGFj
ZSBJbnNwZWN0b3I7CiAKIC0gKFRlc3RQcm90b2NvbERhdGFiYXNlRXJyb3IgKillcnJvcgogewor
ICAgIFJXSVByb3RvY29sSlNPTk9iamVjdCAqb2JqZWN0ID0gW3N1cGVyIG9iamVjdEZvcktleTpA
ImVycm9yIl07CisgICAgaWYgKCFvYmplY3QpCisgICAgICAgIHJldHVybiBuaWw7CiAgICAgcmV0
dXJuIFtbVGVzdFByb3RvY29sRGF0YWJhc2VFcnJvciBhbGxvY10gaW5pdFdpdGhJbnNwZWN0b3JP
YmplY3Q6W1tzdXBlciBvYmplY3RGb3JLZXk6QCJlcnJvciJdIHRvSW5zcGVjdG9yT2JqZWN0XS5n
ZXQoKV07CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
c2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL3R5cGUtcmVxdWlyaW5nLXJ1bnRpbWUtY2Fz
dHMuanNvbi1yZXN1bHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMv
dGVzdHMvZ2VuZXJpYy9leHBlY3RlZC90eXBlLXJlcXVpcmluZy1ydW50aW1lLWNhc3RzLmpzb24t
cmVzdWx0CmluZGV4IDg5MzY5Mjk4Mjc0Li4xZjIyMTUwMmNkZSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQv
dHlwZS1yZXF1aXJpbmctcnVudGltZS1jYXN0cy5qc29uLXJlc3VsdAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC90eXBl
LXJlcXVpcmluZy1ydW50aW1lLWNhc3RzLmpzb24tcmVzdWx0CkBAIC0xNTQ2LDYgKzE1NDYsOSBA
QCB1c2luZyBuYW1lc3BhY2UgSW5zcGVjdG9yOwogCiAtIChUZXN0UHJvdG9jb2xUZXN0UmVjdXJz
aXZlT2JqZWN0MSAqKXRyZWUKIHsKKyAgICBSV0lQcm90b2NvbEpTT05PYmplY3QgKm9iamVjdCA9
IFtzdXBlciBvYmplY3RGb3JLZXk6QCJ0cmVlIl07CisgICAgaWYgKCFvYmplY3QpCisgICAgICAg
IHJldHVybiBuaWw7CiAgICAgcmV0dXJuIFtbVGVzdFByb3RvY29sVGVzdFJlY3Vyc2l2ZU9iamVj
dDEgYWxsb2NdIGluaXRXaXRoSW5zcGVjdG9yT2JqZWN0Oltbc3VwZXIgb2JqZWN0Rm9yS2V5OkAi
dHJlZSJdIHRvSW5zcGVjdG9yT2JqZWN0XS5nZXQoKV07CiB9CiAKQEAgLTE1NzcsNiArMTU4MCw5
IEBAIHVzaW5nIG5hbWVzcGFjZSBJbnNwZWN0b3I7CiAKIC0gKFRlc3RQcm90b2NvbFRlc3RSZWN1
cnNpdmVPYmplY3QyICopb2JqCiB7CisgICAgUldJUHJvdG9jb2xKU09OT2JqZWN0ICpvYmplY3Qg
PSBbc3VwZXIgb2JqZWN0Rm9yS2V5OkAib2JqIl07CisgICAgaWYgKCFvYmplY3QpCisgICAgICAg
IHJldHVybiBuaWw7CiAgICAgcmV0dXJuIFtbVGVzdFByb3RvY29sVGVzdFJlY3Vyc2l2ZU9iamVj
dDIgYWxsb2NdIGluaXRXaXRoSW5zcGVjdG9yT2JqZWN0Oltbc3VwZXIgb2JqZWN0Rm9yS2V5OkAi
b2JqIl0gdG9JbnNwZWN0b3JPYmplY3RdLmdldCgpXTsKIH0KIApAQCAtMTYwOCw2ICsxNjE0LDkg
QEAgdXNpbmcgbmFtZXNwYWNlIEluc3BlY3RvcjsKIAogLSAoVGVzdFByb3RvY29sVGVzdFJlY3Vy
c2l2ZU9iamVjdDEgKilvYmoKIHsKKyAgICBSV0lQcm90b2NvbEpTT05PYmplY3QgKm9iamVjdCA9
IFtzdXBlciBvYmplY3RGb3JLZXk6QCJvYmoiXTsKKyAgICBpZiAoIW9iamVjdCkKKyAgICAgICAg
cmV0dXJuIG5pbDsKICAgICByZXR1cm4gW1tUZXN0UHJvdG9jb2xUZXN0UmVjdXJzaXZlT2JqZWN0
MSBhbGxvY10gaW5pdFdpdGhJbnNwZWN0b3JPYmplY3Q6W1tzdXBlciBvYmplY3RGb3JLZXk6QCJv
YmoiXSB0b0luc3BlY3Rvck9iamVjdF0uZ2V0KCldOwogfQogCg==
</data>
<flag name="review"
          id="329205"
          type_id="1"
          status="+"
          setter="bburg"
    />
          </attachment>
      

    </bug>

</bugzilla>