<?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>133399</bug_id>
          
          <creation_ts>2014-05-30 01:10:17 -0700</creation_ts>
          <short_desc>Allow enum guards to be generated from the replay json files</short_desc>
          <delta_ts>2014-06-12 03:11:26 -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>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Zsolt Borbely">zsborbely.u-szeged</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>burg</cc>
    
    <cc>commit-queue</cc>
    
    <cc>timothy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1012576</commentid>
    <comment_count>0</comment_count>
    <who name="Zsolt Borbely">zsborbely.u-szeged</who>
    <bug_when>2014-05-30 01:10:17 -0700</bug_when>
    <thetext>$ Tools/Scripts/build-webkit --efl --web-replay
...
[ 12%] In file included from /home/bzsolt/webkit/EflWebKit/WebKitBuild/Release/DerivedSources/JavaScriptCore/JSReplayInputs.h:34:0,
                 from /home/bzsolt/webkit/EflWebKit/Source/JavaScriptCore/runtime/JSGlobalObject.cpp:135:
/home/bzsolt/webkit/EflWebKit/Source/JavaScriptCore/replay/EncodedValue.h:159:19: error: redefinition of &apos;struct JSC::EncodingTraits&lt;long unsigned int&gt;&apos;
/home/bzsolt/webkit/EflWebKit/Source/JavaScriptCore/replay/EncodedValue.h:158:19: error: previous definition of &apos;struct JSC::EncodingTraits&lt;long unsigned int&gt;&apos;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012577</commentid>
    <comment_count>1</comment_count>
      <attachid>232283</attachid>
    <who name="Zsolt Borbely">zsborbely.u-szeged</who>
    <bug_when>2014-05-30 01:15:43 -0700</bug_when>
    <thetext>Created attachment 232283
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012584</commentid>
    <comment_count>2</comment_count>
    <who name="Zsolt Borbely">zsborbely.u-szeged</who>
    <bug_when>2014-05-30 02:26:51 -0700</bug_when>
    <thetext>(In reply to comment #0)
&gt; $ Tools/Scripts/build-webkit --efl --web-replay
&gt; ...
&gt; [ 12%] In file included from /home/bzsolt/webkit/EflWebKit/WebKitBuild/Release/DerivedSources/JavaScriptCore/JSReplayInputs.h:34:0,
&gt;                  from /home/bzsolt/webkit/EflWebKit/Source/JavaScriptCore/runtime/JSGlobalObject.cpp:135:
&gt; /home/bzsolt/webkit/EflWebKit/Source/JavaScriptCore/replay/EncodedValue.h:159:19: error: redefinition of &apos;struct JSC::EncodingTraits&lt;long unsigned int&gt;&apos;
&gt; /home/bzsolt/webkit/EflWebKit/Source/JavaScriptCore/replay/EncodedValue.h:158:19: error: previous definition of &apos;struct JSC::EncodingTraits&lt;long unsigned int&gt;&apos;

Oops the description is wrong, the correct output:

/home/bzsolt/webkit/EflWebKit/WebKitBuild/Release/DerivedSources/WebCore/WebReplayInputs.cpp: In static member function ‘static JSC::EncodedValue JSC::EncodingTraits&lt;WebCore::PlatformWheelEventPhase&gt;::encodeValue(const WebCore::PlatformWheelEventPhase&amp;)’:
/home/bzsolt/webkit/EflWebKit/WebKitBuild/Release/DerivedSources/WebCore/WebReplayInputs.cpp:744:21: error: ‘PlatformWheelEventPhaseNone’ is not a member of ‘WebCore’
     if (enumValue &amp; WebCore::PlatformWheelEventPhaseNone) {
                     ^
/home/bzsolt/webkit/EflWebKit/WebKitBuild/Release/DerivedSources/WebCore/WebReplayInputs.cpp:746:26: error: ‘PlatformWheelEventPhaseNone’ is not a member of ‘WebCore’
         if (enumValue == WebCore::PlatformWheelEventPhaseNone)
                          ^
/home/bzsolt/webkit/EflWebKit/WebKitBuild/Release/DerivedSources/WebCore/WebReplayInputs.cpp:749:21: error: ‘PlatformWheelEventPhaseBegan’ is not a member of ‘WebCore’
     if (enumValue &amp; WebCore::PlatformWheelEventPhaseBegan) {
                     ^
/home/bzsolt/webkit/EflWebKit/WebKitBuild/Release/DerivedSources/WebCore/WebReplayInputs.cpp:751:26: error: ‘PlatformWheelEventPhaseBegan’ is not a member of ‘WebCore’
         if (enumValue == WebCore::PlatformWheelEventPhaseBegan)
                          ^
/home/bzsolt/webkit/EflWebKit/WebKitBuild/Release/DerivedSources/WebCore/WebReplayInputs.cpp:754:21: error: ‘PlatformWheelEventPhaseStationary’ is not a member of ‘WebCore’
     if (enumValue &amp; WebCore::PlatformWheelEventPhaseStationary) {
                     ^
/home/bzsolt/webkit/EflWebKit/WebKitBuild/Release/DerivedSources/WebCore/WebReplayInputs.cpp:756:26: error: ‘PlatformWheelEventPhaseStationary’ is not a member of ‘WebCore’
         if (enumValue == WebCore::PlatformWheelEventPhaseStationary)
                          ^
/home/bzsolt/webkit/EflWebKit/WebKitBuild/Release/DerivedSources/WebCore/WebReplayInputs.cpp:759:21: error: ‘PlatformWheelEventPhaseChanged’ is not a member of ‘WebCore’
     if (enumValue &amp; WebCore::PlatformWheelEventPhaseChanged) {
                     ^
/home/bzsolt/webkit/EflWebKit/WebKitBuild/Release/DerivedSources/WebCore/WebReplayInputs.cpp:761:26: error: ‘PlatformWheelEventPhaseChanged’ is not a member of ‘WebCore’
         if (enumValue == WebCore::PlatformWheelEventPhaseChanged)
                          ^
/home/bzsolt/webkit/EflWebKit/WebKitBuild/Release/DerivedSources/WebCore/WebReplayInputs.cpp:764:21: error: ‘PlatformWheelEventPhaseEnded’ is not a member of ‘WebCore’
     if (enumValue &amp; WebCore::PlatformWheelEventPhaseEnded) {
                     ^
/home/bzsolt/webkit/EflWebKit/WebKitBuild/Release/DerivedSources/WebCore/WebReplayInputs.cpp:766:26: error: ‘PlatformWheelEventPhaseEnded’ is not a member of ‘WebCore’
         if (enumValue == WebCore::PlatformWheelEventPhaseEnded)
                          ^
/home/bzsolt/webkit/EflWebKit/WebKitBuild/Release/DerivedSources/WebCore/WebReplayInputs.cpp:769:21: error: ‘PlatformWheelEventPhaseCancelled’ is not a member of ‘WebCore’
     if (enumValue &amp; WebCore::PlatformWheelEventPhaseCancelled) {
                     ^
/home/bzsolt/webkit/EflWebKit/WebKitBuild/Release/DerivedSources/WebCore/WebReplayInputs.cpp:771:26: error: ‘PlatformWheelEventPhaseCancelled’ is not a member of ‘WebCore’
         if (enumValue == WebCore::PlatformWheelEventPhaseCancelled)
                          ^
/home/bzsolt/webkit/EflWebKit/WebKitBuild/Release/DerivedSources/WebCore/WebReplayInputs.cpp:774:21: error: ‘PlatformWheelEventPhaseMayBegin’ is not a member of ‘WebCore’
     if (enumValue &amp; WebCore::PlatformWheelEventPhaseMayBegin) {
                     ^
/home/bzsolt/webkit/EflWebKit/WebKitBuild/Release/DerivedSources/WebCore/WebReplayInputs.cpp:776:26: error: ‘PlatformWheelEventPhaseMayBegin’ is not a member of ‘WebCore’
         if (enumValue == WebCore::PlatformWheelEventPhaseMayBegin)
                          ^
/home/bzsolt/webkit/EflWebKit/WebKitBuild/Release/DerivedSources/WebCore/WebReplayInputs.cpp: In static member function ‘static bool JSC::EncodingTraits&lt;WebCore::PlatformWheelEventPhase&gt;::decodeValue(JSC::EncodedValue&amp;, WebCore::PlatformWheelEventPhase&amp;)’:
/home/bzsolt/webkit/EflWebKit/WebKitBuild/Release/DerivedSources/WebCore/WebReplayInputs.cpp:790:83: error: ‘PlatformWheelEventPhaseNone’ is not a member of ‘WebCore’
             enumValue = static_cast&lt;WebCore::PlatformWheelEventPhase&gt;(enumValue | WebCore::PlatformWheelEventPhaseNone);
                                                                                   ^
/home/bzsolt/webkit/EflWebKit/WebKitBuild/Release/DerivedSources/WebCore/WebReplayInputs.cpp:792:83: error: ‘PlatformWheelEventPhaseBegan’ is not a member of ‘WebCore’
             enumValue = static_cast&lt;WebCore::PlatformWheelEventPhase&gt;(enumValue | WebCore::PlatformWheelEventPhaseBegan);
                                                                                   ^
/home/bzsolt/webkit/EflWebKit/WebKitBuild/Release/DerivedSources/WebCore/WebReplayInputs.cpp:794:83: error: ‘PlatformWheelEventPhaseStationary’ is not a member of ‘WebCore’
             enumValue = static_cast&lt;WebCore::PlatformWheelEventPhase&gt;(enumValue | WebCore::PlatformWheelEventPhaseStationary);
                                                                                   ^
/home/bzsolt/webkit/EflWebKit/WebKitBuild/Release/DerivedSources/WebCore/WebReplayInputs.cpp:796:83: error: ‘PlatformWheelEventPhaseChanged’ is not a member of ‘WebCore’
             enumValue = static_cast&lt;WebCore::PlatformWheelEventPhase&gt;(enumValue | WebCore::PlatformWheelEventPhaseChanged);
                                                                                   ^
/home/bzsolt/webkit/EflWebKit/WebKitBuild/Release/DerivedSources/WebCore/WebReplayInputs.cpp:798:83: error: ‘PlatformWheelEventPhaseEnded’ is not a member of ‘WebCore’
             enumValue = static_cast&lt;WebCore::PlatformWheelEventPhase&gt;(enumValue | WebCore::PlatformWheelEventPhaseEnded);
                                                                                   ^
/home/bzsolt/webkit/EflWebKit/WebKitBuild/Release/DerivedSources/WebCore/WebReplayInputs.cpp:800:83: error: ‘PlatformWheelEventPhaseCancelled’ is not a member of ‘WebCore’
             enumValue = static_cast&lt;WebCore::PlatformWheelEventPhase&gt;(enumValue | WebCore::PlatformWheelEventPhaseCancelled);
                                                                                   ^
/home/bzsolt/webkit/EflWebKit/WebKitBuild/Release/DerivedSources/WebCore/WebReplayInputs.cpp:802:83: error: ‘PlatformWheelEventPhaseMayBegin’ is not a member of ‘WebCore’
             enumValue = static_cast&lt;WebCore::PlatformWheelEventPhase&gt;(enumValue | WebCore::PlatformWheelEventPhaseMayBegin);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012606</commentid>
    <comment_count>3</comment_count>
      <attachid>232283</attachid>
    <who name="Brian Burg">burg</who>
    <bug_when>2014-05-30 07:18:13 -0700</bug_when>
    <thetext>Comment on attachment 232283
Proposed patch

LGTM, but can you add/edit a test case and include any rebaselined test results? They are in Source/JavaScriptCore/replay/scripts/tests/ and you can run with Tools/Scripts/run-input-generator-tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1013279</commentid>
    <comment_count>4</comment_count>
      <attachid>232283</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2014-06-04 02:58:03 -0700</bug_when>
    <thetext>Comment on attachment 232283
Proposed patch

r- for now based on #3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1014387</commentid>
    <comment_count>5</comment_count>
      <attachid>232785</attachid>
    <who name="Zsolt Borbely">zsborbely.u-szeged</who>
    <bug_when>2014-06-10 04:48:03 -0700</bug_when>
    <thetext>Created attachment 232785
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1015061</commentid>
    <comment_count>6</comment_count>
      <attachid>232785</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2014-06-12 02:39:33 -0700</bug_when>
    <thetext>Comment on attachment 232785
Proposed patch

LGTM</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1015071</commentid>
    <comment_count>7</comment_count>
      <attachid>232785</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-06-12 03:11:23 -0700</bug_when>
    <thetext>Comment on attachment 232785
Proposed patch

Clearing flags on attachment: 232785

Committed r169889: &lt;http://trac.webkit.org/changeset/169889&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1015072</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-06-12 03:11:26 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>232283</attachid>
            <date>2014-05-30 01:15:43 -0700</date>
            <delta_ts>2014-06-10 04:48:03 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>guard.patch</filename>
            <type>text/plain</type>
            <size>4511</size>
            <attacher name="Zsolt Borbely">zsborbely.u-szeged</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGVjMzE0ZGQuLjdlNmNiOWMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE0LTA1LTMwICBac29sdCBCb3JiZWx5
ICA8enNib3JiZWx5LnUtc3plZ2VkQHBhcnRuZXIuc2Ftc3VuZy5jb20+CisKKyAgICAgICAgQWxs
b3cgZW51bSBndWFyZHMgdG8gYmUgZ2VuZXJhdGVkIGZyb20gdGhlIHJlcGxheSBqc29uIGZpbGVz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzMzOTkK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHJlcGxh
eS9zY3JpcHRzL0NvZGVHZW5lcmF0b3JSZXBsYXlJbnB1dHMucHk6CisgICAgICAgIChUeXBlLl9f
aW5pdF9fKToKKyAgICAgICAgKElucHV0c01vZGVsLnBhcnNlX3R5cGVfd2l0aF9mcmFtZXdvcmtf
bmFtZSk6CisgICAgICAgIChHZW5lcmF0b3IuZ2VuZXJhdGVfaGVhZGVyKToKKyAgICAgICAgKEdl
bmVyYXRvci5nZW5lcmF0ZV9pbXBsZW1lbnRhdGlvbik6CisKIDIwMTQtMDUtMjggIEZpbGlwIFBp
emxvICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAgICBERkc6OkRDRVBoYXNlIGluc2VydHMg
aW50byBhbiBpbnNlcnRpb24gc2V0IGluIHJldmVyc2UsIGNhdXNpbmcgaGlsYXJpb3VzIGJhc2lj
IGJsb2NrIGNvcnJ1cHRpb24gaWYgeW91IGtpbGwgYSBsb3Qgb2YgTmV3QXJyYXlzCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcmVwbGF5L3NjcmlwdHMvQ29kZUdlbmVyYXRvclJl
cGxheUlucHV0cy5weSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9yZXBsYXkvc2NyaXB0cy9Db2Rl
R2VuZXJhdG9yUmVwbGF5SW5wdXRzLnB5CmluZGV4IGE5YTY1Y2QuLmYwODBkZjQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9yZXBsYXkvc2NyaXB0cy9Db2RlR2VuZXJhdG9yUmVw
bGF5SW5wdXRzLnB5CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9yZXBsYXkvc2NyaXB0cy9D
b2RlR2VuZXJhdG9yUmVwbGF5SW5wdXRzLnB5CkBAIC0yODEsNyArMjgxLDcgQEAgY2xhc3MgVHlw
ZU1vZGVzOgogCiAKIGNsYXNzIFR5cGU6Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYsIG5hbWUsIG1v
ZGUsIGZyYW1ld29yaywgaGVhZGVyLCBlbmNsb3NpbmdfY2xhc3MsIHZhbHVlcywgZ3VhcmRfdmFs
dWVzX21hcCwgdW5kZXJseWluZ19zdG9yYWdlLCBmbGFncyk6CisgICAgZGVmIF9faW5pdF9fKHNl
bGYsIG5hbWUsIG1vZGUsIGZyYW1ld29yaywgaGVhZGVyLCBlbmNsb3NpbmdfY2xhc3MsIHZhbHVl
cywgZ3VhcmRfdmFsdWVzX21hcCwgdW5kZXJseWluZ19zdG9yYWdlLCBmbGFncywgZ3VhcmQ9Tm9u
ZSk6CiAgICAgICAgIHNlbGYuX25hbWUgPSBuYW1lCiAgICAgICAgIHNlbGYubW9kZSA9IG1vZGUK
ICAgICAgICAgc2VsZi5mcmFtZXdvcmsgPSBmcmFtZXdvcmsKQEAgLTI5MSw2ICsyOTEsNyBAQCBj
bGFzcyBUeXBlOgogICAgICAgICBzZWxmLmd1YXJkX3ZhbHVlc19tYXAgPSBndWFyZF92YWx1ZXNf
bWFwCiAgICAgICAgIHNlbGYudW5kZXJseWluZ19zdG9yYWdlID0gdW5kZXJseWluZ19zdG9yYWdl
CiAgICAgICAgIHNlbGYuX2ZsYWdzID0gZmxhZ3MKKyAgICAgICAgc2VsZi5ndWFyZCA9IGd1YXJk
CiAKICAgICBkZWYgX19lcV9fKHNlbGYsIG90aGVyKToKICAgICAgICAgcmV0dXJuIHNlbGYudHlw
ZV9uYW1lKCkgPT0gb3RoZXIudHlwZV9uYW1lKCkgYW5kIHNlbGYubW9kZSA9PSBvdGhlci5tb2Rl
CkBAIC00NDksNyArNDUwLDggQEAgY2xhc3MgSW5wdXRzTW9kZWw6CiAgICAgICAgIGd1YXJkZWRf
ZW51bV92YWx1ZXMgPSBqc29uLmdldCgnZ3VhcmRlZF92YWx1ZXMnLCB7fSkKICAgICAgICAgdHlw
ZV9zdG9yYWdlID0ganNvbi5nZXQoJ3N0b3JhZ2UnKQogICAgICAgICB0eXBlX2ZsYWdzID0ganNv
bi5nZXQoJ2ZsYWdzJywgW10pCi0gICAgICAgIF90eXBlID0gVHlwZSh0eXBlX25hbWUsIHR5cGVf
bW9kZSwgZnJhbWV3b3JrLCBoZWFkZXIsIGVuY2xvc2luZ19jbGFzcywgZW51bV92YWx1ZXMsIGd1
YXJkZWRfZW51bV92YWx1ZXMsIHR5cGVfc3RvcmFnZSwgdHlwZV9mbGFncykKKyAgICAgICAgZ3Vh
cmQgPSBqc29uLmdldCgnZ3VhcmQnLCBOb25lKQorICAgICAgICBfdHlwZSA9IFR5cGUodHlwZV9u
YW1lLCB0eXBlX21vZGUsIGZyYW1ld29yaywgaGVhZGVyLCBlbmNsb3NpbmdfY2xhc3MsIGVudW1f
dmFsdWVzLCBndWFyZGVkX2VudW1fdmFsdWVzLCB0eXBlX3N0b3JhZ2UsIHR5cGVfZmxhZ3MsIGd1
YXJkKQogICAgICAgICBpZiBfdHlwZS5pc19lbnVtKCkgb3IgX3R5cGUuaXNfZW51bV9jbGFzcygp
OgogICAgICAgICAgICAgY2hlY2tfZm9yX3JlcXVpcmVkX3Byb3BlcnRpZXMoWyd2YWx1ZXMnXSwg
anNvbiwgJ2VudW0nKQogICAgICAgICAgICAgaWYgbm90IGlzaW5zdGFuY2UoanNvblsndmFsdWVz
J10sIGxpc3QpIG9yIGxlbihfdHlwZS52YWx1ZXMpID09IDA6CkBAIC01OTYsOCArNTk4LDggQEAg
Y2xhc3MgR2VuZXJhdG9yOgogICAgICAgICAgICAgJ3R5cGVGb3J3YXJkRGVjbGFyYXRpb25zJzog
c2VsZi5nZW5lcmF0ZV90eXBlX2ZvcndhcmRfZGVjbGFyYXRpb25zKCksCiAgICAgICAgICAgICAn
aW5wdXRGb3J3YXJkRGVjbGFyYXRpb25zJzogIlxuIi5qb2luKFt3cmFwX3dpdGhfZ3VhcmQoImNs
YXNzICVzOyIsIF9pbnB1dC5ndWFyZCkgJSBfaW5wdXQubmFtZSBmb3IgX2lucHV0IGluIHNlbGYu
X21vZGVsLmlucHV0c10pLAogICAgICAgICAgICAgJ2lucHV0Q2xhc3NEZWNsYXJhdGlvbnMnOiAi
XG5cbiIuam9pbihbc2VsZi5nZW5lcmF0ZV9jbGFzc19kZWNsYXJhdGlvbihfaW5wdXQpIGZvciBf
aW5wdXQgaW4gc2VsZi5fbW9kZWwuaW5wdXRzXSksCi0gICAgICAgICAgICAnaW5wdXRUcmFpdERl
Y2xhcmF0aW9ucyc6ICJcblxuIi5qb2luKFtzZWxmLmdlbmVyYXRlX2lucHV0X3RyYWl0X2RlY2xh
cmF0aW9uKF9pbnB1dCkgZm9yIF9pbnB1dCBpbiBzZWxmLl9tb2RlbC5pbnB1dHNdKSwKLSAgICAg
ICAgICAgICdlbnVtVHJhaXREZWNsYXJhdGlvbnMnOiAiXG5cbiIuam9pbihbc2VsZi5nZW5lcmF0
ZV9lbnVtX3RyYWl0X2RlY2xhcmF0aW9uKF90eXBlKSBmb3IgX3R5cGUgaW4gc2VsZi5fbW9kZWwu
ZW51bV90eXBlcygpXSksCisgICAgICAgICAgICAnaW5wdXRUcmFpdERlY2xhcmF0aW9ucyc6ICJc
blxuIi5qb2luKFt3cmFwX3dpdGhfZ3VhcmQoc2VsZi5nZW5lcmF0ZV9pbnB1dF90cmFpdF9kZWNs
YXJhdGlvbihfaW5wdXQpLCBfaW5wdXQuZ3VhcmQpIGZvciBfaW5wdXQgaW4gc2VsZi5fbW9kZWwu
aW5wdXRzXSksCisgICAgICAgICAgICAnZW51bVRyYWl0RGVjbGFyYXRpb25zJzogIlxuXG4iLmpv
aW4oW3dyYXBfd2l0aF9ndWFyZChzZWxmLmdlbmVyYXRlX2VudW1fdHJhaXRfZGVjbGFyYXRpb24o
X3R5cGUpLCBfdHlwZS5ndWFyZCkgZm9yIF90eXBlIGluIHNlbGYuX21vZGVsLmVudW1fdHlwZXMo
KV0pLAogICAgICAgICAgICAgJ2ZvckVhY2hNYWNybyc6IHNlbGYuZ2VuZXJhdGVfZm9yX2VhY2hf
bWFjcm8oKSwKICAgICAgICAgfQogCkBAIC02MTMsNyArNjE1LDcgQEAgY2xhc3MgR2VuZXJhdG9y
OgogICAgICAgICAgICAgJ2luY2x1ZGVzJzogc2VsZi5nZW5lcmF0ZV9pbmNsdWRlcyhkZWZhdWx0
cz1zZWxmLnNldHRpbmcoJ2ltcGxJbmNsdWRlcycpLCBpbmNsdWRlc19mb3JfdHlwZXM9VHJ1ZSks
CiAgICAgICAgICAgICAnaW5wdXRDbGFzc0ltcGxlbWVudGF0aW9ucyc6ICJcblxuIi5qb2luKFtz
ZWxmLmdlbmVyYXRlX2NsYXNzX2ltcGxlbWVudGF0aW9uKF9pbnB1dCkgZm9yIF9pbnB1dCBpbiBz
ZWxmLl9tb2RlbC5pbnB1dHNdKSwKICAgICAgICAgICAgICdpbnB1dFRyYWl0SW1wbGVtZW50YXRp
b25zJzogIlxuXG4iLmpvaW4oW3NlbGYuZ2VuZXJhdGVfaW5wdXRfdHJhaXRfaW1wbGVtZW50YXRp
b24oX2lucHV0KSBmb3IgX2lucHV0IGluIHNlbGYuX21vZGVsLmlucHV0c10pLAotICAgICAgICAg
ICAgJ2VudW1UcmFpdEltcGxlbWVudGF0aW9ucyc6ICJcblxuIi5qb2luKFtzZWxmLmdlbmVyYXRl
X2VudW1fdHJhaXRfaW1wbGVtZW50YXRpb24oX3R5cGUpIGZvciBfdHlwZSBpbiBzZWxmLl9tb2Rl
bC5lbnVtX3R5cGVzKCldKSwKKyAgICAgICAgICAgICdlbnVtVHJhaXRJbXBsZW1lbnRhdGlvbnMn
OiAiXG5cbiIuam9pbihbd3JhcF93aXRoX2d1YXJkKHNlbGYuZ2VuZXJhdGVfZW51bV90cmFpdF9p
bXBsZW1lbnRhdGlvbihfdHlwZSksIF90eXBlLmd1YXJkKSBmb3IgX3R5cGUgaW4gc2VsZi5fbW9k
ZWwuZW51bV90eXBlcygpXSksCiAgICAgICAgIH0KIAogICAgICAgICByZXR1cm4gVGVtcGxhdGUo
VGVtcGxhdGVzLkltcGxlbWVudGF0aW9uU2tlbGV0b24pLnN1YnN0aXR1dGUodGVtcGxhdGVfYXJn
dW1lbnRzKQo=
</data>
<flag name="review"
          id="256774"
          type_id="1"
          status="-"
          setter="ossy"
    />
    <flag name="commit-queue"
          id="256775"
          type_id="3"
          status="-"
          setter="ossy"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>232785</attachid>
            <date>2014-06-10 04:48:03 -0700</date>
            <delta_ts>2014-06-12 03:11:22 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>guard.patch</filename>
            <type>text/plain</type>
            <size>14575</size>
            <attacher name="Zsolt Borbely">zsborbely.u-szeged</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGM2NmVmNTEuLjFlYzE0NzMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE0LTA2LTEwICBac29sdCBCb3JiZWx5
ICA8enNib3JiZWx5LnUtc3plZ2VkQHBhcnRuZXIuc2Ftc3VuZy5jb20+CisKKyAgICAgICAgQWxs
b3cgZW51bSBndWFyZHMgdG8gYmUgZ2VuZXJhdGVkIGZyb20gdGhlIHJlcGxheSBqc29uIGZpbGVz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzMzOTkK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHJlcGxh
eS9zY3JpcHRzL0NvZGVHZW5lcmF0b3JSZXBsYXlJbnB1dHMucHk6CisgICAgICAgIChUeXBlLl9f
aW5pdF9fKToKKyAgICAgICAgKElucHV0c01vZGVsLnBhcnNlX3R5cGVfd2l0aF9mcmFtZXdvcmtf
bmFtZSk6CisgICAgICAgIChHZW5lcmF0b3IuZ2VuZXJhdGVfaGVhZGVyKToKKyAgICAgICAgKEdl
bmVyYXRvci5nZW5lcmF0ZV9pbXBsZW1lbnRhdGlvbik6CisgICAgICAgICogcmVwbGF5L3Njcmlw
dHMvdGVzdHMvZXhwZWN0ZWQvZ2VuZXJhdGUtZW51bS13aXRoLWd1YXJkLmpzb24tVGVzdFJlcGxh
eUlucHV0cy5jcHA6IEFkZGVkLgorICAgICAgICAoVGVzdDo6SGFuZGxlV2hlZWxFdmVudDo6SGFu
ZGxlV2hlZWxFdmVudCk6CisgICAgICAgIChUZXN0OjpIYW5kbGVXaGVlbEV2ZW50Ojp+SGFuZGxl
V2hlZWxFdmVudCk6CisgICAgICAgIChKU0M6OklucHV0VHJhaXRzPFRlc3Q6OkhhbmRsZVdoZWVs
RXZlbnQ+Ojp0eXBlKToKKyAgICAgICAgKEpTQzo6SW5wdXRUcmFpdHM8VGVzdDo6SGFuZGxlV2hl
ZWxFdmVudD46OmVuY29kZSk6CisgICAgICAgIChKU0M6OklucHV0VHJhaXRzPFRlc3Q6OkhhbmRs
ZVdoZWVsRXZlbnQ+OjpkZWNvZGUpOgorICAgICAgICAoSlNDOjpFbmNvZGluZ1RyYWl0czxXZWJD
b3JlOjpQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZT46OmVuY29kZVZhbHVlKToKKyAgICAgICAgKEpT
Qzo6RW5jb2RpbmdUcmFpdHM8V2ViQ29yZTo6UGxhdGZvcm1XaGVlbEV2ZW50UGhhc2U+OjpkZWNv
ZGVWYWx1ZSk6CisgICAgICAgICogcmVwbGF5L3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvZ2VuZXJh
dGUtZW51bS13aXRoLWd1YXJkLmpzb24tVGVzdFJlcGxheUlucHV0cy5oOiBBZGRlZC4KKyAgICAg
ICAgKEpTQzo6SW5wdXRUcmFpdHM8VGVzdDo6SGFuZGxlV2hlZWxFdmVudD46OnF1ZXVlKToKKyAg
ICAgICAgKFRlc3Q6OkhhbmRsZVdoZWVsRXZlbnQ6OnBsYXRmb3JtRXZlbnQpOgorICAgICAgICAq
IHJlcGxheS9zY3JpcHRzL3Rlc3RzL2dlbmVyYXRlLWVudW0td2l0aC1ndWFyZC5qc29uOiBBZGRl
ZC4KKwogMjAxNC0wNi0wOSAgTWFyayBIYWhuZW5iZXJnICA8bWhhaG5lbmJlcmdAYXBwbGUuY29t
PgogCiAgICAgICAgIEdsb2JhbCBIYXNoVGFibGVzIGNvbnRhaW4gcmVmZXJlbmNlcyB0byBhdG9t
aWMgU3RyaW5nSW1wbHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9yZXBsYXkv
c2NyaXB0cy9Db2RlR2VuZXJhdG9yUmVwbGF5SW5wdXRzLnB5IGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3JlcGxheS9zY3JpcHRzL0NvZGVHZW5lcmF0b3JSZXBsYXlJbnB1dHMucHkKaW5kZXggYTlh
NjVjZC4uZTZjODJlMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3JlcGxheS9z
Y3JpcHRzL0NvZGVHZW5lcmF0b3JSZXBsYXlJbnB1dHMucHkKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3JlcGxheS9zY3JpcHRzL0NvZGVHZW5lcmF0b3JSZXBsYXlJbnB1dHMucHkKQEAgLTI4
MSw3ICsyODEsNyBAQCBjbGFzcyBUeXBlTW9kZXM6CiAKIAogY2xhc3MgVHlwZToKLSAgICBkZWYg
X19pbml0X18oc2VsZiwgbmFtZSwgbW9kZSwgZnJhbWV3b3JrLCBoZWFkZXIsIGVuY2xvc2luZ19j
bGFzcywgdmFsdWVzLCBndWFyZF92YWx1ZXNfbWFwLCB1bmRlcmx5aW5nX3N0b3JhZ2UsIGZsYWdz
KToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgbmFtZSwgbW9kZSwgZnJhbWV3b3JrLCBoZWFkZXIs
IGVuY2xvc2luZ19jbGFzcywgdmFsdWVzLCBndWFyZF92YWx1ZXNfbWFwLCB1bmRlcmx5aW5nX3N0
b3JhZ2UsIGZsYWdzLCBndWFyZD1Ob25lKToKICAgICAgICAgc2VsZi5fbmFtZSA9IG5hbWUKICAg
ICAgICAgc2VsZi5tb2RlID0gbW9kZQogICAgICAgICBzZWxmLmZyYW1ld29yayA9IGZyYW1ld29y
awpAQCAtMjkxLDYgKzI5MSw3IEBAIGNsYXNzIFR5cGU6CiAgICAgICAgIHNlbGYuZ3VhcmRfdmFs
dWVzX21hcCA9IGd1YXJkX3ZhbHVlc19tYXAKICAgICAgICAgc2VsZi51bmRlcmx5aW5nX3N0b3Jh
Z2UgPSB1bmRlcmx5aW5nX3N0b3JhZ2UKICAgICAgICAgc2VsZi5fZmxhZ3MgPSBmbGFncworICAg
ICAgICBzZWxmLmd1YXJkID0gZ3VhcmQKIAogICAgIGRlZiBfX2VxX18oc2VsZiwgb3RoZXIpOgog
ICAgICAgICByZXR1cm4gc2VsZi50eXBlX25hbWUoKSA9PSBvdGhlci50eXBlX25hbWUoKSBhbmQg
c2VsZi5tb2RlID09IG90aGVyLm1vZGUKQEAgLTQ0OSw3ICs0NTAsOCBAQCBjbGFzcyBJbnB1dHNN
b2RlbDoKICAgICAgICAgZ3VhcmRlZF9lbnVtX3ZhbHVlcyA9IGpzb24uZ2V0KCdndWFyZGVkX3Zh
bHVlcycsIHt9KQogICAgICAgICB0eXBlX3N0b3JhZ2UgPSBqc29uLmdldCgnc3RvcmFnZScpCiAg
ICAgICAgIHR5cGVfZmxhZ3MgPSBqc29uLmdldCgnZmxhZ3MnLCBbXSkKLSAgICAgICAgX3R5cGUg
PSBUeXBlKHR5cGVfbmFtZSwgdHlwZV9tb2RlLCBmcmFtZXdvcmssIGhlYWRlciwgZW5jbG9zaW5n
X2NsYXNzLCBlbnVtX3ZhbHVlcywgZ3VhcmRlZF9lbnVtX3ZhbHVlcywgdHlwZV9zdG9yYWdlLCB0
eXBlX2ZsYWdzKQorICAgICAgICBndWFyZCA9IGpzb24uZ2V0KCdndWFyZCcsIE5vbmUpCisgICAg
ICAgIF90eXBlID0gVHlwZSh0eXBlX25hbWUsIHR5cGVfbW9kZSwgZnJhbWV3b3JrLCBoZWFkZXIs
IGVuY2xvc2luZ19jbGFzcywgZW51bV92YWx1ZXMsIGd1YXJkZWRfZW51bV92YWx1ZXMsIHR5cGVf
c3RvcmFnZSwgdHlwZV9mbGFncywgZ3VhcmQpCiAgICAgICAgIGlmIF90eXBlLmlzX2VudW0oKSBv
ciBfdHlwZS5pc19lbnVtX2NsYXNzKCk6CiAgICAgICAgICAgICBjaGVja19mb3JfcmVxdWlyZWRf
cHJvcGVydGllcyhbJ3ZhbHVlcyddLCBqc29uLCAnZW51bScpCiAgICAgICAgICAgICBpZiBub3Qg
aXNpbnN0YW5jZShqc29uWyd2YWx1ZXMnXSwgbGlzdCkgb3IgbGVuKF90eXBlLnZhbHVlcykgPT0g
MDoKQEAgLTU5Nyw3ICs1OTksNyBAQCBjbGFzcyBHZW5lcmF0b3I6CiAgICAgICAgICAgICAnaW5w
dXRGb3J3YXJkRGVjbGFyYXRpb25zJzogIlxuIi5qb2luKFt3cmFwX3dpdGhfZ3VhcmQoImNsYXNz
ICVzOyIsIF9pbnB1dC5ndWFyZCkgJSBfaW5wdXQubmFtZSBmb3IgX2lucHV0IGluIHNlbGYuX21v
ZGVsLmlucHV0c10pLAogICAgICAgICAgICAgJ2lucHV0Q2xhc3NEZWNsYXJhdGlvbnMnOiAiXG5c
biIuam9pbihbc2VsZi5nZW5lcmF0ZV9jbGFzc19kZWNsYXJhdGlvbihfaW5wdXQpIGZvciBfaW5w
dXQgaW4gc2VsZi5fbW9kZWwuaW5wdXRzXSksCiAgICAgICAgICAgICAnaW5wdXRUcmFpdERlY2xh
cmF0aW9ucyc6ICJcblxuIi5qb2luKFtzZWxmLmdlbmVyYXRlX2lucHV0X3RyYWl0X2RlY2xhcmF0
aW9uKF9pbnB1dCkgZm9yIF9pbnB1dCBpbiBzZWxmLl9tb2RlbC5pbnB1dHNdKSwKLSAgICAgICAg
ICAgICdlbnVtVHJhaXREZWNsYXJhdGlvbnMnOiAiXG5cbiIuam9pbihbc2VsZi5nZW5lcmF0ZV9l
bnVtX3RyYWl0X2RlY2xhcmF0aW9uKF90eXBlKSBmb3IgX3R5cGUgaW4gc2VsZi5fbW9kZWwuZW51
bV90eXBlcygpXSksCisgICAgICAgICAgICAnZW51bVRyYWl0RGVjbGFyYXRpb25zJzogIlxuXG4i
LmpvaW4oW3dyYXBfd2l0aF9ndWFyZChzZWxmLmdlbmVyYXRlX2VudW1fdHJhaXRfZGVjbGFyYXRp
b24oX3R5cGUpLCBfdHlwZS5ndWFyZCkgZm9yIF90eXBlIGluIHNlbGYuX21vZGVsLmVudW1fdHlw
ZXMoKV0pLAogICAgICAgICAgICAgJ2ZvckVhY2hNYWNybyc6IHNlbGYuZ2VuZXJhdGVfZm9yX2Vh
Y2hfbWFjcm8oKSwKICAgICAgICAgfQogCkBAIC02MTMsNyArNjE1LDcgQEAgY2xhc3MgR2VuZXJh
dG9yOgogICAgICAgICAgICAgJ2luY2x1ZGVzJzogc2VsZi5nZW5lcmF0ZV9pbmNsdWRlcyhkZWZh
dWx0cz1zZWxmLnNldHRpbmcoJ2ltcGxJbmNsdWRlcycpLCBpbmNsdWRlc19mb3JfdHlwZXM9VHJ1
ZSksCiAgICAgICAgICAgICAnaW5wdXRDbGFzc0ltcGxlbWVudGF0aW9ucyc6ICJcblxuIi5qb2lu
KFtzZWxmLmdlbmVyYXRlX2NsYXNzX2ltcGxlbWVudGF0aW9uKF9pbnB1dCkgZm9yIF9pbnB1dCBp
biBzZWxmLl9tb2RlbC5pbnB1dHNdKSwKICAgICAgICAgICAgICdpbnB1dFRyYWl0SW1wbGVtZW50
YXRpb25zJzogIlxuXG4iLmpvaW4oW3NlbGYuZ2VuZXJhdGVfaW5wdXRfdHJhaXRfaW1wbGVtZW50
YXRpb24oX2lucHV0KSBmb3IgX2lucHV0IGluIHNlbGYuX21vZGVsLmlucHV0c10pLAotICAgICAg
ICAgICAgJ2VudW1UcmFpdEltcGxlbWVudGF0aW9ucyc6ICJcblxuIi5qb2luKFtzZWxmLmdlbmVy
YXRlX2VudW1fdHJhaXRfaW1wbGVtZW50YXRpb24oX3R5cGUpIGZvciBfdHlwZSBpbiBzZWxmLl9t
b2RlbC5lbnVtX3R5cGVzKCldKSwKKyAgICAgICAgICAgICdlbnVtVHJhaXRJbXBsZW1lbnRhdGlv
bnMnOiAiXG5cbiIuam9pbihbd3JhcF93aXRoX2d1YXJkKHNlbGYuZ2VuZXJhdGVfZW51bV90cmFp
dF9pbXBsZW1lbnRhdGlvbihfdHlwZSksIF90eXBlLmd1YXJkKSBmb3IgX3R5cGUgaW4gc2VsZi5f
bW9kZWwuZW51bV90eXBlcygpXSksCiAgICAgICAgIH0KIAogICAgICAgICByZXR1cm4gVGVtcGxh
dGUoVGVtcGxhdGVzLkltcGxlbWVudGF0aW9uU2tlbGV0b24pLnN1YnN0aXR1dGUodGVtcGxhdGVf
YXJndW1lbnRzKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3JlcGxheS9zY3Jp
cHRzL3Rlc3RzL2V4cGVjdGVkL2dlbmVyYXRlLWVudW0td2l0aC1ndWFyZC5qc29uLVRlc3RSZXBs
YXlJbnB1dHMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3JlcGxheS9zY3JpcHRzL3Rlc3Rz
L2V4cGVjdGVkL2dlbmVyYXRlLWVudW0td2l0aC1ndWFyZC5qc29uLVRlc3RSZXBsYXlJbnB1dHMu
Y3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlhNmQ4NGEKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcmVwbGF5L3NjcmlwdHMvdGVzdHMvZXhw
ZWN0ZWQvZ2VuZXJhdGUtZW51bS13aXRoLWd1YXJkLmpzb24tVGVzdFJlcGxheUlucHV0cy5jcHAK
QEAgLTAsMCArMSw5OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAi
QVMKKyAqIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRAorICogVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBCisgKiBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIEhPTERFUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gRE8g
Tk9UIEVESVQgVEhJUyBGSUxFLiBJdCBpcyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBmcm9tIGdl
bmVyYXRlLWVudW0td2l0aC1ndWFyZC5qc29uCisvLyBieSB0aGUgc2NyaXB0OiBKYXZhU2NyaXB0
Q29yZS9yZXBsYXkvc2NyaXB0cy9Db2RlR2VuZXJhdG9yUmVwbGF5SW5wdXRzLnB5CisKKyNpbmNs
dWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJnZW5lcmF0ZS1lbnVtLXdpdGgtZ3VhcmQuanNvbi1U
ZXN0UmVwbGF5SW5wdXRzLmgiCisKKyNpZiBFTkFCTEUoV0VCX1JFUExBWSkKKyNpbmNsdWRlICJJ
bnRlcm5hbE5hbWVzcGFjZUltcGxJbmNsdWRlRHVtbXkuaCIKKyNpbmNsdWRlIDxwbGF0Zm9ybS9F
eHRlcm5hbE5hbWVzcGFjZUltcGxJbmNsdWRlRHVtbXkuaD4KKyNpbmNsdWRlIDxwbGF0Zm9ybS9Q
bGF0Zm9ybVdoZWVsRXZlbnQuaD4KKworbmFtZXNwYWNlIFRlc3QgeworSGFuZGxlV2hlZWxFdmVu
dDo6SGFuZGxlV2hlZWxFdmVudChzdGQ6OnVuaXF1ZV9wdHI8UGxhdGZvcm1XaGVlbEV2ZW50PiBw
bGF0Zm9ybUV2ZW50KQorICAgIDogRXZlbnRMb29wSW5wdXQ8SGFuZGxlV2hlZWxFdmVudD4oKQor
ICAgICwgbV9wbGF0Zm9ybUV2ZW50KHN0ZDo6bW92ZShwbGF0Zm9ybUV2ZW50KSkKK3sKK30KKwor
SGFuZGxlV2hlZWxFdmVudDo6fkhhbmRsZVdoZWVsRXZlbnQoKQoreworfQorfSAvLyBuYW1lc3Bh
Y2UgVGVzdAorCituYW1lc3BhY2UgSlNDIHsKK2NvbnN0IEF0b21pY1N0cmluZyYgSW5wdXRUcmFp
dHM8VGVzdDo6SGFuZGxlV2hlZWxFdmVudD46OnR5cGUoKQoreworICAgIHN0YXRpYyBOZXZlckRl
c3Ryb3llZDxjb25zdCBBdG9taWNTdHJpbmc+IHR5cGUoIkhhbmRsZVdoZWVsRXZlbnQiLCBBdG9t
aWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKTsKKyAgICByZXR1cm4gdHlwZTsKK30KKwor
dm9pZCBJbnB1dFRyYWl0czxUZXN0OjpIYW5kbGVXaGVlbEV2ZW50Pjo6ZW5jb2RlKEVuY29kZWRW
YWx1ZSYgZW5jb2RlZFZhbHVlLCBjb25zdCBUZXN0OjpIYW5kbGVXaGVlbEV2ZW50JiBpbnB1dCkK
K3sKKyAgICBlbmNvZGVkVmFsdWUucHV0PFdlYkNvcmU6OlBsYXRmb3JtV2hlZWxFdmVudD4oQVND
SUlMaXRlcmFsKCJwbGF0Zm9ybUV2ZW50IiksIGlucHV0LnBsYXRmb3JtRXZlbnQoKSk7Cit9CisK
K2Jvb2wgSW5wdXRUcmFpdHM8VGVzdDo6SGFuZGxlV2hlZWxFdmVudD46OmRlY29kZShFbmNvZGVk
VmFsdWUmIGVuY29kZWRWYWx1ZSwgc3RkOjp1bmlxdWVfcHRyPFRlc3Q6OkhhbmRsZVdoZWVsRXZl
bnQ+JiBpbnB1dCkKK3sKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6UGxhdGZvcm1XaGVl
bEV2ZW50PiBwbGF0Zm9ybUV2ZW50OworICAgIGlmICghZW5jb2RlZFZhbHVlLmdldDxXZWJDb3Jl
OjpQbGF0Zm9ybVdoZWVsRXZlbnQ+KEFTQ0lJTGl0ZXJhbCgicGxhdGZvcm1FdmVudCIpLCBwbGF0
Zm9ybUV2ZW50KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaW5wdXQgPSBzdGQ6Om1h
a2VfdW5pcXVlPFRlc3Q6OkhhbmRsZVdoZWVsRXZlbnQ+KHN0ZDo6bW92ZShwbGF0Zm9ybUV2ZW50
KSk7CisgICAgcmV0dXJuIHRydWU7Cit9CisjaWYgRU5BQkxFKERVTU1ZX0ZFQVRVUkUpCitFbmNv
ZGVkVmFsdWUgRW5jb2RpbmdUcmFpdHM8V2ViQ29yZTo6UGxhdGZvcm1XaGVlbEV2ZW50UGhhc2U+
OjplbmNvZGVWYWx1ZShjb25zdCBXZWJDb3JlOjpQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZSYgZW51
bVZhbHVlKQoreworICAgIEVuY29kZWRWYWx1ZSBlbmNvZGVkVmFsdWUgPSBFbmNvZGVkVmFsdWU6
OmNyZWF0ZUFycmF5KCk7CisgICAgaWYgKGVudW1WYWx1ZSAmIFdlYkNvcmU6OlBsYXRmb3JtV2hl
ZWxFdmVudFBoYXNlTm9uZSkgeworICAgICAgICBlbmNvZGVkVmFsdWUuYXBwZW5kPFN0cmluZz4o
QVNDSUlMaXRlcmFsKCJQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZU5vbmUiKSk7CisgICAgICAgIGlm
IChlbnVtVmFsdWUgPT0gV2ViQ29yZTo6UGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VOb25lKQorICAg
ICAgICAgICAgcmV0dXJuIGVuY29kZWRWYWx1ZTsKKyAgICB9CisgICAgcmV0dXJuIGVuY29kZWRW
YWx1ZTsKK30KKworYm9vbCBFbmNvZGluZ1RyYWl0czxXZWJDb3JlOjpQbGF0Zm9ybVdoZWVsRXZl
bnRQaGFzZT46OmRlY29kZVZhbHVlKEVuY29kZWRWYWx1ZSYgZW5jb2RlZFZhbHVlLCBXZWJDb3Jl
OjpQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZSYgZW51bVZhbHVlKQoreworICAgIFZlY3RvcjxTdHJp
bmc+IGVudW1TdHJpbmdzOworICAgIGlmICghRW5jb2RpbmdUcmFpdHM8VmVjdG9yPFN0cmluZz4+
OjpkZWNvZGVWYWx1ZShlbmNvZGVkVmFsdWUsIGVudW1TdHJpbmdzKSkKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworCisgICAgZm9yIChTdHJpbmcgZW51bVN0cmluZyA6IGVudW1TdHJpbmdzKSB7Cisg
ICAgICAgIGlmIChlbnVtU3RyaW5nID09ICJQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZU5vbmUiKQor
ICAgICAgICAgICAgZW51bVZhbHVlID0gc3RhdGljX2Nhc3Q8V2ViQ29yZTo6UGxhdGZvcm1XaGVl
bEV2ZW50UGhhc2U+KGVudW1WYWx1ZSB8IFdlYkNvcmU6OlBsYXRmb3JtV2hlZWxFdmVudFBoYXNl
Tm9uZSk7CisgICAgfQorCisgICAgcmV0dXJuIHRydWU7Cit9CisjZW5kaWYgLy8gRU5BQkxFKERV
TU1ZX0ZFQVRVUkUpCit9IC8vIG5hbWVzcGFjZSBKU0MKKworI2VuZGlmIC8vIEVOQUJMRShXRUJf
UkVQTEFZKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3JlcGxheS9zY3JpcHRz
L3Rlc3RzL2V4cGVjdGVkL2dlbmVyYXRlLWVudW0td2l0aC1ndWFyZC5qc29uLVRlc3RSZXBsYXlJ
bnB1dHMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9yZXBsYXkvc2NyaXB0cy90ZXN0cy9leHBl
Y3RlZC9nZW5lcmF0ZS1lbnVtLXdpdGgtZ3VhcmQuanNvbi1UZXN0UmVwbGF5SW5wdXRzLmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODE4MjZhNgotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9yZXBsYXkvc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9n
ZW5lcmF0ZS1lbnVtLXdpdGgtZ3VhcmQuanNvbi1UZXN0UmVwbGF5SW5wdXRzLmgKQEAgLTAsMCAr
MSw4NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMKKyAqIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRAorICogVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBCisgKiBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIEhPTERFUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAq
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gRE8gTk9UIEVESVQg
VEhJUyBGSUxFLiBJdCBpcyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBmcm9tIGdlbmVyYXRlLWVu
dW0td2l0aC1ndWFyZC5qc29uCisvLyBieSB0aGUgc2NyaXB0OiBKYXZhU2NyaXB0Q29yZS9yZXBs
YXkvc2NyaXB0cy9Db2RlR2VuZXJhdG9yUmVwbGF5SW5wdXRzLnB5CisKKyNpZm5kZWYgZ2VuZXJh
dGVfZW51bV93aXRoX2d1YXJkX2pzb25fVGVzdFJlcGxheUlucHV0c19oCisjZGVmaW5lIGdlbmVy
YXRlX2VudW1fd2l0aF9ndWFyZF9qc29uX1Rlc3RSZXBsYXlJbnB1dHNfaAorCisjaWYgRU5BQkxF
KFdFQl9SRVBMQVkpCisjaW5jbHVkZSAiSW50ZXJuYWxOYW1lc3BhY2VIZWFkZXJJbmNsdWRlRHVt
bXkuaCIKKyNpbmNsdWRlIDxwbGF0Zm9ybS9FeHRlcm5hbE5hbWVzcGFjZUhlYWRlckluY2x1ZGVE
dW1teS5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBQbGF0Zm9ybVdoZWVsRXZlbnQ7
CitlbnVtIFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlIDogdWludDY0X3Q7Cit9CisKKworbmFtZXNw
YWNlIFRlc3QgeworY2xhc3MgSGFuZGxlV2hlZWxFdmVudDsKK30gLy8gbmFtZXNwYWNlIFRlc3QK
KworbmFtZXNwYWNlIEpTQyB7Cit0ZW1wbGF0ZTw+IHN0cnVjdCBJbnB1dFRyYWl0czxUZXN0OjpI
YW5kbGVXaGVlbEV2ZW50PiB7CisgICAgc3RhdGljIElucHV0UXVldWUgcXVldWUoKSB7IHJldHVy
biBJbnB1dFF1ZXVlOjpFdmVudExvb3BJbnB1dDsgfQorICAgIHN0YXRpYyBjb25zdCBBdG9taWNT
dHJpbmcmIHR5cGUoKTsKKworICAgIHN0YXRpYyB2b2lkIGVuY29kZShKU0M6OkVuY29kZWRWYWx1
ZSYsIGNvbnN0IFRlc3Q6OkhhbmRsZVdoZWVsRXZlbnQmKTsKKyAgICBzdGF0aWMgYm9vbCBkZWNv
ZGUoSlNDOjpFbmNvZGVkVmFsdWUmLCBzdGQ6OnVuaXF1ZV9wdHI8VGVzdDo6SGFuZGxlV2hlZWxF
dmVudD4mKTsKK307CisjaWYgRU5BQkxFKERVTU1ZX0ZFQVRVUkUpCit0ZW1wbGF0ZTw+IHN0cnVj
dCBFbmNvZGluZ1RyYWl0czxXZWJDb3JlOjpQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZT4geworICAg
IHR5cGVkZWYgV2ViQ29yZTo6UGxhdGZvcm1XaGVlbEV2ZW50UGhhc2UgRGVjb2RlZFR5cGU7CisK
KyAgICBzdGF0aWMgRW5jb2RlZFZhbHVlIGVuY29kZVZhbHVlKGNvbnN0IFdlYkNvcmU6OlBsYXRm
b3JtV2hlZWxFdmVudFBoYXNlJiB2YWx1ZSk7CisgICAgc3RhdGljIGJvb2wgZGVjb2RlVmFsdWUo
RW5jb2RlZFZhbHVlJiwgV2ViQ29yZTo6UGxhdGZvcm1XaGVlbEV2ZW50UGhhc2UmIHZhbHVlKTsK
K307CisjZW5kaWYgLy8gRU5BQkxFKERVTU1ZX0ZFQVRVUkUpCit9IC8vIG5hbWVzcGFjZSBKU0MK
KworbmFtZXNwYWNlIFRlc3QgeworY2xhc3MgSGFuZGxlV2hlZWxFdmVudCA6IHB1YmxpYyBFdmVu
dExvb3BJbnB1dDxIYW5kbGVXaGVlbEV2ZW50PiB7CitwdWJsaWM6CisgICAgSGFuZGxlV2hlZWxF
dmVudChzdGQ6OnVuaXF1ZV9wdHI8UGxhdGZvcm1XaGVlbEV2ZW50PiBwbGF0Zm9ybUV2ZW50KTsK
KyAgICB2aXJ0dWFsIH5IYW5kbGVXaGVlbEV2ZW50KCk7CisKKyAgICAvLyBFdmVudExvb3BJbnB1
dCBBUEkKKyAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2goUmVwbGF5Q29udHJvbGxlciYpIG92ZXJy
aWRlIGZpbmFsOworICAgIGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYgcGxhdGZvcm1FdmVudCgp
IGNvbnN0IHsgcmV0dXJuICptX3BsYXRmb3JtRXZlbnQ7IH0KK3ByaXZhdGU6CisgICAgc3RkOjp1
bmlxdWVfcHRyPFBsYXRmb3JtV2hlZWxFdmVudD4gbV9wbGF0Zm9ybUV2ZW50OworfTsKK30gLy8g
bmFtZXNwYWNlIFRlc3QKKworI2RlZmluZSBURVNUX1JFUExBWV9JTlBVVF9OQU1FU19GT1JfRUFD
SChtYWNybykgXAorICAgIG1hY3JvKEhhbmRsZVdoZWVsRXZlbnQpIFwKKyAgICBcCisvLyBlbmQg
b2YgVEVTVF9SRVBMQVlfSU5QVVRfTkFNRVNfRk9SX0VBQ0gKKworI2VuZGlmIC8vIEVOQUJMRShX
RUJfUkVQTEFZKQorCisjZW5kaWYgLy8gZ2VuZXJhdGUtZW51bS13aXRoLWd1YXJkLmpzb24tVGVz
dFJlcGxheUlucHV0c19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcmVwbGF5
L3NjcmlwdHMvdGVzdHMvZ2VuZXJhdGUtZW51bS13aXRoLWd1YXJkLmpzb24gYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcmVwbGF5L3NjcmlwdHMvdGVzdHMvZ2VuZXJhdGUtZW51bS13aXRoLWd1YXJk
Lmpzb24KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjgwZTMyMAotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9yZXBsYXkvc2NyaXB0cy90ZXN0cy9n
ZW5lcmF0ZS1lbnVtLXdpdGgtZ3VhcmQuanNvbgpAQCAtMCwwICsxLDMxIEBACit7CisgICAgInR5
cGVzIjogeworICAgICAgICAiR2xvYmFsIjogWworICAgICAgICAgICAgeyAibmFtZSI6ICJ1aW50
NjRfdCIsICJtb2RlIjogIlNDQUxBUiIgfQorICAgICAgICBdLAorICAgICAgICAiV2ViQ29yZSI6
IFsKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAibmFtZSI6ICJQbGF0Zm9ybVdoZWVs
RXZlbnQiLCAibW9kZSI6ICJPV05FRCIsCisgICAgICAgICAgICAgICAgImhlYWRlciI6ICJwbGF0
Zm9ybS9QbGF0Zm9ybVdoZWVsRXZlbnQuaCIKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICB7
CisgICAgICAgICAgICAgICAgIm5hbWUiOiAiUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2UiLCAibW9k
ZSI6ICJTQ0FMQVIiLCAic3RvcmFnZSI6ICJ1aW50NjRfdCIsCisgICAgICAgICAgICAgICAgImZs
YWdzIjogWyJFTlVNIl0sCisgICAgICAgICAgICAgICAgImd1YXJkIjogIkVOQUJMRShEVU1NWV9G
RUFUVVJFKSIsCisgICAgICAgICAgICAgICAgInZhbHVlcyI6IFsiUGxhdGZvcm1XaGVlbEV2ZW50
UGhhc2VOb25lIl0sCisgICAgICAgICAgICAgICAgImhlYWRlciI6ICJwbGF0Zm9ybS9QbGF0Zm9y
bVdoZWVsRXZlbnQuaCIKKyAgICAgICAgICAgIH0KKyAgICAgICAgXQorICAgIH0sCisKKyAgICAi
aW5wdXRzIjogWworICAgICAgICB7CisgICAgICAgICAgICAibmFtZSI6ICJIYW5kbGVXaGVlbEV2
ZW50IiwKKyAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICIiLAorICAgICAgICAgICAgInF1ZXVl
IjogIkVWRU5UX0xPT1AiLAorICAgICAgICAgICAgIm1lbWJlcnMiOiBbCisgICAgICAgICAgICAg
ICAgeyAibmFtZSI6ICJwbGF0Zm9ybUV2ZW50IiwgInR5cGUiOiAiUGxhdGZvcm1XaGVlbEV2ZW50
IiB9CisgICAgICAgICAgICBdCisgICAgICAgIH0KKyAgICBdCit9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>